@cleocode/core 2026.4.0 → 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/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/parser.d.ts +2 -0
- package/dist/code/parser.d.ts.map +1 -1
- 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 +5 -0
- package/dist/conduit/conduit-client.d.ts.map +1 -1
- package/dist/conduit/factory.d.ts +9 -1
- package/dist/conduit/factory.d.ts.map +1 -1
- package/dist/conduit/http-transport.d.ts +1 -1
- package/dist/conduit/http-transport.d.ts.map +1 -1
- 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 +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +645 -1038
- 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 +4 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/logger.d.ts +3 -3
- package/dist/memory/brain-retrieval.d.ts +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/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/provider.d.ts +1 -1
- package/dist/store/sqlite.d.ts +1 -1
- package/dist/store/tasks-schema.d.ts +4 -4
- 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 +1 -1
- 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 +13 -11
- 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/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/parser.ts +35 -3
- 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__/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-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 +189 -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 +1 -1
- package/src/conduit/conduit-client.ts +5 -0
- package/src/conduit/factory.ts +25 -8
- package/src/conduit/http-transport.ts +3 -2
- 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 +1 -1
- package/src/init.ts +14 -54
- package/src/injection.ts +4 -3
- package/src/internal.ts +3 -6
- 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-retrieval.test.js +9 -0
- package/src/memory/__tests__/brain-retrieval.test.js.map +1 -1
- package/src/memory/__tests__/session-memory.test.js +16 -0
- package/src/memory/__tests__/session-memory.test.js.map +1 -1
- package/src/memory/brain-retrieval.ts +1 -1
- 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/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/provider.ts +2 -2
- package/src/store/sqlite.ts +2 -2
- package/src/store/tasks-schema.ts +2 -2
- package/src/system/__tests__/health.test.js +2 -2
- package/src/system/__tests__/health.test.js.map +1 -1
- package/src/system/archive-analytics.ts +1 -1
- package/src/system/health.ts +11 -6
- 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/adapters/adapter-registry.js +0 -64
- package/dist/adapters/adapter-registry.js.map +0 -1
- package/dist/adapters/discovery.js +0 -83
- package/dist/adapters/discovery.js.map +0 -1
- package/dist/adapters/index.js +0 -9
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/manager.js +0 -260
- package/dist/adapters/manager.js.map +0 -1
- package/dist/admin/export-tasks.js +0 -171
- package/dist/admin/export-tasks.js.map +0 -1
- package/dist/admin/export.js +0 -103
- package/dist/admin/export.js.map +0 -1
- package/dist/admin/help.js +0 -106
- package/dist/admin/help.js.map +0 -1
- package/dist/admin/import-tasks.js +0 -182
- package/dist/admin/import-tasks.js.map +0 -1
- package/dist/admin/import.js +0 -129
- package/dist/admin/import.js.map +0 -1
- package/dist/admin/index.js +0 -13
- package/dist/admin/index.js.map +0 -1
- package/dist/adrs/find.js +0 -134
- package/dist/adrs/find.js.map +0 -1
- package/dist/adrs/index.js +0 -15
- package/dist/adrs/index.js.map +0 -1
- package/dist/adrs/link-pipeline.js +0 -160
- package/dist/adrs/link-pipeline.js.map +0 -1
- package/dist/adrs/list.js +0 -43
- package/dist/adrs/list.js.map +0 -1
- package/dist/adrs/parse.js +0 -51
- package/dist/adrs/parse.js.map +0 -1
- package/dist/adrs/show.js +0 -22
- package/dist/adrs/show.js.map +0 -1
- package/dist/adrs/sync.js +0 -188
- package/dist/adrs/sync.js.map +0 -1
- package/dist/adrs/types.js +0 -9
- package/dist/adrs/types.js.map +0 -1
- package/dist/adrs/validate.js +0 -57
- package/dist/adrs/validate.js.map +0 -1
- package/dist/agents/agent-registry.js +0 -288
- package/dist/agents/agent-registry.js.map +0 -1
- package/dist/agents/agent-schema.js +0 -85
- package/dist/agents/agent-schema.js.map +0 -1
- package/dist/agents/capacity.js +0 -116
- package/dist/agents/capacity.js.map +0 -1
- package/dist/agents/execution-learning.js +0 -474
- package/dist/agents/execution-learning.js.map +0 -1
- package/dist/agents/health-monitor.js +0 -217
- package/dist/agents/health-monitor.js.map +0 -1
- package/dist/agents/index.js +0 -29
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/registry.js +0 -314
- package/dist/agents/registry.js.map +0 -1
- package/dist/agents/retry.js +0 -215
- package/dist/agents/retry.js.map +0 -1
- package/dist/audit-prune.js +0 -94
- package/dist/audit-prune.js.map +0 -1
- package/dist/audit.js +0 -68
- package/dist/audit.js.map +0 -1
- package/dist/backfill/index.js +0 -229
- package/dist/backfill/index.js.map +0 -1
- package/dist/bootstrap.js +0 -367
- package/dist/bootstrap.js.map +0 -1
- package/dist/caamp/adapter.js +0 -434
- package/dist/caamp/adapter.js.map +0 -1
- package/dist/caamp/capability-check.js +0 -38
- package/dist/caamp/capability-check.js.map +0 -1
- package/dist/caamp/index.js +0 -23
- package/dist/caamp/index.js.map +0 -1
- package/dist/caamp-init.js +0 -16
- package/dist/caamp-init.js.map +0 -1
- package/dist/cant/approval.js +0 -185
- package/dist/cant/approval.js.map +0 -1
- package/dist/cant/context-builder.js +0 -117
- package/dist/cant/context-builder.js.map +0 -1
- package/dist/cant/discretion.js +0 -116
- package/dist/cant/discretion.js.map +0 -1
- package/dist/cant/index.js +0 -23
- package/dist/cant/index.js.map +0 -1
- package/dist/cant/parallel-runner.js +0 -173
- package/dist/cant/parallel-runner.js.map +0 -1
- package/dist/cant/types.js +0 -11
- package/dist/cant/types.js.map +0 -1
- package/dist/cant/workflow-executor.js +0 -440
- package/dist/cant/workflow-executor.js.map +0 -1
- package/dist/cleo.js +0 -322
- package/dist/cleo.js.map +0 -1
- package/dist/codebase-map/analyzers/architecture.js +0 -130
- package/dist/codebase-map/analyzers/architecture.js.map +0 -1
- package/dist/codebase-map/analyzers/concerns.js +0 -122
- package/dist/codebase-map/analyzers/concerns.js.map +0 -1
- package/dist/codebase-map/analyzers/conventions.js +0 -149
- package/dist/codebase-map/analyzers/conventions.js.map +0 -1
- package/dist/codebase-map/analyzers/integrations.js +0 -108
- package/dist/codebase-map/analyzers/integrations.js.map +0 -1
- package/dist/codebase-map/analyzers/stack.js +0 -117
- package/dist/codebase-map/analyzers/stack.js.map +0 -1
- package/dist/codebase-map/analyzers/structure.js +0 -137
- package/dist/codebase-map/analyzers/structure.js.map +0 -1
- package/dist/codebase-map/analyzers/testing.js +0 -118
- package/dist/codebase-map/analyzers/testing.js.map +0 -1
- package/dist/codebase-map/index.js +0 -57
- package/dist/codebase-map/index.js.map +0 -1
- package/dist/codebase-map/store.js +0 -122
- package/dist/codebase-map/store.js.map +0 -1
- package/dist/codebase-map/summary.js +0 -152
- package/dist/codebase-map/summary.js.map +0 -1
- package/dist/compliance/index.js +0 -288
- package/dist/compliance/index.js.map +0 -1
- package/dist/compliance/protocol-enforcement.js +0 -332
- package/dist/compliance/protocol-enforcement.js.map +0 -1
- package/dist/compliance/protocol-rules.js +0 -786
- package/dist/compliance/protocol-rules.js.map +0 -1
- package/dist/compliance/protocol-types.js +0 -80
- package/dist/compliance/protocol-types.js.map +0 -1
- package/dist/compliance/store.js +0 -53
- package/dist/compliance/store.js.map +0 -1
- package/dist/conduit/conduit-client.js +0 -94
- package/dist/conduit/conduit-client.js.map +0 -1
- package/dist/conduit/factory.js +0 -35
- package/dist/conduit/factory.js.map +0 -1
- package/dist/conduit/http-transport.js +0 -165
- package/dist/conduit/http-transport.js.map +0 -1
- package/dist/conduit/index.js +0 -12
- package/dist/conduit/index.js.map +0 -1
- package/dist/config/build-config.js +0 -29
- package/dist/config/build-config.js.map +0 -1
- package/dist/config.js +0 -401
- package/dist/config.js.map +0 -1
- package/dist/constants.js +0 -18
- package/dist/constants.js.map +0 -1
- package/dist/context/index.js +0 -137
- package/dist/context/index.js.map +0 -1
- package/dist/crypto/credentials.js +0 -144
- package/dist/crypto/credentials.js.map +0 -1
- package/dist/engine-result.js +0 -12
- package/dist/engine-result.js.map +0 -1
- package/dist/error-catalog.js +0 -404
- package/dist/error-catalog.js.map +0 -1
- package/dist/error-registry.js +0 -393
- package/dist/error-registry.js.map +0 -1
- package/dist/errors.js +0 -167
- package/dist/errors.js.map +0 -1
- package/dist/hooks/handlers/agent-hooks.js +0 -106
- package/dist/hooks/handlers/agent-hooks.js.map +0 -1
- package/dist/hooks/handlers/context-hooks.js +0 -111
- package/dist/hooks/handlers/context-hooks.js.map +0 -1
- package/dist/hooks/handlers/error-hooks.js +0 -52
- package/dist/hooks/handlers/error-hooks.js.map +0 -1
- package/dist/hooks/handlers/file-hooks.js +0 -104
- package/dist/hooks/handlers/file-hooks.js.map +0 -1
- package/dist/hooks/handlers/handler-helpers.js +0 -61
- package/dist/hooks/handlers/handler-helpers.js.map +0 -1
- package/dist/hooks/handlers/index.js +0 -28
- package/dist/hooks/handlers/index.js.map +0 -1
- package/dist/hooks/handlers/mcp-hooks.d.ts +0 -48
- package/dist/hooks/handlers/mcp-hooks.d.ts.map +0 -1
- package/dist/hooks/handlers/mcp-hooks.js +0 -147
- package/dist/hooks/handlers/mcp-hooks.js.map +0 -1
- package/dist/hooks/handlers/memory-bridge-refresh.js +0 -42
- package/dist/hooks/handlers/memory-bridge-refresh.js.map +0 -1
- package/dist/hooks/handlers/session-hooks.js +0 -104
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -65
- package/dist/hooks/handlers/task-hooks.js.map +0 -1
- package/dist/hooks/handlers/work-capture-hooks.js +0 -165
- package/dist/hooks/handlers/work-capture-hooks.js.map +0 -1
- package/dist/hooks/index.js +0 -13
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/payload-schemas.js +0 -220
- package/dist/hooks/payload-schemas.js.map +0 -1
- package/dist/hooks/provider-hooks.js +0 -66
- package/dist/hooks/provider-hooks.js.map +0 -1
- package/dist/hooks/registry.js +0 -229
- package/dist/hooks/registry.js.map +0 -1
- package/dist/hooks/types.js +0 -66
- package/dist/hooks/types.js.map +0 -1
- package/dist/hooks.js +0 -136
- package/dist/hooks.js.map +0 -1
- package/dist/init.js +0 -723
- package/dist/init.js.map +0 -1
- package/dist/inject/index.js +0 -82
- package/dist/inject/index.js.map +0 -1
- package/dist/injection.js +0 -343
- package/dist/injection.js.map +0 -1
- package/dist/intelligence/adaptive-validation.js +0 -497
- package/dist/intelligence/adaptive-validation.js.map +0 -1
- package/dist/intelligence/impact.js +0 -675
- package/dist/intelligence/impact.js.map +0 -1
- package/dist/intelligence/index.js +0 -22
- package/dist/intelligence/index.js.map +0 -1
- package/dist/intelligence/patterns.js +0 -492
- package/dist/intelligence/patterns.js.map +0 -1
- package/dist/intelligence/prediction.js +0 -499
- package/dist/intelligence/prediction.js.map +0 -1
- package/dist/intelligence/types.js +0 -13
- package/dist/intelligence/types.js.map +0 -1
- package/dist/internal.js +0 -286
- package/dist/internal.js.map +0 -1
- package/dist/issue/create.js +0 -121
- package/dist/issue/create.js.map +0 -1
- package/dist/issue/diagnostics.js +0 -59
- package/dist/issue/diagnostics.js.map +0 -1
- package/dist/issue/index.js +0 -10
- package/dist/issue/index.js.map +0 -1
- package/dist/issue/template-parser.js +0 -267
- package/dist/issue/template-parser.js.map +0 -1
- package/dist/json-schema-validator.js +0 -76
- package/dist/json-schema-validator.js.map +0 -1
- package/dist/lib/index.js +0 -10
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/retry.js +0 -152
- package/dist/lib/retry.js.map +0 -1
- package/dist/lifecycle/chain-composition.js +0 -152
- package/dist/lifecycle/chain-composition.js.map +0 -1
- package/dist/lifecycle/chain-store.js +0 -246
- package/dist/lifecycle/chain-store.js.map +0 -1
- package/dist/lifecycle/consolidate-rcasd.js +0 -352
- package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
- package/dist/lifecycle/default-chain.js +0 -167
- package/dist/lifecycle/default-chain.js.map +0 -1
- package/dist/lifecycle/evidence.js +0 -180
- package/dist/lifecycle/evidence.js.map +0 -1
- package/dist/lifecycle/frontmatter.js +0 -363
- package/dist/lifecycle/frontmatter.js.map +0 -1
- package/dist/lifecycle/index.js +0 -753
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/lifecycle/pipeline.js +0 -656
- package/dist/lifecycle/pipeline.js.map +0 -1
- package/dist/lifecycle/rcasd-index.js +0 -326
- package/dist/lifecycle/rcasd-index.js.map +0 -1
- package/dist/lifecycle/rcasd-paths.js +0 -220
- package/dist/lifecycle/rcasd-paths.js.map +0 -1
- package/dist/lifecycle/resume.js +0 -864
- package/dist/lifecycle/resume.js.map +0 -1
- package/dist/lifecycle/stage-artifacts.js +0 -94
- package/dist/lifecycle/stage-artifacts.js.map +0 -1
- package/dist/lifecycle/stages.js +0 -534
- package/dist/lifecycle/stages.js.map +0 -1
- package/dist/lifecycle/state-machine.js +0 -516
- package/dist/lifecycle/state-machine.js.map +0 -1
- package/dist/lifecycle/tessera-engine.js +0 -249
- package/dist/lifecycle/tessera-engine.js.map +0 -1
- package/dist/logger.js +0 -140
- package/dist/logger.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -42
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -146
- package/dist/mcp/index.js.map +0 -1
- package/dist/memory/auto-extract.js +0 -177
- package/dist/memory/auto-extract.js.map +0 -1
- package/dist/memory/brain-embedding.js +0 -66
- package/dist/memory/brain-embedding.js.map +0 -1
- package/dist/memory/brain-lifecycle.js +0 -298
- package/dist/memory/brain-lifecycle.js.map +0 -1
- package/dist/memory/brain-links.js +0 -148
- package/dist/memory/brain-links.js.map +0 -1
- package/dist/memory/brain-maintenance.js +0 -98
- package/dist/memory/brain-maintenance.js.map +0 -1
- package/dist/memory/brain-migration.js +0 -149
- package/dist/memory/brain-migration.js.map +0 -1
- package/dist/memory/brain-reasoning.js +0 -215
- package/dist/memory/brain-reasoning.js.map +0 -1
- package/dist/memory/brain-retrieval.js +0 -526
- package/dist/memory/brain-retrieval.js.map +0 -1
- package/dist/memory/brain-row-types.js +0 -10
- package/dist/memory/brain-row-types.js.map +0 -1
- package/dist/memory/brain-search.js +0 -519
- package/dist/memory/brain-search.js.map +0 -1
- package/dist/memory/brain-similarity.js +0 -145
- package/dist/memory/brain-similarity.js.map +0 -1
- package/dist/memory/claude-mem-migration.js +0 -277
- package/dist/memory/claude-mem-migration.js.map +0 -1
- package/dist/memory/decisions.js +0 -148
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/embedding-local.js +0 -97
- package/dist/memory/embedding-local.js.map +0 -1
- package/dist/memory/embedding-queue.js +0 -271
- package/dist/memory/embedding-queue.js.map +0 -1
- package/dist/memory/embedding-worker.js +0 -58
- package/dist/memory/embedding-worker.js.map +0 -1
- package/dist/memory/engine-compat.js +0 -1030
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/index.js +0 -773
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/learnings.js +0 -121
- package/dist/memory/learnings.js.map +0 -1
- package/dist/memory/memory-bridge.js +0 -370
- package/dist/memory/memory-bridge.js.map +0 -1
- package/dist/memory/patterns.js +0 -122
- package/dist/memory/patterns.js.map +0 -1
- package/dist/memory/pipeline-manifest-sqlite.js +0 -975
- package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
- package/dist/memory/session-memory.js +0 -331
- package/dist/memory/session-memory.js.map +0 -1
- package/dist/metrics/ab-test.js +0 -260
- package/dist/metrics/ab-test.js.map +0 -1
- package/dist/metrics/aggregation.js +0 -363
- package/dist/metrics/aggregation.js.map +0 -1
- package/dist/metrics/common.js +0 -64
- package/dist/metrics/common.js.map +0 -1
- package/dist/metrics/enums.js +0 -78
- package/dist/metrics/enums.js.map +0 -1
- package/dist/metrics/index.js +0 -19
- package/dist/metrics/index.js.map +0 -1
- package/dist/metrics/model-provider-registry.js +0 -88
- package/dist/metrics/model-provider-registry.js.map +0 -1
- package/dist/metrics/otel-integration.js +0 -263
- package/dist/metrics/otel-integration.js.map +0 -1
- package/dist/metrics/provider-detection.js +0 -103
- package/dist/metrics/provider-detection.js.map +0 -1
- package/dist/metrics/token-estimation.js +0 -253
- package/dist/metrics/token-estimation.js.map +0 -1
- package/dist/metrics/token-service.js +0 -450
- package/dist/metrics/token-service.js.map +0 -1
- package/dist/migration/agent-outputs.js +0 -316
- package/dist/migration/agent-outputs.js.map +0 -1
- package/dist/migration/checksum.js +0 -92
- package/dist/migration/checksum.js.map +0 -1
- package/dist/migration/index.js +0 -282
- package/dist/migration/index.js.map +0 -1
- package/dist/migration/logger.js +0 -360
- package/dist/migration/logger.js.map +0 -1
- package/dist/migration/preflight.js +0 -9
- package/dist/migration/preflight.js.map +0 -1
- package/dist/migration/state.js +0 -421
- package/dist/migration/state.js.map +0 -1
- package/dist/migration/validate.js +0 -241
- package/dist/migration/validate.js.map +0 -1
- package/dist/mvi-helpers.js +0 -74
- package/dist/mvi-helpers.js.map +0 -1
- package/dist/nexus/deps.js +0 -375
- package/dist/nexus/deps.js.map +0 -1
- package/dist/nexus/discover.js +0 -288
- package/dist/nexus/discover.js.map +0 -1
- package/dist/nexus/hash.js +0 -10
- package/dist/nexus/hash.js.map +0 -1
- package/dist/nexus/index.js +0 -40
- package/dist/nexus/index.js.map +0 -1
- package/dist/nexus/migrate-json-to-sqlite.js +0 -115
- package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
- package/dist/nexus/permissions.js +0 -105
- package/dist/nexus/permissions.js.map +0 -1
- package/dist/nexus/query.js +0 -175
- package/dist/nexus/query.js.map +0 -1
- package/dist/nexus/registry.js +0 -584
- package/dist/nexus/registry.js.map +0 -1
- package/dist/nexus/sharing/index.js +0 -288
- package/dist/nexus/sharing/index.js.map +0 -1
- package/dist/nexus/transfer-types.js +0 -8
- package/dist/nexus/transfer-types.js.map +0 -1
- package/dist/nexus/transfer.js +0 -263
- package/dist/nexus/transfer.js.map +0 -1
- package/dist/nexus/workspace.js +0 -355
- package/dist/nexus/workspace.js.map +0 -1
- package/dist/observability/index.js +0 -103
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/log-filter.js +0 -63
- package/dist/observability/log-filter.js.map +0 -1
- package/dist/observability/log-parser.js +0 -99
- package/dist/observability/log-parser.js.map +0 -1
- package/dist/observability/log-reader.js +0 -139
- package/dist/observability/log-reader.js.map +0 -1
- package/dist/observability/types.js +0 -19
- package/dist/observability/types.js.map +0 -1
- package/dist/orchestration/analyze.js +0 -107
- package/dist/orchestration/analyze.js.map +0 -1
- package/dist/orchestration/bootstrap.js +0 -132
- package/dist/orchestration/bootstrap.js.map +0 -1
- package/dist/orchestration/context.js +0 -56
- package/dist/orchestration/context.js.map +0 -1
- package/dist/orchestration/critical-path.js +0 -100
- package/dist/orchestration/critical-path.js.map +0 -1
- package/dist/orchestration/index.js +0 -286
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/parallel.js +0 -89
- package/dist/orchestration/parallel.js.map +0 -1
- package/dist/orchestration/protocol-validators.js +0 -524
- package/dist/orchestration/protocol-validators.js.map +0 -1
- package/dist/orchestration/skill-ops.js +0 -98
- package/dist/orchestration/skill-ops.js.map +0 -1
- package/dist/orchestration/status.js +0 -107
- package/dist/orchestration/status.js.map +0 -1
- package/dist/orchestration/unblock.js +0 -103
- package/dist/orchestration/unblock.js.map +0 -1
- package/dist/orchestration/validate-spawn.js +0 -67
- package/dist/orchestration/validate-spawn.js.map +0 -1
- package/dist/orchestration/waves.js +0 -86
- package/dist/orchestration/waves.js.map +0 -1
- package/dist/otel/index.js +0 -163
- package/dist/otel/index.js.map +0 -1
- package/dist/output.js +0 -164
- package/dist/output.js.map +0 -1
- package/dist/pagination.js +0 -64
- package/dist/pagination.js.map +0 -1
- package/dist/paths.js +0 -337
- package/dist/paths.js.map +0 -1
- package/dist/phases/deps.js +0 -372
- package/dist/phases/deps.js.map +0 -1
- package/dist/phases/index.js +0 -349
- package/dist/phases/index.js.map +0 -1
- package/dist/pipeline/index.js +0 -10
- package/dist/pipeline/index.js.map +0 -1
- package/dist/pipeline/phase.js +0 -45
- package/dist/pipeline/phase.js.map +0 -1
- package/dist/platform.js +0 -211
- package/dist/platform.js.map +0 -1
- package/dist/project-info.js +0 -84
- package/dist/project-info.js.map +0 -1
- package/dist/reconciliation/index.js +0 -10
- package/dist/reconciliation/index.js.map +0 -1
- package/dist/reconciliation/link-store.js +0 -129
- package/dist/reconciliation/link-store.js.map +0 -1
- package/dist/reconciliation/reconciliation-engine.js +0 -298
- package/dist/reconciliation/reconciliation-engine.js.map +0 -1
- package/dist/release/artifacts.js +0 -427
- package/dist/release/artifacts.js.map +0 -1
- package/dist/release/changelog-writer.js +0 -151
- package/dist/release/changelog-writer.js.map +0 -1
- package/dist/release/channel.js +0 -144
- package/dist/release/channel.js.map +0 -1
- package/dist/release/ci.js +0 -166
- package/dist/release/ci.js.map +0 -1
- package/dist/release/github-pr.js +0 -225
- package/dist/release/github-pr.js.map +0 -1
- package/dist/release/guards.js +0 -116
- package/dist/release/guards.js.map +0 -1
- package/dist/release/index.js +0 -22
- package/dist/release/index.js.map +0 -1
- package/dist/release/release-config.js +0 -158
- package/dist/release/release-config.js.map +0 -1
- package/dist/release/release-manifest.js +0 -1019
- package/dist/release/release-manifest.js.map +0 -1
- package/dist/release/version-bump.js +0 -255
- package/dist/release/version-bump.js.map +0 -1
- package/dist/remote/index.js +0 -257
- package/dist/remote/index.js.map +0 -1
- package/dist/repair.js +0 -130
- package/dist/repair.js.map +0 -1
- package/dist/research/index.js +0 -2
- package/dist/research/index.js.map +0 -1
- package/dist/roadmap/index.js +0 -59
- package/dist/roadmap/index.js.map +0 -1
- package/dist/routing/capability-matrix.js +0 -1557
- package/dist/routing/capability-matrix.js.map +0 -1
- package/dist/routing/index.js +0 -9
- package/dist/routing/index.js.map +0 -1
- package/dist/scaffold.js +0 -1178
- package/dist/scaffold.js.map +0 -1
- package/dist/schema-management.js +0 -295
- package/dist/schema-management.js.map +0 -1
- package/dist/security/index.js +0 -9
- package/dist/security/index.js.map +0 -1
- package/dist/security/input-sanitization.js +0 -321
- package/dist/security/input-sanitization.js.map +0 -1
- package/dist/sequence/index.js +0 -295
- package/dist/sequence/index.js.map +0 -1
- package/dist/sessions/assumptions.js +0 -54
- package/dist/sessions/assumptions.js.map +0 -1
- package/dist/sessions/briefing.js +0 -377
- package/dist/sessions/briefing.js.map +0 -1
- package/dist/sessions/context-alert.js +0 -222
- package/dist/sessions/context-alert.js.map +0 -1
- package/dist/sessions/context-inject.js +0 -61
- package/dist/sessions/context-inject.js.map +0 -1
- package/dist/sessions/context-monitor.js +0 -98
- package/dist/sessions/context-monitor.js.map +0 -1
- package/dist/sessions/decisions.js +0 -65
- package/dist/sessions/decisions.js.map +0 -1
- package/dist/sessions/find.js +0 -65
- package/dist/sessions/find.js.map +0 -1
- package/dist/sessions/handoff.js +0 -328
- package/dist/sessions/handoff.js.map +0 -1
- package/dist/sessions/hitl-warnings.js +0 -254
- package/dist/sessions/hitl-warnings.js.map +0 -1
- package/dist/sessions/index.js +0 -321
- package/dist/sessions/index.js.map +0 -1
- package/dist/sessions/session-archive.js +0 -40
- package/dist/sessions/session-archive.js.map +0 -1
- package/dist/sessions/session-cleanup.js +0 -59
- package/dist/sessions/session-cleanup.js.map +0 -1
- package/dist/sessions/session-drift.js +0 -134
- package/dist/sessions/session-drift.js.map +0 -1
- package/dist/sessions/session-enforcement.js +0 -144
- package/dist/sessions/session-enforcement.js.map +0 -1
- package/dist/sessions/session-grade.js +0 -253
- package/dist/sessions/session-grade.js.map +0 -1
- package/dist/sessions/session-history.js +0 -42
- package/dist/sessions/session-history.js.map +0 -1
- package/dist/sessions/session-id.js +0 -81
- package/dist/sessions/session-id.js.map +0 -1
- package/dist/sessions/session-memory-bridge.js +0 -52
- package/dist/sessions/session-memory-bridge.js.map +0 -1
- package/dist/sessions/session-show.js +0 -24
- package/dist/sessions/session-show.js.map +0 -1
- package/dist/sessions/session-stats.js +0 -69
- package/dist/sessions/session-stats.js.map +0 -1
- package/dist/sessions/session-suspend.js +0 -39
- package/dist/sessions/session-suspend.js.map +0 -1
- package/dist/sessions/session-switch.js +0 -51
- package/dist/sessions/session-switch.js.map +0 -1
- package/dist/sessions/session-view.js +0 -76
- package/dist/sessions/session-view.js.map +0 -1
- package/dist/sessions/snapshot.js +0 -213
- package/dist/sessions/snapshot.js.map +0 -1
- package/dist/sessions/statusline-setup.js +0 -85
- package/dist/sessions/statusline-setup.js.map +0 -1
- package/dist/sessions/types.js +0 -8
- package/dist/sessions/types.js.map +0 -1
- package/dist/signaldock/claude-code-transport.d.ts +0 -34
- package/dist/signaldock/claude-code-transport.d.ts.map +0 -1
- package/dist/signaldock/claude-code-transport.js +0 -107
- package/dist/signaldock/claude-code-transport.js.map +0 -1
- package/dist/signaldock/factory.d.ts +0 -22
- package/dist/signaldock/factory.d.ts.map +0 -1
- package/dist/signaldock/factory.js +0 -25
- package/dist/signaldock/factory.js.map +0 -1
- package/dist/signaldock/index.d.ts +0 -13
- package/dist/signaldock/index.d.ts.map +0 -1
- package/dist/signaldock/index.js +0 -9
- package/dist/signaldock/index.js.map +0 -1
- package/dist/signaldock/signaldock-transport.d.ts +0 -45
- package/dist/signaldock/signaldock-transport.d.ts.map +0 -1
- package/dist/signaldock/signaldock-transport.js +0 -122
- package/dist/signaldock/signaldock-transport.js.map +0 -1
- package/dist/signaldock/transport.d.ts +0 -49
- package/dist/signaldock/transport.d.ts.map +0 -1
- package/dist/signaldock/transport.js +0 -11
- package/dist/signaldock/transport.js.map +0 -1
- package/dist/signaldock/types.d.ts +0 -88
- package/dist/signaldock/types.d.ts.map +0 -1
- package/dist/signaldock/types.js +0 -11
- package/dist/signaldock/types.js.map +0 -1
- package/dist/skills/agents/config.js +0 -94
- package/dist/skills/agents/config.js.map +0 -1
- package/dist/skills/agents/install.js +0 -116
- package/dist/skills/agents/install.js.map +0 -1
- package/dist/skills/agents/registry.js +0 -161
- package/dist/skills/agents/registry.js.map +0 -1
- package/dist/skills/discovery.js +0 -333
- package/dist/skills/discovery.js.map +0 -1
- package/dist/skills/dispatch.js +0 -347
- package/dist/skills/dispatch.js.map +0 -1
- package/dist/skills/dynamic-skill-generator.js +0 -100
- package/dist/skills/dynamic-skill-generator.js.map +0 -1
- package/dist/skills/index.js +0 -44
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/injection/subagent.js +0 -195
- package/dist/skills/injection/subagent.js.map +0 -1
- package/dist/skills/injection/token.js +0 -260
- package/dist/skills/injection/token.js.map +0 -1
- package/dist/skills/install.js +0 -40
- package/dist/skills/install.js.map +0 -1
- package/dist/skills/manifests/contribution.js +0 -175
- package/dist/skills/manifests/contribution.js.map +0 -1
- package/dist/skills/manifests/research.js +0 -281
- package/dist/skills/manifests/research.js.map +0 -1
- package/dist/skills/manifests/resolver.js +0 -146
- package/dist/skills/manifests/resolver.js.map +0 -1
- package/dist/skills/marketplace.js +0 -90
- package/dist/skills/marketplace.js.map +0 -1
- package/dist/skills/orchestrator/spawn.js +0 -178
- package/dist/skills/orchestrator/spawn.js.map +0 -1
- package/dist/skills/orchestrator/startup.js +0 -451
- package/dist/skills/orchestrator/startup.js.map +0 -1
- package/dist/skills/orchestrator/validator.js +0 -301
- package/dist/skills/orchestrator/validator.js.map +0 -1
- package/dist/skills/precedence-integration.js +0 -73
- package/dist/skills/precedence-integration.js.map +0 -1
- package/dist/skills/precedence-types.js +0 -16
- package/dist/skills/precedence-types.js.map +0 -1
- package/dist/skills/routing-table.js +0 -63
- package/dist/skills/routing-table.js.map +0 -1
- package/dist/skills/skill-paths.js +0 -220
- package/dist/skills/skill-paths.js.map +0 -1
- package/dist/skills/test-utility.js +0 -55
- package/dist/skills/test-utility.js.map +0 -1
- package/dist/skills/types.js +0 -118
- package/dist/skills/types.js.map +0 -1
- package/dist/skills/validation.js +0 -183
- package/dist/skills/validation.js.map +0 -1
- package/dist/skills/version.js +0 -57
- package/dist/skills/version.js.map +0 -1
- package/dist/snapshot/index.js +0 -188
- package/dist/snapshot/index.js.map +0 -1
- package/dist/spawn/adapter-registry.js +0 -246
- package/dist/spawn/adapter-registry.js.map +0 -1
- package/dist/spawn/index.js +0 -10
- package/dist/spawn/index.js.map +0 -1
- package/dist/stats/index.js +0 -343
- package/dist/stats/index.js.map +0 -1
- package/dist/stats/workflow-telemetry.js +0 -400
- package/dist/stats/workflow-telemetry.js.map +0 -1
- package/dist/sticky/archive.js +0 -47
- package/dist/sticky/archive.js.map +0 -1
- package/dist/sticky/convert.js +0 -235
- package/dist/sticky/convert.js.map +0 -1
- package/dist/sticky/create.js +0 -48
- package/dist/sticky/create.js.map +0 -1
- package/dist/sticky/id.js +0 -35
- package/dist/sticky/id.js.map +0 -1
- package/dist/sticky/index.js +0 -16
- package/dist/sticky/index.js.map +0 -1
- package/dist/sticky/list.js +0 -44
- package/dist/sticky/list.js.map +0 -1
- package/dist/sticky/purge.js +0 -45
- package/dist/sticky/purge.js.map +0 -1
- package/dist/sticky/show.js +0 -42
- package/dist/sticky/show.js.map +0 -1
- package/dist/sticky/types.js +0 -10
- package/dist/sticky/types.js.map +0 -1
- package/dist/store/agent-registry-accessor.js +0 -169
- package/dist/store/agent-registry-accessor.js.map +0 -1
- package/dist/store/atomic.js +0 -167
- package/dist/store/atomic.js.map +0 -1
- package/dist/store/backup.js +0 -94
- package/dist/store/backup.js.map +0 -1
- package/dist/store/brain-accessor.js +0 -397
- package/dist/store/brain-accessor.js.map +0 -1
- package/dist/store/brain-schema.js +0 -215
- package/dist/store/brain-schema.js.map +0 -1
- package/dist/store/brain-sqlite.js +0 -222
- package/dist/store/brain-sqlite.js.map +0 -1
- package/dist/store/cache.js +0 -168
- package/dist/store/cache.js.map +0 -1
- package/dist/store/chain-schema.js +0 -51
- package/dist/store/chain-schema.js.map +0 -1
- package/dist/store/converters.js +0 -124
- package/dist/store/converters.js.map +0 -1
- package/dist/store/cross-db-cleanup.js +0 -169
- package/dist/store/cross-db-cleanup.js.map +0 -1
- package/dist/store/data-accessor.js +0 -26
- package/dist/store/data-accessor.js.map +0 -1
- package/dist/store/data-safety-central.js +0 -269
- package/dist/store/data-safety-central.js.map +0 -1
- package/dist/store/data-safety.js +0 -274
- package/dist/store/data-safety.js.map +0 -1
- package/dist/store/db-helpers.js +0 -224
- package/dist/store/db-helpers.js.map +0 -1
- package/dist/store/export.js +0 -155
- package/dist/store/export.js.map +0 -1
- package/dist/store/file-utils.js +0 -270
- package/dist/store/file-utils.js.map +0 -1
- package/dist/store/git-checkpoint.js +0 -365
- package/dist/store/git-checkpoint.js.map +0 -1
- package/dist/store/import-logging.js +0 -139
- package/dist/store/import-logging.js.map +0 -1
- package/dist/store/import-remap.js +0 -145
- package/dist/store/import-remap.js.map +0 -1
- package/dist/store/import-sort.js +0 -121
- package/dist/store/import-sort.js.map +0 -1
- package/dist/store/index.js +0 -28
- package/dist/store/index.js.map +0 -1
- package/dist/store/json.js +0 -208
- package/dist/store/json.js.map +0 -1
- package/dist/store/lifecycle-store.js +0 -249
- package/dist/store/lifecycle-store.js.map +0 -1
- package/dist/store/lock.js +0 -70
- package/dist/store/lock.js.map +0 -1
- package/dist/store/migration-manager.js +0 -151
- package/dist/store/migration-manager.js.map +0 -1
- package/dist/store/migration-sqlite.js +0 -676
- package/dist/store/migration-sqlite.js.map +0 -1
- package/dist/store/nexus-schema.js +0 -62
- package/dist/store/nexus-schema.js.map +0 -1
- package/dist/store/nexus-sqlite.js +0 -217
- package/dist/store/nexus-sqlite.js.map +0 -1
- package/dist/store/nexus-validation-schemas.js +0 -40
- package/dist/store/nexus-validation-schemas.js.map +0 -1
- package/dist/store/parsers.js +0 -37
- package/dist/store/parsers.js.map +0 -1
- package/dist/store/project-detect.js +0 -457
- package/dist/store/project-detect.js.map +0 -1
- package/dist/store/provider.js +0 -101
- package/dist/store/provider.js.map +0 -1
- package/dist/store/safety-data-accessor.js +0 -257
- package/dist/store/safety-data-accessor.js.map +0 -1
- package/dist/store/schema.js +0 -7
- package/dist/store/schema.js.map +0 -1
- package/dist/store/session-store.js +0 -219
- package/dist/store/session-store.js.map +0 -1
- package/dist/store/signaldock-sqlite.js +0 -178
- package/dist/store/signaldock-sqlite.js.map +0 -1
- package/dist/store/sqlite-backup.js +0 -105
- package/dist/store/sqlite-backup.js.map +0 -1
- package/dist/store/sqlite-data-accessor.js +0 -784
- package/dist/store/sqlite-data-accessor.js.map +0 -1
- package/dist/store/sqlite.js +0 -465
- package/dist/store/sqlite.js.map +0 -1
- package/dist/store/status-registry.js +0 -8
- package/dist/store/status-registry.js.map +0 -1
- package/dist/store/task-store.js +0 -350
- package/dist/store/task-store.js.map +0 -1
- package/dist/store/tasks-schema.js +0 -637
- package/dist/store/tasks-schema.js.map +0 -1
- package/dist/store/typed-query.js +0 -15
- package/dist/store/typed-query.js.map +0 -1
- package/dist/store/validation-schemas.js +0 -278
- package/dist/store/validation-schemas.js.map +0 -1
- package/dist/system/archive-analytics.js +0 -277
- package/dist/system/archive-analytics.js.map +0 -1
- package/dist/system/archive-stats.js +0 -64
- package/dist/system/archive-stats.js.map +0 -1
- package/dist/system/audit.js +0 -145
- package/dist/system/audit.js.map +0 -1
- package/dist/system/backup.js +0 -141
- package/dist/system/backup.js.map +0 -1
- package/dist/system/cleanup.js +0 -134
- package/dist/system/cleanup.js.map +0 -1
- package/dist/system/health.js +0 -1089
- package/dist/system/health.js.map +0 -1
- package/dist/system/index.js +0 -18
- package/dist/system/index.js.map +0 -1
- package/dist/system/inject-generate.js +0 -122
- package/dist/system/inject-generate.js.map +0 -1
- package/dist/system/labels.js +0 -38
- package/dist/system/labels.js.map +0 -1
- package/dist/system/metrics.js +0 -61
- package/dist/system/metrics.js.map +0 -1
- package/dist/system/migrate.js +0 -43
- package/dist/system/migrate.js.map +0 -1
- package/dist/system/platform-paths.js +0 -80
- package/dist/system/platform-paths.js.map +0 -1
- package/dist/system/runtime.js +0 -161
- package/dist/system/runtime.js.map +0 -1
- package/dist/system/safestop.js +0 -99
- package/dist/system/safestop.js.map +0 -1
- package/dist/system/storage-preflight.js +0 -123
- package/dist/system/storage-preflight.js.map +0 -1
- package/dist/task-work/index.js +0 -159
- package/dist/task-work/index.js.map +0 -1
- package/dist/tasks/add.js +0 -661
- package/dist/tasks/add.js.map +0 -1
- package/dist/tasks/analyze.js +0 -85
- package/dist/tasks/analyze.js.map +0 -1
- package/dist/tasks/archive.js +0 -90
- package/dist/tasks/archive.js.map +0 -1
- package/dist/tasks/atomicity.js +0 -83
- package/dist/tasks/atomicity.js.map +0 -1
- package/dist/tasks/cancel-ops.js +0 -83
- package/dist/tasks/cancel-ops.js.map +0 -1
- package/dist/tasks/complete.js +0 -211
- package/dist/tasks/complete.js.map +0 -1
- package/dist/tasks/crossref-extract.js +0 -73
- package/dist/tasks/crossref-extract.js.map +0 -1
- package/dist/tasks/delete-preview.js +0 -192
- package/dist/tasks/delete-preview.js.map +0 -1
- package/dist/tasks/delete.js +0 -120
- package/dist/tasks/delete.js.map +0 -1
- package/dist/tasks/deletion-strategy.js +0 -200
- package/dist/tasks/deletion-strategy.js.map +0 -1
- package/dist/tasks/dependency-check.js +0 -278
- package/dist/tasks/dependency-check.js.map +0 -1
- package/dist/tasks/deps-ready.js +0 -32
- package/dist/tasks/deps-ready.js.map +0 -1
- package/dist/tasks/enforcement.js +0 -86
- package/dist/tasks/enforcement.js.map +0 -1
- package/dist/tasks/epic-enforcement.js +0 -294
- package/dist/tasks/epic-enforcement.js.map +0 -1
- package/dist/tasks/find.js +0 -154
- package/dist/tasks/find.js.map +0 -1
- package/dist/tasks/graph-cache.js +0 -127
- package/dist/tasks/graph-cache.js.map +0 -1
- package/dist/tasks/graph-ops.js +0 -171
- package/dist/tasks/graph-ops.js.map +0 -1
- package/dist/tasks/graph-rag.js +0 -328
- package/dist/tasks/graph-rag.js.map +0 -1
- package/dist/tasks/hierarchy-policy.js +0 -149
- package/dist/tasks/hierarchy-policy.js.map +0 -1
- package/dist/tasks/hierarchy.js +0 -185
- package/dist/tasks/hierarchy.js.map +0 -1
- package/dist/tasks/id-generator.js +0 -65
- package/dist/tasks/id-generator.js.map +0 -1
- package/dist/tasks/index.js +0 -14
- package/dist/tasks/index.js.map +0 -1
- package/dist/tasks/labels.js +0 -52
- package/dist/tasks/labels.js.map +0 -1
- package/dist/tasks/list.js +0 -75
- package/dist/tasks/list.js.map +0 -1
- package/dist/tasks/phase-tracking.js +0 -133
- package/dist/tasks/phase-tracking.js.map +0 -1
- package/dist/tasks/pipeline-stage.js +0 -248
- package/dist/tasks/pipeline-stage.js.map +0 -1
- package/dist/tasks/plan.js +0 -268
- package/dist/tasks/plan.js.map +0 -1
- package/dist/tasks/relates.js +0 -89
- package/dist/tasks/relates.js.map +0 -1
- package/dist/tasks/show.js +0 -80
- package/dist/tasks/show.js.map +0 -1
- package/dist/tasks/size-weighting.js +0 -86
- package/dist/tasks/size-weighting.js.map +0 -1
- package/dist/tasks/staleness.js +0 -86
- package/dist/tasks/staleness.js.map +0 -1
- package/dist/tasks/task-ops.js +0 -1340
- package/dist/tasks/task-ops.js.map +0 -1
- package/dist/tasks/update.js +0 -271
- package/dist/tasks/update.js.map +0 -1
- package/dist/templates/index.js +0 -10
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/parser.js +0 -254
- package/dist/templates/parser.js.map +0 -1
- package/dist/ui/aliases.js +0 -153
- package/dist/ui/aliases.js.map +0 -1
- package/dist/ui/changelog.js +0 -184
- package/dist/ui/changelog.js.map +0 -1
- package/dist/ui/command-registry.js +0 -168
- package/dist/ui/command-registry.js.map +0 -1
- package/dist/ui/flags.js +0 -94
- package/dist/ui/flags.js.map +0 -1
- package/dist/ui/index.js +0 -24
- package/dist/ui/index.js.map +0 -1
- package/dist/upgrade.js +0 -1159
- package/dist/upgrade.js.map +0 -1
- package/dist/validation/chain-validation.js +0 -146
- package/dist/validation/chain-validation.js.map +0 -1
- package/dist/validation/compliance.js +0 -155
- package/dist/validation/compliance.js.map +0 -1
- package/dist/validation/docs-sync.js +0 -212
- package/dist/validation/docs-sync.js.map +0 -1
- package/dist/validation/doctor/checks.js +0 -1069
- package/dist/validation/doctor/checks.js.map +0 -1
- package/dist/validation/doctor/index.js +0 -9
- package/dist/validation/doctor/index.js.map +0 -1
- package/dist/validation/doctor/project-cache.js +0 -160
- package/dist/validation/doctor/project-cache.js.map +0 -1
- package/dist/validation/doctor/utils.js +0 -155
- package/dist/validation/doctor/utils.js.map +0 -1
- package/dist/validation/engine.js +0 -902
- package/dist/validation/engine.js.map +0 -1
- package/dist/validation/gap-check.js +0 -175
- package/dist/validation/gap-check.js.map +0 -1
- package/dist/validation/index.js +0 -40
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/manifest.js +0 -237
- package/dist/validation/manifest.js.map +0 -1
- package/dist/validation/operation-gate-validators.js +0 -724
- package/dist/validation/operation-gate-validators.js.map +0 -1
- package/dist/validation/operation-verification-gates.js +0 -532
- package/dist/validation/operation-verification-gates.js.map +0 -1
- package/dist/validation/param-utils.js +0 -139
- package/dist/validation/param-utils.js.map +0 -1
- package/dist/validation/protocol-common.js +0 -300
- package/dist/validation/protocol-common.js.map +0 -1
- package/dist/validation/protocols/consensus.js +0 -71
- package/dist/validation/protocols/consensus.js.map +0 -1
- package/dist/validation/protocols/contribution.js +0 -59
- package/dist/validation/protocols/contribution.js.map +0 -1
- package/dist/validation/protocols/decomposition.js +0 -59
- package/dist/validation/protocols/decomposition.js.map +0 -1
- package/dist/validation/protocols/implementation.js +0 -59
- package/dist/validation/protocols/implementation.js.map +0 -1
- package/dist/validation/protocols/release-protocol.js +0 -60
- package/dist/validation/protocols/release-protocol.js.map +0 -1
- package/dist/validation/protocols/research.js +0 -77
- package/dist/validation/protocols/research.js.map +0 -1
- package/dist/validation/protocols/specification.js +0 -84
- package/dist/validation/protocols/specification.js.map +0 -1
- package/dist/validation/protocols/testing-protocol.js +0 -70
- package/dist/validation/protocols/testing-protocol.js.map +0 -1
- package/dist/validation/protocols/validation-protocol.js +0 -70
- package/dist/validation/protocols/validation-protocol.js.map +0 -1
- package/dist/validation/schema-integrity.js +0 -170
- package/dist/validation/schema-integrity.js.map +0 -1
- package/dist/validation/schema-validator.js +0 -176
- package/dist/validation/schema-validator.js.map +0 -1
- package/dist/validation/validate-ops.js +0 -937
- package/dist/validation/validate-ops.js.map +0 -1
- package/dist/validation/validation-rules.js +0 -226
- package/dist/validation/validation-rules.js.map +0 -1
- package/dist/validation/verification.js +0 -321
- package/dist/validation/verification.js.map +0 -1
- 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
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SseTransport test scenarios.
|
|
3
|
+
*
|
|
4
|
+
* Tests for the Server-Sent Events transport implementation.
|
|
5
|
+
* SseTransport extends HTTP polling with real-time push via SSE,
|
|
6
|
+
* falling back to HTTP polling when SSE is unavailable.
|
|
7
|
+
*
|
|
8
|
+
* @see packages/contracts/src/transport.ts — Transport interface
|
|
9
|
+
* @see packages/contracts/src/conduit.ts — ConduitState types
|
|
10
|
+
* @task T216
|
|
11
|
+
*/
|
|
12
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
13
|
+
import { SseTransport } from '../sse-transport.js';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Test helpers
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/** Mock SSE event source that simulates server-sent events. */
|
|
18
|
+
function createMockEventSource() {
|
|
19
|
+
const handlers = {};
|
|
20
|
+
return {
|
|
21
|
+
addEventListener: vi.fn((type, handler) => {
|
|
22
|
+
handlers[type] = handlers[type] || [];
|
|
23
|
+
handlers[type].push(handler);
|
|
24
|
+
}),
|
|
25
|
+
removeEventListener: vi.fn(),
|
|
26
|
+
close: vi.fn(),
|
|
27
|
+
readyState: 0, // CONNECTING
|
|
28
|
+
/** Simulate receiving an SSE event. */
|
|
29
|
+
_emit(type, data) {
|
|
30
|
+
for (const h of handlers[type] || []) {
|
|
31
|
+
h(new MessageEvent(type, { data }));
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
/** Simulate connection open. */
|
|
35
|
+
_open() {
|
|
36
|
+
this.readyState = 1; // OPEN
|
|
37
|
+
for (const h of handlers['open'] || []) {
|
|
38
|
+
h(new MessageEvent('open', { data: '' }));
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
/** Simulate connection error. */
|
|
42
|
+
_error() {
|
|
43
|
+
this.readyState = 2; // CLOSED
|
|
44
|
+
for (const h of handlers['error'] || []) {
|
|
45
|
+
h(new MessageEvent('error', { data: '' }));
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Standard test config for SseTransport. */
|
|
51
|
+
const TEST_CONFIG = {
|
|
52
|
+
agentId: 'test-agent',
|
|
53
|
+
apiKey: 'sk_live_test123',
|
|
54
|
+
apiBaseUrl: 'https://api.signaldock.io',
|
|
55
|
+
sseEndpoint: 'https://api.signaldock.io/sse',
|
|
56
|
+
};
|
|
57
|
+
// ============================================================================
|
|
58
|
+
// Connection lifecycle
|
|
59
|
+
// ============================================================================
|
|
60
|
+
describe('SseTransport', () => {
|
|
61
|
+
describe('connect', () => {
|
|
62
|
+
it.todo('should establish SSE connection to sseEndpoint');
|
|
63
|
+
// Expected behavior:
|
|
64
|
+
// - Creates EventSource to config.sseEndpoint with auth headers
|
|
65
|
+
// - Sets transport name to 'sse'
|
|
66
|
+
// - Transitions state: disconnected → connecting → connected
|
|
67
|
+
// - Resolves when EventSource 'open' event fires
|
|
68
|
+
it.todo('should fall back to HTTP polling when SSE endpoint is unreachable');
|
|
69
|
+
// Expected behavior:
|
|
70
|
+
// - Attempts SSE connection
|
|
71
|
+
// - On connection error, transitions to HTTP polling mode
|
|
72
|
+
// - State: disconnected → connecting → connected (via HTTP fallback)
|
|
73
|
+
// - Logs warning: "SSE unavailable, falling back to HTTP polling"
|
|
74
|
+
// - poll() still works via HTTP
|
|
75
|
+
it.todo('should include auth headers in SSE connection');
|
|
76
|
+
// Expected behavior:
|
|
77
|
+
// - EventSource URL includes ?token=<apiKey> (SSE doesn't support custom headers)
|
|
78
|
+
// - Or uses a pre-flight auth endpoint to get a session token
|
|
79
|
+
// - X-Agent-Id is conveyed via query param or pre-flight
|
|
80
|
+
it.todo('should reject connect when no sseEndpoint or apiBaseUrl is configured');
|
|
81
|
+
// Expected behavior:
|
|
82
|
+
// - Throws Error with message indicating missing config
|
|
83
|
+
// - State remains 'disconnected'
|
|
84
|
+
it('rejects connect when no sseEndpoint or apiBaseUrl provided', async () => {
|
|
85
|
+
const transport = new SseTransport();
|
|
86
|
+
await expect(transport.connect({ agentId: 'test', apiKey: 'key', apiBaseUrl: '' })).rejects.toThrow('requires');
|
|
87
|
+
});
|
|
88
|
+
it.todo('should reject connect when already connected');
|
|
89
|
+
// Expected behavior:
|
|
90
|
+
// - Second connect() call throws or is no-op
|
|
91
|
+
// - Does not create duplicate EventSource instances
|
|
92
|
+
it('has name "sse"', () => {
|
|
93
|
+
const transport = new SseTransport();
|
|
94
|
+
expect(transport.name).toBe('sse');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
// ============================================================================
|
|
98
|
+
// Disconnect
|
|
99
|
+
// ============================================================================
|
|
100
|
+
describe('disconnect', () => {
|
|
101
|
+
it.todo('should close SSE connection and clear state');
|
|
102
|
+
// Expected behavior:
|
|
103
|
+
// - Calls EventSource.close()
|
|
104
|
+
// - Clears internal state
|
|
105
|
+
// - State: connected → disconnected
|
|
106
|
+
// - Subsequent push/poll calls throw "not connected"
|
|
107
|
+
it.todo('should be idempotent when already disconnected');
|
|
108
|
+
// Expected behavior:
|
|
109
|
+
// - No error when calling disconnect() on already disconnected transport
|
|
110
|
+
// - State remains 'disconnected'
|
|
111
|
+
it('is safe to call disconnect when not connected', async () => {
|
|
112
|
+
const transport = new SseTransport();
|
|
113
|
+
await transport.disconnect(); // Should not throw
|
|
114
|
+
await transport.disconnect(); // Still should not throw
|
|
115
|
+
});
|
|
116
|
+
it.todo('should cancel any pending poll timers');
|
|
117
|
+
// Expected behavior:
|
|
118
|
+
// - If HTTP fallback polling is active, clears interval
|
|
119
|
+
// - No orphaned timers after disconnect
|
|
120
|
+
});
|
|
121
|
+
// ============================================================================
|
|
122
|
+
// Reconnect
|
|
123
|
+
// ============================================================================
|
|
124
|
+
describe('reconnect', () => {
|
|
125
|
+
it.todo('should automatically reconnect on SSE connection drop');
|
|
126
|
+
// Expected behavior:
|
|
127
|
+
// - When EventSource fires 'error' and readyState becomes CLOSED
|
|
128
|
+
// - State: connected → reconnecting
|
|
129
|
+
// - Exponential backoff: 1s, 2s, 4s, 8s, max 30s
|
|
130
|
+
// - On successful reconnect: state → connected
|
|
131
|
+
// - Messages received during reconnect are not lost (server-side cursor)
|
|
132
|
+
it.todo('should fall back to HTTP polling after N failed SSE reconnects');
|
|
133
|
+
// Expected behavior:
|
|
134
|
+
// - After 3 failed SSE reconnect attempts
|
|
135
|
+
// - Permanently switches to HTTP polling mode for this session
|
|
136
|
+
// - State: reconnecting → connected (via HTTP)
|
|
137
|
+
// - Logs: "SSE reconnect failed 3 times, switching to HTTP polling"
|
|
138
|
+
it.todo('should preserve message cursor across reconnect');
|
|
139
|
+
// Expected behavior:
|
|
140
|
+
// - Tracks last received message ID or timestamp
|
|
141
|
+
// - Reconnect URL includes ?lastEventId=<cursor>
|
|
142
|
+
// - Server replays missed messages from cursor
|
|
143
|
+
// - No duplicate messages delivered to consumer
|
|
144
|
+
it.todo('should emit state change events during reconnect cycle');
|
|
145
|
+
// Expected behavior:
|
|
146
|
+
// - onStateChange fires: connected → reconnecting → connected
|
|
147
|
+
// - Or: connected → reconnecting → error (if max retries exceeded)
|
|
148
|
+
});
|
|
149
|
+
// ============================================================================
|
|
150
|
+
// Message receive (SSE mode)
|
|
151
|
+
// ============================================================================
|
|
152
|
+
describe('message receive via SSE', () => {
|
|
153
|
+
it.todo('should deliver incoming SSE messages via poll() return');
|
|
154
|
+
// Expected behavior:
|
|
155
|
+
// - SSE 'message' events are buffered internally
|
|
156
|
+
// - poll() returns buffered messages and clears buffer
|
|
157
|
+
// - Messages conform to ConduitMessage interface
|
|
158
|
+
it.todo('should parse SSE data field as JSON ConduitMessage');
|
|
159
|
+
// Expected behavior:
|
|
160
|
+
// - SSE data: {"id":"msg-1","from":"agent-a","content":"hello","timestamp":"..."}
|
|
161
|
+
// - Parsed into ConduitMessage with all fields populated
|
|
162
|
+
it.todo('should handle malformed SSE data gracefully');
|
|
163
|
+
// Expected behavior:
|
|
164
|
+
// - Invalid JSON in SSE data field does not crash transport
|
|
165
|
+
// - Malformed messages are logged and skipped
|
|
166
|
+
// - poll() returns only valid messages
|
|
167
|
+
it.todo('should filter self-sent messages');
|
|
168
|
+
// Expected behavior:
|
|
169
|
+
// - Messages where from === config.agentId are excluded from poll()
|
|
170
|
+
// - Prevents echo of own messages
|
|
171
|
+
it.todo('should support SSE event types for different message categories');
|
|
172
|
+
// Expected behavior:
|
|
173
|
+
// - 'message' event: standard agent messages
|
|
174
|
+
// - 'heartbeat' event: keep-alive (ignored in poll output)
|
|
175
|
+
// - 'system' event: system notifications (e.g., agent online/offline)
|
|
176
|
+
});
|
|
177
|
+
// ============================================================================
|
|
178
|
+
// Send with SSE down (fallback to HTTP)
|
|
179
|
+
// ============================================================================
|
|
180
|
+
describe('send (push)', () => {
|
|
181
|
+
it.todo('should send messages via HTTP POST regardless of SSE state');
|
|
182
|
+
// Expected behavior:
|
|
183
|
+
// - push() always uses HTTP POST (SSE is receive-only)
|
|
184
|
+
// - POST /conversations/{conversationId}/messages or /agents/{to}/messages
|
|
185
|
+
// - Returns { messageId } from response
|
|
186
|
+
// - Works whether SSE is connected, reconnecting, or fallen back to HTTP
|
|
187
|
+
it.todo('should send messages when SSE is connected');
|
|
188
|
+
// Expected behavior:
|
|
189
|
+
// - SSE connection is active for receiving
|
|
190
|
+
// - push() uses HTTP POST for sending (SSE is unidirectional)
|
|
191
|
+
// - Both channels work simultaneously
|
|
192
|
+
it.todo('should send messages when SSE is down and in HTTP fallback mode');
|
|
193
|
+
// Expected behavior:
|
|
194
|
+
// - SSE connection has failed, transport is in HTTP polling mode
|
|
195
|
+
// - push() still works via HTTP POST
|
|
196
|
+
// - No difference in send behavior between SSE and HTTP modes
|
|
197
|
+
it.todo('should retry failed sends with exponential backoff');
|
|
198
|
+
// Expected behavior:
|
|
199
|
+
// - On HTTP 5xx or network error, retry up to 3 times
|
|
200
|
+
// - Backoff: 500ms, 1s, 2s
|
|
201
|
+
// - On 4xx (client error), fail immediately (no retry)
|
|
202
|
+
// - Returns error after max retries
|
|
203
|
+
it.todo('should throw when not connected');
|
|
204
|
+
// Expected behavior:
|
|
205
|
+
// - push() before connect() throws "Transport not connected"
|
|
206
|
+
// - push() after disconnect() throws "Transport not connected"
|
|
207
|
+
it('throws when push is called before connect', async () => {
|
|
208
|
+
const transport = new SseTransport();
|
|
209
|
+
await expect(transport.push('to', 'msg')).rejects.toThrow('not connected');
|
|
210
|
+
});
|
|
211
|
+
it('throws when poll is called before connect', async () => {
|
|
212
|
+
const transport = new SseTransport();
|
|
213
|
+
await expect(transport.poll()).rejects.toThrow('not connected');
|
|
214
|
+
});
|
|
215
|
+
it('throws when ack is called before connect', async () => {
|
|
216
|
+
const transport = new SseTransport();
|
|
217
|
+
await expect(transport.ack(['id'])).rejects.toThrow('not connected');
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
// ============================================================================
|
|
221
|
+
// Poll (hybrid mode)
|
|
222
|
+
// ============================================================================
|
|
223
|
+
describe('poll', () => {
|
|
224
|
+
it.todo('should return SSE-buffered messages when SSE is active');
|
|
225
|
+
// Expected behavior:
|
|
226
|
+
// - In SSE mode, poll() drains the internal message buffer
|
|
227
|
+
// - Does NOT make an HTTP request (messages arrive via SSE push)
|
|
228
|
+
// - Returns empty array if no new messages since last poll
|
|
229
|
+
it.todo('should fall back to HTTP polling when SSE is down');
|
|
230
|
+
// Expected behavior:
|
|
231
|
+
// - In HTTP fallback mode, poll() makes GET /messages/peek
|
|
232
|
+
// - Behaves identically to HttpTransport.poll()
|
|
233
|
+
// - Respects limit and since options
|
|
234
|
+
it.todo('should respect since parameter for cursor-based retrieval');
|
|
235
|
+
// Expected behavior:
|
|
236
|
+
// - poll({ since: '2026-03-30T20:00:00Z' }) returns only newer messages
|
|
237
|
+
// - In SSE mode: filters buffer by timestamp
|
|
238
|
+
// - In HTTP mode: passes as query param
|
|
239
|
+
});
|
|
240
|
+
// ============================================================================
|
|
241
|
+
// Acknowledge
|
|
242
|
+
// ============================================================================
|
|
243
|
+
describe('ack', () => {
|
|
244
|
+
it.todo('should acknowledge messages via HTTP POST');
|
|
245
|
+
// Expected behavior:
|
|
246
|
+
// - ack(['msg-1', 'msg-2']) sends POST /messages/ack
|
|
247
|
+
// - Works in both SSE and HTTP modes (always HTTP for ack)
|
|
248
|
+
// - Acknowledged messages are not returned by subsequent poll()
|
|
249
|
+
});
|
|
250
|
+
// ============================================================================
|
|
251
|
+
// Heartbeat
|
|
252
|
+
// ============================================================================
|
|
253
|
+
describe('heartbeat', () => {
|
|
254
|
+
it.todo('should send heartbeat via HTTP POST');
|
|
255
|
+
// Expected behavior:
|
|
256
|
+
// - POST /agents/{agentId}/heartbeat
|
|
257
|
+
// - Works in both SSE and HTTP modes
|
|
258
|
+
// - Does not depend on SSE connection state
|
|
259
|
+
it.todo('should detect SSE connection health from heartbeat response');
|
|
260
|
+
// Expected behavior:
|
|
261
|
+
// - Heartbeat response may include SSE connection status
|
|
262
|
+
// - If server reports SSE session expired, trigger reconnect
|
|
263
|
+
});
|
|
264
|
+
// ============================================================================
|
|
265
|
+
// Edge cases
|
|
266
|
+
// ============================================================================
|
|
267
|
+
describe('edge cases', () => {
|
|
268
|
+
it.todo('should handle rapid connect/disconnect cycles');
|
|
269
|
+
// Expected behavior:
|
|
270
|
+
// - connect() → disconnect() → connect() in quick succession
|
|
271
|
+
// - No resource leaks (EventSource properly closed)
|
|
272
|
+
// - Final state is consistent
|
|
273
|
+
it.todo('should handle server-initiated SSE close');
|
|
274
|
+
// Expected behavior:
|
|
275
|
+
// - Server sends SSE close/shutdown event
|
|
276
|
+
// - Transport transitions to reconnecting or HTTP fallback
|
|
277
|
+
// - No unhandled errors
|
|
278
|
+
it.todo('should handle network going offline then online');
|
|
279
|
+
// Expected behavior:
|
|
280
|
+
// - SSE connection drops (network offline)
|
|
281
|
+
// - Reconnect attempts fail (network offline)
|
|
282
|
+
// - When network returns, reconnect succeeds
|
|
283
|
+
// - Messages buffered server-side are delivered
|
|
284
|
+
it.todo('should not leak EventSource instances on repeated reconnects');
|
|
285
|
+
// Expected behavior:
|
|
286
|
+
// - Each reconnect properly closes the previous EventSource
|
|
287
|
+
// - No accumulation of open connections
|
|
288
|
+
// - Memory usage stays constant
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
//# sourceMappingURL=sse-transport.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-transport.test.js","sourceRoot":"","sources":["sse-transport.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,11 @@ export class ConduitClient implements Conduit {
|
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
+
/** One-shot poll for new messages. Delegates to the transport's poll method. */
|
|
78
|
+
async poll(options?: { limit?: number; since?: string }): Promise<ConduitMessage[]> {
|
|
79
|
+
return this.transport.poll(options);
|
|
80
|
+
}
|
|
81
|
+
|
|
77
82
|
/** Subscribe to incoming messages. Uses real-time transport when available, else polls. */
|
|
78
83
|
onMessage(handler: (message: ConduitMessage) => void): ConduitUnsubscribe {
|
|
79
84
|
// Prefer real-time subscription if transport supports it
|
package/src/conduit/factory.ts
CHANGED
|
@@ -14,18 +14,35 @@ import { HttpTransport } from './http-transport.js';
|
|
|
14
14
|
import { LocalTransport } from './local-transport.js';
|
|
15
15
|
import { SseTransport } from './sse-transport.js';
|
|
16
16
|
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the best available transport for a credential.
|
|
19
|
+
*
|
|
20
|
+
* Cloud-backed agents (apiBaseUrl is a remote URL) use HttpTransport
|
|
21
|
+
* so they can receive messages from the SignalDock cloud relay.
|
|
22
|
+
* LocalTransport is only used when the agent is explicitly local-only
|
|
23
|
+
* (apiBaseUrl is 'local' or absent), since local signaldock.db doesn't
|
|
24
|
+
* sync with the cloud.
|
|
25
|
+
*/
|
|
18
26
|
export function resolveTransport(credential: AgentCredential): Transport {
|
|
19
|
-
|
|
27
|
+
const isCloudBacked =
|
|
28
|
+
credential.apiBaseUrl &&
|
|
29
|
+
credential.apiBaseUrl !== 'local' &&
|
|
30
|
+
credential.apiBaseUrl.startsWith('http');
|
|
31
|
+
|
|
32
|
+
// Cloud-backed agents must use network transports to receive cloud messages
|
|
33
|
+
if (isCloudBacked) {
|
|
34
|
+
if (credential.transportConfig.sseEndpoint) {
|
|
35
|
+
return new SseTransport();
|
|
36
|
+
}
|
|
37
|
+
return new HttpTransport();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Local-only agents use LocalTransport when signaldock.db is available
|
|
20
41
|
if (LocalTransport.isAvailable()) {
|
|
21
42
|
return new LocalTransport();
|
|
22
43
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
if (credential.transportConfig.sseEndpoint) {
|
|
27
|
-
return new SseTransport();
|
|
28
|
-
}
|
|
44
|
+
|
|
45
|
+
// Fallback to HTTP
|
|
29
46
|
return new HttpTransport();
|
|
30
47
|
}
|
|
31
48
|
|
|
@@ -101,12 +101,13 @@ export class HttpTransport implements Transport {
|
|
|
101
101
|
return { messageId };
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
/** Poll for new messages
|
|
104
|
+
/** Poll for new messages for this agent. Returns empty array on HTTP error. */
|
|
105
105
|
async poll(options?: { limit?: number; since?: string }): Promise<ConduitMessage[]> {
|
|
106
106
|
this.ensureConnected();
|
|
107
107
|
|
|
108
108
|
const params = new URLSearchParams();
|
|
109
|
-
|
|
109
|
+
// Don't filter by mentioned — the API already scopes by X-Agent-Id header.
|
|
110
|
+
// Using mentioned= misses messages sent TO this agent without @-mentions.
|
|
110
111
|
if (options?.limit) params.set('limit', String(options.limit));
|
|
111
112
|
if (options?.since) params.set('since', options.since);
|
|
112
113
|
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* @module crypto/credentials
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
+
import { execFileSync } from 'node:child_process';
|
|
18
19
|
import { createCipheriv, createDecipheriv, createHmac, randomBytes } from 'node:crypto';
|
|
19
20
|
import { chmod, mkdir, readFile, stat, writeFile } from 'node:fs/promises';
|
|
20
21
|
import { dirname, join } from 'node:path';
|
|
@@ -34,14 +35,24 @@ const CIPHERTEXT_VERSION = 0x01;
|
|
|
34
35
|
* @throws If HOME/USERPROFILE are unset (F-002: never fall back to /tmp).
|
|
35
36
|
*/
|
|
36
37
|
function getMachineKeyPath(): string {
|
|
37
|
-
|
|
38
|
-
if (
|
|
38
|
+
// Use platform-aware data directory: XDG on Linux, Library on macOS, %LOCALAPPDATA% on Windows
|
|
39
|
+
if (process.platform === 'win32') {
|
|
40
|
+
const appData = process.env['LOCALAPPDATA'] ?? process.env['APPDATA'];
|
|
41
|
+
if (appData) return join(appData, 'cleo', 'Data', 'machine-key');
|
|
42
|
+
} else if (process.platform === 'darwin') {
|
|
43
|
+
const home = process.env['HOME'];
|
|
44
|
+
if (home) return join(home, 'Library', 'Application Support', 'cleo', 'machine-key');
|
|
45
|
+
}
|
|
46
|
+
// Linux / fallback: XDG_DATA_HOME or ~/.local/share
|
|
47
|
+
const dataHome =
|
|
48
|
+
process.env['XDG_DATA_HOME'] ?? join(process.env['HOME'] ?? '', '.local', 'share');
|
|
49
|
+
if (!dataHome) {
|
|
39
50
|
throw new Error(
|
|
40
|
-
'Cannot determine
|
|
41
|
-
'Machine key cannot be stored securely without a persistent
|
|
51
|
+
'Cannot determine data directory. Set HOME or XDG_DATA_HOME environment variable. ' +
|
|
52
|
+
'Machine key cannot be stored securely without a persistent data directory.',
|
|
42
53
|
);
|
|
43
54
|
}
|
|
44
|
-
return join(
|
|
55
|
+
return join(dataHome, 'cleo', 'machine-key');
|
|
45
56
|
}
|
|
46
57
|
|
|
47
58
|
/**
|
|
@@ -54,14 +65,31 @@ async function getMachineKey(): Promise<Buffer> {
|
|
|
54
65
|
const keyPath = getMachineKeyPath();
|
|
55
66
|
|
|
56
67
|
try {
|
|
57
|
-
//
|
|
68
|
+
// Verify key file permissions
|
|
58
69
|
const stats = await stat(keyPath);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
if (process.platform === 'win32') {
|
|
71
|
+
// Windows: use icacls to verify the key is not world-readable.
|
|
72
|
+
try {
|
|
73
|
+
const output = execFileSync('icacls', [keyPath], { encoding: 'utf-8', timeout: 5000 });
|
|
74
|
+
const unsafePatterns = /\\(Users|Everyone|Authenticated Users):/i;
|
|
75
|
+
if (unsafePatterns.test(output)) {
|
|
76
|
+
throw new Error(
|
|
77
|
+
`Machine key has unsafe Windows ACLs (accessible to other users). ` +
|
|
78
|
+
`Fix with: icacls "${keyPath}" /inheritance:r /grant:r "%USERNAME%":F`,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
} catch (aclErr) {
|
|
82
|
+
if (aclErr instanceof Error && aclErr.message.includes('unsafe')) throw aclErr;
|
|
83
|
+
}
|
|
84
|
+
} else {
|
|
85
|
+
// Unix: verify 0600 permissions
|
|
86
|
+
const mode = stats.mode & 0o777;
|
|
87
|
+
if (mode !== 0o600) {
|
|
88
|
+
throw new Error(
|
|
89
|
+
`Machine key has unsafe permissions (${mode.toString(8)}). Expected 0600. ` +
|
|
90
|
+
`Fix with: chmod 600 ${keyPath}`,
|
|
91
|
+
);
|
|
92
|
+
}
|
|
65
93
|
}
|
|
66
94
|
const key = await readFile(keyPath);
|
|
67
95
|
// F-004: validate key length
|
|
@@ -78,7 +106,25 @@ async function getMachineKey(): Promise<Buffer> {
|
|
|
78
106
|
const key = randomBytes(KEY_LENGTH);
|
|
79
107
|
await mkdir(dirname(keyPath), { recursive: true });
|
|
80
108
|
await writeFile(keyPath, key, { mode: 0o600 });
|
|
81
|
-
|
|
109
|
+
if (process.platform === 'win32') {
|
|
110
|
+
// Lock down Windows ACLs: remove inherited permissions, grant only current user
|
|
111
|
+
try {
|
|
112
|
+
execFileSync(
|
|
113
|
+
'icacls',
|
|
114
|
+
[
|
|
115
|
+
keyPath,
|
|
116
|
+
'/inheritance:r',
|
|
117
|
+
'/grant:r',
|
|
118
|
+
`${process.env['USERNAME'] ?? 'CURRENT_USER'}:F`,
|
|
119
|
+
],
|
|
120
|
+
{ timeout: 5000 },
|
|
121
|
+
);
|
|
122
|
+
} catch {
|
|
123
|
+
// Best-effort — icacls may not be available in all environments
|
|
124
|
+
}
|
|
125
|
+
} else {
|
|
126
|
+
await chmod(keyPath, 0o600);
|
|
127
|
+
}
|
|
82
128
|
return key;
|
|
83
129
|
}
|
|
84
130
|
throw err;
|
package/src/error-catalog.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unified Error Catalog -- single source of truth for all CLEO error definitions.
|
|
3
3
|
*
|
|
4
|
-
* Merges previously scattered error registries
|
|
5
|
-
*
|
|
4
|
+
* Merges previously scattered error registries into one canonical catalog
|
|
5
|
+
* keyed by ExitCode.
|
|
6
6
|
*
|
|
7
7
|
* Consumers should import from here instead of the legacy registries.
|
|
8
8
|
*
|
|
@@ -26,7 +26,7 @@ export interface ErrorDefinition {
|
|
|
26
26
|
message: string;
|
|
27
27
|
/** Default fix suggestion (copy-paste command or instruction). */
|
|
28
28
|
fix?: string;
|
|
29
|
-
/** HTTP status code for API
|
|
29
|
+
/** HTTP status code for API responses. */
|
|
30
30
|
httpStatus: number;
|
|
31
31
|
/** Whether retry may succeed. */
|
|
32
32
|
recoverable: boolean;
|
package/src/errors.ts
CHANGED
|
@@ -19,15 +19,15 @@ describe('provider hook capability helpers', () => {
|
|
|
19
19
|
});
|
|
20
20
|
it('delegates provider-backed hook events to CAAMP', () => {
|
|
21
21
|
getProvidersByHookEventMock.mockReturnValue([{ id: 'claude-code' }, { id: 'opencode' }]);
|
|
22
|
-
const providers = getHookCapableProviders('
|
|
23
|
-
expect(getProvidersByHookEventMock).toHaveBeenCalledWith('
|
|
22
|
+
const providers = getHookCapableProviders('PreToolUse');
|
|
23
|
+
expect(getProvidersByHookEventMock).toHaveBeenCalledWith('PreToolUse');
|
|
24
24
|
expect(providers).toEqual(['claude-code', 'opencode']);
|
|
25
25
|
});
|
|
26
26
|
it('returns common provider hook events from CAAMP', () => {
|
|
27
|
-
getCommonHookEventsMock.mockReturnValue(['
|
|
27
|
+
getCommonHookEventsMock.mockReturnValue(['SessionStart', 'PostToolUse']);
|
|
28
28
|
const events = getSharedHookEvents(['claude-code', 'opencode']);
|
|
29
29
|
expect(getCommonHookEventsMock).toHaveBeenCalledWith(['claude-code', 'opencode']);
|
|
30
|
-
expect(events).toEqual(['
|
|
30
|
+
expect(events).toEqual(['SessionStart', 'PostToolUse']);
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
//# sourceMappingURL=provider-hooks.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-hooks.test.js","sourceRoot":"","sources":["provider-hooks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjF,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE;IACpC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;CACjC,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,uBAAuB,EAAE,2BAA2B;IACpD,mBAAmB,EAAE,uBAAuB;CAC7C,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,SAAS,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAE7D,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,2BAA2B,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"provider-hooks.test.js","sourceRoot":"","sources":["provider-hooks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjF,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE;IACpC,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;CACjC,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,uBAAuB,EAAE,2BAA2B;IACpD,mBAAmB,EAAE,uBAAuB;CAC7C,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,SAAS,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;QAE7D,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,2BAA2B,CAAC,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAExD,MAAM,CAAC,2BAA2B,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,uBAAuB,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;QAEhE,MAAM,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -27,18 +27,18 @@ describe('provider hook capability helpers', () => {
|
|
|
27
27
|
it('delegates provider-backed hook events to CAAMP', () => {
|
|
28
28
|
getProvidersByHookEventMock.mockReturnValue([{ id: 'claude-code' }, { id: 'opencode' }]);
|
|
29
29
|
|
|
30
|
-
const providers = getHookCapableProviders('
|
|
30
|
+
const providers = getHookCapableProviders('PreToolUse');
|
|
31
31
|
|
|
32
|
-
expect(getProvidersByHookEventMock).toHaveBeenCalledWith('
|
|
32
|
+
expect(getProvidersByHookEventMock).toHaveBeenCalledWith('PreToolUse');
|
|
33
33
|
expect(providers).toEqual(['claude-code', 'opencode']);
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
it('returns common provider hook events from CAAMP', () => {
|
|
37
|
-
getCommonHookEventsMock.mockReturnValue(['
|
|
37
|
+
getCommonHookEventsMock.mockReturnValue(['SessionStart', 'PostToolUse']);
|
|
38
38
|
|
|
39
39
|
const events = getSharedHookEvents(['claude-code', 'opencode']);
|
|
40
40
|
|
|
41
41
|
expect(getCommonHookEventsMock).toHaveBeenCalledWith(['claude-code', 'opencode']);
|
|
42
|
-
expect(events).toEqual(['
|
|
42
|
+
expect(events).toEqual(['SessionStart', 'PostToolUse']);
|
|
43
43
|
});
|
|
44
44
|
});
|
|
@@ -31,8 +31,8 @@ import * as configModule from '../../../config.js';
|
|
|
31
31
|
import * as brainRetrieval from '../../../memory/brain-retrieval.js';
|
|
32
32
|
import { handleSubagentStart, handleSubagentStop } from '../agent-hooks.js';
|
|
33
33
|
import { handlePostCompact, handlePreCompact } from '../context-hooks.js';
|
|
34
|
-
import { handleSystemNotification } from '../mcp-hooks.js';
|
|
35
34
|
import * as bridgeRefresh from '../memory-bridge-refresh.js';
|
|
35
|
+
import { handleSystemNotification } from '../notification-hooks.js';
|
|
36
36
|
import { handleSessionEnd, handleSessionStart } from '../session-hooks.js';
|
|
37
37
|
import { handleToolComplete, handleToolStart } from '../task-hooks.js';
|
|
38
38
|
import { handleWorkPromptSubmit, handleWorkResponseComplete } from '../work-capture-hooks.js';
|
|
@@ -64,7 +64,7 @@ const TIMESTAMP = '2026-03-24T00:00:00.000Z';
|
|
|
64
64
|
// ---------------------------------------------------------------------------
|
|
65
65
|
describe('hook automation E2E', () => {
|
|
66
66
|
beforeEach(() => {
|
|
67
|
-
observeBrainMock.mockReset().mockResolvedValue(
|
|
67
|
+
observeBrainMock.mockReset().mockResolvedValue({ id: 'O-test', type: 'observation', createdAt: '2026-01-01 00:00:00' });
|
|
68
68
|
loadConfigMock.mockReset().mockResolvedValue(makeConfig());
|
|
69
69
|
maybeRefreshMemoryBridgeMock.mockReset().mockResolvedValue(undefined);
|
|
70
70
|
// Clear work-capture env var
|