@dxos/plugin-script 0.8.4-main.21d9917 → 0.8.4-main.2244d791bb
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/dist/lib/browser/{DeploymentDialog-GXNRUXF6.mjs → DeploymentDialog-XUAFCNI7.mjs} +5 -5
- package/dist/lib/browser/{NotebookContainer-4MM2VAQF.mjs → NotebookContainer-AXYJZEYZ.mjs} +13 -13
- package/dist/lib/browser/NotebookContainer-AXYJZEYZ.mjs.map +7 -0
- package/dist/lib/browser/{ScriptContainer-X6GCYZZW.mjs → ScriptContainer-NB76645V.mjs} +5 -5
- package/dist/lib/browser/ScriptContainer-NB76645V.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-7VO7AUI6.mjs → app-graph-builder-66ZDI72K.mjs} +4 -3
- package/dist/lib/browser/app-graph-builder-66ZDI72K.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs +17 -0
- package/dist/lib/browser/blueprint-definition-YMZEJBAZ.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +3 -3
- package/dist/lib/browser/{chunk-3O2DQGCP.mjs → chunk-3BSF5BIA.mjs} +4 -4
- package/dist/lib/browser/{chunk-3O2DQGCP.mjs.map → chunk-3BSF5BIA.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-UX4GHJ5E.mjs → chunk-4N5TLXEJ.mjs} +4 -4
- package/dist/lib/browser/chunk-4N5TLXEJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BTWHM6FH.mjs → chunk-BKGEAUUH.mjs} +3 -3
- package/dist/lib/browser/{chunk-BTWHM6FH.mjs.map → chunk-BKGEAUUH.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-IQRLM6JK.mjs → chunk-BU6CGVU2.mjs} +8 -8
- package/dist/lib/browser/chunk-BU6CGVU2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-F3QKSKSF.mjs → chunk-TW27W3EL.mjs} +11 -17
- package/dist/lib/browser/chunk-TW27W3EL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NWSK27QB.mjs → chunk-VESMWSFW.mjs} +20 -17
- package/dist/lib/browser/chunk-VESMWSFW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WX2NVNFQ.mjs → chunk-WWCDIB6Z.mjs} +11 -11
- package/dist/lib/browser/{chunk-WX2NVNFQ.mjs.map → chunk-WWCDIB6Z.mjs.map} +3 -3
- package/dist/lib/browser/{compiler-XRBFQFXO.mjs → compiler-VPUVTFQD.mjs} +3 -3
- package/dist/lib/browser/index.mjs +31 -30
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-MUNR376F.mjs → operation-resolver-OF6ZAQUA.mjs} +11 -10
- package/dist/lib/browser/operation-resolver-OF6ZAQUA.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-5TEC66UY.mjs → react-surface-AK6DRQ4V.mjs} +21 -20
- package/dist/lib/browser/react-surface-AK6DRQ4V.mjs.map +7 -0
- package/dist/lib/browser/{settings-R4WKREUJ.mjs → settings-5SF77MRH.mjs} +6 -5
- package/dist/lib/browser/settings-5SF77MRH.mjs.map +7 -0
- package/dist/lib/browser/templates/index.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{DeploymentDialog-EVFV2VJT.mjs → DeploymentDialog-GGWDQMEB.mjs} +5 -5
- package/dist/lib/node-esm/{NotebookContainer-QLW5ZYGS.mjs → NotebookContainer-KQA2XFLZ.mjs} +13 -13
- package/dist/lib/node-esm/NotebookContainer-KQA2XFLZ.mjs.map +7 -0
- package/dist/lib/node-esm/{ScriptContainer-3DZ3BMHW.mjs → ScriptContainer-PCNJFUWX.mjs} +5 -5
- package/dist/lib/node-esm/ScriptContainer-PCNJFUWX.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-NVE3EVBG.mjs → app-graph-builder-IGAZTJ45.mjs} +4 -3
- package/dist/lib/node-esm/app-graph-builder-IGAZTJ45.mjs.map +7 -0
- package/dist/lib/node-esm/{blueprint-definition-NC7NNJGI.mjs → blueprint-definition-5MGY6BRQ.mjs} +6 -6
- package/dist/lib/node-esm/blueprint-definition-5MGY6BRQ.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +3 -3
- package/dist/lib/node-esm/{chunk-VWOLKNMO.mjs → chunk-3QBXN6QC.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-VWOLKNMO.mjs.map → chunk-3QBXN6QC.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-ZQGHFNO3.mjs → chunk-EAWNLXHJ.mjs} +20 -17
- package/dist/lib/node-esm/chunk-EAWNLXHJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MGWKULCD.mjs → chunk-ECRSTVR6.mjs} +11 -11
- package/dist/lib/node-esm/{chunk-MGWKULCD.mjs.map → chunk-ECRSTVR6.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-KN6SQYUF.mjs → chunk-KRVL7UYI.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-KN6SQYUF.mjs.map → chunk-KRVL7UYI.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-Y3G5NCTP.mjs → chunk-S7DSCLOW.mjs} +11 -16
- package/dist/lib/node-esm/chunk-S7DSCLOW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YEWLTVBT.mjs → chunk-U6PXM2HT.mjs} +8 -8
- package/dist/lib/node-esm/chunk-U6PXM2HT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4F5FJZ36.mjs → chunk-V37R7KB5.mjs} +4 -4
- package/dist/lib/node-esm/chunk-V37R7KB5.mjs.map +7 -0
- package/dist/lib/node-esm/{compiler-ORJAXDN7.mjs → compiler-WUOSY6MS.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +31 -30
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-CLE4ZCC5.mjs → operation-resolver-5XMOTNR7.mjs} +11 -10
- package/dist/lib/node-esm/operation-resolver-5XMOTNR7.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-O3UDMKOQ.mjs → react-surface-BAUSPX5Y.mjs} +21 -20
- package/dist/lib/node-esm/react-surface-BAUSPX5Y.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-OFIMHU7K.mjs → settings-ILI762CY.mjs} +6 -5
- package/dist/lib/node-esm/settings-ILI762CY.mjs.map +7 -0
- package/dist/lib/node-esm/templates/index.mjs +1 -1
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +1 -1
- package/dist/types/src/blueprints/index.d.ts.map +1 -1
- package/dist/types/src/blueprints/script-blueprint.d.ts +3 -21
- package/dist/types/src/blueprints/script-blueprint.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -6
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +3 -2
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/components/NotebookContainer.d.ts +1 -1
- package/dist/types/src/components/NotebookContainer.d.ts.map +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts +1 -1
- package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
- package/dist/types/src/components/TestPanel/TestPanel.d.ts.map +1 -1
- package/dist/types/src/hooks/useToolbarState.d.ts.map +1 -1
- package/dist/types/src/templates/chess-bot.d.ts +2 -2
- package/dist/types/src/templates/chess-bot.d.ts.map +1 -1
- package/dist/types/src/templates/commentary.d.ts +2 -2
- package/dist/types/src/templates/commentary.d.ts.map +1 -1
- package/dist/types/src/types/Notebook.d.ts +33 -33
- package/dist/types/src/types/Notebook.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +78 -77
- package/src/ScriptPlugin.tsx +17 -16
- package/src/blueprints/index.ts +1 -1
- package/src/blueprints/script-blueprint.ts +14 -7
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +3 -2
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -12
- package/src/capabilities/operation-resolver/operation-resolver.ts +4 -3
- package/src/capabilities/react-surface/react-surface.tsx +15 -14
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +1 -1
- package/src/components/DeploymentDialog/DeploymentDialog.tsx +6 -6
- package/src/components/NotebookContainer.stories.tsx +3 -3
- package/src/components/NotebookContainer.tsx +9 -11
- package/src/components/NotebookStack/NotebookCell.tsx +2 -2
- package/src/components/NotebookStack/NotebookStack.stories.tsx +1 -1
- package/src/components/QueryEditor/QueryEditor.stories.tsx +2 -2
- package/src/components/ScriptContainer.tsx +2 -2
- package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
- package/src/components/Settings/ScriptObjectSettings.tsx +2 -2
- package/src/components/Settings/ScriptPluginSettings.tsx +11 -11
- package/src/components/TestPanel/TestContainer.tsx +1 -1
- package/src/components/TestPanel/TestPanel.tsx +24 -22
- package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +2 -2
- package/src/hooks/useCompiler.ts +1 -1
- package/src/hooks/useCreateAndDeployScriptTemplates.ts +1 -1
- package/src/hooks/useToolbarState.ts +7 -6
- package/src/templates/chess-bot.ts +2 -2
- package/src/templates/commentary.ts +9 -11
- package/src/templates/forex-effect.ts +1 -1
- package/src/types/Notebook.ts +2 -2
- package/dist/lib/browser/NotebookContainer-4MM2VAQF.mjs.map +0 -7
- package/dist/lib/browser/ScriptContainer-X6GCYZZW.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-7VO7AUI6.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs +0 -17
- package/dist/lib/browser/blueprint-definition-OSOUYI7A.mjs.map +0 -7
- package/dist/lib/browser/chunk-F3QKSKSF.mjs.map +0 -7
- package/dist/lib/browser/chunk-IQRLM6JK.mjs.map +0 -7
- package/dist/lib/browser/chunk-NWSK27QB.mjs.map +0 -7
- package/dist/lib/browser/chunk-UX4GHJ5E.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-MUNR376F.mjs.map +0 -7
- package/dist/lib/browser/react-surface-5TEC66UY.mjs.map +0 -7
- package/dist/lib/browser/settings-R4WKREUJ.mjs.map +0 -7
- package/dist/lib/node-esm/NotebookContainer-QLW5ZYGS.mjs.map +0 -7
- package/dist/lib/node-esm/ScriptContainer-3DZ3BMHW.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-NVE3EVBG.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-NC7NNJGI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4F5FJZ36.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Y3G5NCTP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YEWLTVBT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZQGHFNO3.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-CLE4ZCC5.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-O3UDMKOQ.mjs.map +0 -7
- package/dist/lib/node-esm/settings-OFIMHU7K.mjs.map +0 -7
- /package/dist/lib/browser/{DeploymentDialog-GXNRUXF6.mjs.map → DeploymentDialog-XUAFCNI7.mjs.map} +0 -0
- /package/dist/lib/browser/{compiler-XRBFQFXO.mjs.map → compiler-VPUVTFQD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{DeploymentDialog-EVFV2VJT.mjs.map → DeploymentDialog-GGWDQMEB.mjs.map} +0 -0
- /package/dist/lib/node-esm/{compiler-ORJAXDN7.mjs.map → compiler-WUOSY6MS.mjs.map} +0 -0
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
ScriptCapabilities,
|
|
3
3
|
ScriptEvents,
|
|
4
4
|
ScriptOperation
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3BSF5BIA.mjs";
|
|
6
6
|
import {
|
|
7
7
|
templates
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4N5TLXEJ.mjs";
|
|
9
9
|
import {
|
|
10
10
|
meta
|
|
11
11
|
} from "./chunk-WYR4QHPE.mjs";
|
|
@@ -324,12 +324,13 @@ var useDeployDeps = ({ script }) => {
|
|
|
324
324
|
};
|
|
325
325
|
|
|
326
326
|
// src/hooks/useToolbarState.ts
|
|
327
|
-
import { Atom
|
|
328
|
-
import {
|
|
327
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
328
|
+
import { useMemo as useMemo2 } from "react";
|
|
329
|
+
import { Capabilities } from "@dxos/app-framework";
|
|
330
|
+
import { useCapability } from "@dxos/app-framework/ui";
|
|
329
331
|
var useToolbarState = (initialState = {}) => {
|
|
330
|
-
const registry =
|
|
332
|
+
const registry = useCapability(Capabilities.AtomRegistry);
|
|
331
333
|
const atom = useMemo2(() => Atom.make(initialState), []);
|
|
332
|
-
const value = useAtomValue(atom);
|
|
333
334
|
return useMemo2(() => ({
|
|
334
335
|
atom,
|
|
335
336
|
get value() {
|
|
@@ -346,13 +347,12 @@ var useToolbarState = (initialState = {}) => {
|
|
|
346
347
|
}
|
|
347
348
|
}), [
|
|
348
349
|
atom,
|
|
349
|
-
registry
|
|
350
|
-
value
|
|
350
|
+
registry
|
|
351
351
|
]);
|
|
352
352
|
};
|
|
353
353
|
|
|
354
354
|
// src/hooks/useCompiler.ts
|
|
355
|
-
import { useCapabilities, usePluginManager } from "@dxos/app-framework/
|
|
355
|
+
import { useCapabilities, usePluginManager } from "@dxos/app-framework/ui";
|
|
356
356
|
import { runAndForwardErrors } from "@dxos/effect";
|
|
357
357
|
import { useAsyncEffect } from "@dxos/react-ui";
|
|
358
358
|
var useCompiler = () => {
|
|
@@ -476,7 +476,7 @@ var createTemplateSelect = (script) => {
|
|
|
476
476
|
|
|
477
477
|
// src/hooks/useCreateAndDeployScriptTemplates.ts
|
|
478
478
|
import { useCallback, useState } from "react";
|
|
479
|
-
import { useOperationInvoker } from "@dxos/app-framework/
|
|
479
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
480
480
|
import { Obj as Obj6 } from "@dxos/echo";
|
|
481
481
|
import { Script } from "@dxos/functions";
|
|
482
482
|
import { invariant } from "@dxos/invariant";
|
|
@@ -554,4 +554,4 @@ export {
|
|
|
554
554
|
useToolbarState,
|
|
555
555
|
useCompiler
|
|
556
556
|
};
|
|
557
|
-
//# sourceMappingURL=chunk-
|
|
557
|
+
//# sourceMappingURL=chunk-WWCDIB6Z.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/deploy.ts", "../../../src/util/functions.ts", "../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/useCompiler.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { bundleFunction } from '@dxos/functions-runtime/bundler';\nimport { FunctionsServiceClient, incrementSemverPatch } from '@dxos/functions-runtime/edge';\nimport { log } from '@dxos/log';\nimport { FunctionRuntimeKind } from '@dxos/protocols';\nimport { type Space } from '@dxos/react-client/echo';\n\nexport const isScriptDeployed = ({ script, fn }: { script: Script.Script; fn: any }): boolean => {\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionId) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: Script.Script;\n client: Client;\n space: Space;\n fn?: Function.Function;\n existingFunctionId?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionId?: string };\n\n/**\n * Deploy a script to a space, handling bundling and uploading to the FaaS infrastructure.\n */\nexport const deployScript = async ({\n script,\n client,\n space,\n fn,\n existingFunctionId,\n}: DeployScriptProps): Promise<DeployScriptResult> => {\n const validationError = validateDeployInputs(script, space);\n if (validationError) {\n return { success: false, error: validationError };\n }\n\n try {\n const buildResult = await bundleFunction({\n source: script.source!.target!.content,\n });\n if ('error' in buildResult) {\n throw buildResult.error || new Error('Bundle creation failed');\n }\n\n const functionsServiceClient = FunctionsServiceClient.fromClient(client);\n const newFunction = await functionsServiceClient.deploy({\n // TODO(dmaretskyi): Space key or identity key.\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n entryPoint: buildResult.entryPoint,\n assets: buildResult.assets,\n runtime: FunctionRuntimeKind.enums.WORKER_LOADER,\n });\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);\n Obj.change(script, (s) => {\n s.changed = false;\n });\n\n return { success: true, functionId: getUserFunctionIdInMetadata(Obj.getMeta(storedFunction)) };\n } catch (err: any) {\n log.catch(err);\n return { success: false, error: err };\n }\n};\n\n/**\n * Validate inputs for script deployment.\n */\nconst validateDeployInputs = (script: Script.Script, space: Space): Error | null => {\n if (!script.source || !space) {\n return new Error('Script source or space not available');\n }\n return null;\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: Function.Function | undefined,\n script: Script.Script,\n newFunction: Function.Function,\n): Function.Function => {\n if (fn) {\n Function.setFrom(fn, newFunction);\n return fn;\n } else {\n Obj.change(newFunction, (f) => {\n f.source = Ref.make(script);\n });\n return space.db.add(newFunction);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { type Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { getSpace } from '@dxos/react-client/echo';\n/**\n * Get the function URL for a given script and client configuration\n */\nexport const getFunctionUrl = ({\n script,\n fn,\n edgeUrl,\n}: {\n script: Script.Script;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n\n if (!existingFunctionId) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionId, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (\n script: Script.Script,\n storedFunction: Function.Function,\n meta: any,\n functionId: string,\n) => {\n Obj.change(storedFunction, (f) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n f.description = script.description;\n } else if (meta.description) {\n f.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n f.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n f.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n if (meta.key) {\n f.key = meta.key;\n } else {\n log.verbose('no key in function metadata', { functionId });\n }\n });\n};\n\nexport const getAccessCredential = (identityKey: PublicKey): Credential => {\n return {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { Obj, Query, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/ui-theme';\n\nimport { meta } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nimport { type ScriptToolbarStateStore } from './useToolbarState';\n\nexport type CreateDeployOptions = {\n state: ScriptToolbarStateStore;\n script: Script.Script;\n fn: Function.Function;\n space?: Space;\n existingFunctionId?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }: CreateDeployOptions) => {\n const { value } = state;\n\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: value.error ?? ['no error label', { ns: meta.id }],\n icon: 'ph--warning-circle--regular',\n hidden: !value.error,\n classNames: value.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.set('error', undefined);\n state.set('deploying', true);\n\n const result = await deployScript({ script, client, space, fn, existingFunctionId });\n\n if (!result.success) {\n log.catch(result.error);\n state.set('error', t('upload failed label'));\n }\n\n state.set('deploying', false);\n },\n {\n type: 'deploy',\n label: [value.deploying ? 'publishing label' : 'deploy label', { ns: meta.id }],\n icon: value.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: value.deploying,\n classNames: value.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (value.functionUrl) {\n await navigator.clipboard.writeText(value.functionUrl);\n }\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disabled: !value.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: ScriptToolbarStateStore; script: Script.Script }) => {\n const { space, client, fn, existingFunctionId } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionId) {\n return;\n }\n\n state.set(\n 'functionUrl',\n getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n }),\n );\n }, [existingFunctionId, space, fn, script, client.config.values.runtime?.services?.edge?.url, state]);\n\n useEffect(() => {\n state.set('deployed', isScriptDeployed({ script, fn }));\n }, [script.changed, existingFunctionId, fn, script, state]);\n};\n\nexport const useDeployDeps = ({ script }: { script: Script.Script }) => {\n const client = useClient();\n const space = getSpace(script);\n const [fn] = useQuery(space?.db, Query.type(Function.Function, { source: Ref.make(script) }));\n const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(Obj.getMeta(fn)), [fn]);\n return { client, space, fn, existingFunctionId };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, RegistryContext, useAtomValue } from '@effect-atom/atom-react';\nimport { useContext, useMemo } from 'react';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\nexport type ScriptToolbarStateStore = {\n atom: Atom.Writable<ScriptToolbarState>;\n get value(): ScriptToolbarState;\n update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => void;\n set: <K extends keyof ScriptToolbarState>(key: K, value: ScriptToolbarState[K]) => void;\n};\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}): ScriptToolbarStateStore => {\n const registry = useContext(RegistryContext);\n const atom = useMemo(() => Atom.make<ScriptToolbarState>(initialState), []);\n const value = useAtomValue(atom);\n\n return useMemo(\n () => ({\n atom,\n get value() {\n return registry.get(atom);\n },\n update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => {\n registry.set(atom, updater(registry.get(atom)));\n },\n set: <K extends keyof ScriptToolbarState>(key: K, v: ScriptToolbarState[K]) => {\n registry.set(atom, { ...registry.get(atom), [key]: v });\n },\n }),\n [atom, registry, value],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCapabilities, usePluginManager } from '@dxos/app-framework/react';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport type { Compiler } from '../compiler';\nimport { ScriptEvents } from '../types';\nimport { ScriptCapabilities } from '../types';\n\n/**\n * Asynchronously sets up the compiler and returns it.\n * @returns The compiler instance or undefined if it is not ready.\n */\nexport const useCompiler = (): Compiler | undefined => {\n const manager = usePluginManager();\n useAsyncEffect(async () => {\n await manager.activate(ScriptEvents.SetupCompiler).pipe(runAndForwardErrors);\n }, [manager]);\n const [compiler] = useCapabilities(ScriptCapabilities.Compiler);\n return compiler;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { Obj } from '@dxos/echo';\nimport { type Script } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: Script.Script) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n const formatted = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n Obj.change(script.source.target!, (s) => {\n s.content = formatted;\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [\n {\n source: 'root',\n target: 'format',\n },\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { FUNCTIONS_PRESET_META_KEY, type Script } from '@dxos/functions';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectActions = (script: Script.Script) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n Obj.change(script, (s) => {\n s.name = template.name;\n const meta = Obj.getMeta(s);\n const oldPresetIndex = meta.keys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n meta.keys.splice(oldPresetIndex, 1);\n }\n if ('presetId' in template) {\n meta.keys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n });\n if (script.source?.target) {\n Obj.change(script.source.target, (s) => {\n s.content = template.source;\n });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: Script.Script) => {\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/react';\nimport { Obj } from '@dxos/echo';\nimport { Script } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type Template } from '../templates';\nimport { ScriptOperation } from '../types';\nimport { deployScript } from '../util';\n\ntype DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';\n\n/**\n * Hook for creating and deploying multiple script templates concurrently.\n *\n * Takes a space and an array of script template IDs, then provides a callback\n * function that creates each script from its template and deploys it to the space.\n * All creation / deployment operations run concurrently for improved performance.\n */\nexport const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const [status, setStatus] = useState<DeploymentStatus>('idle');\n const [error, setError] = useState<Error | undefined>(undefined);\n\n const handleCreateAndDeployScripts = useCallback(async () => {\n invariant(space);\n setStatus('pending');\n setError(undefined);\n\n const deploymentResults = await Promise.all(\n scriptTemplates.map(async (template) => {\n const createResult = await invokePromise(ScriptOperation.CreateScript, {\n db: space.db,\n initialTemplateId: template.id as any,\n });\n invariant(Obj.instanceOf(Script.Script, createResult.data?.object));\n await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });\n\n return deployScript({ space, client, script: createResult.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, invokePromise, client, scriptTemplates]);\n\n // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;AAKA,SAASA,KAAKC,WAAW;AACzB,SAASC,UAAuBC,mCAAmC;AACnE,SAASC,sBAAsB;AAC/B,SAASC,wBAAwBC,4BAA4B;AAC7D,SAASC,WAAW;AACpB,SAASC,2BAA2B;;AAG7B,IAAMC,mBAAmB,CAAC,EAAEC,QAAQC,GAAE,MAAsC;AACjF,QAAMC,qBAAqBD,MAAMR,4BAA4BH,IAAIa,QAAQF,EAAAA,CAAAA;AACzE,SAAOG,QAAQF,kBAAAA,KAAuB,CAACF,OAAOK;AAChD;AAeO,IAAMC,eAAe,OAAO,EACjCN,QACAO,QACAC,OACAP,IACAC,mBAAkB,MACA;AAClB,QAAMO,kBAAkBC,qBAAqBV,QAAQQ,KAAAA;AACrD,MAAIC,iBAAiB;AACnB,WAAO;MAAEE,SAAS;MAAOC,OAAOH;IAAgB;EAClD;AAEA,MAAI;AACF,UAAMI,cAAc,MAAMnB,eAAe;MACvCoB,QAAQd,OAAOc,OAAQC,OAAQC;IACjC,CAAA;AACA,QAAI,WAAWH,aAAa;AAC1B,YAAMA,YAAYD,SAAS,IAAIK,MAAM,wBAAA;IACvC;AAEA,UAAMC,yBAAyBvB,uBAAuBwB,WAAWZ,MAAAA;AACjE,UAAMa,cAAc,MAAMF,uBAAuBG,OAAO;;MAEtDC,gBAAgBd,MAAMe;MACtBC,SAASvB,KAAKL,qBAAqBK,GAAGuB,OAAO,IAAI;MACjDC,YAAYvB;MACZwB,YAAYb,YAAYa;MACxBC,QAAQd,YAAYc;MACpBC,SAAS9B,oBAAoB+B,MAAMC;IACrC,CAAA;AAEA,UAAMC,iBAAiBC,8BAA8BxB,OAAOP,IAAID,QAAQoB,WAAAA;AACxE9B,QAAI2C,OAAOjC,QAAQ,CAACkC,MAAAA;AAClBA,QAAE7B,UAAU;IACd,CAAA;AAEA,WAAO;MAAEM,SAAS;MAAMc,YAAYhC,4BAA4BH,IAAIa,QAAQ4B,cAAAA,CAAAA;IAAiB;EAC/F,SAASI,KAAU;AACjBtC,QAAIuC,MAAMD,KAAAA,QAAAA;;;;;;AACV,WAAO;MAAExB,SAAS;MAAOC,OAAOuB;IAAI;EACtC;AACF;AAKA,IAAMzB,uBAAuB,CAACV,QAAuBQ,UAAAA;AACnD,MAAI,CAACR,OAAOc,UAAU,CAACN,OAAO;AAC5B,WAAO,IAAIS,MAAM,sCAAA;EACnB;AACA,SAAO;AACT;AAEA,IAAMe,gCAAgC,CACpCxB,OACAP,IACAD,QACAoB,gBAAAA;AAEA,MAAInB,IAAI;AACNT,aAAS6C,QAAQpC,IAAImB,WAAAA;AACrB,WAAOnB;EACT,OAAO;AACLX,QAAI2C,OAAOb,aAAa,CAACkB,MAAAA;AACvBA,QAAExB,SAASvB,IAAIgD,KAAKvC,MAAAA;IACtB,CAAA;AACA,WAAOQ,MAAMgC,GAAGC,IAAIrB,WAAAA;EACtB;AACF;;;AC/FA,SAASsB,OAAAA,YAAW;AACpB,SAAqCC,+BAAAA,oCAAmC;AACxE,SAASC,wBAAwB;AAEjC,SAASC,OAAAA,YAAW;AAEpB,SAASC,gBAAgB;;AAIlB,IAAMC,iBAAiB,CAAC,EAC7BC,QACAC,IACAC,QAAO,MAKR;AACC,QAAMC,QAAQL,SAASE,MAAAA;AACvB,QAAMI,qBAAqBH,MAAMN,6BAA4BD,KAAIW,QAAQJ,EAAAA,CAAAA;AAEzE,MAAI,CAACG,oBAAoB;AACvB,WAAOE;EACT;AAEA,SAAOV,iBAAiBQ,oBAAoBF,SAAS;IACnDK,SAASJ,OAAOK;EAClB,CAAA;AACF;AAEO,IAAMC,yBAAyB,CACpCT,QACAU,gBACAC,OACAC,eAAAA;AAEAlB,EAAAA,KAAImB,OAAOH,gBAAgB,CAACI,MAAAA;AAC1B,QAAId,OAAOe,gBAAgBT,UAAaN,OAAOe,YAAYC,KAAI,MAAO,IAAI;AACxEF,QAAEC,cAAcf,OAAOe;IACzB,WAAWJ,MAAKI,aAAa;AAC3BD,QAAEC,cAAcJ,MAAKI;IACvB,OAAO;AACLlB,MAAAA,KAAIoB,QAAQ,uCAAuC;QAAEL;MAAW,GAAA;;;;;;IAClE;AAEA,QAAID,MAAKO,aAAa;AACpBJ,QAAEI,cAAcP,MAAKO;IACvB,OAAO;AACLrB,MAAAA,KAAIoB,QAAQ,wCAAwC;QAAEL;MAAW,GAAA;;;;;;IACnE;AAEA,QAAID,MAAKQ,cAAc;AACrBL,QAAEK,eAAeR,MAAKQ;IACxB,OAAO;AACLtB,MAAAA,KAAIoB,QAAQ,yCAAyC;QAAEL;MAAW,GAAA;;;;;;IACpE;AAEA,QAAID,MAAKS,KAAK;AACZN,QAAEM,MAAMT,MAAKS;IACf,OAAO;AACLvB,MAAAA,KAAIoB,QAAQ,+BAA+B;QAAEL;MAAW,GAAA;;;;;;IAC1D;EACF,CAAA;AACF;AAEO,IAAMS,sBAAsB,CAACC,gBAAAA;AAClC,SAAO;IACLC,QAAQD;IACRE,cAAc,oBAAIC,KAAAA;IAClBC,SAAS;MACPlB,IAAIc;MACJK,WAAW;QACT,SAAS;QACTC,YAAY;QACZC,WAAWP;QACXA;QACAQ,cAAc;UAAC;;MACjB;IACF;EACF;AACF;;;ACjFA,SAASC,WAAWC,eAAe;AAEnC,SAASC,OAAAA,MAAKC,OAAOC,OAAAA,YAAW;AAChC,SAASC,YAAAA,WAAuBC,+BAAAA,oCAAmC;AACnE,SAASC,OAAAA,YAAW;AACpB,SAAsBC,iBAAiB;AACvC,SAAqBC,YAAAA,WAAUC,gBAAgB;AAE/C,SAASC,wBAAwB;AACjC,SAASC,0BAA0B;;AA0B5B,IAAMC,eAAe,CAAC,EAAEC,OAAOC,QAAQC,OAAOC,IAAIC,QAAQC,oBAAoBC,EAAC,MAAuB;AAC3G,QAAM,EAAEC,MAAK,IAAKP;AAGlB,QAAMQ,YAAYC,iBAAiB,SAAS,MAAA;EAAO,GAAG;IACpDC,OAAOH,MAAMI,SAAS;MAAC;MAAkB;QAAEC,IAAIC,KAAKC;MAAG;;IACvDC,MAAM;IACNC,QAAQ,CAACT,MAAMI;IACfM,YAAYV,MAAMI,SAASO;EAC7B,CAAA;AAEA,QAAMC,eAAeV,iBACnB,UACA,YAAA;AACE,QAAI,CAACR,OAAOmB,UAAU,CAAClB,OAAO;AAC5B;IACF;AAEAF,UAAMqB,IAAI,SAASC,MAAAA;AACnBtB,UAAMqB,IAAI,aAAa,IAAA;AAEvB,UAAME,SAAS,MAAMC,aAAa;MAAEvB;MAAQG;MAAQF;MAAOC;MAAIE;IAAmB,CAAA;AAElF,QAAI,CAACkB,OAAOE,SAAS;AACnBC,MAAAA,KAAIC,MAAMJ,OAAOZ,OAAK,QAAA;;;;;;AACtBX,YAAMqB,IAAI,SAASf,EAAE,qBAAA,CAAA;IACvB;AAEAN,UAAMqB,IAAI,aAAa,KAAA;EACzB,GACA;IACEO,MAAM;IACNlB,OAAO;MAACH,MAAMsB,YAAY,qBAAqB;MAAgB;QAAEjB,IAAIC,KAAKC;MAAG;;IAC7EC,MAAMR,MAAMsB,YAAY,6BAA6B;IACrDC,UAAUvB,MAAMsB;IAChBZ,YAAYV,MAAMsB,YAAY,yBAAyB;EACzD,CAAA;AAGF,QAAME,aAAatB,iBACjB,QACA,YAAA;AACE,QAAIF,MAAMyB,aAAa;AACrB,YAAMC,UAAUC,UAAUC,UAAU5B,MAAMyB,WAAW;IACvD;EACF,GACA;IACEJ,MAAM;IACNlB,OAAO;MAAC;MAAmB;QAAEE,IAAIC,KAAKC;MAAG;;IACzCC,MAAM;IACNe,UAAU,CAACvB,MAAMyB;EACnB,CAAA;AAGF,SAAO;IACLI,OAAO;MAAC5B;MAAWW;MAAcY;;IACjCM,OAAO;MACL;QAAEjB,QAAQ;QAAQkB,QAAQ;MAAQ;MAClC;QAAElB,QAAQ;QAAQkB,QAAQ;MAAS;MACnC;QAAElB,QAAQ;QAAQkB,QAAQ;MAAO;;EAErC;AACF;AAEO,IAAMC,iBAAiB,CAAC,EAAEvC,OAAOC,OAAM,MAA6D;AACzG,QAAM,EAAEC,OAAOE,QAAQD,IAAIE,mBAAkB,IAAKmC,cAAc;IAAEvC;EAAO,CAAA;AACzEwC,YAAU,MAAA;AACR,QAAI,CAACpC,oBAAoB;AACvB;IACF;AAEAL,UAAMqB,IACJ,eACAqB,eAAe;MACbzC;MACAE;MACAwC,SAASvC,OAAOwC,OAAOC,OAAOC,SAASC,UAAUC,MAAMC,OAAO;IAChE,CAAA,CAAA;EAEJ,GAAG;IAAC5C;IAAoBH;IAAOC;IAAIF;IAAQG,OAAOwC,OAAOC,OAAOC,SAASC,UAAUC,MAAMC;IAAKjD;GAAM;AAEpGyC,YAAU,MAAA;AACRzC,UAAMqB,IAAI,YAAY6B,iBAAiB;MAAEjD;MAAQE;IAAG,CAAA,CAAA;EACtD,GAAG;IAACF,OAAOkD;IAAS9C;IAAoBF;IAAIF;IAAQD;GAAM;AAC5D;AAEO,IAAMwC,gBAAgB,CAAC,EAAEvC,OAAM,MAA6B;AACjE,QAAMG,SAASgD,UAAAA;AACf,QAAMlD,QAAQmD,UAASpD,MAAAA;AACvB,QAAM,CAACE,EAAAA,IAAMmD,SAASpD,OAAOqD,IAAIC,MAAM5B,KAAK6B,UAASA,UAAU;IAAErC,QAAQsC,KAAIC,KAAK1D,MAAAA;EAAQ,CAAA,CAAA;AAC1F,QAAMI,qBAAqBuD,QAAQ,MAAMzD,MAAM0D,6BAA4BC,KAAIC,QAAQ5D,EAAAA,CAAAA,GAAM;IAACA;GAAG;AACjG,SAAO;IAAEC;IAAQF;IAAOC;IAAIE;EAAmB;AACjD;;;AC/HA,SAAS2D,
|
|
6
|
-
"names": ["Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "bundleFunction", "FunctionsServiceClient", "incrementSemverPatch", "log", "FunctionRuntimeKind", "isScriptDeployed", "script", "fn", "existingFunctionId", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "buildResult", "source", "target", "content", "Error", "functionsServiceClient", "fromClient", "newFunction", "deploy", "ownerPublicKey", "key", "version", "functionId", "entryPoint", "assets", "runtime", "enums", "WORKER_LOADER", "storedFunction", "createOrUpdateFunctionInSpace", "change", "s", "err", "catch", "setFrom", "f", "make", "db", "add", "Obj", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionId", "getMeta", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "change", "f", "description", "trim", "verbose", "inputSchema", "outputSchema", "key", "getAccessCredential", "identityKey", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "useEffect", "useMemo", "Obj", "Query", "Ref", "Function", "getUserFunctionIdInMetadata", "log", "useClient", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionId", "t", "value", "errorItem", "createMenuAction", "label", "error", "ns", "meta", "id", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "set", "undefined", "result", "deployScript", "success", "log", "catch", "type", "deploying", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "isScriptDeployed", "changed", "useClient", "getSpace", "useQuery", "db", "Query", "Function", "Ref", "make", "useMemo", "getUserFunctionIdInMetadata", "Obj", "getMeta", "Atom", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { bundleFunction } from '@dxos/functions-runtime/bundler';\nimport { FunctionsServiceClient, incrementSemverPatch } from '@dxos/functions-runtime/edge';\nimport { log } from '@dxos/log';\nimport { FunctionRuntimeKind } from '@dxos/protocols';\nimport { type Space } from '@dxos/react-client/echo';\n\nexport const isScriptDeployed = ({ script, fn }: { script: Script.Script; fn: any }): boolean => {\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionId) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: Script.Script;\n client: Client;\n space: Space;\n fn?: Function.Function;\n existingFunctionId?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionId?: string };\n\n/**\n * Deploy a script to a space, handling bundling and uploading to the FaaS infrastructure.\n */\nexport const deployScript = async ({\n script,\n client,\n space,\n fn,\n existingFunctionId,\n}: DeployScriptProps): Promise<DeployScriptResult> => {\n const validationError = validateDeployInputs(script, space);\n if (validationError) {\n return { success: false, error: validationError };\n }\n\n try {\n const buildResult = await bundleFunction({\n source: script.source!.target!.content,\n });\n if ('error' in buildResult) {\n throw buildResult.error || new Error('Bundle creation failed');\n }\n\n const functionsServiceClient = FunctionsServiceClient.fromClient(client);\n const newFunction = await functionsServiceClient.deploy({\n // TODO(dmaretskyi): Space key or identity key.\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n entryPoint: buildResult.entryPoint,\n assets: buildResult.assets,\n runtime: FunctionRuntimeKind.enums.WORKER_LOADER,\n });\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, newFunction);\n Obj.change(script, (s) => {\n s.changed = false;\n });\n\n return { success: true, functionId: getUserFunctionIdInMetadata(Obj.getMeta(storedFunction)) };\n } catch (err: any) {\n log.catch(err);\n return { success: false, error: err };\n }\n};\n\n/**\n * Validate inputs for script deployment.\n */\nconst validateDeployInputs = (script: Script.Script, space: Space): Error | null => {\n if (!script.source || !space) {\n return new Error('Script source or space not available');\n }\n return null;\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: Function.Function | undefined,\n script: Script.Script,\n newFunction: Function.Function,\n): Function.Function => {\n if (fn) {\n Function.setFrom(fn, newFunction);\n return fn;\n } else {\n Obj.change(newFunction, (f) => {\n f.source = Ref.make(script);\n });\n return space.db.add(newFunction);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { type Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { getInvocationUrl } from '@dxos/functions-runtime';\nimport { type PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { getSpace } from '@dxos/react-client/echo';\n/**\n * Get the function URL for a given script and client configuration\n */\nexport const getFunctionUrl = ({\n script,\n fn,\n edgeUrl,\n}: {\n script: Script.Script;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionId = fn && getUserFunctionIdInMetadata(Obj.getMeta(fn));\n\n if (!existingFunctionId) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionId, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (\n script: Script.Script,\n storedFunction: Function.Function,\n meta: any,\n functionId: string,\n) => {\n Obj.change(storedFunction, (f) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n f.description = script.description;\n } else if (meta.description) {\n f.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n f.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n f.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n\n if (meta.key) {\n f.key = meta.key;\n } else {\n log.verbose('no key in function metadata', { functionId });\n }\n });\n};\n\nexport const getAccessCredential = (identityKey: PublicKey): Credential => {\n return {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { Obj, Query, Ref } from '@dxos/echo';\nimport { Function, type Script, getUserFunctionIdInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { type TFunction } from '@dxos/react-ui';\nimport { createMenuAction } from '@dxos/react-ui-menu';\nimport { errorMessageColors } from '@dxos/ui-theme';\n\nimport { meta } from '../meta';\nimport { deployScript, getFunctionUrl, isScriptDeployed } from '../util';\n\nexport type DeployActionProperties = { type: 'deploy' } | { type: 'copy' };\n\nexport type DeployState = {\n deploying: boolean;\n deployed: boolean;\n functionUrl: string;\n error: string;\n};\n\nimport { type ScriptToolbarStateStore } from './useToolbarState';\n\nexport type CreateDeployOptions = {\n state: ScriptToolbarStateStore;\n script: Script.Script;\n fn: Function.Function;\n space?: Space;\n existingFunctionId?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionId, t }: CreateDeployOptions) => {\n const { value } = state;\n\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: value.error ?? ['no error label', { ns: meta.id }],\n icon: 'ph--warning-circle--regular',\n hidden: !value.error,\n classNames: value.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.set('error', undefined);\n state.set('deploying', true);\n\n const result = await deployScript({ script, client, space, fn, existingFunctionId });\n\n if (!result.success) {\n log.catch(result.error);\n state.set('error', t('upload failed label'));\n }\n\n state.set('deploying', false);\n },\n {\n type: 'deploy',\n label: [value.deploying ? 'publishing label' : 'deploy label', { ns: meta.id }],\n icon: value.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: value.deploying,\n classNames: value.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (value.functionUrl) {\n await navigator.clipboard.writeText(value.functionUrl);\n }\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disabled: !value.functionUrl,\n },\n );\n\n return {\n nodes: [errorItem, deployAction, copyAction],\n edges: [\n { source: 'root', target: 'error' },\n { source: 'root', target: 'deploy' },\n { source: 'root', target: 'copy' },\n ],\n };\n};\n\nexport const useDeployState = ({ state, script }: { state: ScriptToolbarStateStore; script: Script.Script }) => {\n const { space, client, fn, existingFunctionId } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionId) {\n return;\n }\n\n state.set(\n 'functionUrl',\n getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n }),\n );\n }, [existingFunctionId, space, fn, script, client.config.values.runtime?.services?.edge?.url, state]);\n\n useEffect(() => {\n state.set('deployed', isScriptDeployed({ script, fn }));\n }, [script.changed, existingFunctionId, fn, script, state]);\n};\n\nexport const useDeployDeps = ({ script }: { script: Script.Script }) => {\n const client = useClient();\n const space = getSpace(script);\n const [fn] = useQuery(space?.db, Query.type(Function.Function, { source: Ref.make(script) }));\n const existingFunctionId = useMemo(() => fn && getUserFunctionIdInMetadata(Obj.getMeta(fn)), [fn]);\n return { client, space, fn, existingFunctionId };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport { useMemo } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\nexport type ScriptToolbarStateStore = {\n atom: Atom.Writable<ScriptToolbarState>;\n get value(): ScriptToolbarState;\n update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => void;\n set: <K extends keyof ScriptToolbarState>(key: K, value: ScriptToolbarState[K]) => void;\n};\n\nexport const useToolbarState = (initialState: ScriptToolbarState = {}): ScriptToolbarStateStore => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const atom = useMemo(() => Atom.make<ScriptToolbarState>(initialState), []);\n\n return useMemo(\n () => ({\n atom,\n get value() {\n return registry.get(atom);\n },\n update: (updater: (current: ScriptToolbarState) => ScriptToolbarState) => {\n registry.set(atom, updater(registry.get(atom)));\n },\n set: <K extends keyof ScriptToolbarState>(key: K, v: ScriptToolbarState[K]) => {\n registry.set(atom, { ...registry.get(atom), [key]: v });\n },\n }),\n [atom, registry],\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCapabilities, usePluginManager } from '@dxos/app-framework/ui';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { useAsyncEffect } from '@dxos/react-ui';\n\nimport type { Compiler } from '../compiler';\nimport { ScriptEvents } from '../types';\nimport { ScriptCapabilities } from '../types';\n\n/**\n * Asynchronously sets up the compiler and returns it.\n * @returns The compiler instance or undefined if it is not ready.\n */\nexport const useCompiler = (): Compiler | undefined => {\n const manager = usePluginManager();\n useAsyncEffect(async () => {\n await manager.activate(ScriptEvents.SetupCompiler).pipe(runAndForwardErrors);\n }, [manager]);\n const [compiler] = useCapabilities(ScriptCapabilities.Compiler);\n return compiler;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { format } from 'prettier';\nimport prettierPluginEstree from 'prettier/plugins/estree';\nimport prettierPluginTypescript from 'prettier/plugins/typescript';\n\nimport { Obj } from '@dxos/echo';\nimport { type Script } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { meta } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: Script.Script) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n const formatted = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n Obj.change(script.source.target!, (s) => {\n s.content = formatted;\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n },\n );\n\n return {\n nodes: [formatAction],\n edges: [\n {\n source: 'root',\n target: 'format',\n },\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Obj } from '@dxos/echo';\nimport { FUNCTIONS_PRESET_META_KEY, type Script } from '@dxos/functions';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectActions = (script: Script.Script) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n Obj.change(script, (s) => {\n s.name = template.name;\n const meta = Obj.getMeta(s);\n const oldPresetIndex = meta.keys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n meta.keys.splice(oldPresetIndex, 1);\n }\n if ('presetId' in template) {\n meta.keys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n });\n if (script.source?.target) {\n Obj.change(script.source.target, (s) => {\n s.content = template.source;\n });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: Script.Script) => {\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Obj } from '@dxos/echo';\nimport { Script } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceOperation } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { type Template } from '../templates';\nimport { ScriptOperation } from '../types';\nimport { deployScript } from '../util';\n\ntype DeploymentStatus = 'idle' | 'pending' | 'success' | 'error';\n\n/**\n * Hook for creating and deploying multiple script templates concurrently.\n *\n * Takes a space and an array of script template IDs, then provides a callback\n * function that creates each script from its template and deploys it to the space.\n * All creation / deployment operations run concurrently for improved performance.\n */\nexport const useCreateAndDeployScriptTemplates = (space: Space | undefined, scriptTemplates: Template[]) => {\n const { invokePromise } = useOperationInvoker();\n const client = useClient();\n const [status, setStatus] = useState<DeploymentStatus>('idle');\n const [error, setError] = useState<Error | undefined>(undefined);\n\n const handleCreateAndDeployScripts = useCallback(async () => {\n invariant(space);\n setStatus('pending');\n setError(undefined);\n\n const deploymentResults = await Promise.all(\n scriptTemplates.map(async (template) => {\n const createResult = await invokePromise(ScriptOperation.CreateScript, {\n db: space.db,\n initialTemplateId: template.id as any,\n });\n invariant(Obj.instanceOf(Script.Script, createResult.data?.object));\n await invokePromise(SpaceOperation.AddObject, { target: space.db, object: createResult.data.object });\n\n return deployScript({ space, client, script: createResult.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, invokePromise, client, scriptTemplates]);\n\n // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Obj", "Ref", "Function", "getUserFunctionIdInMetadata", "bundleFunction", "FunctionsServiceClient", "incrementSemverPatch", "log", "FunctionRuntimeKind", "isScriptDeployed", "script", "fn", "existingFunctionId", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "buildResult", "source", "target", "content", "Error", "functionsServiceClient", "fromClient", "newFunction", "deploy", "ownerPublicKey", "key", "version", "functionId", "entryPoint", "assets", "runtime", "enums", "WORKER_LOADER", "storedFunction", "createOrUpdateFunctionInSpace", "change", "s", "err", "catch", "setFrom", "f", "make", "db", "add", "Obj", "getUserFunctionIdInMetadata", "getInvocationUrl", "log", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionId", "getMeta", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "change", "f", "description", "trim", "verbose", "inputSchema", "outputSchema", "key", "getAccessCredential", "identityKey", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "useEffect", "useMemo", "Obj", "Query", "Ref", "Function", "getUserFunctionIdInMetadata", "log", "useClient", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionId", "t", "value", "errorItem", "createMenuAction", "label", "error", "ns", "meta", "id", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "set", "undefined", "result", "deployScript", "success", "log", "catch", "type", "deploying", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "isScriptDeployed", "changed", "useClient", "getSpace", "useQuery", "db", "Query", "Function", "Ref", "make", "useMemo", "getUserFunctionIdInMetadata", "Obj", "getMeta", "Atom", "useMemo", "Capabilities", "useCapability", "useToolbarState", "initialState", "registry", "useCapability", "Capabilities", "AtomRegistry", "atom", "useMemo", "Atom", "make", "value", "get", "update", "updater", "set", "key", "v", "useCapabilities", "usePluginManager", "runAndForwardErrors", "useAsyncEffect", "useCompiler", "manager", "usePluginManager", "useAsyncEffect", "activate", "ScriptEvents", "SetupCompiler", "pipe", "runAndForwardErrors", "compiler", "useCapabilities", "ScriptCapabilities", "Compiler", "format", "prettierPluginEstree", "prettierPluginTypescript", "Obj", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "formatted", "format", "target", "content", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "Obj", "change", "s", "err", "log", "catch", "label", "ns", "meta", "id", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "id", "Obj", "change", "s", "name", "meta", "getMeta", "oldPresetIndex", "keys", "findIndex", "key", "source", "FUNCTIONS_PRESET_META_KEY", "splice", "push", "presetId", "target", "content", "label", "value", "type", "createTemplateSelect", "templateSelectActions", "nodes", "edges", "action", "useCallback", "useState", "useOperationInvoker", "Obj", "Script", "invariant", "SpaceOperation", "useClient", "useCreateAndDeployScriptTemplates", "space", "scriptTemplates", "invokePromise", "useOperationInvoker", "client", "useClient", "status", "setStatus", "useState", "error", "setError", "undefined", "handleCreateAndDeployScripts", "useCallback", "invariant", "deploymentResults", "Promise", "all", "map", "template", "createResult", "ScriptOperation", "CreateScript", "db", "initialTemplateId", "id", "Obj", "instanceOf", "Script", "data", "object", "SpaceOperation", "AddObject", "target", "deployScript", "script", "hasErrors", "some", "result", "success"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ScriptCapabilities
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-3BSF5BIA.mjs";
|
|
4
|
+
import "./chunk-4N5TLXEJ.mjs";
|
|
5
5
|
import "./chunk-WYR4QHPE.mjs";
|
|
6
6
|
import "./chunk-J5LGTIGS.mjs";
|
|
7
7
|
|
|
@@ -158,4 +158,4 @@ var fetchRuntimeModules = Effect.fnUntraced(function* () {
|
|
|
158
158
|
export {
|
|
159
159
|
compiler_default as default
|
|
160
160
|
};
|
|
161
|
-
//# sourceMappingURL=compiler-
|
|
161
|
+
//# sourceMappingURL=compiler-VPUVTFQD.mjs.map
|
|
@@ -7,28 +7,28 @@ import {
|
|
|
7
7
|
ScriptProperties,
|
|
8
8
|
TestContainer,
|
|
9
9
|
TestPanel
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VESMWSFW.mjs";
|
|
11
11
|
import {
|
|
12
12
|
DEPLOYMENT_DIALOG
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-BU6CGVU2.mjs";
|
|
14
14
|
import {
|
|
15
15
|
deployScript,
|
|
16
16
|
getAccessCredential,
|
|
17
17
|
getFunctionUrl,
|
|
18
18
|
isScriptDeployed,
|
|
19
19
|
updateFunctionMetadata
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-WWCDIB6Z.mjs";
|
|
21
21
|
import {
|
|
22
22
|
Notebook_exports,
|
|
23
23
|
ScriptCapabilities,
|
|
24
24
|
ScriptEvents,
|
|
25
25
|
ScriptOperation
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-
|
|
26
|
+
} from "./chunk-3BSF5BIA.mjs";
|
|
27
|
+
import "./chunk-4N5TLXEJ.mjs";
|
|
28
28
|
import {
|
|
29
29
|
NotebookMenu,
|
|
30
30
|
NotebookStack
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-BKGEAUUH.mjs";
|
|
32
32
|
import "./chunk-I7CSE6T3.mjs";
|
|
33
33
|
import {
|
|
34
34
|
defaultScriptsForIntegration,
|
|
@@ -38,34 +38,35 @@ import "./chunk-J5LGTIGS.mjs";
|
|
|
38
38
|
|
|
39
39
|
// src/ScriptPlugin.tsx
|
|
40
40
|
import * as Effect from "effect/Effect";
|
|
41
|
-
import {
|
|
41
|
+
import { Plugin } from "@dxos/app-framework";
|
|
42
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
42
43
|
import { Ref } from "@dxos/echo";
|
|
43
44
|
import { Script as Script2 } from "@dxos/functions";
|
|
44
45
|
import { Operation } from "@dxos/operation";
|
|
45
46
|
|
|
46
47
|
// src/capabilities/app-graph-builder/index.ts
|
|
47
48
|
import { Capability } from "@dxos/app-framework";
|
|
48
|
-
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-
|
|
49
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-66ZDI72K.mjs"));
|
|
49
50
|
|
|
50
51
|
// src/capabilities/blueprint-definition/index.ts
|
|
51
52
|
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
52
|
-
var BlueprintDefinition = Capability2.lazy("BlueprintDefinition", () => import("./blueprint-definition-
|
|
53
|
+
var BlueprintDefinition = Capability2.lazy("BlueprintDefinition", () => import("./blueprint-definition-YMZEJBAZ.mjs"));
|
|
53
54
|
|
|
54
55
|
// src/capabilities/compiler/index.ts
|
|
55
56
|
import { Capability as Capability3 } from "@dxos/app-framework";
|
|
56
|
-
var Compiler = Capability3.lazy("Compiler", () => import("./compiler-
|
|
57
|
+
var Compiler = Capability3.lazy("Compiler", () => import("./compiler-VPUVTFQD.mjs"));
|
|
57
58
|
|
|
58
59
|
// src/capabilities/operation-resolver/index.ts
|
|
59
60
|
import { Capability as Capability4 } from "@dxos/app-framework";
|
|
60
|
-
var OperationResolver = Capability4.lazy("OperationResolver", () => import("./operation-resolver-
|
|
61
|
+
var OperationResolver = Capability4.lazy("OperationResolver", () => import("./operation-resolver-OF6ZAQUA.mjs"));
|
|
61
62
|
|
|
62
63
|
// src/capabilities/react-surface/index.ts
|
|
63
64
|
import { Capability as Capability5 } from "@dxos/app-framework";
|
|
64
|
-
var ReactSurface = Capability5.lazy("ReactSurface", () => import("./react-surface-
|
|
65
|
+
var ReactSurface = Capability5.lazy("ReactSurface", () => import("./react-surface-AK6DRQ4V.mjs"));
|
|
65
66
|
|
|
66
67
|
// src/capabilities/settings/index.ts
|
|
67
68
|
import { Capability as Capability6 } from "@dxos/app-framework";
|
|
68
|
-
var ScriptSettings = Capability6.lazy("ScriptSettings", () => import("./settings-
|
|
69
|
+
var ScriptSettings = Capability6.lazy("ScriptSettings", () => import("./settings-5SF77MRH.mjs"));
|
|
69
70
|
|
|
70
71
|
// src/translations.ts
|
|
71
72
|
import { Script } from "@dxos/functions";
|
|
@@ -167,15 +168,11 @@ var translations = [
|
|
|
167
168
|
];
|
|
168
169
|
|
|
169
170
|
// src/ScriptPlugin.tsx
|
|
170
|
-
var ScriptPlugin = Plugin.define(meta).pipe(
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
activate: Compiler
|
|
176
|
-
}), Common.Plugin.addTranslationsModule({
|
|
177
|
-
translations
|
|
178
|
-
}), Common.Plugin.addMetadataModule({
|
|
171
|
+
var ScriptPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
172
|
+
activate: AppGraphBuilder
|
|
173
|
+
}), AppPlugin.addBlueprintDefinitionModule({
|
|
174
|
+
activate: BlueprintDefinition
|
|
175
|
+
}), AppPlugin.addMetadataModule({
|
|
179
176
|
metadata: [
|
|
180
177
|
{
|
|
181
178
|
id: Script2.Script.typename,
|
|
@@ -205,18 +202,22 @@ var ScriptPlugin = Plugin.define(meta).pipe(Plugin.addModule({
|
|
|
205
202
|
}
|
|
206
203
|
}
|
|
207
204
|
]
|
|
208
|
-
}),
|
|
209
|
-
activate:
|
|
210
|
-
}),
|
|
205
|
+
}), AppPlugin.addOperationResolverModule({
|
|
206
|
+
activate: OperationResolver
|
|
207
|
+
}), AppPlugin.addSchemaModule({
|
|
211
208
|
schema: [
|
|
212
209
|
Script2.Script
|
|
213
210
|
]
|
|
214
|
-
}),
|
|
211
|
+
}), AppPlugin.addSurfaceModule({
|
|
215
212
|
activate: ReactSurface
|
|
216
|
-
}),
|
|
217
|
-
|
|
218
|
-
}),
|
|
219
|
-
|
|
213
|
+
}), AppPlugin.addTranslationsModule({
|
|
214
|
+
translations
|
|
215
|
+
}), Plugin.addModule({
|
|
216
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
217
|
+
activate: ScriptSettings
|
|
218
|
+
}), Plugin.addModule({
|
|
219
|
+
activatesOn: ScriptEvents.SetupCompiler,
|
|
220
|
+
activate: Compiler
|
|
220
221
|
}), Plugin.make);
|
|
221
222
|
export {
|
|
222
223
|
DEPLOYMENT_DIALOG,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/ScriptPlugin.tsx", "../../../src/capabilities/app-graph-builder/index.ts", "../../../src/capabilities/blueprint-definition/index.ts", "../../../src/capabilities/compiler/index.ts", "../../../src/capabilities/operation-resolver/index.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/capabilities/settings/index.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,
|
|
6
|
-
"names": ["Effect", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { Ref } from '@dxos/echo';\nimport { Script } from '@dxos/functions';\nimport { Operation } from '@dxos/operation';\nimport { type CreateObject } from '@dxos/plugin-space/types';\n\nimport {\n AppGraphBuilder,\n BlueprintDefinition,\n Compiler,\n OperationResolver,\n ReactSurface,\n ScriptSettings,\n} from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { ScriptEvents } from './types';\nimport { Notebook, ScriptOperation } from './types';\n\nexport const ScriptPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addMetadataModule({\n metadata: [\n {\n id: Script.Script.typename,\n metadata: {\n icon: 'ph--code--regular',\n iconHue: 'sky',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (script: Script.Script) => await Ref.Array.loadAll([script.source]),\n inputSchema: ScriptOperation.ScriptProps,\n createObject: ((props) =>\n Effect.gen(function* () {\n const { object } = yield* Operation.invoke(ScriptOperation.CreateScript, props);\n return object;\n })) satisfies CreateObject,\n addToCollectionOnCreate: true,\n },\n },\n {\n id: Notebook.Notebook.typename,\n metadata: {\n icon: 'ph--notebook--regular',\n iconHue: 'sky',\n inputSchema: ScriptOperation.NotebookProps,\n createObject: ((props) => Effect.sync(() => Notebook.make(props))) satisfies CreateObject,\n addToCollectionOnCreate: true,\n },\n },\n ],\n }),\n AppPlugin.addOperationResolverModule({ activate: OperationResolver }),\n AppPlugin.addSchemaModule({ schema: [Script.Script] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupSettings,\n activate: ScriptSettings,\n }),\n Plugin.addModule({\n activatesOn: ScriptEvents.SetupCompiler,\n activate: Compiler,\n }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const Compiler = Capability.lazy('Compiler', () => import('./compiler'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const OperationResolver = Capability.lazy('OperationResolver', () => import('./operation-resolver'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ScriptSettings = Capability.lazy('ScriptSettings', () => import('./settings'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Script } from '@dxos/functions';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Notebook } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Script.Script.typename]: {\n 'typename label': 'Script',\n 'typename label_zero': 'Scripts',\n 'typename label_one': 'Script',\n 'typename label_other': 'Scripts',\n 'object name placeholder': 'New script',\n 'rename object label': 'Rename script',\n 'delete object label': 'Delete script',\n 'object deleted label': 'Script deleted',\n },\n [Notebook.Notebook.typename]: {\n 'typename label': 'Notebook',\n 'typename label_zero': 'Notebooks',\n 'typename label_one': 'Notebook',\n 'typename label_other': 'Notebooks',\n 'object name placeholder': 'New notebook',\n 'rename object label': 'Rename notebook',\n 'delete object label': 'Delete notebook',\n 'object deleted label': 'Notebook deleted',\n },\n [meta.id]: {\n 'plugin name': 'Scripts',\n 'settings title': 'Scripts plugin settings',\n 'description label': 'Description',\n 'description placeholder': 'Enter description',\n 'binding placeholder': 'Function name',\n 'function request placeholder': 'Function request',\n 'deploy label': 'Deploy',\n 'deployed label': 'Current version of the script is deployed',\n 'upload failed label': 'Upload failed',\n 'copy link label': 'Copy function link',\n 'format label': 'Format',\n 'toggle details label': 'Toggle details panel',\n 'authenticate action label': 'Authenticate functions service',\n 'authenticate button label': 'Authenticate',\n 'name label': 'Name',\n 'remote function settings heading': 'Remote Function',\n 'function url label': 'Invocation URL',\n 'function binding label': 'Function binding',\n 'function binding placeholder': 'Enter binding name (e.g., NAME)',\n 'script publish settings label': 'Publishing',\n 'script publish settings description': 'Scripts can be shared publicly as Github gists.',\n 'no github token label': 'This space has no GitHub access token available.',\n 'open token manager label': 'Open Token Manager',\n 'publish label': 'Publish',\n 'publishing label': 'Publishing',\n 'blueprint editor label': 'Blueprint',\n 'blueprint editor description': 'Create a blueprint that exposes this script as a tool.',\n 'blueprint instructions label': 'Instructions',\n 'blueprint instructions placeholder': 'Describe how this tool should be used.',\n 'create blueprint label': 'Create blueprint',\n 'creating label': 'Creating…',\n 'editor input mode label': 'Editor input mode',\n 'select editor input mode placeholder': 'Select editor input mode…',\n 'settings editor input mode default label': 'Default',\n 'settings editor input mode vim label': 'Vim',\n 'settings editor input mode vscode label': 'VS Code',\n 'function panel label': 'Debug Function',\n 'script test label': 'Test',\n 'script logs label': 'Logs',\n\n 'deployment dialog title': 'Default Scripts',\n 'deployment dialog scripts found message': 'Script templates:',\n 'deployment dialog deploy functions button label_one': 'Create and deploy script',\n 'deployment dialog deploy functions button label_other': 'Create and deploy scripts',\n 'deployment dialog deploy functions pending button label_one': 'Deploying script',\n 'deployment dialog deploy functions pending button label_other': 'Deploying scripts',\n 'deployment dialog skip button label': 'Skip',\n\n 'script deployment toast label_one': 'Script deployed',\n 'script deployment toast label_other': 'Scripts deployed',\n 'script deployment toast description_one': 'Your script has been deployed successfully.',\n 'script deployment toast description_other': 'Your scripts have been deployed successfully.',\n 'script deployment toast close label_one': 'Close',\n 'script deployment toast close label_other': 'Close',\n 'script deployment error toast label_one': 'Script deployment failed',\n 'script deployment error toast label_other': 'Scripts deployment failed',\n 'script deployment error toast description_one': 'There was an error deploying your script.',\n 'script deployment error toast description_other': 'There was an error deploying your scripts.',\n 'script deployment error toast close label_one': 'Close',\n 'script deployment error toast close label_other': 'Close',\n\n 'notebook cell placeholder': 'Enter script',\n 'notebook cell delete label': 'Delete cell',\n 'notebook cell prompt run label': 'Run',\n 'notebook cell insert markdown label': 'Insert Markdown',\n 'notebook cell insert script label': 'Insert Script',\n 'notebook cell insert prompt label': 'Insert Prompt',\n 'notebook cell insert query label': 'Insert Query',\n 'notebook markdown placeholder': 'Enter Markdown',\n 'notebook prompt placeholder': 'Enter prompt',\n 'notebook cell insert label': 'Insert cell',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Plugin", "AppActivationEvents", "AppPlugin", "Ref", "Script", "Operation", "Capability", "AppGraphBuilder", "Capability", "lazy", "Capability", "BlueprintDefinition", "Capability", "lazy", "Capability", "Compiler", "Capability", "lazy", "Capability", "OperationResolver", "Capability", "lazy", "Capability", "ReactSurface", "Capability", "lazy", "Capability", "ScriptSettings", "Capability", "lazy", "Script", "translations", "Script", "typename", "Notebook", "meta", "id", "ScriptPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addAppGraphModule", "activate", "AppGraphBuilder", "addBlueprintDefinitionModule", "BlueprintDefinition", "addMetadataModule", "metadata", "id", "Script", "typename", "icon", "iconHue", "loadReferences", "script", "Ref", "Array", "loadAll", "source", "inputSchema", "ScriptOperation", "ScriptProps", "createObject", "props", "gen", "object", "Operation", "invoke", "CreateScript", "addToCollectionOnCreate", "Notebook", "NotebookProps", "sync", "make", "addOperationResolverModule", "OperationResolver", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations", "addModule", "activatesOn", "AppActivationEvents", "SetupSettings", "ScriptSettings", "ScriptEvents", "SetupCompiler", "Compiler"]
|
|
7
7
|
}
|