@planu/cli 4.13.0 → 5.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 +64 -1
- package/LICENSE +55 -12
- package/README.md +33 -25
- package/dist/cli/commands/inspect.d.ts +4 -0
- package/dist/cli/commands/inspect.js +144 -0
- package/dist/cli/commands/install.d.ts +19 -12
- package/dist/cli/commands/install.js +148 -102
- package/dist/cli/commands/job.d.ts +3 -0
- package/dist/cli/commands/job.js +120 -0
- package/dist/cli/commands/offline.d.ts +15 -0
- package/dist/cli/commands/offline.js +132 -0
- package/dist/cli/commands/serve.js +4 -0
- package/dist/cli/commands/spec.js +1 -1
- package/dist/cli/commands/storage.d.ts +3 -0
- package/dist/cli/commands/storage.js +102 -0
- package/dist/cli/commands/uninstall.d.ts +10 -0
- package/dist/cli/commands/uninstall.js +93 -7
- package/dist/cli/commands/validate.js +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/router.js +9 -3
- package/dist/config/crash-shield-framework-rules.json +93 -0
- package/dist/config/environment-schema.json +147 -0
- package/dist/config/hardcode-exceptions.json +4 -0
- package/dist/config/native-release-public-key.pem +3 -0
- package/dist/config/native-targets.json +87 -0
- package/dist/config/official-sdd-tools.d.ts +4 -0
- package/dist/config/official-sdd-tools.js +35 -0
- package/dist/config/product-public.d.ts +225 -0
- package/dist/config/product-public.js +147 -0
- package/dist/config/product-public.json +283 -0
- package/dist/config/registries/hosts/codex.json +20 -363
- package/dist/config/release-compatibility.json +13 -0
- package/dist/config/release-policy.json +108 -0
- package/dist/config/runtime-policy.json +55 -0
- package/dist/config/skill-templates/planu-resume-work.md +2 -2
- package/dist/config/skill-templates/planu-validate.md +7 -4
- package/dist/config/subagent-templates/planu-spec-implementer.md +7 -3
- package/dist/config/subagent-templates/planu-validator.md +10 -5
- package/dist/config/technology-registry.json +120 -0
- package/dist/config/version.js +7 -8
- package/dist/core/index.d.ts +1 -1
- package/dist/core/spec-validator.d.ts +4 -4
- package/dist/core/spec-validator.js +1 -1
- package/dist/engine/abortable-process-runner.d.ts +20 -2
- package/dist/engine/abortable-process-runner.js +267 -67
- package/dist/engine/advanced-testing/accessibility-checker.js +12 -14
- package/dist/engine/advanced-testing/mutation-advisor.js +3 -4
- package/dist/engine/advanced-testing/property-based.js +2 -3
- package/dist/engine/advanced-testing/test-data-advisor.js +2 -3
- package/dist/engine/agent-generator.js +2 -1
- package/dist/engine/agent-handoff-store.js +2 -1
- package/dist/engine/agent-prompt-generator.js +7 -5
- package/dist/engine/agent-telemetry.js +2 -1
- package/dist/engine/ai-integration/gemini/extensions-advisor.js +41 -9
- package/dist/engine/ambiguity-detector.js +12 -11
- package/dist/engine/ambiguity-scorer.js +4 -26
- package/dist/engine/analyzer/db-engine.js +2 -3
- package/dist/engine/analyzer/detectors.js +13 -14
- package/dist/engine/analyzer/env-setup.js +9 -10
- package/dist/engine/analyzer-env-scanner/env-example.js +7 -8
- package/dist/engine/api-spec-generator/graphql-parser.js +2 -2
- package/dist/engine/api-validation/graphql-schema-validator.js +2 -1
- package/dist/engine/api-validation/openapi-impl-validator.js +6 -7
- package/dist/engine/architecture-detector.js +10 -8
- package/dist/engine/auth/config.d.ts +1 -1
- package/dist/engine/auth/config.js +4 -3
- package/dist/engine/auth/scope-mapper.js +1 -7
- package/dist/engine/auto-updater/atomic-upgrade.d.ts +8 -0
- package/dist/engine/auto-updater/atomic-upgrade.js +381 -0
- package/dist/engine/auto-updater/config-detector.js +9 -3
- package/dist/engine/auto-updater/config-patcher.d.ts +0 -4
- package/dist/engine/auto-updater/config-patcher.js +10 -15
- package/dist/engine/auto-updater/index.d.ts +3 -1
- package/dist/engine/auto-updater/index.js +44 -30
- package/dist/engine/auto-updater/npm-registry.js +10 -2
- package/dist/engine/auto-updater/release-verifier.d.ts +3 -0
- package/dist/engine/auto-updater/release-verifier.js +112 -0
- package/dist/engine/auto-updater/upgrade-lock.d.ts +6 -0
- package/dist/engine/auto-updater/upgrade-lock.js +28 -0
- package/dist/engine/auto-updater/upgrade-trust-state.d.ts +7 -0
- package/dist/engine/auto-updater/upgrade-trust-state.js +59 -0
- package/dist/engine/autopilot/audit-logger.js +2 -5
- package/dist/engine/autopilot/state-updater.js +4 -4
- package/dist/engine/best-practices-library.js +2 -1
- package/dist/engine/browser-validator.js +2 -1
- package/dist/engine/build-tool-detector.js +3 -2
- package/dist/engine/cascade-hooks/hooks/review-enricher.hook.js +9 -6
- package/dist/engine/cascade-hooks/state-drift-detector.d.ts +3 -3
- package/dist/engine/cascade-hooks/state-drift-detector.js +1 -1
- package/dist/engine/ci-generator/context-builders.js +7 -5
- package/dist/engine/ci-generator/planu-config.js +1 -7
- package/dist/engine/ci-generator/stack-detector.js +0 -2
- package/dist/engine/ci-generator/yaml-builder.js +0 -2
- package/dist/engine/clarification-gate/gate.d.ts +3 -3
- package/dist/engine/claude-config-auditor/rules-auditor.js +4 -3
- package/dist/engine/code-scanner/layer-scanner.js +6 -22
- package/dist/engine/code-transforms/typescript/ast-utils.js +2 -3
- package/dist/engine/complexity-budget/trivial-detector.js +2 -1
- package/dist/engine/compliance-test-generator/index.js +7 -2
- package/dist/engine/compliance-test-generator/test-formatter.js +2 -2
- package/dist/engine/config-health/mcp-config-checker.js +2 -1
- package/dist/engine/config-health/ts-checker-scripts.js +4 -3
- package/dist/engine/config-health/ts-checker.js +3 -2
- package/dist/engine/convention-injector.js +5 -7
- package/dist/engine/convention-scanner/convention-parser.js +3 -2
- package/dist/engine/core-bridge-duplicate-blocks.d.ts +3 -0
- package/dist/engine/core-bridge-duplicate-blocks.js +57 -0
- package/dist/engine/core-bridge-gaps.d.ts +4 -0
- package/dist/engine/core-bridge-gaps.js +75 -0
- package/dist/engine/core-bridge.d.ts +10 -10
- package/dist/engine/core-bridge.js +196 -283
- package/dist/engine/cost-guardrails.d.ts +1 -1
- package/dist/engine/cost-guardrails.js +1 -1
- package/dist/engine/cost-tracking/ledger.js +2 -5
- package/dist/engine/coverage-gap-analyzer.js +10 -1
- package/dist/engine/crash-shield/detectors/framework-detector.d.ts +2 -0
- package/dist/engine/crash-shield/detectors/framework-detector.js +110 -192
- package/dist/engine/crash-shield/detectors/typescript-detector.js +2 -1
- package/dist/engine/criterion-identity.d.ts +1 -0
- package/dist/engine/criterion-identity.js +7 -0
- package/dist/engine/dashboard/data-loader.js +4 -8
- package/dist/engine/dashboard/templates-layout.js +0 -3
- package/dist/engine/dashboard/templates-project.js +1 -13
- package/dist/engine/data-projects-gc/gc-runner.d.ts +7 -0
- package/dist/engine/data-projects-gc/gc-runner.js +113 -3
- package/dist/engine/data-projects-gc/scanner.js +5 -1
- package/dist/engine/decision-store.js +11 -14
- package/dist/engine/deleter/core.js +5 -5
- package/dist/engine/dep-auditor/abandonment-data.js +2 -1
- package/dist/engine/dep-auditor/abandonment-registry.js +3 -1
- package/dist/engine/dep-auditor/cve-fetcher.js +3 -0
- package/dist/engine/dep-auditor/dep-duplicates-detector.js +36 -4
- package/dist/engine/dep-auditor/license-registry.js +2 -0
- package/dist/engine/dependency-evaluator.d.ts +14 -0
- package/dist/engine/dependency-evaluator.js +81 -0
- package/dist/engine/deploy/providers/fly.js +7 -7
- package/dist/engine/deploy/providers/netlify.js +7 -7
- package/dist/engine/deploy/providers/railway.js +10 -12
- package/dist/engine/deploy/providers/vercel.js +7 -9
- package/dist/engine/deprecation-scanner/pattern-loader.js +0 -2
- package/dist/engine/desktop-detector.js +2 -3
- package/dist/engine/detect-duplication.js +2 -1
- package/dist/engine/detectors/advanced-framework-detector/css-state-detector.js +2 -1
- package/dist/engine/detectors/advanced-framework-detector/legacy-detector.js +2 -3
- package/dist/engine/detectors/advanced-framework-detector/modern-detector.js +3 -4
- package/dist/engine/detectors/agent-framework-detector.js +3 -2
- package/dist/engine/detectors/ai-native-detector.js +4 -6
- package/dist/engine/detectors/cache-db-detector.js +4 -3
- package/dist/engine/detectors/cicd-detector.js +4 -3
- package/dist/engine/detectors/deployment-detector.js +11 -12
- package/dist/engine/detectors/frontend-perf-detector.js +14 -9
- package/dist/engine/detectors/library-detector-multilang-a.js +16 -3
- package/dist/engine/detectors/library-detector-node.js +14 -4
- package/dist/engine/detectors/library-detector-python.js +7 -1
- package/dist/engine/detectors/library-detector.js +0 -2
- package/dist/engine/detectors/llm-detector/provider-maps.js +3 -2
- package/dist/engine/detectors/mcp-candidate-detector.js +12 -16
- package/dist/engine/detectors/mfe-detector.js +6 -7
- package/dist/engine/detectors/monitoring-detector.js +4 -3
- package/dist/engine/detectors/otel-detector.js +3 -2
- package/dist/engine/detectors/otel-ecosystem-detectors.d.ts +2 -2
- package/dist/engine/detectors/otel-ecosystem-detectors.js +4 -3
- package/dist/engine/detectors/platform-specialty-detector.js +3 -5
- package/dist/engine/detectors/template-engine-detector.js +3 -4
- package/dist/engine/doc-generator/builders.js +2 -3
- package/dist/engine/doc-generator/mobile-distribution-guide.js +13 -17
- package/dist/engine/doc-generator/portal/dirty-flag-map.d.ts +2 -2
- package/dist/engine/doc-generator/portal/portal-regenerator.js +3 -47
- package/dist/engine/docs-site-generator/data-collector.d.ts +1 -1
- package/dist/engine/docs-site-generator/data-collector.js +7 -28
- package/dist/engine/docs-site-generator/tools-renderer.js +3 -10
- package/dist/engine/domain-detector.js +3 -6
- package/dist/engine/dynamic-knowledge/knowledge-cache.js +3 -4
- package/dist/engine/dynamic-knowledge/knowledge-merger.js +17 -2
- package/dist/engine/dynamic-knowledge/web-researcher.js +15 -14
- package/dist/engine/dynamic-migration-detector/manifest-readers-extended.js +0 -2
- package/dist/engine/e2e-test-generator.js +4 -3
- package/dist/engine/ecosystem-absorber/knowledge-cache.js +2 -1
- package/dist/engine/ecosystem-absorber/platform-crawler.js +2 -2
- package/dist/engine/escalator/retry-counter.js +2 -1
- package/dist/engine/evidence-gates/artifact-reader.d.ts +16 -1
- package/dist/engine/evidence-gates/artifact-reader.js +220 -23
- package/dist/engine/evidence-gates/lifecycle-gate.d.ts +2 -1
- package/dist/engine/evidence-gates/lifecycle-gate.js +58 -3
- package/dist/engine/evidence-gates/reconciliation-freshness.d.ts +11 -0
- package/dist/engine/evidence-gates/reconciliation-freshness.js +72 -0
- package/dist/engine/evidence-index/done-drift.d.ts +1 -1
- package/dist/engine/evidence-index/done-drift.js +40 -18
- package/dist/engine/execution/context.d.ts +19 -0
- package/dist/engine/execution/context.js +130 -0
- package/dist/engine/execution/deadline-io.d.ts +21 -0
- package/dist/engine/execution/deadline-io.js +45 -0
- package/dist/engine/execution/durable-job-heartbeat-runtime.d.ts +4 -0
- package/dist/engine/execution/durable-job-heartbeat-runtime.js +400 -0
- package/dist/engine/execution/job-executor.d.ts +16 -0
- package/dist/engine/execution/job-executor.js +140 -0
- package/dist/engine/execution/job-runtime.d.ts +108 -0
- package/dist/engine/execution/job-runtime.js +328 -0
- package/dist/engine/execution/native-relevance-scorer.d.ts +6 -0
- package/dist/engine/execution/native-relevance-scorer.js +64 -0
- package/dist/engine/execution/native-worker-dispatch.d.ts +3 -0
- package/dist/engine/execution/native-worker-dispatch.js +46 -0
- package/dist/engine/execution/native-worker-protocol.d.ts +6 -0
- package/dist/engine/execution/native-worker-protocol.js +33 -0
- package/dist/engine/execution/native-worker-runtime.d.ts +4 -0
- package/dist/engine/execution/native-worker-runtime.js +177 -0
- package/dist/engine/execution/native-worker-thread.d.ts +2 -0
- package/dist/engine/execution/native-worker-thread.js +66 -0
- package/dist/engine/execution/operation-journal.d.ts +66 -0
- package/dist/engine/execution/operation-journal.js +260 -0
- package/dist/engine/execution/outbox-worker.d.ts +31 -0
- package/dist/engine/execution/outbox-worker.js +192 -0
- package/dist/engine/execution/public-job-sanitizer.d.ts +4 -0
- package/dist/engine/execution/public-job-sanitizer.js +31 -0
- package/dist/engine/execution/validate-job-executor.d.ts +35 -0
- package/dist/engine/execution/validate-job-executor.js +805 -0
- package/dist/engine/execution/validate-job-payload.d.ts +5 -0
- package/dist/engine/execution/validate-job-payload.js +144 -0
- package/dist/engine/execution/validate-job-recovery.d.ts +4 -0
- package/dist/engine/execution/validate-job-recovery.js +47 -0
- package/dist/engine/execution/validate-worker-runtime.d.ts +10 -0
- package/dist/engine/execution/validate-worker-runtime.js +188 -0
- package/dist/engine/execution/validate-worker-thread.d.ts +2 -0
- package/dist/engine/execution/validate-worker-thread.js +64 -0
- package/dist/engine/execution-plan/desktop-distribution.js +3 -7
- package/dist/engine/execution-plan/mobile-distribution.js +4 -9
- package/dist/engine/execution-plan/phases.js +4 -5
- package/dist/engine/execution-plan/plan-utils.js +8 -5
- package/dist/engine/facilitate/context-loader.js +3 -9
- package/dist/engine/figma/code-connect-fetcher.js +9 -8
- package/dist/engine/filesystem-watcher/index.d.ts +3 -3
- package/dist/engine/filesystem-watcher/index.js +5 -5
- package/dist/engine/framework-detector.js +14 -15
- package/dist/engine/git/planu-autocommit.js +8 -7
- package/dist/engine/git/repository-probe.d.ts +3 -0
- package/dist/engine/git/repository-probe.js +13 -0
- package/dist/engine/global-rules-manager.js +2 -2
- package/dist/engine/handoff-artifacts/io.js +2 -3
- package/dist/engine/handoff-artifacts/schemas/red-tests-handoff.js +8 -1
- package/dist/engine/handoff-artifacts/schemas.d.ts +6 -1
- package/dist/engine/handoff-artifacts/schemas.js +38 -0
- package/dist/engine/handoff-packager.d.ts +19 -0
- package/dist/engine/handoff-packager.js +415 -13
- package/dist/engine/hook-generator/stack-hook-templates.js +4 -4
- package/dist/engine/hooks/config-loader.js +1 -1
- package/dist/engine/hooks/context-injector.js +4 -7
- package/dist/engine/hooks/effort-configurator.js +1 -1
- package/dist/engine/hooks/file-watcher.js +1 -14
- package/dist/engine/hooks-reconciler.js +6 -4
- package/dist/engine/impact-detector/test-break-predictor.js +3 -3
- package/dist/engine/impact-detector/tool-registration.js +1 -1
- package/dist/engine/implementation-contract/renderer.js +23 -8
- package/dist/engine/infrastructure/component-mapper.js +5 -7
- package/dist/engine/infrastructure/docker-compose-generator.js +8 -10
- package/dist/engine/infrastructure/index.js +6 -3
- package/dist/engine/infrastructure/kubernetes-generator.js +2 -2
- package/dist/engine/infrastructure/railway-generator.js +10 -8
- package/dist/engine/infrastructure/signal-detector.js +6 -8
- package/dist/engine/infrastructure/terraform-generator.js +6 -8
- package/dist/engine/legal-compliance/detector.js +3 -2
- package/dist/engine/lifecycle-reconciliation-io.d.ts +11 -0
- package/dist/engine/lifecycle-reconciliation-io.js +180 -0
- package/dist/engine/lifecycle-reconciliation.d.ts +16 -0
- package/dist/engine/lifecycle-reconciliation.js +406 -0
- package/dist/engine/local-first/storage-advisor.js +5 -6
- package/dist/engine/local-first/tool-classification.js +2 -0
- package/dist/engine/macos-keychain-native-port.d.ts +10 -0
- package/dist/engine/macos-keychain-native-port.js +38 -0
- package/dist/engine/marketplace-fetcher/cache.js +3 -1
- package/dist/engine/mcp-config/mcp-config-writer.d.ts +2 -2
- package/dist/engine/mcp-config/mcp-config-writer.js +10 -8
- package/dist/engine/migration/db-migrator.js +2 -5
- package/dist/engine/migration/equivalence-mapper.js +12 -13
- package/dist/engine/migration/service-catalogs.js +6 -7
- package/dist/engine/migration/service-migrator-catalogs.js +6 -7
- package/dist/engine/migrations/remove-commercial-state.d.ts +3 -0
- package/dist/engine/migrations/remove-commercial-state.js +343 -0
- package/dist/engine/mobile-detector-ios.js +2 -3
- package/dist/engine/mobile-detector.js +16 -4
- package/dist/engine/model-router/complexity-analyzer.js +4 -7
- package/dist/engine/multi-agent-review/security-analyzer.js +3 -1
- package/dist/engine/multi-app-detector/app-type.js +26 -21
- package/dist/engine/multi-app-detector/core.js +3 -2
- package/dist/engine/multi-teammate-review/disagreement-counter.js +2 -1
- package/dist/engine/multi-teammate-review/panel-orchestrator.js +0 -2
- package/dist/engine/mutation-config-generator.js +10 -7
- package/dist/engine/native-capability-policy.d.ts +4 -0
- package/dist/engine/native-capability-policy.js +24 -0
- package/dist/engine/native-platform.d.ts +3 -0
- package/dist/engine/native-platform.js +44 -0
- package/dist/engine/native-runtime-handshake.d.ts +20 -0
- package/dist/engine/native-runtime-handshake.js +230 -0
- package/dist/engine/network-policy.d.ts +27 -0
- package/dist/engine/network-policy.js +175 -0
- package/dist/engine/next-spec-resolver/dependency-filter.js +2 -22
- package/dist/engine/nfr-profile-detector.js +12 -16
- package/dist/engine/nli-keywords.js +8 -9
- package/dist/engine/oauth/config-guard.js +4 -5
- package/dist/engine/observability/local-execution-spans.d.ts +15 -0
- package/dist/engine/observability/local-execution-spans.js +63 -0
- package/dist/engine/orchestrator/runtime.js +0 -1
- package/dist/engine/package-registry.js +2 -6
- package/dist/engine/performance-analyzer.js +2 -5
- package/dist/engine/permissions-merger/stack-detectors.js +5 -5
- package/dist/engine/planu-core.darwin-arm64.node.manifest.json +39 -0
- package/dist/engine/planu-core.darwin-arm64.node.sbom.json +1310 -0
- package/dist/engine/planu-core.darwin-x64.node.manifest.json +39 -0
- package/dist/engine/planu-core.darwin-x64.node.sbom.json +1310 -0
- package/dist/engine/planu-core.linux-arm64-gnu.node.manifest.json +38 -0
- package/dist/engine/planu-core.linux-arm64-gnu.node.sbom.json +1310 -0
- package/dist/engine/planu-core.linux-arm64-musl.node.manifest.json +38 -0
- package/dist/engine/planu-core.linux-arm64-musl.node.sbom.json +1310 -0
- package/dist/engine/planu-core.linux-x64-gnu.node.manifest.json +38 -0
- package/dist/engine/planu-core.linux-x64-gnu.node.sbom.json +1310 -0
- package/dist/engine/planu-core.linux-x64-musl.node.manifest.json +38 -0
- package/dist/engine/planu-core.linux-x64-musl.node.sbom.json +1310 -0
- package/dist/engine/planu-core.win32-arm64-msvc.node.manifest.json +38 -0
- package/dist/engine/planu-core.win32-arm64-msvc.node.sbom.json +1310 -0
- package/dist/engine/planu-core.win32-x64-msvc.node.manifest.json +38 -0
- package/dist/engine/planu-core.win32-x64-msvc.node.sbom.json +1310 -0
- package/dist/engine/platform-detector/desktop.js +15 -2
- package/dist/engine/platform-detector/extensions.js +2 -1
- package/dist/engine/platform-detector/games.js +2 -1
- package/dist/engine/platform-detector.js +3 -2
- package/dist/engine/platform-engineering/idp-detector.js +2 -1
- package/dist/engine/plugin-installer/stack-matcher.js +9 -17
- package/dist/engine/plugins/lifecycle.js +6 -2
- package/dist/engine/prior-decisions/contradiction-detector.js +60 -30
- package/dist/engine/project-dna/stack-detector.js +15 -17
- package/dist/engine/project-graph/builder.js +11 -0
- package/dist/engine/project-graph/cache.js +1 -1
- package/dist/engine/project-graph/freshness-projection.d.ts +16 -0
- package/dist/engine/project-graph/freshness-projection.js +95 -0
- package/dist/engine/project-graph/index.d.ts +1 -0
- package/dist/engine/project-graph/index.js +1 -0
- package/dist/engine/project-graph/query.js +15 -25
- package/dist/engine/project-health-checker.js +3 -4
- package/dist/engine/project-scanner/stack-detector.js +17 -17
- package/dist/engine/property-test-generator.js +2 -3
- package/dist/engine/qa-gate.d.ts +1 -0
- package/dist/engine/qa-gate.js +6 -4
- package/dist/engine/quality-gates/gate-catalog.js +47 -46
- package/dist/engine/quality-gates/gate-injector.js +9 -4
- package/dist/engine/readiness-checker.d.ts +1 -16
- package/dist/engine/readiness-checker.js +27 -88
- package/dist/engine/registry/core.js +0 -2
- package/dist/engine/registry/loader.js +9 -12
- package/dist/engine/registry/matcher.js +129 -24
- package/dist/engine/resilience-detector/concurrency-detector.js +4 -4
- package/dist/engine/resilience-detector/middleware-detector.js +11 -13
- package/dist/engine/resilience-detector/validation-detector.js +17 -4
- package/dist/engine/reverse-engineer/config-analyzer.js +9 -8
- package/dist/engine/reverse-engineer/orchestrator.js +5 -9
- package/dist/engine/reverse-engineer/test-file-parser.js +6 -3
- package/dist/engine/rules-generator/index.js +6 -5
- package/dist/engine/runtime-policy.d.ts +9 -0
- package/dist/engine/runtime-policy.js +138 -0
- package/dist/engine/runtime-security/checkers/content-security.js +21 -6
- package/dist/engine/runtime-security/checkers/file-permissions.js +0 -2
- package/dist/engine/runtime-security/rate-limiter.js +0 -1
- package/dist/engine/safety/atomic-write-file.js +20 -9
- package/dist/engine/safety/atomic-writer.js +10 -3
- package/dist/engine/safety/contained-project-file.d.ts +3 -0
- package/dist/engine/safety/contained-project-file.js +23 -0
- package/dist/engine/safety/cross-process-lock.d.ts +3 -40
- package/dist/engine/safety/cross-process-lock.js +268 -272
- package/dist/engine/safety/file-mutex.d.ts +2 -9
- package/dist/engine/safety/file-mutex.js +155 -87
- package/dist/engine/safety/health-monitor.js +15 -6
- package/dist/engine/safety/lock-lease-store.d.ts +79 -0
- package/dist/engine/safety/lock-lease-store.js +372 -0
- package/dist/engine/safety/lock-scavenger.d.ts +2 -5
- package/dist/engine/safety/lock-scavenger.js +158 -76
- package/dist/engine/safety/lock-staleness.js +4 -1
- package/dist/engine/safety/obsolete-lock-guard.d.ts +8 -0
- package/dist/engine/safety/obsolete-lock-guard.js +31 -0
- package/dist/engine/safety/transaction.js +3 -3
- package/dist/engine/sandbox/index.js +2 -1
- package/dist/engine/sandbox/runner-detect.js +3 -2
- package/dist/engine/sandbox/runner-docker.js +4 -3
- package/dist/engine/scan-project/module-discoverer.js +3 -2
- package/dist/engine/schema-generator.js +16 -9
- package/dist/engine/scope-boundaries/contradiction-checker.js +63 -1
- package/dist/engine/scope-boundaries/scope-validator.js +45 -7
- package/dist/engine/security-analyzer/criteria-generator.js +2 -3
- package/dist/engine/self-healing/healer.js +4 -4
- package/dist/engine/session/checkpoint-writer.js +0 -9
- package/dist/engine/shared-agent-memory.js +66 -74
- package/dist/engine/skill-adapter/command-rewriter.js +3 -2
- package/dist/engine/skill-adapter/index.js +3 -3
- package/dist/engine/skill-adapter/placeholder-map.js +3 -2
- package/dist/engine/skill-bootstrap/stack-matcher.js +47 -48
- package/dist/engine/skill-generation/stack-content-generator.js +0 -2
- package/dist/engine/skill-generator/workflow-skill-generator.js +2 -1
- package/dist/engine/skill-registry/ttl-refresh.js +3 -1
- package/dist/engine/skills/skills-fetcher.js +3 -6
- package/dist/engine/skills-reconciler.js +19 -39
- package/dist/engine/spec-coverage/test-finder.js +7 -6
- package/dist/engine/spec-diff-engine.js +3 -3
- package/dist/engine/spec-format/acceptance-criteria.d.ts +6 -2
- package/dist/engine/spec-format/acceptance-criteria.js +77 -18
- package/dist/engine/spec-format/markdown-sections.d.ts +14 -0
- package/dist/engine/spec-format/markdown-sections.js +105 -0
- package/dist/engine/spec-format/read-technical-section.js +33 -5
- package/dist/engine/spec-format/technical-md-populator.js +3 -2
- package/dist/engine/spec-format/unified-spec-builder.d.ts +7 -0
- package/dist/engine/spec-format/unified-spec-builder.js +202 -0
- package/dist/engine/spec-generator/api-key-resolver.d.ts +1 -1
- package/dist/engine/spec-generator/api-key-resolver.js +3 -24
- package/dist/engine/spec-generators/issue-extractor.js +9 -3
- package/dist/engine/spec-migrator/canonical-deduplicator.d.ts +18 -0
- package/dist/engine/spec-migrator/canonical-deduplicator.js +479 -0
- package/dist/engine/spec-migrator/drift-detector.js +5 -13
- package/dist/engine/spec-migrator/filesystem-import.d.ts +4 -8
- package/dist/engine/spec-migrator/filesystem-import.js +134 -23
- package/dist/engine/spec-migrator/frontmatter-parser.js +32 -15
- package/dist/engine/spec-migrator/index.d.ts +1 -0
- package/dist/engine/spec-migrator/index.js +1 -0
- package/dist/engine/spec-migrator/planu-canonical-policy.js +10 -1
- package/dist/engine/spec-migrator/strict-planu-cleanup.js +24 -25
- package/dist/engine/spec-registry/adapter.d.ts +0 -5
- package/dist/engine/spec-registry/adapter.js +45 -46
- package/dist/engine/spec-registry/client.js +2 -0
- package/dist/engine/spec-source-sync.js +3 -2
- package/dist/engine/spec-state-machine/transition-spec.d.ts +6 -1
- package/dist/engine/spec-state-machine/transition-spec.js +10 -1
- package/dist/engine/spec-templates/custom-loader.js +2 -3
- package/dist/engine/spec-templates/templates-domain-specific.js +8 -5
- package/dist/engine/spec-templates/templates-perf-integration.js +2 -3
- package/dist/engine/stack-auditor/manifest-reader.js +0 -2
- package/dist/engine/staleness/stale-implementing.js +7 -7
- package/dist/engine/tdd-scaffold-generator.js +24 -11
- package/dist/engine/teammate-router/green-phase-verifier.js +2 -1
- package/dist/engine/teammate-router/red-phase-verifier.js +2 -1
- package/dist/engine/technical-enricher/index.js +16 -8
- package/dist/engine/technical-enricher/render-enriched.d.ts +1 -0
- package/dist/engine/technical-enricher/render-enriched.js +42 -14
- package/dist/engine/technology-registry.d.ts +11 -0
- package/dist/engine/technology-registry.js +142 -0
- package/dist/engine/telemetry/error-reporter.d.ts +1 -2
- package/dist/engine/telemetry/error-reporter.js +11 -18
- package/dist/engine/telemetry/health-checker.js +58 -31
- package/dist/engine/telemetry/index.d.ts +0 -1
- package/dist/engine/telemetry/index.js +0 -1
- package/dist/engine/telemetry/stance.js +3 -2
- package/dist/engine/telemetry/telemetry-client.d.ts +1 -5
- package/dist/engine/telemetry/telemetry-client.js +69 -35
- package/dist/engine/telemetry/telemetry-store.d.ts +3 -3
- package/dist/engine/telemetry/telemetry-store.js +30 -23
- package/dist/engine/test-framework-detector/detectors.js +8 -8
- package/dist/engine/test-framework-detector/strategy.js +8 -9
- package/dist/engine/test-generators/agent-test-templates.js +2 -3
- package/dist/engine/test-generators/contract-test-generator.d.ts +1 -1
- package/dist/engine/test-generators/contract-test-generator.js +9 -202
- package/dist/engine/test-generators/platform-test-templates-b.js +2 -3
- package/dist/engine/test-generators/platform-test-templates.js +2 -5
- package/dist/engine/test-mocks-generator.js +4 -3
- package/dist/engine/test-plan-generator.js +30 -12
- package/dist/engine/test-scaffold-generator/advanced-scaffold.js +4 -5
- package/dist/engine/test-scaffold-generator/unit-scaffold.js +5 -6
- package/dist/engine/text-signal-boundaries.d.ts +2 -0
- package/dist/engine/text-signal-boundaries.js +25 -2
- package/dist/engine/time/relative-date.d.ts +3 -0
- package/dist/engine/time/relative-date.js +16 -0
- package/dist/engine/timing/budget.d.ts +17 -17
- package/dist/engine/timing/budget.js +98 -64
- package/dist/engine/token-optimizer/analytics.d.ts +1 -1
- package/dist/engine/token-optimizer/analytics.js +5 -6
- package/dist/engine/tool-groups/group-manager.js +3 -3
- package/dist/engine/universal-rules/installer.js +1 -1
- package/dist/engine/universal-rules/rules/planu-modes.js +2 -0
- package/dist/engine/universal-rules/rules/planu-release-policy.js +1 -0
- package/dist/engine/update-notifier.js +8 -5
- package/dist/engine/usage-tracker/core.d.ts +2 -2
- package/dist/engine/usage-tracker/core.js +1 -2
- package/dist/engine/usage-tracker/index.d.ts +0 -3
- package/dist/engine/usage-tracker/index.js +0 -3
- package/dist/engine/usage-tracker/stats.d.ts +2 -2
- package/dist/engine/usage-tracker/stats.js +1 -28
- package/dist/engine/validation/approved-spec-portability.d.ts +12 -0
- package/dist/engine/validation/approved-spec-portability.js +107 -0
- package/dist/engine/validation/durable-validation.d.ts +36 -0
- package/dist/engine/validation/durable-validation.js +256 -0
- package/dist/engine/validation/validation-freshness.d.ts +46 -0
- package/dist/engine/validation/validation-freshness.js +567 -0
- package/dist/engine/validation/validation-receipt-codec.d.ts +13 -0
- package/dist/engine/validation/validation-receipt-codec.js +182 -0
- package/dist/engine/validation/validation-receipt.d.ts +62 -0
- package/dist/engine/validation/validation-receipt.js +342 -0
- package/dist/engine/validation/validation-source-digest.d.ts +2 -0
- package/dist/engine/validation/validation-source-digest.js +86 -0
- package/dist/engine/validation/validation-source-policy.d.ts +4 -0
- package/dist/engine/validation/validation-source-policy.js +16 -0
- package/dist/engine/validation/validation-submission.d.ts +37 -0
- package/dist/engine/validation/validation-submission.js +142 -0
- package/dist/engine/validation/validation-worktree.d.ts +21 -0
- package/dist/engine/validation/validation-worktree.js +260 -0
- package/dist/engine/validation-evidence-ledger.js +41 -0
- package/dist/engine/validation-impact-planner.d.ts +14 -2
- package/dist/engine/validation-impact-planner.js +23 -10
- package/dist/engine/validator/dor-dod.d.ts +1 -0
- package/dist/engine/validator/dor-dod.js +5 -3
- package/dist/engine/validator/extractors.d.ts +1 -5
- package/dist/engine/validator/extractors.js +24 -69
- package/dist/engine/validator/spec-compliance-runner.d.ts +13 -25
- package/dist/engine/validator/spec-compliance-runner.js +442 -215
- package/dist/engine/validator/validation-report-writer.js +1 -1
- package/dist/engine/validator.js +37 -23
- package/dist/engine/verify-integrations/index.js +1 -1
- package/dist/engine/version-resolver.js +5 -6
- package/dist/engine/web-fetcher/stack-advisor.js +156 -92
- package/dist/engine/web-fetcher/stack-detector.js +114 -54
- package/dist/engine/workspace-manager.js +3 -2
- package/dist/errors/classified-degradation.d.ts +3 -0
- package/dist/errors/classified-degradation.js +10 -0
- package/dist/errors/degradation-sink.d.ts +3 -0
- package/dist/errors/degradation-sink.js +5 -0
- package/dist/errors/error-taxonomy.d.ts +12 -0
- package/dist/errors/error-taxonomy.js +62 -0
- package/dist/hosts/claude-code/ux/mcp-prompts.js +10 -4
- package/dist/hosts/claude-code/ux/mcp-resources.js +4 -2
- package/dist/hosts/codex/config-scaffold.js +4 -3
- package/dist/hosts/gemini/config-scaffold.js +2 -1
- package/dist/hosts/gemini/multimodal-spec-flow.js +7 -4
- package/dist/index.js +23 -20
- package/dist/resources/patterns.js +3 -1
- package/dist/resources/specs.js +3 -1
- package/dist/resources/templates.js +3 -1
- package/dist/resources/usage-stats-resource.js +2 -18
- package/dist/security/adapters/environment.d.ts +12 -0
- package/dist/security/adapters/environment.js +25 -0
- package/dist/security/adapters/linux-secret-service.d.ts +8 -0
- package/dist/security/adapters/linux-secret-service.js +64 -0
- package/dist/security/adapters/macos-keychain.d.ts +18 -0
- package/dist/security/adapters/macos-keychain.js +90 -0
- package/dist/security/adapters/windows-credential-manager.d.ts +8 -0
- package/dist/security/adapters/windows-credential-manager.js +60 -0
- package/dist/security/redactor.d.ts +5 -0
- package/dist/security/redactor.js +58 -0
- package/dist/security/secret-field.d.ts +5 -0
- package/dist/security/secret-field.js +17 -0
- package/dist/security/secret-migration.d.ts +3 -0
- package/dist/security/secret-migration.js +123 -0
- package/dist/security/secret-provider.d.ts +23 -0
- package/dist/security/secret-provider.js +145 -0
- package/dist/security/secure-json.d.ts +3 -0
- package/dist/security/secure-json.js +29 -0
- package/dist/server/routes/specs.js +10 -0
- package/dist/storage/api-surfaces-store.js +2 -2
- package/dist/storage/approval-operation-lock.d.ts +1 -1
- package/dist/storage/approval-operation-lock.js +5 -3
- package/dist/storage/audit-trail-store.d.ts +1 -1
- package/dist/storage/audit-trail-store.js +48 -62
- package/dist/storage/autopilot-log-store.js +12 -5
- package/dist/storage/base-store.d.ts +9 -9
- package/dist/storage/base-store.js +58 -21
- package/dist/storage/checkpoint-store.js +5 -2
- package/dist/storage/comments-store.js +2 -2
- package/dist/storage/compliance-audit-store.js +5 -2
- package/dist/storage/compliance-gate-config-store.js +7 -4
- package/dist/storage/compliance-store.js +2 -2
- package/dist/storage/context-profile-store.js +2 -2
- package/dist/storage/crash-shield-store.js +8 -4
- package/dist/storage/feedback-remote.d.ts +2 -3
- package/dist/storage/feedback-remote.js +45 -31
- package/dist/storage/feedback-store.js +10 -6
- package/dist/storage/figma-store.js +8 -4
- package/dist/storage/file-mutex.js +9 -1
- package/dist/storage/gaps-log.js +7 -4
- package/dist/storage/global-projects-store.js +4 -2
- package/dist/storage/global-store.d.ts +1 -17
- package/dist/storage/global-store.js +1 -42
- package/dist/storage/ideas-store.js +2 -2
- package/dist/storage/index.d.ts +5 -2
- package/dist/storage/index.js +5 -2
- package/dist/storage/knowledge-store/knowledge.js +27 -33
- package/dist/storage/lessons-store.js +2 -2
- package/dist/storage/migrations/canonical-storage.d.ts +15 -0
- package/dist/storage/migrations/canonical-storage.js +712 -0
- package/dist/storage/oauth-store.js +36 -8
- package/dist/storage/path-resolver.js +16 -3
- package/dist/storage/pr-store.js +2 -2
- package/dist/storage/project-drift-store.js +20 -8
- package/dist/storage/project-identity.d.ts +32 -0
- package/dist/storage/project-identity.js +194 -0
- package/dist/storage/project-resolver.js +14 -7
- package/dist/storage/release-notes-store.js +2 -6
- package/dist/storage/runtime-db.d.ts +195 -0
- package/dist/storage/runtime-db.js +1110 -0
- package/dist/storage/schema-registry.d.ts +5 -0
- package/dist/storage/schema-registry.js +74 -0
- package/dist/storage/sentry-store.js +20 -9
- package/dist/storage/session-state-store.js +12 -5
- package/dist/storage/skill-registry-storage.d.ts +1 -1
- package/dist/storage/skill-registry-storage.js +13 -11
- package/dist/storage/slack-store.js +10 -5
- package/dist/storage/spec-store.d.ts +14 -2
- package/dist/storage/spec-store.js +134 -37
- package/dist/storage/status-store/atomic-status-write.d.ts +5 -0
- package/dist/storage/status-store/atomic-status-write.js +57 -0
- package/dist/storage/status-store/file-lock.js +61 -20
- package/dist/storage/status-store/self-healing.js +13 -8
- package/dist/storage/status-store/version-sync.d.ts +2 -1
- package/dist/storage/status-store/version-sync.js +36 -39
- package/dist/storage/steering-store.js +2 -2
- package/dist/storage/storage-bundle.d.ts +5 -0
- package/dist/storage/storage-bundle.js +117 -0
- package/dist/storage/storage-catalog-validation.d.ts +3 -0
- package/dist/storage/storage-catalog-validation.js +20 -0
- package/dist/storage/storage-catalog.d.ts +25 -0
- package/dist/storage/storage-catalog.js +390 -0
- package/dist/storage/storage-layout.d.ts +24 -0
- package/dist/storage/storage-layout.js +101 -0
- package/dist/storage/storybook-store.js +2 -2
- package/dist/storage/supabase-store.js +24 -6
- package/dist/storage/tdd-policy-store.js +8 -6
- package/dist/storage/tech-debt-store.js +3 -3
- package/dist/storage/technology-selection-store.d.ts +1 -1
- package/dist/storage/technology-selection-store.js +6 -3
- package/dist/storage/token-cache-store.js +3 -3
- package/dist/storage/token-ledger-store.js +13 -8
- package/dist/storage/transition-log.js +7 -4
- package/dist/storage/trash-store.js +15 -6
- package/dist/storage/usage-store.d.ts +1 -5
- package/dist/storage/usage-store.js +0 -35
- package/dist/storage/vector-store/migrator.js +7 -2
- package/dist/storage/vector-store/sqlite-adapter.js +4 -1
- package/dist/storage/webhook-server-store.js +2 -2
- package/dist/tools/api-spec-generator-handler.js +3 -2
- package/dist/tools/auto-update-handler.d.ts +4 -4
- package/dist/tools/auto-update-handler.js +4 -4
- package/dist/tools/browser-validate-handler.js +2 -1
- package/dist/tools/challenge-spec/platform-challenge-scenarios-b.js +8 -5
- package/dist/tools/challenge-spec/resilience-challenge-scenarios.d.ts +2 -1
- package/dist/tools/challenge-spec/resilience-challenge-scenarios.js +10 -7
- package/dist/tools/challenge-spec/scenario-collector.js +1 -1
- package/dist/tools/challenge-spec/scenarios-data.js +1 -1
- package/dist/tools/challenge-spec/scenarios-desktop.js +8 -3
- package/dist/tools/challenge-spec/scenarios-failure.js +7 -2
- package/dist/tools/challenge-spec/scenarios-utils.d.ts +1 -1
- package/dist/tools/challenge-spec/scenarios-utils.js +35 -11
- package/dist/tools/challenge-spec/security-challenge-scenarios.js +3 -3
- package/dist/tools/challenge-spec.js +5 -5
- package/dist/tools/check-readiness.js +1 -1
- package/dist/tools/clarify-requirements/multiple-choice.js +53 -41
- package/dist/tools/comments-handler.js +2 -3
- package/dist/tools/compliance-test-handler.js +2 -2
- package/dist/tools/configure-telemetry.js +41 -13
- package/dist/tools/create-spec/auto-pipeline.js +13 -1
- package/dist/tools/create-spec/autopilot-analyzer.d.ts +1 -1
- package/dist/tools/create-spec/autopilot-analyzer.js +2 -4
- package/dist/tools/create-spec/mcp-tool-contract.d.ts +10 -4
- package/dist/tools/create-spec/mcp-tool-contract.js +7 -36
- package/dist/tools/create-spec/post-creation.d.ts +2 -1
- package/dist/tools/create-spec/post-creation.js +56 -54
- package/dist/tools/create-spec/relevance-scorer.d.ts +1 -1
- package/dist/tools/create-spec/relevance-scorer.js +17 -1
- package/dist/tools/create-spec/spec-builder.js +2 -23
- package/dist/tools/create-spec/spec-created-outbox-consumer.d.ts +14 -0
- package/dist/tools/create-spec/spec-created-outbox-consumer.js +176 -0
- package/dist/tools/create-spec.d.ts +1 -0
- package/dist/tools/create-spec.js +802 -732
- package/dist/tools/define-ui-contract/agent-interaction-contract.js +2 -4
- package/dist/tools/define-ui-contract-desktop/desktop-contract.js +12 -4
- package/dist/tools/define-ui-contract-desktop/native-contract.js +7 -3
- package/dist/tools/define-ui-contract-extensions.js +2 -3
- package/dist/tools/define-ui-contract-mobile.js +5 -9
- package/dist/tools/define-ui-contract-web/component-tree.js +4 -3
- package/dist/tools/define-ui-contract.js +7 -4
- package/dist/tools/deploy/deploy-spec.js +2 -4
- package/dist/tools/deploy/deploy-status.js +2 -4
- package/dist/tools/design-schema/nosql-category-schemas.js +2 -3
- package/dist/tools/design-schema-sql/migrations.js +3 -2
- package/dist/tools/design-schema-sql/tables.js +4 -1
- package/dist/tools/design-schema.js +4 -3
- package/dist/tools/feedback-handler.js +2 -4
- package/dist/tools/gc-data-projects.js +5 -5
- package/dist/tools/generate-execution-plan.js +3 -4
- package/dist/tools/generate-sub-agent.js +2 -1
- package/dist/tools/generate-tests/generators/a11y-tests-generator.js +5 -4
- package/dist/tools/generate-tests/generators/advanced-testing-generator.js +5 -4
- package/dist/tools/generate-tests/generators/concurrency-test-generator/js-templates.js +9 -4
- package/dist/tools/generate-tests/generators/concurrency-test-generator.js +8 -4
- package/dist/tools/generate-tests/generators/database/detectors.js +9 -3
- package/dist/tools/generate-tests/generators/database/index.js +2 -4
- package/dist/tools/generate-tests/generators/event-test-generator.js +5 -4
- package/dist/tools/generate-tests/generators/game-tests-generator.js +2 -1
- package/dist/tools/generate-tests/generators/graphql-test-generator.js +11 -5
- package/dist/tools/generate-tests/generators/grpc-test-generator.js +2 -3
- package/dist/tools/generate-tests/generators/llm-security-test-generator.js +4 -3
- package/dist/tools/generate-tests/generators/local-first-test-generator.js +4 -3
- package/dist/tools/generate-tests/generators/mcp-tests-generator.js +11 -9
- package/dist/tools/generate-tests/generators/microservices/index.js +2 -3
- package/dist/tools/generate-tests/generators/otel-test-generator.js +6 -3
- package/dist/tools/generate-tests/generators/security/detectors.js +2 -5
- package/dist/tools/generate-tests/generators/security/index.js +2 -4
- package/dist/tools/generate-tests/generators/supply-chain-test-generator.js +2 -3
- package/dist/tools/generate-tests/generators/visual-regression-generator.js +14 -17
- package/dist/tools/generate-tests/generators/websocket-test-generator.js +2 -3
- package/dist/tools/generate-tests/test-helpers.js +11 -12
- package/dist/tools/generate-tests-content.js +4 -3
- package/dist/tools/generate-tests.js +7 -4
- package/dist/tools/git/branch-ops.d.ts +1 -1
- package/dist/tools/git/branch-ops.js +3 -2
- package/dist/tools/git/git-helpers.d.ts +0 -2
- package/dist/tools/git/git-helpers.js +7 -7
- package/dist/tools/github-pr-handler.js +10 -3
- package/dist/tools/heal-spec-docs.js +6 -53
- package/dist/tools/hook-generator-handler.js +6 -6
- package/dist/tools/init-constitution/platform-principles.js +4 -2
- package/dist/tools/init-project/agents-md-writer.js +14 -5
- package/dist/tools/init-project/claude-md-generator.js +19 -12
- package/dist/tools/init-project/handler.js +165 -75
- package/dist/tools/init-project/host-assets-writer.d.ts +1 -1
- package/dist/tools/init-project/host-assets-writer.js +30 -3
- package/dist/tools/init-project/lifecycle-helpers.js +3 -5
- package/dist/tools/init-project/lint-scaffolder.d.ts +3 -3
- package/dist/tools/init-project/lint-scaffolder.js +6 -2
- package/dist/tools/init-project/migration-runner.d.ts +8 -1
- package/dist/tools/init-project/migration-runner.js +68 -2
- package/dist/tools/init-project/per-client-files-writer.js +14 -4
- package/dist/tools/init-project/portable-index-reconciler.d.ts +4 -0
- package/dist/tools/init-project/portable-index-reconciler.js +14 -0
- package/dist/tools/init-project/result-builder.js +1 -3
- package/dist/tools/init-project/rules-generator.js +10 -2
- package/dist/tools/init-project/scaffold-writer.d.ts +1 -1
- package/dist/tools/init-project/scaffold-writer.js +17 -15
- package/dist/tools/jobs/handlers.d.ts +15 -0
- package/dist/tools/jobs/handlers.js +158 -0
- package/dist/tools/list-specs.js +39 -59
- package/dist/tools/manage-plugins-handler.js +17 -9
- package/dist/tools/merge-risk-handler.js +2 -2
- package/dist/tools/migrate-tech/advanced-handlers.js +3 -2
- package/dist/tools/migrate-tech/build-tool-handlers.js +3 -2
- package/dist/tools/migrate-tech/core-handlers.js +5 -2
- package/dist/tools/migrate-tech/data-handlers.js +6 -3
- package/dist/tools/migrate-tech-advanced/rollback-handlers.js +3 -2
- package/dist/tools/migrate-tech-advanced/service-handlers.js +5 -2
- package/dist/tools/oauth-handler.js +7 -1
- package/dist/tools/package-handoff.js +2 -0
- package/dist/tools/reconcile-spec.js +0 -27
- package/dist/tools/register-agent-squad-tools.js +2 -2
- package/dist/tools/register-platform-tools/design-stack-tools.js +11 -11
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.js +7 -7
- package/dist/tools/register-sdd-tools.d.ts +1 -1
- package/dist/tools/register-sdd-tools.js +2 -24
- package/dist/tools/register-spec-tools/analysis-tools.js +8 -8
- package/dist/tools/register-spec-tools/core-spec-tools.js +48 -8
- package/dist/tools/registry/auth.js +13 -5
- package/dist/tools/registry/publish.js +7 -4
- package/dist/tools/resolve-project-path.d.ts +2 -2
- package/dist/tools/resolve-project-path.js +7 -7
- package/dist/tools/reverse-engineer/analyzer.js +14 -14
- package/dist/tools/rollback-release.js +3 -2
- package/dist/tools/safe-handler.d.ts +5 -13
- package/dist/tools/safe-handler.js +302 -194
- package/dist/tools/schema-generator-handler.js +2 -1
- package/dist/tools/schemas/index.d.ts +1 -1
- package/dist/tools/schemas/index.js +1 -1
- package/dist/tools/schemas/output-schemas.d.ts +88 -105
- package/dist/tools/schemas/output-schemas.js +12 -122
- package/dist/tools/schemas/plugins-schemas.js +0 -2
- package/dist/tools/schemas/registry.js +0 -2
- package/dist/tools/schemas/skill-registry-schemas.js +0 -2
- package/dist/tools/schemas/spec.d.ts +4 -0
- package/dist/tools/schemas/spec.js +3 -0
- package/dist/tools/schemas/validate-output-schema.d.ts +267 -0
- package/dist/tools/schemas/validate-output-schema.js +219 -0
- package/dist/tools/sentry-handler.js +6 -1
- package/dist/tools/skill-bootstrap-handler.js +7 -4
- package/dist/tools/spec-prompt-handler.js +3 -3
- package/dist/tools/status-handler.js +4 -0
- package/dist/tools/storage-bundle-handler.d.ts +9 -0
- package/dist/tools/storage-bundle-handler.js +29 -0
- package/dist/tools/storage-paths-handler.d.ts +9 -0
- package/dist/tools/storage-paths-handler.js +17 -0
- package/dist/tools/suggest-mcp-server.js +11 -5
- package/dist/tools/suggest-mcps.js +29 -9
- package/dist/tools/suggest-tooling/advanced-testing-catalog.js +4 -5
- package/dist/tools/suggest-tooling/build-tool-catalog.js +2 -1
- package/dist/tools/suggest-tooling/css-framework-catalog.js +13 -7
- package/dist/tools/suggest-tooling/framework-catalog.js +3 -5
- package/dist/tools/suggest-tooling/frontend-perf-catalog.js +2 -6
- package/dist/tools/suggest-tooling/handler.js +10 -4
- package/dist/tools/suggest-tooling/hypermedia-catalog.js +11 -3
- package/dist/tools/suggest-tooling/linting-catalog.js +4 -7
- package/dist/tools/suggest-tooling/llm-security-catalog.js +2 -1
- package/dist/tools/suggest-tooling/local-first-catalog.js +7 -5
- package/dist/tools/suggest-tooling/observability-catalog.js +3 -4
- package/dist/tools/suggest-tooling/otel-catalog.js +4 -1
- package/dist/tools/suggest-tooling/resilience-catalog.js +16 -5
- package/dist/tools/suggest-tooling/skills-catalog.js +10 -9
- package/dist/tools/suggest-tooling/supply-chain-catalog.js +2 -3
- package/dist/tools/supabase-handler.js +2 -1
- package/dist/tools/sync-spec-state-handler.d.ts +1 -1
- package/dist/tools/sync-spec-state-handler.js +1 -1
- package/dist/tools/token-intelligence-handler.js +2 -2
- package/dist/tools/token-recording.js +2 -2
- package/dist/tools/token-savings-handler.js +2 -2
- package/dist/tools/tool-entry.d.ts +4 -4
- package/dist/tools/tool-entry.js +3 -3
- package/dist/tools/tool-registry/core-tools.js +162 -15
- package/dist/tools/tool-registry/group-infra.js +37 -122
- package/dist/tools/tool-registry/group-quality-compliance.js +31 -38
- package/dist/tools/tool-registry/inventory.d.ts +2 -0
- package/dist/tools/tool-registry/inventory.js +2 -0
- package/dist/tools/tool-registry-helpers.d.ts +3 -3
- package/dist/tools/tool-registry-helpers.js +3 -3
- package/dist/tools/tool-usage-report/registered-tools.d.ts +1 -1
- package/dist/tools/tool-usage-report/registered-tools.js +3 -15
- package/dist/tools/update-status/approval-gates.d.ts +13 -0
- package/dist/tools/update-status/approval-gates.js +84 -0
- package/dist/tools/update-status/batch.js +4 -2
- package/dist/tools/update-status/dod-gates.d.ts +6 -24
- package/dist/tools/update-status/dod-gates.js +60 -135
- package/dist/tools/update-status/done-receipt-verifier.d.ts +15 -0
- package/dist/tools/update-status/done-receipt-verifier.js +158 -0
- package/dist/tools/update-status/evidence-gate.js +190 -3
- package/dist/tools/update-status/file-sync.d.ts +2 -1
- package/dist/tools/update-status/file-sync.js +80 -18
- package/dist/tools/update-status/gate-harness.d.ts +7 -0
- package/dist/tools/update-status/gate-harness.js +8 -0
- package/dist/tools/update-status/index.d.ts +2 -0
- package/dist/tools/update-status/index.js +307 -367
- package/dist/tools/update-status/qa-gate.d.ts +1 -1
- package/dist/tools/update-status/qa-gate.js +2 -2
- package/dist/tools/update-status/response-builder.js +3 -3
- package/dist/tools/update-status/side-effects.d.ts +2 -0
- package/dist/tools/update-status/side-effects.js +32 -39
- package/dist/tools/update-status/transition-guard.d.ts +4 -2
- package/dist/tools/update-status/transition-guard.js +89 -25
- package/dist/tools/update-status-actions.d.ts +4 -2
- package/dist/tools/update-status-actions.js +16 -14
- package/dist/tools/update-status-convention-gate.js +24 -23
- package/dist/tools/update-status-reconcile.js +2 -2
- package/dist/tools/usage-report.js +1 -16
- package/dist/tools/usage-stats.js +1 -18
- package/dist/tools/usage-tracking.d.ts +4 -0
- package/dist/tools/usage-tracking.js +20 -0
- package/dist/tools/validate-api-contract-handler.js +3 -3
- package/dist/tools/validate-lint.d.ts +1 -0
- package/dist/tools/validate-lint.js +21 -14
- package/dist/tools/validate.d.ts +4 -1
- package/dist/tools/validate.js +319 -31
- package/dist/transports/http-transport.js +87 -66
- package/dist/transports/mcp-types.d.ts +0 -2
- package/dist/transports/middleware/with-telemetry.js +3 -2
- package/dist/transports/session-context.js +1 -1
- package/dist/types/abortable-process.d.ts +2 -0
- package/dist/types/advanced-framework.js +0 -2
- package/dist/types/atomic-upgrade.d.ts +71 -0
- package/dist/types/atomic-upgrade.js +2 -0
- package/dist/types/cascade-hooks.d.ts +1 -1
- package/dist/types/ci.d.ts +0 -4
- package/dist/types/ci.js +0 -2
- package/dist/types/clarification-token.d.ts +1 -1
- package/dist/types/claude-code-runtime.d.ts +0 -27
- package/dist/types/commercial-migration.d.ts +17 -0
- package/dist/types/commercial-migration.js +2 -0
- package/dist/types/common/primitives.d.ts +0 -2
- package/dist/types/core-bridge.d.ts +81 -10
- package/dist/types/crash-shield-framework-rules.d.ts +24 -0
- package/dist/types/crash-shield-framework-rules.js +2 -0
- package/dist/types/dashboard.d.ts +3 -7
- package/dist/types/data-gc.d.ts +16 -0
- package/dist/types/deploy.js +0 -2
- package/dist/types/docs.d.ts +0 -1
- package/dist/types/durable-job.d.ts +78 -0
- package/dist/types/durable-job.js +2 -0
- package/dist/types/durable-validation.d.ts +158 -0
- package/dist/types/durable-validation.js +166 -0
- package/dist/types/errors/structured-error.d.ts +3 -3
- package/dist/types/estimation.d.ts +4 -0
- package/dist/types/evidence-gates.d.ts +17 -1
- package/dist/types/execution.d.ts +45 -0
- package/dist/types/gemini-integration.d.ts +0 -11
- package/dist/types/handoff-artifacts.d.ts +43 -0
- package/dist/types/hooks-advanced.d.ts +0 -13
- package/dist/types/impact-detection.d.ts +2 -2
- package/dist/types/index.d.ts +4 -6
- package/dist/types/index.js +3 -5
- package/dist/types/infrastructure.js +0 -2
- package/dist/types/kiro-integration.d.ts +0 -6
- package/dist/types/lifecycle.js +0 -2
- package/dist/types/migration/canonical-storage.d.ts +37 -0
- package/dist/types/migration/canonical-storage.js +2 -0
- package/dist/types/migration/index.d.ts +1 -1
- package/dist/types/native-worker.d.ts +48 -0
- package/dist/types/native-worker.js +2 -0
- package/dist/types/network-policy.d.ts +12 -0
- package/dist/types/network-policy.js +2 -0
- package/dist/types/oauth.js +0 -2
- package/dist/types/observability.d.ts +32 -0
- package/dist/types/outbox-worker.d.ts +35 -0
- package/dist/types/outbox-worker.js +11 -0
- package/dist/types/permissions-config.d.ts +0 -27
- package/dist/types/permissions-config.js +0 -2
- package/dist/types/plugin-install.d.ts +0 -11
- package/dist/types/plugin-install.js +0 -2
- package/dist/types/portal.d.ts +1 -0
- package/dist/types/product-public.d.ts +75 -0
- package/dist/types/product-public.js +2 -0
- package/dist/types/project/inputs.d.ts +2 -0
- package/dist/types/project/lint-scaffolder.d.ts +1 -1
- package/dist/types/project/mfe-detection.js +0 -2
- package/dist/types/project/platform-mobile.js +0 -2
- package/dist/types/project/platform-specialty.js +0 -2
- package/dist/types/project-knowledge-graph.d.ts +7 -0
- package/dist/types/runtime-database.d.ts +10 -0
- package/dist/types/runtime-database.js +2 -0
- package/dist/types/runtime-policy.d.ts +51 -0
- package/dist/types/runtime-policy.js +2 -0
- package/dist/types/safety.d.ts +4 -5
- package/dist/types/schema-registry.d.ts +12 -0
- package/dist/types/schema-registry.js +2 -0
- package/dist/types/security.d.ts +52 -0
- package/dist/types/session-safeguard.d.ts +0 -31
- package/dist/types/skill-registry.js +0 -2
- package/dist/types/spec/canonical-repair.d.ts +81 -0
- package/dist/types/spec/canonical-repair.js +2 -0
- package/dist/types/spec/core.d.ts +14 -0
- package/dist/types/spec/index.d.ts +1 -0
- package/dist/types/spec/index.js +1 -0
- package/dist/types/spec/inputs.d.ts +31 -0
- package/dist/types/spec-format.d.ts +24 -0
- package/dist/types/spec-lock-v2.d.ts +13 -7
- package/dist/types/spec-lock-v2.js +1 -1
- package/dist/types/spec-registry.js +0 -2
- package/dist/types/storage-bundle.d.ts +13 -0
- package/dist/types/storage-bundle.js +2 -0
- package/dist/types/storage-catalog.d.ts +18 -0
- package/dist/types/storage-catalog.js +2 -0
- package/dist/types/team-planner.js +0 -2
- package/dist/types/technology-registry.d.ts +35 -0
- package/dist/types/technology-registry.js +2 -0
- package/dist/types/technology-symbols.generated.d.ts +117 -0
- package/dist/types/technology-symbols.generated.js +2 -0
- package/dist/types/telemetry.d.ts +7 -4
- package/dist/types/transport.d.ts +2 -2
- package/dist/types/usage.d.ts +1 -36
- package/dist/types/usage.js +1 -1
- package/dist/types/validate-worker.d.ts +50 -0
- package/dist/types/validate-worker.js +2 -0
- package/dist/types/validation-evidence.d.ts +1 -1
- package/dist/types/validation-receipt.d.ts +104 -0
- package/dist/types/validation-receipt.js +2 -0
- package/dist/types/validation.d.ts +2 -2
- package/package.json +36 -21
- package/planu-native.json +1 -1
- package/planu-plugin.json +23 -40
- package/scripts/lib/pending-release-file.mjs +93 -0
- package/src/i18n/messages/en.json +0 -41
- package/src/i18n/messages/es.json +0 -41
- package/src/i18n/messages/pt.json +0 -41
- package/dist/cli/commands/activate.d.ts +0 -14
- package/dist/cli/commands/activate.js +0 -174
- package/dist/config/license-plans.json +0 -244
- package/dist/config/server-instructions.ts +0 -121
- package/dist/config/version-defaults.ts +0 -76
- package/dist/config/version.ts +0 -18
- package/dist/engine/ai-integration/gemini/settings-generator.d.ts +0 -4
- package/dist/engine/ai-integration/gemini/settings-generator.js +0 -195
- package/dist/engine/ai-integration/kiro/hooks-generator.d.ts +0 -6
- package/dist/engine/ai-integration/kiro/hooks-generator.js +0 -75
- package/dist/engine/hooks/full-spectrum-generator.d.ts +0 -32
- package/dist/engine/hooks/full-spectrum-generator.js +0 -117
- package/dist/engine/license-validator/config-loader.d.ts +0 -5
- package/dist/engine/license-validator/config-loader.js +0 -16
- package/dist/engine/license-validator/core.d.ts +0 -15
- package/dist/engine/license-validator/core.js +0 -151
- package/dist/engine/license-validator/fingerprint.d.ts +0 -3
- package/dist/engine/license-validator/fingerprint.js +0 -17
- package/dist/engine/license-validator/lemon-squeezy.d.ts +0 -5
- package/dist/engine/license-validator/lemon-squeezy.js +0 -55
- package/dist/engine/license-validator.d.ts +0 -5
- package/dist/engine/license-validator.js +0 -6
- package/dist/engine/product-intelligence/index.d.ts +0 -7
- package/dist/engine/product-intelligence/index.js +0 -211
- package/dist/engine/session/auto-save.d.ts +0 -18
- package/dist/engine/session/auto-save.js +0 -98
- package/dist/engine/session/context-snapshot.d.ts +0 -8
- package/dist/engine/session/context-snapshot.js +0 -49
- package/dist/engine/session/memory-sync.d.ts +0 -12
- package/dist/engine/session/memory-sync.js +0 -34
- package/dist/engine/session/session-diff.d.ts +0 -11
- package/dist/engine/session/session-diff.js +0 -42
- package/dist/engine/session/session-merge.d.ts +0 -12
- package/dist/engine/session/session-merge.js +0 -55
- package/dist/engine/session-safeguard/checkpoint-runner.d.ts +0 -4
- package/dist/engine/session-safeguard/checkpoint-runner.js +0 -70
- package/dist/engine/session-safeguard/learnings-buffer.d.ts +0 -16
- package/dist/engine/session-safeguard/learnings-buffer.js +0 -114
- package/dist/engine/session-safeguard/precompaction-drain.d.ts +0 -10
- package/dist/engine/session-safeguard/precompaction-drain.js +0 -82
- package/dist/engine/session-safeguard/unpushed-detector.d.ts +0 -7
- package/dist/engine/session-safeguard/unpushed-detector.js +0 -59
- package/dist/engine/spec-changelog/core.d.ts +0 -16
- package/dist/engine/spec-changelog/core.js +0 -176
- package/dist/engine/spec-changelog/diff.d.ts +0 -18
- package/dist/engine/spec-changelog/diff.js +0 -121
- package/dist/engine/spec-changelog/index.d.ts +0 -3
- package/dist/engine/spec-changelog/index.js +0 -4
- package/dist/engine/telemetry/geo-resolver.d.ts +0 -9
- package/dist/engine/telemetry/geo-resolver.js +0 -43
- package/dist/engine/trial-engine.d.ts +0 -5
- package/dist/engine/trial-engine.js +0 -14
- package/dist/engine/usage-tracker/rate-check.d.ts +0 -7
- package/dist/engine/usage-tracker/rate-check.js +0 -18
- package/dist/engine/usage-tracker/rate-limiter.d.ts +0 -14
- package/dist/engine/usage-tracker/rate-limiter.js +0 -73
- package/dist/engine/usage-tracker/trial.d.ts +0 -27
- package/dist/engine/usage-tracker/trial.js +0 -49
- package/dist/engine/webhook/event-handlers.d.ts +0 -25
- package/dist/engine/webhook/event-handlers.js +0 -89
- package/dist/engine/webhook/index.d.ts +0 -4
- package/dist/engine/webhook/index.js +0 -5
- package/dist/engine/webhook/server.d.ts +0 -12
- package/dist/engine/webhook/server.js +0 -249
- package/dist/engine/webhook/signature.d.ts +0 -16
- package/dist/engine/webhook/signature.js +0 -49
- package/dist/storage/data-dir-discovery.d.ts +0 -31
- package/dist/storage/data-dir-discovery.js +0 -140
- package/dist/storage/license-store.d.ts +0 -6
- package/dist/storage/license-store.js +0 -91
- package/dist/storage/migrations/cwd-to-absolute.d.ts +0 -25
- package/dist/storage/migrations/cwd-to-absolute.js +0 -281
- package/dist/storage/session-store.d.ts +0 -20
- package/dist/storage/session-store.js +0 -128
- package/dist/tools/activate-license.d.ts +0 -6
- package/dist/tools/activate-license.js +0 -132
- package/dist/tools/checkpoint-handler.d.ts +0 -3
- package/dist/tools/checkpoint-handler.js +0 -130
- package/dist/tools/create-spec/adapters/prior-decisions-hint.d.ts +0 -14
- package/dist/tools/create-spec/adapters/prior-decisions-hint.js +0 -30
- package/dist/tools/export-session.d.ts +0 -3
- package/dist/tools/export-session.js +0 -90
- package/dist/tools/init-project/ancestor-data-detector.d.ts +0 -22
- package/dist/tools/init-project/ancestor-data-detector.js +0 -81
- package/dist/tools/license-gate.d.ts +0 -18
- package/dist/tools/license-gate.js +0 -222
- package/dist/tools/license-status.d.ts +0 -3
- package/dist/tools/license-status.js +0 -93
- package/dist/tools/list-sessions.d.ts +0 -3
- package/dist/tools/list-sessions.js +0 -46
- package/dist/tools/planu-session-checkpoint.d.ts +0 -6
- package/dist/tools/planu-session-checkpoint.js +0 -42
- package/dist/tools/restore-session.d.ts +0 -3
- package/dist/tools/restore-session.js +0 -71
- package/dist/tools/spec-history.d.ts +0 -3
- package/dist/tools/spec-history.js +0 -59
- package/dist/tools/update-status/force-done-audit.d.ts +0 -2
- package/dist/tools/update-status/force-done-audit.js +0 -23
- package/dist/tools/webhook.d.ts +0 -6
- package/dist/tools/webhook.js +0 -150
- package/dist/types/changelog.d.ts +0 -49
- package/dist/types/changelog.js +0 -3
- package/dist/types/licensing.d.ts +0 -109
- package/dist/types/licensing.js +0 -4
- package/dist/types/migration/cwd-to-absolute.d.ts +0 -8
- package/dist/types/migration/cwd-to-absolute.js +0 -3
- package/dist/types/product-intelligence.d.ts +0 -60
- package/dist/types/product-intelligence.js +0 -3
- package/dist/types/session.d.ts +0 -84
- package/dist/types/session.js +0 -3
- package/dist/types/webhook.d.ts +0 -62
- package/dist/types/webhook.js +0 -4
|
@@ -346,45 +346,6 @@
|
|
|
346
346
|
"actionFailed": "{action} falló: {details}",
|
|
347
347
|
"error": "Error al gestionar papelera: {message}"
|
|
348
348
|
},
|
|
349
|
-
"activate_license": {
|
|
350
|
-
"description": "Activar o desactivar una clave de licencia Planu Pro para desbloquear todas las herramientas y límites aumentados.",
|
|
351
|
-
"keyRequired": "Error: licenseKey es requerido.",
|
|
352
|
-
"activationFailed": "Error al activar licencia: {error}",
|
|
353
|
-
"activatedSuccess": "¡Licencia activada exitosamente!",
|
|
354
|
-
"plan": "Plan: {tier}",
|
|
355
|
-
"customer": "Cliente: {name}",
|
|
356
|
-
"instance": "Instancia: {name}",
|
|
357
|
-
"proAccess": "Ahora tienes acceso a las 65 herramientas de Planu y límites aumentados.",
|
|
358
|
-
"tierAccess": "Ahora tienes acceso {tier} con todas las herramientas y proyectos/specs ilimitados.",
|
|
359
|
-
"commonCauses": "Causas comunes:",
|
|
360
|
-
"causeInvalidKey": "Clave de licencia inválida — verifica errores de tipeo",
|
|
361
|
-
"causeAlreadyActivated": "Licencia ya activada en otra máquina — desactívala primero",
|
|
362
|
-
"causeNetwork": "Problema de red — verifica tu conexión a internet",
|
|
363
|
-
"deactivationCancelled": "Desactivación cancelada. Establece confirm: true para proceder.",
|
|
364
|
-
"noActiveLicense": "No se encontró licencia activa. Estás en el plan Free.",
|
|
365
|
-
"deactivatedSuccess": "Licencia desactivada exitosamente.",
|
|
366
|
-
"deactivatedFreePlan": "Ahora estás en el plan Free ({count} herramientas, 2 proyectos, 5 specs activas).",
|
|
367
|
-
"keyReusable": "Tu clave de licencia puede ser activada en otra máquina."
|
|
368
|
-
},
|
|
369
|
-
"license_status": {
|
|
370
|
-
"description": "Verificar el estado actual de tu licencia, tier, límites y herramientas disponibles.",
|
|
371
|
-
"title": "Estado de Licencia Planu",
|
|
372
|
-
"version": "Versión:",
|
|
373
|
-
"plan": "Plan:",
|
|
374
|
-
"customer": "Cliente:",
|
|
375
|
-
"variant": "Variante:",
|
|
376
|
-
"activated": "Activada:",
|
|
377
|
-
"lastValidated": "Última validación:",
|
|
378
|
-
"toolsAvailable": "Herramientas disponibles:",
|
|
379
|
-
"limitsTitle": "Límites",
|
|
380
|
-
"projects": "Proyectos:",
|
|
381
|
-
"activeSpecs": "Specs activas:",
|
|
382
|
-
"perProject": "por proyecto",
|
|
383
|
-
"activationSlots": "Slots de activación:",
|
|
384
|
-
"upgradeTitle": "Upgrade",
|
|
385
|
-
"upgradeMessage": "Desbloquea las {count} herramientas, 10 proyectos y specs ilimitadas.",
|
|
386
|
-
"activateHint": "¿Ya tienes una clave? Usa `activate_license` para activarla."
|
|
387
|
-
},
|
|
388
349
|
"spec_templates": {
|
|
389
350
|
"description": "Listar y explorar plantillas de specs disponibles — filtrar por categoría, complejidad o tags.",
|
|
390
351
|
"listTitle": "Plantillas de Specs Disponibles",
|
|
@@ -502,8 +463,6 @@
|
|
|
502
463
|
"approvedChanges": "Cambios Aprobados",
|
|
503
464
|
"pendingChanges": "Cambios Pendientes",
|
|
504
465
|
"versionCreated": "Versión Creada",
|
|
505
|
-
"changelogUpdated": "Changelog Actualizado",
|
|
506
|
-
"yes": "Sí",
|
|
507
466
|
"livingSpec": "Spec Viva",
|
|
508
467
|
"coverage": "cobertura",
|
|
509
468
|
"nextValidate": "Ejecuta `validate` para verificar la cobertura de implementación",
|
|
@@ -346,45 +346,6 @@
|
|
|
346
346
|
"actionFailed": "{action} falhou: {details}",
|
|
347
347
|
"error": "Erro ao gerenciar lixeira: {message}"
|
|
348
348
|
},
|
|
349
|
-
"activate_license": {
|
|
350
|
-
"description": "Ativar ou desativar uma chave de licença Planu Pro para desbloquear todas as ferramentas e limites aumentados.",
|
|
351
|
-
"keyRequired": "Erro: licenseKey é obrigatório.",
|
|
352
|
-
"activationFailed": "Falha na ativação da licença: {error}",
|
|
353
|
-
"activatedSuccess": "Licença ativada com sucesso!",
|
|
354
|
-
"plan": "Plano: {tier}",
|
|
355
|
-
"customer": "Cliente: {name}",
|
|
356
|
-
"instance": "Instância: {name}",
|
|
357
|
-
"proAccess": "Agora você tem acesso a todas as 65 ferramentas do Planu e limites aumentados.",
|
|
358
|
-
"tierAccess": "Agora você tem acesso {tier} com todas as ferramentas e projetos/specs ilimitados.",
|
|
359
|
-
"commonCauses": "Causas comuns:",
|
|
360
|
-
"causeInvalidKey": "Chave de licença inválida — verifique erros de digitação",
|
|
361
|
-
"causeAlreadyActivated": "Licença já ativada em outra máquina — desative primeiro",
|
|
362
|
-
"causeNetwork": "Problema de rede — verifique sua conexão com a internet",
|
|
363
|
-
"deactivationCancelled": "Desativação cancelada. Defina confirm: true para prosseguir.",
|
|
364
|
-
"noActiveLicense": "Nenhuma licença ativa encontrada. Você está no plano Free.",
|
|
365
|
-
"deactivatedSuccess": "Licença desativada com sucesso.",
|
|
366
|
-
"deactivatedFreePlan": "Agora você está no plano Free ({count} ferramentas, 2 projetos, 5 specs ativas).",
|
|
367
|
-
"keyReusable": "Sua chave de licença pode ser ativada em outra máquina."
|
|
368
|
-
},
|
|
369
|
-
"license_status": {
|
|
370
|
-
"description": "Verificar o status atual da sua licença, tier, limites e ferramentas disponíveis.",
|
|
371
|
-
"title": "Status da Licença Planu",
|
|
372
|
-
"version": "Versão:",
|
|
373
|
-
"plan": "Plano:",
|
|
374
|
-
"customer": "Cliente:",
|
|
375
|
-
"variant": "Variante:",
|
|
376
|
-
"activated": "Ativada:",
|
|
377
|
-
"lastValidated": "Última validação:",
|
|
378
|
-
"toolsAvailable": "Ferramentas disponíveis:",
|
|
379
|
-
"limitsTitle": "Limites",
|
|
380
|
-
"projects": "Projetos:",
|
|
381
|
-
"activeSpecs": "Specs ativas:",
|
|
382
|
-
"perProject": "por projeto",
|
|
383
|
-
"activationSlots": "Slots de ativação:",
|
|
384
|
-
"upgradeTitle": "Upgrade",
|
|
385
|
-
"upgradeMessage": "Desbloqueie todas as {count} ferramentas, 10 projetos e specs ilimitadas.",
|
|
386
|
-
"activateHint": "Já tem uma chave? Use `activate_license` para ativá-la."
|
|
387
|
-
},
|
|
388
349
|
"spec_templates": {
|
|
389
350
|
"description": "Listar e explorar modelos de specs disponíveis — filtrar por categoria, complexidade ou tags.",
|
|
390
351
|
"listTitle": "Modelos de Specs Disponíveis",
|
|
@@ -502,8 +463,6 @@
|
|
|
502
463
|
"approvedChanges": "Mudanças Aprovadas",
|
|
503
464
|
"pendingChanges": "Mudanças Pendentes",
|
|
504
465
|
"versionCreated": "Versão Criada",
|
|
505
|
-
"changelogUpdated": "Changelog Atualizado",
|
|
506
|
-
"yes": "Sim",
|
|
507
466
|
"livingSpec": "Spec Viva",
|
|
508
467
|
"coverage": "cobertura",
|
|
509
468
|
"nextValidate": "Execute `validate` para verificar a cobertura da implementação",
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { CliCommand } from '../../types/cli.js';
|
|
2
|
-
type ToolFormat = 'standard' | 'zed';
|
|
3
|
-
interface ConfigTarget {
|
|
4
|
-
name: string;
|
|
5
|
-
path: string;
|
|
6
|
-
format: ToolFormat;
|
|
7
|
-
}
|
|
8
|
-
declare function buildTargets(): ConfigTarget[];
|
|
9
|
-
declare function hasPlanu(config: unknown, format: ToolFormat): boolean;
|
|
10
|
-
declare function updateStandardToken(filePath: string, licenseKey: string): void;
|
|
11
|
-
declare function updateZedToken(filePath: string, licenseKey: string): void;
|
|
12
|
-
export { buildTargets, hasPlanu, updateStandardToken, updateZedToken };
|
|
13
|
-
export declare const activateCommand: CliCommand;
|
|
14
|
-
//# sourceMappingURL=activate.d.ts.map
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
// cli/commands/activate.ts — planu activate <key>: add/update license in all installed configs (SPEC-237)
|
|
2
|
-
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
3
|
-
import { homedir } from 'node:os';
|
|
4
|
-
import { join } from 'node:path';
|
|
5
|
-
import { bold, green, yellow, dim, cyan } from '../colors.js';
|
|
6
|
-
import { activateLicense } from '../../engine/license-validator.js';
|
|
7
|
-
// ---------------------------------------------------------------------------
|
|
8
|
-
// Constants — same paths as install.ts
|
|
9
|
-
// ---------------------------------------------------------------------------
|
|
10
|
-
const PLANU_KEY = 'planu';
|
|
11
|
-
function buildTargets() {
|
|
12
|
-
const home = homedir();
|
|
13
|
-
return [
|
|
14
|
-
{
|
|
15
|
-
name: 'Claude Code',
|
|
16
|
-
path: join(home, '.claude.json'),
|
|
17
|
-
format: 'standard',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
name: 'Cursor',
|
|
21
|
-
path: join(home, '.cursor', 'mcp.json'),
|
|
22
|
-
format: 'standard',
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: 'Windsurf',
|
|
26
|
-
path: join(home, '.codeium', 'windsurf', 'mcp_config.json'),
|
|
27
|
-
format: 'standard',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: 'Zed',
|
|
31
|
-
path: join(home, '.config', 'zed', 'settings.json'),
|
|
32
|
-
format: 'zed',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
name: 'Cline',
|
|
36
|
-
path: join(home, '.vscode', 'globalStorage', 'saoudrizwan.claude-dev', 'settings', 'cline_mcp_settings.json'),
|
|
37
|
-
format: 'standard',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Continue',
|
|
41
|
-
path: join(home, '.continue', 'config.json'),
|
|
42
|
-
format: 'standard',
|
|
43
|
-
},
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
// ---------------------------------------------------------------------------
|
|
47
|
-
// Helpers
|
|
48
|
-
// ---------------------------------------------------------------------------
|
|
49
|
-
function readJson(filePath) {
|
|
50
|
-
if (!existsSync(filePath)) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
const raw = readFileSync(filePath, 'utf-8').trim();
|
|
54
|
-
if (!raw) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
return JSON.parse(raw);
|
|
58
|
-
}
|
|
59
|
-
function hasPlanu(config, format) {
|
|
60
|
-
if (format === 'zed') {
|
|
61
|
-
const zed = config;
|
|
62
|
-
return Boolean(zed.context_servers?.[PLANU_KEY]);
|
|
63
|
-
}
|
|
64
|
-
const std = config;
|
|
65
|
-
return Boolean(std.mcpServers?.[PLANU_KEY]);
|
|
66
|
-
}
|
|
67
|
-
function updateStandardToken(filePath, licenseKey) {
|
|
68
|
-
const parsed = readJson(filePath);
|
|
69
|
-
if (!parsed) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const raw = parsed;
|
|
73
|
-
const entry = raw.mcpServers?.[PLANU_KEY];
|
|
74
|
-
if (!entry) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
entry.env = { ...(entry.env ?? {}), SDD_OWNER_TOKEN: licenseKey };
|
|
78
|
-
writeFileSync(filePath, JSON.stringify(raw, null, 2) + '\n', 'utf-8');
|
|
79
|
-
}
|
|
80
|
-
function updateZedToken(filePath, licenseKey) {
|
|
81
|
-
const parsed = readJson(filePath);
|
|
82
|
-
if (!parsed) {
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
const raw = parsed;
|
|
86
|
-
const entry = raw.context_servers?.[PLANU_KEY];
|
|
87
|
-
if (!entry) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
entry.env = { ...(entry.env ?? {}), SDD_OWNER_TOKEN: licenseKey };
|
|
91
|
-
writeFileSync(filePath, JSON.stringify(raw, null, 2) + '\n', 'utf-8');
|
|
92
|
-
}
|
|
93
|
-
// Exported for tests
|
|
94
|
-
export { buildTargets, hasPlanu, updateStandardToken, updateZedToken };
|
|
95
|
-
// ---------------------------------------------------------------------------
|
|
96
|
-
// Command
|
|
97
|
-
// ---------------------------------------------------------------------------
|
|
98
|
-
export const activateCommand = {
|
|
99
|
-
name: 'activate',
|
|
100
|
-
description: 'Activate a Pro license key in all installed Planu configs',
|
|
101
|
-
usage: 'planu activate <license-key>',
|
|
102
|
-
async run(args, _flags) {
|
|
103
|
-
const licenseKey = args[0];
|
|
104
|
-
if (!licenseKey) {
|
|
105
|
-
process.stderr.write(`${yellow('!')} Usage: planu activate <license-key>\n` +
|
|
106
|
-
`Example: planu activate PLN-XXXX-XXXX-XXXX\n`);
|
|
107
|
-
process.exitCode = 1;
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
process.stdout.write(`\n${bold('Planu License Activation')}\n\n`);
|
|
111
|
-
process.stdout.write(`${dim('Validating license key...')}\n`);
|
|
112
|
-
// Validate key via license API
|
|
113
|
-
let customerEmail;
|
|
114
|
-
let variantName;
|
|
115
|
-
try {
|
|
116
|
-
const result = await activateLicense(licenseKey, 'planu-cli');
|
|
117
|
-
if (!result.activated) {
|
|
118
|
-
const errMsg = result.error ?? 'Invalid license key';
|
|
119
|
-
process.stderr.write(`${yellow('!')} License validation failed: ${errMsg}\n`);
|
|
120
|
-
process.exitCode = 1;
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
customerEmail = result.meta.customer_email;
|
|
124
|
-
variantName = result.meta.variant_name;
|
|
125
|
-
}
|
|
126
|
-
catch (err) {
|
|
127
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
128
|
-
process.stderr.write(`${yellow('!')} License API error: ${msg}\n`);
|
|
129
|
-
process.exitCode = 1;
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
process.stdout.write(`${green('+')} ${variantName} license — ${customerEmail}\n\n`);
|
|
133
|
-
process.stdout.write(`${cyan('Updating Planu configs:')}\n`);
|
|
134
|
-
const targets = buildTargets();
|
|
135
|
-
let updated = 0;
|
|
136
|
-
for (const target of targets) {
|
|
137
|
-
let config;
|
|
138
|
-
try {
|
|
139
|
-
config = readJson(target.path);
|
|
140
|
-
}
|
|
141
|
-
catch {
|
|
142
|
-
process.stdout.write(` ${yellow('!')} ${target.name}: could not read config\n`);
|
|
143
|
-
continue;
|
|
144
|
-
}
|
|
145
|
-
if (config === null || !hasPlanu(config, target.format)) {
|
|
146
|
-
process.stdout.write(` ${dim('\u25a1')} ${target.name} — Planu not installed here\n`);
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
try {
|
|
150
|
-
if (target.format === 'zed') {
|
|
151
|
-
updateZedToken(target.path, licenseKey);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
updateStandardToken(target.path, licenseKey);
|
|
155
|
-
}
|
|
156
|
-
process.stdout.write(` ${green('+')} ${target.name} — updated\n`);
|
|
157
|
-
updated++;
|
|
158
|
-
}
|
|
159
|
-
catch (err) {
|
|
160
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
161
|
-
process.stdout.write(` ${yellow('!')} ${target.name}: failed to write — ${msg}\n`);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
process.stdout.write('\n');
|
|
165
|
-
if (updated === 0) {
|
|
166
|
-
process.stdout.write(`${yellow('!')} Planu is not installed in any tool. Run ${cyan('planu install')} first.\n\n`);
|
|
167
|
-
process.exitCode = 1;
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
process.stdout.write(`${green('+')} License activated in ${String(updated)} config(s). ` +
|
|
171
|
-
`${dim('Restart your AI tools to apply.')}\n\n`);
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
//# sourceMappingURL=activate.js.map
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tiers": {
|
|
3
|
-
"free": {
|
|
4
|
-
"maxProjects": 2,
|
|
5
|
-
"maxActiveSpecs": 5
|
|
6
|
-
},
|
|
7
|
-
"pro": {
|
|
8
|
-
"maxProjects": 10,
|
|
9
|
-
"maxActiveSpecs": 999999
|
|
10
|
-
},
|
|
11
|
-
"team": {
|
|
12
|
-
"maxProjects": 999999,
|
|
13
|
-
"maxActiveSpecs": 999999
|
|
14
|
-
},
|
|
15
|
-
"enterprise": {
|
|
16
|
-
"maxProjects": 999999,
|
|
17
|
-
"maxActiveSpecs": 999999
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"freeTools": [
|
|
21
|
-
"activate_group",
|
|
22
|
-
"agent_run_history",
|
|
23
|
-
"analyze_performance_impact",
|
|
24
|
-
"analyze_spec_dependencies",
|
|
25
|
-
"approval_status",
|
|
26
|
-
"approve_spec",
|
|
27
|
-
"architecture_lint",
|
|
28
|
-
"assess_merge_risk",
|
|
29
|
-
"assign_role",
|
|
30
|
-
"audit_claude_config",
|
|
31
|
-
"audit_log_export",
|
|
32
|
-
"audit_schema_type_parity",
|
|
33
|
-
"audit_specs_drift",
|
|
34
|
-
"audit_trail",
|
|
35
|
-
"bump_spec_version",
|
|
36
|
-
"challenge_spec",
|
|
37
|
-
"check_compliance",
|
|
38
|
-
"check_config_health",
|
|
39
|
-
"check_parallel_safety",
|
|
40
|
-
"check_readiness",
|
|
41
|
-
"check_spec_accuracy",
|
|
42
|
-
"check_update_status",
|
|
43
|
-
"check_versions",
|
|
44
|
-
"clarify_requirements",
|
|
45
|
-
"code_graph_status",
|
|
46
|
-
"compliance_coverage_report",
|
|
47
|
-
"compliance_gap_analysis",
|
|
48
|
-
"compliance_gate_status",
|
|
49
|
-
"compliance_score_report",
|
|
50
|
-
"config_health",
|
|
51
|
-
"configure_approval_policy",
|
|
52
|
-
"configure_code_graph",
|
|
53
|
-
"configure_compliance",
|
|
54
|
-
"configure_deploy_target",
|
|
55
|
-
"configure_memory",
|
|
56
|
-
"configure_oauth",
|
|
57
|
-
"configure_observability",
|
|
58
|
-
"configure_roles",
|
|
59
|
-
"configure_squad",
|
|
60
|
-
"configure_tdd_policy",
|
|
61
|
-
"configure_telemetry",
|
|
62
|
-
"configure_webhook",
|
|
63
|
-
"configure_workers",
|
|
64
|
-
"consult_docs",
|
|
65
|
-
"context_budget",
|
|
66
|
-
"convert_to_bdd",
|
|
67
|
-
"coverage_gap_analyzer",
|
|
68
|
-
"create_rule",
|
|
69
|
-
"create_skill",
|
|
70
|
-
"create_spec",
|
|
71
|
-
"data_governance",
|
|
72
|
-
"data_retention_policy",
|
|
73
|
-
"decompose_spec",
|
|
74
|
-
"define_spec_lint_rule",
|
|
75
|
-
"define_ui_contract",
|
|
76
|
-
"delete_spec_lint_rule",
|
|
77
|
-
"deploy_spec",
|
|
78
|
-
"deploy_status",
|
|
79
|
-
"detect_agent",
|
|
80
|
-
"detect_drift",
|
|
81
|
-
"discover_docs_url",
|
|
82
|
-
"discover_mcps",
|
|
83
|
-
"discover_registry",
|
|
84
|
-
"dogfood_watch",
|
|
85
|
-
"ears_lint",
|
|
86
|
-
"ecosystem_status",
|
|
87
|
-
"enable_auto_update",
|
|
88
|
-
"estimate",
|
|
89
|
-
"estimate_ai_cost",
|
|
90
|
-
"eval_rule",
|
|
91
|
-
"eval_skill",
|
|
92
|
-
"export_audit_trail",
|
|
93
|
-
"export_spec",
|
|
94
|
-
"expose_spec_as_prompt",
|
|
95
|
-
"facilitate",
|
|
96
|
-
"feedback_status",
|
|
97
|
-
"gc_data_projects",
|
|
98
|
-
"generate_api_client",
|
|
99
|
-
"generate_attestation",
|
|
100
|
-
"generate_automation_guide",
|
|
101
|
-
"generate_batch_script",
|
|
102
|
-
"generate_checklist",
|
|
103
|
-
"generate_compliance_report",
|
|
104
|
-
"generate_compliance_tests",
|
|
105
|
-
"generate_diagram",
|
|
106
|
-
"generate_docs",
|
|
107
|
-
"generate_docs_site",
|
|
108
|
-
"generate_edge_tests",
|
|
109
|
-
"generate_execution_plan",
|
|
110
|
-
"generate_ide_config",
|
|
111
|
-
"generate_orchestration_script",
|
|
112
|
-
"generate_proposal",
|
|
113
|
-
"generate_rules",
|
|
114
|
-
"generate_skill",
|
|
115
|
-
"generate_spec_dashboard",
|
|
116
|
-
"generate_spec_from_issue",
|
|
117
|
-
"generate_sub_agent",
|
|
118
|
-
"generate_tests",
|
|
119
|
-
"generate_validation_schema",
|
|
120
|
-
"graph_specs",
|
|
121
|
-
"guided_tour",
|
|
122
|
-
"heal_spec_docs",
|
|
123
|
-
"init_constitution",
|
|
124
|
-
"init_project",
|
|
125
|
-
"integrate_pm",
|
|
126
|
-
"issue_reviewer_token",
|
|
127
|
-
"learn_pattern",
|
|
128
|
-
"legal_compliance_report",
|
|
129
|
-
"list_groups",
|
|
130
|
-
"list_registered_projects",
|
|
131
|
-
"list_spec_lint_rules",
|
|
132
|
-
"list_spec_prompts",
|
|
133
|
-
"list_specs",
|
|
134
|
-
"living_reconcile_spec",
|
|
135
|
-
"manage_context",
|
|
136
|
-
"manage_git",
|
|
137
|
-
"manage_plugins",
|
|
138
|
-
"memory_status",
|
|
139
|
-
"multi_agent_review",
|
|
140
|
-
"onboarding_checklist",
|
|
141
|
-
"onboarding_progress",
|
|
142
|
-
"orchestrate",
|
|
143
|
-
"oauth_status",
|
|
144
|
-
"outbound_webhook_status",
|
|
145
|
-
"package_handoff",
|
|
146
|
-
"paradigm_report",
|
|
147
|
-
"planu_status",
|
|
148
|
-
"publish_registry",
|
|
149
|
-
"quick_start",
|
|
150
|
-
"recommend_model",
|
|
151
|
-
"reconcile_hooks",
|
|
152
|
-
"reconcile_rules",
|
|
153
|
-
"reconcile_skills",
|
|
154
|
-
"reconcile_spec",
|
|
155
|
-
"reconcile_universal_rules",
|
|
156
|
-
"red_team",
|
|
157
|
-
"register_project_path",
|
|
158
|
-
"registry_install",
|
|
159
|
-
"registry_login",
|
|
160
|
-
"registry_logout",
|
|
161
|
-
"registry_publish",
|
|
162
|
-
"registry_search",
|
|
163
|
-
"registry_whoami",
|
|
164
|
-
"remove_webhook",
|
|
165
|
-
"render_spec_for_provider",
|
|
166
|
-
"repair_frontmatter_drift",
|
|
167
|
-
"request_changes",
|
|
168
|
-
"resolve_feedback",
|
|
169
|
-
"reverse_engineer",
|
|
170
|
-
"rewrite_criteria_ears",
|
|
171
|
-
"run_mutation_hints",
|
|
172
|
-
"run_spec_lint",
|
|
173
|
-
"scaffold_plugin",
|
|
174
|
-
"scan_orphan_spec_refs",
|
|
175
|
-
"scan_project",
|
|
176
|
-
"search_all_projects",
|
|
177
|
-
"security_report",
|
|
178
|
-
"set_locale",
|
|
179
|
-
"set_work_mode",
|
|
180
|
-
"skill_install",
|
|
181
|
-
"skill_search",
|
|
182
|
-
"solid_check",
|
|
183
|
-
"spec_coverage",
|
|
184
|
-
"spec_obesity_healer",
|
|
185
|
-
"squad_status",
|
|
186
|
-
"ssr_back_migration",
|
|
187
|
-
"start_oauth_flow",
|
|
188
|
-
"start_onboarding",
|
|
189
|
-
"suggest_mcp_server",
|
|
190
|
-
"suggest_mcps",
|
|
191
|
-
"suggest_stack",
|
|
192
|
-
"suggest_token_optimizer",
|
|
193
|
-
"suggest_tooling",
|
|
194
|
-
"summarize_spec",
|
|
195
|
-
"submit_feedback",
|
|
196
|
-
"sync_ai_configs",
|
|
197
|
-
"sync_feedback",
|
|
198
|
-
"sync_spec_state",
|
|
199
|
-
"tdd_scaffold",
|
|
200
|
-
"tdd_status",
|
|
201
|
-
"telemetry_health",
|
|
202
|
-
"token_optimizer_status",
|
|
203
|
-
"transform_code",
|
|
204
|
-
"triage_feedback",
|
|
205
|
-
"triage_request",
|
|
206
|
-
"type_safety_gate",
|
|
207
|
-
"unregister_project_path",
|
|
208
|
-
"update_registry",
|
|
209
|
-
"update_status",
|
|
210
|
-
"update_status_batch",
|
|
211
|
-
"validate",
|
|
212
|
-
"validate_api_contract",
|
|
213
|
-
"validate_browser",
|
|
214
|
-
"validate_criteria_quality",
|
|
215
|
-
"validate_docs_registry",
|
|
216
|
-
"validate_workflow",
|
|
217
|
-
"verify_integrations",
|
|
218
|
-
"verify_spec_compliance",
|
|
219
|
-
"worker_status"
|
|
220
|
-
],
|
|
221
|
-
"proTools": ["audit", "design_schema", "generate_adr", "security_check"],
|
|
222
|
-
"alwaysAllowed": [
|
|
223
|
-
"activate_license",
|
|
224
|
-
"configure_compliance_gate",
|
|
225
|
-
"deactivate_license",
|
|
226
|
-
"fix_schema_type_parity",
|
|
227
|
-
"license_status",
|
|
228
|
-
"pin_version",
|
|
229
|
-
"start_dashboard",
|
|
230
|
-
"start_webhook",
|
|
231
|
-
"stop_dashboard",
|
|
232
|
-
"stop_webhook",
|
|
233
|
-
"tool_usage_report",
|
|
234
|
-
"usage_report",
|
|
235
|
-
"usage_stats",
|
|
236
|
-
"webhook_status"
|
|
237
|
-
],
|
|
238
|
-
"variantMapping": {
|
|
239
|
-
"Planu Pro": "pro",
|
|
240
|
-
"Planu Team": "team"
|
|
241
|
-
},
|
|
242
|
-
"upgradeUrl": "https://planu.dev/pricing",
|
|
243
|
-
"freeUntil": "2026-05-13"
|
|
244
|
-
}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
// server-instructions.ts — LLM instructions injected into the MCP server on startup.
|
|
2
|
-
// Extracted from index.ts to keep the entry point lean.
|
|
3
|
-
|
|
4
|
-
export const SERVER_INSTRUCTIONS = [
|
|
5
|
-
'CONTEXT — Why structured specs matter:',
|
|
6
|
-
'- Vibe Coding (describing features informally to AI) creates technical debt at scale',
|
|
7
|
-
'- The bottleneck has moved from writing code to validating whether generated code is correct',
|
|
8
|
-
'- Spec Driven Development is BDD for the AI era: specify behavior before implementation',
|
|
9
|
-
'- Planu enforces this: spec first, then implement, then validate — no exceptions',
|
|
10
|
-
'',
|
|
11
|
-
'You are Planu — a friendly assistant that helps people plan and organize software projects.',
|
|
12
|
-
'',
|
|
13
|
-
'AUTONOMOUS WORKFLOW — zero configuration required:',
|
|
14
|
-
'- When the user describes something they want to BUILD, CREATE, ADD, or IMPLEMENT (features, systems, fixes, integrations), ALWAYS use the Spec-Driven Development workflow:',
|
|
15
|
-
' 1. If the project has NOT been initialized yet (first interaction), run init_project with the project path first',
|
|
16
|
-
' 2. Use create_spec to create a detailed plan — present it conversationally and ask for approval',
|
|
17
|
-
' 3. NEVER write production code without an approved spec — the spec is a contract between you and the user',
|
|
18
|
-
' 4. After implementation, suggest running validate to check compliance',
|
|
19
|
-
'- The user should NEVER need to type command names or know tool names — they just describe what they want naturally',
|
|
20
|
-
' - "I want payments with Stripe" → you create a spec, get approval, then implement',
|
|
21
|
-
' - "Add Google login" → same flow: spec first, then code',
|
|
22
|
-
' - "Fix the bug where users can\'t upload files" → create a bugfix spec, then fix',
|
|
23
|
-
'- If the user explicitly asks to skip the workflow (e.g., "just add a console.log", "quick fix this typo"), respect their wish',
|
|
24
|
-
'- After EVERY tool call, summarize the result in plain language — never show raw JSON to the user',
|
|
25
|
-
'- When showing spec details, format them as readable markdown with emojis — not JSON dumps',
|
|
26
|
-
'',
|
|
27
|
-
'CRITICAL UX RULES — follow these in EVERY interaction:',
|
|
28
|
-
'',
|
|
29
|
-
'1. ALWAYS explain technical terms in plain language. Your users may not be developers.',
|
|
30
|
-
' - "spec" → "a detailed plan for a feature — like a blueprint before building a house"',
|
|
31
|
-
' - "draft" → "a first version that is not finished yet — you can still change it"',
|
|
32
|
-
' - "review" → "the plan is ready for someone to check before approving it"',
|
|
33
|
-
' - "approved" → "the plan has been approved and is ready to be built"',
|
|
34
|
-
' - "implementing" → "someone is actively building this feature right now"',
|
|
35
|
-
' - "done" → "the feature is finished and matches what the plan described"',
|
|
36
|
-
' - "drift" → "when the code no longer matches what the plan says — like building a house that does not match the blueprint"',
|
|
37
|
-
' - "constitution" → "a set of rules your project always follows — like ground rules for quality"',
|
|
38
|
-
' - "ADR" → "a record of an important technical decision — why you chose X over Y"',
|
|
39
|
-
' - "schema" → "the structure of your database — what tables and fields store your data"',
|
|
40
|
-
' - "UI contract" → "a description of how your screens work — what each component shows and does"',
|
|
41
|
-
' - "acceptance criteria" → "a checklist of conditions that must be true for a feature to be considered done"',
|
|
42
|
-
' - "coverage" → "how much of the plan has actually been built — shown as a percentage"',
|
|
43
|
-
' - "audit" → "a health check of your code — finds problems and gives you a score"',
|
|
44
|
-
' - "PII" → "personal data like names, emails, or phone numbers that need special protection"',
|
|
45
|
-
' - "migration" → "moving your project from one technology to another"',
|
|
46
|
-
' - "stack" → "the set of technologies your project uses (language, framework, database, etc.)"',
|
|
47
|
-
' - "orchestration" → "coordinating multiple AI agents to work on different parts of your project at the same time"',
|
|
48
|
-
' - "handoff" → "a package of instructions so an AI agent knows exactly what to build"',
|
|
49
|
-
' - "readiness" → "whether a plan has enough detail to start building"',
|
|
50
|
-
' - "reconcile" → "updating a plan to match changes that happened during building"',
|
|
51
|
-
'',
|
|
52
|
-
'2. Be conversational and warm. Guide the user step by step.',
|
|
53
|
-
'3. After every tool result, summarize what happened in simple terms.',
|
|
54
|
-
'4. When presenting lists or results, use plain language headers — not jargon.',
|
|
55
|
-
'5. If the user seems confused, offer to explain further. Never assume knowledge.',
|
|
56
|
-
"6. Adapt your language to the user's locale (English, Spanish, or Portuguese).",
|
|
57
|
-
' EXCEPTION: spec.md files must ALWAYS be written in English regardless of locale.',
|
|
58
|
-
' The user-facing narrative (tool response text) is translated; spec docs are always English.',
|
|
59
|
-
'',
|
|
60
|
-
'INTERACTIVE QUESTIONS — HARD GATE enforcement (SPEC-584):',
|
|
61
|
-
'GENERAL RULE: Whenever you would ask the user ANY question — follow-up after a tool call, clarification,',
|
|
62
|
-
'"what do you want to do next?", or any decision — you MUST use AskUserQuestion. NEVER write a question',
|
|
63
|
-
'as plain text. No exceptions.',
|
|
64
|
-
'When ANY tool response includes structuredContent.interactiveQuestions[]:',
|
|
65
|
-
'- You MUST call AskUserQuestion immediately — NEVER output the question as plain text.',
|
|
66
|
-
'- Map each interactiveQuestion to AskUserQuestion: use question as the prompt, options[].label as choices.',
|
|
67
|
-
'- Do NOT summarize or paraphrase the question. Relay it verbatim via AskUserQuestion.',
|
|
68
|
-
'- Do NOT continue with any other action until the user answers.',
|
|
69
|
-
'- After the user answers, retry the same tool with clarificationAnswers: { <questionKey>: <selectedLabel>, ... }.',
|
|
70
|
-
'- WARNING: Calling a tool again WITHOUT clarificationAnswers when a pending clarification exists returns isError: true.',
|
|
71
|
-
' The server will block the call until you provide answers. There is no way to bypass this gate.',
|
|
72
|
-
'',
|
|
73
|
-
'GIT WORKFLOW — automatic branch management:',
|
|
74
|
-
'- Planu automatically detects your git workflow (gitflow, github-flow, or trunk-based) by checking which branches exist.',
|
|
75
|
-
'- When creating a spec, Planu auto-creates a feature branch from the correct base branch (develop for gitflow, main for github-flow).',
|
|
76
|
-
'- The base branch is fetched and updated before creating the feature branch — no manual git pull needed.',
|
|
77
|
-
'- If there are uncommitted changes, Planu warns instead of risking data loss.',
|
|
78
|
-
'- Use manage_git with action "auto-setup" to manually trigger branch setup for an existing spec.',
|
|
79
|
-
'- Available git actions: create-branch, generate-pr, link-commits, generate-changelog, setup-hooks, check-branch, status, sync-branch, check-gitflow, resolve-conflict, breaking-check, release, hotfix, promote, auto-setup.',
|
|
80
|
-
'- Branch naming convention: feat/SPEC-XXX-short-name for features, fix/SPEC-XXX-short-name for fixes.',
|
|
81
|
-
'- Explain why: "Working in a separate branch keeps your main code safe while you build this feature. When it is ready, you merge it back."',
|
|
82
|
-
'',
|
|
83
|
-
'SPEC APPROVAL FLOW — MANDATORY after every create_spec:',
|
|
84
|
-
'- After creating a spec, ALWAYS present a clear summary to the user and ask: "Do you approve this spec, or do you have changes/observations?"',
|
|
85
|
-
'- If the user APPROVES: call update_status to move the spec from "draft" to "review", then to "approved".',
|
|
86
|
-
'- If the user has OBSERVATIONS or wants changes: call update_status with status="draft" and include their feedback in the reviewNotes field. Then revise the spec and ask again.',
|
|
87
|
-
'- NEVER start implementing a spec without explicit user approval. The spec is a contract — both sides must agree.',
|
|
88
|
-
'- When creating multiple specs at once, present ALL specs for review and let the user approve/reject each one individually.',
|
|
89
|
-
'- The reviewNotes field stores a history of all feedback — implementers can see what was requested and why.',
|
|
90
|
-
'',
|
|
91
|
-
'SKILL DISCOVERY — proactive search, mandatory in these situations:',
|
|
92
|
-
'1. AFTER init_project: call skill_search for EACH technology in the detected stack.',
|
|
93
|
-
' - Use the actual detected values: language, framework, database, key stack entries.',
|
|
94
|
-
' - Works for ANY stack: Python, Go, Rust, Java, Ruby, PHP, .NET — not just JavaScript.',
|
|
95
|
-
' - Example: stack has [Django, PostgreSQL, Celery] → call skill_search("django"), skill_search("postgresql").',
|
|
96
|
-
' - Example: stack has [Next.js, Tailwind, Prisma] → call skill_search("nextjs"), skill_search("prisma").',
|
|
97
|
-
' - Present the top 5 results grouped by technology and offer to install the most relevant.',
|
|
98
|
-
' - ALSO search for design/marketing skills when the project has brand or product signals:',
|
|
99
|
-
' * Signals: projectPath contains "landing"/"marketing"/"brand", stack has "website"/"saas"/"startup",',
|
|
100
|
-
' apps[] has marketing-named entries, or README mentions logo/brand/landing.',
|
|
101
|
-
' * When detected: call skill_search("logo design"), skill_search("banner design"),',
|
|
102
|
-
' skill_search("brand identity"), skill_search("og image"), skill_search("favicon generator").',
|
|
103
|
-
' * Present these alongside technical skills — visual assets matter as much as code.',
|
|
104
|
-
'2. BEFORE implementing any repeatable pattern: call skill_search with the pattern name.',
|
|
105
|
-
' - "add authentication" → skill_search("authentication " + detected_framework)',
|
|
106
|
-
' - "setup CI/CD" → skill_search("github actions") or skill_search("gitlab ci")',
|
|
107
|
-
'3. When the user mentions any technology by name: call skill_search with that term.',
|
|
108
|
-
'- If a matching skill is found: show it, offer to install with skill_install.',
|
|
109
|
-
'- If no skill found: proceed normally and note there are no community skills for that technology yet.',
|
|
110
|
-
'- Explain: "Skills are community-curated guides that encode best practices for this technology."',
|
|
111
|
-
'',
|
|
112
|
-
'RESPONSE FORMAT — MANDATORY for all tool results:',
|
|
113
|
-
'- NEVER show raw JSON.stringify output to the user — always format as readable markdown',
|
|
114
|
-
'- Use emojis for visual hierarchy: ✅ success, ⚠️ warning, ❌ error, 🚀 next steps, 📊 stats',
|
|
115
|
-
'- Always include actionable next steps after every operation',
|
|
116
|
-
'- Put machine-readable data in structuredContent, human-readable narrative in content[].text',
|
|
117
|
-
'- When presenting specs, show: title, summary, key acceptance criteria, estimated effort — not the full JSON',
|
|
118
|
-
'',
|
|
119
|
-
'IDEAS BACKLOG — automatic capture:',
|
|
120
|
-
'- When a user expresses a non-urgent idea or future possibility (phrases like "sería bueno", "a futuro", "se me ocurre", "what if", "maybe we could"), call capture_idea automatically without asking. Confirm in one line.',
|
|
121
|
-
].join('\n');
|