@cleocode/core 2026.4.41 → 2026.4.43
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/conduit/factory.d.ts +10 -5
- package/dist/conduit/factory.d.ts.map +1 -1
- package/dist/index.js +77 -8
- package/dist/index.js.map +3 -3
- package/dist/init.d.ts.map +1 -1
- package/dist/store/brain-sqlite.d.ts.map +1 -1
- package/package.json +13 -8
- package/src/conduit/factory.ts +20 -17
- package/src/init.ts +22 -1
- package/src/store/__tests__/git-checkpoint.test.ts +12 -15
- package/src/store/brain-sqlite.ts +12 -0
- 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 -232
- package/dist/adrs/sync.js.map +0 -1
- package/dist/adrs/types.js +0 -9
- package/dist/adrs/types.js.map +0 -1
- package/dist/adrs/validate.js +0 -57
- package/dist/adrs/validate.js.map +0 -1
- package/dist/agents/agent-registry.js +0 -288
- package/dist/agents/agent-registry.js.map +0 -1
- package/dist/agents/agent-schema.js +0 -82
- package/dist/agents/agent-schema.js.map +0 -1
- package/dist/agents/capacity.js +0 -116
- package/dist/agents/capacity.js.map +0 -1
- package/dist/agents/execution-learning.js +0 -474
- package/dist/agents/execution-learning.js.map +0 -1
- package/dist/agents/health-monitor.js +0 -217
- package/dist/agents/health-monitor.js.map +0 -1
- package/dist/agents/index.js +0 -29
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/registry.js +0 -314
- package/dist/agents/registry.js.map +0 -1
- package/dist/agents/retry.js +0 -215
- package/dist/agents/retry.js.map +0 -1
- package/dist/audit-prune.js +0 -94
- package/dist/audit-prune.js.map +0 -1
- package/dist/audit.js +0 -68
- package/dist/audit.js.map +0 -1
- package/dist/backfill/index.js +0 -229
- package/dist/backfill/index.js.map +0 -1
- package/dist/bootstrap.js +0 -435
- package/dist/bootstrap.js.map +0 -1
- package/dist/caamp/adapter.js +0 -259
- package/dist/caamp/adapter.js.map +0 -1
- package/dist/caamp/capability-check.js +0 -38
- package/dist/caamp/capability-check.js.map +0 -1
- package/dist/caamp/index.js +0 -21
- package/dist/caamp/index.js.map +0 -1
- package/dist/caamp-init.js +0 -16
- package/dist/caamp-init.js.map +0 -1
- package/dist/cleo.js +0 -322
- package/dist/cleo.js.map +0 -1
- package/dist/code/index.js +0 -14
- package/dist/code/index.js.map +0 -1
- package/dist/code/outline.js +0 -165
- package/dist/code/outline.js.map +0 -1
- package/dist/code/parser.js +0 -420
- package/dist/code/parser.js.map +0 -1
- package/dist/code/search.js +0 -135
- package/dist/code/search.js.map +0 -1
- package/dist/code/unfold.js +0 -155
- package/dist/code/unfold.js.map +0 -1
- package/dist/codebase-map/analyzers/architecture.js +0 -129
- package/dist/codebase-map/analyzers/architecture.js.map +0 -1
- package/dist/codebase-map/analyzers/concerns.js +0 -122
- package/dist/codebase-map/analyzers/concerns.js.map +0 -1
- package/dist/codebase-map/analyzers/conventions.js +0 -149
- package/dist/codebase-map/analyzers/conventions.js.map +0 -1
- package/dist/codebase-map/analyzers/integrations.js +0 -108
- package/dist/codebase-map/analyzers/integrations.js.map +0 -1
- package/dist/codebase-map/analyzers/stack.js +0 -117
- package/dist/codebase-map/analyzers/stack.js.map +0 -1
- package/dist/codebase-map/analyzers/structure.js +0 -137
- package/dist/codebase-map/analyzers/structure.js.map +0 -1
- package/dist/codebase-map/analyzers/testing.js +0 -118
- package/dist/codebase-map/analyzers/testing.js.map +0 -1
- package/dist/codebase-map/index.js +0 -57
- package/dist/codebase-map/index.js.map +0 -1
- package/dist/codebase-map/store.js +0 -122
- package/dist/codebase-map/store.js.map +0 -1
- package/dist/codebase-map/summary.js +0 -152
- package/dist/codebase-map/summary.js.map +0 -1
- package/dist/compliance/index.js +0 -288
- package/dist/compliance/index.js.map +0 -1
- package/dist/compliance/protocol-enforcement.js +0 -332
- package/dist/compliance/protocol-enforcement.js.map +0 -1
- package/dist/compliance/protocol-rules.js +0 -786
- package/dist/compliance/protocol-rules.js.map +0 -1
- package/dist/compliance/protocol-types.js +0 -79
- package/dist/compliance/protocol-types.js.map +0 -1
- package/dist/compliance/store.js +0 -53
- package/dist/compliance/store.js.map +0 -1
- package/dist/conduit/conduit-client.js +0 -107
- package/dist/conduit/conduit-client.js.map +0 -1
- package/dist/conduit/factory.js +0 -52
- package/dist/conduit/factory.js.map +0 -1
- package/dist/conduit/http-transport.js +0 -155
- package/dist/conduit/http-transport.js.map +0 -1
- package/dist/conduit/index.js +0 -15
- package/dist/conduit/index.js.map +0 -1
- package/dist/conduit/local-transport.js +0 -255
- package/dist/conduit/local-transport.js.map +0 -1
- package/dist/conduit/sse-transport.js +0 -299
- package/dist/conduit/sse-transport.js.map +0 -1
- package/dist/config/build-config.js +0 -29
- package/dist/config/build-config.js.map +0 -1
- package/dist/config.js +0 -407
- 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 -219
- package/dist/crypto/credentials.js.map +0 -1
- package/dist/discovery.js +0 -182
- package/dist/discovery.js.map +0 -1
- package/dist/engine-result.js +0 -12
- package/dist/engine-result.js.map +0 -1
- package/dist/error-catalog.js +0 -404
- package/dist/error-catalog.js.map +0 -1
- package/dist/error-registry.js +0 -393
- package/dist/error-registry.js.map +0 -1
- package/dist/errors.js +0 -173
- package/dist/errors.js.map +0 -1
- package/dist/hooks/handlers/agent-hooks.js +0 -106
- package/dist/hooks/handlers/agent-hooks.js.map +0 -1
- package/dist/hooks/handlers/conduit-hooks.js +0 -229
- package/dist/hooks/handlers/conduit-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 -37
- package/dist/hooks/handlers/index.js.map +0 -1
- package/dist/hooks/handlers/intelligence-hooks.js +0 -69
- package/dist/hooks/handlers/intelligence-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/notification-hooks.js +0 -62
- package/dist/hooks/handlers/notification-hooks.js.map +0 -1
- package/dist/hooks/handlers/session-hooks.js +0 -190
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -90
- package/dist/hooks/handlers/task-hooks.js.map +0 -1
- package/dist/hooks/handlers/watchdog-hooks.js +0 -162
- package/dist/hooks/handlers/watchdog-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 -942
- 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 -377
- 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 -324
- package/dist/internal.js.map +0 -1
- package/dist/issue/create.js +0 -121
- package/dist/issue/create.js.map +0 -1
- package/dist/issue/diagnostics.js +0 -59
- package/dist/issue/diagnostics.js.map +0 -1
- package/dist/issue/index.js +0 -10
- package/dist/issue/index.js.map +0 -1
- package/dist/issue/template-parser.js +0 -267
- package/dist/issue/template-parser.js.map +0 -1
- package/dist/json-schema-validator.js +0 -76
- package/dist/json-schema-validator.js.map +0 -1
- package/dist/lib/index.js +0 -11
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/retry.js +0 -152
- package/dist/lib/retry.js.map +0 -1
- package/dist/lib/tree-sitter-languages.js +0 -75
- package/dist/lib/tree-sitter-languages.js.map +0 -1
- package/dist/lifecycle/chain-composition.js +0 -152
- package/dist/lifecycle/chain-composition.js.map +0 -1
- package/dist/lifecycle/chain-store.js +0 -246
- package/dist/lifecycle/chain-store.js.map +0 -1
- package/dist/lifecycle/consolidate-rcasd.js +0 -352
- package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
- package/dist/lifecycle/default-chain.js +0 -176
- package/dist/lifecycle/default-chain.js.map +0 -1
- package/dist/lifecycle/evidence.js +0 -180
- package/dist/lifecycle/evidence.js.map +0 -1
- package/dist/lifecycle/frontmatter.js +0 -363
- package/dist/lifecycle/frontmatter.js.map +0 -1
- package/dist/lifecycle/index.js +0 -756
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/lifecycle/pipeline.js +0 -656
- package/dist/lifecycle/pipeline.js.map +0 -1
- package/dist/lifecycle/rcasd-index.js +0 -326
- package/dist/lifecycle/rcasd-index.js.map +0 -1
- package/dist/lifecycle/rcasd-paths.js +0 -220
- package/dist/lifecycle/rcasd-paths.js.map +0 -1
- package/dist/lifecycle/resume.js +0 -864
- package/dist/lifecycle/resume.js.map +0 -1
- package/dist/lifecycle/stage-artifacts.js +0 -94
- package/dist/lifecycle/stage-artifacts.js.map +0 -1
- package/dist/lifecycle/stage-guidance.js +0 -234
- package/dist/lifecycle/stage-guidance.js.map +0 -1
- package/dist/lifecycle/stages.js +0 -534
- package/dist/lifecycle/stages.js.map +0 -1
- package/dist/lifecycle/state-machine.js +0 -516
- package/dist/lifecycle/state-machine.js.map +0 -1
- package/dist/lifecycle/tessera-engine.js +0 -249
- package/dist/lifecycle/tessera-engine.js.map +0 -1
- package/dist/logger.js +0 -140
- package/dist/logger.js.map +0 -1
- package/dist/memory/anthropic-key-resolver.js +0 -105
- package/dist/memory/anthropic-key-resolver.js.map +0 -1
- package/dist/memory/auto-extract.js +0 -77
- package/dist/memory/auto-extract.js.map +0 -1
- package/dist/memory/brain-backfill.js +0 -389
- package/dist/memory/brain-backfill.js.map +0 -1
- package/dist/memory/brain-consolidator.js +0 -294
- package/dist/memory/brain-consolidator.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 -818
- package/dist/memory/brain-lifecycle.js.map +0 -1
- package/dist/memory/brain-links.js +0 -161
- package/dist/memory/brain-links.js.map +0 -1
- package/dist/memory/brain-maintenance.js +0 -114
- package/dist/memory/brain-maintenance.js.map +0 -1
- package/dist/memory/brain-migration.js +0 -149
- package/dist/memory/brain-migration.js.map +0 -1
- package/dist/memory/brain-purge.js +0 -243
- package/dist/memory/brain-purge.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 -1044
- 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 -613
- 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 -236
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/embedding-local.js +0 -102
- 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 -1597
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/extraction-gate.js +0 -459
- package/dist/memory/extraction-gate.js.map +0 -1
- package/dist/memory/graph-auto-populate.js +0 -148
- package/dist/memory/graph-auto-populate.js.map +0 -1
- package/dist/memory/graph-memory-bridge.js +0 -519
- package/dist/memory/graph-memory-bridge.js.map +0 -1
- package/dist/memory/graph-queries.js +0 -290
- package/dist/memory/graph-queries.js.map +0 -1
- package/dist/memory/index.js +0 -1146
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/learnings.js +0 -197
- package/dist/memory/learnings.js.map +0 -1
- package/dist/memory/llm-extraction.js +0 -425
- package/dist/memory/llm-extraction.js.map +0 -1
- package/dist/memory/memory-bridge.js +0 -382
- package/dist/memory/memory-bridge.js.map +0 -1
- package/dist/memory/mental-model-injection.js +0 -61
- package/dist/memory/mental-model-injection.js.map +0 -1
- package/dist/memory/mental-model-queue.js +0 -211
- package/dist/memory/mental-model-queue.js.map +0 -1
- package/dist/memory/observer-reflector.js +0 -626
- package/dist/memory/observer-reflector.js.map +0 -1
- package/dist/memory/patterns.js +0 -192
- 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/quality-feedback.js +0 -449
- package/dist/memory/quality-feedback.js.map +0 -1
- package/dist/memory/quality-scoring.js +0 -182
- package/dist/memory/quality-scoring.js.map +0 -1
- package/dist/memory/session-memory.js +0 -331
- package/dist/memory/session-memory.js.map +0 -1
- package/dist/memory/sleep-consolidation.js +0 -706
- package/dist/memory/sleep-consolidation.js.map +0 -1
- package/dist/memory/temporal-supersession.js +0 -403
- package/dist/memory/temporal-supersession.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 -73
- 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/nexus-bridge.js +0 -321
- package/dist/nexus/nexus-bridge.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 -271
- package/dist/nexus/transfer.js.map +0 -1
- package/dist/nexus/workspace.js +0 -355
- package/dist/nexus/workspace.js.map +0 -1
- package/dist/observability/index.js +0 -103
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/log-filter.js +0 -63
- package/dist/observability/log-filter.js.map +0 -1
- package/dist/observability/log-parser.js +0 -99
- package/dist/observability/log-parser.js.map +0 -1
- package/dist/observability/log-reader.js +0 -139
- package/dist/observability/log-reader.js.map +0 -1
- package/dist/observability/types.js +0 -19
- package/dist/observability/types.js.map +0 -1
- package/dist/orchestration/analyze.js +0 -107
- package/dist/orchestration/analyze.js.map +0 -1
- package/dist/orchestration/bootstrap.js +0 -132
- package/dist/orchestration/bootstrap.js.map +0 -1
- package/dist/orchestration/context.js +0 -56
- package/dist/orchestration/context.js.map +0 -1
- package/dist/orchestration/critical-path.js +0 -100
- package/dist/orchestration/critical-path.js.map +0 -1
- package/dist/orchestration/hierarchy.js +0 -183
- package/dist/orchestration/hierarchy.js.map +0 -1
- package/dist/orchestration/index.js +0 -287
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/parallel.js +0 -89
- package/dist/orchestration/parallel.js.map +0 -1
- package/dist/orchestration/protocol-validators.js +0 -815
- package/dist/orchestration/protocol-validators.js.map +0 -1
- package/dist/orchestration/skill-ops.js +0 -98
- package/dist/orchestration/skill-ops.js.map +0 -1
- package/dist/orchestration/status.js +0 -107
- package/dist/orchestration/status.js.map +0 -1
- package/dist/orchestration/unblock.js +0 -103
- package/dist/orchestration/unblock.js.map +0 -1
- package/dist/orchestration/validate-spawn.js +0 -67
- package/dist/orchestration/validate-spawn.js.map +0 -1
- package/dist/orchestration/waves.js +0 -86
- package/dist/orchestration/waves.js.map +0 -1
- package/dist/otel/index.js +0 -163
- package/dist/otel/index.js.map +0 -1
- package/dist/output.js +0 -164
- package/dist/output.js.map +0 -1
- package/dist/pagination.js +0 -64
- package/dist/pagination.js.map +0 -1
- package/dist/paths.js +0 -882
- 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 -175
- package/dist/reconciliation/link-store.js.map +0 -1
- package/dist/reconciliation/reconciliation-engine.js +0 -298
- package/dist/reconciliation/reconciliation-engine.js.map +0 -1
- package/dist/release/artifacts.js +0 -427
- package/dist/release/artifacts.js.map +0 -1
- package/dist/release/changelog-writer.js +0 -151
- package/dist/release/changelog-writer.js.map +0 -1
- package/dist/release/channel.js +0 -144
- package/dist/release/channel.js.map +0 -1
- package/dist/release/ci.js +0 -166
- package/dist/release/ci.js.map +0 -1
- package/dist/release/github-pr.js +0 -225
- package/dist/release/github-pr.js.map +0 -1
- package/dist/release/guards.js +0 -116
- package/dist/release/guards.js.map +0 -1
- package/dist/release/index.js +0 -22
- package/dist/release/index.js.map +0 -1
- package/dist/release/release-config.js +0 -158
- package/dist/release/release-config.js.map +0 -1
- package/dist/release/release-manifest.js +0 -1019
- package/dist/release/release-manifest.js.map +0 -1
- package/dist/release/version-bump.js +0 -255
- package/dist/release/version-bump.js.map +0 -1
- package/dist/remote/index.js +0 -257
- package/dist/remote/index.js.map +0 -1
- package/dist/repair.js +0 -130
- package/dist/repair.js.map +0 -1
- package/dist/research/index.js +0 -2
- package/dist/research/index.js.map +0 -1
- package/dist/roadmap/index.js +0 -59
- package/dist/roadmap/index.js.map +0 -1
- package/dist/routing/capability-matrix.js +0 -1556
- package/dist/routing/capability-matrix.js.map +0 -1
- package/dist/routing/index.js +0 -9
- package/dist/routing/index.js.map +0 -1
- package/dist/scaffold.js +0 -1798
- 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 -326
- package/dist/security/input-sanitization.js.map +0 -1
- package/dist/sequence/index.js +0 -295
- package/dist/sequence/index.js.map +0 -1
- package/dist/sessions/assumptions.js +0 -54
- package/dist/sessions/assumptions.js.map +0 -1
- package/dist/sessions/briefing.js +0 -377
- package/dist/sessions/briefing.js.map +0 -1
- package/dist/sessions/context-alert.js +0 -222
- package/dist/sessions/context-alert.js.map +0 -1
- package/dist/sessions/context-inject.js +0 -61
- package/dist/sessions/context-inject.js.map +0 -1
- package/dist/sessions/context-monitor.js +0 -98
- package/dist/sessions/context-monitor.js.map +0 -1
- package/dist/sessions/decisions.js +0 -65
- package/dist/sessions/decisions.js.map +0 -1
- package/dist/sessions/find.js +0 -65
- package/dist/sessions/find.js.map +0 -1
- package/dist/sessions/handoff.js +0 -328
- package/dist/sessions/handoff.js.map +0 -1
- package/dist/sessions/hitl-warnings.js +0 -254
- package/dist/sessions/hitl-warnings.js.map +0 -1
- package/dist/sessions/index.js +0 -327
- package/dist/sessions/index.js.map +0 -1
- package/dist/sessions/session-archive.js +0 -40
- package/dist/sessions/session-archive.js.map +0 -1
- package/dist/sessions/session-cleanup.js +0 -59
- package/dist/sessions/session-cleanup.js.map +0 -1
- package/dist/sessions/session-drift.js +0 -134
- package/dist/sessions/session-drift.js.map +0 -1
- package/dist/sessions/session-enforcement.js +0 -144
- package/dist/sessions/session-enforcement.js.map +0 -1
- package/dist/sessions/session-grade.js +0 -253
- package/dist/sessions/session-grade.js.map +0 -1
- package/dist/sessions/session-history.js +0 -42
- package/dist/sessions/session-history.js.map +0 -1
- package/dist/sessions/session-id.js +0 -81
- package/dist/sessions/session-id.js.map +0 -1
- package/dist/sessions/session-memory-bridge.js +0 -30
- package/dist/sessions/session-memory-bridge.js.map +0 -1
- package/dist/sessions/session-show.js +0 -24
- package/dist/sessions/session-show.js.map +0 -1
- package/dist/sessions/session-stats.js +0 -69
- package/dist/sessions/session-stats.js.map +0 -1
- package/dist/sessions/session-suspend.js +0 -39
- package/dist/sessions/session-suspend.js.map +0 -1
- package/dist/sessions/session-switch.js +0 -51
- package/dist/sessions/session-switch.js.map +0 -1
- package/dist/sessions/session-view.js +0 -76
- package/dist/sessions/session-view.js.map +0 -1
- package/dist/sessions/snapshot.js +0 -213
- package/dist/sessions/snapshot.js.map +0 -1
- package/dist/sessions/statusline-setup.js +0 -85
- package/dist/sessions/statusline-setup.js.map +0 -1
- package/dist/sessions/types.js +0 -8
- package/dist/sessions/types.js.map +0 -1
- package/dist/skills/agents/config.js +0 -94
- package/dist/skills/agents/config.js.map +0 -1
- package/dist/skills/agents/install.js +0 -116
- package/dist/skills/agents/install.js.map +0 -1
- package/dist/skills/agents/registry.js +0 -161
- package/dist/skills/agents/registry.js.map +0 -1
- package/dist/skills/discovery.js +0 -333
- package/dist/skills/discovery.js.map +0 -1
- package/dist/skills/dispatch.js +0 -347
- package/dist/skills/dispatch.js.map +0 -1
- package/dist/skills/dynamic-skill-generator.js +0 -87
- package/dist/skills/dynamic-skill-generator.js.map +0 -1
- package/dist/skills/index.js +0 -44
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/injection/subagent.js +0 -195
- package/dist/skills/injection/subagent.js.map +0 -1
- package/dist/skills/injection/token.js +0 -260
- package/dist/skills/injection/token.js.map +0 -1
- package/dist/skills/install.js +0 -40
- package/dist/skills/install.js.map +0 -1
- package/dist/skills/manifests/contribution.js +0 -175
- package/dist/skills/manifests/contribution.js.map +0 -1
- package/dist/skills/manifests/research.js +0 -281
- package/dist/skills/manifests/research.js.map +0 -1
- package/dist/skills/manifests/resolver.js +0 -146
- package/dist/skills/manifests/resolver.js.map +0 -1
- package/dist/skills/marketplace.js +0 -90
- package/dist/skills/marketplace.js.map +0 -1
- package/dist/skills/orchestrator/spawn.js +0 -178
- package/dist/skills/orchestrator/spawn.js.map +0 -1
- package/dist/skills/orchestrator/startup.js +0 -451
- package/dist/skills/orchestrator/startup.js.map +0 -1
- package/dist/skills/orchestrator/validator.js +0 -301
- package/dist/skills/orchestrator/validator.js.map +0 -1
- package/dist/skills/precedence-integration.js +0 -73
- package/dist/skills/precedence-integration.js.map +0 -1
- package/dist/skills/precedence-types.js +0 -16
- package/dist/skills/precedence-types.js.map +0 -1
- package/dist/skills/routing-table.js +0 -63
- package/dist/skills/routing-table.js.map +0 -1
- package/dist/skills/skill-paths.js +0 -217
- package/dist/skills/skill-paths.js.map +0 -1
- package/dist/skills/test-utility.js +0 -55
- package/dist/skills/test-utility.js.map +0 -1
- package/dist/skills/types.js +0 -118
- package/dist/skills/types.js.map +0 -1
- package/dist/skills/validation.js +0 -183
- package/dist/skills/validation.js.map +0 -1
- package/dist/skills/version.js +0 -57
- package/dist/skills/version.js.map +0 -1
- package/dist/snapshot/index.js +0 -188
- package/dist/snapshot/index.js.map +0 -1
- package/dist/spawn/adapter-registry.js +0 -246
- package/dist/spawn/adapter-registry.js.map +0 -1
- package/dist/spawn/index.js +0 -10
- package/dist/spawn/index.js.map +0 -1
- package/dist/stats/index.js +0 -350
- 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 -57
- 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 -886
- package/dist/store/agent-registry-accessor.js.map +0 -1
- package/dist/store/api-key-kdf.js +0 -84
- package/dist/store/api-key-kdf.js.map +0 -1
- package/dist/store/atomic.js +0 -167
- package/dist/store/atomic.js.map +0 -1
- package/dist/store/backup-crypto.js +0 -184
- package/dist/store/backup-crypto.js.map +0 -1
- package/dist/store/backup-pack.js +0 -581
- package/dist/store/backup-pack.js.map +0 -1
- package/dist/store/backup-unpack.js +0 -449
- package/dist/store/backup-unpack.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 -429
- package/dist/store/brain-accessor.js.map +0 -1
- package/dist/store/brain-schema.js +0 -579
- package/dist/store/brain-schema.js.map +0 -1
- package/dist/store/brain-sqlite.js +0 -297
- package/dist/store/brain-sqlite.js.map +0 -1
- package/dist/store/cache.js +0 -168
- package/dist/store/cache.js.map +0 -1
- package/dist/store/chain-schema.js +0 -51
- package/dist/store/chain-schema.js.map +0 -1
- package/dist/store/cleanup-legacy.js +0 -171
- package/dist/store/cleanup-legacy.js.map +0 -1
- package/dist/store/conduit-sqlite.js +0 -570
- package/dist/store/conduit-sqlite.js.map +0 -1
- package/dist/store/converters.js +0 -124
- package/dist/store/converters.js.map +0 -1
- package/dist/store/cross-db-cleanup.js +0 -319
- package/dist/store/cross-db-cleanup.js.map +0 -1
- package/dist/store/data-accessor.js +0 -26
- package/dist/store/data-accessor.js.map +0 -1
- package/dist/store/data-safety-central.js +0 -269
- package/dist/store/data-safety-central.js.map +0 -1
- package/dist/store/data-safety.js +0 -274
- package/dist/store/data-safety.js.map +0 -1
- package/dist/store/db-helpers.js +0 -224
- package/dist/store/db-helpers.js.map +0 -1
- package/dist/store/export.js +0 -155
- package/dist/store/export.js.map +0 -1
- package/dist/store/file-utils.js +0 -270
- package/dist/store/file-utils.js.map +0 -1
- package/dist/store/git-checkpoint.js +0 -365
- package/dist/store/git-checkpoint.js.map +0 -1
- package/dist/store/global-salt.js +0 -147
- package/dist/store/global-salt.js.map +0 -1
- package/dist/store/import-logging.js +0 -139
- package/dist/store/import-logging.js.map +0 -1
- package/dist/store/import-remap.js +0 -145
- package/dist/store/import-remap.js.map +0 -1
- package/dist/store/import-sort.js +0 -121
- package/dist/store/import-sort.js.map +0 -1
- package/dist/store/index.js +0 -29
- package/dist/store/index.js.map +0 -1
- package/dist/store/json.js +0 -208
- package/dist/store/json.js.map +0 -1
- package/dist/store/lifecycle-store.js +0 -249
- package/dist/store/lifecycle-store.js.map +0 -1
- package/dist/store/lock.js +0 -70
- package/dist/store/lock.js.map +0 -1
- package/dist/store/migrate-signaldock-to-conduit.js +0 -562
- package/dist/store/migrate-signaldock-to-conduit.js.map +0 -1
- package/dist/store/migration-manager.js +0 -288
- 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 -268
- package/dist/store/nexus-schema.js.map +0 -1
- package/dist/store/nexus-sqlite.js +0 -242
- package/dist/store/nexus-sqlite.js.map +0 -1
- package/dist/store/nexus-validation-schemas.js +0 -40
- package/dist/store/nexus-validation-schemas.js.map +0 -1
- package/dist/store/parsers.js +0 -37
- package/dist/store/parsers.js.map +0 -1
- package/dist/store/project-detect.js +0 -457
- package/dist/store/project-detect.js.map +0 -1
- package/dist/store/provider.js +0 -101
- package/dist/store/provider.js.map +0 -1
- package/dist/store/regenerators.js +0 -207
- package/dist/store/regenerators.js.map +0 -1
- package/dist/store/restore-conflict-report.js +0 -206
- package/dist/store/restore-conflict-report.js.map +0 -1
- package/dist/store/restore-json-merge.js +0 -454
- package/dist/store/restore-json-merge.js.map +0 -1
- package/dist/store/safety-data-accessor.js +0 -257
- package/dist/store/safety-data-accessor.js.map +0 -1
- package/dist/store/schema.js +0 -7
- package/dist/store/schema.js.map +0 -1
- package/dist/store/session-store.js +0 -219
- package/dist/store/session-store.js.map +0 -1
- package/dist/store/signaldock-sqlite.js +0 -550
- package/dist/store/signaldock-sqlite.js.map +0 -1
- package/dist/store/sqlite-backup.js +0 -498
- package/dist/store/sqlite-backup.js.map +0 -1
- package/dist/store/sqlite-data-accessor.js +0 -787
- package/dist/store/sqlite-data-accessor.js.map +0 -1
- package/dist/store/sqlite.js +0 -483
- 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/t310-readiness.js +0 -115
- package/dist/store/t310-readiness.js.map +0 -1
- package/dist/store/task-store.js +0 -358
- package/dist/store/task-store.js.map +0 -1
- package/dist/store/tasks-schema.js +0 -610
- package/dist/store/tasks-schema.js.map +0 -1
- package/dist/store/typed-query.js +0 -15
- package/dist/store/typed-query.js.map +0 -1
- package/dist/store/validation-schemas.js +0 -278
- package/dist/store/validation-schemas.js.map +0 -1
- package/dist/system/archive-analytics.js +0 -277
- package/dist/system/archive-analytics.js.map +0 -1
- package/dist/system/archive-stats.js +0 -64
- package/dist/system/archive-stats.js.map +0 -1
- package/dist/system/audit.js +0 -145
- package/dist/system/audit.js.map +0 -1
- package/dist/system/backup.js +0 -280
- package/dist/system/backup.js.map +0 -1
- package/dist/system/cleanup.js +0 -134
- package/dist/system/cleanup.js.map +0 -1
- package/dist/system/dependencies.js +0 -466
- package/dist/system/dependencies.js.map +0 -1
- package/dist/system/health.js +0 -1206
- 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 -89
- 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 -837
- 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 -248
- 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 -163
- 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 -173
- package/dist/tasks/graph-ops.js.map +0 -1
- package/dist/tasks/graph-rag.js +0 -328
- package/dist/tasks/graph-rag.js.map +0 -1
- package/dist/tasks/hierarchy-policy.js +0 -149
- package/dist/tasks/hierarchy-policy.js.map +0 -1
- package/dist/tasks/hierarchy.js +0 -185
- package/dist/tasks/hierarchy.js.map +0 -1
- package/dist/tasks/id-generator.js +0 -65
- package/dist/tasks/id-generator.js.map +0 -1
- package/dist/tasks/index.js +0 -14
- package/dist/tasks/index.js.map +0 -1
- package/dist/tasks/labels.js +0 -55
- package/dist/tasks/labels.js.map +0 -1
- package/dist/tasks/list.js +0 -75
- package/dist/tasks/list.js.map +0 -1
- package/dist/tasks/phase-tracking.js +0 -133
- package/dist/tasks/phase-tracking.js.map +0 -1
- package/dist/tasks/pipeline-stage.js +0 -248
- package/dist/tasks/pipeline-stage.js.map +0 -1
- package/dist/tasks/plan.js +0 -268
- package/dist/tasks/plan.js.map +0 -1
- package/dist/tasks/relates.js +0 -101
- package/dist/tasks/relates.js.map +0 -1
- package/dist/tasks/show.js +0 -83
- package/dist/tasks/show.js.map +0 -1
- package/dist/tasks/size-weighting.js +0 -86
- package/dist/tasks/size-weighting.js.map +0 -1
- package/dist/tasks/staleness.js +0 -86
- package/dist/tasks/staleness.js.map +0 -1
- package/dist/tasks/task-ops.js +0 -1741
- package/dist/tasks/task-ops.js.map +0 -1
- package/dist/tasks/update.js +0 -303
- package/dist/tasks/update.js.map +0 -1
- package/dist/templates/index.js +0 -10
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/parser.js +0 -254
- package/dist/templates/parser.js.map +0 -1
- package/dist/ui/aliases.js +0 -153
- package/dist/ui/aliases.js.map +0 -1
- package/dist/ui/changelog.js +0 -184
- package/dist/ui/changelog.js.map +0 -1
- package/dist/ui/command-registry.js +0 -168
- package/dist/ui/command-registry.js.map +0 -1
- package/dist/ui/flags.js +0 -94
- package/dist/ui/flags.js.map +0 -1
- package/dist/ui/index.js +0 -24
- package/dist/ui/index.js.map +0 -1
- package/dist/upgrade.js +0 -1371
- package/dist/upgrade.js.map +0 -1
- package/dist/validation/chain-validation.js +0 -146
- package/dist/validation/chain-validation.js.map +0 -1
- package/dist/validation/compliance.js +0 -155
- package/dist/validation/compliance.js.map +0 -1
- package/dist/validation/docs-sync.js +0 -212
- package/dist/validation/docs-sync.js.map +0 -1
- package/dist/validation/doctor/checks.js +0 -1069
- package/dist/validation/doctor/checks.js.map +0 -1
- package/dist/validation/doctor/index.js +0 -9
- package/dist/validation/doctor/index.js.map +0 -1
- package/dist/validation/doctor/project-cache.js +0 -160
- package/dist/validation/doctor/project-cache.js.map +0 -1
- package/dist/validation/doctor/utils.js +0 -155
- package/dist/validation/doctor/utils.js.map +0 -1
- package/dist/validation/engine.js +0 -914
- package/dist/validation/engine.js.map +0 -1
- package/dist/validation/gap-check.js +0 -175
- package/dist/validation/gap-check.js.map +0 -1
- package/dist/validation/index.js +0 -40
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/manifest.js +0 -237
- package/dist/validation/manifest.js.map +0 -1
- package/dist/validation/operation-gate-validators.js +0 -724
- package/dist/validation/operation-gate-validators.js.map +0 -1
- package/dist/validation/operation-verification-gates.js +0 -532
- package/dist/validation/operation-verification-gates.js.map +0 -1
- package/dist/validation/param-utils.js +0 -141
- package/dist/validation/param-utils.js.map +0 -1
- package/dist/validation/protocol-common.js +0 -300
- package/dist/validation/protocol-common.js.map +0 -1
- package/dist/validation/protocols/_shared.js +0 -82
- package/dist/validation/protocols/_shared.js.map +0 -1
- package/dist/validation/protocols/architecture-decision.js +0 -31
- package/dist/validation/protocols/architecture-decision.js.map +0 -1
- package/dist/validation/protocols/artifact-publish.js +0 -28
- package/dist/validation/protocols/artifact-publish.js.map +0 -1
- package/dist/validation/protocols/consensus.js +0 -41
- package/dist/validation/protocols/consensus.js.map +0 -1
- package/dist/validation/protocols/contribution.js +0 -27
- package/dist/validation/protocols/contribution.js.map +0 -1
- package/dist/validation/protocols/decomposition.js +0 -28
- package/dist/validation/protocols/decomposition.js.map +0 -1
- package/dist/validation/protocols/implementation.js +0 -24
- package/dist/validation/protocols/implementation.js.map +0 -1
- package/dist/validation/protocols/provenance.js +0 -29
- package/dist/validation/protocols/provenance.js.map +0 -1
- package/dist/validation/protocols/release.js +0 -29
- package/dist/validation/protocols/release.js.map +0 -1
- package/dist/validation/protocols/research.js +0 -24
- package/dist/validation/protocols/research.js.map +0 -1
- package/dist/validation/protocols/specification.js +0 -27
- package/dist/validation/protocols/specification.js.map +0 -1
- package/dist/validation/protocols/testing.js +0 -30
- package/dist/validation/protocols/testing.js.map +0 -1
- package/dist/validation/protocols/validation.js +0 -30
- package/dist/validation/protocols/validation.js.map +0 -1
- package/dist/validation/schema-integrity.js +0 -170
- package/dist/validation/schema-integrity.js.map +0 -1
- package/dist/validation/schema-validator.js +0 -176
- package/dist/validation/schema-validator.js.map +0 -1
- package/dist/validation/validate-ops.js +0 -937
- package/dist/validation/validate-ops.js.map +0 -1
- package/dist/validation/validation-rules.js +0 -226
- package/dist/validation/validation-rules.js.map +0 -1
- package/dist/validation/verification.js +0 -321
- package/dist/validation/verification.js.map +0 -1
- package/migrations/drizzle-nexus/20260412000001_t529-nexus-graph-tables/migration.sql +0 -49
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAgCH,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAaD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiCnE;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE9F;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+FzF;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAiDf;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,CAwBtD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,WAAW,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CA0a7E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CAiB/F;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBnF;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC,CAsFf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-sqlite.d.ts","sourceRoot":"","sources":["../../src/store/brain-sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAejD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAW5C;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAMrD;
|
|
1
|
+
{"version":3,"file":"brain-sqlite.d.ts","sourceRoot":"","sources":["../../src/store/brain-sqlite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAejD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAW5C;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAMrD;AAwID;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AA0BD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,WAAW,CAAC,CAAC,CAqE9F;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAcnC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAexC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAEtD;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/core",
|
|
3
|
-
"version": "2026.4.
|
|
3
|
+
"version": "2026.4.43",
|
|
4
4
|
"description": "CLEO core business logic kernel — tasks, sessions, memory, orchestration, lifecycle, with bundled SQLite store",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
"import": "./dist/internal.js",
|
|
17
17
|
"require": "./dist/internal.js"
|
|
18
18
|
},
|
|
19
|
+
"./conduit": {
|
|
20
|
+
"types": "./dist/conduit/index.d.ts",
|
|
21
|
+
"import": "./dist/conduit/index.js",
|
|
22
|
+
"require": "./dist/conduit/index.js"
|
|
23
|
+
},
|
|
19
24
|
"./*": {
|
|
20
25
|
"types": "./dist/*.d.ts",
|
|
21
26
|
"import": "./dist/*.js",
|
|
@@ -48,13 +53,13 @@
|
|
|
48
53
|
"write-file-atomic": "^7.0.1",
|
|
49
54
|
"yaml": "^2.8.3",
|
|
50
55
|
"zod": "^4.3.6",
|
|
51
|
-
"@cleocode/
|
|
52
|
-
"@cleocode/
|
|
53
|
-
"@cleocode/
|
|
54
|
-
"@cleocode/
|
|
55
|
-
"@cleocode/
|
|
56
|
-
"@cleocode/
|
|
57
|
-
"@cleocode/skills": "2026.4.
|
|
56
|
+
"@cleocode/agents": "2026.4.43",
|
|
57
|
+
"@cleocode/adapters": "2026.4.43",
|
|
58
|
+
"@cleocode/caamp": "2026.4.43",
|
|
59
|
+
"@cleocode/lafs": "2026.4.43",
|
|
60
|
+
"@cleocode/contracts": "2026.4.43",
|
|
61
|
+
"@cleocode/nexus": "2026.4.43",
|
|
62
|
+
"@cleocode/skills": "2026.4.43"
|
|
58
63
|
},
|
|
59
64
|
"engines": {
|
|
60
65
|
"node": ">=24.0.0"
|
package/src/conduit/factory.ts
CHANGED
|
@@ -17,32 +17,35 @@ import { SseTransport } from './sse-transport.js';
|
|
|
17
17
|
/**
|
|
18
18
|
* Resolve the best available transport for a credential.
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
20
|
+
* Priority (highest to lowest):
|
|
21
|
+
* 1. LocalTransport — when conduit.db exists in the project's .cleo/ dir.
|
|
22
|
+
* Local delivery is always preferred for inter-agent messaging within
|
|
23
|
+
* the same project, even when the agent also has cloud credentials.
|
|
24
|
+
* 2. SseTransport — when the credential includes an SSE endpoint URL.
|
|
25
|
+
* 3. HttpTransport — fallback for cloud-only or no conduit.db.
|
|
26
|
+
*
|
|
27
|
+
* Note: LocalTransport and cloud credentials are not mutually exclusive.
|
|
28
|
+
* Agents registered with a remote apiBaseUrl still use LocalTransport when
|
|
29
|
+
* conduit.db is available, since local delivery does not require a network.
|
|
25
30
|
*/
|
|
26
31
|
export function resolveTransport(credential: AgentCredential): Transport {
|
|
32
|
+
// Prefer LocalTransport when conduit.db exists — works offline and for
|
|
33
|
+
// same-project agent-to-agent messaging without any cloud round-trip.
|
|
34
|
+
if (LocalTransport.isAvailable()) {
|
|
35
|
+
return new LocalTransport();
|
|
36
|
+
}
|
|
37
|
+
|
|
27
38
|
const isCloudBacked =
|
|
28
39
|
credential.apiBaseUrl &&
|
|
29
40
|
credential.apiBaseUrl !== 'local' &&
|
|
30
41
|
credential.apiBaseUrl.startsWith('http');
|
|
31
42
|
|
|
32
|
-
// Cloud-backed agents
|
|
33
|
-
if (isCloudBacked) {
|
|
34
|
-
|
|
35
|
-
return new SseTransport();
|
|
36
|
-
}
|
|
37
|
-
return new HttpTransport();
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Local-only agents use LocalTransport when signaldock.db is available
|
|
41
|
-
if (LocalTransport.isAvailable()) {
|
|
42
|
-
return new LocalTransport();
|
|
43
|
+
// Cloud-backed agents without local conduit.db: prefer SSE over HTTP polling
|
|
44
|
+
if (isCloudBacked && credential.transportConfig.sseEndpoint) {
|
|
45
|
+
return new SseTransport();
|
|
43
46
|
}
|
|
44
47
|
|
|
45
|
-
// Fallback to HTTP
|
|
48
|
+
// Fallback to HTTP (cloud polling or no other option)
|
|
46
49
|
return new HttpTransport();
|
|
47
50
|
}
|
|
48
51
|
|
package/src/init.ts
CHANGED
|
@@ -1097,5 +1097,26 @@ export async function deployStarterBundle(
|
|
|
1097
1097
|
}
|
|
1098
1098
|
}
|
|
1099
1099
|
|
|
1100
|
-
|
|
1100
|
+
// Copy CLEOOS-IDENTITY.md to .cleo/ (orchestrator identity for main session agent)
|
|
1101
|
+
const identitySrc = join(starterBundleSrc, 'CLEOOS-IDENTITY.md');
|
|
1102
|
+
const identityDst = join(cleoDir, 'CLEOOS-IDENTITY.md');
|
|
1103
|
+
if (existsSync(identitySrc) && !existsSync(identityDst)) {
|
|
1104
|
+
await copyFile(identitySrc, identityDst);
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
// Also deploy CLEOOS-IDENTITY.md to the global XDG data directory so it is
|
|
1108
|
+
// available system-wide (e.g. ~/.local/share/cleo/CLEOOS-IDENTITY.md).
|
|
1109
|
+
// This mirrors the project-level copy above and follows the same
|
|
1110
|
+
// idempotent pattern: never overwrite an existing file.
|
|
1111
|
+
try {
|
|
1112
|
+
const { getCleoHome } = await import('./paths.js');
|
|
1113
|
+
const globalIdentityDst = join(getCleoHome(), 'CLEOOS-IDENTITY.md');
|
|
1114
|
+
if (existsSync(identitySrc) && !existsSync(globalIdentityDst)) {
|
|
1115
|
+
await copyFile(identitySrc, globalIdentityDst);
|
|
1116
|
+
}
|
|
1117
|
+
} catch {
|
|
1118
|
+
// Non-fatal — global deploy is best-effort
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
created.push('starter-bundle: team + agent .cant files + identity deployed to .cleo/');
|
|
1101
1122
|
}
|
|
@@ -64,11 +64,10 @@ describe('gitCheckpoint commit args', () => {
|
|
|
64
64
|
// Structural test: verify the commit call in git-checkpoint.ts
|
|
65
65
|
// includes '--' followed by file paths, not just bare 'git commit -m ...'
|
|
66
66
|
const { readFileSync } = await import('node:fs');
|
|
67
|
-
const {
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
);
|
|
67
|
+
const { resolve, dirname } = await import('node:path');
|
|
68
|
+
const { fileURLToPath } = await import('node:url');
|
|
69
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
70
|
+
const src = readFileSync(resolve(__dirname, '../git-checkpoint.ts'), 'utf-8');
|
|
72
71
|
// Verify the commit args include '--' path restriction
|
|
73
72
|
expect(src).toMatch(/commitArgs\.push\(['"]--['"]/);
|
|
74
73
|
});
|
|
@@ -152,11 +151,10 @@ describe('state file merging', () => {
|
|
|
152
151
|
it('core STATE_FILES are always present in the source', async () => {
|
|
153
152
|
// Structural: verify the hardcoded array includes the expected core files
|
|
154
153
|
const { readFileSync } = await import('node:fs');
|
|
155
|
-
const {
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
);
|
|
154
|
+
const { resolve, dirname } = await import('node:path');
|
|
155
|
+
const { fileURLToPath } = await import('node:url');
|
|
156
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
157
|
+
const src = readFileSync(resolve(__dirname, '../git-checkpoint.ts'), 'utf-8');
|
|
160
158
|
expect(src).toContain("'config.json'");
|
|
161
159
|
expect(src).toContain("'project-info.json'");
|
|
162
160
|
expect(src).toContain("'project-context.json'");
|
|
@@ -167,11 +165,10 @@ describe('state file merging', () => {
|
|
|
167
165
|
it('getAllStateFiles merges core and config allowlist', async () => {
|
|
168
166
|
// Structural: verify getAllStateFiles spreads both STATE_FILES and custom
|
|
169
167
|
const { readFileSync } = await import('node:fs');
|
|
170
|
-
const {
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
);
|
|
168
|
+
const { resolve, dirname } = await import('node:path');
|
|
169
|
+
const { fileURLToPath } = await import('node:url');
|
|
170
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
171
|
+
const src = readFileSync(resolve(__dirname, '../git-checkpoint.ts'), 'utf-8');
|
|
175
172
|
expect(src).toMatch(/\[\.\.\.STATE_FILES,\s*\.\.\.custom\]/);
|
|
176
173
|
});
|
|
177
174
|
});
|
|
@@ -151,6 +151,18 @@ function runBrainMigrations(
|
|
|
151
151
|
'brain',
|
|
152
152
|
);
|
|
153
153
|
}
|
|
154
|
+
|
|
155
|
+
// T417: agent provenance field on brain_observations.
|
|
156
|
+
// Added here as a safety net because the T417 migration file is an ALTER TABLE
|
|
157
|
+
// that is skipped on fresh databases when the migration journal reconciler marks
|
|
158
|
+
// all migrations as applied without actually running them (Scenario 2 race).
|
|
159
|
+
// ensureColumns is idempotent — no-op if the column already exists.
|
|
160
|
+
ensureColumns(
|
|
161
|
+
nativeDb,
|
|
162
|
+
'brain_observations',
|
|
163
|
+
[{ name: 'agent', ddl: 'text' }],
|
|
164
|
+
'brain',
|
|
165
|
+
);
|
|
154
166
|
}
|
|
155
167
|
|
|
156
168
|
/**
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dynamic adapter loading utilities.
|
|
3
|
-
*
|
|
4
|
-
* Replaces the former static ADAPTER_REGISTRY with discovery-based loading.
|
|
5
|
-
* Adapters are found via discoverAdapterManifests() and loaded dynamically
|
|
6
|
-
* using each manifest's packagePath and entryPoint.
|
|
7
|
-
*
|
|
8
|
-
* Zero hardcoded adapter package names — everything derives from manifests.
|
|
9
|
-
*
|
|
10
|
-
* @task T5698
|
|
11
|
-
*/
|
|
12
|
-
import { join } from 'node:path';
|
|
13
|
-
/**
|
|
14
|
-
* Validate that a loaded module export implements the CLEOProviderAdapter interface.
|
|
15
|
-
* Checks for required methods and properties without relying on instanceof.
|
|
16
|
-
*/
|
|
17
|
-
export function isValidAdapter(adapter) {
|
|
18
|
-
if (adapter === null || typeof adapter !== 'object')
|
|
19
|
-
return false;
|
|
20
|
-
const obj = adapter;
|
|
21
|
-
return (typeof obj.id === 'string' &&
|
|
22
|
-
typeof obj.name === 'string' &&
|
|
23
|
-
typeof obj.version === 'string' &&
|
|
24
|
-
typeof obj.initialize === 'function' &&
|
|
25
|
-
typeof obj.dispose === 'function' &&
|
|
26
|
-
typeof obj.healthCheck === 'function' &&
|
|
27
|
-
obj.capabilities !== null &&
|
|
28
|
-
typeof obj.capabilities === 'object');
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Dynamically load and instantiate an adapter from its manifest.
|
|
32
|
-
*
|
|
33
|
-
* Uses the manifest's packagePath to resolve the adapter module,
|
|
34
|
-
* then looks for a `createAdapter()` factory or a default export class.
|
|
35
|
-
*
|
|
36
|
-
* @param manifest - The adapter manifest with a resolved packagePath
|
|
37
|
-
* @returns A CLEOProviderAdapter instance
|
|
38
|
-
* @throws If the module cannot be loaded or does not export a valid adapter
|
|
39
|
-
*/
|
|
40
|
-
export async function loadAdapterFromManifest(manifest) {
|
|
41
|
-
const modulePath = join(manifest.packagePath, manifest.entryPoint);
|
|
42
|
-
const adapterModule = await import(modulePath);
|
|
43
|
-
// Prefer createAdapter() factory (all adapter packages export this)
|
|
44
|
-
if (typeof adapterModule.createAdapter === 'function') {
|
|
45
|
-
const adapter = adapterModule.createAdapter();
|
|
46
|
-
if (isValidAdapter(adapter))
|
|
47
|
-
return adapter;
|
|
48
|
-
throw new Error(`createAdapter() in ${manifest.id} did not return a valid CLEOProviderAdapter`);
|
|
49
|
-
}
|
|
50
|
-
// Fall back to default export (may be a class constructor)
|
|
51
|
-
if (adapterModule.default) {
|
|
52
|
-
const DefaultExport = adapterModule.default;
|
|
53
|
-
if (typeof DefaultExport === 'function') {
|
|
54
|
-
const adapter = new DefaultExport();
|
|
55
|
-
if (isValidAdapter(adapter))
|
|
56
|
-
return adapter;
|
|
57
|
-
}
|
|
58
|
-
else if (isValidAdapter(DefaultExport)) {
|
|
59
|
-
return DefaultExport;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
throw new Error(`Adapter module for ${manifest.id} does not export createAdapter() or a valid default`);
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=adapter-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-registry.js","sourceRoot":"","sources":["../../src/adapters/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,GAAG,GAAG,OAAkC,CAAC;IAC/C,OAAO,CACL,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU;QACpC,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU;QACjC,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU;QACrC,GAAG,CAAC,YAAY,KAAK,IAAI;QACzB,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/C,oEAAoE;IACpE,IAAI,OAAO,aAAa,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,cAAc,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,EAAE,6CAA6C,CAAC,CAAC;IAClG,CAAC;IAED,2DAA2D;IAC3D,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;QAC5C,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,cAAc,CAAC,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC9C,CAAC;aAAM,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO,aAAa,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,CAAC,EAAE,qDAAqD,CACvF,CAAC;AACJ,CAAC"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapter discovery: scans packages/adapters/ for installed provider adapters.
|
|
3
|
-
* Reads adapter manifests and detects active providers in the current environment.
|
|
4
|
-
*
|
|
5
|
-
* @task T5240
|
|
6
|
-
*/
|
|
7
|
-
import { execFileSync } from 'node:child_process';
|
|
8
|
-
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
9
|
-
import { join, resolve } from 'node:path';
|
|
10
|
-
/**
|
|
11
|
-
* Scan the packages/adapters/ directory for adapter packages.
|
|
12
|
-
* Each adapter must have a manifest.json at its root.
|
|
13
|
-
*/
|
|
14
|
-
export function discoverAdapterManifests(projectRoot) {
|
|
15
|
-
const adaptersDir = resolve(projectRoot, 'packages', 'adapters');
|
|
16
|
-
if (!existsSync(adaptersDir))
|
|
17
|
-
return [];
|
|
18
|
-
const manifests = [];
|
|
19
|
-
let entries;
|
|
20
|
-
try {
|
|
21
|
-
entries = readdirSync(adaptersDir, { withFileTypes: true })
|
|
22
|
-
.filter((d) => d.isDirectory())
|
|
23
|
-
.map((d) => d.name);
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return [];
|
|
27
|
-
}
|
|
28
|
-
for (const dir of entries) {
|
|
29
|
-
const adapterDir = join(adaptersDir, dir);
|
|
30
|
-
const manifestPath = join(adapterDir, 'manifest.json');
|
|
31
|
-
if (!existsSync(manifestPath))
|
|
32
|
-
continue;
|
|
33
|
-
try {
|
|
34
|
-
const raw = readFileSync(manifestPath, 'utf-8');
|
|
35
|
-
const manifest = JSON.parse(raw);
|
|
36
|
-
// Resolve and attach the absolute package path for dynamic import
|
|
37
|
-
manifest.packagePath = resolve(adapterDir);
|
|
38
|
-
manifests.push(manifest);
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
// Skip malformed manifests
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return manifests;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Detect whether a provider is active in the current environment
|
|
48
|
-
* by checking its detection patterns.
|
|
49
|
-
*/
|
|
50
|
-
export function detectProvider(patterns) {
|
|
51
|
-
for (const pattern of patterns) {
|
|
52
|
-
if (matchDetectionPattern(pattern))
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
function matchDetectionPattern(pattern) {
|
|
58
|
-
switch (pattern.type) {
|
|
59
|
-
case 'env':
|
|
60
|
-
return process.env[pattern.pattern] !== undefined;
|
|
61
|
-
case 'file':
|
|
62
|
-
return existsSync(pattern.pattern);
|
|
63
|
-
case 'process': {
|
|
64
|
-
// Check if a process name appears in environment hints
|
|
65
|
-
// (actual process scanning is expensive; use env-based hints)
|
|
66
|
-
const processName = pattern.pattern.toLowerCase();
|
|
67
|
-
return ((process.env.TERM_PROGRAM ?? '').toLowerCase().includes(processName) ||
|
|
68
|
-
(process.env.EDITOR ?? '').toLowerCase().includes(processName));
|
|
69
|
-
}
|
|
70
|
-
case 'cli': {
|
|
71
|
-
try {
|
|
72
|
-
execFileSync('which', [pattern.pattern], { stdio: 'ignore', timeout: 3000 });
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
default:
|
|
80
|
-
return false;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/adapters/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapter management: discovery, lifecycle, and dynamic loading.
|
|
3
|
-
*
|
|
4
|
-
* @task T5240
|
|
5
|
-
*/
|
|
6
|
-
export { isValidAdapter, loadAdapterFromManifest } from './adapter-registry.js';
|
|
7
|
-
export { detectProvider, discoverAdapterManifests } from './discovery.js';
|
|
8
|
-
export { AdapterManager } from './manager.js';
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/adapters/manager.js
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AdapterManager: central registry for provider adapters.
|
|
3
|
-
* Handles adapter lifecycle (discovery, initialization, health, disposal)
|
|
4
|
-
* and tracks the active adapter for the current session.
|
|
5
|
-
*
|
|
6
|
-
* @task T5240
|
|
7
|
-
*/
|
|
8
|
-
import { hooks } from '../hooks/registry.js';
|
|
9
|
-
import { getLogger } from '../logger.js';
|
|
10
|
-
import { loadAdapterFromManifest } from './adapter-registry.js';
|
|
11
|
-
import { detectProvider, discoverAdapterManifests } from './discovery.js';
|
|
12
|
-
const log = getLogger('adapter-manager');
|
|
13
|
-
/**
|
|
14
|
-
* Central adapter manager. Singleton per process.
|
|
15
|
-
*
|
|
16
|
-
* Lifecycle:
|
|
17
|
-
* 1. discover() — scan for adapter packages and their manifests
|
|
18
|
-
* 2. activate(id) — load, initialize, and set as active adapter
|
|
19
|
-
* 3. getActive() — return the current active adapter
|
|
20
|
-
* 4. dispose() — clean up all initialized adapters
|
|
21
|
-
*/
|
|
22
|
-
export class AdapterManager {
|
|
23
|
-
static instance = null;
|
|
24
|
-
adapters = new Map();
|
|
25
|
-
manifests = new Map();
|
|
26
|
-
hookCleanups = new Map();
|
|
27
|
-
activeId = null;
|
|
28
|
-
projectRoot;
|
|
29
|
-
constructor(projectRoot) {
|
|
30
|
-
this.projectRoot = projectRoot;
|
|
31
|
-
}
|
|
32
|
-
static getInstance(projectRoot) {
|
|
33
|
-
if (!AdapterManager.instance) {
|
|
34
|
-
AdapterManager.instance = new AdapterManager(projectRoot);
|
|
35
|
-
}
|
|
36
|
-
return AdapterManager.instance;
|
|
37
|
-
}
|
|
38
|
-
/** Reset singleton (for testing). */
|
|
39
|
-
static resetInstance() {
|
|
40
|
-
AdapterManager.instance = null;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Discover adapter manifests from packages/adapters/.
|
|
44
|
-
* Returns manifests found (does not load adapter code yet).
|
|
45
|
-
*/
|
|
46
|
-
discover() {
|
|
47
|
-
const found = discoverAdapterManifests(this.projectRoot);
|
|
48
|
-
for (const manifest of found) {
|
|
49
|
-
this.manifests.set(manifest.id, manifest);
|
|
50
|
-
}
|
|
51
|
-
log.info({ count: found.length }, 'Discovered adapter manifests');
|
|
52
|
-
return found;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Auto-detect which adapters match the current environment
|
|
56
|
-
* and return their manifest IDs.
|
|
57
|
-
*/
|
|
58
|
-
detectActive() {
|
|
59
|
-
const detected = [];
|
|
60
|
-
for (const [id, manifest] of this.manifests) {
|
|
61
|
-
if (detectProvider(manifest.detectionPatterns)) {
|
|
62
|
-
detected.push(id);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
log.info({ detected }, 'Detected active providers');
|
|
66
|
-
return detected;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Load and initialize an adapter by manifest ID.
|
|
70
|
-
* Dynamically imports from the manifest's packagePath — no hardcoded adapters.
|
|
71
|
-
*/
|
|
72
|
-
async activate(adapterId) {
|
|
73
|
-
const manifest = this.manifests.get(adapterId);
|
|
74
|
-
if (!manifest) {
|
|
75
|
-
throw new Error(`Adapter manifest not found: ${adapterId}`);
|
|
76
|
-
}
|
|
77
|
-
// Check if already loaded
|
|
78
|
-
const existing = this.adapters.get(adapterId);
|
|
79
|
-
if (existing) {
|
|
80
|
-
this.activeId = adapterId;
|
|
81
|
-
return existing;
|
|
82
|
-
}
|
|
83
|
-
try {
|
|
84
|
-
// Dynamic import from discovered package path — no hardcoded adapters
|
|
85
|
-
const adapter = await loadAdapterFromManifest(manifest);
|
|
86
|
-
await adapter.initialize(this.projectRoot);
|
|
87
|
-
this.adapters.set(adapterId, adapter);
|
|
88
|
-
this.activeId = adapterId;
|
|
89
|
-
// Wire hooks into HookRegistry
|
|
90
|
-
if (adapter.hooks) {
|
|
91
|
-
await this.wireAdapterHooks(adapterId, adapter);
|
|
92
|
-
}
|
|
93
|
-
log.info({ adapterId, provider: manifest.provider }, 'Adapter activated');
|
|
94
|
-
return adapter;
|
|
95
|
-
}
|
|
96
|
-
catch (err) {
|
|
97
|
-
log.error({ adapterId, err }, 'Failed to activate adapter');
|
|
98
|
-
throw err;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/** Get the currently active adapter, or null if none. */
|
|
102
|
-
getActive() {
|
|
103
|
-
if (!this.activeId)
|
|
104
|
-
return null;
|
|
105
|
-
return this.adapters.get(this.activeId) ?? null;
|
|
106
|
-
}
|
|
107
|
-
/** Get the active adapter's ID, or null. */
|
|
108
|
-
getActiveId() {
|
|
109
|
-
return this.activeId;
|
|
110
|
-
}
|
|
111
|
-
/** Get a specific adapter by ID. */
|
|
112
|
-
get(adapterId) {
|
|
113
|
-
return this.adapters.get(adapterId) ?? null;
|
|
114
|
-
}
|
|
115
|
-
/** Get the manifest for a specific adapter. */
|
|
116
|
-
getManifest(adapterId) {
|
|
117
|
-
return this.manifests.get(adapterId) ?? null;
|
|
118
|
-
}
|
|
119
|
-
/** List all known adapters with summary info. */
|
|
120
|
-
listAdapters() {
|
|
121
|
-
const result = [];
|
|
122
|
-
for (const [id, manifest] of this.manifests) {
|
|
123
|
-
const adapter = this.adapters.get(id);
|
|
124
|
-
result.push({
|
|
125
|
-
id,
|
|
126
|
-
name: manifest.name,
|
|
127
|
-
version: manifest.version,
|
|
128
|
-
provider: manifest.provider,
|
|
129
|
-
healthy: !!adapter,
|
|
130
|
-
active: id === this.activeId,
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
return result;
|
|
134
|
-
}
|
|
135
|
-
/** Run health check on all initialized adapters. */
|
|
136
|
-
async healthCheckAll() {
|
|
137
|
-
const results = new Map();
|
|
138
|
-
for (const [id, adapter] of this.adapters) {
|
|
139
|
-
try {
|
|
140
|
-
const status = await adapter.healthCheck();
|
|
141
|
-
results.set(id, status);
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
results.set(id, {
|
|
145
|
-
healthy: false,
|
|
146
|
-
provider: this.manifests.get(id)?.provider ?? 'unknown',
|
|
147
|
-
details: { error: err instanceof Error ? err.message : String(err) },
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return results;
|
|
152
|
-
}
|
|
153
|
-
/** Health check a single adapter. */
|
|
154
|
-
async healthCheck(adapterId) {
|
|
155
|
-
const adapter = this.adapters.get(adapterId);
|
|
156
|
-
if (!adapter) {
|
|
157
|
-
return {
|
|
158
|
-
healthy: false,
|
|
159
|
-
provider: this.manifests.get(adapterId)?.provider ?? 'unknown',
|
|
160
|
-
details: { error: 'Adapter not initialized' },
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
try {
|
|
164
|
-
return await adapter.healthCheck();
|
|
165
|
-
}
|
|
166
|
-
catch (err) {
|
|
167
|
-
return {
|
|
168
|
-
healthy: false,
|
|
169
|
-
provider: this.manifests.get(adapterId)?.provider ?? 'unknown',
|
|
170
|
-
details: { error: err instanceof Error ? err.message : String(err) },
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/** Dispose all initialized adapters. */
|
|
175
|
-
async dispose() {
|
|
176
|
-
for (const [id, adapter] of this.adapters) {
|
|
177
|
-
try {
|
|
178
|
-
// Clean up hooks first
|
|
179
|
-
await this.cleanupAdapterHooks(id, adapter);
|
|
180
|
-
await adapter.dispose();
|
|
181
|
-
log.info({ adapterId: id }, 'Adapter disposed');
|
|
182
|
-
}
|
|
183
|
-
catch (err) {
|
|
184
|
-
log.error({ adapterId: id, err }, 'Failed to dispose adapter');
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
this.adapters.clear();
|
|
188
|
-
this.hookCleanups.clear();
|
|
189
|
-
this.activeId = null;
|
|
190
|
-
}
|
|
191
|
-
/** Dispose a single adapter. */
|
|
192
|
-
async disposeAdapter(adapterId) {
|
|
193
|
-
const adapter = this.adapters.get(adapterId);
|
|
194
|
-
if (!adapter)
|
|
195
|
-
return;
|
|
196
|
-
try {
|
|
197
|
-
await this.cleanupAdapterHooks(adapterId, adapter);
|
|
198
|
-
await adapter.dispose();
|
|
199
|
-
}
|
|
200
|
-
catch (err) {
|
|
201
|
-
log.error({ adapterId, err }, 'Failed to dispose adapter');
|
|
202
|
-
}
|
|
203
|
-
this.adapters.delete(adapterId);
|
|
204
|
-
if (this.activeId === adapterId) {
|
|
205
|
-
this.activeId = null;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Wire an adapter's hook event map into CLEO's HookRegistry.
|
|
210
|
-
* Creates bridging handlers at priority 50 for each mapped event.
|
|
211
|
-
*/
|
|
212
|
-
async wireAdapterHooks(adapterId, adapter) {
|
|
213
|
-
if (!adapter.hooks)
|
|
214
|
-
return;
|
|
215
|
-
try {
|
|
216
|
-
await adapter.hooks.registerNativeHooks(this.projectRoot);
|
|
217
|
-
}
|
|
218
|
-
catch (err) {
|
|
219
|
-
log.error({ adapterId, err }, 'Failed to register native hooks');
|
|
220
|
-
}
|
|
221
|
-
const eventMap = adapter.hooks.getEventMap?.();
|
|
222
|
-
if (!eventMap)
|
|
223
|
-
return;
|
|
224
|
-
const cleanups = [];
|
|
225
|
-
for (const [_providerEvent, caampEvent] of Object.entries(eventMap)) {
|
|
226
|
-
const hookId = `adapter-${adapterId}-${caampEvent}`;
|
|
227
|
-
const unregister = hooks.register({
|
|
228
|
-
id: hookId,
|
|
229
|
-
event: caampEvent,
|
|
230
|
-
priority: 50,
|
|
231
|
-
handler: async (_projectRoot, payload) => {
|
|
232
|
-
log.debug({ adapterId, event: caampEvent, payload }, 'Adapter hook dispatched');
|
|
233
|
-
},
|
|
234
|
-
});
|
|
235
|
-
cleanups.push(unregister);
|
|
236
|
-
}
|
|
237
|
-
this.hookCleanups.set(adapterId, cleanups);
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Clean up hook registrations for an adapter.
|
|
241
|
-
*/
|
|
242
|
-
async cleanupAdapterHooks(adapterId, adapter) {
|
|
243
|
-
// Unregister from HookRegistry
|
|
244
|
-
const cleanups = this.hookCleanups.get(adapterId);
|
|
245
|
-
if (cleanups) {
|
|
246
|
-
for (const fn of cleanups) {
|
|
247
|
-
fn();
|
|
248
|
-
}
|
|
249
|
-
this.hookCleanups.delete(adapterId);
|
|
250
|
-
}
|
|
251
|
-
// Unregister native hooks
|
|
252
|
-
try {
|
|
253
|
-
await adapter.hooks?.unregisterNativeHooks();
|
|
254
|
-
}
|
|
255
|
-
catch (err) {
|
|
256
|
-
log.error({ adapterId, err }, 'Failed to unregister native hooks');
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
//# sourceMappingURL=manager.js.map
|