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

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 (512) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-IIOXAS47.mjs +138 -0
  3. package/dist/lib/browser/DeploymentDialog-IIOXAS47.mjs.map +7 -0
  4. package/dist/lib/browser/NotebookContainer-VVZOKGRC.mjs +850 -0
  5. package/dist/lib/browser/NotebookContainer-VVZOKGRC.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-A5SSIUH6.mjs +93 -0
  7. package/dist/lib/browser/ScriptContainer-A5SSIUH6.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-HYYC7KXC.mjs +294 -0
  9. package/dist/lib/browser/ScriptObjectSettings-HYYC7KXC.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-UTWA7CBT.mjs +55 -0
  11. package/dist/lib/browser/ScriptPluginSettings-UTWA7CBT.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-HREPUE65.mjs +28 -0
  13. package/dist/lib/browser/ScriptProperties-HREPUE65.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-D4Y2K2TT.mjs +39 -0
  15. package/dist/lib/browser/TestContainer-D4Y2K2TT.mjs.map +7 -0
  16. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs +69 -0
  17. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs.map +7 -0
  18. package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs +17 -0
  19. package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs.map +7 -0
  20. package/dist/lib/browser/blueprints/index.mjs +8 -0
  21. package/dist/lib/browser/chunk-6IXFDTAI.mjs +113 -0
  22. package/dist/lib/browser/chunk-6IXFDTAI.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-ATTZUDT7.mjs +67 -0
  24. package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-G3XIOLLI.mjs +174 -0
  26. package/dist/lib/browser/chunk-G3XIOLLI.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  28. package/dist/lib/browser/chunk-J7PGML5B.mjs +105 -0
  29. package/dist/lib/browser/chunk-J7PGML5B.mjs.map +7 -0
  30. package/dist/lib/browser/chunk-MUEVLYXJ.mjs +397 -0
  31. package/dist/lib/browser/chunk-MUEVLYXJ.mjs.map +7 -0
  32. package/dist/lib/browser/chunk-PLDBKKYO.mjs +789 -0
  33. package/dist/lib/browser/chunk-PLDBKKYO.mjs.map +7 -0
  34. package/dist/lib/browser/chunk-Q66L5EUR.mjs +20 -0
  35. package/dist/lib/browser/chunk-Q66L5EUR.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-TW27W3EL.mjs +29 -0
  37. package/dist/lib/browser/chunk-TW27W3EL.mjs.map +7 -0
  38. package/dist/lib/browser/{chunk-EZVXV6DA.mjs → chunk-WYR4QHPE.mjs} +7 -2
  39. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-ZYU2LP6U.mjs +11 -0
  41. package/dist/lib/browser/chunk-ZYU2LP6U.mjs.map +7 -0
  42. package/dist/lib/browser/compiler-53G6ZHQM.mjs +99 -0
  43. package/dist/lib/browser/compiler-53G6ZHQM.mjs.map +7 -0
  44. package/dist/lib/browser/index.mjs +120 -136
  45. package/dist/lib/browser/index.mjs.map +4 -4
  46. package/dist/lib/browser/meta.json +1 -1
  47. package/dist/lib/browser/operation-resolver-CYEISDDK.mjs +79 -0
  48. package/dist/lib/browser/operation-resolver-CYEISDDK.mjs.map +7 -0
  49. package/dist/lib/browser/react-surface-26P6HAFD.mjs +141 -0
  50. package/dist/lib/browser/react-surface-26P6HAFD.mjs.map +7 -0
  51. package/dist/lib/browser/settings-76UM7442.mjs +36 -0
  52. package/dist/lib/browser/settings-76UM7442.mjs.map +7 -0
  53. package/dist/lib/browser/templates/index.mjs +2 -1
  54. package/dist/lib/browser/types/index.mjs +12 -6
  55. package/dist/lib/node-esm/DeploymentDialog-ZHPHEV2H.mjs +139 -0
  56. package/dist/lib/node-esm/DeploymentDialog-ZHPHEV2H.mjs.map +7 -0
  57. package/dist/lib/node-esm/NotebookContainer-ZLWTNMQA.mjs +851 -0
  58. package/dist/lib/node-esm/NotebookContainer-ZLWTNMQA.mjs.map +7 -0
  59. package/dist/lib/node-esm/ScriptContainer-S4UKQAWP.mjs +94 -0
  60. package/dist/lib/node-esm/ScriptContainer-S4UKQAWP.mjs.map +7 -0
  61. package/dist/lib/node-esm/ScriptObjectSettings-C5QBRERY.mjs +295 -0
  62. package/dist/lib/node-esm/ScriptObjectSettings-C5QBRERY.mjs.map +7 -0
  63. package/dist/lib/node-esm/ScriptPluginSettings-MFACDW4R.mjs +56 -0
  64. package/dist/lib/node-esm/ScriptPluginSettings-MFACDW4R.mjs.map +7 -0
  65. package/dist/lib/node-esm/ScriptProperties-FMNIX3KU.mjs +29 -0
  66. package/dist/lib/node-esm/ScriptProperties-FMNIX3KU.mjs.map +7 -0
  67. package/dist/lib/node-esm/TestContainer-AO45YPGV.mjs +40 -0
  68. package/dist/lib/node-esm/TestContainer-AO45YPGV.mjs.map +7 -0
  69. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs +70 -0
  70. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs +18 -0
  72. package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs.map +7 -0
  73. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  74. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs +176 -0
  76. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-OG2SIKHE.mjs → chunk-5HSJPAK7.mjs} +7 -2
  78. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-H46R2RS5.mjs +790 -0
  80. package/dist/lib/node-esm/chunk-H46R2RS5.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  82. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs +69 -0
  84. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-OQGBKNYU.mjs → chunk-QG6ANK4B.mjs} +34 -17
  86. package/dist/lib/node-esm/chunk-QG6ANK4B.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-S7DSCLOW.mjs +31 -0
  88. package/dist/lib/node-esm/chunk-S7DSCLOW.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-TZ2EBTPQ.mjs +22 -0
  90. package/dist/lib/node-esm/chunk-TZ2EBTPQ.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-UFBVE33O.mjs +12 -0
  92. package/dist/lib/node-esm/chunk-UFBVE33O.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-WWD5LUU6.mjs +114 -0
  94. package/dist/lib/node-esm/chunk-WWD5LUU6.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-ZDJ2FI7E.mjs +398 -0
  96. package/dist/lib/node-esm/chunk-ZDJ2FI7E.mjs.map +7 -0
  97. package/dist/lib/node-esm/compiler-HHQW7EP3.mjs +100 -0
  98. package/dist/lib/node-esm/compiler-HHQW7EP3.mjs.map +7 -0
  99. package/dist/lib/node-esm/index.mjs +120 -136
  100. package/dist/lib/node-esm/index.mjs.map +4 -4
  101. package/dist/lib/node-esm/meta.json +1 -1
  102. package/dist/lib/node-esm/operation-resolver-HFFDXWND.mjs +80 -0
  103. package/dist/lib/node-esm/operation-resolver-HFFDXWND.mjs.map +7 -0
  104. package/dist/lib/node-esm/react-surface-THCIK266.mjs +142 -0
  105. package/dist/lib/node-esm/react-surface-THCIK266.mjs.map +7 -0
  106. package/dist/lib/node-esm/settings-CCHDPLFJ.mjs +37 -0
  107. package/dist/lib/node-esm/settings-CCHDPLFJ.mjs.map +7 -0
  108. package/dist/lib/node-esm/templates/index.mjs +2 -1
  109. package/dist/lib/node-esm/types/index.mjs +12 -6
  110. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  111. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  112. package/dist/types/src/blueprints/index.d.ts +2 -0
  113. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  115. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  117. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  119. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  121. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  123. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  125. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  127. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  129. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  131. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  132. package/dist/types/src/capabilities/index.d.ts +6 -7
  133. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  135. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  137. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  139. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  141. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  143. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  145. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  146. package/dist/types/src/compiler/compiler.d.ts +1 -1
  147. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  148. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  149. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  150. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  151. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  152. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  153. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  154. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +8 -10
  155. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  156. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +26 -8
  157. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  158. package/dist/types/src/components/NotebookStack/index.d.ts +1 -0
  159. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -1
  160. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  161. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  162. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  163. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  164. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  165. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  166. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +8 -8
  167. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  168. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +27 -8
  169. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  171. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  172. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  173. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +3 -2
  174. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  175. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +1 -7
  176. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/index.d.ts +4 -5
  178. package/dist/types/src/components/index.d.ts.map +1 -1
  179. package/dist/types/src/constants.d.ts +2 -0
  180. package/dist/types/src/constants.d.ts.map +1 -0
  181. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
  182. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  183. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts +25 -6
  184. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  185. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  186. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  187. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  188. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  189. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  190. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  191. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  192. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  193. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  194. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  195. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  196. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  197. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts +7 -0
  198. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  199. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  200. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  201. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  202. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  203. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +3 -0
  204. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +1 -0
  205. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  206. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  207. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  208. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  210. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  211. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  212. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  213. package/dist/types/src/containers/index.d.ts +9 -0
  214. package/dist/types/src/containers/index.d.ts.map +1 -0
  215. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  216. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  217. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  218. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  219. package/dist/types/src/hooks/deploy.d.ts +17 -31
  220. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  221. package/dist/types/src/hooks/format.d.ts +5 -4
  222. package/dist/types/src/hooks/format.d.ts.map +1 -1
  223. package/dist/types/src/hooks/index.d.ts +1 -0
  224. package/dist/types/src/hooks/index.d.ts.map +1 -1
  225. package/dist/types/src/hooks/template.d.ts +7 -16
  226. package/dist/types/src/hooks/template.d.ts.map +1 -1
  227. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  228. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  229. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  230. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  231. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  232. package/dist/types/src/index.d.ts +2 -1
  233. package/dist/types/src/index.d.ts.map +1 -1
  234. package/dist/types/src/meta.d.ts +2 -2
  235. package/dist/types/src/meta.d.ts.map +1 -1
  236. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  237. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  238. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  239. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  240. package/dist/types/src/notebook/eval.d.ts +13 -0
  241. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  242. package/dist/types/src/notebook/index.d.ts +1 -1
  243. package/dist/types/src/notebook/index.d.ts.map +1 -1
  244. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  245. package/dist/types/src/templates/anthropic.d.ts +8 -0
  246. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  247. package/dist/types/src/templates/chess-bot.d.ts +16 -0
  248. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  249. package/dist/types/src/templates/commentary.d.ts +16 -0
  250. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  251. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  252. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  253. package/dist/types/src/templates/forex.d.ts +4 -1
  254. package/dist/types/src/templates/forex.d.ts.map +1 -1
  255. package/dist/types/src/templates/index.d.ts +52 -1
  256. package/dist/types/src/templates/index.d.ts.map +1 -1
  257. package/dist/types/src/templates/ping.d.ts +3 -0
  258. package/dist/types/src/templates/ping.d.ts.map +1 -0
  259. package/dist/types/src/testing/data.d.ts +2 -9
  260. package/dist/types/src/testing/data.d.ts.map +1 -1
  261. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  262. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  263. package/dist/types/src/translations.d.ts +11 -3
  264. package/dist/types/src/translations.d.ts.map +1 -1
  265. package/dist/types/src/types/Notebook.d.ts +108 -0
  266. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  267. package/dist/types/src/types/actions.d.ts +30 -48
  268. package/dist/types/src/types/actions.d.ts.map +1 -1
  269. package/dist/types/src/types/capabilities.d.ts +12 -0
  270. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  271. package/dist/types/src/types/events.d.ts +5 -0
  272. package/dist/types/src/types/events.d.ts.map +1 -0
  273. package/dist/types/src/types/index.d.ts +4 -1
  274. package/dist/types/src/types/index.d.ts.map +1 -1
  275. package/dist/types/src/types/types.d.ts +6 -0
  276. package/dist/types/src/types/types.d.ts.map +1 -0
  277. package/dist/types/src/util/deploy.d.ts +4 -4
  278. package/dist/types/src/util/deploy.d.ts.map +1 -1
  279. package/dist/types/src/util/functions.d.ts +3 -3
  280. package/dist/types/src/util/functions.d.ts.map +1 -1
  281. package/dist/types/tsconfig.tsbuildinfo +1 -1
  282. package/package.json +114 -79
  283. package/src/ScriptPlugin.tsx +44 -85
  284. package/src/blueprints/index.ts +5 -0
  285. package/src/blueprints/script-blueprint.ts +31 -0
  286. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  287. package/src/capabilities/app-graph-builder/index.ts +7 -0
  288. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +97 -95
  289. package/src/capabilities/artifact-definition/index.ts +7 -0
  290. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  291. package/src/capabilities/blueprint-definition/index.ts +7 -0
  292. package/src/capabilities/compiler/compiler.ts +103 -0
  293. package/src/capabilities/compiler/index.ts +7 -0
  294. package/src/capabilities/index.ts +6 -10
  295. package/src/capabilities/operation-resolver/index.ts +7 -0
  296. package/src/capabilities/operation-resolver/operation-resolver.ts +75 -0
  297. package/src/capabilities/react-surface/index.ts +7 -0
  298. package/src/capabilities/react-surface/react-surface.tsx +121 -0
  299. package/src/capabilities/settings/index.ts +7 -0
  300. package/src/capabilities/settings/settings.ts +33 -0
  301. package/src/compiler/compiler.ts +10 -3
  302. package/src/components/FrameContainer/FrameContainer.tsx +6 -5
  303. package/src/components/FrameContainer/frame.html +21 -21
  304. package/src/components/NotebookStack/NotebookCell.tsx +215 -0
  305. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  306. package/src/components/NotebookStack/NotebookStack.stories.tsx +33 -15
  307. package/src/components/NotebookStack/NotebookStack.tsx +55 -82
  308. package/src/components/NotebookStack/index.ts +1 -0
  309. package/src/components/QueryEditor/QueryEditor.stories.tsx +102 -0
  310. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  311. package/src/components/QueryEditor/index.ts +5 -0
  312. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +46 -23
  313. package/src/components/ScriptToolbar/ScriptToolbar.tsx +28 -31
  314. package/src/components/TestPanel/TestPanel.tsx +61 -36
  315. package/src/components/TestPanel/index.ts +0 -1
  316. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +26 -25
  317. package/src/components/TypescriptEditor/TypescriptEditor.tsx +70 -74
  318. package/src/components/index.ts +4 -9
  319. package/src/constants.ts +7 -0
  320. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +61 -0
  321. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  322. package/src/containers/DeploymentDialog/index.ts +7 -0
  323. package/src/containers/NotebookContainer/NotebookContainer.stories.tsx +87 -0
  324. package/src/containers/NotebookContainer/NotebookContainer.tsx +268 -0
  325. package/src/containers/NotebookContainer/index.ts +7 -0
  326. package/src/containers/ScriptContainer/ScriptContainer.tsx +84 -0
  327. package/src/containers/ScriptContainer/index.ts +7 -0
  328. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +55 -50
  329. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  330. package/src/{components/Settings → containers/ScriptPluginSettings}/ScriptPluginSettings.tsx +19 -14
  331. package/src/containers/ScriptPluginSettings/index.ts +7 -0
  332. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  333. package/src/containers/ScriptProperties/index.ts +7 -0
  334. package/src/containers/TestContainer/TestContainer.tsx +28 -0
  335. package/src/containers/TestContainer/index.ts +7 -0
  336. package/src/containers/index.ts +13 -0
  337. package/src/e2e/ai.test.ts +92 -0
  338. package/src/e2e/deploy.test.ts +64 -0
  339. package/src/hooks/deploy.ts +43 -35
  340. package/src/hooks/format.ts +8 -3
  341. package/src/hooks/index.ts +1 -0
  342. package/src/hooks/template.ts +22 -26
  343. package/src/hooks/useCompiler.ts +24 -0
  344. package/src/hooks/useCreateAndDeployScriptTemplates.ts +14 -16
  345. package/src/hooks/useToolbarState.ts +29 -4
  346. package/src/index.ts +2 -1
  347. package/src/meta.ts +8 -4
  348. package/src/notebook/compute-graph.test.ts +82 -0
  349. package/src/notebook/{notebook.ts → compute-graph.ts} +75 -33
  350. package/src/notebook/eval.ts +105 -0
  351. package/src/notebook/index.ts +1 -1
  352. package/src/notebook/vfs-parser.ts +43 -82
  353. package/src/templates/anthropic.ts +42 -0
  354. package/src/templates/chess-bot.ts +58 -0
  355. package/src/templates/commentary.ts +231 -0
  356. package/src/templates/data-generator.ts +1 -1
  357. package/src/templates/forex-effect.ts +22 -27
  358. package/src/templates/forex.ts +7 -6
  359. package/src/templates/gmail.ts +1 -2
  360. package/src/templates/index.ts +24 -11
  361. package/src/templates/ping.ts +17 -0
  362. package/src/testing/data.ts +43 -8
  363. package/src/testing/simulator.test.ts +40 -0
  364. package/src/translations.ts +11 -3
  365. package/src/types/Notebook.ts +41 -0
  366. package/src/types/actions.ts +23 -27
  367. package/src/types/capabilities.ts +17 -0
  368. package/src/types/events.ts +11 -0
  369. package/src/types/index.ts +4 -1
  370. package/src/types/types.ts +15 -0
  371. package/src/util/deploy.ts +30 -40
  372. package/src/util/functions.ts +32 -28
  373. package/src/vite-env.d.ts +2 -0
  374. package/dist/lib/browser/DeploymentDialog-7FNPALCV.mjs +0 -12
  375. package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs +0 -578
  376. package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs.map +0 -7
  377. package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs +0 -149
  378. package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs.map +0 -7
  379. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs +0 -65
  380. package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +0 -7
  381. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
  382. package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-DXWTBOND.mjs +0 -282
  384. package/dist/lib/browser/chunk-DXWTBOND.mjs.map +0 -7
  385. package/dist/lib/browser/chunk-ETFBQURU.mjs +0 -254
  386. package/dist/lib/browser/chunk-ETFBQURU.mjs.map +0 -7
  387. package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +0 -7
  388. package/dist/lib/browser/chunk-I3THDIT5.mjs +0 -90
  389. package/dist/lib/browser/chunk-I3THDIT5.mjs.map +0 -7
  390. package/dist/lib/browser/chunk-N6M34EUC.mjs +0 -112
  391. package/dist/lib/browser/chunk-N6M34EUC.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-NNYSARXK.mjs +0 -153
  393. package/dist/lib/browser/chunk-NNYSARXK.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-OKXN2N7M.mjs +0 -15
  395. package/dist/lib/browser/chunk-OKXN2N7M.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-SRSEZWDY.mjs +0 -646
  397. package/dist/lib/browser/chunk-SRSEZWDY.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-SWBZUZDX.mjs +0 -80
  399. package/dist/lib/browser/chunk-SWBZUZDX.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-VFJJA4WR.mjs +0 -88
  401. package/dist/lib/browser/chunk-VFJJA4WR.mjs.map +0 -7
  402. package/dist/lib/browser/compiler-G2N2CG63.mjs +0 -98
  403. package/dist/lib/browser/compiler-G2N2CG63.mjs.map +0 -7
  404. package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs +0 -105
  405. package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs.map +0 -7
  406. package/dist/lib/browser/react-surface-CFRYAL2P.mjs +0 -127
  407. package/dist/lib/browser/react-surface-CFRYAL2P.mjs.map +0 -7
  408. package/dist/lib/browser/settings-L3HCZRBP.mjs +0 -24
  409. package/dist/lib/browser/settings-L3HCZRBP.mjs.map +0 -7
  410. package/dist/lib/node-esm/DeploymentDialog-AKAGR37W.mjs +0 -13
  411. package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs +0 -579
  412. package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs.map +0 -7
  413. package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs +0 -150
  414. package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs.map +0 -7
  415. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs +0 -66
  416. package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +0 -7
  417. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
  418. package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
  419. package/dist/lib/node-esm/chunk-5IKGUOMI.mjs +0 -154
  420. package/dist/lib/node-esm/chunk-5IKGUOMI.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-7MR2L4T3.mjs +0 -283
  422. package/dist/lib/node-esm/chunk-7MR2L4T3.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-C33FKUSC.mjs +0 -91
  424. package/dist/lib/node-esm/chunk-C33FKUSC.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs +0 -16
  426. package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs.map +0 -7
  427. package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +0 -7
  428. package/dist/lib/node-esm/chunk-OQGBKNYU.mjs.map +0 -7
  429. package/dist/lib/node-esm/chunk-PMQ3D535.mjs +0 -647
  430. package/dist/lib/node-esm/chunk-PMQ3D535.mjs.map +0 -7
  431. package/dist/lib/node-esm/chunk-U4CZGISN.mjs +0 -255
  432. package/dist/lib/node-esm/chunk-U4CZGISN.mjs.map +0 -7
  433. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +0 -114
  434. package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +0 -7
  435. package/dist/lib/node-esm/chunk-ZF5ULKED.mjs +0 -81
  436. package/dist/lib/node-esm/chunk-ZF5ULKED.mjs.map +0 -7
  437. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs +0 -99
  438. package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +0 -7
  439. package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs +0 -106
  440. package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs.map +0 -7
  441. package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs +0 -128
  442. package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs.map +0 -7
  443. package/dist/lib/node-esm/settings-YWGZP4EW.mjs +0 -25
  444. package/dist/lib/node-esm/settings-YWGZP4EW.mjs.map +0 -7
  445. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  446. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  447. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  448. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
  450. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  451. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  452. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  454. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  456. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  457. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  458. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  459. package/dist/types/src/capabilities/settings.d.ts +0 -4
  460. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  461. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  462. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  463. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  464. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  465. package/dist/types/src/components/NotebookContainer.d.ts +0 -10
  466. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  467. package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -231
  468. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  469. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  470. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  471. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  472. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  473. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  474. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  475. package/dist/types/src/components/Settings/index.d.ts +0 -3
  476. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  477. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  478. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  479. package/dist/types/src/events.d.ts +0 -4
  480. package/dist/types/src/events.d.ts.map +0 -1
  481. package/dist/types/src/notebook/notebook.d.ts +0 -39
  482. package/dist/types/src/notebook/notebook.d.ts.map +0 -1
  483. package/dist/types/src/notebook/notebook.test.d.ts +0 -2
  484. package/dist/types/src/notebook/notebook.test.d.ts.map +0 -1
  485. package/dist/types/src/templates/chess.d.ts +0 -3
  486. package/dist/types/src/templates/chess.d.ts.map +0 -1
  487. package/dist/types/src/templates/echo.d.ts +0 -6
  488. package/dist/types/src/templates/echo.d.ts.map +0 -1
  489. package/dist/types/src/types/schema.d.ts +0 -35
  490. package/dist/types/src/types/schema.d.ts.map +0 -1
  491. package/src/capabilities/app-graph-builder.ts +0 -65
  492. package/src/capabilities/blueprint-definition.ts +0 -30
  493. package/src/capabilities/capabilities.ts +0 -12
  494. package/src/capabilities/compiler.ts +0 -34
  495. package/src/capabilities/intent-resolver.ts +0 -87
  496. package/src/capabilities/react-surface.tsx +0 -102
  497. package/src/capabilities/settings.ts +0 -21
  498. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -53
  499. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
  500. package/src/components/DeploymentDialog/index.ts +0 -9
  501. package/src/components/NotebookContainer.stories.tsx +0 -36
  502. package/src/components/NotebookContainer.tsx +0 -82
  503. package/src/components/ScriptContainer.tsx +0 -69
  504. package/src/components/Settings/index.ts +0 -6
  505. package/src/components/TestPanel/TestContainer.tsx +0 -27
  506. package/src/events.ts +0 -11
  507. package/src/notebook/notebook.test.ts +0 -38
  508. package/src/templates/chess.ts +0 -49
  509. package/src/templates/echo.ts +0 -8
  510. package/src/types/schema.ts +0 -42
  511. /package/dist/lib/browser/{DeploymentDialog-7FNPALCV.mjs.map → blueprints/index.mjs.map} +0 -0
  512. /package/dist/lib/{node-esm/DeploymentDialog-AKAGR37W.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -1,579 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- NotebookStack
4
- } from "./chunk-C33FKUSC.mjs";
5
- import "./chunk-VRSDE4CI.mjs";
6
- import {
7
- meta
8
- } from "./chunk-OG2SIKHE.mjs";
9
-
10
- // src/components/NotebookContainer.tsx
11
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
- import React, { useCallback, useMemo } from "react";
13
- import { Ref } from "@dxos/echo";
14
- import { Toolbar, useTranslation } from "@dxos/react-ui";
15
- import { StackItem } from "@dxos/react-ui-stack";
16
- import { DataType } from "@dxos/schema";
17
-
18
- // src/notebook/notebook.ts
19
- import { signal } from "@preact/signals-core";
20
- import { log } from "@dxos/log";
21
-
22
- // src/notebook/vfs-parser.ts
23
- import { createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
24
- import ts from "typescript";
25
- import { invariant } from "@dxos/invariant";
26
- import { trim } from "@dxos/util";
27
- function _define_property(obj, key, value) {
28
- if (key in obj) {
29
- Object.defineProperty(obj, key, {
30
- value,
31
- enumerable: true,
32
- configurable: true,
33
- writable: true
34
- });
35
- } else {
36
- obj[key] = value;
37
- }
38
- return obj;
39
- }
40
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/notebook/vfs-parser.ts";
41
- var VirtualTypeScriptParser = class {
42
- /**
43
- * Parse a single expression or statement.
44
- */
45
- parseExpression(input) {
46
- invariant(input.trim() !== "", "input must not be empty", {
47
- F: __dxlog_file,
48
- L: 46,
49
- S: this,
50
- A: [
51
- "input.trim() !== ''",
52
- "'input must not be empty'"
53
- ]
54
- });
55
- const files = [
56
- {
57
- filename: "/temp.ts",
58
- content: input
59
- }
60
- ];
61
- const analysis = this.analyzeFiles(files);
62
- if (analysis.length === 0) {
63
- const sourcefilename = "/temp.ts";
64
- const env = this.createEnvironment([
65
- {
66
- filename: sourcefilename,
67
- content: input
68
- },
69
- ...systemFiles
70
- ]);
71
- const sourceFile = env.getSourceFile(sourcefilename);
72
- const typeChecker = env.languageService.getProgram()?.getTypeChecker();
73
- if (sourceFile && typeChecker) {
74
- const assignmentInfo = this.findAssignmentExpression(sourceFile, typeChecker);
75
- if (assignmentInfo) {
76
- return assignmentInfo;
77
- }
78
- const references = this.findAllReferences(sourceFile, typeChecker);
79
- return {
80
- references
81
- };
82
- }
83
- }
84
- return analysis[0];
85
- }
86
- /**
87
- * Analyze multiple files with full type information.
88
- */
89
- analyzeFiles(files) {
90
- const env = this.createEnvironment([
91
- ...files,
92
- ...systemFiles
93
- ]);
94
- const results = [];
95
- const typeChecker = env.languageService.getProgram()?.getTypeChecker();
96
- files.forEach((file) => {
97
- const sourceFile = env.getSourceFile(file.filename);
98
- if (!sourceFile || !typeChecker) return;
99
- const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);
100
- results.push(...fileResults);
101
- });
102
- return results;
103
- }
104
- /**
105
- * Analyze a source file with type information.
106
- */
107
- analyzeSourceFile(sourceFile, typeChecker) {
108
- const results = [];
109
- const visit = (node) => {
110
- if (ts.isFunctionDeclaration(node) && node.name) {
111
- const symbol = typeChecker.getSymbolAtLocation(node.name);
112
- const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, node);
113
- const signature = type && typeChecker.getSignaturesOfType(type, ts.SignatureKind.Call)[0];
114
- results.push({
115
- name: node.name.text,
116
- type: "function",
117
- parameters: this.extractParameters(signature, typeChecker),
118
- returnType: signature ? typeChecker.typeToString(signature.getReturnType()) : "any",
119
- references: this.findReferences(node, sourceFile, typeChecker)
120
- });
121
- } else if (ts.isVariableStatement(node)) {
122
- node.declarationList.declarations.forEach((declaration) => {
123
- if (ts.isIdentifier(declaration.name)) {
124
- const symbol = typeChecker.getSymbolAtLocation(declaration.name);
125
- const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, declaration);
126
- let kind = "variable";
127
- let parameters;
128
- let returnType;
129
- let value;
130
- const typeString = type ? typeChecker.typeToString(type) : "any";
131
- if (declaration.initializer) {
132
- if (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer)) {
133
- kind = "function";
134
- const funcType = typeChecker.getTypeAtLocation(declaration.initializer);
135
- const signature = typeChecker.getSignaturesOfType(funcType, ts.SignatureKind.Call)[0];
136
- if (signature) {
137
- parameters = this.extractParameters(signature, typeChecker);
138
- returnType = typeChecker.typeToString(signature.getReturnType());
139
- }
140
- } else {
141
- if (ts.isNumericLiteral(declaration.initializer)) {
142
- value = Number(declaration.initializer.text);
143
- } else if (ts.isStringLiteral(declaration.initializer)) {
144
- value = declaration.initializer.text;
145
- }
146
- }
147
- }
148
- const refs = declaration.initializer ? this.findReferences(declaration.initializer, sourceFile, typeChecker) : [];
149
- results.push({
150
- name: declaration.name.text,
151
- type: kind,
152
- valueType: typeString,
153
- value,
154
- parameters,
155
- returnType,
156
- references: refs
157
- });
158
- }
159
- });
160
- } else if (ts.isClassDeclaration(node) && node.name) {
161
- results.push({
162
- name: node.name.text,
163
- type: "class",
164
- references: this.findReferences(node, sourceFile, typeChecker)
165
- });
166
- } else if (ts.isInterfaceDeclaration(node)) {
167
- results.push({
168
- name: node.name.text,
169
- type: "interface",
170
- references: this.findReferences(node, sourceFile, typeChecker)
171
- });
172
- }
173
- ts.forEachChild(node, visit);
174
- };
175
- visit(sourceFile);
176
- return results;
177
- }
178
- /**
179
- * Extract parameter information from a signature.
180
- */
181
- extractParameters(signature, typeChecker) {
182
- if (!signature) return [];
183
- return signature.parameters.map((param) => ({
184
- name: param.getName(),
185
- type: typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(param, param.valueDeclaration))
186
- }));
187
- }
188
- /**
189
- * Find all references to variables used in a node.
190
- */
191
- findReferences(node, _sourceFile, _typeChecker) {
192
- const references = /* @__PURE__ */ new Set();
193
- const localSymbols = /* @__PURE__ */ new Set();
194
- const collectLocalSymbols = (n) => {
195
- if (ts.isFunctionDeclaration(n) || ts.isArrowFunction(n) || ts.isFunctionExpression(n)) {
196
- n.parameters.forEach((param) => {
197
- if (ts.isIdentifier(param.name)) {
198
- localSymbols.add(param.name.text);
199
- }
200
- });
201
- }
202
- if (ts.isVariableDeclaration(n) && ts.isIdentifier(n.name)) {
203
- localSymbols.add(n.name.text);
204
- }
205
- ts.forEachChild(n, collectLocalSymbols);
206
- };
207
- collectLocalSymbols(node);
208
- const findRefs = (n) => {
209
- if (ts.isIdentifier(n)) {
210
- if (!localSymbols.has(n.text)) {
211
- const parent = n.parent;
212
- const isDeclaration = ts.isVariableDeclaration(parent) && parent.name === n || ts.isFunctionDeclaration(parent) && parent.name === n || ts.isParameter(parent) && parent.name === n;
213
- if (!isDeclaration && !this.isBuiltIn(n.text)) {
214
- references.add(n.text);
215
- }
216
- }
217
- }
218
- ts.forEachChild(n, findRefs);
219
- };
220
- findRefs(node);
221
- return Array.from(references);
222
- }
223
- /**
224
- * Check if a name is a built-in global.
225
- */
226
- isBuiltIn(name) {
227
- return builtIns.has(name);
228
- }
229
- /**
230
- * Find assignment expressions in a source file.
231
- */
232
- findAssignmentExpression(sourceFile, typeChecker) {
233
- let result = null;
234
- const visit = (node) => {
235
- if (ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression)) {
236
- const expr = node.expression;
237
- if (expr.operatorToken.kind === ts.SyntaxKind.EqualsToken && ts.isIdentifier(expr.left)) {
238
- const type = typeChecker.getTypeAtLocation(expr.right);
239
- const typeString = typeChecker.typeToString(type);
240
- let value;
241
- if (ts.isNumericLiteral(expr.right)) {
242
- value = Number(expr.right.text);
243
- } else if (ts.isStringLiteral(expr.right)) {
244
- value = expr.right.text;
245
- }
246
- const references = this.findReferences(expr.right, sourceFile, typeChecker);
247
- result = {
248
- name: expr.left.text,
249
- type: "variable",
250
- valueType: typeString,
251
- value,
252
- references
253
- };
254
- }
255
- }
256
- if (!result) {
257
- ts.forEachChild(node, visit);
258
- }
259
- };
260
- visit(sourceFile);
261
- return result;
262
- }
263
- /**
264
- * Find all identifier references in a source file.
265
- */
266
- findAllReferences(sourceFile, _typeChecker) {
267
- const references = /* @__PURE__ */ new Set();
268
- const visit = (node) => {
269
- if (ts.isIdentifier(node)) {
270
- const parent = node.parent;
271
- const isDeclaration = ts.isVariableDeclaration(parent) && parent.name === node || ts.isFunctionDeclaration(parent) && parent.name === node || ts.isParameter(parent) && parent.name === node;
272
- const isAssignmentTarget = ts.isBinaryExpression(parent) && parent.operatorToken.kind === ts.SyntaxKind.EqualsToken && parent.left === node;
273
- if (!isDeclaration && !isAssignmentTarget && !this.isBuiltIn(node.text)) {
274
- references.add(node.text);
275
- }
276
- }
277
- ts.forEachChild(node, visit);
278
- };
279
- visit(sourceFile);
280
- return Array.from(references);
281
- }
282
- createEnvironment(files) {
283
- const fileMap = /* @__PURE__ */ new Map();
284
- files.forEach(({ filename, content }) => {
285
- fileMap.set(filename, content);
286
- });
287
- const system = createSystem(fileMap);
288
- return createVirtualTypeScriptEnvironment(system, files.map(({ filename }) => filename), ts, this.compilerOptions);
289
- }
290
- constructor() {
291
- _define_property(this, "compilerOptions", {
292
- target: ts.ScriptTarget.ES2020,
293
- module: ts.ModuleKind.ESNext,
294
- strict: true,
295
- esModuleInterop: true,
296
- skipLibCheck: true,
297
- forceConsistentCasingInfilenames: true,
298
- jsx: ts.JsxEmit.React,
299
- noLib: true
300
- });
301
- }
302
- };
303
- var builtIns = /* @__PURE__ */ new Set([
304
- // Types.
305
- "Array",
306
- "Date",
307
- "Error",
308
- "JSON",
309
- "Map",
310
- "Math",
311
- "Number",
312
- "Promise",
313
- "Object",
314
- "RegExp",
315
- "Set",
316
- "String",
317
- // Functions.
318
- "console",
319
- "document",
320
- "global",
321
- "isFinite",
322
- "isNaN",
323
- "parseFloat",
324
- "parseInt",
325
- "process",
326
- "window"
327
- ]);
328
- var systemFiles = [
329
- {
330
- filename: "/lib.d.ts",
331
- content: trim`
332
- interface Array<T> { length: number; [n: number]: T; }
333
- interface Boolean {}
334
- interface Function {}
335
- interface IArguments {}
336
- interface Number {}
337
- interface Object {}
338
- interface RegExp {}
339
- interface String { length: number; }
340
- interface CallableFunction extends Function {}
341
- interface NewableFunction extends Function {}
342
- declare var console: { log(...args: any[]): void };
343
- `
344
- }
345
- ];
346
-
347
- // src/notebook/notebook.ts
348
- function _define_property2(obj, key, value) {
349
- if (key in obj) {
350
- Object.defineProperty(obj, key, {
351
- value,
352
- enumerable: true,
353
- configurable: true,
354
- writable: true
355
- });
356
- } else {
357
- obj[key] = value;
358
- }
359
- return obj;
360
- }
361
- var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/notebook/notebook.ts";
362
- var ComputeGraph = class {
363
- /**
364
- * Parsed expressions by cell ID.
365
- */
366
- get expressions() {
367
- return this._expressions;
368
- }
369
- /**
370
- * Computed values by cell ID.
371
- */
372
- get values() {
373
- return this._values;
374
- }
375
- /**
376
- * Compute values.
377
- */
378
- evaluate() {
379
- const { expressions, dependencyGraph } = this.parse();
380
- this._values.value = {};
381
- const cellExpressions = /* @__PURE__ */ new Map();
382
- Object.entries(expressions).forEach(([id, expr]) => {
383
- cellExpressions.set(id, expr);
384
- });
385
- const evaluationOrder = this.topologicalSort(Object.keys(expressions), dependencyGraph);
386
- const valuesByName = {};
387
- const valuesByCellId = {};
388
- for (const cellId of evaluationOrder) {
389
- const expr = cellExpressions.get(cellId);
390
- if (!expr) {
391
- log.error("no expression for cell", {
392
- cellId
393
- }, {
394
- F: __dxlog_file2,
395
- L: 63,
396
- S: this,
397
- C: (f, a) => f(...a)
398
- });
399
- continue;
400
- }
401
- const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.script.target?.content;
402
- if (!cellSource) {
403
- log.error("no source for cell", {
404
- cellId
405
- }, {
406
- F: __dxlog_file2,
407
- L: 69,
408
- S: this,
409
- C: (f, a) => f(...a)
410
- });
411
- continue;
412
- }
413
- try {
414
- if (expr.name && expr.value !== void 0) {
415
- valuesByName[expr.name] = expr.value;
416
- valuesByCellId[cellId] = expr.value;
417
- } else if (expr.name) {
418
- const equalIndex = cellSource.indexOf("=");
419
- if (equalIndex !== -1) {
420
- let rhs = cellSource.substring(equalIndex + 1).trim();
421
- if (rhs.endsWith(";")) {
422
- rhs = rhs.slice(0, -1).trim();
423
- }
424
- const result = this.evalScript(rhs, valuesByName);
425
- valuesByName[expr.name] = result;
426
- if (typeof result !== "function") {
427
- valuesByCellId[cellId] = result;
428
- }
429
- }
430
- } else {
431
- const result = this.evalScript(cellSource, valuesByName);
432
- valuesByCellId[cellId] = result;
433
- }
434
- } catch (error) {
435
- log.error("error evaluating cell", {
436
- cellId,
437
- error
438
- }, {
439
- F: __dxlog_file2,
440
- L: 104,
441
- S: this,
442
- C: (f, a) => f(...a)
443
- });
444
- }
445
- }
446
- this._values.value = valuesByCellId;
447
- return valuesByCellId;
448
- }
449
- /**
450
- * Parse expressions.
451
- */
452
- parse() {
453
- const expressions = this._notebook.cells.reduce((acc, cell) => {
454
- const text = cell.script.target?.content.trim();
455
- if (text) {
456
- const parsed = this._parser.parseExpression(text);
457
- acc[cell.id] = parsed;
458
- }
459
- return acc;
460
- }, {});
461
- const dependencyGraph = this.buildDependencyGraph(expressions);
462
- this._expressions.value = expressions;
463
- return {
464
- expressions,
465
- dependencyGraph
466
- };
467
- }
468
- topologicalSort(nodes, dependencies) {
469
- const visited = /* @__PURE__ */ new Set();
470
- const result = [];
471
- const visit = (node) => {
472
- if (visited.has(node)) {
473
- return;
474
- }
475
- visited.add(node);
476
- const deps = dependencies[node] || [];
477
- deps.forEach((dep) => visit(dep));
478
- result.push(node);
479
- };
480
- nodes.forEach((node) => visit(node));
481
- return result;
482
- }
483
- buildDependencyGraph(expressions) {
484
- const nameToCellId = /* @__PURE__ */ new Map();
485
- Object.entries(expressions).forEach(([id, expr]) => {
486
- if (expr.name) {
487
- nameToCellId.set(expr.name, id);
488
- }
489
- });
490
- const graph = {};
491
- Object.entries(expressions).forEach(([id, expr]) => {
492
- if (expr.references && expr.references.length > 0) {
493
- const dependencyCellIds = expr.references.map((ref) => nameToCellId.get(ref)).filter((cellId) => cellId !== void 0 && cellId !== id);
494
- if (dependencyCellIds.length > 0) {
495
- graph[id] = dependencyCellIds;
496
- }
497
- }
498
- });
499
- return graph;
500
- }
501
- /**
502
- * Evaluate the script (with dependencies as arguments).
503
- */
504
- evalScript(code, deps = {}) {
505
- return new Function(...Object.keys(deps), "return " + code)(...Object.values(deps));
506
- }
507
- constructor(_notebook) {
508
- _define_property2(this, "_notebook", void 0);
509
- _define_property2(this, "_parser", void 0);
510
- _define_property2(this, "_expressions", void 0);
511
- _define_property2(this, "_values", void 0);
512
- this._notebook = _notebook;
513
- this._parser = new VirtualTypeScriptParser();
514
- this._expressions = signal({});
515
- this._values = signal({});
516
- }
517
- };
518
-
519
- // src/components/NotebookContainer.tsx
520
- var NotebookContainer = ({ notebook, env }) => {
521
- var _effect = _useSignals();
522
- try {
523
- const { t } = useTranslation(meta.id);
524
- const graph = useMemo(() => notebook && new ComputeGraph(notebook), [
525
- notebook
526
- ]);
527
- const handleCompute = useCallback(() => {
528
- graph?.evaluate();
529
- }, [
530
- graph
531
- ]);
532
- const handleCellInsert = useCallback((after) => {
533
- const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;
534
- notebook?.cells.splice(idx, 0, {
535
- id: crypto.randomUUID(),
536
- script: Ref.make(DataType.makeText("\n\n\n"))
537
- });
538
- }, [
539
- notebook
540
- ]);
541
- const handleCellDelete = useCallback((id) => {
542
- const idx = notebook.cells.findIndex((cell) => cell.id === id);
543
- if (idx !== -1) {
544
- notebook.cells.splice(idx, 1);
545
- }
546
- }, [
547
- notebook
548
- ]);
549
- return /* @__PURE__ */ React.createElement(StackItem.Content, {
550
- classNames: "container-max-width border-l border-r border-subduedSeparator",
551
- toolbar: true
552
- }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
553
- icon: "ph--plus--regular",
554
- iconOnly: true,
555
- label: t("add cell label"),
556
- onClick: () => handleCellInsert("")
557
- }), /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
558
- icon: "ph--play--fill",
559
- iconOnly: true,
560
- label: t("compute label"),
561
- classNames: "text-green-500",
562
- onClick: handleCompute
563
- })), /* @__PURE__ */ React.createElement(NotebookStack, {
564
- notebook,
565
- graph,
566
- env,
567
- onCellInsert: handleCellInsert,
568
- onCellDelete: handleCellDelete
569
- }));
570
- } finally {
571
- _effect.f();
572
- }
573
- };
574
- var NotebookContainer_default = NotebookContainer;
575
- export {
576
- NotebookContainer,
577
- NotebookContainer_default as default
578
- };
579
- //# sourceMappingURL=NotebookContainer-2O3N3XPE.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/NotebookContainer.tsx", "../../../src/notebook/notebook.ts", "../../../src/notebook/vfs-parser.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Ref } from '@dxos/echo';\nimport { Toolbar, useTranslation } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { ComputeGraph } from '../notebook';\nimport { type Notebook } from '../types';\n\nimport { NotebookStack, type NotebookStackProps } from './NotebookStack';\nimport { type TypescriptEditorProps } from './TypescriptEditor';\n\nexport type NotebookContainerProps = {\n role?: string;\n notebook?: Notebook.Notebook;\n} & Pick<TypescriptEditorProps, 'env'>;\n\nexport const NotebookContainer = ({ notebook, env }: NotebookContainerProps) => {\n const { t } = useTranslation(meta.id);\n\n const graph = useMemo(() => notebook && new ComputeGraph(notebook), [notebook]);\n\n const handleCompute = useCallback(() => {\n graph?.evaluate();\n }, [graph]);\n\n const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(\n (after) => {\n const idx = after ? notebook!.cells.findIndex((cell) => cell.id === after) : notebook!.cells.length;\n notebook?.cells.splice(idx, 0, {\n id: crypto.randomUUID(),\n script: Ref.make(DataType.makeText('\\n\\n\\n')),\n });\n },\n [notebook],\n );\n\n const handleCellDelete = useCallback<NonNullable<NotebookStackProps['onCellDelete']>>(\n (id: string) => {\n const idx = notebook!.cells.findIndex((cell) => cell.id === id);\n if (idx !== -1) {\n notebook!.cells.splice(idx, 1);\n }\n },\n [notebook],\n );\n\n return (\n <StackItem.Content classNames='container-max-width border-l border-r border-subduedSeparator' toolbar>\n <Toolbar.Root>\n <Toolbar.IconButton\n icon='ph--plus--regular'\n iconOnly\n label={t('add cell label')}\n onClick={() => handleCellInsert('')}\n />\n <Toolbar.IconButton\n icon='ph--play--fill'\n iconOnly\n label={t('compute label')}\n classNames='text-green-500'\n onClick={handleCompute}\n />\n </Toolbar.Root>\n <NotebookStack\n notebook={notebook}\n graph={graph}\n env={env}\n onCellInsert={handleCellInsert}\n onCellDelete={handleCellDelete}\n />\n </StackItem.Content>\n );\n};\n\nexport default NotebookContainer;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Signal, signal } from '@preact/signals-core';\n\nimport { log } from '@dxos/log';\n\nimport { type Notebook } from '../types';\n\nimport { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';\n\n/**\n * Compute graph that evaluates the notebook cells.\n */\nexport class ComputeGraph {\n private readonly _parser = new VirtualTypeScriptParser();\n\n private _expressions = signal<Record<string, ParsedExpression>>({});\n private _values = signal<Record<string, any>>({});\n\n constructor(private readonly _notebook: Notebook.Notebook) {}\n\n /**\n * Parsed expressions by cell ID.\n */\n get expressions(): Signal<Record<string, ParsedExpression>> {\n return this._expressions;\n }\n\n /**\n * Computed values by cell ID.\n */\n get values(): Signal<Record<string, any>> {\n return this._values;\n }\n\n /**\n * Compute values.\n */\n evaluate() {\n // Parse expressions.\n const { expressions, dependencyGraph } = this.parse();\n this._values.value = {};\n\n // Create a map of cell IDs to expressions for easy lookup.\n const cellExpressions = new Map<string, ParsedExpression>();\n Object.entries(expressions).forEach(([id, expr]) => {\n cellExpressions.set(id, expr);\n });\n\n // Topological sort to determine evaluation order.\n const evaluationOrder = this.topologicalSort(Object.keys(expressions), dependencyGraph);\n\n // Values by reference name.\n const valuesByName: Record<string, any> = {};\n const valuesByCellId: Record<string, any> = {};\n\n // Evaluate cells in dependency order.\n for (const cellId of evaluationOrder) {\n const expr = cellExpressions.get(cellId);\n if (!expr) {\n log.error('no expression for cell', { cellId });\n continue;\n }\n\n const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.script.target?.content;\n if (!cellSource) {\n log.error('no source for cell', { cellId });\n continue;\n }\n\n try {\n // For assignments or declarations, evaluate and store the value.\n if (expr.name && expr.value !== undefined) {\n // If the parser extracted a literal value, use it directly.\n valuesByName[expr.name] = expr.value;\n valuesByCellId[cellId] = expr.value;\n } else if (expr.name) {\n // For non-literal assignments, we need to evaluate the expression.\n // The parser identifies it's an assignment, so we can extract the RHS.\n const equalIndex = cellSource.indexOf('=');\n if (equalIndex !== -1) {\n // Find the actual assignment operator (not in strings or other contexts).\n let rhs = cellSource.substring(equalIndex + 1).trim();\n\n // Handle semicolon at the end.\n if (rhs.endsWith(';')) {\n rhs = rhs.slice(0, -1).trim();\n }\n\n const result = this.evalScript(rhs, valuesByName);\n valuesByName[expr.name] = result;\n if (typeof result !== 'function') {\n valuesByCellId[cellId] = result;\n }\n }\n } else {\n // For expressions without assignment, just evaluate.\n const result = this.evalScript(cellSource, valuesByName);\n valuesByCellId[cellId] = result;\n }\n } catch (error) {\n log.error('error evaluating cell', { cellId, error });\n }\n }\n\n this._values.value = valuesByCellId;\n return valuesByCellId;\n }\n\n /**\n * Parse expressions.\n */\n parse() {\n const expressions = this._notebook.cells.reduce<Record<string, ParsedExpression>>((acc, cell) => {\n const text = cell.script.target?.content.trim();\n if (text) {\n const parsed = this._parser.parseExpression(text);\n acc[cell.id] = parsed;\n }\n\n return acc;\n }, {});\n\n // Build dependency graph.\n const dependencyGraph = this.buildDependencyGraph(expressions);\n this._expressions.value = expressions;\n return { expressions, dependencyGraph };\n }\n\n private topologicalSort(nodes: string[], dependencies: Record<string, string[]>): string[] {\n const visited = new Set<string>();\n const result: string[] = [];\n\n const visit = (node: string) => {\n if (visited.has(node)) {\n return;\n }\n\n visited.add(node);\n\n // Visit dependencies first.\n const deps = dependencies[node] || [];\n deps.forEach((dep) => visit(dep));\n result.push(node);\n };\n\n // Visit all nodes.\n nodes.forEach((node) => visit(node));\n return result;\n }\n\n private buildDependencyGraph(expressions: Record<string, ParsedExpression>): Record<string, string[]> {\n // Create a map of variable names to their cell IDs.\n const nameToCellId = new Map<string, string>();\n Object.entries(expressions).forEach(([id, expr]) => {\n if (expr.name) {\n nameToCellId.set(expr.name, id);\n }\n });\n\n // Build the dependency graph using cell IDs.\n const graph: Record<string, string[]> = {};\n Object.entries(expressions).forEach(([id, expr]) => {\n if (expr.references && expr.references.length > 0) {\n // Map variable references to cell IDs.\n const dependencyCellIds = expr.references\n .map((ref) => nameToCellId.get(ref))\n .filter((cellId): cellId is string => cellId !== undefined && cellId !== id);\n\n if (dependencyCellIds.length > 0) {\n graph[id] = dependencyCellIds;\n }\n }\n });\n\n return graph;\n }\n\n /**\n * Evaluate the script (with dependencies as arguments).\n */\n private evalScript(code: string, deps: Record<string, any> = {}) {\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n return new Function(...Object.keys(deps), 'return ' + code)(...Object.values(deps));\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createSystem, createVirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\nimport { trim } from '@dxos/util';\n\nexport type ParsedExpression = {\n name?: string;\n type?: 'function' | 'variable' | 'class' | 'interface';\n value?: any;\n valueType?: string;\n parameters?: Array<{ name: string; type: string }>;\n returnType?: string;\n references?: string[];\n};\n\nexport type VirtualFile = {\n filename: string;\n content: string;\n};\n\n/**\n * TypeScript parser using Virtual File System for browser compatibility.\n * This provides full TypeScript analysis including type information.\n */\nexport class VirtualTypeScriptParser {\n protected compilerOptions: ts.CompilerOptions = {\n target: ts.ScriptTarget.ES2020,\n module: ts.ModuleKind.ESNext,\n strict: true,\n esModuleInterop: true,\n skipLibCheck: true,\n forceConsistentCasingInfilenames: true,\n jsx: ts.JsxEmit.React,\n noLib: true, // Don't automatically include default lib files.\n };\n\n /**\n * Parse a single expression or statement.\n */\n parseExpression(input: string): ParsedExpression {\n invariant(input.trim() !== '', 'input must not be empty');\n const files: VirtualFile[] = [{ filename: '/temp.ts', content: input }];\n const analysis = this.analyzeFiles(files);\n\n // If no declarations found, check for standalone expression references.\n if (analysis.length === 0) {\n const sourcefilename = '/temp.ts';\n const env = this.createEnvironment([{ filename: sourcefilename, content: input }, ...systemFiles]);\n const sourceFile = env.getSourceFile(sourcefilename);\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n if (sourceFile && typeChecker) {\n // Check for assignment expressions.\n const assignmentInfo = this.findAssignmentExpression(sourceFile, typeChecker);\n if (assignmentInfo) {\n return assignmentInfo;\n }\n\n const references = this.findAllReferences(sourceFile, typeChecker);\n return { references };\n }\n }\n\n return analysis[0];\n }\n\n /**\n * Analyze multiple files with full type information.\n */\n analyzeFiles(files: VirtualFile[]): ParsedExpression[] {\n const env = this.createEnvironment([...files, ...systemFiles]);\n const results: ParsedExpression[] = [];\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n // Analyze each file.\n files.forEach((file) => {\n const sourceFile = env.getSourceFile(file.filename);\n if (!sourceFile || !typeChecker) return;\n\n const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);\n results.push(...fileResults);\n });\n\n return results;\n }\n\n /**\n * Analyze a source file with type information.\n */\n protected analyzeSourceFile(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): ParsedExpression[] {\n const results: ParsedExpression[] = [];\n\n const visit = (node: ts.Node) => {\n // Function declarations\n if (ts.isFunctionDeclaration(node) && node.name) {\n const symbol = typeChecker.getSymbolAtLocation(node.name);\n const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, node);\n const signature = type && typeChecker.getSignaturesOfType(type, ts.SignatureKind.Call)[0];\n\n results.push({\n name: node.name.text,\n type: 'function',\n parameters: this.extractParameters(signature, typeChecker),\n returnType: signature ? typeChecker.typeToString(signature.getReturnType()) : 'any',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n // Variable declarations.\n else if (ts.isVariableStatement(node)) {\n node.declarationList.declarations.forEach((declaration) => {\n if (ts.isIdentifier(declaration.name)) {\n const symbol = typeChecker.getSymbolAtLocation(declaration.name);\n const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, declaration);\n\n let kind: 'function' | 'variable' = 'variable';\n let parameters: Array<{ name: string; type: string }> | undefined;\n let returnType: string | undefined;\n let value: any;\n\n // Get the type string\n const typeString = type ? typeChecker.typeToString(type) : 'any';\n\n // Check if it's a function.\n if (declaration.initializer) {\n if (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer)) {\n kind = 'function';\n const funcType = typeChecker.getTypeAtLocation(declaration.initializer);\n const signature = typeChecker.getSignaturesOfType(funcType, ts.SignatureKind.Call)[0];\n if (signature) {\n parameters = this.extractParameters(signature, typeChecker);\n returnType = typeChecker.typeToString(signature.getReturnType());\n }\n } else {\n // Extract literal values\n if (ts.isNumericLiteral(declaration.initializer)) {\n value = Number(declaration.initializer.text);\n } else if (ts.isStringLiteral(declaration.initializer)) {\n value = declaration.initializer.text;\n }\n }\n }\n\n // Find references in the initializer only\n const refs = declaration.initializer\n ? this.findReferences(declaration.initializer, sourceFile, typeChecker)\n : [];\n\n results.push({\n name: declaration.name.text,\n type: kind,\n valueType: typeString,\n value,\n parameters,\n returnType,\n references: refs,\n });\n }\n });\n }\n\n // Class declarations\n else if (ts.isClassDeclaration(node) && node.name) {\n results.push({\n name: node.name.text,\n type: 'class',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n // Interface declarations.\n else if (ts.isInterfaceDeclaration(node)) {\n results.push({\n name: node.name.text,\n type: 'interface',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return results;\n }\n\n /**\n * Extract parameter information from a signature.\n */\n private extractParameters(\n signature: ts.Signature | undefined,\n typeChecker: ts.TypeChecker,\n ): Array<{ name: string; type: string }> {\n if (!signature) return [];\n\n return signature.parameters.map((param) => ({\n name: param.getName(),\n type: typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(param, param.valueDeclaration!)),\n }));\n }\n\n /**\n * Find all references to variables used in a node.\n */\n private findReferences(node: ts.Node, _sourceFile: ts.SourceFile, _typeChecker: ts.TypeChecker): string[] {\n const references = new Set<string>();\n const localSymbols = new Set<string>();\n\n // First, collect local symbols (parameters, local variables).\n const collectLocalSymbols = (n: ts.Node) => {\n if (ts.isFunctionDeclaration(n) || ts.isArrowFunction(n) || ts.isFunctionExpression(n)) {\n n.parameters.forEach((param) => {\n if (ts.isIdentifier(param.name)) {\n localSymbols.add(param.name.text);\n }\n });\n }\n\n if (ts.isVariableDeclaration(n) && ts.isIdentifier(n.name)) {\n localSymbols.add(n.name.text);\n }\n\n ts.forEachChild(n, collectLocalSymbols);\n };\n\n collectLocalSymbols(node);\n\n // Then find all identifier references.\n const findRefs = (n: ts.Node) => {\n if (ts.isIdentifier(n)) {\n // Skip if it's a local symbol\n if (!localSymbols.has(n.text)) {\n // Check if it's a reference (not a declaration).\n const parent = n.parent;\n const isDeclaration =\n (ts.isVariableDeclaration(parent) && parent.name === n) ||\n (ts.isFunctionDeclaration(parent) && parent.name === n) ||\n (ts.isParameter(parent) && parent.name === n);\n\n if (!isDeclaration && !this.isBuiltIn(n.text)) {\n references.add(n.text);\n }\n }\n }\n ts.forEachChild(n, findRefs);\n };\n\n findRefs(node);\n return Array.from(references);\n }\n\n /**\n * Check if a name is a built-in global.\n */\n protected isBuiltIn(name: string): boolean {\n return builtIns.has(name);\n }\n\n /**\n * Find assignment expressions in a source file.\n */\n private findAssignmentExpression(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): ParsedExpression | null {\n let result: ParsedExpression | null = null;\n\n const visit = (node: ts.Node) => {\n if (ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression)) {\n const expr = node.expression;\n if (expr.operatorToken.kind === ts.SyntaxKind.EqualsToken && ts.isIdentifier(expr.left)) {\n const type = typeChecker.getTypeAtLocation(expr.right);\n const typeString = typeChecker.typeToString(type);\n\n // Get the literal value if it's a literal\n let value: any;\n if (ts.isNumericLiteral(expr.right)) {\n value = Number(expr.right.text);\n } else if (ts.isStringLiteral(expr.right)) {\n value = expr.right.text;\n }\n\n // Find references in the right-hand side\n const references = this.findReferences(expr.right, sourceFile, typeChecker);\n\n result = {\n name: expr.left.text,\n type: 'variable',\n valueType: typeString,\n value,\n references,\n };\n }\n }\n if (!result) {\n ts.forEachChild(node, visit);\n }\n };\n\n visit(sourceFile);\n return result;\n }\n\n /**\n * Find all identifier references in a source file.\n */\n protected findAllReferences(sourceFile: ts.SourceFile, _typeChecker: ts.TypeChecker): string[] {\n const references = new Set<string>();\n\n const visit = (node: ts.Node) => {\n if (ts.isIdentifier(node)) {\n // Skip if it's a declaration.\n const parent = node.parent;\n const isDeclaration =\n (ts.isVariableDeclaration(parent) && parent.name === node) ||\n (ts.isFunctionDeclaration(parent) && parent.name === node) ||\n (ts.isParameter(parent) && parent.name === node);\n\n // Skip if it's the left-hand side of an assignment.\n const isAssignmentTarget =\n ts.isBinaryExpression(parent) &&\n parent.operatorToken.kind === ts.SyntaxKind.EqualsToken &&\n parent.left === node;\n\n if (!isDeclaration && !isAssignmentTarget && !this.isBuiltIn(node.text)) {\n references.add(node.text);\n }\n }\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return Array.from(references);\n }\n\n protected createEnvironment(files: VirtualFile[]) {\n const fileMap = new Map<string, string>();\n files.forEach(({ filename, content }) => {\n fileMap.set(filename, content);\n });\n\n const system = createSystem(fileMap);\n return createVirtualTypeScriptEnvironment(\n system,\n files.map(({ filename }) => filename),\n ts,\n this.compilerOptions,\n );\n }\n}\n\n/**\n * Notebook-specific parser with dependency analysis.\n */\nexport class NotebookVirtualParser extends VirtualTypeScriptParser {\n /**\n * Analyze notebook cells with full type checking.\n */\n analyzeNotebook(cells: Array<{ id: string; code: string }>) {\n // Create cumulative environment where each cell can see previous cells\n const cumulativeCode: string[] = [];\n const cellAnalysis: Map<\n string,\n {\n exports: ParsedExpression[];\n imports: string[];\n errors: ts.Diagnostic[];\n }\n > = new Map();\n\n cells.forEach((cell) => {\n // Create files for all cells up to current.\n const files: VirtualFile[] = [];\n\n // Add previous cells as context.\n if (cumulativeCode.length > 0) {\n files.push({\n filename: '/context.ts',\n content: cumulativeCode.join('\\n'),\n });\n }\n\n // Add current cell.\n const filename = `/cell/${cell.id}.ts`;\n files.push({\n filename,\n content: cell.code,\n });\n\n // Create environment.\n const env = this.createEnvironment([...files, ...systemFiles]);\n\n // Get diagnostics (errors).\n const diagnostics = env.languageService.getSemanticDiagnostics(filename);\n\n // Analyze current cell.\n const sourceFile = env.getSourceFile(filename);\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n if (sourceFile && typeChecker) {\n const exports = this.analyzeSourceFile(sourceFile, typeChecker);\n\n // Find all references in the current cell.\n const allRefs = new Set<string>();\n exports.forEach((exp) => {\n exp.references?.forEach((ref) => allRefs.add(ref));\n });\n\n // Also check for references not in exports (e.g., console.log(y)).\n const additionalRefs = this.findAllReferences(sourceFile, typeChecker);\n additionalRefs.forEach((ref) => allRefs.add(ref));\n\n // Determine which references are imports from previous cells.\n const previousExports = new Set<string>();\n for (const [_prevCellId, prevAnalysis] of cellAnalysis) {\n prevAnalysis.exports.forEach((exp) => {\n if (exp.name) previousExports.add(exp.name);\n });\n }\n\n const imports = Array.from(allRefs).filter((ref) => previousExports.has(ref));\n\n cellAnalysis.set(cell.id, {\n exports,\n imports,\n errors: diagnostics,\n });\n }\n\n // Add current cell code to cumulative.\n cumulativeCode.push(cell.code);\n });\n\n return cellAnalysis;\n }\n}\n\n/**\n * Globals.\n */\nconst builtIns = new Set([\n // Types.\n 'Array',\n 'Date',\n 'Error',\n 'JSON',\n 'Map',\n 'Math',\n 'Number',\n 'Promise',\n 'Object',\n 'RegExp',\n 'Set',\n 'String',\n\n // Functions.\n 'console',\n 'document',\n 'global',\n 'isFinite',\n 'isNaN',\n 'parseFloat',\n 'parseInt',\n 'process',\n 'window',\n]);\n\n/**\n * Default system definitions.\n */\nconst systemFiles: VirtualFile[] = [\n {\n filename: '/lib.d.ts',\n content: trim`\n interface Array<T> { length: number; [n: number]: T; }\n interface Boolean {}\n interface Function {}\n interface IArguments {}\n interface Number {}\n interface Object {}\n interface RegExp {}\n interface String { length: number; }\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n declare var console: { log(...args: any[]): void };\n `,\n },\n];\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useMemo", "Ref", "Toolbar", "useTranslation", "StackItem", "DataType", "signal", "log", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "trim", "VirtualTypeScriptParser", "parseExpression", "input", "files", "filename", "content", "analysis", "analyzeFiles", "length", "sourcefilename", "env", "createEnvironment", "systemFiles", "sourceFile", "getSourceFile", "typeChecker", "languageService", "getProgram", "getTypeChecker", "assignmentInfo", "findAssignmentExpression", "references", "findAllReferences", "results", "forEach", "file", "fileResults", "analyzeSourceFile", "push", "visit", "node", "isFunctionDeclaration", "name", "symbol", "getSymbolAtLocation", "type", "getTypeOfSymbolAtLocation", "signature", "getSignaturesOfType", "SignatureKind", "Call", "text", "parameters", "extractParameters", "returnType", "typeToString", "getReturnType", "findReferences", "isVariableStatement", "declarationList", "declarations", "declaration", "isIdentifier", "kind", "value", "typeString", "initializer", "isArrowFunction", "isFunctionExpression", "funcType", "getTypeAtLocation", "isNumericLiteral", "Number", "isStringLiteral", "refs", "valueType", "isClassDeclaration", "isInterfaceDeclaration", "forEachChild", "map", "param", "getName", "valueDeclaration", "_sourceFile", "_typeChecker", "Set", "localSymbols", "collectLocalSymbols", "n", "add", "isVariableDeclaration", "findRefs", "has", "parent", "isDeclaration", "isParameter", "isBuiltIn", "Array", "from", "builtIns", "result", "isExpressionStatement", "isBinaryExpression", "expression", "expr", "operatorToken", "SyntaxKind", "EqualsToken", "left", "right", "isAssignmentTarget", "fileMap", "Map", "set", "system", "compilerOptions", "target", "ScriptTarget", "ES2020", "module", "ModuleKind", "ESNext", "strict", "esModuleInterop", "skipLibCheck", "forceConsistentCasingInfilenames", "jsx", "JsxEmit", "React", "noLib", "builtIns", "Set", "systemFiles", "filename", "content", "trim", "ComputeGraph", "expressions", "_expressions", "values", "_values", "evaluate", "dependencyGraph", "parse", "value", "cellExpressions", "Map", "Object", "entries", "forEach", "id", "expr", "set", "evaluationOrder", "topologicalSort", "keys", "valuesByName", "valuesByCellId", "cellId", "get", "log", "error", "cellSource", "_notebook", "cells", "find", "cell", "script", "target", "content", "name", "undefined", "equalIndex", "indexOf", "rhs", "substring", "trim", "endsWith", "slice", "result", "evalScript", "reduce", "acc", "text", "parsed", "_parser", "parseExpression", "buildDependencyGraph", "nodes", "dependencies", "visited", "Set", "visit", "node", "has", "add", "deps", "dep", "push", "nameToCellId", "graph", "references", "length", "dependencyCellIds", "map", "ref", "filter", "code", "Function", "_define_property", "VirtualTypeScriptParser", "signal", "NotebookContainer", "notebook", "env", "t", "useTranslation", "meta", "id", "graph", "useMemo", "ComputeGraph", "handleCompute", "useCallback", "evaluate", "handleCellInsert", "after", "idx", "cells", "findIndex", "cell", "length", "splice", "crypto", "randomUUID", "script", "Ref", "make", "DataType", "makeText", "handleCellDelete", "StackItem", "Content", "classNames", "toolbar", "Toolbar", "Root", "IconButton", "icon", "iconOnly", "label", "onClick", "NotebookStack", "onCellInsert", "onCellDelete"]
7
- }