@dxos/plugin-script 0.8.3-main.672df60 → 0.8.3-main.7f5a14c

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.
Files changed (113) hide show
  1. package/dist/lib/browser/{DeploymentDialog-NLWQHNKE.mjs → DeploymentDialog-RPPPWEEL.mjs} +3 -3
  2. package/dist/lib/browser/{ScriptContainer-NDMTQG2N.mjs → ScriptContainer-BQS7LDI7.mjs} +36 -44
  3. package/dist/lib/browser/ScriptContainer-BQS7LDI7.mjs.map +7 -0
  4. package/dist/lib/browser/{app-graph-builder-V3HPXJAD.mjs → app-graph-builder-5Z3MUX4N.mjs} +4 -4
  5. package/dist/lib/browser/app-graph-builder-5Z3MUX4N.mjs.map +7 -0
  6. package/dist/lib/browser/{artifact-definition-L3AIY4XA.mjs → artifact-definition-A4TBQL75.mjs} +8 -8
  7. package/dist/lib/browser/artifact-definition-A4TBQL75.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-SH4MI7PU.mjs → chunk-I6S7QLGR.mjs} +2 -2
  9. package/dist/lib/browser/{chunk-SH4MI7PU.mjs.map → chunk-I6S7QLGR.mjs.map} +2 -2
  10. package/dist/lib/browser/{chunk-BTEFFA4C.mjs → chunk-LA66DQGU.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-BMVT3XMV.mjs → chunk-OMQLWT6X.mjs} +4 -4
  12. package/dist/lib/browser/{chunk-6T64VQHF.mjs → chunk-QJH7I2UV.mjs} +10 -10
  13. package/dist/lib/browser/chunk-QJH7I2UV.mjs.map +7 -0
  14. package/dist/lib/browser/index.mjs +9 -9
  15. package/dist/lib/browser/{intent-resolver-BIJLOJU3.mjs → intent-resolver-52BWIOT6.mjs} +8 -8
  16. package/dist/lib/browser/intent-resolver-52BWIOT6.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/{react-surface-ZBCIYBGH.mjs → react-surface-3V4HK2LR.mjs} +11 -11
  19. package/dist/lib/browser/react-surface-3V4HK2LR.mjs.map +7 -0
  20. package/dist/lib/browser/{settings-FU7NTENS.mjs → settings-Z22D6JVJ.mjs} +2 -2
  21. package/dist/lib/browser/{settings-FU7NTENS.mjs.map → settings-Z22D6JVJ.mjs.map} +3 -3
  22. package/dist/lib/node/{DeploymentDialog-PC5AL3BB.cjs → DeploymentDialog-C3EEYGRH.cjs} +8 -8
  23. package/dist/lib/node/{DeploymentDialog-PC5AL3BB.cjs.map → DeploymentDialog-C3EEYGRH.cjs.map} +2 -2
  24. package/dist/lib/node/{ScriptContainer-CLW7YCIP.cjs → ScriptContainer-OYFP6E5B.cjs} +44 -52
  25. package/dist/lib/node/ScriptContainer-OYFP6E5B.cjs.map +7 -0
  26. package/dist/lib/node/{app-graph-builder-YE4OM4OC.cjs → app-graph-builder-25OOTBW4.cjs} +7 -7
  27. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs.map +7 -0
  28. package/dist/lib/node/{artifact-definition-6BD6CVOV.cjs → artifact-definition-QKZI6PTO.cjs} +11 -11
  29. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs.map +7 -0
  30. package/dist/lib/node/{chunk-RARNZD62.cjs → chunk-BUOBOT3V.cjs} +6 -6
  31. package/dist/lib/node/{chunk-Q44SJXEN.cjs → chunk-GUNGYAZU.cjs} +8 -8
  32. package/dist/lib/node/{chunk-Q44SJXEN.cjs.map → chunk-GUNGYAZU.cjs.map} +2 -2
  33. package/dist/lib/node/{chunk-QCAKVK6S.cjs → chunk-WHXKN26U.cjs} +9 -9
  34. package/dist/lib/node/{chunk-V6L73D7S.cjs → chunk-YO5W2IPQ.cjs} +13 -13
  35. package/dist/lib/node/chunk-YO5W2IPQ.cjs.map +7 -0
  36. package/dist/lib/node/index.cjs +17 -17
  37. package/dist/lib/node/{intent-resolver-QKBCESXR.cjs → intent-resolver-UEBRMMP6.cjs} +15 -15
  38. package/dist/lib/node/intent-resolver-UEBRMMP6.cjs.map +7 -0
  39. package/dist/lib/node/meta.json +1 -1
  40. package/dist/lib/node/{react-surface-HZJOZHHG.cjs → react-surface-AYOFUM7K.cjs} +24 -24
  41. package/dist/lib/node/react-surface-AYOFUM7K.cjs.map +7 -0
  42. package/dist/lib/node/{settings-RRCQ7ZQD.cjs → settings-WO53FLYZ.cjs} +5 -5
  43. package/dist/lib/node/{settings-RRCQ7ZQD.cjs.map → settings-WO53FLYZ.cjs.map} +3 -3
  44. package/dist/lib/node-esm/{DeploymentDialog-QHB2BGNJ.mjs → DeploymentDialog-IA4CH6WZ.mjs} +3 -3
  45. package/dist/lib/node-esm/{ScriptContainer-PMRP7AJ5.mjs → ScriptContainer-G35TAL5S.mjs} +36 -44
  46. package/dist/lib/node-esm/ScriptContainer-G35TAL5S.mjs.map +7 -0
  47. package/dist/lib/node-esm/{app-graph-builder-4CN7URJQ.mjs → app-graph-builder-IOOUTHV2.mjs} +4 -4
  48. package/dist/lib/node-esm/app-graph-builder-IOOUTHV2.mjs.map +7 -0
  49. package/dist/lib/node-esm/{artifact-definition-PPV2XKU7.mjs → artifact-definition-4XRYAP54.mjs} +8 -8
  50. package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-IIPL3OKN.mjs → chunk-AOI67UC7.mjs} +4 -4
  52. package/dist/lib/node-esm/{chunk-47MABIVX.mjs → chunk-MJJQBUOL.mjs} +10 -10
  53. package/dist/lib/node-esm/chunk-MJJQBUOL.mjs.map +7 -0
  54. package/dist/lib/node-esm/{chunk-JFCZ3L27.mjs → chunk-T43WW6DG.mjs} +2 -2
  55. package/dist/lib/node-esm/{chunk-JFCZ3L27.mjs.map → chunk-T43WW6DG.mjs.map} +2 -2
  56. package/dist/lib/node-esm/{chunk-25GOLUXY.mjs → chunk-T7XDCUTF.mjs} +2 -2
  57. package/dist/lib/node-esm/index.mjs +9 -9
  58. package/dist/lib/node-esm/{intent-resolver-UWYXAPLZ.mjs → intent-resolver-QEVLFH3G.mjs} +8 -8
  59. package/dist/lib/node-esm/intent-resolver-QEVLFH3G.mjs.map +7 -0
  60. package/dist/lib/node-esm/meta.json +1 -1
  61. package/dist/lib/node-esm/{react-surface-MHCPAP55.mjs → react-surface-XNNTCP2O.mjs} +11 -11
  62. package/dist/lib/node-esm/react-surface-XNNTCP2O.mjs.map +7 -0
  63. package/dist/lib/node-esm/{settings-NKNC32QC.mjs → settings-KZEGCDYX.mjs} +2 -2
  64. package/dist/lib/node-esm/{settings-NKNC32QC.mjs.map → settings-KZEGCDYX.mjs.map} +3 -3
  65. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  67. package/dist/types/src/components/ScriptContainer.d.ts +4 -5
  68. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  69. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  70. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts +5 -4
  71. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  72. package/dist/types/src/components/index.d.ts +1 -1
  73. package/dist/types/src/components/index.d.ts.map +1 -1
  74. package/dist/types/src/hooks/format.d.ts.map +1 -1
  75. package/dist/types/src/util/deploy.d.ts.map +1 -1
  76. package/package.json +49 -49
  77. package/src/capabilities/app-graph-builder.ts +3 -3
  78. package/src/capabilities/artifact-definition.ts +5 -4
  79. package/src/capabilities/intent-resolver.ts +3 -3
  80. package/src/capabilities/react-surface.tsx +6 -6
  81. package/src/capabilities/settings.ts +9 -2
  82. package/src/components/ScriptContainer.tsx +25 -33
  83. package/src/components/ScriptToolbar/ScriptToolbar.tsx +6 -6
  84. package/src/components/TypescriptEditor/TypescriptEditor.tsx +36 -42
  85. package/src/hooks/format.ts +6 -1
  86. package/src/hooks/useCreateAndDeployScriptTemplates.ts +2 -2
  87. package/src/util/deploy.ts +5 -4
  88. package/dist/lib/browser/ScriptContainer-NDMTQG2N.mjs.map +0 -7
  89. package/dist/lib/browser/app-graph-builder-V3HPXJAD.mjs.map +0 -7
  90. package/dist/lib/browser/artifact-definition-L3AIY4XA.mjs.map +0 -7
  91. package/dist/lib/browser/chunk-6T64VQHF.mjs.map +0 -7
  92. package/dist/lib/browser/intent-resolver-BIJLOJU3.mjs.map +0 -7
  93. package/dist/lib/browser/react-surface-ZBCIYBGH.mjs.map +0 -7
  94. package/dist/lib/node/ScriptContainer-CLW7YCIP.cjs.map +0 -7
  95. package/dist/lib/node/app-graph-builder-YE4OM4OC.cjs.map +0 -7
  96. package/dist/lib/node/artifact-definition-6BD6CVOV.cjs.map +0 -7
  97. package/dist/lib/node/chunk-V6L73D7S.cjs.map +0 -7
  98. package/dist/lib/node/intent-resolver-QKBCESXR.cjs.map +0 -7
  99. package/dist/lib/node/react-surface-HZJOZHHG.cjs.map +0 -7
  100. package/dist/lib/node-esm/ScriptContainer-PMRP7AJ5.mjs.map +0 -7
  101. package/dist/lib/node-esm/app-graph-builder-4CN7URJQ.mjs.map +0 -7
  102. package/dist/lib/node-esm/artifact-definition-PPV2XKU7.mjs.map +0 -7
  103. package/dist/lib/node-esm/chunk-47MABIVX.mjs.map +0 -7
  104. package/dist/lib/node-esm/intent-resolver-UWYXAPLZ.mjs.map +0 -7
  105. package/dist/lib/node-esm/react-surface-MHCPAP55.mjs.map +0 -7
  106. /package/dist/lib/browser/{DeploymentDialog-NLWQHNKE.mjs.map → DeploymentDialog-RPPPWEEL.mjs.map} +0 -0
  107. /package/dist/lib/browser/{chunk-BTEFFA4C.mjs.map → chunk-LA66DQGU.mjs.map} +0 -0
  108. /package/dist/lib/browser/{chunk-BMVT3XMV.mjs.map → chunk-OMQLWT6X.mjs.map} +0 -0
  109. /package/dist/lib/node/{chunk-RARNZD62.cjs.map → chunk-BUOBOT3V.cjs.map} +0 -0
  110. /package/dist/lib/node/{chunk-QCAKVK6S.cjs.map → chunk-WHXKN26U.cjs.map} +0 -0
  111. /package/dist/lib/node-esm/{DeploymentDialog-QHB2BGNJ.mjs.map → DeploymentDialog-IA4CH6WZ.mjs.map} +0 -0
  112. /package/dist/lib/node-esm/{chunk-IIPL3OKN.mjs.map → chunk-AOI67UC7.mjs.map} +0 -0
  113. /package/dist/lib/node-esm/{chunk-25GOLUXY.mjs.map → chunk-T7XDCUTF.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useDeployState,
3
3
  useToolbarState
4
- } from "./chunk-SH4MI7PU.mjs";
4
+ } from "./chunk-I6S7QLGR.mjs";
5
5
  import {
6
6
  SCRIPT_PLUGIN,
7
7
  meta
@@ -542,8 +542,8 @@ var TestContainer = ({ script, role }) => {
542
542
 
543
543
  // packages/plugins/plugin-script/src/components/index.ts
544
544
  import { lazy } from "react";
545
- var ScriptContainer = lazy(() => import("./ScriptContainer-NDMTQG2N.mjs"));
546
- var DeploymentDialog = lazy(() => import("./DeploymentDialog-NLWQHNKE.mjs"));
545
+ var ScriptContainer = lazy(() => import("./ScriptContainer-BQS7LDI7.mjs"));
546
+ var DeploymentDialog = lazy(() => import("./DeploymentDialog-RPPPWEEL.mjs"));
547
547
 
548
548
  export {
549
549
  ScriptObjectSettings,
@@ -554,4 +554,4 @@ export {
554
554
  ScriptContainer,
555
555
  DeploymentDialog
556
556
  };
557
- //# sourceMappingURL=chunk-BMVT3XMV.mjs.map
557
+ //# sourceMappingURL=chunk-OMQLWT6X.mjs.map
@@ -59,14 +59,14 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
59
59
  };
60
60
 
61
61
  // packages/plugins/plugin-script/src/util/deploy.ts
62
+ import { Obj, Ref } from "@dxos/echo";
62
63
  import { FunctionType, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2, makeFunctionUrl, setUserFunctionUrlInMetadata } from "@dxos/functions";
63
64
  import { Bundler } from "@dxos/functions/bundler";
64
65
  import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
65
66
  import { log as log2 } from "@dxos/log";
66
- import { live, getMeta as getMeta2, makeRef } from "@dxos/react-client/echo";
67
67
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
68
68
  var isScriptDeployed = ({ script, fn }) => {
69
- const existingFunctionUrl = fn && getUserFunctionUrlInMetadata2(getMeta2(fn));
69
+ const existingFunctionUrl = fn && getUserFunctionUrlInMetadata2(Obj.getMeta(fn));
70
70
  return Boolean(existingFunctionUrl) && !script.changed;
71
71
  };
72
72
  var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) => {
@@ -102,7 +102,7 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
102
102
  const functionUrl = makeFunctionUrl({
103
103
  functionId
104
104
  });
105
- setUserFunctionUrlInMetadata(getMeta2(storedFunction), functionUrl);
105
+ setUserFunctionUrlInMetadata(Obj.getMeta(storedFunction), functionUrl);
106
106
  return {
107
107
  success: true,
108
108
  functionUrl
@@ -110,7 +110,7 @@ var deployScript = async ({ script, client, space, fn, existingFunctionUrl }) =>
110
110
  } catch (err) {
111
111
  log2.catch(err, void 0, {
112
112
  F: __dxlog_file2,
113
- L: 79,
113
+ L: 80,
114
114
  S: void 0,
115
115
  C: (f, a) => f(...a)
116
116
  });
@@ -152,10 +152,10 @@ var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) =>
152
152
  fn.version = version;
153
153
  return fn;
154
154
  } else {
155
- return space.db.add(live(FunctionType, {
155
+ return space.db.add(Obj.make(FunctionType, {
156
156
  name: functionId,
157
157
  version,
158
- source: makeRef(script)
158
+ source: Ref.make(script)
159
159
  }));
160
160
  }
161
161
  };
@@ -164,7 +164,7 @@ var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) =>
164
164
  import { pipe } from "effect/Function";
165
165
  import { useCallback, useState } from "react";
166
166
  import { chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
167
- import { isInstanceOf } from "@dxos/echo-schema";
167
+ import { Obj as Obj2 } from "@dxos/echo";
168
168
  import { ScriptType } from "@dxos/functions";
169
169
  import { invariant } from "@dxos/invariant";
170
170
  import { SpaceAction } from "@dxos/plugin-space/types";
@@ -194,12 +194,12 @@ var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
194
194
  }), chain(SpaceAction.AddObject, {
195
195
  target: space
196
196
  })));
197
- invariant(isInstanceOf(ScriptType, result.data?.object), void 0, {
197
+ invariant(Obj2.instanceOf(ScriptType, result.data?.object), void 0, {
198
198
  F: __dxlog_file3,
199
199
  L: 48,
200
200
  S: void 0,
201
201
  A: [
202
- "isInstanceOf(ScriptType, result.data?.object)",
202
+ "Obj.instanceOf(ScriptType, result.data?.object)",
203
203
  ""
204
204
  ]
205
205
  });
@@ -230,4 +230,4 @@ export {
230
230
  deployScript,
231
231
  useCreateAndDeployScriptTemplates
232
232
  };
233
- //# sourceMappingURL=chunk-6T64VQHF.mjs.map
233
+ //# sourceMappingURL=chunk-QJH7I2UV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/functions.ts", "../../../src/util/deploy.ts", "../../../src/hooks/useCreateAndDeployScriptTemplates.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { getMeta, getSpace } from '@dxos/react-client/echo';\n\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: ScriptType;\n fn: any;\n edgeUrl: string;\n}): string | undefined => {\n const space = getSpace(script);\n const existingFunctionUrl = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n\n if (!existingFunctionUrl) {\n return undefined;\n }\n\n return getInvocationUrl(existingFunctionUrl, edgeUrl, {\n spaceId: space?.id,\n });\n};\n\nexport const updateFunctionMetadata = (script: ScriptType, storedFunction: any, meta: any, functionId: string) => {\n if (script.description !== undefined && script.description.trim() !== '') {\n storedFunction.description = script.description;\n } else if (meta.description) {\n storedFunction.description = meta.description;\n } else {\n log.verbose('no description in function metadata', { functionId });\n }\n\n if (meta.inputSchema) {\n storedFunction.inputSchema = meta.inputSchema;\n } else {\n log.verbose('no input schema in function metadata', { functionId });\n }\n\n if (meta.outputSchema) {\n storedFunction.outputSchema = meta.outputSchema;\n } else {\n log.verbose('no output schema in function metadata', { functionId });\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Client } from '@dxos/client';\nimport { Obj, Ref } from '@dxos/echo';\nimport {\n FunctionType,\n type ScriptType,\n getUserFunctionUrlInMetadata,\n makeFunctionUrl,\n setUserFunctionUrlInMetadata,\n} from '@dxos/functions';\nimport { Bundler } from '@dxos/functions/bundler';\nimport { incrementSemverPatch, uploadWorkerFunction } from '@dxos/functions/edge';\nimport { log } from '@dxos/log';\nimport { type Space } from '@dxos/react-client/echo';\n\nimport { updateFunctionMetadata } from './functions';\n\nexport const isScriptDeployed = ({ script, fn }: { script: ScriptType; fn: any }): boolean => {\n const existingFunctionUrl = fn && getUserFunctionUrlInMetadata(Obj.getMeta(fn));\n return Boolean(existingFunctionUrl) && !script.changed;\n};\n\ntype DeployScriptProps = {\n script: ScriptType;\n client: Client;\n space: Space;\n fn?: FunctionType;\n existingFunctionUrl?: string;\n};\n\ntype DeployScriptResult = { success: boolean; error?: Error; functionUrl?: 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 existingFunctionUrl,\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 existingFunctionId = extractFunctionId(existingFunctionUrl);\n\n const { bundle, error } = await bundleScript(script.source!.target!.content);\n if (error || !bundle) {\n throw error || new Error('Bundle creation failed');\n }\n\n const { functionId, version, meta } = await uploadWorkerFunction({\n client,\n ownerPublicKey: space.key,\n version: fn ? incrementSemverPatch(fn.version) : '0.0.1',\n functionId: existingFunctionId,\n source: bundle,\n });\n\n if (functionId === undefined || version === undefined) {\n throw new Error(`Upload didn't return expected data: ${JSON.stringify({ functionId, version })}`);\n }\n\n const storedFunction = createOrUpdateFunctionInSpace(space, fn, script, functionId, version);\n script.changed = false;\n updateFunctionMetadata(script, storedFunction, meta, functionId);\n\n const functionUrl = makeFunctionUrl({ functionId });\n setUserFunctionUrlInMetadata(Obj.getMeta(storedFunction), functionUrl);\n\n return { success: true, functionUrl };\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: ScriptType, 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 extractFunctionId = (functionUrl?: string): string | undefined => {\n return functionUrl?.split('/').at(-1);\n};\n\nconst bundleScript = async (source: string): Promise<{ bundle?: string; error?: Error }> => {\n const bundler = new Bundler({ platform: 'browser', sandboxedModules: [], remoteModules: {} });\n const buildResult = await bundler.bundle({ source });\n\n if (buildResult.error || !buildResult.bundle) {\n return { error: buildResult.error || new Error('Bundle creation failed') };\n }\n\n return { bundle: buildResult.bundle };\n};\n\nconst createOrUpdateFunctionInSpace = (\n space: Space,\n fn: FunctionType | undefined,\n script: ScriptType,\n functionId: string,\n version: string,\n): FunctionType => {\n if (fn) {\n fn.version = version;\n return fn;\n } else {\n return space.db.add(Obj.make(FunctionType, { name: functionId, version, source: Ref.make(script) }));\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { pipe } from 'effect/Function';\nimport { useCallback, useState } from 'react';\n\nimport { chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } 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 { ScriptAction } 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 { dispatchPromise: dispatch } = useIntentDispatcher();\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 result = await dispatch(\n pipe(\n createIntent(ScriptAction.Create, { space, initialTemplateId: template.id }),\n chain(SpaceAction.AddObject, { target: space }),\n ),\n );\n invariant(Obj.instanceOf(ScriptType, result.data?.object));\n\n return deployScript({ space, client, script: result.data.object });\n }),\n );\n\n const hasErrors = deploymentResults.some((result) => !result.success);\n setStatus(hasErrors ? 'error' : 'success');\n }, [space, dispatch, client, scriptTemplates]);\n\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["getInvocationUrl", "getUserFunctionUrlInMetadata", "log", "getMeta", "getSpace", "getFunctionUrl", "script", "fn", "edgeUrl", "space", "existingFunctionUrl", "undefined", "spaceId", "id", "updateFunctionMetadata", "storedFunction", "meta", "functionId", "description", "trim", "verbose", "inputSchema", "outputSchema", "Obj", "Ref", "FunctionType", "getUserFunctionUrlInMetadata", "makeFunctionUrl", "setUserFunctionUrlInMetadata", "Bundler", "incrementSemverPatch", "uploadWorkerFunction", "log", "isScriptDeployed", "script", "fn", "existingFunctionUrl", "getUserFunctionUrlInMetadata", "Obj", "getMeta", "Boolean", "changed", "deployScript", "client", "space", "validationError", "validateDeployInputs", "success", "error", "existingFunctionId", "extractFunctionId", "bundle", "bundleScript", "source", "target", "content", "Error", "functionId", "version", "meta", "uploadWorkerFunction", "ownerPublicKey", "key", "incrementSemverPatch", "undefined", "JSON", "stringify", "storedFunction", "createOrUpdateFunctionInSpace", "updateFunctionMetadata", "functionUrl", "makeFunctionUrl", "setUserFunctionUrlInMetadata", "err", "log", "catch", "split", "at", "bundler", "Bundler", "platform", "sandboxedModules", "remoteModules", "buildResult", "db", "add", "make", "FunctionType", "name", "Ref", "pipe", "useCallback", "useState", "chain", "createIntent", "useIntentDispatcher", "Obj", "ScriptType", "invariant", "SpaceAction", "useClient", "useCreateAndDeployScriptTemplates", "space", "scriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "status", "setStatus", "useState", "error", "setError", "undefined", "handleCreateAndDeployScripts", "useCallback", "invariant", "deploymentResults", "Promise", "all", "map", "template", "result", "pipe", "createIntent", "ScriptAction", "Create", "initialTemplateId", "id", "chain", "SpaceAction", "AddObject", "target", "Obj", "instanceOf", "ScriptType", "data", "object", "deployScript", "script", "hasErrors", "some", "success"]
7
+ }
@@ -9,12 +9,12 @@ import {
9
9
  ScriptProperties,
10
10
  TestContainer,
11
11
  TestPanel
12
- } from "./chunk-BMVT3XMV.mjs";
12
+ } from "./chunk-OMQLWT6X.mjs";
13
13
  import {
14
14
  DEPLOYMENT_DIALOG
15
- } from "./chunk-BTEFFA4C.mjs";
16
- import "./chunk-SH4MI7PU.mjs";
17
- import "./chunk-6T64VQHF.mjs";
15
+ } from "./chunk-LA66DQGU.mjs";
16
+ import "./chunk-I6S7QLGR.mjs";
17
+ import "./chunk-QJH7I2UV.mjs";
18
18
  import {
19
19
  ScriptAction
20
20
  } from "./chunk-WB3X5Z7Q.mjs";
@@ -26,12 +26,12 @@ import {
26
26
 
27
27
  // packages/plugins/plugin-script/src/capabilities/index.ts
28
28
  import { lazy } from "@dxos/app-framework";
29
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-V3HPXJAD.mjs"));
30
- var ArtifactDefinition = lazy(() => import("./artifact-definition-L3AIY4XA.mjs"));
29
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-5Z3MUX4N.mjs"));
30
+ var ArtifactDefinition = lazy(() => import("./artifact-definition-A4TBQL75.mjs"));
31
31
  var Compiler = lazy(() => import("./compiler-W4BYJYTL.mjs"));
32
- var IntentResolver = lazy(() => import("./intent-resolver-BIJLOJU3.mjs"));
33
- var ReactSurface = lazy(() => import("./react-surface-ZBCIYBGH.mjs"));
34
- var ScriptSettings = lazy(() => import("./settings-FU7NTENS.mjs"));
32
+ var IntentResolver = lazy(() => import("./intent-resolver-52BWIOT6.mjs"));
33
+ var ReactSurface = lazy(() => import("./react-surface-3V4HK2LR.mjs"));
34
+ var ScriptSettings = lazy(() => import("./settings-Z22D6JVJ.mjs"));
35
35
 
36
36
  // packages/plugins/plugin-script/src/ScriptPlugin.tsx
37
37
  import { Schema } from "effect";
@@ -1,11 +1,11 @@
1
- import "./chunk-BMVT3XMV.mjs";
1
+ import "./chunk-OMQLWT6X.mjs";
2
2
  import {
3
3
  DEPLOYMENT_DIALOG
4
- } from "./chunk-BTEFFA4C.mjs";
4
+ } from "./chunk-LA66DQGU.mjs";
5
5
  import {
6
6
  templates
7
- } from "./chunk-SH4MI7PU.mjs";
8
- import "./chunk-6T64VQHF.mjs";
7
+ } from "./chunk-I6S7QLGR.mjs";
8
+ import "./chunk-QJH7I2UV.mjs";
9
9
  import {
10
10
  ScriptAction
11
11
  } from "./chunk-WB3X5Z7Q.mjs";
@@ -17,8 +17,8 @@ import {
17
17
  import { Octokit } from "@octokit/core";
18
18
  import { Predicate } from "effect";
19
19
  import { contributes, Capabilities, createResolver, createIntent, LayoutAction } from "@dxos/app-framework";
20
+ import { Obj, Ref } from "@dxos/echo";
20
21
  import { ScriptType } from "@dxos/functions";
21
- import { live, makeRef } from "@dxos/live-object";
22
22
  import { TokenManagerAction } from "@dxos/plugin-token-manager/types";
23
23
  import { DataType } from "@dxos/schema";
24
24
  var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
@@ -46,9 +46,9 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
46
46
  }
47
47
  return {
48
48
  data: {
49
- object: live(ScriptType, {
49
+ object: Obj.make(ScriptType, {
50
50
  name,
51
- source: makeRef(live(DataType.Text, {
51
+ source: Ref.make(Obj.make(DataType.Text, {
52
52
  content
53
53
  }))
54
54
  })
@@ -87,4 +87,4 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
87
87
  export {
88
88
  intent_resolver_default as default
89
89
  };
90
- //# sourceMappingURL=intent-resolver-BIJLOJU3.mjs.map
90
+ //# sourceMappingURL=intent-resolver-52BWIOT6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport { Predicate } from 'effect';\n\nimport { contributes, Capabilities, createResolver, createIntent, LayoutAction } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { TokenManagerAction } from '@dxos/plugin-token-manager/types';\nimport { DataType } from '@dxos/schema';\n\nimport { DEPLOYMENT_DIALOG } from '../components';\nimport { defaultScriptsForIntegration } from '../meta';\nimport { templates } from '../templates';\nimport { ScriptAction } from '../types';\n\nexport default () =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ScriptAction.Create,\n resolve: async ({ name, gistUrl, initialTemplateId }) => {\n let content = templates[0].source;\n\n const gistId = gistUrl?.split('/').at(-1);\n if (gistId) {\n // TODO(wittjosiah): Capability which contributes Octokit?\n // NOTE: AccessToken not needed to read public gists.\n const octokit = new Octokit();\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n const gistContent = Object.values(response.data.files ?? {})[0]?.content;\n if (gistContent) {\n content = gistContent;\n }\n }\n\n if (initialTemplateId) {\n const template = templates.find((template) => template.id === initialTemplateId);\n if (template) {\n content = template.source;\n name = template.name;\n }\n }\n\n return {\n data: {\n object: Obj.make(ScriptType, {\n name,\n source: Ref.make(Obj.make(DataType.Text, { content })),\n }),\n },\n };\n },\n }),\n createResolver({\n intent: TokenManagerAction.AccessTokenCreated,\n resolve: async ({ 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 return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: DEPLOYMENT_DIALOG,\n options: { blockAlign: 'start', state: true, props: { accessToken, scriptTemplates } },\n }),\n ],\n };\n }\n\n return { data: undefined };\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAIA,SAASA,eAAe;AACxB,SAASC,iBAAiB;AAE1B,SAASC,aAAaC,cAAcC,gBAAgBC,cAAcC,oBAAoB;AACtF,SAASC,KAAKC,WAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,gBAAgB;AAOzB,IAAA,0BAAe,MACbC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,OAAO,EAAEC,MAAMC,SAASC,kBAAiB,MAAE;AAClD,UAAIC,UAAUC,UAAU,CAAA,EAAGC;AAE3B,YAAMC,SAASL,SAASM,MAAM,GAAA,EAAKC,GAAG,EAAC;AACvC,UAAIF,QAAQ;AAGV,cAAMG,UAAU,IAAIC,QAAAA;AACpB,cAAMC,WAAW,MAAMF,QAAQG,QAAQ,wBAAwB;UAC7DC,SAASP;QACX,CAAA;AACA,cAAMQ,cAAcC,OAAOC,OAAOL,SAASM,KAAKC,SAAS,CAAC,CAAA,EAAG,CAAA,GAAIf;AACjE,YAAIW,aAAa;AACfX,oBAAUW;QACZ;MACF;AAEA,UAAIZ,mBAAmB;AACrB,cAAMiB,WAAWf,UAAUgB,KAAK,CAACD,cAAaA,UAASE,OAAOnB,iBAAAA;AAC9D,YAAIiB,UAAU;AACZhB,oBAAUgB,SAASd;AACnBL,iBAAOmB,SAASnB;QAClB;MACF;AAEA,aAAO;QACLiB,MAAM;UACJK,QAAQC,IAAIC,KAAKC,YAAY;YAC3BzB;YACAK,QAAQqB,IAAIF,KAAKD,IAAIC,KAAKG,SAASC,MAAM;cAAEzB;YAAQ,CAAA,CAAA;UACrD,CAAA;QACF;MACF;IACF;EACF,CAAA;EACAR,eAAe;IACbC,QAAQiC,mBAAmBC;IAC3B/B,SAAS,OAAO,EAAEgC,YAAW,MAAE;AAC7B,YAAMC,mBAAmBC,6BAA6BF,YAAY1B,MAAM,KAAK,CAAA,GAC1E6B,IAAI,CAACb,OAAOjB,UAAUgB,KAAK,CAACe,MAAMA,EAAEd,OAAOA,EAAAA,CAAAA,EAC3Ce,OAAOC,UAAUC,aAAa;AAEjC,UAAIN,gBAAgBO,SAAS,GAAG;AAC9B,eAAO;UACLC,SAAS;YACPC,aAAaC,aAAaC,cAAc;cACtCC,MAAM;cACNC,SAASC;cACTC,SAAS;gBAAEC,YAAY;gBAASC,OAAO;gBAAMC,OAAO;kBAAEnB;kBAAaC;gBAAgB;cAAE;YACvF,CAAA;;QAEJ;MACF;AAEA,aAAO;QAAEf,MAAMkC;MAAU;IAC3B;EACF,CAAA;CACD;",
6
+ "names": ["Octokit", "Predicate", "contributes", "Capabilities", "createResolver", "createIntent", "LayoutAction", "Obj", "Ref", "ScriptType", "TokenManagerAction", "DataType", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ScriptAction", "Create", "resolve", "name", "gistUrl", "initialTemplateId", "content", "templates", "source", "gistId", "split", "at", "octokit", "Octokit", "response", "request", "gist_id", "gistContent", "Object", "values", "data", "files", "template", "find", "id", "object", "Obj", "make", "ScriptType", "Ref", "DataType", "Text", "TokenManagerAction", "AccessTokenCreated", "accessToken", "scriptTemplates", "defaultScriptsForIntegration", "map", "t", "filter", "Predicate", "isNotNullable", "length", "intents", "createIntent", "LayoutAction", "UpdateDialog", "part", "subject", "DEPLOYMENT_DIALOG", "options", "blockAlign", "state", "props", "undefined"]
7
+ }