@dxos/plugin-script 0.8.4-main.c1de068 → 0.8.4-main.c4373fc

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 (271) hide show
  1. package/dist/lib/browser/DeploymentDialog-7FNPALCV.mjs +12 -0
  2. package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs +578 -0
  3. package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs +149 -0
  5. package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs.map +7 -0
  6. package/dist/lib/browser/{app-graph-builder-HLQ7K3BT.mjs → app-graph-builder-DPYULSME.mjs} +9 -8
  7. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +7 -0
  8. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +28 -0
  9. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-3U6DTUH3.mjs → chunk-DXWTBOND.mjs} +26 -27
  11. package/dist/lib/browser/chunk-DXWTBOND.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-FMDXKOP7.mjs → chunk-ETFBQURU.mjs} +71 -50
  13. package/dist/lib/browser/chunk-ETFBQURU.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-QYAREHGH.mjs → chunk-EZVXV6DA.mjs} +3 -5
  15. package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-I3THDIT5.mjs +90 -0
  17. package/dist/lib/browser/chunk-I3THDIT5.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-N6M34EUC.mjs +112 -0
  19. package/dist/lib/browser/chunk-N6M34EUC.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-P4HQKUCP.mjs → chunk-NNYSARXK.mjs} +15 -15
  21. package/dist/lib/browser/chunk-NNYSARXK.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-5TVBECWH.mjs → chunk-OKXN2N7M.mjs} +2 -2
  23. package/dist/lib/browser/{chunk-FIM2MVNJ.mjs → chunk-SRSEZWDY.mjs} +159 -68
  24. package/dist/lib/browser/chunk-SRSEZWDY.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-SWBZUZDX.mjs +80 -0
  26. package/dist/lib/browser/chunk-SWBZUZDX.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-VFJJA4WR.mjs +88 -0
  28. package/dist/lib/browser/chunk-VFJJA4WR.mjs.map +7 -0
  29. package/dist/lib/browser/{compiler-CXCUA4UQ.mjs → compiler-G2N2CG63.mjs} +24 -8
  30. package/dist/lib/browser/compiler-G2N2CG63.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +96 -39
  32. package/dist/lib/browser/index.mjs.map +3 -3
  33. package/dist/lib/browser/{intent-resolver-7B77IG3N.mjs → intent-resolver-FYZRLYNT.mjs} +30 -16
  34. package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/{react-surface-FYYXZA7C.mjs → react-surface-CFRYAL2P.mjs} +36 -13
  37. package/dist/lib/browser/react-surface-CFRYAL2P.mjs.map +7 -0
  38. package/dist/lib/browser/{settings-KCTBK5TY.mjs → settings-L3HCZRBP.mjs} +8 -8
  39. package/dist/lib/browser/settings-L3HCZRBP.mjs.map +7 -0
  40. package/dist/lib/browser/templates/index.mjs +1 -1
  41. package/dist/lib/browser/types/index.mjs +6 -4
  42. package/dist/lib/node-esm/{DeploymentDialog-3KPRWFE7.mjs → DeploymentDialog-AKAGR37W.mjs} +5 -5
  43. package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs +579 -0
  44. package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs.map +7 -0
  45. package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs +150 -0
  46. package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs.map +7 -0
  47. package/dist/lib/node-esm/{app-graph-builder-7EYIHWH4.mjs → app-graph-builder-UXJGHXSL.mjs} +9 -8
  48. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +7 -0
  49. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +30 -0
  50. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-QKK3NDHW.mjs → chunk-5IKGUOMI.mjs} +15 -15
  52. package/dist/lib/node-esm/chunk-5IKGUOMI.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-RT43MACC.mjs → chunk-7MR2L4T3.mjs} +26 -27
  54. package/dist/lib/node-esm/chunk-7MR2L4T3.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-C33FKUSC.mjs +91 -0
  56. package/dist/lib/node-esm/chunk-C33FKUSC.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-35M3CHYE.mjs → chunk-NUXZQQ6P.mjs} +2 -2
  58. package/dist/lib/node-esm/{chunk-AHXJ6NQU.mjs → chunk-OG2SIKHE.mjs} +3 -5
  59. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-OQGBKNYU.mjs +90 -0
  61. package/dist/lib/node-esm/chunk-OQGBKNYU.mjs.map +7 -0
  62. package/dist/lib/node-esm/{chunk-7NMI4CEU.mjs → chunk-PMQ3D535.mjs} +159 -68
  63. package/dist/lib/node-esm/chunk-PMQ3D535.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-XJPK3IYI.mjs → chunk-U4CZGISN.mjs} +71 -50
  65. package/dist/lib/node-esm/chunk-U4CZGISN.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +114 -0
  67. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-ZF5ULKED.mjs +81 -0
  69. package/dist/lib/node-esm/chunk-ZF5ULKED.mjs.map +7 -0
  70. package/dist/lib/node-esm/{compiler-EPFKQXPE.mjs → compiler-PLDAZ5GJ.mjs} +24 -8
  71. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +7 -0
  72. package/dist/lib/node-esm/index.mjs +96 -39
  73. package/dist/lib/node-esm/index.mjs.map +3 -3
  74. package/dist/lib/node-esm/{intent-resolver-FRZGS4TB.mjs → intent-resolver-6J3CFL5T.mjs} +30 -16
  75. package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs.map +7 -0
  76. package/dist/lib/node-esm/meta.json +1 -1
  77. package/dist/lib/node-esm/{react-surface-V32NWHKN.mjs → react-surface-NPKEO7SA.mjs} +36 -13
  78. package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs.map +7 -0
  79. package/dist/lib/node-esm/{settings-DXZ334A3.mjs → settings-YWGZP4EW.mjs} +8 -8
  80. package/dist/lib/node-esm/settings-YWGZP4EW.mjs.map +7 -0
  81. package/dist/lib/node-esm/templates/index.mjs +1 -1
  82. package/dist/lib/node-esm/types/index.mjs +6 -4
  83. package/dist/types/src/ScriptPlugin.d.ts +1 -1
  84. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  86. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
  88. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
  90. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  91. package/dist/types/src/capabilities/compiler.d.ts +1 -1
  92. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/index.d.ts +6 -6
  94. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  96. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  98. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/settings.d.ts +1 -1
  100. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  101. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +2 -2
  102. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  103. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +225 -13
  104. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/DeploymentDialog/index.d.ts +1 -1
  106. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +1 -1
  107. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  108. package/dist/types/src/components/NotebookContainer.d.ts +10 -0
  109. package/dist/types/src/components/NotebookContainer.d.ts.map +1 -0
  110. package/dist/types/src/components/NotebookContainer.stories.d.ts +231 -0
  111. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +1 -0
  112. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +16 -0
  113. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  114. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +231 -0
  115. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  116. package/dist/types/src/components/NotebookStack/index.d.ts +2 -0
  117. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  118. package/dist/types/src/components/ScriptContainer.d.ts +2 -2
  119. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  120. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  121. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +227 -10
  122. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  123. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +1 -1
  124. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +2 -2
  125. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +1 -1
  126. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  127. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +4 -2
  128. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  129. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +17 -4
  130. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  131. package/dist/types/src/components/index.d.ts +3 -4
  132. package/dist/types/src/components/index.d.ts.map +1 -1
  133. package/dist/types/src/events.d.ts.map +1 -1
  134. package/dist/types/src/hooks/deploy.d.ts +11 -10
  135. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  136. package/dist/types/src/hooks/template.d.ts.map +1 -1
  137. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  138. package/dist/types/src/index.d.ts +1 -0
  139. package/dist/types/src/index.d.ts.map +1 -1
  140. package/dist/types/src/meta.d.ts +0 -1
  141. package/dist/types/src/meta.d.ts.map +1 -1
  142. package/dist/types/src/notebook/index.d.ts +2 -0
  143. package/dist/types/src/notebook/index.d.ts.map +1 -0
  144. package/dist/types/src/notebook/notebook.d.ts +39 -0
  145. package/dist/types/src/notebook/notebook.d.ts.map +1 -0
  146. package/dist/types/src/notebook/notebook.test.d.ts +2 -0
  147. package/dist/types/src/notebook/notebook.test.d.ts.map +1 -0
  148. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  149. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  150. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  151. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  152. package/dist/types/src/templates/chess.d.ts.map +1 -1
  153. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  154. package/dist/types/src/templates/discord.d.ts.map +1 -1
  155. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  156. package/dist/types/src/templates/forex.d.ts.map +1 -1
  157. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  158. package/dist/types/src/testing/data.d.ts +10 -0
  159. package/dist/types/src/testing/data.d.ts.map +1 -0
  160. package/dist/types/src/testing/index.d.ts +2 -0
  161. package/dist/types/src/testing/index.d.ts.map +1 -0
  162. package/dist/types/src/translations.d.ts +21 -2
  163. package/dist/types/src/translations.d.ts.map +1 -1
  164. package/dist/types/src/types/actions.d.ts +58 -0
  165. package/dist/types/src/types/actions.d.ts.map +1 -0
  166. package/dist/types/src/types/index.d.ts +1 -0
  167. package/dist/types/src/types/index.d.ts.map +1 -1
  168. package/dist/types/src/types/schema.d.ts +29 -32
  169. package/dist/types/src/types/schema.d.ts.map +1 -1
  170. package/dist/types/src/util/deploy.d.ts +3 -3
  171. package/dist/types/src/util/deploy.d.ts.map +1 -1
  172. package/dist/types/src/util/functions.d.ts +5 -2
  173. package/dist/types/src/util/functions.d.ts.map +1 -1
  174. package/dist/types/tsconfig.tsbuildinfo +1 -1
  175. package/package.json +73 -69
  176. package/src/ScriptPlugin.tsx +91 -69
  177. package/src/capabilities/app-graph-builder.ts +6 -5
  178. package/src/capabilities/artifact-definition.ts +8 -12
  179. package/src/capabilities/blueprint-definition.ts +30 -0
  180. package/src/capabilities/compiler.ts +2 -1
  181. package/src/capabilities/index.ts +1 -1
  182. package/src/capabilities/intent-resolver.ts +15 -8
  183. package/src/capabilities/react-surface.tsx +20 -7
  184. package/src/capabilities/settings.ts +3 -3
  185. package/src/compiler/compiler.ts +1 -1
  186. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +34 -20
  187. package/src/components/DeploymentDialog/DeploymentDialog.tsx +16 -22
  188. package/src/components/DeploymentDialog/index.ts +1 -1
  189. package/src/components/FrameContainer/FrameContainer.tsx +3 -2
  190. package/src/components/NotebookContainer.stories.tsx +36 -0
  191. package/src/components/NotebookContainer.tsx +82 -0
  192. package/src/components/NotebookStack/NotebookStack.stories.tsx +36 -0
  193. package/src/components/NotebookStack/NotebookStack.tsx +113 -0
  194. package/src/components/NotebookStack/index.ts +5 -0
  195. package/src/components/ScriptContainer.tsx +4 -3
  196. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +33 -17
  197. package/src/components/ScriptToolbar/ScriptToolbar.tsx +30 -23
  198. package/src/components/Settings/ScriptObjectSettings.tsx +111 -31
  199. package/src/components/Settings/ScriptPluginSettings.tsx +37 -47
  200. package/src/components/TestPanel/TestContainer.tsx +2 -1
  201. package/src/components/TestPanel/TestPanel.tsx +6 -6
  202. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +84 -30
  203. package/src/components/TypescriptEditor/TypescriptEditor.tsx +32 -25
  204. package/src/components/index.ts +3 -0
  205. package/src/events.ts +2 -2
  206. package/src/hooks/deploy.ts +18 -19
  207. package/src/hooks/format.ts +2 -2
  208. package/src/hooks/template.ts +4 -3
  209. package/src/hooks/useCreateAndDeployScriptTemplates.ts +4 -3
  210. package/src/index.ts +1 -0
  211. package/src/meta.ts +2 -4
  212. package/src/notebook/index.ts +5 -0
  213. package/src/notebook/notebook.test.ts +38 -0
  214. package/src/notebook/notebook.ts +188 -0
  215. package/src/notebook/vfs-parser.test.ts +149 -0
  216. package/src/notebook/vfs-parser.ts +490 -0
  217. package/src/templates/chess.ts +3 -1
  218. package/src/templates/data-generator.ts +9 -3
  219. package/src/templates/discord.ts +12 -4
  220. package/src/templates/forex-effect.ts +7 -3
  221. package/src/templates/forex.ts +3 -1
  222. package/src/templates/gmail.ts +33 -62
  223. package/src/testing/data.ts +37 -0
  224. package/src/testing/index.ts +5 -0
  225. package/src/translations.ts +24 -4
  226. package/src/types/actions.ts +49 -0
  227. package/src/types/index.ts +1 -0
  228. package/src/types/schema.ts +24 -19
  229. package/src/util/deploy.ts +20 -33
  230. package/src/util/functions.ts +35 -6
  231. package/dist/lib/browser/DeploymentDialog-M4QIHTDR.mjs +0 -12
  232. package/dist/lib/browser/ScriptContainer-Z6SIGRRC.mjs +0 -262
  233. package/dist/lib/browser/ScriptContainer-Z6SIGRRC.mjs.map +0 -7
  234. package/dist/lib/browser/app-graph-builder-HLQ7K3BT.mjs.map +0 -7
  235. package/dist/lib/browser/artifact-definition-24Q3IHOU.mjs +0 -249
  236. package/dist/lib/browser/artifact-definition-24Q3IHOU.mjs.map +0 -7
  237. package/dist/lib/browser/chunk-3U6DTUH3.mjs.map +0 -7
  238. package/dist/lib/browser/chunk-FIM2MVNJ.mjs.map +0 -7
  239. package/dist/lib/browser/chunk-FMDXKOP7.mjs.map +0 -7
  240. package/dist/lib/browser/chunk-IS4OG2UW.mjs +0 -39
  241. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +0 -7
  242. package/dist/lib/browser/chunk-P4HQKUCP.mjs.map +0 -7
  243. package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
  244. package/dist/lib/browser/chunk-R4R7VOFY.mjs +0 -88
  245. package/dist/lib/browser/chunk-R4R7VOFY.mjs.map +0 -7
  246. package/dist/lib/browser/compiler-CXCUA4UQ.mjs.map +0 -7
  247. package/dist/lib/browser/intent-resolver-7B77IG3N.mjs.map +0 -7
  248. package/dist/lib/browser/react-surface-FYYXZA7C.mjs.map +0 -7
  249. package/dist/lib/browser/settings-KCTBK5TY.mjs.map +0 -7
  250. package/dist/lib/node-esm/ScriptContainer-KPU75HHI.mjs +0 -263
  251. package/dist/lib/node-esm/ScriptContainer-KPU75HHI.mjs.map +0 -7
  252. package/dist/lib/node-esm/app-graph-builder-7EYIHWH4.mjs.map +0 -7
  253. package/dist/lib/node-esm/artifact-definition-WAJFALUI.mjs +0 -250
  254. package/dist/lib/node-esm/artifact-definition-WAJFALUI.mjs.map +0 -7
  255. package/dist/lib/node-esm/chunk-7NMI4CEU.mjs.map +0 -7
  256. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
  257. package/dist/lib/node-esm/chunk-F5GFJ3PY.mjs +0 -90
  258. package/dist/lib/node-esm/chunk-F5GFJ3PY.mjs.map +0 -7
  259. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs +0 -40
  260. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +0 -7
  261. package/dist/lib/node-esm/chunk-QKK3NDHW.mjs.map +0 -7
  262. package/dist/lib/node-esm/chunk-RT43MACC.mjs.map +0 -7
  263. package/dist/lib/node-esm/chunk-XJPK3IYI.mjs.map +0 -7
  264. package/dist/lib/node-esm/compiler-EPFKQXPE.mjs.map +0 -7
  265. package/dist/lib/node-esm/intent-resolver-FRZGS4TB.mjs.map +0 -7
  266. package/dist/lib/node-esm/react-surface-V32NWHKN.mjs.map +0 -7
  267. package/dist/lib/node-esm/settings-DXZ334A3.mjs.map +0 -7
  268. /package/dist/lib/browser/{DeploymentDialog-M4QIHTDR.mjs.map → DeploymentDialog-7FNPALCV.mjs.map} +0 -0
  269. /package/dist/lib/browser/{chunk-5TVBECWH.mjs.map → chunk-OKXN2N7M.mjs.map} +0 -0
  270. /package/dist/lib/node-esm/{DeploymentDialog-3KPRWFE7.mjs.map → DeploymentDialog-AKAGR37W.mjs.map} +0 -0
  271. /package/dist/lib/node-esm/{chunk-35M3CHYE.mjs.map → chunk-NUXZQQ6P.mjs.map} +0 -0
@@ -0,0 +1,12 @@
1
+ import {
2
+ DEPLOYMENT_DIALOG,
3
+ DeploymentDialog_default
4
+ } from "./chunk-NNYSARXK.mjs";
5
+ import "./chunk-ETFBQURU.mjs";
6
+ import "./chunk-SWBZUZDX.mjs";
7
+ import "./chunk-EZVXV6DA.mjs";
8
+ export {
9
+ DEPLOYMENT_DIALOG,
10
+ DeploymentDialog_default as default
11
+ };
12
+ //# sourceMappingURL=DeploymentDialog-7FNPALCV.mjs.map
@@ -0,0 +1,578 @@
1
+ import {
2
+ NotebookStack
3
+ } from "./chunk-I3THDIT5.mjs";
4
+ import "./chunk-N6M34EUC.mjs";
5
+ import {
6
+ meta
7
+ } from "./chunk-EZVXV6DA.mjs";
8
+
9
+ // src/components/NotebookContainer.tsx
10
+ import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
11
+ import React, { useCallback, useMemo } from "react";
12
+ import { Ref } from "@dxos/echo";
13
+ import { Toolbar, useTranslation } from "@dxos/react-ui";
14
+ import { StackItem } from "@dxos/react-ui-stack";
15
+ import { DataType } from "@dxos/schema";
16
+
17
+ // src/notebook/notebook.ts
18
+ import { signal } from "@preact/signals-core";
19
+ import { log } from "@dxos/log";
20
+
21
+ // src/notebook/vfs-parser.ts
22
+ import { createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
23
+ import ts from "typescript";
24
+ import { invariant } from "@dxos/invariant";
25
+ import { trim } from "@dxos/util";
26
+ function _define_property(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+ return obj;
38
+ }
39
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/notebook/vfs-parser.ts";
40
+ var VirtualTypeScriptParser = class {
41
+ /**
42
+ * Parse a single expression or statement.
43
+ */
44
+ parseExpression(input) {
45
+ invariant(input.trim() !== "", "input must not be empty", {
46
+ F: __dxlog_file,
47
+ L: 46,
48
+ S: this,
49
+ A: [
50
+ "input.trim() !== ''",
51
+ "'input must not be empty'"
52
+ ]
53
+ });
54
+ const files = [
55
+ {
56
+ filename: "/temp.ts",
57
+ content: input
58
+ }
59
+ ];
60
+ const analysis = this.analyzeFiles(files);
61
+ if (analysis.length === 0) {
62
+ const sourcefilename = "/temp.ts";
63
+ const env = this.createEnvironment([
64
+ {
65
+ filename: sourcefilename,
66
+ content: input
67
+ },
68
+ ...systemFiles
69
+ ]);
70
+ const sourceFile = env.getSourceFile(sourcefilename);
71
+ const typeChecker = env.languageService.getProgram()?.getTypeChecker();
72
+ if (sourceFile && typeChecker) {
73
+ const assignmentInfo = this.findAssignmentExpression(sourceFile, typeChecker);
74
+ if (assignmentInfo) {
75
+ return assignmentInfo;
76
+ }
77
+ const references = this.findAllReferences(sourceFile, typeChecker);
78
+ return {
79
+ references
80
+ };
81
+ }
82
+ }
83
+ return analysis[0];
84
+ }
85
+ /**
86
+ * Analyze multiple files with full type information.
87
+ */
88
+ analyzeFiles(files) {
89
+ const env = this.createEnvironment([
90
+ ...files,
91
+ ...systemFiles
92
+ ]);
93
+ const results = [];
94
+ const typeChecker = env.languageService.getProgram()?.getTypeChecker();
95
+ files.forEach((file) => {
96
+ const sourceFile = env.getSourceFile(file.filename);
97
+ if (!sourceFile || !typeChecker) return;
98
+ const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);
99
+ results.push(...fileResults);
100
+ });
101
+ return results;
102
+ }
103
+ /**
104
+ * Analyze a source file with type information.
105
+ */
106
+ analyzeSourceFile(sourceFile, typeChecker) {
107
+ const results = [];
108
+ const visit = (node) => {
109
+ if (ts.isFunctionDeclaration(node) && node.name) {
110
+ const symbol = typeChecker.getSymbolAtLocation(node.name);
111
+ const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, node);
112
+ const signature = type && typeChecker.getSignaturesOfType(type, ts.SignatureKind.Call)[0];
113
+ results.push({
114
+ name: node.name.text,
115
+ type: "function",
116
+ parameters: this.extractParameters(signature, typeChecker),
117
+ returnType: signature ? typeChecker.typeToString(signature.getReturnType()) : "any",
118
+ references: this.findReferences(node, sourceFile, typeChecker)
119
+ });
120
+ } else if (ts.isVariableStatement(node)) {
121
+ node.declarationList.declarations.forEach((declaration) => {
122
+ if (ts.isIdentifier(declaration.name)) {
123
+ const symbol = typeChecker.getSymbolAtLocation(declaration.name);
124
+ const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, declaration);
125
+ let kind = "variable";
126
+ let parameters;
127
+ let returnType;
128
+ let value;
129
+ const typeString = type ? typeChecker.typeToString(type) : "any";
130
+ if (declaration.initializer) {
131
+ if (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer)) {
132
+ kind = "function";
133
+ const funcType = typeChecker.getTypeAtLocation(declaration.initializer);
134
+ const signature = typeChecker.getSignaturesOfType(funcType, ts.SignatureKind.Call)[0];
135
+ if (signature) {
136
+ parameters = this.extractParameters(signature, typeChecker);
137
+ returnType = typeChecker.typeToString(signature.getReturnType());
138
+ }
139
+ } else {
140
+ if (ts.isNumericLiteral(declaration.initializer)) {
141
+ value = Number(declaration.initializer.text);
142
+ } else if (ts.isStringLiteral(declaration.initializer)) {
143
+ value = declaration.initializer.text;
144
+ }
145
+ }
146
+ }
147
+ const refs = declaration.initializer ? this.findReferences(declaration.initializer, sourceFile, typeChecker) : [];
148
+ results.push({
149
+ name: declaration.name.text,
150
+ type: kind,
151
+ valueType: typeString,
152
+ value,
153
+ parameters,
154
+ returnType,
155
+ references: refs
156
+ });
157
+ }
158
+ });
159
+ } else if (ts.isClassDeclaration(node) && node.name) {
160
+ results.push({
161
+ name: node.name.text,
162
+ type: "class",
163
+ references: this.findReferences(node, sourceFile, typeChecker)
164
+ });
165
+ } else if (ts.isInterfaceDeclaration(node)) {
166
+ results.push({
167
+ name: node.name.text,
168
+ type: "interface",
169
+ references: this.findReferences(node, sourceFile, typeChecker)
170
+ });
171
+ }
172
+ ts.forEachChild(node, visit);
173
+ };
174
+ visit(sourceFile);
175
+ return results;
176
+ }
177
+ /**
178
+ * Extract parameter information from a signature.
179
+ */
180
+ extractParameters(signature, typeChecker) {
181
+ if (!signature) return [];
182
+ return signature.parameters.map((param) => ({
183
+ name: param.getName(),
184
+ type: typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(param, param.valueDeclaration))
185
+ }));
186
+ }
187
+ /**
188
+ * Find all references to variables used in a node.
189
+ */
190
+ findReferences(node, _sourceFile, _typeChecker) {
191
+ const references = /* @__PURE__ */ new Set();
192
+ const localSymbols = /* @__PURE__ */ new Set();
193
+ const collectLocalSymbols = (n) => {
194
+ if (ts.isFunctionDeclaration(n) || ts.isArrowFunction(n) || ts.isFunctionExpression(n)) {
195
+ n.parameters.forEach((param) => {
196
+ if (ts.isIdentifier(param.name)) {
197
+ localSymbols.add(param.name.text);
198
+ }
199
+ });
200
+ }
201
+ if (ts.isVariableDeclaration(n) && ts.isIdentifier(n.name)) {
202
+ localSymbols.add(n.name.text);
203
+ }
204
+ ts.forEachChild(n, collectLocalSymbols);
205
+ };
206
+ collectLocalSymbols(node);
207
+ const findRefs = (n) => {
208
+ if (ts.isIdentifier(n)) {
209
+ if (!localSymbols.has(n.text)) {
210
+ const parent = n.parent;
211
+ const isDeclaration = ts.isVariableDeclaration(parent) && parent.name === n || ts.isFunctionDeclaration(parent) && parent.name === n || ts.isParameter(parent) && parent.name === n;
212
+ if (!isDeclaration && !this.isBuiltIn(n.text)) {
213
+ references.add(n.text);
214
+ }
215
+ }
216
+ }
217
+ ts.forEachChild(n, findRefs);
218
+ };
219
+ findRefs(node);
220
+ return Array.from(references);
221
+ }
222
+ /**
223
+ * Check if a name is a built-in global.
224
+ */
225
+ isBuiltIn(name) {
226
+ return builtIns.has(name);
227
+ }
228
+ /**
229
+ * Find assignment expressions in a source file.
230
+ */
231
+ findAssignmentExpression(sourceFile, typeChecker) {
232
+ let result = null;
233
+ const visit = (node) => {
234
+ if (ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression)) {
235
+ const expr = node.expression;
236
+ if (expr.operatorToken.kind === ts.SyntaxKind.EqualsToken && ts.isIdentifier(expr.left)) {
237
+ const type = typeChecker.getTypeAtLocation(expr.right);
238
+ const typeString = typeChecker.typeToString(type);
239
+ let value;
240
+ if (ts.isNumericLiteral(expr.right)) {
241
+ value = Number(expr.right.text);
242
+ } else if (ts.isStringLiteral(expr.right)) {
243
+ value = expr.right.text;
244
+ }
245
+ const references = this.findReferences(expr.right, sourceFile, typeChecker);
246
+ result = {
247
+ name: expr.left.text,
248
+ type: "variable",
249
+ valueType: typeString,
250
+ value,
251
+ references
252
+ };
253
+ }
254
+ }
255
+ if (!result) {
256
+ ts.forEachChild(node, visit);
257
+ }
258
+ };
259
+ visit(sourceFile);
260
+ return result;
261
+ }
262
+ /**
263
+ * Find all identifier references in a source file.
264
+ */
265
+ findAllReferences(sourceFile, _typeChecker) {
266
+ const references = /* @__PURE__ */ new Set();
267
+ const visit = (node) => {
268
+ if (ts.isIdentifier(node)) {
269
+ const parent = node.parent;
270
+ const isDeclaration = ts.isVariableDeclaration(parent) && parent.name === node || ts.isFunctionDeclaration(parent) && parent.name === node || ts.isParameter(parent) && parent.name === node;
271
+ const isAssignmentTarget = ts.isBinaryExpression(parent) && parent.operatorToken.kind === ts.SyntaxKind.EqualsToken && parent.left === node;
272
+ if (!isDeclaration && !isAssignmentTarget && !this.isBuiltIn(node.text)) {
273
+ references.add(node.text);
274
+ }
275
+ }
276
+ ts.forEachChild(node, visit);
277
+ };
278
+ visit(sourceFile);
279
+ return Array.from(references);
280
+ }
281
+ createEnvironment(files) {
282
+ const fileMap = /* @__PURE__ */ new Map();
283
+ files.forEach(({ filename, content }) => {
284
+ fileMap.set(filename, content);
285
+ });
286
+ const system = createSystem(fileMap);
287
+ return createVirtualTypeScriptEnvironment(system, files.map(({ filename }) => filename), ts, this.compilerOptions);
288
+ }
289
+ constructor() {
290
+ _define_property(this, "compilerOptions", {
291
+ target: ts.ScriptTarget.ES2020,
292
+ module: ts.ModuleKind.ESNext,
293
+ strict: true,
294
+ esModuleInterop: true,
295
+ skipLibCheck: true,
296
+ forceConsistentCasingInfilenames: true,
297
+ jsx: ts.JsxEmit.React,
298
+ noLib: true
299
+ });
300
+ }
301
+ };
302
+ var builtIns = /* @__PURE__ */ new Set([
303
+ // Types.
304
+ "Array",
305
+ "Date",
306
+ "Error",
307
+ "JSON",
308
+ "Map",
309
+ "Math",
310
+ "Number",
311
+ "Promise",
312
+ "Object",
313
+ "RegExp",
314
+ "Set",
315
+ "String",
316
+ // Functions.
317
+ "console",
318
+ "document",
319
+ "global",
320
+ "isFinite",
321
+ "isNaN",
322
+ "parseFloat",
323
+ "parseInt",
324
+ "process",
325
+ "window"
326
+ ]);
327
+ var systemFiles = [
328
+ {
329
+ filename: "/lib.d.ts",
330
+ content: trim`
331
+ interface Array<T> { length: number; [n: number]: T; }
332
+ interface Boolean {}
333
+ interface Function {}
334
+ interface IArguments {}
335
+ interface Number {}
336
+ interface Object {}
337
+ interface RegExp {}
338
+ interface String { length: number; }
339
+ interface CallableFunction extends Function {}
340
+ interface NewableFunction extends Function {}
341
+ declare var console: { log(...args: any[]): void };
342
+ `
343
+ }
344
+ ];
345
+
346
+ // src/notebook/notebook.ts
347
+ function _define_property2(obj, key, value) {
348
+ if (key in obj) {
349
+ Object.defineProperty(obj, key, {
350
+ value,
351
+ enumerable: true,
352
+ configurable: true,
353
+ writable: true
354
+ });
355
+ } else {
356
+ obj[key] = value;
357
+ }
358
+ return obj;
359
+ }
360
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/notebook/notebook.ts";
361
+ var ComputeGraph = class {
362
+ /**
363
+ * Parsed expressions by cell ID.
364
+ */
365
+ get expressions() {
366
+ return this._expressions;
367
+ }
368
+ /**
369
+ * Computed values by cell ID.
370
+ */
371
+ get values() {
372
+ return this._values;
373
+ }
374
+ /**
375
+ * Compute values.
376
+ */
377
+ evaluate() {
378
+ const { expressions, dependencyGraph } = this.parse();
379
+ this._values.value = {};
380
+ const cellExpressions = /* @__PURE__ */ new Map();
381
+ Object.entries(expressions).forEach(([id, expr]) => {
382
+ cellExpressions.set(id, expr);
383
+ });
384
+ const evaluationOrder = this.topologicalSort(Object.keys(expressions), dependencyGraph);
385
+ const valuesByName = {};
386
+ const valuesByCellId = {};
387
+ for (const cellId of evaluationOrder) {
388
+ const expr = cellExpressions.get(cellId);
389
+ if (!expr) {
390
+ log.error("no expression for cell", {
391
+ cellId
392
+ }, {
393
+ F: __dxlog_file2,
394
+ L: 63,
395
+ S: this,
396
+ C: (f, a) => f(...a)
397
+ });
398
+ continue;
399
+ }
400
+ const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.script.target?.content;
401
+ if (!cellSource) {
402
+ log.error("no source for cell", {
403
+ cellId
404
+ }, {
405
+ F: __dxlog_file2,
406
+ L: 69,
407
+ S: this,
408
+ C: (f, a) => f(...a)
409
+ });
410
+ continue;
411
+ }
412
+ try {
413
+ if (expr.name && expr.value !== void 0) {
414
+ valuesByName[expr.name] = expr.value;
415
+ valuesByCellId[cellId] = expr.value;
416
+ } else if (expr.name) {
417
+ const equalIndex = cellSource.indexOf("=");
418
+ if (equalIndex !== -1) {
419
+ let rhs = cellSource.substring(equalIndex + 1).trim();
420
+ if (rhs.endsWith(";")) {
421
+ rhs = rhs.slice(0, -1).trim();
422
+ }
423
+ const result = this.evalScript(rhs, valuesByName);
424
+ valuesByName[expr.name] = result;
425
+ if (typeof result !== "function") {
426
+ valuesByCellId[cellId] = result;
427
+ }
428
+ }
429
+ } else {
430
+ const result = this.evalScript(cellSource, valuesByName);
431
+ valuesByCellId[cellId] = result;
432
+ }
433
+ } catch (error) {
434
+ log.error("error evaluating cell", {
435
+ cellId,
436
+ error
437
+ }, {
438
+ F: __dxlog_file2,
439
+ L: 104,
440
+ S: this,
441
+ C: (f, a) => f(...a)
442
+ });
443
+ }
444
+ }
445
+ this._values.value = valuesByCellId;
446
+ return valuesByCellId;
447
+ }
448
+ /**
449
+ * Parse expressions.
450
+ */
451
+ parse() {
452
+ const expressions = this._notebook.cells.reduce((acc, cell) => {
453
+ const text = cell.script.target?.content.trim();
454
+ if (text) {
455
+ const parsed = this._parser.parseExpression(text);
456
+ acc[cell.id] = parsed;
457
+ }
458
+ return acc;
459
+ }, {});
460
+ const dependencyGraph = this.buildDependencyGraph(expressions);
461
+ this._expressions.value = expressions;
462
+ return {
463
+ expressions,
464
+ dependencyGraph
465
+ };
466
+ }
467
+ topologicalSort(nodes, dependencies) {
468
+ const visited = /* @__PURE__ */ new Set();
469
+ const result = [];
470
+ const visit = (node) => {
471
+ if (visited.has(node)) {
472
+ return;
473
+ }
474
+ visited.add(node);
475
+ const deps = dependencies[node] || [];
476
+ deps.forEach((dep) => visit(dep));
477
+ result.push(node);
478
+ };
479
+ nodes.forEach((node) => visit(node));
480
+ return result;
481
+ }
482
+ buildDependencyGraph(expressions) {
483
+ const nameToCellId = /* @__PURE__ */ new Map();
484
+ Object.entries(expressions).forEach(([id, expr]) => {
485
+ if (expr.name) {
486
+ nameToCellId.set(expr.name, id);
487
+ }
488
+ });
489
+ const graph = {};
490
+ Object.entries(expressions).forEach(([id, expr]) => {
491
+ if (expr.references && expr.references.length > 0) {
492
+ const dependencyCellIds = expr.references.map((ref) => nameToCellId.get(ref)).filter((cellId) => cellId !== void 0 && cellId !== id);
493
+ if (dependencyCellIds.length > 0) {
494
+ graph[id] = dependencyCellIds;
495
+ }
496
+ }
497
+ });
498
+ return graph;
499
+ }
500
+ /**
501
+ * Evaluate the script (with dependencies as arguments).
502
+ */
503
+ evalScript(code, deps = {}) {
504
+ return new Function(...Object.keys(deps), "return " + code)(...Object.values(deps));
505
+ }
506
+ constructor(_notebook) {
507
+ _define_property2(this, "_notebook", void 0);
508
+ _define_property2(this, "_parser", void 0);
509
+ _define_property2(this, "_expressions", void 0);
510
+ _define_property2(this, "_values", void 0);
511
+ this._notebook = _notebook;
512
+ this._parser = new VirtualTypeScriptParser();
513
+ this._expressions = signal({});
514
+ this._values = signal({});
515
+ }
516
+ };
517
+
518
+ // src/components/NotebookContainer.tsx
519
+ var NotebookContainer = ({ notebook, env }) => {
520
+ var _effect = _useSignals();
521
+ try {
522
+ const { t } = useTranslation(meta.id);
523
+ const graph = useMemo(() => notebook && new ComputeGraph(notebook), [
524
+ notebook
525
+ ]);
526
+ const handleCompute = useCallback(() => {
527
+ graph?.evaluate();
528
+ }, [
529
+ graph
530
+ ]);
531
+ const handleCellInsert = useCallback((after) => {
532
+ const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;
533
+ notebook?.cells.splice(idx, 0, {
534
+ id: crypto.randomUUID(),
535
+ script: Ref.make(DataType.makeText("\n\n\n"))
536
+ });
537
+ }, [
538
+ notebook
539
+ ]);
540
+ const handleCellDelete = useCallback((id) => {
541
+ const idx = notebook.cells.findIndex((cell) => cell.id === id);
542
+ if (idx !== -1) {
543
+ notebook.cells.splice(idx, 1);
544
+ }
545
+ }, [
546
+ notebook
547
+ ]);
548
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
549
+ classNames: "container-max-width border-l border-r border-subduedSeparator",
550
+ toolbar: true
551
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
552
+ icon: "ph--plus--regular",
553
+ iconOnly: true,
554
+ label: t("add cell label"),
555
+ onClick: () => handleCellInsert("")
556
+ }), /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
557
+ icon: "ph--play--fill",
558
+ iconOnly: true,
559
+ label: t("compute label"),
560
+ classNames: "text-green-500",
561
+ onClick: handleCompute
562
+ })), /* @__PURE__ */ React.createElement(NotebookStack, {
563
+ notebook,
564
+ graph,
565
+ env,
566
+ onCellInsert: handleCellInsert,
567
+ onCellDelete: handleCellDelete
568
+ }));
569
+ } finally {
570
+ _effect.f();
571
+ }
572
+ };
573
+ var NotebookContainer_default = NotebookContainer;
574
+ export {
575
+ NotebookContainer,
576
+ NotebookContainer_default as default
577
+ };
578
+ //# sourceMappingURL=NotebookContainer-ZSXYRRZB.mjs.map