@cleocode/core 2026.4.12 → 2026.4.14
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/index.js +69233 -175
- package/dist/index.js.map +7 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/internal.d.ts +16 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/memory/brain-embedding.d.ts +1 -1
- package/dist/memory/embedding-local.d.ts +8 -3
- package/dist/memory/embedding-local.d.ts.map +1 -1
- package/dist/memory/embedding-worker.d.ts +1 -1
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/patterns.d.ts +6 -6
- package/dist/store/agent-registry-accessor.d.ts +54 -1
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/backup-crypto.d.ts +89 -0
- package/dist/store/backup-crypto.d.ts.map +1 -0
- package/dist/store/backup-pack.d.ts +91 -0
- package/dist/store/backup-pack.d.ts.map +1 -0
- package/dist/store/backup-unpack.d.ts +140 -0
- package/dist/store/backup-unpack.d.ts.map +1 -0
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/regenerators.d.ts +126 -0
- package/dist/store/regenerators.d.ts.map +1 -0
- package/dist/store/restore-conflict-report.d.ts +118 -0
- package/dist/store/restore-conflict-report.d.ts.map +1 -0
- package/dist/store/restore-json-merge.d.ts +187 -0
- package/dist/store/restore-json-merge.d.ts.map +1 -0
- package/dist/store/sqlite-backup.d.ts +60 -5
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/t310-readiness.d.ts +83 -0
- package/dist/store/t310-readiness.d.ts.map +1 -0
- package/package.json +11 -9
- package/src/__tests__/cli-parity.test.ts +19 -14
- package/src/__tests__/human-output.test.ts +13 -11
- package/src/init.ts +18 -8
- package/src/internal.ts +52 -2
- package/src/memory/__tests__/brain-automation.test.ts +2 -2
- package/src/memory/brain-embedding.ts +1 -1
- package/src/memory/embedding-local.ts +10 -5
- package/src/memory/embedding-worker.ts +1 -1
- package/src/skills/__tests__/discovery.test.ts +22 -7
- package/src/store/__tests__/backup-crypto.test.ts +101 -0
- package/src/store/__tests__/backup-pack.test.ts +491 -0
- package/src/store/__tests__/backup-unpack.test.ts +298 -0
- package/src/store/__tests__/performance-safety.test.ts +11 -5
- package/src/store/__tests__/regenerators.test.ts +234 -0
- package/src/store/__tests__/restore-conflict-report.test.ts +274 -0
- package/src/store/__tests__/restore-json-merge.test.ts +521 -0
- package/src/store/__tests__/t310-readiness.test.ts +111 -0
- package/src/store/__tests__/t311-integration.test.ts +661 -0
- package/src/store/backup-crypto.ts +209 -0
- package/src/store/backup-pack.ts +739 -0
- package/src/store/backup-unpack.ts +583 -0
- package/src/store/migrate-signaldock-to-conduit.ts +14 -7
- package/src/store/regenerators.ts +243 -0
- package/src/store/restore-conflict-report.ts +317 -0
- package/src/store/restore-json-merge.ts +653 -0
- package/src/store/t310-readiness.ts +119 -0
- package/src/validation/protocols/_shared.ts +1 -1
- 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 -188
- 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 -344
- 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 -10
- 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 -295
- 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 -400
- 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 -191
- 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/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 -28
- package/dist/hooks/handlers/index.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 -142
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -65
- package/dist/hooks/handlers/task-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 -851
- 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 -343
- 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 -306
- 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 -71
- 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/auto-extract.js +0 -177
- package/dist/memory/auto-extract.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 -298
- 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-reasoning.js +0 -215
- package/dist/memory/brain-reasoning.js.map +0 -1
- package/dist/memory/brain-retrieval.js +0 -542
- 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 -519
- 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 -162
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/embedding-local.js +0 -97
- 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 -1397
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/index.js +0 -1140
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/learnings.js +0 -121
- package/dist/memory/learnings.js.map +0 -1
- package/dist/memory/memory-bridge.js +0 -370
- package/dist/memory/memory-bridge.js.map +0 -1
- package/dist/memory/patterns.js +0 -122
- 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/session-memory.js +0 -331
- package/dist/memory/session-memory.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 -74
- 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/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 -263
- 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 -842
- 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 -129
- 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 -1759
- 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 -321
- 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 -52
- 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 -343
- 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 -44
- 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 -783
- 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.js +0 -94
- package/dist/store/backup.js.map +0 -1
- package/dist/store/brain-accessor.js +0 -397
- package/dist/store/brain-accessor.js.map +0 -1
- package/dist/store/brain-schema.js +0 -215
- package/dist/store/brain-schema.js.map +0 -1
- package/dist/store/brain-sqlite.js +0 -222
- 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 -555
- package/dist/store/migrate-signaldock-to-conduit.js.map +0 -1
- package/dist/store/migration-manager.js +0 -151
- 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 -62
- 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/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 -359
- 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 -481
- 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/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/health.js +0 -1100
- 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 -99
- 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 -736
- 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 -214
- 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 -157
- 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 -171
- 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 -1148
- 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
|
@@ -1,555 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automatic first-run migration executor: project-tier signaldock.db → conduit.db.
|
|
3
|
-
*
|
|
4
|
-
* Implements ADR-037 §8 — on the first cleo invocation after upgrading to
|
|
5
|
-
* v2026.4.12, if a project-tier `.cleo/signaldock.db` exists and
|
|
6
|
-
* `.cleo/conduit.db` does not, this module migrates all project-local data to
|
|
7
|
-
* conduit.db and copies global-identity rows to the global-tier signaldock.db.
|
|
8
|
-
*
|
|
9
|
-
* Key properties:
|
|
10
|
-
* - Idempotent: `needsSignaldockToConduitMigration` returns false once conduit.db exists.
|
|
11
|
-
* - Atomic per file: transactions are used for conduit.db and global signaldock.db writes.
|
|
12
|
-
* - Non-destructive: legacy signaldock.db is renamed to `.pre-t310.bak`, not deleted.
|
|
13
|
-
* - Multi-project safe: `INSERT OR IGNORE` prevents duplicate global rows when multiple
|
|
14
|
-
* projects migrate the same agent.
|
|
15
|
-
* - Migrated agents flagged `requires_reauth=1` (new KDF scheme, ADR-037 §5).
|
|
16
|
-
*
|
|
17
|
-
* @task T358
|
|
18
|
-
* @epic T310
|
|
19
|
-
* @why ADR-037 §8 — automatic first-run migration from the pre-T310 project-tier
|
|
20
|
-
* signaldock.db to the new T310 topology (conduit.db + global signaldock.db
|
|
21
|
-
* + global-salt). Runs once per project on first cleo invocation after upgrade.
|
|
22
|
-
*/
|
|
23
|
-
import { existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
|
|
24
|
-
import { createRequire } from 'node:module';
|
|
25
|
-
import { join } from 'node:path';
|
|
26
|
-
import { getLogger } from '../logger.js';
|
|
27
|
-
import { getCleoHome } from '../paths.js';
|
|
28
|
-
import { ensureConduitDb } from './conduit-sqlite.js';
|
|
29
|
-
import { getGlobalSalt } from './global-salt.js';
|
|
30
|
-
import { ensureGlobalSignaldockDb } from './signaldock-sqlite.js';
|
|
31
|
-
const _require = createRequire(import.meta.url);
|
|
32
|
-
const { DatabaseSync } = _require('node:sqlite');
|
|
33
|
-
// ---------------------------------------------------------------------------
|
|
34
|
-
// Constants
|
|
35
|
-
// ---------------------------------------------------------------------------
|
|
36
|
-
/** Project-local tables to copy verbatim from legacy signaldock.db to conduit.db. */
|
|
37
|
-
const PROJECT_TIER_TABLES = [
|
|
38
|
-
'messages',
|
|
39
|
-
'conversations',
|
|
40
|
-
'delivery_jobs',
|
|
41
|
-
'dead_letters',
|
|
42
|
-
'message_pins',
|
|
43
|
-
'attachments',
|
|
44
|
-
'attachment_versions',
|
|
45
|
-
'attachment_approvals',
|
|
46
|
-
'attachment_contributors',
|
|
47
|
-
];
|
|
48
|
-
/** Global-identity tables to copy using INSERT OR IGNORE from legacy to global signaldock.db. */
|
|
49
|
-
const GLOBAL_IDENTITY_TABLES = [
|
|
50
|
-
'agents',
|
|
51
|
-
'capabilities',
|
|
52
|
-
'skills',
|
|
53
|
-
'agent_capabilities',
|
|
54
|
-
'agent_skills',
|
|
55
|
-
'agent_connections',
|
|
56
|
-
'users',
|
|
57
|
-
'accounts',
|
|
58
|
-
'sessions',
|
|
59
|
-
'verifications',
|
|
60
|
-
'organization',
|
|
61
|
-
'claim_codes',
|
|
62
|
-
'org_agent_keys',
|
|
63
|
-
];
|
|
64
|
-
// ---------------------------------------------------------------------------
|
|
65
|
-
// Detection
|
|
66
|
-
// ---------------------------------------------------------------------------
|
|
67
|
-
/**
|
|
68
|
-
* Returns true when the legacy migration is needed for the given project.
|
|
69
|
-
*
|
|
70
|
-
* Detection heuristic (ADR-037 §8):
|
|
71
|
-
* - `.cleo/signaldock.db` EXISTS AND `.cleo/conduit.db` DOES NOT EXIST
|
|
72
|
-
*
|
|
73
|
-
* Idempotent: returns false once conduit.db is present, regardless of .bak state.
|
|
74
|
-
*
|
|
75
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
76
|
-
* @returns True if migration is needed; false otherwise.
|
|
77
|
-
*
|
|
78
|
-
* @task T358
|
|
79
|
-
* @epic T310
|
|
80
|
-
*/
|
|
81
|
-
export function needsSignaldockToConduitMigration(projectRoot) {
|
|
82
|
-
const legacyPath = join(projectRoot, '.cleo', 'signaldock.db');
|
|
83
|
-
const conduitPath = join(projectRoot, '.cleo', 'conduit.db');
|
|
84
|
-
return existsSync(legacyPath) && !existsSync(conduitPath);
|
|
85
|
-
}
|
|
86
|
-
// ---------------------------------------------------------------------------
|
|
87
|
-
// Helpers
|
|
88
|
-
// ---------------------------------------------------------------------------
|
|
89
|
-
/**
|
|
90
|
-
* Check whether a table exists in the given database.
|
|
91
|
-
*
|
|
92
|
-
* @param db - An open DatabaseSync handle.
|
|
93
|
-
* @param tableName - Name of the table to check.
|
|
94
|
-
* @returns True if the table exists in sqlite_master.
|
|
95
|
-
*/
|
|
96
|
-
function tableExistsInDb(db, tableName) {
|
|
97
|
-
const row = db
|
|
98
|
-
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?")
|
|
99
|
-
.get(tableName);
|
|
100
|
-
return !!row;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Get column names from a table in the given database.
|
|
104
|
-
*
|
|
105
|
-
* @param db - An open DatabaseSync handle.
|
|
106
|
-
* @param tableName - Name of the table.
|
|
107
|
-
* @returns Array of column names.
|
|
108
|
-
*/
|
|
109
|
-
function getTableColumns(db, tableName) {
|
|
110
|
-
const rows = db.prepare(`PRAGMA table_info("${tableName}")`).all();
|
|
111
|
-
return rows.map((r) => r.name);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Copy all rows from `tableName` in `srcDb` to the same table in `destDb`.
|
|
115
|
-
* Only columns that exist in both source and destination are copied (schema safety).
|
|
116
|
-
* Uses INSERT OR IGNORE to handle unique constraint conflicts gracefully.
|
|
117
|
-
*
|
|
118
|
-
* @param srcDb - Source database (legacy signaldock.db).
|
|
119
|
-
* @param destDb - Destination database (conduit.db or global signaldock.db).
|
|
120
|
-
* @param tableName - Table to copy.
|
|
121
|
-
* @param ignoreConflicts - When true uses INSERT OR IGNORE; when false uses INSERT.
|
|
122
|
-
* @returns Number of rows found in source (not necessarily inserted — some may have been ignored).
|
|
123
|
-
*/
|
|
124
|
-
function copyTableRows(srcDb, destDb, tableName, ignoreConflicts = false) {
|
|
125
|
-
const srcCols = getTableColumns(srcDb, tableName);
|
|
126
|
-
const destCols = getTableColumns(destDb, tableName);
|
|
127
|
-
// Only copy columns that exist in both tables
|
|
128
|
-
const cols = srcCols.filter((c) => destCols.includes(c));
|
|
129
|
-
if (cols.length === 0)
|
|
130
|
-
return 0;
|
|
131
|
-
const colList = cols.map((c) => `"${c}"`).join(', ');
|
|
132
|
-
const placeholders = cols.map(() => '?').join(', ');
|
|
133
|
-
const conflictClause = ignoreConflicts ? 'OR IGNORE' : '';
|
|
134
|
-
const insertSql = `INSERT ${conflictClause} INTO "${tableName}" (${colList}) VALUES (${placeholders})`;
|
|
135
|
-
const rows = srcDb.prepare(`SELECT ${colList} FROM "${tableName}"`).all();
|
|
136
|
-
if (rows.length === 0)
|
|
137
|
-
return 0;
|
|
138
|
-
const stmt = destDb.prepare(insertSql);
|
|
139
|
-
for (const row of rows) {
|
|
140
|
-
const values = cols.map((c) => row[c] ?? null);
|
|
141
|
-
stmt.run(...values);
|
|
142
|
-
}
|
|
143
|
-
return rows.length;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Run PRAGMA integrity_check on `db` and return true if it passes.
|
|
147
|
-
*
|
|
148
|
-
* @param db - An open DatabaseSync handle.
|
|
149
|
-
* @returns True if integrity_check returns 'ok'.
|
|
150
|
-
*/
|
|
151
|
-
function integrityCheckPasses(db) {
|
|
152
|
-
const rows = db.prepare('PRAGMA integrity_check').all();
|
|
153
|
-
return rows.length === 1 && rows[0]?.integrity_check === 'ok';
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Generate a timestamp suffix for broken-file names: `YYYYMMDD-HHmmss-mmm`.
|
|
157
|
-
*/
|
|
158
|
-
function brokenTimestamp() {
|
|
159
|
-
const now = new Date();
|
|
160
|
-
const pad2 = (n) => String(n).padStart(2, '0');
|
|
161
|
-
const pad3 = (n) => String(n).padStart(3, '0');
|
|
162
|
-
return (`${now.getFullYear()}${pad2(now.getMonth() + 1)}${pad2(now.getDate())}` +
|
|
163
|
-
`-${pad2(now.getHours())}${pad2(now.getMinutes())}${pad2(now.getSeconds())}` +
|
|
164
|
-
`-${pad3(now.getMilliseconds())}`);
|
|
165
|
-
}
|
|
166
|
-
// ---------------------------------------------------------------------------
|
|
167
|
-
// Main executor
|
|
168
|
-
// ---------------------------------------------------------------------------
|
|
169
|
-
/**
|
|
170
|
-
* Runs the signaldock.db → conduit.db migration for the given project.
|
|
171
|
-
*
|
|
172
|
-
* The migration is atomic per file (SQLite transactions for DB writes, atomic
|
|
173
|
-
* rename for the backup step). Failures are captured in `result.errors` and
|
|
174
|
-
* the function never throws — callers receive a `MigrationResult` with
|
|
175
|
-
* `status: 'failed'` on error.
|
|
176
|
-
*
|
|
177
|
-
* Safe to call when no migration is needed (returns `{status: 'no-op', ...}`).
|
|
178
|
-
* Safe to call on a partially-migrated install (idempotent via needsMigration check).
|
|
179
|
-
*
|
|
180
|
-
* @param projectRoot - Absolute path to the project root directory.
|
|
181
|
-
* @returns A `MigrationResult` describing what was done and any errors encountered.
|
|
182
|
-
*
|
|
183
|
-
* @task T358
|
|
184
|
-
* @epic T310
|
|
185
|
-
*/
|
|
186
|
-
export function migrateSignaldockToConduit(projectRoot) {
|
|
187
|
-
const log = getLogger('migrate-signaldock-to-conduit');
|
|
188
|
-
const legacyPath = join(projectRoot, '.cleo', 'signaldock.db');
|
|
189
|
-
const conduitPath = join(projectRoot, '.cleo', 'conduit.db');
|
|
190
|
-
const globalSignaldockPath = join(getCleoHome(), 'signaldock.db');
|
|
191
|
-
const bakPath = `${legacyPath}.pre-t310.bak`;
|
|
192
|
-
const result = {
|
|
193
|
-
status: 'no-op',
|
|
194
|
-
projectRoot,
|
|
195
|
-
agentsCopied: 0,
|
|
196
|
-
conduitPath,
|
|
197
|
-
globalSignaldockPath,
|
|
198
|
-
bakPath: null,
|
|
199
|
-
errors: [],
|
|
200
|
-
};
|
|
201
|
-
// -----------------------------------------------------------------------
|
|
202
|
-
// Step 1: Check if migration is needed
|
|
203
|
-
// -----------------------------------------------------------------------
|
|
204
|
-
if (!needsSignaldockToConduitMigration(projectRoot)) {
|
|
205
|
-
return result;
|
|
206
|
-
}
|
|
207
|
-
log.info({ projectRoot, legacyPath }, 'T310 migration: starting signaldock.db → conduit.db');
|
|
208
|
-
// -----------------------------------------------------------------------
|
|
209
|
-
// Step 2: Open legacy signaldock.db in READ-ONLY mode
|
|
210
|
-
// -----------------------------------------------------------------------
|
|
211
|
-
let legacy = null;
|
|
212
|
-
try {
|
|
213
|
-
legacy = new DatabaseSync(legacyPath, { readonly: true });
|
|
214
|
-
}
|
|
215
|
-
catch (err) {
|
|
216
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
217
|
-
log.error({ legacyPath, error: message }, 'T310 migration: cannot open legacy signaldock.db');
|
|
218
|
-
result.errors.push({ step: 'step-2-open-legacy', error: message });
|
|
219
|
-
result.status = 'failed';
|
|
220
|
-
return result;
|
|
221
|
-
}
|
|
222
|
-
// -----------------------------------------------------------------------
|
|
223
|
-
// Step 3: Verify legacy integrity
|
|
224
|
-
// -----------------------------------------------------------------------
|
|
225
|
-
try {
|
|
226
|
-
if (!integrityCheckPasses(legacy)) {
|
|
227
|
-
const msg = 'Legacy signaldock.db failed PRAGMA integrity_check. ' +
|
|
228
|
-
'Migration aborted — no changes written. ' +
|
|
229
|
-
'Recovery: inspect the database with sqlite3 and attempt manual repair before re-running.';
|
|
230
|
-
log.error({ legacyPath }, msg);
|
|
231
|
-
result.errors.push({ step: 'step-3-legacy-integrity', error: msg });
|
|
232
|
-
result.status = 'failed';
|
|
233
|
-
legacy.close();
|
|
234
|
-
return result;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
catch (err) {
|
|
238
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
239
|
-
log.error({ legacyPath, error: message }, 'T310 migration: integrity_check threw on legacy DB');
|
|
240
|
-
result.errors.push({ step: 'step-3-legacy-integrity', error: message });
|
|
241
|
-
result.status = 'failed';
|
|
242
|
-
legacy.close();
|
|
243
|
-
return result;
|
|
244
|
-
}
|
|
245
|
-
// -----------------------------------------------------------------------
|
|
246
|
-
// Steps 4–5: Ensure global cleo home + global signaldock.db exist
|
|
247
|
-
// -----------------------------------------------------------------------
|
|
248
|
-
const cleoHome = getCleoHome();
|
|
249
|
-
try {
|
|
250
|
-
if (!existsSync(cleoHome)) {
|
|
251
|
-
mkdirSync(cleoHome, { recursive: true });
|
|
252
|
-
}
|
|
253
|
-
// ensureGlobalSignaldockDb is async but we need it sync here; open directly.
|
|
254
|
-
// The global signaldock schema is applied by ensureGlobalSignaldockDb() when
|
|
255
|
-
// the CLI starts. For migration purposes we open the DB (creating it if needed)
|
|
256
|
-
// and rely on the schema already having been applied (or apply it inline).
|
|
257
|
-
// We call ensureGlobalSignaldockDb() in a fire-and-forget style here, and
|
|
258
|
-
// handle the open synchronously below with DatabaseSync.
|
|
259
|
-
void ensureGlobalSignaldockDb();
|
|
260
|
-
}
|
|
261
|
-
catch {
|
|
262
|
-
// Non-fatal: the global DB open below will create the file if needed.
|
|
263
|
-
}
|
|
264
|
-
// -----------------------------------------------------------------------
|
|
265
|
-
// Step 6: Ensure global-salt exists (generates if absent)
|
|
266
|
-
// -----------------------------------------------------------------------
|
|
267
|
-
try {
|
|
268
|
-
getGlobalSalt();
|
|
269
|
-
}
|
|
270
|
-
catch (err) {
|
|
271
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
272
|
-
log.error({ error: message }, 'T310 migration: getGlobalSalt failed — migration aborted');
|
|
273
|
-
result.errors.push({ step: 'step-6-global-salt', error: message });
|
|
274
|
-
result.status = 'failed';
|
|
275
|
-
legacy.close();
|
|
276
|
-
return result;
|
|
277
|
-
}
|
|
278
|
-
// -----------------------------------------------------------------------
|
|
279
|
-
// Step 7: Create conduit.db via ensureConduitDb (applies full schema)
|
|
280
|
-
// -----------------------------------------------------------------------
|
|
281
|
-
let conduit = null;
|
|
282
|
-
try {
|
|
283
|
-
const ensureResult = ensureConduitDb(projectRoot);
|
|
284
|
-
// Open a direct handle for migration writes (ensureConduitDb returns singleton;
|
|
285
|
-
// we open a fresh handle to avoid interfering with any singleton state).
|
|
286
|
-
conduit = new DatabaseSync(ensureResult.path);
|
|
287
|
-
conduit.exec('PRAGMA journal_mode = WAL');
|
|
288
|
-
conduit.exec('PRAGMA foreign_keys = OFF'); // Disable FK checks during bulk copy
|
|
289
|
-
}
|
|
290
|
-
catch (err) {
|
|
291
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
292
|
-
log.error({ conduitPath, error: message }, 'T310 migration: failed to create conduit.db');
|
|
293
|
-
result.errors.push({ step: 'step-7-create-conduit', error: message });
|
|
294
|
-
result.status = 'failed';
|
|
295
|
-
legacy.close();
|
|
296
|
-
return result;
|
|
297
|
-
}
|
|
298
|
-
// -----------------------------------------------------------------------
|
|
299
|
-
// Steps 8–9: Copy project-tier tables + derive project_agent_refs + COMMIT
|
|
300
|
-
// -----------------------------------------------------------------------
|
|
301
|
-
try {
|
|
302
|
-
conduit.exec('BEGIN TRANSACTION');
|
|
303
|
-
// Copy project-local messaging tables verbatim
|
|
304
|
-
for (const tableName of PROJECT_TIER_TABLES) {
|
|
305
|
-
if (tableExistsInDb(legacy, tableName) && tableExistsInDb(conduit, tableName)) {
|
|
306
|
-
copyTableRows(legacy, conduit, tableName, false);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
// Rebuild FTS after message copy
|
|
310
|
-
if (tableExistsInDb(conduit, 'messages_fts')) {
|
|
311
|
-
try {
|
|
312
|
-
conduit.exec("INSERT INTO messages_fts(messages_fts) VALUES('rebuild')");
|
|
313
|
-
}
|
|
314
|
-
catch {
|
|
315
|
-
// FTS rebuild failure is non-fatal — the triggers will populate it over time
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
// Derive project_agent_refs from legacy agents table
|
|
319
|
-
let agentsCountForConduit = 0;
|
|
320
|
-
if (tableExistsInDb(legacy, 'agents')) {
|
|
321
|
-
const legacyAgents = legacy.prepare('SELECT * FROM agents').all();
|
|
322
|
-
const hasClassificationCol = getTableColumns(legacy, 'agents').includes('classification');
|
|
323
|
-
const hasLastUsedAtCol = getTableColumns(legacy, 'agents').includes('last_used_at');
|
|
324
|
-
const hasCreatedAtCol = getTableColumns(legacy, 'agents').includes('created_at');
|
|
325
|
-
const hasAgentIdCol = getTableColumns(legacy, 'agents').includes('agent_id');
|
|
326
|
-
for (const agent of legacyAgents) {
|
|
327
|
-
const agentId = hasAgentIdCol ? agent['agent_id'] : agent['id'];
|
|
328
|
-
if (!agentId)
|
|
329
|
-
continue;
|
|
330
|
-
const createdAtRaw = hasCreatedAtCol ? agent['created_at'] : null;
|
|
331
|
-
const attachedAt = createdAtRaw != null
|
|
332
|
-
? new Date(createdAtRaw * 1000).toISOString()
|
|
333
|
-
: new Date().toISOString();
|
|
334
|
-
const role = hasClassificationCol ? agent['classification'] : null;
|
|
335
|
-
const lastUsedAtRaw = hasLastUsedAtCol ? agent['last_used_at'] : null;
|
|
336
|
-
const lastUsedAt = lastUsedAtRaw != null ? new Date(lastUsedAtRaw * 1000).toISOString() : null;
|
|
337
|
-
conduit
|
|
338
|
-
.prepare(`INSERT OR IGNORE INTO project_agent_refs
|
|
339
|
-
(agent_id, attached_at, role, capabilities_override, last_used_at, enabled)
|
|
340
|
-
VALUES (?, ?, ?, NULL, ?, 1)`)
|
|
341
|
-
.run(agentId, attachedAt, role, lastUsedAt);
|
|
342
|
-
agentsCountForConduit++;
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
conduit.exec('COMMIT');
|
|
346
|
-
result.agentsCopied = agentsCountForConduit;
|
|
347
|
-
}
|
|
348
|
-
catch (err) {
|
|
349
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
350
|
-
log.error({ error: message }, 'T310 migration: conduit.db write failed — rolling back');
|
|
351
|
-
result.errors.push({ step: 'step-8-conduit-write', error: message });
|
|
352
|
-
result.status = 'failed';
|
|
353
|
-
try {
|
|
354
|
-
conduit.exec('ROLLBACK');
|
|
355
|
-
}
|
|
356
|
-
catch {
|
|
357
|
-
// Ignore rollback errors
|
|
358
|
-
}
|
|
359
|
-
conduit.close();
|
|
360
|
-
conduit = null;
|
|
361
|
-
// Delete partial conduit.db
|
|
362
|
-
try {
|
|
363
|
-
if (existsSync(conduitPath)) {
|
|
364
|
-
unlinkSync(conduitPath);
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
catch {
|
|
368
|
-
// Ignore deletion errors
|
|
369
|
-
}
|
|
370
|
-
legacy.close();
|
|
371
|
-
return result;
|
|
372
|
-
}
|
|
373
|
-
// -----------------------------------------------------------------------
|
|
374
|
-
// Step 10: PRAGMA integrity_check on conduit.db
|
|
375
|
-
// -----------------------------------------------------------------------
|
|
376
|
-
try {
|
|
377
|
-
if (!integrityCheckPasses(conduit)) {
|
|
378
|
-
const msg = 'conduit.db failed PRAGMA integrity_check after write';
|
|
379
|
-
log.error({ conduitPath }, msg);
|
|
380
|
-
result.errors.push({ step: 'step-10-conduit-integrity', error: msg });
|
|
381
|
-
result.status = 'failed';
|
|
382
|
-
conduit.close();
|
|
383
|
-
conduit = null;
|
|
384
|
-
// Move broken conduit.db
|
|
385
|
-
const brokenPath = `${conduitPath}.broken-${brokenTimestamp()}`;
|
|
386
|
-
try {
|
|
387
|
-
renameSync(conduitPath, brokenPath);
|
|
388
|
-
}
|
|
389
|
-
catch {
|
|
390
|
-
// Ignore rename errors
|
|
391
|
-
}
|
|
392
|
-
legacy.close();
|
|
393
|
-
return result;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
catch (err) {
|
|
397
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
398
|
-
log.error({ error: message }, 'T310 migration: conduit.db integrity_check threw');
|
|
399
|
-
result.errors.push({ step: 'step-10-conduit-integrity', error: message });
|
|
400
|
-
result.status = 'failed';
|
|
401
|
-
conduit.close();
|
|
402
|
-
conduit = null;
|
|
403
|
-
legacy.close();
|
|
404
|
-
return result;
|
|
405
|
-
}
|
|
406
|
-
// Close our migration handle for conduit; the singleton from ensureConduitDb is untouched
|
|
407
|
-
conduit.close();
|
|
408
|
-
conduit = null;
|
|
409
|
-
// -----------------------------------------------------------------------
|
|
410
|
-
// Steps 11–13: Copy global-identity rows to global signaldock.db
|
|
411
|
-
// -----------------------------------------------------------------------
|
|
412
|
-
let globalDb = null;
|
|
413
|
-
try {
|
|
414
|
-
if (!existsSync(globalSignaldockPath)) {
|
|
415
|
-
// Ensure the schema exists — open and apply minimal schema
|
|
416
|
-
// ensureGlobalSignaldockDb() was called above (async); give it a chance
|
|
417
|
-
// to complete by opening directly here.
|
|
418
|
-
mkdirSync(cleoHome, { recursive: true });
|
|
419
|
-
}
|
|
420
|
-
globalDb = new DatabaseSync(globalSignaldockPath);
|
|
421
|
-
globalDb.exec('PRAGMA journal_mode = WAL');
|
|
422
|
-
globalDb.exec('PRAGMA foreign_keys = OFF'); // Disable FK checks during bulk copy
|
|
423
|
-
}
|
|
424
|
-
catch (err) {
|
|
425
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
426
|
-
log.error({ globalSignaldockPath, error: message }, 'T310 migration: cannot open global signaldock.db');
|
|
427
|
-
result.errors.push({ step: 'step-11-open-global', error: message });
|
|
428
|
-
result.status = 'failed';
|
|
429
|
-
legacy.close();
|
|
430
|
-
return result;
|
|
431
|
-
}
|
|
432
|
-
let agentsCopiedToGlobal = 0;
|
|
433
|
-
try {
|
|
434
|
-
globalDb.exec('BEGIN TRANSACTION');
|
|
435
|
-
// Copy all global-identity tables using INSERT OR IGNORE
|
|
436
|
-
for (const tableName of GLOBAL_IDENTITY_TABLES) {
|
|
437
|
-
if (tableExistsInDb(legacy, tableName) && tableExistsInDb(globalDb, tableName)) {
|
|
438
|
-
copyTableRows(legacy, globalDb, tableName, true /* ignoreConflicts */);
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
// Count agents actually in legacy
|
|
442
|
-
if (tableExistsInDb(legacy, 'agents')) {
|
|
443
|
-
const countRow = legacy.prepare('SELECT COUNT(*) as cnt FROM agents').get();
|
|
444
|
-
agentsCopiedToGlobal = countRow.cnt;
|
|
445
|
-
}
|
|
446
|
-
// Mark ALL migrated agents as requiring reauth (new KDF scheme)
|
|
447
|
-
// Only mark rows that came from THIS legacy (i.e., all rows — INSERT OR IGNORE
|
|
448
|
-
// means existing rows were skipped; their requires_reauth stays unchanged).
|
|
449
|
-
// We mark every agent we inserted (agent_id from legacy) as requires_reauth=1.
|
|
450
|
-
if (tableExistsInDb(legacy, 'agents') && tableExistsInDb(globalDb, 'agents')) {
|
|
451
|
-
const legacyAgentIds = legacy.prepare('SELECT agent_id FROM agents').all();
|
|
452
|
-
for (const { agent_id } of legacyAgentIds) {
|
|
453
|
-
// Only update if this is a newly-inserted row (requires_reauth=0 means it was
|
|
454
|
-
// either newly inserted or pre-existing with requires_reauth not set).
|
|
455
|
-
// We unconditionally set requires_reauth=1 for all agents from this migration;
|
|
456
|
-
// if the row was already present (INSERT OR IGNORE skipped it), we leave it.
|
|
457
|
-
// To detect new insertions: compare changes() or use a marker.
|
|
458
|
-
// Per spec: mark all migrated agents requires_reauth=1.
|
|
459
|
-
// We use a conservative approach: only update if the row was NOT pre-existing.
|
|
460
|
-
// Since INSERT OR IGNORE doesn't tell us if a row was inserted or ignored,
|
|
461
|
-
// we use the approach of: set requires_reauth=1 WHERE requires_reauth=0.
|
|
462
|
-
// This safely marks newly-inserted agents and leaves pre-existing ones unchanged.
|
|
463
|
-
globalDb
|
|
464
|
-
.prepare('UPDATE agents SET requires_reauth = 1 WHERE agent_id = ? AND requires_reauth = 0')
|
|
465
|
-
.run(agent_id);
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
globalDb.exec('COMMIT');
|
|
469
|
-
result.agentsCopied = agentsCopiedToGlobal;
|
|
470
|
-
}
|
|
471
|
-
catch (err) {
|
|
472
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
473
|
-
log.error({ error: message }, 'T310 migration: global signaldock.db write failed — rolling back');
|
|
474
|
-
result.errors.push({ step: 'step-12-global-write', error: message });
|
|
475
|
-
result.status = 'failed';
|
|
476
|
-
try {
|
|
477
|
-
globalDb.exec('ROLLBACK');
|
|
478
|
-
}
|
|
479
|
-
catch {
|
|
480
|
-
// Ignore rollback errors
|
|
481
|
-
}
|
|
482
|
-
globalDb.close();
|
|
483
|
-
globalDb = null;
|
|
484
|
-
legacy.close();
|
|
485
|
-
// conduit.db is valid — leave it in place
|
|
486
|
-
return result;
|
|
487
|
-
}
|
|
488
|
-
// -----------------------------------------------------------------------
|
|
489
|
-
// Step 14: PRAGMA integrity_check on global signaldock.db
|
|
490
|
-
// -----------------------------------------------------------------------
|
|
491
|
-
try {
|
|
492
|
-
if (!integrityCheckPasses(globalDb)) {
|
|
493
|
-
const msg = 'Global signaldock.db failed PRAGMA integrity_check after write';
|
|
494
|
-
log.error({ globalSignaldockPath }, msg);
|
|
495
|
-
result.errors.push({ step: 'step-14-global-integrity', error: msg });
|
|
496
|
-
result.status = 'failed';
|
|
497
|
-
globalDb.close();
|
|
498
|
-
globalDb = null;
|
|
499
|
-
const brokenPath = `${globalSignaldockPath}.broken-${brokenTimestamp()}`;
|
|
500
|
-
try {
|
|
501
|
-
renameSync(globalSignaldockPath, brokenPath);
|
|
502
|
-
}
|
|
503
|
-
catch {
|
|
504
|
-
// Ignore rename errors
|
|
505
|
-
}
|
|
506
|
-
legacy.close();
|
|
507
|
-
return result;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
catch (err) {
|
|
511
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
512
|
-
log.error({ error: message }, 'T310 migration: global signaldock.db integrity_check threw');
|
|
513
|
-
result.errors.push({ step: 'step-14-global-integrity', error: message });
|
|
514
|
-
result.status = 'failed';
|
|
515
|
-
globalDb.close();
|
|
516
|
-
globalDb = null;
|
|
517
|
-
legacy.close();
|
|
518
|
-
return result;
|
|
519
|
-
}
|
|
520
|
-
globalDb.close();
|
|
521
|
-
globalDb = null;
|
|
522
|
-
// -----------------------------------------------------------------------
|
|
523
|
-
// Step 15: Ensure global-salt exists (already done in step 6, re-check)
|
|
524
|
-
// -----------------------------------------------------------------------
|
|
525
|
-
// Salt was already ensured in step 6 — no repeat action needed.
|
|
526
|
-
// -----------------------------------------------------------------------
|
|
527
|
-
// Step 16: Atomic rename legacy → .pre-t310.bak
|
|
528
|
-
// -----------------------------------------------------------------------
|
|
529
|
-
legacy.close();
|
|
530
|
-
legacy = null;
|
|
531
|
-
try {
|
|
532
|
-
renameSync(legacyPath, bakPath);
|
|
533
|
-
result.bakPath = bakPath;
|
|
534
|
-
}
|
|
535
|
-
catch (err) {
|
|
536
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
537
|
-
// Non-fatal per spec §4.4: next run will re-attempt (conduit.db absent check
|
|
538
|
-
// handles idempotency). But here conduit.db IS present, so needsMigration
|
|
539
|
-
// returns false on next run — the legacy file stays around harmlessly.
|
|
540
|
-
log.error({ legacyPath, bakPath, error: message }, 'T310 migration: rename to .pre-t310.bak failed — legacy file left in place (harmless)');
|
|
541
|
-
result.errors.push({ step: 'step-16-rename-bak', error: message });
|
|
542
|
-
// Still consider the migration successful — conduit.db and global signaldock.db are valid.
|
|
543
|
-
}
|
|
544
|
-
// -----------------------------------------------------------------------
|
|
545
|
-
// Step 17: Success logs
|
|
546
|
-
// -----------------------------------------------------------------------
|
|
547
|
-
log.info({ projectRoot, agentsCopied: result.agentsCopied, conduitPath, bakPath: result.bakPath }, `T310 migration complete: ${result.agentsCopied} agents migrated to global, conduit.db created`);
|
|
548
|
-
log.warn({}, 'T310 migration: API keys have been re-keyed. External systems holding old API keys ' +
|
|
549
|
-
'(CI env vars, remote agent configs) must be updated.');
|
|
550
|
-
log.info({ legacyPath, bakPath: result.bakPath, conduitPath }, 'T310 migration recovery: if problems occur, rename .pre-t310.bak to signaldock.db ' +
|
|
551
|
-
'and delete conduit.db to re-run migration.');
|
|
552
|
-
result.status = 'migrated';
|
|
553
|
-
return result;
|
|
554
|
-
}
|
|
555
|
-
//# sourceMappingURL=migrate-signaldock-to-conduit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-signaldock-to-conduit.js","sourceRoot":"","sources":["../../src/store/migrate-signaldock-to-conduit.ts"],"names":[],"mappings":"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"}
|