@dxos/plugin-script 0.8.4-main.7996785055 → 0.8.4-main.8baae0fced
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/dist/lib/{browser/DeploymentDialog-LGEGIX64.mjs → neutral/DeploymentDialog-6DBF3V6C.mjs} +15 -27
- package/dist/lib/neutral/DeploymentDialog-6DBF3V6C.mjs.map +7 -0
- package/dist/lib/{browser/NotebookContainer-CC3G32Q5.mjs → neutral/NotebookArticle-VBBVX4BW.mjs} +48 -135
- package/dist/lib/neutral/NotebookArticle-VBBVX4BW.mjs.map +7 -0
- package/dist/lib/{browser/ScriptContainer-Z3MCPN2D.mjs → neutral/ScriptArticle-UBT27SB6.mjs} +10 -26
- package/dist/lib/neutral/ScriptArticle-UBT27SB6.mjs.map +7 -0
- package/dist/lib/neutral/ScriptPlugin.mjs +39 -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/{browser/TestContainer-ACNQMKVU.mjs → neutral/TestContainer-AFVTBYSJ.mjs} +9 -26
- 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/{browser/blueprint-definition-MC264VR5.mjs → neutral/blueprint-definition-T33SBPP2.mjs} +4 -6
- package/dist/lib/neutral/blueprint-definition-T33SBPP2.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/blueprints/index.mjs +3 -1
- 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/{node-esm/chunk-JGN7TDJH.mjs → neutral/chunk-2REUEDUA.mjs} +10 -23
- package/dist/lib/neutral/chunk-2REUEDUA.mjs.map +7 -0
- package/dist/lib/{browser/chunk-37XPSUAH.mjs → neutral/chunk-436PZKYX.mjs} +2 -1
- package/dist/lib/neutral/chunk-436PZKYX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4OWPUMGN.mjs +8 -0
- package/dist/lib/neutral/chunk-4OWPUMGN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-A4LRH25S.mjs +105 -0
- package/dist/lib/neutral/chunk-A4LRH25S.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BDRB6ZX2.mjs +52 -0
- package/dist/lib/neutral/chunk-BDRB6ZX2.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BMO5VOKL.mjs +125 -0
- package/dist/lib/neutral/chunk-BMO5VOKL.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MI6X5CTJ.mjs +336 -0
- package/dist/lib/neutral/chunk-MI6X5CTJ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SNUWHNEW.mjs +8 -0
- package/dist/lib/neutral/chunk-SNUWHNEW.mjs.map +7 -0
- package/dist/lib/{browser/chunk-E6BQ4P6L.mjs → neutral/chunk-VXDJH6OL.mjs} +21 -50
- package/dist/lib/neutral/chunk-VXDJH6OL.mjs.map +7 -0
- package/dist/lib/{browser/compiler-MZKFKYCG.mjs → neutral/compiler-ODK4UA2N.mjs} +24 -21
- package/dist/lib/neutral/compiler-ODK4UA2N.mjs.map +7 -0
- package/dist/lib/{node-esm/chunk-SV742UH7.mjs → neutral/components/index.mjs} +75 -97
- 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-ZUHIXCBS.mjs +46 -0
- package/dist/lib/neutral/create-ZUHIXCBS.mjs.map +7 -0
- package/dist/lib/neutral/create-object-F2NWICFV.mjs +44 -0
- package/dist/lib/neutral/create-object-F2NWICFV.mjs.map +7 -0
- package/dist/lib/{browser/create-script-Z7J4HDV2.mjs → neutral/create-script-H5S4AO47.mjs} +6 -8
- package/dist/lib/neutral/create-script-H5S4AO47.mjs.map +7 -0
- package/dist/lib/neutral/delete-PAUWA2QM.mjs +21 -0
- package/dist/lib/neutral/delete-PAUWA2QM.mjs.map +7 -0
- package/dist/lib/neutral/deploy-M73G7HMP.mjs +63 -0
- package/dist/lib/neutral/deploy-M73G7HMP.mjs.map +7 -0
- package/dist/lib/{browser/chunk-DBEYGFVF.mjs → neutral/hooks/index.mjs} +49 -80
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +41 -0
- package/dist/lib/neutral/inspect-invocations-UO27IPCL.mjs +59 -0
- package/dist/lib/neutral/inspect-invocations-UO27IPCL.mjs.map +7 -0
- package/dist/lib/neutral/install-function-MSWSC244.mjs +49 -0
- package/dist/lib/neutral/install-function-MSWSC244.mjs.map +7 -0
- package/dist/lib/neutral/invoke-V6XYXKLD.mjs +32 -0
- package/dist/lib/neutral/invoke-V6XYXKLD.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-KIZ7XZ5G.mjs +18 -0
- package/dist/lib/neutral/operation-handler-KIZ7XZ5G.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-4MMKQ6BR.mjs +34 -0
- package/dist/lib/neutral/query-deployed-functions-4MMKQ6BR.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-K4SSUR57.mjs +120 -0
- package/dist/lib/neutral/react-surface-K4SSUR57.mjs.map +7 -0
- package/dist/lib/neutral/read-FFOSK6A3.mjs +26 -0
- package/dist/lib/neutral/read-FFOSK6A3.mjs.map +7 -0
- package/dist/lib/{browser/settings-BV3KXROF.mjs → neutral/settings-VJBW4OMK.mjs} +6 -11
- package/dist/lib/neutral/settings-VJBW4OMK.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/templates/index.mjs +1 -1
- package/dist/lib/neutral/translations.mjs +104 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +17 -0
- package/dist/lib/neutral/update-PJS5GG3Y.mjs +63 -0
- package/dist/lib/neutral/update-PJS5GG3Y.mjs.map +7 -0
- package/dist/types/src/ScriptPlugin.d.ts +1 -0
- 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 +129 -0
- package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/delete.d.ts +16 -0
- package/dist/types/src/blueprints/functions/delete.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/deploy.d.ts +20 -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 +27 -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 +20 -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 +20 -0
- package/dist/types/src/blueprints/functions/read.d.ts.map +1 -0
- package/dist/types/src/blueprints/functions/update.d.ts +25 -0
- package/dist/types/src/blueprints/functions/update.d.ts.map +1 -0
- package/dist/types/src/blueprints/script-blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/compiler.d.ts +6 -0
- package/dist/types/src/capabilities/compiler.d.ts.map +1 -0
- 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 -6
- 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/operation-handler.d.ts → operation-handler.d.ts} +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +2 -5
- package/dist/types/src/capabilities/settings.d.ts.map +1 -0
- package/dist/types/src/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/FramePanel/FramePanel.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts +1 -1
- package/dist/types/src/components/NotebookStack/NotebookCell.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts +1 -1
- package/dist/types/src/components/NotebookStack/NotebookMenu.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookStack.d.ts +2 -6
- package/dist/types/src/components/NotebookStack/NotebookStack.d.ts.map +1 -1
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts +219 -231
- package/dist/types/src/components/NotebookStack/NotebookStack.stories.d.ts.map +1 -1
- package/dist/types/src/components/QueryEditor/QueryEditor.d.ts.map +1 -1
- package/dist/types/src/components/QueryEditor/QueryEditor.stories.d.ts.map +1 -1
- 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 +3 -7
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +219 -231
- package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestPanel.d.ts +1 -5
- package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +3 -6
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +1 -5
- package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.d.ts.map +1 -1
- package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts +219 -231
- package/dist/types/src/containers/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
- package/dist/types/src/containers/DeploymentDialog/index.d.ts +1 -2
- package/dist/types/src/containers/DeploymentDialog/index.d.ts.map +1 -1
- 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 +4 -5
- package/dist/types/src/containers/ScriptProperties/ScriptProperties.d.ts.map +1 -1
- 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 +1 -2
- package/dist/types/src/containers/ScriptProperties/index.d.ts.map +1 -1
- package/dist/types/src/containers/TestContainer/TestContainer.d.ts +1 -1
- package/dist/types/src/containers/TestContainer/TestContainer.d.ts.map +1 -1
- package/dist/types/src/containers/TestContainer/index.d.ts +1 -2
- package/dist/types/src/containers/TestContainer/index.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +2 -4
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts +14 -5
- package/dist/types/src/hooks/deploy.d.ts.map +1 -1
- package/dist/types/src/hooks/format.d.ts +1 -1
- package/dist/types/src/hooks/format.d.ts.map +1 -1
- package/dist/types/src/hooks/template.d.ts +1 -1
- package/dist/types/src/hooks/template.d.ts.map +1 -1
- package/dist/types/src/hooks/useCompiler.d.ts.map +1 -1
- package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/notebook/compute-graph.d.ts +1 -1
- package/dist/types/src/notebook/compute-graph.d.ts.map +1 -1
- package/dist/types/src/notebook/eval.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 +3 -3
- package/dist/types/src/operations/create-script.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +1 -2
- package/dist/types/src/operations/index.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/src/templates/anthropic.d.ts.map +1 -1
- package/dist/types/src/templates/chat.d.ts.map +1 -1
- package/dist/types/src/templates/chess-bot.d.ts +5 -11
- package/dist/types/src/templates/chess-bot.d.ts.map +1 -1
- package/dist/types/src/templates/commentary.d.ts +5 -11
- package/dist/types/src/templates/commentary.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/src/templates/forex-effect.d.ts.map +1 -1
- package/dist/types/src/templates/forex.d.ts +1 -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 +29 -29
- package/dist/types/src/templates/index.d.ts.map +1 -1
- package/dist/types/src/templates/ping.d.ts +1 -1
- package/dist/types/src/templates/ping.d.ts.map +1 -1
- 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/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 -94
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Notebook.d.ts +37 -29
- package/dist/types/src/types/Notebook.d.ts.map +1 -1
- 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 +4 -3
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +1 -5
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util/deploy.d.ts +1 -2
- package/dist/types/src/util/deploy.d.ts.map +1 -1
- package/dist/types/src/util/functions.d.ts +1 -2
- package/dist/types/src/util/functions.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +153 -113
- package/src/ScriptPlugin.node.ts +21 -0
- package/src/ScriptPlugin.test.ts +31 -0
- package/src/ScriptPlugin.tsx +9 -56
- package/src/ScriptPlugin.workerd.ts +18 -0
- package/src/blueprints/functions/create.ts +47 -0
- package/src/blueprints/functions/definitions.ts +323 -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/script-blueprint.ts +32 -5
- package/src/capabilities/{app-graph-builder/app-graph-builder.ts → app-graph-builder.ts} +13 -22
- package/src/capabilities/{artifact-definition/artifact-definition.ts → artifact-definition.ts} +4 -5
- package/src/capabilities/{blueprint-definition/blueprint-definition.ts → blueprint-definition.ts} +3 -1
- package/src/capabilities/{compiler/compiler.ts → compiler.ts} +17 -9
- package/src/capabilities/create-object.ts +48 -0
- package/src/capabilities/index.ts +14 -6
- package/src/capabilities/node.ts +16 -0
- package/src/capabilities/operation-handler.ts +21 -0
- package/src/capabilities/react-surface.tsx +130 -0
- package/src/capabilities/{settings/settings.ts → settings.ts} +4 -4
- package/src/compiler/compiler.ts +12 -1
- package/src/components/NotebookStack/NotebookCell.tsx +22 -11
- package/src/components/NotebookStack/NotebookMenu.tsx +7 -7
- package/src/components/NotebookStack/NotebookStack.stories.tsx +4 -4
- package/src/components/NotebookStack/NotebookStack.tsx +4 -4
- package/src/components/QueryEditor/QueryEditor.stories.tsx +3 -3
- package/src/components/QueryEditor/QueryEditor.tsx +3 -1
- 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 +6 -6
- package/src/components/ScriptToolbar/ScriptToolbar.tsx +4 -4
- package/src/components/TestPanel/TestPanel.tsx +5 -9
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +3 -3
- package/src/components/TypescriptEditor/TypescriptEditor.tsx +2 -2
- package/src/components/index.ts +4 -0
- package/src/constants.ts +1 -1
- package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +4 -4
- package/src/containers/DeploymentDialog/DeploymentDialog.tsx +14 -13
- package/src/containers/DeploymentDialog/index.ts +1 -3
- package/src/containers/{NotebookContainer/NotebookContainer.stories.tsx → NotebookArticle/NotebookArticle.stories.tsx} +15 -14
- package/src/containers/{NotebookContainer/NotebookContainer.tsx → NotebookArticle/NotebookArticle.tsx} +32 -45
- package/src/containers/NotebookArticle/index.ts +5 -0
- package/src/containers/ScriptArticle/ScriptArticle.stories.tsx +107 -0
- package/src/containers/{ScriptContainer/ScriptContainer.tsx → ScriptArticle/ScriptArticle.tsx} +12 -12
- 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 +12 -21
- package/src/containers/ScriptProperties/index.ts +1 -3
- package/src/containers/TestContainer/TestContainer.tsx +7 -8
- package/src/containers/TestContainer/index.ts +1 -3
- package/src/containers/index.ts +2 -4
- package/src/e2e/ai.test.ts +2 -2
- package/src/e2e/deploy.test.ts +3 -2
- package/src/hooks/deploy.ts +8 -7
- package/src/hooks/format.ts +4 -4
- package/src/hooks/template.ts +6 -5
- package/src/hooks/useCompiler.ts +3 -2
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +4 -3
- package/src/index.ts +2 -5
- package/src/meta.ts +1 -0
- package/src/notebook/compute-graph.test.ts +7 -7
- package/src/notebook/compute-graph.ts +1 -1
- package/src/notebook/vfs-parser.ts +10 -3
- package/src/operations/create-script.ts +3 -4
- package/src/operations/index.ts +2 -7
- package/src/plugin.ts +11 -0
- package/src/templates/anthropic.ts +1 -1
- package/src/templates/chess-bot.ts +11 -9
- package/src/templates/commentary.ts +27 -22
- package/src/templates/discord.ts +1 -1
- package/src/templates/forex-effect.ts +1 -1
- package/src/templates/forex.ts +1 -1
- package/src/templates/gmail.ts +1 -1
- package/src/templates/ping.ts +1 -1
- package/src/testing/index.ts +2 -1
- package/src/testing/simulator.test.ts +3 -4
- package/src/testing/{data.ts → test-notebook.ts} +11 -12
- package/src/testing/test-script.ts +28 -0
- package/src/translations.ts +86 -89
- package/src/types/Notebook.ts +3 -3
- package/src/types/ScriptCapabilities.ts +18 -0
- package/src/types/ScriptEvents.ts +11 -0
- package/src/{operations/definitions.ts → types/ScriptOperation.ts} +5 -3
- package/src/types/Settings.ts +20 -0
- package/src/types/index.ts +5 -3
- package/src/types/types.ts +1 -11
- package/src/util/deploy.ts +7 -7
- package/src/util/functions.ts +11 -11
- package/dist/lib/browser/DeploymentDialog-LGEGIX64.mjs.map +0 -7
- package/dist/lib/browser/NotebookContainer-CC3G32Q5.mjs.map +0 -7
- package/dist/lib/browser/ScriptContainer-Z3MCPN2D.mjs.map +0 -7
- package/dist/lib/browser/ScriptObjectSettings-LST7DUAN.mjs +0 -297
- package/dist/lib/browser/ScriptObjectSettings-LST7DUAN.mjs.map +0 -7
- package/dist/lib/browser/ScriptPluginSettings-IKWRISC3.mjs +0 -55
- package/dist/lib/browser/ScriptPluginSettings-IKWRISC3.mjs.map +0 -7
- package/dist/lib/browser/ScriptProperties-ZCRTZTAK.mjs +0 -28
- package/dist/lib/browser/ScriptProperties-ZCRTZTAK.mjs.map +0 -7
- package/dist/lib/browser/TestContainer-ACNQMKVU.mjs.map +0 -7
- package/dist/lib/browser/access-token-created-ZHVVOEL7.mjs +0 -36
- package/dist/lib/browser/access-token-created-ZHVVOEL7.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs +0 -63
- package/dist/lib/browser/app-graph-builder-QPXX4YK5.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-MC264VR5.mjs.map +0 -7
- package/dist/lib/browser/chunk-37XPSUAH.mjs.map +0 -7
- package/dist/lib/browser/chunk-4XJSGCAS.mjs +0 -742
- package/dist/lib/browser/chunk-4XJSGCAS.mjs.map +0 -7
- package/dist/lib/browser/chunk-7JI376EM.mjs +0 -20
- package/dist/lib/browser/chunk-7JI376EM.mjs.map +0 -7
- package/dist/lib/browser/chunk-ATTZUDT7.mjs +0 -67
- package/dist/lib/browser/chunk-ATTZUDT7.mjs.map +0 -7
- package/dist/lib/browser/chunk-BHRCZLLU.mjs +0 -105
- package/dist/lib/browser/chunk-BHRCZLLU.mjs.map +0 -7
- package/dist/lib/browser/chunk-CMHREENI.mjs +0 -8
- package/dist/lib/browser/chunk-CMHREENI.mjs.map +0 -7
- package/dist/lib/browser/chunk-DBEYGFVF.mjs.map +0 -7
- package/dist/lib/browser/chunk-E6BQ4P6L.mjs.map +0 -7
- package/dist/lib/browser/chunk-GB2HL4ZE.mjs +0 -26
- package/dist/lib/browser/chunk-GB2HL4ZE.mjs.map +0 -7
- package/dist/lib/browser/chunk-NQJRENSK.mjs +0 -75
- package/dist/lib/browser/chunk-NQJRENSK.mjs.map +0 -7
- package/dist/lib/browser/chunk-QLFFA4Y4.mjs +0 -52
- package/dist/lib/browser/chunk-QLFFA4Y4.mjs.map +0 -7
- package/dist/lib/browser/chunk-X44CJ7F5.mjs +0 -11
- package/dist/lib/browser/chunk-X44CJ7F5.mjs.map +0 -7
- package/dist/lib/browser/compiler-MZKFKYCG.mjs.map +0 -7
- package/dist/lib/browser/create-script-Z7J4HDV2.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -268
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/operation-handler-76AHUB5G.mjs +0 -18
- package/dist/lib/browser/operation-handler-76AHUB5G.mjs.map +0 -7
- package/dist/lib/browser/operations/index.mjs +0 -14
- package/dist/lib/browser/react-surface-2VVUIV66.mjs +0 -145
- package/dist/lib/browser/react-surface-2VVUIV66.mjs.map +0 -7
- package/dist/lib/browser/settings-BV3KXROF.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -15
- package/dist/lib/node-esm/DeploymentDialog-XSP2EDU2.mjs +0 -125
- package/dist/lib/node-esm/DeploymentDialog-XSP2EDU2.mjs.map +0 -7
- package/dist/lib/node-esm/NotebookContainer-LNWMJD2D.mjs +0 -851
- package/dist/lib/node-esm/NotebookContainer-LNWMJD2D.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-TSU4DBGA.mjs +0 -96
- package/dist/lib/node-esm/ScriptContainer-TSU4DBGA.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptObjectSettings-OGY7X3UE.mjs +0 -298
- package/dist/lib/node-esm/ScriptObjectSettings-OGY7X3UE.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptPluginSettings-HIUSAHCP.mjs +0 -56
- package/dist/lib/node-esm/ScriptPluginSettings-HIUSAHCP.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptProperties-I6SC4P3R.mjs +0 -29
- package/dist/lib/node-esm/ScriptProperties-I6SC4P3R.mjs.map +0 -7
- package/dist/lib/node-esm/TestContainer-WKISNRNU.mjs +0 -62
- package/dist/lib/node-esm/TestContainer-WKISNRNU.mjs.map +0 -7
- package/dist/lib/node-esm/access-token-created-7CGU7FXD.mjs +0 -37
- package/dist/lib/node-esm/access-token-created-7CGU7FXD.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs +0 -64
- package/dist/lib/node-esm/app-graph-builder-GNGOYXIU.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-DTRGTRZA.mjs +0 -18
- package/dist/lib/node-esm/blueprint-definition-DTRGTRZA.mjs.map +0 -7
- package/dist/lib/node-esm/blueprints/index.mjs +0 -9
- package/dist/lib/node-esm/chunk-2NGQCFVE.mjs +0 -28
- package/dist/lib/node-esm/chunk-2NGQCFVE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4YAEFFW2.mjs +0 -12
- package/dist/lib/node-esm/chunk-4YAEFFW2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C3GH2SDF.mjs +0 -76
- package/dist/lib/node-esm/chunk-C3GH2SDF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CKYUNEE5.mjs +0 -10
- package/dist/lib/node-esm/chunk-CKYUNEE5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JGN7TDJH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-L3JLWXB5.mjs +0 -33
- package/dist/lib/node-esm/chunk-L3JLWXB5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-L55OBVT5.mjs +0 -53
- package/dist/lib/node-esm/chunk-L55OBVT5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-P4Q2BPBB.mjs +0 -22
- package/dist/lib/node-esm/chunk-P4Q2BPBB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RN2SMYCL.mjs +0 -401
- package/dist/lib/node-esm/chunk-RN2SMYCL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RTM3D4T5.mjs +0 -181
- package/dist/lib/node-esm/chunk-RTM3D4T5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SV742UH7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Y5VWHRVU.mjs +0 -107
- package/dist/lib/node-esm/chunk-Y5VWHRVU.mjs.map +0 -7
- package/dist/lib/node-esm/compiler-QBWP7ERK.mjs +0 -99
- package/dist/lib/node-esm/compiler-QBWP7ERK.mjs.map +0 -7
- package/dist/lib/node-esm/create-script-TAJHVROB.mjs +0 -48
- package/dist/lib/node-esm/create-script-TAJHVROB.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -269
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/operation-handler-OUROH3T7.mjs +0 -19
- package/dist/lib/node-esm/operation-handler-OUROH3T7.mjs.map +0 -7
- package/dist/lib/node-esm/operations/index.mjs +0 -15
- package/dist/lib/node-esm/react-surface-OJ55GFCP.mjs +0 -146
- package/dist/lib/node-esm/react-surface-OJ55GFCP.mjs.map +0 -7
- package/dist/lib/node-esm/settings-2TK3XPLD.mjs +0 -36
- package/dist/lib/node-esm/settings-2TK3XPLD.mjs.map +0 -7
- package/dist/lib/node-esm/templates/index.mjs +0 -11
- package/dist/lib/node-esm/templates/index.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -16
- package/dist/lib/node-esm/types/index.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/artifact-definition/index.d.ts +0 -3
- package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +0 -6
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +0 -3
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/compiler/compiler.d.ts +0 -6
- package/dist/types/src/capabilities/compiler/compiler.d.ts.map +0 -1
- package/dist/types/src/capabilities/compiler/index.d.ts +0 -3
- package/dist/types/src/capabilities/compiler/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/operation-handler/index.d.ts +0 -4
- package/dist/types/src/capabilities/operation-handler/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/operation-handler/operation-handler.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings/index.d.ts +0 -7
- package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
- package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts +0 -7
- package/dist/types/src/containers/NotebookContainer/NotebookContainer.d.ts.map +0 -1
- package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts +0 -7
- package/dist/types/src/containers/NotebookContainer/NotebookContainer.stories.d.ts.map +0 -1
- package/dist/types/src/containers/NotebookContainer/index.d.ts +0 -3
- package/dist/types/src/containers/NotebookContainer/index.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts +0 -10
- package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptContainer/index.d.ts +0 -3
- package/dist/types/src/containers/ScriptContainer/index.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts +0 -7
- package/dist/types/src/containers/ScriptObjectSettings/ScriptObjectSettings.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptObjectSettings/index.d.ts +0 -3
- package/dist/types/src/containers/ScriptObjectSettings/index.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts +0 -8
- package/dist/types/src/containers/ScriptPluginSettings/ScriptPluginSettings.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptPluginSettings/index.d.ts +0 -3
- package/dist/types/src/containers/ScriptPluginSettings/index.d.ts.map +0 -1
- package/dist/types/src/operations/access-token-created.d.ts +0 -5
- package/dist/types/src/operations/access-token-created.d.ts.map +0 -1
- package/dist/types/src/operations/definitions.d.ts +0 -28
- package/dist/types/src/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/testing/data.d.ts +0 -3
- package/dist/types/src/testing/data.d.ts.map +0 -1
- package/dist/types/src/types/capabilities.d.ts +0 -12
- package/dist/types/src/types/capabilities.d.ts.map +0 -1
- package/dist/types/src/types/events.d.ts +0 -5
- package/dist/types/src/types/events.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder/index.ts +0 -7
- package/src/capabilities/artifact-definition/index.ts +0 -7
- package/src/capabilities/blueprint-definition/index.ts +0 -7
- package/src/capabilities/compiler/index.ts +0 -7
- package/src/capabilities/operation-handler/index.ts +0 -11
- package/src/capabilities/operation-handler/operation-handler.ts +0 -16
- package/src/capabilities/react-surface/index.ts +0 -7
- package/src/capabilities/react-surface/react-surface.tsx +0 -138
- package/src/capabilities/settings/index.ts +0 -7
- package/src/containers/NotebookContainer/index.ts +0 -7
- package/src/containers/ScriptContainer/index.ts +0 -7
- package/src/containers/ScriptObjectSettings/ScriptObjectSettings.tsx +0 -295
- package/src/containers/ScriptObjectSettings/index.ts +0 -7
- package/src/containers/ScriptPluginSettings/ScriptPluginSettings.tsx +0 -66
- package/src/containers/ScriptPluginSettings/index.ts +0 -7
- package/src/operations/access-token-created.ts +0 -36
- package/src/types/capabilities.ts +0 -17
- package/src/types/events.ts +0 -11
- /package/dist/lib/{browser → neutral}/blueprints/index.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
- /package/dist/lib/{browser/operations → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{browser/templates/index.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{browser/types → neutral/operations}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/blueprints → neutral/templates}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/operations → neutral/types}/index.mjs.map +0 -0
- /package/dist/types/src/capabilities/{app-graph-builder/app-graph-builder.d.ts → app-graph-builder.d.ts} +0 -0
- /package/dist/types/src/capabilities/{artifact-definition/artifact-definition.d.ts → artifact-definition.d.ts} +0 -0
- /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/NotebookArticle/NotebookArticle.tsx", "../../../src/notebook/compute-graph.ts", "../../../src/notebook/eval.ts", "../../../src/notebook/vfs-parser.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { RegistryContext } from '@effect-atom/atom-react';\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport type * as Types from 'effect/Types';\nimport React, { useCallback, useContext, useMemo, useState } from 'react';\n\nimport { useSpaceCallback } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { AgentPrompt } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { QueryBuilder } from '@dxos/echo-query';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { Graph } from '@dxos/plugin-explorer';\nimport { DropdownMenu, IconButton, Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { Text, ViewModel } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { NotebookMenu, NotebookStack, type NotebookStackProps, type TypescriptEditorProps } from '#components';\nimport { meta } from '#meta';\nimport { type Notebook } from '#types';\n\nimport { ComputeGraph } from '../../notebook';\n\nconst INCLUDE_BLUEPRINTS = [\n 'org.dxos.blueprint.assistant',\n 'org.dxos.blueprint.database',\n 'org.dxos.blueprint.markdown',\n];\n\n// TODO(burdon): Support calling named deployed functions (as with sheet).\n\nexport type NotebookArticleProps = AppSurface.ObjectArticleProps<Notebook.Notebook, Pick<TypescriptEditorProps, 'env'>>;\n\nexport const NotebookArticle = ({ role, subject: notebook, attendableId, env }: NotebookArticleProps) => {\n const { t } = useTranslation(meta.id);\n const registry = useContext(RegistryContext);\n const db = Obj.getDatabase(notebook);\n const { hasAttention } = useAttention(attendableId);\n\n // TODO(burdon): Consolidate execution and state (with graph).\n // Generalize ComputeGraph evaluation function (using effects).\n const graph = useMemo(() => notebook && new ComputeGraph(notebook, registry), [notebook, registry]);\n\n const [queryValues, setQueryValues] = useState<Record<string, any>>({});\n const handleExecQueries = useCallback(async () => {\n invariant(db);\n\n const builder = new QueryBuilder();\n for (const cell of notebook?.cells ?? []) {\n if (cell.type === 'query') {\n if (cell.source?.target) {\n const source = cell.source.target.content;\n const { name, filter } = builder.build(source);\n if (filter) {\n const ast = Query.select(filter).ast;\n const graph = cell.graph?.target;\n if (!graph) {\n const { view } = await ViewModel.makeFromDatabase({ db });\n const newGraph = Graph.make({ query: { ast }, view });\n Obj.update(notebook!, (obj) => {\n const c = obj.cells.find((c) => c.id === cell.id);\n if (c) {\n c.graph = Ref.make(newGraph);\n c.name = name;\n }\n });\n } else {\n Obj.update(graph, (graph) => {\n graph.query.ast = ast as Obj.Mutable<typeof ast>;\n });\n }\n }\n }\n\n if (cell.name && cell.graph?.target) {\n const graph = Obj.getSnapshot(cell.graph?.target);\n const query = Query.fromAst(graph.query.ast);\n const objects = await db.query(query).run();\n const objectIds = objects?.map((obj) => obj.id);\n setQueryValues((prev) => ({ ...prev, [cell.name!]: objectIds }));\n }\n }\n }\n }, [db, notebook, graph]);\n\n const [promptResults, setPromptResults] = useState<Record<string, string>>({});\n const handleExecPrompts = useSpaceCallback(\n db?.spaceId,\n [] as const,\n Effect.fnUntraced(function* () {\n invariant(graph);\n\n const prompts =\n notebook?.cells\n .filter((cell) => cell.type === 'prompt')\n .map((cell) => cell.prompt)\n .filter(isNonNullable) ?? [];\n\n for (const prompt of prompts) {\n yield* runPrompt({\n prompt,\n input: { ...queryValues, ...graph.getValuesByName() },\n onResult: (result) =>\n setPromptResults((prev) => ({\n ...prev,\n [prompt.dxn.toString()]: result,\n })),\n });\n }\n }),\n [notebook, graph, queryValues],\n );\n\n // TODO(burdon): Cache values in context (preserve when switched).\n const handleCompute = useCallback(async () => {\n // TODO(burdon): Generalize executors (dependencies).\n await graph?.evaluate();\n await handleExecQueries();\n await handleExecPrompts();\n }, [graph, handleExecQueries, handleExecPrompts]);\n\n const handleRearrange = useCallback<NonNullable<NotebookStackProps['onRearrange']>>(\n (source, target) => {\n invariant(notebook);\n const from = notebook.cells.findIndex((cell) => cell.id === source.id);\n const to = notebook.cells.findIndex((cell) => cell.id === target.id);\n if (from != null && to != null) {\n Obj.update(notebook, (notebook) => {\n const cell = notebook.cells.splice(from, 1)[0];\n if (cell) {\n notebook.cells.splice(to, 0, cell);\n }\n });\n }\n },\n [notebook],\n );\n\n const handleCellInsert = useCallback<NonNullable<NotebookStackProps['onCellInsert']>>(\n async (type, after) => {\n invariant(notebook);\n const cell: Types.Mutable<Notebook.Cell> = { id: crypto.randomUUID(), type };\n switch (type) {\n case 'markdown':\n case 'script':\n case 'query': {\n cell.source = Ref.make(Text.make());\n break;\n }\n\n case 'prompt': {\n if (db) {\n const objects = await db.query(Query.select(Filter.type(Blueprint.Blueprint))).run();\n const blueprints = objects\n .filter((blueprint) => {\n const key = Obj.getMeta(blueprint).key;\n return key !== undefined && INCLUDE_BLUEPRINTS.includes(key);\n })\n .map((blueprint) => Ref.make(blueprint));\n cell.prompt = Ref.make(Routine.make({ instructions: '', blueprints }));\n }\n break;\n }\n }\n\n const idx = after ? notebook.cells.findIndex((cell) => cell.id === after) : notebook.cells.length;\n Obj.update(notebook, (notebook) => {\n notebook.cells.splice(idx, 0, cell);\n });\n },\n [db, notebook],\n );\n\n const handleCellDelete = useCallback<NonNullable<NotebookStackProps['onCellDelete']>>(\n (id) => {\n invariant(notebook);\n const idx = notebook.cells.findIndex((cell) => cell.id === id);\n if (idx !== -1) {\n Obj.update(notebook, (notebook) => {\n notebook.cells.splice(idx, 1);\n });\n }\n },\n [notebook],\n );\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention}>\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton icon='ph--plus--regular' iconOnly label={t('notebook-cell-insert.label')} />\n </DropdownMenu.Trigger>\n <NotebookMenu onCellInsert={handleCellInsert} />\n </DropdownMenu.Root>\n <Toolbar.IconButton\n icon='ph--play--fill'\n iconOnly\n label={t('compute.label')}\n classNames='text-success-text'\n onClick={handleCompute}\n />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content asChild>\n <NotebookStack\n db={db}\n notebook={notebook}\n graph={graph}\n env={env}\n promptResults={promptResults}\n onRearrange={handleRearrange}\n onCellInsert={handleCellInsert}\n onCellDelete={handleCellDelete}\n />\n </Panel.Content>\n </Panel.Root>\n );\n};\n\n// TODO(wittjosiah): Factor out. Copied from PromptArticle in plugin-assistant.\nconst runPrompt = Effect.fn(function* ({\n prompt,\n input,\n onResult,\n}: {\n prompt: Ref.Ref<Routine.Routine>;\n input: Record<string, any>;\n onResult: (result: string) => void;\n}) {\n const inputData: Operation.Definition.Input<typeof AgentPrompt> = { prompt, input };\n // Invoke the function.\n const result = yield* Operation.invoke(AgentPrompt, inputData).pipe(Effect.orDie, Effect.exit);\n\n Exit.match(result, {\n onFailure: (cause) => {\n const error = Cause.prettyErrors(cause)[0];\n log.error(error.message, error.cause ?? error.stack);\n onResult(error.message);\n },\n onSuccess: (result: any) => {\n onResult(result.note);\n },\n });\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, type Registry } from '@effect-atom/atom-react';\n\nimport { log } from '@dxos/log';\n\nimport { type Notebook } from '#types';\n\nimport { evalScript } from './eval';\nimport { type ParsedExpression, VirtualTypeScriptParser } from './vfs-parser';\n\n/**\n * Compute graph that evaluates the notebook cells.\n */\n// TODO(burdon): Reconcile with @dxos/conductor.\nexport class ComputeGraph {\n private readonly _parser = new VirtualTypeScriptParser();\n\n private _expressionsAtom = Atom.make<Record<string, ParsedExpression>>({});\n private _valuesByCellIdAtom = Atom.make<Record<string, any>>({});\n private _valuesByNameAtom = Atom.make<Record<string, any>>({});\n\n constructor(\n private readonly _notebook: Notebook.Notebook,\n private readonly _registry: Registry.Registry,\n ) {}\n\n /**\n * Atom for parsed expressions by cell ID.\n */\n get expressions(): Atom.Atom<Record<string, ParsedExpression>> {\n return this._expressionsAtom;\n }\n\n /**\n * Get current expressions by cell ID.\n */\n getExpressions(): Record<string, ParsedExpression> {\n return this._registry.get(this._expressionsAtom);\n }\n\n /**\n * Atom for computed values by cell ID.\n */\n get values(): Atom.Atom<Record<string, any>> {\n return this._valuesByCellIdAtom;\n }\n\n /**\n * Get computed values by cell ID.\n */\n getValues(): Record<string, any> {\n return this._registry.get(this._valuesByCellIdAtom);\n }\n\n /**\n * Atom for computed values by name.\n */\n get valuesByName(): Atom.Atom<Record<string, any>> {\n return this._valuesByNameAtom;\n }\n\n /**\n * Get current values by name.\n */\n getValuesByName(): Record<string, any> {\n return this._registry.get(this._valuesByNameAtom);\n }\n\n /**\n * Get computed value by cell ID.\n */\n getValue(cellId: string): any {\n return this._registry.get(this._valuesByCellIdAtom)[cellId];\n }\n\n /**\n * Compute values.\n */\n async evaluate() {\n // Parse expressions.\n const { expressions, dependencyGraph } = this.parse();\n this._registry.set(this._valuesByCellIdAtom, {});\n this._registry.set(this._valuesByNameAtom, {});\n\n // Create a map of cell IDs to expressions for easy lookup.\n const cellExpressions = new Map<string, ParsedExpression>();\n Object.entries(expressions).forEach(([id, expr]) => {\n cellExpressions.set(id, expr);\n });\n\n // Topological sort to determine evaluation order.\n const evaluationOrder = this.topologicalSort(Object.keys(expressions), dependencyGraph);\n\n // Values by reference name.\n const valuesByName: Record<string, any> = {};\n const valuesByCellId: Record<string, any> = {};\n\n // Evaluate cells in dependency order.\n for (const cellId of evaluationOrder) {\n const expr = cellExpressions.get(cellId);\n if (!expr) {\n log.error('no expression for cell', { cellId });\n continue;\n }\n\n const cellSource = this._notebook.cells.find((cell) => cell.id === cellId)?.source?.target?.content;\n if (!cellSource) {\n log.error('no source for cell', { cellId });\n continue;\n }\n\n try {\n // For assignments or declarations, evaluate and store the value.\n if (expr.name && expr.value !== undefined) {\n // If the parser extracted a literal value, use it directly.\n valuesByName[expr.name] = expr.value;\n valuesByCellId[cellId] = expr.value;\n } else if (expr.name) {\n // For non-literal assignments, we need to evaluate the expression.\n // The parser identifies it's an assignment, so we can extract the RHS.\n const equalIndex = cellSource.indexOf('=');\n if (equalIndex !== -1) {\n // Find the actual assignment operator (not in strings or other contexts).\n let rhs = cellSource.substring(equalIndex + 1).trim();\n\n // Handle semicolon at the end.\n if (rhs.endsWith(';')) {\n rhs = rhs.slice(0, -1).trim();\n }\n\n const result = await this.eval(rhs, valuesByName);\n valuesByName[expr.name] = result;\n if (typeof result !== 'function') {\n valuesByCellId[cellId] = result;\n }\n }\n } else {\n // For expressions without assignment, just evaluate.\n const result = await this.eval(cellSource, valuesByName);\n valuesByCellId[cellId] = result;\n }\n } catch (error) {\n // TODO(burdon): Set error state.\n log.error('error evaluating cell', { cellId, error });\n }\n }\n\n this._registry.set(this._valuesByCellIdAtom, valuesByCellId);\n this._registry.set(this._valuesByNameAtom, valuesByName);\n return valuesByCellId;\n }\n\n private async eval(source: string, values: Record<string, any>) {\n return evalScript(source, values);\n }\n\n /**\n * Parse expressions.\n */\n parse() {\n const expressions = this._notebook.cells\n .filter((cell) => cell.type === 'script')\n .reduce<Record<string, ParsedExpression>>((acc, cell) => {\n const text = cell.source?.target?.content.trim();\n if (text) {\n const parsed = this._parser.parseExpression(text);\n acc[cell.id] = parsed;\n }\n\n return acc;\n }, {});\n\n // Build dependency graph.\n const dependencyGraph = this.buildDependencyGraph(expressions);\n this._registry.set(this._expressionsAtom, expressions);\n return { expressions, dependencyGraph };\n }\n\n private topologicalSort(nodes: string[], dependencies: Record<string, string[]>): string[] {\n const visited = new Set<string>();\n const result: string[] = [];\n\n const visit = (node: string) => {\n if (visited.has(node)) {\n return;\n }\n\n visited.add(node);\n\n // Visit dependencies first.\n const deps = dependencies[node] || [];\n deps.forEach((dep) => visit(dep));\n result.push(node);\n };\n\n // Visit all nodes.\n nodes.forEach((node) => visit(node));\n return result;\n }\n\n private buildDependencyGraph(expressions: Record<string, ParsedExpression>): Record<string, string[]> {\n // Create a map of variable names to their cell IDs.\n const nameToCellId = new Map<string, string>();\n Object.entries(expressions).forEach(([id, expr]) => {\n if (expr.name) {\n nameToCellId.set(expr.name, id);\n }\n });\n\n // Build the dependency graph using cell IDs.\n const graph: Record<string, string[]> = {};\n Object.entries(expressions).forEach(([id, expr]) => {\n if (expr.references && expr.references.length > 0) {\n // Map variable references to cell IDs.\n const dependencyCellIds = expr.references\n .map((ref) => nameToCellId.get(ref))\n .filter((cellId): cellId is string => cellId !== undefined && cellId !== id);\n\n if (dependencyCellIds.length > 0) {\n graph[id] = dependencyCellIds;\n }\n }\n });\n\n return graph;\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { trim } from '@dxos/util';\n\n/**\n * Evaluate the script (with dependencies as arguments).\n */\nexport const evalScript = async (code: string, deps: Record<string, any> = {}) => {\n // Create a sandboxed environment that blocks access to window and document.\n const sandbox = {\n ...deps,\n\n // Block access to global objects.\n console: undefined,\n document: undefined,\n global: undefined,\n globalThis: undefined,\n self: undefined,\n window: undefined,\n\n // Allow some safe globals.\n Array,\n Boolean,\n Date,\n Error,\n JSON,\n Map,\n Math,\n Number,\n Object,\n Promise,\n RegExp,\n Set,\n String,\n\n // Functions.\n isFinite,\n isNaN,\n parseFloat,\n parseInt,\n\n // Note: undefined and null are not included as they are keywords, not variables.\n };\n\n // Create function with all sandbox keys as parameters.\n const sandboxKeys = Object.keys(sandbox);\n const sandboxValues = Object.values(sandbox);\n\n // eslint-disable-next-line @typescript-eslint/no-implied-eval\n const fn = new Function(\n ...sandboxKeys,\n trim`\n 'use strict';\n return ${code};\n `,\n );\n\n return fn(...sandboxValues);\n};\n\n/**\n * Globals.\n */\nexport const builtIns = new Set([\n // Types.\n 'Array',\n 'Date',\n 'Error',\n 'JSON',\n 'Map',\n 'Math',\n 'Number',\n 'Object',\n 'Promise',\n 'RegExp',\n 'Set',\n 'String',\n\n // Functions.\n 'isFinite',\n 'isNaN',\n 'parseFloat',\n 'parseInt',\n]);\n\n/**\n * Default system definitions.\n */\nexport const systemDefinitions = trim`\n interface Array<T> { length: number; [n: number]: T; }\n interface Boolean {}\n interface Function {}\n interface IArguments {}\n interface Number {}\n interface Object {}\n interface RegExp {}\n interface String { length: number; }\n\n interface CallableFunction extends Function {}\n interface NewableFunction extends Function {}\n\n declare var console: { log(...args: any[]): void };\n`;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createSystem, createVirtualTypeScriptEnvironment } from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { builtIns, systemDefinitions } from './eval';\n\n/**\n * Default system definitions.\n */\nconst systemFiles: VirtualFile[] = [\n {\n filename: '/lib.d.ts',\n content: systemDefinitions,\n },\n];\n\nexport type ParsedExpression = {\n name?: string;\n type?: 'function' | 'variable' | 'class' | 'interface';\n value?: any;\n valueType?: string;\n parameters?: Array<{ name: string; type: string }>;\n returnType?: string;\n references?: string[];\n};\n\nexport type VirtualFile = {\n filename: string;\n content: string;\n};\n\n/**\n * TypeScript parser using Virtual File System for browser compatibility.\n * This provides full TypeScript analysis including type information.\n */\nexport class VirtualTypeScriptParser {\n protected compilerOptions: ts.CompilerOptions = {\n target: ts.ScriptTarget.ES2020,\n module: ts.ModuleKind.ESNext,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n strict: true,\n esModuleInterop: true,\n skipLibCheck: true,\n forceConsistentCasingInfilenames: true,\n jsx: ts.JsxEmit.React,\n noLib: true, // Don't automatically include default lib files.\n };\n\n /**\n * Parse a single expression or statement.\n */\n parseExpression(input: string): ParsedExpression {\n invariant(input.trim() !== '', 'input must not be empty');\n const files: VirtualFile[] = [{ filename: '/temp.ts', content: input }];\n const analysis = this.analyzeFiles(files);\n\n // If no declarations found, check for standalone expression references.\n if (analysis.length === 0) {\n const sourcefilename = '/temp.ts';\n const env = this.createEnvironment([{ filename: sourcefilename, content: input }]);\n const sourceFile = env.getSourceFile(sourcefilename);\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n if (sourceFile && typeChecker) {\n // Check for assignment expressions.\n const assignmentInfo = this.findAssignmentExpression(sourceFile, typeChecker);\n if (assignmentInfo) {\n return assignmentInfo;\n }\n\n const references = this.findAllReferences(sourceFile, typeChecker);\n return { references };\n }\n }\n\n return analysis[0];\n }\n\n /**\n * Analyze multiple files with full type information.\n */\n analyzeFiles(files: VirtualFile[]): ParsedExpression[] {\n const env = this.createEnvironment(files);\n const results: ParsedExpression[] = [];\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n // Analyze each file.\n files.forEach((file) => {\n const sourceFile = env.getSourceFile(file.filename);\n if (!sourceFile || !typeChecker) {\n return;\n }\n\n const fileResults = this.analyzeSourceFile(sourceFile, typeChecker);\n results.push(...fileResults);\n });\n\n return results;\n }\n\n /**\n * Analyze a source file with type information.\n */\n protected analyzeSourceFile(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): ParsedExpression[] {\n const results: ParsedExpression[] = [];\n\n const visit = (node: ts.Node) => {\n // Function declarations.\n if (ts.isFunctionDeclaration(node) && node.name) {\n const symbol = typeChecker.getSymbolAtLocation(node.name);\n const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, node);\n const signature = type && typeChecker.getSignaturesOfType(type, ts.SignatureKind.Call)[0];\n\n results.push({\n name: node.name.text,\n type: 'function',\n parameters: this.extractParameters(signature, typeChecker),\n returnType: signature ? typeChecker.typeToString(signature.getReturnType()) : 'any',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n // Variable declarations.\n else if (ts.isVariableStatement(node)) {\n node.declarationList.declarations.forEach((declaration) => {\n if (ts.isIdentifier(declaration.name)) {\n const symbol = typeChecker.getSymbolAtLocation(declaration.name);\n const type = symbol && typeChecker.getTypeOfSymbolAtLocation(symbol, declaration);\n\n let kind: 'function' | 'variable' = 'variable';\n let parameters: Array<{ name: string; type: string }> | undefined;\n let returnType: string | undefined;\n let value: any;\n\n // Get the type string.\n const typeString = type ? typeChecker.typeToString(type) : 'any';\n\n // Check if it's a function.\n if (declaration.initializer) {\n if (ts.isArrowFunction(declaration.initializer) || ts.isFunctionExpression(declaration.initializer)) {\n kind = 'function';\n const funcType = typeChecker.getTypeAtLocation(declaration.initializer);\n const signature = typeChecker.getSignaturesOfType(funcType, ts.SignatureKind.Call)[0];\n if (signature) {\n parameters = this.extractParameters(signature, typeChecker);\n returnType = typeChecker.typeToString(signature.getReturnType());\n }\n } else {\n // Extract literal values\n if (ts.isNumericLiteral(declaration.initializer)) {\n value = Number(declaration.initializer.text);\n } else if (ts.isStringLiteral(declaration.initializer)) {\n value = declaration.initializer.text;\n }\n }\n }\n\n // Find references in the initializer only.\n const refs = declaration.initializer\n ? this.findReferences(declaration.initializer, sourceFile, typeChecker)\n : [];\n\n results.push({\n name: declaration.name.text,\n type: kind,\n valueType: typeString,\n value,\n parameters,\n returnType,\n references: refs,\n });\n }\n });\n }\n\n // Class declarations.\n else if (ts.isClassDeclaration(node) && node.name) {\n results.push({\n name: node.name.text,\n type: 'class',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n // Interface declarations.\n else if (ts.isInterfaceDeclaration(node)) {\n results.push({\n name: node.name.text,\n type: 'interface',\n references: this.findReferences(node, sourceFile, typeChecker),\n });\n }\n\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return results;\n }\n\n /**\n * Extract parameter information from a signature.\n */\n private extractParameters(\n signature: ts.Signature | undefined,\n typeChecker: ts.TypeChecker,\n ): Array<{ name: string; type: string }> {\n if (!signature) {\n return [];\n }\n\n return signature.parameters.map((param) => ({\n name: param.getName(),\n type: typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(param, param.valueDeclaration!)),\n }));\n }\n\n /**\n * Find all references to variables used in a node.\n */\n private findReferences(node: ts.Node, _sourceFile: ts.SourceFile, _typeChecker: ts.TypeChecker): string[] {\n const references = new Set<string>();\n const localSymbols = new Set<string>();\n\n // First, collect local symbols (parameters, local variables).\n const collectLocalSymbols = (node: ts.Node) => {\n if (ts.isFunctionDeclaration(node) || ts.isArrowFunction(node) || ts.isFunctionExpression(node)) {\n node.parameters.forEach((param) => {\n if (ts.isIdentifier(param.name)) {\n localSymbols.add(param.name.text);\n }\n });\n }\n\n if (ts.isVariableDeclaration(node) && ts.isIdentifier(node.name)) {\n localSymbols.add(node.name.text);\n }\n\n ts.forEachChild(node, collectLocalSymbols);\n };\n\n collectLocalSymbols(node);\n\n // Then find all identifier references.\n const findRefs = (node: ts.Node) => {\n if (ts.isIdentifier(node)) {\n // Skip if it's a local symbol.\n if (!localSymbols.has(node.text)) {\n // Check if it's a reference (not a declaration).\n const parent = node.parent;\n const isDeclaration =\n (ts.isVariableDeclaration(parent) && parent.name === node) ||\n (ts.isFunctionDeclaration(parent) && parent.name === node) ||\n (ts.isParameter(parent) && parent.name === node);\n\n if (!isDeclaration && !this.isBuiltIn(node.text)) {\n references.add(node.text);\n }\n }\n }\n ts.forEachChild(node, findRefs);\n };\n\n findRefs(node);\n return Array.from(references);\n }\n\n /**\n * Check if a name is a built-in global.\n */\n protected isBuiltIn(name: string): boolean {\n return builtIns.has(name);\n }\n\n /**\n * Find assignment expressions in a source file.\n */\n private findAssignmentExpression(sourceFile: ts.SourceFile, typeChecker: ts.TypeChecker): ParsedExpression | null {\n let result: ParsedExpression | null = null;\n\n const visit = (node: ts.Node) => {\n if (ts.isExpressionStatement(node) && ts.isBinaryExpression(node.expression)) {\n const expr = node.expression;\n if (expr.operatorToken.kind === ts.SyntaxKind.EqualsToken && ts.isIdentifier(expr.left)) {\n const type = typeChecker.getTypeAtLocation(expr.right);\n const typeString = typeChecker.typeToString(type);\n\n // Get the literal value if it's a literal.\n let value: any;\n if (ts.isNumericLiteral(expr.right)) {\n value = Number(expr.right.text);\n } else if (ts.isStringLiteral(expr.right)) {\n value = expr.right.text;\n }\n\n // Find references in the right-hand side.\n const references = this.findReferences(expr.right, sourceFile, typeChecker);\n\n result = {\n name: expr.left.text,\n type: 'variable',\n valueType: typeString,\n value,\n references,\n };\n }\n }\n if (!result) {\n ts.forEachChild(node, visit);\n }\n };\n\n visit(sourceFile);\n return result;\n }\n\n /**\n * Find all identifier references in a source file.\n */\n protected findAllReferences(sourceFile: ts.SourceFile, _typeChecker: ts.TypeChecker): string[] {\n const references = new Set<string>();\n\n const visit = (node: ts.Node) => {\n if (ts.isIdentifier(node)) {\n // Skip if it's a declaration.\n const parent = node.parent;\n const isDeclaration =\n (ts.isVariableDeclaration(parent) && parent.name === node) ||\n (ts.isFunctionDeclaration(parent) && parent.name === node) ||\n (ts.isParameter(parent) && parent.name === node);\n\n // Skip if it's the left-hand side of an assignment.\n const isAssignmentTarget =\n ts.isBinaryExpression(parent) &&\n parent.operatorToken.kind === ts.SyntaxKind.EqualsToken &&\n parent.left === node;\n\n if (!isDeclaration && !isAssignmentTarget && !this.isBuiltIn(node.text)) {\n references.add(node.text);\n }\n }\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n return Array.from(references);\n }\n\n protected createEnvironment(files: VirtualFile[]) {\n const allFiles = [...systemFiles, ...files];\n\n const fileMap = new Map<string, string>();\n allFiles.forEach(({ filename, content }) => {\n fileMap.set(filename, content);\n });\n\n const system = createSystem(fileMap);\n return createVirtualTypeScriptEnvironment(\n system,\n allFiles.map(({ filename }) => filename),\n ts,\n this.compilerOptions,\n );\n }\n}\n\n/**\n * Notebook-specific parser with dependency analysis.\n */\nexport class NotebookVirtualParser extends VirtualTypeScriptParser {\n /**\n * Analyze notebook cells with full type checking.\n */\n analyzeNotebook(cells: Array<{ id: string; code: string }>) {\n // Create cumulative environment where each cell can see previous cells.\n const cumulativeCode: string[] = [];\n const cellAnalysis: Map<\n string,\n {\n exports: ParsedExpression[];\n imports: string[];\n errors: ts.Diagnostic[];\n }\n > = new Map();\n\n cells.forEach((cell) => {\n // Create files for all cells up to current.\n const files: VirtualFile[] = [];\n\n // Add previous cells as context.\n if (cumulativeCode.length > 0) {\n files.push({\n filename: '/context.ts',\n content: cumulativeCode.join('\\n'),\n });\n }\n\n // Add current cell.\n const filename = `/cell/${cell.id}.ts`;\n files.push({\n filename,\n content: cell.code,\n });\n\n // Create environment.\n const env = this.createEnvironment(files);\n\n // Get diagnostics (errors).\n const diagnostics = env.languageService.getSemanticDiagnostics(filename);\n\n // Analyze current cell.\n const sourceFile = env.getSourceFile(filename);\n const typeChecker = env.languageService.getProgram()?.getTypeChecker();\n\n if (sourceFile && typeChecker) {\n const exports = this.analyzeSourceFile(sourceFile, typeChecker);\n\n // Find all references in the current cell.\n const allRefs = new Set<string>();\n exports.forEach((exp) => {\n exp.references?.forEach((ref) => allRefs.add(ref));\n });\n\n // Also check for references not in exports (e.g., console.log(y)).\n const additionalRefs = this.findAllReferences(sourceFile, typeChecker);\n additionalRefs.forEach((ref) => allRefs.add(ref));\n\n // Determine which references are imports from previous cells.\n const previousExports = new Set<string>();\n for (const [_prevCellId, prevAnalysis] of cellAnalysis) {\n prevAnalysis.exports.forEach((exp) => {\n if (exp.name) {\n previousExports.add(exp.name);\n }\n });\n }\n\n const imports = Array.from(allRefs).filter((ref) => previousExports.has(ref));\n\n cellAnalysis.set(cell.id, {\n exports,\n imports,\n errors: diagnostics,\n });\n }\n\n // Add current cell code to cumulative.\n cumulativeCode.push(cell.code);\n });\n\n return cellAnalysis;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RegistryContext", "Cause", "Effect", "Exit", "React", "useCallback", "useContext", "useMemo", "useState", "useSpaceCallback", "AgentPrompt", "Blueprint", "Routine", "Operation", "Filter", "Obj", "Query", "Ref", "QueryBuilder", "invariant", "log", "Graph", "DropdownMenu", "IconButton", "Panel", "Toolbar", "useTranslation", "useAttention", "Text", "ViewModel", "isNonNullable", "NotebookMenu", "NotebookStack", "meta", "Atom", "log", "trim", "evalScript", "code", "deps", "sandbox", "console", "undefined", "document", "global", "globalThis", "self", "window", "Array", "Boolean", "Date", "Error", "JSON", "Map", "Math", "Number", "Object", "Promise", "RegExp", "Set", "String", "isFinite", "isNaN", "parseFloat", "parseInt", "sandboxKeys", "keys", "sandboxValues", "values", "fn", "Function", "builtIns", "systemDefinitions", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "filename", "target", "ts", "ModuleKind", "moduleResolution", "ModuleResolutionKind", "strict", "esModuleInterop", "skipLibCheck", "forceConsistentCasingInfilenames", "jsx", "JsxEmit", "noLib", "analysis", "length", "env", "createEnvironment", "sourcefilename", "sourceFile", "typeChecker", "assignmentInfo", "references", "results", "languageService", "getProgram", "files", "forEach", "file", "node", "isFunctionDeclaration", "getTypeOfSymbolAtLocation", "signature", "getSignaturesOfType", "name", "type", "parameters", "returnType", "findReferences", "isVariableStatement", "declaration", "symbol", "getSymbolAtLocation", "kind", "value", "initializer", "getTypeAtLocation", "extractParameters", "isStringLiteral", "valueType", "typeString", "isInterfaceDeclaration", "forEachChild", "visit", "typeToString", "localSymbols", "Set", "collectLocalSymbols", "param", "has", "parent", "isDeclaration", "text", "findRefs", "isExpressionStatement", "expr", "SyntaxKind", "EqualsToken", "isIdentifier", "right", "isAssignmentTarget", "isBinaryExpression", "operatorToken", "systemFiles", "fileMap", "allFiles", "system", "createSystem", "__dxlog_file", "_parser", "_expressionsAtom", "_valuesByCellIdAtom", "_valuesByNameAtom", "Atom", "_registry", "_notebook", "expressions", "cellExpressions", "Map", "id", "expr", "valuesByName", "evaluationOrder", "log", "cellId", "name", "cellSource", "rhs", "endsWith", "result", "eval", "valuesByCellId", "error", "source", "parsed", "parseExpression", "acc", "cell", "dependencyGraph", "topologicalSort", "visit", "node", "visited", "has", "deps", "dependencies", "nodes", "buildDependencyGraph", "nameToCellId", "references", "dependencyCellIds", "map", "ref", "graph", "__dxlog_file", "INCLUDE_BLUEPRINTS", "registry", "useContext", "RegistryContext", "db", "Obj", "notebook", "hasAttention", "useAttention", "attendableId", "invariant", "QueryBuilder", "cell", "cells", "type", "source", "target", "filter", "ast", "Query", "select", "graph", "view", "update", "Ref", "make", "newGraph", "c", "name", "query", "fromAst", "objects", "objectIds", "map", "obj", "id", "setQueryValues", "prev", "prompt", "prompts", "runPrompt", "input", "onResult", "result", "setPromptResults", "dxn", "queryValues", "evaluate", "handleExecPrompts", "findIndex", "to", "from", "splice", "crypto", "randomUUID", "getMeta", "blueprint", "undefined", "instructions", "blueprints", "idx", "asChild", "Toolbar", "disabled", "DropdownMenu", "Root", "IconButton", "icon", "iconOnly", "label", "onCellInsert", "handleCellInsert", "classNames", "onClick", "handleCompute", "NotebookStack", "env", "promptResults", "onRearrange", "onCellDelete", "onFailure", "cause", "error", "message", "log", "onSuccess"]
|
|
7
|
+
}
|
package/dist/lib/{browser/ScriptContainer-Z3MCPN2D.mjs → neutral/ScriptArticle-UBT27SB6.mjs}
RENAMED
|
@@ -1,29 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ScriptToolbar,
|
|
3
|
-
TypescriptEditor
|
|
4
|
-
} from "./chunk-4XJSGCAS.mjs";
|
|
5
|
-
import "./chunk-ATTZUDT7.mjs";
|
|
6
|
-
import {
|
|
7
|
-
useDeployState,
|
|
8
|
-
useToolbarState
|
|
9
|
-
} from "./chunk-DBEYGFVF.mjs";
|
|
10
|
-
import "./chunk-E6BQ4P6L.mjs";
|
|
11
|
-
import "./chunk-CMHREENI.mjs";
|
|
12
|
-
import "./chunk-NQJRENSK.mjs";
|
|
13
|
-
import "./chunk-QLFFA4Y4.mjs";
|
|
14
|
-
import "./chunk-37XPSUAH.mjs";
|
|
15
|
-
import "./chunk-BHRCZLLU.mjs";
|
|
16
1
|
import "./chunk-J5LGTIGS.mjs";
|
|
17
2
|
|
|
18
|
-
// src/containers/
|
|
3
|
+
// src/containers/ScriptArticle/ScriptArticle.tsx
|
|
19
4
|
import React, { useMemo } from "react";
|
|
20
5
|
import { Obj } from "@dxos/echo";
|
|
21
6
|
import { createDocAccessor } from "@dxos/echo-db";
|
|
22
7
|
import { getSpace } from "@dxos/react-client/echo";
|
|
23
8
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
24
9
|
import { Panel } from "@dxos/react-ui";
|
|
25
|
-
import { createDataExtensions, listener,
|
|
26
|
-
|
|
10
|
+
import { createDataExtensions, listener, editorClassNames } from "@dxos/ui-editor";
|
|
11
|
+
import { ScriptToolbar, TypescriptEditor } from "#components";
|
|
12
|
+
import { useDeployState, useToolbarState } from "#hooks";
|
|
13
|
+
var ScriptArticle = ({ role, attendableId, subject: script, settings = {
|
|
27
14
|
editorInputMode: "vscode"
|
|
28
15
|
}, env }) => {
|
|
29
16
|
const identity = useIdentity();
|
|
@@ -49,8 +36,8 @@ var ScriptContainer = ({ role, attendableId, subject: script, settings = {
|
|
|
49
36
|
listener({
|
|
50
37
|
onChange: ({ text }) => {
|
|
51
38
|
if (script.source.target?.content !== text) {
|
|
52
|
-
Obj.
|
|
53
|
-
|
|
39
|
+
Obj.update(script, (script2) => {
|
|
40
|
+
script2.changed = true;
|
|
54
41
|
});
|
|
55
42
|
}
|
|
56
43
|
}
|
|
@@ -77,7 +64,7 @@ var ScriptContainer = ({ role, attendableId, subject: script, settings = {
|
|
|
77
64
|
})), /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
78
65
|
asChild: true
|
|
79
66
|
}, /* @__PURE__ */ React.createElement(TypescriptEditor, {
|
|
80
|
-
classNames:
|
|
67
|
+
classNames: editorClassNames(role),
|
|
81
68
|
id: script.id,
|
|
82
69
|
env,
|
|
83
70
|
initialValue: script.source?.target?.content,
|
|
@@ -86,10 +73,7 @@ var ScriptContainer = ({ role, attendableId, subject: script, settings = {
|
|
|
86
73
|
toolbar: true
|
|
87
74
|
})));
|
|
88
75
|
};
|
|
89
|
-
|
|
90
|
-
// src/containers/ScriptContainer/index.ts
|
|
91
|
-
var ScriptContainer_default = ScriptContainer;
|
|
92
76
|
export {
|
|
93
|
-
|
|
77
|
+
ScriptArticle as default
|
|
94
78
|
};
|
|
95
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=ScriptArticle-UBT27SB6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/ScriptArticle/ScriptArticle.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Script } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Panel } from '@dxos/react-ui';\nimport { createDataExtensions, listener, editorClassNames } from '@dxos/ui-editor';\n\nimport { ScriptToolbar, TypescriptEditor, type TypescriptEditorProps } from '#components';\nimport { useDeployState, useToolbarState } from '#hooks';\nimport { type Settings } from '#types';\n\nexport type ScriptEditorProps = AppSurface.ObjectArticleProps<\n Script.Script,\n {\n settings?: Settings.Settings;\n } & Pick<TypescriptEditorProps, 'env'>\n>;\n\nexport const ScriptArticle = ({\n role,\n attendableId,\n subject: script,\n settings = { editorInputMode: 'vscode' },\n env,\n}: ScriptEditorProps) => {\n const identity = useIdentity();\n const space = getSpace(script);\n const state = useToolbarState();\n useDeployState({ script, state });\n\n const extensions = useMemo(() => {\n if (!script.source.target) {\n return [];\n }\n\n return [\n createDataExtensions({\n id: script.id,\n text: createDocAccessor(script.source.target, ['content']),\n messenger: space,\n identity,\n }),\n listener({\n onChange: ({ text }) => {\n if (script.source.target?.content !== text) {\n Obj.update(script, (script) => {\n script.changed = true;\n });\n }\n },\n }),\n ];\n }, [identity, space, script, script.source.target]);\n\n if (!extensions.length) {\n return null;\n }\n\n return (\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <ScriptToolbar script={script} attendableId={attendableId} state={state} role={role} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TypescriptEditor\n classNames={editorClassNames(role)}\n id={script.id}\n env={env}\n initialValue={script.source?.target?.content}\n extensions={extensions}\n inputMode={settings.editorInputMode}\n toolbar\n />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,WAAW;AACpB,SAASC,yBAAyB;AAClC,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,aAAa;AACtB,SAASC,sBAAsBC,UAAUC,wBAAwB;AAEjE,SAASC,eAAeC,wBAAoD;AAC5E,SAASC,gBAAgBC,uBAAuB;AAUzC,IAAMC,gBAAgB,CAAC,EAC5BC,MACAC,cACAC,SAASC,QACTC,WAAW;EAAEC,iBAAiB;AAAS,GACvCC,IAAG,MACe;AAClB,QAAMC,WAAWjB,YAAAA;AACjB,QAAMkB,QAAQnB,SAASc,MAAAA;AACvB,QAAMM,QAAQX,gBAAAA;AACdD,iBAAe;IAAEM;IAAQM;EAAM,CAAA;AAE/B,QAAMC,aAAaxB,QAAQ,MAAA;AACzB,QAAI,CAACiB,OAAOQ,OAAOC,QAAQ;AACzB,aAAO,CAAA;IACT;AAEA,WAAO;MACLpB,qBAAqB;QACnBqB,IAAIV,OAAOU;QACXC,MAAM1B,kBAAkBe,OAAOQ,OAAOC,QAAQ;UAAC;SAAU;QACzDG,WAAWP;QACXD;MACF,CAAA;MACAd,SAAS;QACPuB,UAAU,CAAC,EAAEF,KAAI,MAAE;AACjB,cAAIX,OAAOQ,OAAOC,QAAQK,YAAYH,MAAM;AAC1C3B,gBAAI+B,OAAOf,QAAQ,CAACA,YAAAA;AAClBA,cAAAA,QAAOgB,UAAU;YACnB,CAAA;UACF;QACF;MACF,CAAA;;EAEJ,GAAG;IAACZ;IAAUC;IAAOL;IAAQA,OAAOQ,OAAOC;GAAO;AAElD,MAAI,CAACF,WAAWU,QAAQ;AACtB,WAAO;EACT;AAEA,SACE,sBAAA,cAAC7B,MAAM8B,MAAI;IAACrB;KACV,sBAAA,cAACT,MAAM+B,SAAO;IAACC,SAAAA;KACb,sBAAA,cAAC5B,eAAAA;IAAcQ;IAAgBF;IAA4BQ;IAAcT;OAE3E,sBAAA,cAACT,MAAMiC,SAAO;IAACD,SAAAA;KACb,sBAAA,cAAC3B,kBAAAA;IACC6B,YAAY/B,iBAAiBM,IAAAA;IAC7Ba,IAAIV,OAAOU;IACXP;IACAoB,cAAcvB,OAAOQ,QAAQC,QAAQK;IACrCP;IACAiB,WAAWvB,SAASC;IACpBuB,SAAAA;;AAKV;",
|
|
6
|
+
"names": ["React", "useMemo", "Obj", "createDocAccessor", "getSpace", "useIdentity", "Panel", "createDataExtensions", "listener", "editorClassNames", "ScriptToolbar", "TypescriptEditor", "useDeployState", "useToolbarState", "ScriptArticle", "role", "attendableId", "subject", "script", "settings", "editorInputMode", "env", "identity", "space", "state", "extensions", "source", "target", "id", "text", "messenger", "onChange", "content", "update", "changed", "length", "Root", "Toolbar", "asChild", "Content", "classNames", "initialValue", "inputMode", "toolbar"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/ScriptPlugin.tsx
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { Script } from "@dxos/compute";
|
|
7
|
+
import { AppGraphBuilder, BlueprintDefinition, Compiler, CreateObject, OperationHandler, ReactSurface, ScriptSettings } from "#capabilities";
|
|
8
|
+
import { meta } from "#meta";
|
|
9
|
+
import { translations } from "#translations";
|
|
10
|
+
import { ScriptEvents } from "#types";
|
|
11
|
+
var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
12
|
+
activate: AppGraphBuilder
|
|
13
|
+
}), AppPlugin.addBlueprintDefinitionModule({
|
|
14
|
+
activate: BlueprintDefinition
|
|
15
|
+
}), AppPlugin.addCreateObjectModule({
|
|
16
|
+
activate: CreateObject
|
|
17
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
18
|
+
activate: OperationHandler
|
|
19
|
+
}), AppPlugin.addSchemaModule({
|
|
20
|
+
schema: [
|
|
21
|
+
Script.Script
|
|
22
|
+
]
|
|
23
|
+
}), AppPlugin.addSurfaceModule({
|
|
24
|
+
activate: ReactSurface
|
|
25
|
+
}), AppPlugin.addTranslationsModule({
|
|
26
|
+
translations
|
|
27
|
+
}), Plugin.addModule({
|
|
28
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
29
|
+
activate: ScriptSettings
|
|
30
|
+
}), Plugin.addModule({
|
|
31
|
+
activatesOn: ScriptEvents.SetupCompiler,
|
|
32
|
+
activate: Compiler
|
|
33
|
+
}), Plugin.make);
|
|
34
|
+
var ScriptPlugin_default = ScriptPlugin;
|
|
35
|
+
export {
|
|
36
|
+
ScriptPlugin,
|
|
37
|
+
ScriptPlugin_default as default
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=ScriptPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ScriptPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\n\nimport {\n AppGraphBuilder,\n BlueprintDefinition,\n Compiler,\n CreateObject,\n OperationHandler,\n ReactSurface,\n ScriptSettings,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { ScriptEvents } from '#types';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: ScriptSettings,\n }),\n Plugin.addModule({\n activatesOn: ScriptEvents.SetupCompiler,\n activate: Compiler,\n }),\n Plugin.make,\n);\n\nexport default ScriptPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,qBAAqBC,iBAAiB;AAC/C,SAASC,cAAc;AAEvB,SACEC,iBACAC,qBACAC,UACAC,cACAC,kBACAC,cACAC,sBACK;AACP,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,oBAAoB;AAEtB,IAAMC,eAAed,OAAOe,OAAOJ,IAAAA,EAAMK,KAC9Cd,UAAUe,kBAAkB;EAAEC,UAAUd;AAAgB,CAAA,GACxDF,UAAUiB,6BAA6B;EAAED,UAAUb;AAAoB,CAAA,GACvEH,UAAUkB,sBAAsB;EAAEF,UAAUX;AAAa,CAAA,GACzDL,UAAUmB,0BAA0B;EAAEH,UAAUV;AAAiB,CAAA,GACjEN,UAAUoB,gBAAgB;EAAEC,QAAQ;IAACpB,OAAOA;;AAAQ,CAAA,GACpDD,UAAUsB,iBAAiB;EAAEN,UAAUT;AAAa,CAAA,GACpDP,UAAUuB,sBAAsB;EAAEb;AAAa,CAAA,GAC/CZ,OAAO0B,UAAU;EACfC,aAAa1B,oBAAoB2B;EACjCV,UAAUR;AACZ,CAAA,GACAV,OAAO0B,UAAU;EACfC,aAAad,aAAagB;EAC1BX,UAAUZ;AACZ,CAAA,GACAN,OAAO8B,IAAI;AAGb,IAAA,uBAAehB;",
|
|
6
|
+
"names": ["Plugin", "AppActivationEvents", "AppPlugin", "Script", "AppGraphBuilder", "BlueprintDefinition", "Compiler", "CreateObject", "OperationHandler", "ReactSurface", "ScriptSettings", "meta", "translations", "ScriptEvents", "ScriptPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "addSurfaceModule", "addTranslationsModule", "addModule", "activatesOn", "SetupSettings", "SetupCompiler", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/ScriptPlugin.node.ts
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { Script } from "@dxos/compute";
|
|
7
|
+
import { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from "#capabilities";
|
|
8
|
+
import { meta } from "#meta";
|
|
9
|
+
var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
10
|
+
activate: AppGraphBuilder
|
|
11
|
+
}), AppPlugin.addBlueprintDefinitionModule({
|
|
12
|
+
activate: BlueprintDefinition
|
|
13
|
+
}), AppPlugin.addCreateObjectModule({
|
|
14
|
+
activate: CreateObject
|
|
15
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
16
|
+
activate: OperationHandler
|
|
17
|
+
}), AppPlugin.addSchemaModule({
|
|
18
|
+
schema: [
|
|
19
|
+
Script.Script
|
|
20
|
+
]
|
|
21
|
+
}), Plugin.make);
|
|
22
|
+
var ScriptPlugin_node_default = ScriptPlugin;
|
|
23
|
+
export {
|
|
24
|
+
ScriptPlugin,
|
|
25
|
+
ScriptPlugin_node_default as default
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=ScriptPlugin.node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ScriptPlugin.node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\n\nimport { AppGraphBuilder, BlueprintDefinition, CreateObject, OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n Plugin.make,\n);\n\nexport default ScriptPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AAEvB,SAASC,iBAAiBC,qBAAqBC,cAAcC,wBAAwB;AACrF,SAASC,YAAY;AAEd,IAAMC,eAAeR,OAAOS,OAAOF,IAAAA,EAAMG,KAC9CT,UAAUU,kBAAkB;EAAEC,UAAUT;AAAgB,CAAA,GACxDF,UAAUY,6BAA6B;EAAED,UAAUR;AAAoB,CAAA,GACvEH,UAAUa,sBAAsB;EAAEF,UAAUP;AAAa,CAAA,GACzDJ,UAAUc,0BAA0B;EAAEH,UAAUN;AAAiB,CAAA,GACjEL,UAAUe,gBAAgB;EAAEC,QAAQ;IAACf,OAAOA;;AAAQ,CAAA,GACpDF,OAAOkB,IAAI;AAGb,IAAA,4BAAeV;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "Script", "AppGraphBuilder", "BlueprintDefinition", "CreateObject", "OperationHandler", "meta", "ScriptPlugin", "define", "pipe", "addAppGraphModule", "activate", "addBlueprintDefinitionModule", "addCreateObjectModule", "addOperationHandlerModule", "addSchemaModule", "schema", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/ScriptPlugin.workerd.ts
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { Script } from "@dxos/compute";
|
|
7
|
+
import { OperationHandler } from "#capabilities";
|
|
8
|
+
import { meta } from "#meta";
|
|
9
|
+
var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addOperationHandlerModule({
|
|
10
|
+
activate: OperationHandler
|
|
11
|
+
}), AppPlugin.addSchemaModule({
|
|
12
|
+
schema: [
|
|
13
|
+
Script.Script
|
|
14
|
+
]
|
|
15
|
+
}), Plugin.make);
|
|
16
|
+
var ScriptPlugin_workerd_default = ScriptPlugin;
|
|
17
|
+
export {
|
|
18
|
+
ScriptPlugin,
|
|
19
|
+
ScriptPlugin_workerd_default as default
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=ScriptPlugin.workerd.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ScriptPlugin.workerd.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\n\nimport { OperationHandler } from '#capabilities';\nimport { meta } from '#meta';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n Plugin.make,\n);\n\nexport default ScriptPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AAEvB,SAASC,wBAAwB;AACjC,SAASC,YAAY;AAEd,IAAMC,eAAeL,OAAOM,OAAOF,IAAAA,EAAMG,KAC9CN,UAAUO,0BAA0B;EAAEC,UAAUN;AAAiB,CAAA,GACjEF,UAAUS,gBAAgB;EAAEC,QAAQ;IAACT,OAAOA;;AAAQ,CAAA,GACpDF,OAAOY,IAAI;AAGb,IAAA,+BAAeP;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "Script", "OperationHandler", "meta", "ScriptPlugin", "define", "pipe", "addOperationHandlerModule", "activate", "addSchemaModule", "schema", "make"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/components/ScriptPluginSettings/ScriptPluginSettings.tsx
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { Button, useTranslation } from "@dxos/react-ui";
|
|
6
|
+
import { Settings as SettingsForm } from "@dxos/react-ui-form";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { Settings } from "#types";
|
|
9
|
+
var ScriptPluginSettings = ({ settings, onSettingsChange, onAuthenticate }) => {
|
|
10
|
+
const { t } = useTranslation(meta.id);
|
|
11
|
+
return /* @__PURE__ */ React.createElement(SettingsForm.Viewport, null, /* @__PURE__ */ React.createElement(SettingsForm.Section, {
|
|
12
|
+
title: t("settings.title", {
|
|
13
|
+
ns: meta.id
|
|
14
|
+
})
|
|
15
|
+
}, /* @__PURE__ */ React.createElement(SettingsForm.Item, {
|
|
16
|
+
title: t("authenticate-action.label"),
|
|
17
|
+
description: t("authenticate-action.description")
|
|
18
|
+
}, /* @__PURE__ */ React.createElement(Button, {
|
|
19
|
+
disabled: !onSettingsChange,
|
|
20
|
+
onClick: onAuthenticate
|
|
21
|
+
}, t("authenticate-button.label"))), /* @__PURE__ */ React.createElement(SettingsForm.FieldSet, {
|
|
22
|
+
readonly: !onSettingsChange,
|
|
23
|
+
schema: Settings.Settings,
|
|
24
|
+
values: settings,
|
|
25
|
+
onValuesChanged: (values) => onSettingsChange?.(() => values)
|
|
26
|
+
})));
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
ScriptPluginSettings as default
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=ScriptPluginSettings-T4JMUSHN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ScriptPluginSettings/ScriptPluginSettings.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Button, useTranslation } from '@dxos/react-ui';\nimport { Settings as SettingsForm } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\nimport { Settings } from '#types';\n\nexport type ScriptPluginSettingsProps = AppSurface.SettingsArticleProps<\n Settings.Settings,\n {\n onAuthenticate?: () => void;\n }\n>;\n\nexport const ScriptPluginSettings = ({ settings, onSettingsChange, onAuthenticate }: ScriptPluginSettingsProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SettingsForm.Viewport>\n <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <SettingsForm.Item title={t('authenticate-action.label')} description={t('authenticate-action.description')}>\n <Button disabled={!onSettingsChange} onClick={onAuthenticate}>\n {t('authenticate-button.label')}\n </Button>\n </SettingsForm.Item>\n <SettingsForm.FieldSet\n readonly={!onSettingsChange}\n schema={Settings.Settings}\n values={settings}\n onValuesChanged={(values) => onSettingsChange?.(() => values)}\n />\n </SettingsForm.Section>\n </SettingsForm.Viewport>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,WAAW;AAGlB,SAASC,QAAQC,sBAAsB;AACvC,SAASC,YAAYC,oBAAoB;AAEzC,SAASC,YAAY;AACrB,SAASF,gBAAgB;AASlB,IAAMG,uBAAuB,CAAC,EAAEC,UAAUC,kBAAkBC,eAAc,MAA6B;AAC5G,QAAM,EAAEC,EAAC,IAAKR,eAAeG,KAAKM,EAAE;AAEpC,SACE,sBAAA,cAACP,aAAaQ,UAAQ,MACpB,sBAAA,cAACR,aAAaS,SAAO;IAACC,OAAOJ,EAAE,kBAAkB;MAAEK,IAAIV,KAAKM;IAAG,CAAA;KAE7D,sBAAA,cAACP,aAAaY,MAAI;IAACF,OAAOJ,EAAE,2BAAA;IAA8BO,aAAaP,EAAE,iCAAA;KACvE,sBAAA,cAACT,QAAAA;IAAOiB,UAAU,CAACV;IAAkBW,SAASV;KAC3CC,EAAE,2BAAA,CAAA,CAAA,GAGP,sBAAA,cAACN,aAAagB,UAAQ;IACpBC,UAAU,CAACb;IACXc,QAAQnB,SAASA;IACjBoB,QAAQhB;IACRiB,iBAAiB,CAACD,WAAWf,mBAAmB,MAAMe,MAAAA;;AAKhE;",
|
|
6
|
+
"names": ["React", "Button", "useTranslation", "Settings", "SettingsForm", "meta", "ScriptPluginSettings", "settings", "onSettingsChange", "onAuthenticate", "t", "id", "Viewport", "Section", "title", "ns", "Item", "description", "disabled", "onClick", "FieldSet", "readonly", "schema", "values", "onValuesChanged"]
|
|
7
|
+
}
|