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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (500) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/DeploymentDialog-IIOXAS47.mjs +138 -0
  3. package/dist/lib/browser/DeploymentDialog-IIOXAS47.mjs.map +7 -0
  4. package/dist/lib/browser/NotebookContainer-VVZOKGRC.mjs +850 -0
  5. package/dist/lib/browser/NotebookContainer-VVZOKGRC.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-A5SSIUH6.mjs +93 -0
  7. package/dist/lib/browser/ScriptContainer-A5SSIUH6.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-HYYC7KXC.mjs +294 -0
  9. package/dist/lib/browser/ScriptObjectSettings-HYYC7KXC.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-UTWA7CBT.mjs +55 -0
  11. package/dist/lib/browser/ScriptPluginSettings-UTWA7CBT.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-HREPUE65.mjs +28 -0
  13. package/dist/lib/browser/ScriptProperties-HREPUE65.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-D4Y2K2TT.mjs +39 -0
  15. package/dist/lib/browser/TestContainer-D4Y2K2TT.mjs.map +7 -0
  16. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs +69 -0
  17. package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs.map +7 -0
  18. package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs +17 -0
  19. package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs.map +7 -0
  20. package/dist/lib/browser/blueprints/index.mjs +8 -0
  21. package/dist/lib/browser/chunk-6IXFDTAI.mjs +113 -0
  22. package/dist/lib/browser/chunk-6IXFDTAI.mjs.map +7 -0
  23. package/dist/lib/browser/{compiler-CXCUA4UQ.mjs → chunk-ATTZUDT7.mjs} +17 -32
  24. package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-G3XIOLLI.mjs +174 -0
  26. package/dist/lib/browser/chunk-G3XIOLLI.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  28. package/dist/lib/browser/chunk-J7PGML5B.mjs +105 -0
  29. package/dist/lib/browser/chunk-J7PGML5B.mjs.map +7 -0
  30. package/dist/lib/browser/chunk-MUEVLYXJ.mjs +397 -0
  31. package/dist/lib/browser/chunk-MUEVLYXJ.mjs.map +7 -0
  32. package/dist/lib/browser/chunk-PLDBKKYO.mjs +789 -0
  33. package/dist/lib/browser/chunk-PLDBKKYO.mjs.map +7 -0
  34. package/dist/lib/browser/chunk-Q66L5EUR.mjs +20 -0
  35. package/dist/lib/browser/chunk-Q66L5EUR.mjs.map +7 -0
  36. package/dist/lib/browser/chunk-TW27W3EL.mjs +29 -0
  37. package/dist/lib/browser/chunk-TW27W3EL.mjs.map +7 -0
  38. package/dist/lib/browser/{chunk-QYAREHGH.mjs → chunk-WYR4QHPE.mjs} +8 -5
  39. package/dist/lib/browser/chunk-WYR4QHPE.mjs.map +7 -0
  40. package/dist/lib/browser/chunk-ZYU2LP6U.mjs +11 -0
  41. package/dist/lib/browser/chunk-ZYU2LP6U.mjs.map +7 -0
  42. package/dist/lib/browser/compiler-53G6ZHQM.mjs +99 -0
  43. package/dist/lib/browser/compiler-53G6ZHQM.mjs.map +7 -0
  44. package/dist/lib/browser/index.mjs +147 -106
  45. package/dist/lib/browser/index.mjs.map +4 -4
  46. package/dist/lib/browser/meta.json +1 -1
  47. package/dist/lib/browser/operation-resolver-CYEISDDK.mjs +79 -0
  48. package/dist/lib/browser/operation-resolver-CYEISDDK.mjs.map +7 -0
  49. package/dist/lib/browser/react-surface-26P6HAFD.mjs +141 -0
  50. package/dist/lib/browser/react-surface-26P6HAFD.mjs.map +7 -0
  51. package/dist/lib/browser/settings-76UM7442.mjs +36 -0
  52. package/dist/lib/browser/settings-76UM7442.mjs.map +7 -0
  53. package/dist/lib/browser/templates/index.mjs +2 -1
  54. package/dist/lib/browser/types/index.mjs +14 -6
  55. package/dist/lib/node-esm/DeploymentDialog-ZHPHEV2H.mjs +139 -0
  56. package/dist/lib/node-esm/DeploymentDialog-ZHPHEV2H.mjs.map +7 -0
  57. package/dist/lib/node-esm/NotebookContainer-ZLWTNMQA.mjs +851 -0
  58. package/dist/lib/node-esm/NotebookContainer-ZLWTNMQA.mjs.map +7 -0
  59. package/dist/lib/node-esm/ScriptContainer-S4UKQAWP.mjs +94 -0
  60. package/dist/lib/node-esm/ScriptContainer-S4UKQAWP.mjs.map +7 -0
  61. package/dist/lib/node-esm/ScriptObjectSettings-C5QBRERY.mjs +295 -0
  62. package/dist/lib/node-esm/ScriptObjectSettings-C5QBRERY.mjs.map +7 -0
  63. package/dist/lib/node-esm/ScriptPluginSettings-MFACDW4R.mjs +56 -0
  64. package/dist/lib/node-esm/ScriptPluginSettings-MFACDW4R.mjs.map +7 -0
  65. package/dist/lib/node-esm/ScriptProperties-FMNIX3KU.mjs +29 -0
  66. package/dist/lib/node-esm/ScriptProperties-FMNIX3KU.mjs.map +7 -0
  67. package/dist/lib/node-esm/TestContainer-AO45YPGV.mjs +40 -0
  68. package/dist/lib/node-esm/TestContainer-AO45YPGV.mjs.map +7 -0
  69. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs +70 -0
  70. package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs.map +7 -0
  71. package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs +18 -0
  72. package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs.map +7 -0
  73. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  74. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs +176 -0
  76. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-AHXJ6NQU.mjs → chunk-5HSJPAK7.mjs} +8 -5
  78. package/dist/lib/node-esm/chunk-5HSJPAK7.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-H46R2RS5.mjs +790 -0
  80. package/dist/lib/node-esm/chunk-H46R2RS5.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  82. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  83. package/dist/lib/node-esm/{compiler-EPFKQXPE.mjs → chunk-JGN7TDJH.mjs} +17 -31
  84. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-QG6ANK4B.mjs +107 -0
  86. package/dist/lib/node-esm/chunk-QG6ANK4B.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-S7DSCLOW.mjs +31 -0
  88. package/dist/lib/node-esm/chunk-S7DSCLOW.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-TZ2EBTPQ.mjs +22 -0
  90. package/dist/lib/node-esm/chunk-TZ2EBTPQ.mjs.map +7 -0
  91. package/dist/lib/node-esm/chunk-UFBVE33O.mjs +12 -0
  92. package/dist/lib/node-esm/chunk-UFBVE33O.mjs.map +7 -0
  93. package/dist/lib/node-esm/chunk-WWD5LUU6.mjs +114 -0
  94. package/dist/lib/node-esm/chunk-WWD5LUU6.mjs.map +7 -0
  95. package/dist/lib/node-esm/chunk-ZDJ2FI7E.mjs +398 -0
  96. package/dist/lib/node-esm/chunk-ZDJ2FI7E.mjs.map +7 -0
  97. package/dist/lib/node-esm/compiler-HHQW7EP3.mjs +100 -0
  98. package/dist/lib/node-esm/compiler-HHQW7EP3.mjs.map +7 -0
  99. package/dist/lib/node-esm/index.mjs +147 -106
  100. package/dist/lib/node-esm/index.mjs.map +4 -4
  101. package/dist/lib/node-esm/meta.json +1 -1
  102. package/dist/lib/node-esm/operation-resolver-HFFDXWND.mjs +80 -0
  103. package/dist/lib/node-esm/operation-resolver-HFFDXWND.mjs.map +7 -0
  104. package/dist/lib/node-esm/react-surface-THCIK266.mjs +142 -0
  105. package/dist/lib/node-esm/react-surface-THCIK266.mjs.map +7 -0
  106. package/dist/lib/node-esm/settings-CCHDPLFJ.mjs +37 -0
  107. package/dist/lib/node-esm/settings-CCHDPLFJ.mjs.map +7 -0
  108. package/dist/lib/node-esm/templates/index.mjs +2 -1
  109. package/dist/lib/node-esm/types/index.mjs +14 -6
  110. package/dist/types/src/ScriptPlugin.d.ts +2 -1
  111. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  112. package/dist/types/src/blueprints/index.d.ts +2 -0
  113. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
  115. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
  116. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  117. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  118. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  119. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  121. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  123. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  124. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  125. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  127. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  128. package/dist/types/src/capabilities/compiler/compiler.d.ts +6 -0
  129. package/dist/types/src/capabilities/compiler/compiler.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/compiler/index.d.ts +3 -0
  131. package/dist/types/src/capabilities/compiler/index.d.ts.map +1 -0
  132. package/dist/types/src/capabilities/index.d.ts +6 -7
  133. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  135. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  136. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  137. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  138. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  139. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  140. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  141. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  142. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  143. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  144. package/dist/types/src/capabilities/settings/settings.d.ts +10 -0
  145. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  146. package/dist/types/src/compiler/compiler.d.ts +1 -1
  147. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  148. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +1 -1
  149. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -1
  150. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
  151. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
  152. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
  153. package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
  154. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +14 -0
  155. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -0
  156. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +249 -0
  157. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -0
  158. package/dist/types/src/components/NotebookStack/index.d.ts +3 -0
  159. package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -0
  160. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
  161. package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
  162. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
  163. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
  164. package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
  165. package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
  166. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +8 -8
  167. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  168. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +246 -10
  169. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  170. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  171. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  172. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  173. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +5 -2
  174. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  175. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +11 -4
  176. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  177. package/dist/types/src/components/index.d.ts +5 -7
  178. package/dist/types/src/components/index.d.ts.map +1 -1
  179. package/dist/types/src/constants.d.ts +2 -0
  180. package/dist/types/src/constants.d.ts.map +1 -0
  181. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts +9 -0
  182. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  183. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +249 -0
  184. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
  185. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  186. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  187. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  188. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  189. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +7 -0
  190. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  191. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  192. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  193. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +10 -0
  194. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  195. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  196. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  197. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts +7 -0
  198. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  199. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  200. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  201. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
  202. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  203. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +3 -0
  204. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +1 -0
  205. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  206. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  207. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  208. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  209. package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
  210. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  211. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  212. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  213. package/dist/types/src/containers/index.d.ts +9 -0
  214. package/dist/types/src/containers/index.d.ts.map +1 -0
  215. package/dist/types/src/e2e/ai.test.d.ts +2 -0
  216. package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
  217. package/dist/types/src/e2e/deploy.test.d.ts +2 -0
  218. package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
  219. package/dist/types/src/hooks/deploy.d.ts +20 -33
  220. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  221. package/dist/types/src/hooks/format.d.ts +5 -4
  222. package/dist/types/src/hooks/format.d.ts.map +1 -1
  223. package/dist/types/src/hooks/index.d.ts +1 -0
  224. package/dist/types/src/hooks/index.d.ts.map +1 -1
  225. package/dist/types/src/hooks/template.d.ts +7 -16
  226. package/dist/types/src/hooks/template.d.ts.map +1 -1
  227. package/dist/types/src/hooks/useCompiler.d.ts +7 -0
  228. package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
  229. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  230. package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
  231. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  232. package/dist/types/src/index.d.ts +3 -1
  233. package/dist/types/src/index.d.ts.map +1 -1
  234. package/dist/types/src/meta.d.ts +2 -3
  235. package/dist/types/src/meta.d.ts.map +1 -1
  236. package/dist/types/src/notebook/compute-graph.d.ts +58 -0
  237. package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
  238. package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
  239. package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
  240. package/dist/types/src/notebook/eval.d.ts +13 -0
  241. package/dist/types/src/notebook/eval.d.ts.map +1 -0
  242. package/dist/types/src/notebook/index.d.ts +2 -0
  243. package/dist/types/src/notebook/index.d.ts.map +1 -0
  244. package/dist/types/src/notebook/vfs-parser.d.ts +74 -0
  245. package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -0
  246. package/dist/types/src/notebook/vfs-parser.test.d.ts +2 -0
  247. package/dist/types/src/notebook/vfs-parser.test.d.ts.map +1 -0
  248. package/dist/types/src/templates/anthropic.d.ts +8 -0
  249. package/dist/types/src/templates/anthropic.d.ts.map +1 -0
  250. package/dist/types/src/templates/chess-bot.d.ts +16 -0
  251. package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
  252. package/dist/types/src/templates/commentary.d.ts +16 -0
  253. package/dist/types/src/templates/commentary.d.ts.map +1 -0
  254. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  255. package/dist/types/src/templates/discord.d.ts.map +1 -1
  256. package/dist/types/src/templates/forex-effect.d.ts +4 -1
  257. package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
  258. package/dist/types/src/templates/forex.d.ts +4 -1
  259. package/dist/types/src/templates/forex.d.ts.map +1 -1
  260. package/dist/types/src/templates/gmail.d.ts.map +1 -1
  261. package/dist/types/src/templates/index.d.ts +52 -1
  262. package/dist/types/src/templates/index.d.ts.map +1 -1
  263. package/dist/types/src/templates/ping.d.ts +3 -0
  264. package/dist/types/src/templates/ping.d.ts.map +1 -0
  265. package/dist/types/src/testing/data.d.ts +3 -0
  266. package/dist/types/src/testing/data.d.ts.map +1 -0
  267. package/dist/types/src/testing/index.d.ts +2 -0
  268. package/dist/types/src/testing/index.d.ts.map +1 -0
  269. package/dist/types/src/testing/simulator.test.d.ts +2 -0
  270. package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
  271. package/dist/types/src/translations.d.ts +32 -5
  272. package/dist/types/src/translations.d.ts.map +1 -1
  273. package/dist/types/src/types/Notebook.d.ts +108 -0
  274. package/dist/types/src/types/Notebook.d.ts.map +1 -0
  275. package/dist/types/src/types/actions.d.ts +40 -0
  276. package/dist/types/src/types/actions.d.ts.map +1 -0
  277. package/dist/types/src/types/capabilities.d.ts +12 -0
  278. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  279. package/dist/types/src/types/events.d.ts +5 -0
  280. package/dist/types/src/types/events.d.ts.map +1 -0
  281. package/dist/types/src/types/index.d.ts +5 -1
  282. package/dist/types/src/types/index.d.ts.map +1 -1
  283. package/dist/types/src/types/types.d.ts +6 -0
  284. package/dist/types/src/types/types.d.ts.map +1 -0
  285. package/dist/types/src/util/deploy.d.ts +7 -7
  286. package/dist/types/src/util/deploy.d.ts.map +1 -1
  287. package/dist/types/src/util/functions.d.ts +6 -3
  288. package/dist/types/src/util/functions.d.ts.map +1 -1
  289. package/dist/types/tsconfig.tsbuildinfo +1 -1
  290. package/package.json +124 -85
  291. package/src/ScriptPlugin.tsx +57 -76
  292. package/src/blueprints/index.ts +5 -0
  293. package/src/blueprints/script-blueprint.ts +31 -0
  294. package/src/capabilities/app-graph-builder/app-graph-builder.ts +56 -0
  295. package/src/capabilities/app-graph-builder/index.ts +7 -0
  296. package/src/capabilities/{artifact-definition.ts → artifact-definition/artifact-definition.ts} +103 -105
  297. package/src/capabilities/artifact-definition/index.ts +7 -0
  298. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  299. package/src/capabilities/blueprint-definition/index.ts +7 -0
  300. package/src/capabilities/compiler/compiler.ts +103 -0
  301. package/src/capabilities/compiler/index.ts +7 -0
  302. package/src/capabilities/index.ts +6 -10
  303. package/src/capabilities/operation-resolver/index.ts +7 -0
  304. package/src/capabilities/operation-resolver/operation-resolver.ts +75 -0
  305. package/src/capabilities/react-surface/index.ts +7 -0
  306. package/src/capabilities/react-surface/react-surface.tsx +121 -0
  307. package/src/capabilities/settings/index.ts +7 -0
  308. package/src/capabilities/settings/settings.ts +33 -0
  309. package/src/compiler/compiler.ts +11 -4
  310. package/src/components/FrameContainer/FrameContainer.tsx +8 -6
  311. package/src/components/FrameContainer/frame.html +21 -21
  312. package/src/components/NotebookStack/NotebookCell.tsx +215 -0
  313. package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
  314. package/src/components/NotebookStack/NotebookStack.stories.tsx +54 -0
  315. package/src/components/NotebookStack/NotebookStack.tsx +86 -0
  316. package/src/components/NotebookStack/index.ts +6 -0
  317. package/src/components/QueryEditor/QueryEditor.stories.tsx +102 -0
  318. package/src/components/QueryEditor/QueryEditor.tsx +47 -0
  319. package/src/components/QueryEditor/index.ts +5 -0
  320. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +56 -17
  321. package/src/components/ScriptToolbar/ScriptToolbar.tsx +38 -34
  322. package/src/components/TestPanel/TestPanel.tsx +67 -42
  323. package/src/components/TestPanel/index.ts +0 -1
  324. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +89 -34
  325. package/src/components/TypescriptEditor/TypescriptEditor.tsx +84 -81
  326. package/src/components/index.ts +5 -7
  327. package/src/constants.ts +7 -0
  328. package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +61 -0
  329. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
  330. package/src/containers/DeploymentDialog/index.ts +7 -0
  331. package/src/containers/NotebookContainer/NotebookContainer.stories.tsx +87 -0
  332. package/src/containers/NotebookContainer/NotebookContainer.tsx +268 -0
  333. package/src/containers/NotebookContainer/index.ts +7 -0
  334. package/src/containers/ScriptContainer/ScriptContainer.tsx +84 -0
  335. package/src/containers/ScriptContainer/index.ts +7 -0
  336. package/src/containers/ScriptObjectSettings/ScriptObjectSettings.tsx +291 -0
  337. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  338. package/src/containers/ScriptPluginSettings/ScriptPluginSettings.tsx +66 -0
  339. package/src/containers/ScriptPluginSettings/index.ts +7 -0
  340. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  341. package/src/containers/ScriptProperties/index.ts +7 -0
  342. package/src/containers/TestContainer/TestContainer.tsx +28 -0
  343. package/src/containers/TestContainer/index.ts +7 -0
  344. package/src/containers/index.ts +13 -0
  345. package/src/e2e/ai.test.ts +92 -0
  346. package/src/e2e/deploy.test.ts +64 -0
  347. package/src/hooks/deploy.ts +52 -45
  348. package/src/hooks/format.ts +10 -5
  349. package/src/hooks/index.ts +1 -0
  350. package/src/hooks/template.ts +22 -25
  351. package/src/hooks/useCompiler.ts +24 -0
  352. package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -16
  353. package/src/hooks/useToolbarState.ts +29 -4
  354. package/src/index.ts +3 -1
  355. package/src/meta.ts +9 -7
  356. package/src/notebook/compute-graph.test.ts +82 -0
  357. package/src/notebook/compute-graph.ts +230 -0
  358. package/src/notebook/eval.ts +105 -0
  359. package/src/notebook/index.ts +5 -0
  360. package/src/notebook/vfs-parser.test.ts +149 -0
  361. package/src/notebook/vfs-parser.ts +451 -0
  362. package/src/templates/anthropic.ts +42 -0
  363. package/src/templates/chess-bot.ts +58 -0
  364. package/src/templates/commentary.ts +231 -0
  365. package/src/templates/data-generator.ts +10 -4
  366. package/src/templates/discord.ts +12 -4
  367. package/src/templates/forex-effect.ts +24 -25
  368. package/src/templates/forex.ts +9 -6
  369. package/src/templates/gmail.ts +34 -64
  370. package/src/templates/index.ts +24 -11
  371. package/src/templates/ping.ts +17 -0
  372. package/src/testing/data.ts +72 -0
  373. package/src/testing/index.ts +5 -0
  374. package/src/testing/simulator.test.ts +40 -0
  375. package/src/translations.ts +35 -7
  376. package/src/types/Notebook.ts +41 -0
  377. package/src/types/actions.ts +45 -0
  378. package/src/types/capabilities.ts +17 -0
  379. package/src/types/events.ts +11 -0
  380. package/src/types/index.ts +5 -1
  381. package/src/types/types.ts +15 -0
  382. package/src/util/deploy.ts +38 -61
  383. package/src/util/functions.ts +58 -25
  384. package/src/vite-env.d.ts +2 -0
  385. package/dist/lib/browser/DeploymentDialog-M4QIHTDR.mjs +0 -12
  386. package/dist/lib/browser/ScriptContainer-Z6SIGRRC.mjs +0 -262
  387. package/dist/lib/browser/ScriptContainer-Z6SIGRRC.mjs.map +0 -7
  388. package/dist/lib/browser/app-graph-builder-HLQ7K3BT.mjs +0 -64
  389. package/dist/lib/browser/app-graph-builder-HLQ7K3BT.mjs.map +0 -7
  390. package/dist/lib/browser/artifact-definition-24Q3IHOU.mjs +0 -249
  391. package/dist/lib/browser/artifact-definition-24Q3IHOU.mjs.map +0 -7
  392. package/dist/lib/browser/chunk-3U6DTUH3.mjs +0 -283
  393. package/dist/lib/browser/chunk-3U6DTUH3.mjs.map +0 -7
  394. package/dist/lib/browser/chunk-5TVBECWH.mjs +0 -15
  395. package/dist/lib/browser/chunk-5TVBECWH.mjs.map +0 -7
  396. package/dist/lib/browser/chunk-FIM2MVNJ.mjs +0 -555
  397. package/dist/lib/browser/chunk-FIM2MVNJ.mjs.map +0 -7
  398. package/dist/lib/browser/chunk-FMDXKOP7.mjs +0 -233
  399. package/dist/lib/browser/chunk-FMDXKOP7.mjs.map +0 -7
  400. package/dist/lib/browser/chunk-IS4OG2UW.mjs +0 -39
  401. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +0 -7
  402. package/dist/lib/browser/chunk-P4HQKUCP.mjs +0 -153
  403. package/dist/lib/browser/chunk-P4HQKUCP.mjs.map +0 -7
  404. package/dist/lib/browser/chunk-QYAREHGH.mjs.map +0 -7
  405. package/dist/lib/browser/chunk-R4R7VOFY.mjs +0 -88
  406. package/dist/lib/browser/chunk-R4R7VOFY.mjs.map +0 -7
  407. package/dist/lib/browser/compiler-CXCUA4UQ.mjs.map +0 -7
  408. package/dist/lib/browser/intent-resolver-7B77IG3N.mjs +0 -91
  409. package/dist/lib/browser/intent-resolver-7B77IG3N.mjs.map +0 -7
  410. package/dist/lib/browser/react-surface-FYYXZA7C.mjs +0 -104
  411. package/dist/lib/browser/react-surface-FYYXZA7C.mjs.map +0 -7
  412. package/dist/lib/browser/settings-KCTBK5TY.mjs +0 -24
  413. package/dist/lib/browser/settings-KCTBK5TY.mjs.map +0 -7
  414. package/dist/lib/node-esm/DeploymentDialog-3KPRWFE7.mjs +0 -13
  415. package/dist/lib/node-esm/ScriptContainer-KPU75HHI.mjs +0 -263
  416. package/dist/lib/node-esm/ScriptContainer-KPU75HHI.mjs.map +0 -7
  417. package/dist/lib/node-esm/app-graph-builder-7EYIHWH4.mjs +0 -65
  418. package/dist/lib/node-esm/app-graph-builder-7EYIHWH4.mjs.map +0 -7
  419. package/dist/lib/node-esm/artifact-definition-WAJFALUI.mjs +0 -250
  420. package/dist/lib/node-esm/artifact-definition-WAJFALUI.mjs.map +0 -7
  421. package/dist/lib/node-esm/chunk-35M3CHYE.mjs +0 -16
  422. package/dist/lib/node-esm/chunk-35M3CHYE.mjs.map +0 -7
  423. package/dist/lib/node-esm/chunk-7NMI4CEU.mjs +0 -556
  424. package/dist/lib/node-esm/chunk-7NMI4CEU.mjs.map +0 -7
  425. package/dist/lib/node-esm/chunk-AHXJ6NQU.mjs.map +0 -7
  426. package/dist/lib/node-esm/chunk-F5GFJ3PY.mjs +0 -90
  427. package/dist/lib/node-esm/chunk-F5GFJ3PY.mjs.map +0 -7
  428. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs +0 -40
  429. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +0 -7
  430. package/dist/lib/node-esm/chunk-QKK3NDHW.mjs +0 -154
  431. package/dist/lib/node-esm/chunk-QKK3NDHW.mjs.map +0 -7
  432. package/dist/lib/node-esm/chunk-RT43MACC.mjs +0 -284
  433. package/dist/lib/node-esm/chunk-RT43MACC.mjs.map +0 -7
  434. package/dist/lib/node-esm/chunk-XJPK3IYI.mjs +0 -234
  435. package/dist/lib/node-esm/chunk-XJPK3IYI.mjs.map +0 -7
  436. package/dist/lib/node-esm/compiler-EPFKQXPE.mjs.map +0 -7
  437. package/dist/lib/node-esm/intent-resolver-FRZGS4TB.mjs +0 -92
  438. package/dist/lib/node-esm/intent-resolver-FRZGS4TB.mjs.map +0 -7
  439. package/dist/lib/node-esm/react-surface-V32NWHKN.mjs +0 -105
  440. package/dist/lib/node-esm/react-surface-V32NWHKN.mjs.map +0 -7
  441. package/dist/lib/node-esm/settings-DXZ334A3.mjs +0 -25
  442. package/dist/lib/node-esm/settings-DXZ334A3.mjs.map +0 -7
  443. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  444. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  445. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  446. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  447. package/dist/types/src/capabilities/capabilities.d.ts +0 -5
  448. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  449. package/dist/types/src/capabilities/compiler.d.ts +0 -4
  450. package/dist/types/src/capabilities/compiler.d.ts.map +0 -1
  451. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  452. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  453. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  454. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  455. package/dist/types/src/capabilities/settings.d.ts +0 -4
  456. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  457. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts +0 -11
  458. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  459. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -18
  460. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
  461. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  462. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  463. package/dist/types/src/components/ScriptContainer.d.ts +0 -12
  464. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  465. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
  466. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  467. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
  468. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  469. package/dist/types/src/components/Settings/index.d.ts +0 -3
  470. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  471. package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
  472. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  473. package/dist/types/src/events.d.ts +0 -4
  474. package/dist/types/src/events.d.ts.map +0 -1
  475. package/dist/types/src/templates/chess.d.ts +0 -3
  476. package/dist/types/src/templates/chess.d.ts.map +0 -1
  477. package/dist/types/src/templates/echo.d.ts +0 -6
  478. package/dist/types/src/templates/echo.d.ts.map +0 -1
  479. package/dist/types/src/types/schema.d.ts +0 -38
  480. package/dist/types/src/types/schema.d.ts.map +0 -1
  481. package/src/capabilities/app-graph-builder.ts +0 -64
  482. package/src/capabilities/capabilities.ts +0 -12
  483. package/src/capabilities/compiler.ts +0 -33
  484. package/src/capabilities/intent-resolver.ts +0 -80
  485. package/src/capabilities/react-surface.tsx +0 -89
  486. package/src/capabilities/settings.ts +0 -21
  487. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -39
  488. package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -112
  489. package/src/components/DeploymentDialog/index.ts +0 -9
  490. package/src/components/ScriptContainer.tsx +0 -68
  491. package/src/components/Settings/ScriptObjectSettings.tsx +0 -206
  492. package/src/components/Settings/ScriptPluginSettings.tsx +0 -71
  493. package/src/components/Settings/index.ts +0 -6
  494. package/src/components/TestPanel/TestContainer.tsx +0 -26
  495. package/src/events.ts +0 -11
  496. package/src/templates/chess.ts +0 -47
  497. package/src/templates/echo.ts +0 -8
  498. package/src/types/schema.ts +0 -37
  499. /package/dist/lib/browser/{DeploymentDialog-M4QIHTDR.mjs.map → blueprints/index.mjs.map} +0 -0
  500. /package/dist/lib/{node-esm/DeploymentDialog-3KPRWFE7.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["raw-loader:./chat.ts?raw", "raw-loader:./chess.ts?raw", "raw-loader:./data-generator.ts?raw", "raw-loader:./discord.ts?raw", "raw-loader:./echo.ts?raw", "raw-loader:./email.ts?raw", "raw-loader:./forex-effect.ts?raw", "raw-loader:./forex.ts?raw", "raw-loader:./gmail.ts?raw", "../../../src/templates/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\n// @ts-ignore\nimport { transformServerSentEvents } from 'https://esm.sh/@dxos/script-toolbox?bundle=false';\n\n/**\n * Chatbot that answers questions based on the context data.\n */\nexport default async ({ data: { bodyText }, context: { space, ai } }: any) => {\n let parsedRequest: any;\n try {\n parsedRequest = JSON.parse(bodyText);\n } catch (err) {\n const answer = await ai.run('@cf/meta/llama-3.1-8b-instruct', {\n stream: true,\n prompt: `\n Using only the context data below to answer the user's question.\n If you cannot answer the question from the provided content, then reply with \"I don't know.\"\n\n CONTEXT:\n ${await getContext({ space })}\n\n QUESTION:\n ${bodyText}\n `,\n });\n return new Response(transformServerSentEvents(answer));\n }\n\n const promptId = parsedRequest.trigger.promptId;\n const promptObject = await space.crud.query({ id: promptId }).first();\n\n if (parsedRequest.data.objects.length !== 1) {\n return new Response('Message batches not supported.');\n }\n\n const messageId = parsedRequest.data.objects[0];\n let message;\n try {\n message = await space.crud.query({ id: messageId }).first();\n } catch (err) {\n return new Response('Message not replicated yet.', { status: 409 });\n }\n\n if (message.text.includes('--------')) {\n return new Response('Message was already processed.');\n }\n\n let prompt = promptObject.template;\n for (const input of promptObject.inputs) {\n let value: string | null = null;\n if (input.type === TemplateInputType.VALUE) {\n value = String(input.value);\n } else if (input.type === TemplateInputType.RETRIEVER) {\n value = await getContext({ space });\n } else if (input.type === TemplateInputType.PASS_THROUGH) {\n value = message.text;\n }\n if (value) {\n prompt = prompt.replaceAll(`{${input.name}}`, value);\n }\n }\n\n const answer = await ai.run('@cf/meta/llama-3.1-8b-instruct', {\n stream: false,\n prompt,\n });\n const response = { response: answer.response, prompt, message };\n const textWithAnswer = message.text + '\\n--------\\n\\n' + answer.response;\n await space.crud.update({ id: messageId }, { text: textWithAnswer });\n\n return new Response(JSON.stringify(response));\n};\n\nconst getContext = async ({ space }: any) => {\n let context = '';\n const { objects: docs } = await space.crud.query({ __typename: 'dxos.org/type/Document' }).run();\n for (const doc of docs) {\n const { content } = await space.crud.query({ id: doc.content }).first();\n context += content + '\\n\\n';\n }\n return context;\n};\n\nenum TemplateInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { defineFunction, S } from 'dxos:functions';\n// @ts-ignore\nimport { Chess } from 'https://esm.sh/chess.js@0.13.1?bundle=false';\n\nexport default defineFunction({\n description: 'Plays a random move in a chess game.',\n\n inputSchema: S.Struct({\n changedObjectId: S.String.annotations({\n description: 'The objects to play the game on.',\n }),\n player: S.optional(S.Literal('w', 'b')).annotations({\n description: 'The player to play the game as.',\n }),\n }),\n\n outputSchema: S.Struct({\n state: S.String.annotations({\n description: 'The state of the game as an ASCII art board.',\n }),\n }),\n\n handler: async ({ data: { changedObjectId, player = 'b' }, context: { space } }: any) => {\n const { pgn } = await space.db.query({ id: changedObjectId }).first();\n const game = new Chess();\n game.load_pgn(pgn);\n if (game.turn() !== player) {\n return new Response('Invalid turn', { status: 409 });\n }\n\n const moves = game.moves();\n const move = moves[Math.floor(Math.random() * moves.length)];\n if (!move) {\n return new Response('No legal moves', { status: 406 });\n }\n\n game.move(move);\n const newPgn = game.pgn();\n await space.db.update({ id: changedObjectId }, { pgn: newPgn, fen: game.fen() });\n return { state: game.ascii() };\n },\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { defineFunction, S, create, Expando } from 'dxos:functions';\n// @ts-ignore\nimport { randText } from 'https://esm.sh/@ngneat/falso@7.1.1?bundle=false';\n\nexport default defineFunction({\n inputSchema: S.Struct({\n documentAmount: S.optional(S.Number),\n textSize: S.optional(S.Number),\n mutationAmount: S.optional(S.Number),\n }),\n\n outputSchema: S.Struct({}),\n\n handler: async ({ data: { documentAmount = 1, textSize = 10, mutationAmount = 0 }, context: { space } }: any) => {\n await space.db.graph.schemaRegistry.addSchema([Expando]);\n const result: Record<string, any> = {};\n const objects: Expando[] = [];\n\n // Create objects.\n for (let i = 0; i < documentAmount; i++) {\n const obj = space.db.add(\n create(Expando, {\n name: 'scriptGenerated',\n content: randText({ charCount: textSize }),\n }),\n );\n objects.push(obj);\n const objectResult: any = {};\n // Mutate the object.\n for (let i = 0; i < mutationAmount; i++) {\n obj.content = randText({ charCount: textSize });\n }\n objectResult.mutations = mutationAmount;\n objectResult.contentLength = obj.content.length;\n result[obj.id] = objectResult;\n }\n\n // Flush and wait for data to propagate.\n await space.db.flush();\n await new Promise((resolve) => setTimeout(resolve, 10_000));\n return { createdObjects: objects.length };\n },\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { create, defineFunction, DXN, EchoObject, Filter, ObjectId, S } from 'dxos:functions';\n// @ts-ignore\nimport { FetchHttpClient } from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';\nimport {\n DiscordConfig,\n DiscordREST,\n DiscordRESTMemoryLive,\n // @ts-ignore\n} from 'https://esm.sh/dfx@0.113.0?deps=effect@3.14.21&bundle=false';\n// @ts-ignore\nimport { Effect, Config, Redacted, Ref } from 'https://esm.sh/effect@3.14.21?bundle=false';\n\nconst MessageSchema = S.Struct({\n id: ObjectId,\n foreignId: S.Any, // bigint?\n from: S.String,\n created: S.String,\n content: S.String,\n}).pipe(\n EchoObject({\n typename: 'example.com/type/Message',\n version: '0.1.0',\n }),\n);\n\nconst DEFAULT_AFTER = 1704067200; // 2024-01-01\n\nconst generateSnowflake = (unixTimestamp: number): bigint => {\n const discordEpoch = 1420070400000n; // Discord Epoch (ms)\n return (BigInt(unixTimestamp * 1000) - discordEpoch) << 22n;\n};\n\nexport default defineFunction({\n inputSchema: S.Struct({\n // TODO(wittjosiah): Remove. This is used to provide a terminal for a cron trigger.\n tick: S.optional(S.String),\n channelId: S.String,\n after: S.optional(S.Number),\n pageSize: S.optional(S.Number),\n queueId: S.String,\n }),\n\n outputSchema: S.Struct({\n newMessages: S.Number,\n }),\n\n handler: ({ data: { channelId, queueId, after = DEFAULT_AFTER, pageSize = 5 }, context: { space } }: any) =>\n Effect.gen(function* () {\n const { token } = yield* Effect.tryPromise({\n try: () => space.db.query(Filter.typename('dxos.org/type/AccessToken', { source: 'discord.com' })).first(),\n catch: (e: any) => e,\n });\n const { objects } = yield* Effect.tryPromise({\n try: () => space.queues.queryQueue(DXN.parse(queueId)),\n catch: (e: any) => e,\n });\n const backfill = objects.length === 0;\n const newMessages = yield* Ref.make(0);\n const lastMessage = yield* Ref.make(objects.at(-1));\n\n const enqueueMessages = Effect.gen(function* () {\n const rest = yield* DiscordREST;\n\n while (true) {\n const last = yield* Ref.get(lastMessage);\n const options = {\n after: backfill && !last ? `${generateSnowflake(after)}` : last?.foreignId,\n limit: pageSize,\n };\n const messages = yield* rest.getChannelMessages(channelId, options).pipe((res: any) => res.json);\n const queueMessages = messages\n .map((message: any) =>\n create(MessageSchema, {\n id: ObjectId.random(),\n foreignId: message.id,\n from: message.author.username,\n created: message.timestamp,\n content: message.content,\n }),\n )\n .toReversed();\n if (queueMessages.length > 0) {\n yield* Effect.tryPromise({\n try: () => space.queues.insertIntoQueue(DXN.parse(queueId), queueMessages),\n catch: (e: any) => e,\n });\n yield* Ref.update(newMessages, (n: any) => n + queueMessages.length);\n yield* Ref.update(lastMessage, (m: any) => queueMessages.at(-1));\n }\n if (messages.length < pageSize) {\n break;\n }\n }\n }).pipe(\n Effect.provide(DiscordRESTMemoryLive),\n Effect.provide(\n DiscordConfig.layerConfig({\n token: Config.succeed(Redacted.make(token)),\n }),\n ),\n Effect.provide(FetchHttpClient.layer),\n );\n\n yield* enqueueMessages;\n return { newMessages: yield* Ref.get(newMessages) };\n }),\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\n/**\n * Echos the request data.\n */\nexport default async ({ data }: any) => data;\n", "//\n// Copyright 2024 DXOS.org\n//\n\n/**\n * Appends a message to the end of a Document configured through a trigger.\n * Trigger must have a targetDocumentId field set in Meta.\n */\nexport default async ({ data: { bodyText }, context: { space } }: any) => {\n const { email, targetDocumentId: documentId } = JSON.parse(bodyText) as RequestPayload;\n\n const document = await space.db.query({ id: documentId }).first();\n\n const contentId = document.content['/'].split(':')[3];\n const documentContent = await space.db.query({ id: contentId }).first();\n const modifiedContent = [\n documentContent.content,\n '',\n '---',\n `**From:** ${email.from}`,\n `**Subject:** ${email.subject}`,\n `**Date:** ${email.created}`,\n '',\n email.body,\n ].join('\\n');\n\n await space.db.update({ id: contentId }, { content: modifiedContent });\n\n return new Response(JSON.stringify({ success: true }));\n};\n\ntype RequestPayload = {\n email: { from: string; subject: string; created: string; body: string };\n targetDocumentId: string;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { S, defineFunction } from 'dxos:functions';\nimport {\n HttpClient,\n HttpClientRequest,\n FetchHttpClient,\n // @ts-ignore\n} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';\n// @ts-ignore\nimport { Effect, Schedule } from 'https://esm.sh/effect@3.14.21?bundle=false';\n\nexport default defineFunction({\n description: 'Returns the exchange rate between two currencies.',\n\n inputSchema: S.Struct({\n from: S.String.annotations({ description: 'The source currency' }),\n to: S.String.annotations({ description: 'The target currency' }),\n }),\n\n outputSchema: S.String.annotations({ description: 'The exchange rate between the two currencies' }),\n\n handler: async ({ data: { from, to } }: any) =>\n Effect.gen(function* () {\n const res = yield* HttpClientRequest.get(`https://free.ratesdb.com/v1/rates?from=${from}&to=${to}`).pipe(\n HttpClient.execute,\n Effect.flatMap((res: any) => res.json),\n Effect.timeout('1 second'),\n Effect.retry(Schedule.exponential(1_000).pipe(Schedule.compose(Schedule.recurs(3)))),\n Effect.scoped,\n );\n\n return res.data.rates[to].toString();\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { defineFunction, S } from 'dxos:functions';\n\nexport default defineFunction({\n description: 'Returns the exchange rate between two currencies.',\n\n inputSchema: S.Struct({\n from: S.String.annotations({ description: 'The source currency' }),\n to: S.String.annotations({ description: 'The target currency' }),\n }),\n\n handler: async ({ data: { from, to } }: any) => {\n const res = await fetch(`https://free.ratesdb.com/v1/rates?from=${from}&to=${to}`);\n const {\n data: { rates },\n } = await res.json();\n\n return rates[to].toString();\n },\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { create, defineFunction, EchoObject, Filter, ObjectId, S } from 'dxos:functions';\n// @ts-ignore\nimport {\n HttpClient,\n HttpClientRequest,\n FetchHttpClient,\n // @ts-ignore\n} from 'https://esm.sh/@effect/platform@0.77.2?deps=effect@3.14.21&bundle=false';\n// @ts-ignore\nimport { format, subDays } from 'https://esm.sh/date-fns@3.3.1?bundle=false';\n// @ts-ignore\nimport { pipe, Chunk, Effect, Ref, Schedule, Stream } from 'https://esm.sh/effect@3.14.21?bundle=false';\n\nexport default defineFunction({\n inputSchema: S.Struct({\n mailboxId: S.String,\n userId: S.optional(S.String).pipe(S.withDecodingDefault(() => 'me')),\n after: S.optional(S.Union(S.Number, S.String)).pipe(\n S.withDecodingDefault(() => format(subDays(new Date(), 30), 'yyyy-MM-dd')),\n ),\n pageSize: S.optional(S.Number).pipe(S.withDecodingDefault(() => 100)),\n // TODO(wittjosiah): Remove. This is used to provide a terminal for a cron trigger.\n tick: S.optional(S.String),\n }),\n\n outputSchema: S.Struct({\n newMessages: S.Number,\n }),\n\n handler: ({ context: { space }, data: { mailboxId, userId, after, pageSize } }: any) =>\n Effect.gen(function* () {\n const { token } = yield* Effect.tryPromise({\n try: () => space.db.query(Filter.typename('dxos.org/type/AccessToken', { source: 'gmail.com' })).first(),\n catch: (e: any) => e,\n });\n\n // NOTE: Google API bundles size is v. large and caused runtime issues.\n const makeRequest = (url: string) =>\n pipe(\n url,\n HttpClientRequest.get,\n HttpClientRequest.setHeaders({ Authorization: `Bearer ${token}`, Accept: 'application/json' }),\n HttpClient.execute,\n Effect.flatMap((res: any) => res.json),\n Effect.timeout('1 second'),\n Effect.retry(Schedule.exponential(1000).pipe(Schedule.compose(Schedule.recurs(3)))),\n Effect.scoped,\n );\n\n const listMessages = (userId: string, q: string, pageSize: number, pageToken: string | null) =>\n makeRequest(getUrl(userId, undefined, { q, pageSize, pageToken }));\n\n const getMessage = (userId: string, messageId: string) => makeRequest(getUrl(userId, messageId));\n\n const mailbox = yield* Effect.tryPromise({\n try: () => space.db.query({ id: mailboxId }).first(),\n catch: (e: any) => e,\n });\n const { objects } = yield* Effect.tryPromise({\n try: () => space.queues.queryQueue(mailbox.queue.dxn),\n catch: (e: any) => e,\n });\n const newMessages = yield* Ref.make([]);\n const nextPage = yield* Ref.make(null);\n\n do {\n const last = objects.at(-1);\n const q = last\n ? `in:inbox after:${Math.floor(new Date(last.created).getTime() / 1000)}`\n : `in:inbox after:${after}`;\n const pageToken = yield* Ref.get(nextPage);\n const { messages, nextPageToken } = yield* listMessages(userId, q, pageSize, pageToken);\n yield* Ref.update(nextPage, () => nextPageToken);\n for (const message of messages) {\n const messageDetails = yield* getMessage(userId, message.id);\n const created = new Date(parseInt(messageDetails.internalDate)).toISOString();\n const from = messageDetails.payload.headers.find((h: any) => h.name === 'From');\n const sender = from && parseEmailString(from.value);\n // TODO(wittjosiah): Improve parsing of email contents.\n const content =\n messageDetails.payload.body?.data ??\n messageDetails.payload.parts?.find((p: any) => p.mimeType === 'text/plain')?.body.data;\n // Skip the message if content or sender is missing.\n // Skip the message if it's the same as the last message.\n // TODO(wittjosiah): This comparison should be done via foreignId probably.\n if (!content || !sender || created === last?.created) {\n continue;\n }\n const subject = messageDetails.payload.headers.find((h: any) => h.name === 'Subject')?.value;\n const object = create(MessageType, {\n id: ObjectId.random(),\n created,\n sender,\n blocks: [\n {\n type: 'text',\n text: Buffer.from(content, 'base64').toString('utf-8'),\n },\n ],\n properties: {\n subject,\n threadId: message.threadId,\n },\n });\n // TODO(wittjosiah): Set foreignId in object meta.\n yield* Ref.update(newMessages, (n: any) => [object, ...n]);\n }\n } while (yield* Ref.get(nextPage));\n\n const queueMessages = yield* Ref.get(newMessages);\n if (queueMessages.length > 0) {\n yield* pipe(\n queueMessages,\n Stream.fromIterable,\n Stream.grouped(10),\n Stream.flatMap((batch: any) =>\n Effect.tryPromise({\n try: () => space.queues.insertIntoQueue(mailbox.queue.dxn, Chunk.toReadonlyArray(batch)),\n catch: (e: any) => e,\n }),\n ),\n Stream.runDrain,\n );\n }\n\n return { newMessages: queueMessages.length };\n }).pipe(Effect.provide(FetchHttpClient.layer)),\n});\n\nconst getUrl = (userId: string, messageId?: string, params?: Record<string, any>) => {\n const api = new URL(\n [`https://gmail.googleapis.com/gmail/v1/users/${userId}/messages`, messageId].filter(Boolean).join('/'),\n );\n Object.entries(params ?? {})\n .filter(([_, value]) => value != null)\n .forEach(([key, value]) => api.searchParams.set(key, value));\n return api.toString();\n};\n\n/**\n * Parses an email string in the format \"Name <email@example.com>\" into separate name and email components.\n */\nconst parseEmailString = (emailString: string): { name?: string; email: string } | undefined => {\n const match = emailString.match(/^([^<]+?)\\s*<([^>]+@[^>]+)>$/);\n if (match) {\n const [, name, email] = match;\n return {\n name: name.trim(),\n email: email.trim(),\n };\n }\n\n return undefined;\n};\n\n//\n// Schemas\n// TODO(wittjosiah): These schemas should be imported from @dxos/schema.\n//\n\nconst ActorRoles = ['user', 'assistant'] as const;\nconst ActorRole = S.Literal(...ActorRoles);\ntype ActorRole = S.Schema.Type<typeof ActorRole>;\n\nconst ActorSchema = S.Struct({\n identityKey: S.optional(S.String),\n email: S.optional(S.String),\n name: S.optional(S.String),\n role: S.optional(ActorRole),\n});\n\nconst AbstractContentBlock = S.Struct({\n pending: S.optional(S.Boolean),\n});\ntype AbstractContentBlock = S.Schema.Type<typeof AbstractContentBlock>;\nconst TextContentBlock = S.extend(\n AbstractContentBlock,\n S.Struct({\n type: S.Literal('text'),\n disposition: S.optional(S.String),\n text: S.String,\n }),\n).pipe(S.mutable);\ntype TextContentBlock = S.Schema.Type<typeof TextContentBlock>;\nconst JsonContentBlock = S.extend(\n AbstractContentBlock,\n S.Struct({\n type: S.Literal('json'),\n disposition: S.optional(S.String),\n data: S.String,\n }),\n).pipe(S.mutable);\ntype JsonContentBlock = S.Schema.Type<typeof JsonContentBlock>;\nconst Base64ImageSource = S.Struct({\n type: S.Literal('base64'),\n mediaType: S.String,\n data: S.String,\n}).pipe(S.mutable);\nconst HttpImageSource = S.Struct({\n type: S.Literal('http'),\n url: S.String,\n}).pipe(S.mutable);\nconst ImageSource = S.Union(Base64ImageSource, HttpImageSource);\ntype ImageSource = S.Schema.Type<typeof ImageSource>;\nconst ImageContentBlock = S.extend(\n AbstractContentBlock,\n S.Struct({\n type: S.Literal('image'),\n id: S.optional(S.String),\n source: S.optional(ImageSource),\n }),\n).pipe(S.mutable);\ntype ImageContentBlock = S.Schema.Type<typeof ImageContentBlock>;\nconst ReferenceContentBlock = S.extend(\n AbstractContentBlock,\n S.Struct({\n type: S.Literal('reference'),\n reference: S.Any,\n }),\n).pipe(S.mutable);\ntype ReferenceContentBlock = S.Schema.Type<typeof ReferenceContentBlock>;\nconst MessageContentBlock = S.Union(TextContentBlock, JsonContentBlock, ImageContentBlock, ReferenceContentBlock);\n\nconst MessageType = S.Struct({\n id: ObjectId,\n created: S.String.annotations({\n description: 'ISO date string when the message was sent.',\n }),\n sender: ActorSchema.annotations({\n description: 'Identity of the message sender.',\n }),\n blocks: S.Array(MessageContentBlock).annotations({\n description: 'Contents of the message.',\n }),\n properties: S.optional(\n S.mutable(\n S.Record({ key: S.String, value: S.Any }).annotations({\n description: 'Custom properties for specific message types (e.g. attention context, email subject, etc.).',\n }),\n ),\n ),\n}).pipe(\n EchoObject({\n typename: 'dxos.org/type/Message',\n version: '0.2.0',\n }),\n);\ntype MessageType = S.Schema.Type<typeof MessageType>;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport chat from './chat.ts?raw';\nimport chess from './chess.ts?raw';\nimport dataGenerator from './data-generator.ts?raw';\nimport discord from './discord.ts?raw';\nimport echo from './echo.ts?raw';\nimport email from './email.ts?raw';\nimport forexEffect from './forex-effect.ts?raw';\nimport forex from './forex.ts?raw';\nimport gmail from './gmail.ts?raw';\n\nconst removeHeader = (str: string) => str.split('\\n').slice(4).join('\\n');\n\nexport { dataGenerator };\n\nexport type Template = {\n id: string;\n name: string;\n source: string;\n presetId?: string;\n};\n\nexport const templates: Template[] = [\n {\n id: 'dxos.org/script/echo',\n name: 'Echo',\n source: removeHeader(echo),\n },\n {\n id: 'dxos.org/script/forex',\n name: 'Forex',\n source: removeHeader(forex),\n },\n {\n id: 'dxos.org/script/forex-effect',\n name: 'Forex (Effect)',\n source: removeHeader(forexEffect),\n },\n {\n id: 'dxos.org/script/gpt',\n name: 'Gpt',\n source: removeHeader(chat),\n presetId: 'dxos.org/function/gpt',\n },\n {\n id: 'dxos.org/script/chess',\n name: 'Chess',\n source: removeHeader(chess),\n presetId: 'dxos.org/function/chess',\n },\n {\n id: 'dxos.org/script/email',\n name: 'Email',\n source: removeHeader(email),\n presetId: 'dxos.org/function/email',\n },\n {\n id: 'dxos.org/script/discord',\n name: 'Discord',\n source: removeHeader(discord),\n presetId: 'dxos.org/function/discord',\n },\n {\n id: 'dxos.org/script/gmail',\n name: 'Gmail',\n source: removeHeader(gmail),\n presetId: 'dxos.org/function/gmail',\n },\n {\n id: 'dxos.org/script/data-generator',\n name: 'Data Generator',\n source: removeHeader(dataGenerator),\n presetId: 'dxos.org/function/data-generator',\n },\n];\n"],
5
- "mappings": ";AAAA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;;;ACAA;;;ACcA,IAAMA,eAAe,CAACC,QAAgBA,IAAIC,MAAM,IAAA,EAAMC,MAAM,CAAA,EAAGC,KAAK,IAAA;AAW7D,IAAMC,YAAwB;EACnC;IACEC,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaC,YAAAA;EACvB;EACA;IACEJ,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaE,aAAAA;EACvB;EACA;IACEL,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaG,oBAAAA;EACvB;EACA;IACEN,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaI,YAAAA;IACrBC,UAAU;EACZ;EACA;IACER,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaM,aAAAA;IACrBD,UAAU;EACZ;EACA;IACER,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaO,aAAAA;IACrBF,UAAU;EACZ;EACA;IACER,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaQ,eAAAA;IACrBH,UAAU;EACZ;EACA;IACER,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaS,aAAAA;IACrBJ,UAAU;EACZ;EACA;IACER,IAAI;IACJC,MAAM;IACNC,QAAQC,aAAaU,sBAAAA;IACrBL,UAAU;EACZ;;",
6
- "names": ["removeHeader", "str", "split", "slice", "join", "templates", "id", "name", "source", "removeHeader", "echo", "forex", "forexEffect", "chat", "presetId", "chess", "email", "discord", "gmail", "dataGenerator"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/compiler.ts", "../../../src/compiler/compiler.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\n\nimport { contributes } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions/bundler';\n\nimport { ScriptCapabilities } from './capabilities';\nimport { Compiler } from '../compiler';\n\nexport default async () => {\n const compiler = new Compiler();\n\n await compiler.initialize();\n // TODO(wittjosiah): Fetch types for https modules.\n compiler.setFile('/src/typings.d.ts', \"declare module 'https://*';\");\n // TODO(wittjosiah): Proper function handler types.\n // TODO(wittjosiah): Remove.\n compiler.setFile(\n '/src/runtime.ts',\n `\n export const Filter: any = {};\n export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;\n export const functionHandler = (handler: FunctionHandler) => handler;\n `,\n );\n await initializeBundler({ wasmUrl });\n\n return contributes(ScriptCapabilities.Compiler, compiler);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n type VirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.5.4', true, ts);\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, [], ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
5
- "mappings": ";;;;;;AAKA,OAAOA,aAAa;AAEpB,SAASC,mBAAmB;AAC5B,SAASC,yBAAyB;;;ACJlC,SACEC,yBACAC,cACAC,0CAEK;AACP,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;;AAE1B,IAAMC,iBAAqC;EACzCC,KAAK;IAAC;IAAO;;EACbC,QAAQJ,GAAGK,aAAaC;AAC1B;AAEO,IAAMC,WAAN,MAAMA;EAIX,YAA6BC,WAA+BN,gBAAgB;SAA/CM,WAAAA;EAAgD;EAE7E,MAAMC,aAA4B;AAChC,QAAI,KAAKC,MAAM;AACb;IACF;AAIA,SAAKC,SAAS,MAAMd,wBAAwB,KAAKW,UAAU,SAAS,MAAMR,EAAAA;AAC1E,UAAMY,SAASd,aAAa,KAAKa,MAAM;AACvC,SAAKD,OAAOX,mCAAmCa,QAAQ,CAAA,GAAIZ,IAAI,KAAKQ,QAAQ;EAC9E;EAEA,IAAIK,cAAc;AAChBZ,cAAU,KAAKS,MAAM,yCAAA;;;;;;;;;AACrB,WAAO,KAAKA;EACd;EAEAI,QAAQC,UAAkBC,SAAuB;AAC/Cf,cAAU,KAAKU,QAAQ,oCAAA;;;;;;;;;AACvB,SAAKE,YAAYI,WAAWF,UAAUC,OAAAA;EACxC;EAEAE,QAAQH,UAAiC;AACvC,WAAO,KAAKF,YAAYM,gBAAgBC,cAAcL,QAAAA;EACxD;AACF;;;ADrCA,IAAA,mBAAe,YAAA;AACb,QAAMM,WAAW,IAAIC,SAAAA;AAErB,QAAMD,SAASE,WAAU;AAEzBF,WAASG,QAAQ,qBAAqB,6BAAA;AAGtCH,WAASG,QACP,mBACA;;;;OAIG;AAEL,QAAMC,kBAAkB;IAAEC;EAAQ,CAAA;AAElC,SAAOC,YAAYC,mBAAmBN,UAAUD,QAAAA;AAClD;",
6
- "names": ["wasmUrl", "contributes", "initializeBundler", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "_options", "initialize", "_env", "_fsMap", "system", "environment", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "compiler", "Compiler", "initialize", "setFile", "initializeBundler", "wasmUrl", "contributes", "ScriptCapabilities"]
7
- }
@@ -1,91 +0,0 @@
1
- import "./chunk-FIM2MVNJ.mjs";
2
- import {
3
- DEPLOYMENT_DIALOG
4
- } from "./chunk-P4HQKUCP.mjs";
5
- import "./chunk-3U6DTUH3.mjs";
6
- import {
7
- templates
8
- } from "./chunk-R4R7VOFY.mjs";
9
- import "./chunk-FMDXKOP7.mjs";
10
- import {
11
- ScriptAction
12
- } from "./chunk-IS4OG2UW.mjs";
13
- import {
14
- defaultScriptsForIntegration
15
- } from "./chunk-QYAREHGH.mjs";
16
-
17
- // src/capabilities/intent-resolver.ts
18
- import { Octokit } from "@octokit/core";
19
- import { Predicate } from "effect";
20
- import { contributes, Capabilities, createResolver, createIntent, LayoutAction } from "@dxos/app-framework";
21
- import { Obj, Ref } from "@dxos/echo";
22
- import { ScriptType } from "@dxos/functions";
23
- import { TokenManagerAction } from "@dxos/plugin-token-manager/types";
24
- import { DataType } from "@dxos/schema";
25
- var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
26
- createResolver({
27
- intent: ScriptAction.Create,
28
- resolve: async ({ name, gistUrl, initialTemplateId }) => {
29
- let content = templates[0].source;
30
- const gistId = gistUrl?.split("/").at(-1);
31
- if (gistId) {
32
- const octokit = new Octokit();
33
- const response = await octokit.request("GET /gists/{gist_id}", {
34
- gist_id: gistId
35
- });
36
- const gistContent = Object.values(response.data.files ?? {})[0]?.content;
37
- if (gistContent) {
38
- content = gistContent;
39
- }
40
- }
41
- if (initialTemplateId) {
42
- const template = templates.find((template2) => template2.id === initialTemplateId);
43
- if (template) {
44
- content = template.source;
45
- name = template.name;
46
- }
47
- }
48
- return {
49
- data: {
50
- object: Obj.make(ScriptType, {
51
- name,
52
- source: Ref.make(Obj.make(DataType.Text, {
53
- content
54
- }))
55
- })
56
- }
57
- };
58
- }
59
- }),
60
- createResolver({
61
- intent: TokenManagerAction.AccessTokenCreated,
62
- resolve: async ({ accessToken }) => {
63
- const scriptTemplates = (defaultScriptsForIntegration[accessToken.source] ?? []).map((id) => templates.find((t) => t.id === id)).filter(Predicate.isNotNullable);
64
- if (scriptTemplates.length > 0) {
65
- return {
66
- intents: [
67
- createIntent(LayoutAction.UpdateDialog, {
68
- part: "dialog",
69
- subject: DEPLOYMENT_DIALOG,
70
- options: {
71
- blockAlign: "start",
72
- state: true,
73
- props: {
74
- accessToken,
75
- scriptTemplates
76
- }
77
- }
78
- })
79
- ]
80
- };
81
- }
82
- return {
83
- data: void 0
84
- };
85
- }
86
- })
87
- ]);
88
- export {
89
- intent_resolver_default as default
90
- };
91
- //# sourceMappingURL=intent-resolver-7B77IG3N.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport { Predicate } from 'effect';\n\nimport { contributes, Capabilities, createResolver, createIntent, LayoutAction } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { TokenManagerAction } from '@dxos/plugin-token-manager/types';\nimport { DataType } from '@dxos/schema';\n\nimport { DEPLOYMENT_DIALOG } from '../components';\nimport { defaultScriptsForIntegration } from '../meta';\nimport { templates } from '../templates';\nimport { ScriptAction } from '../types';\n\nexport default () =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ScriptAction.Create,\n resolve: async ({ name, gistUrl, initialTemplateId }) => {\n let content = templates[0].source;\n\n const gistId = gistUrl?.split('/').at(-1);\n if (gistId) {\n // TODO(wittjosiah): Capability which contributes Octokit?\n // NOTE: AccessToken not needed to read public gists.\n const octokit = new Octokit();\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n const gistContent = Object.values(response.data.files ?? {})[0]?.content;\n if (gistContent) {\n content = gistContent;\n }\n }\n\n if (initialTemplateId) {\n const template = templates.find((template) => template.id === initialTemplateId);\n if (template) {\n content = template.source;\n name = template.name;\n }\n }\n\n return {\n data: {\n object: Obj.make(ScriptType, {\n name,\n source: Ref.make(Obj.make(DataType.Text, { content })),\n }),\n },\n };\n },\n }),\n createResolver({\n intent: TokenManagerAction.AccessTokenCreated,\n resolve: async ({ accessToken }) => {\n const scriptTemplates = (defaultScriptsForIntegration[accessToken.source] ?? [])\n .map((id) => templates.find((t) => t.id === id))\n .filter(Predicate.isNotNullable);\n\n if (scriptTemplates.length > 0) {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: DEPLOYMENT_DIALOG,\n options: { blockAlign: 'start', state: true, props: { accessToken, scriptTemplates } },\n }),\n ],\n };\n }\n\n return { data: undefined };\n },\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAIA,SAASA,eAAe;AACxB,SAASC,iBAAiB;AAE1B,SAASC,aAAaC,cAAcC,gBAAgBC,cAAcC,oBAAoB;AACtF,SAASC,KAAKC,WAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,gBAAgB;AAOzB,IAAA,0BAAe,MACbC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,OAAO,EAAEC,MAAMC,SAASC,kBAAiB,MAAE;AAClD,UAAIC,UAAUC,UAAU,CAAA,EAAGC;AAE3B,YAAMC,SAASL,SAASM,MAAM,GAAA,EAAKC,GAAG,EAAC;AACvC,UAAIF,QAAQ;AAGV,cAAMG,UAAU,IAAIC,QAAAA;AACpB,cAAMC,WAAW,MAAMF,QAAQG,QAAQ,wBAAwB;UAC7DC,SAASP;QACX,CAAA;AACA,cAAMQ,cAAcC,OAAOC,OAAOL,SAASM,KAAKC,SAAS,CAAC,CAAA,EAAG,CAAA,GAAIf;AACjE,YAAIW,aAAa;AACfX,oBAAUW;QACZ;MACF;AAEA,UAAIZ,mBAAmB;AACrB,cAAMiB,WAAWf,UAAUgB,KAAK,CAACD,cAAaA,UAASE,OAAOnB,iBAAAA;AAC9D,YAAIiB,UAAU;AACZhB,oBAAUgB,SAASd;AACnBL,iBAAOmB,SAASnB;QAClB;MACF;AAEA,aAAO;QACLiB,MAAM;UACJK,QAAQC,IAAIC,KAAKC,YAAY;YAC3BzB;YACAK,QAAQqB,IAAIF,KAAKD,IAAIC,KAAKG,SAASC,MAAM;cAAEzB;YAAQ,CAAA,CAAA;UACrD,CAAA;QACF;MACF;IACF;EACF,CAAA;EACAR,eAAe;IACbC,QAAQiC,mBAAmBC;IAC3B/B,SAAS,OAAO,EAAEgC,YAAW,MAAE;AAC7B,YAAMC,mBAAmBC,6BAA6BF,YAAY1B,MAAM,KAAK,CAAA,GAC1E6B,IAAI,CAACb,OAAOjB,UAAUgB,KAAK,CAACe,MAAMA,EAAEd,OAAOA,EAAAA,CAAAA,EAC3Ce,OAAOC,UAAUC,aAAa;AAEjC,UAAIN,gBAAgBO,SAAS,GAAG;AAC9B,eAAO;UACLC,SAAS;YACPC,aAAaC,aAAaC,cAAc;cACtCC,MAAM;cACNC,SAASC;cACTC,SAAS;gBAAEC,YAAY;gBAASC,OAAO;gBAAMC,OAAO;kBAAEnB;kBAAaC;gBAAgB;cAAE;YACvF,CAAA;;QAEJ;MACF;AAEA,aAAO;QAAEf,MAAMkC;MAAU;IAC3B;EACF,CAAA;CACD;",
6
- "names": ["Octokit", "Predicate", "contributes", "Capabilities", "createResolver", "createIntent", "LayoutAction", "Obj", "Ref", "ScriptType", "TokenManagerAction", "DataType", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ScriptAction", "Create", "resolve", "name", "gistUrl", "initialTemplateId", "content", "templates", "source", "gistId", "split", "at", "octokit", "Octokit", "response", "request", "gist_id", "gistContent", "Object", "values", "data", "files", "template", "find", "id", "object", "Obj", "make", "ScriptType", "Ref", "DataType", "Text", "TokenManagerAction", "AccessTokenCreated", "accessToken", "scriptTemplates", "defaultScriptsForIntegration", "map", "t", "filter", "Predicate", "isNotNullable", "length", "intents", "createIntent", "LayoutAction", "UpdateDialog", "part", "subject", "DEPLOYMENT_DIALOG", "options", "blockAlign", "state", "props", "undefined"]
7
- }
@@ -1,104 +0,0 @@
1
- import {
2
- DeploymentDialog,
3
- ScriptContainer,
4
- ScriptObjectSettings,
5
- ScriptPluginSettings,
6
- ScriptProperties,
7
- TestContainer
8
- } from "./chunk-FIM2MVNJ.mjs";
9
- import {
10
- ScriptCapabilities
11
- } from "./chunk-5TVBECWH.mjs";
12
- import {
13
- DEPLOYMENT_DIALOG
14
- } from "./chunk-P4HQKUCP.mjs";
15
- import "./chunk-3U6DTUH3.mjs";
16
- import "./chunk-R4R7VOFY.mjs";
17
- import "./chunk-FMDXKOP7.mjs";
18
- import "./chunk-IS4OG2UW.mjs";
19
- import {
20
- meta
21
- } from "./chunk-QYAREHGH.mjs";
22
-
23
- // src/capabilities/react-surface.tsx
24
- import React from "react";
25
- import { Capabilities, contributes, createSurface, useCapability } from "@dxos/app-framework";
26
- import { InvocationTraceContainer } from "@dxos/devtools";
27
- import { Obj } from "@dxos/echo";
28
- import { ScriptType } from "@dxos/functions";
29
- import { SettingsStore } from "@dxos/local-storage";
30
- import { getSpace } from "@dxos/react-client/echo";
31
- import { StackItem } from "@dxos/react-ui-stack";
32
- var react_surface_default = () => contributes(Capabilities.ReactSurface, [
33
- createSurface({
34
- id: `${meta.id}/plugin-settings`,
35
- role: "article",
36
- filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === meta.id,
37
- component: ({ data: { subject } }) => /* @__PURE__ */ React.createElement(ScriptPluginSettings, {
38
- settings: subject.value
39
- })
40
- }),
41
- createSurface({
42
- id: `${meta.id}/article`,
43
- role: "article",
44
- filter: (data) => Obj.instanceOf(ScriptType, data.subject),
45
- component: ({ data, role }) => {
46
- const compiler = useCapability(ScriptCapabilities.Compiler);
47
- const settings = useCapability(Capabilities.SettingsStore).getStore(meta.id)?.value;
48
- return /* @__PURE__ */ React.createElement(ScriptContainer, {
49
- role,
50
- script: data.subject,
51
- settings,
52
- env: compiler.environment
53
- });
54
- }
55
- }),
56
- createSurface({
57
- id: `${meta.id}/companion/base-settings`,
58
- role: "base-object-settings",
59
- filter: (data) => Obj.instanceOf(ScriptType, data.subject),
60
- component: ({ data }) => /* @__PURE__ */ React.createElement(ScriptProperties, {
61
- object: data.subject
62
- })
63
- }),
64
- createSurface({
65
- id: `${meta.id}/companion/settings`,
66
- role: "object-settings",
67
- filter: (data) => Obj.instanceOf(ScriptType, data.subject),
68
- component: ({ data }) => /* @__PURE__ */ React.createElement(ScriptObjectSettings, {
69
- object: data.subject
70
- })
71
- }),
72
- createSurface({
73
- id: `${meta.id}/companion/execute`,
74
- role: "article",
75
- filter: (data) => Obj.instanceOf(ScriptType, data.companionTo) && data.subject === "execute",
76
- component: ({ data, role }) => /* @__PURE__ */ React.createElement(TestContainer, {
77
- script: data.companionTo,
78
- role
79
- })
80
- }),
81
- createSurface({
82
- id: `${meta.id}/companion/logs`,
83
- role: "article",
84
- filter: (data) => Obj.instanceOf(ScriptType, data.companionTo) && data.subject === "logs",
85
- component: ({ data, role }) => {
86
- const space = getSpace(data.companionTo);
87
- return /* @__PURE__ */ React.createElement(StackItem.Content, null, /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
88
- space,
89
- target: data.companionTo,
90
- detailAxis: "block"
91
- }));
92
- }
93
- }),
94
- createSurface({
95
- id: DEPLOYMENT_DIALOG,
96
- role: "dialog",
97
- filter: (data) => data.component === DEPLOYMENT_DIALOG,
98
- component: ({ data }) => /* @__PURE__ */ React.createElement(DeploymentDialog, data.props)
99
- })
100
- ]);
101
- export {
102
- react_surface_default as default
103
- };
104
- //# sourceMappingURL=react-surface-FYYXZA7C.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Obj } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { type DataType } from '@dxos/schema';\n\nimport { ScriptCapabilities } from './capabilities';\nimport {\n DEPLOYMENT_DIALOG,\n DeploymentDialog,\n ScriptContainer,\n ScriptPluginSettings,\n ScriptObjectSettings,\n ScriptProperties,\n TestContainer,\n} from '../components';\nimport { meta } from '../meta';\nimport { type ScriptSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ScriptSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === meta.id,\n component: ({ data: { subject } }) => <ScriptPluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${meta.id}/article`,\n role: 'article',\n filter: (data): data is { subject: ScriptType } => Obj.instanceOf(ScriptType, data.subject),\n component: ({ data, role }) => {\n const compiler = useCapability(ScriptCapabilities.Compiler);\n // TODO(dmaretskyi): Since settings store is not reactive, this would break on the script plugin being enabled without a page reload.\n const settings = useCapability(Capabilities.SettingsStore).getStore<ScriptSettingsProps>(meta.id)?.value;\n return <ScriptContainer role={role} script={data.subject} settings={settings} env={compiler.environment} />;\n },\n }),\n createSurface({\n id: `${meta.id}/companion/base-settings`,\n role: 'base-object-settings',\n filter: (data): data is { subject: ScriptType } => Obj.instanceOf(ScriptType, data.subject),\n component: ({ data }) => <ScriptProperties object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/companion/settings`,\n role: 'object-settings',\n filter: (data): data is { subject: ScriptType } => Obj.instanceOf(ScriptType, data.subject),\n component: ({ data }) => <ScriptObjectSettings object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/companion/execute`,\n role: 'article',\n filter: (data): data is { companionTo: ScriptType } =>\n Obj.instanceOf(ScriptType, data.companionTo) && data.subject === 'execute',\n component: ({ data, role }) => <TestContainer script={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/companion/logs`,\n role: 'article',\n filter: (data): data is { companionTo: ScriptType } =>\n Obj.instanceOf(ScriptType, data.companionTo) && data.subject === 'logs',\n component: ({ data, role }) => {\n const space = getSpace(data.companionTo);\n return (\n <StackItem.Content>\n <InvocationTraceContainer space={space} target={data.companionTo} detailAxis='block' />\n </StackItem.Content>\n );\n },\n }),\n createSurface({\n id: DEPLOYMENT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: { accessToken: DataType.AccessToken; scriptTemplates: any } } =>\n data.component === DEPLOYMENT_DIALOG,\n component: ({ data }) => <DeploymentDialog {...data.props} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,eAAeC,qBAAqB;AACxE,SAASC,gCAAgC;AACzC,SAASC,WAAW;AACpB,SAASC,kBAAkB;AAC3B,SAASC,qBAAqB;AAC9B,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAgB1B,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKC,mBAAmBC,iBAAiBF,KAAKC,QAAQE,WAAWN,KAAKD;IACxEQ,WAAW,CAAC,EAAEJ,MAAM,EAAEC,QAAO,EAAE,MAAO,sBAAA,cAACI,sBAAAA;MAAqBC,UAAUL,QAAQM;;EAChF,CAAA;EACAZ,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA0CQ,IAAIC,WAAWC,YAAYV,KAAKC,OAAO;IAC1FG,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAE;AACxB,YAAMa,WAAWC,cAAcC,mBAAmBC,QAAQ;AAE1D,YAAMR,WAAWM,cAAcnB,aAAaS,aAAa,EAAEa,SAA8BlB,KAAKD,EAAE,GAAGW;AACnG,aAAO,sBAAA,cAACS,iBAAAA;QAAgBlB;QAAYmB,QAAQjB,KAAKC;QAASK;QAAoBY,KAAKP,SAASQ;;IAC9F;EACF,CAAA;EACAxB,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA0CQ,IAAIC,WAAWC,YAAYV,KAAKC,OAAO;IAC1FG,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACoB,kBAAAA;MAAiBC,QAAQrB,KAAKC;;EAC1D,CAAA;EACAN,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA0CQ,IAAIC,WAAWC,YAAYV,KAAKC,OAAO;IAC1FG,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACsB,sBAAAA;MAAqBD,QAAQrB,KAAKC;;EAC9D,CAAA;EACAN,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPQ,IAAIC,WAAWC,YAAYV,KAAKuB,WAAW,KAAKvB,KAAKC,YAAY;IACnEG,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAO,sBAAA,cAAC0B,eAAAA;MAAcP,QAAQjB,KAAKuB;MAAazB;;EAC1E,CAAA;EACAH,cAAc;IACZC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SACPQ,IAAIC,WAAWC,YAAYV,KAAKuB,WAAW,KAAKvB,KAAKC,YAAY;IACnEG,WAAW,CAAC,EAAEJ,MAAMF,KAAI,MAAE;AACxB,YAAM2B,QAAQC,SAAS1B,KAAKuB,WAAW;AACvC,aACE,sBAAA,cAACI,UAAUC,SAAO,MAChB,sBAAA,cAACC,0BAAAA;QAAyBJ;QAAcK,QAAQ9B,KAAKuB;QAAaQ,YAAW;;IAGnF;EACF,CAAA;EACApC,cAAc;IACZC,IAAIoC;IACJlC,MAAM;IACNC,QAAQ,CAACC,SACPA,KAAKI,cAAc4B;IACrB5B,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACiC,kBAAqBjC,KAAKkC,KAAK;EAC3D,CAAA;CACD;",
6
- "names": ["React", "Capabilities", "contributes", "createSurface", "useCapability", "InvocationTraceContainer", "Obj", "ScriptType", "SettingsStore", "getSpace", "StackItem", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "ScriptPluginSettings", "settings", "value", "Obj", "instanceOf", "ScriptType", "compiler", "useCapability", "ScriptCapabilities", "Compiler", "getStore", "ScriptContainer", "script", "env", "environment", "ScriptProperties", "object", "ScriptObjectSettings", "companionTo", "TestContainer", "space", "getSpace", "StackItem", "Content", "InvocationTraceContainer", "target", "detailAxis", "DEPLOYMENT_DIALOG", "DeploymentDialog", "props"]
7
- }
@@ -1,24 +0,0 @@
1
- import {
2
- ScriptSettingsSchema
3
- } from "./chunk-IS4OG2UW.mjs";
4
- import {
5
- meta
6
- } from "./chunk-QYAREHGH.mjs";
7
-
8
- // src/capabilities/settings.ts
9
- import { Capabilities, contributes } from "@dxos/app-framework";
10
- import { live } from "@dxos/live-object";
11
- var settings_default = () => {
12
- const settings = live(ScriptSettingsSchema, {
13
- editorInputMode: "vscode"
14
- });
15
- return contributes(Capabilities.Settings, {
16
- prefix: meta.id,
17
- schema: ScriptSettingsSchema,
18
- value: settings
19
- });
20
- };
21
- export {
22
- settings_default as default
23
- };
24
- //# sourceMappingURL=settings-KCTBK5TY.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { meta } from '../meta';\nimport { ScriptSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live(ScriptSettingsSchema, {\n editorInputMode: 'vscode',\n });\n\n return contributes(Capabilities.Settings, {\n prefix: meta.id,\n schema: ScriptSettingsSchema,\n value: settings,\n });\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAmB;AAC1C,SAASC,YAAY;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMC,WAAWC,KAAKC,sBAAsB;IAC1CC,iBAAiB;EACnB,CAAA;AAEA,SAAOC,YAAYC,aAAaC,UAAU;IACxCC,QAAQC,KAAKC;IACbC,QAAQR;IACRS,OAAOX;EACT,CAAA;AACF;",
6
- "names": ["Capabilities", "contributes", "live", "settings", "live", "ScriptSettingsSchema", "editorInputMode", "contributes", "Capabilities", "Settings", "prefix", "meta", "id", "schema", "value"]
7
- }
@@ -1,13 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- DEPLOYMENT_DIALOG,
4
- DeploymentDialog_default
5
- } from "./chunk-QKK3NDHW.mjs";
6
- import "./chunk-XJPK3IYI.mjs";
7
- import "./chunk-JIPFLBYA.mjs";
8
- import "./chunk-AHXJ6NQU.mjs";
9
- export {
10
- DEPLOYMENT_DIALOG,
11
- DeploymentDialog_default as default
12
- };
13
- //# sourceMappingURL=DeploymentDialog-3KPRWFE7.mjs.map
@@ -1,263 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- createDeploy,
4
- createFormat,
5
- createTemplateSelect,
6
- useDeployDeps,
7
- useDeployState,
8
- useToolbarState
9
- } from "./chunk-RT43MACC.mjs";
10
- import "./chunk-F5GFJ3PY.mjs";
11
- import "./chunk-XJPK3IYI.mjs";
12
- import "./chunk-JIPFLBYA.mjs";
13
- import {
14
- SCRIPT_PLUGIN
15
- } from "./chunk-AHXJ6NQU.mjs";
16
-
17
- // src/components/ScriptContainer.tsx
18
- import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
19
- import React3, { useMemo as useMemo2 } from "react";
20
- import { createDocAccessor, getSpace } from "@dxos/react-client/echo";
21
- import { useIdentity } from "@dxos/react-client/halo";
22
- import { createDataExtensions, listener, stackItemContentEditorClassNames } from "@dxos/react-ui-editor";
23
- import { StackItem } from "@dxos/react-ui-stack";
24
-
25
- // src/components/ScriptToolbar/ScriptToolbar.tsx
26
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
27
- import { Rx } from "@effect-rx/rx-react";
28
- import React, { useMemo } from "react";
29
- import { fullyQualifiedId } from "@dxos/react-client/echo";
30
- import { ElevationProvider, useTranslation } from "@dxos/react-ui";
31
- import { createGapSeparator, MenuProvider, rxFromSignal, ToolbarMenu, useMenuActions } from "@dxos/react-ui-menu";
32
- var createToolbar = ({ state, script, ...options }) => Rx.make((get) => get(rxFromSignal(() => {
33
- const templateSelect = createTemplateSelect(script);
34
- const format = createFormat(script);
35
- const gap = createGapSeparator();
36
- const deploy = createDeploy({
37
- state,
38
- script,
39
- ...options
40
- });
41
- return {
42
- nodes: [
43
- ...templateSelect.nodes,
44
- ...format.nodes,
45
- ...gap.nodes,
46
- ...deploy.nodes
47
- ],
48
- edges: [
49
- ...templateSelect.edges,
50
- ...format.edges,
51
- ...gap.edges,
52
- ...deploy.edges
53
- ]
54
- };
55
- })));
56
- var ScriptToolbar = ({ script, role, state, classNames }) => {
57
- var _effect = _useSignals();
58
- try {
59
- const { t } = useTranslation(SCRIPT_PLUGIN);
60
- const options = useDeployDeps({
61
- script
62
- });
63
- const toolbarCreator = useMemo(() => createToolbar({
64
- state,
65
- script,
66
- t,
67
- ...options
68
- }), [
69
- state,
70
- script,
71
- options,
72
- t
73
- ]);
74
- const menu = useMenuActions(toolbarCreator);
75
- return /* @__PURE__ */ React.createElement(ElevationProvider, {
76
- elevation: role === "section" ? "positioned" : "base"
77
- }, /* @__PURE__ */ React.createElement(MenuProvider, {
78
- ...menu,
79
- attendableId: fullyQualifiedId(script)
80
- }, /* @__PURE__ */ React.createElement(ToolbarMenu, {
81
- classNames
82
- })));
83
- } finally {
84
- _effect.f();
85
- }
86
- };
87
-
88
- // src/components/TypescriptEditor/TypescriptEditor.tsx
89
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
90
- import { javascript } from "@codemirror/lang-javascript";
91
- import { defaultHighlightStyle } from "@codemirror/language";
92
- import { lintKeymap } from "@codemirror/lint";
93
- import { Prec } from "@codemirror/state";
94
- import { oneDarkHighlightStyle } from "@codemirror/theme-one-dark";
95
- import { keymap } from "@codemirror/view";
96
- import { tags } from "@lezer/highlight";
97
- import { continueKeymap } from "@valtown/codemirror-continue";
98
- import { tsSync, tsFacet, tsLinter, tsAutocomplete, tsHover } from "@valtown/codemirror-ts";
99
- import React2 from "react";
100
- import { useThemeContext } from "@dxos/react-ui";
101
- import { InputModeExtensions, autocomplete, createBasicExtensions, createThemeExtensions, folding, useTextEditor } from "@dxos/react-ui-editor";
102
- import { mx } from "@dxos/react-ui-theme";
103
- import { isNonNullable } from "@dxos/util";
104
- var TypescriptEditor = ({ classNames, id, inputMode = "vscode", toolbar, env, initialValue, extensions, scrollTo, selection }) => {
105
- var _effect = _useSignals2();
106
- try {
107
- const { themeMode } = useThemeContext();
108
- const { parentRef, focusAttributes } = useTextEditor(() => ({
109
- id,
110
- initialValue,
111
- selection,
112
- scrollTo,
113
- extensions: [
114
- extensions,
115
- createBasicExtensions({
116
- highlightActiveLine: true,
117
- indentWithTab: true,
118
- lineNumbers: true,
119
- lineWrapping: false,
120
- monospace: true,
121
- scrollPastEnd: true
122
- }),
123
- createThemeExtensions({
124
- themeMode,
125
- syntaxHighlighting: true
126
- }),
127
- InputModeExtensions[inputMode],
128
- folding(),
129
- // Continues block comments when pressing Enter.
130
- Prec.high(keymap.of(continueKeymap)),
131
- // TODO(burdon): Factor out.
132
- javascript({
133
- typescript: true
134
- }),
135
- // https://github.com/val-town/codemirror-ts
136
- autocomplete({
137
- override: env ? [
138
- tsAutocomplete()
139
- ] : void 0
140
- }),
141
- keymap.of(lintKeymap),
142
- env && [
143
- tsFacet.of({
144
- env,
145
- path: `/src/${id}.ts`
146
- }),
147
- tsSync(),
148
- tsLinter(),
149
- tsHover({
150
- renderTooltip: createTooltipRenderer(themeMode)
151
- })
152
- ]
153
- ].filter(isNonNullable)
154
- }), [
155
- id,
156
- extensions,
157
- themeMode,
158
- inputMode,
159
- selection,
160
- scrollTo
161
- ]);
162
- return /* @__PURE__ */ React2.createElement("div", {
163
- ref: parentRef,
164
- "data-toolbar": toolbar ? "enabled" : "disabled",
165
- className: mx(classNames),
166
- ...focusAttributes
167
- });
168
- } finally {
169
- _effect.f();
170
- }
171
- };
172
- var createTooltipRenderer = (themeMode) => {
173
- const theme = themeMode === "dark" ? oneDarkHighlightStyle : defaultHighlightStyle;
174
- const classFromKind = (_kind) => {
175
- const kind = _kind.endsWith("Name") ? "name" : _kind;
176
- const validTag = kind in tags;
177
- if (!validTag) {
178
- return "";
179
- }
180
- const tag = tags[kind];
181
- if (typeof tag === "function") {
182
- return "";
183
- }
184
- return theme.style([
185
- tag
186
- ]) ?? "";
187
- };
188
- return (info) => {
189
- const div = document.createElement("div");
190
- div.className = "p-1 rounded border border-separator bg-baseSurface xs:max-w-80 max-w-lg";
191
- if (info.quickInfo?.displayParts) {
192
- for (const part of info.quickInfo.displayParts) {
193
- const span = div.appendChild(document.createElement("span"));
194
- span.className = classFromKind(part.kind);
195
- span.innerText = part.text;
196
- }
197
- }
198
- return {
199
- dom: div
200
- };
201
- };
202
- };
203
-
204
- // src/components/ScriptContainer.tsx
205
- var ScriptContainer = ({ role, script, settings = {
206
- editorInputMode: "vscode"
207
- }, env }) => {
208
- var _effect = _useSignals3();
209
- try {
210
- const identity = useIdentity();
211
- const space = getSpace(script);
212
- const state = useToolbarState();
213
- useDeployState({
214
- state,
215
- script
216
- });
217
- const extensions = useMemo2(() => script.source.target ? [
218
- listener({
219
- onChange: (text) => {
220
- if (script.source.target?.content !== text) {
221
- script.changed = true;
222
- }
223
- }
224
- }),
225
- createDataExtensions({
226
- id: script.id,
227
- text: createDocAccessor(script.source.target, [
228
- "content"
229
- ]),
230
- space,
231
- identity
232
- })
233
- ] : [], [
234
- identity,
235
- space,
236
- script,
237
- script.source.target
238
- ]);
239
- return /* @__PURE__ */ React3.createElement(StackItem.Content, {
240
- toolbar: true
241
- }, /* @__PURE__ */ React3.createElement(ScriptToolbar, {
242
- state,
243
- role,
244
- script
245
- }), /* @__PURE__ */ React3.createElement(TypescriptEditor, {
246
- id: script.id,
247
- env,
248
- initialValue: script.source?.target?.content,
249
- extensions,
250
- classNames: stackItemContentEditorClassNames(role),
251
- inputMode: settings.editorInputMode,
252
- toolbar: true
253
- }));
254
- } finally {
255
- _effect.f();
256
- }
257
- };
258
- var ScriptContainer_default = ScriptContainer;
259
- export {
260
- ScriptContainer,
261
- ScriptContainer_default as default
262
- };
263
- //# sourceMappingURL=ScriptContainer-KPU75HHI.mjs.map