@dxos/plugin-script 0.6.13 → 0.6.14-main.1366248

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 (206) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/browser/AutomationPanel-XLL2ZXGS.mjs +78 -0
  3. package/dist/lib/browser/AutomationPanel-XLL2ZXGS.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-YXH4MFEO.mjs +415 -0
  5. package/dist/lib/browser/ScriptContainer-YXH4MFEO.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-C7VBULMK.mjs +18 -0
  7. package/dist/lib/browser/chunk-C7VBULMK.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-RHEZ5LUU.mjs → chunk-G6H56WFS.mjs} +51 -2
  9. package/dist/lib/browser/{chunk-RHEZ5LUU.mjs.map → chunk-G6H56WFS.mjs.map} +4 -4
  10. package/dist/lib/browser/{chunk-DL5XQRQM.mjs → chunk-KHNN3F7J.mjs} +18 -6
  11. package/dist/lib/browser/chunk-KHNN3F7J.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-NCZUJKJE.mjs +236 -0
  13. package/dist/lib/browser/chunk-NCZUJKJE.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-O4LWBX6A.mjs → chunk-USXWNH3S.mjs} +2 -2
  15. package/dist/lib/browser/{chunk-O4LWBX6A.mjs.map → chunk-USXWNH3S.mjs.map} +2 -2
  16. package/dist/lib/browser/edge/index.mjs +5 -1
  17. package/dist/lib/browser/index.mjs +185 -62
  18. package/dist/lib/browser/index.mjs.map +4 -4
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/meta.mjs +1 -1
  21. package/dist/lib/browser/types/index.mjs +2 -2
  22. package/dist/lib/node/AutomationPanel-OSPAFWZU.cjs +100 -0
  23. package/dist/lib/node/AutomationPanel-OSPAFWZU.cjs.map +7 -0
  24. package/dist/lib/node/ScriptContainer-FWHFEIHK.cjs +417 -0
  25. package/dist/lib/node/ScriptContainer-FWHFEIHK.cjs.map +7 -0
  26. package/dist/lib/node/{TypescriptEditor-M3WWFIP2.cjs → chunk-6LYX73ZT.cjs} +19 -8
  27. package/dist/lib/node/chunk-6LYX73ZT.cjs.map +7 -0
  28. package/dist/lib/node/{chunk-4GTXIELQ.cjs → chunk-ACLCRWDB.cjs} +44 -6
  29. package/dist/lib/node/chunk-ACLCRWDB.cjs.map +7 -0
  30. package/dist/lib/node/chunk-BJ4WIWCP.cjs +265 -0
  31. package/dist/lib/node/chunk-BJ4WIWCP.cjs.map +7 -0
  32. package/dist/lib/node/{chunk-5RBVXKXT.cjs → chunk-CPNHUAFN.cjs} +6 -6
  33. package/dist/lib/node/{chunk-5RBVXKXT.cjs.map → chunk-CPNHUAFN.cjs.map} +2 -2
  34. package/dist/lib/node/{chunk-PFH3ROEH.cjs → chunk-FY5KKL5N.cjs} +22 -8
  35. package/dist/lib/node/chunk-FY5KKL5N.cjs.map +7 -0
  36. package/dist/lib/node/edge/index.cjs +12 -8
  37. package/dist/lib/node/edge/index.cjs.map +2 -2
  38. package/dist/lib/node/index.cjs +196 -81
  39. package/dist/lib/node/index.cjs.map +4 -4
  40. package/dist/lib/node/meta.cjs +3 -3
  41. package/dist/lib/node/meta.cjs.map +1 -1
  42. package/dist/lib/node/meta.json +1 -1
  43. package/dist/lib/node/types/index.cjs +5 -5
  44. package/dist/lib/node/types/index.cjs.map +1 -1
  45. package/dist/lib/node-esm/AutomationPanel-KJNL6ARP.mjs +79 -0
  46. package/dist/lib/node-esm/AutomationPanel-KJNL6ARP.mjs.map +7 -0
  47. package/dist/lib/node-esm/ScriptContainer-6U5WJFRB.mjs +416 -0
  48. package/dist/lib/node-esm/ScriptContainer-6U5WJFRB.mjs.map +7 -0
  49. package/dist/lib/node-esm/chunk-2NPZGQGA.mjs +47 -0
  50. package/dist/lib/node-esm/chunk-2NPZGQGA.mjs.map +7 -0
  51. package/dist/lib/node-esm/chunk-DXWSRDEN.mjs +237 -0
  52. package/dist/lib/node-esm/chunk-DXWSRDEN.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-LDLNTVAK.mjs +280 -0
  54. package/dist/lib/node-esm/chunk-LDLNTVAK.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-QMTTZYLF.mjs +255 -0
  56. package/dist/lib/node-esm/chunk-QMTTZYLF.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-SLTZMY34.mjs +20 -0
  58. package/dist/lib/node-esm/chunk-SLTZMY34.mjs.map +7 -0
  59. package/dist/lib/node-esm/edge/index.mjs +24 -0
  60. package/dist/lib/node-esm/index.mjs +415 -0
  61. package/dist/lib/node-esm/index.mjs.map +7 -0
  62. package/dist/lib/node-esm/meta.json +1 -0
  63. package/dist/lib/node-esm/meta.mjs +10 -0
  64. package/dist/lib/node-esm/meta.mjs.map +7 -0
  65. package/dist/lib/node-esm/types/index.mjs +13 -0
  66. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  67. package/dist/types/src/ScriptPlugin.d.ts.map +1 -1
  68. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts +17 -0
  69. package/dist/types/src/components/AutomationPanel/AutomationPanel.d.ts.map +1 -0
  70. package/dist/types/src/components/AutomationPanel/index.d.ts +4 -0
  71. package/dist/types/src/components/AutomationPanel/index.d.ts.map +1 -0
  72. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts +7 -0
  73. package/dist/types/src/components/DebugPanel/DebugPanel.d.ts.map +1 -0
  74. package/dist/types/src/components/DebugPanel/index.d.ts +2 -0
  75. package/dist/types/src/components/DebugPanel/index.d.ts.map +1 -0
  76. package/dist/types/src/components/{ScriptBlock/FrameContainer → FrameContainer}/FrameContainer.d.ts +1 -1
  77. package/dist/types/src/components/FrameContainer/FrameContainer.d.ts.map +1 -0
  78. package/dist/types/src/components/FrameContainer/frame.d.ts.map +1 -0
  79. package/dist/types/src/components/FrameContainer/index.d.ts.map +1 -0
  80. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts +1 -3
  81. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts.map +1 -1
  82. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts +3 -8
  83. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts.map +1 -1
  84. package/dist/types/src/components/ScriptContainer.d.ts +5 -0
  85. package/dist/types/src/components/ScriptContainer.d.ts.map +1 -0
  86. package/dist/types/src/components/ScriptEditor.d.ts +4 -5
  87. package/dist/types/src/components/ScriptEditor.d.ts.map +1 -1
  88. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts +6 -0
  89. package/dist/types/src/components/ScriptSettings/ScriptSettings.d.ts.map +1 -0
  90. package/dist/types/src/components/ScriptSettings/index.d.ts +2 -0
  91. package/dist/types/src/components/ScriptSettings/index.d.ts.map +1 -0
  92. package/dist/types/src/components/ScriptSettingsPanel.d.ts +7 -0
  93. package/dist/types/src/components/ScriptSettingsPanel.d.ts.map +1 -0
  94. package/dist/types/src/components/Toolbar/Toolbar.d.ts +23 -0
  95. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
  96. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +14 -0
  97. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -0
  98. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  99. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  100. package/dist/types/src/components/{TypescriptEditor.d.ts → TypescriptEditor/TypescriptEditor.d.ts} +1 -2
  101. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -0
  102. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +6 -0
  103. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -0
  104. package/dist/types/src/components/TypescriptEditor/index.d.ts +2 -0
  105. package/dist/types/src/components/TypescriptEditor/index.d.ts.map +1 -0
  106. package/dist/types/src/components/index.d.ts +4 -3
  107. package/dist/types/src/components/index.d.ts.map +1 -1
  108. package/dist/types/src/edge/functions.d.ts +7 -0
  109. package/dist/types/src/edge/functions.d.ts.map +1 -1
  110. package/dist/types/src/meta.d.ts +5 -9
  111. package/dist/types/src/meta.d.ts.map +1 -1
  112. package/dist/types/src/templates/chat.d.ts +6 -0
  113. package/dist/types/src/templates/chat.d.ts.map +1 -0
  114. package/dist/types/src/templates/chess.d.ts +6 -0
  115. package/dist/types/src/templates/chess.d.ts.map +1 -0
  116. package/dist/types/src/templates/echo.d.ts +6 -0
  117. package/dist/types/src/templates/echo.d.ts.map +1 -0
  118. package/dist/types/src/templates/email.d.ts +6 -0
  119. package/dist/types/src/templates/email.d.ts.map +1 -0
  120. package/dist/types/src/templates/forex.d.ts +6 -0
  121. package/dist/types/src/templates/forex.d.ts.map +1 -0
  122. package/dist/types/src/templates.d.ts +8 -0
  123. package/dist/types/src/templates.d.ts.map +1 -0
  124. package/dist/types/src/translations.d.ts +7 -0
  125. package/dist/types/src/translations.d.ts.map +1 -1
  126. package/dist/types/src/types/script.d.ts +4 -4
  127. package/dist/types/src/types/types.d.ts +4 -3
  128. package/dist/types/src/types/types.d.ts.map +1 -1
  129. package/package.json +59 -64
  130. package/src/ScriptPlugin.tsx +47 -41
  131. package/src/bundler/bundler.test.ts +12 -2
  132. package/src/components/AutomationPanel/AutomationPanel.tsx +101 -0
  133. package/src/components/AutomationPanel/index.ts +9 -0
  134. package/src/components/{DebugPanel.tsx → DebugPanel/DebugPanel.tsx} +74 -96
  135. package/src/components/DebugPanel/index.ts +5 -0
  136. package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/FrameContainer.tsx +1 -1
  137. package/src/components/ScriptBlock/ScriptBlock.stories.tsx +15 -14
  138. package/src/components/ScriptBlock/ScriptBlock.tsx +23 -51
  139. package/src/components/ScriptContainer.tsx +22 -0
  140. package/src/components/ScriptEditor.tsx +51 -62
  141. package/src/components/ScriptSettings/ScriptSettings.tsx +47 -0
  142. package/src/components/ScriptSettings/index.ts +5 -0
  143. package/src/components/ScriptSettingsPanel.tsx +105 -0
  144. package/src/components/Toolbar/Toolbar.stories.tsx +30 -0
  145. package/src/components/Toolbar/Toolbar.tsx +177 -0
  146. package/src/components/{ScriptBlock/Splitter → Toolbar}/index.ts +1 -1
  147. package/src/components/{TypescriptEditor.stories.tsx → TypescriptEditor/TypescriptEditor.stories.tsx} +17 -35
  148. package/src/components/{TypescriptEditor.tsx → TypescriptEditor/TypescriptEditor.tsx} +1 -3
  149. package/src/components/TypescriptEditor/index.ts +5 -0
  150. package/src/components/index.ts +6 -3
  151. package/src/edge/functions.ts +19 -0
  152. package/src/meta.ts +16 -0
  153. package/src/templates/chat.ts +102 -0
  154. package/src/templates/chess.ts +41 -0
  155. package/src/templates/echo.ts +15 -0
  156. package/src/templates/email.ts +38 -0
  157. package/src/templates/forex.ts +21 -0
  158. package/src/templates.ts +54 -0
  159. package/src/translations.ts +7 -0
  160. package/src/types/types.ts +9 -5
  161. package/dist/lib/browser/ScriptEditor-5Y3EROG3.mjs +0 -513
  162. package/dist/lib/browser/ScriptEditor-5Y3EROG3.mjs.map +0 -7
  163. package/dist/lib/browser/TypescriptEditor-GPE72Y6I.mjs +0 -9
  164. package/dist/lib/browser/chunk-DL5XQRQM.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-JBACGDOJ.mjs +0 -21
  166. package/dist/lib/browser/chunk-JBACGDOJ.mjs.map +0 -7
  167. package/dist/lib/browser/chunk-MRGOT5RF.mjs +0 -78
  168. package/dist/lib/browser/chunk-MRGOT5RF.mjs.map +0 -7
  169. package/dist/lib/node/ScriptEditor-YCUQFWQM.cjs +0 -526
  170. package/dist/lib/node/ScriptEditor-YCUQFWQM.cjs.map +0 -7
  171. package/dist/lib/node/TypescriptEditor-M3WWFIP2.cjs.map +0 -7
  172. package/dist/lib/node/chunk-4GTXIELQ.cjs.map +0 -7
  173. package/dist/lib/node/chunk-4VMNBXWU.cjs +0 -54
  174. package/dist/lib/node/chunk-4VMNBXWU.cjs.map +0 -7
  175. package/dist/lib/node/chunk-IMLDKD5Y.cjs +0 -111
  176. package/dist/lib/node/chunk-IMLDKD5Y.cjs.map +0 -7
  177. package/dist/lib/node/chunk-PFH3ROEH.cjs.map +0 -7
  178. package/dist/types/src/components/DebugPanel.d.ts +0 -9
  179. package/dist/types/src/components/DebugPanel.d.ts.map +0 -1
  180. package/dist/types/src/components/ScriptBlock/FrameContainer/FrameContainer.d.ts.map +0 -1
  181. package/dist/types/src/components/ScriptBlock/FrameContainer/frame.d.ts.map +0 -1
  182. package/dist/types/src/components/ScriptBlock/FrameContainer/index.d.ts.map +0 -1
  183. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.d.ts +0 -15
  184. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.d.ts.map +0 -1
  185. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.stories.d.ts +0 -13
  186. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.stories.d.ts.map +0 -1
  187. package/dist/types/src/components/ScriptBlock/Splitter/index.d.ts +0 -2
  188. package/dist/types/src/components/ScriptBlock/Splitter/index.d.ts.map +0 -1
  189. package/dist/types/src/components/Toolbar.d.ts +0 -13
  190. package/dist/types/src/components/Toolbar.d.ts.map +0 -1
  191. package/dist/types/src/components/Toolbar.stories.d.ts +0 -14
  192. package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
  193. package/dist/types/src/components/TypescriptEditor.d.ts.map +0 -1
  194. package/dist/types/src/components/TypescriptEditor.stories.d.ts +0 -10
  195. package/dist/types/src/components/TypescriptEditor.stories.d.ts.map +0 -1
  196. package/src/components/ScriptBlock/Splitter/Splitter.stories.tsx +0 -37
  197. package/src/components/ScriptBlock/Splitter/Splitter.tsx +0 -52
  198. package/src/components/Toolbar.stories.tsx +0 -17
  199. package/src/components/Toolbar.tsx +0 -147
  200. package/src/meta.tsx +0 -19
  201. /package/dist/lib/{browser/TypescriptEditor-GPE72Y6I.mjs.map → node-esm/edge/index.mjs.map} +0 -0
  202. /package/dist/types/src/components/{ScriptBlock/FrameContainer → FrameContainer}/frame.d.ts +0 -0
  203. /package/dist/types/src/components/{ScriptBlock/FrameContainer → FrameContainer}/index.d.ts +0 -0
  204. /package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/frame.html +0 -0
  205. /package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/frame.tsx +0 -0
  206. /package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/index.ts +0 -0
@@ -28,24 +28,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- Bundler: () => import_chunk_4GTXIELQ.Bundler,
31
+ AutomationPanel: () => AutomationPanel,
32
+ Bundler: () => import_chunk_ACLCRWDB.Bundler,
32
33
  Compiler: () => Compiler,
33
- FunctionType: () => import_chunk_5RBVXKXT.FunctionType,
34
- ScriptAction: () => import_chunk_5RBVXKXT.ScriptAction,
35
- ScriptEditor: () => ScriptEditor,
34
+ FunctionType: () => import_chunk_CPNHUAFN.FunctionType,
35
+ ScriptAction: () => import_chunk_CPNHUAFN.ScriptAction,
36
+ ScriptContainer: () => ScriptContainer,
36
37
  ScriptPlugin: () => ScriptPlugin,
37
- ScriptType: () => import_chunk_5RBVXKXT.ScriptType,
38
- TypescriptEditor: () => TypescriptEditor,
38
+ ScriptSettings: () => ScriptSettings,
39
+ ScriptSettingsPanel: () => ScriptSettingsPanel,
40
+ ScriptType: () => import_chunk_CPNHUAFN.ScriptType,
39
41
  default: () => src_default,
40
- initializeBundler: () => import_chunk_4GTXIELQ.initializeBundler
42
+ initializeBundler: () => import_chunk_ACLCRWDB.initializeBundler
41
43
  });
42
44
  module.exports = __toCommonJS(node_exports);
43
- var import_chunk_4GTXIELQ = require("./chunk-4GTXIELQ.cjs");
44
- var import_chunk_5RBVXKXT = require("./chunk-5RBVXKXT.cjs");
45
- var import_chunk_4VMNBXWU = require("./chunk-4VMNBXWU.cjs");
46
- var import_react = require("@phosphor-icons/react");
45
+ var import_chunk_ACLCRWDB = require("./chunk-ACLCRWDB.cjs");
46
+ var import_chunk_FY5KKL5N = require("./chunk-FY5KKL5N.cjs");
47
+ var import_chunk_CPNHUAFN = require("./chunk-CPNHUAFN.cjs");
48
+ var import_chunk_6LYX73ZT = require("./chunk-6LYX73ZT.cjs");
47
49
  var import_esbuild = __toESM(require("esbuild-wasm/esbuild.wasm?url"));
48
- var import_react2 = __toESM(require("react"));
50
+ var import_react = __toESM(require("react"));
49
51
  var import_app_framework = require("@dxos/app-framework");
50
52
  var import_echo_schema = require("@dxos/echo-schema");
51
53
  var import_plugin_client = require("@dxos/plugin-client");
@@ -56,7 +58,15 @@ var import_echo = require("@dxos/react-client/echo");
56
58
  var import_vfs = require("@typescript/vfs");
57
59
  var import_typescript = __toESM(require("typescript"));
58
60
  var import_invariant = require("@dxos/invariant");
61
+ var import_react2 = require("react");
59
62
  var import_react3 = __toESM(require("react"));
63
+ var import_react_client = require("@dxos/react-client");
64
+ var import_react_ui = require("@dxos/react-ui");
65
+ var import_react_ui_data = require("@dxos/react-ui-data");
66
+ var import_react4 = __toESM(require("react"));
67
+ var import_react_client2 = require("@dxos/react-client");
68
+ var import_echo2 = require("@dxos/react-client/echo");
69
+ var import_react_ui2 = require("@dxos/react-ui");
60
70
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/compiler/compiler.ts";
61
71
  var defaultOptions = {
62
72
  lib: [
@@ -105,12 +115,110 @@ var Compiler = class {
105
115
  return this.environment.languageService.getEmitOutput(fileName);
106
116
  }
107
117
  };
108
- var ScriptEditor = import_react3.default.lazy(() => import("./ScriptEditor-YCUQFWQM.cjs"));
109
- var TypescriptEditor = import_react3.default.lazy(() => import("./TypescriptEditor-M3WWFIP2.cjs"));
118
+ var ScriptSettings = ({ settings }) => {
119
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_6LYX73ZT.SCRIPT_PLUGIN);
120
+ const client = (0, import_react_client.useClient)();
121
+ const handleAuthenticate = async () => {
122
+ const { identityKey } = client.halo.identity.get();
123
+ await client.halo.writeCredentials([
124
+ {
125
+ issuer: identityKey,
126
+ issuanceDate: /* @__PURE__ */ new Date(),
127
+ subject: {
128
+ id: identityKey,
129
+ assertion: {
130
+ "@type": "dxos.halo.credentials.ServiceAccess",
131
+ serverName: "hub.dxos.network",
132
+ serverKey: identityKey,
133
+ identityKey,
134
+ capabilities: [
135
+ "composer:beta"
136
+ ]
137
+ }
138
+ }
139
+ }
140
+ ]);
141
+ };
142
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_data.DeprecatedFormInput, {
143
+ label: t("authenticate action label")
144
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
145
+ onClick: handleAuthenticate
146
+ }, t("authenticate button label"))));
147
+ };
148
+ var ScriptSettingsPanel = ({ script }) => {
149
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_6LYX73ZT.SCRIPT_PLUGIN);
150
+ const client = (0, import_react_client2.useClient)();
151
+ const space = (0, import_echo2.getSpace)(script);
152
+ const [fn] = (0, import_echo2.useQuery)(space, import_echo2.Filter.schema(import_chunk_CPNHUAFN.FunctionType, (fn2) => fn2.source === script));
153
+ const handleNameChange = (0, import_react4.useCallback)((event) => {
154
+ script.name = event.target.value;
155
+ }, [
156
+ script
157
+ ]);
158
+ const [binding, setBinding] = (0, import_react_ui2.useControlledValue)(fn?.binding ?? "");
159
+ const handleBindingChange = (0, import_react4.useCallback)((event) => {
160
+ setBinding(event.target.value);
161
+ }, [
162
+ setBinding
163
+ ]);
164
+ const handleBindingBlur = (0, import_react4.useCallback)(() => {
165
+ fn.binding = binding;
166
+ }, [
167
+ fn,
168
+ binding
169
+ ]);
170
+ const functionPath = fn && (0, import_chunk_FY5KKL5N.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
171
+ const functionUrl = functionPath && (0, import_chunk_FY5KKL5N.getInvocationUrl)(functionPath, client.config.values.runtime?.services?.edge?.url ?? "", {
172
+ spaceId: space?.id
173
+ });
174
+ const handleCopy = (0, import_react4.useCallback)(() => functionUrl && navigator.clipboard.writeText(functionUrl), [
175
+ functionUrl
176
+ ]);
177
+ return /* @__PURE__ */ import_react4.default.createElement("div", {
178
+ role: "form",
179
+ className: "flex flex-col w-full p-2 gap-4"
180
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement("div", {
181
+ role: "none",
182
+ className: "flex flex-col gap-1"
183
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Label, null, t("name label")), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.TextInput, {
184
+ placeholder: t("object title placeholder"),
185
+ value: script.name ?? "",
186
+ onChange: handleNameChange
187
+ }))), fn && /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement("hr", {
188
+ className: "border-separator"
189
+ }), /* @__PURE__ */ import_react4.default.createElement("h2", null, t("remote function settings heading")), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement("div", {
190
+ role: "none",
191
+ className: "flex flex-col gap-1"
192
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Label, null, t("function url label")), /* @__PURE__ */ import_react4.default.createElement("div", {
193
+ role: "none",
194
+ className: "flex gap-1"
195
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.TextInput, {
196
+ disabled: true,
197
+ value: functionUrl,
198
+ onChange: (event) => {
199
+ fn.name = event.target.value;
200
+ }
201
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
202
+ onClick: handleCopy
203
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Icon, {
204
+ icon: "ph--copy--regular",
205
+ size: 4
206
+ }))))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement("div", {
207
+ role: "none",
208
+ className: "flex flex-col gap-1"
209
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.Label, null, t("function binding label")), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Input.TextInput, {
210
+ placeholder: t("function binding placeholder"),
211
+ value: binding,
212
+ onChange: handleBindingChange,
213
+ onBlur: handleBindingBlur
214
+ })))));
215
+ };
216
+ var AutomationPanel = (0, import_react2.lazy)(() => import("./AutomationPanel-OSPAFWZU.cjs"));
217
+ var ScriptContainer = (0, import_react2.lazy)(() => import("./ScriptContainer-FWHFEIHK.cjs"));
110
218
  var translations_default = [
111
219
  {
112
220
  "en-US": {
113
- [import_chunk_4VMNBXWU.SCRIPT_PLUGIN]: {
221
+ [import_chunk_6LYX73ZT.SCRIPT_PLUGIN]: {
114
222
  "plugin name": "Scripts",
115
223
  "object title placeholder": "New script",
116
224
  "create object label": "Create script",
@@ -122,7 +230,14 @@ var translations_default = [
122
230
  "upload failed label": "Upload failed",
123
231
  "copy link label": "Copy function link",
124
232
  "format label": "Format",
125
- "toggle details label": "Toggle details panel"
233
+ "toggle details label": "Toggle details panel",
234
+ "authenticate action label": "Authenticate functions service",
235
+ "authenticate button label": "Authenticate",
236
+ "name label": "Name",
237
+ "remote function settings heading": "Remote Function",
238
+ "function url label": "Invocation URL",
239
+ "function binding label": "Function binding",
240
+ "function binding placeholder": "BINDING"
126
241
  }
127
242
  }
128
243
  }
@@ -130,7 +245,7 @@ var translations_default = [
130
245
  var ScriptPlugin = () => {
131
246
  const compiler = new Compiler();
132
247
  return {
133
- meta: import_chunk_4VMNBXWU.meta_default,
248
+ meta: import_chunk_6LYX73ZT.meta_default,
134
249
  initialize: async () => {
135
250
  await compiler.initialize();
136
251
  compiler.setFile("/src/typings.d.ts", "declare module 'https://*';");
@@ -139,22 +254,22 @@ var ScriptPlugin = () => {
139
254
  export type FunctionHandler = ({ event, context }: { event: any; context: any }) => Promise<Response>;
140
255
  export const functionHandler = (handler: FunctionHandler) => handler;
141
256
  `);
142
- await (0, import_chunk_4GTXIELQ.initializeBundler)({
257
+ await (0, import_chunk_ACLCRWDB.initializeBundler)({
143
258
  wasmUrl: import_esbuild.default
144
259
  });
145
260
  },
146
261
  provides: {
262
+ settings: {},
147
263
  metadata: {
148
264
  records: {
149
- [import_chunk_5RBVXKXT.ScriptType.typename]: {
265
+ [import_chunk_CPNHUAFN.ScriptType.typename]: {
150
266
  placeholder: [
151
267
  "object title placeholder",
152
268
  {
153
- ns: import_chunk_4VMNBXWU.SCRIPT_PLUGIN
269
+ ns: import_chunk_6LYX73ZT.SCRIPT_PLUGIN
154
270
  }
155
271
  ],
156
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Code, props),
157
- iconSymbol: "ph--code--regular",
272
+ icon: "ph--code--regular",
158
273
  // TODO(wittjosiah): Move out of metadata.
159
274
  loadReferences: (script) => (0, import_echo.loadObjectReferences)(script, (script2) => [
160
275
  script2.source
@@ -165,10 +280,21 @@ var ScriptPlugin = () => {
165
280
  translations: translations_default,
166
281
  echo: {
167
282
  schema: [
168
- import_chunk_5RBVXKXT.ScriptType,
169
- import_chunk_5RBVXKXT.FunctionType
283
+ import_chunk_CPNHUAFN.ScriptType,
284
+ import_chunk_CPNHUAFN.FunctionType
170
285
  ]
171
286
  },
287
+ space: {
288
+ onSpaceCreate: {
289
+ label: [
290
+ "create object label",
291
+ {
292
+ ns: import_chunk_6LYX73ZT.SCRIPT_PLUGIN
293
+ }
294
+ ],
295
+ action: import_chunk_CPNHUAFN.ScriptAction.CREATE
296
+ }
297
+ },
172
298
  graph: {
173
299
  builder: (plugins) => {
174
300
  const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
@@ -177,7 +303,7 @@ var ScriptPlugin = () => {
177
303
  return [];
178
304
  }
179
305
  return (0, import_plugin_graph.createExtension)({
180
- id: import_chunk_5RBVXKXT.ScriptAction.CREATE,
306
+ id: import_chunk_CPNHUAFN.ScriptAction.CREATE,
181
307
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
182
308
  actions: ({ node }) => {
183
309
  const id = node.id.split("/").at(-1);
@@ -190,12 +316,12 @@ var ScriptPlugin = () => {
190
316
  }
191
317
  return [
192
318
  {
193
- id: `${import_chunk_4VMNBXWU.SCRIPT_PLUGIN}/create/${node.id}`,
319
+ id: `${import_chunk_6LYX73ZT.SCRIPT_PLUGIN}/create/${node.id}`,
194
320
  data: async () => {
195
321
  await dispatch([
196
322
  {
197
- plugin: import_chunk_4VMNBXWU.SCRIPT_PLUGIN,
198
- action: import_chunk_5RBVXKXT.ScriptAction.CREATE
323
+ plugin: import_chunk_6LYX73ZT.SCRIPT_PLUGIN,
324
+ action: import_chunk_CPNHUAFN.ScriptAction.CREATE
199
325
  },
200
326
  {
201
327
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -212,11 +338,10 @@ var ScriptPlugin = () => {
212
338
  label: [
213
339
  "create object label",
214
340
  {
215
- ns: import_chunk_4VMNBXWU.SCRIPT_PLUGIN
341
+ ns: import_chunk_6LYX73ZT.SCRIPT_PLUGIN
216
342
  }
217
343
  ],
218
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Code, props),
219
- iconSymbol: "ph--code--regular",
344
+ icon: "ph--code--regular",
220
345
  testId: "scriptPlugin.createObject"
221
346
  }
222
347
  }
@@ -225,45 +350,42 @@ var ScriptPlugin = () => {
225
350
  });
226
351
  }
227
352
  },
228
- stack: {
229
- creators: [
230
- {
231
- id: "create-stack-section-script",
232
- testId: "scriptPlugin.createSection",
233
- type: [
234
- "plugin name",
235
- {
236
- ns: import_chunk_4VMNBXWU.SCRIPT_PLUGIN
353
+ surface: {
354
+ component: ({ data, role }) => {
355
+ switch (role) {
356
+ case "settings": {
357
+ return data.plugin === import_chunk_6LYX73ZT.meta_default.id ? /* @__PURE__ */ import_react.default.createElement(ScriptSettings, {
358
+ settings: {}
359
+ }) : null;
360
+ }
361
+ case "article": {
362
+ if (data.object instanceof import_chunk_CPNHUAFN.ScriptType) {
363
+ return /* @__PURE__ */ import_react.default.createElement(ScriptContainer, {
364
+ script: data.object,
365
+ env: compiler.environment
366
+ });
237
367
  }
238
- ],
239
- label: [
240
- "create stack section label",
241
- {
242
- ns: import_chunk_4VMNBXWU.SCRIPT_PLUGIN
368
+ break;
369
+ }
370
+ case "complementary--automation": {
371
+ if (data.subject instanceof import_chunk_CPNHUAFN.ScriptType) {
372
+ return {
373
+ node: /* @__PURE__ */ import_react.default.createElement(AutomationPanel, {
374
+ subject: data.subject
375
+ }),
376
+ disposition: "hoist"
377
+ };
243
378
  }
244
- ],
245
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Code, props),
246
- intent: {
247
- plugin: import_chunk_4VMNBXWU.SCRIPT_PLUGIN,
248
- action: import_chunk_5RBVXKXT.ScriptAction.CREATE
379
+ break;
380
+ }
381
+ case "complementary--settings": {
382
+ if (data.subject instanceof import_chunk_CPNHUAFN.ScriptType) {
383
+ return /* @__PURE__ */ import_react.default.createElement(ScriptSettingsPanel, {
384
+ script: data.subject
385
+ });
386
+ }
387
+ break;
249
388
  }
250
- }
251
- ]
252
- },
253
- surface: {
254
- component: ({ data, role }) => {
255
- if (role && ![
256
- "article",
257
- "section"
258
- ].includes(role)) {
259
- return null;
260
- }
261
- if (data.object instanceof import_chunk_5RBVXKXT.ScriptType) {
262
- return /* @__PURE__ */ import_react2.default.createElement(ScriptEditor, {
263
- env: compiler.environment,
264
- script: data.object,
265
- role
266
- });
267
389
  }
268
390
  return null;
269
391
  }
@@ -271,11 +393,11 @@ var ScriptPlugin = () => {
271
393
  intent: {
272
394
  resolver: (intent) => {
273
395
  switch (intent.action) {
274
- case import_chunk_5RBVXKXT.ScriptAction.CREATE: {
396
+ case import_chunk_CPNHUAFN.ScriptAction.CREATE: {
275
397
  return {
276
- data: (0, import_echo_schema.create)(import_chunk_5RBVXKXT.ScriptType, {
398
+ data: (0, import_echo_schema.create)(import_chunk_CPNHUAFN.ScriptType, {
277
399
  source: (0, import_echo_schema.create)(import_types.TextType, {
278
- content: example
400
+ content: import_chunk_ACLCRWDB.templates[0].source
279
401
  })
280
402
  })
281
403
  };
@@ -286,26 +408,19 @@ var ScriptPlugin = () => {
286
408
  }
287
409
  };
288
410
  };
289
- var example = [
290
- "export default async ({ ",
291
- " event: { data: { request } },",
292
- " context: { space, ai } ",
293
- "}: any) => {",
294
- " return new Response('Hello DXOS!');",
295
- "};",
296
- ""
297
- ].join("\n");
298
411
  var src_default = ScriptPlugin;
299
412
  // Annotate the CommonJS export names for ESM import in node:
300
413
  0 && (module.exports = {
414
+ AutomationPanel,
301
415
  Bundler,
302
416
  Compiler,
303
417
  FunctionType,
304
418
  ScriptAction,
305
- ScriptEditor,
419
+ ScriptContainer,
306
420
  ScriptPlugin,
421
+ ScriptSettings,
422
+ ScriptSettingsPanel,
307
423
  ScriptType,
308
- TypescriptEditor,
309
424
  initializeBundler
310
425
  });
311
426
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/ScriptPlugin.tsx", "../../../src/compiler/compiler.ts", "../../../src/components/index.ts", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Code, type IconProps } from '@phosphor-icons/react';\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\nimport React from 'react';\n\nimport { parseIntentPlugin, type PluginDefinition, resolvePlugin, NavigationAction } from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { TextType } from '@dxos/plugin-markdown/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { loadObjectReferences } from '@dxos/react-client/echo';\n\nimport { initializeBundler } from './bundler';\nimport { Compiler } from './compiler';\nimport { ScriptEditor } from './components';\nimport meta, { SCRIPT_PLUGIN } from './meta';\nimport translations from './translations';\nimport { FunctionType, ScriptType } from './types';\nimport { ScriptAction, type ScriptPluginProvides } from './types';\n\nexport const ScriptPlugin = (): PluginDefinition<ScriptPluginProvides> => {\n const compiler = new Compiler();\n\n return {\n meta,\n initialize: async () => {\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 provides: {\n metadata: {\n records: {\n [ScriptType.typename]: {\n placeholder: ['object title placeholder', { ns: SCRIPT_PLUGIN }],\n icon: (props: IconProps) => <Code {...props} />,\n iconSymbol: 'ph--code--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (script: ScriptType) => loadObjectReferences(script, (script) => [script.source]),\n },\n },\n },\n translations,\n echo: {\n schema: [ScriptType, FunctionType],\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: ScriptAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SCRIPT_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SCRIPT_PLUGIN, action: ScriptAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create object label', { ns: SCRIPT_PLUGIN }],\n icon: (props: IconProps) => <Code {...props} />,\n iconSymbol: 'ph--code--regular',\n testId: 'scriptPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n stack: {\n creators: [\n {\n id: 'create-stack-section-script',\n testId: 'scriptPlugin.createSection',\n type: ['plugin name', { ns: SCRIPT_PLUGIN }],\n label: ['create stack section label', { ns: SCRIPT_PLUGIN }],\n icon: (props: any) => <Code {...props} />,\n intent: {\n plugin: SCRIPT_PLUGIN,\n action: ScriptAction.CREATE,\n },\n },\n ],\n },\n surface: {\n component: ({ data, role }) => {\n if (role && !['article', 'section'].includes(role)) {\n return null;\n }\n\n if (data.object instanceof ScriptType) {\n return <ScriptEditor env={compiler.environment} script={data.object} role={role} />;\n }\n\n return null;\n },\n },\n intent: {\n resolver: (intent) => {\n switch (intent.action) {\n case ScriptAction.CREATE: {\n return { data: create(ScriptType, { source: create(TextType, { content: example }) }) };\n }\n }\n },\n },\n },\n };\n};\n\n// TODO(burdon): Import.\nconst example = [\n 'export default async ({ ',\n ' event: { data: { request } },',\n ' context: { space, ai } ',\n '}: any) => {',\n \" return new Response('Hello DXOS!');\",\n '};',\n '',\n].join('\\n');\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n type VirtualTypeScriptEnvironment,\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() {\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) {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string) {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nexport const ScriptEditor = React.lazy(() => import('./ScriptEditor'));\nexport const TypescriptEditor = React.lazy(() => import('./TypescriptEditor'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SCRIPT_PLUGIN]: {\n 'plugin name': 'Scripts',\n 'object title placeholder': 'New script',\n 'create object label': 'Create script',\n 'create stack section label': 'Create script',\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 },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ScriptPlugin } from './ScriptPlugin';\n\nexport default ScriptPlugin;\n\nexport * from './bundler';\nexport * from './compiler';\nexport * from './components';\nexport * from './types';\n\nexport * from './ScriptPlugin';\n"],
5
- "mappings": "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",
6
- "names": ["import_react", "defaultOptions", "lib", "target", "ts", "ScriptTarget", "ES2022", "Compiler", "constructor", "_options", "initialize", "_env", "_fsMap", "createDefaultMapFromCDN", "system", "createSystem", "createVirtualTypeScriptEnvironment", "environment", "invariant", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "ScriptEditor", "React", "lazy", "TypescriptEditor", "SCRIPT_PLUGIN", "ScriptPlugin", "compiler", "meta", "initializeBundler", "wasmUrl", "provides", "metadata", "records", "ScriptType", "typename", "placeholder", "ns", "icon", "props", "Code", "iconSymbol", "loadReferences", "script", "loadObjectReferences", "source", "translations", "echo", "schema", "FunctionType", "graph", "builder", "plugins", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "id", "ScriptAction", "CREATE", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "space", "spaces", "get", "find", "object", "db", "getObjectById", "data", "plugin", "action", "NavigationAction", "OPEN", "properties", "label", "testId", "stack", "creators", "type", "surface", "component", "role", "includes", "env", "resolver", "create", "TextType", "example", "join"]
3
+ "sources": ["../../../src/ScriptPlugin.tsx", "../../../src/compiler/compiler.ts", "../../../src/components/index.ts", "../../../src/components/ScriptSettings/ScriptSettings.tsx", "../../../src/components/ScriptSettingsPanel.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\n// @ts-ignore\nimport wasmUrl from 'esbuild-wasm/esbuild.wasm?url';\nimport React from 'react';\n\nimport { NavigationAction, parseIntentPlugin, type PluginDefinition, resolvePlugin } from '@dxos/app-framework';\nimport { create } from '@dxos/echo-schema';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { TextType } from '@dxos/plugin-markdown/types';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { loadObjectReferences } from '@dxos/react-client/echo';\n\nimport { initializeBundler } from './bundler';\nimport { Compiler } from './compiler';\nimport { AutomationPanel, ScriptContainer, ScriptSettings, ScriptSettingsPanel } from './components';\nimport meta, { SCRIPT_PLUGIN } from './meta';\nimport { templates } from './templates';\nimport translations from './translations';\nimport { FunctionType, ScriptAction, type ScriptPluginProvides, ScriptType } from './types';\n\nexport const ScriptPlugin = (): PluginDefinition<ScriptPluginProvides> => {\n const compiler = new Compiler();\n\n return {\n meta,\n initialize: async () => {\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 provides: {\n settings: {},\n metadata: {\n records: {\n [ScriptType.typename]: {\n placeholder: ['object title placeholder', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--code--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (script: ScriptType) => loadObjectReferences(script, (script) => [script.source]),\n },\n },\n },\n translations,\n echo: {\n schema: [ScriptType, FunctionType],\n },\n space: {\n onSpaceCreate: {\n label: ['create object label', { ns: SCRIPT_PLUGIN }],\n action: ScriptAction.CREATE,\n },\n },\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: ScriptAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${SCRIPT_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: SCRIPT_PLUGIN, action: ScriptAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create object label', { ns: SCRIPT_PLUGIN }],\n icon: 'ph--code--regular',\n testId: 'scriptPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'settings': {\n return data.plugin === meta.id ? <ScriptSettings settings={{}} /> : null;\n }\n\n case 'article': {\n if (data.object instanceof ScriptType) {\n return <ScriptContainer script={data.object} env={compiler.environment} />;\n }\n break;\n }\n\n case 'complementary--automation': {\n if (data.subject instanceof ScriptType) {\n return {\n node: <AutomationPanel subject={data.subject as any} />,\n disposition: 'hoist',\n };\n }\n break;\n }\n\n case 'complementary--settings': {\n if (data.subject instanceof ScriptType) {\n return <ScriptSettingsPanel script={data.subject} />;\n }\n break;\n }\n }\n\n return null;\n },\n },\n intent: {\n resolver: (intent) => {\n switch (intent.action) {\n case ScriptAction.CREATE: {\n return {\n data: create(ScriptType, {\n source: create(TextType, {\n content: templates[0].source,\n }),\n }),\n };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n createDefaultMapFromCDN,\n createSystem,\n createVirtualTypeScriptEnvironment,\n type VirtualTypeScriptEnvironment,\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() {\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) {\n invariant(this._fsMap, 'File system map not initialized.');\n this.environment.createFile(fileName, content);\n }\n\n compile(fileName: string) {\n return this.environment.languageService.getEmitOutput(fileName);\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './ScriptSettings';\nexport * from './ScriptSettingsPanel';\n\nexport const AutomationPanel = lazy(() => import('./AutomationPanel'));\nexport const ScriptContainer = lazy(() => import('./ScriptContainer'));\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, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormInput } from '@dxos/react-ui-data';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\nimport { type ScriptSettingsProps } from '../../types';\n\nexport const ScriptSettings = ({ settings }: { settings: ScriptSettingsProps }) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\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 <>\n <DeprecatedFormInput label={t('authenticate action label')}>\n <Button onClick={handleAuthenticate}>{t('authenticate button label')}</Button>\n </DeprecatedFormInput>\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getMeta, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Button, Icon, Input, useControlledValue, useTranslation } from '@dxos/react-ui';\n\nimport { getInvocationUrl, getUserFunctionUrlInMetadata } from '../edge';\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { FunctionType, type ScriptType } from '../types';\n\nexport type ScriptSettingsPanelProps = {\n script: ScriptType;\n};\n\nexport const ScriptSettingsPanel = ({ script }: ScriptSettingsPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const client = useClient();\n const space = getSpace(script);\n // TODO(dmaretskyi): Parametric query.\n const [fn] = useQuery(\n space,\n Filter.schema(FunctionType, (fn) => fn.source === script),\n );\n\n const handleNameChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n script.name = event.target.value;\n },\n [script],\n );\n\n const [binding, setBinding] = useControlledValue(fn?.binding ?? '');\n const handleBindingChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setBinding(event.target.value);\n },\n [setBinding],\n );\n const handleBindingBlur = useCallback(() => {\n fn.binding = binding;\n }, [fn, binding]);\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 // TODO(wittjosiah): Use ClipboardProvider.\n const handleCopy = useCallback(() => functionUrl && navigator.clipboard.writeText(functionUrl), [functionUrl]);\n\n return (\n <div role='form' className='flex flex-col w-full p-2 gap-4'>\n <Input.Root>\n <div role='none' className='flex flex-col gap-1'>\n <Input.Label>{t('name label')}</Input.Label>\n <Input.TextInput\n placeholder={t('object title placeholder')}\n value={script.name ?? ''}\n onChange={handleNameChange}\n />\n </div>\n </Input.Root>\n {fn && (\n <>\n <hr className='border-separator' />\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 <Button onClick={handleCopy}>\n <Icon icon='ph--copy--regular' size={4} />\n </Button>\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 </>\n )}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SCRIPT_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [SCRIPT_PLUGIN]: {\n 'plugin name': 'Scripts',\n 'object title placeholder': 'New script',\n 'create object label': 'Create script',\n 'create stack section label': 'Create script',\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': 'BINDING',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { ScriptPlugin } from './ScriptPlugin';\n\nexport default ScriptPlugin;\n\nexport * from './bundler';\nexport * from './compiler';\nexport * from './components';\nexport * from './types';\n\nexport * from './ScriptPlugin';\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_client", "import_echo", "import_react_ui", "defaultOptions", "lib", "target", "ts", "ScriptTarget", "ES2022", "Compiler", "constructor", "_options", "initialize", "_env", "_fsMap", "createDefaultMapFromCDN", "system", "createSystem", "createVirtualTypeScriptEnvironment", "environment", "invariant", "setFile", "fileName", "content", "createFile", "compile", "languageService", "getEmitOutput", "ScriptSettings", "settings", "t", "useTranslation", "SCRIPT_PLUGIN", "client", "useClient", "handleAuthenticate", "identityKey", "halo", "identity", "get", "writeCredentials", "issuer", "issuanceDate", "Date", "subject", "id", "assertion", "serverName", "serverKey", "capabilities", "React", "DeprecatedFormInput", "label", "Button", "onClick", "ScriptSettingsPanel", "script", "space", "getSpace", "fn", "useQuery", "Filter", "schema", "FunctionType", "source", "handleNameChange", "useCallback", "event", "name", "value", "binding", "setBinding", "useControlledValue", "handleBindingChange", "handleBindingBlur", "functionPath", "getUserFunctionUrlInMetadata", "getMeta", "functionUrl", "getInvocationUrl", "config", "values", "runtime", "services", "edge", "url", "spaceId", "handleCopy", "navigator", "clipboard", "writeText", "div", "role", "className", "Input", "Root", "Label", "TextInput", "placeholder", "onChange", "hr", "h2", "disabled", "Icon", "icon", "size", "onBlur", "AutomationPanel", "lazy", "ScriptContainer", "ScriptPlugin", "compiler", "meta", "initializeBundler", "wasmUrl", "provides", "metadata", "records", "ScriptType", "typename", "ns", "loadReferences", "loadObjectReferences", "translations", "echo", "onSpaceCreate", "action", "ScriptAction", "CREATE", "graph", "builder", "plugins", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "objectId", "spaces", "find", "object", "db", "getObjectById", "data", "plugin", "NavigationAction", "OPEN", "properties", "testId", "surface", "component", "env", "disposition", "resolver", "create", "TextType", "templates"]
7
7
  }
@@ -18,11 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var meta_exports = {};
20
20
  __export(meta_exports, {
21
- SCRIPT_PLUGIN: () => import_chunk_4VMNBXWU.SCRIPT_PLUGIN,
22
- default: () => import_chunk_4VMNBXWU.meta_default
21
+ SCRIPT_PLUGIN: () => import_chunk_6LYX73ZT.SCRIPT_PLUGIN,
22
+ default: () => import_chunk_6LYX73ZT.meta_default
23
23
  });
24
24
  module.exports = __toCommonJS(meta_exports);
25
- var import_chunk_4VMNBXWU = require("./chunk-4VMNBXWU.cjs");
25
+ var import_chunk_6LYX73ZT = require("./chunk-6LYX73ZT.cjs");
26
26
  // Annotate the CommonJS export names for ESM import in node:
27
27
  0 && (module.exports = {
28
28
  SCRIPT_PLUGIN
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["meta.cjs"],
4
- "sourcesContent": ["import {\n SCRIPT_PLUGIN,\n meta_default\n} from \"./chunk-4VMNBXWU.cjs\";\nexport {\n SCRIPT_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
4
+ "sourcesContent": ["import {\n SCRIPT_PLUGIN,\n meta_default\n} from \"./chunk-6LYX73ZT.cjs\";\nexport {\n SCRIPT_PLUGIN,\n meta_default as default\n};\n//# sourceMappingURL=meta.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
6
6
  "names": []
7
7
  }