@planu/cli 0.63.7 → 0.64.1
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/config/license-plans.json +16 -1
- package/dist/engine/a2a/capability-card.d.ts +16 -0
- package/dist/engine/a2a/capability-card.d.ts.map +1 -0
- package/dist/engine/a2a/capability-card.js +69 -0
- package/dist/engine/a2a/capability-card.js.map +1 -0
- package/dist/engine/a2a/delegate.d.ts +15 -0
- package/dist/engine/a2a/delegate.d.ts.map +1 -0
- package/dist/engine/a2a/delegate.js +47 -0
- package/dist/engine/a2a/delegate.js.map +1 -0
- package/dist/engine/a2a/fallback.d.ts +12 -0
- package/dist/engine/a2a/fallback.d.ts.map +1 -0
- package/dist/engine/a2a/fallback.js +52 -0
- package/dist/engine/a2a/fallback.js.map +1 -0
- package/dist/engine/a2a/index.d.ts +5 -0
- package/dist/engine/a2a/index.d.ts.map +1 -0
- package/dist/engine/a2a/index.js +6 -0
- package/dist/engine/a2a/index.js.map +1 -0
- package/dist/engine/a2a/task-manager.d.ts +39 -0
- package/dist/engine/a2a/task-manager.d.ts.map +1 -0
- package/dist/engine/a2a/task-manager.js +84 -0
- package/dist/engine/a2a/task-manager.js.map +1 -0
- package/dist/engine/ac-gap-detector/analyze-gaps.d.ts +13 -0
- package/dist/engine/ac-gap-detector/analyze-gaps.d.ts.map +1 -0
- package/dist/engine/ac-gap-detector/analyze-gaps.js +43 -0
- package/dist/engine/ac-gap-detector/analyze-gaps.js.map +1 -0
- package/dist/engine/ac-gap-detector/constants.d.ts +22 -0
- package/dist/engine/ac-gap-detector/constants.d.ts.map +1 -0
- package/dist/engine/ac-gap-detector/constants.js +143 -0
- package/dist/engine/ac-gap-detector/constants.js.map +1 -0
- package/dist/engine/ac-gap-detector/gap-rules.d.ts +16 -0
- package/dist/engine/ac-gap-detector/gap-rules.d.ts.map +1 -0
- package/dist/engine/ac-gap-detector/gap-rules.js +180 -0
- package/dist/engine/ac-gap-detector/gap-rules.js.map +1 -0
- package/dist/engine/ac-gap-detector/pattern-matcher.d.ts +16 -0
- package/dist/engine/ac-gap-detector/pattern-matcher.d.ts.map +1 -0
- package/dist/engine/ac-gap-detector/pattern-matcher.js +62 -0
- package/dist/engine/ac-gap-detector/pattern-matcher.js.map +1 -0
- package/dist/engine/ac-gap-detector.d.ts +3 -0
- package/dist/engine/ac-gap-detector.d.ts.map +1 -0
- package/dist/engine/ac-gap-detector.js +5 -0
- package/dist/engine/ac-gap-detector.js.map +1 -0
- package/dist/engine/architecture-pattern-detector/actor-temporal-detector.d.ts.map +1 -1
- package/dist/engine/architecture-pattern-detector/actor-temporal-detector.js +2 -0
- package/dist/engine/architecture-pattern-detector/actor-temporal-detector.js.map +1 -1
- package/dist/engine/audit-trail/attestation.d.ts +11 -0
- package/dist/engine/audit-trail/attestation.d.ts.map +1 -0
- package/dist/engine/audit-trail/attestation.js +47 -0
- package/dist/engine/audit-trail/attestation.js.map +1 -0
- package/dist/engine/audit-trail/index.d.ts +6 -0
- package/dist/engine/audit-trail/index.d.ts.map +1 -0
- package/dist/engine/audit-trail/index.js +6 -0
- package/dist/engine/audit-trail/index.js.map +1 -0
- package/dist/engine/audit-trail/logger.d.ts +17 -0
- package/dist/engine/audit-trail/logger.d.ts.map +1 -0
- package/dist/engine/audit-trail/logger.js +78 -0
- package/dist/engine/audit-trail/logger.js.map +1 -0
- package/dist/engine/audit-trail/query.d.ts +7 -0
- package/dist/engine/audit-trail/query.d.ts.map +1 -0
- package/dist/engine/audit-trail/query.js +61 -0
- package/dist/engine/audit-trail/query.js.map +1 -0
- package/dist/engine/audit-trail/utils.d.ts +18 -0
- package/dist/engine/audit-trail/utils.d.ts.map +1 -0
- package/dist/engine/audit-trail/utils.js +44 -0
- package/dist/engine/audit-trail/utils.js.map +1 -0
- package/dist/engine/audit-trail/verifier.d.ts +10 -0
- package/dist/engine/audit-trail/verifier.d.ts.map +1 -0
- package/dist/engine/audit-trail/verifier.js +78 -0
- package/dist/engine/audit-trail/verifier.js.map +1 -0
- package/dist/engine/auditor-architecture.d.ts.map +1 -1
- package/dist/engine/auditor-architecture.js +16 -13
- package/dist/engine/auditor-architecture.js.map +1 -1
- package/dist/engine/auth/config.d.ts +20 -0
- package/dist/engine/auth/config.d.ts.map +1 -0
- package/dist/engine/auth/config.js +49 -0
- package/dist/engine/auth/config.js.map +1 -0
- package/dist/engine/auth/index.d.ts +6 -0
- package/dist/engine/auth/index.d.ts.map +1 -0
- package/dist/engine/auth/index.js +7 -0
- package/dist/engine/auth/index.js.map +1 -0
- package/dist/engine/auth/middleware.d.ts +19 -0
- package/dist/engine/auth/middleware.d.ts.map +1 -0
- package/dist/engine/auth/middleware.js +64 -0
- package/dist/engine/auth/middleware.js.map +1 -0
- package/dist/engine/auth/pkce.d.ts +17 -0
- package/dist/engine/auth/pkce.d.ts.map +1 -0
- package/dist/engine/auth/pkce.js +33 -0
- package/dist/engine/auth/pkce.js.map +1 -0
- package/dist/engine/auth/scope-mapper.d.ts +21 -0
- package/dist/engine/auth/scope-mapper.d.ts.map +1 -0
- package/dist/engine/auth/scope-mapper.js +124 -0
- package/dist/engine/auth/scope-mapper.js.map +1 -0
- package/dist/engine/auth/token-validator.d.ts +15 -0
- package/dist/engine/auth/token-validator.d.ts.map +1 -0
- package/dist/engine/auth/token-validator.js +121 -0
- package/dist/engine/auth/token-validator.js.map +1 -0
- package/dist/engine/ci-generator/index.d.ts.map +1 -1
- package/dist/engine/ci-generator/index.js +8 -2
- package/dist/engine/ci-generator/index.js.map +1 -1
- package/dist/engine/ci-generator/yaml-builder.d.ts +7 -2
- package/dist/engine/ci-generator/yaml-builder.d.ts.map +1 -1
- package/dist/engine/ci-generator/yaml-builder.js +49 -1
- package/dist/engine/ci-generator/yaml-builder.js.map +1 -1
- package/dist/engine/clarify/contradictions.d.ts.map +1 -1
- package/dist/engine/clarify/contradictions.js +4 -1
- package/dist/engine/clarify/contradictions.js.map +1 -1
- package/dist/engine/design-to-spec/ac-generator.d.ts +21 -0
- package/dist/engine/design-to-spec/ac-generator.d.ts.map +1 -0
- package/dist/engine/design-to-spec/ac-generator.js +185 -0
- package/dist/engine/design-to-spec/ac-generator.js.map +1 -0
- package/dist/engine/design-to-spec/index.d.ts +11 -0
- package/dist/engine/design-to-spec/index.d.ts.map +1 -0
- package/dist/engine/design-to-spec/index.js +19 -0
- package/dist/engine/design-to-spec/index.js.map +1 -0
- package/dist/engine/design-to-spec/parser.d.ts +7 -0
- package/dist/engine/design-to-spec/parser.d.ts.map +1 -0
- package/dist/engine/design-to-spec/parser.js +290 -0
- package/dist/engine/design-to-spec/parser.js.map +1 -0
- package/dist/engine/design-to-spec/spec-builder.d.ts +12 -0
- package/dist/engine/design-to-spec/spec-builder.d.ts.map +1 -0
- package/dist/engine/design-to-spec/spec-builder.js +148 -0
- package/dist/engine/design-to-spec/spec-builder.js.map +1 -0
- package/dist/engine/design-to-spec/ui-contract-builder.d.ts +17 -0
- package/dist/engine/design-to-spec/ui-contract-builder.d.ts.map +1 -0
- package/dist/engine/design-to-spec/ui-contract-builder.js +175 -0
- package/dist/engine/design-to-spec/ui-contract-builder.js.map +1 -0
- package/dist/engine/detection-utils.d.ts.map +1 -1
- package/dist/engine/detection-utils.js +3 -0
- package/dist/engine/detection-utils.js.map +1 -1
- package/dist/engine/doc-generator/portal/decision-timeline-builder.d.ts.map +1 -1
- package/dist/engine/doc-generator/portal/decision-timeline-builder.js +1 -0
- package/dist/engine/doc-generator/portal/decision-timeline-builder.js.map +1 -1
- package/dist/engine/doc-generator/portal/portal-breadcrumbs.d.ts.map +1 -1
- package/dist/engine/doc-generator/portal/portal-breadcrumbs.js +1 -0
- package/dist/engine/doc-generator/portal/portal-breadcrumbs.js.map +1 -1
- package/dist/engine/elicitation/builder.d.ts +37 -0
- package/dist/engine/elicitation/builder.d.ts.map +1 -0
- package/dist/engine/elicitation/builder.js +115 -0
- package/dist/engine/elicitation/builder.js.map +1 -0
- package/dist/engine/elicitation/fallback.d.ts +20 -0
- package/dist/engine/elicitation/fallback.d.ts.map +1 -0
- package/dist/engine/elicitation/fallback.js +72 -0
- package/dist/engine/elicitation/fallback.js.map +1 -0
- package/dist/engine/elicitation/index.d.ts +4 -0
- package/dist/engine/elicitation/index.d.ts.map +1 -0
- package/dist/engine/elicitation/index.js +5 -0
- package/dist/engine/elicitation/index.js.map +1 -0
- package/dist/engine/elicitation/response-parser.d.ts +9 -0
- package/dist/engine/elicitation/response-parser.d.ts.map +1 -0
- package/dist/engine/elicitation/response-parser.js +163 -0
- package/dist/engine/elicitation/response-parser.js.map +1 -0
- package/dist/engine/event-schema-validator/version-utils.d.ts.map +1 -1
- package/dist/engine/event-schema-validator/version-utils.js +1 -0
- package/dist/engine/event-schema-validator/version-utils.js.map +1 -1
- package/dist/engine/federation/cross-repo-resolver.d.ts +21 -0
- package/dist/engine/federation/cross-repo-resolver.d.ts.map +1 -0
- package/dist/engine/federation/cross-repo-resolver.js +75 -0
- package/dist/engine/federation/cross-repo-resolver.js.map +1 -0
- package/dist/engine/federation/drift-checker.d.ts +19 -0
- package/dist/engine/federation/drift-checker.d.ts.map +1 -0
- package/dist/engine/federation/drift-checker.js +114 -0
- package/dist/engine/federation/drift-checker.js.map +1 -0
- package/dist/engine/federation/federation-store.d.ts +25 -0
- package/dist/engine/federation/federation-store.d.ts.map +1 -0
- package/dist/engine/federation/federation-store.js +58 -0
- package/dist/engine/federation/federation-store.js.map +1 -0
- package/dist/engine/federation/index.d.ts +4 -0
- package/dist/engine/federation/index.d.ts.map +1 -0
- package/dist/engine/federation/index.js +5 -0
- package/dist/engine/federation/index.js.map +1 -0
- package/dist/engine/framework-detector.js +1 -1
- package/dist/engine/framework-detector.js.map +1 -1
- package/dist/engine/github/spec-ac-analyzer.d.ts +40 -0
- package/dist/engine/github/spec-ac-analyzer.d.ts.map +1 -0
- package/dist/engine/github/spec-ac-analyzer.js +181 -0
- package/dist/engine/github/spec-ac-analyzer.js.map +1 -0
- package/dist/engine/hooks/handlers/on-impl-change.d.ts +3 -1
- package/dist/engine/hooks/handlers/on-impl-change.d.ts.map +1 -1
- package/dist/engine/hooks/handlers/on-impl-change.js +25 -1
- package/dist/engine/hooks/handlers/on-impl-change.js.map +1 -1
- package/dist/engine/infrastructure/component-mapper.d.ts +9 -0
- package/dist/engine/infrastructure/component-mapper.d.ts.map +1 -0
- package/dist/engine/infrastructure/component-mapper.js +162 -0
- package/dist/engine/infrastructure/component-mapper.js.map +1 -0
- package/dist/engine/infrastructure/cost-estimator.d.ts +6 -0
- package/dist/engine/infrastructure/cost-estimator.d.ts.map +1 -0
- package/dist/engine/infrastructure/cost-estimator.js +48 -0
- package/dist/engine/infrastructure/cost-estimator.js.map +1 -0
- package/dist/engine/infrastructure/docker-compose-generator.d.ts +6 -0
- package/dist/engine/infrastructure/docker-compose-generator.d.ts.map +1 -0
- package/dist/engine/infrastructure/docker-compose-generator.js +201 -0
- package/dist/engine/infrastructure/docker-compose-generator.js.map +1 -0
- package/dist/engine/infrastructure/index.d.ts +15 -0
- package/dist/engine/infrastructure/index.d.ts.map +1 -0
- package/dist/engine/infrastructure/index.js +67 -0
- package/dist/engine/infrastructure/index.js.map +1 -0
- package/dist/engine/infrastructure/kubernetes-generator.d.ts +6 -0
- package/dist/engine/infrastructure/kubernetes-generator.d.ts.map +1 -0
- package/dist/engine/infrastructure/kubernetes-generator.js +141 -0
- package/dist/engine/infrastructure/kubernetes-generator.js.map +1 -0
- package/dist/engine/infrastructure/railway-generator.d.ts +6 -0
- package/dist/engine/infrastructure/railway-generator.d.ts.map +1 -0
- package/dist/engine/infrastructure/railway-generator.js +87 -0
- package/dist/engine/infrastructure/railway-generator.js.map +1 -0
- package/dist/engine/infrastructure/signal-detector.d.ts +7 -0
- package/dist/engine/infrastructure/signal-detector.d.ts.map +1 -0
- package/dist/engine/infrastructure/signal-detector.js +174 -0
- package/dist/engine/infrastructure/signal-detector.js.map +1 -0
- package/dist/engine/infrastructure/terraform-generator.d.ts +6 -0
- package/dist/engine/infrastructure/terraform-generator.d.ts.map +1 -0
- package/dist/engine/infrastructure/terraform-generator.js +241 -0
- package/dist/engine/infrastructure/terraform-generator.js.map +1 -0
- package/dist/engine/learning-router.d.ts.map +1 -1
- package/dist/engine/learning-router.js +2 -0
- package/dist/engine/learning-router.js.map +1 -1
- package/dist/engine/living-spec/annotation-parser.d.ts.map +1 -1
- package/dist/engine/living-spec/annotation-parser.js.map +1 -1
- package/dist/engine/living-spec/auto-updater.d.ts +58 -0
- package/dist/engine/living-spec/auto-updater.d.ts.map +1 -0
- package/dist/engine/living-spec/auto-updater.js +311 -0
- package/dist/engine/living-spec/auto-updater.js.map +1 -0
- package/dist/engine/living-spec/conflict-resolver.d.ts +46 -0
- package/dist/engine/living-spec/conflict-resolver.d.ts.map +1 -0
- package/dist/engine/living-spec/conflict-resolver.js +301 -0
- package/dist/engine/living-spec/conflict-resolver.js.map +1 -0
- package/dist/engine/living-spec/hash-tracker.d.ts.map +1 -1
- package/dist/engine/living-spec/hash-tracker.js.map +1 -1
- package/dist/engine/living-spec/index.d.ts +1 -0
- package/dist/engine/living-spec/index.d.ts.map +1 -1
- package/dist/engine/living-spec/index.js +1 -0
- package/dist/engine/living-spec/index.js.map +1 -1
- package/dist/engine/living-spec/signature-tracker.d.ts.map +1 -1
- package/dist/engine/living-spec/signature-tracker.js.map +1 -1
- package/dist/engine/mobile-detector-android.d.ts.map +1 -1
- package/dist/engine/mobile-detector-android.js +6 -0
- package/dist/engine/mobile-detector-android.js.map +1 -1
- package/dist/engine/observability/config.d.ts +16 -0
- package/dist/engine/observability/config.d.ts.map +1 -0
- package/dist/engine/observability/config.js +44 -0
- package/dist/engine/observability/config.js.map +1 -0
- package/dist/engine/observability/index.d.ts +7 -0
- package/dist/engine/observability/index.d.ts.map +1 -0
- package/dist/engine/observability/index.js +8 -0
- package/dist/engine/observability/index.js.map +1 -0
- package/dist/engine/observability/metrics.d.ts +12 -0
- package/dist/engine/observability/metrics.d.ts.map +1 -0
- package/dist/engine/observability/metrics.js +61 -0
- package/dist/engine/observability/metrics.js.map +1 -0
- package/dist/engine/observability/noop-tracer.d.ts +13 -0
- package/dist/engine/observability/noop-tracer.d.ts.map +1 -0
- package/dist/engine/observability/noop-tracer.js +41 -0
- package/dist/engine/observability/noop-tracer.js.map +1 -0
- package/dist/engine/observability/otel-tracer.d.ts +19 -0
- package/dist/engine/observability/otel-tracer.d.ts.map +1 -0
- package/dist/engine/observability/otel-tracer.js +134 -0
- package/dist/engine/observability/otel-tracer.js.map +1 -0
- package/dist/engine/observability/span-helpers.d.ts +28 -0
- package/dist/engine/observability/span-helpers.d.ts.map +1 -0
- package/dist/engine/observability/span-helpers.js +68 -0
- package/dist/engine/observability/span-helpers.js.map +1 -0
- package/dist/engine/observability/tracer.d.ts +26 -0
- package/dist/engine/observability/tracer.d.ts.map +1 -0
- package/dist/engine/observability/tracer.js +45 -0
- package/dist/engine/observability/tracer.js.map +1 -0
- package/dist/engine/rbac/index.d.ts +3 -0
- package/dist/engine/rbac/index.d.ts.map +1 -0
- package/dist/engine/rbac/index.js +4 -0
- package/dist/engine/rbac/index.js.map +1 -0
- package/dist/engine/rbac/permission-checker.d.ts +21 -0
- package/dist/engine/rbac/permission-checker.d.ts.map +1 -0
- package/dist/engine/rbac/permission-checker.js +74 -0
- package/dist/engine/rbac/permission-checker.js.map +1 -0
- package/dist/engine/rbac/roles.d.ts +12 -0
- package/dist/engine/rbac/roles.d.ts.map +1 -0
- package/dist/engine/rbac/roles.js +37 -0
- package/dist/engine/rbac/roles.js.map +1 -0
- package/dist/engine/reverse-engineer/orchestrator.d.ts.map +1 -1
- package/dist/engine/reverse-engineer/orchestrator.js +2 -0
- package/dist/engine/reverse-engineer/orchestrator.js.map +1 -1
- package/dist/engine/self-improver.d.ts.map +1 -1
- package/dist/engine/self-improver.js +2 -0
- package/dist/engine/self-improver.js.map +1 -1
- package/dist/engine/shared/ac-extractor.d.ts +9 -0
- package/dist/engine/shared/ac-extractor.d.ts.map +1 -0
- package/dist/engine/shared/ac-extractor.js +36 -0
- package/dist/engine/shared/ac-extractor.js.map +1 -0
- package/dist/engine/shared/line-diff.d.ts +11 -0
- package/dist/engine/shared/line-diff.d.ts.map +1 -0
- package/dist/engine/shared/line-diff.js +32 -0
- package/dist/engine/shared/line-diff.js.map +1 -0
- package/dist/engine/spec-decomposer/analyzer.d.ts +18 -0
- package/dist/engine/spec-decomposer/analyzer.d.ts.map +1 -0
- package/dist/engine/spec-decomposer/analyzer.js +263 -0
- package/dist/engine/spec-decomposer/analyzer.js.map +1 -0
- package/dist/engine/spec-decomposer/file-mapper.d.ts +17 -0
- package/dist/engine/spec-decomposer/file-mapper.d.ts.map +1 -0
- package/dist/engine/spec-decomposer/file-mapper.js +96 -0
- package/dist/engine/spec-decomposer/file-mapper.js.map +1 -0
- package/dist/engine/spec-decomposer/index.d.ts +14 -0
- package/dist/engine/spec-decomposer/index.d.ts.map +1 -0
- package/dist/engine/spec-decomposer/index.js +50 -0
- package/dist/engine/spec-decomposer/index.js.map +1 -0
- package/dist/engine/spec-decomposer/ownership-resolver.d.ts +7 -0
- package/dist/engine/spec-decomposer/ownership-resolver.d.ts.map +1 -0
- package/dist/engine/spec-decomposer/ownership-resolver.js +169 -0
- package/dist/engine/spec-decomposer/ownership-resolver.js.map +1 -0
- package/dist/engine/spec-observability/index.d.ts +4 -0
- package/dist/engine/spec-observability/index.d.ts.map +1 -0
- package/dist/engine/spec-observability/index.js +4 -0
- package/dist/engine/spec-observability/index.js.map +1 -0
- package/dist/engine/spec-observability/metrics.d.ts +8 -0
- package/dist/engine/spec-observability/metrics.d.ts.map +1 -0
- package/dist/engine/spec-observability/metrics.js +116 -0
- package/dist/engine/spec-observability/metrics.js.map +1 -0
- package/dist/engine/spec-observability/tracker.d.ts +22 -0
- package/dist/engine/spec-observability/tracker.d.ts.map +1 -0
- package/dist/engine/spec-observability/tracker.js +77 -0
- package/dist/engine/spec-observability/tracker.js.map +1 -0
- package/dist/engine/spec-reader.d.ts +7 -0
- package/dist/engine/spec-reader.d.ts.map +1 -0
- package/dist/engine/spec-reader.js +23 -0
- package/dist/engine/spec-reader.js.map +1 -0
- package/dist/engine/spec-repair.d.ts +10 -0
- package/dist/engine/spec-repair.d.ts.map +1 -0
- package/dist/engine/spec-repair.js +388 -0
- package/dist/engine/spec-repair.js.map +1 -0
- package/dist/engine/spec-versioning/brancher.d.ts +17 -0
- package/dist/engine/spec-versioning/brancher.d.ts.map +1 -0
- package/dist/engine/spec-versioning/brancher.js +113 -0
- package/dist/engine/spec-versioning/brancher.js.map +1 -0
- package/dist/engine/spec-versioning/differ.d.ts +19 -0
- package/dist/engine/spec-versioning/differ.d.ts.map +1 -0
- package/dist/engine/spec-versioning/differ.js +151 -0
- package/dist/engine/spec-versioning/differ.js.map +1 -0
- package/dist/engine/spec-versioning/index.d.ts +5 -0
- package/dist/engine/spec-versioning/index.d.ts.map +1 -0
- package/dist/engine/spec-versioning/index.js +6 -0
- package/dist/engine/spec-versioning/index.js.map +1 -0
- package/dist/engine/spec-versioning/merger.d.ts +18 -0
- package/dist/engine/spec-versioning/merger.d.ts.map +1 -0
- package/dist/engine/spec-versioning/merger.js +113 -0
- package/dist/engine/spec-versioning/merger.js.map +1 -0
- package/dist/engine/spec-versioning/version-store.d.ts +18 -0
- package/dist/engine/spec-versioning/version-store.d.ts.map +1 -0
- package/dist/engine/spec-versioning/version-store.js +96 -0
- package/dist/engine/spec-versioning/version-store.js.map +1 -0
- package/dist/engine/well-known/discovery.d.ts +7 -0
- package/dist/engine/well-known/discovery.d.ts.map +1 -0
- package/dist/engine/well-known/discovery.js +109 -0
- package/dist/engine/well-known/discovery.js.map +1 -0
- package/dist/engine/well-known/index.d.ts +6 -0
- package/dist/engine/well-known/index.d.ts.map +1 -0
- package/dist/engine/well-known/index.js +5 -0
- package/dist/engine/well-known/index.js.map +1 -0
- package/dist/engine/well-known/manifest-generator.d.ts +7 -0
- package/dist/engine/well-known/manifest-generator.d.ts.map +1 -0
- package/dist/engine/well-known/manifest-generator.js +60 -0
- package/dist/engine/well-known/manifest-generator.js.map +1 -0
- package/dist/engine/well-known/manifest-schema.d.ts +92 -0
- package/dist/engine/well-known/manifest-schema.d.ts.map +1 -0
- package/dist/engine/well-known/manifest-schema.js +70 -0
- package/dist/engine/well-known/manifest-schema.js.map +1 -0
- package/dist/resources/spec-granular.d.ts +33 -0
- package/dist/resources/spec-granular.d.ts.map +1 -0
- package/dist/resources/spec-granular.js +299 -0
- package/dist/resources/spec-granular.js.map +1 -0
- package/dist/storage/federation-store.d.ts +29 -0
- package/dist/storage/federation-store.d.ts.map +1 -0
- package/dist/storage/federation-store.js +111 -0
- package/dist/storage/federation-store.js.map +1 -0
- package/dist/storage/index.d.ts +3 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +3 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/rbac-store.d.ts +8 -0
- package/dist/storage/rbac-store.d.ts.map +1 -0
- package/dist/storage/rbac-store.js +75 -0
- package/dist/storage/rbac-store.js.map +1 -0
- package/dist/storage/spec-observability-store.d.ts +16 -0
- package/dist/storage/spec-observability-store.d.ts.map +1 -0
- package/dist/storage/spec-observability-store.js +55 -0
- package/dist/storage/spec-observability-store.js.map +1 -0
- package/dist/tools/a2a-handler.d.ts +14 -0
- package/dist/tools/a2a-handler.d.ts.map +1 -0
- package/dist/tools/a2a-handler.js +100 -0
- package/dist/tools/a2a-handler.js.map +1 -0
- package/dist/tools/analyze-spec-dependencies.d.ts.map +1 -1
- package/dist/tools/analyze-spec-dependencies.js +1 -0
- package/dist/tools/analyze-spec-dependencies.js.map +1 -1
- package/dist/tools/assign-role-handler.d.ts +3 -0
- package/dist/tools/assign-role-handler.d.ts.map +1 -0
- package/dist/tools/assign-role-handler.js +25 -0
- package/dist/tools/assign-role-handler.js.map +1 -0
- package/dist/tools/audit-trail-handler.d.ts +4 -0
- package/dist/tools/audit-trail-handler.d.ts.map +1 -0
- package/dist/tools/audit-trail-handler.js +91 -0
- package/dist/tools/audit-trail-handler.js.map +1 -0
- package/dist/tools/auto-update-spec.d.ts +3 -0
- package/dist/tools/auto-update-spec.d.ts.map +1 -0
- package/dist/tools/auto-update-spec.js +43 -0
- package/dist/tools/auto-update-spec.js.map +1 -0
- package/dist/tools/branch-spec.d.ts +3 -0
- package/dist/tools/branch-spec.d.ts.map +1 -0
- package/dist/tools/branch-spec.js +68 -0
- package/dist/tools/branch-spec.js.map +1 -0
- package/dist/tools/configure-auth-handler.d.ts +15 -0
- package/dist/tools/configure-auth-handler.d.ts.map +1 -0
- package/dist/tools/configure-auth-handler.js +113 -0
- package/dist/tools/configure-auth-handler.js.map +1 -0
- package/dist/tools/configure-observability.d.ts +14 -0
- package/dist/tools/configure-observability.d.ts.map +1 -0
- package/dist/tools/configure-observability.js +96 -0
- package/dist/tools/configure-observability.js.map +1 -0
- package/dist/tools/configure-roles-handler.d.ts +4 -0
- package/dist/tools/configure-roles-handler.d.ts.map +1 -0
- package/dist/tools/configure-roles-handler.js +36 -0
- package/dist/tools/configure-roles-handler.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.d.ts +7 -0
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.js +114 -0
- package/dist/tools/create-spec-hu/ac-adapters/architecture-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/database-adapter.d.ts +7 -0
- package/dist/tools/create-spec-hu/ac-adapters/database-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/database-adapter.js +48 -0
- package/dist/tools/create-spec-hu/ac-adapters/database-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/index.d.ts +14 -0
- package/dist/tools/create-spec-hu/ac-adapters/index.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/index.js +28 -0
- package/dist/tools/create-spec-hu/ac-adapters/index.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/stack-adapter.d.ts +7 -0
- package/dist/tools/create-spec-hu/ac-adapters/stack-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/stack-adapter.js +99 -0
- package/dist/tools/create-spec-hu/ac-adapters/stack-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/testing-adapter.d.ts +7 -0
- package/dist/tools/create-spec-hu/ac-adapters/testing-adapter.d.ts.map +1 -0
- package/dist/tools/create-spec-hu/ac-adapters/testing-adapter.js +62 -0
- package/dist/tools/create-spec-hu/ac-adapters/testing-adapter.js.map +1 -0
- package/dist/tools/create-spec-hu/hu-body-generators.d.ts.map +1 -1
- package/dist/tools/create-spec-hu/hu-body-generators.js +41 -19
- package/dist/tools/create-spec-hu/hu-body-generators.js.map +1 -1
- package/dist/tools/create-spec-tech/ficha-content.d.ts.map +1 -1
- package/dist/tools/create-spec-tech/ficha-content.js +235 -5
- package/dist/tools/create-spec-tech/ficha-content.js.map +1 -1
- package/dist/tools/decompose-spec.d.ts +7 -0
- package/dist/tools/decompose-spec.d.ts.map +1 -0
- package/dist/tools/decompose-spec.js +49 -0
- package/dist/tools/decompose-spec.js.map +1 -0
- package/dist/tools/define-ui-contract-desktop/desktop-contract.js +2 -1
- package/dist/tools/define-ui-contract-desktop/desktop-contract.js.map +1 -1
- package/dist/tools/design-to-spec.d.ts +12 -0
- package/dist/tools/design-to-spec.d.ts.map +1 -0
- package/dist/tools/design-to-spec.js +73 -0
- package/dist/tools/design-to-spec.js.map +1 -0
- package/dist/tools/detect-ac-gaps.d.ts +7 -0
- package/dist/tools/detect-ac-gaps.d.ts.map +1 -0
- package/dist/tools/detect-ac-gaps.js +63 -0
- package/dist/tools/detect-ac-gaps.js.map +1 -0
- package/dist/tools/discover-registry.d.ts +8 -0
- package/dist/tools/discover-registry.d.ts.map +1 -0
- package/dist/tools/discover-registry.js +79 -0
- package/dist/tools/discover-registry.js.map +1 -0
- package/dist/tools/federate-specs.d.ts +6 -0
- package/dist/tools/federate-specs.d.ts.map +1 -0
- package/dist/tools/federate-specs.js +41 -0
- package/dist/tools/federate-specs.js.map +1 -0
- package/dist/tools/federation-status.d.ts +6 -0
- package/dist/tools/federation-status.d.ts.map +1 -0
- package/dist/tools/federation-status.js +56 -0
- package/dist/tools/federation-status.js.map +1 -0
- package/dist/tools/generate-annotations.d.ts.map +1 -1
- package/dist/tools/generate-annotations.js +3 -1
- package/dist/tools/generate-annotations.js.map +1 -1
- package/dist/tools/generate-infrastructure.d.ts +3 -0
- package/dist/tools/generate-infrastructure.d.ts.map +1 -0
- package/dist/tools/generate-infrastructure.js +60 -0
- package/dist/tools/generate-infrastructure.js.map +1 -0
- package/dist/tools/manage-hooks.d.ts.map +1 -1
- package/dist/tools/manage-hooks.js +1 -0
- package/dist/tools/manage-hooks.js.map +1 -1
- package/dist/tools/merge-spec-branch.d.ts +3 -0
- package/dist/tools/merge-spec-branch.d.ts.map +1 -0
- package/dist/tools/merge-spec-branch.js +103 -0
- package/dist/tools/merge-spec-branch.js.map +1 -0
- package/dist/tools/publish-registry.d.ts +8 -0
- package/dist/tools/publish-registry.d.ts.map +1 -0
- package/dist/tools/publish-registry.js +76 -0
- package/dist/tools/publish-registry.js.map +1 -0
- package/dist/tools/register-a2a-tools.d.ts +3 -0
- package/dist/tools/register-a2a-tools.d.ts.map +1 -0
- package/dist/tools/register-a2a-tools.js +66 -0
- package/dist/tools/register-a2a-tools.js.map +1 -0
- package/dist/tools/register-audit-trail-tools.d.ts +3 -0
- package/dist/tools/register-audit-trail-tools.d.ts.map +1 -0
- package/dist/tools/register-audit-trail-tools.js +62 -0
- package/dist/tools/register-audit-trail-tools.js.map +1 -0
- package/dist/tools/register-decompose-tools.d.ts +3 -0
- package/dist/tools/register-decompose-tools.d.ts.map +1 -0
- package/dist/tools/register-decompose-tools.js +31 -0
- package/dist/tools/register-decompose-tools.js.map +1 -0
- package/dist/tools/register-federation-tools.d.ts +6 -0
- package/dist/tools/register-federation-tools.d.ts.map +1 -0
- package/dist/tools/register-federation-tools.js +48 -0
- package/dist/tools/register-federation-tools.js.map +1 -0
- package/dist/tools/register-infrastructure-tools.d.ts +3 -0
- package/dist/tools/register-infrastructure-tools.d.ts.map +1 -0
- package/dist/tools/register-infrastructure-tools.js +34 -0
- package/dist/tools/register-infrastructure-tools.js.map +1 -0
- package/dist/tools/register-living-spec-tools.d.ts.map +1 -1
- package/dist/tools/register-living-spec-tools.js +2 -8
- package/dist/tools/register-living-spec-tools.js.map +1 -1
- package/dist/tools/register-observability-tools.d.ts +3 -0
- package/dist/tools/register-observability-tools.d.ts.map +1 -0
- package/dist/tools/register-observability-tools.js +48 -0
- package/dist/tools/register-observability-tools.js.map +1 -0
- package/dist/tools/register-rbac-tools.d.ts +3 -0
- package/dist/tools/register-rbac-tools.d.ts.map +1 -0
- package/dist/tools/register-rbac-tools.js +36 -0
- package/dist/tools/register-rbac-tools.js.map +1 -0
- package/dist/tools/register-spec-observability-tools.d.ts +3 -0
- package/dist/tools/register-spec-observability-tools.d.ts.map +1 -0
- package/dist/tools/register-spec-observability-tools.js +24 -0
- package/dist/tools/register-spec-observability-tools.js.map +1 -0
- package/dist/tools/register-versioning-tools.d.ts +3 -0
- package/dist/tools/register-versioning-tools.d.ts.map +1 -0
- package/dist/tools/register-versioning-tools.js +93 -0
- package/dist/tools/register-versioning-tools.js.map +1 -0
- package/dist/tools/register-well-known-tools.d.ts +3 -0
- package/dist/tools/register-well-known-tools.d.ts.map +1 -0
- package/dist/tools/register-well-known-tools.js +36 -0
- package/dist/tools/register-well-known-tools.js.map +1 -0
- package/dist/tools/repair-spec.d.ts +9 -0
- package/dist/tools/repair-spec.d.ts.map +1 -0
- package/dist/tools/repair-spec.js +93 -0
- package/dist/tools/repair-spec.js.map +1 -0
- package/dist/tools/resolve-spec-conflict.d.ts +7 -0
- package/dist/tools/resolve-spec-conflict.d.ts.map +1 -0
- package/dist/tools/resolve-spec-conflict.js +63 -0
- package/dist/tools/resolve-spec-conflict.js.map +1 -0
- package/dist/tools/response-helpers.d.ts +42 -0
- package/dist/tools/response-helpers.d.ts.map +1 -1
- package/dist/tools/response-helpers.js +29 -0
- package/dist/tools/response-helpers.js.map +1 -1
- package/dist/tools/schemas/auth-schema.d.ts +12 -0
- package/dist/tools/schemas/auth-schema.d.ts.map +1 -0
- package/dist/tools/schemas/auth-schema.js +38 -0
- package/dist/tools/schemas/auth-schema.js.map +1 -0
- package/dist/tools/schemas/rbac.d.ts +26 -0
- package/dist/tools/schemas/rbac.d.ts.map +1 -0
- package/dist/tools/schemas/rbac.js +25 -0
- package/dist/tools/schemas/rbac.js.map +1 -0
- package/dist/tools/schemas/well-known.d.ts +12 -0
- package/dist/tools/schemas/well-known.d.ts.map +1 -0
- package/dist/tools/schemas/well-known.js +31 -0
- package/dist/tools/schemas/well-known.js.map +1 -0
- package/dist/tools/snapshot-spec-hashes.d.ts.map +1 -1
- package/dist/tools/snapshot-spec-hashes.js.map +1 -1
- package/dist/tools/spec-usage-report.d.ts +3 -0
- package/dist/tools/spec-usage-report.d.ts.map +1 -0
- package/dist/tools/spec-usage-report.js +95 -0
- package/dist/tools/spec-usage-report.js.map +1 -0
- package/dist/tools/start-hooks.d.ts.map +1 -1
- package/dist/tools/start-hooks.js +93 -16
- package/dist/tools/start-hooks.js.map +1 -1
- package/dist/tools/suggest-tooling/catalog-loader.d.ts.map +1 -1
- package/dist/tools/suggest-tooling/catalog-loader.js +1 -0
- package/dist/tools/suggest-tooling/catalog-loader.js.map +1 -1
- package/dist/tools/version-spec.d.ts +3 -0
- package/dist/tools/version-spec.d.ts.map +1 -0
- package/dist/tools/version-spec.js +54 -0
- package/dist/tools/version-spec.js.map +1 -0
- package/dist/types/a2a.d.ts +125 -0
- package/dist/types/a2a.d.ts.map +1 -0
- package/dist/types/a2a.js +3 -0
- package/dist/types/a2a.js.map +1 -0
- package/dist/types/ac-gap.d.ts +57 -0
- package/dist/types/ac-gap.d.ts.map +1 -0
- package/dist/types/ac-gap.js +3 -0
- package/dist/types/ac-gap.js.map +1 -0
- package/dist/types/audit-trail.d.ts +77 -0
- package/dist/types/audit-trail.d.ts.map +1 -0
- package/dist/types/audit-trail.js +3 -0
- package/dist/types/audit-trail.js.map +1 -0
- package/dist/types/auth.d.ts +82 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +3 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/ci.d.ts +10 -25
- package/dist/types/ci.d.ts.map +1 -1
- package/dist/types/design-to-spec.d.ts +89 -0
- package/dist/types/design-to-spec.d.ts.map +1 -0
- package/dist/types/design-to-spec.js +3 -0
- package/dist/types/design-to-spec.js.map +1 -0
- package/dist/types/elicitation.d.ts +109 -0
- package/dist/types/elicitation.d.ts.map +1 -0
- package/dist/types/elicitation.js +3 -0
- package/dist/types/elicitation.js.map +1 -0
- package/dist/types/federation.d.ts +95 -0
- package/dist/types/federation.d.ts.map +1 -0
- package/dist/types/federation.js +3 -0
- package/dist/types/federation.js.map +1 -0
- package/dist/types/file-hooks.d.ts +8 -6
- package/dist/types/file-hooks.d.ts.map +1 -1
- package/dist/types/github.d.ts +17 -0
- package/dist/types/github.d.ts.map +1 -1
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/infrastructure.d.ts +71 -0
- package/dist/types/infrastructure.d.ts.map +1 -0
- package/dist/types/infrastructure.js +3 -0
- package/dist/types/infrastructure.js.map +1 -0
- package/dist/types/living-spec.d.ts +100 -0
- package/dist/types/living-spec.d.ts.map +1 -1
- package/dist/types/observability.d.ts +105 -0
- package/dist/types/observability.d.ts.map +1 -0
- package/dist/types/observability.js +3 -0
- package/dist/types/observability.js.map +1 -0
- package/dist/types/rbac.d.ts +51 -0
- package/dist/types/rbac.d.ts.map +1 -0
- package/dist/types/rbac.js +4 -0
- package/dist/types/rbac.js.map +1 -0
- package/dist/types/resources.d.ts +20 -0
- package/dist/types/resources.d.ts.map +1 -0
- package/dist/types/resources.js +3 -0
- package/dist/types/resources.js.map +1 -0
- package/dist/types/spec/repair.d.ts +33 -0
- package/dist/types/spec/repair.d.ts.map +1 -0
- package/dist/types/spec/repair.js +3 -0
- package/dist/types/spec/repair.js.map +1 -0
- package/dist/types/spec-decomposer.d.ts +108 -0
- package/dist/types/spec-decomposer.d.ts.map +1 -0
- package/dist/types/spec-decomposer.js +4 -0
- package/dist/types/spec-decomposer.js.map +1 -0
- package/dist/types/spec-observability.d.ts +71 -0
- package/dist/types/spec-observability.d.ts.map +1 -0
- package/dist/types/spec-observability.js +4 -0
- package/dist/types/spec-observability.js.map +1 -0
- package/dist/types/spec-versioning.d.ts +117 -0
- package/dist/types/spec-versioning.d.ts.map +1 -0
- package/dist/types/spec-versioning.js +3 -0
- package/dist/types/spec-versioning.js.map +1 -0
- package/dist/types/well-known.d.ts +70 -0
- package/dist/types/well-known.d.ts.map +1 -0
- package/dist/types/well-known.js +3 -0
- package/dist/types/well-known.js.map +1 -0
- package/package.json +1 -1
- package/src/config/license-plans.json +16 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// engine/auth/pkce.ts — PKCE challenge/verifier generation (SPEC-161)
|
|
2
|
+
// Uses Node.js built-in crypto — no external dependencies.
|
|
3
|
+
// Implements S256 method as required by OAuth 2.1.
|
|
4
|
+
import { randomBytes, createHash } from 'node:crypto';
|
|
5
|
+
const VERIFIER_LENGTH_BYTES = 32; // 32 bytes → 43-char base64url (RFC 7636 §4.1: 43-128 chars)
|
|
6
|
+
/**
|
|
7
|
+
* Generate a random code verifier (URL-safe base64, no padding).
|
|
8
|
+
* The verifier is kept secret by the client and sent at the token exchange step.
|
|
9
|
+
*/
|
|
10
|
+
export function generateCodeVerifier() {
|
|
11
|
+
return randomBytes(VERIFIER_LENGTH_BYTES).toString('base64url');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Derive the S256 code challenge from a verifier.
|
|
15
|
+
* challenge = BASE64URL(SHA-256(ASCII(verifier)))
|
|
16
|
+
*/
|
|
17
|
+
export function deriveCodeChallenge(verifier) {
|
|
18
|
+
return createHash('sha256').update(verifier, 'ascii').digest('base64url');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Generate a complete PKCE challenge pair (verifier + S256 challenge).
|
|
22
|
+
* Both values are URL-safe base64 without padding.
|
|
23
|
+
*/
|
|
24
|
+
export function generatePkceChallenge() {
|
|
25
|
+
const codeVerifier = generateCodeVerifier();
|
|
26
|
+
const codeChallenge = deriveCodeChallenge(codeVerifier);
|
|
27
|
+
return {
|
|
28
|
+
codeVerifier,
|
|
29
|
+
codeChallenge,
|
|
30
|
+
codeChallengeMethod: 'S256',
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=pkce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../../src/engine/auth/pkce.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,2DAA2D;AAC3D,mDAAmD;AAEnD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,qBAAqB,GAAG,EAAE,CAAC,CAAC,6DAA6D;AAE/F;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,WAAW,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO;QACL,YAAY;QACZ,aAAa;QACb,mBAAmB,EAAE,MAAM;KAC5B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ScopeMapping } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Built-in scope definitions for Planu hosted MCP.
|
|
4
|
+
* Consumers can override/extend via AuthConfig.scopeMappings.
|
|
5
|
+
*/
|
|
6
|
+
export declare const BUILTIN_SCOPE_MAPPINGS: ScopeMapping[];
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the set of allowed tool names given the granted scopes.
|
|
9
|
+
* Merges built-in mappings with any custom mappings from the config.
|
|
10
|
+
*
|
|
11
|
+
* @param grantedScopes - Scopes present in the validated token.
|
|
12
|
+
* @param customMappings - Additional scope→tools mappings from AuthConfig.
|
|
13
|
+
* @returns Deduplicated list of tool names the caller may invoke.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveAllowedTools(grantedScopes: string[], customMappings?: Record<string, string[]>): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Check whether a specific tool is allowed given the resolved tool set.
|
|
18
|
+
* When allowedTools is empty (no auth configured), all tools are accessible.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isToolAllowed(toolName: string, allowedTools: string[]): boolean;
|
|
21
|
+
//# sourceMappingURL=scope-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-mapper.d.ts","sourceRoot":"","sources":["../../../src/engine/auth/scope-mapper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAyEhD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAM,GAC5C,MAAM,EAAE,CAYV;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAK/E"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// engine/auth/scope-mapper.ts — Map OAuth scopes to accessible tool names (SPEC-161)
|
|
2
|
+
/**
|
|
3
|
+
* Built-in scope definitions for Planu hosted MCP.
|
|
4
|
+
* Consumers can override/extend via AuthConfig.scopeMappings.
|
|
5
|
+
*/
|
|
6
|
+
export const BUILTIN_SCOPE_MAPPINGS = [
|
|
7
|
+
{
|
|
8
|
+
scope: 'planu:read',
|
|
9
|
+
tools: [
|
|
10
|
+
'list_specs',
|
|
11
|
+
'summarize_spec',
|
|
12
|
+
'spec_history',
|
|
13
|
+
'check_readiness',
|
|
14
|
+
'estimate',
|
|
15
|
+
'validate',
|
|
16
|
+
'analyze_spec_dependencies',
|
|
17
|
+
'export_spec',
|
|
18
|
+
'export_session',
|
|
19
|
+
'list_sessions',
|
|
20
|
+
'hook_status',
|
|
21
|
+
'worker_status',
|
|
22
|
+
'webhook_status',
|
|
23
|
+
'token_usage',
|
|
24
|
+
'usage_report',
|
|
25
|
+
'usage_stats',
|
|
26
|
+
'llm_provider_status',
|
|
27
|
+
'license_status',
|
|
28
|
+
'security_report',
|
|
29
|
+
'pr_status',
|
|
30
|
+
'agent_swarm_status',
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
scope: 'planu:write',
|
|
35
|
+
tools: [
|
|
36
|
+
'create_spec',
|
|
37
|
+
'update_status',
|
|
38
|
+
'delete_spec',
|
|
39
|
+
'delete_project',
|
|
40
|
+
'delete_decision',
|
|
41
|
+
'delete_pattern',
|
|
42
|
+
'log_decision',
|
|
43
|
+
'init_project',
|
|
44
|
+
'init_constitution',
|
|
45
|
+
'clarify_requirements',
|
|
46
|
+
'challenge_spec',
|
|
47
|
+
'reconcile_spec',
|
|
48
|
+
'generate_changelog',
|
|
49
|
+
'create_release',
|
|
50
|
+
'create_pr_from_spec',
|
|
51
|
+
'review_pr',
|
|
52
|
+
'apply_template',
|
|
53
|
+
'transform_code',
|
|
54
|
+
'configure_hooks',
|
|
55
|
+
'configure_workers',
|
|
56
|
+
'configure_llm_providers',
|
|
57
|
+
'start_hooks',
|
|
58
|
+
'stop_hooks',
|
|
59
|
+
'start_webhook',
|
|
60
|
+
'stop_webhook',
|
|
61
|
+
'start_dashboard',
|
|
62
|
+
'stop_dashboard',
|
|
63
|
+
'manage_trash',
|
|
64
|
+
'manage_plugins',
|
|
65
|
+
'set_locale',
|
|
66
|
+
'generate_ide_config',
|
|
67
|
+
'generate_planu_ci',
|
|
68
|
+
'generate_docs_site',
|
|
69
|
+
'generate_spec_dashboard',
|
|
70
|
+
'generate_teammate_prompt',
|
|
71
|
+
'generate_sub_agent',
|
|
72
|
+
'generate_skill',
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
scope: 'planu:admin',
|
|
77
|
+
tools: ['configure_auth', 'activate_license', 'deactivate_license', 'activate_group'],
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
/**
|
|
81
|
+
* Resolve the set of allowed tool names given the granted scopes.
|
|
82
|
+
* Merges built-in mappings with any custom mappings from the config.
|
|
83
|
+
*
|
|
84
|
+
* @param grantedScopes - Scopes present in the validated token.
|
|
85
|
+
* @param customMappings - Additional scope→tools mappings from AuthConfig.
|
|
86
|
+
* @returns Deduplicated list of tool names the caller may invoke.
|
|
87
|
+
*/
|
|
88
|
+
export function resolveAllowedTools(grantedScopes, customMappings = {}) {
|
|
89
|
+
const allMappings = buildMergedMappings(customMappings);
|
|
90
|
+
const toolSet = new Set();
|
|
91
|
+
for (const scope of grantedScopes) {
|
|
92
|
+
const tools = allMappings[scope] ?? [];
|
|
93
|
+
for (const tool of tools) {
|
|
94
|
+
toolSet.add(tool);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return [...toolSet];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Check whether a specific tool is allowed given the resolved tool set.
|
|
101
|
+
* When allowedTools is empty (no auth configured), all tools are accessible.
|
|
102
|
+
*/
|
|
103
|
+
export function isToolAllowed(toolName, allowedTools) {
|
|
104
|
+
if (allowedTools.length === 0) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
return allowedTools.includes(toolName);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Merge built-in scope mappings with custom overrides from the auth config.
|
|
111
|
+
* Custom mappings add to (not replace) built-in tool lists.
|
|
112
|
+
*/
|
|
113
|
+
function buildMergedMappings(custom) {
|
|
114
|
+
const merged = {};
|
|
115
|
+
for (const { scope, tools } of BUILTIN_SCOPE_MAPPINGS) {
|
|
116
|
+
merged[scope] = [...tools];
|
|
117
|
+
}
|
|
118
|
+
for (const [scope, tools] of Object.entries(custom)) {
|
|
119
|
+
const existing = merged[scope] ?? [];
|
|
120
|
+
merged[scope] = [...new Set([...existing, ...tools])];
|
|
121
|
+
}
|
|
122
|
+
return merged;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=scope-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-mapper.js","sourceRoot":"","sources":["../../../src/engine/auth/scope-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TokenValidationResult, AuthConfig } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Extract the raw token from an Authorization header value.
|
|
4
|
+
* Returns null if the header is missing or not a Bearer token.
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractBearerToken(authorizationHeader: string | undefined): string | null;
|
|
7
|
+
/**
|
|
8
|
+
* Validate an access token against the configured OAuth provider.
|
|
9
|
+
* Prefers JWKS validation (offline) when jwksUrl is configured,
|
|
10
|
+
* falls back to introspection endpoint (online) when introspectionUrl is set.
|
|
11
|
+
*
|
|
12
|
+
* IMPORTANT: The token string is NEVER logged or included in error messages.
|
|
13
|
+
*/
|
|
14
|
+
export declare function validateToken(token: string, config: AuthConfig): Promise<TokenValidationResult>;
|
|
15
|
+
//# sourceMappingURL=token-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-validator.d.ts","sourceRoot":"","sources":["../../../src/engine/auth/token-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAI9E;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CASzF;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAYhC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// engine/auth/token-validator.ts — Validate JWT/opaque tokens (SPEC-161)
|
|
2
|
+
// Supports: RFC 7662 token introspection (opaque tokens) and JWKS (JWT).
|
|
3
|
+
// Never logs token values.
|
|
4
|
+
const BEARER_PREFIX = 'Bearer ';
|
|
5
|
+
/**
|
|
6
|
+
* Extract the raw token from an Authorization header value.
|
|
7
|
+
* Returns null if the header is missing or not a Bearer token.
|
|
8
|
+
*/
|
|
9
|
+
export function extractBearerToken(authorizationHeader) {
|
|
10
|
+
if (!authorizationHeader) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
if (!authorizationHeader.startsWith(BEARER_PREFIX)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const token = authorizationHeader.slice(BEARER_PREFIX.length).trim();
|
|
17
|
+
return token.length > 0 ? token : null;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Validate an access token against the configured OAuth provider.
|
|
21
|
+
* Prefers JWKS validation (offline) when jwksUrl is configured,
|
|
22
|
+
* falls back to introspection endpoint (online) when introspectionUrl is set.
|
|
23
|
+
*
|
|
24
|
+
* IMPORTANT: The token string is NEVER logged or included in error messages.
|
|
25
|
+
*/
|
|
26
|
+
export async function validateToken(token, config) {
|
|
27
|
+
if (config.jwksUrl) {
|
|
28
|
+
return validateJwtWithJwks(token, config.jwksUrl);
|
|
29
|
+
}
|
|
30
|
+
if (config.introspectionUrl) {
|
|
31
|
+
return validateViaIntrospection(token, config.introspectionUrl, config.clientId);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
valid: false,
|
|
35
|
+
scopes: [],
|
|
36
|
+
reason: 'No validation endpoint configured (set jwksUrl or introspectionUrl in auth config)',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Reject JWKS-based JWT validation with a clear explanation.
|
|
41
|
+
*
|
|
42
|
+
* WHY this always returns invalid: verifying a JWT signature requires
|
|
43
|
+
* fetching the JWKS endpoint and validating against the provider's public key.
|
|
44
|
+
* That requires a crypto library (e.g. jose, jsonwebtoken) which cannot be
|
|
45
|
+
* added as a runtime dependency (project constraint: only MCP SDK, glob, zod).
|
|
46
|
+
* Accepting a JWT after only decoding the payload — without signature
|
|
47
|
+
* verification — would be a critical security vulnerability: any attacker
|
|
48
|
+
* could forge arbitrary claims by crafting their own base64-encoded payload.
|
|
49
|
+
*
|
|
50
|
+
* Use introspectionUrl for opaque tokens (RFC 7662), or configure a token
|
|
51
|
+
* validation webhook that performs signature verification externally.
|
|
52
|
+
*/
|
|
53
|
+
function validateJwtWithJwks(_token, _jwksUrl) {
|
|
54
|
+
return {
|
|
55
|
+
valid: false,
|
|
56
|
+
scopes: [],
|
|
57
|
+
reason: 'JWT signature verification requires a JWKS client library. ' +
|
|
58
|
+
'Configure a token validation webhook or use API key authentication instead.',
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Validate a token via RFC 7662 token introspection endpoint.
|
|
63
|
+
* Sends the token to the provider's introspection URL and checks active=true.
|
|
64
|
+
*/
|
|
65
|
+
async function validateViaIntrospection(token, introspectionUrl, clientId) {
|
|
66
|
+
let response;
|
|
67
|
+
try {
|
|
68
|
+
response = await fetch(introspectionUrl, {
|
|
69
|
+
method: 'POST',
|
|
70
|
+
headers: {
|
|
71
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
72
|
+
Accept: 'application/json',
|
|
73
|
+
},
|
|
74
|
+
body: new URLSearchParams({ token, client_id: clientId }).toString(),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return { valid: false, scopes: [], reason: 'Introspection endpoint unreachable' };
|
|
79
|
+
}
|
|
80
|
+
if (!response.ok) {
|
|
81
|
+
return {
|
|
82
|
+
valid: false,
|
|
83
|
+
scopes: [],
|
|
84
|
+
reason: `Introspection endpoint returned HTTP ${String(response.status)}`,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
let data;
|
|
88
|
+
try {
|
|
89
|
+
data = (await response.json());
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return { valid: false, scopes: [], reason: 'Introspection response is not valid JSON' };
|
|
93
|
+
}
|
|
94
|
+
if (!data.active) {
|
|
95
|
+
return { valid: false, scopes: [], reason: 'Token is inactive or revoked' };
|
|
96
|
+
}
|
|
97
|
+
const scopes = extractScopesFromPayload(data);
|
|
98
|
+
const subject = typeof data.sub === 'string' ? data.sub : undefined;
|
|
99
|
+
const expiresAt = typeof data.exp === 'number' ? data.exp : undefined;
|
|
100
|
+
return { valid: true, subject, scopes, expiresAt };
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Extract OAuth scopes from a token payload object.
|
|
104
|
+
* Handles both "scope" (space-separated string) and "scp" (array) claim formats.
|
|
105
|
+
*/
|
|
106
|
+
function extractScopesFromPayload(payload) {
|
|
107
|
+
// RFC 8693 — "scope" as space-separated string
|
|
108
|
+
if (typeof payload.scope === 'string') {
|
|
109
|
+
return payload.scope.split(' ').filter(Boolean);
|
|
110
|
+
}
|
|
111
|
+
// Common alternative — "scp" as array
|
|
112
|
+
if (Array.isArray(payload.scp)) {
|
|
113
|
+
return payload.scp.filter((s) => typeof s === 'string');
|
|
114
|
+
}
|
|
115
|
+
// Some providers use "scope" as an array
|
|
116
|
+
if (Array.isArray(payload.scope)) {
|
|
117
|
+
return payload.scope.filter((s) => typeof s === 'string');
|
|
118
|
+
}
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=token-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-validator.js","sourceRoot":"","sources":["../../../src/engine/auth/token-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EACf,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,eAAe,EACf,gBAAgB,EAEjB,MAAM,sBAAsB,CAAC;AAS9B;;;GAGG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwDlF"}
|
|
@@ -4,12 +4,13 @@ import { buildWorkflow, serializeWorkflow } from './yaml-builder.js';
|
|
|
4
4
|
const DEFAULT_JOBS = ['lint', 'test', 'build'];
|
|
5
5
|
const DEFAULT_TRIGGERS = ['push', 'pull_request'];
|
|
6
6
|
const DEFAULT_WORKFLOW_NAME = 'CI';
|
|
7
|
+
const DEFAULT_SPECS_DIR = 'planu/specs';
|
|
7
8
|
/**
|
|
8
9
|
* Generate a GitHub Actions CI workflow for a project.
|
|
9
10
|
* Detects the project stack and generates a valid workflow YAML.
|
|
10
11
|
*/
|
|
11
12
|
export async function generateCI(input) {
|
|
12
|
-
const { projectPath, jobs = DEFAULT_JOBS, triggers = DEFAULT_TRIGGERS, nodeVersion, pythonVersion, goVersion, rustChannel, javaVersion, workflowName = DEFAULT_WORKFLOW_NAME, } = input;
|
|
13
|
+
const { projectPath, jobs = DEFAULT_JOBS, triggers = DEFAULT_TRIGGERS, nodeVersion, pythonVersion, goVersion, rustChannel, javaVersion, workflowName = DEFAULT_WORKFLOW_NAME, includeDriftStep = false, specsDir = DEFAULT_SPECS_DIR, driftSeverityThreshold = 'warning', } = input;
|
|
13
14
|
// Detect stack from project files, create a mutable copy
|
|
14
15
|
const detected = await detectCIStack(projectPath);
|
|
15
16
|
const stackContext = { ...detected };
|
|
@@ -29,8 +30,12 @@ export async function generateCI(input) {
|
|
|
29
30
|
if (javaVersion !== undefined) {
|
|
30
31
|
stackContext.javaVersion = javaVersion;
|
|
31
32
|
}
|
|
33
|
+
// Build drift options when requested
|
|
34
|
+
const driftOptions = includeDriftStep
|
|
35
|
+
? { specsDir, threshold: driftSeverityThreshold }
|
|
36
|
+
: undefined;
|
|
32
37
|
// Build the workflow model
|
|
33
|
-
const workflow = buildWorkflow(stackContext, jobs, triggers, workflowName);
|
|
38
|
+
const workflow = buildWorkflow(stackContext, jobs, triggers, workflowName, driftOptions);
|
|
34
39
|
// Serialize to YAML
|
|
35
40
|
const yamlContent = serializeWorkflow(workflow);
|
|
36
41
|
return {
|
|
@@ -39,6 +44,7 @@ export async function generateCI(input) {
|
|
|
39
44
|
yamlContent,
|
|
40
45
|
jobs,
|
|
41
46
|
stackContext,
|
|
47
|
+
driftStepIncluded: includeDriftStep,
|
|
42
48
|
};
|
|
43
49
|
}
|
|
44
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAS9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,YAAY,GAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,qBAAqB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAS9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,YAAY,GAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,MAAM,gBAAgB,GAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAsB;IACrD,MAAM,EACJ,WAAW,EACX,IAAI,GAAG,YAAY,EACnB,QAAQ,GAAG,gBAAgB,EAC3B,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,GAAG,qBAAqB,EACpC,gBAAgB,GAAG,KAAK,EACxB,QAAQ,GAAG,iBAAiB,EAC5B,sBAAsB,GAAG,SAAS,GACnC,GAAG,KAAK,CAAC;IAEV,yDAAyD;IACzD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAErC,uDAAuD;IACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IACzC,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;IACzC,CAAC;IAED,qCAAqC;IACrC,MAAM,YAAY,GAAgC,gBAAgB;QAChE,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE;QACjD,CAAC,CAAC,SAAS,CAAC;IAEd,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAEzF,oBAAoB;IACpB,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO;QACL,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,YAAY,EAAE,QAAQ,CAAC,QAAQ;QAC/B,WAAW;QACX,IAAI;QACJ,YAAY;QACZ,iBAAiB,EAAE,gBAAgB;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import type { CIJobType, CIStackContext, CITriggerEvent, CIWorkflow } from '../../types/index.js';
|
|
1
|
+
import type { CIJob, CIJobType, CISeverityThreshold, CIStackContext, CITriggerEvent, CIWorkflow, DriftJobOptions } from '../../types/index.js';
|
|
2
|
+
export type { DriftJobOptions };
|
|
2
3
|
/** Serialize a CIWorkflow to a YAML string. */
|
|
3
4
|
export declare function serializeWorkflow(workflow: CIWorkflow): string;
|
|
5
|
+
/**
|
|
6
|
+
* Build a Planu drift detection job for inclusion in a GitHub Actions workflow.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildDriftJob(specsDir: string, threshold: CISeverityThreshold, needsJobs: string[]): CIJob;
|
|
4
9
|
/**
|
|
5
10
|
* Build a complete CIWorkflow from the stack context and job/trigger options.
|
|
6
11
|
*/
|
|
7
|
-
export declare function buildWorkflow(ctx: CIStackContext, jobs: CIJobType[], triggers: CITriggerEvent[], workflowName: string): CIWorkflow;
|
|
12
|
+
export declare function buildWorkflow(ctx: CIStackContext, jobs: CIJobType[], triggers: CITriggerEvent[], workflowName: string, driftOptions?: DriftJobOptions): CIWorkflow;
|
|
8
13
|
//# sourceMappingURL=yaml-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-builder.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"yaml-builder.d.ts","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,cAAc,EAEd,cAAc,EACd,UAAU,EACV,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,CAAC;AAuGhC,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM,CAe9D;AA4KD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,mBAAmB,EAC9B,SAAS,EAAE,MAAM,EAAE,GAClB,KAAK,CAyCP;AAID;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,SAAS,EAAE,EACjB,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,GAC7B,UAAU,CA4CZ"}
|
|
@@ -21,6 +21,9 @@ function serializeEnv(envValues) {
|
|
|
21
21
|
}
|
|
22
22
|
function serializeStep(step) {
|
|
23
23
|
const lines = [` - name: ${step.name}`];
|
|
24
|
+
if (step.id) {
|
|
25
|
+
lines.push(` id: ${step.id}`);
|
|
26
|
+
}
|
|
24
27
|
if (step.if) {
|
|
25
28
|
lines.push(` if: ${step.if}`);
|
|
26
29
|
}
|
|
@@ -246,11 +249,53 @@ function buildDeployJob(ctx, needsJobs) {
|
|
|
246
249
|
env: { NODE_ENV: 'production' },
|
|
247
250
|
};
|
|
248
251
|
}
|
|
252
|
+
// -- Drift job builder -------------------------------------------------------
|
|
253
|
+
/**
|
|
254
|
+
* Build a Planu drift detection job for inclusion in a GitHub Actions workflow.
|
|
255
|
+
*/
|
|
256
|
+
export function buildDriftJob(specsDir, threshold, needsJobs) {
|
|
257
|
+
const detectScript = [
|
|
258
|
+
`CHANGED=$(git diff origin/main...HEAD --name-only -- '${specsDir}' | head -1)`,
|
|
259
|
+
'if [ -n "$CHANGED" ]; then',
|
|
260
|
+
' echo "drift-detected=true" >> "$GITHUB_OUTPUT"',
|
|
261
|
+
'else',
|
|
262
|
+
' echo "drift-detected=false" >> "$GITHUB_OUTPUT"',
|
|
263
|
+
'fi',
|
|
264
|
+
].join('\n');
|
|
265
|
+
const steps = [
|
|
266
|
+
{ name: 'Checkout code', uses: 'actions/checkout@v4', with: { 'fetch-depth': 0 } },
|
|
267
|
+
{
|
|
268
|
+
name: 'Detect spec drift',
|
|
269
|
+
id: 'drift',
|
|
270
|
+
run: detectScript,
|
|
271
|
+
},
|
|
272
|
+
];
|
|
273
|
+
if (threshold === 'warning' || threshold === 'critical') {
|
|
274
|
+
const failScript = [
|
|
275
|
+
`echo "Spec drift detected at ${threshold} threshold. Run reconcile_spec to fix."`,
|
|
276
|
+
'exit 1',
|
|
277
|
+
].join('\n');
|
|
278
|
+
steps.push({
|
|
279
|
+
name: 'Fail on drift',
|
|
280
|
+
if: "steps.drift.outputs['drift-detected'] == 'true'",
|
|
281
|
+
run: failScript,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
return {
|
|
285
|
+
name: 'Planu Drift Detection',
|
|
286
|
+
runsOn: 'ubuntu-latest',
|
|
287
|
+
needs: needsJobs,
|
|
288
|
+
steps,
|
|
289
|
+
outputs: {
|
|
290
|
+
'drift-detected': "${{ steps.drift.outputs['drift-detected'] }}",
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
}
|
|
249
294
|
// -- Main export -------------------------------------------------------------
|
|
250
295
|
/**
|
|
251
296
|
* Build a complete CIWorkflow from the stack context and job/trigger options.
|
|
252
297
|
*/
|
|
253
|
-
export function buildWorkflow(ctx, jobs, triggers, workflowName) {
|
|
298
|
+
export function buildWorkflow(ctx, jobs, triggers, workflowName, driftOptions) {
|
|
254
299
|
const jobMap = {};
|
|
255
300
|
const jobOrder = [];
|
|
256
301
|
if (jobs.includes('lint')) {
|
|
@@ -271,6 +316,9 @@ export function buildWorkflow(ctx, jobs, triggers, workflowName) {
|
|
|
271
316
|
jobMap.deploy = buildDeployJob(ctx, preDeployJobs);
|
|
272
317
|
jobOrder.push('deploy');
|
|
273
318
|
}
|
|
319
|
+
if (driftOptions !== undefined) {
|
|
320
|
+
jobMap['planu-drift'] = buildDriftJob(driftOptions.specsDir, driftOptions.threshold, jobOrder);
|
|
321
|
+
}
|
|
274
322
|
const filename = workflowName
|
|
275
323
|
.toLowerCase()
|
|
276
324
|
.replace(/\s+/g, '-')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-builder.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yaml-builder.js","sourceRoot":"","sources":["../../../src/engine/ci-generator/yaml-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contradictions.d.ts","sourceRoot":"","sources":["../../../src/engine/clarify/contradictions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAuClE,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,qBAAqB,EAAE,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"contradictions.d.ts","sourceRoot":"","sources":["../../../src/engine/clarify/contradictions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAuClE,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,qBAAqB,EAAE,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,EAAE,CA2BV;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,qBAAqB,EAAE,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAUT;AAED,8DAA8D;AAC9D,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,qBAAqB,EAAE,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,qBAAqB,EAAE,CA0BzB"}
|
|
@@ -36,6 +36,7 @@ export function detectContradictions(questions, answers) {
|
|
|
36
36
|
.filter((q) => answers[q.id] !== undefined && answers[q.id] !== '')
|
|
37
37
|
.map((q) => ({
|
|
38
38
|
question: q.question.toLowerCase(),
|
|
39
|
+
/* v8 ignore next 1 */
|
|
39
40
|
answer: (answers[q.id] ?? '').toLowerCase(),
|
|
40
41
|
}));
|
|
41
42
|
for (const rule of CONTRADICTION_RULES) {
|
|
@@ -53,7 +54,9 @@ export function evaluateSpecReadiness(questions, answers) {
|
|
|
53
54
|
if (criticalQuestions.length === 0) {
|
|
54
55
|
return true;
|
|
55
56
|
}
|
|
56
|
-
const answeredCritical = criticalQuestions.filter(
|
|
57
|
+
const answeredCritical = criticalQuestions.filter(
|
|
58
|
+
/* v8 ignore next 1 */
|
|
59
|
+
(q) => answers[q.id] !== undefined && (answers[q.id] ?? '').trim() !== '');
|
|
57
60
|
return answeredCritical.length === criticalQuestions.length;
|
|
58
61
|
}
|
|
59
62
|
/** Generate follow-up questions based on provided answers. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contradictions.js","sourceRoot":"","sources":["../../../src/engine/clarify/contradictions.ts"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAMnB;IACJ;QACE,gBAAgB,EAAE,UAAU;QAC5B,gBAAgB,EAAE,UAAU;QAC5B,cAAc,EAAE,kBAAkB;QAClC,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,6EAA6E;KACvF;IACD;QACE,gBAAgB,EAAE,gBAAgB;QAClC,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,OAAO;QACvB,OAAO,EAAE,sEAAsE;KAChF;IACD;QACE,gBAAgB,EAAE,aAAa;QAC/B,gBAAgB,EAAE,aAAa;QAC/B,cAAc,EAAE,WAAW;QAC3B,cAAc,EAAE,UAAU;QAC1B,OAAO,EAAE,gEAAgE;KAC1E;IACD;QACE,gBAAgB,EAAE,kBAAkB;QACpC,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,qFAAqF;KAC/F;CACF,CAAC;AAEF,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAClC,SAAkC,EAClC,OAA+B;IAE/B,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,uCAAuC;IACvC,MAAM,QAAQ,GAA2C,SAAS;SAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;QAClC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;KAC5C,CAAC,CAAC,CAAC;IAEN,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CACzF,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CACzF,CAAC;QACF,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CACnC,SAAkC,EAClC,OAA+B;IAE/B,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAC/E,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"contradictions.js","sourceRoot":"","sources":["../../../src/engine/clarify/contradictions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { DesignScreen, DesignComponent, DesignPlatform } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Generates acceptance criteria for a single screen.
|
|
4
|
+
* Returns ACs grouped by theme: visibility, interactions, data, a11y, platform.
|
|
5
|
+
*/
|
|
6
|
+
export declare function generateAcsForScreen(screen: DesignScreen, platform: DesignPlatform, includeA11y: boolean): string[];
|
|
7
|
+
/**
|
|
8
|
+
* Generates all acceptance criteria for a set of screens.
|
|
9
|
+
* Returns a deduplicated flat array of AC strings.
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateAllAcs(screens: DesignScreen[], platform: DesignPlatform, includeA11y: boolean): string[];
|
|
12
|
+
/**
|
|
13
|
+
* Returns a11y requirements for a component type.
|
|
14
|
+
* Used by ui-contract-builder to annotate component entries.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getA11yRequirementsForComponent(componentType: DesignComponent['type']): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Returns global a11y requirements that apply to every screen.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getGlobalA11yRequirements(): string[];
|
|
21
|
+
//# sourceMappingURL=ac-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ac-generator.d.ts","sourceRoot":"","sources":["../../../src/engine/design-to-spec/ac-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA2I1F;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,OAAO,GACnB,MAAM,EAAE,CA8BV;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,OAAO,GACnB,MAAM,EAAE,CAeV;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEhG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD"}
|