@cleocode/core 2026.3.76 → 2026.4.2
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/agent-schema.d.ts.map +1 -1
- package/dist/audit.d.ts +1 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/bootstrap.d.ts +2 -2
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/caamp/adapter.d.ts +6 -49
- package/dist/caamp/adapter.d.ts.map +1 -1
- package/dist/caamp/index.d.ts +2 -2
- package/dist/caamp/index.d.ts.map +1 -1
- package/dist/code/index.d.ts +10 -0
- package/dist/code/index.d.ts.map +1 -0
- package/dist/code/outline.d.ts +51 -0
- package/dist/code/outline.d.ts.map +1 -0
- package/dist/code/parser.d.ts +32 -0
- package/dist/code/parser.d.ts.map +1 -0
- package/dist/code/search.d.ts +42 -0
- package/dist/code/search.d.ts.map +1 -0
- package/dist/code/unfold.d.ts +44 -0
- package/dist/code/unfold.d.ts.map +1 -0
- package/dist/compliance/protocol-enforcement.d.ts +1 -1
- package/dist/compliance/protocol-rules.d.ts +1 -1
- package/dist/compliance/protocol-types.d.ts +2 -3
- package/dist/compliance/protocol-types.d.ts.map +1 -1
- package/dist/conduit/conduit-client.d.ts +14 -0
- package/dist/conduit/conduit-client.d.ts.map +1 -1
- package/dist/conduit/factory.d.ts +11 -1
- package/dist/conduit/factory.d.ts.map +1 -1
- package/dist/conduit/http-transport.d.ts +17 -5
- package/dist/conduit/http-transport.d.ts.map +1 -1
- package/dist/conduit/index.d.ts +5 -2
- package/dist/conduit/index.d.ts.map +1 -1
- package/dist/conduit/local-transport.d.ts +91 -0
- package/dist/conduit/local-transport.d.ts.map +1 -0
- package/dist/conduit/sse-transport.d.ts +68 -0
- package/dist/conduit/sse-transport.d.ts.map +1 -0
- package/dist/crypto/credentials.d.ts.map +1 -1
- package/dist/error-catalog.d.ts +3 -3
- package/dist/error-catalog.d.ts.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/hooks/handlers/index.d.ts +2 -2
- package/dist/hooks/handlers/index.d.ts.map +1 -1
- package/dist/hooks/handlers/notification-hooks.d.ts +31 -0
- package/dist/hooks/handlers/notification-hooks.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4646 -3476
- package/dist/index.js.map +4 -4
- package/dist/init.d.ts +6 -6
- package/dist/init.d.ts.map +1 -1
- package/dist/injection.d.ts.map +1 -1
- package/dist/internal.d.ts +7 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/tree-sitter-languages.d.ts +29 -0
- package/dist/lib/tree-sitter-languages.d.ts.map +1 -0
- package/dist/logger.d.ts +3 -3
- package/dist/memory/brain-links.d.ts.map +1 -1
- package/dist/memory/brain-maintenance.d.ts +13 -0
- package/dist/memory/brain-maintenance.d.ts.map +1 -1
- package/dist/memory/brain-retrieval.d.ts +1 -1
- package/dist/memory/brain-retrieval.d.ts.map +1 -1
- package/dist/memory/decisions.d.ts.map +1 -1
- package/dist/memory/engine-compat.d.ts +392 -25
- package/dist/memory/engine-compat.d.ts.map +1 -1
- package/dist/memory/index.d.ts +416 -3
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/metrics/token-service.d.ts +3 -3
- package/dist/metrics/token-service.d.ts.map +1 -1
- package/dist/orchestration/hierarchy.d.ts +32 -0
- package/dist/orchestration/hierarchy.d.ts.map +1 -0
- package/dist/orchestration/index.d.ts +1 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/paths.d.ts +335 -2
- package/dist/paths.d.ts.map +1 -1
- package/dist/routing/capability-matrix.d.ts +3 -3
- package/dist/routing/capability-matrix.d.ts.map +1 -1
- package/dist/scaffold.d.ts +422 -11
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/security/input-sanitization.d.ts +2 -2
- package/dist/skills/dynamic-skill-generator.d.ts +3 -2
- package/dist/skills/dynamic-skill-generator.d.ts.map +1 -1
- package/dist/skills/routing-table.d.ts +4 -4
- package/dist/skills/routing-table.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.d.ts +10 -433
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts +34 -0
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/store/provider.d.ts +1 -1
- package/dist/store/signaldock-sqlite.d.ts.map +1 -1
- package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
- package/dist/store/sqlite.d.ts +1 -1
- package/dist/store/task-store.d.ts.map +1 -1
- package/dist/store/tasks-schema.d.ts +4 -228
- package/dist/store/tasks-schema.d.ts.map +1 -1
- package/dist/store/validation-schemas.d.ts +4 -5
- package/dist/store/validation-schemas.d.ts.map +1 -1
- package/dist/system/archive-analytics.d.ts +1 -1
- package/dist/system/health.d.ts +2 -2
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/runtime.d.ts +2 -1
- package/dist/system/runtime.d.ts.map +1 -1
- package/dist/tasks/list.d.ts +1 -1
- package/dist/tasks/list.d.ts.map +1 -1
- package/dist/tasks/task-ops.d.ts +415 -3
- package/dist/tasks/task-ops.d.ts.map +1 -1
- package/dist/templates/parser.d.ts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/dist/upgrade.d.ts +1 -1
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/validation/operation-gate-validators.d.ts +1 -1
- package/dist/validation/operation-verification-gates.d.ts +3 -3
- package/dist/validation/param-utils.d.ts +6 -5
- package/dist/validation/param-utils.d.ts.map +1 -1
- package/dist/validation/validate-ops.d.ts +1 -1
- package/dist/validation/validate-ops.d.ts.map +1 -1
- package/package.json +19 -7
- package/src/__tests__/caamp-skill-install.test.js +0 -15
- package/src/__tests__/caamp-skill-install.test.js.map +1 -1
- package/src/__tests__/caamp-skill-install.test.ts +0 -16
- package/src/__tests__/injection-mvi-tiers.test.js +7 -7
- package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
- package/src/__tests__/injection-mvi-tiers.test.ts +55 -103
- package/src/agents/agent-schema.ts +2 -5
- package/src/audit.ts +2 -2
- package/src/bootstrap.ts +5 -39
- package/src/caamp/adapter.ts +3 -219
- package/src/caamp/index.ts +1 -13
- package/src/cant/__tests__/cant-agent-parse.test.d.ts.map +1 -0
- package/src/cant/__tests__/cant-agent-parse.test.js +77 -0
- package/src/cant/__tests__/cant-agent-parse.test.js.map +1 -0
- package/src/code/index.ts +10 -0
- package/src/code/outline.ts +214 -0
- package/src/code/parser.ts +331 -0
- package/src/code/search.ts +173 -0
- package/src/code/unfold.ts +204 -0
- package/src/codebase-map/analyzers/architecture.ts +2 -2
- package/src/compliance/protocol-enforcement.ts +1 -1
- package/src/compliance/protocol-rules.ts +1 -1
- package/src/compliance/protocol-types.ts +2 -3
- package/src/conduit/__tests__/dual-api-e2e.test.d.ts.map +1 -0
- package/src/conduit/__tests__/dual-api-e2e.test.js +178 -0
- package/src/conduit/__tests__/dual-api-e2e.test.js.map +1 -0
- package/src/conduit/__tests__/dual-api-e2e.test.ts +212 -0
- package/src/conduit/__tests__/local-credential-flow.test.d.ts.map +1 -0
- package/src/conduit/__tests__/local-credential-flow.test.js +185 -0
- package/src/conduit/__tests__/local-credential-flow.test.js.map +1 -0
- package/src/conduit/__tests__/local-credential-flow.test.ts +230 -0
- package/src/conduit/__tests__/local-transport.test.d.ts.map +1 -0
- package/src/conduit/__tests__/local-transport.test.js +404 -0
- package/src/conduit/__tests__/local-transport.test.js.map +1 -0
- package/src/conduit/__tests__/local-transport.test.ts +509 -0
- package/src/conduit/__tests__/sse-transport.test.d.ts.map +1 -0
- package/src/conduit/__tests__/sse-transport.test.js +291 -0
- package/src/conduit/__tests__/sse-transport.test.js.map +1 -0
- package/src/conduit/__tests__/sse-transport.test.ts +344 -0
- package/src/conduit/conduit-client.ts +14 -0
- package/src/conduit/factory.ts +29 -8
- package/src/conduit/http-transport.ts +78 -16
- package/src/conduit/index.ts +5 -2
- package/src/conduit/local-transport.ts +309 -0
- package/src/conduit/sse-transport.ts +382 -0
- package/src/crypto/credentials.ts +59 -13
- package/src/error-catalog.ts +3 -3
- package/src/errors.ts +1 -1
- package/src/hooks/__tests__/provider-hooks.test.js +4 -4
- package/src/hooks/__tests__/provider-hooks.test.js.map +1 -1
- package/src/hooks/__tests__/provider-hooks.test.ts +4 -4
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js +2 -2
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.js.map +1 -1
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.ts +6 -4
- package/src/hooks/handlers/index.ts +2 -6
- package/src/hooks/handlers/notification-hooks.ts +65 -0
- package/src/index.ts +2 -1
- package/src/init.ts +14 -54
- package/src/injection.ts +4 -3
- package/src/internal.ts +7 -5
- package/src/lib/index.ts +8 -0
- package/src/lib/tree-sitter-languages.ts +88 -0
- package/src/logger.ts +5 -5
- package/src/memory/__tests__/brain-links.test.js +13 -0
- package/src/memory/__tests__/brain-links.test.js.map +1 -1
- package/src/memory/__tests__/brain-links.test.ts +14 -0
- package/src/memory/__tests__/brain-retrieval.test.js +9 -0
- package/src/memory/__tests__/brain-retrieval.test.js.map +1 -1
- package/src/memory/__tests__/brain-retrieval.test.ts +10 -0
- package/src/memory/__tests__/session-memory.test.js +16 -0
- package/src/memory/__tests__/session-memory.test.js.map +1 -1
- package/src/memory/__tests__/session-memory.test.ts +17 -0
- package/src/memory/brain-links.ts +17 -0
- package/src/memory/brain-maintenance.ts +33 -1
- package/src/memory/brain-retrieval.ts +19 -3
- package/src/memory/decisions.ts +18 -2
- package/src/memory/engine-compat.ts +392 -25
- package/src/memory/index.ts +417 -4
- package/src/metrics/token-service.ts +4 -4
- package/src/migration/index.ts +1 -1
- package/src/orchestration/hierarchy.ts +202 -0
- package/src/orchestration/index.ts +1 -0
- package/src/paths.ts +340 -5
- package/src/routing/capability-matrix.ts +49 -49
- package/src/scaffold.ts +428 -70
- package/src/security/input-sanitization.ts +4 -4
- package/src/sessions/__tests__/session-grade.integration.test.js +9 -9
- package/src/sessions/__tests__/session-grade.integration.test.ts +9 -9
- package/src/sessions/__tests__/session-grade.test.js +10 -10
- package/src/sessions/__tests__/session-grade.test.js.map +1 -1
- package/src/sessions/__tests__/session-grade.test.ts +10 -10
- package/src/sessions/session-grade.ts +4 -4
- package/src/skills/__tests__/dynamic-skill-generator.test.js +24 -26
- package/src/skills/__tests__/dynamic-skill-generator.test.js.map +1 -1
- package/src/skills/__tests__/dynamic-skill-generator.test.ts +24 -26
- package/src/skills/__tests__/routing-table.test.js +22 -22
- package/src/skills/__tests__/routing-table.test.js.map +1 -1
- package/src/skills/__tests__/routing-table.test.ts +23 -23
- package/src/skills/dynamic-skill-generator.ts +13 -24
- package/src/skills/routing-table.ts +4 -4
- package/src/store/__tests__/data-safety-central.test.js +8 -0
- package/src/store/__tests__/data-safety-central.test.js.map +1 -1
- package/src/store/__tests__/data-safety-central.test.ts +8 -0
- package/src/store/__tests__/safety-accessor.test.js +8 -0
- package/src/store/__tests__/safety-accessor.test.js.map +1 -1
- package/src/store/__tests__/safety-accessor.test.ts +8 -0
- package/src/store/agent-registry-accessor.ts +284 -108
- package/src/store/cross-db-cleanup.ts +175 -1
- package/src/store/provider.ts +2 -2
- package/src/store/signaldock-sqlite.ts +262 -60
- package/src/store/sqlite-data-accessor.ts +3 -0
- package/src/store/sqlite.ts +2 -2
- package/src/store/task-store.ts +8 -1
- package/src/store/tasks-schema.ts +5 -40
- package/src/system/__tests__/health.test.js +2 -2
- package/src/system/__tests__/health.test.js.map +1 -1
- package/src/system/__tests__/health.test.ts +2 -2
- package/src/system/archive-analytics.ts +1 -1
- package/src/system/health.ts +43 -19
- package/src/system/inject-generate.ts +20 -20
- package/src/system/runtime.ts +5 -4
- package/src/tasks/atomicity.ts +1 -1
- package/src/tasks/list.ts +1 -1
- package/src/tasks/task-ops.ts +415 -3
- package/src/templates/parser.ts +1 -1
- package/src/ui/index.ts +4 -4
- package/src/upgrade.ts +3 -14
- package/src/validation/operation-gate-validators.ts +1 -1
- package/src/validation/operation-verification-gates.ts +3 -3
- package/src/validation/param-utils.ts +11 -10
- package/src/validation/validate-ops.ts +6 -6
- package/templates/CLEO-INJECTION.md +38 -110
- package/dist/hooks/handlers/mcp-hooks.d.ts +0 -48
- package/dist/hooks/handlers/mcp-hooks.d.ts.map +0 -1
- package/dist/mcp/index.d.ts +0 -42
- package/dist/mcp/index.d.ts.map +0 -1
- package/src/__tests__/audit-prune.test.d.ts +0 -2
- package/src/__tests__/caamp-skill-install.test.d.ts +0 -14
- package/src/__tests__/cli-mcp-parity.integration.test.d.ts +0 -34
- package/src/__tests__/cli-mcp-parity.integration.test.d.ts.map +0 -1
- package/src/__tests__/cli-mcp-parity.integration.test.js +0 -898
- package/src/__tests__/cli-mcp-parity.integration.test.js.map +0 -1
- package/src/__tests__/cli-parity.test.d.ts +0 -9
- package/src/__tests__/config.test.d.ts +0 -7
- package/src/__tests__/core-parity.test.d.ts +0 -17
- package/src/__tests__/error-catalog.test.d.ts +0 -2
- package/src/__tests__/golden-parity.test.d.ts +0 -12
- package/src/__tests__/hooks.test.d.ts +0 -5
- package/src/__tests__/human-output.test.d.ts +0 -12
- package/src/__tests__/index-api-compat.test.d.ts +0 -2
- package/src/__tests__/init-e2e.test.d.ts +0 -12
- package/src/__tests__/injection-chain.test.d.ts +0 -18
- package/src/__tests__/injection-mvi-tiers.test.d.ts +0 -14
- package/src/__tests__/injection-shared.test.d.ts +0 -10
- package/src/__tests__/lafs-conformance.test.d.ts +0 -18
- package/src/__tests__/logger.test.d.ts +0 -2
- package/src/__tests__/mcp-install-verify.test.d.ts +0 -13
- package/src/__tests__/mcp-install-verify.test.d.ts.map +0 -1
- package/src/__tests__/mcp-install-verify.test.js +0 -177
- package/src/__tests__/mcp-install-verify.test.js.map +0 -1
- package/src/__tests__/mcp-install-verify.test.ts +0 -217
- package/src/__tests__/paths.test.d.ts +0 -7
- package/src/__tests__/project-info.test.d.ts +0 -2
- package/src/__tests__/rcsd-pipeline-e2e.test.d.ts +0 -14
- package/src/__tests__/remote.test.d.ts +0 -6
- package/src/__tests__/scaffold.test.d.ts +0 -6
- package/src/__tests__/schema-management.test.d.ts +0 -5
- package/src/__tests__/schema.test.d.ts +0 -2
- package/src/__tests__/sharing.test.d.ts +0 -6
- package/src/__tests__/snapshot.test.d.ts +0 -6
- package/src/__tests__/upgrade.test.d.ts +0 -7
- package/src/adapters/__tests__/discovery.test.d.ts +0 -6
- package/src/adapters/__tests__/manager.test.d.ts +0 -6
- package/src/agents/__tests__/agent-registry.test.d.ts +0 -12
- package/src/agents/__tests__/capacity.test.d.ts +0 -7
- package/src/agents/__tests__/execution-learning.test.d.ts +0 -14
- package/src/agents/__tests__/health-monitor.test.d.ts +0 -10
- package/src/agents/__tests__/registry.test.d.ts +0 -8
- package/src/agents/__tests__/retry.test.d.ts +0 -7
- package/src/compliance/__tests__/sync.test.d.ts +0 -5
- package/src/hooks/__tests__/provider-hooks.test.d.ts +0 -2
- package/src/hooks/__tests__/registry.test.d.ts +0 -2
- package/src/hooks/handlers/__tests__/error-hooks.test.d.ts +0 -2
- package/src/hooks/handlers/__tests__/file-hooks.test.d.ts +0 -2
- package/src/hooks/handlers/__tests__/hook-automation-e2e.test.d.ts +0 -13
- package/src/hooks/handlers/__tests__/mcp-hooks.test.d.ts +0 -2
- package/src/hooks/handlers/__tests__/mcp-hooks.test.d.ts.map +0 -1
- package/src/hooks/handlers/__tests__/mcp-hooks.test.js +0 -119
- package/src/hooks/handlers/__tests__/mcp-hooks.test.js.map +0 -1
- package/src/hooks/handlers/__tests__/mcp-hooks.test.ts +0 -150
- package/src/hooks/handlers/__tests__/session-hooks.test.d.ts +0 -2
- package/src/hooks/handlers/__tests__/task-hooks.test.d.ts +0 -2
- package/src/hooks/handlers/mcp-hooks.ts +0 -162
- package/src/intelligence/__tests__/adaptive-validation.test.d.ts +0 -11
- package/src/intelligence/__tests__/impact.test.d.ts +0 -16
- package/src/intelligence/__tests__/patterns.test.d.ts +0 -8
- package/src/intelligence/__tests__/prediction.test.d.ts +0 -8
- package/src/lib/__tests__/retry.test.d.ts +0 -7
- package/src/lifecycle/__tests__/chain-store.test.d.ts +0 -10
- package/src/lifecycle/__tests__/consolidate-rcasd.test.d.ts +0 -7
- package/src/lifecycle/__tests__/default-chain.test.d.ts +0 -7
- package/src/lifecycle/__tests__/frontmatter.test.d.ts +0 -7
- package/src/lifecycle/__tests__/lifecycle.test.d.ts +0 -7
- package/src/lifecycle/__tests__/pipeline.integration.test.d.ts +0 -19
- package/src/lifecycle/__tests__/rcasd-paths.test.d.ts +0 -7
- package/src/lifecycle/__tests__/resume-schema-contract.test.d.ts +0 -16
- package/src/lifecycle/__tests__/stage-record-provenance.integration.test.d.ts +0 -7
- package/src/lifecycle/__tests__/tessera-engine.test.d.ts +0 -10
- package/src/mcp/index.ts +0 -163
- package/src/memory/__tests__/auto-extract.test.d.ts +0 -7
- package/src/memory/__tests__/brain-automation.test.d.ts +0 -11
- package/src/memory/__tests__/brain-embedding.test.d.ts +0 -2
- package/src/memory/__tests__/brain-links.test.d.ts +0 -8
- package/src/memory/__tests__/brain-migration.test.d.ts +0 -8
- package/src/memory/__tests__/brain-retrieval.test.d.ts +0 -10
- package/src/memory/__tests__/brain-search.test.d.ts +0 -8
- package/src/memory/__tests__/claude-mem-migration.test.d.ts +0 -12
- package/src/memory/__tests__/decisions.test.d.ts +0 -8
- package/src/memory/__tests__/engine-compat.test.d.ts +0 -12
- package/src/memory/__tests__/memory-bridge.test.d.ts +0 -10
- package/src/memory/__tests__/pipeline-manifest-sqlite.test.d.ts +0 -13
- package/src/memory/__tests__/session-memory.test.d.ts +0 -9
- package/src/metrics/__tests__/model-provider-registry.test.d.ts +0 -2
- package/src/metrics/__tests__/provider-detection.test.d.ts +0 -2
- package/src/migration/__tests__/checksum.test.d.ts +0 -8
- package/src/migration/__tests__/logger.test.d.ts +0 -5
- package/src/migration/__tests__/migration-failure.integration.test.d.ts +0 -15
- package/src/migration/__tests__/migration.test.d.ts +0 -13
- package/src/migration/__tests__/state.test.d.ts +0 -8
- package/src/migration/__tests__/validate.test.d.ts +0 -8
- package/src/nexus/__tests__/deps.test.d.ts +0 -7
- package/src/nexus/__tests__/nexus-e2e.test.d.ts +0 -12
- package/src/nexus/__tests__/permissions.test.d.ts +0 -7
- package/src/nexus/__tests__/query.test.d.ts +0 -7
- package/src/nexus/__tests__/reconcile.test.d.ts +0 -7
- package/src/nexus/__tests__/registry.test.d.ts +0 -7
- package/src/nexus/__tests__/transfer.test.d.ts +0 -8
- package/src/observability/__tests__/index.test.d.ts +0 -7
- package/src/observability/__tests__/log-filter.test.d.ts +0 -7
- package/src/observability/__tests__/log-parser.test.d.ts +0 -7
- package/src/observability/__tests__/log-reader.test.d.ts +0 -7
- package/src/orchestration/__tests__/autonomous-spec.test.d.ts +0 -9
- package/src/orchestration/__tests__/orchestration.test.d.ts +0 -7
- package/src/orchestration/__tests__/protocol-validators.test.d.ts +0 -9
- package/src/phases/__tests__/deps.test.d.ts +0 -7
- package/src/phases/__tests__/phases.test.d.ts +0 -7
- package/src/release/__tests__/artifacts.test.d.ts +0 -7
- package/src/release/__tests__/cancel-release.test.d.ts +0 -10
- package/src/release/__tests__/changelog-writer.test.d.ts +0 -6
- package/src/release/__tests__/push-policy.test.d.ts +0 -14
- package/src/release/__tests__/release.test.d.ts +0 -11
- package/src/sequence/__tests__/allocate.test.d.ts +0 -6
- package/src/sessions/__tests__/briefing-blocked.test.d.ts +0 -6
- package/src/sessions/__tests__/briefing.test.d.ts +0 -11
- package/src/sessions/__tests__/handoff-integration.test.d.ts +0 -8
- package/src/sessions/__tests__/handoff.test.d.ts +0 -11
- package/src/sessions/__tests__/index.test.d.ts +0 -2
- package/src/sessions/__tests__/session-cleanup.test.d.ts +0 -7
- package/src/sessions/__tests__/session-edge-cases.test.d.ts +0 -9
- package/src/sessions/__tests__/session-find.test.d.ts +0 -9
- package/src/sessions/__tests__/session-grade.integration.test.d.ts +0 -11
- package/src/sessions/__tests__/session-grade.test.d.ts +0 -6
- package/src/sessions/__tests__/session-memory-bridge.test.d.ts +0 -2
- package/src/sessions/__tests__/sessions.test.d.ts +0 -7
- package/src/skills/__tests__/discovery.test.d.ts +0 -6
- package/src/skills/__tests__/dispatch.test.d.ts +0 -6
- package/src/skills/__tests__/dynamic-skill-generator.test.d.ts +0 -2
- package/src/skills/__tests__/manifests.test.d.ts +0 -6
- package/src/skills/__tests__/precedence.test.d.ts +0 -6
- package/src/skills/__tests__/routing-table.test.d.ts +0 -2
- package/src/skills/__tests__/skill-paths.test.d.ts +0 -7
- package/src/skills/__tests__/test-utility.test.d.ts +0 -7
- package/src/skills/__tests__/token.test.d.ts +0 -6
- package/src/skills/__tests__/validation.test.d.ts +0 -6
- package/src/skills/__tests__/version.test.d.ts +0 -5
- package/src/skills/injection/__tests__/subagent.test.d.ts +0 -2
- package/src/skills/orchestrator/__tests__/spawn-tier.test.d.ts +0 -2
- package/src/spawn/__tests__/adapter-registry.test.d.ts +0 -2
- package/src/stats/__tests__/stats.test.d.ts +0 -7
- package/src/sticky/__tests__/purge.test.d.ts +0 -9
- package/src/store/__tests__/atomic.test.d.ts +0 -7
- package/src/store/__tests__/backup.test.d.ts +0 -7
- package/src/store/__tests__/brain-accessor-pageindex.test.d.ts +0 -12
- package/src/store/__tests__/brain-accessor.test.d.ts +0 -10
- package/src/store/__tests__/brain-pageindex.test.d.ts +0 -11
- package/src/store/__tests__/brain-schema.test.d.ts +0 -11
- package/src/store/__tests__/brain-vec.test.d.ts +0 -11
- package/src/store/__tests__/collision-detection.test.d.ts +0 -11
- package/src/store/__tests__/data-safety-central.test.d.ts +0 -20
- package/src/store/__tests__/db-helpers.test.d.ts +0 -7
- package/src/store/__tests__/e2e-safety-integration.test.d.ts +0 -13
- package/src/store/__tests__/git-checkpoint.test.d.ts +0 -7
- package/src/store/__tests__/idempotent-migration.test.d.ts +0 -5
- package/src/store/__tests__/import-logging.test.d.ts +0 -7
- package/src/store/__tests__/import-sort.test.d.ts +0 -7
- package/src/store/__tests__/json.test.d.ts +0 -7
- package/src/store/__tests__/lifecycle-schema-parity.test.d.ts +0 -2
- package/src/store/__tests__/migration-integration.test.d.ts +0 -15
- package/src/store/__tests__/migration-retry.test.d.ts +0 -10
- package/src/store/__tests__/migration-safety.test.d.ts +0 -21
- package/src/store/__tests__/migration-sqlite.test.d.ts +0 -11
- package/src/store/__tests__/performance-safety.test.d.ts +0 -17
- package/src/store/__tests__/project-detect.test.d.ts +0 -6
- package/src/store/__tests__/project-registry.test.d.ts +0 -7
- package/src/store/__tests__/provider.test.d.ts +0 -9
- package/src/store/__tests__/relations.test.d.ts +0 -9
- package/src/store/__tests__/safety-accessor.test.d.ts +0 -18
- package/src/store/__tests__/sequence-validation.test.d.ts +0 -11
- package/src/store/__tests__/session-store.test.d.ts +0 -11
- package/src/store/__tests__/sqlite-backup.test.d.ts +0 -14
- package/src/store/__tests__/sqlite.test.d.ts +0 -11
- package/src/store/__tests__/task-store.test.d.ts +0 -11
- package/src/store/__tests__/test-db-helper.d.ts +0 -61
- package/src/store/__tests__/write-verification.test.d.ts +0 -11
- package/src/system/__tests__/cleanup.test.d.ts +0 -2
- package/src/system/__tests__/health.test.d.ts +0 -2
- package/src/task-work/__tests__/start-deps.test.d.ts +0 -6
- package/src/tasks/__tests__/add.test.d.ts +0 -7
- package/src/tasks/__tests__/archive.test.d.ts +0 -7
- package/src/tasks/__tests__/assignee.test.d.ts +0 -14
- package/src/tasks/__tests__/atomicity.test.d.ts +0 -6
- package/src/tasks/__tests__/cancel-ops.test.d.ts +0 -7
- package/src/tasks/__tests__/complete-unblocks.test.d.ts +0 -6
- package/src/tasks/__tests__/complete.test.d.ts +0 -7
- package/src/tasks/__tests__/delete.test.d.ts +0 -7
- package/src/tasks/__tests__/dependency-check.test.d.ts +0 -7
- package/src/tasks/__tests__/deps-ready.test.d.ts +0 -6
- package/src/tasks/__tests__/epic-enforcement.test.d.ts +0 -15
- package/src/tasks/__tests__/find.test.d.ts +0 -7
- package/src/tasks/__tests__/graph-ops.test.d.ts +0 -7
- package/src/tasks/__tests__/hierarchy-policy.test.d.ts +0 -6
- package/src/tasks/__tests__/hierarchy.test.d.ts +0 -7
- package/src/tasks/__tests__/id-generator.test.d.ts +0 -2
- package/src/tasks/__tests__/labels.test.d.ts +0 -7
- package/src/tasks/__tests__/list.test.d.ts +0 -7
- package/src/tasks/__tests__/minimal-test.test.d.ts +0 -2
- package/src/tasks/__tests__/phase-tracking.test.d.ts +0 -7
- package/src/tasks/__tests__/pipeline-stage.test.d.ts +0 -14
- package/src/tasks/__tests__/plan-priority.test.d.ts +0 -10
- package/src/tasks/__tests__/priority-normalization.test.d.ts +0 -7
- package/src/tasks/__tests__/relates.test.d.ts +0 -9
- package/src/tasks/__tests__/show-deps.test.d.ts +0 -6
- package/src/tasks/__tests__/show.test.d.ts +0 -7
- package/src/tasks/__tests__/staleness.test.d.ts +0 -7
- package/src/tasks/__tests__/task-ops-depends.test.d.ts +0 -6
- package/src/tasks/__tests__/update.test.d.ts +0 -7
- package/src/validation/__tests__/chain-validation.test.d.ts +0 -7
- package/src/validation/__tests__/compliance.test.d.ts +0 -7
- package/src/validation/__tests__/docs-sync.test.d.ts +0 -7
- package/src/validation/__tests__/doctor-gitignore.test.d.ts +0 -7
- package/src/validation/__tests__/doctor-injection.test.d.ts +0 -11
- package/src/validation/__tests__/doctor.test.d.ts +0 -7
- package/src/validation/__tests__/engine.test.d.ts +0 -7
- package/src/validation/__tests__/manifest.test.d.ts +0 -7
- package/src/validation/__tests__/protocol-common.test.d.ts +0 -7
- package/src/validation/__tests__/verification.test.d.ts +0 -7
|
@@ -38,8 +38,8 @@ import * as configModule from '../../../config.js';
|
|
|
38
38
|
import * as brainRetrieval from '../../../memory/brain-retrieval.js';
|
|
39
39
|
import { handleSubagentStart, handleSubagentStop } from '../agent-hooks.js';
|
|
40
40
|
import { handlePostCompact, handlePreCompact } from '../context-hooks.js';
|
|
41
|
-
import { handleSystemNotification } from '../mcp-hooks.js';
|
|
42
41
|
import * as bridgeRefresh from '../memory-bridge-refresh.js';
|
|
42
|
+
import { handleSystemNotification } from '../notification-hooks.js';
|
|
43
43
|
import { handleSessionEnd, handleSessionStart } from '../session-hooks.js';
|
|
44
44
|
import { handleToolComplete, handleToolStart } from '../task-hooks.js';
|
|
45
45
|
import { handleWorkPromptSubmit, handleWorkResponseComplete } from '../work-capture-hooks.js';
|
|
@@ -62,7 +62,7 @@ function makeConfig(
|
|
|
62
62
|
captureMcp?: boolean;
|
|
63
63
|
autoRefresh?: boolean;
|
|
64
64
|
} = {},
|
|
65
|
-
):
|
|
65
|
+
): Awaited<ReturnType<typeof configModule.loadConfig>> {
|
|
66
66
|
return {
|
|
67
67
|
brain: {
|
|
68
68
|
autoCapture: overrides.autoCapture ?? true,
|
|
@@ -73,7 +73,7 @@ function makeConfig(
|
|
|
73
73
|
embedding: { enabled: false, provider: 'local' },
|
|
74
74
|
summarization: { enabled: false },
|
|
75
75
|
},
|
|
76
|
-
}
|
|
76
|
+
} as Awaited<ReturnType<typeof configModule.loadConfig>>;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
const PROJECT_ROOT = '/tmp/e2e-test-project';
|
|
@@ -85,7 +85,9 @@ const TIMESTAMP = '2026-03-24T00:00:00.000Z';
|
|
|
85
85
|
|
|
86
86
|
describe('hook automation E2E', () => {
|
|
87
87
|
beforeEach(() => {
|
|
88
|
-
observeBrainMock
|
|
88
|
+
observeBrainMock
|
|
89
|
+
.mockReset()
|
|
90
|
+
.mockResolvedValue({ id: 'O-test', type: 'observation', createdAt: '2026-01-01 00:00:00' });
|
|
89
91
|
loadConfigMock.mockReset().mockResolvedValue(makeConfig());
|
|
90
92
|
maybeRefreshMemoryBridgeMock.mockReset().mockResolvedValue(undefined);
|
|
91
93
|
// Clear work-capture env var
|
|
@@ -13,7 +13,7 @@ import './session-hooks.js';
|
|
|
13
13
|
import './task-hooks.js';
|
|
14
14
|
import './error-hooks.js';
|
|
15
15
|
import './file-hooks.js';
|
|
16
|
-
import './
|
|
16
|
+
import './notification-hooks.js';
|
|
17
17
|
import './work-capture-hooks.js';
|
|
18
18
|
import './agent-hooks.js';
|
|
19
19
|
import './context-hooks.js';
|
|
@@ -22,11 +22,7 @@ export { handleSubagentStart, handleSubagentStop } from './agent-hooks.js';
|
|
|
22
22
|
export { handlePostCompact, handlePreCompact } from './context-hooks.js';
|
|
23
23
|
export { handleError } from './error-hooks.js';
|
|
24
24
|
export { handleFileChange } from './file-hooks.js';
|
|
25
|
-
export {
|
|
26
|
-
handlePromptSubmit,
|
|
27
|
-
handleResponseComplete,
|
|
28
|
-
handleSystemNotification,
|
|
29
|
-
} from './mcp-hooks.js';
|
|
25
|
+
export { handleSystemNotification } from './notification-hooks.js';
|
|
30
26
|
// Re-export handler functions for explicit use
|
|
31
27
|
export { handleSessionEnd, handleSessionStart } from './session-hooks.js';
|
|
32
28
|
export { handleToolComplete, handleToolStart } from './task-hooks.js';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Notification Hook Handler
|
|
3
|
+
*
|
|
4
|
+
* Captures message-bearing system notifications as BRAIN observations.
|
|
5
|
+
* File-change notifications (filePath + changeType) are handled by
|
|
6
|
+
* file-hooks.ts; this module only handles Notification payloads with
|
|
7
|
+
* a `message` field.
|
|
8
|
+
*
|
|
9
|
+
* Gated behind brain.autoCapture config. Never throws.
|
|
10
|
+
* Auto-registers on module load.
|
|
11
|
+
*
|
|
12
|
+
* @task T166
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { hooks } from '../registry.js';
|
|
16
|
+
import type { NotificationPayload } from '../types.js';
|
|
17
|
+
import { isAutoCaptureEnabled, isMissingBrainSchemaError } from './handler-helpers.js';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Handle Notification — capture system notifications as BRAIN observations.
|
|
21
|
+
*
|
|
22
|
+
* Only fires for Notification payloads that carry a message field (i.e. system
|
|
23
|
+
* notifications). File-change notifications (filePath + changeType) are
|
|
24
|
+
* handled exclusively by file-hooks.ts and are skipped here to avoid
|
|
25
|
+
* double-capture.
|
|
26
|
+
*
|
|
27
|
+
* Gated behind brain.autoCapture config. Never throws.
|
|
28
|
+
*
|
|
29
|
+
* @param projectRoot - Absolute path to the project root directory.
|
|
30
|
+
* @param payload - Notification event payload.
|
|
31
|
+
*
|
|
32
|
+
* @task T166
|
|
33
|
+
*/
|
|
34
|
+
export async function handleSystemNotification(
|
|
35
|
+
projectRoot: string,
|
|
36
|
+
payload: NotificationPayload,
|
|
37
|
+
): Promise<void> {
|
|
38
|
+
// File-change notifications are handled by file-hooks.ts
|
|
39
|
+
if (payload.filePath || payload.changeType) return;
|
|
40
|
+
// Only handle message-bearing system notifications
|
|
41
|
+
if (!payload.message) return;
|
|
42
|
+
if (!(await isAutoCaptureEnabled(projectRoot))) return;
|
|
43
|
+
|
|
44
|
+
const { observeBrain } = await import('../../memory/brain-retrieval.js');
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
await observeBrain(projectRoot, {
|
|
48
|
+
text: `System notification: ${payload.message}`,
|
|
49
|
+
title: `Notification: ${payload.message.slice(0, 60)}`,
|
|
50
|
+
type: 'discovery',
|
|
51
|
+
sourceSessionId: payload.sessionId,
|
|
52
|
+
sourceType: 'agent',
|
|
53
|
+
});
|
|
54
|
+
} catch (err) {
|
|
55
|
+
if (!isMissingBrainSchemaError(err)) throw err;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Lower priority (90) so file-hooks.ts (100) runs first for Notification events
|
|
60
|
+
hooks.register({
|
|
61
|
+
id: 'brain-system-notification',
|
|
62
|
+
event: 'Notification',
|
|
63
|
+
handler: handleSystemNotification,
|
|
64
|
+
priority: 90,
|
|
65
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -33,6 +33,7 @@ export * as admin from './admin/index.js';
|
|
|
33
33
|
export * as adrs from './adrs/index.js';
|
|
34
34
|
export * as agents from './agents/index.js';
|
|
35
35
|
export * as caamp from './caamp/index.js';
|
|
36
|
+
export * as code from './code/index.js';
|
|
36
37
|
export * as codebaseMap from './codebase-map/index.js';
|
|
37
38
|
export * as compliance from './compliance/index.js';
|
|
38
39
|
export * as conduit from './conduit/index.js';
|
|
@@ -43,7 +44,7 @@ export * as intelligence from './intelligence/index.js';
|
|
|
43
44
|
export * as issue from './issue/index.js';
|
|
44
45
|
export * as lib from './lib/index.js';
|
|
45
46
|
export * as lifecycle from './lifecycle/index.js';
|
|
46
|
-
|
|
47
|
+
// (removed: former coreMcp export — Phase 2 production readiness)
|
|
47
48
|
export * as memory from './memory/index.js';
|
|
48
49
|
export * as metrics from './metrics/index.js';
|
|
49
50
|
export * as migration from './migration/index.js';
|
package/src/init.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core init logic - project initialization and maintenance.
|
|
3
3
|
*
|
|
4
|
-
* Single source of truth for all init operations.
|
|
5
|
-
*
|
|
4
|
+
* Single source of truth for all init operations. CLI delegates here
|
|
5
|
+
* (shared-core pattern).
|
|
6
6
|
*
|
|
7
7
|
* Handles:
|
|
8
8
|
* 1. .cleo/ directory structure creation
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 4. Sequence counter (SQLite schema_meta)
|
|
12
12
|
* 5. Project info (.cleo/project-info.json)
|
|
13
13
|
* 6. CAAMP injection into agent instruction files (AGENTS.md hub pattern)
|
|
14
|
-
* 7. MCP server installation
|
|
14
|
+
* 7. (removed — was MCP server installation)
|
|
15
15
|
* 8. Agent definition installation (cleo-subagent)
|
|
16
16
|
* 9. Core skill installation via CAAMP
|
|
17
17
|
* 10. NEXUS project registration
|
|
@@ -169,55 +169,15 @@ export async function initAgentDefinition(created: string[], warnings: string[])
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
|
-
*
|
|
172
|
+
* No-op. Kept for API compatibility.
|
|
173
173
|
* @task T4706
|
|
174
174
|
*/
|
|
175
175
|
export async function initMcpServer(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
176
|
+
_projectRoot: string,
|
|
177
|
+
_created: string[],
|
|
178
|
+
_warnings: string[],
|
|
179
179
|
): Promise<void> {
|
|
180
|
-
|
|
181
|
-
const { detectEnvMode, generateMcpServerEntry, getMcpServerName } = await import(
|
|
182
|
-
'./mcp/index.js'
|
|
183
|
-
);
|
|
184
|
-
const { getInstalledProviders, installMcpServerToAll } = await import('@cleocode/caamp');
|
|
185
|
-
type McpServerConfig = import('@cleocode/caamp').McpServerConfig;
|
|
186
|
-
|
|
187
|
-
const env = detectEnvMode();
|
|
188
|
-
const serverEntry = generateMcpServerEntry(env) as McpServerConfig;
|
|
189
|
-
const serverName = getMcpServerName(env);
|
|
190
|
-
const providers = getInstalledProviders();
|
|
191
|
-
|
|
192
|
-
if (providers.length === 0) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
// MCP server config is a system-level tool setup by default.
|
|
197
|
-
// Project-level CLEO data still lives in per-project .cleo/.
|
|
198
|
-
const results = await installMcpServerToAll(
|
|
199
|
-
providers,
|
|
200
|
-
serverName,
|
|
201
|
-
serverEntry,
|
|
202
|
-
'global',
|
|
203
|
-
projectRoot,
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
const successes = results.filter((r) => r.success);
|
|
207
|
-
const failures = results.filter((r) => !r.success);
|
|
208
|
-
|
|
209
|
-
if (successes.length > 0) {
|
|
210
|
-
created.push(`MCP server: ${successes.map((r) => r.provider.id).join(', ')}`);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
for (const f of failures) {
|
|
214
|
-
if (f.error) {
|
|
215
|
-
warnings.push(`MCP install to ${f.provider.id}: ${f.error}`);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
} catch (err) {
|
|
219
|
-
warnings.push(`MCP server install: ${err instanceof Error ? err.message : String(err)}`);
|
|
220
|
-
}
|
|
180
|
+
// No-op: removed
|
|
221
181
|
}
|
|
222
182
|
|
|
223
183
|
/**
|
|
@@ -464,7 +424,7 @@ export async function updateDocs(): Promise<InitResult> {
|
|
|
464
424
|
* Run full project initialization.
|
|
465
425
|
*
|
|
466
426
|
* Creates the .cleo/ directory structure, installs schemas, templates,
|
|
467
|
-
* agent definitions,
|
|
427
|
+
* agent definitions, skills, and registers with NEXUS.
|
|
468
428
|
*
|
|
469
429
|
* @task T4681
|
|
470
430
|
* @task T4682
|
|
@@ -694,15 +654,15 @@ export async function initProject(opts: InitOptions = {}): Promise<InitResult> {
|
|
|
694
654
|
warnings.push(`CAAMP injection: ${err instanceof Error ? err.message : String(err)}`);
|
|
695
655
|
}
|
|
696
656
|
|
|
697
|
-
// ADR-029: Contributor project
|
|
657
|
+
// ADR-029: Contributor project dev channel setup
|
|
698
658
|
try {
|
|
699
659
|
const { ensureContributorMcp } = await import('./scaffold.js');
|
|
700
|
-
const
|
|
701
|
-
if (
|
|
702
|
-
created.push(`contributor
|
|
660
|
+
const devResult = await ensureContributorMcp(projRoot);
|
|
661
|
+
if (devResult.action !== 'skipped') {
|
|
662
|
+
created.push(`contributor dev channel: ${devResult.details ?? devResult.action}`);
|
|
703
663
|
}
|
|
704
664
|
} catch (err) {
|
|
705
|
-
warnings.push(`Contributor
|
|
665
|
+
warnings.push(`Contributor dev channel: ${err instanceof Error ? err.message : String(err)}`);
|
|
706
666
|
}
|
|
707
667
|
|
|
708
668
|
// T4685: Agent definition (cleo-subagent)
|
package/src/injection.ts
CHANGED
|
@@ -336,9 +336,10 @@ export function checkInjection(projectRoot: string): InjectionCheckResult {
|
|
|
336
336
|
|
|
337
337
|
for (const ref of refs) {
|
|
338
338
|
const rawPath = ref.slice(1).trim();
|
|
339
|
-
const resolvedPath =
|
|
340
|
-
|
|
341
|
-
|
|
339
|
+
const resolvedPath =
|
|
340
|
+
rawPath.startsWith('~/') || rawPath.startsWith('~\\')
|
|
341
|
+
? join(homedir(), rawPath.slice(2))
|
|
342
|
+
: join(projectRoot, rawPath);
|
|
342
343
|
|
|
343
344
|
if (!existsSync(resolvedPath)) {
|
|
344
345
|
missing.push(rawPath);
|
package/src/internal.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This entry point is a SUPERSET of the public API. It re-exports everything
|
|
5
5
|
* from `@cleocode/core` plus additional symbols needed by the dispatch layer,
|
|
6
|
-
* CLI commands,
|
|
6
|
+
* CLI commands, and engine adapters inside @cleocode/cleo.
|
|
7
7
|
*
|
|
8
8
|
* External consumers should import from `@cleocode/core` (the public API).
|
|
9
9
|
* Only @cleocode/cleo should import from `@cleocode/core/internal`.
|
|
@@ -40,9 +40,13 @@ export type { BootstrapContext, BootstrapOptions } from './bootstrap.js';
|
|
|
40
40
|
// Bootstrap (global setup)
|
|
41
41
|
export {
|
|
42
42
|
bootstrapGlobalCleo,
|
|
43
|
-
installMcpToProviders,
|
|
44
43
|
installSkillsGlobally,
|
|
45
44
|
} from './bootstrap.js';
|
|
45
|
+
export { smartOutline } from './code/outline.js';
|
|
46
|
+
// Code analysis (Smart Explore)
|
|
47
|
+
export { batchParse, isTreeSitterAvailable, parseFile } from './code/parser.js';
|
|
48
|
+
export { type SmartSearchOptions, smartSearch } from './code/search.js';
|
|
49
|
+
export { smartUnfold } from './code/unfold.js';
|
|
46
50
|
export type { ViolationLogEntry } from './compliance/protocol-enforcement.js';
|
|
47
51
|
// Compliance
|
|
48
52
|
export { ProtocolEnforcer, protocolEnforcer } from './compliance/protocol-enforcement.js';
|
|
@@ -133,8 +137,6 @@ export {
|
|
|
133
137
|
} from './lifecycle/index.js';
|
|
134
138
|
export { instantiateTessera, showTessera } from './lifecycle/tessera-engine.js';
|
|
135
139
|
|
|
136
|
-
// MCP helpers
|
|
137
|
-
export { detectEnvMode, generateMcpServerEntry, getMcpServerName } from './mcp/index.js';
|
|
138
140
|
// Memory — brain lifecycle (temporal decay + consolidation)
|
|
139
141
|
export type { ConsolidationResult, DecayResult } from './memory/brain-lifecycle.js';
|
|
140
142
|
export { applyTemporalDecay, consolidateMemories } from './memory/brain-lifecycle.js';
|
|
@@ -144,6 +146,7 @@ export type {
|
|
|
144
146
|
BrainMaintenanceDecayResult,
|
|
145
147
|
BrainMaintenanceEmbeddingsResult,
|
|
146
148
|
BrainMaintenanceOptions,
|
|
149
|
+
BrainMaintenanceReconciliationResult,
|
|
147
150
|
BrainMaintenanceResult,
|
|
148
151
|
} from './memory/brain-maintenance.js';
|
|
149
152
|
export { runBrainMaintenance } from './memory/brain-maintenance.js';
|
|
@@ -805,4 +808,3 @@ export { createConduit } from './conduit/factory.js';
|
|
|
805
808
|
export { HttpTransport } from './conduit/http-transport.js';
|
|
806
809
|
export { decrypt, encrypt } from './crypto/credentials.js';
|
|
807
810
|
export { AgentRegistryAccessor } from './store/agent-registry-accessor.js';
|
|
808
|
-
export { agentCredentials } from './store/tasks-schema.js';
|
package/src/lib/index.ts
CHANGED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tree-sitter language detection and grammar resolution.
|
|
3
|
+
*
|
|
4
|
+
* Maps file extensions to tree-sitter grammar packages for use by
|
|
5
|
+
* the Smart Explore code analysis pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @task T148
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/** Supported tree-sitter language identifiers. */
|
|
11
|
+
export type TreeSitterLanguage =
|
|
12
|
+
| 'typescript'
|
|
13
|
+
| 'tsx'
|
|
14
|
+
| 'javascript'
|
|
15
|
+
| 'python'
|
|
16
|
+
| 'go'
|
|
17
|
+
| 'rust'
|
|
18
|
+
| 'java'
|
|
19
|
+
| 'c'
|
|
20
|
+
| 'cpp'
|
|
21
|
+
| 'ruby';
|
|
22
|
+
|
|
23
|
+
/** Map from file extension (without dot) to tree-sitter language. */
|
|
24
|
+
const EXTENSION_MAP: Record<string, TreeSitterLanguage> = {
|
|
25
|
+
ts: 'typescript',
|
|
26
|
+
tsx: 'tsx',
|
|
27
|
+
mts: 'typescript',
|
|
28
|
+
cts: 'typescript',
|
|
29
|
+
js: 'javascript',
|
|
30
|
+
jsx: 'javascript',
|
|
31
|
+
mjs: 'javascript',
|
|
32
|
+
cjs: 'javascript',
|
|
33
|
+
py: 'python',
|
|
34
|
+
pyi: 'python',
|
|
35
|
+
go: 'go',
|
|
36
|
+
rs: 'rust',
|
|
37
|
+
java: 'java',
|
|
38
|
+
c: 'c',
|
|
39
|
+
h: 'c',
|
|
40
|
+
cpp: 'cpp',
|
|
41
|
+
cc: 'cpp',
|
|
42
|
+
cxx: 'cpp',
|
|
43
|
+
hpp: 'cpp',
|
|
44
|
+
hh: 'cpp',
|
|
45
|
+
rb: 'ruby',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
/** Map from language to its npm grammar package name. */
|
|
49
|
+
const GRAMMAR_PACKAGE_MAP: Record<TreeSitterLanguage, string> = {
|
|
50
|
+
typescript: 'tree-sitter-typescript',
|
|
51
|
+
tsx: 'tree-sitter-typescript',
|
|
52
|
+
javascript: 'tree-sitter-javascript',
|
|
53
|
+
python: 'tree-sitter-python',
|
|
54
|
+
go: 'tree-sitter-go',
|
|
55
|
+
rust: 'tree-sitter-rust',
|
|
56
|
+
java: 'tree-sitter-java',
|
|
57
|
+
c: 'tree-sitter-c',
|
|
58
|
+
cpp: 'tree-sitter-cpp',
|
|
59
|
+
ruby: 'tree-sitter-ruby',
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Detect tree-sitter language from a file path.
|
|
64
|
+
*
|
|
65
|
+
* @param filePath - Path to a source file
|
|
66
|
+
* @returns The detected language, or undefined if unsupported
|
|
67
|
+
*/
|
|
68
|
+
export function detectLanguage(filePath: string): TreeSitterLanguage | undefined {
|
|
69
|
+
const ext = filePath.split('.').pop()?.toLowerCase();
|
|
70
|
+
if (!ext) return undefined;
|
|
71
|
+
return EXTENSION_MAP[ext];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Get the npm grammar package name for a language.
|
|
76
|
+
*
|
|
77
|
+
* @param language - A tree-sitter language identifier
|
|
78
|
+
* @returns The npm package name containing the grammar
|
|
79
|
+
*/
|
|
80
|
+
export function grammarPackage(language: TreeSitterLanguage): string {
|
|
81
|
+
return GRAMMAR_PACKAGE_MAP[language];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** All supported file extensions. */
|
|
85
|
+
export const SUPPORTED_EXTENSIONS = Object.keys(EXTENSION_MAP);
|
|
86
|
+
|
|
87
|
+
/** All supported languages. */
|
|
88
|
+
export const SUPPORTED_LANGUAGES: TreeSitterLanguage[] = [...new Set(Object.values(EXTENSION_MAP))];
|
package/src/logger.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Custom formatters for uppercase level labels and ISO timestamps.
|
|
6
6
|
* Context via child loggers (getLogger('subsystem')).
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* All diagnostic logging goes to files — stdout is reserved for structured
|
|
9
|
+
* CLI output. Fallback stderr logger if not yet initialized.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { existsSync } from 'node:fs';
|
|
@@ -59,7 +59,7 @@ export function initLogger(
|
|
|
59
59
|
// transport has mkdir: true as a safety net for edge cases where the
|
|
60
60
|
// logger is initialized before scaffold (e.g. early startup fallback).
|
|
61
61
|
if (!existsSync(currentLogDir)) {
|
|
62
|
-
// Emit to stderr —
|
|
62
|
+
// Emit to stderr — stdout is reserved for structured output
|
|
63
63
|
process.stderr.write(
|
|
64
64
|
`[cleo:logger] Log directory missing: ${currentLogDir} — pino-roll will create it\n`,
|
|
65
65
|
);
|
|
@@ -122,11 +122,11 @@ export function initLogger(
|
|
|
122
122
|
* Safe to call before initLogger — returns a stderr fallback logger
|
|
123
123
|
* so early startup code and tests never crash.
|
|
124
124
|
*
|
|
125
|
-
* @param subsystem - Logical subsystem name (e.g. 'audit', '
|
|
125
|
+
* @param subsystem - Logical subsystem name (e.g. 'audit', 'dispatch', 'migration')
|
|
126
126
|
*/
|
|
127
127
|
export function getLogger(subsystem: string): pino.Logger {
|
|
128
128
|
if (!rootLogger) {
|
|
129
|
-
// Fallback: stderr logger (
|
|
129
|
+
// Fallback: stderr logger (stdout reserved for structured output)
|
|
130
130
|
return pino(
|
|
131
131
|
{
|
|
132
132
|
level: 'warn',
|
|
@@ -16,10 +16,23 @@ describe('Brain Memory Links', () => {
|
|
|
16
16
|
cleoDir = join(tempDir, '.cleo');
|
|
17
17
|
await mkdir(cleoDir, { recursive: true });
|
|
18
18
|
process.env['CLEO_DIR'] = cleoDir;
|
|
19
|
+
// Initialize tasks.db with test task IDs for cross-db write-guard validation
|
|
20
|
+
const { getDb } = await import('../../store/sqlite.js');
|
|
21
|
+
const { tasks } = await import('../../store/tasks-schema.js');
|
|
22
|
+
const db = await getDb(tempDir);
|
|
23
|
+
for (const id of ['T1000', 'T2000', 'T9999']) {
|
|
24
|
+
await db
|
|
25
|
+
.insert(tasks)
|
|
26
|
+
.values({ id, title: `Test task ${id}`, status: 'pending', type: 'task', position: 0 })
|
|
27
|
+
.onConflictDoNothing()
|
|
28
|
+
.run();
|
|
29
|
+
}
|
|
19
30
|
});
|
|
20
31
|
afterEach(async () => {
|
|
21
32
|
const { closeBrainDb } = await import('../../store/brain-sqlite.js');
|
|
33
|
+
const { resetDbState } = await import('../../store/sqlite.js');
|
|
22
34
|
closeBrainDb();
|
|
35
|
+
resetDbState();
|
|
23
36
|
delete process.env['CLEO_DIR'];
|
|
24
37
|
await rm(tempDir, { recursive: true, force: true });
|
|
25
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-links.test.js","sourceRoot":"","sources":["brain-links.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"brain-links.test.js","sourceRoot":"","sources":["brain-links.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAErE,IAAI,OAAe,CAAC;AACpB,IAAI,OAAe,CAAC;AAEpB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC7D,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QAElC,6EAA6E;QAC7E,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACxD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,EAAE;iBACL,MAAM,CAAC,KAAK,CAAC;iBACb,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;iBACtF,mBAAmB,EAAE;iBACrB,GAAG,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC/D,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC3E,YAAY,EAAE,CAAC;YAEf,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC,WAAW,CAAC;gBACzB,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,gBAAgB;gBAC3B,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YACzF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAE3F,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,MAAM,CACV,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAClE,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YAEtD,MAAM,MAAM,CACV,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,CACjE,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAC7E,mBAAmB,CACpB,CAAC;YACF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1E,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9E,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC7E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5E,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC1E,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAE5E,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC3D,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACjF,YAAY,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAE1B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC/E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5E,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAE3E,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACrE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE;gBACrC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE;gBACtF,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE;gBACpF,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE;aACvF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACzE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,YAAY,EAAE,CAAC;YAEf,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE;gBACrC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE;gBACtF,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE;aACrF,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC3E,YAAY,EAAE,CAAC;YAEf,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC,WAAW,CAAC;gBACzB,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,aAAa;gBACxB,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAClF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC3E,YAAY,EAAE,CAAC;YAEf,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC,UAAU,CAAC;gBACxB,EAAE,EAAE,MAAM;gBACV,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAE1E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACrE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC3E,YAAY,EAAE,CAAC;YAEf,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,QAAQ,CAAC,WAAW,CAAC;gBACzB,EAAE,EAAE,MAAM;gBACV,OAAO,EAAE,6BAA6B;gBACtC,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAChF,mBAAmB,CACpB,CAAC;YACF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;YACjF,YAAY,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAE1B,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -19,11 +19,25 @@ describe('Brain Memory Links', () => {
|
|
|
19
19
|
cleoDir = join(tempDir, '.cleo');
|
|
20
20
|
await mkdir(cleoDir, { recursive: true });
|
|
21
21
|
process.env['CLEO_DIR'] = cleoDir;
|
|
22
|
+
|
|
23
|
+
// Initialize tasks.db with test task IDs for cross-db write-guard validation
|
|
24
|
+
const { getDb } = await import('../../store/sqlite.js');
|
|
25
|
+
const { tasks } = await import('../../store/tasks-schema.js');
|
|
26
|
+
const db = await getDb(tempDir);
|
|
27
|
+
for (const id of ['T1000', 'T2000', 'T9999']) {
|
|
28
|
+
await db
|
|
29
|
+
.insert(tasks)
|
|
30
|
+
.values({ id, title: `Test task ${id}`, status: 'pending', type: 'task', position: 0 })
|
|
31
|
+
.onConflictDoNothing()
|
|
32
|
+
.run();
|
|
33
|
+
}
|
|
22
34
|
});
|
|
23
35
|
|
|
24
36
|
afterEach(async () => {
|
|
25
37
|
const { closeBrainDb } = await import('../../store/brain-sqlite.js');
|
|
38
|
+
const { resetDbState } = await import('../../store/sqlite.js');
|
|
26
39
|
closeBrainDb();
|
|
40
|
+
resetDbState();
|
|
27
41
|
delete process.env['CLEO_DIR'];
|
|
28
42
|
await rm(tempDir, { recursive: true, force: true });
|
|
29
43
|
});
|
|
@@ -18,6 +18,15 @@ describe('Brain Retrieval', () => {
|
|
|
18
18
|
cleoDir = join(tempDir, '.cleo');
|
|
19
19
|
await mkdir(cleoDir, { recursive: true });
|
|
20
20
|
process.env['CLEO_DIR'] = cleoDir;
|
|
21
|
+
// Initialize tasks.db with test session for cross-db write-guard validation
|
|
22
|
+
const { getDb } = await import('../../store/sqlite.js');
|
|
23
|
+
const { sessions } = await import('../../store/tasks-schema.js');
|
|
24
|
+
const db = await getDb(tempDir);
|
|
25
|
+
await db
|
|
26
|
+
.insert(sessions)
|
|
27
|
+
.values({ id: 'S-123', name: 'test-session', status: 'active' })
|
|
28
|
+
.onConflictDoNothing()
|
|
29
|
+
.run();
|
|
21
30
|
});
|
|
22
31
|
afterEach(async () => {
|
|
23
32
|
try {
|