@cleocode/core 2026.4.31 → 2026.4.35
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/adapters/adapter-registry.js +64 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/discovery.js +83 -0
- package/dist/adapters/discovery.js.map +1 -0
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/manager.js +260 -0
- package/dist/adapters/manager.js.map +1 -0
- package/dist/admin/export-tasks.js +171 -0
- package/dist/admin/export-tasks.js.map +1 -0
- package/dist/admin/export.js +103 -0
- package/dist/admin/export.js.map +1 -0
- package/dist/admin/help.js +106 -0
- package/dist/admin/help.js.map +1 -0
- package/dist/admin/import-tasks.js +182 -0
- package/dist/admin/import-tasks.js.map +1 -0
- package/dist/admin/import.js +129 -0
- package/dist/admin/import.js.map +1 -0
- package/dist/admin/index.js +13 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/adrs/find.js +134 -0
- package/dist/adrs/find.js.map +1 -0
- package/dist/adrs/index.js +15 -0
- package/dist/adrs/index.js.map +1 -0
- package/dist/adrs/link-pipeline.js +160 -0
- package/dist/adrs/link-pipeline.js.map +1 -0
- package/dist/adrs/list.js +43 -0
- package/dist/adrs/list.js.map +1 -0
- package/dist/adrs/parse.js +51 -0
- package/dist/adrs/parse.js.map +1 -0
- package/dist/adrs/show.js +22 -0
- package/dist/adrs/show.js.map +1 -0
- package/dist/adrs/sync.js +232 -0
- package/dist/adrs/sync.js.map +1 -0
- package/dist/adrs/types.js +9 -0
- package/dist/adrs/types.js.map +1 -0
- package/dist/adrs/validate.js +57 -0
- package/dist/adrs/validate.js.map +1 -0
- package/dist/agents/agent-registry.js +288 -0
- package/dist/agents/agent-registry.js.map +1 -0
- package/dist/agents/agent-schema.js +82 -0
- package/dist/agents/agent-schema.js.map +1 -0
- package/dist/agents/capacity.js +116 -0
- package/dist/agents/capacity.js.map +1 -0
- package/dist/agents/execution-learning.js +474 -0
- package/dist/agents/execution-learning.js.map +1 -0
- package/dist/agents/health-monitor.js +217 -0
- package/dist/agents/health-monitor.js.map +1 -0
- package/dist/agents/index.js +29 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.js +314 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/retry.js +215 -0
- package/dist/agents/retry.js.map +1 -0
- package/dist/audit-prune.js +94 -0
- package/dist/audit-prune.js.map +1 -0
- package/dist/audit.js +68 -0
- package/dist/audit.js.map +1 -0
- package/dist/backfill/index.js +229 -0
- package/dist/backfill/index.js.map +1 -0
- package/dist/bootstrap.js +435 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/caamp/adapter.js +259 -0
- package/dist/caamp/adapter.js.map +1 -0
- package/dist/caamp/capability-check.js +38 -0
- package/dist/caamp/capability-check.js.map +1 -0
- package/dist/caamp/index.js +21 -0
- package/dist/caamp/index.js.map +1 -0
- package/dist/caamp-init.js +16 -0
- package/dist/caamp-init.js.map +1 -0
- package/dist/cleo.js +322 -0
- package/dist/cleo.js.map +1 -0
- package/dist/code/index.js +14 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code/outline.js +165 -0
- package/dist/code/outline.js.map +1 -0
- package/dist/code/parser.js +420 -0
- package/dist/code/parser.js.map +1 -0
- package/dist/code/search.js +135 -0
- package/dist/code/search.js.map +1 -0
- package/dist/code/unfold.js +155 -0
- package/dist/code/unfold.js.map +1 -0
- package/dist/codebase-map/analyzers/architecture.js +129 -0
- package/dist/codebase-map/analyzers/architecture.js.map +1 -0
- package/dist/codebase-map/analyzers/concerns.js +122 -0
- package/dist/codebase-map/analyzers/concerns.js.map +1 -0
- package/dist/codebase-map/analyzers/conventions.js +149 -0
- package/dist/codebase-map/analyzers/conventions.js.map +1 -0
- package/dist/codebase-map/analyzers/integrations.js +108 -0
- package/dist/codebase-map/analyzers/integrations.js.map +1 -0
- package/dist/codebase-map/analyzers/stack.js +117 -0
- package/dist/codebase-map/analyzers/stack.js.map +1 -0
- package/dist/codebase-map/analyzers/structure.js +137 -0
- package/dist/codebase-map/analyzers/structure.js.map +1 -0
- package/dist/codebase-map/analyzers/testing.js +118 -0
- package/dist/codebase-map/analyzers/testing.js.map +1 -0
- package/dist/codebase-map/index.js +57 -0
- package/dist/codebase-map/index.js.map +1 -0
- package/dist/codebase-map/store.js +122 -0
- package/dist/codebase-map/store.js.map +1 -0
- package/dist/codebase-map/summary.js +152 -0
- package/dist/codebase-map/summary.js.map +1 -0
- package/dist/compliance/index.js +288 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/protocol-enforcement.js +332 -0
- package/dist/compliance/protocol-enforcement.js.map +1 -0
- package/dist/compliance/protocol-rules.js +786 -0
- package/dist/compliance/protocol-rules.js.map +1 -0
- package/dist/compliance/protocol-types.js +79 -0
- package/dist/compliance/protocol-types.js.map +1 -0
- package/dist/compliance/store.js +53 -0
- package/dist/compliance/store.js.map +1 -0
- package/dist/conduit/conduit-client.js +107 -0
- package/dist/conduit/conduit-client.js.map +1 -0
- package/dist/conduit/factory.js +52 -0
- package/dist/conduit/factory.js.map +1 -0
- package/dist/conduit/http-transport.js +155 -0
- package/dist/conduit/http-transport.js.map +1 -0
- package/dist/conduit/index.js +15 -0
- package/dist/conduit/index.js.map +1 -0
- package/dist/conduit/local-transport.js +255 -0
- package/dist/conduit/local-transport.js.map +1 -0
- package/dist/conduit/sse-transport.js +299 -0
- package/dist/conduit/sse-transport.js.map +1 -0
- package/dist/config/build-config.js +29 -0
- package/dist/config/build-config.js.map +1 -0
- package/dist/config.js +400 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.js +18 -0
- package/dist/constants.js.map +1 -0
- package/dist/context/index.js +137 -0
- package/dist/context/index.js.map +1 -0
- package/dist/crypto/credentials.js +219 -0
- package/dist/crypto/credentials.js.map +1 -0
- package/dist/discovery.js +182 -0
- package/dist/discovery.js.map +1 -0
- package/dist/engine-result.js +12 -0
- package/dist/engine-result.js.map +1 -0
- package/dist/error-catalog.js +404 -0
- package/dist/error-catalog.js.map +1 -0
- package/dist/error-registry.js +393 -0
- package/dist/error-registry.js.map +1 -0
- package/dist/errors.js +173 -0
- package/dist/errors.js.map +1 -0
- package/dist/hooks/handlers/agent-hooks.js +106 -0
- package/dist/hooks/handlers/agent-hooks.js.map +1 -0
- package/dist/hooks/handlers/context-hooks.js +111 -0
- package/dist/hooks/handlers/context-hooks.js.map +1 -0
- package/dist/hooks/handlers/error-hooks.js +52 -0
- package/dist/hooks/handlers/error-hooks.js.map +1 -0
- package/dist/hooks/handlers/file-hooks.js +104 -0
- package/dist/hooks/handlers/file-hooks.js.map +1 -0
- package/dist/hooks/handlers/handler-helpers.js +61 -0
- package/dist/hooks/handlers/handler-helpers.js.map +1 -0
- package/dist/hooks/handlers/index.d.ts +4 -0
- package/dist/hooks/handlers/index.d.ts.map +1 -1
- package/dist/hooks/handlers/index.js +34 -0
- package/dist/hooks/handlers/index.js.map +1 -0
- package/dist/hooks/handlers/intelligence-hooks.d.ts +26 -0
- package/dist/hooks/handlers/intelligence-hooks.d.ts.map +1 -0
- package/dist/hooks/handlers/intelligence-hooks.js +69 -0
- package/dist/hooks/handlers/intelligence-hooks.js.map +1 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
- package/dist/hooks/handlers/notification-hooks.js +62 -0
- package/dist/hooks/handlers/notification-hooks.js.map +1 -0
- package/dist/hooks/handlers/session-hooks.d.ts +16 -0
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +157 -0
- package/dist/hooks/handlers/session-hooks.js.map +1 -0
- package/dist/hooks/handlers/task-hooks.js +65 -0
- package/dist/hooks/handlers/task-hooks.js.map +1 -0
- package/dist/hooks/handlers/watchdog-hooks.d.ts +49 -0
- package/dist/hooks/handlers/watchdog-hooks.d.ts.map +1 -0
- package/dist/hooks/handlers/watchdog-hooks.js +162 -0
- package/dist/hooks/handlers/watchdog-hooks.js.map +1 -0
- package/dist/hooks/handlers/work-capture-hooks.js +165 -0
- package/dist/hooks/handlers/work-capture-hooks.js.map +1 -0
- package/dist/hooks/index.js +13 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/payload-schemas.js +220 -0
- package/dist/hooks/payload-schemas.js.map +1 -0
- package/dist/hooks/provider-hooks.js +66 -0
- package/dist/hooks/provider-hooks.js.map +1 -0
- package/dist/hooks/registry.js +229 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.js +66 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks.js +136 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.js +3828 -2167
- package/dist/index.js.map +4 -4
- package/dist/init.js +920 -0
- package/dist/init.js.map +1 -0
- package/dist/inject/index.js +82 -0
- package/dist/inject/index.js.map +1 -0
- package/dist/injection.d.ts +13 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/injection.js +377 -0
- package/dist/injection.js.map +1 -0
- package/dist/intelligence/adaptive-validation.js +497 -0
- package/dist/intelligence/adaptive-validation.js.map +1 -0
- package/dist/intelligence/impact.js +675 -0
- package/dist/intelligence/impact.js.map +1 -0
- package/dist/intelligence/index.js +22 -0
- package/dist/intelligence/index.js.map +1 -0
- package/dist/intelligence/patterns.js +492 -0
- package/dist/intelligence/patterns.js.map +1 -0
- package/dist/intelligence/prediction.js +499 -0
- package/dist/intelligence/prediction.js.map +1 -0
- package/dist/intelligence/types.js +13 -0
- package/dist/intelligence/types.js.map +1 -0
- package/dist/internal.d.ts +8 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +320 -0
- package/dist/internal.js.map +1 -0
- package/dist/issue/create.js +121 -0
- package/dist/issue/create.js.map +1 -0
- package/dist/issue/diagnostics.js +59 -0
- package/dist/issue/diagnostics.js.map +1 -0
- package/dist/issue/index.js +10 -0
- package/dist/issue/index.js.map +1 -0
- package/dist/issue/template-parser.js +267 -0
- package/dist/issue/template-parser.js.map +1 -0
- package/dist/json-schema-validator.js +76 -0
- package/dist/json-schema-validator.js.map +1 -0
- package/dist/lib/index.js +11 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/retry.js +152 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/tree-sitter-languages.js +75 -0
- package/dist/lib/tree-sitter-languages.js.map +1 -0
- package/dist/lifecycle/chain-composition.js +152 -0
- package/dist/lifecycle/chain-composition.js.map +1 -0
- package/dist/lifecycle/chain-store.js +246 -0
- package/dist/lifecycle/chain-store.js.map +1 -0
- package/dist/lifecycle/consolidate-rcasd.js +352 -0
- package/dist/lifecycle/consolidate-rcasd.js.map +1 -0
- package/dist/lifecycle/default-chain.js +176 -0
- package/dist/lifecycle/default-chain.js.map +1 -0
- package/dist/lifecycle/evidence.js +180 -0
- package/dist/lifecycle/evidence.js.map +1 -0
- package/dist/lifecycle/frontmatter.js +363 -0
- package/dist/lifecycle/frontmatter.js.map +1 -0
- package/dist/lifecycle/index.js +756 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/lifecycle/pipeline.js +656 -0
- package/dist/lifecycle/pipeline.js.map +1 -0
- package/dist/lifecycle/rcasd-index.js +326 -0
- package/dist/lifecycle/rcasd-index.js.map +1 -0
- package/dist/lifecycle/rcasd-paths.js +220 -0
- package/dist/lifecycle/rcasd-paths.js.map +1 -0
- package/dist/lifecycle/resume.js +864 -0
- package/dist/lifecycle/resume.js.map +1 -0
- package/dist/lifecycle/stage-artifacts.js +94 -0
- package/dist/lifecycle/stage-artifacts.js.map +1 -0
- package/dist/lifecycle/stage-guidance.js +234 -0
- package/dist/lifecycle/stage-guidance.js.map +1 -0
- package/dist/lifecycle/stages.js +534 -0
- package/dist/lifecycle/stages.js.map +1 -0
- package/dist/lifecycle/state-machine.js +516 -0
- package/dist/lifecycle/state-machine.js.map +1 -0
- package/dist/lifecycle/tessera-engine.js +249 -0
- package/dist/lifecycle/tessera-engine.js.map +1 -0
- package/dist/logger.js +140 -0
- package/dist/logger.js.map +1 -0
- package/dist/memory/auto-extract.js +96 -0
- package/dist/memory/auto-extract.js.map +1 -0
- package/dist/memory/brain-backfill.js +389 -0
- package/dist/memory/brain-backfill.js.map +1 -0
- package/dist/memory/brain-consolidator.d.ts +48 -0
- package/dist/memory/brain-consolidator.d.ts.map +1 -0
- package/dist/memory/brain-consolidator.js +294 -0
- package/dist/memory/brain-consolidator.js.map +1 -0
- package/dist/memory/brain-embedding.js +66 -0
- package/dist/memory/brain-embedding.js.map +1 -0
- package/dist/memory/brain-lifecycle.d.ts +83 -2
- package/dist/memory/brain-lifecycle.d.ts.map +1 -1
- package/dist/memory/brain-lifecycle.js +807 -0
- package/dist/memory/brain-lifecycle.js.map +1 -0
- package/dist/memory/brain-links.js +161 -0
- package/dist/memory/brain-links.js.map +1 -0
- package/dist/memory/brain-maintenance.js +114 -0
- package/dist/memory/brain-maintenance.js.map +1 -0
- package/dist/memory/brain-migration.js +149 -0
- package/dist/memory/brain-migration.js.map +1 -0
- package/dist/memory/brain-purge.js +243 -0
- package/dist/memory/brain-purge.js.map +1 -0
- package/dist/memory/brain-reasoning.js +215 -0
- package/dist/memory/brain-reasoning.js.map +1 -0
- package/dist/memory/brain-retrieval.d.ts +69 -1
- package/dist/memory/brain-retrieval.d.ts.map +1 -1
- package/dist/memory/brain-retrieval.js +912 -0
- package/dist/memory/brain-retrieval.js.map +1 -0
- package/dist/memory/brain-row-types.js +10 -0
- package/dist/memory/brain-row-types.js.map +1 -0
- package/dist/memory/brain-search.d.ts.map +1 -1
- package/dist/memory/brain-search.js +528 -0
- package/dist/memory/brain-search.js.map +1 -0
- package/dist/memory/brain-similarity.js +145 -0
- package/dist/memory/brain-similarity.js.map +1 -0
- package/dist/memory/claude-mem-migration.js +277 -0
- package/dist/memory/claude-mem-migration.js.map +1 -0
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/decisions.js +218 -0
- package/dist/memory/decisions.js.map +1 -0
- package/dist/memory/embedding-local.js +102 -0
- package/dist/memory/embedding-local.js.map +1 -0
- package/dist/memory/embedding-queue.js +271 -0
- package/dist/memory/embedding-queue.js.map +1 -0
- package/dist/memory/embedding-worker.js +58 -0
- package/dist/memory/embedding-worker.js.map +1 -0
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/engine-compat.js +1564 -0
- package/dist/memory/engine-compat.js.map +1 -0
- package/dist/memory/extraction-gate.d.ts +139 -0
- package/dist/memory/extraction-gate.d.ts.map +1 -0
- package/dist/memory/extraction-gate.js +459 -0
- package/dist/memory/extraction-gate.js.map +1 -0
- package/dist/memory/graph-auto-populate.js +148 -0
- package/dist/memory/graph-auto-populate.js.map +1 -0
- package/dist/memory/graph-queries.js +290 -0
- package/dist/memory/graph-queries.js.map +1 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1144 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/learnings.d.ts +14 -0
- package/dist/memory/learnings.d.ts.map +1 -1
- package/dist/memory/learnings.js +178 -0
- package/dist/memory/learnings.js.map +1 -0
- package/dist/memory/memory-bridge.js +370 -0
- package/dist/memory/memory-bridge.js.map +1 -0
- package/dist/memory/mental-model-injection.js +61 -0
- package/dist/memory/mental-model-injection.js.map +1 -0
- package/dist/memory/mental-model-queue.js +211 -0
- package/dist/memory/mental-model-queue.js.map +1 -0
- package/dist/memory/patterns.d.ts +24 -4
- package/dist/memory/patterns.d.ts.map +1 -1
- package/dist/memory/patterns.js +174 -0
- package/dist/memory/patterns.js.map +1 -0
- package/dist/memory/pipeline-manifest-sqlite.js +975 -0
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -0
- package/dist/memory/quality-scoring.d.ts +42 -5
- package/dist/memory/quality-scoring.d.ts.map +1 -1
- package/dist/memory/quality-scoring.js +182 -0
- package/dist/memory/quality-scoring.js.map +1 -0
- package/dist/memory/session-memory.js +331 -0
- package/dist/memory/session-memory.js.map +1 -0
- package/dist/metrics/ab-test.js +260 -0
- package/dist/metrics/ab-test.js.map +1 -0
- package/dist/metrics/aggregation.js +363 -0
- package/dist/metrics/aggregation.js.map +1 -0
- package/dist/metrics/common.js +64 -0
- package/dist/metrics/common.js.map +1 -0
- package/dist/metrics/enums.js +78 -0
- package/dist/metrics/enums.js.map +1 -0
- package/dist/metrics/index.js +19 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/model-provider-registry.js +88 -0
- package/dist/metrics/model-provider-registry.js.map +1 -0
- package/dist/metrics/otel-integration.js +263 -0
- package/dist/metrics/otel-integration.js.map +1 -0
- package/dist/metrics/provider-detection.js +103 -0
- package/dist/metrics/provider-detection.js.map +1 -0
- package/dist/metrics/token-estimation.js +253 -0
- package/dist/metrics/token-estimation.js.map +1 -0
- package/dist/metrics/token-service.js +450 -0
- package/dist/metrics/token-service.js.map +1 -0
- package/dist/migration/agent-outputs.js +316 -0
- package/dist/migration/agent-outputs.js.map +1 -0
- package/dist/migration/checksum.js +92 -0
- package/dist/migration/checksum.js.map +1 -0
- package/dist/migration/index.js +282 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/migration/logger.js +360 -0
- package/dist/migration/logger.js.map +1 -0
- package/dist/migration/preflight.js +9 -0
- package/dist/migration/preflight.js.map +1 -0
- package/dist/migration/state.js +421 -0
- package/dist/migration/state.js.map +1 -0
- package/dist/migration/validate.js +241 -0
- package/dist/migration/validate.js.map +1 -0
- package/dist/mvi-helpers.js +73 -0
- package/dist/mvi-helpers.js.map +1 -0
- package/dist/nexus/deps.js +375 -0
- package/dist/nexus/deps.js.map +1 -0
- package/dist/nexus/discover.js +288 -0
- package/dist/nexus/discover.js.map +1 -0
- package/dist/nexus/hash.js +10 -0
- package/dist/nexus/hash.js.map +1 -0
- package/dist/nexus/index.js +40 -0
- package/dist/nexus/index.js.map +1 -0
- package/dist/nexus/migrate-json-to-sqlite.js +115 -0
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -0
- package/dist/nexus/nexus-bridge.d.ts +51 -0
- package/dist/nexus/nexus-bridge.d.ts.map +1 -0
- package/dist/nexus/nexus-bridge.js +321 -0
- package/dist/nexus/nexus-bridge.js.map +1 -0
- package/dist/nexus/permissions.js +105 -0
- package/dist/nexus/permissions.js.map +1 -0
- package/dist/nexus/query.js +175 -0
- package/dist/nexus/query.js.map +1 -0
- package/dist/nexus/registry.js +584 -0
- package/dist/nexus/registry.js.map +1 -0
- package/dist/nexus/sharing/index.js +288 -0
- package/dist/nexus/sharing/index.js.map +1 -0
- package/dist/nexus/transfer-types.js +8 -0
- package/dist/nexus/transfer-types.js.map +1 -0
- package/dist/nexus/transfer.js +271 -0
- package/dist/nexus/transfer.js.map +1 -0
- package/dist/nexus/workspace.js +355 -0
- package/dist/nexus/workspace.js.map +1 -0
- package/dist/observability/index.js +103 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/log-filter.js +63 -0
- package/dist/observability/log-filter.js.map +1 -0
- package/dist/observability/log-parser.js +99 -0
- package/dist/observability/log-parser.js.map +1 -0
- package/dist/observability/log-reader.js +139 -0
- package/dist/observability/log-reader.js.map +1 -0
- package/dist/observability/types.js +19 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/orchestration/analyze.js +107 -0
- package/dist/orchestration/analyze.js.map +1 -0
- package/dist/orchestration/bootstrap.js +132 -0
- package/dist/orchestration/bootstrap.js.map +1 -0
- package/dist/orchestration/context.js +56 -0
- package/dist/orchestration/context.js.map +1 -0
- package/dist/orchestration/critical-path.js +100 -0
- package/dist/orchestration/critical-path.js.map +1 -0
- package/dist/orchestration/hierarchy.js +183 -0
- package/dist/orchestration/hierarchy.js.map +1 -0
- package/dist/orchestration/index.js +287 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/parallel.js +89 -0
- package/dist/orchestration/parallel.js.map +1 -0
- package/dist/orchestration/protocol-validators.js +815 -0
- package/dist/orchestration/protocol-validators.js.map +1 -0
- package/dist/orchestration/skill-ops.js +98 -0
- package/dist/orchestration/skill-ops.js.map +1 -0
- package/dist/orchestration/status.js +107 -0
- package/dist/orchestration/status.js.map +1 -0
- package/dist/orchestration/unblock.js +103 -0
- package/dist/orchestration/unblock.js.map +1 -0
- package/dist/orchestration/validate-spawn.js +67 -0
- package/dist/orchestration/validate-spawn.js.map +1 -0
- package/dist/orchestration/waves.js +86 -0
- package/dist/orchestration/waves.js.map +1 -0
- package/dist/otel/index.js +163 -0
- package/dist/otel/index.js.map +1 -0
- package/dist/output.js +164 -0
- package/dist/output.js.map +1 -0
- package/dist/pagination.js +64 -0
- package/dist/pagination.js.map +1 -0
- package/dist/paths.js +882 -0
- package/dist/paths.js.map +1 -0
- package/dist/phases/deps.js +372 -0
- package/dist/phases/deps.js.map +1 -0
- package/dist/phases/index.js +349 -0
- package/dist/phases/index.js.map +1 -0
- package/dist/pipeline/index.js +10 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/phase.js +45 -0
- package/dist/pipeline/phase.js.map +1 -0
- package/dist/platform.js +211 -0
- package/dist/platform.js.map +1 -0
- package/dist/project-info.js +84 -0
- package/dist/project-info.js.map +1 -0
- package/dist/reconciliation/index.js +10 -0
- package/dist/reconciliation/index.js.map +1 -0
- package/dist/reconciliation/link-store.js +175 -0
- package/dist/reconciliation/link-store.js.map +1 -0
- package/dist/reconciliation/reconciliation-engine.js +298 -0
- package/dist/reconciliation/reconciliation-engine.js.map +1 -0
- package/dist/release/artifacts.js +427 -0
- package/dist/release/artifacts.js.map +1 -0
- package/dist/release/changelog-writer.js +151 -0
- package/dist/release/changelog-writer.js.map +1 -0
- package/dist/release/channel.js +144 -0
- package/dist/release/channel.js.map +1 -0
- package/dist/release/ci.js +166 -0
- package/dist/release/ci.js.map +1 -0
- package/dist/release/github-pr.js +225 -0
- package/dist/release/github-pr.js.map +1 -0
- package/dist/release/guards.js +116 -0
- package/dist/release/guards.js.map +1 -0
- package/dist/release/index.js +22 -0
- package/dist/release/index.js.map +1 -0
- package/dist/release/release-config.js +158 -0
- package/dist/release/release-config.js.map +1 -0
- package/dist/release/release-manifest.js +1019 -0
- package/dist/release/release-manifest.js.map +1 -0
- package/dist/release/version-bump.js +255 -0
- package/dist/release/version-bump.js.map +1 -0
- package/dist/remote/index.js +257 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/repair.js +130 -0
- package/dist/repair.js.map +1 -0
- package/dist/research/index.js +2 -0
- package/dist/research/index.js.map +1 -0
- package/dist/roadmap/index.js +59 -0
- package/dist/roadmap/index.js.map +1 -0
- package/dist/routing/capability-matrix.js +1556 -0
- package/dist/routing/capability-matrix.js.map +1 -0
- package/dist/routing/index.js +9 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/scaffold.d.ts +18 -0
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +1798 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/schema-management.js +295 -0
- package/dist/schema-management.js.map +1 -0
- package/dist/security/index.js +9 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/input-sanitization.js +326 -0
- package/dist/security/input-sanitization.js.map +1 -0
- package/dist/sequence/index.js +295 -0
- package/dist/sequence/index.js.map +1 -0
- package/dist/sessions/assumptions.js +54 -0
- package/dist/sessions/assumptions.js.map +1 -0
- package/dist/sessions/briefing.js +377 -0
- package/dist/sessions/briefing.js.map +1 -0
- package/dist/sessions/context-alert.js +222 -0
- package/dist/sessions/context-alert.js.map +1 -0
- package/dist/sessions/context-inject.js +61 -0
- package/dist/sessions/context-inject.js.map +1 -0
- package/dist/sessions/context-monitor.js +98 -0
- package/dist/sessions/context-monitor.js.map +1 -0
- package/dist/sessions/decisions.js +65 -0
- package/dist/sessions/decisions.js.map +1 -0
- package/dist/sessions/find.js +65 -0
- package/dist/sessions/find.js.map +1 -0
- package/dist/sessions/handoff.js +328 -0
- package/dist/sessions/handoff.js.map +1 -0
- package/dist/sessions/hitl-warnings.js +254 -0
- package/dist/sessions/hitl-warnings.js.map +1 -0
- package/dist/sessions/index.js +327 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/session-archive.js +40 -0
- package/dist/sessions/session-archive.js.map +1 -0
- package/dist/sessions/session-cleanup.js +59 -0
- package/dist/sessions/session-cleanup.js.map +1 -0
- package/dist/sessions/session-drift.js +134 -0
- package/dist/sessions/session-drift.js.map +1 -0
- package/dist/sessions/session-enforcement.js +144 -0
- package/dist/sessions/session-enforcement.js.map +1 -0
- package/dist/sessions/session-grade.js +253 -0
- package/dist/sessions/session-grade.js.map +1 -0
- package/dist/sessions/session-history.js +42 -0
- package/dist/sessions/session-history.js.map +1 -0
- package/dist/sessions/session-id.js +81 -0
- package/dist/sessions/session-id.js.map +1 -0
- package/dist/sessions/session-memory-bridge.js +30 -0
- package/dist/sessions/session-memory-bridge.js.map +1 -0
- package/dist/sessions/session-show.js +24 -0
- package/dist/sessions/session-show.js.map +1 -0
- package/dist/sessions/session-stats.js +69 -0
- package/dist/sessions/session-stats.js.map +1 -0
- package/dist/sessions/session-suspend.js +39 -0
- package/dist/sessions/session-suspend.js.map +1 -0
- package/dist/sessions/session-switch.js +51 -0
- package/dist/sessions/session-switch.js.map +1 -0
- package/dist/sessions/session-view.js +76 -0
- package/dist/sessions/session-view.js.map +1 -0
- package/dist/sessions/snapshot.js +213 -0
- package/dist/sessions/snapshot.js.map +1 -0
- package/dist/sessions/statusline-setup.js +85 -0
- package/dist/sessions/statusline-setup.js.map +1 -0
- package/dist/sessions/types.js +8 -0
- package/dist/sessions/types.js.map +1 -0
- package/dist/skills/agents/config.js +94 -0
- package/dist/skills/agents/config.js.map +1 -0
- package/dist/skills/agents/install.js +116 -0
- package/dist/skills/agents/install.js.map +1 -0
- package/dist/skills/agents/registry.js +161 -0
- package/dist/skills/agents/registry.js.map +1 -0
- package/dist/skills/discovery.js +333 -0
- package/dist/skills/discovery.js.map +1 -0
- package/dist/skills/dispatch.js +347 -0
- package/dist/skills/dispatch.js.map +1 -0
- package/dist/skills/dynamic-skill-generator.js +87 -0
- package/dist/skills/dynamic-skill-generator.js.map +1 -0
- package/dist/skills/index.js +44 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/injection/subagent.js +195 -0
- package/dist/skills/injection/subagent.js.map +1 -0
- package/dist/skills/injection/token.js +260 -0
- package/dist/skills/injection/token.js.map +1 -0
- package/dist/skills/install.js +40 -0
- package/dist/skills/install.js.map +1 -0
- package/dist/skills/manifests/contribution.js +175 -0
- package/dist/skills/manifests/contribution.js.map +1 -0
- package/dist/skills/manifests/research.js +281 -0
- package/dist/skills/manifests/research.js.map +1 -0
- package/dist/skills/manifests/resolver.js +146 -0
- package/dist/skills/manifests/resolver.js.map +1 -0
- package/dist/skills/marketplace.js +90 -0
- package/dist/skills/marketplace.js.map +1 -0
- package/dist/skills/orchestrator/spawn.js +178 -0
- package/dist/skills/orchestrator/spawn.js.map +1 -0
- package/dist/skills/orchestrator/startup.js +451 -0
- package/dist/skills/orchestrator/startup.js.map +1 -0
- package/dist/skills/orchestrator/validator.js +301 -0
- package/dist/skills/orchestrator/validator.js.map +1 -0
- package/dist/skills/precedence-integration.js +73 -0
- package/dist/skills/precedence-integration.js.map +1 -0
- package/dist/skills/precedence-types.js +16 -0
- package/dist/skills/precedence-types.js.map +1 -0
- package/dist/skills/routing-table.js +63 -0
- package/dist/skills/routing-table.js.map +1 -0
- package/dist/skills/skill-paths.js +217 -0
- package/dist/skills/skill-paths.js.map +1 -0
- package/dist/skills/test-utility.js +55 -0
- package/dist/skills/test-utility.js.map +1 -0
- package/dist/skills/types.js +118 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validation.js +183 -0
- package/dist/skills/validation.js.map +1 -0
- package/dist/skills/version.js +57 -0
- package/dist/skills/version.js.map +1 -0
- package/dist/snapshot/index.js +188 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/spawn/adapter-registry.js +246 -0
- package/dist/spawn/adapter-registry.js.map +1 -0
- package/dist/spawn/index.js +10 -0
- package/dist/spawn/index.js.map +1 -0
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/index.js +350 -0
- package/dist/stats/index.js.map +1 -0
- package/dist/stats/workflow-telemetry.js +400 -0
- package/dist/stats/workflow-telemetry.js.map +1 -0
- package/dist/sticky/archive.js +47 -0
- package/dist/sticky/archive.js.map +1 -0
- package/dist/sticky/convert.js +235 -0
- package/dist/sticky/convert.js.map +1 -0
- package/dist/sticky/create.js +48 -0
- package/dist/sticky/create.js.map +1 -0
- package/dist/sticky/id.js +35 -0
- package/dist/sticky/id.js.map +1 -0
- package/dist/sticky/index.js +16 -0
- package/dist/sticky/index.js.map +1 -0
- package/dist/sticky/list.js +57 -0
- package/dist/sticky/list.js.map +1 -0
- package/dist/sticky/purge.js +45 -0
- package/dist/sticky/purge.js.map +1 -0
- package/dist/sticky/show.js +42 -0
- package/dist/sticky/show.js.map +1 -0
- package/dist/sticky/types.js +10 -0
- package/dist/sticky/types.js.map +1 -0
- package/dist/store/agent-registry-accessor.js +886 -0
- package/dist/store/agent-registry-accessor.js.map +1 -0
- package/dist/store/api-key-kdf.js +84 -0
- package/dist/store/api-key-kdf.js.map +1 -0
- package/dist/store/atomic.js +167 -0
- package/dist/store/atomic.js.map +1 -0
- package/dist/store/backup-crypto.js +184 -0
- package/dist/store/backup-crypto.js.map +1 -0
- package/dist/store/backup-pack.js +581 -0
- package/dist/store/backup-pack.js.map +1 -0
- package/dist/store/backup-unpack.js +449 -0
- package/dist/store/backup-unpack.js.map +1 -0
- package/dist/store/backup.js +94 -0
- package/dist/store/backup.js.map +1 -0
- package/dist/store/brain-accessor.js +429 -0
- package/dist/store/brain-accessor.js.map +1 -0
- package/dist/store/brain-schema.d.ts +496 -3
- package/dist/store/brain-schema.d.ts.map +1 -1
- package/dist/store/brain-schema.js +549 -0
- package/dist/store/brain-schema.js.map +1 -0
- package/dist/store/brain-sqlite.d.ts.map +1 -1
- package/dist/store/brain-sqlite.js +257 -0
- package/dist/store/brain-sqlite.js.map +1 -0
- package/dist/store/cache.js +168 -0
- package/dist/store/cache.js.map +1 -0
- package/dist/store/chain-schema.js +51 -0
- package/dist/store/chain-schema.js.map +1 -0
- package/dist/store/cleanup-legacy.js +171 -0
- package/dist/store/cleanup-legacy.js.map +1 -0
- package/dist/store/conduit-sqlite.js +570 -0
- package/dist/store/conduit-sqlite.js.map +1 -0
- package/dist/store/converters.js +124 -0
- package/dist/store/converters.js.map +1 -0
- package/dist/store/cross-db-cleanup.js +319 -0
- package/dist/store/cross-db-cleanup.js.map +1 -0
- package/dist/store/data-accessor.js +26 -0
- package/dist/store/data-accessor.js.map +1 -0
- package/dist/store/data-safety-central.js +269 -0
- package/dist/store/data-safety-central.js.map +1 -0
- package/dist/store/data-safety.js +274 -0
- package/dist/store/data-safety.js.map +1 -0
- package/dist/store/db-helpers.js +224 -0
- package/dist/store/db-helpers.js.map +1 -0
- package/dist/store/export.js +155 -0
- package/dist/store/export.js.map +1 -0
- package/dist/store/file-utils.js +270 -0
- package/dist/store/file-utils.js.map +1 -0
- package/dist/store/git-checkpoint.js +365 -0
- package/dist/store/git-checkpoint.js.map +1 -0
- package/dist/store/global-salt.js +147 -0
- package/dist/store/global-salt.js.map +1 -0
- package/dist/store/import-logging.js +139 -0
- package/dist/store/import-logging.js.map +1 -0
- package/dist/store/import-remap.js +145 -0
- package/dist/store/import-remap.js.map +1 -0
- package/dist/store/import-sort.js +121 -0
- package/dist/store/import-sort.js.map +1 -0
- package/dist/store/index.js +29 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/json.js +208 -0
- package/dist/store/json.js.map +1 -0
- package/dist/store/lifecycle-store.js +249 -0
- package/dist/store/lifecycle-store.js.map +1 -0
- package/dist/store/lock.js +70 -0
- package/dist/store/lock.js.map +1 -0
- package/dist/store/migrate-signaldock-to-conduit.js +562 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -0
- package/dist/store/migration-manager.d.ts +5 -1
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +288 -0
- package/dist/store/migration-manager.js.map +1 -0
- package/dist/store/migration-sqlite.js +676 -0
- package/dist/store/migration-sqlite.js.map +1 -0
- package/dist/store/nexus-schema.js +268 -0
- package/dist/store/nexus-schema.js.map +1 -0
- package/dist/store/nexus-sqlite.js +242 -0
- package/dist/store/nexus-sqlite.js.map +1 -0
- package/dist/store/nexus-validation-schemas.js +40 -0
- package/dist/store/nexus-validation-schemas.js.map +1 -0
- package/dist/store/parsers.js +37 -0
- package/dist/store/parsers.js.map +1 -0
- package/dist/store/project-detect.js +457 -0
- package/dist/store/project-detect.js.map +1 -0
- package/dist/store/provider.js +101 -0
- package/dist/store/provider.js.map +1 -0
- package/dist/store/regenerators.js +207 -0
- package/dist/store/regenerators.js.map +1 -0
- package/dist/store/restore-conflict-report.js +206 -0
- package/dist/store/restore-conflict-report.js.map +1 -0
- package/dist/store/restore-json-merge.js +454 -0
- package/dist/store/restore-json-merge.js.map +1 -0
- package/dist/store/safety-data-accessor.js +257 -0
- package/dist/store/safety-data-accessor.js.map +1 -0
- package/dist/store/schema.js +7 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/session-store.js +219 -0
- package/dist/store/session-store.js.map +1 -0
- package/dist/store/signaldock-sqlite.js +550 -0
- package/dist/store/signaldock-sqlite.js.map +1 -0
- package/dist/store/sqlite-backup.js +498 -0
- package/dist/store/sqlite-backup.js.map +1 -0
- package/dist/store/sqlite-data-accessor.js +787 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -0
- package/dist/store/sqlite.js +483 -0
- package/dist/store/sqlite.js.map +1 -0
- package/dist/store/status-registry.js +8 -0
- package/dist/store/status-registry.js.map +1 -0
- package/dist/store/t310-readiness.js +115 -0
- package/dist/store/t310-readiness.js.map +1 -0
- package/dist/store/task-store.js +358 -0
- package/dist/store/task-store.js.map +1 -0
- package/dist/store/tasks-schema.d.ts +1 -1
- package/dist/store/tasks-schema.js +610 -0
- package/dist/store/tasks-schema.js.map +1 -0
- package/dist/store/typed-query.js +15 -0
- package/dist/store/typed-query.js.map +1 -0
- package/dist/store/validation-schemas.d.ts +6 -6
- package/dist/store/validation-schemas.js +278 -0
- package/dist/store/validation-schemas.js.map +1 -0
- package/dist/system/archive-analytics.js +277 -0
- package/dist/system/archive-analytics.js.map +1 -0
- package/dist/system/archive-stats.js +64 -0
- package/dist/system/archive-stats.js.map +1 -0
- package/dist/system/audit.js +145 -0
- package/dist/system/audit.js.map +1 -0
- package/dist/system/backup.js +280 -0
- package/dist/system/backup.js.map +1 -0
- package/dist/system/cleanup.js +134 -0
- package/dist/system/cleanup.js.map +1 -0
- package/dist/system/dependencies.js +466 -0
- package/dist/system/dependencies.js.map +1 -0
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +1206 -0
- package/dist/system/health.js.map +1 -0
- package/dist/system/index.js +18 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/inject-generate.js +122 -0
- package/dist/system/inject-generate.js.map +1 -0
- package/dist/system/labels.js +38 -0
- package/dist/system/labels.js.map +1 -0
- package/dist/system/metrics.js +61 -0
- package/dist/system/metrics.js.map +1 -0
- package/dist/system/migrate.js +43 -0
- package/dist/system/migrate.js.map +1 -0
- package/dist/system/platform-paths.js +80 -0
- package/dist/system/platform-paths.js.map +1 -0
- package/dist/system/runtime.js +161 -0
- package/dist/system/runtime.js.map +1 -0
- package/dist/system/safestop.js +89 -0
- package/dist/system/safestop.js.map +1 -0
- package/dist/system/storage-preflight.js +123 -0
- package/dist/system/storage-preflight.js.map +1 -0
- package/dist/task-work/index.js +159 -0
- package/dist/task-work/index.js.map +1 -0
- package/dist/tasks/add.js +837 -0
- package/dist/tasks/add.js.map +1 -0
- package/dist/tasks/analyze.js +85 -0
- package/dist/tasks/analyze.js.map +1 -0
- package/dist/tasks/archive.js +90 -0
- package/dist/tasks/archive.js.map +1 -0
- package/dist/tasks/atomicity.js +83 -0
- package/dist/tasks/atomicity.js.map +1 -0
- package/dist/tasks/cancel-ops.js +83 -0
- package/dist/tasks/cancel-ops.js.map +1 -0
- package/dist/tasks/complete.js +229 -0
- package/dist/tasks/complete.js.map +1 -0
- package/dist/tasks/crossref-extract.js +73 -0
- package/dist/tasks/crossref-extract.js.map +1 -0
- package/dist/tasks/delete-preview.js +192 -0
- package/dist/tasks/delete-preview.js.map +1 -0
- package/dist/tasks/delete.js +120 -0
- package/dist/tasks/delete.js.map +1 -0
- package/dist/tasks/deletion-strategy.js +200 -0
- package/dist/tasks/deletion-strategy.js.map +1 -0
- package/dist/tasks/dependency-check.js +278 -0
- package/dist/tasks/dependency-check.js.map +1 -0
- package/dist/tasks/deps-ready.js +32 -0
- package/dist/tasks/deps-ready.js.map +1 -0
- package/dist/tasks/enforcement.js +86 -0
- package/dist/tasks/enforcement.js.map +1 -0
- package/dist/tasks/epic-enforcement.js +294 -0
- package/dist/tasks/epic-enforcement.js.map +1 -0
- package/dist/tasks/find.js +163 -0
- package/dist/tasks/find.js.map +1 -0
- package/dist/tasks/graph-cache.js +127 -0
- package/dist/tasks/graph-cache.js.map +1 -0
- package/dist/tasks/graph-ops.d.ts.map +1 -1
- package/dist/tasks/graph-ops.js +173 -0
- package/dist/tasks/graph-ops.js.map +1 -0
- package/dist/tasks/graph-rag.js +328 -0
- package/dist/tasks/graph-rag.js.map +1 -0
- package/dist/tasks/hierarchy-policy.js +149 -0
- package/dist/tasks/hierarchy-policy.js.map +1 -0
- package/dist/tasks/hierarchy.js +185 -0
- package/dist/tasks/hierarchy.js.map +1 -0
- package/dist/tasks/id-generator.js +65 -0
- package/dist/tasks/id-generator.js.map +1 -0
- package/dist/tasks/index.js +14 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/labels.js +55 -0
- package/dist/tasks/labels.js.map +1 -0
- package/dist/tasks/list.js +75 -0
- package/dist/tasks/list.js.map +1 -0
- package/dist/tasks/phase-tracking.js +133 -0
- package/dist/tasks/phase-tracking.js.map +1 -0
- package/dist/tasks/pipeline-stage.js +248 -0
- package/dist/tasks/pipeline-stage.js.map +1 -0
- package/dist/tasks/plan.js +268 -0
- package/dist/tasks/plan.js.map +1 -0
- package/dist/tasks/relates.js +101 -0
- package/dist/tasks/relates.js.map +1 -0
- package/dist/tasks/show.js +83 -0
- package/dist/tasks/show.js.map +1 -0
- package/dist/tasks/size-weighting.js +86 -0
- package/dist/tasks/size-weighting.js.map +1 -0
- package/dist/tasks/staleness.js +86 -0
- package/dist/tasks/staleness.js.map +1 -0
- package/dist/tasks/task-ops.js +1741 -0
- package/dist/tasks/task-ops.js.map +1 -0
- package/dist/tasks/update.js +303 -0
- package/dist/tasks/update.js.map +1 -0
- package/dist/templates/index.js +10 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/parser.js +254 -0
- package/dist/templates/parser.js.map +1 -0
- package/dist/ui/aliases.js +153 -0
- package/dist/ui/aliases.js.map +1 -0
- package/dist/ui/changelog.js +184 -0
- package/dist/ui/changelog.js.map +1 -0
- package/dist/ui/command-registry.js +168 -0
- package/dist/ui/command-registry.js.map +1 -0
- package/dist/ui/flags.js +94 -0
- package/dist/ui/flags.js.map +1 -0
- package/dist/ui/index.js +24 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/upgrade.js +1148 -0
- package/dist/upgrade.js.map +1 -0
- package/dist/validation/chain-validation.js +146 -0
- package/dist/validation/chain-validation.js.map +1 -0
- package/dist/validation/compliance.js +155 -0
- package/dist/validation/compliance.js.map +1 -0
- package/dist/validation/docs-sync.js +212 -0
- package/dist/validation/docs-sync.js.map +1 -0
- package/dist/validation/doctor/checks.js +1069 -0
- package/dist/validation/doctor/checks.js.map +1 -0
- package/dist/validation/doctor/index.js +9 -0
- package/dist/validation/doctor/index.js.map +1 -0
- package/dist/validation/doctor/project-cache.js +160 -0
- package/dist/validation/doctor/project-cache.js.map +1 -0
- package/dist/validation/doctor/utils.js +155 -0
- package/dist/validation/doctor/utils.js.map +1 -0
- package/dist/validation/engine.js +914 -0
- package/dist/validation/engine.js.map +1 -0
- package/dist/validation/gap-check.js +175 -0
- package/dist/validation/gap-check.js.map +1 -0
- package/dist/validation/index.js +40 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/manifest.js +237 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/validation/operation-gate-validators.js +724 -0
- package/dist/validation/operation-gate-validators.js.map +1 -0
- package/dist/validation/operation-verification-gates.js +532 -0
- package/dist/validation/operation-verification-gates.js.map +1 -0
- package/dist/validation/param-utils.js +141 -0
- package/dist/validation/param-utils.js.map +1 -0
- package/dist/validation/protocol-common.js +300 -0
- package/dist/validation/protocol-common.js.map +1 -0
- package/dist/validation/protocols/_shared.js +82 -0
- package/dist/validation/protocols/_shared.js.map +1 -0
- package/dist/validation/protocols/architecture-decision.js +31 -0
- package/dist/validation/protocols/architecture-decision.js.map +1 -0
- package/dist/validation/protocols/artifact-publish.js +28 -0
- package/dist/validation/protocols/artifact-publish.js.map +1 -0
- package/dist/validation/protocols/consensus.js +41 -0
- package/dist/validation/protocols/consensus.js.map +1 -0
- package/dist/validation/protocols/contribution.js +27 -0
- package/dist/validation/protocols/contribution.js.map +1 -0
- package/dist/validation/protocols/decomposition.js +28 -0
- package/dist/validation/protocols/decomposition.js.map +1 -0
- package/dist/validation/protocols/implementation.js +24 -0
- package/dist/validation/protocols/implementation.js.map +1 -0
- package/dist/validation/protocols/provenance.js +29 -0
- package/dist/validation/protocols/provenance.js.map +1 -0
- package/dist/validation/protocols/release.js +29 -0
- package/dist/validation/protocols/release.js.map +1 -0
- package/dist/validation/protocols/research.js +24 -0
- package/dist/validation/protocols/research.js.map +1 -0
- package/dist/validation/protocols/specification.js +27 -0
- package/dist/validation/protocols/specification.js.map +1 -0
- package/dist/validation/protocols/testing.js +30 -0
- package/dist/validation/protocols/testing.js.map +1 -0
- package/dist/validation/protocols/validation.js +30 -0
- package/dist/validation/protocols/validation.js.map +1 -0
- package/dist/validation/schema-integrity.js +170 -0
- package/dist/validation/schema-integrity.js.map +1 -0
- package/dist/validation/schema-validator.js +176 -0
- package/dist/validation/schema-validator.js.map +1 -0
- package/dist/validation/validate-ops.js +937 -0
- package/dist/validation/validate-ops.js.map +1 -0
- package/dist/validation/validation-rules.js +226 -0
- package/dist/validation/validation-rules.js.map +1 -0
- package/dist/validation/verification.js +321 -0
- package/dist/validation/verification.js.map +1 -0
- package/migrations/drizzle-brain/20260411000001_t528-graph-schema-expansion/migration.sql +47 -0
- package/migrations/drizzle-brain/20260412000001_t531-quality-score-typed-tables/migration.sql +23 -0
- package/migrations/drizzle-brain/20260413000001_t549-tiered-typed-memory/migration.sql +195 -0
- package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +49 -0
- package/package.json +8 -8
- package/src/hooks/handlers/index.ts +6 -0
- package/src/hooks/handlers/intelligence-hooks.ts +80 -0
- package/src/hooks/handlers/session-hooks.ts +41 -0
- package/src/hooks/handlers/watchdog-hooks.ts +187 -0
- package/src/injection.ts +41 -2
- package/src/internal.ts +31 -2
- package/src/memory/brain-consolidator.ts +344 -0
- package/src/memory/brain-lifecycle.ts +636 -2
- package/src/memory/brain-retrieval.ts +445 -2
- package/src/memory/brain-search.ts +38 -4
- package/src/memory/decisions.ts +21 -1
- package/src/memory/engine-compat.ts +9 -11
- package/src/memory/extraction-gate.ts +574 -0
- package/src/memory/index.ts +6 -2
- package/src/memory/learnings.ts +33 -1
- package/src/memory/patterns.ts +30 -1
- package/src/memory/quality-scoring.ts +93 -9
- package/src/nexus/nexus-bridge.ts +444 -0
- package/src/scaffold.ts +42 -0
- package/src/stats/index.ts +11 -3
- package/src/store/brain-schema.ts +238 -0
- package/src/store/brain-sqlite.ts +55 -0
- package/src/store/migration-manager.ts +83 -12
- package/src/system/health.ts +17 -0
- package/src/tasks/graph-ops.ts +1 -0
- package/src/tasks/task-ops.ts +1 -1
- package/templates/CLEO-INJECTION.md +15 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks System - Barrel Export
|
|
3
|
+
*
|
|
4
|
+
* Central export point for the CLEO hooks system.
|
|
5
|
+
* Import from here to access the hook registry, types, handlers, and
|
|
6
|
+
* Zod payload validation schemas.
|
|
7
|
+
*
|
|
8
|
+
* @module @cleocode/cleo/hooks
|
|
9
|
+
*/
|
|
10
|
+
export * from './handlers/index.js';
|
|
11
|
+
export { HookPayloadSchema, OnAgentCompletePayloadSchema, OnAgentSpawnPayloadSchema, OnCascadeStartPayloadSchema, OnErrorPayloadSchema, OnFileChangePayloadSchema, OnPatrolPayloadSchema, OnPromptSubmitPayloadSchema, OnResponseCompletePayloadSchema, OnSessionEndPayloadSchema, OnSessionStartPayloadSchema, OnToolCompletePayloadSchema, OnToolStartPayloadSchema, OnWorkAvailablePayloadSchema, validatePayload, } from './payload-schemas.js';
|
|
12
|
+
export { HookRegistry, hooks } from './registry.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod validation schemas for hook event payloads.
|
|
3
|
+
*
|
|
4
|
+
* Provides runtime validation for all hook payload types defined in
|
|
5
|
+
* ./types.ts. Each schema mirrors its corresponding TypeScript interface
|
|
6
|
+
* and can be used to validate payloads at dispatch time.
|
|
7
|
+
*
|
|
8
|
+
* @module @cleocode/cleo/hooks/payload-schemas
|
|
9
|
+
*/
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Base Payload Schema
|
|
13
|
+
// ============================================================================
|
|
14
|
+
/** Zod schema for {@link HookPayload}. */
|
|
15
|
+
export const HookPayloadSchema = z.object({
|
|
16
|
+
timestamp: z.iso.datetime(),
|
|
17
|
+
sessionId: z.string().optional(),
|
|
18
|
+
taskId: z.string().optional(),
|
|
19
|
+
providerId: z.string().optional(),
|
|
20
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
21
|
+
});
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// CAAMP-mapped Event Payload Schemas
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/** Zod schema for {@link SessionStartPayload}. */
|
|
26
|
+
export const SessionStartPayloadSchema = HookPayloadSchema.extend({
|
|
27
|
+
sessionId: z.string(),
|
|
28
|
+
name: z.string(),
|
|
29
|
+
scope: z.string(),
|
|
30
|
+
agent: z.string().optional(),
|
|
31
|
+
});
|
|
32
|
+
/** @deprecated Use {@link SessionStartPayloadSchema}. Kept for backward compatibility. */
|
|
33
|
+
export const OnSessionStartPayloadSchema = SessionStartPayloadSchema;
|
|
34
|
+
/** Zod schema for {@link SessionEndPayload}. */
|
|
35
|
+
export const SessionEndPayloadSchema = HookPayloadSchema.extend({
|
|
36
|
+
sessionId: z.string(),
|
|
37
|
+
duration: z.number(),
|
|
38
|
+
tasksCompleted: z.array(z.string()),
|
|
39
|
+
});
|
|
40
|
+
/** @deprecated Use {@link SessionEndPayloadSchema}. Kept for backward compatibility. */
|
|
41
|
+
export const OnSessionEndPayloadSchema = SessionEndPayloadSchema;
|
|
42
|
+
/** Zod schema for {@link PreToolUsePayload}. */
|
|
43
|
+
export const PreToolUsePayloadSchema = HookPayloadSchema.extend({
|
|
44
|
+
taskId: z.string(),
|
|
45
|
+
taskTitle: z.string(),
|
|
46
|
+
previousTask: z.string().optional(),
|
|
47
|
+
toolName: z.string().optional(),
|
|
48
|
+
toolInput: z.record(z.string(), z.unknown()).optional(),
|
|
49
|
+
});
|
|
50
|
+
/** @deprecated Use {@link PreToolUsePayloadSchema}. Kept for backward compatibility. */
|
|
51
|
+
export const OnToolStartPayloadSchema = PreToolUsePayloadSchema;
|
|
52
|
+
/** Zod schema for {@link PostToolUsePayload}. */
|
|
53
|
+
export const PostToolUsePayloadSchema = HookPayloadSchema.extend({
|
|
54
|
+
taskId: z.string(),
|
|
55
|
+
taskTitle: z.string(),
|
|
56
|
+
status: z.enum(['done', 'archived', 'cancelled']),
|
|
57
|
+
toolResult: z.record(z.string(), z.unknown()).optional(),
|
|
58
|
+
});
|
|
59
|
+
/** @deprecated Use {@link PostToolUsePayloadSchema}. Kept for backward compatibility. */
|
|
60
|
+
export const OnToolCompletePayloadSchema = PostToolUsePayloadSchema;
|
|
61
|
+
/** Zod schema for {@link NotificationPayload}. */
|
|
62
|
+
export const NotificationPayloadSchema = HookPayloadSchema.extend({
|
|
63
|
+
filePath: z.string().optional(),
|
|
64
|
+
changeType: z.enum(['write', 'create', 'delete']).optional(),
|
|
65
|
+
sizeBytes: z.number().optional(),
|
|
66
|
+
message: z.string().optional(),
|
|
67
|
+
});
|
|
68
|
+
/** @deprecated Use {@link NotificationPayloadSchema}. Kept for backward compatibility. */
|
|
69
|
+
export const OnFileChangePayloadSchema = NotificationPayloadSchema;
|
|
70
|
+
/** Zod schema for {@link PostToolUseFailurePayload}. */
|
|
71
|
+
export const PostToolUseFailurePayloadSchema = HookPayloadSchema.extend({
|
|
72
|
+
errorCode: z.union([z.number(), z.string()]),
|
|
73
|
+
message: z.string(),
|
|
74
|
+
domain: z.string().optional(),
|
|
75
|
+
operation: z.string().optional(),
|
|
76
|
+
gateway: z.string().optional(),
|
|
77
|
+
stack: z.string().optional(),
|
|
78
|
+
});
|
|
79
|
+
/** @deprecated Use {@link PostToolUseFailurePayloadSchema}. Kept for backward compatibility. */
|
|
80
|
+
export const OnErrorPayloadSchema = PostToolUseFailurePayloadSchema;
|
|
81
|
+
/** Zod schema for {@link PromptSubmitPayload}. */
|
|
82
|
+
export const PromptSubmitPayloadSchema = HookPayloadSchema.extend({
|
|
83
|
+
gateway: z.string(),
|
|
84
|
+
domain: z.string(),
|
|
85
|
+
operation: z.string(),
|
|
86
|
+
source: z.string().optional(),
|
|
87
|
+
});
|
|
88
|
+
/** @deprecated Use {@link PromptSubmitPayloadSchema}. Kept for backward compatibility. */
|
|
89
|
+
export const OnPromptSubmitPayloadSchema = PromptSubmitPayloadSchema;
|
|
90
|
+
/** Zod schema for {@link ResponseCompletePayload}. */
|
|
91
|
+
export const ResponseCompletePayloadSchema = HookPayloadSchema.extend({
|
|
92
|
+
gateway: z.string(),
|
|
93
|
+
domain: z.string(),
|
|
94
|
+
operation: z.string(),
|
|
95
|
+
success: z.boolean(),
|
|
96
|
+
durationMs: z.number().optional(),
|
|
97
|
+
errorCode: z.string().optional(),
|
|
98
|
+
});
|
|
99
|
+
/** @deprecated Use {@link ResponseCompletePayloadSchema}. Kept for backward compatibility. */
|
|
100
|
+
export const OnResponseCompletePayloadSchema = ResponseCompletePayloadSchema;
|
|
101
|
+
/** Zod schema for {@link SubagentStartPayload}. */
|
|
102
|
+
export const SubagentStartPayloadSchema = HookPayloadSchema.extend({
|
|
103
|
+
agentId: z.string(),
|
|
104
|
+
role: z.string().optional(),
|
|
105
|
+
taskId: z.string().optional(),
|
|
106
|
+
});
|
|
107
|
+
/** Zod schema for {@link SubagentStopPayload}. */
|
|
108
|
+
export const SubagentStopPayloadSchema = HookPayloadSchema.extend({
|
|
109
|
+
agentId: z.string(),
|
|
110
|
+
status: z.enum(['complete', 'partial', 'blocked', 'failed']).optional(),
|
|
111
|
+
taskId: z.string().optional(),
|
|
112
|
+
summary: z.string().optional(),
|
|
113
|
+
});
|
|
114
|
+
/** Zod schema for {@link PreCompactPayload}. */
|
|
115
|
+
export const PreCompactPayloadSchema = HookPayloadSchema.extend({
|
|
116
|
+
tokensBefore: z.number().optional(),
|
|
117
|
+
reason: z.string().optional(),
|
|
118
|
+
});
|
|
119
|
+
/** Zod schema for {@link PostCompactPayload}. */
|
|
120
|
+
export const PostCompactPayloadSchema = HookPayloadSchema.extend({
|
|
121
|
+
tokensBefore: z.number().optional(),
|
|
122
|
+
tokensAfter: z.number().optional(),
|
|
123
|
+
success: z.boolean(),
|
|
124
|
+
});
|
|
125
|
+
/** Zod schema for {@link ConfigChangePayload}. */
|
|
126
|
+
export const ConfigChangePayloadSchema = HookPayloadSchema.extend({
|
|
127
|
+
key: z.string(),
|
|
128
|
+
previousValue: z.unknown().optional(),
|
|
129
|
+
newValue: z.unknown().optional(),
|
|
130
|
+
});
|
|
131
|
+
// ============================================================================
|
|
132
|
+
// CLEO Internal Event Payload Schemas
|
|
133
|
+
// ============================================================================
|
|
134
|
+
/** Zod schema for {@link OnWorkAvailablePayload}. */
|
|
135
|
+
export const OnWorkAvailablePayloadSchema = HookPayloadSchema.extend({
|
|
136
|
+
taskIds: z.array(z.string()),
|
|
137
|
+
epicId: z.string().optional(),
|
|
138
|
+
chainId: z.string().optional(),
|
|
139
|
+
reason: z.enum(['dependency-cleared', 'new-task', 'retry', 'manual', 'patrol']).optional(),
|
|
140
|
+
});
|
|
141
|
+
/** Zod schema for {@link OnAgentSpawnPayload}. */
|
|
142
|
+
export const OnAgentSpawnPayloadSchema = HookPayloadSchema.extend({
|
|
143
|
+
agentId: z.string(),
|
|
144
|
+
role: z.string(),
|
|
145
|
+
adapterId: z.string().optional(),
|
|
146
|
+
taskId: z.string().optional(),
|
|
147
|
+
});
|
|
148
|
+
/** Zod schema for {@link OnAgentCompletePayload}. */
|
|
149
|
+
export const OnAgentCompletePayloadSchema = HookPayloadSchema.extend({
|
|
150
|
+
agentId: z.string(),
|
|
151
|
+
role: z.string(),
|
|
152
|
+
status: z.enum(['complete', 'partial', 'blocked', 'failed']),
|
|
153
|
+
taskId: z.string().optional(),
|
|
154
|
+
summary: z.string().optional(),
|
|
155
|
+
});
|
|
156
|
+
/** Zod schema for {@link OnCascadeStartPayload}. */
|
|
157
|
+
export const OnCascadeStartPayloadSchema = HookPayloadSchema.extend({
|
|
158
|
+
cascadeId: z.string(),
|
|
159
|
+
chainId: z.string().optional(),
|
|
160
|
+
tesseraId: z.string().optional(),
|
|
161
|
+
taskIds: z.array(z.string()).optional(),
|
|
162
|
+
});
|
|
163
|
+
/** Zod schema for {@link OnPatrolPayload}. */
|
|
164
|
+
export const OnPatrolPayloadSchema = HookPayloadSchema.extend({
|
|
165
|
+
watcherId: z.string(),
|
|
166
|
+
patrolType: z.enum(['health', 'sweep', 'refinery', 'watcher', 'custom']),
|
|
167
|
+
scope: z.string().optional(),
|
|
168
|
+
});
|
|
169
|
+
// ============================================================================
|
|
170
|
+
// Event -> Schema Mapping
|
|
171
|
+
// ============================================================================
|
|
172
|
+
/**
|
|
173
|
+
* Map from hook event name to its corresponding Zod schema.
|
|
174
|
+
*
|
|
175
|
+
* Used by {@link validatePayload} for runtime dispatch. Events not in
|
|
176
|
+
* this map fall back to the base {@link HookPayloadSchema}.
|
|
177
|
+
*/
|
|
178
|
+
const EVENT_SCHEMA_MAP = {
|
|
179
|
+
// CAAMP canonical events (16)
|
|
180
|
+
SessionStart: SessionStartPayloadSchema,
|
|
181
|
+
SessionEnd: SessionEndPayloadSchema,
|
|
182
|
+
PreToolUse: PreToolUsePayloadSchema,
|
|
183
|
+
PostToolUse: PostToolUsePayloadSchema,
|
|
184
|
+
Notification: NotificationPayloadSchema,
|
|
185
|
+
PostToolUseFailure: PostToolUseFailurePayloadSchema,
|
|
186
|
+
PromptSubmit: PromptSubmitPayloadSchema,
|
|
187
|
+
ResponseComplete: ResponseCompletePayloadSchema,
|
|
188
|
+
SubagentStart: SubagentStartPayloadSchema,
|
|
189
|
+
SubagentStop: SubagentStopPayloadSchema,
|
|
190
|
+
PreCompact: PreCompactPayloadSchema,
|
|
191
|
+
PostCompact: PostCompactPayloadSchema,
|
|
192
|
+
ConfigChange: ConfigChangePayloadSchema,
|
|
193
|
+
// CLEO internal coordination events (5)
|
|
194
|
+
onWorkAvailable: OnWorkAvailablePayloadSchema,
|
|
195
|
+
onAgentSpawn: OnAgentSpawnPayloadSchema,
|
|
196
|
+
onAgentComplete: OnAgentCompletePayloadSchema,
|
|
197
|
+
onCascadeStart: OnCascadeStartPayloadSchema,
|
|
198
|
+
onPatrol: OnPatrolPayloadSchema,
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Validate a hook payload against its event-specific Zod schema.
|
|
202
|
+
*
|
|
203
|
+
* Falls back to the base {@link HookPayloadSchema} for events without
|
|
204
|
+
* a dedicated schema. Returns a result object rather than throwing,
|
|
205
|
+
* so callers can decide how to handle validation failures.
|
|
206
|
+
*
|
|
207
|
+
* @param event - The hook event name
|
|
208
|
+
* @param payload - The payload to validate
|
|
209
|
+
* @returns Validation result with any error messages
|
|
210
|
+
*/
|
|
211
|
+
export function validatePayload(event, payload) {
|
|
212
|
+
const schema = EVENT_SCHEMA_MAP[event] ?? HookPayloadSchema;
|
|
213
|
+
const result = schema.safeParse(payload);
|
|
214
|
+
if (result.success) {
|
|
215
|
+
return { valid: true, errors: [] };
|
|
216
|
+
}
|
|
217
|
+
const errors = result.error.issues.map((issue) => `${issue.path.join('.')}: ${issue.message}`);
|
|
218
|
+
return { valid: false, errors };
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=payload-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload-schemas.js","sourceRoot":"","sources":["../../src/hooks/payload-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Hook Capabilities - Phase 2C of T5237
|
|
3
|
+
*
|
|
4
|
+
* Helper functions for querying which providers support which hook events.
|
|
5
|
+
* Wraps CAAMP's provider discovery and normalizer functions with CLEO-specific helpers.
|
|
6
|
+
*
|
|
7
|
+
* Updated for CAAMP 1.9.1: uses CanonicalHookEvent and toNative/toCanonical normalizers.
|
|
8
|
+
*
|
|
9
|
+
* @module @cleocode/cleo/hooks/provider-hooks
|
|
10
|
+
*/
|
|
11
|
+
import { getCommonHookEvents, getProvidersByHookEvent, supportsHook, toCanonical, toNative, } from '@cleocode/caamp';
|
|
12
|
+
import { isProviderHookEvent } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Get all providers that support a specific hook event
|
|
15
|
+
*
|
|
16
|
+
* @param event - The hook event to query (canonical or internal)
|
|
17
|
+
* @returns Array of provider IDs that support this event
|
|
18
|
+
*/
|
|
19
|
+
export function getHookCapableProviders(event) {
|
|
20
|
+
if (!isProviderHookEvent(event)) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const providers = getProvidersByHookEvent(event);
|
|
24
|
+
return providers.map((p) => p.id);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get hook events supported by all specified providers
|
|
28
|
+
*
|
|
29
|
+
* @param providerIds - Optional array of provider IDs (uses all active providers if omitted)
|
|
30
|
+
* @returns Array of canonical hook events supported by all specified providers
|
|
31
|
+
*/
|
|
32
|
+
export function getSharedHookEvents(providerIds) {
|
|
33
|
+
return getCommonHookEvents(providerIds);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Translate a canonical hook event to a provider-native event name.
|
|
37
|
+
*
|
|
38
|
+
* @param event - The canonical CAAMP event name
|
|
39
|
+
* @param providerId - The provider to translate for
|
|
40
|
+
* @returns The native event name, or null if the provider doesn't support it
|
|
41
|
+
*/
|
|
42
|
+
export function toNativeHookEvent(event, providerId) {
|
|
43
|
+
return toNative(event, providerId);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Translate a provider-native event name back to its canonical equivalent.
|
|
47
|
+
*
|
|
48
|
+
* @param nativeEvent - The provider-specific event name
|
|
49
|
+
* @param providerId - The provider this event belongs to
|
|
50
|
+
* @returns The canonical event name, or null if no mapping exists
|
|
51
|
+
*/
|
|
52
|
+
export function toCanonicalHookEvent(nativeEvent, providerId) {
|
|
53
|
+
return toCanonical(nativeEvent, providerId);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if a provider supports a specific canonical hook event.
|
|
57
|
+
*
|
|
58
|
+
* @param event - The canonical event name
|
|
59
|
+
* @param providerId - The provider to check
|
|
60
|
+
* @returns True if the provider supports this event
|
|
61
|
+
*/
|
|
62
|
+
export function providerSupportsHookEvent(event, providerId) {
|
|
63
|
+
return supportsHook(event, providerId);
|
|
64
|
+
}
|
|
65
|
+
export { getCommonHookEvents, getProvidersByHookEvent, supportsHook, toCanonical, toNative };
|
|
66
|
+
//# sourceMappingURL=provider-hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-hooks.js","sourceRoot":"","sources":["../../src/hooks/provider-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAgB;IACtD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAA2B,CAAC,CAAC;IACvE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAsB;IACxD,OAAO,mBAAmB,CAAC,WAAW,CAAyB,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB,EAAE,UAAkB;IAC7E,OAAO,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,UAAkB;IAElB,OAAO,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAyB,EAAE,UAAkB;IACrF,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAGD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook Registry System - Phase 2C of T5237
|
|
3
|
+
*
|
|
4
|
+
* Central registry for managing hook handlers with priority-based execution,
|
|
5
|
+
* async dispatch, and best-effort error handling. Integrates with CAAMP 1.9.1
|
|
6
|
+
* canonical event definitions while providing CLEO's execution engine.
|
|
7
|
+
*
|
|
8
|
+
* @module @cleocode/cleo/hooks/registry
|
|
9
|
+
*/
|
|
10
|
+
import { getLogger } from '../logger.js';
|
|
11
|
+
/** Map from old `on`-prefix event names to new canonical names. Used for backward compat. */
|
|
12
|
+
const LEGACY_EVENT_MAP = {
|
|
13
|
+
onSessionStart: 'SessionStart',
|
|
14
|
+
onSessionEnd: 'SessionEnd',
|
|
15
|
+
onToolStart: 'PreToolUse',
|
|
16
|
+
onToolComplete: 'PostToolUse',
|
|
17
|
+
onFileChange: 'Notification',
|
|
18
|
+
onError: 'PostToolUseFailure',
|
|
19
|
+
onPromptSubmit: 'PromptSubmit',
|
|
20
|
+
onResponseComplete: 'ResponseComplete',
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Default configuration for the hook system.
|
|
24
|
+
* All events are enabled by default.
|
|
25
|
+
*/
|
|
26
|
+
const DEFAULT_HOOK_CONFIG = {
|
|
27
|
+
enabled: true,
|
|
28
|
+
events: {
|
|
29
|
+
// CAAMP canonical events (16)
|
|
30
|
+
SessionStart: true,
|
|
31
|
+
SessionEnd: true,
|
|
32
|
+
PromptSubmit: true,
|
|
33
|
+
ResponseComplete: true,
|
|
34
|
+
PreToolUse: true,
|
|
35
|
+
PostToolUse: true,
|
|
36
|
+
PostToolUseFailure: true,
|
|
37
|
+
PermissionRequest: true,
|
|
38
|
+
SubagentStart: true,
|
|
39
|
+
SubagentStop: true,
|
|
40
|
+
PreModel: true,
|
|
41
|
+
PostModel: true,
|
|
42
|
+
PreCompact: true,
|
|
43
|
+
PostCompact: true,
|
|
44
|
+
Notification: true,
|
|
45
|
+
ConfigChange: true,
|
|
46
|
+
// CLEO internal coordination events (5)
|
|
47
|
+
onWorkAvailable: true,
|
|
48
|
+
onAgentSpawn: true,
|
|
49
|
+
onAgentComplete: true,
|
|
50
|
+
onCascadeStart: true,
|
|
51
|
+
onPatrol: true,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Central registry for hook handlers.
|
|
56
|
+
*
|
|
57
|
+
* Manages registration, priority-based ordering, and async dispatch
|
|
58
|
+
* of hook handlers. Provides best-effort execution where errors in
|
|
59
|
+
* one handler do not block others.
|
|
60
|
+
*
|
|
61
|
+
* Backward compatibility: handlers registered with legacy `on`-prefix
|
|
62
|
+
* event names (e.g. `onSessionStart`) are automatically remapped to their
|
|
63
|
+
* canonical equivalents (e.g. `SessionStart`) with a deprecation warning.
|
|
64
|
+
*/
|
|
65
|
+
export class HookRegistry {
|
|
66
|
+
handlers = new Map();
|
|
67
|
+
config = DEFAULT_HOOK_CONFIG;
|
|
68
|
+
/**
|
|
69
|
+
* Resolve a potentially-legacy event name to its canonical equivalent.
|
|
70
|
+
*
|
|
71
|
+
* If the event name matches a known legacy `on`-prefix name, it is
|
|
72
|
+
* remapped and a deprecation warning is logged. Unknown names pass through
|
|
73
|
+
* unchanged so callers using the new canonical names are unaffected.
|
|
74
|
+
*/
|
|
75
|
+
resolveEvent(event) {
|
|
76
|
+
const canonical = LEGACY_EVENT_MAP[event];
|
|
77
|
+
if (canonical) {
|
|
78
|
+
getLogger('hooks').warn({ legacyEvent: event, canonicalEvent: canonical }, `[DEPRECATED] Hook event '${event}' has been renamed to '${canonical}'. Update your handler registration.`);
|
|
79
|
+
return canonical;
|
|
80
|
+
}
|
|
81
|
+
return event;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Register a hook handler for a specific event.
|
|
85
|
+
*
|
|
86
|
+
* Handlers are sorted by priority (highest first) and executed
|
|
87
|
+
* in parallel when the event is dispatched.
|
|
88
|
+
*
|
|
89
|
+
* Backward compatibility: legacy `on`-prefix event names are automatically
|
|
90
|
+
* remapped to their canonical equivalents.
|
|
91
|
+
*
|
|
92
|
+
* @param registration - The hook registration containing event, handler, priority, and ID
|
|
93
|
+
* @returns A function to unregister the handler
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const unregister = hooks.register({
|
|
98
|
+
* id: 'my-handler',
|
|
99
|
+
* event: 'SessionStart',
|
|
100
|
+
* handler: async (root, payload) => { console.log('Session started'); },
|
|
101
|
+
* priority: 100
|
|
102
|
+
* });
|
|
103
|
+
*
|
|
104
|
+
* // Later: unregister()
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
register(registration) {
|
|
108
|
+
const resolvedEvent = this.resolveEvent(registration.event);
|
|
109
|
+
const resolvedRegistration = { ...registration, event: resolvedEvent };
|
|
110
|
+
const list = this.handlers.get(resolvedEvent) || [];
|
|
111
|
+
list.push(resolvedRegistration);
|
|
112
|
+
// Sort by priority (highest first)
|
|
113
|
+
list.sort((a, b) => b.priority - a.priority);
|
|
114
|
+
this.handlers.set(resolvedEvent, list);
|
|
115
|
+
// Return unregister function
|
|
116
|
+
return () => {
|
|
117
|
+
const handlers = this.handlers.get(resolvedEvent);
|
|
118
|
+
if (handlers) {
|
|
119
|
+
const idx = handlers.findIndex((h) => h.id === registration.id);
|
|
120
|
+
if (idx !== -1)
|
|
121
|
+
handlers.splice(idx, 1);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Dispatch an event to all registered handlers.
|
|
127
|
+
*
|
|
128
|
+
* Executes handlers in parallel using Promise.allSettled for best-effort
|
|
129
|
+
* execution. Errors in individual handlers are logged but do not block
|
|
130
|
+
* other handlers or propagate to the caller.
|
|
131
|
+
*
|
|
132
|
+
* Backward compatibility: legacy `on`-prefix event names are automatically
|
|
133
|
+
* remapped to their canonical equivalents.
|
|
134
|
+
*
|
|
135
|
+
* @param event - The CAAMP canonical hook event to dispatch
|
|
136
|
+
* @param projectRoot - The project root directory path
|
|
137
|
+
* @param payload - The event payload (typed by event)
|
|
138
|
+
* @returns Promise that resolves when all handlers have completed
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* await hooks.dispatch('SessionStart', '/project', {
|
|
143
|
+
* timestamp: new Date().toISOString(),
|
|
144
|
+
* sessionId: 'sess-123',
|
|
145
|
+
* name: 'My Session',
|
|
146
|
+
* scope: 'feature'
|
|
147
|
+
* });
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
async dispatch(event, projectRoot, payload) {
|
|
151
|
+
// Check if hooks enabled globally
|
|
152
|
+
if (!this.config.enabled)
|
|
153
|
+
return;
|
|
154
|
+
const resolvedEvent = this.resolveEvent(event);
|
|
155
|
+
// Check if this event enabled
|
|
156
|
+
if (!this.config.events[resolvedEvent])
|
|
157
|
+
return;
|
|
158
|
+
const handlers = this.handlers.get(resolvedEvent);
|
|
159
|
+
if (!handlers || handlers.length === 0)
|
|
160
|
+
return;
|
|
161
|
+
// Execute all handlers in parallel (best-effort)
|
|
162
|
+
await Promise.allSettled(handlers.map(async (reg) => {
|
|
163
|
+
try {
|
|
164
|
+
await reg.handler(projectRoot, payload);
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
// Hooks are best-effort - log but don't throw
|
|
168
|
+
getLogger('hooks').warn({ err: error, hookId: reg.id, event: resolvedEvent }, 'Hook handler failed');
|
|
169
|
+
}
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Check if a specific event is currently enabled.
|
|
174
|
+
*
|
|
175
|
+
* Both the global enabled flag and the per-event flag must be true.
|
|
176
|
+
* Automatically resolves legacy `on`-prefix event names.
|
|
177
|
+
*
|
|
178
|
+
* @param event - The CAAMP hook event to check
|
|
179
|
+
* @returns True if the event is enabled
|
|
180
|
+
*/
|
|
181
|
+
isEnabled(event) {
|
|
182
|
+
const resolvedEvent = this.resolveEvent(event);
|
|
183
|
+
return this.config.enabled && this.config.events[resolvedEvent];
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Update the hook system configuration.
|
|
187
|
+
*
|
|
188
|
+
* Merges the provided config with the existing config.
|
|
189
|
+
*
|
|
190
|
+
* @param config - Partial configuration to apply
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* hooks.setConfig({ enabled: false }); // Disable all hooks
|
|
195
|
+
* hooks.setConfig({ events: { PostToolUseFailure: false } }); // Disable specific event
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
setConfig(config) {
|
|
199
|
+
this.config = { ...this.config, ...config };
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get the current hook configuration.
|
|
203
|
+
*
|
|
204
|
+
* @returns A copy of the current configuration
|
|
205
|
+
*/
|
|
206
|
+
getConfig() {
|
|
207
|
+
return { ...this.config };
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* List all registered handlers for a specific event.
|
|
211
|
+
*
|
|
212
|
+
* Returns handlers in priority order (highest first).
|
|
213
|
+
* Automatically resolves legacy `on`-prefix event names.
|
|
214
|
+
*
|
|
215
|
+
* @param event - The CAAMP hook event
|
|
216
|
+
* @returns Array of hook registrations
|
|
217
|
+
*/
|
|
218
|
+
listHandlers(event) {
|
|
219
|
+
const resolvedEvent = this.resolveEvent(event);
|
|
220
|
+
return [...(this.handlers.get(resolvedEvent) || [])];
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Singleton instance of the HookRegistry.
|
|
225
|
+
*
|
|
226
|
+
* Use this instance for all hook operations throughout the application.
|
|
227
|
+
*/
|
|
228
|
+
export const hooks = new HookRegistry();
|
|
229
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/hooks/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Universal Hooks Core Types - Phase 2B of T5237
|
|
3
|
+
*
|
|
4
|
+
* This module defines the core type system for CLEO's Universal Hooks
|
|
5
|
+
* integration with CAAMP 1.9.1. CLEO builds the hook registry and
|
|
6
|
+
* execution system while CAAMP provides the canonical event definitions.
|
|
7
|
+
*
|
|
8
|
+
* @module @cleocode/cleo/hooks/types
|
|
9
|
+
*/
|
|
10
|
+
import { buildHookMatrix, CANONICAL_HOOK_EVENTS, HOOK_CATEGORIES, supportsHook, toCanonical, toNative, } from '@cleocode/caamp';
|
|
11
|
+
// Re-export CAAMP provider query functions for hook capability discovery
|
|
12
|
+
export { getCommonHookEvents, getProvidersByHookEvent } from '@cleocode/caamp';
|
|
13
|
+
// Re-export CAAMP canonical event constants and normalizer APIs
|
|
14
|
+
export { buildHookMatrix, CANONICAL_HOOK_EVENTS, HOOK_CATEGORIES, supportsHook, toCanonical, toNative, };
|
|
15
|
+
/**
|
|
16
|
+
* CLEO-local coordination events used by the autonomous runtime.
|
|
17
|
+
*
|
|
18
|
+
* These are internal lifecycle signals for worker orchestration and are not
|
|
19
|
+
* surfaced through CAAMP's provider capability registry.
|
|
20
|
+
*/
|
|
21
|
+
export const INTERNAL_HOOK_EVENTS = [
|
|
22
|
+
'onWorkAvailable',
|
|
23
|
+
'onAgentSpawn',
|
|
24
|
+
'onAgentComplete',
|
|
25
|
+
'onCascadeStart',
|
|
26
|
+
'onPatrol',
|
|
27
|
+
];
|
|
28
|
+
const INTERNAL_HOOK_EVENT_SET = new Set(INTERNAL_HOOK_EVENTS);
|
|
29
|
+
/**
|
|
30
|
+
* Type guard for CAAMP/provider-discoverable canonical hook events.
|
|
31
|
+
*/
|
|
32
|
+
export function isProviderHookEvent(event) {
|
|
33
|
+
return !INTERNAL_HOOK_EVENT_SET.has(event);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Type guard for CLEO-local coordination hook events.
|
|
37
|
+
*/
|
|
38
|
+
export function isInternalHookEvent(event) {
|
|
39
|
+
return INTERNAL_HOOK_EVENT_SET.has(event);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Mapping from CLEO internal lifecycle events to CAAMP canonical hook event names.
|
|
43
|
+
*
|
|
44
|
+
* Updated for CAAMP 1.9.1 canonical taxonomy.
|
|
45
|
+
*/
|
|
46
|
+
export const CLEO_TO_CAAMP_HOOK_MAP = {
|
|
47
|
+
'session.start': 'SessionStart',
|
|
48
|
+
'session.end': 'SessionEnd',
|
|
49
|
+
'task.start': 'PreToolUse',
|
|
50
|
+
'task.complete': 'PostToolUse',
|
|
51
|
+
'file.change': 'Notification',
|
|
52
|
+
'system.error': 'PostToolUseFailure',
|
|
53
|
+
'prompt.submit': 'PromptSubmit',
|
|
54
|
+
'response.complete': 'ResponseComplete',
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Internal CLEO lifecycle events that drive autonomous coordination.
|
|
58
|
+
*/
|
|
59
|
+
export const CLEO_INTERNAL_HOOK_MAP = {
|
|
60
|
+
'agent.work.available': 'onWorkAvailable',
|
|
61
|
+
'agent.spawn': 'onAgentSpawn',
|
|
62
|
+
'agent.complete': 'onAgentComplete',
|
|
63
|
+
'cascade.start': 'onCascadeStart',
|
|
64
|
+
'watcher.patrol': 'onPatrol',
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,gEAAgE;AAChE,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,CAAC;AASF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,iBAAiB;IACjB,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,UAAU;CACF,CAAC;AAYX,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAO,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AA2ZD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,eAAe,EAAE,cAAc;IAC/B,aAAa,EAAE,YAAY;IAC3B,YAAY,EAAE,YAAY;IAC1B,eAAe,EAAE,aAAa;IAC9B,aAAa,EAAE,cAAc;IAC7B,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,cAAc;IAC/B,mBAAmB,EAAE,kBAAkB;CACc,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,sBAAsB,EAAE,iBAAiB;IACzC,aAAa,EAAE,cAAc;IAC7B,gBAAgB,EAAE,iBAAiB;IACnC,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,UAAU;CACpB,CAAC"}
|