@tangle-network/sandbox-ui 2.0.17 → 2.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/README.md +2 -0
  2. package/dist/agent-stream-CBZ2fXJ2.d.ts +66 -0
  3. package/dist/code-view-BlhCS1SD.js +177 -0
  4. package/dist/globals.css +186 -150
  5. package/dist/hooks.d.ts +2 -139
  6. package/dist/hooks.js +2 -1
  7. package/dist/{index-BtR5Sc3u.d.ts → index-BnaVprN6.d.ts} +3 -66
  8. package/dist/index-D5Hig-j9.d.ts +155 -0
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.js +6 -3
  11. package/dist/run/live.d.ts +10 -0
  12. package/dist/run/live.js +389 -0
  13. package/dist/run.d.ts +2 -1
  14. package/dist/run.js +2 -1
  15. package/dist/runtime-viewer/AgentGraphCanvas-B74GN1o6-DC3EH_ss.js +8564 -0
  16. package/dist/runtime-viewer/abap-CJVxDCih.js +2 -0
  17. package/dist/runtime-viewer/actionscript-3-DxxSN0a_.js +2 -0
  18. package/dist/runtime-viewer/ada-Cl3FVDZo.js +2 -0
  19. package/dist/runtime-viewer/ahk-wK-qmFta.js +2 -0
  20. package/dist/runtime-viewer/ahk2-H2JA2Yl6.js +2 -0
  21. package/dist/runtime-viewer/andromeeda--b5O3zh8.js +134 -0
  22. package/dist/runtime-viewer/andromeeda-Gms6gP4X.js +3 -0
  23. package/dist/runtime-viewer/angular-html-rj1gmhWN.js +15 -0
  24. package/dist/runtime-viewer/angular-ts-Bqgem-S1.js +17 -0
  25. package/dist/runtime-viewer/apache-BUhlrTDV.js +2 -0
  26. package/dist/runtime-viewer/apex-BB9dj6FH.js +2 -0
  27. package/dist/runtime-viewer/apl-Bbo6_Uyo.js +15 -0
  28. package/dist/runtime-viewer/appendItems-Cd9l6s5M.js +709 -0
  29. package/dist/runtime-viewer/applescript-ADDjRuDN.js +2 -0
  30. package/dist/runtime-viewer/ara-qq1xXFYH.js +2 -0
  31. package/dist/runtime-viewer/asciidoc-DM4EX7__.js +2 -0
  32. package/dist/runtime-viewer/asm-BG-prohY.js +2 -0
  33. package/dist/runtime-viewer/astro-DLFBJCYZ.js +17 -0
  34. package/dist/runtime-viewer/aurora-x-9XZt7weA.js +3 -0
  35. package/dist/runtime-viewer/aurora-x-CUDrP6dl.js +148 -0
  36. package/dist/runtime-viewer/awk-CLViK1AN.js +2 -0
  37. package/dist/runtime-viewer/ayu-dark-Cn6mFqgG.js +3 -0
  38. package/dist/runtime-viewer/ayu-dark-KXkHEKeT.js +124 -0
  39. package/dist/runtime-viewer/ayu-light-CiMsj1GY.js +124 -0
  40. package/dist/runtime-viewer/ayu-light-DT1rcejT.js +3 -0
  41. package/dist/runtime-viewer/ayu-mirage-B9PABb6M.js +3 -0
  42. package/dist/runtime-viewer/ayu-mirage-D866knu2.js +124 -0
  43. package/dist/runtime-viewer/ballerina-CEQUp96R.js +2 -0
  44. package/dist/runtime-viewer/bash-CEf3P1Io.js +1 -0
  45. package/dist/runtime-viewer/bat-CZr3fv67.js +2 -0
  46. package/dist/runtime-viewer/beancount-VKRy3bBi.js +2 -0
  47. package/dist/runtime-viewer/berry-BwT4aLVg.js +2 -0
  48. package/dist/runtime-viewer/bibtex-CqljWi0V.js +2 -0
  49. package/dist/runtime-viewer/bicep-B4J9qq-Z.js +2 -0
  50. package/dist/runtime-viewer/bird2-aEHxasJz.js +2 -0
  51. package/dist/runtime-viewer/blade-CSrWCe1q.js +19 -0
  52. package/dist/runtime-viewer/bsl-BihRw6wC.js +4 -0
  53. package/dist/runtime-viewer/c-DqEbRro5.js +1 -0
  54. package/dist/runtime-viewer/c-nuWrC4_R.js +4 -0
  55. package/dist/runtime-viewer/c3-B1ecFreZ.js +2 -0
  56. package/dist/runtime-viewer/cadence-DRL7VEtm.js +2 -0
  57. package/dist/runtime-viewer/cairo-Mf356MxB.js +4 -0
  58. package/dist/runtime-viewer/catppuccin-frappe-CaZDpwbh.js +3 -0
  59. package/dist/runtime-viewer/catppuccin-frappe-D40A-eC-.js +253 -0
  60. package/dist/runtime-viewer/catppuccin-latte-BY0gIWQk.js +253 -0
  61. package/dist/runtime-viewer/catppuccin-latte-Cto1Jf_t.js +3 -0
  62. package/dist/runtime-viewer/catppuccin-macchiato-BshuwwL_.js +253 -0
  63. package/dist/runtime-viewer/catppuccin-macchiato-Da4JtJzk.js +3 -0
  64. package/dist/runtime-viewer/catppuccin-mocha-DDZ3zh14.js +253 -0
  65. package/dist/runtime-viewer/catppuccin-mocha-VxvWTjH_.js +3 -0
  66. package/dist/runtime-viewer/chapel-OTK-UUIg.js +4 -0
  67. package/dist/runtime-viewer/clarity-VQN67-z4.js +2 -0
  68. package/dist/runtime-viewer/clojure-CO3ptKNj.js +2 -0
  69. package/dist/runtime-viewer/cmake-Daw-aSZt.js +2 -0
  70. package/dist/runtime-viewer/cobol-Cf_qPd6-.js +9 -0
  71. package/dist/runtime-viewer/codeowners-RB6Ky2d_.js +2 -0
  72. package/dist/runtime-viewer/codeql-DWYIUtYc.js +2 -0
  73. package/dist/runtime-viewer/coffee-Ddb4DMEu.js +4 -0
  74. package/dist/runtime-viewer/common-lisp-Z5pdmE3i.js +2 -0
  75. package/dist/runtime-viewer/constants-BJYchxfN.js +3 -0
  76. package/dist/runtime-viewer/coq-JC5iWOqp.js +2 -0
  77. package/dist/runtime-viewer/core-CpUX80b1.js +3279 -0
  78. package/dist/runtime-viewer/cpp-ClbMDAkS.js +1 -0
  79. package/dist/runtime-viewer/cpp-DHh405em.js +15 -0
  80. package/dist/runtime-viewer/crystal-DO6lJkkC.js +17 -0
  81. package/dist/runtime-viewer/csharp-lEK6y4jq.js +2 -0
  82. package/dist/runtime-viewer/csharp-rZvb5Mvv.js +1 -0
  83. package/dist/runtime-viewer/css-CwgM346x.js +1 -0
  84. package/dist/runtime-viewer/css-D0s2ehNl.js +4 -0
  85. package/dist/runtime-viewer/csv-DDLVNpF_.js +2 -0
  86. package/dist/runtime-viewer/cue-D9icO3Iq.js +2 -0
  87. package/dist/runtime-viewer/cypher-CtaxHT1L.js +2 -0
  88. package/dist/runtime-viewer/d-D4yE5Vyh.js +2 -0
  89. package/dist/runtime-viewer/dark-plus-BrGvqa0b.js +132 -0
  90. package/dist/runtime-viewer/dark-plus-Fqa0GMhm.js +3 -0
  91. package/dist/runtime-viewer/dart-BQKGVcgZ.js +2 -0
  92. package/dist/runtime-viewer/dax-B_fglzFE.js +2 -0
  93. package/dist/runtime-viewer/desktop-D1YOnHEY.js +2 -0
  94. package/dist/runtime-viewer/diff-CiTjO3HD.js +1 -0
  95. package/dist/runtime-viewer/diff-Diuv0qGT.js +2 -0
  96. package/dist/runtime-viewer/docker-DbYJRRXH.js +4 -0
  97. package/dist/runtime-viewer/dockerfile-BFrtbjpQ.js +1 -0
  98. package/dist/runtime-viewer/dotenv-FA1qqDb1.js +2 -0
  99. package/dist/runtime-viewer/dracula-Btj3GSO9.js +3 -0
  100. package/dist/runtime-viewer/dracula-D8HPTJym.js +152 -0
  101. package/dist/runtime-viewer/dracula-soft-C8zQlEh_.js +102 -0
  102. package/dist/runtime-viewer/dracula-soft-D6LcM51i.js +3 -0
  103. package/dist/runtime-viewer/dream-maker-hpDz6By6.js +2 -0
  104. package/dist/runtime-viewer/edge-BB4FSmZo.js +11 -0
  105. package/dist/runtime-viewer/elixir-DuATaRNn.js +4 -0
  106. package/dist/runtime-viewer/elk.bundled-CqF3Dyp2.js +45979 -0
  107. package/dist/runtime-viewer/elm-82HhQ2nm.js +4 -0
  108. package/dist/runtime-viewer/emacs-lisp-C5QNYC99.js +2 -0
  109. package/dist/runtime-viewer/engine-javascript-0MH9JO7M.js +2372 -0
  110. package/dist/runtime-viewer/engine-oniguruma-7Bv9BGGj.js +237 -0
  111. package/dist/runtime-viewer/erb-YvvBNDWy.js +9 -0
  112. package/dist/runtime-viewer/erlang-X9awClOJ.js +4 -0
  113. package/dist/runtime-viewer/everforest-dark-CzXjGmbf.js +3 -0
  114. package/dist/runtime-viewer/everforest-dark-DPX_5Sj-.js +86 -0
  115. package/dist/runtime-viewer/everforest-light-BMqXq4Th.js +3 -0
  116. package/dist/runtime-viewer/everforest-light-D1PD4A7K.js +86 -0
  117. package/dist/runtime-viewer/fennel-f1xl4Q05.js +2 -0
  118. package/dist/runtime-viewer/fish-99YblEc7.js +2 -0
  119. package/dist/runtime-viewer/fluent-4LP_8ZRP.js +2 -0
  120. package/dist/runtime-viewer/formatCSSVariablePrefix-Dw8K8---.js +5 -0
  121. package/dist/runtime-viewer/fortran-fixed-form-CXgWKejO.js +4 -0
  122. package/dist/runtime-viewer/fortran-free-form-BJnwWphW.js +2 -0
  123. package/dist/runtime-viewer/fsharp-lb4HOh0M.js +4 -0
  124. package/dist/runtime-viewer/gdresource-B4QpWOUk.js +9 -0
  125. package/dist/runtime-viewer/gdscript-Dc0nUXdB.js +2 -0
  126. package/dist/runtime-viewer/gdshader-D7XodLZw.js +2 -0
  127. package/dist/runtime-viewer/genie-ufotYGgo.js +2 -0
  128. package/dist/runtime-viewer/gherkin-TDn2lJS-.js +2 -0
  129. package/dist/runtime-viewer/git-commit-Cp1Pt-h7.js +4 -0
  130. package/dist/runtime-viewer/git-rebase-CXUuGQB4.js +4 -0
  131. package/dist/runtime-viewer/github-dark-BsaUiyss.js +129 -0
  132. package/dist/runtime-viewer/github-dark-CzJ4LJRs.js +3 -0
  133. package/dist/runtime-viewer/github-dark-default-C6vmm66I.js +3 -0
  134. package/dist/runtime-viewer/github-dark-default-DHpmzBTU.js +75 -0
  135. package/dist/runtime-viewer/github-dark-dimmed-Bg7ahiYc.js +124 -0
  136. package/dist/runtime-viewer/github-dark-dimmed-CntRzgqu.js +3 -0
  137. package/dist/runtime-viewer/github-dark-high-contrast-BP5LnlnO.js +124 -0
  138. package/dist/runtime-viewer/github-dark-high-contrast-gviVHGeU.js +3 -0
  139. package/dist/runtime-viewer/github-light-2Z3gmJhd.js +3 -0
  140. package/dist/runtime-viewer/github-light-BAncjKrl.js +129 -0
  141. package/dist/runtime-viewer/github-light-default-kDVra9RT.js +124 -0
  142. package/dist/runtime-viewer/github-light-default-qgi3RC4t.js +3 -0
  143. package/dist/runtime-viewer/github-light-high-contrast-B2kY0DMu.js +124 -0
  144. package/dist/runtime-viewer/github-light-high-contrast-T0lGRgzi.js +3 -0
  145. package/dist/runtime-viewer/gleam-LV2mKtnv.js +2 -0
  146. package/dist/runtime-viewer/glimmer-js-BX9ckA-I.js +13 -0
  147. package/dist/runtime-viewer/glimmer-ts-DAfjLnWM.js +13 -0
  148. package/dist/runtime-viewer/glsl-BStsalM0.js +5 -0
  149. package/dist/runtime-viewer/gn-ChOGRsKV.js +2 -0
  150. package/dist/runtime-viewer/gnuplot-Di7UZXvs.js +2 -0
  151. package/dist/runtime-viewer/go-BrUQhiM2.js +1 -0
  152. package/dist/runtime-viewer/go-DM5FkVJr.js +2 -0
  153. package/dist/runtime-viewer/graphql-C8jzeQ3m.js +1 -0
  154. package/dist/runtime-viewer/graphql-C_WRV-qo.js +14 -0
  155. package/dist/runtime-viewer/groovy-DNa91fQJ.js +2 -0
  156. package/dist/runtime-viewer/gruvbox-dark-hard-BK-BcNOC.js +127 -0
  157. package/dist/runtime-viewer/gruvbox-dark-hard-fgme3GSG.js +3 -0
  158. package/dist/runtime-viewer/gruvbox-dark-medium-Btvv2ALk.js +127 -0
  159. package/dist/runtime-viewer/gruvbox-dark-medium-GM28AOs3.js +3 -0
  160. package/dist/runtime-viewer/gruvbox-dark-soft-D12Dlf7E.js +3 -0
  161. package/dist/runtime-viewer/gruvbox-dark-soft-ScIRFHp0.js +127 -0
  162. package/dist/runtime-viewer/gruvbox-light-hard-D0LtL2QG.js +3 -0
  163. package/dist/runtime-viewer/gruvbox-light-hard-D3d04bym.js +127 -0
  164. package/dist/runtime-viewer/gruvbox-light-medium-BUM64AiQ.js +127 -0
  165. package/dist/runtime-viewer/gruvbox-light-medium-Dbiuwhcl.js +3 -0
  166. package/dist/runtime-viewer/gruvbox-light-soft-BFyUZF8I.js +3 -0
  167. package/dist/runtime-viewer/gruvbox-light-soft-Deemyp2j.js +127 -0
  168. package/dist/runtime-viewer/hack-DrxrxETA.js +9 -0
  169. package/dist/runtime-viewer/haml-DtaFw5Wt.js +10 -0
  170. package/dist/runtime-viewer/handlebars-DdC6ISBc.js +13 -0
  171. package/dist/runtime-viewer/haskell-D6RgJWqJ.js +2 -0
  172. package/dist/runtime-viewer/haxe-CIYKU3E4.js +2 -0
  173. package/dist/runtime-viewer/hcl-B9zco17t.js +2 -0
  174. package/dist/runtime-viewer/highlights-Dcx2AVJg.js +1342 -0
  175. package/dist/runtime-viewer/hjson-sMCeQDUn.js +2 -0
  176. package/dist/runtime-viewer/hlsl-WeeDt2Wp.js +2 -0
  177. package/dist/runtime-viewer/horizon-B8n8qcHx.js +84 -0
  178. package/dist/runtime-viewer/horizon-aRqT-seq.js +3 -0
  179. package/dist/runtime-viewer/horizon-bright-DACv8zK_.js +84 -0
  180. package/dist/runtime-viewer/horizon-bright-DEevCdc_.js +3 -0
  181. package/dist/runtime-viewer/houston-CsNpjGGD.js +194 -0
  182. package/dist/runtime-viewer/houston-Dg2jxmDJ.js +3 -0
  183. package/dist/runtime-viewer/html-CPjHaxbO.js +1 -0
  184. package/dist/runtime-viewer/html-Di2iyAsX.js +10 -0
  185. package/dist/runtime-viewer/html-derivative-Rauq0RVM.js +4 -0
  186. package/dist/runtime-viewer/http-CkmWBydm.js +13 -0
  187. package/dist/runtime-viewer/hurl-BGjXa70x.js +11 -0
  188. package/dist/runtime-viewer/hxml-Bo5YTIXF.js +4 -0
  189. package/dist/runtime-viewer/hy-C-tRiv34.js +2 -0
  190. package/dist/runtime-viewer/imba-v7ELlTL6.js +2 -0
  191. package/dist/runtime-viewer/ini-DtrnrQj2.js +2 -0
  192. package/dist/runtime-viewer/java-DVlvG-lL.js +1 -0
  193. package/dist/runtime-viewer/java-DzBtATHG.js +4 -0
  194. package/dist/runtime-viewer/javascript--K52AMOb.js +4 -0
  195. package/dist/runtime-viewer/javascript-soGjNmbd.js +1 -0
  196. package/dist/runtime-viewer/jinja-CZBKZHkS.js +4 -0
  197. package/dist/runtime-viewer/jison-Bqt-LhEh.js +4 -0
  198. package/dist/runtime-viewer/json-DN-CB1kQ.js +4 -0
  199. package/dist/runtime-viewer/json-D_yoNICS.js +1 -0
  200. package/dist/runtime-viewer/json5-BdfUTtLp.js +2 -0
  201. package/dist/runtime-viewer/jsonc-ElU8pfhL.js +1 -0
  202. package/dist/runtime-viewer/jsonc-IKox2JSV.js +2 -0
  203. package/dist/runtime-viewer/jsonl-CfuX4G6U.js +2 -0
  204. package/dist/runtime-viewer/jsonnet-Yq9KcR8E.js +2 -0
  205. package/dist/runtime-viewer/jssm-BvR7SnkK.js +2 -0
  206. package/dist/runtime-viewer/jsx-D_XQMdaK.js +4 -0
  207. package/dist/runtime-viewer/jsx-snoZUiUS.js +1 -0
  208. package/dist/runtime-viewer/julia-C8lwf2tT.js +15 -0
  209. package/dist/runtime-viewer/just-CQnb5pIW.js +17 -0
  210. package/dist/runtime-viewer/kanagawa-dragon-Cx4OB0dC.js +3 -0
  211. package/dist/runtime-viewer/kanagawa-dragon-OValCvAZ.js +146 -0
  212. package/dist/runtime-viewer/kanagawa-lotus-C1sYcneT.js +146 -0
  213. package/dist/runtime-viewer/kanagawa-lotus-TwFRI7_8.js +3 -0
  214. package/dist/runtime-viewer/kanagawa-wave-BJYCyv2X.js +146 -0
  215. package/dist/runtime-viewer/kanagawa-wave-BiOn36ux.js +3 -0
  216. package/dist/runtime-viewer/kdl-D97SquIS.js +2 -0
  217. package/dist/runtime-viewer/kotlin-EmJjLeRz.js +2 -0
  218. package/dist/runtime-viewer/kotlin-LwxBtHgj.js +1 -0
  219. package/dist/runtime-viewer/kusto-DHanPw0g.js +2 -0
  220. package/dist/runtime-viewer/langs-D4STZqO4.js +1322 -0
  221. package/dist/runtime-viewer/laserwave-CV_0dg5c.js +71 -0
  222. package/dist/runtime-viewer/laserwave-PpzazpgI.js +3 -0
  223. package/dist/runtime-viewer/latest-events-iiWwpIck-BTK0vSlR.js +3657 -0
  224. package/dist/runtime-viewer/latex-Csew0MLK.js +4 -0
  225. package/dist/runtime-viewer/lean-E61_xvh-.js +2 -0
  226. package/dist/runtime-viewer/less-Bis9Y9oi.js +2 -0
  227. package/dist/runtime-viewer/lib-B7rl8i0A.js +1712 -0
  228. package/dist/runtime-viewer/light-plus-DOInvhGO.js +133 -0
  229. package/dist/runtime-viewer/light-plus-DnhX_5eg.js +3 -0
  230. package/dist/runtime-viewer/liquid-CuxywBoN.js +13 -0
  231. package/dist/runtime-viewer/llvm-DOIFdCJg.js +2 -0
  232. package/dist/runtime-viewer/loader-NcDPTN_h.js +79 -0
  233. package/dist/runtime-viewer/log-Awf6LbyY.js +2 -0
  234. package/dist/runtime-viewer/logo-Cn9nW1nw.js +2 -0
  235. package/dist/runtime-viewer/lua-BtojQCeL.js +5 -0
  236. package/dist/runtime-viewer/luau-DHSqpUrS.js +2 -0
  237. package/dist/runtime-viewer/make-CJ4tc-MS.js +2 -0
  238. package/dist/runtime-viewer/markdown-CNVZ8ok-.js +2 -0
  239. package/dist/runtime-viewer/markdown-Co5Krewy.js +1 -0
  240. package/dist/runtime-viewer/marko-CRIKirQp.js +13 -0
  241. package/dist/runtime-viewer/material-theme-D5uz9rje.js +3 -0
  242. package/dist/runtime-viewer/material-theme-darker-DbzCDLF8.js +92 -0
  243. package/dist/runtime-viewer/material-theme-darker-Dqalv5VE.js +3 -0
  244. package/dist/runtime-viewer/material-theme-lighter-CVJ0oH_V.js +3 -0
  245. package/dist/runtime-viewer/material-theme-lighter-CytgYJOd.js +92 -0
  246. package/dist/runtime-viewer/material-theme-ocean-BgKy5sU3.js +92 -0
  247. package/dist/runtime-viewer/material-theme-ocean-CRXu0cdY.js +3 -0
  248. package/dist/runtime-viewer/material-theme-palenight-C6iiJcUB.js +3 -0
  249. package/dist/runtime-viewer/material-theme-palenight-DZK7nXDy.js +92 -0
  250. package/dist/runtime-viewer/material-theme-yF3uaT0h.js +92 -0
  251. package/dist/runtime-viewer/matlab-Dn3Clolk.js +2 -0
  252. package/dist/runtime-viewer/mdc-D0bRQBcT.js +11 -0
  253. package/dist/runtime-viewer/mdx-C5T-IRbL.js +2 -0
  254. package/dist/runtime-viewer/mdx-DM8tlqVf.js +1 -0
  255. package/dist/runtime-viewer/mermaid-C4AYlmk3.js +2 -0
  256. package/dist/runtime-viewer/min-dark-BGA1sv8W.js +3 -0
  257. package/dist/runtime-viewer/min-dark-C1XOhi4b.js +109 -0
  258. package/dist/runtime-viewer/min-light-Bi5vyNSJ.js +109 -0
  259. package/dist/runtime-viewer/min-light-CYXBjZLR.js +3 -0
  260. package/dist/runtime-viewer/mipsasm-Bwfx99oh.js +2 -0
  261. package/dist/runtime-viewer/mojo-CRl08dek.js +2 -0
  262. package/dist/runtime-viewer/monokai-D9Ylqri2.js +149 -0
  263. package/dist/runtime-viewer/monokai-i6D4lZa3.js +3 -0
  264. package/dist/runtime-viewer/moonbit-CF1zF40g.js +2 -0
  265. package/dist/runtime-viewer/move-BP-e5w2W.js +2 -0
  266. package/dist/runtime-viewer/narrat-CrPIhy6S.js +2 -0
  267. package/dist/runtime-viewer/nextflow-D_hnf_jC.js +4 -0
  268. package/dist/runtime-viewer/nextflow-groovy-BLKP0md9.js +2 -0
  269. package/dist/runtime-viewer/nginx-87WOq-zh.js +4 -0
  270. package/dist/runtime-viewer/night-owl-BIeenDB2.js +175 -0
  271. package/dist/runtime-viewer/night-owl-NpADjULE.js +3 -0
  272. package/dist/runtime-viewer/night-owl-light-CPFD_YWe.js +3 -0
  273. package/dist/runtime-viewer/night-owl-light-cj7zoq2Q.js +176 -0
  274. package/dist/runtime-viewer/nim-CDdExumk.js +19 -0
  275. package/dist/runtime-viewer/nix-D_5rVnnj.js +2 -0
  276. package/dist/runtime-viewer/nord-DtfXNtHW.js +3 -0
  277. package/dist/runtime-viewer/nord-LUKuJt-q.js +115 -0
  278. package/dist/runtime-viewer/nsis-R3iO3ArE.js +2 -0
  279. package/dist/runtime-viewer/nushell-Ctp5mfhf.js +2 -0
  280. package/dist/runtime-viewer/objective-c-DPJeQfV6.js +2 -0
  281. package/dist/runtime-viewer/objective-cpp-1I3jYeMe.js +2 -0
  282. package/dist/runtime-viewer/ocaml-DOrLjeoA.js +2 -0
  283. package/dist/runtime-viewer/odin-CyrMbkLb.js +2 -0
  284. package/dist/runtime-viewer/one-dark-pro-CoHxEOhG.js +3 -0
  285. package/dist/runtime-viewer/one-dark-pro-DJGEbENq.js +111 -0
  286. package/dist/runtime-viewer/one-light-CTMiOsB9.js +137 -0
  287. package/dist/runtime-viewer/one-light-DRcvOwa6.js +3 -0
  288. package/dist/runtime-viewer/openscad-BdifjW6z.js +2 -0
  289. package/dist/runtime-viewer/org-DqaIvCPP.js +99 -0
  290. package/dist/runtime-viewer/pascal-CWF557wL.js +2 -0
  291. package/dist/runtime-viewer/perl-CNf3SVpk.js +15 -0
  292. package/dist/runtime-viewer/php-BPw4EY34.js +17 -0
  293. package/dist/runtime-viewer/php-CftiA0NJ.js +1 -0
  294. package/dist/runtime-viewer/pierre-dark-Bdb1mzqq.js +153 -0
  295. package/dist/runtime-viewer/pierre-dark-C6-jOUHM.js +3 -0
  296. package/dist/runtime-viewer/pierre-dark-protanopia-deuteranopia-DCuPErCj.js +153 -0
  297. package/dist/runtime-viewer/pierre-dark-protanopia-deuteranopia-duePIMEV.js +3 -0
  298. package/dist/runtime-viewer/pierre-dark-soft-BAcQZBxz.js +3 -0
  299. package/dist/runtime-viewer/pierre-dark-soft-BbEG7yMD.js +153 -0
  300. package/dist/runtime-viewer/pierre-dark-tritanopia-DOpkeqXJ.js +153 -0
  301. package/dist/runtime-viewer/pierre-dark-tritanopia-D_B2XvmS.js +3 -0
  302. package/dist/runtime-viewer/pierre-dark-vibrant-Cjjp0Ett.js +3 -0
  303. package/dist/runtime-viewer/pierre-dark-vibrant-wch72KIm.js +153 -0
  304. package/dist/runtime-viewer/pierre-light-BOFVfKvu.js +153 -0
  305. package/dist/runtime-viewer/pierre-light-LcifP5tb.js +3 -0
  306. package/dist/runtime-viewer/pierre-light-protanopia-deuteranopia-BQUu7m7e.js +153 -0
  307. package/dist/runtime-viewer/pierre-light-protanopia-deuteranopia-BwLihlmJ.js +3 -0
  308. package/dist/runtime-viewer/pierre-light-soft-BOBDofkU.js +153 -0
  309. package/dist/runtime-viewer/pierre-light-soft-X5R_lHC5.js +3 -0
  310. package/dist/runtime-viewer/pierre-light-tritanopia-DHKQqobW.js +153 -0
  311. package/dist/runtime-viewer/pierre-light-tritanopia-_xB326N3.js +3 -0
  312. package/dist/runtime-viewer/pierre-light-vibrant-BQ8t4eUq.js +153 -0
  313. package/dist/runtime-viewer/pierre-light-vibrant-CpysSVqa.js +3 -0
  314. package/dist/runtime-viewer/pkl-D57k4LLs.js +2 -0
  315. package/dist/runtime-viewer/plastic-B9GSmjqY.js +3 -0
  316. package/dist/runtime-viewer/plastic-BVwrkRXf.js +124 -0
  317. package/dist/runtime-viewer/plsql-CFYD0AaB.js +2 -0
  318. package/dist/runtime-viewer/po-3OOmP4Qc.js +2 -0
  319. package/dist/runtime-viewer/poimandres-BOYLUaPj.js +3 -0
  320. package/dist/runtime-viewer/poimandres-pq5u2ANt.js +111 -0
  321. package/dist/runtime-viewer/polar-B5m1_AiD.js +2 -0
  322. package/dist/runtime-viewer/postcss-DaNMuZdy.js +2 -0
  323. package/dist/runtime-viewer/powerquery-Ds3ATR9s.js +2 -0
  324. package/dist/runtime-viewer/powershell-C6Oz4_dd.js +2 -0
  325. package/dist/runtime-viewer/prisma-RRr5YdGg.js +2 -0
  326. package/dist/runtime-viewer/prolog-DSStdQTq.js +2 -0
  327. package/dist/runtime-viewer/proto-Chh6Q5CM.js +2 -0
  328. package/dist/runtime-viewer/pug-jgpaAltF.js +11 -0
  329. package/dist/runtime-viewer/puppet-BLsUK3yq.js +2 -0
  330. package/dist/runtime-viewer/purescript-B02W4seQ.js +2 -0
  331. package/dist/runtime-viewer/python-BHaXfePs.js +2 -0
  332. package/dist/runtime-viewer/python-CqjzihlT.js +1 -0
  333. package/dist/runtime-viewer/qml-LuB2sppG.js +4 -0
  334. package/dist/runtime-viewer/qmldir-COlmh4fX.js +2 -0
  335. package/dist/runtime-viewer/qss-DQUGDdeL.js +2 -0
  336. package/dist/runtime-viewer/r-DLQ-WMyZ.js +4 -0
  337. package/dist/runtime-viewer/racket-Dh3q-EfD.js +2 -0
  338. package/dist/runtime-viewer/raku-CdFQrZmh.js +2 -0
  339. package/dist/runtime-viewer/razor-DyYB-qxm.js +9 -0
  340. package/dist/runtime-viewer/rbs-jMgpabM7.js +2 -0
  341. package/dist/runtime-viewer/red-CCCMngeG.js +3 -0
  342. package/dist/runtime-viewer/red-Dab29wid.js +153 -0
  343. package/dist/runtime-viewer/reg-BY6GKaZK.js +2 -0
  344. package/dist/runtime-viewer/regexp-DGXwIvno.js +4 -0
  345. package/dist/runtime-viewer/rel-DjgjjaPM.js +2 -0
  346. package/dist/runtime-viewer/riscv-e0swiQQT.js +2 -0
  347. package/dist/runtime-viewer/rolldown-runtime-CwxnZyOB.js +22 -0
  348. package/dist/runtime-viewer/ron-Ba9vjMyp.js +2 -0
  349. package/dist/runtime-viewer/rose-pine-B-dgSkpN.js +3 -0
  350. package/dist/runtime-viewer/rose-pine-BtbnV2yy.js +123 -0
  351. package/dist/runtime-viewer/rose-pine-dawn-Bdn8gWo3.js +123 -0
  352. package/dist/runtime-viewer/rose-pine-dawn-wnKgbnkN.js +3 -0
  353. package/dist/runtime-viewer/rose-pine-moon-Bo6Tj-LK.js +3 -0
  354. package/dist/runtime-viewer/rose-pine-moon-f0wTyd2e.js +123 -0
  355. package/dist/runtime-viewer/rosmsg-33FkgZa7.js +2 -0
  356. package/dist/runtime-viewer/rst-B4Blahjm.js +21 -0
  357. package/dist/runtime-viewer/ruby-DYURXRgy.js +1 -0
  358. package/dist/runtime-viewer/ruby-ZzNzsyR7.js +29 -0
  359. package/dist/runtime-viewer/rust-CbGaYpW0.js +2 -0
  360. package/dist/runtime-viewer/rust-DesRWqWI.js +1 -0
  361. package/dist/runtime-viewer/sandbox-ui-z5RGk327.css +2 -0
  362. package/dist/runtime-viewer/sas-y9RoKb_L.js +4 -0
  363. package/dist/runtime-viewer/sass-B4OMkGSD.js +2 -0
  364. package/dist/runtime-viewer/scala--rETK160.js +2 -0
  365. package/dist/runtime-viewer/scheme-CvovbBgk.js +2 -0
  366. package/dist/runtime-viewer/scss-DcI9-N4n.js +1 -0
  367. package/dist/runtime-viewer/scss-DopO6P6Z.js +5 -0
  368. package/dist/runtime-viewer/sdbl-BibMD0HR.js +2 -0
  369. package/dist/runtime-viewer/shaderlab-TCf2V7Bu.js +4 -0
  370. package/dist/runtime-viewer/shellscript-CMmvhdtO.js +4 -0
  371. package/dist/runtime-viewer/shellsession-C-hBmRFA.js +4 -0
  372. package/dist/runtime-viewer/shiki-CKiqbkeh.js +472 -0
  373. package/dist/runtime-viewer/slack-dark-Cdsw60PX.js +71 -0
  374. package/dist/runtime-viewer/slack-dark-awEjS_Yb.js +3 -0
  375. package/dist/runtime-viewer/slack-ochin-BKdp7_AN.js +94 -0
  376. package/dist/runtime-viewer/slack-ochin-CabfdAmS.js +3 -0
  377. package/dist/runtime-viewer/smalltalk-DxjZ-YtB.js +2 -0
  378. package/dist/runtime-viewer/smithy-tPvbDXO4.js +2 -0
  379. package/dist/runtime-viewer/snazzy-light-BYOmyMID.js +80 -0
  380. package/dist/runtime-viewer/snazzy-light-DqG5DUoz.js +3 -0
  381. package/dist/runtime-viewer/solarized-dark-DW7IHQvx.js +3 -0
  382. package/dist/runtime-viewer/solarized-dark-DbW2e0tz.js +147 -0
  383. package/dist/runtime-viewer/solarized-light-CAggmb5U.js +147 -0
  384. package/dist/runtime-viewer/solarized-light-DHtUsXC-.js +3 -0
  385. package/dist/runtime-viewer/solidity-CzRNc7l4.js +2 -0
  386. package/dist/runtime-viewer/solidity-DcnQs1tt.js +1 -0
  387. package/dist/runtime-viewer/soy-Di0gqQmR.js +4 -0
  388. package/dist/runtime-viewer/sparql-9pWczk0C.js +4 -0
  389. package/dist/runtime-viewer/splunk-mpquMt_8.js +2 -0
  390. package/dist/runtime-viewer/sql-BKQgqUK-.js +4 -0
  391. package/dist/runtime-viewer/sql-CWnPlVS6.js +1 -0
  392. package/dist/runtime-viewer/ssh-config-DcnVpK-n.js +2 -0
  393. package/dist/runtime-viewer/stata-D1hxcba5.js +4 -0
  394. package/dist/runtime-viewer/stream-tokenizer-BWCJrHj9.js +97 -0
  395. package/dist/runtime-viewer/stylus-Bk8v-7oM.js +2 -0
  396. package/dist/runtime-viewer/surrealql-D20GSlYu.js +4 -0
  397. package/dist/runtime-viewer/svelte-C1MdtiIu.js +13 -0
  398. package/dist/runtime-viewer/swift-1fpvFsbf.js +2 -0
  399. package/dist/runtime-viewer/swift-DdLix5IB.js +1 -0
  400. package/dist/runtime-viewer/synthwave-84-DEoLt5E0.js +3 -0
  401. package/dist/runtime-viewer/synthwave-84-DYyyPr4g.js +397 -0
  402. package/dist/runtime-viewer/system-verilog-9E6eQ6kG.js +2 -0
  403. package/dist/runtime-viewer/systemd-CS6cln6J.js +2 -0
  404. package/dist/runtime-viewer/talonscript-COzgILOx.js +2 -0
  405. package/dist/runtime-viewer/tasl-CrL-TM3j.js +2 -0
  406. package/dist/runtime-viewer/tcl-BK--alTs.js +2 -0
  407. package/dist/runtime-viewer/templ-DKjVFvC3.js +11 -0
  408. package/dist/runtime-viewer/terraform-BKVT4lTN.js +2 -0
  409. package/dist/runtime-viewer/tex-BMGJ-FHF.js +5 -0
  410. package/dist/runtime-viewer/themes-D2drbHm6.js +235 -0
  411. package/dist/runtime-viewer/tokyo-night-BDW-4G1n.js +3 -0
  412. package/dist/runtime-viewer/tokyo-night-CnwkSle4.js +140 -0
  413. package/dist/runtime-viewer/toml-BygInOIB.js +1 -0
  414. package/dist/runtime-viewer/toml-CXAVGmfI.js +2 -0
  415. package/dist/runtime-viewer/ts-tags-BMg-6tE-.js +37 -0
  416. package/dist/runtime-viewer/tsv-r5fpGho9.js +2 -0
  417. package/dist/runtime-viewer/tsx-CdftCu0x.js +1 -0
  418. package/dist/runtime-viewer/tsx-sVSKAISV.js +4 -0
  419. package/dist/runtime-viewer/turtle-BbiQBLu0.js +2 -0
  420. package/dist/runtime-viewer/twig-09z_6B11.js +17 -0
  421. package/dist/runtime-viewer/typescript-COKJUNHB.js +4 -0
  422. package/dist/runtime-viewer/typescript-DCN8T-9u.js +1 -0
  423. package/dist/runtime-viewer/typespec-CtiCKN_c.js +2 -0
  424. package/dist/runtime-viewer/typst-D_sC_VAT.js +119 -0
  425. package/dist/runtime-viewer/unwrapDefault-CNWG9hDr.js +5 -0
  426. package/dist/runtime-viewer/v-BdhLiTpS.js +2 -0
  427. package/dist/runtime-viewer/vala-sKTZx7aP.js +2 -0
  428. package/dist/runtime-viewer/vb-BAyoHiqq.js +2 -0
  429. package/dist/runtime-viewer/verilog-DrDp-nNs.js +2 -0
  430. package/dist/runtime-viewer/vesper-BOAJeYxj.js +3 -0
  431. package/dist/runtime-viewer/vesper-DMgHxe32.js +83 -0
  432. package/dist/runtime-viewer/vhdl-D4xoRBgL.js +2 -0
  433. package/dist/runtime-viewer/viml-C41wSeLL.js +2 -0
  434. package/dist/runtime-viewer/vitesse-black-CxSugKJt.js +3 -0
  435. package/dist/runtime-viewer/vitesse-black-D8_Gc8uG.js +183 -0
  436. package/dist/runtime-viewer/vitesse-dark-Dg-H5YXt.js +183 -0
  437. package/dist/runtime-viewer/vitesse-dark-DvdlNt-O.js +3 -0
  438. package/dist/runtime-viewer/vitesse-light-BU-cJySG.js +183 -0
  439. package/dist/runtime-viewer/vitesse-light-q0_0oW1f.js +3 -0
  440. package/dist/runtime-viewer/vue-BbJX7dLK.js +20 -0
  441. package/dist/runtime-viewer/vue-html-DvOnaPby.js +4 -0
  442. package/dist/runtime-viewer/vue-vine-NYLtCzNK.js +17 -0
  443. package/dist/runtime-viewer/vyper-D4A1KnBn.js +2 -0
  444. package/dist/runtime-viewer/wasm-CVPYyV9Y.js +2 -0
  445. package/dist/runtime-viewer/wasm-DrbRUT8q.js +3 -0
  446. package/dist/runtime-viewer/wenyan-Czq8OMMr.js +2 -0
  447. package/dist/runtime-viewer/wgsl-C_l-ZpBu.js +2 -0
  448. package/dist/runtime-viewer/wikitext-B7epQZx2.js +2 -0
  449. package/dist/runtime-viewer/wit-DswQpcNx.js +2 -0
  450. package/dist/runtime-viewer/wolfram-CSEjVwta.js +2 -0
  451. package/dist/runtime-viewer/xml-CBKvpQFb.js +1 -0
  452. package/dist/runtime-viewer/xml-Ct7jrUZw.js +5 -0
  453. package/dist/runtime-viewer/xsl-DovPFRzJ.js +4 -0
  454. package/dist/runtime-viewer/yaml-BfN4AWuy.js +4 -0
  455. package/dist/runtime-viewer/yaml-DWRq8wls.js +1 -0
  456. package/dist/runtime-viewer/zenscript-YvYHF5y3.js +2 -0
  457. package/dist/runtime-viewer/zig-BgXWauKx.js +2 -0
  458. package/dist/styles.css +189 -150
  459. package/dist/tailwind.css +156 -150
  460. package/dist/{run-CJ48hJz0.js → trace-workspace-C8dHRBDV.js} +2 -3
  461. package/dist/use-document-D6Z9oFLm.js +120 -0
  462. package/dist/{workbench-BozOdGCX.js → workbench-Z9wbei53.js} +4 -172
  463. package/dist/workbench.js +2 -1
  464. package/dist/{workspace-CJnBqCqj.js → workspace-CzikYt_y.js} +5 -364
  465. package/dist/workspace-files-pane-DB9Nvwh4.js +367 -0
  466. package/dist/workspace-viewer.js +44403 -0
  467. package/dist/workspace.js +2 -1
  468. package/package.json +9 -4
@@ -0,0 +1,389 @@
1
+ import { t as WorkspaceFilesPane } from "../workspace-files-pane-DB9Nvwh4.js";
2
+ import { t as DiffView } from "../diff-view-B9mNeTLF.js";
3
+ import { t as CodeView } from "../code-view-BlhCS1SD.js";
4
+ import { t as TraceWorkspace } from "../trace-workspace-C8dHRBDV.js";
5
+ import { t as useDocument } from "../use-document-D6Z9oFLm.js";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ import { useEffect, useMemo, useState } from "react";
8
+ import { runStatus } from "@tangle-network/ui/run";
9
+ // src/run/live-inspection.tsx
10
+ /** The graph, conversation and files share one selected agent and one product-owned API. */
11
+ function useLiveInspection(url, live, fetcher) {
12
+ const inventory = useDocument(url ?? null, live ? 3e3 : void 0, false, fetcher);
13
+ const [selected, select] = useState();
14
+ const [download, setDownload] = useState();
15
+ const files = inventory.data?.files?.entries ?? [];
16
+ const entry = files.find((file) => file.path === selected) ?? files[0];
17
+ const fileUrl = entry && url ? `${url}/file?path=${encodeURIComponent(entry.path)}` : null;
18
+ const content = useDocument(fileUrl, live ? 3e3 : void 0, false, fetcher);
19
+ const file = content.data?.file;
20
+ const valid = file && entry && file.path === entry.path && file.sha256 === entry.sha256 && file.byteLength === entry.byteLength;
21
+ const fileKey = valid ? `${entry.path}:${entry.sha256}` : void 0;
22
+ useEffect(() => {
23
+ if (!fileKey || !file) return;
24
+ const href = URL.createObjectURL(new Blob([file.content], { type: "text/plain;charset=utf-8" }));
25
+ setDownload({
26
+ key: fileKey,
27
+ href
28
+ });
29
+ return () => URL.revokeObjectURL(href);
30
+ }, [fileKey, file?.content]);
31
+ const coverage = inventory.data?.coverage;
32
+ const scoreboard = inventory.status === 404 ? void 0 : coverage ? /* @__PURE__ */ jsxs("details", {
33
+ className: "ws-status",
34
+ open: coverage.status !== "complete",
35
+ "data-capture-status": coverage.status,
36
+ children: [
37
+ /* @__PURE__ */ jsx("summary", { children: coverage.status === "complete" ? "Conversation retained" : "Conversation incomplete" }),
38
+ /* @__PURE__ */ jsx("p", { children: coverage.reason ?? coverage.source }),
39
+ !!inventory.data?.context?.length && /* @__PURE__ */ jsxs("details", { children: [/* @__PURE__ */ jsx("summary", { children: "Recorded context" }), inventory.data.context.map((row, index) => /* @__PURE__ */ jsx("pre", {
40
+ className: "ws-code",
41
+ children: row.event.text
42
+ }, `${row.at}:${index}`))] }),
43
+ inventory.data?.files?.scope === "none" && /* @__PURE__ */ jsx("p", { children: inventory.data.files.reason ?? "No workspace inventory was captured." })
44
+ ]
45
+ }) : inventory.error ? /* @__PURE__ */ jsxs("p", {
46
+ className: "ws-status",
47
+ role: "alert",
48
+ children: ["Conversation inspection unavailable: ", inventory.error]
49
+ }) : void 0;
50
+ return {
51
+ scoreboard: /* @__PURE__ */ jsxs(Fragment, { children: [scoreboard, inventory.data?.files && !inventory.data.files.complete && /* @__PURE__ */ jsxs("p", {
52
+ className: "ws-status",
53
+ role: "alert",
54
+ children: ["Workspace inventory incomplete: ", inventory.data.files.reason ?? "Some files could not be retained."]
55
+ })] }),
56
+ files: entry ? /* @__PURE__ */ jsx("section", {
57
+ "aria-label": "Retained files",
58
+ className: "flex min-h-0 flex-1 flex-col",
59
+ "data-file-scope": inventory.data?.files?.scope,
60
+ "data-file-complete": inventory.data?.files?.complete,
61
+ "data-file": entry.path,
62
+ "data-file-hash": entry.sha256,
63
+ children: valid ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(WorkspaceFilesPane, {
64
+ className: "min-h-0 flex-1",
65
+ paths: files.map((item) => item.path),
66
+ selectedPath: entry.path,
67
+ onSelect: (path) => {
68
+ if (files.some((item) => item.path === path)) select(path);
69
+ },
70
+ preview: {
71
+ path: entry.path,
72
+ content: /* @__PURE__ */ jsx(CodeView, {
73
+ path: entry.path,
74
+ filename: entry.path.split("/").at(-1) ?? entry.path,
75
+ content: file.content,
76
+ showTree: false
77
+ }),
78
+ ...file.before ? { compare: {
79
+ label: file.before.source.ref,
80
+ content: /* @__PURE__ */ jsx(DiffView, {
81
+ filename: entry.path,
82
+ baseline: file.before.content,
83
+ current: file.content
84
+ })
85
+ } } : {}
86
+ }
87
+ }), /* @__PURE__ */ jsxs("details", {
88
+ className: "ws-status",
89
+ children: [
90
+ /* @__PURE__ */ jsx("summary", { children: "Provenance" }),
91
+ /* @__PURE__ */ jsx("code", { children: entry.sha256 }),
92
+ file.before && /* @__PURE__ */ jsxs("p", { children: [
93
+ "Compared with ",
94
+ file.before.source.kind,
95
+ " ",
96
+ /* @__PURE__ */ jsx("code", { children: file.before.source.ref }),
97
+ ": ",
98
+ /* @__PURE__ */ jsx("code", { children: file.before.sha256 })
99
+ ] }),
100
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("a", {
101
+ href: download && download.key === fileKey ? download.href : void 0,
102
+ download: entry.path.split("/").at(-1),
103
+ children: "Download"
104
+ }) })
105
+ ]
106
+ })] }) : /* @__PURE__ */ jsx("p", {
107
+ className: "ws-status",
108
+ role: content.loading ? "status" : "alert",
109
+ children: content.loading ? `Reading ${entry.path}…` : `This retained file is unavailable: ${content.error ?? "its content identity did not match the inventory"}`
110
+ })
111
+ }) : void 0
112
+ };
113
+ }
114
+ // src/run/live.tsx
115
+ const time = (value) => {
116
+ const ms = value ? Date.parse(value) : NaN;
117
+ return Number.isFinite(ms) ? ms : void 0;
118
+ };
119
+ const iso = (ms) => ms !== void 0 && Number.isFinite(ms) ? new Date(ms).toISOString() : void 0;
120
+ const withNodes = (run, nodes) => [...run.workers.map((worker) => {
121
+ const node = nodes.find((node) => node.id === worker.id);
122
+ return {
123
+ ...worker,
124
+ startedAt: worker.startedAt ?? iso(node?.timing?.startedAt),
125
+ endedAt: worker.endedAt ?? iso(node?.timing?.settledAt ?? node?.settledAt)
126
+ };
127
+ }), ...nodes.filter((node) => node.id !== run.id && !run.workers.some((worker) => worker.id === node.id)).map((node) => ({
128
+ id: node.id,
129
+ parent: node.parentId,
130
+ label: node.label ?? node.id,
131
+ runtime: node.runtime,
132
+ status: node.status ?? "unknown",
133
+ startedAt: iso(node.timing?.startedAt),
134
+ endedAt: iso(node.timing?.settledAt ?? node.settledAt)
135
+ }))];
136
+ const cost = (...spends) => spends.every((spend) => spend && spend.usdKnown !== false && Number.isFinite(spend.usd) && spend.usd >= 0) ? spends.reduce((sum, spend) => sum + (spend?.usd ?? 0), 0) : void 0;
137
+ const flowStatus = (status) => runStatus(status === "down" ? "failed" : status === "cancelled" || status === "no-winner" ? "stopped" : status);
138
+ const graphStatus = (status) => {
139
+ const state = flowStatus(status);
140
+ return state === "done" ? "succeeded" : state;
141
+ };
142
+ const isOpen = (status) => [
143
+ "running",
144
+ "waiting",
145
+ "needs-you"
146
+ ].includes(flowStatus(status));
147
+ /** Both the Discovery host and agent-runtime-top mount this same stream consumer and shared run workspace. */
148
+ function LiveRun(props) {
149
+ return /* @__PURE__ */ jsx(LiveRunView, { ...props }, props.api);
150
+ }
151
+ function LiveRunView({ api, transport }) {
152
+ const [snapshots, setSnapshots] = useState([]);
153
+ const [error, setError] = useState(null);
154
+ const [connected, setConnected] = useState(false);
155
+ const [ended, setEnded] = useState(false);
156
+ const [selected, setSelected] = useState("");
157
+ const [rendered, setRendered] = useState(0);
158
+ const [agent, setAgent] = useState();
159
+ const [conversationOpen, setConversationOpen] = useState(true);
160
+ useEffect(() => {
161
+ const source = transport?.openEventSource ? transport.openEventSource(`${api}/events`, setConnected) : new EventSource(`${api}/events`);
162
+ source.addEventListener("snapshot", (message) => {
163
+ try {
164
+ const frame = JSON.parse(message.data);
165
+ if (!Array.isArray(frame.snapshots)) throw new Error("Invalid snapshot stream");
166
+ setSnapshots((prior) => {
167
+ const byRoot = new Map((frame.reset ? [] : prior).map((snapshot) => [snapshot.root, snapshot]));
168
+ for (const snapshot of frame.snapshots) byRoot.set(snapshot.root, snapshot);
169
+ return [...byRoot.values()];
170
+ });
171
+ setRendered(frame.sequence);
172
+ setError(null);
173
+ setConnected(true);
174
+ } catch (cause) {
175
+ setError(String(cause));
176
+ }
177
+ });
178
+ source.addEventListener("unavailable", () => setError("The run snapshot is unavailable"));
179
+ source.addEventListener("end", () => {
180
+ source.close();
181
+ setEnded(true);
182
+ });
183
+ if (!transport?.openEventSource) source.onerror = () => setConnected(false);
184
+ return () => source.close();
185
+ }, [api, transport?.openEventSource]);
186
+ const runs = snapshots.flatMap((snapshot, root) => snapshot.supervisors.map((run) => ({
187
+ snapshot,
188
+ root,
189
+ run,
190
+ key: JSON.stringify([snapshot.root, run.id])
191
+ })));
192
+ const active = runs.find((run) => run.key === selected) ?? runs[0];
193
+ const facts = active?.snapshot.pursuit?.nodes.filter((node) => node.runId === active.run.id) ?? [];
194
+ const detail = (id) => {
195
+ const node = facts.find((node) => node.id === id), receipt = active?.run.workers.find((worker) => worker.id === id)?.materialization;
196
+ return [node?.model ?? (receipt?.model?.status === "known" ? receipt.model.id : void 0), node?.backend ?? receipt?.backend].filter(Boolean).join(" · ") || void 0;
197
+ };
198
+ const run = active && {
199
+ ...active.run,
200
+ workers: withNodes(active.run, facts)
201
+ };
202
+ const outcome = run?.outcome;
203
+ const outcomeText = outcome ? outcome.kind === "winner" ? "Winner" : `${outcome.kind === "no-winner" ? "No winner" : "Failed"}: ${outcome.reason}` : void 0;
204
+ const startedAt = run ? Math.min(...[run.startedAt, ...run.workers.map((worker) => worker.startedAt)].flatMap((value) => value && Number.isFinite(Date.parse(value)) ? [Date.parse(value)] : [])) : void 0;
205
+ const trace = useMemo(() => {
206
+ const at = active?.snapshot.generatedAt ?? Date.now();
207
+ const first = startedAt !== void 0 && Number.isFinite(startedAt) ? startedAt : at;
208
+ const spans = (run?.workers ?? []).flatMap((worker) => {
209
+ if (!worker.startedAt || !Number.isFinite(Date.parse(worker.startedAt))) return [];
210
+ const start = Math.max(0, Date.parse(worker.startedAt) - first);
211
+ const end = time(worker.endedAt) ?? (isOpen(worker.status) ? at : Date.parse(worker.startedAt));
212
+ const costUsd = cost(worker.spend, worker.metered);
213
+ return [{
214
+ id: worker.id,
215
+ parentId: worker.parent && worker.parent !== worker.id ? worker.parent : run.id,
216
+ name: worker.label,
217
+ kind: "pipeline",
218
+ startMs: start,
219
+ endMs: Math.max(start, end - first),
220
+ status: flowStatus(worker.status),
221
+ ...costUsd !== void 0 ? { costUsd } : {},
222
+ ...worker.lastActivityAt !== void 0 ? {
223
+ activityAt: [worker.lastActivityAt - first],
224
+ medianEventGapMs: worker.medianEventGapMs
225
+ } : {},
226
+ ...detail(worker.id) ? { detail: detail(worker.id) } : {},
227
+ ...flowStatus(worker.status) === "failed" && worker.reason ? { facts: [{
228
+ label: "Failure",
229
+ value: worker.reason
230
+ }] } : {},
231
+ ...worker.status === "cancelled" ? { outcome: {
232
+ tone: "neutral",
233
+ label: "Cancelled"
234
+ } } : {}
235
+ }];
236
+ });
237
+ if (run?.startedAt && run.status !== "unobserved" && !spans.some((span) => span.id === run.id)) spans.unshift({
238
+ id: run.id,
239
+ name: "root",
240
+ kind: "pipeline",
241
+ detail: detail(run.id),
242
+ startMs: Math.max(0, Date.parse(run.startedAt) - first),
243
+ endMs: Math.max(0, Date.parse(run.completedAt ?? new Date(at).toISOString()) - first),
244
+ status: flowStatus(run.status),
245
+ ...flowStatus(run.status) === "failed" && run.reason ? { facts: [{
246
+ label: "Failure",
247
+ value: run.reason
248
+ }] } : {},
249
+ ...run.lastActivityAt !== void 0 ? {
250
+ activityAt: [run.lastActivityAt - first],
251
+ medianEventGapMs: run.medianEventGapMs
252
+ } : {},
253
+ ...cost(run.driverSpend) !== void 0 ? { costUsd: cost(run.driverSpend) } : {},
254
+ ...run.status === "cancelled" ? { outcome: {
255
+ tone: "neutral",
256
+ label: "Cancelled"
257
+ } } : {}
258
+ });
259
+ const totals = run?.totals;
260
+ return {
261
+ spans,
262
+ totalMs: Math.max(0, ...spans.map((span) => span.endMs)),
263
+ ...totals?.tokensKnown !== false && typeof totals?.tokensInput === "number" && Number.isFinite(totals.tokensInput) && totals.tokensInput >= 0 ? { promptTokens: totals.tokensInput } : {},
264
+ ...totals?.tokensKnown !== false && typeof totals?.tokensOutput === "number" && Number.isFinite(totals.tokensOutput) && totals.tokensOutput >= 0 ? { completionTokens: totals.tokensOutput } : {},
265
+ errors: spans.filter((span) => span.status === "failed").length
266
+ };
267
+ }, [
268
+ active?.snapshot,
269
+ active?.run,
270
+ startedAt
271
+ ]);
272
+ const workers = run?.workers.filter((worker) => worker.id !== run.id) ?? [];
273
+ const nodes = run ? [{
274
+ id: run.id,
275
+ label: "root",
276
+ status: graphStatus(run.status),
277
+ model: detail(run.id),
278
+ costUsd: cost(run.driverSpend),
279
+ startedAt: time(run.startedAt),
280
+ lastActivityAt: run.lastActivityAt,
281
+ medianEventGapMs: run.medianEventGapMs,
282
+ result: outcomeText ?? (run.status === "cancelled" ? "Cancelled" : graphStatus(run.status) === "failed" ? run.reason || "Failure cause not recorded" : void 0)
283
+ }, ...workers.map((worker) => ({
284
+ id: worker.id,
285
+ label: worker.label,
286
+ harness: worker.runtime,
287
+ model: detail(worker.id),
288
+ status: graphStatus(worker.status),
289
+ costUsd: cost(worker.spend, worker.metered),
290
+ startedAt: time(worker.startedAt),
291
+ lastActivityAt: worker.lastActivityAt,
292
+ medianEventGapMs: worker.medianEventGapMs,
293
+ turn: worker.liveTail?.at(-1),
294
+ events: worker.liveTail?.slice(-3).map((label, index) => ({
295
+ id: `${worker.id}:${index}:${label}`,
296
+ label
297
+ })),
298
+ result: worker.status === "cancelled" ? "Cancelled" : graphStatus(worker.status) === "failed" ? worker.reason || "Failure cause not recorded" : worker.verdict
299
+ }))] : [];
300
+ const selectedAgent = agent;
301
+ const inspection = useLiveInspection(active && selectedAgent ? `${api}/agents/${active.root}/${encodeURIComponent(active.run.id)}/${encodeURIComponent(selectedAgent)}` : void 0, !!run && isOpen(run.status), transport?.fetch);
302
+ const known = new Set(nodes.map((node) => node.id));
303
+ const edges = workers.map((worker) => ({
304
+ from: worker.parent && worker.parent !== worker.id && known.has(worker.parent) ? worker.parent : run.id,
305
+ to: worker.id,
306
+ kind: "spawn"
307
+ }));
308
+ const agentCards = Object.fromEntries(nodes.map(({ id, label, harness, model, turn, events, result, status, costUsd, startedAt, lastActivityAt, medianEventGapMs }) => [id, {
309
+ label,
310
+ harness,
311
+ model,
312
+ turn,
313
+ events,
314
+ result,
315
+ ...startedAt === void 0 ? {
316
+ status,
317
+ costUsd,
318
+ lastActivityAt,
319
+ medianEventGapMs
320
+ } : {}
321
+ }]));
322
+ return /* @__PURE__ */ jsxs("main", {
323
+ className: "ws-live",
324
+ "data-api": api,
325
+ "data-top-sequence": rendered,
326
+ children: [
327
+ /* @__PURE__ */ jsxs("header", { children: [/* @__PURE__ */ jsxs("label", { children: ["Run", /* @__PURE__ */ jsx("select", {
328
+ "aria-label": "Run",
329
+ value: active?.key ?? "",
330
+ onChange: (event) => {
331
+ setSelected(event.target.value);
332
+ setAgent(void 0);
333
+ },
334
+ children: runs.map((item) => /* @__PURE__ */ jsx("option", {
335
+ value: item.key,
336
+ children: item.run.id
337
+ }, item.key))
338
+ })] }), /* @__PURE__ */ jsx("span", {
339
+ role: "status",
340
+ children: ended ? "Finished · viewer closed" : connected ? "● Connected" : snapshots.length ? "○ Reconnecting" : "Connecting…"
341
+ })] }),
342
+ active?.run.task && active.run.task !== active.run.id && /* @__PURE__ */ jsx("p", { children: active.run.task }),
343
+ outcomeText && /* @__PURE__ */ jsx("p", {
344
+ role: "status",
345
+ "data-run-outcome": outcome.kind,
346
+ children: outcomeText
347
+ }),
348
+ run?.lastRoute && /* @__PURE__ */ jsx("p", {
349
+ "data-recorded-route": run.lastRoute.kind,
350
+ children: run.lastRoute.kind === "stopped" ? `Stopped: ${run.lastRoute.reason}` : `Unrouted: ${run.lastRoute.detail}`
351
+ }),
352
+ error && /* @__PURE__ */ jsx("p", {
353
+ role: "alert",
354
+ children: error
355
+ }),
356
+ (active ? [active.snapshot] : snapshots).filter((snapshot) => snapshot.completeness === "partial").map((snapshot) => /* @__PURE__ */ jsxs("p", {
357
+ role: "alert",
358
+ children: ["Partial capture: ", snapshot.diagnostics.map((diagnostic) => `${diagnostic.source}: ${diagnostic.reason}`).join(" · ")]
359
+ }, snapshot.root)),
360
+ active ? /* @__PURE__ */ jsx(TraceWorkspace, {
361
+ trace,
362
+ label: "Run",
363
+ selectedAgentId: selectedAgent,
364
+ conversationOpen,
365
+ openEventSource: transport?.openEventSource,
366
+ onSelectAgent: (id) => {
367
+ if (id) setAgent(id);
368
+ setConversationOpen(id !== void 0);
369
+ },
370
+ live: isOpen(active.run.status) || run.workers.some((worker) => isOpen(worker.status)),
371
+ startedAt: Number.isFinite(startedAt) ? startedAt : void 0,
372
+ agentCards,
373
+ agentGraph: {
374
+ defaultLayout: "tree",
375
+ edges
376
+ },
377
+ defaultView: "graph",
378
+ maxHeight: 650,
379
+ files: inspection.files,
380
+ scoreboard: inspection.scoreboard,
381
+ streamUrl: (id) => `${api}/agents/${active.root}/${encodeURIComponent(active.run.id)}/${encodeURIComponent(id)}/stream`
382
+ }, active.key) : connected && !snapshots.some((snapshot) => snapshot.completeness === "partial") && /* @__PURE__ */ jsx("p", {
383
+ role: "status",
384
+ children: "No recorded agents in these roots."
385
+ })
386
+ ]
387
+ });
388
+ }
389
+ export { LiveRun };
package/dist/run.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- import { $ as TraceWaterfall, A as ToolCallData, B as taskStatus, C as RunStatusIcon, D as TaskListItem, E as TaskList, F as parseToolEvent, G as TraceWorkspaceProps, H as LatestEventsProps, I as runStatus, J as AgentStreamSource, K as AgentStreamOpener, L as showsTaskPriority, M as ToolCallFeedProps, N as ToolCallStatus, O as TaskListProps, P as ToolCallType, Q as useAgentStream, R as statusMeta, S as RunStatus, T as StatusMeta, U as TraceEvent, V as LatestEvents, W as TraceWorkspace, X as AgentTranscriptEntry, Y as AgentStreamState, Z as foldAgentRows, _ as RunPhaseList, a as ApprovalPlanStep, b as RunRowStatus, c as FeedSegment, d as InlineToolItem, et as TraceWaterfallProps, f as InlineToolItemProps, g as RunPhase, h as RunGroupProps, i as ApprovalDiffSummary, j as ToolCallFeed, k as TaskStatus, l as InlineThinkingItem, m as RunGroup, n as ApprovalCardProps, o as ExpandedToolDetail, p as LiveDuration, q as AgentStreamRow, r as ApprovalDiffFile, s as ExpandedToolDetailProps, t as ApprovalCard, tt as traceSpanMark, u as InlineThinkingItemProps, v as RunRowShell, w as RunStatusIconProps, x as RunRowStatusDot, y as RunRowShellProps, z as taskProgress } from "./index-BtR5Sc3u.js";
1
+ import { A as ToolCallData, B as taskStatus, C as RunStatusIcon, D as TaskListItem, E as TaskList, F as parseToolEvent, G as TraceWorkspaceProps, H as LatestEventsProps, I as runStatus, J as traceSpanMark, K as TraceWaterfall, L as showsTaskPriority, M as ToolCallFeedProps, N as ToolCallStatus, O as TaskListProps, P as ToolCallType, R as statusMeta, S as RunStatus, T as StatusMeta, U as TraceEvent, V as LatestEvents, W as TraceWorkspace, _ as RunPhaseList, a as ApprovalPlanStep, b as RunRowStatus, c as FeedSegment, d as InlineToolItem, f as InlineToolItemProps, g as RunPhase, h as RunGroupProps, i as ApprovalDiffSummary, j as ToolCallFeed, k as TaskStatus, l as InlineThinkingItem, m as RunGroup, n as ApprovalCardProps, o as ExpandedToolDetail, p as LiveDuration, q as TraceWaterfallProps, r as ApprovalDiffFile, s as ExpandedToolDetailProps, t as ApprovalCard, u as InlineThinkingItemProps, v as RunRowShell, w as RunStatusIconProps, x as RunRowStatusDot, y as RunRowShellProps, z as taskProgress } from "./index-BnaVprN6.js";
2
+ import { a as AgentTranscriptEntry, i as AgentStreamState, n as AgentStreamRow, o as foldAgentRows, r as AgentStreamSource, s as useAgentStream, t as AgentStreamOpener } from "./agent-stream-CBZ2fXJ2.js";
2
3
  import { a as EventFlag, c as indexRecord, d as ConversationNode, f as ConversationRecord, i as ConversationProps, l as model_d_exports, n as withPrompts, o as RecordIndex, r as Conversation, s as ToolCall, t as VirtualList, u as ConversationEvent } from "./index-DRLVHl-o.js";
3
4
  export { type AgentStreamOpener, type AgentStreamRow, type AgentStreamSource, type AgentStreamState, type AgentTranscriptEntry, ApprovalCard, type ApprovalCardProps, type ApprovalDiffFile, ApprovalDiffSummary, type ApprovalPlanStep, Conversation, type ConversationEvent, type ConversationNode, type ConversationProps, type ConversationRecord, type EventFlag, ExpandedToolDetail, type ExpandedToolDetailProps, type FeedSegment, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, LatestEvents, type LatestEventsProps, LiveDuration, type RecordIndex, RunGroup, type RunGroupProps, type RunPhase, RunPhaseList, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type RunStatus, RunStatusIcon, type RunStatusIconProps, type StatusMeta, TaskList, type TaskListItem, type TaskListProps, type TaskStatus, type ToolCall, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, type TraceEvent, TraceWaterfall, type TraceWaterfallProps, TraceWorkspace, type TraceWorkspaceProps, VirtualList, foldAgentRows, indexRecord, parseToolEvent, model_d_exports as recordModel, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus, traceSpanMark, useAgentStream, withPrompts };
package/dist/run.js CHANGED
@@ -1,3 +1,4 @@
1
- import { C as useAgentStream, S as foldAgentRows, T as traceSpanMark, _ as statusMeta, a as InlineToolItem, b as TraceWorkspace, c as RunPhaseList, d as RunStatusIcon, f as TaskList, g as showsTaskPriority, h as runStatus, i as InlineThinkingItem, l as RunRowShell, m as parseToolEvent, n as ApprovalDiffSummary, o as LiveDuration, p as ToolCallFeed, r as ExpandedToolDetail, s as RunGroup, t as ApprovalCard, u as RunRowStatusDot, v as taskProgress, w as TraceWaterfall, x as LatestEvents, y as taskStatus } from "./run-CJ48hJz0.js";
1
+ import { a as TraceWaterfall, i as useAgentStream, n as LatestEvents, o as traceSpanMark, r as foldAgentRows, t as TraceWorkspace } from "./trace-workspace-C8dHRBDV.js";
2
2
  import { a as VirtualList, i as model_exports, n as Conversation, r as indexRecord, t as withPrompts } from "./record-Bqt1kE_Q.js";
3
+ import { ApprovalCard, ApprovalDiffSummary, ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon, TaskList, ToolCallFeed, parseToolEvent, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus } from "@tangle-network/ui/run";
3
4
  export { ApprovalCard, ApprovalDiffSummary, Conversation, ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LatestEvents, LiveDuration, RunGroup, RunPhaseList, RunRowShell, RunRowStatusDot, RunStatusIcon, TaskList, ToolCallFeed, TraceWaterfall, TraceWorkspace, VirtualList, foldAgentRows, indexRecord, parseToolEvent, model_exports as recordModel, runStatus, showsTaskPriority, statusMeta, taskProgress, taskStatus, traceSpanMark, useAgentStream, withPrompts };