@llblab/pi-kit 0.38.4 → 0.39.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 (424) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +1 -1
  3. package/node_modules/@llblab/pi-actors/AGENTS.md +108 -20
  4. package/node_modules/@llblab/pi-actors/BACKLOG.md +207 -4
  5. package/node_modules/@llblab/pi-actors/CHANGELOG.md +13 -0
  6. package/node_modules/@llblab/pi-actors/README.md +31 -1
  7. package/node_modules/@llblab/pi-actors/dist/index.js +1 -1
  8. package/node_modules/@llblab/pi-actors/dist/lib/async-runs.d.ts +37 -0
  9. package/node_modules/@llblab/pi-actors/dist/lib/async-runs.js +131 -62
  10. package/node_modules/@llblab/pi-actors/dist/lib/automatic-review-runtime.d.ts +2 -0
  11. package/node_modules/@llblab/pi-actors/dist/lib/automatic-review-runtime.js +3 -2
  12. package/node_modules/@llblab/pi-actors/dist/lib/command-templates.d.ts +37 -0
  13. package/node_modules/@llblab/pi-actors/dist/lib/command-templates.js +263 -129
  14. package/node_modules/@llblab/pi-actors/dist/lib/execution-files.d.ts +32 -0
  15. package/node_modules/@llblab/pi-actors/dist/lib/execution-files.js +128 -0
  16. package/node_modules/@llblab/pi-actors/dist/lib/execution-output.js +5 -4
  17. package/node_modules/@llblab/pi-actors/dist/lib/execution-sessions.d.ts +19 -1
  18. package/node_modules/@llblab/pi-actors/dist/lib/execution-sessions.js +62 -26
  19. package/node_modules/@llblab/pi-actors/dist/lib/execution.d.ts +4 -1
  20. package/node_modules/@llblab/pi-actors/dist/lib/execution.js +6 -1
  21. package/node_modules/@llblab/pi-actors/dist/lib/extension-runtime.d.ts +9 -2
  22. package/node_modules/@llblab/pi-actors/dist/lib/extension-runtime.js +92 -14
  23. package/node_modules/@llblab/pi-actors/dist/lib/file-state.js +21 -2
  24. package/node_modules/@llblab/pi-actors/dist/lib/inspector-command.js +2 -2
  25. package/node_modules/@llblab/pi-actors/dist/lib/inspector-overlay.d.ts +25 -7
  26. package/node_modules/@llblab/pi-actors/dist/lib/inspector-overlay.js +562 -262
  27. package/node_modules/@llblab/pi-actors/dist/lib/inspector.d.ts +20 -10
  28. package/node_modules/@llblab/pi-actors/dist/lib/inspector.js +80 -91
  29. package/node_modules/@llblab/pi-actors/dist/lib/limits.d.ts +1 -0
  30. package/node_modules/@llblab/pi-actors/dist/lib/limits.js +1 -0
  31. package/node_modules/@llblab/pi-actors/dist/lib/observability.d.ts +15 -1
  32. package/node_modules/@llblab/pi-actors/dist/lib/observability.js +216 -99
  33. package/node_modules/@llblab/pi-actors/dist/lib/pi.d.ts +5 -4
  34. package/node_modules/@llblab/pi-actors/dist/lib/pi.js +64 -10
  35. package/node_modules/@llblab/pi-actors/dist/lib/recipe-projection.d.ts +18 -0
  36. package/node_modules/@llblab/pi-actors/dist/lib/recipe-projection.js +220 -0
  37. package/node_modules/@llblab/pi-actors/dist/lib/recipes-context.d.ts +2 -0
  38. package/node_modules/@llblab/pi-actors/dist/lib/recipes-context.js +30 -6
  39. package/node_modules/@llblab/pi-actors/dist/lib/registry.js +270 -36
  40. package/node_modules/@llblab/pi-actors/dist/lib/run-delivery.d.ts +213 -5
  41. package/node_modules/@llblab/pi-actors/dist/lib/run-delivery.js +1909 -40
  42. package/node_modules/@llblab/pi-actors/dist/lib/run-supervision.d.ts +107 -0
  43. package/node_modules/@llblab/pi-actors/dist/lib/run-supervision.js +412 -0
  44. package/node_modules/@llblab/pi-actors/dist/lib/run-ui-runtime.d.ts +9 -2
  45. package/node_modules/@llblab/pi-actors/dist/lib/run-ui-runtime.js +283 -60
  46. package/node_modules/@llblab/pi-actors/dist/lib/runs-artifacts.d.ts +26 -1
  47. package/node_modules/@llblab/pi-actors/dist/lib/runs-artifacts.js +68 -2
  48. package/node_modules/@llblab/pi-actors/dist/lib/runs-context-exports.d.ts +451 -0
  49. package/node_modules/@llblab/pi-actors/dist/lib/runs-context-exports.js +2315 -0
  50. package/node_modules/@llblab/pi-actors/dist/lib/runs-context-index.d.ts +97 -0
  51. package/node_modules/@llblab/pi-actors/dist/lib/runs-context-index.js +368 -0
  52. package/node_modules/@llblab/pi-actors/dist/lib/runs-control-delivery.js +46 -7
  53. package/node_modules/@llblab/pi-actors/dist/lib/runs-control.d.ts +78 -2
  54. package/node_modules/@llblab/pi-actors/dist/lib/runs-control.js +334 -2
  55. package/node_modules/@llblab/pi-actors/dist/lib/runs-controls.js +4 -1
  56. package/node_modules/@llblab/pi-actors/dist/lib/runs-descendant-launches.d.ts +80 -0
  57. package/node_modules/@llblab/pi-actors/dist/lib/runs-descendant-launches.js +287 -0
  58. package/node_modules/@llblab/pi-actors/dist/lib/runs-execution-evidence.d.ts +110 -0
  59. package/node_modules/@llblab/pi-actors/dist/lib/runs-execution-evidence.js +282 -0
  60. package/node_modules/@llblab/pi-actors/dist/lib/runs-index.d.ts +66 -1
  61. package/node_modules/@llblab/pi-actors/dist/lib/runs-index.js +349 -13
  62. package/node_modules/@llblab/pi-actors/dist/lib/runs-native-launches.d.ts +73 -0
  63. package/node_modules/@llblab/pi-actors/dist/lib/runs-native-launches.js +227 -0
  64. package/node_modules/@llblab/pi-actors/dist/lib/runs-outcomes.d.ts +141 -0
  65. package/node_modules/@llblab/pi-actors/dist/lib/runs-outcomes.js +292 -0
  66. package/node_modules/@llblab/pi-actors/dist/lib/runs-ownership.d.ts +10 -1
  67. package/node_modules/@llblab/pi-actors/dist/lib/runs-ownership.js +36 -4
  68. package/node_modules/@llblab/pi-actors/dist/lib/runs-process-windows-mi.d.ts +46 -0
  69. package/node_modules/@llblab/pi-actors/dist/lib/runs-process-windows-mi.js +114 -0
  70. package/node_modules/@llblab/pi-actors/dist/lib/runs-process.d.ts +34 -1
  71. package/node_modules/@llblab/pi-actors/dist/lib/runs-process.js +158 -26
  72. package/node_modules/@llblab/pi-actors/dist/lib/runs-results.d.ts +116 -0
  73. package/node_modules/@llblab/pi-actors/dist/lib/runs-results.js +518 -0
  74. package/node_modules/@llblab/pi-actors/dist/lib/runs-retention.d.ts +15 -2
  75. package/node_modules/@llblab/pi-actors/dist/lib/runs-retention.js +148 -9
  76. package/node_modules/@llblab/pi-actors/dist/lib/runs-session-exports.d.ts +95 -0
  77. package/node_modules/@llblab/pi-actors/dist/lib/runs-session-exports.js +470 -0
  78. package/node_modules/@llblab/pi-actors/dist/lib/runs-snapshot.d.ts +58 -0
  79. package/node_modules/@llblab/pi-actors/dist/lib/runs-snapshot.js +92 -0
  80. package/node_modules/@llblab/pi-actors/dist/lib/runs-start.d.ts +2 -0
  81. package/node_modules/@llblab/pi-actors/dist/lib/runs-start.js +44 -3
  82. package/node_modules/@llblab/pi-actors/dist/lib/runs-status.d.ts +15 -1
  83. package/node_modules/@llblab/pi-actors/dist/lib/runs-status.js +337 -13
  84. package/node_modules/@llblab/pi-actors/dist/lib/runs-supervision.d.ts +105 -0
  85. package/node_modules/@llblab/pi-actors/dist/lib/runs-supervision.js +501 -0
  86. package/node_modules/@llblab/pi-actors/dist/lib/runs-trace.d.ts +1 -0
  87. package/node_modules/@llblab/pi-actors/dist/lib/runs-trace.js +14 -3
  88. package/node_modules/@llblab/pi-actors/dist/lib/runtime.js +22 -3
  89. package/node_modules/@llblab/pi-actors/dist/lib/session-evidence.d.ts +37 -0
  90. package/node_modules/@llblab/pi-actors/dist/lib/session-evidence.js +59 -3
  91. package/node_modules/@llblab/pi-actors/dist/lib/state-readers.d.ts +4 -1
  92. package/node_modules/@llblab/pi-actors/dist/lib/state-readers.js +14 -8
  93. package/node_modules/@llblab/pi-actors/dist/lib/temp.d.ts +2 -4
  94. package/node_modules/@llblab/pi-actors/dist/lib/temp.js +4 -56
  95. package/node_modules/@llblab/pi-actors/dist/lib/tools-access.d.ts +3 -0
  96. package/node_modules/@llblab/pi-actors/dist/lib/tools-access.js +13 -0
  97. package/node_modules/@llblab/pi-actors/dist/lib/tools-inspect.d.ts +1 -0
  98. package/node_modules/@llblab/pi-actors/dist/lib/tools-inspect.js +110 -43
  99. package/node_modules/@llblab/pi-actors/dist/lib/tools-local.d.ts +3 -0
  100. package/node_modules/@llblab/pi-actors/dist/lib/tools-local.js +18 -6
  101. package/node_modules/@llblab/pi-actors/dist/lib/tools-message.d.ts +4 -1
  102. package/node_modules/@llblab/pi-actors/dist/lib/tools-message.js +126 -31
  103. package/node_modules/@llblab/pi-actors/dist/lib/tools-response.d.ts +31 -3
  104. package/node_modules/@llblab/pi-actors/dist/lib/tools-response.js +311 -47
  105. package/node_modules/@llblab/pi-actors/dist/lib/tools-spawn.d.ts +3 -0
  106. package/node_modules/@llblab/pi-actors/dist/lib/tools-spawn.js +29 -7
  107. package/node_modules/@llblab/pi-actors/dist/lib/trace-projection.d.ts +20 -0
  108. package/node_modules/@llblab/pi-actors/dist/lib/trace-projection.js +192 -43
  109. package/node_modules/@llblab/pi-actors/dist/scripts/async-runner.mjs +272 -194
  110. package/node_modules/@llblab/pi-actors/dist/scripts/conformance.mjs +14 -2
  111. package/node_modules/@llblab/pi-actors/dist/skills/actors/SKILL.md +46 -2
  112. package/node_modules/@llblab/pi-actors/dist/skills/actors/references/diagnostics.md +40 -0
  113. package/node_modules/@llblab/pi-actors/dist/skills/actors/references/runs.md +55 -1
  114. package/node_modules/@llblab/pi-actors/docs/README.md +9 -1
  115. package/node_modules/@llblab/pi-actors/docs/actor-inspector.md +84 -15
  116. package/node_modules/@llblab/pi-actors/docs/agent-experience.md +216 -0
  117. package/node_modules/@llblab/pi-actors/docs/async-runs.md +18 -2
  118. package/node_modules/@llblab/pi-actors/docs/composition-transport.md +103 -0
  119. package/node_modules/@llblab/pi-actors/docs/coordinator-delivery.md +204 -4
  120. package/node_modules/@llblab/pi-actors/docs/inspection.md +38 -2
  121. package/node_modules/@llblab/pi-actors/docs/output-projection-map.md +130 -0
  122. package/node_modules/@llblab/pi-actors/docs/releasing.md +19 -2
  123. package/node_modules/@llblab/pi-actors/docs/run-supervision.md +1622 -0
  124. package/node_modules/@llblab/pi-actors/docs/template-recipes.md +4 -0
  125. package/node_modules/@llblab/pi-actors/docs/windows-process-observation.md +248 -0
  126. package/node_modules/@llblab/pi-actors/index.ts +1 -1
  127. package/node_modules/@llblab/pi-actors/lib/async-runs.ts +164 -73
  128. package/node_modules/@llblab/pi-actors/lib/automatic-review-runtime.ts +4 -2
  129. package/node_modules/@llblab/pi-actors/lib/command-templates.ts +287 -138
  130. package/node_modules/@llblab/pi-actors/lib/execution-files.ts +118 -0
  131. package/node_modules/@llblab/pi-actors/lib/execution-output.ts +4 -4
  132. package/node_modules/@llblab/pi-actors/lib/execution-sessions.ts +57 -27
  133. package/node_modules/@llblab/pi-actors/lib/execution.ts +8 -0
  134. package/node_modules/@llblab/pi-actors/lib/extension-runtime.ts +102 -12
  135. package/node_modules/@llblab/pi-actors/lib/file-state.ts +16 -2
  136. package/node_modules/@llblab/pi-actors/lib/inspector-command.ts +2 -2
  137. package/node_modules/@llblab/pi-actors/lib/inspector-overlay.ts +524 -261
  138. package/node_modules/@llblab/pi-actors/lib/inspector.ts +101 -130
  139. package/node_modules/@llblab/pi-actors/lib/limits.ts +1 -0
  140. package/node_modules/@llblab/pi-actors/lib/observability.ts +235 -116
  141. package/node_modules/@llblab/pi-actors/lib/pi.ts +59 -11
  142. package/node_modules/@llblab/pi-actors/lib/recipe-projection.ts +232 -0
  143. package/node_modules/@llblab/pi-actors/lib/recipes-context.ts +27 -6
  144. package/node_modules/@llblab/pi-actors/lib/registry.ts +266 -36
  145. package/node_modules/@llblab/pi-actors/lib/run-delivery.ts +1737 -49
  146. package/node_modules/@llblab/pi-actors/lib/run-supervision.ts +411 -0
  147. package/node_modules/@llblab/pi-actors/lib/run-ui-runtime.ts +237 -73
  148. package/node_modules/@llblab/pi-actors/lib/runs-artifacts.ts +73 -1
  149. package/node_modules/@llblab/pi-actors/lib/runs-context-exports.ts +1871 -0
  150. package/node_modules/@llblab/pi-actors/lib/runs-context-index.ts +372 -0
  151. package/node_modules/@llblab/pi-actors/lib/runs-control-delivery.ts +36 -18
  152. package/node_modules/@llblab/pi-actors/lib/runs-control.ts +297 -1
  153. package/node_modules/@llblab/pi-actors/lib/runs-controls.ts +3 -1
  154. package/node_modules/@llblab/pi-actors/lib/runs-descendant-launches.ts +338 -0
  155. package/node_modules/@llblab/pi-actors/lib/runs-execution-evidence.ts +302 -0
  156. package/node_modules/@llblab/pi-actors/lib/runs-index.ts +345 -17
  157. package/node_modules/@llblab/pi-actors/lib/runs-native-launches.ts +270 -0
  158. package/node_modules/@llblab/pi-actors/lib/runs-outcomes.ts +377 -0
  159. package/node_modules/@llblab/pi-actors/lib/runs-ownership.ts +37 -4
  160. package/node_modules/@llblab/pi-actors/lib/runs-process-windows-mi.ts +113 -0
  161. package/node_modules/@llblab/pi-actors/lib/runs-process.ts +210 -34
  162. package/node_modules/@llblab/pi-actors/lib/runs-results.ts +601 -0
  163. package/node_modules/@llblab/pi-actors/lib/runs-retention.ts +134 -10
  164. package/node_modules/@llblab/pi-actors/lib/runs-session-exports.ts +406 -0
  165. package/node_modules/@llblab/pi-actors/lib/runs-snapshot.ts +143 -0
  166. package/node_modules/@llblab/pi-actors/lib/runs-start.ts +44 -2
  167. package/node_modules/@llblab/pi-actors/lib/runs-status.ts +252 -10
  168. package/node_modules/@llblab/pi-actors/lib/runs-supervision.ts +394 -0
  169. package/node_modules/@llblab/pi-actors/lib/runs-trace.ts +14 -3
  170. package/node_modules/@llblab/pi-actors/lib/runtime.ts +22 -3
  171. package/node_modules/@llblab/pi-actors/lib/session-evidence.ts +76 -4
  172. package/node_modules/@llblab/pi-actors/lib/state-readers.ts +16 -7
  173. package/node_modules/@llblab/pi-actors/lib/temp.ts +3 -56
  174. package/node_modules/@llblab/pi-actors/lib/tools-access.ts +13 -0
  175. package/node_modules/@llblab/pi-actors/lib/tools-inspect.ts +110 -51
  176. package/node_modules/@llblab/pi-actors/lib/tools-local.ts +37 -24
  177. package/node_modules/@llblab/pi-actors/lib/tools-message.ts +120 -37
  178. package/node_modules/@llblab/pi-actors/lib/tools-response.ts +273 -50
  179. package/node_modules/@llblab/pi-actors/lib/tools-spawn.ts +31 -10
  180. package/node_modules/@llblab/pi-actors/lib/trace-projection.ts +165 -42
  181. package/node_modules/@llblab/pi-actors/package.json +10 -6
  182. package/node_modules/@llblab/pi-actors/scripts/async-runner.mjs +272 -194
  183. package/node_modules/@llblab/pi-actors/scripts/conformance.mjs +14 -2
  184. package/node_modules/@llblab/pi-actors/skills/actors/SKILL.md +46 -2
  185. package/node_modules/@llblab/pi-actors/skills/actors/references/diagnostics.md +40 -0
  186. package/node_modules/@llblab/pi-actors/skills/actors/references/runs.md +55 -1
  187. package/node_modules/yaml/LICENSE +13 -0
  188. package/node_modules/yaml/README.md +172 -0
  189. package/node_modules/yaml/bin.mjs +11 -0
  190. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  191. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  192. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  193. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  194. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  195. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  196. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  197. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  198. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  199. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  200. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
  201. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  202. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  203. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  204. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  205. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  206. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  207. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  208. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  209. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  210. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  211. package/node_modules/yaml/browser/dist/errors.js +57 -0
  212. package/node_modules/yaml/browser/dist/index.js +17 -0
  213. package/node_modules/yaml/browser/dist/log.js +11 -0
  214. package/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
  215. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  216. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  217. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  218. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  219. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  220. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  221. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  222. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  223. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  224. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  225. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  226. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  227. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  228. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  229. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  230. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  231. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  232. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  233. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  234. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  235. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  236. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  237. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  238. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  239. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  240. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  241. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  242. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  243. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  244. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  245. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  246. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  247. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  248. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  249. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  250. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  251. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  252. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  253. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  254. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  255. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  256. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  257. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  258. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  259. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  260. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  261. package/node_modules/yaml/browser/dist/util.js +11 -0
  262. package/node_modules/yaml/browser/dist/visit.js +233 -0
  263. package/node_modules/yaml/browser/index.js +5 -0
  264. package/node_modules/yaml/browser/package.json +3 -0
  265. package/node_modules/yaml/dist/cli.d.ts +8 -0
  266. package/node_modules/yaml/dist/cli.mjs +201 -0
  267. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  268. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  269. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  270. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  271. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  272. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  273. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  274. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  275. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  276. package/node_modules/yaml/dist/compose/composer.js +224 -0
  277. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  278. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  279. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  280. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  281. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  282. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  283. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  284. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  285. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  286. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  287. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  288. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  289. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  290. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  291. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  292. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  293. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  294. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  295. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  296. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  297. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  298. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  299. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  300. package/node_modules/yaml/dist/doc/Document.js +337 -0
  301. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  302. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  303. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  304. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  305. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  306. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  307. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  308. package/node_modules/yaml/dist/doc/directives.js +178 -0
  309. package/node_modules/yaml/dist/errors.d.ts +21 -0
  310. package/node_modules/yaml/dist/errors.js +62 -0
  311. package/node_modules/yaml/dist/index.d.ts +25 -0
  312. package/node_modules/yaml/dist/index.js +50 -0
  313. package/node_modules/yaml/dist/log.d.ts +3 -0
  314. package/node_modules/yaml/dist/log.js +19 -0
  315. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  316. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  317. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  318. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  319. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  320. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  321. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  322. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  323. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  324. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  325. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  326. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  327. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  328. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  329. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  330. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  331. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  332. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  333. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  334. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  335. package/node_modules/yaml/dist/options.d.ts +350 -0
  336. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  337. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  338. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  339. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  340. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  341. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  342. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  343. package/node_modules/yaml/dist/parse/cst.js +112 -0
  344. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  345. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  346. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  347. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  348. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  349. package/node_modules/yaml/dist/parse/parser.js +980 -0
  350. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  351. package/node_modules/yaml/dist/public-api.js +107 -0
  352. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  353. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  354. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  355. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  356. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  357. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  358. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  359. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  360. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  361. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  362. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  363. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  364. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  365. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  366. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  367. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  368. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  369. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  370. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  371. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  372. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  373. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  374. package/node_modules/yaml/dist/schema/tags.js +99 -0
  375. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  376. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  377. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  378. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  379. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  380. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  381. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  382. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  383. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  384. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  385. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  386. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  387. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  388. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  389. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  390. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  391. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  392. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  393. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  394. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  395. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  396. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  397. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  398. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  399. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  400. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  401. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  402. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  403. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  404. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  405. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  406. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  407. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  408. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  409. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  410. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  411. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  412. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  413. package/node_modules/yaml/dist/test-events.js +134 -0
  414. package/node_modules/yaml/dist/util.d.ts +16 -0
  415. package/node_modules/yaml/dist/util.js +28 -0
  416. package/node_modules/yaml/dist/visit.d.ts +102 -0
  417. package/node_modules/yaml/dist/visit.js +236 -0
  418. package/node_modules/yaml/package.json +97 -0
  419. package/node_modules/yaml/util.js +2 -0
  420. package/package.json +2 -2
  421. package/node_modules/@llblab/pi-actors/banner.jpg +0 -0
  422. package/node_modules/@llblab/pi-actors/dist/lib/inspector-actions.d.ts +0 -16
  423. package/node_modules/@llblab/pi-actors/dist/lib/inspector-actions.js +0 -57
  424. package/node_modules/@llblab/pi-actors/lib/inspector-actions.ts +0 -79
@@ -1,10 +1,76 @@
1
1
  /**
2
2
  * Async run artifact declarations and manifest resolution.
3
- * Owns: artifact path template expansion and filesystem-backed artifact metadata.
3
+ * Owns: artifact path expansion, captured-reference validation, body-free metadata observation and explicit hashing.
4
+ * Excludes: generation admission, export publication, directory scans and production/immutable-content proof.
4
5
  */
5
6
  import { createHash } from "node:crypto";
6
- import { closeSync, fstatSync, openSync, readSync, } from "node:fs";
7
+ import { closeSync, fstatSync, lstatSync, openSync, readSync, } from "node:fs";
8
+ import { isAbsolute, sep } from "node:path";
7
9
  import { substituteCommandTemplateToken } from "./command-templates.js";
10
+ /** Captured paths only: no placeholder/environment expansion, directory discovery or fallback to this process's cwd. */
11
+ export function describeRunArtifactReferences(artifacts, cwd) {
12
+ if (artifacts === undefined)
13
+ return Object.freeze({ state: "available", references: Object.freeze([]) });
14
+ const invalid = () => Object.freeze({ state: "unavailable", reason: "artifact_declarations_invalid" });
15
+ if (!artifacts || typeof artifacts !== "object" || Array.isArray(artifacts))
16
+ return invalid();
17
+ const references = [];
18
+ for (const [name, value] of Object.entries(artifacts)) {
19
+ if (!name.trim() || /[\u0000-\u001f\u007f]/u.test(name))
20
+ return invalid();
21
+ const declaration = typeof value === "string" ? { path: value } : value;
22
+ if (!declaration || typeof declaration !== "object" || Array.isArray(declaration))
23
+ return invalid();
24
+ const item = declaration;
25
+ if (Object.keys(item).some(key => !["path", "kind", "media_type", "required"].includes(key)) || !Object.hasOwn(item, "path") ||
26
+ typeof item.path !== "string" || !item.path || /[\u0000-\u001f\u007f]/u.test(item.path) ||
27
+ (item.kind !== undefined && typeof item.kind !== "string") || (item.media_type !== undefined && typeof item.media_type !== "string") ||
28
+ (item.required !== undefined && typeof item.required !== "boolean"))
29
+ return invalid();
30
+ if (!isAbsolute(item.path) && (typeof cwd !== "string" || !isAbsolute(cwd) || /[\u0000-\u001f\u007f]/u.test(cwd))) {
31
+ return Object.freeze({ state: "unavailable", reason: "artifact_base_unavailable" });
32
+ }
33
+ // Lexical normalization can retarget symlink/.. references; anchor cwd without rewriting the declared path.
34
+ const path = isAbsolute(item.path) ? item.path : `${cwd}${cwd.endsWith(sep) ? "" : sep}${item.path}`;
35
+ references.push(Object.freeze({ name, path,
36
+ ...(typeof item.kind === "string" ? { kind: item.kind } : {}),
37
+ ...(typeof item.media_type === "string" ? { media_type: item.media_type } : {}),
38
+ ...(typeof item.required === "boolean" ? { required: item.required } : {}) }));
39
+ }
40
+ return Object.freeze({ state: "available", references: Object.freeze(references) });
41
+ }
42
+ /** Readability/stat evidence only. A declared file need not have been created by this Run and is never hashed here. */
43
+ export function observeRunArtifactReference(reference) {
44
+ const unavailable = (reason) => Object.freeze({ ...reference, availability: "unavailable", reason });
45
+ let observed = false;
46
+ try {
47
+ const before = lstatSync(reference.path, { bigint: true });
48
+ observed = true;
49
+ if (!before.isFile())
50
+ return unavailable("artifact_not_regular");
51
+ const same = (right) => right.isFile() && before.dev === right.dev && before.ino === right.ino &&
52
+ before.size === right.size && before.mtimeNs === right.mtimeNs && before.ctimeNs === right.ctimeNs;
53
+ const fd = openSync(reference.path, "r");
54
+ try {
55
+ if (!same(fstatSync(fd, { bigint: true })))
56
+ return unavailable("artifact_changed");
57
+ if (before.size < 0n || before.size > BigInt(Number.MAX_SAFE_INTEGER))
58
+ return unavailable("artifact_size_unavailable");
59
+ if (!same(fstatSync(fd, { bigint: true })) || !same(lstatSync(reference.path, { bigint: true })))
60
+ return unavailable("artifact_changed");
61
+ return Object.freeze({ ...reference, availability: "available", bytes_total: Number(before.size), modified_at: before.mtime.toISOString() });
62
+ }
63
+ finally {
64
+ closeSync(fd);
65
+ }
66
+ }
67
+ catch (error) {
68
+ if (error.code === "ENOENT")
69
+ return observed ? unavailable("artifact_changed")
70
+ : Object.freeze({ ...reference, availability: "missing" });
71
+ return unavailable("artifact_unreadable");
72
+ }
73
+ }
8
74
  function hashArtifactFile(path) {
9
75
  const fd = openSync(path, "r");
10
76
  try {
@@ -0,0 +1,451 @@
1
+ /**
2
+ * Producer-bound Run context, primary text and index orchestration.
3
+ * Owns: admitted privacy capture, atomic derived views, producer-backed saved Recipe/Trace/Control/Execution/Result correspondence, immutable primary source publication/readonly admission and index assembly.
4
+ * Excludes: public routing, session/composed/failure primary publication, live clocks and native work/control authority.
5
+ */
6
+ import type { CommandTemplateAttemptReceipt } from "./command-templates.ts";
7
+ import { type ProjectedRunControl } from "./control-projection.ts";
8
+ import { type RunExecutionView } from "./runs-execution-evidence.ts";
9
+ import { projectRunRecipe } from "./recipe-projection.ts";
10
+ import { computeRunControlCapacity } from "./run-evidence-policy.ts";
11
+ import { readRunSupervisionClock } from "./run-supervision.ts";
12
+ import { type RunContextEntry, type RunContextIndexPublication, type RunContextIndexIdentity } from "./runs-context-index.ts";
13
+ import { RUN_RESULT_DIAGNOSTIC_FIELDS as RESULT_DIAGNOSTIC_FIELDS, type RunResultDiagnosticsBinding, type RunResultDiagnosticExcerpt, type RunResultDiagnosticPacketExcerpt, type RunArtifactInventoryBinding, type RunArtifactInventoryReference, type RunPrimaryTextBinding, type RunPrimaryTextOutput } from "./runs-outcomes.ts";
14
+ import { type RunResultDiagnosticsAdmission, type RunResultProducer } from "./runs-results.ts";
15
+ import { type RunTraceSummary } from "./runs-trace.ts";
16
+ import { type TraceItem } from "./trace-projection.ts";
17
+ export { readRunSessionContextPreview, writeRunSessionContextExport, writeRunSessionContextIndex, RUN_CONTEXT_SESSIONS_MAX_BYTES } from "./runs-session-exports.ts";
18
+ export type { RunSessionContextExportResult, RunSessionContextPreviewReading } from "./runs-session-exports.ts";
19
+ export declare const RUN_CONTEXT_CONTROL_MAX_BYTES: number;
20
+ declare const CONTROL_VIEW_COVERAGE: Readonly<{
21
+ truncated: true;
22
+ history_complete: false;
23
+ redacted: true;
24
+ }>;
25
+ export declare const RUN_CONTEXT_RECIPE_MAX_BYTES: number;
26
+ declare const RECIPE_VIEW_COVERAGE: Readonly<{
27
+ truncated: true;
28
+ redacted: true;
29
+ }>;
30
+ export declare const RUN_CONTEXT_TRACE_MAX_BYTES: number;
31
+ declare const TRACE_VIEW_COVERAGE: Readonly<{
32
+ truncated: true;
33
+ history_complete: false;
34
+ redacted: true;
35
+ }>;
36
+ export declare const RUN_CONTEXT_RESULT_MAX_BYTES: number;
37
+ export declare const RUN_RESULT_DIAGNOSTICS_MAX_BYTES: number;
38
+ declare const RESULT_VIEW_COVERAGE: Readonly<{
39
+ truncated: true;
40
+ redacted: true;
41
+ }>;
42
+ export declare const RUN_CONTEXT_ARTIFACT_MAX_BYTES: number;
43
+ export declare const RUN_ARTIFACT_INVENTORY_MAX_BYTES: number;
44
+ export declare const RUN_CONTEXT_EXECUTION_MAX_BYTES: number;
45
+ declare const EXECUTION_VIEW_COVERAGE: Readonly<{
46
+ truncated: true;
47
+ history_complete: false;
48
+ redacted: true;
49
+ }>;
50
+ type WrittenView = {
51
+ readonly status: "written";
52
+ readonly captured_at: string;
53
+ readonly entry: Readonly<RunContextEntry>;
54
+ };
55
+ type RecipeUnavailable = {
56
+ readonly status: "unavailable";
57
+ readonly reason: "recipe_capture_absent" | "recipe_metadata_unavailable" | "recipe_metadata_invalid" | "recipe_metadata_changed" | "recipe_admission_unavailable" | "recipe_identity_redacted" | "recipe_metadata_redacted" | "recipe_view_too_large";
58
+ };
59
+ type TraceUnavailable = {
60
+ readonly status: "unavailable";
61
+ readonly reason: "trace_journal_absent" | "trace_journal_unavailable" | "trace_journal_invalid" | "trace_journal_changed" | "trace_metadata_unavailable" | "trace_metadata_changed" | "trace_admission_unavailable" | "trace_identity_redacted" | "trace_metadata_redacted";
62
+ };
63
+ type ResultUnavailable = {
64
+ readonly status: "unavailable";
65
+ readonly reason: "result_absent" | "result_unavailable" | "result_invalid" | "result_changed" | "result_metadata_unavailable" | "result_identity_redacted" | "result_metadata_redacted" | "result_view_too_large" | "result_diagnostics_invalid" | "result_diagnostics_too_large";
66
+ };
67
+ type ArtifactUnavailable = {
68
+ readonly status: "unavailable";
69
+ readonly reason: "artifact_declarations_absent" | "artifact_declarations_invalid" | "artifact_base_unavailable" | "artifact_metadata_unavailable" | "artifact_metadata_changed" | "artifact_manifest_too_large" | "artifact_observation_unavailable" | "artifact_admission_unavailable" | "artifact_identity_redacted";
70
+ };
71
+ type ExecutionUnavailable = {
72
+ readonly status: "unavailable";
73
+ readonly reason: "execution_absent" | "execution_unavailable" | "execution_invalid" | "execution_changed" | "execution_metadata_unavailable" | "execution_admission_unavailable" | "execution_identity_redacted" | "execution_metadata_redacted" | "execution_view_too_large";
74
+ };
75
+ export type RunExecutionContextExportResult = ExecutionUnavailable | WrittenView;
76
+ export type RunArtifactContextExportResult = ArtifactUnavailable | WrittenView;
77
+ export type RunResultContextExportResult = ResultUnavailable | WrittenView;
78
+ export type RunTraceContextExportResult = TraceUnavailable | WrittenView;
79
+ export type RunRecipeContextExportResult = RecipeUnavailable | WrittenView;
80
+ type Unavailable = {
81
+ readonly status: "unavailable";
82
+ readonly reason: "control_journal_absent" | "control_journal_unavailable" | "control_journal_invalid" | "control_journal_changed" | "control_metadata_unavailable" | "control_metadata_changed" | "control_admission_unavailable" | "control_identity_redacted" | "control_metadata_redacted";
83
+ };
84
+ export type RunControlContextExportResult = Unavailable | WrittenView;
85
+ type RecipeProjection = {
86
+ readonly capture: "definition_and_launch" | "launch_only";
87
+ readonly recipe: ReturnType<typeof projectRunRecipe>;
88
+ readonly stored_clock?: NonNullable<ReturnType<typeof readRunSupervisionClock>>;
89
+ };
90
+ export interface RunRecipeContextView extends RecipeProjection {
91
+ readonly schema: "run-context-recipe-v1";
92
+ readonly run: string;
93
+ readonly run_instance_id: string;
94
+ readonly captured_at: string;
95
+ readonly coverage: typeof RECIPE_VIEW_COVERAGE;
96
+ }
97
+ export type RunRecipeContextViewReading = {
98
+ readonly state: "available";
99
+ readonly basis: "original_producer_projection_match";
100
+ readonly identity: Readonly<RunContextIndexIdentity>;
101
+ readonly path: string;
102
+ readonly media_type: "application/json";
103
+ readonly bytes_total: number;
104
+ readonly mutable: true;
105
+ readonly view: Readonly<RunRecipeContextView>;
106
+ readonly unchanged: () => boolean;
107
+ } | {
108
+ readonly state: "unavailable";
109
+ readonly reason: "admission_invalid" | "admission_unavailable" | "identity_redacted" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "index_unavailable" | "recipe_unavailable" | "view_unavailable" | "view_invalid" | "view_metadata_redacted" | "view_mismatch" | "response_too_large";
110
+ };
111
+ /** Kernel-local original data correspondence, not file-issuer authentication or work/caller/restart authority. */
112
+ export declare function readRunRecipeContextView(stateDir: string, producer: RunResultProducer): Readonly<RunRecipeContextViewReading>;
113
+ export interface RunControlContextView {
114
+ readonly schema: "run-context-control-v1";
115
+ readonly run: string;
116
+ readonly run_instance_id: string;
117
+ readonly captured_at: string;
118
+ readonly run_status: string;
119
+ readonly coverage: typeof CONTROL_VIEW_COVERAGE;
120
+ readonly capacity: ReturnType<typeof computeRunControlCapacity>;
121
+ readonly controls: readonly ProjectedRunControl[];
122
+ readonly controls_omitted: number;
123
+ readonly foreign_controls_omitted: number;
124
+ }
125
+ export type RunControlContextViewReading = {
126
+ readonly state: "available";
127
+ readonly basis: "original_control_publication_match";
128
+ readonly identity: Readonly<RunContextIndexIdentity>;
129
+ readonly path: string;
130
+ readonly media_type: "application/json";
131
+ readonly bytes_total: number;
132
+ readonly mutable: true;
133
+ readonly view: Readonly<RunControlContextView>;
134
+ readonly unchanged: () => boolean;
135
+ } | {
136
+ readonly state: "unavailable";
137
+ readonly reason: "admission_invalid" | "admission_unavailable" | "publication_unavailable" | "identity_redacted" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "index_unavailable" | "control_unavailable" | "view_unavailable" | "view_invalid" | "view_metadata_redacted" | "view_mismatch" | "response_too_large";
138
+ };
139
+ /** Recorded Control data only; neither current readiness/capacity nor authority to admit, dispatch or stop work. */
140
+ export declare function readRunControlContextView(stateDir: string, producer: RunResultProducer): Readonly<RunControlContextViewReading>;
141
+ export interface RunExecutionContextView {
142
+ readonly schema: "run-context-execution-v1";
143
+ readonly run: string;
144
+ readonly run_instance_id: string;
145
+ readonly captured_at: string;
146
+ readonly coverage: typeof EXECUTION_VIEW_COVERAGE;
147
+ readonly source_scope: "execution_manifest";
148
+ readonly capture_references: "not_exported";
149
+ readonly capture_bodies: "not_read";
150
+ readonly session_bodies: "not_read";
151
+ readonly scope_closure: "not_asserted";
152
+ readonly execution: Readonly<RunExecutionView>;
153
+ }
154
+ export type RunExecutionContextViewReading = {
155
+ readonly state: "available";
156
+ readonly basis: "original_execution_publication_match";
157
+ readonly identity: Readonly<RunContextIndexIdentity>;
158
+ readonly path: string;
159
+ readonly media_type: "application/json";
160
+ readonly bytes_total: number;
161
+ readonly mutable: true;
162
+ readonly view: Readonly<RunExecutionContextView>;
163
+ readonly unchanged: () => boolean;
164
+ } | {
165
+ readonly state: "unavailable";
166
+ readonly reason: "admission_invalid" | "admission_unavailable" | "publication_unavailable" | "identity_redacted" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "index_unavailable" | "execution_unavailable" | "view_unavailable" | "view_invalid" | "view_metadata_redacted" | "view_mismatch" | "response_too_large";
167
+ };
168
+ /** Historical admitted metadata only: recorded references/exits/killed facts grant no body, lifecycle or native authority. */
169
+ export declare function readRunExecutionContextView(stateDir: string, producer: RunResultProducer): Readonly<RunExecutionContextViewReading>;
170
+ export interface RunResultContextView {
171
+ readonly schema: "run-context-result-v1";
172
+ readonly run: string;
173
+ readonly run_instance_id: string;
174
+ readonly captured_at: string;
175
+ readonly coverage: typeof RESULT_VIEW_COVERAGE;
176
+ readonly content_scope: "canonical_outcome_metadata";
177
+ readonly primary_text: "not_included";
178
+ readonly diagnostics: Readonly<{
179
+ state: "not_recorded";
180
+ }> | Readonly<{
181
+ state: "available";
182
+ source: Readonly<{
183
+ path: string;
184
+ run_instance_id: string;
185
+ sha256: string;
186
+ }>;
187
+ bytes_total: number;
188
+ fields: Readonly<Partial<Record<typeof RESULT_DIAGNOSTIC_FIELDS[number], Omit<RunResultDiagnosticExcerpt, "text">>>>;
189
+ }>;
190
+ readonly outcome: Readonly<{
191
+ code: number;
192
+ recorded_at: string;
193
+ command?: string;
194
+ error?: string;
195
+ failure_reason?: string;
196
+ producer_flags?: Readonly<{
197
+ reported_killed?: boolean;
198
+ reported_truncated?: boolean;
199
+ }>;
200
+ }> & (Readonly<{
201
+ acceptance: "natural";
202
+ terminal_status: "done" | "failed";
203
+ }> | Readonly<{
204
+ acceptance: "capture_only";
205
+ }>);
206
+ }
207
+ export type RunResultContextViewReading = {
208
+ readonly state: "available";
209
+ readonly basis: "original_result_publication_match";
210
+ readonly identity: Readonly<RunContextIndexIdentity>;
211
+ readonly path: string;
212
+ readonly media_type: "application/json";
213
+ readonly bytes_total: number;
214
+ readonly mutable: true;
215
+ readonly view: Readonly<RunResultContextView>;
216
+ readonly unchanged: () => boolean;
217
+ } | {
218
+ readonly state: "unavailable";
219
+ readonly reason: "admission_invalid" | "admission_unavailable" | "publication_unavailable" | "identity_redacted" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "index_unavailable" | "result_unavailable" | "view_unavailable" | "view_invalid" | "view_metadata_redacted" | "view_mismatch" | "response_too_large";
220
+ };
221
+ /** Original successful Result-view data only, never current outcome/source/body, active terminal or cleanup authority. */
222
+ export declare function readRunResultContextView(stateDir: string, producer: RunResultProducer): Readonly<RunResultContextViewReading>;
223
+ export interface RunTraceContextView {
224
+ readonly header: {
225
+ readonly schema: "run-context-trace-v1";
226
+ readonly run: string;
227
+ readonly run_instance_id: string;
228
+ readonly captured_at: string;
229
+ readonly source_scope: "canonical_journal";
230
+ readonly order: "newest_first";
231
+ readonly coverage: typeof TRACE_VIEW_COVERAGE;
232
+ readonly journal: RunTraceSummary;
233
+ readonly read_omitted_events: number;
234
+ readonly events_total: number;
235
+ readonly events_shown: number;
236
+ readonly events_omitted: number;
237
+ };
238
+ readonly items: readonly TraceItem[];
239
+ }
240
+ export type RunTraceContextViewReading = {
241
+ readonly state: "available";
242
+ readonly basis: "original_trace_publication_match";
243
+ readonly identity: Readonly<RunContextIndexIdentity>;
244
+ readonly path: string;
245
+ readonly media_type: "application/x-ndjson";
246
+ readonly bytes_total: number;
247
+ readonly mutable: true;
248
+ readonly view: Readonly<RunTraceContextView>;
249
+ readonly unchanged: () => boolean;
250
+ } | {
251
+ readonly state: "unavailable";
252
+ readonly reason: "admission_invalid" | "admission_unavailable" | "publication_unavailable" | "identity_redacted" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "index_unavailable" | "trace_unavailable" | "view_unavailable" | "view_invalid" | "view_metadata_redacted" | "view_mismatch" | "response_too_large";
253
+ };
254
+ /** Reads original successful publication data, never a live journal projection or a reconstructed binding. */
255
+ export declare function readRunTraceContextView(stateDir: string, producer: RunResultProducer): Readonly<RunTraceContextViewReading>;
256
+ export interface RunResultDiagnosticsPublisher {
257
+ readonly publish: (admission: RunResultDiagnosticsAdmission) => Readonly<RunResultDiagnosticsBinding>;
258
+ readonly readFailure: () => unknown;
259
+ }
260
+ /** Capture privacy before work. Source I/O occurs only in the genuine synchronous first-result callback, not initialization. */
261
+ export declare function createRunResultDiagnosticsPublisher(stateDir: string, producer: RunResultProducer): Readonly<RunResultDiagnosticsPublisher>;
262
+ type ResultDiagnosticField = typeof RESULT_DIAGNOSTIC_FIELDS[number];
263
+ export type RunResultDiagnosticsReading = {
264
+ readonly state: "available";
265
+ readonly identity: Readonly<RunContextIndexIdentity>;
266
+ readonly recorded_acceptance: "natural" | "capture_only";
267
+ readonly field: ResultDiagnosticField;
268
+ readonly content_scope: "canonical_outcome_diagnostic_strings";
269
+ readonly privacy_scope: "producer_admission";
270
+ readonly primary_text: "not_included";
271
+ readonly redacted: true;
272
+ readonly selection: "recorded_preview" | "byte_range";
273
+ readonly diagnostics: Readonly<{
274
+ source: Readonly<{
275
+ path: string;
276
+ run_instance_id: string;
277
+ sha256: string;
278
+ }>;
279
+ bytes_total: number;
280
+ }>;
281
+ readonly output: Readonly<RunResultDiagnosticExcerpt>;
282
+ readonly unchanged: () => boolean;
283
+ } | {
284
+ readonly state: "unavailable";
285
+ readonly reason: "selection_invalid" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "index_unavailable" | "publication_unavailable" | "view_unavailable" | "view_invalid" | "diagnostics_unavailable" | "field_unavailable" | "source_unavailable" | "source_invalid" | "range_invalid" | "range_too_large";
286
+ };
287
+ export type RunResultDiagnosticOutcomeReading = {
288
+ readonly state: "available";
289
+ readonly identity: Readonly<RunContextIndexIdentity>;
290
+ readonly binding: Readonly<RunResultDiagnosticsBinding>;
291
+ readonly excerpt: RunResultDiagnosticPacketExcerpt;
292
+ readonly terminal_status: "done" | "failed";
293
+ readonly unchanged: () => boolean;
294
+ } | {
295
+ readonly state: "unavailable";
296
+ readonly reason: "selection_invalid" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "result_unavailable" | "publication_unavailable" | "binding_invalid" | "diagnostics_unavailable" | "nonterminal_capture" | "outcome_mismatch" | "source_unavailable" | "source_invalid";
297
+ readonly result_diagnostics_unavailable?: string;
298
+ };
299
+ /** Eligible completion only: exact natural first-result metadata binding, never a view/index or raw-output fallback. */
300
+ export declare function readRunResultDiagnosticOutcome(stateDir: string, expected: unknown, status: unknown): Readonly<RunResultDiagnosticOutcomeReading>;
301
+ /** Fixed saved diagnostic metadata only. The query selects one field and optional decoded-field UTF-8 byte range. */
302
+ export declare function readRunResultDiagnosticsSource(stateDir: string, expected: unknown, query: unknown): Readonly<RunResultDiagnosticsReading>;
303
+ export interface RunArtifactInventoryPublication {
304
+ readonly snapshot: () => Readonly<RunArtifactInventoryBinding>;
305
+ readonly readFailure: () => unknown;
306
+ }
307
+ /** Kernel preparation, before work/result publication. This projects declarations only, never artifact targets. */
308
+ export declare function prepareRunArtifactInventoryPublication(stateDir: string, producer: RunResultProducer): Readonly<RunArtifactInventoryPublication>;
309
+ export type RunResultArtifactInventoryReading = {
310
+ readonly state: "available";
311
+ readonly identity: Readonly<RunContextIndexIdentity>;
312
+ readonly binding: Readonly<RunArtifactInventoryBinding>;
313
+ readonly terminal_status: "done" | "failed";
314
+ readonly unchanged: () => boolean;
315
+ } | {
316
+ readonly state: "unavailable";
317
+ readonly reason: Extract<RunArtifactInventoryReading, {
318
+ state: "unavailable";
319
+ }>["reason"] | "result_unavailable" | "binding_invalid" | "inventory_unavailable" | "nonterminal_capture";
320
+ readonly artifact_inventory_unavailable?: string;
321
+ };
322
+ /** Exact natural first-result binding plus retained-source admission; call only for eligible packet members, never ambient checks. */
323
+ export declare function readRunResultArtifactInventory(stateDir: string, expected: unknown): Readonly<RunResultArtifactInventoryReading>;
324
+ type ArtifactInventoryReference = Readonly<RunArtifactInventoryReference>;
325
+ type ArtifactInventorySummary = Readonly<{
326
+ declared: number;
327
+ references_disclosed: number;
328
+ references_withheld: number;
329
+ }>;
330
+ export interface RunArtifactInventoryDeclaration {
331
+ readonly name: string;
332
+ readonly path: string | null;
333
+ readonly kind?: string;
334
+ readonly media_type?: string;
335
+ readonly required?: boolean;
336
+ readonly availability: "not_observed";
337
+ readonly reason?: "artifact_reference_redacted";
338
+ }
339
+ export type RunArtifactInventoryReading = {
340
+ readonly state: "available";
341
+ readonly identity: Readonly<RunContextIndexIdentity>;
342
+ readonly inventory: ArtifactInventoryReference;
343
+ readonly capture_scope: "producer_admission";
344
+ readonly contents: "not_read";
345
+ readonly availability: "not_observed";
346
+ readonly production_provenance: "not_asserted";
347
+ readonly summary: ArtifactInventorySummary;
348
+ readonly selection: Readonly<{
349
+ start: number;
350
+ end: number;
351
+ }>;
352
+ readonly artifacts: readonly Readonly<RunArtifactInventoryDeclaration>[];
353
+ readonly artifacts_omitted: number;
354
+ readonly coverage: Readonly<{
355
+ truncated: boolean;
356
+ redacted: true;
357
+ }>;
358
+ readonly unchanged: () => boolean;
359
+ } | {
360
+ readonly state: "unavailable";
361
+ readonly reason: "selection_invalid" | "identity_unavailable" | "identity_mismatch" | "index_unavailable" | "publication_unavailable" | "view_unavailable" | "view_invalid" | "source_unavailable" | "source_invalid" | "range_invalid" | "range_too_large" | "observation_changed";
362
+ };
363
+ /** Fixed retained-projection policy, not permission inferred from a path/flag. Query is a half-open declaration range, not bytes. */
364
+ export declare function readRunArtifactInventorySource(stateDir: string, expected: unknown, query?: unknown): Readonly<RunArtifactInventoryReading>;
365
+ /** The original runtime producer is required twice: permission to read/project is not permission to publish after replacement. */
366
+ export declare function writeRunControlContextExport(stateDir: string, producer: RunResultProducer): Readonly<RunControlContextExportResult>;
367
+ export declare function writeRunRecipeContextExport(stateDir: string, producer: RunResultProducer): Readonly<RunRecipeContextExportResult>;
368
+ export declare function writeRunTraceContextExport(stateDir: string, producer: RunResultProducer): Readonly<RunTraceContextExportResult>;
369
+ export declare function writeRunResultContextExport(stateDir: string, producer: RunResultProducer): Readonly<RunResultContextExportResult>;
370
+ export declare function writeRunArtifactContextExport(stateDir: string, producer: RunResultProducer): Readonly<RunArtifactContextExportResult>;
371
+ export declare function writeRunExecutionContextExport(stateDir: string, producer: RunResultProducer): Readonly<RunExecutionContextExportResult>;
372
+ /** A separate admitted index commit preserves partial view effects; unavailable sources create metadata, never empty views. */
373
+ export declare function writeRunControlContextIndex(stateDir: string, producer: RunResultProducer): Readonly<RunContextIndexPublication & {
374
+ status: "published";
375
+ }>;
376
+ export declare function writeRunRecipeContextIndex(stateDir: string, producer: RunResultProducer): Readonly<RunContextIndexPublication & {
377
+ status: "published";
378
+ }>;
379
+ export declare function writeRunTraceContextIndex(stateDir: string, producer: RunResultProducer): Readonly<RunContextIndexPublication & {
380
+ status: "published";
381
+ }>;
382
+ export declare function writeRunResultContextIndex(stateDir: string, producer: RunResultProducer): Readonly<RunContextIndexPublication & {
383
+ status: "published";
384
+ }>;
385
+ export declare function writeRunArtifactContextIndex(stateDir: string, producer: RunResultProducer): Readonly<RunContextIndexPublication & {
386
+ status: "published";
387
+ }>;
388
+ export declare function writeRunExecutionContextIndex(stateDir: string, producer: RunResultProducer): Readonly<RunContextIndexPublication & {
389
+ status: "published";
390
+ }>;
391
+ interface PrimaryCommandObservation {
392
+ readonly commandId: string;
393
+ readonly attempts: readonly CommandTemplateAttemptReceipt[];
394
+ readonly session: boolean;
395
+ }
396
+ export interface RunPrimaryTextPublisher {
397
+ readonly observe: (result: object, observation: PrimaryCommandObservation) => void;
398
+ readonly select: (result: object) => void;
399
+ readonly selectResponse: (text: string, upstreamTruncated: boolean) => void;
400
+ readonly snapshot: () => Readonly<RunPrimaryTextBinding>;
401
+ readonly readFailure: () => unknown;
402
+ }
403
+ export interface RunSnapshotReferences {
404
+ readonly cwd: string | null;
405
+ readonly cwd_unavailable?: "cwd_reference_invalid" | "cwd_reference_redacted";
406
+ readonly context_index: Readonly<{
407
+ identity: Readonly<RunContextIndexIdentity>;
408
+ path: string;
409
+ }> | null;
410
+ readonly context_index_unavailable?: "index_reference_invalid" | "index_reference_redacted" | "index_unavailable";
411
+ }
412
+ export type RunSnapshotReferencesReading = {
413
+ readonly state: "available";
414
+ readonly identity: Readonly<RunContextIndexIdentity>;
415
+ readonly references: Readonly<RunSnapshotReferences>;
416
+ readonly unchanged: () => boolean;
417
+ } | {
418
+ readonly state: "unavailable";
419
+ readonly reason: "privacy_capture_unavailable" | "references_too_large" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "observation_unavailable";
420
+ };
421
+ export interface RunSnapshotReferenceReader {
422
+ readonly read: () => Readonly<RunSnapshotReferencesReading>;
423
+ }
424
+ /** Original same-module reader only; schemas, copied objects/prototypes and flags are not permission. */
425
+ export declare function admitRunSnapshotReferenceReader(stateDir: string, expected: unknown, value: unknown): Readonly<RunSnapshotReferenceReader> | undefined;
426
+ /** Trusted fresh-launch kernel entry, under its already-held lifecycle lock after full metadata assembly, before publication/work.
427
+ * The caller's actual admission is authority, NOT metadata shape, marker or clock origin as a privacy certificate; not an arbitrary-JS sandbox.
428
+ * No actor/configuration or saved-data route may invoke this issuer. The original runtime-local reader, never its DTO, crosses the handoff.
429
+ */
430
+ export declare function captureRunAdmissionSnapshotReferences(stateDir: string, metadata: unknown, origin: unknown): Readonly<RunSnapshotReferenceReader>;
431
+ /** Private runtime-local reference permission from genuine admission; not lifecycle/timing/body authority or durable transport. */
432
+ export declare function createRunSnapshotReferenceReader(stateDir: string, producer: RunResultProducer): Readonly<RunSnapshotReferenceReader>;
433
+ /** Kernel-owned invocation context. Only explicit executor selection publishes command text or its final response. */
434
+ export declare function createRunPrimaryTextPublisher(stateDir: string, producer: RunResultProducer): Readonly<RunPrimaryTextPublisher>;
435
+ export type RunPrimaryTextReading = {
436
+ readonly state: "available";
437
+ readonly identity: Readonly<RunContextIndexIdentity>;
438
+ readonly result_acceptance: "natural" | "capture_only";
439
+ readonly selection: "recorded_preview" | "byte_range";
440
+ readonly output: Readonly<RunPrimaryTextOutput>;
441
+ readonly original_output?: Readonly<RunPrimaryTextOutput>;
442
+ readonly unchanged: () => boolean;
443
+ } | {
444
+ readonly state: "unavailable";
445
+ readonly reason: "selection_invalid" | "identity_unavailable" | "identity_mismatch" | "observation_changed" | "result_unavailable" | "publication_unavailable" | "binding_invalid" | "output_unavailable" | "source_unavailable" | "source_invalid" | "range_invalid" | "range_too_large";
446
+ readonly output_unavailable?: string;
447
+ };
448
+ /** Saved canonical facts authorize only this published source. No producer, index, raw discovery, refresh, work or ACK. */
449
+ export declare function readRunPrimaryTextSource(stateDir: string, expected: unknown, query?: unknown): Readonly<RunPrimaryTextReading>;
450
+ /** Fresh completion admission only: select bounded text from the same verified source observation, not another source read. */
451
+ export declare function readRunCompletionTextSource(stateDir: string, expected: unknown): Readonly<RunPrimaryTextReading>;