@cleocode/core 2026.3.58 → 2026.3.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/agent-registry.d.ts +206 -0
- package/dist/agents/agent-registry.d.ts.map +1 -0
- package/dist/agents/health-monitor.d.ts +161 -0
- package/dist/agents/health-monitor.d.ts.map +1 -0
- package/dist/agents/index.d.ts +3 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/retry.d.ts +57 -4
- package/dist/agents/retry.d.ts.map +1 -1
- package/dist/backfill/index.d.ts +27 -0
- package/dist/backfill/index.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +880 -506
- package/dist/index.js.map +4 -4
- package/dist/intelligence/impact.d.ts +34 -1
- package/dist/intelligence/impact.d.ts.map +1 -1
- package/dist/intelligence/index.d.ts +2 -2
- package/dist/intelligence/index.d.ts.map +1 -1
- package/dist/intelligence/types.d.ts +60 -0
- package/dist/intelligence/types.d.ts.map +1 -1
- package/dist/internal.d.ts +5 -4
- package/dist/internal.d.ts.map +1 -1
- package/dist/lib/index.d.ts +10 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/retry.d.ts +128 -0
- package/dist/lib/retry.d.ts.map +1 -0
- package/dist/nexus/sharing/index.d.ts +48 -2
- package/dist/nexus/sharing/index.d.ts.map +1 -1
- package/dist/stats/workflow-telemetry.d.ts +15 -0
- package/dist/stats/workflow-telemetry.d.ts.map +1 -1
- package/dist/store/cross-db-cleanup.d.ts +35 -0
- package/dist/store/cross-db-cleanup.d.ts.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/enforcement.d.ts.map +1 -1
- package/dist/tasks/epic-enforcement.d.ts +61 -0
- package/dist/tasks/epic-enforcement.d.ts.map +1 -1
- package/dist/tasks/pipeline-stage.d.ts +70 -1
- package/dist/tasks/pipeline-stage.d.ts.map +1 -1
- package/package.json +5 -5
- package/schemas/config.schema.json +37 -1547
- package/src/__tests__/sharing.test.ts +24 -0
- package/src/agents/__tests__/agent-registry.test.ts +351 -0
- package/src/agents/__tests__/health-monitor.test.ts +332 -0
- package/src/agents/agent-registry.ts +394 -0
- package/src/agents/health-monitor.ts +279 -0
- package/src/agents/index.ts +24 -1
- package/src/agents/retry.ts +57 -4
- package/src/backfill/index.ts +27 -0
- package/src/config.ts +3 -3
- package/src/index.ts +1 -0
- package/src/intelligence/__tests__/impact.test.ts +165 -1
- package/src/intelligence/impact.ts +203 -0
- package/src/intelligence/index.ts +3 -0
- package/src/intelligence/types.ts +76 -0
- package/src/internal.ts +20 -0
- package/src/lib/__tests__/retry.test.ts +321 -0
- package/src/lib/index.ts +16 -0
- package/src/lib/retry.ts +224 -0
- package/src/nexus/sharing/index.ts +142 -2
- package/src/stats/workflow-telemetry.ts +15 -0
- package/src/store/__tests__/session-store.test.ts +43 -7
- package/src/store/__tests__/task-store.test.ts +1 -1
- package/src/store/__tests__/test-db-helper.ts +7 -3
- package/src/store/cross-db-cleanup.ts +35 -0
- package/src/tasks/__tests__/epic-enforcement.test.ts +9 -4
- package/src/tasks/__tests__/minimal-test.test.ts +2 -2
- package/src/tasks/__tests__/update.test.ts +25 -25
- package/src/tasks/complete.ts +11 -6
- package/src/tasks/enforcement.ts +6 -3
- package/src/tasks/epic-enforcement.ts +61 -0
- package/src/tasks/pipeline-stage.ts +70 -1
- package/templates/config.template.json +5 -116
- package/templates/global-config.template.json +2 -44
- 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-schema.js +0 -80
- 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/index.js +0 -21
- 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 -176
- 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/bootstrap.js +0 -260
- package/dist/bootstrap.js.map +0 -1
- package/dist/caamp/adapter.js +0 -434
- package/dist/caamp/adapter.js.map +0 -1
- package/dist/caamp/capability-check.js +0 -38
- package/dist/caamp/capability-check.js.map +0 -1
- package/dist/caamp/index.js +0 -23
- package/dist/caamp/index.js.map +0 -1
- package/dist/caamp-init.js +0 -16
- package/dist/caamp-init.js.map +0 -1
- package/dist/cleo.js +0 -267
- package/dist/cleo.js.map +0 -1
- package/dist/codebase-map/analyzers/architecture.js +0 -130
- package/dist/codebase-map/analyzers/architecture.js.map +0 -1
- package/dist/codebase-map/analyzers/concerns.js +0 -122
- package/dist/codebase-map/analyzers/concerns.js.map +0 -1
- package/dist/codebase-map/analyzers/conventions.js +0 -149
- package/dist/codebase-map/analyzers/conventions.js.map +0 -1
- package/dist/codebase-map/analyzers/integrations.js +0 -108
- package/dist/codebase-map/analyzers/integrations.js.map +0 -1
- package/dist/codebase-map/analyzers/stack.js +0 -117
- package/dist/codebase-map/analyzers/stack.js.map +0 -1
- package/dist/codebase-map/analyzers/structure.js +0 -137
- package/dist/codebase-map/analyzers/structure.js.map +0 -1
- package/dist/codebase-map/analyzers/testing.js +0 -118
- package/dist/codebase-map/analyzers/testing.js.map +0 -1
- package/dist/codebase-map/index.js +0 -57
- package/dist/codebase-map/index.js.map +0 -1
- package/dist/codebase-map/store.js +0 -122
- package/dist/codebase-map/store.js.map +0 -1
- package/dist/codebase-map/summary.js +0 -152
- package/dist/codebase-map/summary.js.map +0 -1
- package/dist/compliance/index.js +0 -288
- package/dist/compliance/index.js.map +0 -1
- package/dist/compliance/protocol-enforcement.js +0 -332
- package/dist/compliance/protocol-enforcement.js.map +0 -1
- package/dist/compliance/protocol-rules.js +0 -786
- package/dist/compliance/protocol-rules.js.map +0 -1
- package/dist/compliance/protocol-types.js +0 -80
- package/dist/compliance/protocol-types.js.map +0 -1
- package/dist/compliance/store.js +0 -53
- package/dist/compliance/store.js.map +0 -1
- package/dist/config/build-config.js +0 -29
- package/dist/config/build-config.js.map +0 -1
- package/dist/config.js +0 -287
- package/dist/config.js.map +0 -1
- package/dist/constants.js +0 -18
- package/dist/constants.js.map +0 -1
- package/dist/context/index.js +0 -137
- package/dist/context/index.js.map +0 -1
- package/dist/engine-result.js +0 -12
- package/dist/engine-result.js.map +0 -1
- package/dist/error-catalog.js +0 -404
- package/dist/error-catalog.js.map +0 -1
- package/dist/error-registry.js +0 -393
- package/dist/error-registry.js.map +0 -1
- package/dist/errors.js +0 -167
- package/dist/errors.js.map +0 -1
- package/dist/hooks/handlers/error-hooks.js +0 -43
- package/dist/hooks/handlers/error-hooks.js.map +0 -1
- package/dist/hooks/handlers/file-hooks.js +0 -80
- package/dist/hooks/handlers/file-hooks.js.map +0 -1
- package/dist/hooks/handlers/index.js +0 -19
- package/dist/hooks/handlers/index.js.map +0 -1
- package/dist/hooks/handlers/mcp-hooks.js +0 -80
- package/dist/hooks/handlers/mcp-hooks.js.map +0 -1
- package/dist/hooks/handlers/session-hooks.js +0 -73
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -63
- package/dist/hooks/handlers/task-hooks.js.map +0 -1
- package/dist/hooks/index.js +0 -13
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/payload-schemas.js +0 -163
- package/dist/hooks/payload-schemas.js.map +0 -1
- package/dist/hooks/provider-hooks.js +0 -34
- package/dist/hooks/provider-hooks.js.map +0 -1
- package/dist/hooks/registry.js +0 -176
- package/dist/hooks/registry.js.map +0 -1
- package/dist/hooks/types.js +0 -62
- package/dist/hooks/types.js.map +0 -1
- package/dist/hooks.js +0 -136
- package/dist/hooks.js.map +0 -1
- package/dist/init.js +0 -711
- package/dist/init.js.map +0 -1
- package/dist/inject/index.js +0 -82
- package/dist/inject/index.js.map +0 -1
- package/dist/injection.js +0 -343
- package/dist/injection.js.map +0 -1
- package/dist/intelligence/impact.js +0 -499
- package/dist/intelligence/impact.js.map +0 -1
- package/dist/intelligence/index.js +0 -17
- 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 -258
- 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/lifecycle/chain-composition.js +0 -152
- package/dist/lifecycle/chain-composition.js.map +0 -1
- package/dist/lifecycle/chain-store.js +0 -246
- package/dist/lifecycle/chain-store.js.map +0 -1
- package/dist/lifecycle/consolidate-rcasd.js +0 -352
- package/dist/lifecycle/consolidate-rcasd.js.map +0 -1
- package/dist/lifecycle/default-chain.js +0 -167
- package/dist/lifecycle/default-chain.js.map +0 -1
- package/dist/lifecycle/evidence.js +0 -180
- package/dist/lifecycle/evidence.js.map +0 -1
- package/dist/lifecycle/frontmatter.js +0 -363
- package/dist/lifecycle/frontmatter.js.map +0 -1
- package/dist/lifecycle/index.js +0 -753
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/lifecycle/pipeline.js +0 -656
- package/dist/lifecycle/pipeline.js.map +0 -1
- package/dist/lifecycle/rcasd-index.js +0 -326
- package/dist/lifecycle/rcasd-index.js.map +0 -1
- package/dist/lifecycle/rcasd-paths.js +0 -220
- package/dist/lifecycle/rcasd-paths.js.map +0 -1
- package/dist/lifecycle/resume.js +0 -864
- package/dist/lifecycle/resume.js.map +0 -1
- package/dist/lifecycle/stage-artifacts.js +0 -94
- package/dist/lifecycle/stage-artifacts.js.map +0 -1
- package/dist/lifecycle/stages.js +0 -534
- package/dist/lifecycle/stages.js.map +0 -1
- package/dist/lifecycle/state-machine.js +0 -516
- package/dist/lifecycle/state-machine.js.map +0 -1
- package/dist/lifecycle/tessera-engine.js +0 -249
- package/dist/lifecycle/tessera-engine.js.map +0 -1
- package/dist/logger.js +0 -140
- package/dist/logger.js.map +0 -1
- package/dist/mcp/index.js +0 -146
- package/dist/mcp/index.js.map +0 -1
- package/dist/memory/auto-extract.js +0 -143
- package/dist/memory/auto-extract.js.map +0 -1
- package/dist/memory/brain-embedding.js +0 -49
- package/dist/memory/brain-embedding.js.map +0 -1
- package/dist/memory/brain-lifecycle.js +0 -298
- package/dist/memory/brain-lifecycle.js.map +0 -1
- package/dist/memory/brain-links.js +0 -148
- package/dist/memory/brain-links.js.map +0 -1
- package/dist/memory/brain-migration.js +0 -149
- package/dist/memory/brain-migration.js.map +0 -1
- package/dist/memory/brain-reasoning.js +0 -215
- package/dist/memory/brain-reasoning.js.map +0 -1
- package/dist/memory/brain-retrieval.js +0 -474
- package/dist/memory/brain-retrieval.js.map +0 -1
- package/dist/memory/brain-row-types.js +0 -10
- package/dist/memory/brain-row-types.js.map +0 -1
- package/dist/memory/brain-search.js +0 -519
- package/dist/memory/brain-search.js.map +0 -1
- package/dist/memory/brain-similarity.js +0 -145
- package/dist/memory/brain-similarity.js.map +0 -1
- package/dist/memory/claude-mem-migration.js +0 -277
- package/dist/memory/claude-mem-migration.js.map +0 -1
- package/dist/memory/decisions.js +0 -148
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/engine-compat.js +0 -1030
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/index.js +0 -773
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/learnings.js +0 -121
- package/dist/memory/learnings.js.map +0 -1
- package/dist/memory/memory-bridge.js +0 -289
- package/dist/memory/memory-bridge.js.map +0 -1
- package/dist/memory/patterns.js +0 -122
- package/dist/memory/patterns.js.map +0 -1
- package/dist/memory/pipeline-manifest-sqlite.js +0 -975
- package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
- package/dist/memory/session-memory.js +0 -226
- package/dist/memory/session-memory.js.map +0 -1
- package/dist/metrics/ab-test.js +0 -260
- package/dist/metrics/ab-test.js.map +0 -1
- package/dist/metrics/aggregation.js +0 -363
- package/dist/metrics/aggregation.js.map +0 -1
- package/dist/metrics/common.js +0 -64
- package/dist/metrics/common.js.map +0 -1
- package/dist/metrics/enums.js +0 -78
- package/dist/metrics/enums.js.map +0 -1
- package/dist/metrics/index.js +0 -19
- package/dist/metrics/index.js.map +0 -1
- package/dist/metrics/model-provider-registry.js +0 -88
- package/dist/metrics/model-provider-registry.js.map +0 -1
- package/dist/metrics/otel-integration.js +0 -263
- package/dist/metrics/otel-integration.js.map +0 -1
- package/dist/metrics/provider-detection.js +0 -103
- package/dist/metrics/provider-detection.js.map +0 -1
- package/dist/metrics/token-estimation.js +0 -253
- package/dist/metrics/token-estimation.js.map +0 -1
- package/dist/metrics/token-service.js +0 -450
- package/dist/metrics/token-service.js.map +0 -1
- package/dist/migration/agent-outputs.js +0 -316
- package/dist/migration/agent-outputs.js.map +0 -1
- package/dist/migration/checksum.js +0 -92
- package/dist/migration/checksum.js.map +0 -1
- package/dist/migration/index.js +0 -282
- package/dist/migration/index.js.map +0 -1
- package/dist/migration/logger.js +0 -360
- package/dist/migration/logger.js.map +0 -1
- package/dist/migration/preflight.js +0 -9
- package/dist/migration/preflight.js.map +0 -1
- package/dist/migration/state.js +0 -421
- package/dist/migration/state.js.map +0 -1
- package/dist/migration/validate.js +0 -241
- package/dist/migration/validate.js.map +0 -1
- package/dist/nexus/deps.js +0 -375
- package/dist/nexus/deps.js.map +0 -1
- package/dist/nexus/discover.js +0 -288
- package/dist/nexus/discover.js.map +0 -1
- package/dist/nexus/hash.js +0 -10
- package/dist/nexus/hash.js.map +0 -1
- package/dist/nexus/index.js +0 -38
- package/dist/nexus/index.js.map +0 -1
- package/dist/nexus/migrate-json-to-sqlite.js +0 -115
- package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
- package/dist/nexus/permissions.js +0 -105
- package/dist/nexus/permissions.js.map +0 -1
- package/dist/nexus/query.js +0 -175
- package/dist/nexus/query.js.map +0 -1
- package/dist/nexus/registry.js +0 -584
- package/dist/nexus/registry.js.map +0 -1
- package/dist/nexus/sharing/index.js +0 -179
- package/dist/nexus/sharing/index.js.map +0 -1
- package/dist/nexus/transfer-types.js +0 -8
- package/dist/nexus/transfer-types.js.map +0 -1
- package/dist/nexus/transfer.js +0 -263
- package/dist/nexus/transfer.js.map +0 -1
- package/dist/observability/index.js +0 -103
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/log-filter.js +0 -63
- package/dist/observability/log-filter.js.map +0 -1
- package/dist/observability/log-parser.js +0 -99
- package/dist/observability/log-parser.js.map +0 -1
- package/dist/observability/log-reader.js +0 -139
- package/dist/observability/log-reader.js.map +0 -1
- package/dist/observability/types.js +0 -19
- package/dist/observability/types.js.map +0 -1
- package/dist/orchestration/analyze.js +0 -107
- package/dist/orchestration/analyze.js.map +0 -1
- package/dist/orchestration/bootstrap.js +0 -132
- package/dist/orchestration/bootstrap.js.map +0 -1
- package/dist/orchestration/context.js +0 -56
- package/dist/orchestration/context.js.map +0 -1
- package/dist/orchestration/critical-path.js +0 -100
- package/dist/orchestration/critical-path.js.map +0 -1
- package/dist/orchestration/index.js +0 -286
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/parallel.js +0 -89
- package/dist/orchestration/parallel.js.map +0 -1
- package/dist/orchestration/protocol-validators.js +0 -524
- package/dist/orchestration/protocol-validators.js.map +0 -1
- package/dist/orchestration/skill-ops.js +0 -98
- package/dist/orchestration/skill-ops.js.map +0 -1
- package/dist/orchestration/status.js +0 -107
- package/dist/orchestration/status.js.map +0 -1
- package/dist/orchestration/unblock.js +0 -103
- package/dist/orchestration/unblock.js.map +0 -1
- package/dist/orchestration/validate-spawn.js +0 -67
- package/dist/orchestration/validate-spawn.js.map +0 -1
- package/dist/orchestration/waves.js +0 -86
- package/dist/orchestration/waves.js.map +0 -1
- package/dist/otel/index.js +0 -163
- package/dist/otel/index.js.map +0 -1
- package/dist/output.js +0 -132
- package/dist/output.js.map +0 -1
- package/dist/pagination.js +0 -61
- package/dist/pagination.js.map +0 -1
- package/dist/paths.js +0 -337
- package/dist/paths.js.map +0 -1
- package/dist/phases/deps.js +0 -369
- 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 -89
- 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 -1550
- 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 -1158
- package/dist/scaffold.js.map +0 -1
- package/dist/schema-management.js +0 -295
- package/dist/schema-management.js.map +0 -1
- package/dist/security/index.js +0 -9
- package/dist/security/index.js.map +0 -1
- package/dist/security/input-sanitization.js +0 -321
- package/dist/security/input-sanitization.js.map +0 -1
- package/dist/sequence/index.js +0 -295
- package/dist/sequence/index.js.map +0 -1
- package/dist/sessions/assumptions.js +0 -54
- package/dist/sessions/assumptions.js.map +0 -1
- package/dist/sessions/briefing.js +0 -377
- package/dist/sessions/briefing.js.map +0 -1
- package/dist/sessions/context-alert.js +0 -222
- package/dist/sessions/context-alert.js.map +0 -1
- package/dist/sessions/context-inject.js +0 -61
- package/dist/sessions/context-inject.js.map +0 -1
- package/dist/sessions/context-monitor.js +0 -98
- package/dist/sessions/context-monitor.js.map +0 -1
- package/dist/sessions/decisions.js +0 -65
- package/dist/sessions/decisions.js.map +0 -1
- package/dist/sessions/find.js +0 -63
- package/dist/sessions/find.js.map +0 -1
- package/dist/sessions/handoff.js +0 -328
- package/dist/sessions/handoff.js.map +0 -1
- package/dist/sessions/hitl-warnings.js +0 -254
- package/dist/sessions/hitl-warnings.js.map +0 -1
- package/dist/sessions/index.js +0 -318
- package/dist/sessions/index.js.map +0 -1
- package/dist/sessions/session-archive.js +0 -40
- package/dist/sessions/session-archive.js.map +0 -1
- package/dist/sessions/session-cleanup.js +0 -59
- package/dist/sessions/session-cleanup.js.map +0 -1
- package/dist/sessions/session-drift.js +0 -134
- package/dist/sessions/session-drift.js.map +0 -1
- package/dist/sessions/session-enforcement.js +0 -140
- package/dist/sessions/session-enforcement.js.map +0 -1
- package/dist/sessions/session-grade.js +0 -253
- package/dist/sessions/session-grade.js.map +0 -1
- package/dist/sessions/session-history.js +0 -42
- package/dist/sessions/session-history.js.map +0 -1
- package/dist/sessions/session-id.js +0 -81
- package/dist/sessions/session-id.js.map +0 -1
- package/dist/sessions/session-memory-bridge.js +0 -52
- package/dist/sessions/session-memory-bridge.js.map +0 -1
- package/dist/sessions/session-show.js +0 -24
- package/dist/sessions/session-show.js.map +0 -1
- package/dist/sessions/session-stats.js +0 -69
- package/dist/sessions/session-stats.js.map +0 -1
- package/dist/sessions/session-suspend.js +0 -39
- package/dist/sessions/session-suspend.js.map +0 -1
- package/dist/sessions/session-switch.js +0 -51
- package/dist/sessions/session-switch.js.map +0 -1
- package/dist/sessions/session-view.js +0 -76
- package/dist/sessions/session-view.js.map +0 -1
- package/dist/sessions/statusline-setup.js +0 -85
- package/dist/sessions/statusline-setup.js.map +0 -1
- package/dist/sessions/types.js +0 -8
- package/dist/sessions/types.js.map +0 -1
- package/dist/signaldock/claude-code-transport.js +0 -107
- package/dist/signaldock/claude-code-transport.js.map +0 -1
- package/dist/signaldock/factory.js +0 -25
- package/dist/signaldock/factory.js.map +0 -1
- package/dist/signaldock/index.js +0 -9
- package/dist/signaldock/index.js.map +0 -1
- package/dist/signaldock/signaldock-transport.js +0 -122
- package/dist/signaldock/signaldock-transport.js.map +0 -1
- package/dist/signaldock/transport.js +0 -11
- package/dist/signaldock/transport.js.map +0 -1
- package/dist/signaldock/types.js +0 -11
- package/dist/signaldock/types.js.map +0 -1
- package/dist/skills/agents/config.js +0 -94
- package/dist/skills/agents/config.js.map +0 -1
- package/dist/skills/agents/install.js +0 -116
- package/dist/skills/agents/install.js.map +0 -1
- package/dist/skills/agents/registry.js +0 -161
- package/dist/skills/agents/registry.js.map +0 -1
- package/dist/skills/discovery.js +0 -333
- package/dist/skills/discovery.js.map +0 -1
- package/dist/skills/dispatch.js +0 -347
- package/dist/skills/dispatch.js.map +0 -1
- package/dist/skills/dynamic-skill-generator.js +0 -100
- package/dist/skills/dynamic-skill-generator.js.map +0 -1
- package/dist/skills/index.js +0 -44
- package/dist/skills/index.js.map +0 -1
- package/dist/skills/injection/subagent.js +0 -195
- package/dist/skills/injection/subagent.js.map +0 -1
- package/dist/skills/injection/token.js +0 -260
- package/dist/skills/injection/token.js.map +0 -1
- package/dist/skills/install.js +0 -40
- package/dist/skills/install.js.map +0 -1
- package/dist/skills/manifests/contribution.js +0 -175
- package/dist/skills/manifests/contribution.js.map +0 -1
- package/dist/skills/manifests/research.js +0 -281
- package/dist/skills/manifests/research.js.map +0 -1
- package/dist/skills/manifests/resolver.js +0 -146
- package/dist/skills/manifests/resolver.js.map +0 -1
- package/dist/skills/marketplace.js +0 -90
- package/dist/skills/marketplace.js.map +0 -1
- package/dist/skills/orchestrator/spawn.js +0 -178
- package/dist/skills/orchestrator/spawn.js.map +0 -1
- package/dist/skills/orchestrator/startup.js +0 -451
- package/dist/skills/orchestrator/startup.js.map +0 -1
- package/dist/skills/orchestrator/validator.js +0 -301
- package/dist/skills/orchestrator/validator.js.map +0 -1
- package/dist/skills/precedence-integration.js +0 -73
- package/dist/skills/precedence-integration.js.map +0 -1
- package/dist/skills/precedence-types.js +0 -16
- package/dist/skills/precedence-types.js.map +0 -1
- package/dist/skills/routing-table.js +0 -63
- package/dist/skills/routing-table.js.map +0 -1
- package/dist/skills/skill-paths.js +0 -220
- package/dist/skills/skill-paths.js.map +0 -1
- package/dist/skills/test-utility.js +0 -55
- package/dist/skills/test-utility.js.map +0 -1
- package/dist/skills/types.js +0 -118
- package/dist/skills/types.js.map +0 -1
- package/dist/skills/validation.js +0 -183
- package/dist/skills/validation.js.map +0 -1
- package/dist/skills/version.js +0 -57
- package/dist/skills/version.js.map +0 -1
- package/dist/snapshot/index.js +0 -188
- package/dist/snapshot/index.js.map +0 -1
- package/dist/spawn/adapter-registry.js +0 -246
- package/dist/spawn/adapter-registry.js.map +0 -1
- package/dist/spawn/index.js +0 -10
- package/dist/spawn/index.js.map +0 -1
- package/dist/stats/index.js +0 -339
- package/dist/stats/index.js.map +0 -1
- package/dist/sticky/archive.js +0 -47
- package/dist/sticky/archive.js.map +0 -1
- package/dist/sticky/convert.js +0 -235
- package/dist/sticky/convert.js.map +0 -1
- package/dist/sticky/create.js +0 -48
- package/dist/sticky/create.js.map +0 -1
- package/dist/sticky/id.js +0 -35
- package/dist/sticky/id.js.map +0 -1
- package/dist/sticky/index.js +0 -16
- package/dist/sticky/index.js.map +0 -1
- package/dist/sticky/list.js +0 -44
- package/dist/sticky/list.js.map +0 -1
- package/dist/sticky/purge.js +0 -45
- package/dist/sticky/purge.js.map +0 -1
- package/dist/sticky/show.js +0 -42
- package/dist/sticky/show.js.map +0 -1
- package/dist/sticky/types.js +0 -10
- package/dist/sticky/types.js.map +0 -1
- package/dist/store/atomic.js +0 -167
- package/dist/store/atomic.js.map +0 -1
- package/dist/store/backup.js +0 -94
- package/dist/store/backup.js.map +0 -1
- package/dist/store/brain-accessor.js +0 -397
- package/dist/store/brain-accessor.js.map +0 -1
- package/dist/store/brain-schema.js +0 -212
- package/dist/store/brain-schema.js.map +0 -1
- package/dist/store/brain-sqlite.js +0 -271
- package/dist/store/brain-sqlite.js.map +0 -1
- package/dist/store/cache.js +0 -168
- package/dist/store/cache.js.map +0 -1
- package/dist/store/chain-schema.js +0 -51
- package/dist/store/chain-schema.js.map +0 -1
- package/dist/store/converters.js +0 -120
- package/dist/store/converters.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 -221
- package/dist/store/db-helpers.js.map +0 -1
- package/dist/store/export.js +0 -155
- package/dist/store/export.js.map +0 -1
- package/dist/store/file-utils.js +0 -270
- package/dist/store/file-utils.js.map +0 -1
- package/dist/store/git-checkpoint.js +0 -365
- package/dist/store/git-checkpoint.js.map +0 -1
- package/dist/store/import-logging.js +0 -139
- package/dist/store/import-logging.js.map +0 -1
- package/dist/store/import-remap.js +0 -145
- package/dist/store/import-remap.js.map +0 -1
- package/dist/store/import-sort.js +0 -121
- package/dist/store/import-sort.js.map +0 -1
- package/dist/store/index.js +0 -28
- package/dist/store/index.js.map +0 -1
- package/dist/store/json.js +0 -208
- package/dist/store/json.js.map +0 -1
- package/dist/store/lifecycle-store.js +0 -249
- package/dist/store/lifecycle-store.js.map +0 -1
- package/dist/store/lock.js +0 -70
- package/dist/store/lock.js.map +0 -1
- package/dist/store/migration-sqlite.js +0 -671
- package/dist/store/migration-sqlite.js.map +0 -1
- package/dist/store/nexus-schema.js +0 -62
- package/dist/store/nexus-schema.js.map +0 -1
- package/dist/store/nexus-sqlite.js +0 -217
- package/dist/store/nexus-sqlite.js.map +0 -1
- package/dist/store/nexus-validation-schemas.js +0 -40
- package/dist/store/nexus-validation-schemas.js.map +0 -1
- package/dist/store/parsers.js +0 -37
- package/dist/store/parsers.js.map +0 -1
- package/dist/store/project-detect.js +0 -457
- package/dist/store/project-detect.js.map +0 -1
- package/dist/store/provider.js +0 -101
- package/dist/store/provider.js.map +0 -1
- package/dist/store/safety-data-accessor.js +0 -243
- package/dist/store/safety-data-accessor.js.map +0 -1
- package/dist/store/schema.js +0 -7
- package/dist/store/schema.js.map +0 -1
- package/dist/store/session-store.js +0 -219
- package/dist/store/session-store.js.map +0 -1
- package/dist/store/sqlite-backup.js +0 -105
- package/dist/store/sqlite-backup.js.map +0 -1
- package/dist/store/sqlite-data-accessor.js +0 -742
- package/dist/store/sqlite-data-accessor.js.map +0 -1
- package/dist/store/sqlite.js +0 -489
- 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 -344
- package/dist/store/task-store.js.map +0 -1
- package/dist/store/tasks-schema.js +0 -574
- 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 -99
- package/dist/system/backup.js.map +0 -1
- package/dist/system/cleanup.js +0 -134
- package/dist/system/cleanup.js.map +0 -1
- package/dist/system/health.js +0 -1054
- package/dist/system/health.js.map +0 -1
- package/dist/system/index.js +0 -18
- package/dist/system/index.js.map +0 -1
- package/dist/system/inject-generate.js +0 -122
- package/dist/system/inject-generate.js.map +0 -1
- package/dist/system/labels.js +0 -38
- package/dist/system/labels.js.map +0 -1
- package/dist/system/metrics.js +0 -61
- package/dist/system/metrics.js.map +0 -1
- package/dist/system/migrate.js +0 -43
- package/dist/system/migrate.js.map +0 -1
- package/dist/system/platform-paths.js +0 -80
- package/dist/system/platform-paths.js.map +0 -1
- package/dist/system/runtime.js +0 -161
- package/dist/system/runtime.js.map +0 -1
- package/dist/system/safestop.js +0 -99
- package/dist/system/safestop.js.map +0 -1
- package/dist/system/storage-preflight.js +0 -123
- package/dist/system/storage-preflight.js.map +0 -1
- package/dist/task-work/index.js +0 -155
- package/dist/task-work/index.js.map +0 -1
- package/dist/tasks/add.js +0 -510
- 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 -224
- 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 -82
- package/dist/tasks/enforcement.js.map +0 -1
- package/dist/tasks/find.js +0 -148
- package/dist/tasks/find.js.map +0 -1
- package/dist/tasks/graph-cache.js +0 -127
- package/dist/tasks/graph-cache.js.map +0 -1
- package/dist/tasks/graph-ops.js +0 -171
- package/dist/tasks/graph-ops.js.map +0 -1
- package/dist/tasks/graph-rag.js +0 -328
- package/dist/tasks/graph-rag.js.map +0 -1
- package/dist/tasks/hierarchy-policy.js +0 -149
- package/dist/tasks/hierarchy-policy.js.map +0 -1
- package/dist/tasks/hierarchy.js +0 -185
- package/dist/tasks/hierarchy.js.map +0 -1
- package/dist/tasks/id-generator.js +0 -65
- package/dist/tasks/id-generator.js.map +0 -1
- package/dist/tasks/index.js +0 -14
- package/dist/tasks/index.js.map +0 -1
- package/dist/tasks/labels.js +0 -52
- package/dist/tasks/labels.js.map +0 -1
- package/dist/tasks/list.js +0 -68
- package/dist/tasks/list.js.map +0 -1
- package/dist/tasks/phase-tracking.js +0 -133
- package/dist/tasks/phase-tracking.js.map +0 -1
- package/dist/tasks/plan.js +0 -268
- package/dist/tasks/plan.js.map +0 -1
- package/dist/tasks/relates.js +0 -89
- package/dist/tasks/relates.js.map +0 -1
- package/dist/tasks/reparent.d.ts +0 -38
- package/dist/tasks/reparent.d.ts.map +0 -1
- package/dist/tasks/show.js +0 -78
- package/dist/tasks/show.js.map +0 -1
- package/dist/tasks/size-weighting.js +0 -86
- package/dist/tasks/size-weighting.js.map +0 -1
- package/dist/tasks/staleness.js +0 -86
- package/dist/tasks/staleness.js.map +0 -1
- package/dist/tasks/task-ops.js +0 -1340
- package/dist/tasks/task-ops.js.map +0 -1
- package/dist/tasks/update.js +0 -243
- package/dist/tasks/update.js.map +0 -1
- package/dist/templates/index.js +0 -10
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/parser.js +0 -254
- package/dist/templates/parser.js.map +0 -1
- package/dist/ui/aliases.js +0 -153
- package/dist/ui/aliases.js.map +0 -1
- package/dist/ui/changelog.js +0 -184
- package/dist/ui/changelog.js.map +0 -1
- package/dist/ui/command-registry.js +0 -168
- package/dist/ui/command-registry.js.map +0 -1
- package/dist/ui/flags.js +0 -94
- package/dist/ui/flags.js.map +0 -1
- package/dist/ui/index.js +0 -24
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/injection-legacy.d.ts +0 -26
- package/dist/ui/injection-legacy.d.ts.map +0 -1
- package/dist/ui/injection-legacy.js +0 -42
- package/dist/ui/injection-legacy.js.map +0 -1
- package/dist/upgrade.js +0 -901
- package/dist/upgrade.js.map +0 -1
- package/dist/validation/chain-validation.js +0 -146
- package/dist/validation/chain-validation.js.map +0 -1
- package/dist/validation/compliance.js +0 -155
- package/dist/validation/compliance.js.map +0 -1
- package/dist/validation/docs-sync.js +0 -212
- package/dist/validation/docs-sync.js.map +0 -1
- package/dist/validation/doctor/checks.js +0 -1069
- package/dist/validation/doctor/checks.js.map +0 -1
- package/dist/validation/doctor/index.js +0 -9
- package/dist/validation/doctor/index.js.map +0 -1
- package/dist/validation/doctor/project-cache.js +0 -160
- package/dist/validation/doctor/project-cache.js.map +0 -1
- package/dist/validation/doctor/utils.js +0 -155
- package/dist/validation/doctor/utils.js.map +0 -1
- package/dist/validation/engine.js +0 -902
- package/dist/validation/engine.js.map +0 -1
- package/dist/validation/gap-check.js +0 -175
- package/dist/validation/gap-check.js.map +0 -1
- package/dist/validation/index.js +0 -40
- package/dist/validation/index.js.map +0 -1
- package/dist/validation/manifest.js +0 -237
- package/dist/validation/manifest.js.map +0 -1
- package/dist/validation/operation-gate-validators.js +0 -724
- package/dist/validation/operation-gate-validators.js.map +0 -1
- package/dist/validation/operation-verification-gates.js +0 -532
- package/dist/validation/operation-verification-gates.js.map +0 -1
- package/dist/validation/param-utils.js +0 -139
- package/dist/validation/param-utils.js.map +0 -1
- package/dist/validation/protocol-common.js +0 -300
- package/dist/validation/protocol-common.js.map +0 -1
- package/dist/validation/protocols/consensus.js +0 -71
- package/dist/validation/protocols/consensus.js.map +0 -1
- package/dist/validation/protocols/contribution.js +0 -59
- package/dist/validation/protocols/contribution.js.map +0 -1
- package/dist/validation/protocols/decomposition.js +0 -59
- package/dist/validation/protocols/decomposition.js.map +0 -1
- package/dist/validation/protocols/implementation.js +0 -59
- package/dist/validation/protocols/implementation.js.map +0 -1
- package/dist/validation/protocols/release-protocol.js +0 -60
- package/dist/validation/protocols/release-protocol.js.map +0 -1
- package/dist/validation/protocols/research.js +0 -77
- package/dist/validation/protocols/research.js.map +0 -1
- package/dist/validation/protocols/specification.js +0 -84
- package/dist/validation/protocols/specification.js.map +0 -1
- package/dist/validation/protocols/testing-protocol.js +0 -70
- package/dist/validation/protocols/testing-protocol.js.map +0 -1
- package/dist/validation/protocols/validation-protocol.js +0 -70
- package/dist/validation/protocols/validation-protocol.js.map +0 -1
- package/dist/validation/schema-integrity.js +0 -170
- package/dist/validation/schema-integrity.js.map +0 -1
- package/dist/validation/schema-validator.js +0 -176
- package/dist/validation/schema-validator.js.map +0 -1
- package/dist/validation/validate-ops.js +0 -937
- package/dist/validation/validate-ops.js.map +0 -1
- package/dist/validation/validation-rules.js +0 -226
- package/dist/validation/validation-rules.js.map +0 -1
- package/dist/validation/verification.js +0 -321
- package/dist/validation/verification.js.map +0 -1
|
@@ -231,11 +231,11 @@ describe('updateTask', () => {
|
|
|
231
231
|
await writeFile(
|
|
232
232
|
join(env.cleoDir, 'config.json'),
|
|
233
233
|
JSON.stringify({
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
enforcement: { session: { requiredForMutate: false } },
|
|
235
|
+
lifecycle: { mode: 'off' },
|
|
236
|
+
verification: { enabled: false },
|
|
237
|
+
hierarchy: { maxDepth: 3, maxSiblings: 20 },
|
|
238
|
+
}),
|
|
239
239
|
);
|
|
240
240
|
|
|
241
241
|
const result = await updateTask({ taskId: 'T002', parentId: 'T001' }, env.tempDir, accessor);
|
|
@@ -266,11 +266,11 @@ describe('updateTask', () => {
|
|
|
266
266
|
await writeFile(
|
|
267
267
|
join(env.cleoDir, 'config.json'),
|
|
268
268
|
JSON.stringify({
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
269
|
+
enforcement: { session: { requiredForMutate: false } },
|
|
270
|
+
lifecycle: { mode: 'off' },
|
|
271
|
+
verification: { enabled: false },
|
|
272
|
+
hierarchy: { maxDepth: 3, maxSiblings: 20 },
|
|
273
|
+
}),
|
|
274
274
|
);
|
|
275
275
|
|
|
276
276
|
const result = await updateTask({ taskId: 'T002', parentId: null }, env.tempDir, accessor);
|
|
@@ -301,11 +301,11 @@ describe('updateTask', () => {
|
|
|
301
301
|
await writeFile(
|
|
302
302
|
join(env.cleoDir, 'config.json'),
|
|
303
303
|
JSON.stringify({
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
304
|
+
enforcement: { session: { requiredForMutate: false } },
|
|
305
|
+
lifecycle: { mode: 'off' },
|
|
306
|
+
verification: { enabled: false },
|
|
307
|
+
hierarchy: { maxDepth: 3, maxSiblings: 20 },
|
|
308
|
+
}),
|
|
309
309
|
);
|
|
310
310
|
|
|
311
311
|
const result = await updateTask({ taskId: 'T002', parentId: '' }, env.tempDir, accessor);
|
|
@@ -336,11 +336,11 @@ describe('updateTask', () => {
|
|
|
336
336
|
await writeFile(
|
|
337
337
|
join(env.cleoDir, 'config.json'),
|
|
338
338
|
JSON.stringify({
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
339
|
+
enforcement: { session: { requiredForMutate: false } },
|
|
340
|
+
lifecycle: { mode: 'off' },
|
|
341
|
+
verification: { enabled: false },
|
|
342
|
+
hierarchy: { maxDepth: 3, maxSiblings: 20 },
|
|
343
|
+
}),
|
|
344
344
|
);
|
|
345
345
|
|
|
346
346
|
await expect(
|
|
@@ -370,11 +370,11 @@ describe('updateTask', () => {
|
|
|
370
370
|
await writeFile(
|
|
371
371
|
join(env.cleoDir, 'config.json'),
|
|
372
372
|
JSON.stringify({
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
373
|
+
enforcement: { session: { requiredForMutate: false } },
|
|
374
|
+
lifecycle: { mode: 'off' },
|
|
375
|
+
verification: { enabled: false },
|
|
376
|
+
hierarchy: { maxDepth: 3, maxSiblings: 20 },
|
|
377
|
+
}),
|
|
378
378
|
);
|
|
379
379
|
|
|
380
380
|
const result = await updateTask(
|
package/src/tasks/complete.ts
CHANGED
|
@@ -76,15 +76,18 @@ async function loadCompletionEnforcement(cwd?: string): Promise<CompletionEnforc
|
|
|
76
76
|
const acceptanceMode =
|
|
77
77
|
modeRaw === 'off' || modeRaw === 'warn' || modeRaw === 'block'
|
|
78
78
|
? modeRaw
|
|
79
|
-
: isTest
|
|
79
|
+
: isTest
|
|
80
|
+
? 'off'
|
|
81
|
+
: 'block';
|
|
80
82
|
|
|
81
83
|
const acceptanceRequiredForPriorities = Array.isArray(prioritiesRaw)
|
|
82
84
|
? prioritiesRaw.filter((p): p is string => typeof p === 'string')
|
|
83
|
-
: isTest
|
|
85
|
+
: isTest
|
|
86
|
+
? []
|
|
87
|
+
: ['critical', 'high', 'medium', 'low'];
|
|
84
88
|
|
|
85
|
-
const verificationEnabled =
|
|
86
|
-
: verificationEnabledRaw === false ? false
|
|
87
|
-
: !isTest;
|
|
89
|
+
const verificationEnabled =
|
|
90
|
+
verificationEnabledRaw === true ? true : verificationEnabledRaw === false ? false : !isTest;
|
|
88
91
|
|
|
89
92
|
const verificationRequiredGates = Array.isArray(verificationRequiredGatesRaw)
|
|
90
93
|
? verificationRequiredGatesRaw
|
|
@@ -104,7 +107,9 @@ async function loadCompletionEnforcement(cwd?: string): Promise<CompletionEnforc
|
|
|
104
107
|
lifecycleModeRaw === 'none' ||
|
|
105
108
|
lifecycleModeRaw === 'off'
|
|
106
109
|
? lifecycleModeRaw
|
|
107
|
-
: isTest
|
|
110
|
+
: isTest
|
|
111
|
+
? 'off'
|
|
112
|
+
: 'strict';
|
|
108
113
|
|
|
109
114
|
return {
|
|
110
115
|
acceptanceMode,
|
package/src/tasks/enforcement.ts
CHANGED
|
@@ -41,9 +41,12 @@ export async function createAcceptanceEnforcement(cwd?: string): Promise<Accepta
|
|
|
41
41
|
const minCriteriaRaw = await getRawConfigValue('enforcement.acceptance.minimumCriteria', cwd);
|
|
42
42
|
const defaultPriorityRaw = await getRawConfigValue('defaults.priority', cwd);
|
|
43
43
|
|
|
44
|
-
const mode =
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
const mode =
|
|
45
|
+
modeRaw === 'off' || modeRaw === 'warn' || modeRaw === 'block'
|
|
46
|
+
? modeRaw
|
|
47
|
+
: isTest
|
|
48
|
+
? 'off'
|
|
49
|
+
: 'block';
|
|
47
50
|
|
|
48
51
|
const requiredForPriorities = Array.isArray(prioritiesRaw)
|
|
49
52
|
? prioritiesRaw.filter((p): p is string => typeof p === 'string')
|
|
@@ -67,6 +67,18 @@ export interface EpicEnforcementResult {
|
|
|
67
67
|
* Read `lifecycle.mode` from config. Falls back to "strict" when unset
|
|
68
68
|
* (matches the DEFAULTS in config.ts).
|
|
69
69
|
*
|
|
70
|
+
* @remarks
|
|
71
|
+
* In VITEST environments, returns "off" to avoid blocking tests.
|
|
72
|
+
*
|
|
73
|
+
* @param cwd - Working directory for config resolution
|
|
74
|
+
* @returns The resolved lifecycle mode
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* const mode = await getLifecycleMode();
|
|
79
|
+
* // => 'strict' | 'advisory' | 'off'
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
70
82
|
* @task T062
|
|
71
83
|
*/
|
|
72
84
|
export async function getLifecycleMode(cwd?: string): Promise<LifecycleMode> {
|
|
@@ -91,12 +103,23 @@ export async function getLifecycleMode(cwd?: string): Promise<LifecycleMode> {
|
|
|
91
103
|
*
|
|
92
104
|
* In **off** mode this function is a no-op.
|
|
93
105
|
*
|
|
106
|
+
* @remarks
|
|
107
|
+
* The description field serves as a proxy for completion criteria — epics
|
|
108
|
+
* without a description have no definition of "done" and should be blocked.
|
|
109
|
+
*
|
|
110
|
+
* @param options - Epic creation parameters
|
|
94
111
|
* @param options.acceptance - Acceptance criteria array supplied by the caller.
|
|
95
112
|
* @param options.description - Task description (used as completion criteria proxy).
|
|
96
113
|
* @param cwd - Working directory for config resolution.
|
|
97
114
|
* @returns EpicEnforcementResult — `valid: false` only in strict mode on error.
|
|
98
115
|
* @throws CleoError(VALIDATION_ERROR) in strict mode when constraints are violated.
|
|
99
116
|
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* await validateEpicCreation({ acceptance: ['AC1','AC2','AC3','AC4','AC5'] });
|
|
120
|
+
* // => { valid: true }
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
100
123
|
* @task T062
|
|
101
124
|
*/
|
|
102
125
|
export async function validateEpicCreation(
|
|
@@ -151,6 +174,11 @@ export async function validateEpicCreation(
|
|
|
151
174
|
* The check walks the task's ancestor chain to find the nearest epic ancestor.
|
|
152
175
|
* If none exists, the check is skipped.
|
|
153
176
|
*
|
|
177
|
+
* @remarks
|
|
178
|
+
* Skips the check if the epic has no pipeline stage set, or if the child
|
|
179
|
+
* stage is not a recognised value (those are handled by separate validation).
|
|
180
|
+
*
|
|
181
|
+
* @param options - Ceiling check parameters
|
|
154
182
|
* @param options.childStage - The proposed pipeline stage for the child.
|
|
155
183
|
* @param options.epicId - ID of the epic ancestor to check against.
|
|
156
184
|
* @param accessor - DataAccessor for task lookups.
|
|
@@ -158,6 +186,14 @@ export async function validateEpicCreation(
|
|
|
158
186
|
* @returns EpicEnforcementResult
|
|
159
187
|
* @throws CleoError(VALIDATION_ERROR) in strict mode when the child stage exceeds the epic.
|
|
160
188
|
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```ts
|
|
191
|
+
* await validateChildStageCeiling(
|
|
192
|
+
* { childStage: 'testing', epicId: 'T001' },
|
|
193
|
+
* accessor,
|
|
194
|
+
* );
|
|
195
|
+
* ```
|
|
196
|
+
*
|
|
161
197
|
* @task T062
|
|
162
198
|
*/
|
|
163
199
|
export async function validateChildStageCeiling(
|
|
@@ -204,10 +240,20 @@ export async function validateChildStageCeiling(
|
|
|
204
240
|
* Walks the ancestor chain (root-first) and returns the first task whose
|
|
205
241
|
* type is "epic", or null if no epic ancestor exists.
|
|
206
242
|
*
|
|
243
|
+
* @remarks
|
|
244
|
+
* Scans from closest ancestor to root so the *nearest* epic is returned,
|
|
245
|
+
* not the highest-level one.
|
|
246
|
+
*
|
|
207
247
|
* @param taskId - ID of the task whose ancestors to inspect.
|
|
208
248
|
* @param accessor - DataAccessor for the ancestor chain query.
|
|
209
249
|
* @returns The nearest epic ancestor, or null.
|
|
210
250
|
*
|
|
251
|
+
* @example
|
|
252
|
+
* ```ts
|
|
253
|
+
* const epic = await findEpicAncestor('T042', accessor);
|
|
254
|
+
* if (epic) console.log(epic.id); // e.g. 'T029'
|
|
255
|
+
* ```
|
|
256
|
+
*
|
|
211
257
|
* @task T062
|
|
212
258
|
*/
|
|
213
259
|
export async function findEpicAncestor(
|
|
@@ -240,6 +286,13 @@ export async function findEpicAncestor(
|
|
|
240
286
|
* in. Moving the epic forward while children are unfinished at the current
|
|
241
287
|
* stage violates the pipeline discipline.
|
|
242
288
|
*
|
|
289
|
+
* @remarks
|
|
290
|
+
* Only fires on genuine forward advancement — same-stage updates and
|
|
291
|
+
* backward moves are handled by {@link validatePipelineTransition}.
|
|
292
|
+
* Children with status "done", "cancelled", or "archived" are excluded
|
|
293
|
+
* from the blocker check.
|
|
294
|
+
*
|
|
295
|
+
* @param options - Advancement check parameters
|
|
243
296
|
* @param options.epicId - ID of the epic being advanced.
|
|
244
297
|
* @param options.currentStage - Epic's current pipeline stage (before the update).
|
|
245
298
|
* @param options.newStage - Proposed new pipeline stage.
|
|
@@ -248,6 +301,14 @@ export async function findEpicAncestor(
|
|
|
248
301
|
* @returns EpicEnforcementResult
|
|
249
302
|
* @throws CleoError(VALIDATION_ERROR) in strict mode when incomplete children exist.
|
|
250
303
|
*
|
|
304
|
+
* @example
|
|
305
|
+
* ```ts
|
|
306
|
+
* await validateEpicStageAdvancement(
|
|
307
|
+
* { epicId: 'T029', currentStage: 'research', newStage: 'consensus' },
|
|
308
|
+
* accessor,
|
|
309
|
+
* );
|
|
310
|
+
* ```
|
|
311
|
+
*
|
|
251
312
|
* @task T062
|
|
252
313
|
*/
|
|
253
314
|
export async function validateEpicStageAdvancement(
|
|
@@ -81,9 +81,19 @@ const STAGE_ORDER: Record<TaskPipelineStage, number> = {
|
|
|
81
81
|
/**
|
|
82
82
|
* Check whether a string is a valid pipeline stage name.
|
|
83
83
|
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* Uses a type-narrowing signature so callers can safely use the value
|
|
86
|
+
* as {@link TaskPipelineStage} after a truthy check.
|
|
87
|
+
*
|
|
84
88
|
* @param stage - Raw string to test
|
|
85
89
|
* @returns True if it is a valid stage name
|
|
86
90
|
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```ts
|
|
93
|
+
* isValidPipelineStage('research'); // => true
|
|
94
|
+
* isValidPipelineStage('not_a_stage'); // => false
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
87
97
|
* @task T060
|
|
88
98
|
*/
|
|
89
99
|
export function isValidPipelineStage(stage: string): stage is TaskPipelineStage {
|
|
@@ -93,9 +103,20 @@ export function isValidPipelineStage(stage: string): stage is TaskPipelineStage
|
|
|
93
103
|
/**
|
|
94
104
|
* Validate a pipeline stage name and throw a CleoError on failure.
|
|
95
105
|
*
|
|
106
|
+
* @remarks
|
|
107
|
+
* Uses an assertion signature — after a successful call the compiler
|
|
108
|
+
* narrows `stage` to {@link TaskPipelineStage}.
|
|
109
|
+
*
|
|
96
110
|
* @param stage - Stage name to validate
|
|
111
|
+
* @returns void (assertion function — narrows type on success)
|
|
97
112
|
* @throws CleoError(VALIDATION_ERROR) if invalid
|
|
98
113
|
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* validatePipelineStage('implementation'); // passes
|
|
117
|
+
* validatePipelineStage('invalid'); // throws CleoError
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
99
120
|
* @task T060
|
|
100
121
|
*/
|
|
101
122
|
export function validatePipelineStage(stage: string): asserts stage is TaskPipelineStage {
|
|
@@ -121,11 +142,26 @@ export function validatePipelineStage(stage: string): asserts stage is TaskPipel
|
|
|
121
142
|
* 3. If the task type is 'epic', default to 'research'.
|
|
122
143
|
* 4. Otherwise default to 'implementation'.
|
|
123
144
|
*
|
|
145
|
+
* @remarks
|
|
146
|
+
* Priority order ensures explicit caller intent wins, then parent
|
|
147
|
+
* inheritance, then type-based defaults. This avoids surprising
|
|
148
|
+
* overrides when parent stages differ from the default.
|
|
149
|
+
*
|
|
150
|
+
* @param options - Resolution inputs
|
|
124
151
|
* @param options.explicitStage - Stage explicitly provided by the caller
|
|
125
152
|
* @param options.taskType - Type of the task being created
|
|
126
153
|
* @param options.parentTask - Parent task (if any), for inheritance
|
|
127
154
|
* @returns The resolved pipeline stage name
|
|
128
155
|
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```ts
|
|
158
|
+
* resolveDefaultPipelineStage({ taskType: 'epic' });
|
|
159
|
+
* // => 'research'
|
|
160
|
+
*
|
|
161
|
+
* resolveDefaultPipelineStage({ taskType: 'task' });
|
|
162
|
+
* // => 'implementation'
|
|
163
|
+
* ```
|
|
164
|
+
*
|
|
129
165
|
* @task T060
|
|
130
166
|
*/
|
|
131
167
|
export function resolveDefaultPipelineStage(options: {
|
|
@@ -161,8 +197,19 @@ export function resolveDefaultPipelineStage(options: {
|
|
|
161
197
|
/**
|
|
162
198
|
* Get the numeric order of a pipeline stage (1-based).
|
|
163
199
|
*
|
|
200
|
+
* @remarks
|
|
201
|
+
* Returns -1 for unrecognised stage names so callers can distinguish
|
|
202
|
+
* "unknown" from a valid low-order stage.
|
|
203
|
+
*
|
|
164
204
|
* @param stage - Stage name (must be valid)
|
|
165
|
-
* @returns Numeric order, or -1 if not found
|
|
205
|
+
* @returns Numeric order (1–10), or -1 if not found
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```ts
|
|
209
|
+
* getPipelineStageOrder('research'); // => 1
|
|
210
|
+
* getPipelineStageOrder('implementation'); // => 6
|
|
211
|
+
* getPipelineStageOrder('unknown'); // => -1
|
|
212
|
+
* ```
|
|
166
213
|
*
|
|
167
214
|
* @task T060
|
|
168
215
|
*/
|
|
@@ -176,10 +223,20 @@ export function getPipelineStageOrder(stage: string): number {
|
|
|
176
223
|
* "Forward" means the new stage's order is greater than or equal to the current
|
|
177
224
|
* stage's order (same stage is a no-op and is considered valid).
|
|
178
225
|
*
|
|
226
|
+
* @remarks
|
|
227
|
+
* Unknown stages are treated as valid to avoid blocking tasks with
|
|
228
|
+
* legacy or custom stage names that predate the standard set.
|
|
229
|
+
*
|
|
179
230
|
* @param currentStage - The task's current pipeline stage
|
|
180
231
|
* @param newStage - The requested new pipeline stage
|
|
181
232
|
* @returns True if the transition is allowed (forward or same)
|
|
182
233
|
*
|
|
234
|
+
* @example
|
|
235
|
+
* ```ts
|
|
236
|
+
* isPipelineTransitionForward('research', 'implementation'); // => true
|
|
237
|
+
* isPipelineTransitionForward('testing', 'research'); // => false
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
183
240
|
* @task T060
|
|
184
241
|
*/
|
|
185
242
|
export function isPipelineTransitionForward(currentStage: string, newStage: string): boolean {
|
|
@@ -192,10 +249,22 @@ export function isPipelineTransitionForward(currentStage: string, newStage: stri
|
|
|
192
249
|
/**
|
|
193
250
|
* Validate a pipeline stage transition and throw if it would move backward.
|
|
194
251
|
*
|
|
252
|
+
* @remarks
|
|
253
|
+
* Validates the new stage name first via {@link validatePipelineStage},
|
|
254
|
+
* then checks directionality. A null/undefined current stage accepts any
|
|
255
|
+
* valid new stage (first assignment).
|
|
256
|
+
*
|
|
195
257
|
* @param currentStage - The task's current pipeline stage (may be null/undefined)
|
|
196
258
|
* @param newStage - The new stage being requested
|
|
197
259
|
* @throws CleoError(VALIDATION_ERROR) if the transition is backward
|
|
198
260
|
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```ts
|
|
263
|
+
* validatePipelineTransition(null, 'research'); // passes (first assignment)
|
|
264
|
+
* validatePipelineTransition('research', 'implementation'); // passes (forward)
|
|
265
|
+
* validatePipelineTransition('testing', 'research'); // throws (backward)
|
|
266
|
+
* ```
|
|
267
|
+
*
|
|
199
268
|
* @task T060
|
|
200
269
|
*/
|
|
201
270
|
export function validatePipelineTransition(
|
|
@@ -16,13 +16,6 @@
|
|
|
16
16
|
"autoArchiveOnComplete": false
|
|
17
17
|
},
|
|
18
18
|
|
|
19
|
-
"logging": {
|
|
20
|
-
"enabled": true,
|
|
21
|
-
"retentionDays": 30,
|
|
22
|
-
"level": "standard",
|
|
23
|
-
"logSessionEvents": true
|
|
24
|
-
},
|
|
25
|
-
|
|
26
19
|
"enforcement": {
|
|
27
20
|
"acceptance": {
|
|
28
21
|
"mode": "block",
|
|
@@ -57,41 +50,12 @@
|
|
|
57
50
|
"maxSiblings": 0
|
|
58
51
|
},
|
|
59
52
|
|
|
60
|
-
"validation": {
|
|
61
|
-
"strictMode": false,
|
|
62
|
-
"checksumEnabled": true,
|
|
63
|
-
"enforceAcceptance": true,
|
|
64
|
-
"requireDescription": false,
|
|
65
|
-
"maxActiveTasks": 1,
|
|
66
|
-
"validateDependencies": true,
|
|
67
|
-
"detectCircularDeps": true
|
|
68
|
-
},
|
|
69
|
-
|
|
70
53
|
"defaults": {
|
|
71
|
-
"priority": "medium"
|
|
72
|
-
"phase": "core",
|
|
73
|
-
"labels": []
|
|
54
|
+
"priority": "medium"
|
|
74
55
|
},
|
|
75
56
|
|
|
76
57
|
"session": {
|
|
77
|
-
"
|
|
78
|
-
"requireSessionNote": true,
|
|
79
|
-
"requireNotesOnComplete": true,
|
|
80
|
-
"warnOnNoFocus": true,
|
|
81
|
-
"allowNestedSessions": true,
|
|
82
|
-
"allowParallelAgents": true,
|
|
83
|
-
"autoStartSession": true,
|
|
84
|
-
"autoDiscoveryOnStart": true,
|
|
85
|
-
"sessionTimeoutHours": 72
|
|
86
|
-
},
|
|
87
|
-
|
|
88
|
-
"multiSession": {
|
|
89
|
-
"enabled": true,
|
|
90
|
-
"maxConcurrentSessions": 5,
|
|
91
|
-
"maxActiveTasksPerScope": 1,
|
|
92
|
-
"scopeValidation": "strict",
|
|
93
|
-
"allowNestedScopes": true,
|
|
94
|
-
"allowScopeOverlap": false
|
|
58
|
+
"enforcement": "strict"
|
|
95
59
|
},
|
|
96
60
|
|
|
97
61
|
"release": {
|
|
@@ -104,43 +68,12 @@
|
|
|
104
68
|
}
|
|
105
69
|
},
|
|
106
70
|
|
|
107
|
-
"display": {
|
|
108
|
-
"showArchiveCount": true,
|
|
109
|
-
"showLogSummary": true,
|
|
110
|
-
"warnStaleDays": 30
|
|
111
|
-
},
|
|
112
|
-
|
|
113
71
|
"output": {
|
|
114
72
|
"defaultFormat": "text",
|
|
115
73
|
"showColor": true,
|
|
116
74
|
"showUnicode": true,
|
|
117
75
|
"showProgressBars": true,
|
|
118
|
-
"
|
|
119
|
-
"dateFormat": "iso8601",
|
|
120
|
-
"showCompactTitles": false,
|
|
121
|
-
"maxTitleLength": 80
|
|
122
|
-
},
|
|
123
|
-
|
|
124
|
-
"cli": {
|
|
125
|
-
"aliases": {
|
|
126
|
-
"ls": "list",
|
|
127
|
-
"done": "complete",
|
|
128
|
-
"new": "add",
|
|
129
|
-
"edit": "update",
|
|
130
|
-
"rm": "archive",
|
|
131
|
-
"check": "validate"
|
|
132
|
-
},
|
|
133
|
-
"plugins": {
|
|
134
|
-
"enabled": true,
|
|
135
|
-
"directories": ["~/.cleo/plugins", "./.cleo/plugins"],
|
|
136
|
-
"autoDiscover": true
|
|
137
|
-
},
|
|
138
|
-
"debug": {
|
|
139
|
-
"enabled": true,
|
|
140
|
-
"validateMappings": true,
|
|
141
|
-
"checksumVerify": true,
|
|
142
|
-
"showTimings": false
|
|
143
|
-
}
|
|
76
|
+
"dateFormat": "iso8601"
|
|
144
77
|
},
|
|
145
78
|
|
|
146
79
|
"backup": {
|
|
@@ -153,17 +86,8 @@
|
|
|
153
86
|
"safetyRetentionDays": 7
|
|
154
87
|
},
|
|
155
88
|
|
|
156
|
-
"cancellation": {
|
|
157
|
-
"cascadeConfirmThreshold": 10,
|
|
158
|
-
"requireReason": true,
|
|
159
|
-
"daysUntilArchive": 3,
|
|
160
|
-
"allowCascade": true,
|
|
161
|
-
"defaultChildStrategy": "block"
|
|
162
|
-
},
|
|
163
|
-
|
|
164
89
|
"contextAlerts": {
|
|
165
90
|
"enabled": true,
|
|
166
|
-
"minThreshold": "warning",
|
|
167
91
|
"triggerCommands": ["complete", "start", "stop", "add", "session"],
|
|
168
92
|
"suppressDuration": 0
|
|
169
93
|
},
|
|
@@ -172,50 +96,15 @@
|
|
|
172
96
|
"contextThresholds": {
|
|
173
97
|
"warning": 70,
|
|
174
98
|
"critical": 80
|
|
175
|
-
}
|
|
176
|
-
"autoStopOnCritical": true,
|
|
177
|
-
"hitlSummaryOnPause": true
|
|
99
|
+
}
|
|
178
100
|
},
|
|
179
101
|
|
|
180
102
|
"agentOutputs": {
|
|
181
103
|
"directory": ".cleo/agent-outputs",
|
|
182
|
-
"manifestFile": "MANIFEST.jsonl"
|
|
183
|
-
"archiveDir": "archive",
|
|
184
|
-
"archiveDays": 30
|
|
104
|
+
"manifestFile": "MANIFEST.jsonl"
|
|
185
105
|
},
|
|
186
106
|
|
|
187
107
|
"retention": {
|
|
188
|
-
"maxArchivedSessions": 100,
|
|
189
|
-
"autoArchiveEndedAfterDays": 30,
|
|
190
|
-
"autoDeleteArchivedAfterDays": 90,
|
|
191
|
-
"contextStateRetentionDays": 7,
|
|
192
|
-
"cleanupOnSessionEnd": true,
|
|
193
|
-
"dryRunByDefault": true,
|
|
194
|
-
"maxSessionsInMemory": 100,
|
|
195
108
|
"autoEndActiveAfterDays": 7
|
|
196
|
-
},
|
|
197
|
-
|
|
198
|
-
"project": {
|
|
199
|
-
"status": {
|
|
200
|
-
"health": "unknown",
|
|
201
|
-
"lastCheck": null,
|
|
202
|
-
"schemaVersions": {
|
|
203
|
-
"todo": "{{SCHEMA_VERSION_TODO}}",
|
|
204
|
-
"config": "{{SCHEMA_VERSION_CONFIG}}",
|
|
205
|
-
"archive": "{{SCHEMA_VERSION_ARCHIVE}}",
|
|
206
|
-
"log": "{{SCHEMA_VERSION_LOG}}"
|
|
207
|
-
},
|
|
208
|
-
"validation": {
|
|
209
|
-
"lastValidated": null,
|
|
210
|
-
"passed": false,
|
|
211
|
-
"errors": [],
|
|
212
|
-
"warnings": []
|
|
213
|
-
},
|
|
214
|
-
"injection": {
|
|
215
|
-
"CLAUDE.md": "not_found",
|
|
216
|
-
"AGENTS.md": "not_found",
|
|
217
|
-
"GEMINI.md": "not_found"
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
109
|
}
|
|
221
110
|
}
|
|
@@ -6,40 +6,7 @@
|
|
|
6
6
|
"showColor": true,
|
|
7
7
|
"showUnicode": true,
|
|
8
8
|
"showProgressBars": true,
|
|
9
|
-
"dateFormat": "iso8601"
|
|
10
|
-
"showCompactTitles": false,
|
|
11
|
-
"maxTitleLength": 80
|
|
12
|
-
},
|
|
13
|
-
"display": {
|
|
14
|
-
"showArchiveCount": true,
|
|
15
|
-
"showLogSummary": true,
|
|
16
|
-
"warnStaleDays": 30
|
|
17
|
-
},
|
|
18
|
-
"cli": {
|
|
19
|
-
"aliases": {
|
|
20
|
-
"ls": "list",
|
|
21
|
-
"done": "complete",
|
|
22
|
-
"new": "add",
|
|
23
|
-
"edit": "update",
|
|
24
|
-
"rm": "archive",
|
|
25
|
-
"check": "validate",
|
|
26
|
-
"tags": "labels",
|
|
27
|
-
"overview": "dash"
|
|
28
|
-
},
|
|
29
|
-
"plugins": {
|
|
30
|
-
"enabled": true,
|
|
31
|
-
"directories": [
|
|
32
|
-
"~/.cleo/plugins",
|
|
33
|
-
"./.cleo/plugins"
|
|
34
|
-
],
|
|
35
|
-
"autoDiscover": true
|
|
36
|
-
},
|
|
37
|
-
"debug": {
|
|
38
|
-
"enabled": false,
|
|
39
|
-
"validateMappings": true,
|
|
40
|
-
"checksumVerify": true,
|
|
41
|
-
"showTimings": false
|
|
42
|
-
}
|
|
9
|
+
"dateFormat": "iso8601"
|
|
43
10
|
},
|
|
44
11
|
"enforcement": {
|
|
45
12
|
"acceptance": {
|
|
@@ -68,15 +35,6 @@
|
|
|
68
35
|
"mode": "strict"
|
|
69
36
|
},
|
|
70
37
|
"defaults": {
|
|
71
|
-
"priority": "medium"
|
|
72
|
-
"labels": []
|
|
73
|
-
},
|
|
74
|
-
"multiSession": {
|
|
75
|
-
"enabled": true,
|
|
76
|
-
"maxConcurrentSessions": 5,
|
|
77
|
-
"maxActiveTasksPerScope": 1,
|
|
78
|
-
"scopeValidation": "strict",
|
|
79
|
-
"allowNestedScopes": true,
|
|
80
|
-
"allowScopeOverlap": false
|
|
38
|
+
"priority": "medium"
|
|
81
39
|
}
|
|
82
40
|
}
|
|
@@ -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"}
|