@cleocode/core 2026.4.13 → 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 +9 -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 +4 -1
- 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__/performance-safety.test.ts +11 -5
- package/src/store/migrate-signaldock-to-conduit.ts +14 -7
- 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,550 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite store for global-tier signaldock.db — canonical agent identity database.
|
|
3
|
-
*
|
|
4
|
-
* Post-T310 (ADR-037), signaldock.db lives at `$XDG_DATA_HOME/cleo/signaldock.db`
|
|
5
|
-
* (resolved via getCleoHome()). It holds cross-project agent identity, capabilities
|
|
6
|
-
* catalog, and cloud-sync tables. Project-local messaging state has moved to
|
|
7
|
-
* conduit.db (managed by conduit-sqlite.ts, T344).
|
|
8
|
-
*
|
|
9
|
-
* GLOBAL-TIER ONLY. This module MUST NOT resolve paths under any project's .cleo/
|
|
10
|
-
* directory. The path guard in getGlobalSignaldockDbPath() enforces this invariant.
|
|
11
|
-
*
|
|
12
|
-
* @task T346
|
|
13
|
-
* @epic T310
|
|
14
|
-
* @related ADR-037
|
|
15
|
-
*/
|
|
16
|
-
import { existsSync, mkdirSync } from 'node:fs';
|
|
17
|
-
import { createRequire } from 'node:module';
|
|
18
|
-
import { join } from 'node:path';
|
|
19
|
-
import { getCleoHome } from '../paths.js';
|
|
20
|
-
const _require = createRequire(import.meta.url);
|
|
21
|
-
const { DatabaseSync: DatabaseSyncClass } = _require('node:sqlite');
|
|
22
|
-
/**
|
|
23
|
-
* Database file name within the global cleo home directory.
|
|
24
|
-
*
|
|
25
|
-
* @task T346
|
|
26
|
-
* @epic T310
|
|
27
|
-
*/
|
|
28
|
-
export const GLOBAL_SIGNALDOCK_DB_FILENAME = 'signaldock.db';
|
|
29
|
-
/**
|
|
30
|
-
* Schema version for global signaldock databases.
|
|
31
|
-
*
|
|
32
|
-
* @task T346
|
|
33
|
-
* @epic T310
|
|
34
|
-
*/
|
|
35
|
-
export const GLOBAL_SIGNALDOCK_SCHEMA_VERSION = '2026.4.12';
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated Use GLOBAL_SIGNALDOCK_SCHEMA_VERSION. Retained during T310
|
|
38
|
-
* migration window. Will be removed after all callers migrate (T355).
|
|
39
|
-
*/
|
|
40
|
-
export const SIGNALDOCK_SCHEMA_VERSION = GLOBAL_SIGNALDOCK_SCHEMA_VERSION;
|
|
41
|
-
// ---------------------------------------------------------------------------
|
|
42
|
-
// Path helpers
|
|
43
|
-
// ---------------------------------------------------------------------------
|
|
44
|
-
/**
|
|
45
|
-
* Returns the GLOBAL-tier signaldock.db path. Post-T310, signaldock.db
|
|
46
|
-
* holds canonical agent identity + cloud-sync tables. Project-local
|
|
47
|
-
* messaging state lives in conduit.db (T344).
|
|
48
|
-
*
|
|
49
|
-
* Resolves to `getCleoHome() + '/signaldock.db'`.
|
|
50
|
-
* Guard: asserts the resolved path starts with getCleoHome() (defense in depth,
|
|
51
|
-
* mirrors the ADR-036 pattern used by getNexusDbPath in nexus-sqlite.ts).
|
|
52
|
-
*
|
|
53
|
-
* @task T346
|
|
54
|
-
* @epic T310
|
|
55
|
-
* @why ADR-037 split single signaldock.db into project conduit + global signaldock
|
|
56
|
-
* @throws {Error} If resolved path is not under getCleoHome() — indicates a code
|
|
57
|
-
* path that bypasses canonical path resolution. Fix the caller, do not suppress.
|
|
58
|
-
*/
|
|
59
|
-
export function getGlobalSignaldockDbPath() {
|
|
60
|
-
const cleoHome = getCleoHome();
|
|
61
|
-
const dbPath = join(cleoHome, GLOBAL_SIGNALDOCK_DB_FILENAME);
|
|
62
|
-
if (!dbPath.startsWith(cleoHome)) {
|
|
63
|
-
throw new Error(`BUG: getGlobalSignaldockDbPath() resolved to "${dbPath}" which is NOT under ` +
|
|
64
|
-
`getCleoHome() ("${cleoHome}"). signaldock.db is global-only per ADR-037. ` +
|
|
65
|
-
`This indicates a code path that bypasses path resolution — ` +
|
|
66
|
-
`fix the caller, do not suppress this error.`);
|
|
67
|
-
}
|
|
68
|
-
return dbPath;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* @deprecated Use getGlobalSignaldockDbPath() directly. Retained during T310
|
|
72
|
-
* migration window so the TypeScript build does not break until all callers
|
|
73
|
-
* are updated (tracked in T355 accessor refactor).
|
|
74
|
-
*
|
|
75
|
-
* When called WITHOUT arguments: returns the global-tier path (forwards to
|
|
76
|
-
* getGlobalSignaldockDbPath()).
|
|
77
|
-
*
|
|
78
|
-
* When called WITH a non-undefined `cwd` argument: throws a migration error
|
|
79
|
-
* immediately. The project-tier path is now owned by conduit-sqlite.ts (T344).
|
|
80
|
-
*
|
|
81
|
-
* @param cwd - Must be undefined. Any other value throws a migration error.
|
|
82
|
-
* @task T346
|
|
83
|
-
* @epic T310
|
|
84
|
-
*/
|
|
85
|
-
export function getSignaldockDbPath(cwd) {
|
|
86
|
-
if (cwd !== undefined) {
|
|
87
|
-
throw new Error('getSignaldockDbPath(cwd) is removed as of T310 (v2026.4.12). ' +
|
|
88
|
-
'signaldock.db is now global-only at $XDG_DATA_HOME/cleo/signaldock.db. ' +
|
|
89
|
-
'Use getGlobalSignaldockDbPath(), or for project-local messaging use ' +
|
|
90
|
-
'getConduitDbPath() from conduit-sqlite.ts (T344).');
|
|
91
|
-
}
|
|
92
|
-
return getGlobalSignaldockDbPath();
|
|
93
|
-
}
|
|
94
|
-
// ---------------------------------------------------------------------------
|
|
95
|
-
// Embedded migration SQL — consolidated global-tier schema.
|
|
96
|
-
// Source: spec §2.2, ADR-037.
|
|
97
|
-
// All incremental ALTER TABLE migrations from the pre-T310 schema are
|
|
98
|
-
// collapsed into the single initial migration below. This avoids the
|
|
99
|
-
// multi-step ALTER pattern and ensures fresh installs get the full schema
|
|
100
|
-
// in one idempotent pass.
|
|
101
|
-
// ---------------------------------------------------------------------------
|
|
102
|
-
/**
|
|
103
|
-
* Ordered migration entries for the global signaldock.db.
|
|
104
|
-
* Add new migrations to the END of this array.
|
|
105
|
-
*
|
|
106
|
-
* @task T346
|
|
107
|
-
* @epic T310
|
|
108
|
-
*/
|
|
109
|
-
const GLOBAL_EMBEDDED_MIGRATIONS = [
|
|
110
|
-
{
|
|
111
|
-
name: '2026-04-12-000000_initial_global_signaldock',
|
|
112
|
-
sql: `-- Global-tier signaldock.db initial migration (T310, ADR-037 §2.2).
|
|
113
|
-
-- Consolidated from pre-T310 incremental migrations. Global identity and
|
|
114
|
-
-- cloud-sync tables only. Project-local messaging state is in conduit.db.
|
|
115
|
-
|
|
116
|
-
-- Cloud-sync: user accounts (zero rows in pure-local mode).
|
|
117
|
-
CREATE TABLE IF NOT EXISTS users (
|
|
118
|
-
id TEXT PRIMARY KEY,
|
|
119
|
-
email TEXT NOT NULL UNIQUE,
|
|
120
|
-
password_hash TEXT NOT NULL,
|
|
121
|
-
name TEXT,
|
|
122
|
-
slug TEXT,
|
|
123
|
-
default_agent_id TEXT,
|
|
124
|
-
username TEXT,
|
|
125
|
-
display_username TEXT,
|
|
126
|
-
email_verified INTEGER NOT NULL DEFAULT 0,
|
|
127
|
-
image TEXT,
|
|
128
|
-
role TEXT NOT NULL DEFAULT 'user',
|
|
129
|
-
banned INTEGER NOT NULL DEFAULT 0,
|
|
130
|
-
ban_reason TEXT,
|
|
131
|
-
ban_expires TEXT,
|
|
132
|
-
two_factor_enabled INTEGER NOT NULL DEFAULT 0,
|
|
133
|
-
metadata TEXT,
|
|
134
|
-
created_at INTEGER NOT NULL,
|
|
135
|
-
updated_at INTEGER NOT NULL
|
|
136
|
-
);
|
|
137
|
-
CREATE UNIQUE INDEX IF NOT EXISTS idx_users_slug ON users(slug);
|
|
138
|
-
|
|
139
|
-
-- Cloud-sync: organization/team records.
|
|
140
|
-
CREATE TABLE IF NOT EXISTS organization (
|
|
141
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
142
|
-
name TEXT NOT NULL,
|
|
143
|
-
slug TEXT,
|
|
144
|
-
logo TEXT,
|
|
145
|
-
metadata TEXT,
|
|
146
|
-
owner_id TEXT,
|
|
147
|
-
created_at INTEGER NOT NULL DEFAULT (strftime('%s','now')),
|
|
148
|
-
updated_at INTEGER NOT NULL DEFAULT (strftime('%s','now'))
|
|
149
|
-
);
|
|
150
|
-
CREATE UNIQUE INDEX IF NOT EXISTS idx_organization_slug ON organization(slug);
|
|
151
|
-
|
|
152
|
-
-- Global identity: canonical agent registry (cross-project).
|
|
153
|
-
-- api_key_encrypted uses KDF: HMAC-SHA256(machine-key || global-salt, agentId) — ADR-037 §5.
|
|
154
|
-
-- requires_reauth=1 is set during T310 migration for all pre-existing agents.
|
|
155
|
-
CREATE TABLE IF NOT EXISTS agents (
|
|
156
|
-
id TEXT PRIMARY KEY,
|
|
157
|
-
agent_id TEXT NOT NULL UNIQUE,
|
|
158
|
-
name TEXT NOT NULL,
|
|
159
|
-
description TEXT,
|
|
160
|
-
class TEXT NOT NULL DEFAULT 'custom',
|
|
161
|
-
privacy_tier TEXT NOT NULL DEFAULT 'public',
|
|
162
|
-
owner_id TEXT REFERENCES users(id),
|
|
163
|
-
endpoint TEXT,
|
|
164
|
-
webhook_secret TEXT,
|
|
165
|
-
capabilities TEXT NOT NULL DEFAULT '[]',
|
|
166
|
-
skills TEXT NOT NULL DEFAULT '[]',
|
|
167
|
-
avatar TEXT,
|
|
168
|
-
messages_sent INTEGER NOT NULL DEFAULT 0,
|
|
169
|
-
messages_received INTEGER NOT NULL DEFAULT 0,
|
|
170
|
-
conversation_count INTEGER NOT NULL DEFAULT 0,
|
|
171
|
-
friend_count INTEGER NOT NULL DEFAULT 0,
|
|
172
|
-
status TEXT NOT NULL DEFAULT 'online',
|
|
173
|
-
last_seen INTEGER,
|
|
174
|
-
payment_config TEXT,
|
|
175
|
-
api_key_hash TEXT,
|
|
176
|
-
organization_id TEXT REFERENCES organization(id) ON DELETE SET NULL,
|
|
177
|
-
created_at INTEGER NOT NULL,
|
|
178
|
-
updated_at INTEGER NOT NULL,
|
|
179
|
-
transport_type TEXT NOT NULL DEFAULT 'http',
|
|
180
|
-
api_key_encrypted TEXT,
|
|
181
|
-
api_base_url TEXT NOT NULL DEFAULT 'https://api.signaldock.io',
|
|
182
|
-
classification TEXT,
|
|
183
|
-
transport_config TEXT NOT NULL DEFAULT '{}',
|
|
184
|
-
is_active INTEGER NOT NULL DEFAULT 1,
|
|
185
|
-
last_used_at INTEGER,
|
|
186
|
-
requires_reauth INTEGER NOT NULL DEFAULT 0
|
|
187
|
-
);
|
|
188
|
-
CREATE UNIQUE INDEX IF NOT EXISTS agents_agent_id_idx ON agents(agent_id);
|
|
189
|
-
CREATE INDEX IF NOT EXISTS agents_owner_idx ON agents(owner_id);
|
|
190
|
-
CREATE INDEX IF NOT EXISTS agents_class_idx ON agents(class);
|
|
191
|
-
CREATE INDEX IF NOT EXISTS agents_privacy_idx ON agents(privacy_tier);
|
|
192
|
-
CREATE INDEX IF NOT EXISTS agents_org_idx ON agents(organization_id);
|
|
193
|
-
CREATE INDEX IF NOT EXISTS idx_agents_transport_type ON agents(transport_type);
|
|
194
|
-
CREATE INDEX IF NOT EXISTS idx_agents_is_active ON agents(is_active);
|
|
195
|
-
CREATE INDEX IF NOT EXISTS idx_agents_last_used ON agents(last_used_at);
|
|
196
|
-
CREATE INDEX IF NOT EXISTS idx_agents_reauth ON agents(requires_reauth) WHERE requires_reauth = 1;
|
|
197
|
-
|
|
198
|
-
-- Cloud-sync: one-time agent claim tokens (api.signaldock.io provisioning).
|
|
199
|
-
CREATE TABLE IF NOT EXISTS claim_codes (
|
|
200
|
-
id TEXT PRIMARY KEY,
|
|
201
|
-
agent_id TEXT NOT NULL REFERENCES agents(id),
|
|
202
|
-
code TEXT NOT NULL UNIQUE,
|
|
203
|
-
expires_at INTEGER NOT NULL,
|
|
204
|
-
used_at INTEGER,
|
|
205
|
-
used_by TEXT REFERENCES users(id),
|
|
206
|
-
created_at INTEGER NOT NULL
|
|
207
|
-
);
|
|
208
|
-
CREATE UNIQUE INDEX IF NOT EXISTS claim_codes_code_idx ON claim_codes(code);
|
|
209
|
-
CREATE INDEX IF NOT EXISTS claim_codes_agent_idx ON claim_codes(agent_id);
|
|
210
|
-
|
|
211
|
-
-- Identity catalog: pre-seeded capability slugs (19 entries).
|
|
212
|
-
CREATE TABLE IF NOT EXISTS capabilities (
|
|
213
|
-
id TEXT PRIMARY KEY,
|
|
214
|
-
slug TEXT NOT NULL UNIQUE,
|
|
215
|
-
name TEXT NOT NULL,
|
|
216
|
-
description TEXT NOT NULL,
|
|
217
|
-
category TEXT NOT NULL,
|
|
218
|
-
created_at INTEGER NOT NULL
|
|
219
|
-
);
|
|
220
|
-
|
|
221
|
-
-- Identity catalog: pre-seeded skill slugs (36 entries).
|
|
222
|
-
CREATE TABLE IF NOT EXISTS skills (
|
|
223
|
-
id TEXT PRIMARY KEY,
|
|
224
|
-
slug TEXT NOT NULL UNIQUE,
|
|
225
|
-
name TEXT NOT NULL,
|
|
226
|
-
description TEXT NOT NULL,
|
|
227
|
-
category TEXT NOT NULL,
|
|
228
|
-
created_at INTEGER NOT NULL
|
|
229
|
-
);
|
|
230
|
-
|
|
231
|
-
-- Junction: agent <-> capability catalog bindings.
|
|
232
|
-
CREATE TABLE IF NOT EXISTS agent_capabilities (
|
|
233
|
-
agent_id TEXT NOT NULL REFERENCES agents(id),
|
|
234
|
-
capability_id TEXT NOT NULL REFERENCES capabilities(id),
|
|
235
|
-
PRIMARY KEY (agent_id, capability_id)
|
|
236
|
-
);
|
|
237
|
-
|
|
238
|
-
-- Junction: agent <-> skill catalog bindings.
|
|
239
|
-
CREATE TABLE IF NOT EXISTS agent_skills (
|
|
240
|
-
agent_id TEXT NOT NULL REFERENCES agents(id),
|
|
241
|
-
skill_id TEXT NOT NULL REFERENCES skills(id),
|
|
242
|
-
PRIMARY KEY (agent_id, skill_id)
|
|
243
|
-
);
|
|
244
|
-
|
|
245
|
-
-- Live transport connection tracking (heartbeat state).
|
|
246
|
-
CREATE TABLE IF NOT EXISTS agent_connections (
|
|
247
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
248
|
-
agent_id TEXT NOT NULL,
|
|
249
|
-
transport_type TEXT NOT NULL DEFAULT 'http',
|
|
250
|
-
connection_id TEXT,
|
|
251
|
-
connected_at BIGINT NOT NULL,
|
|
252
|
-
last_heartbeat BIGINT NOT NULL,
|
|
253
|
-
connection_metadata TEXT,
|
|
254
|
-
created_at BIGINT NOT NULL,
|
|
255
|
-
FOREIGN KEY (agent_id) REFERENCES agents(agent_id) ON DELETE CASCADE,
|
|
256
|
-
UNIQUE(agent_id, connection_id)
|
|
257
|
-
);
|
|
258
|
-
CREATE INDEX IF NOT EXISTS idx_agent_connections_agent ON agent_connections(agent_id);
|
|
259
|
-
CREATE INDEX IF NOT EXISTS idx_agent_connections_transport ON agent_connections(transport_type);
|
|
260
|
-
CREATE INDEX IF NOT EXISTS idx_agent_connections_heartbeat ON agent_connections(last_heartbeat);
|
|
261
|
-
|
|
262
|
-
-- Cloud-sync: OAuth/provider accounts.
|
|
263
|
-
CREATE TABLE IF NOT EXISTS accounts (
|
|
264
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
265
|
-
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
266
|
-
account_id TEXT NOT NULL,
|
|
267
|
-
provider_id TEXT NOT NULL,
|
|
268
|
-
access_token TEXT,
|
|
269
|
-
refresh_token TEXT,
|
|
270
|
-
id_token TEXT,
|
|
271
|
-
access_token_expires_at TEXT,
|
|
272
|
-
refresh_token_expires_at TEXT,
|
|
273
|
-
scope TEXT,
|
|
274
|
-
password TEXT,
|
|
275
|
-
created_at TEXT NOT NULL,
|
|
276
|
-
updated_at TEXT NOT NULL
|
|
277
|
-
);
|
|
278
|
-
CREATE INDEX IF NOT EXISTS idx_accounts_user_id ON accounts(user_id);
|
|
279
|
-
CREATE UNIQUE INDEX IF NOT EXISTS idx_accounts_provider ON accounts(provider_id, account_id);
|
|
280
|
-
|
|
281
|
-
-- Cloud-sync: authenticated sessions.
|
|
282
|
-
CREATE TABLE IF NOT EXISTS sessions (
|
|
283
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
284
|
-
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
285
|
-
token TEXT NOT NULL UNIQUE,
|
|
286
|
-
ip_address TEXT,
|
|
287
|
-
user_agent TEXT,
|
|
288
|
-
expires_at TEXT NOT NULL,
|
|
289
|
-
active_organization_id TEXT,
|
|
290
|
-
impersonated_by TEXT,
|
|
291
|
-
active INTEGER NOT NULL DEFAULT 1,
|
|
292
|
-
created_at TEXT NOT NULL,
|
|
293
|
-
updated_at TEXT NOT NULL
|
|
294
|
-
);
|
|
295
|
-
CREATE UNIQUE INDEX IF NOT EXISTS idx_sessions_token ON sessions(token);
|
|
296
|
-
CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions(user_id);
|
|
297
|
-
|
|
298
|
-
-- Cloud-sync: email/2FA verification tokens.
|
|
299
|
-
CREATE TABLE IF NOT EXISTS verifications (
|
|
300
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
301
|
-
identifier TEXT NOT NULL,
|
|
302
|
-
value TEXT NOT NULL,
|
|
303
|
-
expires_at TEXT NOT NULL,
|
|
304
|
-
created_at TEXT NOT NULL,
|
|
305
|
-
updated_at TEXT NOT NULL
|
|
306
|
-
);
|
|
307
|
-
CREATE INDEX IF NOT EXISTS idx_verifications_identifier ON verifications(identifier);
|
|
308
|
-
|
|
309
|
-
-- Org-scoped agent API keys (cloud use; zero rows locally).
|
|
310
|
-
CREATE TABLE IF NOT EXISTS org_agent_keys (
|
|
311
|
-
id TEXT PRIMARY KEY NOT NULL,
|
|
312
|
-
organization_id TEXT NOT NULL REFERENCES organization(id) ON DELETE CASCADE,
|
|
313
|
-
agent_id TEXT NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
|
|
314
|
-
created_by TEXT NOT NULL,
|
|
315
|
-
created_at INTEGER NOT NULL
|
|
316
|
-
);
|
|
317
|
-
CREATE INDEX IF NOT EXISTS org_agent_keys_org_idx ON org_agent_keys(organization_id);
|
|
318
|
-
CREATE INDEX IF NOT EXISTS org_agent_keys_agent_idx ON org_agent_keys(agent_id);`,
|
|
319
|
-
},
|
|
320
|
-
];
|
|
321
|
-
// ---------------------------------------------------------------------------
|
|
322
|
-
// Database lifecycle
|
|
323
|
-
// ---------------------------------------------------------------------------
|
|
324
|
-
/** Singleton native DatabaseSync handle for the current process. */
|
|
325
|
-
let _globalSignaldockNativeDb = null;
|
|
326
|
-
/**
|
|
327
|
-
* Apply the global signaldock schema to an already-open database.
|
|
328
|
-
* Idempotent — uses `CREATE TABLE IF NOT EXISTS` and migration tracking.
|
|
329
|
-
*
|
|
330
|
-
* @param db - An open DatabaseSync instance at the global path
|
|
331
|
-
* @task T346
|
|
332
|
-
* @epic T310
|
|
333
|
-
*/
|
|
334
|
-
function applyGlobalSignaldockSchema(db) {
|
|
335
|
-
// Ensure migration tracking tables exist
|
|
336
|
-
db.exec(`
|
|
337
|
-
CREATE TABLE IF NOT EXISTS _signaldock_meta (
|
|
338
|
-
key TEXT PRIMARY KEY,
|
|
339
|
-
value TEXT NOT NULL,
|
|
340
|
-
updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
341
|
-
)
|
|
342
|
-
`);
|
|
343
|
-
db.exec(`
|
|
344
|
-
CREATE TABLE IF NOT EXISTS _signaldock_migrations (
|
|
345
|
-
name TEXT PRIMARY KEY,
|
|
346
|
-
applied_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
|
|
347
|
-
)
|
|
348
|
-
`);
|
|
349
|
-
// Apply embedded migrations (skips already-applied ones)
|
|
350
|
-
for (const migration of GLOBAL_EMBEDDED_MIGRATIONS) {
|
|
351
|
-
const applied = db
|
|
352
|
-
.prepare('SELECT name FROM _signaldock_migrations WHERE name = ?')
|
|
353
|
-
.get(migration.name);
|
|
354
|
-
if (applied)
|
|
355
|
-
continue;
|
|
356
|
-
db.exec('BEGIN TRANSACTION');
|
|
357
|
-
try {
|
|
358
|
-
db.exec(migration.sql);
|
|
359
|
-
db.prepare('INSERT INTO _signaldock_migrations (name) VALUES (?)').run(migration.name);
|
|
360
|
-
db.exec('COMMIT');
|
|
361
|
-
}
|
|
362
|
-
catch (err) {
|
|
363
|
-
db.exec('ROLLBACK');
|
|
364
|
-
throw err;
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
// Record schema version
|
|
368
|
-
db.exec(`
|
|
369
|
-
INSERT OR REPLACE INTO _signaldock_meta (key, value, updated_at)
|
|
370
|
-
VALUES ('schema_version', '${GLOBAL_SIGNALDOCK_SCHEMA_VERSION}', strftime('%s', 'now'))
|
|
371
|
-
`);
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Ensure global signaldock.db exists with the full global schema applied.
|
|
375
|
-
* Creates the global cleo home directory if it doesn't exist.
|
|
376
|
-
* Idempotent — safe to call multiple times.
|
|
377
|
-
*
|
|
378
|
-
* @returns Object with action ('created' | 'exists') and the database path
|
|
379
|
-
* @task T346
|
|
380
|
-
* @epic T310
|
|
381
|
-
*/
|
|
382
|
-
export async function ensureGlobalSignaldockDb() {
|
|
383
|
-
const dbPath = getGlobalSignaldockDbPath();
|
|
384
|
-
const alreadyExists = existsSync(dbPath);
|
|
385
|
-
// Ensure global cleo home directory exists
|
|
386
|
-
const cleoHome = getCleoHome();
|
|
387
|
-
if (!existsSync(cleoHome)) {
|
|
388
|
-
mkdirSync(cleoHome, { recursive: true });
|
|
389
|
-
}
|
|
390
|
-
const db = new DatabaseSyncClass(dbPath);
|
|
391
|
-
try {
|
|
392
|
-
db.exec('PRAGMA journal_mode = WAL');
|
|
393
|
-
db.exec('PRAGMA busy_timeout = 5000');
|
|
394
|
-
db.exec('PRAGMA synchronous = NORMAL');
|
|
395
|
-
db.exec('PRAGMA foreign_keys = ON');
|
|
396
|
-
db.exec('PRAGMA cache_size = -64000'); // 64 MB
|
|
397
|
-
// Check if schema already applied (agents table as sentinel)
|
|
398
|
-
const hasSchema = (() => {
|
|
399
|
-
try {
|
|
400
|
-
const result = db
|
|
401
|
-
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='agents'")
|
|
402
|
-
.get();
|
|
403
|
-
return !!result;
|
|
404
|
-
}
|
|
405
|
-
catch {
|
|
406
|
-
return false;
|
|
407
|
-
}
|
|
408
|
-
})();
|
|
409
|
-
applyGlobalSignaldockSchema(db);
|
|
410
|
-
// Store native handle for backup integration (getGlobalSignaldockNativeDb)
|
|
411
|
-
_globalSignaldockNativeDb = db;
|
|
412
|
-
return {
|
|
413
|
-
action: alreadyExists && hasSchema ? 'exists' : 'created',
|
|
414
|
-
path: dbPath,
|
|
415
|
-
};
|
|
416
|
-
}
|
|
417
|
-
catch (err) {
|
|
418
|
-
db.close();
|
|
419
|
-
_globalSignaldockNativeDb = null;
|
|
420
|
-
throw err;
|
|
421
|
-
}
|
|
422
|
-
// NOTE: We intentionally do NOT close `db` here — the native handle is
|
|
423
|
-
// retained as _globalSignaldockNativeDb for backup integration. Callers
|
|
424
|
-
// that need a short-lived open/close pattern should open the DB themselves.
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* @deprecated Use ensureGlobalSignaldockDb(). Retained during T310 migration
|
|
428
|
-
* window for callers in init.ts and agent-registry-accessor.ts.
|
|
429
|
-
*
|
|
430
|
-
* When called WITHOUT arguments: forwards to ensureGlobalSignaldockDb().
|
|
431
|
-
* When called WITH a non-undefined `cwd` argument: throws a migration error.
|
|
432
|
-
*
|
|
433
|
-
* @param cwd - Must be undefined. Any other value throws a migration error.
|
|
434
|
-
* @task T346
|
|
435
|
-
* @epic T310
|
|
436
|
-
*/
|
|
437
|
-
export async function ensureSignaldockDb(cwd) {
|
|
438
|
-
if (cwd !== undefined) {
|
|
439
|
-
throw new Error('ensureSignaldockDb(cwd) is removed as of T310 (v2026.4.12). ' +
|
|
440
|
-
'signaldock.db is now global-only. ' +
|
|
441
|
-
'Use ensureGlobalSignaldockDb() for global identity, or ' +
|
|
442
|
-
'ensureConduitDb(cwd) from conduit-sqlite.ts for project messaging (T344).');
|
|
443
|
-
}
|
|
444
|
-
return ensureGlobalSignaldockDb();
|
|
445
|
-
}
|
|
446
|
-
/**
|
|
447
|
-
* Check global signaldock.db health: table count, WAL mode, schema version.
|
|
448
|
-
* Used by `cleo doctor` to verify global signaldock.db integrity.
|
|
449
|
-
*
|
|
450
|
-
* @returns Health report object, or object with exists=false if the DB does not exist.
|
|
451
|
-
* @task T346
|
|
452
|
-
* @epic T310
|
|
453
|
-
*/
|
|
454
|
-
export async function checkGlobalSignaldockDbHealth() {
|
|
455
|
-
const dbPath = getGlobalSignaldockDbPath();
|
|
456
|
-
if (!existsSync(dbPath)) {
|
|
457
|
-
return {
|
|
458
|
-
exists: false,
|
|
459
|
-
path: dbPath,
|
|
460
|
-
tableCount: 0,
|
|
461
|
-
walMode: false,
|
|
462
|
-
schemaVersion: null,
|
|
463
|
-
foreignKeysEnabled: false,
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
const db = new DatabaseSyncClass(dbPath);
|
|
467
|
-
try {
|
|
468
|
-
const tables = db
|
|
469
|
-
.prepare("SELECT COUNT(*) as count FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'")
|
|
470
|
-
.get();
|
|
471
|
-
const journalMode = db.prepare('PRAGMA journal_mode').get();
|
|
472
|
-
const fkEnabled = db.prepare('PRAGMA foreign_keys').get();
|
|
473
|
-
let schemaVersion = null;
|
|
474
|
-
try {
|
|
475
|
-
const meta = db
|
|
476
|
-
.prepare("SELECT value FROM _signaldock_meta WHERE key = 'schema_version'")
|
|
477
|
-
.get();
|
|
478
|
-
schemaVersion = meta?.value ?? null;
|
|
479
|
-
}
|
|
480
|
-
catch {
|
|
481
|
-
// Meta table may not exist on very old or partially-initialized DBs
|
|
482
|
-
}
|
|
483
|
-
return {
|
|
484
|
-
exists: true,
|
|
485
|
-
path: dbPath,
|
|
486
|
-
tableCount: tables.count,
|
|
487
|
-
walMode: journalMode.journal_mode === 'wal',
|
|
488
|
-
schemaVersion,
|
|
489
|
-
foreignKeysEnabled: fkEnabled.foreign_keys === 1,
|
|
490
|
-
};
|
|
491
|
-
}
|
|
492
|
-
finally {
|
|
493
|
-
db.close();
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
/**
|
|
497
|
-
* @deprecated Use checkGlobalSignaldockDbHealth(). Retained during T310 migration
|
|
498
|
-
* window for callers in `cleo doctor` and other diagnostics.
|
|
499
|
-
*
|
|
500
|
-
* When called WITHOUT arguments: forwards to checkGlobalSignaldockDbHealth().
|
|
501
|
-
* When called WITH a non-undefined `cwd` argument: throws a migration error.
|
|
502
|
-
*
|
|
503
|
-
* @param cwd - Must be undefined. Any other value throws a migration error.
|
|
504
|
-
* @task T346
|
|
505
|
-
* @epic T310
|
|
506
|
-
*/
|
|
507
|
-
export async function checkSignaldockDbHealth(cwd) {
|
|
508
|
-
if (cwd !== undefined) {
|
|
509
|
-
throw new Error('checkSignaldockDbHealth(cwd) is removed as of T310 (v2026.4.12). ' +
|
|
510
|
-
'signaldock.db is now global-only. ' +
|
|
511
|
-
'Use checkGlobalSignaldockDbHealth() for global signaldock health, or ' +
|
|
512
|
-
'checkConduitDbHealth(cwd) from conduit-sqlite.ts for project conduit health (T344).');
|
|
513
|
-
}
|
|
514
|
-
return checkGlobalSignaldockDbHealth();
|
|
515
|
-
}
|
|
516
|
-
/**
|
|
517
|
-
* Get the underlying node:sqlite DatabaseSync instance for global signaldock.db.
|
|
518
|
-
* Returns the handle stored by the most recent ensureGlobalSignaldockDb() call,
|
|
519
|
-
* or null if the database has not yet been initialized in this process.
|
|
520
|
-
*
|
|
521
|
-
* Used by sqlite-backup.ts to activate the signaldock GLOBAL_SNAPSHOT_TARGET
|
|
522
|
-
* (spec §6.2, T310).
|
|
523
|
-
*
|
|
524
|
-
* @task T346
|
|
525
|
-
* @epic T310
|
|
526
|
-
*/
|
|
527
|
-
export function getGlobalSignaldockNativeDb() {
|
|
528
|
-
return _globalSignaldockNativeDb;
|
|
529
|
-
}
|
|
530
|
-
/**
|
|
531
|
-
* Reset the in-process global signaldock.db singleton.
|
|
532
|
-
* ONLY for use in test isolation — never call in production code.
|
|
533
|
-
*
|
|
534
|
-
* @task T346
|
|
535
|
-
* @epic T310
|
|
536
|
-
*/
|
|
537
|
-
export function _resetGlobalSignaldockDb_TESTING_ONLY() {
|
|
538
|
-
if (_globalSignaldockNativeDb) {
|
|
539
|
-
try {
|
|
540
|
-
if (_globalSignaldockNativeDb.isOpen) {
|
|
541
|
-
_globalSignaldockNativeDb.close();
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
catch {
|
|
545
|
-
// Ignore close errors
|
|
546
|
-
}
|
|
547
|
-
_globalSignaldockNativeDb = null;
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
//# sourceMappingURL=signaldock-sqlite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signaldock-sqlite.js","sourceRoot":"","sources":["../../src/store/signaldock-sqlite.ts"],"names":[],"mappings":"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"}
|