@dxos/plugin-script 0.9.0 → 0.9.1-staging.ee54ba693a

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 (318) hide show
  1. package/PLUGIN.mdl +9 -9
  2. package/dist/lib/neutral/{DeploymentDialog-M3AFYQHC.mjs → DeploymentDialog-7OIIL7LB.mjs} +10 -10
  3. package/dist/lib/neutral/DeploymentDialog-7OIIL7LB.mjs.map +7 -0
  4. package/dist/lib/neutral/{NotebookArticle-NV4AHOOS.mjs → NotebookArticle-AOBB3XGD.mjs} +28 -46
  5. package/dist/lib/neutral/NotebookArticle-AOBB3XGD.mjs.map +7 -0
  6. package/dist/lib/neutral/{ScriptArticle-QW26LOKU.mjs → ScriptArticle-I3DOJARR.mjs} +4 -4
  7. package/dist/lib/neutral/ScriptArticle-I3DOJARR.mjs.map +7 -0
  8. package/dist/lib/neutral/ScriptPlugin.mjs +6 -6
  9. package/dist/lib/neutral/ScriptPlugin.mjs.map +4 -4
  10. package/dist/lib/neutral/ScriptPlugin.node.mjs +3 -3
  11. package/dist/lib/neutral/ScriptPlugin.node.mjs.map +3 -3
  12. package/dist/lib/neutral/{ScriptProperties-RLXNAN3N.mjs → ScriptProperties-RHDQGMGT.mjs} +153 -154
  13. package/dist/lib/neutral/ScriptProperties-RHDQGMGT.mjs.map +7 -0
  14. package/dist/lib/neutral/ScriptSettings-NS3ZY7ZR.mjs +35 -0
  15. package/dist/lib/neutral/ScriptSettings-NS3ZY7ZR.mjs.map +7 -0
  16. package/dist/lib/neutral/{app-graph-builder-7AWFCEQF.mjs → app-graph-builder-POP3CX6G.mjs} +3 -3
  17. package/dist/lib/neutral/{app-graph-builder-7AWFCEQF.mjs.map → app-graph-builder-POP3CX6G.mjs.map} +3 -3
  18. package/dist/lib/neutral/capabilities/index.mjs +8 -8
  19. package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
  20. package/dist/lib/neutral/capabilities/node.mjs +6 -6
  21. package/dist/lib/neutral/capabilities/node.mjs.map +3 -3
  22. package/dist/lib/neutral/{chunk-HABDH5SS.mjs → chunk-652CIABA.mjs} +14 -13
  23. package/dist/lib/neutral/chunk-652CIABA.mjs.map +7 -0
  24. package/dist/lib/neutral/{chunk-TRKXIP2Q.mjs → chunk-6DOWVKIW.mjs} +4 -5
  25. package/dist/lib/neutral/chunk-6DOWVKIW.mjs.map +7 -0
  26. package/dist/lib/neutral/{chunk-BDHDBPVM.mjs → chunk-CHNFYLKW.mjs} +12 -12
  27. package/dist/lib/neutral/chunk-CHNFYLKW.mjs.map +7 -0
  28. package/dist/lib/neutral/{chunk-VXDJH6OL.mjs → chunk-INFWOSTM.mjs} +14 -8
  29. package/dist/lib/neutral/chunk-INFWOSTM.mjs.map +7 -0
  30. package/dist/lib/neutral/{chunk-BKXYHCJ6.mjs → chunk-KSVKXCTX.mjs} +2 -2
  31. package/dist/lib/neutral/chunk-NVV5UYY4.mjs +50 -0
  32. package/dist/lib/neutral/chunk-NVV5UYY4.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-USJ44FIU.mjs +8 -0
  34. package/dist/lib/neutral/{chunk-XFM63AKT.mjs.map → chunk-USJ44FIU.mjs.map} +1 -1
  35. package/dist/lib/neutral/{chunk-PHKPB5JN.mjs → chunk-WAGQ77UQ.mjs} +16 -16
  36. package/dist/lib/neutral/chunk-WAGQ77UQ.mjs.map +7 -0
  37. package/dist/lib/neutral/components/index.mjs +124 -93
  38. package/dist/lib/neutral/components/index.mjs.map +4 -4
  39. package/dist/lib/neutral/containers/index.mjs +6 -4
  40. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  41. package/dist/lib/neutral/{create-AAA53WDL.mjs → create-SGHWWTET.mjs} +4 -4
  42. package/dist/lib/neutral/{create-AAA53WDL.mjs.map → create-SGHWWTET.mjs.map} +4 -4
  43. package/dist/lib/neutral/{create-object-FZM5ASWM.mjs → create-object-QW66KQWS.mjs} +1 -3
  44. package/dist/lib/neutral/{create-object-FZM5ASWM.mjs.map → create-object-QW66KQWS.mjs.map} +3 -3
  45. package/dist/lib/neutral/{create-script-P46JOEHH.mjs → create-script-CIEJOBIU.mjs} +4 -4
  46. package/dist/lib/neutral/{create-script-P46JOEHH.mjs.map → create-script-CIEJOBIU.mjs.map} +3 -3
  47. package/dist/lib/neutral/{delete-HCQIQFVP.mjs → delete-72RXVLVI.mjs} +3 -3
  48. package/dist/lib/neutral/{delete-HCQIQFVP.mjs.map → delete-72RXVLVI.mjs.map} +1 -1
  49. package/dist/lib/neutral/{deploy-7JVMMHSH.mjs → deploy-PJTJAQZY.mjs} +10 -6
  50. package/dist/lib/neutral/deploy-PJTJAQZY.mjs.map +7 -0
  51. package/dist/lib/neutral/hooks/index.mjs +6 -6
  52. package/dist/lib/neutral/hooks/index.mjs.map +3 -3
  53. package/dist/lib/neutral/index.mjs +9 -9
  54. package/dist/lib/neutral/{inspect-invocations-TAOYDT4H.mjs → inspect-invocations-ZUXVUAML.mjs} +5 -5
  55. package/dist/lib/neutral/inspect-invocations-ZUXVUAML.mjs.map +7 -0
  56. package/dist/lib/neutral/{install-function-FJIE2JAI.mjs → install-function-YFDZLVMJ.mjs} +4 -4
  57. package/dist/lib/neutral/{install-function-FJIE2JAI.mjs.map → install-function-YFDZLVMJ.mjs.map} +1 -1
  58. package/dist/lib/neutral/{invoke-3HVWY2KF.mjs → invoke-CDRBQ2WA.mjs} +4 -4
  59. package/dist/lib/neutral/{invoke-3HVWY2KF.mjs.map → invoke-CDRBQ2WA.mjs.map} +1 -1
  60. package/dist/lib/neutral/meta.json +1 -1
  61. package/dist/lib/neutral/meta.mjs +1 -1
  62. package/dist/lib/neutral/{operation-handler-YMUADD7Y.mjs → operation-handler-M3B6IRMV.mjs} +3 -3
  63. package/dist/lib/neutral/{operation-handler-YMUADD7Y.mjs.map → operation-handler-M3B6IRMV.mjs.map} +1 -1
  64. package/dist/lib/neutral/operations/index.mjs +1 -1
  65. package/dist/lib/neutral/plugin.mjs +2 -2
  66. package/dist/lib/neutral/{query-deployed-functions-F4FHJNWO.mjs → query-deployed-functions-RBQMGON2.mjs} +4 -4
  67. package/dist/lib/neutral/{query-deployed-functions-F4FHJNWO.mjs.map → query-deployed-functions-RBQMGON2.mjs.map} +1 -1
  68. package/dist/lib/neutral/{react-surface-ACNZ35FV.mjs → react-surface-GEXOZLBC.mjs} +7 -8
  69. package/dist/lib/neutral/react-surface-GEXOZLBC.mjs.map +7 -0
  70. package/dist/lib/neutral/{read-RQESBAQI.mjs → read-OY3K5R3V.mjs} +3 -3
  71. package/dist/lib/neutral/{read-RQESBAQI.mjs.map → read-OY3K5R3V.mjs.map} +3 -3
  72. package/dist/lib/neutral/{settings-VJBW4OMK.mjs → settings-FD7HXEY6.mjs} +3 -3
  73. package/dist/lib/neutral/{settings-VJBW4OMK.mjs.map → settings-FD7HXEY6.mjs.map} +3 -3
  74. package/dist/lib/neutral/skill-definition-JZ7UYBT7.mjs +15 -0
  75. package/dist/lib/neutral/skill-definition-JZ7UYBT7.mjs.map +7 -0
  76. package/dist/lib/neutral/skills/index.mjs +10 -0
  77. package/dist/lib/neutral/templates/index.mjs +1 -1
  78. package/dist/lib/neutral/translations.mjs +7 -8
  79. package/dist/lib/neutral/translations.mjs.map +3 -3
  80. package/dist/lib/neutral/types/index.mjs +2 -2
  81. package/dist/lib/neutral/update-Z5VGOLBN.mjs +44 -0
  82. package/dist/lib/neutral/update-Z5VGOLBN.mjs.map +7 -0
  83. package/dist/types/dx.config.d.ts +28 -0
  84. package/dist/types/dx.config.d.ts.map +1 -0
  85. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -2
  86. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/compiler.d.ts +1 -2
  88. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/create-object.d.ts +1 -12
  90. package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/index.d.ts +6 -17
  92. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/node.d.ts +4 -15
  94. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  96. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/settings.d.ts +1 -3
  98. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/skill-definition.d.ts +5 -0
  100. package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -0
  101. package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
  102. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +2 -3
  103. package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
  104. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +18 -21
  105. package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
  106. package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -1
  107. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  108. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +18 -21
  109. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  110. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/index.d.ts +0 -2
  112. package/dist/types/src/components/index.d.ts.map +1 -1
  113. package/dist/types/src/constants.d.ts.map +1 -1
  114. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
  115. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +18 -21
  116. package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  117. package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts.map +1 -1
  118. package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts.map +1 -1
  119. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts +20 -23
  120. package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts.map +1 -1
  121. package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -1
  122. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +20 -23
  123. package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -1
  124. package/dist/types/src/containers/ScriptProperties/SkillEditor.d.ts +7 -0
  125. package/dist/types/src/containers/ScriptProperties/SkillEditor.d.ts.map +1 -0
  126. package/dist/types/src/containers/ScriptSettings/ScriptSettings.d.ts +8 -0
  127. package/dist/types/src/containers/ScriptSettings/ScriptSettings.d.ts.map +1 -0
  128. package/dist/types/src/{components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts → containers/ScriptSettings/ScriptSettings.stories.d.ts} +20 -23
  129. package/dist/types/src/containers/ScriptSettings/ScriptSettings.stories.d.ts.map +1 -0
  130. package/dist/types/src/containers/ScriptSettings/index.d.ts +2 -0
  131. package/dist/types/src/containers/ScriptSettings/index.d.ts.map +1 -0
  132. package/dist/types/src/containers/index.d.ts +1 -0
  133. package/dist/types/src/containers/index.d.ts.map +1 -1
  134. package/dist/types/src/hooks/deploy.d.ts +14 -15
  135. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  136. package/dist/types/src/hooks/format.d.ts +6 -1
  137. package/dist/types/src/hooks/format.d.ts.map +1 -1
  138. package/dist/types/src/hooks/template.d.ts +6 -1
  139. package/dist/types/src/hooks/template.d.ts.map +1 -1
  140. package/dist/types/src/index.d.ts +1 -1
  141. package/dist/types/src/index.d.ts.map +1 -1
  142. package/dist/types/src/meta.d.ts +32 -2
  143. package/dist/types/src/meta.d.ts.map +1 -1
  144. package/dist/types/src/operations/create-script.d.ts.map +1 -1
  145. package/dist/types/src/skills/functions/create.d.ts.map +1 -0
  146. package/dist/types/src/skills/functions/definitions.d.ts +75 -0
  147. package/dist/types/src/skills/functions/definitions.d.ts.map +1 -0
  148. package/dist/types/src/skills/functions/delete.d.ts +7 -0
  149. package/dist/types/src/skills/functions/delete.d.ts.map +1 -0
  150. package/dist/types/src/skills/functions/deploy.d.ts +11 -0
  151. package/dist/types/src/skills/functions/deploy.d.ts.map +1 -0
  152. package/dist/types/src/skills/functions/index.d.ts.map +1 -0
  153. package/dist/types/src/skills/functions/inspect-invocations.d.ts +18 -0
  154. package/dist/types/src/skills/functions/inspect-invocations.d.ts.map +1 -0
  155. package/dist/types/src/skills/functions/install-function.d.ts.map +1 -0
  156. package/dist/types/src/skills/functions/invoke.d.ts +11 -0
  157. package/dist/types/src/skills/functions/invoke.d.ts.map +1 -0
  158. package/dist/types/src/skills/functions/query-deployed-functions.d.ts.map +1 -0
  159. package/dist/types/src/skills/functions/read.d.ts +11 -0
  160. package/dist/types/src/skills/functions/read.d.ts.map +1 -0
  161. package/dist/types/src/skills/functions/update.d.ts +16 -0
  162. package/dist/types/src/skills/functions/update.d.ts.map +1 -0
  163. package/dist/types/src/skills/index.d.ts +2 -0
  164. package/dist/types/src/skills/index.d.ts.map +1 -0
  165. package/dist/types/src/skills/script-skill.d.ts +4 -0
  166. package/dist/types/src/skills/script-skill.d.ts.map +1 -0
  167. package/dist/types/src/templates/chess-bot.d.ts +1 -4
  168. package/dist/types/src/templates/chess-bot.d.ts.map +1 -1
  169. package/dist/types/src/templates/commentary.d.ts +1 -4
  170. package/dist/types/src/templates/commentary.d.ts.map +1 -1
  171. package/dist/types/src/testing/test-script.d.ts.map +1 -1
  172. package/dist/types/src/translations.d.ts +18 -21
  173. package/dist/types/src/translations.d.ts.map +1 -1
  174. package/dist/types/src/types/Notebook.d.ts +11 -81
  175. package/dist/types/src/types/Notebook.d.ts.map +1 -1
  176. package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -1
  177. package/dist/types/src/types/ScriptEvents.d.ts.map +1 -1
  178. package/dist/types/src/types/ScriptOperation.d.ts +2 -10
  179. package/dist/types/src/types/ScriptOperation.d.ts.map +1 -1
  180. package/dist/types/src/util/deploy.d.ts +1 -1
  181. package/dist/types/src/util/deploy.d.ts.map +1 -1
  182. package/dist/types/tsconfig.tsbuildinfo +1 -1
  183. package/dx.config.ts +26 -0
  184. package/package.json +77 -75
  185. package/src/ScriptPlugin.node.ts +2 -2
  186. package/src/ScriptPlugin.test.ts +2 -2
  187. package/src/ScriptPlugin.tsx +3 -3
  188. package/src/capabilities/app-graph-builder.ts +2 -2
  189. package/src/capabilities/create-object.ts +0 -2
  190. package/src/capabilities/index.ts +1 -7
  191. package/src/capabilities/node.ts +1 -7
  192. package/src/capabilities/operation-handler.ts +1 -1
  193. package/src/capabilities/react-surface.tsx +11 -9
  194. package/src/capabilities/settings.ts +2 -2
  195. package/src/capabilities/skill-definition.ts +14 -0
  196. package/src/components/NotebookStack/NotebookCell.tsx +13 -31
  197. package/src/components/NotebookStack/NotebookMenu.tsx +1 -1
  198. package/src/components/NotebookStack/NotebookStack.stories.tsx +3 -3
  199. package/src/components/NotebookStack/NotebookStack.tsx +102 -44
  200. package/src/components/QueryEditor/QueryEditor.stories.tsx +2 -7
  201. package/src/components/ScriptToolbar/ScriptToolbar.tsx +3 -2
  202. package/src/components/TestPanel/TestPanel.tsx +1 -1
  203. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +2 -2
  204. package/src/components/TypescriptEditor/TypescriptEditor.tsx +7 -7
  205. package/src/components/index.ts +0 -4
  206. package/src/constants.ts +1 -1
  207. package/src/containers/DeploymentDialog/DeploymentDialog.tsx +15 -9
  208. package/src/containers/NotebookArticle/NotebookArticle.stories.tsx +6 -5
  209. package/src/containers/NotebookArticle/NotebookArticle.tsx +21 -43
  210. package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +5 -5
  211. package/src/containers/ScriptArticle/ScriptArticle.tsx +3 -3
  212. package/src/containers/ScriptProperties/FunctionBinding.tsx +2 -2
  213. package/src/containers/ScriptProperties/FunctionPublishing.tsx +2 -2
  214. package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +5 -5
  215. package/src/containers/ScriptProperties/ScriptProperties.tsx +13 -6
  216. package/src/containers/ScriptProperties/{BlueprintEditor.tsx → SkillEditor.tsx} +23 -23
  217. package/src/{components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx → containers/ScriptSettings/ScriptSettings.stories.tsx} +4 -4
  218. package/src/containers/ScriptSettings/ScriptSettings.tsx +47 -0
  219. package/src/containers/ScriptSettings/index.ts +5 -0
  220. package/src/containers/index.ts +1 -0
  221. package/src/e2e/ai.test.ts +14 -11
  222. package/src/e2e/deploy.test.ts +5 -1
  223. package/src/hooks/deploy.ts +4 -4
  224. package/src/hooks/format.ts +1 -1
  225. package/src/index.ts +1 -1
  226. package/src/meta.ts +3 -19
  227. package/src/operations/create-script.ts +1 -1
  228. package/src/{blueprints → skills}/functions/create.ts +1 -1
  229. package/src/{blueprints → skills}/functions/definitions.ts +4 -2
  230. package/src/{blueprints → skills}/functions/deploy.ts +7 -2
  231. package/src/{blueprints → skills}/functions/inspect-invocations.ts +2 -2
  232. package/src/{blueprints → skills}/functions/read.ts +1 -1
  233. package/src/skills/functions/update.ts +48 -0
  234. package/src/skills/index.ts +5 -0
  235. package/src/{blueprints/script-blueprint.ts → skills/script-skill.ts} +12 -12
  236. package/src/templates/anthropic.ts +1 -1
  237. package/src/templates/chess-bot.ts +2 -2
  238. package/src/templates/commentary.ts +8 -7
  239. package/src/templates/discord.ts +1 -1
  240. package/src/templates/gmail.ts +1 -1
  241. package/src/testing/test-notebook.ts +5 -5
  242. package/src/testing/test-script.ts +1 -1
  243. package/src/translations.ts +7 -8
  244. package/src/types/Notebook.ts +9 -13
  245. package/src/types/ScriptCapabilities.ts +4 -2
  246. package/src/types/ScriptEvents.ts +1 -1
  247. package/src/types/ScriptOperation.ts +3 -3
  248. package/src/util/deploy.ts +7 -3
  249. package/src/util/functions.ts +3 -3
  250. package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs.map +0 -7
  251. package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs.map +0 -7
  252. package/dist/lib/neutral/ScriptArticle-QW26LOKU.mjs.map +0 -7
  253. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +0 -31
  254. package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +0 -7
  255. package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +0 -7
  256. package/dist/lib/neutral/blueprint-definition-PJ7I3JIQ.mjs +0 -15
  257. package/dist/lib/neutral/blueprint-definition-PJ7I3JIQ.mjs.map +0 -7
  258. package/dist/lib/neutral/blueprints/index.mjs +0 -10
  259. package/dist/lib/neutral/chunk-BDHDBPVM.mjs.map +0 -7
  260. package/dist/lib/neutral/chunk-HABDH5SS.mjs.map +0 -7
  261. package/dist/lib/neutral/chunk-PHKPB5JN.mjs.map +0 -7
  262. package/dist/lib/neutral/chunk-TRKXIP2Q.mjs.map +0 -7
  263. package/dist/lib/neutral/chunk-UA3BWOCZ.mjs +0 -38
  264. package/dist/lib/neutral/chunk-UA3BWOCZ.mjs.map +0 -7
  265. package/dist/lib/neutral/chunk-VXDJH6OL.mjs.map +0 -7
  266. package/dist/lib/neutral/chunk-XFM63AKT.mjs +0 -8
  267. package/dist/lib/neutral/deploy-7JVMMHSH.mjs.map +0 -7
  268. package/dist/lib/neutral/inspect-invocations-TAOYDT4H.mjs.map +0 -7
  269. package/dist/lib/neutral/react-surface-ACNZ35FV.mjs.map +0 -7
  270. package/dist/lib/neutral/update-CO7B6UBS.mjs +0 -63
  271. package/dist/lib/neutral/update-CO7B6UBS.mjs.map +0 -7
  272. package/dist/types/src/blueprints/functions/create.d.ts.map +0 -1
  273. package/dist/types/src/blueprints/functions/definitions.d.ts +0 -135
  274. package/dist/types/src/blueprints/functions/definitions.d.ts.map +0 -1
  275. package/dist/types/src/blueprints/functions/delete.d.ts +0 -17
  276. package/dist/types/src/blueprints/functions/delete.d.ts.map +0 -1
  277. package/dist/types/src/blueprints/functions/deploy.d.ts +0 -21
  278. package/dist/types/src/blueprints/functions/deploy.d.ts.map +0 -1
  279. package/dist/types/src/blueprints/functions/index.d.ts.map +0 -1
  280. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +0 -28
  281. package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +0 -1
  282. package/dist/types/src/blueprints/functions/install-function.d.ts.map +0 -1
  283. package/dist/types/src/blueprints/functions/invoke.d.ts +0 -21
  284. package/dist/types/src/blueprints/functions/invoke.d.ts.map +0 -1
  285. package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +0 -1
  286. package/dist/types/src/blueprints/functions/read.d.ts +0 -21
  287. package/dist/types/src/blueprints/functions/read.d.ts.map +0 -1
  288. package/dist/types/src/blueprints/functions/update.d.ts +0 -26
  289. package/dist/types/src/blueprints/functions/update.d.ts.map +0 -1
  290. package/dist/types/src/blueprints/index.d.ts +0 -2
  291. package/dist/types/src/blueprints/index.d.ts.map +0 -1
  292. package/dist/types/src/blueprints/script-blueprint.d.ts +0 -4
  293. package/dist/types/src/blueprints/script-blueprint.d.ts.map +0 -1
  294. package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -6
  295. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
  296. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +0 -8
  297. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +0 -1
  298. package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +0 -1
  299. package/dist/types/src/components/ScriptPluginSettings/index.d.ts +0 -2
  300. package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +0 -1
  301. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +0 -7
  302. package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +0 -1
  303. package/src/blueprints/functions/update.ts +0 -68
  304. package/src/blueprints/index.ts +0 -5
  305. package/src/capabilities/blueprint-definition.ts +0 -19
  306. package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +0 -42
  307. package/src/components/ScriptPluginSettings/index.ts +0 -5
  308. /package/dist/lib/neutral/{chunk-BKXYHCJ6.mjs.map → chunk-KSVKXCTX.mjs.map} +0 -0
  309. /package/dist/lib/neutral/{blueprints → skills}/index.mjs.map +0 -0
  310. /package/dist/types/src/{blueprints → skills}/functions/create.d.ts +0 -0
  311. /package/dist/types/src/{blueprints → skills}/functions/index.d.ts +0 -0
  312. /package/dist/types/src/{blueprints → skills}/functions/install-function.d.ts +0 -0
  313. /package/dist/types/src/{blueprints → skills}/functions/query-deployed-functions.d.ts +0 -0
  314. /package/src/{blueprints → skills}/functions/delete.ts +0 -0
  315. /package/src/{blueprints → skills}/functions/index.ts +0 -0
  316. /package/src/{blueprints → skills}/functions/install-function.ts +0 -0
  317. /package/src/{blueprints → skills}/functions/invoke.ts +0 -0
  318. /package/src/{blueprints → skills}/functions/query-deployed-functions.ts +0 -0
package/dx.config.ts ADDED
@@ -0,0 +1,26 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Config2 } from '@dxos/app-framework/config';
6
+ import { trim } from '@dxos/util';
7
+
8
+ export default Config2.make({
9
+ plugin: {
10
+ key: 'org.dxos.plugin.script',
11
+ name: 'Scripts',
12
+ author: 'DXOS',
13
+ description: trim`
14
+ Write, deploy, and run custom TypeScript functions as ECHO objects directly inside your Composer spaces.
15
+ Scripts execute on the Cloudflare Workers-based EDGE runtime and have access to the full DXOS SDK,
16
+ Effect-TS, and a curated set of third-party libraries including HTTP, JSON, CSV, and date utilities.
17
+ An AI Script assistant wires CRUD, deploy, invoke, and invocation-inspection operations as tools
18
+ so an agent can scaffold, iterate, and test functions entirely within a chat session.
19
+ `,
20
+ icon: { key: 'ph--code--regular', hue: 'sky' },
21
+ source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-explorer',
22
+ spec: 'PLUGIN.mdl',
23
+ tags: ['labs'],
24
+ screenshots: [{ dark: 'https://dxos.network/plugin-details-scripts-dark.png' }],
25
+ },
26
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-script",
3
- "version": "0.9.0",
3
+ "version": "0.9.1-staging.ee54ba693a",
4
4
  "description": "Braneframe notebook plugin",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -13,10 +13,10 @@
13
13
  "sideEffects": true,
14
14
  "type": "module",
15
15
  "imports": {
16
- "#blueprints": {
17
- "source": "./src/blueprints/index.ts",
18
- "types": "./dist/types/src/blueprints/index.d.ts",
19
- "default": "./dist/lib/neutral/blueprints/index.mjs"
16
+ "#skills": {
17
+ "source": "./src/skills/index.ts",
18
+ "types": "./dist/types/src/skills/index.d.ts",
19
+ "default": "./dist/lib/neutral/skills/index.mjs"
20
20
  },
21
21
  "#capabilities": {
22
22
  "source": {
@@ -82,10 +82,10 @@
82
82
  "default": "./dist/lib/neutral/index.mjs"
83
83
  },
84
84
  "./assets/PLUGIN.mdl": "./PLUGIN.mdl",
85
- "./blueprints": {
86
- "source": "./src/blueprints/index.ts",
87
- "types": "./dist/types/src/blueprints/index.d.ts",
88
- "default": "./dist/lib/neutral/blueprints/index.mjs"
85
+ "./skills": {
86
+ "source": "./src/skills/index.ts",
87
+ "types": "./dist/types/src/skills/index.d.ts",
88
+ "default": "./dist/lib/neutral/skills/index.mjs"
89
89
  },
90
90
  "./containers": {
91
91
  "source": "./src/containers/index.ts",
@@ -116,15 +116,16 @@
116
116
  "types": "dist/types/src/index.d.ts",
117
117
  "files": [
118
118
  "dist",
119
+ "dx.config.ts",
119
120
  "src",
120
121
  "PLUGIN.mdl"
121
122
  ],
122
123
  "dependencies": {
123
- "@automerge/automerge": "3.3.0-fragments.1",
124
+ "@automerge/automerge": "3.3.0-fragments.2",
124
125
  "@codemirror/autocomplete": "^6.20.2",
125
126
  "@codemirror/lang-javascript": "^6.2.5",
126
127
  "@codemirror/language": "^6.12.3",
127
- "@codemirror/lint": "6.9.6",
128
+ "@codemirror/lint": "6.9.7",
128
129
  "@codemirror/state": "^6.6.0",
129
130
  "@codemirror/view": "^6.43.0",
130
131
  "@effect-atom/atom-react": "^0.5.0",
@@ -140,81 +141,82 @@
140
141
  "esbuild-wasm": "^0.28.0",
141
142
  "prettier": "^3.6.2",
142
143
  "typescript": "^6.0.3",
143
- "@dxos/ai": "0.9.0",
144
- "@dxos/app-framework": "0.9.0",
145
- "@dxos/app-toolkit": "0.9.0",
146
- "@dxos/assistant": "0.9.0",
147
- "@dxos/assistant-toolkit": "0.9.0",
148
- "@dxos/client": "0.9.0",
149
- "@dxos/client-protocol": "0.9.0",
150
- "@dxos/compute": "0.9.0",
151
- "@dxos/context": "0.9.0",
152
- "@dxos/config": "0.9.0",
153
- "@dxos/devtools": "0.9.0",
154
- "@dxos/echo": "0.9.0",
155
- "@dxos/echo-query": "0.9.0",
156
- "@dxos/effect": "0.9.0",
157
- "@dxos/echo-client": "0.9.0",
158
- "@dxos/functions": "0.9.0",
159
- "@dxos/functions-simulator-cloudflare": "0.9.0",
160
- "@dxos/invariant": "0.9.0",
161
- "@dxos/functions-runtime": "0.9.0",
162
- "@dxos/keys": "0.9.0",
163
- "@dxos/log": "0.9.0",
164
- "@dxos/plugin-assistant": "0.9.0",
165
- "@dxos/plugin-client": "0.9.0",
166
- "@dxos/plugin-explorer": "0.9.0",
167
- "@dxos/plugin-automation": "0.9.0",
168
- "@dxos/plugin-graph": "0.9.0",
169
- "@dxos/plugin-game": "0.9.0",
170
- "@dxos/plugin-markdown": "0.9.0",
171
- "@dxos/protocols": "0.9.0",
172
- "@dxos/react-client": "0.9.0",
173
- "@dxos/plugin-space": "0.9.0",
174
- "@dxos/react-ui-attention": "0.9.0",
175
- "@dxos/react-ui-editor": "0.9.0",
176
- "@dxos/react-ui-components": "0.9.0",
177
- "@dxos/react-ui-form": "0.9.0",
178
- "@dxos/react-ui-stack": "0.9.0",
179
- "@dxos/react-ui-menu": "0.9.0",
180
- "@dxos/rpc": "0.9.0",
181
- "@dxos/react-ui-syntax-highlighter": "0.9.0",
182
- "@dxos/schema": "0.9.0",
183
- "@dxos/types": "0.9.0",
184
- "@dxos/ui": "0.9.0",
185
- "@dxos/util": "0.9.0",
186
- "@dxos/ui-editor": "0.9.0",
187
- "@dxos/rpc-tunnel": "0.9.0"
144
+ "@dxos/ai": "0.9.1-staging.ee54ba693a",
145
+ "@dxos/app-framework": "0.9.1-staging.ee54ba693a",
146
+ "@dxos/assistant-toolkit": "0.9.1-staging.ee54ba693a",
147
+ "@dxos/assistant": "0.9.1-staging.ee54ba693a",
148
+ "@dxos/client": "0.9.1-staging.ee54ba693a",
149
+ "@dxos/client-protocol": "0.9.1-staging.ee54ba693a",
150
+ "@dxos/compute": "0.9.1-staging.ee54ba693a",
151
+ "@dxos/config": "0.9.1-staging.ee54ba693a",
152
+ "@dxos/app-toolkit": "0.9.1-staging.ee54ba693a",
153
+ "@dxos/context": "0.9.1-staging.ee54ba693a",
154
+ "@dxos/devtools": "0.9.1-staging.ee54ba693a",
155
+ "@dxos/echo": "0.9.1-staging.ee54ba693a",
156
+ "@dxos/echo-doc": "0.9.1-staging.ee54ba693a",
157
+ "@dxos/echo-query": "0.9.1-staging.ee54ba693a",
158
+ "@dxos/effect": "0.9.1-staging.ee54ba693a",
159
+ "@dxos/echo-client": "0.9.1-staging.ee54ba693a",
160
+ "@dxos/functions": "0.9.1-staging.ee54ba693a",
161
+ "@dxos/functions-runtime": "0.9.1-staging.ee54ba693a",
162
+ "@dxos/invariant": "0.9.1-staging.ee54ba693a",
163
+ "@dxos/functions-simulator-cloudflare": "0.9.1-staging.ee54ba693a",
164
+ "@dxos/keys": "0.9.1-staging.ee54ba693a",
165
+ "@dxos/log": "0.9.1-staging.ee54ba693a",
166
+ "@dxos/plugin-client": "0.9.1-staging.ee54ba693a",
167
+ "@dxos/plugin-explorer": "0.9.1-staging.ee54ba693a",
168
+ "@dxos/plugin-game": "0.9.1-staging.ee54ba693a",
169
+ "@dxos/plugin-assistant": "0.9.1-staging.ee54ba693a",
170
+ "@dxos/plugin-graph": "0.9.1-staging.ee54ba693a",
171
+ "@dxos/plugin-markdown": "0.9.1-staging.ee54ba693a",
172
+ "@dxos/plugin-space": "0.9.1-staging.ee54ba693a",
173
+ "@dxos/react-client": "0.9.1-staging.ee54ba693a",
174
+ "@dxos/react-ui-attention": "0.9.1-staging.ee54ba693a",
175
+ "@dxos/protocols": "0.9.1-staging.ee54ba693a",
176
+ "@dxos/react-ui-components": "0.9.1-staging.ee54ba693a",
177
+ "@dxos/plugin-routine": "0.9.1-staging.ee54ba693a",
178
+ "@dxos/react-ui-form": "0.9.1-staging.ee54ba693a",
179
+ "@dxos/react-ui-menu": "0.9.1-staging.ee54ba693a",
180
+ "@dxos/react-ui-mosaic": "0.9.1-staging.ee54ba693a",
181
+ "@dxos/react-ui-editor": "0.9.1-staging.ee54ba693a",
182
+ "@dxos/react-ui-syntax-highlighter": "0.9.1-staging.ee54ba693a",
183
+ "@dxos/rpc": "0.9.1-staging.ee54ba693a",
184
+ "@dxos/rpc-tunnel": "0.9.1-staging.ee54ba693a",
185
+ "@dxos/types": "0.9.1-staging.ee54ba693a",
186
+ "@dxos/schema": "0.9.1-staging.ee54ba693a",
187
+ "@dxos/ui": "0.9.1-staging.ee54ba693a",
188
+ "@dxos/ui-editor": "0.9.1-staging.ee54ba693a",
189
+ "@dxos/util": "0.9.1-staging.ee54ba693a"
188
190
  },
189
191
  "devDependencies": {
190
192
  "@effect-atom/atom-react": "^0.5.0",
191
193
  "@effect/ai": "0.36.0",
192
194
  "@effect/ai-anthropic": "0.26.0",
193
- "@effect/platform": "0.96.1",
194
- "@types/react": "~19.2.7",
195
+ "@effect/platform": "0.96.2",
196
+ "@types/react": "~19.2.17",
195
197
  "@types/react-dom": "~19.2.3",
196
198
  "chess.js": "^1.0.0",
197
- "effect": "3.21.3",
198
- "react": "~19.2.3",
199
- "react-dom": "~19.2.3",
199
+ "effect": "3.21.4",
200
+ "react": "~19.2.7",
201
+ "react-dom": "~19.2.7",
200
202
  "vite": "^8.0.16",
201
- "@dxos/plugin-automation": "0.9.0",
202
- "@dxos/config": "0.9.0",
203
- "@dxos/plugin-chess": "0.9.0",
204
- "@dxos/plugin-testing": "0.9.0",
205
- "@dxos/react-ui": "0.9.0",
206
- "@dxos/random": "0.9.0",
207
- "@dxos/storybook-utils": "0.9.0",
208
- "@dxos/ui-theme": "0.9.0"
203
+ "@dxos/plugin-routine": "0.9.1-staging.ee54ba693a",
204
+ "@dxos/config": "0.9.1-staging.ee54ba693a",
205
+ "@dxos/plugin-chess": "0.9.1-staging.ee54ba693a",
206
+ "@dxos/plugin-testing": "0.9.1-staging.ee54ba693a",
207
+ "@dxos/random": "0.9.1-staging.ee54ba693a",
208
+ "@dxos/react-ui": "0.9.1-staging.ee54ba693a",
209
+ "@dxos/storybook-utils": "0.9.1-staging.ee54ba693a",
210
+ "@dxos/ui-theme": "0.9.1-staging.ee54ba693a"
209
211
  },
210
212
  "peerDependencies": {
211
213
  "@effect-atom/atom-react": "^0.5.0",
212
- "@effect/platform": "0.96.1",
213
- "effect": "3.21.3",
214
- "react": "~19.2.3",
215
- "react-dom": "~19.2.3",
216
- "@dxos/react-ui": "0.9.0",
217
- "@dxos/ui-theme": "0.9.0"
214
+ "@effect/platform": "0.96.2",
215
+ "effect": "3.21.4",
216
+ "react": "~19.2.7",
217
+ "react-dom": "~19.2.7",
218
+ "@dxos/react-ui": "0.9.1-staging.ee54ba693a",
219
+ "@dxos/ui-theme": "0.9.1-staging.ee54ba693a"
218
220
  },
219
221
  "publishConfig": {
220
222
  "access": "public"
@@ -6,12 +6,12 @@ import { Plugin } from '@dxos/app-framework';
6
6
  import { AppPlugin } from '@dxos/app-toolkit';
7
7
  import { Script } from '@dxos/compute';
8
8
 
9
- import { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from '#capabilities';
9
+ import { AppGraphBuilder, CreateObject, OperationHandler, SkillDefinition } from '#capabilities';
10
10
  import { meta } from '#meta';
11
11
 
12
12
  export const ScriptPlugin = Plugin.define(meta).pipe(
13
13
  AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
14
- AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),
14
+ AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),
15
15
  AppPlugin.addCreateObjectModule({ activate: CreateObject }),
16
16
  AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),
17
17
  AppPlugin.addSchemaModule({ schema: [Script.Script] }),
@@ -12,7 +12,7 @@ import { ScriptPlugin } from '#plugin';
12
12
 
13
13
  import { meta } from './meta';
14
14
 
15
- const moduleId = (name: string) => `${meta.id}.module.${name}`;
15
+ const moduleId = (name: string) => `${meta.profile.key}.module.${name}`;
16
16
 
17
17
  describe('ScriptPlugin', () => {
18
18
  test('modules activate on the expected events', async ({ expect }) => {
@@ -26,6 +26,6 @@ describe('ScriptPlugin', () => {
26
26
  );
27
27
 
28
28
  await harness.fire(AppActivationEvents.SetupArtifactDefinition);
29
- expect(harness.manager.getActive()).toContain(moduleId('BlueprintDefinition'));
29
+ expect(harness.manager.getActive()).toContain(moduleId('SkillDefinition'));
30
30
  });
31
31
  });
@@ -8,12 +8,12 @@ import { Script } from '@dxos/compute';
8
8
 
9
9
  import {
10
10
  AppGraphBuilder,
11
- BlueprintDefinition,
12
11
  Compiler,
13
12
  CreateObject,
14
13
  OperationHandler,
15
14
  ReactSurface,
16
15
  ScriptSettings,
16
+ SkillDefinition,
17
17
  } from '#capabilities';
18
18
  import { meta } from '#meta';
19
19
  import { translations } from '#translations';
@@ -24,7 +24,7 @@ import pluginSpec from '../PLUGIN.mdl?raw';
24
24
 
25
25
  export const ScriptPlugin = Plugin.define(meta).pipe(
26
26
  AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
27
- AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),
27
+ AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),
28
28
  AppPlugin.addCreateObjectModule({ activate: CreateObject }),
29
29
  AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),
30
30
  AppPlugin.addSchemaModule({ schema: [Script.Script] }),
@@ -39,7 +39,7 @@ export const ScriptPlugin = Plugin.define(meta).pipe(
39
39
  activate: Compiler,
40
40
  }),
41
41
  AppPlugin.addPluginAssetModule({
42
- asset: { pluginId: meta.id, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },
42
+ asset: { pluginId: meta.profile.key, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },
43
43
  }),
44
44
  Plugin.make,
45
45
  );
@@ -21,7 +21,7 @@ export default Capability.makeModule(
21
21
  Effect.succeed([
22
22
  AppNode.makeCompanion({
23
23
  id: 'execute',
24
- label: ['script-test.label', { ns: meta.id }],
24
+ label: ['script-test.label', { ns: meta.profile.key }],
25
25
  icon: 'ph--terminal--regular',
26
26
  data: 'execute',
27
27
  }),
@@ -34,7 +34,7 @@ export default Capability.makeModule(
34
34
  Effect.succeed([
35
35
  AppNode.makeCompanion({
36
36
  id: 'logs',
37
- label: ['script-logs.label', { ns: meta.id }],
37
+ label: ['script-logs.label', { ns: meta.profile.key }],
38
38
  icon: 'ph--clock-countdown--regular',
39
39
  data: 'logs',
40
40
  }),
@@ -25,7 +25,6 @@ export default Capability.makeModule(
25
25
  return yield* Operation.invoke(SpaceOperation.AddObject, {
26
26
  object,
27
27
  target: options.target,
28
- hidden: true,
29
28
  targetNodeId: options.targetNodeId,
30
29
  });
31
30
  }),
@@ -39,7 +38,6 @@ export default Capability.makeModule(
39
38
  return yield* Operation.invoke(SpaceOperation.AddObject, {
40
39
  object,
41
40
  target: options.target,
42
- hidden: true,
43
41
  targetNodeId: options.targetNodeId,
44
42
  });
45
43
  }),
@@ -3,16 +3,10 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { type AppCapabilities } from '@dxos/app-toolkit';
7
6
  import type { OperationHandlerSet } from '@dxos/compute';
8
7
 
9
8
  export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
10
- // The contributed capability type references Blueprint types from @dxos/compute, so the lazy
11
- // wrapper needs an explicit annotation to keep the inferred type portable (TS2883).
12
- export const BlueprintDefinition: Capability.LazyCapability<
13
- void,
14
- Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]
15
- > = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));
9
+ export const SkillDefinition = Capability.lazy('SkillDefinition', () => import('./skill-definition'));
16
10
  export const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));
17
11
  export const Compiler = Capability.lazy('Compiler', () => import('./compiler'));
18
12
  export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
@@ -3,16 +3,10 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { type AppCapabilities } from '@dxos/app-toolkit';
7
6
  import type { OperationHandlerSet } from '@dxos/compute';
8
7
 
9
8
  export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
10
- // The contributed capability type references Blueprint types from @dxos/compute, so the lazy
11
- // wrapper needs an explicit annotation to keep the inferred type portable (TS2883).
12
- export const BlueprintDefinition: Capability.LazyCapability<
13
- void,
14
- Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]
15
- > = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));
9
+ export const SkillDefinition = Capability.lazy('SkillDefinition', () => import('./skill-definition'));
16
10
  export const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));
17
11
  export const Compiler = Capability.lazy('Compiler', () => import('./compiler'));
18
12
  export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
@@ -9,7 +9,7 @@ import { OperationHandlerSet } from '@dxos/compute';
9
9
 
10
10
  import { ScriptOperationHandlerSet } from '#operations';
11
11
 
12
- import { ScriptHandlers } from '../blueprints/functions';
12
+ import { ScriptHandlers } from '../skills/functions';
13
13
 
14
14
  export default Capability.makeModule<OperationHandlerSet.OperationHandlerSet>(
15
15
  Effect.fnUntraced(function* () {
@@ -15,8 +15,14 @@ import { useClient } from '@dxos/react-client';
15
15
  import { getSpace } from '@dxos/react-client/echo';
16
16
  import { Panel } from '@dxos/react-ui';
17
17
 
18
- import { ScriptPluginSettings } from '#components';
19
- import { DeploymentDialog, NotebookArticle, ScriptArticle, ScriptProperties, TestContainer } from '#containers';
18
+ import {
19
+ DeploymentDialog,
20
+ NotebookArticle,
21
+ ScriptArticle,
22
+ ScriptProperties,
23
+ ScriptSettings,
24
+ TestContainer,
25
+ } from '#containers';
20
26
  import { useCompiler } from '#hooks';
21
27
  import { meta } from '#meta';
22
28
  import { Notebook, ScriptCapabilities, type Settings } from '#types';
@@ -29,7 +35,7 @@ export default Capability.makeModule(() =>
29
35
  Capability.contributes(Capabilities.ReactSurface, [
30
36
  Surface.create({
31
37
  id: 'pluginSettings',
32
- filter: AppSurface.settings(AppSurface.Article, meta.id),
38
+ filter: AppSurface.settings(AppSurface.Article, meta.profile.key),
33
39
  component: ({ data: { subject } }) => {
34
40
  const { settings, updateSettings } = useSettingsState<Settings.Settings>(subject.atom);
35
41
  const client = useClient();
@@ -39,11 +45,7 @@ export default Capability.makeModule(() =>
39
45
  await client.halo.writeCredentials([getAccessCredential(identityKey)]);
40
46
  };
41
47
  return (
42
- <ScriptPluginSettings
43
- settings={settings}
44
- onSettingsChange={updateSettings}
45
- onAuthenticate={handleAuthenticate}
46
- />
48
+ <ScriptSettings settings={settings} onSettingsChange={updateSettings} onAuthenticate={handleAuthenticate} />
47
49
  );
48
50
  },
49
51
  }),
@@ -84,7 +86,7 @@ export default Capability.makeModule(() =>
84
86
  },
85
87
  }),
86
88
  Surface.create({
87
- id: 'properties',
89
+ id: 'objectProperties',
88
90
  filter: AppSurface.object(AppSurface.ObjectProperties, Script.Script),
89
91
  component: ({ data, role }) => <ScriptProperties role={role} subject={data.subject} />,
90
92
  }),
@@ -14,7 +14,7 @@ import { ScriptCapabilities, Settings } from '#types';
14
14
  export default Capability.makeModule(() =>
15
15
  Effect.sync(() => {
16
16
  const settingsAtom = createKvsStore({
17
- key: meta.id,
17
+ key: meta.profile.key,
18
18
  schema: Settings.Settings,
19
19
  defaultValue: () => ({
20
20
  editorInputMode: 'vscode' as const,
@@ -24,7 +24,7 @@ export default Capability.makeModule(() =>
24
24
  return [
25
25
  Capability.contributes(ScriptCapabilities.Settings, settingsAtom),
26
26
  Capability.contributes(AppCapabilities.Settings, {
27
- prefix: meta.id,
27
+ prefix: meta.profile.key,
28
28
  schema: Settings.Settings,
29
29
  atom: settingsAtom,
30
30
  }),
@@ -0,0 +1,14 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Capability } from '@dxos/app-framework';
8
+ import { AppCapabilities } from '@dxos/app-toolkit';
9
+
10
+ import { ScriptSkill } from '#skills';
11
+
12
+ const skillDefinition = () => Effect.succeed([Capability.contributes(AppCapabilities.SkillDefinition, ScriptSkill)]);
13
+
14
+ export default skillDefinition;
@@ -7,9 +7,9 @@ import React, { useCallback, useMemo } from 'react';
7
7
  import { Surface } from '@dxos/app-framework/ui';
8
8
  import { AppSurface } from '@dxos/app-toolkit/ui';
9
9
  import { type Database, Obj } from '@dxos/echo';
10
- import { createDocAccessor } from '@dxos/echo-client';
10
+ import { Doc } from '@dxos/echo-doc';
11
11
  import { invariant } from '@dxos/invariant';
12
- import { TemplateEditor } from '@dxos/plugin-assistant/components';
12
+ import { TemplateEditor } from '@dxos/plugin-routine/components';
13
13
  import { useThemeContext, useTranslation } from '@dxos/react-ui';
14
14
  import { QueryEditor, type QueryEditorProps } from '@dxos/react-ui-components';
15
15
  import { Editor, type EditorViewProps } from '@dxos/react-ui-editor';
@@ -44,16 +44,11 @@ export type NotebookCellProps = {
44
44
 
45
45
  // TODO(burdon): Show evaluation errors.
46
46
  export const NotebookCell = ({ db, graph, dragging, cell, promptResults, env }: NotebookCellProps) => {
47
- const { t } = useTranslation(meta.id);
47
+ const { t } = useTranslation(meta.profile.key);
48
48
 
49
49
  const extensions = useMemo(() => {
50
50
  return cell.source?.target
51
- ? [
52
- createDataExtensions({
53
- id: cell.id,
54
- text: createDocAccessor(cell.source.target, ['content']),
55
- }),
56
- ].filter(isNonNullable)
51
+ ? [createDataExtensions({ id: cell.id, text: Doc.createAccessor(cell.source.target, ['content']) })]
57
52
  : [];
58
53
  }, [cell.source?.target]);
59
54
 
@@ -90,7 +85,7 @@ export const NotebookCell = ({ db, graph, dragging, cell, promptResults, env }:
90
85
  }
91
86
 
92
87
  return (
93
- <>
88
+ <div className='flex flex-col divide-y divide-subdued-separator'>
94
89
  <TypescriptEditor
95
90
  id={cell.id}
96
91
  role='section'
@@ -105,7 +100,7 @@ export const NotebookCell = ({ db, graph, dragging, cell, promptResults, env }:
105
100
  }}
106
101
  />
107
102
  <NotebookCellValue cell={cell} graph={graph} />
108
- </>
103
+ </div>
109
104
  );
110
105
 
111
106
  case 'query':
@@ -118,7 +113,7 @@ export const NotebookCell = ({ db, graph, dragging, cell, promptResults, env }:
118
113
  <div className={mx('h-full overflow-hidden grid', explorerGraph && !dragging && 'grid-rows-[min-content_1fr]')}>
119
114
  <QueryEditor
120
115
  id={cell.id}
121
- classNames={[editorStyles, 'border-b border-subdued-separator']}
116
+ classNames={editorStyles}
122
117
  db={db}
123
118
  value={cell.source.target.content}
124
119
  onChange={handleQueryChange}
@@ -141,12 +136,7 @@ export const NotebookCell = ({ db, graph, dragging, cell, promptResults, env }:
141
136
 
142
137
  return (
143
138
  <>
144
- <TemplateEditor
145
- id={cell.id}
146
- source={cell.prompt.target.instructions}
147
- lineNumbers={false}
148
- classNames={editorStyles}
149
- />
139
+ <TemplateEditor id={cell.id} source={cell.prompt.target.text} lineNumbers={false} classNames={editorStyles} />
150
140
  <NotebookPromptResult cell={cell} promptResults={promptResults} />
151
141
  </>
152
142
  );
@@ -164,12 +154,7 @@ const NotebookCellValue = ({ cell, graph }: NotebookCellProps) => {
164
154
  }
165
155
 
166
156
  return (
167
- <div
168
- className={mx(
169
- 'flex w-full bg-group-surface border-y border-subdued-separator text-description font-mono',
170
- valueStyles,
171
- )}
172
- >
157
+ <div className={mx('flex w-full bg-group-surface text-description font-mono', valueStyles)}>
173
158
  {name && (
174
159
  <>
175
160
  <span className='text-success-text'>{name}</span>
@@ -203,24 +188,21 @@ const NotebookTextEditor = ({
203
188
  readOnly,
204
189
  ...props
205
190
  }: EditorViewProps & Pick<BasicExtensionsOptions, 'readOnly'>) => {
206
- const { t } = useTranslation(meta.id);
191
+ const { t } = useTranslation(meta.profile.key);
207
192
  const { themeMode } = useThemeContext();
208
193
  const extensions = useMemo(() => {
209
194
  return [
210
- createBasicExtensions({
211
- placeholder: t('notebook-markdown.placeholder'),
212
- readOnly,
213
- }),
214
195
  createThemeExtensions({ themeMode, syntaxHighlighting: true }),
196
+ createBasicExtensions({ placeholder: t('notebook-markdown.placeholder'), readOnly }),
215
197
  createMarkdownExtensions(),
216
198
  decorateMarkdown(),
217
199
  extensionsProp,
218
200
  ].filter(isNonNullable);
219
- }, [extensionsProp]);
201
+ }, [extensionsProp, readOnly, themeMode, t]);
220
202
 
221
203
  return (
222
204
  <Editor.Root>
223
- <Editor.View {...props} extensions={extensions} selectionEnd />
205
+ <Editor.View classNames='border' {...props} extensions={extensions} selectionEnd />
224
206
  </Editor.Root>
225
207
  );
226
208
  };
@@ -17,7 +17,7 @@ export type NotebookMenuProps = {
17
17
 
18
18
  // TODO(burdon): Better way to organize menu?
19
19
  export const NotebookMenu = ({ cell, onCellInsert, onCellDelete }: NotebookMenuProps) => {
20
- const { t } = useTranslation(meta.id);
20
+ const { t } = useTranslation(meta.profile.key);
21
21
  return (
22
22
  <DropdownMenu.Portal>
23
23
  <DropdownMenu.Content>
@@ -7,9 +7,9 @@ import * as Effect from 'effect/Effect';
7
7
  import React, { useMemo } from 'react';
8
8
 
9
9
  import { withPluginManager } from '@dxos/app-framework/testing';
10
- import { AutomationPlugin } from '@dxos/plugin-automation/testing';
11
10
  import { ClientPlugin } from '@dxos/plugin-client/testing';
12
11
  import { initializeIdentity } from '@dxos/plugin-client/testing';
12
+ import { RoutinePlugin } from '@dxos/plugin-routine/testing';
13
13
  import { corePlugins } from '@dxos/plugin-testing';
14
14
  import { withLayout } from '@dxos/react-ui/testing';
15
15
 
@@ -27,7 +27,7 @@ const meta = {
27
27
  title: 'plugins/plugin-script/components/NotebookStack',
28
28
  component: NotebookStackStory,
29
29
  decorators: [
30
- withLayout({ layout: 'column', classNames: 'w-document-max-width' }),
30
+ withLayout({ layout: 'column', classNames: 'dx-document' }),
31
31
  withPluginManager({
32
32
  plugins: [
33
33
  ...corePlugins(),
@@ -37,7 +37,7 @@ const meta = {
37
37
  yield* initializeIdentity(client);
38
38
  }),
39
39
  }),
40
- AutomationPlugin(),
40
+ RoutinePlugin(),
41
41
  ],
42
42
  }),
43
43
  ],