@dxos/plugin-script 0.8.4-main.937b3ca → 0.8.4-main.abd8ff62ef

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 (536) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-6DBF3V6C.mjs +112 -0
  3. package/dist/lib/browser/DeploymentDialog-6DBF3V6C.mjs.map +7 -0
  4. package/dist/lib/browser/{NotebookContainer-4MM2VAQF.mjs → NotebookContainer-RO4NJRYH.mjs} +59 -144
  5. package/dist/lib/browser/NotebookContainer-RO4NJRYH.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-2OPBAXFB.mjs +79 -0
  7. package/dist/lib/browser/ScriptContainer-2OPBAXFB.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptProperties-NRXG4PBX.mjs +304 -0
  9. package/dist/lib/browser/ScriptProperties-NRXG4PBX.mjs.map +7 -0
  10. package/dist/lib/browser/TestContainer-JNFPLAJX.mjs +44 -0
  11. package/dist/lib/browser/TestContainer-JNFPLAJX.mjs.map +7 -0
  12. package/dist/lib/browser/access-token-created-MSWZWZCT.mjs +37 -0
  13. package/dist/lib/browser/access-token-created-MSWZWZCT.mjs.map +7 -0
  14. package/dist/lib/browser/blueprints/index.mjs +53 -3
  15. package/dist/lib/browser/blueprints/index.mjs.map +4 -4
  16. package/dist/lib/browser/chunk-KF6H7J5N.mjs +81 -0
  17. package/dist/lib/browser/chunk-KF6H7J5N.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-MI6X5CTJ.mjs +336 -0
  19. package/dist/lib/browser/chunk-MI6X5CTJ.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-UX4GHJ5E.mjs → chunk-NSAF3763.mjs} +29 -29
  21. package/dist/lib/browser/chunk-NSAF3763.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-RQ5LDVFK.mjs +49 -0
  23. package/dist/lib/browser/chunk-RQ5LDVFK.mjs.map +7 -0
  24. package/dist/lib/browser/containers/index.mjs +17 -0
  25. package/dist/lib/browser/containers/index.mjs.map +7 -0
  26. package/dist/lib/browser/create-JDXWBARB.mjs +44 -0
  27. package/dist/lib/browser/create-JDXWBARB.mjs.map +7 -0
  28. package/dist/lib/browser/create-script-Q7B3CFAP.mjs +45 -0
  29. package/dist/lib/browser/create-script-Q7B3CFAP.mjs.map +7 -0
  30. package/dist/lib/browser/delete-PAUWA2QM.mjs +21 -0
  31. package/dist/lib/browser/delete-PAUWA2QM.mjs.map +7 -0
  32. package/dist/lib/browser/deploy-CXVW54JJ.mjs +62 -0
  33. package/dist/lib/browser/deploy-CXVW54JJ.mjs.map +7 -0
  34. package/dist/lib/browser/index.mjs +169 -220
  35. package/dist/lib/browser/index.mjs.map +4 -4
  36. package/dist/lib/browser/inspect-invocations-LEOEP5I2.mjs +59 -0
  37. package/dist/lib/browser/inspect-invocations-LEOEP5I2.mjs.map +7 -0
  38. package/dist/lib/browser/install-function-5N24Q45W.mjs +51 -0
  39. package/dist/lib/browser/install-function-5N24Q45W.mjs.map +7 -0
  40. package/dist/lib/browser/invoke-5QVEZ3X5.mjs +33 -0
  41. package/dist/lib/browser/invoke-5QVEZ3X5.mjs.map +7 -0
  42. package/dist/lib/browser/meta.json +1 -1
  43. package/dist/lib/browser/operations/index.mjs +14 -0
  44. package/dist/lib/browser/operations/index.mjs.map +7 -0
  45. package/dist/lib/browser/query-deployed-functions-FVD7NYPA.mjs +30 -0
  46. package/dist/lib/browser/query-deployed-functions-FVD7NYPA.mjs.map +7 -0
  47. package/dist/lib/browser/read-FFOSK6A3.mjs +26 -0
  48. package/dist/lib/browser/read-FFOSK6A3.mjs.map +7 -0
  49. package/dist/lib/browser/templates/index.mjs +1 -1
  50. package/dist/lib/browser/translations.mjs +104 -0
  51. package/dist/lib/browser/translations.mjs.map +7 -0
  52. package/dist/lib/browser/types/index.mjs +3 -7
  53. package/dist/lib/browser/update-PJS5GG3Y.mjs +63 -0
  54. package/dist/lib/browser/update-PJS5GG3Y.mjs.map +7 -0
  55. package/dist/lib/node-esm/DeploymentDialog-A5BZHUJB.mjs +113 -0
  56. package/dist/lib/node-esm/DeploymentDialog-A5BZHUJB.mjs.map +7 -0
  57. package/dist/lib/node-esm/{NotebookContainer-QLW5ZYGS.mjs → NotebookContainer-DPT65MA7.mjs} +59 -144
  58. package/dist/lib/node-esm/NotebookContainer-DPT65MA7.mjs.map +7 -0
  59. package/dist/lib/node-esm/ScriptContainer-UKD7QORM.mjs +80 -0
  60. package/dist/lib/node-esm/ScriptContainer-UKD7QORM.mjs.map +7 -0
  61. package/dist/lib/node-esm/ScriptProperties-FQXEOJKG.mjs +305 -0
  62. package/dist/lib/node-esm/ScriptProperties-FQXEOJKG.mjs.map +7 -0
  63. package/dist/lib/node-esm/TestContainer-Y4XVV7KQ.mjs +45 -0
  64. package/dist/lib/node-esm/TestContainer-Y4XVV7KQ.mjs.map +7 -0
  65. package/dist/lib/node-esm/access-token-created-DCD6LYQC.mjs +38 -0
  66. package/dist/lib/node-esm/access-token-created-DCD6LYQC.mjs.map +7 -0
  67. package/dist/lib/node-esm/blueprints/index.mjs +53 -3
  68. package/dist/lib/node-esm/blueprints/index.mjs.map +4 -4
  69. package/dist/lib/node-esm/chunk-2DZNF5NG.mjs +82 -0
  70. package/dist/lib/node-esm/chunk-2DZNF5NG.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-C55UYWN4.mjs +50 -0
  72. package/dist/lib/node-esm/chunk-C55UYWN4.mjs.map +7 -0
  73. package/dist/lib/node-esm/{chunk-4F5FJZ36.mjs → chunk-EW63XFRQ.mjs} +29 -29
  74. package/dist/lib/node-esm/chunk-EW63XFRQ.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-XFM2BEHY.mjs +338 -0
  76. package/dist/lib/node-esm/chunk-XFM2BEHY.mjs.map +7 -0
  77. package/dist/lib/node-esm/containers/index.mjs +18 -0
  78. package/dist/lib/node-esm/containers/index.mjs.map +7 -0
  79. package/dist/lib/node-esm/create-D2JDNXY6.mjs +45 -0
  80. package/dist/lib/node-esm/create-D2JDNXY6.mjs.map +7 -0
  81. package/dist/lib/node-esm/create-script-4AB4G7GQ.mjs +46 -0
  82. package/dist/lib/node-esm/create-script-4AB4G7GQ.mjs.map +7 -0
  83. package/dist/lib/node-esm/delete-YXLT7J27.mjs +22 -0
  84. package/dist/lib/node-esm/delete-YXLT7J27.mjs.map +7 -0
  85. package/dist/lib/node-esm/deploy-MXVZXAUC.mjs +63 -0
  86. package/dist/lib/node-esm/deploy-MXVZXAUC.mjs.map +7 -0
  87. package/dist/lib/node-esm/index.mjs +169 -220
  88. package/dist/lib/node-esm/index.mjs.map +4 -4
  89. package/dist/lib/node-esm/inspect-invocations-TVAKGYX5.mjs +60 -0
  90. package/dist/lib/node-esm/inspect-invocations-TVAKGYX5.mjs.map +7 -0
  91. package/dist/lib/node-esm/install-function-ST3VABJH.mjs +52 -0
  92. package/dist/lib/node-esm/install-function-ST3VABJH.mjs.map +7 -0
  93. package/dist/lib/node-esm/invoke-64WDU55Y.mjs +34 -0
  94. package/dist/lib/node-esm/invoke-64WDU55Y.mjs.map +7 -0
  95. package/dist/lib/node-esm/meta.json +1 -1
  96. package/dist/lib/node-esm/operations/index.mjs +15 -0
  97. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  98. package/dist/lib/node-esm/query-deployed-functions-2VCNGQ7X.mjs +31 -0
  99. package/dist/lib/node-esm/query-deployed-functions-2VCNGQ7X.mjs.map +7 -0
  100. package/dist/lib/node-esm/read-PECQUAPS.mjs +27 -0
  101. package/dist/lib/node-esm/read-PECQUAPS.mjs.map +7 -0
  102. package/dist/lib/node-esm/templates/index.mjs +1 -1
  103. package/dist/lib/node-esm/translations.mjs +105 -0
  104. package/dist/lib/node-esm/translations.mjs.map +7 -0
  105. package/dist/lib/node-esm/types/index.mjs +3 -7
  106. package/dist/lib/node-esm/update-XDFTGSPP.mjs +64 -0
  107. package/dist/lib/node-esm/update-XDFTGSPP.mjs.map +7 -0
  108. package/dist/types/src/ScriptPlugin.d.ts +1 -0
  109. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  110. package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
  111. package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
  112. package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
  113. package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/functions/create.d.ts +11 -0
  115. package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/functions/definitions.d.ts +141 -0
  117. package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/functions/delete.d.ts +18 -0
  119. package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/functions/deploy.d.ts +22 -0
  121. package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/functions/index.d.ts +4 -0
  123. package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +29 -0
  125. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
  127. package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
  128. package/dist/types/src/blueprints/functions/invoke.d.ts +22 -0
  129. package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
  131. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
  132. package/dist/types/src/blueprints/functions/read.d.ts +22 -0
  133. package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
  134. package/dist/types/src/blueprints/functions/update.d.ts +27 -0
  135. package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
  136. package/dist/types/src/blueprints/index.d.ts +1 -1
  137. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  138. package/dist/types/src/blueprints/script-blueprint.d.ts +3 -21
  139. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -1
  140. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  141. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/{artifact-definition/artifact-definition.d.ts → artifact-definition.d.ts} +1 -1
  143. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  145. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  146. package/dist/types/src/capabilities/compiler.d.ts +6 -0
  147. package/dist/types/src/capabilities/compiler.d.ts.map +1 -0
  148. package/dist/types/src/capabilities/index.d.ts +8 -6
  149. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  150. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  151. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  152. package/dist/types/src/capabilities/react-surface.d.ts +5 -0
  153. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  154. package/dist/types/src/capabilities/settings.d.ts +7 -0
  155. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  156. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  157. package/dist/types/src/components/{FrameContainer/FrameContainer.d.ts → FramePanel/FramePanel.d.ts} +3 -3
  158. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  159. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  160. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  161. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +1 -1
  162. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  163. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
  164. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
  165. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +4 -2
  166. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  167. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +219 -228
  168. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  169. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -1
  170. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -1
  171. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  172. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  173. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
  174. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
  175. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
  176. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
  177. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +7 -5
  178. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  179. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +219 -228
  180. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  181. package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
  182. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  183. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  184. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  185. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +5 -2
  186. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  187. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -1
  188. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  189. package/dist/types/src/components/index.d.ts +6 -5
  190. package/dist/types/src/components/index.d.ts.map +1 -1
  191. package/dist/types/src/constants.d.ts +2 -0
  192. package/dist/types/src/constants.d.ts.map +1 -0
  193. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +0 -2
  194. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  195. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
  196. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  197. package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
  198. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  199. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  200. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  201. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  202. package/dist/types/src/containers/NotebookContainer/index.d.ts +2 -0
  203. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  204. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  205. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  206. package/dist/types/src/containers/ScriptContainer/ScriptContainer.stories.d.ts +242 -0
  207. package/dist/types/src/containers/ScriptContainer/ScriptContainer.stories.d.ts.map +1 -0
  208. package/dist/types/src/containers/ScriptContainer/index.d.ts +2 -0
  209. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  210. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
  211. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
  212. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
  213. package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
  214. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
  215. package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
  216. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
  217. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  218. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
  219. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
  220. package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
  221. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  222. package/dist/types/src/{components/TestPanel → containers/TestContainer}/TestContainer.d.ts +1 -1
  223. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  224. package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
  225. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  226. package/dist/types/src/containers/index.d.ts +7 -0
  227. package/dist/types/src/containers/index.d.ts.map +1 -0
  228. package/dist/types/src/hooks/deploy.d.ts +18 -5
  229. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  230. package/dist/types/src/hooks/format.d.ts +2 -1
  231. package/dist/types/src/hooks/format.d.ts.map +1 -1
  232. package/dist/types/src/hooks/template.d.ts +2 -1
  233. package/dist/types/src/hooks/template.d.ts.map +1 -1
  234. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -1
  235. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  236. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  237. package/dist/types/src/index.d.ts +2 -2
  238. package/dist/types/src/index.d.ts.map +1 -1
  239. package/dist/types/src/notebook/compute-graph.d.ts +1 -1
  240. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
  241. package/dist/types/src/notebook/eval.d.ts.map +1 -1
  242. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
  243. package/dist/types/src/operations/access-token-created.d.ts +5 -0
  244. package/dist/types/src/operations/access-token-created.d.ts.map +1 -0
  245. package/dist/types/src/operations/create-script.d.ts +5 -0
  246. package/dist/types/src/operations/create-script.d.ts.map +1 -0
  247. package/dist/types/src/operations/definitions.d.ts +29 -0
  248. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  249. package/dist/types/src/operations/index.d.ts +4 -0
  250. package/dist/types/src/operations/index.d.ts.map +1 -0
  251. package/dist/types/src/templates/anthropic.d.ts +4 -5
  252. package/dist/types/src/templates/anthropic.d.ts.map +1 -1
  253. package/dist/types/src/templates/chat.d.ts.map +1 -1
  254. package/dist/types/src/templates/chess-bot.d.ts +7 -5
  255. package/dist/types/src/templates/chess-bot.d.ts.map +1 -1
  256. package/dist/types/src/templates/commentary.d.ts +7 -4
  257. package/dist/types/src/templates/commentary.d.ts.map +1 -1
  258. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  259. package/dist/types/src/templates/discord.d.ts.map +1 -1
  260. package/dist/types/src/templates/email.d.ts.map +1 -1
  261. package/dist/types/src/templates/forex-effect.d.ts +3 -2
  262. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  263. package/dist/types/src/templates/forex.d.ts +3 -2
  264. package/dist/types/src/templates/forex.d.ts.map +1 -1
  265. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  266. package/dist/types/src/templates/index.d.ts +29 -29
  267. package/dist/types/src/templates/index.d.ts.map +1 -1
  268. package/dist/types/src/templates/ping.d.ts +2 -1
  269. package/dist/types/src/templates/ping.d.ts.map +1 -1
  270. package/dist/types/src/testing/index.d.ts +2 -1
  271. package/dist/types/src/testing/index.d.ts.map +1 -1
  272. package/dist/types/src/testing/test-notebook.d.ts +3 -0
  273. package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
  274. package/dist/types/src/testing/test-script.d.ts +7 -0
  275. package/dist/types/src/testing/test-script.d.ts.map +1 -0
  276. package/dist/types/src/translations.d.ts +222 -92
  277. package/dist/types/src/translations.d.ts.map +1 -1
  278. package/dist/types/src/types/Notebook.d.ts +65 -49
  279. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  280. package/dist/types/src/types/Settings.d.ts +7 -0
  281. package/dist/types/src/types/Settings.d.ts.map +1 -0
  282. package/dist/types/src/types/capabilities.d.ts +2 -5
  283. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  284. package/dist/types/src/types/events.d.ts.map +1 -1
  285. package/dist/types/src/types/index.d.ts +0 -1
  286. package/dist/types/src/types/index.d.ts.map +1 -1
  287. package/dist/types/src/types/types.d.ts +1 -5
  288. package/dist/types/src/types/types.d.ts.map +1 -1
  289. package/dist/types/src/util/deploy.d.ts +2 -2
  290. package/dist/types/src/util/deploy.d.ts.map +1 -1
  291. package/dist/types/src/util/functions.d.ts +2 -2
  292. package/dist/types/src/util/functions.d.ts.map +1 -1
  293. package/dist/types/tsconfig.tsbuildinfo +1 -1
  294. package/package.json +121 -99
  295. package/src/ScriptPlugin.node.ts +70 -0
  296. package/src/ScriptPlugin.test.ts +31 -0
  297. package/src/ScriptPlugin.tsx +52 -34
  298. package/src/blueprints/functions/create.ts +47 -0
  299. package/src/blueprints/functions/definitions.ts +323 -0
  300. package/src/blueprints/functions/delete.ts +23 -0
  301. package/src/blueprints/functions/deploy.ts +70 -0
  302. package/src/blueprints/functions/index.ts +19 -0
  303. package/src/blueprints/functions/inspect-invocations.ts +56 -0
  304. package/src/blueprints/functions/install-function.ts +56 -0
  305. package/src/blueprints/functions/invoke.ts +35 -0
  306. package/src/blueprints/functions/query-deployed-functions.ts +31 -0
  307. package/src/blueprints/functions/read.ts +29 -0
  308. package/src/blueprints/functions/update.ts +68 -0
  309. package/src/blueprints/index.ts +1 -1
  310. package/src/blueprints/script-blueprint.ts +40 -9
  311. package/src/capabilities/app-graph-builder.ts +47 -0
  312. package/src/capabilities/{artifact-definition/artifact-definition.ts → artifact-definition.ts} +2 -3
  313. package/src/capabilities/blueprint-definition.ts +19 -0
  314. package/src/capabilities/{compiler/compiler.ts → compiler.ts} +17 -9
  315. package/src/capabilities/index.ts +13 -6
  316. package/src/capabilities/operation-handler.ts +21 -0
  317. package/src/capabilities/react-surface.tsx +130 -0
  318. package/src/capabilities/{settings/settings.ts → settings.ts} +7 -6
  319. package/src/compiler/compiler.ts +8 -1
  320. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +4 -5
  321. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  322. package/src/components/NotebookStack/NotebookCell.tsx +31 -22
  323. package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
  324. package/src/components/NotebookStack/NotebookStack.stories.tsx +7 -9
  325. package/src/components/NotebookStack/NotebookStack.tsx +27 -16
  326. package/src/components/QueryEditor/QueryEditor.stories.tsx +18 -22
  327. package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
  328. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
  329. package/src/components/ScriptPluginSettings/index.ts +5 -0
  330. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +8 -9
  331. package/src/components/ScriptToolbar/ScriptToolbar.tsx +24 -26
  332. package/src/components/TestPanel/TestPanel.tsx +110 -194
  333. package/src/components/TestPanel/index.ts +0 -1
  334. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +17 -15
  335. package/src/components/TypescriptEditor/TypescriptEditor.tsx +26 -19
  336. package/src/components/index.ts +6 -7
  337. package/src/constants.ts +7 -0
  338. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.tsx +8 -7
  339. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.tsx +33 -37
  340. package/src/containers/DeploymentDialog/index.ts +5 -0
  341. package/src/{components → containers/NotebookContainer}/NotebookContainer.stories.tsx +18 -20
  342. package/src/{components → containers/NotebookContainer}/NotebookContainer.tsx +61 -77
  343. package/src/containers/NotebookContainer/index.ts +5 -0
  344. package/src/containers/ScriptContainer/ScriptContainer.stories.tsx +106 -0
  345. package/src/{components → containers/ScriptContainer}/ScriptContainer.tsx +28 -27
  346. package/src/containers/ScriptContainer/index.ts +5 -0
  347. package/src/containers/ScriptProperties/BlueprintEditor.tsx +101 -0
  348. package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
  349. package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
  350. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +75 -0
  351. package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
  352. package/src/containers/ScriptProperties/index.ts +5 -0
  353. package/src/containers/TestContainer/TestContainer.tsx +44 -0
  354. package/src/containers/TestContainer/index.ts +5 -0
  355. package/src/containers/index.ts +11 -0
  356. package/src/e2e/ai.test.ts +7 -6
  357. package/src/e2e/deploy.test.ts +5 -5
  358. package/src/hooks/deploy.ts +15 -13
  359. package/src/hooks/format.ts +6 -5
  360. package/src/hooks/template.ts +9 -8
  361. package/src/hooks/useCompiler.ts +4 -3
  362. package/src/hooks/useCreateAndDeployScriptTemplates.ts +5 -4
  363. package/src/hooks/useToolbarState.ts +7 -6
  364. package/src/index.ts +6 -3
  365. package/src/meta.ts +2 -2
  366. package/src/notebook/compute-graph.test.ts +7 -7
  367. package/src/notebook/compute-graph.ts +1 -1
  368. package/src/notebook/vfs-parser.ts +10 -3
  369. package/src/operations/access-token-created.ts +37 -0
  370. package/src/operations/create-script.ts +46 -0
  371. package/src/operations/definitions.ts +40 -0
  372. package/src/operations/index.ts +12 -0
  373. package/src/templates/anthropic.ts +19 -12
  374. package/src/templates/chat.ts +1 -1
  375. package/src/templates/chess-bot.ts +37 -34
  376. package/src/templates/commentary.ts +178 -162
  377. package/src/templates/data-generator.ts +1 -1
  378. package/src/templates/discord.ts +3 -3
  379. package/src/templates/forex-effect.ts +30 -19
  380. package/src/templates/forex.ts +24 -15
  381. package/src/templates/gmail.ts +4 -4
  382. package/src/templates/index.ts +18 -18
  383. package/src/templates/ping.ts +16 -8
  384. package/src/testing/index.ts +2 -1
  385. package/src/testing/simulator.test.ts +3 -4
  386. package/src/testing/{data.ts → test-notebook.ts} +4 -5
  387. package/src/testing/test-script.ts +29 -0
  388. package/src/translations.ts +86 -87
  389. package/src/types/Notebook.ts +12 -8
  390. package/src/types/Settings.ts +20 -0
  391. package/src/types/capabilities.ts +5 -5
  392. package/src/types/events.ts +2 -2
  393. package/src/types/index.ts +0 -1
  394. package/src/types/types.ts +1 -11
  395. package/src/util/deploy.ts +13 -11
  396. package/src/util/functions.ts +9 -8
  397. package/dist/lib/browser/DeploymentDialog-GXNRUXF6.mjs +0 -14
  398. package/dist/lib/browser/DeploymentDialog-GXNRUXF6.mjs.map +0 -7
  399. package/dist/lib/browser/NotebookContainer-4MM2VAQF.mjs.map +0 -7
  400. package/dist/lib/browser/ScriptContainer-X6GCYZZW.mjs +0 -149
  401. package/dist/lib/browser/ScriptContainer-X6GCYZZW.mjs.map +0 -7
  402. package/dist/lib/browser/app-graph-builder-7VO7AUI6.mjs +0 -68
  403. package/dist/lib/browser/app-graph-builder-7VO7AUI6.mjs.map +0 -7
  404. package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs +0 -17
  405. package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs.map +0 -7
  406. package/dist/lib/browser/chunk-3O2DQGCP.mjs +0 -113
  407. package/dist/lib/browser/chunk-3O2DQGCP.mjs.map +0 -7
  408. package/dist/lib/browser/chunk-BTWHM6FH.mjs +0 -270
  409. package/dist/lib/browser/chunk-BTWHM6FH.mjs.map +0 -7
  410. package/dist/lib/browser/chunk-F3QKSKSF.mjs +0 -35
  411. package/dist/lib/browser/chunk-F3QKSKSF.mjs.map +0 -7
  412. package/dist/lib/browser/chunk-I7CSE6T3.mjs +0 -110
  413. package/dist/lib/browser/chunk-I7CSE6T3.mjs.map +0 -7
  414. package/dist/lib/browser/chunk-IQRLM6JK.mjs +0 -137
  415. package/dist/lib/browser/chunk-IQRLM6JK.mjs.map +0 -7
  416. package/dist/lib/browser/chunk-NWSK27QB.mjs +0 -606
  417. package/dist/lib/browser/chunk-NWSK27QB.mjs.map +0 -7
  418. package/dist/lib/browser/chunk-UX4GHJ5E.mjs.map +0 -7
  419. package/dist/lib/browser/chunk-WX2NVNFQ.mjs +0 -557
  420. package/dist/lib/browser/chunk-WX2NVNFQ.mjs.map +0 -7
  421. package/dist/lib/browser/chunk-WYR4QHPE.mjs +0 -31
  422. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +0 -7
  423. package/dist/lib/browser/compiler-XRBFQFXO.mjs +0 -161
  424. package/dist/lib/browser/compiler-XRBFQFXO.mjs.map +0 -7
  425. package/dist/lib/browser/operation-resolver-MUNR376F.mjs +0 -82
  426. package/dist/lib/browser/operation-resolver-MUNR376F.mjs.map +0 -7
  427. package/dist/lib/browser/react-surface-5TEC66UY.mjs +0 -139
  428. package/dist/lib/browser/react-surface-5TEC66UY.mjs.map +0 -7
  429. package/dist/lib/browser/settings-R4WKREUJ.mjs +0 -35
  430. package/dist/lib/browser/settings-R4WKREUJ.mjs.map +0 -7
  431. package/dist/lib/node-esm/DeploymentDialog-EVFV2VJT.mjs +0 -15
  432. package/dist/lib/node-esm/DeploymentDialog-EVFV2VJT.mjs.map +0 -7
  433. package/dist/lib/node-esm/NotebookContainer-QLW5ZYGS.mjs.map +0 -7
  434. package/dist/lib/node-esm/ScriptContainer-3DZ3BMHW.mjs +0 -150
  435. package/dist/lib/node-esm/ScriptContainer-3DZ3BMHW.mjs.map +0 -7
  436. package/dist/lib/node-esm/app-graph-builder-NVE3EVBG.mjs +0 -69
  437. package/dist/lib/node-esm/app-graph-builder-NVE3EVBG.mjs.map +0 -7
  438. package/dist/lib/node-esm/blueprint-definition-NC7NNJGI.mjs +0 -18
  439. package/dist/lib/node-esm/blueprint-definition-NC7NNJGI.mjs.map +0 -7
  440. package/dist/lib/node-esm/chunk-4F5FJZ36.mjs.map +0 -7
  441. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs +0 -33
  442. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +0 -7
  443. package/dist/lib/node-esm/chunk-KN6SQYUF.mjs +0 -114
  444. package/dist/lib/node-esm/chunk-KN6SQYUF.mjs.map +0 -7
  445. package/dist/lib/node-esm/chunk-MGWKULCD.mjs +0 -558
  446. package/dist/lib/node-esm/chunk-MGWKULCD.mjs.map +0 -7
  447. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs +0 -112
  448. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs.map +0 -7
  449. package/dist/lib/node-esm/chunk-VWOLKNMO.mjs +0 -271
  450. package/dist/lib/node-esm/chunk-VWOLKNMO.mjs.map +0 -7
  451. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs +0 -36
  452. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs.map +0 -7
  453. package/dist/lib/node-esm/chunk-YEWLTVBT.mjs +0 -138
  454. package/dist/lib/node-esm/chunk-YEWLTVBT.mjs.map +0 -7
  455. package/dist/lib/node-esm/chunk-ZQGHFNO3.mjs +0 -607
  456. package/dist/lib/node-esm/chunk-ZQGHFNO3.mjs.map +0 -7
  457. package/dist/lib/node-esm/compiler-ORJAXDN7.mjs +0 -162
  458. package/dist/lib/node-esm/compiler-ORJAXDN7.mjs.map +0 -7
  459. package/dist/lib/node-esm/operation-resolver-CLE4ZCC5.mjs +0 -83
  460. package/dist/lib/node-esm/operation-resolver-CLE4ZCC5.mjs.map +0 -7
  461. package/dist/lib/node-esm/react-surface-O3UDMKOQ.mjs +0 -140
  462. package/dist/lib/node-esm/react-surface-O3UDMKOQ.mjs.map +0 -7
  463. package/dist/lib/node-esm/settings-OFIMHU7K.mjs +0 -36
  464. package/dist/lib/node-esm/settings-OFIMHU7K.mjs.map +0 -7
  465. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
  466. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
  467. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
  468. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
  469. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +0 -1
  470. package/dist/types/src/capabilities/artifact-definition/index.d.ts +0 -3
  471. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +0 -1
  472. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -9
  473. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
  474. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
  475. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
  476. package/dist/types/src/capabilities/compiler/compiler.d.ts +0 -6
  477. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +0 -1
  478. package/dist/types/src/capabilities/compiler/index.d.ts +0 -3
  479. package/dist/types/src/capabilities/compiler/index.d.ts.map +0 -1
  480. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  481. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  482. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  483. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  484. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  485. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  486. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
  487. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  488. package/dist/types/src/capabilities/settings/index.d.ts +0 -7
  489. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  490. package/dist/types/src/capabilities/settings/settings.d.ts +0 -9
  491. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  492. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  493. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -249
  494. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  495. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  496. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  497. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  498. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  499. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  500. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  501. package/dist/types/src/components/NotebookContainer.d.ts +0 -8
  502. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  503. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  504. package/dist/types/src/components/ScriptContainer.d.ts +0 -11
  505. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  506. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  507. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  508. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -8
  509. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  510. package/dist/types/src/components/Settings/index.d.ts +0 -3
  511. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  512. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  513. package/dist/types/src/testing/data.d.ts +0 -3
  514. package/dist/types/src/testing/data.d.ts.map +0 -1
  515. package/dist/types/src/types/actions.d.ts +0 -40
  516. package/dist/types/src/types/actions.d.ts.map +0 -1
  517. package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -55
  518. package/src/capabilities/app-graph-builder/index.ts +0 -7
  519. package/src/capabilities/artifact-definition/index.ts +0 -7
  520. package/src/capabilities/blueprint-definition/blueprint-definition.ts +0 -23
  521. package/src/capabilities/blueprint-definition/index.ts +0 -7
  522. package/src/capabilities/compiler/index.ts +0 -7
  523. package/src/capabilities/operation-resolver/index.ts +0 -7
  524. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -74
  525. package/src/capabilities/react-surface/index.ts +0 -7
  526. package/src/capabilities/react-surface/react-surface.tsx +0 -118
  527. package/src/capabilities/settings/index.ts +0 -7
  528. package/src/components/DeploymentDialog/index.ts +0 -9
  529. package/src/components/FrameContainer/frame.html +0 -25
  530. package/src/components/FrameContainer/frame.tsx +0 -51
  531. package/src/components/Settings/ScriptObjectSettings.tsx +0 -309
  532. package/src/components/Settings/ScriptPluginSettings.tsx +0 -66
  533. package/src/components/Settings/index.ts +0 -6
  534. package/src/components/TestPanel/TestContainer.tsx +0 -27
  535. package/src/types/actions.ts +0 -45
  536. /package/dist/types/src/{components → containers/NotebookContainer}/NotebookContainer.stories.d.ts +0 -0
@@ -1,34 +1,27 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- NotebookMenu,
4
- NotebookStack
5
- } from "./chunk-VWOLKNMO.mjs";
6
- import "./chunk-SLU3KRV3.mjs";
7
- import {
8
- meta
9
- } from "./chunk-5HSJPAK7.mjs";
10
2
  import "./chunk-HSLMI22Q.mjs";
11
3
 
12
- // src/components/NotebookContainer.tsx
4
+ // src/containers/NotebookContainer/NotebookContainer.tsx
13
5
  import { RegistryContext } from "@effect-atom/atom-react";
14
6
  import * as Cause from "effect/Cause";
15
7
  import * as Effect from "effect/Effect";
16
8
  import * as Exit from "effect/Exit";
17
9
  import React, { useCallback, useContext, useMemo, useState } from "react";
18
- import { Agent } from "@dxos/assistant-toolkit";
19
- import { Blueprint, Prompt } from "@dxos/blueprints";
10
+ import { AgentPrompt } from "@dxos/assistant-toolkit";
11
+ import { Blueprint, Routine } from "@dxos/compute";
12
+ import { Operation } from "@dxos/compute";
20
13
  import { Filter, Obj, Query, Ref } from "@dxos/echo";
21
14
  import { QueryBuilder } from "@dxos/echo-query";
22
- import { FunctionInvocationService, TracingService } from "@dxos/functions";
23
15
  import { invariant as invariant2 } from "@dxos/invariant";
24
16
  import { log as log2 } from "@dxos/log";
25
- import { useComputeRuntimeCallback } from "@dxos/plugin-automation";
17
+ import { useComputeRuntimeCallback } from "@dxos/plugin-automation/hooks";
26
18
  import { Graph } from "@dxos/plugin-explorer/types";
27
- import { DropdownMenu, IconButton, Toolbar, useTranslation } from "@dxos/react-ui";
19
+ import { DropdownMenu, IconButton, Panel, Toolbar, useTranslation } from "@dxos/react-ui";
28
20
  import { useAttention } from "@dxos/react-ui-attention";
29
- import { Layout } from "@dxos/react-ui-mosaic";
30
- import { Text, View } from "@dxos/schema";
21
+ import { Text, ViewModel } from "@dxos/schema";
31
22
  import { isNonNullable } from "@dxos/util";
23
+ import { NotebookMenu, NotebookStack } from "#components";
24
+ import { meta } from "#meta";
32
25
 
33
26
  // src/notebook/compute-graph.ts
34
27
  import { Atom } from "@effect-atom/atom-react";
@@ -125,6 +118,7 @@ var VirtualTypeScriptParser = class {
125
118
  compilerOptions = {
126
119
  target: ts.ScriptTarget.ES2020,
127
120
  module: ts.ModuleKind.ESNext,
121
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
128
122
  strict: true,
129
123
  esModuleInterop: true,
130
124
  skipLibCheck: true,
@@ -136,15 +130,7 @@ var VirtualTypeScriptParser = class {
136
130
  * Parse a single expression or statement.
137
131
  */
138
132
  parseExpression(input) {
139
- invariant(input.trim() !== "", "input must not be empty", {
140
- F: __dxlog_file,
141
- L: 57,
142
- S: this,
143
- A: [
144
- "input.trim() !== ''",
145
- "'input must not be empty'"
146
- ]
147
- });
133
+ invariant(input.trim() !== "", "input must not be empty", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 34, S: this, A: ["input.trim() !== ''", "'input must not be empty'"] });
148
134
  const files = [
149
135
  {
150
136
  filename: "/temp.ts",
@@ -184,7 +170,9 @@ var VirtualTypeScriptParser = class {
184
170
  const typeChecker = env.languageService.getProgram()?.getTypeChecker();
185
171
  files.forEach((file) => {
186
172
  const sourceFile = env.getSourceFile(file.filename);
187
- if (!sourceFile || !typeChecker) return;
173
+ if (!sourceFile || !typeChecker) {
174
+ return;
175
+ }
188
176
  const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);
189
177
  results.push(...fileResults);
190
178
  });
@@ -268,7 +256,9 @@ var VirtualTypeScriptParser = class {
268
256
  * Extract parameter information from a signature.
269
257
  */
270
258
  extractParameters(signature, typeChecker) {
271
- if (!signature) return [];
259
+ if (!signature) {
260
+ return [];
261
+ }
272
262
  return signature.parameters.map((param) => ({
273
263
  name: param.getName(),
274
264
  type: typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(param, param.valueDeclaration))
@@ -456,24 +446,14 @@ var ComputeGraph = class {
456
446
  if (!expr) {
457
447
  log.error("no expression for cell", {
458
448
  cellId
459
- }, {
460
- F: __dxlog_file2,
461
- L: 105,
462
- S: this,
463
- C: (f, a) => f(...a)
464
- });
449
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 78, S: this });
465
450
  continue;
466
451
  }
467
452
  const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.source?.target?.content;
468
453
  if (!cellSource) {
469
454
  log.error("no source for cell", {
470
455
  cellId
471
- }, {
472
- F: __dxlog_file2,
473
- L: 111,
474
- S: this,
475
- C: (f, a) => f(...a)
476
- });
456
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 85, S: this });
477
457
  continue;
478
458
  }
479
459
  try {
@@ -501,12 +481,7 @@ var ComputeGraph = class {
501
481
  log.error("error evaluating cell", {
502
482
  cellId,
503
483
  error
504
- }, {
505
- F: __dxlog_file2,
506
- L: 147,
507
- S: this,
508
- C: (f, a) => f(...a)
509
- });
484
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 120, S: this });
510
485
  }
511
486
  }
512
487
  this._registry.set(this._valuesByCellIdAtom, valuesByCellId);
@@ -570,17 +545,17 @@ var ComputeGraph = class {
570
545
  }
571
546
  };
572
547
 
573
- // src/components/NotebookContainer.tsx
574
- var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/NotebookContainer.tsx";
548
+ // src/containers/NotebookContainer/NotebookContainer.tsx
549
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/containers/NotebookContainer/NotebookContainer.tsx";
575
550
  var INCLUDE_BLUEPRINTS = [
576
- "dxos.org/blueprint/assistant",
577
- "dxos.org/blueprint/markdown"
551
+ "org.dxos.blueprint.assistant",
552
+ "org.dxos.blueprint.database",
553
+ "org.dxos.blueprint.markdown"
578
554
  ];
579
- var NotebookContainer = ({ role, subject: notebook, env }) => {
555
+ var NotebookContainer = ({ role, subject: notebook, attendableId, env }) => {
580
556
  const { t } = useTranslation(meta.id);
581
557
  const registry = useContext(RegistryContext);
582
- const db = notebook && Obj.getDatabase(notebook);
583
- const attendableId = notebook ? Obj.getDXN(notebook).toString() : "";
558
+ const db = Obj.getDatabase(notebook);
584
559
  const { hasAttention } = useAttention(attendableId);
585
560
  const graph = useMemo(() => notebook && new ComputeGraph(notebook, registry), [
586
561
  notebook,
@@ -588,15 +563,7 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
588
563
  ]);
589
564
  const [queryValues, setQueryValues] = useState({});
590
565
  const handleExecQueries = useCallback(async () => {
591
- invariant2(db, void 0, {
592
- F: __dxlog_file3,
593
- L: 53,
594
- S: void 0,
595
- A: [
596
- "db",
597
- ""
598
- ]
599
- });
566
+ invariant2(db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 43, S: void 0, A: ["db", ""] });
600
567
  const builder = new QueryBuilder();
601
568
  for (const cell of notebook?.cells ?? []) {
602
569
  if (cell.type === "query") {
@@ -607,7 +574,7 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
607
574
  const ast = Query.select(filter).ast;
608
575
  const graph2 = cell.graph?.target;
609
576
  if (!graph2) {
610
- const { view } = await View.makeFromDatabase({
577
+ const { view } = await ViewModel.makeFromDatabase({
611
578
  db
612
579
  });
613
580
  const newGraph = Graph.make({
@@ -616,16 +583,16 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
616
583
  },
617
584
  view
618
585
  });
619
- Obj.change(notebook, (n) => {
620
- const c = n.cells.find((c2) => c2.id === cell.id);
586
+ Obj.update(notebook, (obj) => {
587
+ const c = obj.cells.find((c2) => c2.id === cell.id);
621
588
  if (c) {
622
589
  c.graph = Ref.make(newGraph);
623
590
  c.name = name;
624
591
  }
625
592
  });
626
593
  } else {
627
- Obj.change(graph2, () => {
628
- graph2.query.ast = ast;
594
+ Obj.update(graph2, (graph3) => {
595
+ graph3.query.ast = ast;
629
596
  });
630
597
  }
631
598
  }
@@ -649,15 +616,7 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
649
616
  ]);
650
617
  const [promptResults, setPromptResults] = useState({});
651
618
  const handleExecPrompts = useComputeRuntimeCallback(db?.spaceId, Effect.fnUntraced(function* () {
652
- invariant2(graph, void 0, {
653
- F: __dxlog_file3,
654
- L: 97,
655
- S: this,
656
- A: [
657
- "graph",
658
- ""
659
- ]
660
- });
619
+ invariant2(graph, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 96, S: this, A: ["graph", ""] });
661
620
  const prompts = notebook?.cells.filter((cell) => cell.type === "prompt").map((cell) => cell.prompt).filter(isNonNullable) ?? [];
662
621
  for (const prompt of prompts) {
663
622
  yield* runPrompt({
@@ -687,22 +646,14 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
687
646
  handleExecPrompts
688
647
  ]);
689
648
  const handleRearrange = useCallback((source, target) => {
690
- invariant2(notebook, void 0, {
691
- F: __dxlog_file3,
692
- L: 130,
693
- S: void 0,
694
- A: [
695
- "notebook",
696
- ""
697
- ]
698
- });
649
+ invariant2(notebook, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 128, S: void 0, A: ["notebook", ""] });
699
650
  const from = notebook.cells.findIndex((cell) => cell.id === source.id);
700
651
  const to = notebook.cells.findIndex((cell) => cell.id === target.id);
701
652
  if (from != null && to != null) {
702
- Obj.change(notebook, (n) => {
703
- const cell = n.cells.splice(from, 1)[0];
653
+ Obj.update(notebook, (notebook2) => {
654
+ const cell = notebook2.cells.splice(from, 1)[0];
704
655
  if (cell) {
705
- n.cells.splice(to, 0, cell);
656
+ notebook2.cells.splice(to, 0, cell);
706
657
  }
707
658
  });
708
659
  }
@@ -710,15 +661,7 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
710
661
  notebook
711
662
  ]);
712
663
  const handleCellInsert = useCallback(async (type, after) => {
713
- invariant2(notebook, void 0, {
714
- F: __dxlog_file3,
715
- L: 147,
716
- S: void 0,
717
- A: [
718
- "notebook",
719
- ""
720
- ]
721
- });
664
+ invariant2(notebook, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 143, S: void 0, A: ["notebook", ""] });
722
665
  const cell = {
723
666
  id: crypto.randomUUID(),
724
667
  type
@@ -734,7 +677,7 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
734
677
  if (db) {
735
678
  const objects = await db.query(Query.select(Filter.type(Blueprint.Blueprint))).run();
736
679
  const blueprints = objects.filter((blueprint) => INCLUDE_BLUEPRINTS.includes(blueprint.key)).map((blueprint) => Ref.make(blueprint));
737
- cell.prompt = Ref.make(Prompt.make({
680
+ cell.prompt = Ref.make(Routine.make({
738
681
  instructions: "",
739
682
  blueprints
740
683
  }));
@@ -743,57 +686,48 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
743
686
  }
744
687
  }
745
688
  const idx = after ? notebook.cells.findIndex((cell2) => cell2.id === after) : notebook.cells.length;
746
- Obj.change(notebook, (n) => {
747
- n.cells.splice(idx, 0, cell);
689
+ Obj.update(notebook, (notebook2) => {
690
+ notebook2.cells.splice(idx, 0, cell);
748
691
  });
749
692
  }, [
750
693
  db,
751
694
  notebook
752
695
  ]);
753
696
  const handleCellDelete = useCallback((id) => {
754
- invariant2(notebook, void 0, {
755
- F: __dxlog_file3,
756
- L: 179,
757
- S: void 0,
758
- A: [
759
- "notebook",
760
- ""
761
- ]
762
- });
697
+ invariant2(notebook, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 178, S: void 0, A: ["notebook", ""] });
763
698
  const idx = notebook.cells.findIndex((cell) => cell.id === id);
764
699
  if (idx !== -1) {
765
- Obj.change(notebook, (n) => {
766
- n.cells.splice(idx, 1);
700
+ Obj.update(notebook, (notebook2) => {
701
+ notebook2.cells.splice(idx, 1);
767
702
  });
768
703
  }
769
704
  }, [
770
705
  notebook
771
706
  ]);
772
- return /* @__PURE__ */ React.createElement(Layout.Main, {
707
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
773
708
  role,
774
- toolbar: true
709
+ className: "dx-document"
710
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
711
+ asChild: true
775
712
  }, /* @__PURE__ */ React.createElement(Toolbar.Root, {
776
- disabled: !hasAttention,
777
- textBlockWidth: true
713
+ disabled: !hasAttention
778
714
  }, /* @__PURE__ */ React.createElement(DropdownMenu.Root, null, /* @__PURE__ */ React.createElement(DropdownMenu.Trigger, {
779
715
  asChild: true
780
716
  }, /* @__PURE__ */ React.createElement(IconButton, {
781
717
  icon: "ph--plus--regular",
782
718
  iconOnly: true,
783
- label: t("notebook cell insert label")
719
+ label: t("notebook-cell-insert.label")
784
720
  })), /* @__PURE__ */ React.createElement(NotebookMenu, {
785
721
  onCellInsert: handleCellInsert
786
722
  })), /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
787
723
  icon: "ph--play--fill",
788
724
  iconOnly: true,
789
- label: t("compute label"),
790
- classNames: "text-green-500",
725
+ label: t("compute.label"),
726
+ classNames: "text-success-text",
791
727
  onClick: handleCompute
792
- })), /* @__PURE__ */ React.createElement("div", {
793
- role: "none",
794
- className: "flex bs-full overflow-hidden -mis-[1px] -mie-[1px]"
728
+ }))), /* @__PURE__ */ React.createElement(Panel.Content, {
729
+ asChild: true
795
730
  }, /* @__PURE__ */ React.createElement(NotebookStack, {
796
- classNames: "container-max-width border-l border-r border-subduedSeparator",
797
731
  db,
798
732
  notebook,
799
733
  graph,
@@ -804,43 +738,24 @@ var NotebookContainer = ({ role, subject: notebook, env }) => {
804
738
  onCellDelete: handleCellDelete
805
739
  })));
806
740
  };
807
- var NotebookContainer_default = NotebookContainer;
808
741
  var runPrompt = Effect.fn(function* ({ prompt, input, onResult }) {
809
742
  const inputData = {
810
743
  prompt,
811
744
  input
812
745
  };
813
- const tracer = yield* TracingService;
814
- const trace = yield* tracer.traceInvocationStart({
815
- target: void 0,
816
- payload: {
817
- data: {}
818
- }
819
- });
820
- const result = yield* FunctionInvocationService.invokeFunction(Agent.prompt, inputData).pipe(Effect.provide(trace.invocationTraceQueue ? TracingService.layerInvocation(trace) : TracingService.layerNoop), Effect.exit);
746
+ const result = yield* Operation.invoke(AgentPrompt, inputData).pipe(Effect.orDie, Effect.exit);
821
747
  Exit.match(result, {
822
748
  onFailure: (cause) => {
823
749
  const error = Cause.prettyErrors(cause)[0];
824
- log2.error(error.message, error.cause ?? error.stack, {
825
- F: __dxlog_file3,
826
- L: 257,
827
- S: this,
828
- C: (f, a) => f(...a)
829
- });
750
+ log2.error(error.message, error.cause ?? error.stack, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 233, S: this });
830
751
  onResult(error.message);
831
752
  },
832
753
  onSuccess: (result2) => {
833
754
  onResult(result2.note);
834
755
  }
835
756
  });
836
- yield* tracer.traceInvocationEnd({
837
- trace,
838
- // TODO(dmaretskyi): Might miss errors.
839
- exception: Exit.isFailure(result) ? Cause.prettyErrors(result.cause)[0] : void 0
840
- });
841
757
  });
842
758
  export {
843
- NotebookContainer,
844
- NotebookContainer_default as default
759
+ NotebookContainer as default
845
760
  };
846
- //# sourceMappingURL=NotebookContainer-QLW5ZYGS.mjs.map
761
+ //# sourceMappingURL=NotebookContainer-DPT65MA7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/NotebookContainer/NotebookContainer.tsx", "../../../src/notebook/compute-graph.ts", "../../../src/notebook/eval.ts", "../../../src/notebook/vfs-parser.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { RegistryContext } from '@effect-atom/atom-react';\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport type * as Types from 'effect/Types';\nimport React, { useCallback, useContext, useMemo, useState } from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { AgentPrompt } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { QueryBuilder } from '@dxos/echo-query';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { useComputeRuntimeCallback } from '@dxos/plugin-automation/hooks';\nimport { Graph } from '@dxos/plugin-explorer/types';\nimport { DropdownMenu, IconButton, Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { Text, ViewModel } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { NotebookMenu, NotebookStack, type NotebookStackProps, type TypescriptEditorProps } from '#components';\nimport { meta } from '#meta';\nimport { type Notebook } from '#types';\n\nimport { ComputeGraph } from '../../notebook';\n\nconst INCLUDE_BLUEPRINTS = [\n 'org.dxos.blueprint.assistant',\n 'org.dxos.blueprint.database',\n 'org.dxos.blueprint.markdown',\n];\n\n// TODO(burdon): Support calling named deployed functions (as with sheet).\n\nexport type NotebookContainerProps = AppSurface.ObjectArticleProps<\n Notebook.Notebook,\n Pick<TypescriptEditorProps, 'env'>\n>;\n\nexport const NotebookContainer = ({ role, subject: notebook, attendableId, env }: NotebookContainerProps) => {\n const { t } = useTranslation(meta.id);\n const registry = useContext(RegistryContext);\n const db = Obj.getDatabase(notebook);\n const { hasAttention } = useAttention(attendableId);\n\n // TODO(burdon): Consolidate execution and state (with graph).\n // Generalize ComputeGraph evaluation function (using effects).\n const graph = useMemo(() => notebook && new ComputeGraph(notebook, registry), [notebook, registry]);\n\n const [queryValues, setQueryValues] = useState<Record<string, any>>({});\n const handleExecQueries = useCallback(async () => {\n invariant(db);\n\n const builder = new QueryBuilder();\n for (const cell of notebook?.cells ?? []) {\n if (cell.type === 'query') {\n if (cell.source?.target) {\n const source = cell.source.target.content;\n const { name, filter } = builder.build(source);\n if (filter) {\n const ast = Query.select(filter).ast;\n const graph = cell.graph?.target;\n if (!graph) {\n const { view } = await ViewModel.makeFromDatabase({ db });\n const newGraph = Graph.make({ query: { ast }, view });\n Obj.update(notebook!, (obj) => {\n const c = obj.cells.find((c) => c.id === cell.id);\n if (c) {\n c.graph = Ref.make(newGraph);\n c.name = name;\n }\n });\n } else {\n Obj.update(graph, (graph) => {\n graph.query.ast = ast as Obj.Mutable<typeof ast>;\n });\n }\n }\n }\n\n if (cell.name && cell.graph?.target) {\n const graph = Obj.getSnapshot(cell.graph?.target);\n const query = Query.fromAst(graph.query.ast);\n const objects = await db.query(query).run();\n const objectIds = objects?.map((obj) => obj.id);\n setQueryValues((prev) => ({ ...prev, [cell.name!]: objectIds }));\n }\n }\n }\n }, [db, notebook, graph]);\n\n const [promptResults, setPromptResults] = useState<Record<string, string>>({});\n const handleExecPrompts = useComputeRuntimeCallback(\n db?.spaceId,\n Effect.fnUntraced(function* () {\n invariant(graph);\n\n const prompts =\n notebook?.cells\n .filter((cell) => cell.type === 'prompt')\n .map((cell) => cell.prompt)\n .filter(isNonNullable) ?? [];\n\n for (const prompt of prompts) {\n yield* runPrompt({\n prompt,\n input: { ...queryValues, ...graph.getValuesByName() },\n onResult: (result) =>\n setPromptResults((prev) => ({\n ...prev,\n [prompt.dxn.toString()]: result,\n })),\n });\n }\n }),\n [notebook, graph, queryValues],\n );\n\n // TODO(burdon): Cache values in context (preserve when switched).\n const handleCompute = useCallback(async () => {\n // TODO(burdon): Generalize executors (dependencies).\n await graph?.evaluate();\n await handleExecQueries();\n await handleExecPrompts();\n }, [graph, handleExecQueries, handleExecPrompts]);\n\n const handleRearrange = useCallback<NonNullable<NotebookStackProps['onRearrange']>>(\n (source, target) => {\n invariant(notebook);\n const from = notebook.cells.findIndex((cell) => cell.id === source.id);\n const to = notebook.cells.findIndex((cell) => cell.id === target.id);\n if (from != null && to != null) {\n Obj.update(notebook, (notebook) => {\n const cell = notebook.cells.splice(from, 1)[0];\n if (cell) {\n notebook.cells.splice(to, 0, cell);\n }\n });\n }\n },\n [notebook],\n );\n\n const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(\n async (type, after) => {\n invariant(notebook);\n const cell: Types.Mutable<Notebook.Cell> = { id: crypto.randomUUID(), type };\n switch (type) {\n case 'markdown':\n case 'script':\n case 'query': {\n cell.source = Ref.make(Text.make());\n break;\n }\n\n case 'prompt': {\n if (db) {\n const objects = await db.query(Query.select(Filter.type(Blueprint.Blueprint))).run();\n const blueprints = objects\n .filter((blueprint) => INCLUDE_BLUEPRINTS.includes(blueprint.key))\n .map((blueprint) => Ref.make(blueprint));\n cell.prompt = Ref.make(Routine.make({ instructions: '', blueprints }));\n }\n break;\n }\n }\n\n const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;\n Obj.update(notebook, (notebook) => {\n notebook.cells.splice(idx, 0, cell);\n });\n },\n [db, notebook],\n );\n\n const handleCellDelete = useCallback<NonNullable<NotebookStackProps['onCellDelete']>>(\n (id) => {\n invariant(notebook);\n const idx = notebook.cells.findIndex((cell) => cell.id === id);\n if (idx !== -1) {\n Obj.update(notebook, (notebook) => {\n notebook.cells.splice(idx, 1);\n });\n }\n },\n [notebook],\n );\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention}>\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton icon='ph--plus--regular' iconOnly label={t('notebook-cell-insert.label')} />\n </DropdownMenu.Trigger>\n <NotebookMenu onCellInsert={handleCellInsert} />\n </DropdownMenu.Root>\n <Toolbar.IconButton\n icon='ph--play--fill'\n iconOnly\n label={t('compute.label')}\n classNames='text-success-text'\n onClick={handleCompute}\n />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content asChild>\n <NotebookStack\n db={db}\n notebook={notebook}\n graph={graph}\n env={env}\n promptResults={promptResults}\n onRearrange={handleRearrange}\n onCellInsert={handleCellInsert}\n onCellDelete={handleCellDelete}\n />\n </Panel.Content>\n </Panel.Root>\n );\n};\n\n// TODO(wittjosiah): Factor out. Copied from PromptArticle in plugin-assistant.\nconst runPrompt = Effect.fn(function* ({\n prompt,\n input,\n onResult,\n}: {\n prompt: Ref.Ref<Routine.Routine>;\n input: Record<string, any>;\n onResult: (result: string) => void;\n}) {\n const inputData: Operation.Definition.Input<typeof AgentPrompt> = { prompt, input };\n // Invoke the function.\n const result = yield* Operation.invoke(AgentPrompt, inputData).pipe(Effect.orDie, Effect.exit);\n\n Exit.match(result, {\n onFailure: (cause) => {\n const error = Cause.prettyErrors(cause)[0];\n log.error(error.message, error.cause ?? error.stack);\n onResult(error.message);\n },\n onSuccess: (result: any) => {\n onResult(result.note);\n },\n });\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, type Registry } from '@effect-atom/atom-react';\n\nimport { log } from '@dxos/log';\n\nimport { type Notebook } from '#types';\n\nimport { evalScript } from './eval';\nimport { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';\n\n/**\n * Compute graph that evaluates the notebook cells.\n */\n// TODO(burdon): Reconcile with @dxos/conductor.\nexport class ComputeGraph {\n private readonly _parser = new VirtualTypeScriptParser();\n\n private _expressionsAtom = Atom.make<Record<string, ParsedExpression>>({});\n private _valuesByCellIdAtom = Atom.make<Record<string, any>>({});\n private _valuesByNameAtom = Atom.make<Record<string, any>>({});\n\n constructor(\n private readonly _notebook: Notebook.Notebook,\n private readonly _registry: Registry.Registry,\n ) {}\n\n /**\n * Atom for parsed expressions by cell ID.\n */\n get expressions(): Atom.Atom<Record<string, ParsedExpression>> {\n return this._expressionsAtom;\n }\n\n /**\n * Get current expressions by cell ID.\n */\n getExpressions(): Record<string, ParsedExpression> {\n return this._registry.get(this._expressionsAtom);\n }\n\n /**\n * Atom for computed values by cell ID.\n */\n get values(): Atom.Atom<Record<string, any>> {\n return this._valuesByCellIdAtom;\n }\n\n /**\n * Get computed values by cell ID.\n */\n getValues(): Record<string, any> {\n return this._registry.get(this._valuesByCellIdAtom);\n }\n\n /**\n * Atom for computed values by name.\n */\n get valuesByName(): Atom.Atom<Record<string, any>> {\n return this._valuesByNameAtom;\n }\n\n /**\n * Get current values by name.\n */\n getValuesByName(): Record<string, any> {\n return this._registry.get(this._valuesByNameAtom);\n }\n\n /**\n * Get computed value by cell ID.\n */\n getValue(cellId: string): any {\n return this._registry.get(this._valuesByCellIdAtom)[cellId];\n }\n\n /**\n * Compute values.\n */\n async evaluate() {\n // Parse expressions.\n const { expressions, dependencyGraph } = this.parse();\n this._registry.set(this._valuesByCellIdAtom, {});\n this._registry.set(this._valuesByNameAtom, {});\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)?.source?.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 = await this.eval(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 = await this.eval(cellSource, valuesByName);\n valuesByCellId[cellId] = result;\n }\n } catch (error) {\n // TODO(burdon): Set error state.\n log.error('error evaluating cell', { cellId, error });\n }\n }\n\n this._registry.set(this._valuesByCellIdAtom, valuesByCellId);\n this._registry.set(this._valuesByNameAtom, valuesByName);\n return valuesByCellId;\n }\n\n private async eval(source: string, values: Record<string, any>) {\n return evalScript(source, values);\n }\n\n /**\n * Parse expressions.\n */\n parse() {\n const expressions = this._notebook.cells\n .filter((cell) => cell.type === 'script')\n .reduce<Record<string, ParsedExpression>>((acc, cell) => {\n const text = cell.source?.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._registry.set(this._expressionsAtom, 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// Copyright 2025 DXOS.org\n//\n\nimport { trim } from '@dxos/util';\n\n/**\n * Evaluate the script (with dependencies as arguments).\n */\nexport const evalScript = async (code: string, deps: Record<string, any> = {}) => {\n // Create a sandboxed environment that blocks access to window and document.\n const sandbox = {\n ...deps,\n\n // Block access to global objects.\n console: undefined,\n document: undefined,\n global: undefined,\n globalThis: undefined,\n self: undefined,\n window: undefined,\n\n // Allow some safe globals.\n Array,\n Boolean,\n Date,\n Error,\n JSON,\n Map,\n Math,\n Number,\n Object,\n Promise,\n RegExp,\n Set,\n String,\n\n // Functions.\n isFinite,\n isNaN,\n parseFloat,\n parseInt,\n\n // Note: undefined and null are not included as they are keywords, not variables.\n };\n\n // Create function with all sandbox keys as parameters.\n const sandboxKeys = Object.keys(sandbox);\n const sandboxValues = Object.values(sandbox);\n\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const fn = new Function(\n ...sandboxKeys,\n trim`\n 'use strict';\n return ${code};\n `,\n );\n\n return fn(...sandboxValues);\n};\n\n/**\n * Globals.\n */\nexport const builtIns = new Set([\n // Types.\n 'Array',\n 'Date',\n 'Error',\n 'JSON',\n 'Map',\n 'Math',\n 'Number',\n 'Object',\n 'Promise',\n 'RegExp',\n 'Set',\n 'String',\n\n // Functions.\n 'isFinite',\n 'isNaN',\n 'parseFloat',\n 'parseInt',\n]);\n\n/**\n * Default system definitions.\n */\nexport const systemDefinitions = 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\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n\n declare var console: { log(...args: any[]): void };\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';\n\nimport { builtIns, systemDefinitions } from './eval';\n\n/**\n * Default system definitions.\n */\nconst systemFiles: VirtualFile[] = [\n {\n filename: '/lib.d.ts',\n content: systemDefinitions,\n },\n];\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 moduleResolution: ts.ModuleResolutionKind.Bundler,\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 }]);\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);\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) {\n return;\n }\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) {\n return [];\n }\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 = (node: ts.Node) => {\n if (ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {\n node.parameters.forEach((param) => {\n if (ts.isIdentifier(param.name)) {\n localSymbols.add(param.name.text);\n }\n });\n }\n\n if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name)) {\n localSymbols.add(node.name.text);\n }\n\n ts.forEachChild(node, collectLocalSymbols);\n };\n\n collectLocalSymbols(node);\n\n // Then find all identifier references.\n const findRefs = (node: ts.Node) => {\n if (ts.isIdentifier(node)) {\n // Skip if it's a local symbol.\n if (!localSymbols.has(node.text)) {\n // Check if it's a reference (not 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 if (!isDeclaration && !this.isBuiltIn(node.text)) {\n references.add(node.text);\n }\n }\n }\n ts.forEachChild(node, 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 allFiles = [...systemFiles, ...files];\n\n const fileMap = new Map<string, string>();\n allFiles.forEach(({ filename, content }) => {\n fileMap.set(filename, content);\n });\n\n const system = createSystem(fileMap);\n return createVirtualTypeScriptEnvironment(\n system,\n allFiles.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);\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) {\n previousExports.add(exp.name);\n }\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"],
5
+ "mappings": ";;;;AAIA,SAASA,uBAAuB;AAChC,YAAYC,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,UAAU;AAEtB,OAAOC,SAASC,aAAaC,YAAYC,SAASC,gBAAgB;AAGlE,SAASC,mBAAmB;AAC5B,SAASC,WAAWC,eAAe;AACnC,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,KAAKC,OAAOC,WAAW;AACxC,SAASC,oBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,OAAAA,YAAW;AACpB,SAASC,iCAAiC;AAC1C,SAASC,aAAa;AACtB,SAASC,cAAcC,YAAYC,OAAOC,SAASC,sBAAsB;AACzE,SAASC,oBAAoB;AAC7B,SAASC,MAAMC,iBAAiB;AAChC,SAASC,qBAAqB;AAE9B,SAASC,cAAcC,qBAA0E;AACjG,SAASC,YAAY;;;ACvBrB,SAASC,YAA2B;AAEpC,SAASC,WAAW;;;ACFpB,SAASC,YAAY;AAKd,IAAMC,aAAa,OAAOC,MAAcC,OAA4B,CAAC,MAAC;AAE3E,QAAMC,UAAU;IACd,GAAGD;;IAGHE,SAASC;IACTC,UAAUD;IACVE,QAAQF;IACRG,YAAYH;IACZI,MAAMJ;IACNK,QAAQL;;IAGRM;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;;IAGAC;IACAC;IACAC;IACAC;EAGF;AAGA,QAAMC,cAAcT,OAAOU,KAAK1B,OAAAA;AAChC,QAAM2B,gBAAgBX,OAAOY,OAAO5B,OAAAA;AAGpC,QAAM6B,MAAK,IAAIC,SAAAA,GACVL,aACH7B;;eAEWE,IAAAA;KACV;AAGH,SAAO+B,IAAAA,GAAMF,aAAAA;AACf;AAKO,IAAMI,WAAW,oBAAIZ,IAAI;;EAE9B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAGA;EACA;EACA;EACA;CACD;AAKM,IAAMa,oBAAoBpC;;;;;;;;;;;;;;;;;ACtFjC,SAASqC,cAAcC,0CAA0C;AACjE,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;AAI1B,IAAA,eAAA;IAKIC,cAAU;;IAEZ,UAAA;IACD,SAAA;EAiBD;;AAMIC,IAAQC,0BAARD,MAA8B;oBACnBE;IACXC,QAAAA,GAAAA,aAAqBC;IACrBC,QAAQ,GAAA,WAAA;IACRC,kBAAiB,GAAA,qBAAA;IACjBC,QAAAA;IACAC,iBAAAA;IACAC,cAAQC;IACRC,kCAAO;IACP,KAAA,GAAA,QAAA;IAEF,OAAA;;;;;kBAK+B,OAAA;cAAC,MAAA,KAAA,MAAA,IAAA,2BAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,uBAAA,2BAAA,EAAA,CAAA;kBAAEZ;;QAAqC,UAAA;QAAE,SAAA;MACvE;IAEA;AACA,UAAIa,WAASC,KAAM,aAAQ,KAAA;QAEzB,SAAMC,WAAWC,GAAAA;YAAmB,iBAAA;kBAAEhB,KAAAA,kBAAUiB;;UAA+B,UAAA;UAAE,SAAA;QACjF;MACA,CAAA;AAEA,YAAIC,aAAcC,IAAAA,cAAa,cAAA;YAC7B,cAAA,IAAA,gBAAoC,WAAA,GAAA,eAAA;UACpC,cAAMC,aAAqB;cAEzB,iBAAOA,KAAAA,yBAAAA,YAAAA,WAAAA;AACT,YAAA,gBAAA;AAEA,iBAAMC;QACN;cAASA,aAAAA,KAAAA,kBAAAA,YAAAA,WAAAA;AAAW,eAAA;UACtB;QACF;MAEA;IACF;AAEA,WAAA,SAAA,CAAA;;;;;eAKQC,OAAgC;AACtC,UAAMH,MAAAA,KAAAA,kBAAkBI,KAAgBC;AAExC,UAAA,UAAA,CAAA;AACAC,UAAMC,cAASC,IAAAA,gBAAAA,WAAAA,GAAAA,eAAAA;UAEb,QAAKT,CAAAA,SAAAA;YACH,aAAA,IAAA,cAAA,KAAA,QAAA;AACF,UAAA,CAAA,cAAA,CAAA,aAAA;AAEA;MACAI;AACF,YAAA,cAAA,KAAA,kBAAA,YAAA,WAAA;AAEA,cAAOA,KAAAA,GAAAA,WAAAA;IACT,CAAA;AAEA,WAAA;;;;;oBAMiBM,YAAAA,aAAAA;UACb,UAAA,CAAA;UACA,QAAOC,CAAAA,SAAAA;UAEL,GAAA,sBAAuBV,IAAAA,KAAAA,KAAYW,MAAAA;AACnC,cAAMC,SAAAA,YAAoBZ,oBAAYa,KAAAA,IAAAA;AAEtCV,cAAAA,OAAa,UAAA,YAAA,0BAAA,QAAA,IAAA;cACXW,YAAWA,QAAS,YAAA,oBAAA,MAAA,GAAA,cAAA,IAAA,EAAA,CAAA;gBACpBC,KAAM;UACNC,MAAAA,KAAAA,KAAgB;UAChBC,MAAAA;UACAf,YAAY,KAAKgB,kBAAeT,WAAMV,WAAYC;UACpD,YAAA,YAAA,YAAA,aAAA,UAAA,cAAA,CAAA,IAAA;UAIG,YAAOmB,KAAAA,eAAoBV,MAAO,YAAA,WAAA;QACrCA,CAAAA;iBACE,GAAI1B,oBAAgBqC,IAAAA,GAAYN;6BACxBO,aAASrB,QAAYsB,CAAAA,gBAAoBF;cAC/C,GAAA,aAAaC,YAAUrB,IAAAA,GAAYW;AAEnC,kBAAIY,SAAgC,YAAA,oBAAA,YAAA,IAAA;AACpC,kBAAIP,OAAAA,UAAAA,YAAAA,0BAAAA,QAAAA,WAAAA;AACJ,gBAAIC,OAAAA;AACJ,gBAAIO;AAEJ,gBAAA;AACA,gBAAA;AAGA,kBAAIJ,aAAYK,OAAAA,YAAa,aAAA,IAAA,IAAA;4BAElB,aAAA;kBACP,GAAA,gBAAiBzB,YAAY0B,WAAAA,KAAkBN,GAAAA,qBAAuB,YAAA,WAAA,GAAA;AACtE,uBAAMR;AACN,sBAAIA,WAAW,YAAA,kBAAA,YAAA,WAAA;sBACbI,YAAa,YAAKW,oBAAkBf,UAAWZ,GAAAA,cAAAA,IAAAA,EAAAA,CAAAA;oBAC/CiB,WAAAA;AACF,+BAAA,KAAA,kBAAA,WAAA,WAAA;AACK,+BAAA,YAAA,aAAA,UAAA,cAAA,CAAA;gBACL;qBACA;AAEA,oBAAA,GAAO,iBAAOW,YAAgBR,WAAYK,GAAAA;AACxCD,0BAAQJ,OAAAA,YAAYK,YAAgB,IAAA;gBACtC,WAAA,GAAA,gBAAA,YAAA,WAAA,GAAA;AACF,0BAAA,YAAA,YAAA;gBACF;cAEA;YACA;kBAKEX,OAAMM,YAAYN,cAAS,KAAA,eAAA,YAAA,aAAA,YAAA,WAAA,IAAA,CAAA;oBAC3BC,KAAMQ;cACNM,MAAAA,YAAWC,KAAAA;cACXN,MAAAA;cACAR,WAAAA;cACAC;cACAf;cACF;cACF,YAAA;YACF,CAAA;UAIG;QACHC,CAAAA;iBACEW,GAAML,mBAAc,IAAA,KAAA,KAAA,MAAA;gBACpBM,KAAM;UACNb,MAAAA,KAAAA,KAAgB;UAClB,MAAA;UAIG,YAAO6B,KAAAA,eAAuBtB,MAAO,YAAA,WAAA;QACxCN,CAAAA;iBACEW,GAAML,uBAAc,IAAA,GAAA;gBACpBM,KAAM;UACNb,MAAAA,KAAAA,KAAgB;UAClB,MAAA;UACF,YAAA,KAAA,eAAA,MAAA,YAAA,WAAA;QAEG8B,CAAAA;MACL;AAEAC,SAAMlC,aAAAA,MAAAA,KAAAA;IACN;AACF,UAAA,UAAA;AAEA,WAAA;;;;;oBAQa,WAAA,aAAA;AACX,QAAA,CAAA,WAAA;AAEA,aAAOa,CAAAA;;qBAECZ,WAAYkC,IAAAA,CAAAA,WAAalC;MACjC,MAAA,MAAA,QAAA;MACF,MAAA,YAAA,aAAA,YAAA,0BAAA,OAAA,MAAA,gBAAA,CAAA;IAEA,EAAA;;;;;iBAKQmC,MAAAA,aAAmBC,cAAAA;AAEzB,UAAA,aAAA,oBAAA,IAAA;AACA,UAAMC,eAAAA,oBAAAA,IAAuB5B;gCAETF,CAAAA,UAAS+B;mCACHA,KAAAA,KAAU,GAAG,gBAAA7B,KAAA,KAAA,GAAA,qBAAAA,KAAA,GAAA;yBAC/B0B,QAAgB,CAACG,UAAMxB;AACzB,cAAA,GAAA,aAAA,MAAA,IAAA,GAAA;AACF,yBAAA,IAAA,MAAA,KAAA,IAAA;UACF;QAEI/B,CAAAA;;AAEJ,UAAA,GAAA,sBAAA0B,KAAA,KAAA,GAAA,aAAAA,MAAA,IAAA,GAAA;AAEGuB,qBAAavB,IAAAA,MAAM4B,KAAAA,IAAAA;MACxB;AAEAA,SAAAA,aAAoB5B,OAAAA,mBAAAA;IAEpB;AACA,wBAAkBA,IAAAA;qBAEd,CAAAA,UAAA;UACA,GAAA,aAAK0B,KAAaI,GAAI9B;YAEpB,CAAA,aAAM+B,IAAS/B,MAAK+B,IAAM,GAAA;AAM1B,gBAAKC,SAAAA,MAAAA;gBACHvC,gBAAeO,GAAKiC,sBAAI,MAAA,KAAA,OAAA,SAAAjC,SAAA,GAAA,sBAAA,MAAA,KAAA,OAAA,SAAAA,SAAA,GAAA,YAAA,MAAA,KAAA,OAAA,SAAAA;AAC1B,cAAA,CAAA,iBAAA,CAAA,KAAA,UAAAA,MAAA,IAAA,GAAA;AACF,uBAAA,IAAAA,MAAA,IAAA;UACF;QACGuB;MACL;AAEAW,SAAAA,aAASlC,OAAAA,QAAAA;IACT;AACF,aAAA,IAAA;AAEA,WAAA,MAAA,KAAA,UAAA;;;;;EAKA,UAAA,MAAA;AAEA,WAAA,SAAA,IAAA,IAAA;;;;;2BAMiBA,YAAAA,aAAAA;QACb,SAAOmC;kBACCC,CAAAA,SAAOpC;UACb,GAAA,sBAAuBc,IAAI,KAAKxC,GAAG+D,mBAAWC,KAAehE,UAAGiE,GAAAA;cAC9D,OAAMjC,KAAOf;YACb,KAAA,cAAmBA,SAAAA,GAAYkC,WAAAA,eAAanB,GAAAA,aAAAA,KAAAA,IAAAA,GAAAA;AAE5C,gBAAA,OAAA,YAAA,kBAA2C,KAAA,KAAA;AAC3C,gBAAIS,aAAAA,YAAAA,aAAAA,IAAAA;cAEFA;AACF,cAAA,GAAO,iBAAOI,KAAe,KAACiB,GAAKI;AACjCzB,oBAAQqB,OAAKI,KAAMP,MAAI,IAAA;UACzB,WAAA,GAAA,gBAAA,KAAA,KAAA,GAAA;AAEA,oBAAA,KAAA,MAAA;UACA;gBAGE5B,aAAe,KAAK,eAAA,KAAA,OAAA,YAAA,WAAA;mBACpBC;YACAc,MAAAA,KAAWC,KAAAA;YACXN,MAAAA;YACAtB,WAAAA;YACF;YACF;UACF;QACI;;AAEJ,UAAA,CAAA,QAAA;AACF,WAAA,aAAA,MAAA,KAAA;MAEA+B;IACA;AACF,UAAA,UAAA;AAEA,WAAA;;;;;oBAMiBxB,YAAAA,cAAAA;UACb,aAAOuC,oBAAY,IAACvC;kBAClB,CAAA,SAAA;UACA,GAAA,aAAeA,IAAK+B,GAAAA;AAMpB,cAAA,SAAA,KAAA;AACA,cAAMU,gBAAAA,GAAAA,sBACDC,MAAmBX,KAAAA,OACtBA,SAAOY,QAAc7B,GAAI,sBAAmBwB,MAAAA,KAAW,OACvDP,SAAW,QAAK/B,GAAAA,YAAAA,MAAAA,KAAAA,OAAAA,SAAAA;cAGhBP,qBAAoBwC,GAAI,mBAAA,MAAA,KAAA,OAAA,cAAA,SAAA,GAAA,WAAA,eAAA,OAAA,SAAA;AAC1B,YAAA,CAAA,iBAAA,CAAA,sBAAA,CAAA,KAAA,UAAA,KAAA,IAAA,GAAA;AACF,qBAAA,IAAA,KAAA,IAAA;QACGV;MACL;AAEAC,SAAMlC,aAAAA,MAAAA,KAAAA;IACN;AACF,UAAA,UAAA;AAEUF,WAAAA,MAAAA,KAAkBS,UAAsB;;oBAC3B+C,OAAAA;qBAAgB/C;MAAM,GAAA;MAE3C,GAAMgD;IACNC;UACED,UAAYzE,oBAAAA,IAAAA;AACd,aAAA,QAAA,CAAA,EAAA,UAAA,QAAA,MAAA;AAEA,cAAM2E,IAASC,UAAAA,OAAaH;IAC5B,CAAA;AAMF,UAAA,SAAA,aAAA,OAAA;AACF,WAAA,mCAAA,QAAA,SAAA,IAAA,CAAA,EAAA,SAAA,MAAA,QAAA,GAAA,IAAA,KAAA,eAAA;EAEA;;;;AFtWA,IAAAI,gBAAA;;EAKmBC;EAETC;EACAC,UAAAA,IAAAA,wBAAyD;EACzDC,mBAAAA,KAAoBC,KAAS,CAAsB,CAAC;EAE5D,sBAC+C,KAC5BC,KAA4B,CAC7C,CAAA;sBAFiBC,KAAAA,KAAAA,CAAAA,CAAAA;cACAD,WAAAA,WAAAA;AAChB,SAAA,YAAA;AAEH,SAAA,YAAA;;;;;EAKA,IAAA,cAAA;AAEA,WAAA,KAAA;;;;;EAKA,iBAAA;AAEA,WAAA,KAAA,UAAA,IAAA,KAAA,gBAAA;;;;;EAKA,IAAA,SAAA;AAEA,WAAA,KAAA;;;;;EAKA,YAAA;AAEA,WAAA,KAAA,UAAA,IAAA,KAAA,mBAAA;;;;;EAKA,IAAA,eAAA;AAEA,WAAA,KAAA;;;;;EAKA,kBAAA;AAEA,WAAA,KAAA,UAAA,IAAA,KAAA,iBAAA;;;;;EAKA,SAAA,QAAA;AAEA,WAAA,KAAA,UAAA,IAAA,KAAA,mBAAA,EAAA,MAAA;;;;;QAKE,WAAQE;AAER,UAAKF,EAAAA,aAAc,gBAAKF,IAAiB,KAAG,MAAA;AAE5C,SAAA,UAAA,IAAA,KAAA,qBAAA,CAAA,CAAA;AACA,SAAA,UAAMK,IAAAA,KAAkB,mBAAIC,CAAAA,CAAAA;UAE1BD,kBAAoBE,oBAAIC,IAAAA;AAC1B,WAAA,QAAA,WAAA,EAAA,QAAA,CAAA,CAAA,IAAA,IAAA,MAAA;AAEA,sBAAA,IAAA,IAAA,IAAA;IACA,CAAA;AAGA,UAAMC,kBAAqC,KAAA,gBAAA,OAAA,KAAA,WAAA,GAAA,eAAA;AAG3C,UAAA,eAAA,CAAA;AACA,UAAK,iBAAgBC,CAAAA;eAEdF,UAAM,iBAAA;YACTG,OAAS,gBAAC,IAAA,MAAA;iBAA4BC;AAAO,YAAA,MAAA,0BAAA;UAC7C;QACF,GAAA,EAAA,YAAA,YAAA,GAAAhB,eAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AAEA;MACA;YACEe,aAAU,KAAA,UAAA,MAAsB,KAAA,CAAA,SAAA,KAAA,OAAA,MAAA,GAAA,QAAA,QAAA;uBAAEC;AAAO,YAAA,MAAA,sBAAA;UACzC;QACF,GAAA,EAAA,YAAA,YAAA,GAAAhB,eAAA,GAAA,IAAA,GAAA,KAAA,CAAA;AAEI;;UAEF;YAEEa,KAAAA,QAAaD,KAAKK,UAAQL,QAAU;AAEtC,uBAAgBK,KAAM,IAAA,IAAA,KAAA;AACpB,yBAAA,MAAA,IAAA,KAAA;mBACA,KAAA,MAAA;gBAGE,aAAA,WAAA,QAAA,GAAA;cACA,eAAUC,IAAAA;AAGV,gBAAIC,MAAIC,WAAS,UAAM,aAAA,CAAA,EAAA,KAAA;AAEvB,gBAAA,IAAA,SAAA,GAAA,GAAA;AAEA,oBAAMC,IAAAA,MAAS,GAAM,EAAI,EAACC,KAAKH;YAC/BN;AACA,kBAAI,SAAOQ,MAAAA,KAAW,KAAA,KAAY,YAAA;yBAChCE,KAAc,IAACP,IAAO;AACxB,gBAAA,OAAA,WAAA,YAAA;AACF,6BAAA,MAAA,IAAA;YACK;UACL;eACA;AAEF,gBAAA,SAAA,MAAA,KAAA,KAAA,YAAA,YAAA;AACA,yBAAc,MAAA,IAAA;QACd;eACIQ,OAAM;YAAmCA,MAAAA,yBAAAA;UAAM;UACrD;QACF,GAAA,EAAA,YAAA,YAAA,GAAAxB,eAAA,GAAA,KAAA,GAAA,KAAA,CAAA;MAEI;IACJ;AACA,SAAA,UAAOuB,IAAAA,KAAAA,qBAAAA,cAAAA;AACT,SAAA,UAAA,IAAA,KAAA,mBAAA,YAAA;AAEA,WAAmBE;;EAEnB,MAAA,KAAA,QAAA,QAAA;AAEA,WAAA,WAAA,QAAA,MAAA;;;;;UAOM;UACA,cAAU,KAAA,UAAA,MAAA,OAAA,CAAA,SAAA,KAAA,SAAA,QAAA,EAAA,OAAA,CAAA,KAAA,SAAA;YACR,OAAMC,KAAAA,QAAczB,QAAQ0B,QAAAA,KAAe;UAC3CC,MAAIC;AACN,cAAA,SAAA,KAAA,QAAA,gBAAA,IAAA;AAEA,YAAOD,KAAAA,EAAAA,IAAAA;MACL;AAEN,aAAA;IACA,GAAA,CAAA,CAAA;AAEA,UAAA,kBAAO,KAAA,qBAAA,WAAA;SAAEpB,UAAAA,IAAAA,KAAAA,kBAAAA,WAAAA;WAAasB;MAAgB;MACxC;IAEQC;;kBAEAV,OAAqB,cAAA;AAE3B,UAAMW,UAASC,oBAAAA,IAAAA;UACb,SAAIC,CAAQC;kBACV,CAAA,SAAA;AACF,UAAA,QAAA,IAAA,IAAA,GAAA;AAEAD;MAEA;AACA,cAAME,IAAAA,IAAOC;AAEbhB,YAAAA,OAAYY,aAAAA,IAAAA,KAAAA,CAAAA;AACd,WAAA,QAAA,CAAA,QAAA,MAAA,GAAA,CAAA;AAEA,aAAA,KAAA,IAAmB;IACnBK;AAEF,UAAA,QAAA,CAAA,SAAA,MAAA,IAAA,CAAA;AAEQC,WAAAA;;uBAEAC,aAAmB9B;UAEvB,eAAe,oBAAA,IAAA;mBACb8B,WAAiB5B,EAAAA,QAAWD,CAAAA,CAAAA,IAAAA,IAAAA,MAAAA;AAC9B,UAAA,KAAA,MAAA;AACF,qBAAA,IAAA,KAAA,MAAA,EAAA;MAEA;IACA,CAAA;UAEE,QAAS8B,CAAAA;mBACP,WAAA,EAAA,QAAA,CAAA,CAAA,IAAA,IAAA,MAAuC;UACvC,KAAA,cAAMC,KAAAA,WAAyBD,SAC5BE,GAAKC;cAINC,oBAAYH,KAAAA,WAAAA,IAAAA,CAAAA,QAAAA,aAAAA,IAAAA,GAAAA,CAAAA,EAAAA,OAAAA,CAAAA,WAAAA,WAAAA,UAAAA,WAAAA,EAAAA;AACd,YAAA,kBAAA,SAAA,GAAA;AACF,gBAAA,EAAA,IAAA;QACF;MAEA;IACF,CAAA;AACF,WAAA;;;;;ADrMA,IAAAI,gBAAMC;IAEJ,qBAAA;EACA;EACD;EASD;;AAEE,IAAMC,oBAAsBC,CAAAA,EAAAA,MAAAA,SAAAA,UAAAA,cAAAA,IAAAA,MAAAA;AAC5B,QAAMC,EAAAA,EAAAA,IAAKC,eAAgBC,KAAAA,EAAAA;AAC3B,QAAM,WAAEC,WAAiBC,eAAaC;AAEtC,QAAA,KAAA,IAAA,YAAA,QAAA;AACA,QAAA,EAAA,aAAA,IAAA,aAAA,YAAA;QACyFP,QAAAA,QAAAA,MAAAA,YAAAA,IAAAA,aAAAA,UAAAA,QAAAA,GAAAA;IAAS;IAElG;EACA,CAAA;QACEQ,CAAAA,aAAUN,cAAAA,IAAAA,SAAAA,CAAAA,CAAAA;QAEV,oBAAoBO,YAAAA,YAAAA;AACpB,IAAAD,WAAK,IAAME,QAAQN,EAAAA,YAAUO,YAAa,GAAAb,eAAA,GAAA,IAAA,GAAA,QAAA,GAAA,CAAA,MAAA,EAAA,EAAA,CAAA;UACxC,UAASc,IAAI,aAAc;eACzB,QAASC,UAAQC,SAAQ,CAAA,GAAA;eACvB,SAAMD,SAASH;YACf,KAAA,QAAY,QAAQ;AACpB,gBAAIK,SAAQ,KAAA,OAAA,OAAA;gBACV,EAAA,MAAMC,OAAMC,IAAMC,QAAOH,MAAQC,MAAG;cACpC,QAAMG;AACN,kBAAKA,MAAO,MAAA,OAAA,MAAA,EAAA;kBACVA,SAAQC,KAAM,OAAG;yBAAmClB;AAAG,oBAAA,EAAA,KAAA,IAAA,MAAA,UAAA,iBAAA;gBACvD;;+BAAuCc,MAAAA,KAAAA;gBAAI,OAAA;kBAAGI;gBAAK;gBAC/CC;;kBAEF,OAAO,UAAA,CAAA,QAAA;sBACHF,IAAAA,IAAQG,MAAIC,KAAKC,CAAAA,OAAAA,GAAAA,OAAAA,KAAAA,EAAAA;oBACnBC,GAAEC;AACJ,oBAAA,QAAA,IAAA,KAAA,QAAA;AACF,oBAAA,OAAA;gBACK;cACLvB,CAAAA;;AAEA,kBAAA,OAAAgB,QAAA,CAAAA,WAAA;AACF,gBAAAA,OAAA,MAAA,MAAA;cACF,CAAA;YACF;UAEIT;;YAEF,KAAA,QAAMiB,KAAQV,OAAMW,QAAQT;AAC5B,gBAAMU,SAAAA,IAAU,YAAc,KAACF,OAAU,MAAA;AACzC,gBAAMG,QAAAA,MAAYD,QAASE,OAAKC,MAAQA,GAAIC;AAC5CC,gBAAAA,UAAgBC,MAAAA,GAAU,MAAA,KAAA,EAAA,IAAA;4BAAS,SAAA,IAAA,CAAA,QAAA,IAAA,EAAA;yBAAQT,CAAAA,UAAQI;YAAU,GAAA;YAC/D,CAAA,KAAA,IAAA,GAAA;UACF,EAAA;QACF;MACC;IAAC5B;;IAAciB;IAAM;IAExB;EACA,CAAA;QAGIX,CAAAA,eAAUW,gBAAAA,IAAAA,SAAAA,CAAAA,CAAAA;QAEV,oBACEf,0BACoBM,IAAKE,SAAS,kBAC1BF,aAAc0B;AAGxB,IAAA5B,WAAK,OAAM4B,QAAUC,EAAAA,YAAS,YAAA,GAAAvC,eAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,SAAA,EAAA,EAAA,CAAA;UAC5B,UAAOwC,UAAU,MAAA,OAAA,CAAA,SAAA,KAAA,SAAA,QAAA,EAAA,IAAA,CAAA,SAAA,KAAA,MAAA,EAAA,OAAA,aAAA,KAAA,CAAA;eACfF,UAAAA,SAAAA;aACAG,UAAO;;eAAqBpB;UAAwB,GAAA;UACpDqB,GAAAA,MAAWC,gBACTC;;8BAEUC,iBAAiBF,CAAAA,UAAAA;UAC3B,GAAA;UACJ,CAAA,OAAA,IAAA,SAAA,CAAA,GAAA;QACF,EAAA;MAEF,CAAA;IAACrC;MAAUe;IAAOyB;IAAY;IAGhC;EACA,CAAA;QAEE,gBAAaC,YAAAA,YAAAA;AAEb,UAAMC,OAAAA,SAAAA;AACL,UAAA,kBAAA;AAAC3B,UAAAA,kBAAAA;;IAA0B2B;IAAkB;IAEhD;;QAGI,kBAAa1C,YAAe2C,CAAAA,QAAWrC,WAASA;AAChD,IAAAF,WAAMwC,UAAK5C,QAAe2C,EAAAA,YAAWrC,YAAcuB,GAAEnC,eAAYmC,GAAE,KAAA,GAAA,QAAA,GAAA,CAAA,YAAA,EAAA,EAAA,CAAA;AACnE,UAAIgB,OAAQ,SAAQD,MAAM,UAAM,CAAA,SAAA,KAAA,OAAA,OAAA,EAAA;UAC9B7C,KAAIkB,SAAOjB,MAAWA,UAAAA,CAAAA,SAAAA,KAAAA,OAAAA,OAAAA,EAAAA;gBACpB,QAAMM,MAAON,MAASO;UACtB,OAAID,UAAM,CAAAN,cAAA;cACRA,OAASO,UAAMuC,MAAOF,OAAOtC,MAAAA,CAAAA,EAAAA,CAAAA;AAC/B,YAAA,MAAA;AACF,UAAAN,UAAA,MAAA,OAAA,IAAA,GAAA,IAAA;QACF;MAEF,CAAA;IAACA;KAAS;IAGZ;;QAGI,mBAA2C,YAAA,OAAA,MAAA,UAAA;eAAM+C,UAAOC,QAAU,EAAA,YAAA,YAAA,GAAAtD,eAAA,GAAA,KAAA,GAAA,QAAA,GAAA,CAAA,YAAA,EAAA,EAAA,CAAA;UAAIc,OAAAA;MAAK,IAAA,OAAA,WAAA;MAC3E;;YAEE,MAAK;MACL,KAAK;WAAS;;AAGd,aAAA,SAAA,IAAA,KAAA,KAAA,KAAA,CAAA;AAEK;MAAU;;YAGX,IAAA;AAGAF,gBAAK0B,UAASd,MAAQ,GAAC+B,MAAQ9B,MAAK,OAAA,OAAA,KAAA,UAAA,SAAA,CAAA,CAAA,EAAA,IAAA;gBAAE+B,aAAc,QAAA,OAAA,CAAA,cAAA,mBAAA,SAAA,UAAA,GAAA,CAAA,EAAA,IAAA,CAAA,cAAA,IAAA,KAAA,SAAA,CAAA;eAAIC,SAAAA,IAAAA,KAAAA,QAAAA,KAAAA;YAAW,cAAA;YACrE;UACA,CAAA,CAAA;QACF;AACF;MAEMC;IACNrD;UACEC,MAAAA,QAAe8C,SAAOM,MAAQ9C,UAAAA,CAAAA,UAAAA,MAAAA,OAAAA,KAAAA,IAAAA,SAAAA,MAAAA;AAChC,QAAA,OAAA,UAAA,CAAAN,cAAA;AAEF,MAAAA,UAAA,MAAA,OAAA,KAAA,GAAA,IAAA;IAACF,CAAAA;;IAAa;IAGhB;;QAGI,mBAAqBS,YAAMoC,CAAAA,OAAWrC;AACtC,IAAAF,WAAIgD,UAAY,QAAA,EAAA,YAAA,YAAA,GAAA1D,eAAA,GAAA,KAAA,GAAA,QAAA,GAAA,CAAA,YAAA,EAAA,EAAA,CAAA;UACdK,MAAIkB,SAAOjB,MAAWA,UAAAA,CAAAA,SAAAA,KAAAA,OAAAA,EAAAA;gBACpBA,IAAAA;AACF,UAAA,OAAA,UAAA,CAAAA,cAAA;AACF,QAAAA,UAAA,MAAA,OAAA,KAAA,CAAA;MAEF,CAAA;IAACA;KAAS;IAGZ;;SACoC,sBAAA,cAAA,MAAA,MAAA;;IACjBqD,WAAAA;KACb,sBAAA,cAACC,MAAAA,SAAY;IAACC,SAAAA;KACZ,sBAAA,cAACC,QAAAA,MAAaC;IACUJ,UAAAA,CAAAA;KACpB,sBAAA,cAACK,aAAAA,MAAAA,MAAAA,sBAAAA,cAAAA,aAAAA,SAAAA;IAAWC,SAAK;KAAoBC,sBAAAA,cAAAA,YAAAA;IAASC,MAAAA;;IAElCC,OAAAA,EAAAA,4BAAcC;OAE9B,sBAAA,cAACT,cAAQI;IACPC,cAAK;OACLC,sBAAAA,cAAAA,QAAAA,YAAAA;IACAC,MAAAA;IACAG,UAAAA;IACAC,OAAAA,EAASC,eAAAA;;IAIAb,SAAAA;QACb,sBAAA,cAACc,MAAAA,SAAAA;IACCrE,SAAIA;KACME,sBAAAA,cAAAA,eAAAA;IACVe;IACAqD;IACAC;IACAC;IACAR;IACAS,aAAAA;;IAKR,cAAA;EAEF,CAAA,CAAA,CAAA;AACA;gBASsEvC,UAAAA,WAAAA,EAAAA,QAAAA,OAAAA,SAAAA,GAAAA;QAAQG,YAAAA;IAAM;IAClF;EACA;QAGEqC,SAAW,OAACC,UAAAA,OAAAA,aAAAA,SAAAA,EAAAA,KAAAA,cAAAA,WAAAA;aACV,QAAMC;eACFA,CAAAA,UAAYC;AAChBvC,YAAAA,QAAeuC,mBAAO,KAAA,EAAA,CAAA;AACxB,MAAAC,KAAA,MAAA,MAAA,SAAA,MAAA,SAAA,MAAA,OAAA,EAAA,YAAA,YAAA,GAAAlF,eAAA,GAAA,KAAA,GAAA,KAAA,CAAA;AACAmF,eAAYxC,MAAAA,OAAAA;;IAEZ,WAAA,CAAAA,YAAA;AACF,eAAAA,QAAA,IAAA;IACF;;;",
6
+ "names": ["RegistryContext", "Cause", "Effect", "Exit", "React", "useCallback", "useContext", "useMemo", "useState", "AgentPrompt", "Blueprint", "Routine", "Operation", "Filter", "Obj", "Query", "Ref", "QueryBuilder", "invariant", "log", "useComputeRuntimeCallback", "Graph", "DropdownMenu", "IconButton", "Panel", "Toolbar", "useTranslation", "useAttention", "Text", "ViewModel", "isNonNullable", "NotebookMenu", "NotebookStack", "meta", "Atom", "log", "trim", "evalScript", "code", "deps", "sandbox", "console", "undefined", "document", "global", "globalThis", "self", "window", "Array", "Boolean", "Date", "Error", "JSON", "Map", "Math", "Number", "Object", "Promise", "RegExp", "Set", "String", "isFinite", "isNaN", "parseFloat", "parseInt", "sandboxKeys", "keys", "sandboxValues", "values", "fn", "Function", "builtIns", "systemDefinitions", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "filename", "target", "ts", "ModuleKind", "moduleResolution", "ModuleResolutionKind", "strict", "esModuleInterop", "skipLibCheck", "forceConsistentCasingInfilenames", "jsx", "JsxEmit", "noLib", "analysis", "length", "env", "createEnvironment", "sourcefilename", "sourceFile", "typeChecker", "assignmentInfo", "references", "results", "languageService", "getProgram", "files", "forEach", "file", "node", "isFunctionDeclaration", "getTypeOfSymbolAtLocation", "signature", "getSignaturesOfType", "name", "type", "parameters", "returnType", "findReferences", "isVariableStatement", "declaration", "symbol", "getSymbolAtLocation", "kind", "value", "initializer", "getTypeAtLocation", "extractParameters", "isStringLiteral", "valueType", "typeString", "isInterfaceDeclaration", "forEachChild", "visit", "typeToString", "localSymbols", "Set", "collectLocalSymbols", "param", "has", "parent", "isDeclaration", "text", "findRefs", "isExpressionStatement", "expr", "SyntaxKind", "EqualsToken", "isIdentifier", "right", "isAssignmentTarget", "isBinaryExpression", "operatorToken", "systemFiles", "fileMap", "allFiles", "system", "createSystem", "__dxlog_file", "_parser", "_expressionsAtom", "_valuesByCellIdAtom", "_valuesByNameAtom", "Atom", "_registry", "_notebook", "expressions", "cellExpressions", "Map", "id", "expr", "valuesByName", "evaluationOrder", "log", "cellId", "name", "cellSource", "rhs", "endsWith", "result", "eval", "valuesByCellId", "error", "source", "parsed", "parseExpression", "acc", "cell", "dependencyGraph", "topologicalSort", "visit", "node", "visited", "has", "deps", "dependencies", "nodes", "buildDependencyGraph", "nameToCellId", "references", "dependencyCellIds", "map", "ref", "graph", "__dxlog_file", "INCLUDE_BLUEPRINTS", "registry", "RegistryContext", "db", "Obj", "notebook", "hasAttention", "useAttention", "attendableId", "invariant", "QueryBuilder", "cell", "cells", "type", "source", "target", "filter", "ast", "Query", "select", "graph", "view", "update", "Ref", "make", "newGraph", "c", "name", "query", "fromAst", "objects", "objectIds", "map", "obj", "id", "setQueryValues", "prev", "prompt", "prompts", "runPrompt", "input", "onResult", "result", "setPromptResults", "dxn", "queryValues", "evaluate", "handleExecPrompts", "findIndex", "to", "from", "splice", "crypto", "randomUUID", "Routine", "instructions", "blueprints", "idx", "asChild", "Toolbar", "disabled", "DropdownMenu", "Root", "IconButton", "icon", "iconOnly", "label", "onCellInsert", "handleCellInsert", "classNames", "onClick", "handleCompute", "NotebookStack", "env", "promptResults", "onRearrange", "onCellDelete", "onFailure", "cause", "error", "message", "log", "onSuccess"]
7
+ }
@@ -0,0 +1,80 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import "./chunk-HSLMI22Q.mjs";
3
+
4
+ // src/containers/ScriptContainer/ScriptContainer.tsx
5
+ import React, { useMemo } from "react";
6
+ import { Obj } from "@dxos/echo";
7
+ import { createDocAccessor } from "@dxos/echo-db";
8
+ import { getSpace } from "@dxos/react-client/echo";
9
+ import { useIdentity } from "@dxos/react-client/halo";
10
+ import { Panel } from "@dxos/react-ui";
11
+ import { createDataExtensions, listener, editorClassNames } from "@dxos/ui-editor";
12
+ import { ScriptToolbar, TypescriptEditor } from "#components";
13
+ import { useDeployState, useToolbarState } from "#hooks";
14
+ var ScriptContainer = ({ role, attendableId, subject: script, settings = {
15
+ editorInputMode: "vscode"
16
+ }, env }) => {
17
+ const identity = useIdentity();
18
+ const space = getSpace(script);
19
+ const state = useToolbarState();
20
+ useDeployState({
21
+ script,
22
+ state
23
+ });
24
+ const extensions = useMemo(() => {
25
+ if (!script.source.target) {
26
+ return [];
27
+ }
28
+ return [
29
+ createDataExtensions({
30
+ id: script.id,
31
+ text: createDocAccessor(script.source.target, [
32
+ "content"
33
+ ]),
34
+ messenger: space,
35
+ identity
36
+ }),
37
+ listener({
38
+ onChange: ({ text }) => {
39
+ if (script.source.target?.content !== text) {
40
+ Obj.update(script, (script2) => {
41
+ script2.changed = true;
42
+ });
43
+ }
44
+ }
45
+ })
46
+ ];
47
+ }, [
48
+ identity,
49
+ space,
50
+ script,
51
+ script.source.target
52
+ ]);
53
+ if (!extensions.length) {
54
+ return null;
55
+ }
56
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
57
+ role
58
+ }, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
59
+ asChild: true
60
+ }, /* @__PURE__ */ React.createElement(ScriptToolbar, {
61
+ script,
62
+ attendableId,
63
+ state,
64
+ role
65
+ })), /* @__PURE__ */ React.createElement(Panel.Content, {
66
+ asChild: true
67
+ }, /* @__PURE__ */ React.createElement(TypescriptEditor, {
68
+ classNames: editorClassNames(role),
69
+ id: script.id,
70
+ env,
71
+ initialValue: script.source?.target?.content,
72
+ extensions,
73
+ inputMode: settings.editorInputMode,
74
+ toolbar: true
75
+ })));
76
+ };
77
+ export {
78
+ ScriptContainer as default
79
+ };
80
+ //# sourceMappingURL=ScriptContainer-UKD7QORM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ScriptContainer/ScriptContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Script } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Panel } from '@dxos/react-ui';\nimport { createDataExtensions, listener, editorClassNames } from '@dxos/ui-editor';\n\nimport { ScriptToolbar, TypescriptEditor, type TypescriptEditorProps } from '#components';\nimport { useDeployState, useToolbarState } from '#hooks';\nimport { type Settings } from '#types';\n\nexport type ScriptEditorProps = AppSurface.ObjectArticleProps<\n Script.Script,\n {\n settings?: Settings.Settings;\n } & Pick<TypescriptEditorProps, 'env'>\n>;\n\nexport const ScriptContainer = ({\n role,\n attendableId,\n subject: script,\n settings = { editorInputMode: 'vscode' },\n env,\n}: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n const state = useToolbarState();\n useDeployState({ script, state });\n\n const extensions = useMemo(() => {\n if (!script.source.target) {\n return [];\n }\n\n return [\n createDataExtensions({\n id: script.id,\n text: createDocAccessor(script.source.target, ['content']),\n messenger: space,\n identity,\n }),\n listener({\n onChange: ({ text }) => {\n if (script.source.target?.content !== text) {\n Obj.update(script, (script) => {\n script.changed = true;\n });\n }\n },\n }),\n ];\n }, [identity, space, script, script.source.target]);\n\n if (!extensions.length) {\n return null;\n }\n\n return (\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <ScriptToolbar script={script} attendableId={attendableId} state={state} role={role} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TypescriptEditor\n classNames={editorClassNames(role)}\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n inputMode={settings.editorInputMode}\n toolbar\n />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
5
+ "mappings": ";;;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,WAAW;AACpB,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AACtB,SAASC,sBAAsBC,UAAUC,wBAAwB;AAEjE,SAASC,eAAeC,wBAAoD;AAC5E,SAASC,gBAAgBC,uBAAuB;AAUzC,IAAMC,kBAAkB,CAAC,EAC9BC,MACAC,cACAC,SAASC,QACTC,WAAW;EAAEC,iBAAiB;AAAS,GACvCC,IAAG,MACe;AAClB,QAAMC,WAAWjB,YAAAA;AACjB,QAAMkB,QAAQnB,SAASc,MAAAA;AACvB,QAAMM,QAAQX,gBAAAA;AACdD,iBAAe;IAAEM;IAAQM;EAAM,CAAA;AAE/B,QAAMC,aAAaxB,QAAQ,MAAA;AACzB,QAAI,CAACiB,OAAOQ,OAAOC,QAAQ;AACzB,aAAO,CAAA;IACT;AAEA,WAAO;MACLpB,qBAAqB;QACnBqB,IAAIV,OAAOU;QACXC,MAAM1B,kBAAkBe,OAAOQ,OAAOC,QAAQ;UAAC;SAAU;QACzDG,WAAWP;QACXD;MACF,CAAA;MACAd,SAAS;QACPuB,UAAU,CAAC,EAAEF,KAAI,MAAE;AACjB,cAAIX,OAAOQ,OAAOC,QAAQK,YAAYH,MAAM;AAC1C3B,gBAAI+B,OAAOf,QAAQ,CAACA,YAAAA;AAClBA,cAAAA,QAAOgB,UAAU;YACnB,CAAA;UACF;QACF;MACF,CAAA;;EAEJ,GAAG;IAACZ;IAAUC;IAAOL;IAAQA,OAAOQ,OAAOC;GAAO;AAElD,MAAI,CAACF,WAAWU,QAAQ;AACtB,WAAO;EACT;AAEA,SACE,sBAAA,cAAC7B,MAAM8B,MAAI;IAACrB;KACV,sBAAA,cAACT,MAAM+B,SAAO;IAACC,SAAAA;KACb,sBAAA,cAAC5B,eAAAA;IAAcQ;IAAgBF;IAA4BQ;IAAcT;OAE3E,sBAAA,cAACT,MAAMiC,SAAO;IAACD,SAAAA;KACb,sBAAA,cAAC3B,kBAAAA;IACC6B,YAAY/B,iBAAiBM,IAAAA;IAC7Ba,IAAIV,OAAOU;IACXP;IACAoB,cAAcvB,OAAOQ,QAAQC,QAAQK;IACrCP;IACAiB,WAAWvB,SAASC;IACpBuB,SAAAA;;AAKV;",
6
+ "names": ["React", "useMemo", "Obj", "createDocAccessor", "getSpace", "useIdentity", "Panel", "createDataExtensions", "listener", "editorClassNames", "ScriptToolbar", "TypescriptEditor", "useDeployState", "useToolbarState", "ScriptContainer", "role", "attendableId", "subject", "script", "settings", "editorInputMode", "env", "identity", "space", "state", "extensions", "source", "target", "id", "text", "messenger", "onChange", "content", "update", "changed", "length", "Root", "Toolbar", "asChild", "Content", "classNames", "initialValue", "inputMode", "toolbar"]
7
+ }