omp-fabric 0.85.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 (772) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +170 -0
  3. package/THIRD_PARTY_NOTICES.md +33 -0
  4. package/dist/activity/store.d.ts +32 -0
  5. package/dist/activity/store.d.ts.map +1 -0
  6. package/dist/activity/types.d.ts +104 -0
  7. package/dist/activity/types.d.ts.map +1 -0
  8. package/dist/actors/binding-store.d.ts +17 -0
  9. package/dist/actors/binding-store.d.ts.map +1 -0
  10. package/dist/actors/context.d.ts +13 -0
  11. package/dist/actors/context.d.ts.map +1 -0
  12. package/dist/actors/delivery-policy.d.ts +8 -0
  13. package/dist/actors/delivery-policy.d.ts.map +1 -0
  14. package/dist/actors/directory.d.ts +47 -0
  15. package/dist/actors/directory.d.ts.map +1 -0
  16. package/dist/actors/global-registry.d.ts +47 -0
  17. package/dist/actors/global-registry.d.ts.map +1 -0
  18. package/dist/actors/host-event-observer.d.ts +5 -0
  19. package/dist/actors/host-event-observer.d.ts.map +1 -0
  20. package/dist/actors/host-event-payload.d.ts +14 -0
  21. package/dist/actors/host-event-payload.d.ts.map +1 -0
  22. package/dist/actors/manager.d.ts +175 -0
  23. package/dist/actors/manager.d.ts.map +1 -0
  24. package/dist/actors/predicate.d.ts +7 -0
  25. package/dist/actors/predicate.d.ts.map +1 -0
  26. package/dist/actors/types.d.ts +211 -0
  27. package/dist/actors/types.d.ts.map +1 -0
  28. package/dist/agents/bash-worktree-add.d.ts +24 -0
  29. package/dist/agents/bash-worktree-add.d.ts.map +1 -0
  30. package/dist/agents/budget-ledger.d.ts +88 -0
  31. package/dist/agents/budget-ledger.d.ts.map +1 -0
  32. package/dist/agents/claude-cli.d.ts +32 -0
  33. package/dist/agents/claude-cli.d.ts.map +1 -0
  34. package/dist/agents/claude-cli.js +17 -0
  35. package/dist/agents/claude-cli.js.map +7 -0
  36. package/dist/agents/clone-first-worktree.d.ts +17 -0
  37. package/dist/agents/clone-first-worktree.d.ts.map +1 -0
  38. package/dist/agents/compact-control.d.ts +32 -0
  39. package/dist/agents/compact-control.d.ts.map +1 -0
  40. package/dist/agents/compact-control.js +127 -0
  41. package/dist/agents/compact-control.js.map +7 -0
  42. package/dist/agents/constants.d.ts +5 -0
  43. package/dist/agents/constants.d.ts.map +1 -0
  44. package/dist/agents/cow-clone.d.ts +8 -0
  45. package/dist/agents/cow-clone.d.ts.map +1 -0
  46. package/dist/agents/handoff.d.ts +19 -0
  47. package/dist/agents/handoff.d.ts.map +1 -0
  48. package/dist/agents/manager.d.ts +68 -0
  49. package/dist/agents/manager.d.ts.map +1 -0
  50. package/dist/agents/omp-binary.d.ts +7 -0
  51. package/dist/agents/omp-binary.d.ts.map +1 -0
  52. package/dist/agents/rm.d.ts +15 -0
  53. package/dist/agents/rm.d.ts.map +1 -0
  54. package/dist/agents/semaphore.d.ts +7 -0
  55. package/dist/agents/semaphore.d.ts.map +1 -0
  56. package/dist/agents/session-export.d.ts +9 -0
  57. package/dist/agents/session-export.d.ts.map +1 -0
  58. package/dist/agents/thinking-transfer.d.ts +39 -0
  59. package/dist/agents/thinking-transfer.d.ts.map +1 -0
  60. package/dist/agents/transports/herdr-transport.d.ts +10 -0
  61. package/dist/agents/transports/herdr-transport.d.ts.map +1 -0
  62. package/dist/agents/transports/localterm-transport.d.ts +7 -0
  63. package/dist/agents/transports/localterm-transport.d.ts.map +1 -0
  64. package/dist/agents/transports/process-transport.d.ts +7 -0
  65. package/dist/agents/transports/process-transport.d.ts.map +1 -0
  66. package/dist/agents/transports/process-utils.d.ts +29 -0
  67. package/dist/agents/transports/process-utils.d.ts.map +1 -0
  68. package/dist/agents/transports/screen-transport.d.ts +7 -0
  69. package/dist/agents/transports/screen-transport.d.ts.map +1 -0
  70. package/dist/agents/transports/tmux-transport.d.ts +7 -0
  71. package/dist/agents/transports/tmux-transport.d.ts.map +1 -0
  72. package/dist/agents/types.d.ts +251 -0
  73. package/dist/agents/types.d.ts.map +1 -0
  74. package/dist/agents/veda-cli.d.ts +22 -0
  75. package/dist/agents/veda-cli.d.ts.map +1 -0
  76. package/dist/agents/veda-cli.js +13 -0
  77. package/dist/agents/veda-cli.js.map +7 -0
  78. package/dist/agents/worktree-manager.d.ts +14 -0
  79. package/dist/agents/worktree-manager.d.ts.map +1 -0
  80. package/dist/agents/worktree-paths.d.ts +5 -0
  81. package/dist/agents/worktree-paths.d.ts.map +1 -0
  82. package/dist/async-settlement.d.ts +4 -0
  83. package/dist/async-settlement.d.ts.map +1 -0
  84. package/dist/audit/details.d.ts +82 -0
  85. package/dist/audit/details.d.ts.map +1 -0
  86. package/dist/audit/index.d.ts +4 -0
  87. package/dist/audit/index.d.ts.map +1 -0
  88. package/dist/audit/projection.d.ts +20 -0
  89. package/dist/audit/projection.d.ts.map +1 -0
  90. package/dist/audit/trace.d.ts +95 -0
  91. package/dist/audit/trace.d.ts.map +1 -0
  92. package/dist/capture/catalog.d.ts +29 -0
  93. package/dist/capture/catalog.d.ts.map +1 -0
  94. package/dist/capture/interceptor.d.ts +21 -0
  95. package/dist/capture/interceptor.d.ts.map +1 -0
  96. package/dist/capture/wrapper.d.ts +15 -0
  97. package/dist/capture/wrapper.d.ts.map +1 -0
  98. package/dist/chunks/chunk-2GQC324T.js +5001 -0
  99. package/dist/chunks/chunk-2GQC324T.js.map +7 -0
  100. package/dist/chunks/chunk-2KEWFW56.js +1229 -0
  101. package/dist/chunks/chunk-2KEWFW56.js.map +7 -0
  102. package/dist/chunks/chunk-3J7BKUNG.js +354 -0
  103. package/dist/chunks/chunk-3J7BKUNG.js.map +7 -0
  104. package/dist/chunks/chunk-4A4MVZQW.js +253 -0
  105. package/dist/chunks/chunk-4A4MVZQW.js.map +7 -0
  106. package/dist/chunks/chunk-4HQDSTHN.js +221 -0
  107. package/dist/chunks/chunk-4HQDSTHN.js.map +7 -0
  108. package/dist/chunks/chunk-4LEDA76O.js +688 -0
  109. package/dist/chunks/chunk-4LEDA76O.js.map +7 -0
  110. package/dist/chunks/chunk-5GTPD4BA.js +1318 -0
  111. package/dist/chunks/chunk-5GTPD4BA.js.map +7 -0
  112. package/dist/chunks/chunk-5IWFSDU5.js +87 -0
  113. package/dist/chunks/chunk-5IWFSDU5.js.map +7 -0
  114. package/dist/chunks/chunk-6N4XGAZY.js +21 -0
  115. package/dist/chunks/chunk-6N4XGAZY.js.map +7 -0
  116. package/dist/chunks/chunk-6QBPSZJ5.js +647 -0
  117. package/dist/chunks/chunk-6QBPSZJ5.js.map +7 -0
  118. package/dist/chunks/chunk-6X6WUU2K.js +73 -0
  119. package/dist/chunks/chunk-6X6WUU2K.js.map +7 -0
  120. package/dist/chunks/chunk-7363CD5A.js +38 -0
  121. package/dist/chunks/chunk-7363CD5A.js.map +7 -0
  122. package/dist/chunks/chunk-77FQHHZD.js +231 -0
  123. package/dist/chunks/chunk-77FQHHZD.js.map +7 -0
  124. package/dist/chunks/chunk-7BIA5BJN.js +112 -0
  125. package/dist/chunks/chunk-7BIA5BJN.js.map +7 -0
  126. package/dist/chunks/chunk-7BOAOKWH.js +64 -0
  127. package/dist/chunks/chunk-7BOAOKWH.js.map +7 -0
  128. package/dist/chunks/chunk-7TB7NXSL.js +58 -0
  129. package/dist/chunks/chunk-7TB7NXSL.js.map +7 -0
  130. package/dist/chunks/chunk-7VIQNUPS.js +17 -0
  131. package/dist/chunks/chunk-7VIQNUPS.js.map +7 -0
  132. package/dist/chunks/chunk-CT2AJ2UI.js +225 -0
  133. package/dist/chunks/chunk-CT2AJ2UI.js.map +7 -0
  134. package/dist/chunks/chunk-DLXPTBPL.js +151 -0
  135. package/dist/chunks/chunk-DLXPTBPL.js.map +7 -0
  136. package/dist/chunks/chunk-ED3BRM6P.js +17 -0
  137. package/dist/chunks/chunk-ED3BRM6P.js.map +7 -0
  138. package/dist/chunks/chunk-G2IBGGBM.js +42 -0
  139. package/dist/chunks/chunk-G2IBGGBM.js.map +7 -0
  140. package/dist/chunks/chunk-GKOFZ76R.js +1596 -0
  141. package/dist/chunks/chunk-GKOFZ76R.js.map +7 -0
  142. package/dist/chunks/chunk-HDJBUXDX.js +1102 -0
  143. package/dist/chunks/chunk-HDJBUXDX.js.map +7 -0
  144. package/dist/chunks/chunk-IGVDD2HT.js +10 -0
  145. package/dist/chunks/chunk-IGVDD2HT.js.map +7 -0
  146. package/dist/chunks/chunk-JHKOG5GS.js +187 -0
  147. package/dist/chunks/chunk-JHKOG5GS.js.map +7 -0
  148. package/dist/chunks/chunk-JP4LIZFT.js +1334 -0
  149. package/dist/chunks/chunk-JP4LIZFT.js.map +7 -0
  150. package/dist/chunks/chunk-JSBTB3P6.js +127 -0
  151. package/dist/chunks/chunk-JSBTB3P6.js.map +7 -0
  152. package/dist/chunks/chunk-KAD7UWT2.js +99 -0
  153. package/dist/chunks/chunk-KAD7UWT2.js.map +7 -0
  154. package/dist/chunks/chunk-KIH3KLZU.js +95 -0
  155. package/dist/chunks/chunk-KIH3KLZU.js.map +7 -0
  156. package/dist/chunks/chunk-KIREBD2V.js +2208 -0
  157. package/dist/chunks/chunk-KIREBD2V.js.map +7 -0
  158. package/dist/chunks/chunk-LMAVZN7J.js +8 -0
  159. package/dist/chunks/chunk-LMAVZN7J.js.map +7 -0
  160. package/dist/chunks/chunk-NCPJZXLM.js +57 -0
  161. package/dist/chunks/chunk-NCPJZXLM.js.map +7 -0
  162. package/dist/chunks/chunk-OJZNMROB.js +195 -0
  163. package/dist/chunks/chunk-OJZNMROB.js.map +7 -0
  164. package/dist/chunks/chunk-OPTP4PSE.js +469 -0
  165. package/dist/chunks/chunk-OPTP4PSE.js.map +7 -0
  166. package/dist/chunks/chunk-QPXSCMTG.js +24 -0
  167. package/dist/chunks/chunk-QPXSCMTG.js.map +7 -0
  168. package/dist/chunks/chunk-ROKMBLGN.js +1265 -0
  169. package/dist/chunks/chunk-ROKMBLGN.js.map +7 -0
  170. package/dist/chunks/chunk-SXMWV447.js +2445 -0
  171. package/dist/chunks/chunk-SXMWV447.js.map +7 -0
  172. package/dist/chunks/chunk-T5ZA5YRU.js +786 -0
  173. package/dist/chunks/chunk-T5ZA5YRU.js.map +7 -0
  174. package/dist/chunks/chunk-T6OAX4FO.js +1835 -0
  175. package/dist/chunks/chunk-T6OAX4FO.js.map +7 -0
  176. package/dist/chunks/chunk-U5FYOMG5.js +119 -0
  177. package/dist/chunks/chunk-U5FYOMG5.js.map +7 -0
  178. package/dist/chunks/chunk-UOSJZXJV.js +142 -0
  179. package/dist/chunks/chunk-UOSJZXJV.js.map +7 -0
  180. package/dist/chunks/chunk-UPCARIJP.js +6627 -0
  181. package/dist/chunks/chunk-UPCARIJP.js.map +7 -0
  182. package/dist/chunks/chunk-VPPIJRNZ.js +50 -0
  183. package/dist/chunks/chunk-VPPIJRNZ.js.map +7 -0
  184. package/dist/chunks/chunk-XU5Z4JCQ.js +297 -0
  185. package/dist/chunks/chunk-XU5Z4JCQ.js.map +7 -0
  186. package/dist/chunks/chunk-YWEXP724.js +427 -0
  187. package/dist/chunks/chunk-YWEXP724.js.map +7 -0
  188. package/dist/chunks/chunk-YZZIKJX6.js +60 -0
  189. package/dist/chunks/chunk-YZZIKJX6.js.map +7 -0
  190. package/dist/chunks/chunk-ZNAJDPT7.js +2203 -0
  191. package/dist/chunks/chunk-ZNAJDPT7.js.map +7 -0
  192. package/dist/chunks/chunk-ZTM45GH5.js +163 -0
  193. package/dist/chunks/chunk-ZTM45GH5.js.map +7 -0
  194. package/dist/commands/fabric.d.ts +17 -0
  195. package/dist/commands/fabric.d.ts.map +1 -0
  196. package/dist/compaction/bounds.d.ts +23 -0
  197. package/dist/compaction/bounds.d.ts.map +1 -0
  198. package/dist/compaction/branch-details.d.ts +83 -0
  199. package/dist/compaction/branch-details.d.ts.map +1 -0
  200. package/dist/compaction/branch-summary.d.ts +9 -0
  201. package/dist/compaction/branch-summary.d.ts.map +1 -0
  202. package/dist/compaction/enrichers.d.ts +10 -0
  203. package/dist/compaction/enrichers.d.ts.map +1 -0
  204. package/dist/compaction/hook.d.ts +98 -0
  205. package/dist/compaction/hook.d.ts.map +1 -0
  206. package/dist/compaction/hook.js +19 -0
  207. package/dist/compaction/hook.js.map +7 -0
  208. package/dist/compaction/instructions.d.ts +38 -0
  209. package/dist/compaction/instructions.d.ts.map +1 -0
  210. package/dist/compaction/normalize.d.ts +83 -0
  211. package/dist/compaction/normalize.d.ts.map +1 -0
  212. package/dist/compaction/projections.d.ts +31 -0
  213. package/dist/compaction/projections.d.ts.map +1 -0
  214. package/dist/compaction/qa.d.ts +27 -0
  215. package/dist/compaction/qa.d.ts.map +1 -0
  216. package/dist/compaction/render.d.ts +10 -0
  217. package/dist/compaction/render.d.ts.map +1 -0
  218. package/dist/compaction/threshold.d.ts +5 -0
  219. package/dist/compaction/threshold.d.ts.map +1 -0
  220. package/dist/compaction/trace-events.d.ts +23 -0
  221. package/dist/compaction/trace-events.d.ts.map +1 -0
  222. package/dist/components/catalog.d.ts +25 -0
  223. package/dist/components/catalog.d.ts.map +1 -0
  224. package/dist/components/effect-scope.d.ts +31 -0
  225. package/dist/components/effect-scope.d.ts.map +1 -0
  226. package/dist/components/loader.d.ts +27 -0
  227. package/dist/components/loader.d.ts.map +1 -0
  228. package/dist/components/model-guidance.d.ts +48 -0
  229. package/dist/components/model-guidance.d.ts.map +1 -0
  230. package/dist/components/provider-component.d.ts +31 -0
  231. package/dist/components/provider-component.d.ts.map +1 -0
  232. package/dist/components/supervisor.d.ts +29 -0
  233. package/dist/components/supervisor.d.ts.map +1 -0
  234. package/dist/components/types.d.ts +140 -0
  235. package/dist/components/types.d.ts.map +1 -0
  236. package/dist/config-migrations.d.ts +11 -0
  237. package/dist/config-migrations.d.ts.map +1 -0
  238. package/dist/config.d.ts +269 -0
  239. package/dist/config.d.ts.map +1 -0
  240. package/dist/core/action-registry.d.ts +159 -0
  241. package/dist/core/action-registry.d.ts.map +1 -0
  242. package/dist/core/action-registry.js +17 -0
  243. package/dist/core/action-registry.js.map +7 -0
  244. package/dist/core/action-repair.d.ts +20 -0
  245. package/dist/core/action-repair.d.ts.map +1 -0
  246. package/dist/core/agent-dir.d.ts +2 -0
  247. package/dist/core/agent-dir.d.ts.map +1 -0
  248. package/dist/core/approval-controller.d.ts +30 -0
  249. package/dist/core/approval-controller.d.ts.map +1 -0
  250. package/dist/core/atomic-write.d.ts +15 -0
  251. package/dist/core/atomic-write.d.ts.map +1 -0
  252. package/dist/core/auto-approval-classifier.d.ts +13 -0
  253. package/dist/core/auto-approval-classifier.d.ts.map +1 -0
  254. package/dist/core/call-preview.d.ts +8 -0
  255. package/dist/core/call-preview.d.ts.map +1 -0
  256. package/dist/core/child-tool-allowlist.d.ts +3 -0
  257. package/dist/core/child-tool-allowlist.d.ts.map +1 -0
  258. package/dist/core/compact-controller.d.ts +42 -0
  259. package/dist/core/compact-controller.d.ts.map +1 -0
  260. package/dist/core/core-override-guidance.d.ts +7 -0
  261. package/dist/core/core-override-guidance.d.ts.map +1 -0
  262. package/dist/core/direct-tool-approval.d.ts +19 -0
  263. package/dist/core/direct-tool-approval.d.ts.map +1 -0
  264. package/dist/core/effect-conflict.d.ts +3 -0
  265. package/dist/core/effect-conflict.d.ts.map +1 -0
  266. package/dist/core/file-lock.d.ts +12 -0
  267. package/dist/core/file-lock.d.ts.map +1 -0
  268. package/dist/core/model-resolution.d.ts +62 -0
  269. package/dist/core/model-resolution.d.ts.map +1 -0
  270. package/dist/core/model-usage.d.ts +8 -0
  271. package/dist/core/model-usage.d.ts.map +1 -0
  272. package/dist/core/omp-bash-error.d.ts +11 -0
  273. package/dist/core/omp-bash-error.d.ts.map +1 -0
  274. package/dist/core/omp-tools.d.ts +9 -0
  275. package/dist/core/omp-tools.d.ts.map +1 -0
  276. package/dist/core/provider-bindings.d.ts +47 -0
  277. package/dist/core/provider-bindings.d.ts.map +1 -0
  278. package/dist/core/proxy-contract.d.ts +18 -0
  279. package/dist/core/proxy-contract.d.ts.map +1 -0
  280. package/dist/core/session-context.d.ts +6 -0
  281. package/dist/core/session-context.d.ts.map +1 -0
  282. package/dist/core/skill-block.d.ts +10 -0
  283. package/dist/core/skill-block.d.ts.map +1 -0
  284. package/dist/core/skill-dir.d.ts +4 -0
  285. package/dist/core/skill-dir.d.ts.map +1 -0
  286. package/dist/core/skill-prompt.d.ts +3 -0
  287. package/dist/core/skill-prompt.d.ts.map +1 -0
  288. package/dist/core/skill-references.d.ts +7 -0
  289. package/dist/core/skill-references.d.ts.map +1 -0
  290. package/dist/core/stable-hash.d.ts +3 -0
  291. package/dist/core/stable-hash.d.ts.map +1 -0
  292. package/dist/core/system-guidance.d.ts +12 -0
  293. package/dist/core/system-guidance.d.ts.map +1 -0
  294. package/dist/core/token-math.d.ts +16 -0
  295. package/dist/core/token-math.d.ts.map +1 -0
  296. package/dist/core/tool-ownership.d.ts +52 -0
  297. package/dist/core/tool-ownership.d.ts.map +1 -0
  298. package/dist/core/tool-result-proxy.d.ts +18 -0
  299. package/dist/core/tool-result-proxy.d.ts.map +1 -0
  300. package/dist/entropy/active.d.ts +7 -0
  301. package/dist/entropy/active.d.ts.map +1 -0
  302. package/dist/entropy/compiled-store.d.ts +16 -0
  303. package/dist/entropy/compiled-store.d.ts.map +1 -0
  304. package/dist/entropy/compiled-surface.d.ts +51 -0
  305. package/dist/entropy/compiled-surface.d.ts.map +1 -0
  306. package/dist/entropy/compiler.d.ts +28 -0
  307. package/dist/entropy/compiler.d.ts.map +1 -0
  308. package/dist/entropy/corpus.d.ts +22 -0
  309. package/dist/entropy/corpus.d.ts.map +1 -0
  310. package/dist/entropy/fingerprint.d.ts +9 -0
  311. package/dist/entropy/fingerprint.d.ts.map +1 -0
  312. package/dist/entropy/index.d.ts +15 -0
  313. package/dist/entropy/index.d.ts.map +1 -0
  314. package/dist/entropy/index.js +172 -0
  315. package/dist/entropy/index.js.map +7 -0
  316. package/dist/entropy/meter.d.ts +10 -0
  317. package/dist/entropy/meter.d.ts.map +1 -0
  318. package/dist/entropy/passes.d.ts +13 -0
  319. package/dist/entropy/passes.d.ts.map +1 -0
  320. package/dist/entropy/pool-store.d.ts +15 -0
  321. package/dist/entropy/pool-store.d.ts.map +1 -0
  322. package/dist/entropy/pool.d.ts +41 -0
  323. package/dist/entropy/pool.d.ts.map +1 -0
  324. package/dist/entropy/presentation.d.ts +13 -0
  325. package/dist/entropy/presentation.d.ts.map +1 -0
  326. package/dist/entropy/sessions.d.ts +47 -0
  327. package/dist/entropy/sessions.d.ts.map +1 -0
  328. package/dist/entropy/surface.d.ts +30 -0
  329. package/dist/entropy/surface.d.ts.map +1 -0
  330. package/dist/entropy/trial.d.ts +35 -0
  331. package/dist/entropy/trial.d.ts.map +1 -0
  332. package/dist/entropy/types.d.ts +158 -0
  333. package/dist/entropy/types.d.ts.map +1 -0
  334. package/dist/execution-service.d.ts +63 -0
  335. package/dist/execution-service.d.ts.map +1 -0
  336. package/dist/fabric-exec-arguments.d.ts +5 -0
  337. package/dist/fabric-exec-arguments.d.ts.map +1 -0
  338. package/dist/fabric-exec-tool.d.ts +8 -0
  339. package/dist/fabric-exec-tool.d.ts.map +1 -0
  340. package/dist/fabric-runtime-state.d.ts +90 -0
  341. package/dist/fabric-runtime-state.d.ts.map +1 -0
  342. package/dist/fabric-runtime-state.js +13060 -0
  343. package/dist/fabric-runtime-state.js.map +7 -0
  344. package/dist/fabric-state.d.ts +89 -0
  345. package/dist/fabric-state.d.ts.map +1 -0
  346. package/dist/failure-progress.d.ts +3 -0
  347. package/dist/failure-progress.d.ts.map +1 -0
  348. package/dist/host-compatibility.d.ts +5 -0
  349. package/dist/host-compatibility.d.ts.map +1 -0
  350. package/dist/index.d.ts +6 -0
  351. package/dist/index.d.ts.map +1 -0
  352. package/dist/index.js +5719 -0
  353. package/dist/index.js.map +7 -0
  354. package/dist/lifecycle/broker.d.ts +30 -0
  355. package/dist/lifecycle/broker.d.ts.map +1 -0
  356. package/dist/lifecycle/delivery-scheduler.d.ts +30 -0
  357. package/dist/lifecycle/delivery-scheduler.d.ts.map +1 -0
  358. package/dist/lifecycle/types.d.ts +91 -0
  359. package/dist/lifecycle/types.d.ts.map +1 -0
  360. package/dist/log-tail.d.ts +11 -0
  361. package/dist/log-tail.d.ts.map +1 -0
  362. package/dist/main-agent.d.ts +70 -0
  363. package/dist/main-agent.d.ts.map +1 -0
  364. package/dist/memory/context.d.ts +112 -0
  365. package/dist/memory/context.d.ts.map +1 -0
  366. package/dist/memory/digest.d.ts +48 -0
  367. package/dist/memory/digest.d.ts.map +1 -0
  368. package/dist/memory/digest.js +7 -0
  369. package/dist/memory/digest.js.map +7 -0
  370. package/dist/memory/discovery.d.ts +43 -0
  371. package/dist/memory/discovery.d.ts.map +1 -0
  372. package/dist/memory/discovery.js +23 -0
  373. package/dist/memory/discovery.js.map +7 -0
  374. package/dist/memory/index.d.ts +107 -0
  375. package/dist/memory/index.d.ts.map +1 -0
  376. package/dist/memory/lineage.d.ts +20 -0
  377. package/dist/memory/lineage.d.ts.map +1 -0
  378. package/dist/memory/normalize.d.ts +170 -0
  379. package/dist/memory/normalize.d.ts.map +1 -0
  380. package/dist/memory/normalize.js +22 -0
  381. package/dist/memory/normalize.js.map +7 -0
  382. package/dist/memory/regex.d.ts +19 -0
  383. package/dist/memory/regex.d.ts.map +1 -0
  384. package/dist/memory/search.d.ts +98 -0
  385. package/dist/memory/search.d.ts.map +1 -0
  386. package/dist/memory/search.js +22 -0
  387. package/dist/memory/search.js.map +7 -0
  388. package/dist/memory/tokenize.d.ts +24 -0
  389. package/dist/memory/tokenize.d.ts.map +1 -0
  390. package/dist/mesh/store.d.ts +78 -0
  391. package/dist/mesh/store.d.ts.map +1 -0
  392. package/dist/output-budget.d.ts +12 -0
  393. package/dist/output-budget.d.ts.map +1 -0
  394. package/dist/prewalk/arm.d.ts +8 -0
  395. package/dist/prewalk/arm.d.ts.map +1 -0
  396. package/dist/prewalk/controller.d.ts +60 -0
  397. package/dist/prewalk/controller.d.ts.map +1 -0
  398. package/dist/prewalk/fs-drift.d.ts +19 -0
  399. package/dist/prewalk/fs-drift.d.ts.map +1 -0
  400. package/dist/prewalk/handoff.d.ts +45 -0
  401. package/dist/prewalk/handoff.d.ts.map +1 -0
  402. package/dist/protocol.d.ts +273 -0
  403. package/dist/protocol.d.ts.map +1 -0
  404. package/dist/protocol.js +46 -0
  405. package/dist/protocol.js.map +7 -0
  406. package/dist/providers/agents-actions.d.ts +3 -0
  407. package/dist/providers/agents-actions.d.ts.map +1 -0
  408. package/dist/providers/agents-provider.d.ts +59 -0
  409. package/dist/providers/agents-provider.d.ts.map +1 -0
  410. package/dist/providers/arg-normalization.d.ts +15 -0
  411. package/dist/providers/arg-normalization.d.ts.map +1 -0
  412. package/dist/providers/captured-tools-provider.d.ts +23 -0
  413. package/dist/providers/captured-tools-provider.d.ts.map +1 -0
  414. package/dist/providers/compact-provider.d.ts +14 -0
  415. package/dist/providers/compact-provider.d.ts.map +1 -0
  416. package/dist/providers/components-provider.d.ts +12 -0
  417. package/dist/providers/components-provider.d.ts.map +1 -0
  418. package/dist/providers/mcp-descriptor-cache.d.ts +47 -0
  419. package/dist/providers/mcp-descriptor-cache.d.ts.map +1 -0
  420. package/dist/providers/mcp-provider.d.ts +27 -0
  421. package/dist/providers/mcp-provider.d.ts.map +1 -0
  422. package/dist/providers/memory-provider.d.ts +35 -0
  423. package/dist/providers/memory-provider.d.ts.map +1 -0
  424. package/dist/providers/memory-provider.js +16 -0
  425. package/dist/providers/memory-provider.js.map +7 -0
  426. package/dist/providers/mesh-provider.d.ts +17 -0
  427. package/dist/providers/mesh-provider.d.ts.map +1 -0
  428. package/dist/providers/omp-bash-cwd.d.ts +31 -0
  429. package/dist/providers/omp-bash-cwd.d.ts.map +1 -0
  430. package/dist/providers/omp-tools-provider.d.ts +15 -0
  431. package/dist/providers/omp-tools-provider.d.ts.map +1 -0
  432. package/dist/providers/schema-provider.d.ts +15 -0
  433. package/dist/providers/schema-provider.d.ts.map +1 -0
  434. package/dist/providers/state-provider.d.ts +16 -0
  435. package/dist/providers/state-provider.d.ts.map +1 -0
  436. package/dist/providers/write-diff-limits.d.ts +5 -0
  437. package/dist/providers/write-diff-limits.d.ts.map +1 -0
  438. package/dist/providers/write-preview.d.ts +3 -0
  439. package/dist/providers/write-preview.d.ts.map +1 -0
  440. package/dist/ref-names.d.ts +2 -0
  441. package/dist/ref-names.d.ts.map +1 -0
  442. package/dist/repairs/active.d.ts +7 -0
  443. package/dist/repairs/active.d.ts.map +1 -0
  444. package/dist/repairs/apply.d.ts +7 -0
  445. package/dist/repairs/apply.d.ts.map +1 -0
  446. package/dist/repairs/catalog-digest.d.ts +5 -0
  447. package/dist/repairs/catalog-digest.d.ts.map +1 -0
  448. package/dist/repairs/classify.d.ts +10 -0
  449. package/dist/repairs/classify.d.ts.map +1 -0
  450. package/dist/repairs/compiler.d.ts +33 -0
  451. package/dist/repairs/compiler.d.ts.map +1 -0
  452. package/dist/repairs/promote.d.ts +4 -0
  453. package/dist/repairs/promote.d.ts.map +1 -0
  454. package/dist/repairs/store.d.ts +10 -0
  455. package/dist/repairs/store.d.ts.map +1 -0
  456. package/dist/repairs/types.d.ts +49 -0
  457. package/dist/repairs/types.d.ts.map +1 -0
  458. package/dist/residency/actor-client.d.ts +16 -0
  459. package/dist/residency/actor-client.d.ts.map +1 -0
  460. package/dist/residency/actor-client.js +9 -0
  461. package/dist/residency/actor-client.js.map +7 -0
  462. package/dist/residency/client.d.ts +44 -0
  463. package/dist/residency/client.d.ts.map +1 -0
  464. package/dist/residency/host.d.ts +3 -0
  465. package/dist/residency/host.d.ts.map +1 -0
  466. package/dist/residency/host.js +25 -0
  467. package/dist/residency/host.js.map +7 -0
  468. package/dist/residency/launcher-owner.d.ts +7 -0
  469. package/dist/residency/launcher-owner.d.ts.map +1 -0
  470. package/dist/residency/launcher.d.ts +3 -0
  471. package/dist/residency/launcher.d.ts.map +1 -0
  472. package/dist/residency/launcher.js +152 -0
  473. package/dist/residency/launcher.js.map +7 -0
  474. package/dist/residency/omp-entry.d.ts +3 -0
  475. package/dist/residency/omp-entry.d.ts.map +1 -0
  476. package/dist/residency/omp-entry.js +41 -0
  477. package/dist/residency/omp-entry.js.map +7 -0
  478. package/dist/residency/protocol.d.ts +119 -0
  479. package/dist/residency/protocol.d.ts.map +1 -0
  480. package/dist/run-display.d.ts +3 -0
  481. package/dist/run-display.d.ts.map +1 -0
  482. package/dist/runtime/core-override-guest-types.d.ts +15 -0
  483. package/dist/runtime/core-override-guest-types.d.ts.map +1 -0
  484. package/dist/runtime/core-override-guest-types.js +291 -0
  485. package/dist/runtime/core-override-guest-types.js.map +7 -0
  486. package/dist/runtime/core-tool-properties.d.ts +6 -0
  487. package/dist/runtime/core-tool-properties.d.ts.map +1 -0
  488. package/dist/runtime/dynamic-guest-types.d.ts +3 -0
  489. package/dist/runtime/dynamic-guest-types.d.ts.map +1 -0
  490. package/dist/runtime/dynamic-guest-types.js +226 -0
  491. package/dist/runtime/dynamic-guest-types.js.map +7 -0
  492. package/dist/runtime/guest-code-repair.d.ts +2 -0
  493. package/dist/runtime/guest-code-repair.d.ts.map +1 -0
  494. package/dist/runtime/guest-stack-map.d.ts +11 -0
  495. package/dist/runtime/guest-stack-map.d.ts.map +1 -0
  496. package/dist/runtime/guest-types.d.ts +35 -0
  497. package/dist/runtime/guest-types.d.ts.map +1 -0
  498. package/dist/runtime/guest-types.js +13 -0
  499. package/dist/runtime/guest-types.js.map +7 -0
  500. package/dist/runtime/node-process-child-source.d.ts +2 -0
  501. package/dist/runtime/node-process-child-source.d.ts.map +1 -0
  502. package/dist/runtime/node-process-runtime.d.ts +10 -0
  503. package/dist/runtime/node-process-runtime.d.ts.map +1 -0
  504. package/dist/runtime/node-process-runtime.js +319 -0
  505. package/dist/runtime/node-process-runtime.js.map +7 -0
  506. package/dist/runtime/orchestration.d.ts +3 -0
  507. package/dist/runtime/orchestration.d.ts.map +1 -0
  508. package/dist/runtime/quickjs-runtime.d.ts +24 -0
  509. package/dist/runtime/quickjs-runtime.d.ts.map +1 -0
  510. package/dist/runtime/quickjs-runtime.js +12 -0
  511. package/dist/runtime/quickjs-runtime.js.map +7 -0
  512. package/dist/runtime/type-checker.d.ts +21 -0
  513. package/dist/runtime/type-checker.d.ts.map +1 -0
  514. package/dist/runtime/type-checker.js +15 -0
  515. package/dist/runtime/type-checker.js.map +7 -0
  516. package/dist/runtime-paths.d.ts +7 -0
  517. package/dist/runtime-paths.d.ts.map +1 -0
  518. package/dist/schema/controller.d.ts +35 -0
  519. package/dist/schema/controller.d.ts.map +1 -0
  520. package/dist/schema/types.d.ts +86 -0
  521. package/dist/schema/types.d.ts.map +1 -0
  522. package/dist/schema/workspace.d.ts +19 -0
  523. package/dist/schema/workspace.d.ts.map +1 -0
  524. package/dist/speculation/eligibility.d.ts +22 -0
  525. package/dist/speculation/eligibility.d.ts.map +1 -0
  526. package/dist/speculation/freshness.d.ts +10 -0
  527. package/dist/speculation/freshness.d.ts.map +1 -0
  528. package/dist/speculation/partial-json.d.ts +9 -0
  529. package/dist/speculation/partial-json.d.ts.map +1 -0
  530. package/dist/speculation/scanner.d.ts +13 -0
  531. package/dist/speculation/scanner.d.ts.map +1 -0
  532. package/dist/speculation/scanner.js +182 -0
  533. package/dist/speculation/scanner.js.map +7 -0
  534. package/dist/speculation/store.d.ts +39 -0
  535. package/dist/speculation/store.d.ts.map +1 -0
  536. package/dist/speculation/stream-tap.d.ts +27 -0
  537. package/dist/speculation/stream-tap.d.ts.map +1 -0
  538. package/dist/speculation/types.d.ts +44 -0
  539. package/dist/speculation/types.d.ts.map +1 -0
  540. package/dist/state/complexity.d.ts +13 -0
  541. package/dist/state/complexity.d.ts.map +1 -0
  542. package/dist/state/evidence-runner.d.ts +17 -0
  543. package/dist/state/evidence-runner.d.ts.map +1 -0
  544. package/dist/state/store.d.ts +76 -0
  545. package/dist/state/store.d.ts.map +1 -0
  546. package/dist/state/types.d.ts +165 -0
  547. package/dist/state/types.d.ts.map +1 -0
  548. package/dist/storage/retention.d.ts +22 -0
  549. package/dist/storage/retention.d.ts.map +1 -0
  550. package/dist/thinking.d.ts +19 -0
  551. package/dist/thinking.d.ts.map +1 -0
  552. package/dist/topology/control-plane.d.ts +58 -0
  553. package/dist/topology/control-plane.d.ts.map +1 -0
  554. package/dist/topology/participant-directory.d.ts +33 -0
  555. package/dist/topology/participant-directory.d.ts.map +1 -0
  556. package/dist/topology/peer-settle.d.ts +51 -0
  557. package/dist/topology/peer-settle.d.ts.map +1 -0
  558. package/dist/topology/records.d.ts +6 -0
  559. package/dist/topology/records.d.ts.map +1 -0
  560. package/dist/topology/types.d.ts +89 -0
  561. package/dist/topology/types.d.ts.map +1 -0
  562. package/dist/type-error-guidance.d.ts +3 -0
  563. package/dist/type-error-guidance.d.ts.map +1 -0
  564. package/dist/ui/arc-group.d.ts +17 -0
  565. package/dist/ui/arc-group.d.ts.map +1 -0
  566. package/dist/ui/code-preview-shell.d.ts +26 -0
  567. package/dist/ui/code-preview-shell.d.ts.map +1 -0
  568. package/dist/ui/code-preview.d.ts +53 -0
  569. package/dist/ui/code-preview.d.ts.map +1 -0
  570. package/dist/ui/controller.d.ts +20 -0
  571. package/dist/ui/controller.d.ts.map +1 -0
  572. package/dist/ui/conversation-chrome.d.ts +15 -0
  573. package/dist/ui/conversation-chrome.d.ts.map +1 -0
  574. package/dist/ui/conversation-chrome.js +10 -0
  575. package/dist/ui/conversation-chrome.js.map +7 -0
  576. package/dist/ui/conversation-native-reader.d.ts +106 -0
  577. package/dist/ui/conversation-native-reader.d.ts.map +1 -0
  578. package/dist/ui/conversation-native-reader.js +784 -0
  579. package/dist/ui/conversation-native-reader.js.map +7 -0
  580. package/dist/ui/conversation-queue-store.d.ts +12 -0
  581. package/dist/ui/conversation-queue-store.d.ts.map +1 -0
  582. package/dist/ui/conversation-queue.d.ts +242 -0
  583. package/dist/ui/conversation-queue.d.ts.map +1 -0
  584. package/dist/ui/conversation-render.d.ts +45 -0
  585. package/dist/ui/conversation-render.d.ts.map +1 -0
  586. package/dist/ui/conversation-shortcut.d.ts +3 -0
  587. package/dist/ui/conversation-shortcut.d.ts.map +1 -0
  588. package/dist/ui/conversation-targets.d.ts +7 -0
  589. package/dist/ui/conversation-targets.d.ts.map +1 -0
  590. package/dist/ui/conversation-targets.js +12 -0
  591. package/dist/ui/conversation-targets.js.map +7 -0
  592. package/dist/ui/conversation-transcript.d.ts +25 -0
  593. package/dist/ui/conversation-transcript.d.ts.map +1 -0
  594. package/dist/ui/conversation.d.ts +170 -0
  595. package/dist/ui/conversation.d.ts.map +1 -0
  596. package/dist/ui/conversation.js +1868 -0
  597. package/dist/ui/conversation.js.map +7 -0
  598. package/dist/ui/core-tool-render.d.ts +20 -0
  599. package/dist/ui/core-tool-render.d.ts.map +1 -0
  600. package/dist/ui/dashboard-detail.d.ts +68 -0
  601. package/dist/ui/dashboard-detail.d.ts.map +1 -0
  602. package/dist/ui/dashboard-fabric-graph.d.ts +50 -0
  603. package/dist/ui/dashboard-fabric-graph.d.ts.map +1 -0
  604. package/dist/ui/dashboard-model.d.ts +111 -0
  605. package/dist/ui/dashboard-model.d.ts.map +1 -0
  606. package/dist/ui/dashboard-presentation.d.ts +6 -0
  607. package/dist/ui/dashboard-presentation.d.ts.map +1 -0
  608. package/dist/ui/dashboard.d.ts +188 -0
  609. package/dist/ui/dashboard.d.ts.map +1 -0
  610. package/dist/ui/dashboard.js +4604 -0
  611. package/dist/ui/dashboard.js.map +7 -0
  612. package/dist/ui/diff-background.d.ts +12 -0
  613. package/dist/ui/diff-background.d.ts.map +1 -0
  614. package/dist/ui/dynamic-border.d.ts +8 -0
  615. package/dist/ui/dynamic-border.d.ts.map +1 -0
  616. package/dist/ui/escape-halt.d.ts +11 -0
  617. package/dist/ui/escape-halt.d.ts.map +1 -0
  618. package/dist/ui/fabric-actor-delivery-selector.d.ts +17 -0
  619. package/dist/ui/fabric-actor-delivery-selector.d.ts.map +1 -0
  620. package/dist/ui/fabric-actor-tool-selector.d.ts +22 -0
  621. package/dist/ui/fabric-actor-tool-selector.d.ts.map +1 -0
  622. package/dist/ui/fabric-code-parser.d.ts +8 -0
  623. package/dist/ui/fabric-code-parser.d.ts.map +1 -0
  624. package/dist/ui/fabric-host-event-selector.d.ts +29 -0
  625. package/dist/ui/fabric-host-event-selector.d.ts.map +1 -0
  626. package/dist/ui/fabric-model-selector.d.ts +64 -0
  627. package/dist/ui/fabric-model-selector.d.ts.map +1 -0
  628. package/dist/ui/fabric-render.d.ts +113 -0
  629. package/dist/ui/fabric-render.d.ts.map +1 -0
  630. package/dist/ui/fabric-thinking-selector.d.ts +26 -0
  631. package/dist/ui/fabric-thinking-selector.d.ts.map +1 -0
  632. package/dist/ui/fabric-title-hint.d.ts +2 -0
  633. package/dist/ui/fabric-title-hint.d.ts.map +1 -0
  634. package/dist/ui/format.d.ts +9 -0
  635. package/dist/ui/format.d.ts.map +1 -0
  636. package/dist/ui/highlight.d.ts +69 -0
  637. package/dist/ui/highlight.d.ts.map +1 -0
  638. package/dist/ui/model-picker.d.ts +46 -0
  639. package/dist/ui/model-picker.d.ts.map +1 -0
  640. package/dist/ui/model-picker.js +17 -0
  641. package/dist/ui/model-picker.js.map +7 -0
  642. package/dist/ui/preview-lines.d.ts +16 -0
  643. package/dist/ui/preview-lines.d.ts.map +1 -0
  644. package/dist/ui/row-balance.d.ts +29 -0
  645. package/dist/ui/row-balance.d.ts.map +1 -0
  646. package/dist/ui/settings.d.ts +57 -0
  647. package/dist/ui/settings.d.ts.map +1 -0
  648. package/dist/ui/settings.js +1908 -0
  649. package/dist/ui/settings.js.map +7 -0
  650. package/dist/ui/shiki-language.d.ts +7 -0
  651. package/dist/ui/shiki-language.d.ts.map +1 -0
  652. package/dist/ui/shiki-theme.d.ts +7 -0
  653. package/dist/ui/shiki-theme.d.ts.map +1 -0
  654. package/dist/ui/snapshot.d.ts +7 -0
  655. package/dist/ui/snapshot.d.ts.map +1 -0
  656. package/dist/ui/spinner.d.ts +6 -0
  657. package/dist/ui/spinner.d.ts.map +1 -0
  658. package/dist/ui/state-file-preview.d.ts +13 -0
  659. package/dist/ui/state-file-preview.d.ts.map +1 -0
  660. package/dist/ui/structured.d.ts +9 -0
  661. package/dist/ui/structured.d.ts.map +1 -0
  662. package/dist/ui/symbol-theme.d.ts +3 -0
  663. package/dist/ui/symbol-theme.d.ts.map +1 -0
  664. package/dist/ui/tool-call-timing.d.ts +2 -0
  665. package/dist/ui/tool-call-timing.d.ts.map +1 -0
  666. package/dist/ui/tool-display.d.ts +8 -0
  667. package/dist/ui/tool-display.d.ts.map +1 -0
  668. package/dist/ui/topology.d.ts +162 -0
  669. package/dist/ui/topology.d.ts.map +1 -0
  670. package/dist/ui/transcript-parser.d.ts +18 -0
  671. package/dist/ui/transcript-parser.d.ts.map +1 -0
  672. package/dist/ui/transcript-reader.d.ts +10 -0
  673. package/dist/ui/transcript-reader.d.ts.map +1 -0
  674. package/dist/ui/transcript-sanitization.d.ts +14 -0
  675. package/dist/ui/transcript-sanitization.d.ts.map +1 -0
  676. package/dist/ui/transcript.d.ts +52 -0
  677. package/dist/ui/transcript.d.ts.map +1 -0
  678. package/dist/ui/types.d.ts +84 -0
  679. package/dist/ui/types.d.ts.map +1 -0
  680. package/dist/ui/widget.d.ts +16 -0
  681. package/dist/ui/widget.d.ts.map +1 -0
  682. package/dist/ui/word-diff/alignment.d.ts +6 -0
  683. package/dist/ui/word-diff/alignment.d.ts.map +1 -0
  684. package/dist/ui/word-diff/change-block.d.ts +18 -0
  685. package/dist/ui/word-diff/change-block.d.ts.map +1 -0
  686. package/dist/ui/word-diff/changed-line.d.ts +14 -0
  687. package/dist/ui/word-diff/changed-line.d.ts.map +1 -0
  688. package/dist/ui/word-diff/emphasis.d.ts +9 -0
  689. package/dist/ui/word-diff/emphasis.d.ts.map +1 -0
  690. package/dist/ui/word-diff/line-emphasis.d.ts +7 -0
  691. package/dist/ui/word-diff/line-emphasis.d.ts.map +1 -0
  692. package/dist/ui/word-diff/line-matching.d.ts +10 -0
  693. package/dist/ui/word-diff/line-matching.d.ts.map +1 -0
  694. package/dist/ui/word-diff/line-similarity.d.ts +16 -0
  695. package/dist/ui/word-diff/line-similarity.d.ts.map +1 -0
  696. package/dist/ui/word-diff/normalize.d.ts +3 -0
  697. package/dist/ui/word-diff/normalize.d.ts.map +1 -0
  698. package/dist/ui/word-diff/parse.d.ts +17 -0
  699. package/dist/ui/word-diff/parse.d.ts.map +1 -0
  700. package/dist/ui/word-diff/range-refinement.d.ts +5 -0
  701. package/dist/ui/word-diff/range-refinement.d.ts.map +1 -0
  702. package/dist/ui/word-diff/ranges.d.ts +11 -0
  703. package/dist/ui/word-diff/ranges.d.ts.map +1 -0
  704. package/dist/ui/word-diff/smart-filter.d.ts +3 -0
  705. package/dist/ui/word-diff/smart-filter.d.ts.map +1 -0
  706. package/dist/ui/word-diff/sparse-line-matching.d.ts +25 -0
  707. package/dist/ui/word-diff/sparse-line-matching.d.ts.map +1 -0
  708. package/dist/ui/word-diff/text-boundaries.d.ts +11 -0
  709. package/dist/ui/word-diff/text-boundaries.d.ts.map +1 -0
  710. package/dist/ui/word-diff/token-alignment.d.ts +9 -0
  711. package/dist/ui/word-diff/token-alignment.d.ts.map +1 -0
  712. package/dist/ui/word-diff/token-text-refinement.d.ts +4 -0
  713. package/dist/ui/word-diff/token-text-refinement.d.ts.map +1 -0
  714. package/dist/ui/word-diff/tokens.d.ts +16 -0
  715. package/dist/ui/word-diff/tokens.d.ts.map +1 -0
  716. package/dist/ui/word-diff/types.d.ts +10 -0
  717. package/dist/ui/word-diff/types.d.ts.map +1 -0
  718. package/dist/util.d.ts +3 -0
  719. package/dist/util.d.ts.map +1 -0
  720. package/dist/worker/options.d.ts +3 -0
  721. package/dist/worker/options.d.ts.map +1 -0
  722. package/dist/worker/options.js +104 -0
  723. package/dist/worker/options.js.map +7 -0
  724. package/dist/worker/run-record.d.ts +22 -0
  725. package/dist/worker/run-record.d.ts.map +1 -0
  726. package/dist/worker/run-record.js +123 -0
  727. package/dist/worker/run-record.js.map +7 -0
  728. package/dist/worker/session-export.d.ts +45 -0
  729. package/dist/worker/session-export.d.ts.map +1 -0
  730. package/dist/worker/session-export.js +91 -0
  731. package/dist/worker/session-export.js.map +7 -0
  732. package/dist/worker.d.ts +3 -0
  733. package/dist/worker.d.ts.map +1 -0
  734. package/dist/worker.js +1061 -0
  735. package/dist/worker.js.map +7 -0
  736. package/docs/agents.md +564 -0
  737. package/docs/architecture.md +139 -0
  738. package/docs/audit-trace.md +116 -0
  739. package/docs/certification.md +134 -0
  740. package/docs/compaction.md +332 -0
  741. package/docs/component-calculus.md +191 -0
  742. package/docs/components.md +329 -0
  743. package/docs/configuration.md +478 -0
  744. package/docs/entropy.md +396 -0
  745. package/docs/interface.md +149 -0
  746. package/docs/memory-recall.md +614 -0
  747. package/docs/programmatic-compaction.md +207 -0
  748. package/docs/provider-component-calculus.md +378 -0
  749. package/docs/providers.md +109 -0
  750. package/docs/repairs.md +69 -0
  751. package/docs/residency-runtime.md +82 -0
  752. package/docs/schema-enforcement.md +166 -0
  753. package/docs/skills.md +48 -0
  754. package/docs/speculation.md +132 -0
  755. package/docs/state-layer.md +197 -0
  756. package/package.json +116 -0
  757. package/skills/fabric-advisor/SKILL.md +29 -0
  758. package/skills/fabric-ambient/SKILL.md +44 -0
  759. package/skills/fabric-ambient/references/setup.md +90 -0
  760. package/skills/fabric-council/SKILL.md +94 -0
  761. package/skills/fabric-exec/SKILL.md +123 -0
  762. package/skills/fabric-exec/references/agents.md +211 -0
  763. package/skills/fabric-exec/references/mcp.md +49 -0
  764. package/skills/fabric-exec/references/mesh.md +51 -0
  765. package/skills/fabric-fusion/SKILL.md +332 -0
  766. package/skills/fabric-guide/SKILL.md +28 -0
  767. package/skills/fabric-rlm/SKILL.md +284 -0
  768. package/skills/fabric-schema/SKILL.md +121 -0
  769. package/skills/fabric-spec/SKILL.md +42 -0
  770. package/skills/fabric-supervisor/SKILL.md +37 -0
  771. package/skills/fabric-swarm/SKILL.md +80 -0
  772. package/skills/fabric-workflow/SKILL.md +133 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/worker.ts"],
4
+ "sourcesContent": ["#!/usr/bin/env node\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport type { ChildProcess, SpawnOptions } from \"node:child_process\";\nimport crossSpawn from \"cross-spawn\";\nimport { StringDecoder } from \"node:string_decoder\";\nimport { validateJsonSchemaValue } from \"@oh-my-pi/pi-ai/utils/schema\";\nimport type { ImageContent } from \"@oh-my-pi/pi-ai\";\nimport type {\n AgentRunRecord,\n AgentRunStatus,\n} from \"./agents/types.js\";\n\nconst NODE_SCRIPT_EXTENSIONS = new Set([\".js\", \".cjs\", \".mjs\", \".ts\", \".cts\", \".mts\"]);\n\nconst spawnCli = (\n command: string,\n args: readonly string[],\n options: SpawnOptions,\n): ChildProcess => NODE_SCRIPT_EXTENSIONS.has(path.extname(command).toLowerCase())\n ? crossSpawn(process.execPath, [command, ...args], options)\n : crossSpawn(command, [...args], options);\n\ntype ClaudeCliModule = typeof import(\"./agents/claude-cli.js\");\ntype VedaCliModule = typeof import(\"./agents/veda-cli.js\");\ntype CompactControlModule = typeof import(\"./agents/compact-control.js\");\ntype WorkerOptionsModule = typeof import(\"./worker/options.js\");\ntype WorkerRunRecordModule = typeof import(\"./worker/run-record.js\");\ntype WorkerSessionExportModule = typeof import(\"./worker/session-export.js\");\n\nconst loadWorkerOptions = async (): Promise<WorkerOptionsModule> => {\n if (!import.meta.url.endsWith(\".ts\")) return import(\"./worker/options.js\");\n const sourceModulePath = \"./worker/options.ts\";\n return import(sourceModulePath) as Promise<WorkerOptionsModule>;\n};\n\nconst loadWorkerRunRecord = async (): Promise<WorkerRunRecordModule> => {\n if (!import.meta.url.endsWith(\".ts\")) return import(\"./worker/run-record.js\");\n const sourceModulePath = \"./worker/run-record.ts\";\n return import(sourceModulePath) as Promise<WorkerRunRecordModule>;\n};\n\nconst loadWorkerSessionExport = async (): Promise<WorkerSessionExportModule> => {\n if (!import.meta.url.endsWith(\".ts\")) return import(\"./worker/session-export.js\");\n const sourceModulePath = \"./worker/session-export.ts\";\n return import(sourceModulePath) as Promise<WorkerSessionExportModule>;\n};\n\nconst loadCompactControl = async (): Promise<CompactControlModule> => {\n if (!import.meta.url.endsWith(\".ts\")) return import(\"./agents/compact-control.js\");\n const sourceModulePath = \"./agents/compact-control.ts\";\n return import(sourceModulePath) as Promise<CompactControlModule>;\n};\n\nconst loadClaudeCli = async (): Promise<ClaudeCliModule> => {\n if (!import.meta.url.endsWith(\".ts\")) return import(\"./agents/claude-cli.js\");\n const sourceModulePath = \"./agents/claude-cli.ts\";\n return import(sourceModulePath) as Promise<ClaudeCliModule>;\n};\n\nconst loadVedaCli = async (): Promise<VedaCliModule> => {\n if (!import.meta.url.endsWith(\".ts\")) return import(\"./agents/veda-cli.js\");\n const sourceModulePath = \"./agents/veda-cli.ts\";\n return import(sourceModulePath) as Promise<VedaCliModule>;\n};\n\nconst MAX_STDERR_CHARS = 20_000;\nconst MAX_EVENT_LINE_CHARS = 4 * 1024 * 1024;\nconst STEER_READ_CHUNK_BYTES = 256 * 1024;\nconst MAX_STEER_LINE_BYTES = 64 * 1024;\nconst MAX_STEER_COMMANDS_PER_POLL = 256;\nconst MAX_CLAUDE_PENDING_INPUTS = 256;\nconst MAX_CLAUDE_PENDING_TOOLS = 1_000;\nconst KILL_GRACE_MS = 5_000;\n\nconst extractText = (message: Record<string, unknown>): string => {\n const content = message.content;\n if (typeof content === \"string\") return content;\n if (!Array.isArray(content)) return \"\";\n return content\n .filter(\n (part): part is { type: \"text\"; text: string } =>\n typeof part === \"object\" &&\n part !== null &&\n (part as Record<string, unknown>).type === \"text\" &&\n typeof (part as Record<string, unknown>).text === \"string\",\n )\n .map((part) => part.text)\n .join(\"\");\n};\n\nconst readImages = (filePath: string | undefined): ImageContent[] => {\n if (!filePath) return [];\n const parsed: unknown = JSON.parse(fs.readFileSync(filePath, \"utf8\"));\n if (!Array.isArray(parsed)) throw new Error(\"Agent images file must contain an array\");\n const images: ImageContent[] = [];\n for (const value of parsed) {\n if (\n typeof value !== \"object\" ||\n value === null ||\n Array.isArray(value) ||\n (value as { type?: unknown }).type !== \"image\" ||\n typeof (value as { data?: unknown }).data !== \"string\" ||\n typeof (value as { mimeType?: unknown }).mimeType !== \"string\"\n ) {\n throw new Error(\"Agent images file contains an invalid image block\");\n }\n images.push({\n type: \"image\",\n data: (value as { data: string }).data,\n mimeType: (value as { mimeType: string }).mimeType,\n });\n }\n return images;\n};\n\nconst numberField = (value: unknown): number => (typeof value === \"number\" ? value : 0);\n\nconst stringField = (value: unknown): string | undefined =>\n typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n\nconst assistantError = (message: Record<string, unknown>): string => {\n const details: string[] = [];\n const direct = stringField(message.errorMessage) ?? stringField(message.error);\n if (direct) details.push(direct);\n if (Array.isArray(message.diagnostics)) {\n for (const diagnostic of message.diagnostics) {\n if (typeof diagnostic !== \"object\" || diagnostic === null || Array.isArray(diagnostic)) continue;\n const record = diagnostic as Record<string, unknown>;\n const nested =\n typeof record.error === \"object\" && record.error !== null && !Array.isArray(record.error)\n ? (record.error as Record<string, unknown>)\n : undefined;\n const detail = stringField(nested?.message) ?? stringField(record.message);\n if (detail) details.push(detail);\n }\n }\n const unique = [...new Set(details)];\n const provider = stringField(message.provider);\n const model = stringField(message.model);\n const source = [provider, model].filter((value): value is string => Boolean(value)).join(\"/\");\n const summary = unique.join(\" \u00B7 \") || \"OMP agent reported an error\";\n return `${source ? `${source}: ` : \"\"}${summary}`.slice(0, MAX_STDERR_CHARS);\n};\n\nconst runnerLabel = (runner: string): string =>\n runner === \"claude\" ? \"Claude\" : runner === \"veda\" ? \"Veda\" : \"OMP\";\n\nconst terminateChild = (child: ChildProcess, signal: NodeJS.Signals): void => {\n if (!child.pid) return;\n try {\n process.kill(process.platform === \"win32\" ? child.pid : -child.pid, signal);\n } catch { /* child process group already exited */ }\n};\n\nconst extractBalancedJson = (text: string, start: number): string | null => {\n const open = text[start];\n if (open !== \"{\" && open !== \"[\") return null;\n const close = open === \"{\" ? \"}\" : \"]\";\n let depth = 0;\n let inString = false;\n let escaped = false;\n for (let i = start; i < text.length; i++) {\n const ch = text[i];\n if (inString) {\n if (escaped) escaped = false;\n else if (ch === \"\\\\\") escaped = true;\n else if (ch === '\"') inString = false;\n continue;\n }\n if (ch === '\"') inString = true;\n else if (ch === open) depth++;\n else if (ch === close) {\n depth--;\n if (depth === 0) return text.slice(start, i + 1);\n }\n }\n return null;\n};\n\nconst parseStructuredValue = (text: string): unknown => {\n const trimmed = text.trim();\n try {\n return JSON.parse(trimmed);\n } catch {\n // Whole text is not JSON; try extraction below.\n }\n const fenced = trimmed.match(/```(?:json)?\\s*\\n([\\s\\S]*?)\\n```/i);\n if (fenced?.[1]) {\n try {\n return JSON.parse(fenced[1].trim());\n } catch {\n // Fenced block is not JSON; try balanced extraction below.\n }\n }\n const start = trimmed.search(/[{\\[]/);\n if (start >= 0) {\n const balanced = extractBalancedJson(trimmed, start);\n if (balanced) return JSON.parse(balanced);\n }\n return JSON.parse(trimmed);\n};\n\nlet crashContext: { statusFile: string; record: AgentRunRecord } | undefined;\nlet runRecordHelpers: WorkerRunRecordModule | undefined;\nlet terminalWritten = false;\nconst writeCrashStatus = (error: unknown): void => {\n if (!crashContext || !runRecordHelpers || terminalWritten) return;\n try {\n runRecordHelpers.writeCrashRunRecord(crashContext.statusFile, crashContext.record, error);\n } catch {\n // Best effort: if the crash-status write itself fails, #monitor falls back\n // to \"Agent transport exited without a result\".\n }\n};\nprocess.on(\"uncaughtException\", (error) => {\n writeCrashStatus(error);\n process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : error}\\n`);\n process.exit(1);\n});\nprocess.on(\"unhandledRejection\", (error) => {\n writeCrashStatus(error);\n process.stderr.write(`Unhandled rejection: ${error instanceof Error ? error.stack ?? error.message : error}\\n`);\n process.exit(1);\n});\n\nconst main = async (): Promise<void> => {\n const [optionHelpers, loadedRunRecordHelpers, sessionExportHelpers] = await Promise.all([\n loadWorkerOptions(),\n loadWorkerRunRecord(),\n loadWorkerSessionExport(),\n ]);\n runRecordHelpers = loadedRunRecordHelpers;\n const {\n applyUsage,\n createRunningRecord,\n emptyUsage,\n extractUsageDelta,\n latestRunText,\n updateRunRecord,\n writeRunRecord,\n } = loadedRunRecordHelpers;\n const options = optionHelpers.parseWorkerOptions();\n const sessionExporter = options.sessionExportFile\n ? new sessionExportHelpers.SessionExporter({\n file: options.sessionExportFile,\n sessionId: options.id,\n cwd: options.cwd,\n agentName: options.name,\n })\n : undefined;\n const thinking =\n options.thinking === \"off\" ||\n options.thinking === \"minimal\" ||\n options.thinking === \"low\" ||\n options.thinking === \"medium\" ||\n options.thinking === \"high\" ||\n options.thinking === \"xhigh\" ||\n options.thinking === \"max\"\n ? options.thinking\n : undefined;\n const task = fs.readFileSync(options.taskFile, \"utf8\");\n const images = readImages(options.imagesFile);\n const record = createRunningRecord(options, task, thinking, Date.now());\n writeRunRecord(options.statusFile, record);\n const emitLifecycle = (\n event: string,\n data?: Record<string, unknown>,\n ): void => {\n try {\n fs.mkdirSync(path.dirname(options.lifecycleFile), { recursive: true });\n fs.appendFileSync(\n options.lifecycleFile,\n JSON.stringify({ version: 1, event, occurredAt: Date.now(), ...(data ? { data } : {}) }) + \"\\n\",\n { encoding: \"utf8\", mode: 0o600 },\n );\n } catch {\n // Lifecycle telemetry is best-effort and must not fail the child run.\n }\n };\n crashContext = { statusFile: options.statusFile, record };\n process.stdout.write(`[omp-fabric] ${options.name}\\n${task}\\n\\n`);\n fs.mkdirSync(path.dirname(options.logFile), { recursive: true });\n // Other processes tail this file while the run is live (transcript reader,\n // dashboards, preview trees). The previous buffered createWriteStream visibly\n // stalled mid-run \u2014 append synchronously so events are durable immediately.\n const appendLog = (text: string): void => {\n try {\n fs.appendFileSync(options.logFile, text, { encoding: \"utf8\", mode: 0o600 });\n } catch {\n // Event logging is best-effort and must not fail the child run.\n }\n };\n const sessionStream =\n options.runner === \"claude\" && options.sessionFile\n ? fs.createWriteStream(options.sessionFile, { flags: \"a\", mode: 0o600 })\n : undefined;\n sessionStream?.on(\"error\", () => {});\n\n const schema = options.schemaFile\n ? fs.readFileSync(options.schemaFile, \"utf8\")\n : undefined;\n const ompArguments = [\"--mode\", \"rpc\"];\n if (options.sessionFile) ompArguments.push(\"--session\", options.sessionFile);\n else ompArguments.push(\"--no-session\");\n if (!options.extensions) ompArguments.push(\"--no-extensions\");\n if (options.fabricExtensionPath) ompArguments.push(\"-e\", options.fabricExtensionPath);\n if (options.tools.length > 0) ompArguments.push(\"--tools\", options.tools.join(\",\"));\n else ompArguments.push(\"--no-tools\");\n if (options.model) ompArguments.push(\"--model\", options.model);\n if (thinking) ompArguments.push(\"--thinking\", thinking);\n if (options.systemPrompt) ompArguments.push(\"--append-system-prompt\", options.systemPrompt);\n if (schema) {\n ompArguments.push(\n \"--append-system-prompt\",\n `Your final response must contain only JSON matching this schema, without Markdown fences:\\n${schema}`,\n );\n }\n const claudeCli = options.runner === \"claude\" ? await loadClaudeCli() : undefined;\n const vedaCli = options.runner === \"veda\" ? await loadVedaCli() : undefined;\n const childArguments =\n options.runner === \"claude\"\n ? claudeCli!.buildClaudeArguments({\n tools: options.tools,\n extensions: options.extensions,\n persistentSession: Boolean(options.sessionFile),\n ...(options.model ? { model: options.model } : {}),\n ...(thinking ? { thinking } : {}),\n ...(options.systemPrompt ? { systemPrompt: options.systemPrompt } : {}),\n ...(schema ? { schema } : {}),\n ...(options.runnerSessionId ? { runnerSessionId: options.runnerSessionId } : {}),\n name: options.name,\n })\n : options.runner === \"veda\"\n ? vedaCli!.buildVedaArguments({\n backend: options.vedaBackend,\n persona: options.vedaPersona,\n ...(options.model ? { model: options.model } : {}),\n ...(thinking ? { thinking } : {}),\n tools: options.tools,\n // Isolate selection and conversation state per child run so\n // parallel Fabric agents never share Veda session state.\n session: `fabric-${options.id}`,\n })\n : ompArguments;\n const childBinary =\n options.runner === \"claude\"\n ? options.claudeBinary\n : options.runner === \"veda\"\n ? options.vedaBinary\n : options.ompBinary;\n\n const child = spawnCli(childBinary, childArguments, {\n cwd: options.cwd,\n detached: process.platform !== \"win32\",\n env: {\n ...process.env,\n OMP_FABRIC_DEPTH: String(options.depth),\n OMP_FABRIC_PARENT_RUN: options.id,\n OMP_FABRIC_AGENT_NAME: options.name,\n ...(options.mainAgentId ? { OMP_FABRIC_MAIN_AGENT_ID: options.mainAgentId } : {}),\n ...(options.fabricSessionId ? { OMP_FABRIC_SESSION_ID: options.fabricSessionId } : {}),\n OMP_FABRIC_GRANTED_RISKS: options.grantedRisks.join(\",\"),\n OMP_FABRIC_FULL_CODE_MODE: String(options.fullCodeMode),\n // Native tool allowlist for nested-call enforcement: full-code children\n // reach omp.* through fabric_exec, which is not gated by the --tools\n // allowlist, so both OMP and captured-tool providers enforce this\n // child-side allowlist before preparation, discovery, and invocation.\n OMP_FABRIC_TOOL_ALLOWLIST: JSON.stringify(options.tools),\n ...(options.actorId ? { OMP_FABRIC_ACTOR_ID: options.actorId } : {}),\n ...(options.actorName ? { OMP_FABRIC_ACTOR_NAME: options.actorName } : {}),\n OMP_FABRIC_CAPABILITY_REQUIREMENTS: JSON.stringify(\n options.capabilityRequirements ?? [],\n ),\n OMP_FABRIC_CAPABILITY_DIGEST: options.capabilityDigest ?? \"\",\n ...(options.meshRoot ? { OMP_FABRIC_MESH_ROOT: options.meshRoot } : {}),\n ...(options.projectRoot ? { OMP_FABRIC_PROJECT_ROOT: options.projectRoot } : {}),\n ...(options.ownerHostId ? { OMP_FABRIC_OWNER_HOST_ID: options.ownerHostId } : {}),\n ...(options.ownerIdentityId\n ? { OMP_FABRIC_OWNER_IDENTITY_ID: options.ownerIdentityId }\n : {}),\n ...(options.runRoot ? { OMP_FABRIC_RUN_ROOT: options.runRoot } : {}),\n },\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n });\n let stderr = \"\";\n let outputBuffer = \"\";\n // Veda emits a single JSON document on stdout (progress goes to stderr, and\n // with --json progress is suppressed entirely). Buffer it raw and parse it\n // once the child closes instead of treating stdout as NDJSON lines.\n let vedaOutput = \"\";\n let vedaParsed: Record<string, unknown> | undefined;\n const outputDecoder = new StringDecoder(\"utf8\");\n const stderrDecoder = new StringDecoder(\"utf8\");\n let terminalStatus: AgentRunStatus | undefined;\n let terminalError: string | undefined;\n let sawAgentError = false;\n let retryPending = false;\n let lastCompactionReason: string | undefined;\n\n const update = (): void => updateRunRecord(options.statusFile, record);\n\n // Attributed token telemetry. Every usage-bearing child event emits one\n // tokens.usage lifecycle entry identified by this run/actor/runner/depth.\n // The manager drains these alongside the omp.* lifecycle stream and appends\n // them to the budget ledger, replacing the old per-settle flat attribution.\n const lastEmittedUsage = emptyUsage();\n const emitTokenUsage = (\n delta?: {\n input: number;\n output: number;\n cacheRead: number;\n cacheWrite: number;\n cost: number;\n },\n attribution?: { model?: string | undefined; provider?: string | undefined },\n ): void => {\n const snapshot = record.usage;\n if (\n snapshot.input === lastEmittedUsage.input &&\n snapshot.output === lastEmittedUsage.output &&\n snapshot.cacheRead === lastEmittedUsage.cacheRead &&\n snapshot.cacheWrite === lastEmittedUsage.cacheWrite &&\n snapshot.cost === lastEmittedUsage.cost\n ) {\n return;\n }\n emitLifecycle(\"tokens.usage\", {\n runId: options.id,\n name: options.name,\n runner: options.runner,\n depth: options.depth,\n ...(options.actorId ? { actorId: options.actorId } : {}),\n ...(options.actorName ? { actorName: options.actorName } : {}),\n cumulativeTokens:\n snapshot.input + snapshot.output + snapshot.cacheRead + snapshot.cacheWrite,\n input: delta?.input ?? 0,\n output: delta?.output ?? 0,\n cacheRead: delta?.cacheRead ?? 0,\n cacheWrite: delta?.cacheWrite ?? 0,\n cost: delta?.cost ?? snapshot.cost,\n });\n // Mirror the emitted payload into the OMP-format usage export (when the\n // host enabled agents.sessionExport) so tokscale/ccusage can attribute\n // subagent tokens and cost. Export intentionally never writes content.\n sessionExporter?.push(\n {\n input: delta?.input ?? 0,\n output: delta?.output ?? 0,\n cacheRead: delta?.cacheRead ?? 0,\n cacheWrite: delta?.cacheWrite ?? 0,\n cost: delta?.cost ?? snapshot.cost,\n },\n attribution?.model ?? record.model ?? options.model,\n attribution?.provider,\n );\n lastEmittedUsage.input = snapshot.input;\n lastEmittedUsage.output = snapshot.output;\n lastEmittedUsage.cacheRead = snapshot.cacheRead;\n lastEmittedUsage.cacheWrite = snapshot.cacheWrite;\n lastEmittedUsage.cost = snapshot.cost;\n };\n\n const { ChildCompactControl } = await loadCompactControl();\n const compactControl = new ChildCompactControl(options.id, {\n send(frame) {\n if (!child.stdin || child.stdin.writableEnded || child.stdin.destroyed) {\n throw new Error(\"Child OMP stdin closed before compaction could start\");\n }\n child.stdin.write(`${JSON.stringify(frame)}\\n`);\n },\n close() {\n child.stdin?.end();\n },\n update(status) {\n record.compaction = status;\n update();\n },\n });\n\n // Preemptive per-child token guard. timeoutMs bounds wall time and budgetUsd\n // bounds cost, but a single runaway child can still blow its own context\n // before OMP core compacts. When maxTokens is set and the child's cumulative\n // token usage crosses it, terminate the child like a timeout so the run\n // settles with a terminal status instead of burning to the hour deadline.\n // The error string is model-facing: the parent agent reads it verbatim, so it\n // must name the config key and remedy, and front-load the numbers before TUI\n // truncation.\n const enforceTokenLimit = (): void => {\n if (terminalStatus || !options.maxTokens || options.maxTokens <= 0) return;\n const total =\n record.usage.input +\n record.usage.output +\n record.usage.cacheRead +\n record.usage.cacheWrite;\n if (total <= options.maxTokens) return;\n terminalStatus = \"timed_out\";\n terminalError =\n `Fabric token limit reached: ${total} tokens (limit ${options.maxTokens} set by agents.maxTokensPerChild); terminating child. ` +\n `The count is cumulative across the run and includes cache reads/writes, so it grows every turn; ` +\n `raise or disable agents.maxTokensPerChild in /fabric settings (0 disables), or split the task into smaller agent runs.`;\n terminateChild(child, \"SIGTERM\");\n setTimeout(() => terminateChild(child, \"SIGKILL\"), KILL_GRACE_MS).unref();\n child.stdin?.end();\n };\n\n type ClaudeInputKind = \"initial\" | \"steer\" | \"follow_up\";\n const claudeTools = new Map<string, string>();\n const claudeCompletedUsage = emptyUsage();\n const claudeCurrentUsage = emptyUsage();\n const syncClaudeUsage = (): void => {\n record.usage = {\n input: claudeCompletedUsage.input + claudeCurrentUsage.input,\n output: claudeCompletedUsage.output + claudeCurrentUsage.output,\n cacheRead: claudeCompletedUsage.cacheRead + claudeCurrentUsage.cacheRead,\n cacheWrite: claudeCompletedUsage.cacheWrite + claudeCurrentUsage.cacheWrite,\n cost: claudeCompletedUsage.cost,\n };\n };\n\n const claudeSentInputs: Array<{ kind: ClaudeInputKind; message: string }> = [];\n const claudeSteering: string[] = [];\n const claudeFollowUps: string[] = [];\n let claudeSteeringMode: \"all\" | \"one-at-a-time\" = \"one-at-a-time\";\n let claudeFollowUpMode: \"all\" | \"one-at-a-time\" = \"one-at-a-time\";\n let claudeCanFollowUp = false;\n let claudeResultSeen = false;\n const enqueueClaudeControl = (queue: string[], message: string): void => {\n const pendingInputs = claudeSentInputs.length + claudeSteering.length + claudeFollowUps.length;\n if (pendingInputs >= MAX_CLAUDE_PENDING_INPUTS) return;\n queue.push(message);\n };\n let claudeCloseTimer: NodeJS.Timeout | undefined;\n\n const updateClaudeQueue = (): void => {\n const sentSteering = claudeSentInputs\n .filter((entry) => entry.kind === \"steer\")\n .map((entry) => entry.message);\n const sentFollowUps = claudeSentInputs\n .filter((entry) => entry.kind === \"follow_up\")\n .map((entry) => entry.message);\n record.pendingMessages = {\n steering: [...sentSteering, ...claudeSteering],\n followUp: [...sentFollowUps, ...claudeFollowUps],\n };\n update();\n };\n\n const writeClaudeInput = (\n kind: ClaudeInputKind,\n message: string,\n inputImages: readonly ImageContent[] = [],\n ): void => {\n if (claudeCloseTimer) clearTimeout(claudeCloseTimer);\n claudeCloseTimer = undefined;\n if (!child.stdin || child.stdin.writableEnded || child.stdin.destroyed) return;\n claudeSentInputs.push({ kind, message });\n if (kind === \"follow_up\") claudeCanFollowUp = false;\n child.stdin.write(\n `${JSON.stringify(claudeCli!.claudeUserMessage(message, inputImages))}\\n`,\n );\n updateClaudeQueue();\n };\n\n const flushClaudeSteering = (): void => {\n if (claudeSteering.length === 0) return;\n const alreadySent = claudeSentInputs.some((entry) => entry.kind === \"steer\");\n if (claudeSteeringMode === \"one-at-a-time\" && alreadySent) return;\n const count = claudeSteeringMode === \"all\" ? claudeSteering.length : 1;\n for (const message of claudeSteering.splice(0, count)) {\n writeClaudeInput(\"steer\", message);\n }\n };\n\n const flushClaudeFollowUps = (): void => {\n if (claudeFollowUps.length === 0 || claudeSteering.length > 0) return;\n if (claudeSentInputs.some((entry) => entry.kind === \"steer\")) return;\n const alreadySent = claudeSentInputs.some((entry) => entry.kind === \"follow_up\");\n if (claudeFollowUpMode === \"one-at-a-time\" && alreadySent) return;\n const count = claudeFollowUpMode === \"all\" ? claudeFollowUps.length : 1;\n for (const message of claudeFollowUps.splice(0, count)) {\n writeClaudeInput(\"follow_up\", message);\n }\n };\n\n const scheduleClaudeClose = (): void => {\n if (claudeCloseTimer || terminalStatus) return;\n claudeCloseTimer = setTimeout(() => {\n claudeCloseTimer = undefined;\n if (\n claudeSentInputs.length === 0 &&\n claudeSteering.length === 0 &&\n claudeFollowUps.length === 0\n ) {\n child.stdin?.end();\n }\n }, 300);\n claudeCloseTimer.unref();\n };\n\n const processClaudeEvent = (event: Record<string, unknown>): void => {\n if (event.type === \"system\" && event.subtype === \"init\") {\n const sessionId = stringField(event.session_id);\n if (sessionId) record.runnerSessionId = sessionId;\n const model = stringField(event.model);\n if (model && !record.model) record.model = model;\n update();\n return;\n }\n if (event.type === \"assistant\") {\n const message = event.message;\n if (typeof message !== \"object\" || message === null || Array.isArray(message)) return;\n const assistant = message as Record<string, unknown>;\n const text = extractText(assistant);\n if (text) {\n record.text = latestRunText(text);\n process.stdout.write(`\\n${text}\\n`);\n }\n const content = assistant.content;\n if (Array.isArray(content)) {\n for (const block of content) {\n if (typeof block !== \"object\" || block === null || Array.isArray(block)) continue;\n const part = block as Record<string, unknown>;\n if (part.type !== \"tool_use\") continue;\n const id = stringField(part.id);\n const name = stringField(part.name);\n if (!id || !name || claudeTools.has(id)) continue;\n claudeTools.set(id, name);\n while (claudeTools.size > MAX_CLAUDE_PENDING_TOOLS) {\n const oldestToolId = claudeTools.keys().next().value;\n if (oldestToolId === undefined) break;\n claudeTools.delete(oldestToolId);\n }\n record.toolCalls++;\n record.currentTool = name;\n process.stdout.write(`\u2192 ${name}\\n`);\n }\n }\n const usage = assistant.usage;\n if (typeof usage === \"object\" && usage !== null && !Array.isArray(usage)) {\n const values = usage as Record<string, unknown>;\n const delta = {\n input: numberField(values.input_tokens),\n output: numberField(values.output_tokens),\n cacheRead: numberField(values.cache_read_input_tokens),\n cacheWrite: numberField(values.cache_creation_input_tokens),\n cost: 0,\n };\n claudeCurrentUsage.input += delta.input;\n claudeCurrentUsage.output += delta.output;\n claudeCurrentUsage.cacheRead += delta.cacheRead;\n claudeCurrentUsage.cacheWrite += delta.cacheWrite;\n syncClaudeUsage();\n emitTokenUsage(delta, { model: record.model ?? stringField(event.model) });\n }\n if (typeof event.error === \"string\") {\n sawAgentError = true;\n terminalError = event.error;\n }\n enforceTokenLimit();\n update();\n return;\n }\n if (event.type === \"user\") {\n const message = event.message;\n if (typeof message !== \"object\" || message === null || Array.isArray(message)) return;\n const content = (message as Record<string, unknown>).content;\n if (!Array.isArray(content)) return;\n for (const block of content) {\n if (typeof block !== \"object\" || block === null || Array.isArray(block)) continue;\n const part = block as Record<string, unknown>;\n if (part.type !== \"tool_result\") continue;\n const id = stringField(part.tool_use_id);\n if (id) claudeTools.delete(id);\n }\n const current = [...claudeTools.values()].at(-1);\n if (current) record.currentTool = current;\n else delete record.currentTool;\n update();\n return;\n }\n if (event.type === \"stream_event\") {\n const streamEvent = event.event;\n if (typeof streamEvent !== \"object\" || streamEvent === null || Array.isArray(streamEvent)) return;\n const stream = streamEvent as Record<string, unknown>;\n if (stream.type !== \"content_block_start\") return;\n const contentBlock = stream.content_block;\n if (typeof contentBlock !== \"object\" || contentBlock === null || Array.isArray(contentBlock)) return;\n const block = contentBlock as Record<string, unknown>;\n const name = stringField(block.name);\n if (block.type === \"tool_use\" && name) {\n record.currentTool = name;\n update();\n }\n return;\n }\n if (event.type !== \"result\") return;\n claudeResultSeen = true;\n const sessionId = stringField(event.session_id);\n if (sessionId) record.runnerSessionId = sessionId;\n const resultText = typeof event.result === \"string\" ? event.result : \"\";\n if (resultText) record.text = latestRunText(resultText);\n if (event.structured_output !== undefined) record.value = event.structured_output;\n record.turns += Math.max(0, Math.floor(numberField(event.num_turns)));\n const resultUsage =\n typeof event.usage === \"object\" && event.usage !== null && !Array.isArray(event.usage)\n ? (event.usage as Record<string, unknown>)\n : undefined;\n // The result frame supersedes the assistant-frame stream for this turn:\n // fold any unreported assistant tokens into the result delta so cumulative\n // attribution stays exact without double-counting assistant emissions.\n const resultDelta = resultUsage\n ? {\n input: numberField(resultUsage.input_tokens) - claudeCurrentUsage.input,\n output: numberField(resultUsage.output_tokens) - claudeCurrentUsage.output,\n cacheRead:\n numberField(resultUsage.cache_read_input_tokens) - claudeCurrentUsage.cacheRead,\n cacheWrite:\n numberField(resultUsage.cache_creation_input_tokens) - claudeCurrentUsage.cacheWrite,\n cost: Math.max(0, numberField(event.total_cost_usd)),\n }\n : { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, cost: Math.max(0, numberField(event.total_cost_usd)) };\n claudeCompletedUsage.input += resultUsage\n ? numberField(resultUsage.input_tokens)\n : claudeCurrentUsage.input;\n claudeCompletedUsage.output += resultUsage\n ? numberField(resultUsage.output_tokens)\n : claudeCurrentUsage.output;\n claudeCompletedUsage.cacheRead += resultUsage\n ? numberField(resultUsage.cache_read_input_tokens)\n : claudeCurrentUsage.cacheRead;\n claudeCompletedUsage.cacheWrite += resultUsage\n ? numberField(resultUsage.cache_creation_input_tokens)\n : claudeCurrentUsage.cacheWrite;\n claudeCompletedUsage.cost += Math.max(0, numberField(event.total_cost_usd));\n claudeCurrentUsage.input = 0;\n claudeCurrentUsage.output = 0;\n claudeCurrentUsage.cacheRead = 0;\n claudeCurrentUsage.cacheWrite = 0;\n syncClaudeUsage();\n emitTokenUsage(resultDelta, { model: record.model ?? stringField(event.model) });\n enforceTokenLimit();\n const failed = event.is_error === true || event.subtype !== \"success\";\n if (failed) {\n sawAgentError = true;\n const errors = Array.isArray(event.errors)\n ? event.errors.filter((value): value is string => typeof value === \"string\").join(\" \u00B7 \")\n : \"\";\n terminalError = errors || resultText || `Claude returned ${String(event.subtype ?? \"an error\")}`;\n claudeSteering.splice(0);\n claudeFollowUps.splice(0);\n } else {\n sawAgentError = false;\n if (!terminalStatus) terminalError = undefined;\n }\n if (failed || terminalStatus) claudeSentInputs.splice(0);\n else claudeSentInputs.shift();\n claudeCanFollowUp = !failed && !terminalStatus;\n delete record.currentTool;\n updateClaudeQueue();\n if (failed || terminalStatus) {\n child.stdin?.end();\n return;\n }\n flushClaudeSteering();\n if (claudeSentInputs.length === 0 && claudeSteering.length === 0) {\n flushClaudeFollowUps();\n }\n if (\n claudeSentInputs.length === 0 &&\n claudeSteering.length === 0 &&\n claudeFollowUps.length === 0\n ) {\n scheduleClaudeClose();\n }\n };\n\n const processEvent = (line: string): void => {\n if (process.env.OMP_FABRIC_INJECT_CRASH === \"stream\") throw new Error(\"simulated stream crash\");\n if (!line.trim()) return;\n appendLog(`${line}\\n`);\n sessionStream?.write(`${line}\\n`);\n let event: Record<string, unknown>;\n try {\n const parsed: unknown = JSON.parse(line);\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) return;\n event = parsed as Record<string, unknown>;\n } catch {\n return;\n }\n if (options.runner === \"claude\") {\n processClaudeEvent(event);\n return;\n }\n compactControl.observe(event);\n if (event.type === \"agent_start\") {\n emitLifecycle(\"omp.agent_start\");\n retryPending = false;\n sawAgentError = false;\n terminalError = undefined;\n return;\n }\n if (event.type === \"response\" && event.command === \"prompt\" && event.success === false) {\n sawAgentError = true;\n terminalError = typeof event.error === \"string\" ? event.error : \"OMP rejected the prompt\";\n child.stdin?.end();\n return;\n }\n if (event.type === \"extension_ui_request\") {\n const method = event.method;\n if (\n typeof event.id === \"string\" &&\n (method === \"select\" || method === \"confirm\" || method === \"input\" || method === \"editor\")\n ) {\n child.stdin?.write(\n `${JSON.stringify({ type: \"extension_ui_response\", id: event.id, cancelled: true })}\\n`,\n );\n }\n return;\n }\n if (event.type === \"tool_execution_start\") {\n record.toolCalls++;\n if (typeof event.toolName === \"string\") {\n record.currentTool = event.toolName;\n process.stdout.write(`\u2192 ${event.toolName}\\n`);\n }\n update();\n return;\n }\n if (event.type === \"tool_execution_end\") {\n if (event.isError === true) {\n emitLifecycle(\"omp.tool_error\", {\n ...(typeof event.toolCallId === \"string\" ? { toolCallId: event.toolCallId } : {}),\n ...(typeof event.toolName === \"string\" ? { toolName: event.toolName } : {}),\n });\n }\n delete record.currentTool;\n update();\n return;\n }\n if (event.type === \"turn_end\") {\n emitLifecycle(\"omp.turn_end\", {\n ...(typeof event.turnIndex === \"number\" ? { turnIndex: event.turnIndex } : {}),\n });\n record.turns++;\n update();\n return;\n }\n if (event.type === \"queue_update\") {\n const steering = Array.isArray(event.steering)\n ? event.steering.filter((value): value is string => typeof value === \"string\")\n : [];\n const followUp = Array.isArray(event.followUp)\n ? event.followUp.filter((value): value is string => typeof value === \"string\")\n : [];\n record.pendingMessages = { steering, followUp };\n update();\n return;\n }\n if (event.type === \"message_end\") {\n const message = event.message;\n if (typeof message !== \"object\" || message === null || Array.isArray(message)) return;\n const messageRecord = message as Record<string, unknown>;\n if (messageRecord.role !== \"assistant\") return;\n const text = extractText(messageRecord);\n if (text) {\n record.text = latestRunText(text);\n process.stdout.write(`\\n${text}\\n`);\n }\n const usageDelta = extractUsageDelta(messageRecord);\n applyUsage(record, messageRecord);\n emitTokenUsage(usageDelta, {\n model: stringField(messageRecord.model),\n provider: stringField(messageRecord.provider),\n });\n enforceTokenLimit();\n if (messageRecord.stopReason === \"error\") {\n sawAgentError = true;\n terminalError = assistantError(messageRecord);\n } else {\n sawAgentError = false;\n // Once a terminal cause is set (e.g. the per-child token guard), keep it;\n // a later non-error message_end must not clobber the reason we are\n // terminating for.\n if (!terminalStatus) terminalError = undefined;\n }\n update();\n return;\n }\n if (event.type === \"agent_end\") {\n retryPending = event.isTerminal === false;\n emitLifecycle(\"omp.agent_end\", { isTerminal: !retryPending });\n if (!retryPending) {\n pollSteer();\n compactControl.childSettled();\n }\n return;\n }\n if (event.type === \"auto_compaction_start\") {\n lastCompactionReason = typeof event.reason === \"string\" ? event.reason : undefined;\n return;\n }\n if (event.type === \"auto_compaction_end\") {\n emitLifecycle(\"omp.session_compact\", {\n ...(lastCompactionReason !== undefined ? { reason: lastCompactionReason } : {}),\n ...(typeof event.willRetry === \"boolean\" ? { willRetry: event.willRetry } : {}),\n ...(typeof event.aborted === \"boolean\" ? { aborted: event.aborted } : {}),\n });\n lastCompactionReason = undefined;\n return;\n }\n if (event.type === \"extension_error\") {\n const error = typeof event.error === \"string\" ? event.error : \"Extension error\";\n stderr = `${stderr}\\n${error}`.trim().slice(-MAX_STDERR_CHARS);\n update();\n }\n };\n\n child.stdin?.on(\"error\", () => {});\n if (options.runner === \"claude\") {\n writeClaudeInput(\"initial\", task, images);\n } else if (options.runner === \"veda\") {\n // Veda reads the prompt from stdin when no positional prompt is given.\n // Mirror its <system_instructions> wrapping so systemPrompt and schema\n // instructions reach the backend model.\n const sections: string[] = [];\n if (options.systemPrompt) {\n sections.push(`<system_instructions>\\n${options.systemPrompt}\\n</system_instructions>`);\n }\n if (schema) {\n sections.push(\n `Your final response must contain only JSON matching this schema, without Markdown fences:\\n${schema}`,\n );\n }\n sections.push(task);\n child.stdin?.write(sections.join(\"\\n\\n\"));\n child.stdin?.end();\n } else {\n child.stdin?.write(\n `${JSON.stringify({\n type: \"prompt\",\n message: task,\n ...(images.length > 0 ? { images } : {}),\n })}\\n`,\n );\n }\n\n // Tail a control file (steer.jsonl) the parent appends to and forward each\n // queued command to the child OMP over its RPC stdin. This is the fabric\n // steering channel: the orchestrator (or any peer via the mesh relay) can\n // interject a steer / follow_up / queue-mode command between the child's\n // turns without stopping and respawning it, preserving its context. The\n // poller is best-effort: a closed or ended stdin (settled/stopped child) is\n // swallowed so a late steer never crashes the worker.\n let steerOffset = 0;\n let steerRemainder = Buffer.alloc(0);\n let skippingOversizedSteerLine = false;\n const pollSteer = (): void => {\n if (!options.steerFile || terminalStatus) return;\n let descriptor: number | undefined;\n try {\n descriptor = fs.openSync(options.steerFile, \"r\");\n } catch {\n return;\n }\n try {\n const size = fs.fstatSync(descriptor).size;\n if (size < steerOffset) {\n steerOffset = 0;\n steerRemainder = Buffer.alloc(0);\n skippingOversizedSteerLine = false;\n }\n if (size <= steerOffset) return;\n const length = Math.min(size - steerOffset, STEER_READ_CHUNK_BYTES);\n const buffer = Buffer.allocUnsafe(length);\n const bytesRead = fs.readSync(descriptor, buffer, 0, length, steerOffset);\n steerOffset += bytesRead;\n let combined = Buffer.concat([steerRemainder, buffer.subarray(0, bytesRead)]);\n if (skippingOversizedSteerLine) {\n const skippedLineEnd = combined.indexOf(0x0a);\n if (skippedLineEnd < 0) return;\n combined = combined.subarray(skippedLineEnd + 1);\n skippingOversizedSteerLine = false;\n }\n const newline = combined.lastIndexOf(0x0a);\n if (newline < 0) {\n if (combined.length > MAX_STEER_LINE_BYTES) {\n steerRemainder = Buffer.alloc(0);\n skippingOversizedSteerLine = true;\n } else {\n steerRemainder = Buffer.from(combined);\n }\n return;\n }\n const remainder = combined.subarray(newline + 1);\n if (remainder.length > MAX_STEER_LINE_BYTES) {\n steerRemainder = Buffer.alloc(0);\n skippingOversizedSteerLine = true;\n } else {\n steerRemainder = Buffer.from(remainder);\n }\n let processedCommands = 0;\n for (const raw of combined.subarray(0, newline + 1).toString(\"utf8\").split(\"\\n\")) {\n if (processedCommands >= MAX_STEER_COMMANDS_PER_POLL) break;\n if (Buffer.byteLength(raw, \"utf8\") > MAX_STEER_LINE_BYTES) continue;\n const line = raw.trim();\n if (!line) continue;\n processedCommands += 1;\n let command: { type?: string; message?: string; mode?: string; instructions?: string };\n try {\n command = JSON.parse(line);\n } catch {\n continue;\n }\n try {\n if (options.runner === \"claude\") {\n if (claudeCloseTimer) clearTimeout(claudeCloseTimer);\n claudeCloseTimer = undefined;\n if (command.type === \"steer\" && typeof command.message === \"string\") {\n enqueueClaudeControl(claudeSteering, command.message);\n flushClaudeSteering();\n } else if (command.type === \"follow_up\" && typeof command.message === \"string\") {\n enqueueClaudeControl(claudeFollowUps, command.message);\n if (claudeCanFollowUp && claudeSentInputs.length === 0) flushClaudeFollowUps();\n } else if (\n command.type === \"set_steering_mode\" &&\n (command.mode === \"all\" || command.mode === \"one-at-a-time\")\n ) {\n claudeSteeringMode = command.mode;\n flushClaudeSteering();\n } else if (\n command.type === \"set_follow_up_mode\" &&\n (command.mode === \"all\" || command.mode === \"one-at-a-time\")\n ) {\n claudeFollowUpMode = command.mode;\n if (claudeCanFollowUp && claudeSentInputs.length === 0) flushClaudeFollowUps();\n }\n updateClaudeQueue();\n } else if (options.runner === \"veda\") {\n // Steering is unsupported for the veda runner: Veda executes one\n // headless prompt per invocation. The command is dropped, never\n // forwarded to OMP-style stdin frames.\n } else if (command.type === \"steer\" && typeof command.message === \"string\") {\n child.stdin?.write(JSON.stringify({ type: \"steer\", message: command.message }) + \"\\n\");\n } else if (command.type === \"follow_up\" && typeof command.message === \"string\") {\n child.stdin?.write(JSON.stringify({ type: \"follow_up\", message: command.message }) + \"\\n\");\n } else if (command.type === \"set_steering_mode\" && typeof command.mode === \"string\") {\n child.stdin?.write(JSON.stringify({ type: \"set_steering_mode\", mode: command.mode }) + \"\\n\");\n } else if (command.type === \"set_follow_up_mode\" && typeof command.mode === \"string\") {\n child.stdin?.write(JSON.stringify({ type: \"set_follow_up_mode\", mode: command.mode }) + \"\\n\");\n } else if (command.type === \"compact\") {\n compactControl.queue(command.instructions);\n }\n } catch {\n /* stdin closed (settled/stopped child); a late steer is dropped */\n }\n }\n } finally {\n fs.closeSync(descriptor);\n }\n };\n const steerTimer = options.steerFile ? setInterval(pollSteer, 200) : undefined;\n steerTimer?.unref?.();\n\n const failOversizedEvent = (line: string): void => {\n const prefix = line.slice(0, MAX_EVENT_LINE_CHARS);\n let artifactPath: string | undefined;\n try {\n artifactPath = path.join(path.dirname(options.logFile), \"oversized-event-prefix.txt\");\n fs.writeFileSync(artifactPath, prefix, { encoding: \"utf8\", mode: 0o600 });\n } catch {\n artifactPath = undefined;\n }\n terminalStatus = \"failed\";\n terminalError = artifactPath\n ? `Agent emitted an oversized event line; first ${prefix.length} characters saved to: ${artifactPath}`\n : \"Agent emitted an oversized event line\";\n outputBuffer = \"\";\n terminateChild(child, \"SIGTERM\");\n };\n\n child.stdout?.on(\"data\", (chunk: Buffer) => {\n const decoded = outputDecoder.write(chunk);\n if (options.runner === \"veda\") {\n vedaOutput += decoded;\n return;\n }\n outputBuffer += decoded;\n while (true) {\n const newline = outputBuffer.indexOf(\"\\n\");\n if (newline < 0) {\n if (outputBuffer.length > MAX_EVENT_LINE_CHARS) {\n failOversizedEvent(outputBuffer);\n }\n break;\n }\n if (newline > MAX_EVENT_LINE_CHARS) {\n failOversizedEvent(outputBuffer.slice(0, newline));\n return;\n }\n const line = outputBuffer.slice(0, newline).replace(/\\r$/, \"\");\n outputBuffer = outputBuffer.slice(newline + 1);\n processEvent(line);\n }\n });\n const recordStderr = (text: string): void => {\n if (!text) return;\n appendLog(`${JSON.stringify({ type: \"worker_stderr\", text })}\\n`);\n process.stderr.write(text);\n stderr = `${stderr}${text}`.slice(-MAX_STDERR_CHARS);\n };\n child.stderr?.on(\"data\", (chunk: Buffer) => {\n recordStderr(stderrDecoder.write(chunk));\n });\n child.stderr?.on(\"error\", () => {});\n\n const timeout = setTimeout(() => {\n terminalStatus = \"timed_out\";\n terminalError = `Agent timed out after ${options.timeoutMs}ms`;\n terminateChild(child, \"SIGTERM\");\n setTimeout(() => terminateChild(child, \"SIGKILL\"), KILL_GRACE_MS).unref();\n }, options.timeoutMs);\n timeout.unref();\n\n const stop = (): void => {\n if (terminalStatus) return;\n terminalStatus = \"stopped\";\n terminalError = \"Agent stopped\";\n terminateChild(child, \"SIGTERM\");\n setTimeout(() => terminateChild(child, \"SIGKILL\"), KILL_GRACE_MS).unref();\n };\n process.once(\"SIGTERM\", stop);\n process.once(\"SIGINT\", stop);\n process.once(\"SIGHUP\", stop);\n\n const exitCode = await new Promise<number | null>((resolve) => {\n child.once(\"error\", (error) => {\n terminalStatus = \"failed\";\n terminalError = error.message;\n resolve(null);\n });\n child.once(\"close\", (code) => resolve(code));\n });\n\n if (steerTimer) clearInterval(steerTimer);\n if (claudeCloseTimer) clearTimeout(claudeCloseTimer);\n clearTimeout(timeout);\n if (process.env.OMP_FABRIC_INJECT_CRASH === \"close\") throw new Error(\"simulated close crash\");\n if (options.runner === \"veda\") {\n vedaOutput += outputDecoder.end();\n } else {\n outputBuffer += outputDecoder.end();\n }\n recordStderr(stderrDecoder.end());\n if (options.runner === \"veda\") {\n const trimmed = vedaOutput.trim();\n if (trimmed) {\n try {\n const parsed = parseStructuredValue(trimmed);\n if (typeof parsed === \"object\" && parsed !== null && !Array.isArray(parsed)) {\n vedaParsed = parsed as Record<string, unknown>;\n const text = stringField(vedaParsed.text) ?? \"\";\n if (text) {\n record.text = latestRunText(text);\n process.stdout.write(`\\n${text}\\n`);\n }\n const sessionId = stringField(vedaParsed.sessionId);\n if (sessionId) record.runnerSessionId = sessionId;\n const usage = vedaParsed.usage;\n if (typeof usage === \"object\" && usage !== null && !Array.isArray(usage)) {\n const values = usage as Record<string, unknown>;\n const input = numberField(values.inputTokens);\n const output = numberField(values.outputTokens);\n const cacheRead = numberField(values.cachedTokens);\n const cost = typeof values.costUsd === \"number\" ? values.costUsd : 0;\n record.usage = { input, output, cacheRead, cacheWrite: 0, cost };\n emitTokenUsage({ input, output, cacheRead, cacheWrite: 0, cost }, { model: stringField(vedaParsed.model) });\n }\n const envelopeErrors: string[] = [];\n const error = stringField(vedaParsed.error);\n if (error) envelopeErrors.push(error);\n // navigator-plan gates the response on a <program> design block and\n // the worker persona on a <worker_report>; both exit non-zero and\n // report failure only via design/worker fields, not envelope.error.\n for (const key of [\"design\", \"worker\"] as const) {\n const gate = vedaParsed[key];\n if (typeof gate !== \"object\" || gate === null || Array.isArray(gate)) continue;\n const status = gate as Record<string, unknown>;\n if (status.ok !== false) continue;\n const details = Array.isArray(status.errors)\n ? status.errors.filter((entry): entry is string => typeof entry === \"string\").join(\"; \")\n : [stringField(status.reason), stringField(status.detail)]\n .filter((entry): entry is string => entry !== undefined)\n .join(\": \");\n envelopeErrors.push(`Veda ${key} failed${details ? `: ${details}` : \"\"}`);\n }\n if (envelopeErrors.length > 0) {\n sawAgentError = true;\n terminalError = envelopeErrors.join(\"\\n\");\n }\n record.turns += 1;\n update();\n }\n } catch {\n // Unparseable stdout; the generic failed-record path reports stderr.\n }\n }\n } else if (outputBuffer.trim()) {\n processEvent(outputBuffer);\n }\n record.exitCode = exitCode;\n record.stderr = stderr.slice(-MAX_STDERR_CHARS);\n if (\n record.compaction?.status === \"queued\" ||\n record.compaction?.status === \"in_flight\"\n ) {\n const error = terminalError ?? \"Child OMP exited before the queued compaction completed\";\n record.compaction = {\n ...record.compaction,\n status: \"failed\",\n updatedAt: Date.now(),\n finishedAt: Date.now(),\n error,\n };\n if (!terminalStatus) {\n terminalStatus = \"failed\";\n terminalError = error;\n }\n }\n record.finishedAt = Date.now();\n record.updatedAt = record.finishedAt;\n const childCompleted =\n exitCode === 0 &&\n !sawAgentError &&\n (options.runner === \"omp\" ||\n (options.runner === \"claude\" &&\n claudeResultSeen &&\n claudeSentInputs.length === 0 &&\n claudeSteering.length === 0 &&\n claudeFollowUps.length === 0) ||\n (options.runner === \"veda\" && vedaParsed !== undefined));\n record.status = terminalStatus ?? (childCompleted ? \"completed\" : \"failed\");\n if (terminalError) record.error = terminalError;\n if (record.status === \"failed\" && !record.error) {\n record.error =\n stderr.trim() ||\n (exitCode === 0\n ? `${runnerLabel(options.runner)} agent reported an error before exiting`\n : `${runnerLabel(options.runner)} exited with code ${exitCode ?? \"unknown\"}`);\n }\n if (record.status === \"completed\" && options.schemaFile) {\n try {\n const schema = JSON.parse(fs.readFileSync(options.schemaFile, \"utf8\")) as Record<\n string,\n unknown\n >;\n const value = record.value ?? parseStructuredValue(record.text);\n const validation = validateJsonSchemaValue(schema, value);\n if (!validation.success) {\n const errors = validation.issues\n .slice(0, 5)\n .map((error) => error.message)\n .join(\"; \");\n throw new Error(errors || \"value does not match schema\");\n }\n record.value = value;\n } catch (error) {\n record.status = \"failed\";\n const reason = error instanceof Error ? error.message : String(error);\n const output = record.text.trim();\n const snippet = output.slice(0, 200);\n record.error = `Structured agent output was invalid: ${reason}${snippet ? ` (output: ${snippet}${output.length > 200 ? \"\u2026\" : \"\"})` : \"\"}`;\n }\n }\n delete record.currentTool;\n writeRunRecord(options.statusFile, record);\n terminalWritten = true;\n process.stdout.write(`\\n[omp-fabric] ${record.status}\\n`);\n await new Promise<void>((resolve) =>\n sessionStream ? sessionStream.end(resolve) : resolve(),\n );\n process.exitCode = record.status === \"completed\" ? 0 : 1;\n};\n\nmain().catch((error) => {\n console.error(error instanceof Error ? (error.stack ?? error.message) : String(error));\n writeCrashStatus(error);\n process.exit(1);\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["sessionId", "schema"]
7
+ }