@dxos/plugin-script 0.8.4-main.abd8ff62ef → 0.8.4-main.bc2380dfbc
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/NotebookContainer-RO4NJRYH.mjs → neutral/NotebookArticle-3TE4WBZC.mjs} +13 -10
- package/dist/lib/neutral/NotebookArticle-3TE4WBZC.mjs.map +7 -0
- package/dist/lib/{browser/ScriptContainer-2OPBAXFB.mjs → neutral/ScriptArticle-UBT27SB6.mjs} +4 -4
- package/dist/lib/{browser/ScriptContainer-2OPBAXFB.mjs.map → neutral/ScriptArticle-UBT27SB6.mjs.map} +4 -4
- 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/{browser/ScriptProperties-NRXG4PBX.mjs → neutral/ScriptProperties-RLXNAN3N.mjs} +9 -16
- package/dist/lib/neutral/ScriptProperties-RLXNAN3N.mjs.map +7 -0
- package/dist/lib/{browser/TestContainer-JNFPLAJX.mjs → neutral/TestContainer-AFVTBYSJ.mjs} +5 -5
- package/dist/lib/neutral/TestContainer-AFVTBYSJ.mjs.map +7 -0
- package/dist/lib/{browser/access-token-created-MSWZWZCT.mjs → neutral/access-token-created-XNDXOZ2U.mjs} +6 -9
- package/dist/lib/neutral/access-token-created-XNDXOZ2U.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/{browser/chunk-NSAF3763.mjs → neutral/chunk-A4LRH25S.mjs} +3 -3
- package/dist/lib/neutral/chunk-A4LRH25S.mjs.map +7 -0
- package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-BDRB6ZX2.mjs} +4 -10
- 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-LYPVNW4K.mjs +8 -0
- package/dist/lib/neutral/chunk-LYPVNW4K.mjs.map +7 -0
- package/dist/lib/neutral/chunk-P2F3STZN.mjs +8 -0
- package/dist/lib/neutral/chunk-P2F3STZN.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/neutral/chunk-UYR3YH4Q.mjs +31 -0
- package/dist/lib/neutral/chunk-UYR3YH4Q.mjs.map +7 -0
- package/dist/lib/{browser/index.mjs → neutral/chunk-VXDJH6OL.mjs} +20 -63
- 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 +721 -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/{browser/create-JDXWBARB.mjs → neutral/create-ZUHIXCBS.mjs} +4 -2
- package/dist/lib/{browser/create-JDXWBARB.mjs.map → neutral/create-ZUHIXCBS.mjs.map} +3 -3
- 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-Q7B3CFAP.mjs → neutral/create-script-H5S4AO47.mjs} +5 -5
- package/dist/lib/neutral/create-script-H5S4AO47.mjs.map +7 -0
- package/dist/lib/{browser/deploy-CXVW54JJ.mjs → neutral/deploy-M73G7HMP.mjs} +4 -3
- package/dist/lib/{browser/deploy-CXVW54JJ.mjs.map → neutral/deploy-M73G7HMP.mjs.map} +3 -3
- 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/{browser/inspect-invocations-LEOEP5I2.mjs → neutral/inspect-invocations-UO27IPCL.mjs} +3 -3
- package/dist/lib/{browser/inspect-invocations-LEOEP5I2.mjs.map → neutral/inspect-invocations-UO27IPCL.mjs.map} +2 -2
- package/dist/lib/{browser/install-function-5N24Q45W.mjs → neutral/install-function-MSWSC244.mjs} +5 -7
- package/dist/lib/neutral/install-function-MSWSC244.mjs.map +7 -0
- package/dist/lib/{browser/invoke-5QVEZ3X5.mjs → neutral/invoke-V6XYXKLD.mjs} +6 -7
- 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/{browser/query-deployed-functions-FVD7NYPA.mjs → neutral/query-deployed-functions-4MMKQ6BR.mjs} +13 -9
- package/dist/lib/neutral/query-deployed-functions-4MMKQ6BR.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-ZMU2CRJ7.mjs +117 -0
- package/dist/lib/neutral/react-surface-ZMU2CRJ7.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 +1 -1
- package/dist/lib/neutral/types/index.mjs +17 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/ScriptPlugin.node.d.ts.map +1 -1
- 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/definitions.d.ts +0 -12
- package/dist/types/src/blueprints/functions/definitions.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/delete.d.ts +0 -2
- package/dist/types/src/blueprints/functions/deploy.d.ts +0 -2
- package/dist/types/src/blueprints/functions/inspect-invocations.d.ts +0 -2
- package/dist/types/src/blueprints/functions/invoke.d.ts +2 -4
- package/dist/types/src/blueprints/functions/invoke.d.ts.map +1 -1
- package/dist/types/src/blueprints/functions/read.d.ts +0 -2
- package/dist/types/src/blueprints/functions/update.d.ts +0 -2
- 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 +11 -0
- 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/compiler/compiler.d.ts.map +1 -1
- package/dist/types/src/components/QueryEditor/QueryEditor.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/{ScriptContainer → NotebookArticle}/index.d.ts.map +1 -1
- package/dist/types/src/containers/{ScriptContainer/ScriptContainer.d.ts → ScriptArticle/ScriptArticle.d.ts} +2 -2
- package/dist/types/src/containers/ScriptArticle/ScriptArticle.d.ts.map +1 -0
- package/dist/types/src/containers/{ScriptContainer/ScriptContainer.stories.d.ts → ScriptArticle/ScriptArticle.stories.d.ts} +1 -1
- 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.map +1 -1
- package/dist/types/src/containers/ScriptProperties/ScriptProperties.stories.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +2 -2
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/hooks/deploy.d.ts +0 -2
- package/dist/types/src/hooks/deploy.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/operations/access-token-created.d.ts +1 -1
- package/dist/types/src/operations/access-token-created.d.ts.map +1 -1
- package/dist/types/src/operations/create-script.d.ts +2 -2
- package/dist/types/src/operations/create-script.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +0 -1
- 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/chess-bot.d.ts +3 -9
- package/dist/types/src/templates/chess-bot.d.ts.map +1 -1
- package/dist/types/src/templates/commentary.d.ts +3 -9
- package/dist/types/src/templates/commentary.d.ts.map +1 -1
- package/dist/types/src/testing/test-script.d.ts.map +1 -1
- package/dist/types/src/types/Notebook.d.ts +13 -11
- 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/{operations/definitions.d.ts → types/ScriptOperation.d.ts} +1 -1
- package/dist/types/src/types/ScriptOperation.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/tsconfig.tsbuildinfo +1 -1
- package/package.json +141 -111
- package/src/ScriptPlugin.node.ts +3 -52
- package/src/ScriptPlugin.test.ts +3 -3
- package/src/ScriptPlugin.tsx +2 -51
- package/src/ScriptPlugin.workerd.ts +18 -0
- package/src/blueprints/functions/create.ts +1 -1
- package/src/blueprints/functions/deploy.ts +2 -1
- package/src/blueprints/functions/inspect-invocations.ts +2 -2
- package/src/blueprints/functions/install-function.ts +4 -4
- package/src/blueprints/functions/invoke.ts +4 -5
- package/src/blueprints/functions/query-deployed-functions.ts +11 -7
- package/src/capabilities/artifact-definition.ts +2 -2
- package/src/capabilities/create-object.ts +48 -0
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/node.ts +16 -0
- package/src/capabilities/react-surface.tsx +5 -5
- package/src/compiler/compiler.ts +4 -0
- package/src/components/NotebookStack/NotebookStack.stories.tsx +2 -2
- package/src/components/QueryEditor/QueryEditor.stories.tsx +1 -1
- package/src/components/QueryEditor/QueryEditor.tsx +3 -1
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +1 -1
- package/src/containers/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
- package/src/containers/{NotebookContainer/NotebookContainer.stories.tsx → NotebookArticle/NotebookArticle.stories.tsx} +11 -11
- package/src/containers/{NotebookContainer/NotebookContainer.tsx → NotebookArticle/NotebookArticle.tsx} +7 -7
- package/src/containers/NotebookArticle/index.ts +5 -0
- package/src/containers/{ScriptContainer/ScriptContainer.stories.tsx → ScriptArticle/ScriptArticle.stories.tsx} +7 -6
- package/src/containers/{ScriptContainer/ScriptContainer.tsx → ScriptArticle/ScriptArticle.tsx} +1 -1
- package/src/containers/ScriptArticle/index.ts +5 -0
- package/src/containers/ScriptProperties/BlueprintEditor.tsx +10 -9
- package/src/containers/ScriptProperties/FunctionBinding.tsx +1 -1
- package/src/containers/ScriptProperties/FunctionPublishing.tsx +4 -4
- package/src/containers/ScriptProperties/ScriptProperties.stories.tsx +3 -2
- package/src/containers/ScriptProperties/ScriptProperties.tsx +1 -1
- package/src/containers/TestContainer/TestContainer.tsx +4 -4
- package/src/containers/index.ts +2 -2
- package/src/e2e/deploy.test.ts +3 -1
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +2 -2
- package/src/index.ts +2 -7
- package/src/operations/access-token-created.ts +1 -1
- package/src/operations/create-script.ts +2 -2
- package/src/operations/index.ts +0 -2
- package/src/plugin.ts +11 -0
- package/src/templates/chess-bot.ts +10 -8
- package/src/templates/commentary.ts +14 -14
- package/src/testing/test-notebook.ts +7 -7
- package/src/testing/test-script.ts +1 -2
- package/src/types/Notebook.ts +1 -1
- package/src/types/ScriptCapabilities.ts +18 -0
- package/src/types/ScriptEvents.ts +11 -0
- package/src/{operations/definitions.ts → types/ScriptOperation.ts} +2 -0
- package/src/types/index.ts +5 -3
- package/src/util/deploy.ts +1 -1
- package/src/util/functions.ts +4 -4
- package/dist/lib/browser/NotebookContainer-RO4NJRYH.mjs.map +0 -7
- package/dist/lib/browser/ScriptProperties-NRXG4PBX.mjs.map +0 -7
- package/dist/lib/browser/TestContainer-JNFPLAJX.mjs.map +0 -7
- package/dist/lib/browser/access-token-created-MSWZWZCT.mjs.map +0 -7
- package/dist/lib/browser/blueprints/index.mjs.map +0 -7
- package/dist/lib/browser/chunk-KF6H7J5N.mjs +0 -81
- package/dist/lib/browser/chunk-KF6H7J5N.mjs.map +0 -7
- package/dist/lib/browser/chunk-NSAF3763.mjs.map +0 -7
- package/dist/lib/browser/chunk-RQ5LDVFK.mjs +0 -49
- package/dist/lib/browser/chunk-RQ5LDVFK.mjs.map +0 -7
- package/dist/lib/browser/containers/index.mjs +0 -17
- package/dist/lib/browser/containers/index.mjs.map +0 -7
- package/dist/lib/browser/create-script-Q7B3CFAP.mjs.map +0 -7
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/install-function-5N24Q45W.mjs.map +0 -7
- package/dist/lib/browser/invoke-5QVEZ3X5.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/operations/index.mjs +0 -14
- package/dist/lib/browser/operations/index.mjs.map +0 -7
- package/dist/lib/browser/query-deployed-functions-FVD7NYPA.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -14
- package/dist/lib/node-esm/DeploymentDialog-A5BZHUJB.mjs +0 -113
- package/dist/lib/node-esm/DeploymentDialog-A5BZHUJB.mjs.map +0 -7
- package/dist/lib/node-esm/NotebookContainer-DPT65MA7.mjs +0 -761
- package/dist/lib/node-esm/NotebookContainer-DPT65MA7.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-UKD7QORM.mjs +0 -80
- package/dist/lib/node-esm/ScriptContainer-UKD7QORM.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptProperties-FQXEOJKG.mjs +0 -305
- package/dist/lib/node-esm/ScriptProperties-FQXEOJKG.mjs.map +0 -7
- package/dist/lib/node-esm/TestContainer-Y4XVV7KQ.mjs +0 -45
- package/dist/lib/node-esm/TestContainer-Y4XVV7KQ.mjs.map +0 -7
- package/dist/lib/node-esm/access-token-created-DCD6LYQC.mjs +0 -38
- package/dist/lib/node-esm/access-token-created-DCD6LYQC.mjs.map +0 -7
- package/dist/lib/node-esm/blueprints/index.mjs +0 -59
- package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2DZNF5NG.mjs +0 -82
- package/dist/lib/node-esm/chunk-2DZNF5NG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C55UYWN4.mjs +0 -50
- package/dist/lib/node-esm/chunk-C55UYWN4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-EW63XFRQ.mjs +0 -107
- package/dist/lib/node-esm/chunk-EW63XFRQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-XFM2BEHY.mjs +0 -338
- package/dist/lib/node-esm/chunk-XFM2BEHY.mjs.map +0 -7
- package/dist/lib/node-esm/containers/index.mjs +0 -18
- package/dist/lib/node-esm/containers/index.mjs.map +0 -7
- package/dist/lib/node-esm/create-D2JDNXY6.mjs +0 -45
- package/dist/lib/node-esm/create-D2JDNXY6.mjs.map +0 -7
- package/dist/lib/node-esm/create-script-4AB4G7GQ.mjs +0 -46
- package/dist/lib/node-esm/create-script-4AB4G7GQ.mjs.map +0 -7
- package/dist/lib/node-esm/delete-YXLT7J27.mjs +0 -22
- package/dist/lib/node-esm/delete-YXLT7J27.mjs.map +0 -7
- package/dist/lib/node-esm/deploy-MXVZXAUC.mjs +0 -63
- package/dist/lib/node-esm/deploy-MXVZXAUC.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -194
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/inspect-invocations-TVAKGYX5.mjs +0 -60
- package/dist/lib/node-esm/inspect-invocations-TVAKGYX5.mjs.map +0 -7
- package/dist/lib/node-esm/install-function-ST3VABJH.mjs +0 -52
- package/dist/lib/node-esm/install-function-ST3VABJH.mjs.map +0 -7
- package/dist/lib/node-esm/invoke-64WDU55Y.mjs +0 -34
- package/dist/lib/node-esm/invoke-64WDU55Y.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/operations/index.mjs +0 -15
- package/dist/lib/node-esm/operations/index.mjs.map +0 -7
- package/dist/lib/node-esm/query-deployed-functions-2VCNGQ7X.mjs +0 -31
- package/dist/lib/node-esm/query-deployed-functions-2VCNGQ7X.mjs.map +0 -7
- package/dist/lib/node-esm/read-PECQUAPS.mjs +0 -27
- package/dist/lib/node-esm/read-PECQUAPS.mjs.map +0 -7
- package/dist/lib/node-esm/templates/index.mjs +0 -11
- package/dist/lib/node-esm/translations.mjs +0 -105
- package/dist/lib/node-esm/translations.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -15
- package/dist/lib/node-esm/update-XDFTGSPP.mjs +0 -64
- package/dist/lib/node-esm/update-XDFTGSPP.mjs.map +0 -7
- 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 -2
- package/dist/types/src/containers/NotebookContainer/index.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptContainer/ScriptContainer.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptContainer/ScriptContainer.stories.d.ts.map +0 -1
- package/dist/types/src/containers/ScriptContainer/index.d.ts +0 -2
- package/dist/types/src/operations/definitions.d.ts.map +0 -1
- package/dist/types/src/types/capabilities.d.ts +0 -9
- 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/containers/NotebookContainer/index.ts +0 -5
- package/src/containers/ScriptContainer/index.ts +0 -5
- package/src/types/capabilities.ts +0 -17
- package/src/types/events.ts +0 -11
- /package/dist/lib/{browser → neutral}/DeploymentDialog-6DBF3V6C.mjs +0 -0
- /package/dist/lib/{browser → neutral}/DeploymentDialog-6DBF3V6C.mjs.map +0 -0
- /package/dist/lib/{browser/templates → 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 → neutral}/chunk-MI6X5CTJ.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-MI6X5CTJ.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/delete-PAUWA2QM.mjs +0 -0
- /package/dist/lib/{browser → neutral}/delete-PAUWA2QM.mjs.map +0 -0
- /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{node-esm/templates → neutral/operations}/index.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/read-FFOSK6A3.mjs +0 -0
- /package/dist/lib/{browser → neutral}/read-FFOSK6A3.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral/templates}/index.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/translations.mjs +0 -0
- /package/dist/lib/{browser → neutral}/translations.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/update-PJS5GG3Y.mjs +0 -0
- /package/dist/lib/{browser → neutral}/update-PJS5GG3Y.mjs.map +0 -0
package/dist/lib/{browser/ScriptProperties-NRXG4PBX.mjs → neutral/ScriptProperties-RLXNAN3N.mjs}
RENAMED
|
@@ -24,7 +24,8 @@ var BlueprintEditor = ({ object }) => {
|
|
|
24
24
|
const [creating, setCreating] = useState(false);
|
|
25
25
|
const [instructions, setInstructions] = useState(`You can run the script "${object.name ?? "script"}".`);
|
|
26
26
|
const blueprintKey = `org.dxos.blueprint.${kebabize(object.name ?? "script")}`;
|
|
27
|
-
const existingBlueprint = blueprints.find((bp) => bp.key === blueprintKey);
|
|
27
|
+
const existingBlueprint = blueprints.find((bp) => Obj.getMeta(bp).key === blueprintKey);
|
|
28
|
+
const fnKey = fn ? Obj.getMeta(fn).key : void 0;
|
|
28
29
|
useAsyncEffect(async () => {
|
|
29
30
|
if (!existingBlueprint) {
|
|
30
31
|
return;
|
|
@@ -45,8 +46,8 @@ var BlueprintEditor = ({ object }) => {
|
|
|
45
46
|
Obj.update(text, (text2) => {
|
|
46
47
|
text2.content = instructions;
|
|
47
48
|
});
|
|
48
|
-
if (
|
|
49
|
-
const toolId = ToolId.make(
|
|
49
|
+
if (fnKey) {
|
|
50
|
+
const toolId = ToolId.make(fnKey);
|
|
50
51
|
if (!existingBlueprint.tools?.includes(toolId)) {
|
|
51
52
|
Obj.update(existingBlueprint, (existingBlueprint2) => {
|
|
52
53
|
existingBlueprint2.tools = [
|
|
@@ -56,7 +57,7 @@ var BlueprintEditor = ({ object }) => {
|
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
|
-
} else if (
|
|
60
|
+
} else if (fnKey) {
|
|
60
61
|
db.add(Blueprint.make({
|
|
61
62
|
key: blueprintKey,
|
|
62
63
|
name: object.name ?? "Script",
|
|
@@ -64,7 +65,7 @@ var BlueprintEditor = ({ object }) => {
|
|
|
64
65
|
source: instructions
|
|
65
66
|
}),
|
|
66
67
|
tools: [
|
|
67
|
-
ToolId.make(
|
|
68
|
+
ToolId.make(fnKey)
|
|
68
69
|
]
|
|
69
70
|
}));
|
|
70
71
|
}
|
|
@@ -75,13 +76,12 @@ var BlueprintEditor = ({ object }) => {
|
|
|
75
76
|
}, [
|
|
76
77
|
db,
|
|
77
78
|
existingBlueprint,
|
|
78
|
-
|
|
79
|
+
fnKey,
|
|
79
80
|
blueprintKey,
|
|
80
81
|
object.name,
|
|
81
82
|
instructions
|
|
82
83
|
]);
|
|
83
84
|
return /* @__PURE__ */ React.createElement("div", {
|
|
84
|
-
role: "none",
|
|
85
85
|
className: "flex flex-col"
|
|
86
86
|
}, /* @__PURE__ */ React.createElement(Form.Section, {
|
|
87
87
|
label: t("blueprint-editor.label"),
|
|
@@ -93,10 +93,9 @@ var BlueprintEditor = ({ object }) => {
|
|
|
93
93
|
onChange: (event) => setInstructions(event.target.value),
|
|
94
94
|
classNames: "resize-y"
|
|
95
95
|
})), /* @__PURE__ */ React.createElement("div", {
|
|
96
|
-
role: "none",
|
|
97
96
|
className: "pt-2"
|
|
98
97
|
}, /* @__PURE__ */ React.createElement(Button, {
|
|
99
|
-
disabled: !existingBlueprint && !
|
|
98
|
+
disabled: !existingBlueprint && !fnKey || creating,
|
|
100
99
|
onClick: handleSave
|
|
101
100
|
}, t(existingBlueprint ? "update-blueprint.label" : "create-blueprint.label"))));
|
|
102
101
|
};
|
|
@@ -141,7 +140,6 @@ var FunctionBinding = ({ object }) => {
|
|
|
141
140
|
return null;
|
|
142
141
|
}
|
|
143
142
|
return /* @__PURE__ */ React2.createElement("div", {
|
|
144
|
-
role: "none",
|
|
145
143
|
className: "flex flex-col"
|
|
146
144
|
}, /* @__PURE__ */ React2.createElement(Form2.Section, {
|
|
147
145
|
label: t("remote-function-settings.heading")
|
|
@@ -259,23 +257,19 @@ var FunctionPublishing = ({ object }) => {
|
|
|
259
257
|
githubToken
|
|
260
258
|
]);
|
|
261
259
|
return /* @__PURE__ */ React3.createElement("div", {
|
|
262
|
-
role: "none",
|
|
263
260
|
className: "flex flex-col"
|
|
264
261
|
}, /* @__PURE__ */ React3.createElement(Form3.Section, {
|
|
265
262
|
label: t("script-publish-settings.label"),
|
|
266
263
|
description: t("script-publish-settings.description")
|
|
267
264
|
}), !githubToken && /* @__PURE__ */ React3.createElement("div", {
|
|
268
|
-
role: "none",
|
|
269
265
|
className: "flex flex-col py-form-gap"
|
|
270
266
|
}, /* @__PURE__ */ React3.createElement(Message.Root, {
|
|
271
267
|
valence: "info"
|
|
272
268
|
}, /* @__PURE__ */ React3.createElement(Message.Title, null, t("no-github-token.label"))), /* @__PURE__ */ React3.createElement("div", {
|
|
273
|
-
role: "none",
|
|
274
269
|
className: "flex pt-form-gap"
|
|
275
270
|
}, /* @__PURE__ */ React3.createElement(Button2, {
|
|
276
271
|
onClick: handleOpenTokenManager
|
|
277
272
|
}, t("open-token-manager.label")))), githubToken && /* @__PURE__ */ React3.createElement("div", {
|
|
278
|
-
role: "none",
|
|
279
273
|
className: "flex justify-end gap-2"
|
|
280
274
|
}, gistUrl && /* @__PURE__ */ React3.createElement(Clipboard2.IconButton, {
|
|
281
275
|
value: gistUrl
|
|
@@ -288,7 +282,6 @@ var FunctionPublishing = ({ object }) => {
|
|
|
288
282
|
// src/containers/ScriptProperties/ScriptProperties.tsx
|
|
289
283
|
var ScriptProperties = ({ subject: object }) => {
|
|
290
284
|
return /* @__PURE__ */ React4.createElement("div", {
|
|
291
|
-
role: "none",
|
|
292
285
|
className: "flex flex-col py-form-gap gap-form-section-gap"
|
|
293
286
|
}, /* @__PURE__ */ React4.createElement(FunctionBinding, {
|
|
294
287
|
object
|
|
@@ -301,4 +294,4 @@ var ScriptProperties = ({ subject: object }) => {
|
|
|
301
294
|
export {
|
|
302
295
|
ScriptProperties as default
|
|
303
296
|
};
|
|
304
|
-
//# sourceMappingURL=ScriptProperties-
|
|
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
|
+
}
|
|
@@ -3,8 +3,8 @@ import "./chunk-J5LGTIGS.mjs";
|
|
|
3
3
|
// src/containers/TestContainer/TestContainer.tsx
|
|
4
4
|
import React, { useCallback, useMemo } from "react";
|
|
5
5
|
import { Context } from "@dxos/context";
|
|
6
|
+
import { Obj } from "@dxos/echo";
|
|
6
7
|
import { FunctionsServiceClient } from "@dxos/functions-runtime/edge";
|
|
7
|
-
import { getSpace } from "@dxos/react-client/echo";
|
|
8
8
|
import { Panel } from "@dxos/react-ui";
|
|
9
9
|
import { TestPanel } from "#components";
|
|
10
10
|
import { useDeployDeps } from "#hooks";
|
|
@@ -13,7 +13,7 @@ var TestContainer = ({ role, script }) => {
|
|
|
13
13
|
const { client, fn, existingFunctionId } = useDeployDeps({
|
|
14
14
|
script
|
|
15
15
|
});
|
|
16
|
-
const
|
|
16
|
+
const spaceId = Obj.getDatabase(script)?.spaceId;
|
|
17
17
|
const functionsClient = useMemo(() => FunctionsServiceClient.fromClient(client), [
|
|
18
18
|
client
|
|
19
19
|
]);
|
|
@@ -22,12 +22,12 @@ var TestContainer = ({ role, script }) => {
|
|
|
22
22
|
throw new Error("Function not deployed");
|
|
23
23
|
}
|
|
24
24
|
return functionsClient.invoke(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 23 }), fn, input, {
|
|
25
|
-
spaceId
|
|
25
|
+
spaceId
|
|
26
26
|
});
|
|
27
27
|
}, [
|
|
28
28
|
fn,
|
|
29
29
|
functionsClient,
|
|
30
|
-
|
|
30
|
+
spaceId
|
|
31
31
|
]);
|
|
32
32
|
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
33
33
|
role,
|
|
@@ -41,4 +41,4 @@ var TestContainer = ({ role, script }) => {
|
|
|
41
41
|
export {
|
|
42
42
|
TestContainer as default
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=TestContainer-
|
|
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
|
+
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEPLOYMENT_DIALOG
|
|
3
|
+
} from "./chunk-P2F3STZN.mjs";
|
|
1
4
|
import {
|
|
2
5
|
templates
|
|
3
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-A4LRH25S.mjs";
|
|
4
7
|
import "./chunk-J5LGTIGS.mjs";
|
|
5
8
|
|
|
6
9
|
// src/operations/access-token-created.ts
|
|
@@ -8,14 +11,8 @@ import * as Effect from "effect/Effect";
|
|
|
8
11
|
import * as Predicate from "effect/Predicate";
|
|
9
12
|
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
10
13
|
import { Operation } from "@dxos/compute";
|
|
11
|
-
import { IntegrationOperation } from "@dxos/plugin-integration
|
|
14
|
+
import { IntegrationOperation } from "@dxos/plugin-integration";
|
|
12
15
|
import { defaultScriptsForIntegration } from "#meta";
|
|
13
|
-
|
|
14
|
-
// src/constants.ts
|
|
15
|
-
import { meta } from "#meta";
|
|
16
|
-
var DEPLOYMENT_DIALOG = `${meta.id}.deployment.dialog`;
|
|
17
|
-
|
|
18
|
-
// src/operations/access-token-created.ts
|
|
19
16
|
var handler = IntegrationOperation.AccessTokenCreated.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ accessToken }) {
|
|
20
17
|
const scriptTemplates = (defaultScriptsForIntegration[accessToken.source] ?? []).map((id) => templates.find((t) => t.id === id)).filter(Predicate.isNotNullable);
|
|
21
18
|
if (scriptTemplates.length > 0) {
|
|
@@ -34,4 +31,4 @@ var access_token_created_default = handler;
|
|
|
34
31
|
export {
|
|
35
32
|
access_token_created_default as default
|
|
36
33
|
};
|
|
37
|
-
//# sourceMappingURL=access-token-created-
|
|
34
|
+
//# sourceMappingURL=access-token-created-XNDXOZ2U.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/access-token-created.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Predicate from 'effect/Predicate';\n\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { IntegrationOperation } from '@dxos/plugin-integration';\n\nimport { defaultScriptsForIntegration } from '#meta';\n\nimport { DEPLOYMENT_DIALOG } from '../constants';\nimport { templates } from '../templates';\n\nconst handler: Operation.WithHandler<typeof IntegrationOperation.AccessTokenCreated> =\n IntegrationOperation.AccessTokenCreated.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ accessToken }) {\n const scriptTemplates = (defaultScriptsForIntegration[accessToken.source] ?? [])\n .map((id) => templates.find((t) => t.id === id))\n .filter(Predicate.isNotNullable);\n\n if (scriptTemplates.length > 0) {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: DEPLOYMENT_DIALOG,\n blockAlign: 'start',\n state: true,\n props: { accessToken, scriptTemplates },\n });\n }\n }),\n ),\n );\n\nexport default handler;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,eAAe;AAE3B,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,4BAA4B;AAErC,SAASC,oCAAoC;AAK7C,IAAMC,UACJC,qBAAqBC,mBAAmBC,KACtCC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,YAAW,GAAE;AAC1C,QAAMC,mBAAmBC,6BAA6BF,YAAYG,MAAM,KAAK,CAAA,GAC1EC,IAAI,CAACC,OAAOC,UAAUC,KAAK,CAACC,MAAMA,EAAEH,OAAOA,EAAAA,CAAAA,EAC3CI,OAAiBC,uBAAa;AAEjC,MAAIT,gBAAgBU,SAAS,GAAG;AAC9B,WAAOd,UAAUe,OAAOC,gBAAgBC,cAAc;MACpDC,SAASC;MACTC,YAAY;MACZC,OAAO;MACPC,OAAO;QAAEnB;QAAaC;MAAgB;IACxC,CAAA;EACF;AACF,CAAA,CAAA,CAAA;AAIN,IAAA,+BAAeR;",
|
|
6
|
+
"names": ["Effect", "Predicate", "LayoutOperation", "Operation", "IntegrationOperation", "defaultScriptsForIntegration", "handler", "IntegrationOperation", "AccessTokenCreated", "pipe", "Operation", "withHandler", "fnUntraced", "accessToken", "scriptTemplates", "defaultScriptsForIntegration", "source", "map", "id", "templates", "find", "t", "filter", "isNotNullable", "length", "invoke", "LayoutOperation", "UpdateDialog", "subject", "DEPLOYMENT_DIALOG", "blockAlign", "state", "props"]
|
|
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-BDRB6ZX2.mjs";
|
|
4
|
+
import "../chunk-SNUWHNEW.mjs";
|
|
5
|
+
import "../chunk-MI6X5CTJ.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-F2NWICFV.mjs"));
|
|
8
|
+
var Compiler = Capability.lazy("Compiler", () => import("../compiler-ODK4UA2N.mjs"));
|
|
9
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-KIZ7XZ5G.mjs"));
|
|
10
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-ZMU2CRJ7.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-F2NWICFV.mjs"));
|
|
8
|
+
var Compiler = Capability.lazy("Compiler", () => import("../compiler-ODK4UA2N.mjs"));
|
|
9
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-KIZ7XZ5G.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
|
+
}
|
|
@@ -5,10 +5,10 @@ var anthropic_default = "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Langu
|
|
|
5
5
|
var chat_default = "//\n// Copyright 2024 DXOS.org\n//\n\n// @ts-ignore\nimport { transformServerSentEvents } from 'https://esm.sh/@dxos/script-toolbox?bundle=false';\n\n/**\n * Chatbot that answers questions based on the context data.\n */\nexport default async ({ data: { bodyText }, context: { space, ai } }: any) => {\n let parsedRequest: any;\n try {\n parsedRequest = JSON.parse(bodyText);\n } catch (err) {\n const answer = await ai.run('@cf/meta/llama-3.1-8b-instruct', {\n stream: true,\n prompt: `\n Using only the context data below to answer the user's question.\n If you cannot answer the question from the provided content, then reply with \"I don't know.\"\n\n CONTEXT:\n ${await getContext({ space })}\n\n QUESTION:\n ${bodyText}\n `,\n });\n return new Response(transformServerSentEvents(answer));\n }\n\n const promptId = parsedRequest.trigger.promptId;\n const promptObject = await space.crud.query({ id: promptId }).first();\n\n if (parsedRequest.data.objects.length !== 1) {\n return new Response('Message batches not supported.');\n }\n\n const messageId = parsedRequest.data.objects[0];\n let message;\n try {\n message = await space.crud.query({ id: messageId }).first();\n } catch (err) {\n return new Response('Message not replicated yet.', { status: 409 });\n }\n\n if (message.text.includes('--------')) {\n return new Response('Message was already processed.');\n }\n\n let prompt = promptObject.template;\n for (const input of promptObject.inputs) {\n let value: string | null = null;\n if (input.type === TemplateInputType.VALUE) {\n value = String(input.value);\n } else if (input.type === TemplateInputType.RETRIEVER) {\n value = await getContext({ space });\n } else if (input.type === TemplateInputType.PASS_THROUGH) {\n value = message.text;\n }\n if (value) {\n prompt = prompt.replaceAll(`{${input.name}}`, value);\n }\n }\n\n const answer = await ai.run('@cf/meta/llama-3.1-8b-instruct', {\n stream: false,\n prompt,\n });\n const response = { response: answer.response, prompt, message };\n const textWithAnswer = message.text + '\\n--------\\n\\n' + answer.response;\n await space.crud.update({ id: messageId }, { text: textWithAnswer });\n\n return new Response(JSON.stringify(response));\n};\n\nconst getContext = async ({ space }: any) => {\n let context = '';\n const { objects: docs } = await space.crud.query({ __typename: 'org.dxos.type.document' }).run();\n for (const doc of docs) {\n const { content } = await space.crud.query({ id: doc.content }).first();\n context += content + '\\n\\n';\n }\n return context;\n};\n\nenum TemplateInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n";
|
|
6
6
|
|
|
7
7
|
// raw-loader:/__w/dxos/dxos/packages/plugins/plugin-script/src/templates/chess-bot.ts?raw
|
|
8
|
-
var chess_bot_default = "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess as ChessJS } from 'chess.js';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Obj
|
|
8
|
+
var chess_bot_default = "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Chess as ChessJS } from 'chess.js';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Obj } from '@dxos/echo';\nimport { Chess } from '@dxos/plugin-chess';\nimport { GameRef, Game, loadGame } from '@dxos/plugin-game';\n\nconst ChessBot = Operation.make({\n meta: {\n key: 'org.dxos.script.chess-bot',\n name: 'Chess Bot',\n description: 'Plays a random move in a chess game.',\n },\n input: Schema.Struct({\n game: GameRef(Chess.State).annotations({\n description: 'The chess game to comment on.',\n }),\n player: Schema.optional(Schema.Literal('white', 'black')).annotations({\n description: 'The player to play the game as.',\n }),\n }),\n output: Schema.Struct({\n state: Schema.String.annotations({\n description: 'The state of the game as an ASCII art board.',\n }),\n }),\n types: [Game, Chess.State],\n services: [Database.Service],\n});\n\nexport default ChessBot.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ game, player = 'black' }) {\n const { variant } = yield* loadGame(game, Chess.State);\n const chess = new ChessJS();\n chess.loadPgn(variant.pgn ?? '');\n if (chess.turn() !== (player === 'white' ? 'w' : 'b')) {\n return { state: chess.ascii() };\n }\n\n const moves = chess.moves({ verbose: true });\n const move = moves[Math.floor(Math.random() * moves.length)];\n if (!move) {\n return { state: chess.ascii() };\n }\n\n chess.move(move.san);\n const newPgn = chess.pgn();\n Obj.update(variant, (variant) => {\n const mutable = variant as Obj.Mutable<typeof variant>;\n mutable.pgn = newPgn;\n });\n yield* Database.flush();\n return { state: chess.ascii() };\n }),\n ),\n);\n";
|
|
9
9
|
|
|
10
10
|
// raw-loader:/__w/dxos/dxos/packages/plugins/plugin-script/src/templates/commentary.ts?raw
|
|
11
|
-
var commentary_default = "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as A from '@automerge/automerge';\nimport { Chess as ChessJS } from 'chess.js';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, ConsolePrinter, ToolExecutionService, ToolResolverService } from '@dxos/ai';\nimport { AiRequest, GenerationObserver } from '@dxos/assistant';\nimport { ArtifactId } from '@dxos/assistant';\nimport { Trace, Operation, OperationRegistry } from '@dxos/compute';\nimport { Database, Filter, Obj, Ref, Relation } from '@dxos/echo';\nimport { Collection } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { log } from '@dxos/log';\nimport { Chess } from '@dxos/plugin-chess/types';\nimport { Markdown } from '@dxos/plugin-markdown/types';\nimport { Text } from '@dxos/schema';\nimport { HasSubject } from '@dxos/types';\nimport { trim } from '@dxos/util';\n\nconst Commentary = Operation.make({\n meta: {\n key: 'org.dxos.function.chess.commentary',\n name: 'Commentary',\n description: 'Adds commentary about the most recent move to a markdown document associated with the chess game.',\n },\n input: Schema.Struct({\n game: Ref.Ref(Chess.Game).annotations({\n description: 'The chess game to comment on.',\n }),\n }),\n output: Schema.Union(\n Schema.Struct({\n documentId: ArtifactId.annotations({\n description: 'The ID of the markdown document that was updated or created.',\n }),\n commentary: Schema.String.annotations({\n description: 'The commentary that was added.',\n }),\n }),\n Schema.Void.annotations({\n description: 'Function did not find anything to comment on.',\n }),\n ),\n types: [Chess.Game, Markdown.Document, Text.Text, HasSubject.HasSubject, Collection.Collection],\n services: [AiService.AiService, Database.Service],\n});\n\nexport default Commentary.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ game: gameRef }) {\n // Load the chess game\n log.info('load game', { gameRef });\n const chessGame = yield* Database.load(gameRef);\n\n // Load the chess position from PGN or FEN\n const chess = new ChessJS();\n if (chessGame.pgn) {\n chess.loadPgn(chessGame.pgn);\n } else if (chessGame.fen) {\n chess.load(chessGame.fen);\n } else {\n log.info('Early return: no pgn or fen');\n return;\n }\n\n // Get the most recent move\n const history = chess.history({ verbose: true });\n if (history.length === 0) {\n throw new Error('No moves have been played yet');\n }\n const lastMove = history[history.length - 1];\n const moveNumber = Math.ceil(history.length / 2);\n const isWhiteMove = history.length % 2 === 1;\n const player = isWhiteMove ? 'White' : 'Black';\n const moveNotation = lastMove.san;\n\n // Generate AI commentary about the move\n const result = yield* new AiRequest({\n observer: GenerationObserver.fromPrinter(new ConsolePrinter({ tag: 'chess-commentary' })),\n }).run({\n prompt:\n `Comment on this chess move as if you're commentating a live match for an audience:\\n\\n` +\n `Move ${moveNumber}: ${player} plays ${moveNotation} (${lastMove.from} to ${lastMove.to})${lastMove.captured ? `, capturing ${lastMove.captured}` : ''}\\n` +\n `Current position: ${chess.fen()}\\n` +\n `${chess.isCheck() ? 'The king is in check! ' : ''}` +\n `${chess.isCheckmate() ? 'CHECKMATE! ' : ''}` +\n `${chess.isStalemate() ? 'STALEMATE! ' : ''}` +\n `\\nGame so far:\\n${chess.pgn()}`,\n system: COMMENTARY_SYSTEM_PROMPT,\n history: [],\n });\n\n const commentaryText = Function.pipe(\n result,\n Array.findLast((msg) => msg.sender.role === 'assistant' && msg.blocks.some((block) => block._tag === 'text')),\n Option.flatMap((msg) =>\n Function.pipe(\n msg.blocks,\n Array.findLast((block) => block._tag === 'text'),\n Option.map((block) => block.text),\n ),\n ),\n Option.getOrThrowWith(() => new Error('No commentary generated')),\n );\n\n const commentary = `## Move ${moveNumber}: ${player} plays ${moveNotation}\\n\\n${commentaryText}\\n\\n`;\n log.info('commentary', { commentary });\n\n // TODO(wittjosiah): Functions currently don't support traversals.\n // const docs = yield* Database.runQuery(\n // Query.select(Filter.id(chessGame.id)).targetOf(HasSubject.HasSubject).source(),\n // ).pipe(Effect.map((objects) => objects.filter((object) => Obj.instanceOf(Markdown.Document, object))));\n const docs = yield* Database.runQuery(Filter.type(HasSubject.HasSubject)).pipe(\n Effect.map((relations) =>\n relations.filter((relation) => {\n // TODO(wittjosiah): This is a workaround for getTarget not handling deleted objects.\n try {\n log.info('relation', {\n source: Obj.getDXN(Relation.getTarget(relation)).toString(),\n game: Obj.getDXN(chessGame).toString(),\n });\n return Obj.getDXN(Relation.getTarget(relation)).toString() === Obj.getDXN(chessGame).toString();\n } catch {\n return false;\n }\n }),\n ),\n Effect.map((relations) =>\n relations\n .map((relation) => {\n // TODO(wittjosiah): This is a workaround for getSource not handling deleted objects.\n try {\n return Relation.getSource(relation);\n } catch {\n return undefined;\n }\n })\n .filter((source) => source !== undefined),\n ),\n Effect.map((sources) => {\n const docs = sources.filter((source) => Obj.instanceOf(Markdown.Document, source));\n log.info('docs', { sources, docs });\n return docs;\n }),\n );\n log.info('docs', { count: docs.length });\n\n let document: Markdown.Document;\n if (docs.length === 0) {\n // TODO(wittjosiah): Deploy fails if `SpaceProperties` schema is imported because its from `client-protocol`.\n const [properties] = yield* Database.runQuery(Filter.typename('org.dxos.type.spaceProperties'));\n const rootCollection = yield* Database.load<Collection.Collection>(\n properties[Collection.Collection.typename],\n );\n\n log.info('rootCollection', { rootCollection });\n\n // Create a new markdown document\n const gameName = chessGame.name || 'Chess Game';\n document = yield* Database.add(\n Markdown.make({\n name: `${gameName} Commentary`,\n content: `# ${gameName} Commentary\\n\\n${commentary}`,\n }),\n );\n\n const documentRef = Ref.make(document);\n Obj.update(rootCollection, (rootCollection) => {\n rootCollection.objects.push(documentRef);\n });\n\n // Create the HasSubject relation\n yield* Database.add(\n Relation.make(HasSubject.HasSubject, {\n [Relation.Source]: document,\n [Relation.Target]: chessGame,\n completedAt: new Date().toISOString(),\n }),\n );\n } else {\n document = docs[0];\n\n // Load the text content and append the commentary\n const text = yield* Database.load(document.content);\n const accessor = createDocAccessor(text, ['content']);\n accessor.handle.change((doc: A.Doc<Text.Text>) => {\n A.splice(doc, accessor.path.slice(), text.content.length, 0, commentary);\n });\n }\n\n log.info('result', { documentId: Obj.getDXN(document).toString(), commentary });\n\n yield* Database.flush();\n\n return {\n documentId: Obj.getDXN(document).toString(),\n commentary,\n };\n },\n Effect.provide(\n Layer.mergeAll(\n AiService.model('@anthropic/claude-haiku-4-5'),\n ToolResolverService.layerEmpty,\n ToolExecutionService.layerEmpty,\n Trace.writerLayerNoop,\n Database.notAvailable,\n Layer.succeed(Operation.Service, {\n invoke: () => Effect.die('Not available.'),\n schedule: () => Effect.die('Not available.'),\n invokePromise: async () => ({ error: new Error('Not available.') }),\n } as any),\n Layer.succeed(OperationRegistry.Service, { resolve: () => Effect.succeed(undefined) } as any),\n ),\n ),\n ),\n ),\n);\n\nconst COMMENTARY_SYSTEM_PROMPT = trim`\n You are a professional chess commentator providing live commentary for a chess match.\n\n # Style\n - Write in an engaging, enthusiastic style as if commentating for a live audience\n - Be concise but informative (2-4 sentences)\n - Explain the strategic implications of the move\n - Note any tactical elements (captures, threats, checks)\n - Comment on the position and what it means for the game\n\n # Format\n - Write in plain text (no markdown formatting in the commentary itself)\n - Be natural and conversational\n - Use chess terminology appropriately but keep it accessible\n\n # Special Situations\n - If it's checkmate, express excitement about the conclusion\n - If it's check, note the pressure on the king\n - If a piece is captured, mention the material exchange\n - Comment on the development of pieces and control of key squares when relevant\n`;\n";
|
|
11
|
+
var commentary_default = "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as A from '@automerge/automerge';\nimport { Chess as ChessJS } from 'chess.js';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, ConsolePrinter, ToolExecutionService, ToolResolverService } from '@dxos/ai';\nimport { AiRequest, GenerationObserver } from '@dxos/assistant';\nimport { ArtifactId } from '@dxos/assistant';\nimport { Trace, Operation, OperationRegistry } from '@dxos/compute';\nimport { Collection, Database, Filter, Obj, Ref, Relation } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { log } from '@dxos/log';\nimport { Chess } from '@dxos/plugin-chess';\nimport { Game, GameRef, loadGame } from '@dxos/plugin-game';\nimport { Markdown } from '@dxos/plugin-markdown';\nimport { Text } from '@dxos/schema';\nimport { HasSubject } from '@dxos/types';\nimport { trim } from '@dxos/util';\n\nconst Commentary = Operation.make({\n meta: {\n key: 'org.dxos.function.chess.commentary',\n name: 'Commentary',\n description: 'Adds commentary about the most recent move to a markdown document associated with the chess game.',\n },\n input: Schema.Struct({\n game: GameRef(Chess.State).annotations({\n description: 'The chess game to comment on.',\n }),\n }),\n output: Schema.Union(\n Schema.Struct({\n documentId: ArtifactId.annotations({\n description: 'The ID of the markdown document that was updated or created.',\n }),\n commentary: Schema.String.annotations({\n description: 'The commentary that was added.',\n }),\n }),\n Schema.Void.annotations({\n description: 'Function did not find anything to comment on.',\n }),\n ),\n types: [Game, Chess.State, Markdown.Document, Text.Text, HasSubject.HasSubject, Collection.Collection],\n services: [AiService.AiService, Database.Service],\n});\n\nexport default Commentary.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ game: gameRef }) {\n // Load the game and its Chess variant state.\n log.info('load game', { gameRef });\n const { game: chessGame, variant: chessState } = yield* loadGame(gameRef, Chess.State);\n\n // Load the chess position from PGN or FEN.\n const chess = new ChessJS();\n if (chessState.pgn) {\n chess.loadPgn(chessState.pgn);\n } else if (chessState.fen) {\n chess.load(chessState.fen);\n } else {\n log.info('Early return: no pgn or fen');\n return;\n }\n\n // Get the most recent move\n const history = chess.history({ verbose: true });\n if (history.length === 0) {\n throw new Error('No moves have been played yet');\n }\n const lastMove = history[history.length - 1];\n const moveNumber = Math.ceil(history.length / 2);\n const isWhiteMove = history.length % 2 === 1;\n const player = isWhiteMove ? 'White' : 'Black';\n const moveNotation = lastMove.san;\n\n // Generate AI commentary about the move\n const result = yield* new AiRequest.Request({\n observer: GenerationObserver.fromPrinter(new ConsolePrinter({ tag: 'chess-commentary' })),\n }).run({\n prompt:\n `Comment on this chess move as if you're commentating a live match for an audience:\\n\\n` +\n `Move ${moveNumber}: ${player} plays ${moveNotation} (${lastMove.from} to ${lastMove.to})${lastMove.captured ? `, capturing ${lastMove.captured}` : ''}\\n` +\n `Current position: ${chess.fen()}\\n` +\n `${chess.isCheck() ? 'The king is in check! ' : ''}` +\n `${chess.isCheckmate() ? 'CHECKMATE! ' : ''}` +\n `${chess.isStalemate() ? 'STALEMATE! ' : ''}` +\n `\\nGame so far:\\n${chess.pgn()}`,\n system: COMMENTARY_SYSTEM_PROMPT,\n history: [],\n });\n\n const commentaryText = Function.pipe(\n result,\n Array.findLast((msg) => msg.sender.role === 'assistant' && msg.blocks.some((block) => block._tag === 'text')),\n Option.flatMap((msg) =>\n Function.pipe(\n msg.blocks,\n Array.findLast((block) => block._tag === 'text'),\n Option.map((block) => block.text),\n ),\n ),\n Option.getOrThrowWith(() => new Error('No commentary generated')),\n );\n\n const commentary = `## Move ${moveNumber}: ${player} plays ${moveNotation}\\n\\n${commentaryText}\\n\\n`;\n log.info('commentary', { commentary });\n\n // TODO(wittjosiah): Functions currently don't support traversals.\n // const docs = yield* Database.runQuery(\n // Query.select(Filter.id(chessGame.id)).targetOf(HasSubject.HasSubject).source(),\n // ).pipe(Effect.map((objects) => objects.filter((object) => Obj.instanceOf(Markdown.Document, object))));\n const docs = yield* Database.runQuery(Filter.type(HasSubject.HasSubject)).pipe(\n Effect.map((relations) =>\n relations.filter((relation) => {\n // TODO(wittjosiah): This is a workaround for getTarget not handling deleted objects.\n try {\n log.info('relation', {\n source: Obj.getDXN(Relation.getTarget(relation)).toString(),\n game: Obj.getDXN(chessGame).toString(),\n });\n return Obj.getDXN(Relation.getTarget(relation)).toString() === Obj.getDXN(chessGame).toString();\n } catch {\n return false;\n }\n }),\n ),\n Effect.map((relations) =>\n relations\n .map((relation) => {\n // TODO(wittjosiah): This is a workaround for getSource not handling deleted objects.\n try {\n return Relation.getSource(relation);\n } catch {\n return undefined;\n }\n })\n .filter((source) => source !== undefined),\n ),\n Effect.map((sources) => {\n const docs = sources.filter((source) => Obj.instanceOf(Markdown.Document, source));\n log.info('docs', { sources, docs });\n return docs;\n }),\n );\n log.info('docs', { count: docs.length });\n\n let document: Markdown.Document;\n if (docs.length === 0) {\n // TODO(wittjosiah): Deploy fails if `SpaceProperties` schema is imported because its from `client-protocol`.\n const [properties] = yield* Database.runQuery(Filter.typename('org.dxos.type.spaceProperties'));\n const rootCollection = yield* Database.load<Collection.Collection>(\n properties[Collection.Collection.typename],\n );\n\n log.info('rootCollection', { rootCollection });\n\n // Create a new markdown document\n const gameName = chessGame.name || 'Chess Game';\n document = yield* Database.add(\n Markdown.make({\n name: `${gameName} Commentary`,\n content: `# ${gameName} Commentary\\n\\n${commentary}`,\n }),\n );\n\n const documentRef = Ref.make(document);\n Obj.update(rootCollection, (rootCollection) => {\n rootCollection.objects.push(documentRef);\n });\n\n // Create the HasSubject relation\n yield* Database.add(\n Relation.make(HasSubject.HasSubject, {\n [Relation.Source]: document,\n [Relation.Target]: chessGame,\n completedAt: new Date().toISOString(),\n }),\n );\n } else {\n document = docs[0];\n\n // Load the text content and append the commentary\n const text = yield* Database.load(document.content);\n const accessor = createDocAccessor(text, ['content']);\n accessor.handle.change((doc: A.Doc<Text.Text>) => {\n A.splice(doc, accessor.path.slice(), text.content.length, 0, commentary);\n });\n }\n\n log.info('result', { documentId: Obj.getDXN(document).toString(), commentary });\n\n yield* Database.flush();\n\n return {\n documentId: Obj.getDXN(document).toString(),\n commentary,\n };\n },\n Effect.provide(\n Layer.mergeAll(\n AiService.model('@anthropic/claude-haiku-4-5'),\n ToolResolverService.layerEmpty,\n ToolExecutionService.layerEmpty,\n Trace.writerLayerNoop,\n Database.notAvailable,\n Layer.succeed(Operation.Service, {\n invoke: () => Effect.die('Not available.'),\n schedule: () => Effect.die('Not available.'),\n invokePromise: async () => ({ error: new Error('Not available.') }),\n } as any),\n Layer.succeed(OperationRegistry.Service, { resolve: () => Effect.succeed(undefined) } as any),\n ),\n ),\n ),\n ),\n);\n\nconst COMMENTARY_SYSTEM_PROMPT = trim`\n You are a professional chess commentator providing live commentary for a chess match.\n\n # Style\n - Write in an engaging, enthusiastic style as if commentating for a live audience\n - Be concise but informative (2-4 sentences)\n - Explain the strategic implications of the move\n - Note any tactical elements (captures, threats, checks)\n - Comment on the position and what it means for the game\n\n # Format\n - Write in plain text (no markdown formatting in the commentary itself)\n - Be natural and conversational\n - Use chess terminology appropriately but keep it accessible\n\n # Special Situations\n - If it's checkmate, express excitement about the conclusion\n - If it's check, note the pressure on the king\n - If a piece is captured, mention the material exchange\n - Comment on the development of pieces and control of key squares when relevant\n`;\n";
|
|
12
12
|
|
|
13
13
|
// raw-loader:/__w/dxos/dxos/packages/plugins/plugin-script/src/templates/data-generator.ts?raw
|
|
14
14
|
var data_generator_default = "//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport { Expando, S, create, defineFunction } from 'dxos:functions';\n// @ts-ignore\nimport { randText } from 'https://esm.sh/@ngneat/falso@7.1.1?bundle=false';\n\nexport default defineFunction({\n key: 'org.dxos.script.data-generator',\n name: 'Data Generator',\n inputSchema: S.Struct({\n documentAmount: S.optional(S.Number),\n textSize: S.optional(S.Number),\n mutationAmount: S.optional(S.Number),\n waitAfterCreation: S.optional(S.Number),\n }),\n\n outputSchema: S.Struct({}),\n\n handler: async ({\n data: { documentAmount = 1, textSize = 10, mutationAmount = 0, waitAfterCreation = 10_000 },\n context: { space },\n }: any) => {\n await space.db.graph.schemaRegistry.register([Expando]);\n const result: Record<string, any> = {};\n const objects: Expando[] = [];\n\n // Create objects.\n for (let i = 0; i < documentAmount; i++) {\n const obj = space.db.add(\n create(Expando, {\n name: 'scriptGenerated',\n content: randText({ charCount: textSize }),\n }),\n );\n objects.push(obj);\n const objectResult: any = {};\n // Mutate the object.\n for (let i = 0; i < mutationAmount; i++) {\n obj.content = randText({ charCount: textSize });\n }\n objectResult.mutations = mutationAmount;\n objectResult.contentLength = obj.content.length;\n result[obj.id] = objectResult;\n }\n\n // Flush and wait for data to propagate.\n await space.db.flush();\n await new Promise((resolve) => setTimeout(resolve, waitAfterCreation));\n return { createdObjects: objects.length };\n },\n});\n";
|
|
@@ -102,4 +102,4 @@ export {
|
|
|
102
102
|
data_generator_default,
|
|
103
103
|
templates
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
105
|
+
//# sourceMappingURL=chunk-A4LRH25S.mjs.map
|