@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,249 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tessera Instantiation Engine
|
|
3
|
-
*
|
|
4
|
-
* Provides template management and instantiation for parameterized
|
|
5
|
-
* WarpChain workflows. Wraps buildDefaultChain() with template
|
|
6
|
-
* variables and manages the template registry.
|
|
7
|
-
*
|
|
8
|
-
* @task T5409
|
|
9
|
-
*/
|
|
10
|
-
import { validateChain } from '../validation/chain-validation.js';
|
|
11
|
-
import { addChain, createInstance, showChain } from './chain-store.js';
|
|
12
|
-
import { buildDefaultChain } from './default-chain.js';
|
|
13
|
-
const DEFAULT_TESSERA_ID = 'tessera-rcasd';
|
|
14
|
-
const TASK_ID_PATTERN = /^T\d+$/;
|
|
15
|
-
const PLACEHOLDER_EXACT = /^\{\{\s*([A-Za-z0-9_]+)\s*\}\}$/;
|
|
16
|
-
const PLACEHOLDER_GLOBAL = /\{\{\s*([A-Za-z0-9_]+)\s*\}\}/g;
|
|
17
|
-
function valueType(value) {
|
|
18
|
-
if (value === null) {
|
|
19
|
-
return 'null';
|
|
20
|
-
}
|
|
21
|
-
if (Array.isArray(value)) {
|
|
22
|
-
return 'array';
|
|
23
|
-
}
|
|
24
|
-
return typeof value;
|
|
25
|
-
}
|
|
26
|
-
function hasOwn(obj, key) {
|
|
27
|
-
return Object.hasOwn(obj, key);
|
|
28
|
-
}
|
|
29
|
-
function validateVariableType(name, varDef, value) {
|
|
30
|
-
switch (varDef.type) {
|
|
31
|
-
case 'string': {
|
|
32
|
-
if (typeof value !== 'string') {
|
|
33
|
-
throw new Error(`Invalid variable type for "${name}": expected string, got ${valueType(value)}`);
|
|
34
|
-
}
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
case 'number': {
|
|
38
|
-
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
39
|
-
throw new Error(`Invalid variable type for "${name}": expected finite number, got ${valueType(value)}`);
|
|
40
|
-
}
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
case 'boolean': {
|
|
44
|
-
if (typeof value !== 'boolean') {
|
|
45
|
-
throw new Error(`Invalid variable type for "${name}": expected boolean, got ${valueType(value)}`);
|
|
46
|
-
}
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
case 'taskId':
|
|
50
|
-
case 'epicId': {
|
|
51
|
-
if (typeof value !== 'string') {
|
|
52
|
-
throw new Error(`Invalid variable type for "${name}": expected ${varDef.type}, got ${valueType(value)}`);
|
|
53
|
-
}
|
|
54
|
-
if (!TASK_ID_PATTERN.test(value)) {
|
|
55
|
-
throw new Error(`Invalid variable format for "${name}": expected ${varDef.type} like "T1234", got "${value}"`);
|
|
56
|
-
}
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
default: {
|
|
60
|
-
throw new Error(`Unsupported variable type for "${name}": ${String(varDef.type)}`);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
function substituteTemplateValue(value, variables, path) {
|
|
65
|
-
if (typeof value === 'string') {
|
|
66
|
-
const exact = value.match(PLACEHOLDER_EXACT);
|
|
67
|
-
if (exact) {
|
|
68
|
-
const variableName = exact[1];
|
|
69
|
-
if (!hasOwn(variables, variableName)) {
|
|
70
|
-
throw new Error(`Unknown template variable "${variableName}" at ${path}`);
|
|
71
|
-
}
|
|
72
|
-
return variables[variableName];
|
|
73
|
-
}
|
|
74
|
-
return value.replace(PLACEHOLDER_GLOBAL, (_full, variableName) => {
|
|
75
|
-
if (!hasOwn(variables, variableName)) {
|
|
76
|
-
throw new Error(`Unknown template variable "${variableName}" at ${path}`);
|
|
77
|
-
}
|
|
78
|
-
return String(variables[variableName]);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
if (Array.isArray(value)) {
|
|
82
|
-
return value.map((entry, index) => substituteTemplateValue(entry, variables, `${path}[${index}]`));
|
|
83
|
-
}
|
|
84
|
-
if (value !== null && typeof value === 'object') {
|
|
85
|
-
const out = {};
|
|
86
|
-
for (const [key, nested] of Object.entries(value)) {
|
|
87
|
-
out[key] = substituteTemplateValue(nested, variables, `${path}.${key}`);
|
|
88
|
-
}
|
|
89
|
-
return out;
|
|
90
|
-
}
|
|
91
|
-
return value;
|
|
92
|
-
}
|
|
93
|
-
function resolveVariables(template, inputVariables) {
|
|
94
|
-
const variableKeys = Object.keys(template.variables).sort();
|
|
95
|
-
const allowedVariables = new Set(variableKeys);
|
|
96
|
-
for (const key of Object.keys(inputVariables).sort()) {
|
|
97
|
-
if (!allowedVariables.has(key)) {
|
|
98
|
-
throw new Error(`Unknown variable: ${key}. Allowed variables: ${variableKeys.join(', ')}`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
const resolvedVariables = {};
|
|
102
|
-
for (const key of variableKeys) {
|
|
103
|
-
const varDef = template.variables[key];
|
|
104
|
-
const hasInput = hasOwn(inputVariables, key);
|
|
105
|
-
const inputValue = hasInput ? inputVariables[key] : undefined;
|
|
106
|
-
if (inputValue === undefined) {
|
|
107
|
-
if (varDef.required) {
|
|
108
|
-
throw new Error(`Missing required variable: ${key}`);
|
|
109
|
-
}
|
|
110
|
-
if (hasOwn(template.defaultValues, key)) {
|
|
111
|
-
const defaultValue = template.defaultValues[key];
|
|
112
|
-
validateVariableType(key, varDef, defaultValue);
|
|
113
|
-
resolvedVariables[key] = defaultValue;
|
|
114
|
-
}
|
|
115
|
-
else if (varDef.default !== undefined) {
|
|
116
|
-
validateVariableType(key, varDef, varDef.default);
|
|
117
|
-
resolvedVariables[key] = varDef.default;
|
|
118
|
-
}
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
validateVariableType(key, varDef, inputValue);
|
|
122
|
-
resolvedVariables[key] = inputValue;
|
|
123
|
-
}
|
|
124
|
-
return resolvedVariables;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Build the default RCASD Tessera template.
|
|
128
|
-
*
|
|
129
|
-
* Wraps buildDefaultChain() with template variables:
|
|
130
|
-
* - epicId (required, type 'epicId')
|
|
131
|
-
* - projectName (optional, type 'string', default 'unnamed')
|
|
132
|
-
* - skipResearch (optional, type 'boolean', default false)
|
|
133
|
-
*
|
|
134
|
-
* @task T5409
|
|
135
|
-
*/
|
|
136
|
-
export function buildDefaultTessera() {
|
|
137
|
-
const chain = buildDefaultChain();
|
|
138
|
-
return {
|
|
139
|
-
...chain,
|
|
140
|
-
id: DEFAULT_TESSERA_ID,
|
|
141
|
-
tessera: DEFAULT_TESSERA_ID,
|
|
142
|
-
variables: {
|
|
143
|
-
epicId: {
|
|
144
|
-
name: 'epicId',
|
|
145
|
-
type: 'epicId',
|
|
146
|
-
description: 'The epic task ID to bind this pipeline to',
|
|
147
|
-
required: true,
|
|
148
|
-
},
|
|
149
|
-
projectName: {
|
|
150
|
-
name: 'projectName',
|
|
151
|
-
type: 'string',
|
|
152
|
-
description: 'Name of the project for labeling',
|
|
153
|
-
required: false,
|
|
154
|
-
default: 'unnamed',
|
|
155
|
-
},
|
|
156
|
-
skipResearch: {
|
|
157
|
-
name: 'skipResearch',
|
|
158
|
-
type: 'boolean',
|
|
159
|
-
description: 'Whether to skip the research stage',
|
|
160
|
-
required: false,
|
|
161
|
-
default: false,
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
archetypes: ['lifecycle', 'rcasd'],
|
|
165
|
-
defaultValues: {
|
|
166
|
-
projectName: 'unnamed',
|
|
167
|
-
skipResearch: false,
|
|
168
|
-
},
|
|
169
|
-
category: 'lifecycle',
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
/** In-memory template registry. */
|
|
173
|
-
const templates = new Map();
|
|
174
|
-
/** Ensure the default template is registered. */
|
|
175
|
-
function ensureDefaults() {
|
|
176
|
-
if (!templates.has(DEFAULT_TESSERA_ID)) {
|
|
177
|
-
templates.set(DEFAULT_TESSERA_ID, buildDefaultTessera());
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Instantiate a Tessera template into a concrete WarpChainInstance.
|
|
182
|
-
*
|
|
183
|
-
* Steps:
|
|
184
|
-
* 1. Validate all required variables are provided
|
|
185
|
-
* 2. Apply defaults for missing optional variables
|
|
186
|
-
* 3. Construct concrete WarpChain from template
|
|
187
|
-
* 4. Validate chain via validateChain()
|
|
188
|
-
* 5. Store via createInstance() from chain-store
|
|
189
|
-
* 6. Return instance
|
|
190
|
-
*
|
|
191
|
-
* @task T5409
|
|
192
|
-
*/
|
|
193
|
-
export async function instantiateTessera(template, input, projectRoot) {
|
|
194
|
-
// 1. Resolve and validate input variables
|
|
195
|
-
const inputVariables = input.variables && typeof input.variables === 'object' ? input.variables : {};
|
|
196
|
-
const resolvedVariables = resolveVariables(template, inputVariables);
|
|
197
|
-
// 2. Build chain from template with deep substitution
|
|
198
|
-
const chainSeed = {
|
|
199
|
-
id: template.id,
|
|
200
|
-
name: template.name,
|
|
201
|
-
version: template.version,
|
|
202
|
-
description: template.description,
|
|
203
|
-
shape: template.shape,
|
|
204
|
-
gates: template.gates,
|
|
205
|
-
tessera: template.id,
|
|
206
|
-
metadata: template.metadata,
|
|
207
|
-
};
|
|
208
|
-
const substituted = substituteTemplateValue(chainSeed, resolvedVariables, 'chain');
|
|
209
|
-
const chain = substituted;
|
|
210
|
-
chain.metadata = {
|
|
211
|
-
...(chain.metadata ?? {}),
|
|
212
|
-
variables: resolvedVariables,
|
|
213
|
-
};
|
|
214
|
-
// 3. Validate the chain
|
|
215
|
-
const validation = validateChain(chain);
|
|
216
|
-
if (validation.errors.length > 0) {
|
|
217
|
-
throw new Error(`Tessera chain validation failed: ${validation.errors.join('; ')}`);
|
|
218
|
-
}
|
|
219
|
-
// 4. Store chain if not already stored, then create instance
|
|
220
|
-
const existing = await showChain(chain.id, projectRoot);
|
|
221
|
-
if (!existing) {
|
|
222
|
-
await addChain(chain, projectRoot);
|
|
223
|
-
}
|
|
224
|
-
// 5. Create and return instance
|
|
225
|
-
return createInstance({
|
|
226
|
-
chainId: chain.id,
|
|
227
|
-
epicId: input.epicId,
|
|
228
|
-
variables: resolvedVariables,
|
|
229
|
-
}, projectRoot);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* List all registered Tessera templates.
|
|
233
|
-
*
|
|
234
|
-
* @task T5409
|
|
235
|
-
*/
|
|
236
|
-
export function listTesseraTemplates() {
|
|
237
|
-
ensureDefaults();
|
|
238
|
-
return Array.from(templates.values());
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Find a Tessera template by ID.
|
|
242
|
-
*
|
|
243
|
-
* @task T5409
|
|
244
|
-
*/
|
|
245
|
-
export function showTessera(id) {
|
|
246
|
-
ensureDefaults();
|
|
247
|
-
return templates.get(id) ?? null;
|
|
248
|
-
}
|
|
249
|
-
//# sourceMappingURL=tessera-engine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tessera-engine.js","sourceRoot":"","sources":["../../src/lifecycle/tessera-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized pino logger factory for CLEO.
|
|
3
|
-
*
|
|
4
|
-
* Singleton pattern. Uses pino-roll for automatic file rotation and retention.
|
|
5
|
-
* Custom formatters for uppercase level labels and ISO timestamps.
|
|
6
|
-
* Context via child loggers (getLogger('subsystem')).
|
|
7
|
-
*
|
|
8
|
-
* All diagnostic logging goes to files — stdout is reserved for structured
|
|
9
|
-
* CLI output. Fallback stderr logger if not yet initialized.
|
|
10
|
-
*/
|
|
11
|
-
import { existsSync } from 'node:fs';
|
|
12
|
-
import { dirname, join } from 'node:path';
|
|
13
|
-
import pino from 'pino';
|
|
14
|
-
let rootLogger = null;
|
|
15
|
-
let currentLogDir = null;
|
|
16
|
-
/**
|
|
17
|
-
* Convert bytes to a human-readable size string for pino-roll.
|
|
18
|
-
* pino-roll accepts '10m', '1g', '500k', etc.
|
|
19
|
-
*/
|
|
20
|
-
function bytesToSizeString(bytes) {
|
|
21
|
-
if (bytes >= 1024 * 1024 * 1024)
|
|
22
|
-
return `${Math.floor(bytes / (1024 * 1024 * 1024))}g`;
|
|
23
|
-
if (bytes >= 1024 * 1024)
|
|
24
|
-
return `${Math.floor(bytes / (1024 * 1024))}m`;
|
|
25
|
-
if (bytes >= 1024)
|
|
26
|
-
return `${Math.floor(bytes / 1024)}k`;
|
|
27
|
-
return `${bytes}`;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Initialize the root logger. Call once at startup.
|
|
31
|
-
*
|
|
32
|
-
* Uses pino-roll for automatic size+daily rotation with built-in retention.
|
|
33
|
-
* No custom rotation code needed.
|
|
34
|
-
*
|
|
35
|
-
* @param cleoDir - Absolute path to .cleo directory
|
|
36
|
-
* @param config - Logging configuration from CleoConfig.logging
|
|
37
|
-
* @param projectHash - Stable project identity token bound to every log entry.
|
|
38
|
-
* Optional for backward compatibility; warns if absent.
|
|
39
|
-
* @returns The root pino logger instance
|
|
40
|
-
*/
|
|
41
|
-
export function initLogger(cleoDir, config, projectHash) {
|
|
42
|
-
const dest = join(cleoDir, config.filePath);
|
|
43
|
-
currentLogDir = dirname(dest);
|
|
44
|
-
// Log directory should already exist via ensureCleoStructure() which
|
|
45
|
-
// creates all REQUIRED_CLEO_SUBDIRS including 'logs'. The pino-roll
|
|
46
|
-
// transport has mkdir: true as a safety net for edge cases where the
|
|
47
|
-
// logger is initialized before scaffold (e.g. early startup fallback).
|
|
48
|
-
if (!existsSync(currentLogDir)) {
|
|
49
|
-
// Emit to stderr — stdout is reserved for structured output
|
|
50
|
-
process.stderr.write(`[cleo:logger] Log directory missing: ${currentLogDir} — pino-roll will create it\n`);
|
|
51
|
-
}
|
|
52
|
-
// Use pino-roll transport for automatic rotation and retention.
|
|
53
|
-
// pino.transport() runs in a worker thread; sync: true ensures
|
|
54
|
-
// no log loss on process exit (critical for CLI tools).
|
|
55
|
-
const transport = pino.transport({
|
|
56
|
-
target: 'pino-roll',
|
|
57
|
-
options: {
|
|
58
|
-
file: dest,
|
|
59
|
-
size: bytesToSizeString(config.maxFileSize),
|
|
60
|
-
frequency: 'daily',
|
|
61
|
-
dateFormat: 'yyyy-MM-dd',
|
|
62
|
-
mkdir: true,
|
|
63
|
-
limit: {
|
|
64
|
-
count: config.maxFiles,
|
|
65
|
-
removeOtherLogFiles: true,
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
// Build base object: projectHash and platform info appear in every log entry.
|
|
70
|
-
// Pino merges base with pid/hostname by default; we add our fields alongside.
|
|
71
|
-
const base = {
|
|
72
|
-
platform: process.platform,
|
|
73
|
-
arch: process.arch,
|
|
74
|
-
nodeVersion: process.version,
|
|
75
|
-
};
|
|
76
|
-
if (projectHash) {
|
|
77
|
-
base.projectHash = projectHash;
|
|
78
|
-
}
|
|
79
|
-
rootLogger = pino({
|
|
80
|
-
level: config.level,
|
|
81
|
-
base,
|
|
82
|
-
formatters: {
|
|
83
|
-
level: (label) => ({ level: label.toUpperCase() }),
|
|
84
|
-
},
|
|
85
|
-
timestamp: pino.stdTimeFunctions.isoTime,
|
|
86
|
-
}, transport);
|
|
87
|
-
// Warn after logger is initialized so the message goes to the log file
|
|
88
|
-
if (!projectHash) {
|
|
89
|
-
getLogger('engine').warn('projectHash not provided to initLogger; audit correlation will be incomplete');
|
|
90
|
-
}
|
|
91
|
-
return rootLogger;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Get a child logger bound to a subsystem name.
|
|
95
|
-
*
|
|
96
|
-
* Safe to call before initLogger — returns a stderr fallback logger
|
|
97
|
-
* so early startup code and tests never crash.
|
|
98
|
-
*
|
|
99
|
-
* @param subsystem - Logical subsystem name (e.g. 'audit', 'dispatch', 'migration')
|
|
100
|
-
*/
|
|
101
|
-
export function getLogger(subsystem) {
|
|
102
|
-
if (!rootLogger) {
|
|
103
|
-
// Fallback: stderr logger (stdout reserved for structured output)
|
|
104
|
-
return pino({
|
|
105
|
-
level: 'warn',
|
|
106
|
-
formatters: { level: (label) => ({ level: label.toUpperCase() }) },
|
|
107
|
-
}, pino.destination(2)).child({ subsystem });
|
|
108
|
-
}
|
|
109
|
-
return rootLogger.child({ subsystem });
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Get the current log directory path.
|
|
113
|
-
* Useful for read APIs that need to scan log files.
|
|
114
|
-
*/
|
|
115
|
-
export function getLogDir() {
|
|
116
|
-
return currentLogDir;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Flush and close the logger. Call during graceful shutdown.
|
|
120
|
-
*
|
|
121
|
-
* Returns a Promise that resolves once the pino transport worker thread
|
|
122
|
-
* has processed all pending writes. Callers that cannot await (e.g. sync
|
|
123
|
-
* shutdown handlers) may fire-and-forget safely — the underlying flush
|
|
124
|
-
* will still occur before the process exits.
|
|
125
|
-
*/
|
|
126
|
-
export function closeLogger() {
|
|
127
|
-
return new Promise((resolve) => {
|
|
128
|
-
if (rootLogger) {
|
|
129
|
-
rootLogger.flush(() => {
|
|
130
|
-
rootLogger = null;
|
|
131
|
-
currentLogDir = null;
|
|
132
|
-
resolve();
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
resolve();
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,IAAI,UAAU,GAAuB,IAAI,CAAC;AAC1C,IAAI,aAAa,GAAkB,IAAI,CAAC;AASxC;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;IACvF,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;IACzE,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;IACzD,OAAO,GAAG,KAAK,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,OAAe,EACf,MAAoB,EACpB,WAAoB;IAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,qEAAqE;IACrE,oEAAoE;IACpE,qEAAqE;IACrE,uEAAuE;IACvE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,4DAA4D;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAwC,aAAa,+BAA+B,CACrF,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,+DAA+D;IAC/D,wDAAwD;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3C,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,YAAY;YACxB,KAAK,EAAE,IAAI;YACX,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,mBAAmB,EAAE,IAAI;aAC1B;SACF;KACF,CAAC,CAAC;IAEH,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,IAAI,GAA4B;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,OAAO;KAC7B,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,UAAU,GAAG,IAAI,CACf;QACE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI;QACJ,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;SAC3D;QACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;KACzC,EACD,SAAS,CACV,CAAC;IAEF,uEAAuE;IACvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CACtB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,kEAAkE;QAClE,OAAO,IAAI,CACT;YACE,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;SAC3E,EACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CACpB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;gBACpB,UAAU,GAAG,IAAI,CAAC;gBAClB,aAAa,GAAG,IAAI,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve Anthropic API key from multiple sources.
|
|
3
|
-
*
|
|
4
|
-
* Resolution priority (first match wins):
|
|
5
|
-
* 1. `ANTHROPIC_API_KEY` environment variable (explicit per-process config)
|
|
6
|
-
* 2. CLEO global config at `~/.local/share/cleo/anthropic-key` (user-stored key)
|
|
7
|
-
* 3. Claude Code OAuth token at `~/.claude/.credentials.json` (auto-discover
|
|
8
|
-
* from the user's existing Claude Code login — no manual config needed)
|
|
9
|
-
*
|
|
10
|
-
* To store a key explicitly: `cleo config set brain.anthropicApiKey <key>`
|
|
11
|
-
* or write directly to `~/.local/share/cleo/anthropic-key`.
|
|
12
|
-
*
|
|
13
|
-
* Returns null when no key is available.
|
|
14
|
-
*/
|
|
15
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
16
|
-
import { homedir } from 'node:os';
|
|
17
|
-
import { join } from 'node:path';
|
|
18
|
-
/** Cached key to avoid repeated filesystem reads within the same process. */
|
|
19
|
-
let cachedKey;
|
|
20
|
-
/** Global CLEO data directory (XDG_DATA_HOME/cleo). */
|
|
21
|
-
function globalCleoDir() {
|
|
22
|
-
const xdg = process.env.XDG_DATA_HOME || join(homedir(), '.local', 'share');
|
|
23
|
-
return join(xdg, 'cleo');
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Resolve the Anthropic API key. Result is cached for the process lifetime.
|
|
27
|
-
*
|
|
28
|
-
* @returns The API key/token string, or null if unavailable.
|
|
29
|
-
*/
|
|
30
|
-
export function resolveAnthropicApiKey() {
|
|
31
|
-
if (cachedKey !== undefined)
|
|
32
|
-
return cachedKey;
|
|
33
|
-
// 1. Explicit env var (highest priority — per-process override)
|
|
34
|
-
const envKey = process.env.ANTHROPIC_API_KEY;
|
|
35
|
-
if (envKey?.trim()) {
|
|
36
|
-
cachedKey = envKey;
|
|
37
|
-
return cachedKey;
|
|
38
|
-
}
|
|
39
|
-
// 2. CLEO global stored key (user explicitly set via CLI)
|
|
40
|
-
try {
|
|
41
|
-
const keyFile = join(globalCleoDir(), 'anthropic-key');
|
|
42
|
-
if (existsSync(keyFile)) {
|
|
43
|
-
const stored = readFileSync(keyFile, 'utf-8').trim();
|
|
44
|
-
if (stored) {
|
|
45
|
-
cachedKey = stored;
|
|
46
|
-
return cachedKey;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
// Not available — continue
|
|
52
|
-
}
|
|
53
|
-
// 3. Auto-discover from Claude Code credentials (zero config)
|
|
54
|
-
try {
|
|
55
|
-
const credPath = join(homedir(), '.claude', '.credentials.json');
|
|
56
|
-
if (!existsSync(credPath)) {
|
|
57
|
-
cachedKey = null;
|
|
58
|
-
return cachedKey;
|
|
59
|
-
}
|
|
60
|
-
const raw = readFileSync(credPath, 'utf-8');
|
|
61
|
-
const creds = JSON.parse(raw);
|
|
62
|
-
const token = creds.claudeAiOauth?.accessToken;
|
|
63
|
-
if (token?.trim()) {
|
|
64
|
-
// Skip expired tokens
|
|
65
|
-
const expiresAt = creds.claudeAiOauth?.expiresAt;
|
|
66
|
-
if (expiresAt && Date.now() > expiresAt) {
|
|
67
|
-
cachedKey = null;
|
|
68
|
-
return cachedKey;
|
|
69
|
-
}
|
|
70
|
-
cachedKey = token;
|
|
71
|
-
return cachedKey;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
// Credentials file missing or unreadable — not an error
|
|
76
|
-
}
|
|
77
|
-
cachedKey = null;
|
|
78
|
-
return cachedKey;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Store an Anthropic API key in the CLEO global config directory.
|
|
82
|
-
*
|
|
83
|
-
* Writes to `~/.local/share/cleo/anthropic-key` with 0600 permissions.
|
|
84
|
-
* This is the backup path for users who want to set a key explicitly
|
|
85
|
-
* without using environment variables.
|
|
86
|
-
*
|
|
87
|
-
* @param apiKey - The API key to store.
|
|
88
|
-
*/
|
|
89
|
-
export function storeAnthropicApiKey(apiKey) {
|
|
90
|
-
const dir = globalCleoDir();
|
|
91
|
-
if (!existsSync(dir)) {
|
|
92
|
-
mkdirSync(dir, { recursive: true });
|
|
93
|
-
}
|
|
94
|
-
const keyFile = join(dir, 'anthropic-key');
|
|
95
|
-
writeFileSync(keyFile, apiKey.trim(), { mode: 0o600 });
|
|
96
|
-
// Invalidate cache so next resolveAnthropicApiKey picks up the new key
|
|
97
|
-
cachedKey = undefined;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Clear the cached key (useful for testing or token refresh scenarios).
|
|
101
|
-
*/
|
|
102
|
-
export function clearAnthropicKeyCache() {
|
|
103
|
-
cachedKey = undefined;
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=anthropic-key-resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-key-resolver.js","sourceRoot":"","sources":["../../src/memory/anthropic-key-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transcript and task-completion memory extraction.
|
|
3
|
-
*
|
|
4
|
-
* Historical context:
|
|
5
|
-
* - Previously contained a keyword-regex `ACTION_PATTERNS` that produced
|
|
6
|
-
* 88% noise in brain.db (T543).
|
|
7
|
-
* - Previously contained `extractTaskCompletionMemory` and
|
|
8
|
-
* `extractSessionEndMemory` — both disabled per T523 CA1 spec.
|
|
9
|
-
*
|
|
10
|
-
* Current design (research-backed, replaces keyword gate):
|
|
11
|
-
* - `extractFromTranscript` forwards to the LLM-driven extraction gate in
|
|
12
|
-
* `llm-extraction.ts`. The LLM returns typed structured memories
|
|
13
|
-
* (decision / pattern / learning / constraint / correction) with
|
|
14
|
-
* importance scores and justifications.
|
|
15
|
-
* - Only memories above the configured minimum importance are stored.
|
|
16
|
-
* - Each stored memory is tagged `agent-llm-extracted:<sessionId>` so
|
|
17
|
-
* downstream dedup, quality scoring, and consolidation can distinguish
|
|
18
|
-
* it from other write paths.
|
|
19
|
-
*
|
|
20
|
-
* All extraction is best-effort: any error is swallowed so session end
|
|
21
|
-
* cannot be blocked by a failed LLM call.
|
|
22
|
-
*
|
|
23
|
-
* Research: `.cleo/agent-outputs/R-llm-memory-systems-research.md`
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Resolve an array of task IDs to their full Task objects.
|
|
27
|
-
* Tasks that cannot be found are silently excluded.
|
|
28
|
-
*
|
|
29
|
-
* Retained from the previous implementation because it is still used by
|
|
30
|
-
* callers that need hydrated task details without coupling to the disabled
|
|
31
|
-
* extraction stubs.
|
|
32
|
-
*/
|
|
33
|
-
export async function resolveTaskDetails(projectRoot, taskIds) {
|
|
34
|
-
if (taskIds.length === 0) {
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
const { getAccessor } = await import('../store/data-accessor.js');
|
|
38
|
-
const accessor = await getAccessor(projectRoot);
|
|
39
|
-
try {
|
|
40
|
-
return await accessor.loadTasks(taskIds);
|
|
41
|
-
}
|
|
42
|
-
finally {
|
|
43
|
-
await accessor.close();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Extract durable knowledge from a provider session transcript and store it
|
|
48
|
-
* in brain.db via the LLM extraction gate.
|
|
49
|
-
*
|
|
50
|
-
* Replaces the legacy `ACTION_PATTERNS` keyword-regex extractor. The LLM
|
|
51
|
-
* returns typed, structured memories with justification and importance
|
|
52
|
-
* scoring; only high-value items are persisted.
|
|
53
|
-
*
|
|
54
|
-
* Behaviour:
|
|
55
|
-
* - Returns silently when transcript is empty/non-string.
|
|
56
|
-
* - Returns silently when `brain.llmExtraction.enabled` is false OR when
|
|
57
|
-
* `ANTHROPIC_API_KEY` is not set (best-effort degradation).
|
|
58
|
-
* - Never throws — all errors are swallowed so session end cannot be
|
|
59
|
-
* blocked by a failed extraction.
|
|
60
|
-
*
|
|
61
|
-
* @param projectRoot - Absolute path to project root.
|
|
62
|
-
* @param sessionId - The CLEO session ID being processed.
|
|
63
|
-
* @param transcript - Plain-text provider transcript (user/assistant turns).
|
|
64
|
-
*/
|
|
65
|
-
export async function extractFromTranscript(projectRoot, sessionId, transcript) {
|
|
66
|
-
try {
|
|
67
|
-
if (typeof transcript !== 'string' || transcript.trim().length === 0) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const { extractFromTranscript: runLlmExtraction } = await import('./llm-extraction.js');
|
|
71
|
-
await runLlmExtraction({ projectRoot, sessionId, transcript });
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
// Best-effort: extraction must never throw during session end.
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=auto-extract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-extract.js","sourceRoot":"","sources":["../../src/memory/auto-extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,OAAiB;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,SAAiB,EACjB,UAAkB;IAElB,IAAI,CAAC;QACH,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACxF,MAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC"}
|