@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,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default configuration values for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* @task T2928
|
|
5
|
+
* @task T3145
|
|
6
|
+
* @task T2916 - Rate limiting configuration (Section 13.3)
|
|
7
|
+
*/
|
|
8
|
+
import { DEFAULT_RATE_LIMITING } from './rate-limiter.js';
|
|
9
|
+
export { DEFAULT_RATE_LIMITING } from './rate-limiter.js';
|
|
10
|
+
/**
|
|
11
|
+
* Default lifecycle enforcement configuration
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_LIFECYCLE_ENFORCEMENT = {
|
|
14
|
+
mode: 'strict',
|
|
15
|
+
allowSkip: ['consensus'],
|
|
16
|
+
emergencyBypass: false,
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Default protocol validation configuration
|
|
20
|
+
*/
|
|
21
|
+
export const DEFAULT_PROTOCOL_VALIDATION = {
|
|
22
|
+
strictMode: true,
|
|
23
|
+
blockOnViolation: true,
|
|
24
|
+
logViolations: true,
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Default configuration values
|
|
28
|
+
*/
|
|
29
|
+
export const DEFAULT_CONFIG = {
|
|
30
|
+
cliPath: 'cleo',
|
|
31
|
+
timeout: 30000, // 30 seconds
|
|
32
|
+
logLevel: 'info',
|
|
33
|
+
enableMetrics: false,
|
|
34
|
+
maxRetries: 3,
|
|
35
|
+
queryCache: true,
|
|
36
|
+
queryCacheTtl: 30000, // 30 seconds
|
|
37
|
+
auditLog: true,
|
|
38
|
+
strictValidation: true,
|
|
39
|
+
lifecycleEnforcement: { ...DEFAULT_LIFECYCLE_ENFORCEMENT },
|
|
40
|
+
protocolValidation: { ...DEFAULT_PROTOCOL_VALIDATION },
|
|
41
|
+
rateLimiting: { ...DEFAULT_RATE_LIMITING },
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Environment variable prefix for CLEO configuration
|
|
45
|
+
*/
|
|
46
|
+
export const ENV_PREFIX = 'CLEO_MCP_';
|
|
47
|
+
/**
|
|
48
|
+
* Configuration schema for validation
|
|
49
|
+
*/
|
|
50
|
+
export const CONFIG_SCHEMA = {
|
|
51
|
+
cliPath: { type: 'string', required: true },
|
|
52
|
+
timeout: { type: 'number', min: 1000, max: 300000 },
|
|
53
|
+
logLevel: { type: 'string', enum: ['debug', 'info', 'warn', 'error'] },
|
|
54
|
+
enableMetrics: { type: 'boolean' },
|
|
55
|
+
maxRetries: { type: 'number', min: 0, max: 10 },
|
|
56
|
+
queryCache: { type: 'boolean' },
|
|
57
|
+
queryCacheTtl: { type: 'number', min: 0, max: 600000 },
|
|
58
|
+
auditLog: { type: 'boolean' },
|
|
59
|
+
strictValidation: { type: 'boolean' },
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/mcp/lib/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAgE1D;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA+B;IACvE,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAA6B;IACnE,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,KAAK,EAAE,aAAa;IAC7B,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,KAAK,EAAE,aAAa;IACnC,QAAQ,EAAE,IAAI;IACd,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,EAAE,GAAG,6BAA6B,EAAE;IAC1D,kBAAkB,EAAE,EAAE,GAAG,2BAA2B,EAAE;IACtD,YAAY,EAAE,EAAE,GAAG,qBAAqB,EAAE;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC3C,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE;IACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IACtE,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE;IACtD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAC7B,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;CAC7B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gate Validators for 4-Layer Verification System
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from canonical location at src/core/validation/operation-gate-validators.ts.
|
|
5
|
+
* Retained for backward compatibility.
|
|
6
|
+
*
|
|
7
|
+
* @task T2936
|
|
8
|
+
* @task T3138
|
|
9
|
+
* @task T5707
|
|
10
|
+
* @epic T2908
|
|
11
|
+
*/
|
|
12
|
+
export { GATE_VALIDATION_RULES as VALIDATION_RULES, isFieldRequired, VALID_WORKFLOW_AGENTS, VALID_WORKFLOW_GATE_STATUSES, validateLayer1Schema, validateLayer2Semantic, validateLayer3Referential, validateLayer4Protocol, validateWorkflowGateName, validateWorkflowGateStatus, validateWorkflowGateUpdate, } from '@cleocode/core/internal';
|
|
13
|
+
//# sourceMappingURL=gate-validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-validators.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/gate-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,qBAAqB,IAAI,gBAAgB,EACzC,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gate Validators for 4-Layer Verification System
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from canonical location at src/core/validation/operation-gate-validators.ts.
|
|
5
|
+
* Retained for backward compatibility.
|
|
6
|
+
*
|
|
7
|
+
* @task T2936
|
|
8
|
+
* @task T3138
|
|
9
|
+
* @task T5707
|
|
10
|
+
* @epic T2908
|
|
11
|
+
*/
|
|
12
|
+
export { GATE_VALIDATION_RULES as VALIDATION_RULES, isFieldRequired, VALID_WORKFLOW_AGENTS, VALID_WORKFLOW_GATE_STATUSES, validateLayer1Schema, validateLayer2Semantic, validateLayer3Referential, validateLayer4Protocol, validateWorkflowGateName, validateWorkflowGateStatus, validateWorkflowGateUpdate, } from '@cleocode/core/internal';
|
|
13
|
+
//# sourceMappingURL=gate-validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate-validators.js","sourceRoot":"","sources":["../../../src/mcp/lib/gate-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,qBAAqB,IAAI,gBAAgB,EACzC,eAAe,EACf,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway metadata factory for MCP domain handlers.
|
|
3
|
+
*
|
|
4
|
+
* Creates LAFS-conformant GatewayMeta objects with all required fields,
|
|
5
|
+
* replacing the inline _meta construction previously duplicated across
|
|
6
|
+
* every domain handler.
|
|
7
|
+
*
|
|
8
|
+
* Uses the canonical GatewayMeta type from src/types/lafs.ts (which
|
|
9
|
+
* extends LAFSMeta from @cleocode/lafs-protocol) to ensure LAFS v1.2.3
|
|
10
|
+
* conformance. Transport is 'sdk' per LAFS spec (MCP uses the SDK transport).
|
|
11
|
+
*
|
|
12
|
+
* @epic T4663
|
|
13
|
+
* @task T4700
|
|
14
|
+
*/
|
|
15
|
+
import type { GatewayMeta } from '@cleocode/contracts';
|
|
16
|
+
/**
|
|
17
|
+
* GatewayMeta with an index signature for DomainResponse._meta
|
|
18
|
+
* compatibility. All domain handlers receive this from
|
|
19
|
+
* createGatewayMeta().
|
|
20
|
+
*
|
|
21
|
+
* @task T4655
|
|
22
|
+
*/
|
|
23
|
+
export type GatewayMetaRecord = GatewayMeta & Record<string, unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Create a fully typed GatewayMeta for MCP domain responses.
|
|
26
|
+
*
|
|
27
|
+
* @param gateway - Gateway name (e.g., 'query', 'mutate')
|
|
28
|
+
* @param domain - Domain name (e.g., 'tasks', 'session')
|
|
29
|
+
* @param operation - Operation name (e.g., 'show', 'list')
|
|
30
|
+
* @param startTime - Timestamp from Date.now() at start of request
|
|
31
|
+
* @returns GatewayMeta with all LAFS and CLEO-specific fields
|
|
32
|
+
*
|
|
33
|
+
* @task T4700
|
|
34
|
+
* @epic T4663
|
|
35
|
+
*/
|
|
36
|
+
export declare function createGatewayMeta(gateway: string, domain: string, operation: string, startTime: number): GatewayMetaRecord;
|
|
37
|
+
//# sourceMappingURL=gateway-meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-meta.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/gateway-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAoBnB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway metadata factory for MCP domain handlers.
|
|
3
|
+
*
|
|
4
|
+
* Creates LAFS-conformant GatewayMeta objects with all required fields,
|
|
5
|
+
* replacing the inline _meta construction previously duplicated across
|
|
6
|
+
* every domain handler.
|
|
7
|
+
*
|
|
8
|
+
* Uses the canonical GatewayMeta type from src/types/lafs.ts (which
|
|
9
|
+
* extends LAFSMeta from @cleocode/lafs-protocol) to ensure LAFS v1.2.3
|
|
10
|
+
* conformance. Transport is 'sdk' per LAFS spec (MCP uses the SDK transport).
|
|
11
|
+
*
|
|
12
|
+
* @epic T4663
|
|
13
|
+
* @task T4700
|
|
14
|
+
*/
|
|
15
|
+
import { randomUUID } from 'node:crypto';
|
|
16
|
+
import { getCurrentSessionId } from '@cleocode/core/internal';
|
|
17
|
+
/**
|
|
18
|
+
* Create a fully typed GatewayMeta for MCP domain responses.
|
|
19
|
+
*
|
|
20
|
+
* @param gateway - Gateway name (e.g., 'query', 'mutate')
|
|
21
|
+
* @param domain - Domain name (e.g., 'tasks', 'session')
|
|
22
|
+
* @param operation - Operation name (e.g., 'show', 'list')
|
|
23
|
+
* @param startTime - Timestamp from Date.now() at start of request
|
|
24
|
+
* @returns GatewayMeta with all LAFS and CLEO-specific fields
|
|
25
|
+
*
|
|
26
|
+
* @task T4700
|
|
27
|
+
* @epic T4663
|
|
28
|
+
*/
|
|
29
|
+
export function createGatewayMeta(gateway, domain, operation, startTime) {
|
|
30
|
+
const sessionId = getCurrentSessionId();
|
|
31
|
+
return {
|
|
32
|
+
// LAFS canonical fields
|
|
33
|
+
specVersion: '1.2.3',
|
|
34
|
+
schemaVersion: '2026.2.1',
|
|
35
|
+
timestamp: new Date().toISOString(),
|
|
36
|
+
operation,
|
|
37
|
+
requestId: randomUUID(),
|
|
38
|
+
transport: 'sdk',
|
|
39
|
+
strict: true,
|
|
40
|
+
mvi: 'standard',
|
|
41
|
+
contextVersion: 1,
|
|
42
|
+
...(sessionId && { sessionId }),
|
|
43
|
+
// CLEO gateway extensions
|
|
44
|
+
gateway,
|
|
45
|
+
domain,
|
|
46
|
+
duration_ms: Date.now() - startTime,
|
|
47
|
+
'x-cleo-transport': 'stdio',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=gateway-meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-meta.js","sourceRoot":"","sources":["../../../src/mcp/lib/gateway-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAW9D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,MAAc,EACd,SAAiB,EACjB,SAAiB;IAEjB,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,OAAO;QACL,wBAAwB;QACxB,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,UAAU;QACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS;QACT,SAAS,EAAE,UAAU,EAAE;QACvB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,UAAU;QACf,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,0BAA0B;QAC1B,OAAO;QACP,MAAM;QACN,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;QACnC,kBAAkB,EAAE,OAAO;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Singleton accessor for BackgroundJobManager.
|
|
3
|
+
* Allows the dispatch layer to access the job manager without MCP coupling.
|
|
4
|
+
*
|
|
5
|
+
* @task T4820
|
|
6
|
+
*/
|
|
7
|
+
import type { BackgroundJobManager } from './background-jobs.js';
|
|
8
|
+
export declare function setJobManager(manager: BackgroundJobManager): void;
|
|
9
|
+
export declare function getJobManager(): BackgroundJobManager | null;
|
|
10
|
+
//# sourceMappingURL=job-manager-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-manager-accessor.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/job-manager-accessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAEjE;AAED,wBAAgB,aAAa,IAAI,oBAAoB,GAAG,IAAI,CAE3D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Singleton accessor for BackgroundJobManager.
|
|
3
|
+
* Allows the dispatch layer to access the job manager without MCP coupling.
|
|
4
|
+
*
|
|
5
|
+
* @task T4820
|
|
6
|
+
*/
|
|
7
|
+
let _instance = null;
|
|
8
|
+
export function setJobManager(manager) {
|
|
9
|
+
_instance = manager;
|
|
10
|
+
}
|
|
11
|
+
export function getJobManager() {
|
|
12
|
+
return _instance;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=job-manager-accessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-manager-accessor.js","sourceRoot":"","sources":["../../../src/mcp/lib/job-manager-accessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,IAAI,SAAS,GAAgC,IAAI,CAAC;AAElD,MAAM,UAAU,aAAa,CAAC,OAA6B;IACzD,SAAS,GAAG,OAAO,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Enforcement Middleware for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from canonical location at src/core/compliance/protocol-enforcement.ts.
|
|
5
|
+
* Retained for backward compatibility.
|
|
6
|
+
*
|
|
7
|
+
* @task T2918
|
|
8
|
+
* @task T5707
|
|
9
|
+
* @epic T2908
|
|
10
|
+
*/
|
|
11
|
+
export { ProtocolEnforcer, ProtocolType, protocolEnforcer, type ViolationLogEntry, } from '@cleocode/core/internal';
|
|
12
|
+
//# sourceMappingURL=protocol-enforcement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-enforcement.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/protocol-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Enforcement Middleware for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from canonical location at src/core/compliance/protocol-enforcement.ts.
|
|
5
|
+
* Retained for backward compatibility.
|
|
6
|
+
*
|
|
7
|
+
* @task T2918
|
|
8
|
+
* @task T5707
|
|
9
|
+
* @epic T2908
|
|
10
|
+
*/
|
|
11
|
+
export { ProtocolEnforcer, ProtocolType, protocolEnforcer, } from '@cleocode/core/internal';
|
|
12
|
+
//# sourceMappingURL=protocol-enforcement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-enforcement.js","sourceRoot":"","sources":["../../../src/mcp/lib/protocol-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Rule Definitions for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from canonical location at src/core/compliance/protocol-rules.ts.
|
|
5
|
+
* Retained for backward compatibility.
|
|
6
|
+
*
|
|
7
|
+
* @task T2918
|
|
8
|
+
* @task T5707
|
|
9
|
+
* @epic T2908
|
|
10
|
+
*/
|
|
11
|
+
export { PROTOCOL_RULES, type ProtocolRule, type ProtocolValidationResult, type ProtocolViolation, type RequirementLevel, type ViolationSeverity, } from '@cleocode/core/internal';
|
|
12
|
+
//# sourceMappingURL=protocol-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-rules.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/protocol-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol Rule Definitions for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Re-exports from canonical location at src/core/compliance/protocol-rules.ts.
|
|
5
|
+
* Retained for backward compatibility.
|
|
6
|
+
*
|
|
7
|
+
* @task T2918
|
|
8
|
+
* @task T5707
|
|
9
|
+
* @epic T2908
|
|
10
|
+
*/
|
|
11
|
+
export { PROTOCOL_RULES, } from '@cleocode/core/internal';
|
|
12
|
+
//# sourceMappingURL=protocol-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-rules.js","sourceRoot":"","sources":["../../../src/mcp/lib/protocol-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,cAAc,GAMf,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate Limiter for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Implements sliding window rate limiting per MCP-SERVER-SPECIFICATION Section 13.3:
|
|
5
|
+
* - Query operations: 100/minute (default)
|
|
6
|
+
* - Mutate operations: 30/minute (default)
|
|
7
|
+
* - Spawn operations: 10/minute (default)
|
|
8
|
+
*
|
|
9
|
+
* Uses a sliding window algorithm with per-category tracking.
|
|
10
|
+
* Limits are configurable via MCPConfig.rateLimiting.
|
|
11
|
+
*
|
|
12
|
+
* @task T2916
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Rate limit configuration for a single category
|
|
16
|
+
*/
|
|
17
|
+
export interface RateLimitConfig {
|
|
18
|
+
/** Maximum requests allowed in the window */
|
|
19
|
+
maxRequests: number;
|
|
20
|
+
/** Time window in milliseconds */
|
|
21
|
+
windowMs: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Complete rate limiting configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface RateLimitingConfig {
|
|
27
|
+
/** Enable/disable rate limiting globally */
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
/** Limits for query gateway operations */
|
|
30
|
+
query: RateLimitConfig;
|
|
31
|
+
/** Limits for mutate gateway operations */
|
|
32
|
+
mutate: RateLimitConfig;
|
|
33
|
+
/** Limits for spawn operations (orchestrate.spawn) */
|
|
34
|
+
spawn: RateLimitConfig;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Default rate limiting configuration per Section 13.3
|
|
38
|
+
*/
|
|
39
|
+
export declare const DEFAULT_RATE_LIMITING: RateLimitingConfig;
|
|
40
|
+
/**
|
|
41
|
+
* Rate limit check result
|
|
42
|
+
*/
|
|
43
|
+
export interface RateLimitResult {
|
|
44
|
+
/** Whether the request is allowed */
|
|
45
|
+
allowed: boolean;
|
|
46
|
+
/** Requests remaining in the current window */
|
|
47
|
+
remaining: number;
|
|
48
|
+
/** Maximum requests allowed in the window */
|
|
49
|
+
limit: number;
|
|
50
|
+
/** Milliseconds until the window resets */
|
|
51
|
+
resetMs: number;
|
|
52
|
+
/** The category that was checked */
|
|
53
|
+
category: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Sliding window rate limiter
|
|
57
|
+
*
|
|
58
|
+
* Tracks request timestamps per category and rejects requests
|
|
59
|
+
* that exceed the configured limit within the time window.
|
|
60
|
+
*/
|
|
61
|
+
export declare class RateLimiter {
|
|
62
|
+
private buckets;
|
|
63
|
+
private config;
|
|
64
|
+
constructor(config?: Partial<RateLimitingConfig>);
|
|
65
|
+
/**
|
|
66
|
+
* Check if a request is allowed and record it if so.
|
|
67
|
+
*
|
|
68
|
+
* @param gateway - The gateway type ('query' or 'mutate')
|
|
69
|
+
* @param domain - The domain being accessed
|
|
70
|
+
* @param operation - The operation being performed
|
|
71
|
+
* @returns Rate limit check result with remaining quota
|
|
72
|
+
*/
|
|
73
|
+
check(gateway: string, domain: string, operation: string): RateLimitResult;
|
|
74
|
+
/**
|
|
75
|
+
* Get current rate limit status without recording a request.
|
|
76
|
+
*/
|
|
77
|
+
peek(gateway: string, domain: string, operation: string): RateLimitResult;
|
|
78
|
+
/**
|
|
79
|
+
* Reset all rate limit buckets (for testing)
|
|
80
|
+
*/
|
|
81
|
+
reset(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Reset a specific category bucket (for testing)
|
|
84
|
+
*/
|
|
85
|
+
resetCategory(category: string): void;
|
|
86
|
+
/**
|
|
87
|
+
* Update configuration at runtime
|
|
88
|
+
*/
|
|
89
|
+
updateConfig(config: Partial<RateLimitingConfig>): void;
|
|
90
|
+
/**
|
|
91
|
+
* Get current configuration (for diagnostics)
|
|
92
|
+
*/
|
|
93
|
+
getConfig(): Readonly<RateLimitingConfig>;
|
|
94
|
+
/**
|
|
95
|
+
* Resolve the rate limit category for a given request.
|
|
96
|
+
*
|
|
97
|
+
* Spawn operations get their own stricter limit.
|
|
98
|
+
* Everything else is categorized by gateway type.
|
|
99
|
+
*/
|
|
100
|
+
private resolveCategory;
|
|
101
|
+
/**
|
|
102
|
+
* Get the limit configuration for a category
|
|
103
|
+
*/
|
|
104
|
+
private getLimitConfig;
|
|
105
|
+
/**
|
|
106
|
+
* Get or create a sliding window bucket for a category
|
|
107
|
+
*/
|
|
108
|
+
private getOrCreateBucket;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=rate-limiter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/mcp/lib/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,KAAK,EAAE,eAAe,CAAC;IACvB,2CAA2C;IAC3C,MAAM,EAAE,eAAe,CAAC;IACxB,sDAAsD;IACtD,KAAK,EAAE,eAAe,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAKnC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AASD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAUhD;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe;IAwD1E;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe;IA0CzE;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAOvD;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,kBAAkB,CAAC;IAIzC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAQ1B"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate Limiter for CLEO MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Implements sliding window rate limiting per MCP-SERVER-SPECIFICATION Section 13.3:
|
|
5
|
+
* - Query operations: 100/minute (default)
|
|
6
|
+
* - Mutate operations: 30/minute (default)
|
|
7
|
+
* - Spawn operations: 10/minute (default)
|
|
8
|
+
*
|
|
9
|
+
* Uses a sliding window algorithm with per-category tracking.
|
|
10
|
+
* Limits are configurable via MCPConfig.rateLimiting.
|
|
11
|
+
*
|
|
12
|
+
* @task T2916
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Default rate limiting configuration per Section 13.3
|
|
16
|
+
*/
|
|
17
|
+
export const DEFAULT_RATE_LIMITING = {
|
|
18
|
+
enabled: true,
|
|
19
|
+
query: { maxRequests: 100, windowMs: 60_000 },
|
|
20
|
+
mutate: { maxRequests: 30, windowMs: 60_000 },
|
|
21
|
+
spawn: { maxRequests: 10, windowMs: 60_000 },
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Sliding window rate limiter
|
|
25
|
+
*
|
|
26
|
+
* Tracks request timestamps per category and rejects requests
|
|
27
|
+
* that exceed the configured limit within the time window.
|
|
28
|
+
*/
|
|
29
|
+
export class RateLimiter {
|
|
30
|
+
buckets = new Map();
|
|
31
|
+
config;
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.config = {
|
|
34
|
+
...DEFAULT_RATE_LIMITING,
|
|
35
|
+
...config,
|
|
36
|
+
query: { ...DEFAULT_RATE_LIMITING.query, ...config?.query },
|
|
37
|
+
mutate: { ...DEFAULT_RATE_LIMITING.mutate, ...config?.mutate },
|
|
38
|
+
spawn: { ...DEFAULT_RATE_LIMITING.spawn, ...config?.spawn },
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Check if a request is allowed and record it if so.
|
|
43
|
+
*
|
|
44
|
+
* @param gateway - The gateway type ('query' or 'mutate')
|
|
45
|
+
* @param domain - The domain being accessed
|
|
46
|
+
* @param operation - The operation being performed
|
|
47
|
+
* @returns Rate limit check result with remaining quota
|
|
48
|
+
*/
|
|
49
|
+
check(gateway, domain, operation) {
|
|
50
|
+
if (!this.config.enabled) {
|
|
51
|
+
return {
|
|
52
|
+
allowed: true,
|
|
53
|
+
remaining: Infinity,
|
|
54
|
+
limit: Infinity,
|
|
55
|
+
resetMs: 0,
|
|
56
|
+
category: 'disabled',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Determine the rate limit category
|
|
60
|
+
const category = this.resolveCategory(gateway, domain, operation);
|
|
61
|
+
const limitConfig = this.getLimitConfig(category);
|
|
62
|
+
const now = Date.now();
|
|
63
|
+
const windowStart = now - limitConfig.windowMs;
|
|
64
|
+
// Get or create bucket
|
|
65
|
+
const bucket = this.getOrCreateBucket(category);
|
|
66
|
+
// Prune expired timestamps
|
|
67
|
+
bucket.timestamps = bucket.timestamps.filter((ts) => ts > windowStart);
|
|
68
|
+
// Check limit
|
|
69
|
+
if (bucket.timestamps.length >= limitConfig.maxRequests) {
|
|
70
|
+
// Find earliest timestamp to compute reset time
|
|
71
|
+
const earliestInWindow = bucket.timestamps[0];
|
|
72
|
+
const resetMs = earliestInWindow + limitConfig.windowMs - now;
|
|
73
|
+
return {
|
|
74
|
+
allowed: false,
|
|
75
|
+
remaining: 0,
|
|
76
|
+
limit: limitConfig.maxRequests,
|
|
77
|
+
resetMs: Math.max(0, resetMs),
|
|
78
|
+
category,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
// Record this request
|
|
82
|
+
bucket.timestamps.push(now);
|
|
83
|
+
const remaining = limitConfig.maxRequests - bucket.timestamps.length;
|
|
84
|
+
return {
|
|
85
|
+
allowed: true,
|
|
86
|
+
remaining,
|
|
87
|
+
limit: limitConfig.maxRequests,
|
|
88
|
+
resetMs: bucket.timestamps.length > 0
|
|
89
|
+
? bucket.timestamps[0] + limitConfig.windowMs - now
|
|
90
|
+
: limitConfig.windowMs,
|
|
91
|
+
category,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get current rate limit status without recording a request.
|
|
96
|
+
*/
|
|
97
|
+
peek(gateway, domain, operation) {
|
|
98
|
+
if (!this.config.enabled) {
|
|
99
|
+
return {
|
|
100
|
+
allowed: true,
|
|
101
|
+
remaining: Infinity,
|
|
102
|
+
limit: Infinity,
|
|
103
|
+
resetMs: 0,
|
|
104
|
+
category: 'disabled',
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const category = this.resolveCategory(gateway, domain, operation);
|
|
108
|
+
const limitConfig = this.getLimitConfig(category);
|
|
109
|
+
const now = Date.now();
|
|
110
|
+
const windowStart = now - limitConfig.windowMs;
|
|
111
|
+
const bucket = this.buckets.get(category);
|
|
112
|
+
if (!bucket) {
|
|
113
|
+
return {
|
|
114
|
+
allowed: true,
|
|
115
|
+
remaining: limitConfig.maxRequests,
|
|
116
|
+
limit: limitConfig.maxRequests,
|
|
117
|
+
resetMs: limitConfig.windowMs,
|
|
118
|
+
category,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
const activeTimestamps = bucket.timestamps.filter((ts) => ts > windowStart);
|
|
122
|
+
const remaining = limitConfig.maxRequests - activeTimestamps.length;
|
|
123
|
+
return {
|
|
124
|
+
allowed: remaining > 0,
|
|
125
|
+
remaining: Math.max(0, remaining),
|
|
126
|
+
limit: limitConfig.maxRequests,
|
|
127
|
+
resetMs: activeTimestamps.length > 0
|
|
128
|
+
? activeTimestamps[0] + limitConfig.windowMs - now
|
|
129
|
+
: limitConfig.windowMs,
|
|
130
|
+
category,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Reset all rate limit buckets (for testing)
|
|
135
|
+
*/
|
|
136
|
+
reset() {
|
|
137
|
+
this.buckets.clear();
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Reset a specific category bucket (for testing)
|
|
141
|
+
*/
|
|
142
|
+
resetCategory(category) {
|
|
143
|
+
this.buckets.delete(category);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Update configuration at runtime
|
|
147
|
+
*/
|
|
148
|
+
updateConfig(config) {
|
|
149
|
+
if (config.enabled !== undefined)
|
|
150
|
+
this.config.enabled = config.enabled;
|
|
151
|
+
if (config.query)
|
|
152
|
+
this.config.query = { ...this.config.query, ...config.query };
|
|
153
|
+
if (config.mutate)
|
|
154
|
+
this.config.mutate = { ...this.config.mutate, ...config.mutate };
|
|
155
|
+
if (config.spawn)
|
|
156
|
+
this.config.spawn = { ...this.config.spawn, ...config.spawn };
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get current configuration (for diagnostics)
|
|
160
|
+
*/
|
|
161
|
+
getConfig() {
|
|
162
|
+
return { ...this.config };
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Resolve the rate limit category for a given request.
|
|
166
|
+
*
|
|
167
|
+
* Spawn operations get their own stricter limit.
|
|
168
|
+
* Everything else is categorized by gateway type.
|
|
169
|
+
*/
|
|
170
|
+
resolveCategory(gateway, domain, operation) {
|
|
171
|
+
// Spawn operations have their own limit
|
|
172
|
+
if (domain === 'orchestrate' && operation === 'spawn') {
|
|
173
|
+
return 'spawn';
|
|
174
|
+
}
|
|
175
|
+
// Map gateway to category
|
|
176
|
+
if (gateway === 'query') {
|
|
177
|
+
return 'query';
|
|
178
|
+
}
|
|
179
|
+
return 'mutate';
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Get the limit configuration for a category
|
|
183
|
+
*/
|
|
184
|
+
getLimitConfig(category) {
|
|
185
|
+
switch (category) {
|
|
186
|
+
case 'query':
|
|
187
|
+
return this.config.query;
|
|
188
|
+
case 'mutate':
|
|
189
|
+
return this.config.mutate;
|
|
190
|
+
case 'spawn':
|
|
191
|
+
return this.config.spawn;
|
|
192
|
+
default:
|
|
193
|
+
return this.config.mutate;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get or create a sliding window bucket for a category
|
|
198
|
+
*/
|
|
199
|
+
getOrCreateBucket(category) {
|
|
200
|
+
let bucket = this.buckets.get(category);
|
|
201
|
+
if (!bucket) {
|
|
202
|
+
bucket = { timestamps: [] };
|
|
203
|
+
this.buckets.set(category, bucket);
|
|
204
|
+
}
|
|
205
|
+
return bucket;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=rate-limiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/mcp/lib/rate-limiter.ts"],"names":[],"mappings":"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"}
|