@dxos/plugin-script 0.8.4-main.f9ba587 → 0.8.4-staging.60fe92afc8

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 (550) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +515 -0
  3. package/README.md +15 -13
  4. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs +114 -0
  5. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs.map +7 -0
  6. package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs +763 -0
  7. package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs.map +7 -0
  8. package/dist/lib/neutral/ScriptArticle-QW26LOKU.mjs +79 -0
  9. package/dist/lib/neutral/ScriptArticle-QW26LOKU.mjs.map +7 -0
  10. package/dist/lib/neutral/ScriptPlugin.mjs +51 -0
  11. package/dist/lib/neutral/ScriptPlugin.mjs.map +7 -0
  12. package/dist/lib/neutral/ScriptPlugin.node.mjs +27 -0
  13. package/dist/lib/neutral/ScriptPlugin.node.mjs.map +7 -0
  14. package/dist/lib/neutral/ScriptPlugin.workerd.mjs +21 -0
  15. package/dist/lib/neutral/ScriptPlugin.workerd.mjs.map +7 -0
  16. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +31 -0
  17. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +7 -0
  18. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs +297 -0
  19. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +7 -0
  20. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs +44 -0
  21. package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
  22. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs +52 -0
  23. package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs.map +7 -0
  24. package/dist/lib/neutral/blueprint-definition-PJ7I3JIQ.mjs +15 -0
  25. package/dist/lib/neutral/blueprint-definition-PJ7I3JIQ.mjs.map +7 -0
  26. package/dist/lib/neutral/blueprints/index.mjs +10 -0
  27. package/dist/lib/neutral/capabilities/index.mjs +21 -0
  28. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  29. package/dist/lib/neutral/capabilities/node.mjs +17 -0
  30. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-2REUEDUA.mjs +56 -0
  32. package/dist/lib/neutral/chunk-2REUEDUA.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-BDHDBPVM.mjs +52 -0
  34. package/dist/lib/neutral/chunk-BDHDBPVM.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-BKXYHCJ6.mjs +8 -0
  36. package/dist/lib/neutral/chunk-BKXYHCJ6.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-HABDH5SS.mjs +123 -0
  38. package/dist/lib/neutral/chunk-HABDH5SS.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  40. package/dist/lib/neutral/chunk-PHKPB5JN.mjs +96 -0
  41. package/dist/lib/neutral/chunk-PHKPB5JN.mjs.map +7 -0
  42. package/dist/lib/neutral/chunk-TRKXIP2Q.mjs +345 -0
  43. package/dist/lib/neutral/chunk-TRKXIP2Q.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-UA3BWOCZ.mjs +38 -0
  45. package/dist/lib/neutral/chunk-UA3BWOCZ.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/chunk-XFM63AKT.mjs +8 -0
  49. package/dist/lib/neutral/chunk-XFM63AKT.mjs.map +7 -0
  50. package/dist/lib/neutral/compiler-ODK4UA2N.mjs +101 -0
  51. package/dist/lib/neutral/compiler-ODK4UA2N.mjs.map +7 -0
  52. package/dist/lib/neutral/components/index.mjs +664 -0
  53. package/dist/lib/neutral/components/index.mjs.map +7 -0
  54. package/dist/lib/neutral/containers/index.mjs +17 -0
  55. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  56. package/dist/lib/neutral/create-AAA53WDL.mjs +46 -0
  57. package/dist/lib/neutral/create-AAA53WDL.mjs.map +7 -0
  58. package/dist/lib/neutral/create-object-FZM5ASWM.mjs +45 -0
  59. package/dist/lib/neutral/create-object-FZM5ASWM.mjs.map +7 -0
  60. package/dist/lib/neutral/create-script-P46JOEHH.mjs +45 -0
  61. package/dist/lib/neutral/create-script-P46JOEHH.mjs.map +7 -0
  62. package/dist/lib/neutral/delete-HCQIQFVP.mjs +21 -0
  63. package/dist/lib/neutral/delete-HCQIQFVP.mjs.map +7 -0
  64. package/dist/lib/neutral/deploy-7JVMMHSH.mjs +63 -0
  65. package/dist/lib/neutral/deploy-7JVMMHSH.mjs.map +7 -0
  66. package/dist/lib/neutral/hooks/index.mjs +369 -0
  67. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  68. package/dist/lib/neutral/index.mjs +41 -0
  69. package/dist/lib/neutral/inspect-invocations-TAOYDT4H.mjs +59 -0
  70. package/dist/lib/neutral/inspect-invocations-TAOYDT4H.mjs.map +7 -0
  71. package/dist/lib/neutral/install-function-FJIE2JAI.mjs +49 -0
  72. package/dist/lib/neutral/install-function-FJIE2JAI.mjs.map +7 -0
  73. package/dist/lib/neutral/invoke-3HVWY2KF.mjs +32 -0
  74. package/dist/lib/neutral/invoke-3HVWY2KF.mjs.map +7 -0
  75. package/dist/lib/neutral/meta.json +1 -0
  76. package/dist/lib/neutral/meta.mjs +10 -0
  77. package/dist/lib/neutral/operation-handler-YMUADD7Y.mjs +18 -0
  78. package/dist/lib/neutral/operation-handler-YMUADD7Y.mjs.map +7 -0
  79. package/dist/lib/neutral/operations/index.mjs +8 -0
  80. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  81. package/dist/lib/neutral/plugin.mjs +16 -0
  82. package/dist/lib/neutral/plugin.mjs.map +7 -0
  83. package/dist/lib/neutral/query-deployed-functions-F4FHJNWO.mjs +34 -0
  84. package/dist/lib/neutral/query-deployed-functions-F4FHJNWO.mjs.map +7 -0
  85. package/dist/lib/neutral/react-surface-ACNZ35FV.mjs +121 -0
  86. package/dist/lib/neutral/react-surface-ACNZ35FV.mjs.map +7 -0
  87. package/dist/lib/neutral/read-RQESBAQI.mjs +26 -0
  88. package/dist/lib/neutral/read-RQESBAQI.mjs.map +7 -0
  89. package/dist/lib/neutral/settings-VJBW4OMK.mjs +30 -0
  90. package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
  91. package/dist/lib/neutral/templates/index.mjs +10 -0
  92. package/dist/lib/neutral/templates/index.mjs.map +7 -0
  93. package/dist/lib/neutral/translations.mjs +105 -0
  94. package/dist/lib/neutral/translations.mjs.map +7 -0
  95. package/dist/lib/neutral/types/index.mjs +17 -0
  96. package/dist/lib/neutral/types/index.mjs.map +7 -0
  97. package/dist/lib/neutral/update-CO7B6UBS.mjs +63 -0
  98. package/dist/lib/neutral/update-CO7B6UBS.mjs.map +7 -0
  99. package/dist/types/src/ScriptPlugin.d.ts +3 -1
  100. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  101. package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
  102. package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
  103. package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
  104. package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
  105. package/dist/types/src/ScriptPlugin.workerd.d.ts +4 -0
  106. package/dist/types/src/ScriptPlugin.workerd.d.ts.map +1 -0
  107. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  108. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  109. package/dist/types/src/blueprints/functions/definitions.d.ts +135 -0
  110. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  111. package/dist/types/src/blueprints/functions/delete.d.ts +17 -0
  112. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  113. package/dist/types/src/blueprints/functions/deploy.d.ts +21 -0
  114. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  115. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  116. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  117. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +28 -0
  118. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  119. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  120. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  121. package/dist/types/src/blueprints/functions/invoke.d.ts +21 -0
  122. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  123. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  124. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  125. package/dist/types/src/blueprints/functions/read.d.ts +21 -0
  126. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  127. package/dist/types/src/blueprints/functions/update.d.ts +26 -0
  128. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  129. package/dist/types/src/blueprints/index.d.ts +2 -0
  130. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  131. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  132. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  134. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  136. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  138. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  139. package/dist/types/src/capabilities/create-object.d.ts +16 -0
  140. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/index.d.ts +20 -7
  142. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  143. package/dist/types/src/capabilities/node.d.ts +19 -0
  144. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  146. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  148. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  149. package/dist/types/src/capabilities/settings.d.ts +5 -2
  150. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  151. package/dist/types/src/compiler/compiler.d.ts +1 -1
  152. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  153. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  154. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  155. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  156. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  157. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +16 -0
  158. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  159. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +240 -0
  160. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  161. package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
  162. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  163. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  164. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  165. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  166. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  167. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  168. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  169. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  170. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  171. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
  172. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  173. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
  174. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  175. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +10 -9
  176. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  177. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +237 -10
  178. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  179. package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
  180. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  181. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  182. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  183. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +8 -2
  184. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  185. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +13 -4
  186. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  187. package/dist/types/src/components/index.d.ts +6 -7
  188. package/dist/types/src/components/index.d.ts.map +1 -1
  189. package/dist/types/src/constants.d.ts +3 -0
  190. package/dist/types/src/constants.d.ts.map +1 -0
  191. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts +9 -0
  192. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  193. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
  194. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  195. package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
  196. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  197. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts +7 -0
  198. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts.map +1 -0
  199. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts +7 -0
  200. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts.map +1 -0
  201. package/dist/types/src/containers/NotebookArticle/index.d.ts +2 -0
  202. package/dist/types/src/containers/NotebookArticle/index.d.ts.map +1 -0
  203. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts +10 -0
  204. package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts.map +1 -0
  205. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts +242 -0
  206. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts.map +1 -0
  207. package/dist/types/src/containers/ScriptArticle/index.d.ts +2 -0
  208. package/dist/types/src/containers/ScriptArticle/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
  210. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
  211. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
  212. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
  213. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
  214. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
  215. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
  216. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  217. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
  218. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
  219. package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
  220. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  221. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  222. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  223. package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
  224. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  225. package/dist/types/src/containers/index.d.ts +7 -0
  226. package/dist/types/src/containers/index.d.ts.map +1 -0
  227. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  228. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  229. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  230. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  231. package/dist/types/src/hooks/deploy.d.ts +31 -33
  232. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  233. package/dist/types/src/hooks/format.d.ts +5 -4
  234. package/dist/types/src/hooks/format.d.ts.map +1 -1
  235. package/dist/types/src/hooks/index.d.ts +1 -0
  236. package/dist/types/src/hooks/index.d.ts.map +1 -1
  237. package/dist/types/src/hooks/template.d.ts +7 -16
  238. package/dist/types/src/hooks/template.d.ts.map +1 -1
  239. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  240. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  241. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  242. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  243. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  244. package/dist/types/src/index.d.ts +3 -3
  245. package/dist/types/src/index.d.ts.map +1 -1
  246. package/dist/types/src/meta.d.ts +2 -3
  247. package/dist/types/src/meta.d.ts.map +1 -1
  248. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  249. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  250. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  251. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  252. package/dist/types/src/notebook/eval.d.ts +13 -0
  253. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  254. package/dist/types/src/notebook/index.d.ts +2 -0
  255. package/dist/types/src/notebook/index.d.ts.map +1 -0
  256. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  257. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  258. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  259. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  260. package/dist/types/src/operations/create-script.d.ts +5 -0
  261. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  262. package/dist/types/src/operations/index.d.ts +3 -0
  263. package/dist/types/src/operations/index.d.ts.map +1 -0
  264. package/dist/types/src/plugin.d.ts +4 -0
  265. package/dist/types/src/plugin.d.ts.map +1 -0
  266. package/dist/types/src/templates/anthropic.d.ts +7 -0
  267. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  268. package/dist/types/src/templates/chess-bot.d.ts +14 -0
  269. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  270. package/dist/types/src/templates/commentary.d.ts +15 -0
  271. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  272. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  273. package/dist/types/src/templates/discord.d.ts.map +1 -1
  274. package/dist/types/src/templates/email.d.ts.map +1 -1
  275. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  276. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  277. package/dist/types/src/templates/forex.d.ts +5 -1
  278. package/dist/types/src/templates/forex.d.ts.map +1 -1
  279. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  280. package/dist/types/src/templates/index.d.ts +49 -1
  281. package/dist/types/src/templates/index.d.ts.map +1 -1
  282. package/dist/types/src/templates/ping.d.ts +4 -0
  283. package/dist/types/src/templates/ping.d.ts.map +1 -0
  284. package/dist/types/src/testing/index.d.ts +3 -0
  285. package/dist/types/src/testing/index.d.ts.map +1 -0
  286. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  287. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  288. package/dist/types/src/testing/test-notebook.d.ts +3 -0
  289. package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
  290. package/dist/types/src/testing/test-script.d.ts +7 -0
  291. package/dist/types/src/testing/test-script.d.ts.map +1 -0
  292. package/dist/types/src/translations.d.ts +222 -63
  293. package/dist/types/src/translations.d.ts.map +1 -1
  294. package/dist/types/src/types/Notebook.d.ts +101 -0
  295. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  296. package/dist/types/src/types/ScriptCapabilities.d.ts +6 -0
  297. package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -0
  298. package/dist/types/src/types/ScriptEvents.d.ts +3 -0
  299. package/dist/types/src/types/ScriptEvents.d.ts.map +1 -0
  300. package/dist/types/src/types/ScriptOperation.d.ts +29 -0
  301. package/dist/types/src/types/ScriptOperation.d.ts.map +1 -0
  302. package/dist/types/src/types/Settings.d.ts +7 -0
  303. package/dist/types/src/types/Settings.d.ts.map +1 -0
  304. package/dist/types/src/types/index.d.ts +6 -0
  305. package/dist/types/src/types/index.d.ts.map +1 -0
  306. package/dist/types/src/types/types.d.ts +2 -0
  307. package/dist/types/src/types/types.d.ts.map +1 -0
  308. package/dist/types/src/util/deploy.d.ts +7 -7
  309. package/dist/types/src/util/deploy.d.ts.map +1 -1
  310. package/dist/types/src/util/functions.d.ts +6 -3
  311. package/dist/types/src/util/functions.d.ts.map +1 -1
  312. package/dist/types/tsconfig.tsbuildinfo +1 -1
  313. package/package.json +191 -95
  314. package/src/ScriptPlugin.node.ts +21 -0
  315. package/src/ScriptPlugin.test.ts +31 -0
  316. package/src/ScriptPlugin.tsx +36 -81
  317. package/src/ScriptPlugin.workerd.ts +18 -0
  318. package/src/blueprints/functions/create.ts +47 -0
  319. package/src/blueprints/functions/definitions.ts +332 -0
  320. package/src/blueprints/functions/delete.ts +23 -0
  321. package/src/blueprints/functions/deploy.ts +71 -0
  322. package/src/blueprints/functions/index.ts +19 -0
  323. package/src/blueprints/functions/inspect-invocations.ts +56 -0
  324. package/src/blueprints/functions/install-function.ts +56 -0
  325. package/src/blueprints/functions/invoke.ts +34 -0
  326. package/src/blueprints/functions/query-deployed-functions.ts +35 -0
  327. package/src/blueprints/functions/read.ts +29 -0
  328. package/src/blueprints/functions/update.ts +68 -0
  329. package/src/blueprints/index.ts +5 -0
  330. package/src/blueprints/script-blueprint.ts +55 -0
  331. package/src/capabilities/app-graph-builder.ts +40 -57
  332. package/src/capabilities/blueprint-definition.ts +19 -0
  333. package/src/capabilities/compiler.ts +100 -22
  334. package/src/capabilities/create-object.ts +49 -0
  335. package/src/capabilities/index.ts +18 -9
  336. package/src/capabilities/node.ts +21 -0
  337. package/src/capabilities/operation-handler.ts +21 -0
  338. package/src/capabilities/react-surface.tsx +121 -80
  339. package/src/capabilities/settings.ts +26 -14
  340. package/src/compiler/compiler.ts +22 -4
  341. package/src/components/NotebookStack/NotebookCell.tsx +226 -0
  342. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  343. package/src/components/NotebookStack/NotebookStack.stories.tsx +53 -0
  344. package/src/components/NotebookStack/NotebookStack.tsx +97 -0
  345. package/src/components/NotebookStack/index.ts +6 -0
  346. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  347. package/src/components/QueryEditor/QueryEditor.tsx +49 -0
  348. package/src/components/QueryEditor/index.ts +5 -0
  349. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  350. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
  351. package/src/components/ScriptPluginSettings/index.ts +5 -0
  352. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +56 -17
  353. package/src/components/ScriptToolbar/ScriptToolbar.tsx +43 -41
  354. package/src/components/TestPanel/TestPanel.tsx +125 -185
  355. package/src/components/TestPanel/index.ts +0 -1
  356. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +89 -34
  357. package/src/components/TypescriptEditor/TypescriptEditor.tsx +88 -78
  358. package/src/components/index.ts +6 -5
  359. package/src/constants.ts +9 -0
  360. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +63 -0
  361. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  362. package/src/containers/DeploymentDialog/index.ts +5 -0
  363. package/src/containers/NotebookArticle/NotebookArticle.stories.tsx +85 -0
  364. package/src/containers/NotebookArticle/NotebookArticle.tsx +255 -0
  365. package/src/containers/NotebookArticle/index.ts +5 -0
  366. package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +107 -0
  367. package/src/containers/ScriptArticle/ScriptArticle.tsx +85 -0
  368. package/src/containers/ScriptArticle/index.ts +5 -0
  369. package/src/containers/ScriptProperties/BlueprintEditor.tsx +102 -0
  370. package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
  371. package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
  372. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +76 -0
  373. package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
  374. package/src/containers/ScriptProperties/index.ts +5 -0
  375. package/src/containers/TestContainer/TestContainer.tsx +44 -0
  376. package/src/containers/TestContainer/index.ts +5 -0
  377. package/src/containers/index.ts +11 -0
  378. package/src/e2e/ai.test.ts +93 -0
  379. package/src/e2e/deploy.test.ts +66 -0
  380. package/src/hooks/deploy.ts +54 -45
  381. package/src/hooks/format.ts +10 -5
  382. package/src/hooks/index.ts +1 -0
  383. package/src/hooks/template.ts +23 -25
  384. package/src/hooks/useCompiler.ts +25 -0
  385. package/src/hooks/useCreateAndDeployScriptTemplates.ts +16 -16
  386. package/src/hooks/useToolbarState.ts +29 -4
  387. package/src/index.ts +3 -4
  388. package/src/meta.ts +17 -9
  389. package/src/notebook/compute-graph.test.ts +82 -0
  390. package/src/notebook/compute-graph.ts +230 -0
  391. package/src/notebook/eval.ts +105 -0
  392. package/src/notebook/index.ts +5 -0
  393. package/src/notebook/vfs-parser.test.ts +149 -0
  394. package/src/notebook/vfs-parser.ts +458 -0
  395. package/src/operations/create-script.ts +46 -0
  396. package/src/operations/index.ts +7 -0
  397. package/src/plugin.ts +11 -0
  398. package/src/templates/anthropic.ts +50 -0
  399. package/src/templates/chess-bot.ts +63 -0
  400. package/src/templates/commentary.ts +252 -0
  401. package/src/templates/data-generator.ts +11 -5
  402. package/src/templates/discord.ts +18 -10
  403. package/src/templates/forex-effect.ts +36 -25
  404. package/src/templates/forex.ts +28 -15
  405. package/src/templates/gmail.ts +42 -72
  406. package/src/templates/index.ts +36 -28
  407. package/src/templates/ping.ts +26 -0
  408. package/src/testing/index.ts +6 -0
  409. package/src/testing/simulator.test.ts +39 -0
  410. package/src/testing/test-notebook.ts +71 -0
  411. package/src/testing/test-script.ts +28 -0
  412. package/src/translations.ts +93 -63
  413. package/src/types/Notebook.ts +39 -0
  414. package/src/types/ScriptCapabilities.ts +18 -0
  415. package/src/types/ScriptEvents.ts +11 -0
  416. package/src/types/ScriptOperation.ts +42 -0
  417. package/src/types/Settings.ts +20 -0
  418. package/src/types/index.ts +10 -0
  419. package/src/types/types.ts +5 -0
  420. package/src/util/deploy.ts +41 -62
  421. package/src/util/functions.ts +60 -26
  422. package/src/vite-env.d.ts +7 -0
  423. package/dist/lib/browser/DeploymentDialog-RIGSJM6A.mjs +0 -12
  424. package/dist/lib/browser/ScriptContainer-BAN4WZHG.mjs +0 -261
  425. package/dist/lib/browser/ScriptContainer-BAN4WZHG.mjs.map +0 -7
  426. package/dist/lib/browser/app-graph-builder-HLQ7K3BT.mjs +0 -64
  427. package/dist/lib/browser/app-graph-builder-HLQ7K3BT.mjs.map +0 -7
  428. package/dist/lib/browser/artifact-definition-KMBAZFRR.mjs +0 -249
  429. package/dist/lib/browser/artifact-definition-KMBAZFRR.mjs.map +0 -7
  430. package/dist/lib/browser/chunk-5TVBECWH.mjs +0 -15
  431. package/dist/lib/browser/chunk-5TVBECWH.mjs.map +0 -7
  432. package/dist/lib/browser/chunk-7CIKV2MG.mjs +0 -364
  433. package/dist/lib/browser/chunk-7CIKV2MG.mjs.map +0 -7
  434. package/dist/lib/browser/chunk-EEL5O3IC.mjs +0 -40
  435. package/dist/lib/browser/chunk-EEL5O3IC.mjs.map +0 -7
  436. package/dist/lib/browser/chunk-OORJVKHC.mjs +0 -233
  437. package/dist/lib/browser/chunk-OORJVKHC.mjs.map +0 -7
  438. package/dist/lib/browser/chunk-QHVTSNHD.mjs +0 -153
  439. package/dist/lib/browser/chunk-QHVTSNHD.mjs.map +0 -7
  440. package/dist/lib/browser/chunk-QYAREHGH.mjs +0 -28
  441. package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
  442. package/dist/lib/browser/chunk-QYLAH5AK.mjs +0 -557
  443. package/dist/lib/browser/chunk-QYLAH5AK.mjs.map +0 -7
  444. package/dist/lib/browser/compiler-CXCUA4UQ.mjs +0 -82
  445. package/dist/lib/browser/compiler-CXCUA4UQ.mjs.map +0 -7
  446. package/dist/lib/browser/index.mjs +0 -206
  447. package/dist/lib/browser/index.mjs.map +0 -7
  448. package/dist/lib/browser/intent-resolver-HQRUYTML.mjs +0 -90
  449. package/dist/lib/browser/intent-resolver-HQRUYTML.mjs.map +0 -7
  450. package/dist/lib/browser/meta.json +0 -1
  451. package/dist/lib/browser/react-surface-FNLARN5M.mjs +0 -105
  452. package/dist/lib/browser/react-surface-FNLARN5M.mjs.map +0 -7
  453. package/dist/lib/browser/settings-XU54CGQD.mjs +0 -24
  454. package/dist/lib/browser/settings-XU54CGQD.mjs.map +0 -7
  455. package/dist/lib/browser/types.mjs +0 -13
  456. package/dist/lib/node-esm/DeploymentDialog-6Z7JH3VO.mjs +0 -13
  457. package/dist/lib/node-esm/ScriptContainer-RB5CSIZ7.mjs +0 -262
  458. package/dist/lib/node-esm/ScriptContainer-RB5CSIZ7.mjs.map +0 -7
  459. package/dist/lib/node-esm/app-graph-builder-7EYIHWH4.mjs +0 -65
  460. package/dist/lib/node-esm/app-graph-builder-7EYIHWH4.mjs.map +0 -7
  461. package/dist/lib/node-esm/artifact-definition-EBLXG5AR.mjs +0 -250
  462. package/dist/lib/node-esm/artifact-definition-EBLXG5AR.mjs.map +0 -7
  463. package/dist/lib/node-esm/chunk-35M3CHYE.mjs +0 -16
  464. package/dist/lib/node-esm/chunk-35M3CHYE.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-ABAPR7VQ.mjs +0 -234
  466. package/dist/lib/node-esm/chunk-ABAPR7VQ.mjs.map +0 -7
  467. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs +0 -30
  468. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
  469. package/dist/lib/node-esm/chunk-HD6MDK3H.mjs +0 -558
  470. package/dist/lib/node-esm/chunk-HD6MDK3H.mjs.map +0 -7
  471. package/dist/lib/node-esm/chunk-ORZMINLO.mjs +0 -365
  472. package/dist/lib/node-esm/chunk-ORZMINLO.mjs.map +0 -7
  473. package/dist/lib/node-esm/chunk-OVSJYR6O.mjs +0 -41
  474. package/dist/lib/node-esm/chunk-OVSJYR6O.mjs.map +0 -7
  475. package/dist/lib/node-esm/chunk-YVJGDDNV.mjs +0 -154
  476. package/dist/lib/node-esm/chunk-YVJGDDNV.mjs.map +0 -7
  477. package/dist/lib/node-esm/compiler-EPFKQXPE.mjs +0 -83
  478. package/dist/lib/node-esm/compiler-EPFKQXPE.mjs.map +0 -7
  479. package/dist/lib/node-esm/index.mjs +0 -207
  480. package/dist/lib/node-esm/index.mjs.map +0 -7
  481. package/dist/lib/node-esm/intent-resolver-XLV6FPWH.mjs +0 -91
  482. package/dist/lib/node-esm/intent-resolver-XLV6FPWH.mjs.map +0 -7
  483. package/dist/lib/node-esm/meta.json +0 -1
  484. package/dist/lib/node-esm/react-surface-BTYC7MGG.mjs +0 -106
  485. package/dist/lib/node-esm/react-surface-BTYC7MGG.mjs.map +0 -7
  486. package/dist/lib/node-esm/settings-QCMDG2MZ.mjs +0 -25
  487. package/dist/lib/node-esm/settings-QCMDG2MZ.mjs.map +0 -7
  488. package/dist/lib/node-esm/types.mjs +0 -14
  489. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  490. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  491. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  492. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  493. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  494. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  495. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +0 -11
  496. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  497. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -18
  498. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  499. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  500. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  501. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +0 -12
  502. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  503. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  504. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  505. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  506. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  507. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  508. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  509. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  510. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  511. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  512. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  513. package/dist/types/src/components/Settings/index.d.ts +0 -3
  514. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  515. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  516. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  517. package/dist/types/src/events.d.ts +0 -4
  518. package/dist/types/src/events.d.ts.map +0 -1
  519. package/dist/types/src/templates/chat.d.ts +0 -6
  520. package/dist/types/src/templates/chat.d.ts.map +0 -1
  521. package/dist/types/src/templates/chess.d.ts +0 -3
  522. package/dist/types/src/templates/chess.d.ts.map +0 -1
  523. package/dist/types/src/templates/echo.d.ts +0 -6
  524. package/dist/types/src/templates/echo.d.ts.map +0 -1
  525. package/dist/types/src/types.d.ts +0 -40
  526. package/dist/types/src/types.d.ts.map +0 -1
  527. package/src/capabilities/artifact-definition.ts +0 -228
  528. package/src/capabilities/capabilities.ts +0 -12
  529. package/src/capabilities/intent-resolver.ts +0 -80
  530. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -39
  531. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -112
  532. package/src/components/DeploymentDialog/index.ts +0 -9
  533. package/src/components/FrameContainer/FrameContainer.tsx +0 -83
  534. package/src/components/FrameContainer/frame.html +0 -25
  535. package/src/components/FrameContainer/frame.tsx +0 -51
  536. package/src/components/FrameContainer/index.ts +0 -5
  537. package/src/components/ScriptContainer.tsx +0 -67
  538. package/src/components/Settings/ScriptObjectSettings.tsx +0 -206
  539. package/src/components/Settings/ScriptPluginSettings.tsx +0 -71
  540. package/src/components/Settings/index.ts +0 -6
  541. package/src/components/TestPanel/TestContainer.tsx +0 -26
  542. package/src/events.ts +0 -11
  543. package/src/templates/chat.ts +0 -96
  544. package/src/templates/chess.ts +0 -47
  545. package/src/templates/echo.ts +0 -8
  546. package/src/types.ts +0 -42
  547. /package/dist/lib/{browser/DeploymentDialog-RIGSJM6A.mjs.map → neutral/blueprints/index.mjs.map} +0 -0
  548. /package/dist/lib/{browser/types.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  549. /package/dist/lib/{node-esm/DeploymentDialog-6Z7JH3VO.mjs.map → neutral/index.mjs.map} +0 -0
  550. /package/dist/lib/{node-esm/types.mjs.map → neutral/meta.mjs.map} +0 -0
@@ -3,20 +3,32 @@
3
3
  //
4
4
 
5
5
  // @ts-ignore
6
- import { create, defineFunction, EchoObject, Filter, ObjectId, S } from 'dxos:functions';
6
+ import { EchoObject, Filter, EntityId, S, create, defineFunction } from 'dxos:functions';
7
7
  // @ts-ignore
8
8
  import {
9
+ FetchHttpClient,
9
10
  HttpClient,
10
11
  HttpClientRequest,
11
- FetchHttpClient,
12
12
  // @ts-ignore
13
- } from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';
13
+ } from 'https://esm.sh/@effect/platform@0.89.0?deps=effect@3.17.0&bundle=false';
14
14
  // @ts-ignore
15
15
  import { format, subDays } from 'https://esm.sh/date-fns@3.3.1?bundle=false';
16
16
  // @ts-ignore
17
- import { pipe, Chunk, Effect, Ref, Schedule, Stream } from 'https://esm.sh/effect@3.14.21?bundle=false';
17
+ import * as Chunk from 'https://esm.sh/effect@3.17.0/Chunk?bundle=false';
18
+ // @ts-ignore
19
+ import * as Effect from 'https://esm.sh/effect@3.17.0/Effect?bundle=false';
20
+ // @ts-ignore
21
+ import * as Function from 'https://esm.sh/effect@3.17.0/Function?bundle=false';
22
+ // @ts-ignore
23
+ import * as Ref from 'https://esm.sh/effect@3.17.0/Ref?bundle=false';
24
+ // @ts-ignore
25
+ import * as Schedule from 'https://esm.sh/effect@3.17.0/Schedule?bundle=false';
26
+ // @ts-ignore
27
+ import * as Stream from 'https://esm.sh/effect@3.17.0/Stream?bundle=false';
18
28
 
19
29
  export default defineFunction({
30
+ key: 'org.dxos.script.gmail',
31
+ name: 'Gmail',
20
32
  inputSchema: S.Struct({
21
33
  mailboxId: S.String,
22
34
  userId: S.optional(S.String).pipe(S.withDecodingDefault(() => 'me')),
@@ -35,13 +47,13 @@ export default defineFunction({
35
47
  handler: ({ context: { space }, data: { mailboxId, userId, after, pageSize } }: any) =>
36
48
  Effect.gen(function* () {
37
49
  const { token } = yield* Effect.tryPromise({
38
- try: () => space.db.query(Filter.typename('dxos.org/type/AccessToken', { source: 'gmail.com' })).first(),
50
+ try: () => space.db.query(Filter.typename('org.dxos.type.accessToken', { source: 'gmail.com' })).first(),
39
51
  catch: (e: any) => e,
40
52
  });
41
53
 
42
54
  // NOTE: Google API bundles size is v. large and caused runtime issues.
43
55
  const makeRequest = (url: string) =>
44
- pipe(
56
+ Function.pipe(
45
57
  url,
46
58
  HttpClientRequest.get,
47
59
  HttpClientRequest.setHeaders({ Authorization: `Bearer ${token}`, Accept: 'application/json' }),
@@ -62,7 +74,7 @@ export default defineFunction({
62
74
  catch: (e: any) => e,
63
75
  });
64
76
  const { objects } = yield* Effect.tryPromise({
65
- try: () => space.queues.queryQueue(mailbox.queue.dxn),
77
+ try: () => space.queues.queryQueue(mailbox.queue.uri),
66
78
  catch: (e: any) => e,
67
79
  });
68
80
  const newMessages = yield* Ref.make([]);
@@ -80,7 +92,7 @@ export default defineFunction({
80
92
  const messageDetails = yield* getMessage(userId, message.id);
81
93
  const created = new Date(parseInt(messageDetails.internalDate)).toISOString();
82
94
  const from = messageDetails.payload.headers.find((h: any) => h.name === 'From');
83
- const sender = from && parseEmailString(from.value);
95
+ const sender = from && parseFromHeader(from.value);
84
96
  // TODO(wittjosiah): Improve parsing of email contents.
85
97
  const content =
86
98
  messageDetails.payload.body?.data ??
@@ -93,12 +105,12 @@ export default defineFunction({
93
105
  }
94
106
  const subject = messageDetails.payload.headers.find((h: any) => h.name === 'Subject')?.value;
95
107
  const object = create(MessageType, {
96
- id: ObjectId.random(),
108
+ id: EntityId.random(),
97
109
  created,
98
110
  sender,
99
111
  blocks: [
100
112
  {
101
- type: 'text',
113
+ _tag: 'text',
102
114
  text: Buffer.from(content, 'base64').toString('utf-8'),
103
115
  },
104
116
  ],
@@ -114,13 +126,13 @@ export default defineFunction({
114
126
 
115
127
  const queueMessages = yield* Ref.get(newMessages);
116
128
  if (queueMessages.length > 0) {
117
- yield* pipe(
129
+ yield* Function.pipe(
118
130
  queueMessages,
119
131
  Stream.fromIterable,
120
132
  Stream.grouped(10),
121
133
  Stream.flatMap((batch: any) =>
122
134
  Effect.tryPromise({
123
- try: () => space.queues.insertIntoQueue(mailbox.queue.dxn, Chunk.toReadonlyArray(batch)),
135
+ try: () => space.queues.insertIntoQueue(mailbox.queue.uri, Chunk.toReadonlyArray(batch)),
124
136
  catch: (e: any) => e,
125
137
  }),
126
138
  ),
@@ -145,26 +157,25 @@ const getUrl = (userId: string, messageId?: string, params?: Record<string, any>
145
157
  /**
146
158
  * Parses an email string in the format "Name <email@example.com>" into separate name and email components.
147
159
  */
148
- const parseEmailString = (emailString: string): { name?: string; email: string } | undefined => {
149
- const match = emailString.match(/^([^<]+?)\s*<([^>]+@[^>]+)>$/);
160
+ const parseFromHeader = (value: string): { name?: string; email: string } | undefined => {
161
+ const EMAIL_REGEX = /^([^<]+?)\s*<([^>]+@[^>]+)>$/;
162
+ const removeOuterQuotes = (str: string) => str.replace(/^['"]|['"]$/g, '');
163
+ const match = value.match(EMAIL_REGEX);
150
164
  if (match) {
151
165
  const [, name, email] = match;
152
166
  return {
153
- name: name.trim(),
167
+ name: removeOuterQuotes(name.trim()),
154
168
  email: email.trim(),
155
169
  };
156
170
  }
157
-
158
- return undefined;
159
171
  };
160
172
 
161
173
  //
162
174
  // Schemas
163
- // TODO(wittjosiah): These schemas should be imported from @dxos/S.
175
+ // TODO(wittjosiah): These schemas should be imported from @dxos/schema.
164
176
  //
165
177
 
166
- const ActorRoles = ['user', 'assistant'] as const;
167
- const ActorRole = S.Literal(...ActorRoles);
178
+ const ActorRole = S.Literal('user', 'assistant');
168
179
  type ActorRole = S.Schema.Type<typeof ActorRole>;
169
180
 
170
181
  const ActorSchema = S.Struct({
@@ -174,67 +185,26 @@ const ActorSchema = S.Struct({
174
185
  role: S.optional(ActorRole),
175
186
  });
176
187
 
177
- const AbstractContentBlock = S.Struct({
188
+ const Base = S.Struct({
178
189
  pending: S.optional(S.Boolean),
179
190
  });
180
- type AbstractContentBlock = S.Schema.Type<typeof AbstractContentBlock>;
181
- const TextContentBlock = S.extend(
182
- AbstractContentBlock,
183
- S.Struct({
184
- type: S.Literal('text'),
185
- disposition: S.optional(S.String),
186
- text: S.String,
187
- }),
188
- ).pipe(S.mutable);
189
- type TextContentBlock = S.Schema.Type<typeof TextContentBlock>;
190
- const JsonContentBlock = S.extend(
191
- AbstractContentBlock,
192
- S.Struct({
193
- type: S.Literal('json'),
194
- disposition: S.optional(S.String),
195
- data: S.String,
196
- }),
197
- ).pipe(S.mutable);
198
- type JsonContentBlock = S.Schema.Type<typeof JsonContentBlock>;
199
- const Base64ImageSource = S.Struct({
200
- type: S.Literal('base64'),
201
- mediaType: S.String,
202
- data: S.String,
191
+ type Base = S.Schema.Type<typeof Base>;
192
+ const Text = S.TaggedStruct('text', {
193
+ mimeType: S.optional(S.String),
194
+ text: S.String,
195
+ ...Base.fields,
203
196
  }).pipe(S.mutable);
204
- const HttpImageSource = S.Struct({
205
- type: S.Literal('http'),
206
- url: S.String,
207
- }).pipe(S.mutable);
208
- const ImageSource = S.Union(Base64ImageSource, HttpImageSource);
209
- type ImageSource = S.Schema.Type<typeof ImageSource>;
210
- const ImageContentBlock = S.extend(
211
- AbstractContentBlock,
212
- S.Struct({
213
- type: S.Literal('image'),
214
- id: S.optional(S.String),
215
- source: S.optional(ImageSource),
216
- }),
217
- ).pipe(S.mutable);
218
- type ImageContentBlock = S.Schema.Type<typeof ImageContentBlock>;
219
- const ReferenceContentBlock = S.extend(
220
- AbstractContentBlock,
221
- S.Struct({
222
- type: S.Literal('reference'),
223
- reference: S.Any,
224
- }),
225
- ).pipe(S.mutable);
226
- type ReferenceContentBlock = S.Schema.Type<typeof ReferenceContentBlock>;
227
- const MessageContentBlock = S.Union(TextContentBlock, JsonContentBlock, ImageContentBlock, ReferenceContentBlock);
197
+ interface Text extends S.Schema.Type<typeof Text> {}
228
198
 
229
199
  const MessageType = S.Struct({
230
- id: ObjectId,
200
+ id: EntityId,
231
201
  created: S.String.annotations({
232
202
  description: 'ISO date string when the message was sent.',
233
203
  }),
234
204
  sender: ActorSchema.annotations({
235
205
  description: 'Identity of the message sender.',
236
206
  }),
237
- blocks: S.Array(MessageContentBlock).annotations({
207
+ blocks: S.Array(Text).annotations({
238
208
  description: 'Contents of the message.',
239
209
  }),
240
210
  properties: S.optional(
@@ -246,8 +216,8 @@ const MessageType = S.Struct({
246
216
  ),
247
217
  }).pipe(
248
218
  EchoObject({
249
- typename: 'dxos.org/type/Message',
250
- version: '0.2.0',
219
+ typename: 'org.dxos.type.message',
220
+ version: '0.1.0',
251
221
  }),
252
222
  );
253
223
  type MessageType = S.Schema.Type<typeof MessageType>;
@@ -2,18 +2,21 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- import chat from './chat.ts?raw';
6
- import chess from './chess.ts?raw';
5
+ import anthropic from './anthropic.ts?raw';
6
+ import chessBot from './chess-bot.ts?raw';
7
+ import commentary from './commentary.ts?raw';
7
8
  import dataGenerator from './data-generator.ts?raw';
8
9
  import discord from './discord.ts?raw';
9
- import echo from './echo.ts?raw';
10
10
  import email from './email.ts?raw';
11
11
  import forexEffect from './forex-effect.ts?raw';
12
12
  import forex from './forex.ts?raw';
13
13
  import gmail from './gmail.ts?raw';
14
+ import ping from './ping.ts?raw';
14
15
 
15
16
  const removeHeader = (str: string) => str.split('\n').slice(4).join('\n');
16
17
 
18
+ export { dataGenerator };
19
+
17
20
  export type Template = {
18
21
  id: string;
19
22
  name: string;
@@ -21,56 +24,61 @@ export type Template = {
21
24
  presetId?: string;
22
25
  };
23
26
 
24
- export const templates: Template[] = [
27
+ export const templates = [
25
28
  {
26
- id: 'dxos.org/script/echo',
27
- name: 'Echo',
28
- source: removeHeader(echo),
29
+ id: 'org.dxos.script.ping',
30
+ name: 'Ping',
31
+ source: removeHeader(ping),
29
32
  },
30
33
  {
31
- id: 'dxos.org/script/forex',
34
+ id: 'org.dxos.script.forex',
32
35
  name: 'Forex',
33
36
  source: removeHeader(forex),
34
37
  },
35
38
  {
36
- id: 'dxos.org/script/forex-effect',
39
+ id: 'org.dxos.script.forex-effect',
37
40
  name: 'Forex (Effect)',
38
41
  source: removeHeader(forexEffect),
39
42
  },
40
43
  {
41
- id: 'dxos.org/script/gpt',
42
- name: 'Gpt',
43
- source: removeHeader(chat),
44
- presetId: 'dxos.org/function/gpt',
45
- },
46
- {
47
- id: 'dxos.org/script/chess',
48
- name: 'Chess',
49
- source: removeHeader(chess),
50
- presetId: 'dxos.org/function/chess',
44
+ id: 'org.dxos.script.chess-bot',
45
+ name: 'Chess Bot',
46
+ source: removeHeader(chessBot),
47
+ presetId: 'org.dxos.function.chess-bot',
51
48
  },
52
49
  {
53
- id: 'dxos.org/script/email',
50
+ id: 'org.dxos.script.email',
54
51
  name: 'Email',
55
52
  source: removeHeader(email),
56
- presetId: 'dxos.org/function/email',
53
+ presetId: 'org.dxos.function.email',
57
54
  },
58
55
  {
59
- id: 'dxos.org/script/discord',
56
+ id: 'org.dxos.script.discord',
60
57
  name: 'Discord',
61
58
  source: removeHeader(discord),
62
- presetId: 'dxos.org/function/discord',
59
+ presetId: 'org.dxos.function.discord',
63
60
  },
64
61
  {
65
- id: 'dxos.org/script/gmail',
62
+ id: 'org.dxos.script.gmail',
66
63
  name: 'Gmail',
67
64
  source: removeHeader(gmail),
68
- presetId: 'dxos.org/function/gmail',
65
+ presetId: 'org.dxos.function.gmail',
69
66
  },
70
67
  {
71
- id: 'dxos.org/script/data-generator',
68
+ id: 'org.dxos.script.data-generator',
72
69
  name: 'Data Generator',
73
70
  source: removeHeader(dataGenerator),
74
- presetId: 'dxos.org/function/data-generator',
71
+ presetId: 'org.dxos.function.data-generator',
72
+ },
73
+ {
74
+ id: 'org.dxos.script.anthropic',
75
+ name: 'Anthropic',
76
+ source: removeHeader(anthropic),
77
+ },
78
+ {
79
+ id: 'org.dxos.script.commentary',
80
+ name: 'Commentary',
81
+ source: removeHeader(commentary),
82
+ presetId: 'org.dxos.function.chess.commentary',
75
83
  },
76
- ];
84
+ ] as const;
@@ -0,0 +1,26 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Schema from 'effect/Schema';
7
+
8
+ import { Operation } from '@dxos/compute';
9
+ import { DXN } from '@dxos/keys';
10
+
11
+ const Ping = Operation.make({
12
+ meta: {
13
+ key: DXN.make('org.dxos.script.ping'),
14
+ name: 'Ping',
15
+ },
16
+ input: Schema.Any,
17
+ output: Schema.Any,
18
+ });
19
+
20
+ export default Ping.pipe(
21
+ Operation.withHandler(
22
+ Effect.fn(function* (data) {
23
+ return data;
24
+ }),
25
+ ),
26
+ );
@@ -0,0 +1,6 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ export * from './test-script';
6
+ export * from './test-notebook';
@@ -0,0 +1,39 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Record from 'effect/Record';
6
+ import { readFile } from 'node:fs/promises';
7
+ import { describe, expect, test } from 'vitest';
8
+
9
+ import { bundleFunction } from '@dxos/functions-runtime/bundler';
10
+ import { FunctionWorker } from '@dxos/functions-simulator-cloudflare';
11
+ import { ErrorCodec } from '@dxos/protocols';
12
+
13
+ // Requires downloading assets from R2.
14
+ describe('Run script in sumulator', { tags: ['functions-e2e'] }, () => {
15
+ test('forex-effect', { timeout: 120_000 }, async () => {
16
+ const source = await readFile(new URL('../templates/forex-effect.ts', import.meta.url), 'utf-8');
17
+
18
+ // Bundle and upload.
19
+ const buildResult = await bundleFunction({ source });
20
+ if ('error' in buildResult) {
21
+ throw buildResult.error ?? new Error('Bundle creation failed');
22
+ }
23
+
24
+ const worker = new FunctionWorker({
25
+ mainModule: buildResult.entryPoint,
26
+ modules: Record.map(buildResult.assets, (contents, filename) => ({
27
+ contents: contents as Uint8Array<ArrayBuffer>,
28
+ contentType: filename.endsWith('.wasm') ? 'application/wasm' : 'application/javascript',
29
+ })),
30
+ });
31
+
32
+ const result = await worker.invoke({ from: 'USD', to: 'EUR' });
33
+ console.log(result);
34
+ if (result._kind === 'error') {
35
+ throw ErrorCodec.decode(result.error);
36
+ }
37
+ expect(Number(result.result)).toBeGreaterThan(0);
38
+ });
39
+ });
@@ -0,0 +1,71 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Routine } from '@dxos/compute';
6
+ import { Ref, Type } from '@dxos/echo';
7
+ import { createObject } from '@dxos/echo-client';
8
+ import { PublicKey } from '@dxos/keys';
9
+ import { Markdown } from '@dxos/plugin-markdown';
10
+ import { Text } from '@dxos/schema';
11
+
12
+ import { Notebook } from '#types';
13
+
14
+ // TODO(burdon): NOTE: createObject is required for tests.
15
+ export const createNotebook = (): Notebook.Notebook =>
16
+ Notebook.make({
17
+ cells: [
18
+ {
19
+ id: PublicKey.random().toString(),
20
+ type: 'script',
21
+ source: Ref.make(createObject(Text.make({ content: 'c = a() + b' }))),
22
+ },
23
+ {
24
+ id: PublicKey.random().toString(),
25
+ type: 'script',
26
+ source: Ref.make(createObject(Text.make({ content: 'a = () => 100' }))),
27
+ },
28
+ {
29
+ id: PublicKey.random().toString(),
30
+ type: 'script',
31
+ source: Ref.make(createObject(Text.make({ content: 'b = 200' }))),
32
+ },
33
+ {
34
+ id: PublicKey.random().toString(),
35
+ type: 'script',
36
+ source: Ref.make(createObject(Text.make({ content: 'd = a() * 2' }))),
37
+ },
38
+ {
39
+ id: PublicKey.random().toString(),
40
+ type: 'script',
41
+ source: Ref.make(createObject(Text.make({ content: 'c + d' }))),
42
+ },
43
+ {
44
+ id: PublicKey.random().toString(),
45
+ type: 'prompt',
46
+ prompt: Ref.make(
47
+ createObject(
48
+ Routine.make({
49
+ instructions: 'Very briefly, what colors are associated with the numbers {{a}} and {{b}}.',
50
+ }),
51
+ ),
52
+ ),
53
+ },
54
+ {
55
+ id: PublicKey.random().toString(),
56
+ type: 'query',
57
+ source: Ref.make(createObject(Text.make({ content: `docs = (type: ${Type.getTypename(Markdown.Document)})` }))),
58
+ },
59
+ {
60
+ id: PublicKey.random().toString(),
61
+ type: 'prompt',
62
+ prompt: Ref.make(
63
+ createObject(
64
+ Routine.make({
65
+ instructions: 'Very briefly, summarize the documents: {{docs}}',
66
+ }),
67
+ ),
68
+ ),
69
+ },
70
+ ],
71
+ });
@@ -0,0 +1,28 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { Script, Operation } from '@dxos/compute';
6
+ import { Obj, Ref } from '@dxos/echo';
7
+ import { type Space } from '@dxos/react-client/echo';
8
+
9
+ /**
10
+ * Seeds a script and linked persistent operation for Storybook stories.
11
+ */
12
+ export const createScript = (space: Space): Script.Script => {
13
+ const script = Script.make({
14
+ name: 'Test',
15
+ source: 'export default () => 42;',
16
+ });
17
+
18
+ space.db.add(script);
19
+ space.db.add(
20
+ Obj.make(Operation.PersistentOperation, {
21
+ [Obj.Meta]: { key: 'org.dxos.script.story-fn', version: '0.1.0' },
22
+ name: 'Test',
23
+ source: Ref.make(script),
24
+ }),
25
+ );
26
+
27
+ return script;
28
+ };