@aquex/cmos-mcp 1.0.0
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/CHANGELOG.md +99 -0
- package/LICENSE +15 -0
- package/README.md +250 -0
- package/cmos-seed/README.md +153 -0
- package/cmos-seed/context/master_context.json +27 -0
- package/cmos-seed/context/project_context.json +12 -0
- package/cmos-seed/db/schema.sql +334 -0
- package/cmos-seed/docs/README.md +128 -0
- package/cmos-seed/docs/agents-md-guide.md +253 -0
- package/cmos-seed/docs/build-session-prompt.md +137 -0
- package/cmos-seed/docs/getting-started.md +150 -0
- package/cmos-seed/docs/session-management-guide.md +163 -0
- package/cmos-seed/docs/sqlite-schema-reference.md +188 -0
- package/cmos-seed/foundational-docs/roadmap_template.md +365 -0
- package/cmos-seed/foundational-docs/tech_arch_template.md +331 -0
- package/cmos-seed/templates/PROJECT-README-template.md +110 -0
- package/cmos-seed/templates/agents.md +306 -0
- package/cmos-seed/tiers/build.md +110 -0
- package/cmos-seed/tiers/general.md +112 -0
- package/cmos-seed/tiers/managed.md +118 -0
- package/dist/.build-manifest.json +5 -0
- package/dist/auth/auth-state.d.ts +96 -0
- package/dist/auth/auth-state.d.ts.map +1 -0
- package/dist/auth/auth-state.js +115 -0
- package/dist/auth/auth-state.js.map +1 -0
- package/dist/auth/delivery-ack-cache.d.ts +27 -0
- package/dist/auth/delivery-ack-cache.d.ts.map +1 -0
- package/dist/auth/delivery-ack-cache.js +21 -0
- package/dist/auth/delivery-ack-cache.js.map +1 -0
- package/dist/auth/device-code.d.ts +136 -0
- package/dist/auth/device-code.d.ts.map +1 -0
- package/dist/auth/device-code.js +334 -0
- package/dist/auth/device-code.js.map +1 -0
- package/dist/auth/project-key-capture.d.ts +124 -0
- package/dist/auth/project-key-capture.d.ts.map +1 -0
- package/dist/auth/project-key-capture.js +218 -0
- package/dist/auth/project-key-capture.js.map +1 -0
- package/dist/combination/dependency-resolver.d.ts +69 -0
- package/dist/combination/dependency-resolver.d.ts.map +1 -0
- package/dist/combination/dependency-resolver.js +303 -0
- package/dist/combination/dependency-resolver.js.map +1 -0
- package/dist/combination/merge-strategies.d.ts +87 -0
- package/dist/combination/merge-strategies.d.ts.map +1 -0
- package/dist/combination/merge-strategies.js +210 -0
- package/dist/combination/merge-strategies.js.map +1 -0
- package/dist/combination/pack-combiner.d.ts +84 -0
- package/dist/combination/pack-combiner.d.ts.map +1 -0
- package/dist/combination/pack-combiner.js +288 -0
- package/dist/combination/pack-combiner.js.map +1 -0
- package/dist/combination/types.d.ts +112 -0
- package/dist/combination/types.d.ts.map +1 -0
- package/dist/combination/types.js +39 -0
- package/dist/combination/types.js.map +1 -0
- package/dist/domains/domain-pack-loader.d.ts +148 -0
- package/dist/domains/domain-pack-loader.d.ts.map +1 -0
- package/dist/domains/domain-pack-loader.js +501 -0
- package/dist/domains/domain-pack-loader.js.map +1 -0
- package/dist/domains/types.d.ts +64 -0
- package/dist/domains/types.d.ts.map +1 -0
- package/dist/domains/types.js +10 -0
- package/dist/domains/types.js.map +1 -0
- package/dist/errors/config-error.d.ts +13 -0
- package/dist/errors/config-error.d.ts.map +1 -0
- package/dist/errors/config-error.js +19 -0
- package/dist/errors/config-error.js.map +1 -0
- package/dist/errors/domain-error.d.ts +13 -0
- package/dist/errors/domain-error.d.ts.map +1 -0
- package/dist/errors/domain-error.js +19 -0
- package/dist/errors/domain-error.js.map +1 -0
- package/dist/errors/handler.d.ts +30 -0
- package/dist/errors/handler.d.ts.map +1 -0
- package/dist/errors/handler.js +63 -0
- package/dist/errors/handler.js.map +1 -0
- package/dist/errors/index.d.ts +9 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +25 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/io-error.d.ts +13 -0
- package/dist/errors/io-error.d.ts.map +1 -0
- package/dist/errors/io-error.js +19 -0
- package/dist/errors/io-error.js.map +1 -0
- package/dist/errors/logger.d.ts +21 -0
- package/dist/errors/logger.d.ts.map +1 -0
- package/dist/errors/logger.js +88 -0
- package/dist/errors/logger.js.map +1 -0
- package/dist/errors/mission-error.d.ts +27 -0
- package/dist/errors/mission-error.d.ts.map +1 -0
- package/dist/errors/mission-error.js +76 -0
- package/dist/errors/mission-error.js.map +1 -0
- package/dist/errors/types.d.ts +52 -0
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +3 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/errors/utils.d.ts +24 -0
- package/dist/errors/utils.d.ts.map +1 -0
- package/dist/errors/utils.js +64 -0
- package/dist/errors/utils.js.map +1 -0
- package/dist/errors/validation-error.d.ts +13 -0
- package/dist/errors/validation-error.d.ts.map +1 -0
- package/dist/errors/validation-error.js +19 -0
- package/dist/errors/validation-error.js.map +1 -0
- package/dist/extraction/template-extractor.d.ts +59 -0
- package/dist/extraction/template-extractor.d.ts.map +1 -0
- package/dist/extraction/template-extractor.js +553 -0
- package/dist/extraction/template-extractor.js.map +1 -0
- package/dist/extraction/types.d.ts +160 -0
- package/dist/extraction/types.d.ts.map +1 -0
- package/dist/extraction/types.js +7 -0
- package/dist/extraction/types.js.map +1 -0
- package/dist/http-server.d.ts +18 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +326 -0
- package/dist/http-server.js.map +1 -0
- package/dist/import-export/hybrid-template-parser.d.ts +44 -0
- package/dist/import-export/hybrid-template-parser.d.ts.map +1 -0
- package/dist/import-export/hybrid-template-parser.js +373 -0
- package/dist/import-export/hybrid-template-parser.js.map +1 -0
- package/dist/import-export/security-validator.d.ts +93 -0
- package/dist/import-export/security-validator.d.ts.map +1 -0
- package/dist/import-export/security-validator.js +441 -0
- package/dist/import-export/security-validator.js.map +1 -0
- package/dist/import-export/template-exporter.d.ts +106 -0
- package/dist/import-export/template-exporter.d.ts.map +1 -0
- package/dist/import-export/template-exporter.js +247 -0
- package/dist/import-export/template-exporter.js.map +1 -0
- package/dist/import-export/template-importer.d.ts +97 -0
- package/dist/import-export/template-importer.d.ts.map +1 -0
- package/dist/import-export/template-importer.js +308 -0
- package/dist/import-export/template-importer.js.map +1 -0
- package/dist/import-export/types.d.ts +118 -0
- package/dist/import-export/types.d.ts.map +1 -0
- package/dist/import-export/types.js +41 -0
- package/dist/import-export/types.js.map +1 -0
- package/dist/index.d.ts +157 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +972 -0
- package/dist/index.js.map +1 -0
- package/dist/intelligence/agentic-controller.d.ts +345 -0
- package/dist/intelligence/agentic-controller.d.ts.map +1 -0
- package/dist/intelligence/agentic-controller.js +1376 -0
- package/dist/intelligence/agentic-controller.js.map +1 -0
- package/dist/intelligence/agentic-observability.d.ts +43 -0
- package/dist/intelligence/agentic-observability.d.ts.map +1 -0
- package/dist/intelligence/agentic-observability.js +62 -0
- package/dist/intelligence/agentic-observability.js.map +1 -0
- package/dist/intelligence/agents-md-loader.d.ts +81 -0
- package/dist/intelligence/agents-md-loader.d.ts.map +1 -0
- package/dist/intelligence/agents-md-loader.js +298 -0
- package/dist/intelligence/agents-md-loader.js.map +1 -0
- package/dist/intelligence/attribution-verification.d.ts +58 -0
- package/dist/intelligence/attribution-verification.d.ts.map +1 -0
- package/dist/intelligence/attribution-verification.js +133 -0
- package/dist/intelligence/attribution-verification.js.map +1 -0
- package/dist/intelligence/boomerang-workflow.d.ts +87 -0
- package/dist/intelligence/boomerang-workflow.d.ts.map +1 -0
- package/dist/intelligence/boomerang-workflow.js +311 -0
- package/dist/intelligence/boomerang-workflow.js.map +1 -0
- package/dist/intelligence/cmos-detector.d.ts +42 -0
- package/dist/intelligence/cmos-detector.d.ts.map +1 -0
- package/dist/intelligence/cmos-detector.js +94 -0
- package/dist/intelligence/cmos-detector.js.map +1 -0
- package/dist/intelligence/cmos-sync.d.ts +101 -0
- package/dist/intelligence/cmos-sync.d.ts.map +1 -0
- package/dist/intelligence/cmos-sync.js +435 -0
- package/dist/intelligence/cmos-sync.js.map +1 -0
- package/dist/intelligence/complexity-scorer.d.ts +111 -0
- package/dist/intelligence/complexity-scorer.d.ts.map +1 -0
- package/dist/intelligence/complexity-scorer.js +299 -0
- package/dist/intelligence/complexity-scorer.js.map +1 -0
- package/dist/intelligence/compression-rules.d.ts +62 -0
- package/dist/intelligence/compression-rules.d.ts.map +1 -0
- package/dist/intelligence/compression-rules.js +303 -0
- package/dist/intelligence/compression-rules.js.map +1 -0
- package/dist/intelligence/content-sanitizer.d.ts +61 -0
- package/dist/intelligence/content-sanitizer.d.ts.map +1 -0
- package/dist/intelligence/content-sanitizer.js +170 -0
- package/dist/intelligence/content-sanitizer.js.map +1 -0
- package/dist/intelligence/context-propagator-v2.d.ts +23 -0
- package/dist/intelligence/context-propagator-v2.d.ts.map +1 -0
- package/dist/intelligence/context-propagator-v2.js +37 -0
- package/dist/intelligence/context-propagator-v2.js.map +1 -0
- package/dist/intelligence/context-propagator-v3.d.ts +46 -0
- package/dist/intelligence/context-propagator-v3.d.ts.map +1 -0
- package/dist/intelligence/context-propagator-v3.js +266 -0
- package/dist/intelligence/context-propagator-v3.js.map +1 -0
- package/dist/intelligence/context-propagator.d.ts +108 -0
- package/dist/intelligence/context-propagator.d.ts.map +1 -0
- package/dist/intelligence/context-propagator.js +283 -0
- package/dist/intelligence/context-propagator.js.map +1 -0
- package/dist/intelligence/context-windows.d.ts +5 -0
- package/dist/intelligence/context-windows.d.ts.map +1 -0
- package/dist/intelligence/context-windows.js +18 -0
- package/dist/intelligence/context-windows.js.map +1 -0
- package/dist/intelligence/credential-store.d.ts +145 -0
- package/dist/intelligence/credential-store.d.ts.map +1 -0
- package/dist/intelligence/credential-store.js +243 -0
- package/dist/intelligence/credential-store.js.map +1 -0
- package/dist/intelligence/dependency-analyzer.d.ts +117 -0
- package/dist/intelligence/dependency-analyzer.d.ts.map +1 -0
- package/dist/intelligence/dependency-analyzer.js +398 -0
- package/dist/intelligence/dependency-analyzer.js.map +1 -0
- package/dist/intelligence/dependency-inferrer.d.ts +68 -0
- package/dist/intelligence/dependency-inferrer.d.ts.map +1 -0
- package/dist/intelligence/dependency-inferrer.js +281 -0
- package/dist/intelligence/dependency-inferrer.js.map +1 -0
- package/dist/intelligence/enhanced-dependency-analyzer.d.ts +25 -0
- package/dist/intelligence/enhanced-dependency-analyzer.d.ts.map +1 -0
- package/dist/intelligence/enhanced-dependency-analyzer.js +207 -0
- package/dist/intelligence/enhanced-dependency-analyzer.js.map +1 -0
- package/dist/intelligence/graph-validator.d.ts +61 -0
- package/dist/intelligence/graph-validator.d.ts.map +1 -0
- package/dist/intelligence/graph-validator.js +212 -0
- package/dist/intelligence/graph-validator.js.map +1 -0
- package/dist/intelligence/lifecycle-analyzer.d.ts +64 -0
- package/dist/intelligence/lifecycle-analyzer.d.ts.map +1 -0
- package/dist/intelligence/lifecycle-analyzer.js +587 -0
- package/dist/intelligence/lifecycle-analyzer.js.map +1 -0
- package/dist/intelligence/mission-history.d.ts +56 -0
- package/dist/intelligence/mission-history.d.ts.map +1 -0
- package/dist/intelligence/mission-history.js +145 -0
- package/dist/intelligence/mission-history.js.map +1 -0
- package/dist/intelligence/mission-outcome-analytics.d.ts +84 -0
- package/dist/intelligence/mission-outcome-analytics.d.ts.map +1 -0
- package/dist/intelligence/mission-outcome-analytics.js +499 -0
- package/dist/intelligence/mission-outcome-analytics.js.map +1 -0
- package/dist/intelligence/mission-splitter.d.ts +148 -0
- package/dist/intelligence/mission-splitter.d.ts.map +1 -0
- package/dist/intelligence/mission-splitter.js +461 -0
- package/dist/intelligence/mission-splitter.js.map +1 -0
- package/dist/intelligence/model-transpilers.d.ts +59 -0
- package/dist/intelligence/model-transpilers.d.ts.map +1 -0
- package/dist/intelligence/model-transpilers.js +185 -0
- package/dist/intelligence/model-transpilers.js.map +1 -0
- package/dist/intelligence/project-registry.d.ts +265 -0
- package/dist/intelligence/project-registry.d.ts.map +1 -0
- package/dist/intelligence/project-registry.js +484 -0
- package/dist/intelligence/project-registry.js.map +1 -0
- package/dist/intelligence/rsip-loop.d.ts +52 -0
- package/dist/intelligence/rsip-loop.d.ts.map +1 -0
- package/dist/intelligence/rsip-loop.js +139 -0
- package/dist/intelligence/rsip-loop.js.map +1 -0
- package/dist/intelligence/sender-context.d.ts +114 -0
- package/dist/intelligence/sender-context.d.ts.map +1 -0
- package/dist/intelligence/sender-context.js +275 -0
- package/dist/intelligence/sender-context.js.map +1 -0
- package/dist/intelligence/sqlite-client.d.ts +144 -0
- package/dist/intelligence/sqlite-client.d.ts.map +1 -0
- package/dist/intelligence/sqlite-client.js +568 -0
- package/dist/intelligence/sqlite-client.js.map +1 -0
- package/dist/intelligence/telemetry.d.ts +44 -0
- package/dist/intelligence/telemetry.d.ts.map +1 -0
- package/dist/intelligence/telemetry.js +106 -0
- package/dist/intelligence/telemetry.js.map +1 -0
- package/dist/intelligence/token-counters.d.ts +69 -0
- package/dist/intelligence/token-counters.d.ts.map +1 -0
- package/dist/intelligence/token-counters.js +197 -0
- package/dist/intelligence/token-counters.js.map +1 -0
- package/dist/intelligence/token-optimizer.d.ts +52 -0
- package/dist/intelligence/token-optimizer.d.ts.map +1 -0
- package/dist/intelligence/token-optimizer.js +205 -0
- package/dist/intelligence/token-optimizer.js.map +1 -0
- package/dist/intelligence/tokenizer-bootstrap.d.ts +54 -0
- package/dist/intelligence/tokenizer-bootstrap.d.ts.map +1 -0
- package/dist/intelligence/tokenizer-bootstrap.js +238 -0
- package/dist/intelligence/tokenizer-bootstrap.js.map +1 -0
- package/dist/intelligence/types.d.ts +117 -0
- package/dist/intelligence/types.d.ts.map +1 -0
- package/dist/intelligence/types.js +8 -0
- package/dist/intelligence/types.js.map +1 -0
- package/dist/intelligence/worker-manifest-loader.d.ts +70 -0
- package/dist/intelligence/worker-manifest-loader.d.ts.map +1 -0
- package/dist/intelligence/worker-manifest-loader.js +387 -0
- package/dist/intelligence/worker-manifest-loader.js.map +1 -0
- package/dist/loaders/yaml-loader.d.ts +99 -0
- package/dist/loaders/yaml-loader.d.ts.map +1 -0
- package/dist/loaders/yaml-loader.js +236 -0
- package/dist/loaders/yaml-loader.js.map +1 -0
- package/dist/merge/deep-merge.d.ts +93 -0
- package/dist/merge/deep-merge.d.ts.map +1 -0
- package/dist/merge/deep-merge.js +168 -0
- package/dist/merge/deep-merge.js.map +1 -0
- package/dist/quality/analyzers/ai-readiness-analyzer.d.ts +35 -0
- package/dist/quality/analyzers/ai-readiness-analyzer.d.ts.map +1 -0
- package/dist/quality/analyzers/ai-readiness-analyzer.js +357 -0
- package/dist/quality/analyzers/ai-readiness-analyzer.js.map +1 -0
- package/dist/quality/analyzers/clarity-analyzer.d.ts +52 -0
- package/dist/quality/analyzers/clarity-analyzer.d.ts.map +1 -0
- package/dist/quality/analyzers/clarity-analyzer.js +405 -0
- package/dist/quality/analyzers/clarity-analyzer.js.map +1 -0
- package/dist/quality/analyzers/completeness-analyzer.d.ts +45 -0
- package/dist/quality/analyzers/completeness-analyzer.d.ts.map +1 -0
- package/dist/quality/analyzers/completeness-analyzer.js +331 -0
- package/dist/quality/analyzers/completeness-analyzer.js.map +1 -0
- package/dist/quality/improvement-engine.d.ts +37 -0
- package/dist/quality/improvement-engine.d.ts.map +1 -0
- package/dist/quality/improvement-engine.js +260 -0
- package/dist/quality/improvement-engine.js.map +1 -0
- package/dist/quality/quality-scorer.d.ts +36 -0
- package/dist/quality/quality-scorer.d.ts.map +1 -0
- package/dist/quality/quality-scorer.js +95 -0
- package/dist/quality/quality-scorer.js.map +1 -0
- package/dist/quality/types.d.ts +92 -0
- package/dist/quality/types.d.ts.map +1 -0
- package/dist/quality/types.js +33 -0
- package/dist/quality/types.js.map +1 -0
- package/dist/registry/registry-parser.d.ts +59 -0
- package/dist/registry/registry-parser.d.ts.map +1 -0
- package/dist/registry/registry-parser.js +161 -0
- package/dist/registry/registry-parser.js.map +1 -0
- package/dist/registry/semver-validator.d.ts +48 -0
- package/dist/registry/semver-validator.d.ts.map +1 -0
- package/dist/registry/semver-validator.js +115 -0
- package/dist/registry/semver-validator.js.map +1 -0
- package/dist/schemas/generic-mission.d.ts +120 -0
- package/dist/schemas/generic-mission.d.ts.map +1 -0
- package/dist/schemas/generic-mission.js +118 -0
- package/dist/schemas/generic-mission.js.map +1 -0
- package/dist/security/workspace-guard.d.ts +10 -0
- package/dist/security/workspace-guard.d.ts.map +1 -0
- package/dist/security/workspace-guard.js +116 -0
- package/dist/security/workspace-guard.js.map +1 -0
- package/dist/server-health.d.ts +73 -0
- package/dist/server-health.d.ts.map +1 -0
- package/dist/server-health.js +181 -0
- package/dist/server-health.js.map +1 -0
- package/dist/tools/analyze-dependencies.d.ts +99 -0
- package/dist/tools/analyze-dependencies.d.ts.map +1 -0
- package/dist/tools/analyze-dependencies.js +329 -0
- package/dist/tools/analyze-dependencies.js.map +1 -0
- package/dist/tools/cmos/agent-feedback.d.ts +25 -0
- package/dist/tools/cmos/agent-feedback.d.ts.map +1 -0
- package/dist/tools/cmos/agent-feedback.js +50 -0
- package/dist/tools/cmos/agent-feedback.js.map +1 -0
- package/dist/tools/cmos/blob-migrations.d.ts +77 -0
- package/dist/tools/cmos/blob-migrations.d.ts.map +1 -0
- package/dist/tools/cmos/blob-migrations.js +210 -0
- package/dist/tools/cmos/blob-migrations.js.map +1 -0
- package/dist/tools/cmos/checkpoint-backfill.d.ts +33 -0
- package/dist/tools/cmos/checkpoint-backfill.d.ts.map +1 -0
- package/dist/tools/cmos/checkpoint-backfill.js +186 -0
- package/dist/tools/cmos/checkpoint-backfill.js.map +1 -0
- package/dist/tools/cmos/client.d.ts +293 -0
- package/dist/tools/cmos/client.d.ts.map +1 -0
- package/dist/tools/cmos/client.js +669 -0
- package/dist/tools/cmos/client.js.map +1 -0
- package/dist/tools/cmos/cmos-agent-onboard.d.ts +344 -0
- package/dist/tools/cmos/cmos-agent-onboard.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-agent-onboard.js +1533 -0
- package/dist/tools/cmos/cmos-agent-onboard.js.map +1 -0
- package/dist/tools/cmos/cmos-auth.d.ts +283 -0
- package/dist/tools/cmos/cmos-auth.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-auth.js +687 -0
- package/dist/tools/cmos/cmos-auth.js.map +1 -0
- package/dist/tools/cmos/cmos-backlog-export.d.ts +142 -0
- package/dist/tools/cmos/cmos-backlog-export.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-backlog-export.js +340 -0
- package/dist/tools/cmos/cmos-backlog-export.js.map +1 -0
- package/dist/tools/cmos/cmos-constraints.d.ts +58 -0
- package/dist/tools/cmos/cmos-constraints.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-constraints.js +227 -0
- package/dist/tools/cmos/cmos-constraints.js.map +1 -0
- package/dist/tools/cmos/cmos-context-condense.d.ts +129 -0
- package/dist/tools/cmos/cmos-context-condense.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-condense.js +649 -0
- package/dist/tools/cmos/cmos-context-condense.js.map +1 -0
- package/dist/tools/cmos/cmos-context-history.d.ts +145 -0
- package/dist/tools/cmos/cmos-context-history.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-history.js +235 -0
- package/dist/tools/cmos/cmos-context-history.js.map +1 -0
- package/dist/tools/cmos/cmos-context-project-identity.d.ts +34 -0
- package/dist/tools/cmos/cmos-context-project-identity.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-project-identity.js +145 -0
- package/dist/tools/cmos/cmos-context-project-identity.js.map +1 -0
- package/dist/tools/cmos/cmos-context-search.d.ts +44 -0
- package/dist/tools/cmos/cmos-context-search.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-search.js +79 -0
- package/dist/tools/cmos/cmos-context-search.js.map +1 -0
- package/dist/tools/cmos/cmos-context-snapshot.d.ts +105 -0
- package/dist/tools/cmos/cmos-context-snapshot.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-snapshot.js +213 -0
- package/dist/tools/cmos/cmos-context-snapshot.js.map +1 -0
- package/dist/tools/cmos/cmos-context-update.d.ts +193 -0
- package/dist/tools/cmos/cmos-context-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-update.js +710 -0
- package/dist/tools/cmos/cmos-context-update.js.map +1 -0
- package/dist/tools/cmos/cmos-context-view.d.ts +159 -0
- package/dist/tools/cmos/cmos-context-view.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context-view.js +531 -0
- package/dist/tools/cmos/cmos-context-view.js.map +1 -0
- package/dist/tools/cmos/cmos-context.d.ts +325 -0
- package/dist/tools/cmos/cmos-context.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-context.js +424 -0
- package/dist/tools/cmos/cmos-context.js.map +1 -0
- package/dist/tools/cmos/cmos-db-backfill.d.ts +119 -0
- package/dist/tools/cmos/cmos-db-backfill.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-db-backfill.js +889 -0
- package/dist/tools/cmos/cmos-db-backfill.js.map +1 -0
- package/dist/tools/cmos/cmos-db-health.d.ts +76 -0
- package/dist/tools/cmos/cmos-db-health.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-db-health.js +226 -0
- package/dist/tools/cmos/cmos-db-health.js.map +1 -0
- package/dist/tools/cmos/cmos-db-restore.d.ts +92 -0
- package/dist/tools/cmos/cmos-db-restore.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-db-restore.js +359 -0
- package/dist/tools/cmos/cmos-db-restore.js.map +1 -0
- package/dist/tools/cmos/cmos-db-snapshot.d.ts +108 -0
- package/dist/tools/cmos/cmos-db-snapshot.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-db-snapshot.js +359 -0
- package/dist/tools/cmos/cmos-db-snapshot.js.map +1 -0
- package/dist/tools/cmos/cmos-db.d.ts +103 -0
- package/dist/tools/cmos/cmos-db.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-db.js +182 -0
- package/dist/tools/cmos/cmos-db.js.map +1 -0
- package/dist/tools/cmos/cmos-decisions-batch-update.d.ts +34 -0
- package/dist/tools/cmos/cmos-decisions-batch-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-decisions-batch-update.js +90 -0
- package/dist/tools/cmos/cmos-decisions-batch-update.js.map +1 -0
- package/dist/tools/cmos/cmos-decisions-list.d.ts +134 -0
- package/dist/tools/cmos/cmos-decisions-list.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-decisions-list.js +153 -0
- package/dist/tools/cmos/cmos-decisions-list.js.map +1 -0
- package/dist/tools/cmos/cmos-decisions-review.d.ts +21 -0
- package/dist/tools/cmos/cmos-decisions-review.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-decisions-review.js +83 -0
- package/dist/tools/cmos/cmos-decisions-review.js.map +1 -0
- package/dist/tools/cmos/cmos-decisions-search.d.ts +119 -0
- package/dist/tools/cmos/cmos-decisions-search.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-decisions-search.js +219 -0
- package/dist/tools/cmos/cmos-decisions-search.js.map +1 -0
- package/dist/tools/cmos/cmos-decisions-update.d.ts +34 -0
- package/dist/tools/cmos/cmos-decisions-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-decisions-update.js +121 -0
- package/dist/tools/cmos/cmos-decisions-update.js.map +1 -0
- package/dist/tools/cmos/cmos-decisions.d.ts +156 -0
- package/dist/tools/cmos/cmos-decisions.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-decisions.js +223 -0
- package/dist/tools/cmos/cmos-decisions.js.map +1 -0
- package/dist/tools/cmos/cmos-feedback.d.ts +127 -0
- package/dist/tools/cmos/cmos-feedback.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-feedback.js +259 -0
- package/dist/tools/cmos/cmos-feedback.js.map +1 -0
- package/dist/tools/cmos/cmos-learnings-list.d.ts +81 -0
- package/dist/tools/cmos/cmos-learnings-list.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-learnings-list.js +120 -0
- package/dist/tools/cmos/cmos-learnings-list.js.map +1 -0
- package/dist/tools/cmos/cmos-learnings-reaffirm.d.ts +27 -0
- package/dist/tools/cmos/cmos-learnings-reaffirm.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-learnings-reaffirm.js +69 -0
- package/dist/tools/cmos/cmos-learnings-reaffirm.js.map +1 -0
- package/dist/tools/cmos/cmos-learnings-search.d.ts +69 -0
- package/dist/tools/cmos/cmos-learnings-search.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-learnings-search.js +130 -0
- package/dist/tools/cmos/cmos-learnings-search.js.map +1 -0
- package/dist/tools/cmos/cmos-learnings-update.d.ts +52 -0
- package/dist/tools/cmos/cmos-learnings-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-learnings-update.js +122 -0
- package/dist/tools/cmos/cmos-learnings-update.js.map +1 -0
- package/dist/tools/cmos/cmos-learnings.d.ts +137 -0
- package/dist/tools/cmos/cmos-learnings.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-learnings.js +197 -0
- package/dist/tools/cmos/cmos-learnings.js.map +1 -0
- package/dist/tools/cmos/cmos-message.d.ts +257 -0
- package/dist/tools/cmos/cmos-message.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-message.js +729 -0
- package/dist/tools/cmos/cmos-message.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-add.d.ts +186 -0
- package/dist/tools/cmos/cmos-mission-add.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-add.js +328 -0
- package/dist/tools/cmos/cmos-mission-add.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-block.d.ts +104 -0
- package/dist/tools/cmos/cmos-mission-block.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-block.js +248 -0
- package/dist/tools/cmos/cmos-mission-block.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-complete.d.ts +127 -0
- package/dist/tools/cmos/cmos-mission-complete.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-complete.js +529 -0
- package/dist/tools/cmos/cmos-mission-complete.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-defer.d.ts +41 -0
- package/dist/tools/cmos/cmos-mission-defer.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-defer.js +169 -0
- package/dist/tools/cmos/cmos-mission-defer.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-depends.d.ts +98 -0
- package/dist/tools/cmos/cmos-mission-depends.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-depends.js +221 -0
- package/dist/tools/cmos/cmos-mission-depends.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-drop.d.ts +36 -0
- package/dist/tools/cmos/cmos-mission-drop.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-drop.js +139 -0
- package/dist/tools/cmos/cmos-mission-drop.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-list.d.ts +127 -0
- package/dist/tools/cmos/cmos-mission-list.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-list.js +277 -0
- package/dist/tools/cmos/cmos-mission-list.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-show.d.ts +115 -0
- package/dist/tools/cmos/cmos-mission-show.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-show.js +278 -0
- package/dist/tools/cmos/cmos-mission-show.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-start.d.ts +94 -0
- package/dist/tools/cmos/cmos-mission-start.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-start.js +347 -0
- package/dist/tools/cmos/cmos-mission-start.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-status.d.ts +152 -0
- package/dist/tools/cmos/cmos-mission-status.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-status.js +420 -0
- package/dist/tools/cmos/cmos-mission-status.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-transition.d.ts +126 -0
- package/dist/tools/cmos/cmos-mission-transition.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-transition.js +222 -0
- package/dist/tools/cmos/cmos-mission-transition.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-unblock.d.ts +102 -0
- package/dist/tools/cmos/cmos-mission-unblock.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-unblock.js +242 -0
- package/dist/tools/cmos/cmos-mission-unblock.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-undepends.d.ts +39 -0
- package/dist/tools/cmos/cmos-mission-undepends.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-undepends.js +94 -0
- package/dist/tools/cmos/cmos-mission-undepends.js.map +1 -0
- package/dist/tools/cmos/cmos-mission-update.d.ts +225 -0
- package/dist/tools/cmos/cmos-mission-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission-update.js +350 -0
- package/dist/tools/cmos/cmos-mission-update.js.map +1 -0
- package/dist/tools/cmos/cmos-mission.d.ts +300 -0
- package/dist/tools/cmos/cmos-mission.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-mission.js +318 -0
- package/dist/tools/cmos/cmos-mission.js.map +1 -0
- package/dist/tools/cmos/cmos-next-steps.d.ts +57 -0
- package/dist/tools/cmos/cmos-next-steps.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-next-steps.js +154 -0
- package/dist/tools/cmos/cmos-next-steps.js.map +1 -0
- package/dist/tools/cmos/cmos-project-init.d.ts +283 -0
- package/dist/tools/cmos/cmos-project-init.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-init.js +502 -0
- package/dist/tools/cmos/cmos-project-init.js.map +1 -0
- package/dist/tools/cmos/cmos-project-list.d.ts +79 -0
- package/dist/tools/cmos/cmos-project-list.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-list.js +150 -0
- package/dist/tools/cmos/cmos-project-list.js.map +1 -0
- package/dist/tools/cmos/cmos-project-register.d.ts +90 -0
- package/dist/tools/cmos/cmos-project-register.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-register.js +199 -0
- package/dist/tools/cmos/cmos-project-register.js.map +1 -0
- package/dist/tools/cmos/cmos-project-sweep.d.ts +34 -0
- package/dist/tools/cmos/cmos-project-sweep.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-sweep.js +210 -0
- package/dist/tools/cmos/cmos-project-sweep.js.map +1 -0
- package/dist/tools/cmos/cmos-project-unregister.d.ts +66 -0
- package/dist/tools/cmos/cmos-project-unregister.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-unregister.js +108 -0
- package/dist/tools/cmos/cmos-project-unregister.js.map +1 -0
- package/dist/tools/cmos/cmos-project-update.d.ts +21 -0
- package/dist/tools/cmos/cmos-project-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-update.js +46 -0
- package/dist/tools/cmos/cmos-project-update.js.map +1 -0
- package/dist/tools/cmos/cmos-project-validate.d.ts +89 -0
- package/dist/tools/cmos/cmos-project-validate.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project-validate.js +155 -0
- package/dist/tools/cmos/cmos-project-validate.js.map +1 -0
- package/dist/tools/cmos/cmos-project.d.ts +225 -0
- package/dist/tools/cmos/cmos-project.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-project.js +255 -0
- package/dist/tools/cmos/cmos-project.js.map +1 -0
- package/dist/tools/cmos/cmos-resolve-references.d.ts +145 -0
- package/dist/tools/cmos/cmos-resolve-references.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-resolve-references.js +273 -0
- package/dist/tools/cmos/cmos-resolve-references.js.map +1 -0
- package/dist/tools/cmos/cmos-session-capture.d.ts +228 -0
- package/dist/tools/cmos/cmos-session-capture.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-session-capture.js +552 -0
- package/dist/tools/cmos/cmos-session-capture.js.map +1 -0
- package/dist/tools/cmos/cmos-session-complete.d.ts +201 -0
- package/dist/tools/cmos/cmos-session-complete.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-session-complete.js +816 -0
- package/dist/tools/cmos/cmos-session-complete.js.map +1 -0
- package/dist/tools/cmos/cmos-session-list.d.ts +150 -0
- package/dist/tools/cmos/cmos-session-list.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-session-list.js +234 -0
- package/dist/tools/cmos/cmos-session-list.js.map +1 -0
- package/dist/tools/cmos/cmos-session-search.d.ts +176 -0
- package/dist/tools/cmos/cmos-session-search.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-session-search.js +374 -0
- package/dist/tools/cmos/cmos-session-search.js.map +1 -0
- package/dist/tools/cmos/cmos-session-start.d.ts +136 -0
- package/dist/tools/cmos/cmos-session-start.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-session-start.js +305 -0
- package/dist/tools/cmos/cmos-session-start.js.map +1 -0
- package/dist/tools/cmos/cmos-session.d.ts +223 -0
- package/dist/tools/cmos/cmos-session.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-session.js +255 -0
- package/dist/tools/cmos/cmos-session.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-add.d.ts +114 -0
- package/dist/tools/cmos/cmos-sprint-add.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-add.js +164 -0
- package/dist/tools/cmos/cmos-sprint-add.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-analytics.d.ts +66 -0
- package/dist/tools/cmos/cmos-sprint-analytics.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-analytics.js +289 -0
- package/dist/tools/cmos/cmos-sprint-analytics.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-carry-forward.d.ts +55 -0
- package/dist/tools/cmos/cmos-sprint-carry-forward.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-carry-forward.js +271 -0
- package/dist/tools/cmos/cmos-sprint-carry-forward.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-complete.d.ts +155 -0
- package/dist/tools/cmos/cmos-sprint-complete.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-complete.js +768 -0
- package/dist/tools/cmos/cmos-sprint-complete.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-list.d.ts +115 -0
- package/dist/tools/cmos/cmos-sprint-list.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-list.js +225 -0
- package/dist/tools/cmos/cmos-sprint-list.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-retro.d.ts +114 -0
- package/dist/tools/cmos/cmos-sprint-retro.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-retro.js +331 -0
- package/dist/tools/cmos/cmos-sprint-retro.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-show.d.ts +109 -0
- package/dist/tools/cmos/cmos-sprint-show.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-show.js +238 -0
- package/dist/tools/cmos/cmos-sprint-show.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint-update.d.ts +150 -0
- package/dist/tools/cmos/cmos-sprint-update.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint-update.js +191 -0
- package/dist/tools/cmos/cmos-sprint-update.js.map +1 -0
- package/dist/tools/cmos/cmos-sprint.d.ts +219 -0
- package/dist/tools/cmos/cmos-sprint.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-sprint.js +304 -0
- package/dist/tools/cmos/cmos-sprint.js.map +1 -0
- package/dist/tools/cmos/cmos-status.d.ts +69 -0
- package/dist/tools/cmos/cmos-status.d.ts.map +1 -0
- package/dist/tools/cmos/cmos-status.js +136 -0
- package/dist/tools/cmos/cmos-status.js.map +1 -0
- package/dist/tools/cmos/context-freshness.d.ts +67 -0
- package/dist/tools/cmos/context-freshness.d.ts.map +1 -0
- package/dist/tools/cmos/context-freshness.js +352 -0
- package/dist/tools/cmos/context-freshness.js.map +1 -0
- package/dist/tools/cmos/context-retention.d.ts +58 -0
- package/dist/tools/cmos/context-retention.d.ts.map +1 -0
- package/dist/tools/cmos/context-retention.js +507 -0
- package/dist/tools/cmos/context-retention.js.map +1 -0
- package/dist/tools/cmos/dashboard-client.d.ts +513 -0
- package/dist/tools/cmos/dashboard-client.d.ts.map +1 -0
- package/dist/tools/cmos/dashboard-client.js +800 -0
- package/dist/tools/cmos/dashboard-client.js.map +1 -0
- package/dist/tools/cmos/decision-memory.d.ts +39 -0
- package/dist/tools/cmos/decision-memory.d.ts.map +1 -0
- package/dist/tools/cmos/decision-memory.js +263 -0
- package/dist/tools/cmos/decision-memory.js.map +1 -0
- package/dist/tools/cmos/errors.d.ts +113 -0
- package/dist/tools/cmos/errors.d.ts.map +1 -0
- package/dist/tools/cmos/errors.js +315 -0
- package/dist/tools/cmos/errors.js.map +1 -0
- package/dist/tools/cmos/fts5-retriever.d.ts +101 -0
- package/dist/tools/cmos/fts5-retriever.d.ts.map +1 -0
- package/dist/tools/cmos/fts5-retriever.js +210 -0
- package/dist/tools/cmos/fts5-retriever.js.map +1 -0
- package/dist/tools/cmos/index.d.ts +1238 -0
- package/dist/tools/cmos/index.d.ts.map +1 -0
- package/dist/tools/cmos/index.js +359 -0
- package/dist/tools/cmos/index.js.map +1 -0
- package/dist/tools/cmos/learning-reaffirm.d.ts +74 -0
- package/dist/tools/cmos/learning-reaffirm.d.ts.map +1 -0
- package/dist/tools/cmos/learning-reaffirm.js +145 -0
- package/dist/tools/cmos/learning-reaffirm.js.map +1 -0
- package/dist/tools/cmos/orphan-detection.d.ts +55 -0
- package/dist/tools/cmos/orphan-detection.d.ts.map +1 -0
- package/dist/tools/cmos/orphan-detection.js +139 -0
- package/dist/tools/cmos/orphan-detection.js.map +1 -0
- package/dist/tools/cmos/owner-resolution.d.ts +21 -0
- package/dist/tools/cmos/owner-resolution.d.ts.map +1 -0
- package/dist/tools/cmos/owner-resolution.js +162 -0
- package/dist/tools/cmos/owner-resolution.js.map +1 -0
- package/dist/tools/cmos/project-identity.d.ts +112 -0
- package/dist/tools/cmos/project-identity.d.ts.map +1 -0
- package/dist/tools/cmos/project-identity.js +261 -0
- package/dist/tools/cmos/project-identity.js.map +1 -0
- package/dist/tools/cmos/relevance-surfacing.d.ts +40 -0
- package/dist/tools/cmos/relevance-surfacing.d.ts.map +1 -0
- package/dist/tools/cmos/relevance-surfacing.js +153 -0
- package/dist/tools/cmos/relevance-surfacing.js.map +1 -0
- package/dist/tools/cmos/schema-migrations.d.ts +157 -0
- package/dist/tools/cmos/schema-migrations.d.ts.map +1 -0
- package/dist/tools/cmos/schema-migrations.js +678 -0
- package/dist/tools/cmos/schema-migrations.js.map +1 -0
- package/dist/tools/cmos/schema.d.ts +76 -0
- package/dist/tools/cmos/schema.d.ts.map +1 -0
- package/dist/tools/cmos/schema.js +462 -0
- package/dist/tools/cmos/schema.js.map +1 -0
- package/dist/tools/cmos/sender-identity.d.ts +87 -0
- package/dist/tools/cmos/sender-identity.d.ts.map +1 -0
- package/dist/tools/cmos/sender-identity.js +207 -0
- package/dist/tools/cmos/sender-identity.js.map +1 -0
- package/dist/tools/cmos/staleness-detection.d.ts +128 -0
- package/dist/tools/cmos/staleness-detection.d.ts.map +1 -0
- package/dist/tools/cmos/staleness-detection.js +381 -0
- package/dist/tools/cmos/staleness-detection.js.map +1 -0
- package/dist/tools/cmos/supersession-detection.d.ts +46 -0
- package/dist/tools/cmos/supersession-detection.d.ts.map +1 -0
- package/dist/tools/cmos/supersession-detection.js +235 -0
- package/dist/tools/cmos/supersession-detection.js.map +1 -0
- package/dist/tools/cmos/sync-event-payloads.d.ts +576 -0
- package/dist/tools/cmos/sync-event-payloads.d.ts.map +1 -0
- package/dist/tools/cmos/sync-event-payloads.js +521 -0
- package/dist/tools/cmos/sync-event-payloads.js.map +1 -0
- package/dist/tools/cmos/sync-health-check.d.ts +43 -0
- package/dist/tools/cmos/sync-health-check.d.ts.map +1 -0
- package/dist/tools/cmos/sync-health-check.js +93 -0
- package/dist/tools/cmos/sync-health-check.js.map +1 -0
- package/dist/tools/cmos/sync-hooks.d.ts +82 -0
- package/dist/tools/cmos/sync-hooks.d.ts.map +1 -0
- package/dist/tools/cmos/sync-hooks.js +162 -0
- package/dist/tools/cmos/sync-hooks.js.map +1 -0
- package/dist/tools/cmos/sync-pusher.d.ts +128 -0
- package/dist/tools/cmos/sync-pusher.d.ts.map +1 -0
- package/dist/tools/cmos/sync-pusher.js +248 -0
- package/dist/tools/cmos/sync-pusher.js.map +1 -0
- package/dist/tools/cmos/sync-queue.d.ts +87 -0
- package/dist/tools/cmos/sync-queue.d.ts.map +1 -0
- package/dist/tools/cmos/sync-queue.js +208 -0
- package/dist/tools/cmos/sync-queue.js.map +1 -0
- package/dist/tools/cmos/tier-config.d.ts +32 -0
- package/dist/tools/cmos/tier-config.d.ts.map +1 -0
- package/dist/tools/cmos/tier-config.js +123 -0
- package/dist/tools/cmos/tier-config.js.map +1 -0
- package/dist/tools/cmos/types.d.ts +164 -0
- package/dist/tools/cmos/types.d.ts.map +1 -0
- package/dist/tools/cmos/types.js +11 -0
- package/dist/tools/cmos/types.js.map +1 -0
- package/dist/tools/combine-packs.d.ts +194 -0
- package/dist/tools/combine-packs.d.ts.map +1 -0
- package/dist/tools/combine-packs.js +283 -0
- package/dist/tools/combine-packs.js.map +1 -0
- package/dist/tools/create-mission.d.ts +192 -0
- package/dist/tools/create-mission.d.ts.map +1 -0
- package/dist/tools/create-mission.js +453 -0
- package/dist/tools/create-mission.js.map +1 -0
- package/dist/tools/export-template.d.ts +175 -0
- package/dist/tools/export-template.d.ts.map +1 -0
- package/dist/tools/export-template.js +212 -0
- package/dist/tools/export-template.js.map +1 -0
- package/dist/tools/extract-template.d.ts +106 -0
- package/dist/tools/extract-template.d.ts.map +1 -0
- package/dist/tools/extract-template.js +322 -0
- package/dist/tools/extract-template.js.map +1 -0
- package/dist/tools/formatters/mission-protocol-json.d.ts +122 -0
- package/dist/tools/formatters/mission-protocol-json.d.ts.map +1 -0
- package/dist/tools/formatters/mission-protocol-json.js +155 -0
- package/dist/tools/formatters/mission-protocol-json.js.map +1 -0
- package/dist/tools/import-template.d.ts +170 -0
- package/dist/tools/import-template.d.ts.map +1 -0
- package/dist/tools/import-template.js +203 -0
- package/dist/tools/import-template.js.map +1 -0
- package/dist/tools/list-domains.d.ts +70 -0
- package/dist/tools/list-domains.d.ts.map +1 -0
- package/dist/tools/list-domains.js +110 -0
- package/dist/tools/list-domains.js.map +1 -0
- package/dist/tools/optimize-tokens.d.ts +190 -0
- package/dist/tools/optimize-tokens.d.ts.map +1 -0
- package/dist/tools/optimize-tokens.js +193 -0
- package/dist/tools/optimize-tokens.js.map +1 -0
- package/dist/tools/score-quality.d.ts +76 -0
- package/dist/tools/score-quality.d.ts.map +1 -0
- package/dist/tools/score-quality.js +191 -0
- package/dist/tools/score-quality.js.map +1 -0
- package/dist/tools/split-mission.d.ts +181 -0
- package/dist/tools/split-mission.d.ts.map +1 -0
- package/dist/tools/split-mission.js +416 -0
- package/dist/tools/split-mission.js.map +1 -0
- package/dist/tools/suggest-splits.d.ts +162 -0
- package/dist/tools/suggest-splits.d.ts.map +1 -0
- package/dist/tools/suggest-splits.js +344 -0
- package/dist/tools/suggest-splits.js.map +1 -0
- package/dist/tools/tool-execution.d.ts +4 -0
- package/dist/tools/tool-execution.d.ts.map +1 -0
- package/dist/tools/tool-execution.js +3 -0
- package/dist/tools/tool-execution.js.map +1 -0
- package/dist/tools/version-template.d.ts +515 -0
- package/dist/tools/version-template.d.ts.map +1 -0
- package/dist/tools/version-template.js +338 -0
- package/dist/tools/version-template.js.map +1 -0
- package/dist/types/errors.d.ts +19 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +52 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/mission-types.d.ts +8 -0
- package/dist/types/mission-types.d.ts.map +1 -0
- package/dist/types/mission-types.js +12 -0
- package/dist/types/mission-types.js.map +1 -0
- package/dist/types/registry.d.ts +55 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/registry.js +10 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types/schemas.d.ts +25 -0
- package/dist/types/schemas.d.ts.map +1 -0
- package/dist/types/schemas.js +6 -0
- package/dist/types/schemas.js.map +1 -0
- package/dist/types/tools.d.ts +22 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +10 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/utils/abort.d.ts +16 -0
- package/dist/utils/abort.d.ts.map +1 -0
- package/dist/utils/abort.js +89 -0
- package/dist/utils/abort.js.map +1 -0
- package/dist/utils/fs.d.ts +14 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +114 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/workspace-io.d.ts +18 -0
- package/dist/utils/workspace-io.d.ts.map +1 -0
- package/dist/utils/workspace-io.js +40 -0
- package/dist/utils/workspace-io.js.map +1 -0
- package/dist/validation/common.d.ts +21 -0
- package/dist/validation/common.d.ts.map +1 -0
- package/dist/validation/common.js +241 -0
- package/dist/validation/common.js.map +1 -0
- package/dist/validation/errors.d.ts +21 -0
- package/dist/validation/errors.d.ts.map +1 -0
- package/dist/validation/errors.js +122 -0
- package/dist/validation/errors.js.map +1 -0
- package/dist/validation/middleware.d.ts +6 -0
- package/dist/validation/middleware.d.ts.map +1 -0
- package/dist/validation/middleware.js +26 -0
- package/dist/validation/middleware.js.map +1 -0
- package/dist/validation/schemas/config-schema.d.ts +25 -0
- package/dist/validation/schemas/config-schema.d.ts.map +1 -0
- package/dist/validation/schemas/config-schema.js +22 -0
- package/dist/validation/schemas/config-schema.js.map +1 -0
- package/dist/validation/schemas/domain-schema.d.ts +129 -0
- package/dist/validation/schemas/domain-schema.d.ts.map +1 -0
- package/dist/validation/schemas/domain-schema.js +28 -0
- package/dist/validation/schemas/domain-schema.js.map +1 -0
- package/dist/validation/schemas/file-path-schema.d.ts +10 -0
- package/dist/validation/schemas/file-path-schema.d.ts.map +1 -0
- package/dist/validation/schemas/file-path-schema.js +29 -0
- package/dist/validation/schemas/file-path-schema.js.map +1 -0
- package/dist/validation/schemas/mission-schema.d.ts +65 -0
- package/dist/validation/schemas/mission-schema.d.ts.map +1 -0
- package/dist/validation/schemas/mission-schema.js +24 -0
- package/dist/validation/schemas/mission-schema.js.map +1 -0
- package/dist/validation/schemas/template-schema.d.ts +364 -0
- package/dist/validation/schemas/template-schema.d.ts.map +1 -0
- package/dist/validation/schemas/template-schema.js +64 -0
- package/dist/validation/schemas/template-schema.js.map +1 -0
- package/dist/versioning/migration-engine.d.ts +82 -0
- package/dist/versioning/migration-engine.d.ts.map +1 -0
- package/dist/versioning/migration-engine.js +352 -0
- package/dist/versioning/migration-engine.js.map +1 -0
- package/dist/versioning/types.d.ts +236 -0
- package/dist/versioning/types.d.ts.map +1 -0
- package/dist/versioning/types.js +57 -0
- package/dist/versioning/types.js.map +1 -0
- package/dist/versioning/version-manager.d.ts +76 -0
- package/dist/versioning/version-manager.d.ts.map +1 -0
- package/dist/versioning/version-manager.js +386 -0
- package/dist/versioning/version-manager.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge strategies for pack combination
|
|
3
|
+
*
|
|
4
|
+
* Provides different strategies for merging domain packs:
|
|
5
|
+
* - Deep Merge: Recursively merge objects and concatenate arrays
|
|
6
|
+
* - Override: Later packs completely override earlier packs
|
|
7
|
+
* - Selective: User controls which fields merge vs override
|
|
8
|
+
*
|
|
9
|
+
* @module combination/merge-strategies
|
|
10
|
+
*/
|
|
11
|
+
import { CombinationStrategy, CombinationOptions } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* MergeStrategy interface
|
|
14
|
+
* All merge strategies implement this interface
|
|
15
|
+
*/
|
|
16
|
+
export interface IMergeStrategy {
|
|
17
|
+
/**
|
|
18
|
+
* Merge multiple templates according to the strategy
|
|
19
|
+
*
|
|
20
|
+
* @param templates - Array of templates to merge (order matters)
|
|
21
|
+
* @returns Merged template
|
|
22
|
+
*/
|
|
23
|
+
merge(templates: Record<string, unknown>[]): Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Deep Merge Strategy
|
|
27
|
+
*
|
|
28
|
+
* Recursively merges objects and concatenates arrays.
|
|
29
|
+
* Later templates override/extend earlier ones.
|
|
30
|
+
*/
|
|
31
|
+
export declare class DeepMergeStrategy implements IMergeStrategy {
|
|
32
|
+
private merger;
|
|
33
|
+
constructor();
|
|
34
|
+
merge(templates: Record<string, unknown>[]): Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Override Strategy
|
|
38
|
+
*
|
|
39
|
+
* Each subsequent template completely replaces the previous one.
|
|
40
|
+
* Only the last template's values are used.
|
|
41
|
+
*/
|
|
42
|
+
export declare class OverrideStrategy implements IMergeStrategy {
|
|
43
|
+
merge(templates: Record<string, unknown>[]): Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Selective Merge Strategy
|
|
47
|
+
*
|
|
48
|
+
* Allows fine-grained control over which fields are merged vs overridden.
|
|
49
|
+
* Uses path patterns to determine behavior.
|
|
50
|
+
*/
|
|
51
|
+
export declare class SelectiveMergeStrategy implements IMergeStrategy {
|
|
52
|
+
private merger;
|
|
53
|
+
private overridePaths;
|
|
54
|
+
private mergePaths;
|
|
55
|
+
constructor(options: CombinationOptions);
|
|
56
|
+
merge(templates: Record<string, unknown>[]): Record<string, unknown>;
|
|
57
|
+
/**
|
|
58
|
+
* Selectively merge two objects based on path configuration
|
|
59
|
+
*/
|
|
60
|
+
private mergeSelectively;
|
|
61
|
+
/**
|
|
62
|
+
* Check if a path should use override strategy
|
|
63
|
+
*/
|
|
64
|
+
private shouldOverride;
|
|
65
|
+
/**
|
|
66
|
+
* Check if a path should use merge strategy
|
|
67
|
+
*/
|
|
68
|
+
private shouldMerge;
|
|
69
|
+
/**
|
|
70
|
+
* Simple wildcard pattern matching
|
|
71
|
+
* Supports "*" as wildcard for any segment
|
|
72
|
+
*/
|
|
73
|
+
private matchesPattern;
|
|
74
|
+
/**
|
|
75
|
+
* Type guard for plain objects
|
|
76
|
+
*/
|
|
77
|
+
private isObject;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Strategy Factory
|
|
81
|
+
*
|
|
82
|
+
* Creates the appropriate merge strategy based on configuration
|
|
83
|
+
*/
|
|
84
|
+
export declare class MergeStrategyFactory {
|
|
85
|
+
static create(strategy: CombinationStrategy, options?: CombinationOptions): IMergeStrategy;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=merge-strategies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-strategies.d.ts","sourceRoot":"","sources":["../../src/combination/merge-strategies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtE;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,MAAM,CAAgB;;IAM9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAoBrE;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,cAAc;IACrD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQrE;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,UAAU,CAAc;gBAEpB,OAAO,EAAE,kBAAkB;IAMvC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoBpE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB;AAED;;;;GAIG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc;CAkB3F"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Merge strategies for pack combination
|
|
4
|
+
*
|
|
5
|
+
* Provides different strategies for merging domain packs:
|
|
6
|
+
* - Deep Merge: Recursively merge objects and concatenate arrays
|
|
7
|
+
* - Override: Later packs completely override earlier packs
|
|
8
|
+
* - Selective: User controls which fields merge vs override
|
|
9
|
+
*
|
|
10
|
+
* @module combination/merge-strategies
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.MergeStrategyFactory = exports.SelectiveMergeStrategy = exports.OverrideStrategy = exports.DeepMergeStrategy = void 0;
|
|
14
|
+
const deep_merge_1 = require("../merge/deep-merge");
|
|
15
|
+
/**
|
|
16
|
+
* Deep Merge Strategy
|
|
17
|
+
*
|
|
18
|
+
* Recursively merges objects and concatenates arrays.
|
|
19
|
+
* Later templates override/extend earlier ones.
|
|
20
|
+
*/
|
|
21
|
+
class DeepMergeStrategy {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.merger = new deep_merge_1.MissionMerger();
|
|
24
|
+
}
|
|
25
|
+
merge(templates) {
|
|
26
|
+
if (templates.length === 0) {
|
|
27
|
+
return {};
|
|
28
|
+
}
|
|
29
|
+
if (templates.length === 1) {
|
|
30
|
+
return { ...templates[0] };
|
|
31
|
+
}
|
|
32
|
+
// Merge templates left to right
|
|
33
|
+
let result = { ...templates[0] };
|
|
34
|
+
for (let i = 1; i < templates.length; i++) {
|
|
35
|
+
result = this.merger.merge(result, templates[i], {
|
|
36
|
+
arrayStrategy: 'concat',
|
|
37
|
+
listStrategy: 'append',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.DeepMergeStrategy = DeepMergeStrategy;
|
|
44
|
+
/**
|
|
45
|
+
* Override Strategy
|
|
46
|
+
*
|
|
47
|
+
* Each subsequent template completely replaces the previous one.
|
|
48
|
+
* Only the last template's values are used.
|
|
49
|
+
*/
|
|
50
|
+
class OverrideStrategy {
|
|
51
|
+
merge(templates) {
|
|
52
|
+
if (templates.length === 0) {
|
|
53
|
+
return {};
|
|
54
|
+
}
|
|
55
|
+
// Return a copy of the last template
|
|
56
|
+
return { ...templates[templates.length - 1] };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.OverrideStrategy = OverrideStrategy;
|
|
60
|
+
/**
|
|
61
|
+
* Selective Merge Strategy
|
|
62
|
+
*
|
|
63
|
+
* Allows fine-grained control over which fields are merged vs overridden.
|
|
64
|
+
* Uses path patterns to determine behavior.
|
|
65
|
+
*/
|
|
66
|
+
class SelectiveMergeStrategy {
|
|
67
|
+
constructor(options) {
|
|
68
|
+
this.merger = new deep_merge_1.MissionMerger();
|
|
69
|
+
this.overridePaths = new Set(options.overridePaths || []);
|
|
70
|
+
this.mergePaths = new Set(options.mergePaths || []);
|
|
71
|
+
}
|
|
72
|
+
merge(templates) {
|
|
73
|
+
if (templates.length === 0) {
|
|
74
|
+
return {};
|
|
75
|
+
}
|
|
76
|
+
if (templates.length === 1) {
|
|
77
|
+
return { ...templates[0] };
|
|
78
|
+
}
|
|
79
|
+
// Start with first template
|
|
80
|
+
let result = { ...templates[0] };
|
|
81
|
+
// Merge each subsequent template
|
|
82
|
+
for (let i = 1; i < templates.length; i++) {
|
|
83
|
+
result = this.mergeSelectively(result, templates[i]);
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Selectively merge two objects based on path configuration
|
|
89
|
+
*/
|
|
90
|
+
mergeSelectively(base, extension, currentPath = '') {
|
|
91
|
+
const result = { ...base };
|
|
92
|
+
for (const [key, value] of Object.entries(extension)) {
|
|
93
|
+
const fieldPath = currentPath ? `${currentPath}.${key}` : key;
|
|
94
|
+
// Check if this path should be overridden
|
|
95
|
+
if (this.shouldOverride(fieldPath)) {
|
|
96
|
+
result[key] = value;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Check if this path should be merged
|
|
100
|
+
if (this.shouldMerge(fieldPath)) {
|
|
101
|
+
const baseValue = base[key];
|
|
102
|
+
// Merge arrays by concatenation
|
|
103
|
+
if (Array.isArray(baseValue) && Array.isArray(value)) {
|
|
104
|
+
result[key] = [...baseValue, ...value];
|
|
105
|
+
}
|
|
106
|
+
// Merge objects recursively
|
|
107
|
+
else if (this.isObject(baseValue) && this.isObject(value)) {
|
|
108
|
+
result[key] = this.mergeSelectively(baseValue, value, fieldPath);
|
|
109
|
+
}
|
|
110
|
+
// Scalars: extension overrides
|
|
111
|
+
else {
|
|
112
|
+
result[key] = value;
|
|
113
|
+
}
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
// Default behavior: deep merge
|
|
117
|
+
const baseValue = base[key];
|
|
118
|
+
if (baseValue === undefined) {
|
|
119
|
+
result[key] = value;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
result[key] = this.merger.merge(baseValue, value);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Check if a path should use override strategy
|
|
129
|
+
*/
|
|
130
|
+
shouldOverride(path) {
|
|
131
|
+
// Exact match or wildcard match
|
|
132
|
+
if (this.overridePaths.has(path)) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
// Check wildcard patterns (e.g., "spec.resources.*")
|
|
136
|
+
for (const pattern of this.overridePaths) {
|
|
137
|
+
if (this.matchesPattern(path, pattern)) {
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Check if a path should use merge strategy
|
|
145
|
+
*/
|
|
146
|
+
shouldMerge(path) {
|
|
147
|
+
// Exact match or wildcard match
|
|
148
|
+
if (this.mergePaths.has(path)) {
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
// Check wildcard patterns
|
|
152
|
+
for (const pattern of this.mergePaths) {
|
|
153
|
+
if (this.matchesPattern(path, pattern)) {
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return false;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Simple wildcard pattern matching
|
|
161
|
+
* Supports "*" as wildcard for any segment
|
|
162
|
+
*/
|
|
163
|
+
matchesPattern(path, pattern) {
|
|
164
|
+
if (pattern === '*') {
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
const pathParts = path.split('.');
|
|
168
|
+
const patternParts = pattern.split('.');
|
|
169
|
+
if (pathParts.length !== patternParts.length) {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
for (let i = 0; i < patternParts.length; i++) {
|
|
173
|
+
if (patternParts[i] !== '*' && patternParts[i] !== pathParts[i]) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Type guard for plain objects
|
|
181
|
+
*/
|
|
182
|
+
isObject(value) {
|
|
183
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
exports.SelectiveMergeStrategy = SelectiveMergeStrategy;
|
|
187
|
+
/**
|
|
188
|
+
* Strategy Factory
|
|
189
|
+
*
|
|
190
|
+
* Creates the appropriate merge strategy based on configuration
|
|
191
|
+
*/
|
|
192
|
+
class MergeStrategyFactory {
|
|
193
|
+
static create(strategy, options) {
|
|
194
|
+
switch (strategy) {
|
|
195
|
+
case 'deep-merge':
|
|
196
|
+
return new DeepMergeStrategy();
|
|
197
|
+
case 'override':
|
|
198
|
+
return new OverrideStrategy();
|
|
199
|
+
case 'selective':
|
|
200
|
+
if (!options) {
|
|
201
|
+
throw new Error('Selective merge strategy requires options with merge/override paths');
|
|
202
|
+
}
|
|
203
|
+
return new SelectiveMergeStrategy(options);
|
|
204
|
+
default:
|
|
205
|
+
throw new Error(`Unknown merge strategy: ${strategy}`);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.MergeStrategyFactory = MergeStrategyFactory;
|
|
210
|
+
//# sourceMappingURL=merge-strategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-strategies.js","sourceRoot":"","sources":["../../src/combination/merge-strategies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pack Combiner - Combines multiple domain packs into a single cohesive pack
|
|
3
|
+
*
|
|
4
|
+
* Supports multiple merge strategies and handles dependency resolution.
|
|
5
|
+
* Integrates with DependencyResolver for correct load order and circular
|
|
6
|
+
* dependency detection.
|
|
7
|
+
*
|
|
8
|
+
* Algorithm:
|
|
9
|
+
* 1. Resolve dependencies and determine load order
|
|
10
|
+
* 2. Load all required packs in dependency order
|
|
11
|
+
* 3. Merge packs using selected strategy
|
|
12
|
+
* 4. Validate combined result
|
|
13
|
+
* 5. Return combined pack
|
|
14
|
+
*
|
|
15
|
+
* @module combination/pack-combiner
|
|
16
|
+
*/
|
|
17
|
+
import { DomainPack } from '../domains/types';
|
|
18
|
+
import { CombinationOptions, CombinationResult, ResolvedDependencies } from './types';
|
|
19
|
+
/**
|
|
20
|
+
* PackCombiner
|
|
21
|
+
*
|
|
22
|
+
* Combines multiple domain packs with dependency resolution and merge strategies
|
|
23
|
+
*/
|
|
24
|
+
export declare class PackCombiner {
|
|
25
|
+
private resolver;
|
|
26
|
+
constructor();
|
|
27
|
+
/**
|
|
28
|
+
* Combine multiple domain packs into a single pack
|
|
29
|
+
*
|
|
30
|
+
* @param packs - Array of packs to combine
|
|
31
|
+
* @param availablePacks - All available packs (for dependency resolution)
|
|
32
|
+
* @param options - Combination options
|
|
33
|
+
* @returns Combination result
|
|
34
|
+
*/
|
|
35
|
+
combine(packs: DomainPack[], availablePacks: DomainPack[], options?: CombinationOptions): CombinationResult;
|
|
36
|
+
/**
|
|
37
|
+
* Merge packs using the provided strategy
|
|
38
|
+
*/
|
|
39
|
+
private mergePacks;
|
|
40
|
+
/**
|
|
41
|
+
* Merge dependencies from all packs, removing duplicates
|
|
42
|
+
*/
|
|
43
|
+
private mergeDependencies;
|
|
44
|
+
/**
|
|
45
|
+
* Validate a combined pack
|
|
46
|
+
*/
|
|
47
|
+
private validateCombinedPack;
|
|
48
|
+
/**
|
|
49
|
+
* Combine packs by name, looking them up in available packs
|
|
50
|
+
*
|
|
51
|
+
* Convenience method that accepts pack names instead of pack objects
|
|
52
|
+
*
|
|
53
|
+
* @param packNames - Names of packs to combine
|
|
54
|
+
* @param availablePacks - All available packs
|
|
55
|
+
* @param options - Combination options
|
|
56
|
+
* @returns Combination result
|
|
57
|
+
*/
|
|
58
|
+
combineByName(packNames: string[], availablePacks: DomainPack[], options?: CombinationOptions): CombinationResult;
|
|
59
|
+
/**
|
|
60
|
+
* Preview combination without actually performing it
|
|
61
|
+
*
|
|
62
|
+
* Returns what the combination would produce without creating the combined pack
|
|
63
|
+
*
|
|
64
|
+
* @param packs - Packs to preview
|
|
65
|
+
* @param availablePacks - Available packs
|
|
66
|
+
* @param options - Combination options
|
|
67
|
+
* @returns Preview result with load order and validation
|
|
68
|
+
*/
|
|
69
|
+
preview(packs: DomainPack[], availablePacks: DomainPack[], _options?: CombinationOptions): {
|
|
70
|
+
loadOrder: string[];
|
|
71
|
+
dependencies: ResolvedDependencies;
|
|
72
|
+
warnings: string[];
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Convenience function for combining packs
|
|
77
|
+
*
|
|
78
|
+
* @param packs - Packs to combine
|
|
79
|
+
* @param availablePacks - Available packs for dependency resolution
|
|
80
|
+
* @param options - Combination options
|
|
81
|
+
* @returns Combination result
|
|
82
|
+
*/
|
|
83
|
+
export declare function combinePacks(packs: DomainPack[], availablePacks: DomainPack[], options?: CombinationOptions): CombinationResult;
|
|
84
|
+
//# sourceMappingURL=pack-combiner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-combiner.d.ts","sourceRoot":"","sources":["../../src/combination/pack-combiner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAgB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpG;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAqB;;IAMrC;;;;;;;OAOG;IACH,OAAO,CACL,KAAK,EAAE,UAAU,EAAE,EACnB,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,iBAAiB;IAgGpB;;OAEG;IACH,OAAO,CAAC,UAAU;IA6BlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;;;;;;;;OASG;IACH,aAAa,CACX,SAAS,EAAE,MAAM,EAAE,EACnB,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,iBAAiB;IAyBpB;;;;;;;;;OASG;IACH,OAAO,CACL,KAAK,EAAE,UAAU,EAAE,EACnB,cAAc,EAAE,UAAU,EAAE,EAC5B,QAAQ,CAAC,EAAE,kBAAkB,GAC5B;QACD,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,EAAE,oBAAoB,CAAC;QACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB;CA6BF;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EAAE,EACnB,cAAc,EAAE,UAAU,EAAE,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,iBAAiB,CAGnB"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pack Combiner - Combines multiple domain packs into a single cohesive pack
|
|
4
|
+
*
|
|
5
|
+
* Supports multiple merge strategies and handles dependency resolution.
|
|
6
|
+
* Integrates with DependencyResolver for correct load order and circular
|
|
7
|
+
* dependency detection.
|
|
8
|
+
*
|
|
9
|
+
* Algorithm:
|
|
10
|
+
* 1. Resolve dependencies and determine load order
|
|
11
|
+
* 2. Load all required packs in dependency order
|
|
12
|
+
* 3. Merge packs using selected strategy
|
|
13
|
+
* 4. Validate combined result
|
|
14
|
+
* 5. Return combined pack
|
|
15
|
+
*
|
|
16
|
+
* @module combination/pack-combiner
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.PackCombiner = void 0;
|
|
20
|
+
exports.combinePacks = combinePacks;
|
|
21
|
+
const dependency_resolver_1 = require("./dependency-resolver");
|
|
22
|
+
const merge_strategies_1 = require("./merge-strategies");
|
|
23
|
+
/**
|
|
24
|
+
* PackCombiner
|
|
25
|
+
*
|
|
26
|
+
* Combines multiple domain packs with dependency resolution and merge strategies
|
|
27
|
+
*/
|
|
28
|
+
class PackCombiner {
|
|
29
|
+
constructor() {
|
|
30
|
+
this.resolver = new dependency_resolver_1.DependencyResolver();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Combine multiple domain packs into a single pack
|
|
34
|
+
*
|
|
35
|
+
* @param packs - Array of packs to combine
|
|
36
|
+
* @param availablePacks - All available packs (for dependency resolution)
|
|
37
|
+
* @param options - Combination options
|
|
38
|
+
* @returns Combination result
|
|
39
|
+
*/
|
|
40
|
+
combine(packs, availablePacks, options) {
|
|
41
|
+
const opts = {
|
|
42
|
+
strategy: options?.strategy || 'deep-merge',
|
|
43
|
+
overridePaths: options?.overridePaths || [],
|
|
44
|
+
mergePaths: options?.mergePaths || [],
|
|
45
|
+
validate: options?.validate ?? true,
|
|
46
|
+
resolveDependencies: options?.resolveDependencies ?? true,
|
|
47
|
+
};
|
|
48
|
+
const errors = [];
|
|
49
|
+
const warnings = [];
|
|
50
|
+
// Validate inputs
|
|
51
|
+
if (packs.length === 0) {
|
|
52
|
+
return {
|
|
53
|
+
success: false,
|
|
54
|
+
errors: ['No packs provided for combination'],
|
|
55
|
+
warnings: [],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// Step 1: Resolve dependencies
|
|
59
|
+
let packsToLoad = packs;
|
|
60
|
+
let dependencyResolution;
|
|
61
|
+
if (opts.resolveDependencies) {
|
|
62
|
+
dependencyResolution = this.resolver.resolve(packs, availablePacks);
|
|
63
|
+
if (!dependencyResolution.success) {
|
|
64
|
+
return {
|
|
65
|
+
success: false,
|
|
66
|
+
dependencyResolution,
|
|
67
|
+
errors: dependencyResolution.errors,
|
|
68
|
+
warnings,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// Load packs in dependency order
|
|
72
|
+
const packMap = new Map();
|
|
73
|
+
for (const pack of [...packs, ...availablePacks]) {
|
|
74
|
+
packMap.set(pack.manifest.name, pack);
|
|
75
|
+
}
|
|
76
|
+
packsToLoad = dependencyResolution.loadOrder
|
|
77
|
+
.map((name) => packMap.get(name))
|
|
78
|
+
.filter((p) => p !== undefined);
|
|
79
|
+
if (packsToLoad.length !== dependencyResolution.loadOrder.length) {
|
|
80
|
+
const missing = dependencyResolution.loadOrder.filter((name) => !packMap.has(name));
|
|
81
|
+
errors.push(`Failed to load packs: ${missing.join(', ')}`);
|
|
82
|
+
return {
|
|
83
|
+
success: false,
|
|
84
|
+
dependencyResolution,
|
|
85
|
+
errors,
|
|
86
|
+
warnings,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Step 2: Merge packs using selected strategy
|
|
91
|
+
try {
|
|
92
|
+
const mergeStrategy = merge_strategies_1.MergeStrategyFactory.create(opts.strategy, options);
|
|
93
|
+
const combinedPack = this.mergePacks(packsToLoad, mergeStrategy);
|
|
94
|
+
// Step 3: Validate if requested
|
|
95
|
+
if (opts.validate) {
|
|
96
|
+
const validationResult = this.validateCombinedPack(combinedPack);
|
|
97
|
+
if (!validationResult.valid) {
|
|
98
|
+
errors.push(...validationResult.errors);
|
|
99
|
+
warnings.push(...validationResult.warnings);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
success: errors.length === 0,
|
|
104
|
+
combinedPack,
|
|
105
|
+
dependencyResolution,
|
|
106
|
+
errors,
|
|
107
|
+
warnings,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
if (error instanceof Error) {
|
|
112
|
+
errors.push(`Pack combination failed: ${error.message}`);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
errors.push('Pack combination failed: Unknown error');
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
dependencyResolution,
|
|
120
|
+
errors,
|
|
121
|
+
warnings,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Merge packs using the provided strategy
|
|
127
|
+
*/
|
|
128
|
+
mergePacks(packs, strategy) {
|
|
129
|
+
// Extract templates from all packs
|
|
130
|
+
const templates = packs.map((pack) => pack.template);
|
|
131
|
+
// Merge templates using strategy
|
|
132
|
+
const combinedTemplate = strategy.merge(templates);
|
|
133
|
+
// Combine manifests
|
|
134
|
+
const firstPack = packs[0];
|
|
135
|
+
const packNames = packs.map((p) => p.manifest.name);
|
|
136
|
+
const allDependencies = this.mergeDependencies(packs);
|
|
137
|
+
const combinedManifest = {
|
|
138
|
+
name: `combined-${packNames.join('-')}`,
|
|
139
|
+
version: '1.0.0', // Combined packs get a new version
|
|
140
|
+
displayName: `Combined: ${packs.map((p) => p.manifest.displayName).join(' + ')}`,
|
|
141
|
+
description: `Combined pack from: ${packNames.join(', ')}`,
|
|
142
|
+
author: firstPack.manifest.author || 'System',
|
|
143
|
+
combinedFrom: packNames,
|
|
144
|
+
};
|
|
145
|
+
return {
|
|
146
|
+
manifest: combinedManifest,
|
|
147
|
+
template: combinedTemplate,
|
|
148
|
+
dependencies: allDependencies,
|
|
149
|
+
combinationOrder: packNames,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Merge dependencies from all packs, removing duplicates
|
|
154
|
+
*/
|
|
155
|
+
mergeDependencies(packs) {
|
|
156
|
+
const depMap = new Map();
|
|
157
|
+
for (const pack of packs) {
|
|
158
|
+
if (pack.manifest.dependencies) {
|
|
159
|
+
for (const dep of pack.manifest.dependencies) {
|
|
160
|
+
// Keep the first version encountered (from dependency order)
|
|
161
|
+
if (!depMap.has(dep.name)) {
|
|
162
|
+
depMap.set(dep.name, dep.version);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return Array.from(depMap.entries()).map(([name, version]) => ({
|
|
168
|
+
name,
|
|
169
|
+
version,
|
|
170
|
+
}));
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Validate a combined pack
|
|
174
|
+
*/
|
|
175
|
+
validateCombinedPack(pack) {
|
|
176
|
+
const errors = [];
|
|
177
|
+
const warnings = [];
|
|
178
|
+
// Validate manifest
|
|
179
|
+
if (!pack.manifest.name || pack.manifest.name.trim().length === 0) {
|
|
180
|
+
errors.push('Combined pack name is required');
|
|
181
|
+
}
|
|
182
|
+
if (!pack.manifest.version || pack.manifest.version.trim().length === 0) {
|
|
183
|
+
errors.push('Combined pack version is required');
|
|
184
|
+
}
|
|
185
|
+
if (!pack.manifest.combinedFrom || pack.manifest.combinedFrom.length === 0) {
|
|
186
|
+
errors.push('Combined pack must specify source packs');
|
|
187
|
+
}
|
|
188
|
+
// Validate template
|
|
189
|
+
if (typeof pack.template !== 'object' || pack.template === null) {
|
|
190
|
+
errors.push('Combined template must be an object');
|
|
191
|
+
}
|
|
192
|
+
// Validate combination order matches source packs
|
|
193
|
+
if (pack.combinationOrder.length !== pack.manifest.combinedFrom.length ||
|
|
194
|
+
!pack.combinationOrder.every((name, i) => name === pack.manifest.combinedFrom[i])) {
|
|
195
|
+
warnings.push('Combination order does not match manifest source packs');
|
|
196
|
+
}
|
|
197
|
+
// Warn if template is empty
|
|
198
|
+
if (Object.keys(pack.template).length === 0) {
|
|
199
|
+
warnings.push('Combined template is empty');
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
valid: errors.length === 0,
|
|
203
|
+
errors,
|
|
204
|
+
warnings,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Combine packs by name, looking them up in available packs
|
|
209
|
+
*
|
|
210
|
+
* Convenience method that accepts pack names instead of pack objects
|
|
211
|
+
*
|
|
212
|
+
* @param packNames - Names of packs to combine
|
|
213
|
+
* @param availablePacks - All available packs
|
|
214
|
+
* @param options - Combination options
|
|
215
|
+
* @returns Combination result
|
|
216
|
+
*/
|
|
217
|
+
combineByName(packNames, availablePacks, options) {
|
|
218
|
+
const packMap = new Map(availablePacks.map((p) => [p.manifest.name, p]));
|
|
219
|
+
const packs = [];
|
|
220
|
+
const errors = [];
|
|
221
|
+
for (const name of packNames) {
|
|
222
|
+
const pack = packMap.get(name);
|
|
223
|
+
if (!pack) {
|
|
224
|
+
errors.push(`Pack "${name}" not found in available packs`);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
packs.push(pack);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (errors.length > 0) {
|
|
231
|
+
return {
|
|
232
|
+
success: false,
|
|
233
|
+
errors,
|
|
234
|
+
warnings: [],
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
return this.combine(packs, availablePacks, options);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Preview combination without actually performing it
|
|
241
|
+
*
|
|
242
|
+
* Returns what the combination would produce without creating the combined pack
|
|
243
|
+
*
|
|
244
|
+
* @param packs - Packs to preview
|
|
245
|
+
* @param availablePacks - Available packs
|
|
246
|
+
* @param options - Combination options
|
|
247
|
+
* @returns Preview result with load order and validation
|
|
248
|
+
*/
|
|
249
|
+
preview(packs, availablePacks, _options) {
|
|
250
|
+
const warnings = [];
|
|
251
|
+
// Resolve dependencies
|
|
252
|
+
const dependencies = this.resolver.resolve(packs, availablePacks);
|
|
253
|
+
if (!dependencies.success) {
|
|
254
|
+
warnings.push(...dependencies.errors);
|
|
255
|
+
return {
|
|
256
|
+
loadOrder: [],
|
|
257
|
+
dependencies,
|
|
258
|
+
warnings,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
// Validate each pack's dependencies
|
|
262
|
+
for (const pack of packs) {
|
|
263
|
+
const validation = this.resolver.validateDependencies(pack, availablePacks);
|
|
264
|
+
if (!validation.valid) {
|
|
265
|
+
warnings.push(...validation.errors.map((e) => `${pack.manifest.name}: ${e}`));
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
loadOrder: dependencies.loadOrder,
|
|
270
|
+
dependencies,
|
|
271
|
+
warnings,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.PackCombiner = PackCombiner;
|
|
276
|
+
/**
|
|
277
|
+
* Convenience function for combining packs
|
|
278
|
+
*
|
|
279
|
+
* @param packs - Packs to combine
|
|
280
|
+
* @param availablePacks - Available packs for dependency resolution
|
|
281
|
+
* @param options - Combination options
|
|
282
|
+
* @returns Combination result
|
|
283
|
+
*/
|
|
284
|
+
function combinePacks(packs, availablePacks, options) {
|
|
285
|
+
const combiner = new PackCombiner();
|
|
286
|
+
return combiner.combine(packs, availablePacks, options);
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=pack-combiner.js.map
|