@dxos/plugin-script 0.8.4-main.7ace549 → 0.8.4-main.8baae0fced

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 (553) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +15 -13
  3. package/dist/lib/neutral/DeploymentDialog-6DBF3V6C.mjs +112 -0
  4. package/dist/lib/neutral/DeploymentDialog-6DBF3V6C.mjs.map +7 -0
  5. package/dist/lib/{browser/NotebookContainer-MHY3DXDE.mjs → neutral/NotebookArticle-VBBVX4BW.mjs} +245 -299
  6. package/dist/lib/neutral/NotebookArticle-VBBVX4BW.mjs.map +7 -0
  7. package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs +79 -0
  8. package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs.map +7 -0
  9. package/dist/lib/neutral/ScriptPlugin.mjs +39 -0
  10. package/dist/lib/neutral/ScriptPlugin.mjs.map +7 -0
  11. package/dist/lib/neutral/ScriptPlugin.node.mjs +27 -0
  12. package/dist/lib/neutral/ScriptPlugin.node.mjs.map +7 -0
  13. package/dist/lib/neutral/ScriptPlugin.workerd.mjs +21 -0
  14. package/dist/lib/neutral/ScriptPlugin.workerd.mjs.map +7 -0
  15. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +31 -0
  16. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +7 -0
  17. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs +297 -0
  18. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +7 -0
  19. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs +44 -0
  20. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
  21. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs +52 -0
  22. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs.map +7 -0
  23. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs +15 -0
  24. package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs.map +7 -0
  25. package/dist/lib/neutral/blueprints/index.mjs +10 -0
  26. package/dist/lib/neutral/capabilities/index.mjs +21 -0
  27. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  28. package/dist/lib/neutral/capabilities/node.mjs +17 -0
  29. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  30. package/dist/lib/neutral/chunk-2REUEDUA.mjs +56 -0
  31. package/dist/lib/neutral/chunk-2REUEDUA.mjs.map +7 -0
  32. package/dist/lib/{browser/chunk-EB6AXFXO.mjs → neutral/chunk-436PZKYX.mjs} +4 -3
  33. package/dist/lib/neutral/chunk-436PZKYX.mjs.map +7 -0
  34. package/dist/lib/neutral/chunk-4OWPUMGN.mjs +8 -0
  35. package/dist/lib/neutral/chunk-4OWPUMGN.mjs.map +7 -0
  36. package/dist/lib/neutral/chunk-A4LRH25S.mjs +105 -0
  37. package/dist/lib/neutral/chunk-A4LRH25S.mjs.map +7 -0
  38. package/dist/lib/neutral/chunk-BDRB6ZX2.mjs +52 -0
  39. package/dist/lib/neutral/chunk-BDRB6ZX2.mjs.map +7 -0
  40. package/dist/lib/neutral/chunk-BMO5VOKL.mjs +125 -0
  41. package/dist/lib/neutral/chunk-BMO5VOKL.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-MI6X5CTJ.mjs +336 -0
  43. package/dist/lib/neutral/chunk-MI6X5CTJ.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-SNUWHNEW.mjs +8 -0
  45. package/dist/lib/neutral/chunk-SNUWHNEW.mjs.map +7 -0
  46. package/dist/lib/neutral/chunk-VXDJH6OL.mjs +150 -0
  47. package/dist/lib/neutral/chunk-VXDJH6OL.mjs.map +7 -0
  48. package/dist/lib/neutral/compiler-ODK4UA2N.mjs +101 -0
  49. package/dist/lib/neutral/compiler-ODK4UA2N.mjs.map +7 -0
  50. package/dist/lib/neutral/components/index.mjs +721 -0
  51. package/dist/lib/neutral/components/index.mjs.map +7 -0
  52. package/dist/lib/neutral/containers/index.mjs +17 -0
  53. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  54. package/dist/lib/neutral/create-ZUHIXCBS.mjs +46 -0
  55. package/dist/lib/neutral/create-ZUHIXCBS.mjs.map +7 -0
  56. package/dist/lib/neutral/create-object-F2NWICFV.mjs +44 -0
  57. package/dist/lib/neutral/create-object-F2NWICFV.mjs.map +7 -0
  58. package/dist/lib/neutral/create-script-H5S4AO47.mjs +45 -0
  59. package/dist/lib/neutral/create-script-H5S4AO47.mjs.map +7 -0
  60. package/dist/lib/neutral/delete-PAUWA2QM.mjs +21 -0
  61. package/dist/lib/neutral/delete-PAUWA2QM.mjs.map +7 -0
  62. package/dist/lib/neutral/deploy-M73G7HMP.mjs +63 -0
  63. package/dist/lib/neutral/deploy-M73G7HMP.mjs.map +7 -0
  64. package/dist/lib/neutral/hooks/index.mjs +369 -0
  65. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  66. package/dist/lib/neutral/index.mjs +41 -0
  67. package/dist/lib/neutral/inspect-invocations-UO27IPCL.mjs +59 -0
  68. package/dist/lib/neutral/inspect-invocations-UO27IPCL.mjs.map +7 -0
  69. package/dist/lib/neutral/install-function-MSWSC244.mjs +49 -0
  70. package/dist/lib/neutral/install-function-MSWSC244.mjs.map +7 -0
  71. package/dist/lib/neutral/invoke-V6XYXKLD.mjs +32 -0
  72. package/dist/lib/neutral/invoke-V6XYXKLD.mjs.map +7 -0
  73. package/dist/lib/neutral/meta.json +1 -0
  74. package/dist/lib/neutral/meta.mjs +10 -0
  75. package/dist/lib/neutral/operation-handler-KIZ7XZ5G.mjs +18 -0
  76. package/dist/lib/neutral/operation-handler-KIZ7XZ5G.mjs.map +7 -0
  77. package/dist/lib/neutral/operations/index.mjs +8 -0
  78. package/dist/lib/neutral/plugin.mjs +16 -0
  79. package/dist/lib/neutral/plugin.mjs.map +7 -0
  80. package/dist/lib/neutral/query-deployed-functions-4MMKQ6BR.mjs +34 -0
  81. package/dist/lib/neutral/query-deployed-functions-4MMKQ6BR.mjs.map +7 -0
  82. package/dist/lib/neutral/react-surface-K4SSUR57.mjs +120 -0
  83. package/dist/lib/neutral/react-surface-K4SSUR57.mjs.map +7 -0
  84. package/dist/lib/neutral/read-FFOSK6A3.mjs +26 -0
  85. package/dist/lib/neutral/read-FFOSK6A3.mjs.map +7 -0
  86. package/dist/lib/neutral/settings-VJBW4OMK.mjs +30 -0
  87. package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
  88. package/dist/lib/{browser → neutral}/templates/index.mjs +1 -1
  89. package/dist/lib/neutral/translations.mjs +104 -0
  90. package/dist/lib/neutral/translations.mjs.map +7 -0
  91. package/dist/lib/neutral/types/index.mjs +17 -0
  92. package/dist/lib/neutral/update-PJS5GG3Y.mjs +63 -0
  93. package/dist/lib/neutral/update-PJS5GG3Y.mjs.map +7 -0
  94. package/dist/types/src/ScriptPlugin.d.ts +3 -1
  95. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  96. package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
  97. package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
  98. package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
  99. package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
  100. package/dist/types/src/ScriptPlugin.workerd.d.ts +4 -0
  101. package/dist/types/src/ScriptPlugin.workerd.d.ts.map +1 -0
  102. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  103. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/functions/definitions.d.ts +129 -0
  105. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  106. package/dist/types/src/blueprints/functions/delete.d.ts +16 -0
  107. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  108. package/dist/types/src/blueprints/functions/deploy.d.ts +20 -0
  109. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  110. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  111. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +27 -0
  113. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  115. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/functions/invoke.d.ts +20 -0
  117. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  119. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/functions/read.d.ts +20 -0
  121. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/functions/update.d.ts +25 -0
  123. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/index.d.ts +2 -0
  125. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  127. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  129. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  130. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  131. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  133. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  135. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  136. package/dist/types/src/capabilities/create-object.d.ts +16 -0
  137. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/index.d.ts +19 -7
  139. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/node.d.ts +18 -0
  141. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  143. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  145. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  146. package/dist/types/src/capabilities/settings.d.ts +5 -2
  147. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  148. package/dist/types/src/compiler/compiler.d.ts +1 -1
  149. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  150. package/dist/types/src/components/{FrameContainer/FrameContainer.d.ts → FramePanel/FramePanel.d.ts} +3 -3
  151. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  152. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  153. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  154. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +4 -4
  155. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  156. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  157. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  158. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +5 -3
  159. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  160. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +221 -229
  161. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  162. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  163. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  164. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  165. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  166. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  167. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  168. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  169. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  170. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
  171. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  172. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
  173. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  174. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +8 -6
  175. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  176. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +221 -229
  177. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  178. package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
  179. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  180. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  181. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  182. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +6 -2
  183. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  184. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -1
  185. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  186. package/dist/types/src/components/index.d.ts +6 -5
  187. package/dist/types/src/components/index.d.ts.map +1 -1
  188. package/dist/types/src/constants.d.ts +2 -0
  189. package/dist/types/src/constants.d.ts.map +1 -0
  190. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +0 -2
  191. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  192. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
  193. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  194. package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
  195. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  196. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts +7 -0
  197. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts.map +1 -0
  198. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts +7 -0
  199. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts.map +1 -0
  200. package/dist/types/src/containers/NotebookArticle/index.d.ts +2 -0
  201. package/dist/types/src/containers/NotebookArticle/index.d.ts.map +1 -0
  202. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts +10 -0
  203. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts.map +1 -0
  204. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts +242 -0
  205. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts.map +1 -0
  206. package/dist/types/src/containers/ScriptArticle/index.d.ts +2 -0
  207. package/dist/types/src/containers/ScriptArticle/index.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
  209. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
  210. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
  211. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
  212. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
  213. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
  215. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
  217. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
  218. package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
  219. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  221. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  222. package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
  223. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  224. package/dist/types/src/containers/index.d.ts +7 -0
  225. package/dist/types/src/containers/index.d.ts.map +1 -0
  226. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  227. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  228. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  229. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  230. package/dist/types/src/hooks/deploy.d.ts +20 -26
  231. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  232. package/dist/types/src/hooks/format.d.ts +4 -3
  233. package/dist/types/src/hooks/format.d.ts.map +1 -1
  234. package/dist/types/src/hooks/index.d.ts +1 -0
  235. package/dist/types/src/hooks/index.d.ts.map +1 -1
  236. package/dist/types/src/hooks/template.d.ts +4 -3
  237. package/dist/types/src/hooks/template.d.ts.map +1 -1
  238. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  239. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  240. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  241. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  242. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  243. package/dist/types/src/index.d.ts +2 -3
  244. package/dist/types/src/index.d.ts.map +1 -1
  245. package/dist/types/src/meta.d.ts +2 -2
  246. package/dist/types/src/meta.d.ts.map +1 -1
  247. package/dist/types/src/notebook/compute-graph.d.ts +25 -12
  248. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  249. package/dist/types/src/notebook/eval.d.ts.map +1 -1
  250. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  251. package/dist/types/src/operations/create-script.d.ts +5 -0
  252. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  253. package/dist/types/src/operations/index.d.ts +3 -0
  254. package/dist/types/src/operations/index.d.ts.map +1 -0
  255. package/dist/types/src/plugin.d.ts +4 -0
  256. package/dist/types/src/plugin.d.ts.map +1 -0
  257. package/dist/types/src/templates/anthropic.d.ts +7 -0
  258. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  259. package/dist/types/src/templates/chat.d.ts.map +1 -1
  260. package/dist/types/src/templates/chess-bot.d.ts +12 -0
  261. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  262. package/dist/types/src/templates/commentary.d.ts +13 -0
  263. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  264. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  265. package/dist/types/src/templates/discord.d.ts.map +1 -1
  266. package/dist/types/src/templates/email.d.ts.map +1 -1
  267. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  268. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  269. package/dist/types/src/templates/forex.d.ts +5 -1
  270. package/dist/types/src/templates/forex.d.ts.map +1 -1
  271. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  272. package/dist/types/src/templates/index.d.ts +33 -24
  273. package/dist/types/src/templates/index.d.ts.map +1 -1
  274. package/dist/types/src/templates/ping.d.ts +2 -4
  275. package/dist/types/src/templates/ping.d.ts.map +1 -1
  276. package/dist/types/src/testing/index.d.ts +2 -1
  277. package/dist/types/src/testing/index.d.ts.map +1 -1
  278. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  279. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  280. package/dist/types/src/testing/test-notebook.d.ts +3 -0
  281. package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
  282. package/dist/types/src/testing/test-script.d.ts +7 -0
  283. package/dist/types/src/testing/test-script.d.ts.map +1 -0
  284. package/dist/types/src/translations.d.ts +222 -92
  285. package/dist/types/src/translations.d.ts.map +1 -1
  286. package/dist/types/src/types/Notebook.d.ts +109 -22
  287. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  288. package/dist/types/src/types/ScriptCapabilities.d.ts +6 -0
  289. package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -0
  290. package/dist/types/src/types/ScriptEvents.d.ts +3 -0
  291. package/dist/types/src/types/ScriptEvents.d.ts.map +1 -0
  292. package/dist/types/src/types/ScriptOperation.d.ts +29 -0
  293. package/dist/types/src/types/ScriptOperation.d.ts.map +1 -0
  294. package/dist/types/src/types/Settings.d.ts +7 -0
  295. package/dist/types/src/types/Settings.d.ts.map +1 -0
  296. package/dist/types/src/types/index.d.ts +4 -2
  297. package/dist/types/src/types/index.d.ts.map +1 -1
  298. package/dist/types/src/types/types.d.ts +1 -5
  299. package/dist/types/src/types/types.d.ts.map +1 -1
  300. package/dist/types/src/util/deploy.d.ts +2 -2
  301. package/dist/types/src/util/deploy.d.ts.map +1 -1
  302. package/dist/types/src/util/functions.d.ts +2 -2
  303. package/dist/types/src/util/functions.d.ts.map +1 -1
  304. package/dist/types/tsconfig.tsbuildinfo +1 -1
  305. package/package.json +178 -101
  306. package/src/ScriptPlugin.node.ts +21 -0
  307. package/src/ScriptPlugin.test.ts +31 -0
  308. package/src/ScriptPlugin.tsx +23 -80
  309. package/src/ScriptPlugin.workerd.ts +18 -0
  310. package/src/blueprints/functions/create.ts +47 -0
  311. package/src/blueprints/functions/definitions.ts +323 -0
  312. package/src/blueprints/functions/delete.ts +23 -0
  313. package/src/blueprints/functions/deploy.ts +71 -0
  314. package/src/blueprints/functions/index.ts +19 -0
  315. package/src/blueprints/functions/inspect-invocations.ts +56 -0
  316. package/src/blueprints/functions/install-function.ts +56 -0
  317. package/src/blueprints/functions/invoke.ts +34 -0
  318. package/src/blueprints/functions/query-deployed-functions.ts +35 -0
  319. package/src/blueprints/functions/read.ts +29 -0
  320. package/src/blueprints/functions/update.ts +68 -0
  321. package/src/blueprints/index.ts +5 -0
  322. package/src/blueprints/script-blueprint.ts +55 -0
  323. package/src/capabilities/app-graph-builder.ts +40 -58
  324. package/src/capabilities/artifact-definition.ts +99 -97
  325. package/src/capabilities/blueprint-definition.ts +13 -24
  326. package/src/capabilities/compiler.ts +99 -22
  327. package/src/capabilities/create-object.ts +48 -0
  328. package/src/capabilities/index.ts +13 -9
  329. package/src/capabilities/node.ts +16 -0
  330. package/src/capabilities/operation-handler.ts +21 -0
  331. package/src/capabilities/react-surface.tsx +120 -93
  332. package/src/capabilities/settings.ts +26 -14
  333. package/src/compiler/compiler.ts +21 -3
  334. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +7 -6
  335. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  336. package/src/components/NotebookStack/NotebookCell.tsx +42 -32
  337. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  338. package/src/components/NotebookStack/NotebookStack.stories.tsx +24 -25
  339. package/src/components/NotebookStack/NotebookStack.tsx +31 -20
  340. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  341. package/src/components/QueryEditor/QueryEditor.tsx +49 -0
  342. package/src/components/QueryEditor/index.ts +5 -0
  343. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  344. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
  345. package/src/components/ScriptPluginSettings/index.ts +5 -0
  346. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +42 -20
  347. package/src/components/ScriptToolbar/ScriptToolbar.tsx +38 -43
  348. package/src/components/TestPanel/TestPanel.tsx +110 -194
  349. package/src/components/TestPanel/index.ts +0 -1
  350. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +24 -17
  351. package/src/components/TypescriptEditor/TypescriptEditor.tsx +74 -66
  352. package/src/components/index.ts +6 -7
  353. package/src/constants.ts +7 -0
  354. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +63 -0
  355. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  356. package/src/containers/DeploymentDialog/index.ts +5 -0
  357. package/src/containers/NotebookArticle/NotebookArticle.stories.tsx +85 -0
  358. package/src/{components/NotebookContainer.tsx → containers/NotebookArticle/NotebookArticle.tsx} +93 -98
  359. package/src/containers/NotebookArticle/index.ts +5 -0
  360. package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +107 -0
  361. package/src/containers/ScriptArticle/ScriptArticle.tsx +85 -0
  362. package/src/containers/ScriptArticle/index.ts +5 -0
  363. package/src/containers/ScriptProperties/BlueprintEditor.tsx +102 -0
  364. package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
  365. package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
  366. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +76 -0
  367. package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
  368. package/src/containers/ScriptProperties/index.ts +5 -0
  369. package/src/containers/TestContainer/TestContainer.tsx +44 -0
  370. package/src/containers/TestContainer/index.ts +5 -0
  371. package/src/containers/index.ts +11 -0
  372. package/src/e2e/ai.test.ts +93 -0
  373. package/src/e2e/deploy.test.ts +66 -0
  374. package/src/hooks/deploy.ts +42 -33
  375. package/src/hooks/format.ts +9 -4
  376. package/src/hooks/index.ts +1 -0
  377. package/src/hooks/template.ts +19 -12
  378. package/src/hooks/useCompiler.ts +25 -0
  379. package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -20
  380. package/src/hooks/useToolbarState.ts +29 -4
  381. package/src/index.ts +2 -4
  382. package/src/meta.ts +5 -4
  383. package/src/notebook/compute-graph.test.ts +21 -9
  384. package/src/notebook/compute-graph.ts +46 -22
  385. package/src/notebook/vfs-parser.ts +10 -3
  386. package/src/operations/create-script.ts +46 -0
  387. package/src/operations/index.ts +7 -0
  388. package/src/plugin.ts +11 -0
  389. package/src/templates/anthropic.ts +49 -0
  390. package/src/templates/chat.ts +1 -1
  391. package/src/templates/chess-bot.ts +63 -0
  392. package/src/templates/commentary.ts +248 -0
  393. package/src/templates/data-generator.ts +2 -2
  394. package/src/templates/discord.ts +3 -3
  395. package/src/templates/forex-effect.ts +35 -29
  396. package/src/templates/forex.ts +27 -17
  397. package/src/templates/gmail.ts +4 -4
  398. package/src/templates/index.ts +31 -18
  399. package/src/templates/ping.ts +22 -5
  400. package/src/testing/index.ts +2 -1
  401. package/src/testing/simulator.test.ts +39 -0
  402. package/src/testing/{data.ts → test-notebook.ts} +11 -12
  403. package/src/testing/test-script.ts +28 -0
  404. package/src/translations.ts +86 -87
  405. package/src/types/Notebook.ts +18 -15
  406. package/src/types/ScriptCapabilities.ts +18 -0
  407. package/src/types/ScriptEvents.ts +11 -0
  408. package/src/types/ScriptOperation.ts +42 -0
  409. package/src/types/Settings.ts +20 -0
  410. package/src/types/index.ts +5 -2
  411. package/src/types/types.ts +1 -11
  412. package/src/util/deploy.ts +25 -29
  413. package/src/util/functions.ts +30 -27
  414. package/src/vite-env.d.ts +2 -0
  415. package/dist/lib/browser/DeploymentDialog-5TKNGPVR.mjs +0 -14
  416. package/dist/lib/browser/NotebookContainer-MHY3DXDE.mjs.map +0 -7
  417. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs +0 -148
  418. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs.map +0 -7
  419. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs +0 -66
  420. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs.map +0 -7
  421. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +0 -30
  422. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +0 -7
  423. package/dist/lib/browser/chunk-2G2NA6DQ.mjs +0 -88
  424. package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +0 -7
  425. package/dist/lib/browser/chunk-ALS6X4HU.mjs +0 -304
  426. package/dist/lib/browser/chunk-ALS6X4HU.mjs.map +0 -7
  427. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +0 -7
  428. package/dist/lib/browser/chunk-M6KJPUJK.mjs +0 -111
  429. package/dist/lib/browser/chunk-M6KJPUJK.mjs.map +0 -7
  430. package/dist/lib/browser/chunk-N5EYLQOT.mjs +0 -647
  431. package/dist/lib/browser/chunk-N5EYLQOT.mjs.map +0 -7
  432. package/dist/lib/browser/chunk-QIZ3BPRK.mjs +0 -103
  433. package/dist/lib/browser/chunk-QIZ3BPRK.mjs.map +0 -7
  434. package/dist/lib/browser/chunk-SAN5Y7FI.mjs +0 -155
  435. package/dist/lib/browser/chunk-SAN5Y7FI.mjs.map +0 -7
  436. package/dist/lib/browser/chunk-ULJFT73Q.mjs +0 -513
  437. package/dist/lib/browser/chunk-ULJFT73Q.mjs.map +0 -7
  438. package/dist/lib/browser/chunk-UOQ6NCH3.mjs +0 -15
  439. package/dist/lib/browser/chunk-UOQ6NCH3.mjs.map +0 -7
  440. package/dist/lib/browser/compiler-4KHRSX7J.mjs +0 -86
  441. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +0 -7
  442. package/dist/lib/browser/index.mjs +0 -268
  443. package/dist/lib/browser/index.mjs.map +0 -7
  444. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs +0 -104
  445. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs.map +0 -7
  446. package/dist/lib/browser/meta.json +0 -1
  447. package/dist/lib/browser/react-surface-R245YN52.mjs +0 -128
  448. package/dist/lib/browser/react-surface-R245YN52.mjs.map +0 -7
  449. package/dist/lib/browser/settings-MHJXRGDF.mjs +0 -26
  450. package/dist/lib/browser/settings-MHJXRGDF.mjs.map +0 -7
  451. package/dist/lib/browser/types/index.mjs +0 -14
  452. package/dist/lib/node-esm/DeploymentDialog-2ULNOZQH.mjs +0 -15
  453. package/dist/lib/node-esm/NotebookContainer-U4C2HQ4T.mjs +0 -818
  454. package/dist/lib/node-esm/NotebookContainer-U4C2HQ4T.mjs.map +0 -7
  455. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs +0 -149
  456. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs.map +0 -7
  457. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs +0 -67
  458. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs.map +0 -7
  459. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +0 -31
  460. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +0 -7
  461. package/dist/lib/node-esm/chunk-55JZVM6K.mjs +0 -16
  462. package/dist/lib/node-esm/chunk-55JZVM6K.mjs.map +0 -7
  463. package/dist/lib/node-esm/chunk-57JA6XL5.mjs +0 -90
  464. package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs +0 -113
  466. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs.map +0 -7
  467. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  468. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  469. package/dist/lib/node-esm/chunk-IBV2DR36.mjs +0 -33
  470. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +0 -7
  471. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs +0 -156
  472. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs.map +0 -7
  473. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs +0 -648
  474. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs.map +0 -7
  475. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs +0 -514
  476. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs.map +0 -7
  477. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs +0 -305
  478. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs.map +0 -7
  479. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs +0 -104
  480. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs.map +0 -7
  481. package/dist/lib/node-esm/compiler-DU5NQISX.mjs +0 -87
  482. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +0 -7
  483. package/dist/lib/node-esm/index.mjs +0 -269
  484. package/dist/lib/node-esm/index.mjs.map +0 -7
  485. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs +0 -105
  486. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs.map +0 -7
  487. package/dist/lib/node-esm/meta.json +0 -1
  488. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs +0 -129
  489. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs.map +0 -7
  490. package/dist/lib/node-esm/settings-BVJORMMJ.mjs +0 -27
  491. package/dist/lib/node-esm/settings-BVJORMMJ.mjs.map +0 -7
  492. package/dist/lib/node-esm/templates/index.mjs +0 -11
  493. package/dist/lib/node-esm/types/index.mjs +0 -15
  494. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  495. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  496. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  497. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  498. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  499. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -251
  500. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  501. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  502. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  503. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  504. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  505. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  506. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  507. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  508. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  509. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  510. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -254
  511. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  512. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  513. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  514. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  515. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  516. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  517. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  518. package/dist/types/src/components/Settings/index.d.ts +0 -3
  519. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  520. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  521. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  522. package/dist/types/src/events.d.ts +0 -4
  523. package/dist/types/src/events.d.ts.map +0 -1
  524. package/dist/types/src/templates/chess.d.ts +0 -3
  525. package/dist/types/src/templates/chess.d.ts.map +0 -1
  526. package/dist/types/src/testing/data.d.ts +0 -3
  527. package/dist/types/src/testing/data.d.ts.map +0 -1
  528. package/dist/types/src/types/actions.d.ts +0 -54
  529. package/dist/types/src/types/actions.d.ts.map +0 -1
  530. package/src/capabilities/capabilities.ts +0 -12
  531. package/src/capabilities/intent-resolver.ts +0 -86
  532. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -58
  533. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -123
  534. package/src/components/DeploymentDialog/index.ts +0 -9
  535. package/src/components/FrameContainer/frame.html +0 -25
  536. package/src/components/FrameContainer/frame.tsx +0 -51
  537. package/src/components/NotebookContainer.stories.tsx +0 -83
  538. package/src/components/ScriptContainer.tsx +0 -70
  539. package/src/components/Settings/ScriptObjectSettings.tsx +0 -298
  540. package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
  541. package/src/components/Settings/index.ts +0 -6
  542. package/src/components/TestPanel/TestContainer.tsx +0 -27
  543. package/src/events.ts +0 -11
  544. package/src/templates/chess.ts +0 -49
  545. package/src/types/actions.ts +0 -53
  546. /package/dist/lib/{browser/templates → neutral/blueprints}/index.mjs.map +0 -0
  547. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  548. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  549. /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
  550. /package/dist/lib/{browser/DeploymentDialog-5TKNGPVR.mjs.map → neutral/meta.mjs.map} +0 -0
  551. /package/dist/lib/{node-esm/templates → neutral/operations}/index.mjs.map +0 -0
  552. /package/dist/lib/{node-esm/types → neutral/templates}/index.mjs.map +0 -0
  553. /package/dist/lib/{node-esm/DeploymentDialog-2ULNOZQH.mjs.map → neutral/types/index.mjs.map} +0 -0
@@ -0,0 +1,297 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/ScriptProperties/ScriptProperties.tsx
4
+ import React4 from "react";
5
+
6
+ // src/containers/ScriptProperties/BlueprintEditor.tsx
7
+ import React, { useCallback, useState } from "react";
8
+ import { ToolId } from "@dxos/ai";
9
+ import { Blueprint, Template } from "@dxos/compute";
10
+ import { Operation } from "@dxos/compute";
11
+ import { Filter, Obj, Ref } from "@dxos/echo";
12
+ import { useQuery } from "@dxos/react-client/echo";
13
+ import { Button, Input, useAsyncEffect, useTranslation } from "@dxos/react-ui";
14
+ import { Form } from "@dxos/react-ui-form";
15
+ import { kebabize } from "@dxos/util";
16
+ import { meta } from "#meta";
17
+ var BlueprintEditor = ({ object }) => {
18
+ const { t } = useTranslation(meta.id);
19
+ const db = Obj.getDatabase(object);
20
+ const [fn] = useQuery(db, Filter.type(Operation.PersistentOperation, {
21
+ source: Ref.make(object)
22
+ }));
23
+ const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));
24
+ const [creating, setCreating] = useState(false);
25
+ const [instructions, setInstructions] = useState(`You can run the script "${object.name ?? "script"}".`);
26
+ const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? "script")}`;
27
+ const existingBlueprint = blueprints.find((bp) => Obj.getMeta(bp).key === blueprintKey);
28
+ const fnKey = fn ? Obj.getMeta(fn).key : void 0;
29
+ useAsyncEffect(async () => {
30
+ if (!existingBlueprint) {
31
+ return;
32
+ }
33
+ const source = await existingBlueprint.instructions.source.load();
34
+ setInstructions(source.content ?? "");
35
+ }, [
36
+ existingBlueprint
37
+ ]);
38
+ const handleSave = useCallback(async () => {
39
+ if (!db) {
40
+ return;
41
+ }
42
+ setCreating(true);
43
+ try {
44
+ if (existingBlueprint) {
45
+ const text = await existingBlueprint.instructions.source.load();
46
+ Obj.update(text, (text2) => {
47
+ text2.content = instructions;
48
+ });
49
+ if (fnKey) {
50
+ const toolId = ToolId.make(fnKey);
51
+ if (!existingBlueprint.tools?.includes(toolId)) {
52
+ Obj.update(existingBlueprint, (existingBlueprint2) => {
53
+ existingBlueprint2.tools = [
54
+ ...existingBlueprint2.tools ?? [],
55
+ toolId
56
+ ];
57
+ });
58
+ }
59
+ }
60
+ } else if (fnKey) {
61
+ db.add(Blueprint.make({
62
+ key: blueprintKey,
63
+ name: object.name ?? "Script",
64
+ instructions: Template.make({
65
+ source: instructions
66
+ }),
67
+ tools: [
68
+ ToolId.make(fnKey)
69
+ ]
70
+ }));
71
+ }
72
+ await db.flush();
73
+ } finally {
74
+ setCreating(false);
75
+ }
76
+ }, [
77
+ db,
78
+ existingBlueprint,
79
+ fnKey,
80
+ blueprintKey,
81
+ object.name,
82
+ instructions
83
+ ]);
84
+ return /* @__PURE__ */ React.createElement("div", {
85
+ className: "flex flex-col"
86
+ }, /* @__PURE__ */ React.createElement(Form.Section, {
87
+ label: t("blueprint-editor.label"),
88
+ description: t("blueprint-editor.description")
89
+ }), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, t("blueprint-instructions.label")), /* @__PURE__ */ React.createElement(Input.TextArea, {
90
+ placeholder: t("blueprint-instructions.placeholder"),
91
+ rows: 6,
92
+ value: instructions,
93
+ onChange: (event) => setInstructions(event.target.value),
94
+ classNames: "resize-y"
95
+ })), /* @__PURE__ */ React.createElement("div", {
96
+ className: "pt-2"
97
+ }, /* @__PURE__ */ React.createElement(Button, {
98
+ disabled: !existingBlueprint && !fnKey || creating,
99
+ onClick: handleSave
100
+ }, t(existingBlueprint ? "update-blueprint.label" : "create-blueprint.label"))));
101
+ };
102
+
103
+ // src/containers/ScriptProperties/FunctionBinding.tsx
104
+ import React2, { useCallback as useCallback2 } from "react";
105
+ import { Operation as Operation2 } from "@dxos/compute";
106
+ import { Filter as Filter2, Obj as Obj2, Ref as Ref2 } from "@dxos/echo";
107
+ import { getUserFunctionIdInMetadata } from "@dxos/functions";
108
+ import { getInvocationUrl } from "@dxos/functions-runtime";
109
+ import { useClient } from "@dxos/react-client";
110
+ import { useQuery as useQuery2 } from "@dxos/react-client/echo";
111
+ import { Clipboard, Input as Input2, useControlledState, useTranslation as useTranslation2 } from "@dxos/react-ui";
112
+ import { Form as Form2 } from "@dxos/react-ui-form";
113
+ import { meta as meta2 } from "#meta";
114
+ var FunctionBinding = ({ object }) => {
115
+ const { t } = useTranslation2(meta2.id);
116
+ const client = useClient();
117
+ const db = Obj2.getDatabase(object);
118
+ const [fn] = useQuery2(db, Filter2.type(Operation2.PersistentOperation, {
119
+ source: Ref2.make(object)
120
+ }));
121
+ const functionId = fn && getUserFunctionIdInMetadata(Obj2.getMeta(fn));
122
+ const functionUrl = functionId && getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? "", {
123
+ spaceId: db?.spaceId
124
+ });
125
+ const [binding, setBinding] = useControlledState(fn?.binding ?? "");
126
+ const handleBindingChange = useCallback2((event) => setBinding(event.target.value), [
127
+ setBinding
128
+ ]);
129
+ const handleBindingBlur = useCallback2(() => {
130
+ if (fn) {
131
+ Obj2.update(fn, (fn2) => {
132
+ fn2.binding = binding;
133
+ });
134
+ }
135
+ }, [
136
+ fn,
137
+ binding
138
+ ]);
139
+ if (!fn) {
140
+ return null;
141
+ }
142
+ return /* @__PURE__ */ React2.createElement("div", {
143
+ className: "flex flex-col"
144
+ }, /* @__PURE__ */ React2.createElement(Form2.Section, {
145
+ label: t("remote-function-settings.heading")
146
+ }), functionUrl && /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.Label, null, t("function-url.label")), /* @__PURE__ */ React2.createElement(Input2.TextInput, {
147
+ disabled: true,
148
+ value: functionUrl,
149
+ onChange: (event) => {
150
+ Obj2.update(fn, (fn2) => {
151
+ fn2.name = event.target.value;
152
+ });
153
+ }
154
+ }), /* @__PURE__ */ React2.createElement(Clipboard.IconButton, {
155
+ value: functionUrl
156
+ })), /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.Label, null, t("function-binding.label")), /* @__PURE__ */ React2.createElement(Input2.TextInput, {
157
+ placeholder: t("function-binding.placeholder"),
158
+ value: binding,
159
+ onChange: handleBindingChange,
160
+ onBlur: handleBindingBlur
161
+ })));
162
+ };
163
+
164
+ // src/containers/ScriptProperties/FunctionPublishing.tsx
165
+ import { Octokit } from "@octokit/core";
166
+ import React3, { useCallback as useCallback3, useState as useState2 } from "react";
167
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
168
+ import { SettingsOperation } from "@dxos/app-toolkit";
169
+ import { Filter as Filter3, Obj as Obj3 } from "@dxos/echo";
170
+ import { log } from "@dxos/log";
171
+ import { useQuery as useQuery3 } from "@dxos/react-client/echo";
172
+ import { Button as Button2, Clipboard as Clipboard2, Message, useAsyncEffect as useAsyncEffect2, useTranslation as useTranslation3 } from "@dxos/react-ui";
173
+ import { Form as Form3 } from "@dxos/react-ui-form";
174
+ import { AccessToken } from "@dxos/types";
175
+ import { kebabize as kebabize2 } from "@dxos/util";
176
+ import { meta as meta3 } from "#meta";
177
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/containers/ScriptProperties/FunctionPublishing.tsx";
178
+ var FunctionPublishing = ({ object }) => {
179
+ const { t } = useTranslation3(meta3.id);
180
+ const { invokePromise } = useOperationInvoker();
181
+ const db = Obj3.getDatabase(object);
182
+ const [githubToken] = useQuery3(db, Filter3.type(AccessToken.AccessToken, {
183
+ source: "github.com"
184
+ }));
185
+ const gistKey = Obj3.getMeta(object).keys.find(({ source }) => source === "github.com");
186
+ const [gistUrl, setGistUrl] = useState2();
187
+ useAsyncEffect2(async () => {
188
+ const token = githubToken?.token;
189
+ const gistId = gistKey?.id;
190
+ if (!token || !gistId) {
191
+ setGistUrl(void 0);
192
+ return;
193
+ }
194
+ try {
195
+ const octokit = new Octokit({
196
+ auth: githubToken.token
197
+ });
198
+ const response = await octokit.request("GET /gists/{gist_id}", {
199
+ gist_id: gistId
200
+ });
201
+ setGistUrl(response.data.html_url);
202
+ } catch (err) {
203
+ log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 42, S: void 0 });
204
+ setGistUrl(void 0);
205
+ }
206
+ }, [
207
+ githubToken,
208
+ gistKey
209
+ ]);
210
+ const handleOpenTokenManager = useCallback3(() => invokePromise(SettingsOperation.Open, {
211
+ plugin: "org.dxos.plugin.token-manager"
212
+ }), [
213
+ invokePromise
214
+ ]);
215
+ const [publishing, setPublishing] = useState2(false);
216
+ const handlePublish = useCallback3(async () => {
217
+ setPublishing(true);
218
+ const octokit = new Octokit({
219
+ auth: githubToken.token
220
+ });
221
+ const source = await object.source.load();
222
+ const filename = object.name ? kebabize2(object.name) : "composer-script";
223
+ const files = {
224
+ [`${filename}.ts`]: {
225
+ content: source.content
226
+ }
227
+ };
228
+ try {
229
+ const meta4 = Obj3.getMeta(object);
230
+ const githubKey = meta4.keys.find(({ source: source2 }) => source2 === "github.com");
231
+ const gistId = githubKey?.id;
232
+ if (gistId) {
233
+ await octokit.request("PATCH /gists/{gist_id}", {
234
+ gist_id: gistId,
235
+ files
236
+ });
237
+ } else {
238
+ const response = await octokit.request("POST /gists", {
239
+ public: true,
240
+ files
241
+ });
242
+ const gistId2 = response.data.id;
243
+ if (gistId2) {
244
+ Obj3.update(object, (object2) => {
245
+ Obj3.getMeta(object2).keys.push({
246
+ source: "github.com",
247
+ id: gistId2
248
+ });
249
+ });
250
+ }
251
+ }
252
+ } finally {
253
+ setPublishing(false);
254
+ }
255
+ }, [
256
+ object,
257
+ githubToken
258
+ ]);
259
+ return /* @__PURE__ */ React3.createElement("div", {
260
+ className: "flex flex-col"
261
+ }, /* @__PURE__ */ React3.createElement(Form3.Section, {
262
+ label: t("script-publish-settings.label"),
263
+ description: t("script-publish-settings.description")
264
+ }), !githubToken && /* @__PURE__ */ React3.createElement("div", {
265
+ className: "flex flex-col py-form-gap"
266
+ }, /* @__PURE__ */ React3.createElement(Message.Root, {
267
+ valence: "info"
268
+ }, /* @__PURE__ */ React3.createElement(Message.Title, null, t("no-github-token.label"))), /* @__PURE__ */ React3.createElement("div", {
269
+ className: "flex pt-form-gap"
270
+ }, /* @__PURE__ */ React3.createElement(Button2, {
271
+ onClick: handleOpenTokenManager
272
+ }, t("open-token-manager.label")))), githubToken && /* @__PURE__ */ React3.createElement("div", {
273
+ className: "flex justify-end gap-2"
274
+ }, gistUrl && /* @__PURE__ */ React3.createElement(Clipboard2.IconButton, {
275
+ value: gistUrl
276
+ }), /* @__PURE__ */ React3.createElement(Button2, {
277
+ disabled: publishing,
278
+ onClick: handlePublish
279
+ }, t("publish.label"))));
280
+ };
281
+
282
+ // src/containers/ScriptProperties/ScriptProperties.tsx
283
+ var ScriptProperties = ({ subject: object }) => {
284
+ return /* @__PURE__ */ React4.createElement("div", {
285
+ className: "flex flex-col py-form-gap gap-form-section-gap"
286
+ }, /* @__PURE__ */ React4.createElement(FunctionBinding, {
287
+ object
288
+ }), /* @__PURE__ */ React4.createElement(BlueprintEditor, {
289
+ object
290
+ }), /* @__PURE__ */ React4.createElement(FunctionPublishing, {
291
+ object
292
+ }));
293
+ };
294
+ export {
295
+ ScriptProperties as default
296
+ };
297
+ //# sourceMappingURL=ScriptProperties-RLXNAN3N.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ScriptProperties/ScriptProperties.tsx", "../../../src/containers/ScriptProperties/BlueprintEditor.tsx", "../../../src/containers/ScriptProperties/FunctionBinding.tsx", "../../../src/containers/ScriptProperties/FunctionPublishing.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Script } from '@dxos/compute';\n\nimport { BlueprintEditor } from './BlueprintEditor';\nimport { FunctionBinding } from './FunctionBinding';\nimport { FunctionPublishing } from './FunctionPublishing';\n\nexport type ScriptPropertiesProps = AppSurface.ObjectPropertiesProps<Script.Script>;\n\nexport const ScriptProperties = ({ subject: object }: ScriptPropertiesProps) => {\n return (\n <div className='flex flex-col py-form-gap gap-form-section-gap'>\n <FunctionBinding object={object} />\n <BlueprintEditor object={object} />\n <FunctionPublishing object={object} />\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { ToolId } from '@dxos/ai';\nimport { Blueprint, Template } from '@dxos/compute';\nimport { type Script } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Ref } from '@dxos/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Button, Input, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { kebabize } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nexport type BlueprintEditorProps = { object: Script.Script };\n\nexport const BlueprintEditor = ({ object }: BlueprintEditorProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(object);\n const [fn] = useQuery(db, Filter.type(Operation.PersistentOperation, { source: Ref.make(object) }));\n const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));\n\n const [creating, setCreating] = useState(false);\n // TODO(burdon): Remove?\n const [instructions, setInstructions] = useState<string>(`You can run the script \"${object.name ?? 'script'}\".`);\n const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? 'script')}`;\n const existingBlueprint = blueprints.find((bp) => Obj.getMeta(bp).key === blueprintKey);\n const fnKey = fn ? Obj.getMeta(fn).key : undefined;\n\n useAsyncEffect(async () => {\n if (!existingBlueprint) {\n return;\n }\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.update(text, (text) => {\n text.content = instructions;\n });\n\n if (fnKey) {\n const toolId = ToolId.make(fnKey);\n if (!existingBlueprint.tools?.includes(toolId)) {\n Obj.update(existingBlueprint, (existingBlueprint) => {\n existingBlueprint.tools = [...(existingBlueprint.tools ?? []), toolId];\n });\n }\n }\n } else if (fnKey) {\n db.add(\n Blueprint.make({\n key: blueprintKey,\n name: object.name ?? 'Script',\n instructions: Template.make({ source: instructions }),\n tools: [ToolId.make(fnKey)],\n }),\n );\n }\n await db.flush();\n } finally {\n setCreating(false);\n }\n }, [db, existingBlueprint, fnKey, blueprintKey, object.name, instructions]);\n\n return (\n <div className='flex flex-col'>\n <Form.Section label={t('blueprint-editor.label')} description={t('blueprint-editor.description')} />\n\n <Input.Root>\n <Input.Label>{t('blueprint-instructions.label')}</Input.Label>\n <Input.TextArea\n placeholder={t('blueprint-instructions.placeholder')}\n rows={6}\n value={instructions}\n onChange={(event) => setInstructions(event.target.value)}\n classNames='resize-y'\n />\n </Input.Root>\n\n <div className='pt-2'>\n <Button disabled={(!existingBlueprint && !fnKey) || creating} onClick={handleSave}>\n {t(existingBlueprint ? 'update-blueprint.label' : 'create-blueprint.label')}\n </Button>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { type Script } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Ref } from '@dxos/echo';\nimport { getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { useClient } from '@dxos/react-client';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\n\nexport type FunctionBindingProps = { object: Script.Script };\n\nexport const FunctionBinding = ({ object }: FunctionBindingProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const db = Obj.getDatabase(object);\n\n const [fn] = useQuery(db, Filter.type(Operation.PersistentOperation, { source: Ref.make(object) }));\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>) => setBinding(event.target.value),\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n if (fn) {\n Obj.update(fn, (fn) => {\n fn.binding = binding;\n });\n }\n }, [fn, binding]);\n\n if (!fn) {\n return null;\n }\n\n return (\n <div className='flex flex-col'>\n <Form.Section label={t('remote-function-settings.heading')} />\n\n {functionUrl && (\n <Input.Root>\n <Input.Label>{t('function-url.label')}</Input.Label>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n Obj.update(fn, (fn) => {\n fn.name = event.target.value;\n });\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </Input.Root>\n )}\n\n <Input.Root>\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 </Input.Root>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { SettingsOperation } from '@dxos/app-toolkit';\nimport { type Script } from '@dxos/compute';\nimport { Filter, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Message, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { AccessToken } from '@dxos/types';\nimport { kebabize } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nexport type FunctionPublishingProps = { object: Script.Script };\n\n// TODO(burdon): Move to separate tab?\nexport const FunctionPublishing = ({ object }: FunctionPublishingProps) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const db = Obj.getDatabase(object);\n\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: 'org.dxos.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.update(object, (object) => {\n Obj.getMeta(object).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'>\n <Form.Section label={t('script-publish-settings.label')} description={t('script-publish-settings.description')} />\n\n {!githubToken && (\n <div className='flex flex-col py-form-gap'>\n <Message.Root valence='info'>\n <Message.Title>{t('no-github-token.label')}</Message.Title>\n </Message.Root>\n <div className='flex pt-form-gap'>\n <Button onClick={handleOpenTokenManager}>{t('open-token-manager.label')}</Button>\n </div>\n </div>\n )}\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('publish.label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "React", "useCallback", "useState", "ToolId", "Blueprint", "Template", "Operation", "Filter", "Obj", "Ref", "useQuery", "Button", "Input", "useAsyncEffect", "useTranslation", "Form", "kebabize", "meta", "BlueprintEditor", "object", "t", "id", "db", "getDatabase", "fn", "type", "PersistentOperation", "source", "make", "blueprints", "creating", "setCreating", "instructions", "setInstructions", "name", "blueprintKey", "existingBlueprint", "find", "bp", "getMeta", "key", "fnKey", "undefined", "load", "content", "handleSave", "text", "update", "toolId", "tools", "includes", "add", "flush", "div", "className", "Section", "label", "description", "Root", "Label", "TextArea", "placeholder", "rows", "value", "onChange", "event", "target", "classNames", "disabled", "onClick", "React", "useCallback", "Operation", "Filter", "Obj", "Ref", "getUserFunctionIdInMetadata", "getInvocationUrl", "useClient", "useQuery", "Clipboard", "Input", "useControlledState", "useTranslation", "Form", "meta", "FunctionBinding", "object", "t", "id", "client", "db", "getDatabase", "fn", "type", "PersistentOperation", "source", "make", "functionId", "getMeta", "functionUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "binding", "setBinding", "handleBindingChange", "event", "target", "value", "handleBindingBlur", "update", "div", "className", "Section", "label", "Root", "Label", "TextInput", "disabled", "onChange", "name", "IconButton", "placeholder", "onBlur", "Octokit", "React", "useCallback", "useState", "useOperationInvoker", "SettingsOperation", "Filter", "Obj", "log", "useQuery", "Button", "Clipboard", "Message", "useAsyncEffect", "useTranslation", "Form", "AccessToken", "kebabize", "meta", "invokePromise", "db", "object", "githubToken", "source", "gistKey", "token", "gistId", "setGistUrl", "undefined", "response", "err", "setPublishing", "files", "content", "githubKey", "id", "octokit", "gist_id", "getMeta", "Section", "label", "t", "className", "valence", "Title", "onClick", "handleOpenTokenManager", "gistUrl", "IconButton", "value", "disabled", "handlePublish", "ScriptProperties", "subject", "object", "React", "div", "className", "FunctionBinding", "BlueprintEditor", "FunctionPublishing"]
7
+ }
@@ -0,0 +1,44 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/TestContainer/TestContainer.tsx
4
+ import React, { useCallback, useMemo } from "react";
5
+ import { Context } from "@dxos/context";
6
+ import { Obj } from "@dxos/echo";
7
+ import { FunctionsServiceClient } from "@dxos/functions-runtime/edge";
8
+ import { Panel } from "@dxos/react-ui";
9
+ import { TestPanel } from "#components";
10
+ import { useDeployDeps } from "#hooks";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/containers/TestContainer/TestContainer.tsx";
12
+ var TestContainer = ({ role, script }) => {
13
+ const { client, fn, existingFunctionId } = useDeployDeps({
14
+ script
15
+ });
16
+ const spaceId = Obj.getDatabase(script)?.spaceId;
17
+ const functionsClient = useMemo(() => FunctionsServiceClient.fromClient(client), [
18
+ client
19
+ ]);
20
+ const handleInvoke = useCallback(async (input) => {
21
+ if (!fn) {
22
+ throw new Error("Function not deployed");
23
+ }
24
+ return functionsClient.invoke(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 23 }), fn, input, {
25
+ spaceId
26
+ });
27
+ }, [
28
+ fn,
29
+ functionsClient,
30
+ spaceId
31
+ ]);
32
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
33
+ role,
34
+ className: "dx-document"
35
+ }, /* @__PURE__ */ React.createElement(Panel.Content, {
36
+ asChild: true
37
+ }, /* @__PURE__ */ React.createElement(TestPanel, {
38
+ onInvoke: existingFunctionId ? handleInvoke : void 0
39
+ })));
40
+ };
41
+ export {
42
+ TestContainer as default
43
+ };
44
+ //# sourceMappingURL=TestContainer-AFVTBYSJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TestContainer/TestContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type Script } from '@dxos/compute';\nimport { Context } from '@dxos/context';\nimport { Obj } from '@dxos/echo';\nimport { FunctionsServiceClient } from '@dxos/functions-runtime/edge';\nimport { Panel } from '@dxos/react-ui';\n\nimport { TestPanel } from '#components';\nimport { useDeployDeps } from '#hooks';\n\nexport type TestContainerProps = {\n role: string;\n script: Script.Script;\n};\n\nexport const TestContainer = ({ role, script }: TestContainerProps) => {\n const { client, fn, existingFunctionId } = useDeployDeps({ script });\n const spaceId = Obj.getDatabase(script)?.spaceId;\n\n const functionsClient = useMemo(() => FunctionsServiceClient.fromClient(client), [client]);\n\n const handleInvoke = useCallback(\n async (input: unknown) => {\n if (!fn) {\n throw new Error('Function not deployed');\n }\n return functionsClient.invoke(Context.default(), fn, input, { spaceId });\n },\n [fn, functionsClient, spaceId],\n );\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Content asChild>\n <TestPanel onInvoke={existingFunctionId ? handleInvoke : undefined} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,SAASC,aAAaC,eAAe;AAG5C,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,8BAA8B;AACvC,SAASC,aAAa;AAEtB,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAO9B,IAAA,eAAaC;IACgDC,gBAAAA,CAAAA,EAAAA,MAAAA,OAAAA,MAAAA;AAAO,QAAA,EAAA,QAAA,IAAA,mBAAA,IAAA,cAAA;IAClE;EAEA,CAAA;QAAkFC,UAAAA,IAAAA,YAAAA,MAAAA,GAAAA;QAAO,kBAAA,QAAA,MAAA,uBAAA,WAAA,MAAA,GAAA;IAEzF;;uBAGgBC,YAAM,OAAA,UAAA;AAClB,QAAA,CAAA,IAAA;AACA,YAAOC,IAAAA,MAAAA,uBAA+BC;;AAAgC,WAAA,gBAAA,OAAA,QAAA,QAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,GAAA,CAAA,GAAA,IAAA,OAAA;MAExE;IAACC,CAAAA;;IAAqBC;IAAQ;IAGhC;;SACoC,sBAAA,cAAA,MAAA,MAAA;;IACjBC,WAAAA;KACb,sBAAA,cAACV,MAAAA,SAAAA;IAAUW,SAAAA;;IAIjB,UAAA,qBAAA,eAAA;;;",
6
+ "names": ["React", "useCallback", "useMemo", "Context", "Obj", "FunctionsServiceClient", "Panel", "TestPanel", "useDeployDeps", "TestContainer", "script", "client", "Error", "functionsClient", "default", "fn", "spaceId", "asChild", "onInvoke"]
7
+ }
@@ -0,0 +1,52 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/app-graph-builder.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities, AppNode } from "@dxos/app-toolkit";
7
+ import { Script } from "@dxos/compute";
8
+ import { GraphBuilder } from "@dxos/plugin-graph";
9
+ import { meta } from "#meta";
10
+ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
+ const extensions = yield* Effect.all([
12
+ GraphBuilder.createTypeExtension({
13
+ id: "execute",
14
+ type: Script.Script,
15
+ connector: () => Effect.succeed([
16
+ AppNode.makeCompanion({
17
+ id: "execute",
18
+ label: [
19
+ "script-test.label",
20
+ {
21
+ ns: meta.id
22
+ }
23
+ ],
24
+ icon: "ph--terminal--regular",
25
+ data: "execute"
26
+ })
27
+ ])
28
+ }),
29
+ GraphBuilder.createTypeExtension({
30
+ id: "logs",
31
+ type: Script.Script,
32
+ connector: () => Effect.succeed([
33
+ AppNode.makeCompanion({
34
+ id: "logs",
35
+ label: [
36
+ "script-logs.label",
37
+ {
38
+ ns: meta.id
39
+ }
40
+ ],
41
+ icon: "ph--clock-countdown--regular",
42
+ data: "logs"
43
+ })
44
+ ])
45
+ })
46
+ ]);
47
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
48
+ }));
49
+ export {
50
+ app_graph_builder_default as default
51
+ };
52
+ //# sourceMappingURL=app-graph-builder-7AWFCEQF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\nimport { GraphBuilder } from '@dxos/plugin-graph';\n\nimport { meta } from '#meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'execute',\n type: Script.Script,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'execute',\n label: ['script-test.label', { ns: meta.id }],\n icon: 'ph--terminal--regular',\n data: 'execute',\n }),\n ]),\n }),\n GraphBuilder.createTypeExtension({\n id: 'logs',\n type: Script.Script,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'logs',\n label: ['script-logs.label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n data: 'logs',\n }),\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,eAAe;AACzC,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAE7B,SAASC,YAAY;AAErB,IAAA,4BAAeL,WAAWM,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCL,aAAaM,oBAAoB;MAC/BC,IAAI;MACJC,MAAMT,OAAOA;MACbU,WAAW,MACFC,eAAQ;QACbZ,QAAQa,cAAc;UACpBJ,IAAI;UACJK,OAAO;YAAC;YAAqB;cAAEC,IAAIZ,KAAKM;YAAG;;UAC3CO,MAAM;UACNC,MAAM;QACR,CAAA;OACD;IACL,CAAA;IACAf,aAAaM,oBAAoB;MAC/BC,IAAI;MACJC,MAAMT,OAAOA;MACbU,WAAW,MACFC,eAAQ;QACbZ,QAAQa,cAAc;UACpBJ,IAAI;UACJK,OAAO;YAAC;YAAqB;cAAEC,IAAIZ,KAAKM;YAAG;;UAC3CO,MAAM;UACNC,MAAM;QACR,CAAA;OACD;IACL,CAAA;GACD;AAED,SAAOnB,WAAWoB,YAAYnB,gBAAgBoB,iBAAiBb,UAAAA;AACjE,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "AppNode", "Script", "GraphBuilder", "meta", "makeModule", "fnUntraced", "extensions", "all", "createTypeExtension", "id", "type", "connector", "succeed", "makeCompanion", "label", "ns", "icon", "data", "contributes", "AppGraphBuilder"]
7
+ }
@@ -0,0 +1,15 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/blueprint-definition.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { AppCapabilities } from "@dxos/app-toolkit";
7
+ import { ScriptBlueprint } from "#blueprints";
8
+ var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
9
+ Capability.contributes(AppCapabilities.BlueprintDefinition, ScriptBlueprint)
10
+ ]));
11
+ var blueprint_definition_default = blueprintDefinition;
12
+ export {
13
+ blueprint_definition_default as default
14
+ };
15
+ //# sourceMappingURL=blueprint-definition-T33SBPP2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { ScriptBlueprint } from '#blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, ScriptBlueprint)]));\n\nexport default blueprintDefinition;\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,SAASC,uBAAuB;AAEhC,IAAMC,sBAAsBH,WAAWI,WAGrC,MAAaC,eAAQ;EAACL,WAAWM,YAAYL,gBAAgBM,qBAAqBL,eAAAA;CAAiB,CAAA;AAErG,IAAA,+BAAeC;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "ScriptBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ script_blueprint_default
3
+ } from "../chunk-BDRB6ZX2.mjs";
4
+ import "../chunk-SNUWHNEW.mjs";
5
+ import "../chunk-MI6X5CTJ.mjs";
6
+ import "../chunk-J5LGTIGS.mjs";
7
+ export {
8
+ script_blueprint_default as ScriptBlueprint
9
+ };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,21 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/index.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-7AWFCEQF.mjs"));
6
+ var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-T33SBPP2.mjs"));
7
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-F2NWICFV.mjs"));
8
+ var Compiler = Capability.lazy("Compiler", () => import("../compiler-ODK4UA2N.mjs"));
9
+ var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-KIZ7XZ5G.mjs"));
10
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-K4SSUR57.mjs"));
11
+ var ScriptSettings = Capability.lazy("ScriptSettings", () => import("../settings-VJBW4OMK.mjs"));
12
+ export {
13
+ AppGraphBuilder,
14
+ BlueprintDefinition,
15
+ Compiler,
16
+ CreateObject,
17
+ OperationHandler,
18
+ ReactSurface,
19
+ ScriptSettings
20
+ };
21
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const Compiler = Capability.lazy('Compiler', () => import('./compiler'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const ScriptSettings = Capability.lazy('ScriptSettings', () => import('./settings'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,sBAAsBH,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAME,eAAeJ,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMG,WAAWL,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMI,mBAAmBN,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMK,eAAeP,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMM,iBAAiBR,WAAWE,KAAK,kBAAkB,MAAM,OAAO,0BAAA,CAAA;",
6
+ "names": ["Capability", "AppGraphBuilder", "lazy", "BlueprintDefinition", "CreateObject", "Compiler", "OperationHandler", "ReactSurface", "ScriptSettings"]
7
+ }
@@ -0,0 +1,17 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/node.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-7AWFCEQF.mjs"));
6
+ var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-T33SBPP2.mjs"));
7
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-F2NWICFV.mjs"));
8
+ var Compiler = Capability.lazy("Compiler", () => import("../compiler-ODK4UA2N.mjs"));
9
+ var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-KIZ7XZ5G.mjs"));
10
+ export {
11
+ AppGraphBuilder,
12
+ BlueprintDefinition,
13
+ Compiler,
14
+ CreateObject,
15
+ OperationHandler
16
+ };
17
+ //# sourceMappingURL=node.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/node.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const Compiler = Capability.lazy('Compiler', () => import('./compiler'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,sBAAsBH,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAME,eAAeJ,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMG,WAAWL,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMI,mBAAmBN,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;",
6
+ "names": ["Capability", "AppGraphBuilder", "lazy", "BlueprintDefinition", "CreateObject", "Compiler", "OperationHandler"]
7
+ }
@@ -0,0 +1,56 @@
1
+ // src/compiler/compiler.ts
2
+ import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
3
+ import ts from "typescript";
4
+ import { invariant } from "@dxos/invariant";
5
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
6
+ var GLOBALS = "globals.d.ts";
7
+ var CDN_TS_VERSION = "5.6.3";
8
+ var defaultOptions = {
9
+ lib: [
10
+ "DOM",
11
+ "es2022"
12
+ ],
13
+ target: ts.ScriptTarget.ES2022,
14
+ // Override `@typescript/vfs`'s default of `NodeJs` (== deprecated `node10`).
15
+ // TypeScript 6 throws on that as a `getCompilerOptionsDiagnostics()` error,
16
+ // which surfaces as an unhandled rejection inside the storybook task.
17
+ moduleResolution: ts.ModuleResolutionKind.Bundler
18
+ };
19
+ var Compiler = class {
20
+ _options;
21
+ _env;
22
+ _fsMap;
23
+ constructor(_options = defaultOptions) {
24
+ this._options = _options;
25
+ }
26
+ async initialize(globals) {
27
+ if (this._env) {
28
+ return;
29
+ }
30
+ this._fsMap = await createDefaultMapFromCDN(this._options, CDN_TS_VERSION, true, ts);
31
+ if (globals) {
32
+ this._fsMap.set(GLOBALS, globals);
33
+ }
34
+ const rootFiles = globals ? [
35
+ GLOBALS
36
+ ] : [];
37
+ const system = createSystem(this._fsMap);
38
+ this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);
39
+ }
40
+ get environment() {
41
+ invariant(this._env, "Compiler environment not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 48, S: this, A: ["this._env", "'Compiler environment not initialized.'"] });
42
+ return this._env;
43
+ }
44
+ setFile(fileName, content) {
45
+ invariant(this._fsMap, "File system map not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 52, S: this, A: ["this._fsMap", "'File system map not initialized.'"] });
46
+ this.environment.createFile(fileName, content);
47
+ }
48
+ compile(fileName) {
49
+ return this.environment.languageService.getEmitOutput(fileName);
50
+ }
51
+ };
52
+
53
+ export {
54
+ Compiler
55
+ };
56
+ //# sourceMappingURL=chunk-2REUEDUA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/compiler/compiler.ts"],
4
+ "sourcesContent": ["//\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\n/** TS version hosted on playgroundcdn.typescriptlang.org used to fetch lib .d.ts files.\n * Pinned to 5.6.3 because 5.7+ removed lib.es2022.sharedmemory.d.ts from the CDN.\n * The remaining 404s (lib.core.d.ts, lib.core.es6/7.d.ts, lib.es7.d.ts) are phantom\n * entries in @typescript/vfs's hardcoded file list and are harmlessly caught.\n */\nconst CDN_TS_VERSION = '5.6.3';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n // Override `@typescript/vfs`'s default of `NodeJs` (== deprecated `node10`).\n // TypeScript 6 throws on that as a `getCompilerOptionsDiagnostics()` error,\n // which surfaces as an unhandled rejection inside the storybook task.\n moduleResolution: ts.ModuleResolutionKind.Bundler,\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, CDN_TS_VERSION, 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": ";AAIA,SAEEA,yBACAC,cACAC,0CACK;AACP,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;AAE1B,IAAA,eAAgB;;AAUdC,IAAK,iBAAA;qBAAC;OAAO;IAAS;IACtBC;EACA;EACA,QAAA,GAAA,aAAA;;;;EAKF,kBAAaC,GAAAA,qBAAAA;;AACHC,IAA+C,WAA/CA,MAA+C;EAC/CC;EAER;;EAA6E,YAAA,WAAA,gBAAA;AAE7E,SAAMC,WAAWC;;mBAEb,SAAA;AACF,QAAA,KAAA,MAAA;AAEA;IACA;SAGE,SAAKF,MAAWG,wBAASD,KAAAA,UAAAA,gBAAAA,MAAAA,EAAAA;AAC3B,QAAA,SAAA;AAEA,WAAME,OAAAA,IAAYF,SAAU,OAAA;;UAAc,YAAA,UAAA;MAC1C;IACA,IAAI,CAACH;AACP,UAAA,SAAA,aAAA,KAAA,MAAA;AAEIM,SAAAA,OAAAA,mCAAc,QAAA,WAAA,IAAA,KAAA,QAAA;;MAEhB,cAAYN;AACd,cAAA,KAAA,MAAA,yCAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,aAAA,yCAAA,EAAA,CAAA;AAEAO,WAAQC,KAAgB;;UAElB,UAACF,SAAYG;AACnB,cAAA,KAAA,QAAA,oCAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,eAAA,oCAAA,EAAA,CAAA;AAEAC,SAAQF,YAAiC,WAAA,UAAA,OAAA;;EAEzC,QAAA,UAAA;AACF,WAAA,KAAA,YAAA,gBAAA,cAAA,QAAA;;;",
6
+ "names": ["createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "lib", "target", "Compiler", "_env", "_fsMap", "initialize", "globals", "GLOBALS", "rootFiles", "environment", "setFile", "fileName", "createFile", "compile"]
7
+ }