@cleocode/core 2026.4.41 → 2026.4.43
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/conduit/factory.d.ts +10 -5
- package/dist/conduit/factory.d.ts.map +1 -1
- package/dist/index.js +77 -8
- package/dist/index.js.map +3 -3
- package/dist/init.d.ts.map +1 -1
- package/dist/store/brain-sqlite.d.ts.map +1 -1
- package/package.json +13 -8
- package/src/conduit/factory.ts +20 -17
- package/src/init.ts +22 -1
- package/src/store/__tests__/git-checkpoint.test.ts +12 -15
- package/src/store/brain-sqlite.ts +12 -0
- package/dist/adapters/adapter-registry.js +0 -64
- package/dist/adapters/adapter-registry.js.map +0 -1
- package/dist/adapters/discovery.js +0 -83
- package/dist/adapters/discovery.js.map +0 -1
- package/dist/adapters/index.js +0 -9
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/manager.js +0 -260
- package/dist/adapters/manager.js.map +0 -1
- package/dist/admin/export-tasks.js +0 -171
- package/dist/admin/export-tasks.js.map +0 -1
- package/dist/admin/export.js +0 -103
- package/dist/admin/export.js.map +0 -1
- package/dist/admin/help.js +0 -106
- package/dist/admin/help.js.map +0 -1
- package/dist/admin/import-tasks.js +0 -182
- package/dist/admin/import-tasks.js.map +0 -1
- package/dist/admin/import.js +0 -129
- package/dist/admin/import.js.map +0 -1
- package/dist/admin/index.js +0 -13
- package/dist/admin/index.js.map +0 -1
- package/dist/adrs/find.js +0 -134
- package/dist/adrs/find.js.map +0 -1
- package/dist/adrs/index.js +0 -15
- package/dist/adrs/index.js.map +0 -1
- package/dist/adrs/link-pipeline.js +0 -160
- package/dist/adrs/link-pipeline.js.map +0 -1
- package/dist/adrs/list.js +0 -43
- package/dist/adrs/list.js.map +0 -1
- package/dist/adrs/parse.js +0 -51
- package/dist/adrs/parse.js.map +0 -1
- package/dist/adrs/show.js +0 -22
- package/dist/adrs/show.js.map +0 -1
- package/dist/adrs/sync.js +0 -232
- package/dist/adrs/sync.js.map +0 -1
- package/dist/adrs/types.js +0 -9
- package/dist/adrs/types.js.map +0 -1
- package/dist/adrs/validate.js +0 -57
- package/dist/adrs/validate.js.map +0 -1
- package/dist/agents/agent-registry.js +0 -288
- package/dist/agents/agent-registry.js.map +0 -1
- package/dist/agents/agent-schema.js +0 -82
- package/dist/agents/agent-schema.js.map +0 -1
- package/dist/agents/capacity.js +0 -116
- package/dist/agents/capacity.js.map +0 -1
- package/dist/agents/execution-learning.js +0 -474
- package/dist/agents/execution-learning.js.map +0 -1
- package/dist/agents/health-monitor.js +0 -217
- package/dist/agents/health-monitor.js.map +0 -1
- package/dist/agents/index.js +0 -29
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/registry.js +0 -314
- package/dist/agents/registry.js.map +0 -1
- package/dist/agents/retry.js +0 -215
- package/dist/agents/retry.js.map +0 -1
- package/dist/audit-prune.js +0 -94
- package/dist/audit-prune.js.map +0 -1
- package/dist/audit.js +0 -68
- package/dist/audit.js.map +0 -1
- package/dist/backfill/index.js +0 -229
- package/dist/backfill/index.js.map +0 -1
- package/dist/bootstrap.js +0 -435
- package/dist/bootstrap.js.map +0 -1
- package/dist/caamp/adapter.js +0 -259
- package/dist/caamp/adapter.js.map +0 -1
- package/dist/caamp/capability-check.js +0 -38
- package/dist/caamp/capability-check.js.map +0 -1
- package/dist/caamp/index.js +0 -21
- package/dist/caamp/index.js.map +0 -1
- package/dist/caamp-init.js +0 -16
- package/dist/caamp-init.js.map +0 -1
- package/dist/cleo.js +0 -322
- package/dist/cleo.js.map +0 -1
- package/dist/code/index.js +0 -14
- package/dist/code/index.js.map +0 -1
- package/dist/code/outline.js +0 -165
- package/dist/code/outline.js.map +0 -1
- package/dist/code/parser.js +0 -420
- package/dist/code/parser.js.map +0 -1
- package/dist/code/search.js +0 -135
- package/dist/code/search.js.map +0 -1
- package/dist/code/unfold.js +0 -155
- package/dist/code/unfold.js.map +0 -1
- package/dist/codebase-map/analyzers/architecture.js +0 -129
- package/dist/codebase-map/analyzers/architecture.js.map +0 -1
- package/dist/codebase-map/analyzers/concerns.js +0 -122
- package/dist/codebase-map/analyzers/concerns.js.map +0 -1
- package/dist/codebase-map/analyzers/conventions.js +0 -149
- package/dist/codebase-map/analyzers/conventions.js.map +0 -1
- package/dist/codebase-map/analyzers/integrations.js +0 -108
- package/dist/codebase-map/analyzers/integrations.js.map +0 -1
- package/dist/codebase-map/analyzers/stack.js +0 -117
- package/dist/codebase-map/analyzers/stack.js.map +0 -1
- package/dist/codebase-map/analyzers/structure.js +0 -137
- package/dist/codebase-map/analyzers/structure.js.map +0 -1
- package/dist/codebase-map/analyzers/testing.js +0 -118
- package/dist/codebase-map/analyzers/testing.js.map +0 -1
- package/dist/codebase-map/index.js +0 -57
- package/dist/codebase-map/index.js.map +0 -1
- package/dist/codebase-map/store.js +0 -122
- package/dist/codebase-map/store.js.map +0 -1
- package/dist/codebase-map/summary.js +0 -152
- package/dist/codebase-map/summary.js.map +0 -1
- package/dist/compliance/index.js +0 -288
- package/dist/compliance/index.js.map +0 -1
- package/dist/compliance/protocol-enforcement.js +0 -332
- package/dist/compliance/protocol-enforcement.js.map +0 -1
- package/dist/compliance/protocol-rules.js +0 -786
- package/dist/compliance/protocol-rules.js.map +0 -1
- package/dist/compliance/protocol-types.js +0 -79
- package/dist/compliance/protocol-types.js.map +0 -1
- package/dist/compliance/store.js +0 -53
- package/dist/compliance/store.js.map +0 -1
- package/dist/conduit/conduit-client.js +0 -107
- package/dist/conduit/conduit-client.js.map +0 -1
- package/dist/conduit/factory.js +0 -52
- package/dist/conduit/factory.js.map +0 -1
- package/dist/conduit/http-transport.js +0 -155
- package/dist/conduit/http-transport.js.map +0 -1
- package/dist/conduit/index.js +0 -15
- package/dist/conduit/index.js.map +0 -1
- package/dist/conduit/local-transport.js +0 -255
- package/dist/conduit/local-transport.js.map +0 -1
- package/dist/conduit/sse-transport.js +0 -299
- package/dist/conduit/sse-transport.js.map +0 -1
- package/dist/config/build-config.js +0 -29
- package/dist/config/build-config.js.map +0 -1
- package/dist/config.js +0 -407
- package/dist/config.js.map +0 -1
- package/dist/constants.js +0 -18
- package/dist/constants.js.map +0 -1
- package/dist/context/index.js +0 -137
- package/dist/context/index.js.map +0 -1
- package/dist/crypto/credentials.js +0 -219
- package/dist/crypto/credentials.js.map +0 -1
- package/dist/discovery.js +0 -182
- package/dist/discovery.js.map +0 -1
- package/dist/engine-result.js +0 -12
- package/dist/engine-result.js.map +0 -1
- package/dist/error-catalog.js +0 -404
- package/dist/error-catalog.js.map +0 -1
- package/dist/error-registry.js +0 -393
- package/dist/error-registry.js.map +0 -1
- package/dist/errors.js +0 -173
- package/dist/errors.js.map +0 -1
- package/dist/hooks/handlers/agent-hooks.js +0 -106
- package/dist/hooks/handlers/agent-hooks.js.map +0 -1
- package/dist/hooks/handlers/conduit-hooks.js +0 -229
- package/dist/hooks/handlers/conduit-hooks.js.map +0 -1
- package/dist/hooks/handlers/context-hooks.js +0 -111
- package/dist/hooks/handlers/context-hooks.js.map +0 -1
- package/dist/hooks/handlers/error-hooks.js +0 -52
- package/dist/hooks/handlers/error-hooks.js.map +0 -1
- package/dist/hooks/handlers/file-hooks.js +0 -104
- package/dist/hooks/handlers/file-hooks.js.map +0 -1
- package/dist/hooks/handlers/handler-helpers.js +0 -61
- package/dist/hooks/handlers/handler-helpers.js.map +0 -1
- package/dist/hooks/handlers/index.js +0 -37
- package/dist/hooks/handlers/index.js.map +0 -1
- package/dist/hooks/handlers/intelligence-hooks.js +0 -69
- package/dist/hooks/handlers/intelligence-hooks.js.map +0 -1
- package/dist/hooks/handlers/memory-bridge-refresh.js +0 -42
- package/dist/hooks/handlers/memory-bridge-refresh.js.map +0 -1
- package/dist/hooks/handlers/notification-hooks.js +0 -62
- package/dist/hooks/handlers/notification-hooks.js.map +0 -1
- package/dist/hooks/handlers/session-hooks.js +0 -190
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -90
- package/dist/hooks/handlers/task-hooks.js.map +0 -1
- package/dist/hooks/handlers/watchdog-hooks.js +0 -162
- package/dist/hooks/handlers/watchdog-hooks.js.map +0 -1
- package/dist/hooks/handlers/work-capture-hooks.js +0 -165
- package/dist/hooks/handlers/work-capture-hooks.js.map +0 -1
- package/dist/hooks/index.js +0 -13
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/payload-schemas.js +0 -220
- package/dist/hooks/payload-schemas.js.map +0 -1
- package/dist/hooks/provider-hooks.js +0 -66
- package/dist/hooks/provider-hooks.js.map +0 -1
- package/dist/hooks/registry.js +0 -229
- package/dist/hooks/registry.js.map +0 -1
- package/dist/hooks/types.js +0 -66
- package/dist/hooks/types.js.map +0 -1
- package/dist/hooks.js +0 -136
- package/dist/hooks.js.map +0 -1
- package/dist/init.js +0 -942
- package/dist/init.js.map +0 -1
- package/dist/inject/index.js +0 -82
- package/dist/inject/index.js.map +0 -1
- package/dist/injection.js +0 -377
- package/dist/injection.js.map +0 -1
- package/dist/intelligence/adaptive-validation.js +0 -497
- package/dist/intelligence/adaptive-validation.js.map +0 -1
- package/dist/intelligence/impact.js +0 -675
- package/dist/intelligence/impact.js.map +0 -1
- package/dist/intelligence/index.js +0 -22
- package/dist/intelligence/index.js.map +0 -1
- package/dist/intelligence/patterns.js +0 -492
- package/dist/intelligence/patterns.js.map +0 -1
- package/dist/intelligence/prediction.js +0 -499
- package/dist/intelligence/prediction.js.map +0 -1
- package/dist/intelligence/types.js +0 -13
- package/dist/intelligence/types.js.map +0 -1
- package/dist/internal.js +0 -324
- package/dist/internal.js.map +0 -1
- package/dist/issue/create.js +0 -121
- package/dist/issue/create.js.map +0 -1
- package/dist/issue/diagnostics.js +0 -59
- package/dist/issue/diagnostics.js.map +0 -1
- package/dist/issue/index.js +0 -10
- package/dist/issue/index.js.map +0 -1
- package/dist/issue/template-parser.js +0 -267
- package/dist/issue/template-parser.js.map +0 -1
- package/dist/json-schema-validator.js +0 -76
- package/dist/json-schema-validator.js.map +0 -1
- package/dist/lib/index.js +0 -11
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/retry.js +0 -152
- package/dist/lib/retry.js.map +0 -1
- package/dist/lib/tree-sitter-languages.js +0 -75
- package/dist/lib/tree-sitter-languages.js.map +0 -1
- package/dist/lifecycle/chain-composition.js +0 -152
- package/dist/lifecycle/chain-composition.js.map +0 -1
- package/dist/lifecycle/chain-store.js +0 -246
- package/dist/lifecycle/chain-store.js.map +0 -1
- package/dist/lifecycle/consolidate-rcasd.js +0 -352
- package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
- package/dist/lifecycle/default-chain.js +0 -176
- package/dist/lifecycle/default-chain.js.map +0 -1
- package/dist/lifecycle/evidence.js +0 -180
- package/dist/lifecycle/evidence.js.map +0 -1
- package/dist/lifecycle/frontmatter.js +0 -363
- package/dist/lifecycle/frontmatter.js.map +0 -1
- package/dist/lifecycle/index.js +0 -756
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/lifecycle/pipeline.js +0 -656
- package/dist/lifecycle/pipeline.js.map +0 -1
- package/dist/lifecycle/rcasd-index.js +0 -326
- package/dist/lifecycle/rcasd-index.js.map +0 -1
- package/dist/lifecycle/rcasd-paths.js +0 -220
- package/dist/lifecycle/rcasd-paths.js.map +0 -1
- package/dist/lifecycle/resume.js +0 -864
- package/dist/lifecycle/resume.js.map +0 -1
- package/dist/lifecycle/stage-artifacts.js +0 -94
- package/dist/lifecycle/stage-artifacts.js.map +0 -1
- package/dist/lifecycle/stage-guidance.js +0 -234
- package/dist/lifecycle/stage-guidance.js.map +0 -1
- package/dist/lifecycle/stages.js +0 -534
- package/dist/lifecycle/stages.js.map +0 -1
- package/dist/lifecycle/state-machine.js +0 -516
- package/dist/lifecycle/state-machine.js.map +0 -1
- package/dist/lifecycle/tessera-engine.js +0 -249
- package/dist/lifecycle/tessera-engine.js.map +0 -1
- package/dist/logger.js +0 -140
- package/dist/logger.js.map +0 -1
- package/dist/memory/anthropic-key-resolver.js +0 -105
- package/dist/memory/anthropic-key-resolver.js.map +0 -1
- package/dist/memory/auto-extract.js +0 -77
- package/dist/memory/auto-extract.js.map +0 -1
- package/dist/memory/brain-backfill.js +0 -389
- package/dist/memory/brain-backfill.js.map +0 -1
- package/dist/memory/brain-consolidator.js +0 -294
- package/dist/memory/brain-consolidator.js.map +0 -1
- package/dist/memory/brain-embedding.js +0 -66
- package/dist/memory/brain-embedding.js.map +0 -1
- package/dist/memory/brain-lifecycle.js +0 -818
- package/dist/memory/brain-lifecycle.js.map +0 -1
- package/dist/memory/brain-links.js +0 -161
- package/dist/memory/brain-links.js.map +0 -1
- package/dist/memory/brain-maintenance.js +0 -114
- package/dist/memory/brain-maintenance.js.map +0 -1
- package/dist/memory/brain-migration.js +0 -149
- package/dist/memory/brain-migration.js.map +0 -1
- package/dist/memory/brain-purge.js +0 -243
- package/dist/memory/brain-purge.js.map +0 -1
- package/dist/memory/brain-reasoning.js +0 -215
- package/dist/memory/brain-reasoning.js.map +0 -1
- package/dist/memory/brain-retrieval.js +0 -1044
- package/dist/memory/brain-retrieval.js.map +0 -1
- package/dist/memory/brain-row-types.js +0 -10
- package/dist/memory/brain-row-types.js.map +0 -1
- package/dist/memory/brain-search.js +0 -613
- package/dist/memory/brain-search.js.map +0 -1
- package/dist/memory/brain-similarity.js +0 -145
- package/dist/memory/brain-similarity.js.map +0 -1
- package/dist/memory/claude-mem-migration.js +0 -277
- package/dist/memory/claude-mem-migration.js.map +0 -1
- package/dist/memory/decisions.js +0 -236
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/embedding-local.js +0 -102
- package/dist/memory/embedding-local.js.map +0 -1
- package/dist/memory/embedding-queue.js +0 -271
- package/dist/memory/embedding-queue.js.map +0 -1
- package/dist/memory/embedding-worker.js +0 -58
- package/dist/memory/embedding-worker.js.map +0 -1
- package/dist/memory/engine-compat.js +0 -1597
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/extraction-gate.js +0 -459
- package/dist/memory/extraction-gate.js.map +0 -1
- package/dist/memory/graph-auto-populate.js +0 -148
- package/dist/memory/graph-auto-populate.js.map +0 -1
- package/dist/memory/graph-memory-bridge.js +0 -519
- package/dist/memory/graph-memory-bridge.js.map +0 -1
- package/dist/memory/graph-queries.js +0 -290
- package/dist/memory/graph-queries.js.map +0 -1
- package/dist/memory/index.js +0 -1146
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/learnings.js +0 -197
- package/dist/memory/learnings.js.map +0 -1
- package/dist/memory/llm-extraction.js +0 -425
- package/dist/memory/llm-extraction.js.map +0 -1
- package/dist/memory/memory-bridge.js +0 -382
- package/dist/memory/memory-bridge.js.map +0 -1
- package/dist/memory/mental-model-injection.js +0 -61
- package/dist/memory/mental-model-injection.js.map +0 -1
- package/dist/memory/mental-model-queue.js +0 -211
- package/dist/memory/mental-model-queue.js.map +0 -1
- package/dist/memory/observer-reflector.js +0 -626
- package/dist/memory/observer-reflector.js.map +0 -1
- package/dist/memory/patterns.js +0 -192
- package/dist/memory/patterns.js.map +0 -1
- package/dist/memory/pipeline-manifest-sqlite.js +0 -975
- package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
- package/dist/memory/quality-feedback.js +0 -449
- package/dist/memory/quality-feedback.js.map +0 -1
- package/dist/memory/quality-scoring.js +0 -182
- package/dist/memory/quality-scoring.js.map +0 -1
- package/dist/memory/session-memory.js +0 -331
- package/dist/memory/session-memory.js.map +0 -1
- package/dist/memory/sleep-consolidation.js +0 -706
- package/dist/memory/sleep-consolidation.js.map +0 -1
- package/dist/memory/temporal-supersession.js +0 -403
- package/dist/memory/temporal-supersession.js.map +0 -1
- package/dist/metrics/ab-test.js +0 -260
- package/dist/metrics/ab-test.js.map +0 -1
- package/dist/metrics/aggregation.js +0 -363
- package/dist/metrics/aggregation.js.map +0 -1
- package/dist/metrics/common.js +0 -64
- package/dist/metrics/common.js.map +0 -1
- package/dist/metrics/enums.js +0 -78
- package/dist/metrics/enums.js.map +0 -1
- package/dist/metrics/index.js +0 -19
- package/dist/metrics/index.js.map +0 -1
- package/dist/metrics/model-provider-registry.js +0 -88
- package/dist/metrics/model-provider-registry.js.map +0 -1
- package/dist/metrics/otel-integration.js +0 -263
- package/dist/metrics/otel-integration.js.map +0 -1
- package/dist/metrics/provider-detection.js +0 -103
- package/dist/metrics/provider-detection.js.map +0 -1
- package/dist/metrics/token-estimation.js +0 -253
- package/dist/metrics/token-estimation.js.map +0 -1
- package/dist/metrics/token-service.js +0 -450
- package/dist/metrics/token-service.js.map +0 -1
- package/dist/migration/agent-outputs.js +0 -316
- package/dist/migration/agent-outputs.js.map +0 -1
- package/dist/migration/checksum.js +0 -92
- package/dist/migration/checksum.js.map +0 -1
- package/dist/migration/index.js +0 -282
- package/dist/migration/index.js.map +0 -1
- package/dist/migration/logger.js +0 -360
- package/dist/migration/logger.js.map +0 -1
- package/dist/migration/preflight.js +0 -9
- package/dist/migration/preflight.js.map +0 -1
- package/dist/migration/state.js +0 -421
- package/dist/migration/state.js.map +0 -1
- package/dist/migration/validate.js +0 -241
- package/dist/migration/validate.js.map +0 -1
- package/dist/mvi-helpers.js +0 -73
- package/dist/mvi-helpers.js.map +0 -1
- package/dist/nexus/deps.js +0 -375
- package/dist/nexus/deps.js.map +0 -1
- package/dist/nexus/discover.js +0 -288
- package/dist/nexus/discover.js.map +0 -1
- package/dist/nexus/hash.js +0 -10
- package/dist/nexus/hash.js.map +0 -1
- package/dist/nexus/index.js +0 -40
- package/dist/nexus/index.js.map +0 -1
- package/dist/nexus/migrate-json-to-sqlite.js +0 -115
- package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
- package/dist/nexus/nexus-bridge.js +0 -321
- package/dist/nexus/nexus-bridge.js.map +0 -1
- package/dist/nexus/permissions.js +0 -105
- package/dist/nexus/permissions.js.map +0 -1
- package/dist/nexus/query.js +0 -175
- package/dist/nexus/query.js.map +0 -1
- package/dist/nexus/registry.js +0 -584
- package/dist/nexus/registry.js.map +0 -1
- package/dist/nexus/sharing/index.js +0 -288
- package/dist/nexus/sharing/index.js.map +0 -1
- package/dist/nexus/transfer-types.js +0 -8
- package/dist/nexus/transfer-types.js.map +0 -1
- package/dist/nexus/transfer.js +0 -271
- package/dist/nexus/transfer.js.map +0 -1
- package/dist/nexus/workspace.js +0 -355
- package/dist/nexus/workspace.js.map +0 -1
- package/dist/observability/index.js +0 -103
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/log-filter.js +0 -63
- package/dist/observability/log-filter.js.map +0 -1
- package/dist/observability/log-parser.js +0 -99
- package/dist/observability/log-parser.js.map +0 -1
- package/dist/observability/log-reader.js +0 -139
- package/dist/observability/log-reader.js.map +0 -1
- package/dist/observability/types.js +0 -19
- package/dist/observability/types.js.map +0 -1
- package/dist/orchestration/analyze.js +0 -107
- package/dist/orchestration/analyze.js.map +0 -1
- package/dist/orchestration/bootstrap.js +0 -132
- package/dist/orchestration/bootstrap.js.map +0 -1
- package/dist/orchestration/context.js +0 -56
- package/dist/orchestration/context.js.map +0 -1
- package/dist/orchestration/critical-path.js +0 -100
- package/dist/orchestration/critical-path.js.map +0 -1
- package/dist/orchestration/hierarchy.js +0 -183
- package/dist/orchestration/hierarchy.js.map +0 -1
- package/dist/orchestration/index.js +0 -287
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/parallel.js +0 -89
- package/dist/orchestration/parallel.js.map +0 -1
- package/dist/orchestration/protocol-validators.js +0 -815
- package/dist/orchestration/protocol-validators.js.map +0 -1
- package/dist/orchestration/skill-ops.js +0 -98
- package/dist/orchestration/skill-ops.js.map +0 -1
- package/dist/orchestration/status.js +0 -107
- package/dist/orchestration/status.js.map +0 -1
- package/dist/orchestration/unblock.js +0 -103
- package/dist/orchestration/unblock.js.map +0 -1
- package/dist/orchestration/validate-spawn.js +0 -67
- package/dist/orchestration/validate-spawn.js.map +0 -1
- package/dist/orchestration/waves.js +0 -86
- package/dist/orchestration/waves.js.map +0 -1
- package/dist/otel/index.js +0 -163
- package/dist/otel/index.js.map +0 -1
- package/dist/output.js +0 -164
- package/dist/output.js.map +0 -1
- package/dist/pagination.js +0 -64
- package/dist/pagination.js.map +0 -1
- package/dist/paths.js +0 -882
- package/dist/paths.js.map +0 -1
- package/dist/phases/deps.js +0 -372
- package/dist/phases/deps.js.map +0 -1
- package/dist/phases/index.js +0 -349
- package/dist/phases/index.js.map +0 -1
- package/dist/pipeline/index.js +0 -10
- package/dist/pipeline/index.js.map +0 -1
- package/dist/pipeline/phase.js +0 -45
- package/dist/pipeline/phase.js.map +0 -1
- package/dist/platform.js +0 -211
- package/dist/platform.js.map +0 -1
- package/dist/project-info.js +0 -84
- package/dist/project-info.js.map +0 -1
- package/dist/reconciliation/index.js +0 -10
- package/dist/reconciliation/index.js.map +0 -1
- package/dist/reconciliation/link-store.js +0 -175
- package/dist/reconciliation/link-store.js.map +0 -1
- package/dist/reconciliation/reconciliation-engine.js +0 -298
- package/dist/reconciliation/reconciliation-engine.js.map +0 -1
- package/dist/release/artifacts.js +0 -427
- package/dist/release/artifacts.js.map +0 -1
- package/dist/release/changelog-writer.js +0 -151
- package/dist/release/changelog-writer.js.map +0 -1
- package/dist/release/channel.js +0 -144
- package/dist/release/channel.js.map +0 -1
- package/dist/release/ci.js +0 -166
- package/dist/release/ci.js.map +0 -1
- package/dist/release/github-pr.js +0 -225
- package/dist/release/github-pr.js.map +0 -1
- package/dist/release/guards.js +0 -116
- package/dist/release/guards.js.map +0 -1
- package/dist/release/index.js +0 -22
- package/dist/release/index.js.map +0 -1
- package/dist/release/release-config.js +0 -158
- package/dist/release/release-config.js.map +0 -1
- package/dist/release/release-manifest.js +0 -1019
- package/dist/release/release-manifest.js.map +0 -1
- package/dist/release/version-bump.js +0 -255
- package/dist/release/version-bump.js.map +0 -1
- package/dist/remote/index.js +0 -257
- package/dist/remote/index.js.map +0 -1
- package/dist/repair.js +0 -130
- package/dist/repair.js.map +0 -1
- package/dist/research/index.js +0 -2
- package/dist/research/index.js.map +0 -1
- package/dist/roadmap/index.js +0 -59
- package/dist/roadmap/index.js.map +0 -1
- package/dist/routing/capability-matrix.js +0 -1556
- package/dist/routing/capability-matrix.js.map +0 -1
- package/dist/routing/index.js +0 -9
- package/dist/routing/index.js.map +0 -1
- package/dist/scaffold.js +0 -1798
- package/dist/scaffold.js.map +0 -1
- package/dist/schema-management.js +0 -295
- package/dist/schema-management.js.map +0 -1
- package/dist/security/index.js +0 -9
- package/dist/security/index.js.map +0 -1
- package/dist/security/input-sanitization.js +0 -326
- package/dist/security/input-sanitization.js.map +0 -1
- package/dist/sequence/index.js +0 -295
- package/dist/sequence/index.js.map +0 -1
- package/dist/sessions/assumptions.js +0 -54
- package/dist/sessions/assumptions.js.map +0 -1
- package/dist/sessions/briefing.js +0 -377
- package/dist/sessions/briefing.js.map +0 -1
- package/dist/sessions/context-alert.js +0 -222
- package/dist/sessions/context-alert.js.map +0 -1
- package/dist/sessions/context-inject.js +0 -61
- package/dist/sessions/context-inject.js.map +0 -1
- package/dist/sessions/context-monitor.js +0 -98
- package/dist/sessions/context-monitor.js.map +0 -1
- package/dist/sessions/decisions.js +0 -65
- package/dist/sessions/decisions.js.map +0 -1
- package/dist/sessions/find.js +0 -65
- package/dist/sessions/find.js.map +0 -1
- package/dist/sessions/handoff.js +0 -328
- package/dist/sessions/handoff.js.map +0 -1
- package/dist/sessions/hitl-warnings.js +0 -254
- package/dist/sessions/hitl-warnings.js.map +0 -1
- package/dist/sessions/index.js +0 -327
- package/dist/sessions/index.js.map +0 -1
- package/dist/sessions/session-archive.js +0 -40
- package/dist/sessions/session-archive.js.map +0 -1
- package/dist/sessions/session-cleanup.js +0 -59
- package/dist/sessions/session-cleanup.js.map +0 -1
- package/dist/sessions/session-drift.js +0 -134
- package/dist/sessions/session-drift.js.map +0 -1
- package/dist/sessions/session-enforcement.js +0 -144
- package/dist/sessions/session-enforcement.js.map +0 -1
- package/dist/sessions/session-grade.js +0 -253
- package/dist/sessions/session-grade.js.map +0 -1
- package/dist/sessions/session-history.js +0 -42
- package/dist/sessions/session-history.js.map +0 -1
- package/dist/sessions/session-id.js +0 -81
- package/dist/sessions/session-id.js.map +0 -1
- package/dist/sessions/session-memory-bridge.js +0 -30
- package/dist/sessions/session-memory-bridge.js.map +0 -1
- package/dist/sessions/session-show.js +0 -24
- package/dist/sessions/session-show.js.map +0 -1
- package/dist/sessions/session-stats.js +0 -69
- package/dist/sessions/session-stats.js.map +0 -1
- package/dist/sessions/session-suspend.js +0 -39
- package/dist/sessions/session-suspend.js.map +0 -1
- package/dist/sessions/session-switch.js +0 -51
- package/dist/sessions/session-switch.js.map +0 -1
- package/dist/sessions/session-view.js +0 -76
- package/dist/sessions/session-view.js.map +0 -1
- package/dist/sessions/snapshot.js +0 -213
- package/dist/sessions/snapshot.js.map +0 -1
- package/dist/sessions/statusline-setup.js +0 -85
- package/dist/sessions/statusline-setup.js.map +0 -1
- package/dist/sessions/types.js +0 -8
- package/dist/sessions/types.js.map +0 -1
- package/dist/skills/agents/config.js +0 -94
- package/dist/skills/agents/config.js.map +0 -1
- package/dist/skills/agents/install.js +0 -116
- package/dist/skills/agents/install.js.map +0 -1
- package/dist/skills/agents/registry.js +0 -161
- package/dist/skills/agents/registry.js.map +0 -1
- package/dist/skills/discovery.js +0 -333
- package/dist/skills/discovery.js.map +0 -1
- package/dist/skills/dispatch.js +0 -347
- package/dist/skills/dispatch.js.map +0 -1
- package/dist/skills/dynamic-skill-generator.js +0 -87
- package/dist/skills/dynamic-skill-generator.js.map +0 -1
- package/dist/skills/index.js +0 -44
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/injection/subagent.js +0 -195
- package/dist/skills/injection/subagent.js.map +0 -1
- package/dist/skills/injection/token.js +0 -260
- package/dist/skills/injection/token.js.map +0 -1
- package/dist/skills/install.js +0 -40
- package/dist/skills/install.js.map +0 -1
- package/dist/skills/manifests/contribution.js +0 -175
- package/dist/skills/manifests/contribution.js.map +0 -1
- package/dist/skills/manifests/research.js +0 -281
- package/dist/skills/manifests/research.js.map +0 -1
- package/dist/skills/manifests/resolver.js +0 -146
- package/dist/skills/manifests/resolver.js.map +0 -1
- package/dist/skills/marketplace.js +0 -90
- package/dist/skills/marketplace.js.map +0 -1
- package/dist/skills/orchestrator/spawn.js +0 -178
- package/dist/skills/orchestrator/spawn.js.map +0 -1
- package/dist/skills/orchestrator/startup.js +0 -451
- package/dist/skills/orchestrator/startup.js.map +0 -1
- package/dist/skills/orchestrator/validator.js +0 -301
- package/dist/skills/orchestrator/validator.js.map +0 -1
- package/dist/skills/precedence-integration.js +0 -73
- package/dist/skills/precedence-integration.js.map +0 -1
- package/dist/skills/precedence-types.js +0 -16
- package/dist/skills/precedence-types.js.map +0 -1
- package/dist/skills/routing-table.js +0 -63
- package/dist/skills/routing-table.js.map +0 -1
- package/dist/skills/skill-paths.js +0 -217
- package/dist/skills/skill-paths.js.map +0 -1
- package/dist/skills/test-utility.js +0 -55
- package/dist/skills/test-utility.js.map +0 -1
- package/dist/skills/types.js +0 -118
- package/dist/skills/types.js.map +0 -1
- package/dist/skills/validation.js +0 -183
- package/dist/skills/validation.js.map +0 -1
- package/dist/skills/version.js +0 -57
- package/dist/skills/version.js.map +0 -1
- package/dist/snapshot/index.js +0 -188
- package/dist/snapshot/index.js.map +0 -1
- package/dist/spawn/adapter-registry.js +0 -246
- package/dist/spawn/adapter-registry.js.map +0 -1
- package/dist/spawn/index.js +0 -10
- package/dist/spawn/index.js.map +0 -1
- package/dist/stats/index.js +0 -350
- package/dist/stats/index.js.map +0 -1
- package/dist/stats/workflow-telemetry.js +0 -400
- package/dist/stats/workflow-telemetry.js.map +0 -1
- package/dist/sticky/archive.js +0 -47
- package/dist/sticky/archive.js.map +0 -1
- package/dist/sticky/convert.js +0 -235
- package/dist/sticky/convert.js.map +0 -1
- package/dist/sticky/create.js +0 -48
- package/dist/sticky/create.js.map +0 -1
- package/dist/sticky/id.js +0 -35
- package/dist/sticky/id.js.map +0 -1
- package/dist/sticky/index.js +0 -16
- package/dist/sticky/index.js.map +0 -1
- package/dist/sticky/list.js +0 -57
- package/dist/sticky/list.js.map +0 -1
- package/dist/sticky/purge.js +0 -45
- package/dist/sticky/purge.js.map +0 -1
- package/dist/sticky/show.js +0 -42
- package/dist/sticky/show.js.map +0 -1
- package/dist/sticky/types.js +0 -10
- package/dist/sticky/types.js.map +0 -1
- package/dist/store/agent-registry-accessor.js +0 -886
- package/dist/store/agent-registry-accessor.js.map +0 -1
- package/dist/store/api-key-kdf.js +0 -84
- package/dist/store/api-key-kdf.js.map +0 -1
- package/dist/store/atomic.js +0 -167
- package/dist/store/atomic.js.map +0 -1
- package/dist/store/backup-crypto.js +0 -184
- package/dist/store/backup-crypto.js.map +0 -1
- package/dist/store/backup-pack.js +0 -581
- package/dist/store/backup-pack.js.map +0 -1
- package/dist/store/backup-unpack.js +0 -449
- package/dist/store/backup-unpack.js.map +0 -1
- package/dist/store/backup.js +0 -94
- package/dist/store/backup.js.map +0 -1
- package/dist/store/brain-accessor.js +0 -429
- package/dist/store/brain-accessor.js.map +0 -1
- package/dist/store/brain-schema.js +0 -579
- package/dist/store/brain-schema.js.map +0 -1
- package/dist/store/brain-sqlite.js +0 -297
- package/dist/store/brain-sqlite.js.map +0 -1
- package/dist/store/cache.js +0 -168
- package/dist/store/cache.js.map +0 -1
- package/dist/store/chain-schema.js +0 -51
- package/dist/store/chain-schema.js.map +0 -1
- package/dist/store/cleanup-legacy.js +0 -171
- package/dist/store/cleanup-legacy.js.map +0 -1
- package/dist/store/conduit-sqlite.js +0 -570
- package/dist/store/conduit-sqlite.js.map +0 -1
- package/dist/store/converters.js +0 -124
- package/dist/store/converters.js.map +0 -1
- package/dist/store/cross-db-cleanup.js +0 -319
- package/dist/store/cross-db-cleanup.js.map +0 -1
- package/dist/store/data-accessor.js +0 -26
- package/dist/store/data-accessor.js.map +0 -1
- package/dist/store/data-safety-central.js +0 -269
- package/dist/store/data-safety-central.js.map +0 -1
- package/dist/store/data-safety.js +0 -274
- package/dist/store/data-safety.js.map +0 -1
- package/dist/store/db-helpers.js +0 -224
- package/dist/store/db-helpers.js.map +0 -1
- package/dist/store/export.js +0 -155
- package/dist/store/export.js.map +0 -1
- package/dist/store/file-utils.js +0 -270
- package/dist/store/file-utils.js.map +0 -1
- package/dist/store/git-checkpoint.js +0 -365
- package/dist/store/git-checkpoint.js.map +0 -1
- package/dist/store/global-salt.js +0 -147
- package/dist/store/global-salt.js.map +0 -1
- package/dist/store/import-logging.js +0 -139
- package/dist/store/import-logging.js.map +0 -1
- package/dist/store/import-remap.js +0 -145
- package/dist/store/import-remap.js.map +0 -1
- package/dist/store/import-sort.js +0 -121
- package/dist/store/import-sort.js.map +0 -1
- package/dist/store/index.js +0 -29
- package/dist/store/index.js.map +0 -1
- package/dist/store/json.js +0 -208
- package/dist/store/json.js.map +0 -1
- package/dist/store/lifecycle-store.js +0 -249
- package/dist/store/lifecycle-store.js.map +0 -1
- package/dist/store/lock.js +0 -70
- package/dist/store/lock.js.map +0 -1
- package/dist/store/migrate-signaldock-to-conduit.js +0 -562
- package/dist/store/migrate-signaldock-to-conduit.js.map +0 -1
- package/dist/store/migration-manager.js +0 -288
- package/dist/store/migration-manager.js.map +0 -1
- package/dist/store/migration-sqlite.js +0 -676
- package/dist/store/migration-sqlite.js.map +0 -1
- package/dist/store/nexus-schema.js +0 -268
- package/dist/store/nexus-schema.js.map +0 -1
- package/dist/store/nexus-sqlite.js +0 -242
- package/dist/store/nexus-sqlite.js.map +0 -1
- package/dist/store/nexus-validation-schemas.js +0 -40
- package/dist/store/nexus-validation-schemas.js.map +0 -1
- package/dist/store/parsers.js +0 -37
- package/dist/store/parsers.js.map +0 -1
- package/dist/store/project-detect.js +0 -457
- package/dist/store/project-detect.js.map +0 -1
- package/dist/store/provider.js +0 -101
- package/dist/store/provider.js.map +0 -1
- package/dist/store/regenerators.js +0 -207
- package/dist/store/regenerators.js.map +0 -1
- package/dist/store/restore-conflict-report.js +0 -206
- package/dist/store/restore-conflict-report.js.map +0 -1
- package/dist/store/restore-json-merge.js +0 -454
- package/dist/store/restore-json-merge.js.map +0 -1
- package/dist/store/safety-data-accessor.js +0 -257
- package/dist/store/safety-data-accessor.js.map +0 -1
- package/dist/store/schema.js +0 -7
- package/dist/store/schema.js.map +0 -1
- package/dist/store/session-store.js +0 -219
- package/dist/store/session-store.js.map +0 -1
- package/dist/store/signaldock-sqlite.js +0 -550
- package/dist/store/signaldock-sqlite.js.map +0 -1
- package/dist/store/sqlite-backup.js +0 -498
- package/dist/store/sqlite-backup.js.map +0 -1
- package/dist/store/sqlite-data-accessor.js +0 -787
- package/dist/store/sqlite-data-accessor.js.map +0 -1
- package/dist/store/sqlite.js +0 -483
- package/dist/store/sqlite.js.map +0 -1
- package/dist/store/status-registry.js +0 -8
- package/dist/store/status-registry.js.map +0 -1
- package/dist/store/t310-readiness.js +0 -115
- package/dist/store/t310-readiness.js.map +0 -1
- package/dist/store/task-store.js +0 -358
- package/dist/store/task-store.js.map +0 -1
- package/dist/store/tasks-schema.js +0 -610
- package/dist/store/tasks-schema.js.map +0 -1
- package/dist/store/typed-query.js +0 -15
- package/dist/store/typed-query.js.map +0 -1
- package/dist/store/validation-schemas.js +0 -278
- package/dist/store/validation-schemas.js.map +0 -1
- package/dist/system/archive-analytics.js +0 -277
- package/dist/system/archive-analytics.js.map +0 -1
- package/dist/system/archive-stats.js +0 -64
- package/dist/system/archive-stats.js.map +0 -1
- package/dist/system/audit.js +0 -145
- package/dist/system/audit.js.map +0 -1
- package/dist/system/backup.js +0 -280
- package/dist/system/backup.js.map +0 -1
- package/dist/system/cleanup.js +0 -134
- package/dist/system/cleanup.js.map +0 -1
- package/dist/system/dependencies.js +0 -466
- package/dist/system/dependencies.js.map +0 -1
- package/dist/system/health.js +0 -1206
- package/dist/system/health.js.map +0 -1
- package/dist/system/index.js +0 -18
- package/dist/system/index.js.map +0 -1
- package/dist/system/inject-generate.js +0 -122
- package/dist/system/inject-generate.js.map +0 -1
- package/dist/system/labels.js +0 -38
- package/dist/system/labels.js.map +0 -1
- package/dist/system/metrics.js +0 -61
- package/dist/system/metrics.js.map +0 -1
- package/dist/system/migrate.js +0 -43
- package/dist/system/migrate.js.map +0 -1
- package/dist/system/platform-paths.js +0 -80
- package/dist/system/platform-paths.js.map +0 -1
- package/dist/system/runtime.js +0 -161
- package/dist/system/runtime.js.map +0 -1
- package/dist/system/safestop.js +0 -89
- package/dist/system/safestop.js.map +0 -1
- package/dist/system/storage-preflight.js +0 -123
- package/dist/system/storage-preflight.js.map +0 -1
- package/dist/task-work/index.js +0 -159
- package/dist/task-work/index.js.map +0 -1
- package/dist/tasks/add.js +0 -837
- package/dist/tasks/add.js.map +0 -1
- package/dist/tasks/analyze.js +0 -85
- package/dist/tasks/analyze.js.map +0 -1
- package/dist/tasks/archive.js +0 -90
- package/dist/tasks/archive.js.map +0 -1
- package/dist/tasks/atomicity.js +0 -83
- package/dist/tasks/atomicity.js.map +0 -1
- package/dist/tasks/cancel-ops.js +0 -83
- package/dist/tasks/cancel-ops.js.map +0 -1
- package/dist/tasks/complete.js +0 -248
- package/dist/tasks/complete.js.map +0 -1
- package/dist/tasks/crossref-extract.js +0 -73
- package/dist/tasks/crossref-extract.js.map +0 -1
- package/dist/tasks/delete-preview.js +0 -192
- package/dist/tasks/delete-preview.js.map +0 -1
- package/dist/tasks/delete.js +0 -120
- package/dist/tasks/delete.js.map +0 -1
- package/dist/tasks/deletion-strategy.js +0 -200
- package/dist/tasks/deletion-strategy.js.map +0 -1
- package/dist/tasks/dependency-check.js +0 -278
- package/dist/tasks/dependency-check.js.map +0 -1
- package/dist/tasks/deps-ready.js +0 -32
- package/dist/tasks/deps-ready.js.map +0 -1
- package/dist/tasks/enforcement.js +0 -86
- package/dist/tasks/enforcement.js.map +0 -1
- package/dist/tasks/epic-enforcement.js +0 -294
- package/dist/tasks/epic-enforcement.js.map +0 -1
- package/dist/tasks/find.js +0 -163
- package/dist/tasks/find.js.map +0 -1
- package/dist/tasks/graph-cache.js +0 -127
- package/dist/tasks/graph-cache.js.map +0 -1
- package/dist/tasks/graph-ops.js +0 -173
- package/dist/tasks/graph-ops.js.map +0 -1
- package/dist/tasks/graph-rag.js +0 -328
- package/dist/tasks/graph-rag.js.map +0 -1
- package/dist/tasks/hierarchy-policy.js +0 -149
- package/dist/tasks/hierarchy-policy.js.map +0 -1
- package/dist/tasks/hierarchy.js +0 -185
- package/dist/tasks/hierarchy.js.map +0 -1
- package/dist/tasks/id-generator.js +0 -65
- package/dist/tasks/id-generator.js.map +0 -1
- package/dist/tasks/index.js +0 -14
- package/dist/tasks/index.js.map +0 -1
- package/dist/tasks/labels.js +0 -55
- package/dist/tasks/labels.js.map +0 -1
- package/dist/tasks/list.js +0 -75
- package/dist/tasks/list.js.map +0 -1
- package/dist/tasks/phase-tracking.js +0 -133
- package/dist/tasks/phase-tracking.js.map +0 -1
- package/dist/tasks/pipeline-stage.js +0 -248
- package/dist/tasks/pipeline-stage.js.map +0 -1
- package/dist/tasks/plan.js +0 -268
- package/dist/tasks/plan.js.map +0 -1
- package/dist/tasks/relates.js +0 -101
- package/dist/tasks/relates.js.map +0 -1
- package/dist/tasks/show.js +0 -83
- package/dist/tasks/show.js.map +0 -1
- package/dist/tasks/size-weighting.js +0 -86
- package/dist/tasks/size-weighting.js.map +0 -1
- package/dist/tasks/staleness.js +0 -86
- package/dist/tasks/staleness.js.map +0 -1
- package/dist/tasks/task-ops.js +0 -1741
- package/dist/tasks/task-ops.js.map +0 -1
- package/dist/tasks/update.js +0 -303
- package/dist/tasks/update.js.map +0 -1
- package/dist/templates/index.js +0 -10
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/parser.js +0 -254
- package/dist/templates/parser.js.map +0 -1
- package/dist/ui/aliases.js +0 -153
- package/dist/ui/aliases.js.map +0 -1
- package/dist/ui/changelog.js +0 -184
- package/dist/ui/changelog.js.map +0 -1
- package/dist/ui/command-registry.js +0 -168
- package/dist/ui/command-registry.js.map +0 -1
- package/dist/ui/flags.js +0 -94
- package/dist/ui/flags.js.map +0 -1
- package/dist/ui/index.js +0 -24
- package/dist/ui/index.js.map +0 -1
- package/dist/upgrade.js +0 -1371
- package/dist/upgrade.js.map +0 -1
- package/dist/validation/chain-validation.js +0 -146
- package/dist/validation/chain-validation.js.map +0 -1
- package/dist/validation/compliance.js +0 -155
- package/dist/validation/compliance.js.map +0 -1
- package/dist/validation/docs-sync.js +0 -212
- package/dist/validation/docs-sync.js.map +0 -1
- package/dist/validation/doctor/checks.js +0 -1069
- package/dist/validation/doctor/checks.js.map +0 -1
- package/dist/validation/doctor/index.js +0 -9
- package/dist/validation/doctor/index.js.map +0 -1
- package/dist/validation/doctor/project-cache.js +0 -160
- package/dist/validation/doctor/project-cache.js.map +0 -1
- package/dist/validation/doctor/utils.js +0 -155
- package/dist/validation/doctor/utils.js.map +0 -1
- package/dist/validation/engine.js +0 -914
- package/dist/validation/engine.js.map +0 -1
- package/dist/validation/gap-check.js +0 -175
- package/dist/validation/gap-check.js.map +0 -1
- package/dist/validation/index.js +0 -40
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/manifest.js +0 -237
- package/dist/validation/manifest.js.map +0 -1
- package/dist/validation/operation-gate-validators.js +0 -724
- package/dist/validation/operation-gate-validators.js.map +0 -1
- package/dist/validation/operation-verification-gates.js +0 -532
- package/dist/validation/operation-verification-gates.js.map +0 -1
- package/dist/validation/param-utils.js +0 -141
- package/dist/validation/param-utils.js.map +0 -1
- package/dist/validation/protocol-common.js +0 -300
- package/dist/validation/protocol-common.js.map +0 -1
- package/dist/validation/protocols/_shared.js +0 -82
- package/dist/validation/protocols/_shared.js.map +0 -1
- package/dist/validation/protocols/architecture-decision.js +0 -31
- package/dist/validation/protocols/architecture-decision.js.map +0 -1
- package/dist/validation/protocols/artifact-publish.js +0 -28
- package/dist/validation/protocols/artifact-publish.js.map +0 -1
- package/dist/validation/protocols/consensus.js +0 -41
- package/dist/validation/protocols/consensus.js.map +0 -1
- package/dist/validation/protocols/contribution.js +0 -27
- package/dist/validation/protocols/contribution.js.map +0 -1
- package/dist/validation/protocols/decomposition.js +0 -28
- package/dist/validation/protocols/decomposition.js.map +0 -1
- package/dist/validation/protocols/implementation.js +0 -24
- package/dist/validation/protocols/implementation.js.map +0 -1
- package/dist/validation/protocols/provenance.js +0 -29
- package/dist/validation/protocols/provenance.js.map +0 -1
- package/dist/validation/protocols/release.js +0 -29
- package/dist/validation/protocols/release.js.map +0 -1
- package/dist/validation/protocols/research.js +0 -24
- package/dist/validation/protocols/research.js.map +0 -1
- package/dist/validation/protocols/specification.js +0 -27
- package/dist/validation/protocols/specification.js.map +0 -1
- package/dist/validation/protocols/testing.js +0 -30
- package/dist/validation/protocols/testing.js.map +0 -1
- package/dist/validation/protocols/validation.js +0 -30
- package/dist/validation/protocols/validation.js.map +0 -1
- package/dist/validation/schema-integrity.js +0 -170
- package/dist/validation/schema-integrity.js.map +0 -1
- package/dist/validation/schema-validator.js +0 -176
- package/dist/validation/schema-validator.js.map +0 -1
- package/dist/validation/validate-ops.js +0 -937
- package/dist/validation/validate-ops.js.map +0 -1
- package/dist/validation/validation-rules.js +0 -226
- package/dist/validation/validation-rules.js.map +0 -1
- package/dist/validation/verification.js +0 -321
- package/dist/validation/verification.js.map +0 -1
- package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +0 -49
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-hooks.js","sourceRoot":"","sources":["../../../src/hooks/handlers/agent-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Conduit Messaging Hook Handlers
|
|
3
|
-
*
|
|
4
|
-
* Captures orchestration lifecycle events (SubagentStart, SubagentStop,
|
|
5
|
-
* SessionEnd) and writes structured messages to conduit.db via LocalTransport.
|
|
6
|
-
* This is the DECOUPLED approach: hooks observe orchestration events without
|
|
7
|
-
* any changes to the orchestrate engine itself.
|
|
8
|
-
*
|
|
9
|
-
* Message format (JSON string stored as conduit message content):
|
|
10
|
-
* { type, from, to, content, taskId, timestamp }
|
|
11
|
-
*
|
|
12
|
-
* All handlers are best-effort — failures are silently swallowed so that
|
|
13
|
-
* conduit writes NEVER crash or block agent orchestration.
|
|
14
|
-
*
|
|
15
|
-
* Auto-registers on module load.
|
|
16
|
-
*
|
|
17
|
-
* @task T268
|
|
18
|
-
*/
|
|
19
|
-
import { LocalTransport } from '../../conduit/local-transport.js';
|
|
20
|
-
import { getLogger } from '../../logger.js';
|
|
21
|
-
import { hooks } from '../registry.js';
|
|
22
|
-
/** Well-known system agent ID used as the "from" sender for lifecycle messages. */
|
|
23
|
-
const SYSTEM_AGENT_ID = 'cleo-orchestrator';
|
|
24
|
-
/** Well-known broadcast recipient for lifecycle events. */
|
|
25
|
-
const BROADCAST_RECIPIENT = 'cleo-system';
|
|
26
|
-
// ---------------------------------------------------------------------------
|
|
27
|
-
// Internal helpers
|
|
28
|
-
// ---------------------------------------------------------------------------
|
|
29
|
-
/**
|
|
30
|
-
* Build the content string for a SubagentStart conduit message.
|
|
31
|
-
*
|
|
32
|
-
* @param payload - SubagentStart event payload.
|
|
33
|
-
* @returns JSON-serialised message content string.
|
|
34
|
-
*/
|
|
35
|
-
function buildSpawnMessageContent(payload) {
|
|
36
|
-
return JSON.stringify({
|
|
37
|
-
type: 'subagent.spawn',
|
|
38
|
-
from: SYSTEM_AGENT_ID,
|
|
39
|
-
to: payload.agentId,
|
|
40
|
-
content: `Subagent spawned: ${payload.agentId}${payload.role ? ` (${payload.role})` : ''}`,
|
|
41
|
-
taskId: payload.taskId ?? null,
|
|
42
|
-
timestamp: payload.timestamp,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Build the content string for a SubagentStop conduit message.
|
|
47
|
-
*
|
|
48
|
-
* @param payload - SubagentStop event payload.
|
|
49
|
-
* @returns JSON-serialised message content string.
|
|
50
|
-
*/
|
|
51
|
-
function buildCompletionMessageContent(payload) {
|
|
52
|
-
return JSON.stringify({
|
|
53
|
-
type: 'subagent.complete',
|
|
54
|
-
from: payload.agentId,
|
|
55
|
-
to: BROADCAST_RECIPIENT,
|
|
56
|
-
content: `Subagent completed: ${payload.agentId} status=${payload.status ?? 'unknown'}${payload.taskId ? ` task=${payload.taskId}` : ''}`,
|
|
57
|
-
taskId: payload.taskId ?? null,
|
|
58
|
-
timestamp: payload.timestamp,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Build the content string for a SessionEnd handoff conduit message.
|
|
63
|
-
*
|
|
64
|
-
* @param payload - SessionEnd event payload.
|
|
65
|
-
* @param nextTask - Optional next suggested task ID from the session.
|
|
66
|
-
* @returns JSON-serialised message content string.
|
|
67
|
-
*/
|
|
68
|
-
function buildHandoffMessageContent(payload, nextTask) {
|
|
69
|
-
return JSON.stringify({
|
|
70
|
-
type: 'session.handoff',
|
|
71
|
-
from: SYSTEM_AGENT_ID,
|
|
72
|
-
to: BROADCAST_RECIPIENT,
|
|
73
|
-
content: `Session ended: ${payload.sessionId}${nextTask ? ` \u2014 next task: ${nextTask}` : ''}`,
|
|
74
|
-
taskId: nextTask ?? null,
|
|
75
|
-
timestamp: payload.timestamp,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Attempt to create and connect a LocalTransport for conduit.db.
|
|
80
|
-
*
|
|
81
|
-
* Returns null when conduit.db is unavailable (not yet initialised), or when
|
|
82
|
-
* the connect call fails, so callers can bail out gracefully without throwing.
|
|
83
|
-
*
|
|
84
|
-
* The `transportFactory` parameter exists for testing: callers can inject a
|
|
85
|
-
* mock constructor so no real conduit.db is required in unit tests.
|
|
86
|
-
*
|
|
87
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
88
|
-
* @param transportFactory - Optional factory used to construct the transport.
|
|
89
|
-
* Defaults to the `LocalTransport` class.
|
|
90
|
-
*/
|
|
91
|
-
export async function tryGetLocalTransport(projectRoot, transportFactory = LocalTransport) {
|
|
92
|
-
try {
|
|
93
|
-
if (!transportFactory.isAvailable(projectRoot))
|
|
94
|
-
return null;
|
|
95
|
-
const transport = new transportFactory();
|
|
96
|
-
await transport.connect({
|
|
97
|
-
agentId: SYSTEM_AGENT_ID,
|
|
98
|
-
apiKey: '',
|
|
99
|
-
apiBaseUrl: 'local',
|
|
100
|
-
});
|
|
101
|
-
return transport;
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// ---------------------------------------------------------------------------
|
|
108
|
-
// Handlers
|
|
109
|
-
// ---------------------------------------------------------------------------
|
|
110
|
-
/**
|
|
111
|
-
* Handle SubagentStart — send a spawn message to conduit.db.
|
|
112
|
-
*
|
|
113
|
-
* Writes a `subagent.spawn` message from `cleo-orchestrator` to the
|
|
114
|
-
* spawned agent ID so orchestrators and watchers can observe the event.
|
|
115
|
-
*
|
|
116
|
-
* Best-effort: failures are swallowed and logged at debug level.
|
|
117
|
-
*
|
|
118
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
119
|
-
* @param payload - SubagentStart event payload.
|
|
120
|
-
*/
|
|
121
|
-
export async function handleConduitSubagentStart(projectRoot, payload) {
|
|
122
|
-
const transport = await tryGetLocalTransport(projectRoot);
|
|
123
|
-
if (!transport)
|
|
124
|
-
return;
|
|
125
|
-
try {
|
|
126
|
-
const content = buildSpawnMessageContent(payload);
|
|
127
|
-
await transport.push(payload.agentId, content);
|
|
128
|
-
}
|
|
129
|
-
catch (err) {
|
|
130
|
-
getLogger('conduit-hooks').debug({ err, agentId: payload.agentId }, 'conduit spawn write failed');
|
|
131
|
-
}
|
|
132
|
-
finally {
|
|
133
|
-
try {
|
|
134
|
-
await transport.disconnect();
|
|
135
|
-
}
|
|
136
|
-
catch {
|
|
137
|
-
// Disconnect errors are ignored
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Handle SubagentStop — send a completion message to conduit.db.
|
|
143
|
-
*
|
|
144
|
-
* Writes a `subagent.complete` message from the stopped agent to
|
|
145
|
-
* `cleo-system` so orchestrators can audit completion outcomes.
|
|
146
|
-
*
|
|
147
|
-
* Best-effort: failures are swallowed and logged at debug level.
|
|
148
|
-
*
|
|
149
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
150
|
-
* @param payload - SubagentStop event payload.
|
|
151
|
-
*/
|
|
152
|
-
export async function handleConduitSubagentStop(projectRoot, payload) {
|
|
153
|
-
const transport = await tryGetLocalTransport(projectRoot);
|
|
154
|
-
if (!transport)
|
|
155
|
-
return;
|
|
156
|
-
try {
|
|
157
|
-
const content = buildCompletionMessageContent(payload);
|
|
158
|
-
await transport.push(BROADCAST_RECIPIENT, content);
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
getLogger('conduit-hooks').debug({ err, agentId: payload.agentId }, 'conduit complete write failed');
|
|
162
|
-
}
|
|
163
|
-
finally {
|
|
164
|
-
try {
|
|
165
|
-
await transport.disconnect();
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
// Disconnect errors are ignored
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Handle SessionEnd — send a handoff message if a next task is suggested.
|
|
174
|
-
*
|
|
175
|
-
* Writes a `session.handoff` message to `cleo-system` when the session
|
|
176
|
-
* metadata includes a `nextTask` suggestion (stored in `metadata.nextTask`).
|
|
177
|
-
* The message lets waiting agents pick up where the session left off.
|
|
178
|
-
*
|
|
179
|
-
* Best-effort: failures are swallowed and logged at debug level.
|
|
180
|
-
*
|
|
181
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
182
|
-
* @param payload - SessionEnd event payload.
|
|
183
|
-
*/
|
|
184
|
-
export async function handleConduitSessionEnd(projectRoot, payload) {
|
|
185
|
-
const transport = await tryGetLocalTransport(projectRoot);
|
|
186
|
-
if (!transport)
|
|
187
|
-
return;
|
|
188
|
-
try {
|
|
189
|
-
// Extract optional next-task hint from metadata
|
|
190
|
-
const nextTask = typeof payload.metadata?.nextTask === 'string' ? payload.metadata.nextTask : undefined;
|
|
191
|
-
const content = buildHandoffMessageContent(payload, nextTask);
|
|
192
|
-
await transport.push(BROADCAST_RECIPIENT, content);
|
|
193
|
-
}
|
|
194
|
-
catch (err) {
|
|
195
|
-
getLogger('conduit-hooks').debug({ err, sessionId: payload.sessionId }, 'conduit handoff write failed');
|
|
196
|
-
}
|
|
197
|
-
finally {
|
|
198
|
-
try {
|
|
199
|
-
await transport.disconnect();
|
|
200
|
-
}
|
|
201
|
-
catch {
|
|
202
|
-
// Disconnect errors are ignored
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
// ---------------------------------------------------------------------------
|
|
207
|
-
// Auto-registration
|
|
208
|
-
// ---------------------------------------------------------------------------
|
|
209
|
-
hooks.register({
|
|
210
|
-
id: 'conduit-subagent-start',
|
|
211
|
-
event: 'SubagentStart',
|
|
212
|
-
handler: handleConduitSubagentStart,
|
|
213
|
-
// Priority 50: runs after brain capture (100) but before low-priority bookkeeping
|
|
214
|
-
priority: 50,
|
|
215
|
-
});
|
|
216
|
-
hooks.register({
|
|
217
|
-
id: 'conduit-subagent-stop',
|
|
218
|
-
event: 'SubagentStop',
|
|
219
|
-
handler: handleConduitSubagentStop,
|
|
220
|
-
priority: 50,
|
|
221
|
-
});
|
|
222
|
-
hooks.register({
|
|
223
|
-
id: 'conduit-session-end',
|
|
224
|
-
event: 'SessionEnd',
|
|
225
|
-
handler: handleConduitSessionEnd,
|
|
226
|
-
// Priority 8: runs after brain (100), backup (10), but before consolidation (5)
|
|
227
|
-
priority: 8,
|
|
228
|
-
});
|
|
229
|
-
//# sourceMappingURL=conduit-hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conduit-hooks.js","sourceRoot":"","sources":["../../../src/hooks/handlers/conduit-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context Compaction Hook Handlers
|
|
3
|
-
*
|
|
4
|
-
* Captures PreCompact and PostCompact events to BRAIN so that agents
|
|
5
|
-
* can later observe when context compactions occurred and what state
|
|
6
|
-
* preceded them. This is especially useful for long sessions where
|
|
7
|
-
* context is compacted multiple times.
|
|
8
|
-
*
|
|
9
|
-
* PreCompact saves a session context snapshot before compaction begins.
|
|
10
|
-
* PostCompact records that compaction occurred and the resulting token counts.
|
|
11
|
-
*
|
|
12
|
-
* Gated behind brain.autoCapture config. Never throws — all errors are
|
|
13
|
-
* swallowed so brain capture never blocks context compaction.
|
|
14
|
-
*
|
|
15
|
-
* Auto-registers on module load.
|
|
16
|
-
*
|
|
17
|
-
* @task T166
|
|
18
|
-
* @epic T134
|
|
19
|
-
*/
|
|
20
|
-
import { hooks } from '../registry.js';
|
|
21
|
-
import { isAutoCaptureEnabled, isMissingBrainSchemaError } from './handler-helpers.js';
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
// Handlers
|
|
24
|
-
// ---------------------------------------------------------------------------
|
|
25
|
-
/**
|
|
26
|
-
* Handle PreCompact — snapshot current session memory context to BRAIN.
|
|
27
|
-
*
|
|
28
|
-
* Fires immediately before context compaction begins. Records the token
|
|
29
|
-
* count and compaction reason so the brain retains context about what
|
|
30
|
-
* was in scope before compaction.
|
|
31
|
-
*
|
|
32
|
-
* Gated behind brain.autoCapture config. Never throws.
|
|
33
|
-
*
|
|
34
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
35
|
-
* @param payload - PreCompact event payload.
|
|
36
|
-
*
|
|
37
|
-
* @task T166
|
|
38
|
-
* @epic T134
|
|
39
|
-
*/
|
|
40
|
-
export async function handlePreCompact(projectRoot, payload) {
|
|
41
|
-
if (!(await isAutoCaptureEnabled(projectRoot)))
|
|
42
|
-
return;
|
|
43
|
-
const { observeBrain } = await import('../../memory/brain-retrieval.js');
|
|
44
|
-
const tokensPart = payload.tokensBefore != null ? ` (~${payload.tokensBefore.toLocaleString()} tokens)` : '';
|
|
45
|
-
const reasonPart = payload.reason ? ` Reason: ${payload.reason}` : '';
|
|
46
|
-
try {
|
|
47
|
-
await observeBrain(projectRoot, {
|
|
48
|
-
text: `Context compaction about to begin${tokensPart}.${reasonPart}`,
|
|
49
|
-
title: 'Pre-compaction context snapshot',
|
|
50
|
-
type: 'discovery',
|
|
51
|
-
sourceSessionId: payload.sessionId,
|
|
52
|
-
sourceType: 'agent',
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
if (!isMissingBrainSchemaError(err))
|
|
57
|
-
throw err;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Handle PostCompact — record compaction completion to BRAIN.
|
|
62
|
-
*
|
|
63
|
-
* Fires immediately after context compaction completes. Records the
|
|
64
|
-
* before/after token counts so agents can correlate observations made
|
|
65
|
-
* before compaction with those made after.
|
|
66
|
-
*
|
|
67
|
-
* Gated behind brain.autoCapture config. Never throws.
|
|
68
|
-
*
|
|
69
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
70
|
-
* @param payload - PostCompact event payload.
|
|
71
|
-
*
|
|
72
|
-
* @task T166
|
|
73
|
-
* @epic T134
|
|
74
|
-
*/
|
|
75
|
-
export async function handlePostCompact(projectRoot, payload) {
|
|
76
|
-
if (!(await isAutoCaptureEnabled(projectRoot)))
|
|
77
|
-
return;
|
|
78
|
-
const { observeBrain } = await import('../../memory/brain-retrieval.js');
|
|
79
|
-
const statusPart = payload.success ? 'succeeded' : 'failed';
|
|
80
|
-
const beforePart = payload.tokensBefore != null ? ` before=${payload.tokensBefore.toLocaleString()}` : '';
|
|
81
|
-
const afterPart = payload.tokensAfter != null ? ` after=${payload.tokensAfter.toLocaleString()}` : '';
|
|
82
|
-
try {
|
|
83
|
-
await observeBrain(projectRoot, {
|
|
84
|
-
text: `Context compaction ${statusPart}${beforePart}${afterPart}`,
|
|
85
|
-
title: 'Post-compaction record',
|
|
86
|
-
type: 'change',
|
|
87
|
-
sourceSessionId: payload.sessionId,
|
|
88
|
-
sourceType: 'agent',
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
if (!isMissingBrainSchemaError(err))
|
|
93
|
-
throw err;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// ---------------------------------------------------------------------------
|
|
97
|
-
// Auto-registration
|
|
98
|
-
// ---------------------------------------------------------------------------
|
|
99
|
-
hooks.register({
|
|
100
|
-
id: 'brain-pre-compact',
|
|
101
|
-
event: 'PreCompact',
|
|
102
|
-
handler: handlePreCompact,
|
|
103
|
-
priority: 100,
|
|
104
|
-
});
|
|
105
|
-
hooks.register({
|
|
106
|
-
id: 'brain-post-compact',
|
|
107
|
-
event: 'PostCompact',
|
|
108
|
-
handler: handlePostCompact,
|
|
109
|
-
priority: 100,
|
|
110
|
-
});
|
|
111
|
-
//# sourceMappingURL=context-hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-hooks.js","sourceRoot":"","sources":["../../../src/hooks/handlers/context-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error Hook Handlers - Wave 2 of T5237
|
|
3
|
-
*
|
|
4
|
-
* Captures operation errors to BRAIN via memory.observe.
|
|
5
|
-
* Includes infinite-loop guard to prevent onError triggering onError.
|
|
6
|
-
* Auto-registers on module load.
|
|
7
|
-
*/
|
|
8
|
-
import { hooks } from '../registry.js';
|
|
9
|
-
/**
|
|
10
|
-
* Handle PostToolUseFailure — capture operation errors to BRAIN.
|
|
11
|
-
*
|
|
12
|
-
* Includes an infinite-loop guard: if the payload carries a `_fromHook`
|
|
13
|
-
* metadata marker the handler skips immediately to prevent the cycle
|
|
14
|
-
* `PostToolUseFailure → observeBrain → PostToolUseFailure`. All
|
|
15
|
-
* `observeBrain` errors are also silently suppressed for the same reason.
|
|
16
|
-
*
|
|
17
|
-
* Never throws. All brain-write errors are swallowed so error hooks
|
|
18
|
-
* never block the original error path.
|
|
19
|
-
*
|
|
20
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
21
|
-
* @param payload - PostToolUseFailure event payload.
|
|
22
|
-
*
|
|
23
|
-
* @task T166
|
|
24
|
-
* @epic T134
|
|
25
|
-
*/
|
|
26
|
-
export async function handleError(projectRoot, payload) {
|
|
27
|
-
// Infinite-loop guard: skip if this error originated from a hook
|
|
28
|
-
if (payload.metadata?.['_fromHook'])
|
|
29
|
-
return;
|
|
30
|
-
const { observeBrain } = await import('../../memory/brain-retrieval.js');
|
|
31
|
-
const domainOp = payload.domain && payload.operation ? `${payload.domain}.${payload.operation}` : 'unknown';
|
|
32
|
-
try {
|
|
33
|
-
await observeBrain(projectRoot, {
|
|
34
|
-
text: `Error in ${domainOp}: ${payload.message}\nCode: ${payload.errorCode}${payload.gateway ? `\nGateway: ${payload.gateway}` : ''}`,
|
|
35
|
-
title: `Error: ${domainOp}`,
|
|
36
|
-
type: 'discovery',
|
|
37
|
-
sourceType: 'agent',
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
catch (_err) {
|
|
41
|
-
// Silently suppress all observeBrain errors in hook context
|
|
42
|
-
// to prevent re-entrant hook firing
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// Register handler on module load
|
|
46
|
-
hooks.register({
|
|
47
|
-
id: 'brain-error',
|
|
48
|
-
event: 'PostToolUseFailure',
|
|
49
|
-
handler: handleError,
|
|
50
|
-
priority: 100,
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=error-hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-hooks.js","sourceRoot":"","sources":["../../../src/hooks/handlers/error-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,OAAkC;IAElC,iEAAiE;IACjE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC;QAAE,OAAO;IAE5C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IAEzE,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7F,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,WAAW,EAAE;YAC9B,IAAI,EAAE,YAAY,QAAQ,KAAK,OAAO,CAAC,OAAO,WAAW,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACrI,KAAK,EAAE,UAAU,QAAQ,EAAE;YAC3B,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,IAAI,EAAE,CAAC;QACd,4DAA4D;QAC5D,oCAAoC;IACtC,CAAC;AACH,CAAC;AAED,kCAAkC;AAClC,KAAK,CAAC,QAAQ,CAAC;IACb,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,oBAAoB;IAC3B,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,GAAG;CACd,CAAC,CAAC"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File Change Hook Handlers - Wave 2 of T5237
|
|
3
|
-
*
|
|
4
|
-
* Captures file change events to BRAIN via memory.observe.
|
|
5
|
-
* Includes 5-second dedup and path-based filtering to avoid noisy writes.
|
|
6
|
-
* Auto-registers on module load.
|
|
7
|
-
*
|
|
8
|
-
* Disabled by default. Enable via:
|
|
9
|
-
* - Config: brain.captureFiles = true (checked first)
|
|
10
|
-
* - Env: CLEO_BRAIN_CAPTURE_FILES=true (overrides config)
|
|
11
|
-
*/
|
|
12
|
-
import { isAbsolute, relative } from 'node:path';
|
|
13
|
-
import { hooks } from '../registry.js';
|
|
14
|
-
import { isMissingBrainSchemaError } from './handler-helpers.js';
|
|
15
|
-
/** 5-second dedup map: filePath -> last dispatch timestamp */
|
|
16
|
-
const recentWrites = new Map();
|
|
17
|
-
const DEDUP_INTERVAL_MS = 5_000;
|
|
18
|
-
/** Path patterns to exclude from brain observations (internal/noisy files). */
|
|
19
|
-
const SKIP_PATTERNS = [
|
|
20
|
-
/\.cleo\//, // All .cleo internal files (sessions.json, config.json, tasks.db, etc.)
|
|
21
|
-
/\.cleo\\/, // Windows path variant
|
|
22
|
-
/\/\.temp\//, // Temp directories
|
|
23
|
-
/cleo-test-/, // Vitest test temp dirs
|
|
24
|
-
/cleo-edge-/, // Edge-case test temp dirs
|
|
25
|
-
/node_modules\//, // Dependencies
|
|
26
|
-
/\.git\//, // Git internals
|
|
27
|
-
/dist\//, // Build output
|
|
28
|
-
];
|
|
29
|
-
/** Check whether a relative path should be skipped. */
|
|
30
|
-
function shouldSkipPath(relativePath) {
|
|
31
|
-
return SKIP_PATTERNS.some((pattern) => pattern.test(relativePath));
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Check whether file-change capture is enabled.
|
|
35
|
-
*
|
|
36
|
-
* Resolution order (first truthy wins):
|
|
37
|
-
* 1. CLEO_BRAIN_CAPTURE_FILES env var (explicit override)
|
|
38
|
-
* 2. brain.captureFiles project config value
|
|
39
|
-
*
|
|
40
|
-
* Defaults to false when neither is set.
|
|
41
|
-
*/
|
|
42
|
-
async function isFileCaptureEnabled(projectRoot) {
|
|
43
|
-
const envOverride = process.env['CLEO_BRAIN_CAPTURE_FILES'];
|
|
44
|
-
if (envOverride !== undefined) {
|
|
45
|
-
return envOverride === 'true';
|
|
46
|
-
}
|
|
47
|
-
try {
|
|
48
|
-
const { loadConfig } = await import('../../config.js');
|
|
49
|
-
const config = await loadConfig(projectRoot);
|
|
50
|
-
return config.brain?.captureFiles ?? false;
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Handle Notification (file-change variant) - capture file changes to BRAIN
|
|
58
|
-
*
|
|
59
|
-
* Gated behind brain.captureFiles config or CLEO_BRAIN_CAPTURE_FILES env var.
|
|
60
|
-
* Env var takes precedence over config for backward compatibility.
|
|
61
|
-
* Deduplicates rapid writes to the same file within a 5-second window.
|
|
62
|
-
* Filters out .cleo/ internal files and test temp directories.
|
|
63
|
-
* Converts absolute paths to project-relative paths.
|
|
64
|
-
*/
|
|
65
|
-
export async function handleFileChange(projectRoot, payload) {
|
|
66
|
-
// Only handle file-change notifications
|
|
67
|
-
if (!payload.filePath || !payload.changeType)
|
|
68
|
-
return;
|
|
69
|
-
// Opt-in gate: disabled by default to prevent observation noise
|
|
70
|
-
if (!(await isFileCaptureEnabled(projectRoot)))
|
|
71
|
-
return;
|
|
72
|
-
// 5-second dedup
|
|
73
|
-
const now = Date.now();
|
|
74
|
-
const lastWrite = recentWrites.get(payload.filePath);
|
|
75
|
-
if (lastWrite && now - lastWrite < DEDUP_INTERVAL_MS)
|
|
76
|
-
return;
|
|
77
|
-
recentWrites.set(payload.filePath, now);
|
|
78
|
-
// Convert absolute paths to relative, normalize to forward slashes
|
|
79
|
-
const relativePath = (isAbsolute(payload.filePath) ? relative(projectRoot, payload.filePath) : payload.filePath).replaceAll('\\', '/');
|
|
80
|
-
// Skip internal/noisy files
|
|
81
|
-
if (shouldSkipPath(relativePath))
|
|
82
|
-
return;
|
|
83
|
-
const { observeBrain } = await import('../../memory/brain-retrieval.js');
|
|
84
|
-
try {
|
|
85
|
-
await observeBrain(projectRoot, {
|
|
86
|
-
text: `File ${payload.changeType}: ${relativePath}${payload.sizeBytes != null ? ` (${payload.sizeBytes} bytes)` : ''}`,
|
|
87
|
-
title: `File changed: ${relativePath}`,
|
|
88
|
-
type: 'change',
|
|
89
|
-
sourceType: 'agent',
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
if (!isMissingBrainSchemaError(err))
|
|
94
|
-
throw err;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Register handler on module load
|
|
98
|
-
hooks.register({
|
|
99
|
-
id: 'brain-file-change',
|
|
100
|
-
event: 'Notification',
|
|
101
|
-
handler: handleFileChange,
|
|
102
|
-
priority: 100,
|
|
103
|
-
});
|
|
104
|
-
//# sourceMappingURL=file-hooks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-hooks.js","sourceRoot":"","sources":["../../../src/hooks/handlers/file-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared helpers for hook handler modules.
|
|
3
|
-
*
|
|
4
|
-
* Centralises the two patterns repeated across all brain-capture handlers:
|
|
5
|
-
*
|
|
6
|
-
* 1. `isMissingBrainSchemaError` — detects the "no such table: brain_*" error
|
|
7
|
-
* thrown when brain.db has not been migrated yet, so handlers can swallow
|
|
8
|
-
* it silently instead of crashing agent workflows.
|
|
9
|
-
*
|
|
10
|
-
* 2. `isAutoCaptureEnabled` — reads `brain.autoCapture` from the cascaded
|
|
11
|
-
* project config and returns false when the config is unreadable.
|
|
12
|
-
*
|
|
13
|
-
* Import these instead of redefining them in each handler file.
|
|
14
|
-
*
|
|
15
|
-
* @task T166
|
|
16
|
-
* @epic T134
|
|
17
|
-
*/
|
|
18
|
-
// ---------------------------------------------------------------------------
|
|
19
|
-
// Brain schema error guard
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
/**
|
|
22
|
-
* Return true when the error is the "no such table: brain_*" SQLite error
|
|
23
|
-
* thrown before brain.db has been migrated.
|
|
24
|
-
*
|
|
25
|
-
* Hook handlers use this to swallow migration-lag errors without hiding
|
|
26
|
-
* genuine failures: if the error is NOT a missing-schema error it is
|
|
27
|
-
* re-thrown so it propagates normally.
|
|
28
|
-
*
|
|
29
|
-
* @param err - The caught error value (may be any type).
|
|
30
|
-
*/
|
|
31
|
-
export function isMissingBrainSchemaError(err) {
|
|
32
|
-
if (!(err instanceof Error))
|
|
33
|
-
return false;
|
|
34
|
-
const message = String(err.message || '').toLowerCase();
|
|
35
|
-
return message.includes('no such table') && message.includes('brain_');
|
|
36
|
-
}
|
|
37
|
-
// ---------------------------------------------------------------------------
|
|
38
|
-
// Auto-capture config gate
|
|
39
|
-
// ---------------------------------------------------------------------------
|
|
40
|
-
/**
|
|
41
|
-
* Return true when `brain.autoCapture` is enabled for the given project.
|
|
42
|
-
*
|
|
43
|
-
* Resolution order (first truthy wins):
|
|
44
|
-
* 1. `brain.autoCapture` project config value (via `loadConfig` cascade)
|
|
45
|
-
*
|
|
46
|
-
* Defaults to `false` when the config is unreadable or the key is absent,
|
|
47
|
-
* so handlers are safely disabled in environments where brain.db is not set up.
|
|
48
|
-
*
|
|
49
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
50
|
-
*/
|
|
51
|
-
export async function isAutoCaptureEnabled(projectRoot) {
|
|
52
|
-
try {
|
|
53
|
-
const { loadConfig } = await import('../../config.js');
|
|
54
|
-
const config = await loadConfig(projectRoot);
|
|
55
|
-
return config.brain?.autoCapture ?? false;
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=handler-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler-helpers.js","sourceRoot":"","sources":["../../../src/hooks/handlers/handler-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAY;IACpD,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IAC5D,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook Handlers Index - Phase 2D of T5237
|
|
3
|
-
*
|
|
4
|
-
* Barrel export for all hook handlers. Importing this module will
|
|
5
|
-
* auto-register all handlers with the hook registry.
|
|
6
|
-
*
|
|
7
|
-
* @task T166
|
|
8
|
-
* @epic T134
|
|
9
|
-
*/
|
|
10
|
-
// Import handlers to trigger auto-registration on module load
|
|
11
|
-
import './session-hooks.js';
|
|
12
|
-
import './task-hooks.js';
|
|
13
|
-
import './error-hooks.js';
|
|
14
|
-
import './file-hooks.js';
|
|
15
|
-
import './notification-hooks.js';
|
|
16
|
-
import './work-capture-hooks.js';
|
|
17
|
-
import './agent-hooks.js';
|
|
18
|
-
import './context-hooks.js';
|
|
19
|
-
import './watchdog-hooks.js';
|
|
20
|
-
// T549 Wave 5-D/E: Intelligence hooks (best-effort risk detection on task start)
|
|
21
|
-
import './intelligence-hooks.js';
|
|
22
|
-
// Conduit messaging hooks — write orchestration events to conduit.db
|
|
23
|
-
import './conduit-hooks.js';
|
|
24
|
-
export { handleSubagentStart, handleSubagentStop } from './agent-hooks.js';
|
|
25
|
-
export { handleConduitSessionEnd, handleConduitSubagentStart, handleConduitSubagentStop, } from './conduit-hooks.js';
|
|
26
|
-
export { handlePostCompact, handlePreCompact } from './context-hooks.js';
|
|
27
|
-
export { handleError } from './error-hooks.js';
|
|
28
|
-
export { handleFileChange } from './file-hooks.js';
|
|
29
|
-
// T549 Wave 5-D/E: Intelligence hook exports
|
|
30
|
-
export { handleTaskStartIntelligence } from './intelligence-hooks.js';
|
|
31
|
-
export { handleSystemNotification } from './notification-hooks.js';
|
|
32
|
-
// Re-export handler functions for explicit use
|
|
33
|
-
export { handleSessionEnd, handleSessionStart } from './session-hooks.js';
|
|
34
|
-
export { handleToolComplete, handleToolStart } from './task-hooks.js';
|
|
35
|
-
export { handleWatchdogStart, handleWatchdogStop } from './watchdog-hooks.js';
|
|
36
|
-
export { handleWorkPromptSubmit, handleWorkResponseComplete } from './work-capture-hooks.js';
|
|
37
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8DAA8D;AAC9D,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AACzB,OAAO,yBAAyB,CAAC;AACjC,OAAO,yBAAyB,CAAC;AACjC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,iFAAiF;AACjF,OAAO,yBAAyB,CAAC;AACjC,qEAAqE;AACrE,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,6CAA6C;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,+CAA+C;AAC/C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
|