create-principles-disciple 1.81.0 → 1.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/console/dist/server/config/pd-config-store.d.ts +135 -0
- package/console/dist/server/config/pd-config-store.js +660 -0
- package/console/dist/server/index.js +40 -389
- package/console/dist/server/models/ActivationsConsoleModel.d.ts +33 -0
- package/console/dist/server/models/ActivationsConsoleModel.js +112 -0
- package/console/dist/server/models/ApprovalsConsoleModel.d.ts +5 -0
- package/console/dist/server/models/ApprovalsConsoleModel.js +14 -0
- package/console/dist/server/models/ApprovalsGroupedConsoleModel.d.ts +25 -0
- package/console/dist/server/models/ApprovalsGroupedConsoleModel.js +126 -0
- package/console/dist/server/models/ConsoleLifecycleDatasource.d.ts +13 -0
- package/console/dist/server/models/ConsoleLifecycleDatasource.js +73 -0
- package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +58 -0
- package/console/dist/server/models/EvidenceChainConsoleModel.js +493 -0
- package/console/dist/server/models/GovernanceConsoleModel.d.ts +74 -0
- package/console/dist/server/models/GovernanceConsoleModel.js +246 -0
- package/console/dist/server/models/HealthCheckModel.d.ts +0 -4
- package/console/dist/server/models/HealthCheckModel.js +49 -80
- package/console/dist/server/models/LifecycleConsoleModel.d.ts +19 -0
- package/console/dist/server/models/LifecycleConsoleModel.js +55 -0
- package/console/dist/server/models/PrincipleClassifier.d.ts +41 -0
- package/console/dist/server/models/PrincipleClassifier.js +100 -0
- package/console/dist/server/models/PrinciplesConsoleModel.d.ts +12 -1
- package/console/dist/server/models/PrinciplesConsoleModel.js +53 -6
- package/console/dist/server/models/WorkspaceService.d.ts +2 -1
- package/console/dist/server/models/WorkspaceService.js +51 -23
- package/console/dist/server/routes/activations.d.ts +3 -0
- package/console/dist/server/routes/activations.js +111 -0
- package/console/dist/server/routes/approvals-grouped.d.ts +3 -0
- package/console/dist/server/routes/approvals-grouped.js +32 -0
- package/console/dist/server/routes/approvals.js +28 -4
- package/console/dist/server/routes/config.d.ts +27 -0
- package/console/dist/server/routes/config.js +213 -0
- package/console/dist/server/routes/evidence-chain.d.ts +9 -0
- package/console/dist/server/routes/evidence-chain.js +32 -0
- package/console/dist/server/routes/governance.d.ts +3 -0
- package/console/dist/server/routes/governance.js +32 -0
- package/console/dist/server/routes/{evolution.d.ts → lifecycle.d.ts} +2 -2
- package/console/dist/server/routes/lifecycle.js +48 -0
- package/console/dist/server/routes/principles.js +74 -1
- package/console/dist/server/routes/workspaces.js +8 -1
- package/console/dist/server/utils/response.d.ts +1 -1
- package/console/dist/server/utils/response.js +6 -2
- package/console/dist/types.d.ts +1 -0
- package/console/dist/ui/App.js +116 -40
- package/console/dist/ui/api.d.ts +88 -501
- package/console/dist/ui/api.js +139 -162
- package/console/dist/ui/components/approval-card.js +1 -1
- package/console/dist/ui/components/approval-detail-dialog.js +1 -1
- package/console/dist/ui/components/auth/login-form.d.ts +3 -0
- package/console/dist/ui/components/auth/login-form.js +36 -0
- package/console/dist/ui/components/auth/splash-screen.d.ts +8 -0
- package/console/dist/ui/components/auth/splash-screen.js +22 -0
- package/console/dist/ui/components/layout/app-sidebar.d.ts +1 -0
- package/console/dist/ui/components/layout/app-sidebar.js +56 -0
- package/console/dist/ui/components/layout/page-shell.d.ts +11 -0
- package/console/dist/ui/components/layout/page-shell.js +10 -0
- package/console/dist/ui/components/layout/section-title.d.ts +10 -0
- package/console/dist/ui/components/layout/section-title.js +9 -0
- package/console/dist/ui/components/theme-provider.d.ts +1 -1
- package/console/dist/ui/components/theme-provider.js +13 -8
- package/console/dist/ui/components/theme-toggle.js +2 -21
- package/console/dist/ui/components/ui/badge.d.ts +1 -1
- package/console/dist/ui/components/ui/badge.js +7 -5
- package/console/dist/ui/components/ui/button.d.ts +2 -2
- package/console/dist/ui/components/ui/button.js +12 -11
- package/console/dist/ui/components/ui/card.js +6 -6
- package/console/dist/ui/components/ui/sheet.d.ts +1 -1
- package/console/dist/ui/i18n/en.json +401 -343
- package/console/dist/ui/i18n/index.js +2 -2
- package/console/dist/ui/i18n/zh-CN.json +406 -348
- package/console/dist/ui/main.d.ts +1 -1
- package/console/dist/ui/main.js +1 -0
- package/console/dist/ui/pages/activation/ActivationPage.d.ts +1 -0
- package/console/dist/ui/pages/activation/ActivationPage.js +150 -0
- package/console/dist/ui/pages/activation/ActivationValidators.d.ts +20 -0
- package/console/dist/ui/pages/activation/ActivationValidators.js +156 -0
- package/console/dist/ui/pages/control-center/ControlCenterPage.d.ts +1 -0
- package/console/dist/ui/pages/control-center/ControlCenterPage.js +447 -0
- package/console/dist/ui/pages/debt/DebtPage.d.ts +1 -0
- package/console/dist/ui/pages/debt/DebtPage.js +5 -0
- package/console/dist/ui/pages/design-system/DesignSystemPage.d.ts +1 -0
- package/console/dist/ui/pages/design-system/DesignSystemPage.js +30 -0
- package/console/dist/ui/pages/focus/FocusPage.d.ts +1 -0
- package/console/dist/ui/pages/focus/FocusPage.js +265 -0
- package/console/dist/ui/pages/pain/PainEvidenceValidators.d.ts +59 -0
- package/console/dist/ui/pages/pain/PainEvidenceValidators.js +125 -0
- package/console/dist/ui/pages/pain/PainPage.js +136 -0
- package/console/dist/ui/pages/principles/PrincipleDetailPage.js +264 -0
- package/console/dist/ui/pages/principles/PrinciplesPage.js +244 -0
- package/console/dist/ui/pages/report-problem/ReportProblemPage.js +245 -0
- package/console/dist/ui/pages/settings/SettingsPage.d.ts +4 -0
- package/console/dist/ui/pages/settings/SettingsPage.js +202 -0
- package/console/dist/ui/pages/settings/UpdatePage.d.ts +5 -0
- package/console/dist/ui/pages/settings/UpdatePage.js +168 -0
- package/console/dist/ui/utils/control-center-helpers.d.ts +58 -0
- package/console/dist/ui/utils/control-center-helpers.js +152 -0
- package/console/dist/ui/utils/validators.d.ts +350 -0
- package/console/dist/ui/utils/validators.js +995 -0
- package/console/dist/web/assets/app.css +672 -902
- package/console/dist/web/assets/app.js +6404 -15347
- package/console/dist/web/assets/jetbrains-mono-cyrillic-400-normal-C5JECUCT.woff2 +0 -0
- package/console/dist/web/assets/jetbrains-mono-cyrillic-400-normal-FGCZYWMY.woff +0 -0
- package/console/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-C7IFWGF6.woff2 +0 -0
- package/console/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-PWXUA557.woff +0 -0
- package/console/dist/web/assets/jetbrains-mono-greek-400-normal-JJNQZMPZ.woff +0 -0
- package/console/dist/web/assets/jetbrains-mono-greek-400-normal-O7JTTR3P.woff2 +0 -0
- package/console/dist/web/assets/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2 +0 -0
- package/console/dist/web/assets/jetbrains-mono-latin-400-normal-WDD34GPP.woff +0 -0
- package/console/dist/web/assets/jetbrains-mono-latin-ext-400-normal-55RNMRQS.woff +0 -0
- package/console/dist/web/assets/jetbrains-mono-latin-ext-400-normal-JVR3IR4Z.woff2 +0 -0
- package/console/dist/web/assets/jetbrains-mono-vietnamese-400-normal-7ULXAK72.woff +0 -0
- package/console/dist/web/assets/jetbrains-mono-vietnamese-400-normal-KU7YLUPA.woff2 +0 -0
- package/console/package.json +2 -1
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js +49 -0
- package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +16 -1
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts +21 -0
- package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +354 -0
- package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/language-directive.test.d.ts +12 -0
- package/core/dist/runtime-v2/__tests__/language-directive.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/language-directive.test.js +162 -0
- package/core/dist/runtime-v2/__tests__/language-directive.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +23 -1
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +48 -3
- package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +13 -1
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts +12 -0
- package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js +194 -0
- package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/runtime-config-boundary.test.js +5 -3
- package/core/dist/runtime-v2/__tests__/runtime-config-boundary.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +1 -0
- package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js +54 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js +15 -2
- package/core/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +10 -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 +17 -2
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +36 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.js +1 -1
- package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/core/dist/runtime-v2/activation/activation-types.d.ts +10 -0
- package/core/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/activation-types.js.map +1 -1
- package/core/dist/runtime-v2/activation/approval-queue.d.ts +6 -0
- package/core/dist/runtime-v2/activation/approval-queue.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/approval-queue.js +3 -0
- package/core/dist/runtime-v2/activation/approval-queue.js.map +1 -1
- package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts +2 -0
- 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 +17 -1
- 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 +6 -0
- package/core/dist/runtime-v2/activation/memory-approval-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/memory-approval-store.js +16 -0
- package/core/dist/runtime-v2/activation/memory-approval-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/prompt-activation-reader-contract.js +1 -1
- package/core/dist/runtime-v2/activation/prompt-activation-reader-contract.js.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +2 -0
- 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 +34 -6
- 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 +6 -0
- package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js +10 -0
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +51 -1
- package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js +145 -0
- package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js.map +1 -1
- package/core/dist/runtime-v2/adapter/json-extractor.d.ts +13 -0
- package/core/dist/runtime-v2/adapter/json-extractor.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/json-extractor.js +103 -0
- package/core/dist/runtime-v2/adapter/json-extractor.js.map +1 -1
- package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts +4 -2
- package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
- package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +57 -5
- package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts +18 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +633 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.d.ts +13 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +447 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.d.ts +12 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +525 -0
- package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -0
- package/core/dist/runtime-v2/config/index.d.ts +3 -1
- package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/index.js +1 -0
- package/core/dist/runtime-v2/config/index.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts +93 -0
- package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/pd-config-agent-binding.js +184 -0
- package/core/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -0
- package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-defaults.js +2 -0
- 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 +3 -0
- package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +8 -0
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +13 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +97 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +3 -2
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician-prompt-builder.js +6 -4
- package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/evidence-sanitizer.d.ts +57 -0
- package/core/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-sanitizer.js +213 -0
- package/core/dist/runtime-v2/evidence-sanitizer.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts +7 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js +170 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts +18 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js +277 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts +13 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js +264 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts +16 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js +316 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts +126 -0
- package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/admission-events.js +159 -0
- package/core/dist/runtime-v2/evidence-triage/admission-events.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/index.d.ts +16 -0
- package/core/dist/runtime-v2/evidence-triage/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/index.js +13 -0
- package/core/dist/runtime-v2/evidence-triage/index.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +48 -0
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +131 -0
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts +32 -0
- package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/triage-policy.js +95 -0
- package/core/dist/runtime-v2/evidence-triage/triage-policy.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/trigger-controller.d.ts +116 -0
- package/core/dist/runtime-v2/evidence-triage/trigger-controller.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/trigger-controller.js +218 -0
- package/core/dist/runtime-v2/evidence-triage/trigger-controller.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/types.d.ts +65 -0
- package/core/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/types.js +38 -0
- package/core/dist/runtime-v2/evidence-triage/types.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +10 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.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 +1 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +8 -1
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +7 -1
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts +12 -0
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +83 -0
- package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +10 -0
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +13 -1
- package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts +3 -0
- package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/scribe-runner.js +2 -0
- package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +1 -1
- package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
- package/core/dist/runtime-v2/language-directive.d.ts +80 -0
- package/core/dist/runtime-v2/language-directive.d.ts.map +1 -0
- package/core/dist/runtime-v2/language-directive.js +108 -0
- package/core/dist/runtime-v2/language-directive.js.map +1 -0
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +24 -11
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +16 -0
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js +97 -6
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts +7 -0
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.js +2 -0
- package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
- package/core/dist/runtime-v2/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/runner/__tests__/diagnostician-runner.test.js +40 -0
- package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +1 -1
- package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/runner/base-peer-runner.js +1 -0
- package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +10 -0
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +1 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.js +1 -0
- package/core/dist/runtime-v2/runner/diagnostician-runner-options.js.map +1 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/runner/diagnostician-runner.js +28 -4
- package/core/dist/runtime-v2/runner/diagnostician-runner.js.map +1 -1
- package/core/dist/runtime-v2/runner/peer-runner-types.d.ts +9 -0
- package/core/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/runtime-state-manager.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/runtime-state-manager.integration.test.js +34 -1
- package/core/dist/runtime-v2/store/runtime-state-manager.integration.test.js.map +1 -1
- package/core/dist/runtime-v2/store/runtime-state-manager.js +1 -0
- package/core/dist/runtime-v2/store/runtime-state-manager.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 +9 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/core/dist/runtime-v2/store/task/sqlite-task-store.js +1 -1
- package/core/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
- package/core/dist/runtime-v2/task-status.d.ts +4 -4
- package/core/dist/runtime-v2/task-status.d.ts.map +1 -1
- package/core/dist/runtime-v2/task-status.js +2 -2
- package/core/dist/runtime-v2/task-status.js.map +1 -1
- package/core/package.json +1 -1
- package/dist/installer.js +1 -1
- package/dist/installer.js.map +1 -1
- package/package.json +2 -2
- package/pd-cli/dist/commands/console.d.ts +2 -0
- package/pd-cli/dist/commands/console.d.ts.map +1 -1
- package/pd-cli/dist/commands/console.js +6 -1
- package/pd-cli/dist/commands/console.js.map +1 -1
- package/pd-cli/dist/commands/diagnose.d.ts.map +1 -1
- package/pd-cli/dist/commands/diagnose.js +18 -1
- package/pd-cli/dist/commands/diagnose.js.map +1 -1
- package/pd-cli/dist/commands/pain-evidence.d.ts +41 -0
- package/pd-cli/dist/commands/pain-evidence.d.ts.map +1 -0
- package/pd-cli/dist/commands/pain-evidence.js +177 -0
- package/pd-cli/dist/commands/pain-evidence.js.map +1 -0
- package/pd-cli/dist/commands/pain-record.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-record.js +24 -9
- package/pd-cli/dist/commands/pain-record.js.map +1 -1
- package/pd-cli/dist/commands/pain-retry.d.ts +19 -0
- package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -0
- package/pd-cli/dist/commands/pain-retry.js +485 -0
- package/pd-cli/dist/commands/pain-retry.js.map +1 -0
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +59 -9
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/dist/commands/runtime-uat.d.ts +1 -0
- package/pd-cli/dist/commands/runtime-uat.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-uat.guard.test.d.ts +2 -0
- package/pd-cli/dist/commands/runtime-uat.guard.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/runtime-uat.guard.test.js +155 -0
- package/pd-cli/dist/commands/runtime-uat.guard.test.js.map +1 -0
- package/pd-cli/dist/commands/runtime-uat.js +29 -3
- package/pd-cli/dist/commands/runtime-uat.js.map +1 -1
- package/pd-cli/dist/config-reader.d.ts +25 -0
- package/pd-cli/dist/config-reader.d.ts.map +1 -0
- package/pd-cli/dist/config-reader.js +109 -0
- package/pd-cli/dist/config-reader.js.map +1 -0
- package/pd-cli/dist/index.js +40 -5
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/console-launcher.d.ts.map +1 -1
- package/pd-cli/dist/services/console-launcher.js +29 -15
- package/pd-cli/dist/services/console-launcher.js.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.js +1 -0
- package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
- package/pd-cli/dist/utils/production-workspace-guard.d.ts +77 -0
- package/pd-cli/dist/utils/production-workspace-guard.d.ts.map +1 -0
- package/pd-cli/dist/utils/production-workspace-guard.js +170 -0
- package/pd-cli/dist/utils/production-workspace-guard.js.map +1 -0
- package/pd-cli/dist/utils/production-workspace-guard.test.d.ts +2 -0
- package/pd-cli/dist/utils/production-workspace-guard.test.d.ts.map +1 -0
- package/pd-cli/dist/utils/production-workspace-guard.test.js +95 -0
- package/pd-cli/dist/utils/production-workspace-guard.test.js.map +1 -0
- package/pd-cli/package.json +1 -1
- package/plugin/dist/commands/pain.js +27 -2
- package/plugin/dist/core/pain-diagnostic-gate.d.ts +6 -0
- package/plugin/dist/core/pain-diagnostic-gate.js +9 -0
- package/plugin/dist/hooks/after-tool-call-helpers.d.ts +90 -0
- package/plugin/dist/hooks/after-tool-call-helpers.js +486 -0
- package/plugin/dist/hooks/after-tool-call-types.d.ts +92 -0
- package/plugin/dist/hooks/after-tool-call-types.js +13 -0
- package/plugin/dist/hooks/gate-block-helper.js +73 -29
- package/plugin/dist/hooks/llm.js +49 -29
- package/plugin/dist/hooks/message-sanitize.d.ts +21 -0
- package/plugin/dist/hooks/message-sanitize.js +30 -0
- package/plugin/dist/hooks/pain.d.ts +26 -3
- package/plugin/dist/hooks/pain.js +165 -425
- package/plugin/dist/hooks/prompt.js +3 -2
- package/plugin/dist/hooks/trajectory-evidence.d.ts +11 -0
- package/plugin/dist/hooks/trajectory-evidence.js +65 -0
- package/plugin/dist/hooks/triage-adapter.d.ts +82 -0
- package/plugin/dist/hooks/triage-adapter.js +121 -0
- package/console/dist/server/models/EventLogReadModel.d.ts +0 -33
- package/console/dist/server/models/EventLogReadModel.js +0 -218
- package/console/dist/server/models/EvolutionConsoleModel.d.ts +0 -79
- package/console/dist/server/models/EvolutionConsoleModel.js +0 -179
- package/console/dist/server/models/FeedbackConsoleModel.d.ts +0 -38
- package/console/dist/server/models/FeedbackConsoleModel.js +0 -129
- package/console/dist/server/models/GateConsoleModel.d.ts +0 -50
- package/console/dist/server/models/GateConsoleModel.js +0 -151
- package/console/dist/server/models/OverviewConsoleModel.d.ts +0 -22
- package/console/dist/server/models/OverviewConsoleModel.js +0 -202
- package/console/dist/server/models/PipelineStatsModel.d.ts +0 -35
- package/console/dist/server/models/PipelineStatsModel.js +0 -129
- package/console/dist/server/models/SampleConsoleModel.d.ts +0 -21
- package/console/dist/server/models/SampleConsoleModel.js +0 -188
- package/console/dist/server/models/ThinkingModelsConsoleModel.d.ts +0 -22
- package/console/dist/server/models/ThinkingModelsConsoleModel.js +0 -75
- package/console/dist/server/routes/agents.d.ts +0 -3
- package/console/dist/server/routes/agents.js +0 -442
- package/console/dist/server/routes/central.d.ts +0 -5
- package/console/dist/server/routes/central.js +0 -31
- package/console/dist/server/routes/events.d.ts +0 -10
- package/console/dist/server/routes/events.js +0 -99
- package/console/dist/server/routes/evolution.js +0 -73
- package/console/dist/server/routes/feedback.d.ts +0 -3
- package/console/dist/server/routes/feedback.js +0 -65
- package/console/dist/server/routes/gates.d.ts +0 -3
- package/console/dist/server/routes/gates.js +0 -52
- package/console/dist/server/routes/overview.d.ts +0 -3
- package/console/dist/server/routes/overview.js +0 -49
- package/console/dist/server/routes/pipeline.d.ts +0 -3
- package/console/dist/server/routes/pipeline.js +0 -33
- package/console/dist/server/routes/samples.d.ts +0 -3
- package/console/dist/server/routes/samples.js +0 -101
- package/console/dist/server/routes/thinking-models.d.ts +0 -3
- package/console/dist/server/routes/thinking-models.js +0 -54
- package/console/dist/ui/components/app-sidebar.d.ts +0 -7
- package/console/dist/ui/components/app-sidebar.js +0 -75
- package/console/dist/ui/components/compare-view.d.ts +0 -7
- package/console/dist/ui/components/compare-view.js +0 -32
- package/console/dist/ui/components/data-freshness-indicator.d.ts +0 -10
- package/console/dist/ui/components/data-freshness-indicator.js +0 -63
- package/console/dist/ui/components/health-diagnostic-card.d.ts +0 -15
- package/console/dist/ui/components/health-diagnostic-card.js +0 -42
- package/console/dist/ui/components/page-header.d.ts +0 -10
- package/console/dist/ui/components/page-header.js +0 -37
- package/console/dist/ui/hooks/useAutoRefresh.d.ts +0 -13
- package/console/dist/ui/hooks/useAutoRefresh.js +0 -64
- package/console/dist/ui/hooks/useBookmarks.d.ts +0 -6
- package/console/dist/ui/hooks/useBookmarks.js +0 -43
- package/console/dist/ui/hooks/useDebounce.d.ts +0 -2
- package/console/dist/ui/hooks/useDebounce.js +0 -32
- package/console/dist/ui/hooks/useKeyboardNavigation.d.ts +0 -14
- package/console/dist/ui/hooks/useKeyboardNavigation.js +0 -75
- package/console/dist/ui/pages/AgentsPage.d.ts +0 -1
- package/console/dist/ui/pages/AgentsPage.js +0 -167
- package/console/dist/ui/pages/ApprovalsPage.d.ts +0 -1
- package/console/dist/ui/pages/ApprovalsPage.js +0 -123
- package/console/dist/ui/pages/CentralPage.d.ts +0 -1
- package/console/dist/ui/pages/CentralPage.js +0 -57
- package/console/dist/ui/pages/DataFlowPage.d.ts +0 -1
- package/console/dist/ui/pages/DataFlowPage.js +0 -158
- package/console/dist/ui/pages/EventLogPage.d.ts +0 -1
- package/console/dist/ui/pages/EventLogPage.js +0 -176
- package/console/dist/ui/pages/EvolutionPage.d.ts +0 -1
- package/console/dist/ui/pages/EvolutionPage.js +0 -118
- package/console/dist/ui/pages/FeedbackPage.d.ts +0 -1
- package/console/dist/ui/pages/FeedbackPage.js +0 -46
- package/console/dist/ui/pages/GatesPage.d.ts +0 -1
- package/console/dist/ui/pages/GatesPage.js +0 -31
- package/console/dist/ui/pages/LoginPage.d.ts +0 -5
- package/console/dist/ui/pages/LoginPage.js +0 -39
- package/console/dist/ui/pages/OverviewPage.d.ts +0 -1
- package/console/dist/ui/pages/OverviewPage.js +0 -50
- package/console/dist/ui/pages/PainPage.js +0 -50
- package/console/dist/ui/pages/PrincipleDetailPage.js +0 -145
- package/console/dist/ui/pages/PrinciplesPage.js +0 -322
- package/console/dist/ui/pages/ReportProblemPage.js +0 -186
- package/console/dist/ui/pages/SamplesPage.d.ts +0 -1
- package/console/dist/ui/pages/SamplesPage.js +0 -105
- package/console/dist/ui/pages/SettingsPage.d.ts +0 -1
- package/console/dist/ui/pages/SettingsPage.js +0 -86
- package/console/dist/ui/pages/TasksPage.d.ts +0 -1
- package/console/dist/ui/pages/TasksPage.js +0 -373
- package/console/dist/ui/pages/ThinkingModelsPage.d.ts +0 -1
- package/console/dist/ui/pages/ThinkingModelsPage.js +0 -32
- package/console/dist/ui/pages/UpdatePage.d.ts +0 -1
- package/console/dist/ui/pages/UpdatePage.js +0 -142
- /package/console/dist/ui/pages/{PainPage.d.ts → pain/PainPage.d.ts} +0 -0
- /package/console/dist/ui/pages/{PrincipleDetailPage.d.ts → principles/PrincipleDetailPage.d.ts} +0 -0
- /package/console/dist/ui/pages/{PrinciplesPage.d.ts → principles/PrinciplesPage.d.ts} +0 -0
- /package/console/dist/ui/pages/{ReportProblemPage.d.ts → report-problem/ReportProblemPage.d.ts} +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Runtime Binding Resolution — PRI-306
|
|
3
|
+
*
|
|
4
|
+
* Pure functions that resolve which RuntimeProfile an internal agent uses,
|
|
5
|
+
* check readiness, and produce adapter configuration.
|
|
6
|
+
*
|
|
7
|
+
* No I/O — env var access is injected via getEnvVar callback.
|
|
8
|
+
* No `as` casts on untrusted data (ERR-001).
|
|
9
|
+
* Missing fields fail loud with reason + nextAction (ERR-002, ERR-009).
|
|
10
|
+
* Uses Object.hasOwn() for key checks (ERR-013).
|
|
11
|
+
*/
|
|
12
|
+
import type { EffectivePdConfig, InternalAgentName, RuntimeProfile } from './pd-config-types.js';
|
|
13
|
+
export interface AgentRuntimeBindingOk {
|
|
14
|
+
ok: true;
|
|
15
|
+
/** The resolved runtime profile */
|
|
16
|
+
profile: RuntimeProfile;
|
|
17
|
+
/** The profile ID in the runtimeProfiles map */
|
|
18
|
+
profileId: string;
|
|
19
|
+
/** How this binding was resolved: 'agent_override' = per-agent override, 'default_runtime' = fallback to defaultRuntime */
|
|
20
|
+
source: 'agent_override' | 'default_runtime';
|
|
21
|
+
}
|
|
22
|
+
export interface AgentRuntimeBindingErr {
|
|
23
|
+
ok: false;
|
|
24
|
+
/** Readiness status */
|
|
25
|
+
readiness: 'needs_setup' | 'not_ready' | 'disabled';
|
|
26
|
+
/** Human-readable reason */
|
|
27
|
+
reason: string;
|
|
28
|
+
/** Actionable next step */
|
|
29
|
+
nextAction: string;
|
|
30
|
+
}
|
|
31
|
+
export type AgentRuntimeBindingResult = AgentRuntimeBindingOk | AgentRuntimeBindingErr;
|
|
32
|
+
export interface AgentRuntimeReadinessResult {
|
|
33
|
+
readiness: 'ready' | 'not_ready' | 'needs_setup';
|
|
34
|
+
reason?: string;
|
|
35
|
+
nextAction?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface PiAiAdapterConfigResult {
|
|
38
|
+
runtimeKind: 'pi-ai';
|
|
39
|
+
provider: string;
|
|
40
|
+
model: string;
|
|
41
|
+
apiKeyEnv: string;
|
|
42
|
+
baseUrl?: string;
|
|
43
|
+
timeoutMs?: number;
|
|
44
|
+
workspace: string;
|
|
45
|
+
}
|
|
46
|
+
export interface OpenClawAdapterConfigResult {
|
|
47
|
+
runtimeKind: 'openclaw-cli';
|
|
48
|
+
workspaceDir: string;
|
|
49
|
+
/** 'default' = delegate to OpenClaw's own mode resolution (CLI flags, workflows.yaml).
|
|
50
|
+
* 'local' | 'gateway' = explicit mode from profile config. */
|
|
51
|
+
openclawMode: 'local' | 'gateway' | 'default';
|
|
52
|
+
}
|
|
53
|
+
export type AdapterConfigResult = PiAiAdapterConfigResult | OpenClawAdapterConfigResult;
|
|
54
|
+
/**
|
|
55
|
+
* Resolve which RuntimeProfile an internal agent should use.
|
|
56
|
+
*
|
|
57
|
+
* Resolution order:
|
|
58
|
+
* 1. Per-agent override (agent.runtimeProfile) → source: 'agent_override'
|
|
59
|
+
* 2. defaultRuntime → source: 'default_runtime'
|
|
60
|
+
*
|
|
61
|
+
* If the resolved profile ID doesn't exist in runtimeProfiles, returns an error.
|
|
62
|
+
* If the agent is disabled, returns a disabled result.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveAgentRuntimeBinding(effective: EffectivePdConfig, agentName: InternalAgentName): AgentRuntimeBindingResult;
|
|
65
|
+
/**
|
|
66
|
+
* Check whether a RuntimeProfile is ready for use.
|
|
67
|
+
*
|
|
68
|
+
* For openclaw profiles:
|
|
69
|
+
* - source=default → ready (delegated to OpenClaw)
|
|
70
|
+
* - provider+model set → ready
|
|
71
|
+
* - otherwise → needs_setup
|
|
72
|
+
*
|
|
73
|
+
* For pi-ai profiles:
|
|
74
|
+
* - provider, model, apiKeyEnv all set AND apiKeyEnv exists in env → ready
|
|
75
|
+
* - apiKeyEnv missing from env → not_ready (config is correct but env is not set up)
|
|
76
|
+
* - provider or model missing → needs_setup (config is incomplete)
|
|
77
|
+
*
|
|
78
|
+
* The getEnvVar callback is injected to avoid process.env access in core.
|
|
79
|
+
*/
|
|
80
|
+
export declare function checkAgentRuntimeReadiness(profile: RuntimeProfile, getEnvVar: (name: string) => string | undefined): AgentRuntimeReadinessResult;
|
|
81
|
+
/**
|
|
82
|
+
* Transform a RuntimeProfile into adapter configuration.
|
|
83
|
+
*
|
|
84
|
+
* For pi-ai profiles: produces PiAiAdapterConfigResult with all fields needed
|
|
85
|
+
* to construct a PiAiRuntimeAdapter.
|
|
86
|
+
*
|
|
87
|
+
* For openclaw profiles: produces OpenClawAdapterConfigResult.
|
|
88
|
+
* OpenClaw profiles do NOT copy secrets — they only reference provider/model.
|
|
89
|
+
*
|
|
90
|
+
* This is a pure data transform. No I/O, no env access.
|
|
91
|
+
*/
|
|
92
|
+
export declare function createAdapterConfigFromProfile(profile: RuntimeProfile, workspaceDir: string): AdapterConfigResult;
|
|
93
|
+
//# sourceMappingURL=pd-config-agent-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-config-agent-binding.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-agent-binding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EAGf,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,IAAI,CAAC;IACT,mCAAmC;IACnC,OAAO,EAAE,cAAc,CAAC;IACxB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,2HAA2H;IAC3H,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,KAAK,CAAC;IACV,uBAAuB;IACvB,SAAS,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACpD,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;AAIvF,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,cAAc,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB;mEAC+D;IAC/D,YAAY,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,2BAA2B,CAAC;AA0ExF;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,iBAAiB,GAC3B,yBAAyB,CAgD3B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAC9C,2BAA2B,CAK7B;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,GACnB,mBAAmB,CA4BrB"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Runtime Binding Resolution — PRI-306
|
|
3
|
+
*
|
|
4
|
+
* Pure functions that resolve which RuntimeProfile an internal agent uses,
|
|
5
|
+
* check readiness, and produce adapter configuration.
|
|
6
|
+
*
|
|
7
|
+
* No I/O — env var access is injected via getEnvVar callback.
|
|
8
|
+
* No `as` casts on untrusted data (ERR-001).
|
|
9
|
+
* Missing fields fail loud with reason + nextAction (ERR-002, ERR-009).
|
|
10
|
+
* Uses Object.hasOwn() for key checks (ERR-013).
|
|
11
|
+
*/
|
|
12
|
+
// ── Private helpers (defined before public functions to satisfy no-use-before-define) ──
|
|
13
|
+
function checkOpenClawReadiness(profile) {
|
|
14
|
+
// OpenClaw profile with source=default is always "ready" (delegated to OpenClaw)
|
|
15
|
+
if (profile.source === 'default') {
|
|
16
|
+
return { readiness: 'ready' };
|
|
17
|
+
}
|
|
18
|
+
// OpenClaw profile with provider+model may be ready
|
|
19
|
+
if (profile.provider && profile.model) {
|
|
20
|
+
return { readiness: 'ready' };
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
readiness: 'needs_setup',
|
|
24
|
+
reason: `OpenClaw profile missing provider and/or model. Provide both 'provider' and 'model' fields, or set 'source: default' to delegate to OpenClaw defaults.`,
|
|
25
|
+
nextAction: `Add 'provider' and 'model' to the openclaw runtime profile in .pd/config.yaml, or set source: default`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function checkPdLocalReadiness(profile, getEnvVar) {
|
|
29
|
+
// Check required config fields first
|
|
30
|
+
if (!profile.provider || profile.provider.length === 0) {
|
|
31
|
+
return {
|
|
32
|
+
readiness: 'needs_setup',
|
|
33
|
+
reason: `pi-ai profile missing required 'provider' field`,
|
|
34
|
+
nextAction: `Add 'provider' to the pi-ai runtime profile in .pd/config.yaml (e.g. "anthropic", "openrouter")`,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (!profile.model || profile.model.length === 0) {
|
|
38
|
+
return {
|
|
39
|
+
readiness: 'needs_setup',
|
|
40
|
+
reason: `pi-ai profile missing required 'model' field`,
|
|
41
|
+
nextAction: `Add 'model' to the pi-ai runtime profile in .pd/config.yaml (e.g. "claude-3-5-sonnet")`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (!profile.apiKeyEnv || profile.apiKeyEnv.length === 0) {
|
|
45
|
+
return {
|
|
46
|
+
readiness: 'needs_setup',
|
|
47
|
+
reason: `pi-ai profile missing required 'apiKeyEnv' field`,
|
|
48
|
+
nextAction: `Add 'apiKeyEnv' to the pi-ai runtime profile in .pd/config.yaml (e.g. "ANTHROPIC_API_KEY")`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// Check if the env var actually exists (empty string counts as "set but empty")
|
|
52
|
+
const apiKeyValue = getEnvVar(profile.apiKeyEnv);
|
|
53
|
+
if (apiKeyValue === undefined) {
|
|
54
|
+
return {
|
|
55
|
+
readiness: 'not_ready',
|
|
56
|
+
reason: `Environment variable '${profile.apiKeyEnv}' is not set. The profile is configured correctly but the API key is not available in the environment.`,
|
|
57
|
+
nextAction: `Set the environment variable '${profile.apiKeyEnv}' with your API key before running PD, or change apiKeyEnv in .pd/config.yaml to reference an existing env var`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (apiKeyValue.length === 0) {
|
|
61
|
+
return {
|
|
62
|
+
readiness: 'not_ready',
|
|
63
|
+
reason: `Environment variable '${profile.apiKeyEnv}' is set but empty. An API key value is required.`,
|
|
64
|
+
nextAction: `Provide a non-empty value for '${profile.apiKeyEnv}' or change apiKeyEnv in .pd/config.yaml to reference a different env var`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
return { readiness: 'ready' };
|
|
68
|
+
}
|
|
69
|
+
// ── resolveAgentRuntimeBinding ───────────────────────────────────────────────
|
|
70
|
+
/**
|
|
71
|
+
* Resolve which RuntimeProfile an internal agent should use.
|
|
72
|
+
*
|
|
73
|
+
* Resolution order:
|
|
74
|
+
* 1. Per-agent override (agent.runtimeProfile) → source: 'agent_override'
|
|
75
|
+
* 2. defaultRuntime → source: 'default_runtime'
|
|
76
|
+
*
|
|
77
|
+
* If the resolved profile ID doesn't exist in runtimeProfiles, returns an error.
|
|
78
|
+
* If the agent is disabled, returns a disabled result.
|
|
79
|
+
*/
|
|
80
|
+
export function resolveAgentRuntimeBinding(effective, agentName) {
|
|
81
|
+
const { config } = effective;
|
|
82
|
+
const agentBinding = config.internalAgents.agents[agentName];
|
|
83
|
+
// Check if agent is disabled
|
|
84
|
+
if (!agentBinding || !agentBinding.enabled) {
|
|
85
|
+
return {
|
|
86
|
+
ok: false,
|
|
87
|
+
readiness: 'disabled',
|
|
88
|
+
reason: `Agent '${agentName}' is disabled`,
|
|
89
|
+
nextAction: `Enable agent '${agentName}' in .pd/config.yaml internalAgents.agents.${agentName}.enabled`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
// Resolve profile ID: per-agent override > defaultRuntime
|
|
93
|
+
// An explicit runtimeProfile that equals defaultRuntime is NOT an override
|
|
94
|
+
const hasExplicitOverride = agentBinding.runtimeProfile !== undefined &&
|
|
95
|
+
agentBinding.runtimeProfile !== config.internalAgents.defaultRuntime;
|
|
96
|
+
const profileId = agentBinding.runtimeProfile ?? config.internalAgents.defaultRuntime;
|
|
97
|
+
const source = hasExplicitOverride ? 'agent_override' : 'default_runtime';
|
|
98
|
+
// Look up the profile
|
|
99
|
+
if (!Object.hasOwn(config.runtimeProfiles, profileId)) {
|
|
100
|
+
return {
|
|
101
|
+
ok: false,
|
|
102
|
+
readiness: 'needs_setup',
|
|
103
|
+
reason: `Agent '${agentName}' references runtime profile '${profileId}' which does not exist in runtimeProfiles`,
|
|
104
|
+
nextAction: `Add profile '${profileId}' to runtimeProfiles in .pd/config.yaml, or change agent '${agentName}' to reference an existing profile`,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const profile = config.runtimeProfiles[profileId];
|
|
108
|
+
if (!profile) {
|
|
109
|
+
return {
|
|
110
|
+
ok: false,
|
|
111
|
+
readiness: 'needs_setup',
|
|
112
|
+
reason: `Agent '${agentName}' references runtime profile '${profileId}' which is null/undefined`,
|
|
113
|
+
nextAction: `Fix profile '${profileId}' in runtimeProfiles in .pd/config.yaml`,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
ok: true,
|
|
118
|
+
profile,
|
|
119
|
+
profileId,
|
|
120
|
+
source,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
// ── checkAgentRuntimeReadiness ───────────────────────────────────────────────
|
|
124
|
+
/**
|
|
125
|
+
* Check whether a RuntimeProfile is ready for use.
|
|
126
|
+
*
|
|
127
|
+
* For openclaw profiles:
|
|
128
|
+
* - source=default → ready (delegated to OpenClaw)
|
|
129
|
+
* - provider+model set → ready
|
|
130
|
+
* - otherwise → needs_setup
|
|
131
|
+
*
|
|
132
|
+
* For pi-ai profiles:
|
|
133
|
+
* - provider, model, apiKeyEnv all set AND apiKeyEnv exists in env → ready
|
|
134
|
+
* - apiKeyEnv missing from env → not_ready (config is correct but env is not set up)
|
|
135
|
+
* - provider or model missing → needs_setup (config is incomplete)
|
|
136
|
+
*
|
|
137
|
+
* The getEnvVar callback is injected to avoid process.env access in core.
|
|
138
|
+
*/
|
|
139
|
+
export function checkAgentRuntimeReadiness(profile, getEnvVar) {
|
|
140
|
+
if (profile.type === 'openclaw') {
|
|
141
|
+
return checkOpenClawReadiness(profile);
|
|
142
|
+
}
|
|
143
|
+
return checkPdLocalReadiness(profile, getEnvVar);
|
|
144
|
+
}
|
|
145
|
+
// ── createAdapterConfigFromProfile ───────────────────────────────────────────
|
|
146
|
+
/**
|
|
147
|
+
* Transform a RuntimeProfile into adapter configuration.
|
|
148
|
+
*
|
|
149
|
+
* For pi-ai profiles: produces PiAiAdapterConfigResult with all fields needed
|
|
150
|
+
* to construct a PiAiRuntimeAdapter.
|
|
151
|
+
*
|
|
152
|
+
* For openclaw profiles: produces OpenClawAdapterConfigResult.
|
|
153
|
+
* OpenClaw profiles do NOT copy secrets — they only reference provider/model.
|
|
154
|
+
*
|
|
155
|
+
* This is a pure data transform. No I/O, no env access.
|
|
156
|
+
*/
|
|
157
|
+
export function createAdapterConfigFromProfile(profile, workspaceDir) {
|
|
158
|
+
if (profile.type === 'pi-ai') {
|
|
159
|
+
const result = {
|
|
160
|
+
runtimeKind: 'pi-ai',
|
|
161
|
+
provider: profile.provider,
|
|
162
|
+
model: profile.model,
|
|
163
|
+
apiKeyEnv: profile.apiKeyEnv,
|
|
164
|
+
workspace: workspaceDir,
|
|
165
|
+
};
|
|
166
|
+
if (profile.baseUrl) {
|
|
167
|
+
result.baseUrl = profile.baseUrl;
|
|
168
|
+
}
|
|
169
|
+
if (profile.timeoutMs) {
|
|
170
|
+
result.timeoutMs = profile.timeoutMs;
|
|
171
|
+
}
|
|
172
|
+
return result;
|
|
173
|
+
}
|
|
174
|
+
// openclaw profile — preserve delegated/default semantics
|
|
175
|
+
// source='default' → openclawMode='default' (let downstream resolve via CLI flags/workflows.yaml)
|
|
176
|
+
// explicit provider+model → openclawMode='local' (explicit profile, default to local mode)
|
|
177
|
+
const openclawMode = profile.source === 'default' ? 'default' : 'local';
|
|
178
|
+
return {
|
|
179
|
+
runtimeKind: 'openclaw-cli',
|
|
180
|
+
workspaceDir,
|
|
181
|
+
openclawMode,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=pd-config-agent-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pd-config-agent-binding.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-agent-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAG3B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"pd-config-defaults.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAG3B,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAI9B,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAmBlE,CAAC;AAIF,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAE7D,eAAO,MAAM,uBAAuB,EAAE,sBAGrC,CAAC;AAiBF,wBAAgB,wBAAwB,IAAI,oBAAoB,CAY/D;AAID,eAAO,MAAM,UAAU,EAAE,QAExB,CAAC;AAIF,wBAAgB,kBAAkB,IAAI,QAAQ,CAW7C"}
|
|
@@ -17,6 +17,7 @@ export const DEFAULT_FEATURE_FLAGS = {
|
|
|
17
17
|
gfi: { category: 'quiet', enabled: false },
|
|
18
18
|
evolution_worker: { category: 'quiet', enabled: false },
|
|
19
19
|
empathy_observer: { category: 'quiet', enabled: false },
|
|
20
|
+
painEvidenceAdmission: { category: 'quiet', enabled: false },
|
|
20
21
|
// MVP-Gone (ADR-0014 §2.6)
|
|
21
22
|
nocturnal: { category: 'gone', enabled: false },
|
|
22
23
|
idle_trigger: { category: 'gone', enabled: false },
|
|
@@ -69,6 +70,7 @@ export function getDefaultPdConfig() {
|
|
|
69
70
|
},
|
|
70
71
|
internalAgents: getDefaultInternalAgents(),
|
|
71
72
|
ui: { ...DEFAULT_UI },
|
|
73
|
+
principles: { outputLanguage: undefined },
|
|
72
74
|
};
|
|
73
75
|
}
|
|
74
76
|
//# sourceMappingURL=pd-config-defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-defaults.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAQL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,2BAA2B;IAC3B,MAAM,EAAc,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,cAAc,EAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,aAAa,EAAO,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,mBAAmB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IAEzD,4BAA4B;IAC5B,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,GAAG,EAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"pd-config-defaults.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-defaults.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAQL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAqC;IACrE,2BAA2B;IAC3B,MAAM,EAAc,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,cAAc,EAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,aAAa,EAAO,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,IAAI,EAAE;IACxD,mBAAmB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IAEzD,4BAA4B;IAC5B,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;IACxD,GAAG,EAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,gBAAgB,EAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IACzD,qBAAqB,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;IAE3D,2BAA2B;IAC3B,SAAS,EAAW,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,KAAK,EAAE;IACzD,YAAY,EAAQ,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,KAAK,EAAE;IACzD,cAAc,EAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,KAAK,EAAE;IACzD,OAAO,EAAa,EAAE,QAAQ,EAAE,MAAM,EAAG,OAAO,EAAE,KAAK,EAAE;CAC1D,CAAC;AAEF,+EAA+E;AAE/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,+EAA+E;AAE/E,MAAM,qBAAqB,GAAuC;IAChE,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,KAAK;IAChB,eAAe,EAAE,KAAK;IACtB,OAAO,EAAE,KAAK;IACd,kBAAkB,EAAE,KAAK;IACzB,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAyC,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACpC,cAAc,EAAE,0BAA0B;SAC3C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,cAAc,EAAE,0BAA0B;QAC1C,MAAM,EAAE,MAAyD;KAClE,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,MAAM,UAAU,GAAa;IAClC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAChC,CAAC;AAEF,+EAA+E;AAE/E,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,EAAE,GAAG,qBAAqB,EAAE;QACtC,eAAe,EAAE;YACf,CAAC,0BAA0B,CAAC,EAAE,EAAE,GAAG,uBAAuB,EAAE;SAC7D;QACD,cAAc,EAAE,wBAAwB,EAAE;QAC1C,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE;QACrB,UAAU,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-effective.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EASvB,MAAM,sBAAsB,CAAC;AAU9B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"pd-config-effective.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,iBAAiB,EASvB,MAAM,sBAAsB,CAAC;AAU9B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAoHnG"}
|
|
@@ -102,12 +102,15 @@ export function computeEffectivePdConfig(userConfig) {
|
|
|
102
102
|
};
|
|
103
103
|
// UI: use user config or default
|
|
104
104
|
const ui = userConfig.ui ?? { ...DEFAULT_UI };
|
|
105
|
+
// Principles: use user config or default (PRI-336)
|
|
106
|
+
const principles = userConfig.principles ?? { outputLanguage: undefined };
|
|
105
107
|
const config = {
|
|
106
108
|
version: PD_CONFIG_VERSION,
|
|
107
109
|
features,
|
|
108
110
|
runtimeProfiles,
|
|
109
111
|
internalAgents,
|
|
110
112
|
ui,
|
|
113
|
+
principles,
|
|
111
114
|
};
|
|
112
115
|
return {
|
|
113
116
|
config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-effective.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pd-config-effective.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-effective.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,12 +62,20 @@ export interface UiConfig {
|
|
|
62
62
|
mode: DiagnosticsMode;
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
+
import type { OutputLanguage } from '../language-directive.js';
|
|
66
|
+
/** Configuration for principle generation behavior. */
|
|
67
|
+
export interface PrinciplesConfig {
|
|
68
|
+
/** Preferred language for generated principle text. Source of truth for generation. */
|
|
69
|
+
outputLanguage?: OutputLanguage;
|
|
70
|
+
}
|
|
65
71
|
export interface PdConfig {
|
|
66
72
|
version: PdConfigVersion;
|
|
67
73
|
features: Record<string, FeatureFlagEntry>;
|
|
68
74
|
runtimeProfiles: Record<string, RuntimeProfile>;
|
|
69
75
|
internalAgents: InternalAgentsConfig;
|
|
70
76
|
ui: UiConfig;
|
|
77
|
+
/** Principle generation preferences (PRI-336). */
|
|
78
|
+
principles?: PrinciplesConfig;
|
|
71
79
|
}
|
|
72
80
|
export interface PdConfigValidationError {
|
|
73
81
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC;AAIhC,eAAO,MAAM,wBAAwB,oCAAqC,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,eAAO,MAAM,mBAAmB,gCAAiC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAI5E,eAAO,MAAM,oBAAoB,iKAWvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAItE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;CACzD;AAID,eAAO,MAAM,uBAAuB,iCAAkC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE;QACX,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;CACH;AAID,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,cAAc,EAAE,oBAAoB,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"pd-config-types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC;AAIhC,eAAO,MAAM,wBAAwB,oCAAqC,CAAC;AAC3E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,eAAO,MAAM,mBAAmB,gCAAiC,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAI5E,eAAO,MAAM,oBAAoB,iKAWvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAItE,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;CACzD;AAID,eAAO,MAAM,uBAAuB,iCAAkC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE;QACX,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;CACH;AAID,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAID,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,cAAc,EAAE,oBAAoB,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC;IACb,kDAAkD;IAClD,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAID,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,IAAI,CAAC;IACT,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAChC,0BAA0B,GAC1B,2BAA2B,CAAC;AAIhC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC;IACnC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,eAAe,EAAE,6BAA6B,EAAE,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAID,eAAO,MAAM,cAAc,aAAqD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pd-config-types.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAGnC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAU3E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAU,CAAC;AA6BlE,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,eAAe;IACf,SAAS;IACT,aAAa;IACb,QAAQ;IACR,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,SAAS;IACT,oBAAoB;IACpB,iBAAiB;CACT,CAAC;AAqBX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"pd-config-types.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/pd-config-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAGnC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAU3E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAU,CAAC;AA6BlE,+EAA+E;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,eAAe;IACf,SAAS;IACT,aAAa;IACb,QAAQ;IACR,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,SAAS;IACT,oBAAoB;IACpB,iBAAiB;CACT,CAAC;AAqBX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AAmGvE,+EAA+E;AAE/E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for outputLanguage integration into DiagnosticianPromptBuilder (PRI-336).
|
|
3
|
+
*
|
|
4
|
+
* Validates:
|
|
5
|
+
* - config → diagnostician prompt contains language directive
|
|
6
|
+
* - zh-CN: prompt explicitly requests Chinese principle text
|
|
7
|
+
* - en: prompt explicitly requests English principle text
|
|
8
|
+
* - technical identifiers not translated instruction exists
|
|
9
|
+
* - undefined outputLanguage: no language directive (backward compatible)
|
|
10
|
+
* - lineage fields are not translated
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=diagnostician-prompt-language.test.d.ts.map
|
package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostician-prompt-language.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for outputLanguage integration into DiagnosticianPromptBuilder (PRI-336).
|
|
3
|
+
*
|
|
4
|
+
* Validates:
|
|
5
|
+
* - config → diagnostician prompt contains language directive
|
|
6
|
+
* - zh-CN: prompt explicitly requests Chinese principle text
|
|
7
|
+
* - en: prompt explicitly requests English principle text
|
|
8
|
+
* - technical identifiers not translated instruction exists
|
|
9
|
+
* - undefined outputLanguage: no language directive (backward compatible)
|
|
10
|
+
* - lineage fields are not translated
|
|
11
|
+
*/
|
|
12
|
+
import { describe, it, expect } from 'vitest';
|
|
13
|
+
import { DiagnosticianPromptBuilder, buildDiagnosticProtocolInstruction } from '../../diagnostician-prompt-builder.js';
|
|
14
|
+
/** Trust-boundary helper: validate parsed prompt JSON before property access. */
|
|
15
|
+
function parsePromptJson(raw) {
|
|
16
|
+
const parsed = JSON.parse(raw);
|
|
17
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
18
|
+
throw new Error(`parsePromptJson: expected object, got ${typeof parsed}`);
|
|
19
|
+
}
|
|
20
|
+
return parsed;
|
|
21
|
+
}
|
|
22
|
+
const MINIMAL_PAYLOAD = {
|
|
23
|
+
contextId: 'ctx-1',
|
|
24
|
+
contextHash: 'hash-abc123',
|
|
25
|
+
taskId: 'task-xyz',
|
|
26
|
+
workspaceDir: 'D:/work',
|
|
27
|
+
sourceRefs: ['ref-1'],
|
|
28
|
+
diagnosisTarget: {
|
|
29
|
+
painId: 'pain-1',
|
|
30
|
+
reasonSummary: 'Agent failed to use tool',
|
|
31
|
+
},
|
|
32
|
+
conversationWindow: [],
|
|
33
|
+
};
|
|
34
|
+
describe('DiagnosticianPromptBuilder — outputLanguage (PRI-336)', () => {
|
|
35
|
+
it('includes Chinese language directive when outputLanguage is zh-CN', () => {
|
|
36
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
37
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, 'zh-CN');
|
|
38
|
+
const parsed = parsePromptJson(result.message);
|
|
39
|
+
expect(parsed.diagnosticInstruction).toContain('Simplified Chinese');
|
|
40
|
+
expect(parsed.diagnosticInstruction).toContain('简体中文');
|
|
41
|
+
expect(parsed.diagnosticInstruction).toContain('LANGUAGE DIRECTIVE');
|
|
42
|
+
});
|
|
43
|
+
it('includes English language directive when outputLanguage is en', () => {
|
|
44
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
45
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, 'en');
|
|
46
|
+
const parsed = parsePromptJson(result.message);
|
|
47
|
+
expect(parsed.diagnosticInstruction).toContain('English');
|
|
48
|
+
expect(parsed.diagnosticInstruction).toContain('PRI-336');
|
|
49
|
+
});
|
|
50
|
+
it('does NOT include language directive when outputLanguage is undefined', () => {
|
|
51
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
52
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, undefined);
|
|
53
|
+
const parsed = parsePromptJson(result.message);
|
|
54
|
+
expect(parsed.diagnosticInstruction).not.toContain('LANGUAGE DIRECTIVE');
|
|
55
|
+
expect(parsed.diagnosticInstruction).not.toContain('PRI-336');
|
|
56
|
+
});
|
|
57
|
+
it('includes technical identifiers not translated instruction', () => {
|
|
58
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
59
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, 'zh-CN');
|
|
60
|
+
const parsed = parsePromptJson(result.message);
|
|
61
|
+
expect(parsed.diagnosticInstruction).toContain('taskId');
|
|
62
|
+
expect(parsed.diagnosticInstruction).toContain('sourcePainId');
|
|
63
|
+
expect(parsed.diagnosticInstruction).toContain('MUST NOT be translated');
|
|
64
|
+
});
|
|
65
|
+
it('includes lineage fields not translated instruction', () => {
|
|
66
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
67
|
+
const result = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, 'en');
|
|
68
|
+
const parsed = parsePromptJson(result.message);
|
|
69
|
+
expect(parsed.diagnosticInstruction).toContain('Lineage and evidence fields MUST NOT be translated');
|
|
70
|
+
});
|
|
71
|
+
it('preserves all other prompt fields when outputLanguage is provided', () => {
|
|
72
|
+
const builder = new DiagnosticianPromptBuilder();
|
|
73
|
+
const resultWithout = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, undefined);
|
|
74
|
+
const resultWith = builder.buildPrompt(MINIMAL_PAYLOAD, undefined, 'zh-CN');
|
|
75
|
+
const parsedWithout = parsePromptJson(resultWithout.message);
|
|
76
|
+
const parsedWith = parsePromptJson(resultWith.message);
|
|
77
|
+
// Same fields except diagnosticInstruction
|
|
78
|
+
expect(parsedWith.taskId).toBe(parsedWithout.taskId);
|
|
79
|
+
expect(parsedWith.contextHash).toBe(parsedWithout.contextHash);
|
|
80
|
+
expect(parsedWith.diagnosisTarget).toEqual(parsedWithout.diagnosisTarget);
|
|
81
|
+
expect(parsedWith.conversationWindow).toEqual(parsedWithout.conversationWindow);
|
|
82
|
+
expect(parsedWith.sourceRefs).toEqual(parsedWithout.sourceRefs);
|
|
83
|
+
expect(parsedWith.context).toEqual(parsedWithout.context);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('buildDiagnosticProtocolInstruction — outputLanguage (PRI-336)', () => {
|
|
87
|
+
it('includes language directive when outputLanguage is provided', () => {
|
|
88
|
+
const instruction = buildDiagnosticProtocolInstruction(undefined, undefined, 'zh-CN');
|
|
89
|
+
expect(instruction).toContain('LANGUAGE DIRECTIVE');
|
|
90
|
+
expect(instruction).toContain('Simplified Chinese');
|
|
91
|
+
});
|
|
92
|
+
it('does not include language directive when outputLanguage is undefined', () => {
|
|
93
|
+
const instruction = buildDiagnosticProtocolInstruction(undefined, undefined, undefined);
|
|
94
|
+
expect(instruction).not.toContain('LANGUAGE DIRECTIVE');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=diagnostician-prompt-language.test.js.map
|
package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostician-prompt-language.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
import type { DiagnosticianContextPayload, HistoryQueryEntry, DiagnosisTarget } from './context-payload.js';
|
|
31
31
|
import type { TSchema } from '@sinclair/typebox';
|
|
32
32
|
import type { SchemaPromptAdapter } from './adapter/schema-prompt-adapter.js';
|
|
33
|
+
import type { OutputLanguage } from './language-directive.js';
|
|
33
34
|
/**
|
|
34
35
|
* PromptInput — the JSON message sent to openclaw agent via --message flag.
|
|
35
36
|
*
|
|
@@ -99,7 +100,7 @@ export interface PromptBuildResult {
|
|
|
99
100
|
* The 5-phase protocol is embedded directly in the prompt so the LLM follows it
|
|
100
101
|
* regardless of whether OpenClaw loads SKILL.md as the agent system prompt.
|
|
101
102
|
*/
|
|
102
|
-
export declare function buildDiagnosticProtocolInstruction(adapter?: SchemaPromptAdapter, schema?: TSchema): string;
|
|
103
|
+
export declare function buildDiagnosticProtocolInstruction(adapter?: SchemaPromptAdapter, schema?: TSchema, outputLanguage?: OutputLanguage): string;
|
|
103
104
|
/**
|
|
104
105
|
* Summarizes a conversation window for inclusion in the prompt.
|
|
105
106
|
* DPB-04: Prompt includes conversationWindow summary.
|
|
@@ -125,6 +126,6 @@ export declare class DiagnosticianPromptBuilder {
|
|
|
125
126
|
*
|
|
126
127
|
* Per DPB-07: NO extraSystemPrompt is added — agent profile is the source of truth.
|
|
127
128
|
*/
|
|
128
|
-
buildPrompt(payload: DiagnosticianContextPayload, limits?: PromptBuilderLimits): PromptBuildResult;
|
|
129
|
+
buildPrompt(payload: DiagnosticianContextPayload, limits?: PromptBuilderLimits, outputLanguage?: OutputLanguage): PromptBuildResult;
|
|
129
130
|
}
|
|
130
131
|
//# sourceMappingURL=diagnostician-prompt-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostician-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/diagnostician-prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostician-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/diagnostician-prompt-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EACV,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAG9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,eAAe,EAAE,eAAe,CAAC;IACjC;;;;OAIG;IACH,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,0CAA0C;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kEAAkE;IAClE,OAAO,EAAE,2BAA2B,CAAC;IACrC;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,6BAA6B,EAAE,mBAIlC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,GAAE,mBAAsD,EAC/D,MAAM,GAAE,OAAqC,EAC7C,cAAc,CAAC,EAAE,cAAc,GAC9B,MAAM,CAyDR;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,iBAAiB,EAAE,GAC3B,iBAAiB,EAAE,CAErB;AAED,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAG/B,OAAO,GAAE,mBAAsD,EAC/D,MAAM,GAAE,OAAqC;IAM/C;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,OAAO,EAAE,2BAA2B,EACpC,MAAM,GAAE,mBAAmD,EAC3D,cAAc,CAAC,EAAE,cAAc,GAC9B,iBAAiB;CAkErB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DefaultSchemaPromptAdapter } from './adapter/schema-prompt-adapter.js';
|
|
2
2
|
import { DiagnosticianOutputV1Schema } from './diagnostician-output.js';
|
|
3
|
+
import { buildLanguageDirective } from './language-directive.js';
|
|
3
4
|
export const DEFAULT_PROMPT_BUILDER_LIMITS = {
|
|
4
5
|
maxConversationEntries: 30,
|
|
5
6
|
maxEntryTextChars: 2000,
|
|
@@ -16,9 +17,10 @@ export const DEFAULT_PROMPT_BUILDER_LIMITS = {
|
|
|
16
17
|
* The 5-phase protocol is embedded directly in the prompt so the LLM follows it
|
|
17
18
|
* regardless of whether OpenClaw loads SKILL.md as the agent system prompt.
|
|
18
19
|
*/
|
|
19
|
-
export function buildDiagnosticProtocolInstruction(adapter = new DefaultSchemaPromptAdapter(), schema = DiagnosticianOutputV1Schema) {
|
|
20
|
+
export function buildDiagnosticProtocolInstruction(adapter = new DefaultSchemaPromptAdapter(), schema = DiagnosticianOutputV1Schema, outputLanguage) {
|
|
20
21
|
const example = adapter.generateExample(schema);
|
|
21
22
|
const constraints = adapter.generateConstraints(schema);
|
|
23
|
+
const languageDirective = buildLanguageDirective(outputLanguage);
|
|
22
24
|
return `You are a root cause analysis expert. Follow this protocol:
|
|
23
25
|
|
|
24
26
|
PHASE 1 — Evidence Review:
|
|
@@ -70,7 +72,7 @@ IMPORTANT: The example above is ILLUSTRATIVE ONLY. Your recommendations MUST be
|
|
|
70
72
|
CONSTRAINTS:
|
|
71
73
|
- Output ONLY valid JSON — no markdown, no explanatory text, no code fences, no prose before or after
|
|
72
74
|
- Do NOT read files, call tools, or write to any database
|
|
73
|
-
${constraints}`;
|
|
75
|
+
${constraints}${languageDirective}`;
|
|
74
76
|
}
|
|
75
77
|
/**
|
|
76
78
|
* Summarizes a conversation window for inclusion in the prompt.
|
|
@@ -102,7 +104,7 @@ export class DiagnosticianPromptBuilder {
|
|
|
102
104
|
*
|
|
103
105
|
* Per DPB-07: NO extraSystemPrompt is added — agent profile is the source of truth.
|
|
104
106
|
*/
|
|
105
|
-
buildPrompt(payload, limits = DEFAULT_PROMPT_BUILDER_LIMITS) {
|
|
107
|
+
buildPrompt(payload, limits = DEFAULT_PROMPT_BUILDER_LIMITS, outputLanguage) {
|
|
106
108
|
const truncationWarnings = [];
|
|
107
109
|
// DPB-04: Apply truncation to conversationWindow to prevent token overflow
|
|
108
110
|
const rawWindow = summarizeConversationWindow(payload.conversationWindow);
|
|
@@ -126,7 +128,7 @@ export class DiagnosticianPromptBuilder {
|
|
|
126
128
|
...payload,
|
|
127
129
|
conversationWindow,
|
|
128
130
|
};
|
|
129
|
-
const diagnosticInstruction = buildDiagnosticProtocolInstruction(this.adapter, this.schema);
|
|
131
|
+
const diagnosticInstruction = buildDiagnosticProtocolInstruction(this.adapter, this.schema, outputLanguage);
|
|
130
132
|
// DPB-04: Explicit top-level fields at the prompt level
|
|
131
133
|
const promptInput = {
|
|
132
134
|
taskId: payload.taskId,
|