@principles/core 1.284.16 → 1.284.18

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 (315) hide show
  1. package/dist/runtime-v2/__tests__/adversarial-loop.test.js +8 -1
  2. package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -1
  3. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +101 -14
  4. package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
  5. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +113 -1
  6. package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
  7. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -1
  8. package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  9. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js +211 -0
  10. package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
  11. package/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
  12. package/dist/runtime-v2/activation/writers/rule-host-writer.js +15 -1
  13. package/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
  14. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js +23 -1
  15. package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js.map +1 -1
  16. package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js +25 -0
  17. package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js.map +1 -1
  18. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js +18 -4
  19. package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js.map +1 -1
  20. package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
  21. package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +38 -7
  22. package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
  23. package/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
  24. package/dist/runtime-v2/adapter/output-schema-registry.js +0 -2
  25. package/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
  26. package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts +16 -0
  27. package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts.map +1 -1
  28. package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js +22 -0
  29. package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js.map +1 -1
  30. package/dist/runtime-v2/adversarial-loop.d.ts.map +1 -1
  31. package/dist/runtime-v2/adversarial-loop.js +14 -1
  32. package/dist/runtime-v2/adversarial-loop.js.map +1 -1
  33. package/dist/runtime-v2/agent-spec.d.ts +0 -1
  34. package/dist/runtime-v2/agent-spec.d.ts.map +1 -1
  35. package/dist/runtime-v2/agent-spec.js +3 -1
  36. package/dist/runtime-v2/agent-spec.js.map +1 -1
  37. package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js +3 -1
  38. package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js.map +1 -1
  39. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +0 -7
  40. package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
  41. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +0 -1
  42. package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +1 -1
  43. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +0 -1
  44. package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
  45. package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js +0 -1
  46. package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js.map +1 -1
  47. package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js +0 -1
  48. package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js.map +1 -1
  49. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +0 -1
  50. package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
  51. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +61 -1
  52. package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
  53. package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  54. package/dist/runtime-v2/config/pd-config-defaults.js +0 -1
  55. package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  56. package/dist/runtime-v2/config/pd-config-types.d.ts +1 -1
  57. package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  58. package/dist/runtime-v2/config/pd-config-types.js +0 -1
  59. package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  60. package/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
  61. package/dist/runtime-v2/config/pd-config-validate.js +20 -1
  62. package/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
  63. package/dist/runtime-v2/evidence-sanitizer.d.ts +17 -2
  64. package/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -1
  65. package/dist/runtime-v2/evidence-sanitizer.js +80 -11
  66. package/dist/runtime-v2/evidence-sanitizer.js.map +1 -1
  67. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +3 -3
  68. package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  69. package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  70. package/dist/runtime-v2/feature-flags/feature-flag-contract.js +11 -40
  71. package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  72. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
  73. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +6 -40
  74. package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
  75. package/dist/runtime-v2/index.d.ts +9 -6
  76. package/dist/runtime-v2/index.d.ts.map +1 -1
  77. package/dist/runtime-v2/index.js +12 -5
  78. package/dist/runtime-v2/index.js.map +1 -1
  79. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +49 -0
  80. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
  81. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +64 -29
  82. package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
  83. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -1
  84. package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
  85. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +2 -2
  86. package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
  87. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +2 -13
  88. package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
  89. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +1 -5
  90. package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
  91. package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js +5 -13
  92. package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js.map +1 -1
  93. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +1 -5
  94. package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
  95. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +1 -1
  96. package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
  97. package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts +2 -0
  98. package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts.map +1 -0
  99. package/dist/runtime-v2/internalization/__tests__/formation-context.test.js +428 -0
  100. package/dist/runtime-v2/internalization/__tests__/formation-context.test.js.map +1 -0
  101. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +97 -0
  102. package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
  103. package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js +61 -0
  104. package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js.map +1 -1
  105. package/dist/runtime-v2/internalization/artifact-summary.d.ts +11 -0
  106. package/dist/runtime-v2/internalization/artifact-summary.d.ts.map +1 -1
  107. package/dist/runtime-v2/internalization/artifact-summary.js.map +1 -1
  108. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +67 -15
  109. package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
  110. package/dist/runtime-v2/internalization/artificer-prompt-builder.js +119 -4
  111. package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
  112. package/dist/runtime-v2/internalization/artificer-runner.d.ts +12 -0
  113. package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
  114. package/dist/runtime-v2/internalization/artificer-runner.js +102 -158
  115. package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
  116. package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts +1 -1
  117. package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
  118. package/dist/runtime-v2/internalization/diag-distiller-runner.js +2 -19
  119. package/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
  120. package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
  121. package/dist/runtime-v2/internalization/diag-rootcause-runner.js +1 -5
  122. package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
  123. package/dist/runtime-v2/internalization/diag-router-runner.d.ts +1 -1
  124. package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
  125. package/dist/runtime-v2/internalization/diag-router-runner.js +9 -32
  126. package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
  127. package/dist/runtime-v2/internalization/dreamer-runner.d.ts +1 -9
  128. package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
  129. package/dist/runtime-v2/internalization/dreamer-runner.js +4 -35
  130. package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
  131. package/dist/runtime-v2/internalization/evaluator-runner.d.ts +3 -54
  132. package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
  133. package/dist/runtime-v2/internalization/evaluator-runner.js +37 -230
  134. package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
  135. package/dist/runtime-v2/internalization/formation-context.d.ts +208 -0
  136. package/dist/runtime-v2/internalization/formation-context.d.ts.map +1 -0
  137. package/dist/runtime-v2/internalization/formation-context.js +621 -0
  138. package/dist/runtime-v2/internalization/formation-context.js.map +1 -0
  139. package/dist/runtime-v2/internalization/index.d.ts +0 -2
  140. package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
  141. package/dist/runtime-v2/internalization/index.js +0 -2
  142. package/dist/runtime-v2/internalization/index.js.map +1 -1
  143. package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
  144. package/dist/runtime-v2/internalization/philosopher-runner.js +1 -25
  145. package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
  146. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
  147. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +25 -1
  148. package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
  149. package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +53 -1
  150. package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
  151. package/dist/runtime-v2/internalization/scribe-prompt-builder.js +65 -3
  152. package/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
  153. package/dist/runtime-v2/internalization/scribe-runner.d.ts +17 -0
  154. package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  155. package/dist/runtime-v2/internalization/scribe-runner.js +58 -40
  156. package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  157. package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
  158. package/dist/runtime-v2/internalization/split-diagnostician-runner.js +13 -2
  159. package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
  160. package/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts.map +1 -1
  161. package/dist/runtime-v2/internalization/v2-adversarial-cases.js +25 -2
  162. package/dist/runtime-v2/internalization/v2-adversarial-cases.js.map +1 -1
  163. package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js +31 -21
  164. package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js.map +1 -1
  165. package/dist/runtime-v2/observer/agent-scheduler.d.ts +0 -5
  166. package/dist/runtime-v2/observer/agent-scheduler.d.ts.map +1 -1
  167. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts +2 -0
  168. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts.map +1 -0
  169. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js +559 -0
  170. package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js.map +1 -0
  171. package/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts +7868 -0
  172. package/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts.map +1 -0
  173. package/dist/runtime-v2/owner-decision/owner-decision-view-contract.js +367 -0
  174. package/dist/runtime-v2/owner-decision/owner-decision-view-contract.js.map +1 -0
  175. package/dist/runtime-v2/owner-decision/owner-decision-view.d.ts +415 -0
  176. package/dist/runtime-v2/owner-decision/owner-decision-view.d.ts.map +1 -0
  177. package/dist/runtime-v2/owner-decision/owner-decision-view.js +856 -0
  178. package/dist/runtime-v2/owner-decision/owner-decision-view.js.map +1 -0
  179. package/dist/runtime-v2/owner-decision/semantic-selector.d.ts +72 -0
  180. package/dist/runtime-v2/owner-decision/semantic-selector.d.ts.map +1 -0
  181. package/dist/runtime-v2/owner-decision/semantic-selector.js +176 -0
  182. package/dist/runtime-v2/owner-decision/semantic-selector.js.map +1 -0
  183. package/dist/runtime-v2/runner/base-peer-runner.d.ts +0 -125
  184. package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  185. package/dist/runtime-v2/runner/base-peer-runner.js +0 -323
  186. package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  187. package/dist/runtime-v2/runner/peer-runner-types.d.ts +0 -12
  188. package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
  189. package/dist/runtime-v2/signal-collector/types.d.ts +0 -12
  190. package/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
  191. package/dist/runtime-v2/signal-collector/types.js.map +1 -1
  192. package/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
  193. package/dist/runtime-v2/tools/artificer-l2-tool-contract.js +10 -0
  194. package/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
  195. package/dist/runtime-v2/types/event-types.d.ts +9 -0
  196. package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  197. package/dist/runtime-v2/types/event-types.js +12 -0
  198. package/dist/runtime-v2/types/event-types.js.map +1 -1
  199. package/dist/telemetry-event.d.ts +2 -2
  200. package/dist/telemetry-event.d.ts.map +1 -1
  201. package/dist/telemetry-event.js +7 -84
  202. package/dist/telemetry-event.js.map +1 -1
  203. package/package.json +1 -1
  204. package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts +0 -15
  205. package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts.map +0 -1
  206. package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js +0 -90
  207. package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js.map +0 -1
  208. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts +0 -12
  209. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts.map +0 -1
  210. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js +0 -117
  211. package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js.map +0 -1
  212. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts +0 -8
  213. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts.map +0 -1
  214. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js +0 -56
  215. package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js.map +0 -1
  216. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.d.ts +0 -26
  217. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.d.ts.map +0 -1
  218. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.js +0 -420
  219. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.js.map +0 -1
  220. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts +0 -15
  221. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts.map +0 -1
  222. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js +0 -306
  223. package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js.map +0 -1
  224. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts +0 -12
  225. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts.map +0 -1
  226. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js +0 -176
  227. package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js.map +0 -1
  228. package/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts +0 -2
  229. package/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts.map +0 -1
  230. package/dist/runtime-v2/internalization/__tests__/context-resolution.test.js +0 -377
  231. package/dist/runtime-v2/internalization/__tests__/context-resolution.test.js.map +0 -1
  232. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts +0 -22
  233. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts.map +0 -1
  234. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js +0 -92
  235. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js.map +0 -1
  236. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts +0 -2
  237. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts.map +0 -1
  238. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js +0 -1039
  239. package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js.map +0 -1
  240. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.d.ts +0 -13
  241. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.d.ts.map +0 -1
  242. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.js +0 -257
  243. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.js.map +0 -1
  244. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts +0 -11
  245. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts.map +0 -1
  246. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js +0 -154
  247. package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js.map +0 -1
  248. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts +0 -12
  249. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts.map +0 -1
  250. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js +0 -254
  251. package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js.map +0 -1
  252. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts +0 -15
  253. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts.map +0 -1
  254. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js +0 -150
  255. package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js.map +0 -1
  256. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts +0 -2
  257. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts.map +0 -1
  258. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +0 -773
  259. package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +0 -1
  260. package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts +0 -22
  261. package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts.map +0 -1
  262. package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js +0 -280
  263. package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js.map +0 -1
  264. package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts +0 -25
  265. package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts.map +0 -1
  266. package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js +0 -413
  267. package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js.map +0 -1
  268. package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts +0 -60
  269. package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts.map +0 -1
  270. package/dist/runtime-v2/internalization/attach-summary-envelope.js +0 -126
  271. package/dist/runtime-v2/internalization/attach-summary-envelope.js.map +0 -1
  272. package/dist/runtime-v2/internalization/candidate-lineage.d.ts +0 -185
  273. package/dist/runtime-v2/internalization/candidate-lineage.d.ts.map +0 -1
  274. package/dist/runtime-v2/internalization/candidate-lineage.js +0 -357
  275. package/dist/runtime-v2/internalization/candidate-lineage.js.map +0 -1
  276. package/dist/runtime-v2/internalization/context-manifest.d.ts +0 -117
  277. package/dist/runtime-v2/internalization/context-manifest.d.ts.map +0 -1
  278. package/dist/runtime-v2/internalization/context-manifest.js +0 -156
  279. package/dist/runtime-v2/internalization/context-manifest.js.map +0 -1
  280. package/dist/runtime-v2/internalization/context-manifests.d.ts +0 -148
  281. package/dist/runtime-v2/internalization/context-manifests.d.ts.map +0 -1
  282. package/dist/runtime-v2/internalization/context-manifests.js +0 -323
  283. package/dist/runtime-v2/internalization/context-manifests.js.map +0 -1
  284. package/dist/runtime-v2/internalization/context-resolution.d.ts +0 -189
  285. package/dist/runtime-v2/internalization/context-resolution.d.ts.map +0 -1
  286. package/dist/runtime-v2/internalization/context-resolution.js +0 -317
  287. package/dist/runtime-v2/internalization/context-resolution.js.map +0 -1
  288. package/dist/runtime-v2/internalization/progressive-evaluator.d.ts +0 -115
  289. package/dist/runtime-v2/internalization/progressive-evaluator.d.ts.map +0 -1
  290. package/dist/runtime-v2/internalization/progressive-evaluator.js +0 -248
  291. package/dist/runtime-v2/internalization/progressive-evaluator.js.map +0 -1
  292. package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts +0 -90
  293. package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts.map +0 -1
  294. package/dist/runtime-v2/internalization/prompt-budget-manager.js +0 -149
  295. package/dist/runtime-v2/internalization/prompt-budget-manager.js.map +0 -1
  296. package/dist/runtime-v2/internalization/resolve-injection.d.ts +0 -62
  297. package/dist/runtime-v2/internalization/resolve-injection.d.ts.map +0 -1
  298. package/dist/runtime-v2/internalization/resolve-injection.js +0 -78
  299. package/dist/runtime-v2/internalization/resolve-injection.js.map +0 -1
  300. package/dist/runtime-v2/internalization/summary-field-reader.d.ts +0 -38
  301. package/dist/runtime-v2/internalization/summary-field-reader.d.ts.map +0 -1
  302. package/dist/runtime-v2/internalization/summary-field-reader.js +0 -108
  303. package/dist/runtime-v2/internalization/summary-field-reader.js.map +0 -1
  304. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.d.ts +0 -2
  305. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.d.ts.map +0 -1
  306. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +0 -74
  307. package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +0 -1
  308. package/dist/runtime-v2/observer/__tests__/empathy-observer.test.d.ts +0 -2
  309. package/dist/runtime-v2/observer/__tests__/empathy-observer.test.d.ts.map +0 -1
  310. package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js +0 -85
  311. package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js.map +0 -1
  312. package/dist/runtime-v2/observer/empathy-observer.d.ts +0 -41
  313. package/dist/runtime-v2/observer/empathy-observer.d.ts.map +0 -1
  314. package/dist/runtime-v2/observer/empathy-observer.js +0 -104
  315. package/dist/runtime-v2/observer/empathy-observer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-injection.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/resolve-injection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,eAAe,GAGhB,MAAM,4BAA4B,CAAC;AAEpC,sDAAsD;AACtD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AA8BnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,SAAuC,EACvC,IAA2C;IAE3C,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5C,6EAA6E;IAC7E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,GAAwC,EAAE,CAAC,CAAC;QAChE,IAAI,EAAE,kCAAkC;QACxC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ,EAAE,4BAA4B;KACvC,CAAC,CAAC;IAEH,gEAAgE;IAChE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClG,CAAC;IACD,4EAA4E;IAC5E,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,cAAc,GAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAClG,CAAC;IACD,0DAA0D;IAC1D,IAAI,WAAW,GAAG,+BAA+B,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC;IACvG,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzD,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Layer 1 — summary field reader (design §6.6 read-side convention).
3
- *
4
- * Pure logic only (Core vs Plugin boundary). Builds the `available` map that
5
- * `allocateContext` / `resolveInjection` consume, from a runner's loaded
6
- * predecessor contentJson (which carries the Layer 0 `summary` /
7
- * `predecessorSummary` envelope).
8
- *
9
- * Path convention (design §6.6):
10
- * `<stage>.summary.headline` → contentJson.summary.headline
11
- * `<stage>.summary.<key>` → contentJson.summary.fields[key]
12
- * `<stage>.predecessorSummary.headline` → contentJson.predecessorSummary.summary.headline
13
- * `<stage>.predecessorSummary.<key>` → contentJson.predecessorSummary.summary.fields[key]
14
- *
15
- * The leading `<stage>.` segment is a logical namespace (pain / dreamer /
16
- * philosopher / scribe / artificer / diagnosis); the reader does NOT look up
17
- * the stage by name — it resolves `summary.*` / `predecessorSummary.*` against
18
- * whatever predecessor contentJson the caller loaded. This is correct because
19
- * each runner's manifest only references paths whose stage maps to that
20
- * runner's actual loaded predecessor (e.g. dreamer's manifest references
21
- * pain.summary.* / diagnosis.summary.* which arrive via the diag_router
22
- * predecessor's summary + its forwarded predecessorSummary).
23
- *
24
- * rc-1 / rc-5: contentJson is `unknown`; all reads use `Object.hasOwn` and
25
- * typeof guards, never `as` casts.
26
- */
27
- /** Read a value nested under `summary` or `predecessorSummary` from contentJson. */
28
- export declare function readSummaryField(fieldPath: string, predecessorContentJson: unknown): unknown | undefined;
29
- /**
30
- * Build the `available` map for allocateContext/resolveInjection from the
31
- * manifest's declared paths and a single loaded predecessor contentJson.
32
- *
33
- * Paths not resolvable from this predecessor (including tier2 `raw.*` and
34
- * stages not represented in the loaded object) are simply omitted from the
35
- * map — allocateContext then records them in `absent`.
36
- */
37
- export declare function buildAvailableMap(manifestPaths: readonly string[], predecessorContentJson: unknown): ReadonlyMap<string, unknown>;
38
- //# sourceMappingURL=summary-field-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-field-reader.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/summary-field-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAuCH,oFAAoF;AACpF,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,sBAAsB,EAAE,OAAO,GAC9B,OAAO,GAAG,SAAS,CA0BrB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,EAChC,sBAAsB,EAAE,OAAO,GAC9B,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAS9B"}
@@ -1,108 +0,0 @@
1
- /**
2
- * Layer 1 — summary field reader (design §6.6 read-side convention).
3
- *
4
- * Pure logic only (Core vs Plugin boundary). Builds the `available` map that
5
- * `allocateContext` / `resolveInjection` consume, from a runner's loaded
6
- * predecessor contentJson (which carries the Layer 0 `summary` /
7
- * `predecessorSummary` envelope).
8
- *
9
- * Path convention (design §6.6):
10
- * `<stage>.summary.headline` → contentJson.summary.headline
11
- * `<stage>.summary.<key>` → contentJson.summary.fields[key]
12
- * `<stage>.predecessorSummary.headline` → contentJson.predecessorSummary.summary.headline
13
- * `<stage>.predecessorSummary.<key>` → contentJson.predecessorSummary.summary.fields[key]
14
- *
15
- * The leading `<stage>.` segment is a logical namespace (pain / dreamer /
16
- * philosopher / scribe / artificer / diagnosis); the reader does NOT look up
17
- * the stage by name — it resolves `summary.*` / `predecessorSummary.*` against
18
- * whatever predecessor contentJson the caller loaded. This is correct because
19
- * each runner's manifest only references paths whose stage maps to that
20
- * runner's actual loaded predecessor (e.g. dreamer's manifest references
21
- * pain.summary.* / diagnosis.summary.* which arrive via the diag_router
22
- * predecessor's summary + its forwarded predecessorSummary).
23
- *
24
- * rc-1 / rc-5: contentJson is `unknown`; all reads use `Object.hasOwn` and
25
- * typeof guards, never `as` casts.
26
- */
27
- function isRecord(value) {
28
- return value !== null && typeof value === 'object' && !Array.isArray(value);
29
- }
30
- /** Read `headline` or `<key>` from contentJson.summary. */
31
- function readFromSummary(contentJson, subPath) {
32
- if (!isRecord(contentJson) || !Object.hasOwn(contentJson, 'summary'))
33
- return undefined;
34
- const { summary } = contentJson;
35
- if (!isRecord(summary))
36
- return undefined;
37
- // subPath is a bare field key (e.g. 'riskLevel') or 'headline'. The summary
38
- // envelope (Layer 0 ArtifactSummary) stores structured fields on `summary.fields`
39
- // and headline on `summary.headline`. Manifest paths use `<stage>.summary.<key>`
40
- // WITHOUT a `fields.` prefix (design §6.6), so read `fields.<subPath>` first,
41
- // then fall back to `summary.<subPath>` (covers headline + any flat values).
42
- if (subPath === 'headline') {
43
- return Object.hasOwn(summary, 'headline') ? summary.headline : undefined;
44
- }
45
- const fields = Object.hasOwn(summary, 'fields') ? summary.fields : undefined;
46
- if (isRecord(fields) && Object.hasOwn(fields, subPath)) {
47
- return fields[subPath];
48
- }
49
- if (Object.hasOwn(summary, subPath)) {
50
- return summary[subPath];
51
- }
52
- return undefined;
53
- }
54
- /** Read `headline` or `<key>` from contentJson.predecessorSummary.summary. */
55
- function readFromPredecessorSummary(contentJson, subPath) {
56
- if (!isRecord(contentJson) || !Object.hasOwn(contentJson, 'predecessorSummary'))
57
- return undefined;
58
- const { predecessorSummary: pred } = contentJson;
59
- if (!isRecord(pred) || !Object.hasOwn(pred, 'summary'))
60
- return undefined;
61
- // Delegate to readFromSummary on the predecessorSummary's own summary.
62
- return readFromSummary(pred, subPath);
63
- }
64
- /** Read a value nested under `summary` or `predecessorSummary` from contentJson. */
65
- export function readSummaryField(fieldPath, predecessorContentJson) {
66
- // Strip the leading `<stage>.` namespace segment(s). A path like
67
- // `pain.summary.rootSymptom` becomes `summary.rootSymptom`; a path like
68
- // `philosopher.predecessorSummary.betterDecision` becomes
69
- // `predecessorSummary.betterDecision`. The namespace can be multi-segment
70
- // (e.g. `dreamer.raw.candidates`), so strip everything up to and including
71
- // the first occurrence of `summary.` or `predecessorSummary.` or `raw.`.
72
- const summaryIdx = fieldPath.indexOf('summary.');
73
- const predIdx = fieldPath.indexOf('predecessorSummary.');
74
- const rawIdx = fieldPath.indexOf('raw.');
75
- // tier2 raw.* paths are NOT resolvable at Layer 1 (they need Layer 2
76
- // CandidateLineage). Return undefined → the path enters `absent`.
77
- if (rawIdx >= 0 && (summaryIdx < 0 || rawIdx < summaryIdx) && (predIdx < 0 || rawIdx < predIdx)) {
78
- return undefined;
79
- }
80
- if (predIdx >= 0 && (summaryIdx < 0 || predIdx < summaryIdx)) {
81
- const subPath = fieldPath.slice(predIdx + 'predecessorSummary.'.length);
82
- return readFromPredecessorSummary(predecessorContentJson, subPath);
83
- }
84
- if (summaryIdx >= 0) {
85
- const subPath = fieldPath.slice(summaryIdx + 'summary.'.length);
86
- return readFromSummary(predecessorContentJson, subPath);
87
- }
88
- return undefined;
89
- }
90
- /**
91
- * Build the `available` map for allocateContext/resolveInjection from the
92
- * manifest's declared paths and a single loaded predecessor contentJson.
93
- *
94
- * Paths not resolvable from this predecessor (including tier2 `raw.*` and
95
- * stages not represented in the loaded object) are simply omitted from the
96
- * map — allocateContext then records them in `absent`.
97
- */
98
- export function buildAvailableMap(manifestPaths, predecessorContentJson) {
99
- const map = new Map();
100
- for (const path of manifestPaths) {
101
- const value = readSummaryField(path, predecessorContentJson);
102
- if (value !== undefined) {
103
- map.set(path, value);
104
- }
105
- }
106
- return map;
107
- }
108
- //# sourceMappingURL=summary-field-reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-field-reader.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/summary-field-reader.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=empathy-observer.real-e2e.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empathy-observer.real-e2e.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.ts"],"names":[],"mappings":""}
@@ -1,74 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { EmpathyObserver } from '../empathy-observer.js';
3
- import { PiAiRuntimeAdapter } from '../../adapter/pi-ai-runtime-adapter.js';
4
- import { TestDoubleRuntimeAdapter } from '../../adapter/test-double-runtime-adapter.js';
5
- import { getLlmE2eConfig } from '../../__tests__/fixtures/llm-e2e-config.js';
6
- const llmConfig = getLlmE2eConfig();
7
- // Local LM Studio probe — only attempted when LLM_E2E_ENABLED=true
8
- const LM_STUDIO_BASE_URL = process.env.PD_EMPATHY_BASE_URL || 'http://localhost:12341/v1';
9
- describe('EmpathyObserver Real E2E & Mock Fallback', () => {
10
- it('runs E2E against local LM Studio if available, otherwise falls back to stable mock validation', async () => {
11
- const apiKeyEnv = 'LM_STUDIO_API_KEY';
12
- // Temporary set key if absent
13
- if (!process.env[apiKeyEnv]) {
14
- process.env[apiKeyEnv] = 'lm-studio-dummy-key';
15
- }
16
- // Initialize with stable mock adapter to satisfy ESLint constraints
17
- let adapter = new TestDoubleRuntimeAdapter({
18
- onFetchOutput: (runId) => ({
19
- runId,
20
- payload: {
21
- damageDetected: true,
22
- severity: 'moderate',
23
- confidence: 0.85,
24
- reason: 'Frustration detected via stable mock fallback',
25
- },
26
- }),
27
- });
28
- let isRealLlm = false;
29
- // Only probe LM Studio when LLM_E2E_ENABLED=true (same gate as other real-LLM tests)
30
- if (llmConfig) {
31
- try {
32
- const response = await fetch(`${LM_STUDIO_BASE_URL}/models`, { method: 'GET', signal: AbortSignal.timeout(2000) });
33
- if (response.ok) {
34
- const provider = process.env.PD_EMPATHY_PROVIDER || 'lm-studio';
35
- const model = process.env.PD_EMPATHY_MODEL || 'qwen3.6-27b-mtp';
36
- adapter = new PiAiRuntimeAdapter({
37
- provider,
38
- model,
39
- apiKeyEnv,
40
- baseUrl: LM_STUDIO_BASE_URL,
41
- timeoutMs: 60000,
42
- });
43
- isRealLlm = true;
44
- console.log(`[E2E Test] LM Studio detected at ${LM_STUDIO_BASE_URL}. Running E2E test with real model: ${model}`);
45
- }
46
- else {
47
- console.log(`[E2E Test] LM Studio not running at ${LM_STUDIO_BASE_URL}. Falling back to stable mock validation.`);
48
- }
49
- }
50
- catch {
51
- console.log(`[E2E Test] LM Studio not running at ${LM_STUDIO_BASE_URL}. Falling back to stable mock validation.`);
52
- }
53
- }
54
- else {
55
- console.log('[E2E Test] LLM_E2E_ENABLED is not true. Skipping LM Studio probe, using stable mock.');
56
- }
57
- const observer = new EmpathyObserver({ runtimeAdapter: adapter });
58
- const result = await observer.run({ userMessage: 'I am extremely frustrated! This is not working!' });
59
- // Assert structured schema shape and type bounds to tolerate LLM output variance
60
- expect(typeof result.damageDetected).toBe('boolean');
61
- expect(['mild', 'moderate', 'severe']).toContain(result.severity);
62
- expect(result.confidence).toBeGreaterThanOrEqual(0);
63
- expect(result.confidence).toBeLessThanOrEqual(1);
64
- expect(typeof result.reason).toBe('string');
65
- if (isRealLlm) {
66
- console.log(`[E2E Test] Real LLM result:`, JSON.stringify(result, null, 2));
67
- }
68
- else {
69
- expect(result.damageDetected).toBe(true);
70
- expect(result.reason).toBe('Frustration detected via stable mock fallback');
71
- }
72
- }, 120000);
73
- });
74
- //# sourceMappingURL=empathy-observer.real-e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empathy-observer.real-e2e.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=empathy-observer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empathy-observer.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime-v2/observer/__tests__/empathy-observer.test.ts"],"names":[],"mappings":""}
@@ -1,85 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { EmpathyObserver } from '../empathy-observer.js';
3
- import { TestDoubleRuntimeAdapter } from '../../adapter/test-double-runtime-adapter.js';
4
- describe('EmpathyObserver', () => {
5
- it('correctly builds prompt (role declaration moved to SYSTEM_PROMPT, PRI-633)', () => {
6
- const prompt = EmpathyObserver.buildPrompt('I am frustrated');
7
- expect(prompt).not.toContain('You are an empathy observer.');
8
- expect(EmpathyObserver.SYSTEM_PROMPT).toBe('You are an empathy observer.');
9
- expect(prompt).toContain('I am frustrated');
10
- });
11
- it('runs successfully with valid output', async () => {
12
- const adapter = new TestDoubleRuntimeAdapter({
13
- onFetchOutput: (runId) => ({
14
- runId,
15
- payload: {
16
- damageDetected: true,
17
- severity: 'moderate',
18
- confidence: 0.9,
19
- reason: 'Frustration detected',
20
- },
21
- }),
22
- });
23
- const observer = new EmpathyObserver({ runtimeAdapter: adapter });
24
- const result = await observer.run({ userMessage: 'I am frustrated' });
25
- expect(result.damageDetected).toBe(true);
26
- expect(result.severity).toBe('moderate');
27
- expect(result.confidence).toBe(0.9);
28
- expect(result.reason).toBe('Frustration detected');
29
- });
30
- it('throws error when output schema validation fails', async () => {
31
- const adapter = new TestDoubleRuntimeAdapter({
32
- onFetchOutput: (runId) => ({
33
- runId,
34
- payload: {
35
- damageDetected: 'not-a-boolean', // Should fail schema check
36
- severity: 'unknown-severity',
37
- confidence: 1.5,
38
- reason: 123,
39
- },
40
- }),
41
- });
42
- const observer = new EmpathyObserver({ runtimeAdapter: adapter });
43
- await expect(observer.run({ userMessage: 'I am frustrated' })).rejects.toThrow('EmpathyObserver output validation failed');
44
- });
45
- it('throws error when adapter run fails', async () => {
46
- const adapter = new TestDoubleRuntimeAdapter({
47
- onPollRun: (runId) => ({
48
- runId,
49
- status: 'failed',
50
- startedAt: new Date().toISOString(),
51
- endedAt: new Date().toISOString(),
52
- reason: 'LLM crashed',
53
- }),
54
- });
55
- const observer = new EmpathyObserver({ runtimeAdapter: adapter });
56
- await expect(observer.run({ userMessage: 'I am frustrated' })).rejects.toThrow('EmpathyObserver run failed: failed');
57
- });
58
- it('throws error when run times out', async () => {
59
- const adapter = new TestDoubleRuntimeAdapter({
60
- onPollRun: (runId) => ({
61
- runId,
62
- status: 'running',
63
- startedAt: new Date().toISOString(),
64
- }),
65
- });
66
- const observer = new EmpathyObserver({ runtimeAdapter: adapter }, { timeoutMs: 50 });
67
- await expect(observer.run({ userMessage: 'I am frustrated' })).rejects.toThrow('EmpathyObserver run timed out after 50ms');
68
- });
69
- it('throws error when confidence is out of range', async () => {
70
- const adapter = new TestDoubleRuntimeAdapter({
71
- onFetchOutput: (runId) => ({
72
- runId,
73
- payload: {
74
- damageDetected: true,
75
- severity: 'moderate',
76
- confidence: 5.0,
77
- reason: 'Out of range confidence',
78
- },
79
- }),
80
- });
81
- const observer = new EmpathyObserver({ runtimeAdapter: adapter });
82
- await expect(observer.run({ userMessage: 'I am frustrated' })).rejects.toThrow('EmpathyObserver output validation failed');
83
- });
84
- });
85
- //# sourceMappingURL=empathy-observer.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empathy-observer.test.js","sourceRoot":"","sources":["../../../../src/runtime-v2/observer/__tests__/empathy-observer.test.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { type Static } from '@sinclair/typebox';
2
- import type { PDRuntimeAdapter } from '../runtime-protocol.js';
3
- export declare const EmpathyObserverInputSchema: import("@sinclair/typebox").TObject<{
4
- userMessage: import("@sinclair/typebox").TString;
5
- }>;
6
- export type EmpathyObserverInput = Static<typeof EmpathyObserverInputSchema>;
7
- export declare const EmpathyObserverOutputV1Schema: import("@sinclair/typebox").TObject<{
8
- damageDetected: import("@sinclair/typebox").TBoolean;
9
- severity: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"mild">, import("@sinclair/typebox").TLiteral<"moderate">, import("@sinclair/typebox").TLiteral<"severe">]>;
10
- confidence: import("@sinclair/typebox").TNumber;
11
- reason: import("@sinclair/typebox").TString;
12
- }>;
13
- export type EmpathyObserverOutputV1 = Static<typeof EmpathyObserverOutputV1Schema>;
14
- export interface EmpathyObserverDeps {
15
- readonly runtimeAdapter: PDRuntimeAdapter;
16
- }
17
- export interface EmpathyObserverOptions {
18
- readonly timeoutMs?: number;
19
- readonly agentId?: string;
20
- }
21
- export declare class EmpathyObserver {
22
- /**
23
- * PRI-633: base-layer system prompt (role declaration). Previously the
24
- * first line of buildPrompt's message; now delivered via the system channel.
25
- */
26
- static readonly SYSTEM_PROMPT = "You are an empathy observer.";
27
- private readonly runtimeAdapter;
28
- private readonly timeoutMs;
29
- private readonly agentId;
30
- constructor(deps: EmpathyObserverDeps, options?: EmpathyObserverOptions);
31
- /**
32
- * Builds the prompt exactly replicating the legacy empathyObserverWorkflowSpec
33
- * (PRI-633: the role declaration moved to SYSTEM_PROMPT / the system channel).
34
- */
35
- static buildPrompt(userMessage: string): string;
36
- /**
37
- * Run the simplified one-shot Empathy Observer.
38
- */
39
- run(input: EmpathyObserverInput): Promise<EmpathyObserverOutputV1>;
40
- }
41
- //# sourceMappingURL=empathy-observer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empathy-observer.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/observer/empathy-observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,eAAO,MAAM,0BAA0B;;EAErC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE7E,eAAO,MAAM,6BAA6B;;;;;EASxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAInF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,eAAe;IAC1B;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,kCAAkC;IAE/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,YAAY,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,sBAAsB,EAItE;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM9C;IAED;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAmEvE;CACF"}
@@ -1,104 +0,0 @@
1
- import { Type } from '@sinclair/typebox';
2
- // ── Schemas ──────────────────────────────────────────────────────────────────
3
- export const EmpathyObserverInputSchema = Type.Object({
4
- userMessage: Type.String({ minLength: 1 }),
5
- });
6
- export const EmpathyObserverOutputV1Schema = Type.Object({
7
- damageDetected: Type.Boolean(),
8
- severity: Type.Union([
9
- Type.Literal('mild'),
10
- Type.Literal('moderate'),
11
- Type.Literal('severe'),
12
- ]),
13
- confidence: Type.Number({ minimum: 0, maximum: 1 }),
14
- reason: Type.String(),
15
- });
16
- export class EmpathyObserver {
17
- /**
18
- * PRI-633: base-layer system prompt (role declaration). Previously the
19
- * first line of buildPrompt's message; now delivered via the system channel.
20
- */
21
- static SYSTEM_PROMPT = 'You are an empathy observer.';
22
- runtimeAdapter;
23
- timeoutMs;
24
- agentId;
25
- constructor(deps, options) {
26
- this.runtimeAdapter = deps.runtimeAdapter;
27
- this.timeoutMs = options?.timeoutMs ?? 120_000;
28
- this.agentId = options?.agentId ?? 'empathy-observer';
29
- }
30
- /**
31
- * Builds the prompt exactly replicating the legacy empathyObserverWorkflowSpec
32
- * (PRI-633: the role declaration moved to SYSTEM_PROMPT / the system channel).
33
- */
34
- static buildPrompt(userMessage) {
35
- return [
36
- 'Analyze ONLY the user message and return strict JSON (no markdown):',
37
- '{"damageDetected": boolean, "severity": "mild|moderate|severe", "confidence": number, "reason": string}',
38
- `User message: ${JSON.stringify(userMessage.trim())}`,
39
- ].join('\n');
40
- }
41
- /**
42
- * Run the simplified one-shot Empathy Observer.
43
- */
44
- async run(input) {
45
- const prompt = EmpathyObserver.buildPrompt(input.userMessage);
46
- // One-shot start run
47
- const runHandle = await this.runtimeAdapter.startRun({
48
- agentSpec: { agentId: this.agentId, schemaVersion: 'v1' },
49
- taskRef: { taskId: `emp_obs_${Date.now()}` },
50
- inputPayload: prompt,
51
- contextItems: [],
52
- outputSchemaRef: 'empathy-observer-output-v1',
53
- timeoutMs: this.timeoutMs,
54
- systemPrompt: EmpathyObserver.SYSTEM_PROMPT,
55
- });
56
- // Poll until terminal
57
- const deadline = Date.now() + this.timeoutMs;
58
- const pollIntervalMs = 500;
59
- let terminal = false;
60
- while (Date.now() < deadline) {
61
- const status = await this.runtimeAdapter.pollRun(runHandle.runId);
62
- if (status.status === 'succeeded') {
63
- terminal = true;
64
- break;
65
- }
66
- if (status.status === 'failed' || status.status === 'timed_out' || status.status === 'cancelled') {
67
- throw new Error(`EmpathyObserver run failed: ${status.status} | reason: ${status.reason ?? 'unknown'}`);
68
- }
69
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
70
- }
71
- if (!terminal) {
72
- let cancelReason = '';
73
- try {
74
- await this.runtimeAdapter.cancelRun(runHandle.runId);
75
- }
76
- catch (cancelErr) {
77
- cancelReason = ` | cancelFailed: ${String(cancelErr)}`;
78
- }
79
- throw new Error(`EmpathyObserver run timed out after ${this.timeoutMs}ms${cancelReason}`);
80
- }
81
- // Fetch and parse output
82
- const outputResult = await this.runtimeAdapter.fetchOutput(runHandle.runId);
83
- if (!outputResult?.payload) {
84
- throw new Error(`EmpathyObserver run yielded empty output`);
85
- }
86
- const payload = outputResult.payload;
87
- // Strict runtime schema verification
88
- if (typeof payload.damageDetected !== 'boolean' ||
89
- !['mild', 'moderate', 'severe'].includes(payload.severity) ||
90
- typeof payload.confidence !== 'number' ||
91
- payload.confidence < 0 ||
92
- payload.confidence > 1 ||
93
- typeof payload.reason !== 'string') {
94
- throw new Error(`EmpathyObserver output validation failed: ${JSON.stringify(payload).substring(0, 200)}`);
95
- }
96
- return {
97
- damageDetected: payload.damageDetected,
98
- severity: payload.severity,
99
- confidence: payload.confidence,
100
- reason: payload.reason,
101
- };
102
- }
103
- }
104
- //# sourceMappingURL=empathy-observer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empathy-observer.js","sourceRoot":"","sources":["../../../src/runtime-v2/observer/empathy-observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AAGtD,gFAAgF;AAEhF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;CAC3C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC,MAAM,CAAC;IACvD,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE;IAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAeH,MAAM,OAAO,eAAe;IAC1B;;;OAGG;IACH,MAAM,CAAU,aAAa,GAAG,8BAA8B,CAAC;IAE9C,cAAc,CAAmB;IACjC,SAAS,CAAS;IAClB,OAAO,CAAS;IAEjC,YAAY,IAAyB,EAAE,OAAgC;QACrE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,kBAAkB,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,WAAmB;QACpC,OAAO;YACL,qEAAqE;YACrE,yGAAyG;YACzG,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE;SACtD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,KAA2B;QACnC,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE9D,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACnD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE;YACzD,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE;YAC5C,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,4BAA4B;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,YAAY,EAAE,eAAe,CAAC,aAAa;SAC5C,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7C,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACjG,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,cAAc,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,YAAY,GAAG,oBAAoB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,yBAAyB;QACzB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAkC,CAAC;QAEhE,qCAAqC;QACrC,IACE,OAAO,OAAO,CAAC,cAAc,KAAK,SAAS;YAC3C,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAkB,CAAC;YACpE,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;YACtC,OAAO,CAAC,UAAU,GAAG,CAAC;YACtB,OAAO,CAAC,UAAU,GAAG,CAAC;YACtB,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAClC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAA0C;YAC5D,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACW,CAAC;IACtC,CAAC;CACF"}