@dxos/plugin-script 0.8.3 → 0.8.4-main.2e9d522

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 (167) hide show
  1. package/dist/lib/browser/DeploymentDialog-M4QIHTDR.mjs +12 -0
  2. package/dist/lib/browser/{ScriptContainer-RSN52NH7.mjs → ScriptContainer-Z6SIGRRC.mjs} +10 -9
  3. package/dist/lib/browser/ScriptContainer-Z6SIGRRC.mjs.map +7 -0
  4. package/dist/lib/browser/{app-graph-builder-5Z3MUX4N.mjs → app-graph-builder-HLQ7K3BT.mjs} +3 -3
  5. package/dist/lib/browser/{artifact-definition-A4TBQL75.mjs → artifact-definition-24Q3IHOU.mjs} +10 -10
  6. package/dist/lib/browser/artifact-definition-24Q3IHOU.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-3U6DTUH3.mjs +283 -0
  8. package/dist/lib/browser/chunk-3U6DTUH3.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-YSQMXTYO.mjs → chunk-5TVBECWH.mjs} +3 -3
  10. package/dist/lib/browser/{chunk-3JLR2SHJ.mjs → chunk-FIM2MVNJ.mjs} +14 -16
  11. package/dist/lib/browser/{chunk-3JLR2SHJ.mjs.map → chunk-FIM2MVNJ.mjs.map} +3 -3
  12. package/dist/lib/browser/{chunk-QJH7I2UV.mjs → chunk-FMDXKOP7.mjs} +8 -8
  13. package/dist/lib/browser/{chunk-WB3X5Z7Q.mjs → chunk-IS4OG2UW.mjs} +5 -6
  14. package/dist/lib/browser/chunk-IS4OG2UW.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-LA66DQGU.mjs → chunk-P4HQKUCP.mjs} +5 -5
  16. package/dist/lib/browser/{chunk-6ZHHWU6S.mjs → chunk-QYAREHGH.mjs} +2 -2
  17. package/dist/lib/browser/{chunk-3FU4QZVP.mjs → chunk-R4R7VOFY.mjs} +7 -283
  18. package/dist/lib/browser/chunk-R4R7VOFY.mjs.map +7 -0
  19. package/dist/lib/browser/{compiler-W4BYJYTL.mjs → compiler-CXCUA4UQ.mjs} +7 -7
  20. package/dist/lib/browser/index.mjs +30 -28
  21. package/dist/lib/browser/index.mjs.map +3 -3
  22. package/dist/lib/browser/{intent-resolver-JOJNH4UX.mjs → intent-resolver-7B77IG3N.mjs} +9 -8
  23. package/dist/lib/browser/meta.json +1 -1
  24. package/dist/lib/browser/{react-surface-7BKUWL2U.mjs → react-surface-FYYXZA7C.mjs} +13 -14
  25. package/dist/lib/{node-esm/react-surface-6UO64YOS.mjs.map → browser/react-surface-FYYXZA7C.mjs.map} +2 -2
  26. package/dist/lib/browser/{settings-Z22D6JVJ.mjs → settings-KCTBK5TY.mjs} +4 -4
  27. package/dist/lib/browser/templates/index.mjs +9 -0
  28. package/dist/lib/browser/types/index.mjs +10 -0
  29. package/dist/lib/node-esm/{DeploymentDialog-IA4CH6WZ.mjs → DeploymentDialog-3KPRWFE7.mjs} +5 -5
  30. package/dist/lib/node-esm/{ScriptContainer-4IOOIPBF.mjs → ScriptContainer-KPU75HHI.mjs} +10 -9
  31. package/dist/lib/node-esm/ScriptContainer-KPU75HHI.mjs.map +7 -0
  32. package/dist/lib/node-esm/{app-graph-builder-IOOUTHV2.mjs → app-graph-builder-7EYIHWH4.mjs} +3 -3
  33. package/dist/lib/node-esm/{artifact-definition-4XRYAP54.mjs → artifact-definition-WAJFALUI.mjs} +10 -10
  34. package/dist/lib/node-esm/artifact-definition-WAJFALUI.mjs.map +7 -0
  35. package/dist/lib/node-esm/{chunk-2KJYPUQD.mjs → chunk-35M3CHYE.mjs} +3 -3
  36. package/dist/lib/node-esm/{chunk-B4TP3LSZ.mjs → chunk-7NMI4CEU.mjs} +14 -16
  37. package/dist/lib/node-esm/{chunk-B4TP3LSZ.mjs.map → chunk-7NMI4CEU.mjs.map} +3 -3
  38. package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs → chunk-AHXJ6NQU.mjs} +2 -2
  39. package/dist/lib/node-esm/{chunk-W2DAXWHA.mjs → chunk-F5GFJ3PY.mjs} +7 -282
  40. package/dist/lib/node-esm/chunk-F5GFJ3PY.mjs.map +7 -0
  41. package/dist/lib/node-esm/{chunk-UESZKXLR.mjs → chunk-JIPFLBYA.mjs} +5 -6
  42. package/dist/lib/node-esm/chunk-JIPFLBYA.mjs.map +7 -0
  43. package/dist/lib/node-esm/{chunk-T7XDCUTF.mjs → chunk-QKK3NDHW.mjs} +5 -5
  44. package/dist/lib/node-esm/chunk-RT43MACC.mjs +284 -0
  45. package/dist/lib/node-esm/chunk-RT43MACC.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-MJJQBUOL.mjs → chunk-XJPK3IYI.mjs} +8 -8
  47. package/dist/lib/node-esm/{compiler-7PQ4D43R.mjs → compiler-EPFKQXPE.mjs} +7 -7
  48. package/dist/lib/node-esm/index.mjs +30 -28
  49. package/dist/lib/node-esm/index.mjs.map +3 -3
  50. package/dist/lib/node-esm/{intent-resolver-HTM5PSRZ.mjs → intent-resolver-FRZGS4TB.mjs} +9 -8
  51. package/dist/lib/{browser/intent-resolver-JOJNH4UX.mjs.map → node-esm/intent-resolver-FRZGS4TB.mjs.map} +1 -1
  52. package/dist/lib/node-esm/meta.json +1 -1
  53. package/dist/lib/node-esm/{react-surface-6UO64YOS.mjs → react-surface-V32NWHKN.mjs} +13 -14
  54. package/dist/lib/{browser/react-surface-7BKUWL2U.mjs.map → node-esm/react-surface-V32NWHKN.mjs.map} +2 -2
  55. package/dist/lib/node-esm/{settings-KZEGCDYX.mjs → settings-DXZ334A3.mjs} +4 -4
  56. package/dist/lib/node-esm/templates/index.mjs +10 -0
  57. package/dist/lib/node-esm/templates/index.mjs.map +7 -0
  58. package/dist/lib/node-esm/{types.mjs → types/index.mjs} +3 -6
  59. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  60. package/dist/types/src/capabilities/artifact-definition.d.ts +1 -1
  61. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  62. package/dist/types/src/capabilities/index.d.ts +1 -1
  63. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  64. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts +1 -1
  65. package/dist/types/src/components/DeploymentDialog/DeploymentDialog.stories.d.ts.map +1 -1
  66. package/dist/types/src/components/ScriptContainer.d.ts +2 -2
  67. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -1
  68. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts +1 -1
  69. package/dist/types/src/components/ScriptToolbar/ScriptToolbar.stories.d.ts.map +1 -1
  70. package/dist/types/src/components/TestPanel/TestContainer.d.ts +4 -3
  71. package/dist/types/src/components/TestPanel/TestContainer.d.ts.map +1 -1
  72. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +1 -1
  73. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -1
  74. package/dist/types/src/hooks/deploy.d.ts +1 -1
  75. package/dist/types/src/hooks/template.d.ts.map +1 -1
  76. package/dist/types/src/templates/index.d.ts +2 -0
  77. package/dist/types/src/templates/index.d.ts.map +1 -1
  78. package/dist/types/src/translations.d.ts +67 -176
  79. package/dist/types/src/translations.d.ts.map +1 -1
  80. package/dist/types/src/types/index.d.ts +2 -0
  81. package/dist/types/src/types/index.d.ts.map +1 -0
  82. package/dist/types/src/{types.d.ts → types/schema.d.ts} +3 -5
  83. package/dist/types/src/types/schema.d.ts.map +1 -0
  84. package/dist/types/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +66 -60
  86. package/src/ScriptPlugin.tsx +3 -3
  87. package/src/capabilities/artifact-definition.ts +3 -2
  88. package/src/capabilities/react-surface.tsx +3 -3
  89. package/src/components/DeploymentDialog/DeploymentDialog.stories.tsx +2 -2
  90. package/src/components/FrameContainer/frame.tsx +1 -1
  91. package/src/components/ScriptContainer.tsx +3 -2
  92. package/src/components/ScriptToolbar/ScriptToolbar.stories.tsx +1 -1
  93. package/src/components/TestPanel/TestContainer.tsx +7 -2
  94. package/src/components/TypescriptEditor/TypescriptEditor.stories.tsx +1 -1
  95. package/src/hooks/template.ts +2 -2
  96. package/src/templates/data-generator.ts +1 -1
  97. package/src/templates/email.ts +2 -2
  98. package/src/templates/gmail.ts +1 -1
  99. package/src/templates/index.ts +2 -0
  100. package/src/translations.ts +8 -6
  101. package/src/types/index.ts +5 -0
  102. package/src/{types.ts → types/schema.ts} +2 -7
  103. package/dist/lib/browser/DeploymentDialog-RPPPWEEL.mjs +0 -12
  104. package/dist/lib/browser/ScriptContainer-RSN52NH7.mjs.map +0 -7
  105. package/dist/lib/browser/artifact-definition-A4TBQL75.mjs.map +0 -7
  106. package/dist/lib/browser/chunk-3FU4QZVP.mjs.map +0 -7
  107. package/dist/lib/browser/chunk-WB3X5Z7Q.mjs.map +0 -7
  108. package/dist/lib/browser/types.mjs +0 -13
  109. package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs +0 -33
  110. package/dist/lib/node/DeploymentDialog-C3EEYGRH.cjs.map +0 -7
  111. package/dist/lib/node/ScriptContainer-CAC7AISY.cjs +0 -278
  112. package/dist/lib/node/ScriptContainer-CAC7AISY.cjs.map +0 -7
  113. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs +0 -80
  114. package/dist/lib/node/app-graph-builder-25OOTBW4.cjs.map +0 -7
  115. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs +0 -265
  116. package/dist/lib/node/artifact-definition-QKZI6PTO.cjs.map +0 -7
  117. package/dist/lib/node/chunk-AU2FOE26.cjs +0 -369
  118. package/dist/lib/node/chunk-AU2FOE26.cjs.map +0 -7
  119. package/dist/lib/node/chunk-BUOBOT3V.cjs +0 -179
  120. package/dist/lib/node/chunk-BUOBOT3V.cjs.map +0 -7
  121. package/dist/lib/node/chunk-HCRW6T3G.cjs +0 -60
  122. package/dist/lib/node/chunk-HCRW6T3G.cjs.map +0 -7
  123. package/dist/lib/node/chunk-OSBMUJ4T.cjs +0 -580
  124. package/dist/lib/node/chunk-OSBMUJ4T.cjs.map +0 -7
  125. package/dist/lib/node/chunk-QG2X6J74.cjs +0 -52
  126. package/dist/lib/node/chunk-QG2X6J74.cjs.map +0 -7
  127. package/dist/lib/node/chunk-YO5W2IPQ.cjs +0 -251
  128. package/dist/lib/node/chunk-YO5W2IPQ.cjs.map +0 -7
  129. package/dist/lib/node/chunk-ZEV3VARQ.cjs +0 -34
  130. package/dist/lib/node/chunk-ZEV3VARQ.cjs.map +0 -7
  131. package/dist/lib/node/compiler-TFSJRLL4.cjs +0 -104
  132. package/dist/lib/node/compiler-TFSJRLL4.cjs.map +0 -7
  133. package/dist/lib/node/index.cjs +0 -225
  134. package/dist/lib/node/index.cjs.map +0 -7
  135. package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs +0 -100
  136. package/dist/lib/node/intent-resolver-BQ2NKEM7.cjs.map +0 -7
  137. package/dist/lib/node/meta.json +0 -1
  138. package/dist/lib/node/react-surface-EUKPDFU3.cjs +0 -120
  139. package/dist/lib/node/react-surface-EUKPDFU3.cjs.map +0 -7
  140. package/dist/lib/node/settings-WO53FLYZ.cjs +0 -38
  141. package/dist/lib/node/settings-WO53FLYZ.cjs.map +0 -7
  142. package/dist/lib/node/types.cjs +0 -34
  143. package/dist/lib/node/types.cjs.map +0 -7
  144. package/dist/lib/node-esm/ScriptContainer-4IOOIPBF.mjs.map +0 -7
  145. package/dist/lib/node-esm/artifact-definition-4XRYAP54.mjs.map +0 -7
  146. package/dist/lib/node-esm/chunk-UESZKXLR.mjs.map +0 -7
  147. package/dist/lib/node-esm/chunk-W2DAXWHA.mjs.map +0 -7
  148. package/dist/types/src/types.d.ts.map +0 -1
  149. /package/dist/lib/browser/{DeploymentDialog-RPPPWEEL.mjs.map → DeploymentDialog-M4QIHTDR.mjs.map} +0 -0
  150. /package/dist/lib/browser/{app-graph-builder-5Z3MUX4N.mjs.map → app-graph-builder-HLQ7K3BT.mjs.map} +0 -0
  151. /package/dist/lib/browser/{chunk-YSQMXTYO.mjs.map → chunk-5TVBECWH.mjs.map} +0 -0
  152. /package/dist/lib/browser/{chunk-QJH7I2UV.mjs.map → chunk-FMDXKOP7.mjs.map} +0 -0
  153. /package/dist/lib/browser/{chunk-LA66DQGU.mjs.map → chunk-P4HQKUCP.mjs.map} +0 -0
  154. /package/dist/lib/browser/{chunk-6ZHHWU6S.mjs.map → chunk-QYAREHGH.mjs.map} +0 -0
  155. /package/dist/lib/browser/{compiler-W4BYJYTL.mjs.map → compiler-CXCUA4UQ.mjs.map} +0 -0
  156. /package/dist/lib/{node-esm/intent-resolver-HTM5PSRZ.mjs.map → browser/intent-resolver-7B77IG3N.mjs.map} +0 -0
  157. /package/dist/lib/browser/{settings-Z22D6JVJ.mjs.map → settings-KCTBK5TY.mjs.map} +0 -0
  158. /package/dist/lib/browser/{types.mjs.map → templates/index.mjs.map} +0 -0
  159. /package/dist/lib/{node-esm/DeploymentDialog-IA4CH6WZ.mjs.map → browser/types/index.mjs.map} +0 -0
  160. /package/dist/lib/node-esm/{types.mjs.map → DeploymentDialog-3KPRWFE7.mjs.map} +0 -0
  161. /package/dist/lib/node-esm/{app-graph-builder-IOOUTHV2.mjs.map → app-graph-builder-7EYIHWH4.mjs.map} +0 -0
  162. /package/dist/lib/node-esm/{chunk-2KJYPUQD.mjs.map → chunk-35M3CHYE.mjs.map} +0 -0
  163. /package/dist/lib/node-esm/{chunk-AEB5TPEW.mjs.map → chunk-AHXJ6NQU.mjs.map} +0 -0
  164. /package/dist/lib/node-esm/{chunk-T7XDCUTF.mjs.map → chunk-QKK3NDHW.mjs.map} +0 -0
  165. /package/dist/lib/node-esm/{chunk-MJJQBUOL.mjs.map → chunk-XJPK3IYI.mjs.map} +0 -0
  166. /package/dist/lib/node-esm/{compiler-7PQ4D43R.mjs.map → compiler-EPFKQXPE.mjs.map} +0 -0
  167. /package/dist/lib/node-esm/{settings-KZEGCDYX.mjs.map → settings-DXZ334A3.mjs.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  useDeployState,
3
3
  useToolbarState
4
- } from "./chunk-3FU4QZVP.mjs";
4
+ } from "./chunk-3U6DTUH3.mjs";
5
5
  import {
6
6
  SCRIPT_PLUGIN,
7
7
  meta
8
- } from "./chunk-6ZHHWU6S.mjs";
8
+ } from "./chunk-QYAREHGH.mjs";
9
9
 
10
- // packages/plugins/plugin-script/src/components/Settings/ScriptObjectSettings.tsx
10
+ // src/components/Settings/ScriptObjectSettings.tsx
11
11
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
12
  import { Octokit } from "@octokit/core";
13
13
  import React, { useCallback, useEffect, useState } from "react";
@@ -18,7 +18,7 @@ import { useClient } from "@dxos/react-client";
18
18
  import { Filter, getMeta, getSpace, Ref, useQuery } from "@dxos/react-client/echo";
19
19
  import { Button, Clipboard, Input, useControlledState, useTranslation } from "@dxos/react-ui";
20
20
  import { DataType } from "@dxos/schema";
21
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/components/Settings/ScriptObjectSettings.tsx";
21
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/Settings/ScriptObjectSettings.tsx";
22
22
  var ScriptObjectSettings = ({ object }) => {
23
23
  var _effect = _useSignals();
24
24
  try {
@@ -212,7 +212,7 @@ var Publishing = ({ object }) => {
212
212
  };
213
213
  var kebabize = (str) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? "-" : "") + $.toLowerCase());
214
214
 
215
- // packages/plugins/plugin-script/src/components/Settings/ScriptPluginSettings.tsx
215
+ // src/components/Settings/ScriptPluginSettings.tsx
216
216
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
217
217
  import React2 from "react";
218
218
  import { useClient as useClient2 } from "@dxos/react-client";
@@ -267,14 +267,14 @@ var ScriptPluginSettings = ({ settings }) => {
267
267
  }
268
268
  };
269
269
 
270
- // packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx
270
+ // src/components/TestPanel/TestPanel.tsx
271
271
  import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
272
272
  import React3, { forwardRef, useEffect as useEffect2, useRef, useState as useState2 } from "react";
273
273
  import { log as log2 } from "@dxos/log";
274
274
  import { Avatar, Icon, Input as Input2, Toolbar, useTranslation as useTranslation3 } from "@dxos/react-ui";
275
275
  import { SyntaxHighlighter } from "@dxos/react-ui-syntax-highlighter";
276
276
  import { errorText, mx } from "@dxos/react-ui-theme";
277
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx";
277
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/components/TestPanel/TestPanel.tsx";
278
278
  var TestPanel = ({ classNames, functionUrl }) => {
279
279
  var _effect = _useSignals3();
280
280
  try {
@@ -518,11 +518,11 @@ var RobotAvatar = () => {
518
518
  }
519
519
  };
520
520
 
521
- // packages/plugins/plugin-script/src/components/TestPanel/TestContainer.tsx
521
+ // src/components/TestPanel/TestContainer.tsx
522
522
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
523
523
  import React4 from "react";
524
524
  import { StackItem } from "@dxos/react-ui-stack";
525
- var TestContainer = ({ script, role }) => {
525
+ var TestContainer = ({ script }) => {
526
526
  var _effect = _useSignals4();
527
527
  try {
528
528
  const state = useToolbarState();
@@ -530,9 +530,7 @@ var TestContainer = ({ script, role }) => {
530
530
  state,
531
531
  script
532
532
  });
533
- return /* @__PURE__ */ React4.createElement(StackItem.Content, {
534
- role
535
- }, /* @__PURE__ */ React4.createElement(TestPanel, {
533
+ return /* @__PURE__ */ React4.createElement(StackItem.Content, null, /* @__PURE__ */ React4.createElement(TestPanel, {
536
534
  functionUrl: state.functionUrl
537
535
  }));
538
536
  } finally {
@@ -540,10 +538,10 @@ var TestContainer = ({ script, role }) => {
540
538
  }
541
539
  };
542
540
 
543
- // packages/plugins/plugin-script/src/components/index.ts
541
+ // src/components/index.ts
544
542
  import { lazy } from "react";
545
- var ScriptContainer = lazy(() => import("./ScriptContainer-RSN52NH7.mjs"));
546
- var DeploymentDialog = lazy(() => import("./DeploymentDialog-RPPPWEEL.mjs"));
543
+ var ScriptContainer = lazy(() => import("./ScriptContainer-Z6SIGRRC.mjs"));
544
+ var DeploymentDialog = lazy(() => import("./DeploymentDialog-M4QIHTDR.mjs"));
547
545
 
548
546
  export {
549
547
  ScriptObjectSettings,
@@ -554,4 +552,4 @@ export {
554
552
  ScriptContainer,
555
553
  DeploymentDialog
556
554
  };
557
- //# sourceMappingURL=chunk-3JLR2SHJ.mjs.map
555
+ //# sourceMappingURL=chunk-FIM2MVNJ.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/Settings/ScriptObjectSettings.tsx", "../../../src/components/Settings/ScriptPluginSettings.tsx", "../../../src/components/TestPanel/TestPanel.tsx", "../../../src/components/TestPanel/TestContainer.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { type ChangeEvent, useCallback, useEffect, useState } from 'react';\n\nimport { createIntent, SettingsAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { FunctionType, type ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, Ref, useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { DataType } from '@dxos/schema';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type ScriptObjectSettingsProps = {\n object: ScriptType;\n};\n\nexport const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {\n return (\n <>\n <Binding object={object} />\n <Publishing object={object} />\n </>\n );\n};\n\nexport const ScriptProperties = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n return (\n <Input.Root>\n <Input.Label>{t('description label')}</Input.Label>\n <Input.TextInput\n placeholder={t('description placeholder')}\n value={object.description ?? ''}\n onChange={(event) => {\n object.description = event.target.value;\n }}\n />\n </Input.Root>\n );\n};\n\nconst Binding = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const client = useClient();\n const space = getSpace(object);\n const [fn] = useQuery(space, Filter.type(FunctionType, { source: Ref.make(object) }));\n\n const functionPath = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n const functionUrl =\n functionPath &&\n getInvocationUrl(functionPath, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n fn.binding = binding;\n }, [fn, binding]);\n\n if (!fn || !functionUrl) {\n return null;\n }\n\n // TODO(burdon): Use form.\n return (\n <div role='form' className='flex flex-col gap-2 mlb-cardSpacingBlock'>\n <h2>{t('remote function settings heading')}</h2>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function url label')}</Input.Label>\n <div role='none' className='flex gap-1'>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n fn.name = event.target.value;\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </div>\n </div>\n </Input.Root>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function binding label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function binding placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </div>\n </Input.Root>\n </div>\n );\n};\n\n// TODO(burdon): Move to separate tab?\nconst Publishing = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(object);\n const [githubToken] = useQuery(space, Filter.type(DataType.AccessToken, { source: 'github.com' }));\n const gistKey = getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useEffect(() => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n const timeout = setTimeout(async () => {\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n });\n\n return () => clearTimeout(timeout);\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () => dispatch(createIntent(SettingsAction.Open, { plugin: 'dxos.org/plugin/token-manager' })),\n [],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n if (response.data.id) {\n meta.keys.push({ source: 'github.com', id: response.data.id });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col gap-4 mlb-cardSpacingBlock'>\n <div>\n <h2>{t('script publish settings label')}</h2>\n <p className='text-description text-sm'>{t('script publish settings description')}</p>\n </div>\n {!githubToken && (\n <div className='flex flex-col gap-2'>\n <span>{t('no github token label')}</span>\n <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>\n </div>\n )}\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t(publishing ? 'publishing label' : 'publish label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\n// TODO(wittjosiah): Factor out.\n// From https://stackoverflow.com/a/67243723/2804332\nconst kebabize = (str: string) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { useClient } from '@dxos/react-client';\nimport { Button, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type ScriptSettingsProps } from '../../types';\n\nexport const ScriptPluginSettings = ({ settings }: { settings: ScriptSettingsProps }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n\n // TODO(burdon): Check token.\n const handleAuthenticate = async () => {\n const { identityKey } = client.halo.identity.get()!;\n await client.halo.writeCredentials([\n {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n } satisfies Credential,\n ]);\n };\n\n return (\n <DeprecatedFormContainer>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <DeprecatedFormInput label={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { Avatar, Icon, Input, type ThemedClassName, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { errorText, mx } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\ntype State = 'pending' | 'responding';\n\n/**\n * Request or response.\n */\ntype Message = { type: 'request' | 'response'; text?: string; data?: any; error?: Error };\n\nexport type TestPanelProps = ThemedClassName<{\n functionUrl?: string;\n}>;\n\n// TODO(burdon): Need persistent history (currently lost when switching tabs)..\nexport const TestPanel = ({ classNames, functionUrl }: TestPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState('');\n const [result, setResult] = useState('');\n const [state, setState] = useState<State | null>(null);\n\n // TODO(burdon): Persistent history (thread).\n const [history, setHistory] = useState<Message[]>([]);\n\n const scrollerRef = useRef<HTMLDivElement>(null);\n const handleScroll = () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;\n }\n };\n\n const controller = useRef<AbortController>();\n useEffect(() => {\n return () => {\n handleStop();\n };\n }, []);\n\n const handleStop = () => {\n controller.current?.abort('stop');\n controller.current = undefined;\n };\n\n const handleClear = () => {\n handleStop();\n setInput('');\n setResult('');\n setHistory([]);\n inputRef.current?.focus();\n };\n\n const handleResponse = ({ text, data, error }: { text?: string; data?: any; error?: Error } = {}) => {\n controller.current = undefined;\n setHistory((history) => [...history, { type: 'response', text, data, error } satisfies Message]);\n setResult('');\n setState(null);\n handleScroll();\n };\n\n const handleRequest = async (input: string) => {\n // Returns a promise that resolves when a value has been received.\n try {\n setState('pending');\n\n let data = null;\n // Detect JSON input.\n if (input.charAt(0) === '{') {\n try {\n const validJsonString = input.replace(/'/g, '\"').replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3');\n data = JSON.parse(validJsonString);\n input = JSON.stringify(data, null, 2);\n } catch (err) {\n inputRef.current?.focus();\n return;\n }\n }\n\n setInput('');\n setResult('');\n setHistory((history) => [...history, { type: 'request', text: input }]);\n setTimeout(() => {\n handleScroll();\n });\n\n // Throws DOMException when aborted.\n controller.current = new AbortController();\n const response = await fetch(functionUrl!, {\n signal: controller.current.signal,\n method: 'POST',\n body: input,\n headers: {\n 'Content-Type': data ? 'application/json' : 'text/plain',\n },\n });\n\n // Check for error.\n if (!response.ok) {\n const text = await response.text();\n handleResponse({ error: new Error(text || response.statusText || String(response.status)) });\n return;\n }\n\n // Check for JSON.\n const contentType = response.headers.get('content-type');\n if (contentType === 'application/json') {\n const data = await response.json();\n handleResponse({ data });\n return;\n }\n\n // Text (including streaming).\n setState('responding');\n let text = '';\n const reader = response.body!.getReader();\n const pump = async ({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> => {\n text = text + new TextDecoder().decode(value);\n if (!controller.current || done) {\n handleResponse({ text });\n return;\n }\n\n setResult(text);\n setTimeout(() => {\n handleScroll();\n });\n\n return reader.read().then(pump);\n };\n\n void reader\n .read()\n .then(pump)\n .catch((err) => {\n if (err.name !== 'AbortError') {\n log.catch(err);\n }\n });\n } catch (err: any) {\n if (err !== 'stop') {\n const error = err instanceof Error ? err : new Error(err);\n handleResponse({ error });\n log.catch(err);\n } else {\n handleResponse();\n }\n }\n };\n\n return (\n <div className={mx('flex flex-col h-full overflow-hidden', classNames)}>\n {/* TODO(burdon): Replace with Thread. */}\n <MessageThread ref={scrollerRef} state={state} result={result} history={history} />\n {/* TODO(burdon): Replace with Form based on the function's input schema. */}\n <Toolbar.Root classNames='p-2'>\n <Input.Root>\n <Input.TextInput\n ref={inputRef}\n autoFocus\n placeholder={t('function request placeholder')}\n value={input}\n onChange={(ev) => setInput(ev.target.value)}\n onKeyDown={(ev) => ev.key === 'Enter' && handleRequest(input)}\n />\n </Input.Root>\n <Toolbar.Button onClick={() => handleRequest(input)}>\n <Icon icon='ph--play--regular' size={4} />\n </Toolbar.Button>\n <Toolbar.Button onClick={() => (state ? handleStop() : handleClear())}>\n <Icon icon={state ? 'ph--stop--regular' : 'ph--trash--regular'} size={4} />\n </Toolbar.Button>\n </Toolbar.Root>\n </div>\n );\n};\n\n// TODO(burdon): Replace with thread?\n// TODO(burdon): Button to edit/re-run question.\ntype MessageThreadProps = {\n state: State | null;\n history: Message[];\n result: string;\n};\n\nconst MessageThread = forwardRef<HTMLDivElement, MessageThreadProps>(\n ({ state, history, result }: MessageThreadProps, forwardedRef) => {\n return (\n <div ref={forwardedRef} className='flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto'>\n {history.map((message, i) => (\n <div key={i} className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>{message.type === 'response' && <RobotAvatar />}</div>\n <div className='overflow-auto'>\n <MessageItem message={message} />\n </div>\n </div>\n ))}\n\n {result?.length > 0 && (\n <div className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>\n {(state === 'pending' && <Icon icon='ph--spinner--regular' size={6} classNames='animate-spin' />) || (\n <Icon icon='ph--robot--regular' size={6} classNames='animate-[pulse_1s_ease-in-out_infinite]' />\n )}\n </div>\n <div className='overflow-auto'>\n <MessageItem message={{ type: 'response', text: result }} />\n </div>\n </div>\n )}\n </div>\n );\n },\n);\n\nconst MessageItem = ({ classNames, message }: ThemedClassName<{ message: Message }>) => {\n const { type, text, data, error } = message;\n const wrapper = 'p-1 px-2 rounded-md bg-hoverSurface overflow-auto';\n return (\n <div className={mx('flex', type === 'request' ? 'ml-[1rem] justify-end' : 'mr-[1rem]', classNames)}>\n {error && <div className={mx(wrapper, 'whitespace-pre', errorText)}>{String(error)}</div>}\n\n {text !== undefined && (\n <div className={mx(wrapper, type === 'request' && 'bg-primary-400 dark:bg-primary-600')}>\n {text || '\\u00D8'}\n </div>\n )}\n\n {data && (\n <SyntaxHighlighter language='json' className={mx(wrapper, 'px-8 py-2 text-xs')}>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n );\n};\n\nconst RobotAvatar = () => (\n <Avatar.Root>\n <Avatar.Content size={6} variant='circle' icon='ph--robot--regular' />\n </Avatar.Root>\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TestPanel } from './TestPanel';\nimport { useDeployState, useToolbarState } from '../../hooks';\n\nexport const TestContainer = ({ script, role }: { script: ScriptType; role: string }) => {\n const state = useToolbarState();\n useDeployState({ state, script });\n return (\n <StackItem.Content role={role}>\n <TestPanel functionUrl={state.functionUrl} />\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './Settings';\nexport * from './TestPanel';\nexport { DEPLOYMENT_DIALOG } from './DeploymentDialog';\n\nexport const ScriptContainer = lazy(() => import('./ScriptContainer'));\nexport const DeploymentDialog = lazy(() => import('./DeploymentDialog'));\n"],
5
- "mappings": "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",
6
- "names": ["Octokit", "React", "useCallback", "useEffect", "useState", "createIntent", "SettingsAction", "useIntentDispatcher", "FunctionType", "getInvocationUrl", "getUserFunctionUrlInMetadata", "log", "useClient", "Filter", "getMeta", "getSpace", "Ref", "useQuery", "Button", "Clipboard", "Input", "useControlledState", "useTranslation", "DataType", "ScriptObjectSettings", "object", "Binding", "Publishing", "ScriptProperties", "t", "useTranslation", "SCRIPT_PLUGIN", "Input", "Root", "Label", "TextInput", "placeholder", "value", "description", "onChange", "event", "target", "client", "useClient", "space", "getSpace", "fn", "useQuery", "Filter", "type", "FunctionType", "source", "Ref", "make", "functionPath", "getUserFunctionUrlInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "binding", "setBinding", "useControlledState", "handleBindingChange", "useCallback", "handleBindingBlur", "div", "role", "className", "h2", "disabled", "name", "Clipboard", "IconButton", "onBlur", "dispatchPromise", "dispatch", "useIntentDispatcher", "githubToken", "DataType", "AccessToken", "gistKey", "keys", "find", "gistUrl", "setGistUrl", "useState", "useEffect", "token", "gistId", "undefined", "timeout", "setTimeout", "octokit", "Octokit", "auth", "response", "request", "gist_id", "data", "html_url", "err", "log", "catch", "clearTimeout", "handleOpenTokenManager", "createIntent", "SettingsAction", "Open", "plugin", "publishing", "setPublishing", "handlePublish", "load", "filename", "kebabize", "files", "content", "meta", "githubKey", "public", "push", "p", "span", "Button", "onClick", "str", "replace", "$", "ofs", "toLowerCase", "React", "useClient", "Button", "Select", "useTranslation", "EditorInputModes", "DeprecatedFormContainer", "DeprecatedFormInput", "ScriptPluginSettings", "settings", "t", "useTranslation", "meta", "id", "client", "useClient", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Button", "onClick", "Select", "Root", "value", "editorInputMode", "onValueChange", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "EditorInputModes", "map", "mode", "Option", "key", "React", "forwardRef", "useEffect", "useRef", "useState", "log", "Avatar", "Icon", "Input", "Toolbar", "useTranslation", "SyntaxHighlighter", "errorText", "mx", "TestPanel", "classNames", "functionUrl", "t", "useTranslation", "SCRIPT_PLUGIN", "inputRef", "useRef", "input", "setInput", "useState", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "useEffect", "handleStop", "abort", "undefined", "handleClear", "focus", "handleResponse", "text", "data", "error", "type", "handleRequest", "charAt", "validJsonString", "replace", "JSON", "parse", "stringify", "err", "setTimeout", "AbortController", "response", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "get", "json", "reader", "getReader", "pump", "done", "value", "TextDecoder", "decode", "read", "then", "catch", "name", "log", "React", "div", "className", "mx", "MessageThread", "ref", "Toolbar", "Root", "Input", "TextInput", "autoFocus", "placeholder", "onChange", "ev", "target", "onKeyDown", "key", "Button", "onClick", "Icon", "icon", "size", "forwardRef", "forwardedRef", "map", "message", "i", "RobotAvatar", "MessageItem", "length", "wrapper", "errorText", "SyntaxHighlighter", "language", "Avatar", "Content", "variant", "React", "StackItem", "TestContainer", "script", "role", "state", "useToolbarState", "useDeployState", "React", "StackItem", "Content", "TestPanel", "functionUrl", "lazy", "ScriptContainer", "lazy", "DeploymentDialog"]
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Octokit } from '@octokit/core';\nimport React, { type ChangeEvent, useCallback, useEffect, useState } from 'react';\n\nimport { createIntent, SettingsAction, useIntentDispatcher } from '@dxos/app-framework';\nimport { FunctionType, type ScriptType, getInvocationUrl, getUserFunctionUrlInMetadata } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, Ref, useQuery } from '@dxos/react-client/echo';\nimport { Button, Clipboard, Input, useControlledState, useTranslation } from '@dxos/react-ui';\nimport { DataType } from '@dxos/schema';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\nexport type ScriptObjectSettingsProps = {\n object: ScriptType;\n};\n\nexport const ScriptObjectSettings = ({ object }: ScriptObjectSettingsProps) => {\n return (\n <>\n <Binding object={object} />\n <Publishing object={object} />\n </>\n );\n};\n\nexport const ScriptProperties = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n return (\n <Input.Root>\n <Input.Label>{t('description label')}</Input.Label>\n <Input.TextInput\n placeholder={t('description placeholder')}\n value={object.description ?? ''}\n onChange={(event) => {\n object.description = event.target.value;\n }}\n />\n </Input.Root>\n );\n};\n\nconst Binding = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const client = useClient();\n const space = getSpace(object);\n const [fn] = useQuery(space, Filter.type(FunctionType, { source: Ref.make(object) }));\n\n const functionPath = fn && getUserFunctionUrlInMetadata(getMeta(fn));\n const functionUrl =\n functionPath &&\n getInvocationUrl(functionPath, client.config.values.runtime?.services?.edge?.url ?? '', {\n spaceId: space?.id,\n });\n\n const [binding, setBinding] = useControlledState(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n\n const handleBindingBlur = useCallback(() => {\n fn.binding = binding;\n }, [fn, binding]);\n\n if (!fn || !functionUrl) {\n return null;\n }\n\n // TODO(burdon): Use form.\n return (\n <div role='form' className='flex flex-col gap-2 mlb-cardSpacingBlock'>\n <h2>{t('remote function settings heading')}</h2>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function url label')}</Input.Label>\n <div role='none' className='flex gap-1'>\n <Input.TextInput\n disabled\n value={functionUrl}\n onChange={(event) => {\n fn.name = event.target.value;\n }}\n />\n <Clipboard.IconButton value={functionUrl} />\n </div>\n </div>\n </Input.Root>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('function binding label')}</Input.Label>\n <Input.TextInput\n placeholder={t('function binding placeholder')}\n value={binding}\n onChange={handleBindingChange}\n onBlur={handleBindingBlur}\n />\n </div>\n </Input.Root>\n </div>\n );\n};\n\n// TODO(burdon): Move to separate tab?\nconst Publishing = ({ object }: ScriptObjectSettingsProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(object);\n const [githubToken] = useQuery(space, Filter.type(DataType.AccessToken, { source: 'github.com' }));\n const gistKey = getMeta(object).keys.find(({ source }) => source === 'github.com');\n const [gistUrl, setGistUrl] = useState<string | undefined>();\n\n useEffect(() => {\n const token = githubToken?.token;\n const gistId = gistKey?.id;\n if (!token || !gistId) {\n setGistUrl(undefined);\n return;\n }\n\n const timeout = setTimeout(async () => {\n try {\n const octokit = new Octokit({ auth: githubToken.token });\n const response = await octokit.request('GET /gists/{gist_id}', {\n gist_id: gistId,\n });\n setGistUrl(response.data.html_url);\n } catch (err) {\n log.catch(err);\n setGistUrl(undefined);\n }\n });\n\n return () => clearTimeout(timeout);\n }, [githubToken, gistKey]);\n\n const handleOpenTokenManager = useCallback(\n () => dispatch(createIntent(SettingsAction.Open, { plugin: 'dxos.org/plugin/token-manager' })),\n [],\n );\n\n const [publishing, setPublishing] = useState(false);\n const handlePublish = useCallback(async () => {\n setPublishing(true);\n const octokit = new Octokit({ auth: githubToken.token });\n const source = await object.source.load();\n const filename = object.name ? kebabize(object.name) : 'composer-script';\n const files = { [`${filename}.ts`]: { content: source.content } };\n\n try {\n // TODO(wittjosiah): Factor out to intent.\n const meta = getMeta(object);\n const githubKey = meta.keys.find(({ source }) => source === 'github.com');\n const gistId = githubKey?.id;\n if (gistId) {\n await octokit.request('PATCH /gists/{gist_id}', {\n gist_id: gistId,\n files,\n });\n } else {\n const response = await octokit.request('POST /gists', {\n public: true,\n files,\n });\n if (response.data.id) {\n meta.keys.push({ source: 'github.com', id: response.data.id });\n }\n }\n } finally {\n setPublishing(false);\n }\n }, [object, githubToken]);\n\n return (\n <div className='flex flex-col gap-4 mlb-cardSpacingBlock'>\n <div>\n <h2>{t('script publish settings label')}</h2>\n <p className='text-description text-sm'>{t('script publish settings description')}</p>\n </div>\n {!githubToken && (\n <div className='flex flex-col gap-2'>\n <span>{t('no github token label')}</span>\n <Button onClick={handleOpenTokenManager}>{t('open token manager label')}</Button>\n </div>\n )}\n {githubToken && (\n <div className='flex justify-end gap-2'>\n {gistUrl && <Clipboard.IconButton value={gistUrl} />}\n <Button disabled={publishing} onClick={handlePublish}>\n {t(publishing ? 'publishing label' : 'publish label')}\n </Button>\n </div>\n )}\n </div>\n );\n};\n\n// TODO(wittjosiah): Factor out.\n// From https://stackoverflow.com/a/67243723/2804332\nconst kebabize = (str: string) => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Credential } from '@dxos/protocols/proto/dxos/halo/credentials';\nimport { useClient } from '@dxos/react-client';\nimport { Button, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type ScriptSettingsProps } from '../../types';\n\nexport const ScriptPluginSettings = ({ settings }: { settings: ScriptSettingsProps }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n\n // TODO(burdon): Check token.\n const handleAuthenticate = async () => {\n const { identityKey } = client.halo.identity.get()!;\n await client.halo.writeCredentials([\n {\n issuer: identityKey,\n issuanceDate: new Date(),\n subject: {\n id: identityKey,\n assertion: {\n '@type': 'dxos.halo.credentials.ServiceAccess',\n serverName: 'hub.dxos.network',\n serverKey: identityKey,\n identityKey,\n capabilities: ['composer:beta'],\n },\n },\n } satisfies Credential,\n ]);\n };\n\n return (\n <DeprecatedFormContainer>\n {/* TODO(wittjosiah): Hide outside of dev environments. */}\n <DeprecatedFormInput label={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { Avatar, Icon, Input, type ThemedClassName, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { errorText, mx } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\ntype State = 'pending' | 'responding';\n\n/**\n * Request or response.\n */\ntype Message = { type: 'request' | 'response'; text?: string; data?: any; error?: Error };\n\nexport type TestPanelProps = ThemedClassName<{\n functionUrl?: string;\n}>;\n\n// TODO(burdon): Need persistent history (currently lost when switching tabs)..\nexport const TestPanel = ({ classNames, functionUrl }: TestPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState('');\n const [result, setResult] = useState('');\n const [state, setState] = useState<State | null>(null);\n\n // TODO(burdon): Persistent history (thread).\n const [history, setHistory] = useState<Message[]>([]);\n\n const scrollerRef = useRef<HTMLDivElement>(null);\n const handleScroll = () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;\n }\n };\n\n const controller = useRef<AbortController>();\n useEffect(() => {\n return () => {\n handleStop();\n };\n }, []);\n\n const handleStop = () => {\n controller.current?.abort('stop');\n controller.current = undefined;\n };\n\n const handleClear = () => {\n handleStop();\n setInput('');\n setResult('');\n setHistory([]);\n inputRef.current?.focus();\n };\n\n const handleResponse = ({ text, data, error }: { text?: string; data?: any; error?: Error } = {}) => {\n controller.current = undefined;\n setHistory((history) => [...history, { type: 'response', text, data, error } satisfies Message]);\n setResult('');\n setState(null);\n handleScroll();\n };\n\n const handleRequest = async (input: string) => {\n // Returns a promise that resolves when a value has been received.\n try {\n setState('pending');\n\n let data = null;\n // Detect JSON input.\n if (input.charAt(0) === '{') {\n try {\n const validJsonString = input.replace(/'/g, '\"').replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3');\n data = JSON.parse(validJsonString);\n input = JSON.stringify(data, null, 2);\n } catch (err) {\n inputRef.current?.focus();\n return;\n }\n }\n\n setInput('');\n setResult('');\n setHistory((history) => [...history, { type: 'request', text: input }]);\n setTimeout(() => {\n handleScroll();\n });\n\n // Throws DOMException when aborted.\n controller.current = new AbortController();\n const response = await fetch(functionUrl!, {\n signal: controller.current.signal,\n method: 'POST',\n body: input,\n headers: {\n 'Content-Type': data ? 'application/json' : 'text/plain',\n },\n });\n\n // Check for error.\n if (!response.ok) {\n const text = await response.text();\n handleResponse({ error: new Error(text || response.statusText || String(response.status)) });\n return;\n }\n\n // Check for JSON.\n const contentType = response.headers.get('content-type');\n if (contentType === 'application/json') {\n const data = await response.json();\n handleResponse({ data });\n return;\n }\n\n // Text (including streaming).\n setState('responding');\n let text = '';\n const reader = response.body!.getReader();\n const pump = async ({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> => {\n text = text + new TextDecoder().decode(value);\n if (!controller.current || done) {\n handleResponse({ text });\n return;\n }\n\n setResult(text);\n setTimeout(() => {\n handleScroll();\n });\n\n return reader.read().then(pump);\n };\n\n void reader\n .read()\n .then(pump)\n .catch((err) => {\n if (err.name !== 'AbortError') {\n log.catch(err);\n }\n });\n } catch (err: any) {\n if (err !== 'stop') {\n const error = err instanceof Error ? err : new Error(err);\n handleResponse({ error });\n log.catch(err);\n } else {\n handleResponse();\n }\n }\n };\n\n return (\n <div className={mx('flex flex-col h-full overflow-hidden', classNames)}>\n {/* TODO(burdon): Replace with Thread. */}\n <MessageThread ref={scrollerRef} state={state} result={result} history={history} />\n {/* TODO(burdon): Replace with Form based on the function's input schema. */}\n <Toolbar.Root classNames='p-2'>\n <Input.Root>\n <Input.TextInput\n ref={inputRef}\n autoFocus\n placeholder={t('function request placeholder')}\n value={input}\n onChange={(ev) => setInput(ev.target.value)}\n onKeyDown={(ev) => ev.key === 'Enter' && handleRequest(input)}\n />\n </Input.Root>\n <Toolbar.Button onClick={() => handleRequest(input)}>\n <Icon icon='ph--play--regular' size={4} />\n </Toolbar.Button>\n <Toolbar.Button onClick={() => (state ? handleStop() : handleClear())}>\n <Icon icon={state ? 'ph--stop--regular' : 'ph--trash--regular'} size={4} />\n </Toolbar.Button>\n </Toolbar.Root>\n </div>\n );\n};\n\n// TODO(burdon): Replace with thread?\n// TODO(burdon): Button to edit/re-run question.\ntype MessageThreadProps = {\n state: State | null;\n history: Message[];\n result: string;\n};\n\nconst MessageThread = forwardRef<HTMLDivElement, MessageThreadProps>(\n ({ state, history, result }: MessageThreadProps, forwardedRef) => {\n return (\n <div ref={forwardedRef} className='flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto'>\n {history.map((message, i) => (\n <div key={i} className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>{message.type === 'response' && <RobotAvatar />}</div>\n <div className='overflow-auto'>\n <MessageItem message={message} />\n </div>\n </div>\n ))}\n\n {result?.length > 0 && (\n <div className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>\n {(state === 'pending' && <Icon icon='ph--spinner--regular' size={6} classNames='animate-spin' />) || (\n <Icon icon='ph--robot--regular' size={6} classNames='animate-[pulse_1s_ease-in-out_infinite]' />\n )}\n </div>\n <div className='overflow-auto'>\n <MessageItem message={{ type: 'response', text: result }} />\n </div>\n </div>\n )}\n </div>\n );\n },\n);\n\nconst MessageItem = ({ classNames, message }: ThemedClassName<{ message: Message }>) => {\n const { type, text, data, error } = message;\n const wrapper = 'p-1 px-2 rounded-md bg-hoverSurface overflow-auto';\n return (\n <div className={mx('flex', type === 'request' ? 'ml-[1rem] justify-end' : 'mr-[1rem]', classNames)}>\n {error && <div className={mx(wrapper, 'whitespace-pre', errorText)}>{String(error)}</div>}\n\n {text !== undefined && (\n <div className={mx(wrapper, type === 'request' && 'bg-primary-400 dark:bg-primary-600')}>\n {text || '\\u00D8'}\n </div>\n )}\n\n {data && (\n <SyntaxHighlighter language='json' className={mx(wrapper, 'px-8 py-2 text-xs')}>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n );\n};\n\nconst RobotAvatar = () => (\n <Avatar.Root>\n <Avatar.Content size={6} variant='circle' icon='ph--robot--regular' />\n </Avatar.Root>\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type ScriptType } from '@dxos/functions';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TestPanel } from './TestPanel';\nimport { useDeployState, useToolbarState } from '../../hooks';\n\nexport type TestContainerProps = {\n role: string;\n script: ScriptType;\n};\n\nexport const TestContainer = ({ script }: TestContainerProps) => {\n const state = useToolbarState();\n useDeployState({ state, script });\n return (\n <StackItem.Content>\n <TestPanel functionUrl={state.functionUrl} />\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './Settings';\nexport * from './TestPanel';\nexport { DEPLOYMENT_DIALOG } from './DeploymentDialog';\n\nexport const ScriptContainer = lazy(() => import('./ScriptContainer'));\nexport const DeploymentDialog = lazy(() => import('./DeploymentDialog'));\n"],
5
+ "mappings": "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",
6
+ "names": ["Octokit", "React", "useCallback", "useEffect", "useState", "createIntent", "SettingsAction", "useIntentDispatcher", "FunctionType", "getInvocationUrl", "getUserFunctionUrlInMetadata", "log", "useClient", "Filter", "getMeta", "getSpace", "Ref", "useQuery", "Button", "Clipboard", "Input", "useControlledState", "useTranslation", "DataType", "ScriptObjectSettings", "object", "Binding", "Publishing", "ScriptProperties", "t", "useTranslation", "SCRIPT_PLUGIN", "Input", "Root", "Label", "TextInput", "placeholder", "value", "description", "onChange", "event", "target", "client", "useClient", "space", "getSpace", "fn", "useQuery", "Filter", "type", "FunctionType", "source", "Ref", "make", "functionPath", "getUserFunctionUrlInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "id", "binding", "setBinding", "useControlledState", "handleBindingChange", "useCallback", "handleBindingBlur", "div", "role", "className", "h2", "disabled", "name", "Clipboard", "IconButton", "onBlur", "dispatchPromise", "dispatch", "useIntentDispatcher", "githubToken", "DataType", "AccessToken", "gistKey", "keys", "find", "gistUrl", "setGistUrl", "useState", "useEffect", "token", "gistId", "undefined", "timeout", "setTimeout", "octokit", "Octokit", "auth", "response", "request", "gist_id", "data", "html_url", "err", "log", "catch", "clearTimeout", "handleOpenTokenManager", "createIntent", "SettingsAction", "Open", "plugin", "publishing", "setPublishing", "handlePublish", "load", "filename", "kebabize", "files", "content", "meta", "githubKey", "public", "push", "p", "span", "Button", "onClick", "str", "replace", "$", "ofs", "toLowerCase", "React", "useClient", "Button", "Select", "useTranslation", "EditorInputModes", "DeprecatedFormContainer", "DeprecatedFormInput", "ScriptPluginSettings", "settings", "t", "useTranslation", "meta", "id", "client", "useClient", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "issuer", "issuanceDate", "Date", "subject", "assertion", "serverName", "serverKey", "capabilities", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Button", "onClick", "Select", "Root", "value", "editorInputMode", "onValueChange", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "EditorInputModes", "map", "mode", "Option", "key", "React", "forwardRef", "useEffect", "useRef", "useState", "log", "Avatar", "Icon", "Input", "Toolbar", "useTranslation", "SyntaxHighlighter", "errorText", "mx", "TestPanel", "classNames", "functionUrl", "t", "useTranslation", "SCRIPT_PLUGIN", "inputRef", "useRef", "input", "setInput", "useState", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "useEffect", "handleStop", "abort", "undefined", "handleClear", "focus", "handleResponse", "text", "data", "error", "type", "handleRequest", "charAt", "validJsonString", "replace", "JSON", "parse", "stringify", "err", "setTimeout", "AbortController", "response", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "get", "json", "reader", "getReader", "pump", "done", "value", "TextDecoder", "decode", "read", "then", "catch", "name", "log", "React", "div", "className", "mx", "MessageThread", "ref", "Toolbar", "Root", "Input", "TextInput", "autoFocus", "placeholder", "onChange", "ev", "target", "onKeyDown", "key", "Button", "onClick", "Icon", "icon", "size", "forwardRef", "forwardedRef", "map", "message", "i", "RobotAvatar", "MessageItem", "length", "wrapper", "errorText", "SyntaxHighlighter", "language", "Avatar", "Content", "variant", "React", "StackItem", "TestContainer", "script", "state", "useToolbarState", "useDeployState", "React", "StackItem", "Content", "TestPanel", "functionUrl", "lazy", "ScriptContainer", "lazy", "DeploymentDialog"]
7
7
  }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  ScriptAction
3
- } from "./chunk-WB3X5Z7Q.mjs";
3
+ } from "./chunk-IS4OG2UW.mjs";
4
4
 
5
- // packages/plugins/plugin-script/src/util/functions.ts
5
+ // src/util/functions.ts
6
6
  import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
7
7
  import { log } from "@dxos/log";
8
8
  import { getMeta, getSpace } from "@dxos/react-client/echo";
9
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
9
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/functions.ts";
10
10
  var getFunctionUrl = ({ script, fn, edgeUrl }) => {
11
11
  const space = getSpace(script);
12
12
  const existingFunctionUrl = fn && getUserFunctionUrlInMetadata(getMeta(fn));
@@ -58,13 +58,13 @@ var updateFunctionMetadata = (script, storedFunction, meta, functionId) => {
58
58
  }
59
59
  };
60
60
 
61
- // packages/plugins/plugin-script/src/util/deploy.ts
61
+ // src/util/deploy.ts
62
62
  import { Obj, Ref } from "@dxos/echo";
63
63
  import { FunctionType, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2, makeFunctionUrl, setUserFunctionUrlInMetadata } from "@dxos/functions";
64
64
  import { Bundler } from "@dxos/functions/bundler";
65
65
  import { incrementSemverPatch, uploadWorkerFunction } from "@dxos/functions/edge";
66
66
  import { log as log2 } from "@dxos/log";
67
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
67
+ var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/util/deploy.ts";
68
68
  var isScriptDeployed = ({ script, fn }) => {
69
69
  const existingFunctionUrl = fn && getUserFunctionUrlInMetadata2(Obj.getMeta(fn));
70
70
  return Boolean(existingFunctionUrl) && !script.changed;
@@ -160,7 +160,7 @@ var createOrUpdateFunctionInSpace = (space, fn, script, functionId, version) =>
160
160
  }
161
161
  };
162
162
 
163
- // packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts
163
+ // src/hooks/useCreateAndDeployScriptTemplates.ts
164
164
  import { pipe } from "effect/Function";
165
165
  import { useCallback, useState } from "react";
166
166
  import { chain, createIntent, useIntentDispatcher } from "@dxos/app-framework";
@@ -169,7 +169,7 @@ import { ScriptType } from "@dxos/functions";
169
169
  import { invariant } from "@dxos/invariant";
170
170
  import { SpaceAction } from "@dxos/plugin-space/types";
171
171
  import { useClient } from "@dxos/react-client";
172
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
172
+ var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-script/src/hooks/useCreateAndDeployScriptTemplates.ts";
173
173
  var useCreateAndDeployScriptTemplates = (space, scriptTemplates) => {
174
174
  const { dispatchPromise: dispatch } = useIntentDispatcher();
175
175
  const client = useClient();
@@ -230,4 +230,4 @@ export {
230
230
  deployScript,
231
231
  useCreateAndDeployScriptTemplates
232
232
  };
233
- //# sourceMappingURL=chunk-QJH7I2UV.mjs.map
233
+ //# sourceMappingURL=chunk-FMDXKOP7.mjs.map
@@ -1,14 +1,13 @@
1
1
  import {
2
- SCRIPT_PLUGIN
3
- } from "./chunk-6ZHHWU6S.mjs";
2
+ meta
3
+ } from "./chunk-QYAREHGH.mjs";
4
4
 
5
- // packages/plugins/plugin-script/src/types.ts
5
+ // src/types/schema.ts
6
6
  import { Schema } from "effect";
7
7
  import { SpaceSchema } from "@dxos/client/echo";
8
8
  import { ScriptType } from "@dxos/functions";
9
9
  import { EditorInputMode } from "@dxos/react-ui-editor";
10
10
  (function(ScriptAction2) {
11
- const SCRIPT_ACTION = `${SCRIPT_PLUGIN}/action`;
12
11
  ScriptAction2.CreateScriptSchema = Schema.Struct({
13
12
  name: Schema.optional(Schema.String),
14
13
  // TODO(wittjosiah): Placeholder annotation?
@@ -17,7 +16,7 @@ import { EditorInputMode } from "@dxos/react-ui-editor";
17
16
  })),
18
17
  initialTemplateId: Schema.optional(Schema.String)
19
18
  });
20
- class Create extends Schema.TaggedClass()(`${SCRIPT_ACTION}/create`, {
19
+ class Create extends Schema.TaggedClass()(`${meta.id}/action/create`, {
21
20
  input: Schema.extend(ScriptAction2.CreateScriptSchema, Schema.Struct({
22
21
  space: SpaceSchema
23
22
  })),
@@ -37,4 +36,4 @@ export {
37
36
  ScriptSettingsSchema,
38
37
  ScriptAction
39
38
  };
40
- //# sourceMappingURL=chunk-WB3X5Z7Q.mjs.map
39
+ //# sourceMappingURL=chunk-IS4OG2UW.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,11 +1,11 @@
1
1
  import {
2
2
  useCreateAndDeployScriptTemplates
3
- } from "./chunk-QJH7I2UV.mjs";
3
+ } from "./chunk-FMDXKOP7.mjs";
4
4
  import {
5
5
  SCRIPT_PLUGIN
6
- } from "./chunk-6ZHHWU6S.mjs";
6
+ } from "./chunk-QYAREHGH.mjs";
7
7
 
8
- // packages/plugins/plugin-script/src/components/DeploymentDialog/DeploymentDialog.tsx
8
+ // src/components/DeploymentDialog/DeploymentDialog.tsx
9
9
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
10
10
  import React, { useEffect, useMemo } from "react";
11
11
  import { createIntent, LayoutAction, useIntentDispatcher } from "@dxos/app-framework";
@@ -143,11 +143,11 @@ var DeploymentDialog = ({ accessToken, scriptTemplates }) => {
143
143
  }
144
144
  };
145
145
 
146
- // packages/plugins/plugin-script/src/components/DeploymentDialog/index.ts
146
+ // src/components/DeploymentDialog/index.ts
147
147
  var DeploymentDialog_default = DeploymentDialog;
148
148
 
149
149
  export {
150
150
  DEPLOYMENT_DIALOG,
151
151
  DeploymentDialog_default
152
152
  };
153
- //# sourceMappingURL=chunk-LA66DQGU.mjs.map
153
+ //# sourceMappingURL=chunk-P4HQKUCP.mjs.map
@@ -1,4 +1,4 @@
1
- // packages/plugins/plugin-script/src/meta.ts
1
+ // src/meta.ts
2
2
  var SCRIPT_PLUGIN = "dxos.org/plugin/script";
3
3
  var meta = {
4
4
  id: SCRIPT_PLUGIN,
@@ -25,4 +25,4 @@ export {
25
25
  meta,
26
26
  defaultScriptsForIntegration
27
27
  };
28
- //# sourceMappingURL=chunk-6ZHHWU6S.mjs.map
28
+ //# sourceMappingURL=chunk-QYAREHGH.mjs.map