create-principles-disciple 1.94.0 → 1.96.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/console/dist/server/config/WorkspaceConfigStore.js +2 -1
- package/console/dist/server/config/pd-config-store.d.ts +33 -0
- package/console/dist/server/config/pd-config-store.js +196 -0
- package/console/dist/server/index.js +19 -4
- package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +0 -2
- package/console/dist/server/models/EvidenceChainConsoleModel.js +36 -2
- package/console/dist/server/models/HealthCheckModel.js +5 -3
- package/console/dist/server/models/IntentDecisionModel.d.ts +66 -0
- package/console/dist/server/models/IntentDecisionModel.js +207 -0
- package/console/dist/server/models/IntentPageModel.d.ts +52 -0
- package/console/dist/server/models/IntentPageModel.js +292 -0
- package/console/dist/server/models/PrinciplesConsoleModel.d.ts +2 -0
- package/console/dist/server/models/PrinciplesConsoleModel.js +37 -1
- package/console/dist/server/models/WorkspaceService.d.ts +0 -28
- package/console/dist/server/models/WorkspaceService.js +0 -115
- package/console/dist/server/routes/config.js +55 -1
- package/console/dist/server/routes/intent-decisions.d.ts +33 -0
- package/console/dist/server/routes/intent-decisions.js +499 -0
- package/console/dist/server/routes/intent.d.ts +7 -0
- package/console/dist/server/routes/intent.js +223 -0
- package/console/dist/server/routes/principles.js +67 -1
- package/console/dist/server/routes/update.d.ts +0 -1
- package/console/dist/server/routes/update.js +14 -11
- package/console/dist/types.d.ts +1 -0
- package/console/dist/ui/App.js +2 -60
- package/console/dist/ui/api.d.ts +58 -18
- package/console/dist/ui/api.js +78 -6
- package/console/dist/ui/components/layout/app-sidebar.js +13 -12
- package/console/dist/ui/components/ui/badge.d.ts +1 -1
- package/console/dist/ui/components/ui/button.d.ts +1 -1
- package/console/dist/ui/components/ui/shiny-text.d.ts +28 -0
- package/console/dist/ui/components/ui/shiny-text.js +46 -0
- package/console/dist/ui/i18n/en.json +306 -3
- package/console/dist/ui/i18n/zh-CN.json +306 -3
- package/console/dist/ui/pages/activation/ActivationPage.js +2 -1
- package/console/dist/ui/pages/control-center/AgentCard.d.ts +31 -0
- package/console/dist/ui/pages/control-center/AgentCard.js +156 -0
- package/console/dist/ui/pages/control-center/AgentGroup.d.ts +26 -0
- package/console/dist/ui/pages/control-center/AgentGroup.js +38 -0
- package/console/dist/ui/pages/control-center/ControlCenterPage.js +103 -41
- package/console/dist/ui/pages/control-center/EmpathyObserverCostHint.d.ts +28 -0
- package/console/dist/ui/pages/control-center/EmpathyObserverCostHint.js +38 -0
- package/console/dist/ui/pages/control-center/WorkflowDiagram.d.ts +17 -0
- package/console/dist/ui/pages/control-center/WorkflowDiagram.js +55 -0
- package/console/dist/ui/pages/debt/DebtPage.js +219 -2
- package/console/dist/ui/pages/focus/FocusPage.js +2 -1
- package/console/dist/ui/pages/intent/IntentOnboarding.d.ts +67 -0
- package/console/dist/ui/pages/intent/IntentOnboarding.js +289 -0
- package/console/dist/ui/pages/intent/IntentPage.d.ts +1 -0
- package/console/dist/ui/pages/intent/IntentPage.js +258 -0
- package/console/dist/ui/pages/pain/PainPage.js +234 -4
- package/console/dist/ui/pages/pain/pain-card-helpers.d.ts +75 -0
- package/console/dist/ui/pages/pain/pain-card-helpers.js +78 -0
- package/console/dist/ui/pages/principles/PrinciplesPage.js +2 -1
- package/console/dist/ui/utils/agent-metadata.d.ts +58 -0
- package/console/dist/ui/utils/agent-metadata.js +275 -0
- package/console/dist/ui/utils/control-center-helpers.d.ts +19 -0
- package/console/dist/ui/utils/control-center-helpers.js +37 -0
- package/console/dist/ui/utils/validators.d.ts +200 -0
- package/console/dist/ui/utils/validators.js +563 -0
- package/console/dist/web/assets/app.css +498 -3
- package/console/dist/web/assets/app.js +5063 -1418
- package/console/package.json +3 -0
- package/core/dist/principle-tree-ledger.d.ts +55 -4
- package/core/dist/principle-tree-ledger.d.ts.map +1 -1
- package/core/dist/principle-tree-ledger.js +472 -13
- package/core/dist/principle-tree-ledger.js.map +1 -1
- package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js +58 -0
- package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
- package/core/dist/prompt-builder/empathy-keyword-matching.d.ts.map +1 -1
- package/core/dist/prompt-builder/empathy-keyword-matching.js +9 -6
- package/core/dist/prompt-builder/empathy-keyword-matching.js.map +1 -1
- package/core/dist/prompt-builder/size-guard.d.ts +1 -0
- package/core/dist/prompt-builder/size-guard.d.ts.map +1 -1
- package/core/dist/prompt-builder/size-guard.js +21 -0
- package/core/dist/prompt-builder/size-guard.js.map +1 -1
- package/core/dist/prompt-builder/types.d.ts +2 -0
- package/core/dist/prompt-builder/types.d.ts.map +1 -1
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +143 -65
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +85 -7
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js +284 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.js +70 -0
- package/core/dist/runtime-v2/__tests__/golden-trace-replay-validator.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/golden-trace.test.js +136 -1
- package/core/dist/runtime-v2/__tests__/golden-trace.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js +105 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +7 -5
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pi-artifact-store.test.js +11 -0
- package/core/dist/runtime-v2/__tests__/pi-artifact-store.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +15 -2
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.js +290 -0
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.js +158 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.js +211 -0
- package/core/dist/runtime-v2/__tests__/v2-adversarial-cases.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +15 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts +2 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js +62 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +12 -2
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts +2 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js +56 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +8 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +20 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js +6 -0
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js +86 -32
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +158 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts +11 -0
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +55 -11
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +134 -15
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts +18 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js +251 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +73 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts +98 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js +131 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +8 -0
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +66 -3
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician-output.d.ts +23 -0
- package/core/dist/runtime-v2/diagnostician-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician-output.js +16 -0
- package/core/dist/runtime-v2/diagnostician-output.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +32 -0
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +1 -1
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +23 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js +30 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js +74 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/rulecode-context-v2-flag.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.js +246 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/surface-guard-policy.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +9 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/index.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/index.js +2 -0
- package/core/dist/runtime-v2/feature-flags/index.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +0 -9
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
- package/{plugin/dist/core/surface-guard.d.ts → core/dist/runtime-v2/feature-flags/surface-guard-policy.d.ts} +15 -5
- package/core/dist/runtime-v2/feature-flags/surface-guard-policy.d.ts.map +1 -0
- package/{plugin/dist/core/surface-guard.js → core/dist/runtime-v2/feature-flags/surface-guard-policy.js} +14 -2
- package/core/dist/runtime-v2/feature-flags/surface-guard-policy.js.map +1 -0
- package/core/dist/runtime-v2/golden-trace-replay-validator.js +1 -1
- package/core/dist/runtime-v2/golden-trace-replay-validator.js.map +1 -1
- package/core/dist/runtime-v2/golden-trace.d.ts +19 -3
- package/core/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/core/dist/runtime-v2/golden-trace.js +2 -0
- package/core/dist/runtime-v2/golden-trace.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +21 -4
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +21 -3
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js +185 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.js +88 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc-version.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.js +181 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js +168 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js +121 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/index.d.ts +8 -0
- package/core/dist/runtime-v2/intent/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/index.js +8 -0
- package/core/dist/runtime-v2/intent/index.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-browser.d.ts +23 -0
- package/core/dist/runtime-v2/intent/intent-browser.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-browser.js +21 -0
- package/core/dist/runtime-v2/intent/intent-browser.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.d.ts +125 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.js +21 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.d.ts +95 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.js +43 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc-version.d.ts +28 -0
- package/core/dist/runtime-v2/intent/intent-doc-version.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc-version.js +21 -0
- package/core/dist/runtime-v2/intent/intent-doc-version.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc.d.ts +35 -0
- package/core/dist/runtime-v2/intent/intent-doc.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc.js +158 -0
- package/core/dist/runtime-v2/intent/intent-doc.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.d.ts +63 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.js +129 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-hash.d.ts +2 -0
- package/core/dist/runtime-v2/intent/intent-hash.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-hash.js +10 -0
- package/core/dist/runtime-v2/intent/intent-hash.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.d.ts +42 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.js +81 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts +54 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js +219 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +41 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js +130 -2
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.js +228 -0
- package/core/dist/runtime-v2/internalization/__tests__/behavior-example-pack.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +41 -11
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +360 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js +333 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js +113 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js +135 -0
- package/core/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.js +449 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-context-v2.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-case.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/adversarial-case.js +24 -0
- package/core/dist/runtime-v2/internalization/adversarial-case.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-output.d.ts +10 -0
- package/core/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-output.js +45 -0
- package/core/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +2 -2
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js +7 -2
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/behavior-example-pack.d.ts +66 -0
- package/core/dist/runtime-v2/internalization/behavior-example-pack.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/behavior-example-pack.js +183 -0
- package/core/dist/runtime-v2/internalization/behavior-example-pack.js.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts +13 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +42 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.js +27 -0
- package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts +8 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.js +10 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +17 -0
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +118 -24
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-context-v2.d.ts +61 -0
- package/core/dist/runtime-v2/internalization/rule-context-v2.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/rule-context-v2.js +301 -0
- package/core/dist/runtime-v2/internalization/rule-context-v2.js.map +1 -0
- package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts +9 -0
- package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts +55 -0
- package/core/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/v2-adversarial-cases.js +131 -0
- package/core/dist/runtime-v2/internalization/v2-adversarial-cases.js.map +1 -0
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +280 -56
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +12 -0
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts +6 -0
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.js +2 -0
- package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
- package/core/dist/runtime-v2/principle-tree/ledger-codec.js.map +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.d.ts +2 -0
- package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.js +95 -0
- package/core/dist/runtime-v2/risk/__tests__/risk-calculator-policy.test.js.map +1 -0
- package/core/dist/runtime-v2/risk/index.d.ts +7 -0
- package/core/dist/runtime-v2/risk/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/risk/index.js +6 -0
- package/core/dist/runtime-v2/risk/index.js.map +1 -0
- package/core/dist/runtime-v2/risk/risk-calculator-policy.d.ts +18 -0
- package/core/dist/runtime-v2/risk/risk-calculator-policy.d.ts.map +1 -0
- package/core/dist/runtime-v2/risk/risk-calculator-policy.js +47 -0
- package/core/dist/runtime-v2/risk/risk-calculator-policy.js.map +1 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js +55 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js.map +1 -0
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +6 -0
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js +272 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js.map +1 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.js +83 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-doc-version-store.test.js.map +1 -0
- package/core/dist/runtime-v2/store/intent/index.d.ts +7 -0
- package/core/dist/runtime-v2/store/intent/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/index.js +6 -0
- package/core/dist/runtime-v2/store/intent/index.js.map +1 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts +51 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js +306 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js.map +1 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.d.ts +28 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.js +88 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-doc-version-store.js.map +1 -0
- package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js +14 -3
- package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +72 -0
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -0
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts +27 -0
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js +138 -12
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts +2 -0
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js +149 -0
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js.map +1 -0
- package/core/dist/runtime-v2/thinking-models/index.d.ts +3 -0
- package/core/dist/runtime-v2/thinking-models/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/thinking-models/index.js +3 -0
- package/core/dist/runtime-v2/thinking-models/index.js.map +1 -0
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts +73 -0
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts.map +1 -0
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js +227 -0
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js +40 -1
- package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js +28 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-output-typebox.d.ts +3 -0
- package/core/dist/runtime-v2/tools/artificer-output-typebox.d.ts.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-output-typebox.js +3 -0
- package/core/dist/runtime-v2/tools/artificer-output-typebox.js.map +1 -1
- package/core/dist/runtime-v2/types/event-payload.d.ts +1 -20
- package/core/dist/runtime-v2/types/event-payload.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-payload.js +0 -12
- package/core/dist/runtime-v2/types/event-payload.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +5 -34
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +0 -19
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts +63 -0
- package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/evidence-chain-contract.js +234 -9
- package/core/dist/runtime-v2/types/evidence-chain-contract.js.map +1 -1
- package/core/dist/runtime-v2/types/index.d.ts +5 -5
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +5 -3
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/core/dist/runtime-v2/types/ledger-store.d.ts +30 -30
- package/core/dist/runtime-v2/types/ledger-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/ledger-store.js +10 -5
- package/core/dist/runtime-v2/types/ledger-store.js.map +1 -1
- package/core/dist/workflow-funnel-loader.d.ts +2 -2
- package/core/dist/workflow-funnel-loader.d.ts.map +1 -1
- package/core/package.json +4 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +16 -0
- package/dist/installer.js.map +1 -1
- package/package.json +1 -1
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.d.ts +9 -0
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.js +237 -0
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.js.map +1 -0
- package/pd-cli/dist/commands/intent.d.ts +76 -0
- package/pd-cli/dist/commands/intent.d.ts.map +1 -0
- package/pd-cli/dist/commands/intent.js +411 -0
- package/pd-cli/dist/commands/intent.js.map +1 -0
- package/pd-cli/dist/commands/runtime-init.d.ts +43 -0
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -0
- package/pd-cli/dist/commands/runtime-init.js +264 -0
- package/pd-cli/dist/commands/runtime-init.js.map +1 -0
- package/pd-cli/dist/index.js +25 -0
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.js +6 -0
- package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
- package/pd-cli/package.json +1 -0
- package/plugin/dist/commands/pain.js +2 -0
- package/plugin/dist/core/behavior-example-pack-assembler.d.ts +43 -0
- package/plugin/dist/core/behavior-example-pack-assembler.js +247 -0
- package/plugin/dist/core/control-ui-db.d.ts +11 -0
- package/plugin/dist/core/control-ui-db.js +40 -16
- package/plugin/dist/core/event-log.js +0 -5
- package/plugin/dist/core/intent-doc-reader-adapter.d.ts +36 -0
- package/plugin/dist/core/intent-doc-reader-adapter.js +76 -0
- package/plugin/dist/core/intent-doc-reader.d.ts +89 -0
- package/plugin/dist/core/intent-doc-reader.js +210 -0
- package/plugin/dist/core/principle-tree-ledger.d.ts +27 -79
- package/plugin/dist/core/principle-tree-ledger.js +39 -524
- package/plugin/dist/core/reflection/reflection-context.d.ts +2 -2
- package/plugin/dist/core/rule-context-assembler.d.ts +45 -0
- package/plugin/dist/core/rule-context-assembler.js +148 -0
- package/plugin/dist/core/thinking-models.d.ts +12 -57
- package/plugin/dist/core/thinking-models.js +18 -224
- package/plugin/dist/core/trajectory-types.d.ts +18 -0
- package/plugin/dist/core/trajectory.d.ts +50 -2
- package/plugin/dist/core/trajectory.js +435 -254
- package/plugin/dist/core/workspace-context.d.ts +2 -3
- package/plugin/dist/hooks/gate.js +59 -2
- package/plugin/dist/hooks/pain.js +5 -0
- package/plugin/dist/hooks/prompt-helpers.d.ts +19 -1
- package/plugin/dist/hooks/prompt-helpers.js +39 -2
- package/plugin/dist/hooks/prompt-types.d.ts +8 -0
- package/plugin/dist/hooks/prompt.js +81 -21
- package/plugin/dist/index.d.ts +3 -1
- package/plugin/dist/index.js +10 -6
- package/plugin/dist/service/runtime-summary-service.js +1 -1
- package/plugin/dist/service/subagent-workflow/workflow-store.d.ts +14 -0
- package/plugin/dist/service/subagent-workflow/workflow-store.js +91 -2
- package/plugin/dist/types/event-types.d.ts +1 -1
- package/plugin/package.json +6 -3
- package/plugin/scripts/acceptance-test.mjs +3 -3
- package/plugin/dist/core/evolution-migration.d.ts +0 -5
- package/plugin/dist/core/evolution-migration.js +0 -65
- package/plugin/dist/core/principle-tree-ledger-adapter.d.ts +0 -32
- package/plugin/dist/core/principle-tree-ledger-adapter.js +0 -125
- package/plugin/dist/core/risk-calculator.d.ts +0 -22
- package/plugin/dist/core/risk-calculator.js +0 -88
- package/plugin/dist/core/rule-host-helpers.d.ts +0 -8
- package/plugin/dist/core/rule-host-helpers.js +0 -7
- package/plugin/dist/core/rule-host-types.d.ts +0 -7
- package/plugin/dist/core/rule-host-types.js +0 -7
- package/plugin/dist/core/schema/db-types.d.ts +0 -11
- package/plugin/dist/core/schema/db-types.js +0 -5
- package/plugin/dist/core/schema/index.d.ts +0 -17
- package/plugin/dist/core/schema/index.js +0 -15
- package/plugin/dist/core/schema/migration-runner.d.ts +0 -53
- package/plugin/dist/core/schema/migration-runner.js +0 -170
- package/plugin/dist/core/schema/migrations/001-init-trajectory.d.ts +0 -6
- package/plugin/dist/core/schema/migrations/001-init-trajectory.js +0 -190
- package/plugin/dist/core/schema/migrations/002-init-central.d.ts +0 -5
- package/plugin/dist/core/schema/migrations/002-init-central.js +0 -108
- package/plugin/dist/core/schema/migrations/003-init-workflow.d.ts +0 -5
- package/plugin/dist/core/schema/migrations/003-init-workflow.js +0 -50
- package/plugin/dist/core/schema/migrations/004-add-thinking-and-gfi.d.ts +0 -8
- package/plugin/dist/core/schema/migrations/004-add-thinking-and-gfi.js +0 -66
- package/plugin/dist/core/schema/migrations/index.d.ts +0 -16
- package/plugin/dist/core/schema/migrations/index.js +0 -27
- package/plugin/dist/core/schema/schema-definitions.d.ts +0 -46
- package/plugin/dist/core/schema/schema-definitions.js +0 -599
- package/plugin/dist/service/central-database.d.ts +0 -138
- package/plugin/dist/service/central-database.js +0 -731
- package/plugin/dist/service/central-sync-service.d.ts +0 -8
- package/plugin/dist/service/central-sync-service.js +0 -71
- package/plugin/scripts/db-migrate.mjs +0 -170
- package/plugin/scripts/validate-live-path.ts +0 -462
package/console/dist/ui/api.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateErrorResponse, validateHeaders, validateFeedbackReport, validateFeedbackDraftsList, validateFeedbackDraftEnvelope, validateDeleteEnvelope, validateWorkspaceEntry, validateWorkspaceList, validateRemovedEnvelope, validateSyncResult, validateConfigSummary, validateConfigCatalog, validateAgentBindingUpdate, validateDefaultRuntimeUpdate, validateOutputLanguage, validateGovernanceQueue, validateActivations, validateDisableActivation, validateLifecycleMetrics, validateUpdateStatus, validateUpdateHistory, validateApplyUpdateResult, validateRollbackResult, validateApprovalRecordDirect, validatePrinciplesList, validateApprovalsGrouped, validateEvidenceChain, validateTrajectoryData, } from "./utils/validators.js";
|
|
1
|
+
import { validateErrorResponse, validateHeaders, validateFeedbackReport, validateFeedbackDraftsList, validateFeedbackDraftEnvelope, validateDeleteEnvelope, validateWorkspaceEntry, validateWorkspaceList, validateRemovedEnvelope, validateSyncResult, validateConfigSummary, validateConfigCatalog, validateAgentBindingUpdate, validateDefaultRuntimeUpdate, validateFeatureFlagUpdate, validateOutputLanguage, validateGovernanceQueue, validateActivations, validateDisableActivation, validateLifecycleMetrics, validateUpdateStatus, validateUpdateHistory, validateApplyUpdateResult, validateRollbackResult, validateApprovalRecordDirect, validatePrinciplesList, validateApprovalsGrouped, validateEvidenceChain, validateTrajectoryData, validateIntentSummary, validateIntentDecisionList, validateIntentDecisionResult, validateIntentDecisionSummary, validateFollowUpResponse, validateIntentInitResult, validateIntentSaveResult, validateIntentRawContent, validateIntentVersions, } from "./utils/validators.js";
|
|
2
2
|
// ── Auth ──────────────────────────────────────────────────────────────────────
|
|
3
3
|
function getToken() {
|
|
4
4
|
return sessionStorage.getItem("pd_token");
|
|
@@ -37,6 +37,7 @@ async function request(path, options, validate) {
|
|
|
37
37
|
}
|
|
38
38
|
let errorMessage = `HTTP ${response.status}`;
|
|
39
39
|
let nextAction;
|
|
40
|
+
let reason;
|
|
40
41
|
try {
|
|
41
42
|
const raw = await response.json();
|
|
42
43
|
const parsed = validateErrorResponse(raw);
|
|
@@ -47,6 +48,9 @@ async function request(path, options, validate) {
|
|
|
47
48
|
else if (parsed.error) {
|
|
48
49
|
errorMessage = parsed.error;
|
|
49
50
|
}
|
|
51
|
+
if (parsed.reason) {
|
|
52
|
+
({ reason } = parsed);
|
|
53
|
+
}
|
|
50
54
|
if (parsed.nextAction) {
|
|
51
55
|
({ nextAction } = parsed);
|
|
52
56
|
}
|
|
@@ -55,7 +59,7 @@ async function request(path, options, validate) {
|
|
|
55
59
|
catch {
|
|
56
60
|
// ignore parse errors
|
|
57
61
|
}
|
|
58
|
-
return { success: false, error: errorMessage, nextAction };
|
|
62
|
+
return { success: false, error: errorMessage, reason, nextAction };
|
|
59
63
|
}
|
|
60
64
|
const raw = await response.json();
|
|
61
65
|
const apiData = (raw && typeof raw === "object" && "success" in raw && "data" in raw)
|
|
@@ -114,14 +118,21 @@ async function fetchPrinciples(filter) {
|
|
|
114
118
|
async function fetchPrincipleDetail(principleId) {
|
|
115
119
|
return request(`/api/principles/${encodeURIComponent(principleId)}`);
|
|
116
120
|
}
|
|
121
|
+
async function archivePrinciple(principleId) {
|
|
122
|
+
return request(`/api/principles/${encodeURIComponent(principleId)}/archive`, {
|
|
123
|
+
method: "POST",
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
async function unarchivePrinciple(principleId) {
|
|
127
|
+
return request(`/api/principles/${encodeURIComponent(principleId)}/unarchive`, {
|
|
128
|
+
method: "POST",
|
|
129
|
+
});
|
|
130
|
+
}
|
|
117
131
|
// ── Principle Trajectory ──────────────────────────────────────────────────────
|
|
118
132
|
async function fetchPrincipleTrajectory(principleId) {
|
|
119
133
|
return request(`/api/principles/${encodeURIComponent(principleId)}/trajectory`, undefined, validateTrajectoryData);
|
|
120
134
|
}
|
|
121
135
|
// ── Approvals ─────────────────────────────────────────────────────────────────
|
|
122
|
-
async function fetchApprovalDetail(approvalId) {
|
|
123
|
-
return request('/api/v1/approvals/' + encodeURIComponent(approvalId), undefined, validateApprovalRecordDirect);
|
|
124
|
-
}
|
|
125
136
|
async function approveApproval(approvalId, note) {
|
|
126
137
|
return request('/api/v1/approvals/' + encodeURIComponent(approvalId) + '/approve', {
|
|
127
138
|
method: 'POST',
|
|
@@ -183,6 +194,13 @@ async function updateDefaultRuntime(defaultRuntime) {
|
|
|
183
194
|
body: JSON.stringify({ defaultRuntime }),
|
|
184
195
|
}, validateDefaultRuntimeUpdate);
|
|
185
196
|
}
|
|
197
|
+
// ── Feature Flag Toggle (spec 2026-06-27 §13.5) ─────────────────────────────
|
|
198
|
+
async function patchFeatureFlag(featureName, enabled) {
|
|
199
|
+
return request(`/api/v1/config/features/${encodeURIComponent(featureName)}`, {
|
|
200
|
+
method: 'PATCH',
|
|
201
|
+
body: JSON.stringify({ enabled }),
|
|
202
|
+
}, validateFeatureFlagUpdate);
|
|
203
|
+
}
|
|
186
204
|
// ── Principles Output Language (PRI-332 P1-1) ────────────────────────────────
|
|
187
205
|
async function fetchOutputLanguage() {
|
|
188
206
|
return request('/api/v1/config/principles/output-language', undefined, validateOutputLanguage);
|
|
@@ -235,5 +253,59 @@ async function rollbackUpdate(backupDir) {
|
|
|
235
253
|
async function fetchEvidenceChain() {
|
|
236
254
|
return request('/api/v1/evidence-chain', undefined, validateEvidenceChain);
|
|
237
255
|
}
|
|
256
|
+
// ── Intent Summary (PRI-466) ─────────────────────────────────────────────────
|
|
257
|
+
async function fetchIntentSummary(lang = 'zh-CN') {
|
|
258
|
+
return request(`/api/v1/intent?lang=${lang}`, undefined, validateIntentSummary);
|
|
259
|
+
}
|
|
260
|
+
// ── Intent Init / Edit (PRI-477 onboarding) ──────────────────────────────────
|
|
261
|
+
/**
|
|
262
|
+
* Fetch raw INTENT.md content for editing via GET /api/v1/intent/content.
|
|
263
|
+
*/
|
|
264
|
+
async function fetchIntentContent(lang = 'zh-CN') {
|
|
265
|
+
return request(`/api/v1/intent/content?lang=${lang}`, undefined, validateIntentRawContent);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Create INTENT.md from the SPEC §7 template via POST /api/v1/intent/init.
|
|
269
|
+
* Does NOT overwrite an existing file unless force=true.
|
|
270
|
+
*/
|
|
271
|
+
async function createIntentTemplate(force = false, lang = 'zh-CN') {
|
|
272
|
+
return request(`/api/v1/intent/init?lang=${lang}`, {
|
|
273
|
+
method: 'POST',
|
|
274
|
+
body: JSON.stringify({ force }),
|
|
275
|
+
}, validateIntentInitResult);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Save user-edited INTENT.md content via PUT /api/v1/intent/content.
|
|
279
|
+
*/
|
|
280
|
+
async function saveIntentContent(content, lang = 'zh-CN') {
|
|
281
|
+
return request(`/api/v1/intent/content?lang=${lang}`, {
|
|
282
|
+
method: 'PUT',
|
|
283
|
+
body: JSON.stringify({ content }),
|
|
284
|
+
}, validateIntentSaveResult);
|
|
285
|
+
}
|
|
286
|
+
async function fetchIntentVersions(lang = 'zh-CN') {
|
|
287
|
+
return request(`/api/v1/intent/versions?lang=${lang}`, undefined, validateIntentVersions);
|
|
288
|
+
}
|
|
289
|
+
async function recordIntentDecision(payload) {
|
|
290
|
+
return request('/api/v1/intent-decisions', {
|
|
291
|
+
method: 'POST',
|
|
292
|
+
body: JSON.stringify(payload),
|
|
293
|
+
}, validateIntentDecisionResult);
|
|
294
|
+
}
|
|
295
|
+
async function listIntentDecisionsByPainId(painId) {
|
|
296
|
+
return request(`/api/v1/intent-decisions?painId=${encodeURIComponent(painId)}`, undefined, validateIntentDecisionList);
|
|
297
|
+
}
|
|
298
|
+
async function listIntentDecisionsByTaskId(taskId) {
|
|
299
|
+
return request(`/api/v1/intent-decisions?taskId=${encodeURIComponent(taskId)}`, undefined, validateIntentDecisionList);
|
|
300
|
+
}
|
|
301
|
+
async function fetchIntentDecisionSummary() {
|
|
302
|
+
return request('/api/v1/intent-decisions/summary', undefined, validateIntentDecisionSummary);
|
|
303
|
+
}
|
|
304
|
+
async function dispatchFollowUp(decisionId, payload) {
|
|
305
|
+
return request(`/api/v1/intent-decisions/${encodeURIComponent(decisionId)}/follow-up`, {
|
|
306
|
+
method: 'POST',
|
|
307
|
+
body: JSON.stringify(payload),
|
|
308
|
+
}, validateFollowUpResponse);
|
|
309
|
+
}
|
|
238
310
|
// ── Exports ───────────────────────────────────────────────────────────────────
|
|
239
|
-
export { getToken, setToken, clearToken, checkAuth,
|
|
311
|
+
export { getToken, setToken, clearToken, checkAuth, approveApproval, rejectApproval, editApproval, fetchPrinciples, fetchPrincipleDetail, fetchPrincipleTrajectory, archivePrinciple, unarchivePrinciple, createFeedbackReport, listFeedbackReports, getFeedbackReport, deleteFeedbackReport, fetchConfigSummary, fetchConfigCatalog, updateAgentBinding, updateDefaultRuntime, patchFeatureFlag, fetchOutputLanguage, updateOutputLanguage, fetchWorkspaces, addWorkspace, removeWorkspace, syncWorkspace, fetchGovernanceQueue, fetchApprovalsGrouped, fetchAllActivations, disableActivation, fetchLifecycleMetrics, fetchUpdateStatus, fetchUpdateHistory, applyUpdate, rollbackUpdate, fetchEvidenceChain, fetchIntentSummary, fetchIntentContent, createIntentTemplate, saveIntentContent, fetchIntentVersions, recordIntentDecision, listIntentDecisionsByPainId, listIntentDecisionsByTaskId, fetchIntentDecisionSummary, dispatchFollowUp, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Link, useLocation, useNavigate } from "react-router-dom";
|
|
3
|
-
import { Sun, Moon, Focus, AlertTriangle, BookOpen, Zap, Archive, Settings, MessageSquare, RefreshCw, LogOut, Languages, } from "lucide-react";
|
|
3
|
+
import { Sun, Moon, Focus, AlertTriangle, BookOpen, Zap, Archive, Compass, Settings, MessageSquare, RefreshCw, LogOut, Languages, } from "lucide-react";
|
|
4
4
|
import { useTheme } from "../theme-provider.js";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
6
|
import { useNotifications } from "../notifications/useNotifications.js";
|
|
@@ -10,17 +10,18 @@ function ThresholdMark({ className }) {
|
|
|
10
10
|
return (_jsxs("svg", { viewBox: "0 0 28 28", className: className, fill: "none", stroke: "currentColor", strokeWidth: "1.5", "aria-hidden": "true", children: [_jsx("path", { d: "M6 4V24M22 4V24M2 14H26", strokeLinecap: "square" }), _jsx("circle", { cx: "14", cy: "14", r: "2.5", fill: "currentColor", stroke: "none" })] }));
|
|
11
11
|
}
|
|
12
12
|
const mainNavItems = [
|
|
13
|
-
{ id: "focus", labelKey: "components.sidebar.focus", href: "/focus", icon: Focus
|
|
14
|
-
{ id: "pain", labelKey: "components.sidebar.pain", href: "/pain", icon: AlertTriangle
|
|
15
|
-
{ id: "principles", labelKey: "components.sidebar.principles", href: "/principles", icon: BookOpen
|
|
16
|
-
{ id: "activation", labelKey: "components.sidebar.activation", href: "/activation", icon: Zap
|
|
17
|
-
{ id: "debt", labelKey: "components.sidebar.debt", href: "/debt", icon: Archive
|
|
13
|
+
{ id: "focus", labelKey: "components.sidebar.focus", href: "/focus", icon: Focus },
|
|
14
|
+
{ id: "pain", labelKey: "components.sidebar.pain", href: "/pain", icon: AlertTriangle },
|
|
15
|
+
{ id: "principles", labelKey: "components.sidebar.principles", href: "/principles", icon: BookOpen },
|
|
16
|
+
{ id: "activation", labelKey: "components.sidebar.activation", href: "/activation", icon: Zap },
|
|
17
|
+
{ id: "debt", labelKey: "components.sidebar.debt", href: "/debt", icon: Archive },
|
|
18
|
+
{ id: "intent", labelKey: "components.sidebar.intent", href: "/intent", icon: Compass },
|
|
18
19
|
];
|
|
19
20
|
const toolNavItems = [
|
|
20
|
-
{ id: "control-center", labelKey: "components.sidebar.controlCenter", href: "/control-center", icon: Settings
|
|
21
|
-
{ id: "report-problem", labelKey: "components.sidebar.reportProblem", href: "/report-problem", icon: MessageSquare
|
|
22
|
-
{ id: "settings", labelKey: "components.sidebar.settings", href: "/settings", icon: Settings
|
|
23
|
-
{ id: "update", labelKey: "components.sidebar.update", href: "/update", icon: RefreshCw
|
|
21
|
+
{ id: "control-center", labelKey: "components.sidebar.controlCenter", href: "/control-center", icon: Settings },
|
|
22
|
+
{ id: "report-problem", labelKey: "components.sidebar.reportProblem", href: "/report-problem", icon: MessageSquare },
|
|
23
|
+
{ id: "settings", labelKey: "components.sidebar.settings", href: "/settings", icon: Settings },
|
|
24
|
+
{ id: "update", labelKey: "components.sidebar.update", href: "/update", icon: RefreshCw },
|
|
24
25
|
];
|
|
25
26
|
export function AppSidebar() {
|
|
26
27
|
const location = useLocation();
|
|
@@ -47,12 +48,12 @@ export function AppSidebar() {
|
|
|
47
48
|
const active = isActive(item.href);
|
|
48
49
|
return (_jsxs(Link, { to: item.href, "data-testid": `nav-${item.id}`, className: cn("flex items-center gap-3 px-3 py-2 rounded-[var(--radius-sm)] text-[13px] transition-all duration-150", active
|
|
49
50
|
? "border-l-2 border-l-gov bg-paper-2 text-ink"
|
|
50
|
-
: "border-l-2 border-l-transparent text-ink-3 hover:text-ink hover:bg-paper-2"), children: [_jsx(Icon, { className: "h-4 w-4 flex-shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: t(item.labelKey) }), item.id === "focus" && pendingCount > 0 ? (_jsx("span", { className: "ml-auto h-2 w-2 rotate-45 rounded-[1px] border border-rose-400/50 bg-rose-400/15 shadow-[0_0_3px_rgba(251,113,133,0.35)]", role: "status", "aria-label": t("components.sidebar.pendingApprovalsAria", { count: pendingCount }) })) :
|
|
51
|
+
: "border-l-2 border-l-transparent text-ink-3 hover:text-ink hover:bg-paper-2"), children: [_jsx(Icon, { className: "h-4 w-4 flex-shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: t(item.labelKey) }), item.id === "focus" && pendingCount > 0 ? (_jsx("span", { className: "ml-auto h-2 w-2 rotate-45 rounded-[1px] border border-rose-400/50 bg-rose-400/15 shadow-[0_0_3px_rgba(251,113,133,0.35)]", role: "status", "aria-label": t("components.sidebar.pendingApprovalsAria", { count: pendingCount }) })) : null] }, item.id));
|
|
51
52
|
}) }), _jsxs("div", { className: "mt-4 pt-3 border-t border-line mx-4", children: [_jsx("div", { className: "px-1 pb-1 text-[10px] font-mono tracking-[0.1em] uppercase text-ink-4", children: "Tools" }), _jsx("div", { className: "px-0", children: toolNavItems.map((item) => {
|
|
52
53
|
const Icon = item.icon;
|
|
53
54
|
const active = isActive(item.href);
|
|
54
55
|
return (_jsxs(Link, { to: item.href, "data-testid": `nav-${item.id}`, className: cn("flex items-center gap-3 px-3 py-1.5 rounded-[var(--radius-sm)] text-[12px] transition-all duration-150", active
|
|
55
56
|
? "border-l-2 border-l-gov bg-paper-2 text-ink"
|
|
56
|
-
: "border-l-2 border-l-transparent text-ink-4 hover:text-ink-3 hover:bg-paper-2"), children: [_jsx(Icon, { className: "h-3.5 w-3.5 flex-shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: t(item.labelKey) }), item.id === "control-center" && degradedCount > 0 ? (_jsx("span", { className: "ml-auto h-[7px] w-[7px] rotate-45 rounded-[1px] border border-amber-400/50 bg-amber-400/15 shadow-[0_0_3px_rgba(251,191,36,0.35)]", role: "status", "aria-label": t("components.sidebar.degradedSignalsAria", { count: degradedCount }) })) :
|
|
57
|
+
: "border-l-2 border-l-transparent text-ink-4 hover:text-ink-3 hover:bg-paper-2"), children: [_jsx(Icon, { className: "h-3.5 w-3.5 flex-shrink-0", "aria-hidden": "true" }), _jsx("span", { className: "flex-1", children: t(item.labelKey) }), item.id === "control-center" && degradedCount > 0 ? (_jsx("span", { className: "ml-auto h-[7px] w-[7px] rotate-45 rounded-[1px] border border-amber-400/50 bg-amber-400/15 shadow-[0_0_3px_rgba(251,191,36,0.35)]", role: "status", "aria-label": t("components.sidebar.degradedSignalsAria", { count: degradedCount }) })) : null] }, item.id));
|
|
57
58
|
}) })] })] }), _jsxs("div", { className: "px-3 py-3 border-t border-line space-y-1", children: [_jsxs("button", { type: "button", onClick: () => setTheme(theme === "dark" ? "light" : "dark"), className: "flex items-center gap-3 px-3 py-1.5 rounded-[var(--radius-sm)] text-[12px] text-ink-4 hover:text-ink-3 hover:bg-paper-2 transition-colors w-full", title: theme === "dark" ? "切换亮色模式" : "切换暗色模式", children: [theme === "dark" ? (_jsx(Sun, { className: "h-3.5 w-3.5 flex-shrink-0", "aria-hidden": "true" })) : (_jsx(Moon, { className: "h-3.5 w-3.5 flex-shrink-0", "aria-hidden": "true" })), _jsx("span", { children: theme === "dark" ? "亮色模式" : "暗色模式" })] }), _jsxs("button", { type: "button", onClick: toggleLanguage, className: "flex items-center gap-3 px-3 py-1.5 rounded-[var(--radius-sm)] text-[12px] text-ink-4 hover:text-ink-3 hover:bg-paper-2 transition-colors w-full", title: "\u5207\u6362\u8BED\u8A00", children: [_jsx(Languages, { className: "h-3.5 w-3.5 flex-shrink-0", "aria-hidden": "true" }), _jsx("span", { children: i18n.language === "zh-CN" ? "English" : "中文" })] }), _jsxs("button", { type: "button", onClick: handleSignOut, className: "flex items-center gap-3 px-3 py-1.5 rounded-[var(--radius-sm)] text-[12px] text-ink-4 hover:text-ink-3 hover:bg-paper-2 transition-colors w-full", children: [_jsx(LogOut, { className: "h-3.5 w-3.5 flex-shrink-0", "aria-hidden": "true" }), _jsx("span", { children: "\u9000\u51FA" })] })] })] }));
|
|
58
59
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
3
|
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "default" | "
|
|
4
|
+
variant?: "default" | "amber" | "green" | "secondary" | "destructive" | "outline" | null | undefined;
|
|
5
5
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
6
|
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { type VariantProps } from "class-variance-authority";
|
|
3
3
|
declare const buttonVariants: (props?: ({
|
|
4
|
-
variant?: "link" | "default" | "
|
|
4
|
+
variant?: "link" | "default" | "quiet" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
|
|
5
5
|
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
6
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
7
|
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ElementType, type ReactNode } from "react";
|
|
2
|
+
export interface ShinyTextProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
/** Animation duration in seconds (default: 4) */
|
|
7
|
+
duration?: number;
|
|
8
|
+
/** Brightness of the shine effect (0.0-1.0, default: 0.6) */
|
|
9
|
+
brightness?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Underlying element to render. Defaults to "span". Use "h1" (etc.) when
|
|
12
|
+
* wrapping a page title so heading semantics are preserved for assistive
|
|
13
|
+
* tech — the shimmer is a visual effect, not a structural change.
|
|
14
|
+
*/
|
|
15
|
+
as?: ElementType;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* ShinyText - A subtle shimmer animation for page titles
|
|
19
|
+
*
|
|
20
|
+
* Uses CSS gradient mask to create a gentle light sweep effect across text.
|
|
21
|
+
* Respects prefers-reduced-motion accessibility preference.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* <ShinyText as="h1" duration={4} brightness={0.6}>
|
|
25
|
+
* 现在,值得你判断的事
|
|
26
|
+
* </ShinyText>
|
|
27
|
+
*/
|
|
28
|
+
export declare function ShinyText({ children, className, disabled, duration, brightness, as: Component, }: ShinyTextProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* ShinyText - A subtle shimmer animation for page titles
|
|
5
|
+
*
|
|
6
|
+
* Uses CSS gradient mask to create a gentle light sweep effect across text.
|
|
7
|
+
* Respects prefers-reduced-motion accessibility preference.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <ShinyText as="h1" duration={4} brightness={0.6}>
|
|
11
|
+
* 现在,值得你判断的事
|
|
12
|
+
* </ShinyText>
|
|
13
|
+
*/
|
|
14
|
+
export function ShinyText({ children, className = "", disabled = false, duration = 4, brightness = 0.6, as: Component = "span", }) {
|
|
15
|
+
const [prefersReducedMotion, setPrefersReducedMotion] = useState(false);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
// Check for reduced motion preference
|
|
18
|
+
const mediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
19
|
+
setPrefersReducedMotion(mediaQuery.matches);
|
|
20
|
+
// Listen for changes
|
|
21
|
+
const handleChange = (e) => {
|
|
22
|
+
setPrefersReducedMotion(e.matches);
|
|
23
|
+
};
|
|
24
|
+
mediaQuery.addEventListener("change", handleChange);
|
|
25
|
+
return () => mediaQuery.removeEventListener("change", handleChange);
|
|
26
|
+
}, []);
|
|
27
|
+
// Disable animation if user prefers reduced motion or explicitly disabled
|
|
28
|
+
const isDisabled = disabled || prefersReducedMotion;
|
|
29
|
+
if (isDisabled) {
|
|
30
|
+
return _jsx(Component, { className: className, children: children });
|
|
31
|
+
}
|
|
32
|
+
const style = {
|
|
33
|
+
background: `linear-gradient(
|
|
34
|
+
110deg,
|
|
35
|
+
currentColor 45%,
|
|
36
|
+
rgba(255, 255, 255, ${brightness}) 50%,
|
|
37
|
+
currentColor 55%
|
|
38
|
+
)`,
|
|
39
|
+
backgroundSize: "200% 100%",
|
|
40
|
+
WebkitBackgroundClip: "text",
|
|
41
|
+
backgroundClip: "text",
|
|
42
|
+
WebkitTextFillColor: "transparent",
|
|
43
|
+
animation: `shimmer ${duration}s linear infinite`,
|
|
44
|
+
};
|
|
45
|
+
return (_jsx(Component, { className: className, style: style, children: children }));
|
|
46
|
+
}
|
|
@@ -226,7 +226,65 @@
|
|
|
226
226
|
"noHumanSummary": "PD has not yet generated a behavior summary for this evidence",
|
|
227
227
|
"inReviewQueueCount": "{{count}} item(s) entered the review queue",
|
|
228
228
|
"goToGovernance": "Go to Governance Focus",
|
|
229
|
-
"expandTechDetails": "Expand technical details"
|
|
229
|
+
"expandTechDetails": "Expand technical details",
|
|
230
|
+
"intentTensionTitle": "Intent Tension",
|
|
231
|
+
"intentTensionSourceLabel": "Source",
|
|
232
|
+
"intentTensionSourceNone": "No intent tension",
|
|
233
|
+
"intentTensionSourceActionDrift": "Action drift",
|
|
234
|
+
"intentTensionSourceIntentSuspect": "Intent suspect",
|
|
235
|
+
"intentTensionSourceHealthyTension": "Healthy tension",
|
|
236
|
+
"intentTensionEvidenceStrengthLabel": "Evidence strength",
|
|
237
|
+
"intentTensionEvidenceStrengthWeak": "Weak",
|
|
238
|
+
"intentTensionEvidenceStrengthModerate": "Moderate",
|
|
239
|
+
"intentTensionEvidenceStrengthStrong": "Strong",
|
|
240
|
+
"intentTensionRelatedIntentFieldsLabel": "Related INTENT fields",
|
|
241
|
+
"intentTensionEvidenceLabel": "Evidence",
|
|
242
|
+
"intentTensionExplanationLabel": "Explanation",
|
|
243
|
+
"intentTensionSuggestedActionLabel": "Suggested owner action",
|
|
244
|
+
"intentTensionSuggestedActionConfirmDrift": "Confirm drift",
|
|
245
|
+
"intentTensionSuggestedActionReviseIntent": "Revise intent",
|
|
246
|
+
"intentTensionSuggestedActionObserve": "Observe",
|
|
247
|
+
"intentTensionSuggestedActionDismiss": "Dismiss",
|
|
248
|
+
"intentTensionSuggestedActionPromoteToPrinciple": "Promote to principle",
|
|
249
|
+
"intentTensionSuggestedActionPromoteToRulehost": "Promote to RuleHost",
|
|
250
|
+
"intentTensionIntentDocHashLabel": "INTENT doc hash",
|
|
251
|
+
"intentTensionNoTension": "No intent tension detected",
|
|
252
|
+
"intentTensionArtifactDegraded": "Diagnostician artifact for this record could not be fully parsed; intent tension may be unavailable.",
|
|
253
|
+
"ownerDecisionPanelTitle": "Owner Decision",
|
|
254
|
+
"ownerDecisionPanelSubtitle": "Record your decision on this intent tension. Follow-up actions appear only after a decision is persisted.",
|
|
255
|
+
"ownerDecisionNoteLabel": "Note (optional)",
|
|
256
|
+
"ownerDecisionNotePlaceholder": "Add context for this decision",
|
|
257
|
+
"ownerDecisionSubmitConfirmDrift": "Confirm Drift",
|
|
258
|
+
"ownerDecisionSubmitReviseIntent": "Revise Intent",
|
|
259
|
+
"ownerDecisionSubmitObserve": "Observe",
|
|
260
|
+
"ownerDecisionSubmitDismiss": "Dismiss",
|
|
261
|
+
"ownerDecisionSubmitPromoteToPrinciple": "Promote to Principle",
|
|
262
|
+
"ownerDecisionSubmitPromoteToRulehost": "Promote to RuleHost",
|
|
263
|
+
"ownerDecisionSubmitting": "Recording decision…",
|
|
264
|
+
"ownerDecisionRecorded": "Decision recorded",
|
|
265
|
+
"ownerDecisionFailed": "Failed to record decision",
|
|
266
|
+
"ownerDecisionExisting": "A decision already exists for this tension",
|
|
267
|
+
"ownerDecisionFollowUpPlaceholder": "Follow-up actions will appear here after the decision is recorded.",
|
|
268
|
+
"ownerDecisionLoadingExisting": "Loading existing decisions…",
|
|
269
|
+
"ownerDecisionLoadFailed": "Failed to load existing decisions",
|
|
270
|
+
"followUpActionsTitle": "Follow-up actions",
|
|
271
|
+
"followUpDispatching": "Dispatching…",
|
|
272
|
+
"followUpDispatchFailed": "Failed to dispatch follow-up action",
|
|
273
|
+
"followUpLinkCandidateDescription": "Link an existing principle candidate to this decision. PD does not create a new candidate — link one from the evidence chain or paste a candidate id.",
|
|
274
|
+
"followUpLinkCandidateButton": "Link Candidate",
|
|
275
|
+
"followUpCandidateIdPlaceholder": "Paste candidate id",
|
|
276
|
+
"followUpCandidateIdAriaLabel": "Principle candidate id to link",
|
|
277
|
+
"followUpPrefilledFromEvidenceChain": "Prefilled from the evidence chain linked candidate.",
|
|
278
|
+
"followUpLinkedSuccess": "Linked candidate",
|
|
279
|
+
"followUpGuideRulehostDescription": "Get the CLI command to promote this decision to a RuleHost candidate. PD will create an approval that you can review in the Governance Queue.",
|
|
280
|
+
"followUpGuideRulehostButton": "View RuleHost Guidance",
|
|
281
|
+
"followUpCliCommandLabel": "CLI command",
|
|
282
|
+
"followUpPatchProposalDescription": "Generate a read-only Intent Patch Proposal. The proposal summarizes the tension and suggests where INTENT.md may need revision. PD never auto-applies the patch.",
|
|
283
|
+
"followUpViewPatchProposalButton": "View Intent Patch Proposal",
|
|
284
|
+
"followUpPatchProposalLabel": "Intent Patch Proposal",
|
|
285
|
+
"followUpPatchProposalReadOnlyBadge": "Display only",
|
|
286
|
+
"followUpPatchProposalWarning": "Display only — cannot be auto-applied. The Owner must manually edit .principles/INTENT.md if they accept this proposal.",
|
|
287
|
+
"followUpPromoteToPrincipleDescription": "Link an existing principle candidate to sediment this decision. PD does not create a new candidate — link one from the evidence chain or paste a candidate id."
|
|
230
288
|
},
|
|
231
289
|
"principles": {
|
|
232
290
|
"title": "Principles",
|
|
@@ -589,7 +647,58 @@
|
|
|
589
647
|
"agentEnabled": "Enabled",
|
|
590
648
|
"agentDisabled": "Disabled",
|
|
591
649
|
"profileLabel": "Profile",
|
|
592
|
-
"readinessLabel": "Readiness"
|
|
650
|
+
"readinessLabel": "Readiness",
|
|
651
|
+
"empathyCostHint": {
|
|
652
|
+
"body": "Empathy Observer is on — every unmatched message triggers an LLM call (current model: {{provider}}/{{model}}).",
|
|
653
|
+
"muted": "To reduce cost, consider using a local LLM model (e.g. Ollama), or switch pd-empathy-observer.policy.model in workflows.yaml to a cheaper model.",
|
|
654
|
+
"ack": "Got it"
|
|
655
|
+
},
|
|
656
|
+
"workflow": {
|
|
657
|
+
"title": "PD Behavior Loop",
|
|
658
|
+
"subtitle": "From error to principle, from principle to change",
|
|
659
|
+
"phase01": "Detect Error",
|
|
660
|
+
"phase01Desc": "Observe Agent behavior\nIdentify patterns to improve",
|
|
661
|
+
"phase02": "Form Principle",
|
|
662
|
+
"phase02Desc": "Distill experience into\na followable principle",
|
|
663
|
+
"phase03": "Owner Approval",
|
|
664
|
+
"phase03Desc": "You decide which principles\ncan take effect",
|
|
665
|
+
"phase04": "Change Behavior",
|
|
666
|
+
"phase04Desc": "Principle acts on\nAgent's next behavior",
|
|
667
|
+
"loopHint": "After behavior changes, PD keeps observing — forming a closed loop. 9 agents are distributed across this loop, each with its own role."
|
|
668
|
+
},
|
|
669
|
+
"status": {
|
|
670
|
+
"enabled": "Enabled",
|
|
671
|
+
"notReady": "Not Ready",
|
|
672
|
+
"corePipeline": "Core Pipeline",
|
|
673
|
+
"corePipelineOk": "OK",
|
|
674
|
+
"corePipelineDegraded": "Degraded",
|
|
675
|
+
"corePipelineParalyzed": "Paralyzed",
|
|
676
|
+
"needsConfig": "Needs Config"
|
|
677
|
+
},
|
|
678
|
+
"groups": {
|
|
679
|
+
"coreTrio": "Core Trio",
|
|
680
|
+
"coreTrioTag": "Must together",
|
|
681
|
+
"coreTrioHint": "Disabling any one breaks the error-to-principle pipeline",
|
|
682
|
+
"codeChain": "Code Chain",
|
|
683
|
+
"codeChainTag": "Recommend together",
|
|
684
|
+
"codeChainHint": "Only artificer degrades to prompt-only; only evaluator is meaningless",
|
|
685
|
+
"qualityPolish": "Quality Polish",
|
|
686
|
+
"qualityPolishTag": "Optional · toggle individually",
|
|
687
|
+
"qualityPolishHint": "Refines principles; disabling is fine, just slightly rougher quality",
|
|
688
|
+
"sidechain": "Sidechain",
|
|
689
|
+
"sidechainTag": "Independent · toggle individually",
|
|
690
|
+
"sidechainHint": "Does not affect the main pipeline; only pain signal detection precision"
|
|
691
|
+
},
|
|
692
|
+
"impact": {
|
|
693
|
+
"label": "If disabled",
|
|
694
|
+
"confirmTitle": "Confirm disabling core agent",
|
|
695
|
+
"confirmAck": "Confirm disable",
|
|
696
|
+
"confirmCancel": "Cancel"
|
|
697
|
+
},
|
|
698
|
+
"techDetail": "Technical Details",
|
|
699
|
+
"profileLabelShort": "Runtime",
|
|
700
|
+
"unknownAgentsWarning": "Detected {{count}} unrecognized agent(s): {{names}}. They are not shown in groups.",
|
|
701
|
+
"footerNote": "9 agents are distributed across the internalization pipeline and sidechain services. The Core Trio must be enabled together — otherwise PD cannot turn errors into principles."
|
|
593
702
|
},
|
|
594
703
|
"login": {
|
|
595
704
|
"title": "Login",
|
|
@@ -640,6 +749,199 @@
|
|
|
640
749
|
"filesUpdated": "Updated {{count}} files",
|
|
641
750
|
"networkErrorHint": "Please check your network connection and try again.",
|
|
642
751
|
"retry": "Retry"
|
|
752
|
+
},
|
|
753
|
+
"intent": {
|
|
754
|
+
"eyebrow": "Owner Intent",
|
|
755
|
+
"title": "Owner Intent Document",
|
|
756
|
+
"subtitle": "A single-page anchor for what the owner wants, what must not be violated, and where to escalate. Read by PD only when the intent_engineering flag is on.",
|
|
757
|
+
"flagStatus": {
|
|
758
|
+
"enabled": "Flag on",
|
|
759
|
+
"disabled": "Flag off",
|
|
760
|
+
"ariaLabel": "intent_engineering feature flag status",
|
|
761
|
+
"enable": "Enable Intent Engineering",
|
|
762
|
+
"enabling": "Enabling…",
|
|
763
|
+
"enableFailed": "Failed to enable. Try again later or manually edit .pd/config.yaml"
|
|
764
|
+
},
|
|
765
|
+
"editEntry": {
|
|
766
|
+
"heading": "Edit INTENT.md",
|
|
767
|
+
"title": "Owner-owned document",
|
|
768
|
+
"description": "PD never modifies this file. Edit it in your own editor to declare or revise your intent.",
|
|
769
|
+
"copy": "Copy path",
|
|
770
|
+
"copyAriaLabel": "Copy INTENT.md file path to clipboard"
|
|
771
|
+
},
|
|
772
|
+
"flagDisabled": {
|
|
773
|
+
"title": "Intent Engineering is off",
|
|
774
|
+
"description": "The intent_engineering feature flag is disabled. PD is not reading INTENT.md, not injecting intent context into prompts, and not surfacing intent tension in diagnosis. This is the default MVP-Quiet state."
|
|
775
|
+
},
|
|
776
|
+
"notFound": {
|
|
777
|
+
"title": "No INTENT.md found",
|
|
778
|
+
"description": "PD did not find an INTENT.md file in the .principles/ directory. Without this anchor, intent-grounded diagnosis cannot run.",
|
|
779
|
+
"nextAction": "Run: pd intent init --confirm --workspace <path>",
|
|
780
|
+
"createButton": "Create INTENT.md",
|
|
781
|
+
"creating": "Creating…",
|
|
782
|
+
"createFailed": "Creation failed, please try again later",
|
|
783
|
+
"createSuccess": "INTENT.md created. You can start filling in your intent."
|
|
784
|
+
},
|
|
785
|
+
"onboarding": {
|
|
786
|
+
"title": "Welcome to Intent Engineering",
|
|
787
|
+
"subtitle": "Before we begin, let's understand what intent engineering is",
|
|
788
|
+
"whatIsIt": {
|
|
789
|
+
"title": "What is Intent Engineering?",
|
|
790
|
+
"description": "INTENT.md is your long-term intent anchor — recording your goals, non-negotiable boundaries, and when to stop and escalate. It helps PD align with your true intent at key decision points."
|
|
791
|
+
},
|
|
792
|
+
"whyYouFill": {
|
|
793
|
+
"title": "Why do you need to fill it in?",
|
|
794
|
+
"description": "Intent is Owner-owned. PD will not auto-generate intent because only you know the project's real goals and boundaries. This is your decision authority; PD only helps you execute and align."
|
|
795
|
+
},
|
|
796
|
+
"sectionGuide": {
|
|
797
|
+
"title": "5-section guide",
|
|
798
|
+
"description": "INTENT.md contains 5 sections, each with a clear purpose:",
|
|
799
|
+
"sections": {
|
|
800
|
+
"why": "Why — the fundamental motivation for this project",
|
|
801
|
+
"desiredOutcome": "Desired Outcome — the specific results you want to achieve",
|
|
802
|
+
"nonNegotiables": "Non-Negotiables — boundaries that must never be violated",
|
|
803
|
+
"stopEscalation": "Stop / Escalation — when to stop the current action and escalate to you",
|
|
804
|
+
"currentStrategicFocus": "Current Strategic Focus — phase-specific priorities"
|
|
805
|
+
}
|
|
806
|
+
},
|
|
807
|
+
"skipOption": "Skip guide, create empty template to fill in later",
|
|
808
|
+
"startFilling": "Start filling",
|
|
809
|
+
"skip": "Skip",
|
|
810
|
+
"close": "Close",
|
|
811
|
+
"dontShowAgain": "Don't show again"
|
|
812
|
+
},
|
|
813
|
+
"editor": {
|
|
814
|
+
"title": "Edit INTENT.md",
|
|
815
|
+
"description": "Edit your intent document directly in the browser. Changes take effect immediately after saving.",
|
|
816
|
+
"placeholder": "Enter INTENT.md content here (Markdown format)…",
|
|
817
|
+
"save": "Save",
|
|
818
|
+
"saving": "Saving…",
|
|
819
|
+
"cancel": "Cancel",
|
|
820
|
+
"edit": "Edit",
|
|
821
|
+
"saveSuccess": "INTENT.md saved",
|
|
822
|
+
"saveFailed": "Save failed, please try again later",
|
|
823
|
+
"emptyContent": "Content cannot be empty",
|
|
824
|
+
"oversized": "Content exceeds 32KB limit, please trim and retry",
|
|
825
|
+
"confirmDiscard": "You have unsaved changes. Discard them?",
|
|
826
|
+
"yes": "Yes, discard changes",
|
|
827
|
+
"no": "Continue editing"
|
|
828
|
+
},
|
|
829
|
+
"oversized": {
|
|
830
|
+
"title": "INTENT.md exceeds 32KB",
|
|
831
|
+
"description": "The file is larger than the 32KB cap. PD refuses to read oversized files to keep intent parsing deterministic and bounded.",
|
|
832
|
+
"nextAction": "Trim INTENT.md to under 32KB. Move long-form strategy to a separate doc."
|
|
833
|
+
},
|
|
834
|
+
"sections": {
|
|
835
|
+
"why": "Why",
|
|
836
|
+
"desiredOutcome": "Desired Outcome",
|
|
837
|
+
"nonNegotiables": "Non-negotiables",
|
|
838
|
+
"stopEscalation": "Stop / Escalation",
|
|
839
|
+
"currentStrategicFocus": "Current Strategic Focus"
|
|
840
|
+
},
|
|
841
|
+
"warnings": {
|
|
842
|
+
"title": "Health Warnings",
|
|
843
|
+
"empty": "No warnings. INTENT.md is well-formed.",
|
|
844
|
+
"missing_section": "Missing section",
|
|
845
|
+
"empty_section": "Empty section",
|
|
846
|
+
"too_vague": "Section too vague (under 10 characters)",
|
|
847
|
+
"oversized": "Document exceeds 32KB cap",
|
|
848
|
+
"parse_failed": "Section failed to parse"
|
|
849
|
+
},
|
|
850
|
+
"meta": {
|
|
851
|
+
"title": "Document Metadata",
|
|
852
|
+
"lastEditedAt": "Last edited",
|
|
853
|
+
"contentHash": "Content hash",
|
|
854
|
+
"path": "Path",
|
|
855
|
+
"templateTitle": "INTENT.md Template",
|
|
856
|
+
"templateDescription": "Copy this into .principles/INTENT.md. Replace placeholders with your intent."
|
|
857
|
+
},
|
|
858
|
+
"loadError": "Failed to load intent document",
|
|
859
|
+
"validationError": "Data format validation failed, please refresh and retry",
|
|
860
|
+
"decisions": {
|
|
861
|
+
"sectionTitle": "Owner Decisions",
|
|
862
|
+
"sectionSubtitle": "Lightweight audit summary derived from IntentDecisionRecord. Not a dashboard.",
|
|
863
|
+
"countConfirmDrift": "Confirm drift",
|
|
864
|
+
"countReviseIntent": "Revise intent",
|
|
865
|
+
"countObserve": "Observe",
|
|
866
|
+
"countDismiss": "Dismiss",
|
|
867
|
+
"countPromoteToPrinciple": "Promote to principle",
|
|
868
|
+
"countPromoteToRulehost": "Promote to RuleHost",
|
|
869
|
+
"lastDecisionAtLabel": "Last decision",
|
|
870
|
+
"noDecisions": "No decisions recorded yet",
|
|
871
|
+
"loadError": "Failed to load decision summary"
|
|
872
|
+
},
|
|
873
|
+
"langSelector": {
|
|
874
|
+
"ariaLabel": "Select INTENT.md language",
|
|
875
|
+
"disabledWhileEditing": "Save or cancel your edit before switching language"
|
|
876
|
+
},
|
|
877
|
+
"versionHistory": {
|
|
878
|
+
"title": "Version History",
|
|
879
|
+
"reasonInit": "Initialized",
|
|
880
|
+
"reasonSave": "Saved"
|
|
881
|
+
},
|
|
882
|
+
"wizard": {
|
|
883
|
+
"progressLabel": "Step {{current}}/5",
|
|
884
|
+
"next": "Next",
|
|
885
|
+
"prev": "Previous",
|
|
886
|
+
"finish": "Finish",
|
|
887
|
+
"review": "Review",
|
|
888
|
+
"complete": "Complete",
|
|
889
|
+
"cancel": "Cancel",
|
|
890
|
+
"emptyWarning": "This section cannot be empty. Please fill it in before continuing.",
|
|
891
|
+
"stepLabels": {
|
|
892
|
+
"why": "1. Why",
|
|
893
|
+
"desiredOutcome": "2. Desired Outcome",
|
|
894
|
+
"nonNegotiables": "3. Non-negotiables",
|
|
895
|
+
"stopEscalation": "4. Stop / Escalation",
|
|
896
|
+
"currentStrategicFocus": "5. Current Strategic Focus"
|
|
897
|
+
},
|
|
898
|
+
"guidance": {
|
|
899
|
+
"why": "Explain why this project matters. What does the Owner care about? What happens if it is not solved?",
|
|
900
|
+
"desiredOutcome": "Describe an observable change. After completion, what will be better?",
|
|
901
|
+
"nonNegotiables": "List hard constraints that cannot be violated (compliance / safety / boundaries).",
|
|
902
|
+
"stopEscalation": "Under what circumstances should the Agent stop and escalate to the Owner instead of pushing forward?",
|
|
903
|
+
"currentStrategicFocus": "What is the top priority for the current phase? (Will be updated as phases change.)"
|
|
904
|
+
},
|
|
905
|
+
"discardConfirmTitle": "Discard your input?",
|
|
906
|
+
"discardConfirmBody": "Content you have entered will be lost and cannot be recovered.",
|
|
907
|
+
"discardConfirmCancel": "Continue editing",
|
|
908
|
+
"discardConfirmConfirm": "Discard"
|
|
909
|
+
},
|
|
910
|
+
"versionDiff": {
|
|
911
|
+
"changed": "Changed",
|
|
912
|
+
"unchanged": "Unchanged",
|
|
913
|
+
"oldPreview": "Previous version",
|
|
914
|
+
"newPreview": "New version",
|
|
915
|
+
"expandHint": "Click to view section-level diff",
|
|
916
|
+
"collapseHint": "Click to collapse diff"
|
|
917
|
+
}
|
|
918
|
+
},
|
|
919
|
+
"debt": {
|
|
920
|
+
"eyebrow": "Principle Debt",
|
|
921
|
+
"title": "Principle Debt Management",
|
|
922
|
+
"subtitle": "Review active principles that may be stagnant, never activated, or flagged as technical/behavioral debt.",
|
|
923
|
+
"emptyTitle": "No Principle Debts",
|
|
924
|
+
"emptyDescription": "Excellent! All your active principles are either recently active, verified in execution, or have no pending stagnation alerts.",
|
|
925
|
+
"reasonNeverActivated": "This principle has been approved but never deployed to any active channel (e.g. prompt, RuleHost).",
|
|
926
|
+
"reasonStagnant": "This principle approval request has been stagnant/pending for more than 7 days.",
|
|
927
|
+
"suggestedAction": "Suggested Action",
|
|
928
|
+
"actionArchive": "Archive",
|
|
929
|
+
"actionDeactivate": "Deactivate",
|
|
930
|
+
"actionKeep": "Keep and Observe",
|
|
931
|
+
"confirmArchive": "Archiving this principle will remove it from the active ruleset. Are you sure you want to archive?",
|
|
932
|
+
"confirmDeactivate": "Deactivating this channel will stop enforcing this rule at runtime. Are you sure you want to deactivate?",
|
|
933
|
+
"deactivateSuccess": "Channel deactivated successfully.",
|
|
934
|
+
"deactivateFailed": "Failed to deactivate channel.",
|
|
935
|
+
"archiveSuccess": "Principle archived successfully.",
|
|
936
|
+
"archiveFailed": "Failed to archive principle.",
|
|
937
|
+
"undoAction": "Undo",
|
|
938
|
+
"undoSuccess": "Operation undone successfully.",
|
|
939
|
+
"undoFailed": "Undo operation failed.",
|
|
940
|
+
"loadError": "Unable to load principle debt data. Please try refreshing the page.",
|
|
941
|
+
"daysSinceAgo": "{{count}} days ago",
|
|
942
|
+
"demoteTooltip": "Demote endpoint under development",
|
|
943
|
+
"principleAriaLabel": "Debt Principle {{id}}",
|
|
944
|
+
"listAriaLabel": "Debt principles list"
|
|
643
945
|
}
|
|
644
946
|
},
|
|
645
947
|
"components": {
|
|
@@ -699,7 +1001,8 @@
|
|
|
699
1001
|
"settings": "Settings",
|
|
700
1002
|
"update": "Updates",
|
|
701
1003
|
"pendingApprovalsAria": "{{count}} pending approvals",
|
|
702
|
-
"degradedSignalsAria": "{{count}} degraded signals"
|
|
1004
|
+
"degradedSignalsAria": "{{count}} degraded signals",
|
|
1005
|
+
"intent": "Owner Intent"
|
|
703
1006
|
},
|
|
704
1007
|
"approvalCard": {
|
|
705
1008
|
"confidence": {
|