@cleocode/cleo 2026.3.56 → 2026.3.58
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/dist/cli/commander-shim.d.ts +112 -0
- package/dist/cli/commander-shim.d.ts.map +1 -0
- package/dist/cli/commander-shim.js +233 -0
- package/dist/cli/commander-shim.js.map +1 -0
- package/dist/cli/commands/add.d.ts +12 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +91 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/adr.d.ts +27 -0
- package/dist/cli/commands/adr.d.ts.map +1 -0
- package/dist/cli/commands/adr.js +79 -0
- package/dist/cli/commands/adr.js.map +1 -0
- package/dist/cli/commands/analyze.d.ts +12 -0
- package/dist/cli/commands/analyze.d.ts.map +1 -0
- package/dist/cli/commands/analyze.js +20 -0
- package/dist/cli/commands/analyze.js.map +1 -0
- package/dist/cli/commands/archive-stats.d.ts +18 -0
- package/dist/cli/commands/archive-stats.d.ts.map +1 -0
- package/dist/cli/commands/archive-stats.js +49 -0
- package/dist/cli/commands/archive-stats.js.map +1 -0
- package/dist/cli/commands/archive.d.ts +12 -0
- package/dist/cli/commands/archive.d.ts.map +1 -0
- package/dist/cli/commands/archive.js +32 -0
- package/dist/cli/commands/archive.js.map +1 -0
- package/dist/cli/commands/backup.d.ts +8 -0
- package/dist/cli/commands/backup.d.ts.map +1 -0
- package/dist/cli/commands/backup.js +35 -0
- package/dist/cli/commands/backup.js.map +1 -0
- package/dist/cli/commands/blockers.d.ts +7 -0
- package/dist/cli/commands/blockers.d.ts.map +1 -0
- package/dist/cli/commands/blockers.js +16 -0
- package/dist/cli/commands/blockers.js.map +1 -0
- package/dist/cli/commands/briefing.d.ts +22 -0
- package/dist/cli/commands/briefing.d.ts.map +1 -0
- package/dist/cli/commands/briefing.js +45 -0
- package/dist/cli/commands/briefing.js.map +1 -0
- package/dist/cli/commands/bug.d.ts +12 -0
- package/dist/cli/commands/bug.d.ts.map +1 -0
- package/dist/cli/commands/bug.js +81 -0
- package/dist/cli/commands/bug.js.map +1 -0
- package/dist/cli/commands/checkpoint.d.ts +15 -0
- package/dist/cli/commands/checkpoint.d.ts.map +1 -0
- package/dist/cli/commands/checkpoint.js +91 -0
- package/dist/cli/commands/checkpoint.js.map +1 -0
- package/dist/cli/commands/commands.d.ts +13 -0
- package/dist/cli/commands/commands.d.ts.map +1 -0
- package/dist/cli/commands/commands.js +30 -0
- package/dist/cli/commands/commands.js.map +1 -0
- package/dist/cli/commands/complete.d.ts +12 -0
- package/dist/cli/commands/complete.d.ts.map +1 -0
- package/dist/cli/commands/complete.js +43 -0
- package/dist/cli/commands/complete.js.map +1 -0
- package/dist/cli/commands/compliance.d.ts +8 -0
- package/dist/cli/commands/compliance.d.ts.map +1 -0
- package/dist/cli/commands/compliance.js +85 -0
- package/dist/cli/commands/compliance.js.map +1 -0
- package/dist/cli/commands/config.d.ts +9 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +43 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/consensus.d.ts +13 -0
- package/dist/cli/commands/consensus.d.ts.map +1 -0
- package/dist/cli/commands/consensus.js +45 -0
- package/dist/cli/commands/consensus.js.map +1 -0
- package/dist/cli/commands/context.d.ts +8 -0
- package/dist/cli/commands/context.d.ts.map +1 -0
- package/dist/cli/commands/context.js +40 -0
- package/dist/cli/commands/context.js.map +1 -0
- package/dist/cli/commands/contribution.d.ts +13 -0
- package/dist/cli/commands/contribution.d.ts.map +1 -0
- package/dist/cli/commands/contribution.js +41 -0
- package/dist/cli/commands/contribution.js.map +1 -0
- package/dist/cli/commands/current.d.ts +13 -0
- package/dist/cli/commands/current.d.ts.map +1 -0
- package/dist/cli/commands/current.js +20 -0
- package/dist/cli/commands/current.js.map +1 -0
- package/dist/cli/commands/dash.d.ts +12 -0
- package/dist/cli/commands/dash.d.ts.map +1 -0
- package/dist/cli/commands/dash.js +24 -0
- package/dist/cli/commands/dash.js.map +1 -0
- package/dist/cli/commands/decomposition.d.ts +13 -0
- package/dist/cli/commands/decomposition.d.ts.map +1 -0
- package/dist/cli/commands/decomposition.js +45 -0
- package/dist/cli/commands/decomposition.js.map +1 -0
- package/dist/cli/commands/delete.d.ts +12 -0
- package/dist/cli/commands/delete.d.ts.map +1 -0
- package/dist/cli/commands/delete.js +37 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/deps.d.ts +9 -0
- package/dist/cli/commands/deps.d.ts.map +1 -0
- package/dist/cli/commands/deps.js +73 -0
- package/dist/cli/commands/deps.js.map +1 -0
- package/dist/cli/commands/detect-drift.d.ts +15 -0
- package/dist/cli/commands/detect-drift.d.ts.map +1 -0
- package/dist/cli/commands/detect-drift.js +386 -0
- package/dist/cli/commands/detect-drift.js.map +1 -0
- package/dist/cli/commands/detect.d.ts +10 -0
- package/dist/cli/commands/detect.d.ts.map +1 -0
- package/dist/cli/commands/detect.js +24 -0
- package/dist/cli/commands/detect.js.map +1 -0
- package/dist/cli/commands/docs.d.ts +13 -0
- package/dist/cli/commands/docs.d.ts.map +1 -0
- package/dist/cli/commands/docs.js +169 -0
- package/dist/cli/commands/docs.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +11 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +54 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/dynamic.d.ts +24 -0
- package/dist/cli/commands/dynamic.d.ts.map +1 -0
- package/dist/cli/commands/dynamic.js +27 -0
- package/dist/cli/commands/dynamic.js.map +1 -0
- package/dist/cli/commands/env.d.ts +12 -0
- package/dist/cli/commands/env.d.ts.map +1 -0
- package/dist/cli/commands/env.js +44 -0
- package/dist/cli/commands/env.js.map +1 -0
- package/dist/cli/commands/exists.d.ts +7 -0
- package/dist/cli/commands/exists.d.ts.map +1 -0
- package/dist/cli/commands/exists.js +33 -0
- package/dist/cli/commands/exists.js.map +1 -0
- package/dist/cli/commands/export-tasks.d.ts +10 -0
- package/dist/cli/commands/export-tasks.d.ts.map +1 -0
- package/dist/cli/commands/export-tasks.js +47 -0
- package/dist/cli/commands/export-tasks.js.map +1 -0
- package/dist/cli/commands/export.d.ts +9 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +46 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/find.d.ts +14 -0
- package/dist/cli/commands/find.d.ts.map +1 -0
- package/dist/cli/commands/find.js +70 -0
- package/dist/cli/commands/find.js.map +1 -0
- package/dist/cli/commands/generate-changelog.d.ts +14 -0
- package/dist/cli/commands/generate-changelog.d.ts.map +1 -0
- package/dist/cli/commands/generate-changelog.js +252 -0
- package/dist/cli/commands/generate-changelog.js.map +1 -0
- package/dist/cli/commands/grade.d.ts +13 -0
- package/dist/cli/commands/grade.d.ts.map +1 -0
- package/dist/cli/commands/grade.js +26 -0
- package/dist/cli/commands/grade.js.map +1 -0
- package/dist/cli/commands/history.d.ts +9 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +30 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/implementation.d.ts +13 -0
- package/dist/cli/commands/implementation.d.ts.map +1 -0
- package/dist/cli/commands/implementation.js +41 -0
- package/dist/cli/commands/implementation.js.map +1 -0
- package/dist/cli/commands/import-tasks.d.ts +10 -0
- package/dist/cli/commands/import-tasks.d.ts.map +1 -0
- package/dist/cli/commands/import-tasks.js +38 -0
- package/dist/cli/commands/import-tasks.js.map +1 -0
- package/dist/cli/commands/import.d.ts +9 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +28 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/init.d.ts +34 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +89 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/inject.d.ts +8 -0
- package/dist/cli/commands/inject.d.ts.map +1 -0
- package/dist/cli/commands/inject.js +28 -0
- package/dist/cli/commands/inject.js.map +1 -0
- package/dist/cli/commands/install-global.d.ts +19 -0
- package/dist/cli/commands/install-global.d.ts.map +1 -0
- package/dist/cli/commands/install-global.js +50 -0
- package/dist/cli/commands/install-global.js.map +1 -0
- package/dist/cli/commands/issue.d.ts +14 -0
- package/dist/cli/commands/issue.d.ts.map +1 -0
- package/dist/cli/commands/issue.js +105 -0
- package/dist/cli/commands/issue.js.map +1 -0
- package/dist/cli/commands/labels.d.ts +13 -0
- package/dist/cli/commands/labels.d.ts.map +1 -0
- package/dist/cli/commands/labels.js +44 -0
- package/dist/cli/commands/labels.js.map +1 -0
- package/dist/cli/commands/lifecycle.d.ts +8 -0
- package/dist/cli/commands/lifecycle.d.ts.map +1 -0
- package/dist/cli/commands/lifecycle.js +72 -0
- package/dist/cli/commands/lifecycle.js.map +1 -0
- package/dist/cli/commands/list.d.ts +14 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +71 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/log.d.ts +12 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +30 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/map.d.ts +10 -0
- package/dist/cli/commands/map.d.ts.map +1 -0
- package/dist/cli/commands/map.js +23 -0
- package/dist/cli/commands/map.js.map +1 -0
- package/dist/cli/commands/mcp-install.d.ts +17 -0
- package/dist/cli/commands/mcp-install.d.ts.map +1 -0
- package/dist/cli/commands/mcp-install.js +128 -0
- package/dist/cli/commands/mcp-install.js.map +1 -0
- package/dist/cli/commands/memory-brain.d.ts +14 -0
- package/dist/cli/commands/memory-brain.d.ts.map +1 -0
- package/dist/cli/commands/memory-brain.js +151 -0
- package/dist/cli/commands/memory-brain.js.map +1 -0
- package/dist/cli/commands/migrate-claude-mem.d.ts +18 -0
- package/dist/cli/commands/migrate-claude-mem.d.ts.map +1 -0
- package/dist/cli/commands/migrate-claude-mem.js +60 -0
- package/dist/cli/commands/migrate-claude-mem.js.map +1 -0
- package/dist/cli/commands/next.d.ts +9 -0
- package/dist/cli/commands/next.d.ts.map +1 -0
- package/dist/cli/commands/next.js +20 -0
- package/dist/cli/commands/next.js.map +1 -0
- package/dist/cli/commands/nexus.d.ts +16 -0
- package/dist/cli/commands/nexus.d.ts.map +1 -0
- package/dist/cli/commands/nexus.js +155 -0
- package/dist/cli/commands/nexus.js.map +1 -0
- package/dist/cli/commands/observe.d.ts +9 -0
- package/dist/cli/commands/observe.d.ts.map +1 -0
- package/dist/cli/commands/observe.js +39 -0
- package/dist/cli/commands/observe.js.map +1 -0
- package/dist/cli/commands/ops.d.ts +10 -0
- package/dist/cli/commands/ops.d.ts.map +1 -0
- package/dist/cli/commands/ops.js +19 -0
- package/dist/cli/commands/ops.js.map +1 -0
- package/dist/cli/commands/orchestrate.d.ts +8 -0
- package/dist/cli/commands/orchestrate.d.ts.map +1 -0
- package/dist/cli/commands/orchestrate.js +58 -0
- package/dist/cli/commands/orchestrate.js.map +1 -0
- package/dist/cli/commands/otel.d.ts +12 -0
- package/dist/cli/commands/otel.d.ts.map +1 -0
- package/dist/cli/commands/otel.js +128 -0
- package/dist/cli/commands/otel.js.map +1 -0
- package/dist/cli/commands/phase.d.ts +12 -0
- package/dist/cli/commands/phase.d.ts.map +1 -0
- package/dist/cli/commands/phase.js +88 -0
- package/dist/cli/commands/phase.js.map +1 -0
- package/dist/cli/commands/phases.d.ts +12 -0
- package/dist/cli/commands/phases.d.ts.map +1 -0
- package/dist/cli/commands/phases.js +37 -0
- package/dist/cli/commands/phases.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +8 -0
- package/dist/cli/commands/plan.d.ts.map +1 -0
- package/dist/cli/commands/plan.js +15 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/promote.d.ts +7 -0
- package/dist/cli/commands/promote.d.ts.map +1 -0
- package/dist/cli/commands/promote.js +15 -0
- package/dist/cli/commands/promote.js.map +1 -0
- package/dist/cli/commands/refresh-memory.d.ts +9 -0
- package/dist/cli/commands/refresh-memory.d.ts.map +1 -0
- package/dist/cli/commands/refresh-memory.js +24 -0
- package/dist/cli/commands/refresh-memory.js.map +1 -0
- package/dist/cli/commands/relates.d.ts +12 -0
- package/dist/cli/commands/relates.d.ts.map +1 -0
- package/dist/cli/commands/relates.js +53 -0
- package/dist/cli/commands/relates.js.map +1 -0
- package/dist/cli/commands/release.d.ts +8 -0
- package/dist/cli/commands/release.d.ts.map +1 -0
- package/dist/cli/commands/release.js +72 -0
- package/dist/cli/commands/release.js.map +1 -0
- package/dist/cli/commands/remote.d.ts +12 -0
- package/dist/cli/commands/remote.d.ts.map +1 -0
- package/dist/cli/commands/remote.js +207 -0
- package/dist/cli/commands/remote.js.map +1 -0
- package/dist/cli/commands/reorder.d.ts +7 -0
- package/dist/cli/commands/reorder.d.ts.map +1 -0
- package/dist/cli/commands/reorder.js +20 -0
- package/dist/cli/commands/reorder.js.map +1 -0
- package/dist/cli/commands/reparent.d.ts +10 -0
- package/dist/cli/commands/reparent.d.ts.map +1 -0
- package/dist/cli/commands/reparent.js +19 -0
- package/dist/cli/commands/reparent.js.map +1 -0
- package/dist/cli/commands/research.d.ts +8 -0
- package/dist/cli/commands/research.d.ts.map +1 -0
- package/dist/cli/commands/research.js +129 -0
- package/dist/cli/commands/research.js.map +1 -0
- package/dist/cli/commands/restore.d.ts +11 -0
- package/dist/cli/commands/restore.d.ts.map +1 -0
- package/dist/cli/commands/restore.js +224 -0
- package/dist/cli/commands/restore.js.map +1 -0
- package/dist/cli/commands/roadmap.d.ts +8 -0
- package/dist/cli/commands/roadmap.d.ts.map +1 -0
- package/dist/cli/commands/roadmap.js +21 -0
- package/dist/cli/commands/roadmap.js.map +1 -0
- package/dist/cli/commands/safestop.d.ts +14 -0
- package/dist/cli/commands/safestop.d.ts.map +1 -0
- package/dist/cli/commands/safestop.js +32 -0
- package/dist/cli/commands/safestop.js.map +1 -0
- package/dist/cli/commands/self-update.d.ts +15 -0
- package/dist/cli/commands/self-update.d.ts.map +1 -0
- package/dist/cli/commands/self-update.js +329 -0
- package/dist/cli/commands/self-update.js.map +1 -0
- package/dist/cli/commands/sequence.d.ts +8 -0
- package/dist/cli/commands/sequence.d.ts.map +1 -0
- package/dist/cli/commands/sequence.js +30 -0
- package/dist/cli/commands/sequence.js.map +1 -0
- package/dist/cli/commands/session.d.ts +12 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +160 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/commands/show.d.ts +13 -0
- package/dist/cli/commands/show.d.ts.map +1 -0
- package/dist/cli/commands/show.js +20 -0
- package/dist/cli/commands/show.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +13 -0
- package/dist/cli/commands/skills.d.ts.map +1 -0
- package/dist/cli/commands/skills.js +131 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/snapshot.d.ts +9 -0
- package/dist/cli/commands/snapshot.d.ts.map +1 -0
- package/dist/cli/commands/snapshot.js +50 -0
- package/dist/cli/commands/snapshot.js.map +1 -0
- package/dist/cli/commands/specification.d.ts +13 -0
- package/dist/cli/commands/specification.d.ts.map +1 -0
- package/dist/cli/commands/specification.js +45 -0
- package/dist/cli/commands/specification.js.map +1 -0
- package/dist/cli/commands/start.d.ts +13 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +20 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/stats.d.ts +12 -0
- package/dist/cli/commands/stats.d.ts.map +1 -0
- package/dist/cli/commands/stats.js +23 -0
- package/dist/cli/commands/stats.js.map +1 -0
- package/dist/cli/commands/sticky.d.ts +16 -0
- package/dist/cli/commands/sticky.d.ts.map +1 -0
- package/dist/cli/commands/sticky.js +211 -0
- package/dist/cli/commands/sticky.js.map +1 -0
- package/dist/cli/commands/stop.d.ts +13 -0
- package/dist/cli/commands/stop.d.ts.map +1 -0
- package/dist/cli/commands/stop.js +20 -0
- package/dist/cli/commands/stop.js.map +1 -0
- package/dist/cli/commands/testing.d.ts +13 -0
- package/dist/cli/commands/testing.d.ts.map +1 -0
- package/dist/cli/commands/testing.js +64 -0
- package/dist/cli/commands/testing.js.map +1 -0
- package/dist/cli/commands/token.d.ts +10 -0
- package/dist/cli/commands/token.d.ts.map +1 -0
- package/dist/cli/commands/token.js +135 -0
- package/dist/cli/commands/token.js.map +1 -0
- package/dist/cli/commands/update.d.ts +12 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +77 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/upgrade.d.ts +16 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +83 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/commands/validate.d.ts +12 -0
- package/dist/cli/commands/validate.d.ts.map +1 -0
- package/dist/cli/commands/validate.js +23 -0
- package/dist/cli/commands/validate.js.map +1 -0
- package/dist/cli/commands/verify.d.ts +8 -0
- package/dist/cli/commands/verify.d.ts.map +1 -0
- package/dist/cli/commands/verify.js +28 -0
- package/dist/cli/commands/verify.js.map +1 -0
- package/dist/cli/commands/web.d.ts +13 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +264 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/field-context.d.ts +32 -0
- package/dist/cli/field-context.d.ts.map +1 -0
- package/dist/cli/field-context.js +47 -0
- package/dist/cli/field-context.js.map +1 -0
- package/dist/cli/format-context.d.ts +32 -0
- package/dist/cli/format-context.d.ts.map +1 -0
- package/dist/cli/format-context.js +50 -0
- package/dist/cli/format-context.js.map +1 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +16876 -14937
- package/dist/cli/index.js.map +4 -4
- package/dist/cli/logger-bootstrap.d.ts +6 -0
- package/dist/cli/logger-bootstrap.d.ts.map +1 -0
- package/dist/cli/logger-bootstrap.js +10 -0
- package/dist/cli/logger-bootstrap.js.map +1 -0
- package/dist/cli/middleware/output-format.d.ts +30 -0
- package/dist/cli/middleware/output-format.d.ts.map +1 -0
- package/dist/cli/middleware/output-format.js +35 -0
- package/dist/cli/middleware/output-format.js.map +1 -0
- package/dist/cli/progress.d.ts +84 -0
- package/dist/cli/progress.d.ts.map +1 -0
- package/dist/cli/progress.js +169 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/renderers/colors.d.ts +32 -0
- package/dist/cli/renderers/colors.d.ts.map +1 -0
- package/dist/cli/renderers/colors.js +141 -0
- package/dist/cli/renderers/colors.js.map +1 -0
- package/dist/cli/renderers/error.d.ts +13 -0
- package/dist/cli/renderers/error.d.ts.map +1 -0
- package/dist/cli/renderers/error.js +42 -0
- package/dist/cli/renderers/error.js.map +1 -0
- package/dist/cli/renderers/index.d.ts +59 -0
- package/dist/cli/renderers/index.d.ts.map +1 -0
- package/dist/cli/renderers/index.js +184 -0
- package/dist/cli/renderers/index.js.map +1 -0
- package/dist/cli/renderers/normalizer.d.ts +21 -0
- package/dist/cli/renderers/normalizer.d.ts.map +1 -0
- package/dist/cli/renderers/normalizer.js +106 -0
- package/dist/cli/renderers/normalizer.js.map +1 -0
- package/dist/cli/renderers/system.d.ts +25 -0
- package/dist/cli/renderers/system.d.ts.map +1 -0
- package/dist/cli/renderers/system.js +416 -0
- package/dist/cli/renderers/system.js.map +1 -0
- package/dist/cli/renderers/tasks.d.ts +28 -0
- package/dist/cli/renderers/tasks.d.ts.map +1 -0
- package/dist/cli/renderers/tasks.js +306 -0
- package/dist/cli/renderers/tasks.js.map +1 -0
- package/dist/dispatch/adapters/cli.d.ts +67 -0
- package/dist/dispatch/adapters/cli.d.ts.map +1 -0
- package/dist/dispatch/adapters/cli.js +205 -0
- package/dist/dispatch/adapters/cli.js.map +1 -0
- package/dist/dispatch/adapters/mcp.d.ts +37 -0
- package/dist/dispatch/adapters/mcp.d.ts.map +1 -0
- package/dist/dispatch/adapters/mcp.js +122 -0
- package/dist/dispatch/adapters/mcp.js.map +1 -0
- package/dist/dispatch/context/session-context.d.ts +54 -0
- package/dist/dispatch/context/session-context.d.ts.map +1 -0
- package/dist/dispatch/context/session-context.js +61 -0
- package/dist/dispatch/context/session-context.js.map +1 -0
- package/dist/dispatch/dispatcher.d.ts +23 -0
- package/dist/dispatch/dispatcher.d.ts.map +1 -0
- package/dist/dispatch/dispatcher.js +84 -0
- package/dist/dispatch/dispatcher.js.map +1 -0
- package/dist/dispatch/domains/_base.d.ts +59 -0
- package/dist/dispatch/domains/_base.d.ts.map +1 -0
- package/dist/dispatch/domains/_base.js +77 -0
- package/dist/dispatch/domains/_base.js.map +1 -0
- package/dist/dispatch/domains/_meta.d.ts +23 -0
- package/dist/dispatch/domains/_meta.d.ts.map +1 -0
- package/dist/dispatch/domains/_meta.js +25 -0
- package/dist/dispatch/domains/_meta.js.map +1 -0
- package/dist/dispatch/domains/_routing.d.ts +8 -0
- package/dist/dispatch/domains/_routing.d.ts.map +1 -0
- package/dist/dispatch/domains/_routing.js +20 -0
- package/dist/dispatch/domains/_routing.js.map +1 -0
- package/dist/dispatch/domains/admin.d.ts +25 -0
- package/dist/dispatch/domains/admin.d.ts.map +1 -0
- package/dist/dispatch/domains/admin.js +670 -0
- package/dist/dispatch/domains/admin.js.map +1 -0
- package/dist/dispatch/domains/check.d.ts +22 -0
- package/dist/dispatch/domains/check.d.ts.map +1 -0
- package/dist/dispatch/domains/check.js +279 -0
- package/dist/dispatch/domains/check.js.map +1 -0
- package/dist/dispatch/domains/index.d.ts +26 -0
- package/dist/dispatch/domains/index.d.ts.map +1 -0
- package/dist/dispatch/domains/index.js +38 -0
- package/dist/dispatch/domains/index.js.map +1 -0
- package/dist/dispatch/domains/memory.d.ts +22 -0
- package/dist/dispatch/domains/memory.d.ts.map +1 -0
- package/dist/dispatch/domains/memory.js +303 -0
- package/dist/dispatch/domains/memory.js.map +1 -0
- package/dist/dispatch/domains/nexus.d.ts +22 -0
- package/dist/dispatch/domains/nexus.d.ts.map +1 -0
- package/dist/dispatch/domains/nexus.js +286 -0
- package/dist/dispatch/domains/nexus.js.map +1 -0
- package/dist/dispatch/domains/orchestrate.d.ts +19 -0
- package/dist/dispatch/domains/orchestrate.d.ts.map +1 -0
- package/dist/dispatch/domains/orchestrate.js +259 -0
- package/dist/dispatch/domains/orchestrate.js.map +1 -0
- package/dist/dispatch/domains/pipeline.d.ts +35 -0
- package/dist/dispatch/domains/pipeline.d.ts.map +1 -0
- package/dist/dispatch/domains/pipeline.js +553 -0
- package/dist/dispatch/domains/pipeline.js.map +1 -0
- package/dist/dispatch/domains/session.d.ts +22 -0
- package/dist/dispatch/domains/session.d.ts.map +1 -0
- package/dist/dispatch/domains/session.js +255 -0
- package/dist/dispatch/domains/session.js.map +1 -0
- package/dist/dispatch/domains/sticky.d.ts +20 -0
- package/dist/dispatch/domains/sticky.d.ts.map +1 -0
- package/dist/dispatch/domains/sticky.js +164 -0
- package/dist/dispatch/domains/sticky.js.map +1 -0
- package/dist/dispatch/domains/tasks.d.ts +25 -0
- package/dist/dispatch/domains/tasks.d.ts.map +1 -0
- package/dist/dispatch/domains/tasks.js +323 -0
- package/dist/dispatch/domains/tasks.js.map +1 -0
- package/dist/dispatch/domains/tools.d.ts +36 -0
- package/dist/dispatch/domains/tools.d.ts.map +1 -0
- package/dist/dispatch/domains/tools.js +451 -0
- package/dist/dispatch/domains/tools.js.map +1 -0
- package/dist/dispatch/engines/_error.d.ts +42 -0
- package/dist/dispatch/engines/_error.d.ts.map +1 -0
- package/dist/dispatch/engines/_error.js +201 -0
- package/dist/dispatch/engines/_error.js.map +1 -0
- package/dist/dispatch/engines/codebase-map-engine.d.ts +17 -0
- package/dist/dispatch/engines/codebase-map-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/codebase-map-engine.js +29 -0
- package/dist/dispatch/engines/codebase-map-engine.js.map +1 -0
- package/dist/dispatch/engines/config-engine.d.ts +21 -0
- package/dist/dispatch/engines/config-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/config-engine.js +45 -0
- package/dist/dispatch/engines/config-engine.js.map +1 -0
- package/dist/dispatch/engines/hooks-engine.d.ts +47 -0
- package/dist/dispatch/engines/hooks-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/hooks-engine.js +57 -0
- package/dist/dispatch/engines/hooks-engine.js.map +1 -0
- package/dist/dispatch/engines/init-engine.d.ts +43 -0
- package/dist/dispatch/engines/init-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/init-engine.js +73 -0
- package/dist/dispatch/engines/init-engine.js.map +1 -0
- package/dist/dispatch/engines/lifecycle-engine.d.ts +66 -0
- package/dist/dispatch/engines/lifecycle-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/lifecycle-engine.js +213 -0
- package/dist/dispatch/engines/lifecycle-engine.js.map +1 -0
- package/dist/dispatch/engines/memory-engine.d.ts +10 -0
- package/dist/dispatch/engines/memory-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/memory-engine.js +10 -0
- package/dist/dispatch/engines/memory-engine.js.map +1 -0
- package/dist/dispatch/engines/nexus-engine.d.ts +167 -0
- package/dist/dispatch/engines/nexus-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/nexus-engine.js +356 -0
- package/dist/dispatch/engines/nexus-engine.js.map +1 -0
- package/dist/dispatch/engines/orchestrate-engine.d.ts +133 -0
- package/dist/dispatch/engines/orchestrate-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/orchestrate-engine.js +769 -0
- package/dist/dispatch/engines/orchestrate-engine.js.map +1 -0
- package/dist/dispatch/engines/pipeline-engine.d.ts +51 -0
- package/dist/dispatch/engines/pipeline-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/pipeline-engine.js +191 -0
- package/dist/dispatch/engines/pipeline-engine.js.map +1 -0
- package/dist/dispatch/engines/release-engine.d.ts +94 -0
- package/dist/dispatch/engines/release-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/release-engine.js +669 -0
- package/dist/dispatch/engines/release-engine.js.map +1 -0
- package/dist/dispatch/engines/session-engine.d.ts +323 -0
- package/dist/dispatch/engines/session-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/session-engine.js +865 -0
- package/dist/dispatch/engines/session-engine.js.map +1 -0
- package/dist/dispatch/engines/sticky-engine.d.ts +100 -0
- package/dist/dispatch/engines/sticky-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/sticky-engine.js +181 -0
- package/dist/dispatch/engines/sticky-engine.js.map +1 -0
- package/dist/dispatch/engines/system-engine.d.ts +377 -0
- package/dist/dispatch/engines/system-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/system-engine.js +979 -0
- package/dist/dispatch/engines/system-engine.js.map +1 -0
- package/dist/dispatch/engines/task-engine.d.ts +612 -0
- package/dist/dispatch/engines/task-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/task-engine.js +950 -0
- package/dist/dispatch/engines/task-engine.js.map +1 -0
- package/dist/dispatch/engines/template-parser.d.ts +34 -0
- package/dist/dispatch/engines/template-parser.d.ts.map +1 -0
- package/dist/dispatch/engines/template-parser.js +57 -0
- package/dist/dispatch/engines/template-parser.js.map +1 -0
- package/dist/dispatch/engines/tools-engine.d.ts +270 -0
- package/dist/dispatch/engines/tools-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/tools-engine.js +636 -0
- package/dist/dispatch/engines/tools-engine.js.map +1 -0
- package/dist/dispatch/engines/validate-engine.d.ts +154 -0
- package/dist/dispatch/engines/validate-engine.d.ts.map +1 -0
- package/dist/dispatch/engines/validate-engine.js +524 -0
- package/dist/dispatch/engines/validate-engine.js.map +1 -0
- package/dist/dispatch/index.d.ts +20 -0
- package/dist/dispatch/index.d.ts.map +1 -0
- package/dist/dispatch/index.js +19 -0
- package/dist/dispatch/index.js.map +1 -0
- package/dist/dispatch/lib/capability-matrix.d.ts +11 -0
- package/dist/dispatch/lib/capability-matrix.d.ts.map +1 -0
- package/dist/dispatch/lib/capability-matrix.js +10 -0
- package/dist/dispatch/lib/capability-matrix.js.map +1 -0
- package/dist/dispatch/lib/config.d.ts +16 -0
- package/dist/dispatch/lib/config.d.ts.map +1 -0
- package/dist/dispatch/lib/config.js +15 -0
- package/dist/dispatch/lib/config.js.map +1 -0
- package/dist/dispatch/lib/engine.d.ts +25 -0
- package/dist/dispatch/lib/engine.d.ts.map +1 -0
- package/dist/dispatch/lib/engine.js +44 -0
- package/dist/dispatch/lib/engine.js.map +1 -0
- package/dist/dispatch/lib/meta.d.ts +26 -0
- package/dist/dispatch/lib/meta.d.ts.map +1 -0
- package/dist/dispatch/lib/meta.js +37 -0
- package/dist/dispatch/lib/meta.js.map +1 -0
- package/dist/dispatch/lib/param-utils.d.ts +11 -0
- package/dist/dispatch/lib/param-utils.d.ts.map +1 -0
- package/dist/dispatch/lib/param-utils.js +10 -0
- package/dist/dispatch/lib/param-utils.js.map +1 -0
- package/dist/dispatch/lib/projections.d.ts +23 -0
- package/dist/dispatch/lib/projections.d.ts.map +1 -0
- package/dist/dispatch/lib/projections.js +48 -0
- package/dist/dispatch/lib/projections.js.map +1 -0
- package/dist/dispatch/lib/schema-utils.d.ts +42 -0
- package/dist/dispatch/lib/schema-utils.d.ts.map +1 -0
- package/dist/dispatch/lib/schema-utils.js +93 -0
- package/dist/dispatch/lib/schema-utils.js.map +1 -0
- package/dist/dispatch/lib/security.d.ts +11 -0
- package/dist/dispatch/lib/security.d.ts.map +1 -0
- package/dist/dispatch/lib/security.js +10 -0
- package/dist/dispatch/lib/security.js.map +1 -0
- package/dist/dispatch/middleware/audit.d.ts +23 -0
- package/dist/dispatch/middleware/audit.d.ts.map +1 -0
- package/dist/dispatch/middleware/audit.js +169 -0
- package/dist/dispatch/middleware/audit.js.map +1 -0
- package/dist/dispatch/middleware/field-filter.d.ts +24 -0
- package/dist/dispatch/middleware/field-filter.d.ts.map +1 -0
- package/dist/dispatch/middleware/field-filter.js +65 -0
- package/dist/dispatch/middleware/field-filter.js.map +1 -0
- package/dist/dispatch/middleware/pipeline.d.ts +20 -0
- package/dist/dispatch/middleware/pipeline.d.ts.map +1 -0
- package/dist/dispatch/middleware/pipeline.js +47 -0
- package/dist/dispatch/middleware/pipeline.js.map +1 -0
- package/dist/dispatch/middleware/projection.d.ts +35 -0
- package/dist/dispatch/middleware/projection.d.ts.map +1 -0
- package/dist/dispatch/middleware/projection.js +145 -0
- package/dist/dispatch/middleware/projection.js.map +1 -0
- package/dist/dispatch/middleware/protocol-enforcement.d.ts +12 -0
- package/dist/dispatch/middleware/protocol-enforcement.d.ts.map +1 -0
- package/dist/dispatch/middleware/protocol-enforcement.js +30 -0
- package/dist/dispatch/middleware/protocol-enforcement.js.map +1 -0
- package/dist/dispatch/middleware/rate-limiter.d.ts +30 -0
- package/dist/dispatch/middleware/rate-limiter.d.ts.map +1 -0
- package/dist/dispatch/middleware/rate-limiter.js +101 -0
- package/dist/dispatch/middleware/rate-limiter.js.map +1 -0
- package/dist/dispatch/middleware/sanitizer.d.ts +10 -0
- package/dist/dispatch/middleware/sanitizer.d.ts.map +1 -0
- package/dist/dispatch/middleware/sanitizer.js +42 -0
- package/dist/dispatch/middleware/sanitizer.js.map +1 -0
- package/dist/dispatch/middleware/session-resolver.d.ts +26 -0
- package/dist/dispatch/middleware/session-resolver.d.ts.map +1 -0
- package/dist/dispatch/middleware/session-resolver.js +65 -0
- package/dist/dispatch/middleware/session-resolver.js.map +1 -0
- package/dist/dispatch/middleware/verification-gates.d.ts +3 -0
- package/dist/dispatch/middleware/verification-gates.d.ts.map +1 -0
- package/dist/dispatch/middleware/verification-gates.js +40 -0
- package/dist/dispatch/middleware/verification-gates.js.map +1 -0
- package/dist/dispatch/registry.d.ts +91 -0
- package/dist/dispatch/registry.d.ts.map +1 -0
- package/dist/dispatch/registry.js +2833 -0
- package/dist/dispatch/registry.js.map +1 -0
- package/dist/dispatch/types.d.ts +218 -0
- package/dist/dispatch/types.d.ts.map +1 -0
- package/dist/dispatch/types.js +25 -0
- package/dist/dispatch/types.js.map +1 -0
- package/dist/mcp/gateways/mutate.d.ts +146 -0
- package/dist/mcp/gateways/mutate.d.ts.map +1 -0
- package/dist/mcp/gateways/mutate.js +1016 -0
- package/dist/mcp/gateways/mutate.js.map +1 -0
- package/dist/mcp/gateways/query.d.ts +138 -0
- package/dist/mcp/gateways/query.d.ts.map +1 -0
- package/dist/mcp/gateways/query.js +186 -0
- package/dist/mcp/gateways/query.js.map +1 -0
- package/dist/mcp/index.d.ts +16 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +16735 -14861
- package/dist/mcp/index.js.map +4 -4
- package/dist/mcp/lib/background-jobs.d.ts +86 -0
- package/dist/mcp/lib/background-jobs.d.ts.map +1 -0
- package/dist/mcp/lib/background-jobs.js +183 -0
- package/dist/mcp/lib/background-jobs.js.map +1 -0
- package/dist/mcp/lib/budget.d.ts +35 -0
- package/dist/mcp/lib/budget.d.ts.map +1 -0
- package/dist/mcp/lib/budget.js +102 -0
- package/dist/mcp/lib/budget.js.map +1 -0
- package/dist/mcp/lib/cache.d.ts +78 -0
- package/dist/mcp/lib/cache.d.ts.map +1 -0
- package/dist/mcp/lib/cache.js +207 -0
- package/dist/mcp/lib/cache.js.map +1 -0
- package/dist/mcp/lib/config.d.ts +42 -0
- package/dist/mcp/lib/config.d.ts.map +1 -0
- package/dist/mcp/lib/config.js +241 -0
- package/dist/mcp/lib/config.js.map +1 -0
- package/dist/mcp/lib/defaults.d.ts +115 -0
- package/dist/mcp/lib/defaults.d.ts.map +1 -0
- package/dist/mcp/lib/defaults.js +61 -0
- package/dist/mcp/lib/defaults.js.map +1 -0
- package/dist/mcp/lib/gate-validators.d.ts +13 -0
- package/dist/mcp/lib/gate-validators.d.ts.map +1 -0
- package/dist/mcp/lib/gate-validators.js +13 -0
- package/dist/mcp/lib/gate-validators.js.map +1 -0
- package/dist/mcp/lib/gateway-meta.d.ts +37 -0
- package/dist/mcp/lib/gateway-meta.d.ts.map +1 -0
- package/dist/mcp/lib/gateway-meta.js +50 -0
- package/dist/mcp/lib/gateway-meta.js.map +1 -0
- package/dist/mcp/lib/job-manager-accessor.d.ts +10 -0
- package/dist/mcp/lib/job-manager-accessor.d.ts.map +1 -0
- package/dist/mcp/lib/job-manager-accessor.js +14 -0
- package/dist/mcp/lib/job-manager-accessor.js.map +1 -0
- package/dist/mcp/lib/protocol-enforcement.d.ts +12 -0
- package/dist/mcp/lib/protocol-enforcement.d.ts.map +1 -0
- package/dist/mcp/lib/protocol-enforcement.js +12 -0
- package/dist/mcp/lib/protocol-enforcement.js.map +1 -0
- package/dist/mcp/lib/protocol-rules.d.ts +12 -0
- package/dist/mcp/lib/protocol-rules.d.ts.map +1 -0
- package/dist/mcp/lib/protocol-rules.js +12 -0
- package/dist/mcp/lib/protocol-rules.js.map +1 -0
- package/dist/mcp/lib/rate-limiter.d.ts +110 -0
- package/dist/mcp/lib/rate-limiter.d.ts.map +1 -0
- package/dist/mcp/lib/rate-limiter.js +208 -0
- package/dist/mcp/lib/rate-limiter.js.map +1 -0
- package/dist/mcp/lib/router.d.ts +58 -0
- package/dist/mcp/lib/router.d.ts.map +1 -0
- package/dist/mcp/lib/router.js +12 -0
- package/dist/mcp/lib/router.js.map +1 -0
- package/dist/mcp/lib/security.d.ts +161 -0
- package/dist/mcp/lib/security.d.ts.map +1 -0
- package/dist/mcp/lib/security.js +360 -0
- package/dist/mcp/lib/security.js.map +1 -0
- package/dist/mcp/lib/verification-gates.d.ts +13 -0
- package/dist/mcp/lib/verification-gates.d.ts.map +1 -0
- package/dist/mcp/lib/verification-gates.js +12 -0
- package/dist/mcp/lib/verification-gates.js.map +1 -0
- package/dist/mcp/resources/budget.d.ts +22 -0
- package/dist/mcp/resources/budget.d.ts.map +1 -0
- package/dist/mcp/resources/budget.js +46 -0
- package/dist/mcp/resources/budget.js.map +1 -0
- package/dist/mcp/resources/index.d.ts +53 -0
- package/dist/mcp/resources/index.d.ts.map +1 -0
- package/dist/mcp/resources/index.js +278 -0
- package/dist/mcp/resources/index.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Adapter for the CQRS Dispatch Layer.
|
|
3
|
+
*
|
|
4
|
+
* Provides handleMcpToolCall() — the single entry point for MCP requests
|
|
5
|
+
* that route through the dispatch pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @epic T4820
|
|
8
|
+
* @task T4819
|
|
9
|
+
*/
|
|
10
|
+
import { randomUUID } from 'node:crypto';
|
|
11
|
+
import { getProjectRoot } from '@cleocode/core';
|
|
12
|
+
import { Dispatcher } from '../dispatcher.js';
|
|
13
|
+
import { createDomainHandlers } from '../domains/index.js';
|
|
14
|
+
import { createAudit } from '../middleware/audit.js';
|
|
15
|
+
import { createFieldFilter } from '../middleware/field-filter.js';
|
|
16
|
+
import { createProjectionMiddleware } from '../middleware/projection.js';
|
|
17
|
+
import { createProtocolEnforcement } from '../middleware/protocol-enforcement.js';
|
|
18
|
+
import { createRateLimiter } from '../middleware/rate-limiter.js';
|
|
19
|
+
import { createSanitizer } from '../middleware/sanitizer.js';
|
|
20
|
+
import { createSessionResolver } from '../middleware/session-resolver.js';
|
|
21
|
+
import { createVerificationGates } from '../middleware/verification-gates.js';
|
|
22
|
+
let _dispatcher = null;
|
|
23
|
+
/**
|
|
24
|
+
* Initialize and get the singleton MCP dispatcher.
|
|
25
|
+
*/
|
|
26
|
+
export function initMcpDispatcher(config = {}) {
|
|
27
|
+
if (_dispatcher)
|
|
28
|
+
return _dispatcher;
|
|
29
|
+
const handlers = createDomainHandlers();
|
|
30
|
+
const strictMode = config.strictMode ?? true;
|
|
31
|
+
_dispatcher = new Dispatcher({
|
|
32
|
+
handlers,
|
|
33
|
+
middlewares: [
|
|
34
|
+
createSessionResolver(), // T4959: session identity first
|
|
35
|
+
createSanitizer(() => getProjectRoot()),
|
|
36
|
+
createProjectionMiddleware(), // T5096: MVI tier-based domain/field projection
|
|
37
|
+
createFieldFilter(),
|
|
38
|
+
createRateLimiter(config.rateLimiting),
|
|
39
|
+
createVerificationGates(strictMode),
|
|
40
|
+
createProtocolEnforcement(strictMode),
|
|
41
|
+
createAudit(),
|
|
42
|
+
],
|
|
43
|
+
});
|
|
44
|
+
return _dispatcher;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the initialized singleton MCP dispatcher.
|
|
48
|
+
*/
|
|
49
|
+
export function getMcpDispatcher() {
|
|
50
|
+
if (!_dispatcher) {
|
|
51
|
+
return initMcpDispatcher();
|
|
52
|
+
}
|
|
53
|
+
return _dispatcher;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Reset the singleton dispatcher (for testing).
|
|
57
|
+
*/
|
|
58
|
+
export function resetMcpDispatcher() {
|
|
59
|
+
_dispatcher = null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Handle an MCP tool call (query or mutate).
|
|
63
|
+
*
|
|
64
|
+
* Translates the MCP parameters into a DispatchRequest, executes it
|
|
65
|
+
* through the dispatcher, and formats the response back to the standard
|
|
66
|
+
* MCP SDK format.
|
|
67
|
+
*/
|
|
68
|
+
export async function handleMcpToolCall(gateway, domain, operation, params, requestId) {
|
|
69
|
+
const dispatcher = getMcpDispatcher();
|
|
70
|
+
// Validate gateway
|
|
71
|
+
if (gateway !== 'query' &&
|
|
72
|
+
gateway !== 'mutate' &&
|
|
73
|
+
gateway !== 'cleo_query' &&
|
|
74
|
+
gateway !== 'cleo_mutate') {
|
|
75
|
+
return {
|
|
76
|
+
_meta: {
|
|
77
|
+
gateway: gateway,
|
|
78
|
+
domain: domain || 'system',
|
|
79
|
+
operation: operation || 'unknown',
|
|
80
|
+
version: '1.0.0',
|
|
81
|
+
timestamp: new Date().toISOString(),
|
|
82
|
+
},
|
|
83
|
+
success: false,
|
|
84
|
+
error: {
|
|
85
|
+
code: 'E_INVALID_GATEWAY',
|
|
86
|
+
exitCode: 2,
|
|
87
|
+
message: `Unknown gateway: ${gateway}. Use 'query' or 'mutate'.`,
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// Validate required parameters
|
|
92
|
+
if (!domain || !operation) {
|
|
93
|
+
return {
|
|
94
|
+
_meta: {
|
|
95
|
+
gateway: gateway,
|
|
96
|
+
domain: domain || 'system',
|
|
97
|
+
operation: operation || 'unknown',
|
|
98
|
+
version: '1.0.0',
|
|
99
|
+
timestamp: new Date().toISOString(),
|
|
100
|
+
},
|
|
101
|
+
success: false,
|
|
102
|
+
error: {
|
|
103
|
+
code: 'E_INVALID_INPUT',
|
|
104
|
+
exitCode: 2,
|
|
105
|
+
message: 'Missing required parameters: domain and operation',
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
// Normalize gateway: 'cleo_query' → 'query', 'cleo_mutate' → 'mutate'
|
|
110
|
+
// The dispatch registry and router use canonical 'query'/'mutate' values.
|
|
111
|
+
const normalizedGateway = gateway === 'cleo_query' || gateway === 'query' ? 'query' : 'mutate';
|
|
112
|
+
const req = {
|
|
113
|
+
gateway: normalizedGateway,
|
|
114
|
+
domain: domain,
|
|
115
|
+
operation: operation,
|
|
116
|
+
params,
|
|
117
|
+
source: 'mcp',
|
|
118
|
+
requestId: requestId || randomUUID(),
|
|
119
|
+
};
|
|
120
|
+
return dispatcher.dispatch(req);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/dispatch/adapters/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-scoped session context for the MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Each Claude Code conversation spawns its own MCP process, so 5 concurrent
|
|
5
|
+
* agents = 5 isolated SessionContext instances with zero shared state.
|
|
6
|
+
* This replaces the fragile process.env.CLEO_SESSION_ID mechanism.
|
|
7
|
+
*
|
|
8
|
+
* @epic T4959
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Immutable snapshot of the bound session context.
|
|
12
|
+
*/
|
|
13
|
+
export interface SessionContext {
|
|
14
|
+
/** Active session ID. */
|
|
15
|
+
sessionId: string;
|
|
16
|
+
/** Session scope. */
|
|
17
|
+
scope: {
|
|
18
|
+
type: string;
|
|
19
|
+
epicId?: string;
|
|
20
|
+
};
|
|
21
|
+
/** Whether full audit logging is enabled for behavioral grading. */
|
|
22
|
+
gradeMode: boolean;
|
|
23
|
+
/** PID of the process that bound this context. */
|
|
24
|
+
agentPid: number;
|
|
25
|
+
/** ISO timestamp when this context was bound. */
|
|
26
|
+
boundAt: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Bind a session to the current process.
|
|
30
|
+
* Called by session.start mutation handler after successful session creation.
|
|
31
|
+
*
|
|
32
|
+
* @throws if a session is already bound (call unbindSession first).
|
|
33
|
+
*/
|
|
34
|
+
export declare function bindSession(ctx: Omit<SessionContext, 'agentPid' | 'boundAt'>): SessionContext;
|
|
35
|
+
/**
|
|
36
|
+
* Get the currently bound session context, or null if none is bound.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getBoundSession(): SessionContext | null;
|
|
39
|
+
/**
|
|
40
|
+
* Check whether a session is currently bound.
|
|
41
|
+
*/
|
|
42
|
+
export declare function hasSession(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Unbind the current session context.
|
|
45
|
+
* Called by session.end mutation handler.
|
|
46
|
+
*
|
|
47
|
+
* @returns The unbound context, or null if nothing was bound.
|
|
48
|
+
*/
|
|
49
|
+
export declare function unbindSession(): SessionContext | null;
|
|
50
|
+
/**
|
|
51
|
+
* Reset the session context (for testing only).
|
|
52
|
+
*/
|
|
53
|
+
export declare function resetSessionContext(): void;
|
|
54
|
+
//# sourceMappingURL=session-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context.d.ts","sourceRoot":"","sources":["../../../src/dispatch/context/session-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,oEAAoE;IACpE,SAAS,EAAE,OAAO,CAAC;IACnB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG,cAAc,CAa7F;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,cAAc,GAAG,IAAI,CAIrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Process-scoped session context for the MCP server.
|
|
3
|
+
*
|
|
4
|
+
* Each Claude Code conversation spawns its own MCP process, so 5 concurrent
|
|
5
|
+
* agents = 5 isolated SessionContext instances with zero shared state.
|
|
6
|
+
* This replaces the fragile process.env.CLEO_SESSION_ID mechanism.
|
|
7
|
+
*
|
|
8
|
+
* @epic T4959
|
|
9
|
+
*/
|
|
10
|
+
// ---------------------------------------------------------------------------
|
|
11
|
+
// Module-level singleton
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
let _context = null;
|
|
14
|
+
/**
|
|
15
|
+
* Bind a session to the current process.
|
|
16
|
+
* Called by session.start mutation handler after successful session creation.
|
|
17
|
+
*
|
|
18
|
+
* @throws if a session is already bound (call unbindSession first).
|
|
19
|
+
*/
|
|
20
|
+
export function bindSession(ctx) {
|
|
21
|
+
if (_context) {
|
|
22
|
+
throw new Error(`Session already bound: ${_context.sessionId}. ` +
|
|
23
|
+
`Call unbindSession() before binding a new session.`);
|
|
24
|
+
}
|
|
25
|
+
_context = {
|
|
26
|
+
...ctx,
|
|
27
|
+
agentPid: process.pid,
|
|
28
|
+
boundAt: new Date().toISOString(),
|
|
29
|
+
};
|
|
30
|
+
return _context;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Get the currently bound session context, or null if none is bound.
|
|
34
|
+
*/
|
|
35
|
+
export function getBoundSession() {
|
|
36
|
+
return _context;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check whether a session is currently bound.
|
|
40
|
+
*/
|
|
41
|
+
export function hasSession() {
|
|
42
|
+
return _context !== null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Unbind the current session context.
|
|
46
|
+
* Called by session.end mutation handler.
|
|
47
|
+
*
|
|
48
|
+
* @returns The unbound context, or null if nothing was bound.
|
|
49
|
+
*/
|
|
50
|
+
export function unbindSession() {
|
|
51
|
+
const prev = _context;
|
|
52
|
+
_context = null;
|
|
53
|
+
return prev;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Reset the session context (for testing only).
|
|
57
|
+
*/
|
|
58
|
+
export function resetSessionContext() {
|
|
59
|
+
_context = null;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=session-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-context.js","sourceRoot":"","sources":["../../../src/dispatch/context/session-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,IAAI,QAAQ,GAA0B,IAAI,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,GAAiD;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,SAAS,IAAI;YAC9C,oDAAoD,CACvD,CAAC;IACJ,CAAC;IACD,QAAQ,GAAG;QACT,GAAG,GAAG;QACN,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,KAAK,IAAI,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,QAAQ,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central Dispatcher -- Routes requests through middleware to domain handlers.
|
|
3
|
+
*
|
|
4
|
+
* The dispatcher is the single entry point for both CLI and MCP adapters.
|
|
5
|
+
* It resolves operations, validates parameters, runs the middleware pipeline,
|
|
6
|
+
* and delegates to the appropriate domain handler.
|
|
7
|
+
*
|
|
8
|
+
* Flow: DispatchRequest → resolve → param validation → middleware → handler
|
|
9
|
+
*
|
|
10
|
+
* @epic T4820
|
|
11
|
+
*/
|
|
12
|
+
import type { DispatchRequest, DispatchResponse, DomainHandler, Middleware } from './types.js';
|
|
13
|
+
export interface DispatcherConfig {
|
|
14
|
+
handlers: Map<string, DomainHandler>;
|
|
15
|
+
middlewares?: Middleware[];
|
|
16
|
+
}
|
|
17
|
+
export declare class Dispatcher {
|
|
18
|
+
private handlers;
|
|
19
|
+
private pipeline;
|
|
20
|
+
constructor(config: DispatcherConfig);
|
|
21
|
+
dispatch(request: DispatchRequest): Promise<DispatchResponse>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAAa;gBAEjB,MAAM,EAAE,gBAAgB;IAO9B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAuFpE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central Dispatcher -- Routes requests through middleware to domain handlers.
|
|
3
|
+
*
|
|
4
|
+
* The dispatcher is the single entry point for both CLI and MCP adapters.
|
|
5
|
+
* It resolves operations, validates parameters, runs the middleware pipeline,
|
|
6
|
+
* and delegates to the appropriate domain handler.
|
|
7
|
+
*
|
|
8
|
+
* Flow: DispatchRequest → resolve → param validation → middleware → handler
|
|
9
|
+
*
|
|
10
|
+
* @epic T4820
|
|
11
|
+
*/
|
|
12
|
+
import { createDispatchMeta } from './lib/meta.js';
|
|
13
|
+
import { compose } from './middleware/pipeline.js';
|
|
14
|
+
import { resolve, validateRequiredParams } from './registry.js';
|
|
15
|
+
export class Dispatcher {
|
|
16
|
+
handlers;
|
|
17
|
+
pipeline;
|
|
18
|
+
constructor(config) {
|
|
19
|
+
this.handlers = config.handlers;
|
|
20
|
+
this.pipeline = config.middlewares?.length
|
|
21
|
+
? compose(config.middlewares)
|
|
22
|
+
: (_req, next) => next();
|
|
23
|
+
}
|
|
24
|
+
async dispatch(request) {
|
|
25
|
+
const startTime = Date.now();
|
|
26
|
+
// 1. Resolve operation from registry
|
|
27
|
+
const resolved = resolve(request.gateway, request.domain, request.operation);
|
|
28
|
+
if (!resolved) {
|
|
29
|
+
return {
|
|
30
|
+
_meta: createDispatchMeta(request.gateway, request.domain, request.operation, startTime, request.source, request.requestId),
|
|
31
|
+
success: false,
|
|
32
|
+
error: {
|
|
33
|
+
code: 'E_INVALID_OPERATION',
|
|
34
|
+
message: `Unknown operation: ${request.gateway}:${request.domain}.${request.operation}`,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
// 2. Validate required params
|
|
39
|
+
const missing = validateRequiredParams(resolved.def, request.params);
|
|
40
|
+
if (missing.length > 0) {
|
|
41
|
+
return {
|
|
42
|
+
_meta: createDispatchMeta(request.gateway, resolved.domain, resolved.operation, startTime, request.source, request.requestId),
|
|
43
|
+
success: false,
|
|
44
|
+
error: {
|
|
45
|
+
code: 'E_MISSING_PARAMS',
|
|
46
|
+
message: `Missing required parameters: ${missing.join(', ')}`,
|
|
47
|
+
details: { missing },
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// 3. Look up domain handler
|
|
52
|
+
const handler = this.handlers.get(resolved.domain);
|
|
53
|
+
if (!handler) {
|
|
54
|
+
return {
|
|
55
|
+
_meta: createDispatchMeta(request.gateway, resolved.domain, resolved.operation, startTime, request.source, request.requestId),
|
|
56
|
+
success: false,
|
|
57
|
+
error: {
|
|
58
|
+
code: 'E_NO_HANDLER',
|
|
59
|
+
message: `No handler for domain: ${resolved.domain}`,
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// 4. Run middleware pipeline with terminal handler
|
|
64
|
+
const terminal = async () => {
|
|
65
|
+
if (request.gateway === 'query') {
|
|
66
|
+
return handler.query(resolved.operation, request.params);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return handler.mutate(resolved.operation, request.params);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const response = await this.pipeline(request, terminal);
|
|
73
|
+
// 5. Stamp timing and tracing metadata
|
|
74
|
+
response._meta.duration_ms = Date.now() - startTime;
|
|
75
|
+
response._meta.requestId = request.requestId;
|
|
76
|
+
response._meta.source = request.source;
|
|
77
|
+
// 6. Stamp session identity (T4959)
|
|
78
|
+
if (request.sessionId) {
|
|
79
|
+
response._meta.sessionId = request.sessionId;
|
|
80
|
+
}
|
|
81
|
+
return response;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAQhE,MAAM,OAAO,UAAU;IACb,QAAQ,CAA6B;IACrC,QAAQ,CAAa;IAE7B,YAAY,MAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM;YACxC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YAC7B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,qCAAqC;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,kBAAkB,CACvB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,CAClB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,sBAAsB,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE;iBACxF;aACF,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,KAAK,EAAE,kBAAkB,CACvB,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,SAAS,EAClB,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,CAClB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7D,OAAO,EAAE,EAAE,OAAO,EAAE;iBACrB;aACF,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,kBAAkB,CACvB,OAAO,CAAC,OAAO,EACf,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,SAAS,EAClB,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,SAAS,CAClB;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,0BAA0B,QAAQ,CAAC,MAAM,EAAE;iBACrD;aACF,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,MAAM,QAAQ,GAAG,KAAK,IAA+B,EAAE;YACrD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAChC,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAExD,uCAAuC;QACvC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7C,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAEvC,oCAAoC;QACpC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,QAAQ,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/C,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared base helpers for domain handlers.
|
|
3
|
+
* DRY utility -- extracts the 4 common patterns found in all 10 domain handlers.
|
|
4
|
+
*
|
|
5
|
+
* All functions are standalone (not a class) to match the function-based helper style.
|
|
6
|
+
* Handlers call these instead of re-implementing wrapEngineResult, errorResponse, etc.
|
|
7
|
+
*
|
|
8
|
+
* @epic T5671
|
|
9
|
+
*/
|
|
10
|
+
import type { ProblemDetails } from '@cleocode/core';
|
|
11
|
+
import type { DispatchResponse } from '../types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Engine result shape accepted by wrapResult.
|
|
14
|
+
* Matches the union of what all engine functions return.
|
|
15
|
+
*/
|
|
16
|
+
export interface EngineResult {
|
|
17
|
+
success: boolean;
|
|
18
|
+
data?: unknown;
|
|
19
|
+
page?: import('@cleocode/lafs-protocol').LAFSPage;
|
|
20
|
+
error?: {
|
|
21
|
+
code: string;
|
|
22
|
+
message: string;
|
|
23
|
+
details?: unknown;
|
|
24
|
+
exitCode?: number;
|
|
25
|
+
fix?: string;
|
|
26
|
+
alternatives?: Array<{
|
|
27
|
+
action: string;
|
|
28
|
+
command: string;
|
|
29
|
+
}>;
|
|
30
|
+
problemDetails?: ProblemDetails;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Wrap a native engine result into a DispatchResponse.
|
|
35
|
+
* Handles success data, page metadata, and structured errors.
|
|
36
|
+
*/
|
|
37
|
+
export declare function wrapResult(result: EngineResult, gateway: string, domain: string, operation: string, startTime: number): DispatchResponse;
|
|
38
|
+
/**
|
|
39
|
+
* Return a standard error response.
|
|
40
|
+
*/
|
|
41
|
+
export declare function errorResult(gateway: string, domain: string, operation: string, code: string, message: string, startTime: number): DispatchResponse;
|
|
42
|
+
/**
|
|
43
|
+
* Return a standard "unsupported operation" error response.
|
|
44
|
+
*/
|
|
45
|
+
export declare function unsupportedOp(gateway: string, domain: string, operation: string, startTime: number): DispatchResponse;
|
|
46
|
+
/**
|
|
47
|
+
* Extract limit and offset pagination params from a params dict.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getListParams(params?: Record<string, unknown>): {
|
|
50
|
+
limit?: number;
|
|
51
|
+
offset?: number;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Handle a caught error: extract message and return an internal error response.
|
|
55
|
+
* Callers should log the error themselves (with their domain-specific logger)
|
|
56
|
+
* before or after calling this.
|
|
57
|
+
*/
|
|
58
|
+
export declare function handleErrorResult(gateway: string, domain: string, operation: string, error: unknown, startTime: number): DispatchResponse;
|
|
59
|
+
//# sourceMappingURL=_base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_base.d.ts","sourceRoot":"","sources":["../../../src/dispatch/domains/_base.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,yBAAyB,EAAE,QAAQ,CAAC;IAClD,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1D,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAoBlB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAMlB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAMlB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAKA;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAOlB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared base helpers for domain handlers.
|
|
3
|
+
* DRY utility -- extracts the 4 common patterns found in all 10 domain handlers.
|
|
4
|
+
*
|
|
5
|
+
* All functions are standalone (not a class) to match the function-based helper style.
|
|
6
|
+
* Handlers call these instead of re-implementing wrapEngineResult, errorResponse, etc.
|
|
7
|
+
*
|
|
8
|
+
* @epic T5671
|
|
9
|
+
*/
|
|
10
|
+
import { dispatchMeta } from './_meta.js';
|
|
11
|
+
/**
|
|
12
|
+
* Wrap a native engine result into a DispatchResponse.
|
|
13
|
+
* Handles success data, page metadata, and structured errors.
|
|
14
|
+
*/
|
|
15
|
+
export function wrapResult(result, gateway, domain, operation, startTime) {
|
|
16
|
+
return {
|
|
17
|
+
_meta: dispatchMeta(gateway, domain, operation, startTime),
|
|
18
|
+
success: result.success,
|
|
19
|
+
...(result.success ? { data: result.data } : {}),
|
|
20
|
+
...(result.page ? { page: result.page } : {}),
|
|
21
|
+
...(result.error
|
|
22
|
+
? {
|
|
23
|
+
error: {
|
|
24
|
+
code: result.error.code,
|
|
25
|
+
message: result.error.message,
|
|
26
|
+
details: result.error.details,
|
|
27
|
+
exitCode: result.error.exitCode,
|
|
28
|
+
fix: result.error.fix,
|
|
29
|
+
alternatives: result.error.alternatives,
|
|
30
|
+
...(result.error.problemDetails ? { problemDetails: result.error.problemDetails } : {}),
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
: {}),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Return a standard error response.
|
|
38
|
+
*/
|
|
39
|
+
export function errorResult(gateway, domain, operation, code, message, startTime) {
|
|
40
|
+
return {
|
|
41
|
+
_meta: dispatchMeta(gateway, domain, operation, startTime),
|
|
42
|
+
success: false,
|
|
43
|
+
error: { code, message },
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Return a standard "unsupported operation" error response.
|
|
48
|
+
*/
|
|
49
|
+
export function unsupportedOp(gateway, domain, operation, startTime) {
|
|
50
|
+
return {
|
|
51
|
+
_meta: dispatchMeta(gateway, domain, operation, startTime),
|
|
52
|
+
success: false,
|
|
53
|
+
error: { code: 'E_INVALID_OPERATION', message: `Unknown ${domain} ${gateway}: ${operation}` },
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Extract limit and offset pagination params from a params dict.
|
|
58
|
+
*/
|
|
59
|
+
export function getListParams(params) {
|
|
60
|
+
const limit = typeof params?.limit === 'number' && params.limit > 0 ? params.limit : undefined;
|
|
61
|
+
const offset = typeof params?.offset === 'number' && params.offset > 0 ? params.offset : undefined;
|
|
62
|
+
return { limit, offset };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Handle a caught error: extract message and return an internal error response.
|
|
66
|
+
* Callers should log the error themselves (with their domain-specific logger)
|
|
67
|
+
* before or after calling this.
|
|
68
|
+
*/
|
|
69
|
+
export function handleErrorResult(gateway, domain, operation, error, startTime) {
|
|
70
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
71
|
+
return {
|
|
72
|
+
_meta: dispatchMeta(gateway, domain, operation, startTime),
|
|
73
|
+
success: false,
|
|
74
|
+
error: { code: 'E_INTERNAL', message },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=_base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"","sources":["../../../src/dispatch/domains/_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convenience wrapper for dispatch metadata creation.
|
|
3
|
+
*
|
|
4
|
+
* Domain handlers call dispatchMeta() to build DispatchResponse['_meta']
|
|
5
|
+
* without importing the factory directly.
|
|
6
|
+
*
|
|
7
|
+
* @task T4772
|
|
8
|
+
*/
|
|
9
|
+
import type { DispatchResponse, Source } from '../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Build metadata for a dispatch domain response.
|
|
12
|
+
*
|
|
13
|
+
* @param gateway - Gateway name (e.g., 'query', 'mutate')
|
|
14
|
+
* @param domain - Domain name (e.g., 'tasks', 'session')
|
|
15
|
+
* @param operation - Operation name (e.g., 'show', 'list')
|
|
16
|
+
* @param startTime - Timestamp from Date.now() at start of request
|
|
17
|
+
* @param source - Where the request originated ('cli' or 'mcp')
|
|
18
|
+
* @returns Metadata conforming to DispatchResponse['_meta']
|
|
19
|
+
*
|
|
20
|
+
* @task T4772
|
|
21
|
+
*/
|
|
22
|
+
export declare function dispatchMeta(gateway: string, domain: string, operation: string, startTime: number, source?: Source): DispatchResponse['_meta'];
|
|
23
|
+
//# sourceMappingURL=_meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_meta.d.ts","sourceRoot":"","sources":["../../../src/dispatch/domains/_meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAc,GACrB,gBAAgB,CAAC,OAAO,CAAC,CAE3B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convenience wrapper for dispatch metadata creation.
|
|
3
|
+
*
|
|
4
|
+
* Domain handlers call dispatchMeta() to build DispatchResponse['_meta']
|
|
5
|
+
* without importing the factory directly.
|
|
6
|
+
*
|
|
7
|
+
* @task T4772
|
|
8
|
+
*/
|
|
9
|
+
import { createDispatchMeta } from '../lib/meta.js';
|
|
10
|
+
/**
|
|
11
|
+
* Build metadata for a dispatch domain response.
|
|
12
|
+
*
|
|
13
|
+
* @param gateway - Gateway name (e.g., 'query', 'mutate')
|
|
14
|
+
* @param domain - Domain name (e.g., 'tasks', 'session')
|
|
15
|
+
* @param operation - Operation name (e.g., 'show', 'list')
|
|
16
|
+
* @param startTime - Timestamp from Date.now() at start of request
|
|
17
|
+
* @param source - Where the request originated ('cli' or 'mcp')
|
|
18
|
+
* @returns Metadata conforming to DispatchResponse['_meta']
|
|
19
|
+
*
|
|
20
|
+
* @task T4772
|
|
21
|
+
*/
|
|
22
|
+
export function dispatchMeta(gateway, domain, operation, startTime, source = 'mcp') {
|
|
23
|
+
return createDispatchMeta(gateway, domain, operation, startTime, source);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=_meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_meta.js","sourceRoot":"","sources":["../../../src/dispatch/domains/_meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,SAAiB,EACjB,SAAiB,KAAK;IAEtB,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parameter-based routing for merged operations.
|
|
3
|
+
* DRY utility -- all 10 domain handlers use this instead of re-implementing action dispatch.
|
|
4
|
+
*
|
|
5
|
+
* @epic T5671
|
|
6
|
+
*/
|
|
7
|
+
export declare function routeByParam<T>(params: Record<string, unknown> | undefined, paramName: string, routes: Record<string, () => T>, defaultRoute?: string): T;
|
|
8
|
+
//# sourceMappingURL=_routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_routing.d.ts","sourceRoot":"","sources":["../../../src/dispatch/domains/_routing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,CAAC,CAYH"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared parameter-based routing for merged operations.
|
|
3
|
+
* DRY utility -- all 10 domain handlers use this instead of re-implementing action dispatch.
|
|
4
|
+
*
|
|
5
|
+
* @epic T5671
|
|
6
|
+
*/
|
|
7
|
+
export function routeByParam(params, paramName, routes, defaultRoute) {
|
|
8
|
+
const value = params?.[paramName] ?? defaultRoute;
|
|
9
|
+
if (!value) {
|
|
10
|
+
const available = Object.keys(routes).join(', ');
|
|
11
|
+
throw new Error(`Missing required param '${paramName}'. Available: ${available}`);
|
|
12
|
+
}
|
|
13
|
+
const handler = routes[value];
|
|
14
|
+
if (!handler) {
|
|
15
|
+
const available = Object.keys(routes).join(', ');
|
|
16
|
+
throw new Error(`Unknown ${paramName} '${value}'. Available: ${available}`);
|
|
17
|
+
}
|
|
18
|
+
return handler();
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=_routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_routing.js","sourceRoot":"","sources":["../../../src/dispatch/domains/_routing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,UAAU,YAAY,CAC1B,MAA2C,EAC3C,SAAiB,EACjB,MAA+B,EAC/B,YAAqB;IAErB,MAAM,KAAK,GAAI,MAAM,EAAE,CAAC,SAAS,CAAY,IAAI,YAAY,CAAC;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,iBAAiB,SAAS,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,KAAK,KAAK,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Admin Domain Handler (Dispatch Layer)
|
|
3
|
+
*
|
|
4
|
+
* Consolidates MCP system domain operations into the canonical "admin"
|
|
5
|
+
* domain. Handles version, health, config, stats, context, job management,
|
|
6
|
+
* dashboard, log, sequence, init, backup, restore, migrate, cleanup,
|
|
7
|
+
* safestop, inject.generate, token, adr, export, import, install.global,
|
|
8
|
+
* and context.inject.
|
|
9
|
+
*
|
|
10
|
+
* All operations delegate to native engine functions from system-engine,
|
|
11
|
+
* config-engine, and init-engine.
|
|
12
|
+
*
|
|
13
|
+
* @epic T4820
|
|
14
|
+
* @task T5671
|
|
15
|
+
*/
|
|
16
|
+
import type { DispatchResponse, DomainHandler } from '../types.js';
|
|
17
|
+
export declare class AdminHandler implements DomainHandler {
|
|
18
|
+
query(operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
|
|
19
|
+
mutate(operation: string, params?: Record<string, unknown>): Promise<DispatchResponse>;
|
|
20
|
+
getSupportedOperations(): {
|
|
21
|
+
query: string[];
|
|
22
|
+
mutate: string[];
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/dispatch/domains/admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoDH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAenE,qBAAa,YAAa,YAAW,aAAa;IAK1C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkcrF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAif5F,sBAAsB,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAwChE"}
|