@cleocode/core 2026.4.9 → 2026.4.12
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/adapters/adapter-registry.js +64 -0
- package/dist/adapters/adapter-registry.js.map +1 -0
- package/dist/adapters/discovery.js +83 -0
- package/dist/adapters/discovery.js.map +1 -0
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/manager.js +260 -0
- package/dist/adapters/manager.js.map +1 -0
- package/dist/admin/export-tasks.js +171 -0
- package/dist/admin/export-tasks.js.map +1 -0
- package/dist/admin/export.js +103 -0
- package/dist/admin/export.js.map +1 -0
- package/dist/admin/help.js +106 -0
- package/dist/admin/help.js.map +1 -0
- package/dist/admin/import-tasks.js +182 -0
- package/dist/admin/import-tasks.js.map +1 -0
- package/dist/admin/import.js +129 -0
- package/dist/admin/import.js.map +1 -0
- package/dist/admin/index.js +13 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/adrs/find.js +134 -0
- package/dist/adrs/find.js.map +1 -0
- package/dist/adrs/index.js +15 -0
- package/dist/adrs/index.js.map +1 -0
- package/dist/adrs/link-pipeline.js +160 -0
- package/dist/adrs/link-pipeline.js.map +1 -0
- package/dist/adrs/list.js +43 -0
- package/dist/adrs/list.js.map +1 -0
- package/dist/adrs/parse.js +51 -0
- package/dist/adrs/parse.js.map +1 -0
- package/dist/adrs/show.js +22 -0
- package/dist/adrs/show.js.map +1 -0
- package/dist/adrs/sync.js +188 -0
- package/dist/adrs/sync.js.map +1 -0
- package/dist/adrs/types.js +9 -0
- package/dist/adrs/types.js.map +1 -0
- package/dist/adrs/validate.js +57 -0
- package/dist/adrs/validate.js.map +1 -0
- package/dist/agents/agent-registry.js +288 -0
- package/dist/agents/agent-registry.js.map +1 -0
- package/dist/agents/agent-schema.d.ts +2 -2
- package/dist/agents/agent-schema.js +82 -0
- package/dist/agents/agent-schema.js.map +1 -0
- package/dist/agents/capacity.js +116 -0
- package/dist/agents/capacity.js.map +1 -0
- package/dist/agents/execution-learning.js +474 -0
- package/dist/agents/execution-learning.js.map +1 -0
- package/dist/agents/health-monitor.js +217 -0
- package/dist/agents/health-monitor.js.map +1 -0
- package/dist/agents/index.js +29 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/registry.js +314 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/retry.js +215 -0
- package/dist/agents/retry.js.map +1 -0
- package/dist/audit-prune.js +94 -0
- package/dist/audit-prune.js.map +1 -0
- package/dist/audit.js +68 -0
- package/dist/audit.js.map +1 -0
- package/dist/backfill/index.js +229 -0
- package/dist/backfill/index.js.map +1 -0
- package/dist/bootstrap.js +344 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/caamp/adapter.js +259 -0
- package/dist/caamp/adapter.js.map +1 -0
- package/dist/caamp/capability-check.js +38 -0
- package/dist/caamp/capability-check.js.map +1 -0
- package/dist/caamp/index.js +21 -0
- package/dist/caamp/index.js.map +1 -0
- package/dist/caamp-init.js +16 -0
- package/dist/caamp-init.js.map +1 -0
- package/dist/cleo.js +322 -0
- package/dist/cleo.js.map +1 -0
- package/dist/code/index.js +10 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code/outline.js +165 -0
- package/dist/code/outline.js.map +1 -0
- package/dist/code/parser.js +295 -0
- package/dist/code/parser.js.map +1 -0
- package/dist/code/search.js +135 -0
- package/dist/code/search.js.map +1 -0
- package/dist/code/unfold.js +155 -0
- package/dist/code/unfold.js.map +1 -0
- package/dist/codebase-map/analyzers/architecture.d.ts.map +1 -1
- package/dist/codebase-map/analyzers/architecture.js +129 -0
- package/dist/codebase-map/analyzers/architecture.js.map +1 -0
- package/dist/codebase-map/analyzers/concerns.js +122 -0
- package/dist/codebase-map/analyzers/concerns.js.map +1 -0
- package/dist/codebase-map/analyzers/conventions.js +149 -0
- package/dist/codebase-map/analyzers/conventions.js.map +1 -0
- package/dist/codebase-map/analyzers/integrations.js +108 -0
- package/dist/codebase-map/analyzers/integrations.js.map +1 -0
- package/dist/codebase-map/analyzers/stack.js +117 -0
- package/dist/codebase-map/analyzers/stack.js.map +1 -0
- package/dist/codebase-map/analyzers/structure.js +137 -0
- package/dist/codebase-map/analyzers/structure.js.map +1 -0
- package/dist/codebase-map/analyzers/testing.js +118 -0
- package/dist/codebase-map/analyzers/testing.js.map +1 -0
- package/dist/codebase-map/index.js +57 -0
- package/dist/codebase-map/index.js.map +1 -0
- package/dist/codebase-map/store.js +122 -0
- package/dist/codebase-map/store.js.map +1 -0
- package/dist/codebase-map/summary.js +152 -0
- package/dist/codebase-map/summary.js.map +1 -0
- package/dist/compliance/index.js +288 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/protocol-enforcement.js +332 -0
- package/dist/compliance/protocol-enforcement.js.map +1 -0
- package/dist/compliance/protocol-rules.js +786 -0
- package/dist/compliance/protocol-rules.js.map +1 -0
- package/dist/compliance/protocol-types.js +79 -0
- package/dist/compliance/protocol-types.js.map +1 -0
- package/dist/compliance/store.js +53 -0
- package/dist/compliance/store.js.map +1 -0
- package/dist/conduit/conduit-client.js +107 -0
- package/dist/conduit/conduit-client.js.map +1 -0
- package/dist/conduit/factory.js +52 -0
- package/dist/conduit/factory.js.map +1 -0
- package/dist/conduit/http-transport.js +155 -0
- package/dist/conduit/http-transport.js.map +1 -0
- package/dist/conduit/index.js +15 -0
- package/dist/conduit/index.js.map +1 -0
- package/dist/conduit/local-transport.d.ts +18 -8
- package/dist/conduit/local-transport.d.ts.map +1 -1
- package/dist/conduit/local-transport.js +255 -0
- package/dist/conduit/local-transport.js.map +1 -0
- package/dist/conduit/sse-transport.js +299 -0
- package/dist/conduit/sse-transport.js.map +1 -0
- package/dist/config/build-config.js +29 -0
- package/dist/config/build-config.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +400 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.js +18 -0
- package/dist/constants.js.map +1 -0
- package/dist/context/index.js +137 -0
- package/dist/context/index.js.map +1 -0
- package/dist/crypto/credentials.js +191 -0
- package/dist/crypto/credentials.js.map +1 -0
- package/dist/discovery.js +182 -0
- package/dist/discovery.js.map +1 -0
- package/dist/engine-result.js +12 -0
- package/dist/engine-result.js.map +1 -0
- package/dist/error-catalog.js +404 -0
- package/dist/error-catalog.js.map +1 -0
- package/dist/error-registry.js +393 -0
- package/dist/error-registry.js.map +1 -0
- package/dist/errors.d.ts +19 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +173 -0
- package/dist/errors.js.map +1 -0
- package/dist/hooks/handlers/agent-hooks.js +106 -0
- package/dist/hooks/handlers/agent-hooks.js.map +1 -0
- package/dist/hooks/handlers/context-hooks.js +111 -0
- package/dist/hooks/handlers/context-hooks.js.map +1 -0
- package/dist/hooks/handlers/error-hooks.js +52 -0
- package/dist/hooks/handlers/error-hooks.js.map +1 -0
- package/dist/hooks/handlers/file-hooks.js +104 -0
- package/dist/hooks/handlers/file-hooks.js.map +1 -0
- package/dist/hooks/handlers/handler-helpers.js +61 -0
- package/dist/hooks/handlers/handler-helpers.js.map +1 -0
- package/dist/hooks/handlers/index.js +28 -0
- package/dist/hooks/handlers/index.js.map +1 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js +42 -0
- package/dist/hooks/handlers/memory-bridge-refresh.js.map +1 -0
- package/dist/hooks/handlers/notification-hooks.js +62 -0
- package/dist/hooks/handlers/notification-hooks.js.map +1 -0
- package/dist/hooks/handlers/session-hooks.d.ts +21 -0
- package/dist/hooks/handlers/session-hooks.d.ts.map +1 -1
- package/dist/hooks/handlers/session-hooks.js +142 -0
- package/dist/hooks/handlers/session-hooks.js.map +1 -0
- package/dist/hooks/handlers/task-hooks.js +65 -0
- package/dist/hooks/handlers/task-hooks.js.map +1 -0
- package/dist/hooks/handlers/work-capture-hooks.js +165 -0
- package/dist/hooks/handlers/work-capture-hooks.js.map +1 -0
- package/dist/hooks/index.js +13 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/payload-schemas.d.ts +2 -2
- package/dist/hooks/payload-schemas.js +220 -0
- package/dist/hooks/payload-schemas.js.map +1 -0
- package/dist/hooks/provider-hooks.js +66 -0
- package/dist/hooks/provider-hooks.js.map +1 -0
- package/dist/hooks/registry.js +229 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.js +66 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks.js +136 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.js +175 -68684
- package/dist/index.js.map +1 -7
- package/dist/init.d.ts +1 -2
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +851 -0
- package/dist/init.js.map +1 -0
- package/dist/inject/index.js +82 -0
- package/dist/inject/index.js.map +1 -0
- package/dist/injection.js +343 -0
- package/dist/injection.js.map +1 -0
- package/dist/intelligence/adaptive-validation.js +497 -0
- package/dist/intelligence/adaptive-validation.js.map +1 -0
- package/dist/intelligence/impact.js +675 -0
- package/dist/intelligence/impact.js.map +1 -0
- package/dist/intelligence/index.js +22 -0
- package/dist/intelligence/index.js.map +1 -0
- package/dist/intelligence/patterns.js +492 -0
- package/dist/intelligence/patterns.js.map +1 -0
- package/dist/intelligence/prediction.js +499 -0
- package/dist/intelligence/prediction.js.map +1 -0
- package/dist/intelligence/types.js +13 -0
- package/dist/intelligence/types.js.map +1 -0
- package/dist/internal.d.ts +15 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +306 -0
- package/dist/internal.js.map +1 -0
- package/dist/issue/create.js +121 -0
- package/dist/issue/create.js.map +1 -0
- package/dist/issue/diagnostics.js +59 -0
- package/dist/issue/diagnostics.js.map +1 -0
- package/dist/issue/index.js +10 -0
- package/dist/issue/index.js.map +1 -0
- package/dist/issue/template-parser.js +267 -0
- package/dist/issue/template-parser.js.map +1 -0
- package/dist/json-schema-validator.js +76 -0
- package/dist/json-schema-validator.js.map +1 -0
- package/dist/lib/index.js +11 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/retry.js +152 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/tree-sitter-languages.js +71 -0
- package/dist/lib/tree-sitter-languages.js.map +1 -0
- package/dist/lifecycle/chain-composition.js +152 -0
- package/dist/lifecycle/chain-composition.js.map +1 -0
- package/dist/lifecycle/chain-store.js +246 -0
- package/dist/lifecycle/chain-store.js.map +1 -0
- package/dist/lifecycle/consolidate-rcasd.js +352 -0
- package/dist/lifecycle/consolidate-rcasd.js.map +1 -0
- package/dist/lifecycle/default-chain.js +176 -0
- package/dist/lifecycle/default-chain.js.map +1 -0
- package/dist/lifecycle/evidence.js +180 -0
- package/dist/lifecycle/evidence.js.map +1 -0
- package/dist/lifecycle/frontmatter.js +363 -0
- package/dist/lifecycle/frontmatter.js.map +1 -0
- package/dist/lifecycle/index.js +756 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/lifecycle/pipeline.js +656 -0
- package/dist/lifecycle/pipeline.js.map +1 -0
- package/dist/lifecycle/rcasd-index.js +326 -0
- package/dist/lifecycle/rcasd-index.js.map +1 -0
- package/dist/lifecycle/rcasd-paths.js +220 -0
- package/dist/lifecycle/rcasd-paths.js.map +1 -0
- package/dist/lifecycle/resume.js +864 -0
- package/dist/lifecycle/resume.js.map +1 -0
- package/dist/lifecycle/stage-artifacts.js +94 -0
- package/dist/lifecycle/stage-artifacts.js.map +1 -0
- package/dist/lifecycle/stage-guidance.js +234 -0
- package/dist/lifecycle/stage-guidance.js.map +1 -0
- package/dist/lifecycle/stages.js +534 -0
- package/dist/lifecycle/stages.js.map +1 -0
- package/dist/lifecycle/state-machine.js +516 -0
- package/dist/lifecycle/state-machine.js.map +1 -0
- package/dist/lifecycle/tessera-engine.js +249 -0
- package/dist/lifecycle/tessera-engine.js.map +1 -0
- package/dist/logger.js +140 -0
- package/dist/logger.js.map +1 -0
- package/dist/memory/auto-extract.js +177 -0
- package/dist/memory/auto-extract.js.map +1 -0
- package/dist/memory/brain-embedding.js +66 -0
- package/dist/memory/brain-embedding.js.map +1 -0
- package/dist/memory/brain-lifecycle.js +298 -0
- package/dist/memory/brain-lifecycle.js.map +1 -0
- package/dist/memory/brain-links.js +161 -0
- package/dist/memory/brain-links.js.map +1 -0
- package/dist/memory/brain-maintenance.js +114 -0
- package/dist/memory/brain-maintenance.js.map +1 -0
- package/dist/memory/brain-migration.js +149 -0
- package/dist/memory/brain-migration.js.map +1 -0
- package/dist/memory/brain-reasoning.js +215 -0
- package/dist/memory/brain-reasoning.js.map +1 -0
- package/dist/memory/brain-retrieval.js +542 -0
- package/dist/memory/brain-retrieval.js.map +1 -0
- package/dist/memory/brain-row-types.js +10 -0
- package/dist/memory/brain-row-types.js.map +1 -0
- package/dist/memory/brain-search.js +519 -0
- package/dist/memory/brain-search.js.map +1 -0
- package/dist/memory/brain-similarity.js +145 -0
- package/dist/memory/brain-similarity.js.map +1 -0
- package/dist/memory/claude-mem-migration.js +277 -0
- package/dist/memory/claude-mem-migration.js.map +1 -0
- package/dist/memory/decisions.js +162 -0
- package/dist/memory/decisions.js.map +1 -0
- package/dist/memory/embedding-local.js +97 -0
- package/dist/memory/embedding-local.js.map +1 -0
- package/dist/memory/embedding-queue.js +271 -0
- package/dist/memory/embedding-queue.js.map +1 -0
- package/dist/memory/embedding-worker.js +58 -0
- package/dist/memory/embedding-worker.js.map +1 -0
- package/dist/memory/engine-compat.js +1397 -0
- package/dist/memory/engine-compat.js.map +1 -0
- package/dist/memory/index.js +1140 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/learnings.js +121 -0
- package/dist/memory/learnings.js.map +1 -0
- package/dist/memory/memory-bridge.js +370 -0
- package/dist/memory/memory-bridge.js.map +1 -0
- package/dist/memory/patterns.d.ts +4 -4
- package/dist/memory/patterns.js +122 -0
- package/dist/memory/patterns.js.map +1 -0
- package/dist/memory/pipeline-manifest-sqlite.js +975 -0
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -0
- package/dist/memory/session-memory.js +331 -0
- package/dist/memory/session-memory.js.map +1 -0
- package/dist/metrics/ab-test.js +260 -0
- package/dist/metrics/ab-test.js.map +1 -0
- package/dist/metrics/aggregation.js +363 -0
- package/dist/metrics/aggregation.js.map +1 -0
- package/dist/metrics/common.js +64 -0
- package/dist/metrics/common.js.map +1 -0
- package/dist/metrics/enums.js +78 -0
- package/dist/metrics/enums.js.map +1 -0
- package/dist/metrics/index.js +19 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/model-provider-registry.js +88 -0
- package/dist/metrics/model-provider-registry.js.map +1 -0
- package/dist/metrics/otel-integration.js +263 -0
- package/dist/metrics/otel-integration.js.map +1 -0
- package/dist/metrics/provider-detection.js +103 -0
- package/dist/metrics/provider-detection.js.map +1 -0
- package/dist/metrics/token-estimation.js +253 -0
- package/dist/metrics/token-estimation.js.map +1 -0
- package/dist/metrics/token-service.js +450 -0
- package/dist/metrics/token-service.js.map +1 -0
- package/dist/migration/agent-outputs.js +316 -0
- package/dist/migration/agent-outputs.js.map +1 -0
- package/dist/migration/checksum.js +92 -0
- package/dist/migration/checksum.js.map +1 -0
- package/dist/migration/index.js +282 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/migration/logger.js +360 -0
- package/dist/migration/logger.js.map +1 -0
- package/dist/migration/preflight.js +9 -0
- package/dist/migration/preflight.js.map +1 -0
- package/dist/migration/state.js +421 -0
- package/dist/migration/state.js.map +1 -0
- package/dist/migration/validate.js +241 -0
- package/dist/migration/validate.js.map +1 -0
- package/dist/mvi-helpers.js +74 -0
- package/dist/mvi-helpers.js.map +1 -0
- package/dist/nexus/deps.js +375 -0
- package/dist/nexus/deps.js.map +1 -0
- package/dist/nexus/discover.js +288 -0
- package/dist/nexus/discover.js.map +1 -0
- package/dist/nexus/hash.js +10 -0
- package/dist/nexus/hash.js.map +1 -0
- package/dist/nexus/index.js +40 -0
- package/dist/nexus/index.js.map +1 -0
- package/dist/nexus/migrate-json-to-sqlite.js +115 -0
- package/dist/nexus/migrate-json-to-sqlite.js.map +1 -0
- package/dist/nexus/permissions.js +105 -0
- package/dist/nexus/permissions.js.map +1 -0
- package/dist/nexus/query.js +175 -0
- package/dist/nexus/query.js.map +1 -0
- package/dist/nexus/registry.js +584 -0
- package/dist/nexus/registry.js.map +1 -0
- package/dist/nexus/sharing/index.js +288 -0
- package/dist/nexus/sharing/index.js.map +1 -0
- package/dist/nexus/transfer-types.js +8 -0
- package/dist/nexus/transfer-types.js.map +1 -0
- package/dist/nexus/transfer.js +263 -0
- package/dist/nexus/transfer.js.map +1 -0
- package/dist/nexus/workspace.js +355 -0
- package/dist/nexus/workspace.js.map +1 -0
- package/dist/observability/index.js +103 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/log-filter.js +63 -0
- package/dist/observability/log-filter.js.map +1 -0
- package/dist/observability/log-parser.js +99 -0
- package/dist/observability/log-parser.js.map +1 -0
- package/dist/observability/log-reader.js +139 -0
- package/dist/observability/log-reader.js.map +1 -0
- package/dist/observability/types.js +19 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/orchestration/analyze.js +107 -0
- package/dist/orchestration/analyze.js.map +1 -0
- package/dist/orchestration/bootstrap.js +132 -0
- package/dist/orchestration/bootstrap.js.map +1 -0
- package/dist/orchestration/context.js +56 -0
- package/dist/orchestration/context.js.map +1 -0
- package/dist/orchestration/critical-path.js +100 -0
- package/dist/orchestration/critical-path.js.map +1 -0
- package/dist/orchestration/hierarchy.js +183 -0
- package/dist/orchestration/hierarchy.js.map +1 -0
- package/dist/orchestration/index.js +287 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/parallel.js +89 -0
- package/dist/orchestration/parallel.js.map +1 -0
- package/dist/orchestration/protocol-validators.js +815 -0
- package/dist/orchestration/protocol-validators.js.map +1 -0
- package/dist/orchestration/skill-ops.js +98 -0
- package/dist/orchestration/skill-ops.js.map +1 -0
- package/dist/orchestration/status.js +107 -0
- package/dist/orchestration/status.js.map +1 -0
- package/dist/orchestration/unblock.js +103 -0
- package/dist/orchestration/unblock.js.map +1 -0
- package/dist/orchestration/validate-spawn.js +67 -0
- package/dist/orchestration/validate-spawn.js.map +1 -0
- package/dist/orchestration/waves.js +86 -0
- package/dist/orchestration/waves.js.map +1 -0
- package/dist/otel/index.js +163 -0
- package/dist/otel/index.js.map +1 -0
- package/dist/output.d.ts +32 -11
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +164 -0
- package/dist/output.js.map +1 -0
- package/dist/pagination.js +64 -0
- package/dist/pagination.js.map +1 -0
- package/dist/paths.d.ts +39 -9
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +842 -0
- package/dist/paths.js.map +1 -0
- package/dist/phases/deps.js +372 -0
- package/dist/phases/deps.js.map +1 -0
- package/dist/phases/index.js +349 -0
- package/dist/phases/index.js.map +1 -0
- package/dist/pipeline/index.js +10 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/phase.js +45 -0
- package/dist/pipeline/phase.js.map +1 -0
- package/dist/platform.js +211 -0
- package/dist/platform.js.map +1 -0
- package/dist/project-info.js +84 -0
- package/dist/project-info.js.map +1 -0
- package/dist/reconciliation/index.js +10 -0
- package/dist/reconciliation/index.js.map +1 -0
- package/dist/reconciliation/link-store.js +129 -0
- package/dist/reconciliation/link-store.js.map +1 -0
- package/dist/reconciliation/reconciliation-engine.js +298 -0
- package/dist/reconciliation/reconciliation-engine.js.map +1 -0
- package/dist/release/artifacts.js +427 -0
- package/dist/release/artifacts.js.map +1 -0
- package/dist/release/changelog-writer.js +151 -0
- package/dist/release/changelog-writer.js.map +1 -0
- package/dist/release/channel.js +144 -0
- package/dist/release/channel.js.map +1 -0
- package/dist/release/ci.js +166 -0
- package/dist/release/ci.js.map +1 -0
- package/dist/release/github-pr.js +225 -0
- package/dist/release/github-pr.js.map +1 -0
- package/dist/release/guards.js +116 -0
- package/dist/release/guards.js.map +1 -0
- package/dist/release/index.js +22 -0
- package/dist/release/index.js.map +1 -0
- package/dist/release/release-config.js +158 -0
- package/dist/release/release-config.js.map +1 -0
- package/dist/release/release-manifest.js +1019 -0
- package/dist/release/release-manifest.js.map +1 -0
- package/dist/release/version-bump.js +255 -0
- package/dist/release/version-bump.js.map +1 -0
- package/dist/remote/index.js +257 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/repair.js +130 -0
- package/dist/repair.js.map +1 -0
- package/dist/research/index.js +2 -0
- package/dist/research/index.js.map +1 -0
- package/dist/roadmap/index.js +59 -0
- package/dist/roadmap/index.js.map +1 -0
- package/dist/routing/capability-matrix.js +1556 -0
- package/dist/routing/capability-matrix.js.map +1 -0
- package/dist/routing/index.js +9 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/scaffold.d.ts +15 -2
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +1759 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/schema-management.js +295 -0
- package/dist/schema-management.js.map +1 -0
- package/dist/security/index.js +9 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/input-sanitization.js +321 -0
- package/dist/security/input-sanitization.js.map +1 -0
- package/dist/sequence/index.js +295 -0
- package/dist/sequence/index.js.map +1 -0
- package/dist/sessions/assumptions.js +54 -0
- package/dist/sessions/assumptions.js.map +1 -0
- package/dist/sessions/briefing.js +377 -0
- package/dist/sessions/briefing.js.map +1 -0
- package/dist/sessions/context-alert.js +222 -0
- package/dist/sessions/context-alert.js.map +1 -0
- package/dist/sessions/context-inject.js +61 -0
- package/dist/sessions/context-inject.js.map +1 -0
- package/dist/sessions/context-monitor.js +98 -0
- package/dist/sessions/context-monitor.js.map +1 -0
- package/dist/sessions/decisions.js +65 -0
- package/dist/sessions/decisions.js.map +1 -0
- package/dist/sessions/find.js +65 -0
- package/dist/sessions/find.js.map +1 -0
- package/dist/sessions/handoff.js +328 -0
- package/dist/sessions/handoff.js.map +1 -0
- package/dist/sessions/hitl-warnings.js +254 -0
- package/dist/sessions/hitl-warnings.js.map +1 -0
- package/dist/sessions/index.js +327 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/sessions/session-archive.js +40 -0
- package/dist/sessions/session-archive.js.map +1 -0
- package/dist/sessions/session-cleanup.js +59 -0
- package/dist/sessions/session-cleanup.js.map +1 -0
- package/dist/sessions/session-drift.js +134 -0
- package/dist/sessions/session-drift.js.map +1 -0
- package/dist/sessions/session-enforcement.js +144 -0
- package/dist/sessions/session-enforcement.js.map +1 -0
- package/dist/sessions/session-grade.js +253 -0
- package/dist/sessions/session-grade.js.map +1 -0
- package/dist/sessions/session-history.js +42 -0
- package/dist/sessions/session-history.js.map +1 -0
- package/dist/sessions/session-id.js +81 -0
- package/dist/sessions/session-id.js.map +1 -0
- package/dist/sessions/session-memory-bridge.js +52 -0
- package/dist/sessions/session-memory-bridge.js.map +1 -0
- package/dist/sessions/session-show.js +24 -0
- package/dist/sessions/session-show.js.map +1 -0
- package/dist/sessions/session-stats.js +69 -0
- package/dist/sessions/session-stats.js.map +1 -0
- package/dist/sessions/session-suspend.js +39 -0
- package/dist/sessions/session-suspend.js.map +1 -0
- package/dist/sessions/session-switch.js +51 -0
- package/dist/sessions/session-switch.js.map +1 -0
- package/dist/sessions/session-view.js +76 -0
- package/dist/sessions/session-view.js.map +1 -0
- package/dist/sessions/snapshot.js +213 -0
- package/dist/sessions/snapshot.js.map +1 -0
- package/dist/sessions/statusline-setup.js +85 -0
- package/dist/sessions/statusline-setup.js.map +1 -0
- package/dist/sessions/types.js +8 -0
- package/dist/sessions/types.js.map +1 -0
- package/dist/skills/agents/config.js +94 -0
- package/dist/skills/agents/config.js.map +1 -0
- package/dist/skills/agents/install.js +116 -0
- package/dist/skills/agents/install.js.map +1 -0
- package/dist/skills/agents/registry.js +161 -0
- package/dist/skills/agents/registry.js.map +1 -0
- package/dist/skills/discovery.js +333 -0
- package/dist/skills/discovery.js.map +1 -0
- package/dist/skills/dispatch.js +347 -0
- package/dist/skills/dispatch.js.map +1 -0
- package/dist/skills/dynamic-skill-generator.d.ts +0 -2
- package/dist/skills/dynamic-skill-generator.d.ts.map +1 -1
- package/dist/skills/dynamic-skill-generator.js +87 -0
- package/dist/skills/dynamic-skill-generator.js.map +1 -0
- package/dist/skills/index.js +44 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/injection/subagent.js +195 -0
- package/dist/skills/injection/subagent.js.map +1 -0
- package/dist/skills/injection/token.js +260 -0
- package/dist/skills/injection/token.js.map +1 -0
- package/dist/skills/install.js +40 -0
- package/dist/skills/install.js.map +1 -0
- package/dist/skills/manifests/contribution.js +175 -0
- package/dist/skills/manifests/contribution.js.map +1 -0
- package/dist/skills/manifests/research.js +281 -0
- package/dist/skills/manifests/research.js.map +1 -0
- package/dist/skills/manifests/resolver.js +146 -0
- package/dist/skills/manifests/resolver.js.map +1 -0
- package/dist/skills/marketplace.js +90 -0
- package/dist/skills/marketplace.js.map +1 -0
- package/dist/skills/orchestrator/spawn.js +178 -0
- package/dist/skills/orchestrator/spawn.js.map +1 -0
- package/dist/skills/orchestrator/startup.js +451 -0
- package/dist/skills/orchestrator/startup.js.map +1 -0
- package/dist/skills/orchestrator/validator.js +301 -0
- package/dist/skills/orchestrator/validator.js.map +1 -0
- package/dist/skills/precedence-integration.js +73 -0
- package/dist/skills/precedence-integration.js.map +1 -0
- package/dist/skills/precedence-types.js +16 -0
- package/dist/skills/precedence-types.js.map +1 -0
- package/dist/skills/routing-table.js +63 -0
- package/dist/skills/routing-table.js.map +1 -0
- package/dist/skills/skill-paths.js +217 -0
- package/dist/skills/skill-paths.js.map +1 -0
- package/dist/skills/test-utility.js +55 -0
- package/dist/skills/test-utility.js.map +1 -0
- package/dist/skills/types.js +118 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validation.js +183 -0
- package/dist/skills/validation.js.map +1 -0
- package/dist/skills/version.js +57 -0
- package/dist/skills/version.js.map +1 -0
- package/dist/snapshot/index.js +188 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/spawn/adapter-registry.js +246 -0
- package/dist/spawn/adapter-registry.js.map +1 -0
- package/dist/spawn/index.js +10 -0
- package/dist/spawn/index.js.map +1 -0
- package/dist/stats/index.js +343 -0
- package/dist/stats/index.js.map +1 -0
- package/dist/stats/workflow-telemetry.js +400 -0
- package/dist/stats/workflow-telemetry.js.map +1 -0
- package/dist/sticky/archive.js +47 -0
- package/dist/sticky/archive.js.map +1 -0
- package/dist/sticky/convert.js +235 -0
- package/dist/sticky/convert.js.map +1 -0
- package/dist/sticky/create.js +48 -0
- package/dist/sticky/create.js.map +1 -0
- package/dist/sticky/id.js +35 -0
- package/dist/sticky/id.js.map +1 -0
- package/dist/sticky/index.js +16 -0
- package/dist/sticky/index.js.map +1 -0
- package/dist/sticky/list.js +44 -0
- package/dist/sticky/list.js.map +1 -0
- package/dist/sticky/purge.js +45 -0
- package/dist/sticky/purge.js.map +1 -0
- package/dist/sticky/show.js +42 -0
- package/dist/sticky/show.js.map +1 -0
- package/dist/sticky/types.js +10 -0
- package/dist/sticky/types.js.map +1 -0
- package/dist/store/agent-registry-accessor.d.ts +203 -12
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +783 -0
- package/dist/store/agent-registry-accessor.js.map +1 -0
- package/dist/store/api-key-kdf.d.ts +73 -0
- package/dist/store/api-key-kdf.d.ts.map +1 -0
- package/dist/store/api-key-kdf.js +84 -0
- package/dist/store/api-key-kdf.js.map +1 -0
- package/dist/store/atomic.js +167 -0
- package/dist/store/atomic.js.map +1 -0
- package/dist/store/backup.js +94 -0
- package/dist/store/backup.js.map +1 -0
- package/dist/store/brain-accessor.js +397 -0
- package/dist/store/brain-accessor.js.map +1 -0
- package/dist/store/brain-schema.d.ts +8 -8
- package/dist/store/brain-schema.js +215 -0
- package/dist/store/brain-schema.js.map +1 -0
- package/dist/store/brain-sqlite.js +222 -0
- package/dist/store/brain-sqlite.js.map +1 -0
- package/dist/store/cache.js +168 -0
- package/dist/store/cache.js.map +1 -0
- package/dist/store/chain-schema.js +51 -0
- package/dist/store/chain-schema.js.map +1 -0
- package/dist/store/cleanup-legacy.d.ts +128 -0
- package/dist/store/cleanup-legacy.d.ts.map +1 -0
- package/dist/store/cleanup-legacy.js +171 -0
- package/dist/store/cleanup-legacy.js.map +1 -0
- package/dist/store/conduit-sqlite.d.ts +184 -0
- package/dist/store/conduit-sqlite.d.ts.map +1 -0
- package/dist/store/conduit-sqlite.js +570 -0
- package/dist/store/conduit-sqlite.js.map +1 -0
- package/dist/store/converters.js +124 -0
- package/dist/store/converters.js.map +1 -0
- package/dist/store/cross-db-cleanup.js +319 -0
- package/dist/store/cross-db-cleanup.js.map +1 -0
- package/dist/store/data-accessor.js +26 -0
- package/dist/store/data-accessor.js.map +1 -0
- package/dist/store/data-safety-central.js +269 -0
- package/dist/store/data-safety-central.js.map +1 -0
- package/dist/store/data-safety.js +274 -0
- package/dist/store/data-safety.js.map +1 -0
- package/dist/store/db-helpers.js +224 -0
- package/dist/store/db-helpers.js.map +1 -0
- package/dist/store/export.js +155 -0
- package/dist/store/export.js.map +1 -0
- package/dist/store/file-utils.js +270 -0
- package/dist/store/file-utils.js.map +1 -0
- package/dist/store/git-checkpoint.js +365 -0
- package/dist/store/git-checkpoint.js.map +1 -0
- package/dist/store/global-salt.d.ts +78 -0
- package/dist/store/global-salt.d.ts.map +1 -0
- package/dist/store/global-salt.js +147 -0
- package/dist/store/global-salt.js.map +1 -0
- package/dist/store/import-logging.js +139 -0
- package/dist/store/import-logging.js.map +1 -0
- package/dist/store/import-remap.js +145 -0
- package/dist/store/import-remap.js.map +1 -0
- package/dist/store/import-sort.js +121 -0
- package/dist/store/import-sort.js.map +1 -0
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +29 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/json.js +208 -0
- package/dist/store/json.js.map +1 -0
- package/dist/store/lifecycle-store.js +249 -0
- package/dist/store/lifecycle-store.js.map +1 -0
- package/dist/store/lock.js +70 -0
- package/dist/store/lock.js.map +1 -0
- package/dist/store/migrate-signaldock-to-conduit.d.ts +81 -0
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -0
- package/dist/store/migrate-signaldock-to-conduit.js +555 -0
- package/dist/store/migrate-signaldock-to-conduit.js.map +1 -0
- package/dist/store/migration-manager.js +151 -0
- package/dist/store/migration-manager.js.map +1 -0
- package/dist/store/migration-sqlite.js +676 -0
- package/dist/store/migration-sqlite.js.map +1 -0
- package/dist/store/nexus-schema.js +62 -0
- package/dist/store/nexus-schema.js.map +1 -0
- package/dist/store/nexus-sqlite.d.ts +14 -2
- package/dist/store/nexus-sqlite.d.ts.map +1 -1
- package/dist/store/nexus-sqlite.js +242 -0
- package/dist/store/nexus-sqlite.js.map +1 -0
- package/dist/store/nexus-validation-schemas.js +40 -0
- package/dist/store/nexus-validation-schemas.js.map +1 -0
- package/dist/store/parsers.js +37 -0
- package/dist/store/parsers.js.map +1 -0
- package/dist/store/project-detect.js +457 -0
- package/dist/store/project-detect.js.map +1 -0
- package/dist/store/provider.js +101 -0
- package/dist/store/provider.js.map +1 -0
- package/dist/store/safety-data-accessor.js +257 -0
- package/dist/store/safety-data-accessor.js.map +1 -0
- package/dist/store/schema.js +7 -0
- package/dist/store/schema.js.map +1 -0
- package/dist/store/session-store.js +219 -0
- package/dist/store/session-store.js.map +1 -0
- package/dist/store/signaldock-sqlite.d.ts +122 -19
- package/dist/store/signaldock-sqlite.d.ts.map +1 -1
- package/dist/store/signaldock-sqlite.js +550 -0
- package/dist/store/signaldock-sqlite.js.map +1 -0
- package/dist/store/sqlite-backup.d.ts +121 -10
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/sqlite-backup.js +359 -0
- package/dist/store/sqlite-backup.js.map +1 -0
- package/dist/store/sqlite-data-accessor.js +787 -0
- package/dist/store/sqlite-data-accessor.js.map +1 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +481 -0
- package/dist/store/sqlite.js.map +1 -0
- package/dist/store/status-registry.js +8 -0
- package/dist/store/status-registry.js.map +1 -0
- package/dist/store/task-store.js +358 -0
- package/dist/store/task-store.js.map +1 -0
- package/dist/store/tasks-schema.d.ts +8 -8
- package/dist/store/tasks-schema.js +610 -0
- package/dist/store/tasks-schema.js.map +1 -0
- package/dist/store/typed-query.js +15 -0
- package/dist/store/typed-query.js.map +1 -0
- package/dist/store/validation-schemas.d.ts +37 -37
- package/dist/store/validation-schemas.js +278 -0
- package/dist/store/validation-schemas.js.map +1 -0
- package/dist/system/archive-analytics.js +277 -0
- package/dist/system/archive-analytics.js.map +1 -0
- package/dist/system/archive-stats.js +64 -0
- package/dist/system/archive-stats.js.map +1 -0
- package/dist/system/audit.js +145 -0
- package/dist/system/audit.js.map +1 -0
- package/dist/system/backup.d.ts +65 -3
- package/dist/system/backup.d.ts.map +1 -1
- package/dist/system/backup.js +280 -0
- package/dist/system/backup.js.map +1 -0
- package/dist/system/cleanup.js +134 -0
- package/dist/system/cleanup.js.map +1 -0
- package/dist/system/health.js +1100 -0
- package/dist/system/health.js.map +1 -0
- package/dist/system/index.js +18 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/inject-generate.js +122 -0
- package/dist/system/inject-generate.js.map +1 -0
- package/dist/system/labels.js +38 -0
- package/dist/system/labels.js.map +1 -0
- package/dist/system/metrics.js +61 -0
- package/dist/system/metrics.js.map +1 -0
- package/dist/system/migrate.js +43 -0
- package/dist/system/migrate.js.map +1 -0
- package/dist/system/platform-paths.js +80 -0
- package/dist/system/platform-paths.js.map +1 -0
- package/dist/system/runtime.d.ts +0 -2
- package/dist/system/runtime.d.ts.map +1 -1
- package/dist/system/runtime.js +161 -0
- package/dist/system/runtime.js.map +1 -0
- package/dist/system/safestop.js +99 -0
- package/dist/system/safestop.js.map +1 -0
- package/dist/system/storage-preflight.js +123 -0
- package/dist/system/storage-preflight.js.map +1 -0
- package/dist/task-work/index.js +159 -0
- package/dist/task-work/index.js.map +1 -0
- package/dist/tasks/add.d.ts +1 -1
- package/dist/tasks/add.d.ts.map +1 -1
- package/dist/tasks/add.js +736 -0
- package/dist/tasks/add.js.map +1 -0
- package/dist/tasks/analyze.js +85 -0
- package/dist/tasks/analyze.js.map +1 -0
- package/dist/tasks/archive.js +90 -0
- package/dist/tasks/archive.js.map +1 -0
- package/dist/tasks/atomicity.js +83 -0
- package/dist/tasks/atomicity.js.map +1 -0
- package/dist/tasks/cancel-ops.js +83 -0
- package/dist/tasks/cancel-ops.js.map +1 -0
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +214 -0
- package/dist/tasks/complete.js.map +1 -0
- package/dist/tasks/crossref-extract.js +73 -0
- package/dist/tasks/crossref-extract.js.map +1 -0
- package/dist/tasks/delete-preview.js +192 -0
- package/dist/tasks/delete-preview.js.map +1 -0
- package/dist/tasks/delete.js +120 -0
- package/dist/tasks/delete.js.map +1 -0
- package/dist/tasks/deletion-strategy.js +200 -0
- package/dist/tasks/deletion-strategy.js.map +1 -0
- package/dist/tasks/dependency-check.js +278 -0
- package/dist/tasks/dependency-check.js.map +1 -0
- package/dist/tasks/deps-ready.js +32 -0
- package/dist/tasks/deps-ready.js.map +1 -0
- package/dist/tasks/enforcement.js +86 -0
- package/dist/tasks/enforcement.js.map +1 -0
- package/dist/tasks/epic-enforcement.js +294 -0
- package/dist/tasks/epic-enforcement.js.map +1 -0
- package/dist/tasks/find.d.ts.map +1 -1
- package/dist/tasks/find.js +157 -0
- package/dist/tasks/find.js.map +1 -0
- package/dist/tasks/graph-cache.js +127 -0
- package/dist/tasks/graph-cache.js.map +1 -0
- package/dist/tasks/graph-ops.js +171 -0
- package/dist/tasks/graph-ops.js.map +1 -0
- package/dist/tasks/graph-rag.js +328 -0
- package/dist/tasks/graph-rag.js.map +1 -0
- package/dist/tasks/hierarchy-policy.js +149 -0
- package/dist/tasks/hierarchy-policy.js.map +1 -0
- package/dist/tasks/hierarchy.js +185 -0
- package/dist/tasks/hierarchy.js.map +1 -0
- package/dist/tasks/id-generator.js +65 -0
- package/dist/tasks/id-generator.js.map +1 -0
- package/dist/tasks/index.js +14 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/labels.d.ts.map +1 -1
- package/dist/tasks/labels.js +55 -0
- package/dist/tasks/labels.js.map +1 -0
- package/dist/tasks/list.js +75 -0
- package/dist/tasks/list.js.map +1 -0
- package/dist/tasks/phase-tracking.js +133 -0
- package/dist/tasks/phase-tracking.js.map +1 -0
- package/dist/tasks/pipeline-stage.js +248 -0
- package/dist/tasks/pipeline-stage.js.map +1 -0
- package/dist/tasks/plan.js +268 -0
- package/dist/tasks/plan.js.map +1 -0
- package/dist/tasks/relates.d.ts.map +1 -1
- package/dist/tasks/relates.js +101 -0
- package/dist/tasks/relates.js.map +1 -0
- package/dist/tasks/show.d.ts.map +1 -1
- package/dist/tasks/show.js +83 -0
- package/dist/tasks/show.js.map +1 -0
- package/dist/tasks/size-weighting.js +86 -0
- package/dist/tasks/size-weighting.js.map +1 -0
- package/dist/tasks/staleness.js +86 -0
- package/dist/tasks/staleness.js.map +1 -0
- package/dist/tasks/task-ops.js +1741 -0
- package/dist/tasks/task-ops.js.map +1 -0
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +303 -0
- package/dist/tasks/update.js.map +1 -0
- package/dist/templates/index.js +10 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/parser.js +254 -0
- package/dist/templates/parser.js.map +1 -0
- package/dist/ui/aliases.js +153 -0
- package/dist/ui/aliases.js.map +1 -0
- package/dist/ui/changelog.js +184 -0
- package/dist/ui/changelog.js.map +1 -0
- package/dist/ui/command-registry.js +168 -0
- package/dist/ui/command-registry.js.map +1 -0
- package/dist/ui/flags.js +94 -0
- package/dist/ui/flags.js.map +1 -0
- package/dist/ui/index.js +24 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/upgrade.js +1148 -0
- package/dist/upgrade.js.map +1 -0
- package/dist/validation/chain-validation.js +146 -0
- package/dist/validation/chain-validation.js.map +1 -0
- package/dist/validation/compliance.js +155 -0
- package/dist/validation/compliance.js.map +1 -0
- package/dist/validation/docs-sync.js +212 -0
- package/dist/validation/docs-sync.js.map +1 -0
- package/dist/validation/doctor/checks.js +1069 -0
- package/dist/validation/doctor/checks.js.map +1 -0
- package/dist/validation/doctor/index.js +9 -0
- package/dist/validation/doctor/index.js.map +1 -0
- package/dist/validation/doctor/project-cache.js +160 -0
- package/dist/validation/doctor/project-cache.js.map +1 -0
- package/dist/validation/doctor/utils.js +155 -0
- package/dist/validation/doctor/utils.js.map +1 -0
- package/dist/validation/engine.d.ts.map +1 -1
- package/dist/validation/engine.js +914 -0
- package/dist/validation/engine.js.map +1 -0
- package/dist/validation/gap-check.js +175 -0
- package/dist/validation/gap-check.js.map +1 -0
- package/dist/validation/index.js +40 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/manifest.js +237 -0
- package/dist/validation/manifest.js.map +1 -0
- package/dist/validation/operation-gate-validators.js +724 -0
- package/dist/validation/operation-gate-validators.js.map +1 -0
- package/dist/validation/operation-verification-gates.js +532 -0
- package/dist/validation/operation-verification-gates.js.map +1 -0
- package/dist/validation/param-utils.d.ts +5 -3
- package/dist/validation/param-utils.d.ts.map +1 -1
- package/dist/validation/param-utils.js +141 -0
- package/dist/validation/param-utils.js.map +1 -0
- package/dist/validation/protocol-common.js +300 -0
- package/dist/validation/protocol-common.js.map +1 -0
- package/dist/validation/protocols/_shared.d.ts.map +1 -1
- package/dist/validation/protocols/_shared.js +82 -0
- package/dist/validation/protocols/_shared.js.map +1 -0
- package/dist/validation/protocols/architecture-decision.js +31 -0
- package/dist/validation/protocols/architecture-decision.js.map +1 -0
- package/dist/validation/protocols/artifact-publish.js +28 -0
- package/dist/validation/protocols/artifact-publish.js.map +1 -0
- package/dist/validation/protocols/consensus.js +41 -0
- package/dist/validation/protocols/consensus.js.map +1 -0
- package/dist/validation/protocols/contribution.js +27 -0
- package/dist/validation/protocols/contribution.js.map +1 -0
- package/dist/validation/protocols/decomposition.js +28 -0
- package/dist/validation/protocols/decomposition.js.map +1 -0
- package/dist/validation/protocols/implementation.js +24 -0
- package/dist/validation/protocols/implementation.js.map +1 -0
- package/dist/validation/protocols/provenance.js +29 -0
- package/dist/validation/protocols/provenance.js.map +1 -0
- package/dist/validation/protocols/release.js +29 -0
- package/dist/validation/protocols/release.js.map +1 -0
- package/dist/validation/protocols/research.js +24 -0
- package/dist/validation/protocols/research.js.map +1 -0
- package/dist/validation/protocols/specification.js +27 -0
- package/dist/validation/protocols/specification.js.map +1 -0
- package/dist/validation/protocols/testing.js +30 -0
- package/dist/validation/protocols/testing.js.map +1 -0
- package/dist/validation/protocols/validation.js +30 -0
- package/dist/validation/protocols/validation.js.map +1 -0
- package/dist/validation/schema-integrity.js +170 -0
- package/dist/validation/schema-integrity.js.map +1 -0
- package/dist/validation/schema-validator.js +176 -0
- package/dist/validation/schema-validator.js.map +1 -0
- package/dist/validation/validate-ops.js +937 -0
- package/dist/validation/validate-ops.js.map +1 -0
- package/dist/validation/validation-rules.js +226 -0
- package/dist/validation/validation-rules.js.map +1 -0
- package/dist/validation/verification.js +321 -0
- package/dist/validation/verification.js.map +1 -0
- package/package.json +10 -8
- package/src/__tests__/paths-walkup.test.ts +305 -0
- package/src/__tests__/paths.test.ts +61 -17
- package/src/adapters/__tests__/manager.test.ts +0 -1
- package/src/codebase-map/analyzers/architecture.ts +0 -1
- package/src/conduit/__tests__/local-credential-flow.test.ts +20 -18
- package/src/conduit/__tests__/local-transport.test.ts +14 -12
- package/src/conduit/local-transport.ts +23 -13
- package/src/config.ts +0 -1
- package/src/errors.ts +24 -0
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.ts +2 -5
- package/src/hooks/handlers/session-hooks.ts +42 -0
- package/src/init.ts +1 -2
- package/src/internal.ts +67 -3
- package/src/lifecycle/cant/lifecycle-rcasd.cant +133 -0
- package/src/memory/__tests__/engine-compat.test.ts +2 -2
- package/src/memory/__tests__/pipeline-manifest-sqlite.test.ts +4 -4
- package/src/observability/__tests__/index.test.ts +4 -4
- package/src/observability/__tests__/log-filter.test.ts +4 -4
- package/src/output.ts +73 -75
- package/src/paths.ts +91 -14
- package/src/scaffold.ts +22 -3
- package/src/sessions/__tests__/session-grade.integration.test.ts +1 -1
- package/src/sessions/__tests__/session-grade.test.ts +2 -2
- package/src/skills/__tests__/dynamic-skill-generator.test.ts +0 -2
- package/src/skills/dynamic-skill-generator.ts +0 -2
- package/src/store/__tests__/agent-registry-accessor.test.ts +807 -0
- package/src/store/__tests__/api-key-kdf.test.ts +113 -0
- package/src/store/__tests__/cleanup-legacy.test.ts +268 -0
- package/src/store/__tests__/conduit-sqlite.test.ts +413 -0
- package/src/store/__tests__/database-topology-integration.test.ts +504 -0
- package/src/store/__tests__/global-salt.test.ts +195 -0
- package/src/store/__tests__/migrate-signaldock-to-conduit.test.ts +715 -0
- package/src/store/__tests__/signaldock-sqlite.test.ts +652 -0
- package/src/store/__tests__/sqlite-backup-global.test.ts +585 -0
- package/src/store/__tests__/sqlite-backup.test.ts +122 -10
- package/src/store/__tests__/t310-integration.test.ts +1150 -0
- package/src/store/agent-registry-accessor.ts +847 -140
- package/src/store/api-key-kdf.ts +104 -0
- package/src/store/cleanup-legacy.ts +208 -0
- package/src/store/conduit-sqlite.ts +655 -0
- package/src/store/global-salt.ts +175 -0
- package/src/store/index.ts +7 -0
- package/src/store/migrate-signaldock-to-conduit.ts +669 -0
- package/src/store/nexus-sqlite.ts +32 -3
- package/src/store/signaldock-sqlite.ts +431 -254
- package/src/store/sqlite-backup.ts +544 -38
- package/src/store/sqlite.ts +19 -3
- package/src/system/__tests__/backup.test.ts +237 -0
- package/src/system/backup.ts +186 -26
- package/src/system/runtime.ts +4 -6
- package/src/tasks/__tests__/error-hints.test.ts +256 -0
- package/src/tasks/add.ts +99 -9
- package/src/tasks/complete.ts +4 -1
- package/src/tasks/find.ts +4 -1
- package/src/tasks/labels.ts +4 -1
- package/src/tasks/relates.ts +16 -4
- package/src/tasks/show.ts +4 -1
- package/src/tasks/update.ts +32 -3
- package/src/validation/__tests__/error-hints.test.ts +97 -0
- package/src/validation/engine.ts +16 -1
- package/src/validation/param-utils.ts +10 -7
- package/src/validation/protocols/_shared.ts +14 -6
- package/src/validation/protocols/cant/architecture-decision.cant +80 -0
- package/src/validation/protocols/cant/artifact-publish.cant +95 -0
- package/src/validation/protocols/cant/consensus.cant +74 -0
- package/src/validation/protocols/cant/contribution.cant +82 -0
- package/src/validation/protocols/cant/decomposition.cant +92 -0
- package/src/validation/protocols/cant/implementation.cant +67 -0
- package/src/validation/protocols/cant/provenance.cant +88 -0
- package/src/validation/protocols/cant/release.cant +96 -0
- package/src/validation/protocols/cant/research.cant +66 -0
- package/src/validation/protocols/cant/specification.cant +67 -0
- package/src/validation/protocols/cant/testing.cant +88 -0
- package/src/validation/protocols/cant/validation.cant +65 -0
- package/src/validation/protocols/protocols-markdown/decomposition.md +0 -4
- package/templates/cleo-gitignore +19 -3
- package/templates/config.template.json +0 -1
- package/templates/global-config.template.json +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drizzle ORM schema for WarpChain storage in tasks.db.
|
|
3
|
+
*
|
|
4
|
+
* Tables: warp_chains, warp_chain_instances
|
|
5
|
+
* Stores chain definitions and runtime instances bound to epics.
|
|
6
|
+
*
|
|
7
|
+
* @task T5403
|
|
8
|
+
*/
|
|
9
|
+
import { sql } from 'drizzle-orm';
|
|
10
|
+
import { index, integer, sqliteTable, text } from 'drizzle-orm/sqlite-core';
|
|
11
|
+
/** Chain instance status values. */
|
|
12
|
+
export const WARP_CHAIN_INSTANCE_STATUSES = [
|
|
13
|
+
'pending',
|
|
14
|
+
'active',
|
|
15
|
+
'completed',
|
|
16
|
+
'failed',
|
|
17
|
+
'cancelled',
|
|
18
|
+
];
|
|
19
|
+
// === WARP_CHAINS TABLE ===
|
|
20
|
+
/** Stored WarpChain definitions (serialized as JSON). */
|
|
21
|
+
export const warpChains = sqliteTable('warp_chains', {
|
|
22
|
+
id: text('id').primaryKey(),
|
|
23
|
+
name: text('name').notNull(),
|
|
24
|
+
version: text('version').notNull(),
|
|
25
|
+
description: text('description'),
|
|
26
|
+
definition: text('definition').notNull(), // JSON-serialized WarpChain
|
|
27
|
+
validated: integer('validated', { mode: 'boolean' }).default(false),
|
|
28
|
+
createdAt: text('created_at').default(sql `(datetime('now'))`),
|
|
29
|
+
updatedAt: text('updated_at').default(sql `(datetime('now'))`),
|
|
30
|
+
}, (table) => [index('idx_warp_chains_name').on(table.name)]);
|
|
31
|
+
// === WARP_CHAIN_INSTANCES TABLE ===
|
|
32
|
+
/** Runtime chain instances bound to epics. */
|
|
33
|
+
export const warpChainInstances = sqliteTable('warp_chain_instances', {
|
|
34
|
+
id: text('id').primaryKey(),
|
|
35
|
+
chainId: text('chain_id')
|
|
36
|
+
.notNull()
|
|
37
|
+
.references(() => warpChains.id, { onDelete: 'cascade' }),
|
|
38
|
+
epicId: text('epic_id').notNull(),
|
|
39
|
+
variables: text('variables'), // JSON
|
|
40
|
+
stageToTask: text('stage_to_task'), // JSON
|
|
41
|
+
status: text('status').notNull().default('pending'),
|
|
42
|
+
currentStage: text('current_stage'),
|
|
43
|
+
gateResults: text('gate_results'), // JSON array of GateResult
|
|
44
|
+
createdAt: text('created_at').default(sql `(datetime('now'))`),
|
|
45
|
+
updatedAt: text('updated_at').default(sql `(datetime('now'))`),
|
|
46
|
+
}, (table) => [
|
|
47
|
+
index('idx_warp_instances_chain').on(table.chainId),
|
|
48
|
+
index('idx_warp_instances_epic').on(table.epicId),
|
|
49
|
+
index('idx_warp_instances_status').on(table.status),
|
|
50
|
+
]);
|
|
51
|
+
//# sourceMappingURL=chain-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-schema.js","sourceRoot":"","sources":["../../src/store/chain-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE5E,oCAAoC;AACpC,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,WAAW;CACH,CAAC;AAEX,4BAA4B;AAE5B,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CACnC,aAAa,EACb;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;IAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IAClC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;IAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,4BAA4B;IACtE,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACnE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA,mBAAmB,CAAC;IAC7D,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA,mBAAmB,CAAC;CAC9D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAC1D,CAAC;AAEF,qCAAqC;AAErC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAC3C,sBAAsB,EACtB;IACE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE;IAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;SACtB,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IACjC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO;IACrC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO;IAC3C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACnD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC;IACnC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,2BAA2B;IAC9D,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA,mBAAmB,CAAC;IAC7D,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA,mBAAmB,CAAC;CAC9D,EACD,CAAC,KAAK,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACnD,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IACjD,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;CACpD,CACF,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotent cleanup of legacy and stray CLEO database files.
|
|
3
|
+
*
|
|
4
|
+
* Provides two independent cleanup functions:
|
|
5
|
+
*
|
|
6
|
+
* 1. {@link detectAndRemoveLegacyGlobalFiles} — removes stale files left at
|
|
7
|
+
* the global CLEO home directory (`getCleoHome()`) by pre-v2026.4.11
|
|
8
|
+
* naming migrations. Safe to call on repeat invocations — existence-checks
|
|
9
|
+
* guard every deletion.
|
|
10
|
+
*
|
|
11
|
+
* Files targeted (see ADR-036 §Decision/Global-Tier table):
|
|
12
|
+
* - workspace.db (pre-nexus naming relic)
|
|
13
|
+
* - workspace.db.bak-pre-rename (safety copy from a long-landed rename)
|
|
14
|
+
* - workspace.db-shm (SQLite shared-memory sidecar of workspace.db)
|
|
15
|
+
* - workspace.db-shm-wal (SQLite WAL sidecar of workspace.db)
|
|
16
|
+
* - nexus-pre-cleo.db.bak (pre-CLEO backup of nexus — migration complete)
|
|
17
|
+
*
|
|
18
|
+
* Live files (nexus.db, signaldock.db, machine-key, config.json, etc.) are
|
|
19
|
+
* NEVER touched. The function only acts on the explicit LEGACY_FILES list.
|
|
20
|
+
*
|
|
21
|
+
* 2. {@link detectAndRemoveStrayProjectNexus} — removes a stray
|
|
22
|
+
* `{projectRoot}/.cleo/nexus.db` that violates ADR-036's global-only
|
|
23
|
+
* nexus contract. Some pre-v2026.4.11 code path accidentally created a
|
|
24
|
+
* zero-byte nexus.db at project tier; this cleans it up on first run.
|
|
25
|
+
*
|
|
26
|
+
* @task T304
|
|
27
|
+
* @task T307
|
|
28
|
+
* @epic T299
|
|
29
|
+
* @adr ADR-036
|
|
30
|
+
* @why v2026.4.10 left workspace.db and pre-cleo backups at global tier;
|
|
31
|
+
* ADR-036 mandates their deletion to eliminate diagnostic confusion and
|
|
32
|
+
* false impressions of active legacy databases.
|
|
33
|
+
*/
|
|
34
|
+
/** Result returned by {@link detectAndRemoveLegacyGlobalFiles}. */
|
|
35
|
+
export interface LegacyCleanupResult {
|
|
36
|
+
/** Filenames (basename only) that were successfully deleted. */
|
|
37
|
+
removed: string[];
|
|
38
|
+
/** Files that could not be deleted, with error messages. */
|
|
39
|
+
errors: Array<{
|
|
40
|
+
file: string;
|
|
41
|
+
error: string;
|
|
42
|
+
}>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Detect and remove legacy global-tier files from the CLEO home directory.
|
|
46
|
+
*
|
|
47
|
+
* Idempotent: safe to call when some or all files are already absent. Each
|
|
48
|
+
* file is individually existence-checked before attempting deletion. Failures
|
|
49
|
+
* on individual files are captured in `errors` rather than thrown, so the
|
|
50
|
+
* caller receives a complete picture of what was (and was not) cleaned up.
|
|
51
|
+
*
|
|
52
|
+
* Logs each successful deletion at `info` level and each failure at `warn`
|
|
53
|
+
* level via the shared pino logger.
|
|
54
|
+
*
|
|
55
|
+
* @param cleoHomeOverride - Optional directory override for tests. When
|
|
56
|
+
* omitted the canonical `getCleoHome()` path is used. Prefer passing this
|
|
57
|
+
* parameter in test harnesses rather than mutating `CLEO_HOME` environment
|
|
58
|
+
* variables, as it avoids global state contamination between test runs.
|
|
59
|
+
* @returns A {@link LegacyCleanupResult} describing what was removed and any
|
|
60
|
+
* errors encountered.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // Production usage (runs against real global home)
|
|
65
|
+
* const result = detectAndRemoveLegacyGlobalFiles();
|
|
66
|
+
* if (result.removed.length > 0) {
|
|
67
|
+
* // Legacy files were cleaned up
|
|
68
|
+
* }
|
|
69
|
+
*
|
|
70
|
+
* // Test usage (runs against tmp directory)
|
|
71
|
+
* const result = detectAndRemoveLegacyGlobalFiles('/tmp/fake-cleo-home');
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* @task T304
|
|
75
|
+
* @epic T299
|
|
76
|
+
*/
|
|
77
|
+
export declare function detectAndRemoveLegacyGlobalFiles(cleoHomeOverride?: string): LegacyCleanupResult;
|
|
78
|
+
/** Result returned by {@link detectAndRemoveStrayProjectNexus}. */
|
|
79
|
+
export interface StrayNexusCleanupResult {
|
|
80
|
+
/** Whether a stray nexus.db was found and deleted. */
|
|
81
|
+
removed: boolean;
|
|
82
|
+
/** Absolute path that was checked (and removed if `removed` is true). */
|
|
83
|
+
path: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Detect and remove a stray project-tier `.cleo/nexus.db` file.
|
|
87
|
+
*
|
|
88
|
+
* ADR-036 declares nexus.db as **global-only** — it lives exclusively under
|
|
89
|
+
* `getCleoHome()` (e.g. `~/.local/share/cleo/nexus.db` on Linux). A
|
|
90
|
+
* zero-byte stray was discovered at `/mnt/projects/cleocode/.cleo/nexus.db`
|
|
91
|
+
* (created 2026-03-31), likely produced by an early `cleo init` / `cleo
|
|
92
|
+
* nexus init` invocation that ran before the canonical path was fully wired
|
|
93
|
+
* through `getNexusDbPath()`.
|
|
94
|
+
*
|
|
95
|
+
* This function is idempotent: calling it when no stray file exists is a
|
|
96
|
+
* no-op. It is designed to be called once per CLI startup (alongside
|
|
97
|
+
* {@link detectAndRemoveLegacyGlobalFiles}) so that users who upgrade to
|
|
98
|
+
* v2026.4.11 have the stray silently cleaned up on the first `cleo` run.
|
|
99
|
+
*
|
|
100
|
+
* @param projectRoot - Absolute path to the project root directory. When
|
|
101
|
+
* omitted the caller is responsible for supplying the current project
|
|
102
|
+
* root from `getProjectRoot()`. An override parameter is accepted here to
|
|
103
|
+
* keep tests hermetic (avoids reading live `process.cwd()` state).
|
|
104
|
+
* @returns A {@link StrayNexusCleanupResult} indicating whether a file was
|
|
105
|
+
* removed and the absolute path that was checked.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* // Production usage
|
|
110
|
+
* import { getProjectRoot } from '../paths.js';
|
|
111
|
+
* const result = detectAndRemoveStrayProjectNexus(getProjectRoot());
|
|
112
|
+
* if (result.removed) {
|
|
113
|
+
* // Stray project-tier nexus.db has been cleaned up
|
|
114
|
+
* }
|
|
115
|
+
*
|
|
116
|
+
* // Test usage (hermetic)
|
|
117
|
+
* const result = detectAndRemoveStrayProjectNexus('/tmp/fake-project-root');
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* @task T307
|
|
121
|
+
* @epic T299
|
|
122
|
+
* @adr ADR-036
|
|
123
|
+
* @why ADR-036 §Decision/Global-Tier: nexus.db is global-only. A stray
|
|
124
|
+
* project-tier copy was created by pre-v2026.4.11 code and must be removed
|
|
125
|
+
* to prevent diagnostic confusion and guard against future regressions.
|
|
126
|
+
*/
|
|
127
|
+
export declare function detectAndRemoveStrayProjectNexus(projectRoot: string): StrayNexusCleanupResult;
|
|
128
|
+
//# sourceMappingURL=cleanup-legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup-legacy.d.ts","sourceRoot":"","sources":["../../src/store/cleanup-legacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA6BH,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4DAA4D;IAC5D,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,gCAAgC,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAsB/F;AAMD,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAuB7F"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Idempotent cleanup of legacy and stray CLEO database files.
|
|
3
|
+
*
|
|
4
|
+
* Provides two independent cleanup functions:
|
|
5
|
+
*
|
|
6
|
+
* 1. {@link detectAndRemoveLegacyGlobalFiles} — removes stale files left at
|
|
7
|
+
* the global CLEO home directory (`getCleoHome()`) by pre-v2026.4.11
|
|
8
|
+
* naming migrations. Safe to call on repeat invocations — existence-checks
|
|
9
|
+
* guard every deletion.
|
|
10
|
+
*
|
|
11
|
+
* Files targeted (see ADR-036 §Decision/Global-Tier table):
|
|
12
|
+
* - workspace.db (pre-nexus naming relic)
|
|
13
|
+
* - workspace.db.bak-pre-rename (safety copy from a long-landed rename)
|
|
14
|
+
* - workspace.db-shm (SQLite shared-memory sidecar of workspace.db)
|
|
15
|
+
* - workspace.db-shm-wal (SQLite WAL sidecar of workspace.db)
|
|
16
|
+
* - nexus-pre-cleo.db.bak (pre-CLEO backup of nexus — migration complete)
|
|
17
|
+
*
|
|
18
|
+
* Live files (nexus.db, signaldock.db, machine-key, config.json, etc.) are
|
|
19
|
+
* NEVER touched. The function only acts on the explicit LEGACY_FILES list.
|
|
20
|
+
*
|
|
21
|
+
* 2. {@link detectAndRemoveStrayProjectNexus} — removes a stray
|
|
22
|
+
* `{projectRoot}/.cleo/nexus.db` that violates ADR-036's global-only
|
|
23
|
+
* nexus contract. Some pre-v2026.4.11 code path accidentally created a
|
|
24
|
+
* zero-byte nexus.db at project tier; this cleans it up on first run.
|
|
25
|
+
*
|
|
26
|
+
* @task T304
|
|
27
|
+
* @task T307
|
|
28
|
+
* @epic T299
|
|
29
|
+
* @adr ADR-036
|
|
30
|
+
* @why v2026.4.10 left workspace.db and pre-cleo backups at global tier;
|
|
31
|
+
* ADR-036 mandates their deletion to eliminate diagnostic confusion and
|
|
32
|
+
* false impressions of active legacy databases.
|
|
33
|
+
*/
|
|
34
|
+
import fs from 'node:fs';
|
|
35
|
+
import path from 'node:path';
|
|
36
|
+
import { getLogger } from '../logger.js';
|
|
37
|
+
import { getCleoHome } from '../paths.js';
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Constants
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
/**
|
|
42
|
+
* Exhaustive list of legacy filenames that MUST be removed from the global
|
|
43
|
+
* CLEO home directory. No other files are touched.
|
|
44
|
+
*
|
|
45
|
+
* @task T304
|
|
46
|
+
*/
|
|
47
|
+
const LEGACY_FILES = [
|
|
48
|
+
'workspace.db',
|
|
49
|
+
'workspace.db.bak-pre-rename',
|
|
50
|
+
'workspace.db-shm',
|
|
51
|
+
'workspace.db-shm-wal',
|
|
52
|
+
'nexus-pre-cleo.db.bak',
|
|
53
|
+
];
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
// Implementation
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
/**
|
|
58
|
+
* Detect and remove legacy global-tier files from the CLEO home directory.
|
|
59
|
+
*
|
|
60
|
+
* Idempotent: safe to call when some or all files are already absent. Each
|
|
61
|
+
* file is individually existence-checked before attempting deletion. Failures
|
|
62
|
+
* on individual files are captured in `errors` rather than thrown, so the
|
|
63
|
+
* caller receives a complete picture of what was (and was not) cleaned up.
|
|
64
|
+
*
|
|
65
|
+
* Logs each successful deletion at `info` level and each failure at `warn`
|
|
66
|
+
* level via the shared pino logger.
|
|
67
|
+
*
|
|
68
|
+
* @param cleoHomeOverride - Optional directory override for tests. When
|
|
69
|
+
* omitted the canonical `getCleoHome()` path is used. Prefer passing this
|
|
70
|
+
* parameter in test harnesses rather than mutating `CLEO_HOME` environment
|
|
71
|
+
* variables, as it avoids global state contamination between test runs.
|
|
72
|
+
* @returns A {@link LegacyCleanupResult} describing what was removed and any
|
|
73
|
+
* errors encountered.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* // Production usage (runs against real global home)
|
|
78
|
+
* const result = detectAndRemoveLegacyGlobalFiles();
|
|
79
|
+
* if (result.removed.length > 0) {
|
|
80
|
+
* // Legacy files were cleaned up
|
|
81
|
+
* }
|
|
82
|
+
*
|
|
83
|
+
* // Test usage (runs against tmp directory)
|
|
84
|
+
* const result = detectAndRemoveLegacyGlobalFiles('/tmp/fake-cleo-home');
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @task T304
|
|
88
|
+
* @epic T299
|
|
89
|
+
*/
|
|
90
|
+
export function detectAndRemoveLegacyGlobalFiles(cleoHomeOverride) {
|
|
91
|
+
const log = getLogger('cleanup-legacy');
|
|
92
|
+
const cleoHome = cleoHomeOverride ?? getCleoHome();
|
|
93
|
+
const removed = [];
|
|
94
|
+
const errors = [];
|
|
95
|
+
for (const fileName of LEGACY_FILES) {
|
|
96
|
+
const fullPath = path.join(cleoHome, fileName);
|
|
97
|
+
try {
|
|
98
|
+
if (fs.existsSync(fullPath)) {
|
|
99
|
+
fs.unlinkSync(fullPath);
|
|
100
|
+
removed.push(fileName);
|
|
101
|
+
log.info({ file: fullPath }, 'Removed legacy global file');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
106
|
+
errors.push({ file: fileName, error: message });
|
|
107
|
+
log.warn({ file: fullPath, error: message }, 'Failed to remove legacy global file');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { removed, errors };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Detect and remove a stray project-tier `.cleo/nexus.db` file.
|
|
114
|
+
*
|
|
115
|
+
* ADR-036 declares nexus.db as **global-only** — it lives exclusively under
|
|
116
|
+
* `getCleoHome()` (e.g. `~/.local/share/cleo/nexus.db` on Linux). A
|
|
117
|
+
* zero-byte stray was discovered at `/mnt/projects/cleocode/.cleo/nexus.db`
|
|
118
|
+
* (created 2026-03-31), likely produced by an early `cleo init` / `cleo
|
|
119
|
+
* nexus init` invocation that ran before the canonical path was fully wired
|
|
120
|
+
* through `getNexusDbPath()`.
|
|
121
|
+
*
|
|
122
|
+
* This function is idempotent: calling it when no stray file exists is a
|
|
123
|
+
* no-op. It is designed to be called once per CLI startup (alongside
|
|
124
|
+
* {@link detectAndRemoveLegacyGlobalFiles}) so that users who upgrade to
|
|
125
|
+
* v2026.4.11 have the stray silently cleaned up on the first `cleo` run.
|
|
126
|
+
*
|
|
127
|
+
* @param projectRoot - Absolute path to the project root directory. When
|
|
128
|
+
* omitted the caller is responsible for supplying the current project
|
|
129
|
+
* root from `getProjectRoot()`. An override parameter is accepted here to
|
|
130
|
+
* keep tests hermetic (avoids reading live `process.cwd()` state).
|
|
131
|
+
* @returns A {@link StrayNexusCleanupResult} indicating whether a file was
|
|
132
|
+
* removed and the absolute path that was checked.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* // Production usage
|
|
137
|
+
* import { getProjectRoot } from '../paths.js';
|
|
138
|
+
* const result = detectAndRemoveStrayProjectNexus(getProjectRoot());
|
|
139
|
+
* if (result.removed) {
|
|
140
|
+
* // Stray project-tier nexus.db has been cleaned up
|
|
141
|
+
* }
|
|
142
|
+
*
|
|
143
|
+
* // Test usage (hermetic)
|
|
144
|
+
* const result = detectAndRemoveStrayProjectNexus('/tmp/fake-project-root');
|
|
145
|
+
* ```
|
|
146
|
+
*
|
|
147
|
+
* @task T307
|
|
148
|
+
* @epic T299
|
|
149
|
+
* @adr ADR-036
|
|
150
|
+
* @why ADR-036 §Decision/Global-Tier: nexus.db is global-only. A stray
|
|
151
|
+
* project-tier copy was created by pre-v2026.4.11 code and must be removed
|
|
152
|
+
* to prevent diagnostic confusion and guard against future regressions.
|
|
153
|
+
*/
|
|
154
|
+
export function detectAndRemoveStrayProjectNexus(projectRoot) {
|
|
155
|
+
const log = getLogger('cleanup-legacy');
|
|
156
|
+
const strayPath = path.join(projectRoot, '.cleo', 'nexus.db');
|
|
157
|
+
if (fs.existsSync(strayPath)) {
|
|
158
|
+
try {
|
|
159
|
+
fs.unlinkSync(strayPath);
|
|
160
|
+
log.warn({ path: strayPath }, 'Removed stray project-tier nexus.db (violates ADR-036 global-only contract)');
|
|
161
|
+
return { removed: true, path: strayPath };
|
|
162
|
+
}
|
|
163
|
+
catch (err) {
|
|
164
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
165
|
+
log.warn({ path: strayPath, error: message }, 'Failed to remove stray project-tier nexus.db — manual deletion may be required');
|
|
166
|
+
return { removed: false, path: strayPath };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return { removed: false, path: strayPath };
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=cleanup-legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup-legacy.js","sourceRoot":"","sources":["../../src/store/cleanup-legacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,YAAY,GAAsB;IACtC,cAAc;IACd,6BAA6B;IAC7B,kBAAkB;IAClB,sBAAsB;IACtB,uBAAuB;CACf,CAAC;AAcX,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,gCAAgC,CAAC,gBAAyB;IACxE,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,gBAAgB,IAAI,WAAW,EAAE,CAAC;IACnD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAA2C,EAAE,CAAC;IAE1D,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,4BAA4B,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,gCAAgC,CAAC,WAAmB;IAClE,MAAM,GAAG,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE9D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzB,GAAG,CAAC,IAAI,CACN,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB,6EAA6E,CAC9E,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,GAAG,CAAC,IAAI,CACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EACnC,gFAAgF,CACjF,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite store for conduit.db — project-tier messaging and agent-ref database.
|
|
3
|
+
*
|
|
4
|
+
* Creates and manages .cleo/conduit.db using node:sqlite directly.
|
|
5
|
+
* Applies the full conduit.db DDL (from spec §2.1) to bootstrap all
|
|
6
|
+
* project-local messaging tables and the project_agent_refs override table.
|
|
7
|
+
*
|
|
8
|
+
* Architecture (ADR-037):
|
|
9
|
+
* conduit.db — project-scoped (this module) — messaging, delivery, attachments,
|
|
10
|
+
* project_agent_refs
|
|
11
|
+
* signaldock.db — global-scoped (T346) — agents, capabilities, cloud-sync tables
|
|
12
|
+
*
|
|
13
|
+
* CRUD accessors for project_agent_refs land in T353.
|
|
14
|
+
* Cross-DB join accessor changes land in T355.
|
|
15
|
+
* Migration executor from signaldock.db → conduit.db lands in T358.
|
|
16
|
+
*
|
|
17
|
+
* @task T344
|
|
18
|
+
* @epic T310
|
|
19
|
+
* @why ADR-037 splits single signaldock.db into project-tier conduit.db
|
|
20
|
+
* (this module) and global-tier signaldock.db (T346). This module owns
|
|
21
|
+
* the project-tier path helper, initializer, schema DDL, and health check.
|
|
22
|
+
* @what Path helper, database initializer, schema applier, health check, and
|
|
23
|
+
* native DB accessor for project-local tables. No CRUD, no migrations.
|
|
24
|
+
*/
|
|
25
|
+
import type { DatabaseSync as _DatabaseSyncType } from 'node:sqlite';
|
|
26
|
+
import type { ProjectAgentRef } from '@cleocode/contracts';
|
|
27
|
+
type DatabaseSync = _DatabaseSyncType;
|
|
28
|
+
declare const DatabaseSync: new (path: import("fs").PathLike, options?: import("node:sqlite").DatabaseSyncOptions | undefined) => DatabaseSync;
|
|
29
|
+
/** Database file name within .cleo/ directory. */
|
|
30
|
+
export declare const CONDUIT_DB_FILENAME = "conduit.db";
|
|
31
|
+
/** Schema version for conduit.db — updated when DDL changes. */
|
|
32
|
+
export declare const CONDUIT_SCHEMA_VERSION = "2026.4.12";
|
|
33
|
+
/**
|
|
34
|
+
* Returns the project-tier conduit.db path.
|
|
35
|
+
*
|
|
36
|
+
* Always resolves to `<projectRoot>/.cleo/conduit.db`. The caller is
|
|
37
|
+
* responsible for supplying the absolute project root (e.g. via
|
|
38
|
+
* `getProjectRoot()` from `../paths.js`).
|
|
39
|
+
*
|
|
40
|
+
* @task T344
|
|
41
|
+
* @epic T310
|
|
42
|
+
* @param projectRoot - Absolute path to the project root directory.
|
|
43
|
+
* @returns Absolute path to `<projectRoot>/.cleo/conduit.db`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getConduitDbPath(projectRoot: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Applies the conduit.db schema idempotently using CREATE TABLE IF NOT EXISTS.
|
|
48
|
+
*
|
|
49
|
+
* Exposed for the migration executor (T358) which needs to apply the schema
|
|
50
|
+
* to a newly created conduit.db during the signaldock.db → conduit.db
|
|
51
|
+
* migration. Also called internally by `ensureConduitDb` on every open.
|
|
52
|
+
*
|
|
53
|
+
* @task T344
|
|
54
|
+
* @epic T310
|
|
55
|
+
* @param db - An open node:sqlite DatabaseSync instance.
|
|
56
|
+
*/
|
|
57
|
+
export declare function applyConduitSchema(db: DatabaseSync): void;
|
|
58
|
+
/**
|
|
59
|
+
* Opens or creates conduit.db for the given project root.
|
|
60
|
+
*
|
|
61
|
+
* On first call for a given projectRoot:
|
|
62
|
+
* 1. Creates `<projectRoot>/.cleo/` directory if missing.
|
|
63
|
+
* 2. Opens (or creates) the SQLite file.
|
|
64
|
+
* 3. Sets WAL mode and enables foreign keys.
|
|
65
|
+
* 4. Applies all DDL via `applyConduitSchema` (idempotent).
|
|
66
|
+
* 5. Records `schema_version` in `_conduit_meta`.
|
|
67
|
+
* 6. Records the initial migration in `_conduit_migrations`.
|
|
68
|
+
* 7. Stores the open handle in the module singleton.
|
|
69
|
+
*
|
|
70
|
+
* On subsequent calls the existing singleton is returned immediately if the
|
|
71
|
+
* resolved path matches; otherwise the previous handle is closed and a new
|
|
72
|
+
* one is opened (test-isolation safety).
|
|
73
|
+
*
|
|
74
|
+
* Caller MUST call `closeConduitDb()` when done to release the handle.
|
|
75
|
+
*
|
|
76
|
+
* @task T344
|
|
77
|
+
* @epic T310
|
|
78
|
+
* @param projectRoot - Absolute path to the project root directory.
|
|
79
|
+
* @returns Object with `action` (`'created'` | `'exists'`) and `path`.
|
|
80
|
+
*/
|
|
81
|
+
export declare function ensureConduitDb(projectRoot: string): {
|
|
82
|
+
action: 'created' | 'exists';
|
|
83
|
+
path: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Returns the live node:sqlite DatabaseSync handle for conduit.db.
|
|
87
|
+
*
|
|
88
|
+
* Returns `null` if `ensureConduitDb` has not been called yet for this
|
|
89
|
+
* process, or if `closeConduitDb` has been called since the last open.
|
|
90
|
+
*
|
|
91
|
+
* @task T344
|
|
92
|
+
* @epic T310
|
|
93
|
+
* @returns The open DatabaseSync instance, or `null` if not initialized.
|
|
94
|
+
*/
|
|
95
|
+
export declare function getConduitNativeDb(): DatabaseSync | null;
|
|
96
|
+
/**
|
|
97
|
+
* Closes the conduit.db connection and resets the module singleton.
|
|
98
|
+
*
|
|
99
|
+
* Safe to call multiple times. No-op if the database is already closed.
|
|
100
|
+
*
|
|
101
|
+
* @task T344
|
|
102
|
+
* @epic T310
|
|
103
|
+
*/
|
|
104
|
+
export declare function closeConduitDb(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Attaches an agent to the current project. If a row exists with enabled=0,
|
|
107
|
+
* re-enables it (update attached_at timestamp). If a row exists with enabled=1,
|
|
108
|
+
* no-op. Inserts a new row otherwise.
|
|
109
|
+
*
|
|
110
|
+
* @param db - conduit.db handle (from ensureConduitDb).
|
|
111
|
+
* @param agentId - Global signaldock.db:agents.id (soft FK, not validated here).
|
|
112
|
+
* @param opts - Optional role and capabilities override.
|
|
113
|
+
* @task T353
|
|
114
|
+
* @epic T310
|
|
115
|
+
*/
|
|
116
|
+
export declare function attachAgentToProject(db: DatabaseSync, agentId: string, opts?: {
|
|
117
|
+
role?: string | null;
|
|
118
|
+
capabilitiesOverride?: string | null;
|
|
119
|
+
}): void;
|
|
120
|
+
/**
|
|
121
|
+
* Detaches an agent from the current project by setting enabled=0.
|
|
122
|
+
* Does NOT delete the row (preserves attachment history for audit).
|
|
123
|
+
*
|
|
124
|
+
* @param db - conduit.db handle (from ensureConduitDb).
|
|
125
|
+
* @param agentId - Agent ID to detach.
|
|
126
|
+
* @task T353
|
|
127
|
+
* @epic T310
|
|
128
|
+
*/
|
|
129
|
+
export declare function detachAgentFromProject(db: DatabaseSync, agentId: string): void;
|
|
130
|
+
/**
|
|
131
|
+
* Lists project_agent_refs rows. By default returns only enabled=1 rows.
|
|
132
|
+
* Pass enabledOnly=false to return all rows regardless of enabled state.
|
|
133
|
+
*
|
|
134
|
+
* @param db - conduit.db handle (from ensureConduitDb).
|
|
135
|
+
* @param opts - Filter options. Defaults to `{ enabledOnly: true }`.
|
|
136
|
+
* @returns Array of ProjectAgentRef rows ordered by attached_at DESC.
|
|
137
|
+
* @task T353
|
|
138
|
+
* @epic T310
|
|
139
|
+
*/
|
|
140
|
+
export declare function listProjectAgentRefs(db: DatabaseSync, opts?: {
|
|
141
|
+
enabledOnly?: boolean;
|
|
142
|
+
}): ProjectAgentRef[];
|
|
143
|
+
/**
|
|
144
|
+
* Returns a single project_agent_refs row by agentId, or null if not found.
|
|
145
|
+
*
|
|
146
|
+
* @param db - conduit.db handle (from ensureConduitDb).
|
|
147
|
+
* @param agentId - Agent ID to look up.
|
|
148
|
+
* @returns The ProjectAgentRef row, or null if the agent is not attached.
|
|
149
|
+
* @task T353
|
|
150
|
+
* @epic T310
|
|
151
|
+
*/
|
|
152
|
+
export declare function getProjectAgentRef(db: DatabaseSync, agentId: string): ProjectAgentRef | null;
|
|
153
|
+
/**
|
|
154
|
+
* Updates the last_used_at timestamp for an agent to now.
|
|
155
|
+
* No-op if the agent_id does not exist in project_agent_refs.
|
|
156
|
+
*
|
|
157
|
+
* @param db - conduit.db handle (from ensureConduitDb).
|
|
158
|
+
* @param agentId - Agent ID to update.
|
|
159
|
+
* @task T353
|
|
160
|
+
* @epic T310
|
|
161
|
+
*/
|
|
162
|
+
export declare function updateProjectAgentLastUsed(db: DatabaseSync, agentId: string): void;
|
|
163
|
+
/**
|
|
164
|
+
* Checks conduit.db health — table count, WAL mode, schema version, and
|
|
165
|
+
* foreign keys status.
|
|
166
|
+
*
|
|
167
|
+
* Used by `cleo doctor` to verify conduit.db integrity. Does NOT require
|
|
168
|
+
* `ensureConduitDb` to have been called; opens and closes the DB internally.
|
|
169
|
+
*
|
|
170
|
+
* @task T344
|
|
171
|
+
* @epic T310
|
|
172
|
+
* @param projectRoot - Absolute path to the project root directory.
|
|
173
|
+
* @returns Health report object. `exists: false` when conduit.db is absent.
|
|
174
|
+
*/
|
|
175
|
+
export declare function checkConduitDbHealth(projectRoot: string): {
|
|
176
|
+
exists: boolean;
|
|
177
|
+
path: string;
|
|
178
|
+
tableCount: number;
|
|
179
|
+
walMode: boolean;
|
|
180
|
+
schemaVersion: string | null;
|
|
181
|
+
foreignKeysEnabled: boolean;
|
|
182
|
+
};
|
|
183
|
+
export {};
|
|
184
|
+
//# sourceMappingURL=conduit-sqlite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conduit-sqlite.d.ts","sourceRoot":"","sources":["../../src/store/conduit-sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,OAAO,KAAK,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,KAAK,YAAY,GAAG,iBAAiB,CAAC;AACtC,QAAA,MAAQ,YAAY,wGAC8D,YACjF,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AA+PlD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG;IACpD,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CA0DA;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,IAAI,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAYrC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACpE,IAAI,CAWN;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,YAAY,EAChB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,eAAe,EAAE,CAyBnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAyB5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKlF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CA8CA"}
|