executor 1.0.6 → 1.1.1

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 (644) hide show
  1. package/README.md +281 -78
  2. package/bin/deno-subprocess-worker.mjs +205 -0
  3. package/bin/executor.js +2 -0
  4. package/bin/executor.mjs +232296 -0
  5. package/bin/pglite.data +0 -0
  6. package/bin/pglite.wasm +0 -0
  7. package/package.json +34 -100
  8. package/resources/migrations/20260306091536_abnormal_martin_li/migration.sql +158 -0
  9. package/resources/migrations/20260306091536_abnormal_martin_li/snapshot.json +1937 -0
  10. package/resources/migrations/20260306094249_large_giant_girl/migration.sql +39 -0
  11. package/resources/migrations/20260306094249_large_giant_girl/snapshot.json +2425 -0
  12. package/resources/migrations/20260307090915_blue_bullseye/migration.sql +70 -0
  13. package/resources/migrations/20260307090915_blue_bullseye/snapshot.json +3122 -0
  14. package/resources/migrations/20260307134000_openapi_tool_identity/migration.sql +37 -0
  15. package/resources/migrations/20260307152000_source_document_text/migration.sql +1 -0
  16. package/resources/migrations/20260308041000_credentials_model/migration.sql +41 -0
  17. package/resources/migrations/20260308120000_search_and_indexes/migration.sql +16 -0
  18. package/resources/migrations/20260308140000_secret_materials_name/migration.sql +1 -0
  19. package/resources/migrations/20260309103000_policy_scope_and_interaction_purpose/migration.sql +17 -0
  20. package/resources/web/assets/abap-BXYWi5l2.js +1 -0
  21. package/resources/web/assets/abap-BdImnpbu.js +1 -0
  22. package/resources/web/assets/actionscript-3-CRLSHa9e.js +1 -0
  23. package/resources/web/assets/actionscript-3-CoDkCxhg.js +1 -0
  24. package/resources/web/assets/ada-DeReRNhg.js +1 -0
  25. package/resources/web/assets/ada-bCR0ucgS.js +1 -0
  26. package/resources/web/assets/andromeeda-C4gqWexZ.js +1 -0
  27. package/resources/web/assets/andromeeda-CF6_y_Qj.js +1 -0
  28. package/resources/web/assets/angular-html-6NEUuZou.js +1 -0
  29. package/resources/web/assets/angular-html-CU67Zn6k.js +1 -0
  30. package/resources/web/assets/angular-ts-BfBSdvnY.js +1 -0
  31. package/resources/web/assets/angular-ts-BwZT4LLn.js +1 -0
  32. package/resources/web/assets/apache-CCUDgqAf.js +1 -0
  33. package/resources/web/assets/apache-Pmp26Uib.js +1 -0
  34. package/resources/web/assets/apex-Bh6oOW3o.js +1 -0
  35. package/resources/web/assets/apex-D8_7TLub.js +1 -0
  36. package/resources/web/assets/apl-C-KxP0FL.js +1 -0
  37. package/resources/web/assets/apl-dKokRX4l.js +1 -0
  38. package/resources/web/assets/applescript-Co6uUVPk.js +1 -0
  39. package/resources/web/assets/applescript-Dd26Nb5t.js +1 -0
  40. package/resources/web/assets/ara-BRHolxvo.js +1 -0
  41. package/resources/web/assets/ara-D6vCOKVX.js +1 -0
  42. package/resources/web/assets/asciidoc-DSG2rbEP.js +1 -0
  43. package/resources/web/assets/asciidoc-Ve4PFQV2.js +1 -0
  44. package/resources/web/assets/asm-CbVMAfFB.js +1 -0
  45. package/resources/web/assets/asm-D_Q5rh1f.js +1 -0
  46. package/resources/web/assets/astro-CbQHKStN.js +1 -0
  47. package/resources/web/assets/astro-OEl6i-aI.js +1 -0
  48. package/resources/web/assets/aurora-x-D-2ljcwZ.js +1 -0
  49. package/resources/web/assets/aurora-x-DOuLBLNn.js +1 -0
  50. package/resources/web/assets/awk-DMzUqQB5.js +1 -0
  51. package/resources/web/assets/awk-UmR4Ublb.js +1 -0
  52. package/resources/web/assets/ayu-dark-BXQCOcka.js +1 -0
  53. package/resources/web/assets/ayu-dark-DYE7WIF3.js +1 -0
  54. package/resources/web/assets/ayu-light-BA47KaF1.js +1 -0
  55. package/resources/web/assets/ayu-light-McBaoK3Y.js +1 -0
  56. package/resources/web/assets/ayu-mirage-32ctXXKs.js +1 -0
  57. package/resources/web/assets/ayu-mirage-urwrJgdN.js +1 -0
  58. package/resources/web/assets/ballerina-BFfxhgS-.js +1 -0
  59. package/resources/web/assets/ballerina-BMbY-1wP.js +1 -0
  60. package/resources/web/assets/bat-BkioyH1T.js +1 -0
  61. package/resources/web/assets/bat-Dcnh2ot_.js +1 -0
  62. package/resources/web/assets/beancount-B92nBv9q.js +1 -0
  63. package/resources/web/assets/beancount-k_qm7-4y.js +1 -0
  64. package/resources/web/assets/berry-C9fz7p0n.js +1 -0
  65. package/resources/web/assets/berry-uYugtg8r.js +1 -0
  66. package/resources/web/assets/bibtex-CHM0blh-.js +1 -0
  67. package/resources/web/assets/bibtex-DELXwv0g.js +1 -0
  68. package/resources/web/assets/bicep-Bmn6On1c.js +1 -0
  69. package/resources/web/assets/bicep-D2njIRU5.js +1 -0
  70. package/resources/web/assets/bird2-D-8n_ahI.js +1 -0
  71. package/resources/web/assets/bird2-DPOp833l.js +1 -0
  72. package/resources/web/assets/blade-D4QpJJKB.js +1 -0
  73. package/resources/web/assets/blade-DrbQMUV-.js +1 -0
  74. package/resources/web/assets/bsl-BO_Y6i37.js +1 -0
  75. package/resources/web/assets/bsl-C4qeDxuX.js +1 -0
  76. package/resources/web/assets/c-BIGW1oBm.js +1 -0
  77. package/resources/web/assets/c-CyUOlKFr.js +1 -0
  78. package/resources/web/assets/c3-B1fh2zee.js +1 -0
  79. package/resources/web/assets/c3-eo99z4R2.js +1 -0
  80. package/resources/web/assets/cadence-Bv_4Rxtq.js +1 -0
  81. package/resources/web/assets/cadence-bIHbUj02.js +1 -0
  82. package/resources/web/assets/cairo-C_mOTUpN.js +1 -0
  83. package/resources/web/assets/cairo-KRGpt6FW.js +1 -0
  84. package/resources/web/assets/catppuccin-frappe-BCqV45_h.js +1 -0
  85. package/resources/web/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  86. package/resources/web/assets/catppuccin-latte-BWlfbWlw.js +1 -0
  87. package/resources/web/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  88. package/resources/web/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  89. package/resources/web/assets/catppuccin-macchiato-L0ooYkqX.js +1 -0
  90. package/resources/web/assets/catppuccin-mocha-CPxVXonm.js +1 -0
  91. package/resources/web/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  92. package/resources/web/assets/clarity-A4x-rz24.js +1 -0
  93. package/resources/web/assets/clarity-D53aC0YG.js +1 -0
  94. package/resources/web/assets/clojure-Bb2-3A0I.js +1 -0
  95. package/resources/web/assets/clojure-P80f7IUj.js +1 -0
  96. package/resources/web/assets/cmake-Cv5ljclQ.js +1 -0
  97. package/resources/web/assets/cmake-D1j8_8rp.js +1 -0
  98. package/resources/web/assets/cobol-CELfDnG_.js +1 -0
  99. package/resources/web/assets/cobol-nwyudZeR.js +1 -0
  100. package/resources/web/assets/codeowners-Bp6g37R7.js +1 -0
  101. package/resources/web/assets/codeowners-CKT8dJip.js +1 -0
  102. package/resources/web/assets/codeql-DXd8ggn3.js +1 -0
  103. package/resources/web/assets/codeql-DsOJ9woJ.js +1 -0
  104. package/resources/web/assets/coffee-CSg58a7P.js +1 -0
  105. package/resources/web/assets/coffee-Ch7k5sss.js +1 -0
  106. package/resources/web/assets/common-lisp-Cg-RD9OK.js +1 -0
  107. package/resources/web/assets/common-lisp-v102bg8X.js +1 -0
  108. package/resources/web/assets/coq-CxCehFeR.js +1 -0
  109. package/resources/web/assets/coq-DkFqJrB1.js +1 -0
  110. package/resources/web/assets/cpp-C28rag7_.js +1 -0
  111. package/resources/web/assets/cpp-CofmeUqb.js +1 -0
  112. package/resources/web/assets/crystal-kLfOnxTY.js +1 -0
  113. package/resources/web/assets/crystal-tKQVLTB8.js +1 -0
  114. package/resources/web/assets/csharp-COcwbKMJ.js +1 -0
  115. package/resources/web/assets/csharp-DieIJxYJ.js +1 -0
  116. package/resources/web/assets/css-BSK200cd.js +1 -0
  117. package/resources/web/assets/css-DPfMkruS.js +1 -0
  118. package/resources/web/assets/csv-AZNL9t8Q.js +1 -0
  119. package/resources/web/assets/csv-fuZLfV_i.js +1 -0
  120. package/resources/web/assets/cue-D82EKSYY.js +1 -0
  121. package/resources/web/assets/cue-nzsbQn5T.js +1 -0
  122. package/resources/web/assets/cypher-BM7Pwunj.js +1 -0
  123. package/resources/web/assets/cypher-COkxafJQ.js +1 -0
  124. package/resources/web/assets/d-85-TOEBH.js +1 -0
  125. package/resources/web/assets/d-TG9YRPoI.js +1 -0
  126. package/resources/web/assets/dark-plus-C3mMm8J8.js +1 -0
  127. package/resources/web/assets/dark-plus-DNUujdjh.js +1 -0
  128. package/resources/web/assets/dart-CF10PKvl.js +1 -0
  129. package/resources/web/assets/dart-DArdxSyj.js +1 -0
  130. package/resources/web/assets/dax-B28Cho4e.js +1 -0
  131. package/resources/web/assets/dax-CEL-wOlO.js +1 -0
  132. package/resources/web/assets/desktop-BmXAJ9_W.js +1 -0
  133. package/resources/web/assets/desktop-Z9LhWKWr.js +1 -0
  134. package/resources/web/assets/diff-BlzBhZx2.js +1 -0
  135. package/resources/web/assets/diff-D97Zzqfu.js +1 -0
  136. package/resources/web/assets/docker-BcOcwvcX.js +1 -0
  137. package/resources/web/assets/docker-DIG_IqVK.js +1 -0
  138. package/resources/web/assets/dotenv-Bf0GLMGc.js +1 -0
  139. package/resources/web/assets/dotenv-Da5cRb03.js +1 -0
  140. package/resources/web/assets/dracula-BzJJZx-M.js +1 -0
  141. package/resources/web/assets/dracula-Dl-8puSV.js +1 -0
  142. package/resources/web/assets/dracula-soft-BXkSAIEj.js +1 -0
  143. package/resources/web/assets/dracula-soft-CSMZw4vz.js +1 -0
  144. package/resources/web/assets/dream-maker-BtqSS_iP.js +1 -0
  145. package/resources/web/assets/dream-maker-DBhfoDN-.js +1 -0
  146. package/resources/web/assets/edge-BkV0erSs.js +1 -0
  147. package/resources/web/assets/edge-C9mkmEUa.js +1 -0
  148. package/resources/web/assets/elixir-B1OcFvXE.js +1 -0
  149. package/resources/web/assets/elixir-CDX3lj18.js +1 -0
  150. package/resources/web/assets/elm-BX_9EnK8.js +1 -0
  151. package/resources/web/assets/elm-DbKCFpqz.js +1 -0
  152. package/resources/web/assets/emacs-lisp-C9XAeP06.js +1 -0
  153. package/resources/web/assets/emacs-lisp-fXIB3QbG.js +1 -0
  154. package/resources/web/assets/erb-B12qg9BL.js +1 -0
  155. package/resources/web/assets/erb-C0Gc-WV-.js +1 -0
  156. package/resources/web/assets/erlang-Dh270pQQ.js +1 -0
  157. package/resources/web/assets/erlang-DsQrWhSR.js +1 -0
  158. package/resources/web/assets/everforest-dark-BgDCqdQA.js +1 -0
  159. package/resources/web/assets/everforest-dark-BxQkAq-6.js +1 -0
  160. package/resources/web/assets/everforest-light-C8M2exoo.js +1 -0
  161. package/resources/web/assets/everforest-light-CcLVmqFl.js +1 -0
  162. package/resources/web/assets/fennel-BYunw83y.js +1 -0
  163. package/resources/web/assets/fennel-CKW7gc4E.js +1 -0
  164. package/resources/web/assets/fish-BiaFC76h.js +1 -0
  165. package/resources/web/assets/fish-BvzEVeQv.js +1 -0
  166. package/resources/web/assets/fluent-C1VbA1FI.js +1 -0
  167. package/resources/web/assets/fluent-C4IJs8-o.js +1 -0
  168. package/resources/web/assets/fortran-fixed-form-B5hFr6Yn.js +1 -0
  169. package/resources/web/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  170. package/resources/web/assets/fortran-free-form-BuX3zftO.js +1 -0
  171. package/resources/web/assets/fortran-free-form-BxgE0vQu.js +1 -0
  172. package/resources/web/assets/fsharp-B6CigNpP.js +1 -0
  173. package/resources/web/assets/fsharp-CXgrBDvD.js +1 -0
  174. package/resources/web/assets/gdresource-BOOCDP_w.js +1 -0
  175. package/resources/web/assets/gdresource-ChoLB09i.js +1 -0
  176. package/resources/web/assets/gdscript-BajwJ0jS.js +1 -0
  177. package/resources/web/assets/gdscript-C5YyOfLZ.js +1 -0
  178. package/resources/web/assets/gdshader-DkwncUOv.js +1 -0
  179. package/resources/web/assets/gdshader-MbeiIFWW.js +1 -0
  180. package/resources/web/assets/genie-CTXGoN_z.js +1 -0
  181. package/resources/web/assets/genie-D0YGMca9.js +1 -0
  182. package/resources/web/assets/gherkin-DQeIZrj7.js +1 -0
  183. package/resources/web/assets/gherkin-DyxjwDmM.js +1 -0
  184. package/resources/web/assets/git-commit-BicZTByO.js +1 -0
  185. package/resources/web/assets/git-commit-F4YmCXRG.js +1 -0
  186. package/resources/web/assets/git-rebase-Bzlpfr7M.js +1 -0
  187. package/resources/web/assets/git-rebase-r7XF79zn.js +1 -0
  188. package/resources/web/assets/github-dark-DHJKELXO.js +1 -0
  189. package/resources/web/assets/github-dark-default-BuB7GGZr.js +1 -0
  190. package/resources/web/assets/github-dark-default-Cuk6v7N8.js +1 -0
  191. package/resources/web/assets/github-dark-dimmed-CQQ2kH1a.js +1 -0
  192. package/resources/web/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  193. package/resources/web/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  194. package/resources/web/assets/github-dark-high-contrast-fZoHxlg3.js +1 -0
  195. package/resources/web/assets/github-dark-vbPMK5nw.js +1 -0
  196. package/resources/web/assets/github-light-CBO01_j6.js +1 -0
  197. package/resources/web/assets/github-light-DAi9KRSo.js +1 -0
  198. package/resources/web/assets/github-light-default-D7oLnXFd.js +1 -0
  199. package/resources/web/assets/github-light-default-DNniaknl.js +1 -0
  200. package/resources/web/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  201. package/resources/web/assets/github-light-high-contrast-Kh_Z1r_U.js +1 -0
  202. package/resources/web/assets/gleam-B-IqXlZK.js +1 -0
  203. package/resources/web/assets/gleam-BspZqrRM.js +1 -0
  204. package/resources/web/assets/glimmer-js-Rg0-pVw9.js +1 -0
  205. package/resources/web/assets/glimmer-js-cZi37nA1.js +1 -0
  206. package/resources/web/assets/glimmer-ts-BY3QTAW9.js +1 -0
  207. package/resources/web/assets/glimmer-ts-U6CK756n.js +1 -0
  208. package/resources/web/assets/glsl-Bk7TyU8J.js +1 -0
  209. package/resources/web/assets/glsl-DplSGwfg.js +1 -0
  210. package/resources/web/assets/gn-deNdZ1en.js +1 -0
  211. package/resources/web/assets/gn-n2N0HUVH.js +1 -0
  212. package/resources/web/assets/gnuplot-BBjkHhdK.js +1 -0
  213. package/resources/web/assets/gnuplot-DdkO51Og.js +1 -0
  214. package/resources/web/assets/go-CxLEBnE3.js +1 -0
  215. package/resources/web/assets/go-Dn4lI1Tv.js +1 -0
  216. package/resources/web/assets/graphql-By4-2MiP.js +1 -0
  217. package/resources/web/assets/graphql-ChdNCCLP.js +1 -0
  218. package/resources/web/assets/groovy-DjMbfbx0.js +1 -0
  219. package/resources/web/assets/groovy-gcz8RCvz.js +1 -0
  220. package/resources/web/assets/gruvbox-dark-hard-B-lrt2RD.js +1 -0
  221. package/resources/web/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  222. package/resources/web/assets/gruvbox-dark-medium-DqRMfHwY.js +1 -0
  223. package/resources/web/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  224. package/resources/web/assets/gruvbox-dark-soft-0cd3aJ5k.js +1 -0
  225. package/resources/web/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  226. package/resources/web/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  227. package/resources/web/assets/gruvbox-light-hard-CdMyBl7-.js +1 -0
  228. package/resources/web/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  229. package/resources/web/assets/gruvbox-light-medium-k_NbMmjL.js +1 -0
  230. package/resources/web/assets/gruvbox-light-soft-B_wmbOPu.js +1 -0
  231. package/resources/web/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  232. package/resources/web/assets/hack-CaT9iCJl.js +1 -0
  233. package/resources/web/assets/hack-Ce3HFLQu.js +1 -0
  234. package/resources/web/assets/haml-B8DHNrY2.js +1 -0
  235. package/resources/web/assets/haml-C-C08OMF.js +1 -0
  236. package/resources/web/assets/handlebars-BFxKmXBZ.js +1 -0
  237. package/resources/web/assets/handlebars-BL8al0AC.js +1 -0
  238. package/resources/web/assets/haskell-Df6bDoY_.js +1 -0
  239. package/resources/web/assets/haskell-DtebQ3Kv.js +1 -0
  240. package/resources/web/assets/haxe-CzTSHFRz.js +1 -0
  241. package/resources/web/assets/haxe-n0Q_eay_.js +1 -0
  242. package/resources/web/assets/hcl-BWvSN4gD.js +1 -0
  243. package/resources/web/assets/hcl-shhv74hy.js +1 -0
  244. package/resources/web/assets/highlighted-body-TPN3WLV5-Bp60oMTV.js +1 -0
  245. package/resources/web/assets/hjson-BEMFYqr7.js +1 -0
  246. package/resources/web/assets/hjson-D5-asLiD.js +1 -0
  247. package/resources/web/assets/hlsl-D3lLCCz7.js +1 -0
  248. package/resources/web/assets/hlsl-Pefxhtaj.js +1 -0
  249. package/resources/web/assets/horizon-BUw7H-hv.js +1 -0
  250. package/resources/web/assets/horizon-Dr-pOaOB.js +1 -0
  251. package/resources/web/assets/horizon-bright-CUuTKBJd.js +1 -0
  252. package/resources/web/assets/horizon-bright-Cn-bp-IR.js +1 -0
  253. package/resources/web/assets/houston-D7pTNItX.js +1 -0
  254. package/resources/web/assets/houston-DnULxvSX.js +1 -0
  255. package/resources/web/assets/html-DBrZJmtb.js +1 -0
  256. package/resources/web/assets/html-GMplVEZG.js +1 -0
  257. package/resources/web/assets/html-derivative-BFtXZ54Q.js +1 -0
  258. package/resources/web/assets/html-derivative-DgyNW28a.js +1 -0
  259. package/resources/web/assets/http-D0p2QOuJ.js +1 -0
  260. package/resources/web/assets/http-jrhK8wxY.js +1 -0
  261. package/resources/web/assets/hurl-CeF7EoTQ.js +1 -0
  262. package/resources/web/assets/hurl-irOxFIW8.js +1 -0
  263. package/resources/web/assets/hxml-B_SuSTPP.js +1 -0
  264. package/resources/web/assets/hxml-Bvhsp5Yf.js +1 -0
  265. package/resources/web/assets/hy-CTpXmg0M.js +1 -0
  266. package/resources/web/assets/hy-DFXneXwc.js +1 -0
  267. package/resources/web/assets/imba-DGztddWO.js +1 -0
  268. package/resources/web/assets/imba-z_cUhu9e.js +1 -0
  269. package/resources/web/assets/index-CRuElBS1.js +1 -0
  270. package/resources/web/assets/index-DD-vWr1W.js +10 -0
  271. package/resources/web/assets/ini-BEwlwnbL.js +1 -0
  272. package/resources/web/assets/ini-DOGW4-0C.js +1 -0
  273. package/resources/web/assets/java-B2AjWfgk.js +1 -0
  274. package/resources/web/assets/java-CylS5w8V.js +1 -0
  275. package/resources/web/assets/javascript-XPxc2APE.js +1 -0
  276. package/resources/web/assets/javascript-wDzz0qaB.js +1 -0
  277. package/resources/web/assets/jinja-4LBKfQ-Z.js +1 -0
  278. package/resources/web/assets/jinja-DlBE7Xgz.js +1 -0
  279. package/resources/web/assets/jison-DRGa8fbr.js +1 -0
  280. package/resources/web/assets/jison-wvAkD_A8.js +1 -0
  281. package/resources/web/assets/json-CjLXzM_z.js +1 -0
  282. package/resources/web/assets/json-Cp-IABpG.js +1 -0
  283. package/resources/web/assets/json5-C9tS-k6U.js +1 -0
  284. package/resources/web/assets/json5-DE06a0U2.js +1 -0
  285. package/resources/web/assets/jsonc-BYi4HS05.js +1 -0
  286. package/resources/web/assets/jsonc-Des-eS-w.js +1 -0
  287. package/resources/web/assets/jsonl-CuhIcKDk.js +1 -0
  288. package/resources/web/assets/jsonl-DcaNXYhu.js +1 -0
  289. package/resources/web/assets/jsonnet-DFQXde-d.js +1 -0
  290. package/resources/web/assets/jsonnet-DtQdHwK-.js +1 -0
  291. package/resources/web/assets/jssm-BlhucWo7.js +1 -0
  292. package/resources/web/assets/jssm-C2t-YnRu.js +1 -0
  293. package/resources/web/assets/jsx-BGEKFWBk.js +1 -0
  294. package/resources/web/assets/jsx-g9-lgVsj.js +1 -0
  295. package/resources/web/assets/julia-BxjEHQ54.js +1 -0
  296. package/resources/web/assets/julia-CxzCAyBv.js +1 -0
  297. package/resources/web/assets/just-Abn-AdSa.js +1 -0
  298. package/resources/web/assets/just-Cw27pwNe.js +1 -0
  299. package/resources/web/assets/kanagawa-dragon-9xlKYyML.js +1 -0
  300. package/resources/web/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  301. package/resources/web/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  302. package/resources/web/assets/kanagawa-lotus-D7R2-rgR.js +1 -0
  303. package/resources/web/assets/kanagawa-wave-DWedfzmr.js +1 -0
  304. package/resources/web/assets/kanagawa-wave-DXzwPY55.js +1 -0
  305. package/resources/web/assets/kdl-DJsF4U57.js +1 -0
  306. package/resources/web/assets/kdl-DV7GczEv.js +1 -0
  307. package/resources/web/assets/kotlin-BdnUsdx6.js +1 -0
  308. package/resources/web/assets/kotlin-DwKqsDKK.js +1 -0
  309. package/resources/web/assets/kusto-C0JqhYMw.js +1 -0
  310. package/resources/web/assets/kusto-DZf3V79B.js +1 -0
  311. package/resources/web/assets/laserwave-Crdg5MSq.js +1 -0
  312. package/resources/web/assets/laserwave-DUszq2jm.js +1 -0
  313. package/resources/web/assets/latex-C-qBiGC3.js +1 -0
  314. package/resources/web/assets/latex-CWtU0Tv5.js +1 -0
  315. package/resources/web/assets/lean-BZvkOJ9d.js +1 -0
  316. package/resources/web/assets/lean-QIsVZaRF.js +1 -0
  317. package/resources/web/assets/less-B1dDrJ26.js +1 -0
  318. package/resources/web/assets/less-C76OjOdF.js +1 -0
  319. package/resources/web/assets/light-plus-B7mTdjB0.js +1 -0
  320. package/resources/web/assets/light-plus-Keeg-hmX.js +1 -0
  321. package/resources/web/assets/liquid-DYVedYrR.js +1 -0
  322. package/resources/web/assets/liquid-DdraCjph.js +1 -0
  323. package/resources/web/assets/llvm-ByOMZdUC.js +1 -0
  324. package/resources/web/assets/llvm-DjAJT7YJ.js +1 -0
  325. package/resources/web/assets/log-2UxHyX5q.js +1 -0
  326. package/resources/web/assets/log-CbW7hOWU.js +1 -0
  327. package/resources/web/assets/logo-BbooMuDm.js +1 -0
  328. package/resources/web/assets/logo-BtOb2qkB.js +1 -0
  329. package/resources/web/assets/lua-BaeVxFsk.js +1 -0
  330. package/resources/web/assets/lua-JmSlR1pZ.js +1 -0
  331. package/resources/web/assets/luau-C-HG3fhB.js +1 -0
  332. package/resources/web/assets/luau-lY4yXJyn.js +1 -0
  333. package/resources/web/assets/make-CHLpvVh8.js +1 -0
  334. package/resources/web/assets/make-s9FKP0VE.js +1 -0
  335. package/resources/web/assets/markdown-CKXSK5AY.js +1 -0
  336. package/resources/web/assets/markdown-Cvjx9yec.js +1 -0
  337. package/resources/web/assets/marko-CQjc_OQE.js +1 -0
  338. package/resources/web/assets/marko-CnJfTvn9.js +1 -0
  339. package/resources/web/assets/material-theme-BjSij5jK.js +1 -0
  340. package/resources/web/assets/material-theme-D5KoaKCx.js +1 -0
  341. package/resources/web/assets/material-theme-darker-BfHTSMKl.js +1 -0
  342. package/resources/web/assets/material-theme-darker-Ci314V8G.js +1 -0
  343. package/resources/web/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  344. package/resources/web/assets/material-theme-lighter-BsHhGFQr.js +1 -0
  345. package/resources/web/assets/material-theme-ocean-CyktbL80.js +1 -0
  346. package/resources/web/assets/material-theme-ocean-DcalBkIS.js +1 -0
  347. package/resources/web/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  348. package/resources/web/assets/material-theme-palenight-GGCMgrXw.js +1 -0
  349. package/resources/web/assets/matlab-BQKM-LA_.js +1 -0
  350. package/resources/web/assets/matlab-D7o27uSR.js +1 -0
  351. package/resources/web/assets/mdc-BMNejdWA.js +1 -0
  352. package/resources/web/assets/mdc-CqpcwBMx.js +1 -0
  353. package/resources/web/assets/mdx-BWRhHdFl.js +1 -0
  354. package/resources/web/assets/mdx-Cmh6b_Ma.js +1 -0
  355. package/resources/web/assets/mermaid-COhksqSL.js +1 -0
  356. package/resources/web/assets/mermaid-O7DHMXV3-BA_ilq_v.js +393 -0
  357. package/resources/web/assets/mermaid-O7DHMXV3-XXpCNYgu.css +1 -0
  358. package/resources/web/assets/mermaid-mWjccvbQ.js +1 -0
  359. package/resources/web/assets/min-dark-CDSXMz5a.js +1 -0
  360. package/resources/web/assets/min-dark-CafNBF8u.js +1 -0
  361. package/resources/web/assets/min-light-CM5JNFAA.js +1 -0
  362. package/resources/web/assets/min-light-CTRr51gU.js +1 -0
  363. package/resources/web/assets/mipsasm-BElnB_7Q.js +1 -0
  364. package/resources/web/assets/mipsasm-CKIfxQSi.js +1 -0
  365. package/resources/web/assets/mojo-CsmCHy7A.js +1 -0
  366. package/resources/web/assets/mojo-rZm6bMo-.js +1 -0
  367. package/resources/web/assets/monokai-D4h5O-jR.js +1 -0
  368. package/resources/web/assets/monokai-O2TR9gDo.js +1 -0
  369. package/resources/web/assets/moonbit-B8hphrHK.js +1 -0
  370. package/resources/web/assets/moonbit-_H4v1dQx.js +1 -0
  371. package/resources/web/assets/move-Ccg_HAOv.js +1 -0
  372. package/resources/web/assets/move-IF9eRakj.js +1 -0
  373. package/resources/web/assets/narrat-Cy2k80UN.js +1 -0
  374. package/resources/web/assets/narrat-DRg8JJMk.js +1 -0
  375. package/resources/web/assets/nextflow-DCuLxrAx.js +1 -0
  376. package/resources/web/assets/nextflow-Zz6hmt5N.js +1 -0
  377. package/resources/web/assets/nextflow-groovy-BeH2EWoN.js +1 -0
  378. package/resources/web/assets/nextflow-groovy-COOIDLZf.js +1 -0
  379. package/resources/web/assets/nginx-BpAMiNFr.js +1 -0
  380. package/resources/web/assets/nginx-bBKbG2uI.js +1 -0
  381. package/resources/web/assets/night-owl-C39BiMTA.js +1 -0
  382. package/resources/web/assets/night-owl-NZdGqbHT.js +1 -0
  383. package/resources/web/assets/night-owl-light-CMTm3GFP.js +1 -0
  384. package/resources/web/assets/night-owl-light-Dx-BWqtN.js +1 -0
  385. package/resources/web/assets/nim-CVrawwO9.js +1 -0
  386. package/resources/web/assets/nim-Cm6-Nayq.js +1 -0
  387. package/resources/web/assets/nix-CwoSXNpI.js +1 -0
  388. package/resources/web/assets/nix-DFZZLjuC.js +1 -0
  389. package/resources/web/assets/nord-BNMOv-tL.js +1 -0
  390. package/resources/web/assets/nord-Ddv68eIx.js +1 -0
  391. package/resources/web/assets/nushell-BaAZo4zx.js +1 -0
  392. package/resources/web/assets/nushell-Cz2AlsmD.js +1 -0
  393. package/resources/web/assets/objective-c-DXmwc3jG.js +1 -0
  394. package/resources/web/assets/objective-c-sgtl-PdD.js +1 -0
  395. package/resources/web/assets/objective-cpp-BTQ37cYs.js +1 -0
  396. package/resources/web/assets/objective-cpp-CLxacb5B.js +1 -0
  397. package/resources/web/assets/ocaml-BvBP9Lm0.js +1 -0
  398. package/resources/web/assets/ocaml-C0hk2d4L.js +1 -0
  399. package/resources/web/assets/odin-BBf5iR-q.js +1 -0
  400. package/resources/web/assets/odin-BTnrxC4P.js +1 -0
  401. package/resources/web/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  402. package/resources/web/assets/one-dark-pro-DnMjqbdW.js +1 -0
  403. package/resources/web/assets/one-light-C3Wv6jpd.js +1 -0
  404. package/resources/web/assets/one-light-dsKzgxTn.js +1 -0
  405. package/resources/web/assets/openapi_extractor_bg-DZrbVm4x.wasm +0 -0
  406. package/resources/web/assets/openscad-C4EeE6gA.js +1 -0
  407. package/resources/web/assets/openscad-Dmi2c_42.js +1 -0
  408. package/resources/web/assets/pascal-D93ZcfNL.js +1 -0
  409. package/resources/web/assets/pascal-DYjw0AuS.js +1 -0
  410. package/resources/web/assets/perl-C0TMdlhV.js +1 -0
  411. package/resources/web/assets/perl-Djxv1YJ9.js +1 -0
  412. package/resources/web/assets/php-DczsLzXi.js +1 -0
  413. package/resources/web/assets/php-Dhbhpdrm.js +1 -0
  414. package/resources/web/assets/pkl-Cij4Vm9z.js +1 -0
  415. package/resources/web/assets/pkl-u5AG7uiY.js +1 -0
  416. package/resources/web/assets/plastic-3e1v2bzS.js +1 -0
  417. package/resources/web/assets/plastic-Ckcm5hoS.js +1 -0
  418. package/resources/web/assets/plsql-Bd6NdBJI.js +1 -0
  419. package/resources/web/assets/plsql-ChMvpjG-.js +1 -0
  420. package/resources/web/assets/po-BTJTHyun.js +1 -0
  421. package/resources/web/assets/po-CUhVi7la.js +1 -0
  422. package/resources/web/assets/poimandres-BbcZclLp.js +1 -0
  423. package/resources/web/assets/poimandres-CS3Unz2-.js +1 -0
  424. package/resources/web/assets/polar-B-qJ3AIy.js +1 -0
  425. package/resources/web/assets/polar-C0HS_06l.js +1 -0
  426. package/resources/web/assets/postcss-BSGhOJ4k.js +1 -0
  427. package/resources/web/assets/postcss-CXtECtnM.js +1 -0
  428. package/resources/web/assets/powerquery-CC1XieQO.js +1 -0
  429. package/resources/web/assets/powerquery-CEu0bR-o.js +1 -0
  430. package/resources/web/assets/powershell-DdRAnR4Z.js +1 -0
  431. package/resources/web/assets/powershell-Dpen1YoG.js +1 -0
  432. package/resources/web/assets/prisma-C0hJlfqX.js +1 -0
  433. package/resources/web/assets/prisma-Dd19v3D-.js +1 -0
  434. package/resources/web/assets/prolog-CbFg5uaA.js +1 -0
  435. package/resources/web/assets/prolog-bSi0SE3D.js +1 -0
  436. package/resources/web/assets/proto-BZ_yZy5q.js +1 -0
  437. package/resources/web/assets/proto-C7zT0LnQ.js +1 -0
  438. package/resources/web/assets/pug-CGlum2m_.js +1 -0
  439. package/resources/web/assets/pug-ClQUpJlV.js +1 -0
  440. package/resources/web/assets/puppet-BMWR74SV.js +1 -0
  441. package/resources/web/assets/puppet-ja2MI9-b.js +1 -0
  442. package/resources/web/assets/purescript-CklMAg4u.js +1 -0
  443. package/resources/web/assets/purescript-CxgsQa43.js +1 -0
  444. package/resources/web/assets/python-B6aJPvgy.js +1 -0
  445. package/resources/web/assets/python-DgE28U1V.js +1 -0
  446. package/resources/web/assets/qml-3beO22l8.js +1 -0
  447. package/resources/web/assets/qml-BEkX6VoX.js +1 -0
  448. package/resources/web/assets/qmldir-C8lEn-DE.js +1 -0
  449. package/resources/web/assets/qmldir-DNYHzgow.js +1 -0
  450. package/resources/web/assets/qss-BZsEMKxJ.js +1 -0
  451. package/resources/web/assets/qss-IeuSbFQv.js +1 -0
  452. package/resources/web/assets/r-BcofxrH1.js +1 -0
  453. package/resources/web/assets/r-Dspwwk_N.js +1 -0
  454. package/resources/web/assets/racket-BqYA7rlc.js +1 -0
  455. package/resources/web/assets/racket-CzHBKLyy.js +1 -0
  456. package/resources/web/assets/raku-CPccoUN1.js +1 -0
  457. package/resources/web/assets/raku-DXvB9xmW.js +1 -0
  458. package/resources/web/assets/razor-DnCvuKPj.js +1 -0
  459. package/resources/web/assets/razor-Uh8Bk_45.js +1 -0
  460. package/resources/web/assets/red-BQzOET_I.js +1 -0
  461. package/resources/web/assets/red-bN70gL4F.js +1 -0
  462. package/resources/web/assets/reg-C-SQnVFl.js +1 -0
  463. package/resources/web/assets/reg-DkqHJyC0.js +1 -0
  464. package/resources/web/assets/regexp-BW_zLBm-.js +1 -0
  465. package/resources/web/assets/regexp-CDVJQ6XC.js +1 -0
  466. package/resources/web/assets/rel-BIqKdwke.js +1 -0
  467. package/resources/web/assets/rel-C3B-1QV4.js +1 -0
  468. package/resources/web/assets/riscv-BM1_JUlF.js +1 -0
  469. package/resources/web/assets/riscv-s6spwTFp.js +1 -0
  470. package/resources/web/assets/ron-CloI94uS.js +1 -0
  471. package/resources/web/assets/ron-D8l8udqQ.js +1 -0
  472. package/resources/web/assets/rose-pine-B3EY3h2-.js +1 -0
  473. package/resources/web/assets/rose-pine-dawn-6WQi5eS6.js +1 -0
  474. package/resources/web/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  475. package/resources/web/assets/rose-pine-moon-BTPbmVvF.js +1 -0
  476. package/resources/web/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  477. package/resources/web/assets/rose-pine-qdsjHGoJ.js +1 -0
  478. package/resources/web/assets/rosmsg-BJDFO7_C.js +1 -0
  479. package/resources/web/assets/rosmsg-TcL_zzr8.js +1 -0
  480. package/resources/web/assets/rst-BQ8kJ8ZW.js +1 -0
  481. package/resources/web/assets/rst-BrH8l1NY.js +1 -0
  482. package/resources/web/assets/ruby-DsIP2xqq.js +1 -0
  483. package/resources/web/assets/ruby-Dw2BHqvy.js +1 -0
  484. package/resources/web/assets/rust-B1yitclQ.js +1 -0
  485. package/resources/web/assets/rust-DJErdhjk.js +1 -0
  486. package/resources/web/assets/sas-BZeeyq_z.js +1 -0
  487. package/resources/web/assets/sas-cz2c8ADy.js +1 -0
  488. package/resources/web/assets/sass-CIfQ9yqV.js +1 -0
  489. package/resources/web/assets/sass-Cj5Yp3dK.js +1 -0
  490. package/resources/web/assets/scala-C151Ov-r.js +1 -0
  491. package/resources/web/assets/scala-CWwlNtab.js +1 -0
  492. package/resources/web/assets/scheme-ByM66cy_.js +1 -0
  493. package/resources/web/assets/scheme-C98Dy4si.js +1 -0
  494. package/resources/web/assets/scss-Dk05w39G.js +1 -0
  495. package/resources/web/assets/scss-OYdSNvt2.js +1 -0
  496. package/resources/web/assets/sdbl-C5Q1usnU.js +1 -0
  497. package/resources/web/assets/sdbl-DVxCFoDh.js +1 -0
  498. package/resources/web/assets/shaderlab-DNkMdb2B.js +1 -0
  499. package/resources/web/assets/shaderlab-Dg9Lc6iA.js +1 -0
  500. package/resources/web/assets/shellscript-CE-5zpiL.js +1 -0
  501. package/resources/web/assets/shellscript-Yzrsuije.js +1 -0
  502. package/resources/web/assets/shellsession-BADoaaVG.js +1 -0
  503. package/resources/web/assets/shellsession-BhddCRKA.js +1 -0
  504. package/resources/web/assets/slack-dark-BthQWCQV.js +1 -0
  505. package/resources/web/assets/slack-dark-DBfAPHjY.js +1 -0
  506. package/resources/web/assets/slack-ochin-DqwNpetd.js +1 -0
  507. package/resources/web/assets/slack-ochin-szRk-9hG.js +1 -0
  508. package/resources/web/assets/smalltalk-BERRCDM3.js +1 -0
  509. package/resources/web/assets/smalltalk-GKfhTxrk.js +1 -0
  510. package/resources/web/assets/snazzy-light-Bw305WKR.js +1 -0
  511. package/resources/web/assets/snazzy-light-CBYPMa6b.js +1 -0
  512. package/resources/web/assets/solarized-dark-DXbdFlpD.js +1 -0
  513. package/resources/web/assets/solarized-dark-Tf4Pofl7.js +1 -0
  514. package/resources/web/assets/solarized-light-L9t79GZl.js +1 -0
  515. package/resources/web/assets/solarized-light-n46tpZ2s.js +1 -0
  516. package/resources/web/assets/solidity-DanOLEvk.js +1 -0
  517. package/resources/web/assets/solidity-rGO070M0.js +1 -0
  518. package/resources/web/assets/soy-Brmx7dQM.js +1 -0
  519. package/resources/web/assets/soy-C6ERzLIv.js +1 -0
  520. package/resources/web/assets/sparql-CHK3vDkL.js +1 -0
  521. package/resources/web/assets/sparql-rVzFXLq3.js +1 -0
  522. package/resources/web/assets/splunk-BtCnVYZw.js +1 -0
  523. package/resources/web/assets/splunk-YU1HCmJX.js +1 -0
  524. package/resources/web/assets/sql-BLtJtn59.js +1 -0
  525. package/resources/web/assets/sql-CKXjX23X.js +1 -0
  526. package/resources/web/assets/ssh-config-Cpnw3KEt.js +1 -0
  527. package/resources/web/assets/ssh-config-_ykCGR6B.js +1 -0
  528. package/resources/web/assets/stata-BH5u7GGu.js +1 -0
  529. package/resources/web/assets/stata-BJqnY-gO.js +1 -0
  530. package/resources/web/assets/stylus-BEDo0Tqx.js +1 -0
  531. package/resources/web/assets/stylus-CHekGIgu.js +1 -0
  532. package/resources/web/assets/surrealql-Bq5Q-fJD.js +1 -0
  533. package/resources/web/assets/surrealql-CYeReaNr.js +1 -0
  534. package/resources/web/assets/svelte-C_ipcX3V.js +1 -0
  535. package/resources/web/assets/svelte-xWy8v8x_.js +1 -0
  536. package/resources/web/assets/swift-D82vCrfD.js +1 -0
  537. package/resources/web/assets/swift-DjrYMa62.js +1 -0
  538. package/resources/web/assets/synthwave-84-CNQ9Fj-_.js +1 -0
  539. package/resources/web/assets/synthwave-84-CbfX1IO0.js +1 -0
  540. package/resources/web/assets/system-verilog-CnnmHF94.js +1 -0
  541. package/resources/web/assets/system-verilog-rKNYENrf.js +1 -0
  542. package/resources/web/assets/systemd-4A_iFExJ.js +1 -0
  543. package/resources/web/assets/systemd-C1FfcI00.js +1 -0
  544. package/resources/web/assets/talonscript-CkByrt1z.js +1 -0
  545. package/resources/web/assets/talonscript-bksoRmW6.js +1 -0
  546. package/resources/web/assets/tasl-Bl4tsGRM.js +1 -0
  547. package/resources/web/assets/tasl-QIJgUcNo.js +1 -0
  548. package/resources/web/assets/tcl-B2_VAYrd.js +1 -0
  549. package/resources/web/assets/tcl-dwOrl1Do.js +1 -0
  550. package/resources/web/assets/templ-Bod2PxCB.js +1 -0
  551. package/resources/web/assets/templ-P3uqSqPl.js +1 -0
  552. package/resources/web/assets/terraform-BETggiCN.js +1 -0
  553. package/resources/web/assets/terraform-Ba94thAr.js +1 -0
  554. package/resources/web/assets/tex-BLPnQt1V.js +1 -0
  555. package/resources/web/assets/tex-idrVyKtj.js +1 -0
  556. package/resources/web/assets/tokyo-night-J9jDJp4U.js +1 -0
  557. package/resources/web/assets/tokyo-night-hegEt444.js +1 -0
  558. package/resources/web/assets/toml-Btlk-g9G.js +1 -0
  559. package/resources/web/assets/toml-vGWfd6FD.js +1 -0
  560. package/resources/web/assets/ts-tags-eLBrqaVN.js +1 -0
  561. package/resources/web/assets/ts-tags-zn1MmPIZ.js +1 -0
  562. package/resources/web/assets/tsv-B_m7g4N7.js +1 -0
  563. package/resources/web/assets/tsv-DYfmKMIW.js +1 -0
  564. package/resources/web/assets/tsx-COt5Ahok.js +1 -0
  565. package/resources/web/assets/tsx-Dio8iE-N.js +1 -0
  566. package/resources/web/assets/turtle-BsS91CYL.js +1 -0
  567. package/resources/web/assets/turtle-whXsfw69.js +1 -0
  568. package/resources/web/assets/twig-DNn4PbVi.js +1 -0
  569. package/resources/web/assets/twig-LEyH1z5E.js +1 -0
  570. package/resources/web/assets/typescript-BPQ3VLAy.js +1 -0
  571. package/resources/web/assets/typescript-DttGkNCf.js +1 -0
  572. package/resources/web/assets/typespec-BGHnOYBU.js +1 -0
  573. package/resources/web/assets/typespec-C_z-8Pri.js +1 -0
  574. package/resources/web/assets/typst-D2RORpaG.js +1 -0
  575. package/resources/web/assets/typst-DHCkPAjA.js +1 -0
  576. package/resources/web/assets/v-BcVCzyr7.js +1 -0
  577. package/resources/web/assets/v-CvM42WIw.js +1 -0
  578. package/resources/web/assets/vala-B_5xOBNr.js +1 -0
  579. package/resources/web/assets/vala-CsfeWuGM.js +1 -0
  580. package/resources/web/assets/vb-BVDm3zBt.js +1 -0
  581. package/resources/web/assets/vb-D17OF-Vu.js +1 -0
  582. package/resources/web/assets/verilog-BQ8w6xss.js +1 -0
  583. package/resources/web/assets/verilog-D5iownw6.js +1 -0
  584. package/resources/web/assets/vesper-C5GDOJD3.js +1 -0
  585. package/resources/web/assets/vesper-DU1UobuO.js +1 -0
  586. package/resources/web/assets/vhdl-Bmgbkl_-.js +1 -0
  587. package/resources/web/assets/vhdl-CeAyd5Ju.js +1 -0
  588. package/resources/web/assets/viml-3ZODU9FQ.js +1 -0
  589. package/resources/web/assets/viml-CJc9bBzg.js +1 -0
  590. package/resources/web/assets/vitesse-black-BeJXV_f5.js +1 -0
  591. package/resources/web/assets/vitesse-black-Bkuqu6BP.js +1 -0
  592. package/resources/web/assets/vitesse-dark-D0r3Knsf.js +1 -0
  593. package/resources/web/assets/vitesse-dark-mzFqOv-V.js +1 -0
  594. package/resources/web/assets/vitesse-light-BoFwUIac.js +1 -0
  595. package/resources/web/assets/vitesse-light-CVO1_9PV.js +1 -0
  596. package/resources/web/assets/vue-DN_0RTcg.js +1 -0
  597. package/resources/web/assets/vue-DiyPqOwP.js +1 -0
  598. package/resources/web/assets/vue-html-AaS7Mt5G.js +1 -0
  599. package/resources/web/assets/vue-html-BM4TQ0nH.js +1 -0
  600. package/resources/web/assets/vue-vine-CQOfvN7w.js +1 -0
  601. package/resources/web/assets/vue-vine-CcuWFpUQ.js +1 -0
  602. package/resources/web/assets/vyper-B6NKdirK.js +1 -0
  603. package/resources/web/assets/vyper-CDx5xZoG.js +1 -0
  604. package/resources/web/assets/wasm-CG6Dc4jp.js +1 -0
  605. package/resources/web/assets/wasm-Ck_ssClF.js +1 -0
  606. package/resources/web/assets/wasm-LUzQYg3H.js +1 -0
  607. package/resources/web/assets/wasm-MzD3tlZU.js +1 -0
  608. package/resources/web/assets/wenyan-8fXatRyt.js +1 -0
  609. package/resources/web/assets/wenyan-BV7otONQ.js +1 -0
  610. package/resources/web/assets/wgsl-CECC3vJ5.js +1 -0
  611. package/resources/web/assets/wgsl-Dx-B1_4e.js +1 -0
  612. package/resources/web/assets/wikitext-BaRWL9sq.js +1 -0
  613. package/resources/web/assets/wikitext-BhOHFoWU.js +1 -0
  614. package/resources/web/assets/wit-5i3qLPDT.js +1 -0
  615. package/resources/web/assets/wit-MEd50GYB.js +1 -0
  616. package/resources/web/assets/wolfram-CmMaIVaG.js +1 -0
  617. package/resources/web/assets/wolfram-lXgVvXCa.js +1 -0
  618. package/resources/web/assets/xml-DtyAt_xK.js +1 -0
  619. package/resources/web/assets/xml-sdJ4AIDG.js +1 -0
  620. package/resources/web/assets/xsl-Btrj9DhN.js +1 -0
  621. package/resources/web/assets/xsl-CtQFsRM5.js +1 -0
  622. package/resources/web/assets/yaml-B92AUxDB.js +1 -0
  623. package/resources/web/assets/yaml-Buea-lGh.js +1 -0
  624. package/resources/web/assets/zenscript-DVFEvuxE.js +1 -0
  625. package/resources/web/assets/zenscript-Dja4fBOE.js +1 -0
  626. package/resources/web/assets/zig-LhWa2ADv.js +1 -0
  627. package/resources/web/assets/zig-VOosw3JB.js +1 -0
  628. package/resources/web/index.html +24 -0
  629. package/CHANGELOG.md +0 -30
  630. package/LICENSE +0 -21
  631. package/bin/x.js +0 -61
  632. package/docs/README-ES.md +0 -110
  633. package/docs/_config.yml +0 -1
  634. package/docs/img/en.png +0 -0
  635. package/docs/img/jake.gif +0 -0
  636. package/docs/img/sp.png +0 -0
  637. package/lib/builders.js +0 -285
  638. package/lib/config.js +0 -133
  639. package/lib/defaults.js +0 -29
  640. package/lib/extends.js +0 -100
  641. package/lib/i18n.js +0 -57
  642. package/lib/interpolate.js +0 -79
  643. package/lib/utils.js +0 -132
  644. package/lib/validators.js +0 -192
package/README.md CHANGED
@@ -1,111 +1,314 @@
1
- # eXecutor
2
- ### **_A powerful "short-cutter" to your console to you and your team!!_**
1
+ # executor
3
2
 
4
- [![npm](https://img.shields.io/npm/v/executor.svg?style=flat-square)](https://www.npmjs.com/package/executor)
5
- [![CircleCI](https://circleci.com/gh/crystian/executor/tree/master.svg?style=shield)](https://circleci.com/gh/crystian/executor/tree/master)
6
- [![Codacy grade](https://img.shields.io/codacy/grade/d3f65a1bc7604109843a0b9bda912c3b.svg?style=flat-square)](https://www.codacy.com/app/crystian/executor?utm_source=github.com&utm_medium=referral&utm_content=crystian/executor&utm_campaign=Badge_Grade)
7
- [![Codacy coverage](https://img.shields.io/codacy/coverage/d3f65a1bc7604109843a0b9bda912c3b.svg?style=flat-square)](https://www.codacy.com/app/crystian/executor?utm_source=github.com&utm_medium=referral&utm_content=crystian/executor&utm_campaign=Badge_Coverage)
8
- [![npm](https://img.shields.io/npm/dm/executor.svg?style=flat-square)](https://www.npmjs.com/package/executor)
9
- [![HitCount](http://hits.dwyl.com/crystian/executor.svg)](http://hits.dwyl.com/crystian/executor)
3
+ `executor` is a local-first execution environment for AI agents.
10
4
 
11
- [![license](https://img.shields.io/npm/l/executor.svg?style=flat-square)](https://raw.githubusercontent.com/crystian/executor/master/LICENSE)
12
- [![David](https://img.shields.io/david/crystian/executor.svg?style=flat-square)](https://github.com/crystian/executor/blob/master/package.json)
13
- [![Gitter](https://img.shields.io/gitter/room/crystian/executor.svg?style=flat-square)](https://gitter.im/crystian/executor/??utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
+ It gives an agent a TypeScript runtime, a discoverable tool catalog, and a single local place to connect external systems such as MCP servers, OpenAPI APIs, and GraphQL APIs. Instead of pasting large MCP manifests into every chat or giving an agent broad shell access, you run code inside `executor` and let it call typed `tools.*` functions.
14
6
 
15
- [ english ![](docs/img/en.png) ] [ [spanish ![](docs/img/sp.png) ](docs/README-ES.md) ]
7
+ At runtime, `executor` behaves like one local product:
16
8
 
17
- ---
9
+ - a CLI for starting the runtime and executing code
10
+ - a local API server
11
+ - a local web UI for connecting sources, inspecting tools, and managing secrets
12
+ - an MCP endpoint for hosts that want to drive `executor` through MCP
18
13
 
19
- ## TL;DR
14
+ The current codebase is the v3 rewrite. Older experiments live in `legacy/` and `legacy2/`, but the active architecture is the one in `apps/` and `packages/`.
20
15
 
21
- This tool allows you to save a lot of time writing commands with totally custom shortcuts, that you can share on the project with your "human" team or machines, with a unique code on the same place. #agile #needForSpeed.
22
-
23
- > Like `scripts` of `package.json` but with _steroids_.
16
+ ## Why this exists
24
17
 
25
- **Notes:** The idea is not to drop the console; it's for optimising it!
26
-
27
- ### Features
18
+ `executor` is built around a simple idea: agents should work against a structured tool environment instead of guessing at raw HTTP calls, carrying huge MCP definitions in context, or running arbitrary local commands with broad permissions.
28
19
 
29
- * Multi-platform: An only code that works on all platforms. Powered by [nodejs](https://nodejs.org)
30
- * Templates for easy reuse
31
- * It does not matter what kind of project is, if you write commands this tool can be helpful for you
32
- * There are five source types of variables: Predefined, environment, package.json, templates and shortcuts.
33
- * Devs and DevOps can be friends with it because they can share their scripts.
34
- * Typo on long command lines are past problems!
35
- * Do away with one thousand of similar scripts on your `package.json`!
36
- (`build`, `build-ci`, `build-prod`, `build-prod-ci`, `build-qa`, `build-qa-ci`, `build-ci-cache`, etc...)
37
- * The `scripts` on the `package.json` were modified and have to `rebuild` your docker image, never again!
38
- * **Without dependencies from other modules!**
20
+ In practice that means:
39
21
 
40
- ![](docs/img/jake.gif)
22
+ - sources are connected once and turned into a reusable workspace tool catalog
23
+ - the agent discovers tools by intent, inspects schemas, and then calls typed functions
24
+ - secrets and OAuth flows stay in the local runtime and web UI instead of being pasted into chat
25
+ - human interaction can pause an execution and resume it cleanly
41
26
 
42
- ---
43
- ## Documentation
27
+ ## Mental model
44
28
 
45
- ### Spoiler
29
+ Think of `executor` as a local control plane for agent tool use.
46
30
 
47
- ##### Before
48
- On `package.json`
31
+ 1. You start a local `executor` daemon.
32
+ 2. You connect sources such as an MCP server, an OpenAPI document, or a GraphQL endpoint.
33
+ 3. `executor` indexes those sources into a workspace tool catalog.
34
+ 4. An agent runs TypeScript against that catalog through `executor call` or through the MCP bridge.
35
+ 5. If a tool needs credentials or user input, execution pauses, opens a local flow, and then resumes.
49
36
 
37
+ ## What it does today
38
+
39
+ ### Connect external tool sources
40
+
41
+ `executor` currently supports these source types:
42
+
43
+ - `mcp`: remote MCP servers, including transport selection for streamable HTTP or SSE
44
+ - `openapi`: REST APIs described by an OpenAPI document
45
+ - `graphql`: GraphQL endpoints that can be introspected into callable tools
46
+
47
+ The add-source flow can:
48
+
49
+ - probe a URL and infer what kind of source it is
50
+ - infer likely authentication requirements
51
+ - prompt for credentials when discovery or connection needs them
52
+ - start OAuth when a source requires it
53
+ - persist the source and its indexed tool metadata in the local workspace
54
+
55
+ The web app also includes templates for common providers so you can start from real examples instead of filling every field by hand.
56
+
57
+ ### Run agent code against tools
58
+
59
+ The main CLI workflow is `executor call`.
60
+
61
+ The runtime expects the agent to use the built-in discovery workflow:
62
+
63
+ ```ts
64
+ const matches = await tools.discover({ query: "github issues", limit: 5 });
65
+ const path = matches.bestPath;
66
+ const detail = await tools.describe.tool({ path, includeSchemas: true });
67
+
68
+ return await tools.github.issues.list({
69
+ owner: "vercel",
70
+ repo: "next.js",
71
+ });
50
72
  ```
51
- "scripts": {
52
- "build": "docker run --rm -it -p 4200:4200 -v /choclo:... --name myProject-dev myProject ng build",
53
- "build-prod": "docker run --rm -it -p 4200:4200 -v /choclo:... --name myProject-dev myProject ng build --prod",
54
- "server": "docker run --rm -it -p 4200:4200 -v /choclo:... --name myProject-dev myProject ng serve"
55
- }
56
- ```
57
- ##### Executor
73
+
74
+ A few important rules shape the execution model:
75
+
76
+ - write TypeScript, not raw shell pipelines
77
+ - use `tools.*`, not direct `fetch`
78
+ - discover first when the exact tool path is not known
79
+ - inspect schemas before calling complex tools
80
+
81
+ ### Handle credentials and user interaction
82
+
83
+ When a source or tool needs human input, `executor` can pause the execution and create an interaction record.
84
+
85
+ That interaction may ask you to:
86
+
87
+ - open a secure local credential page
88
+ - complete an OAuth flow in the browser
89
+ - respond to a structured elicitation from a tool host
90
+ - resume a paused execution from the CLI
91
+
92
+ This is the core human-in-the-loop behavior that lets `executor` keep secrets and approvals outside the agent's raw context.
93
+
94
+ ### Inspect the connected tool model
95
+
96
+ The web UI is not just a setup surface. It is also where you can inspect what `executor` learned from a source.
97
+
98
+ For each source you can:
99
+
100
+ - browse its tool tree
101
+ - search for tools by intent
102
+ - inspect input and output schemas
103
+ - view generated manifests, definitions, and raw source documents when available
104
+ - edit source settings and authentication details
105
+
106
+ ## Quick start
107
+
108
+ If you are working from this repository, the easiest path is:
109
+
110
+ ```bash
111
+ bun install
112
+ bun run executor doctor --json
113
+ bun run executor up
58
114
  ```
59
- "templates": {
60
- "docker-common": "docker run --rm -it -p 4200:4200 -v /choclo:... --name ${pkg.name}-dev ${pkg.name}"
61
- },
62
- "shortcuts": {
63
- "build": "${docker-common} ng build",
64
- "build-prod": "${docker-common} ng build --prod",
65
- "server": "${docker-common} ng serve"
66
- }
115
+
116
+ That starts the local runtime. The default base URL is:
117
+
118
+ ```text
119
+ http://127.0.0.1:8788
67
120
  ```
68
121
 
69
- ### Table of content
122
+ From there:
70
123
 
71
- * [Intro](https://github.com/crystian/executor/wiki/Home)
72
- * [Why?](https://github.com/crystian/executor/wiki/1-why#why)
73
- * [Installation](https://github.com/crystian/executor/wiki/2-installation#installation)
74
- * [Configuration](https://github.com/crystian/executor/wiki/3-configuration#configuration)
75
- * [sources](https://github.com/crystian/executor/wiki/3-configuration#sources)
76
- * [configuration](https://github.com/crystian/executor/wiki/3-configuration#configuration-1)
77
- * [options](https://github.com/crystian/executor/wiki/3-configuration#options)
78
- * [data](https://github.com/crystian/executor/wiki/3-configuration#data)
79
- * [predefined (def)](https://github.com/crystian/executor/wiki/3-configuration#predefined-def)
80
- * [environments (env)](https://github.com/crystian/executor/wiki/3-configuration#environments-env)
81
- * [package.json (pkg)](https://github.com/crystian/executor/wiki/3-configuration#packagejson-pkg)
82
- * [templates](https://github.com/crystian/executor/wiki/3-configuration#templates)
83
- * [shortcuts](https://github.com/crystian/executor/wiki/3-configuration#shortcuts)
84
- * [Bonus track](https://github.com/crystian/executor/wiki/4-bonus)
85
- * [contributing](https://github.com/crystian/executor/wiki/5-contributing)
124
+ 1. Open the web UI in your browser.
125
+ 2. Add a source from `/sources/add`.
126
+ 3. If needed, store credentials in `/secrets`.
127
+ 4. Run TypeScript with `bun run executor call ...`.
86
128
 
87
- ---
129
+ If you are using a packaged distribution, the command name is simply `executor` instead of `bun run executor`.
88
130
 
89
- * [Changelog](CHANGELOG.md)
131
+ ## Core CLI commands
90
132
 
91
- And remember: RTFM! :)
133
+ ```bash
134
+ executor up
135
+ executor down
136
+ executor status --json
137
+ executor doctor --json
138
+ executor call --file script.ts
139
+ executor resume --execution-id exec_123
140
+ ```
92
141
 
93
- ## Installation
142
+ `executor call` accepts code in three ways:
94
143
 
144
+ - inline as a positional argument
145
+ - from `--file`
146
+ - from standard input with `--stdin`
147
+
148
+ Examples:
149
+
150
+ ```bash
151
+ executor call 'const matches = await tools.discover({ query: "repo details", limit: 1 }); return matches;'
152
+ executor call --file script.ts
153
+ cat script.ts | executor call --stdin
154
+ executor call --no-open --file script.ts
95
155
  ```
96
- npm i -g executor
156
+
157
+ If an execution pauses, resume it with:
158
+
159
+ ```bash
160
+ executor resume --execution-id exec_123
97
161
  ```
98
162
 
99
- Test to check the installation:
163
+ ## Adding a source
164
+
165
+ There are two main ways to add a source.
166
+
167
+ ### In the web UI
168
+
169
+ Use the Add Source flow to:
170
+
171
+ - paste a URL
172
+ - run discovery
173
+ - review the inferred kind, namespace, transport, and auth
174
+ - connect the source
175
+ - complete credential or OAuth setup if required
176
+
177
+ This is the easiest path for most users.
100
178
 
179
+ ### From inside an execution
180
+
181
+ The runtime also exposes `tools.executor.sources.add(...)`, which lets an agent add a source from code.
182
+
183
+ Examples:
184
+
185
+ ```ts
186
+ return await tools.executor.sources.add({
187
+ endpoint: "https://example.com/mcp",
188
+ name: "Example",
189
+ namespace: "example",
190
+ });
101
191
  ```
102
- x hello
192
+
193
+ ```ts
194
+ return await tools.executor.sources.add({
195
+ kind: "openapi",
196
+ endpoint: "https://api.github.com",
197
+ specUrl: "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json",
198
+ name: "GitHub",
199
+ namespace: "github",
200
+ });
103
201
  ```
104
202
 
105
- It should show a message with installed version number.
203
+ For HTTP-style sources, `executor` can drive the credential flow for you.
204
+
205
+ ## How execution works
206
+
207
+ At a high level, every execution follows the same loop:
208
+
209
+ 1. `executor` resolves the current local installation and workspace.
210
+ 2. It builds a tool catalog from built-in tools plus all connected workspace sources.
211
+ 3. It runs your TypeScript inside the in-process execution runtime.
212
+ 4. Tool calls are dispatched through `executor` rather than directly from your code.
213
+ 5. If a tool needs interaction, the run pauses and records a pending interaction.
214
+ 6. Once the interaction is resolved, the execution continues and eventually completes or fails.
215
+
216
+ This gives you a stable surface for agent automation:
217
+
218
+ - the agent sees a coherent catalog
219
+ - connected sources become reusable namespace-based tools
220
+ - auth stays attached to sources and secret material
221
+ - the runtime can track execution state instead of losing it inside a one-shot prompt
222
+
223
+ ## Web UI overview
224
+
225
+ The React web app is served from the same local server as the API.
226
+
227
+ Main screens:
228
+
229
+ - `/`: list connected sources in the current local workspace
230
+ - `/sources/add`: discover and connect new sources
231
+ - `/sources/:sourceId`: inspect tools, search tools, and browse source artifacts
232
+ - `/sources/:sourceId/edit`: edit source settings and auth
233
+ - `/secrets`: create, update, and delete locally stored secrets
234
+
235
+ The UI uses the same control-plane API as the CLI, so both surfaces are operating on the same local runtime state.
236
+
237
+ ## Local-first runtime behavior
238
+
239
+ By default `executor` runs as a single local daemon process.
240
+
241
+ It serves:
242
+
243
+ - `/v1` for the local control-plane API
244
+ - `/mcp` for the `executor` MCP endpoint
245
+ - the web UI for normal browser routes
246
+
247
+ Default network location:
248
+
249
+ - host: `127.0.0.1`
250
+ - port: `8788`
251
+
252
+ Default data locations are OS-aware:
253
+
254
+ - Linux data: `~/.local/share/executor`
255
+ - Linux runtime state: `~/.local/state/executor/run`
256
+ - macOS: `~/Library/Application Support/Executor`
257
+ - Windows: `%LOCALAPPDATA%\Executor`
258
+
259
+ The server also maintains local PID and log files in its runtime directory.
260
+
261
+ ## Persistence and data
262
+
263
+ `executor` persists the local control plane to SQL.
264
+
265
+ By default it uses embedded PGlite for a local install, which keeps the product self-contained. If you provide a Postgres URL, the persistence layer can target real Postgres instead.
266
+
267
+ Persisted concepts include:
268
+
269
+ - the local installation record
270
+ - organizations and workspaces provisioned for that install
271
+ - connected sources
272
+ - indexed tool artifacts and related metadata
273
+ - credentials and secret material bindings
274
+ - source auth sessions
275
+ - executions and execution interactions
276
+ - policies
277
+
278
+ On first start, `executor` provisions a local account, a personal organization, and a default workspace automatically.
279
+
280
+ ## Security and trust model
281
+
282
+ `executor` is designed to narrow how agents interact with external systems.
283
+
284
+ Compared with direct shell or raw API usage, the model is intentionally more structured:
285
+
286
+ - tool calls are routed through a controlled runtime
287
+ - secrets are stored separately from prompt text
288
+ - OAuth and credential capture happen through local flows
289
+ - executions can pause for interaction instead of guessing or failing silently
290
+ - source auth and tool metadata live with the workspace rather than inside each prompt
291
+
292
+ This does not make the system magically risk-free, but it gives the runtime places to enforce policy, collect approvals, and keep sensitive material out of the agent's immediate context.
293
+
294
+ ## Repository layout
295
+
296
+ If you are exploring the repo, these are the directories that matter most:
297
+
298
+ - `apps/executor`: packaged CLI entrypoint and daemon lifecycle commands
299
+ - `apps/web`: local React web UI
300
+ - `packages/server`: local HTTP server that serves API, MCP, and UI
301
+ - `packages/control-plane`: source management, secrets, persistence, execution, and inspection
302
+ - `packages/runtime-local-inproc`: in-process TypeScript execution runtime
303
+ - `packages/executor-mcp`: MCP bridge for `execute` and `resume`
304
+ - `packages/codemode-*`: core tool abstractions plus MCP and OpenAPI adapters
305
+
306
+ ## Project status
106
307
 
107
- [More info about installation.](https://github.com/crystian/executor/wiki/2-installation#installation)
308
+ This repository is explicitly on its third major architecture iteration.
108
309
 
109
- ---
310
+ - `apps/` and `packages/` are the active implementation
311
+ - `legacy/` is the original codebase
312
+ - `legacy2/` is the second generation
110
313
 
111
- MIT © 2018 [Crystian](https://github.com/crystian), made with love for you <3!
314
+ If you want the system view instead of the product view, read [`ARCHITECTURE.md`](./ARCHITECTURE.md).
@@ -0,0 +1,205 @@
1
+ // @ts-nocheck
2
+ // This script runs inside the Deno subprocess.
3
+ // It communicates with the host process via line-delimited JSON over stdin/stdout.
4
+ // All IPC messages are prefixed with @@executor-ipc@@ to distinguish from user output.
5
+
6
+ const encoder = new TextEncoder();
7
+ const IPC_PREFIX = "@@executor-ipc@@";
8
+
9
+ const pendingToolCalls = new Map();
10
+ let started = false;
11
+
12
+ /** @type {string[]} */
13
+ const logs = [];
14
+
15
+ const writeIpcMessage = (message) => {
16
+ const payload = `${IPC_PREFIX}${JSON.stringify(message)}\n`;
17
+ Deno.stdout.writeSync(encoder.encode(payload));
18
+ };
19
+
20
+ const toErrorMessage = (error) => {
21
+ if (error instanceof Error) {
22
+ return error.stack ?? error.message;
23
+ }
24
+
25
+ return String(error);
26
+ };
27
+
28
+ const createToolCaller = (toolPath) => (args) =>
29
+ new Promise((resolve, reject) => {
30
+ const requestId = crypto.randomUUID();
31
+ pendingToolCalls.set(requestId, { resolve, reject });
32
+
33
+ writeIpcMessage({
34
+ type: "tool_call",
35
+ requestId,
36
+ toolPath,
37
+ args: args === undefined ? {} : args,
38
+ });
39
+ });
40
+
41
+ const createToolsProxy = (path = []) => {
42
+ const callable = () => undefined;
43
+
44
+ return new Proxy(callable, {
45
+ get(_target, prop) {
46
+ if (prop === "then") return undefined;
47
+ if (typeof prop !== "string") return undefined;
48
+ return createToolsProxy([...path, prop]);
49
+ },
50
+ apply(_target, _thisArg, args) {
51
+ const toolPath = path.join(".");
52
+ if (!toolPath) {
53
+ throw new Error("Tool path missing in invocation");
54
+ }
55
+
56
+ return createToolCaller(toolPath)(args.length > 0 ? args[0] : undefined);
57
+ },
58
+ });
59
+ };
60
+
61
+ const formatLogArg = (value) => {
62
+ if (typeof value === "string") {
63
+ return value;
64
+ }
65
+
66
+ try {
67
+ return JSON.stringify(value);
68
+ } catch {
69
+ return String(value);
70
+ }
71
+ };
72
+
73
+ const formatLogLine = (args) => args.map(formatLogArg).join(" ");
74
+
75
+ const sandboxConsole = {
76
+ log: (...args) => {
77
+ logs.push(`[log] ${formatLogLine(args)}`);
78
+ },
79
+ warn: (...args) => {
80
+ logs.push(`[warn] ${formatLogLine(args)}`);
81
+ },
82
+ error: (...args) => {
83
+ logs.push(`[error] ${formatLogLine(args)}`);
84
+ },
85
+ info: (...args) => {
86
+ logs.push(`[info] ${formatLogLine(args)}`);
87
+ },
88
+ debug: (...args) => {
89
+ logs.push(`[debug] ${formatLogLine(args)}`);
90
+ },
91
+ };
92
+
93
+ const runUserCode = async (code) => {
94
+ const tools = createToolsProxy();
95
+
96
+ const execute = new Function(
97
+ "tools",
98
+ "console",
99
+ `"use strict"; return (async () => {\n${code}\n})();`,
100
+ );
101
+
102
+ return await execute(tools, sandboxConsole);
103
+ };
104
+
105
+ const handleStart = (message) => {
106
+ if (started) {
107
+ writeIpcMessage({
108
+ type: "failed",
109
+ error: "start message already received",
110
+ logs,
111
+ });
112
+ return;
113
+ }
114
+
115
+ started = true;
116
+
117
+ runUserCode(message.code)
118
+ .then((result) => {
119
+ writeIpcMessage({
120
+ type: "completed",
121
+ result,
122
+ logs,
123
+ });
124
+ })
125
+ .catch((error) => {
126
+ writeIpcMessage({
127
+ type: "failed",
128
+ error: toErrorMessage(error),
129
+ logs,
130
+ });
131
+ });
132
+ };
133
+
134
+ const handleToolResult = (message) => {
135
+ const pending = pendingToolCalls.get(message.requestId);
136
+ if (!pending) {
137
+ return;
138
+ }
139
+
140
+ pendingToolCalls.delete(message.requestId);
141
+
142
+ if (message.ok) {
143
+ pending.resolve(message.value);
144
+ return;
145
+ }
146
+
147
+ pending.reject(new Error(message.error));
148
+ };
149
+
150
+ const handleHostMessage = (message) => {
151
+ if (!message || typeof message !== "object") {
152
+ return;
153
+ }
154
+
155
+ if (message.type === "start") {
156
+ handleStart(message);
157
+ return;
158
+ }
159
+
160
+ if (message.type === "tool_result") {
161
+ handleToolResult(message);
162
+ }
163
+ };
164
+
165
+ const decodeLines = async () => {
166
+ const reader = Deno.stdin.readable.getReader();
167
+ const decoder = new TextDecoder();
168
+ let buffer = "";
169
+
170
+ while (true) {
171
+ const { value, done } = await reader.read();
172
+ if (done) {
173
+ break;
174
+ }
175
+
176
+ buffer += decoder.decode(value, { stream: true });
177
+
178
+ while (true) {
179
+ const lineEnd = buffer.indexOf("\n");
180
+ if (lineEnd === -1) {
181
+ break;
182
+ }
183
+
184
+ const line = buffer.slice(0, lineEnd).trim();
185
+ buffer = buffer.slice(lineEnd + 1);
186
+
187
+ if (line.length === 0) {
188
+ continue;
189
+ }
190
+
191
+ try {
192
+ const message = JSON.parse(line);
193
+ handleHostMessage(message);
194
+ } catch (error) {
195
+ writeIpcMessage({
196
+ type: "failed",
197
+ error: `invalid host message: ${toErrorMessage(error)}`,
198
+ logs,
199
+ });
200
+ }
201
+ }
202
+ }
203
+ };
204
+
205
+ await decodeLines();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import "./executor.mjs";