@dxos/plugin-script 0.8.4-main.70d3990 → 0.8.4-main.7996785055

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 (508) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-LGEGIX64.mjs +124 -0
  3. package/dist/lib/browser/DeploymentDialog-LGEGIX64.mjs.map +7 -0
  4. package/dist/lib/browser/{NotebookContainer-MHY3DXDE.mjs → NotebookContainer-CC3G32Q5.mjs} +281 -248
  5. package/dist/lib/browser/NotebookContainer-CC3G32Q5.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-Z3MCPN2D.mjs +95 -0
  7. package/dist/lib/browser/ScriptContainer-Z3MCPN2D.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-LST7DUAN.mjs +297 -0
  9. package/dist/lib/browser/ScriptObjectSettings-LST7DUAN.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-IKWRISC3.mjs +55 -0
  11. package/dist/lib/browser/ScriptPluginSettings-IKWRISC3.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-ZCRTZTAK.mjs +28 -0
  13. package/dist/lib/browser/ScriptProperties-ZCRTZTAK.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-ACNQMKVU.mjs +61 -0
  15. package/dist/lib/browser/TestContainer-ACNQMKVU.mjs.map +7 -0
  16. package/dist/lib/browser/access-token-created-ZHVVOEL7.mjs +36 -0
  17. package/dist/lib/browser/access-token-created-ZHVVOEL7.mjs.map +7 -0
  18. package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs +63 -0
  19. package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs.map +7 -0
  20. package/dist/lib/browser/blueprint-definition-MC264VR5.mjs +17 -0
  21. package/dist/lib/browser/blueprint-definition-MC264VR5.mjs.map +7 -0
  22. package/dist/lib/browser/blueprints/index.mjs +8 -0
  23. package/dist/lib/browser/{chunk-EB6AXFXO.mjs → chunk-37XPSUAH.mjs} +3 -3
  24. package/dist/lib/browser/chunk-37XPSUAH.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-4XJSGCAS.mjs +742 -0
  26. package/dist/lib/browser/chunk-4XJSGCAS.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-7JI376EM.mjs +20 -0
  28. package/dist/lib/browser/chunk-7JI376EM.mjs.map +7 -0
  29. package/dist/lib/browser/{compiler-4KHRSX7J.mjs → chunk-ATTZUDT7.mjs} +14 -33
  30. package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-BHRCZLLU.mjs +105 -0
  32. package/dist/lib/browser/chunk-BHRCZLLU.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-CMHREENI.mjs +8 -0
  34. package/dist/lib/browser/chunk-CMHREENI.mjs.map +7 -0
  35. package/dist/lib/browser/chunk-DBEYGFVF.mjs +400 -0
  36. package/dist/lib/browser/chunk-DBEYGFVF.mjs.map +7 -0
  37. package/dist/lib/browser/chunk-E6BQ4P6L.mjs +179 -0
  38. package/dist/lib/browser/chunk-E6BQ4P6L.mjs.map +7 -0
  39. package/dist/lib/browser/chunk-GB2HL4ZE.mjs +26 -0
  40. package/dist/lib/browser/chunk-GB2HL4ZE.mjs.map +7 -0
  41. package/dist/lib/browser/chunk-NQJRENSK.mjs +75 -0
  42. package/dist/lib/browser/chunk-NQJRENSK.mjs.map +7 -0
  43. package/dist/lib/browser/chunk-QLFFA4Y4.mjs +52 -0
  44. package/dist/lib/browser/chunk-QLFFA4Y4.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-X44CJ7F5.mjs +11 -0
  46. package/dist/lib/browser/chunk-X44CJ7F5.mjs.map +7 -0
  47. package/dist/lib/browser/compiler-MZKFKYCG.mjs +98 -0
  48. package/dist/lib/browser/compiler-MZKFKYCG.mjs.map +7 -0
  49. package/dist/lib/browser/create-script-Z7J4HDV2.mjs +47 -0
  50. package/dist/lib/browser/create-script-Z7J4HDV2.mjs.map +7 -0
  51. package/dist/lib/browser/index.mjs +120 -120
  52. package/dist/lib/browser/index.mjs.map +4 -4
  53. package/dist/lib/browser/meta.json +1 -1
  54. package/dist/lib/browser/operation-handler-76AHUB5G.mjs +18 -0
  55. package/dist/lib/browser/operation-handler-76AHUB5G.mjs.map +7 -0
  56. package/dist/lib/browser/operations/index.mjs +14 -0
  57. package/dist/lib/browser/react-surface-2VVUIV66.mjs +145 -0
  58. package/dist/lib/browser/react-surface-2VVUIV66.mjs.map +7 -0
  59. package/dist/lib/browser/settings-BV3KXROF.mjs +35 -0
  60. package/dist/lib/browser/settings-BV3KXROF.mjs.map +7 -0
  61. package/dist/lib/browser/templates/index.mjs +1 -1
  62. package/dist/lib/browser/types/index.mjs +6 -5
  63. package/dist/lib/node-esm/DeploymentDialog-XSP2EDU2.mjs +125 -0
  64. package/dist/lib/node-esm/DeploymentDialog-XSP2EDU2.mjs.map +7 -0
  65. package/dist/lib/node-esm/{NotebookContainer-U4C2HQ4T.mjs → NotebookContainer-LNWMJD2D.mjs} +281 -248
  66. package/dist/lib/node-esm/NotebookContainer-LNWMJD2D.mjs.map +7 -0
  67. package/dist/lib/node-esm/ScriptContainer-TSU4DBGA.mjs +96 -0
  68. package/dist/lib/node-esm/ScriptContainer-TSU4DBGA.mjs.map +7 -0
  69. package/dist/lib/node-esm/ScriptObjectSettings-OGY7X3UE.mjs +298 -0
  70. package/dist/lib/node-esm/ScriptObjectSettings-OGY7X3UE.mjs.map +7 -0
  71. package/dist/lib/node-esm/ScriptPluginSettings-HIUSAHCP.mjs +56 -0
  72. package/dist/lib/node-esm/ScriptPluginSettings-HIUSAHCP.mjs.map +7 -0
  73. package/dist/lib/node-esm/ScriptProperties-I6SC4P3R.mjs +29 -0
  74. package/dist/lib/node-esm/ScriptProperties-I6SC4P3R.mjs.map +7 -0
  75. package/dist/lib/node-esm/TestContainer-WKISNRNU.mjs +62 -0
  76. package/dist/lib/node-esm/TestContainer-WKISNRNU.mjs.map +7 -0
  77. package/dist/lib/node-esm/access-token-created-7CGU7FXD.mjs +37 -0
  78. package/dist/lib/node-esm/access-token-created-7CGU7FXD.mjs.map +7 -0
  79. package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs +64 -0
  80. package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs.map +7 -0
  81. package/dist/lib/node-esm/blueprint-definition-DTRGTRZA.mjs +18 -0
  82. package/dist/lib/node-esm/blueprint-definition-DTRGTRZA.mjs.map +7 -0
  83. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  84. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-2NGQCFVE.mjs +28 -0
  86. package/dist/lib/node-esm/chunk-2NGQCFVE.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-4YAEFFW2.mjs +12 -0
  88. package/dist/lib/node-esm/chunk-4YAEFFW2.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-C3GH2SDF.mjs +76 -0
  90. package/dist/lib/node-esm/chunk-C3GH2SDF.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-CKYUNEE5.mjs +10 -0
  92. package/dist/lib/node-esm/chunk-CKYUNEE5.mjs.map +7 -0
  93. package/dist/lib/node-esm/{compiler-DU5NQISX.mjs → chunk-JGN7TDJH.mjs} +14 -32
  94. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +7 -0
  95. package/dist/lib/node-esm/{chunk-IBV2DR36.mjs → chunk-L3JLWXB5.mjs} +3 -3
  96. package/dist/lib/node-esm/chunk-L3JLWXB5.mjs.map +7 -0
  97. package/dist/lib/node-esm/chunk-L55OBVT5.mjs +53 -0
  98. package/dist/lib/node-esm/chunk-L55OBVT5.mjs.map +7 -0
  99. package/dist/lib/node-esm/chunk-P4Q2BPBB.mjs +22 -0
  100. package/dist/lib/node-esm/chunk-P4Q2BPBB.mjs.map +7 -0
  101. package/dist/lib/node-esm/chunk-RN2SMYCL.mjs +401 -0
  102. package/dist/lib/node-esm/chunk-RN2SMYCL.mjs.map +7 -0
  103. package/dist/lib/node-esm/chunk-RTM3D4T5.mjs +181 -0
  104. package/dist/lib/node-esm/chunk-RTM3D4T5.mjs.map +7 -0
  105. package/dist/lib/node-esm/chunk-SV742UH7.mjs +743 -0
  106. package/dist/lib/node-esm/chunk-SV742UH7.mjs.map +7 -0
  107. package/dist/lib/node-esm/chunk-Y5VWHRVU.mjs +107 -0
  108. package/dist/lib/node-esm/chunk-Y5VWHRVU.mjs.map +7 -0
  109. package/dist/lib/node-esm/compiler-QBWP7ERK.mjs +99 -0
  110. package/dist/lib/node-esm/compiler-QBWP7ERK.mjs.map +7 -0
  111. package/dist/lib/node-esm/create-script-TAJHVROB.mjs +48 -0
  112. package/dist/lib/node-esm/create-script-TAJHVROB.mjs.map +7 -0
  113. package/dist/lib/node-esm/index.mjs +120 -120
  114. package/dist/lib/node-esm/index.mjs.map +4 -4
  115. package/dist/lib/node-esm/meta.json +1 -1
  116. package/dist/lib/node-esm/operation-handler-OUROH3T7.mjs +19 -0
  117. package/dist/lib/node-esm/operation-handler-OUROH3T7.mjs.map +7 -0
  118. package/dist/lib/node-esm/operations/index.mjs +15 -0
  119. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  120. package/dist/lib/node-esm/react-surface-OJ55GFCP.mjs +146 -0
  121. package/dist/lib/node-esm/react-surface-OJ55GFCP.mjs.map +7 -0
  122. package/dist/lib/node-esm/settings-2TK3XPLD.mjs +36 -0
  123. package/dist/lib/node-esm/settings-2TK3XPLD.mjs.map +7 -0
  124. package/dist/lib/node-esm/templates/index.mjs +1 -1
  125. package/dist/lib/node-esm/types/index.mjs +6 -5
  126. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  127. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  128. package/dist/types/src/blueprints/index.d.ts +2 -0
  129. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  131. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  132. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  133. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  134. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  135. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  137. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  139. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  141. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  143. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  145. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  147. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/index.d.ts +6 -7
  149. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/operation-handler/index.d.ts +4 -0
  151. package/dist/types/src/capabilities/operation-handler/index.d.ts.map +1 -0
  152. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts +6 -0
  153. package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  155. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  156. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  157. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  158. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  159. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  160. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  161. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  162. package/dist/types/src/compiler/compiler.d.ts +1 -1
  163. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  164. package/dist/types/src/components/{FrameContainer/FrameContainer.d.ts → FramePanel/FramePanel.d.ts} +3 -3
  165. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  166. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  167. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  168. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +3 -3
  169. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  170. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +8 -2
  171. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  172. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +5 -1
  173. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  174. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  175. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  176. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  177. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  178. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  179. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  180. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +11 -5
  181. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  182. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +5 -1
  183. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  184. package/dist/types/src/components/TestPanel/TestPanel.d.ts +8 -2
  185. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  186. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  187. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  188. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +9 -2
  189. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  190. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +7 -1
  191. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  192. package/dist/types/src/components/index.d.ts +4 -5
  193. package/dist/types/src/components/index.d.ts.map +1 -1
  194. package/dist/types/src/constants.d.ts +2 -0
  195. package/dist/types/src/constants.d.ts.map +1 -0
  196. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +0 -2
  197. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  198. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts +4 -3
  199. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  200. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  201. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  202. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  203. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  204. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  205. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  206. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  207. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  209. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  210. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  211. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  212. package/dist/types/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.d.ts +0 -1
  213. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  215. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  217. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  218. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +3 -0
  219. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +1 -0
  220. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  221. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  222. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  223. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  224. package/dist/types/src/{components/TestPanel → containers/TestContainer}/TestContainer.d.ts +1 -1
  225. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  226. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  227. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  228. package/dist/types/src/containers/index.d.ts +9 -0
  229. package/dist/types/src/containers/index.d.ts.map +1 -0
  230. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  231. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  232. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  233. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  234. package/dist/types/src/hooks/deploy.d.ts +14 -29
  235. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  236. package/dist/types/src/hooks/format.d.ts +3 -2
  237. package/dist/types/src/hooks/format.d.ts.map +1 -1
  238. package/dist/types/src/hooks/index.d.ts +1 -0
  239. package/dist/types/src/hooks/index.d.ts.map +1 -1
  240. package/dist/types/src/hooks/template.d.ts +3 -2
  241. package/dist/types/src/hooks/template.d.ts.map +1 -1
  242. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  243. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  244. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  245. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  246. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  247. package/dist/types/src/index.d.ts +2 -1
  248. package/dist/types/src/index.d.ts.map +1 -1
  249. package/dist/types/src/meta.d.ts +2 -2
  250. package/dist/types/src/meta.d.ts.map +1 -1
  251. package/dist/types/src/notebook/compute-graph.d.ts +24 -11
  252. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  253. package/dist/types/src/operations/access-token-created.d.ts +5 -0
  254. package/dist/types/src/operations/access-token-created.d.ts.map +1 -0
  255. package/dist/types/src/operations/create-script.d.ts +5 -0
  256. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  257. package/dist/types/src/operations/definitions.d.ts +28 -0
  258. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  259. package/dist/types/src/operations/index.d.ts +4 -0
  260. package/dist/types/src/operations/index.d.ts.map +1 -0
  261. package/dist/types/src/templates/anthropic.d.ts +7 -0
  262. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  263. package/dist/types/src/templates/chess-bot.d.ts +18 -0
  264. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  265. package/dist/types/src/templates/commentary.d.ts +19 -0
  266. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  267. package/dist/types/src/templates/forex-effect.d.ts +5 -1
  268. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  269. package/dist/types/src/templates/forex.d.ts +5 -1
  270. package/dist/types/src/templates/forex.d.ts.map +1 -1
  271. package/dist/types/src/templates/index.d.ts +25 -16
  272. package/dist/types/src/templates/index.d.ts.map +1 -1
  273. package/dist/types/src/templates/ping.d.ts +2 -4
  274. package/dist/types/src/templates/ping.d.ts.map +1 -1
  275. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  276. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  277. package/dist/types/src/translations.d.ts +2 -0
  278. package/dist/types/src/translations.d.ts.map +1 -1
  279. package/dist/types/src/types/Notebook.d.ts +100 -21
  280. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  281. package/dist/types/src/types/capabilities.d.ts +12 -0
  282. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  283. package/dist/types/src/types/events.d.ts +5 -0
  284. package/dist/types/src/types/events.d.ts.map +1 -0
  285. package/dist/types/src/types/index.d.ts +2 -1
  286. package/dist/types/src/types/index.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 +125 -88
  293. package/src/ScriptPlugin.tsx +60 -70
  294. package/src/blueprints/index.ts +5 -0
  295. package/src/blueprints/script-blueprint.ts +28 -0
  296. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  297. package/src/capabilities/app-graph-builder/index.ts +7 -0
  298. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +97 -94
  299. package/src/capabilities/artifact-definition/index.ts +7 -0
  300. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  301. package/src/capabilities/blueprint-definition/index.ts +7 -0
  302. package/src/capabilities/compiler/compiler.ts +103 -0
  303. package/src/capabilities/compiler/index.ts +7 -0
  304. package/src/capabilities/index.ts +6 -10
  305. package/src/capabilities/operation-handler/index.ts +11 -0
  306. package/src/capabilities/operation-handler/operation-handler.ts +16 -0
  307. package/src/capabilities/react-surface/index.ts +7 -0
  308. package/src/capabilities/react-surface/react-surface.tsx +138 -0
  309. package/src/capabilities/settings/index.ts +7 -0
  310. package/src/capabilities/settings/settings.ts +33 -0
  311. package/src/compiler/compiler.ts +10 -3
  312. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +7 -6
  313. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  314. package/src/components/NotebookStack/NotebookCell.tsx +23 -24
  315. package/src/components/NotebookStack/NotebookStack.stories.tsx +20 -21
  316. package/src/components/NotebookStack/NotebookStack.tsx +27 -16
  317. package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
  318. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  319. package/src/components/QueryEditor/index.ts +5 -0
  320. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +39 -17
  321. package/src/components/ScriptToolbar/ScriptToolbar.tsx +35 -40
  322. package/src/components/TestPanel/TestPanel.tsx +106 -186
  323. package/src/components/TestPanel/index.ts +0 -1
  324. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +23 -16
  325. package/src/components/TypescriptEditor/TypescriptEditor.tsx +73 -65
  326. package/src/components/index.ts +4 -9
  327. package/src/constants.ts +7 -0
  328. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.tsx +29 -24
  329. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +98 -0
  330. package/src/containers/DeploymentDialog/index.ts +7 -0
  331. package/src/{components → containers/NotebookContainer}/NotebookContainer.stories.tsx +30 -29
  332. package/src/{components → containers/NotebookContainer}/NotebookContainer.tsx +84 -76
  333. package/src/containers/NotebookContainer/index.ts +7 -0
  334. package/src/containers/ScriptContainer/ScriptContainer.tsx +85 -0
  335. package/src/containers/ScriptContainer/index.ts +7 -0
  336. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +61 -64
  337. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  338. package/src/{components/Settings → containers/ScriptPluginSettings}/ScriptPluginSettings.tsx +19 -14
  339. package/src/containers/ScriptPluginSettings/index.ts +7 -0
  340. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  341. package/src/containers/ScriptProperties/index.ts +7 -0
  342. package/src/containers/TestContainer/TestContainer.tsx +45 -0
  343. package/src/containers/TestContainer/index.ts +7 -0
  344. package/src/containers/index.ts +13 -0
  345. package/src/e2e/ai.test.ts +93 -0
  346. package/src/e2e/deploy.test.ts +65 -0
  347. package/src/hooks/deploy.ts +39 -31
  348. package/src/hooks/format.ts +6 -1
  349. package/src/hooks/index.ts +1 -0
  350. package/src/hooks/template.ts +17 -11
  351. package/src/hooks/useCompiler.ts +24 -0
  352. package/src/hooks/useCreateAndDeployScriptTemplates.ts +13 -19
  353. package/src/hooks/useToolbarState.ts +29 -4
  354. package/src/index.ts +2 -1
  355. package/src/meta.ts +4 -4
  356. package/src/notebook/compute-graph.test.ts +20 -8
  357. package/src/notebook/compute-graph.ts +45 -21
  358. package/src/operations/access-token-created.ts +36 -0
  359. package/src/operations/create-script.ts +47 -0
  360. package/src/operations/definitions.ts +40 -0
  361. package/src/operations/index.ts +12 -0
  362. package/src/templates/anthropic.ts +49 -0
  363. package/src/templates/chat.ts +1 -1
  364. package/src/templates/chess-bot.ts +61 -0
  365. package/src/templates/commentary.ts +243 -0
  366. package/src/templates/data-generator.ts +2 -2
  367. package/src/templates/discord.ts +3 -3
  368. package/src/templates/forex-effect.ts +35 -29
  369. package/src/templates/forex.ts +27 -17
  370. package/src/templates/gmail.ts +4 -4
  371. package/src/templates/index.ts +31 -18
  372. package/src/templates/ping.ts +22 -5
  373. package/src/testing/simulator.test.ts +40 -0
  374. package/src/translations.ts +2 -0
  375. package/src/types/Notebook.ts +16 -13
  376. package/src/types/capabilities.ts +17 -0
  377. package/src/types/events.ts +11 -0
  378. package/src/types/index.ts +2 -1
  379. package/src/types/types.ts +1 -1
  380. package/src/util/deploy.ts +24 -28
  381. package/src/util/functions.ts +27 -24
  382. package/src/vite-env.d.ts +2 -0
  383. package/dist/lib/browser/DeploymentDialog-5TKNGPVR.mjs +0 -14
  384. package/dist/lib/browser/NotebookContainer-MHY3DXDE.mjs.map +0 -7
  385. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs +0 -148
  386. package/dist/lib/browser/ScriptContainer-CW6YN3DQ.mjs.map +0 -7
  387. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs +0 -66
  388. package/dist/lib/browser/app-graph-builder-2WR2ATTJ.mjs.map +0 -7
  389. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs +0 -30
  390. package/dist/lib/browser/blueprint-definition-6PZWZM2Y.mjs.map +0 -7
  391. package/dist/lib/browser/chunk-2G2NA6DQ.mjs +0 -88
  392. package/dist/lib/browser/chunk-2G2NA6DQ.mjs.map +0 -7
  393. package/dist/lib/browser/chunk-ALS6X4HU.mjs +0 -304
  394. package/dist/lib/browser/chunk-ALS6X4HU.mjs.map +0 -7
  395. package/dist/lib/browser/chunk-EB6AXFXO.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-M6KJPUJK.mjs +0 -111
  397. package/dist/lib/browser/chunk-M6KJPUJK.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-N5EYLQOT.mjs +0 -647
  399. package/dist/lib/browser/chunk-N5EYLQOT.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-QIZ3BPRK.mjs +0 -103
  401. package/dist/lib/browser/chunk-QIZ3BPRK.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-SAN5Y7FI.mjs +0 -155
  403. package/dist/lib/browser/chunk-SAN5Y7FI.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-ULJFT73Q.mjs +0 -513
  405. package/dist/lib/browser/chunk-ULJFT73Q.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-UOQ6NCH3.mjs +0 -15
  407. package/dist/lib/browser/chunk-UOQ6NCH3.mjs.map +0 -7
  408. package/dist/lib/browser/compiler-4KHRSX7J.mjs.map +0 -7
  409. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs +0 -104
  410. package/dist/lib/browser/intent-resolver-TXTBWOVD.mjs.map +0 -7
  411. package/dist/lib/browser/react-surface-R245YN52.mjs +0 -128
  412. package/dist/lib/browser/react-surface-R245YN52.mjs.map +0 -7
  413. package/dist/lib/browser/settings-MHJXRGDF.mjs +0 -26
  414. package/dist/lib/browser/settings-MHJXRGDF.mjs.map +0 -7
  415. package/dist/lib/node-esm/DeploymentDialog-2ULNOZQH.mjs +0 -15
  416. package/dist/lib/node-esm/NotebookContainer-U4C2HQ4T.mjs.map +0 -7
  417. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs +0 -149
  418. package/dist/lib/node-esm/ScriptContainer-VRPEKB4T.mjs.map +0 -7
  419. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs +0 -67
  420. package/dist/lib/node-esm/app-graph-builder-NCVLUL5R.mjs.map +0 -7
  421. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs +0 -31
  422. package/dist/lib/node-esm/blueprint-definition-5R6YCSZZ.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-55JZVM6K.mjs +0 -16
  424. package/dist/lib/node-esm/chunk-55JZVM6K.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-57JA6XL5.mjs +0 -90
  426. package/dist/lib/node-esm/chunk-57JA6XL5.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs +0 -113
  428. package/dist/lib/node-esm/chunk-HDKR5WCD.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-IBV2DR36.mjs.map +0 -7
  430. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs +0 -156
  431. package/dist/lib/node-esm/chunk-ND4BPYPR.mjs.map +0 -7
  432. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs +0 -648
  433. package/dist/lib/node-esm/chunk-UEVZP5DN.mjs.map +0 -7
  434. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs +0 -514
  435. package/dist/lib/node-esm/chunk-VJSRZRLI.mjs.map +0 -7
  436. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs +0 -305
  437. package/dist/lib/node-esm/chunk-VTRMJSQL.mjs.map +0 -7
  438. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs +0 -104
  439. package/dist/lib/node-esm/chunk-XYKKDWUR.mjs.map +0 -7
  440. package/dist/lib/node-esm/compiler-DU5NQISX.mjs.map +0 -7
  441. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs +0 -105
  442. package/dist/lib/node-esm/intent-resolver-D6AVAQRA.mjs.map +0 -7
  443. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs +0 -129
  444. package/dist/lib/node-esm/react-surface-MHT3PJ6C.mjs.map +0 -7
  445. package/dist/lib/node-esm/settings-BVJORMMJ.mjs +0 -27
  446. package/dist/lib/node-esm/settings-BVJORMMJ.mjs.map +0 -7
  447. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  448. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  450. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  451. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  452. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  454. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  456. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  457. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  458. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  459. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  460. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  461. package/dist/types/src/capabilities/settings.d.ts +0 -4
  462. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  463. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  464. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  465. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  466. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  467. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  468. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  469. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  470. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  471. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  472. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  473. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  474. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -254
  475. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  476. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  477. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  478. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  479. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  480. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  481. package/dist/types/src/components/Settings/index.d.ts +0 -3
  482. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  483. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  484. package/dist/types/src/events.d.ts +0 -4
  485. package/dist/types/src/events.d.ts.map +0 -1
  486. package/dist/types/src/templates/chess.d.ts +0 -3
  487. package/dist/types/src/templates/chess.d.ts.map +0 -1
  488. package/dist/types/src/types/actions.d.ts +0 -54
  489. package/dist/types/src/types/actions.d.ts.map +0 -1
  490. package/src/capabilities/app-graph-builder.ts +0 -65
  491. package/src/capabilities/blueprint-definition.ts +0 -30
  492. package/src/capabilities/capabilities.ts +0 -12
  493. package/src/capabilities/compiler.ts +0 -34
  494. package/src/capabilities/intent-resolver.ts +0 -86
  495. package/src/capabilities/react-surface.tsx +0 -103
  496. package/src/capabilities/settings.ts +0 -21
  497. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -123
  498. package/src/components/DeploymentDialog/index.ts +0 -9
  499. package/src/components/FrameContainer/frame.html +0 -25
  500. package/src/components/FrameContainer/frame.tsx +0 -51
  501. package/src/components/ScriptContainer.tsx +0 -70
  502. package/src/components/Settings/index.ts +0 -6
  503. package/src/components/TestPanel/TestContainer.tsx +0 -27
  504. package/src/events.ts +0 -11
  505. package/src/templates/chess.ts +0 -49
  506. package/src/types/actions.ts +0 -53
  507. /package/dist/lib/browser/{DeploymentDialog-5TKNGPVR.mjs.map → blueprints/index.mjs.map} +0 -0
  508. /package/dist/lib/{node-esm/DeploymentDialog-2ULNOZQH.mjs.map → browser/operations/index.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/util/functions.ts", "../../../src/util/deploy.ts", "../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { type Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { getSpace } from '@dxos/react-client/echo';\n/**\n * Get the function URL for a given script and client configuration\n */\nexport const getFunctionUrl = ({\n script,\n fn,\n edgeUrl,\n}: {\n script: Script.Script;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n\n if (!existingFunctionId) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionId, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (\n script: Script.Script,\n storedFunction: Function.Function,\n meta: any,\n functionId: string,\n) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n storedFunction.description = script.description;\n } else if (meta.description) {\n storedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n storedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n storedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n if (meta.key) {\n storedFunction.key = meta.key;\n } else {\n log.verbose('no key in function metadata', { functionId });\n }\n};\n\nexport const getAccessCredential = (identityKey: PublicKey): Credential => {\n return {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata, setUserFunctionIdInMetadata } from '@dxos/functions';\nimport { bundleFunction } from '@dxos/functions-runtime/bundler';\nimport { incrementSemverPatch, uploadWorkerFunction } from '@dxos/functions-runtime/edge';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { updateFunctionMetadata } from './functions';\n\nexport const isScriptDeployed = ({ script, fn }: { script: Script.Script; fn: any }): boolean => {\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionId) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: Script.Script;\n client: Client;\n space: Space;\n fn?: Function.Function;\n existingFunctionId?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionId?: string };\n\n/**\n * Deploy a script to a space, handling bundling and uploading to the FaaS infrastructure.\n */\nexport const deployScript = async ({\n script,\n client,\n space,\n fn,\n existingFunctionId,\n}: DeployScriptProps): Promise<DeployScriptResult> => {\n const validationError = validateDeployInputs(script, space);\n if (validationError) {\n return { success: false, error: validationError };\n }\n\n try {\n const buildResult = await bundleFunction({\n source: script.source!.target!.content,\n });\n if ('error' in buildResult) {\n throw buildResult.error || new Error('Bundle creation failed');\n }\n\n const { functionId, version, meta } = await uploadWorkerFunction({\n client,\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n entryPoint: buildResult.entryPoint,\n assets: { [buildResult.entryPoint]: buildResult.asset },\n });\n\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: ${JSON.stringify({ functionId, version })}`);\n }\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);\n script.changed = false;\n updateFunctionMetadata(script, storedFunction, meta, functionId);\n\n setUserFunctionIdInMetadata(Obj.getMeta(storedFunction), functionId);\n\n return { success: true, functionId };\n } catch (err: any) {\n log.catch(err);\n return { success: false, error: err };\n }\n};\n\n/**\n * Validate inputs for script deployment.\n */\nconst validateDeployInputs = (script: Script.Script, space: Space): Error | null => {\n if (!script.source || !space) {\n return new Error('Script source or space not available');\n }\n return null;\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: Function.Function | undefined,\n script: Script.Script,\n functionId: string,\n version: string,\n): Function.Function => {\n if (fn) {\n fn.name = script.name ?? 'New Function';\n fn.version = version;\n return fn;\n } else {\n const fn = Function.make({ name: script.name ?? 'New Function', version, source: Ref.make(script) });\n space.db.add(fn);\n setUserFunctionIdInMetadata(Obj.getMeta(fn), functionId);\n return fn;\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { Obj, Query, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nexport type CreateDeployOptions = {\n state: Partial<DeployState>;\n script: Script.Script;\n fn: Function.Function;\n space?: Space;\n existingFunctionId?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }: CreateDeployOptions) => {\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: state.error ?? ['no error label', { ns: meta.id }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionId });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n },\n {\n type: 'deploy',\n label: [state.deploying ? 'publishing label' : 'deploy label', { ns: meta.id }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (state.functionUrl) {\n await navigator.clipboard.writeText(state.functionUrl);\n }\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disabled: !state.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: Partial<DeployState>; script: Script.Script }) => {\n const { space, client, fn, existingFunctionId } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionId) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionId, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionId, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: Script.Script }) => {\n const client = useClient();\n const space = getSpace(script);\n const [fn] = useQuery(space, Query.type(Function.Function, { source: Ref.make(script) }));\n const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(Obj.getMeta(fn)), [fn]);\n return { client, space, fn, existingFunctionId };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { live } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => live<ScriptToolbarState>(initialState), []);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { type Script } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: Script.Script) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [\n {\n source: 'root',\n target: 'format',\n },\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { FUNCTIONS_PRESET_META_KEY, type Script } from '@dxos/functions';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectActions = (script: Script.Script) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = Obj.getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if ('presetId' in template) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: Script.Script) => {\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport { useCallback, useState } from 'react';\n\nimport { chain, createIntent } from '@dxos/app-framework';\nimport { useIntentDispatcher } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { Script } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type Template } from '../templates';\nimport { ScriptAction } from '../types';\nimport { deployScript } from '../util';\n\ntype DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';\n\n/**\n * Hook for creating and deploying multiple script templates concurrently.\n *\n * Takes a space and an array of script template IDs, then provides a callback\n * function that creates each script from its template and deploys it to the space.\n * All creation / deployment operations run concurrently for improved performance.\n */\nexport const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const [status, setStatus] = useState<DeploymentStatus>('idle');\n const [error, setError] = useState<Error | undefined>(undefined);\n\n const handleCreateAndDeployScripts = useCallback(async () => {\n invariant(space);\n setStatus('pending');\n setError(undefined);\n\n const deploymentResults = await Promise.all(\n scriptTemplates.map(async (template) => {\n const result = await dispatch(\n Function.pipe(\n createIntent(ScriptAction.CreateScript, {\n space,\n initialTemplateId: template.id as any,\n }),\n chain(SpaceAction.AddObject, { target: space }),\n ),\n );\n invariant(Obj.instanceOf(Script.Script, result.data?.object));\n\n return deployScript({ space, client, script: result.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, dispatch, client, scriptTemplates]);\n\n // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
5
- "mappings": "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",
6
- "names": ["Obj", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionId", "getMeta", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "description", "trim", "verbose", "inputSchema", "outputSchema", "key", "getAccessCredential", "identityKey", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "setUserFunctionIdInMetadata", "bundleFunction", "incrementSemverPatch", "uploadWorkerFunction", "log", "isScriptDeployed", "script", "fn", "existingFunctionId", "getUserFunctionIdInMetadata", "Obj", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "buildResult", "bundleFunction", "source", "target", "content", "Error", "functionId", "version", "meta", "uploadWorkerFunction", "ownerPublicKey", "key", "incrementSemverPatch", "entryPoint", "assets", "asset", "undefined", "JSON", "stringify", "storedFunction", "createOrUpdateFunctionInSpace", "updateFunctionMetadata", "setUserFunctionIdInMetadata", "err", "log", "catch", "name", "Function", "make", "Ref", "db", "add", "useEffect", "useMemo", "Obj", "Query", "Ref", "Function", "getUserFunctionIdInMetadata", "log", "useClient", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionId", "t", "errorItem", "createMenuAction", "label", "error", "ns", "meta", "id", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "undefined", "deploying", "result", "deployScript", "success", "log", "catch", "type", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "useClient", "getSpace", "useQuery", "Query", "Function", "Ref", "make", "useMemo", "getUserFunctionIdInMetadata", "Obj", "getMeta", "useMemo", "live", "useToolbarState", "initialState", "useMemo", "live", "format", "prettierPluginEstree", "prettierPluginTypescript", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "target", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "label", "ns", "meta", "id", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "id", "name", "source", "target", "content", "metaKeys", "Obj", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "push", "presetId", "label", "value", "type", "createTemplateSelect", "templateSelectActions", "nodes", "edges", "action", "Function", "useCallback", "useState", "chain", "createIntent", "useIntentDispatcher", "Obj", "Script", "invariant", "SpaceAction", "useClient", "useCreateAndDeployScriptTemplates", "space", "scriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "status", "setStatus", "useState", "error", "setError", "undefined", "handleCreateAndDeployScripts", "useCallback", "invariant", "deploymentResults", "Promise", "all", "map", "template", "result", "pipe", "createIntent", "ScriptAction", "CreateScript", "initialTemplateId", "id", "chain", "SpaceAction", "AddObject", "target", "Obj", "instanceOf", "Script", "data", "object", "deployScript", "script", "hasErrors", "some", "success"]
7
- }
@@ -1,305 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- TypescriptEditor
4
- } from "./chunk-HDKR5WCD.mjs";
5
- import {
6
- meta
7
- } from "./chunk-IBV2DR36.mjs";
8
-
9
- // src/components/NotebookStack/NotebookMenu.tsx
10
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
11
- import React from "react";
12
- import { DropdownMenu, useTranslation } from "@dxos/react-ui";
13
- var NotebookMenu = ({ cell, onCellInsert, onCellDelete }) => {
14
- var _effect = _useSignals();
15
- try {
16
- const { t } = useTranslation(meta.id);
17
- return /* @__PURE__ */ React.createElement(DropdownMenu.Portal, null, /* @__PURE__ */ React.createElement(DropdownMenu.Content, null, /* @__PURE__ */ React.createElement(DropdownMenu.Viewport, null, /* @__PURE__ */ React.createElement(DropdownMenu.Item, {
18
- onClick: () => onCellInsert?.("script", cell?.id)
19
- }, t("notebook cell insert script label")), /* @__PURE__ */ React.createElement(DropdownMenu.Item, {
20
- onClick: () => onCellInsert?.("prompt", cell?.id)
21
- }, t("notebook cell insert prompt label")), /* @__PURE__ */ React.createElement(DropdownMenu.Item, {
22
- onClick: () => onCellInsert?.("query", cell?.id)
23
- }, t("notebook cell insert query label")), /* @__PURE__ */ React.createElement(DropdownMenu.Item, {
24
- onClick: () => onCellInsert?.("markdown", cell?.id)
25
- }, t("notebook cell insert markdown label")), cell && onCellDelete && /* @__PURE__ */ React.createElement(DropdownMenu.Item, {
26
- onClick: () => onCellDelete?.(cell.id)
27
- }, t("notebook cell delete label"))), /* @__PURE__ */ React.createElement(DropdownMenu.Arrow, null)));
28
- } finally {
29
- _effect.f();
30
- }
31
- };
32
-
33
- // src/components/NotebookStack/NotebookStack.tsx
34
- import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
35
- import React3 from "react";
36
- import { DropdownMenu as DropdownMenu2, IconButton, useTranslation as useTranslation3 } from "@dxos/react-ui";
37
- import { Stack, StackItem } from "@dxos/react-ui-stack";
38
-
39
- // src/components/NotebookStack/NotebookCell.tsx
40
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
41
- import React2, { useCallback, useMemo } from "react";
42
- import { Surface } from "@dxos/app-framework/react";
43
- import { createDocAccessor } from "@dxos/echo-db";
44
- import { invariant } from "@dxos/invariant";
45
- import { TemplateEditor } from "@dxos/plugin-assistant";
46
- import { useThemeContext, useTranslation as useTranslation2 } from "@dxos/react-ui";
47
- import { QueryEditor } from "@dxos/react-ui-components";
48
- import { EditorContent, createBasicExtensions, createDataExtensions, createMarkdownExtensions, createThemeExtensions, decorateMarkdown } from "@dxos/react-ui-editor";
49
- import { mx } from "@dxos/react-ui-theme";
50
- import { isNonNullable } from "@dxos/util";
51
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/NotebookStack/NotebookCell.tsx";
52
- var editorStyles = "p-2 pis-3";
53
- var valueStyles = "p-1 pis-3";
54
- var NotebookCell = ({ space, graph, dragging, cell, promptResults, env }) => {
55
- var _effect = _useSignals2();
56
- try {
57
- const { t } = useTranslation2(meta.id);
58
- const extensions = useMemo(() => {
59
- return cell.source?.target ? [
60
- createDataExtensions({
61
- id: cell.id,
62
- text: createDocAccessor(cell.source.target, [
63
- "content"
64
- ])
65
- })
66
- ].filter(isNonNullable) : [];
67
- }, [
68
- cell.source?.target
69
- ]);
70
- const explorerGraph = cell.graph?.target;
71
- const handleQueryChange = useCallback((value) => {
72
- invariant(cell.source?.target, void 0, {
73
- F: __dxlog_file,
74
- L: 64,
75
- S: void 0,
76
- A: [
77
- "cell.source?.target",
78
- ""
79
- ]
80
- });
81
- cell.source.target.content = value;
82
- }, [
83
- cell
84
- ]);
85
- switch (cell.type) {
86
- case "markdown":
87
- if (!cell.source?.target) {
88
- return null;
89
- }
90
- return /* @__PURE__ */ React2.createElement(NotebookTextEditor, {
91
- id: cell.id,
92
- classNames: editorStyles,
93
- initialValue: cell.source.target.content,
94
- extensions
95
- });
96
- case "script":
97
- if (!cell.source?.target) {
98
- return null;
99
- }
100
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(TypescriptEditor, {
101
- id: cell.id,
102
- role: "section",
103
- classNames: editorStyles,
104
- initialValue: cell.source.target.content,
105
- extensions,
106
- env,
107
- options: {
108
- placeholder: t("notebook cell placeholder"),
109
- highlightActiveLine: false,
110
- lineNumbers: false
111
- }
112
- }), /* @__PURE__ */ React2.createElement(NotebookCellValue, {
113
- cell,
114
- graph
115
- }));
116
- case "query":
117
- if (!cell.source?.target) {
118
- return null;
119
- }
120
- return /* @__PURE__ */ React2.createElement("div", {
121
- className: mx("bs-full overflow-hidden grid", explorerGraph && !dragging && "grid-rows-[min-content_1fr]")
122
- }, /* @__PURE__ */ React2.createElement(QueryEditor, {
123
- id: cell.id,
124
- classNames: [
125
- editorStyles,
126
- "border-be border-subduedSeparator"
127
- ],
128
- db: space?.db,
129
- value: cell.source.target.content,
130
- onChange: handleQueryChange
131
- }), explorerGraph && !dragging && /* @__PURE__ */ React2.createElement(Surface, {
132
- role: "section",
133
- limit: 1,
134
- data: {
135
- subject: explorerGraph
136
- }
137
- }));
138
- // TODO(burdon): Use streaming response from Chat.
139
- case "prompt":
140
- if (!cell.prompt?.target) {
141
- return null;
142
- }
143
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(TemplateEditor, {
144
- id: cell.id,
145
- template: cell.prompt.target.instructions,
146
- lineNumbers: false,
147
- classNames: editorStyles
148
- }), /* @__PURE__ */ React2.createElement(NotebookPromptResult, {
149
- cell,
150
- promptResults
151
- }));
152
- default:
153
- return null;
154
- }
155
- } finally {
156
- _effect.f();
157
- }
158
- };
159
- var NotebookCellValue = ({ cell, graph }) => {
160
- var _effect = _useSignals2();
161
- try {
162
- const name = graph?.expressions.value[cell.id]?.name;
163
- const value = graph?.getValue(cell.id);
164
- if (value == null) {
165
- return null;
166
- }
167
- return /* @__PURE__ */ React2.createElement("div", {
168
- className: mx("flex is-full bg-groupSurface border-t border-subduedSeparator text-description font-mono", valueStyles)
169
- }, name && /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement("span", {
170
- className: "text-successText"
171
- }, name), /* @__PURE__ */ React2.createElement("span", {
172
- className: "text-description"
173
- }, "\xA0=\xA0")), /* @__PURE__ */ React2.createElement("span", null, value));
174
- } finally {
175
- _effect.f();
176
- }
177
- };
178
- var NotebookPromptResult = ({ cell, promptResults }) => {
179
- var _effect = _useSignals2();
180
- try {
181
- if (!cell.prompt) {
182
- return null;
183
- }
184
- const value = promptResults?.[cell.prompt.dxn.toString()];
185
- if (value == null) {
186
- return null;
187
- }
188
- return /* @__PURE__ */ React2.createElement("div", {
189
- className: mx("flex is-full bg-groupSurface text-description border-t border-subduedSeparator", valueStyles)
190
- }, /* @__PURE__ */ React2.createElement(NotebookTextEditor, {
191
- readOnly: true,
192
- value
193
- }));
194
- } finally {
195
- _effect.f();
196
- }
197
- };
198
- var NotebookTextEditor = ({ extensions: extensionsParam, readOnly, ...props }) => {
199
- var _effect = _useSignals2();
200
- try {
201
- const { t } = useTranslation2(meta.id);
202
- const { themeMode } = useThemeContext();
203
- const extensions = useMemo(() => {
204
- return [
205
- createBasicExtensions({
206
- placeholder: t("notebook markdown placeholder"),
207
- readOnly
208
- }),
209
- createThemeExtensions({
210
- themeMode,
211
- syntaxHighlighting: true
212
- }),
213
- createMarkdownExtensions(),
214
- decorateMarkdown(),
215
- extensionsParam
216
- ].filter(isNonNullable);
217
- }, [
218
- extensionsParam
219
- ]);
220
- return /* @__PURE__ */ React2.createElement(EditorContent, {
221
- ...props,
222
- extensions,
223
- selectionEnd: true
224
- });
225
- } finally {
226
- _effect.f();
227
- }
228
- };
229
-
230
- // src/components/NotebookStack/NotebookStack.tsx
231
- var minSectionHeight = "min-bs-[16rem]";
232
- var NotebookStack = ({ classNames, notebook, onRearrange, ...props }) => {
233
- var _effect = _useSignals3();
234
- try {
235
- return /* @__PURE__ */ React3.createElement(Stack, {
236
- classNames,
237
- orientation: "vertical",
238
- size: "contain",
239
- rail: true,
240
- onRearrange
241
- }, notebook?.cells.map((cell, i) => /* @__PURE__ */ React3.createElement(NotebookSection, {
242
- key: i,
243
- cell,
244
- ...props
245
- })));
246
- } finally {
247
- _effect.f();
248
- }
249
- };
250
- var NotebookSection = ({ cell, space, env, promptResults, onCellInsert, onCellDelete, ...props }) => {
251
- var _effect = _useSignals3();
252
- try {
253
- const { t } = useTranslation3(meta.id);
254
- const resizable = cell.type === "query";
255
- return /* @__PURE__ */ React3.createElement(StackItem.Root, {
256
- role: "section",
257
- item: cell,
258
- draggable: true,
259
- classNames: resizable && minSectionHeight
260
- }, /* @__PURE__ */ React3.createElement(StackItem.Heading, {
261
- classNames: "bs-full p-1 justify-between attention-surface"
262
- }, /* @__PURE__ */ React3.createElement(StackItem.DragHandle, {
263
- asChild: true
264
- }, /* @__PURE__ */ React3.createElement(IconButton, {
265
- variant: "ghost",
266
- icon: "ph--dots-six-vertical--regular",
267
- iconOnly: true,
268
- label: "Drag handle"
269
- })), /* @__PURE__ */ React3.createElement(DropdownMenu2.Root, null, /* @__PURE__ */ React3.createElement(DropdownMenu2.Trigger, {
270
- asChild: true
271
- }, /* @__PURE__ */ React3.createElement(IconButton, {
272
- variant: "ghost",
273
- icon: "ph--dots-three--regular",
274
- iconOnly: true,
275
- label: t("notebook cell insert label")
276
- })), /* @__PURE__ */ React3.createElement(NotebookMenu, {
277
- cell,
278
- onCellInsert,
279
- onCellDelete
280
- })), resizable && /* @__PURE__ */ React3.createElement(StackItem.ResizeHandle, null)), /* @__PURE__ */ React3.createElement(StackItem.DragPreview, null, ({ item: cell2 }) => /* @__PURE__ */ React3.createElement(StackItem.Content, {
281
- classNames: "overflow-visible bg-groupSurface border border-subduedSeparator"
282
- }, /* @__PURE__ */ React3.createElement(NotebookCell, {
283
- space,
284
- cell: cell2,
285
- env,
286
- dragging: true
287
- }))), /* @__PURE__ */ React3.createElement(StackItem.Content, {
288
- classNames: "overflow-visible"
289
- }, /* @__PURE__ */ React3.createElement(NotebookCell, {
290
- space,
291
- cell,
292
- env,
293
- promptResults,
294
- ...props
295
- })));
296
- } finally {
297
- _effect.f();
298
- }
299
- };
300
-
301
- export {
302
- NotebookMenu,
303
- NotebookStack
304
- };
305
- //# sourceMappingURL=chunk-VTRMJSQL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/NotebookStack/NotebookMenu.tsx", "../../../src/components/NotebookStack/NotebookStack.tsx", "../../../src/components/NotebookStack/NotebookCell.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DropdownMenu, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../../meta';\nimport { type Notebook } from '../../types';\n\nexport type NotebookMenuProps = {\n cell?: Notebook.Cell;\n onCellInsert?: (type: Notebook.CellType, after: string | undefined) => void;\n onCellDelete?: (id: string) => void;\n};\n\n// TODO(burdon): Better way to organize menu?\nexport const NotebookMenu = ({ cell, onCellInsert, onCellDelete }: NotebookMenuProps) => {\n const { t } = useTranslation(meta.id);\n return (\n <DropdownMenu.Portal>\n <DropdownMenu.Content>\n <DropdownMenu.Viewport>\n <DropdownMenu.Item onClick={() => onCellInsert?.('script', cell?.id)}>\n {t('notebook cell insert script label')}\n </DropdownMenu.Item>\n <DropdownMenu.Item onClick={() => onCellInsert?.('prompt', cell?.id)}>\n {t('notebook cell insert prompt label')}\n </DropdownMenu.Item>\n <DropdownMenu.Item onClick={() => onCellInsert?.('query', cell?.id)}>\n {t('notebook cell insert query label')}\n </DropdownMenu.Item>\n <DropdownMenu.Item onClick={() => onCellInsert?.('markdown', cell?.id)}>\n {t('notebook cell insert markdown label')}\n </DropdownMenu.Item>\n {cell && onCellDelete && (\n <DropdownMenu.Item onClick={() => onCellDelete?.(cell.id)}>\n {t('notebook cell delete label')}\n </DropdownMenu.Item>\n )}\n </DropdownMenu.Viewport>\n <DropdownMenu.Arrow />\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DropdownMenu, IconButton, type ThemedClassName, useTranslation } from '@dxos/react-ui';\nimport { Stack, StackItem, type StackProps } from '@dxos/react-ui-stack';\n\nimport { meta } from '../../meta';\nimport { type Notebook } from '../../types';\nimport { type TypescriptEditorProps } from '../TypescriptEditor';\n\nimport { NotebookCell, type NotebookCellProps } from './NotebookCell';\nimport { NotebookMenu } from './NotebookMenu';\n\nconst minSectionHeight = 'min-bs-[16rem]';\n\nexport type NotebookStackProps = ThemedClassName<\n {\n notebook?: Notebook.Notebook;\n onRearrange?: StackProps['onRearrange'];\n } & (Pick<NotebookSectionProps, 'space' | 'graph' | 'promptResults' | 'onCellInsert' | 'onCellDelete'> &\n Pick<TypescriptEditorProps, 'env'>)\n>;\n\n// TODO(burdon): Option for narrow rail (with compact buttons that align with first button in toolbar).\nexport const NotebookStack = ({ classNames, notebook, onRearrange, ...props }: NotebookStackProps) => {\n return (\n <Stack classNames={classNames} orientation='vertical' size='contain' rail onRearrange={onRearrange}>\n {notebook?.cells.map((cell, i) => (\n <NotebookSection key={i} cell={cell} {...props} />\n ))}\n </Stack>\n );\n};\n\ntype NotebookSectionProps = NotebookCellProps;\n\nconst NotebookSection = ({\n cell,\n space,\n env,\n promptResults,\n onCellInsert,\n onCellDelete,\n ...props\n}: NotebookSectionProps) => {\n const { t } = useTranslation(meta.id);\n const resizable = cell.type === 'query';\n\n return (\n <StackItem.Root role='section' item={cell} draggable classNames={resizable && minSectionHeight}>\n <StackItem.Heading classNames='bs-full p-1 justify-between attention-surface'>\n <StackItem.DragHandle asChild>\n <IconButton variant='ghost' icon='ph--dots-six-vertical--regular' iconOnly label='Drag handle' />\n </StackItem.DragHandle>\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n variant='ghost'\n icon='ph--dots-three--regular'\n iconOnly\n label={t('notebook cell insert label')}\n />\n </DropdownMenu.Trigger>\n <NotebookMenu cell={cell} onCellInsert={onCellInsert} onCellDelete={onCellDelete} />\n </DropdownMenu.Root>\n {resizable && <StackItem.ResizeHandle />}\n </StackItem.Heading>\n\n {/* TODO(burdon): Move drag preview to outer stack (uniformly). */}\n <StackItem.DragPreview>\n {({ item: cell }) => (\n <StackItem.Content classNames='overflow-visible bg-groupSurface border border-subduedSeparator'>\n <NotebookCell space={space} cell={cell} env={env} dragging />\n </StackItem.Content>\n )}\n </StackItem.DragPreview>\n\n <StackItem.Content classNames='overflow-visible'>\n <NotebookCell space={space} cell={cell} env={env} promptResults={promptResults} {...props} />\n </StackItem.Content>\n </StackItem.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { invariant } from '@dxos/invariant';\nimport { TemplateEditor } from '@dxos/plugin-assistant';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useThemeContext, useTranslation } from '@dxos/react-ui';\nimport { QueryEditor, type QueryEditorProps } from '@dxos/react-ui-components';\nimport {\n type BasicExtensionsOptions,\n EditorContent,\n type EditorContentProps,\n createBasicExtensions,\n createDataExtensions,\n createMarkdownExtensions,\n createThemeExtensions,\n decorateMarkdown,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { type ComputeGraph } from '../../notebook';\nimport { type Notebook } from '../../types';\nimport { TypescriptEditor, type TypescriptEditorProps } from '../TypescriptEditor';\n\nimport { type NotebookMenuProps } from './NotebookMenu';\n\nconst editorStyles = 'p-2 pis-3';\nconst valueStyles = 'p-1 pis-3';\n\nexport type NotebookCellProps = {\n space?: Space;\n graph?: ComputeGraph;\n dragging?: boolean;\n cell: Notebook.Cell;\n promptResults?: Record<string, string>;\n} & (Pick<NotebookMenuProps, 'onCellInsert' | 'onCellDelete'> & Pick<TypescriptEditorProps, 'env'>);\n\n// TODO(burdon): Show evaluation errors.\nexport const NotebookCell = ({ space, graph, dragging, cell, promptResults, env }: NotebookCellProps) => {\n const { t } = useTranslation(meta.id);\n\n const extensions = useMemo(() => {\n return cell.source?.target\n ? [\n createDataExtensions({\n id: cell.id,\n text: createDocAccessor(cell.source.target, ['content']),\n }),\n ].filter(isNonNullable)\n : [];\n }, [cell.source?.target]);\n\n const explorerGraph = cell.graph?.target;\n\n const handleQueryChange = useCallback<NonNullable<QueryEditorProps['onChange']>>(\n (value: string) => {\n invariant(cell.source?.target);\n cell.source.target.content = value;\n },\n [cell],\n );\n\n switch (cell.type) {\n case 'markdown':\n if (!cell.source?.target) {\n return null;\n }\n\n return (\n <NotebookTextEditor\n id={cell.id}\n classNames={editorStyles}\n initialValue={cell.source.target.content}\n extensions={extensions}\n />\n );\n\n case 'script':\n if (!cell.source?.target) {\n return null;\n }\n\n return (\n <>\n <TypescriptEditor\n id={cell.id}\n role='section'\n classNames={editorStyles}\n initialValue={cell.source.target.content}\n extensions={extensions}\n env={env}\n options={{\n placeholder: t('notebook cell placeholder'),\n highlightActiveLine: false,\n lineNumbers: false,\n }}\n />\n <NotebookCellValue cell={cell} graph={graph} />\n </>\n );\n\n case 'query':\n if (!cell.source?.target) {\n return null;\n }\n\n // TODO(burdon): Remove app-framework deps (via render prop).\n return (\n <div\n className={mx('bs-full overflow-hidden grid', explorerGraph && !dragging && 'grid-rows-[min-content_1fr]')}\n >\n <QueryEditor\n id={cell.id}\n classNames={[editorStyles, 'border-be border-subduedSeparator']}\n db={space?.db}\n value={cell.source.target.content}\n onChange={handleQueryChange}\n />\n {explorerGraph && !dragging && <Surface role='section' limit={1} data={{ subject: explorerGraph }} />}\n </div>\n );\n\n // TODO(burdon): Use streaming response from Chat.\n case 'prompt':\n if (!cell.prompt?.target) {\n return null;\n }\n\n return (\n <>\n <TemplateEditor\n id={cell.id}\n template={cell.prompt.target.instructions}\n lineNumbers={false}\n classNames={editorStyles}\n />\n <NotebookPromptResult cell={cell} promptResults={promptResults} />\n </>\n );\n\n default:\n return null;\n }\n};\n\nconst NotebookCellValue = ({ cell, graph }: NotebookCellProps) => {\n const name = graph?.expressions.value[cell.id]?.name;\n const value = graph?.getValue(cell.id);\n if (value == null) {\n return null;\n }\n\n return (\n <div\n className={mx(\n 'flex is-full bg-groupSurface border-t border-subduedSeparator text-description font-mono',\n valueStyles,\n )}\n >\n {name && (\n <>\n <span className='text-successText'>{name}</span>\n <span className='text-description'>&nbsp;=&nbsp;</span>\n </>\n )}\n <span>{value}</span>\n </div>\n );\n};\n\nconst NotebookPromptResult = ({ cell, promptResults }: NotebookCellProps) => {\n if (!cell.prompt) {\n return null;\n }\n\n const value = promptResults?.[cell.prompt.dxn.toString()];\n if (value == null) {\n return null;\n }\n\n return (\n <div className={mx('flex is-full bg-groupSurface text-description border-t border-subduedSeparator', valueStyles)}>\n <NotebookTextEditor readOnly value={value} />\n </div>\n );\n};\n\nconst NotebookTextEditor = ({\n extensions: extensionsParam,\n readOnly,\n ...props\n}: EditorContentProps & Pick<BasicExtensionsOptions, 'readOnly'>) => {\n const { t } = useTranslation(meta.id);\n const { themeMode } = useThemeContext();\n const extensions = useMemo(() => {\n return [\n createBasicExtensions({\n placeholder: t('notebook markdown placeholder'),\n readOnly,\n }),\n createThemeExtensions({ themeMode, syntaxHighlighting: true }),\n createMarkdownExtensions(),\n decorateMarkdown(),\n extensionsParam,\n ].filter(isNonNullable);\n }, [extensionsParam]);\n\n return <EditorContent {...props} extensions={extensions} selectionEnd />;\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "DropdownMenu", "useTranslation", "NotebookMenu", "cell", "onCellInsert", "onCellDelete", "t", "useTranslation", "meta", "id", "DropdownMenu", "Portal", "Content", "Viewport", "Item", "onClick", "Arrow", "React", "DropdownMenu", "IconButton", "useTranslation", "Stack", "StackItem", "React", "useCallback", "useMemo", "Surface", "createDocAccessor", "invariant", "TemplateEditor", "useThemeContext", "useTranslation", "QueryEditor", "EditorContent", "createBasicExtensions", "createDataExtensions", "createMarkdownExtensions", "createThemeExtensions", "decorateMarkdown", "mx", "isNonNullable", "editorStyles", "valueStyles", "NotebookCell", "space", "graph", "dragging", "cell", "promptResults", "env", "t", "useTranslation", "meta", "id", "extensions", "useMemo", "source", "target", "createDataExtensions", "text", "createDocAccessor", "filter", "isNonNullable", "explorerGraph", "handleQueryChange", "useCallback", "value", "invariant", "content", "type", "React", "NotebookTextEditor", "classNames", "initialValue", "TypescriptEditor", "role", "options", "placeholder", "highlightActiveLine", "lineNumbers", "NotebookCellValue", "div", "className", "mx", "QueryEditor", "db", "onChange", "Surface", "limit", "data", "subject", "prompt", "TemplateEditor", "template", "instructions", "NotebookPromptResult", "name", "expressions", "getValue", "span", "dxn", "toString", "readOnly", "extensionsParam", "props", "themeMode", "useThemeContext", "createBasicExtensions", "createThemeExtensions", "syntaxHighlighting", "createMarkdownExtensions", "decorateMarkdown", "EditorContent", "selectionEnd", "minSectionHeight", "NotebookStack", "classNames", "notebook", "onRearrange", "props", "React", "Stack", "orientation", "size", "rail", "cells", "map", "cell", "i", "NotebookSection", "key", "space", "env", "promptResults", "onCellInsert", "onCellDelete", "t", "useTranslation", "meta", "id", "resizable", "type", "StackItem", "Root", "role", "item", "draggable", "Heading", "DragHandle", "asChild", "IconButton", "variant", "icon", "iconOnly", "label", "DropdownMenu", "Trigger", "NotebookMenu", "ResizeHandle", "DragPreview", "Content", "NotebookCell", "dragging"]
7
- }
@@ -1,104 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- templates
4
- } from "./chunk-57JA6XL5.mjs";
5
- import {
6
- meta
7
- } from "./chunk-IBV2DR36.mjs";
8
- import {
9
- __export
10
- } from "./chunk-HSLMI22Q.mjs";
11
-
12
- // src/types/actions.ts
13
- import * as Schema2 from "effect/Schema";
14
- import { SpaceSchema } from "@dxos/client/echo";
15
- import { Script } from "@dxos/functions";
16
-
17
- // src/types/Notebook.ts
18
- var Notebook_exports = {};
19
- __export(Notebook_exports, {
20
- Cell: () => Cell,
21
- Notebook: () => Notebook,
22
- make: () => make
23
- });
24
- import * as Schema from "effect/Schema";
25
- import { Prompt } from "@dxos/blueprints";
26
- import { Obj, Type } from "@dxos/echo";
27
- import { FormInputAnnotation } from "@dxos/echo/internal";
28
- import { LabelAnnotation } from "@dxos/echo/internal";
29
- import { Graph } from "@dxos/plugin-explorer/types";
30
- import { Text } from "@dxos/schema";
31
- var Cell_ = Schema.Struct({
32
- id: Schema.String,
33
- type: Schema.String,
34
- name: Schema.optional(Schema.String),
35
- // TODO(burdon): Union type.
36
- source: Schema.optional(Type.Ref(Text.Text)),
37
- prompt: Schema.optional(Type.Ref(Prompt.Prompt)),
38
- graph: Schema.optional(Type.Ref(Graph.Graph))
39
- }).pipe(Schema.mutable);
40
- var Cell = Cell_;
41
- var Notebook = Schema.Struct({
42
- name: Schema.String.pipe(Schema.optional),
43
- cells: Cell.pipe(Schema.Array, Schema.mutable, FormInputAnnotation.set(false))
44
- }).pipe(Type.Obj({
45
- typename: "dxos.org/type/Notebook",
46
- version: "0.1.0"
47
- }), LabelAnnotation.set([
48
- "name"
49
- ]));
50
- var make = (props = {
51
- cells: []
52
- }) => Obj.make(Notebook, props);
53
-
54
- // src/types/actions.ts
55
- (function(ScriptAction2) {
56
- ScriptAction2.ScriptProps = Schema2.Struct({
57
- name: Schema2.optional(Schema2.String),
58
- // TODO(wittjosiah): Placeholder annotation?
59
- gistUrl: Schema2.optional(Schema2.String.annotations({
60
- title: "Import from Gist (url)"
61
- })),
62
- initialTemplateId: Schema2.Literal(...templates.map(({ id }) => id)).pipe(Schema2.annotations({
63
- title: "Template"
64
- }), Schema2.optional)
65
- });
66
- class CreateScript extends Schema2.TaggedClass()(`${meta.id}/action/create-script`, {
67
- input: Schema2.extend(ScriptAction2.ScriptProps, Schema2.Struct({
68
- space: SpaceSchema
69
- })),
70
- output: Schema2.Struct({
71
- object: Script.Script
72
- })
73
- }) {
74
- }
75
- ScriptAction2.CreateScript = CreateScript;
76
- ScriptAction2.NotebookProps = Schema2.Struct({
77
- name: Schema2.optional(Schema2.String)
78
- });
79
- class CreateNotebook extends Schema2.TaggedClass()(`${meta.id}/action/create-notebook`, {
80
- input: Schema2.extend(ScriptAction2.NotebookProps, Schema2.Struct({
81
- space: SpaceSchema
82
- })),
83
- output: Schema2.Struct({
84
- object: Notebook
85
- })
86
- }) {
87
- }
88
- ScriptAction2.CreateNotebook = CreateNotebook;
89
- })(ScriptAction || (ScriptAction = {}));
90
- var ScriptAction;
91
-
92
- // src/types/types.ts
93
- import * as Schema3 from "effect/Schema";
94
- import { EditorInputMode } from "@dxos/react-ui-editor";
95
- var ScriptSettings = Schema3.mutable(Schema3.Struct({
96
- editorInputMode: EditorInputMode
97
- }));
98
-
99
- export {
100
- Notebook_exports,
101
- ScriptAction,
102
- ScriptSettings
103
- };
104
- //# sourceMappingURL=chunk-XYKKDWUR.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/actions.ts", "../../../src/types/Notebook.ts", "../../../src/types/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { Script } from '@dxos/functions';\n\nimport { meta } from '../meta';\nimport { templates } from '../templates';\n\nimport * as Notebook from './Notebook';\n\nexport namespace ScriptAction {\n export const ScriptProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),\n initialTemplateId: Schema.Literal(...templates.map(({ id }) => id)).pipe(\n Schema.annotations({ title: 'Template' }),\n Schema.optional,\n ),\n });\n\n export class CreateScript extends Schema.TaggedClass<CreateScript>()(`${meta.id}/action/create-script`, {\n input: Schema.extend(\n ScriptProps,\n Schema.Struct({\n space: SpaceSchema,\n }),\n ),\n output: Schema.Struct({\n object: Script.Script,\n }),\n }) {}\n\n export const NotebookProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n });\n\n export class CreateNotebook extends Schema.TaggedClass<CreateNotebook>()(`${meta.id}/action/create-notebook`, {\n input: Schema.extend(\n NotebookProps,\n Schema.Struct({\n space: SpaceSchema,\n }),\n ),\n output: Schema.Struct({\n object: Notebook.Notebook,\n }),\n }) {}\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Prompt } from '@dxos/blueprints';\nimport { Obj, Type } from '@dxos/echo';\nimport { FormInputAnnotation } from '@dxos/echo/internal';\nimport { LabelAnnotation } from '@dxos/echo/internal';\nimport { Graph } from '@dxos/plugin-explorer/types';\nimport { Text } from '@dxos/schema';\n\nexport type CellType = 'markdown' | 'script' | 'query' | 'prompt' | 'view';\n\nconst Cell_ = Schema.Struct({\n id: Schema.String,\n type: Schema.String,\n name: Schema.optional(Schema.String),\n // TODO(burdon): Union type.\n source: Schema.optional(Type.Ref(Text.Text)),\n prompt: Schema.optional(Type.Ref(Prompt.Prompt)),\n graph: Schema.optional(Type.Ref(Graph.Graph)),\n}).pipe(Schema.mutable);\nexport interface Cell extends Schema.Schema.Type<typeof Cell_> {}\nexport interface Cell_Encoded extends Schema.Schema.Encoded<typeof Cell_> {}\nexport const Cell: Schema.Schema<Cell, Cell_Encoded> = Cell_;\n\nexport const Notebook = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n cells: Cell.pipe(Schema.Array, Schema.mutable, FormInputAnnotation.set(false)),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Notebook',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n);\n\nexport type Notebook = Schema.Schema.Type<typeof Notebook>;\n\nexport const make = (props: Obj.MakeProps<typeof Notebook> = { cells: [] }) => Obj.make(Notebook, props);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EditorInputMode } from '@dxos/react-ui-editor';\n\nexport const ScriptSettings = Schema.mutable(\n Schema.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettings = Schema.Schema.Type<typeof ScriptSettings>;\n"],
5
- "mappings": ";;;;;;;;;;;;AAIA,YAAYA,aAAY;AAExB,SAASC,mBAAmB;AAC5B,SAASC,cAAc;;;ACPvB;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,KAAKC,YAAY;AAC1B,SAASC,2BAA2B;AACpC,SAASC,uBAAuB;AAChC,SAASC,aAAa;AACtB,SAASC,YAAY;AAIrB,IAAMC,QAAeC,cAAO;EAC1BC,IAAWC;EACXC,MAAaD;EACbE,MAAaC,gBAAgBH,aAAM;;EAEnCI,QAAeD,gBAASE,KAAKC,IAAIC,KAAKA,IAAI,CAAA;EAC1CC,QAAeL,gBAASE,KAAKC,IAAIG,OAAOA,MAAM,CAAA;EAC9CC,OAAcP,gBAASE,KAAKC,IAAIK,MAAMA,KAAK,CAAA;AAC7C,CAAA,EAAGC,KAAYC,cAAO;AAGf,IAAMC,OAA0CjB;AAEhD,IAAMkB,WAAkBjB,cAAO;EACpCI,MAAaF,cAAOY,KAAYT,eAAQ;EACxCa,OAAOF,KAAKF,KAAYK,cAAcJ,gBAASK,oBAAoBC,IAAI,KAAA,CAAA;AACzE,CAAA,EAAGP,KACDP,KAAKe,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,gBAAgBJ,IAAI;EAAC;CAAO,CAAA;AAKvB,IAAMK,OAAO,CAACC,QAAwC;EAAET,OAAO,CAAA;AAAG,MAAMI,IAAII,KAAKT,UAAUU,KAAAA;;;UD3BjFC,eAAAA;gBACFC,cAAqBC,eAAO;IACvCC,MAAaC,iBAAgBC,cAAM;;IAEnCC,SAAgBF,iBAAgBC,eAAOE,YAAY;MAAEC,OAAO;IAAyB,CAAA,CAAA;IACrFC,mBAA0BC,gBAAO,GAAIC,UAAUC,IAAI,CAAC,EAAEC,GAAE,MAAOA,EAAAA,CAAAA,EAAKC,KAC3DP,oBAAY;MAAEC,OAAO;IAAW,CAAA,GAChCJ,gBAAQ;EAEnB,CAAA;EAEO,MAAMW,qBAA4BC,oBAAW,EAAiB,GAAGC,KAAKJ,EAAE,yBAAyB;IACtGK,OAAcC,eAAMnB,cAClBC,aACOC,eAAO;MACZkB,OAAOC;IACT,CAAA,CAAA;IAEFC,QAAepB,eAAO;MACpBqB,QAAQC,OAAOA;IACjB,CAAA;EACF,CAAA,EAAA;EAAI;gBAVST,eAAAA;gBAYAU,gBAAuBvB,eAAO;IACzCC,MAAaC,iBAAgBC,cAAM;EACrC,CAAA;EAEO,MAAMqB,uBAA8BV,oBAAW,EAAmB,GAAGC,KAAKJ,EAAE,2BAA2B;IAC5GK,OAAcC,eAAMnB,cAClByB,eACOvB,eAAO;MACZkB,OAAOC;IACT,CAAA,CAAA;IAEFC,QAAepB,eAAO;MACpBqB,QAAiBI;IACnB,CAAA;EACF,CAAA,EAAA;EAAI;gBAVSD,iBAAAA;AAWf,GAtCiB1B,iBAAAA,eAAAA,CAAAA,EAAAA;;;;AEVjB,YAAY4B,aAAY;AAExB,SAASC,uBAAuB;AAEzB,IAAMC,iBAAwBC,gBAC5BC,eAAO;EACZC,iBAAiBC;AACnB,CAAA,CAAA;",
6
- "names": ["Schema", "SpaceSchema", "Script", "Schema", "Prompt", "Obj", "Type", "FormInputAnnotation", "LabelAnnotation", "Graph", "Text", "Cell_", "Struct", "id", "String", "type", "name", "optional", "source", "Type", "Ref", "Text", "prompt", "Prompt", "graph", "Graph", "pipe", "mutable", "Cell", "Notebook", "cells", "Array", "FormInputAnnotation", "set", "Obj", "typename", "version", "LabelAnnotation", "make", "props", "ScriptAction", "ScriptProps", "Struct", "name", "optional", "String", "gistUrl", "annotations", "title", "initialTemplateId", "Literal", "templates", "map", "id", "pipe", "CreateScript", "TaggedClass", "meta", "input", "extend", "space", "SpaceSchema", "output", "object", "Script", "NotebookProps", "CreateNotebook", "Notebook", "Schema", "EditorInputMode", "ScriptSettings", "mutable", "Struct", "editorInputMode", "EditorInputMode"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/compiler.ts", "../../../src/compiler/compiler.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\n\nimport { contributes } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions-runtime/bundler';\n\nimport { Compiler } from '../compiler';\n\nimport { ScriptCapabilities } from './capabilities';\n\nexport default async () => {\n const compiler = new Compiler();\n\n await compiler.initialize();\n // TODO(wittjosiah): Fetch types for https modules.\n compiler.setFile('/src/typings.d.ts', \"declare module 'https://*';\");\n // TODO(wittjosiah): Proper function handler types.\n // TODO(wittjosiah): Remove.\n compiler.setFile(\n '/src/runtime.ts',\n `\n export const Filter: any = {};\n export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;\n export const functionHandler = (handler: FunctionHandler) => handler;\n `,\n );\n await initializeBundler({ wasmUrl });\n\n return contributes(ScriptCapabilities.Compiler, compiler);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type VirtualTypeScriptEnvironment,\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.5.4', true, ts);\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, [], ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
5
- "mappings": ";;;;;;;;AAKA,OAAOA,aAAa;AAEpB,SAASC,mBAAmB;AAC5B,SAASC,yBAAyB;;;ACJlC,SAEEC,yBACAC,cACAC,0CACK;AACP,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;;AAE1B,IAAMC,iBAAqC;EACzCC,KAAK;IAAC;IAAO;;EACbC,QAAQJ,GAAGK,aAAaC;AAC1B;AAEO,IAAMC,WAAN,MAAMA;;EACHC;EACAC;EAER,YAA6BC,WAA+BR,gBAAgB;SAA/CQ,WAAAA;EAAgD;EAE7E,MAAMC,aAA4B;AAChC,QAAI,KAAKH,MAAM;AACb;IACF;AAIA,SAAKC,SAAS,MAAMZ,wBAAwB,KAAKa,UAAU,SAAS,MAAMV,EAAAA;AAC1E,UAAMY,SAASd,aAAa,KAAKW,MAAM;AACvC,SAAKD,OAAOT,mCAAmCa,QAAQ,CAAA,GAAIZ,IAAI,KAAKU,QAAQ;EAC9E;EAEA,IAAIG,cAAc;AAChBZ,cAAU,KAAKO,MAAM,yCAAA;;;;;;;;;AACrB,WAAO,KAAKA;EACd;EAEAM,QAAQC,UAAkBC,SAAuB;AAC/Cf,cAAU,KAAKQ,QAAQ,oCAAA;;;;;;;;;AACvB,SAAKI,YAAYI,WAAWF,UAAUC,OAAAA;EACxC;EAEAE,QAAQH,UAAiC;AACvC,WAAO,KAAKF,YAAYM,gBAAgBC,cAAcL,QAAAA;EACxD;AACF;;;ADpCA,IAAA,oBAAe,YAAA;AACb,QAAMM,WAAW,IAAIC,SAAAA;AAErB,QAAMD,SAASE,WAAU;AAEzBF,WAASG,QAAQ,qBAAqB,6BAAA;AAGtCH,WAASG,QACP,mBACA;;;;OAIG;AAEL,QAAMC,kBAAkB;IAAEC;EAAQ,CAAA;AAElC,SAAOC,YAAYC,mBAAmBN,UAAUD,QAAAA;AAClD;",
6
- "names": ["wasmUrl", "contributes", "initializeBundler", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "_env", "_fsMap", "_options", "initialize", "system", "environment", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "compiler", "Compiler", "initialize", "setFile", "initializeBundler", "wasmUrl", "contributes", "ScriptCapabilities"]
7
- }