dominus-sdk-nodejs 11.0.2 → 11.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +351 -371
- package/dist/contract/index.d.ts +3 -0
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +3 -0
- package/dist/contract/index.js.map +1 -0
- package/dist/contract/node-envelope.d.ts +12 -0
- package/dist/contract/node-envelope.d.ts.map +1 -0
- package/dist/contract/node-envelope.js +16 -0
- package/dist/contract/node-envelope.js.map +1 -0
- package/dist/contract/node-projections.d.ts +15 -0
- package/dist/contract/node-projections.d.ts.map +1 -0
- package/dist/contract/node-projections.js +4 -0
- package/dist/contract/node-projections.js.map +1 -0
- package/dist/lib/config.d.ts +3 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +4 -3
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.d.ts +7 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +53 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/recovery-action.d.ts +4 -0
- package/dist/lib/recovery-action.d.ts.map +1 -0
- package/dist/lib/recovery-action.js +29 -0
- package/dist/lib/recovery-action.js.map +1 -0
- package/dist/namespaces/portal.d.ts +10 -0
- package/dist/namespaces/portal.d.ts.map +1 -1
- package/dist/namespaces/portal.js +11 -0
- package/dist/namespaces/portal.js.map +1 -1
- package/dist/namespaces/secrets.d.ts +5 -1
- package/dist/namespaces/secrets.d.ts.map +1 -1
- package/dist/namespaces/secrets.js +15 -1
- package/dist/namespaces/secrets.js.map +1 -1
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/00-reading-order.md +35 -35
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/01-purpose-and-boundaries.md +48 -48
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/02-repo-map-and-entrypoints.md +46 -46
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/03-api-surface.md +59 -59
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/04-data-state-and-storage.md +36 -36
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/05-integrations-and-runtime.md +40 -40
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/06-workflows-commands-and-ci.md +58 -58
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/07-operations-release-and-live-proof.md +40 -40
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/08-security-privacy-and-secrets.md +38 -38
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/09-known-risks-and-debt.md +34 -34
- package/docs/agent-guide/2026-06-27-0849-sdk-orient/10-agent-playbook.md +48 -48
- package/docs/agent-guide/2026-08-04-sdk-nodejs/00-reading-order.md +11 -11
- package/docs/agent-guide/2026-08-04-sdk-nodejs/01-purpose-and-boundaries.md +14 -14
- package/docs/agent-guide/2026-08-04-sdk-nodejs/03-api-surface.md +16 -16
- package/docs/agent-guide/2026-08-04-sdk-nodejs/10-agent-playbook.md +14 -14
- package/docs/agent-guide/INDEX.md +14 -14
- package/docs/agent-guide/current.md +22 -22
- package/docs/architecture.md +119 -119
- package/docs/atlas/2026-07-24-1231-sdk-nodejs-blockers.md +15 -15
- package/docs/atlas/2026-07-24-1231-sdk-nodejs-proof-ladder.md +25 -25
- package/docs/atlas/2026-07-24-1231-sdk-nodejs-truthmap.md +43 -43
- package/docs/atlas/2026-08-04-sdk-nodejs-blockers.md +12 -12
- package/docs/atlas/2026-08-04-sdk-nodejs-proof-ladder.md +9 -9
- package/docs/atlas/2026-08-04-sdk-nodejs-truthmap.md +21 -21
- package/docs/atlas/INDEX.md +26 -26
- package/docs/janitor/2026-06-27-0849-sdk-orient-cleanup-audit.md +102 -102
- package/docs/janitor/2026-08-04-sdk-nodejs-cleanup-audit.md +14 -14
- package/docs/migration-error-base.md +115 -0
- package/docs/plans/2026-08-04-pending-work-fruition-summary.md +46 -46
- package/docs/routes-services.md +80 -80
- package/docs/usage-reference.md +698 -698
- package/docs/workflow-hard-cut-release.md +24 -24
- package/package.json +55 -55
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
# Janitor Cleanup Audit: dominus-sdk-nodejs
|
|
2
|
-
|
|
3
|
-
Generated: 2026-06-27 08:49 local
|
|
4
|
-
Target repo: C:\developer\codingroot\repos\dominus_active\dominus-sdk-nodejs
|
|
5
|
-
Git root: C:\developer\codingroot\repos\dominus_active\dominus-sdk-nodejs
|
|
6
|
-
Branch/status: `production` — clean before this pass (no tracked or untracked changes).
|
|
7
|
-
|
|
8
|
-
## Summary
|
|
9
|
-
|
|
10
|
-
Wrote a source-backed agent-guide pack and wired it into `README.md` and
|
|
11
|
-
`CLAUDE.md`. Corrected one proven-stale fact ("no committed automated tests")
|
|
12
|
-
in three places. Auto-cleaned generated `dist/` (gitignored, reproducible).
|
|
13
|
-
Everything left uncommitted per instructions. No tracked source, branches,
|
|
14
|
-
worktrees, plans, or release artifacts deleted.
|
|
15
|
-
|
|
16
|
-
## Executive Actions Applied
|
|
17
|
-
|
|
18
|
-
| Action | Path | Why safe | Verification |
|
|
19
|
-
|---|---|---|---|
|
|
20
|
-
| Wrote agent-guide pack | `docs/agent-guide/**` | New docs only; no source touched. | Files present; INDEX/current point at snapshot. |
|
|
21
|
-
| Wrote cleanup audit | `docs/janitor/2026-06-27-0849-sdk-orient-cleanup-audit.md` | New doc only. | This file. |
|
|
22
|
-
| Wired guide into README | `README.md` | Added small "Agent Guide" section near top; no other content changed. | `git diff README.md` is the one added block. |
|
|
23
|
-
| Wired guide into CLAUDE | `CLAUDE.md` | Added "Agent Guide Pack" pointer near top. | `git diff CLAUDE.md`. |
|
|
24
|
-
| Fixed stale tests fact | `CLAUDE.md`, `docs/architecture.md` | `tests/` has 24 committed files run by `npm test`; old "no committed tests" claim was provably false. | `ls tests` (24 files); `package.json scripts.test` lists them. |
|
|
25
|
-
| Auto-clean generated build | `dist/` | Gitignored, untracked, reproducible via `npm run build`; `prepublishOnly` rebuilds it. | `git check-ignore dist` = ignored; `git ls-files dist` empty; post-delete `git status` shows no tracked change. |
|
|
26
|
-
|
|
27
|
-
## Docs Written
|
|
28
|
-
|
|
29
|
-
| File | Purpose | Source-backed by |
|
|
30
|
-
|---|---|---|
|
|
31
|
-
| `docs/agent-guide/INDEX.md` | Stable entrypoint + snapshot history. | repo layout. |
|
|
32
|
-
| `docs/agent-guide/current.md` | Latest snapshot pointer + top-5 refresh facts. | `package.json`, `src/index.ts`, `tests/`. |
|
|
33
|
-
| `.../00-reading-order.md` | Read order + per-task source map + stale flags. | existing docs, `src/`. |
|
|
34
|
-
| `.../01-purpose-and-boundaries.md` | Purpose, ownership, runtime class, boundary. | `package.json`, `CLAUDE.md`, workflows. |
|
|
35
|
-
| `.../02-repo-map-and-entrypoints.md` | Directory map + entrypoints. | `find src`, `package.json`, `.github/workflows`. |
|
|
36
|
-
| `.../03-api-surface.md` | 27 namespaces + auth/scope map. | `src/index.ts` wiring, `routes-services.md`. |
|
|
37
|
-
| `.../04-data-state-and-storage.md` | Storage surfaces + in-process caches. | `docs/architecture.md` §2a, `src/lib/*`. |
|
|
38
|
-
| `.../05-integrations-and-runtime.md` | Deps, gateway routing, env categories. | `package.json`, `CLAUDE.md`, `src/lib/config.ts`. |
|
|
39
|
-
| `.../06-workflows-commands-and-ci.md` | Commands + CI lanes. | `package.json scripts`, `.github/workflows`. |
|
|
40
|
-
| `.../07-operations-release-and-live-proof.md` | npm release lane + proof. | `publish-production.yml`, `package.json`, `workflow-hard-cut-release.md`. |
|
|
41
|
-
| `.../08-security-privacy-and-secrets.md` | Auth boundaries, secret resolution. | `CLAUDE.md`, `src/lib/config.ts`, `.gitignore`. |
|
|
42
|
-
| `.../09-known-risks-and-debt.md` | Stale docs, doc-drift, generated residue. | this audit, `docs/*`. |
|
|
43
|
-
| `.../10-agent-playbook.md` | If-changing-X-read-Y + Kyle routing. | `CLAUDE.md`, `src/`. |
|
|
44
|
-
|
|
45
|
-
## Drift Findings
|
|
46
|
-
|
|
47
|
-
| Finding | Evidence | Risk | Recommendation | Approval needed |
|
|
48
|
-
|---|---|---|---|---|
|
|
49
|
-
| "No committed automated tests" claim stale | `tests/` has 24 files; `package.json scripts.test` runs them | Low (misleads agents) | Fixed in CLAUDE.md + architecture.md §10 | Done |
|
|
50
|
-
| Hand-maintained counts may drift | `routes-services.md` says "450 commands / 29 surfaces"; actual `src/namespaces/` = 27 files | Low | Noted in 09 + architecture §10; re-derive from source before quoting | No |
|
|
51
|
-
|
|
52
|
-
## Stale Or Conflicting Docs
|
|
53
|
-
|
|
54
|
-
| Doc | Problem | Stronger source | Proposed action |
|
|
55
|
-
|---|---|---|---|
|
|
56
|
-
| `docs/architecture.md` §10 | claimed no committed tests | `tests/` + `package.json` | Fixed (replaced with count-drift note). |
|
|
57
|
-
| `CLAUDE.md` Validation | "If tests are absent" framing | `tests/` (24 files) | Fixed to state tests are committed. |
|
|
58
|
-
| `routes-services.md` counts | "29 namespace surfaces" vs 27 top-level files | `src/namespaces/` | Left as-is (counts include `ai.*` sub-namespaces + `auth` local helpers; not provably wrong). Flagged for re-derivation. |
|
|
59
|
-
|
|
60
|
-
## Orphan / Generated / Scratch Candidates
|
|
61
|
-
|
|
62
|
-
| Path | Evidence | Proposed action | Safe now? |
|
|
63
|
-
|---|---|---|---|
|
|
64
|
-
| `dist/` | gitignored build output (~1.6 MB) | Deleted | Yes (done) |
|
|
65
|
-
| `node_modules/` | gitignored installed deps | Leave; not in the auto-apply allowlist; reproducible via `npm ci` but may be in use by a dev session | Not auto-deleted |
|
|
66
|
-
|
|
67
|
-
## Auto-Cleanup Performed
|
|
68
|
-
|
|
69
|
-
| Path | Evidence | Action | Verification |
|
|
70
|
-
|---|---|---|---|
|
|
71
|
-
| `dist/` | `git check-ignore dist` = ignored; `git ls-files dist` empty; reproducible via `npm run build` | `rm -rf dist` | Post-delete `git status` shows no tracked change; rebuild with `npm run build`. |
|
|
72
|
-
|
|
73
|
-
## Expert Review Queue
|
|
74
|
-
|
|
75
|
-
| Candidate | Why expert should view it first | Suggested expert | First review question |
|
|
76
|
-
|---|---|---|---|
|
|
77
|
-
| `routes-services.md` "450 commands / 29 surfaces" reconciliation | Authoritative re-count of public commands vs. the maintained matrix touches the platform client contract surface | dominus-expert | Are the documented counts accurate against current `src/namespaces/*.ts`, and should they be regenerated by a script instead of hand-maintained? |
|
|
78
|
-
|
|
79
|
-
## Worktree / Branch / Plan Residue
|
|
80
|
-
|
|
81
|
-
| Item | Evidence | Proposed action | Owner |
|
|
82
|
-
|---|---|---|---|
|
|
83
|
-
| None | Single repo dir; no `.git/worktrees` scratch, no stray plans found | None | — |
|
|
84
|
-
|
|
85
|
-
## Approval Queue
|
|
86
|
-
|
|
87
|
-
- [ ] Delete `node_modules/` (reproducible via `npm ci`) — only if no dev session is using it — validate with `npm ci && npm test`.
|
|
88
|
-
|
|
89
|
-
## Not Touching
|
|
90
|
-
|
|
91
|
-
- `dist/` rebuild — left for the developer to regenerate via `npm run build`.
|
|
92
|
-
- `node_modules/` — installed deps; outside the granted auto-clean allowlist.
|
|
93
|
-
- `docs/usage-reference.md` (~98 KB) — large reference, not rewritten; only flagged for count drift.
|
|
94
|
-
- All tracked source, `CHANGELOG.md` history, CI workflows, branches.
|
|
95
|
-
|
|
96
|
-
## Follow-Up Skills
|
|
97
|
-
|
|
98
|
-
| Need | Skill | First action |
|
|
99
|
-
|---|---|---|
|
|
100
|
-
| Reconcile documented command counts | dominus-expert | Re-count public commands against `src/namespaces/`. |
|
|
101
|
-
| If truth scatters across code/docs/CI | kyle-atlas | Build `docs/atlas/INDEX.md`. |
|
|
102
|
-
| Durable cross-repo facts | kyle-learn | Promote to `.claude/knowledge` if reused. |
|
|
1
|
+
# Janitor Cleanup Audit: dominus-sdk-nodejs
|
|
2
|
+
|
|
3
|
+
Generated: 2026-06-27 08:49 local
|
|
4
|
+
Target repo: C:\developer\codingroot\repos\dominus_active\dominus-sdk-nodejs
|
|
5
|
+
Git root: C:\developer\codingroot\repos\dominus_active\dominus-sdk-nodejs
|
|
6
|
+
Branch/status: `production` — clean before this pass (no tracked or untracked changes).
|
|
7
|
+
|
|
8
|
+
## Summary
|
|
9
|
+
|
|
10
|
+
Wrote a source-backed agent-guide pack and wired it into `README.md` and
|
|
11
|
+
`CLAUDE.md`. Corrected one proven-stale fact ("no committed automated tests")
|
|
12
|
+
in three places. Auto-cleaned generated `dist/` (gitignored, reproducible).
|
|
13
|
+
Everything left uncommitted per instructions. No tracked source, branches,
|
|
14
|
+
worktrees, plans, or release artifacts deleted.
|
|
15
|
+
|
|
16
|
+
## Executive Actions Applied
|
|
17
|
+
|
|
18
|
+
| Action | Path | Why safe | Verification |
|
|
19
|
+
|---|---|---|---|
|
|
20
|
+
| Wrote agent-guide pack | `docs/agent-guide/**` | New docs only; no source touched. | Files present; INDEX/current point at snapshot. |
|
|
21
|
+
| Wrote cleanup audit | `docs/janitor/2026-06-27-0849-sdk-orient-cleanup-audit.md` | New doc only. | This file. |
|
|
22
|
+
| Wired guide into README | `README.md` | Added small "Agent Guide" section near top; no other content changed. | `git diff README.md` is the one added block. |
|
|
23
|
+
| Wired guide into CLAUDE | `CLAUDE.md` | Added "Agent Guide Pack" pointer near top. | `git diff CLAUDE.md`. |
|
|
24
|
+
| Fixed stale tests fact | `CLAUDE.md`, `docs/architecture.md` | `tests/` has 24 committed files run by `npm test`; old "no committed tests" claim was provably false. | `ls tests` (24 files); `package.json scripts.test` lists them. |
|
|
25
|
+
| Auto-clean generated build | `dist/` | Gitignored, untracked, reproducible via `npm run build`; `prepublishOnly` rebuilds it. | `git check-ignore dist` = ignored; `git ls-files dist` empty; post-delete `git status` shows no tracked change. |
|
|
26
|
+
|
|
27
|
+
## Docs Written
|
|
28
|
+
|
|
29
|
+
| File | Purpose | Source-backed by |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| `docs/agent-guide/INDEX.md` | Stable entrypoint + snapshot history. | repo layout. |
|
|
32
|
+
| `docs/agent-guide/current.md` | Latest snapshot pointer + top-5 refresh facts. | `package.json`, `src/index.ts`, `tests/`. |
|
|
33
|
+
| `.../00-reading-order.md` | Read order + per-task source map + stale flags. | existing docs, `src/`. |
|
|
34
|
+
| `.../01-purpose-and-boundaries.md` | Purpose, ownership, runtime class, boundary. | `package.json`, `CLAUDE.md`, workflows. |
|
|
35
|
+
| `.../02-repo-map-and-entrypoints.md` | Directory map + entrypoints. | `find src`, `package.json`, `.github/workflows`. |
|
|
36
|
+
| `.../03-api-surface.md` | 27 namespaces + auth/scope map. | `src/index.ts` wiring, `routes-services.md`. |
|
|
37
|
+
| `.../04-data-state-and-storage.md` | Storage surfaces + in-process caches. | `docs/architecture.md` §2a, `src/lib/*`. |
|
|
38
|
+
| `.../05-integrations-and-runtime.md` | Deps, gateway routing, env categories. | `package.json`, `CLAUDE.md`, `src/lib/config.ts`. |
|
|
39
|
+
| `.../06-workflows-commands-and-ci.md` | Commands + CI lanes. | `package.json scripts`, `.github/workflows`. |
|
|
40
|
+
| `.../07-operations-release-and-live-proof.md` | npm release lane + proof. | `publish-production.yml`, `package.json`, `workflow-hard-cut-release.md`. |
|
|
41
|
+
| `.../08-security-privacy-and-secrets.md` | Auth boundaries, secret resolution. | `CLAUDE.md`, `src/lib/config.ts`, `.gitignore`. |
|
|
42
|
+
| `.../09-known-risks-and-debt.md` | Stale docs, doc-drift, generated residue. | this audit, `docs/*`. |
|
|
43
|
+
| `.../10-agent-playbook.md` | If-changing-X-read-Y + Kyle routing. | `CLAUDE.md`, `src/`. |
|
|
44
|
+
|
|
45
|
+
## Drift Findings
|
|
46
|
+
|
|
47
|
+
| Finding | Evidence | Risk | Recommendation | Approval needed |
|
|
48
|
+
|---|---|---|---|---|
|
|
49
|
+
| "No committed automated tests" claim stale | `tests/` has 24 files; `package.json scripts.test` runs them | Low (misleads agents) | Fixed in CLAUDE.md + architecture.md §10 | Done |
|
|
50
|
+
| Hand-maintained counts may drift | `routes-services.md` says "450 commands / 29 surfaces"; actual `src/namespaces/` = 27 files | Low | Noted in 09 + architecture §10; re-derive from source before quoting | No |
|
|
51
|
+
|
|
52
|
+
## Stale Or Conflicting Docs
|
|
53
|
+
|
|
54
|
+
| Doc | Problem | Stronger source | Proposed action |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| `docs/architecture.md` §10 | claimed no committed tests | `tests/` + `package.json` | Fixed (replaced with count-drift note). |
|
|
57
|
+
| `CLAUDE.md` Validation | "If tests are absent" framing | `tests/` (24 files) | Fixed to state tests are committed. |
|
|
58
|
+
| `routes-services.md` counts | "29 namespace surfaces" vs 27 top-level files | `src/namespaces/` | Left as-is (counts include `ai.*` sub-namespaces + `auth` local helpers; not provably wrong). Flagged for re-derivation. |
|
|
59
|
+
|
|
60
|
+
## Orphan / Generated / Scratch Candidates
|
|
61
|
+
|
|
62
|
+
| Path | Evidence | Proposed action | Safe now? |
|
|
63
|
+
|---|---|---|---|
|
|
64
|
+
| `dist/` | gitignored build output (~1.6 MB) | Deleted | Yes (done) |
|
|
65
|
+
| `node_modules/` | gitignored installed deps | Leave; not in the auto-apply allowlist; reproducible via `npm ci` but may be in use by a dev session | Not auto-deleted |
|
|
66
|
+
|
|
67
|
+
## Auto-Cleanup Performed
|
|
68
|
+
|
|
69
|
+
| Path | Evidence | Action | Verification |
|
|
70
|
+
|---|---|---|---|
|
|
71
|
+
| `dist/` | `git check-ignore dist` = ignored; `git ls-files dist` empty; reproducible via `npm run build` | `rm -rf dist` | Post-delete `git status` shows no tracked change; rebuild with `npm run build`. |
|
|
72
|
+
|
|
73
|
+
## Expert Review Queue
|
|
74
|
+
|
|
75
|
+
| Candidate | Why expert should view it first | Suggested expert | First review question |
|
|
76
|
+
|---|---|---|---|
|
|
77
|
+
| `routes-services.md` "450 commands / 29 surfaces" reconciliation | Authoritative re-count of public commands vs. the maintained matrix touches the platform client contract surface | dominus-expert | Are the documented counts accurate against current `src/namespaces/*.ts`, and should they be regenerated by a script instead of hand-maintained? |
|
|
78
|
+
|
|
79
|
+
## Worktree / Branch / Plan Residue
|
|
80
|
+
|
|
81
|
+
| Item | Evidence | Proposed action | Owner |
|
|
82
|
+
|---|---|---|---|
|
|
83
|
+
| None | Single repo dir; no `.git/worktrees` scratch, no stray plans found | None | — |
|
|
84
|
+
|
|
85
|
+
## Approval Queue
|
|
86
|
+
|
|
87
|
+
- [ ] Delete `node_modules/` (reproducible via `npm ci`) — only if no dev session is using it — validate with `npm ci && npm test`.
|
|
88
|
+
|
|
89
|
+
## Not Touching
|
|
90
|
+
|
|
91
|
+
- `dist/` rebuild — left for the developer to regenerate via `npm run build`.
|
|
92
|
+
- `node_modules/` — installed deps; outside the granted auto-clean allowlist.
|
|
93
|
+
- `docs/usage-reference.md` (~98 KB) — large reference, not rewritten; only flagged for count drift.
|
|
94
|
+
- All tracked source, `CHANGELOG.md` history, CI workflows, branches.
|
|
95
|
+
|
|
96
|
+
## Follow-Up Skills
|
|
97
|
+
|
|
98
|
+
| Need | Skill | First action |
|
|
99
|
+
|---|---|---|
|
|
100
|
+
| Reconcile documented command counts | dominus-expert | Re-count public commands against `src/namespaces/`. |
|
|
101
|
+
| If truth scatters across code/docs/CI | kyle-atlas | Build `docs/atlas/INDEX.md`. |
|
|
102
|
+
| Durable cross-repo facts | kyle-learn | Promote to `.claude/knowledge` if reused. |
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
# Janitor cleanup audit: dominus-sdk-nodejs
|
|
2
|
-
|
|
3
|
-
Generated: 2026-08-04 local.
|
|
4
|
-
|
|
5
|
-
Refreshed the README and guide/atlas indexes, added a current reading-order
|
|
6
|
-
pack, and mapped the root package surface, namespace ownership, lifecycle
|
|
7
|
-
truth, secret/admin surfaces, and registry release path. Added a neutral
|
|
8
|
-
pending-work summary for the preserved linked worktrees.
|
|
9
|
-
|
|
10
|
-
No implementation branch or linked worktree was merged, rebased, deleted, or
|
|
11
|
-
modified. Historical docs remain available. The Class D release metadata was
|
|
12
|
-
bumped from 10.0.0 to 10.0.1 after verifying 10.0.1 was absent from the npm
|
|
13
|
-
registry. After `npm ci` in the isolated snapshot, build, type tests, and the
|
|
14
|
-
full 106-test runtime suite passed. `git diff --check` was run before commit.
|
|
1
|
+
# Janitor cleanup audit: dominus-sdk-nodejs
|
|
2
|
+
|
|
3
|
+
Generated: 2026-08-04 local.
|
|
4
|
+
|
|
5
|
+
Refreshed the README and guide/atlas indexes, added a current reading-order
|
|
6
|
+
pack, and mapped the root package surface, namespace ownership, lifecycle
|
|
7
|
+
truth, secret/admin surfaces, and registry release path. Added a neutral
|
|
8
|
+
pending-work summary for the preserved linked worktrees.
|
|
9
|
+
|
|
10
|
+
No implementation branch or linked worktree was merged, rebased, deleted, or
|
|
11
|
+
modified. Historical docs remain available. The Class D release metadata was
|
|
12
|
+
bumped from 10.0.0 to 10.0.1 after verifying 10.0.1 was absent from the npm
|
|
13
|
+
registry. After `npm ci` in the isolated snapshot, build, type tests, and the
|
|
14
|
+
full 106-test runtime suite passed. `git diff --check` was run before commit.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Node SDK Error Migration Guide: `DominusError` Subclasses
|
|
2
|
+
|
|
3
|
+
**Version:** v1 (existing class names preserved) → planned v2 (deprecation warnings) → v3 (alias removal)
|
|
4
|
+
|
|
5
|
+
**ADR:** [0010-sdk-exception-base-name.md](https://github.com/carebridgesystems/dominus-platform/blob/main/docs/adr/0010-sdk-exception-base-name.md) (Seams fork 6)
|
|
6
|
+
|
|
7
|
+
This document is the S-4.8 / M-2 migration note. **No behavior change in v1.**
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## (a) What changed
|
|
12
|
+
|
|
13
|
+
The Node SDK already uses one canonical base, `DominusError`. Existing public
|
|
14
|
+
exception class names remain subclasses of that base. `DominusError.toJSON()`
|
|
15
|
+
emits the canonical envelope (`kind`, `code`, `request_id`, `http_status`,
|
|
16
|
+
`envelope_version: "1"`, `recovery_action`).
|
|
17
|
+
|
|
18
|
+
| Canonical Kind | Existing class (v1) | Default HTTP |
|
|
19
|
+
|-------------------------|-------------------------|--------------|
|
|
20
|
+
| `unauthorized` | `AuthenticationError` | 401 |
|
|
21
|
+
| `forbidden` | `AuthorizationError` | 403 |
|
|
22
|
+
| `not_found` | `NotFoundError` | 404 |
|
|
23
|
+
| `validation_failed` | `ValidationError` | 400 |
|
|
24
|
+
| `conflict` | `ConflictError` | 409 |
|
|
25
|
+
| `upstream_unavailable` | `ServiceError` | 500 |
|
|
26
|
+
| `timeout` | `TimeoutError` | — |
|
|
27
|
+
|
|
28
|
+
`ConnectionError` and `SecureTableError` also subclass `DominusError`.
|
|
29
|
+
`raiseForStatus` still maps HTTP status codes to these same classes.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## (b) What stayed
|
|
34
|
+
|
|
35
|
+
**Every existing public class name is preserved** in v1.
|
|
36
|
+
`AuthenticationError` and the other historical names still subclass
|
|
37
|
+
`DominusError`. Existing `instanceof` checks keep working.
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import { AuthenticationError, DominusError } from 'dominus-sdk-nodejs';
|
|
41
|
+
|
|
42
|
+
const err = new AuthenticationError('bad token');
|
|
43
|
+
err instanceof AuthenticationError; // true
|
|
44
|
+
err instanceof DominusError; // true
|
|
45
|
+
err.kind; // "unauthorized"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Existing catch sites do **not** need to change in v1.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## (c) How to migrate
|
|
53
|
+
|
|
54
|
+
**Recommended v1 pattern** — catch `DominusError` and dispatch on `kind`:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import { DominusError } from 'dominus-sdk-nodejs';
|
|
58
|
+
|
|
59
|
+
try {
|
|
60
|
+
await dominus.stash.put(/* ... */);
|
|
61
|
+
} catch (err) {
|
|
62
|
+
if (err instanceof DominusError) {
|
|
63
|
+
if (err.kind === 'unauthorized') reauth();
|
|
64
|
+
else if (err.kind === 'rate_limited') backoff(err);
|
|
65
|
+
else throw err;
|
|
66
|
+
} else {
|
|
67
|
+
throw err;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## (d) v1 import pattern (now)
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
import {
|
|
78
|
+
DominusError,
|
|
79
|
+
AuthenticationError,
|
|
80
|
+
AuthorizationError,
|
|
81
|
+
NotFoundError,
|
|
82
|
+
ValidationError,
|
|
83
|
+
ConflictError,
|
|
84
|
+
ServiceError,
|
|
85
|
+
ConnectionError,
|
|
86
|
+
TimeoutError,
|
|
87
|
+
SecureTableError,
|
|
88
|
+
raiseForStatus,
|
|
89
|
+
} from 'dominus-sdk-nodejs';
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
These names remain the public API in v1. They are the aliases that v2 will
|
|
93
|
+
deprecate in favor of catching `DominusError` and branching on `kind`.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## (e) v2 deprecation timeline
|
|
98
|
+
|
|
99
|
+
- **v1** (current): Existing exception class names remain `DominusError`
|
|
100
|
+
subclasses. **No warnings. No behavior change.**
|
|
101
|
+
- **v2** (next major): The historical names (`AuthenticationError`,
|
|
102
|
+
`AuthorizationError`, `ValidationError`, `ServiceError`, `ConnectionError`,
|
|
103
|
+
`SecureTableError`) become deprecated aliases. They still construct and
|
|
104
|
+
catch the same errors.
|
|
105
|
+
- **v3** (later): Those aliases are removed. Consumers catch `DominusError`
|
|
106
|
+
(or a per-`kind` subclass) and dispatch on `kind`.
|
|
107
|
+
|
|
108
|
+
The deprecation window is governed by `dominus-cli/docs/deprecation-policy.md`.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## (f) Rollback
|
|
113
|
+
|
|
114
|
+
Pin the SDK to the current major if you must stay on the historical class
|
|
115
|
+
names only. v1 is fully backward-compatible; you can stay on it indefinitely.
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
# Pending work fruition summary: dominus-sdk-nodejs
|
|
2
|
-
|
|
3
|
-
Generated: 2026-08-04 local. This note analyzes existing linked work without
|
|
4
|
-
changing it.
|
|
5
|
-
|
|
6
|
-
## What is present
|
|
7
|
-
|
|
8
|
-
The repository has four local linked worktrees around two related themes. The
|
|
9
|
-
timeline contract v9 line adds a target query filter and retires the older
|
|
10
|
-
company query option. The secret-presence-grid v10 lines add safe presence
|
|
11
|
-
data, persisted root-role exposure, and preview code-point counting; reconciled
|
|
12
|
-
and release branches carry the latest versions of that work. The main checkout
|
|
13
|
-
was not modified and the current production snapshot is separate from those
|
|
14
|
-
feature branches.
|
|
15
|
-
|
|
16
|
-
## Likely path to completion
|
|
17
|
-
|
|
18
|
-
1. Compare the timeline and secret-presence branches with current `production`
|
|
19
|
-
and choose one coherent SDK contract candidate. Preserve backward
|
|
20
|
-
compatibility only where the server contract still requires it.
|
|
21
|
-
2. Trace the timeline query change through Authority methods, generated/public
|
|
22
|
-
types, tests, and README examples; confirm the retired company option is
|
|
23
|
-
absent where intended and target filtering is consistently shaped.
|
|
24
|
-
3. Trace the secret-presence change through admin/secrets namespaces, preview
|
|
25
|
-
counting, root-role projections, public types, and server endpoints. Keep
|
|
26
|
-
all responses value-safe and avoid implying secret availability from
|
|
27
|
-
indeterminate provider state.
|
|
28
|
-
4. Run build, type tests, the full Node test suite, and focused contract tests
|
|
29
|
-
on the reconciled candidate. Then bump the package version once for the
|
|
30
|
-
actual release candidate and verify the new version is absent from the
|
|
31
|
-
registry.
|
|
32
|
-
5. Push the exact `production` candidate and use the publish workflow plus
|
|
33
|
-
registry/version verification to establish package completion. Pair that
|
|
34
|
-
with downstream Gateway/worker contract proof where the SDK behavior is
|
|
35
|
-
load-bearing.
|
|
36
|
-
|
|
37
|
-
## Open questions
|
|
38
|
-
|
|
39
|
-
- Whether timeline v9 and secret-presence v10 should ship together or as two
|
|
40
|
-
independently versioned SDK releases.
|
|
41
|
-
- Whether persisted root-role data is already available in every targeted
|
|
42
|
-
server environment or needs a typed unavailable state in the SDK.
|
|
43
|
-
- Which release branch is canonical among the reconciled and release worktrees.
|
|
44
|
-
|
|
45
|
-
These questions are intentionally left for contract/release review; the
|
|
46
|
-
existing implementation remains untouched.
|
|
1
|
+
# Pending work fruition summary: dominus-sdk-nodejs
|
|
2
|
+
|
|
3
|
+
Generated: 2026-08-04 local. This note analyzes existing linked work without
|
|
4
|
+
changing it.
|
|
5
|
+
|
|
6
|
+
## What is present
|
|
7
|
+
|
|
8
|
+
The repository has four local linked worktrees around two related themes. The
|
|
9
|
+
timeline contract v9 line adds a target query filter and retires the older
|
|
10
|
+
company query option. The secret-presence-grid v10 lines add safe presence
|
|
11
|
+
data, persisted root-role exposure, and preview code-point counting; reconciled
|
|
12
|
+
and release branches carry the latest versions of that work. The main checkout
|
|
13
|
+
was not modified and the current production snapshot is separate from those
|
|
14
|
+
feature branches.
|
|
15
|
+
|
|
16
|
+
## Likely path to completion
|
|
17
|
+
|
|
18
|
+
1. Compare the timeline and secret-presence branches with current `production`
|
|
19
|
+
and choose one coherent SDK contract candidate. Preserve backward
|
|
20
|
+
compatibility only where the server contract still requires it.
|
|
21
|
+
2. Trace the timeline query change through Authority methods, generated/public
|
|
22
|
+
types, tests, and README examples; confirm the retired company option is
|
|
23
|
+
absent where intended and target filtering is consistently shaped.
|
|
24
|
+
3. Trace the secret-presence change through admin/secrets namespaces, preview
|
|
25
|
+
counting, root-role projections, public types, and server endpoints. Keep
|
|
26
|
+
all responses value-safe and avoid implying secret availability from
|
|
27
|
+
indeterminate provider state.
|
|
28
|
+
4. Run build, type tests, the full Node test suite, and focused contract tests
|
|
29
|
+
on the reconciled candidate. Then bump the package version once for the
|
|
30
|
+
actual release candidate and verify the new version is absent from the
|
|
31
|
+
registry.
|
|
32
|
+
5. Push the exact `production` candidate and use the publish workflow plus
|
|
33
|
+
registry/version verification to establish package completion. Pair that
|
|
34
|
+
with downstream Gateway/worker contract proof where the SDK behavior is
|
|
35
|
+
load-bearing.
|
|
36
|
+
|
|
37
|
+
## Open questions
|
|
38
|
+
|
|
39
|
+
- Whether timeline v9 and secret-presence v10 should ship together or as two
|
|
40
|
+
independently versioned SDK releases.
|
|
41
|
+
- Whether persisted root-role data is already available in every targeted
|
|
42
|
+
server environment or needs a typed unavailable state in the SDK.
|
|
43
|
+
- Which release branch is canonical among the reconciled and release worktrees.
|
|
44
|
+
|
|
45
|
+
These questions are intentionally left for contract/release review; the
|
|
46
|
+
existing implementation remains untouched.
|
package/docs/routes-services.md
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
# Routes, Services, and Endpoints Assessment
|
|
2
|
-
|
|
3
|
-
This assessment is derived from all public namespace methods under `src/namespaces/` and their configured routes in SDK request calls.
|
|
4
|
-
|
|
5
|
-
Audited commands: **~450** (hand-counted) across **27** top-level namespace files in `src/namespaces/`. The Service Matrix below lists **29** namespace surfaces because it expands dotted sub-namespaces (e.g. `ai.*` and `auth.*`) into their own rows, so the surface count is intentionally higher than the file count, not a typo. These totals are hand-maintained — re-derive from source before quoting.
|
|
6
|
-
|
|
7
|
-
## Service Matrix
|
|
8
|
-
|
|
9
|
-
| Service | Commands | Namespaces | Distinct Route Expressions | Notes |
|
|
10
|
-
|---|---:|---|---:|---|
|
|
11
|
-
| `guardian` | 146 | dominus.auth | 146 | HTTP API routes via Dominus client. |
|
|
12
|
-
| `agent-runtime` | 53 | dominus.ai, dominus.ai.artifacts, dominus.ai.rag, dominus.ai.results, dominus.ai.tools, dominus.ai.workflow | 51 | HTTP API routes via Dominus client. |
|
|
13
|
-
| `workflow-manager` | 38 | dominus.workflow | 36 | HTTP API routes via Dominus client. |
|
|
14
|
-
| `authority` | 33 | dominus.authority | 33 | Hard-cut app/org/env Authority surface. |
|
|
15
|
-
| `platform-worker` | 16 | dominus.platform | 16 | Gateway `/svc/platform/*` group/repository policy surface; policy helpers accept actor attribution headers. |
|
|
16
|
-
| `coder-runtime` | 11 | dominus.coder | 11 | Gateway `/svc/coder/*` run lifecycle surface; launch requires exactly one workflow or pipeline recipe ref. |
|
|
17
|
-
| `browser-worker` | 11 | dominus.browser | 10 | Authenticated `/svc/browser/*` browser automation primitive; Cloudflare Browser Run default, Browserbase fallback. |
|
|
18
|
-
| `portal-worker` | 22 | dominus.portal | 22 | HTTP API routes via Dominus client. |
|
|
19
|
-
| `db-worker` | 20 | dominus.db, dominus.ddl | 19 | HTTP API routes via Dominus client. |
|
|
20
|
-
| `smith` | 15 | dominus.ddl | 15 | HTTP API routes via Dominus client. |
|
|
21
|
-
| `b2-worker` | 14 | dominus.files | 14 | HTTP API routes via Dominus client. |
|
|
22
|
-
| `redis-worker` | 14 | dominus.redis | 14 | HTTP API routes via Dominus client. |
|
|
23
|
-
| `logs-worker` | 9 | dominus.logs | 4 | HTTP API routes via Dominus client; tail filters include `machine_id`. |
|
|
24
|
-
| `scribe` | 7 | dominus.secure | 7 | HTTP API routes via Dominus client. |
|
|
25
|
-
| `job-worker` | 8 | dominus.jobs | 6 | HTTP API routes via Dominus client. |
|
|
26
|
-
| `artifact-worker` | 6 | dominus.artifacts | 6 | HTTP API routes via Dominus client. |
|
|
27
|
-
| `stash-worker` managed tables | 6 | dominus.stash.tables | 6 | Typed self/group table routes through the authenticated gateway. |
|
|
28
|
-
| `admin-worker` | 5 | dominus.admin, dominus.files | 5 | HTTP API routes via Dominus client. |
|
|
29
|
-
| `warden` | 4 | dominus.secrets | 1 | Selected-scope grant semantics live in this group. |
|
|
30
|
-
| `courier-worker` | 5 | dominus.courier | 2 | HTTP API routes via Dominus client. |
|
|
31
|
-
| `gateway-local` | 4 | dominus.auth, dominus.health | 3 | Gateway `/health`, `/v1/ping`, and `/jwt/jwks` helpers. |
|
|
32
|
-
| `processor-service` | 3 | dominus.processor | 3 | HTTP API routes via Dominus client. |
|
|
33
|
-
| `sync-worker` | 2 | dominus.sync | 2 | HTTP API routes via Dominus client. |
|
|
34
|
-
| `local-jwt` | 1 | dominus.auth | 1 | Local JWT parsing/validation helpers in auth namespace. |
|
|
35
|
-
| `retired-stt` | 0 | (retired) | 0 | Legacy streaming STT namespace/routes are removed in hard cutover. |
|
|
36
|
-
|
|
37
|
-
## Route Prefix Mapping
|
|
38
|
-
|
|
39
|
-
| Prefix | Primary Namespace(s) | Expected Backend |
|
|
40
|
-
|---|---|---|
|
|
41
|
-
| `/api/warden/*` | secrets | `warden` |
|
|
42
|
-
| `/api/guardian/*` | auth | `guardian` |
|
|
43
|
-
| `/api/authority/*` | authority | `authority` |
|
|
44
|
-
| `/api/platform/*` and `/svc/platform/*` | platform | `platform-worker` |
|
|
45
|
-
| `/api/coder/*` and `/svc/coder/*` | coder | `coder-runtime` |
|
|
46
|
-
| `/api/browser/*` | browser | `browser-worker` |
|
|
47
|
-
| `/api/portal/*` | portal | `portal-worker` |
|
|
48
|
-
| `/api/database/* and /api/provision/*` | db, ddl (builder + provisioning) | `db-worker` |
|
|
49
|
-
| `/api/scribe/*` | secure, open | `scribe` |
|
|
50
|
-
| `/api/smith/*` | ddl | `smith` |
|
|
51
|
-
| `/api/redis/*` | redis | `redis-worker` |
|
|
52
|
-
| `/api/b2/*` | files | `b2-worker` |
|
|
53
|
-
| `/api/courier/*` | courier | `courier-worker` |
|
|
54
|
-
| `/api/logs/*` | logs | `logs-worker` |
|
|
55
|
-
| `/health`, `/v1/ping` | health | `gateway-local` |
|
|
56
|
-
| `/api/admin/*` | admin | `admin-worker` |
|
|
57
|
-
| `/api/sync/*` | sync | `sync-worker` |
|
|
58
|
-
| `/api/job/*` | jobs | `job-worker` |
|
|
59
|
-
| `/api/processor/*` | processor | `processor-service` |
|
|
60
|
-
| `/api/artifact/*` | artifacts | `artifact-worker` |
|
|
61
|
-
| `/svc/stash/tables/*` | stash.tables | `stash-worker` |
|
|
62
|
-
| `/api/rag/*, /api/agent/*, /api/llm/*, /api/results/*, /api/orchestration/*, /api/session/*` | ai, ai.rag, ai.tools, ai.workflow, ai.results | `agent-runtime` |
|
|
63
|
-
| `/api/workflow/*` | workflow | `workflow-manager` |
|
|
64
|
-
| `/api/agent/stt` | ai.stt | `agent-runtime` |
|
|
65
|
-
|
|
66
|
-
## Local and Helper Operations
|
|
67
|
-
|
|
68
|
-
- `dominus.auth.validateJwt` performs local payload checks and expiry validation; it is not a full remote introspection endpoint.
|
|
69
|
-
- `dominus.auth.getJwks` fetches and caches public signing keys from `/jwt/jwks`.
|
|
70
|
-
- `dominus.health.check` uses direct `fetch` to the gateway `/health` route for low-level availability checks.
|
|
71
|
-
- `dominus.ai.stt` sends binary audio to `POST /api/agent/stt` for batch transcription.
|
|
72
|
-
- `dominus.authority.*` uses the cutover `appSlug` / `env` / `targetOrgId` / `targetAppSlug` / `targetEnv` vocabulary; `contextResolve()` and `mintSelectedScopeJwt()` now send the canonical `org_id` / `app_slug` / `env` and `target_org_id` / `target_env` wire payloads expected by live gateway routes.
|
|
73
|
-
- `dominus.browser.*` routes through `/api/browser/*` with `useGateway: true`, producing authenticated gateway paths under `/svc/browser/*`. Browser run metadata remains worker runtime state; Artifact V2 is only for sanitized result/capture payloads.
|
|
74
|
-
- `dominus.platform.*` and `dominus.coder.*` call `/svc/platform/*` and `/svc/coder/*` through `gatewayFetch`. Policy/Coder helpers accept actor context and forward it as `X-Actor-Type` / `X-Actor-Id`; `dominus.coder.ensureRun()` requires exactly one of `workflowRecipeRef` or `pipelineRecipeRef`.
|
|
75
|
-
- Convenience wrappers like `dominus.courier.sendWelcome` delegate to core routes (for example `/api/courier/send`).
|
|
76
|
-
|
|
77
|
-
## Coverage Notes
|
|
78
|
-
|
|
79
|
-
- Gateway routing is enabled per method via `useGateway: true` in namespace implementations; direct calls still target `/api/*` and are transformed by the client when gateway mode is on.
|
|
80
|
-
- The exhaustive per-command listing with params/returns/routes is documented in [usage-reference.md](./usage-reference.md).
|
|
1
|
+
# Routes, Services, and Endpoints Assessment
|
|
2
|
+
|
|
3
|
+
This assessment is derived from all public namespace methods under `src/namespaces/` and their configured routes in SDK request calls.
|
|
4
|
+
|
|
5
|
+
Audited commands: **~450** (hand-counted) across **27** top-level namespace files in `src/namespaces/`. The Service Matrix below lists **29** namespace surfaces because it expands dotted sub-namespaces (e.g. `ai.*` and `auth.*`) into their own rows, so the surface count is intentionally higher than the file count, not a typo. These totals are hand-maintained — re-derive from source before quoting.
|
|
6
|
+
|
|
7
|
+
## Service Matrix
|
|
8
|
+
|
|
9
|
+
| Service | Commands | Namespaces | Distinct Route Expressions | Notes |
|
|
10
|
+
|---|---:|---|---:|---|
|
|
11
|
+
| `guardian` | 146 | dominus.auth | 146 | HTTP API routes via Dominus client. |
|
|
12
|
+
| `agent-runtime` | 53 | dominus.ai, dominus.ai.artifacts, dominus.ai.rag, dominus.ai.results, dominus.ai.tools, dominus.ai.workflow | 51 | HTTP API routes via Dominus client. |
|
|
13
|
+
| `workflow-manager` | 38 | dominus.workflow | 36 | HTTP API routes via Dominus client. |
|
|
14
|
+
| `authority` | 33 | dominus.authority | 33 | Hard-cut app/org/env Authority surface. |
|
|
15
|
+
| `platform-worker` | 16 | dominus.platform | 16 | Gateway `/svc/platform/*` group/repository policy surface; policy helpers accept actor attribution headers. |
|
|
16
|
+
| `coder-runtime` | 11 | dominus.coder | 11 | Gateway `/svc/coder/*` run lifecycle surface; launch requires exactly one workflow or pipeline recipe ref. |
|
|
17
|
+
| `browser-worker` | 11 | dominus.browser | 10 | Authenticated `/svc/browser/*` browser automation primitive; Cloudflare Browser Run default, Browserbase fallback. |
|
|
18
|
+
| `portal-worker` | 22 | dominus.portal | 22 | HTTP API routes via Dominus client. |
|
|
19
|
+
| `db-worker` | 20 | dominus.db, dominus.ddl | 19 | HTTP API routes via Dominus client. |
|
|
20
|
+
| `smith` | 15 | dominus.ddl | 15 | HTTP API routes via Dominus client. |
|
|
21
|
+
| `b2-worker` | 14 | dominus.files | 14 | HTTP API routes via Dominus client. |
|
|
22
|
+
| `redis-worker` | 14 | dominus.redis | 14 | HTTP API routes via Dominus client. |
|
|
23
|
+
| `logs-worker` | 9 | dominus.logs | 4 | HTTP API routes via Dominus client; tail filters include `machine_id`. |
|
|
24
|
+
| `scribe` | 7 | dominus.secure | 7 | HTTP API routes via Dominus client. |
|
|
25
|
+
| `job-worker` | 8 | dominus.jobs | 6 | HTTP API routes via Dominus client. |
|
|
26
|
+
| `artifact-worker` | 6 | dominus.artifacts | 6 | HTTP API routes via Dominus client. |
|
|
27
|
+
| `stash-worker` managed tables | 6 | dominus.stash.tables | 6 | Typed self/group table routes through the authenticated gateway. |
|
|
28
|
+
| `admin-worker` | 5 | dominus.admin, dominus.files | 5 | HTTP API routes via Dominus client. |
|
|
29
|
+
| `warden` | 4 | dominus.secrets | 1 | Selected-scope grant semantics live in this group. |
|
|
30
|
+
| `courier-worker` | 5 | dominus.courier | 2 | HTTP API routes via Dominus client. |
|
|
31
|
+
| `gateway-local` | 4 | dominus.auth, dominus.health | 3 | Gateway `/health`, `/v1/ping`, and `/jwt/jwks` helpers. |
|
|
32
|
+
| `processor-service` | 3 | dominus.processor | 3 | HTTP API routes via Dominus client. |
|
|
33
|
+
| `sync-worker` | 2 | dominus.sync | 2 | HTTP API routes via Dominus client. |
|
|
34
|
+
| `local-jwt` | 1 | dominus.auth | 1 | Local JWT parsing/validation helpers in auth namespace. |
|
|
35
|
+
| `retired-stt` | 0 | (retired) | 0 | Legacy streaming STT namespace/routes are removed in hard cutover. |
|
|
36
|
+
|
|
37
|
+
## Route Prefix Mapping
|
|
38
|
+
|
|
39
|
+
| Prefix | Primary Namespace(s) | Expected Backend |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| `/api/warden/*` | secrets | `warden` |
|
|
42
|
+
| `/api/guardian/*` | auth | `guardian` |
|
|
43
|
+
| `/api/authority/*` | authority | `authority` |
|
|
44
|
+
| `/api/platform/*` and `/svc/platform/*` | platform | `platform-worker` |
|
|
45
|
+
| `/api/coder/*` and `/svc/coder/*` | coder | `coder-runtime` |
|
|
46
|
+
| `/api/browser/*` | browser | `browser-worker` |
|
|
47
|
+
| `/api/portal/*` | portal | `portal-worker` |
|
|
48
|
+
| `/api/database/* and /api/provision/*` | db, ddl (builder + provisioning) | `db-worker` |
|
|
49
|
+
| `/api/scribe/*` | secure, open | `scribe` |
|
|
50
|
+
| `/api/smith/*` | ddl | `smith` |
|
|
51
|
+
| `/api/redis/*` | redis | `redis-worker` |
|
|
52
|
+
| `/api/b2/*` | files | `b2-worker` |
|
|
53
|
+
| `/api/courier/*` | courier | `courier-worker` |
|
|
54
|
+
| `/api/logs/*` | logs | `logs-worker` |
|
|
55
|
+
| `/health`, `/v1/ping` | health | `gateway-local` |
|
|
56
|
+
| `/api/admin/*` | admin | `admin-worker` |
|
|
57
|
+
| `/api/sync/*` | sync | `sync-worker` |
|
|
58
|
+
| `/api/job/*` | jobs | `job-worker` |
|
|
59
|
+
| `/api/processor/*` | processor | `processor-service` |
|
|
60
|
+
| `/api/artifact/*` | artifacts | `artifact-worker` |
|
|
61
|
+
| `/svc/stash/tables/*` | stash.tables | `stash-worker` |
|
|
62
|
+
| `/api/rag/*, /api/agent/*, /api/llm/*, /api/results/*, /api/orchestration/*, /api/session/*` | ai, ai.rag, ai.tools, ai.workflow, ai.results | `agent-runtime` |
|
|
63
|
+
| `/api/workflow/*` | workflow | `workflow-manager` |
|
|
64
|
+
| `/api/agent/stt` | ai.stt | `agent-runtime` |
|
|
65
|
+
|
|
66
|
+
## Local and Helper Operations
|
|
67
|
+
|
|
68
|
+
- `dominus.auth.validateJwt` performs local payload checks and expiry validation; it is not a full remote introspection endpoint.
|
|
69
|
+
- `dominus.auth.getJwks` fetches and caches public signing keys from `/jwt/jwks`.
|
|
70
|
+
- `dominus.health.check` uses direct `fetch` to the gateway `/health` route for low-level availability checks.
|
|
71
|
+
- `dominus.ai.stt` sends binary audio to `POST /api/agent/stt` for batch transcription.
|
|
72
|
+
- `dominus.authority.*` uses the cutover `appSlug` / `env` / `targetOrgId` / `targetAppSlug` / `targetEnv` vocabulary; `contextResolve()` and `mintSelectedScopeJwt()` now send the canonical `org_id` / `app_slug` / `env` and `target_org_id` / `target_env` wire payloads expected by live gateway routes.
|
|
73
|
+
- `dominus.browser.*` routes through `/api/browser/*` with `useGateway: true`, producing authenticated gateway paths under `/svc/browser/*`. Browser run metadata remains worker runtime state; Artifact V2 is only for sanitized result/capture payloads.
|
|
74
|
+
- `dominus.platform.*` and `dominus.coder.*` call `/svc/platform/*` and `/svc/coder/*` through `gatewayFetch`. Policy/Coder helpers accept actor context and forward it as `X-Actor-Type` / `X-Actor-Id`; `dominus.coder.ensureRun()` requires exactly one of `workflowRecipeRef` or `pipelineRecipeRef`.
|
|
75
|
+
- Convenience wrappers like `dominus.courier.sendWelcome` delegate to core routes (for example `/api/courier/send`).
|
|
76
|
+
|
|
77
|
+
## Coverage Notes
|
|
78
|
+
|
|
79
|
+
- Gateway routing is enabled per method via `useGateway: true` in namespace implementations; direct calls still target `/api/*` and are transformed by the client when gateway mode is on.
|
|
80
|
+
- The exhaustive per-command listing with params/returns/routes is documented in [usage-reference.md](./usage-reference.md).
|