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/ui/fabric-code-parser.ts"],
4
+ "sourcesContent": ["export interface FabricWriteBinding {\n path: string;\n stringKey: string;\n}\n\ntype Token = { kind: \"identifier\" | \"string\" | \"punctuation\"; text: string };\n\nconst identifierStart = (char: string): boolean => /[A-Za-z_$payloads]/u.test(char);\nconst identifierPart = (char: string): boolean => /[A-Za-z0-9_$payloads]/u.test(char);\n\nconst readEscape = (source: string, index: number): { value: string; next: number } => {\n const char = source[index];\n if (char === undefined) return { value: \"\", next: index };\n const simple: Record<string, string> = {\n n: \"\\n\", r: \"\\r\", t: \"\\t\", b: \"\\b\", f: \"\\f\", v: \"\\v\", 0: \"\\0\",\n };\n if (char in simple) return { value: simple[char]!, next: index + 1 };\n if (char === \"\\n\") return { value: \"\", next: index + 1 };\n if (char === \"\\r\") return { value: \"\", next: source[index + 1] === \"\\n\" ? index + 2 : index + 1 };\n if (char === \"x\") {\n const digits = source.slice(index + 1, index + 3);\n if (/^[0-9a-f]{2}$/i.test(digits)) return { value: String.fromCharCode(Number.parseInt(digits, 16)), next: index + 3 };\n }\n if (char === \"u\") {\n if (source[index + 1] === \"{\") {\n const end = source.indexOf(\"}\", index + 2);\n const digits = end < 0 ? \"\" : source.slice(index + 2, end);\n if (/^[0-9a-f]{1,6}$/i.test(digits)) {\n return { value: String.fromCodePoint(Number.parseInt(digits, 16)), next: end + 1 };\n }\n }\n const digits = source.slice(index + 1, index + 5);\n if (/^[0-9a-f]{4}$/i.test(digits)) return { value: String.fromCharCode(Number.parseInt(digits, 16)), next: index + 5 };\n }\n return { value: char, next: index + 1 };\n};\n\nconst tokenize = (source: string): Token[] => {\n const tokens: Token[] = [];\n let index = 0;\n while (index < source.length) {\n const char = source[index]!;\n if (/\\s/u.test(char)) { index++; continue; }\n if (char === \"/\" && source[index + 1] === \"/\") {\n index = source.indexOf(\"\\n\", index + 2);\n if (index < 0) break;\n continue;\n }\n if (char === \"/\" && source[index + 1] === \"*\") {\n const end = source.indexOf(\"*/\", index + 2);\n index = end < 0 ? source.length : end + 2;\n continue;\n }\n if (char === \"'\" || char === '\"' || char === \"`\") {\n const quote = char;\n let value = \"\";\n let dynamicTemplate = false;\n index++;\n while (index < source.length) {\n const current = source[index]!;\n if (current === quote) { index++; break; }\n if (quote === \"`\" && current === \"$\" && source[index + 1] === \"{\") dynamicTemplate = true;\n if (current === \"\\\\\") {\n const escaped = readEscape(source, index + 1);\n value += escaped.value;\n index = escaped.next;\n continue;\n }\n value += current;\n index++;\n }\n if (!dynamicTemplate) tokens.push({ kind: \"string\", text: value });\n continue;\n }\n if (identifierStart(char)) {\n const start = index++;\n while (index < source.length && identifierPart(source[index]!)) index++;\n tokens.push({ kind: \"identifier\", text: source.slice(start, index) });\n continue;\n }\n tokens.push({ kind: \"punctuation\", text: char });\n index++;\n }\n return tokens;\n};\n\nexport const fabricStringLiterals = (code: string): string[] =>\n tokenize(code).filter((token) => token.kind === \"string\").map((token) => token.text);\n\nconst propertyName = (token: Token | undefined): string | undefined =>\n token?.kind === \"identifier\" || token?.kind === \"string\" ? token.text : undefined;\n\nconst namedStringKey = (tokens: Token[], start: number, end: number): string | undefined => {\n if (tokens[start]?.text !== \"payloads\" && tokens[start]?.text !== \"omp\") return undefined;\n if (tokens[start + 1]?.text === \".\" && tokens[start + 2]?.kind === \"identifier\" && start + 3 === end) {\n return tokens[start + 2]!.text;\n }\n if (tokens[start + 1]?.text === \"[\" && tokens[start + 2]?.kind === \"string\" && tokens[start + 3]?.text === \"]\" && start + 4 === end) {\n return tokens[start + 2]!.text;\n }\n return undefined;\n};\n\nconst objectBinding = (tokens: Token[], start: number): { binding?: FabricWriteBinding; next: number } => {\n let depth = 1;\n let index = start + 1;\n let path: string | undefined;\n let stringKey: string | undefined;\n while (index < tokens.length && depth > 0) {\n if (tokens[index]?.text === \"{\") { depth++; index++; continue; }\n if (tokens[index]?.text === \"}\") { depth--; index++; continue; }\n if (depth !== 1) { index++; continue; }\n const name = propertyName(tokens[index]);\n if (!name || tokens[index + 1]?.text !== \":\") { index++; continue; }\n const valueStart = index + 2;\n let valueEnd = valueStart;\n let nested = 0;\n while (valueEnd < tokens.length) {\n const text = tokens[valueEnd]!.text;\n if (nested === 0 && (text === \",\" || text === \"}\")) break;\n if (text === \"(\" || text === \"[\" || text === \"{\") nested++;\n else if (text === \")\" || text === \"]\" || text === \"}\") nested--;\n valueEnd++;\n }\n if ([\"path\", \"file\", \"file_path\"].includes(name) && valueEnd === valueStart + 1 && tokens[valueStart]?.kind === \"string\") {\n path = tokens[valueStart]!.text;\n } else if ([\"content\", \"text\", \"contents\"].includes(name)) {\n stringKey = namedStringKey(tokens, valueStart, valueEnd);\n }\n index = valueEnd;\n }\n return path !== undefined && stringKey !== undefined\n ? { binding: { path, stringKey }, next: index }\n : { next: index };\n};\n\nexport const fabricWriteBindings = (code: string): FabricWriteBinding[] => {\n const tokens = tokenize(code);\n const bindings: FabricWriteBinding[] = [];\n for (let index = 0; index < tokens.length - 5; index++) {\n if (tokens[index]?.text !== \"omp\" || tokens[index + 1]?.text !== \".\" || tokens[index + 2]?.text !== \"write\" || tokens[index + 3]?.text !== \"(\" || tokens[index + 4]?.text !== \"{\") continue;\n const parsed = objectBinding(tokens, index + 4);\n if (parsed.binding) bindings.push(parsed.binding);\n index = parsed.next - 1;\n }\n return bindings;\n};\n\nconst TITLE_MAX_CHARS = 80;\nconst TITLE_MAX_ANCHOR_CHARS = 40;\nconst TITLE_MAX_COMMAND_CHARS = 30;\nconst TITLE_MAX_TASK_CHARS = 40;\nconst TITLE_MAX_PATTERN_CHARS = 24;\nconst TITLE_MAX_KEY_CHARS = 24;\nconst TITLE_MAX_WINDOW_TOKENS = 96;\nconst TITLE_SAFE_ANCHOR = /^[A-Za-z0-9_./~@*+,-]+$/;\nconst TITLE_FILE_LIKE = /\\.[A-Za-z0-9]{1,8}$/;\n\nconst OMP_VERB_LABELS: Record<string, string> = {\n read: \"Read\",\n bash: \"Shell\",\n edit: \"Edit\",\n write: \"Write\",\n grep: \"Search\",\n find: \"Search\",\n ls: \"Search\",\n};\n\nconst ROOT_VERB_LABELS: Record<string, string> = {\n agents: \"Agent\",\n memory: \"Memory\",\n state: \"State\",\n schema: \"Schema\",\n compact: \"Compact\",\n mesh: \"Mesh\",\n tools: \"Tools\",\n};\n\nconst TITLE_PATH_KEYS = new Set([\"path\", \"file\", \"file_path\"]);\n\nconst humanizeIdentifier = (value: string): string =>\n value\n .replace(/[_-]+/g, \" \")\n .replace(/([a-z0-9])([A-Z])/g, \"$1 $2\")\n .replace(/^./, (char) => char.toUpperCase());\n\nconst titleAnchorPathLike = (value: string): boolean =>\n value.length > 0 &&\n value.length <= 64 &&\n TITLE_SAFE_ANCHOR.test(value) &&\n (value.includes(\"/\") || TITLE_FILE_LIKE.test(value) || value.includes(\"*\"));\n\nconst titleBasename = (value: string): string =>\n value.split(\"/\").filter(Boolean).pop() ?? value;\n\nconst titleClip = (value: string, maxChars: number): string =>\n value.length > maxChars ? `${value.slice(0, maxChars - 1)}\u2026` : value;\n\nconst clipWords = (value: string, maxChars: number): string => {\n if (value.length <= maxChars) return value;\n const cut = value.slice(0, maxChars - 1);\n const space = cut.lastIndexOf(\" \");\n return `${space > 0 ? cut.slice(0, space) : cut}\u2026`;\n};\n\n// Token range of one call's argument list: from just after the opening paren\n// to the depth-matched close, capped so a malformed call cannot smear across\n// the rest of the program.\nconst callWindow = (tokens: Token[], openIndex: number): { start: number; end: number } => {\n let depth = 0;\n let end = openIndex;\n while (end < tokens.length && end - openIndex < TITLE_MAX_WINDOW_TOKENS) {\n const text = tokens[end]!.text;\n if (text === \"(\" || text === \"[\" || text === \"{\") depth++;\n else if (text === \")\" || text === \"]\" || text === \"}\") {\n depth--;\n if (depth <= 0) break;\n }\n end++;\n }\n return { start: openIndex + 1, end };\n};\n\nconst isNamedStringToken = (tokens: Token[], index: number): boolean =>\n tokens[index]?.kind === \"string\" && tokens[index - 1]?.text === \"[\" && tokens[index - 2]?.text === \"payloads\";\n\nconst windowKeyedString = (\n tokens: Token[],\n start: number,\n end: number,\n keys: Set<string> | string,\n): string | undefined => {\n for (let index = start; index < end; index++) {\n if (tokens[index]?.kind !== \"string\" || isNamedStringToken(tokens, index)) continue;\n if (tokens[index - 1]?.text !== \":\") continue;\n const key = propertyName(tokens[index - 2]);\n if (key === undefined || !(typeof keys === \"string\" ? key === keys : keys.has(key))) continue;\n return tokens[index]!.text;\n }\n return undefined;\n};\n\nconst windowFirstString = (tokens: Token[], start: number, end: number): string | undefined => {\n for (let index = start; index < end; index++) {\n if (tokens[index]?.kind === \"string\" && !isNamedStringToken(tokens, index)) return tokens[index]!.text;\n }\n return undefined;\n};\n\nconst windowPathLike = (tokens: Token[], start: number, end: number): string | undefined => {\n for (let index = start; index < end; index++) {\n if (tokens[index]?.kind === \"string\" && !isNamedStringToken(tokens, index) && titleAnchorPathLike(tokens[index]!.text)) {\n return tokens[index]!.text;\n }\n }\n return undefined;\n};\n\nconst dirQualifier = (value: string): string | undefined =>\n TITLE_FILE_LIKE.test(titleBasename(value))\n ? titleClip(titleBasename(value), TITLE_MAX_ANCHOR_CHARS)\n : TITLE_SAFE_ANCHOR.test(value) && value !== \".\" && value.length <= TITLE_MAX_ANCHOR_CHARS\n ? value\n : undefined;\n\nconst searchTarget = (tokens: Token[], start: number, end: number): string | undefined => {\n const pattern = windowKeyedString(tokens, start, end, \"pattern\");\n let head: string | undefined;\n if (pattern !== undefined) {\n if (titleAnchorPathLike(pattern)) head = titleClip(titleBasename(pattern), TITLE_MAX_ANCHOR_CHARS);\n else if (TITLE_SAFE_ANCHOR.test(pattern) && pattern.length <= TITLE_MAX_PATTERN_CHARS) head = `\"${pattern}\"`;\n }\n const pathValue = windowKeyedString(tokens, start, end, TITLE_PATH_KEYS);\n let tail: string | undefined = pathValue !== undefined ? dirQualifier(pathValue) : undefined;\n if (tail === undefined && pathValue === undefined) {\n // ls-style positional: the first bare string argument.\n const positional = windowFirstString(tokens, start, end);\n if (positional !== undefined && TITLE_SAFE_ANCHOR.test(positional) && positional.length <= TITLE_MAX_ANCHOR_CHARS) {\n tail = titleAnchorPathLike(positional) ? titleClip(titleBasename(positional), TITLE_MAX_ANCHOR_CHARS) : positional;\n }\n }\n if (head !== undefined && tail !== undefined) return `${head} in ${tail}`;\n return head ?? tail;\n};\n\nconst pathTarget = (tokens: Token[], start: number, end: number): string | undefined => {\n const keyed = windowKeyedString(tokens, start, end, TITLE_PATH_KEYS);\n if (keyed !== undefined && TITLE_FILE_LIKE.test(titleBasename(keyed))) {\n return titleClip(titleBasename(keyed), TITLE_MAX_ANCHOR_CHARS);\n }\n const loose = windowPathLike(tokens, start, end);\n if (loose !== undefined) return titleClip(titleBasename(loose), TITLE_MAX_ANCHOR_CHARS);\n return keyed !== undefined ? dirQualifier(keyed) : undefined;\n};\n\nconst ompCallTarget = (\n label: string,\n tokens: Token[],\n start: number,\n end: number,\n): string | undefined => {\n if (label === \"Shell\") {\n const command = windowFirstString(tokens, start, end);\n return command !== undefined ? titleClip(command.split(\"\\n\")[0]!, TITLE_MAX_COMMAND_CHARS) : undefined;\n }\n if (label === \"Search\") return searchTarget(tokens, start, end);\n return pathTarget(tokens, start, end);\n};\n\n// Deterministic lexical title for a fabric_exec program, derived without\n// executing it. Every recognized call contributes \"Verb target\" \u2014 target is\n// a basename, glob, quoted literal search head, command head, mcp ref, or\n// task/key clip \u2014 and segments join in first-occurrence order under a char\n// budget. payloads keys are skipped so named payloads never surface in\n// titles. Returns undefined when the program holds no recognizable Fabric\n// call, letting callers keep a neutral fallback.\nexport const fabricExecTitleHint = (code: string): string | undefined => {\n const tokens = tokenize(code);\n const groups = new Map<string, (string | undefined)[]>();\n const record = (verb: string, target: string | undefined): void => {\n const list = groups.get(verb);\n if (list) list.push(target);\n else groups.set(verb, [target]);\n };\n for (let index = 0; index < tokens.length; index++) {\n const token = tokens[index]!;\n if (token.kind !== \"identifier\") continue;\n if ((token.text === \"agents\" || token.text === \"compact\") && tokens[index + 1]?.text === \"(\") {\n const window = callWindow(tokens, index + 1);\n const target = token.text === \"agents\"\n ? (() => {\n const task = windowKeyedString(tokens, window.start, window.end, \"task\");\n return task !== undefined ? clipWords(task.split(\"\\n\")[0]!, TITLE_MAX_TASK_CHARS) : undefined;\n })()\n : undefined;\n record(ROOT_VERB_LABELS[token.text]!, target);\n continue;\n }\n const dot = tokens[index + 1];\n const leaf = tokens[index + 2];\n if (dot?.text !== \".\" || leaf?.kind !== \"identifier\") continue;\n if (token.text === \"omp\" && tokens[index + 3]?.text === \"(\") {\n const label = OMP_VERB_LABELS[leaf.text] ?? humanizeIdentifier(leaf.text);\n const window = callWindow(tokens, index + 3);\n record(label, ompCallTarget(label, tokens, window.start, window.end));\n continue;\n }\n if (\n token.text === \"mcp\" &&\n tokens[index + 3]?.text === \".\" &&\n tokens[index + 4]?.kind === \"identifier\" &&\n tokens[index + 5]?.text === \"(\"\n ) {\n record(\"Mcp\", `${leaf.text}.${tokens[index + 4]!.text}`);\n continue;\n }\n if (tokens[index + 3]?.text === \"(\") {\n const label = ROOT_VERB_LABELS[token.text];\n if (!label) continue;\n if (token.text === \"memory\" || token.text === \"state\") {\n const window = callWindow(tokens, index + 3);\n const key = windowKeyedString(tokens, window.start, window.end, \"key\");\n record(label, key !== undefined ? clipWords(key.split(\"\\n\")[0]!, TITLE_MAX_KEY_CHARS) : undefined);\n } else {\n record(label, undefined);\n }\n }\n }\n if (groups.size === 0) return undefined;\n const segments: string[] = [];\n for (const [verb, targets] of groups) {\n const first = targets.find((target) => target !== undefined);\n let segment = verb;\n if (first !== undefined) {\n segment = `${verb} ${first}`;\n if (targets.length > 1) {\n segment += targets.every((target) => target === first) ? ` \u00D7${targets.length}` : ` +${targets.length - 1}`;\n }\n } else if (targets.length > 1) {\n segment += ` \u00D7${targets.length}`;\n }\n segments.push(segment);\n }\n let title: string | undefined;\n let overflow = false;\n for (const segment of segments) {\n if (title === undefined) {\n title = segment.length <= TITLE_MAX_CHARS ? segment : clipWords(segment, TITLE_MAX_CHARS);\n continue;\n }\n const candidate = `${title} + ${segment}`;\n if (candidate.length <= TITLE_MAX_CHARS) {\n title = candidate;\n continue;\n }\n overflow = true;\n break;\n }\n if (overflow && title !== undefined && title.length + 3 <= TITLE_MAX_CHARS) title = `${title} +\u2026`;\n return title;\n};"],
5
+ "mappings": "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",
6
+ "names": ["digits"]
7
+ }
@@ -0,0 +1,253 @@
1
+ import {
2
+ stableJsonHash
3
+ } from "./chunk-7363CD5A.js";
4
+
5
+ // src/entropy/compiled-surface.ts
6
+ import { isJsonSchemaValueValid } from "@oh-my-pi/pi-ai/utils/schema";
7
+ var COMPILED_SURFACE_VERSION = 1;
8
+ var MAX_COMPILED_SURFACE_PROPOSALS = 256;
9
+ var compiledSurfaceEffectChanged = (before, after) => stableJsonHash({
10
+ actions: before?.actions ?? [],
11
+ quarantined: before?.quarantined ?? []
12
+ }) !== stableJsonHash({
13
+ actions: after.actions,
14
+ quarantined: after.quarantined
15
+ });
16
+ var isPlainRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
17
+ var schemaDigest = (schema) => stableJsonHash(schema);
18
+ var effectiveSchemaFor = (ref, liveSchema, file) => {
19
+ const entry = file?.actions.find((candidate) => candidate.ref === ref);
20
+ if (!entry) return liveSchema;
21
+ return schemaDigest(liveSchema) === entry.baseSchemaDigest ? entry.inputSchema : liveSchema;
22
+ };
23
+ var applyCompiledSurface = (live, file) => {
24
+ if (!file || file.actions.length === 0 && file.quarantined.length === 0) return live;
25
+ const byRef = new Map(
26
+ live.actions.map((action) => [action.ref, action.inputSchema])
27
+ );
28
+ const overlayByRef = new Map(file.actions.map((entry) => [entry.ref, entry]));
29
+ const quarantineByRef = new Map(file.quarantined.map((entry) => [entry.ref, entry]));
30
+ const actions = [];
31
+ for (const action of live.actions) {
32
+ const overlay = overlayByRef.get(action.ref);
33
+ if (overlay && schemaDigest(byRef.get(action.ref)) === overlay.baseSchemaDigest) {
34
+ actions.push({ ref: action.ref, inputSchema: overlay.inputSchema });
35
+ continue;
36
+ }
37
+ const quarantine = quarantineByRef.get(action.ref);
38
+ if (quarantine && schemaDigest(byRef.get(action.ref)) === quarantine.baseSchemaDigest) {
39
+ continue;
40
+ }
41
+ actions.push(action);
42
+ }
43
+ return { version: 1, actions };
44
+ };
45
+ var quarantinedRefNames = (file) => new Set(file?.quarantined.map((entry) => entry.ref));
46
+ var isQuarantinedRef = (ref, liveSchema, file) => {
47
+ const entry = file?.quarantined.find((candidate) => candidate.ref === ref);
48
+ if (!entry) return false;
49
+ return schemaDigest(liveSchema) === entry.baseSchemaDigest;
50
+ };
51
+ var byRefOrder = (left, right) => left.ref < right.ref ? -1 : left.ref > right.ref ? 1 : 0;
52
+ var mergeCompiledSurfaces = (local, incoming, live) => {
53
+ const liveByRef = new Map(live.actions.map((action) => [action.ref, action.inputSchema]));
54
+ const liveDigestOf = (ref) => {
55
+ const schema = liveByRef.get(ref);
56
+ return schema === void 0 ? void 0 : schemaDigest(schema);
57
+ };
58
+ const overlayRefs = new Set((local?.actions ?? []).map((entry) => entry.ref));
59
+ const quarantineRefs = new Set((local?.quarantined ?? []).map((entry) => entry.ref));
60
+ const actions = [...local?.actions ?? []];
61
+ const quarantined = [...local?.quarantined ?? []];
62
+ let droppedOverlays = 0;
63
+ let droppedQuarantines = 0;
64
+ for (const entry of incoming.actions) {
65
+ if (overlayRefs.has(entry.ref) || quarantineRefs.has(entry.ref)) continue;
66
+ if (liveDigestOf(entry.ref) !== entry.baseSchemaDigest) {
67
+ droppedOverlays++;
68
+ continue;
69
+ }
70
+ actions.push(entry);
71
+ overlayRefs.add(entry.ref);
72
+ }
73
+ for (const entry of incoming.quarantined) {
74
+ if (overlayRefs.has(entry.ref) || quarantineRefs.has(entry.ref)) continue;
75
+ if (liveDigestOf(entry.ref) !== entry.baseSchemaDigest) {
76
+ droppedQuarantines++;
77
+ continue;
78
+ }
79
+ quarantined.push(entry);
80
+ quarantineRefs.add(entry.ref);
81
+ }
82
+ actions.sort(byRefOrder);
83
+ quarantined.sort(byRefOrder);
84
+ const applied = [];
85
+ const seenApplied = /* @__PURE__ */ new Set();
86
+ for (const source of [local?.applied ?? [], incoming.applied]) {
87
+ for (const entry of source) {
88
+ const identity = `${entry.kind}:${entry.ref}:${entry.detail}`;
89
+ if (seenApplied.has(identity)) continue;
90
+ seenApplied.add(identity);
91
+ if (applied.length >= MAX_COMPILED_SURFACE_PROPOSALS) break;
92
+ applied.push(entry);
93
+ }
94
+ }
95
+ const file = {
96
+ version: COMPILED_SURFACE_VERSION,
97
+ metricVersion: local?.metricVersion ?? incoming.metricVersion,
98
+ actions,
99
+ quarantined,
100
+ applied,
101
+ gate: local?.gate ?? incoming.gate,
102
+ evidenceDigest: stableJsonHash({
103
+ actions,
104
+ quarantined,
105
+ applied,
106
+ sources: [...local ? [local.evidenceDigest] : [], incoming.evidenceDigest]
107
+ })
108
+ };
109
+ return { file, droppedOverlays, droppedQuarantines };
110
+ };
111
+ var replaySuccessfulCalls = (surface, before, traces, touchedRefs, auditCalls) => {
112
+ const schemaByRef = new Map(surface.actions.map((action) => [action.ref, action.inputSchema]));
113
+ const beforeByRef = new Map(before.actions.map((action) => [action.ref, action.inputSchema]));
114
+ const accepts = (schema, args) => {
115
+ try {
116
+ return isPlainRecord(schema) && isJsonSchemaValueValid(schema, args);
117
+ } catch {
118
+ return false;
119
+ }
120
+ };
121
+ const violations = [];
122
+ const auditedRefs = /* @__PURE__ */ new Set();
123
+ if (auditCalls) {
124
+ const auditArgsByRef = /* @__PURE__ */ new Map();
125
+ for (const call of auditCalls) {
126
+ if (!touchedRefs.has(call.ref)) continue;
127
+ const bucket = auditArgsByRef.get(call.ref) ?? [];
128
+ bucket.push(call.args);
129
+ auditArgsByRef.set(call.ref, bucket);
130
+ }
131
+ for (const [ref, argsList] of auditArgsByRef) {
132
+ auditedRefs.add(ref);
133
+ const schema = schemaByRef.get(ref);
134
+ if (schema === void 0) {
135
+ violations.push({ ref, reason: "absent from the candidate surface" });
136
+ continue;
137
+ }
138
+ const declared = beforeByRef.get(ref);
139
+ for (const args of argsList) {
140
+ if (declared !== void 0 && !accepts(declared, args)) continue;
141
+ if (!accepts(schema, args)) {
142
+ violations.push({
143
+ ref,
144
+ reason: "recorded arguments no longer validate against the compiled schema"
145
+ });
146
+ }
147
+ }
148
+ }
149
+ }
150
+ for (const sourceTrace of traces) {
151
+ for (const operation of sourceTrace.operations) {
152
+ if (operation.outcome !== "succeeded") continue;
153
+ if (operation.ref.startsWith("fabric.")) continue;
154
+ if (!touchedRefs.has(operation.ref)) continue;
155
+ if (auditedRefs.has(operation.ref)) continue;
156
+ const schema = schemaByRef.get(operation.ref);
157
+ if (schema === void 0) {
158
+ violations.push({ ref: operation.ref, reason: "absent from the candidate surface" });
159
+ continue;
160
+ }
161
+ if (!accepts(schema, operation.args)) {
162
+ violations.push({
163
+ ref: operation.ref,
164
+ reason: "recorded arguments no longer validate against the compiled schema"
165
+ });
166
+ }
167
+ }
168
+ }
169
+ return violations;
170
+ };
171
+ var COOPERATIVE_REPLAY_CHUNK = 64;
172
+ var replayYield = () => new Promise((resolve) => setImmediate(resolve));
173
+ var replaySuccessfulCallsAsync = async (surface, before, traces, touchedRefs, auditCalls) => {
174
+ const schemaByRef = new Map(surface.actions.map((action) => [action.ref, action.inputSchema]));
175
+ const beforeByRef = new Map(before.actions.map((action) => [action.ref, action.inputSchema]));
176
+ const accepts = (schema, args) => {
177
+ try {
178
+ return isPlainRecord(schema) && isJsonSchemaValueValid(schema, args);
179
+ } catch {
180
+ return false;
181
+ }
182
+ };
183
+ const violations = [];
184
+ const auditedRefs = /* @__PURE__ */ new Set();
185
+ let processed = 0;
186
+ await replayYield();
187
+ if (auditCalls) {
188
+ const auditArgsByRef = /* @__PURE__ */ new Map();
189
+ for (const call of auditCalls) {
190
+ if (touchedRefs.has(call.ref)) {
191
+ const bucket = auditArgsByRef.get(call.ref) ?? [];
192
+ bucket.push(call.args);
193
+ auditArgsByRef.set(call.ref, bucket);
194
+ }
195
+ processed += 1;
196
+ if (processed % COOPERATIVE_REPLAY_CHUNK === 0) await replayYield();
197
+ }
198
+ for (const [ref, argsList] of auditArgsByRef) {
199
+ auditedRefs.add(ref);
200
+ const schema = schemaByRef.get(ref);
201
+ if (schema === void 0) {
202
+ violations.push({ ref, reason: "absent from the candidate surface" });
203
+ continue;
204
+ }
205
+ const declared = beforeByRef.get(ref);
206
+ for (const args of argsList) {
207
+ if (declared === void 0 || accepts(declared, args)) {
208
+ if (!accepts(schema, args)) {
209
+ violations.push({
210
+ ref,
211
+ reason: "recorded arguments no longer validate against the compiled schema"
212
+ });
213
+ }
214
+ }
215
+ processed += 1;
216
+ if (processed % COOPERATIVE_REPLAY_CHUNK === 0) await replayYield();
217
+ }
218
+ }
219
+ }
220
+ for (const sourceTrace of traces) {
221
+ for (const operation of sourceTrace.operations) {
222
+ if (operation.outcome === "succeeded" && !operation.ref.startsWith("fabric.") && touchedRefs.has(operation.ref) && !auditedRefs.has(operation.ref)) {
223
+ const schema = schemaByRef.get(operation.ref);
224
+ if (schema === void 0) {
225
+ violations.push({ ref: operation.ref, reason: "absent from the candidate surface" });
226
+ } else if (!accepts(schema, operation.args)) {
227
+ violations.push({
228
+ ref: operation.ref,
229
+ reason: "recorded arguments no longer validate against the compiled schema"
230
+ });
231
+ }
232
+ }
233
+ processed += 1;
234
+ if (processed % COOPERATIVE_REPLAY_CHUNK === 0) await replayYield();
235
+ }
236
+ }
237
+ return violations;
238
+ };
239
+
240
+ export {
241
+ COMPILED_SURFACE_VERSION,
242
+ MAX_COMPILED_SURFACE_PROPOSALS,
243
+ compiledSurfaceEffectChanged,
244
+ schemaDigest,
245
+ effectiveSchemaFor,
246
+ applyCompiledSurface,
247
+ quarantinedRefNames,
248
+ isQuarantinedRef,
249
+ mergeCompiledSurfaces,
250
+ replaySuccessfulCalls,
251
+ replaySuccessfulCallsAsync
252
+ };
253
+ //# sourceMappingURL=chunk-4A4MVZQW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/entropy/compiled-surface.ts"],
4
+ "sourcesContent": ["// The compiled entropy surface: the durable artifact the autonomous\n// compiler maintains beside the repair table. Every overlay entry records\n// the digest of the live schema it was compiled against, and every consult\n// re-proves that digest against the live declared schema \u2014 an entry whose\n// base changed underneath it drops out instead of mis-enforcing. The\n// artifact is clock-free and deterministic: the same evidence compiles to\n// the same bytes.\n\nimport { isJsonSchemaValueValid } from \"@oh-my-pi/pi-ai/utils/schema\";\nimport { stableJsonHash } from \"../core/stable-hash.js\";\nimport type {\n EntropyAuditCall,\n EntropyProposal,\n EntropySurfaceSnapshot,\n EntropyTraceInput,\n} from \"./types.js\";\n\nexport const COMPILED_SURFACE_VERSION = 1 as const;\nexport const MAX_COMPILED_SURFACE_PROPOSALS = 256;\n\nexport interface CompiledSurfaceOverlayEntry {\n ref: string;\n inputSchema: Record<string, unknown>;\n baseSchemaDigest: string;\n}\n\nexport interface CompiledSurfaceQuarantineEntry {\n ref: string;\n baseSchemaDigest: string;\n}\n\nexport interface CompiledSurfaceAppliedProposal {\n kind: EntropyProposal[\"kind\"];\n ref: string;\n detail: string;\n}\n\nexport interface CompiledSurfaceGateRecord {\n passed: boolean;\n beforeScore: number;\n afterScore: number;\n reasons: string[];\n}\n\nexport interface CompiledSurfaceFile {\n version: typeof COMPILED_SURFACE_VERSION;\n metricVersion: number;\n actions: CompiledSurfaceOverlayEntry[];\n quarantined: CompiledSurfaceQuarantineEntry[];\n applied: CompiledSurfaceAppliedProposal[];\n gate: CompiledSurfaceGateRecord;\n evidenceDigest: string;\n}\n\n// Gate user-facing compile notices on enforcement changes, not provenance-only\n// updates to the evidence digest, gate score, or applied ledger.\nexport const compiledSurfaceEffectChanged = (\n before: CompiledSurfaceFile | undefined,\n after: CompiledSurfaceFile,\n): boolean => stableJsonHash({\n actions: before?.actions ?? [],\n quarantined: before?.quarantined ?? [],\n}) !== stableJsonHash({\n actions: after.actions,\n quarantined: after.quarantined,\n});\n\nconst isPlainRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nexport const schemaDigest = (schema: unknown): string => stableJsonHash(schema);\n\n// Overlay consult for one ref: the compiled schema replaces the declared\n// schema only while the base digest still proves the declared surface did\n// not change underneath the compile.\nexport const effectiveSchemaFor = (\n ref: string,\n liveSchema: unknown,\n file?: CompiledSurfaceFile,\n): unknown => {\n const entry = file?.actions.find((candidate) => candidate.ref === ref);\n if (!entry) return liveSchema;\n return schemaDigest(liveSchema) === entry.baseSchemaDigest ? entry.inputSchema : liveSchema;\n};\n\n// Whole-surface overlay for measurement and export: tightened schemas where\n// the base still matches, quarantined refs hidden where the base still\n// matches. Stale entries fall back to the live surface, never mis-enforce.\nexport const applyCompiledSurface = (\n live: EntropySurfaceSnapshot,\n file?: CompiledSurfaceFile,\n): EntropySurfaceSnapshot => {\n if (!file || (file.actions.length === 0 && file.quarantined.length === 0)) return live;\n const byRef = new Map<string, unknown>(\n live.actions.map((action) => [action.ref, action.inputSchema]),\n );\n const overlayByRef = new Map(file.actions.map((entry) => [entry.ref, entry]));\n const quarantineByRef = new Map(file.quarantined.map((entry) => [entry.ref, entry]));\n const actions: EntropySurfaceSnapshot[\"actions\"] = [];\n for (const action of live.actions) {\n const overlay = overlayByRef.get(action.ref);\n if (overlay && schemaDigest(byRef.get(action.ref)) === overlay.baseSchemaDigest) {\n actions.push({ ref: action.ref, inputSchema: overlay.inputSchema });\n continue;\n }\n const quarantine = quarantineByRef.get(action.ref);\n if (quarantine && schemaDigest(byRef.get(action.ref)) === quarantine.baseSchemaDigest) {\n continue;\n }\n actions.push(action);\n }\n return { version: 1, actions };\n};\n\n// Name-only quarantine view for catalog filtering: hiding there is\n// advisory, so no digest proof is required. Resolution denial is the\n// digested isQuarantinedRef below.\nexport const quarantinedRefNames = (file?: CompiledSurfaceFile): ReadonlySet<string> =>\n new Set(file?.quarantined.map((entry) => entry.ref));\n\n// Resolution denial with digest proof: a quarantined ref stays callable\n// only when the live schema changed underneath the compile.\nexport const isQuarantinedRef = (\n ref: string,\n liveSchema: unknown,\n file?: CompiledSurfaceFile,\n): boolean => {\n const entry = file?.quarantined.find((candidate) => candidate.ref === ref);\n if (!entry) return false;\n return schemaDigest(liveSchema) === entry.baseSchemaDigest;\n};\n\nexport interface MergedCompiledSurface {\n file: CompiledSurfaceFile;\n droppedOverlays: number;\n droppedQuarantines: number;\n}\n\nconst byRefOrder = (left: { ref: string }, right: { ref: string }): number =>\n left.ref < right.ref ? -1 : left.ref > right.ref ? 1 : 0;\n\n// Federation merge: incoming entries earn a slot only where their recorded\n// base digest proves against the live declared surface and the local\n// artifact has nothing to say about that ref (conflicts skip, local wins).\n// Every consult re-proves merged entries against the live schema, so an\n// imported artifact can never enforce a schema the local surface does not\n// still declare. The applied ledger unions by identity, local first,\n// capped at the store's maximum.\nexport const mergeCompiledSurfaces = (\n local: CompiledSurfaceFile | undefined,\n incoming: CompiledSurfaceFile,\n live: EntropySurfaceSnapshot,\n): MergedCompiledSurface => {\n const liveByRef = new Map(live.actions.map((action) => [action.ref, action.inputSchema]));\n const liveDigestOf = (ref: string): string | undefined => {\n const schema = liveByRef.get(ref);\n return schema === undefined ? undefined : schemaDigest(schema);\n };\n const overlayRefs = new Set((local?.actions ?? []).map((entry) => entry.ref));\n const quarantineRefs = new Set((local?.quarantined ?? []).map((entry) => entry.ref));\n const actions = [...(local?.actions ?? [])];\n const quarantined = [...(local?.quarantined ?? [])];\n let droppedOverlays = 0;\n let droppedQuarantines = 0;\n for (const entry of incoming.actions) {\n if (overlayRefs.has(entry.ref) || quarantineRefs.has(entry.ref)) continue;\n if (liveDigestOf(entry.ref) !== entry.baseSchemaDigest) {\n droppedOverlays++;\n continue;\n }\n actions.push(entry);\n overlayRefs.add(entry.ref);\n }\n for (const entry of incoming.quarantined) {\n if (overlayRefs.has(entry.ref) || quarantineRefs.has(entry.ref)) continue;\n if (liveDigestOf(entry.ref) !== entry.baseSchemaDigest) {\n droppedQuarantines++;\n continue;\n }\n quarantined.push(entry);\n quarantineRefs.add(entry.ref);\n }\n actions.sort(byRefOrder);\n quarantined.sort(byRefOrder);\n const applied: CompiledSurfaceAppliedProposal[] = [];\n const seenApplied = new Set<string>();\n for (const source of [local?.applied ?? [], incoming.applied]) {\n for (const entry of source) {\n const identity = `${entry.kind}:${entry.ref}:${entry.detail}`;\n if (seenApplied.has(identity)) continue;\n seenApplied.add(identity);\n if (applied.length >= MAX_COMPILED_SURFACE_PROPOSALS) break;\n applied.push(entry);\n }\n }\n const file: CompiledSurfaceFile = {\n version: COMPILED_SURFACE_VERSION,\n metricVersion: local?.metricVersion ?? incoming.metricVersion,\n actions,\n quarantined,\n applied,\n gate: local?.gate ?? incoming.gate,\n evidenceDigest: stableJsonHash({\n actions,\n quarantined,\n applied,\n sources: [...(local ? [local.evidenceDigest] : []), incoming.evidenceDigest],\n }),\n };\n return { file, droppedOverlays, droppedQuarantines };\n};\n\nexport interface ReplayViolation {\n ref: string;\n reason: string;\n}\n\n// Replay preservation: every successful call to a ref the compile touched\n// must still parse against the candidate surface \u2014 resolution plus the same\n// TypeBox check the registry's validate stage uses. Untouched refs keep\n// their schema by identity, so replay stays scoped to the touched set.\n// When a touched ref has verbatim audit calls, they are the replay corpus:\n// trace V1 projects values away per ref, so validating the projected trace\n// args would phantom-reject calls that actually parsed. Audits the declared\n// surface already rejected are not protected \u2014 those calls never executed,\n// so no compile can invalidate them.\nexport const replaySuccessfulCalls = (\n surface: EntropySurfaceSnapshot,\n before: EntropySurfaceSnapshot,\n traces: readonly EntropyTraceInput[],\n touchedRefs: ReadonlySet<string>,\n auditCalls?: readonly EntropyAuditCall[],\n): ReplayViolation[] => {\n const schemaByRef = new Map(surface.actions.map((action) => [action.ref, action.inputSchema]));\n const beforeByRef = new Map(before.actions.map((action) => [action.ref, action.inputSchema]));\n const accepts = (schema: unknown, args: Record<string, unknown>): boolean => {\n try {\n return isPlainRecord(schema) && isJsonSchemaValueValid(schema, args);\n } catch {\n return false;\n }\n };\n const violations: ReplayViolation[] = [];\n const auditedRefs = new Set<string>();\n if (auditCalls) {\n const auditArgsByRef = new Map<string, Record<string, unknown>[]>();\n for (const call of auditCalls) {\n if (!touchedRefs.has(call.ref)) continue;\n const bucket = auditArgsByRef.get(call.ref) ?? [];\n bucket.push(call.args);\n auditArgsByRef.set(call.ref, bucket);\n }\n for (const [ref, argsList] of auditArgsByRef) {\n auditedRefs.add(ref);\n const schema = schemaByRef.get(ref);\n if (schema === undefined) {\n violations.push({ ref, reason: \"absent from the candidate surface\" });\n continue;\n }\n const declared = beforeByRef.get(ref);\n for (const args of argsList) {\n if (declared !== undefined && !accepts(declared, args)) continue;\n if (!accepts(schema, args)) {\n violations.push({\n ref,\n reason: \"recorded arguments no longer validate against the compiled schema\",\n });\n }\n }\n }\n }\n for (const sourceTrace of traces) {\n for (const operation of sourceTrace.operations) {\n if (operation.outcome !== \"succeeded\") continue;\n if (operation.ref.startsWith(\"fabric.\")) continue;\n if (!touchedRefs.has(operation.ref)) continue;\n if (auditedRefs.has(operation.ref)) continue;\n const schema = schemaByRef.get(operation.ref);\n if (schema === undefined) {\n violations.push({ ref: operation.ref, reason: \"absent from the candidate surface\" });\n continue;\n }\n if (!accepts(schema, operation.args)) {\n violations.push({\n ref: operation.ref,\n reason: \"recorded arguments no longer validate against the compiled schema\",\n });\n }\n }\n }\n return violations;\n};\n\nconst COOPERATIVE_REPLAY_CHUNK = 64;\n\nconst replayYield = (): Promise<void> =>\n new Promise((resolve) => setImmediate(resolve));\n\n// Hook-safe replay gate. The ordering and validation rules match the pure\n// certification path exactly, with fixed operation chunks between TUI turns.\nexport const replaySuccessfulCallsAsync = async (\n surface: EntropySurfaceSnapshot,\n before: EntropySurfaceSnapshot,\n traces: readonly EntropyTraceInput[],\n touchedRefs: ReadonlySet<string>,\n auditCalls?: readonly EntropyAuditCall[],\n): Promise<ReplayViolation[]> => {\n const schemaByRef = new Map(surface.actions.map((action) => [action.ref, action.inputSchema]));\n const beforeByRef = new Map(before.actions.map((action) => [action.ref, action.inputSchema]));\n const accepts = (schema: unknown, args: Record<string, unknown>): boolean => {\n try {\n return isPlainRecord(schema) && isJsonSchemaValueValid(schema, args);\n } catch {\n return false;\n }\n };\n const violations: ReplayViolation[] = [];\n const auditedRefs = new Set<string>();\n let processed = 0;\n await replayYield();\n if (auditCalls) {\n const auditArgsByRef = new Map<string, Record<string, unknown>[]>();\n for (const call of auditCalls) {\n if (touchedRefs.has(call.ref)) {\n const bucket = auditArgsByRef.get(call.ref) ?? [];\n bucket.push(call.args);\n auditArgsByRef.set(call.ref, bucket);\n }\n processed += 1;\n if (processed % COOPERATIVE_REPLAY_CHUNK === 0) await replayYield();\n }\n for (const [ref, argsList] of auditArgsByRef) {\n auditedRefs.add(ref);\n const schema = schemaByRef.get(ref);\n if (schema === undefined) {\n violations.push({ ref, reason: \"absent from the candidate surface\" });\n continue;\n }\n const declared = beforeByRef.get(ref);\n for (const args of argsList) {\n if (declared === undefined || accepts(declared, args)) {\n if (!accepts(schema, args)) {\n violations.push({\n ref,\n reason: \"recorded arguments no longer validate against the compiled schema\",\n });\n }\n }\n processed += 1;\n if (processed % COOPERATIVE_REPLAY_CHUNK === 0) await replayYield();\n }\n }\n }\n for (const sourceTrace of traces) {\n for (const operation of sourceTrace.operations) {\n if (\n operation.outcome === \"succeeded\" &&\n !operation.ref.startsWith(\"fabric.\") &&\n touchedRefs.has(operation.ref) &&\n !auditedRefs.has(operation.ref)\n ) {\n const schema = schemaByRef.get(operation.ref);\n if (schema === undefined) {\n violations.push({ ref: operation.ref, reason: \"absent from the candidate surface\" });\n } else if (!accepts(schema, operation.args)) {\n violations.push({\n ref: operation.ref,\n reason: \"recorded arguments no longer validate against the compiled schema\",\n });\n }\n }\n processed += 1;\n if (processed % COOPERATIVE_REPLAY_CHUNK === 0) await replayYield();\n }\n }\n return violations;\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,221 @@
1
+ import {
2
+ readFabricExecutionTraceV1
3
+ } from "./chunk-T5ZA5YRU.js";
4
+
5
+ // src/compaction/branch-details.ts
6
+ var FABRIC_BRANCH_SUMMARY_KIND = "omp-fabric.branch-summary";
7
+ var FABRIC_BRANCH_SUMMARY_VERSION_V1 = 1;
8
+ var FABRIC_BRANCH_SUMMARY_VERSION = 2;
9
+ var FABRIC_BRANCH_SUMMARY_MAX_BYTES = 128 * 1024;
10
+ var FABRIC_BRANCH_SUMMARY_MAX_FACTS = 256;
11
+ var FABRIC_BRANCH_RUN_NAME_MAX_BYTES = 256;
12
+ var FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES = 1024;
13
+ var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
14
+ var hasOnlyKeys = (value, keys) => Object.keys(value).every((key) => keys.includes(key));
15
+ var MAX_DETAILS_JSON_NODES = 4096;
16
+ var MAX_DETAILS_JSON_COLLECTION = 256;
17
+ var isJsonValue = (value, state, depth = 0) => {
18
+ state.nodes += 1;
19
+ if (state.nodes > MAX_DETAILS_JSON_NODES) return false;
20
+ if (value === null || typeof value === "string" || typeof value === "boolean") return true;
21
+ if (typeof value === "number") return Number.isFinite(value);
22
+ if (typeof value !== "object" || depth > 16 || state.ancestors.has(value)) return false;
23
+ state.ancestors.add(value);
24
+ let valid = false;
25
+ try {
26
+ if (Array.isArray(value)) {
27
+ valid = value.length <= MAX_DETAILS_JSON_COLLECTION && value.every((item) => isJsonValue(item, state, depth + 1));
28
+ } else {
29
+ const keys = Object.keys(value);
30
+ valid = keys.length <= MAX_DETAILS_JSON_COLLECTION && keys.every((key) => isJsonValue(value[key], state, depth + 1));
31
+ }
32
+ } finally {
33
+ state.ancestors.delete(value);
34
+ }
35
+ return valid;
36
+ };
37
+ var outcomes = /* @__PURE__ */ new Set(["succeeded", "failed", "aborted", "timed_out"]);
38
+ var validBase = (fact) => typeof fact.entryId === "string" && typeof fact.subordinal === "string" && typeof fact.address === "string" && fact.address === `${fact.entryId}/${fact.subordinal}`;
39
+ var isFactV1 = (value, jsonState) => {
40
+ if (!isRecord(value) || !validBase(value)) return false;
41
+ if (value.kind === "user") {
42
+ return hasOnlyKeys(value, ["kind", "entryId", "subordinal", "address", "text"]) && typeof value.text === "string";
43
+ }
44
+ if (value.kind === "customMessage") {
45
+ return hasOnlyKeys(value, [
46
+ "kind",
47
+ "entryId",
48
+ "subordinal",
49
+ "address",
50
+ "customType",
51
+ "text",
52
+ "display",
53
+ "details"
54
+ ]) && typeof value.customType === "string" && typeof value.text === "string" && typeof value.display === "boolean" && (value.details === void 0 || isJsonValue(value.details, jsonState));
55
+ }
56
+ if (value.kind === "phase") {
57
+ return hasOnlyKeys(value, ["kind", "entryId", "subordinal", "address", "phase"]) && typeof value.phase === "string";
58
+ }
59
+ if (value.kind !== "operation") return false;
60
+ if (!hasOnlyKeys(value, [
61
+ "kind",
62
+ "entryId",
63
+ "subordinal",
64
+ "address",
65
+ "ref",
66
+ "provider",
67
+ "action",
68
+ "tool",
69
+ "args",
70
+ "outcome",
71
+ "error",
72
+ "result"
73
+ ])) return false;
74
+ return typeof value.ref === "string" && (value.provider === void 0 || typeof value.provider === "string") && (value.action === void 0 || typeof value.action === "string") && typeof value.tool === "string" && isRecord(value.args) && isJsonValue(value.args, jsonState) && outcomes.has(value.outcome) && (value.error === void 0 || typeof value.error === "string") && (value.result === void 0 || isJsonValue(value.result, jsonState));
75
+ };
76
+ var isFactV2 = (value, jsonState) => {
77
+ if (isRecord(value) && value.kind === "fabricRun") {
78
+ return validBase(value) && typeof value.subordinal === "string" && value.subordinal.startsWith("call:") && value.subordinal.length > "call:".length && hasOnlyKeys(value, [
79
+ "kind",
80
+ "entryId",
81
+ "subordinal",
82
+ "address",
83
+ "name",
84
+ "description",
85
+ "outcome"
86
+ ]) && typeof value.name === "string" && value.name.trim().length > 0 && Buffer.byteLength(value.name, "utf8") <= FABRIC_BRANCH_RUN_NAME_MAX_BYTES && (value.description === void 0 || typeof value.description === "string" && Buffer.byteLength(value.description, "utf8") <= FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES) && outcomes.has(value.outcome);
87
+ }
88
+ return isFactV1(value, jsonState);
89
+ };
90
+ var serializedBytes = (value) => Buffer.byteLength(JSON.stringify(value), "utf8");
91
+ var validEnvelope = (value, version, factValidator) => {
92
+ if (!hasOnlyKeys(value, [
93
+ "kind",
94
+ "version",
95
+ "source",
96
+ "facts",
97
+ "omittedFacts",
98
+ "sections",
99
+ "request"
100
+ ])) return false;
101
+ if (value.kind !== FABRIC_BRANCH_SUMMARY_KIND || value.version !== version) return false;
102
+ if (!isRecord(value.source) || !hasOnlyKeys(value.source, ["firstEntryId", "lastEntryId", "entryCount", "oldLeafId"])) return false;
103
+ if (typeof value.source.firstEntryId !== "string" || typeof value.source.lastEntryId !== "string") return false;
104
+ if (!Number.isSafeInteger(value.source.entryCount) || value.source.entryCount < 0) return false;
105
+ if (value.source.oldLeafId !== void 0 && value.source.oldLeafId !== null && typeof value.source.oldLeafId !== "string") return false;
106
+ const jsonState = { nodes: 0, ancestors: /* @__PURE__ */ new Set() };
107
+ if (!Array.isArray(value.facts) || value.facts.length > FABRIC_BRANCH_SUMMARY_MAX_FACTS || !value.facts.every((fact) => factValidator(fact, jsonState))) return false;
108
+ if (!Number.isSafeInteger(value.omittedFacts) || value.omittedFacts < 0) return false;
109
+ if (!Array.isArray(value.sections) || value.sections.length > 64 || !value.sections.every((section) => typeof section === "string")) return false;
110
+ if (!isRecord(value.request) || !hasOnlyKeys(value.request, ["text", "sourceBytes", "truncated"])) return false;
111
+ if (typeof value.request.text !== "string" || typeof value.request.truncated !== "boolean") return false;
112
+ if (!Number.isSafeInteger(value.request.sourceBytes) || value.request.sourceBytes < 0) return false;
113
+ return serializedBytes(value) <= FABRIC_BRANCH_SUMMARY_MAX_BYTES;
114
+ };
115
+ var readFabricBranchSummaryDetailsV1 = (value) => {
116
+ try {
117
+ if (!isRecord(value) || !validEnvelope(value, FABRIC_BRANCH_SUMMARY_VERSION_V1, isFactV1)) {
118
+ return void 0;
119
+ }
120
+ return value;
121
+ } catch {
122
+ return void 0;
123
+ }
124
+ };
125
+ var readFabricBranchSummaryDetailsV2 = (value) => {
126
+ try {
127
+ if (!isRecord(value) || !validEnvelope(value, FABRIC_BRANCH_SUMMARY_VERSION, isFactV2)) {
128
+ return void 0;
129
+ }
130
+ return value;
131
+ } catch {
132
+ return void 0;
133
+ }
134
+ };
135
+ var readFabricBranchSummaryDetails = (value) => readFabricBranchSummaryDetailsV2(value) ?? readFabricBranchSummaryDetailsV1(value);
136
+
137
+ // src/compaction/trace-events.ts
138
+ var isRecord2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
139
+ var isJsonValue2 = (value, ancestors = /* @__PURE__ */ new Set(), depth = 0) => {
140
+ if (value === null || typeof value === "string" || typeof value === "boolean") return true;
141
+ if (typeof value === "number") return Number.isFinite(value);
142
+ if (typeof value !== "object" || depth > 16 || ancestors.has(value)) return false;
143
+ ancestors.add(value);
144
+ const valid = Array.isArray(value) ? value.every((item) => isJsonValue2(item, ancestors, depth + 1)) : Object.values(value).every((item) => isJsonValue2(item, ancestors, depth + 1));
145
+ ancestors.delete(value);
146
+ return valid;
147
+ };
148
+ var lexicalIdentity = (ref) => {
149
+ const separator = ref.indexOf(".");
150
+ if (separator <= 0 || separator === ref.length - 1) return {};
151
+ return { provider: ref.slice(0, separator), action: ref.slice(separator + 1) };
152
+ };
153
+ var toolOf = (ref, provider, action) => {
154
+ if (provider === "omp" && action) return action;
155
+ return action ?? ref;
156
+ };
157
+ var readLegacyAudits = (value) => {
158
+ if (!Array.isArray(value)) return void 0;
159
+ const operations = [];
160
+ for (let sequence = 0; sequence < value.length; sequence++) {
161
+ const audit = value[sequence];
162
+ if (!isRecord2(audit) || typeof audit.ref !== "string" || !isRecord2(audit.args) || !isJsonValue2(audit.args)) return void 0;
163
+ if (typeof audit.success !== "boolean") return void 0;
164
+ if (audit.error !== void 0 && typeof audit.error !== "string") return void 0;
165
+ const identity = lexicalIdentity(audit.ref);
166
+ operations.push({
167
+ sequence,
168
+ ref: audit.ref,
169
+ ...identity.provider ? { provider: identity.provider } : {},
170
+ ...identity.action ? { action: identity.action } : {},
171
+ tool: toolOf(audit.ref, identity.provider, identity.action),
172
+ args: audit.args,
173
+ outcome: audit.success ? "succeeded" : "failed",
174
+ ...audit.error !== void 0 ? { error: audit.error } : {},
175
+ source: "legacy"
176
+ });
177
+ }
178
+ return { source: "legacy", phases: [], operations };
179
+ };
180
+ var readFabricProjectionTrace = (details) => {
181
+ if (!isRecord2(details)) return void 0;
182
+ if (Object.prototype.hasOwnProperty.call(details, "trace")) {
183
+ const trace = readFabricExecutionTraceV1(details.trace);
184
+ if (!trace) return void 0;
185
+ return {
186
+ source: "trace",
187
+ outcome: trace.outcome,
188
+ phases: [...trace.phases],
189
+ operations: trace.operations.map((operation) => {
190
+ const lexical = lexicalIdentity(operation.ref);
191
+ const provider = operation.provider ?? lexical.provider;
192
+ const action = operation.action ?? lexical.action;
193
+ return {
194
+ sequence: operation.sequence,
195
+ ref: operation.ref,
196
+ ...provider ? { provider } : {},
197
+ ...action ? { action } : {},
198
+ tool: toolOf(operation.ref, provider, action),
199
+ args: operation.args,
200
+ outcome: operation.outcome,
201
+ ...operation.error !== void 0 ? { error: operation.error } : {},
202
+ ...operation.result !== void 0 ? { result: operation.result } : {},
203
+ source: "trace"
204
+ };
205
+ })
206
+ };
207
+ }
208
+ return readLegacyAudits(details.audits);
209
+ };
210
+
211
+ export {
212
+ FABRIC_BRANCH_SUMMARY_KIND,
213
+ FABRIC_BRANCH_SUMMARY_VERSION,
214
+ FABRIC_BRANCH_SUMMARY_MAX_BYTES,
215
+ FABRIC_BRANCH_SUMMARY_MAX_FACTS,
216
+ FABRIC_BRANCH_RUN_NAME_MAX_BYTES,
217
+ FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES,
218
+ readFabricBranchSummaryDetails,
219
+ readFabricProjectionTrace
220
+ };
221
+ //# sourceMappingURL=chunk-4HQDSTHN.js.map