@dxos/plugin-script 0.8.4-main.bc674ce → 0.8.4-main.c351d160a8

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 (334) hide show
  1. package/README.md +15 -13
  2. package/dist/lib/browser/{chunk-TWX2NMZN.mjs → DeploymentDialog-SSJP2BBZ.mjs} +20 -19
  3. package/dist/lib/browser/DeploymentDialog-SSJP2BBZ.mjs.map +7 -0
  4. package/dist/lib/browser/{NotebookContainer-NBAXYESH.mjs → NotebookContainer-Q6Z2CPH6.mjs} +33 -30
  5. package/dist/lib/browser/NotebookContainer-Q6Z2CPH6.mjs.map +7 -0
  6. package/dist/lib/browser/ScriptContainer-IKITE6OA.mjs +93 -0
  7. package/dist/lib/browser/ScriptContainer-IKITE6OA.mjs.map +7 -0
  8. package/dist/lib/browser/ScriptObjectSettings-X4WV5TBD.mjs +294 -0
  9. package/dist/lib/browser/ScriptObjectSettings-X4WV5TBD.mjs.map +7 -0
  10. package/dist/lib/browser/ScriptPluginSettings-5WUKIWCC.mjs +55 -0
  11. package/dist/lib/browser/ScriptPluginSettings-5WUKIWCC.mjs.map +7 -0
  12. package/dist/lib/browser/ScriptProperties-5YERQAL2.mjs +28 -0
  13. package/dist/lib/browser/ScriptProperties-5YERQAL2.mjs.map +7 -0
  14. package/dist/lib/browser/TestContainer-ZI2PQRXB.mjs +39 -0
  15. package/dist/lib/browser/TestContainer-ZI2PQRXB.mjs.map +7 -0
  16. package/dist/lib/browser/{app-graph-builder-7VO7AUI6.mjs → app-graph-builder-QPXX4YK5.mjs} +12 -17
  17. package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs.map +7 -0
  18. package/dist/lib/browser/blueprint-definition-2UX353LT.mjs +17 -0
  19. package/dist/lib/browser/blueprint-definition-2UX353LT.mjs.map +7 -0
  20. package/dist/lib/browser/blueprints/index.mjs +3 -3
  21. package/dist/lib/browser/{chunk-WYR4QHPE.mjs → chunk-37XPSUAH.mjs} +3 -3
  22. package/dist/lib/browser/{chunk-WYR4QHPE.mjs.map → chunk-37XPSUAH.mjs.map} +1 -1
  23. package/dist/lib/browser/{chunk-C53UJGSU.mjs → chunk-7JL6WNT6.mjs} +91 -251
  24. package/dist/lib/browser/chunk-7JL6WNT6.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-7SXHORK4.mjs +105 -0
  26. package/dist/lib/browser/chunk-7SXHORK4.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-ATTZUDT7.mjs +67 -0
  28. package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-G3XIOLLI.mjs +174 -0
  30. package/dist/lib/browser/chunk-G3XIOLLI.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-IHEZBW44.mjs +789 -0
  32. package/dist/lib/browser/chunk-IHEZBW44.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-KIYJ6XPN.mjs +20 -0
  34. package/dist/lib/browser/chunk-KIYJ6XPN.mjs.map +7 -0
  35. package/dist/lib/browser/{chunk-F3QKSKSF.mjs → chunk-MYSQ4VH5.mjs} +11 -17
  36. package/dist/lib/browser/chunk-MYSQ4VH5.mjs.map +7 -0
  37. package/dist/lib/browser/{chunk-UUR4JNNB.mjs → chunk-OWMMXCIP.mjs} +17 -14
  38. package/dist/lib/browser/{chunk-UUR4JNNB.mjs.map → chunk-OWMMXCIP.mjs.map} +3 -3
  39. package/dist/lib/browser/chunk-X44CJ7F5.mjs +11 -0
  40. package/dist/lib/browser/chunk-X44CJ7F5.mjs.map +7 -0
  41. package/dist/lib/browser/{compiler-76F3QAXC.mjs → compiler-ZVLONXEG.mjs} +11 -73
  42. package/dist/lib/browser/compiler-ZVLONXEG.mjs.map +7 -0
  43. package/dist/lib/browser/index.mjs +55 -48
  44. package/dist/lib/browser/index.mjs.map +3 -3
  45. package/dist/lib/browser/meta.json +1 -1
  46. package/dist/lib/browser/{operation-resolver-HUILPPKT.mjs → operation-resolver-YYHZGLYR.mjs} +9 -12
  47. package/dist/lib/browser/operation-resolver-YYHZGLYR.mjs.map +7 -0
  48. package/dist/lib/browser/{react-surface-O6GKHB2J.mjs → react-surface-SZ7BHELP.mjs} +37 -34
  49. package/dist/lib/browser/react-surface-SZ7BHELP.mjs.map +7 -0
  50. package/dist/lib/browser/{settings-3ENI25PI.mjs → settings-XGV2T3PC.mjs} +7 -6
  51. package/dist/lib/browser/settings-XGV2T3PC.mjs.map +7 -0
  52. package/dist/lib/browser/templates/index.mjs +1 -1
  53. package/dist/lib/browser/types/index.mjs +3 -3
  54. package/dist/lib/node-esm/{chunk-VQPIA4VF.mjs → DeploymentDialog-V3HYTNFB.mjs} +20 -19
  55. package/dist/lib/node-esm/DeploymentDialog-V3HYTNFB.mjs.map +7 -0
  56. package/dist/lib/node-esm/{NotebookContainer-IUAYVJSD.mjs → NotebookContainer-MDHOETIH.mjs} +33 -30
  57. package/dist/lib/node-esm/NotebookContainer-MDHOETIH.mjs.map +7 -0
  58. package/dist/lib/node-esm/ScriptContainer-4E4EK6ZF.mjs +94 -0
  59. package/dist/lib/node-esm/ScriptContainer-4E4EK6ZF.mjs.map +7 -0
  60. package/dist/lib/node-esm/ScriptObjectSettings-RPY2ZLDJ.mjs +295 -0
  61. package/dist/lib/node-esm/ScriptObjectSettings-RPY2ZLDJ.mjs.map +7 -0
  62. package/dist/lib/node-esm/ScriptPluginSettings-H4ESISSG.mjs +56 -0
  63. package/dist/lib/node-esm/ScriptPluginSettings-H4ESISSG.mjs.map +7 -0
  64. package/dist/lib/node-esm/ScriptProperties-NNDYQTOW.mjs +29 -0
  65. package/dist/lib/node-esm/ScriptProperties-NNDYQTOW.mjs.map +7 -0
  66. package/dist/lib/node-esm/TestContainer-G2TVP2KS.mjs +40 -0
  67. package/dist/lib/node-esm/TestContainer-G2TVP2KS.mjs.map +7 -0
  68. package/dist/lib/node-esm/{app-graph-builder-NVE3EVBG.mjs → app-graph-builder-GNGOYXIU.mjs} +12 -17
  69. package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs.map +7 -0
  70. package/dist/lib/node-esm/{blueprint-definition-NC7NNJGI.mjs → blueprint-definition-4UDBPYRQ.mjs} +6 -6
  71. package/dist/lib/node-esm/blueprint-definition-4UDBPYRQ.mjs.map +7 -0
  72. package/dist/lib/node-esm/blueprints/index.mjs +3 -3
  73. package/dist/lib/node-esm/chunk-3EV4C6GW.mjs +107 -0
  74. package/dist/lib/node-esm/chunk-3EV4C6GW.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-4YAEFFW2.mjs +12 -0
  76. package/dist/lib/node-esm/chunk-4YAEFFW2.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs +176 -0
  78. package/dist/lib/node-esm/chunk-5BG7OJGQ.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-BOPXK25O.mjs +790 -0
  80. package/dist/lib/node-esm/chunk-BOPXK25O.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-DMELV4YV.mjs +22 -0
  82. package/dist/lib/node-esm/chunk-DMELV4YV.mjs.map +7 -0
  83. package/dist/lib/node-esm/{chunk-Y3G5NCTP.mjs → chunk-DQMM7ZL5.mjs} +11 -16
  84. package/dist/lib/node-esm/chunk-DQMM7ZL5.mjs.map +7 -0
  85. package/dist/lib/node-esm/{chunk-G3J76DWP.mjs → chunk-EV57E4Q4.mjs} +17 -14
  86. package/dist/lib/node-esm/{chunk-G3J76DWP.mjs.map → chunk-EV57E4Q4.mjs.map} +3 -3
  87. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs +69 -0
  88. package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +7 -0
  89. package/dist/lib/node-esm/{chunk-BX5PP6AW.mjs → chunk-KL6LGVVM.mjs} +91 -251
  90. package/dist/lib/node-esm/chunk-KL6LGVVM.mjs.map +7 -0
  91. package/dist/lib/node-esm/{chunk-5HSJPAK7.mjs → chunk-L3JLWXB5.mjs} +3 -3
  92. package/dist/lib/node-esm/{chunk-5HSJPAK7.mjs.map → chunk-L3JLWXB5.mjs.map} +1 -1
  93. package/dist/lib/node-esm/{compiler-FNZH6TFN.mjs → compiler-INUOAXU7.mjs} +11 -73
  94. package/dist/lib/node-esm/compiler-INUOAXU7.mjs.map +7 -0
  95. package/dist/lib/node-esm/index.mjs +55 -48
  96. package/dist/lib/node-esm/index.mjs.map +3 -3
  97. package/dist/lib/node-esm/meta.json +1 -1
  98. package/dist/lib/node-esm/{operation-resolver-JTCIY6HU.mjs → operation-resolver-OTHAYHTN.mjs} +9 -12
  99. package/dist/lib/node-esm/operation-resolver-OTHAYHTN.mjs.map +7 -0
  100. package/dist/lib/node-esm/{react-surface-RLANMVMB.mjs → react-surface-DLEXFWGV.mjs} +37 -34
  101. package/dist/lib/node-esm/react-surface-DLEXFWGV.mjs.map +7 -0
  102. package/dist/lib/node-esm/{settings-7AYC5VXN.mjs → settings-JZUMGPNG.mjs} +7 -6
  103. package/dist/lib/node-esm/settings-JZUMGPNG.mjs.map +7 -0
  104. package/dist/lib/node-esm/templates/index.mjs +1 -1
  105. package/dist/lib/node-esm/types/index.mjs +3 -3
  106. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  107. package/dist/types/src/blueprints/index.d.ts +1 -1
  108. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  109. package/dist/types/src/blueprints/script-blueprint.d.ts +3 -21
  110. package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -1
  111. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
  112. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  113. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +1 -1
  114. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -6
  115. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
  117. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/compiler/compiler.d.ts +1 -1
  119. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  120. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  121. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  122. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  124. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  125. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  126. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  127. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  128. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  129. package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
  130. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  131. package/dist/types/src/components/{FrameContainer/FrameContainer.d.ts → FramePanel/FramePanel.d.ts} +3 -3
  132. package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -0
  133. package/dist/types/src/components/FramePanel/index.d.ts +2 -0
  134. package/dist/types/src/components/FramePanel/index.d.ts.map +1 -0
  135. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  136. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +3 -0
  137. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  138. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -1
  139. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +3 -2
  140. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  141. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +3 -0
  142. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  143. package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
  144. package/dist/types/src/components/TestPanel/index.d.ts +0 -1
  145. package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
  146. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  147. package/dist/types/src/components/index.d.ts +4 -5
  148. package/dist/types/src/components/index.d.ts.map +1 -1
  149. package/dist/types/src/constants.d.ts +2 -0
  150. package/dist/types/src/constants.d.ts.map +1 -0
  151. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +0 -2
  152. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
  153. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts +3 -0
  154. package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  155. package/dist/types/src/containers/DeploymentDialog/index.d.ts +3 -0
  156. package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
  157. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +7 -0
  158. package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +1 -0
  159. package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +1 -0
  160. package/dist/types/src/containers/NotebookContainer/index.d.ts +3 -0
  161. package/dist/types/src/containers/NotebookContainer/index.d.ts.map +1 -0
  162. package/dist/types/src/{components → containers/ScriptContainer}/ScriptContainer.d.ts +3 -4
  163. package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +1 -0
  164. package/dist/types/src/containers/ScriptContainer/index.d.ts +3 -0
  165. package/dist/types/src/containers/ScriptContainer/index.d.ts.map +1 -0
  166. package/dist/types/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.d.ts +0 -1
  167. package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +1 -0
  168. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +3 -0
  169. package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +1 -0
  170. package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
  171. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +3 -0
  172. package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +1 -0
  173. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +7 -0
  174. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
  175. package/dist/types/src/containers/ScriptProperties/index.d.ts +3 -0
  176. package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
  177. package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
  178. package/dist/types/src/containers/TestContainer/index.d.ts +3 -0
  179. package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
  180. package/dist/types/src/containers/index.d.ts +9 -0
  181. package/dist/types/src/containers/index.d.ts.map +1 -0
  182. package/dist/types/src/hooks/deploy.d.ts +2 -1
  183. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  184. package/dist/types/src/hooks/format.d.ts +1 -0
  185. package/dist/types/src/hooks/format.d.ts.map +1 -1
  186. package/dist/types/src/hooks/template.d.ts +1 -0
  187. package/dist/types/src/hooks/template.d.ts.map +1 -1
  188. package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
  189. package/dist/types/src/index.d.ts +1 -0
  190. package/dist/types/src/index.d.ts.map +1 -1
  191. package/dist/types/src/templates/chess-bot.d.ts.map +1 -1
  192. package/dist/types/src/templates/commentary.d.ts.map +1 -1
  193. package/dist/types/src/templates/index.d.ts +18 -18
  194. package/dist/types/src/translations.d.ts +2 -0
  195. package/dist/types/src/translations.d.ts.map +1 -1
  196. package/dist/types/src/types/Notebook.d.ts +12 -4
  197. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  198. package/dist/types/src/types/actions.d.ts +3 -3
  199. package/dist/types/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +84 -83
  201. package/src/ScriptPlugin.tsx +23 -23
  202. package/src/blueprints/index.ts +1 -1
  203. package/src/blueprints/script-blueprint.ts +14 -7
  204. package/src/capabilities/app-graph-builder/app-graph-builder.ts +10 -9
  205. package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -12
  206. package/src/capabilities/operation-resolver/operation-resolver.ts +5 -4
  207. package/src/capabilities/react-surface/react-surface.tsx +44 -33
  208. package/src/capabilities/settings/settings.ts +3 -2
  209. package/src/components/{FrameContainer/FrameContainer.tsx → FramePanel/FramePanel.tsx} +4 -5
  210. package/src/components/{FrameContainer → FramePanel}/index.ts +1 -1
  211. package/src/components/NotebookStack/NotebookCell.tsx +9 -11
  212. package/src/components/NotebookStack/NotebookStack.stories.tsx +3 -4
  213. package/src/components/NotebookStack/NotebookStack.tsx +3 -3
  214. package/src/components/QueryEditor/QueryEditor.stories.tsx +17 -21
  215. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +5 -6
  216. package/src/components/ScriptToolbar/ScriptToolbar.tsx +7 -7
  217. package/src/components/TestPanel/TestPanel.tsx +29 -27
  218. package/src/components/TestPanel/index.ts +0 -1
  219. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +16 -14
  220. package/src/components/TypescriptEditor/TypescriptEditor.tsx +1 -1
  221. package/src/components/index.ts +4 -9
  222. package/src/constants.ts +7 -0
  223. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.stories.tsx +4 -5
  224. package/src/{components → containers}/DeploymentDialog/DeploymentDialog.tsx +10 -14
  225. package/src/containers/DeploymentDialog/index.ts +7 -0
  226. package/src/{components → containers/NotebookContainer}/NotebookContainer.stories.tsx +9 -9
  227. package/src/{components → containers/NotebookContainer}/NotebookContainer.tsx +39 -43
  228. package/src/containers/NotebookContainer/index.ts +7 -0
  229. package/src/{components → containers/ScriptContainer}/ScriptContainer.tsx +21 -21
  230. package/src/containers/ScriptContainer/index.ts +7 -0
  231. package/src/{components/Settings → containers/ScriptObjectSettings}/ScriptObjectSettings.tsx +7 -25
  232. package/src/containers/ScriptObjectSettings/index.ts +7 -0
  233. package/src/{components/Settings → containers/ScriptPluginSettings}/ScriptPluginSettings.tsx +11 -11
  234. package/src/containers/ScriptPluginSettings/index.ts +7 -0
  235. package/src/containers/ScriptProperties/ScriptProperties.tsx +33 -0
  236. package/src/containers/ScriptProperties/index.ts +7 -0
  237. package/src/{components/TestPanel → containers/TestContainer}/TestContainer.tsx +7 -6
  238. package/src/containers/TestContainer/index.ts +7 -0
  239. package/src/containers/index.ts +13 -0
  240. package/src/e2e/ai.test.ts +1 -1
  241. package/src/e2e/deploy.test.ts +1 -1
  242. package/src/hooks/deploy.ts +5 -5
  243. package/src/hooks/format.ts +1 -0
  244. package/src/hooks/template.ts +2 -2
  245. package/src/hooks/useCompiler.ts +1 -1
  246. package/src/hooks/useCreateAndDeployScriptTemplates.ts +1 -1
  247. package/src/hooks/useToolbarState.ts +7 -6
  248. package/src/index.ts +1 -0
  249. package/src/meta.ts +2 -2
  250. package/src/templates/anthropic.ts +1 -1
  251. package/src/templates/chat.ts +1 -1
  252. package/src/templates/chess-bot.ts +5 -5
  253. package/src/templates/commentary.ts +14 -15
  254. package/src/templates/data-generator.ts +1 -1
  255. package/src/templates/discord.ts +3 -3
  256. package/src/templates/forex-effect.ts +2 -2
  257. package/src/templates/forex.ts +1 -1
  258. package/src/templates/gmail.ts +4 -4
  259. package/src/templates/index.ts +18 -18
  260. package/src/templates/ping.ts +1 -1
  261. package/src/translations.ts +2 -0
  262. package/src/types/Notebook.ts +9 -5
  263. package/src/types/actions.ts +2 -2
  264. package/src/types/capabilities.ts +2 -2
  265. package/src/types/events.ts +1 -1
  266. package/dist/lib/browser/DeploymentDialog-OSL6RMPA.mjs +0 -14
  267. package/dist/lib/browser/DeploymentDialog-OSL6RMPA.mjs.map +0 -7
  268. package/dist/lib/browser/NotebookContainer-NBAXYESH.mjs.map +0 -7
  269. package/dist/lib/browser/ScriptContainer-WD33CJMI.mjs +0 -149
  270. package/dist/lib/browser/ScriptContainer-WD33CJMI.mjs.map +0 -7
  271. package/dist/lib/browser/app-graph-builder-7VO7AUI6.mjs.map +0 -7
  272. package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs +0 -17
  273. package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs.map +0 -7
  274. package/dist/lib/browser/chunk-BTWHM6FH.mjs +0 -270
  275. package/dist/lib/browser/chunk-BTWHM6FH.mjs.map +0 -7
  276. package/dist/lib/browser/chunk-C53UJGSU.mjs.map +0 -7
  277. package/dist/lib/browser/chunk-F3QKSKSF.mjs.map +0 -7
  278. package/dist/lib/browser/chunk-I7CSE6T3.mjs +0 -110
  279. package/dist/lib/browser/chunk-I7CSE6T3.mjs.map +0 -7
  280. package/dist/lib/browser/chunk-TWX2NMZN.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-UX4GHJ5E.mjs +0 -105
  282. package/dist/lib/browser/chunk-UX4GHJ5E.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-XCN4D3Z5.mjs +0 -606
  284. package/dist/lib/browser/chunk-XCN4D3Z5.mjs.map +0 -7
  285. package/dist/lib/browser/compiler-76F3QAXC.mjs.map +0 -7
  286. package/dist/lib/browser/operation-resolver-HUILPPKT.mjs.map +0 -7
  287. package/dist/lib/browser/react-surface-O6GKHB2J.mjs.map +0 -7
  288. package/dist/lib/browser/settings-3ENI25PI.mjs.map +0 -7
  289. package/dist/lib/node-esm/DeploymentDialog-OGBJPVIX.mjs +0 -15
  290. package/dist/lib/node-esm/DeploymentDialog-OGBJPVIX.mjs.map +0 -7
  291. package/dist/lib/node-esm/NotebookContainer-IUAYVJSD.mjs.map +0 -7
  292. package/dist/lib/node-esm/ScriptContainer-K7JCEU5Z.mjs +0 -150
  293. package/dist/lib/node-esm/ScriptContainer-K7JCEU5Z.mjs.map +0 -7
  294. package/dist/lib/node-esm/app-graph-builder-NVE3EVBG.mjs.map +0 -7
  295. package/dist/lib/node-esm/blueprint-definition-NC7NNJGI.mjs.map +0 -7
  296. package/dist/lib/node-esm/chunk-4F5FJZ36.mjs +0 -107
  297. package/dist/lib/node-esm/chunk-4F5FJZ36.mjs.map +0 -7
  298. package/dist/lib/node-esm/chunk-4QNZMXW6.mjs +0 -607
  299. package/dist/lib/node-esm/chunk-4QNZMXW6.mjs.map +0 -7
  300. package/dist/lib/node-esm/chunk-BX5PP6AW.mjs.map +0 -7
  301. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs +0 -112
  302. package/dist/lib/node-esm/chunk-SLU3KRV3.mjs.map +0 -7
  303. package/dist/lib/node-esm/chunk-VQPIA4VF.mjs.map +0 -7
  304. package/dist/lib/node-esm/chunk-VWOLKNMO.mjs +0 -271
  305. package/dist/lib/node-esm/chunk-VWOLKNMO.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs.map +0 -7
  307. package/dist/lib/node-esm/compiler-FNZH6TFN.mjs.map +0 -7
  308. package/dist/lib/node-esm/operation-resolver-JTCIY6HU.mjs.map +0 -7
  309. package/dist/lib/node-esm/react-surface-RLANMVMB.mjs.map +0 -7
  310. package/dist/lib/node-esm/settings-7AYC5VXN.mjs.map +0 -7
  311. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
  312. package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
  313. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
  314. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
  315. package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
  316. package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
  317. package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
  318. package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
  319. package/dist/types/src/components/NotebookContainer.d.ts +0 -8
  320. package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
  321. package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
  322. package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
  323. package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
  324. package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
  325. package/dist/types/src/components/Settings/index.d.ts +0 -3
  326. package/dist/types/src/components/Settings/index.d.ts.map +0 -1
  327. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
  328. package/src/components/DeploymentDialog/index.ts +0 -9
  329. package/src/components/FrameContainer/frame.html +0 -25
  330. package/src/components/FrameContainer/frame.tsx +0 -51
  331. package/src/components/Settings/index.ts +0 -6
  332. /package/dist/types/src/{components → containers/NotebookContainer}/NotebookContainer.stories.d.ts +0 -0
  333. /package/dist/types/src/{components/Settings → containers/ScriptPluginSettings}/ScriptPluginSettings.d.ts +0 -0
  334. /package/dist/types/src/{components/TestPanel → containers/TestContainer}/TestContainer.d.ts +0 -0
@@ -0,0 +1,294 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-37XPSUAH.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/containers/ScriptObjectSettings/ScriptObjectSettings.tsx
7
+ import { Octokit } from "@octokit/core";
8
+ import React, { useCallback, useState } from "react";
9
+ import { ToolId } from "@dxos/ai";
10
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
11
+ import { SettingsOperation } from "@dxos/app-toolkit";
12
+ import { Blueprint, Template } from "@dxos/blueprints";
13
+ import { Filter, Obj, Ref } from "@dxos/echo";
14
+ import { Function, getUserFunctionIdInMetadata } from "@dxos/functions";
15
+ import { getInvocationUrl } from "@dxos/functions-runtime";
16
+ import { log } from "@dxos/log";
17
+ import { useClient } from "@dxos/react-client";
18
+ import { useQuery } from "@dxos/react-client/echo";
19
+ import { Button, Clipboard, Input, useAsyncEffect, useControlledState, useTranslation } from "@dxos/react-ui";
20
+ import { AccessToken } from "@dxos/types";
21
+ import { kebabize } from "@dxos/util";
22
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/containers/ScriptObjectSettings/ScriptObjectSettings.tsx";
23
+ var ScriptObjectSettings = ({ object }) => {
24
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Binding, {
25
+ object
26
+ }), /* @__PURE__ */ React.createElement(BlueprintEditor, {
27
+ object
28
+ }), /* @__PURE__ */ React.createElement(Publishing, {
29
+ object
30
+ }));
31
+ };
32
+ var BlueprintEditor = ({ object }) => {
33
+ const { t } = useTranslation(meta.id);
34
+ const db = Obj.getDatabase(object);
35
+ const [fn] = useQuery(db, Filter.type(Function.Function, {
36
+ source: Ref.make(object)
37
+ }));
38
+ const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));
39
+ const [creating, setCreating] = useState(false);
40
+ const [instructions, setInstructions] = useState(`You can run the script "${object.name ?? "script"}".`);
41
+ const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? "script")}`;
42
+ const existingBlueprint = blueprints.find((bp) => bp.key === blueprintKey);
43
+ useAsyncEffect(async () => {
44
+ if (!existingBlueprint) {
45
+ return;
46
+ }
47
+ const source = await existingBlueprint.instructions.source.load();
48
+ setInstructions(source.content ?? "");
49
+ }, [
50
+ existingBlueprint
51
+ ]);
52
+ const handleSave = useCallback(async () => {
53
+ if (!db) {
54
+ return;
55
+ }
56
+ setCreating(true);
57
+ try {
58
+ if (existingBlueprint) {
59
+ const text = await existingBlueprint.instructions.source.load();
60
+ Obj.change(text, (t2) => {
61
+ t2.content = instructions;
62
+ });
63
+ if (fn?.key) {
64
+ const toolId = ToolId.make(fn.key);
65
+ if (!existingBlueprint.tools?.includes(toolId)) {
66
+ Obj.change(existingBlueprint, (b) => {
67
+ b.tools = [
68
+ ...b.tools ?? [],
69
+ toolId
70
+ ];
71
+ });
72
+ }
73
+ }
74
+ } else if (fn?.key) {
75
+ db.add(Blueprint.make({
76
+ key: blueprintKey,
77
+ name: object.name ?? "Script",
78
+ instructions: Template.make({
79
+ source: instructions
80
+ }),
81
+ tools: [
82
+ ToolId.make(fn.key)
83
+ ]
84
+ }));
85
+ }
86
+ await db.flush();
87
+ } finally {
88
+ setCreating(false);
89
+ }
90
+ }, [
91
+ db,
92
+ existingBlueprint,
93
+ fn,
94
+ blueprintKey,
95
+ object.name,
96
+ instructions
97
+ ]);
98
+ return /* @__PURE__ */ React.createElement("div", {
99
+ className: "flex flex-col gap-4 my-form-padding"
100
+ }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, t("blueprint editor label", {
101
+ default: "Blueprint"
102
+ })), /* @__PURE__ */ React.createElement("p", {
103
+ className: "text-description text-sm"
104
+ }, t("blueprint editor description", {
105
+ default: "Create a blueprint that exposes this script as a tool."
106
+ }))), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
107
+ role: "none",
108
+ className: "flex flex-col gap-1"
109
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("blueprint instructions label", {
110
+ default: "Instructions"
111
+ })), /* @__PURE__ */ React.createElement(Input.TextArea, {
112
+ placeholder: t("blueprint instructions placeholder", {
113
+ default: "Describe how this tool should be used."
114
+ }),
115
+ rows: 6,
116
+ value: instructions,
117
+ onChange: (event) => setInstructions(event.target.value),
118
+ classNames: "resize-y"
119
+ }))), /* @__PURE__ */ React.createElement("div", {
120
+ className: "flex justify-end gap-2"
121
+ }, /* @__PURE__ */ React.createElement(Button, {
122
+ disabled: !existingBlueprint && !fn?.key || creating,
123
+ onClick: handleSave
124
+ }, t(creating ? "creating label" : "create blueprint label", {
125
+ default: creating ? "Creating\u2026" : "Create blueprint"
126
+ }))));
127
+ };
128
+ var Binding = ({ object }) => {
129
+ const { t } = useTranslation(meta.id);
130
+ const client = useClient();
131
+ const db = Obj.getDatabase(object);
132
+ const [fn] = useQuery(db, Filter.type(Function.Function, {
133
+ source: Ref.make(object)
134
+ }));
135
+ const functionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));
136
+ const functionUrl = functionId && getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? "", {
137
+ spaceId: db?.spaceId
138
+ });
139
+ const [binding, setBinding] = useControlledState(fn?.binding ?? "");
140
+ const handleBindingChange = useCallback((event) => {
141
+ setBinding(event.target.value);
142
+ }, [
143
+ setBinding
144
+ ]);
145
+ const handleBindingBlur = useCallback(() => {
146
+ Obj.change(fn, (f) => {
147
+ f.binding = binding;
148
+ });
149
+ }, [
150
+ fn,
151
+ binding
152
+ ]);
153
+ if (!fn || !functionUrl) {
154
+ return null;
155
+ }
156
+ return /* @__PURE__ */ React.createElement("div", {
157
+ role: "form",
158
+ className: "flex flex-col gap-2 my-form-padding"
159
+ }, /* @__PURE__ */ React.createElement("h2", null, t("remote function settings heading")), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
160
+ role: "none",
161
+ className: "flex flex-col gap-1"
162
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("function url label")), /* @__PURE__ */ React.createElement("div", {
163
+ role: "none",
164
+ className: "flex gap-1"
165
+ }, /* @__PURE__ */ React.createElement(Input.TextInput, {
166
+ disabled: true,
167
+ value: functionUrl,
168
+ onChange: (event) => {
169
+ Obj.change(fn, (f) => {
170
+ f.name = event.target.value;
171
+ });
172
+ }
173
+ }), /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
174
+ value: functionUrl
175
+ })))), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement("div", {
176
+ role: "none",
177
+ className: "flex flex-col gap-1"
178
+ }, /* @__PURE__ */ React.createElement(Input.Label, null, t("function binding label")), /* @__PURE__ */ React.createElement(Input.TextInput, {
179
+ placeholder: t("function binding placeholder"),
180
+ value: binding,
181
+ onChange: handleBindingChange,
182
+ onBlur: handleBindingBlur
183
+ }))));
184
+ };
185
+ var Publishing = ({ object }) => {
186
+ const { t } = useTranslation(meta.id);
187
+ const { invokePromise } = useOperationInvoker();
188
+ const db = Obj.getDatabase(object);
189
+ const [githubToken] = useQuery(db, Filter.type(AccessToken.AccessToken, {
190
+ source: "github.com"
191
+ }));
192
+ const gistKey = Obj.getMeta(object).keys.find(({ source }) => source === "github.com");
193
+ const [gistUrl, setGistUrl] = useState();
194
+ useAsyncEffect(async () => {
195
+ const token = githubToken?.token;
196
+ const gistId = gistKey?.id;
197
+ if (!token || !gistId) {
198
+ setGistUrl(void 0);
199
+ return;
200
+ }
201
+ try {
202
+ const octokit = new Octokit({
203
+ auth: githubToken.token
204
+ });
205
+ const response = await octokit.request("GET /gists/{gist_id}", {
206
+ gist_id: gistId
207
+ });
208
+ setGistUrl(response.data.html_url);
209
+ } catch (err) {
210
+ log.catch(err, void 0, {
211
+ F: __dxlog_file,
212
+ L: 221,
213
+ S: void 0,
214
+ C: (f, a) => f(...a)
215
+ });
216
+ setGistUrl(void 0);
217
+ }
218
+ }, [
219
+ githubToken,
220
+ gistKey
221
+ ]);
222
+ const handleOpenTokenManager = useCallback(() => invokePromise(SettingsOperation.Open, {
223
+ plugin: "org.dxos.plugin.token-manager"
224
+ }), [
225
+ invokePromise
226
+ ]);
227
+ const [publishing, setPublishing] = useState(false);
228
+ const handlePublish = useCallback(async () => {
229
+ setPublishing(true);
230
+ const octokit = new Octokit({
231
+ auth: githubToken.token
232
+ });
233
+ const source = await object.source.load();
234
+ const filename = object.name ? kebabize(object.name) : "composer-script";
235
+ const files = {
236
+ [`${filename}.ts`]: {
237
+ content: source.content
238
+ }
239
+ };
240
+ try {
241
+ const meta2 = Obj.getMeta(object);
242
+ const githubKey = meta2.keys.find(({ source: source2 }) => source2 === "github.com");
243
+ const gistId = githubKey?.id;
244
+ if (gistId) {
245
+ await octokit.request("PATCH /gists/{gist_id}", {
246
+ gist_id: gistId,
247
+ files
248
+ });
249
+ } else {
250
+ const response = await octokit.request("POST /gists", {
251
+ public: true,
252
+ files
253
+ });
254
+ const gistId2 = response.data.id;
255
+ if (gistId2) {
256
+ Obj.change(object, (obj) => {
257
+ Obj.getMeta(obj).keys.push({
258
+ source: "github.com",
259
+ id: gistId2
260
+ });
261
+ });
262
+ }
263
+ }
264
+ } finally {
265
+ setPublishing(false);
266
+ }
267
+ }, [
268
+ object,
269
+ githubToken
270
+ ]);
271
+ return /* @__PURE__ */ React.createElement("div", {
272
+ className: "flex flex-col gap-4 my-form-padding"
273
+ }, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, t("script publish settings label")), /* @__PURE__ */ React.createElement("p", {
274
+ className: "text-description text-sm"
275
+ }, t("script publish settings description"))), !githubToken && /* @__PURE__ */ React.createElement("div", {
276
+ className: "flex flex-col gap-2"
277
+ }, /* @__PURE__ */ React.createElement("span", null, t("no github token label")), /* @__PURE__ */ React.createElement(Button, {
278
+ onClick: handleOpenTokenManager
279
+ }, t("open token manager label"))), githubToken && /* @__PURE__ */ React.createElement("div", {
280
+ className: "flex justify-end gap-2"
281
+ }, gistUrl && /* @__PURE__ */ React.createElement(Clipboard.IconButton, {
282
+ value: gistUrl
283
+ }), /* @__PURE__ */ React.createElement(Button, {
284
+ disabled: publishing,
285
+ onClick: handlePublish
286
+ }, t(publishing ? "publishing label" : "publish label"))));
287
+ };
288
+
289
+ // src/containers/ScriptObjectSettings/index.ts
290
+ var ScriptObjectSettings_default = ScriptObjectSettings;
291
+ export {
292
+ ScriptObjectSettings_default as default
293
+ };
294
+ //# sourceMappingURL=ScriptObjectSettings-X4WV5TBD.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ScriptObjectSettings/ScriptObjectSettings.tsx", "../../../src/containers/ScriptObjectSettings/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { type ChangeEvent, useCallback, useState } from 'react';\n\nimport { ToolId } from '@dxos/ai';\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { SettingsOperation } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { Filter, Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Input, useAsyncEffect, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { AccessToken } from '@dxos/types';\nimport { kebabize } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nexport type ScriptObjectSettingsProps = {\n object: Script.Script;\n};\n\nexport const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {\n return (\n <>\n <Binding object={object} />\n <BlueprintEditor object={object} />\n <Publishing object={object} />\n </>\n );\n};\n\nconst BlueprintEditor = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(object);\n const [fn] = useQuery(db, Filter.type(Function.Function, { source: Ref.make(object) }));\n const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));\n\n const [creating, setCreating] = useState(false);\n const [instructions, setInstructions] = useState<string>(`You can run the script \"${object.name ?? 'script'}\".`);\n const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? 'script')}`;\n const existingBlueprint = blueprints.find((bp) => bp.key === blueprintKey);\n\n useAsyncEffect(async () => {\n if (!existingBlueprint) {\n return;\n }\n const source = await existingBlueprint.instructions.source.load();\n setInstructions(source.content ?? '');\n }, [existingBlueprint]);\n\n const handleSave = useCallback(async () => {\n if (!db) {\n return;\n }\n\n setCreating(true);\n try {\n if (existingBlueprint) {\n const text = await existingBlueprint.instructions.source.load();\n Obj.change(text, (t) => {\n t.content = instructions;\n });\n if (fn?.key) {\n const toolId = ToolId.make(fn.key);\n if (!existingBlueprint.tools?.includes(toolId)) {\n Obj.change(existingBlueprint, (b) => {\n b.tools = [...(b.tools ?? []), toolId];\n });\n }\n }\n } else if (fn?.key) {\n db.add(\n Blueprint.make({\n key: blueprintKey,\n name: object.name ?? 'Script',\n instructions: Template.make({\n source: instructions,\n }),\n tools: [ToolId.make(fn.key)],\n }),\n );\n }\n await db.flush();\n } finally {\n setCreating(false);\n }\n }, [db, existingBlueprint, fn, blueprintKey, object.name, instructions]);\n\n return (\n <div className='flex flex-col gap-4 my-form-padding'>\n <div>\n <h2>{t('blueprint editor label', { default: 'Blueprint' })}</h2>\n <p className='text-description text-sm'>\n {t('blueprint editor description', {\n default: 'Create a blueprint that exposes this script as a tool.',\n })}\n </p>\n </div>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('blueprint instructions label', { default: 'Instructions' })}</Input.Label>\n <Input.TextArea\n placeholder={t('blueprint instructions placeholder', {\n default: 'Describe how this tool should be used.',\n })}\n rows={6}\n value={instructions}\n onChange={(event) => setInstructions(event.target.value)}\n classNames='resize-y'\n />\n </div>\n </Input.Root>\n <div className='flex justify-end gap-2'>\n <Button disabled={(!existingBlueprint && !fn?.key) || creating} onClick={handleSave}>\n {t(creating ? 'creating label' : 'create blueprint label', {\n default: creating ? 'Creating…' : 'Create blueprint',\n })}\n </Button>\n </div>\n </div>\n );\n};\n\nconst Binding = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const db = Obj.getDatabase(object);\n const [fn] = useQuery(db, Filter.type(Function.Function, { source: Ref.make(object) }));\n\n const functionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n const functionUrl =\n functionId &&\n getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: db?.spaceId,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n Obj.change(fn, (f) => {\n f.binding = binding;\n });\n }, [fn, binding]);\n\n if (!fn || !functionUrl) {\n return null;\n }\n\n // TODO(burdon): Use form.\n return (\n <div role='form' className='flex flex-col gap-2 my-form-padding'>\n <h2>{t('remote function settings heading')}</h2>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function url label')}</Input.Label>\n <div role='none' className='flex gap-1'>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n Obj.change(fn, (f) => {\n f.name = event.target.value;\n });\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </div>\n </div>\n </Input.Root>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function binding label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function binding placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </div>\n </Input.Root>\n </div>\n );\n};\n\n// TODO(burdon): Move to separate tab?\nconst Publishing = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const db = Obj.getDatabase(object);\n const [githubToken] = useQuery(db, Filter.type(AccessToken.AccessToken, { source: 'github.com' }));\n const gistKey = Obj.getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useAsyncEffect(async () => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () =>\n invokePromise(SettingsOperation.Open, {\n plugin: 'org.dxos.plugin.token-manager',\n }),\n [invokePromise],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = Obj.getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n const gistId = response.data.id;\n if (gistId) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).keys.push({ source: 'github.com', id: gistId });\n });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col gap-4 my-form-padding'>\n <div>\n <h2>{t('script publish settings label')}</h2>\n <p className='text-description text-sm'>{t('script publish settings description')}</p>\n </div>\n {!githubToken && (\n <div className='flex flex-col gap-2'>\n <span>{t('no github token label')}</span>\n <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>\n </div>\n )}\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t(publishing ? 'publishing label' : 'publish label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ScriptObjectSettings } from './ScriptObjectSettings';\n\nexport default ScriptObjectSettings;\n"],
5
+ "mappings": "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",
6
+ "names": ["Octokit", "React", "useCallback", "useState", "ToolId", "useOperationInvoker", "SettingsOperation", "Blueprint", "Template", "Filter", "Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "useClient", "useQuery", "Button", "Clipboard", "Input", "useAsyncEffect", "useControlledState", "useTranslation", "AccessToken", "kebabize", "ScriptObjectSettings", "object", "Binding", "BlueprintEditor", "Publishing", "t", "useTranslation", "meta", "id", "db", "Obj", "getDatabase", "fn", "useQuery", "Filter", "type", "Function", "source", "Ref", "make", "blueprints", "Blueprint", "creating", "setCreating", "useState", "instructions", "setInstructions", "name", "blueprintKey", "kebabize", "existingBlueprint", "find", "bp", "key", "useAsyncEffect", "load", "content", "handleSave", "useCallback", "text", "change", "toolId", "ToolId", "tools", "includes", "b", "add", "Template", "flush", "div", "className", "h2", "default", "p", "Input", "Root", "role", "Label", "TextArea", "placeholder", "rows", "value", "onChange", "event", "target", "classNames", "Button", "disabled", "onClick", "client", "useClient", "functionId", "getUserFunctionIdInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "binding", "setBinding", "useControlledState", "handleBindingChange", "handleBindingBlur", "f", "TextInput", "Clipboard", "IconButton", "onBlur", "invokePromise", "useOperationInvoker", "githubToken", "AccessToken", "gistKey", "keys", "gistUrl", "setGistUrl", "token", "gistId", "undefined", "octokit", "Octokit", "auth", "response", "request", "gist_id", "data", "html_url", "err", "log", "catch", "handleOpenTokenManager", "SettingsOperation", "Open", "plugin", "publishing", "setPublishing", "handlePublish", "filename", "files", "githubKey", "public", "obj", "push", "span", "ScriptObjectSettings"]
7
+ }
@@ -0,0 +1,55 @@
1
+ import {
2
+ getAccessCredential
3
+ } from "./chunk-G3XIOLLI.mjs";
4
+ import {
5
+ meta
6
+ } from "./chunk-37XPSUAH.mjs";
7
+ import "./chunk-J5LGTIGS.mjs";
8
+
9
+ // src/containers/ScriptPluginSettings/ScriptPluginSettings.tsx
10
+ import React from "react";
11
+ import { useClient } from "@dxos/react-client";
12
+ import { Button, Select, useTranslation } from "@dxos/react-ui";
13
+ import { Settings } from "@dxos/react-ui-form";
14
+ import { EditorInputModes } from "@dxos/ui-editor";
15
+ var ScriptPluginSettings = ({ settings, onSettingsChange }) => {
16
+ const { t } = useTranslation(meta.id);
17
+ const client = useClient();
18
+ const handleAuthenticate = async () => {
19
+ const { identityKey } = client.halo.identity.get();
20
+ await client.halo.writeCredentials([
21
+ getAccessCredential(identityKey)
22
+ ]);
23
+ };
24
+ return /* @__PURE__ */ React.createElement(Settings.Root, null, /* @__PURE__ */ React.createElement(Settings.Section, {
25
+ title: t("settings title", {
26
+ ns: meta.id
27
+ })
28
+ }, /* @__PURE__ */ React.createElement(Settings.Group, null, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
29
+ title: t("authenticate action label")
30
+ }, /* @__PURE__ */ React.createElement(Button, {
31
+ onClick: handleAuthenticate
32
+ }, t("authenticate button label"))), /* @__PURE__ */ React.createElement(Settings.ItemInput, {
33
+ title: t("editor input mode label")
34
+ }, /* @__PURE__ */ React.createElement(Select.Root, {
35
+ value: settings.editorInputMode ?? "default",
36
+ onValueChange: (value) => {
37
+ onSettingsChange((s) => ({
38
+ ...s,
39
+ editorInputMode: value
40
+ }));
41
+ }
42
+ }, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
43
+ placeholder: t("select editor input mode placeholder")
44
+ }), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React.createElement(Select.Option, {
45
+ key: mode,
46
+ value: mode
47
+ }, t(`settings editor input mode ${mode} label`)))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))))));
48
+ };
49
+
50
+ // src/containers/ScriptPluginSettings/index.ts
51
+ var ScriptPluginSettings_default = ScriptPluginSettings;
52
+ export {
53
+ ScriptPluginSettings_default as default
54
+ };
55
+ //# sourceMappingURL=ScriptPluginSettings-5WUKIWCC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ScriptPluginSettings/ScriptPluginSettings.tsx", "../../../src/containers/ScriptPluginSettings/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useClient } from '@dxos/react-client';\nimport { Button, Select, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { type EditorInputMode, EditorInputModes } from '@dxos/ui-editor';\n\nimport { meta } from '../../meta';\nimport { type ScriptSettings } from '../../types';\nimport { getAccessCredential } from '../../util';\n\nexport type ScriptPluginSettingsComponentProps = {\n settings: ScriptSettings;\n onSettingsChange: (fn: (current: ScriptSettings) => ScriptSettings) => void;\n};\n\nexport const ScriptPluginSettings = ({ settings, onSettingsChange }: ScriptPluginSettingsComponentProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n\n // TODO(burdon): Check token.\n const handleAuthenticate = async () => {\n const { identityKey } = client.halo.identity.get()!;\n await client.halo.writeCredentials([getAccessCredential(identityKey)]);\n };\n\n return (\n <Settings.Root>\n <Settings.Section title={t('settings title', { ns: meta.id })}>\n <Settings.Group>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <Settings.ItemInput title={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </Settings.ItemInput>\n\n <Settings.ItemInput title={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n onSettingsChange((s) => ({ ...s, editorInputMode: value as EditorInputMode }));\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </Settings.ItemInput>\n </Settings.Group>\n </Settings.Section>\n </Settings.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ScriptPluginSettings } from './ScriptPluginSettings';\n\nexport default ScriptPluginSettings;\n"],
5
+ "mappings": ";;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,QAAQC,sBAAsB;AAC/C,SAASC,gBAAgB;AACzB,SAA+BC,wBAAwB;AAWhD,IAAMC,uBAAuB,CAAC,EAAEC,UAAUC,iBAAgB,MAAsC;AACrG,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAMC,SAASC,UAAAA;AAGf,QAAMC,qBAAqB,YAAA;AACzB,UAAM,EAAEC,YAAW,IAAKH,OAAOI,KAAKC,SAASC,IAAG;AAChD,UAAMN,OAAOI,KAAKG,iBAAiB;MAACC,oBAAoBL,WAAAA;KAAa;EACvE;AAEA,SACE,sBAAA,cAACM,SAASC,MAAI,MACZ,sBAAA,cAACD,SAASE,SAAO;IAACC,OAAOhB,EAAE,kBAAkB;MAAEiB,IAAIf,KAAKC;IAAG,CAAA;KACzD,sBAAA,cAACU,SAASK,OAAK,MAEb,sBAAA,cAACL,SAASM,WAAS;IAACH,OAAOhB,EAAE,2BAAA;KAC3B,sBAAA,cAACoB,QAAAA;IAAOC,SAASf;KAAqBN,EAAE,2BAAA,CAAA,CAAA,GAG1C,sBAAA,cAACa,SAASM,WAAS;IAACH,OAAOhB,EAAE,yBAAA;KAC3B,sBAAA,cAACsB,OAAOR,MAAI;IACVS,OAAOzB,SAAS0B,mBAAmB;IACnCC,eAAe,CAACF,UAAAA;AACdxB,uBAAiB,CAAC2B,OAAO;QAAE,GAAGA;QAAGF,iBAAiBD;MAAyB,EAAA;IAC7E;KAEA,sBAAA,cAACD,OAAOK,eAAa;IAACC,aAAa5B,EAAE,sCAAA;MACrC,sBAAA,cAACsB,OAAOO,QAAM,MACZ,sBAAA,cAACP,OAAOQ,SAAO,MACb,sBAAA,cAACR,OAAOS,UAAQ,MACbC,iBAAiBC,IAAI,CAACC,SACrB,sBAAA,cAACZ,OAAOa,QAAM;IAACC,KAAKF;IAAMX,OAAOW;KAC9BlC,EAAE,8BAA8BkC,IAAAA,QAAY,CAAA,CAAA,CAAA,GAInD,sBAAA,cAACZ,OAAOe,OAAK,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAS/B;;;AC3DA,IAAA,+BAAeC;",
6
+ "names": ["React", "useClient", "Button", "Select", "useTranslation", "Settings", "EditorInputModes", "ScriptPluginSettings", "settings", "onSettingsChange", "t", "useTranslation", "meta", "id", "client", "useClient", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "getAccessCredential", "Settings", "Root", "Section", "title", "ns", "Group", "ItemInput", "Button", "onClick", "Select", "value", "editorInputMode", "onValueChange", "s", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "EditorInputModes", "map", "mode", "Option", "key", "Arrow", "ScriptPluginSettings"]
7
+ }
@@ -0,0 +1,28 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-37XPSUAH.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/containers/ScriptProperties/ScriptProperties.tsx
7
+ import React from "react";
8
+ import { Obj } from "@dxos/echo";
9
+ import { Input, useTranslation } from "@dxos/react-ui";
10
+ var ScriptProperties = ({ object }) => {
11
+ const { t } = useTranslation(meta.id);
12
+ return /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, t("description label")), /* @__PURE__ */ React.createElement(Input.TextInput, {
13
+ placeholder: t("description placeholder"),
14
+ value: object.description ?? "",
15
+ onChange: (event) => {
16
+ Obj.change(object, (o) => {
17
+ o.description = event.target.value;
18
+ });
19
+ }
20
+ }));
21
+ };
22
+
23
+ // src/containers/ScriptProperties/index.ts
24
+ var ScriptProperties_default = ScriptProperties;
25
+ export {
26
+ ScriptProperties_default as default
27
+ };
28
+ //# sourceMappingURL=ScriptProperties-5YERQAL2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/ScriptProperties/ScriptProperties.tsx", "../../../src/containers/ScriptProperties/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { type Script } from '@dxos/functions';\nimport { Input, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../../meta';\n\nexport type ScriptPropertiesProps = {\n object: Script.Script;\n};\n\nexport const ScriptProperties = ({ object }: ScriptPropertiesProps) => {\n const { t } = useTranslation(meta.id);\n return (\n <Input.Root>\n <Input.Label>{t('description label')}</Input.Label>\n <Input.TextInput\n placeholder={t('description placeholder')}\n value={object.description ?? ''}\n onChange={(event) => {\n Obj.change(object, (o) => {\n o.description = event.target.value;\n });\n }}\n />\n </Input.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ScriptProperties } from './ScriptProperties';\n\nexport default ScriptProperties;\n"],
5
+ "mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,WAAW;AAEpB,SAASC,OAAOC,sBAAsB;AAQ/B,IAAMC,mBAAmB,CAAC,EAAEC,OAAM,MAAyB;AAChE,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,SACE,sBAAA,cAACC,MAAMC,MAAI,MACT,sBAAA,cAACD,MAAME,OAAK,MAAEN,EAAE,mBAAA,CAAA,GAChB,sBAAA,cAACI,MAAMG,WAAS;IACdC,aAAaR,EAAE,yBAAA;IACfS,OAAOV,OAAOW,eAAe;IAC7BC,UAAU,CAACC,UAAAA;AACTC,UAAIC,OAAOf,QAAQ,CAACgB,MAAAA;AAClBA,UAAEL,cAAcE,MAAMI,OAAOP;MAC/B,CAAA;IACF;;AAIR;;;AC1BA,IAAA,2BAAeQ;",
6
+ "names": ["React", "Obj", "Input", "useTranslation", "ScriptProperties", "object", "t", "useTranslation", "meta", "id", "Input", "Root", "Label", "TextInput", "placeholder", "value", "description", "onChange", "event", "Obj", "change", "o", "target", "ScriptProperties"]
7
+ }
@@ -0,0 +1,39 @@
1
+ import {
2
+ TestPanel
3
+ } from "./chunk-IHEZBW44.mjs";
4
+ import "./chunk-ATTZUDT7.mjs";
5
+ import {
6
+ useDeployState,
7
+ useToolbarState
8
+ } from "./chunk-7JL6WNT6.mjs";
9
+ import "./chunk-G3XIOLLI.mjs";
10
+ import "./chunk-OWMMXCIP.mjs";
11
+ import "./chunk-7SXHORK4.mjs";
12
+ import "./chunk-37XPSUAH.mjs";
13
+ import "./chunk-J5LGTIGS.mjs";
14
+
15
+ // src/containers/TestContainer/TestContainer.tsx
16
+ import React from "react";
17
+ import { Panel } from "@dxos/react-ui";
18
+ var TestContainer = ({ role, script }) => {
19
+ const state = useToolbarState();
20
+ useDeployState({
21
+ state,
22
+ script
23
+ });
24
+ return /* @__PURE__ */ React.createElement(Panel.Root, {
25
+ role,
26
+ className: "dx-document"
27
+ }, /* @__PURE__ */ React.createElement(Panel.Content, {
28
+ asChild: true
29
+ }, /* @__PURE__ */ React.createElement(TestPanel, {
30
+ functionUrl: state.value.functionUrl
31
+ })));
32
+ };
33
+
34
+ // src/containers/TestContainer/index.ts
35
+ var TestContainer_default = TestContainer;
36
+ export {
37
+ TestContainer_default as default
38
+ };
39
+ //# sourceMappingURL=TestContainer-ZI2PQRXB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/TestContainer/TestContainer.tsx", "../../../src/containers/TestContainer/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Script } from '@dxos/functions';\nimport { Panel } from '@dxos/react-ui';\n\nimport { TestPanel } from '../../components';\nimport { useDeployState, useToolbarState } from '../../hooks';\n\nexport type TestContainerProps = {\n role: string;\n script: Script.Script;\n};\n\nexport const TestContainer = ({ role, script }: TestContainerProps) => {\n const state = useToolbarState();\n useDeployState({ state, script });\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Content asChild>\n <TestPanel functionUrl={state.value.functionUrl} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { TestContainer } from './TestContainer';\n\nexport default TestContainer;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAGlB,SAASC,aAAa;AAUf,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,OAAM,MAAsB;AAChE,QAAMC,QAAQC,gBAAAA;AACdC,iBAAe;IAAEF;IAAOD;EAAO,CAAA;AAC/B,SACE,sBAAA,cAACI,MAAMC,MAAI;IAACN;IAAYO,WAAU;KAChC,sBAAA,cAACF,MAAMG,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACC,WAAAA;IAAUC,aAAaT,MAAMU,MAAMD;;AAI5C;;;ACrBA,IAAA,wBAAeE;",
6
+ "names": ["React", "Panel", "TestContainer", "role", "script", "state", "useToolbarState", "useDeployState", "Panel", "Root", "className", "Content", "asChild", "TestPanel", "functionUrl", "value", "TestContainer"]
7
+ }
@@ -1,25 +1,23 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-WYR4QHPE.mjs";
3
+ } from "./chunk-37XPSUAH.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
6
  // src/capabilities/app-graph-builder/app-graph-builder.ts
7
7
  import * as Effect from "effect/Effect";
8
- import { Capability, Common } from "@dxos/app-framework";
8
+ import { Capability } from "@dxos/app-framework";
9
+ import { AppCapabilities } from "@dxos/app-toolkit";
9
10
  import { Script } from "@dxos/functions";
10
- import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
11
+ import { PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
11
12
  import { GraphBuilder } from "@dxos/plugin-graph";
12
13
  var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
13
14
  const extensions = yield* Effect.all([
14
15
  GraphBuilder.createTypeExtension({
15
- id: `${meta.id}/execute`,
16
+ id: `${meta.id}.execute`,
16
17
  type: Script.Script,
17
- connector: (script) => Effect.succeed([
18
+ connector: () => Effect.succeed([
18
19
  {
19
- id: [
20
- script.id,
21
- "execute"
22
- ].join(ATTENDABLE_PATH_SEPARATOR),
20
+ id: "execute",
23
21
  type: PLANK_COMPANION_TYPE,
24
22
  data: "execute",
25
23
  properties: {
@@ -36,14 +34,11 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
36
34
  ])
37
35
  }),
38
36
  GraphBuilder.createTypeExtension({
39
- id: `${meta.id}/logs`,
37
+ id: `${meta.id}.logs`,
40
38
  type: Script.Script,
41
- connector: (script) => Effect.succeed([
39
+ connector: () => Effect.succeed([
42
40
  {
43
- id: [
44
- script.id,
45
- "logs"
46
- ].join(ATTENDABLE_PATH_SEPARATOR),
41
+ id: "logs",
47
42
  type: PLANK_COMPANION_TYPE,
48
43
  data: "logs",
49
44
  properties: {
@@ -60,9 +55,9 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
60
55
  ])
61
56
  })
62
57
  ]);
63
- return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
58
+ return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
64
59
  }));
65
60
  export {
66
61
  app_graph_builder_default as default
67
62
  };
68
- //# sourceMappingURL=app-graph-builder-7VO7AUI6.mjs.map
63
+ //# sourceMappingURL=app-graph-builder-QPXX4YK5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/functions';\nimport { PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder } from '@dxos/plugin-graph';\n\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: `${meta.id}.execute`,\n type: Script.Script,\n connector: () =>\n Effect.succeed([\n {\n id: 'execute',\n type: PLANK_COMPANION_TYPE,\n data: 'execute',\n properties: {\n label: ['script test label', { ns: meta.id }],\n icon: 'ph--terminal--regular',\n disposition: 'hidden',\n },\n },\n ]),\n }),\n GraphBuilder.createTypeExtension({\n id: `${meta.id}.logs`,\n type: Script.Script,\n connector: () =>\n Effect.succeed([\n {\n id: 'logs',\n type: PLANK_COMPANION_TYPE,\n data: 'logs',\n properties: {\n label: ['script logs label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,cAAc;AACvB,SAASC,4BAA4B;AACrC,SAASC,oBAAoB;AAI7B,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCC,aAAaC,oBAAoB;MAC/BC,IAAI,GAAGC,KAAKD,EAAE;MACdE,MAAMC,OAAOA;MACbC,WAAW,MACFC,eAAQ;QACb;UACEL,IAAI;UACJE,MAAMI;UACNC,MAAM;UACNC,YAAY;YACVC,OAAO;cAAC;cAAqB;gBAAEC,IAAIT,KAAKD;cAAG;;YAC3CW,MAAM;YACNC,aAAa;UACf;QACF;OACD;IACL,CAAA;IACAd,aAAaC,oBAAoB;MAC/BC,IAAI,GAAGC,KAAKD,EAAE;MACdE,MAAMC,OAAOA;MACbC,WAAW,MACFC,eAAQ;QACb;UACEL,IAAI;UACJE,MAAMI;UACNC,MAAM;UACNC,YAAY;YACVC,OAAO;cAAC;cAAqB;gBAAEC,IAAIT,KAAKD;cAAG;;YAC3CW,MAAM;YACNC,aAAa;UACf;QACF;OACD;IACL,CAAA;GACD;AAED,SAAOnB,WAAWoB,YAAYC,gBAAgBC,iBAAiBnB,UAAAA;AACjE,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "Script", "PLANK_COMPANION_TYPE", "GraphBuilder", "Capability", "makeModule", "fnUntraced", "extensions", "all", "GraphBuilder", "createTypeExtension", "id", "meta", "type", "Script", "connector", "succeed", "PLANK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "disposition", "contributes", "AppCapabilities", "AppGraphBuilder"]
7
+ }
@@ -0,0 +1,17 @@
1
+ import {
2
+ script_blueprint_default
3
+ } from "./chunk-MYSQ4VH5.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/capabilities/blueprint-definition/blueprint-definition.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capability } from "@dxos/app-framework";
9
+ import { AppCapabilities } from "@dxos/app-toolkit";
10
+ var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
11
+ Capability.contributes(AppCapabilities.BlueprintDefinition, script_blueprint_default)
12
+ ]));
13
+ var blueprint_definition_default = blueprintDefinition;
14
+ export {
15
+ blueprint_definition_default as default
16
+ };
17
+ //# sourceMappingURL=blueprint-definition-2UX353LT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/blueprint-definition/blueprint-definition.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { ScriptBlueprint } from '../../blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, ScriptBlueprint)]));\n\nexport default blueprintDefinition;\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,IAAMC,sBAAsBC,WAAWC,WAGrC,MAAaC,eAAQ;EAACF,WAAWG,YAAYC,gBAAgBC,qBAAqBC,wBAAAA;CAAiB,CAAA;AAErG,IAAA,+BAAeP;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "blueprintDefinition", "Capability", "makeModule", "succeed", "contributes", "AppCapabilities", "BlueprintDefinition", "ScriptBlueprint"]
7
+ }
@@ -1,8 +1,8 @@
1
1
  import {
2
- script_blueprint_exports
3
- } from "../chunk-F3QKSKSF.mjs";
2
+ script_blueprint_default
3
+ } from "../chunk-MYSQ4VH5.mjs";
4
4
  import "../chunk-J5LGTIGS.mjs";
5
5
  export {
6
- script_blueprint_exports as ScriptBlueprint
6
+ script_blueprint_default as ScriptBlueprint
7
7
  };
8
8
  //# sourceMappingURL=index.mjs.map