@dxos/plugin-script 0.8.4-main.1da679c → 0.8.4-main.21d9917

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 (426) hide show
  1. package/dist/lib/browser/DeploymentDialog-GXNRUXF6.mjs +14 -0
  2. package/dist/lib/browser/NotebookContainer-4MM2VAQF.mjs +845 -0
  3. package/dist/lib/browser/NotebookContainer-4MM2VAQF.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-X6GCYZZW.mjs +149 -0
  5. package/dist/lib/browser/ScriptContainer-X6GCYZZW.mjs.map +7 -0
  6. package/dist/lib/browser/app-graph-builder-7VO7AUI6.mjs +68 -0
  7. package/dist/lib/browser/app-graph-builder-7VO7AUI6.mjs.map +7 -0
  8. package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs +17 -0
  9. package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs.map +7 -0
  10. package/dist/lib/browser/blueprints/index.mjs +8 -0
  11. package/dist/lib/browser/chunk-3O2DQGCP.mjs +113 -0
  12. package/dist/lib/browser/chunk-3O2DQGCP.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-BTWHM6FH.mjs +270 -0
  14. package/dist/lib/browser/chunk-BTWHM6FH.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-F3QKSKSF.mjs +35 -0
  16. package/dist/lib/browser/chunk-F3QKSKSF.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-I7CSE6T3.mjs +110 -0
  18. package/dist/lib/browser/chunk-I7CSE6T3.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-IQRLM6JK.mjs +137 -0
  20. package/dist/lib/browser/chunk-IQRLM6JK.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  22. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-NWSK27QB.mjs +606 -0
  24. package/dist/lib/browser/chunk-NWSK27QB.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-UX4GHJ5E.mjs +105 -0
  26. package/dist/lib/browser/chunk-UX4GHJ5E.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-WX2NVNFQ.mjs +557 -0
  28. package/dist/lib/browser/chunk-WX2NVNFQ.mjs.map +7 -0
  29. package/dist/lib/browser/{chunk-QYAREHGH.mjs → chunk-WYR4QHPE.mjs} +8 -5
  30. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +7 -0
  31. package/dist/lib/browser/compiler-XRBFQFXO.mjs +161 -0
  32. package/dist/lib/browser/compiler-XRBFQFXO.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +137 -103
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/operation-resolver-MUNR376F.mjs +82 -0
  37. package/dist/lib/browser/operation-resolver-MUNR376F.mjs.map +7 -0
  38. package/dist/lib/browser/react-surface-5TEC66UY.mjs +139 -0
  39. package/dist/lib/browser/react-surface-5TEC66UY.mjs.map +7 -0
  40. package/dist/lib/browser/settings-R4WKREUJ.mjs +35 -0
  41. package/dist/lib/browser/settings-R4WKREUJ.mjs.map +7 -0
  42. package/dist/lib/browser/templates/index.mjs +2 -1
  43. package/dist/lib/browser/types/index.mjs +14 -6
  44. package/dist/lib/node-esm/DeploymentDialog-EVFV2VJT.mjs +15 -0
  45. package/dist/lib/node-esm/DeploymentDialog-EVFV2VJT.mjs.map +7 -0
  46. package/dist/lib/node-esm/NotebookContainer-QLW5ZYGS.mjs +846 -0
  47. package/dist/lib/node-esm/NotebookContainer-QLW5ZYGS.mjs.map +7 -0
  48. package/dist/lib/node-esm/ScriptContainer-3DZ3BMHW.mjs +150 -0
  49. package/dist/lib/node-esm/ScriptContainer-3DZ3BMHW.mjs.map +7 -0
  50. package/dist/lib/node-esm/app-graph-builder-NVE3EVBG.mjs +69 -0
  51. package/dist/lib/node-esm/app-graph-builder-NVE3EVBG.mjs.map +7 -0
  52. package/dist/lib/node-esm/blueprint-definition-NC7NNJGI.mjs +18 -0
  53. package/dist/lib/node-esm/blueprint-definition-NC7NNJGI.mjs.map +7 -0
  54. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  55. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-4F5FJZ36.mjs +107 -0
  57. package/dist/lib/node-esm/chunk-4F5FJZ36.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-AHXJ6NQU.mjs → chunk-5HSJPAK7.mjs} +8 -5
  59. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  61. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-KN6SQYUF.mjs +114 -0
  63. package/dist/lib/node-esm/chunk-KN6SQYUF.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-MGWKULCD.mjs +558 -0
  65. package/dist/lib/node-esm/chunk-MGWKULCD.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs +112 -0
  67. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-VWOLKNMO.mjs +271 -0
  69. package/dist/lib/node-esm/chunk-VWOLKNMO.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs +36 -0
  71. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-YEWLTVBT.mjs +138 -0
  73. package/dist/lib/node-esm/chunk-YEWLTVBT.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-ZQGHFNO3.mjs +607 -0
  75. package/dist/lib/node-esm/chunk-ZQGHFNO3.mjs.map +7 -0
  76. package/dist/lib/node-esm/compiler-ORJAXDN7.mjs +162 -0
  77. package/dist/lib/node-esm/compiler-ORJAXDN7.mjs.map +7 -0
  78. package/dist/lib/node-esm/index.mjs +137 -103
  79. package/dist/lib/node-esm/index.mjs.map +4 -4
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/operation-resolver-CLE4ZCC5.mjs +83 -0
  82. package/dist/lib/node-esm/operation-resolver-CLE4ZCC5.mjs.map +7 -0
  83. package/dist/lib/node-esm/react-surface-O3UDMKOQ.mjs +140 -0
  84. package/dist/lib/node-esm/react-surface-O3UDMKOQ.mjs.map +7 -0
  85. package/dist/lib/node-esm/settings-OFIMHU7K.mjs +36 -0
  86. package/dist/lib/node-esm/settings-OFIMHU7K.mjs.map +7 -0
  87. package/dist/lib/node-esm/templates/index.mjs +2 -1
  88. package/dist/lib/node-esm/types/index.mjs +14 -6
  89. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  90. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  91. package/dist/types/src/blueprints/index.d.ts +2 -0
  92. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  93. package/dist/types/src/blueprints/script-blueprint.d.ts +22 -0
  94. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  95. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  96. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  98. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  100. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  102. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +9 -0
  104. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  108. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/index.d.ts +6 -7
  112. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  116. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  118. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  120. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  122. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/settings/settings.d.ts +9 -0
  124. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  125. package/dist/types/src/compiler/compiler.d.ts +1 -1
  126. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  127. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +3 -3
  128. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  129. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +114 -10
  130. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  132. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  133. package/dist/types/src/components/NotebookContainer.d.ts +8 -0
  134. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -0
  135. package/dist/types/src/components/NotebookContainer.stories.d.ts +7 -0
  136. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -0
  137. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  138. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  139. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  140. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  141. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +14 -0
  142. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  143. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +249 -0
  144. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  145. package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
  146. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  147. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  148. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  149. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  150. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  151. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  152. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  153. package/dist/types/src/components/ScriptContainer.d.ts +7 -8
  154. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  155. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +7 -8
  156. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  157. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +241 -2
  158. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  159. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +2 -2
  160. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  161. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +6 -4
  162. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  163. package/dist/types/src/components/TestPanel/TestContainer.d.ts +3 -3
  164. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  165. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  166. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +5 -2
  167. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  168. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -3
  169. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/index.d.ts +3 -1
  171. package/dist/types/src/components/index.d.ts.map +1 -1
  172. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  173. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  174. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  175. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  176. package/dist/types/src/hooks/deploy.d.ts +16 -31
  177. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  178. package/dist/types/src/hooks/format.d.ts +4 -4
  179. package/dist/types/src/hooks/format.d.ts.map +1 -1
  180. package/dist/types/src/hooks/index.d.ts +1 -0
  181. package/dist/types/src/hooks/index.d.ts.map +1 -1
  182. package/dist/types/src/hooks/template.d.ts +6 -16
  183. package/dist/types/src/hooks/template.d.ts.map +1 -1
  184. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  185. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  186. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  187. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  188. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  189. package/dist/types/src/index.d.ts +2 -1
  190. package/dist/types/src/index.d.ts.map +1 -1
  191. package/dist/types/src/meta.d.ts +2 -3
  192. package/dist/types/src/meta.d.ts.map +1 -1
  193. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  194. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  195. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  196. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  197. package/dist/types/src/notebook/eval.d.ts +13 -0
  198. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  199. package/dist/types/src/notebook/index.d.ts +2 -0
  200. package/dist/types/src/notebook/index.d.ts.map +1 -0
  201. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  202. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  203. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  204. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  205. package/dist/types/src/templates/anthropic.d.ts +8 -0
  206. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  207. package/dist/types/src/templates/chess-bot.d.ts +16 -0
  208. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  209. package/dist/types/src/templates/commentary.d.ts +16 -0
  210. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  211. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  212. package/dist/types/src/templates/discord.d.ts.map +1 -1
  213. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  214. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  215. package/dist/types/src/templates/forex.d.ts +4 -1
  216. package/dist/types/src/templates/forex.d.ts.map +1 -1
  217. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  218. package/dist/types/src/templates/index.d.ts +52 -1
  219. package/dist/types/src/templates/index.d.ts.map +1 -1
  220. package/dist/types/src/templates/ping.d.ts +3 -0
  221. package/dist/types/src/templates/ping.d.ts.map +1 -0
  222. package/dist/types/src/testing/data.d.ts +3 -0
  223. package/dist/types/src/testing/data.d.ts.map +1 -0
  224. package/dist/types/src/testing/index.d.ts +2 -0
  225. package/dist/types/src/testing/index.d.ts.map +1 -0
  226. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  227. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  228. package/dist/types/src/translations.d.ts +31 -5
  229. package/dist/types/src/translations.d.ts.map +1 -1
  230. package/dist/types/src/types/Notebook.d.ts +100 -0
  231. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  232. package/dist/types/src/types/actions.d.ts +40 -0
  233. package/dist/types/src/types/actions.d.ts.map +1 -0
  234. package/dist/types/src/types/capabilities.d.ts +12 -0
  235. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  236. package/dist/types/src/types/events.d.ts +5 -0
  237. package/dist/types/src/types/events.d.ts.map +1 -0
  238. package/dist/types/src/types/index.d.ts +5 -1
  239. package/dist/types/src/types/index.d.ts.map +1 -1
  240. package/dist/types/src/types/types.d.ts +6 -0
  241. package/dist/types/src/types/types.d.ts.map +1 -0
  242. package/dist/types/src/util/deploy.d.ts +4 -4
  243. package/dist/types/src/util/deploy.d.ts.map +1 -1
  244. package/dist/types/src/util/functions.d.ts +6 -3
  245. package/dist/types/src/util/functions.d.ts.map +1 -1
  246. package/dist/types/tsconfig.tsbuildinfo +1 -1
  247. package/package.json +117 -82
  248. package/src/ScriptPlugin.tsx +55 -75
  249. package/src/blueprints/index.ts +5 -0
  250. package/src/blueprints/script-blueprint.ts +24 -0
  251. package/src/capabilities/app-graph-builder/app-graph-builder.ts +55 -0
  252. package/src/capabilities/app-graph-builder/index.ts +7 -0
  253. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +98 -96
  254. package/src/capabilities/artifact-definition/index.ts +7 -0
  255. package/src/capabilities/blueprint-definition/blueprint-definition.ts +23 -0
  256. package/src/capabilities/blueprint-definition/index.ts +7 -0
  257. package/src/capabilities/compiler/compiler.ts +103 -0
  258. package/src/capabilities/compiler/index.ts +7 -0
  259. package/src/capabilities/index.ts +6 -10
  260. package/src/capabilities/operation-resolver/index.ts +7 -0
  261. package/src/capabilities/operation-resolver/operation-resolver.ts +74 -0
  262. package/src/capabilities/react-surface/index.ts +7 -0
  263. package/src/capabilities/react-surface/react-surface.tsx +118 -0
  264. package/src/capabilities/settings/index.ts +7 -0
  265. package/src/capabilities/settings/settings.ts +32 -0
  266. package/src/compiler/compiler.ts +10 -3
  267. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +37 -26
  268. package/src/components/DeploymentDialog/DeploymentDialog.tsx +41 -50
  269. package/src/components/FrameContainer/FrameContainer.tsx +6 -4
  270. package/src/components/NotebookContainer.stories.tsx +87 -0
  271. package/src/components/NotebookContainer.tsx +270 -0
  272. package/src/components/NotebookStack/NotebookCell.tsx +217 -0
  273. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  274. package/src/components/NotebookStack/NotebookStack.stories.tsx +55 -0
  275. package/src/components/NotebookStack/NotebookStack.tsx +86 -0
  276. package/src/components/NotebookStack/index.ts +6 -0
  277. package/src/components/QueryEditor/QueryEditor.stories.tsx +100 -0
  278. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  279. package/src/components/QueryEditor/index.ts +5 -0
  280. package/src/components/ScriptContainer.tsx +50 -35
  281. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +54 -19
  282. package/src/components/ScriptToolbar/ScriptToolbar.tsx +30 -36
  283. package/src/components/Settings/ScriptObjectSettings.tsx +136 -29
  284. package/src/components/Settings/ScriptPluginSettings.tsx +11 -21
  285. package/src/components/TestPanel/TestContainer.tsx +7 -7
  286. package/src/components/TestPanel/TestPanel.tsx +42 -19
  287. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +77 -17
  288. package/src/components/TypescriptEditor/TypescriptEditor.tsx +81 -80
  289. package/src/components/index.ts +3 -0
  290. package/src/e2e/ai.test.ts +92 -0
  291. package/src/e2e/deploy.test.ts +64 -0
  292. package/src/hooks/deploy.ts +44 -37
  293. package/src/hooks/format.ts +9 -5
  294. package/src/hooks/index.ts +1 -0
  295. package/src/hooks/template.ts +20 -23
  296. package/src/hooks/useCompiler.ts +24 -0
  297. package/src/hooks/useCreateAndDeployScriptTemplates.ts +14 -16
  298. package/src/hooks/useToolbarState.ts +29 -5
  299. package/src/index.ts +2 -1
  300. package/src/meta.ts +9 -7
  301. package/src/notebook/compute-graph.test.ts +82 -0
  302. package/src/notebook/compute-graph.ts +230 -0
  303. package/src/notebook/eval.ts +105 -0
  304. package/src/notebook/index.ts +5 -0
  305. package/src/notebook/vfs-parser.test.ts +149 -0
  306. package/src/notebook/vfs-parser.ts +451 -0
  307. package/src/templates/anthropic.ts +42 -0
  308. package/src/templates/chess-bot.ts +58 -0
  309. package/src/templates/commentary.ts +232 -0
  310. package/src/templates/data-generator.ts +3 -1
  311. package/src/templates/discord.ts +9 -1
  312. package/src/templates/forex-effect.ts +24 -25
  313. package/src/templates/forex.ts +9 -6
  314. package/src/templates/gmail.ts +22 -11
  315. package/src/templates/index.ts +24 -11
  316. package/src/templates/ping.ts +17 -0
  317. package/src/testing/data.ts +72 -0
  318. package/src/testing/index.ts +5 -0
  319. package/src/testing/simulator.test.ts +40 -0
  320. package/src/translations.ts +34 -7
  321. package/src/types/Notebook.ts +41 -0
  322. package/src/types/actions.ts +45 -0
  323. package/src/types/capabilities.ts +17 -0
  324. package/src/types/events.ts +11 -0
  325. package/src/types/index.ts +5 -1
  326. package/src/types/types.ts +15 -0
  327. package/src/util/deploy.ts +30 -40
  328. package/src/util/functions.ts +56 -23
  329. package/src/vite-env.d.ts +2 -0
  330. package/dist/lib/browser/DeploymentDialog-QZSTVNIS.mjs +0 -12
  331. package/dist/lib/browser/ScriptContainer-IA7YJMFR.mjs +0 -265
  332. package/dist/lib/browser/ScriptContainer-IA7YJMFR.mjs.map +0 -7
  333. package/dist/lib/browser/app-graph-builder-5NIA7SLT.mjs +0 -64
  334. package/dist/lib/browser/app-graph-builder-5NIA7SLT.mjs.map +0 -7
  335. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
  336. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
  337. package/dist/lib/browser/chunk-4AUQEB2I.mjs +0 -88
  338. package/dist/lib/browser/chunk-4AUQEB2I.mjs.map +0 -7
  339. package/dist/lib/browser/chunk-5TVBECWH.mjs +0 -15
  340. package/dist/lib/browser/chunk-5TVBECWH.mjs.map +0 -7
  341. package/dist/lib/browser/chunk-B5QYN3AG.mjs +0 -556
  342. package/dist/lib/browser/chunk-B5QYN3AG.mjs.map +0 -7
  343. package/dist/lib/browser/chunk-IS4OG2UW.mjs +0 -39
  344. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +0 -7
  345. package/dist/lib/browser/chunk-KLGK77UK.mjs +0 -283
  346. package/dist/lib/browser/chunk-KLGK77UK.mjs.map +0 -7
  347. package/dist/lib/browser/chunk-NXKU3BNX.mjs +0 -222
  348. package/dist/lib/browser/chunk-NXKU3BNX.mjs.map +0 -7
  349. package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
  350. package/dist/lib/browser/chunk-YCZPTTFO.mjs +0 -153
  351. package/dist/lib/browser/chunk-YCZPTTFO.mjs.map +0 -7
  352. package/dist/lib/browser/compiler-O7MNN3XT.mjs +0 -98
  353. package/dist/lib/browser/compiler-O7MNN3XT.mjs.map +0 -7
  354. package/dist/lib/browser/intent-resolver-GGGTXYMB.mjs +0 -89
  355. package/dist/lib/browser/intent-resolver-GGGTXYMB.mjs.map +0 -7
  356. package/dist/lib/browser/react-surface-C4ZTW4QA.mjs +0 -104
  357. package/dist/lib/browser/react-surface-C4ZTW4QA.mjs.map +0 -7
  358. package/dist/lib/browser/settings-A4E4R7VL.mjs +0 -24
  359. package/dist/lib/browser/settings-A4E4R7VL.mjs.map +0 -7
  360. package/dist/lib/node-esm/DeploymentDialog-G6EHEPXN.mjs +0 -13
  361. package/dist/lib/node-esm/ScriptContainer-6AVJSLU4.mjs +0 -266
  362. package/dist/lib/node-esm/ScriptContainer-6AVJSLU4.mjs.map +0 -7
  363. package/dist/lib/node-esm/app-graph-builder-V7QF54LT.mjs +0 -65
  364. package/dist/lib/node-esm/app-graph-builder-V7QF54LT.mjs.map +0 -7
  365. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
  366. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
  367. package/dist/lib/node-esm/chunk-35M3CHYE.mjs +0 -16
  368. package/dist/lib/node-esm/chunk-35M3CHYE.mjs.map +0 -7
  369. package/dist/lib/node-esm/chunk-5OGRMRLA.mjs +0 -90
  370. package/dist/lib/node-esm/chunk-5OGRMRLA.mjs.map +0 -7
  371. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
  372. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs +0 -40
  373. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +0 -7
  374. package/dist/lib/node-esm/chunk-M642JUOZ.mjs +0 -223
  375. package/dist/lib/node-esm/chunk-M642JUOZ.mjs.map +0 -7
  376. package/dist/lib/node-esm/chunk-MPN2DI4P.mjs +0 -557
  377. package/dist/lib/node-esm/chunk-MPN2DI4P.mjs.map +0 -7
  378. package/dist/lib/node-esm/chunk-WXKOIREL.mjs +0 -284
  379. package/dist/lib/node-esm/chunk-WXKOIREL.mjs.map +0 -7
  380. package/dist/lib/node-esm/chunk-ZA36GO4T.mjs +0 -154
  381. package/dist/lib/node-esm/chunk-ZA36GO4T.mjs.map +0 -7
  382. package/dist/lib/node-esm/compiler-TZUZ7I6H.mjs +0 -99
  383. package/dist/lib/node-esm/compiler-TZUZ7I6H.mjs.map +0 -7
  384. package/dist/lib/node-esm/intent-resolver-DUJWXCRR.mjs +0 -90
  385. package/dist/lib/node-esm/intent-resolver-DUJWXCRR.mjs.map +0 -7
  386. package/dist/lib/node-esm/react-surface-5CM3KXFE.mjs +0 -105
  387. package/dist/lib/node-esm/react-surface-5CM3KXFE.mjs.map +0 -7
  388. package/dist/lib/node-esm/settings-FZ25DUX4.mjs +0 -25
  389. package/dist/lib/node-esm/settings-FZ25DUX4.mjs.map +0 -7
  390. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  391. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  392. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  393. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  394. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  395. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  396. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  397. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  398. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  399. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  400. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  401. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  402. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  403. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  404. package/dist/types/src/capabilities/settings.d.ts +0 -4
  405. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  406. package/dist/types/src/events.d.ts +0 -4
  407. package/dist/types/src/events.d.ts.map +0 -1
  408. package/dist/types/src/templates/chess.d.ts +0 -3
  409. package/dist/types/src/templates/chess.d.ts.map +0 -1
  410. package/dist/types/src/templates/echo.d.ts +0 -6
  411. package/dist/types/src/templates/echo.d.ts.map +0 -1
  412. package/dist/types/src/types/schema.d.ts +0 -38
  413. package/dist/types/src/types/schema.d.ts.map +0 -1
  414. package/src/capabilities/app-graph-builder.ts +0 -64
  415. package/src/capabilities/blueprint-definition.ts +0 -30
  416. package/src/capabilities/capabilities.ts +0 -12
  417. package/src/capabilities/compiler.ts +0 -34
  418. package/src/capabilities/intent-resolver.ts +0 -77
  419. package/src/capabilities/react-surface.tsx +0 -90
  420. package/src/capabilities/settings.ts +0 -21
  421. package/src/events.ts +0 -11
  422. package/src/templates/chess.ts +0 -47
  423. package/src/templates/echo.ts +0 -8
  424. package/src/types/schema.ts +0 -37
  425. /package/dist/lib/browser/{DeploymentDialog-QZSTVNIS.mjs.map → DeploymentDialog-GXNRUXF6.mjs.map} +0 -0
  426. /package/dist/lib/{node-esm/DeploymentDialog-G6EHEPXN.mjs.map → browser/blueprints/index.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/Settings/ScriptObjectSettings.tsx", "../../../src/components/Settings/ScriptPluginSettings.tsx", "../../../src/components/TestPanel/TestPanel.tsx", "../../../src/components/TestPanel/TestContainer.tsx", "../../../src/components/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { type ChangeEvent, useCallback, useState } from 'react';\n\nimport { ToolId } from '@dxos/ai';\nimport { SettingsOperation } from '@dxos/app-framework';\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { Filter, Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Input, useAsyncEffect, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { AccessToken } from '@dxos/types';\nimport { kebabize } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nexport type ScriptObjectSettingsProps = {\n object: Script.Script;\n};\n\nexport const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {\n return (\n <>\n <Binding object={object} />\n <BlueprintEditor object={object} />\n <Publishing object={object} />\n </>\n );\n};\n\nexport const ScriptProperties = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n return (\n <Input.Root>\n <Input.Label>{t('description label')}</Input.Label>\n <Input.TextInput\n placeholder={t('description placeholder')}\n value={object.description ?? ''}\n onChange={(event) => {\n Obj.change(object, (o) => {\n o.description = event.target.value;\n });\n }}\n />\n </Input.Root>\n );\n};\n\nconst BlueprintEditor = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(object);\n const [fn] = useQuery(db, Filter.type(Function.Function, { source: Ref.make(object) }));\n const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));\n\n const [creating, setCreating] = useState(false);\n const [instructions, setInstructions] = useState<string>(`You can run the script \"${object.name ?? 'script'}\".`);\n const blueprintKey = `dxos.org/blueprint/${kebabize(object.name ?? 'script')}`;\n const existingBlueprint = blueprints.find((bp) => bp.key === blueprintKey);\n\n useAsyncEffect(async () => {\n if (!existingBlueprint) {\n return;\n }\n const source = await existingBlueprint.instructions.source.load();\n setInstructions(source.content ?? '');\n }, [existingBlueprint]);\n\n const handleSave = useCallback(async () => {\n if (!db) {\n return;\n }\n\n setCreating(true);\n try {\n if (existingBlueprint) {\n const text = await existingBlueprint.instructions.source.load();\n Obj.change(text, (t) => {\n t.content = instructions;\n });\n if (fn?.key) {\n const toolId = ToolId.make(fn.key);\n if (!existingBlueprint.tools?.includes(toolId)) {\n Obj.change(existingBlueprint, (b) => {\n b.tools = [...(b.tools ?? []), toolId];\n });\n }\n }\n } else if (fn?.key) {\n db.add(\n Blueprint.make({\n key: blueprintKey,\n name: object.name ?? 'Script',\n instructions: Template.make({\n source: instructions,\n }),\n tools: [ToolId.make(fn.key)],\n }),\n );\n }\n await db.flush();\n } finally {\n setCreating(false);\n }\n }, [db, existingBlueprint, fn, blueprintKey, object.name, instructions]);\n\n return (\n <div className='flex flex-col gap-4 mlb-cardSpacingBlock'>\n <div>\n <h2>{t('blueprint editor label', { default: 'Blueprint' })}</h2>\n <p className='text-description text-sm'>\n {t('blueprint editor description', {\n default: 'Create a blueprint that exposes this script as a tool.',\n })}\n </p>\n </div>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('blueprint instructions label', { default: 'Instructions' })}</Input.Label>\n <Input.TextArea\n placeholder={t('blueprint instructions placeholder', {\n default: 'Describe how this tool should be used.',\n })}\n rows={6}\n value={instructions}\n onChange={(event) => setInstructions(event.target.value)}\n classNames='resize-y'\n />\n </div>\n </Input.Root>\n <div className='flex justify-end gap-2'>\n <Button disabled={(!existingBlueprint && !fn?.key) || creating} onClick={handleSave}>\n {t(creating ? 'creating label' : 'create blueprint label', {\n default: creating ? 'Creating…' : 'Create blueprint',\n })}\n </Button>\n </div>\n </div>\n );\n};\n\nconst Binding = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const db = Obj.getDatabase(object);\n const [fn] = useQuery(db, Filter.type(Function.Function, { source: Ref.make(object) }));\n\n const functionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n const functionUrl =\n functionId &&\n getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: db?.spaceId,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n Obj.change(fn, (f) => {\n f.binding = binding;\n });\n }, [fn, binding]);\n\n if (!fn || !functionUrl) {\n return null;\n }\n\n // TODO(burdon): Use form.\n return (\n <div role='form' className='flex flex-col gap-2 mlb-cardSpacingBlock'>\n <h2>{t('remote function settings heading')}</h2>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function url label')}</Input.Label>\n <div role='none' className='flex gap-1'>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n Obj.change(fn, (f) => {\n f.name = event.target.value;\n });\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </div>\n </div>\n </Input.Root>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function binding label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function binding placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </div>\n </Input.Root>\n </div>\n );\n};\n\n// TODO(burdon): Move to separate tab?\nconst Publishing = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const db = Obj.getDatabase(object);\n const [githubToken] = useQuery(db, Filter.type(AccessToken.AccessToken, { source: 'github.com' }));\n const gistKey = Obj.getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useAsyncEffect(async () => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () =>\n invokePromise(SettingsOperation.Open, {\n plugin: 'dxos.org/plugin/token-manager',\n }),\n [invokePromise],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = Obj.getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n const gistId = response.data.id;\n if (gistId) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).keys.push({ source: 'github.com', id: gistId });\n });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col gap-4 mlb-cardSpacingBlock'>\n <div>\n <h2>{t('script publish settings label')}</h2>\n <p className='text-description text-sm'>{t('script publish settings description')}</p>\n </div>\n {!githubToken && (\n <div className='flex flex-col gap-2'>\n <span>{t('no github token label')}</span>\n <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>\n </div>\n )}\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t(publishing ? 'publishing label' : 'publish label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useClient } from '@dxos/react-client';\nimport { Button, Select, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { type EditorInputMode, EditorInputModes } from '@dxos/ui-editor';\n\nimport { meta } from '../../meta';\nimport { type ScriptSettings } from '../../types';\nimport { getAccessCredential } from '../../util';\n\nexport type ScriptPluginSettingsComponentProps = {\n settings: ScriptSettings;\n onSettingsChange: (fn: (current: ScriptSettings) => ScriptSettings) => void;\n};\n\nexport const ScriptPluginSettings = ({ settings, onSettingsChange }: ScriptPluginSettingsComponentProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n\n // TODO(burdon): Check token.\n const handleAuthenticate = async () => {\n const { identityKey } = client.halo.identity.get()!;\n await client.halo.writeCredentials([getAccessCredential(identityKey)]);\n };\n\n return (\n <ControlPage>\n <ControlSection title={t('settings title', { ns: meta.id })}>\n <ControlGroup>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <ControlItemInput title={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </ControlItemInput>\n\n <ControlItemInput title={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n onSettingsChange((s) => ({ ...s, editorInputMode: value as EditorInputMode }));\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { Avatar, Icon, Input, type ThemedClassName, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { errorText, mx } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\ntype State = 'pending' | 'responding';\n\n/**\n * Request or response.\n */\ntype Message = {\n type: 'request' | 'response';\n text?: string;\n data?: any;\n error?: Error;\n};\n\nexport type TestPanelProps = ThemedClassName<{\n functionUrl?: string;\n}>;\n\n// TODO(burdon): Need persistent history (currently lost when switching tabs)..\nexport const TestPanel = ({ classNames, functionUrl }: TestPanelProps) => {\n const { t } = useTranslation(meta.id);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState('');\n const [result, setResult] = useState('');\n const [state, setState] = useState<State | null>(null);\n\n // TODO(burdon): Persistent history (thread).\n const [history, setHistory] = useState<Message[]>([]);\n\n const scrollerRef = useRef<HTMLDivElement>(null);\n const handleScroll = () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;\n }\n };\n\n const controller = useRef<AbortController>(null);\n useEffect(() => {\n return () => {\n handleStop();\n };\n }, []);\n\n const handleStop = () => {\n controller.current?.abort('stop');\n controller.current = null;\n };\n\n const handleClear = () => {\n handleStop();\n setInput('');\n setResult('');\n setHistory([]);\n inputRef.current?.focus();\n };\n\n const handleResponse = ({\n text,\n data,\n error,\n }: {\n text?: string;\n data?: any;\n error?: Error;\n } = {}) => {\n controller.current = null;\n setHistory((history) => [...history, { type: 'response', text, data, error } satisfies Message]);\n setResult('');\n setState(null);\n handleScroll();\n };\n\n const handleRequest = async (input: string) => {\n // Returns a promise that resolves when a value has been received.\n try {\n setState('pending');\n\n let data = null;\n // Detect JSON input.\n if (input.charAt(0) === '{') {\n try {\n const validJsonString = input.replace(/'/g, '\"').replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3');\n data = JSON.parse(validJsonString);\n input = JSON.stringify(data, null, 2);\n } catch (err) {\n inputRef.current?.focus();\n return;\n }\n }\n\n setInput('');\n setResult('');\n setHistory((history) => [...history, { type: 'request', text: input }]);\n setTimeout(() => {\n handleScroll();\n });\n\n // Throws DOMException when aborted.\n controller.current = new AbortController();\n const response = await fetch(functionUrl!, {\n signal: controller.current.signal,\n method: 'POST',\n body: input,\n headers: {\n 'Content-Type': data ? 'application/json' : 'text/plain',\n },\n });\n\n // Check for error.\n if (!response.ok) {\n const text = await response.text();\n handleResponse({\n error: new Error(text || response.statusText || String(response.status)),\n });\n return;\n }\n\n // Check for JSON.\n const contentType = response.headers.get('content-type');\n if (contentType === 'application/json') {\n const data = await response.json();\n handleResponse({ data });\n return;\n }\n\n // Text (including streaming).\n setState('responding');\n let text = '';\n const reader = response.body!.getReader();\n const pump = async ({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> => {\n text = text + new TextDecoder().decode(value);\n if (!controller.current || done) {\n handleResponse({ text });\n return;\n }\n\n setResult(text);\n setTimeout(() => {\n handleScroll();\n });\n\n return reader.read().then(pump);\n };\n\n void reader\n .read()\n .then(pump)\n .catch((err) => {\n if (err.name !== 'AbortError') {\n log.catch(err);\n }\n });\n } catch (err: any) {\n if (err !== 'stop') {\n const error = err instanceof Error ? err : new Error(err);\n handleResponse({ error });\n log.catch(err);\n } else {\n handleResponse();\n }\n }\n };\n\n return (\n <div className={mx('flex flex-col bs-full overflow-hidden', classNames)}>\n {/* TODO(burdon): Replace with Thread. */}\n <MessageThread ref={scrollerRef} state={state} result={result} history={history} />\n {/* TODO(burdon): Replace with Form based on the function's input schema. */}\n <Toolbar.Root>\n <Input.Root>\n <Input.TextInput\n ref={inputRef}\n autoFocus\n placeholder={t('function request placeholder')}\n value={input}\n onChange={(ev) => setInput(ev.target.value)}\n onKeyDown={(ev) => ev.key === 'Enter' && handleRequest(input)}\n />\n </Input.Root>\n <Toolbar.IconButton\n icon='ph--play--regular'\n size={4}\n label='Execute'\n iconOnly\n onClick={() => handleRequest(input)}\n />\n <Toolbar.IconButton\n icon={state ? 'ph--stop--regular' : 'ph--trash--regular'}\n size={4}\n label={state ? 'Stop' : 'Clear'}\n iconOnly\n onClick={() => (state ? handleStop() : handleClear())}\n />\n </Toolbar.Root>\n </div>\n );\n};\n\n// TODO(burdon): Replace with thread?\n// TODO(burdon): Button to edit/re-run question.\ntype MessageThreadProps = {\n state: State | null;\n history: Message[];\n result: string;\n};\n\nconst MessageThread = forwardRef<HTMLDivElement, MessageThreadProps>(\n ({ state, history, result }: MessageThreadProps, forwardedRef) => {\n return (\n <div ref={forwardedRef} className='flex flex-col gap-6 bs-full p-2 overflow-x-hidden overflow-y-auto'>\n {history.map((message, i) => (\n <div key={i} className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>{message.type === 'response' && <RobotAvatar />}</div>\n <div className='overflow-auto'>\n <MessageItem message={message} />\n </div>\n </div>\n ))}\n\n {result?.length > 0 && (\n <div className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>\n {(state === 'pending' && <Icon icon='ph--spinner--regular' size={6} classNames='animate-spin' />) || (\n <Icon icon='ph--robot--regular' size={6} classNames='animate-[pulse_1s_ease-in-out_infinite]' />\n )}\n </div>\n <div className='overflow-auto'>\n <MessageItem message={{ type: 'response', text: result }} />\n </div>\n </div>\n )}\n </div>\n );\n },\n);\n\nconst MessageItem = ({ classNames, message }: ThemedClassName<{ message: Message }>) => {\n const { type, text, data, error } = message;\n const wrapper = 'p-1 pli-2 rounded-md bg-hoverSurface overflow-auto';\n return (\n <div className={mx('flex', type === 'request' ? 'ml-[1rem] justify-end' : 'mr-[1rem]', classNames)}>\n {error && <div className={mx(wrapper, 'whitespace-pre', errorText)}>{String(error)}</div>}\n\n {text !== undefined && (\n <div className={mx(wrapper, type === 'request' && 'bg-primary-400 dark:bg-primary-600')}>\n {text || '\\u00D8'}\n </div>\n )}\n\n {data && (\n <SyntaxHighlighter language='json' className={mx(wrapper, 'text-xs')}>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n );\n};\n\nconst RobotAvatar = () => (\n <Avatar.Root>\n <Avatar.Content size={6} variant='circle' icon='ph--robot--regular' />\n </Avatar.Root>\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Script } from '@dxos/functions';\nimport { Layout } from '@dxos/react-ui-mosaic';\n\nimport { useDeployState, useToolbarState } from '../../hooks';\n\nimport { TestPanel } from './TestPanel';\n\nexport type TestContainerProps = {\n role: string;\n script: Script.Script;\n};\n\nexport const TestContainer = ({ role, script }: TestContainerProps) => {\n const state = useToolbarState();\n useDeployState({ state, script });\n return (\n <Layout.Main role={role}>\n <TestPanel functionUrl={state.value.functionUrl} />\n </Layout.Main>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './NotebookStack';\nexport * from './Settings';\nexport * from './TestPanel';\n\nexport { DEPLOYMENT_DIALOG } from './DeploymentDialog';\n\nexport const ScriptContainer = lazy(() => import('./ScriptContainer'));\nexport const DeploymentDialog = lazy(() => import('./DeploymentDialog'));\nexport const NotebookContainer = lazy(() => import('./NotebookContainer'));\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,SAASA,eAAe;AACxB,OAAOC,SAA2BC,aAAaC,gBAAgB;AAE/D,SAASC,cAAc;AACvB,SAASC,yBAAyB;AAClC,SAASC,2BAA2B;AACpC,SAASC,WAAWC,gBAAgB;AACpC,SAASC,QAAQC,KAAKC,WAAW;AACjC,SAASC,UAAuBC,mCAAmC;AACnE,SAASC,wBAAwB;AACjC,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,QAAQC,WAAWC,OAAOC,gBAAgBC,oBAAoBC,sBAAsB;AAC7F,SAASC,mBAAmB;AAC5B,SAASC,gBAAgB;;AAQlB,IAAMC,uBAAuB,CAAC,EAAEC,OAAM,MAA6B;AACxE,SACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAACC,SAAAA;IAAQD;MACT,sBAAA,cAACE,iBAAAA;IAAgBF;MACjB,sBAAA,cAACG,YAAAA;IAAWH;;AAGlB;AAEO,IAAMI,mBAAmB,CAAC,EAAEJ,OAAM,MAA6B;AACpE,QAAM,EAAEK,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,SACE,sBAAA,cAACC,MAAMC,MAAI,MACT,sBAAA,cAACD,MAAME,OAAK,MAAEN,EAAE,mBAAA,CAAA,GAChB,sBAAA,cAACI,MAAMG,WAAS;IACdC,aAAaR,EAAE,yBAAA;IACfS,OAAOd,OAAOe,eAAe;IAC7BC,UAAU,CAACC,UAAAA;AACTC,UAAIC,OAAOnB,QAAQ,CAACoB,MAAAA;AAClBA,UAAEL,cAAcE,MAAMI,OAAOP;MAC/B,CAAA;IACF;;AAIR;AAEA,IAAMZ,kBAAkB,CAAC,EAAEF,OAAM,MAA6B;AAC5D,QAAM,EAAEK,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMc,KAAKJ,IAAIK,YAAYvB,MAAAA;AAC3B,QAAM,CAACwB,EAAAA,IAAMC,SAASH,IAAII,OAAOC,KAAKC,SAASA,UAAU;IAAEC,QAAQC,IAAIC,KAAK/B,MAAAA;EAAQ,CAAA,CAAA;AACpF,QAAMgC,aAAaP,SAASH,IAAII,OAAOC,KAAKM,UAAUA,SAAS,CAAA;AAE/D,QAAM,CAACC,UAAUC,WAAAA,IAAeC,SAAS,KAAA;AACzC,QAAM,CAACC,cAAcC,eAAAA,IAAmBF,SAAiB,2BAA2BpC,OAAOuC,QAAQ,QAAA,IAAY;AAC/G,QAAMC,eAAe,sBAAsBC,SAASzC,OAAOuC,QAAQ,QAAA,CAAA;AACnE,QAAMG,oBAAoBV,WAAWW,KAAK,CAACC,OAAOA,GAAGC,QAAQL,YAAAA;AAE7DM,iBAAe,YAAA;AACb,QAAI,CAACJ,mBAAmB;AACtB;IACF;AACA,UAAMb,SAAS,MAAMa,kBAAkBL,aAAaR,OAAOkB,KAAI;AAC/DT,oBAAgBT,OAAOmB,WAAW,EAAA;EACpC,GAAG;IAACN;GAAkB;AAEtB,QAAMO,aAAaC,YAAY,YAAA;AAC7B,QAAI,CAAC5B,IAAI;AACP;IACF;AAEAa,gBAAY,IAAA;AACZ,QAAI;AACF,UAAIO,mBAAmB;AACrB,cAAMS,OAAO,MAAMT,kBAAkBL,aAAaR,OAAOkB,KAAI;AAC7D7B,YAAIC,OAAOgC,MAAM,CAAC9C,OAAAA;AAChBA,UAAAA,GAAE2C,UAAUX;QACd,CAAA;AACA,YAAIb,IAAIqB,KAAK;AACX,gBAAMO,SAASC,OAAOtB,KAAKP,GAAGqB,GAAG;AACjC,cAAI,CAACH,kBAAkBY,OAAOC,SAASH,MAAAA,GAAS;AAC9ClC,gBAAIC,OAAOuB,mBAAmB,CAACc,MAAAA;AAC7BA,gBAAEF,QAAQ;mBAAKE,EAAEF,SAAS,CAAA;gBAAKF;;YACjC,CAAA;UACF;QACF;MACF,WAAW5B,IAAIqB,KAAK;AAClBvB,WAAGmC,IACDxB,UAAUF,KAAK;UACbc,KAAKL;UACLD,MAAMvC,OAAOuC,QAAQ;UACrBF,cAAcqB,SAAS3B,KAAK;YAC1BF,QAAQQ;UACV,CAAA;UACAiB,OAAO;YAACD,OAAOtB,KAAKP,GAAGqB,GAAG;;QAC5B,CAAA,CAAA;MAEJ;AACA,YAAMvB,GAAGqC,MAAK;IAChB,UAAA;AACExB,kBAAY,KAAA;IACd;EACF,GAAG;IAACb;IAAIoB;IAAmBlB;IAAIgB;IAAcxC,OAAOuC;IAAMF;GAAa;AAEvE,SACE,sBAAA,cAACuB,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA,MACC,sBAAA,cAACE,MAAAA,MAAIzD,EAAE,0BAA0B;IAAE0D,SAAS;EAAY,CAAA,CAAA,GACxD,sBAAA,cAACC,KAAAA;IAAEH,WAAU;KACVxD,EAAE,gCAAgC;IACjC0D,SAAS;EACX,CAAA,CAAA,CAAA,GAGJ,sBAAA,cAACtD,MAAMC,MAAI,MACT,sBAAA,cAACkD,OAAAA;IAAIK,MAAK;IAAOJ,WAAU;KACzB,sBAAA,cAACpD,MAAME,OAAK,MAAEN,EAAE,gCAAgC;IAAE0D,SAAS;EAAe,CAAA,CAAA,GAC1E,sBAAA,cAACtD,MAAMyD,UAAQ;IACbrD,aAAaR,EAAE,sCAAsC;MACnD0D,SAAS;IACX,CAAA;IACAI,MAAM;IACNrD,OAAOuB;IACPrB,UAAU,CAACC,UAAUqB,gBAAgBrB,MAAMI,OAAOP,KAAK;IACvDsD,YAAW;QAIjB,sBAAA,cAACR,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACQ,QAAAA;IAAOC,UAAW,CAAC5B,qBAAqB,CAAClB,IAAIqB,OAAQX;IAAUqC,SAAStB;KACtE5C,EAAE6B,WAAW,mBAAmB,0BAA0B;IACzD6B,SAAS7B,WAAW,mBAAc;EACpC,CAAA,CAAA,CAAA,CAAA;AAKV;AAEA,IAAMjC,UAAU,CAAC,EAAED,OAAM,MAA6B;AACpD,QAAM,EAAEK,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMgE,SAASC,UAAAA;AACf,QAAMnD,KAAKJ,IAAIK,YAAYvB,MAAAA;AAC3B,QAAM,CAACwB,EAAAA,IAAMC,SAASH,IAAII,OAAOC,KAAKC,SAASA,UAAU;IAAEC,QAAQC,IAAIC,KAAK/B,MAAAA;EAAQ,CAAA,CAAA;AAEpF,QAAM0E,aAAalD,MAAMmD,4BAA4BzD,IAAI0D,QAAQpD,EAAAA,CAAAA;AACjE,QAAMqD,cACJH,cACAI,iBAAiBJ,YAAYF,OAAOO,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,OAAO,IAAI;IACpFC,SAAS/D,IAAI+D;EACf,CAAA;AAEF,QAAM,CAACC,SAASC,UAAAA,IAAcC,mBAAmBhE,IAAI8D,WAAW,EAAA;AAChE,QAAMG,sBAAsBvC,YAC1B,CAACjC,UAAAA;AACCsE,eAAWtE,MAAMI,OAAOP,KAAK;EAC/B,GACA;IAACyE;GAAW;AAGd,QAAMG,oBAAoBxC,YAAY,MAAA;AACpChC,QAAIC,OAAOK,IAAI,CAACmE,MAAAA;AACdA,QAAEL,UAAUA;IACd,CAAA;EACF,GAAG;IAAC9D;IAAI8D;GAAQ;AAEhB,MAAI,CAAC9D,MAAM,CAACqD,aAAa;AACvB,WAAO;EACT;AAGA,SACE,sBAAA,cAACjB,OAAAA;IAAIK,MAAK;IAAOJ,WAAU;KACzB,sBAAA,cAACC,MAAAA,MAAIzD,EAAE,kCAAA,CAAA,GACP,sBAAA,cAACI,MAAMC,MAAI,MACT,sBAAA,cAACkD,OAAAA;IAAIK,MAAK;IAAOJ,WAAU;KACzB,sBAAA,cAACpD,MAAME,OAAK,MAAEN,EAAE,oBAAA,CAAA,GAChB,sBAAA,cAACuD,OAAAA;IAAIK,MAAK;IAAOJ,WAAU;KACzB,sBAAA,cAACpD,MAAMG,WAAS;IACd0D,UAAAA;IACAxD,OAAO+D;IACP7D,UAAU,CAACC,UAAAA;AACTC,UAAIC,OAAOK,IAAI,CAACmE,MAAAA;AACdA,UAAEpD,OAAOtB,MAAMI,OAAOP;MACxB,CAAA;IACF;MAEF,sBAAA,cAAC8E,UAAUC,YAAU;IAAC/E,OAAO+D;SAInC,sBAAA,cAACpE,MAAMC,MAAI,MACT,sBAAA,cAACkD,OAAAA;IAAIK,MAAK;IAAOJ,WAAU;KACzB,sBAAA,cAACpD,MAAME,OAAK,MAAEN,EAAE,wBAAA,CAAA,GAChB,sBAAA,cAACI,MAAMG,WAAS;IACdC,aAAaR,EAAE,8BAAA;IACfS,OAAOwE;IACPtE,UAAUyE;IACVK,QAAQJ;;AAMpB;AAGA,IAAMvF,aAAa,CAAC,EAAEH,OAAM,MAA6B;AACvD,QAAM,EAAEK,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAM,EAAEuF,cAAa,IAAKC,oBAAAA;AAC1B,QAAM1E,KAAKJ,IAAIK,YAAYvB,MAAAA;AAC3B,QAAM,CAACiG,WAAAA,IAAexE,SAASH,IAAII,OAAOC,KAAKuE,YAAYA,aAAa;IAAErE,QAAQ;EAAa,CAAA,CAAA;AAC/F,QAAMsE,UAAUjF,IAAI0D,QAAQ5E,MAAAA,EAAQoG,KAAKzD,KAAK,CAAC,EAAEd,OAAM,MAAOA,WAAW,YAAA;AACzE,QAAM,CAACwE,SAASC,UAAAA,IAAclE,SAAAA;AAE9BU,iBAAe,YAAA;AACb,UAAMyD,QAAQN,aAAaM;AAC3B,UAAMC,SAASL,SAAS3F;AACxB,QAAI,CAAC+F,SAAS,CAACC,QAAQ;AACrBF,iBAAWG,MAAAA;AACX;IACF;AAEA,QAAI;AACF,YAAMC,UAAU,IAAIC,QAAQ;QAAEC,MAAMX,YAAYM;MAAM,CAAA;AACtD,YAAMM,WAAW,MAAMH,QAAQI,QAAQ,wBAAwB;QAC7DC,SAASP;MACX,CAAA;AACAF,iBAAWO,SAASG,KAAKC,QAAQ;IACnC,SAASC,KAAK;AACZC,UAAIC,MAAMF,KAAAA,QAAAA;;;;;;AACVZ,iBAAWG,MAAAA;IACb;EACF,GAAG;IAACR;IAAaE;GAAQ;AAEzB,QAAMkB,yBAAyBnE,YAC7B,MACE6C,cAAcuB,kBAAkBC,MAAM;IACpCC,QAAQ;EACV,CAAA,GACF;IAACzB;GAAc;AAGjB,QAAM,CAAC0B,YAAYC,aAAAA,IAAiBtF,SAAS,KAAA;AAC7C,QAAMuF,gBAAgBzE,YAAY,YAAA;AAChCwE,kBAAc,IAAA;AACd,UAAMhB,UAAU,IAAIC,QAAQ;MAAEC,MAAMX,YAAYM;IAAM,CAAA;AACtD,UAAM1E,SAAS,MAAM7B,OAAO6B,OAAOkB,KAAI;AACvC,UAAM6E,WAAW5H,OAAOuC,OAAOE,SAASzC,OAAOuC,IAAI,IAAI;AACvD,UAAMsF,QAAQ;MAAE,CAAC,GAAGD,QAAAA,KAAa,GAAG;QAAE5E,SAASnB,OAAOmB;MAAQ;IAAE;AAEhE,QAAI;AAEF,YAAMzC,QAAOW,IAAI0D,QAAQ5E,MAAAA;AACzB,YAAM8H,YAAYvH,MAAK6F,KAAKzD,KAAK,CAAC,EAAEd,QAAAA,QAAM,MAAOA,YAAW,YAAA;AAC5D,YAAM2E,SAASsB,WAAWtH;AAC1B,UAAIgG,QAAQ;AACV,cAAME,QAAQI,QAAQ,0BAA0B;UAC9CC,SAASP;UACTqB;QACF,CAAA;MACF,OAAO;AACL,cAAMhB,WAAW,MAAMH,QAAQI,QAAQ,eAAe;UACpDiB,QAAQ;UACRF;QACF,CAAA;AACA,cAAMrB,UAASK,SAASG,KAAKxG;AAC7B,YAAIgG,SAAQ;AACVtF,cAAIC,OAAOnB,QAAQ,CAACgI,QAAAA;AAClB9G,gBAAI0D,QAAQoD,GAAAA,EAAK5B,KAAK6B,KAAK;cAAEpG,QAAQ;cAAcrB,IAAIgG;YAAO,CAAA;UAChE,CAAA;QACF;MACF;IACF,UAAA;AACEkB,oBAAc,KAAA;IAChB;EACF,GAAG;IAAC1H;IAAQiG;GAAY;AAExB,SACE,sBAAA,cAACrC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA,MACC,sBAAA,cAACE,MAAAA,MAAIzD,EAAE,+BAAA,CAAA,GACP,sBAAA,cAAC2D,KAAAA;IAAEH,WAAU;KAA4BxD,EAAE,qCAAA,CAAA,CAAA,GAE5C,CAAC4F,eACA,sBAAA,cAACrC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACqE,QAAAA,MAAM7H,EAAE,uBAAA,CAAA,GACT,sBAAA,cAACgE,QAAAA;IAAOE,SAAS8C;KAAyBhH,EAAE,0BAAA,CAAA,CAAA,GAG/C4F,eACC,sBAAA,cAACrC,OAAAA;IAAIC,WAAU;KACZwC,WAAW,sBAAA,cAACT,UAAUC,YAAU;IAAC/E,OAAOuF;MACzC,sBAAA,cAAChC,QAAAA;IAAOC,UAAUmD;IAAYlD,SAASoD;KACpCtH,EAAEoH,aAAa,qBAAqB,eAAA,CAAA,CAAA,CAAA;AAMjD;;;AChTA,OAAOU,YAAW;AAElB,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,UAAAA,SAAQC,QAAQC,kBAAAA,uBAAsB;AAC/C,SAASC,cAAcC,kBAAkBC,aAAaC,sBAAsB;AAC5E,SAA+BC,wBAAwB;AAWhD,IAAMC,uBAAuB,CAAC,EAAEC,UAAUC,iBAAgB,MAAsC;AACrG,QAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AACpC,QAAMC,SAASC,WAAAA;AAGf,QAAMC,qBAAqB,YAAA;AACzB,UAAM,EAAEC,YAAW,IAAKH,OAAOI,KAAKC,SAASC,IAAG;AAChD,UAAMN,OAAOI,KAAKG,iBAAiB;MAACC,oBAAoBL,WAAAA;KAAa;EACvE;AAEA,SACE,gBAAAM,OAAA,cAACC,aAAAA,MACC,gBAAAD,OAAA,cAACE,gBAAAA;IAAeC,OAAOhB,EAAE,kBAAkB;MAAEiB,IAAIf,KAAKC;IAAG,CAAA;KACvD,gBAAAU,OAAA,cAACK,cAAAA,MAEC,gBAAAL,OAAA,cAACM,kBAAAA;IAAiBH,OAAOhB,EAAE,2BAAA;KACzB,gBAAAa,OAAA,cAACO,SAAAA;IAAOC,SAASf;KAAqBN,EAAE,2BAAA,CAAA,CAAA,GAG1C,gBAAAa,OAAA,cAACM,kBAAAA;IAAiBH,OAAOhB,EAAE,yBAAA;KACzB,gBAAAa,OAAA,cAACS,OAAOC,MAAI;IACVC,OAAO1B,SAAS2B,mBAAmB;IACnCC,eAAe,CAACF,UAAAA;AACdzB,uBAAiB,CAAC4B,OAAO;QAAE,GAAGA;QAAGF,iBAAiBD;MAAyB,EAAA;IAC7E;KAEA,gBAAAX,OAAA,cAACS,OAAOM,eAAa;IAACC,aAAa7B,EAAE,sCAAA;MACrC,gBAAAa,OAAA,cAACS,OAAOQ,QAAM,MACZ,gBAAAjB,OAAA,cAACS,OAAOS,SAAO,MACb,gBAAAlB,OAAA,cAACS,OAAOU,UAAQ,MACbC,iBAAiBC,IAAI,CAACC,SACrB,gBAAAtB,OAAA,cAACS,OAAOc,QAAM;IAACC,KAAKF;IAAMX,OAAOW;KAC9BnC,EAAE,8BAA8BmC,IAAAA,QAAY,CAAA,CAAA,CAAA,GAInD,gBAAAtB,OAAA,cAACS,OAAOgB,OAAK,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAS/B;;;AC7DA,OAAOC,UAASC,YAAYC,WAAWC,QAAQC,YAAAA,iBAAgB;AAE/D,SAASC,OAAAA,YAAW;AACpB,SAASC,QAAQC,MAAMC,SAAAA,QAA6BC,SAASC,kBAAAA,uBAAsB;AACnF,SAASC,yBAAyB;AAClC,SAASC,WAAWC,UAAU;;AAqBvB,IAAMC,YAAY,CAAC,EAAEC,YAAYC,YAAW,MAAkB;AACnE,QAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AAEpC,QAAMC,WAAWC,OAAyB,IAAA;AAC1C,QAAM,CAACC,OAAOC,QAAAA,IAAYC,UAAS,EAAA;AACnC,QAAM,CAACC,QAAQC,SAAAA,IAAaF,UAAS,EAAA;AACrC,QAAM,CAACG,OAAOC,QAAAA,IAAYJ,UAAuB,IAAA;AAGjD,QAAM,CAACK,SAASC,UAAAA,IAAcN,UAAoB,CAAA,CAAE;AAEpD,QAAMO,cAAcV,OAAuB,IAAA;AAC3C,QAAMW,eAAe,MAAA;AACnB,QAAID,YAAYE,SAAS;AACvBF,kBAAYE,QAAQC,YAAYH,YAAYE,QAAQE;IACtD;EACF;AAEA,QAAMC,aAAaf,OAAwB,IAAA;AAC3CgB,YAAU,MAAA;AACR,WAAO,MAAA;AACLC,iBAAAA;IACF;EACF,GAAG,CAAA,CAAE;AAEL,QAAMA,aAAa,MAAA;AACjBF,eAAWH,SAASM,MAAM,MAAA;AAC1BH,eAAWH,UAAU;EACvB;AAEA,QAAMO,cAAc,MAAA;AAClBF,eAAAA;AACAf,aAAS,EAAA;AACTG,cAAU,EAAA;AACVI,eAAW,CAAA,CAAE;AACbV,aAASa,SAASQ,MAAAA;EACpB;AAEA,QAAMC,iBAAiB,CAAC,EACtBC,MACAC,MACAC,MAAK,IAKH,CAAC,MAAC;AACJT,eAAWH,UAAU;AACrBH,eAAW,CAACD,aAAY;SAAIA;MAAS;QAAEiB,MAAM;QAAYH;QAAMC;QAAMC;MAAM;KAAoB;AAC/FnB,cAAU,EAAA;AACVE,aAAS,IAAA;AACTI,iBAAAA;EACF;AAEA,QAAMe,gBAAgB,OAAOzB,WAAAA;AAE3B,QAAI;AACFM,eAAS,SAAA;AAET,UAAIgB,OAAO;AAEX,UAAItB,OAAM0B,OAAO,CAAA,MAAO,KAAK;AAC3B,YAAI;AACF,gBAAMC,kBAAkB3B,OAAM4B,QAAQ,MAAM,GAAA,EAAKA,QAAQ,mCAAmC,UAAA;AAC5FN,iBAAOO,KAAKC,MAAMH,eAAAA;AAClB3B,UAAAA,SAAQ6B,KAAKE,UAAUT,MAAM,MAAM,CAAA;QACrC,SAASU,KAAK;AACZlC,mBAASa,SAASQ,MAAAA;AAClB;QACF;MACF;AAEAlB,eAAS,EAAA;AACTG,gBAAU,EAAA;AACVI,iBAAW,CAACD,aAAY;WAAIA;QAAS;UAAEiB,MAAM;UAAWH,MAAMrB;QAAM;OAAE;AACtEiC,iBAAW,MAAA;AACTvB,qBAAAA;MACF,CAAA;AAGAI,iBAAWH,UAAU,IAAIuB,gBAAAA;AACzB,YAAMC,WAAW,MAAMC,MAAM3C,aAAc;QACzC4C,QAAQvB,WAAWH,QAAQ0B;QAC3BC,QAAQ;QACRC,MAAMvC;QACNwC,SAAS;UACP,gBAAgBlB,OAAO,qBAAqB;QAC9C;MACF,CAAA;AAGA,UAAI,CAACa,SAASM,IAAI;AAChB,cAAMpB,QAAO,MAAMc,SAASd,KAAI;AAChCD,uBAAe;UACbG,OAAO,IAAImB,MAAMrB,SAAQc,SAASQ,cAAcC,OAAOT,SAASU,MAAM,CAAA;QACxE,CAAA;AACA;MACF;AAGA,YAAMC,cAAcX,SAASK,QAAQO,IAAI,cAAA;AACzC,UAAID,gBAAgB,oBAAoB;AACtC,cAAMxB,QAAO,MAAMa,SAASa,KAAI;AAChC5B,uBAAe;UAAEE,MAAAA;QAAK,CAAA;AACtB;MACF;AAGAhB,eAAS,YAAA;AACT,UAAIe,OAAO;AACX,YAAM4B,SAASd,SAASI,KAAMW,UAAS;AACvC,YAAMC,OAAO,OAAO,EAAEC,MAAMC,MAAK,MAAwC;AACvEhC,eAAOA,OAAO,IAAIiC,YAAAA,EAAcC,OAAOF,KAAAA;AACvC,YAAI,CAACvC,WAAWH,WAAWyC,MAAM;AAC/BhC,yBAAe;YAAEC;UAAK,CAAA;AACtB;QACF;AAEAjB,kBAAUiB,IAAAA;AACVY,mBAAW,MAAA;AACTvB,uBAAAA;QACF,CAAA;AAEA,eAAOuC,OAAOO,KAAI,EAAGC,KAAKN,IAAAA;MAC5B;AAEA,WAAKF,OACFO,KAAI,EACJC,KAAKN,IAAAA,EACLO,MAAM,CAAC1B,QAAAA;AACN,YAAIA,IAAI2B,SAAS,cAAc;AAC7BC,UAAAA,KAAIF,MAAM1B,KAAAA,QAAAA;;;;;;QACZ;MACF,CAAA;IACJ,SAASA,KAAU;AACjB,UAAIA,QAAQ,QAAQ;AAClB,cAAMT,QAAQS,eAAeU,QAAQV,MAAM,IAAIU,MAAMV,GAAAA;AACrDZ,uBAAe;UAAEG;QAAM,CAAA;AACvBqC,QAAAA,KAAIF,MAAM1B,KAAAA,QAAAA;;;;;;MACZ,OAAO;AACLZ,uBAAAA;MACF;IACF;EACF;AAEA,SACE,gBAAAyC,OAAA,cAACC,OAAAA;IAAIC,WAAWC,GAAG,yCAAyCxE,UAAAA;KAE1D,gBAAAqE,OAAA,cAACI,eAAAA;IAAcC,KAAKzD;IAAaJ;IAAcF;IAAgBI;MAE/D,gBAAAsD,OAAA,cAACM,QAAQC,MAAI,MACX,gBAAAP,OAAA,cAACQ,OAAMD,MAAI,MACT,gBAAAP,OAAA,cAACQ,OAAMC,WAAS;IACdJ,KAAKpE;IACLyE,WAAAA;IACAC,aAAa9E,EAAE,8BAAA;IACf2D,OAAOrD;IACPyE,UAAU,CAACC,OAAOzE,SAASyE,GAAGC,OAAOtB,KAAK;IAC1CuB,WAAW,CAACF,OAAOA,GAAGG,QAAQ,WAAWpD,cAAczB,KAAAA;OAG3D,gBAAA6D,OAAA,cAACM,QAAQW,YAAU;IACjBC,MAAK;IACLC,MAAM;IACNC,OAAM;IACNC,UAAAA;IACAC,SAAS,MAAM1D,cAAczB,KAAAA;MAE/B,gBAAA6D,OAAA,cAACM,QAAQW,YAAU;IACjBC,MAAM1E,QAAQ,sBAAsB;IACpC2E,MAAM;IACNC,OAAO5E,QAAQ,SAAS;IACxB6E,UAAAA;IACAC,SAAS,MAAO9E,QAAQW,WAAAA,IAAeE,YAAAA;;AAKjD;AAUA,IAAM+C,gBAAgBmB,2BACpB,CAAC,EAAE/E,OAAOE,SAASJ,OAAM,GAAwBkF,iBAAAA;AAC/C,SACE,gBAAAxB,OAAA,cAACC,OAAAA;IAAII,KAAKmB;IAActB,WAAU;KAC/BxD,QAAQ+E,IAAI,CAACC,SAASC,MACrB,gBAAA3B,OAAA,cAACC,OAAAA;IAAIe,KAAKW;IAAGzB,WAAU;KACrB,gBAAAF,OAAA,cAACC,OAAAA;IAAIC,WAAU;KAAOwB,QAAQ/D,SAAS,cAAc,gBAAAqC,OAAA,cAAC4B,aAAAA,IAAAA,CAAAA,GACtD,gBAAA5B,OAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,gBAAAF,OAAA,cAAC6B,aAAAA;IAAYH;SAKlBpF,QAAQwF,SAAS,KAChB,gBAAA9B,OAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,gBAAAF,OAAA,cAACC,OAAAA;IAAIC,WAAU;KACX1D,UAAU,aAAa,gBAAAwD,OAAA,cAAC+B,MAAAA;IAAKb,MAAK;IAAuBC,MAAM;IAAGxF,YAAW;QAC7E,gBAAAqE,OAAA,cAAC+B,MAAAA;IAAKb,MAAK;IAAqBC,MAAM;IAAGxF,YAAW;OAGxD,gBAAAqE,OAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,gBAAAF,OAAA,cAAC6B,aAAAA;IAAYH,SAAS;MAAE/D,MAAM;MAAYH,MAAMlB;IAAO;;AAMnE,CAAA;AAGF,IAAMuF,cAAc,CAAC,EAAElG,YAAY+F,QAAO,MAAyC;AACjF,QAAM,EAAE/D,MAAMH,MAAMC,MAAMC,MAAK,IAAKgE;AACpC,QAAMM,UAAU;AAChB,SACE,gBAAAhC,OAAA,cAACC,OAAAA;IAAIC,WAAWC,GAAG,QAAQxC,SAAS,YAAY,0BAA0B,aAAahC,UAAAA;KACpF+B,SAAS,gBAAAsC,OAAA,cAACC,OAAAA;IAAIC,WAAWC,GAAG6B,SAAS,kBAAkBC,SAAAA;KAAalD,OAAOrB,KAAAA,CAAAA,GAE3EF,SAAS0E,UACR,gBAAAlC,OAAA,cAACC,OAAAA;IAAIC,WAAWC,GAAG6B,SAASrE,SAAS,aAAa,oCAAA;KAC/CH,QAAQ,MAAA,GAIZC,QACC,gBAAAuC,OAAA,cAACmC,mBAAAA;IAAkBC,UAAS;IAAOlC,WAAWC,GAAG6B,SAAS,SAAA;KACvDhE,KAAKE,UAAUT,MAAM,MAAM,CAAA,CAAA,CAAA;AAKtC;AAEA,IAAMmE,cAAc,MAClB,gBAAA5B,OAAA,cAACqC,OAAO9B,MAAI,MACV,gBAAAP,OAAA,cAACqC,OAAOC,SAAO;EAACnB,MAAM;EAAGoB,SAAQ;EAASrB,MAAK;;;;AC5QnD,OAAOsB,YAAW;AAGlB,SAASC,cAAc;AAWhB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,OAAM,MAAsB;AAChE,QAAMC,QAAQC,gBAAAA;AACdC,iBAAe;IAAEF;IAAOD;EAAO,CAAA;AAC/B,SACE,gBAAAI,OAAA,cAACC,OAAOC,MAAI;IAACP;KACX,gBAAAK,OAAA,cAACG,WAAAA;IAAUC,aAAaP,MAAMQ,MAAMD;;AAG1C;;;ACtBA,SAASE,YAAY;AAQd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,gCAAA,CAAA;AAC1C,IAAMC,mBAAmBD,KAAK,MAAM,OAAO,iCAAA,CAAA;AAC3C,IAAME,oBAAoBF,KAAK,MAAM,OAAO,kCAAA,CAAA;",
6
+ "names": ["Octokit", "React", "useCallback", "useState", "ToolId", "SettingsOperation", "useOperationInvoker", "Blueprint", "Template", "Filter", "Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "useClient", "useQuery", "Button", "Clipboard", "Input", "useAsyncEffect", "useControlledState", "useTranslation", "AccessToken", "kebabize", "ScriptObjectSettings", "object", "Binding", "BlueprintEditor", "Publishing", "ScriptProperties", "t", "useTranslation", "meta", "id", "Input", "Root", "Label", "TextInput", "placeholder", "value", "description", "onChange", "event", "Obj", "change", "o", "target", "db", "getDatabase", "fn", "useQuery", "Filter", "type", "Function", "source", "Ref", "make", "blueprints", "Blueprint", "creating", "setCreating", "useState", "instructions", "setInstructions", "name", "blueprintKey", "kebabize", "existingBlueprint", "find", "bp", "key", "useAsyncEffect", "load", "content", "handleSave", "useCallback", "text", "toolId", "ToolId", "tools", "includes", "b", "add", "Template", "flush", "div", "className", "h2", "default", "p", "role", "TextArea", "rows", "classNames", "Button", "disabled", "onClick", "client", "useClient", "functionId", "getUserFunctionIdInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "binding", "setBinding", "useControlledState", "handleBindingChange", "handleBindingBlur", "f", "Clipboard", "IconButton", "onBlur", "invokePromise", "useOperationInvoker", "githubToken", "AccessToken", "gistKey", "keys", "gistUrl", "setGistUrl", "token", "gistId", "undefined", "octokit", "Octokit", "auth", "response", "request", "gist_id", "data", "html_url", "err", "log", "catch", "handleOpenTokenManager", "SettingsOperation", "Open", "plugin", "publishing", "setPublishing", "handlePublish", "filename", "files", "githubKey", "public", "obj", "push", "span", "React", "useClient", "Button", "Select", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "EditorInputModes", "ScriptPluginSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "client", "useClient", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "getAccessCredential", "React", "ControlPage", "ControlSection", "title", "ns", "ControlGroup", "ControlItemInput", "Button", "onClick", "Select", "Root", "value", "editorInputMode", "onValueChange", "s", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "EditorInputModes", "map", "mode", "Option", "key", "Arrow", "React", "forwardRef", "useEffect", "useRef", "useState", "log", "Avatar", "Icon", "Input", "Toolbar", "useTranslation", "SyntaxHighlighter", "errorText", "mx", "TestPanel", "classNames", "functionUrl", "t", "useTranslation", "meta", "id", "inputRef", "useRef", "input", "setInput", "useState", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "useEffect", "handleStop", "abort", "handleClear", "focus", "handleResponse", "text", "data", "error", "type", "handleRequest", "charAt", "validJsonString", "replace", "JSON", "parse", "stringify", "err", "setTimeout", "AbortController", "response", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "get", "json", "reader", "getReader", "pump", "done", "value", "TextDecoder", "decode", "read", "then", "catch", "name", "log", "React", "div", "className", "mx", "MessageThread", "ref", "Toolbar", "Root", "Input", "TextInput", "autoFocus", "placeholder", "onChange", "ev", "target", "onKeyDown", "key", "IconButton", "icon", "size", "label", "iconOnly", "onClick", "forwardRef", "forwardedRef", "map", "message", "i", "RobotAvatar", "MessageItem", "length", "Icon", "wrapper", "errorText", "undefined", "SyntaxHighlighter", "language", "Avatar", "Content", "variant", "React", "Layout", "TestContainer", "role", "script", "state", "useToolbarState", "useDeployState", "React", "Layout", "Main", "TestPanel", "functionUrl", "value", "lazy", "ScriptContainer", "lazy", "DeploymentDialog", "NotebookContainer"]
7
+ }
@@ -0,0 +1,162 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ ScriptCapabilities
4
+ } from "./chunk-KN6SQYUF.mjs";
5
+ import "./chunk-4F5FJZ36.mjs";
6
+ import "./chunk-5HSJPAK7.mjs";
7
+ import "./chunk-HSLMI22Q.mjs";
8
+
9
+ // src/capabilities/compiler/compiler.ts
10
+ import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
11
+ import * as HttpClient from "@effect/platform/HttpClient";
12
+ import * as Effect from "effect/Effect";
13
+ import * as Schedule from "effect/Schedule";
14
+ import * as Schema from "effect/Schema";
15
+ import wasmUrl from "esbuild-wasm/esbuild.wasm?url";
16
+ import * as ts2 from "typescript";
17
+ import { Capability } from "@dxos/app-framework";
18
+ import { initializeBundler } from "@dxos/functions-runtime/bundler";
19
+ import { log } from "@dxos/log";
20
+ import { trim } from "@dxos/util";
21
+
22
+ // src/compiler/compiler.ts
23
+ import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
24
+ import ts from "typescript";
25
+ import { invariant } from "@dxos/invariant";
26
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
27
+ var GLOBALS = "globals.d.ts";
28
+ var defaultOptions = {
29
+ lib: [
30
+ "DOM",
31
+ "es2022"
32
+ ],
33
+ target: ts.ScriptTarget.ES2022
34
+ };
35
+ var Compiler = class {
36
+ _options;
37
+ _env;
38
+ _fsMap;
39
+ constructor(_options = defaultOptions) {
40
+ this._options = _options;
41
+ }
42
+ async initialize(globals) {
43
+ if (this._env) {
44
+ return;
45
+ }
46
+ this._fsMap = await createDefaultMapFromCDN(this._options, "5.7.2", true, ts);
47
+ if (globals) {
48
+ this._fsMap.set(GLOBALS, globals);
49
+ }
50
+ const rootFiles = globals ? [
51
+ GLOBALS
52
+ ] : [];
53
+ const system = createSystem(this._fsMap);
54
+ this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);
55
+ }
56
+ get environment() {
57
+ invariant(this._env, "Compiler environment not initialized.", {
58
+ F: __dxlog_file,
59
+ L: 46,
60
+ S: this,
61
+ A: [
62
+ "this._env",
63
+ "'Compiler environment not initialized.'"
64
+ ]
65
+ });
66
+ return this._env;
67
+ }
68
+ setFile(fileName, content) {
69
+ invariant(this._fsMap, "File system map not initialized.", {
70
+ F: __dxlog_file,
71
+ L: 51,
72
+ S: this,
73
+ A: [
74
+ "this._fsMap",
75
+ "'File system map not initialized.'"
76
+ ]
77
+ });
78
+ this.environment.createFile(fileName, content);
79
+ }
80
+ compile(fileName) {
81
+ return this.environment.languageService.getEmitOutput(fileName);
82
+ }
83
+ };
84
+
85
+ // src/capabilities/compiler/compiler.ts
86
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/capabilities/compiler/compiler.ts";
87
+ var SCRIPT_PACKAGES_BUCKET = "https://pub-5745ae82e450484aa28f75fc6a175935.r2.dev/dev/";
88
+ var DECLARATION_EXTS = [
89
+ ".d.ts",
90
+ ".d.mts"
91
+ ];
92
+ var NO_TYPES = true;
93
+ var compiler_default = Capability.makeModule(() => Effect.gen(function* () {
94
+ yield* Effect.tryPromise(() => initializeBundler({
95
+ wasmUrl
96
+ }));
97
+ const runtimeModules = yield* fetchRuntimeModules().pipe(Effect.provide(FetchHttpClient.layer));
98
+ const compiler = new Compiler({
99
+ skipLibCheck: true,
100
+ moduleResolution: ts2.ModuleResolutionKind.Bundler,
101
+ allowImportingTsExtensions: true,
102
+ noEmit: true,
103
+ strict: true,
104
+ esModuleInterop: true,
105
+ paths: Object.fromEntries(runtimeModules.map((mod) => [
106
+ mod.moduleName,
107
+ [
108
+ `./src/${mod.filename}`
109
+ ]
110
+ ]))
111
+ });
112
+ yield* Effect.tryPromise(() => compiler.initialize(trim`
113
+ declare module 'https://*';
114
+ ${NO_TYPES ? "" : 'declare module "*";'}
115
+ `));
116
+ if (!NO_TYPES) {
117
+ for (const mod of runtimeModules) {
118
+ compiler.setFile(`/src/${mod.filename}`, mod.content);
119
+ }
120
+ }
121
+ return Capability.contributes(ScriptCapabilities.Compiler, compiler);
122
+ }));
123
+ var fetchRuntimeModules = Effect.fnUntraced(function* () {
124
+ const manifest = yield* HttpClient.get(new URL("manifest.json", SCRIPT_PACKAGES_BUCKET)).pipe(Effect.flatMap((_) => _.json), Effect.flatMap(Schema.decodeUnknown(Schema.Struct({
125
+ files: Schema.Array(Schema.Struct({
126
+ key: Schema.String
127
+ }))
128
+ }))), Effect.map((manifest2) => ({
129
+ ...manifest2,
130
+ files: manifest2.files.map((f) => f.key)
131
+ })));
132
+ const declarationFiles = manifest.files.filter((file) => DECLARATION_EXTS.some((ext) => file.endsWith(ext)));
133
+ let fetched = 0;
134
+ const modules = yield* Effect.forEach(declarationFiles, Effect.fnUntraced(function* (filename) {
135
+ const response = yield* HttpClient.get(new URL(filename, SCRIPT_PACKAGES_BUCKET)).pipe(Effect.retry(Schedule.exponential(1e3).pipe(Schedule.compose(Schedule.recurs(3)))));
136
+ const content = yield* response.text;
137
+ const moduleName = filename.replace(/\.d\.(ts|mts)$/, "");
138
+ fetched++;
139
+ return {
140
+ moduleName,
141
+ filename,
142
+ content
143
+ };
144
+ }, Effect.retry(Schedule.exponential(1e3).pipe(Schedule.compose(Schedule.recurs(3))))), {
145
+ concurrency: 20
146
+ });
147
+ log.info("runtime modules", {
148
+ manifest: manifest.files.length,
149
+ files: declarationFiles.length,
150
+ fetched
151
+ }, {
152
+ F: __dxlog_file2,
153
+ L: 101,
154
+ S: this,
155
+ C: (f, a) => f(...a)
156
+ });
157
+ return modules;
158
+ });
159
+ export {
160
+ compiler_default as default
161
+ };
162
+ //# sourceMappingURL=compiler-ORJAXDN7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compiler/compiler.ts", "../../../src/compiler/compiler.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport * as HttpClient from '@effect/platform/HttpClient';\nimport * as Effect from 'effect/Effect';\nimport * as Schedule from 'effect/Schedule';\nimport * as Schema from 'effect/Schema';\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\nimport * as ts from 'typescript';\n\nimport { Capability } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions-runtime/bundler';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { Compiler } from '../../compiler';\nimport { ScriptCapabilities } from '../../types';\n\n// TODO(burdon): Document.\nconst SCRIPT_PACKAGES_BUCKET = 'https://pub-5745ae82e450484aa28f75fc6a175935.r2.dev/dev/';\nconst DECLARATION_EXTS = ['.d.ts', '.d.mts'];\nconst NO_TYPES = true; // Types temopararly disabled due to compiler erorrs.\n\nexport default Capability.makeModule(() =>\n Effect.gen(function* () {\n yield* Effect.tryPromise(() => initializeBundler({ wasmUrl }));\n\n const runtimeModules = yield* fetchRuntimeModules().pipe(Effect.provide(FetchHttpClient.layer));\n\n const compiler = new Compiler({\n skipLibCheck: true,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n allowImportingTsExtensions: true,\n noEmit: true,\n strict: true,\n esModuleInterop: true,\n paths: Object.fromEntries(runtimeModules.map((mod: any) => [mod.moduleName, [`./src/${mod.filename}`]])),\n });\n\n yield* Effect.tryPromise(() =>\n compiler.initialize(trim`\n declare module 'https://*';\n ${NO_TYPES ? '' : 'declare module \"*\";'}\n `),\n );\n if (!NO_TYPES) {\n for (const mod of runtimeModules) {\n compiler.setFile(`/src/${mod.filename}`, mod.content);\n }\n }\n\n return Capability.contributes(ScriptCapabilities.Compiler, compiler);\n }),\n);\n\nconst fetchRuntimeModules = Effect.fnUntraced(function* () {\n // { key, size, contentType }\n const manifest = yield* HttpClient.get(new URL('manifest.json', SCRIPT_PACKAGES_BUCKET)).pipe(\n Effect.flatMap((_) => _.json),\n Effect.flatMap(\n Schema.decodeUnknown(\n Schema.Struct({\n files: Schema.Array(\n Schema.Struct({\n key: Schema.String,\n }),\n ),\n }),\n ),\n ),\n Effect.map((manifest) => ({ ...manifest, files: manifest.files.map((f) => f.key) })),\n );\n\n const declarationFiles = manifest.files.filter((file) => DECLARATION_EXTS.some((ext) => file.endsWith(ext)));\n\n let fetched = 0;\n const modules = yield* Effect.forEach(\n declarationFiles,\n Effect.fnUntraced(\n function* (filename) {\n const response = yield* HttpClient.get(new URL(filename, SCRIPT_PACKAGES_BUCKET)).pipe(\n Effect.retry(Schedule.exponential(1_000).pipe(Schedule.compose(Schedule.recurs(3)))),\n );\n const content = yield* response.text;\n const moduleName = filename.replace(/\\.d\\.(ts|mts)$/, '');\n fetched++;\n\n return {\n moduleName,\n filename,\n content,\n };\n },\n Effect.retry(Schedule.exponential(1_000).pipe(Schedule.compose(Schedule.recurs(3)))),\n ),\n { concurrency: 20 },\n );\n\n log.info('runtime modules', { manifest: manifest.files.length, files: declarationFiles.length, fetched });\n return modules;\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type VirtualTypeScriptEnvironment,\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst GLOBALS = 'globals.d.ts';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(globals?: string): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.7.2', true, ts);\n if (globals) {\n this._fsMap.set(GLOBALS, globals);\n }\n\n const rootFiles = globals ? [GLOBALS] : [];\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["FetchHttpClient", "HttpClient", "Effect", "Schedule", "Schema", "wasmUrl", "ts", "Capability", "initializeBundler", "log", "trim", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "GLOBALS", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "_env", "_fsMap", "_options", "initialize", "globals", "set", "rootFiles", "system", "environment", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "SCRIPT_PACKAGES_BUCKET", "DECLARATION_EXTS", "NO_TYPES", "Capability", "makeModule", "gen", "tryPromise", "initializeBundler", "wasmUrl", "runtimeModules", "fetchRuntimeModules", "pipe", "provide", "layer", "compiler", "Compiler", "skipLibCheck", "moduleResolution", "ModuleResolutionKind", "Bundler", "allowImportingTsExtensions", "noEmit", "strict", "esModuleInterop", "paths", "Object", "fromEntries", "map", "mod", "moduleName", "filename", "initialize", "trim", "setFile", "content", "contributes", "ScriptCapabilities", "fnUntraced", "manifest", "get", "URL", "flatMap", "_", "json", "decodeUnknown", "Struct", "files", "Array", "key", "String", "f", "declarationFiles", "filter", "file", "some", "ext", "endsWith", "fetched", "modules", "forEach", "response", "retry", "exponential", "compose", "recurs", "text", "replace", "concurrency", "log", "info", "length"]
7
+ }
@@ -1,69 +1,97 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  DeploymentDialog,
4
+ NotebookContainer,
4
5
  ScriptContainer,
5
6
  ScriptObjectSettings,
6
7
  ScriptPluginSettings,
7
8
  ScriptProperties,
8
9
  TestContainer,
9
10
  TestPanel
10
- } from "./chunk-MPN2DI4P.mjs";
11
- import {
12
- ScriptCapabilities
13
- } from "./chunk-35M3CHYE.mjs";
11
+ } from "./chunk-ZQGHFNO3.mjs";
14
12
  import {
15
13
  DEPLOYMENT_DIALOG
16
- } from "./chunk-ZA36GO4T.mjs";
17
- import "./chunk-WXKOIREL.mjs";
18
- import "./chunk-5OGRMRLA.mjs";
19
- import "./chunk-M642JUOZ.mjs";
14
+ } from "./chunk-YEWLTVBT.mjs";
15
+ import {
16
+ deployScript,
17
+ getAccessCredential,
18
+ getFunctionUrl,
19
+ isScriptDeployed,
20
+ updateFunctionMetadata
21
+ } from "./chunk-MGWKULCD.mjs";
22
+ import {
23
+ Notebook_exports,
24
+ ScriptCapabilities,
25
+ ScriptEvents,
26
+ ScriptOperation
27
+ } from "./chunk-KN6SQYUF.mjs";
28
+ import "./chunk-4F5FJZ36.mjs";
20
29
  import {
21
- ScriptAction
22
- } from "./chunk-JIPFLBYA.mjs";
30
+ NotebookMenu,
31
+ NotebookStack
32
+ } from "./chunk-VWOLKNMO.mjs";
33
+ import "./chunk-SLU3KRV3.mjs";
23
34
  import {
24
- SCRIPT_PLUGIN,
25
35
  defaultScriptsForIntegration,
26
36
  meta
27
- } from "./chunk-AHXJ6NQU.mjs";
28
-
29
- // src/capabilities/index.ts
30
- import { lazy } from "@dxos/app-framework";
31
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-V7QF54LT.mjs"));
32
- var BlueprintDefinition = lazy(() => import("./blueprint-definition-AIYFOT7Q.mjs"));
33
- var Compiler = lazy(() => import("./compiler-TZUZ7I6H.mjs"));
34
- var IntentResolver = lazy(() => import("./intent-resolver-DUJWXCRR.mjs"));
35
- var ReactSurface = lazy(() => import("./react-surface-5CM3KXFE.mjs"));
36
- var ScriptSettings = lazy(() => import("./settings-FZ25DUX4.mjs"));
37
+ } from "./chunk-5HSJPAK7.mjs";
38
+ import "./chunk-HSLMI22Q.mjs";
37
39
 
38
40
  // src/ScriptPlugin.tsx
39
- import { Schema } from "effect";
40
- import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
41
+ import * as Effect from "effect/Effect";
42
+ import { Common, Plugin } from "@dxos/app-framework";
41
43
  import { Ref } from "@dxos/echo";
42
- import { ScriptType as ScriptType2 } from "@dxos/functions";
43
- import { ClientEvents } from "@dxos/plugin-client";
44
- import { SpaceCapabilities } from "@dxos/plugin-space";
45
- import { defineObjectForm } from "@dxos/plugin-space/types";
44
+ import { Script as Script2 } from "@dxos/functions";
45
+ import { Operation } from "@dxos/operation";
46
+
47
+ // src/capabilities/app-graph-builder/index.ts
48
+ import { Capability } from "@dxos/app-framework";
49
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-NVE3EVBG.mjs"));
50
+
51
+ // src/capabilities/blueprint-definition/index.ts
52
+ import { Capability as Capability2 } from "@dxos/app-framework";
53
+ var BlueprintDefinition = Capability2.lazy("BlueprintDefinition", () => import("./blueprint-definition-NC7NNJGI.mjs"));
54
+
55
+ // src/capabilities/compiler/index.ts
56
+ import { Capability as Capability3 } from "@dxos/app-framework";
57
+ var Compiler = Capability3.lazy("Compiler", () => import("./compiler-ORJAXDN7.mjs"));
46
58
 
47
- // src/events.ts
48
- import { defineEvent } from "@dxos/app-framework";
49
- (function(ScriptEvents2) {
50
- ScriptEvents2.SetupCompiler = defineEvent(`${SCRIPT_PLUGIN}/event/setup-compiler`);
51
- })(ScriptEvents || (ScriptEvents = {}));
52
- var ScriptEvents;
59
+ // src/capabilities/operation-resolver/index.ts
60
+ import { Capability as Capability4 } from "@dxos/app-framework";
61
+ var OperationResolver = Capability4.lazy("OperationResolver", () => import("./operation-resolver-CLE4ZCC5.mjs"));
62
+
63
+ // src/capabilities/react-surface/index.ts
64
+ import { Capability as Capability5 } from "@dxos/app-framework";
65
+ var ReactSurface = Capability5.lazy("ReactSurface", () => import("./react-surface-O3UDMKOQ.mjs"));
66
+
67
+ // src/capabilities/settings/index.ts
68
+ import { Capability as Capability6 } from "@dxos/app-framework";
69
+ var ScriptSettings = Capability6.lazy("ScriptSettings", () => import("./settings-OFIMHU7K.mjs"));
53
70
 
54
71
  // src/translations.ts
55
- import { ScriptType } from "@dxos/functions";
72
+ import { Script } from "@dxos/functions";
56
73
  var translations = [
57
74
  {
58
75
  "en-US": {
59
- [ScriptType.typename]: {
76
+ [Script.Script.typename]: {
60
77
  "typename label": "Script",
61
78
  "typename label_zero": "Scripts",
62
79
  "typename label_one": "Script",
63
80
  "typename label_other": "Scripts",
64
81
  "object name placeholder": "New script",
65
82
  "rename object label": "Rename script",
66
- "delete object label": "Delete script"
83
+ "delete object label": "Delete script",
84
+ "object deleted label": "Script deleted"
85
+ },
86
+ [Notebook_exports.Notebook.typename]: {
87
+ "typename label": "Notebook",
88
+ "typename label_zero": "Notebooks",
89
+ "typename label_one": "Notebook",
90
+ "typename label_other": "Notebooks",
91
+ "object name placeholder": "New notebook",
92
+ "rename object label": "Rename notebook",
93
+ "delete object label": "Delete notebook",
94
+ "object deleted label": "Notebook deleted"
67
95
  },
68
96
  [meta.id]: {
69
97
  "plugin name": "Scripts",
@@ -91,18 +119,22 @@ var translations = [
91
119
  "open token manager label": "Open Token Manager",
92
120
  "publish label": "Publish",
93
121
  "publishing label": "Publishing",
122
+ "blueprint editor label": "Blueprint",
123
+ "blueprint editor description": "Create a blueprint that exposes this script as a tool.",
124
+ "blueprint instructions label": "Instructions",
125
+ "blueprint instructions placeholder": "Describe how this tool should be used.",
126
+ "create blueprint label": "Create blueprint",
127
+ "creating label": "Creating\u2026",
94
128
  "editor input mode label": "Editor input mode",
95
129
  "select editor input mode placeholder": "Select editor input mode\u2026",
96
130
  "settings editor input mode default label": "Default",
97
131
  "settings editor input mode vim label": "Vim",
98
132
  "settings editor input mode vscode label": "VS Code",
99
- "template select group label": "Select template",
100
133
  "function panel label": "Debug Function",
101
134
  "script test label": "Test",
102
135
  "script logs label": "Logs",
103
136
  "deployment dialog title": "Default Scripts",
104
- "deployment dialog scripts found message_one": "We found the following script template for your new integration:",
105
- "deployment dialog scripts found message_other": "We found the following script templates for your new integration:",
137
+ "deployment dialog scripts found message": "Script templates:",
106
138
  "deployment dialog deploy functions button label_one": "Create and deploy script",
107
139
  "deployment dialog deploy functions button label_other": "Create and deploy scripts",
108
140
  "deployment dialog deploy functions pending button label_one": "Deploying script",
@@ -119,86 +151,83 @@ var translations = [
119
151
  "script deployment error toast description_one": "There was an error deploying your script.",
120
152
  "script deployment error toast description_other": "There was an error deploying your scripts.",
121
153
  "script deployment error toast close label_one": "Close",
122
- "script deployment error toast close label_other": "Close"
154
+ "script deployment error toast close label_other": "Close",
155
+ "notebook cell placeholder": "Enter script",
156
+ "notebook cell delete label": "Delete cell",
157
+ "notebook cell prompt run label": "Run",
158
+ "notebook cell insert markdown label": "Insert Markdown",
159
+ "notebook cell insert script label": "Insert Script",
160
+ "notebook cell insert prompt label": "Insert Prompt",
161
+ "notebook cell insert query label": "Insert Query",
162
+ "notebook markdown placeholder": "Enter Markdown",
163
+ "notebook prompt placeholder": "Enter prompt",
164
+ "notebook cell insert label": "Insert cell"
123
165
  }
124
166
  }
125
167
  }
126
168
  ];
127
169
 
128
170
  // src/ScriptPlugin.tsx
129
- var ScriptPlugin = () => definePlugin(meta, [
130
- defineModule({
131
- id: `${meta.id}/module/settings`,
132
- activatesOn: Events.SetupSettings,
133
- activate: ScriptSettings
134
- }),
135
- defineModule({
136
- id: `${meta.id}/module/compiler`,
137
- activatesOn: ScriptEvents.SetupCompiler,
138
- activate: Compiler
139
- }),
140
- defineModule({
141
- id: `${meta.id}/module/translations`,
142
- activatesOn: Events.SetupTranslations,
143
- activate: () => contributes(Capabilities.Translations, translations)
144
- }),
145
- defineModule({
146
- id: `${meta.id}/module/metadata`,
147
- activatesOn: Events.SetupMetadata,
148
- activate: () => contributes(Capabilities.Metadata, {
149
- id: ScriptType2.typename,
171
+ var ScriptPlugin = Plugin.define(meta).pipe(Plugin.addModule({
172
+ activatesOn: Common.ActivationEvent.SetupSettings,
173
+ activate: ScriptSettings
174
+ }), Plugin.addModule({
175
+ activatesOn: ScriptEvents.SetupCompiler,
176
+ activate: Compiler
177
+ }), Common.Plugin.addTranslationsModule({
178
+ translations
179
+ }), Common.Plugin.addMetadataModule({
180
+ metadata: [
181
+ {
182
+ id: Script2.Script.typename,
150
183
  metadata: {
151
184
  icon: "ph--code--regular",
185
+ iconHue: "sky",
152
186
  // TODO(wittjosiah): Move out of metadata.
153
187
  loadReferences: async (script) => await Ref.Array.loadAll([
154
188
  script.source
155
- ])
189
+ ]),
190
+ inputSchema: ScriptOperation.ScriptProps,
191
+ createObject: (props) => Effect.gen(function* () {
192
+ const { object } = yield* Operation.invoke(ScriptOperation.CreateScript, props);
193
+ return object;
194
+ }),
195
+ addToCollectionOnCreate: true
156
196
  }
157
- })
158
- }),
159
- defineModule({
160
- id: `${meta.id}/module/app-graph-builder`,
161
- activatesOn: Events.SetupAppGraph,
162
- activate: AppGraphBuilder
163
- }),
164
- defineModule({
165
- id: `${meta.id}/module/object-form`,
166
- activatesOn: ClientEvents.SetupSchema,
167
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
168
- objectSchema: ScriptType2,
169
- formSchema: ScriptAction.CreateScriptSchema.pipe(Schema.omit("initialTemplateId")),
170
- getIntent: (props, options) => createIntent(ScriptAction.Create, {
171
- ...props,
172
- space: options.space
173
- })
174
- }))
175
- }),
176
- defineModule({
177
- id: `${meta.id}/module/react-surface`,
178
- activatesOn: Events.SetupReactSurface,
179
- // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.
180
- activatesBefore: [
181
- ScriptEvents.SetupCompiler
182
- ],
183
- activate: ReactSurface
184
- }),
185
- defineModule({
186
- id: `${meta.id}/module/intent-resolver`,
187
- activatesOn: Events.SetupIntentResolver,
188
- activate: IntentResolver
189
- }),
190
- defineModule({
191
- id: `${meta.id}/module/blueprint`,
192
- activatesOn: Events.SetupArtifactDefinition,
193
- activate: BlueprintDefinition
194
- })
195
- ]);
197
+ },
198
+ {
199
+ id: Notebook_exports.Notebook.typename,
200
+ metadata: {
201
+ icon: "ph--notebook--regular",
202
+ iconHue: "sky",
203
+ inputSchema: ScriptOperation.NotebookProps,
204
+ createObject: (props) => Effect.sync(() => Notebook_exports.make(props)),
205
+ addToCollectionOnCreate: true
206
+ }
207
+ }
208
+ ]
209
+ }), Common.Plugin.addAppGraphModule({
210
+ activate: AppGraphBuilder
211
+ }), Common.Plugin.addSchemaModule({
212
+ schema: [
213
+ Script2.Script
214
+ ]
215
+ }), Common.Plugin.addSurfaceModule({
216
+ activate: ReactSurface
217
+ }), Common.Plugin.addOperationResolverModule({
218
+ activate: OperationResolver
219
+ }), Common.Plugin.addBlueprintDefinitionModule({
220
+ activate: BlueprintDefinition
221
+ }), Plugin.make);
196
222
  export {
197
223
  DEPLOYMENT_DIALOG,
198
224
  DeploymentDialog,
199
- SCRIPT_PLUGIN,
225
+ NotebookContainer,
226
+ NotebookMenu,
227
+ NotebookStack,
200
228
  ScriptCapabilities,
201
229
  ScriptContainer,
230
+ ScriptEvents,
202
231
  ScriptObjectSettings,
203
232
  ScriptPlugin,
204
233
  ScriptPluginSettings,
@@ -206,6 +235,11 @@ export {
206
235
  TestContainer,
207
236
  TestPanel,
208
237
  defaultScriptsForIntegration,
209
- meta
238
+ deployScript,
239
+ getAccessCredential,
240
+ getFunctionUrl,
241
+ isScriptDeployed,
242
+ meta,
243
+ updateFunctionMetadata
210
244
  };
211
245
  //# sourceMappingURL=index.mjs.map