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 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,UAAU,EACV,cAAc,EACd,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGlF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,YAAY,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Evidence Triage — PEAT-B1 → B2
3
+ *
4
+ * Public API for pre-diagnosis evidence triage and trigger control.
5
+ * Pure types and policy — no I/O, no plugin imports.
6
+ */
7
+ export { isSourceKind } from './types.js';
8
+ export { SOURCE_DESCRIPTORS, getSourceDescriptor } from './source-descriptors.js';
9
+ // Triage policy
10
+ export { evaluateTriage } from './triage-policy.js';
11
+ export { evaluateTriggerController, shouldCreateTask, isAdmittedOutcome, isSkippedOutcome, } from './trigger-controller.js';
12
+ export { createAdmissionDecisionEvent, createDiagnosisTaskCreatedEvent, createEvidenceOnlyRecordedEvent, createSkippedRefusedEvent, serializeAdmissionEvent, validateEventPrivacy, } from './admission-events.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAElF,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQpD,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EACL,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Source Descriptors — PEAT-B1
3
+ *
4
+ * Declarative policy mapping from SourceKind to default TriageDecision.
5
+ * This is pure data — no I/O, no plugin imports.
6
+ *
7
+ * Each descriptor defines:
8
+ * - kind: the SourceKind it describes
9
+ * - defaultDecision: the default triage decision
10
+ * - reason: why this default was chosen
11
+ * - nextAction: what should happen when this decision is applied
12
+ * - canUpgrade: whether the plugin adapter may upgrade the decision
13
+ * (e.g., rulehost_block can be upgraded to 'admit' for unsafe actions)
14
+ *
15
+ * ERR checklist:
16
+ * - ERR-002: Every descriptor carries reason + nextAction.
17
+ * - ERR-005: Descriptors are data, not assumptions about callers.
18
+ */
19
+ import type { SourceKind, TriageDecision } from './types.js';
20
+ export interface SourceDescriptor {
21
+ readonly kind: SourceKind;
22
+ readonly defaultDecision: TriageDecision;
23
+ readonly reason: string;
24
+ readonly nextAction: string;
25
+ /**
26
+ * Whether the plugin adapter may upgrade this decision.
27
+ * When true, the adapter can override defaultDecision based on context
28
+ * (e.g., isUnsafeHighConfidence for rulehost_block).
29
+ */
30
+ readonly canUpgrade: boolean;
31
+ }
32
+ /**
33
+ * Source kind descriptors. Order does not matter — lookup is by kind.
34
+ *
35
+ * Design rationale per PRODUCT_IDENTITY.md and ADR-0014:
36
+ * - PD owns owner-relevant behavior evidence, not tool repair.
37
+ * - Manual/owner-reported pain has highest confidence.
38
+ * - Tool failures are infrastructure noise (OpenClaw's job, not PD's).
39
+ * - Empathy-inferred frustration must never silently create diagnosis.
40
+ * - GFI alone cannot trigger diagnosis (it's a session health metric).
41
+ */
42
+ export declare const SOURCE_DESCRIPTORS: ReadonlyMap<SourceKind, SourceDescriptor>;
43
+ /**
44
+ * Get the source descriptor for a given kind.
45
+ * Returns undefined if the kind is not registered (caller should treat as 'unknown').
46
+ */
47
+ export declare function getSourceDescriptor(kind: SourceKind): SourceDescriptor | undefined;
48
+ //# sourceMappingURL=source-descriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-descriptors.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/source-descriptors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,UAAU,EAAE,gBAAgB,CA4FvE,CAAC;AAIH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAElF"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Source Descriptors — PEAT-B1
3
+ *
4
+ * Declarative policy mapping from SourceKind to default TriageDecision.
5
+ * This is pure data — no I/O, no plugin imports.
6
+ *
7
+ * Each descriptor defines:
8
+ * - kind: the SourceKind it describes
9
+ * - defaultDecision: the default triage decision
10
+ * - reason: why this default was chosen
11
+ * - nextAction: what should happen when this decision is applied
12
+ * - canUpgrade: whether the plugin adapter may upgrade the decision
13
+ * (e.g., rulehost_block can be upgraded to 'admit' for unsafe actions)
14
+ *
15
+ * ERR checklist:
16
+ * - ERR-002: Every descriptor carries reason + nextAction.
17
+ * - ERR-005: Descriptors are data, not assumptions about callers.
18
+ */
19
+ // ── Descriptor Registry ─────────────────────────────────────────────────────
20
+ /**
21
+ * Source kind descriptors. Order does not matter — lookup is by kind.
22
+ *
23
+ * Design rationale per PRODUCT_IDENTITY.md and ADR-0014:
24
+ * - PD owns owner-relevant behavior evidence, not tool repair.
25
+ * - Manual/owner-reported pain has highest confidence.
26
+ * - Tool failures are infrastructure noise (OpenClaw's job, not PD's).
27
+ * - Empathy-inferred frustration must never silently create diagnosis.
28
+ * - GFI alone cannot trigger diagnosis (it's a session health metric).
29
+ */
30
+ export const SOURCE_DESCRIPTORS = new Map([
31
+ ['owner_reported', {
32
+ kind: 'owner_reported',
33
+ defaultDecision: 'admit',
34
+ reason: 'Owner explicitly reported pain. Highest confidence signal.',
35
+ nextAction: 'none',
36
+ canUpgrade: false,
37
+ }],
38
+ ['agent_on_owner_request', {
39
+ kind: 'agent_on_owner_request',
40
+ defaultDecision: 'admit',
41
+ reason: 'Agent recorded pain at owner request. Owner intent preserved.',
42
+ nextAction: 'none',
43
+ canUpgrade: false,
44
+ }],
45
+ ['tool_failure', {
46
+ kind: 'tool_failure',
47
+ defaultDecision: 'evidence_only',
48
+ reason: 'Tool failure is infrastructure noise. PD does not own tool repair (ADR-0014).',
49
+ nextAction: 'store_as_evidence_for_later_correlation',
50
+ canUpgrade: false,
51
+ }],
52
+ ['dispatch_error', {
53
+ kind: 'dispatch_error',
54
+ defaultDecision: 'evidence_only',
55
+ reason: 'Dispatch/subagent routing error. Not a behavior pattern.',
56
+ nextAction: 'store_as_evidence_for_later_correlation',
57
+ canUpgrade: false,
58
+ }],
59
+ ['provider_failure', {
60
+ kind: 'provider_failure',
61
+ defaultDecision: 'health_only',
62
+ reason: 'LLM provider failure. Infrastructure health signal, not owner-relevant behavior.',
63
+ nextAction: 'record_in_health_telemetry',
64
+ canUpgrade: false,
65
+ }],
66
+ ['rate_limit', {
67
+ kind: 'rate_limit',
68
+ defaultDecision: 'health_only',
69
+ reason: 'LLM provider rate limit. Infrastructure health signal, not owner-relevant behavior.',
70
+ nextAction: 'record_in_health_telemetry',
71
+ canUpgrade: false,
72
+ }],
73
+ ['rulehost_block', {
74
+ kind: 'rulehost_block',
75
+ defaultDecision: 'evidence_only',
76
+ reason: 'RuleHost block is near-miss evidence. Default evidence-only.',
77
+ nextAction: 'store_as_evidence_for_later_correlation',
78
+ canUpgrade: true, // adapter can upgrade to 'admit' for high-confidence unsafe actions
79
+ }],
80
+ ['empathy_inferred', {
81
+ kind: 'empathy_inferred',
82
+ defaultDecision: 'owner_confirm',
83
+ reason: 'Empathy-inferred frustration. Never silently creates diagnosis (PRODUCT_IDENTITY: owner-governed).',
84
+ nextAction: 'request_owner_confirmation_before_diagnosis',
85
+ canUpgrade: false,
86
+ }],
87
+ ['semantic', {
88
+ kind: 'semantic',
89
+ defaultDecision: 'evidence_only',
90
+ reason: 'Keyword/detection match. Not explicit owner pain. Needs accumulation.',
91
+ nextAction: 'store_as_evidence_for_later_correlation',
92
+ canUpgrade: false,
93
+ }],
94
+ ['llm_paralysis', {
95
+ kind: 'llm_paralysis',
96
+ defaultDecision: 'evidence_only',
97
+ reason: 'Session health signal. GFI alone cannot create diagnosis.',
98
+ nextAction: 'store_as_evidence_for_later_correlation',
99
+ canUpgrade: false,
100
+ }],
101
+ ['subagent_error', {
102
+ kind: 'subagent_error',
103
+ defaultDecision: 'evidence_only',
104
+ reason: 'Subagent workflow failure. Not a behavior pattern by itself.',
105
+ nextAction: 'store_as_evidence_for_later_correlation',
106
+ canUpgrade: false,
107
+ }],
108
+ ['gfi_threshold', {
109
+ kind: 'gfi_threshold',
110
+ defaultDecision: 'evidence_only',
111
+ reason: 'Accumulated GFI. GFI alone cannot create diagnosis per acceptance criteria.',
112
+ nextAction: 'store_as_evidence_for_later_correlation',
113
+ canUpgrade: false,
114
+ }],
115
+ ['unknown', {
116
+ kind: 'unknown',
117
+ defaultDecision: 'evidence_only',
118
+ reason: 'Unclassified source. Conservative default.',
119
+ nextAction: 'classify_source_kind_and_store_as_evidence',
120
+ canUpgrade: false,
121
+ }],
122
+ ]);
123
+ // ── Lookup ───────────────────────────────────────────────────────────────────
124
+ /**
125
+ * Get the source descriptor for a given kind.
126
+ * Returns undefined if the kind is not registered (caller should treat as 'unknown').
127
+ */
128
+ export function getSourceDescriptor(kind) {
129
+ return SOURCE_DESCRIPTORS.get(kind);
130
+ }
131
+ //# sourceMappingURL=source-descriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-descriptors.js","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/source-descriptors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAmBH,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA8C,IAAI,GAAG,CAA+B;IACjH,CAAC,gBAAgB,EAAE;YACjB,IAAI,EAAE,gBAAgB;YACtB,eAAe,EAAE,OAAO;YACxB,MAAM,EAAE,4DAA4D;YACpE,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,wBAAwB,EAAE;YACzB,IAAI,EAAE,wBAAwB;YAC9B,eAAe,EAAE,OAAO;YACxB,MAAM,EAAE,+DAA+D;YACvE,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,cAAc,EAAE;YACf,IAAI,EAAE,cAAc;YACpB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,+EAA+E;YACvF,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,gBAAgB,EAAE;YACjB,IAAI,EAAE,gBAAgB;YACtB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,0DAA0D;YAClE,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,kBAAkB,EAAE;YACnB,IAAI,EAAE,kBAAkB;YACxB,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE,kFAAkF;YAC1F,UAAU,EAAE,4BAA4B;YACxC,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,YAAY,EAAE;YACb,IAAI,EAAE,YAAY;YAClB,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE,qFAAqF;YAC7F,UAAU,EAAE,4BAA4B;YACxC,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,gBAAgB,EAAE;YACjB,IAAI,EAAE,gBAAgB;YACtB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,8DAA8D;YACtE,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,IAAI,EAAE,oEAAoE;SACvF,CAAC;IACF,CAAC,kBAAkB,EAAE;YACnB,IAAI,EAAE,kBAAkB;YACxB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,oGAAoG;YAC5G,UAAU,EAAE,6CAA6C;YACzD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,UAAU,EAAE;YACX,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,uEAAuE;YAC/E,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,IAAI,EAAE,eAAe;YACrB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,2DAA2D;YACnE,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,gBAAgB,EAAE;YACjB,IAAI,EAAE,gBAAgB;YACtB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,8DAA8D;YACtE,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,eAAe,EAAE;YAChB,IAAI,EAAE,eAAe;YACrB,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,6EAA6E;YACrF,UAAU,EAAE,yCAAyC;YACrD,UAAU,EAAE,KAAK;SAClB,CAAC;IACF,CAAC,SAAS,EAAE;YACV,IAAI,EAAE,SAAS;YACf,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,4CAA4C;YACpD,UAAU,EAAE,4CAA4C;YACxD,UAAU,EAAE,KAAK;SAClB,CAAC;CACH,CAAC,CAAC;AAEH,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Triage Policy — PEAT-B1
3
+ *
4
+ * Pure policy evaluation for pre-diagnosis evidence triage.
5
+ * No I/O, no plugin imports, no side effects.
6
+ *
7
+ * This module evaluates a TriageInput against source descriptors
8
+ * and returns a TriageResult. The plugin adapter calls this function
9
+ * and uses the result to decide whether to proceed to diagnosis.
10
+ *
11
+ * ERR checklist:
12
+ * - ERR-001: No `as` casts. Input validated with runtime guards.
13
+ * - ERR-002: Every result carries structured reason + nextAction.
14
+ * - ERR-005: Input is unknown, validated field-by-field.
15
+ */
16
+ import type { TriageInput, TriageResult } from './types.js';
17
+ /**
18
+ * Evaluate triage policy for incoming evidence.
19
+ *
20
+ * This is the pure policy function. It does not:
21
+ * - Call PainDiagnosticGate
22
+ * - Write to event log or trajectory
23
+ * - Create diagnostic tasks
24
+ * - Import anything from the plugin layer
25
+ *
26
+ * It only reads source descriptors and applies policy rules.
27
+ *
28
+ * @param input - Triage input with source kind and context
29
+ * @returns Structured triage result with decision, reason, and nextAction
30
+ */
31
+ export declare function evaluateTriage(input: TriageInput): TriageResult;
32
+ //# sourceMappingURL=triage-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-policy.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/triage-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAA8B,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAuCxF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAmC/D"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Triage Policy — PEAT-B1
3
+ *
4
+ * Pure policy evaluation for pre-diagnosis evidence triage.
5
+ * No I/O, no plugin imports, no side effects.
6
+ *
7
+ * This module evaluates a TriageInput against source descriptors
8
+ * and returns a TriageResult. The plugin adapter calls this function
9
+ * and uses the result to decide whether to proceed to diagnosis.
10
+ *
11
+ * ERR checklist:
12
+ * - ERR-001: No `as` casts. Input validated with runtime guards.
13
+ * - ERR-002: Every result carries structured reason + nextAction.
14
+ * - ERR-005: Input is unknown, validated field-by-field.
15
+ */
16
+ import { isSourceKind } from './types.js';
17
+ import { getSourceDescriptor } from './source-descriptors.js';
18
+ // ── Upgrade Rules ───────────────────────────────────────────────────────────
19
+ /**
20
+ * Apply upgrade rules for upgradable source kinds.
21
+ *
22
+ * Currently only 'rulehost_block' can be upgraded:
23
+ * - If isUnsafeHighConfidence is true, upgrade from 'evidence_only' to 'admit'
24
+ *
25
+ * This is the ONLY place where context-dependent upgrades happen in core.
26
+ * The plugin adapter sets isUnsafeHighConfidence based on hook context.
27
+ */
28
+ function applyUpgradeRules(input, defaultDecision) {
29
+ if (input.sourceKind === 'rulehost_block' && input.isUnsafeHighConfidence === true) {
30
+ return 'admit';
31
+ }
32
+ return defaultDecision;
33
+ }
34
+ function getUpgradeReason(sourceKind, decision, input) {
35
+ if (sourceKind === 'rulehost_block' && decision === 'admit') {
36
+ return `RuleHost blocked a high-confidence unsafe action (score=${input.score}). Upgrading to direct diagnosis.`;
37
+ }
38
+ // Should not reach here — fallback
39
+ return `Upgraded decision for ${sourceKind}: ${decision}`;
40
+ }
41
+ function getUpgradeNextAction(sourceKind, decision) {
42
+ if (sourceKind === 'rulehost_block' && decision === 'admit') {
43
+ return 'none';
44
+ }
45
+ return 'none';
46
+ }
47
+ // ── Evaluation ──────────────────────────────────────────────────────────────
48
+ /**
49
+ * Evaluate triage policy for incoming evidence.
50
+ *
51
+ * This is the pure policy function. It does not:
52
+ * - Call PainDiagnosticGate
53
+ * - Write to event log or trajectory
54
+ * - Create diagnostic tasks
55
+ * - Import anything from the plugin layer
56
+ *
57
+ * It only reads source descriptors and applies policy rules.
58
+ *
59
+ * @param input - Triage input with source kind and context
60
+ * @returns Structured triage result with decision, reason, and nextAction
61
+ */
62
+ export function evaluateTriage(input) {
63
+ // ERR-001: validate sourceKind with runtime guard
64
+ const sourceKind = isSourceKind(input.sourceKind) ? input.sourceKind : 'unknown';
65
+ // Look up descriptor
66
+ const descriptor = getSourceDescriptor(sourceKind);
67
+ if (!descriptor) {
68
+ // Fallback for unregistered kinds (should not happen with 'unknown' in registry)
69
+ return {
70
+ decision: 'evidence_only',
71
+ sourceKind: 'unknown',
72
+ reason: `Source kind '${sourceKind}' not found in descriptor registry. Conservative default.`,
73
+ nextAction: 'classify_source_kind_and_store_as_evidence',
74
+ };
75
+ }
76
+ // Apply upgrade rules for upgradable kinds
77
+ if (descriptor.canUpgrade) {
78
+ const upgraded = applyUpgradeRules(input, descriptor.defaultDecision);
79
+ if (upgraded !== descriptor.defaultDecision) {
80
+ return {
81
+ decision: upgraded,
82
+ sourceKind,
83
+ reason: getUpgradeReason(sourceKind, upgraded, input),
84
+ nextAction: getUpgradeNextAction(sourceKind, upgraded),
85
+ };
86
+ }
87
+ }
88
+ return {
89
+ decision: descriptor.defaultDecision,
90
+ sourceKind,
91
+ reason: descriptor.reason,
92
+ nextAction: descriptor.nextAction,
93
+ };
94
+ }
95
+ //# sourceMappingURL=triage-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage-policy.js","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/triage-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,KAAkB,EAAE,eAA+B;IAC5E,IAAI,KAAK,CAAC,UAAU,KAAK,gBAAgB,IAAI,KAAK,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;QACnF,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE,QAAwB,EAAE,KAAkB;IAC5F,IAAI,UAAU,KAAK,gBAAgB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC5D,OAAO,2DAA2D,KAAK,CAAC,KAAK,mCAAmC,CAAC;IACnH,CAAC;IACD,mCAAmC;IACnC,OAAO,yBAAyB,UAAU,KAAK,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAsB,EAAE,QAAwB;IAC5E,IAAI,UAAU,KAAK,gBAAgB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,kDAAkD;IAClD,MAAM,UAAU,GAAe,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7F,qBAAqB;IACrB,MAAM,UAAU,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,iFAAiF;QACjF,OAAO;YACL,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,gBAAgB,UAAU,2DAA2D;YAC7F,UAAU,EAAE,4CAA4C;SACzD,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QACtE,IAAI,QAAQ,KAAK,UAAU,CAAC,eAAe,EAAE,CAAC;YAC5C,OAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,UAAU;gBACV,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;gBACrD,UAAU,EAAE,oBAAoB,CAAC,UAAU,EAAE,QAAQ,CAAC;aACvD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,UAAU,CAAC,eAAe;QACpC,UAAU;QACV,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,UAAU,EAAE,UAAU,CAAC,UAAU;KAClC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Trigger Controller — PEAT-B2
3
+ *
4
+ * Pure core module that connects triage/admission decisions to a concrete
5
+ * trigger outcome. This is the ONLY module that decides whether a diagnostic
6
+ * task is created.
7
+ *
8
+ * Input: triage result + source descriptor + minimal evidence metadata
9
+ * Output: TriggerDecision with structured outcome
10
+ *
11
+ * Every output carries reason + nextAction (ERR-002).
12
+ * No raw sensitive data in outputs (privacy boundary).
13
+ *
14
+ * ERR checklist:
15
+ * - ERR-001: No `as` casts. Input validated with runtime guards.
16
+ * - ERR-002: Every decision carries reason + nextAction.
17
+ * - ERR-009: Malformed/missing state fails loud with reason.
18
+ * - ERR-025: Production-path wiring, not just helper tests.
19
+ * - ERR-031/034: Config source alignment — decisions from canonical descriptors.
20
+ * - ERR-048: Activation/write-read disconnect prevented by recording decisions.
21
+ */
22
+ import type { SourceKind, TriageDecision, TriageResult } from './types.js';
23
+ /**
24
+ * The outcome of a trigger controller evaluation.
25
+ *
26
+ * Each variant represents a distinct state that is observable by the owner:
27
+ * - evidence_only: recorded but no diagnosis created
28
+ * - diagnosis_created: diagnostician task was/will be created
29
+ * - diagnosis_skipped: admission was 'admit' but something prevented diagnosis
30
+ * - cooldown_skipped: admitted but cooldown prevented creation
31
+ * - manual_owner_admitted: owner explicit pain bypasses normal gate
32
+ * - refused: malformed or invalid input rejected
33
+ * - health_only: infrastructure health signal only
34
+ * - owner_confirm_required: needs owner confirmation before diagnosis
35
+ */
36
+ export type TriggerOutcome = 'evidence_only' | 'diagnosis_created' | 'diagnosis_skipped' | 'cooldown_skipped' | 'manual_owner_admitted' | 'refused' | 'health_only' | 'owner_confirm_required';
37
+ /**
38
+ * Structured trigger decision returned by the controller.
39
+ *
40
+ * Every field is required to prevent silent degradation (ERR-002).
41
+ */
42
+ export interface TriggerDecision {
43
+ /** The trigger outcome */
44
+ readonly outcome: TriggerOutcome;
45
+ /** Human-readable reason for this decision */
46
+ readonly reason: string;
47
+ /** What should happen next */
48
+ readonly nextAction: string;
49
+ /** Source kind that was evaluated */
50
+ readonly sourceKind: SourceKind;
51
+ /** The triage decision that led to this trigger outcome */
52
+ readonly triageDecision: TriageDecision;
53
+ /** Whether this decision should result in a diagnostic task */
54
+ readonly shouldCreateDiagnosticTask: boolean;
55
+ /** Timestamp of the decision */
56
+ readonly decidedAt: string;
57
+ /** Optional operator note for debugging */
58
+ readonly operatorNote?: string;
59
+ }
60
+ /**
61
+ * Input to the trigger controller.
62
+ *
63
+ * Combines triage result with additional context that the trigger controller
64
+ * needs but the triage policy does not.
65
+ */
66
+ export interface TriggerControllerInput {
67
+ /** Result from evidence triage (PEAT-B1) */
68
+ readonly triageResult: TriageResult;
69
+ /** Whether this is an owner manual pain signal */
70
+ readonly isOwnerManual: boolean;
71
+ /** Whether cooldown is currently active for this source/session */
72
+ readonly isCooldownActive: boolean;
73
+ /** Whether the input was valid (malformed → refused) */
74
+ readonly isValid: boolean;
75
+ /** Optional validation error message when isValid is false */
76
+ readonly validationError?: string;
77
+ /** Pain score (0-100) */
78
+ readonly score: number;
79
+ /** Optional session ID for cooldown scoping */
80
+ readonly sessionId?: string;
81
+ /** Whether cooldown bypass is allowed (owner manual always bypasses) */
82
+ readonly cooldownBypassAllowed?: boolean;
83
+ }
84
+ /**
85
+ * Evaluate trigger controller for incoming pain evidence.
86
+ *
87
+ * This is the ONLY function that decides whether a diagnostic task is created.
88
+ * The production path (hooks, CLI, manual) must call this before creating tasks.
89
+ *
90
+ * Decision precedence:
91
+ * 1. Invalid input → refused
92
+ * 2. Owner manual → manual_owner_admitted (always creates task)
93
+ * 3. Triage decision → evidence_only / diagnosis_created / health_only / etc.
94
+ * 4. Cooldown check → cooldown_skipped (within 'admit' branch)
95
+ *
96
+ * @param input - Trigger controller input with triage result and context
97
+ * @returns Structured trigger decision
98
+ */
99
+ export declare function evaluateTriggerController(input: TriggerControllerInput): TriggerDecision;
100
+ /**
101
+ * Check if a trigger outcome should result in a diagnostic task being created.
102
+ *
103
+ * Convenience function for callers that just need the boolean.
104
+ */
105
+ export declare function shouldCreateTask(decision: TriggerDecision): boolean;
106
+ /**
107
+ * Check if a trigger outcome represents an "admitted" state
108
+ * (i.e., the signal was accepted into the pipeline, even if it didn't create a task).
109
+ */
110
+ export declare function isAdmittedOutcome(outcome: TriggerOutcome): boolean;
111
+ /**
112
+ * Check if a trigger outcome represents a "skipped" state
113
+ * (i.e., the signal was valid but something prevented task creation).
114
+ */
115
+ export declare function isSkippedOutcome(outcome: TriggerOutcome): boolean;
116
+ //# sourceMappingURL=trigger-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-controller.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/evidence-triage/trigger-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM3E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,uBAAuB,GACvB,SAAS,GACT,aAAa,GACb,wBAAwB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,+DAA+D;IAC/D,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;IAC7C,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAID;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,kDAAkD;IAClD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAgKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,CAaxF;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAEnE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAElE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAEjE"}