@cleocode/core 2026.3.65 → 2026.3.66
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/agents/retry.d.ts.map +1 -1
- package/dist/cleo.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +128 -116
- package/dist/index.js.map +4 -4
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/enforcement.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/agents/retry.ts +18 -46
- package/src/cleo.ts +2 -2
- package/src/config.ts +13 -0
- package/src/index.ts +4 -1
- package/src/tasks/add.ts +5 -5
- package/src/tasks/complete.ts +14 -48
- package/src/tasks/enforcement.ts +12 -24
- 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 -85
- 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 -229
- 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 -367
- package/dist/bootstrap.js.map +0 -1
- package/dist/caamp/adapter.js +0 -434
- 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 -23
- 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 -302
- package/dist/cleo.js.map +0 -1
- package/dist/codebase-map/analyzers/architecture.js +0 -130
- 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 -80
- 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/config/build-config.js +0 -29
- package/dist/config/build-config.js.map +0 -1
- package/dist/config.js +0 -370
- 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/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 -167
- package/dist/errors.js.map +0 -1
- package/dist/hooks/handlers/error-hooks.js +0 -43
- package/dist/hooks/handlers/error-hooks.js.map +0 -1
- package/dist/hooks/handlers/file-hooks.js +0 -80
- package/dist/hooks/handlers/file-hooks.js.map +0 -1
- package/dist/hooks/handlers/index.js +0 -19
- package/dist/hooks/handlers/index.js.map +0 -1
- package/dist/hooks/handlers/mcp-hooks.js +0 -80
- package/dist/hooks/handlers/mcp-hooks.js.map +0 -1
- package/dist/hooks/handlers/session-hooks.js +0 -73
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -63
- package/dist/hooks/handlers/task-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 -163
- package/dist/hooks/payload-schemas.js.map +0 -1
- package/dist/hooks/provider-hooks.js +0 -34
- package/dist/hooks/provider-hooks.js.map +0 -1
- package/dist/hooks/registry.js +0 -176
- package/dist/hooks/registry.js.map +0 -1
- package/dist/hooks/types.js +0 -62
- 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 -711
- 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 -269
- 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 -10
- 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/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 -167
- 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 -753
- 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/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/mcp/index.js +0 -146
- package/dist/mcp/index.js.map +0 -1
- package/dist/memory/auto-extract.js +0 -143
- package/dist/memory/auto-extract.js.map +0 -1
- package/dist/memory/brain-embedding.js +0 -49
- 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 -148
- package/dist/memory/brain-links.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 -474
- 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 -148
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/engine-compat.js +0 -1030
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/index.js +0 -773
- 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 -289
- 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 -226
- 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/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 -38
- 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/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/index.js +0 -286
- 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 -524
- 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 -132
- package/dist/output.js.map +0 -1
- package/dist/pagination.js +0 -61
- package/dist/pagination.js.map +0 -1
- package/dist/paths.js +0 -337
- 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 -1557
- 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 -1178
- 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 -63
- 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 -318
- 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/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/signaldock/claude-code-transport.js +0 -107
- package/dist/signaldock/claude-code-transport.js.map +0 -1
- package/dist/signaldock/factory.js +0 -25
- package/dist/signaldock/factory.js.map +0 -1
- package/dist/signaldock/index.js +0 -9
- package/dist/signaldock/index.js.map +0 -1
- package/dist/signaldock/signaldock-transport.js +0 -122
- package/dist/signaldock/signaldock-transport.js.map +0 -1
- package/dist/signaldock/transport.js +0 -11
- package/dist/signaldock/transport.js.map +0 -1
- package/dist/signaldock/types.js +0 -11
- package/dist/signaldock/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 -100
- 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 -220
- 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/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 -271
- 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/converters.js +0 -122
- package/dist/store/converters.js.map +0 -1
- package/dist/store/cross-db-cleanup.js +0 -169
- 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 -223
- 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/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 -28
- 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/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 -217
- 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 -243
- 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/sqlite-backup.js +0 -105
- package/dist/store/sqlite-backup.js.map +0 -1
- package/dist/store/sqlite-data-accessor.js +0 -734
- package/dist/store/sqlite-data-accessor.js.map +0 -1
- package/dist/store/sqlite.js +0 -554
- 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 -348
- package/dist/store/task-store.js.map +0 -1
- package/dist/store/tasks-schema.js +0 -604
- 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 -141
- 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 -1054
- 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 -155
- package/dist/task-work/index.js.map +0 -1
- package/dist/tasks/add.js +0 -656
- 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 -235
- 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 -89
- 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 -148
- 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 -52
- package/dist/tasks/labels.js.map +0 -1
- package/dist/tasks/list.js +0 -68
- 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 -89
- package/dist/tasks/relates.js.map +0 -1
- package/dist/tasks/reparent.d.ts +0 -38
- package/dist/tasks/reparent.d.ts.map +0 -1
- package/dist/tasks/show.js +0 -78
- 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 -1340
- package/dist/tasks/task-ops.js.map +0 -1
- package/dist/tasks/update.js +0 -271
- 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/ui/injection-legacy.d.ts +0 -26
- package/dist/ui/injection-legacy.d.ts.map +0 -1
- package/dist/ui/injection-legacy.js +0 -42
- package/dist/ui/injection-legacy.js.map +0 -1
- package/dist/upgrade.js +0 -901
- 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 -902
- 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 -139
- 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/consensus.js +0 -71
- package/dist/validation/protocols/consensus.js.map +0 -1
- package/dist/validation/protocols/contribution.js +0 -59
- package/dist/validation/protocols/contribution.js.map +0 -1
- package/dist/validation/protocols/decomposition.js +0 -59
- package/dist/validation/protocols/decomposition.js.map +0 -1
- package/dist/validation/protocols/implementation.js +0 -59
- package/dist/validation/protocols/implementation.js.map +0 -1
- package/dist/validation/protocols/release-protocol.js +0 -60
- package/dist/validation/protocols/release-protocol.js.map +0 -1
- package/dist/validation/protocols/research.js +0 -77
- package/dist/validation/protocols/research.js.map +0 -1
- package/dist/validation/protocols/specification.js +0 -84
- package/dist/validation/protocols/specification.js.map +0 -1
- package/dist/validation/protocols/testing-protocol.js +0 -70
- package/dist/validation/protocols/testing-protocol.js.map +0 -1
- package/dist/validation/protocols/validation-protocol.js +0 -70
- package/dist/validation/protocols/validation-protocol.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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-data-accessor.js","sourceRoot":"","sources":["../../src/store/sqlite-data-accessor.ts"],"names":[],"mappings":"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"}
|
package/dist/store/sqlite.js
DELETED
|
@@ -1,554 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite store via drizzle-orm/node-sqlite + node:sqlite (DatabaseSync).
|
|
3
|
-
*
|
|
4
|
-
* Zero native npm dependencies, 100% cross-platform (Windows/Linux/macOS).
|
|
5
|
-
* File-backed SQLite with WAL mode for multi-process concurrent access.
|
|
6
|
-
* Database stored at .cleo/tasks.db.
|
|
7
|
-
*
|
|
8
|
-
* Architecture: node:sqlite provides the synchronous file-backed SQLite engine,
|
|
9
|
-
* wrapped via drizzle-orm/node-sqlite for a fully synchronous interface. All
|
|
10
|
-
* writes go directly to disk through SQLite's native WAL mechanism -- no
|
|
11
|
-
* saveToFile() pattern needed.
|
|
12
|
-
*
|
|
13
|
-
* @epic T4454
|
|
14
|
-
* @task T4817 - node:sqlite engine migration (ADR-006, ADR-010)
|
|
15
|
-
* @task T4810 - Data loss prevention guards
|
|
16
|
-
*/
|
|
17
|
-
import { copyFileSync, existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
|
|
18
|
-
import { createRequire } from 'node:module';
|
|
19
|
-
const _require = createRequire(import.meta.url);
|
|
20
|
-
const { DatabaseSync } = _require('node:sqlite');
|
|
21
|
-
import { dirname, join, resolve, sep } from 'node:path';
|
|
22
|
-
import { fileURLToPath } from 'node:url';
|
|
23
|
-
import { eq } from 'drizzle-orm';
|
|
24
|
-
import { readMigrationFiles } from 'drizzle-orm/migrator';
|
|
25
|
-
import { drizzle } from 'drizzle-orm/node-sqlite';
|
|
26
|
-
import { migrate } from 'drizzle-orm/node-sqlite/migrator';
|
|
27
|
-
import { getLogger } from '../logger.js';
|
|
28
|
-
import { getCleoDirAbsolute } from '../paths.js';
|
|
29
|
-
import { listSqliteBackups } from './sqlite-backup.js';
|
|
30
|
-
import * as schema from './tasks-schema.js';
|
|
31
|
-
/**
|
|
32
|
-
* Open a node:sqlite DatabaseSync with CLEO standard pragmas.
|
|
33
|
-
*
|
|
34
|
-
* CRITICAL: WAL mode is verified, not just requested. If another process holds
|
|
35
|
-
* an EXCLUSIVE lock in DELETE mode, PRAGMA journal_mode=WAL silently returns
|
|
36
|
-
* 'delete'. This caused data loss (T5173) when concurrent MCP servers opened
|
|
37
|
-
* the same database — writes were silently dropped under lock contention.
|
|
38
|
-
*/
|
|
39
|
-
export function openNativeDatabase(path, options) {
|
|
40
|
-
const db = new DatabaseSync(path, {
|
|
41
|
-
enableForeignKeyConstraints: true,
|
|
42
|
-
readOnly: options?.readonly ?? false,
|
|
43
|
-
timeout: options?.timeout ?? 5000,
|
|
44
|
-
allowExtension: options?.allowExtension ?? false,
|
|
45
|
-
});
|
|
46
|
-
// Set busy_timeout FIRST so WAL pragma can wait for locks
|
|
47
|
-
db.exec('PRAGMA busy_timeout=5000');
|
|
48
|
-
// Enable WAL for concurrent multi-process access (ADR-006, ADR-010)
|
|
49
|
-
if (options?.enableWal !== false) {
|
|
50
|
-
const MAX_WAL_RETRIES = 3;
|
|
51
|
-
const RETRY_DELAY_MS = 200;
|
|
52
|
-
let walSet = false;
|
|
53
|
-
for (let attempt = 1; attempt <= MAX_WAL_RETRIES; attempt++) {
|
|
54
|
-
db.exec('PRAGMA journal_mode=WAL');
|
|
55
|
-
// CRITICAL: Verify WAL was actually set — the PRAGMA returns the mode
|
|
56
|
-
// that was applied, which may be 'delete' if another connection holds a lock
|
|
57
|
-
const result = db.prepare('PRAGMA journal_mode').get();
|
|
58
|
-
const currentMode = result?.journal_mode?.toLowerCase?.() ?? 'unknown';
|
|
59
|
-
if (currentMode === 'wal') {
|
|
60
|
-
walSet = true;
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
// WAL not set — another connection likely holds an EXCLUSIVE lock
|
|
64
|
-
if (attempt < MAX_WAL_RETRIES) {
|
|
65
|
-
// Sync sleep via Atomics for retry delay (node:sqlite is sync-only)
|
|
66
|
-
const buf = new SharedArrayBuffer(4);
|
|
67
|
-
Atomics.wait(new Int32Array(buf), 0, 0, RETRY_DELAY_MS * attempt);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (!walSet) {
|
|
71
|
-
// Verify one final time
|
|
72
|
-
const finalResult = db.prepare('PRAGMA journal_mode').get();
|
|
73
|
-
const finalMode = finalResult?.journal_mode?.toLowerCase?.() ?? 'unknown';
|
|
74
|
-
if (finalMode !== 'wal') {
|
|
75
|
-
db.close();
|
|
76
|
-
throw new Error(`CRITICAL: Failed to set WAL journal mode after ${MAX_WAL_RETRIES} attempts. ` +
|
|
77
|
-
`Database is in '${finalMode}' mode. Another process likely holds an EXCLUSIVE lock ` +
|
|
78
|
-
`on ${path}. Refusing to open — concurrent writes in DELETE mode cause data loss. ` +
|
|
79
|
-
`Kill other cleo/MCP processes and retry. (T5173)`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// FK enforcement enabled in production. Disabled in vitest where test
|
|
84
|
-
// fixtures insert data without full referential integrity (orphan refs).
|
|
85
|
-
// VITEST env var is auto-set by vitest — no config needed.
|
|
86
|
-
if (!process.env.VITEST) {
|
|
87
|
-
db.exec('PRAGMA foreign_keys=ON');
|
|
88
|
-
}
|
|
89
|
-
return db;
|
|
90
|
-
}
|
|
91
|
-
/** Database file name within .cleo/ directory. */
|
|
92
|
-
const DB_FILENAME = 'tasks.db';
|
|
93
|
-
/** Schema version for newly created databases. Single source of truth. */
|
|
94
|
-
export const SQLITE_SCHEMA_VERSION = '2.0.0';
|
|
95
|
-
const SCHEMA_VERSION = SQLITE_SCHEMA_VERSION;
|
|
96
|
-
/** Singleton state for lazy initialization. */
|
|
97
|
-
let _db = null;
|
|
98
|
-
let _nativeDb = null;
|
|
99
|
-
let _dbPath = null;
|
|
100
|
-
/** Guard against concurrent initialization (async migration). */
|
|
101
|
-
let _initPromise = null;
|
|
102
|
-
/** Guard: git-tracking check runs only once per process. */
|
|
103
|
-
let _gitTrackingChecked = false;
|
|
104
|
-
/**
|
|
105
|
-
* Get the path to the SQLite database file.
|
|
106
|
-
*/
|
|
107
|
-
export function getDbPath(cwd) {
|
|
108
|
-
return join(getCleoDirAbsolute(cwd), DB_FILENAME);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Minimum task count in a backup to consider it a valid recovery source.
|
|
112
|
-
* Prevents restoring from a backup that's also empty or nearly empty.
|
|
113
|
-
* @task T5188
|
|
114
|
-
*/
|
|
115
|
-
const MIN_BACKUP_TASK_COUNT = 10;
|
|
116
|
-
/**
|
|
117
|
-
* Auto-recover from backup if the database has tables but zero tasks
|
|
118
|
-
* and a backup with data exists.
|
|
119
|
-
*
|
|
120
|
-
* Root cause (T5188): WAL/SHM files were tracked by git. On branch switch,
|
|
121
|
-
* git overwrites the WAL with an empty (committed) version, discarding all
|
|
122
|
-
* pending WAL writes. The main DB file (which may not have been checkpointed)
|
|
123
|
-
* appears empty because all recent writes were in the WAL.
|
|
124
|
-
*
|
|
125
|
-
* This function runs after migrations (so tables exist) and before the
|
|
126
|
-
* singleton is set. It checks if the tasks table is empty and a VACUUM INTO
|
|
127
|
-
* backup exists with real data. If so, it closes the current connection,
|
|
128
|
-
* replaces the DB file from backup, and re-opens.
|
|
129
|
-
*
|
|
130
|
-
* @task T5188
|
|
131
|
-
*/
|
|
132
|
-
async function autoRecoverFromBackup(nativeDb, dbPath, cwd) {
|
|
133
|
-
const log = getLogger('sqlite');
|
|
134
|
-
try {
|
|
135
|
-
// Count tasks in current database
|
|
136
|
-
const countResult = nativeDb.prepare('SELECT COUNT(*) as cnt FROM tasks').get();
|
|
137
|
-
const taskCount = countResult?.cnt ?? 0;
|
|
138
|
-
if (taskCount > 0)
|
|
139
|
-
return; // Database has data, no recovery needed
|
|
140
|
-
// Database is empty — check for backups
|
|
141
|
-
const backups = listSqliteBackups(cwd);
|
|
142
|
-
if (backups.length === 0) {
|
|
143
|
-
// No backups available — this is a genuinely new database
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
// Check the newest backup for task count
|
|
147
|
-
const newestBackup = backups[0];
|
|
148
|
-
// Open backup read-only to verify it has data
|
|
149
|
-
const backupDb = new DatabaseSync(newestBackup.path, { readOnly: true });
|
|
150
|
-
let backupTaskCount = 0;
|
|
151
|
-
try {
|
|
152
|
-
const backupCount = backupDb.prepare('SELECT COUNT(*) as cnt FROM tasks').get();
|
|
153
|
-
backupTaskCount = backupCount?.cnt ?? 0;
|
|
154
|
-
}
|
|
155
|
-
finally {
|
|
156
|
-
backupDb.close();
|
|
157
|
-
}
|
|
158
|
-
if (backupTaskCount < MIN_BACKUP_TASK_COUNT) {
|
|
159
|
-
// Backup also has very few tasks — not a reliable recovery source
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
// We have an empty database AND a backup with data — auto-recover
|
|
163
|
-
log.warn({ dbPath, backupPath: newestBackup.path, backupTasks: backupTaskCount }, `Empty database detected with ${backupTaskCount}-task backup available. ` +
|
|
164
|
-
'Auto-recovering from backup. This likely happened because git-tracked ' +
|
|
165
|
-
'WAL/SHM files were overwritten during a branch switch (T5188).');
|
|
166
|
-
// Close current connection
|
|
167
|
-
nativeDb.close();
|
|
168
|
-
// Remove stale WAL/SHM files that may have been corrupted by git
|
|
169
|
-
const walPath = dbPath + '-wal';
|
|
170
|
-
const shmPath = dbPath + '-shm';
|
|
171
|
-
try {
|
|
172
|
-
unlinkSync(walPath);
|
|
173
|
-
}
|
|
174
|
-
catch {
|
|
175
|
-
/* may not exist */
|
|
176
|
-
}
|
|
177
|
-
try {
|
|
178
|
-
unlinkSync(shmPath);
|
|
179
|
-
}
|
|
180
|
-
catch {
|
|
181
|
-
/* may not exist */
|
|
182
|
-
}
|
|
183
|
-
// Restore from backup (atomic: copy to temp, rename)
|
|
184
|
-
const tempPath = dbPath + '.recovery-tmp';
|
|
185
|
-
copyFileSync(newestBackup.path, tempPath);
|
|
186
|
-
// Rename in place — on the same filesystem this is atomic
|
|
187
|
-
renameSync(tempPath, dbPath);
|
|
188
|
-
log.info({ dbPath, backupPath: newestBackup.path, restoredTasks: backupTaskCount }, 'Database auto-recovered from backup successfully.');
|
|
189
|
-
// Re-open the restored database — update the native singleton
|
|
190
|
-
const restoredNativeDb = openNativeDatabase(dbPath);
|
|
191
|
-
_nativeDb = restoredNativeDb;
|
|
192
|
-
// Re-run migrations on restored DB to ensure schema is current
|
|
193
|
-
const restoredDb = drizzle({ client: restoredNativeDb, schema });
|
|
194
|
-
runMigrations(restoredNativeDb, restoredDb);
|
|
195
|
-
// Update the singleton drizzle instance
|
|
196
|
-
_db = restoredDb;
|
|
197
|
-
}
|
|
198
|
-
catch (err) {
|
|
199
|
-
// Auto-recovery failure is non-fatal — log and continue with empty DB
|
|
200
|
-
log.error({ err, dbPath }, 'Auto-recovery from backup failed. Continuing with empty database.');
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Initialize the SQLite database (lazy, singleton).
|
|
205
|
-
* Creates the database file and tables if they don't exist.
|
|
206
|
-
* Returns the drizzle ORM instance (node-sqlite driver).
|
|
207
|
-
*
|
|
208
|
-
* Uses a promise guard so concurrent callers wait for the same
|
|
209
|
-
* initialization to complete (migrations are async).
|
|
210
|
-
*/
|
|
211
|
-
export async function getDb(cwd) {
|
|
212
|
-
const requestedPath = getDbPath(cwd);
|
|
213
|
-
// If singleton exists but points to different path, reset it
|
|
214
|
-
if (_db && _dbPath !== requestedPath) {
|
|
215
|
-
resetDbState();
|
|
216
|
-
}
|
|
217
|
-
if (_db)
|
|
218
|
-
return _db;
|
|
219
|
-
// If already initializing, wait for the in-flight init
|
|
220
|
-
if (_initPromise)
|
|
221
|
-
return _initPromise;
|
|
222
|
-
_initPromise = (async () => {
|
|
223
|
-
const dbPath = requestedPath;
|
|
224
|
-
_dbPath = dbPath;
|
|
225
|
-
// Ensure directory exists
|
|
226
|
-
mkdirSync(dirname(dbPath), { recursive: true });
|
|
227
|
-
// Open file-backed SQLite via node:sqlite with WAL mode
|
|
228
|
-
const nativeDb = openNativeDatabase(dbPath);
|
|
229
|
-
_nativeDb = nativeDb;
|
|
230
|
-
// Create drizzle ORM wrapper via node-sqlite
|
|
231
|
-
const db = drizzle({ client: nativeDb, schema });
|
|
232
|
-
// Run drizzle migrations (creates/updates tables)
|
|
233
|
-
runMigrations(nativeDb, db);
|
|
234
|
-
// Migration SQL contains PRAGMA foreign_keys=ON statements.
|
|
235
|
-
// In test environments, disable FKs after migration to allow test
|
|
236
|
-
// fixtures to insert data without full referential integrity.
|
|
237
|
-
if (process.env.VITEST) {
|
|
238
|
-
nativeDb.exec('PRAGMA foreign_keys=OFF');
|
|
239
|
-
}
|
|
240
|
-
// Seed schema version for new databases (no-op if already set)
|
|
241
|
-
nativeDb.exec(`INSERT OR IGNORE INTO schema_meta (key, value) VALUES ('schemaVersion', '${SCHEMA_VERSION}')`);
|
|
242
|
-
nativeDb.exec(`INSERT OR IGNORE INTO schema_meta (key, value) VALUES ('task_id_sequence', '{"counter":0,"lastId":"T000","checksum":"seed"}')`);
|
|
243
|
-
// Auto-recovery: detect empty database with available backups (T5188)
|
|
244
|
-
// Root cause: git-tracked WAL/SHM files get overwritten on branch switch,
|
|
245
|
-
// causing data loss when the WAL contained uncommitted writes.
|
|
246
|
-
await autoRecoverFromBackup(nativeDb, dbPath, cwd);
|
|
247
|
-
// Check if tasks.db or its WAL/SHM are dangerously tracked by git (ADR-013, T5158, T5188)
|
|
248
|
-
if (!_gitTrackingChecked) {
|
|
249
|
-
_gitTrackingChecked = true;
|
|
250
|
-
try {
|
|
251
|
-
const { execFileSync } = await import('node:child_process');
|
|
252
|
-
const gitCwd = resolve(dbPath, '..', '..');
|
|
253
|
-
const filesToCheck = [dbPath, dbPath + '-wal', dbPath + '-shm'];
|
|
254
|
-
const log = getLogger('sqlite');
|
|
255
|
-
for (const fileToCheck of filesToCheck) {
|
|
256
|
-
try {
|
|
257
|
-
execFileSync('git', ['ls-files', '--error-unmatch', fileToCheck], {
|
|
258
|
-
cwd: gitCwd,
|
|
259
|
-
stdio: 'pipe',
|
|
260
|
-
});
|
|
261
|
-
// If we get here, the file IS tracked — that's dangerous
|
|
262
|
-
const basename = fileToCheck.split(/[\\/]/).pop();
|
|
263
|
-
log.warn({ path: fileToCheck }, `${basename} is tracked by project git — this risks data loss on branch switch. ` +
|
|
264
|
-
`Run: git rm --cached ${fileToCheck.replace(gitCwd + sep, '')} (see ADR-013, T5188)`);
|
|
265
|
-
}
|
|
266
|
-
catch {
|
|
267
|
-
// Exit code 1 = not tracked = good
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
catch {
|
|
272
|
-
// git not available, skip check
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
// Set singleton only after migrations complete
|
|
276
|
-
_db = db;
|
|
277
|
-
return db;
|
|
278
|
-
})();
|
|
279
|
-
try {
|
|
280
|
-
return await _initPromise;
|
|
281
|
-
}
|
|
282
|
-
finally {
|
|
283
|
-
_initPromise = null;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Resolve the path to the drizzle migrations folder.
|
|
288
|
-
* Works from both src/ (dev via tsx) and dist/ (compiled via esbuild bundle).
|
|
289
|
-
*
|
|
290
|
-
* - Source layout: __dirname = src/store/ → need ../../migrations/drizzle-tasks
|
|
291
|
-
* - Bundled layout: __dirname = dist/ → need ../migrations/drizzle-tasks
|
|
292
|
-
*/
|
|
293
|
-
export function resolveMigrationsFolder() {
|
|
294
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
295
|
-
const __dirname = dirname(__filename);
|
|
296
|
-
// When esbuild bundles into dist/index.js, __dirname is dist/ (1 level deep).
|
|
297
|
-
// When running from source via tsx, __dirname is src/store/ (2 levels deep).
|
|
298
|
-
const isBundled = __dirname.endsWith('/dist') || __dirname.endsWith('\\dist');
|
|
299
|
-
const pkgRoot = isBundled ? join(__dirname, '..') : join(__dirname, '..', '..');
|
|
300
|
-
return join(pkgRoot, 'migrations', 'drizzle-tasks');
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Check whether a table exists in the SQLite database.
|
|
304
|
-
*/
|
|
305
|
-
function tableExists(nativeDb, tableName) {
|
|
306
|
-
const result = nativeDb
|
|
307
|
-
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?")
|
|
308
|
-
.get(tableName);
|
|
309
|
-
return !!result;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Check if an error is a SQLite BUSY error (database locked by another process).
|
|
313
|
-
* node:sqlite throws native Error with message containing the SQLite error code.
|
|
314
|
-
* @task T5185
|
|
315
|
-
*/
|
|
316
|
-
export function isSqliteBusy(err) {
|
|
317
|
-
if (!(err instanceof Error))
|
|
318
|
-
return false;
|
|
319
|
-
const msg = err.message.toLowerCase();
|
|
320
|
-
return msg.includes('sqlite_busy') || msg.includes('database is locked');
|
|
321
|
-
}
|
|
322
|
-
/** Migration retry constants for SQLITE_BUSY handling (T5185). */
|
|
323
|
-
const MAX_MIGRATION_RETRIES = 5;
|
|
324
|
-
const MIGRATION_RETRY_BASE_DELAY_MS = 100;
|
|
325
|
-
const MIGRATION_RETRY_MAX_DELAY_MS = 2000;
|
|
326
|
-
/**
|
|
327
|
-
* Run drizzle migrations to create/update tables.
|
|
328
|
-
*
|
|
329
|
-
* Handles three cases:
|
|
330
|
-
* 1. New database — runs all migrations from scratch.
|
|
331
|
-
* 2. Existing database created by legacy createTablesIfNeeded() — bootstraps
|
|
332
|
-
* the baseline migration as already applied, then runs remaining migrations.
|
|
333
|
-
* 3. Already-migrated database — runs only pending migrations.
|
|
334
|
-
*
|
|
335
|
-
* BEGIN IMMEDIATE acquires a RESERVED lock upfront, preventing concurrent
|
|
336
|
-
* migration runners from racing (T5173). If another process already holds a
|
|
337
|
-
* RESERVED lock, BEGIN IMMEDIATE throws SQLITE_BUSY. This function retries
|
|
338
|
-
* with exponential backoff + jitter to handle concurrent MCP server starts (T5185).
|
|
339
|
-
*
|
|
340
|
-
* @task T4837 - ADR-012 drizzle-kit migration system
|
|
341
|
-
* @task T5185 - Retry+backoff for SQLITE_BUSY during migrations
|
|
342
|
-
*/
|
|
343
|
-
function runMigrations(nativeDb, db) {
|
|
344
|
-
const migrationsFolder = resolveMigrationsFolder();
|
|
345
|
-
// If existing DB with pending migrations, create safety backup (cleo compat)
|
|
346
|
-
if (tableExists(nativeDb, 'tasks') && _dbPath) {
|
|
347
|
-
const backupPath = _dbPath.replace(/\.db$/, '-pre-cleo.db.bak');
|
|
348
|
-
if (!existsSync(backupPath)) {
|
|
349
|
-
try {
|
|
350
|
-
copyFileSync(_dbPath, backupPath);
|
|
351
|
-
}
|
|
352
|
-
catch {
|
|
353
|
-
/* non-fatal */
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
// Bootstrap existing databases that predate drizzle migrations (ADR-012 Step D).
|
|
358
|
-
// These have tables (e.g., 'tasks') but no __drizzle_migrations record.
|
|
359
|
-
// Mark the baseline migration as already applied so migrate() doesn't
|
|
360
|
-
// try to re-create existing tables.
|
|
361
|
-
if (tableExists(nativeDb, 'tasks') && !tableExists(nativeDb, '__drizzle_migrations')) {
|
|
362
|
-
const migrations = readMigrationFiles({ migrationsFolder });
|
|
363
|
-
const baseline = migrations[0];
|
|
364
|
-
if (baseline) {
|
|
365
|
-
nativeDb.exec(`
|
|
366
|
-
CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (
|
|
367
|
-
id SERIAL PRIMARY KEY,
|
|
368
|
-
hash text NOT NULL,
|
|
369
|
-
created_at numeric
|
|
370
|
-
)
|
|
371
|
-
`);
|
|
372
|
-
nativeDb.exec(`INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES ('${baseline.hash}', ${baseline.folderMillis})`);
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
// Fix #63: Reconcile stale migration journal entries from older CLEO versions.
|
|
376
|
-
// When the DB has __drizzle_migrations entries whose hashes don't match ANY
|
|
377
|
-
// local migration file, drizzle's migrate() either throws or tries to re-run
|
|
378
|
-
// all migrations (causing "table already exists" errors). Fix by clearing stale
|
|
379
|
-
// entries and marking all local migrations as applied (tables already exist),
|
|
380
|
-
// then relying on ensureRequiredColumns() to patch any schema gaps.
|
|
381
|
-
if (tableExists(nativeDb, '__drizzle_migrations') && tableExists(nativeDb, 'tasks')) {
|
|
382
|
-
const localMigrations = readMigrationFiles({ migrationsFolder });
|
|
383
|
-
const localHashes = new Set(localMigrations.map((m) => m.hash));
|
|
384
|
-
const dbEntries = nativeDb.prepare('SELECT hash FROM "__drizzle_migrations"').all();
|
|
385
|
-
const hasOrphanedEntries = dbEntries.some((e) => !localHashes.has(e.hash));
|
|
386
|
-
if (hasOrphanedEntries) {
|
|
387
|
-
const log = getLogger('sqlite');
|
|
388
|
-
log.warn({ orphaned: dbEntries.filter((e) => !localHashes.has(e.hash)).length }, 'Detected stale migration journal entries from a previous CLEO version. Reconciling.');
|
|
389
|
-
// Clear all entries and mark every local migration as applied.
|
|
390
|
-
// The existing tables were created by the previous version's migrations,
|
|
391
|
-
// so we skip re-running them. ensureRequiredColumns() fills any schema gaps.
|
|
392
|
-
nativeDb.exec('DELETE FROM "__drizzle_migrations"');
|
|
393
|
-
for (const m of localMigrations) {
|
|
394
|
-
nativeDb.exec(`INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES ('${m.hash}', ${m.folderMillis})`);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
// Run pending migrations via drizzle-orm/node-sqlite/migrator (synchronous).
|
|
399
|
-
// The new migrator handles its own transactions. T5185: retry on SQLITE_BUSY.
|
|
400
|
-
for (let attempt = 1; attempt <= MAX_MIGRATION_RETRIES; attempt++) {
|
|
401
|
-
try {
|
|
402
|
-
migrate(db, { migrationsFolder });
|
|
403
|
-
break;
|
|
404
|
-
}
|
|
405
|
-
catch (err) {
|
|
406
|
-
if (!isSqliteBusy(err) || attempt === MAX_MIGRATION_RETRIES) {
|
|
407
|
-
throw err;
|
|
408
|
-
}
|
|
409
|
-
const delay = Math.min(MIGRATION_RETRY_BASE_DELAY_MS * 2 ** (attempt - 1) * (1 + Math.random() * 0.5), MIGRATION_RETRY_MAX_DELAY_MS);
|
|
410
|
-
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, Math.round(delay));
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
// Fix #63: Defensive column safety net — add any columns the schema expects
|
|
414
|
-
// but that are missing from the actual table. This catches gaps from stale
|
|
415
|
-
// migration journals, partial migrations, or version skew.
|
|
416
|
-
ensureRequiredColumns(nativeDb);
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* Required columns that MUST exist on the tasks table.
|
|
420
|
-
* Maps column name → ALTER TABLE ADD COLUMN DDL suffix.
|
|
421
|
-
* Only TEXT columns with no constraints are safe for ALTER TABLE ADD in SQLite.
|
|
422
|
-
*
|
|
423
|
-
* @see https://github.com/anthropics/cleo/issues/63
|
|
424
|
-
*/
|
|
425
|
-
const REQUIRED_TASK_COLUMNS = [
|
|
426
|
-
{ name: 'pipeline_stage', ddl: 'text' },
|
|
427
|
-
];
|
|
428
|
-
/**
|
|
429
|
-
* Ensure all required columns exist on the tasks table.
|
|
430
|
-
* Uses PRAGMA table_info to inspect the schema and adds any missing columns
|
|
431
|
-
* via ALTER TABLE ADD COLUMN. This is a safety net for databases where
|
|
432
|
-
* Drizzle migrations could not run due to journal corruption or version skew.
|
|
433
|
-
*
|
|
434
|
-
* @see https://github.com/anthropics/cleo/issues/63
|
|
435
|
-
*/
|
|
436
|
-
function ensureRequiredColumns(nativeDb) {
|
|
437
|
-
if (!tableExists(nativeDb, 'tasks'))
|
|
438
|
-
return;
|
|
439
|
-
const columns = nativeDb.prepare('PRAGMA table_info(tasks)').all();
|
|
440
|
-
const existingCols = new Set(columns.map((c) => c.name));
|
|
441
|
-
for (const req of REQUIRED_TASK_COLUMNS) {
|
|
442
|
-
if (!existingCols.has(req.name)) {
|
|
443
|
-
const log = getLogger('sqlite');
|
|
444
|
-
log.warn({ column: req.name }, `Adding missing column tasks.${req.name} via ALTER TABLE`);
|
|
445
|
-
nativeDb.exec(`ALTER TABLE tasks ADD COLUMN ${req.name} ${req.ddl}`);
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
/**
|
|
450
|
-
* Close the database connection and release resources.
|
|
451
|
-
*/
|
|
452
|
-
export function closeDb() {
|
|
453
|
-
if (_nativeDb) {
|
|
454
|
-
try {
|
|
455
|
-
if (_nativeDb.isOpen) {
|
|
456
|
-
_nativeDb.close();
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
catch {
|
|
460
|
-
// Ignore close errors
|
|
461
|
-
}
|
|
462
|
-
_nativeDb = null;
|
|
463
|
-
}
|
|
464
|
-
_db = null;
|
|
465
|
-
_dbPath = null;
|
|
466
|
-
_initPromise = null;
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* Reset database singleton state without saving.
|
|
470
|
-
* Used during migrations when database file is deleted and recreated.
|
|
471
|
-
* Safe to call multiple times.
|
|
472
|
-
*/
|
|
473
|
-
export function resetDbState() {
|
|
474
|
-
if (_nativeDb) {
|
|
475
|
-
try {
|
|
476
|
-
if (_nativeDb.isOpen) {
|
|
477
|
-
_nativeDb.close();
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
catch {
|
|
481
|
-
// Ignore close errors
|
|
482
|
-
}
|
|
483
|
-
_nativeDb = null;
|
|
484
|
-
}
|
|
485
|
-
_db = null;
|
|
486
|
-
_dbPath = null;
|
|
487
|
-
_initPromise = null;
|
|
488
|
-
}
|
|
489
|
-
/**
|
|
490
|
-
* Get the schema version from the database.
|
|
491
|
-
*/
|
|
492
|
-
export async function getSchemaVersion(cwd) {
|
|
493
|
-
const db = await getDb(cwd);
|
|
494
|
-
const result = await db
|
|
495
|
-
.select()
|
|
496
|
-
.from(schema.schemaMeta)
|
|
497
|
-
.where(eq(schema.schemaMeta.key, 'schemaVersion'));
|
|
498
|
-
return result[0]?.value ?? null;
|
|
499
|
-
}
|
|
500
|
-
/**
|
|
501
|
-
* Check if the database file exists.
|
|
502
|
-
*/
|
|
503
|
-
export function dbExists(cwd) {
|
|
504
|
-
return existsSync(getDbPath(cwd));
|
|
505
|
-
}
|
|
506
|
-
/**
|
|
507
|
-
* Get the underlying node:sqlite DatabaseSync instance.
|
|
508
|
-
* Useful for direct PRAGMA calls or raw SQL operations.
|
|
509
|
-
* Returns null if the database hasn't been initialized.
|
|
510
|
-
*/
|
|
511
|
-
export function getNativeDb() {
|
|
512
|
-
return _nativeDb;
|
|
513
|
-
}
|
|
514
|
-
/**
|
|
515
|
-
* Get the underlying node:sqlite DatabaseSync instance for tasks.db.
|
|
516
|
-
* Alias for getNativeDb() — mirrors getBrainNativeDb() naming convention.
|
|
517
|
-
*/
|
|
518
|
-
export function getNativeTasksDb() {
|
|
519
|
-
return _nativeDb;
|
|
520
|
-
}
|
|
521
|
-
/**
|
|
522
|
-
* Re-export schema for external use.
|
|
523
|
-
*/
|
|
524
|
-
export { schema };
|
|
525
|
-
/**
|
|
526
|
-
* Close ALL database singletons (tasks.db, brain.db, nexus.db).
|
|
527
|
-
*
|
|
528
|
-
* Must be called before deleting temp directories on Windows, where
|
|
529
|
-
* SQLite holds exclusive file handles on .db, .db-wal, and .db-shm files.
|
|
530
|
-
* Safe to call even if some databases were never opened.
|
|
531
|
-
*
|
|
532
|
-
* @task T5508
|
|
533
|
-
*/
|
|
534
|
-
export async function closeAllDatabases() {
|
|
535
|
-
// Close tasks.db
|
|
536
|
-
closeDb();
|
|
537
|
-
// Close brain.db (dynamic import to avoid circular deps)
|
|
538
|
-
try {
|
|
539
|
-
const { closeBrainDb } = await import('./brain-sqlite.js');
|
|
540
|
-
closeBrainDb();
|
|
541
|
-
}
|
|
542
|
-
catch {
|
|
543
|
-
/* module may not be loaded */
|
|
544
|
-
}
|
|
545
|
-
// Close nexus.db (dynamic import to avoid circular deps)
|
|
546
|
-
try {
|
|
547
|
-
const { closeNexusDb } = await import('./nexus-sqlite.js');
|
|
548
|
-
closeNexusDb();
|
|
549
|
-
}
|
|
550
|
-
catch {
|
|
551
|
-
/* module may not be loaded */
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
//# sourceMappingURL=sqlite.js.map
|
package/dist/store/sqlite.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/store/sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Status Registry — re-exports from @cleocode/contracts.
|
|
3
|
-
*
|
|
4
|
-
* The canonical status definitions now live in @cleocode/contracts.
|
|
5
|
-
* This file exists for backward compatibility within the store layer.
|
|
6
|
-
*/
|
|
7
|
-
export { ADR_STATUSES, GATE_STATUSES, isValidStatus, LIFECYCLE_PIPELINE_STATUSES, LIFECYCLE_STAGE_STATUSES, MANIFEST_STATUSES, PIPELINE_STATUS_ICONS, SESSION_STATUSES, STAGE_STATUS_ICONS, STATUS_REGISTRY, TASK_STATUS_SYMBOLS_ASCII, TASK_STATUS_SYMBOLS_UNICODE, TASK_STATUSES, TERMINAL_PIPELINE_STATUSES, TERMINAL_STAGE_STATUSES, TERMINAL_TASK_STATUSES, } from '@cleocode/contracts';
|
|
8
|
-
//# sourceMappingURL=status-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-registry.js","sourceRoot":"","sources":["../../src/store/status-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,aAAa,EACb,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC"}
|