215 Commits

Author SHA1 Message Date
339a1c51b6
test(jwt): assert arrays are invalid for SpaceDelimited scope
Scope must be a space-delimited string per RFC 6749 §3.3, not a JSON
array. Adds [] and ["openid","profile"] cases to the existing invalid
sub-test with a comment explaining the likely root cause: an issuer
using []string instead of SpaceDelimited in its claims struct.
2026-04-05 19:10:52 -06:00
18504706a7
feat(auth): add TokenCookies to BasicRequestAuthenticator
Add a TokenCookies []string field checked after query params (step 5).
Each named cookie's value is passed directly to Authenticator.Authenticate
as a token, enabling cookie-based token flows alongside Bearer and query params.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-05 19:10:52 -06:00
75633a5483
wip: random half done-junk 2026-04-05 19:10:52 -06:00
87ad8e2c92
f: feat(cmd/httplog): add proxy and intercept sse 2026-04-05 19:10:52 -06:00
bd588dc410
feat: add cmd/envtocsv for converting env files 2026-04-05 19:10:52 -06:00
03948e7716
f: cookie-inspect 2026-04-05 19:10:52 -06:00
ca228cbf8e
feat: add cmd/cookie-inspect for decoding and verifying a cookie 2026-04-05 19:10:52 -06:00
fd601da512
f: add cmd/ssechat as ServerSentEvents demo 2026-04-05 19:10:52 -06:00
a3e6c588f7
f: add cmd/ssechat as ServerSentEvents demo 2026-04-05 19:10:52 -06:00
106c64b0d5
feat: add cmd/ssechat as ServerSentEvents demo 2026-04-05 19:10:52 -06:00
35019f3da1
feat: add cmd/cullbak for culling backup directories 2026-04-05 19:10:52 -06:00
28dda029c6
wip: ipcohort: move atomics to gitdataset 2026-04-05 19:10:52 -06:00
1444d4c7d1
wip: feat: add net/gitdataset for data that updates via git 2026-04-05 19:10:52 -06:00
9d55cde644
f: net/formmailer 2026-04-05 19:10:52 -06:00
0cb0ee5d9b
wip: feat: add net/formmailer for web forms with bot protection 2026-04-05 19:10:51 -06:00
dfb3f2bbb3
f: ipcohort / blacklist 2026-04-05 19:10:51 -06:00
9ec6fe4a70
feat: add net/ipcohort (for blacklisting, whitelisting, etc) 2026-04-05 19:10:51 -06:00
44b6d65acf
feat: add net/gitshallow (for incremental updates to data repos) 2026-04-05 19:10:51 -06:00
e514203335
feat: add cmd/smtp-test for debugging smtp auth and delivery 2026-04-05 19:10:51 -06:00
d74698831b
wip: add more middleware examples 2026-04-05 19:10:51 -06:00
d5f0722fe1
feat(calendar): parse reminder durations 2026-04-05 19:10:51 -06:00
b9b225f483
wip(calendar): rework field access 2026-04-05 19:10:51 -06:00
02889a4af0
f: feat(calendar): calculate fixed and floating yearl and monthly events 2026-04-05 19:10:51 -06:00
0400880e76
f: feat(calendar): calculate fixed and floating yearl and monthly events 2026-04-05 19:10:51 -06:00
9b9ce5c9f8
wip: feat(calendar): calculate fixed and floating yearl and monthly events 2026-04-05 19:10:51 -06:00
063f892179
f(ai): add WithFormat to change format without changing Generate signature 2026-04-05 19:10:51 -06:00
37242d64ed
f(ai): add WithModel to change model on-the-fly 2026-04-05 19:10:51 -06:00
82b9f0c8f3
f(ai): fix interface / add type guard 2026-04-05 19:10:51 -06:00
7cd2624442
feat(ai): add Ollama and OpenAI helpers 2026-04-05 19:10:51 -06:00
a4f830deb6
feat: add cmd/smbtest for debugging smb connection issues 2026-04-05 19:10:51 -06:00
128723ac2a
ref(cmd/monorelease): fix tag and version output, start flagset 2026-04-05 19:10:51 -06:00
94d3f77ef5
WIP: feat(cmd/monorelease): fix versioning 2026-04-05 19:10:51 -06:00
efbc2c61b0
WIP: feat(cmd/monorelease): better table 2026-04-05 19:10:51 -06:00
6ecb04696a
WIP: feat(cmd/monorelease): show table 2026-04-05 19:10:51 -06:00
8c1301a0da
WIP: feat(cmd/monorelease): show bins 2026-04-05 19:10:51 -06:00
849f606bbc
WIP: feat: add cmd/monorelease for checking version info 2026-04-05 19:10:51 -06:00
4e33d6d169
feat: add tools/gitver for monorepo versioning 2026-04-05 19:10:51 -06:00
68a8a00f11
feat: add ./scripts/concat-for-context.sh to reduce total file count 2026-04-05 19:10:51 -06:00
7553221fae
doc: add PROMPT.md for Ai context 2026-04-05 19:10:51 -06:00
ccb504f62d
feat: add cmd/api-example as server boilerplate 2026-04-05 19:10:51 -06:00
7f46ef6102
f: cmd/cli-example 2026-04-05 19:10:51 -06:00
43c09a9ad1
feat: add cmd/cli-example for reference, and Ai context 2026-04-05 19:10:51 -06:00
4a9c331ef9
Fix INSERT INTO _migrations ordering in create and fixup
The create subcommand generated .up.sql files with INSERT INTO
_migrations as the FIRST statement, before the actual DDL. If the
DDL fails, the migration is incorrectly marked as applied. Move the
INSERT to be the LAST statement, matching how .down.sql already puts
DELETE FROM _migrations last.

Also fix the automatic fixup logic to append (not prepend) missing
INSERT statements to existing .up.sql files.

Fixes #86
cmd/sql-migrate/v2.1.3
2026-03-30 15:58:21 -06:00
87b666ffd3
chore(cmd/sql-migrate): add .goreleaser.yaml cmd/sql-migrate/v2.1.2 2026-03-28 17:16:40 -06:00
a4c4deabfa
chore(tools/monorel): re-init .goreleaser.yaml tools/monorel/v0.6.7 2026-03-28 17:15:38 -06:00
9d11500cd6
feat(monorel): separate Windows builds and full goamd64 v1-v4 matrix
Go 1.23+ changed Windows target naming so x86_64 builds now carry a
micro-architecture suffix (e.g. _v2).  Update the goreleaser YAML
generator and monorel's own .goreleaser.yaml to match:

- Remove windows from defaultGoos/almostAllGoos; emit a dedicated
  <name>-windows build entry per binary.  Windows is kept in a separate
  build because it does not support ARM v6/v7, so it cannot share the
  same goarch matrix as non-Windows builds.
- Add defaultWindowsGoarch [amd64, arm64] and almostAllWindowsGoarch
  [386, amd64, arm64] for the Windows-specific architecture lists.
- Promote defaultGoamd64 from [v1, v2] to [v1, v2, v3, v4] so the
  full amd64 micro-architecture matrix is always generated.
- Update the archive name_template to include
  {{ if .Amd64 }}_{{ .Amd64 }}{{ end }} after x86_64.
- Include both <name> and <name>-windows in archive ids.
- Regenerate tools/monorel/.goreleaser.yaml and
  cmd/sql-migrate/.goreleaser.yaml with the new format.
2026-03-28 17:15:33 -06:00
690cf90d67
chore(cmd/sql-migrate): add .goreleaser.yaml 2026-03-23 11:43:08 -06:00
1f61095873
feat(sql-migrate): add sync subcommand
Adds `sql-migrate sync` which outputs a shell script that refreshes
the local migrations.log from the DB by running _migrations.sql.
Uses `|| true` so a fresh DB with no _migrations table yields an
empty log (all migrations pending) rather than an error.

Usage:
  sql-migrate -d ./db/migrations sync | sh
  sql-migrate -d ./db/migrations up | sh
cmd/sql-migrate/v2.1.0
2026-03-23 11:42:23 -06:00
b50696f64d feat(sql-migrate): skip +-prefixed files in migrations directory (refs #68) cmd/sql-migrate/v2.0.4 2026-03-23 11:39:49 -06:00
3487702bf7 fix(sql-migrate): use 6-digit zero-padded number in init migration filename (refs #68) 2026-03-23 11:39:49 -06:00