@dxos/plugin-script 0.6.8-main.046e6cf

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 (136) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +4 -0
  3. package/dist/lib/browser/ScriptEditor-6Q7HFLJ6.mjs +220 -0
  4. package/dist/lib/browser/ScriptEditor-6Q7HFLJ6.mjs.map +7 -0
  5. package/dist/lib/browser/TypescriptEditor-HP35MTEQ.mjs +9 -0
  6. package/dist/lib/browser/TypescriptEditor-HP35MTEQ.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-2EM5Y66A.mjs +60 -0
  8. package/dist/lib/browser/chunk-2EM5Y66A.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-EZ7PWOLU.mjs +235 -0
  10. package/dist/lib/browser/chunk-EZ7PWOLU.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-JBACGDOJ.mjs +21 -0
  12. package/dist/lib/browser/chunk-JBACGDOJ.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-Z72YKDJ2.mjs +31 -0
  14. package/dist/lib/browser/chunk-Z72YKDJ2.mjs.map +7 -0
  15. package/dist/lib/browser/edge/index.mjs +19 -0
  16. package/dist/lib/browser/edge/index.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +395 -0
  18. package/dist/lib/browser/index.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -0
  20. package/dist/lib/browser/meta.mjs +9 -0
  21. package/dist/lib/browser/meta.mjs.map +7 -0
  22. package/dist/lib/browser/types/index.mjs +10 -0
  23. package/dist/lib/browser/types/index.mjs.map +7 -0
  24. package/dist/lib/node/ScriptEditor-AIVKL2NX.cjs +239 -0
  25. package/dist/lib/node/ScriptEditor-AIVKL2NX.cjs.map +7 -0
  26. package/dist/lib/node/TypescriptEditor-PWOAN5RQ.cjs +30 -0
  27. package/dist/lib/node/TypescriptEditor-PWOAN5RQ.cjs.map +7 -0
  28. package/dist/lib/node/chunk-4VMNBXWU.cjs +54 -0
  29. package/dist/lib/node/chunk-4VMNBXWU.cjs.map +7 -0
  30. package/dist/lib/node/chunk-6Y2S6SGK.cjs +49 -0
  31. package/dist/lib/node/chunk-6Y2S6SGK.cjs.map +7 -0
  32. package/dist/lib/node/chunk-LWUBFTPA.cjs +253 -0
  33. package/dist/lib/node/chunk-LWUBFTPA.cjs.map +7 -0
  34. package/dist/lib/node/chunk-SLV3SDZE.cjs +93 -0
  35. package/dist/lib/node/chunk-SLV3SDZE.cjs.map +7 -0
  36. package/dist/lib/node/edge/index.cjs +41 -0
  37. package/dist/lib/node/edge/index.cjs.map +7 -0
  38. package/dist/lib/node/index.cjs +417 -0
  39. package/dist/lib/node/index.cjs.map +7 -0
  40. package/dist/lib/node/meta.cjs +30 -0
  41. package/dist/lib/node/meta.cjs.map +7 -0
  42. package/dist/lib/node/meta.json +1 -0
  43. package/dist/lib/node/types/index.cjs +32 -0
  44. package/dist/lib/node/types/index.cjs.map +7 -0
  45. package/dist/types/src/ScriptPlugin.d.ts +7 -0
  46. package/dist/types/src/ScriptPlugin.d.ts.map +1 -0
  47. package/dist/types/src/compiler/compiler.d.ts +38 -0
  48. package/dist/types/src/compiler/compiler.d.ts.map +1 -0
  49. package/dist/types/src/compiler/compiler.test.d.ts +2 -0
  50. package/dist/types/src/compiler/compiler.test.d.ts.map +1 -0
  51. package/dist/types/src/compiler/index.d.ts +2 -0
  52. package/dist/types/src/compiler/index.d.ts.map +1 -0
  53. package/dist/types/src/components/ScriptBlock/FrameContainer/FrameContainer.d.ts +12 -0
  54. package/dist/types/src/components/ScriptBlock/FrameContainer/FrameContainer.d.ts.map +1 -0
  55. package/dist/types/src/components/ScriptBlock/FrameContainer/frame.d.ts +2 -0
  56. package/dist/types/src/components/ScriptBlock/FrameContainer/frame.d.ts.map +1 -0
  57. package/dist/types/src/components/ScriptBlock/FrameContainer/index.d.ts +2 -0
  58. package/dist/types/src/components/ScriptBlock/FrameContainer/index.d.ts.map +1 -0
  59. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts +18 -0
  60. package/dist/types/src/components/ScriptBlock/ScriptBlock.d.ts.map +1 -0
  61. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts +14 -0
  62. package/dist/types/src/components/ScriptBlock/ScriptBlock.stories.d.ts.map +1 -0
  63. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.d.ts +15 -0
  64. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.d.ts.map +1 -0
  65. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.stories.d.ts +13 -0
  66. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.stories.d.ts.map +1 -0
  67. package/dist/types/src/components/ScriptBlock/Splitter/index.d.ts +2 -0
  68. package/dist/types/src/components/ScriptBlock/Splitter/index.d.ts.map +1 -0
  69. package/dist/types/src/components/ScriptBlock/index.d.ts +2 -0
  70. package/dist/types/src/components/ScriptBlock/index.d.ts.map +1 -0
  71. package/dist/types/src/components/ScriptEditor.d.ts +9 -0
  72. package/dist/types/src/components/ScriptEditor.d.ts.map +1 -0
  73. package/dist/types/src/components/Toolbar.d.ts +11 -0
  74. package/dist/types/src/components/Toolbar.d.ts.map +1 -0
  75. package/dist/types/src/components/Toolbar.stories.d.ts +16 -0
  76. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -0
  77. package/dist/types/src/components/TypescriptEditor.d.ts +10 -0
  78. package/dist/types/src/components/TypescriptEditor.d.ts.map +1 -0
  79. package/dist/types/src/components/TypescriptEditor.stories.d.ts +13 -0
  80. package/dist/types/src/components/TypescriptEditor.stories.d.ts.map +1 -0
  81. package/dist/types/src/components/index.d.ts +4 -0
  82. package/dist/types/src/components/index.d.ts.map +1 -0
  83. package/dist/types/src/edge/codec.d.ts +4 -0
  84. package/dist/types/src/edge/codec.d.ts.map +1 -0
  85. package/dist/types/src/edge/functions.d.ts +23 -0
  86. package/dist/types/src/edge/functions.d.ts.map +1 -0
  87. package/dist/types/src/edge/header-codec.d.ts +24 -0
  88. package/dist/types/src/edge/header-codec.d.ts.map +1 -0
  89. package/dist/types/src/edge/hub-protocol.d.ts +6 -0
  90. package/dist/types/src/edge/hub-protocol.d.ts.map +1 -0
  91. package/dist/types/src/edge/index.d.ts +5 -0
  92. package/dist/types/src/edge/index.d.ts.map +1 -0
  93. package/dist/types/src/index.d.ts +7 -0
  94. package/dist/types/src/index.d.ts.map +1 -0
  95. package/dist/types/src/meta.d.ts +15 -0
  96. package/dist/types/src/meta.d.ts.map +1 -0
  97. package/dist/types/src/translations.d.ts +19 -0
  98. package/dist/types/src/translations.d.ts.map +1 -0
  99. package/dist/types/src/types/index.d.ts +3 -0
  100. package/dist/types/src/types/index.d.ts.map +1 -0
  101. package/dist/types/src/types/script.d.ts +26 -0
  102. package/dist/types/src/types/script.d.ts.map +1 -0
  103. package/dist/types/src/types/types.d.ts +8 -0
  104. package/dist/types/src/types/types.d.ts.map +1 -0
  105. package/package.json +120 -0
  106. package/src/ScriptPlugin.tsx +137 -0
  107. package/src/compiler/compiler.test.ts +17 -0
  108. package/src/compiler/compiler.ts +210 -0
  109. package/src/compiler/index.ts +5 -0
  110. package/src/components/ScriptBlock/FrameContainer/FrameContainer.tsx +82 -0
  111. package/src/components/ScriptBlock/FrameContainer/frame.html +25 -0
  112. package/src/components/ScriptBlock/FrameContainer/frame.tsx +51 -0
  113. package/src/components/ScriptBlock/FrameContainer/index.ts +5 -0
  114. package/src/components/ScriptBlock/ScriptBlock.stories.tsx +64 -0
  115. package/src/components/ScriptBlock/ScriptBlock.tsx +132 -0
  116. package/src/components/ScriptBlock/Splitter/Splitter.stories.tsx +37 -0
  117. package/src/components/ScriptBlock/Splitter/Splitter.tsx +52 -0
  118. package/src/components/ScriptBlock/Splitter/index.ts +5 -0
  119. package/src/components/ScriptBlock/index.ts +5 -0
  120. package/src/components/ScriptEditor.tsx +113 -0
  121. package/src/components/Toolbar.stories.tsx +19 -0
  122. package/src/components/Toolbar.tsx +163 -0
  123. package/src/components/TypescriptEditor.stories.tsx +63 -0
  124. package/src/components/TypescriptEditor.tsx +66 -0
  125. package/src/components/index.ts +8 -0
  126. package/src/edge/codec.ts +13 -0
  127. package/src/edge/functions.ts +128 -0
  128. package/src/edge/header-codec.ts +97 -0
  129. package/src/edge/hub-protocol.ts +27 -0
  130. package/src/edge/index.ts +10 -0
  131. package/src/index.ts +13 -0
  132. package/src/meta.tsx +19 -0
  133. package/src/translations.ts +25 -0
  134. package/src/types/index.ts +6 -0
  135. package/src/types/script.ts +16 -0
  136. package/src/types/types.tsx +27 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var ScriptEditor_AIVKL2NX_exports = {};
30
+ __export(ScriptEditor_AIVKL2NX_exports, {
31
+ ScriptEditor: () => ScriptEditor,
32
+ default: () => ScriptEditor_default
33
+ });
34
+ module.exports = __toCommonJS(ScriptEditor_AIVKL2NX_exports);
35
+ var import_chunk_LWUBFTPA = require("./chunk-LWUBFTPA.cjs");
36
+ var import_chunk_4VMNBXWU = require("./chunk-4VMNBXWU.cjs");
37
+ var import_chunk_SLV3SDZE = require("./chunk-SLV3SDZE.cjs");
38
+ var import_react = __toESM(require("react"));
39
+ var import_log = require("@dxos/log");
40
+ var import_react_client = require("@dxos/react-client");
41
+ var import_echo = require("@dxos/react-client/echo");
42
+ var import_halo = require("@dxos/react-client/halo");
43
+ var import_react_ui = require("@dxos/react-ui");
44
+ var import_react_ui_editor = require("@dxos/react-ui-editor");
45
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
46
+ var import_react2 = require("@phosphor-icons/react");
47
+ var import_react3 = __toESM(require("react"));
48
+ var import_react_ui2 = require("@dxos/react-ui");
49
+ var import_react_ui_theme2 = require("@dxos/react-ui-theme");
50
+ var Toolbar = ({ binding, onBindingChange, deployed, onDeploy, functionUrl, error }) => {
51
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_4VMNBXWU.SCRIPT_PLUGIN);
52
+ const [pending, setPending] = (0, import_react3.useState)(false);
53
+ const [editing, setEditing] = (0, import_react3.useState)(false);
54
+ const inputRef = (0, import_react3.useRef)(null);
55
+ const handleEdit = () => {
56
+ setEditing(true);
57
+ inputRef.current?.focus();
58
+ };
59
+ const handleSave = () => {
60
+ setEditing(false);
61
+ onBindingChange(inputRef.current?.value || "");
62
+ };
63
+ const handleCancel = () => {
64
+ setEditing(false);
65
+ };
66
+ const handleCopyLink = async () => {
67
+ if (!functionUrl) {
68
+ return;
69
+ }
70
+ await navigator.clipboard.writeText(functionUrl);
71
+ };
72
+ const handleDeploy = async () => {
73
+ setPending(true);
74
+ await onDeploy?.();
75
+ setPending(false);
76
+ };
77
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.DensityProvider, {
78
+ density: "fine"
79
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.ElevationProvider, {
80
+ elevation: "chrome"
81
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Toolbar.Root, {
82
+ classNames: "p-1 is-full shrink-0 overflow-x-auto overflow-y-hidden",
83
+ style: {
84
+ contain: "layout"
85
+ }
86
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Input.Label, null, t("binding label")), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Input.TextInput, {
87
+ ref: inputRef,
88
+ defaultValue: binding,
89
+ disabled: !editing,
90
+ classNames: "!is-auto"
91
+ }), editing ? /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Button, {
92
+ variant: "ghost",
93
+ onClick: handleCancel
94
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react2.X, {
95
+ className: (0, import_react_ui_theme2.getSize)(4)
96
+ })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Button, {
97
+ variant: "ghost",
98
+ onClick: handleSave
99
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react2.Check, {
100
+ className: (0, import_react_ui_theme2.getSize)(4)
101
+ }))) : /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, {
102
+ asChild: true
103
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Button, {
104
+ variant: "ghost",
105
+ onClick: handleEdit
106
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react2.PencilSimple, {
107
+ className: (0, import_react_ui_theme2.getSize)(4)
108
+ }))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null), t("edit binding label"))))), /* @__PURE__ */ import_react3.default.createElement("div", {
109
+ role: "separator",
110
+ className: "grow"
111
+ }), error ? /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, null, /* @__PURE__ */ import_react3.default.createElement(import_react2.WarningCircle, {
112
+ className: (0, import_react_ui_theme2.getSize)(4)
113
+ })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null), error))) : deployed ? /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, null, /* @__PURE__ */ import_react3.default.createElement(import_react2.Checks, {
114
+ className: (0, import_react_ui_theme2.getSize)(4)
115
+ })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null), t("deployed label")))) : null, functionUrl && /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, {
116
+ asChild: true
117
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Toolbar.Button, {
118
+ variant: "ghost",
119
+ onClick: handleCopyLink
120
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react2.Link, {
121
+ className: (0, import_react_ui_theme2.getSize)(4)
122
+ }))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null), t("copy link label")))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Trigger, {
123
+ asChild: true
124
+ }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Toolbar.Button, {
125
+ variant: "ghost",
126
+ onClick: handleDeploy,
127
+ disabled: pending
128
+ }, pending ? /* @__PURE__ */ import_react3.default.createElement(import_react2.CircleNotch, {
129
+ className: (0, import_react_ui_theme2.mx)("spinner", (0, import_react_ui_theme2.getSize)(4))
130
+ }) : /* @__PURE__ */ import_react3.default.createElement(import_react2.UploadSimple, {
131
+ className: (0, import_react_ui_theme2.getSize)(4)
132
+ }))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Tooltip.Arrow, null), pending ? t("pending label") : t("deploy label")))))));
133
+ };
134
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/components/ScriptEditor.tsx";
135
+ var ScriptEditor = ({ script, role }) => {
136
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_4VMNBXWU.SCRIPT_PLUGIN);
137
+ const client = (0, import_react_client.useClient)();
138
+ const identity = (0, import_halo.useIdentity)();
139
+ const space = (0, import_echo.getSpace)(script);
140
+ const extensions = (0, import_react.useMemo)(() => [
141
+ (0, import_react_ui_editor.listener)({
142
+ onChange: (text) => {
143
+ if (script.source && script.source?.content !== text) {
144
+ script.changed = true;
145
+ }
146
+ }
147
+ }),
148
+ (0, import_react_ui_editor.createDataExtensions)({
149
+ id: script.id,
150
+ text: script.source && (0, import_echo.createDocAccessor)(script.source, [
151
+ "content"
152
+ ]),
153
+ space,
154
+ identity
155
+ })
156
+ ], [
157
+ script,
158
+ script.source,
159
+ space,
160
+ identity
161
+ ]);
162
+ const initialValue = (0, import_react.useMemo)(() => script.source?.content, [
163
+ script.source
164
+ ]);
165
+ const existingFunctionUrl = (0, import_chunk_LWUBFTPA.getUserFunctionUrlInMetadata)((0, import_echo.getMeta)(script));
166
+ const [error, setError] = (0, import_react.useState)();
167
+ const handleBindingChange = (0, import_react.useCallback)((binding) => {
168
+ script.binding = binding;
169
+ }, [
170
+ script
171
+ ]);
172
+ const handleDeploy = (0, import_react.useCallback)(async () => {
173
+ if (!script.source || !identity) {
174
+ return;
175
+ }
176
+ setError(void 0);
177
+ try {
178
+ const existingFunctionId = existingFunctionUrl?.split("/").at(-1);
179
+ const ownerDid = existingFunctionUrl?.split("/").at(-2) ?? (0, import_chunk_LWUBFTPA.publicKeyToDid)(identity.identityKey);
180
+ const { result, functionId, functionVersionNumber, errorMessage } = await (0, import_chunk_LWUBFTPA.uploadWorkerFunction)({
181
+ clientConfig: client.config,
182
+ halo: client.halo,
183
+ ownerDid,
184
+ functionId: existingFunctionId,
185
+ name: script.name,
186
+ source: script.source.content
187
+ });
188
+ if (result !== "success" || functionId === void 0) {
189
+ throw new Error(errorMessage);
190
+ }
191
+ import_log.log.info("function uploaded", {
192
+ functionId,
193
+ functionVersionNumber
194
+ }, {
195
+ F: __dxlog_file,
196
+ L: 88,
197
+ S: void 0,
198
+ C: (f, a) => f(...a)
199
+ });
200
+ const meta = (0, import_echo.getMeta)(script);
201
+ (0, import_chunk_LWUBFTPA.setUserFunctionUrlInMetadata)(meta, `/${ownerDid}/${functionId}`);
202
+ script.changed = false;
203
+ } catch (err) {
204
+ import_log.log.catch(err, void 0, {
205
+ F: __dxlog_file,
206
+ L: 93,
207
+ S: void 0,
208
+ C: (f, a) => f(...a)
209
+ });
210
+ setError(t("upload failed label"));
211
+ }
212
+ }, [
213
+ existingFunctionUrl,
214
+ script,
215
+ script.name,
216
+ script.source
217
+ ]);
218
+ return /* @__PURE__ */ import_react.default.createElement("div", {
219
+ role: "none",
220
+ className: (0, import_react_ui_theme.mx)(role === "article" && "row-span-2", "is-full pli-2")
221
+ }, /* @__PURE__ */ import_react.default.createElement(Toolbar, {
222
+ binding: script.binding ?? "",
223
+ onBindingChange: handleBindingChange,
224
+ deployed: Boolean(existingFunctionUrl) && !script.changed,
225
+ onDeploy: handleDeploy,
226
+ functionUrl: existingFunctionUrl,
227
+ error
228
+ }), /* @__PURE__ */ import_react.default.createElement(import_chunk_SLV3SDZE.TypescriptEditor, {
229
+ id: script.id,
230
+ initialValue,
231
+ extensions
232
+ }));
233
+ };
234
+ var ScriptEditor_default = ScriptEditor;
235
+ // Annotate the CommonJS export names for ESM import in node:
236
+ 0 && (module.exports = {
237
+ ScriptEditor
238
+ });
239
+ //# sourceMappingURL=ScriptEditor-AIVKL2NX.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ScriptEditor.tsx", "../../../src/components/Toolbar.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type DID } from 'iso-did/types';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { useClient } from '@dxos/react-client';\nimport { createDocAccessor, getMeta, getSpace } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { createDataExtensions, listener } from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { Toolbar } from './Toolbar';\nimport { TypescriptEditor } from './TypescriptEditor';\nimport {\n getUserFunctionUrlInMetadata,\n publicKeyToDid,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction,\n} from '../edge';\nimport { SCRIPT_PLUGIN } from '../meta';\nimport { type ScriptType } from '../types';\n\nexport type ScriptEditorProps = {\n script: ScriptType;\n role?: string;\n};\n\nexport const ScriptEditor = ({ script, role }: ScriptEditorProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const client = useClient();\n const identity = useIdentity();\n const space = getSpace(script);\n const extensions = useMemo(\n () => [\n listener({\n onChange: (text) => {\n if (script.source && script.source?.content !== text) {\n script.changed = true;\n }\n },\n }),\n createDataExtensions({\n id: script.id,\n text: script.source && createDocAccessor(script.source, ['content']),\n space,\n identity,\n }),\n ],\n [script, script.source, space, identity],\n );\n const initialValue = useMemo(() => script.source?.content, [script.source]);\n const existingFunctionUrl = getUserFunctionUrlInMetadata(getMeta(script));\n const [error, setError] = useState<string>();\n\n const handleBindingChange = useCallback(\n (binding: string) => {\n script.binding = binding;\n },\n [script],\n );\n\n const handleDeploy = useCallback(async () => {\n if (!script.source || !identity) {\n return;\n }\n\n setError(undefined);\n\n try {\n const existingFunctionId = existingFunctionUrl?.split('/').at(-1);\n const ownerDid = (existingFunctionUrl?.split('/').at(-2) as DID) ?? publicKeyToDid(identity.identityKey);\n\n const { result, functionId, functionVersionNumber, errorMessage } = await uploadWorkerFunction({\n clientConfig: client.config,\n halo: client.halo,\n ownerDid,\n functionId: existingFunctionId,\n name: script.name,\n source: script.source.content,\n });\n if (result !== 'success' || functionId === undefined) {\n throw new Error(errorMessage);\n }\n log.info('function uploaded', { functionId, functionVersionNumber });\n const meta = getMeta(script);\n setUserFunctionUrlInMetadata(meta, `/${ownerDid}/${functionId}`);\n script.changed = false;\n } catch (err: any) {\n log.catch(err);\n setError(t('upload failed label'));\n }\n }, [existingFunctionUrl, script, script.name, script.source]);\n\n return (\n <div role='none' className={mx(role === 'article' && 'row-span-2', 'is-full pli-2')}>\n <Toolbar\n binding={script.binding ?? ''}\n onBindingChange={handleBindingChange}\n deployed={Boolean(existingFunctionUrl) && !script.changed}\n onDeploy={handleDeploy}\n functionUrl={existingFunctionUrl}\n error={error}\n />\n <TypescriptEditor id={script.id} initialValue={initialValue} extensions={extensions} />\n </div>\n );\n};\n\nexport default ScriptEditor;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Check, Checks, CircleNotch, Link, PencilSimple, UploadSimple, WarningCircle, X } from '@phosphor-icons/react';\nimport React, { useRef, useState } from 'react';\n\nimport {\n Button,\n DensityProvider,\n ElevationProvider,\n Input,\n Toolbar as NaturalToolbar,\n Tooltip,\n useTranslation,\n} from '@dxos/react-ui';\nimport { getSize, mx } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport type ToolbarProps = {\n binding: string;\n onBindingChange: (binding: string) => void;\n deployed?: boolean;\n onDeploy?: () => Promise<void>;\n functionUrl?: string;\n error?: string;\n};\n\nexport const Toolbar = ({ binding, onBindingChange, deployed, onDeploy, functionUrl, error }: ToolbarProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n const [pending, setPending] = useState(false);\n const [editing, setEditing] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleEdit = () => {\n setEditing(true);\n inputRef.current?.focus();\n };\n\n const handleSave = () => {\n setEditing(false);\n onBindingChange(inputRef.current?.value || '');\n };\n\n const handleCancel = () => {\n setEditing(false);\n };\n\n const handleCopyLink = async () => {\n if (!functionUrl) {\n return;\n }\n\n await navigator.clipboard.writeText(functionUrl);\n };\n\n const handleDeploy = async () => {\n setPending(true);\n await onDeploy?.();\n setPending(false);\n };\n\n return (\n <DensityProvider density='fine'>\n <ElevationProvider elevation='chrome'>\n <NaturalToolbar.Root\n classNames='p-1 is-full shrink-0 overflow-x-auto overflow-y-hidden'\n style={{ contain: 'layout' }}\n >\n {/* TODO(wittjosiah): Binding input shouldn't be in the toolbar. */}\n <Input.Root>\n <Input.Label>{t('binding label')}</Input.Label>\n <Input.TextInput ref={inputRef} defaultValue={binding} disabled={!editing} classNames='!is-auto' />\n {editing ? (\n <>\n <Button variant='ghost' onClick={handleCancel}>\n <X className={getSize(4)} />\n </Button>\n <Button variant='ghost' onClick={handleSave}>\n <Check className={getSize(4)} />\n </Button>\n </>\n ) : (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button variant='ghost' onClick={handleEdit}>\n <PencilSimple className={getSize(4)} />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content>\n <Tooltip.Arrow />\n {t('edit binding label')}\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n )}\n </Input.Root>\n <div role='separator' className='grow' />\n {/* TODO(wittjosiah): Better treatment for status indicators in toolbar? */}\n {error ? (\n <Tooltip.Root>\n <Tooltip.Trigger>\n <WarningCircle className={getSize(4)} />\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content>\n <Tooltip.Arrow />\n {error}\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n ) : deployed ? (\n <Tooltip.Root>\n <Tooltip.Trigger>\n <Checks className={getSize(4)} />\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content>\n <Tooltip.Arrow />\n {t('deployed label')}\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n ) : null}\n {functionUrl && (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <NaturalToolbar.Button variant='ghost' onClick={handleCopyLink}>\n <Link className={getSize(4)} />\n </NaturalToolbar.Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content>\n <Tooltip.Arrow />\n {t('copy link label')}\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n )}\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <NaturalToolbar.Button variant='ghost' onClick={handleDeploy} disabled={pending}>\n {pending ? (\n <CircleNotch className={mx('spinner', getSize(4))} />\n ) : (\n <UploadSimple className={getSize(4)} />\n )}\n </NaturalToolbar.Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content>\n <Tooltip.Arrow />\n {pending ? t('pending label') : t('deploy label')}\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </NaturalToolbar.Root>\n </ElevationProvider>\n </DensityProvider>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_ui", "import_react_ui_theme", "Toolbar", "binding", "onBindingChange", "deployed", "onDeploy", "functionUrl", "error", "t", "useTranslation", "SCRIPT_PLUGIN", "pending", "setPending", "useState", "editing", "setEditing", "inputRef", "useRef", "handleEdit", "current", "focus", "handleSave", "value", "handleCancel", "handleCopyLink", "navigator", "clipboard", "writeText", "handleDeploy", "React", "DensityProvider", "density", "ElevationProvider", "elevation", "NaturalToolbar", "Root", "classNames", "style", "contain", "Input", "Label", "TextInput", "ref", "defaultValue", "disabled", "Button", "variant", "onClick", "X", "className", "getSize", "Check", "Tooltip", "Trigger", "asChild", "PencilSimple", "Portal", "Content", "Arrow", "div", "role", "WarningCircle", "Checks", "Link", "CircleNotch", "mx", "UploadSimple", "ScriptEditor", "script", "client", "useClient", "identity", "useIdentity", "space", "getSpace", "extensions", "useMemo", "listener", "onChange", "text", "source", "content", "changed", "createDataExtensions", "id", "createDocAccessor", "initialValue", "existingFunctionUrl", "getUserFunctionUrlInMetadata", "getMeta", "setError", "handleBindingChange", "useCallback", "undefined", "existingFunctionId", "split", "at", "ownerDid", "publicKeyToDid", "identityKey", "result", "functionId", "functionVersionNumber", "errorMessage", "uploadWorkerFunction", "clientConfig", "config", "halo", "name", "Error", "log", "info", "meta", "setUserFunctionUrlInMetadata", "err", "catch", "Boolean", "TypescriptEditor"]
7
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var TypescriptEditor_PWOAN5RQ_exports = {};
20
+ __export(TypescriptEditor_PWOAN5RQ_exports, {
21
+ TypescriptEditor: () => import_chunk_SLV3SDZE.TypescriptEditor,
22
+ default: () => import_chunk_SLV3SDZE.TypescriptEditor_default
23
+ });
24
+ module.exports = __toCommonJS(TypescriptEditor_PWOAN5RQ_exports);
25
+ var import_chunk_SLV3SDZE = require("./chunk-SLV3SDZE.cjs");
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ TypescriptEditor
29
+ });
30
+ //# sourceMappingURL=TypescriptEditor-PWOAN5RQ.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["TypescriptEditor-PWOAN5RQ.cjs"],
4
+ "sourcesContent": ["import {\n TypescriptEditor,\n TypescriptEditor_default\n} from \"./chunk-SLV3SDZE.cjs\";\nexport {\n TypescriptEditor,\n TypescriptEditor_default as default\n};\n//# sourceMappingURL=TypescriptEditor-PWOAN5RQ.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAGO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_4VMNBXWU_exports = {};
30
+ __export(chunk_4VMNBXWU_exports, {
31
+ SCRIPT_PLUGIN: () => SCRIPT_PLUGIN,
32
+ meta_default: () => meta_default
33
+ });
34
+ module.exports = __toCommonJS(chunk_4VMNBXWU_exports);
35
+ var import_react = require("@phosphor-icons/react");
36
+ var import_react2 = __toESM(require("react"));
37
+ var import_app_framework = require("@dxos/app-framework");
38
+ var SCRIPT_PLUGIN = "dxos.org/plugin/script";
39
+ var meta_default = (0, import_app_framework.pluginMeta)({
40
+ id: SCRIPT_PLUGIN,
41
+ name: "Scripts",
42
+ description: "Live code notebooks.",
43
+ tags: [
44
+ "experimental"
45
+ ],
46
+ iconComponent: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Code, props),
47
+ iconSymbol: "ph--code--regular"
48
+ });
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ SCRIPT_PLUGIN,
52
+ meta_default
53
+ });
54
+ //# sourceMappingURL=chunk-4VMNBXWU.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Code, type IconProps } from '@phosphor-icons/react';\nimport React from 'react';\n\nimport { pluginMeta } from '@dxos/app-framework';\n\nexport const SCRIPT_PLUGIN = 'dxos.org/plugin/script';\n\nexport default pluginMeta({\n id: SCRIPT_PLUGIN,\n name: 'Scripts',\n description: 'Live code notebooks.',\n tags: ['experimental'],\n iconComponent: (props: IconProps) => <Code {...props} />,\n iconSymbol: 'ph--code--regular',\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAqC;AACrC,IAAAA,gBAAkB;AAElB,2BAA2B;AAEpB,IAAMC,gBAAgB;AAE7B,IAAA,mBAAeC,iCAAW;EACxBC,IAAIF;EACJG,MAAM;EACNC,aAAa;EACbC,MAAM;IAAC;;EACPC,eAAe,CAACC,UAAqB,8BAAAC,QAAA,cAACC,mBAASF,KAAAA;EAC/CG,YAAY;AACd,CAAA;",
6
+ "names": ["import_react", "SCRIPT_PLUGIN", "pluginMeta", "id", "name", "description", "tags", "iconComponent", "props", "React", "Code", "iconSymbol"]
7
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var chunk_6Y2S6SGK_exports = {};
20
+ __export(chunk_6Y2S6SGK_exports, {
21
+ ScriptAction: () => ScriptAction,
22
+ ScriptType: () => ScriptType
23
+ });
24
+ module.exports = __toCommonJS(chunk_6Y2S6SGK_exports);
25
+ var import_chunk_4VMNBXWU = require("./chunk-4VMNBXWU.cjs");
26
+ var import_echo_schema = require("@dxos/echo-schema");
27
+ var import_types = require("@dxos/plugin-markdown/types");
28
+ var ScriptType = class extends (0, import_echo_schema.TypedObject)({
29
+ typename: "dxos.org/type/Script",
30
+ version: "0.1.0"
31
+ })({
32
+ name: import_echo_schema.S.optional(import_echo_schema.S.String),
33
+ source: (0, import_echo_schema.ref)(import_types.TextType),
34
+ // Local binding to a function name.
35
+ binding: import_echo_schema.S.optional(import_echo_schema.S.String),
36
+ // Whether source has changed since last deploy.
37
+ changed: import_echo_schema.S.optional(import_echo_schema.S.Boolean)
38
+ }) {
39
+ };
40
+ var ScriptAction;
41
+ (function(ScriptAction2) {
42
+ ScriptAction2[ScriptAction2["CREATE"] = `${import_chunk_4VMNBXWU.SCRIPT_PLUGIN}/create`] = "CREATE";
43
+ })(ScriptAction || (ScriptAction = {}));
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ ScriptAction,
47
+ ScriptType
48
+ });
49
+ //# sourceMappingURL=chunk-6Y2S6SGK.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/script.ts", "../../../src/types/types.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { ref, S, TypedObject } from '@dxos/echo-schema';\nimport { TextType } from '@dxos/plugin-markdown/types';\n\nexport class ScriptType extends TypedObject({ typename: 'dxos.org/type/Script', version: '0.1.0' })({\n name: S.optional(S.String),\n source: ref(TextType),\n\n // Local binding to a function name.\n binding: S.optional(S.String),\n // Whether source has changed since last deploy.\n changed: S.optional(S.Boolean),\n}) {}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport type { StackProvides } from '@dxos/plugin-stack';\n\nimport { SCRIPT_PLUGIN } from '../meta';\n\nexport enum ScriptAction {\n CREATE = `${SCRIPT_PLUGIN}/create`,\n}\n\nexport type ScriptPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides &\n StackProvides;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAoC;AACpC,mBAAyB;AAElB,IAAMA,aAAN,kBAAyBC,gCAAY;EAAEC,UAAU;EAAwBC,SAAS;AAAQ,CAAA,EAAG;EAClGC,MAAMC,qBAAEC,SAASD,qBAAEE,MAAM;EACzBC,YAAQC,wBAAIC,qBAAAA;;EAGZC,SAASN,qBAAEC,SAASD,qBAAEE,MAAM;;EAE5BK,SAASP,qBAAEC,SAASD,qBAAEQ,OAAO;AAC/B,CAAA,EAAA;AAAI;;UCCQC,eAAAA;0CACD,GAAGC,mCAAAA,SAAsB,IAAA;GADxBD,iBAAAA,eAAAA,CAAAA,EAAAA;",
6
+ "names": ["ScriptType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "source", "ref", "TextType", "binding", "changed", "Boolean", "ScriptAction", "SCRIPT_PLUGIN"]
7
+ }