@cleocode/core 2026.4.12 → 2026.4.14
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/index.js +69233 -175
- package/dist/index.js.map +7 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/internal.d.ts +16 -5
- package/dist/internal.d.ts.map +1 -1
- package/dist/memory/brain-embedding.d.ts +1 -1
- package/dist/memory/embedding-local.d.ts +8 -3
- package/dist/memory/embedding-local.d.ts.map +1 -1
- package/dist/memory/embedding-worker.d.ts +1 -1
- package/dist/memory/learnings.d.ts +2 -2
- package/dist/memory/patterns.d.ts +6 -6
- package/dist/store/agent-registry-accessor.d.ts +54 -1
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/backup-crypto.d.ts +89 -0
- package/dist/store/backup-crypto.d.ts.map +1 -0
- package/dist/store/backup-pack.d.ts +91 -0
- package/dist/store/backup-pack.d.ts.map +1 -0
- package/dist/store/backup-unpack.d.ts +140 -0
- package/dist/store/backup-unpack.d.ts.map +1 -0
- package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
- package/dist/store/regenerators.d.ts +126 -0
- package/dist/store/regenerators.d.ts.map +1 -0
- package/dist/store/restore-conflict-report.d.ts +118 -0
- package/dist/store/restore-conflict-report.d.ts.map +1 -0
- package/dist/store/restore-json-merge.d.ts +187 -0
- package/dist/store/restore-json-merge.d.ts.map +1 -0
- package/dist/store/sqlite-backup.d.ts +60 -5
- package/dist/store/sqlite-backup.d.ts.map +1 -1
- package/dist/store/t310-readiness.d.ts +83 -0
- package/dist/store/t310-readiness.d.ts.map +1 -0
- package/package.json +11 -9
- package/src/__tests__/cli-parity.test.ts +19 -14
- package/src/__tests__/human-output.test.ts +13 -11
- package/src/init.ts +18 -8
- package/src/internal.ts +52 -2
- package/src/memory/__tests__/brain-automation.test.ts +2 -2
- package/src/memory/brain-embedding.ts +1 -1
- package/src/memory/embedding-local.ts +10 -5
- package/src/memory/embedding-worker.ts +1 -1
- package/src/skills/__tests__/discovery.test.ts +22 -7
- package/src/store/__tests__/backup-crypto.test.ts +101 -0
- package/src/store/__tests__/backup-pack.test.ts +491 -0
- package/src/store/__tests__/backup-unpack.test.ts +298 -0
- package/src/store/__tests__/performance-safety.test.ts +11 -5
- package/src/store/__tests__/regenerators.test.ts +234 -0
- package/src/store/__tests__/restore-conflict-report.test.ts +274 -0
- package/src/store/__tests__/restore-json-merge.test.ts +521 -0
- package/src/store/__tests__/t310-readiness.test.ts +111 -0
- package/src/store/__tests__/t311-integration.test.ts +661 -0
- package/src/store/backup-crypto.ts +209 -0
- package/src/store/backup-pack.ts +739 -0
- package/src/store/backup-unpack.ts +583 -0
- package/src/store/migrate-signaldock-to-conduit.ts +14 -7
- package/src/store/regenerators.ts +243 -0
- package/src/store/restore-conflict-report.ts +317 -0
- package/src/store/restore-json-merge.ts +653 -0
- package/src/store/t310-readiness.ts +119 -0
- package/src/validation/protocols/_shared.ts +1 -1
- package/dist/adapters/adapter-registry.js +0 -64
- package/dist/adapters/adapter-registry.js.map +0 -1
- package/dist/adapters/discovery.js +0 -83
- package/dist/adapters/discovery.js.map +0 -1
- package/dist/adapters/index.js +0 -9
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/manager.js +0 -260
- package/dist/adapters/manager.js.map +0 -1
- package/dist/admin/export-tasks.js +0 -171
- package/dist/admin/export-tasks.js.map +0 -1
- package/dist/admin/export.js +0 -103
- package/dist/admin/export.js.map +0 -1
- package/dist/admin/help.js +0 -106
- package/dist/admin/help.js.map +0 -1
- package/dist/admin/import-tasks.js +0 -182
- package/dist/admin/import-tasks.js.map +0 -1
- package/dist/admin/import.js +0 -129
- package/dist/admin/import.js.map +0 -1
- package/dist/admin/index.js +0 -13
- package/dist/admin/index.js.map +0 -1
- package/dist/adrs/find.js +0 -134
- package/dist/adrs/find.js.map +0 -1
- package/dist/adrs/index.js +0 -15
- package/dist/adrs/index.js.map +0 -1
- package/dist/adrs/link-pipeline.js +0 -160
- package/dist/adrs/link-pipeline.js.map +0 -1
- package/dist/adrs/list.js +0 -43
- package/dist/adrs/list.js.map +0 -1
- package/dist/adrs/parse.js +0 -51
- package/dist/adrs/parse.js.map +0 -1
- package/dist/adrs/show.js +0 -22
- package/dist/adrs/show.js.map +0 -1
- package/dist/adrs/sync.js +0 -188
- package/dist/adrs/sync.js.map +0 -1
- package/dist/adrs/types.js +0 -9
- package/dist/adrs/types.js.map +0 -1
- package/dist/adrs/validate.js +0 -57
- package/dist/adrs/validate.js.map +0 -1
- package/dist/agents/agent-registry.js +0 -288
- package/dist/agents/agent-registry.js.map +0 -1
- package/dist/agents/agent-schema.js +0 -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 -344
- 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 -10
- 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 -295
- 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 -400
- 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 -191
- 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/context-hooks.js +0 -111
- package/dist/hooks/handlers/context-hooks.js.map +0 -1
- package/dist/hooks/handlers/error-hooks.js +0 -52
- package/dist/hooks/handlers/error-hooks.js.map +0 -1
- package/dist/hooks/handlers/file-hooks.js +0 -104
- package/dist/hooks/handlers/file-hooks.js.map +0 -1
- package/dist/hooks/handlers/handler-helpers.js +0 -61
- package/dist/hooks/handlers/handler-helpers.js.map +0 -1
- package/dist/hooks/handlers/index.js +0 -28
- package/dist/hooks/handlers/index.js.map +0 -1
- package/dist/hooks/handlers/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 -142
- package/dist/hooks/handlers/session-hooks.js.map +0 -1
- package/dist/hooks/handlers/task-hooks.js +0 -65
- package/dist/hooks/handlers/task-hooks.js.map +0 -1
- package/dist/hooks/handlers/work-capture-hooks.js +0 -165
- package/dist/hooks/handlers/work-capture-hooks.js.map +0 -1
- package/dist/hooks/index.js +0 -13
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/payload-schemas.js +0 -220
- package/dist/hooks/payload-schemas.js.map +0 -1
- package/dist/hooks/provider-hooks.js +0 -66
- package/dist/hooks/provider-hooks.js.map +0 -1
- package/dist/hooks/registry.js +0 -229
- package/dist/hooks/registry.js.map +0 -1
- package/dist/hooks/types.js +0 -66
- package/dist/hooks/types.js.map +0 -1
- package/dist/hooks.js +0 -136
- package/dist/hooks.js.map +0 -1
- package/dist/init.js +0 -851
- package/dist/init.js.map +0 -1
- package/dist/inject/index.js +0 -82
- package/dist/inject/index.js.map +0 -1
- package/dist/injection.js +0 -343
- package/dist/injection.js.map +0 -1
- package/dist/intelligence/adaptive-validation.js +0 -497
- package/dist/intelligence/adaptive-validation.js.map +0 -1
- package/dist/intelligence/impact.js +0 -675
- package/dist/intelligence/impact.js.map +0 -1
- package/dist/intelligence/index.js +0 -22
- package/dist/intelligence/index.js.map +0 -1
- package/dist/intelligence/patterns.js +0 -492
- package/dist/intelligence/patterns.js.map +0 -1
- package/dist/intelligence/prediction.js +0 -499
- package/dist/intelligence/prediction.js.map +0 -1
- package/dist/intelligence/types.js +0 -13
- package/dist/intelligence/types.js.map +0 -1
- package/dist/internal.js +0 -306
- 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 -71
- 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/auto-extract.js +0 -177
- package/dist/memory/auto-extract.js.map +0 -1
- package/dist/memory/brain-embedding.js +0 -66
- package/dist/memory/brain-embedding.js.map +0 -1
- package/dist/memory/brain-lifecycle.js +0 -298
- package/dist/memory/brain-lifecycle.js.map +0 -1
- package/dist/memory/brain-links.js +0 -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-reasoning.js +0 -215
- package/dist/memory/brain-reasoning.js.map +0 -1
- package/dist/memory/brain-retrieval.js +0 -542
- 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 -162
- package/dist/memory/decisions.js.map +0 -1
- package/dist/memory/embedding-local.js +0 -97
- package/dist/memory/embedding-local.js.map +0 -1
- package/dist/memory/embedding-queue.js +0 -271
- package/dist/memory/embedding-queue.js.map +0 -1
- package/dist/memory/embedding-worker.js +0 -58
- package/dist/memory/embedding-worker.js.map +0 -1
- package/dist/memory/engine-compat.js +0 -1397
- package/dist/memory/engine-compat.js.map +0 -1
- package/dist/memory/index.js +0 -1140
- package/dist/memory/index.js.map +0 -1
- package/dist/memory/learnings.js +0 -121
- package/dist/memory/learnings.js.map +0 -1
- package/dist/memory/memory-bridge.js +0 -370
- package/dist/memory/memory-bridge.js.map +0 -1
- package/dist/memory/patterns.js +0 -122
- package/dist/memory/patterns.js.map +0 -1
- package/dist/memory/pipeline-manifest-sqlite.js +0 -975
- package/dist/memory/pipeline-manifest-sqlite.js.map +0 -1
- package/dist/memory/session-memory.js +0 -331
- package/dist/memory/session-memory.js.map +0 -1
- package/dist/metrics/ab-test.js +0 -260
- package/dist/metrics/ab-test.js.map +0 -1
- package/dist/metrics/aggregation.js +0 -363
- package/dist/metrics/aggregation.js.map +0 -1
- package/dist/metrics/common.js +0 -64
- package/dist/metrics/common.js.map +0 -1
- package/dist/metrics/enums.js +0 -78
- package/dist/metrics/enums.js.map +0 -1
- package/dist/metrics/index.js +0 -19
- package/dist/metrics/index.js.map +0 -1
- package/dist/metrics/model-provider-registry.js +0 -88
- package/dist/metrics/model-provider-registry.js.map +0 -1
- package/dist/metrics/otel-integration.js +0 -263
- package/dist/metrics/otel-integration.js.map +0 -1
- package/dist/metrics/provider-detection.js +0 -103
- package/dist/metrics/provider-detection.js.map +0 -1
- package/dist/metrics/token-estimation.js +0 -253
- package/dist/metrics/token-estimation.js.map +0 -1
- package/dist/metrics/token-service.js +0 -450
- package/dist/metrics/token-service.js.map +0 -1
- package/dist/migration/agent-outputs.js +0 -316
- package/dist/migration/agent-outputs.js.map +0 -1
- package/dist/migration/checksum.js +0 -92
- package/dist/migration/checksum.js.map +0 -1
- package/dist/migration/index.js +0 -282
- package/dist/migration/index.js.map +0 -1
- package/dist/migration/logger.js +0 -360
- package/dist/migration/logger.js.map +0 -1
- package/dist/migration/preflight.js +0 -9
- package/dist/migration/preflight.js.map +0 -1
- package/dist/migration/state.js +0 -421
- package/dist/migration/state.js.map +0 -1
- package/dist/migration/validate.js +0 -241
- package/dist/migration/validate.js.map +0 -1
- package/dist/mvi-helpers.js +0 -74
- package/dist/mvi-helpers.js.map +0 -1
- package/dist/nexus/deps.js +0 -375
- package/dist/nexus/deps.js.map +0 -1
- package/dist/nexus/discover.js +0 -288
- package/dist/nexus/discover.js.map +0 -1
- package/dist/nexus/hash.js +0 -10
- package/dist/nexus/hash.js.map +0 -1
- package/dist/nexus/index.js +0 -40
- package/dist/nexus/index.js.map +0 -1
- package/dist/nexus/migrate-json-to-sqlite.js +0 -115
- package/dist/nexus/migrate-json-to-sqlite.js.map +0 -1
- package/dist/nexus/permissions.js +0 -105
- package/dist/nexus/permissions.js.map +0 -1
- package/dist/nexus/query.js +0 -175
- package/dist/nexus/query.js.map +0 -1
- package/dist/nexus/registry.js +0 -584
- package/dist/nexus/registry.js.map +0 -1
- package/dist/nexus/sharing/index.js +0 -288
- package/dist/nexus/sharing/index.js.map +0 -1
- package/dist/nexus/transfer-types.js +0 -8
- package/dist/nexus/transfer-types.js.map +0 -1
- package/dist/nexus/transfer.js +0 -263
- package/dist/nexus/transfer.js.map +0 -1
- package/dist/nexus/workspace.js +0 -355
- package/dist/nexus/workspace.js.map +0 -1
- package/dist/observability/index.js +0 -103
- package/dist/observability/index.js.map +0 -1
- package/dist/observability/log-filter.js +0 -63
- package/dist/observability/log-filter.js.map +0 -1
- package/dist/observability/log-parser.js +0 -99
- package/dist/observability/log-parser.js.map +0 -1
- package/dist/observability/log-reader.js +0 -139
- package/dist/observability/log-reader.js.map +0 -1
- package/dist/observability/types.js +0 -19
- package/dist/observability/types.js.map +0 -1
- package/dist/orchestration/analyze.js +0 -107
- package/dist/orchestration/analyze.js.map +0 -1
- package/dist/orchestration/bootstrap.js +0 -132
- package/dist/orchestration/bootstrap.js.map +0 -1
- package/dist/orchestration/context.js +0 -56
- package/dist/orchestration/context.js.map +0 -1
- package/dist/orchestration/critical-path.js +0 -100
- package/dist/orchestration/critical-path.js.map +0 -1
- package/dist/orchestration/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 -842
- package/dist/paths.js.map +0 -1
- package/dist/phases/deps.js +0 -372
- package/dist/phases/deps.js.map +0 -1
- package/dist/phases/index.js +0 -349
- package/dist/phases/index.js.map +0 -1
- package/dist/pipeline/index.js +0 -10
- package/dist/pipeline/index.js.map +0 -1
- package/dist/pipeline/phase.js +0 -45
- package/dist/pipeline/phase.js.map +0 -1
- package/dist/platform.js +0 -211
- package/dist/platform.js.map +0 -1
- package/dist/project-info.js +0 -84
- package/dist/project-info.js.map +0 -1
- package/dist/reconciliation/index.js +0 -10
- package/dist/reconciliation/index.js.map +0 -1
- package/dist/reconciliation/link-store.js +0 -129
- package/dist/reconciliation/link-store.js.map +0 -1
- package/dist/reconciliation/reconciliation-engine.js +0 -298
- package/dist/reconciliation/reconciliation-engine.js.map +0 -1
- package/dist/release/artifacts.js +0 -427
- package/dist/release/artifacts.js.map +0 -1
- package/dist/release/changelog-writer.js +0 -151
- package/dist/release/changelog-writer.js.map +0 -1
- package/dist/release/channel.js +0 -144
- package/dist/release/channel.js.map +0 -1
- package/dist/release/ci.js +0 -166
- package/dist/release/ci.js.map +0 -1
- package/dist/release/github-pr.js +0 -225
- package/dist/release/github-pr.js.map +0 -1
- package/dist/release/guards.js +0 -116
- package/dist/release/guards.js.map +0 -1
- package/dist/release/index.js +0 -22
- package/dist/release/index.js.map +0 -1
- package/dist/release/release-config.js +0 -158
- package/dist/release/release-config.js.map +0 -1
- package/dist/release/release-manifest.js +0 -1019
- package/dist/release/release-manifest.js.map +0 -1
- package/dist/release/version-bump.js +0 -255
- package/dist/release/version-bump.js.map +0 -1
- package/dist/remote/index.js +0 -257
- package/dist/remote/index.js.map +0 -1
- package/dist/repair.js +0 -130
- package/dist/repair.js.map +0 -1
- package/dist/research/index.js +0 -2
- package/dist/research/index.js.map +0 -1
- package/dist/roadmap/index.js +0 -59
- package/dist/roadmap/index.js.map +0 -1
- package/dist/routing/capability-matrix.js +0 -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 -1759
- package/dist/scaffold.js.map +0 -1
- package/dist/schema-management.js +0 -295
- package/dist/schema-management.js.map +0 -1
- package/dist/security/index.js +0 -9
- package/dist/security/index.js.map +0 -1
- package/dist/security/input-sanitization.js +0 -321
- package/dist/security/input-sanitization.js.map +0 -1
- package/dist/sequence/index.js +0 -295
- package/dist/sequence/index.js.map +0 -1
- package/dist/sessions/assumptions.js +0 -54
- package/dist/sessions/assumptions.js.map +0 -1
- package/dist/sessions/briefing.js +0 -377
- package/dist/sessions/briefing.js.map +0 -1
- package/dist/sessions/context-alert.js +0 -222
- package/dist/sessions/context-alert.js.map +0 -1
- package/dist/sessions/context-inject.js +0 -61
- package/dist/sessions/context-inject.js.map +0 -1
- package/dist/sessions/context-monitor.js +0 -98
- package/dist/sessions/context-monitor.js.map +0 -1
- package/dist/sessions/decisions.js +0 -65
- package/dist/sessions/decisions.js.map +0 -1
- package/dist/sessions/find.js +0 -65
- package/dist/sessions/find.js.map +0 -1
- package/dist/sessions/handoff.js +0 -328
- package/dist/sessions/handoff.js.map +0 -1
- package/dist/sessions/hitl-warnings.js +0 -254
- package/dist/sessions/hitl-warnings.js.map +0 -1
- package/dist/sessions/index.js +0 -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 -52
- package/dist/sessions/session-memory-bridge.js.map +0 -1
- package/dist/sessions/session-show.js +0 -24
- package/dist/sessions/session-show.js.map +0 -1
- package/dist/sessions/session-stats.js +0 -69
- package/dist/sessions/session-stats.js.map +0 -1
- package/dist/sessions/session-suspend.js +0 -39
- package/dist/sessions/session-suspend.js.map +0 -1
- package/dist/sessions/session-switch.js +0 -51
- package/dist/sessions/session-switch.js.map +0 -1
- package/dist/sessions/session-view.js +0 -76
- package/dist/sessions/session-view.js.map +0 -1
- package/dist/sessions/snapshot.js +0 -213
- package/dist/sessions/snapshot.js.map +0 -1
- package/dist/sessions/statusline-setup.js +0 -85
- package/dist/sessions/statusline-setup.js.map +0 -1
- package/dist/sessions/types.js +0 -8
- package/dist/sessions/types.js.map +0 -1
- package/dist/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 -343
- package/dist/stats/index.js.map +0 -1
- package/dist/stats/workflow-telemetry.js +0 -400
- package/dist/stats/workflow-telemetry.js.map +0 -1
- package/dist/sticky/archive.js +0 -47
- package/dist/sticky/archive.js.map +0 -1
- package/dist/sticky/convert.js +0 -235
- package/dist/sticky/convert.js.map +0 -1
- package/dist/sticky/create.js +0 -48
- package/dist/sticky/create.js.map +0 -1
- package/dist/sticky/id.js +0 -35
- package/dist/sticky/id.js.map +0 -1
- package/dist/sticky/index.js +0 -16
- package/dist/sticky/index.js.map +0 -1
- package/dist/sticky/list.js +0 -44
- package/dist/sticky/list.js.map +0 -1
- package/dist/sticky/purge.js +0 -45
- package/dist/sticky/purge.js.map +0 -1
- package/dist/sticky/show.js +0 -42
- package/dist/sticky/show.js.map +0 -1
- package/dist/sticky/types.js +0 -10
- package/dist/sticky/types.js.map +0 -1
- package/dist/store/agent-registry-accessor.js +0 -783
- 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.js +0 -94
- package/dist/store/backup.js.map +0 -1
- package/dist/store/brain-accessor.js +0 -397
- package/dist/store/brain-accessor.js.map +0 -1
- package/dist/store/brain-schema.js +0 -215
- package/dist/store/brain-schema.js.map +0 -1
- package/dist/store/brain-sqlite.js +0 -222
- package/dist/store/brain-sqlite.js.map +0 -1
- package/dist/store/cache.js +0 -168
- package/dist/store/cache.js.map +0 -1
- package/dist/store/chain-schema.js +0 -51
- package/dist/store/chain-schema.js.map +0 -1
- package/dist/store/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 -555
- package/dist/store/migrate-signaldock-to-conduit.js.map +0 -1
- package/dist/store/migration-manager.js +0 -151
- package/dist/store/migration-manager.js.map +0 -1
- package/dist/store/migration-sqlite.js +0 -676
- package/dist/store/migration-sqlite.js.map +0 -1
- package/dist/store/nexus-schema.js +0 -62
- package/dist/store/nexus-schema.js.map +0 -1
- package/dist/store/nexus-sqlite.js +0 -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/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 -359
- 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 -481
- 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 -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/health.js +0 -1100
- package/dist/system/health.js.map +0 -1
- package/dist/system/index.js +0 -18
- package/dist/system/index.js.map +0 -1
- package/dist/system/inject-generate.js +0 -122
- package/dist/system/inject-generate.js.map +0 -1
- package/dist/system/labels.js +0 -38
- package/dist/system/labels.js.map +0 -1
- package/dist/system/metrics.js +0 -61
- package/dist/system/metrics.js.map +0 -1
- package/dist/system/migrate.js +0 -43
- package/dist/system/migrate.js.map +0 -1
- package/dist/system/platform-paths.js +0 -80
- package/dist/system/platform-paths.js.map +0 -1
- package/dist/system/runtime.js +0 -161
- package/dist/system/runtime.js.map +0 -1
- package/dist/system/safestop.js +0 -99
- package/dist/system/safestop.js.map +0 -1
- package/dist/system/storage-preflight.js +0 -123
- package/dist/system/storage-preflight.js.map +0 -1
- package/dist/task-work/index.js +0 -159
- package/dist/task-work/index.js.map +0 -1
- package/dist/tasks/add.js +0 -736
- 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 -214
- 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 -157
- 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 -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 -1148
- 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
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Contribution protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* Contribution is a cross-cutting protocol that tracks multi-agent attribution
|
|
5
|
-
* at the implementation stage (see default-chain.ts DEFAULT_PROTOCOL_STAGE_MAP).
|
|
6
|
-
*
|
|
7
|
-
* @task T4537
|
|
8
|
-
* @task T260
|
|
9
|
-
*/
|
|
10
|
-
import { validateContributionProtocol, } from '../../orchestration/protocol-validators.js';
|
|
11
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
12
|
-
/** Validate contribution protocol for a task. */
|
|
13
|
-
export async function validateContributionTask(taskId, opts) {
|
|
14
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
15
|
-
const result = validateContributionProtocol(entry, opts);
|
|
16
|
-
throwIfStrictFailed(result, opts, 'contribution', taskId);
|
|
17
|
-
return result;
|
|
18
|
-
}
|
|
19
|
-
/** Validate contribution protocol from a manifest file. */
|
|
20
|
-
export async function checkContributionManifest(manifestFile, opts) {
|
|
21
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
22
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
23
|
-
const result = validateContributionProtocol(entry, opts);
|
|
24
|
-
throwIfStrictFailed(result, opts, 'contribution', taskId);
|
|
25
|
-
return result;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=contribution.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contribution.js","sourceRoot":"","sources":["../../../src/validation/protocols/contribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,4BAA4B,GAC7B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAc,EACd,IAAyD;IAEzD,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,YAAoB,EACpB,IAAyD;IAEzD,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decomposition protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* The canonical validator enforces DCOMP-001 (max siblings), DCOMP-002 (clarity),
|
|
5
|
-
* DCOMP-007 (`agent_type: decomposition`). The old validator here checked for
|
|
6
|
-
* `agent_type: specification` which was a copy-paste bug from specification.ts.
|
|
7
|
-
*
|
|
8
|
-
* @task T4537
|
|
9
|
-
* @task T260 — delegate to orchestration/protocol-validators, fix agent_type
|
|
10
|
-
*/
|
|
11
|
-
import { validateDecompositionProtocol, } from '../../orchestration/protocol-validators.js';
|
|
12
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
13
|
-
/** Validate decomposition protocol for a task. */
|
|
14
|
-
export async function validateDecompositionTask(taskId, opts) {
|
|
15
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
16
|
-
const result = validateDecompositionProtocol(entry, opts);
|
|
17
|
-
throwIfStrictFailed(result, opts, 'decomposition', taskId);
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
/** Validate decomposition protocol from a manifest file. */
|
|
21
|
-
export async function checkDecompositionManifest(manifestFile, opts) {
|
|
22
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
23
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
24
|
-
const result = validateDecompositionProtocol(entry, opts);
|
|
25
|
-
throwIfStrictFailed(result, opts, 'decomposition', taskId);
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=decomposition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decomposition.js","sourceRoot":"","sources":["../../../src/validation/protocols/decomposition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAEL,6BAA6B,GAC9B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAWtB,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,IAAuB;IAEvB,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,YAAoB,EACpB,IAAuB;IAEvB,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Implementation protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* @task T4537
|
|
5
|
-
* @task T260
|
|
6
|
-
*/
|
|
7
|
-
import { validateImplementationProtocol, } from '../../orchestration/protocol-validators.js';
|
|
8
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
9
|
-
/** Validate implementation protocol for a task. */
|
|
10
|
-
export async function validateImplementationTask(taskId, opts) {
|
|
11
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
12
|
-
const result = validateImplementationProtocol(entry, opts);
|
|
13
|
-
throwIfStrictFailed(result, opts, 'implementation', taskId);
|
|
14
|
-
return result;
|
|
15
|
-
}
|
|
16
|
-
/** Validate implementation protocol from a manifest file. */
|
|
17
|
-
export async function checkImplementationManifest(manifestFile, opts) {
|
|
18
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
19
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
20
|
-
const result = validateImplementationProtocol(entry, opts);
|
|
21
|
-
throwIfStrictFailed(result, opts, 'implementation', taskId);
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=implementation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/validation/protocols/implementation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,8BAA8B,GAC/B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAc,EACd,IAAiD;IAEjD,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,YAAoB,EACpB,IAAiD;IAEjD,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provenance protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* Provenance is a cross-cutting protocol that composes with release via
|
|
5
|
-
* artifact-publish: artifact-publish delegates signing, SBOM generation, and
|
|
6
|
-
* in-toto attestation chain assembly to provenance (see provenance.md Pipeline
|
|
7
|
-
* Integration and release-engine.ts releaseShip()). The CI pipeline already
|
|
8
|
-
* uses `npm publish --provenance` for SLSA L3 keyless attestation via OIDC.
|
|
9
|
-
*
|
|
10
|
-
* @task T260 — create the missing provenance protocol wrapper
|
|
11
|
-
*/
|
|
12
|
-
import { validateProvenanceProtocol, } from '../../orchestration/protocol-validators.js';
|
|
13
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
14
|
-
/** Validate provenance protocol for a task. */
|
|
15
|
-
export async function validateProvenanceTask(taskId, opts) {
|
|
16
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
17
|
-
const result = validateProvenanceProtocol(entry, opts);
|
|
18
|
-
throwIfStrictFailed(result, opts, 'provenance', taskId);
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
/** Validate provenance protocol from a manifest file. */
|
|
22
|
-
export async function checkProvenanceManifest(manifestFile, opts) {
|
|
23
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
24
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
25
|
-
const result = validateProvenanceProtocol(entry, opts);
|
|
26
|
-
throwIfStrictFailed(result, opts, 'provenance', taskId);
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=provenance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../../src/validation/protocols/provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,0BAA0B,GAC3B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAQtB,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,IAAoB;IAEpB,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB,EACpB,IAAoB;IAEpB,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Release protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* Renamed from release-protocol.ts in T260. The release protocol orchestrates
|
|
5
|
-
* version bumping, changelog generation, tagging, and pushing. It composes
|
|
6
|
-
* with artifact-publish and provenance at the release stage (see release.md
|
|
7
|
-
* Pipeline Integration + release-engine.ts releaseShip()).
|
|
8
|
-
*
|
|
9
|
-
* @task T4804
|
|
10
|
-
* @task T260 — drop -protocol suffix, delegate to orchestration validator
|
|
11
|
-
*/
|
|
12
|
-
import { validateReleaseProtocol, } from '../../orchestration/protocol-validators.js';
|
|
13
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
14
|
-
/** Validate release protocol for a task. */
|
|
15
|
-
export async function validateReleaseTask(taskId, opts) {
|
|
16
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
17
|
-
const result = validateReleaseProtocol(entry, opts);
|
|
18
|
-
throwIfStrictFailed(result, opts, 'release', taskId);
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
/** Validate release protocol from a manifest file. */
|
|
22
|
-
export async function checkReleaseManifest(manifestFile, opts) {
|
|
23
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
24
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
25
|
-
const result = validateReleaseProtocol(entry, opts);
|
|
26
|
-
throwIfStrictFailed(result, opts, 'release', taskId);
|
|
27
|
-
return result;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=release.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/validation/protocols/release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,IAAoE;IAEpE,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAoB,EACpB,IAAoE;IAEpE,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Research protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* @task T4804
|
|
5
|
-
* @task T260
|
|
6
|
-
*/
|
|
7
|
-
import { validateResearchProtocol, } from '../../orchestration/protocol-validators.js';
|
|
8
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
9
|
-
/** Validate research protocol for a task. */
|
|
10
|
-
export async function validateResearchTask(taskId, opts) {
|
|
11
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
12
|
-
const result = validateResearchProtocol(entry, opts);
|
|
13
|
-
throwIfStrictFailed(result, opts, 'research', taskId);
|
|
14
|
-
return result;
|
|
15
|
-
}
|
|
16
|
-
/** Validate research protocol from a manifest file. */
|
|
17
|
-
export async function checkResearchManifest(manifestFile, opts) {
|
|
18
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
19
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
20
|
-
const result = validateResearchProtocol(entry, opts);
|
|
21
|
-
throwIfStrictFailed(result, opts, 'research', taskId);
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=research.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../../src/validation/protocols/research.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,IAAoD;IAEpD,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAoB,EACpB,IAAoD;IAEpD,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Specification protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* @task T4537
|
|
5
|
-
* @task T260
|
|
6
|
-
*/
|
|
7
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
8
|
-
import { validateSpecificationProtocol, } from '../../orchestration/protocol-validators.js';
|
|
9
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
10
|
-
/** Validate specification protocol for a task. */
|
|
11
|
-
export async function validateSpecificationTask(taskId, opts) {
|
|
12
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
13
|
-
const specContent = opts.specFile && existsSync(opts.specFile) ? readFileSync(opts.specFile, 'utf-8') : undefined;
|
|
14
|
-
const result = validateSpecificationProtocol(entry, specContent);
|
|
15
|
-
throwIfStrictFailed(result, opts, 'specification', taskId);
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
/** Validate specification protocol from a manifest file. */
|
|
19
|
-
export async function checkSpecificationManifest(manifestFile, opts) {
|
|
20
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
21
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
22
|
-
const specContent = opts.specFile && existsSync(opts.specFile) ? readFileSync(opts.specFile, 'utf-8') : undefined;
|
|
23
|
-
const result = validateSpecificationProtocol(entry, specContent);
|
|
24
|
-
throwIfStrictFailed(result, opts, 'specification', taskId);
|
|
25
|
-
return result;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=specification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"specification.js","sourceRoot":"","sources":["../../../src/validation/protocols/specification.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAEL,6BAA6B,GAC9B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAAc,EACd,IAA6C;IAE7C,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjE,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,YAAoB,EACpB,IAA6C;IAE7C,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,MAAM,GAAG,6BAA6B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjE,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testing protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* Renamed from testing-protocol.ts in T260. The testing protocol is the
|
|
5
|
-
* project-agnostic IVT loop closure stage: it checks that a detected test
|
|
6
|
-
* framework ran, achieved 100% pass rate, and the Implement→Validate→Test
|
|
7
|
-
* loop converged on the specification. Framework detection and loop logic
|
|
8
|
-
* live in the `ct-ivt-looper` skill; this validator only certifies results.
|
|
9
|
-
*
|
|
10
|
-
* @task T4804
|
|
11
|
-
* @task T260 — drop -protocol suffix, delegate, project-agnostic IVT
|
|
12
|
-
*/
|
|
13
|
-
import { validateTestingProtocol, } from '../../orchestration/protocol-validators.js';
|
|
14
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
15
|
-
/** Validate testing protocol for a task. */
|
|
16
|
-
export async function validateTestingTask(taskId, opts) {
|
|
17
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
18
|
-
const result = validateTestingProtocol(entry, opts);
|
|
19
|
-
throwIfStrictFailed(result, opts, 'testing', taskId);
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
/** Validate testing protocol from a manifest file. */
|
|
23
|
-
export async function checkTestingManifest(manifestFile, opts) {
|
|
24
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
25
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
26
|
-
const result = validateTestingProtocol(entry, opts);
|
|
27
|
-
throwIfStrictFailed(result, opts, 'testing', taskId);
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=testing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../../src/validation/protocols/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAGL,uBAAuB,GACxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,IAA2C;IAE3C,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAoB,EACpB,IAA2C;IAE3C,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validation protocol — thin wrapper delegating to the canonical pure validator.
|
|
3
|
-
*
|
|
4
|
-
* Renamed from validation-protocol.ts in T260. The validation stage runs
|
|
5
|
-
* static analysis, type checking, and pre-test quality gates. It is the
|
|
6
|
-
* first half of the IVT loop (Implement → Validate → Test); the validator
|
|
7
|
-
* here only verifies that a validation run produced a proper manifest
|
|
8
|
-
* entry — runtime gate enforcement is in the lifecycle state machine.
|
|
9
|
-
*
|
|
10
|
-
* @task T4804
|
|
11
|
-
* @task T260 — drop -protocol suffix, delegate to orchestration validator
|
|
12
|
-
*/
|
|
13
|
-
import { validateValidationProtocol, } from '../../orchestration/protocol-validators.js';
|
|
14
|
-
import { loadManifestEntryByTaskId, loadManifestEntryFromFile, throwIfStrictFailed, } from './_shared.js';
|
|
15
|
-
/** Validate validation-stage protocol for a task. */
|
|
16
|
-
export async function validateValidationTask(taskId, opts) {
|
|
17
|
-
const entry = loadManifestEntryByTaskId(taskId);
|
|
18
|
-
const result = validateValidationProtocol(entry, opts);
|
|
19
|
-
throwIfStrictFailed(result, opts, 'validation', taskId);
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
22
|
-
/** Validate validation-stage protocol from a manifest file. */
|
|
23
|
-
export async function checkValidationManifest(manifestFile, opts) {
|
|
24
|
-
const entry = loadManifestEntryFromFile(manifestFile);
|
|
25
|
-
const taskId = entry.linked_tasks?.[0] ?? 'UNKNOWN';
|
|
26
|
-
const result = validateValidationProtocol(entry, opts);
|
|
27
|
-
throwIfStrictFailed(result, opts, 'validation', taskId);
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/validation/protocols/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAGL,0BAA0B,GAC3B,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,IAAmD;IAEnD,MAAM,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,YAAoB,EACpB,IAAmD;IAEnD,MAAM,KAAK,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACpD,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical JSON file integrity checker for the SQLite era.
|
|
3
|
-
*
|
|
4
|
-
* Validates the JSON files that remain active per ADR-006:
|
|
5
|
-
* config.json, project-info.json, project-context.json, .context-state.json
|
|
6
|
-
*
|
|
7
|
-
* Table-driven design — add a new file by adding one entry to INTEGRITY_TARGETS.
|
|
8
|
-
* Uses AJV (via src/core/schema.ts) and reads schema versions from schema files
|
|
9
|
-
* at runtime; no hardcoded version strings.
|
|
10
|
-
*
|
|
11
|
-
* @task T4862
|
|
12
|
-
*/
|
|
13
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
14
|
-
import { join } from 'node:path';
|
|
15
|
-
import { checkSchema } from '../json-schema-validator.js';
|
|
16
|
-
import { getCleoDirAbsolute } from '../paths.js';
|
|
17
|
-
import { getSchemaVersion, resolveSchemaPath } from '../schema-management.js';
|
|
18
|
-
// ============================================================================
|
|
19
|
-
// Table of files to check
|
|
20
|
-
// ============================================================================
|
|
21
|
-
const INTEGRITY_TARGETS = [
|
|
22
|
-
{
|
|
23
|
-
label: 'config.json',
|
|
24
|
-
filePath: (d) => join(d, 'config.json'),
|
|
25
|
-
schemaName: 'config.schema.json',
|
|
26
|
-
required: true,
|
|
27
|
-
versionKey: 'schemaVersion',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
label: 'project-info.json',
|
|
31
|
-
filePath: (d) => join(d, 'project-info.json'),
|
|
32
|
-
schemaName: 'project-info.schema.json',
|
|
33
|
-
required: false,
|
|
34
|
-
versionKey: 'schemaVersion',
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
label: 'project-context.json',
|
|
38
|
-
filePath: (d) => join(d, 'project-context.json'),
|
|
39
|
-
schemaName: 'project-context.schema.json',
|
|
40
|
-
required: false,
|
|
41
|
-
versionKey: 'schemaVersion',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
label: '.context-state.json',
|
|
45
|
-
filePath: (d) => join(d, '.context-state.json'),
|
|
46
|
-
schemaName: 'context-state.schema.json',
|
|
47
|
-
required: false,
|
|
48
|
-
versionKey: 'version',
|
|
49
|
-
},
|
|
50
|
-
];
|
|
51
|
-
// ============================================================================
|
|
52
|
-
// Schema path resolution
|
|
53
|
-
// ============================================================================
|
|
54
|
-
/**
|
|
55
|
-
* Read the top-level `schemaVersion` field from a schema file.
|
|
56
|
-
* Delegates to the centralized schema-management module.
|
|
57
|
-
* Returns null if the file cannot be read or has no such field.
|
|
58
|
-
*/
|
|
59
|
-
export function readSchemaVersionFromFile(schemaName) {
|
|
60
|
-
return getSchemaVersion(schemaName);
|
|
61
|
-
}
|
|
62
|
-
// ============================================================================
|
|
63
|
-
// Single file checker
|
|
64
|
-
// ============================================================================
|
|
65
|
-
function checkFile(target, cleoDir) {
|
|
66
|
-
const filePath = target.filePath(cleoDir);
|
|
67
|
-
// File missing
|
|
68
|
-
if (!existsSync(filePath)) {
|
|
69
|
-
if (target.required) {
|
|
70
|
-
return {
|
|
71
|
-
label: target.label,
|
|
72
|
-
status: 'missing',
|
|
73
|
-
errors: [`Required file not found: ${filePath}`],
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
// Optional files that don't exist are fine
|
|
77
|
-
return { label: target.label, status: 'ok', errors: [] };
|
|
78
|
-
}
|
|
79
|
-
// Parse file
|
|
80
|
-
let data;
|
|
81
|
-
try {
|
|
82
|
-
data = JSON.parse(readFileSync(filePath, 'utf-8'));
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
return {
|
|
86
|
-
label: target.label,
|
|
87
|
-
status: 'invalid',
|
|
88
|
-
errors: [`JSON parse error: ${err instanceof Error ? err.message : String(err)}`],
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
// Load schema
|
|
92
|
-
const schemaPath = resolveSchemaPath(target.schemaName);
|
|
93
|
-
if (!schemaPath) {
|
|
94
|
-
return {
|
|
95
|
-
label: target.label,
|
|
96
|
-
status: 'schema_not_found',
|
|
97
|
-
errors: [`Schema file not found: ${target.schemaName}`],
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
let schema;
|
|
101
|
-
try {
|
|
102
|
-
schema = JSON.parse(readFileSync(schemaPath, 'utf-8'));
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
return {
|
|
106
|
-
label: target.label,
|
|
107
|
-
status: 'schema_not_found',
|
|
108
|
-
errors: [`Schema file unreadable: ${err instanceof Error ? err.message : String(err)}`],
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
// AJV validation
|
|
112
|
-
const ajvErrors = checkSchema(data, schema);
|
|
113
|
-
if (ajvErrors.length > 0) {
|
|
114
|
-
return {
|
|
115
|
-
label: target.label,
|
|
116
|
-
status: 'invalid',
|
|
117
|
-
errors: ajvErrors,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
// Version comparison
|
|
121
|
-
const dataVersion = data[target.versionKey];
|
|
122
|
-
const expectedVersion = getSchemaVersion(target.schemaName);
|
|
123
|
-
const dataVersionStr = typeof dataVersion === 'string' ? dataVersion : undefined;
|
|
124
|
-
const result = {
|
|
125
|
-
label: target.label,
|
|
126
|
-
status: 'ok',
|
|
127
|
-
errors: [],
|
|
128
|
-
dataVersion: dataVersionStr,
|
|
129
|
-
expectedVersion: expectedVersion ?? undefined,
|
|
130
|
-
};
|
|
131
|
-
if (dataVersionStr && expectedVersion && dataVersionStr !== expectedVersion) {
|
|
132
|
-
result.status = 'version_mismatch';
|
|
133
|
-
result.errors = [
|
|
134
|
-
`Version mismatch: file has ${dataVersionStr}, schema expects ${expectedVersion}. Run: cleo upgrade`,
|
|
135
|
-
];
|
|
136
|
-
}
|
|
137
|
-
return result;
|
|
138
|
-
}
|
|
139
|
-
// ============================================================================
|
|
140
|
-
// SQLite version reader
|
|
141
|
-
// ============================================================================
|
|
142
|
-
async function readSqliteVersion(cwd) {
|
|
143
|
-
try {
|
|
144
|
-
const { getDb } = await import('../store/sqlite.js');
|
|
145
|
-
const schemaTable = await import('../store/tasks-schema.js');
|
|
146
|
-
const db = await getDb(cwd);
|
|
147
|
-
const rows = await db.select().from(schemaTable.schemaMeta).limit(10);
|
|
148
|
-
const row = rows.find((r) => r.key === 'schemaVersion');
|
|
149
|
-
return row?.value ?? null;
|
|
150
|
-
}
|
|
151
|
-
catch {
|
|
152
|
-
return null;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// ============================================================================
|
|
156
|
-
// Public API
|
|
157
|
-
// ============================================================================
|
|
158
|
-
/**
|
|
159
|
-
* Check integrity of all active JSON files in a CLEO project.
|
|
160
|
-
*
|
|
161
|
-
* @param cwd - Project root (defaults to process.cwd())
|
|
162
|
-
*/
|
|
163
|
-
export async function checkSchemaIntegrity(cwd) {
|
|
164
|
-
const cleoDir = getCleoDirAbsolute(cwd);
|
|
165
|
-
const files = INTEGRITY_TARGETS.map((t) => checkFile(t, cleoDir));
|
|
166
|
-
const sqliteVersion = await readSqliteVersion(cwd);
|
|
167
|
-
const allOk = files.every((f) => f.status === 'ok' || f.status === 'schema_not_found');
|
|
168
|
-
return { files, sqliteVersion, allOk };
|
|
169
|
-
}
|
|
170
|
-
//# sourceMappingURL=schema-integrity.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema-integrity.js","sourceRoot":"","sources":["../../src/validation/schema-integrity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema Validator
|
|
3
|
-
*
|
|
4
|
-
* Task validation uses drizzle-zod schemas (src/store/validation-schemas.ts)
|
|
5
|
-
* as the single source of truth for field-level constraints.
|
|
6
|
-
*
|
|
7
|
-
* AJV/JSON Schema validation is retained for the `config` type and backward-
|
|
8
|
-
* compatible `validateSchema()` calls with raw data.
|
|
9
|
-
*/
|
|
10
|
-
import AjvModule from 'ajv';
|
|
11
|
-
import addFormatsModule from 'ajv-formats';
|
|
12
|
-
import { readFileSync } from 'fs';
|
|
13
|
-
import { resolveSchemaPath as resolveSchemaPathGlobal } from '../schema-management.js';
|
|
14
|
-
import { insertTaskSchema } from '../store/validation-schemas.js';
|
|
15
|
-
// Handle ESM/CJS interop for Ajv and ajv-formats
|
|
16
|
-
// CJS bundlers may wrap default exports; detect and unwrap.
|
|
17
|
-
const _ajvMod = AjvModule;
|
|
18
|
-
const Ajv = (typeof _ajvMod['default'] === 'function' ? _ajvMod['default'] : AjvModule);
|
|
19
|
-
const _fmtMod = addFormatsModule;
|
|
20
|
-
const addFormats = (typeof _fmtMod['default'] === 'function' ? _fmtMod['default'] : addFormatsModule);
|
|
21
|
-
/**
|
|
22
|
-
* Schema cache to avoid re-reading/re-compiling
|
|
23
|
-
*/
|
|
24
|
-
const schemaCache = new Map();
|
|
25
|
-
/**
|
|
26
|
-
* Create an Ajv instance configured for CLEO schemas
|
|
27
|
-
*/
|
|
28
|
-
function createAjv() {
|
|
29
|
-
const ajv = new Ajv({
|
|
30
|
-
allErrors: true,
|
|
31
|
-
strict: false,
|
|
32
|
-
validateFormats: true,
|
|
33
|
-
});
|
|
34
|
-
addFormats(ajv);
|
|
35
|
-
return ajv;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Shared Ajv instance
|
|
39
|
-
*/
|
|
40
|
-
let ajvInstance = null;
|
|
41
|
-
function getAjv() {
|
|
42
|
-
if (!ajvInstance) {
|
|
43
|
-
ajvInstance = createAjv();
|
|
44
|
-
}
|
|
45
|
-
return ajvInstance;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Local wrapper that maps SchemaType to a schema filename and delegates
|
|
49
|
-
* to the centralized resolveSchemaPath in schema-management.ts.
|
|
50
|
-
*/
|
|
51
|
-
function resolveSchemaPath(schemaType) {
|
|
52
|
-
return resolveSchemaPathGlobal(`${schemaType}.schema.json`);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Load and compile a schema, with caching
|
|
56
|
-
*/
|
|
57
|
-
function getValidator(schemaType) {
|
|
58
|
-
const cached = schemaCache.get(schemaType);
|
|
59
|
-
if (cached) {
|
|
60
|
-
return cached;
|
|
61
|
-
}
|
|
62
|
-
const schemaPath = resolveSchemaPath(schemaType);
|
|
63
|
-
if (!schemaPath) {
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
try {
|
|
67
|
-
const schemaContent = readFileSync(schemaPath, 'utf-8');
|
|
68
|
-
const schema = JSON.parse(schemaContent);
|
|
69
|
-
const ajv = getAjv();
|
|
70
|
-
const validate = ajv.compile(schema);
|
|
71
|
-
schemaCache.set(schemaType, validate);
|
|
72
|
-
return validate;
|
|
73
|
-
}
|
|
74
|
-
catch {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Validate data against a CLEO schema
|
|
80
|
-
*
|
|
81
|
-
* @param schemaType - Which schema to validate against
|
|
82
|
-
* @param data - The data to validate
|
|
83
|
-
* @returns Validation result with errors if invalid
|
|
84
|
-
*/
|
|
85
|
-
export function validateSchema(schemaType, data) {
|
|
86
|
-
const validate = getValidator(schemaType);
|
|
87
|
-
if (!validate) {
|
|
88
|
-
return {
|
|
89
|
-
valid: false,
|
|
90
|
-
errors: [
|
|
91
|
-
{
|
|
92
|
-
path: '',
|
|
93
|
-
message: `Schema '${schemaType}' not found. Ensure schemas/ directory is accessible.`,
|
|
94
|
-
keyword: 'schema-not-found',
|
|
95
|
-
params: { schemaType },
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
const valid = validate(data);
|
|
101
|
-
if (valid) {
|
|
102
|
-
return { valid: true, errors: [] };
|
|
103
|
-
}
|
|
104
|
-
const errors = (validate.errors || []).map((err) => ({
|
|
105
|
-
path: err.instancePath || '/',
|
|
106
|
-
message: err.message || 'Validation failed',
|
|
107
|
-
keyword: err.keyword,
|
|
108
|
-
params: err.params,
|
|
109
|
-
}));
|
|
110
|
-
return { valid: false, errors };
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Validate a single task object against the drizzle-zod insert schema.
|
|
114
|
-
* Uses drizzle-derived Zod schemas as the single source of truth for
|
|
115
|
-
* field-level constraints (pattern, length, enum).
|
|
116
|
-
*
|
|
117
|
-
* @param task - Task object to validate
|
|
118
|
-
* @returns Validation result
|
|
119
|
-
*/
|
|
120
|
-
export function validateTask(task) {
|
|
121
|
-
if (!task || typeof task !== 'object') {
|
|
122
|
-
return {
|
|
123
|
-
valid: false,
|
|
124
|
-
errors: [
|
|
125
|
-
{
|
|
126
|
-
path: '',
|
|
127
|
-
message: 'Task must be a non-null object',
|
|
128
|
-
keyword: 'type',
|
|
129
|
-
params: { type: 'object' },
|
|
130
|
-
},
|
|
131
|
-
],
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
const taskObj = task;
|
|
135
|
-
const errors = [];
|
|
136
|
-
// Check required fields that insertTaskSchema marks optional (they have DB defaults)
|
|
137
|
-
const requiredFields = ['id', 'title', 'status', 'priority', 'createdAt'];
|
|
138
|
-
for (const field of requiredFields) {
|
|
139
|
-
if (taskObj[field] === undefined || taskObj[field] === null) {
|
|
140
|
-
errors.push({
|
|
141
|
-
path: `/${field}`,
|
|
142
|
-
message: `Required field '${field}' is missing`,
|
|
143
|
-
keyword: 'required',
|
|
144
|
-
params: { missingProperty: field },
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
// Run drizzle-zod schema validation for field-level constraints
|
|
149
|
-
const result = insertTaskSchema.safeParse(task);
|
|
150
|
-
if (!result.success) {
|
|
151
|
-
for (const issue of result.error.issues) {
|
|
152
|
-
const path = '/' + issue.path.join('/');
|
|
153
|
-
// Skip duplicates already reported by required-fields check
|
|
154
|
-
if (!errors.some((e) => e.path === path)) {
|
|
155
|
-
errors.push({
|
|
156
|
-
path,
|
|
157
|
-
message: issue.message,
|
|
158
|
-
keyword: issue.code,
|
|
159
|
-
params: {},
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return {
|
|
165
|
-
valid: errors.length === 0,
|
|
166
|
-
errors,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Clear the schema cache (useful for testing)
|
|
171
|
-
*/
|
|
172
|
-
export function clearSchemaCache() {
|
|
173
|
-
schemaCache.clear();
|
|
174
|
-
ajvInstance = null;
|
|
175
|
-
}
|
|
176
|
-
//# sourceMappingURL=schema-validator.js.map
|