@dxos/plugin-script 0.8.4-main.ae835ea → 0.8.4-main.bcb3aa67d6

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 (510) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-WUND47NK.mjs +115 -0
  3. package/dist/lib/browser/DeploymentDialog-WUND47NK.mjs.map +7 -0
  4. package/dist/lib/browser/{NotebookContainer-C36N7AFF.mjs → NotebookContainer-TGHMYWWK.mjs} +275 -254
  5. package/dist/lib/browser/NotebookContainer-TGHMYWWK.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-BOCXMLNN.mjs +82 -0
  7. package/dist/lib/browser/ScriptContainer-BOCXMLNN.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-QKJFTSLS.mjs +295 -0
  9. package/dist/lib/browser/ScriptObjectSettings-QKJFTSLS.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-AMWZF7LZ.mjs +47 -0
  11. package/dist/lib/browser/ScriptPluginSettings-AMWZF7LZ.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-VBOIIRJJ.mjs +26 -0
  13. package/dist/lib/browser/ScriptProperties-VBOIIRJJ.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-5VNOC6I3.mjs +50 -0
  15. package/dist/lib/browser/TestContainer-5VNOC6I3.mjs.map +7 -0
  16. package/dist/lib/browser/access-token-created-XR7LB2XV.mjs +37 -0
  17. package/dist/lib/browser/access-token-created-XR7LB2XV.mjs.map +7 -0
  18. package/dist/lib/browser/blueprints/index.mjs +58 -0
  19. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-AE5EX2VP.mjs +78 -0
  21. package/dist/lib/browser/chunk-AE5EX2VP.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-DL37UOJE.mjs +105 -0
  23. package/dist/lib/browser/chunk-DL37UOJE.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-TXVJW26E.mjs +50 -0
  25. package/dist/lib/browser/chunk-TXVJW26E.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-ZLF66W2O.mjs +337 -0
  27. package/dist/lib/browser/chunk-ZLF66W2O.mjs.map +7 -0
  28. package/dist/lib/browser/create-V3MRNIUS.mjs +45 -0
  29. package/dist/lib/browser/create-V3MRNIUS.mjs.map +7 -0
  30. package/dist/lib/browser/create-script-IEY3HJ33.mjs +46 -0
  31. package/dist/lib/browser/create-script-IEY3HJ33.mjs.map +7 -0
  32. package/dist/lib/browser/delete-7QKDZ2QS.mjs +21 -0
  33. package/dist/lib/browser/delete-7QKDZ2QS.mjs.map +7 -0
  34. package/dist/lib/browser/deploy-SM2V6SNL.mjs +65 -0
  35. package/dist/lib/browser/deploy-SM2V6SNL.mjs.map +7 -0
  36. package/dist/lib/browser/index.mjs +1179 -232
  37. package/dist/lib/browser/index.mjs.map +4 -4
  38. package/dist/lib/browser/inspect-invocations-L4GAXXT3.mjs +55 -0
  39. package/dist/lib/browser/inspect-invocations-L4GAXXT3.mjs.map +7 -0
  40. package/dist/lib/browser/install-function-YDAA5EB6.mjs +54 -0
  41. package/dist/lib/browser/install-function-YDAA5EB6.mjs.map +7 -0
  42. package/dist/lib/browser/invoke-OKJMYOZB.mjs +36 -0
  43. package/dist/lib/browser/invoke-OKJMYOZB.mjs.map +7 -0
  44. package/dist/lib/browser/meta.json +1 -1
  45. package/dist/lib/browser/operations/index.mjs +14 -0
  46. package/dist/lib/browser/operations/index.mjs.map +7 -0
  47. package/dist/lib/browser/query-deployed-functions-L3SIQHB5.mjs +33 -0
  48. package/dist/lib/browser/query-deployed-functions-L3SIQHB5.mjs.map +7 -0
  49. package/dist/lib/browser/read-YL7TNJC7.mjs +26 -0
  50. package/dist/lib/browser/read-YL7TNJC7.mjs.map +7 -0
  51. package/dist/lib/browser/templates/index.mjs +1 -1
  52. package/dist/lib/browser/types/index.mjs +7 -7
  53. package/dist/lib/browser/update-4RC6QH62.mjs +63 -0
  54. package/dist/lib/browser/update-4RC6QH62.mjs.map +7 -0
  55. package/dist/lib/node-esm/DeploymentDialog-XMR2CKP6.mjs +116 -0
  56. package/dist/lib/node-esm/DeploymentDialog-XMR2CKP6.mjs.map +7 -0
  57. package/dist/lib/node-esm/{NotebookContainer-FOVFGJQR.mjs → NotebookContainer-YUVZF6IS.mjs} +275 -254
  58. package/dist/lib/node-esm/NotebookContainer-YUVZF6IS.mjs.map +7 -0
  59. package/dist/lib/node-esm/ScriptContainer-G4D2YSFE.mjs +83 -0
  60. package/dist/lib/node-esm/ScriptContainer-G4D2YSFE.mjs.map +7 -0
  61. package/dist/lib/node-esm/ScriptObjectSettings-XIOE66BL.mjs +296 -0
  62. package/dist/lib/node-esm/ScriptObjectSettings-XIOE66BL.mjs.map +7 -0
  63. package/dist/lib/node-esm/ScriptPluginSettings-SDWEDLUU.mjs +48 -0
  64. package/dist/lib/node-esm/ScriptPluginSettings-SDWEDLUU.mjs.map +7 -0
  65. package/dist/lib/node-esm/ScriptProperties-5H2Z4XRF.mjs +27 -0
  66. package/dist/lib/node-esm/ScriptProperties-5H2Z4XRF.mjs.map +7 -0
  67. package/dist/lib/node-esm/TestContainer-SEFC4F2O.mjs +51 -0
  68. package/dist/lib/node-esm/TestContainer-SEFC4F2O.mjs.map +7 -0
  69. package/dist/lib/node-esm/access-token-created-AZEUHFPA.mjs +38 -0
  70. package/dist/lib/node-esm/access-token-created-AZEUHFPA.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprints/index.mjs +59 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-ELIPYPNQ.mjs +79 -0
  74. package/dist/lib/node-esm/chunk-ELIPYPNQ.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-QZMVI6AH.mjs +339 -0
  76. package/dist/lib/node-esm/chunk-QZMVI6AH.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-U2LUPXPK.mjs +51 -0
  78. package/dist/lib/node-esm/chunk-U2LUPXPK.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-ZLTGO4XB.mjs +107 -0
  80. package/dist/lib/node-esm/chunk-ZLTGO4XB.mjs.map +7 -0
  81. package/dist/lib/node-esm/create-XQAER3WF.mjs +46 -0
  82. package/dist/lib/node-esm/create-XQAER3WF.mjs.map +7 -0
  83. package/dist/lib/node-esm/create-script-2CGVQ3AU.mjs +47 -0
  84. package/dist/lib/node-esm/create-script-2CGVQ3AU.mjs.map +7 -0
  85. package/dist/lib/node-esm/delete-JA2S3K6Z.mjs +22 -0
  86. package/dist/lib/node-esm/delete-JA2S3K6Z.mjs.map +7 -0
  87. package/dist/lib/node-esm/deploy-FILYYRWE.mjs +66 -0
  88. package/dist/lib/node-esm/deploy-FILYYRWE.mjs.map +7 -0
  89. package/dist/lib/node-esm/index.mjs +1179 -232
  90. package/dist/lib/node-esm/index.mjs.map +4 -4
  91. package/dist/lib/node-esm/inspect-invocations-PLSHQCFM.mjs +56 -0
  92. package/dist/lib/node-esm/inspect-invocations-PLSHQCFM.mjs.map +7 -0
  93. package/dist/lib/node-esm/install-function-4TVXEWYF.mjs +55 -0
  94. package/dist/lib/node-esm/install-function-4TVXEWYF.mjs.map +7 -0
  95. package/dist/lib/node-esm/invoke-J4Z7CS44.mjs +37 -0
  96. package/dist/lib/node-esm/invoke-J4Z7CS44.mjs.map +7 -0
  97. package/dist/lib/node-esm/meta.json +1 -1
  98. package/dist/lib/node-esm/operations/index.mjs +15 -0
  99. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  100. package/dist/lib/node-esm/query-deployed-functions-JBYIJGLW.mjs +34 -0
  101. package/dist/lib/node-esm/query-deployed-functions-JBYIJGLW.mjs.map +7 -0
  102. package/dist/lib/node-esm/read-HDE5XOGZ.mjs +27 -0
  103. package/dist/lib/node-esm/read-HDE5XOGZ.mjs.map +7 -0
  104. package/dist/lib/node-esm/templates/index.mjs +1 -1
  105. package/dist/lib/node-esm/types/index.mjs +7 -7
  106. package/dist/lib/node-esm/update-6O53SY6U.mjs +64 -0
  107. package/dist/lib/node-esm/update-6O53SY6U.mjs.map +7 -0
  108. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  109. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  110. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  111. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/functions/definitions.d.ts +142 -0
  113. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/functions/delete.d.ts +18 -0
  115. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/functions/deploy.d.ts +22 -0
  117. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  119. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +30 -0
  121. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  123. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/functions/invoke.d.ts +22 -0
  125. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  127. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  128. package/dist/types/src/blueprints/functions/read.d.ts +22 -0
  129. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/functions/update.d.ts +27 -0
  131. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  132. package/dist/types/src/blueprints/index.d.ts +2 -0
  133. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  134. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  135. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  137. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  138. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  139. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  141. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  142. package/dist/types/src/capabilities/compiler.d.ts +3 -1
  143. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  144. package/dist/types/src/capabilities/index.d.ts +12 -7
  145. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  146. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  147. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  149. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/settings.d.ts +8 -2
  151. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  152. package/dist/types/src/compiler/compiler.d.ts +1 -1
  153. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  154. package/dist/types/src/components/FramePanel/FramePanel.d.ts +12 -0
  155. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  156. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  157. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  158. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +4 -4
  159. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  160. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  161. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  162. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +9 -3
  163. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  164. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +242 -226
  165. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  166. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  167. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  168. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  169. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  170. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  171. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  172. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  173. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  174. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +262 -0
  175. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  176. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +3 -0
  177. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  178. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +11 -5
  179. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  180. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +242 -226
  181. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  182. package/dist/types/src/components/TestPanel/TestPanel.d.ts +8 -2
  183. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  184. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  185. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  186. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +9 -2
  187. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  188. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +7 -1
  189. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  190. package/dist/types/src/components/index.d.ts +6 -5
  191. package/dist/types/src/components/index.d.ts.map +1 -1
  192. package/dist/types/src/constants.d.ts +2 -0
  193. package/dist/types/src/constants.d.ts.map +1 -0
  194. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
  195. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  196. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +261 -0
  197. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  198. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  199. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  200. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  201. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  202. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  203. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  204. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  205. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  206. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  207. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  209. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  210. package/dist/types/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.d.ts +0 -1
  211. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  212. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  213. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  215. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  217. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  218. package/dist/types/src/{components/TestPanel → containers/TestContainer}/TestContainer.d.ts +1 -1
  219. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  220. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  221. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  222. package/dist/types/src/containers/index.d.ts +8 -0
  223. package/dist/types/src/containers/index.d.ts.map +1 -0
  224. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  225. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  226. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  227. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  228. package/dist/types/src/hooks/deploy.d.ts +25 -26
  229. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  230. package/dist/types/src/hooks/format.d.ts +3 -2
  231. package/dist/types/src/hooks/format.d.ts.map +1 -1
  232. package/dist/types/src/hooks/index.d.ts +1 -0
  233. package/dist/types/src/hooks/index.d.ts.map +1 -1
  234. package/dist/types/src/hooks/template.d.ts +3 -2
  235. package/dist/types/src/hooks/template.d.ts.map +1 -1
  236. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  237. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  238. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  239. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  240. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  241. package/dist/types/src/index.d.ts +2 -1
  242. package/dist/types/src/index.d.ts.map +1 -1
  243. package/dist/types/src/meta.d.ts +2 -2
  244. package/dist/types/src/meta.d.ts.map +1 -1
  245. package/dist/types/src/notebook/compute-graph.d.ts +25 -12
  246. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  247. package/dist/types/src/operations/access-token-created.d.ts +5 -0
  248. package/dist/types/src/operations/access-token-created.d.ts.map +1 -0
  249. package/dist/types/src/operations/create-script.d.ts +5 -0
  250. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  251. package/dist/types/src/operations/definitions.d.ts +29 -0
  252. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  253. package/dist/types/src/operations/index.d.ts +4 -0
  254. package/dist/types/src/operations/index.d.ts.map +1 -0
  255. package/dist/types/src/templates/anthropic.d.ts +7 -0
  256. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  257. package/dist/types/src/templates/chess-bot.d.ts +18 -0
  258. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  259. package/dist/types/src/templates/commentary.d.ts +19 -0
  260. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  261. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  262. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  263. package/dist/types/src/templates/forex.d.ts +5 -1
  264. package/dist/types/src/templates/forex.d.ts.map +1 -1
  265. package/dist/types/src/templates/index.d.ts +25 -16
  266. package/dist/types/src/templates/index.d.ts.map +1 -1
  267. package/dist/types/src/templates/ping.d.ts +2 -4
  268. package/dist/types/src/templates/ping.d.ts.map +1 -1
  269. package/dist/types/src/testing/data.d.ts +1 -1
  270. package/dist/types/src/testing/data.d.ts.map +1 -1
  271. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  272. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  273. package/dist/types/src/translations.d.ts +91 -84
  274. package/dist/types/src/translations.d.ts.map +1 -1
  275. package/dist/types/src/types/Notebook.d.ts +108 -23
  276. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  277. package/dist/types/src/types/Settings.d.ts +6 -0
  278. package/dist/types/src/types/Settings.d.ts.map +1 -0
  279. package/dist/types/src/types/capabilities.d.ts +12 -0
  280. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  281. package/dist/types/src/types/events.d.ts +5 -0
  282. package/dist/types/src/types/events.d.ts.map +1 -0
  283. package/dist/types/src/types/index.d.ts +2 -1
  284. package/dist/types/src/types/index.d.ts.map +1 -1
  285. package/dist/types/src/types/types.d.ts +1 -5
  286. package/dist/types/src/types/types.d.ts.map +1 -1
  287. package/dist/types/src/util/deploy.d.ts +3 -2
  288. package/dist/types/src/util/deploy.d.ts.map +1 -1
  289. package/dist/types/src/util/functions.d.ts +3 -2
  290. package/dist/types/src/util/functions.d.ts.map +1 -1
  291. package/dist/types/tsconfig.tsbuildinfo +1 -1
  292. package/package.json +136 -86
  293. package/src/ScriptPlugin.tsx +64 -86
  294. package/src/blueprints/functions/create.ts +48 -0
  295. package/src/blueprints/functions/definitions.ts +324 -0
  296. package/src/blueprints/functions/delete.ts +23 -0
  297. package/src/blueprints/functions/deploy.ts +70 -0
  298. package/src/blueprints/functions/index.ts +19 -0
  299. package/src/blueprints/functions/inspect-invocations.ts +55 -0
  300. package/src/blueprints/functions/install-function.ts +56 -0
  301. package/src/blueprints/functions/invoke.ts +35 -0
  302. package/src/blueprints/functions/query-deployed-functions.ts +31 -0
  303. package/src/blueprints/functions/read.ts +30 -0
  304. package/src/blueprints/functions/update.ts +69 -0
  305. package/src/blueprints/index.ts +5 -0
  306. package/src/blueprints/script-blueprint.ts +56 -0
  307. package/src/capabilities/app-graph-builder.ts +39 -57
  308. package/src/capabilities/artifact-definition.ts +97 -95
  309. package/src/capabilities/blueprint-definition.ts +11 -24
  310. package/src/capabilities/compiler.ts +92 -23
  311. package/src/capabilities/index.ts +11 -9
  312. package/src/capabilities/operation-handler.ts +20 -0
  313. package/src/capabilities/react-surface.tsx +132 -82
  314. package/src/capabilities/settings.ts +26 -14
  315. package/src/compiler/compiler.ts +10 -3
  316. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +8 -7
  317. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  318. package/src/components/NotebookStack/NotebookCell.tsx +40 -33
  319. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  320. package/src/components/NotebookStack/NotebookStack.stories.tsx +21 -22
  321. package/src/components/NotebookStack/NotebookStack.tsx +30 -19
  322. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  323. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  324. package/src/components/QueryEditor/index.ts +5 -0
  325. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  326. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +64 -0
  327. package/src/components/ScriptPluginSettings/index.ts +7 -0
  328. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +39 -17
  329. package/src/components/ScriptToolbar/ScriptToolbar.tsx +39 -44
  330. package/src/components/TestPanel/TestPanel.tsx +121 -178
  331. package/src/components/TestPanel/index.ts +0 -1
  332. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +25 -18
  333. package/src/components/TypescriptEditor/TypescriptEditor.tsx +73 -66
  334. package/src/components/index.ts +7 -8
  335. package/src/constants.ts +7 -0
  336. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.tsx +30 -25
  337. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +98 -0
  338. package/src/containers/DeploymentDialog/index.ts +7 -0
  339. package/src/{components → containers/NotebookContainer}/NotebookContainer.stories.tsx +30 -29
  340. package/src/{components → containers/NotebookContainer}/NotebookContainer.tsx +97 -92
  341. package/src/containers/NotebookContainer/index.ts +7 -0
  342. package/src/containers/ScriptContainer/ScriptContainer.tsx +85 -0
  343. package/src/containers/ScriptContainer/index.ts +7 -0
  344. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +84 -75
  345. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  346. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  347. package/src/containers/ScriptProperties/index.ts +7 -0
  348. package/src/containers/TestContainer/TestContainer.tsx +45 -0
  349. package/src/containers/TestContainer/index.ts +7 -0
  350. package/src/containers/index.ts +12 -0
  351. package/src/e2e/ai.test.ts +93 -0
  352. package/src/e2e/deploy.test.ts +65 -0
  353. package/src/hooks/deploy.ts +44 -35
  354. package/src/hooks/format.ts +8 -3
  355. package/src/hooks/index.ts +1 -0
  356. package/src/hooks/template.ts +17 -11
  357. package/src/hooks/useCompiler.ts +24 -0
  358. package/src/hooks/useCreateAndDeployScriptTemplates.ts +13 -15
  359. package/src/hooks/useToolbarState.ts +29 -4
  360. package/src/index.ts +2 -1
  361. package/src/meta.ts +4 -4
  362. package/src/notebook/compute-graph.test.ts +21 -9
  363. package/src/notebook/compute-graph.ts +46 -22
  364. package/src/operations/access-token-created.ts +36 -0
  365. package/src/operations/create-script.ts +47 -0
  366. package/src/operations/definitions.ts +40 -0
  367. package/src/operations/index.ts +12 -0
  368. package/src/templates/anthropic.ts +49 -0
  369. package/src/templates/chat.ts +1 -1
  370. package/src/templates/chess-bot.ts +61 -0
  371. package/src/templates/commentary.ts +244 -0
  372. package/src/templates/data-generator.ts +2 -2
  373. package/src/templates/discord.ts +3 -3
  374. package/src/templates/forex-effect.ts +35 -29
  375. package/src/templates/forex.ts +27 -17
  376. package/src/templates/gmail.ts +5 -6
  377. package/src/templates/index.ts +31 -18
  378. package/src/templates/ping.ts +22 -5
  379. package/src/testing/data.ts +8 -8
  380. package/src/testing/simulator.test.ts +40 -0
  381. package/src/translations.ts +92 -84
  382. package/src/types/Notebook.ts +19 -15
  383. package/src/types/Settings.ts +17 -0
  384. package/src/types/capabilities.ts +17 -0
  385. package/src/types/events.ts +11 -0
  386. package/src/types/index.ts +2 -1
  387. package/src/types/types.ts +1 -11
  388. package/src/util/deploy.ts +28 -32
  389. package/src/util/functions.ts +31 -26
  390. package/src/vite-env.d.ts +2 -0
  391. package/dist/lib/browser/DeploymentDialog-E5NXT4UQ.mjs +0 -14
  392. package/dist/lib/browser/DeploymentDialog-E5NXT4UQ.mjs.map +0 -7
  393. package/dist/lib/browser/NotebookContainer-C36N7AFF.mjs.map +0 -7
  394. package/dist/lib/browser/ScriptContainer-4YPRUM3C.mjs +0 -148
  395. package/dist/lib/browser/ScriptContainer-4YPRUM3C.mjs.map +0 -7
  396. package/dist/lib/browser/app-graph-builder-LEOPGBJD.mjs +0 -66
  397. package/dist/lib/browser/app-graph-builder-LEOPGBJD.mjs.map +0 -7
  398. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +0 -30
  399. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-5S5YQNJZ.mjs +0 -304
  401. package/dist/lib/browser/chunk-5S5YQNJZ.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-A5K3TXYA.mjs +0 -269
  403. package/dist/lib/browser/chunk-A5K3TXYA.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-EB6AXFXO.mjs +0 -31
  405. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-HCURXADW.mjs +0 -102
  407. package/dist/lib/browser/chunk-HCURXADW.mjs.map +0 -7
  408. package/dist/lib/browser/chunk-HHTOAI2J.mjs +0 -644
  409. package/dist/lib/browser/chunk-HHTOAI2J.mjs.map +0 -7
  410. package/dist/lib/browser/chunk-IQMYIWHG.mjs +0 -153
  411. package/dist/lib/browser/chunk-IQMYIWHG.mjs.map +0 -7
  412. package/dist/lib/browser/chunk-LI4P25M5.mjs +0 -111
  413. package/dist/lib/browser/chunk-LI4P25M5.mjs.map +0 -7
  414. package/dist/lib/browser/chunk-Q2DGRQRN.mjs +0 -255
  415. package/dist/lib/browser/chunk-Q2DGRQRN.mjs.map +0 -7
  416. package/dist/lib/browser/chunk-ST3ACVUC.mjs +0 -88
  417. package/dist/lib/browser/chunk-ST3ACVUC.mjs.map +0 -7
  418. package/dist/lib/browser/chunk-UOQ6NCH3.mjs +0 -15
  419. package/dist/lib/browser/chunk-UOQ6NCH3.mjs.map +0 -7
  420. package/dist/lib/browser/compiler-Q4UY2COU.mjs +0 -86
  421. package/dist/lib/browser/compiler-Q4UY2COU.mjs.map +0 -7
  422. package/dist/lib/browser/intent-resolver-AMMHATM7.mjs +0 -105
  423. package/dist/lib/browser/intent-resolver-AMMHATM7.mjs.map +0 -7
  424. package/dist/lib/browser/react-surface-X4NATU6B.mjs +0 -128
  425. package/dist/lib/browser/react-surface-X4NATU6B.mjs.map +0 -7
  426. package/dist/lib/browser/settings-6UXY7F7D.mjs +0 -26
  427. package/dist/lib/browser/settings-6UXY7F7D.mjs.map +0 -7
  428. package/dist/lib/node-esm/DeploymentDialog-OSHHSEBH.mjs +0 -15
  429. package/dist/lib/node-esm/DeploymentDialog-OSHHSEBH.mjs.map +0 -7
  430. package/dist/lib/node-esm/NotebookContainer-FOVFGJQR.mjs.map +0 -7
  431. package/dist/lib/node-esm/ScriptContainer-EW24D5II.mjs +0 -149
  432. package/dist/lib/node-esm/ScriptContainer-EW24D5II.mjs.map +0 -7
  433. package/dist/lib/node-esm/app-graph-builder-XJ3MY5BM.mjs +0 -67
  434. package/dist/lib/node-esm/app-graph-builder-XJ3MY5BM.mjs.map +0 -7
  435. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +0 -31
  436. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +0 -7
  437. package/dist/lib/node-esm/chunk-2GVTWESW.mjs +0 -90
  438. package/dist/lib/node-esm/chunk-2GVTWESW.mjs.map +0 -7
  439. package/dist/lib/node-esm/chunk-55JZVM6K.mjs +0 -16
  440. package/dist/lib/node-esm/chunk-55JZVM6K.mjs.map +0 -7
  441. package/dist/lib/node-esm/chunk-EJLYOSD7.mjs +0 -113
  442. package/dist/lib/node-esm/chunk-EJLYOSD7.mjs.map +0 -7
  443. package/dist/lib/node-esm/chunk-GA27XSEY.mjs +0 -270
  444. package/dist/lib/node-esm/chunk-GA27XSEY.mjs.map +0 -7
  445. package/dist/lib/node-esm/chunk-IBV2DR36.mjs +0 -33
  446. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +0 -7
  447. package/dist/lib/node-esm/chunk-N2XLVOFB.mjs +0 -103
  448. package/dist/lib/node-esm/chunk-N2XLVOFB.mjs.map +0 -7
  449. package/dist/lib/node-esm/chunk-O7HXE72S.mjs +0 -256
  450. package/dist/lib/node-esm/chunk-O7HXE72S.mjs.map +0 -7
  451. package/dist/lib/node-esm/chunk-OZ6LCME4.mjs +0 -645
  452. package/dist/lib/node-esm/chunk-OZ6LCME4.mjs.map +0 -7
  453. package/dist/lib/node-esm/chunk-TUGLYZDT.mjs +0 -305
  454. package/dist/lib/node-esm/chunk-TUGLYZDT.mjs.map +0 -7
  455. package/dist/lib/node-esm/chunk-UEGPBCSF.mjs +0 -154
  456. package/dist/lib/node-esm/chunk-UEGPBCSF.mjs.map +0 -7
  457. package/dist/lib/node-esm/compiler-I6A4KE6E.mjs +0 -87
  458. package/dist/lib/node-esm/compiler-I6A4KE6E.mjs.map +0 -7
  459. package/dist/lib/node-esm/intent-resolver-YKLZQR7U.mjs +0 -106
  460. package/dist/lib/node-esm/intent-resolver-YKLZQR7U.mjs.map +0 -7
  461. package/dist/lib/node-esm/react-surface-LVGLBSTE.mjs +0 -129
  462. package/dist/lib/node-esm/react-surface-LVGLBSTE.mjs.map +0 -7
  463. package/dist/lib/node-esm/settings-O4EZPUE3.mjs +0 -27
  464. package/dist/lib/node-esm/settings-O4EZPUE3.mjs.map +0 -7
  465. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  466. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  467. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  468. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  469. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  470. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -248
  471. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  472. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  473. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  474. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +0 -12
  475. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  476. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  477. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  478. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  479. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  480. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  481. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  482. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -251
  483. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  484. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  485. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  486. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  487. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  488. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  489. package/dist/types/src/components/Settings/index.d.ts +0 -3
  490. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  491. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  492. package/dist/types/src/events.d.ts +0 -4
  493. package/dist/types/src/events.d.ts.map +0 -1
  494. package/dist/types/src/templates/chess.d.ts +0 -3
  495. package/dist/types/src/templates/chess.d.ts.map +0 -1
  496. package/dist/types/src/types/actions.d.ts +0 -54
  497. package/dist/types/src/types/actions.d.ts.map +0 -1
  498. package/src/capabilities/capabilities.ts +0 -12
  499. package/src/capabilities/intent-resolver.ts +0 -86
  500. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
  501. package/src/components/DeploymentDialog/index.ts +0 -9
  502. package/src/components/FrameContainer/frame.html +0 -25
  503. package/src/components/FrameContainer/frame.tsx +0 -51
  504. package/src/components/ScriptContainer.tsx +0 -69
  505. package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
  506. package/src/components/Settings/index.ts +0 -6
  507. package/src/components/TestPanel/TestContainer.tsx +0 -27
  508. package/src/events.ts +0 -11
  509. package/src/templates/chess.ts +0 -49
  510. package/src/types/actions.ts +0 -53
@@ -1,275 +1,1222 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- DeploymentDialog,
4
- NotebookContainer,
5
- ScriptContainer,
6
- ScriptObjectSettings,
7
- ScriptPluginSettings,
8
- ScriptProperties,
9
- TestContainer,
10
- TestPanel
11
- } from "./chunk-OZ6LCME4.mjs";
12
- import {
13
- NotebookMenu,
14
- NotebookStack
15
- } from "./chunk-TUGLYZDT.mjs";
16
- import {
17
- ScriptCapabilities
18
- } from "./chunk-55JZVM6K.mjs";
19
- import {
20
- DEPLOYMENT_DIALOG
21
- } from "./chunk-UEGPBCSF.mjs";
22
- import "./chunk-GA27XSEY.mjs";
23
- import "./chunk-EJLYOSD7.mjs";
24
- import {
25
- deployScript,
26
- getAccessCredential,
27
- getFunctionUrl,
28
- isScriptDeployed,
29
- updateFunctionMetadata
30
- } from "./chunk-O7HXE72S.mjs";
31
- import {
32
- Notebook_exports,
33
- ScriptAction
34
- } from "./chunk-N2XLVOFB.mjs";
35
- import "./chunk-2GVTWESW.mjs";
36
- import {
37
- defaultScriptsForIntegration,
38
- meta
39
- } from "./chunk-IBV2DR36.mjs";
3
+ ScriptCapabilities,
4
+ ScriptEvents
5
+ } from "./chunk-ELIPYPNQ.mjs";
40
6
  import "./chunk-HSLMI22Q.mjs";
41
7
 
42
- // src/capabilities/index.ts
43
- import { lazy } from "@dxos/app-framework";
44
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-XJ3MY5BM.mjs"));
45
- var BlueprintDefinition = lazy(() => import("./blueprint-definition-5R6YCSZZ.mjs"));
46
- var Compiler = lazy(() => import("./compiler-I6A4KE6E.mjs"));
47
- var IntentResolver = lazy(() => import("./intent-resolver-YKLZQR7U.mjs"));
48
- var ReactSurface = lazy(() => import("./react-surface-LVGLBSTE.mjs"));
49
- var ScriptSettings = lazy(() => import("./settings-O4EZPUE3.mjs"));
8
+ // src/components/index.ts
9
+ import { lazy } from "react";
10
+
11
+ // src/components/FramePanel/FramePanel.tsx
12
+ import React, { useEffect, useRef } from "react";
13
+ import { clientServiceBundle } from "@dxos/client-protocol";
14
+ import { invariant } from "@dxos/invariant";
15
+ import { log } from "@dxos/log";
16
+ import { useClient } from "@dxos/react-client";
17
+ import { createProtoRpcPeer } from "@dxos/rpc";
18
+ import { createIFramePort } from "@dxos/rpc-tunnel";
19
+ import { mx } from "@dxos/ui-theme";
20
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/FramePanel/FramePanel.tsx";
21
+ var FramePanel = ({ containerUrl, result, debug = true }) => {
22
+ const client = useClient();
23
+ const iframeRef = useRef(null);
24
+ useEffect(() => {
25
+ if (iframeRef.current) {
26
+ const rpc = createProtoRpcPeer({
27
+ exposed: clientServiceBundle,
28
+ handlers: client._services.services,
29
+ port: createIFramePort({
30
+ channel: "frame",
31
+ iframe: iframeRef.current,
32
+ origin: "*"
33
+ })
34
+ });
35
+ rpc.open().catch((e) => log.catch(e, void 0, {
36
+ F: __dxlog_file,
37
+ L: 41,
38
+ S: void 0,
39
+ C: (f, a) => f(...a)
40
+ }));
41
+ return () => {
42
+ rpc.close().catch((e) => log.catch(e, void 0, {
43
+ F: __dxlog_file,
44
+ L: 43,
45
+ S: void 0,
46
+ C: (f, a) => f(...a)
47
+ }));
48
+ };
49
+ }
50
+ }, [
51
+ iframeRef
52
+ ]);
53
+ invariant(result.sourceHash, "Source hash is required.", {
54
+ F: __dxlog_file,
55
+ L: 49,
56
+ S: void 0,
57
+ A: [
58
+ "result.sourceHash",
59
+ "'Source hash is required.'"
60
+ ]
61
+ });
62
+ const sourceHash = Buffer.from(result.sourceHash).toString("hex");
63
+ const src = "bundle" in result ? `${containerUrl}?ts=${sourceHash}#code=${encodeURIComponent(new TextDecoder().decode(Object.values(result.bundle)[0]))}` : void 0;
64
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("iframe", {
65
+ ref: iframeRef,
66
+ sandbox: "allow-scripts",
67
+ src,
68
+ style: {
69
+ width: "100%",
70
+ height: "100%"
71
+ }
72
+ }), debug && /* @__PURE__ */ React.createElement("div", {
73
+ className: "relative"
74
+ }, /* @__PURE__ */ React.createElement("div", {
75
+ className: mx("flex absolute right-2 bottom-2 w-[30rem] h-[200px] bg-base-surface ring rounded-sm", "z-20 overflow-x-hidden overflow-y-auto")
76
+ }, /* @__PURE__ */ React.createElement("pre", {
77
+ className: "text-xs whitespace-break-spaces break-all p-2"
78
+ }, JSON.stringify({
79
+ timestamp: result.timestamp,
80
+ sourceHash,
81
+ error: "error" in result ? result.error : void 0,
82
+ src
83
+ }, void 0, 2)))));
84
+ };
85
+
86
+ // src/components/NotebookStack/NotebookMenu.tsx
87
+ import React2 from "react";
88
+ import { DropdownMenu, useTranslation } from "@dxos/react-ui";
89
+ import { meta } from "#meta";
90
+ var NotebookMenu = ({ cell, onCellInsert, onCellDelete }) => {
91
+ const { t } = useTranslation(meta.id);
92
+ return /* @__PURE__ */ React2.createElement(DropdownMenu.Portal, null, /* @__PURE__ */ React2.createElement(DropdownMenu.Content, null, /* @__PURE__ */ React2.createElement(DropdownMenu.Viewport, null, /* @__PURE__ */ React2.createElement(DropdownMenu.Item, {
93
+ onClick: () => onCellInsert?.("script", cell?.id)
94
+ }, t("notebook-cell-insert-script.label")), /* @__PURE__ */ React2.createElement(DropdownMenu.Item, {
95
+ onClick: () => onCellInsert?.("prompt", cell?.id)
96
+ }, t("notebook-cell-insert-prompt.label")), /* @__PURE__ */ React2.createElement(DropdownMenu.Item, {
97
+ onClick: () => onCellInsert?.("query", cell?.id)
98
+ }, t("notebook-cell-insert-query.label")), /* @__PURE__ */ React2.createElement(DropdownMenu.Item, {
99
+ onClick: () => onCellInsert?.("markdown", cell?.id)
100
+ }, t("notebook-cell-insert-markdown.label")), cell && onCellDelete && /* @__PURE__ */ React2.createElement(DropdownMenu.Item, {
101
+ onClick: () => onCellDelete?.(cell.id)
102
+ }, t("notebook-cell-delete.label"))), /* @__PURE__ */ React2.createElement(DropdownMenu.Arrow, null)));
103
+ };
104
+
105
+ // src/components/NotebookStack/NotebookStack.tsx
106
+ import React5 from "react";
107
+ import { DropdownMenu as DropdownMenu2, IconButton, useTranslation as useTranslation3 } from "@dxos/react-ui";
108
+ import { Stack, StackItem } from "@dxos/react-ui-stack";
109
+ import { composable as composable2, composableProps as composableProps2 } from "@dxos/ui-theme";
110
+ import { meta as meta3 } from "#meta";
111
+
112
+ // src/components/NotebookStack/NotebookCell.tsx
113
+ import React4, { useCallback, useMemo } from "react";
114
+ import { Surface } from "@dxos/app-framework/ui";
115
+ import { Obj } from "@dxos/echo";
116
+ import { createDocAccessor } from "@dxos/echo-db";
117
+ import { invariant as invariant2 } from "@dxos/invariant";
118
+ import { TemplateEditor } from "@dxos/plugin-assistant";
119
+ import { useThemeContext as useThemeContext2, useTranslation as useTranslation2 } from "@dxos/react-ui";
120
+ import { QueryEditor } from "@dxos/react-ui-components";
121
+ import { EditorContent } from "@dxos/react-ui-editor";
122
+ import { createBasicExtensions as createBasicExtensions2, createDataExtensions, createMarkdownExtensions, createThemeExtensions as createThemeExtensions2, decorateMarkdown } from "@dxos/ui-editor";
123
+ import { mx as mx2 } from "@dxos/ui-theme";
124
+ import { isNonNullable as isNonNullable2 } from "@dxos/util";
125
+ import { meta as meta2 } from "#meta";
126
+
127
+ // src/components/TypescriptEditor/TypescriptEditor.tsx
128
+ import { autocompletion, completionKeymap } from "@codemirror/autocomplete";
129
+ import { javascript } from "@codemirror/lang-javascript";
130
+ import { HighlightStyle } from "@codemirror/language";
131
+ import { lintKeymap } from "@codemirror/lint";
132
+ import { Prec } from "@codemirror/state";
133
+ import { keymap } from "@codemirror/view";
134
+ import { tags } from "@lezer/highlight";
135
+ import { composeRefs } from "@radix-ui/react-compose-refs";
136
+ import { continueKeymap } from "@valtown/codemirror-continue";
137
+ import { tsAutocomplete, tsFacet, tsHover, tsLinter, tsSync } from "@valtown/codemirror-ts";
138
+ import React3 from "react";
139
+ import { useThemeContext } from "@dxos/react-ui";
140
+ import { useTextEditor } from "@dxos/react-ui-editor";
141
+ import { Domino } from "@dxos/ui";
142
+ import { InputModeExtensions, createBasicExtensions, createThemeExtensions, defaultStyles } from "@dxos/ui-editor";
143
+ import { composable, composableProps } from "@dxos/ui-theme";
144
+ import { isNonNullable } from "@dxos/util";
145
+ var TypescriptEditor = composable(({ classNames, id, role = "article", inputMode = "vscode", env, options, initialValue, extensions, scrollTo, selection, ...props }, forwardedRef) => {
146
+ const { themeMode } = useThemeContext();
147
+ const { parentRef, focusAttributes } = useTextEditor(() => ({
148
+ id,
149
+ initialValue,
150
+ selection,
151
+ scrollTo,
152
+ extensions: [
153
+ extensions,
154
+ createBasicExtensions({
155
+ highlightActiveLine: true,
156
+ indentWithTab: true,
157
+ lineNumbers: true,
158
+ lineWrapping: false,
159
+ scrollPastEnd: role !== "section",
160
+ search: true,
161
+ ...options
162
+ }),
163
+ createThemeExtensions({
164
+ monospace: true,
165
+ themeMode,
166
+ syntaxHighlighting: true
167
+ }),
168
+ InputModeExtensions[inputMode],
169
+ javascript({
170
+ typescript: true
171
+ }),
172
+ autocompletion({
173
+ override: env ? [
174
+ tsAutocomplete()
175
+ ] : void 0
176
+ }),
177
+ // Continues block comments when pressing Enter.
178
+ Prec.high(keymap.of(continueKeymap)),
179
+ keymap.of(completionKeymap),
180
+ keymap.of(lintKeymap),
181
+ // https://github.com/val-town/codemirror-ts
182
+ env && [
183
+ // TODO(burdon): Fix type.
184
+ tsFacet.of({
185
+ env,
186
+ path: `./src/${id}.ts`
187
+ }),
188
+ tsSync(),
189
+ tsLinter(),
190
+ tsHover({
191
+ renderTooltip: createTooltipRenderer(themeMode)
192
+ })
193
+ ]
194
+ ].filter(isNonNullable)
195
+ }), [
196
+ themeMode,
197
+ id,
198
+ extensions,
199
+ inputMode,
200
+ selection,
201
+ scrollTo,
202
+ env
203
+ ]);
204
+ return /* @__PURE__ */ React3.createElement("div", {
205
+ ...composableProps(props, {
206
+ classNames,
207
+ ...focusAttributes
208
+ }),
209
+ ref: composeRefs(parentRef, forwardedRef)
210
+ });
211
+ });
212
+ var createTooltipRenderer = (themeMode) => {
213
+ const theme = HighlightStyle.define(themeMode === "dark" ? defaultStyles.dark : defaultStyles.light);
214
+ const classFromKind = (_kind) => {
215
+ const kind = _kind.endsWith("Name") ? "name" : _kind;
216
+ const validTag = kind in tags;
217
+ if (!validTag) {
218
+ return "";
219
+ }
220
+ const tag = tags[kind];
221
+ if (typeof tag === "function") {
222
+ return "";
223
+ }
224
+ return theme.style([
225
+ tag
226
+ ]) ?? "";
227
+ };
228
+ return (info) => {
229
+ const children = info.quickInfo?.displayParts?.map(({ kind, text }) => Domino.of("span").classNames(classFromKind(kind)).text(text)) ?? [];
230
+ return {
231
+ dom: Domino.of("div").classNames("xs:max-w-80 max-w-lg p-1 bg-base-surface rounded-sm border border-separator").children(...children).root
232
+ };
233
+ };
234
+ };
235
+
236
+ // src/components/NotebookStack/NotebookCell.tsx
237
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/NotebookStack/NotebookCell.tsx";
238
+ var editorStyles = "p-2 ps-3";
239
+ var valueStyles = "p-1 ps-3";
240
+ var NotebookCell = ({ db, graph, dragging, cell, promptResults, env }) => {
241
+ const { t } = useTranslation2(meta2.id);
242
+ const extensions = useMemo(() => {
243
+ return cell.source?.target ? [
244
+ createDataExtensions({
245
+ id: cell.id,
246
+ text: createDocAccessor(cell.source.target, [
247
+ "content"
248
+ ])
249
+ })
250
+ ].filter(isNonNullable2) : [];
251
+ }, [
252
+ cell.source?.target
253
+ ]);
254
+ const explorerGraph = cell.graph?.target;
255
+ const handleQueryChange = useCallback((value) => {
256
+ invariant2(cell.source?.target, void 0, {
257
+ F: __dxlog_file2,
258
+ L: 63,
259
+ S: void 0,
260
+ A: [
261
+ "cell.source?.target",
262
+ ""
263
+ ]
264
+ });
265
+ Obj.change(cell.source.target, (obj) => {
266
+ obj.content = value;
267
+ });
268
+ }, [
269
+ cell
270
+ ]);
271
+ switch (cell.type) {
272
+ case "markdown":
273
+ if (!cell.source?.target) {
274
+ return null;
275
+ }
276
+ return /* @__PURE__ */ React4.createElement(NotebookTextEditor, {
277
+ id: cell.id,
278
+ classNames: editorStyles,
279
+ initialValue: cell.source.target.content,
280
+ extensions
281
+ });
282
+ case "script":
283
+ if (!cell.source?.target) {
284
+ return null;
285
+ }
286
+ return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(TypescriptEditor, {
287
+ id: cell.id,
288
+ role: "section",
289
+ classNames: editorStyles,
290
+ initialValue: cell.source.target.content,
291
+ extensions,
292
+ env,
293
+ options: {
294
+ placeholder: t("notebook-cell.placeholder"),
295
+ highlightActiveLine: false,
296
+ lineNumbers: false
297
+ }
298
+ }), /* @__PURE__ */ React4.createElement(NotebookCellValue, {
299
+ cell,
300
+ graph
301
+ }));
302
+ case "query":
303
+ if (!cell.source?.target) {
304
+ return null;
305
+ }
306
+ return /* @__PURE__ */ React4.createElement("div", {
307
+ className: mx2("h-full overflow-hidden grid", explorerGraph && !dragging && "grid-rows-[min-content_1fr]")
308
+ }, /* @__PURE__ */ React4.createElement(QueryEditor, {
309
+ id: cell.id,
310
+ classNames: [
311
+ editorStyles,
312
+ "border-b border-subdued-separator"
313
+ ],
314
+ db,
315
+ value: cell.source.target.content,
316
+ onChange: handleQueryChange
317
+ }), explorerGraph && !dragging && /* @__PURE__ */ React4.createElement(Surface.Surface, {
318
+ role: "section",
319
+ limit: 1,
320
+ data: {
321
+ subject: explorerGraph
322
+ }
323
+ }));
324
+ // TODO(burdon): Use streaming response from Chat.
325
+ case "prompt":
326
+ if (!cell.prompt?.target) {
327
+ return null;
328
+ }
329
+ return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(TemplateEditor, {
330
+ id: cell.id,
331
+ template: cell.prompt.target.instructions,
332
+ lineNumbers: false,
333
+ classNames: editorStyles
334
+ }), /* @__PURE__ */ React4.createElement(NotebookPromptResult, {
335
+ cell,
336
+ promptResults
337
+ }));
338
+ default:
339
+ return null;
340
+ }
341
+ };
342
+ var NotebookCellValue = ({ cell, graph }) => {
343
+ const name = graph?.getExpressions()[cell.id]?.name;
344
+ const value = graph?.getValue(cell.id);
345
+ if (value == null) {
346
+ return null;
347
+ }
348
+ return /* @__PURE__ */ React4.createElement("div", {
349
+ className: mx2("flex w-full bg-group-surface border-y border-subdued-separator text-description font-mono", valueStyles)
350
+ }, name && /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement("span", {
351
+ className: "text-success-text"
352
+ }, name), /* @__PURE__ */ React4.createElement("span", {
353
+ className: "text-description"
354
+ }, "\xA0=\xA0")), /* @__PURE__ */ React4.createElement("span", null, value));
355
+ };
356
+ var NotebookPromptResult = ({ cell, promptResults }) => {
357
+ if (!cell.prompt) {
358
+ return null;
359
+ }
360
+ const value = promptResults?.[cell.prompt.dxn.toString()];
361
+ if (value == null) {
362
+ return null;
363
+ }
364
+ return /* @__PURE__ */ React4.createElement("div", {
365
+ className: mx2("flex w-full bg-group-surface text-description border-y border-subdued-separator", valueStyles)
366
+ }, /* @__PURE__ */ React4.createElement(NotebookTextEditor, {
367
+ readOnly: true,
368
+ value
369
+ }));
370
+ };
371
+ var NotebookTextEditor = ({ extensions: extensionsProp, readOnly, ...props }) => {
372
+ const { t } = useTranslation2(meta2.id);
373
+ const { themeMode } = useThemeContext2();
374
+ const extensions = useMemo(() => {
375
+ return [
376
+ createBasicExtensions2({
377
+ placeholder: t("notebook-markdown.placeholder"),
378
+ readOnly
379
+ }),
380
+ createThemeExtensions2({
381
+ themeMode,
382
+ syntaxHighlighting: true
383
+ }),
384
+ createMarkdownExtensions(),
385
+ decorateMarkdown(),
386
+ extensionsProp
387
+ ].filter(isNonNullable2);
388
+ }, [
389
+ extensionsProp
390
+ ]);
391
+ return /* @__PURE__ */ React4.createElement(EditorContent, {
392
+ ...props,
393
+ extensions,
394
+ selectionEnd: true
395
+ });
396
+ };
397
+
398
+ // src/components/NotebookStack/NotebookStack.tsx
399
+ var minSectionHeight = "min-h-[16rem]";
400
+ var NotebookStack = composable2(({ notebook, onRearrange, db, graph, promptResults, onCellInsert, onCellDelete, env, ...props }, forwardedRef) => {
401
+ const sectionProps = {
402
+ db,
403
+ graph,
404
+ promptResults,
405
+ onCellInsert,
406
+ onCellDelete,
407
+ env
408
+ };
409
+ return /* @__PURE__ */ React5.createElement(Stack, {
410
+ ...composableProps2(props),
411
+ orientation: "vertical",
412
+ size: "contain",
413
+ rail: true,
414
+ onRearrange,
415
+ ref: forwardedRef
416
+ }, notebook?.cells.map((cell, i) => /* @__PURE__ */ React5.createElement(NotebookSection, {
417
+ key: i,
418
+ cell,
419
+ ...sectionProps
420
+ })));
421
+ });
422
+ var NotebookSection = ({ cell, db, env, promptResults, onCellInsert, onCellDelete, ...props }) => {
423
+ const { t } = useTranslation3(meta3.id);
424
+ const resizable = cell.type === "query";
425
+ return /* @__PURE__ */ React5.createElement(StackItem.Root, {
426
+ role: "section",
427
+ item: cell,
428
+ draggable: true,
429
+ classNames: resizable && minSectionHeight
430
+ }, /* @__PURE__ */ React5.createElement(StackItem.Heading, {
431
+ classNames: "h-full p-1 justify-between dx-attention-surface"
432
+ }, /* @__PURE__ */ React5.createElement(StackItem.DragHandle, {
433
+ asChild: true
434
+ }, /* @__PURE__ */ React5.createElement(IconButton, {
435
+ variant: "ghost",
436
+ icon: "ph--dots-six-vertical--regular",
437
+ iconOnly: true,
438
+ label: "Drag handle"
439
+ })), /* @__PURE__ */ React5.createElement(DropdownMenu2.Root, null, /* @__PURE__ */ React5.createElement(DropdownMenu2.Trigger, {
440
+ asChild: true
441
+ }, /* @__PURE__ */ React5.createElement(IconButton, {
442
+ variant: "ghost",
443
+ icon: "ph--dots-three--regular",
444
+ iconOnly: true,
445
+ label: t("notebook-cell-insert.label")
446
+ })), /* @__PURE__ */ React5.createElement(NotebookMenu, {
447
+ cell,
448
+ onCellInsert,
449
+ onCellDelete
450
+ })), resizable && /* @__PURE__ */ React5.createElement(StackItem.ResizeHandle, null)), /* @__PURE__ */ React5.createElement(StackItem.DragPreview, null, ({ item: cell2 }) => /* @__PURE__ */ React5.createElement(StackItem.Content, {
451
+ classNames: "overflow-visible bg-group-surface border border-subdued-separator"
452
+ }, /* @__PURE__ */ React5.createElement(NotebookCell, {
453
+ db,
454
+ cell: cell2,
455
+ env,
456
+ dragging: true
457
+ }))), /* @__PURE__ */ React5.createElement(StackItem.Content, {
458
+ classNames: "overflow-visible"
459
+ }, /* @__PURE__ */ React5.createElement(NotebookCell, {
460
+ db,
461
+ cell,
462
+ env,
463
+ promptResults,
464
+ ...props
465
+ })));
466
+ };
467
+
468
+ // src/components/QueryEditor/QueryEditor.tsx
469
+ import React6, { useState } from "react";
470
+ import { ScriptTarget } from "typescript";
471
+ import queryApi from "@dxos/echo-query/api.d.ts?raw";
472
+ import { useAsyncEffect } from "@dxos/react-ui";
473
+
474
+ // src/compiler/compiler.ts
475
+ import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
476
+ import ts from "typescript";
477
+ import { invariant as invariant3 } from "@dxos/invariant";
478
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
479
+ var GLOBALS = "globals.d.ts";
480
+ var defaultOptions = {
481
+ lib: [
482
+ "DOM",
483
+ "es2022"
484
+ ],
485
+ target: ts.ScriptTarget.ES2022
486
+ };
487
+ var Compiler = class {
488
+ _options;
489
+ _env;
490
+ _fsMap;
491
+ constructor(_options = defaultOptions) {
492
+ this._options = _options;
493
+ }
494
+ async initialize(globals) {
495
+ if (this._env) {
496
+ return;
497
+ }
498
+ this._fsMap = await createDefaultMapFromCDN(this._options, "5.7.2", true, ts);
499
+ if (globals) {
500
+ this._fsMap.set(GLOBALS, globals);
501
+ }
502
+ const rootFiles = globals ? [
503
+ GLOBALS
504
+ ] : [];
505
+ const system = createSystem(this._fsMap);
506
+ this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);
507
+ }
508
+ get environment() {
509
+ invariant3(this._env, "Compiler environment not initialized.", {
510
+ F: __dxlog_file3,
511
+ L: 46,
512
+ S: this,
513
+ A: [
514
+ "this._env",
515
+ "'Compiler environment not initialized.'"
516
+ ]
517
+ });
518
+ return this._env;
519
+ }
520
+ setFile(fileName, content) {
521
+ invariant3(this._fsMap, "File system map not initialized.", {
522
+ F: __dxlog_file3,
523
+ L: 51,
524
+ S: this,
525
+ A: [
526
+ "this._fsMap",
527
+ "'File system map not initialized.'"
528
+ ]
529
+ });
530
+ this.environment.createFile(fileName, content);
531
+ }
532
+ compile(fileName) {
533
+ return this.environment.languageService.getEmitOutput(fileName);
534
+ }
535
+ };
536
+
537
+ // src/components/QueryEditor/QueryEditor.tsx
538
+ var GLOBALS2 = `
539
+ namespace QueryAPI {
540
+ ${queryApi}
541
+ }
542
+
543
+ declare global {
544
+ const Query: typeof QueryAPI.Query;
545
+ const Filter: typeof QueryAPI.Filter;
546
+ const Order: typeof QueryAPI.Order;
547
+ }
548
+
549
+ export {};
550
+ `;
551
+ var QueryEditor2 = (props) => {
552
+ const [compiler, setCompiler] = useState();
553
+ useAsyncEffect(async () => {
554
+ const compiler2 = new Compiler({
555
+ lib: [
556
+ "ES5"
557
+ ],
558
+ target: ScriptTarget.ES2022
559
+ });
560
+ await compiler2.initialize(GLOBALS2);
561
+ setCompiler(compiler2);
562
+ }, []);
563
+ if (!compiler) {
564
+ return null;
565
+ }
566
+ return /* @__PURE__ */ React6.createElement(TypescriptEditor, {
567
+ ...props,
568
+ env: compiler.environment
569
+ });
570
+ };
571
+
572
+ // src/components/ScriptToolbar/ScriptToolbar.tsx
573
+ import { Atom } from "@effect-atom/atom-react";
574
+ import React7, { useMemo as useMemo2 } from "react";
575
+ import { ElevationProvider, useTranslation as useTranslation4 } from "@dxos/react-ui";
576
+ import { composable as composable3, composableProps as composableProps3 } from "@dxos/ui-theme";
577
+ import { Menu, createGapSeparator, useMenuActions } from "@dxos/react-ui-menu";
578
+ import { createDeploy, createFormat, createTemplateSelect, useDeployDeps } from "#hooks";
579
+ import { meta as meta4 } from "#meta";
580
+ var ScriptToolbar = composable3(({ script, attendableId, role, state, ...props }, forwardedRef) => {
581
+ const { t } = useTranslation4(meta4.id);
582
+ const options = useDeployDeps({
583
+ script
584
+ });
585
+ const menuCreator = useMemo2(() => createToolbarActions({
586
+ state,
587
+ script,
588
+ t,
589
+ ...options
590
+ }), [
591
+ state,
592
+ script,
593
+ options,
594
+ t
595
+ ]);
596
+ const menuActions = useMenuActions(menuCreator);
597
+ return /* @__PURE__ */ React7.createElement(ElevationProvider, {
598
+ elevation: role === "section" ? "positioned" : "base"
599
+ }, /* @__PURE__ */ React7.createElement(Menu.Root, {
600
+ ...menuActions,
601
+ attendableId
602
+ }, /* @__PURE__ */ React7.createElement(Menu.Toolbar, {
603
+ ...composableProps3(props),
604
+ ref: forwardedRef
605
+ })));
606
+ });
607
+ var createToolbarActions = ({ state, script, ...options }) => Atom.make((get) => {
608
+ get(state.atom);
609
+ const templateSelect = createTemplateSelect(script);
610
+ const format = createFormat(script);
611
+ const gap = createGapSeparator();
612
+ const deploy = createDeploy({
613
+ state,
614
+ script,
615
+ ...options
616
+ });
617
+ return {
618
+ nodes: [
619
+ ...templateSelect.nodes,
620
+ ...format.nodes,
621
+ ...gap.nodes,
622
+ ...deploy.nodes
623
+ ],
624
+ edges: [
625
+ ...templateSelect.edges,
626
+ ...format.edges,
627
+ ...gap.edges,
628
+ ...deploy.edges
629
+ ]
630
+ };
631
+ });
632
+
633
+ // src/components/TestPanel/TestPanel.tsx
634
+ import React8, { forwardRef, useRef as useRef2, useState as useState2 } from "react";
635
+ import { log as log2 } from "@dxos/log";
636
+ import { Avatar, Icon, Input, ScrollArea, Toolbar, useTranslation as useTranslation5 } from "@dxos/react-ui";
637
+ import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
638
+ import { composable as composable4, composableProps as composableProps4, mx as mx3 } from "@dxos/ui-theme";
639
+ import { meta as meta5 } from "#meta";
640
+ var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx";
641
+ var TestPanel = composable4(({ classNames, onInvoke, ...props }, forwardedRef) => {
642
+ const { t } = useTranslation5(meta5.id);
643
+ const inputRef = useRef2(null);
644
+ const [input, setInput] = useState2("");
645
+ const [state, setState] = useState2(null);
646
+ const [history, setHistory] = useState2([]);
647
+ const scrollerRef = useRef2(null);
648
+ const handleScroll = () => {
649
+ if (scrollerRef.current) {
650
+ scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;
651
+ }
652
+ };
653
+ const handleClear = () => {
654
+ setInput("");
655
+ setHistory([]);
656
+ inputRef.current?.focus();
657
+ };
658
+ const handleResponse = ({ text, data, error } = {}) => {
659
+ setHistory((history2) => [
660
+ ...history2,
661
+ {
662
+ type: "response",
663
+ text,
664
+ data,
665
+ error
666
+ }
667
+ ]);
668
+ setState(null);
669
+ handleScroll();
670
+ };
671
+ const handleRequest = async (input2) => {
672
+ if (!onInvoke) {
673
+ handleResponse({
674
+ error: new Error("Function not deployed")
675
+ });
676
+ return;
677
+ }
678
+ let data = input2;
679
+ let displayText = input2;
680
+ if (input2.charAt(0) === "{") {
681
+ try {
682
+ const validJsonString = input2.replace(/'/g, '"').replace(/([{,]\s*)([a-zA-Z0-9_]+)(\s*:)/g, '$1"$2"$3');
683
+ data = JSON.parse(validJsonString);
684
+ displayText = JSON.stringify(data, null, 2);
685
+ } catch (err) {
686
+ handleResponse({
687
+ error: new Error("Invalid JSON input")
688
+ });
689
+ return;
690
+ }
691
+ }
692
+ try {
693
+ setState("pending");
694
+ setInput("");
695
+ setHistory((history2) => [
696
+ ...history2,
697
+ {
698
+ type: "request",
699
+ text: displayText
700
+ }
701
+ ]);
702
+ setTimeout(handleScroll);
703
+ const result = await onInvoke(data);
704
+ if (typeof result === "string") {
705
+ handleResponse({
706
+ text: result
707
+ });
708
+ } else {
709
+ handleResponse({
710
+ data: result
711
+ });
712
+ }
713
+ } catch (err) {
714
+ const error = err instanceof Error ? err : new Error(String(err));
715
+ handleResponse({
716
+ error
717
+ });
718
+ log2.catch(err, void 0, {
719
+ F: __dxlog_file4,
720
+ L: 104,
721
+ S: void 0,
722
+ C: (f, a) => f(...a)
723
+ });
724
+ }
725
+ };
726
+ return /* @__PURE__ */ React8.createElement("div", {
727
+ ...composableProps4(props, {
728
+ classNames: [
729
+ "flex flex-col h-full overflow-hidden",
730
+ classNames
731
+ ]
732
+ }),
733
+ ref: forwardedRef
734
+ }, /* @__PURE__ */ React8.createElement(MessageThread, {
735
+ ref: scrollerRef,
736
+ state,
737
+ history
738
+ }), /* @__PURE__ */ React8.createElement(Toolbar.Root, null, /* @__PURE__ */ React8.createElement(Input.Root, null, /* @__PURE__ */ React8.createElement(Input.TextInput, {
739
+ ref: inputRef,
740
+ autoFocus: true,
741
+ placeholder: t("function-request.placeholder"),
742
+ value: input,
743
+ onChange: (ev) => setInput(ev.target.value),
744
+ onKeyDown: (ev) => ev.key === "Enter" && handleRequest(input)
745
+ })), /* @__PURE__ */ React8.createElement(Toolbar.IconButton, {
746
+ icon: "ph--play--regular",
747
+ label: "Execute",
748
+ iconOnly: true,
749
+ onClick: () => handleRequest(input)
750
+ }), /* @__PURE__ */ React8.createElement(Toolbar.IconButton, {
751
+ icon: "ph--trash--regular",
752
+ label: "Clear",
753
+ iconOnly: true,
754
+ onClick: handleClear
755
+ })));
756
+ });
757
+ var MessageThread = /* @__PURE__ */ forwardRef(({ state, history }, forwardedRef) => {
758
+ return /* @__PURE__ */ React8.createElement(ScrollArea.Root, {
759
+ orientation: "vertical",
760
+ classNames: "h-full",
761
+ ref: forwardedRef
762
+ }, /* @__PURE__ */ React8.createElement(ScrollArea.Viewport, {
763
+ classNames: "gap-6 p-2"
764
+ }, history.map((message, i) => /* @__PURE__ */ React8.createElement("div", {
765
+ key: i,
766
+ className: "grid grid-cols-[2rem_1fr_2rem]"
767
+ }, /* @__PURE__ */ React8.createElement("div", {
768
+ className: "p-1"
769
+ }, message.type === "response" && /* @__PURE__ */ React8.createElement(RobotAvatar, null)), /* @__PURE__ */ React8.createElement("div", {
770
+ className: "overflow-auto"
771
+ }, /* @__PURE__ */ React8.createElement(MessageItem, {
772
+ message
773
+ })))), state === "pending" && /* @__PURE__ */ React8.createElement("div", {
774
+ className: "grid grid-cols-[2rem_1fr_2rem]"
775
+ }, /* @__PURE__ */ React8.createElement("div", {
776
+ className: "p-1"
777
+ }, /* @__PURE__ */ React8.createElement(Icon, {
778
+ icon: "ph--spinner--regular",
779
+ size: 6,
780
+ classNames: "animate-spin"
781
+ })))));
782
+ });
783
+ var MessageItem = ({ classNames, message }) => {
784
+ const { type, text, data, error } = message;
785
+ const wrapper = "p-1 px-2 rounded-md bg-hover-surface overflow-auto";
786
+ return /* @__PURE__ */ React8.createElement("div", {
787
+ className: mx3("flex", type === "request" ? "ml-[1rem] justify-end" : "mr-[1rem]", classNames)
788
+ }, error && /* @__PURE__ */ React8.createElement("div", {
789
+ className: mx3(wrapper, "whitespace-pre text-error-text")
790
+ }, String(error)), text !== void 0 && /* @__PURE__ */ React8.createElement("div", {
791
+ className: mx3(wrapper, type === "request" && "bg-primary-500 dark:bg-primary-600")
792
+ }, text || "\xD8"), data && /* @__PURE__ */ React8.createElement(SyntaxHighlighter, {
793
+ language: "json",
794
+ className: mx3(wrapper, "text-xs")
795
+ }, JSON.stringify(data, null, 2)));
796
+ };
797
+ var RobotAvatar = () => /* @__PURE__ */ React8.createElement(Avatar.Root, null, /* @__PURE__ */ React8.createElement(Avatar.Content, {
798
+ size: 6,
799
+ variant: "circle",
800
+ icon: "ph--robot--regular"
801
+ }));
802
+
803
+ // src/components/index.ts
804
+ var ScriptPluginSettings = lazy(() => import("./ScriptPluginSettings-SDWEDLUU.mjs"));
805
+
806
+ // src/containers/index.ts
807
+ import { lazy as lazy2 } from "react";
808
+ var DeploymentDialog = lazy2(() => import("./DeploymentDialog-XMR2CKP6.mjs"));
809
+ var NotebookContainer = lazy2(() => import("./NotebookContainer-YUVZF6IS.mjs"));
810
+ var ScriptContainer = lazy2(() => import("./ScriptContainer-G4D2YSFE.mjs"));
811
+ var ScriptObjectSettings = lazy2(() => import("./ScriptObjectSettings-XIOE66BL.mjs"));
812
+ var ScriptProperties = lazy2(() => import("./ScriptProperties-5H2Z4XRF.mjs"));
813
+ var TestContainer = lazy2(() => import("./TestContainer-SEFC4F2O.mjs"));
814
+
815
+ // src/meta.ts
816
+ import { trim } from "@dxos/util";
817
+ var meta6 = {
818
+ id: "org.dxos.plugin.script",
819
+ name: "Scripts",
820
+ description: trim`
821
+ Write and deploy custom JavaScript functions that extend your workspace capabilities.
822
+ Create AI agent tools, spreadsheet formulas, and automation scripts that integrate seamlessly with other plugins.
823
+ `,
824
+ icon: "ph--code--regular",
825
+ iconHue: "sky",
826
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer",
827
+ tags: [
828
+ "labs"
829
+ ],
830
+ screenshots: [
831
+ "https://dxos.network/plugin-details-scripts-dark.png"
832
+ ]
833
+ };
834
+ var defaultScriptsForIntegration = {
835
+ // TODO(wittjosiah): Also include content extraction scripts in the default set.
836
+ "gmail.com": [
837
+ "org.dxos.script.gmail"
838
+ ]
839
+ };
840
+
841
+ // src/util/deploy.ts
842
+ import { Context } from "@dxos/context";
843
+ import { Obj as Obj2, Ref } from "@dxos/echo";
844
+ import { getUserFunctionIdInMetadata } from "@dxos/functions";
845
+ import { Operation } from "@dxos/operation";
846
+ import { bundleFunction } from "@dxos/functions-runtime/bundler";
847
+ import { FunctionsServiceClient, incrementSemverPatch } from "@dxos/functions-runtime/edge";
848
+ import { log as log3 } from "@dxos/log";
849
+ import { FunctionRuntimeKind } from "@dxos/protocols";
850
+ var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
851
+ var isScriptDeployed = ({ script, fn }) => {
852
+ const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj2.getMeta(fn));
853
+ return Boolean(existingFunctionId) && !script.changed;
854
+ };
855
+ var deployScript = async ({ script, client, space, fn, existingFunctionId }) => {
856
+ const validationError = validateDeployInputs(script, space);
857
+ if (validationError) {
858
+ return {
859
+ success: false,
860
+ error: validationError
861
+ };
862
+ }
863
+ try {
864
+ const buildResult = await bundleFunction({
865
+ source: script.source.target.content
866
+ });
867
+ if ("error" in buildResult) {
868
+ throw buildResult.error || new Error("Bundle creation failed");
869
+ }
870
+ const functionsServiceClient = FunctionsServiceClient.fromClient(client);
871
+ const newFunction = await functionsServiceClient.deploy(Context.default(void 0, {
872
+ F: __dxlog_file5,
873
+ L: 55
874
+ }), {
875
+ // TODO(dmaretskyi): Space key or identity key.
876
+ ownerPublicKey: space.key,
877
+ version: fn ? incrementSemverPatch(fn.version) : "0.0.1",
878
+ functionId: existingFunctionId,
879
+ entryPoint: buildResult.entryPoint,
880
+ assets: buildResult.assets,
881
+ runtime: FunctionRuntimeKind.enums.WORKER_LOADER
882
+ });
883
+ const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);
884
+ Obj2.change(script, (obj) => {
885
+ obj.changed = false;
886
+ });
887
+ return {
888
+ success: true,
889
+ functionId: getUserFunctionIdInMetadata(Obj2.getMeta(storedFunction))
890
+ };
891
+ } catch (err) {
892
+ log3.catch(err, void 0, {
893
+ F: __dxlog_file5,
894
+ L: 72,
895
+ S: void 0,
896
+ C: (f, a) => f(...a)
897
+ });
898
+ return {
899
+ success: false,
900
+ error: err
901
+ };
902
+ }
903
+ };
904
+ var validateDeployInputs = (script, space) => {
905
+ if (!script.source || !space) {
906
+ return new Error("Script source or space not available");
907
+ }
908
+ return null;
909
+ };
910
+ var createOrUpdateFunctionInSpace = (space, fn, script, newFunction) => {
911
+ if (fn) {
912
+ Operation.setFrom(fn, newFunction);
913
+ return fn;
914
+ } else {
915
+ Obj2.change(newFunction, (obj) => {
916
+ obj.source = Ref.make(script);
917
+ });
918
+ return space.db.add(newFunction);
919
+ }
920
+ };
921
+
922
+ // src/util/functions.ts
923
+ import { Obj as Obj3 } from "@dxos/echo";
924
+ import { getUserFunctionIdInMetadata as getUserFunctionIdInMetadata2 } from "@dxos/functions";
925
+ import { getInvocationUrl } from "@dxos/functions-runtime";
926
+ import { log as log4 } from "@dxos/log";
927
+ import { getSpace } from "@dxos/react-client/echo";
928
+ var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
929
+ var getFunctionUrl = ({ script, fn, edgeUrl }) => {
930
+ const space = getSpace(script);
931
+ const existingFunctionId = fn && getUserFunctionIdInMetadata2(Obj3.getMeta(fn));
932
+ if (!existingFunctionId) {
933
+ return void 0;
934
+ }
935
+ return getInvocationUrl(existingFunctionId, edgeUrl, {
936
+ spaceId: space?.id
937
+ });
938
+ };
939
+ var updateFunctionMetadata = (script, storedFunction, meta9, functionId) => {
940
+ Obj3.change(storedFunction, (obj) => {
941
+ if (script.description !== void 0 && script.description.trim() !== "") {
942
+ obj.description = script.description;
943
+ } else if (meta9.description) {
944
+ obj.description = meta9.description;
945
+ } else {
946
+ log4.verbose("no description in function metadata", {
947
+ functionId
948
+ }, {
949
+ F: __dxlog_file6,
950
+ L: 49,
951
+ S: void 0,
952
+ C: (f, a) => f(...a)
953
+ });
954
+ }
955
+ if (meta9.inputSchema) {
956
+ obj.inputSchema = meta9.inputSchema;
957
+ } else {
958
+ log4.verbose("no input schema in function metadata", {
959
+ functionId
960
+ }, {
961
+ F: __dxlog_file6,
962
+ L: 55,
963
+ S: void 0,
964
+ C: (f, a) => f(...a)
965
+ });
966
+ }
967
+ if (meta9.outputSchema) {
968
+ obj.outputSchema = meta9.outputSchema;
969
+ } else {
970
+ log4.verbose("no output schema in function metadata", {
971
+ functionId
972
+ }, {
973
+ F: __dxlog_file6,
974
+ L: 61,
975
+ S: void 0,
976
+ C: (f, a) => f(...a)
977
+ });
978
+ }
979
+ if (meta9.key) {
980
+ obj.key = meta9.key;
981
+ } else {
982
+ log4.verbose("no key in function metadata", {
983
+ functionId
984
+ }, {
985
+ F: __dxlog_file6,
986
+ L: 67,
987
+ S: void 0,
988
+ C: (f, a) => f(...a)
989
+ });
990
+ }
991
+ });
992
+ };
993
+ var getAccessCredential = (identityKey) => {
994
+ return {
995
+ issuer: identityKey,
996
+ issuanceDate: /* @__PURE__ */ new Date(),
997
+ subject: {
998
+ id: identityKey,
999
+ assertion: {
1000
+ "@type": "dxos.halo.credentials.ServiceAccess",
1001
+ serverName: "hub.dxos.network",
1002
+ serverKey: identityKey,
1003
+ identityKey,
1004
+ capabilities: [
1005
+ "composer:beta"
1006
+ ]
1007
+ }
1008
+ }
1009
+ };
1010
+ };
50
1011
 
51
1012
  // src/ScriptPlugin.tsx
52
- import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
53
- import { Ref } from "@dxos/echo";
1013
+ import * as Effect from "effect/Effect";
1014
+ import * as Option from "effect/Option";
1015
+ import { Plugin } from "@dxos/app-framework";
1016
+ import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
1017
+ import { Annotation, Ref as Ref2 } from "@dxos/echo";
54
1018
  import { Script as Script2 } from "@dxos/functions";
55
- import { ClientEvents } from "@dxos/plugin-client";
56
- import { SpaceCapabilities } from "@dxos/plugin-space";
57
- import { defineObjectForm } from "@dxos/plugin-space/types";
58
-
59
- // src/events.ts
60
- import { defineEvent } from "@dxos/app-framework";
61
- (function(ScriptEvents2) {
62
- ScriptEvents2.SetupCompiler = defineEvent(`${meta.id}/event/setup-compiler`);
63
- })(ScriptEvents || (ScriptEvents = {}));
64
- var ScriptEvents;
1019
+ import { Operation as Operation2 } from "@dxos/operation";
1020
+ import { SpaceOperation } from "@dxos/plugin-space/operations";
1021
+ import { meta as meta8 } from "#meta";
65
1022
 
66
1023
  // src/translations.ts
67
1024
  import { Script } from "@dxos/functions";
1025
+ import { meta as meta7 } from "#meta";
1026
+ import { Notebook } from "#types";
68
1027
  var translations = [
69
1028
  {
70
1029
  "en-US": {
71
1030
  [Script.Script.typename]: {
72
- "typename label": "Script",
73
- "typename label_zero": "Scripts",
74
- "typename label_one": "Script",
75
- "typename label_other": "Scripts",
76
- "object name placeholder": "New script",
77
- "rename object label": "Rename script",
78
- "delete object label": "Delete script"
1031
+ "typename.label": "Script",
1032
+ "typename.label_zero": "Scripts",
1033
+ "typename.label_one": "Script",
1034
+ "typename.label_other": "Scripts",
1035
+ "object-name.placeholder": "New script",
1036
+ "add-object.label": "Add script",
1037
+ "rename-object.label": "Rename script",
1038
+ "delete-object.label": "Delete script",
1039
+ "object-deleted.label": "Script deleted"
79
1040
  },
80
- [Notebook_exports.Notebook.typename]: {
81
- "typename label": "Notebook",
82
- "typename label_zero": "Notebooks",
83
- "typename label_one": "Notebook",
84
- "typename label_other": "Notebooks",
85
- "object name placeholder": "New notebook",
86
- "rename object label": "Rename notebook",
87
- "delete object label": "Delete notebook"
1041
+ [Notebook.Notebook.typename]: {
1042
+ "typename.label": "Notebook",
1043
+ "typename.label_zero": "Notebooks",
1044
+ "typename.label_one": "Notebook",
1045
+ "typename.label_other": "Notebooks",
1046
+ "object-name.placeholder": "New notebook",
1047
+ "add-object.label": "Add notebook",
1048
+ "rename-object.label": "Rename notebook",
1049
+ "delete-object.label": "Delete notebook",
1050
+ "object-deleted.label": "Notebook deleted"
88
1051
  },
89
- [meta.id]: {
90
- "plugin name": "Scripts",
91
- "settings title": "Scripts plugin settings",
92
- "description label": "Description",
93
- "description placeholder": "Enter description",
94
- "binding placeholder": "Function name",
95
- "function request placeholder": "Function request",
96
- "deploy label": "Deploy",
97
- "deployed label": "Current version of the script is deployed",
98
- "upload failed label": "Upload failed",
99
- "copy link label": "Copy function link",
100
- "format label": "Format",
101
- "toggle details label": "Toggle details panel",
102
- "authenticate action label": "Authenticate functions service",
103
- "authenticate button label": "Authenticate",
104
- "name label": "Name",
105
- "remote function settings heading": "Remote Function",
106
- "function url label": "Invocation URL",
107
- "function binding label": "Function binding",
108
- "function binding placeholder": "Enter binding name (e.g., NAME)",
109
- "script publish settings label": "Publishing",
110
- "script publish settings description": "Scripts can be shared publicly as Github gists.",
111
- "no github token label": "This space has no GitHub access token available.",
112
- "open token manager label": "Open Token Manager",
113
- "publish label": "Publish",
114
- "publishing label": "Publishing",
115
- "blueprint editor label": "Blueprint",
116
- "blueprint editor description": "Create a blueprint that exposes this script as a tool.",
117
- "blueprint instructions label": "Instructions",
118
- "blueprint instructions placeholder": "Describe how this tool should be used.",
119
- "create blueprint label": "Create blueprint",
120
- "creating label": "Creating\u2026",
121
- "editor input mode label": "Editor input mode",
122
- "select editor input mode placeholder": "Select editor input mode\u2026",
123
- "settings editor input mode default label": "Default",
124
- "settings editor input mode vim label": "Vim",
125
- "settings editor input mode vscode label": "VS Code",
126
- "function panel label": "Debug Function",
127
- "script test label": "Test",
128
- "script logs label": "Logs",
129
- "deployment dialog title": "Default Scripts",
130
- "deployment dialog scripts found message": "Script templates:",
131
- "deployment dialog deploy functions button label_one": "Create and deploy script",
132
- "deployment dialog deploy functions button label_other": "Create and deploy scripts",
133
- "deployment dialog deploy functions pending button label_one": "Deploying script",
134
- "deployment dialog deploy functions pending button label_other": "Deploying scripts",
135
- "deployment dialog skip button label": "Skip",
136
- "script deployment toast label_one": "Script deployed",
137
- "script deployment toast label_other": "Scripts deployed",
138
- "script deployment toast description_one": "Your script has been deployed successfully.",
139
- "script deployment toast description_other": "Your scripts have been deployed successfully.",
140
- "script deployment toast close label_one": "Close",
141
- "script deployment toast close label_other": "Close",
142
- "script deployment error toast label_one": "Script deployment failed",
143
- "script deployment error toast label_other": "Scripts deployment failed",
144
- "script deployment error toast description_one": "There was an error deploying your script.",
145
- "script deployment error toast description_other": "There was an error deploying your scripts.",
146
- "script deployment error toast close label_one": "Close",
147
- "script deployment error toast close label_other": "Close",
148
- "notebook cell placeholder": "Enter script",
149
- "notebook cell delete label": "Delete cell",
150
- "notebook cell prompt run label": "Run",
151
- "notebook cell insert markdown label": "Insert Markdown",
152
- "notebook cell insert script label": "Insert Script",
153
- "notebook cell insert prompt label": "Insert Prompt",
154
- "notebook cell insert query label": "Insert Query",
155
- "notebook markdown placeholder": "Enter Markdown",
156
- "notebook prompt placeholder": "Enter prompt",
157
- "notebook cell insert label": "Insert cell"
1052
+ [meta7.id]: {
1053
+ "plugin.name": "Scripts",
1054
+ "settings.title": "Scripts settings",
1055
+ "description.label": "Description",
1056
+ "description.placeholder": "Enter description",
1057
+ "binding.placeholder": "Function name",
1058
+ "function-request.placeholder": "Function request",
1059
+ "deploy.label": "Deploy",
1060
+ "deployed.label": "Current version of the script is deployed",
1061
+ "upload-failed.label": "Upload failed",
1062
+ "copy-link.label": "Copy function link",
1063
+ "format.label": "Format",
1064
+ "toggle-details.label": "Toggle details panel",
1065
+ "authenticate-action.label": "Authenticate functions service",
1066
+ "authenticate-action.description": "Sign in to the remote functions service to enable script deployment and execution.",
1067
+ "authenticate-button.label": "Authenticate",
1068
+ "name.label": "Name",
1069
+ "remote-function-settings.heading": "Remote Function",
1070
+ "function-url.label": "Invocation URL",
1071
+ "function-binding.label": "Function binding",
1072
+ "function-binding.placeholder": "Enter binding name (e.g., NAME)",
1073
+ "script-publish-settings.label": "Publishing",
1074
+ "script-publish-settings.description": "Scripts can be shared publicly as Github gists.",
1075
+ "no-github-token.label": "This space has no GitHub access token available.",
1076
+ "open-token-manager.label": "Open Token Manager",
1077
+ "publish.label": "Publish",
1078
+ "publishing.label": "Publishing",
1079
+ "blueprint-editor.label": "Blueprint",
1080
+ "blueprint-editor.description": "Create a blueprint that exposes this script as a tool.",
1081
+ "blueprint-instructions.label": "Instructions",
1082
+ "blueprint-instructions.placeholder": "Describe how this tool should be used.",
1083
+ "create-blueprint.label": "Create blueprint",
1084
+ "creating.label": "Creating\u2026",
1085
+ "editor-input-mode.label": "Editor input mode",
1086
+ "editor-input-mode.description": "Choose the keybinding style for the script editor.",
1087
+ "select-editor-input-mode.placeholder": "Select editor input mode\u2026",
1088
+ "settings.editor-input-mode.default.label": "Default",
1089
+ "settings.editor-input-mode.vim.label": "Vim",
1090
+ "settings.editor-input-mode.vscode.label": "VS Code",
1091
+ "function-panel.label": "Debug Function",
1092
+ "script-test.label": "Test",
1093
+ "script-logs.label": "Logs",
1094
+ "compute.label": "Compute",
1095
+ "deployment-dialog.title": "Default Scripts",
1096
+ "deployment-dialog-scripts-found.message": "Script templates:",
1097
+ "deployment-dialog-deploy-functions-button.label_one": "Create and deploy script",
1098
+ "deployment-dialog-deploy-functions-button.label_other": "Create and deploy scripts",
1099
+ "deployment-dialog-deploy-functions-pending-button.label_one": "Deploying script",
1100
+ "deployment-dialog-deploy-functions-pending-button.label_other": "Deploying scripts",
1101
+ "deployment-dialog-skip-button.label": "Skip",
1102
+ "script-deployment-toast.label_one": "Script deployed",
1103
+ "script-deployment-toast.label_other": "Scripts deployed",
1104
+ "script-deployment-toast.description_one": "Your script has been deployed successfully.",
1105
+ "script-deployment-toast.description_other": "Your scripts have been deployed successfully.",
1106
+ "script-deployment-toast-close.label_one": "Close",
1107
+ "script-deployment-toast-close.label_other": "Close",
1108
+ "script-deployment-error-toast.label_one": "Script deployment failed",
1109
+ "script-deployment-error-toast.label_other": "Scripts deployment failed",
1110
+ "script-deployment-error-toast.description_one": "There was an error deploying your script.",
1111
+ "script-deployment-error-toast.description_other": "There was an error deploying your scripts.",
1112
+ "script-deployment-error-toast-close.label_one": "Close",
1113
+ "script-deployment-error-toast-close.label_other": "Close",
1114
+ "notebook-cell.placeholder": "Enter script",
1115
+ "notebook-cell-delete.label": "Delete cell",
1116
+ "notebook-cell-prompt-run.label": "Run",
1117
+ "notebook-cell-insert-markdown.label": "Insert Markdown",
1118
+ "notebook-cell-insert-script.label": "Insert Script",
1119
+ "notebook-cell-insert-prompt.label": "Insert Prompt",
1120
+ "notebook-cell-insert-query.label": "Insert Query",
1121
+ "notebook-markdown.placeholder": "Enter Markdown",
1122
+ "notebook-prompt.placeholder": "Enter prompt",
1123
+ "notebook-cell-insert.label": "Insert cell"
158
1124
  }
159
1125
  }
160
1126
  }
161
1127
  ];
162
1128
 
163
1129
  // src/ScriptPlugin.tsx
164
- var ScriptPlugin = definePlugin(meta, () => [
165
- defineModule({
166
- id: `${meta.id}/module/settings`,
167
- activatesOn: Events.SetupSettings,
168
- activate: ScriptSettings
169
- }),
170
- defineModule({
171
- id: `${meta.id}/module/compiler`,
172
- activatesOn: ScriptEvents.SetupCompiler,
173
- activate: Compiler
174
- }),
175
- defineModule({
176
- id: `${meta.id}/module/translations`,
177
- activatesOn: Events.SetupTranslations,
178
- activate: () => contributes(Capabilities.Translations, translations)
179
- }),
180
- defineModule({
181
- id: `${meta.id}/module/metadata`,
182
- activatesOn: Events.SetupMetadata,
183
- activate: () => [
184
- contributes(Capabilities.Metadata, {
185
- id: Script2.Script.typename,
186
- metadata: {
187
- icon: "ph--code--regular",
188
- iconHue: "sky",
189
- // TODO(wittjosiah): Move out of metadata.
190
- loadReferences: async (script) => await Ref.Array.loadAll([
191
- script.source
192
- ])
193
- }
194
- }),
195
- contributes(Capabilities.Metadata, {
196
- id: Notebook_exports.Notebook.typename,
197
- metadata: {
198
- icon: "ph--notebook--regular",
199
- iconHue: "sky"
200
- }
201
- })
202
- ]
203
- }),
204
- defineModule({
205
- id: `${meta.id}/module/app-graph-builder`,
206
- activatesOn: Events.SetupAppGraph,
207
- activate: AppGraphBuilder
208
- }),
209
- defineModule({
210
- id: `${meta.id}/module/script/object-form`,
211
- activatesOn: ClientEvents.SetupSchema,
212
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
213
- objectSchema: Script2.Script,
214
- formSchema: ScriptAction.ScriptProps,
215
- getIntent: (props, options) => createIntent(ScriptAction.CreateScript, {
216
- ...props,
217
- space: options.space
218
- })
219
- }))
220
- }),
221
- defineModule({
222
- id: `${meta.id}/module/notebook/object-form`,
223
- activatesOn: ClientEvents.SetupSchema,
224
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
225
- objectSchema: Notebook_exports.Notebook,
226
- formSchema: ScriptAction.NotebookProps,
227
- getIntent: (props, options) => createIntent(ScriptAction.CreateNotebook, {
228
- ...props,
229
- space: options.space
230
- })
231
- }))
232
- }),
233
- defineModule({
234
- id: `${meta.id}/module/react-surface`,
235
- activatesOn: Events.SetupReactSurface,
236
- // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.
237
- activatesBefore: [
238
- ScriptEvents.SetupCompiler
239
- ],
240
- activate: ReactSurface
241
- }),
242
- defineModule({
243
- id: `${meta.id}/module/intent-resolver`,
244
- activatesOn: Events.SetupIntentResolver,
245
- activate: IntentResolver
246
- }),
247
- defineModule({
248
- id: `${meta.id}/module/blueprint`,
249
- activatesOn: Events.SetupArtifactDefinition,
250
- activate: BlueprintDefinition
251
- })
252
- ]);
1130
+ import { ScriptEvents as ScriptEvents2 } from "#types";
1131
+ import { Notebook as Notebook2 } from "#types";
1132
+ import { ScriptOperation } from "#operations";
1133
+ import { AppGraphBuilder, BlueprintDefinition, Compiler as Compiler2, OperationHandler, ReactSurface, ScriptSettings } from "#capabilities";
1134
+ var ScriptPlugin = Plugin.define(meta8).pipe(AppPlugin.addAppGraphModule({
1135
+ activate: AppGraphBuilder
1136
+ }), AppPlugin.addBlueprintDefinitionModule({
1137
+ activate: BlueprintDefinition
1138
+ }), AppPlugin.addMetadataModule({
1139
+ metadata: [
1140
+ {
1141
+ id: Script2.Script.typename,
1142
+ metadata: {
1143
+ icon: Annotation.IconAnnotation.get(Script2.Script).pipe(Option.getOrThrow).icon,
1144
+ iconHue: Annotation.IconAnnotation.get(Script2.Script).pipe(Option.getOrThrow).hue ?? "white",
1145
+ // TODO(wittjosiah): Move out of metadata.
1146
+ loadReferences: async (script) => await Ref2.Array.loadAll([
1147
+ script.source
1148
+ ]),
1149
+ inputSchema: ScriptOperation.ScriptProps,
1150
+ createObject: (props, options) => Effect.gen(function* () {
1151
+ const { object } = yield* Operation2.invoke(ScriptOperation.CreateScript, props);
1152
+ return yield* Operation2.invoke(SpaceOperation.AddObject, {
1153
+ object,
1154
+ target: options.target,
1155
+ hidden: true,
1156
+ targetNodeId: options.targetNodeId
1157
+ });
1158
+ })
1159
+ }
1160
+ },
1161
+ {
1162
+ id: Notebook2.Notebook.typename,
1163
+ metadata: {
1164
+ icon: Annotation.IconAnnotation.get(Notebook2.Notebook).pipe(Option.getOrThrow).icon,
1165
+ iconHue: Annotation.IconAnnotation.get(Notebook2.Notebook).pipe(Option.getOrThrow).hue ?? "white",
1166
+ inputSchema: ScriptOperation.NotebookProps,
1167
+ createObject: (props, options) => Effect.gen(function* () {
1168
+ const object = Notebook2.make(props);
1169
+ return yield* Operation2.invoke(SpaceOperation.AddObject, {
1170
+ object,
1171
+ target: options.target,
1172
+ hidden: true,
1173
+ targetNodeId: options.targetNodeId
1174
+ });
1175
+ })
1176
+ }
1177
+ }
1178
+ ]
1179
+ }), AppPlugin.addOperationHandlerModule({
1180
+ activate: OperationHandler
1181
+ }), AppPlugin.addSchemaModule({
1182
+ schema: [
1183
+ Script2.Script
1184
+ ]
1185
+ }), AppPlugin.addSurfaceModule({
1186
+ activate: ReactSurface
1187
+ }), AppPlugin.addTranslationsModule({
1188
+ translations
1189
+ }), Plugin.addModule({
1190
+ activatesOn: AppActivationEvents.SetupSettings,
1191
+ activate: ScriptSettings
1192
+ }), Plugin.addModule({
1193
+ activatesOn: ScriptEvents2.SetupCompiler,
1194
+ activate: Compiler2
1195
+ }), Plugin.make);
253
1196
  export {
254
- DEPLOYMENT_DIALOG,
255
1197
  DeploymentDialog,
1198
+ FramePanel,
256
1199
  NotebookContainer,
257
1200
  NotebookMenu,
258
1201
  NotebookStack,
1202
+ QueryEditor2 as QueryEditor,
259
1203
  ScriptCapabilities,
260
1204
  ScriptContainer,
1205
+ ScriptEvents,
261
1206
  ScriptObjectSettings,
262
1207
  ScriptPlugin,
263
1208
  ScriptPluginSettings,
264
1209
  ScriptProperties,
1210
+ ScriptToolbar,
265
1211
  TestContainer,
266
1212
  TestPanel,
1213
+ TypescriptEditor,
267
1214
  defaultScriptsForIntegration,
268
1215
  deployScript,
269
1216
  getAccessCredential,
270
1217
  getFunctionUrl,
271
1218
  isScriptDeployed,
272
- meta,
1219
+ meta6 as meta,
273
1220
  updateFunctionMetadata
274
1221
  };
275
1222
  //# sourceMappingURL=index.mjs.map