@dxos/plugin-script 0.8.4-main.c4373fc → 0.8.4-main.d9fc60f731
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.
- package/LICENSE +102 -5
- package/PLUGIN.mdl +515 -0
- package/README.md +15 -13
- package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs +114 -0
- package/dist/lib/neutral/DeploymentDialog-M3AFYQHC.mjs.map +7 -0
- package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs +763 -0
- package/dist/lib/neutral/NotebookArticle-NV4AHOOS.mjs.map +7 -0
- package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs +79 -0
- package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs.map +7 -0
- package/dist/lib/neutral/ScriptPlugin.mjs +51 -0
- package/dist/lib/neutral/ScriptPlugin.mjs.map +7 -0
- package/dist/lib/neutral/ScriptPlugin.node.mjs +27 -0
- package/dist/lib/neutral/ScriptPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/ScriptPlugin.workerd.mjs +21 -0
- package/dist/lib/neutral/ScriptPlugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs +31 -0
- package/dist/lib/neutral/ScriptPluginSettings-T4JMUSHN.mjs.map +7 -0
- package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs +297 -0
- package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +7 -0
- package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs +44 -0
- package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs +52 -0
- package/dist/lib/neutral/app-graph-builder-7AWFCEQF.mjs.map +7 -0
- package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs +15 -0
- package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs.map +7 -0
- package/dist/lib/neutral/blueprints/index.mjs +10 -0
- package/dist/lib/neutral/capabilities/index.mjs +21 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/node.mjs +17 -0
- package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
- package/dist/lib/neutral/chunk-2REUEDUA.mjs +56 -0
- package/dist/lib/neutral/chunk-2REUEDUA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BDHDBPVM.mjs +52 -0
- package/dist/lib/neutral/chunk-BDHDBPVM.mjs.map +7 -0
- package/dist/lib/neutral/chunk-C4O7EV6M.mjs +123 -0
- package/dist/lib/neutral/chunk-C4O7EV6M.mjs.map +7 -0
- package/dist/lib/neutral/chunk-H2BRWQMY.mjs +96 -0
- package/dist/lib/neutral/chunk-H2BRWQMY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-LHEJXJEL.mjs +8 -0
- package/dist/lib/neutral/chunk-LHEJXJEL.mjs.map +7 -0
- package/dist/lib/neutral/chunk-NQOIENTU.mjs +8 -0
- package/dist/lib/neutral/chunk-NQOIENTU.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TRKXIP2Q.mjs +345 -0
- package/dist/lib/neutral/chunk-TRKXIP2Q.mjs.map +7 -0
- package/dist/lib/neutral/chunk-UA3BWOCZ.mjs +38 -0
- package/dist/lib/neutral/chunk-UA3BWOCZ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-VXDJH6OL.mjs +150 -0
- package/dist/lib/neutral/chunk-VXDJH6OL.mjs.map +7 -0
- package/dist/lib/neutral/compiler-ODK4UA2N.mjs +101 -0
- package/dist/lib/neutral/compiler-ODK4UA2N.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +664 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +17 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-WQJXMOUE.mjs +46 -0
- package/dist/lib/neutral/create-WQJXMOUE.mjs.map +7 -0
- package/dist/lib/neutral/create-object-FZM5ASWM.mjs +45 -0
- package/dist/lib/neutral/create-object-FZM5ASWM.mjs.map +7 -0
- package/dist/lib/neutral/create-script-66DO3UJO.mjs +45 -0
- package/dist/lib/neutral/create-script-66DO3UJO.mjs.map +7 -0
- package/dist/lib/neutral/delete-HCQIQFVP.mjs +21 -0
- package/dist/lib/neutral/delete-HCQIQFVP.mjs.map +7 -0
- package/dist/lib/neutral/deploy-7JVMMHSH.mjs +63 -0
- package/dist/lib/neutral/deploy-7JVMMHSH.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +369 -0
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +41 -0
- package/dist/lib/neutral/inspect-invocations-6MW73SDV.mjs +59 -0
- package/dist/lib/neutral/inspect-invocations-6MW73SDV.mjs.map +7 -0
- package/dist/lib/neutral/install-function-FJIE2JAI.mjs +49 -0
- package/dist/lib/neutral/install-function-FJIE2JAI.mjs.map +7 -0
- package/dist/lib/neutral/invoke-3HVWY2KF.mjs +32 -0
- package/dist/lib/neutral/invoke-3HVWY2KF.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +10 -0
- package/dist/lib/neutral/operation-handler-X44IGZXS.mjs +18 -0
- package/dist/lib/neutral/operation-handler-X44IGZXS.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/query-deployed-functions-F4FHJNWO.mjs +34 -0
- package/dist/lib/neutral/query-deployed-functions-F4FHJNWO.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-ACNZ35FV.mjs +121 -0
- package/dist/lib/neutral/react-surface-ACNZ35FV.mjs.map +7 -0
- package/dist/lib/neutral/read-RQESBAQI.mjs +26 -0
- package/dist/lib/neutral/read-RQESBAQI.mjs.map +7 -0
- package/dist/lib/neutral/settings-VJBW4OMK.mjs +30 -0
- package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/templates/index.mjs +2 -1
- package/dist/lib/neutral/translations.mjs +105 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +17 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/lib/neutral/update-JZUNJYZM.mjs +63 -0
- package/dist/lib/neutral/update-JZUNJYZM.mjs.map +7 -0
- package/dist/types/src/ScriptPlugin.d.ts +3 -1
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/ScriptPlugin.node.d.ts +4 -0
- package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -0
- package/dist/types/src/ScriptPlugin.test.d.ts +2 -0
- package/dist/types/src/ScriptPlugin.test.d.ts.map +1 -0
- package/dist/types/src/ScriptPlugin.workerd.d.ts +4 -0
- package/dist/types/src/ScriptPlugin.workerd.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/create.d.ts +11 -0
- package/dist/types/src/blueprints/functions/create.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/definitions.d.ts +135 -0
- package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/delete.d.ts +17 -0
- package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/deploy.d.ts +21 -0
- package/dist/types/src/blueprints/functions/deploy.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/index.d.ts +4 -0
- package/dist/types/src/blueprints/functions/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +28 -0
- package/dist/types/src/blueprints/functions/inspect-invocations.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/install-function.d.ts +11 -0
- package/dist/types/src/blueprints/functions/install-function.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/invoke.d.ts +21 -0
- package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts +13 -0
- package/dist/types/src/blueprints/functions/query-deployed-functions.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/read.d.ts +21 -0
- package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/update.d.ts +26 -0
- package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/script-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/compiler.d.ts +3 -1
- package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
- package/dist/types/src/capabilities/create-object.d.ts +16 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +19 -7
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/node.d.ts +18 -0
- package/dist/types/src/capabilities/node.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +5 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/compiler/compiler.d.ts +1 -1
- package/dist/types/src/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +15 -0
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +9 -0
- package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -0
- package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +11 -11
- package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +221 -212
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/index.d.ts +1 -0
- package/dist/types/src/components/NotebookStack/index.d.ts.map +1 -1
- package/dist/types/src/components/QueryEditor/QueryEditor.d.ts +5 -0
- package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -0
- package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts +13 -0
- package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/QueryEditor/index.d.ts +2 -0
- package/dist/types/src/components/QueryEditor/index.d.ts.map +1 -0
- package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts +8 -0
- package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +1 -0
- package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts +241 -0
- package/dist/types/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ScriptPluginSettings/index.d.ts +2 -0
- package/dist/types/src/components/ScriptPluginSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts +10 -9
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +222 -212
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestPanel.d.ts +4 -2
- package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/index.d.ts +0 -1
- package/dist/types/src/components/TestPanel/index.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +6 -2
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +3 -7
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +5 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/constants.d.ts +3 -0
- package/dist/types/src/constants.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/DeploymentDialog/DeploymentDialog.d.ts +2 -4
- package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -0
- package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +240 -0
- package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -0
- package/dist/types/src/containers/DeploymentDialog/index.d.ts +2 -0
- package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts +7 -0
- package/dist/types/src/containers/NotebookArticle/NotebookArticle.d.ts.map +1 -0
- package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts +7 -0
- package/dist/types/src/containers/NotebookArticle/NotebookArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/NotebookArticle/index.d.ts +2 -0
- package/dist/types/src/containers/NotebookArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts +10 -0
- package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts +242 -0
- package/dist/types/src/containers/ScriptArticle/ScriptArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptArticle/index.d.ts +2 -0
- package/dist/types/src/containers/ScriptArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts +7 -0
- package/dist/types/src/containers/ScriptProperties/BlueprintEditor.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts +7 -0
- package/dist/types/src/containers/ScriptProperties/FunctionBinding.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts +7 -0
- package/dist/types/src/containers/ScriptProperties/FunctionPublishing.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts +6 -0
- package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts +242 -0
- package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ScriptProperties/index.d.ts +2 -0
- package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -0
- package/dist/types/src/containers/TestContainer/TestContainer.d.ts +8 -0
- package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -0
- package/dist/types/src/containers/TestContainer/index.d.ts +2 -0
- package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +7 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/e2e/ai.test.d.ts +2 -0
- package/dist/types/src/e2e/ai.test.d.ts.map +1 -0
- package/dist/types/src/e2e/deploy.test.d.ts +2 -0
- package/dist/types/src/e2e/deploy.test.d.ts.map +1 -0
- package/dist/types/src/hooks/deploy.d.ts +27 -30
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/format.d.ts +5 -4
- package/dist/types/src/hooks/format.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/template.d.ts +7 -16
- package/dist/types/src/hooks/template.d.ts.map +1 -1
- package/dist/types/src/hooks/useCompiler.d.ts +7 -0
- package/dist/types/src/hooks/useCompiler.d.ts.map +1 -0
- package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts +8 -1
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/notebook/compute-graph.d.ts +58 -0
- package/dist/types/src/notebook/compute-graph.d.ts.map +1 -0
- package/dist/types/src/notebook/compute-graph.test.d.ts +2 -0
- package/dist/types/src/notebook/compute-graph.test.d.ts.map +1 -0
- package/dist/types/src/notebook/eval.d.ts +13 -0
- package/dist/types/src/notebook/eval.d.ts.map +1 -0
- package/dist/types/src/notebook/index.d.ts +1 -1
- package/dist/types/src/notebook/index.d.ts.map +1 -1
- package/dist/types/src/notebook/vfs-parser.d.ts.map +1 -1
- package/dist/types/src/operations/create-script.d.ts +5 -0
- package/dist/types/src/operations/create-script.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +3 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/templates/anthropic.d.ts +7 -0
- package/dist/types/src/templates/anthropic.d.ts.map +1 -0
- package/dist/types/src/templates/chess-bot.d.ts +14 -0
- package/dist/types/src/templates/chess-bot.d.ts.map +1 -0
- package/dist/types/src/templates/commentary.d.ts +15 -0
- package/dist/types/src/templates/commentary.d.ts.map +1 -0
- package/dist/types/src/templates/data-generator.d.ts.map +1 -1
- package/dist/types/src/templates/discord.d.ts.map +1 -1
- package/dist/types/src/templates/email.d.ts.map +1 -1
- package/dist/types/src/templates/forex-effect.d.ts +5 -1
- package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
- package/dist/types/src/templates/forex.d.ts +5 -1
- package/dist/types/src/templates/forex.d.ts.map +1 -1
- package/dist/types/src/templates/gmail.d.ts.map +1 -1
- package/dist/types/src/templates/index.d.ts +47 -1
- package/dist/types/src/templates/index.d.ts.map +1 -1
- package/dist/types/src/templates/ping.d.ts +4 -0
- package/dist/types/src/templates/ping.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/simulator.test.d.ts +2 -0
- package/dist/types/src/testing/simulator.test.d.ts.map +1 -0
- package/dist/types/src/testing/test-notebook.d.ts +3 -0
- package/dist/types/src/testing/test-notebook.d.ts.map +1 -0
- package/dist/types/src/testing/test-script.d.ts +7 -0
- package/dist/types/src/testing/test-script.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +222 -84
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Notebook.d.ts +101 -0
- package/dist/types/src/types/Notebook.d.ts.map +1 -0
- package/dist/types/src/types/ScriptCapabilities.d.ts +6 -0
- package/dist/types/src/types/ScriptCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/ScriptEvents.d.ts +3 -0
- package/dist/types/src/types/ScriptEvents.d.ts.map +1 -0
- package/dist/types/src/types/ScriptOperation.d.ts +29 -0
- package/dist/types/src/types/ScriptOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +7 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +5 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +2 -0
- package/dist/types/src/types/types.d.ts.map +1 -0
- package/dist/types/src/util/deploy.d.ts +4 -4
- package/dist/types/src/util/deploy.d.ts.map +1 -1
- package/dist/types/src/util/functions.d.ts +3 -3
- package/dist/types/src/util/functions.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +186 -102
- package/src/ScriptPlugin.node.ts +21 -0
- package/src/ScriptPlugin.test.ts +31 -0
- package/src/ScriptPlugin.tsx +29 -96
- package/src/ScriptPlugin.workerd.ts +18 -0
- package/src/blueprints/functions/create.ts +47 -0
- package/src/blueprints/functions/definitions.ts +332 -0
- package/src/blueprints/functions/delete.ts +23 -0
- package/src/blueprints/functions/deploy.ts +71 -0
- package/src/blueprints/functions/index.ts +19 -0
- package/src/blueprints/functions/inspect-invocations.ts +56 -0
- package/src/blueprints/functions/install-function.ts +56 -0
- package/src/blueprints/functions/invoke.ts +34 -0
- package/src/blueprints/functions/query-deployed-functions.ts +35 -0
- package/src/blueprints/functions/read.ts +29 -0
- package/src/blueprints/functions/update.ts +68 -0
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/script-blueprint.ts +55 -0
- package/src/capabilities/app-graph-builder.ts +40 -58
- package/src/capabilities/blueprint-definition.ts +13 -24
- package/src/capabilities/compiler.ts +100 -23
- package/src/capabilities/create-object.ts +49 -0
- package/src/capabilities/index.ts +13 -9
- package/src/capabilities/node.ts +16 -0
- package/src/capabilities/operation-handler.ts +21 -0
- package/src/capabilities/react-surface.tsx +120 -92
- package/src/capabilities/settings.ts +26 -14
- package/src/compiler/compiler.ts +21 -3
- package/src/components/NotebookStack/NotebookCell.tsx +226 -0
- package/src/components/NotebookStack/NotebookMenu.tsx +47 -0
- package/src/components/NotebookStack/NotebookStack.stories.tsx +34 -17
- package/src/components/NotebookStack/NotebookStack.tsx +75 -91
- package/src/components/NotebookStack/index.ts +1 -0
- package/src/components/QueryEditor/QueryEditor.stories.tsx +96 -0
- package/src/components/QueryEditor/QueryEditor.tsx +49 -0
- package/src/components/QueryEditor/index.ts +5 -0
- package/src/components/ScriptPluginSettings/ScriptPluginSettings.stories.tsx +32 -0
- package/src/components/ScriptPluginSettings/ScriptPluginSettings.tsx +42 -0
- package/src/components/ScriptPluginSettings/index.ts +5 -0
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +48 -25
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +43 -48
- package/src/components/TestPanel/TestPanel.tsx +125 -185
- package/src/components/TestPanel/index.ts +0 -1
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +27 -26
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +74 -71
- package/src/components/index.ts +5 -7
- package/src/constants.ts +9 -0
- package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +63 -0
- package/src/containers/DeploymentDialog/DeploymentDialog.tsx +99 -0
- package/src/containers/DeploymentDialog/index.ts +5 -0
- package/src/containers/NotebookArticle/NotebookArticle.stories.tsx +85 -0
- package/src/containers/NotebookArticle/NotebookArticle.tsx +255 -0
- package/src/containers/NotebookArticle/index.ts +5 -0
- package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +107 -0
- package/src/containers/ScriptArticle/ScriptArticle.tsx +85 -0
- package/src/containers/ScriptArticle/index.ts +5 -0
- package/src/containers/ScriptProperties/BlueprintEditor.tsx +102 -0
- package/src/containers/ScriptProperties/FunctionBinding.tsx +83 -0
- package/src/containers/ScriptProperties/FunctionPublishing.tsx +121 -0
- package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +76 -0
- package/src/containers/ScriptProperties/ScriptProperties.tsx +24 -0
- package/src/containers/ScriptProperties/index.ts +5 -0
- package/src/containers/TestContainer/TestContainer.tsx +44 -0
- package/src/containers/TestContainer/index.ts +5 -0
- package/src/containers/index.ts +11 -0
- package/src/e2e/ai.test.ts +93 -0
- package/src/e2e/deploy.test.ts +66 -0
- package/src/hooks/deploy.ts +47 -37
- package/src/hooks/format.ts +10 -5
- package/src/hooks/index.ts +1 -0
- package/src/hooks/template.ts +23 -26
- package/src/hooks/useCompiler.ts +25 -0
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +15 -16
- package/src/hooks/useToolbarState.ts +29 -4
- package/src/index.ts +2 -4
- package/src/meta.ts +17 -7
- package/src/notebook/compute-graph.test.ts +82 -0
- package/src/notebook/{notebook.ts → compute-graph.ts} +76 -34
- package/src/notebook/eval.ts +105 -0
- package/src/notebook/index.ts +1 -1
- package/src/notebook/vfs-parser.ts +53 -85
- package/src/operations/create-script.ts +46 -0
- package/src/operations/index.ts +7 -0
- package/src/plugin.ts +11 -0
- package/src/templates/anthropic.ts +50 -0
- package/src/templates/chess-bot.ts +63 -0
- package/src/templates/commentary.ts +251 -0
- package/src/templates/data-generator.ts +2 -2
- package/src/templates/discord.ts +8 -8
- package/src/templates/forex-effect.ts +36 -29
- package/src/templates/forex.ts +28 -17
- package/src/templates/gmail.ts +10 -11
- package/src/templates/index.ts +34 -28
- package/src/templates/ping.ts +26 -0
- package/src/testing/index.ts +2 -1
- package/src/testing/simulator.test.ts +39 -0
- package/src/testing/test-notebook.ts +71 -0
- package/src/testing/test-script.ts +28 -0
- package/src/translations.ts +89 -81
- package/src/types/Notebook.ts +39 -0
- package/src/types/ScriptCapabilities.ts +18 -0
- package/src/types/ScriptEvents.ts +11 -0
- package/src/types/ScriptOperation.ts +42 -0
- package/src/types/Settings.ts +20 -0
- package/src/types/index.ts +6 -2
- package/src/types/types.ts +5 -0
- package/src/util/deploy.ts +33 -41
- package/src/util/functions.ts +35 -30
- package/src/vite-env.d.ts +7 -0
- package/dist/lib/browser/DeploymentDialog-7FNPALCV.mjs +0 -12
- package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs +0 -578
- package/dist/lib/browser/NotebookContainer-ZSXYRRZB.mjs.map +0 -7
- package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs +0 -149
- package/dist/lib/browser/ScriptContainer-24LLLTLB.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-DPYULSME.mjs +0 -65
- package/dist/lib/browser/app-graph-builder-DPYULSME.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs +0 -28
- package/dist/lib/browser/blueprint-definition-ET5KZ46I.mjs.map +0 -7
- package/dist/lib/browser/chunk-DXWTBOND.mjs +0 -282
- package/dist/lib/browser/chunk-DXWTBOND.mjs.map +0 -7
- package/dist/lib/browser/chunk-ETFBQURU.mjs +0 -254
- package/dist/lib/browser/chunk-ETFBQURU.mjs.map +0 -7
- package/dist/lib/browser/chunk-EZVXV6DA.mjs +0 -26
- package/dist/lib/browser/chunk-EZVXV6DA.mjs.map +0 -7
- package/dist/lib/browser/chunk-I3THDIT5.mjs +0 -90
- package/dist/lib/browser/chunk-I3THDIT5.mjs.map +0 -7
- package/dist/lib/browser/chunk-N6M34EUC.mjs +0 -112
- package/dist/lib/browser/chunk-N6M34EUC.mjs.map +0 -7
- package/dist/lib/browser/chunk-NNYSARXK.mjs +0 -153
- package/dist/lib/browser/chunk-NNYSARXK.mjs.map +0 -7
- package/dist/lib/browser/chunk-OKXN2N7M.mjs +0 -15
- package/dist/lib/browser/chunk-OKXN2N7M.mjs.map +0 -7
- package/dist/lib/browser/chunk-SRSEZWDY.mjs +0 -646
- package/dist/lib/browser/chunk-SRSEZWDY.mjs.map +0 -7
- package/dist/lib/browser/chunk-SWBZUZDX.mjs +0 -80
- package/dist/lib/browser/chunk-SWBZUZDX.mjs.map +0 -7
- package/dist/lib/browser/chunk-VFJJA4WR.mjs +0 -88
- package/dist/lib/browser/chunk-VFJJA4WR.mjs.map +0 -7
- package/dist/lib/browser/compiler-G2N2CG63.mjs +0 -98
- package/dist/lib/browser/compiler-G2N2CG63.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -266
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs +0 -105
- package/dist/lib/browser/intent-resolver-FYZRLYNT.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-CFRYAL2P.mjs +0 -127
- package/dist/lib/browser/react-surface-CFRYAL2P.mjs.map +0 -7
- package/dist/lib/browser/settings-L3HCZRBP.mjs +0 -24
- package/dist/lib/browser/settings-L3HCZRBP.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -12
- package/dist/lib/node-esm/DeploymentDialog-AKAGR37W.mjs +0 -13
- package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs +0 -579
- package/dist/lib/node-esm/NotebookContainer-2O3N3XPE.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs +0 -150
- package/dist/lib/node-esm/ScriptContainer-IKOB6FHQ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs +0 -66
- package/dist/lib/node-esm/app-graph-builder-UXJGHXSL.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs +0 -30
- package/dist/lib/node-esm/blueprint-definition-AIYFOT7Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5IKGUOMI.mjs +0 -154
- package/dist/lib/node-esm/chunk-5IKGUOMI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7MR2L4T3.mjs +0 -283
- package/dist/lib/node-esm/chunk-7MR2L4T3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C33FKUSC.mjs +0 -91
- package/dist/lib/node-esm/chunk-C33FKUSC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs +0 -16
- package/dist/lib/node-esm/chunk-NUXZQQ6P.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OG2SIKHE.mjs +0 -28
- package/dist/lib/node-esm/chunk-OG2SIKHE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OQGBKNYU.mjs +0 -90
- package/dist/lib/node-esm/chunk-OQGBKNYU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PMQ3D535.mjs +0 -647
- package/dist/lib/node-esm/chunk-PMQ3D535.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-U4CZGISN.mjs +0 -255
- package/dist/lib/node-esm/chunk-U4CZGISN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VRSDE4CI.mjs +0 -114
- package/dist/lib/node-esm/chunk-VRSDE4CI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZF5ULKED.mjs +0 -81
- package/dist/lib/node-esm/chunk-ZF5ULKED.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs +0 -99
- package/dist/lib/node-esm/compiler-PLDAZ5GJ.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -267
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs +0 -106
- package/dist/lib/node-esm/intent-resolver-6J3CFL5T.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs +0 -128
- package/dist/lib/node-esm/react-surface-NPKEO7SA.mjs.map +0 -7
- package/dist/lib/node-esm/settings-YWGZP4EW.mjs +0 -25
- package/dist/lib/node-esm/settings-YWGZP4EW.mjs.map +0 -7
- package/dist/lib/node-esm/templates/index.mjs +0 -10
- package/dist/lib/node-esm/types/index.mjs +0 -13
- package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -5
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.d.ts.map +0 -1
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +0 -230
- package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/DeploymentDialog/index.d.ts +0 -4
- package/dist/types/src/components/DeploymentDialog/index.d.ts.map +0 -1
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts +0 -12
- package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +0 -1
- package/dist/types/src/components/FrameContainer/frame.d.ts +0 -2
- package/dist/types/src/components/FrameContainer/frame.d.ts.map +0 -1
- package/dist/types/src/components/FrameContainer/index.d.ts +0 -2
- package/dist/types/src/components/FrameContainer/index.d.ts.map +0 -1
- package/dist/types/src/components/NotebookContainer.d.ts +0 -10
- package/dist/types/src/components/NotebookContainer.d.ts.map +0 -1
- package/dist/types/src/components/NotebookContainer.stories.d.ts +0 -231
- package/dist/types/src/components/NotebookContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/ScriptContainer.d.ts +0 -12
- package/dist/types/src/components/ScriptContainer.d.ts.map +0 -1
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts +0 -8
- package/dist/types/src/components/Settings/ScriptObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts +0 -6
- package/dist/types/src/components/Settings/ScriptPluginSettings.d.ts.map +0 -1
- package/dist/types/src/components/Settings/index.d.ts +0 -3
- package/dist/types/src/components/Settings/index.d.ts.map +0 -1
- package/dist/types/src/components/TestPanel/TestContainer.d.ts +0 -8
- package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/notebook/notebook.d.ts +0 -39
- package/dist/types/src/notebook/notebook.d.ts.map +0 -1
- package/dist/types/src/notebook/notebook.test.d.ts +0 -2
- package/dist/types/src/notebook/notebook.test.d.ts.map +0 -1
- package/dist/types/src/templates/chat.d.ts +0 -6
- package/dist/types/src/templates/chat.d.ts.map +0 -1
- package/dist/types/src/templates/chess.d.ts +0 -3
- package/dist/types/src/templates/chess.d.ts.map +0 -1
- package/dist/types/src/templates/echo.d.ts +0 -6
- package/dist/types/src/templates/echo.d.ts.map +0 -1
- package/dist/types/src/testing/data.d.ts +0 -10
- package/dist/types/src/testing/data.d.ts.map +0 -1
- package/dist/types/src/types/actions.d.ts +0 -58
- package/dist/types/src/types/actions.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -35
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/artifact-definition.ts +0 -225
- package/src/capabilities/capabilities.ts +0 -12
- package/src/capabilities/intent-resolver.ts +0 -87
- package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +0 -53
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +0 -106
- package/src/components/DeploymentDialog/index.ts +0 -9
- package/src/components/FrameContainer/FrameContainer.tsx +0 -84
- package/src/components/FrameContainer/frame.html +0 -25
- package/src/components/FrameContainer/frame.tsx +0 -51
- package/src/components/FrameContainer/index.ts +0 -5
- package/src/components/NotebookContainer.stories.tsx +0 -36
- package/src/components/NotebookContainer.tsx +0 -82
- package/src/components/ScriptContainer.tsx +0 -69
- package/src/components/Settings/ScriptObjectSettings.tsx +0 -286
- package/src/components/Settings/ScriptPluginSettings.tsx +0 -61
- package/src/components/Settings/index.ts +0 -6
- package/src/components/TestPanel/TestContainer.tsx +0 -27
- package/src/events.ts +0 -11
- package/src/notebook/notebook.test.ts +0 -38
- package/src/templates/chat.ts +0 -96
- package/src/templates/chess.ts +0 -49
- package/src/templates/echo.ts +0 -8
- package/src/testing/data.ts +0 -37
- package/src/types/actions.ts +0 -49
- package/src/types/schema.ts +0 -42
- /package/dist/lib/{browser/templates → neutral/blueprints}/index.mjs.map +0 -0
- /package/dist/lib/{browser/DeploymentDialog-7FNPALCV.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/DeploymentDialog-AKAGR37W.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{node-esm/templates → neutral/operations}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral/templates}/index.mjs.map +0 -0
|
@@ -2,46 +2,88 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { type
|
|
5
|
+
import { Atom, type Registry } from '@effect-atom/atom-react';
|
|
6
6
|
|
|
7
7
|
import { log } from '@dxos/log';
|
|
8
8
|
|
|
9
|
-
import { type Notebook } from '
|
|
9
|
+
import { type Notebook } from '#types';
|
|
10
10
|
|
|
11
|
+
import { evalScript } from './eval';
|
|
11
12
|
import { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Compute graph that evaluates the notebook cells.
|
|
15
16
|
*/
|
|
17
|
+
// TODO(burdon): Reconcile with @dxos/conductor.
|
|
16
18
|
export class ComputeGraph {
|
|
17
19
|
private readonly _parser = new VirtualTypeScriptParser();
|
|
18
20
|
|
|
19
|
-
private
|
|
20
|
-
private
|
|
21
|
+
private _expressionsAtom = Atom.make<Record<string, ParsedExpression>>({});
|
|
22
|
+
private _valuesByCellIdAtom = Atom.make<Record<string, any>>({});
|
|
23
|
+
private _valuesByNameAtom = Atom.make<Record<string, any>>({});
|
|
21
24
|
|
|
22
|
-
constructor(
|
|
25
|
+
constructor(
|
|
26
|
+
private readonly _notebook: Notebook.Notebook,
|
|
27
|
+
private readonly _registry: Registry.Registry,
|
|
28
|
+
) {}
|
|
23
29
|
|
|
24
30
|
/**
|
|
25
|
-
*
|
|
31
|
+
* Atom for parsed expressions by cell ID.
|
|
26
32
|
*/
|
|
27
|
-
get expressions():
|
|
28
|
-
return this.
|
|
33
|
+
get expressions(): Atom.Atom<Record<string, ParsedExpression>> {
|
|
34
|
+
return this._expressionsAtom;
|
|
29
35
|
}
|
|
30
36
|
|
|
31
37
|
/**
|
|
32
|
-
*
|
|
38
|
+
* Get current expressions by cell ID.
|
|
33
39
|
*/
|
|
34
|
-
|
|
35
|
-
return this.
|
|
40
|
+
getExpressions(): Record<string, ParsedExpression> {
|
|
41
|
+
return this._registry.get(this._expressionsAtom);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Atom for computed values by cell ID.
|
|
46
|
+
*/
|
|
47
|
+
get values(): Atom.Atom<Record<string, any>> {
|
|
48
|
+
return this._valuesByCellIdAtom;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Get computed values by cell ID.
|
|
53
|
+
*/
|
|
54
|
+
getValues(): Record<string, any> {
|
|
55
|
+
return this._registry.get(this._valuesByCellIdAtom);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Atom for computed values by name.
|
|
60
|
+
*/
|
|
61
|
+
get valuesByName(): Atom.Atom<Record<string, any>> {
|
|
62
|
+
return this._valuesByNameAtom;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Get current values by name.
|
|
67
|
+
*/
|
|
68
|
+
getValuesByName(): Record<string, any> {
|
|
69
|
+
return this._registry.get(this._valuesByNameAtom);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Get computed value by cell ID.
|
|
74
|
+
*/
|
|
75
|
+
getValue(cellId: string): any {
|
|
76
|
+
return this._registry.get(this._valuesByCellIdAtom)[cellId];
|
|
36
77
|
}
|
|
37
78
|
|
|
38
79
|
/**
|
|
39
80
|
* Compute values.
|
|
40
81
|
*/
|
|
41
|
-
evaluate() {
|
|
82
|
+
async evaluate() {
|
|
42
83
|
// Parse expressions.
|
|
43
84
|
const { expressions, dependencyGraph } = this.parse();
|
|
44
|
-
this.
|
|
85
|
+
this._registry.set(this._valuesByCellIdAtom, {});
|
|
86
|
+
this._registry.set(this._valuesByNameAtom, {});
|
|
45
87
|
|
|
46
88
|
// Create a map of cell IDs to expressions for easy lookup.
|
|
47
89
|
const cellExpressions = new Map<string, ParsedExpression>();
|
|
@@ -64,7 +106,7 @@ export class ComputeGraph {
|
|
|
64
106
|
continue;
|
|
65
107
|
}
|
|
66
108
|
|
|
67
|
-
const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.
|
|
109
|
+
const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.source?.target?.content;
|
|
68
110
|
if (!cellSource) {
|
|
69
111
|
log.error('no source for cell', { cellId });
|
|
70
112
|
continue;
|
|
@@ -89,7 +131,7 @@ export class ComputeGraph {
|
|
|
89
131
|
rhs = rhs.slice(0, -1).trim();
|
|
90
132
|
}
|
|
91
133
|
|
|
92
|
-
const result = this.
|
|
134
|
+
const result = await this.eval(rhs, valuesByName);
|
|
93
135
|
valuesByName[expr.name] = result;
|
|
94
136
|
if (typeof result !== 'function') {
|
|
95
137
|
valuesByCellId[cellId] = result;
|
|
@@ -97,35 +139,43 @@ export class ComputeGraph {
|
|
|
97
139
|
}
|
|
98
140
|
} else {
|
|
99
141
|
// For expressions without assignment, just evaluate.
|
|
100
|
-
const result = this.
|
|
142
|
+
const result = await this.eval(cellSource, valuesByName);
|
|
101
143
|
valuesByCellId[cellId] = result;
|
|
102
144
|
}
|
|
103
145
|
} catch (error) {
|
|
146
|
+
// TODO(burdon): Set error state.
|
|
104
147
|
log.error('error evaluating cell', { cellId, error });
|
|
105
148
|
}
|
|
106
149
|
}
|
|
107
150
|
|
|
108
|
-
this.
|
|
151
|
+
this._registry.set(this._valuesByCellIdAtom, valuesByCellId);
|
|
152
|
+
this._registry.set(this._valuesByNameAtom, valuesByName);
|
|
109
153
|
return valuesByCellId;
|
|
110
154
|
}
|
|
111
155
|
|
|
156
|
+
private async eval(source: string, values: Record<string, any>) {
|
|
157
|
+
return evalScript(source, values);
|
|
158
|
+
}
|
|
159
|
+
|
|
112
160
|
/**
|
|
113
161
|
* Parse expressions.
|
|
114
162
|
*/
|
|
115
163
|
parse() {
|
|
116
|
-
const expressions = this._notebook.cells
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
164
|
+
const expressions = this._notebook.cells
|
|
165
|
+
.filter((cell) => cell.type === 'script')
|
|
166
|
+
.reduce<Record<string, ParsedExpression>>((acc, cell) => {
|
|
167
|
+
const text = cell.source?.target?.content.trim();
|
|
168
|
+
if (text) {
|
|
169
|
+
const parsed = this._parser.parseExpression(text);
|
|
170
|
+
acc[cell.id] = parsed;
|
|
171
|
+
}
|
|
122
172
|
|
|
123
|
-
|
|
124
|
-
|
|
173
|
+
return acc;
|
|
174
|
+
}, {});
|
|
125
175
|
|
|
126
176
|
// Build dependency graph.
|
|
127
177
|
const dependencyGraph = this.buildDependencyGraph(expressions);
|
|
128
|
-
this.
|
|
178
|
+
this._registry.set(this._expressionsAtom, expressions);
|
|
129
179
|
return { expressions, dependencyGraph };
|
|
130
180
|
}
|
|
131
181
|
|
|
@@ -177,12 +227,4 @@ export class ComputeGraph {
|
|
|
177
227
|
|
|
178
228
|
return graph;
|
|
179
229
|
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* Evaluate the script (with dependencies as arguments).
|
|
183
|
-
*/
|
|
184
|
-
private evalScript(code: string, deps: Record<string, any> = {}) {
|
|
185
|
-
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
186
|
-
return new Function(...Object.keys(deps), 'return ' + code)(...Object.values(deps));
|
|
187
|
-
}
|
|
188
230
|
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { trim } from '@dxos/util';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Evaluate the script (with dependencies as arguments).
|
|
9
|
+
*/
|
|
10
|
+
export const evalScript = async (code: string, deps: Record<string, any> = {}) => {
|
|
11
|
+
// Create a sandboxed environment that blocks access to window and document.
|
|
12
|
+
const sandbox = {
|
|
13
|
+
...deps,
|
|
14
|
+
|
|
15
|
+
// Block access to global objects.
|
|
16
|
+
console: undefined,
|
|
17
|
+
document: undefined,
|
|
18
|
+
global: undefined,
|
|
19
|
+
globalThis: undefined,
|
|
20
|
+
self: undefined,
|
|
21
|
+
window: undefined,
|
|
22
|
+
|
|
23
|
+
// Allow some safe globals.
|
|
24
|
+
Array,
|
|
25
|
+
Boolean,
|
|
26
|
+
Date,
|
|
27
|
+
Error,
|
|
28
|
+
JSON,
|
|
29
|
+
Map,
|
|
30
|
+
Math,
|
|
31
|
+
Number,
|
|
32
|
+
Object,
|
|
33
|
+
Promise,
|
|
34
|
+
RegExp,
|
|
35
|
+
Set,
|
|
36
|
+
String,
|
|
37
|
+
|
|
38
|
+
// Functions.
|
|
39
|
+
isFinite,
|
|
40
|
+
isNaN,
|
|
41
|
+
parseFloat,
|
|
42
|
+
parseInt,
|
|
43
|
+
|
|
44
|
+
// Note: undefined and null are not included as they are keywords, not variables.
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
// Create function with all sandbox keys as parameters.
|
|
48
|
+
const sandboxKeys = Object.keys(sandbox);
|
|
49
|
+
const sandboxValues = Object.values(sandbox);
|
|
50
|
+
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
52
|
+
const fn = new Function(
|
|
53
|
+
...sandboxKeys,
|
|
54
|
+
trim`
|
|
55
|
+
'use strict';
|
|
56
|
+
return ${code};
|
|
57
|
+
`,
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return fn(...sandboxValues);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Globals.
|
|
65
|
+
*/
|
|
66
|
+
export const builtIns = new Set([
|
|
67
|
+
// Types.
|
|
68
|
+
'Array',
|
|
69
|
+
'Date',
|
|
70
|
+
'Error',
|
|
71
|
+
'JSON',
|
|
72
|
+
'Map',
|
|
73
|
+
'Math',
|
|
74
|
+
'Number',
|
|
75
|
+
'Object',
|
|
76
|
+
'Promise',
|
|
77
|
+
'RegExp',
|
|
78
|
+
'Set',
|
|
79
|
+
'String',
|
|
80
|
+
|
|
81
|
+
// Functions.
|
|
82
|
+
'isFinite',
|
|
83
|
+
'isNaN',
|
|
84
|
+
'parseFloat',
|
|
85
|
+
'parseInt',
|
|
86
|
+
]);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Default system definitions.
|
|
90
|
+
*/
|
|
91
|
+
export const systemDefinitions = trim`
|
|
92
|
+
interface Array<T> { length: number; [n: number]: T; }
|
|
93
|
+
interface Boolean {}
|
|
94
|
+
interface Function {}
|
|
95
|
+
interface IArguments {}
|
|
96
|
+
interface Number {}
|
|
97
|
+
interface Object {}
|
|
98
|
+
interface RegExp {}
|
|
99
|
+
interface String { length: number; }
|
|
100
|
+
|
|
101
|
+
interface CallableFunction extends Function {}
|
|
102
|
+
interface NewableFunction extends Function {}
|
|
103
|
+
|
|
104
|
+
declare var console: { log(...args: any[]): void };
|
|
105
|
+
`;
|
package/src/notebook/index.ts
CHANGED
|
@@ -6,7 +6,18 @@ import { createSystem, createVirtualTypeScriptEnvironment } from '@typescript/vf
|
|
|
6
6
|
import ts from 'typescript';
|
|
7
7
|
|
|
8
8
|
import { invariant } from '@dxos/invariant';
|
|
9
|
-
|
|
9
|
+
|
|
10
|
+
import { builtIns, systemDefinitions } from './eval';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Default system definitions.
|
|
14
|
+
*/
|
|
15
|
+
const systemFiles: VirtualFile[] = [
|
|
16
|
+
{
|
|
17
|
+
filename: '/lib.d.ts',
|
|
18
|
+
content: systemDefinitions,
|
|
19
|
+
},
|
|
20
|
+
];
|
|
10
21
|
|
|
11
22
|
export type ParsedExpression = {
|
|
12
23
|
name?: string;
|
|
@@ -31,6 +42,7 @@ export class VirtualTypeScriptParser {
|
|
|
31
42
|
protected compilerOptions: ts.CompilerOptions = {
|
|
32
43
|
target: ts.ScriptTarget.ES2020,
|
|
33
44
|
module: ts.ModuleKind.ESNext,
|
|
45
|
+
moduleResolution: ts.ModuleResolutionKind.Bundler,
|
|
34
46
|
strict: true,
|
|
35
47
|
esModuleInterop: true,
|
|
36
48
|
skipLibCheck: true,
|
|
@@ -50,7 +62,7 @@ export class VirtualTypeScriptParser {
|
|
|
50
62
|
// If no declarations found, check for standalone expression references.
|
|
51
63
|
if (analysis.length === 0) {
|
|
52
64
|
const sourcefilename = '/temp.ts';
|
|
53
|
-
const env = this.createEnvironment([{ filename: sourcefilename, content: input }
|
|
65
|
+
const env = this.createEnvironment([{ filename: sourcefilename, content: input }]);
|
|
54
66
|
const sourceFile = env.getSourceFile(sourcefilename);
|
|
55
67
|
const typeChecker = env.languageService.getProgram()?.getTypeChecker();
|
|
56
68
|
|
|
@@ -73,14 +85,16 @@ export class VirtualTypeScriptParser {
|
|
|
73
85
|
* Analyze multiple files with full type information.
|
|
74
86
|
*/
|
|
75
87
|
analyzeFiles(files: VirtualFile[]): ParsedExpression[] {
|
|
76
|
-
const env = this.createEnvironment(
|
|
88
|
+
const env = this.createEnvironment(files);
|
|
77
89
|
const results: ParsedExpression[] = [];
|
|
78
90
|
const typeChecker = env.languageService.getProgram()?.getTypeChecker();
|
|
79
91
|
|
|
80
92
|
// Analyze each file.
|
|
81
93
|
files.forEach((file) => {
|
|
82
94
|
const sourceFile = env.getSourceFile(file.filename);
|
|
83
|
-
if (!sourceFile || !typeChecker)
|
|
95
|
+
if (!sourceFile || !typeChecker) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
84
98
|
|
|
85
99
|
const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);
|
|
86
100
|
results.push(...fileResults);
|
|
@@ -96,7 +110,7 @@ export class VirtualTypeScriptParser {
|
|
|
96
110
|
const results: ParsedExpression[] = [];
|
|
97
111
|
|
|
98
112
|
const visit = (node: ts.Node) => {
|
|
99
|
-
// Function declarations
|
|
113
|
+
// Function declarations.
|
|
100
114
|
if (ts.isFunctionDeclaration(node) && node.name) {
|
|
101
115
|
const symbol = typeChecker.getSymbolAtLocation(node.name);
|
|
102
116
|
const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, node);
|
|
@@ -123,7 +137,7 @@ export class VirtualTypeScriptParser {
|
|
|
123
137
|
let returnType: string | undefined;
|
|
124
138
|
let value: any;
|
|
125
139
|
|
|
126
|
-
// Get the type string
|
|
140
|
+
// Get the type string.
|
|
127
141
|
const typeString = type ? typeChecker.typeToString(type) : 'any';
|
|
128
142
|
|
|
129
143
|
// Check if it's a function.
|
|
@@ -146,7 +160,7 @@ export class VirtualTypeScriptParser {
|
|
|
146
160
|
}
|
|
147
161
|
}
|
|
148
162
|
|
|
149
|
-
// Find references in the initializer only
|
|
163
|
+
// Find references in the initializer only.
|
|
150
164
|
const refs = declaration.initializer
|
|
151
165
|
? this.findReferences(declaration.initializer, sourceFile, typeChecker)
|
|
152
166
|
: [];
|
|
@@ -164,7 +178,7 @@ export class VirtualTypeScriptParser {
|
|
|
164
178
|
});
|
|
165
179
|
}
|
|
166
180
|
|
|
167
|
-
// Class declarations
|
|
181
|
+
// Class declarations.
|
|
168
182
|
else if (ts.isClassDeclaration(node) && node.name) {
|
|
169
183
|
results.push({
|
|
170
184
|
name: node.name.text,
|
|
@@ -196,7 +210,9 @@ export class VirtualTypeScriptParser {
|
|
|
196
210
|
signature: ts.Signature | undefined,
|
|
197
211
|
typeChecker: ts.TypeChecker,
|
|
198
212
|
): Array<{ name: string; type: string }> {
|
|
199
|
-
if (!signature)
|
|
213
|
+
if (!signature) {
|
|
214
|
+
return [];
|
|
215
|
+
}
|
|
200
216
|
|
|
201
217
|
return signature.parameters.map((param) => ({
|
|
202
218
|
name: param.getName(),
|
|
@@ -212,42 +228,42 @@ export class VirtualTypeScriptParser {
|
|
|
212
228
|
const localSymbols = new Set<string>();
|
|
213
229
|
|
|
214
230
|
// First, collect local symbols (parameters, local variables).
|
|
215
|
-
const collectLocalSymbols = (
|
|
216
|
-
if (ts.isFunctionDeclaration(
|
|
217
|
-
|
|
231
|
+
const collectLocalSymbols = (node: ts.Node) => {
|
|
232
|
+
if (ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {
|
|
233
|
+
node.parameters.forEach((param) => {
|
|
218
234
|
if (ts.isIdentifier(param.name)) {
|
|
219
235
|
localSymbols.add(param.name.text);
|
|
220
236
|
}
|
|
221
237
|
});
|
|
222
238
|
}
|
|
223
239
|
|
|
224
|
-
if (ts.isVariableDeclaration(
|
|
225
|
-
localSymbols.add(
|
|
240
|
+
if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name)) {
|
|
241
|
+
localSymbols.add(node.name.text);
|
|
226
242
|
}
|
|
227
243
|
|
|
228
|
-
ts.forEachChild(
|
|
244
|
+
ts.forEachChild(node, collectLocalSymbols);
|
|
229
245
|
};
|
|
230
246
|
|
|
231
247
|
collectLocalSymbols(node);
|
|
232
248
|
|
|
233
249
|
// Then find all identifier references.
|
|
234
|
-
const findRefs = (
|
|
235
|
-
if (ts.isIdentifier(
|
|
236
|
-
// Skip if it's a local symbol
|
|
237
|
-
if (!localSymbols.has(
|
|
250
|
+
const findRefs = (node: ts.Node) => {
|
|
251
|
+
if (ts.isIdentifier(node)) {
|
|
252
|
+
// Skip if it's a local symbol.
|
|
253
|
+
if (!localSymbols.has(node.text)) {
|
|
238
254
|
// Check if it's a reference (not a declaration).
|
|
239
|
-
const parent =
|
|
255
|
+
const parent = node.parent;
|
|
240
256
|
const isDeclaration =
|
|
241
|
-
(ts.isVariableDeclaration(parent) && parent.name ===
|
|
242
|
-
(ts.isFunctionDeclaration(parent) && parent.name ===
|
|
243
|
-
(ts.isParameter(parent) && parent.name ===
|
|
257
|
+
(ts.isVariableDeclaration(parent) && parent.name === node) ||
|
|
258
|
+
(ts.isFunctionDeclaration(parent) && parent.name === node) ||
|
|
259
|
+
(ts.isParameter(parent) && parent.name === node);
|
|
244
260
|
|
|
245
|
-
if (!isDeclaration && !this.isBuiltIn(
|
|
246
|
-
references.add(
|
|
261
|
+
if (!isDeclaration && !this.isBuiltIn(node.text)) {
|
|
262
|
+
references.add(node.text);
|
|
247
263
|
}
|
|
248
264
|
}
|
|
249
265
|
}
|
|
250
|
-
ts.forEachChild(
|
|
266
|
+
ts.forEachChild(node, findRefs);
|
|
251
267
|
};
|
|
252
268
|
|
|
253
269
|
findRefs(node);
|
|
@@ -274,7 +290,7 @@ export class VirtualTypeScriptParser {
|
|
|
274
290
|
const type = typeChecker.getTypeAtLocation(expr.right);
|
|
275
291
|
const typeString = typeChecker.typeToString(type);
|
|
276
292
|
|
|
277
|
-
// Get the literal value if it's a literal
|
|
293
|
+
// Get the literal value if it's a literal.
|
|
278
294
|
let value: any;
|
|
279
295
|
if (ts.isNumericLiteral(expr.right)) {
|
|
280
296
|
value = Number(expr.right.text);
|
|
@@ -282,7 +298,7 @@ export class VirtualTypeScriptParser {
|
|
|
282
298
|
value = expr.right.text;
|
|
283
299
|
}
|
|
284
300
|
|
|
285
|
-
// Find references in the right-hand side
|
|
301
|
+
// Find references in the right-hand side.
|
|
286
302
|
const references = this.findReferences(expr.right, sourceFile, typeChecker);
|
|
287
303
|
|
|
288
304
|
result = {
|
|
@@ -336,15 +352,17 @@ export class VirtualTypeScriptParser {
|
|
|
336
352
|
}
|
|
337
353
|
|
|
338
354
|
protected createEnvironment(files: VirtualFile[]) {
|
|
355
|
+
const allFiles = [...systemFiles, ...files];
|
|
356
|
+
|
|
339
357
|
const fileMap = new Map<string, string>();
|
|
340
|
-
|
|
358
|
+
allFiles.forEach(({ filename, content }) => {
|
|
341
359
|
fileMap.set(filename, content);
|
|
342
360
|
});
|
|
343
361
|
|
|
344
362
|
const system = createSystem(fileMap);
|
|
345
363
|
return createVirtualTypeScriptEnvironment(
|
|
346
364
|
system,
|
|
347
|
-
|
|
365
|
+
allFiles.map(({ filename }) => filename),
|
|
348
366
|
ts,
|
|
349
367
|
this.compilerOptions,
|
|
350
368
|
);
|
|
@@ -359,7 +377,7 @@ export class NotebookVirtualParser extends VirtualTypeScriptParser {
|
|
|
359
377
|
* Analyze notebook cells with full type checking.
|
|
360
378
|
*/
|
|
361
379
|
analyzeNotebook(cells: Array<{ id: string; code: string }>) {
|
|
362
|
-
// Create cumulative environment where each cell can see previous cells
|
|
380
|
+
// Create cumulative environment where each cell can see previous cells.
|
|
363
381
|
const cumulativeCode: string[] = [];
|
|
364
382
|
const cellAnalysis: Map<
|
|
365
383
|
string,
|
|
@@ -390,7 +408,7 @@ export class NotebookVirtualParser extends VirtualTypeScriptParser {
|
|
|
390
408
|
});
|
|
391
409
|
|
|
392
410
|
// Create environment.
|
|
393
|
-
const env = this.createEnvironment(
|
|
411
|
+
const env = this.createEnvironment(files);
|
|
394
412
|
|
|
395
413
|
// Get diagnostics (errors).
|
|
396
414
|
const diagnostics = env.languageService.getSemanticDiagnostics(filename);
|
|
@@ -416,7 +434,9 @@ export class NotebookVirtualParser extends VirtualTypeScriptParser {
|
|
|
416
434
|
const previousExports = new Set<string>();
|
|
417
435
|
for (const [_prevCellId, prevAnalysis] of cellAnalysis) {
|
|
418
436
|
prevAnalysis.exports.forEach((exp) => {
|
|
419
|
-
if (exp.name)
|
|
437
|
+
if (exp.name) {
|
|
438
|
+
previousExports.add(exp.name);
|
|
439
|
+
}
|
|
420
440
|
});
|
|
421
441
|
}
|
|
422
442
|
|
|
@@ -436,55 +456,3 @@ export class NotebookVirtualParser extends VirtualTypeScriptParser {
|
|
|
436
456
|
return cellAnalysis;
|
|
437
457
|
}
|
|
438
458
|
}
|
|
439
|
-
|
|
440
|
-
/**
|
|
441
|
-
* Globals.
|
|
442
|
-
*/
|
|
443
|
-
const builtIns = new Set([
|
|
444
|
-
// Types.
|
|
445
|
-
'Array',
|
|
446
|
-
'Date',
|
|
447
|
-
'Error',
|
|
448
|
-
'JSON',
|
|
449
|
-
'Map',
|
|
450
|
-
'Math',
|
|
451
|
-
'Number',
|
|
452
|
-
'Promise',
|
|
453
|
-
'Object',
|
|
454
|
-
'RegExp',
|
|
455
|
-
'Set',
|
|
456
|
-
'String',
|
|
457
|
-
|
|
458
|
-
// Functions.
|
|
459
|
-
'console',
|
|
460
|
-
'document',
|
|
461
|
-
'global',
|
|
462
|
-
'isFinite',
|
|
463
|
-
'isNaN',
|
|
464
|
-
'parseFloat',
|
|
465
|
-
'parseInt',
|
|
466
|
-
'process',
|
|
467
|
-
'window',
|
|
468
|
-
]);
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* Default system definitions.
|
|
472
|
-
*/
|
|
473
|
-
const systemFiles: VirtualFile[] = [
|
|
474
|
-
{
|
|
475
|
-
filename: '/lib.d.ts',
|
|
476
|
-
content: trim`
|
|
477
|
-
interface Array<T> { length: number; [n: number]: T; }
|
|
478
|
-
interface Boolean {}
|
|
479
|
-
interface Function {}
|
|
480
|
-
interface IArguments {}
|
|
481
|
-
interface Number {}
|
|
482
|
-
interface Object {}
|
|
483
|
-
interface RegExp {}
|
|
484
|
-
interface String { length: number; }
|
|
485
|
-
interface CallableFunction extends Function {}
|
|
486
|
-
interface NewableFunction extends Function {}
|
|
487
|
-
declare var console: { log(...args: any[]): void };
|
|
488
|
-
`,
|
|
489
|
-
},
|
|
490
|
-
];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Octokit } from '@octokit/core';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
|
|
8
|
+
import { Script, Operation } from '@dxos/compute';
|
|
9
|
+
|
|
10
|
+
import { templates } from '../templates';
|
|
11
|
+
import { ScriptOperation } from '../types';
|
|
12
|
+
|
|
13
|
+
const handler: Operation.WithHandler<typeof ScriptOperation.CreateScript> = ScriptOperation.CreateScript.pipe(
|
|
14
|
+
Operation.withHandler(
|
|
15
|
+
Effect.fnUntraced(function* ({ name, gistUrl, initialTemplateId }) {
|
|
16
|
+
let source = templates[0].source;
|
|
17
|
+
let scriptName = name;
|
|
18
|
+
|
|
19
|
+
const gistId = gistUrl?.split('/').at(-1);
|
|
20
|
+
if (gistId) {
|
|
21
|
+
const octokit = new Octokit();
|
|
22
|
+
const response = yield* Effect.promise(() =>
|
|
23
|
+
octokit.request('GET /gists/{gist_id}', {
|
|
24
|
+
gist_id: gistId,
|
|
25
|
+
}),
|
|
26
|
+
);
|
|
27
|
+
const gistContent = Object.values(response.data.files ?? {})[0]?.content;
|
|
28
|
+
if (gistContent) {
|
|
29
|
+
source = gistContent;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (initialTemplateId) {
|
|
34
|
+
const template = templates.find((template) => template.id === initialTemplateId);
|
|
35
|
+
if (template) {
|
|
36
|
+
source = template.source;
|
|
37
|
+
scriptName = scriptName || template.name;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return { object: Script.make({ name: scriptName, source }) };
|
|
42
|
+
}),
|
|
43
|
+
),
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
export default handler;
|
package/src/plugin.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Plugin } from '@dxos/app-framework';
|
|
6
|
+
|
|
7
|
+
import { meta } from './meta';
|
|
8
|
+
|
|
9
|
+
export const ScriptPlugin = Plugin.lazy(meta, () => import('#plugin'));
|
|
10
|
+
|
|
11
|
+
export { ScriptOperationHandlerSet } from './operations';
|