@dxos/plugin-script 0.8.3 → 0.8.4-main.28f8d3d

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 (201) hide show
  1. package/dist/lib/browser/DeploymentDialog-C3XH2Z56.mjs +12 -0
  2. package/dist/lib/browser/{ScriptContainer-RSN52NH7.mjs → ScriptContainer-FUBR4OZE.mjs} +14 -12
  3. package/dist/lib/browser/ScriptContainer-FUBR4OZE.mjs.map +7 -0
  4. package/dist/lib/browser/{app-graph-builder-5Z3MUX4N.mjs → app-graph-builder-IABOSTBK.mjs} +4 -4
  5. package/dist/lib/{node-esm/app-graph-builder-IOOUTHV2.mjs.map → browser/app-graph-builder-IABOSTBK.mjs.map} +3 -3
  6. package/dist/lib/browser/{chunk-YSQMXTYO.mjs → chunk-5TVBECWH.mjs} +3 -3
  7. package/dist/lib/browser/{chunk-3FU4QZVP.mjs → chunk-G4A2MGAL.mjs} +11 -287
  8. package/dist/lib/browser/chunk-G4A2MGAL.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-WB3X5Z7Q.mjs → chunk-IS4OG2UW.mjs} +5 -6
  10. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-MWZDJNCQ.mjs +283 -0
  12. package/dist/lib/browser/chunk-MWZDJNCQ.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-LA66DQGU.mjs → chunk-OAVS36Q3.mjs} +6 -6
  14. package/dist/lib/browser/chunk-OAVS36Q3.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-3JLR2SHJ.mjs → chunk-OULPWKXN.mjs} +16 -18
  16. package/dist/lib/browser/{chunk-3JLR2SHJ.mjs.map → chunk-OULPWKXN.mjs.map} +3 -3
  17. package/dist/lib/browser/{chunk-6ZHHWU6S.mjs → chunk-QYAREHGH.mjs} +2 -2
  18. package/dist/lib/browser/{chunk-QJH7I2UV.mjs → chunk-SUOLJH55.mjs} +8 -8
  19. package/dist/lib/browser/{chunk-QJH7I2UV.mjs.map → chunk-SUOLJH55.mjs.map} +2 -2
  20. package/dist/lib/browser/{compiler-W4BYJYTL.mjs → compiler-RIWQVBPX.mjs} +10 -7
  21. package/dist/lib/browser/compiler-RIWQVBPX.mjs.map +7 -0
  22. package/dist/lib/browser/index.mjs +28 -32
  23. package/dist/lib/browser/index.mjs.map +3 -3
  24. package/dist/lib/browser/{intent-resolver-JOJNH4UX.mjs → intent-resolver-SAL2TM7U.mjs} +11 -12
  25. package/dist/lib/browser/intent-resolver-SAL2TM7U.mjs.map +7 -0
  26. package/dist/lib/browser/meta.json +1 -1
  27. package/dist/lib/browser/{react-surface-7BKUWL2U.mjs → react-surface-E3SXU6ON.mjs} +11 -12
  28. package/dist/lib/browser/react-surface-E3SXU6ON.mjs.map +7 -0
  29. package/dist/lib/browser/{settings-Z22D6JVJ.mjs → settings-KCTBK5TY.mjs} +4 -4
  30. package/dist/lib/browser/templates/index.mjs +9 -0
  31. package/dist/lib/browser/types/index.mjs +10 -0
  32. package/dist/lib/node-esm/{DeploymentDialog-IA4CH6WZ.mjs → DeploymentDialog-O2XZVRLU.mjs} +5 -5
  33. package/dist/lib/node-esm/{ScriptContainer-4IOOIPBF.mjs → ScriptContainer-VJ75TM24.mjs} +14 -12
  34. package/dist/lib/node-esm/ScriptContainer-VJ75TM24.mjs.map +7 -0
  35. package/dist/lib/node-esm/{app-graph-builder-IOOUTHV2.mjs → app-graph-builder-CQTTAYHP.mjs} +4 -4
  36. package/dist/lib/{browser/app-graph-builder-5Z3MUX4N.mjs.map → node-esm/app-graph-builder-CQTTAYHP.mjs.map} +3 -3
  37. package/dist/lib/node-esm/{chunk-2KJYPUQD.mjs → chunk-35M3CHYE.mjs} +3 -3
  38. package/dist/lib/node-esm/{chunk-W2DAXWHA.mjs → chunk-3BBEM2U7.mjs} +11 -286
  39. package/dist/lib/node-esm/chunk-3BBEM2U7.mjs.map +7 -0
  40. package/dist/lib/node-esm/{chunk-B4TP3LSZ.mjs → chunk-6WMFL3JL.mjs} +16 -18
  41. package/dist/lib/node-esm/{chunk-B4TP3LSZ.mjs.map → chunk-6WMFL3JL.mjs.map} +3 -3
  42. package/dist/lib/node-esm/chunk-7L4JDSXJ.mjs +284 -0
  43. package/dist/lib/node-esm/chunk-7L4JDSXJ.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs → chunk-AHXJ6NQU.mjs} +2 -2
  45. package/dist/lib/node-esm/{chunk-T7XDCUTF.mjs → chunk-IO6T72KY.mjs} +6 -6
  46. package/dist/lib/node-esm/chunk-IO6T72KY.mjs.map +7 -0
  47. package/dist/lib/node-esm/{chunk-UESZKXLR.mjs → chunk-JIPFLBYA.mjs} +5 -6
  48. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-MJJQBUOL.mjs → chunk-PACUN7RS.mjs} +8 -8
  50. package/dist/lib/node-esm/{chunk-MJJQBUOL.mjs.map → chunk-PACUN7RS.mjs.map} +2 -2
  51. package/dist/lib/node-esm/{compiler-7PQ4D43R.mjs → compiler-S52P5P3F.mjs} +10 -7
  52. package/dist/lib/node-esm/compiler-S52P5P3F.mjs.map +7 -0
  53. package/dist/lib/node-esm/index.mjs +28 -32
  54. package/dist/lib/node-esm/index.mjs.map +3 -3
  55. package/dist/lib/node-esm/{intent-resolver-HTM5PSRZ.mjs → intent-resolver-GO53JOPL.mjs} +11 -12
  56. package/dist/lib/{browser/intent-resolver-JOJNH4UX.mjs.map → node-esm/intent-resolver-GO53JOPL.mjs.map} +3 -3
  57. package/dist/lib/node-esm/meta.json +1 -1
  58. package/dist/lib/node-esm/{react-surface-6UO64YOS.mjs → react-surface-W3NRCS5O.mjs} +11 -12
  59. package/dist/lib/node-esm/react-surface-W3NRCS5O.mjs.map +7 -0
  60. package/dist/lib/node-esm/{settings-KZEGCDYX.mjs → settings-DXZ334A3.mjs} +4 -4
  61. package/dist/lib/node-esm/templates/index.mjs +10 -0
  62. package/dist/lib/node-esm/templates/index.mjs.map +7 -0
  63. package/dist/lib/node-esm/{types.mjs → types/index.mjs} +3 -6
  64. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  65. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
  68. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/compiler.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/index.d.ts +0 -1
  71. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  74. package/dist/types/src/compiler/compiler.d.ts.map +1 -1
  75. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +1 -1
  76. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  77. package/dist/types/src/components/DeploymentDialog/index.d.ts +1 -1
  78. package/dist/types/src/components/DeploymentDialog/index.d.ts.map +1 -1
  79. package/dist/types/src/components/ScriptContainer.d.ts +3 -3
  80. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  81. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.d.ts.map +1 -1
  82. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +1 -1
  83. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/TestPanel/TestContainer.d.ts +4 -3
  85. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  86. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -1
  87. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +1 -1
  88. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  89. package/dist/types/src/hooks/deploy.d.ts +2 -2
  90. package/dist/types/src/hooks/deploy.d.ts.map +1 -1
  91. package/dist/types/src/hooks/template.d.ts.map +1 -1
  92. package/dist/types/src/hooks/useCreateAndDeployScriptTemplates.d.ts.map +1 -1
  93. package/dist/types/src/templates/data-generator.d.ts.map +1 -1
  94. package/dist/types/src/templates/index.d.ts +2 -0
  95. package/dist/types/src/templates/index.d.ts.map +1 -1
  96. package/dist/types/src/translations.d.ts +67 -176
  97. package/dist/types/src/translations.d.ts.map +1 -1
  98. package/dist/types/src/types/index.d.ts +2 -0
  99. package/dist/types/src/types/index.d.ts.map +1 -0
  100. package/dist/types/src/{types.d.ts → types/schema.d.ts} +3 -5
  101. package/dist/types/src/types/schema.d.ts.map +1 -0
  102. package/dist/types/tsconfig.tsbuildinfo +1 -1
  103. package/package.json +71 -62
  104. package/src/ScriptPlugin.tsx +5 -17
  105. package/src/capabilities/app-graph-builder.ts +2 -2
  106. package/src/capabilities/artifact-definition.ts +9 -12
  107. package/src/capabilities/compiler.ts +2 -1
  108. package/src/capabilities/index.ts +0 -1
  109. package/src/capabilities/intent-resolver.ts +2 -5
  110. package/src/capabilities/react-surface.tsx +6 -5
  111. package/src/compiler/compiler.ts +1 -1
  112. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +2 -2
  113. package/src/components/DeploymentDialog/DeploymentDialog.tsx +4 -4
  114. package/src/components/DeploymentDialog/index.ts +1 -1
  115. package/src/components/FrameContainer/frame.tsx +1 -1
  116. package/src/components/ScriptContainer.tsx +6 -4
  117. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +3 -2
  118. package/src/components/ScriptToolbar/ScriptToolbar.tsx +2 -2
  119. package/src/components/Settings/ScriptObjectSettings.tsx +2 -2
  120. package/src/components/TestPanel/TestContainer.tsx +9 -3
  121. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +3 -2
  122. package/src/components/TypescriptEditor/TypescriptEditor.tsx +3 -2
  123. package/src/hooks/deploy.ts +1 -1
  124. package/src/hooks/template.ts +3 -3
  125. package/src/hooks/useCreateAndDeployScriptTemplates.ts +1 -0
  126. package/src/templates/chess.ts +1 -1
  127. package/src/templates/data-generator.ts +8 -4
  128. package/src/templates/discord.ts +2 -2
  129. package/src/templates/email.ts +2 -2
  130. package/src/templates/forex-effect.ts +1 -1
  131. package/src/templates/forex.ts +1 -1
  132. package/src/templates/gmail.ts +4 -4
  133. package/src/templates/index.ts +2 -0
  134. package/src/translations.ts +8 -6
  135. package/src/types/index.ts +5 -0
  136. package/src/{types.ts → types/schema.ts} +2 -7
  137. package/dist/lib/browser/DeploymentDialog-RPPPWEEL.mjs +0 -12
  138. package/dist/lib/browser/ScriptContainer-RSN52NH7.mjs.map +0 -7
  139. package/dist/lib/browser/artifact-definition-A4TBQL75.mjs +0 -249
  140. package/dist/lib/browser/artifact-definition-A4TBQL75.mjs.map +0 -7
  141. package/dist/lib/browser/chunk-3FU4QZVP.mjs.map +0 -7
  142. package/dist/lib/browser/chunk-LA66DQGU.mjs.map +0 -7
  143. package/dist/lib/browser/chunk-WB3X5Z7Q.mjs.map +0 -7
  144. package/dist/lib/browser/compiler-W4BYJYTL.mjs.map +0 -7
  145. package/dist/lib/browser/react-surface-7BKUWL2U.mjs.map +0 -7
  146. package/dist/lib/browser/types.mjs +0 -13
  147. package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs +0 -33
  148. package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs.map +0 -7
  149. package/dist/lib/node/ScriptContainer-CAC7AISY.cjs +0 -278
  150. package/dist/lib/node/ScriptContainer-CAC7AISY.cjs.map +0 -7
  151. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs +0 -80
  152. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs.map +0 -7
  153. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs +0 -265
  154. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs.map +0 -7
  155. package/dist/lib/node/chunk-AU2FOE26.cjs +0 -369
  156. package/dist/lib/node/chunk-AU2FOE26.cjs.map +0 -7
  157. package/dist/lib/node/chunk-BUOBOT3V.cjs +0 -179
  158. package/dist/lib/node/chunk-BUOBOT3V.cjs.map +0 -7
  159. package/dist/lib/node/chunk-HCRW6T3G.cjs +0 -60
  160. package/dist/lib/node/chunk-HCRW6T3G.cjs.map +0 -7
  161. package/dist/lib/node/chunk-OSBMUJ4T.cjs +0 -580
  162. package/dist/lib/node/chunk-OSBMUJ4T.cjs.map +0 -7
  163. package/dist/lib/node/chunk-QG2X6J74.cjs +0 -52
  164. package/dist/lib/node/chunk-QG2X6J74.cjs.map +0 -7
  165. package/dist/lib/node/chunk-YO5W2IPQ.cjs +0 -251
  166. package/dist/lib/node/chunk-YO5W2IPQ.cjs.map +0 -7
  167. package/dist/lib/node/chunk-ZEV3VARQ.cjs +0 -34
  168. package/dist/lib/node/chunk-ZEV3VARQ.cjs.map +0 -7
  169. package/dist/lib/node/compiler-TFSJRLL4.cjs +0 -104
  170. package/dist/lib/node/compiler-TFSJRLL4.cjs.map +0 -7
  171. package/dist/lib/node/index.cjs +0 -225
  172. package/dist/lib/node/index.cjs.map +0 -7
  173. package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs +0 -100
  174. package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs.map +0 -7
  175. package/dist/lib/node/meta.json +0 -1
  176. package/dist/lib/node/react-surface-EUKPDFU3.cjs +0 -120
  177. package/dist/lib/node/react-surface-EUKPDFU3.cjs.map +0 -7
  178. package/dist/lib/node/settings-WO53FLYZ.cjs +0 -38
  179. package/dist/lib/node/settings-WO53FLYZ.cjs.map +0 -7
  180. package/dist/lib/node/types.cjs +0 -34
  181. package/dist/lib/node/types.cjs.map +0 -7
  182. package/dist/lib/node-esm/ScriptContainer-4IOOIPBF.mjs.map +0 -7
  183. package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs +0 -250
  184. package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs.map +0 -7
  185. package/dist/lib/node-esm/chunk-T7XDCUTF.mjs.map +0 -7
  186. package/dist/lib/node-esm/chunk-UESZKXLR.mjs.map +0 -7
  187. package/dist/lib/node-esm/chunk-W2DAXWHA.mjs.map +0 -7
  188. package/dist/lib/node-esm/compiler-7PQ4D43R.mjs.map +0 -7
  189. package/dist/lib/node-esm/intent-resolver-HTM5PSRZ.mjs.map +0 -7
  190. package/dist/lib/node-esm/react-surface-6UO64YOS.mjs.map +0 -7
  191. package/dist/types/src/types.d.ts.map +0 -1
  192. /package/dist/lib/browser/{DeploymentDialog-RPPPWEEL.mjs.map → DeploymentDialog-C3XH2Z56.mjs.map} +0 -0
  193. /package/dist/lib/browser/{chunk-YSQMXTYO.mjs.map → chunk-5TVBECWH.mjs.map} +0 -0
  194. /package/dist/lib/browser/{chunk-6ZHHWU6S.mjs.map → chunk-QYAREHGH.mjs.map} +0 -0
  195. /package/dist/lib/browser/{settings-Z22D6JVJ.mjs.map → settings-KCTBK5TY.mjs.map} +0 -0
  196. /package/dist/lib/browser/{types.mjs.map → templates/index.mjs.map} +0 -0
  197. /package/dist/lib/{node-esm/DeploymentDialog-IA4CH6WZ.mjs.map → browser/types/index.mjs.map} +0 -0
  198. /package/dist/lib/node-esm/{types.mjs.map → DeploymentDialog-O2XZVRLU.mjs.map} +0 -0
  199. /package/dist/lib/node-esm/{chunk-2KJYPUQD.mjs.map → chunk-35M3CHYE.mjs.map} +0 -0
  200. /package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs.map → chunk-AHXJ6NQU.mjs.map} +0 -0
  201. /package/dist/lib/node-esm/{settings-KZEGCDYX.mjs.map → settings-DXZ334A3.mjs.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/deploy.ts", "../../../src/hooks/useToolbarState.ts", "../../../src/hooks/format.ts", "../../../src/hooks/template.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useEffect, useMemo } from 'react';\n\nimport { FunctionType, type ScriptType, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type Client, useClient } from '@dxos/react-client';\nimport { Query, Ref, type Space, getMeta, 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/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } 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\nexport type CreateDeployOptions = {\n state: Partial<DeployState>;\n script: ScriptType;\n fn: FunctionType;\n space?: Space;\n existingFunctionUrl?: string;\n client: Client;\n t: TFunction;\n};\n\nexport const createDeploy = ({ state, script, space, fn, client, existingFunctionUrl, t }: CreateDeployOptions) => {\n // TODO(wittjosiah): Should this be an action?\n const errorItem = createMenuAction('error', () => {}, {\n label: state.error ?? ['no error label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--warning-circle--regular',\n hidden: !state.error,\n classNames: state.error && errorMessageColors,\n });\n\n const deployAction = createMenuAction<DeployActionProperties>(\n 'deploy',\n async () => {\n if (!script.source || !space) {\n return;\n }\n\n state.error = undefined;\n state.deploying = true;\n\n const result = await deployScript({ script, client, space, fn, existingFunctionUrl });\n\n if (!result.success) {\n log.catch(result.error);\n state.error = t('upload failed label');\n }\n\n state.deploying = false;\n },\n {\n type: 'deploy',\n label: [state.deploying ? 'pending label' : 'deploy label', { ns: SCRIPT_PLUGIN }],\n icon: state.deploying ? 'ph--spinner-gap--regular' : 'ph--cloud-arrow-up--regular',\n disabled: state.deploying,\n classNames: state.deploying ? '[&_svg]:animate-spin' : '',\n },\n );\n\n const copyAction = createMenuAction<DeployActionProperties>(\n 'copy',\n async () => {\n if (!state.functionUrl) {\n return;\n }\n await navigator.clipboard.writeText(state.functionUrl);\n },\n {\n type: 'copy',\n label: ['copy link label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--link--regular',\n disabled: !state.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: Partial<DeployState>; script: ScriptType }) => {\n const { space, client, fn, existingFunctionUrl } = useDeployDeps({ script });\n useEffect(() => {\n if (!existingFunctionUrl) {\n return;\n }\n\n state.functionUrl = getFunctionUrl({\n script,\n fn,\n edgeUrl: client.config.values.runtime?.services?.edge?.url ?? '',\n });\n }, [existingFunctionUrl, space, fn, script, client.config.values.runtime?.services?.edge?.url]);\n\n useEffect(() => {\n state.deployed = isScriptDeployed({ script, fn });\n }, [script.changed, existingFunctionUrl, fn, script]);\n};\n\nexport const useDeployDeps = ({ script }: { script: ScriptType }) => {\n const space = getSpace(script);\n const [fn] = useQuery(space, Query.type(FunctionType, { source: Ref.make(script) }));\n const client = useClient();\n const existingFunctionUrl = useMemo(() => fn && getUserFunctionUrlInMetadata(getMeta(fn)), [fn]);\n return { space, fn, client, existingFunctionUrl };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { live } from '@dxos/live-object';\n\nimport { type DeployState } from './deploy';\n\nexport type ScriptToolbarState = Partial<DeployState>;\n\n// TODO(burdon): Replace with context provider?\nexport const useToolbarState = (initialState: ScriptToolbarState = {}) => {\n return useMemo(() => live<ScriptToolbarState>(initialState), []);\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 { type ScriptType } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { createMenuAction } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type FormatActionProperties = { type: 'format' };\n\nexport const createFormat = (script: ScriptType) => {\n const formatAction = createMenuAction(\n 'format',\n async () => {\n if (!script.source) {\n return;\n }\n\n try {\n script.source.target!.content = await format(script.source.target!.content, {\n parser: 'typescript',\n plugins: [prettierPluginEstree, prettierPluginTypescript],\n semi: true,\n singleQuote: true,\n });\n } catch (err: any) {\n // TODO(wittjosiah): Show error in UI.\n log.catch(err);\n }\n },\n {\n label: ['format label', { ns: SCRIPT_PLUGIN }],\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 ScriptType } from '@dxos/functions';\nimport { createMenuAction, createMenuItemGroup } from '@dxos/react-ui-menu';\n\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { templates } from '../templates';\n\nexport type TemplateActionProperties = { type: 'template'; value: string };\n\nconst createTemplateSelectGroup = () => {\n return createMenuItemGroup('template-select', {\n label: ['template select group label', { ns: SCRIPT_PLUGIN }],\n variant: 'dropdownMenu',\n });\n};\n\nconst createTemplateSelectActions = (script: ScriptType) => {\n return templates.map((template) => {\n return createMenuAction<TemplateActionProperties>(\n `template--${template.id}`,\n () => {\n script.name = template.name;\n script.source!.target!.content = template.source;\n const metaKeys = Obj.getMeta(script).keys;\n const oldPresetIndex = metaKeys.findIndex((key) => key.source === FUNCTIONS_PRESET_META_KEY);\n if (oldPresetIndex >= 0) {\n metaKeys.splice(oldPresetIndex, 1);\n }\n if (template.presetId) {\n metaKeys.push({ source: FUNCTIONS_PRESET_META_KEY, id: template.presetId });\n }\n },\n {\n label: template.name,\n value: template.id,\n type: 'template',\n },\n );\n });\n};\n\nexport const createTemplateSelect = (script: ScriptType) => {\n const templateSelectGroup = createTemplateSelectGroup();\n const templateSelectActions = createTemplateSelectActions(script);\n return {\n nodes: [templateSelectGroup, ...templateSelectActions],\n edges: [\n { source: 'root', target: 'template-select' },\n ...templateSelectActions.map((action) => ({ source: 'template-select', target: action.id })),\n ],\n };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["useEffect", "useMemo", "FunctionType", "getUserFunctionUrlInMetadata", "log", "useClient", "Query", "Ref", "getMeta", "getSpace", "useQuery", "createMenuAction", "errorMessageColors", "createDeploy", "state", "script", "space", "fn", "client", "existingFunctionUrl", "t", "errorItem", "createMenuAction", "label", "error", "ns", "SCRIPT_PLUGIN", "icon", "hidden", "classNames", "errorMessageColors", "deployAction", "source", "undefined", "deploying", "result", "deployScript", "success", "log", "catch", "type", "disabled", "copyAction", "functionUrl", "navigator", "clipboard", "writeText", "nodes", "edges", "target", "useDeployState", "useDeployDeps", "useEffect", "getFunctionUrl", "edgeUrl", "config", "values", "runtime", "services", "edge", "url", "deployed", "isScriptDeployed", "changed", "getSpace", "useQuery", "Query", "FunctionType", "Ref", "make", "useClient", "useMemo", "getUserFunctionUrlInMetadata", "getMeta", "useMemo", "live", "useToolbarState", "initialState", "useMemo", "live", "format", "prettierPluginEstree", "prettierPluginTypescript", "log", "createMenuAction", "createFormat", "script", "formatAction", "createMenuAction", "source", "target", "content", "format", "parser", "plugins", "prettierPluginEstree", "prettierPluginTypescript", "semi", "singleQuote", "err", "log", "catch", "label", "ns", "SCRIPT_PLUGIN", "icon", "nodes", "edges", "Obj", "FUNCTIONS_PRESET_META_KEY", "createMenuAction", "createMenuItemGroup", "createTemplateSelectGroup", "createMenuItemGroup", "label", "ns", "SCRIPT_PLUGIN", "variant", "createTemplateSelectActions", "script", "templates", "map", "template", "createMenuAction", "id", "name", "source", "target", "content", "metaKeys", "Obj", "getMeta", "keys", "oldPresetIndex", "findIndex", "key", "FUNCTIONS_PRESET_META_KEY", "splice", "presetId", "push", "value", "type", "createTemplateSelect", "templateSelectGroup", "templateSelectActions", "nodes", "edges", "action"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
- // packages/plugins/plugin-script/src/meta.ts
3
+ // src/meta.ts
4
4
  var SCRIPT_PLUGIN = "dxos.org/plugin/script";
5
5
  var meta = {
6
6
  id: SCRIPT_PLUGIN,
@@ -27,4 +27,4 @@ export {
27
27
  meta,
28
28
  defaultScriptsForIntegration
29
29
  };
30
- //# sourceMappingURL=chunk-AEB5TPEW.mjs.map
30
+ //# sourceMappingURL=chunk-AHXJ6NQU.mjs.map
@@ -1,15 +1,15 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  useCreateAndDeployScriptTemplates
4
- } from "./chunk-MJJQBUOL.mjs";
4
+ } from "./chunk-PACUN7RS.mjs";
5
5
  import {
6
6
  SCRIPT_PLUGIN
7
- } from "./chunk-AEB5TPEW.mjs";
7
+ } from "./chunk-AHXJ6NQU.mjs";
8
8
 
9
- // packages/plugins/plugin-script/src/components/DeploymentDialog/DeploymentDialog.tsx
9
+ // src/components/DeploymentDialog/DeploymentDialog.tsx
10
10
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
11
11
  import React, { useEffect, useMemo } from "react";
12
- import { createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
12
+ import { LayoutAction, createIntent, useIntentDispatcher } from "@dxos/app-framework";
13
13
  import { getSpace } from "@dxos/react-client/echo";
14
14
  import { Button, Dialog, Icon, useTranslation } from "@dxos/react-ui";
15
15
  var DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;
@@ -144,11 +144,11 @@ var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
144
144
  }
145
145
  };
146
146
 
147
- // packages/plugins/plugin-script/src/components/DeploymentDialog/index.ts
147
+ // src/components/DeploymentDialog/index.ts
148
148
  var DeploymentDialog_default = DeploymentDialog;
149
149
 
150
150
  export {
151
151
  DEPLOYMENT_DIALOG,
152
152
  DeploymentDialog_default
153
153
  };
154
- //# sourceMappingURL=chunk-T7XDCUTF.mjs.map
154
+ //# sourceMappingURL=chunk-IO6T72KY.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/DeploymentDialog/DeploymentDialog.tsx", "../../../src/components/DeploymentDialog/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useMemo } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nimport { useCreateAndDeployScriptTemplates } from '../../hooks/useCreateAndDeployScriptTemplates';\nimport { SCRIPT_PLUGIN } from '../../meta';\nimport { type Template } from '../../templates';\n\nexport const DEPLOYMENT_DIALOG = `${SCRIPT_PLUGIN}/deployment/dialog`;\n\n// TODO(ZaymonFC):\n// - Show activity and feedback to the user.\n// - Only take an array of templateIds and get the name from the data.\n// - Pending / onError states.\n\ntype DeploymentDialogProps = {\n accessToken: DataType.AccessToken;\n scriptTemplates: Template[];\n};\n\nexport const DeploymentDialog = ({ accessToken, scriptTemplates }: DeploymentDialogProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const space = useMemo(() => getSpace(accessToken), [accessToken]);\n\n // TODO(ZaymonFC): Thinking further. All of this should get moved to intents to run async in the background.\n // Deployment shouldn't be tied to the lifecycle of the dialogue component.\n const { handleCreateAndDeployScripts, status } = useCreateAndDeployScriptTemplates(space, scriptTemplates);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n useEffect(() => {\n if (status === 'success') {\n // TODO(ZaymonFC): We can probably re-use this toast for normal script deployment.\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SCRIPT_PLUGIN}/deployment-success`,\n icon: 'ph--check--regular',\n duration: Infinity,\n title: ['script deployment toast label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n description: ['script deployment toast description', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n closeLabel: ['script deployment toast close label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n },\n }),\n );\n void dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n }\n if (status === 'error') {\n void dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n void dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SCRIPT_PLUGIN}/deployment-error`,\n icon: 'ph--warning--regular',\n duration: Infinity,\n title: ['script deployment error toast label', { ns: SCRIPT_PLUGIN, count: scriptTemplates.length }],\n description: [\n 'script deployment error toast description',\n { ns: SCRIPT_PLUGIN, count: scriptTemplates.length },\n ],\n closeLabel: [\n 'script deployment error toast close label',\n { ns: SCRIPT_PLUGIN, count: scriptTemplates.length },\n ],\n },\n }),\n );\n }\n }, [status, dispatch]);\n\n return (\n <Dialog.Content>\n <div className='flex justify-between items-center'>\n <Dialog.Title>{t('deployment dialog title')}</Dialog.Title>\n <Dialog.Close asChild>\n <Button density='fine' variant='ghost'>\n <Icon icon='ph--x--regular' size={4} />\n </Button>\n </Dialog.Close>\n </div>\n <div role='none' className='plb-4'>\n {/* TODO: Implement deployment logic and UI. */}\n <p>{t('deployment dialog scripts found message', { count: scriptTemplates.length })}</p>\n <ul className='pbs-2'>\n {scriptTemplates.map((template) => {\n return <li key={template.id}>{template.name}</li>;\n })}\n </ul>\n </div>\n <div role='none' className='flex flex-row-reverse gap-1'>\n <Button variant='primary' onClick={handleCreateAndDeployScripts} disabled={status === 'pending'}>\n {status === 'pending'\n ? t('deployment dialog deploy functions pending button label', { count: scriptTemplates.length })\n : t('deployment dialog deploy functions button label', { count: scriptTemplates.length })}\n </Button>\n <Dialog.Close asChild disabled={status === 'pending'}>\n <Button disabled={status === 'pending'}>{t('deployment dialog skip button label')}</Button>\n </Dialog.Close>\n </div>\n </Dialog.Content>\n );\n};\n\nexport default DeploymentDialog;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { DEPLOYMENT_DIALOG, DeploymentDialog } from './DeploymentDialog';\n\nexport { DEPLOYMENT_DIALOG };\n\nexport default DeploymentDialog;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useEffect", "useMemo", "LayoutAction", "createIntent", "useIntentDispatcher", "getSpace", "Button", "Dialog", "Icon", "useTranslation", "DEPLOYMENT_DIALOG", "SCRIPT_PLUGIN", "DeploymentDialog", "accessToken", "scriptTemplates", "t", "useTranslation", "space", "useMemo", "getSpace", "handleCreateAndDeployScripts", "status", "useCreateAndDeployScriptTemplates", "dispatchPromise", "dispatch", "useIntentDispatcher", "useEffect", "createIntent", "LayoutAction", "AddToast", "part", "subject", "id", "icon", "duration", "Infinity", "title", "ns", "count", "length", "description", "closeLabel", "UpdateDialog", "options", "state", "Dialog", "Content", "div", "className", "Title", "Close", "asChild", "Button", "density", "variant", "Icon", "size", "role", "p", "ul", "map", "template", "li", "key", "name", "onClick", "disabled", "DeploymentDialog"]
7
+ }
@@ -1,15 +1,14 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- SCRIPT_PLUGIN
4
- } from "./chunk-AEB5TPEW.mjs";
3
+ meta
4
+ } from "./chunk-AHXJ6NQU.mjs";
5
5
 
6
- // packages/plugins/plugin-script/src/types.ts
6
+ // src/types/schema.ts
7
7
  import { Schema } from "effect";
8
8
  import { SpaceSchema } from "@dxos/client/echo";
9
9
  import { ScriptType } from "@dxos/functions";
10
10
  import { EditorInputMode } from "@dxos/react-ui-editor";
11
11
  (function(ScriptAction2) {
12
- const SCRIPT_ACTION = `${SCRIPT_PLUGIN}/action`;
13
12
  ScriptAction2.CreateScriptSchema = Schema.Struct({
14
13
  name: Schema.optional(Schema.String),
15
14
  // TODO(wittjosiah): Placeholder annotation?
@@ -18,7 +17,7 @@ import { EditorInputMode } from "@dxos/react-ui-editor";
18
17
  })),
19
18
  initialTemplateId: Schema.optional(Schema.String)
20
19
  });
21
- class Create extends Schema.TaggedClass()(`${SCRIPT_ACTION}/create`, {
20
+ class Create extends Schema.TaggedClass()(`${meta.id}/action/create`, {
22
21
  input: Schema.extend(ScriptAction2.CreateScriptSchema, Schema.Struct({
23
22
  space: SpaceSchema
24
23
  })),
@@ -38,4 +37,4 @@ export {
38
37
  ScriptSettingsSchema,
39
38
  ScriptAction
40
39
  };
41
- //# sourceMappingURL=chunk-UESZKXLR.mjs.map
40
+ //# sourceMappingURL=chunk-JIPFLBYA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { SpaceSchema } from '@dxos/client/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { EditorInputMode } from '@dxos/react-ui-editor';\n\nimport { meta } from '../meta';\n\nexport namespace ScriptAction {\n export const CreateScriptSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): Placeholder annotation?\n gistUrl: Schema.optional(Schema.String.annotations({ title: 'Import from Gist (url)' })),\n initialTemplateId: Schema.optional(Schema.String),\n });\n\n export type CreateScriptProps = Schema.Schema.Type<typeof CreateScriptSchema>;\n\n export class Create extends Schema.TaggedClass<Create>()(`${meta.id}/action/create`, {\n input: Schema.extend(CreateScriptSchema, Schema.Struct({ space: SpaceSchema })),\n output: Schema.Struct({\n object: ScriptType,\n }),\n }) {}\n}\n\nexport const ScriptSettingsSchema = Schema.mutable(\n Schema.Struct({\n editorInputMode: EditorInputMode,\n }),\n);\n\nexport type ScriptSettingsProps = Schema.Schema.Type<typeof ScriptSettingsSchema>;\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;UAIfC,eAAAA;gBACFC,qBAAqBC,OAAOC,OAAO;IAC9CC,MAAMF,OAAOG,SAASH,OAAOI,MAAM;;IAEnCC,SAASL,OAAOG,SAASH,OAAOI,OAAOE,YAAY;MAAEC,OAAO;IAAyB,CAAA,CAAA;IACrFC,mBAAmBR,OAAOG,SAASH,OAAOI,MAAM;EAClD,CAAA;EAIO,MAAMK,eAAeT,OAAOU,YAAW,EAAW,GAAGC,KAAKC,EAAE,kBAAkB;IACnFC,OAAOb,OAAOc,OAAMhB,cAACC,oBAAoBC,OAAOC,OAAO;MAAEc,OAAOC;IAAY,CAAA,CAAA;IAC5EC,QAAQjB,OAAOC,OAAO;MACpBiB,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBALSV,SAAAA;AAMf,GAhBiBX,iBAAAA,eAAAA,CAAAA,EAAAA;AAkBV,IAAMsB,uBAAuBpB,OAAOqB,QACzCrB,OAAOC,OAAO;EACZqB,iBAAiBC;AACnB,CAAA,CAAA;;",
6
+ "names": ["Schema", "SpaceSchema", "ScriptType", "EditorInputMode", "ScriptAction", "CreateScriptSchema", "Schema", "Struct", "name", "optional", "String", "gistUrl", "annotations", "title", "initialTemplateId", "Create", "TaggedClass", "meta", "id", "input", "extend", "space", "SpaceSchema", "output", "object", "ScriptType", "ScriptSettingsSchema", "mutable", "editorInputMode", "EditorInputMode"]
7
+ }
@@ -1,13 +1,13 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ScriptAction
4
- } from "./chunk-UESZKXLR.mjs";
4
+ } from "./chunk-JIPFLBYA.mjs";
5
5
 
6
- // packages/plugins/plugin-script/src/util/functions.ts
6
+ // src/util/functions.ts
7
7
  import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
8
8
  import { log } from "@dxos/log";
9
9
  import { getMeta, getSpace } from "@dxos/react-client/echo";
10
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
10
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
11
11
  var getFunctionUrl = ({ script, fn, edgeUrl }) => {
12
12
  const space = getSpace(script);
13
13
  const existingFunctionUrl = fn && getUserFunctionUrlInMetadata(getMeta(fn));
@@ -59,13 +59,13 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
59
59
  }
60
60
  };
61
61
 
62
- // packages/plugins/plugin-script/src/util/deploy.ts
62
+ // src/util/deploy.ts
63
63
  import { Obj, Ref } from "@dxos/echo";
64
64
  import { FunctionType, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2, makeFunctionUrl, setUserFunctionUrlInMetadata } from "@dxos/functions";
65
65
  import { Bundler } from "@dxos/functions/bundler";
66
66
  import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
67
67
  import { log as log2 } from "@dxos/log";
68
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
68
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
69
69
  var isScriptDeployed = ({ script, fn }) => {
70
70
  const existingFunctionUrl = fn && getUserFunctionUrlInMetadata2(Obj.getMeta(fn));
71
71
  return Boolean(existingFunctionUrl) && !script.changed;
@@ -161,7 +161,7 @@ var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) =>
161
161
  }
162
162
  };
163
163
 
164
- // packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts
164
+ // src/hooks/useCreateAndDeployScriptTemplates.ts
165
165
  import { pipe } from "effect/Function";
166
166
  import { useCallback, useState } from "react";
167
167
  import { chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
@@ -170,7 +170,7 @@ import { ScriptType } from "@dxos/functions";
170
170
  import { invariant } from "@dxos/invariant";
171
171
  import { SpaceAction } from "@dxos/plugin-space/types";
172
172
  import { useClient } from "@dxos/react-client";
173
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
173
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
174
174
  var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
175
175
  const { dispatchPromise: dispatch } = useIntentDispatcher();
176
176
  const client = useClient();
@@ -231,4 +231,4 @@ export {
231
231
  deployScript,
232
232
  useCreateAndDeployScriptTemplates
233
233
  };
234
- //# sourceMappingURL=chunk-MJJQBUOL.mjs.map
234
+ //# sourceMappingURL=chunk-PACUN7RS.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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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",
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 // TODO(burdon): Return onCreateAndDeployScripts.\n return { handleCreateAndDeployScripts, status, error };\n};\n"],
5
+ "mappings": "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",
6
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
7
  }
@@ -1,19 +1,19 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ScriptCapabilities
4
- } from "./chunk-2KJYPUQD.mjs";
5
- import "./chunk-AEB5TPEW.mjs";
4
+ } from "./chunk-35M3CHYE.mjs";
5
+ import "./chunk-AHXJ6NQU.mjs";
6
6
 
7
- // packages/plugins/plugin-script/src/capabilities/compiler.ts
7
+ // src/capabilities/compiler.ts
8
8
  import wasmUrl from "esbuild-wasm/esbuild.wasm?url";
9
9
  import { contributes } from "@dxos/app-framework";
10
10
  import { initializeBundler } from "@dxos/functions/bundler";
11
11
 
12
- // packages/plugins/plugin-script/src/compiler/compiler.ts
12
+ // src/compiler/compiler.ts
13
13
  import { createDefaultMapFromCDN, createSystem, createVirtualTypeScriptEnvironment } from "@typescript/vfs";
14
14
  import ts from "typescript";
15
15
  import { invariant } from "@dxos/invariant";
16
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
16
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/compiler/compiler.ts";
17
17
  var defaultOptions = {
18
18
  lib: [
19
19
  "DOM",
@@ -22,6 +22,9 @@ var defaultOptions = {
22
22
  target: ts.ScriptTarget.ES2022
23
23
  };
24
24
  var Compiler = class {
25
+ _options;
26
+ _env;
27
+ _fsMap;
25
28
  constructor(_options = defaultOptions) {
26
29
  this._options = _options;
27
30
  }
@@ -62,7 +65,7 @@ var Compiler = class {
62
65
  }
63
66
  };
64
67
 
65
- // packages/plugins/plugin-script/src/capabilities/compiler.ts
68
+ // src/capabilities/compiler.ts
66
69
  var compiler_default = async () => {
67
70
  const compiler = new Compiler();
68
71
  await compiler.initialize();
@@ -80,4 +83,4 @@ var compiler_default = async () => {
80
83
  export {
81
84
  compiler_default as default
82
85
  };
83
- //# sourceMappingURL=compiler-7PQ4D43R.mjs.map
86
+ //# sourceMappingURL=compiler-S52P5P3F.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/compiler.ts", "../../../src/compiler/compiler.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\n\nimport { contributes } from '@dxos/app-framework';\nimport { initializeBundler } from '@dxos/functions/bundler';\n\nimport { Compiler } from '../compiler';\n\nimport { ScriptCapabilities } from './capabilities';\n\nexport default async () => {\n const compiler = new Compiler();\n\n await compiler.initialize();\n // TODO(wittjosiah): Fetch types for https modules.\n compiler.setFile('/src/typings.d.ts', \"declare module 'https://*';\");\n // TODO(wittjosiah): Proper function handler types.\n // TODO(wittjosiah): Remove.\n compiler.setFile(\n '/src/runtime.ts',\n `\n export const Filter: any = {};\n export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;\n export const functionHandler = (handler: FunctionHandler) => handler;\n `,\n );\n await initializeBundler({ wasmUrl });\n\n return contributes(ScriptCapabilities.Compiler, compiler);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n type VirtualTypeScriptEnvironment,\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n} from '@typescript/vfs';\nimport ts from 'typescript';\n\nimport { invariant } from '@dxos/invariant';\n\nconst defaultOptions: ts.CompilerOptions = {\n lib: ['DOM', 'es2022'],\n target: ts.ScriptTarget.ES2022,\n};\n\nexport class Compiler {\n private _env: VirtualTypeScriptEnvironment | undefined;\n private _fsMap: Map<string, string> | undefined;\n\n constructor(private readonly _options: ts.CompilerOptions = defaultOptions) {}\n\n async initialize(): Promise<void> {\n if (this._env) {\n return;\n }\n\n // TODO(wittjosiah): Figure out how to get workers working in plugin packages.\n // https://github.com/val-town/codemirror-ts?tab=readme-ov-file#setup-worker\n this._fsMap = await createDefaultMapFromCDN(this._options, '5.5.4', true, ts);\n const system = createSystem(this._fsMap);\n this._env = createVirtualTypeScriptEnvironment(system, [], ts, this._options);\n }\n\n get environment() {\n invariant(this._env, 'Compiler environment not initialized.');\n return this._env;\n }\n\n setFile(fileName: string, content: string): void {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string): ts.EmitOutput {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n"],
5
+ "mappings": ";;;;;;;AAKA,OAAOA,aAAa;AAEpB,SAASC,mBAAmB;AAC5B,SAASC,yBAAyB;;;ACJlC,SAEEC,yBACAC,cACAC,0CACK;AACP,OAAOC,QAAQ;AAEf,SAASC,iBAAiB;;AAE1B,IAAMC,iBAAqC;EACzCC,KAAK;IAAC;IAAO;;EACbC,QAAQJ,GAAGK,aAAaC;AAC1B;AAEO,IAAMC,WAAN,MAAMA;;EACHC;EACAC;EAER,YAA6BC,WAA+BR,gBAAgB;SAA/CQ,WAAAA;EAAgD;EAE7E,MAAMC,aAA4B;AAChC,QAAI,KAAKH,MAAM;AACb;IACF;AAIA,SAAKC,SAAS,MAAMZ,wBAAwB,KAAKa,UAAU,SAAS,MAAMV,EAAAA;AAC1E,UAAMY,SAASd,aAAa,KAAKW,MAAM;AACvC,SAAKD,OAAOT,mCAAmCa,QAAQ,CAAA,GAAIZ,IAAI,KAAKU,QAAQ;EAC9E;EAEA,IAAIG,cAAc;AAChBZ,cAAU,KAAKO,MAAM,yCAAA;;;;;;;;;AACrB,WAAO,KAAKA;EACd;EAEAM,QAAQC,UAAkBC,SAAuB;AAC/Cf,cAAU,KAAKQ,QAAQ,oCAAA;;;;;;;;;AACvB,SAAKI,YAAYI,WAAWF,UAAUC,OAAAA;EACxC;EAEAE,QAAQH,UAAiC;AACvC,WAAO,KAAKF,YAAYM,gBAAgBC,cAAcL,QAAAA;EACxD;AACF;;;ADpCA,IAAA,mBAAe,YAAA;AACb,QAAMM,WAAW,IAAIC,SAAAA;AAErB,QAAMD,SAASE,WAAU;AAEzBF,WAASG,QAAQ,qBAAqB,6BAAA;AAGtCH,WAASG,QACP,mBACA;;;;OAIG;AAEL,QAAMC,kBAAkB;IAAEC;EAAQ,CAAA;AAElC,SAAOC,YAAYC,mBAAmBN,UAAUD,QAAAA;AAClD;",
6
+ "names": ["wasmUrl", "contributes", "initializeBundler", "createDefaultMapFromCDN", "createSystem", "createVirtualTypeScriptEnvironment", "ts", "invariant", "defaultOptions", "lib", "target", "ScriptTarget", "ES2022", "Compiler", "_env", "_fsMap", "_options", "initialize", "system", "environment", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "compiler", "Compiler", "initialize", "setFile", "initializeBundler", "wasmUrl", "contributes", "ScriptCapabilities"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ScriptCapabilities
4
- } from "./chunk-2KJYPUQD.mjs";
4
+ } from "./chunk-35M3CHYE.mjs";
5
5
  import {
6
6
  DeploymentDialog,
7
7
  ScriptContainer,
@@ -10,60 +10,61 @@ import {
10
10
  ScriptProperties,
11
11
  TestContainer,
12
12
  TestPanel
13
- } from "./chunk-B4TP3LSZ.mjs";
13
+ } from "./chunk-6WMFL3JL.mjs";
14
14
  import {
15
15
  DEPLOYMENT_DIALOG
16
- } from "./chunk-T7XDCUTF.mjs";
17
- import "./chunk-W2DAXWHA.mjs";
18
- import "./chunk-MJJQBUOL.mjs";
16
+ } from "./chunk-IO6T72KY.mjs";
17
+ import "./chunk-7L4JDSXJ.mjs";
18
+ import "./chunk-3BBEM2U7.mjs";
19
+ import "./chunk-PACUN7RS.mjs";
19
20
  import {
20
21
  ScriptAction
21
- } from "./chunk-UESZKXLR.mjs";
22
+ } from "./chunk-JIPFLBYA.mjs";
22
23
  import {
23
24
  SCRIPT_PLUGIN,
24
25
  defaultScriptsForIntegration,
25
26
  meta
26
- } from "./chunk-AEB5TPEW.mjs";
27
+ } from "./chunk-AHXJ6NQU.mjs";
27
28
 
28
- // packages/plugins/plugin-script/src/capabilities/index.ts
29
+ // src/capabilities/index.ts
29
30
  import { lazy } from "@dxos/app-framework";
30
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-IOOUTHV2.mjs"));
31
- var ArtifactDefinition = lazy(() => import("./artifact-definition-4XRYAP54.mjs"));
32
- var Compiler = lazy(() => import("./compiler-7PQ4D43R.mjs"));
33
- var IntentResolver = lazy(() => import("./intent-resolver-HTM5PSRZ.mjs"));
34
- var ReactSurface = lazy(() => import("./react-surface-6UO64YOS.mjs"));
35
- var ScriptSettings = lazy(() => import("./settings-KZEGCDYX.mjs"));
31
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-CQTTAYHP.mjs"));
32
+ var Compiler = lazy(() => import("./compiler-S52P5P3F.mjs"));
33
+ var IntentResolver = lazy(() => import("./intent-resolver-GO53JOPL.mjs"));
34
+ var ReactSurface = lazy(() => import("./react-surface-W3NRCS5O.mjs"));
35
+ var ScriptSettings = lazy(() => import("./settings-DXZ334A3.mjs"));
36
36
 
37
- // packages/plugins/plugin-script/src/ScriptPlugin.tsx
37
+ // src/ScriptPlugin.tsx
38
38
  import { Schema } from "effect";
39
- import { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from "@dxos/app-framework";
39
+ import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
40
+ import { Ref } from "@dxos/echo";
40
41
  import { ScriptType as ScriptType2 } from "@dxos/functions";
41
- import { RefArray } from "@dxos/live-object";
42
42
  import { ClientEvents } from "@dxos/plugin-client";
43
43
  import { SpaceCapabilities } from "@dxos/plugin-space";
44
44
  import { defineObjectForm } from "@dxos/plugin-space/types";
45
45
 
46
- // packages/plugins/plugin-script/src/events.ts
46
+ // src/events.ts
47
47
  import { defineEvent } from "@dxos/app-framework";
48
48
  (function(ScriptEvents2) {
49
49
  ScriptEvents2.SetupCompiler = defineEvent(`${SCRIPT_PLUGIN}/event/setup-compiler`);
50
50
  })(ScriptEvents || (ScriptEvents = {}));
51
51
  var ScriptEvents;
52
52
 
53
- // packages/plugins/plugin-script/src/translations.ts
54
- import { Type } from "@dxos/echo";
53
+ // src/translations.ts
55
54
  import { ScriptType } from "@dxos/functions";
56
- var translations_default = [
55
+ var translations = [
57
56
  {
58
57
  "en-US": {
59
- [Type.getTypename(ScriptType)]: {
58
+ [ScriptType.typename]: {
60
59
  "typename label": "Script",
61
60
  "typename label_zero": "Scripts",
62
61
  "typename label_one": "Script",
63
62
  "typename label_other": "Scripts",
64
- "object name placeholder": "New script"
63
+ "object name placeholder": "New script",
64
+ "rename object label": "Rename script",
65
+ "delete object label": "Delete script"
65
66
  },
66
- [SCRIPT_PLUGIN]: {
67
+ [meta.id]: {
67
68
  "plugin name": "Scripts",
68
69
  "description label": "Description",
69
70
  "description placeholder": "Enter description",
@@ -122,7 +123,7 @@ var translations_default = [
122
123
  }
123
124
  ];
124
125
 
125
- // packages/plugins/plugin-script/src/ScriptPlugin.tsx
126
+ // src/ScriptPlugin.tsx
126
127
  var ScriptPlugin = () => definePlugin(meta, [
127
128
  defineModule({
128
129
  id: `${meta.id}/module/settings`,
@@ -137,7 +138,7 @@ var ScriptPlugin = () => definePlugin(meta, [
137
138
  defineModule({
138
139
  id: `${meta.id}/module/translations`,
139
140
  activatesOn: Events.SetupTranslations,
140
- activate: () => contributes(Capabilities.Translations, translations_default)
141
+ activate: () => contributes(Capabilities.Translations, translations)
141
142
  }),
142
143
  defineModule({
143
144
  id: `${meta.id}/module/metadata`,
@@ -147,7 +148,7 @@ var ScriptPlugin = () => definePlugin(meta, [
147
148
  metadata: {
148
149
  icon: "ph--code--regular",
149
150
  // TODO(wittjosiah): Move out of metadata.
150
- loadReferences: async (script) => await RefArray.loadAll([
151
+ loadReferences: async (script) => await Ref.Array.loadAll([
151
152
  script.source
152
153
  ])
153
154
  }
@@ -183,11 +184,6 @@ var ScriptPlugin = () => definePlugin(meta, [
183
184
  id: `${meta.id}/module/intent-resolver`,
184
185
  activatesOn: Events.SetupIntentResolver,
185
186
  activate: IntentResolver
186
- }),
187
- defineModule({
188
- id: `${meta.id}/module/artifact-definition`,
189
- activatesOn: Events.SetupArtifactDefinition,
190
- activate: ArtifactDefinition
191
187
  })
192
188
  ]);
193
189
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/index.ts", "../../../src/ScriptPlugin.tsx", "../../../src/events.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const ArtifactDefinition = lazy(() => import('./artifact-definition'));\nexport const Compiler = lazy(() => import('./compiler'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ScriptSettings = lazy(() => import('./settings'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Capabilities, contributes, createIntent, defineModule, definePlugin, Events } from '@dxos/app-framework';\nimport { ScriptType } from '@dxos/functions';\nimport { RefArray } from '@dxos/live-object';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport {\n AppGraphBuilder,\n ArtifactDefinition,\n Compiler,\n IntentResolver,\n ReactSurface,\n ScriptSettings,\n} from './capabilities';\nimport { ScriptEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { ScriptAction } from './types';\n\nexport const ScriptPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: ScriptSettings,\n }),\n defineModule({\n id: `${meta.id}/module/compiler`,\n activatesOn: ScriptEvents.SetupCompiler,\n activate: Compiler,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: ScriptType.typename,\n metadata: {\n icon: 'ph--code--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (script: ScriptType) => await RefArray.loadAll([script.source]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: ScriptType,\n formSchema: ScriptAction.CreateScriptSchema.pipe(Schema.omit('initialTemplateId')),\n getIntent: (props, options) => createIntent(ScriptAction.Create, { ...props, space: options.space }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.\n activatesBefore: [ScriptEvents.SetupCompiler],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport namespace ScriptEvents {\n export const SetupCompiler = defineEvent(`${SCRIPT_PLUGIN}/event/setup-compiler`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [Type.getTypename(ScriptType)]: {\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 },\n [SCRIPT_PLUGIN]: {\n 'plugin name': 'Scripts',\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 '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 'template select group label': 'Select template',\n 'function panel label': 'Debug Function',\n 'script test label': 'Test',\n 'script logs label': 'Logs',\n 'deployment dialog title': 'Default Scripts',\n 'deployment dialog scripts found message_one':\n 'We found the following script template for your new integration:',\n 'deployment dialog scripts found message_other':\n 'We found the following script templates for your new integration:',\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 '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 },\n },\n];\n"],
5
- "mappings": "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",
6
- "names": ["lazy", "AppGraphBuilder", "lazy", "ArtifactDefinition", "Compiler", "IntentResolver", "ReactSurface", "ScriptSettings", "Schema", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "ScriptType", "RefArray", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "defineEvent", "ScriptEvents", "SetupCompiler", "defineEvent", "SCRIPT_PLUGIN", "Type", "ScriptType", "Type", "getTypename", "ScriptType", "SCRIPT_PLUGIN", "ScriptPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "ScriptSettings", "ScriptEvents", "SetupCompiler", "Compiler", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "ScriptType", "typename", "metadata", "icon", "loadReferences", "script", "RefArray", "loadAll", "source", "SetupAppGraph", "AppGraphBuilder", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "ScriptAction", "CreateScriptSchema", "pipe", "Schema", "omit", "getIntent", "props", "options", "createIntent", "Create", "space", "SetupReactSurface", "activatesBefore", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupArtifactDefinition", "ArtifactDefinition"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const Compiler = lazy(() => import('./compiler'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ScriptSettings = lazy(() => import('./settings'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from '@dxos/app-framework';\nimport { Ref } from '@dxos/echo';\nimport { ScriptType } from '@dxos/functions';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\n\nimport { AppGraphBuilder, Compiler, IntentResolver, ReactSurface, ScriptSettings } from './capabilities';\nimport { ScriptEvents } from './events';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { ScriptAction } from './types';\n\nexport const ScriptPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: ScriptSettings,\n }),\n defineModule({\n id: `${meta.id}/module/compiler`,\n activatesOn: ScriptEvents.SetupCompiler,\n activate: Compiler,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: ScriptType.typename,\n metadata: {\n icon: 'ph--code--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (script: ScriptType) => await Ref.Array.loadAll([script.source]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: ScriptType,\n formSchema: ScriptAction.CreateScriptSchema.pipe(Schema.omit('initialTemplateId')),\n getIntent: (props, options) => createIntent(ScriptAction.Create, { ...props, space: options.space }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the script editor is loaded when surfaces activation is more granular.\n activatesBefore: [ScriptEvents.SetupCompiler],\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport namespace ScriptEvents {\n export const SetupCompiler = defineEvent(`${SCRIPT_PLUGIN}/event/setup-compiler`);\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ScriptType } from '@dxos/functions';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [ScriptType.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 },\n [meta.id]: {\n 'plugin name': 'Scripts',\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 '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 'template select group label': 'Select template',\n 'function panel label': 'Debug Function',\n 'script test label': 'Test',\n 'script logs label': 'Logs',\n 'deployment dialog title': 'Default Scripts',\n 'deployment dialog scripts found message_one':\n 'We found the following script template for your new integration:',\n 'deployment dialog scripts found message_other':\n 'We found the following script templates for your new integration:',\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 '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 },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": "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",
6
+ "names": ["lazy", "AppGraphBuilder", "lazy", "Compiler", "IntentResolver", "ReactSurface", "ScriptSettings", "Schema", "Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "Ref", "ScriptType", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "defineEvent", "ScriptEvents", "SetupCompiler", "defineEvent", "SCRIPT_PLUGIN", "ScriptType", "translations", "ScriptType", "typename", "meta", "id", "ScriptPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupSettings", "activate", "ScriptSettings", "ScriptEvents", "SetupCompiler", "Compiler", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupMetadata", "Metadata", "ScriptType", "typename", "metadata", "icon", "loadReferences", "script", "Ref", "Array", "loadAll", "source", "SetupAppGraph", "AppGraphBuilder", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "ScriptAction", "CreateScriptSchema", "pipe", "Schema", "omit", "getIntent", "props", "options", "createIntent", "Create", "space", "SetupReactSurface", "activatesBefore", "ReactSurface", "SetupIntentResolver", "IntentResolver"]
7
7
  }