create-principles-disciple 1.85.0 → 1.87.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/index.js +6 -50
- package/console/dist/server/models/ActivationsConsoleModel.d.ts +0 -4
- package/console/dist/server/models/ActivationsConsoleModel.js +64 -72
- package/console/dist/server/models/ApprovalsConsoleModel.d.ts +33 -7
- package/console/dist/server/models/ApprovalsConsoleModel.js +203 -57
- package/console/dist/server/models/ApprovalsGroupedConsoleModel.d.ts +4 -2
- package/console/dist/server/models/ApprovalsGroupedConsoleModel.js +179 -91
- package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +4 -28
- package/console/dist/server/models/EvidenceChainConsoleModel.js +103 -298
- package/console/dist/server/models/GovernanceConsoleModel.d.ts +6 -4
- package/console/dist/server/models/GovernanceConsoleModel.js +269 -195
- package/console/dist/server/models/PrincipleClassifier.js +1 -1
- package/console/dist/server/models/PrincipleTrajectoryModel.d.ts +49 -0
- package/console/dist/server/models/PrincipleTrajectoryModel.js +485 -0
- package/console/dist/server/routes/approvals.js +65 -2
- package/console/dist/server/routes/principles.js +33 -0
- package/console/dist/server/routes/update.js +75 -26
- package/console/dist/ui/App.js +4 -2
- package/console/dist/ui/api.d.ts +6 -11
- package/console/dist/ui/api.js +19 -23
- package/console/dist/ui/components/focus/daily-thought-card.d.ts +1 -0
- package/console/dist/ui/components/focus/daily-thought-card.js +41 -0
- package/console/dist/ui/components/layout/app-sidebar.js +6 -4
- package/console/dist/ui/components/layout/page-loading.d.ts +13 -0
- package/console/dist/ui/components/layout/page-loading.js +14 -0
- package/console/dist/ui/components/layout/page-shell.d.ts +1 -0
- package/console/dist/ui/components/layout/page-shell.js +2 -1
- package/console/dist/ui/components/layout/section-title.js +1 -1
- package/console/dist/ui/components/notifications/NotificationProvider.d.ts +14 -0
- package/console/dist/ui/components/notifications/NotificationProvider.js +130 -0
- package/console/dist/ui/components/notifications/favicon-badge.d.ts +3 -0
- package/console/dist/ui/components/notifications/favicon-badge.js +68 -0
- package/console/dist/ui/components/notifications/notification-reducer.d.ts +9 -0
- package/console/dist/ui/components/notifications/notification-reducer.js +9 -0
- package/console/dist/ui/components/notifications/sound-storage.d.ts +3 -0
- package/console/dist/ui/components/notifications/sound-storage.js +37 -0
- package/console/dist/ui/components/notifications/useNotifications.d.ts +1 -0
- package/console/dist/ui/components/notifications/useNotifications.js +9 -0
- package/console/dist/ui/components/ui/badge.js +1 -1
- package/console/dist/ui/components/ui/button.d.ts +2 -2
- package/console/dist/ui/components/ui/button.js +1 -1
- package/console/dist/ui/components/ui/card.js +1 -1
- package/console/dist/ui/components/ui/input.js +1 -1
- package/console/dist/ui/components/ui/sheet.d.ts +1 -1
- package/console/dist/ui/data/daily-thoughts.d.ts +15 -0
- package/console/dist/ui/data/daily-thoughts.js +164 -0
- package/console/dist/ui/hooks/useNotificationSound.d.ts +12 -0
- package/console/dist/ui/hooks/useNotificationSound.js +74 -0
- package/console/dist/ui/i18n/en.json +94 -12
- package/console/dist/ui/i18n/zh-CN.json +94 -12
- package/console/dist/ui/pages/activation/ActivationPage.js +8 -15
- package/console/dist/ui/pages/control-center/ControlCenterPage.js +11 -9
- package/console/dist/ui/pages/focus/FocusPage.d.ts +13 -0
- package/console/dist/ui/pages/focus/FocusPage.js +140 -19
- package/console/dist/ui/pages/pain/PainPage.js +71 -32
- package/console/dist/ui/pages/pain/pain-card-helpers.d.ts +100 -0
- package/console/dist/ui/pages/pain/pain-card-helpers.js +103 -0
- package/console/dist/ui/pages/principles/PrincipleDetailPage.js +99 -20
- package/console/dist/ui/pages/principles/PrinciplesPage.js +8 -8
- package/console/dist/ui/pages/report-problem/ReportProblemPage.js +20 -18
- package/console/dist/ui/pages/settings/SettingsPage.js +9 -5
- package/console/dist/ui/pages/settings/UpdatePage.d.ts +0 -4
- package/console/dist/ui/pages/settings/UpdatePage.js +78 -75
- package/console/dist/ui/utils/control-center-helpers.d.ts +2 -0
- package/console/dist/ui/utils/enum-labels.d.ts +50 -0
- package/console/dist/ui/utils/enum-labels.js +164 -0
- package/console/dist/ui/utils/validators.d.ts +62 -6
- package/console/dist/ui/utils/validators.js +222 -22
- package/console/dist/web/assets/app.css +269 -122
- package/console/dist/web/assets/app.js +8134 -3177
- package/console/package.json +6 -3
- package/core/dist/evolution-store.js +0 -2
- package/core/dist/evolution-store.js.map +1 -1
- package/core/dist/index.d.ts +1 -10
- package/core/dist/index.d.ts.map +1 -1
- package/core/dist/index.js +1 -7
- package/core/dist/index.js.map +1 -1
- package/core/dist/io.d.ts +0 -1
- package/core/dist/io.d.ts.map +1 -1
- package/core/dist/io.js +0 -4
- package/core/dist/io.js.map +1 -1
- package/core/dist/principle-injector.d.ts +1 -1
- package/core/dist/principle-injector.d.ts.map +1 -1
- package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
- package/core/dist/quality-scorecard/__tests__/quality-scorecard.test.d.ts +2 -0
- package/core/dist/quality-scorecard/__tests__/quality-scorecard.test.d.ts.map +1 -0
- package/core/dist/quality-scorecard/__tests__/quality-scorecard.test.js +531 -0
- package/core/dist/quality-scorecard/__tests__/quality-scorecard.test.js.map +1 -0
- package/core/dist/quality-scorecard/index.d.ts +11 -0
- package/core/dist/quality-scorecard/index.d.ts.map +1 -0
- package/core/dist/quality-scorecard/index.js +4 -0
- package/core/dist/quality-scorecard/index.js.map +1 -0
- package/core/dist/quality-scorecard/report-generator.d.ts +11 -0
- package/core/dist/quality-scorecard/report-generator.d.ts.map +1 -0
- package/core/dist/quality-scorecard/report-generator.js +204 -0
- package/core/dist/quality-scorecard/report-generator.js.map +1 -0
- package/core/dist/quality-scorecard/types.d.ts +106 -0
- package/core/dist/quality-scorecard/types.d.ts.map +1 -0
- package/core/dist/quality-scorecard/types.js +51 -0
- package/core/dist/quality-scorecard/types.js.map +1 -0
- package/core/dist/quality-scorecard/validation.d.ts +73 -0
- package/core/dist/quality-scorecard/validation.d.ts.map +1 -0
- package/core/dist/quality-scorecard/validation.js +251 -0
- package/core/dist/quality-scorecard/validation.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/activation-types-helpers.test.d.ts +20 -0
- package/core/dist/runtime-v2/__tests__/activation-types-helpers.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/activation-types-helpers.test.js +223 -0
- package/core/dist/runtime-v2/__tests__/activation-types-helpers.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js +56 -3
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/adversarial-loop.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/adversarial-loop.test.js +381 -0
- package/core/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +175 -83
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +40 -80
- package/core/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js +126 -21
- package/core/dist/runtime-v2/__tests__/attack-e2e-pipeline-smoke.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js +169 -0
- package/core/dist/runtime-v2/__tests__/build-golden-trace-from-artificer.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/build-l2-principle-reader.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/build-l2-principle-reader.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/build-l2-principle-reader.test.js +200 -0
- package/core/dist/runtime-v2/__tests__/build-l2-principle-reader.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js +20 -3
- package/core/dist/runtime-v2/__tests__/chain-integrity-real-path.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/dreamer-output-validator.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js +12 -0
- package/core/dist/runtime-v2/__tests__/dreamer-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/dreamer-runner.test.js +10 -5
- package/core/dist/runtime-v2/__tests__/dreamer-runner.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js +831 -0
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice-v2.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js +22 -0
- package/core/dist/runtime-v2/__tests__/evaluator-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evidence-chain-contract.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-contract.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-contract.test.js +344 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-contract.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-guards.test.d.ts +18 -0
- package/core/dist/runtime-v2/__tests__/evidence-guards.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-guards.test.js +155 -0
- package/core/dist/runtime-v2/__tests__/evidence-guards.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +4 -3
- package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/feedback/privacy-preview.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/feedback/render-github-url.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/feedback/render-markdown.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.d.ts.map +1 -1
- package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.js +3 -2
- package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.test.js +19 -29
- package/core/dist/runtime-v2/__tests__/fixtures/llm-e2e-config.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/full-chain-real-llm.test.js +2 -2
- package/core/dist/runtime-v2/__tests__/full-chain-real-llm.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.js +372 -0
- package/core/dist/runtime-v2/__tests__/golden-path-diagnostician-e2e.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/intake-to-internalization-bridge.test.js +219 -2
- package/core/dist/runtime-v2/__tests__/intake-to-internalization-bridge.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js +96 -0
- package/core/dist/runtime-v2/__tests__/internalization-chain-integrity-read-model.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js +226 -0
- package/core/dist/runtime-v2/__tests__/internalization-consumer-product-path.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/internalization-failure-persistence.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/internalization-failure-persistence.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/internalization-failure-persistence.test.js +153 -0
- package/core/dist/runtime-v2/__tests__/internalization-failure-persistence.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/internalization-integrity-remediation.test.js +525 -5
- package/core/dist/runtime-v2/__tests__/internalization-integrity-remediation.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-orchestrator.test.js +1 -3
- package/core/dist/runtime-v2/__tests__/internalization-orchestrator.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js +6 -0
- package/core/dist/runtime-v2/__tests__/internalization-peer-runner-contracts.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js +0 -1
- package/core/dist/runtime-v2/__tests__/internalization-queue-read-model.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-state-machine.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/mainline-contract.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/mainline-contract.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/mainline-contract.test.js +194 -0
- package/core/dist/runtime-v2/__tests__/mainline-contract.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/mainline-product-path.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/mainline-product-path.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/mainline-product-path.test.js +429 -0
- package/core/dist/runtime-v2/__tests__/mainline-product-path.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-chain-read-model.test.js +0 -1
- package/core/dist/runtime-v2/__tests__/pain-chain-read-model.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-evidence-contract.test.js +5 -2
- package/core/dist/runtime-v2/__tests__/pain-evidence-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js +10 -6
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-retried.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.js +211 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-short-circuit.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.js +182 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-workspace-dir.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +53 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js +4 -0
- package/core/dist/runtime-v2/__tests__/philosopher-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pitask-metadata.test.js +5 -1
- package/core/dist/runtime-v2/__tests__/pitask-metadata.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/principle-compiler-core.test.js +85 -7
- package/core/dist/runtime-v2/__tests__/principle-compiler-core.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +14 -1
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pruning-read-model.test.js +11 -6
- package/core/dist/runtime-v2/__tests__/pruning-read-model.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js +8 -0
- package/core/dist/runtime-v2/__tests__/rollout-reviewer-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/rulehost-oob-defense-simulation.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js +4 -0
- package/core/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.js +168 -0
- package/core/dist/runtime-v2/__tests__/stalled-diagnostician-task.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/task-three-strikes.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/trace-refiner-agent.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/trainer-output-validator.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/trainer-runner-vslice.test.js +8 -0
- package/core/dist/runtime-v2/__tests__/trainer-runner-vslice.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +7 -1
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-completion-service.test.d.ts +21 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-completion-service.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-completion-service.test.js +363 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-completion-service.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.d.ts +15 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js +339 -164
- package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +0 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/edit-then-approve.test.d.ts +20 -0
- package/core/dist/runtime-v2/activation/__tests__/edit-then-approve.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/edit-then-approve.test.js +145 -0
- package/core/dist/runtime-v2/activation/__tests__/edit-then-approve.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/low-risk-writers.test.d.ts +21 -0
- package/core/dist/runtime-v2/activation/__tests__/low-risk-writers.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/low-risk-writers.test.js +468 -0
- package/core/dist/runtime-v2/activation/__tests__/low-risk-writers.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.d.ts +15 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js +272 -0
- package/core/dist/runtime-v2/activation/__tests__/production-gate-deps.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +11 -0
- package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +54 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.d.ts +35 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +511 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.js +87 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/core/dist/runtime-v2/activation/activation-types.d.ts +49 -2
- package/core/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/activation-types.js +6 -0
- package/core/dist/runtime-v2/activation/activation-types.js.map +1 -1
- package/core/dist/runtime-v2/activation/approval-completion-service.d.ts +50 -0
- package/core/dist/runtime-v2/activation/approval-completion-service.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/approval-completion-service.js +160 -0
- package/core/dist/runtime-v2/activation/approval-completion-service.js.map +1 -0
- package/core/dist/runtime-v2/activation/approval-queue.d.ts +7 -1
- package/core/dist/runtime-v2/activation/approval-queue.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/approval-queue.js +14 -0
- package/core/dist/runtime-v2/activation/approval-queue.js.map +1 -1
- package/core/dist/runtime-v2/activation/index.d.ts +5 -2
- package/core/dist/runtime-v2/activation/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/index.js +8 -1
- package/core/dist/runtime-v2/activation/index.js.map +1 -1
- package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts +2 -1
- package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/memory-activation-state-store.js +11 -2
- package/core/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/memory-approval-store.d.ts +2 -1
- package/core/dist/runtime-v2/activation/memory-approval-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/memory-approval-store.js +18 -0
- package/core/dist/runtime-v2/activation/memory-approval-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/production-gate-deps.d.ts +32 -0
- package/core/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/production-gate-deps.js +213 -0
- package/core/dist/runtime-v2/activation/production-gate-deps.js.map +1 -0
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +2 -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 +21 -7
- 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 +2 -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 +24 -0
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts +2 -0
- package/core/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js +340 -0
- package/core/dist/runtime-v2/adapter/__tests__/artificer-l2-adapter.test.js.map +1 -0
- package/core/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.d.ts +2 -0
- package/core/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js +420 -0
- package/core/dist/runtime-v2/adapter/__tests__/l2-agent-loop-adapter.test.js.map +1 -0
- package/core/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js +283 -1
- package/core/dist/runtime-v2/adapter/__tests__/pi-ai-runtime-adapter.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js +4 -4
- package/core/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/structured-output-repair.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/test-double-runtime-adapter.test.js +221 -0
- package/core/dist/runtime-v2/adapter/__tests__/test-double-runtime-adapter.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts +49 -0
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.d.ts.map +1 -0
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js +319 -0
- package/core/dist/runtime-v2/adapter/artificer-l2-adapter.js.map +1 -0
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts +78 -0
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.d.ts.map +1 -0
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js +478 -0
- package/core/dist/runtime-v2/adapter/l2-agent-loop-adapter.js.map +1 -0
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts +6 -0
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +33 -9
- package/core/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
- package/core/dist/runtime-v2/adapter/structured-output-repair.js +0 -1
- package/core/dist/runtime-v2/adapter/structured-output-repair.js.map +1 -1
- package/core/dist/runtime-v2/adapter/test-double-runtime-adapter.d.ts +7 -0
- package/core/dist/runtime-v2/adapter/test-double-runtime-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/test-double-runtime-adapter.js +40 -1
- package/core/dist/runtime-v2/adapter/test-double-runtime-adapter.js.map +1 -1
- package/core/dist/runtime-v2/admission-gate.d.ts +5 -1
- package/core/dist/runtime-v2/admission-gate.d.ts.map +1 -1
- package/core/dist/runtime-v2/admission-gate.js +12 -1
- package/core/dist/runtime-v2/admission-gate.js.map +1 -1
- package/core/dist/runtime-v2/adversarial-loop.d.ts +65 -0
- package/core/dist/runtime-v2/adversarial-loop.d.ts.map +1 -0
- package/core/dist/runtime-v2/adversarial-loop.js +181 -0
- package/core/dist/runtime-v2/adversarial-loop.js.map +1 -0
- package/core/dist/runtime-v2/agent-spec.d.ts +1 -1
- package/core/dist/runtime-v2/build-l2-principle-reader.d.ts +49 -0
- package/core/dist/runtime-v2/build-l2-principle-reader.d.ts.map +1 -0
- package/core/dist/runtime-v2/build-l2-principle-reader.js +70 -0
- package/core/dist/runtime-v2/build-l2-principle-reader.js.map +1 -0
- package/core/dist/runtime-v2/candidate-intake-service.js +0 -1
- package/core/dist/runtime-v2/candidate-intake-service.js.map +1 -1
- package/core/dist/runtime-v2/cli/diagnose.d.ts +8 -2
- package/core/dist/runtime-v2/cli/diagnose.d.ts.map +1 -1
- package/core/dist/runtime-v2/cli/diagnose.js +10 -0
- package/core/dist/runtime-v2/cli/diagnose.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +46 -4
- package/core/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +2 -2
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-workspace.test.d.ts +2 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-workspace.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-workspace.test.js +154 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-workspace.test.js.map +1 -0
- package/core/dist/runtime-v2/config/index.d.ts +1 -1
- package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/index.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts +1 -0
- package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-agent-binding.js +3 -0
- package/core/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.js +8 -18
- package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-effective.js +17 -3
- package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js +11 -2
- package/core/dist/runtime-v2/config/pd-config-feature-flags.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-redaction.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-redaction.js +10 -0
- package/core/dist/runtime-v2/config/pd-config-redaction.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +23 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js +5 -1
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-validate.js +69 -0
- package/core/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/core/dist/runtime-v2/context-payload.d.ts +4 -6
- package/core/dist/runtime-v2/context-payload.d.ts.map +1 -1
- package/core/dist/runtime-v2/context-payload.js +0 -2
- package/core/dist/runtime-v2/context-payload.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.d.ts +5 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js +91 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-axiom-block.test.js.map +1 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.d.ts +2 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js +71 -0
- package/core/dist/runtime-v2/core-principles/__tests__/core-principle-registry.test.js.map +1 -0
- package/core/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.d.ts +2 -0
- package/core/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.js +78 -0
- package/core/dist/runtime-v2/core-principles/__tests__/strip-fabricated-ids.test.js.map +1 -0
- package/core/dist/runtime-v2/core-principles/core-axiom-block.d.ts +67 -0
- package/core/dist/runtime-v2/core-principles/core-axiom-block.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/core-axiom-block.js +76 -0
- package/core/dist/runtime-v2/core-principles/core-axiom-block.js.map +1 -0
- package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts +41 -0
- package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/core-principle-registry.js +112 -0
- package/core/dist/runtime-v2/core-principles/core-principle-registry.js.map +1 -0
- package/core/dist/runtime-v2/core-principles/index.d.ts +6 -0
- package/core/dist/runtime-v2/core-principles/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/index.js +4 -0
- package/core/dist/runtime-v2/core-principles/index.js.map +1 -0
- package/core/dist/runtime-v2/core-principles/strip-fabricated-ids.d.ts +15 -0
- package/core/dist/runtime-v2/core-principles/strip-fabricated-ids.d.ts.map +1 -0
- package/core/dist/runtime-v2/core-principles/strip-fabricated-ids.js +28 -0
- package/core/dist/runtime-v2/core-principles/strip-fabricated-ids.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.d.ts +2 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js +45 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-distiller-output.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.d.ts +2 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +91 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.d.ts +2 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.js +39 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/distiller-prompt-builder.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.d.ts +2 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +34 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.d.ts +2 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.js +57 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/router-prompt-builder.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/diag-distiller-output.d.ts +80 -0
- package/core/dist/runtime-v2/diagnostician/diag-distiller-output.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/diag-distiller-output.js +103 -0
- package/core/dist/runtime-v2/diagnostician/diag-distiller-output.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts +117 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js +182 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts +134 -0
- package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.js +149 -0
- package/core/dist/runtime-v2/diagnostician/distiller-prompt-builder.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +96 -0
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +212 -0
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts +127 -0
- package/core/dist/runtime-v2/diagnostician/router-prompt-builder.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/router-prompt-builder.js +131 -0
- package/core/dist/runtime-v2/diagnostician/router-prompt-builder.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +10 -50
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician-prompt-builder.js +0 -148
- package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/evidence-guards.d.ts +31 -0
- package/core/dist/runtime-v2/evidence-guards.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-guards.js +29 -0
- package/core/dist/runtime-v2/evidence-guards.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +106 -7
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js +3 -3
- package/core/dist/runtime-v2/feature-flags/__tests__/plugin-surface-registry.test.js.map +1 -1
- 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 +39 -4
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.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 +27 -22
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
- package/core/dist/runtime-v2/feedback/redact-sensitive.js.map +1 -1
- package/core/dist/runtime-v2/feedback/safe-stringify.js.map +1 -1
- package/core/dist/runtime-v2/full-trace-contract.d.ts +3 -3
- package/core/dist/runtime-v2/golden-trace-replay-validator.d.ts +8 -0
- package/core/dist/runtime-v2/golden-trace-replay-validator.d.ts.map +1 -1
- package/core/dist/runtime-v2/golden-trace-replay-validator.js +3 -3
- package/core/dist/runtime-v2/golden-trace-replay-validator.js.map +1 -1
- package/core/dist/runtime-v2/golden-trace.d.ts +46 -1
- package/core/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/core/dist/runtime-v2/golden-trace.js +70 -4
- package/core/dist/runtime-v2/golden-trace.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +62 -31
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +54 -18
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.d.ts +25 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.js +123 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/split-pipeline-mock-outputs.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-case.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js +139 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-case.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js +62 -0
- package/core/dist/runtime-v2/internalization/__tests__/adversarial-feedback.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +24 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +5 -4
- 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.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js +248 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-rule-output.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +803 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js +441 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-distiller-runner.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js +340 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-runner.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +441 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js +209 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-output-v2.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js +125 -0
- package/core/dist/runtime-v2/internalization/__tests__/evaluator-prompt-builder-v2.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.js +223 -0
- package/core/dist/runtime-v2/internalization/__tests__/internalization-consumer-decision.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js +4 -0
- package/core/dist/runtime-v2/internalization/__tests__/philosopher-runner-trust-boundary.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/refiner-sandbox-wrapper.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.js +270 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js +180 -0
- package/core/dist/runtime-v2/internalization/__tests__/rule-host-input-builder.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js +224 -0
- package/core/dist/runtime-v2/internalization/__tests__/runnerkind-seam.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +13 -8
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +4 -3
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js +227 -0
- package/core/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-case.d.ts +32 -0
- package/core/dist/runtime-v2/internalization/adversarial-case.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-case.js +68 -0
- package/core/dist/runtime-v2/internalization/adversarial-case.js.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-feedback.d.ts +23 -0
- package/core/dist/runtime-v2/internalization/adversarial-feedback.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/adversarial-feedback.js +20 -0
- package/core/dist/runtime-v2/internalization/adversarial-feedback.js.map +1 -0
- package/core/dist/runtime-v2/internalization/artificer-output.d.ts +54 -30
- package/core/dist/runtime-v2/internalization/artificer-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-output.js +144 -36
- package/core/dist/runtime-v2/internalization/artificer-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +10 -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 +37 -20
- package/core/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +19 -9
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +21 -9
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/correction-proposal.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/correction-proposal.js +27 -16
- package/core/dist/runtime-v2/internalization/correction-proposal.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts +83 -0
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.js +274 -0
- package/core/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts +73 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +229 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts +85 -0
- package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-router-runner.js +353 -0
- package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -0
- package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.d.ts +19 -1
- package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.js +48 -8
- package/core/dist/runtime-v2/internalization/dreamer-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/dreamer-runner.d.ts +7 -1
- package/core/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/dreamer-runner.js +13 -3
- package/core/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts +63 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-output.js +158 -0
- package/core/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +8 -1
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.js +17 -4
- package/core/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts +114 -4
- package/core/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/evaluator-runner.js +629 -7
- package/core/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/golden-dogfood-fixtures.d.ts +17 -0
- package/core/dist/runtime-v2/internalization/golden-dogfood-fixtures.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/golden-dogfood-fixtures.js +451 -0
- package/core/dist/runtime-v2/internalization/golden-dogfood-fixtures.js.map +1 -0
- package/core/dist/runtime-v2/internalization/index.d.ts +21 -9
- package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/index.js +16 -6
- package/core/dist/runtime-v2/internalization/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/intake-to-internalization-bridge.d.ts +25 -0
- package/core/dist/runtime-v2/internalization/intake-to-internalization-bridge.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/intake-to-internalization-bridge.js +67 -12
- package/core/dist/runtime-v2/internalization/intake-to-internalization-bridge.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-consumer-decision.d.ts +17 -0
- package/core/dist/runtime-v2/internalization/internalization-consumer-decision.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/internalization-consumer-decision.js +28 -0
- package/core/dist/runtime-v2/internalization/internalization-consumer-decision.js.map +1 -0
- package/core/dist/runtime-v2/internalization/internalization-job-graph.d.ts +14 -1
- package/core/dist/runtime-v2/internalization/internalization-job-graph.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-job-graph.js +22 -0
- package/core/dist/runtime-v2/internalization/internalization-job-graph.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +9 -9
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.js +32 -9
- package/core/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-state-machine.d.ts +2 -2
- package/core/dist/runtime-v2/internalization/internalization-state-machine.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/internalization-state-machine.js +35 -4
- package/core/dist/runtime-v2/internalization/internalization-state-machine.js.map +1 -1
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +31 -4
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.js +42 -12
- package/core/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.d.ts +20 -1
- package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.js +47 -6
- package/core/dist/runtime-v2/internalization/philosopher-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/philosopher-runner.d.ts +6 -1
- package/core/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/philosopher-runner.js +10 -3
- package/core/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts +9 -2
- package/core/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/pitask-metadata.js +22 -11
- package/core/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/core/dist/runtime-v2/internalization/prompt-serializer.d.ts +3 -0
- package/core/dist/runtime-v2/internalization/prompt-serializer.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/prompt-serializer.js +22 -0
- package/core/dist/runtime-v2/internalization/prompt-serializer.js.map +1 -0
- package/core/dist/runtime-v2/internalization/queue-actionability.d.ts +3 -3
- package/core/dist/runtime-v2/internalization/queue-actionability.d.ts.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 +16 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/rollout-reviewer-prompt-builder.js +2 -2
- package/core/dist/runtime-v2/internalization/rule-code-validator.d.ts +29 -0
- package/core/dist/runtime-v2/internalization/rule-code-validator.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-code-validator.js +87 -1
- package/core/dist/runtime-v2/internalization/rule-code-validator.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-evaluator.d.ts +1 -0
- package/core/dist/runtime-v2/internalization/rule-host-evaluator.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-evaluator.js +15 -1
- package/core/dist/runtime-v2/internalization/rule-host-evaluator.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-input-builder.d.ts +62 -0
- package/core/dist/runtime-v2/internalization/rule-host-input-builder.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/rule-host-input-builder.js +182 -0
- package/core/dist/runtime-v2/internalization/rule-host-input-builder.js.map +1 -0
- package/core/dist/runtime-v2/internalization/rule-host-validator.d.ts +37 -0
- package/core/dist/runtime-v2/internalization/rule-host-validator.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/rule-host-validator.js +154 -0
- package/core/dist/runtime-v2/internalization/rule-host-validator.js.map +1 -0
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +20 -6
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +31 -15
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts +6 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.js +10 -3
- package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts +103 -0
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.js +286 -0
- package/core/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -0
- package/core/dist/runtime-v2/internalization/template-generator.d.ts +7 -2
- package/core/dist/runtime-v2/internalization/template-generator.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/template-generator.js +10 -5
- package/core/dist/runtime-v2/internalization/template-generator.js.map +1 -1
- package/core/dist/runtime-v2/internalization/trainer-prompt-builder.d.ts +1 -1
- package/core/dist/runtime-v2/internalization/trainer-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/trainer-prompt-builder.js +2 -2
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.d.ts +5 -0
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +48 -2
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
- package/core/dist/runtime-v2/internalization-integrity-remediation.d.ts +67 -0
- package/core/dist/runtime-v2/internalization-integrity-remediation.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization-integrity-remediation.js +802 -0
- package/core/dist/runtime-v2/internalization-integrity-remediation.js.map +1 -1
- package/core/dist/runtime-v2/internalization-queue-read-model.d.ts +7 -7
- package/core/dist/runtime-v2/internalization-queue-read-model.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization-queue-read-model.js +4 -4
- package/core/dist/runtime-v2/internalization-queue-read-model.js.map +1 -1
- package/core/dist/runtime-v2/mainline-contract.d.ts +138 -0
- package/core/dist/runtime-v2/mainline-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/mainline-contract.js +224 -0
- package/core/dist/runtime-v2/mainline-contract.js.map +1 -0
- package/core/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +29 -22
- package/core/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +1 -1
- package/core/dist/runtime-v2/observer/agent-scheduler.js.map +1 -1
- package/core/dist/runtime-v2/observer/empathy-observer.js +1 -1
- package/core/dist/runtime-v2/observer/empathy-observer.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-bridge.d.ts +36 -4
- package/core/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-bridge.js +81 -37
- package/core/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.d.ts +4 -0
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +58 -8
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +20 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js +80 -23
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts +5 -1
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.js +39 -0
- package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js +14 -0
- package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/core/dist/runtime-v2/recovery-sweep-service.d.ts +18 -0
- package/core/dist/runtime-v2/recovery-sweep-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/recovery-sweep-service.js +46 -0
- package/core/dist/runtime-v2/recovery-sweep-service.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js +11 -2
- package/core/dist/runtime-v2/runner/__tests__/base-peer-runner-trust-boundary.test.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnose.test.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js +6 -0
- package/core/dist/runtime-v2/runner/__tests__/pain-signal-bridge-admission.test.js.map +1 -1
- package/core/dist/runtime-v2/runner/__tests__/pain-signal-bridge.test.js.map +1 -1
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts +10 -3
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/runner/base-peer-runner.js +58 -15
- package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/core/dist/runtime-v2/runner/peer-runner-types.d.ts +10 -3
- package/core/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/runtime-protocol.d.ts +3 -3
- package/core/dist/runtime-v2/runtime-protocol.d.ts.map +1 -1
- package/core/dist/runtime-v2/runtime-protocol.js +1 -0
- package/core/dist/runtime-v2/runtime-protocol.js.map +1 -1
- package/core/dist/runtime-v2/runtime-selector.d.ts +3 -3
- package/core/dist/runtime-v2/stalled-diagnostician-task-read-model.d.ts +26 -0
- package/core/dist/runtime-v2/stalled-diagnostician-task-read-model.d.ts.map +1 -0
- package/core/dist/runtime-v2/stalled-diagnostician-task-read-model.js +59 -0
- package/core/dist/runtime-v2/stalled-diagnostician-task-read-model.js.map +1 -0
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js +2 -2
- package/core/dist/runtime-v2/store/candidate/sqlite-candidate-store.js.map +1 -1
- package/core/dist/runtime-v2/store/concurrent-lease.test.js +13 -13
- package/core/dist/runtime-v2/store/concurrent-lease.test.js.map +1 -1
- package/core/dist/runtime-v2/store/context/index.d.ts +1 -0
- package/core/dist/runtime-v2/store/context/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/context/sqlite-context-assembler.d.ts +8 -0
- package/core/dist/runtime-v2/store/context/sqlite-context-assembler.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/context/sqlite-context-assembler.js +54 -3
- package/core/dist/runtime-v2/store/context/sqlite-context-assembler.js.map +1 -1
- package/core/dist/runtime-v2/store/context/sqlite-context-assembler.test.js +373 -2
- package/core/dist/runtime-v2/store/context/sqlite-context-assembler.test.js.map +1 -1
- package/core/dist/runtime-v2/store/context/trajectory-turn-reader.d.ts +32 -0
- package/core/dist/runtime-v2/store/context/trajectory-turn-reader.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/context/trajectory-turn-reader.js +12 -0
- package/core/dist/runtime-v2/store/context/trajectory-turn-reader.js.map +1 -0
- package/core/dist/runtime-v2/store/event-emitter.js +0 -1
- package/core/dist/runtime-v2/store/event-emitter.js.map +1 -1
- package/core/dist/runtime-v2/store/history/sqlite-history-query.test.js +1 -1
- package/core/dist/runtime-v2/store/history/sqlite-history-query.test.js.map +1 -1
- package/core/dist/runtime-v2/store/idempotent-transitions.test.js +0 -5
- package/core/dist/runtime-v2/store/idempotent-transitions.test.js.map +1 -1
- package/core/dist/runtime-v2/store/lifecycle/lease-manager.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/lifecycle/lease-manager.js +5 -0
- package/core/dist/runtime-v2/store/lifecycle/lease-manager.js.map +1 -1
- package/core/dist/runtime-v2/store/lifecycle/lease-manager.test.js +0 -2
- package/core/dist/runtime-v2/store/lifecycle/lease-manager.test.js.map +1 -1
- package/core/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js +0 -2
- package/core/dist/runtime-v2/store/lifecycle/recovery-sweep.test.js.map +1 -1
- package/core/dist/runtime-v2/store/run/memory-run-store.d.ts +2 -1
- package/core/dist/runtime-v2/store/run/memory-run-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/run/memory-run-store.js +5 -0
- package/core/dist/runtime-v2/store/run/memory-run-store.js.map +1 -1
- package/core/dist/runtime-v2/store/run/run-store.d.ts +27 -0
- package/core/dist/runtime-v2/store/run/run-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/run/sqlite-run-store.d.ts +26 -2
- package/core/dist/runtime-v2/store/run/sqlite-run-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/run/sqlite-run-store.js +134 -20
- package/core/dist/runtime-v2/store/run/sqlite-run-store.js.map +1 -1
- package/core/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.js +160 -0
- package/core/dist/runtime-v2/store/runtime-state-manager-malformed-run-tolerance.test.js.map +1 -0
- package/core/dist/runtime-v2/store/runtime-state-manager.d.ts +25 -3
- package/core/dist/runtime-v2/store/runtime-state-manager.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/runtime-state-manager.js +55 -7
- package/core/dist/runtime-v2/store/runtime-state-manager.js.map +1 -1
- package/core/dist/runtime-v2/store/schema-conformance.test.js +0 -10
- package/core/dist/runtime-v2/store/schema-conformance.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js +2 -2
- package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js +12 -0
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-run-store.test.js +172 -2
- package/core/dist/runtime-v2/store/sqlite-run-store.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-task-store.test.js +0 -2
- package/core/dist/runtime-v2/store/sqlite-task-store.test.js.map +1 -1
- package/core/dist/runtime-v2/store/trajectory/source-trace-locator.test.js +0 -1
- package/core/dist/runtime-v2/store/trajectory/source-trace-locator.test.js.map +1 -1
- package/core/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js +1 -1
- package/core/dist/runtime-v2/store/trajectory/sqlite-trajectory-locator.test.js.map +1 -1
- package/core/dist/runtime-v2/store/workspace-isolation.test.js +0 -2
- package/core/dist/runtime-v2/store/workspace-isolation.test.js.map +1 -1
- package/core/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.d.ts +2 -0
- package/core/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.js +171 -0
- package/core/dist/runtime-v2/tools/__tests__/agent-tool-contract.test.js.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.d.ts +2 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js +322 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-l2-tool-contract.test.js.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.d.ts +2 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.js +149 -0
- package/core/dist/runtime-v2/tools/__tests__/artificer-output-typebox.test.js.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.d.ts +2 -0
- package/core/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.js +109 -0
- package/core/dist/runtime-v2/tools/__tests__/dreamer-output-typebox.test.js.map +1 -0
- package/core/dist/runtime-v2/tools/agent-tool-contract.d.ts +76 -0
- package/core/dist/runtime-v2/tools/agent-tool-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/agent-tool-contract.js +136 -0
- package/core/dist/runtime-v2/tools/agent-tool-contract.js.map +1 -0
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts +72 -0
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js +275 -0
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -0
- package/core/dist/runtime-v2/tools/artificer-output-typebox.d.ts +78 -0
- package/core/dist/runtime-v2/tools/artificer-output-typebox.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/artificer-output-typebox.js +70 -0
- package/core/dist/runtime-v2/tools/artificer-output-typebox.js.map +1 -0
- package/core/dist/runtime-v2/tools/dreamer-output-typebox.d.ts +63 -0
- package/core/dist/runtime-v2/tools/dreamer-output-typebox.d.ts.map +1 -0
- package/core/dist/runtime-v2/tools/dreamer-output-typebox.js +55 -0
- package/core/dist/runtime-v2/tools/dreamer-output-typebox.js.map +1 -0
- package/core/dist/runtime-v2/types/event-types.d.ts +32 -3
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +8 -0
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts +213 -0
- package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts.map +1 -0
- package/core/dist/runtime-v2/types/evidence-chain-contract.js +1064 -0
- package/core/dist/runtime-v2/types/evidence-chain-contract.js.map +1 -0
- package/core/dist/runtime-v2/types/index.d.ts +4 -2
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +2 -1
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/core/dist/runtime-v2/types/principle-enums.d.ts +2 -2
- package/core/dist/runtime-v2/types/principle-enums.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/principle-enums.js +1 -0
- package/core/dist/runtime-v2/types/principle-enums.js.map +1 -1
- package/core/dist/runtime-v2/types/principle-schema.d.ts +1 -1
- package/core/dist/runtime-v2/types/principle-tree-store.d.ts +1 -1
- package/core/dist/runtime-v2/utils/cli-process-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/utils/cli-process-runner.js +5 -2
- package/core/dist/runtime-v2/utils/cli-process-runner.js.map +1 -1
- package/core/dist/runtime-v2/utils/cli-process-runner.test.js +7 -5
- package/core/dist/runtime-v2/utils/cli-process-runner.test.js.map +1 -1
- package/core/dist/telemetry-event.d.ts +3 -3
- package/core/dist/telemetry-event.d.ts.map +1 -1
- package/core/dist/telemetry-event.js +34 -1
- package/core/dist/telemetry-event.js.map +1 -1
- package/core/dist/trajectory-store.js +0 -2
- package/core/dist/trajectory-store.js.map +1 -1
- package/core/package.json +10 -1
- package/dist/installer.d.ts +11 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +47 -2
- package/dist/installer.js.map +1 -1
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +2 -0
- package/dist/mvp-config.js.map +1 -1
- package/package.json +3 -2
- package/pd-cli/dist/commands/__tests__/legacy-cleanup.test.d.ts +18 -0
- package/pd-cli/dist/commands/__tests__/legacy-cleanup.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/legacy-cleanup.test.js +459 -0
- package/pd-cli/dist/commands/__tests__/legacy-cleanup.test.js.map +1 -0
- package/pd-cli/dist/commands/__tests__/mvp-smoke.test.d.ts +15 -0
- package/pd-cli/dist/commands/__tests__/mvp-smoke.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/mvp-smoke.test.js +262 -0
- package/pd-cli/dist/commands/__tests__/mvp-smoke.test.js.map +1 -0
- package/pd-cli/dist/commands/__tests__/rulecode-flag-wiring.test.d.ts +21 -0
- package/pd-cli/dist/commands/__tests__/rulecode-flag-wiring.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/rulecode-flag-wiring.test.js +179 -0
- package/pd-cli/dist/commands/__tests__/rulecode-flag-wiring.test.js.map +1 -0
- package/pd-cli/dist/commands/__tests__/rulecode-handler.test.d.ts +16 -0
- package/pd-cli/dist/commands/__tests__/rulecode-handler.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/rulecode-handler.test.js +285 -0
- package/pd-cli/dist/commands/__tests__/rulecode-handler.test.js.map +1 -0
- package/pd-cli/dist/commands/__tests__/run-rulehost-flag-wiring.test.d.ts +24 -0
- package/pd-cli/dist/commands/__tests__/run-rulehost-flag-wiring.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/run-rulehost-flag-wiring.test.js +223 -0
- package/pd-cli/dist/commands/__tests__/run-rulehost-flag-wiring.test.js.map +1 -0
- package/pd-cli/dist/commands/__tests__/runtime-probe-config.test.d.ts +20 -0
- package/pd-cli/dist/commands/__tests__/runtime-probe-config.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/runtime-probe-config.test.js +388 -0
- package/pd-cli/dist/commands/__tests__/runtime-probe-config.test.js.map +1 -0
- package/pd-cli/dist/commands/build-trajectory-evidence.d.ts +21 -0
- package/pd-cli/dist/commands/build-trajectory-evidence.d.ts.map +1 -0
- package/pd-cli/dist/commands/build-trajectory-evidence.js +161 -0
- package/pd-cli/dist/commands/build-trajectory-evidence.js.map +1 -0
- package/pd-cli/dist/commands/candidate.d.ts +24 -0
- package/pd-cli/dist/commands/candidate.d.ts.map +1 -1
- package/pd-cli/dist/commands/candidate.js +147 -75
- package/pd-cli/dist/commands/candidate.js.map +1 -1
- package/pd-cli/dist/commands/command-helpers.d.ts +19 -0
- package/pd-cli/dist/commands/command-helpers.d.ts.map +1 -0
- package/pd-cli/dist/commands/command-helpers.js +22 -0
- package/pd-cli/dist/commands/command-helpers.js.map +1 -0
- package/pd-cli/dist/commands/config-doctor.d.ts.map +1 -1
- package/pd-cli/dist/commands/config-doctor.js +21 -0
- package/pd-cli/dist/commands/config-doctor.js.map +1 -1
- package/pd-cli/dist/commands/diagnose.d.ts +1 -0
- package/pd-cli/dist/commands/diagnose.d.ts.map +1 -1
- package/pd-cli/dist/commands/diagnose.js +252 -149
- package/pd-cli/dist/commands/diagnose.js.map +1 -1
- package/pd-cli/dist/commands/evolution-tasks-show.js +0 -1
- package/pd-cli/dist/commands/evolution-tasks-show.js.map +1 -1
- package/pd-cli/dist/commands/legacy-cleanup.d.ts +72 -6
- package/pd-cli/dist/commands/legacy-cleanup.d.ts.map +1 -1
- package/pd-cli/dist/commands/legacy-cleanup.js +243 -23
- package/pd-cli/dist/commands/legacy-cleanup.js.map +1 -1
- package/pd-cli/dist/commands/mvp-smoke.d.ts +30 -0
- package/pd-cli/dist/commands/mvp-smoke.d.ts.map +1 -0
- package/pd-cli/dist/commands/mvp-smoke.js +139 -0
- package/pd-cli/dist/commands/mvp-smoke.js.map +1 -0
- package/pd-cli/dist/commands/pain-record.d.ts +2 -0
- package/pd-cli/dist/commands/pain-record.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-record.js +45 -7
- package/pd-cli/dist/commands/pain-record.js.map +1 -1
- package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-retry.js +46 -43
- package/pd-cli/dist/commands/pain-retry.js.map +1 -1
- package/pd-cli/dist/commands/quality-scorecard.d.ts +9 -0
- package/pd-cli/dist/commands/quality-scorecard.d.ts.map +1 -0
- package/pd-cli/dist/commands/quality-scorecard.js +241 -0
- package/pd-cli/dist/commands/quality-scorecard.js.map +1 -0
- package/pd-cli/dist/commands/rulecode.d.ts +85 -0
- package/pd-cli/dist/commands/rulecode.d.ts.map +1 -0
- package/pd-cli/dist/commands/rulecode.js +356 -0
- package/pd-cli/dist/commands/rulecode.js.map +1 -0
- package/pd-cli/dist/commands/runtime-activation.d.ts +37 -0
- package/pd-cli/dist/commands/runtime-activation.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-activation.js +416 -2
- package/pd-cli/dist/commands/runtime-activation.js.map +1 -1
- package/pd-cli/dist/commands/runtime-features.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-features.js +2 -7
- package/pd-cli/dist/commands/runtime-features.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-integrity-repair.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-integrity-repair.js +25 -15
- package/pd-cli/dist/commands/runtime-internalization-integrity-repair.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-integrity.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-integrity.js +42 -1
- package/pd-cli/dist/commands/runtime-internalization-integrity.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-queue.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-queue.js +35 -3
- package/pd-cli/dist/commands/runtime-internalization-queue.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +316 -320
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts +23 -0
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -0
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +361 -0
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -0
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.d.ts +10 -0
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.d.ts.map +1 -0
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.js +164 -0
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.js.map +1 -0
- package/pd-cli/dist/commands/runtime-recovery.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-recovery.js +9 -8
- package/pd-cli/dist/commands/runtime-recovery.js.map +1 -1
- package/pd-cli/dist/commands/runtime.d.ts +7 -1
- package/pd-cli/dist/commands/runtime.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime.js +223 -30
- package/pd-cli/dist/commands/runtime.js.map +1 -1
- package/pd-cli/dist/commands/samples-list.js +0 -1
- package/pd-cli/dist/commands/samples-list.js.map +1 -1
- package/pd-cli/dist/commands/task.d.ts +11 -0
- package/pd-cli/dist/commands/task.d.ts.map +1 -1
- package/pd-cli/dist/commands/task.js +148 -6
- package/pd-cli/dist/commands/task.js.map +1 -1
- package/pd-cli/dist/index.d.ts +1 -1
- package/pd-cli/dist/index.js +155 -70
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/legacy/session-history-import.js +0 -19
- package/pd-cli/dist/legacy/session-history-import.js.map +1 -1
- package/pd-cli/dist/resolve-workspace.d.ts +15 -3
- package/pd-cli/dist/resolve-workspace.d.ts.map +1 -1
- package/pd-cli/dist/resolve-workspace.js +54 -8
- package/pd-cli/dist/resolve-workspace.js.map +1 -1
- package/pd-cli/dist/services/__tests__/cli-output.test.d.ts +18 -0
- package/pd-cli/dist/services/__tests__/cli-output.test.d.ts.map +1 -0
- package/pd-cli/dist/services/__tests__/cli-output.test.js +103 -0
- package/pd-cli/dist/services/__tests__/cli-output.test.js.map +1 -0
- package/pd-cli/dist/services/__tests__/runtime-adapter-resolver.test.d.ts +18 -0
- package/pd-cli/dist/services/__tests__/runtime-adapter-resolver.test.d.ts.map +1 -0
- package/pd-cli/dist/services/__tests__/runtime-adapter-resolver.test.js +651 -0
- package/pd-cli/dist/services/__tests__/runtime-adapter-resolver.test.js.map +1 -0
- package/pd-cli/dist/services/cli-output.d.ts +61 -0
- package/pd-cli/dist/services/cli-output.d.ts.map +1 -0
- package/pd-cli/dist/services/cli-output.js +72 -0
- package/pd-cli/dist/services/cli-output.js.map +1 -0
- package/pd-cli/dist/services/config-doctor.d.ts +2 -0
- package/pd-cli/dist/services/config-doctor.d.ts.map +1 -1
- package/pd-cli/dist/services/config-doctor.js +11 -8
- package/pd-cli/dist/services/config-doctor.js.map +1 -1
- package/pd-cli/dist/services/console-launcher.js +1 -1
- package/pd-cli/dist/services/console-launcher.js.map +1 -1
- package/pd-cli/dist/services/demo-rule-compiler.d.ts +24 -0
- package/pd-cli/dist/services/demo-rule-compiler.d.ts.map +1 -0
- package/pd-cli/dist/services/demo-rule-compiler.js +58 -0
- package/pd-cli/dist/services/demo-rule-compiler.js.map +1 -0
- package/pd-cli/dist/services/feature-flag-loader.js +0 -1
- package/pd-cli/dist/services/feature-flag-loader.js.map +1 -1
- package/pd-cli/dist/services/mainline-snapshot-assembler.d.ts +35 -0
- package/pd-cli/dist/services/mainline-snapshot-assembler.d.ts.map +1 -0
- package/pd-cli/dist/services/mainline-snapshot-assembler.js +428 -0
- package/pd-cli/dist/services/mainline-snapshot-assembler.js.map +1 -0
- package/pd-cli/dist/services/pain-flood-simulation-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/pain-flood-simulation-runner.js +95 -10
- package/pd-cli/dist/services/pain-flood-simulation-runner.js.map +1 -1
- package/pd-cli/dist/services/pd-config-loader.d.ts +20 -0
- package/pd-cli/dist/services/pd-config-loader.d.ts.map +1 -1
- package/pd-cli/dist/services/pd-config-loader.js +113 -0
- package/pd-cli/dist/services/pd-config-loader.js.map +1 -1
- package/pd-cli/dist/services/quality-scorecard/data-extractor.d.ts +28 -0
- package/pd-cli/dist/services/quality-scorecard/data-extractor.d.ts.map +1 -0
- package/pd-cli/dist/services/quality-scorecard/data-extractor.js +118 -0
- package/pd-cli/dist/services/quality-scorecard/data-extractor.js.map +1 -0
- package/pd-cli/dist/services/quality-scorecard/local-evaluator.d.ts +18 -0
- package/pd-cli/dist/services/quality-scorecard/local-evaluator.d.ts.map +1 -0
- package/pd-cli/dist/services/quality-scorecard/local-evaluator.js +112 -0
- package/pd-cli/dist/services/quality-scorecard/local-evaluator.js.map +1 -0
- package/pd-cli/dist/services/quality-scorecard/strong-model-gate.d.ts +14 -0
- package/pd-cli/dist/services/quality-scorecard/strong-model-gate.d.ts.map +1 -0
- package/pd-cli/dist/services/quality-scorecard/strong-model-gate.js +128 -0
- package/pd-cli/dist/services/quality-scorecard/strong-model-gate.js.map +1 -0
- package/pd-cli/dist/services/resolve-runtime-from-pd-config.d.ts +70 -0
- package/pd-cli/dist/services/resolve-runtime-from-pd-config.d.ts.map +1 -0
- package/pd-cli/dist/services/resolve-runtime-from-pd-config.js +138 -0
- package/pd-cli/dist/services/resolve-runtime-from-pd-config.js.map +1 -0
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts +132 -0
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -0
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +392 -0
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -0
- package/pd-cli/dist/services/runtime-adapter-resolver.d.ts +105 -0
- package/pd-cli/dist/services/runtime-adapter-resolver.d.ts.map +1 -0
- package/pd-cli/dist/services/runtime-adapter-resolver.js +188 -0
- package/pd-cli/dist/services/runtime-adapter-resolver.js.map +1 -0
- package/pd-cli/dist/services/synthetic-baseline-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/synthetic-baseline-runner.js +97 -6
- package/pd-cli/dist/services/synthetic-baseline-runner.js.map +1 -1
- package/pd-cli/dist/utils/production-workspace-guard.d.ts +0 -7
- package/pd-cli/dist/utils/production-workspace-guard.d.ts.map +1 -1
- package/pd-cli/dist/utils/production-workspace-guard.js +0 -11
- package/pd-cli/dist/utils/production-workspace-guard.js.map +1 -1
- package/pd-cli/dist/utils/production-workspace-guard.test.js +9 -2
- package/pd-cli/dist/utils/production-workspace-guard.test.js.map +1 -1
- package/pd-cli/package.json +3 -2
- package/plugin/dist/config/defaults/runtime.d.ts +0 -6
- package/plugin/dist/config/defaults/runtime.js +0 -7
- package/plugin/dist/core/code-implementation-storage.d.ts +0 -9
- package/plugin/dist/core/code-implementation-storage.js +0 -34
- package/plugin/dist/core/config-health.d.ts +27 -0
- package/plugin/dist/core/config-health.js +60 -0
- package/plugin/dist/core/event-log.d.ts +10 -1
- package/plugin/dist/core/event-log.js +11 -0
- package/plugin/dist/core/init.d.ts +1 -1
- package/plugin/dist/core/init.js +10 -14
- package/plugin/dist/core/paths.d.ts +0 -6
- package/plugin/dist/core/paths.js +0 -6
- package/plugin/dist/core/principle-compiler/code-validator.js +4 -1
- package/plugin/dist/core/principle-tree-ledger.d.ts +0 -4
- package/plugin/dist/core/principle-tree-ledger.js +0 -7
- package/plugin/dist/core/rule-host.d.ts +45 -15
- package/plugin/dist/core/rule-host.js +240 -81
- package/plugin/dist/core/rule-implementation-runtime.d.ts +13 -0
- package/plugin/dist/core/rule-implementation-runtime.js +91 -3
- package/plugin/dist/core/runtime-v2-prompt-activation-reader.js +2 -2
- package/plugin/dist/core/thinking-models.d.ts +3 -2
- package/plugin/dist/core/thinking-models.js +9 -29
- package/plugin/dist/core/trajectory-types.d.ts +4 -0
- package/plugin/dist/core/trajectory.js +55 -5
- package/plugin/dist/core/workspace-dir-validation.d.ts +2 -2
- package/plugin/dist/core/workspace-dir-validation.js +2 -2
- package/plugin/dist/hooks/after-tool-call-helpers.d.ts +8 -9
- package/plugin/dist/hooks/after-tool-call-helpers.js +89 -100
- package/plugin/dist/hooks/after-tool-call-types.d.ts +2 -8
- package/plugin/dist/hooks/gate.js +1 -1
- package/plugin/dist/hooks/llm.js +11 -2
- package/plugin/dist/hooks/pain.d.ts +0 -1
- package/plugin/dist/hooks/pain.js +3 -2
- package/plugin/dist/hooks/raw-observation-adapter.d.ts +57 -0
- package/plugin/dist/hooks/raw-observation-adapter.js +170 -0
- package/plugin/dist/hooks/raw-observation-types.d.ts +62 -0
- package/plugin/dist/hooks/raw-observation-types.js +15 -0
- package/plugin/dist/hooks/trajectory-collector.d.ts +17 -28
- package/plugin/dist/hooks/trajectory-collector.js +71 -104
- package/plugin/dist/hooks/trajectory-evidence.js +23 -0
- package/plugin/dist/hooks/triage-adapter.d.ts +7 -31
- package/plugin/dist/hooks/triage-adapter.js +32 -61
- package/plugin/dist/hooks/trigger-cooldown-tracker.d.ts +30 -0
- package/plugin/dist/hooks/trigger-cooldown-tracker.js +55 -0
- package/plugin/dist/index.d.ts +11 -0
- package/plugin/dist/index.js +73 -27
- package/plugin/dist/openclaw-sdk.d.ts +1 -0
- package/plugin/dist/service/evolution-worker.d.ts +1 -1
- package/plugin/dist/service/internalization-auto-consumer-service.d.ts +8 -0
- package/plugin/dist/service/internalization-auto-consumer-service.js +322 -0
- package/plugin/dist/types/event-types.d.ts +1 -1
- package/plugin/dist/utils/io.js +24 -3
- package/plugin/package.json +4 -3
- package/plugin/scripts/sync-plugin.mjs +43 -0
- package/plugin/templates/langs/en/principles/THINKING_OS.md +12 -0
- package/plugin/templates/langs/en/skills/pd-runtime-v2/SKILL.md +1 -1
- package/plugin/templates/langs/zh/principles/THINKING_OS.md +12 -0
- package/plugin/templates/langs/zh/skills/pd-runtime-v2/SKILL.md +1 -1
- package/templates/langs/en/principles/THINKING_OS.md +12 -0
- package/templates/langs/zh/principles/THINKING_OS.md +12 -0
- package/console/dist/server/routes/state.d.ts +0 -11
- package/console/dist/server/routes/state.js +0 -97
- package/console/dist/ui/components/UpdateBanner.d.ts +0 -1
- package/console/dist/ui/components/UpdateBanner.js +0 -41
- package/console/dist/ui/components/UpdateProgressDialog.d.ts +0 -12
- package/console/dist/ui/components/UpdateProgressDialog.js +0 -28
- package/console/dist/ui/components/approval-card.d.ts +0 -8
- package/console/dist/ui/components/approval-card.js +0 -39
- package/console/dist/ui/components/approval-detail-dialog.d.ts +0 -9
- package/console/dist/ui/components/approval-detail-dialog.js +0 -20
- package/console/dist/ui/components/rejection-reason-dialog.d.ts +0 -6
- package/console/dist/ui/components/rejection-reason-dialog.js +0 -23
- package/core/dist/evolution-hook.d.ts +0 -70
- package/core/dist/evolution-hook.d.ts.map +0 -1
- package/core/dist/evolution-hook.js +0 -10
- package/core/dist/evolution-hook.js.map +0 -1
- package/core/dist/pain-flag-resolver.d.ts +0 -18
- package/core/dist/pain-flag-resolver.d.ts.map +0 -1
- package/core/dist/pain-flag-resolver.js +0 -21
- package/core/dist/pain-flag-resolver.js.map +0 -1
- package/core/dist/pain-recorder.d.ts +0 -38
- package/core/dist/pain-recorder.d.ts.map +0 -1
- package/core/dist/pain-recorder.js +0 -62
- package/core/dist/pain-recorder.js.map +0 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts +0 -2
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js +0 -170
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.integration.test.js.map +0 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts +0 -2
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js +0 -396
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-builder.test.js.map +0 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +0 -13
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +0 -97
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js +0 -378
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.integration.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +0 -682
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js +0 -286
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-telemetry.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js +0 -320
- package/core/dist/runtime-v2/runner/__tests__/dual-track-e2e.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js +0 -261
- package/core/dist/runtime-v2/runner/__tests__/lease-expiration-recovery.integration.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js +0 -405
- package/core/dist/runtime-v2/runner/__tests__/m5-05-e2e.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js +0 -347
- package/core/dist/runtime-v2/runner/__tests__/m6-06-e2e.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js +0 -186
- package/core/dist/runtime-v2/runner/__tests__/m6-06-legacy.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js +0 -355
- package/core/dist/runtime-v2/runner/__tests__/m6-06-real-path.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js +0 -488
- package/core/dist/runtime-v2/runner/__tests__/m8-02-e2e.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js +0 -171
- package/core/dist/runtime-v2/runner/__tests__/m9-adapter-integration.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/m9-e2e.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/m9-e2e.test.js +0 -182
- package/core/dist/runtime-v2/runner/__tests__/m9-e2e.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js +0 -276
- package/core/dist/runtime-v2/runner/__tests__/max-attempts-exceeded.integration.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js +0 -272
- package/core/dist/runtime-v2/runner/__tests__/retry-wait-recovery.integration.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts +0 -2
- package/core/dist/runtime-v2/runner/__tests__/start-run-input.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/__tests__/start-run-input.test.js +0 -67
- package/core/dist/runtime-v2/runner/__tests__/start-run-input.test.js.map +0 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +0 -47
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.js +0 -20
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.js.map +0 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner.d.ts +0 -87
- package/core/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +0 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner.js +0 -441
- package/core/dist/runtime-v2/runner/diagnostician-runner.js.map +0 -1
- package/core/dist/storage-adapter.d.ts +0 -59
- package/core/dist/storage-adapter.d.ts.map +0 -1
- package/core/dist/storage-adapter.js +0 -2
- package/core/dist/storage-adapter.js.map +0 -1
- package/core/dist/types/workspace-resolver.d.ts +0 -25
- package/core/dist/types/workspace-resolver.d.ts.map +0 -1
- package/core/dist/types/workspace-resolver.js +0 -10
- package/core/dist/types/workspace-resolver.js.map +0 -1
- package/core/dist/types.d.ts +0 -56
- package/core/dist/types.d.ts.map +0 -1
- package/core/dist/types.js +0 -16
- package/core/dist/types.js.map +0 -1
- package/pd-cli/dist/principle-tree-ledger-adapter.d.ts +0 -12
- package/pd-cli/dist/principle-tree-ledger-adapter.d.ts.map +0 -1
- package/pd-cli/dist/principle-tree-ledger-adapter.js +0 -12
- package/pd-cli/dist/principle-tree-ledger-adapter.js.map +0 -1
- package/plugin/dist/core/evolution-hook.d.ts +0 -54
- package/plugin/dist/core/evolution-hook.js +0 -9
- package/plugin/dist/core/file-storage-adapter.d.ts +0 -43
- package/plugin/dist/core/file-storage-adapter.js +0 -158
- package/plugin/dist/core/merge-gate-audit.d.ts +0 -21
- package/plugin/dist/core/merge-gate-audit.js +0 -241
- package/plugin/dist/core/pain-context-extractor.d.ts +0 -31
- package/plugin/dist/core/pain-context-extractor.js +0 -278
- package/plugin/dist/core/pain-lifecycle.d.ts +0 -15
- package/plugin/dist/core/pain-lifecycle.js +0 -37
- package/plugin/dist/core/pain-signal-adapter.d.ts +0 -37
- package/plugin/dist/core/pain-signal-adapter.js +0 -1
- package/plugin/dist/core/pain-signal.d.ts +0 -6
- package/plugin/dist/core/pain-signal.js +0 -3
- package/plugin/dist/core/principle-injector.d.ts +0 -55
- package/plugin/dist/core/principle-injector.js +0 -17
- package/plugin/dist/core/principle-tree-migration.d.ts +0 -35
- package/plugin/dist/core/principle-tree-migration.js +0 -137
- package/plugin/dist/core/storage-adapter.d.ts +0 -58
- package/plugin/dist/core/storage-adapter.js +0 -1
- package/plugin/dist/core/telemetry-event.d.ts +0 -66
- package/plugin/dist/core/telemetry-event.js +0 -86
- package/plugin/dist/core/training-program.d.ts +0 -233
- package/plugin/dist/core/training-program.js +0 -435
- package/plugin/dist/core/workspace-dir-service.d.ts +0 -33
- package/plugin/dist/core/workspace-dir-service.js +0 -71
- package/plugin/dist/hooks/lifecycle-routing.d.ts +0 -24
- package/plugin/dist/hooks/lifecycle-routing.js +0 -110
- package/plugin/dist/service/event-log-auditor.d.ts +0 -46
- package/plugin/dist/service/event-log-auditor.js +0 -236
- package/plugin/dist/service/evolution-queue-lock.d.ts +0 -18
- package/plugin/dist/service/evolution-queue-lock.js +0 -36
- package/plugin/dist/service/failure-classifier.d.ts +0 -46
- package/plugin/dist/service/failure-classifier.js +0 -57
- package/plugin/dist/service/internalization-trigger-adapter.d.ts +0 -51
- package/plugin/dist/service/internalization-trigger-adapter.js +0 -184
- package/plugin/dist/service/monitoring-query-service.d.ts +0 -21
- package/plugin/dist/service/monitoring-query-service.js +0 -45
- package/plugin/dist/service/subagent-workflow/index.d.ts +0 -3
- package/plugin/dist/service/subagent-workflow/index.js +0 -2
- package/plugin/dist/tools/critique-prompt.d.ts +0 -1
- package/plugin/dist/tools/critique-prompt.js +0 -1
- package/plugin/dist/tools/deep-reflect.d.ts +0 -1
- package/plugin/dist/tools/deep-reflect.js +0 -1
- package/plugin/dist/tools/model-index.d.ts +0 -1
- package/plugin/dist/tools/model-index.js +0 -1
- package/plugin/dist/types/event-payload.d.ts +0 -2
- package/plugin/dist/types/event-payload.js +0 -1
- package/plugin/dist/utils/glob-match.d.ts +0 -28
- package/plugin/dist/utils/glob-match.js +0 -49
- package/plugin/dist/utils/nlp.d.ts +0 -4
- package/plugin/dist/utils/nlp.js +0 -21
- package/plugin/dist/utils/plugin-logger.d.ts +0 -39
- package/plugin/dist/utils/plugin-logger.js +0 -70
- package/plugin/dist/utils/subagent-probe.d.ts +0 -35
- package/plugin/dist/utils/subagent-probe.js +0 -67
|
@@ -13,8 +13,29 @@ const WORKSPACE_FILES = ['AGENTS.md', 'SOUL.md', 'USER.md', 'CLAUDE.md'];
|
|
|
13
13
|
// ---------------------------------------------------------------------------
|
|
14
14
|
// Helpers
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Resolve the OpenClaw installation home.
|
|
18
|
+
*
|
|
19
|
+
* Priority:
|
|
20
|
+
* 1. `OPENCLAW_HOME` env var (explicit override)
|
|
21
|
+
* 2. `~/.openclaw` (default install location)
|
|
22
|
+
*
|
|
23
|
+
* Note: the workspace (where PD state lives) and the OpenClaw install home
|
|
24
|
+
* (where extensions live) are NOT necessarily the same directory or even
|
|
25
|
+
* siblings — the workspace can be on a different drive. Do not derive the
|
|
26
|
+
* extensions dir from `path.dirname(workspaceDir)`.
|
|
27
|
+
*/
|
|
28
|
+
function resolveOpenclawHome() {
|
|
29
|
+
const envHome = process.env.OPENCLAW_HOME;
|
|
30
|
+
if (envHome && envHome.trim().length > 0)
|
|
31
|
+
return path.resolve(envHome);
|
|
32
|
+
return path.join(os.homedir(), '.openclaw');
|
|
33
|
+
}
|
|
34
|
+
function resolveExtensionsDir() {
|
|
35
|
+
return path.join(resolveOpenclawHome(), 'extensions');
|
|
36
|
+
}
|
|
37
|
+
function resolvePluginDir(_workspaceDir) {
|
|
38
|
+
return path.join(resolveExtensionsDir(), 'principles-disciple');
|
|
18
39
|
}
|
|
19
40
|
function readCurrentVersion(pluginDir) {
|
|
20
41
|
const pkgPath = path.join(pluginDir, 'package.json');
|
|
@@ -49,8 +70,10 @@ function isValidMergeStrategy(value) {
|
|
|
49
70
|
function validatePathInWorkspace(target, workspaceDir) {
|
|
50
71
|
const resolved = path.resolve(target);
|
|
51
72
|
const resolvedWorkspace = path.resolve(workspaceDir);
|
|
52
|
-
// Allow paths within workspace or within the extensions directory
|
|
53
|
-
|
|
73
|
+
// Allow paths within workspace or within the OpenClaw extensions directory.
|
|
74
|
+
// The extensions dir is under the OpenClaw install home (~/.openclaw/extensions),
|
|
75
|
+
// which is NOT derived from the workspace dir (the two may be on different drives).
|
|
76
|
+
const extensionsDir = path.resolve(resolveExtensionsDir());
|
|
54
77
|
return resolved.startsWith(resolvedWorkspace + path.sep) || resolved === resolvedWorkspace
|
|
55
78
|
|| resolved.startsWith(extensionsDir + path.sep) || resolved === extensionsDir;
|
|
56
79
|
}
|
|
@@ -164,15 +187,44 @@ async function doCheckForUpdates(currentVersion) {
|
|
|
164
187
|
};
|
|
165
188
|
}
|
|
166
189
|
}
|
|
190
|
+
// ---------------------------------------------------------------------------
|
|
191
|
+
// Network resilience
|
|
192
|
+
// ---------------------------------------------------------------------------
|
|
193
|
+
const FETCH_TIMEOUT_MS = 30_000;
|
|
194
|
+
const MAX_RETRIES = 2;
|
|
195
|
+
const RETRY_DELAY_MS = 1000;
|
|
196
|
+
async function fetchWithRetry(url, label) {
|
|
197
|
+
let lastError;
|
|
198
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
199
|
+
const controller = new AbortController();
|
|
200
|
+
const timeoutId = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
201
|
+
try {
|
|
202
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
203
|
+
clearTimeout(timeoutId);
|
|
204
|
+
if (!response.ok)
|
|
205
|
+
throw new Error(`${label}: HTTP ${response.status}`);
|
|
206
|
+
return response;
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
clearTimeout(timeoutId);
|
|
210
|
+
lastError = err instanceof Error ? err : new Error(String(err));
|
|
211
|
+
if (attempt < MAX_RETRIES) {
|
|
212
|
+
const delay = RETRY_DELAY_MS * Math.pow(2, attempt);
|
|
213
|
+
await new Promise(r => setTimeout(r, delay));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
throw new Error(`${label} failed after ${MAX_RETRIES + 1} attempts: ${lastError?.message ?? 'unknown'}`);
|
|
218
|
+
}
|
|
167
219
|
async function doApplyUpdate(options, workspaceDir) {
|
|
168
220
|
const { targetDir, mergeStrategy, createBackup } = options;
|
|
221
|
+
let backupPath = undefined;
|
|
222
|
+
let appliedChanges = false;
|
|
169
223
|
try {
|
|
170
224
|
// 0. Save current version BEFORE any changes
|
|
171
225
|
const fromVersion = readCurrentVersion(targetDir) ?? 'unknown';
|
|
172
|
-
// 1. Fetch latest package info
|
|
173
|
-
const response = await
|
|
174
|
-
if (!response.ok)
|
|
175
|
-
return { success: false, message: `Failed to fetch package info: HTTP ${response.status}` };
|
|
226
|
+
// 1. Fetch latest package info (with timeout + retry)
|
|
227
|
+
const response = await fetchWithRetry(NPM_REGISTRY_LATEST, 'Registry check');
|
|
176
228
|
const rawData = await response.json();
|
|
177
229
|
if (typeof rawData !== 'object' || rawData === null)
|
|
178
230
|
return { success: false, message: 'Invalid registry response' };
|
|
@@ -185,32 +237,22 @@ async function doApplyUpdate(options, workspaceDir) {
|
|
|
185
237
|
if (!tarball)
|
|
186
238
|
return { success: false, message: 'Missing tarball URL in registry response' };
|
|
187
239
|
// 2. Create backup if requested
|
|
188
|
-
let backupPath = undefined;
|
|
189
240
|
if (createBackup) {
|
|
190
241
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
191
242
|
backupPath = path.join(path.dirname(targetDir), `.pd-backup-${timestamp}`);
|
|
192
243
|
copyDirRecursive(targetDir, backupPath);
|
|
193
244
|
}
|
|
194
|
-
// 3. Download and extract new version
|
|
245
|
+
// 3. Download and extract new version (with timeout + retry)
|
|
195
246
|
const tempDir = path.join(os.tmpdir(), `pd-update-${Date.now()}`);
|
|
196
247
|
fs.mkdirSync(tempDir, { recursive: true });
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
fs.writeFileSync(tarballPath, buffer);
|
|
204
|
-
execSync(`tar xzf "${tarballPath}" -C "${tempDir}" --strip-components=1`, { stdio: 'pipe' });
|
|
205
|
-
fs.unlinkSync(tarballPath);
|
|
206
|
-
}
|
|
207
|
-
catch (dlError) {
|
|
208
|
-
// Clean up temp dir on download failure
|
|
209
|
-
if (fs.existsSync(tempDir))
|
|
210
|
-
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
211
|
-
throw dlError;
|
|
212
|
-
}
|
|
248
|
+
const dlResponse = await fetchWithRetry(tarball, 'Download');
|
|
249
|
+
const buffer = Buffer.from(await dlResponse.arrayBuffer());
|
|
250
|
+
const tarballPath = path.join(tempDir, 'package.tgz');
|
|
251
|
+
fs.writeFileSync(tarballPath, buffer);
|
|
252
|
+
execSync(`tar xzf "${tarballPath}" -C "${tempDir}" --strip-components=1`, { stdio: 'pipe' });
|
|
253
|
+
fs.unlinkSync(tarballPath);
|
|
213
254
|
// 4. Compute diff and apply
|
|
255
|
+
appliedChanges = true;
|
|
214
256
|
const diff = computeDiffLocal(targetDir, tempDir);
|
|
215
257
|
const updatedFiles = [];
|
|
216
258
|
for (const file of diff.modified) {
|
|
@@ -276,6 +318,13 @@ async function doApplyUpdate(options, workspaceDir) {
|
|
|
276
318
|
};
|
|
277
319
|
}
|
|
278
320
|
catch (error) {
|
|
321
|
+
// Clean up backup only if we failed before applying any file changes
|
|
322
|
+
if (!appliedChanges && backupPath && fs.existsSync(backupPath)) {
|
|
323
|
+
try {
|
|
324
|
+
fs.rmSync(backupPath, { recursive: true, force: true });
|
|
325
|
+
}
|
|
326
|
+
catch { /* best effort */ }
|
|
327
|
+
}
|
|
279
328
|
return {
|
|
280
329
|
success: false,
|
|
281
330
|
message: error instanceof Error ? error.message : 'Unknown error',
|
package/console/dist/ui/App.js
CHANGED
|
@@ -9,6 +9,8 @@ import { SplashScreen } from "./components/auth/splash-screen.js";
|
|
|
9
9
|
import { LoginForm } from "./components/auth/login-form.js";
|
|
10
10
|
import { ErrorBoundary } from "./components/error-boundary.js";
|
|
11
11
|
import { checkAuth } from "./api.js";
|
|
12
|
+
import { NotificationProvider } from "./components/notifications/NotificationProvider.js";
|
|
13
|
+
import { Toaster } from "./components/ui/sonner.js";
|
|
12
14
|
// New page imports (CR2 directory structure)
|
|
13
15
|
import { FocusPage } from "./pages/focus/FocusPage.js";
|
|
14
16
|
import { PainPage } from "./pages/pain/PainPage.js";
|
|
@@ -123,8 +125,8 @@ function AuthRoutes() {
|
|
|
123
125
|
else {
|
|
124
126
|
navigate("/login", { replace: true });
|
|
125
127
|
}
|
|
126
|
-
} }) }), _jsx(Route, { path: "/login", element: _jsx(LoginForm, { onAuthSuccess: handleAuthSuccess }) }), _jsx(Route, { path: "/*", element: authed === null ? (_jsx("div", { className: "min-h-screen bg-paper flex items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsx("div", { className: "w-8 h-8 border-2 border-gov border-t-transparent rounded-full animate-spin" }), _jsx("span", { className: "text-[12px] font-mono tracking-wider text-ink-3 uppercase", children: "Verifying Session..." })] }) })) : authed ? (_jsxs("div", { className: "min-h-screen bg-paper text-ink", children: [_jsx("a", { href: "#main-content", className: "sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-4 focus:bg-paper focus:text-ink", children: "Skip to main content" }), _jsx(AppSidebar, {}), _jsx("main", { id: "main-content", className: "ml-[256px] min-h-screen overflow-y-auto", children: _jsx(ErrorBoundary, { children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: _jsx(Navigate, { to: "/focus", replace: true }) }), _jsx(Route, { path: "/focus", element: _jsx(FocusPage, {}) }), _jsx(Route, { path: "/pain", element: _jsx(PainPage, {}) }), _jsx(Route, { path: "/principles", element: _jsx(PrinciplesPage, {}) }), _jsx(Route, { path: "/principles/:id", element: _jsx(PrincipleDetailPage, {}) }), _jsx(Route, { path: "/activation", element: _jsx(ActivationPage, {}) }), _jsx(Route, { path: "/debt", element: _jsx(DebtPage, {}) }), _jsx(Route, { path: "/control-center", element: _jsx(ControlCenterPage, {}) }), _jsx(Route, { path: "/settings", element: _jsx(SettingsPage, {}) }), _jsx(Route, { path: "/update", element: _jsx(UpdatePage, {}) }), _jsx(Route, { path: "/report-problem", element: _jsx(ReportProblemPage, {}) }), IS_DEV && (_jsx(Route, { path: "/design-system", element: _jsx(DesignSystemPage, {}) })), !IS_DEV && (_jsx(Route, { path: "/design-system", element: _jsx(Navigate, { to: "/focus", replace: true }) }))] }) }) })] })) : (_jsx(Navigate, { to: "/login", replace: true })) })] }));
|
|
128
|
+
} }) }), _jsx(Route, { path: "/login", element: _jsx(LoginForm, { onAuthSuccess: handleAuthSuccess }) }), _jsx(Route, { path: "/*", element: authed === null ? (_jsx("div", { className: "min-h-screen bg-paper flex items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsx("div", { className: "w-8 h-8 border-2 border-gov border-t-transparent rounded-full animate-spin" }), _jsx("span", { className: "text-[12px] font-mono tracking-wider text-ink-3 uppercase", children: "Verifying Session..." })] }) })) : authed ? (_jsx(NotificationProvider, { children: _jsxs("div", { className: "min-h-screen bg-paper text-ink", children: [_jsx("a", { href: "#main-content", className: "sr-only focus:not-sr-only focus:absolute focus:z-50 focus:p-4 focus:bg-paper focus:text-ink", children: "Skip to main content" }), _jsx(AppSidebar, {}), _jsx("main", { id: "main-content", className: "ml-[256px] min-h-screen overflow-y-auto", children: _jsx(ErrorBoundary, { children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: _jsx(Navigate, { to: "/focus", replace: true }) }), _jsx(Route, { path: "/focus", element: _jsx(FocusPage, {}) }), _jsx(Route, { path: "/pain", element: _jsx(PainPage, {}) }), _jsx(Route, { path: "/principles", element: _jsx(PrinciplesPage, {}) }), _jsx(Route, { path: "/principles/:id", element: _jsx(PrincipleDetailPage, {}) }), _jsx(Route, { path: "/activation", element: _jsx(ActivationPage, {}) }), _jsx(Route, { path: "/debt", element: _jsx(DebtPage, {}) }), _jsx(Route, { path: "/control-center", element: _jsx(ControlCenterPage, {}) }), _jsx(Route, { path: "/settings", element: _jsx(SettingsPage, {}) }), _jsx(Route, { path: "/update", element: _jsx(UpdatePage, {}) }), _jsx(Route, { path: "/report-problem", element: _jsx(ReportProblemPage, {}) }), IS_DEV && (_jsx(Route, { path: "/design-system", element: _jsx(DesignSystemPage, {}) })), !IS_DEV && (_jsx(Route, { path: "/design-system", element: _jsx(Navigate, { to: "/focus", replace: true }) }))] }) }) })] }) })) : (_jsx(Navigate, { to: "/login", replace: true })) })] }));
|
|
127
129
|
}
|
|
128
130
|
export function App() {
|
|
129
|
-
return (_jsx(ThemeProvider, { children:
|
|
131
|
+
return (_jsx(ThemeProvider, { children: _jsxs(I18nextProvider, { i18n: i18n, children: [_jsx(HashRouter, { children: _jsx(AuthRoutes, {}) }), _jsx(Toaster, {})] }) }));
|
|
130
132
|
}
|
package/console/dist/ui/api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ApiResponse } from "../types.js";
|
|
2
|
-
import type { FeedbackReportData, FeedbackDraftSummaryData, FeedbackDraftEnvelopeData, DeleteEnvelopeData, WorkspaceEntryData, RemovedEnvelopeData, SyncResultData,
|
|
2
|
+
import type { FeedbackReportData, FeedbackDraftSummaryData, FeedbackDraftEnvelopeData, DeleteEnvelopeData, WorkspaceEntryData, RemovedEnvelopeData, SyncResultData, ConfigSummaryData, ConfigCatalogData, AgentBindingUpdateData, DefaultRuntimeUpdateData, OutputLanguageData, GovernanceQueueData, ActivationsData, DisableActivationData, LifecycleMetricsData, UpdateStatusData, UpdateHistoryData, ApplyUpdateResultData, RollbackResultData, ApprovalRecordData, PrinciplesListData, ApprovalsGroupedData, EvidenceChainData, TrajectoryData } from "./utils/validators.js";
|
|
3
3
|
declare function getToken(): string | null;
|
|
4
4
|
declare function setToken(token: string): void;
|
|
5
5
|
declare function clearToken(): void;
|
|
@@ -18,19 +18,13 @@ declare function clearToken(): void;
|
|
|
18
18
|
declare function request(path: string, options?: RequestInit): Promise<ApiResponse<unknown>>;
|
|
19
19
|
declare function request<T>(path: string, options: RequestInit | undefined, validate: (value: unknown) => T | null): Promise<ApiResponse<T>>;
|
|
20
20
|
declare function checkAuth(): Promise<boolean>;
|
|
21
|
-
declare function fetchConfigReadiness(): Promise<ApiResponse<ConfigReadinessData>>;
|
|
22
21
|
declare function fetchWorkspaces(): Promise<ApiResponse<WorkspaceEntryData[]>>;
|
|
23
22
|
declare function addWorkspace(name: string, path: string): Promise<ApiResponse<WorkspaceEntryData>>;
|
|
24
23
|
declare function removeWorkspace(name: string): Promise<ApiResponse<RemovedEnvelopeData>>;
|
|
25
24
|
declare function syncWorkspace(name: string): Promise<ApiResponse<SyncResultData>>;
|
|
26
25
|
declare function fetchPrinciples(filter?: 'all' | 'actionable'): Promise<ApiResponse<PrinciplesListData>>;
|
|
27
26
|
declare function fetchPrincipleDetail(principleId: string): Promise<ApiResponse<unknown>>;
|
|
28
|
-
declare function
|
|
29
|
-
status?: string;
|
|
30
|
-
channel?: string;
|
|
31
|
-
page?: number;
|
|
32
|
-
pageSize?: number;
|
|
33
|
-
}): Promise<ApiResponse<ApprovalListResultData>>;
|
|
27
|
+
declare function fetchPrincipleTrajectory(principleId: string): Promise<ApiResponse<TrajectoryData>>;
|
|
34
28
|
declare function fetchApprovalDetail(approvalId: string): Promise<ApiResponse<ApprovalRecordData>>;
|
|
35
29
|
declare function approveApproval(approvalId: string, note?: string): Promise<ApiResponse<ApprovalRecordData>>;
|
|
36
30
|
declare function rejectApproval(approvalId: string, reason: string): Promise<ApiResponse<ApprovalRecordData>>;
|
|
@@ -43,7 +37,6 @@ declare function deleteFeedbackReport(id: string): Promise<ApiResponse<DeleteEnv
|
|
|
43
37
|
declare function fetchConfigSummary(): Promise<ApiResponse<ConfigSummaryData>>;
|
|
44
38
|
declare function fetchConfigCatalog(): Promise<ApiResponse<ConfigCatalogData>>;
|
|
45
39
|
declare function updateAgentBinding(agentName: string, runtimeProfile: string, enabled: boolean): Promise<ApiResponse<AgentBindingUpdateData>>;
|
|
46
|
-
declare function checkAgentReadiness(agentName: string): Promise<ApiResponse<ReadinessCheckData>>;
|
|
47
40
|
declare function updateDefaultRuntime(defaultRuntime: string): Promise<ApiResponse<DefaultRuntimeUpdateData>>;
|
|
48
41
|
declare function fetchOutputLanguage(): Promise<ApiResponse<OutputLanguageData>>;
|
|
49
42
|
declare function updateOutputLanguage(outputLanguage: string): Promise<ApiResponse<OutputLanguageData>>;
|
|
@@ -54,9 +47,11 @@ declare function disableActivation(activationId: string): Promise<ApiResponse<Di
|
|
|
54
47
|
declare function fetchLifecycleMetrics(principleId: string): Promise<ApiResponse<LifecycleMetricsData>>;
|
|
55
48
|
declare function fetchUpdateStatus(): Promise<ApiResponse<UpdateStatusData>>;
|
|
56
49
|
declare function fetchUpdateHistory(): Promise<ApiResponse<UpdateHistoryData>>;
|
|
50
|
+
declare function applyUpdate(): Promise<ApiResponse<ApplyUpdateResultData>>;
|
|
51
|
+
declare function rollbackUpdate(backupDir: string): Promise<ApiResponse<RollbackResultData>>;
|
|
57
52
|
declare function fetchEvidenceChain(): Promise<ApiResponse<EvidenceChainData>>;
|
|
58
|
-
export { getToken, setToken, clearToken, checkAuth, request,
|
|
59
|
-
export type { FeedbackReportData, FeedbackDraftSummaryData, FeedbackDraftEnvelopeData, DeleteEnvelopeData, WorkspaceEntryData, RemovedEnvelopeData, SyncResultData,
|
|
53
|
+
export { getToken, setToken, clearToken, checkAuth, request, fetchApprovalDetail, approveApproval, rejectApproval, fetchPrinciples, fetchPrincipleDetail, fetchPrincipleTrajectory, createFeedbackReport, listFeedbackReports, getFeedbackReport, deleteFeedbackReport, fetchConfigSummary, fetchConfigCatalog, updateAgentBinding, updateDefaultRuntime, fetchOutputLanguage, updateOutputLanguage, fetchWorkspaces, addWorkspace, removeWorkspace, syncWorkspace, fetchGovernanceQueue, fetchApprovalsGrouped, fetchAllActivations, disableActivation, fetchLifecycleMetrics, fetchUpdateStatus, fetchUpdateHistory, applyUpdate, rollbackUpdate, fetchEvidenceChain, };
|
|
54
|
+
export type { FeedbackReportData, FeedbackDraftSummaryData, FeedbackDraftEnvelopeData, DeleteEnvelopeData, WorkspaceEntryData, RemovedEnvelopeData, SyncResultData, ConfigSummaryData, ConfigCatalogData, AgentBindingUpdateData, DefaultRuntimeUpdateData, OutputLanguageData, GovernanceQueueData, ActivationsData, DisableActivationData, LifecycleMetricsData, UpdateStatusData, UpdateHistoryData, ApplyUpdateResultData, RollbackResultData, ApprovalRecordData, PrinciplesListData, ApprovalsGroupedData, EvidenceChainData, EvidenceChainRecordData, EvidenceChainStateData, TrajectoryData, TrajectoryStageData, } from "./utils/validators.js";
|
|
60
55
|
export type { ActivationRecordData as ActivationRecord } from "./utils/validators.js";
|
|
61
56
|
export type { ApprovalRecordData as ApprovalRecord } from "./utils/validators.js";
|
|
62
57
|
export type { WorkspaceEntryData as WorkspaceEntry } from "./utils/validators.js";
|
package/console/dist/ui/api.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateErrorResponse, validateHeaders, validateFeedbackReport, validateFeedbackDraftsList, validateFeedbackDraftEnvelope, validateDeleteEnvelope, validateWorkspaceEntry, validateWorkspaceList, validateRemovedEnvelope, validateSyncResult,
|
|
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";
|
|
2
2
|
// ── Auth ──────────────────────────────────────────────────────────────────────
|
|
3
3
|
function getToken() {
|
|
4
4
|
return sessionStorage.getItem("pd_token");
|
|
@@ -87,10 +87,6 @@ async function checkAuth() {
|
|
|
87
87
|
const result = await request("/api/health");
|
|
88
88
|
return result.success;
|
|
89
89
|
}
|
|
90
|
-
// ── Config Readiness (renamed from fetchSystemHealth) ─────────────────────────
|
|
91
|
-
async function fetchConfigReadiness() {
|
|
92
|
-
return request("/api/health", undefined, validateConfigReadiness);
|
|
93
|
-
}
|
|
94
90
|
// ── Workspaces ────────────────────────────────────────────────────────────────
|
|
95
91
|
async function fetchWorkspaces() {
|
|
96
92
|
return request("/api/workspaces", undefined, validateWorkspaceList);
|
|
@@ -118,20 +114,11 @@ async function fetchPrinciples(filter) {
|
|
|
118
114
|
async function fetchPrincipleDetail(principleId) {
|
|
119
115
|
return request(`/api/principles/${encodeURIComponent(principleId)}`);
|
|
120
116
|
}
|
|
121
|
-
// ──
|
|
122
|
-
async function
|
|
123
|
-
|
|
124
|
-
if (params?.status)
|
|
125
|
-
searchParams.set('status', params.status);
|
|
126
|
-
if (params?.channel)
|
|
127
|
-
searchParams.set('channel', params.channel);
|
|
128
|
-
if (params?.page)
|
|
129
|
-
searchParams.set('page', String(params.page));
|
|
130
|
-
if (params?.pageSize)
|
|
131
|
-
searchParams.set('pageSize', String(params.pageSize));
|
|
132
|
-
const qs = searchParams.toString() ? '?' + searchParams.toString() : '';
|
|
133
|
-
return request('/api/v1/approvals' + qs, undefined, validateApprovalListResult);
|
|
117
|
+
// ── Principle Trajectory ──────────────────────────────────────────────────────
|
|
118
|
+
async function fetchPrincipleTrajectory(principleId) {
|
|
119
|
+
return request(`/api/principles/${encodeURIComponent(principleId)}/trajectory`, undefined, validateTrajectoryData);
|
|
134
120
|
}
|
|
121
|
+
// ── Approvals ─────────────────────────────────────────────────────────────────
|
|
135
122
|
async function fetchApprovalDetail(approvalId) {
|
|
136
123
|
return request('/api/v1/approvals/' + encodeURIComponent(approvalId), undefined, validateApprovalRecordDirect);
|
|
137
124
|
}
|
|
@@ -184,9 +171,6 @@ async function updateAgentBinding(agentName, runtimeProfile, enabled) {
|
|
|
184
171
|
body: JSON.stringify({ runtimeProfile, enabled }),
|
|
185
172
|
}, validateAgentBindingUpdate);
|
|
186
173
|
}
|
|
187
|
-
async function checkAgentReadiness(agentName) {
|
|
188
|
-
return request(`/api/v1/config/readiness/${encodeURIComponent(agentName)}`, undefined, validateReadinessCheck);
|
|
189
|
-
}
|
|
190
174
|
async function updateDefaultRuntime(defaultRuntime) {
|
|
191
175
|
return request('/api/v1/config/default-runtime', {
|
|
192
176
|
method: 'PATCH',
|
|
@@ -224,14 +208,26 @@ async function fetchLifecycleMetrics(principleId) {
|
|
|
224
208
|
}
|
|
225
209
|
// ── Updates (CR9) ─────────────────────────────────────────────────────────────
|
|
226
210
|
async function fetchUpdateStatus() {
|
|
227
|
-
return request('/api/update', undefined, validateUpdateStatus);
|
|
211
|
+
return request('/api/update/check', undefined, validateUpdateStatus);
|
|
228
212
|
}
|
|
229
213
|
async function fetchUpdateHistory() {
|
|
230
214
|
return request('/api/update/history', undefined, validateUpdateHistory);
|
|
231
215
|
}
|
|
216
|
+
async function applyUpdate() {
|
|
217
|
+
return request('/api/update/apply', {
|
|
218
|
+
method: 'POST',
|
|
219
|
+
body: JSON.stringify({ mergeStrategy: 'smart', createBackup: true }),
|
|
220
|
+
}, validateApplyUpdateResult);
|
|
221
|
+
}
|
|
222
|
+
async function rollbackUpdate(backupDir) {
|
|
223
|
+
return request('/api/update/rollback', {
|
|
224
|
+
method: 'POST',
|
|
225
|
+
body: JSON.stringify({ backupDir }),
|
|
226
|
+
}, validateRollbackResult);
|
|
227
|
+
}
|
|
232
228
|
// ── Evidence Chain (PRI-331) ──────────────────────────────────────────────────
|
|
233
229
|
async function fetchEvidenceChain() {
|
|
234
230
|
return request('/api/v1/evidence-chain', undefined, validateEvidenceChain);
|
|
235
231
|
}
|
|
236
232
|
// ── Exports ───────────────────────────────────────────────────────────────────
|
|
237
|
-
export { getToken, setToken, clearToken, checkAuth, request,
|
|
233
|
+
export { getToken, setToken, clearToken, checkAuth, request, fetchApprovalDetail, approveApproval, rejectApproval, fetchPrinciples, fetchPrincipleDetail, fetchPrincipleTrajectory, createFeedbackReport, listFeedbackReports, getFeedbackReport, deleteFeedbackReport, fetchConfigSummary, fetchConfigCatalog, updateAgentBinding, updateDefaultRuntime, fetchOutputLanguage, updateOutputLanguage, fetchWorkspaces, addWorkspace, removeWorkspace, syncWorkspace, fetchGovernanceQueue, fetchApprovalsGrouped, fetchAllActivations, disableActivation, fetchLifecycleMetrics, fetchUpdateStatus, fetchUpdateHistory, applyUpdate, rollbackUpdate, fetchEvidenceChain, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function DailyThoughtCard(): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useMemo, useState } from "react";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { RefreshCw } from "lucide-react";
|
|
5
|
+
import { DAILY_THOUGHTS, getDailyThoughtIndex } from "../../data/daily-thoughts.js";
|
|
6
|
+
const FEATURE_DAILY_THOUGHT_ENABLED = true;
|
|
7
|
+
function formatLocalDate(d) {
|
|
8
|
+
const year = d.getFullYear();
|
|
9
|
+
const month = String(d.getMonth() + 1).padStart(2, "0");
|
|
10
|
+
const day = String(d.getDate()).padStart(2, "0");
|
|
11
|
+
return `${year}-${month}-${day}`;
|
|
12
|
+
}
|
|
13
|
+
export function DailyThoughtCard() {
|
|
14
|
+
const { t, i18n } = useTranslation();
|
|
15
|
+
const [overrideIndex, setOverrideIndex] = useState(null);
|
|
16
|
+
const [isChanging, setIsChanging] = useState(false);
|
|
17
|
+
const dailyIndex = useMemo(() => getDailyThoughtIndex(DAILY_THOUGHTS, formatLocalDate(new Date())), []);
|
|
18
|
+
const currentIndex = overrideIndex ?? dailyIndex;
|
|
19
|
+
const thought = DAILY_THOUGHTS[currentIndex] ?? DAILY_THOUGHTS[0];
|
|
20
|
+
const locale = i18n.language === "zh-CN" ? "zh" : "en";
|
|
21
|
+
const content = thought?.[locale];
|
|
22
|
+
const handleNext = useCallback(() => {
|
|
23
|
+
if (isChanging)
|
|
24
|
+
return;
|
|
25
|
+
setIsChanging(true);
|
|
26
|
+
window.setTimeout(() => {
|
|
27
|
+
setOverrideIndex((prev) => {
|
|
28
|
+
const base = prev ?? dailyIndex;
|
|
29
|
+
return (base + 1) % DAILY_THOUGHTS.length;
|
|
30
|
+
});
|
|
31
|
+
setIsChanging(false);
|
|
32
|
+
}, 200);
|
|
33
|
+
}, [isChanging, dailyIndex]);
|
|
34
|
+
if (!FEATURE_DAILY_THOUGHT_ENABLED) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
if (!thought || !content) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return (_jsxs("article", { "aria-label": t("pages.focus.dailyThought.ariaLabel"), className: "daily-thought-entrance bg-panel border border-line rounded-[6px] px-[18px] py-[14px] mb-7", children: [_jsxs("div", { className: "flex items-center justify-between mb-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "breathing-dot", "aria-hidden": "true" }), _jsx("span", { className: "font-mono text-[11px] uppercase tracking-[0.08em] text-ink-4", children: t("pages.focus.dailyThought.eyebrow") })] }), _jsxs("button", { type: "button", onClick: handleNext, disabled: isChanging, "aria-label": t("pages.focus.dailyThought.nextAriaLabel"), className: "inline-flex items-center gap-1.5 text-[12px] text-gov hover:text-gov-2 transition-colors disabled:opacity-50", children: [_jsx(RefreshCw, { className: "h-3 w-3", "aria-hidden": "true" }), t("pages.focus.dailyThought.next")] })] }), _jsxs("div", { className: `transition-opacity duration-200 ${isChanging ? "opacity-0" : "opacity-100"}`, children: [_jsx("p", { className: "font-semibold text-ink text-[15px] leading-snug", children: content.quote }), _jsxs("p", { className: "mt-1 text-ink-3 text-[13px]", children: [t("pages.focus.dailyThought.authorPrefix", { defaultValue: "——" }), content.author] }), _jsx("p", { className: "mt-3 text-ink-3 text-[13px] leading-relaxed", children: content.note })] })] }));
|
|
41
|
+
}
|
|
@@ -3,6 +3,7 @@ import { Link, useLocation, useNavigate } from "react-router-dom";
|
|
|
3
3
|
import { Sun, Moon, Focus, AlertTriangle, BookOpen, Zap, Archive, Settings, MessageSquare, RefreshCw, LogOut, Languages, } from "lucide-react";
|
|
4
4
|
import { useTheme } from "../theme-provider.js";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
|
+
import { useNotifications } from "../notifications/useNotifications.js";
|
|
6
7
|
import { clearToken } from "../../api.js";
|
|
7
8
|
import { cn } from "../../../lib/utils.js";
|
|
8
9
|
function ThresholdMark({ className }) {
|
|
@@ -26,6 +27,7 @@ export function AppSidebar() {
|
|
|
26
27
|
const navigate = useNavigate();
|
|
27
28
|
const { theme, setTheme } = useTheme();
|
|
28
29
|
const { t, i18n } = useTranslation();
|
|
30
|
+
const { pendingCount, degradedCount } = useNotifications();
|
|
29
31
|
const isActive = (href) => {
|
|
30
32
|
if (href === "/")
|
|
31
33
|
return location.pathname === "/";
|
|
@@ -43,14 +45,14 @@ export function AppSidebar() {
|
|
|
43
45
|
return (_jsxs("aside", { className: "w-[256px] h-screen fixed left-0 top-0 flex flex-col bg-surface border-r border-line flex-shrink-0 z-20", children: [_jsx("div", { className: "px-5 pt-5 pb-4", children: _jsxs("div", { className: "flex items-center gap-2.5", children: [_jsx(ThresholdMark, { className: "w-6 h-6 text-gov" }), _jsxs("div", { children: [_jsx("div", { className: "font-mono text-[14px] tracking-[0.16em] font-bold text-ink", children: "PD" }), _jsx("div", { className: "font-mono text-[10px] tracking-[0.14em] text-ink-3", children: "GOVERNANCE WORKSPACE" })] })] }) }), _jsxs("nav", { className: "flex-1 py-2 overflow-y-auto", children: [_jsx("div", { className: "px-2", children: mainNavItems.map((item) => {
|
|
44
46
|
const Icon = item.icon;
|
|
45
47
|
const active = isActive(item.href);
|
|
46
|
-
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-
|
|
48
|
+
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
|
|
47
49
|
? "border-l-2 border-l-gov bg-paper-2 text-ink"
|
|
48
|
-
: "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.
|
|
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 }) })) : item.shortcut ? (_jsx("span", { className: "text-ink-4 font-mono text-[11px]", children: item.shortcut })) : null] }, item.id));
|
|
49
51
|
}) }), _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) => {
|
|
50
52
|
const Icon = item.icon;
|
|
51
53
|
const active = isActive(item.href);
|
|
52
|
-
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-
|
|
54
|
+
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
|
|
53
55
|
? "border-l-2 border-l-gov bg-paper-2 text-ink"
|
|
54
|
-
: "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.
|
|
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 }) })) : item.shortcut ? (_jsx("span", { className: "text-ink-4 font-mono text-[11px]", children: item.shortcut })) : null] }, item.id));
|
|
55
57
|
}) })] })] }), _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" })] })] })] }));
|
|
56
58
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable loading skeleton for full-page loading states.
|
|
3
|
+
* Shows a title skeleton + N card skeletons with a subtle fade-in.
|
|
4
|
+
* Replaces plain "Loading…" text across all pages for consistent perceived performance.
|
|
5
|
+
*
|
|
6
|
+
* Accessibility: the root container is a live region (role="status" aria-live="polite")
|
|
7
|
+
* with a localized aria-label, so screen readers announce the loading state.
|
|
8
|
+
* Callers MUST pass a localized `label` (e.g. t("common.loading")).
|
|
9
|
+
*/
|
|
10
|
+
export declare function PageLoading({ cardCount, label, }: {
|
|
11
|
+
cardCount?: number;
|
|
12
|
+
label: string;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Skeleton } from "../ui/skeleton.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reusable loading skeleton for full-page loading states.
|
|
5
|
+
* Shows a title skeleton + N card skeletons with a subtle fade-in.
|
|
6
|
+
* Replaces plain "Loading…" text across all pages for consistent perceived performance.
|
|
7
|
+
*
|
|
8
|
+
* Accessibility: the root container is a live region (role="status" aria-live="polite")
|
|
9
|
+
* with a localized aria-label, so screen readers announce the loading state.
|
|
10
|
+
* Callers MUST pass a localized `label` (e.g. t("common.loading")).
|
|
11
|
+
*/
|
|
12
|
+
export function PageLoading({ cardCount = 3, label, }) {
|
|
13
|
+
return (_jsxs("div", { className: "animate-[pdFadeIn_200ms_ease-out]", role: "status", "aria-live": "polite", "aria-label": label, children: [_jsx(Skeleton, { className: "h-8 w-[60%] rounded-[4px] mb-3" }), _jsx(Skeleton, { className: "h-4 w-[80%] rounded-sm mb-2" }), _jsx(Skeleton, { className: "h-4 w-[50%] rounded-sm mb-8" }), _jsx("div", { className: "space-y-4", children: Array.from({ length: cardCount }).map((_, i) => (_jsxs("div", { className: "bg-panel border border-line rounded-[var(--radius-md)] p-4", children: [_jsxs("div", { className: "flex items-center gap-2 mb-3", children: [_jsx(Skeleton, { className: "h-5 w-20 rounded-[2px]" }), _jsx(Skeleton, { className: "h-5 w-16 rounded-[2px]" })] }), _jsx(Skeleton, { className: "h-4 w-full rounded-sm mb-2" }), _jsx(Skeleton, { className: "h-4 w-[75%] rounded-sm mb-4" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Skeleton, { className: "h-3.5 w-24 rounded-sm" }), _jsx(Skeleton, { className: "h-3.5 w-20 rounded-sm" })] })] }, i))) })] }));
|
|
14
|
+
}
|
|
@@ -6,6 +6,7 @@ interface PageShellProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
6
6
|
* 712px centered container — the "slow thinking" physical layout.
|
|
7
7
|
* Blueprint grid background is on body (globals.css), this adds
|
|
8
8
|
* the centered content column with generous whitespace.
|
|
9
|
+
* Includes a subtle fade-in on mount for page transitions.
|
|
9
10
|
*/
|
|
10
11
|
export declare function PageShell({ children, className, ...props }: PageShellProps): import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export {};
|
|
@@ -4,7 +4,8 @@ import { cn } from "../../../lib/utils.js";
|
|
|
4
4
|
* 712px centered container — the "slow thinking" physical layout.
|
|
5
5
|
* Blueprint grid background is on body (globals.css), this adds
|
|
6
6
|
* the centered content column with generous whitespace.
|
|
7
|
+
* Includes a subtle fade-in on mount for page transitions.
|
|
7
8
|
*/
|
|
8
9
|
export function PageShell({ children, className, ...props }) {
|
|
9
|
-
return (_jsx("div", { className: cn("mx-auto max-w-[712px] px-6 py-8", className), ...props, children: children }));
|
|
10
|
+
return (_jsx("div", { className: cn("mx-auto max-w-[712px] px-6 py-8 animate-[pdFadeIn_200ms_ease-out]", className), ...props, children: children }));
|
|
10
11
|
}
|
|
@@ -5,5 +5,5 @@ import { cn } from "../../../lib/utils.js";
|
|
|
5
5
|
* Used for governance page section headings.
|
|
6
6
|
*/
|
|
7
7
|
export function SectionTitle({ children, className, ...props }) {
|
|
8
|
-
return (_jsx("h2", { className: cn("font-mono text-[11px] uppercase tracking-[
|
|
8
|
+
return (_jsx("h2", { className: cn("font-mono text-[11px] uppercase tracking-[var(--tracking-wide)] text-ink-3", "border-b border-line pb-2 mb-4", className), ...props, children: children }));
|
|
9
9
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export type NotificationState = {
|
|
3
|
+
pendingCount: number;
|
|
4
|
+
degradedCount: number;
|
|
5
|
+
soundEnabled: boolean;
|
|
6
|
+
};
|
|
7
|
+
export type NotificationContextValue = NotificationState & {
|
|
8
|
+
setSoundEnabled: (enabled: boolean) => void;
|
|
9
|
+
audioUnlocked: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const NotificationContext: import("react").Context<NotificationContextValue | null>;
|
|
12
|
+
export declare function NotificationProvider({ children }: {
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useCallback, useEffect, useRef, useState, } from 'react';
|
|
3
|
+
import { fetchGovernanceQueue } from '../../api.js';
|
|
4
|
+
import { useNotificationSound } from '../../hooks/useNotificationSound.js';
|
|
5
|
+
import { diffNotificationCounts } from './notification-reducer.js';
|
|
6
|
+
import { loadSoundEnabled, saveSoundEnabled } from './sound-storage.js';
|
|
7
|
+
import { resetFaviconAndTitle, updateFaviconAndTitle } from './favicon-badge.js';
|
|
8
|
+
const POLL_INTERVAL_MS = 30000;
|
|
9
|
+
export const NotificationContext = createContext(null);
|
|
10
|
+
export function NotificationProvider({ children }) {
|
|
11
|
+
const [state, setState] = useState({
|
|
12
|
+
pendingCount: 0,
|
|
13
|
+
degradedCount: 0,
|
|
14
|
+
soundEnabled: loadSoundEnabled(),
|
|
15
|
+
});
|
|
16
|
+
const { playSound, unlockAudio, audioUnlocked } = useNotificationSound();
|
|
17
|
+
const prevCountsRef = useRef(null);
|
|
18
|
+
const hasSuccessfulPollRef = useRef(false);
|
|
19
|
+
const pollInFlightRef = useRef(false);
|
|
20
|
+
const pendingAlertWhileHiddenRef = useRef(false);
|
|
21
|
+
const degradedAlertWhileHiddenRef = useRef(false);
|
|
22
|
+
const setSoundEnabled = useCallback((enabled) => {
|
|
23
|
+
saveSoundEnabled(enabled);
|
|
24
|
+
setState((prev) => ({ ...prev, soundEnabled: enabled }));
|
|
25
|
+
}, []);
|
|
26
|
+
const poll = useCallback(async () => {
|
|
27
|
+
if (pollInFlightRef.current)
|
|
28
|
+
return;
|
|
29
|
+
pollInFlightRef.current = true;
|
|
30
|
+
try {
|
|
31
|
+
const result = await fetchGovernanceQueue();
|
|
32
|
+
if (!result.success) {
|
|
33
|
+
console.warn('Notification poll failed:', result.error);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const pendingCount = result.data.pendingReviewCount;
|
|
37
|
+
const degradedCount = result.data.degradedSignals?.length ?? 0;
|
|
38
|
+
hasSuccessfulPollRef.current = true;
|
|
39
|
+
setState((prev) => ({
|
|
40
|
+
...prev,
|
|
41
|
+
pendingCount,
|
|
42
|
+
degradedCount,
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
pollInFlightRef.current = false;
|
|
47
|
+
}
|
|
48
|
+
}, []);
|
|
49
|
+
// Initial poll + interval
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
poll();
|
|
52
|
+
const interval = setInterval(poll, POLL_INTERVAL_MS);
|
|
53
|
+
return () => clearInterval(interval);
|
|
54
|
+
}, [poll]);
|
|
55
|
+
// Play sounds when counts increase (respect hidden state)
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (!hasSuccessfulPollRef.current)
|
|
58
|
+
return;
|
|
59
|
+
if (typeof document !== 'undefined' && document.hidden) {
|
|
60
|
+
const diff = diffNotificationCounts(state, prevCountsRef.current);
|
|
61
|
+
if (state.soundEnabled && diff.pendingIncreased)
|
|
62
|
+
pendingAlertWhileHiddenRef.current = true;
|
|
63
|
+
if (state.soundEnabled && diff.degradedIncreased)
|
|
64
|
+
degradedAlertWhileHiddenRef.current = true;
|
|
65
|
+
prevCountsRef.current = {
|
|
66
|
+
pendingCount: state.pendingCount,
|
|
67
|
+
degradedCount: state.degradedCount,
|
|
68
|
+
};
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (!state.soundEnabled || !audioUnlocked) {
|
|
72
|
+
if (!state.soundEnabled) {
|
|
73
|
+
pendingAlertWhileHiddenRef.current = false;
|
|
74
|
+
degradedAlertWhileHiddenRef.current = false;
|
|
75
|
+
}
|
|
76
|
+
prevCountsRef.current = {
|
|
77
|
+
pendingCount: state.pendingCount,
|
|
78
|
+
degradedCount: state.degradedCount,
|
|
79
|
+
};
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const diff = diffNotificationCounts(state, prevCountsRef.current);
|
|
83
|
+
if (diff.pendingIncreased || pendingAlertWhileHiddenRef.current) {
|
|
84
|
+
playSound('pending');
|
|
85
|
+
pendingAlertWhileHiddenRef.current = false;
|
|
86
|
+
}
|
|
87
|
+
if (diff.degradedIncreased || degradedAlertWhileHiddenRef.current) {
|
|
88
|
+
playSound('degraded');
|
|
89
|
+
degradedAlertWhileHiddenRef.current = false;
|
|
90
|
+
}
|
|
91
|
+
prevCountsRef.current = {
|
|
92
|
+
pendingCount: state.pendingCount,
|
|
93
|
+
degradedCount: state.degradedCount,
|
|
94
|
+
};
|
|
95
|
+
}, [state, playSound, audioUnlocked]);
|
|
96
|
+
// Update favicon + title
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
updateFaviconAndTitle(state.pendingCount, state.degradedCount);
|
|
99
|
+
}, [state.pendingCount, state.degradedCount]);
|
|
100
|
+
useEffect(() => () => {
|
|
101
|
+
resetFaviconAndTitle();
|
|
102
|
+
}, []);
|
|
103
|
+
// Unlock audio on first user interaction
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
if (typeof window === 'undefined')
|
|
106
|
+
return;
|
|
107
|
+
const handleInteraction = () => {
|
|
108
|
+
unlockAudio();
|
|
109
|
+
};
|
|
110
|
+
window.addEventListener('click', handleInteraction, { once: true });
|
|
111
|
+
window.addEventListener('keydown', handleInteraction, { once: true });
|
|
112
|
+
return () => {
|
|
113
|
+
window.removeEventListener('click', handleInteraction);
|
|
114
|
+
window.removeEventListener('keydown', handleInteraction);
|
|
115
|
+
};
|
|
116
|
+
}, [unlockAudio]);
|
|
117
|
+
// Re-poll immediately when tab becomes visible
|
|
118
|
+
useEffect(() => {
|
|
119
|
+
if (typeof document === 'undefined')
|
|
120
|
+
return;
|
|
121
|
+
const handleVisibilityChange = () => {
|
|
122
|
+
if (!document.hidden) {
|
|
123
|
+
poll();
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
document.addEventListener('visibilitychange', handleVisibilityChange);
|
|
127
|
+
return () => document.removeEventListener('visibilitychange', handleVisibilityChange);
|
|
128
|
+
}, [poll]);
|
|
129
|
+
return (_jsx(NotificationContext.Provider, { value: { ...state, setSoundEnabled, audioUnlocked }, children: children }));
|
|
130
|
+
}
|