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.
Files changed (502) hide show
  1. package/console/dist/server/config/pd-config-store.d.ts +135 -0
  2. package/console/dist/server/config/pd-config-store.js +660 -0
  3. package/console/dist/server/index.js +40 -389
  4. package/console/dist/server/models/ActivationsConsoleModel.d.ts +33 -0
  5. package/console/dist/server/models/ActivationsConsoleModel.js +112 -0
  6. package/console/dist/server/models/ApprovalsConsoleModel.d.ts +5 -0
  7. package/console/dist/server/models/ApprovalsConsoleModel.js +14 -0
  8. package/console/dist/server/models/ApprovalsGroupedConsoleModel.d.ts +25 -0
  9. package/console/dist/server/models/ApprovalsGroupedConsoleModel.js +126 -0
  10. package/console/dist/server/models/ConsoleLifecycleDatasource.d.ts +13 -0
  11. package/console/dist/server/models/ConsoleLifecycleDatasource.js +73 -0
  12. package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +58 -0
  13. package/console/dist/server/models/EvidenceChainConsoleModel.js +493 -0
  14. package/console/dist/server/models/GovernanceConsoleModel.d.ts +74 -0
  15. package/console/dist/server/models/GovernanceConsoleModel.js +246 -0
  16. package/console/dist/server/models/HealthCheckModel.d.ts +0 -4
  17. package/console/dist/server/models/HealthCheckModel.js +49 -80
  18. package/console/dist/server/models/LifecycleConsoleModel.d.ts +19 -0
  19. package/console/dist/server/models/LifecycleConsoleModel.js +55 -0
  20. package/console/dist/server/models/PrincipleClassifier.d.ts +41 -0
  21. package/console/dist/server/models/PrincipleClassifier.js +100 -0
  22. package/console/dist/server/models/PrinciplesConsoleModel.d.ts +12 -1
  23. package/console/dist/server/models/PrinciplesConsoleModel.js +53 -6
  24. package/console/dist/server/models/WorkspaceService.d.ts +2 -1
  25. package/console/dist/server/models/WorkspaceService.js +51 -23
  26. package/console/dist/server/routes/activations.d.ts +3 -0
  27. package/console/dist/server/routes/activations.js +111 -0
  28. package/console/dist/server/routes/approvals-grouped.d.ts +3 -0
  29. package/console/dist/server/routes/approvals-grouped.js +32 -0
  30. package/console/dist/server/routes/approvals.js +28 -4
  31. package/console/dist/server/routes/config.d.ts +27 -0
  32. package/console/dist/server/routes/config.js +213 -0
  33. package/console/dist/server/routes/evidence-chain.d.ts +9 -0
  34. package/console/dist/server/routes/evidence-chain.js +32 -0
  35. package/console/dist/server/routes/governance.d.ts +3 -0
  36. package/console/dist/server/routes/governance.js +32 -0
  37. package/console/dist/server/routes/{evolution.d.ts → lifecycle.d.ts} +2 -2
  38. package/console/dist/server/routes/lifecycle.js +48 -0
  39. package/console/dist/server/routes/principles.js +74 -1
  40. package/console/dist/server/routes/workspaces.js +8 -1
  41. package/console/dist/server/utils/response.d.ts +1 -1
  42. package/console/dist/server/utils/response.js +6 -2
  43. package/console/dist/types.d.ts +1 -0
  44. package/console/dist/ui/App.js +116 -40
  45. package/console/dist/ui/api.d.ts +88 -501
  46. package/console/dist/ui/api.js +139 -162
  47. package/console/dist/ui/components/approval-card.js +1 -1
  48. package/console/dist/ui/components/approval-detail-dialog.js +1 -1
  49. package/console/dist/ui/components/auth/login-form.d.ts +3 -0
  50. package/console/dist/ui/components/auth/login-form.js +36 -0
  51. package/console/dist/ui/components/auth/splash-screen.d.ts +8 -0
  52. package/console/dist/ui/components/auth/splash-screen.js +22 -0
  53. package/console/dist/ui/components/layout/app-sidebar.d.ts +1 -0
  54. package/console/dist/ui/components/layout/app-sidebar.js +56 -0
  55. package/console/dist/ui/components/layout/page-shell.d.ts +11 -0
  56. package/console/dist/ui/components/layout/page-shell.js +10 -0
  57. package/console/dist/ui/components/layout/section-title.d.ts +10 -0
  58. package/console/dist/ui/components/layout/section-title.js +9 -0
  59. package/console/dist/ui/components/theme-provider.d.ts +1 -1
  60. package/console/dist/ui/components/theme-provider.js +13 -8
  61. package/console/dist/ui/components/theme-toggle.js +2 -21
  62. package/console/dist/ui/components/ui/badge.d.ts +1 -1
  63. package/console/dist/ui/components/ui/badge.js +7 -5
  64. package/console/dist/ui/components/ui/button.d.ts +2 -2
  65. package/console/dist/ui/components/ui/button.js +12 -11
  66. package/console/dist/ui/components/ui/card.js +6 -6
  67. package/console/dist/ui/components/ui/sheet.d.ts +1 -1
  68. package/console/dist/ui/i18n/en.json +401 -343
  69. package/console/dist/ui/i18n/index.js +2 -2
  70. package/console/dist/ui/i18n/zh-CN.json +406 -348
  71. package/console/dist/ui/main.d.ts +1 -1
  72. package/console/dist/ui/main.js +1 -0
  73. package/console/dist/ui/pages/activation/ActivationPage.d.ts +1 -0
  74. package/console/dist/ui/pages/activation/ActivationPage.js +150 -0
  75. package/console/dist/ui/pages/activation/ActivationValidators.d.ts +20 -0
  76. package/console/dist/ui/pages/activation/ActivationValidators.js +156 -0
  77. package/console/dist/ui/pages/control-center/ControlCenterPage.d.ts +1 -0
  78. package/console/dist/ui/pages/control-center/ControlCenterPage.js +447 -0
  79. package/console/dist/ui/pages/debt/DebtPage.d.ts +1 -0
  80. package/console/dist/ui/pages/debt/DebtPage.js +5 -0
  81. package/console/dist/ui/pages/design-system/DesignSystemPage.d.ts +1 -0
  82. package/console/dist/ui/pages/design-system/DesignSystemPage.js +30 -0
  83. package/console/dist/ui/pages/focus/FocusPage.d.ts +1 -0
  84. package/console/dist/ui/pages/focus/FocusPage.js +265 -0
  85. package/console/dist/ui/pages/pain/PainEvidenceValidators.d.ts +59 -0
  86. package/console/dist/ui/pages/pain/PainEvidenceValidators.js +125 -0
  87. package/console/dist/ui/pages/pain/PainPage.js +136 -0
  88. package/console/dist/ui/pages/principles/PrincipleDetailPage.js +264 -0
  89. package/console/dist/ui/pages/principles/PrinciplesPage.js +244 -0
  90. package/console/dist/ui/pages/report-problem/ReportProblemPage.js +245 -0
  91. package/console/dist/ui/pages/settings/SettingsPage.d.ts +4 -0
  92. package/console/dist/ui/pages/settings/SettingsPage.js +202 -0
  93. package/console/dist/ui/pages/settings/UpdatePage.d.ts +5 -0
  94. package/console/dist/ui/pages/settings/UpdatePage.js +168 -0
  95. package/console/dist/ui/utils/control-center-helpers.d.ts +58 -0
  96. package/console/dist/ui/utils/control-center-helpers.js +152 -0
  97. package/console/dist/ui/utils/validators.d.ts +350 -0
  98. package/console/dist/ui/utils/validators.js +995 -0
  99. package/console/dist/web/assets/app.css +672 -902
  100. package/console/dist/web/assets/app.js +6404 -15347
  101. package/console/dist/web/assets/jetbrains-mono-cyrillic-400-normal-C5JECUCT.woff2 +0 -0
  102. package/console/dist/web/assets/jetbrains-mono-cyrillic-400-normal-FGCZYWMY.woff +0 -0
  103. package/console/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-C7IFWGF6.woff2 +0 -0
  104. package/console/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-PWXUA557.woff +0 -0
  105. package/console/dist/web/assets/jetbrains-mono-greek-400-normal-JJNQZMPZ.woff +0 -0
  106. package/console/dist/web/assets/jetbrains-mono-greek-400-normal-O7JTTR3P.woff2 +0 -0
  107. package/console/dist/web/assets/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2 +0 -0
  108. package/console/dist/web/assets/jetbrains-mono-latin-400-normal-WDD34GPP.woff +0 -0
  109. package/console/dist/web/assets/jetbrains-mono-latin-ext-400-normal-55RNMRQS.woff +0 -0
  110. package/console/dist/web/assets/jetbrains-mono-latin-ext-400-normal-JVR3IR4Z.woff2 +0 -0
  111. package/console/dist/web/assets/jetbrains-mono-vietnamese-400-normal-7ULXAK72.woff +0 -0
  112. package/console/dist/web/assets/jetbrains-mono-vietnamese-400-normal-KU7YLUPA.woff2 +0 -0
  113. package/console/package.json +2 -1
  114. package/core/dist/runtime-v2/__tests__/admission-gate.test.js +49 -0
  115. package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
  116. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +16 -1
  117. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  118. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts +21 -0
  119. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts.map +1 -0
  120. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +354 -0
  121. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -0
  122. package/core/dist/runtime-v2/__tests__/language-directive.test.d.ts +12 -0
  123. package/core/dist/runtime-v2/__tests__/language-directive.test.d.ts.map +1 -0
  124. package/core/dist/runtime-v2/__tests__/language-directive.test.js +162 -0
  125. package/core/dist/runtime-v2/__tests__/language-directive.test.js.map +1 -0
  126. package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +23 -1
  127. package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
  128. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +48 -3
  129. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  130. package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +13 -1
  131. package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
  132. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts +12 -0
  133. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts.map +1 -0
  134. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js +194 -0
  135. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js.map +1 -0
  136. package/core/dist/runtime-v2/__tests__/runtime-config-boundary.test.js +5 -3
  137. package/core/dist/runtime-v2/__tests__/runtime-config-boundary.test.js.map +1 -1
  138. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +1 -0
  139. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  140. package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js +54 -0
  141. package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js.map +1 -1
  142. package/core/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js +15 -2
  143. package/core/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js.map +1 -1
  144. package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +10 -0
  145. package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js.map +1 -1
  146. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +17 -2
  147. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
  148. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +36 -0
  149. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
  150. package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
  151. package/core/dist/runtime-v2/activation/activation-dispatcher.js +1 -1
  152. package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
  153. package/core/dist/runtime-v2/activation/activation-types.d.ts +10 -0
  154. package/core/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
  155. package/core/dist/runtime-v2/activation/activation-types.js.map +1 -1
  156. package/core/dist/runtime-v2/activation/approval-queue.d.ts +6 -0
  157. package/core/dist/runtime-v2/activation/approval-queue.d.ts.map +1 -1
  158. package/core/dist/runtime-v2/activation/approval-queue.js +3 -0
  159. package/core/dist/runtime-v2/activation/approval-queue.js.map +1 -1
  160. package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts +2 -0
  161. package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
  162. package/core/dist/runtime-v2/activation/memory-activation-state-store.js +17 -1
  163. package/core/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
  164. package/core/dist/runtime-v2/activation/memory-approval-store.d.ts +6 -0
  165. package/core/dist/runtime-v2/activation/memory-approval-store.d.ts.map +1 -1
  166. package/core/dist/runtime-v2/activation/memory-approval-store.js +16 -0
  167. package/core/dist/runtime-v2/activation/memory-approval-store.js.map +1 -1
  168. package/core/dist/runtime-v2/activation/prompt-activation-reader-contract.js +1 -1
  169. package/core/dist/runtime-v2/activation/prompt-activation-reader-contract.js.map +1 -1
  170. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +2 -0
  171. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
  172. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js +34 -6
  173. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
  174. package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts +6 -0
  175. package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
  176. package/core/dist/runtime-v2/activation/sqlite-approval-store.js +10 -0
  177. package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
  178. package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +51 -1
  179. package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +1 -1
  180. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js +145 -0
  181. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js.map +1 -1
  182. package/core/dist/runtime-v2/adapter/json-extractor.d.ts +13 -0
  183. package/core/dist/runtime-v2/adapter/json-extractor.d.ts.map +1 -1
  184. package/core/dist/runtime-v2/adapter/json-extractor.js +103 -0
  185. package/core/dist/runtime-v2/adapter/json-extractor.js.map +1 -1
  186. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts +4 -2
  187. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
  188. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +57 -5
  189. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
  190. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts +18 -0
  191. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts.map +1 -0
  192. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +633 -0
  193. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -0
  194. package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.d.ts +13 -0
  195. package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.d.ts.map +1 -0
  196. package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +447 -0
  197. package/core/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -0
  198. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.d.ts +12 -0
  199. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.d.ts.map +1 -0
  200. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +525 -0
  201. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -0
  202. package/core/dist/runtime-v2/config/index.d.ts +3 -1
  203. package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
  204. package/core/dist/runtime-v2/config/index.js +1 -0
  205. package/core/dist/runtime-v2/config/index.js.map +1 -1
  206. package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts +93 -0
  207. package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -0
  208. package/core/dist/runtime-v2/config/pd-config-agent-binding.js +184 -0
  209. package/core/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -0
  210. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  211. package/core/dist/runtime-v2/config/pd-config-defaults.js +2 -0
  212. package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  213. package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  214. package/core/dist/runtime-v2/config/pd-config-effective.js +3 -0
  215. package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  216. package/core/dist/runtime-v2/config/pd-config-types.d.ts +8 -0
  217. package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  218. package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  219. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +13 -0
  220. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +1 -0
  221. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +97 -0
  222. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +1 -0
  223. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +3 -2
  224. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  225. package/core/dist/runtime-v2/diagnostician-prompt-builder.js +6 -4
  226. package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  227. package/core/dist/runtime-v2/evidence-sanitizer.d.ts +57 -0
  228. package/core/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -0
  229. package/core/dist/runtime-v2/evidence-sanitizer.js +213 -0
  230. package/core/dist/runtime-v2/evidence-sanitizer.js.map +1 -0
  231. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts +7 -0
  232. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts.map +1 -0
  233. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js +170 -0
  234. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js.map +1 -0
  235. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts +18 -0
  236. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts.map +1 -0
  237. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js +277 -0
  238. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js.map +1 -0
  239. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts +13 -0
  240. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts.map +1 -0
  241. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js +264 -0
  242. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js.map +1 -0
  243. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts +16 -0
  244. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts.map +1 -0
  245. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js +316 -0
  246. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js.map +1 -0
  247. package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts +126 -0
  248. package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts.map +1 -0
  249. package/core/dist/runtime-v2/evidence-triage/admission-events.js +159 -0
  250. package/core/dist/runtime-v2/evidence-triage/admission-events.js.map +1 -0
  251. package/core/dist/runtime-v2/evidence-triage/index.d.ts +16 -0
  252. package/core/dist/runtime-v2/evidence-triage/index.d.ts.map +1 -0
  253. package/core/dist/runtime-v2/evidence-triage/index.js +13 -0
  254. package/core/dist/runtime-v2/evidence-triage/index.js.map +1 -0
  255. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +48 -0
  256. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts.map +1 -0
  257. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +131 -0
  258. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js.map +1 -0
  259. package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts +32 -0
  260. package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts.map +1 -0
  261. package/core/dist/runtime-v2/evidence-triage/triage-policy.js +95 -0
  262. package/core/dist/runtime-v2/evidence-triage/triage-policy.js.map +1 -0
  263. package/core/dist/runtime-v2/evidence-triage/trigger-controller.d.ts +116 -0
  264. package/core/dist/runtime-v2/evidence-triage/trigger-controller.d.ts.map +1 -0
  265. package/core/dist/runtime-v2/evidence-triage/trigger-controller.js +218 -0
  266. package/core/dist/runtime-v2/evidence-triage/trigger-controller.js.map +1 -0
  267. package/core/dist/runtime-v2/evidence-triage/types.d.ts +65 -0
  268. package/core/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -0
  269. package/core/dist/runtime-v2/evidence-triage/types.js +38 -0
  270. package/core/dist/runtime-v2/evidence-triage/types.js.map +1 -0
  271. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +10 -0
  272. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  273. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  274. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +1 -0
  275. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  276. package/core/dist/runtime-v2/index.d.ts +8 -1
  277. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  278. package/core/dist/runtime-v2/index.js +7 -1
  279. package/core/dist/runtime-v2/index.js.map +1 -1
  280. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts +12 -0
  281. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts.map +1 -0
  282. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +83 -0
  283. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +1 -0
  284. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +10 -0
  285. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
  286. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +13 -1
  287. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
  288. package/core/dist/runtime-v2/internalization/scribe-runner.d.ts +3 -0
  289. package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  290. package/core/dist/runtime-v2/internalization/scribe-runner.js +2 -0
  291. package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  292. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +1 -1
  293. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
  294. package/core/dist/runtime-v2/language-directive.d.ts +80 -0
  295. package/core/dist/runtime-v2/language-directive.d.ts.map +1 -0
  296. package/core/dist/runtime-v2/language-directive.js +108 -0
  297. package/core/dist/runtime-v2/language-directive.js.map +1 -0
  298. package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  299. package/core/dist/runtime-v2/pain-signal-observability.js +24 -11
  300. package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  301. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +16 -0
  302. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  303. package/core/dist/runtime-v2/pain-signal-runtime-factory.js +97 -6
  304. package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  305. package/core/dist/runtime-v2/pain-to-principle-service.d.ts +7 -0
  306. package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  307. package/core/dist/runtime-v2/pain-to-principle-service.js +2 -0
  308. package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  309. package/core/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
  310. package/core/dist/runtime-v2/proven-channel-baseline.js +14 -0
  311. package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  312. package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +40 -0
  313. package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +1 -1
  314. package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  315. package/core/dist/runtime-v2/runner/base-peer-runner.js +1 -0
  316. package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  317. package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +10 -0
  318. package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +1 -1
  319. package/core/dist/runtime-v2/runner/diagnostician-runner-options.js +1 -0
  320. package/core/dist/runtime-v2/runner/diagnostician-runner-options.js.map +1 -1
  321. package/core/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +1 -1
  322. package/core/dist/runtime-v2/runner/diagnostician-runner.js +28 -4
  323. package/core/dist/runtime-v2/runner/diagnostician-runner.js.map +1 -1
  324. package/core/dist/runtime-v2/runner/peer-runner-types.d.ts +9 -0
  325. package/core/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
  326. package/core/dist/runtime-v2/store/runtime-state-manager.d.ts.map +1 -1
  327. package/core/dist/runtime-v2/store/runtime-state-manager.integration.test.js +34 -1
  328. package/core/dist/runtime-v2/store/runtime-state-manager.integration.test.js.map +1 -1
  329. package/core/dist/runtime-v2/store/runtime-state-manager.js +1 -0
  330. package/core/dist/runtime-v2/store/runtime-state-manager.js.map +1 -1
  331. package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  332. package/core/dist/runtime-v2/store/sqlite-connection.js +9 -1
  333. package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  334. package/core/dist/runtime-v2/store/task/sqlite-task-store.js +1 -1
  335. package/core/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
  336. package/core/dist/runtime-v2/task-status.d.ts +4 -4
  337. package/core/dist/runtime-v2/task-status.d.ts.map +1 -1
  338. package/core/dist/runtime-v2/task-status.js +2 -2
  339. package/core/dist/runtime-v2/task-status.js.map +1 -1
  340. package/core/package.json +1 -1
  341. package/dist/installer.js +1 -1
  342. package/dist/installer.js.map +1 -1
  343. package/package.json +2 -2
  344. package/pd-cli/dist/commands/console.d.ts +2 -0
  345. package/pd-cli/dist/commands/console.d.ts.map +1 -1
  346. package/pd-cli/dist/commands/console.js +6 -1
  347. package/pd-cli/dist/commands/console.js.map +1 -1
  348. package/pd-cli/dist/commands/diagnose.d.ts.map +1 -1
  349. package/pd-cli/dist/commands/diagnose.js +18 -1
  350. package/pd-cli/dist/commands/diagnose.js.map +1 -1
  351. package/pd-cli/dist/commands/pain-evidence.d.ts +41 -0
  352. package/pd-cli/dist/commands/pain-evidence.d.ts.map +1 -0
  353. package/pd-cli/dist/commands/pain-evidence.js +177 -0
  354. package/pd-cli/dist/commands/pain-evidence.js.map +1 -0
  355. package/pd-cli/dist/commands/pain-record.d.ts.map +1 -1
  356. package/pd-cli/dist/commands/pain-record.js +24 -9
  357. package/pd-cli/dist/commands/pain-record.js.map +1 -1
  358. package/pd-cli/dist/commands/pain-retry.d.ts +19 -0
  359. package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -0
  360. package/pd-cli/dist/commands/pain-retry.js +485 -0
  361. package/pd-cli/dist/commands/pain-retry.js.map +1 -0
  362. package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
  363. package/pd-cli/dist/commands/runtime-internalization-run-once.js +59 -9
  364. package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
  365. package/pd-cli/dist/commands/runtime-uat.d.ts +1 -0
  366. package/pd-cli/dist/commands/runtime-uat.d.ts.map +1 -1
  367. package/pd-cli/dist/commands/runtime-uat.guard.test.d.ts +2 -0
  368. package/pd-cli/dist/commands/runtime-uat.guard.test.d.ts.map +1 -0
  369. package/pd-cli/dist/commands/runtime-uat.guard.test.js +155 -0
  370. package/pd-cli/dist/commands/runtime-uat.guard.test.js.map +1 -0
  371. package/pd-cli/dist/commands/runtime-uat.js +29 -3
  372. package/pd-cli/dist/commands/runtime-uat.js.map +1 -1
  373. package/pd-cli/dist/config-reader.d.ts +25 -0
  374. package/pd-cli/dist/config-reader.d.ts.map +1 -0
  375. package/pd-cli/dist/config-reader.js +109 -0
  376. package/pd-cli/dist/config-reader.js.map +1 -0
  377. package/pd-cli/dist/index.js +40 -5
  378. package/pd-cli/dist/index.js.map +1 -1
  379. package/pd-cli/dist/services/console-launcher.d.ts.map +1 -1
  380. package/pd-cli/dist/services/console-launcher.js +29 -15
  381. package/pd-cli/dist/services/console-launcher.js.map +1 -1
  382. package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
  383. package/pd-cli/dist/services/demo-story-a-runner.js +1 -0
  384. package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
  385. package/pd-cli/dist/utils/production-workspace-guard.d.ts +77 -0
  386. package/pd-cli/dist/utils/production-workspace-guard.d.ts.map +1 -0
  387. package/pd-cli/dist/utils/production-workspace-guard.js +170 -0
  388. package/pd-cli/dist/utils/production-workspace-guard.js.map +1 -0
  389. package/pd-cli/dist/utils/production-workspace-guard.test.d.ts +2 -0
  390. package/pd-cli/dist/utils/production-workspace-guard.test.d.ts.map +1 -0
  391. package/pd-cli/dist/utils/production-workspace-guard.test.js +95 -0
  392. package/pd-cli/dist/utils/production-workspace-guard.test.js.map +1 -0
  393. package/pd-cli/package.json +1 -1
  394. package/plugin/dist/commands/pain.js +27 -2
  395. package/plugin/dist/core/pain-diagnostic-gate.d.ts +6 -0
  396. package/plugin/dist/core/pain-diagnostic-gate.js +9 -0
  397. package/plugin/dist/hooks/after-tool-call-helpers.d.ts +90 -0
  398. package/plugin/dist/hooks/after-tool-call-helpers.js +486 -0
  399. package/plugin/dist/hooks/after-tool-call-types.d.ts +92 -0
  400. package/plugin/dist/hooks/after-tool-call-types.js +13 -0
  401. package/plugin/dist/hooks/gate-block-helper.js +73 -29
  402. package/plugin/dist/hooks/llm.js +49 -29
  403. package/plugin/dist/hooks/message-sanitize.d.ts +21 -0
  404. package/plugin/dist/hooks/message-sanitize.js +30 -0
  405. package/plugin/dist/hooks/pain.d.ts +26 -3
  406. package/plugin/dist/hooks/pain.js +165 -425
  407. package/plugin/dist/hooks/prompt.js +3 -2
  408. package/plugin/dist/hooks/trajectory-evidence.d.ts +11 -0
  409. package/plugin/dist/hooks/trajectory-evidence.js +65 -0
  410. package/plugin/dist/hooks/triage-adapter.d.ts +82 -0
  411. package/plugin/dist/hooks/triage-adapter.js +121 -0
  412. package/console/dist/server/models/EventLogReadModel.d.ts +0 -33
  413. package/console/dist/server/models/EventLogReadModel.js +0 -218
  414. package/console/dist/server/models/EvolutionConsoleModel.d.ts +0 -79
  415. package/console/dist/server/models/EvolutionConsoleModel.js +0 -179
  416. package/console/dist/server/models/FeedbackConsoleModel.d.ts +0 -38
  417. package/console/dist/server/models/FeedbackConsoleModel.js +0 -129
  418. package/console/dist/server/models/GateConsoleModel.d.ts +0 -50
  419. package/console/dist/server/models/GateConsoleModel.js +0 -151
  420. package/console/dist/server/models/OverviewConsoleModel.d.ts +0 -22
  421. package/console/dist/server/models/OverviewConsoleModel.js +0 -202
  422. package/console/dist/server/models/PipelineStatsModel.d.ts +0 -35
  423. package/console/dist/server/models/PipelineStatsModel.js +0 -129
  424. package/console/dist/server/models/SampleConsoleModel.d.ts +0 -21
  425. package/console/dist/server/models/SampleConsoleModel.js +0 -188
  426. package/console/dist/server/models/ThinkingModelsConsoleModel.d.ts +0 -22
  427. package/console/dist/server/models/ThinkingModelsConsoleModel.js +0 -75
  428. package/console/dist/server/routes/agents.d.ts +0 -3
  429. package/console/dist/server/routes/agents.js +0 -442
  430. package/console/dist/server/routes/central.d.ts +0 -5
  431. package/console/dist/server/routes/central.js +0 -31
  432. package/console/dist/server/routes/events.d.ts +0 -10
  433. package/console/dist/server/routes/events.js +0 -99
  434. package/console/dist/server/routes/evolution.js +0 -73
  435. package/console/dist/server/routes/feedback.d.ts +0 -3
  436. package/console/dist/server/routes/feedback.js +0 -65
  437. package/console/dist/server/routes/gates.d.ts +0 -3
  438. package/console/dist/server/routes/gates.js +0 -52
  439. package/console/dist/server/routes/overview.d.ts +0 -3
  440. package/console/dist/server/routes/overview.js +0 -49
  441. package/console/dist/server/routes/pipeline.d.ts +0 -3
  442. package/console/dist/server/routes/pipeline.js +0 -33
  443. package/console/dist/server/routes/samples.d.ts +0 -3
  444. package/console/dist/server/routes/samples.js +0 -101
  445. package/console/dist/server/routes/thinking-models.d.ts +0 -3
  446. package/console/dist/server/routes/thinking-models.js +0 -54
  447. package/console/dist/ui/components/app-sidebar.d.ts +0 -7
  448. package/console/dist/ui/components/app-sidebar.js +0 -75
  449. package/console/dist/ui/components/compare-view.d.ts +0 -7
  450. package/console/dist/ui/components/compare-view.js +0 -32
  451. package/console/dist/ui/components/data-freshness-indicator.d.ts +0 -10
  452. package/console/dist/ui/components/data-freshness-indicator.js +0 -63
  453. package/console/dist/ui/components/health-diagnostic-card.d.ts +0 -15
  454. package/console/dist/ui/components/health-diagnostic-card.js +0 -42
  455. package/console/dist/ui/components/page-header.d.ts +0 -10
  456. package/console/dist/ui/components/page-header.js +0 -37
  457. package/console/dist/ui/hooks/useAutoRefresh.d.ts +0 -13
  458. package/console/dist/ui/hooks/useAutoRefresh.js +0 -64
  459. package/console/dist/ui/hooks/useBookmarks.d.ts +0 -6
  460. package/console/dist/ui/hooks/useBookmarks.js +0 -43
  461. package/console/dist/ui/hooks/useDebounce.d.ts +0 -2
  462. package/console/dist/ui/hooks/useDebounce.js +0 -32
  463. package/console/dist/ui/hooks/useKeyboardNavigation.d.ts +0 -14
  464. package/console/dist/ui/hooks/useKeyboardNavigation.js +0 -75
  465. package/console/dist/ui/pages/AgentsPage.d.ts +0 -1
  466. package/console/dist/ui/pages/AgentsPage.js +0 -167
  467. package/console/dist/ui/pages/ApprovalsPage.d.ts +0 -1
  468. package/console/dist/ui/pages/ApprovalsPage.js +0 -123
  469. package/console/dist/ui/pages/CentralPage.d.ts +0 -1
  470. package/console/dist/ui/pages/CentralPage.js +0 -57
  471. package/console/dist/ui/pages/DataFlowPage.d.ts +0 -1
  472. package/console/dist/ui/pages/DataFlowPage.js +0 -158
  473. package/console/dist/ui/pages/EventLogPage.d.ts +0 -1
  474. package/console/dist/ui/pages/EventLogPage.js +0 -176
  475. package/console/dist/ui/pages/EvolutionPage.d.ts +0 -1
  476. package/console/dist/ui/pages/EvolutionPage.js +0 -118
  477. package/console/dist/ui/pages/FeedbackPage.d.ts +0 -1
  478. package/console/dist/ui/pages/FeedbackPage.js +0 -46
  479. package/console/dist/ui/pages/GatesPage.d.ts +0 -1
  480. package/console/dist/ui/pages/GatesPage.js +0 -31
  481. package/console/dist/ui/pages/LoginPage.d.ts +0 -5
  482. package/console/dist/ui/pages/LoginPage.js +0 -39
  483. package/console/dist/ui/pages/OverviewPage.d.ts +0 -1
  484. package/console/dist/ui/pages/OverviewPage.js +0 -50
  485. package/console/dist/ui/pages/PainPage.js +0 -50
  486. package/console/dist/ui/pages/PrincipleDetailPage.js +0 -145
  487. package/console/dist/ui/pages/PrinciplesPage.js +0 -322
  488. package/console/dist/ui/pages/ReportProblemPage.js +0 -186
  489. package/console/dist/ui/pages/SamplesPage.d.ts +0 -1
  490. package/console/dist/ui/pages/SamplesPage.js +0 -105
  491. package/console/dist/ui/pages/SettingsPage.d.ts +0 -1
  492. package/console/dist/ui/pages/SettingsPage.js +0 -86
  493. package/console/dist/ui/pages/TasksPage.d.ts +0 -1
  494. package/console/dist/ui/pages/TasksPage.js +0 -373
  495. package/console/dist/ui/pages/ThinkingModelsPage.d.ts +0 -1
  496. package/console/dist/ui/pages/ThinkingModelsPage.js +0 -32
  497. package/console/dist/ui/pages/UpdatePage.d.ts +0 -1
  498. package/console/dist/ui/pages/UpdatePage.js +0 -142
  499. /package/console/dist/ui/pages/{PainPage.d.ts → pain/PainPage.d.ts} +0 -0
  500. /package/console/dist/ui/pages/{PrincipleDetailPage.d.ts → principles/PrincipleDetailPage.d.ts} +0 -0
  501. /package/console/dist/ui/pages/{PrinciplesPage.d.ts → principles/PrinciplesPage.d.ts} +0 -0
  502. /package/console/dist/ui/pages/{ReportProblemPage.d.ts → report-problem/ReportProblemPage.d.ts} +0 -0
@@ -0,0 +1,525 @@
1
+ /**
2
+ * PD Config Validation Edge Cases — PRI-304
3
+ *
4
+ *补充测试覆盖缺口:
5
+ * - 空字符串 provider/model/apiKeyEnv 验证
6
+ * - 特殊字符在 profile ID 中的处理
7
+ * - 多个并发错误同时发生时的错误收集
8
+ * - 超长字符串和边界值处理
9
+ * - 循环引用和不存在的 profile 引用
10
+ */
11
+ import { describe, it, expect } from 'vitest';
12
+ import { validatePdConfig, computeEffectivePdConfig, } from '../index.js';
13
+ function makeValidConfig() {
14
+ return {
15
+ version: 1,
16
+ features: {
17
+ prompt: { category: 'core', enabled: true },
18
+ code_tool_hook: { category: 'core', enabled: true },
19
+ defer_archive: { category: 'core', enabled: true },
20
+ correction_observer: { category: 'quiet', enabled: true },
21
+ gfi: { category: 'quiet', enabled: false },
22
+ nocturnal: { category: 'gone', enabled: false },
23
+ },
24
+ runtimeProfiles: {
25
+ 'openclaw.default': { type: 'openclaw', source: 'default' },
26
+ },
27
+ internalAgents: {
28
+ defaultRuntime: 'openclaw.default',
29
+ agents: {
30
+ diagnostician: { enabled: true },
31
+ dreamer: { enabled: true },
32
+ scribe: { enabled: true },
33
+ artificer: { enabled: true },
34
+ philosopher: { enabled: false },
35
+ evaluator: { enabled: false },
36
+ rolloutReviewer: { enabled: false },
37
+ trainer: { enabled: false },
38
+ correctionObserver: { enabled: false },
39
+ empathyObserver: { enabled: false },
40
+ },
41
+ },
42
+ ui: { diagnostics: { mode: 'simple' } },
43
+ };
44
+ }
45
+ // ── Empty String Validation ────────────────────────────────────────────────
46
+ describe('Empty string validation in pi-ai profiles', () => {
47
+ it('rejects empty provider string', () => {
48
+ const raw = makeValidConfig();
49
+ raw.runtimeProfiles['pd.empty-provider'] = {
50
+ type: 'pi-ai',
51
+ provider: '',
52
+ model: 'test-model',
53
+ apiKeyEnv: 'TEST_KEY',
54
+ };
55
+ const result = validatePdConfig(raw);
56
+ expect(result.ok).toBe(false);
57
+ if (result.ok)
58
+ throw new Error('Expected error');
59
+ expect(result.errors.some(e => e.path.includes('provider') &&
60
+ e.reason.includes('non-empty string'))).toBe(true);
61
+ });
62
+ it('rejects empty model string', () => {
63
+ const raw = makeValidConfig();
64
+ raw.runtimeProfiles['pd.empty-model'] = {
65
+ type: 'pi-ai',
66
+ provider: 'test-provider',
67
+ model: '',
68
+ apiKeyEnv: 'TEST_KEY',
69
+ };
70
+ const result = validatePdConfig(raw);
71
+ expect(result.ok).toBe(false);
72
+ if (result.ok)
73
+ throw new Error('Expected error');
74
+ expect(result.errors.some(e => e.path.includes('model') &&
75
+ e.reason.includes('non-empty string'))).toBe(true);
76
+ });
77
+ it('rejects empty apiKeyEnv string', () => {
78
+ const raw = makeValidConfig();
79
+ raw.runtimeProfiles['pd.empty-key'] = {
80
+ type: 'pi-ai',
81
+ provider: 'test-provider',
82
+ model: 'test-model',
83
+ apiKeyEnv: '',
84
+ };
85
+ const result = validatePdConfig(raw);
86
+ expect(result.ok).toBe(false);
87
+ if (result.ok)
88
+ throw new Error('Expected error');
89
+ expect(result.errors.some(e => e.path.includes('apiKeyEnv') &&
90
+ e.reason.includes('non-empty string'))).toBe(true);
91
+ });
92
+ it('accepts whitespace-only provider (current behavior - no trim)', () => {
93
+ const raw = makeValidConfig();
94
+ raw.runtimeProfiles['pd.whitespace-provider'] = {
95
+ type: 'pi-ai',
96
+ provider: ' ',
97
+ model: 'test-model',
98
+ apiKeyEnv: 'TEST_KEY',
99
+ };
100
+ const result = validatePdConfig(raw);
101
+ // Current validation only checks non-empty string, does not trim
102
+ // Whitespace-only strings are technically non-empty
103
+ expect(result.ok).toBe(true);
104
+ });
105
+ });
106
+ // ── Special Characters in Profile IDs ───────────────────────────────────────
107
+ describe('Special characters in profile IDs', () => {
108
+ it('accepts profile ID with dots', () => {
109
+ const raw = makeValidConfig();
110
+ raw.runtimeProfiles['pd.test.profile'] = {
111
+ type: 'pi-ai',
112
+ provider: 'test',
113
+ model: 'test-model',
114
+ apiKeyEnv: 'TEST_KEY',
115
+ };
116
+ const result = validatePdConfig(raw);
117
+ expect(result.ok).toBe(true);
118
+ });
119
+ it('accepts profile ID with hyphens', () => {
120
+ const raw = makeValidConfig();
121
+ raw.runtimeProfiles['pd-test-profile'] = {
122
+ type: 'pi-ai',
123
+ provider: 'test',
124
+ model: 'test-model',
125
+ apiKeyEnv: 'TEST_KEY',
126
+ };
127
+ const result = validatePdConfig(raw);
128
+ expect(result.ok).toBe(true);
129
+ });
130
+ it('accepts profile ID with underscores', () => {
131
+ const raw = makeValidConfig();
132
+ raw.runtimeProfiles['pd_test_profile'] = {
133
+ type: 'pi-ai',
134
+ provider: 'test',
135
+ model: 'test-model',
136
+ apiKeyEnv: 'TEST_KEY',
137
+ };
138
+ const result = validatePdConfig(raw);
139
+ expect(result.ok).toBe(true);
140
+ });
141
+ it('handles profile ID with Unicode characters', () => {
142
+ const raw = makeValidConfig();
143
+ raw.runtimeProfiles['pd测试profile'] = {
144
+ type: 'pi-ai',
145
+ provider: 'test',
146
+ model: 'test-model',
147
+ apiKeyEnv: 'TEST_KEY',
148
+ };
149
+ const result = validatePdConfig(raw);
150
+ // Unicode should be accepted (no restriction on profile ID charset)
151
+ expect(result.ok).toBe(true);
152
+ });
153
+ });
154
+ // ── Multiple Concurrent Errors ──────────────────────────────────────────────
155
+ describe('Multiple concurrent errors collection', () => {
156
+ it('collects all errors when multiple fields are invalid', () => {
157
+ const raw = makeValidConfig();
158
+ // Add multiple invalid profiles
159
+ raw.runtimeProfiles['pd.error1'] = {
160
+ type: 'pi-ai',
161
+ provider: '',
162
+ model: '',
163
+ apiKeyEnv: '',
164
+ };
165
+ raw.runtimeProfiles['pd.error2'] = {
166
+ type: 'pi-ai',
167
+ provider: 'valid',
168
+ model: '',
169
+ apiKeyEnv: '',
170
+ };
171
+ const result = validatePdConfig(raw);
172
+ expect(result.ok).toBe(false);
173
+ if (result.ok)
174
+ throw new Error('Expected error');
175
+ // Should have multiple errors, not just the first one
176
+ expect(result.errors.length).toBeGreaterThan(3);
177
+ expect(result.errors.some(e => e.path.includes('error1'))).toBe(true);
178
+ expect(result.errors.some(e => e.path.includes('error2'))).toBe(true);
179
+ });
180
+ it('collects errors from both features and profiles', () => {
181
+ const raw = {
182
+ version: 1,
183
+ features: {
184
+ prompt: { category: 'core', enabled: 'not-boolean' },
185
+ },
186
+ runtimeProfiles: {
187
+ 'pd.error': {
188
+ type: 'pi-ai',
189
+ provider: '',
190
+ model: '',
191
+ apiKeyEnv: '',
192
+ },
193
+ },
194
+ internalAgents: {
195
+ defaultRuntime: 'openclaw.default',
196
+ agents: {},
197
+ },
198
+ ui: { diagnostics: { mode: 'simple' } },
199
+ };
200
+ const result = validatePdConfig(raw);
201
+ expect(result.ok).toBe(false);
202
+ if (result.ok)
203
+ throw new Error('Expected error');
204
+ // Should have errors from both features and profiles
205
+ expect(result.errors.some(e => e.path.includes('features'))).toBe(true);
206
+ expect(result.errors.some(e => e.path.includes('runtimeProfiles'))).toBe(true);
207
+ });
208
+ it('continues validation after first error (does not short-circuit)', () => {
209
+ const raw = makeValidConfig();
210
+ // First error: invalid feature
211
+ raw.features.prompt = { category: 'core', enabled: 'invalid' };
212
+ // Second error: invalid profile
213
+ raw.runtimeProfiles['pd.error'] = {
214
+ type: 'pi-ai',
215
+ provider: '',
216
+ model: 'test',
217
+ apiKeyEnv: 'TEST_KEY',
218
+ };
219
+ // Third error: invalid internalAgents.defaultRuntime (empty string)
220
+ raw.internalAgents.defaultRuntime = '';
221
+ const result = validatePdConfig(raw);
222
+ expect(result.ok).toBe(false);
223
+ if (result.ok)
224
+ throw new Error('Expected error');
225
+ // Should have collected all three error categories
226
+ expect(result.errors.length).toBeGreaterThanOrEqual(3);
227
+ });
228
+ });
229
+ // ── Boundary Values ──────────────────────────────────────────────────────────
230
+ describe('Boundary values and extreme inputs', () => {
231
+ it('handles very long provider strings', () => {
232
+ const raw = makeValidConfig();
233
+ const longProvider = 'a'.repeat(1000);
234
+ raw.runtimeProfiles['pd.long-provider'] = {
235
+ type: 'pi-ai',
236
+ provider: longProvider,
237
+ model: 'test-model',
238
+ apiKeyEnv: 'TEST_KEY',
239
+ };
240
+ const result = validatePdConfig(raw);
241
+ // Long strings should be accepted (no length limit in validation)
242
+ expect(result.ok).toBe(true);
243
+ });
244
+ it('handles very long model strings', () => {
245
+ const raw = makeValidConfig();
246
+ const longModel = 'model-'.repeat(200);
247
+ raw.runtimeProfiles['pd.long-model'] = {
248
+ type: 'pi-ai',
249
+ provider: 'test',
250
+ model: longModel,
251
+ apiKeyEnv: 'TEST_KEY',
252
+ };
253
+ const result = validatePdConfig(raw);
254
+ expect(result.ok).toBe(true);
255
+ });
256
+ it('handles very large timeoutMs values', () => {
257
+ const raw = makeValidConfig();
258
+ raw.runtimeProfiles['pd.large-timeout'] = {
259
+ type: 'pi-ai',
260
+ provider: 'test',
261
+ model: 'test-model',
262
+ apiKeyEnv: 'TEST_KEY',
263
+ timeoutMs: 86400000, // 24 hours in ms
264
+ };
265
+ const result = validatePdConfig(raw);
266
+ expect(result.ok).toBe(true);
267
+ });
268
+ it('rejects extremely large timeoutMs (Infinity)', () => {
269
+ const raw = makeValidConfig();
270
+ raw.runtimeProfiles['pd.infinity-timeout'] = {
271
+ type: 'pi-ai',
272
+ provider: 'test',
273
+ model: 'test-model',
274
+ apiKeyEnv: 'TEST_KEY',
275
+ timeoutMs: Infinity,
276
+ };
277
+ const result = validatePdConfig(raw);
278
+ expect(result.ok).toBe(false);
279
+ if (result.ok)
280
+ throw new Error('Expected error');
281
+ expect(result.errors.some(e => e.path.includes('timeoutMs') &&
282
+ e.reason.includes('finite'))).toBe(true);
283
+ });
284
+ it('handles baseUrl with special characters', () => {
285
+ const raw = makeValidConfig();
286
+ raw.runtimeProfiles['pd.special-url'] = {
287
+ type: 'pi-ai',
288
+ provider: 'test',
289
+ model: 'test-model',
290
+ apiKeyEnv: 'TEST_KEY',
291
+ baseUrl: 'https://api.example.com:8080/v1/path?query=value',
292
+ };
293
+ const result = validatePdConfig(raw);
294
+ expect(result.ok).toBe(true);
295
+ });
296
+ });
297
+ // ── Profile Reference Validation ─────────────────────────────────────────────
298
+ describe('Profile reference validation in agents', () => {
299
+ it('accepts agent referencing valid profile', () => {
300
+ const raw = makeValidConfig();
301
+ raw.runtimeProfiles['pd.custom'] = {
302
+ type: 'pi-ai',
303
+ provider: 'test',
304
+ model: 'test-model',
305
+ apiKeyEnv: 'TEST_KEY',
306
+ };
307
+ raw.internalAgents.agents.diagnostician = {
308
+ enabled: true,
309
+ runtimeProfile: 'pd.custom',
310
+ };
311
+ const result = validatePdConfig(raw);
312
+ expect(result.ok).toBe(true);
313
+ });
314
+ it('accepts agent referencing non-existent profile (warning in effective config)', () => {
315
+ const raw = makeValidConfig();
316
+ raw.internalAgents.agents.diagnostician = {
317
+ enabled: true,
318
+ runtimeProfile: 'pd.nonexistent',
319
+ };
320
+ const result = validatePdConfig(raw);
321
+ // Validation passes (profile existence is checked in effective config)
322
+ expect(result.ok).toBe(true);
323
+ if (!result.ok)
324
+ throw new Error('Expected ok');
325
+ const effective = computeEffectivePdConfig(result.value);
326
+ // Effective config should have a warning about missing profile
327
+ expect(effective.warnings.some(w => w.includes('nonexistent') || w.includes('not found'))).toBe(true);
328
+ });
329
+ it('accepts defaultRuntime referencing non-existent profile (warning)', () => {
330
+ const raw = makeValidConfig();
331
+ raw.internalAgents.defaultRuntime = 'pd.nonexistent-default';
332
+ const result = validatePdConfig(raw);
333
+ expect(result.ok).toBe(true);
334
+ if (!result.ok)
335
+ throw new Error('Expected ok');
336
+ const effective = computeEffectivePdConfig(result.value);
337
+ expect(effective.warnings.length).toBeGreaterThan(0);
338
+ });
339
+ });
340
+ // ── Type Coercion Edge Cases ─────────────────────────────────────────────────
341
+ describe('Type coercion edge cases', () => {
342
+ it('rejects numeric provider (type mismatch)', () => {
343
+ const raw = makeValidConfig();
344
+ raw.runtimeProfiles['pd.numeric-provider'] = {
345
+ type: 'pi-ai',
346
+ provider: 123,
347
+ model: 'test-model',
348
+ apiKeyEnv: 'TEST_KEY',
349
+ };
350
+ const result = validatePdConfig(raw);
351
+ expect(result.ok).toBe(false);
352
+ if (result.ok)
353
+ throw new Error('Expected error');
354
+ expect(result.errors.some(e => e.path.includes('provider') &&
355
+ e.reason.includes('string'))).toBe(true);
356
+ });
357
+ it('rejects boolean apiKeyEnv', () => {
358
+ const raw = makeValidConfig();
359
+ raw.runtimeProfiles['pd.bool-key'] = {
360
+ type: 'pi-ai',
361
+ provider: 'test',
362
+ model: 'test-model',
363
+ apiKeyEnv: true,
364
+ };
365
+ const result = validatePdConfig(raw);
366
+ expect(result.ok).toBe(false);
367
+ if (result.ok)
368
+ throw new Error('Expected error');
369
+ expect(result.errors.some(e => e.path.includes('apiKeyEnv') &&
370
+ e.reason.includes('string'))).toBe(true);
371
+ });
372
+ it('rejects object as enabled value', () => {
373
+ const raw = makeValidConfig();
374
+ raw.features.prompt = {
375
+ category: 'core',
376
+ enabled: { value: true },
377
+ };
378
+ const result = validatePdConfig(raw);
379
+ expect(result.ok).toBe(false);
380
+ if (result.ok)
381
+ throw new Error('Expected error');
382
+ expect(result.errors.some(e => e.path.includes('enabled') &&
383
+ e.reason.includes('boolean'))).toBe(true);
384
+ });
385
+ it('rejects null as category value', () => {
386
+ const raw = makeValidConfig();
387
+ raw.features.prompt = {
388
+ category: null,
389
+ enabled: true,
390
+ };
391
+ const result = validatePdConfig(raw);
392
+ expect(result.ok).toBe(false);
393
+ if (result.ok)
394
+ throw new Error('Expected error');
395
+ expect(result.errors.some(e => e.path.includes('category'))).toBe(true);
396
+ });
397
+ });
398
+ // ── OpenClaw Profile Edge Cases ──────────────────────────────────────────────
399
+ describe('OpenClaw profile edge cases', () => {
400
+ it('accepts OpenClaw profile with only type', () => {
401
+ const raw = makeValidConfig();
402
+ raw.runtimeProfiles['openclaw.minimal'] = {
403
+ type: 'openclaw',
404
+ };
405
+ const result = validatePdConfig(raw);
406
+ expect(result.ok).toBe(true);
407
+ });
408
+ it('accepts OpenClaw profile with all optional fields', () => {
409
+ const raw = makeValidConfig();
410
+ raw.runtimeProfiles['openclaw.full'] = {
411
+ type: 'openclaw',
412
+ provider: 'lmstudio',
413
+ model: 'qwen3',
414
+ source: 'custom',
415
+ };
416
+ const result = validatePdConfig(raw);
417
+ expect(result.ok).toBe(true);
418
+ });
419
+ it('rejects numeric source in OpenClaw profile', () => {
420
+ const raw = makeValidConfig();
421
+ raw.runtimeProfiles['openclaw.bad-source'] = {
422
+ type: 'openclaw',
423
+ source: 123,
424
+ };
425
+ const result = validatePdConfig(raw);
426
+ expect(result.ok).toBe(false);
427
+ if (result.ok)
428
+ throw new Error('Expected error');
429
+ expect(result.errors.some(e => e.path.includes('source') &&
430
+ e.reason.includes('string'))).toBe(true);
431
+ });
432
+ });
433
+ // ── Malformed Profile Validation (validated config path) ─────────────────────
434
+ describe('Malformed profile validation through validatePdConfig', () => {
435
+ it('rejects profile with missing type field (empty object)', () => {
436
+ // Regression test: {} profile must be rejected at validation layer,
437
+ // not silently passed to binding resolution
438
+ const raw = {
439
+ version: 1,
440
+ features: {
441
+ prompt: { category: 'core', enabled: true },
442
+ code_tool_hook: { category: 'core', enabled: true },
443
+ defer_archive: { category: 'core', enabled: true },
444
+ correction_observer: { category: 'quiet', enabled: true },
445
+ gfi: { category: 'quiet', enabled: false },
446
+ nocturnal: { category: 'gone', enabled: false },
447
+ },
448
+ runtimeProfiles: {
449
+ 'openclaw.default': { type: 'openclaw', source: 'default' },
450
+ 'malformed-profile': {}, // Missing 'type' field
451
+ },
452
+ internalAgents: {
453
+ defaultRuntime: 'openclaw.default',
454
+ agents: {
455
+ diagnostician: { enabled: true, runtimeProfile: 'malformed-profile' },
456
+ },
457
+ },
458
+ ui: { diagnostics: { mode: 'simple' } },
459
+ };
460
+ const result = validatePdConfig(raw);
461
+ expect(result.ok).toBe(false);
462
+ if (result.ok)
463
+ throw new Error('Expected error');
464
+ expect(result.errors.some(e => e.path.includes('malformed-profile') &&
465
+ e.reason.includes('type'))).toBe(true);
466
+ });
467
+ it('rejects profile with null value', () => {
468
+ // Regression test: null profile must be rejected at validation layer
469
+ const raw = {
470
+ version: 1,
471
+ features: {
472
+ prompt: { category: 'core', enabled: true },
473
+ code_tool_hook: { category: 'core', enabled: true },
474
+ defer_archive: { category: 'core', enabled: true },
475
+ correction_observer: { category: 'quiet', enabled: true },
476
+ gfi: { category: 'quiet', enabled: false },
477
+ nocturnal: { category: 'gone', enabled: false },
478
+ },
479
+ runtimeProfiles: {
480
+ 'openclaw.default': { type: 'openclaw', source: 'default' },
481
+ 'null-profile': null,
482
+ },
483
+ internalAgents: {
484
+ defaultRuntime: 'openclaw.default',
485
+ agents: {},
486
+ },
487
+ ui: { diagnostics: { mode: 'simple' } },
488
+ };
489
+ const result = validatePdConfig(raw);
490
+ expect(result.ok).toBe(false);
491
+ if (result.ok)
492
+ throw new Error('Expected error');
493
+ expect(result.errors.some(e => e.path.includes('null-profile'))).toBe(true);
494
+ });
495
+ it('rejects profile with invalid type value', () => {
496
+ // Regression test: invalid type must be rejected at validation layer
497
+ const raw = {
498
+ version: 1,
499
+ features: {
500
+ prompt: { category: 'core', enabled: true },
501
+ code_tool_hook: { category: 'core', enabled: true },
502
+ defer_archive: { category: 'core', enabled: true },
503
+ correction_observer: { category: 'quiet', enabled: true },
504
+ gfi: { category: 'quiet', enabled: false },
505
+ nocturnal: { category: 'gone', enabled: false },
506
+ },
507
+ runtimeProfiles: {
508
+ 'openclaw.default': { type: 'openclaw', source: 'default' },
509
+ 'bad-type-profile': { type: 'invalid_type' },
510
+ },
511
+ internalAgents: {
512
+ defaultRuntime: 'openclaw.default',
513
+ agents: {},
514
+ },
515
+ ui: { diagnostics: { mode: 'simple' } },
516
+ };
517
+ const result = validatePdConfig(raw);
518
+ expect(result.ok).toBe(false);
519
+ if (result.ok)
520
+ throw new Error('Expected error');
521
+ expect(result.errors.some(e => e.path.includes('bad-type-profile') &&
522
+ e.reason.includes('type'))).toBe(true);
523
+ });
524
+ });
525
+ //# sourceMappingURL=pd-config-validation-edge-cases.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pd-config-validation-edge-cases.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Public API for the PD-owned config contract.
5
5
  */
6
- export type { PdConfigVersion, FeatureCategory, FeatureFlagEntry, RuntimeProfileType, OpenClawRuntimeProfile, PdLocalRuntimeProfile, RuntimeProfile, InternalAgentName, InternalAgentBinding, InternalAgentsConfig, DiagnosticsMode, UiConfig, PdConfig, PdConfigValidationError, PdConfigValidationResultOk, PdConfigValidationResultErr, PdConfigValidationResult, EffectivePdConfig, RedactedRuntimeProfileSummary, RedactedAgentSummary, RedactedFeatureSummary, RedactedPdConfigSummary, } from './pd-config-types.js';
6
+ export type { PdConfigVersion, FeatureCategory, FeatureFlagEntry, RuntimeProfileType, OpenClawRuntimeProfile, PdLocalRuntimeProfile, RuntimeProfile, InternalAgentName, InternalAgentBinding, InternalAgentsConfig, DiagnosticsMode, UiConfig, PrinciplesConfig, PdConfig, PdConfigValidationError, PdConfigValidationResultOk, PdConfigValidationResultErr, PdConfigValidationResult, EffectivePdConfig, RedactedRuntimeProfileSummary, RedactedAgentSummary, RedactedFeatureSummary, RedactedPdConfigSummary, } from './pd-config-types.js';
7
7
  export { PD_CONFIG_VERSION, VALID_FEATURE_CATEGORIES, VALID_PROFILE_TYPES, INTERNAL_AGENT_NAMES, VALID_DIAGNOSTICS_MODES, DANGEROUS_KEYS, } from './pd-config-types.js';
8
8
  export { validatePdConfig, } from './pd-config-validate.js';
9
9
  export { DEFAULT_FEATURE_FLAGS, DEFAULT_RUNTIME_PROFILE_ID, DEFAULT_RUNTIME_PROFILE, DEFAULT_UI, getDefaultInternalAgents, getDefaultPdConfig, } from './pd-config-defaults.js';
@@ -11,4 +11,6 @@ export { computeEffectivePdConfig, } from './pd-config-effective.js';
11
11
  export { redactPdConfig, redactConfigValue, } from './pd-config-redaction.js';
12
12
  export type { EffectiveFeatureFlag, FeatureFlagsResult, } from './pd-config-feature-flags.js';
13
13
  export { MVP_CHANNEL_IDS, computeFeatureFlagsFromConfig, isFeatureEnabled, getEnabledFlagIds, } from './pd-config-feature-flags.js';
14
+ export type { AgentRuntimeBindingOk, AgentRuntimeBindingErr, AgentRuntimeBindingResult, AgentRuntimeReadinessResult, PiAiAdapterConfigResult, OpenClawAdapterConfigResult, AdapterConfigResult, } from './pd-config-agent-binding.js';
15
+ export { resolveAgentRuntimeBinding, checkAgentRuntimeReadiness, createAdapterConfigFromProfile, } from './pd-config-agent-binding.js';
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
@@ -13,4 +13,5 @@ export { computeEffectivePdConfig, } from './pd-config-effective.js';
13
13
  // Redaction
14
14
  export { redactPdConfig, redactConfigValue, } from './pd-config-redaction.js';
15
15
  export { MVP_CHANNEL_IDS, computeFeatureFlagsFromConfig, isFeatureEnabled, getEnabledFlagIds, } from './pd-config-feature-flags.js';
16
+ export { resolveAgentRuntimeBinding, checkAgentRuntimeReadiness, createAdapterConfigFromProfile, } from './pd-config-agent-binding.js';
16
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,mBAAmB;AACnB,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6BH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EACL,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,WAAW;AACX,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,EACV,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,mBAAmB;AACnB,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY;AACZ,OAAO,EACL,cAAc,EACd,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAatC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}