@dxos/plugin-script 0.8.3 → 0.8.4-main.1068cf700f

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 (465) hide show
  1. package/dist/lib/browser/DeploymentDialog-XUAFCNI7.mjs +14 -0
  2. package/dist/lib/browser/NotebookContainer-UQ4I24R6.mjs +845 -0
  3. package/dist/lib/browser/NotebookContainer-UQ4I24R6.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-NB76645V.mjs +149 -0
  5. package/dist/lib/browser/ScriptContainer-NB76645V.mjs.map +7 -0
  6. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs +69 -0
  7. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs.map +7 -0
  8. package/dist/lib/browser/blueprint-definition-5RFKE7VK.mjs +18 -0
  9. package/dist/lib/browser/blueprint-definition-5RFKE7VK.mjs.map +7 -0
  10. package/dist/lib/browser/blueprints/index.mjs +8 -0
  11. package/dist/lib/browser/chunk-3BSF5BIA.mjs +113 -0
  12. package/dist/lib/browser/chunk-3BSF5BIA.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-4N5TLXEJ.mjs +105 -0
  14. package/dist/lib/browser/chunk-4N5TLXEJ.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-BKGEAUUH.mjs +270 -0
  16. package/dist/lib/browser/chunk-BKGEAUUH.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-BU6CGVU2.mjs +137 -0
  18. package/dist/lib/browser/chunk-BU6CGVU2.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-F3QKSKSF.mjs +35 -0
  20. package/dist/lib/browser/chunk-F3QKSKSF.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-I7CSE6T3.mjs +110 -0
  22. package/dist/lib/browser/chunk-I7CSE6T3.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  24. package/dist/lib/browser/chunk-LYMPME7J.mjs +609 -0
  25. package/dist/lib/browser/chunk-LYMPME7J.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-WWCDIB6Z.mjs +557 -0
  27. package/dist/lib/browser/chunk-WWCDIB6Z.mjs.map +7 -0
  28. package/dist/lib/browser/{chunk-6ZHHWU6S.mjs → chunk-WYR4QHPE.mjs} +9 -6
  29. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +7 -0
  30. package/dist/lib/browser/compiler-VPUVTFQD.mjs +161 -0
  31. package/dist/lib/browser/compiler-VPUVTFQD.mjs.map +7 -0
  32. package/dist/lib/browser/index.mjs +147 -109
  33. package/dist/lib/browser/index.mjs.map +4 -4
  34. package/dist/lib/browser/meta.json +1 -1
  35. package/dist/lib/browser/operation-resolver-NYDY7GDT.mjs +83 -0
  36. package/dist/lib/browser/operation-resolver-NYDY7GDT.mjs.map +7 -0
  37. package/dist/lib/browser/react-surface-FYOQSC6S.mjs +140 -0
  38. package/dist/lib/browser/react-surface-FYOQSC6S.mjs.map +7 -0
  39. package/dist/lib/browser/settings-5SF77MRH.mjs +36 -0
  40. package/dist/lib/browser/settings-5SF77MRH.mjs.map +7 -0
  41. package/dist/lib/browser/templates/index.mjs +10 -0
  42. package/dist/lib/browser/types/index.mjs +18 -0
  43. package/dist/lib/browser/types/index.mjs.map +7 -0
  44. package/dist/lib/node-esm/DeploymentDialog-GGWDQMEB.mjs +15 -0
  45. package/dist/lib/node-esm/DeploymentDialog-GGWDQMEB.mjs.map +7 -0
  46. package/dist/lib/node-esm/NotebookContainer-DQGZ6QHI.mjs +846 -0
  47. package/dist/lib/node-esm/NotebookContainer-DQGZ6QHI.mjs.map +7 -0
  48. package/dist/lib/node-esm/ScriptContainer-PCNJFUWX.mjs +150 -0
  49. package/dist/lib/node-esm/ScriptContainer-PCNJFUWX.mjs.map +7 -0
  50. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs +70 -0
  51. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs.map +7 -0
  52. package/dist/lib/node-esm/blueprint-definition-EYL5GNDC.mjs +19 -0
  53. package/dist/lib/node-esm/blueprint-definition-EYL5GNDC.mjs.map +7 -0
  54. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  55. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-3CKQUF55.mjs +610 -0
  57. package/dist/lib/node-esm/chunk-3CKQUF55.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-3QBXN6QC.mjs +271 -0
  59. package/dist/lib/node-esm/chunk-3QBXN6QC.mjs.map +7 -0
  60. package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs → chunk-5HSJPAK7.mjs} +9 -6
  61. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-ECRSTVR6.mjs +558 -0
  63. package/dist/lib/node-esm/chunk-ECRSTVR6.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  65. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-KRVL7UYI.mjs +114 -0
  67. package/dist/lib/node-esm/chunk-KRVL7UYI.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs +112 -0
  69. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-U6PXM2HT.mjs +138 -0
  71. package/dist/lib/node-esm/chunk-U6PXM2HT.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-V37R7KB5.mjs +107 -0
  73. package/dist/lib/node-esm/chunk-V37R7KB5.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs +36 -0
  75. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs.map +7 -0
  76. package/dist/lib/node-esm/compiler-WUOSY6MS.mjs +162 -0
  77. package/dist/lib/node-esm/compiler-WUOSY6MS.mjs.map +7 -0
  78. package/dist/lib/node-esm/index.mjs +147 -109
  79. package/dist/lib/node-esm/index.mjs.map +4 -4
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/operation-resolver-AJNJXGCE.mjs +84 -0
  82. package/dist/lib/node-esm/operation-resolver-AJNJXGCE.mjs.map +7 -0
  83. package/dist/lib/node-esm/react-surface-LREMOVNJ.mjs +141 -0
  84. package/dist/lib/node-esm/react-surface-LREMOVNJ.mjs.map +7 -0
  85. package/dist/lib/node-esm/settings-ILI762CY.mjs +37 -0
  86. package/dist/lib/node-esm/settings-ILI762CY.mjs.map +7 -0
  87. package/dist/lib/node-esm/templates/index.mjs +11 -0
  88. package/dist/lib/node-esm/templates/index.mjs.map +7 -0
  89. package/dist/lib/node-esm/types/index.mjs +19 -0
  90. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  91. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  92. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  93. package/dist/types/src/blueprints/index.d.ts +2 -0
  94. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  95. package/dist/types/src/blueprints/script-blueprint.d.ts +22 -0
  96. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  97. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  98. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  99. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  100. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  101. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  102. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  103. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  104. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +10 -0
  106. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  108. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  110. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  112. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/index.d.ts +6 -7
  114. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  115. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  116. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  117. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  118. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  120. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  122. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  124. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  126. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  127. package/dist/types/src/compiler/compiler.d.ts +1 -1
  128. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  129. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +4 -4
  130. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  131. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +244 -13
  132. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  133. package/dist/types/src/components/DeploymentDialog/index.d.ts +1 -1
  134. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +1 -1
  135. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  136. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  137. package/dist/types/src/components/NotebookContainer.d.ts +8 -0
  138. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -0
  139. package/dist/types/src/components/NotebookContainer.stories.d.ts +7 -0
  140. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -0
  141. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  142. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  143. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  144. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  145. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +14 -0
  146. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  147. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +249 -0
  148. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  149. package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
  150. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  151. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  152. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  153. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  154. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  155. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  156. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  157. package/dist/types/src/components/ScriptContainer.d.ts +7 -8
  158. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  159. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +7 -8
  160. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  161. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +246 -10
  162. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  163. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +2 -2
  164. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  165. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +6 -4
  166. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  167. package/dist/types/src/components/TestPanel/TestContainer.d.ts +5 -4
  168. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  169. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  170. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +5 -2
  171. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  172. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +11 -4
  173. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  174. package/dist/types/src/components/index.d.ts +4 -5
  175. package/dist/types/src/components/index.d.ts.map +1 -1
  176. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  177. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  178. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  179. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  180. package/dist/types/src/hooks/deploy.d.ts +18 -32
  181. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  182. package/dist/types/src/hooks/format.d.ts +4 -4
  183. package/dist/types/src/hooks/format.d.ts.map +1 -1
  184. package/dist/types/src/hooks/index.d.ts +1 -0
  185. package/dist/types/src/hooks/index.d.ts.map +1 -1
  186. package/dist/types/src/hooks/template.d.ts +6 -16
  187. package/dist/types/src/hooks/template.d.ts.map +1 -1
  188. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  189. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  190. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  191. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  192. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  193. package/dist/types/src/index.d.ts +2 -1
  194. package/dist/types/src/index.d.ts.map +1 -1
  195. package/dist/types/src/meta.d.ts +2 -3
  196. package/dist/types/src/meta.d.ts.map +1 -1
  197. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  198. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  199. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  200. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  201. package/dist/types/src/notebook/eval.d.ts +13 -0
  202. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  203. package/dist/types/src/notebook/index.d.ts +2 -0
  204. package/dist/types/src/notebook/index.d.ts.map +1 -0
  205. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  206. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  207. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  208. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  209. package/dist/types/src/templates/anthropic.d.ts +8 -0
  210. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  211. package/dist/types/src/templates/chess-bot.d.ts +16 -0
  212. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  213. package/dist/types/src/templates/commentary.d.ts +16 -0
  214. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  215. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  216. package/dist/types/src/templates/discord.d.ts.map +1 -1
  217. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  218. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  219. package/dist/types/src/templates/forex.d.ts +4 -1
  220. package/dist/types/src/templates/forex.d.ts.map +1 -1
  221. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  222. package/dist/types/src/templates/index.d.ts +54 -1
  223. package/dist/types/src/templates/index.d.ts.map +1 -1
  224. package/dist/types/src/templates/ping.d.ts +3 -0
  225. package/dist/types/src/templates/ping.d.ts.map +1 -0
  226. package/dist/types/src/testing/data.d.ts +3 -0
  227. package/dist/types/src/testing/data.d.ts.map +1 -0
  228. package/dist/types/src/testing/index.d.ts +2 -0
  229. package/dist/types/src/testing/index.d.ts.map +1 -0
  230. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  231. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  232. package/dist/types/src/translations.d.ts +94 -176
  233. package/dist/types/src/translations.d.ts.map +1 -1
  234. package/dist/types/src/types/Notebook.d.ts +100 -0
  235. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  236. package/dist/types/src/types/actions.d.ts +40 -0
  237. package/dist/types/src/types/actions.d.ts.map +1 -0
  238. package/dist/types/src/types/capabilities.d.ts +12 -0
  239. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  240. package/dist/types/src/types/events.d.ts +5 -0
  241. package/dist/types/src/types/events.d.ts.map +1 -0
  242. package/dist/types/src/types/index.d.ts +6 -0
  243. package/dist/types/src/types/index.d.ts.map +1 -0
  244. package/dist/types/src/types/types.d.ts +6 -0
  245. package/dist/types/src/types/types.d.ts.map +1 -0
  246. package/dist/types/src/util/deploy.d.ts +7 -7
  247. package/dist/types/src/util/deploy.d.ts.map +1 -1
  248. package/dist/types/src/util/functions.d.ts +6 -3
  249. package/dist/types/src/util/functions.d.ts.map +1 -1
  250. package/dist/types/tsconfig.tsbuildinfo +1 -1
  251. package/package.json +128 -83
  252. package/src/ScriptPlugin.tsx +59 -78
  253. package/src/blueprints/index.ts +5 -0
  254. package/src/blueprints/script-blueprint.ts +24 -0
  255. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  256. package/src/capabilities/app-graph-builder/index.ts +7 -0
  257. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +105 -106
  258. package/src/capabilities/artifact-definition/index.ts +7 -0
  259. package/src/capabilities/blueprint-definition/blueprint-definition.ts +24 -0
  260. package/src/capabilities/blueprint-definition/index.ts +7 -0
  261. package/src/capabilities/compiler/compiler.ts +103 -0
  262. package/src/capabilities/compiler/index.ts +7 -0
  263. package/src/capabilities/index.ts +6 -10
  264. package/src/capabilities/operation-resolver/index.ts +7 -0
  265. package/src/capabilities/operation-resolver/operation-resolver.ts +75 -0
  266. package/src/capabilities/react-surface/index.ts +7 -0
  267. package/src/capabilities/react-surface/react-surface.tsx +119 -0
  268. package/src/capabilities/settings/index.ts +7 -0
  269. package/src/capabilities/settings/settings.ts +33 -0
  270. package/src/compiler/compiler.ts +11 -4
  271. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +47 -24
  272. package/src/components/DeploymentDialog/DeploymentDialog.tsx +45 -54
  273. package/src/components/DeploymentDialog/index.ts +1 -1
  274. package/src/components/FrameContainer/FrameContainer.tsx +8 -5
  275. package/src/components/FrameContainer/frame.tsx +1 -1
  276. package/src/components/NotebookContainer.stories.tsx +87 -0
  277. package/src/components/NotebookContainer.tsx +271 -0
  278. package/src/components/NotebookStack/NotebookCell.tsx +217 -0
  279. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  280. package/src/components/NotebookStack/NotebookStack.stories.tsx +55 -0
  281. package/src/components/NotebookStack/NotebookStack.tsx +86 -0
  282. package/src/components/NotebookStack/index.ts +6 -0
  283. package/src/components/QueryEditor/QueryEditor.stories.tsx +100 -0
  284. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  285. package/src/components/QueryEditor/index.ts +5 -0
  286. package/src/components/ScriptContainer.tsx +52 -35
  287. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +57 -17
  288. package/src/components/ScriptToolbar/ScriptToolbar.tsx +37 -33
  289. package/src/components/Settings/ScriptObjectSettings.tsx +151 -48
  290. package/src/components/Settings/ScriptPluginSettings.tsx +43 -48
  291. package/src/components/TestPanel/TestContainer.tsx +13 -7
  292. package/src/components/TestPanel/TestPanel.tsx +66 -41
  293. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +86 -33
  294. package/src/components/TypescriptEditor/TypescriptEditor.tsx +84 -81
  295. package/src/components/index.ts +3 -0
  296. package/src/e2e/ai.test.ts +92 -0
  297. package/src/e2e/deploy.test.ts +64 -0
  298. package/src/hooks/deploy.ts +49 -42
  299. package/src/hooks/format.ts +9 -5
  300. package/src/hooks/index.ts +1 -0
  301. package/src/hooks/template.ts +21 -24
  302. package/src/hooks/useCompiler.ts +24 -0
  303. package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -16
  304. package/src/hooks/useToolbarState.ts +29 -4
  305. package/src/index.ts +2 -1
  306. package/src/meta.ts +9 -7
  307. package/src/notebook/compute-graph.test.ts +82 -0
  308. package/src/notebook/compute-graph.ts +230 -0
  309. package/src/notebook/eval.ts +105 -0
  310. package/src/notebook/index.ts +5 -0
  311. package/src/notebook/vfs-parser.test.ts +149 -0
  312. package/src/notebook/vfs-parser.ts +451 -0
  313. package/src/templates/anthropic.ts +42 -0
  314. package/src/templates/chess-bot.ts +58 -0
  315. package/src/templates/commentary.ts +230 -0
  316. package/src/templates/data-generator.ts +11 -5
  317. package/src/templates/discord.ts +12 -4
  318. package/src/templates/email.ts +2 -2
  319. package/src/templates/forex-effect.ts +24 -25
  320. package/src/templates/forex.ts +9 -6
  321. package/src/templates/gmail.ts +35 -65
  322. package/src/templates/index.ts +26 -11
  323. package/src/templates/ping.ts +17 -0
  324. package/src/testing/data.ts +72 -0
  325. package/src/testing/index.ts +5 -0
  326. package/src/testing/simulator.test.ts +40 -0
  327. package/src/translations.ts +42 -12
  328. package/src/types/Notebook.ts +41 -0
  329. package/src/types/actions.ts +45 -0
  330. package/src/types/capabilities.ts +17 -0
  331. package/src/types/events.ts +11 -0
  332. package/src/types/index.ts +9 -0
  333. package/src/types/types.ts +15 -0
  334. package/src/util/deploy.ts +38 -61
  335. package/src/util/functions.ts +58 -25
  336. package/src/vite-env.d.ts +2 -0
  337. package/dist/lib/browser/DeploymentDialog-RPPPWEEL.mjs +0 -12
  338. package/dist/lib/browser/ScriptContainer-RSN52NH7.mjs +0 -261
  339. package/dist/lib/browser/ScriptContainer-RSN52NH7.mjs.map +0 -7
  340. package/dist/lib/browser/app-graph-builder-5Z3MUX4N.mjs +0 -64
  341. package/dist/lib/browser/app-graph-builder-5Z3MUX4N.mjs.map +0 -7
  342. package/dist/lib/browser/artifact-definition-A4TBQL75.mjs +0 -249
  343. package/dist/lib/browser/artifact-definition-A4TBQL75.mjs.map +0 -7
  344. package/dist/lib/browser/chunk-3FU4QZVP.mjs +0 -364
  345. package/dist/lib/browser/chunk-3FU4QZVP.mjs.map +0 -7
  346. package/dist/lib/browser/chunk-3JLR2SHJ.mjs +0 -557
  347. package/dist/lib/browser/chunk-3JLR2SHJ.mjs.map +0 -7
  348. package/dist/lib/browser/chunk-6ZHHWU6S.mjs.map +0 -7
  349. package/dist/lib/browser/chunk-LA66DQGU.mjs +0 -153
  350. package/dist/lib/browser/chunk-LA66DQGU.mjs.map +0 -7
  351. package/dist/lib/browser/chunk-QJH7I2UV.mjs +0 -233
  352. package/dist/lib/browser/chunk-QJH7I2UV.mjs.map +0 -7
  353. package/dist/lib/browser/chunk-WB3X5Z7Q.mjs +0 -40
  354. package/dist/lib/browser/chunk-WB3X5Z7Q.mjs.map +0 -7
  355. package/dist/lib/browser/chunk-YSQMXTYO.mjs +0 -15
  356. package/dist/lib/browser/chunk-YSQMXTYO.mjs.map +0 -7
  357. package/dist/lib/browser/compiler-W4BYJYTL.mjs +0 -82
  358. package/dist/lib/browser/compiler-W4BYJYTL.mjs.map +0 -7
  359. package/dist/lib/browser/intent-resolver-JOJNH4UX.mjs +0 -90
  360. package/dist/lib/browser/intent-resolver-JOJNH4UX.mjs.map +0 -7
  361. package/dist/lib/browser/react-surface-7BKUWL2U.mjs +0 -105
  362. package/dist/lib/browser/react-surface-7BKUWL2U.mjs.map +0 -7
  363. package/dist/lib/browser/settings-Z22D6JVJ.mjs +0 -24
  364. package/dist/lib/browser/settings-Z22D6JVJ.mjs.map +0 -7
  365. package/dist/lib/browser/types.mjs +0 -13
  366. package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs +0 -33
  367. package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs.map +0 -7
  368. package/dist/lib/node/ScriptContainer-CAC7AISY.cjs +0 -278
  369. package/dist/lib/node/ScriptContainer-CAC7AISY.cjs.map +0 -7
  370. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs +0 -80
  371. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs.map +0 -7
  372. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs +0 -265
  373. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs.map +0 -7
  374. package/dist/lib/node/chunk-AU2FOE26.cjs +0 -369
  375. package/dist/lib/node/chunk-AU2FOE26.cjs.map +0 -7
  376. package/dist/lib/node/chunk-BUOBOT3V.cjs +0 -179
  377. package/dist/lib/node/chunk-BUOBOT3V.cjs.map +0 -7
  378. package/dist/lib/node/chunk-HCRW6T3G.cjs +0 -60
  379. package/dist/lib/node/chunk-HCRW6T3G.cjs.map +0 -7
  380. package/dist/lib/node/chunk-OSBMUJ4T.cjs +0 -580
  381. package/dist/lib/node/chunk-OSBMUJ4T.cjs.map +0 -7
  382. package/dist/lib/node/chunk-QG2X6J74.cjs +0 -52
  383. package/dist/lib/node/chunk-QG2X6J74.cjs.map +0 -7
  384. package/dist/lib/node/chunk-YO5W2IPQ.cjs +0 -251
  385. package/dist/lib/node/chunk-YO5W2IPQ.cjs.map +0 -7
  386. package/dist/lib/node/chunk-ZEV3VARQ.cjs +0 -34
  387. package/dist/lib/node/chunk-ZEV3VARQ.cjs.map +0 -7
  388. package/dist/lib/node/compiler-TFSJRLL4.cjs +0 -104
  389. package/dist/lib/node/compiler-TFSJRLL4.cjs.map +0 -7
  390. package/dist/lib/node/index.cjs +0 -225
  391. package/dist/lib/node/index.cjs.map +0 -7
  392. package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs +0 -100
  393. package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs.map +0 -7
  394. package/dist/lib/node/meta.json +0 -1
  395. package/dist/lib/node/react-surface-EUKPDFU3.cjs +0 -120
  396. package/dist/lib/node/react-surface-EUKPDFU3.cjs.map +0 -7
  397. package/dist/lib/node/settings-WO53FLYZ.cjs +0 -38
  398. package/dist/lib/node/settings-WO53FLYZ.cjs.map +0 -7
  399. package/dist/lib/node/types.cjs +0 -34
  400. package/dist/lib/node/types.cjs.map +0 -7
  401. package/dist/lib/node-esm/DeploymentDialog-IA4CH6WZ.mjs +0 -13
  402. package/dist/lib/node-esm/ScriptContainer-4IOOIPBF.mjs +0 -262
  403. package/dist/lib/node-esm/ScriptContainer-4IOOIPBF.mjs.map +0 -7
  404. package/dist/lib/node-esm/app-graph-builder-IOOUTHV2.mjs +0 -65
  405. package/dist/lib/node-esm/app-graph-builder-IOOUTHV2.mjs.map +0 -7
  406. package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs +0 -250
  407. package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs.map +0 -7
  408. package/dist/lib/node-esm/chunk-2KJYPUQD.mjs +0 -16
  409. package/dist/lib/node-esm/chunk-2KJYPUQD.mjs.map +0 -7
  410. package/dist/lib/node-esm/chunk-AEB5TPEW.mjs.map +0 -7
  411. package/dist/lib/node-esm/chunk-B4TP3LSZ.mjs +0 -558
  412. package/dist/lib/node-esm/chunk-B4TP3LSZ.mjs.map +0 -7
  413. package/dist/lib/node-esm/chunk-MJJQBUOL.mjs +0 -234
  414. package/dist/lib/node-esm/chunk-MJJQBUOL.mjs.map +0 -7
  415. package/dist/lib/node-esm/chunk-T7XDCUTF.mjs +0 -154
  416. package/dist/lib/node-esm/chunk-T7XDCUTF.mjs.map +0 -7
  417. package/dist/lib/node-esm/chunk-UESZKXLR.mjs +0 -41
  418. package/dist/lib/node-esm/chunk-UESZKXLR.mjs.map +0 -7
  419. package/dist/lib/node-esm/chunk-W2DAXWHA.mjs +0 -365
  420. package/dist/lib/node-esm/chunk-W2DAXWHA.mjs.map +0 -7
  421. package/dist/lib/node-esm/compiler-7PQ4D43R.mjs +0 -83
  422. package/dist/lib/node-esm/compiler-7PQ4D43R.mjs.map +0 -7
  423. package/dist/lib/node-esm/intent-resolver-HTM5PSRZ.mjs +0 -91
  424. package/dist/lib/node-esm/intent-resolver-HTM5PSRZ.mjs.map +0 -7
  425. package/dist/lib/node-esm/react-surface-6UO64YOS.mjs +0 -106
  426. package/dist/lib/node-esm/react-surface-6UO64YOS.mjs.map +0 -7
  427. package/dist/lib/node-esm/settings-KZEGCDYX.mjs +0 -25
  428. package/dist/lib/node-esm/settings-KZEGCDYX.mjs.map +0 -7
  429. package/dist/lib/node-esm/types.mjs +0 -14
  430. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  431. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  432. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  433. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  434. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  435. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  436. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  437. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  438. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  439. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  440. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  441. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  442. package/dist/types/src/capabilities/settings.d.ts +0 -4
  443. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  444. package/dist/types/src/events.d.ts +0 -4
  445. package/dist/types/src/events.d.ts.map +0 -1
  446. package/dist/types/src/templates/chess.d.ts +0 -3
  447. package/dist/types/src/templates/chess.d.ts.map +0 -1
  448. package/dist/types/src/templates/echo.d.ts +0 -6
  449. package/dist/types/src/templates/echo.d.ts.map +0 -1
  450. package/dist/types/src/types.d.ts +0 -40
  451. package/dist/types/src/types.d.ts.map +0 -1
  452. package/src/capabilities/app-graph-builder.ts +0 -64
  453. package/src/capabilities/capabilities.ts +0 -12
  454. package/src/capabilities/compiler.ts +0 -33
  455. package/src/capabilities/intent-resolver.ts +0 -80
  456. package/src/capabilities/react-surface.tsx +0 -89
  457. package/src/capabilities/settings.ts +0 -21
  458. package/src/events.ts +0 -11
  459. package/src/templates/chess.ts +0 -47
  460. package/src/templates/echo.ts +0 -8
  461. package/src/types.ts +0 -42
  462. /package/dist/lib/browser/{DeploymentDialog-RPPPWEEL.mjs.map → DeploymentDialog-XUAFCNI7.mjs.map} +0 -0
  463. /package/dist/lib/browser/{types.mjs.map → blueprints/index.mjs.map} +0 -0
  464. /package/dist/lib/{node-esm/DeploymentDialog-IA4CH6WZ.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
  465. /package/dist/lib/{node-esm/types.mjs.map → browser/templates/index.mjs.map} +0 -0
@@ -0,0 +1,609 @@
1
+ import {
2
+ getAccessCredential,
3
+ useDeployState,
4
+ useToolbarState
5
+ } from "./chunk-WWCDIB6Z.mjs";
6
+ import {
7
+ meta
8
+ } from "./chunk-WYR4QHPE.mjs";
9
+
10
+ // src/components/Settings/ScriptObjectSettings.tsx
11
+ import { Octokit } from "@octokit/core";
12
+ import React, { useCallback, useState } from "react";
13
+ import { ToolId } from "@dxos/ai";
14
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
15
+ import { SettingsOperation } from "@dxos/app-toolkit";
16
+ import { Blueprint, Template } from "@dxos/blueprints";
17
+ import { Filter, Obj, Ref } from "@dxos/echo";
18
+ import { Function, getUserFunctionIdInMetadata } from "@dxos/functions";
19
+ import { getInvocationUrl } from "@dxos/functions-runtime";
20
+ import { log } from "@dxos/log";
21
+ import { useClient } from "@dxos/react-client";
22
+ import { useQuery } from "@dxos/react-client/echo";
23
+ import { Button, Clipboard, Input, useAsyncEffect, useControlledState, useTranslation } from "@dxos/react-ui";
24
+ import { AccessToken } from "@dxos/types";
25
+ import { kebabize } from "@dxos/util";
26
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/Settings/ScriptObjectSettings.tsx";
27
+ var ScriptObjectSettings = ({ object }) => {
28
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Binding, {
29
+ object
30
+ }), /* @__PURE__ */ React.createElement(BlueprintEditor, {
31
+ object
32
+ }), /* @__PURE__ */ React.createElement(Publishing, {
33
+ object
34
+ }));
35
+ };
36
+ var ScriptProperties = ({ object }) => {
37
+ const { t } = useTranslation(meta.id);
38
+ return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, t("description label")), /* @__PURE__ */ React.createElement(Input.TextInput, {
39
+ placeholder: t("description placeholder"),
40
+ value: object.description ?? "",
41
+ onChange: (event) => {
42
+ Obj.change(object, (o) => {
43
+ o.description = event.target.value;
44
+ });
45
+ }
46
+ }));
47
+ };
48
+ var BlueprintEditor = ({ object }) => {
49
+ const { t } = useTranslation(meta.id);
50
+ const db = Obj.getDatabase(object);
51
+ const [fn] = useQuery(db, Filter.type(Function.Function, {
52
+ source: Ref.make(object)
53
+ }));
54
+ const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));
55
+ const [creating, setCreating] = useState(false);
56
+ const [instructions, setInstructions] = useState(`You can run the script "${object.name ?? "script"}".`);
57
+ const blueprintKey = `dxos.org/blueprint/${kebabize(object.name ?? "script")}`;
58
+ const existingBlueprint = blueprints.find((bp) => bp.key === blueprintKey);
59
+ useAsyncEffect(async () => {
60
+ if (!existingBlueprint) {
61
+ return;
62
+ }
63
+ const source = await existingBlueprint.instructions.source.load();
64
+ setInstructions(source.content ?? "");
65
+ }, [
66
+ existingBlueprint
67
+ ]);
68
+ const handleSave = useCallback(async () => {
69
+ if (!db) {
70
+ return;
71
+ }
72
+ setCreating(true);
73
+ try {
74
+ if (existingBlueprint) {
75
+ const text = await existingBlueprint.instructions.source.load();
76
+ Obj.change(text, (t2) => {
77
+ t2.content = instructions;
78
+ });
79
+ if (fn?.key) {
80
+ const toolId = ToolId.make(fn.key);
81
+ if (!existingBlueprint.tools?.includes(toolId)) {
82
+ Obj.change(existingBlueprint, (b) => {
83
+ b.tools = [
84
+ ...b.tools ?? [],
85
+ toolId
86
+ ];
87
+ });
88
+ }
89
+ }
90
+ } else if (fn?.key) {
91
+ db.add(Blueprint.make({
92
+ key: blueprintKey,
93
+ name: object.name ?? "Script",
94
+ instructions: Template.make({
95
+ source: instructions
96
+ }),
97
+ tools: [
98
+ ToolId.make(fn.key)
99
+ ]
100
+ }));
101
+ }
102
+ await db.flush();
103
+ } finally {
104
+ setCreating(false);
105
+ }
106
+ }, [
107
+ db,
108
+ existingBlueprint,
109
+ fn,
110
+ blueprintKey,
111
+ object.name,
112
+ instructions
113
+ ]);
114
+ return /* @__PURE__ */ React.createElement("div", {
115
+ className: "flex flex-col gap-4 mlb-cardSpacingBlock"
116
+ }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, t("blueprint editor label", {
117
+ default: "Blueprint"
118
+ })), /* @__PURE__ */ React.createElement("p", {
119
+ className: "text-description text-sm"
120
+ }, t("blueprint editor description", {
121
+ default: "Create a blueprint that exposes this script as a tool."
122
+ }))), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
123
+ role: "none",
124
+ className: "flex flex-col gap-1"
125
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("blueprint instructions label", {
126
+ default: "Instructions"
127
+ })), /* @__PURE__ */ React.createElement(Input.TextArea, {
128
+ placeholder: t("blueprint instructions placeholder", {
129
+ default: "Describe how this tool should be used."
130
+ }),
131
+ rows: 6,
132
+ value: instructions,
133
+ onChange: (event) => setInstructions(event.target.value),
134
+ classNames: "resize-y"
135
+ }))), /* @__PURE__ */ React.createElement("div", {
136
+ className: "flex justify-end gap-2"
137
+ }, /* @__PURE__ */ React.createElement(Button, {
138
+ disabled: !existingBlueprint && !fn?.key || creating,
139
+ onClick: handleSave
140
+ }, t(creating ? "creating label" : "create blueprint label", {
141
+ default: creating ? "Creating\u2026" : "Create blueprint"
142
+ }))));
143
+ };
144
+ var Binding = ({ object }) => {
145
+ const { t } = useTranslation(meta.id);
146
+ const client = useClient();
147
+ const db = Obj.getDatabase(object);
148
+ const [fn] = useQuery(db, Filter.type(Function.Function, {
149
+ source: Ref.make(object)
150
+ }));
151
+ const functionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));
152
+ const functionUrl = functionId && getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? "", {
153
+ spaceId: db?.spaceId
154
+ });
155
+ const [binding, setBinding] = useControlledState(fn?.binding ?? "");
156
+ const handleBindingChange = useCallback((event) => {
157
+ setBinding(event.target.value);
158
+ }, [
159
+ setBinding
160
+ ]);
161
+ const handleBindingBlur = useCallback(() => {
162
+ Obj.change(fn, (f) => {
163
+ f.binding = binding;
164
+ });
165
+ }, [
166
+ fn,
167
+ binding
168
+ ]);
169
+ if (!fn || !functionUrl) {
170
+ return null;
171
+ }
172
+ return /* @__PURE__ */ React.createElement("div", {
173
+ role: "form",
174
+ className: "flex flex-col gap-2 mlb-cardSpacingBlock"
175
+ }, /* @__PURE__ */ React.createElement("h2", null, t("remote function settings heading")), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
176
+ role: "none",
177
+ className: "flex flex-col gap-1"
178
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("function url label")), /* @__PURE__ */ React.createElement("div", {
179
+ role: "none",
180
+ className: "flex gap-1"
181
+ }, /* @__PURE__ */ React.createElement(Input.TextInput, {
182
+ disabled: true,
183
+ value: functionUrl,
184
+ onChange: (event) => {
185
+ Obj.change(fn, (f) => {
186
+ f.name = event.target.value;
187
+ });
188
+ }
189
+ }), /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
190
+ value: functionUrl
191
+ })))), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
192
+ role: "none",
193
+ className: "flex flex-col gap-1"
194
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("function binding label")), /* @__PURE__ */ React.createElement(Input.TextInput, {
195
+ placeholder: t("function binding placeholder"),
196
+ value: binding,
197
+ onChange: handleBindingChange,
198
+ onBlur: handleBindingBlur
199
+ }))));
200
+ };
201
+ var Publishing = ({ object }) => {
202
+ const { t } = useTranslation(meta.id);
203
+ const { invokePromise } = useOperationInvoker();
204
+ const db = Obj.getDatabase(object);
205
+ const [githubToken] = useQuery(db, Filter.type(AccessToken.AccessToken, {
206
+ source: "github.com"
207
+ }));
208
+ const gistKey = Obj.getMeta(object).keys.find(({ source }) => source === "github.com");
209
+ const [gistUrl, setGistUrl] = useState();
210
+ useAsyncEffect(async () => {
211
+ const token = githubToken?.token;
212
+ const gistId = gistKey?.id;
213
+ if (!token || !gistId) {
214
+ setGistUrl(void 0);
215
+ return;
216
+ }
217
+ try {
218
+ const octokit = new Octokit({
219
+ auth: githubToken.token
220
+ });
221
+ const response = await octokit.request("GET /gists/{gist_id}", {
222
+ gist_id: gistId
223
+ });
224
+ setGistUrl(response.data.html_url);
225
+ } catch (err) {
226
+ log.catch(err, void 0, {
227
+ F: __dxlog_file,
228
+ L: 239,
229
+ S: void 0,
230
+ C: (f, a) => f(...a)
231
+ });
232
+ setGistUrl(void 0);
233
+ }
234
+ }, [
235
+ githubToken,
236
+ gistKey
237
+ ]);
238
+ const handleOpenTokenManager = useCallback(() => invokePromise(SettingsOperation.Open, {
239
+ plugin: "dxos.org/plugin/token-manager"
240
+ }), [
241
+ invokePromise
242
+ ]);
243
+ const [publishing, setPublishing] = useState(false);
244
+ const handlePublish = useCallback(async () => {
245
+ setPublishing(true);
246
+ const octokit = new Octokit({
247
+ auth: githubToken.token
248
+ });
249
+ const source = await object.source.load();
250
+ const filename = object.name ? kebabize(object.name) : "composer-script";
251
+ const files = {
252
+ [`${filename}.ts`]: {
253
+ content: source.content
254
+ }
255
+ };
256
+ try {
257
+ const meta2 = Obj.getMeta(object);
258
+ const githubKey = meta2.keys.find(({ source: source2 }) => source2 === "github.com");
259
+ const gistId = githubKey?.id;
260
+ if (gistId) {
261
+ await octokit.request("PATCH /gists/{gist_id}", {
262
+ gist_id: gistId,
263
+ files
264
+ });
265
+ } else {
266
+ const response = await octokit.request("POST /gists", {
267
+ public: true,
268
+ files
269
+ });
270
+ const gistId2 = response.data.id;
271
+ if (gistId2) {
272
+ Obj.change(object, (obj) => {
273
+ Obj.getMeta(obj).keys.push({
274
+ source: "github.com",
275
+ id: gistId2
276
+ });
277
+ });
278
+ }
279
+ }
280
+ } finally {
281
+ setPublishing(false);
282
+ }
283
+ }, [
284
+ object,
285
+ githubToken
286
+ ]);
287
+ return /* @__PURE__ */ React.createElement("div", {
288
+ className: "flex flex-col gap-4 mlb-cardSpacingBlock"
289
+ }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, t("script publish settings label")), /* @__PURE__ */ React.createElement("p", {
290
+ className: "text-description text-sm"
291
+ }, t("script publish settings description"))), !githubToken && /* @__PURE__ */ React.createElement("div", {
292
+ className: "flex flex-col gap-2"
293
+ }, /* @__PURE__ */ React.createElement("span", null, t("no github token label")), /* @__PURE__ */ React.createElement(Button, {
294
+ onClick: handleOpenTokenManager
295
+ }, t("open token manager label"))), githubToken && /* @__PURE__ */ React.createElement("div", {
296
+ className: "flex justify-end gap-2"
297
+ }, gistUrl && /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
298
+ value: gistUrl
299
+ }), /* @__PURE__ */ React.createElement(Button, {
300
+ disabled: publishing,
301
+ onClick: handlePublish
302
+ }, t(publishing ? "publishing label" : "publish label"))));
303
+ };
304
+
305
+ // src/components/Settings/ScriptPluginSettings.tsx
306
+ import React2 from "react";
307
+ import { useClient as useClient2 } from "@dxos/react-client";
308
+ import { Button as Button2, Select, useTranslation as useTranslation2 } from "@dxos/react-ui";
309
+ import { Settings } from "@dxos/react-ui-form";
310
+ import { EditorInputModes } from "@dxos/ui-editor";
311
+ var ScriptPluginSettings = ({ settings, onSettingsChange }) => {
312
+ const { t } = useTranslation2(meta.id);
313
+ const client = useClient2();
314
+ const handleAuthenticate = async () => {
315
+ const { identityKey } = client.halo.identity.get();
316
+ await client.halo.writeCredentials([
317
+ getAccessCredential(identityKey)
318
+ ]);
319
+ };
320
+ return /* @__PURE__ */ React2.createElement(Settings.Root, null, /* @__PURE__ */ React2.createElement(Settings.Section, {
321
+ title: t("settings title", {
322
+ ns: meta.id
323
+ })
324
+ }, /* @__PURE__ */ React2.createElement(Settings.Group, null, /* @__PURE__ */ React2.createElement(Settings.ItemInput, {
325
+ title: t("authenticate action label")
326
+ }, /* @__PURE__ */ React2.createElement(Button2, {
327
+ onClick: handleAuthenticate
328
+ }, t("authenticate button label"))), /* @__PURE__ */ React2.createElement(Settings.ItemInput, {
329
+ title: t("editor input mode label")
330
+ }, /* @__PURE__ */ React2.createElement(Select.Root, {
331
+ value: settings.editorInputMode ?? "default",
332
+ onValueChange: (value) => {
333
+ onSettingsChange((s) => ({
334
+ ...s,
335
+ editorInputMode: value
336
+ }));
337
+ }
338
+ }, /* @__PURE__ */ React2.createElement(Select.TriggerButton, {
339
+ placeholder: t("select editor input mode placeholder")
340
+ }), /* @__PURE__ */ React2.createElement(Select.Portal, null, /* @__PURE__ */ React2.createElement(Select.Content, null, /* @__PURE__ */ React2.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React2.createElement(Select.Option, {
341
+ key: mode,
342
+ value: mode
343
+ }, t(`settings editor input mode ${mode} label`)))), /* @__PURE__ */ React2.createElement(Select.Arrow, null))))))));
344
+ };
345
+
346
+ // src/components/TestPanel/TestPanel.tsx
347
+ import React3, { forwardRef, useEffect, useRef, useState as useState2 } from "react";
348
+ import { log as log2 } from "@dxos/log";
349
+ import { Avatar, Icon, Input as Input2, ScrollArea, Toolbar, useTranslation as useTranslation3 } from "@dxos/react-ui";
350
+ import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
351
+ import { errorText, mx } from "@dxos/ui-theme";
352
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx";
353
+ var TestPanel = ({ classNames, functionUrl }) => {
354
+ const { t } = useTranslation3(meta.id);
355
+ const inputRef = useRef(null);
356
+ const [input, setInput] = useState2("");
357
+ const [result, setResult] = useState2("");
358
+ const [state, setState] = useState2(null);
359
+ const [history, setHistory] = useState2([]);
360
+ const scrollerRef = useRef(null);
361
+ const handleScroll = () => {
362
+ if (scrollerRef.current) {
363
+ scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;
364
+ }
365
+ };
366
+ const controller = useRef(null);
367
+ useEffect(() => {
368
+ return () => {
369
+ handleStop();
370
+ };
371
+ }, []);
372
+ const handleStop = () => {
373
+ controller.current?.abort("stop");
374
+ controller.current = null;
375
+ };
376
+ const handleClear = () => {
377
+ handleStop();
378
+ setInput("");
379
+ setResult("");
380
+ setHistory([]);
381
+ inputRef.current?.focus();
382
+ };
383
+ const handleResponse = ({ text, data, error } = {}) => {
384
+ controller.current = null;
385
+ setHistory((history2) => [
386
+ ...history2,
387
+ {
388
+ type: "response",
389
+ text,
390
+ data,
391
+ error
392
+ }
393
+ ]);
394
+ setResult("");
395
+ setState(null);
396
+ handleScroll();
397
+ };
398
+ const handleRequest = async (input2) => {
399
+ try {
400
+ setState("pending");
401
+ let data = null;
402
+ if (input2.charAt(0) === "{") {
403
+ try {
404
+ const validJsonString = input2.replace(/'/g, '"').replace(/([{,]\s*)([a-zA-Z0-9_]+)(\s*:)/g, '$1"$2"$3');
405
+ data = JSON.parse(validJsonString);
406
+ input2 = JSON.stringify(data, null, 2);
407
+ } catch (err) {
408
+ inputRef.current?.focus();
409
+ return;
410
+ }
411
+ }
412
+ setInput("");
413
+ setResult("");
414
+ setHistory((history2) => [
415
+ ...history2,
416
+ {
417
+ type: "request",
418
+ text: input2
419
+ }
420
+ ]);
421
+ setTimeout(() => {
422
+ handleScroll();
423
+ });
424
+ controller.current = new AbortController();
425
+ const response = await fetch(functionUrl, {
426
+ signal: controller.current.signal,
427
+ method: "POST",
428
+ body: input2,
429
+ headers: {
430
+ "Content-Type": data ? "application/json" : "text/plain"
431
+ }
432
+ });
433
+ if (!response.ok) {
434
+ const text2 = await response.text();
435
+ handleResponse({
436
+ error: new Error(text2 || response.statusText || String(response.status))
437
+ });
438
+ return;
439
+ }
440
+ const contentType = response.headers.get("content-type");
441
+ if (contentType === "application/json") {
442
+ const data2 = await response.json();
443
+ handleResponse({
444
+ data: data2
445
+ });
446
+ return;
447
+ }
448
+ setState("responding");
449
+ let text = "";
450
+ const reader = response.body.getReader();
451
+ const pump = async ({ done, value }) => {
452
+ text = text + new TextDecoder().decode(value);
453
+ if (!controller.current || done) {
454
+ handleResponse({
455
+ text
456
+ });
457
+ return;
458
+ }
459
+ setResult(text);
460
+ setTimeout(() => {
461
+ handleScroll();
462
+ });
463
+ return reader.read().then(pump);
464
+ };
465
+ void reader.read().then(pump).catch((err) => {
466
+ if (err.name !== "AbortError") {
467
+ log2.catch(err, void 0, {
468
+ F: __dxlog_file2,
469
+ L: 162,
470
+ S: void 0,
471
+ C: (f, a) => f(...a)
472
+ });
473
+ }
474
+ });
475
+ } catch (err) {
476
+ if (err !== "stop") {
477
+ const error = err instanceof Error ? err : new Error(err);
478
+ handleResponse({
479
+ error
480
+ });
481
+ log2.catch(err, void 0, {
482
+ F: __dxlog_file2,
483
+ L: 169,
484
+ S: void 0,
485
+ C: (f, a) => f(...a)
486
+ });
487
+ } else {
488
+ handleResponse();
489
+ }
490
+ }
491
+ };
492
+ return /* @__PURE__ */ React3.createElement("div", {
493
+ className: mx("flex flex-col bs-full overflow-hidden", classNames)
494
+ }, /* @__PURE__ */ React3.createElement(MessageThread, {
495
+ ref: scrollerRef,
496
+ state,
497
+ result,
498
+ history
499
+ }), /* @__PURE__ */ React3.createElement(Toolbar.Root, null, /* @__PURE__ */ React3.createElement(Input2.Root, null, /* @__PURE__ */ React3.createElement(Input2.TextInput, {
500
+ ref: inputRef,
501
+ autoFocus: true,
502
+ placeholder: t("function request placeholder"),
503
+ value: input,
504
+ onChange: (ev) => setInput(ev.target.value),
505
+ onKeyDown: (ev) => ev.key === "Enter" && handleRequest(input)
506
+ })), /* @__PURE__ */ React3.createElement(Toolbar.IconButton, {
507
+ icon: "ph--play--regular",
508
+ size: 4,
509
+ label: "Execute",
510
+ iconOnly: true,
511
+ onClick: () => handleRequest(input)
512
+ }), /* @__PURE__ */ React3.createElement(Toolbar.IconButton, {
513
+ icon: state ? "ph--stop--regular" : "ph--trash--regular",
514
+ size: 4,
515
+ label: state ? "Stop" : "Clear",
516
+ iconOnly: true,
517
+ onClick: () => state ? handleStop() : handleClear()
518
+ })));
519
+ };
520
+ var MessageThread = /* @__PURE__ */ forwardRef(({ state, history, result }, forwardedRef) => {
521
+ return /* @__PURE__ */ React3.createElement(ScrollArea.Root, {
522
+ orientation: "vertical",
523
+ classNames: "bs-full",
524
+ ref: forwardedRef
525
+ }, /* @__PURE__ */ React3.createElement(ScrollArea.Viewport, {
526
+ classNames: "gap-6 p-2"
527
+ }, history.map((message, i) => /* @__PURE__ */ React3.createElement("div", {
528
+ key: i,
529
+ className: "grid grid-cols-[2rem_1fr_2rem]"
530
+ }, /* @__PURE__ */ React3.createElement("div", {
531
+ className: "p-1"
532
+ }, message.type === "response" && /* @__PURE__ */ React3.createElement(RobotAvatar, null)), /* @__PURE__ */ React3.createElement("div", {
533
+ className: "overflow-auto"
534
+ }, /* @__PURE__ */ React3.createElement(MessageItem, {
535
+ message
536
+ })))), result?.length > 0 && /* @__PURE__ */ React3.createElement("div", {
537
+ className: "grid grid-cols-[2rem_1fr_2rem]"
538
+ }, /* @__PURE__ */ React3.createElement("div", {
539
+ className: "p-1"
540
+ }, state === "pending" && /* @__PURE__ */ React3.createElement(Icon, {
541
+ icon: "ph--spinner--regular",
542
+ size: 6,
543
+ classNames: "animate-spin"
544
+ }) || /* @__PURE__ */ React3.createElement(Icon, {
545
+ icon: "ph--robot--regular",
546
+ size: 6,
547
+ classNames: "animate-[pulse_1s_ease-in-out_infinite]"
548
+ })), /* @__PURE__ */ React3.createElement("div", {
549
+ className: "overflow-auto"
550
+ }, /* @__PURE__ */ React3.createElement(MessageItem, {
551
+ message: {
552
+ type: "response",
553
+ text: result
554
+ }
555
+ })))));
556
+ });
557
+ var MessageItem = ({ classNames, message }) => {
558
+ const { type, text, data, error } = message;
559
+ const wrapper = "p-1 pli-2 rounded-md bg-hoverSurface overflow-auto";
560
+ return /* @__PURE__ */ React3.createElement("div", {
561
+ className: mx("flex", type === "request" ? "ml-[1rem] justify-end" : "mr-[1rem]", classNames)
562
+ }, error && /* @__PURE__ */ React3.createElement("div", {
563
+ className: mx(wrapper, "whitespace-pre", errorText)
564
+ }, String(error)), text !== void 0 && /* @__PURE__ */ React3.createElement("div", {
565
+ className: mx(wrapper, type === "request" && "bg-primary-400 dark:bg-primary-600")
566
+ }, text || "\xD8"), data && /* @__PURE__ */ React3.createElement(SyntaxHighlighter, {
567
+ language: "json",
568
+ className: mx(wrapper, "text-xs")
569
+ }, JSON.stringify(data, null, 2)));
570
+ };
571
+ var RobotAvatar = () => /* @__PURE__ */ React3.createElement(Avatar.Root, null, /* @__PURE__ */ React3.createElement(Avatar.Content, {
572
+ size: 6,
573
+ variant: "circle",
574
+ icon: "ph--robot--regular"
575
+ }));
576
+
577
+ // src/components/TestPanel/TestContainer.tsx
578
+ import React4 from "react";
579
+ import { Layout } from "@dxos/react-ui";
580
+ var TestContainer = ({ role, script }) => {
581
+ const state = useToolbarState();
582
+ useDeployState({
583
+ state,
584
+ script
585
+ });
586
+ return /* @__PURE__ */ React4.createElement(Layout.Main, {
587
+ role
588
+ }, /* @__PURE__ */ React4.createElement(TestPanel, {
589
+ functionUrl: state.value.functionUrl
590
+ }));
591
+ };
592
+
593
+ // src/components/index.ts
594
+ import { lazy } from "react";
595
+ var ScriptContainer = lazy(() => import("./ScriptContainer-NB76645V.mjs"));
596
+ var DeploymentDialog = lazy(() => import("./DeploymentDialog-XUAFCNI7.mjs"));
597
+ var NotebookContainer = lazy(() => import("./NotebookContainer-UQ4I24R6.mjs"));
598
+
599
+ export {
600
+ ScriptObjectSettings,
601
+ ScriptProperties,
602
+ ScriptPluginSettings,
603
+ TestPanel,
604
+ TestContainer,
605
+ ScriptContainer,
606
+ DeploymentDialog,
607
+ NotebookContainer
608
+ };
609
+ //# sourceMappingURL=chunk-LYMPME7J.mjs.map