@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
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/ScriptProperties/ScriptProperties.tsx
|
|
4
|
+
import React4 from "react";
|
|
5
|
+
|
|
6
|
+
// src/containers/ScriptProperties/BlueprintEditor.tsx
|
|
7
|
+
import React, { useCallback, useState } from "react";
|
|
8
|
+
import { ToolId } from "@dxos/ai";
|
|
9
|
+
import { Blueprint, Template } from "@dxos/compute";
|
|
10
|
+
import { Operation } from "@dxos/compute";
|
|
11
|
+
import { Filter, Obj, Ref } from "@dxos/echo";
|
|
12
|
+
import { useQuery } from "@dxos/react-client/echo";
|
|
13
|
+
import { Button, Input, useAsyncEffect, useTranslation } from "@dxos/react-ui";
|
|
14
|
+
import { Form } from "@dxos/react-ui-form";
|
|
15
|
+
import { kebabize } from "@dxos/util";
|
|
16
|
+
import { meta } from "#meta";
|
|
17
|
+
var BlueprintEditor = ({ object }) => {
|
|
18
|
+
const { t } = useTranslation(meta.id);
|
|
19
|
+
const db = Obj.getDatabase(object);
|
|
20
|
+
const [fn] = useQuery(db, Filter.type(Operation.PersistentOperation, {
|
|
21
|
+
source: Ref.make(object)
|
|
22
|
+
}));
|
|
23
|
+
const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));
|
|
24
|
+
const [creating, setCreating] = useState(false);
|
|
25
|
+
const [instructions, setInstructions] = useState(`You can run the script "${object.name ?? "script"}".`);
|
|
26
|
+
const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? "script")}`;
|
|
27
|
+
const existingBlueprint = blueprints.find((bp) => Obj.getMeta(bp).key === blueprintKey);
|
|
28
|
+
const fnKey = fn ? Obj.getMeta(fn).key : void 0;
|
|
29
|
+
useAsyncEffect(async () => {
|
|
30
|
+
if (!existingBlueprint) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const source = await existingBlueprint.instructions.source.load();
|
|
34
|
+
setInstructions(source.content ?? "");
|
|
35
|
+
}, [
|
|
36
|
+
existingBlueprint
|
|
37
|
+
]);
|
|
38
|
+
const handleSave = useCallback(async () => {
|
|
39
|
+
if (!db) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
setCreating(true);
|
|
43
|
+
try {
|
|
44
|
+
if (existingBlueprint) {
|
|
45
|
+
const text = await existingBlueprint.instructions.source.load();
|
|
46
|
+
Obj.update(text, (text2) => {
|
|
47
|
+
text2.content = instructions;
|
|
48
|
+
});
|
|
49
|
+
if (fnKey) {
|
|
50
|
+
const toolId = ToolId.make(fnKey);
|
|
51
|
+
if (!existingBlueprint.tools?.includes(toolId)) {
|
|
52
|
+
Obj.update(existingBlueprint, (existingBlueprint2) => {
|
|
53
|
+
existingBlueprint2.tools = [
|
|
54
|
+
...existingBlueprint2.tools ?? [],
|
|
55
|
+
toolId
|
|
56
|
+
];
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
} else if (fnKey) {
|
|
61
|
+
db.add(Blueprint.make({
|
|
62
|
+
key: blueprintKey,
|
|
63
|
+
name: object.name ?? "Script",
|
|
64
|
+
instructions: Template.make({
|
|
65
|
+
source: instructions
|
|
66
|
+
}),
|
|
67
|
+
tools: [
|
|
68
|
+
ToolId.make(fnKey)
|
|
69
|
+
]
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
await db.flush();
|
|
73
|
+
} finally {
|
|
74
|
+
setCreating(false);
|
|
75
|
+
}
|
|
76
|
+
}, [
|
|
77
|
+
db,
|
|
78
|
+
existingBlueprint,
|
|
79
|
+
fnKey,
|
|
80
|
+
blueprintKey,
|
|
81
|
+
object.name,
|
|
82
|
+
instructions
|
|
83
|
+
]);
|
|
84
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
85
|
+
className: "flex flex-col"
|
|
86
|
+
}, /* @__PURE__ */ React.createElement(Form.Section, {
|
|
87
|
+
label: t("blueprint-editor.label"),
|
|
88
|
+
description: t("blueprint-editor.description")
|
|
89
|
+
}), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, t("blueprint-instructions.label")), /* @__PURE__ */ React.createElement(Input.TextArea, {
|
|
90
|
+
placeholder: t("blueprint-instructions.placeholder"),
|
|
91
|
+
rows: 6,
|
|
92
|
+
value: instructions,
|
|
93
|
+
onChange: (event) => setInstructions(event.target.value),
|
|
94
|
+
classNames: "resize-y"
|
|
95
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
96
|
+
className: "pt-2"
|
|
97
|
+
}, /* @__PURE__ */ React.createElement(Button, {
|
|
98
|
+
disabled: !existingBlueprint && !fnKey || creating,
|
|
99
|
+
onClick: handleSave
|
|
100
|
+
}, t(existingBlueprint ? "update-blueprint.label" : "create-blueprint.label"))));
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
// src/containers/ScriptProperties/FunctionBinding.tsx
|
|
104
|
+
import React2, { useCallback as useCallback2 } from "react";
|
|
105
|
+
import { Operation as Operation2 } from "@dxos/compute";
|
|
106
|
+
import { Filter as Filter2, Obj as Obj2, Ref as Ref2 } from "@dxos/echo";
|
|
107
|
+
import { getUserFunctionIdInMetadata } from "@dxos/functions";
|
|
108
|
+
import { getInvocationUrl } from "@dxos/functions-runtime";
|
|
109
|
+
import { useClient } from "@dxos/react-client";
|
|
110
|
+
import { useQuery as useQuery2 } from "@dxos/react-client/echo";
|
|
111
|
+
import { Clipboard, Input as Input2, useControlledState, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
112
|
+
import { Form as Form2 } from "@dxos/react-ui-form";
|
|
113
|
+
import { meta as meta2 } from "#meta";
|
|
114
|
+
var FunctionBinding = ({ object }) => {
|
|
115
|
+
const { t } = useTranslation2(meta2.id);
|
|
116
|
+
const client = useClient();
|
|
117
|
+
const db = Obj2.getDatabase(object);
|
|
118
|
+
const [fn] = useQuery2(db, Filter2.type(Operation2.PersistentOperation, {
|
|
119
|
+
source: Ref2.make(object)
|
|
120
|
+
}));
|
|
121
|
+
const functionId = fn && getUserFunctionIdInMetadata(Obj2.getMeta(fn));
|
|
122
|
+
const functionUrl = functionId && getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? "", {
|
|
123
|
+
spaceId: db?.spaceId
|
|
124
|
+
});
|
|
125
|
+
const [binding, setBinding] = useControlledState(fn?.binding ?? "");
|
|
126
|
+
const handleBindingChange = useCallback2((event) => setBinding(event.target.value), [
|
|
127
|
+
setBinding
|
|
128
|
+
]);
|
|
129
|
+
const handleBindingBlur = useCallback2(() => {
|
|
130
|
+
if (fn) {
|
|
131
|
+
Obj2.update(fn, (fn2) => {
|
|
132
|
+
fn2.binding = binding;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}, [
|
|
136
|
+
fn,
|
|
137
|
+
binding
|
|
138
|
+
]);
|
|
139
|
+
if (!fn) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
143
|
+
className: "flex flex-col"
|
|
144
|
+
}, /* @__PURE__ */ React2.createElement(Form2.Section, {
|
|
145
|
+
label: t("remote-function-settings.heading")
|
|
146
|
+
}), functionUrl && /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.Label, null, t("function-url.label")), /* @__PURE__ */ React2.createElement(Input2.TextInput, {
|
|
147
|
+
disabled: true,
|
|
148
|
+
value: functionUrl,
|
|
149
|
+
onChange: (event) => {
|
|
150
|
+
Obj2.update(fn, (fn2) => {
|
|
151
|
+
fn2.name = event.target.value;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}), /* @__PURE__ */ React2.createElement(Clipboard.IconButton, {
|
|
155
|
+
value: functionUrl
|
|
156
|
+
})), /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.Label, null, t("function-binding.label")), /* @__PURE__ */ React2.createElement(Input2.TextInput, {
|
|
157
|
+
placeholder: t("function-binding.placeholder"),
|
|
158
|
+
value: binding,
|
|
159
|
+
onChange: handleBindingChange,
|
|
160
|
+
onBlur: handleBindingBlur
|
|
161
|
+
})));
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// src/containers/ScriptProperties/FunctionPublishing.tsx
|
|
165
|
+
import { Octokit } from "@octokit/core";
|
|
166
|
+
import React3, { useCallback as useCallback3, useState as useState2 } from "react";
|
|
167
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
168
|
+
import { SettingsOperation } from "@dxos/app-toolkit";
|
|
169
|
+
import { Filter as Filter3, Obj as Obj3 } from "@dxos/echo";
|
|
170
|
+
import { log } from "@dxos/log";
|
|
171
|
+
import { useQuery as useQuery3 } from "@dxos/react-client/echo";
|
|
172
|
+
import { Button as Button2, Clipboard as Clipboard2, Message, useAsyncEffect as useAsyncEffect2, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
173
|
+
import { Form as Form3 } from "@dxos/react-ui-form";
|
|
174
|
+
import { AccessToken } from "@dxos/types";
|
|
175
|
+
import { kebabize as kebabize2 } from "@dxos/util";
|
|
176
|
+
import { meta as meta3 } from "#meta";
|
|
177
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/containers/ScriptProperties/FunctionPublishing.tsx";
|
|
178
|
+
var FunctionPublishing = ({ object }) => {
|
|
179
|
+
const { t } = useTranslation3(meta3.id);
|
|
180
|
+
const { invokePromise } = useOperationInvoker();
|
|
181
|
+
const db = Obj3.getDatabase(object);
|
|
182
|
+
const [githubToken] = useQuery3(db, Filter3.type(AccessToken.AccessToken, {
|
|
183
|
+
source: "github.com"
|
|
184
|
+
}));
|
|
185
|
+
const gistKey = Obj3.getMeta(object).keys.find(({ source }) => source === "github.com");
|
|
186
|
+
const [gistUrl, setGistUrl] = useState2();
|
|
187
|
+
useAsyncEffect2(async () => {
|
|
188
|
+
const token = githubToken?.token;
|
|
189
|
+
const gistId = gistKey?.id;
|
|
190
|
+
if (!token || !gistId) {
|
|
191
|
+
setGistUrl(void 0);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
const octokit = new Octokit({
|
|
196
|
+
auth: githubToken.token
|
|
197
|
+
});
|
|
198
|
+
const response = await octokit.request("GET /gists/{gist_id}", {
|
|
199
|
+
gist_id: gistId
|
|
200
|
+
});
|
|
201
|
+
setGistUrl(response.data.html_url);
|
|
202
|
+
} catch (err) {
|
|
203
|
+
log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 42, S: void 0 });
|
|
204
|
+
setGistUrl(void 0);
|
|
205
|
+
}
|
|
206
|
+
}, [
|
|
207
|
+
githubToken,
|
|
208
|
+
gistKey
|
|
209
|
+
]);
|
|
210
|
+
const handleOpenTokenManager = useCallback3(() => invokePromise(SettingsOperation.Open, {
|
|
211
|
+
plugin: "org.dxos.plugin.token-manager"
|
|
212
|
+
}), [
|
|
213
|
+
invokePromise
|
|
214
|
+
]);
|
|
215
|
+
const [publishing, setPublishing] = useState2(false);
|
|
216
|
+
const handlePublish = useCallback3(async () => {
|
|
217
|
+
setPublishing(true);
|
|
218
|
+
const octokit = new Octokit({
|
|
219
|
+
auth: githubToken.token
|
|
220
|
+
});
|
|
221
|
+
const source = await object.source.load();
|
|
222
|
+
const filename = object.name ? kebabize2(object.name) : "composer-script";
|
|
223
|
+
const files = {
|
|
224
|
+
[`${filename}.ts`]: {
|
|
225
|
+
content: source.content
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
try {
|
|
229
|
+
const meta4 = Obj3.getMeta(object);
|
|
230
|
+
const githubKey = meta4.keys.find(({ source: source2 }) => source2 === "github.com");
|
|
231
|
+
const gistId = githubKey?.id;
|
|
232
|
+
if (gistId) {
|
|
233
|
+
await octokit.request("PATCH /gists/{gist_id}", {
|
|
234
|
+
gist_id: gistId,
|
|
235
|
+
files
|
|
236
|
+
});
|
|
237
|
+
} else {
|
|
238
|
+
const response = await octokit.request("POST /gists", {
|
|
239
|
+
public: true,
|
|
240
|
+
files
|
|
241
|
+
});
|
|
242
|
+
const gistId2 = response.data.id;
|
|
243
|
+
if (gistId2) {
|
|
244
|
+
Obj3.update(object, (object2) => {
|
|
245
|
+
Obj3.getMeta(object2).keys.push({
|
|
246
|
+
source: "github.com",
|
|
247
|
+
id: gistId2
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
} finally {
|
|
253
|
+
setPublishing(false);
|
|
254
|
+
}
|
|
255
|
+
}, [
|
|
256
|
+
object,
|
|
257
|
+
githubToken
|
|
258
|
+
]);
|
|
259
|
+
return /* @__PURE__ */ React3.createElement("div", {
|
|
260
|
+
className: "flex flex-col"
|
|
261
|
+
}, /* @__PURE__ */ React3.createElement(Form3.Section, {
|
|
262
|
+
label: t("script-publish-settings.label"),
|
|
263
|
+
description: t("script-publish-settings.description")
|
|
264
|
+
}), !githubToken && /* @__PURE__ */ React3.createElement("div", {
|
|
265
|
+
className: "flex flex-col py-form-gap"
|
|
266
|
+
}, /* @__PURE__ */ React3.createElement(Message.Root, {
|
|
267
|
+
valence: "info"
|
|
268
|
+
}, /* @__PURE__ */ React3.createElement(Message.Title, null, t("no-github-token.label"))), /* @__PURE__ */ React3.createElement("div", {
|
|
269
|
+
className: "flex pt-form-gap"
|
|
270
|
+
}, /* @__PURE__ */ React3.createElement(Button2, {
|
|
271
|
+
onClick: handleOpenTokenManager
|
|
272
|
+
}, t("open-token-manager.label")))), githubToken && /* @__PURE__ */ React3.createElement("div", {
|
|
273
|
+
className: "flex justify-end gap-2"
|
|
274
|
+
}, gistUrl && /* @__PURE__ */ React3.createElement(Clipboard2.IconButton, {
|
|
275
|
+
value: gistUrl
|
|
276
|
+
}), /* @__PURE__ */ React3.createElement(Button2, {
|
|
277
|
+
disabled: publishing,
|
|
278
|
+
onClick: handlePublish
|
|
279
|
+
}, t("publish.label"))));
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
// src/containers/ScriptProperties/ScriptProperties.tsx
|
|
283
|
+
var ScriptProperties = ({ subject: object }) => {
|
|
284
|
+
return /* @__PURE__ */ React4.createElement("div", {
|
|
285
|
+
className: "flex flex-col py-form-gap gap-form-section-gap"
|
|
286
|
+
}, /* @__PURE__ */ React4.createElement(FunctionBinding, {
|
|
287
|
+
object
|
|
288
|
+
}), /* @__PURE__ */ React4.createElement(BlueprintEditor, {
|
|
289
|
+
object
|
|
290
|
+
}), /* @__PURE__ */ React4.createElement(FunctionPublishing, {
|
|
291
|
+
object
|
|
292
|
+
}));
|
|
293
|
+
};
|
|
294
|
+
export {
|
|
295
|
+
ScriptProperties as default
|
|
296
|
+
};
|
|
297
|
+
//# sourceMappingURL=ScriptProperties-RLXNAN3N.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/ScriptProperties/ScriptProperties.tsx", "../../../src/containers/ScriptProperties/BlueprintEditor.tsx", "../../../src/containers/ScriptProperties/FunctionBinding.tsx", "../../../src/containers/ScriptProperties/FunctionPublishing.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type Script } from '@dxos/compute';\n\nimport { BlueprintEditor } from './BlueprintEditor';\nimport { FunctionBinding } from './FunctionBinding';\nimport { FunctionPublishing } from './FunctionPublishing';\n\nexport type ScriptPropertiesProps = AppSurface.ObjectPropertiesProps<Script.Script>;\n\nexport const ScriptProperties = ({ subject: object }: ScriptPropertiesProps) => {\n return (\n <div className='flex flex-col py-form-gap gap-form-section-gap'>\n <FunctionBinding object={object} />\n <BlueprintEditor object={object} />\n <FunctionPublishing object={object} />\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useState } from 'react';\n\nimport { ToolId } from '@dxos/ai';\nimport { Blueprint, Template } from '@dxos/compute';\nimport { type Script } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Ref } from '@dxos/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Button, Input, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { kebabize } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nexport type BlueprintEditorProps = { object: Script.Script };\n\nexport const BlueprintEditor = ({ object }: BlueprintEditorProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(object);\n const [fn] = useQuery(db, Filter.type(Operation.PersistentOperation, { source: Ref.make(object) }));\n const blueprints = useQuery(db, Filter.type(Blueprint.Blueprint));\n\n const [creating, setCreating] = useState(false);\n // TODO(burdon): Remove?\n const [instructions, setInstructions] = useState<string>(`You can run the script \"${object.name ?? 'script'}\".`);\n const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? 'script')}`;\n const existingBlueprint = blueprints.find((bp) => Obj.getMeta(bp).key === blueprintKey);\n const fnKey = fn ? Obj.getMeta(fn).key : undefined;\n\n useAsyncEffect(async () => {\n if (!existingBlueprint) {\n return;\n }\n\n const source = await existingBlueprint.instructions.source.load();\n setInstructions(source.content ?? '');\n }, [existingBlueprint]);\n\n const handleSave = useCallback(async () => {\n if (!db) {\n return;\n }\n\n setCreating(true);\n try {\n if (existingBlueprint) {\n const text = await existingBlueprint.instructions.source.load();\n Obj.update(text, (text) => {\n text.content = instructions;\n });\n\n if (fnKey) {\n const toolId = ToolId.make(fnKey);\n if (!existingBlueprint.tools?.includes(toolId)) {\n Obj.update(existingBlueprint, (existingBlueprint) => {\n existingBlueprint.tools = [...(existingBlueprint.tools ?? []), toolId];\n });\n }\n }\n } else if (fnKey) {\n db.add(\n Blueprint.make({\n key: blueprintKey,\n name: object.name ?? 'Script',\n instructions: Template.make({ source: instructions }),\n tools: [ToolId.make(fnKey)],\n }),\n );\n }\n await db.flush();\n } finally {\n setCreating(false);\n }\n }, [db, existingBlueprint, fnKey, blueprintKey, object.name, instructions]);\n\n return (\n <div className='flex flex-col'>\n <Form.Section label={t('blueprint-editor.label')} description={t('blueprint-editor.description')} />\n\n <Input.Root>\n <Input.Label>{t('blueprint-instructions.label')}</Input.Label>\n <Input.TextArea\n placeholder={t('blueprint-instructions.placeholder')}\n rows={6}\n value={instructions}\n onChange={(event) => setInstructions(event.target.value)}\n classNames='resize-y'\n />\n </Input.Root>\n\n <div className='pt-2'>\n <Button disabled={(!existingBlueprint && !fnKey) || creating} onClick={handleSave}>\n {t(existingBlueprint ? 'update-blueprint.label' : 'create-blueprint.label')}\n </Button>\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { type Script } from '@dxos/compute';\nimport { Operation } from '@dxos/compute';\nimport { Filter, Obj, Ref } from '@dxos/echo';\nimport { getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { useClient } from '@dxos/react-client';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\n\nimport { meta } from '#meta';\n\nexport type FunctionBindingProps = { object: Script.Script };\n\nexport const FunctionBinding = ({ object }: FunctionBindingProps) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const db = Obj.getDatabase(object);\n\n const [fn] = useQuery(db, Filter.type(Operation.PersistentOperation, { source: Ref.make(object) }));\n const functionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n const functionUrl =\n functionId &&\n getInvocationUrl(functionId, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: db?.spaceId,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => setBinding(event.target.value),\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n if (fn) {\n Obj.update(fn, (fn) => {\n fn.binding = binding;\n });\n }\n }, [fn, binding]);\n\n if (!fn) {\n return null;\n }\n\n return (\n <div className='flex flex-col'>\n <Form.Section label={t('remote-function-settings.heading')} />\n\n {functionUrl && (\n <Input.Root>\n <Input.Label>{t('function-url.label')}</Input.Label>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n Obj.update(fn, (fn) => {\n fn.name = event.target.value;\n });\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </Input.Root>\n )}\n\n <Input.Root>\n <Input.Label>{t('function-binding.label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function-binding.placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </Input.Root>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { SettingsOperation } from '@dxos/app-toolkit';\nimport { type Script } from '@dxos/compute';\nimport { Filter, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Message, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { AccessToken } from '@dxos/types';\nimport { kebabize } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nexport type FunctionPublishingProps = { object: Script.Script };\n\n// TODO(burdon): Move to separate tab?\nexport const FunctionPublishing = ({ object }: FunctionPublishingProps) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const db = Obj.getDatabase(object);\n\n const [githubToken] = useQuery(db, Filter.type(AccessToken.AccessToken, { source: 'github.com' }));\n const gistKey = Obj.getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useAsyncEffect(async () => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () =>\n invokePromise(SettingsOperation.Open, {\n plugin: 'org.dxos.plugin.token-manager',\n }),\n [invokePromise],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = Obj.getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n const gistId = response.data.id;\n if (gistId) {\n Obj.update(object, (object) => {\n Obj.getMeta(object).keys.push({ source: 'github.com', id: gistId });\n });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col'>\n <Form.Section label={t('script-publish-settings.label')} description={t('script-publish-settings.description')} />\n\n {!githubToken && (\n <div className='flex flex-col py-form-gap'>\n <Message.Root valence='info'>\n <Message.Title>{t('no-github-token.label')}</Message.Title>\n </Message.Root>\n <div className='flex pt-form-gap'>\n <Button onClick={handleOpenTokenManager}>{t('open-token-manager.label')}</Button>\n </div>\n </div>\n )}\n\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t('publish.label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "React", "useCallback", "useState", "ToolId", "Blueprint", "Template", "Operation", "Filter", "Obj", "Ref", "useQuery", "Button", "Input", "useAsyncEffect", "useTranslation", "Form", "kebabize", "meta", "BlueprintEditor", "object", "t", "id", "db", "getDatabase", "fn", "type", "PersistentOperation", "source", "make", "blueprints", "creating", "setCreating", "instructions", "setInstructions", "name", "blueprintKey", "existingBlueprint", "find", "bp", "getMeta", "key", "fnKey", "undefined", "load", "content", "handleSave", "text", "update", "toolId", "tools", "includes", "add", "flush", "div", "className", "Section", "label", "description", "Root", "Label", "TextArea", "placeholder", "rows", "value", "onChange", "event", "target", "classNames", "disabled", "onClick", "React", "useCallback", "Operation", "Filter", "Obj", "Ref", "getUserFunctionIdInMetadata", "getInvocationUrl", "useClient", "useQuery", "Clipboard", "Input", "useControlledState", "useTranslation", "Form", "meta", "FunctionBinding", "object", "t", "id", "client", "db", "getDatabase", "fn", "type", "PersistentOperation", "source", "make", "functionId", "getMeta", "functionUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "binding", "setBinding", "handleBindingChange", "event", "target", "value", "handleBindingBlur", "update", "div", "className", "Section", "label", "Root", "Label", "TextInput", "disabled", "onChange", "name", "IconButton", "placeholder", "onBlur", "Octokit", "React", "useCallback", "useState", "useOperationInvoker", "SettingsOperation", "Filter", "Obj", "log", "useQuery", "Button", "Clipboard", "Message", "useAsyncEffect", "useTranslation", "Form", "AccessToken", "kebabize", "meta", "invokePromise", "db", "object", "githubToken", "source", "gistKey", "token", "gistId", "setGistUrl", "undefined", "response", "err", "setPublishing", "files", "content", "githubKey", "id", "octokit", "gist_id", "getMeta", "Section", "label", "t", "className", "valence", "Title", "onClick", "handleOpenTokenManager", "gistUrl", "IconButton", "value", "disabled", "handlePublish", "ScriptProperties", "subject", "object", "React", "div", "className", "FunctionBinding", "BlueprintEditor", "FunctionPublishing"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/TestContainer/TestContainer.tsx
|
|
4
|
+
import React, { useCallback, useMemo } from "react";
|
|
5
|
+
import { Context } from "@dxos/context";
|
|
6
|
+
import { Obj } from "@dxos/echo";
|
|
7
|
+
import { FunctionsServiceClient } from "@dxos/functions-runtime/edge";
|
|
8
|
+
import { Panel } from "@dxos/react-ui";
|
|
9
|
+
import { TestPanel } from "#components";
|
|
10
|
+
import { useDeployDeps } from "#hooks";
|
|
11
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/containers/TestContainer/TestContainer.tsx";
|
|
12
|
+
var TestContainer = ({ role, script }) => {
|
|
13
|
+
const { client, fn, existingFunctionId } = useDeployDeps({
|
|
14
|
+
script
|
|
15
|
+
});
|
|
16
|
+
const spaceId = Obj.getDatabase(script)?.spaceId;
|
|
17
|
+
const functionsClient = useMemo(() => FunctionsServiceClient.fromClient(client), [
|
|
18
|
+
client
|
|
19
|
+
]);
|
|
20
|
+
const handleInvoke = useCallback(async (input) => {
|
|
21
|
+
if (!fn) {
|
|
22
|
+
throw new Error("Function not deployed");
|
|
23
|
+
}
|
|
24
|
+
return functionsClient.invoke(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 23 }), fn, input, {
|
|
25
|
+
spaceId
|
|
26
|
+
});
|
|
27
|
+
}, [
|
|
28
|
+
fn,
|
|
29
|
+
functionsClient,
|
|
30
|
+
spaceId
|
|
31
|
+
]);
|
|
32
|
+
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
33
|
+
role,
|
|
34
|
+
className: "dx-document"
|
|
35
|
+
}, /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
36
|
+
asChild: true
|
|
37
|
+
}, /* @__PURE__ */ React.createElement(TestPanel, {
|
|
38
|
+
onInvoke: existingFunctionId ? handleInvoke : void 0
|
|
39
|
+
})));
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
TestContainer as default
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=TestContainer-AFVTBYSJ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/TestContainer/TestContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type Script } from '@dxos/compute';\nimport { Context } from '@dxos/context';\nimport { Obj } from '@dxos/echo';\nimport { FunctionsServiceClient } from '@dxos/functions-runtime/edge';\nimport { Panel } from '@dxos/react-ui';\n\nimport { TestPanel } from '#components';\nimport { useDeployDeps } from '#hooks';\n\nexport type TestContainerProps = {\n role: string;\n script: Script.Script;\n};\n\nexport const TestContainer = ({ role, script }: TestContainerProps) => {\n const { client, fn, existingFunctionId } = useDeployDeps({ script });\n const spaceId = Obj.getDatabase(script)?.spaceId;\n\n const functionsClient = useMemo(() => FunctionsServiceClient.fromClient(client), [client]);\n\n const handleInvoke = useCallback(\n async (input: unknown) => {\n if (!fn) {\n throw new Error('Function not deployed');\n }\n return functionsClient.invoke(Context.default(), fn, input, { spaceId });\n },\n [fn, functionsClient, spaceId],\n );\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Content asChild>\n <TestPanel onInvoke={existingFunctionId ? handleInvoke : undefined} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,SAASC,aAAaC,eAAe;AAG5C,SAASC,eAAe;AACxB,SAASC,WAAW;AACpB,SAASC,8BAA8B;AACvC,SAASC,aAAa;AAEtB,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAO9B,IAAA,eAAaC;IACgDC,gBAAAA,CAAAA,EAAAA,MAAAA,OAAAA,MAAAA;AAAO,QAAA,EAAA,QAAA,IAAA,mBAAA,IAAA,cAAA;IAClE;EAEA,CAAA;QAAkFC,UAAAA,IAAAA,YAAAA,MAAAA,GAAAA;QAAO,kBAAA,QAAA,MAAA,uBAAA,WAAA,MAAA,GAAA;IAEzF;;uBAGgBC,YAAM,OAAA,UAAA;AAClB,QAAA,CAAA,IAAA;AACA,YAAOC,IAAAA,MAAAA,uBAA+BC;;AAAgC,WAAA,gBAAA,OAAA,QAAA,QAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,GAAA,CAAA,GAAA,IAAA,OAAA;MAExE;IAACC,CAAAA;;IAAqBC;IAAQ;IAGhC;;SACoC,sBAAA,cAAA,MAAA,MAAA;;IACjBC,WAAAA;KACb,sBAAA,cAACV,MAAAA,SAAAA;IAAUW,SAAAA;;IAIjB,UAAA,qBAAA,eAAA;;;",
|
|
6
|
+
"names": ["React", "useCallback", "useMemo", "Context", "Obj", "FunctionsServiceClient", "Panel", "TestPanel", "useDeployDeps", "TestContainer", "script", "client", "Error", "functionsClient", "default", "fn", "spaceId", "asChild", "onInvoke"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/app-graph-builder.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities, AppNode } from "@dxos/app-toolkit";
|
|
7
|
+
import { Script } from "@dxos/compute";
|
|
8
|
+
import { GraphBuilder } from "@dxos/plugin-graph";
|
|
9
|
+
import { meta } from "#meta";
|
|
10
|
+
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
11
|
+
const extensions = yield* Effect.all([
|
|
12
|
+
GraphBuilder.createTypeExtension({
|
|
13
|
+
id: "execute",
|
|
14
|
+
type: Script.Script,
|
|
15
|
+
connector: () => Effect.succeed([
|
|
16
|
+
AppNode.makeCompanion({
|
|
17
|
+
id: "execute",
|
|
18
|
+
label: [
|
|
19
|
+
"script-test.label",
|
|
20
|
+
{
|
|
21
|
+
ns: meta.id
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
icon: "ph--terminal--regular",
|
|
25
|
+
data: "execute"
|
|
26
|
+
})
|
|
27
|
+
])
|
|
28
|
+
}),
|
|
29
|
+
GraphBuilder.createTypeExtension({
|
|
30
|
+
id: "logs",
|
|
31
|
+
type: Script.Script,
|
|
32
|
+
connector: () => Effect.succeed([
|
|
33
|
+
AppNode.makeCompanion({
|
|
34
|
+
id: "logs",
|
|
35
|
+
label: [
|
|
36
|
+
"script-logs.label",
|
|
37
|
+
{
|
|
38
|
+
ns: meta.id
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
icon: "ph--clock-countdown--regular",
|
|
42
|
+
data: "logs"
|
|
43
|
+
})
|
|
44
|
+
])
|
|
45
|
+
})
|
|
46
|
+
]);
|
|
47
|
+
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
48
|
+
}));
|
|
49
|
+
export {
|
|
50
|
+
app_graph_builder_default as default
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=app-graph-builder-7AWFCEQF.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode } from '@dxos/app-toolkit';\nimport { Script } from '@dxos/compute';\nimport { GraphBuilder } from '@dxos/plugin-graph';\n\nimport { meta } from '#meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'execute',\n type: Script.Script,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'execute',\n label: ['script-test.label', { ns: meta.id }],\n icon: 'ph--terminal--regular',\n data: 'execute',\n }),\n ]),\n }),\n GraphBuilder.createTypeExtension({\n id: 'logs',\n type: Script.Script,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'logs',\n label: ['script-logs.label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n data: 'logs',\n }),\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiBC,eAAe;AACzC,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAE7B,SAASC,YAAY;AAErB,IAAA,4BAAeL,WAAWM,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCL,aAAaM,oBAAoB;MAC/BC,IAAI;MACJC,MAAMT,OAAOA;MACbU,WAAW,MACFC,eAAQ;QACbZ,QAAQa,cAAc;UACpBJ,IAAI;UACJK,OAAO;YAAC;YAAqB;cAAEC,IAAIZ,KAAKM;YAAG;;UAC3CO,MAAM;UACNC,MAAM;QACR,CAAA;OACD;IACL,CAAA;IACAf,aAAaM,oBAAoB;MAC/BC,IAAI;MACJC,MAAMT,OAAOA;MACbU,WAAW,MACFC,eAAQ;QACbZ,QAAQa,cAAc;UACpBJ,IAAI;UACJK,OAAO;YAAC;YAAqB;cAAEC,IAAIZ,KAAKM;YAAG;;UAC3CO,MAAM;UACNC,MAAM;QACR,CAAA;OACD;IACL,CAAA;GACD;AAED,SAAOnB,WAAWoB,YAAYnB,gBAAgBoB,iBAAiBb,UAAAA;AACjE,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "AppNode", "Script", "GraphBuilder", "meta", "makeModule", "fnUntraced", "extensions", "all", "createTypeExtension", "id", "type", "connector", "succeed", "makeCompanion", "label", "ns", "icon", "data", "contributes", "AppGraphBuilder"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/blueprint-definition.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { ScriptBlueprint } from "#blueprints";
|
|
8
|
+
var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
|
|
9
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, ScriptBlueprint)
|
|
10
|
+
]));
|
|
11
|
+
var blueprint_definition_default = blueprintDefinition;
|
|
12
|
+
export {
|
|
13
|
+
blueprint_definition_default as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=blueprint-definition-T33SBPP2.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { ScriptBlueprint } from '#blueprints';\n\nconst blueprintDefinition = Capability.makeModule<\n [],\n Capability.Capability<typeof AppCapabilities.BlueprintDefinition>[]\n>(() => Effect.succeed([Capability.contributes(AppCapabilities.BlueprintDefinition, ScriptBlueprint)]));\n\nexport default blueprintDefinition;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,SAASC,uBAAuB;AAEhC,IAAMC,sBAAsBH,WAAWI,WAGrC,MAAaC,eAAQ;EAACL,WAAWM,YAAYL,gBAAgBM,qBAAqBL,eAAAA;CAAiB,CAAA;AAErG,IAAA,+BAAeC;",
|
|
6
|
+
"names": ["Effect", "Capability", "AppCapabilities", "ScriptBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
script_blueprint_default
|
|
3
|
+
} from "../chunk-BDHDBPVM.mjs";
|
|
4
|
+
import "../chunk-NQOIENTU.mjs";
|
|
5
|
+
import "../chunk-TRKXIP2Q.mjs";
|
|
6
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
7
|
+
export {
|
|
8
|
+
script_blueprint_default as ScriptBlueprint
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-7AWFCEQF.mjs"));
|
|
6
|
+
var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-T33SBPP2.mjs"));
|
|
7
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-FZM5ASWM.mjs"));
|
|
8
|
+
var Compiler = Capability.lazy("Compiler", () => import("../compiler-ODK4UA2N.mjs"));
|
|
9
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-X44IGZXS.mjs"));
|
|
10
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-ACNZ35FV.mjs"));
|
|
11
|
+
var ScriptSettings = Capability.lazy("ScriptSettings", () => import("../settings-VJBW4OMK.mjs"));
|
|
12
|
+
export {
|
|
13
|
+
AppGraphBuilder,
|
|
14
|
+
BlueprintDefinition,
|
|
15
|
+
Compiler,
|
|
16
|
+
CreateObject,
|
|
17
|
+
OperationHandler,
|
|
18
|
+
ReactSurface,
|
|
19
|
+
ScriptSettings
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const Compiler = Capability.lazy('Compiler', () => import('./compiler'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const ScriptSettings = Capability.lazy('ScriptSettings', () => import('./settings'));\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,sBAAsBH,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAME,eAAeJ,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMG,WAAWL,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMI,mBAAmBN,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;AAER,IAAMK,eAAeP,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMM,iBAAiBR,WAAWE,KAAK,kBAAkB,MAAM,OAAO,0BAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "AppGraphBuilder", "lazy", "BlueprintDefinition", "CreateObject", "Compiler", "OperationHandler", "ReactSurface", "ScriptSettings"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/node.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-7AWFCEQF.mjs"));
|
|
6
|
+
var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-T33SBPP2.mjs"));
|
|
7
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-FZM5ASWM.mjs"));
|
|
8
|
+
var Compiler = Capability.lazy("Compiler", () => import("../compiler-ODK4UA2N.mjs"));
|
|
9
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-X44IGZXS.mjs"));
|
|
10
|
+
export {
|
|
11
|
+
AppGraphBuilder,
|
|
12
|
+
BlueprintDefinition,
|
|
13
|
+
Compiler,
|
|
14
|
+
CreateObject,
|
|
15
|
+
OperationHandler
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=node.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/capabilities/node.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint, OperationHandlerSet } from '@dxos/compute';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const Compiler = Capability.lazy('Compiler', () => import('./compiler'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,kBAAkB;AAIpB,IAAMC,kBAAkBD,WAAWE,KAAK,mBAAmB,MAAM,OAAO,mCAAA,CAAA;AACxE,IAAMC,sBAAsBH,WAAWE,KAAK,uBAAuB,MAAM,OAAO,sCAAA,CAAA;AAChF,IAAME,eAAeJ,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMG,WAAWL,WAAWE,KAAK,YAAY,MAAM,OAAO,0BAAA,CAAA;AAC1D,IAAMI,mBAAmBN,WAAWE,KACzC,oBACA,MAAM,OAAO,mCAAA,CAAA;",
|
|
6
|
+
"names": ["Capability", "AppGraphBuilder", "lazy", "BlueprintDefinition", "CreateObject", "Compiler", "OperationHandler"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// src/compiler/compiler.ts
|
|
2
|
+
import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
|
|
3
|
+
import ts from "typescript";
|
|
4
|
+
import { invariant } from "@dxos/invariant";
|
|
5
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
|
|
6
|
+
var GLOBALS = "globals.d.ts";
|
|
7
|
+
var CDN_TS_VERSION = "5.6.3";
|
|
8
|
+
var defaultOptions = {
|
|
9
|
+
lib: [
|
|
10
|
+
"DOM",
|
|
11
|
+
"es2022"
|
|
12
|
+
],
|
|
13
|
+
target: ts.ScriptTarget.ES2022,
|
|
14
|
+
// Override `@typescript/vfs`'s default of `NodeJs` (== deprecated `node10`).
|
|
15
|
+
// TypeScript 6 throws on that as a `getCompilerOptionsDiagnostics()` error,
|
|
16
|
+
// which surfaces as an unhandled rejection inside the storybook task.
|
|
17
|
+
moduleResolution: ts.ModuleResolutionKind.Bundler
|
|
18
|
+
};
|
|
19
|
+
var Compiler = class {
|
|
20
|
+
_options;
|
|
21
|
+
_env;
|
|
22
|
+
_fsMap;
|
|
23
|
+
constructor(_options = defaultOptions) {
|
|
24
|
+
this._options = _options;
|
|
25
|
+
}
|
|
26
|
+
async initialize(globals) {
|
|
27
|
+
if (this._env) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this._fsMap = await createDefaultMapFromCDN(this._options, CDN_TS_VERSION, true, ts);
|
|
31
|
+
if (globals) {
|
|
32
|
+
this._fsMap.set(GLOBALS, globals);
|
|
33
|
+
}
|
|
34
|
+
const rootFiles = globals ? [
|
|
35
|
+
GLOBALS
|
|
36
|
+
] : [];
|
|
37
|
+
const system = createSystem(this._fsMap);
|
|
38
|
+
this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);
|
|
39
|
+
}
|
|
40
|
+
get environment() {
|
|
41
|
+
invariant(this._env, "Compiler environment not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 48, S: this, A: ["this._env", "'Compiler environment not initialized.'"] });
|
|
42
|
+
return this._env;
|
|
43
|
+
}
|
|
44
|
+
setFile(fileName, content) {
|
|
45
|
+
invariant(this._fsMap, "File system map not initialized.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 52, S: this, A: ["this._fsMap", "'File system map not initialized.'"] });
|
|
46
|
+
this.environment.createFile(fileName, content);
|
|
47
|
+
}
|
|
48
|
+
compile(fileName) {
|
|
49
|
+
return this.environment.languageService.getEmitOutput(fileName);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export {
|
|
54
|
+
Compiler
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=chunk-2REUEDUA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/compiler/compiler.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type VirtualTypeScriptEnvironment,\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst GLOBALS = 'globals.d.ts';\n\n/** TS version hosted on playgroundcdn.typescriptlang.org used to fetch lib .d.ts files.\n * Pinned to 5.6.3 because 5.7+ removed lib.es2022.sharedmemory.d.ts from the CDN.\n * The remaining 404s (lib.core.d.ts, lib.core.es6/7.d.ts, lib.es7.d.ts) are phantom\n * entries in @typescript/vfs's hardcoded file list and are harmlessly caught.\n */\nconst CDN_TS_VERSION = '5.6.3';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n // Override `@typescript/vfs`'s default of `NodeJs` (== deprecated `node10`).\n // TypeScript 6 throws on that as a `getCompilerOptionsDiagnostics()` error,\n // which surfaces as an unhandled rejection inside the storybook task.\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(globals?: string): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, CDN_TS_VERSION, true, ts);\n if (globals) {\n this._fsMap.set(GLOBALS, globals);\n }\n\n const rootFiles = globals ? [GLOBALS] : [];\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, rootFiles, ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAIA,SAEEA,yBACAC,cACAC,0CACK;AACP,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;AAE1B,IAAA,eAAgB;;AAUdC,IAAK,iBAAA;qBAAC;OAAO;IAAS;IACtBC;EACA;EACA,QAAA,GAAA,aAAA;;;;EAKF,kBAAaC,GAAAA,qBAAAA;;AACHC,IAA+C,WAA/CA,MAA+C;EAC/CC;EAER;;EAA6E,YAAA,WAAA,gBAAA;AAE7E,SAAMC,WAAWC;;mBAEb,SAAA;AACF,QAAA,KAAA,MAAA;AAEA;IACA;SAGE,SAAKF,MAAWG,wBAASD,KAAAA,UAAAA,gBAAAA,MAAAA,EAAAA;AAC3B,QAAA,SAAA;AAEA,WAAME,OAAAA,IAAYF,SAAU,OAAA;;UAAc,YAAA,UAAA;MAC1C;IACA,IAAI,CAACH;AACP,UAAA,SAAA,aAAA,KAAA,MAAA;AAEIM,SAAAA,OAAAA,mCAAc,QAAA,WAAA,IAAA,KAAA,QAAA;;MAEhB,cAAYN;AACd,cAAA,KAAA,MAAA,yCAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,aAAA,yCAAA,EAAA,CAAA;AAEAO,WAAQC,KAAgB;;UAElB,UAACF,SAAYG;AACnB,cAAA,KAAA,QAAA,oCAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,eAAA,oCAAA,EAAA,CAAA;AAEAC,SAAQF,YAAiC,WAAA,UAAA,OAAA;;EAEzC,QAAA,UAAA;AACF,WAAA,KAAA,YAAA,gBAAA,cAAA,QAAA;;;",
|
|
6
|
+
"names": ["createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "lib", "target", "Compiler", "_env", "_fsMap", "initialize", "globals", "GLOBALS", "rootFiles", "environment", "setFile", "fileName", "createFile", "compile"]
|
|
7
|
+
}
|