@dxos/plugin-script 0.6.13 → 0.6.14-main.2b6a0f3

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 (202) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/browser/AutomationPanel-Y7LQYFOY.mjs +78 -0
  3. package/dist/lib/browser/AutomationPanel-Y7LQYFOY.mjs.map +7 -0
  4. package/dist/lib/browser/ScriptContainer-KGZGB5AY.mjs +423 -0
  5. package/dist/lib/browser/ScriptContainer-KGZGB5AY.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-RHEZ5LUU.mjs → chunk-C4AX55JL.mjs} +51 -2
  7. package/dist/lib/browser/{chunk-RHEZ5LUU.mjs.map → chunk-C4AX55JL.mjs.map} +4 -4
  8. package/dist/lib/browser/{chunk-DL5XQRQM.mjs → chunk-KHNN3F7J.mjs} +18 -6
  9. package/dist/lib/browser/chunk-KHNN3F7J.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-O4LWBX6A.mjs → chunk-KXVQPS4Y.mjs} +2 -2
  11. package/dist/lib/browser/{chunk-O4LWBX6A.mjs.map → chunk-KXVQPS4Y.mjs.map} +2 -2
  12. package/dist/lib/browser/chunk-SGQHRB4P.mjs +17 -0
  13. package/dist/lib/browser/chunk-SGQHRB4P.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-SP3Q7BCM.mjs +248 -0
  15. package/dist/lib/browser/chunk-SP3Q7BCM.mjs.map +7 -0
  16. package/dist/lib/browser/edge/index.mjs +5 -1
  17. package/dist/lib/browser/index.mjs +86 -61
  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-UNLRYLMA.cjs +100 -0
  23. package/dist/lib/node/AutomationPanel-UNLRYLMA.cjs.map +7 -0
  24. package/dist/lib/node/ScriptContainer-BIBIIJHP.cjs +425 -0
  25. package/dist/lib/node/ScriptContainer-BIBIIJHP.cjs.map +7 -0
  26. package/dist/lib/node/{chunk-5RBVXKXT.cjs → chunk-25PQE7FL.cjs} +6 -6
  27. package/dist/lib/node/{chunk-5RBVXKXT.cjs.map → chunk-25PQE7FL.cjs.map} +2 -2
  28. package/dist/lib/node/{TypescriptEditor-M3WWFIP2.cjs → chunk-EJC55SDD.cjs} +18 -8
  29. package/dist/lib/node/chunk-EJC55SDD.cjs.map +7 -0
  30. package/dist/lib/node/{chunk-PFH3ROEH.cjs → chunk-FY5KKL5N.cjs} +22 -8
  31. package/dist/lib/node/chunk-FY5KKL5N.cjs.map +7 -0
  32. package/dist/lib/node/{chunk-4GTXIELQ.cjs → chunk-NKWNQMJH.cjs} +44 -6
  33. package/dist/lib/node/chunk-NKWNQMJH.cjs.map +7 -0
  34. package/dist/lib/node/chunk-NWBG5QDN.cjs +277 -0
  35. package/dist/lib/node/chunk-NWBG5QDN.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 +103 -82
  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-D4NHEKM6.mjs +79 -0
  46. package/dist/lib/node-esm/AutomationPanel-D4NHEKM6.mjs.map +7 -0
  47. package/dist/lib/node-esm/ScriptContainer-4VQ46IAZ.mjs +424 -0
  48. package/dist/lib/node-esm/ScriptContainer-4VQ46IAZ.mjs.map +7 -0
  49. package/dist/lib/node-esm/chunk-7EDYDVQH.mjs +47 -0
  50. package/dist/lib/node-esm/chunk-7EDYDVQH.mjs.map +7 -0
  51. package/dist/lib/node-esm/chunk-EEDWDGZT.mjs +249 -0
  52. package/dist/lib/node-esm/chunk-EEDWDGZT.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-GO7HYFM5.mjs +19 -0
  54. package/dist/lib/node-esm/chunk-GO7HYFM5.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-YIISE4MX.mjs +280 -0
  58. package/dist/lib/node-esm/chunk-YIISE4MX.mjs.map +7 -0
  59. package/dist/lib/node-esm/edge/index.mjs +24 -0
  60. package/dist/lib/node-esm/index.mjs +317 -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.d.ts → DebugPanel/DebugPanel.d.ts} +2 -1
  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/Toolbar/Toolbar.d.ts +23 -0
  93. package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
  94. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +14 -0
  95. package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -0
  96. package/dist/types/src/components/Toolbar/index.d.ts +2 -0
  97. package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
  98. package/dist/types/src/components/{TypescriptEditor.d.ts → TypescriptEditor/TypescriptEditor.d.ts} +1 -2
  99. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.d.ts.map +1 -0
  100. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts +6 -0
  101. package/dist/types/src/components/TypescriptEditor/TypescriptEditor.stories.d.ts.map +1 -0
  102. package/dist/types/src/components/TypescriptEditor/index.d.ts +2 -0
  103. package/dist/types/src/components/TypescriptEditor/index.d.ts.map +1 -0
  104. package/dist/types/src/components/index.d.ts +3 -3
  105. package/dist/types/src/components/index.d.ts.map +1 -1
  106. package/dist/types/src/edge/functions.d.ts +7 -0
  107. package/dist/types/src/edge/functions.d.ts.map +1 -1
  108. package/dist/types/src/meta.d.ts +4 -9
  109. package/dist/types/src/meta.d.ts.map +1 -1
  110. package/dist/types/src/templates/chat.d.ts +6 -0
  111. package/dist/types/src/templates/chat.d.ts.map +1 -0
  112. package/dist/types/src/templates/chess.d.ts +6 -0
  113. package/dist/types/src/templates/chess.d.ts.map +1 -0
  114. package/dist/types/src/templates/echo.d.ts +6 -0
  115. package/dist/types/src/templates/echo.d.ts.map +1 -0
  116. package/dist/types/src/templates/email.d.ts +6 -0
  117. package/dist/types/src/templates/email.d.ts.map +1 -0
  118. package/dist/types/src/templates/forex.d.ts +6 -0
  119. package/dist/types/src/templates/forex.d.ts.map +1 -0
  120. package/dist/types/src/templates.d.ts +8 -0
  121. package/dist/types/src/templates.d.ts.map +1 -0
  122. package/dist/types/src/translations.d.ts +2 -0
  123. package/dist/types/src/translations.d.ts.map +1 -1
  124. package/dist/types/src/types/script.d.ts +4 -4
  125. package/dist/types/src/types/types.d.ts +4 -3
  126. package/dist/types/src/types/types.d.ts.map +1 -1
  127. package/package.json +62 -55
  128. package/src/ScriptPlugin.tsx +26 -39
  129. package/src/bundler/bundler.test.ts +12 -2
  130. package/src/components/AutomationPanel/AutomationPanel.tsx +101 -0
  131. package/src/components/AutomationPanel/index.ts +9 -0
  132. package/src/components/{DebugPanel.tsx → DebugPanel/DebugPanel.tsx} +83 -78
  133. package/src/components/DebugPanel/index.ts +5 -0
  134. package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/FrameContainer.tsx +1 -1
  135. package/src/components/ScriptBlock/ScriptBlock.stories.tsx +15 -14
  136. package/src/components/ScriptBlock/ScriptBlock.tsx +23 -51
  137. package/src/components/ScriptContainer.tsx +22 -0
  138. package/src/components/ScriptEditor.tsx +58 -55
  139. package/src/components/ScriptSettings/ScriptSettings.tsx +47 -0
  140. package/src/components/ScriptSettings/index.ts +5 -0
  141. package/src/components/Toolbar/Toolbar.stories.tsx +30 -0
  142. package/src/components/Toolbar/Toolbar.tsx +177 -0
  143. package/src/components/{ScriptBlock/Splitter → Toolbar}/index.ts +1 -1
  144. package/src/components/{TypescriptEditor.stories.tsx → TypescriptEditor/TypescriptEditor.stories.tsx} +17 -35
  145. package/src/components/{TypescriptEditor.tsx → TypescriptEditor/TypescriptEditor.tsx} +1 -3
  146. package/src/components/TypescriptEditor/index.ts +5 -0
  147. package/src/components/index.ts +5 -3
  148. package/src/edge/functions.ts +19 -0
  149. package/src/meta.ts +15 -0
  150. package/src/templates/chat.ts +102 -0
  151. package/src/templates/chess.ts +41 -0
  152. package/src/templates/echo.ts +15 -0
  153. package/src/templates/email.ts +38 -0
  154. package/src/templates/forex.ts +21 -0
  155. package/src/templates.ts +54 -0
  156. package/src/translations.ts +2 -0
  157. package/src/types/types.ts +9 -5
  158. package/dist/lib/browser/ScriptEditor-5Y3EROG3.mjs +0 -513
  159. package/dist/lib/browser/ScriptEditor-5Y3EROG3.mjs.map +0 -7
  160. package/dist/lib/browser/TypescriptEditor-GPE72Y6I.mjs +0 -9
  161. package/dist/lib/browser/chunk-DL5XQRQM.mjs.map +0 -7
  162. package/dist/lib/browser/chunk-JBACGDOJ.mjs +0 -21
  163. package/dist/lib/browser/chunk-JBACGDOJ.mjs.map +0 -7
  164. package/dist/lib/browser/chunk-MRGOT5RF.mjs +0 -78
  165. package/dist/lib/browser/chunk-MRGOT5RF.mjs.map +0 -7
  166. package/dist/lib/node/ScriptEditor-YCUQFWQM.cjs +0 -526
  167. package/dist/lib/node/ScriptEditor-YCUQFWQM.cjs.map +0 -7
  168. package/dist/lib/node/TypescriptEditor-M3WWFIP2.cjs.map +0 -7
  169. package/dist/lib/node/chunk-4GTXIELQ.cjs.map +0 -7
  170. package/dist/lib/node/chunk-4VMNBXWU.cjs +0 -54
  171. package/dist/lib/node/chunk-4VMNBXWU.cjs.map +0 -7
  172. package/dist/lib/node/chunk-IMLDKD5Y.cjs +0 -111
  173. package/dist/lib/node/chunk-IMLDKD5Y.cjs.map +0 -7
  174. package/dist/lib/node/chunk-PFH3ROEH.cjs.map +0 -7
  175. package/dist/types/src/components/DebugPanel.d.ts.map +0 -1
  176. package/dist/types/src/components/ScriptBlock/FrameContainer/FrameContainer.d.ts.map +0 -1
  177. package/dist/types/src/components/ScriptBlock/FrameContainer/frame.d.ts.map +0 -1
  178. package/dist/types/src/components/ScriptBlock/FrameContainer/index.d.ts.map +0 -1
  179. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.d.ts +0 -15
  180. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.d.ts.map +0 -1
  181. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.stories.d.ts +0 -13
  182. package/dist/types/src/components/ScriptBlock/Splitter/Splitter.stories.d.ts.map +0 -1
  183. package/dist/types/src/components/ScriptBlock/Splitter/index.d.ts +0 -2
  184. package/dist/types/src/components/ScriptBlock/Splitter/index.d.ts.map +0 -1
  185. package/dist/types/src/components/Toolbar.d.ts +0 -13
  186. package/dist/types/src/components/Toolbar.d.ts.map +0 -1
  187. package/dist/types/src/components/Toolbar.stories.d.ts +0 -14
  188. package/dist/types/src/components/Toolbar.stories.d.ts.map +0 -1
  189. package/dist/types/src/components/TypescriptEditor.d.ts.map +0 -1
  190. package/dist/types/src/components/TypescriptEditor.stories.d.ts +0 -10
  191. package/dist/types/src/components/TypescriptEditor.stories.d.ts.map +0 -1
  192. package/src/components/ScriptBlock/Splitter/Splitter.stories.tsx +0 -37
  193. package/src/components/ScriptBlock/Splitter/Splitter.tsx +0 -52
  194. package/src/components/Toolbar.stories.tsx +0 -17
  195. package/src/components/Toolbar.tsx +0 -147
  196. package/src/meta.tsx +0 -19
  197. /package/dist/lib/{browser/TypescriptEditor-GPE72Y6I.mjs.map → node-esm/edge/index.mjs.map} +0 -0
  198. /package/dist/types/src/components/{ScriptBlock/FrameContainer → FrameContainer}/frame.d.ts +0 -0
  199. /package/dist/types/src/components/{ScriptBlock/FrameContainer → FrameContainer}/index.d.ts +0 -0
  200. /package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/frame.html +0 -0
  201. /package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/frame.tsx +0 -0
  202. /package/src/components/{ScriptBlock/FrameContainer → FrameContainer}/index.ts +0 -0
@@ -0,0 +1,277 @@
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_NWBG5QDN_exports = {};
30
+ __export(chunk_NWBG5QDN_exports, {
31
+ DebugPanel: () => DebugPanel
32
+ });
33
+ module.exports = __toCommonJS(chunk_NWBG5QDN_exports);
34
+ var import_chunk_EJC55SDD = require("./chunk-EJC55SDD.cjs");
35
+ var import_react = __toESM(require("react"));
36
+ var import_log = require("@dxos/log");
37
+ var import_react_ui = require("@dxos/react-ui");
38
+ var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
39
+ var import_react_ui_theme = require("@dxos/react-ui-theme");
40
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-script/src/components/DebugPanel/DebugPanel.tsx";
41
+ var DebugPanel = ({ classNames, functionUrl, binding: _binding, onBindingChange, showBindingConfig = false }) => {
42
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_EJC55SDD.SCRIPT_PLUGIN);
43
+ const bindingInputRef = (0, import_react.useRef)(null);
44
+ const [binding, setBinding] = (0, import_react_ui.useControlledValue)(_binding ?? "");
45
+ const handleBlur = () => {
46
+ onBindingChange?.(binding);
47
+ };
48
+ const inputRef = (0, import_react.useRef)(null);
49
+ const [input, setInput] = (0, import_react.useState)("");
50
+ const [result, setResult] = (0, import_react.useState)("");
51
+ const [state, setState] = (0, import_react.useState)(null);
52
+ const [history, setHistory] = (0, import_react.useState)([]);
53
+ const scrollerRef = (0, import_react.useRef)(null);
54
+ const handleScroll = () => {
55
+ if (scrollerRef.current) {
56
+ scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;
57
+ }
58
+ };
59
+ const controller = (0, import_react.useRef)();
60
+ (0, import_react.useEffect)(() => {
61
+ return () => {
62
+ handleStop();
63
+ };
64
+ }, []);
65
+ const handleStop = () => {
66
+ controller.current?.abort("stop");
67
+ controller.current = void 0;
68
+ };
69
+ const handleClear = () => {
70
+ handleStop();
71
+ setInput("");
72
+ setResult("");
73
+ setHistory([]);
74
+ inputRef.current?.focus();
75
+ };
76
+ const handleResponse = ({ text, data, error } = {}) => {
77
+ controller.current = void 0;
78
+ setHistory((history2) => [
79
+ ...history2,
80
+ {
81
+ type: "response",
82
+ text,
83
+ data,
84
+ error
85
+ }
86
+ ]);
87
+ setResult("");
88
+ setState(null);
89
+ handleScroll();
90
+ };
91
+ const handleRequest = async (input2) => {
92
+ try {
93
+ setState("pending");
94
+ let data = null;
95
+ if (input2.charAt(0) === "{") {
96
+ try {
97
+ const validJsonString = input2.replace(/'/g, '"').replace(/([{,]\s*)([a-zA-Z0-9_]+)(\s*:)/g, '$1"$2"$3');
98
+ data = JSON.parse(validJsonString);
99
+ input2 = JSON.stringify(data, null, 2);
100
+ } catch (err) {
101
+ inputRef.current?.focus();
102
+ return;
103
+ }
104
+ }
105
+ setInput("");
106
+ setResult("");
107
+ setHistory((history2) => [
108
+ ...history2,
109
+ {
110
+ type: "request",
111
+ text: input2
112
+ }
113
+ ]);
114
+ setTimeout(() => {
115
+ handleScroll();
116
+ });
117
+ controller.current = new AbortController();
118
+ const response = await fetch(functionUrl, {
119
+ signal: controller.current.signal,
120
+ method: "POST",
121
+ body: input2,
122
+ headers: {
123
+ "Content-Type": data ? "application/json" : "text/plain"
124
+ }
125
+ });
126
+ if (!response.ok) {
127
+ const text2 = await response.text();
128
+ handleResponse({
129
+ error: new Error(text2 || response.statusText || String(response.status))
130
+ });
131
+ return;
132
+ }
133
+ const contentType = response.headers.get("content-type");
134
+ if (contentType === "application/json") {
135
+ const data2 = await response.json();
136
+ handleResponse({
137
+ data: data2
138
+ });
139
+ return;
140
+ }
141
+ setState("responding");
142
+ let text = "";
143
+ const reader = response.body.getReader();
144
+ const pump = async ({ done, value }) => {
145
+ text = text + new TextDecoder().decode(value);
146
+ if (!controller.current || done) {
147
+ handleResponse({
148
+ text
149
+ });
150
+ return;
151
+ }
152
+ setResult(text);
153
+ setTimeout(() => {
154
+ handleScroll();
155
+ });
156
+ return reader.read().then(pump);
157
+ };
158
+ void reader.read().then(pump).catch((err) => {
159
+ if (err.name !== "AbortError") {
160
+ import_log.log.catch(err, void 0, {
161
+ F: __dxlog_file,
162
+ L: 161,
163
+ S: void 0,
164
+ C: (f, a) => f(...a)
165
+ });
166
+ }
167
+ });
168
+ } catch (err) {
169
+ if (err !== "stop") {
170
+ const error = err instanceof Error ? err : new Error(err);
171
+ handleResponse({
172
+ error
173
+ });
174
+ import_log.log.catch(err, void 0, {
175
+ F: __dxlog_file,
176
+ L: 168,
177
+ S: void 0,
178
+ C: (f, a) => f(...a)
179
+ });
180
+ } else {
181
+ handleResponse();
182
+ }
183
+ }
184
+ };
185
+ return /* @__PURE__ */ import_react.default.createElement("div", {
186
+ className: (0, import_react_ui_theme.mx)("flex flex-col h-full overflow-hidden", classNames)
187
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
188
+ ref: scrollerRef,
189
+ className: "flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto"
190
+ }, /* @__PURE__ */ import_react.default.createElement(MessageThread, {
191
+ state,
192
+ result,
193
+ history
194
+ })), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Toolbar.Root, {
195
+ classNames: "p-2"
196
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.TextInput, {
197
+ ref: inputRef,
198
+ autoFocus: true,
199
+ placeholder: t("function request placeholder"),
200
+ value: input,
201
+ onChange: (ev) => setInput(ev.target.value),
202
+ onKeyDown: (ev) => ev.key === "Enter" && handleRequest(input)
203
+ })), showBindingConfig && /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Input.TextInput, {
204
+ ref: bindingInputRef,
205
+ classNames: "!w-[10rem]",
206
+ placeholder: t("binding placeholder"),
207
+ value: binding,
208
+ onChange: (ev) => setBinding(ev.target.value.toUpperCase()),
209
+ onBlur: handleBlur
210
+ })), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Toolbar.Button, {
211
+ onClick: () => handleRequest(input)
212
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Icon, {
213
+ icon: "ph--play--regular",
214
+ size: 4
215
+ })), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Toolbar.Button, {
216
+ onClick: () => state ? handleStop() : handleClear()
217
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Icon, {
218
+ icon: state ? "ph--stop--regular" : "ph--trash--regular",
219
+ size: 4
220
+ }))));
221
+ };
222
+ var MessageThread = ({ state, result, history }) => {
223
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, history.map((message, i) => /* @__PURE__ */ import_react.default.createElement("div", {
224
+ key: i,
225
+ className: "grid grid-cols-[2rem_1fr_2rem]"
226
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
227
+ className: "p-1"
228
+ }, message.type === "response" && /* @__PURE__ */ import_react.default.createElement(RobotAvatar, null)), /* @__PURE__ */ import_react.default.createElement("div", {
229
+ className: "overflow-auto"
230
+ }, /* @__PURE__ */ import_react.default.createElement(MessageItem, {
231
+ message
232
+ })))), result?.length > 0 && /* @__PURE__ */ import_react.default.createElement("div", {
233
+ className: "grid grid-cols-[2rem_1fr_2rem]"
234
+ }, /* @__PURE__ */ import_react.default.createElement("div", {
235
+ className: "p-1"
236
+ }, state === "pending" && /* @__PURE__ */ import_react.default.createElement(import_react_ui.Icon, {
237
+ icon: "ph--spinner--regular",
238
+ size: 6,
239
+ classNames: "animate-spin"
240
+ }) || /* @__PURE__ */ import_react.default.createElement(import_react_ui.Icon, {
241
+ icon: "ph--robot--regular",
242
+ size: 6,
243
+ classNames: "animate-[pulse_1s_ease-in-out_infinite]"
244
+ })), /* @__PURE__ */ import_react.default.createElement("div", {
245
+ className: "overflow-auto"
246
+ }, /* @__PURE__ */ import_react.default.createElement(MessageItem, {
247
+ message: {
248
+ type: "response",
249
+ text: result
250
+ }
251
+ }))));
252
+ };
253
+ var MessageItem = ({ classNames, message }) => {
254
+ const { type, text, data, error } = message;
255
+ const wrapper = "p-1 px-2 rounded-lg bg-hoverSurface overflow-auto";
256
+ return /* @__PURE__ */ import_react.default.createElement("div", {
257
+ className: (0, import_react_ui_theme.mx)("flex", type === "request" ? "ml-[1rem] justify-end" : "mr-[1rem]", classNames)
258
+ }, error && /* @__PURE__ */ import_react.default.createElement("div", {
259
+ className: (0, import_react_ui_theme.mx)(wrapper, "whitespace-pre text-error")
260
+ }, String(error)), text !== void 0 && /* @__PURE__ */ import_react.default.createElement("div", {
261
+ className: (0, import_react_ui_theme.mx)(wrapper, type === "request" && "bg-primary-400 dark:bg-primary-600")
262
+ }, text || "\xD8"), data && /* @__PURE__ */ import_react.default.createElement(import_react_ui_syntax_highlighter.SyntaxHighlighter, {
263
+ language: "json",
264
+ className: (0, import_react_ui_theme.mx)(wrapper, "px-8 py-2 text-xs")
265
+ }, JSON.stringify(data, null, 2)));
266
+ };
267
+ var RobotAvatar = () => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Avatar.Root, {
268
+ size: 6,
269
+ variant: "circle"
270
+ }, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Avatar.Frame, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Avatar.Icon, {
271
+ icon: "ph--robot--regular"
272
+ })));
273
+ // Annotate the CommonJS export names for ESM import in node:
274
+ 0 && (module.exports = {
275
+ DebugPanel
276
+ });
277
+ //# sourceMappingURL=chunk-NWBG5QDN.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/DebugPanel/DebugPanel.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { log } from '@dxos/log';\nimport { Avatar, Icon, Input, type ThemedClassName, Toolbar, useControlledValue, useTranslation } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { mx } from '@dxos/react-ui-theme';\n\nimport { SCRIPT_PLUGIN } from '../../meta';\n\ntype State = 'pending' | 'responding';\n\n/**\n * Request or response.\n */\ntype Message = { type: 'request' | 'response'; text?: string; data?: any; error?: Error };\n\nexport type DebugPanelProps = ThemedClassName<{\n functionUrl?: string;\n binding?: string;\n onBindingChange?: (binding: string) => void;\n showBindingConfig?: boolean;\n}>;\n\nexport const DebugPanel = ({\n classNames,\n functionUrl,\n binding: _binding,\n onBindingChange,\n showBindingConfig = false,\n}: DebugPanelProps) => {\n const { t } = useTranslation(SCRIPT_PLUGIN);\n\n const bindingInputRef = useRef<HTMLInputElement>(null);\n const [binding, setBinding] = useControlledValue(_binding ?? '');\n const handleBlur = () => {\n onBindingChange?.(binding);\n };\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState('');\n const [result, setResult] = useState('');\n const [state, setState] = useState<State | null>(null);\n\n // TODO(burdon): Persistent history -- at least for session (non-space ECHO data?)\n const [history, setHistory] = useState<Message[]>([]);\n\n const scrollerRef = useRef<HTMLDivElement>(null);\n const handleScroll = () => {\n if (scrollerRef.current) {\n scrollerRef.current.scrollTop = scrollerRef.current.scrollHeight;\n }\n };\n\n const controller = useRef<AbortController>();\n useEffect(() => {\n return () => {\n handleStop();\n };\n }, []);\n\n const handleStop = () => {\n controller.current?.abort('stop');\n controller.current = undefined;\n };\n\n const handleClear = () => {\n handleStop();\n setInput('');\n setResult('');\n setHistory([]);\n inputRef.current?.focus();\n };\n\n const handleResponse = ({ text, data, error }: { text?: string; data?: any; error?: Error } = {}) => {\n controller.current = undefined;\n setHistory((history) => [...history, { type: 'response', text, data, error } satisfies Message]);\n setResult('');\n setState(null);\n handleScroll();\n };\n\n const handleRequest = async (input: string) => {\n // Returns a promise that resolves when a value has been received.\n try {\n setState('pending');\n\n let data = null;\n // Detect JSON input.\n if (input.charAt(0) === '{') {\n try {\n const validJsonString = input.replace(/'/g, '\"').replace(/([{,]\\s*)([a-zA-Z0-9_]+)(\\s*:)/g, '$1\"$2\"$3');\n data = JSON.parse(validJsonString);\n input = JSON.stringify(data, null, 2);\n } catch (err) {\n inputRef.current?.focus();\n return;\n }\n }\n\n setInput('');\n setResult('');\n setHistory((history) => [...history, { type: 'request', text: input }]);\n setTimeout(() => {\n handleScroll();\n });\n\n // Throws DOMException when aborted.\n controller.current = new AbortController();\n const response = await fetch(functionUrl!, {\n signal: controller.current.signal,\n method: 'POST',\n body: input,\n headers: {\n 'Content-Type': data ? 'application/json' : 'text/plain',\n },\n });\n\n // Check for error.\n if (!response.ok) {\n const text = await response.text();\n handleResponse({ error: new Error(text || response.statusText || String(response.status)) });\n return;\n }\n\n // Check for JSON.\n const contentType = response.headers.get('content-type');\n if (contentType === 'application/json') {\n const data = await response.json();\n handleResponse({ data });\n return;\n }\n\n // Text (including streaming).\n setState('responding');\n let text = '';\n const reader = response.body!.getReader();\n const pump = async ({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> => {\n text = text + new TextDecoder().decode(value);\n if (!controller.current || done) {\n handleResponse({ text });\n return;\n }\n\n setResult(text);\n setTimeout(() => {\n handleScroll();\n });\n\n return reader.read().then(pump);\n };\n\n void reader\n .read()\n .then(pump)\n .catch((err) => {\n if (err.name !== 'AbortError') {\n log.catch(err);\n }\n });\n } catch (err: any) {\n if (err !== 'stop') {\n const error = err instanceof Error ? err : new Error(err);\n handleResponse({ error });\n log.catch(err);\n } else {\n handleResponse();\n }\n }\n };\n\n return (\n <div className={mx('flex flex-col h-full overflow-hidden', classNames)}>\n {/* TODO(burdon): Replace with Thread? */}\n <div ref={scrollerRef} className='flex flex-col gap-6 h-full p-2 overflow-x-hidden overflow-y-auto'>\n <MessageThread state={state} result={result} history={history} />\n </div>\n\n <Toolbar.Root classNames='p-2'>\n <Input.Root>\n <Input.TextInput\n ref={inputRef}\n autoFocus\n placeholder={t('function request placeholder')}\n value={input}\n onChange={(ev) => setInput(ev.target.value)}\n onKeyDown={(ev) => ev.key === 'Enter' && handleRequest(input)}\n />\n </Input.Root>\n {showBindingConfig && (\n <Input.Root>\n <Input.TextInput\n ref={bindingInputRef}\n classNames='!w-[10rem]'\n placeholder={t('binding placeholder')}\n value={binding}\n onChange={(ev) => setBinding(ev.target.value.toUpperCase())}\n onBlur={handleBlur}\n />\n </Input.Root>\n )}\n <Toolbar.Button onClick={() => handleRequest(input)}>\n <Icon icon='ph--play--regular' size={4} />\n </Toolbar.Button>\n <Toolbar.Button onClick={() => (state ? handleStop() : handleClear())}>\n <Icon icon={state ? 'ph--stop--regular' : 'ph--trash--regular'} size={4} />\n </Toolbar.Button>\n </Toolbar.Root>\n </div>\n );\n};\n\n// TODO(burdon): Replace with thread?\n// TODO(burdon): Button to delete individual messages.\n// TODO(burdon): Button to edit/re-run question.\nconst MessageThread = ({ state, result, history }: { state: State | null; result: string; history: Message[] }) => {\n return (\n <>\n {history.map((message, i) => (\n <div key={i} className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>{message.type === 'response' && <RobotAvatar />}</div>\n <div className='overflow-auto'>\n <MessageItem message={message} />\n </div>\n </div>\n ))}\n {result?.length > 0 && (\n <div className='grid grid-cols-[2rem_1fr_2rem]'>\n <div className='p-1'>\n {(state === 'pending' && <Icon icon='ph--spinner--regular' size={6} classNames='animate-spin' />) || (\n <Icon icon='ph--robot--regular' size={6} classNames='animate-[pulse_1s_ease-in-out_infinite]' />\n )}\n </div>\n <div className='overflow-auto'>\n <MessageItem message={{ type: 'response', text: result }} />\n </div>\n </div>\n )}\n </>\n );\n};\n\nconst MessageItem = ({ classNames, message }: ThemedClassName<{ message: Message }>) => {\n const { type, text, data, error } = message;\n const wrapper = 'p-1 px-2 rounded-lg bg-hoverSurface overflow-auto';\n return (\n <div className={mx('flex', type === 'request' ? 'ml-[1rem] justify-end' : 'mr-[1rem]', classNames)}>\n {error && <div className={mx(wrapper, 'whitespace-pre text-error')}>{String(error)}</div>}\n\n {text !== undefined && (\n <div className={mx(wrapper, type === 'request' && 'bg-primary-400 dark:bg-primary-600')}>\n {text || '\\u00D8'}\n </div>\n )}\n\n {data && (\n <SyntaxHighlighter language='json' className={mx(wrapper, 'px-8 py-2 text-xs')}>\n {JSON.stringify(data, null, 2)}\n </SyntaxHighlighter>\n )}\n </div>\n );\n};\n\nconst RobotAvatar = () => (\n <Avatar.Root size={6} variant='circle'>\n <Avatar.Frame>\n <Avatar.Icon icon='ph--robot--regular' />\n </Avatar.Frame>\n </Avatar.Root>\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["DebugPanel", "classNames", "functionUrl", "binding", "_binding", "onBindingChange", "showBindingConfig", "t", "useTranslation", "SCRIPT_PLUGIN", "bindingInputRef", "useRef", "setBinding", "useControlledValue", "handleBlur", "inputRef", "input", "setInput", "useState", "result", "setResult", "state", "setState", "history", "setHistory", "scrollerRef", "handleScroll", "current", "scrollTop", "scrollHeight", "controller", "useEffect", "handleStop", "abort", "undefined", "handleClear", "focus", "handleResponse", "text", "data", "error", "type", "handleRequest", "charAt", "validJsonString", "replace", "JSON", "parse", "stringify", "err", "setTimeout", "AbortController", "response", "fetch", "signal", "method", "body", "headers", "ok", "Error", "statusText", "String", "status", "contentType", "get", "json", "reader", "getReader", "pump", "done", "value", "TextDecoder", "decode", "read", "then", "catch", "name", "log", "React", "div", "className", "mx", "ref", "MessageThread", "Toolbar", "Root", "Input", "TextInput", "autoFocus", "placeholder", "onChange", "ev", "target", "onKeyDown", "key", "toUpperCase", "onBlur", "Button", "onClick", "Icon", "icon", "size", "map", "message", "i", "RobotAvatar", "MessageItem", "length", "wrapper", "SyntaxHighlighter", "language", "Avatar", "variant", "Frame"]
7
+ }
@@ -18,20 +18,24 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var edge_exports = {};
20
20
  __export(edge_exports, {
21
- HeaderCodec: () => import_chunk_PFH3ROEH.HeaderCodec,
22
- codec: () => import_chunk_PFH3ROEH.codec,
23
- getUserFunctionUrlInMetadata: () => import_chunk_PFH3ROEH.getUserFunctionUrlInMetadata,
24
- matchServiceCredential: () => import_chunk_PFH3ROEH.matchServiceCredential,
25
- publicKeyToDid: () => import_chunk_PFH3ROEH.publicKeyToDid,
26
- setUserFunctionUrlInMetadata: () => import_chunk_PFH3ROEH.setUserFunctionUrlInMetadata,
27
- uploadWorkerFunction: () => import_chunk_PFH3ROEH.uploadWorkerFunction
21
+ HeaderCodec: () => import_chunk_FY5KKL5N.HeaderCodec,
22
+ USERFUNCTIONS_PRESET_META_KEY: () => import_chunk_FY5KKL5N.USERFUNCTIONS_PRESET_META_KEY,
23
+ codec: () => import_chunk_FY5KKL5N.codec,
24
+ getInvocationUrl: () => import_chunk_FY5KKL5N.getInvocationUrl,
25
+ getUserFunctionUrlInMetadata: () => import_chunk_FY5KKL5N.getUserFunctionUrlInMetadata,
26
+ matchServiceCredential: () => import_chunk_FY5KKL5N.matchServiceCredential,
27
+ publicKeyToDid: () => import_chunk_FY5KKL5N.publicKeyToDid,
28
+ setUserFunctionUrlInMetadata: () => import_chunk_FY5KKL5N.setUserFunctionUrlInMetadata,
29
+ uploadWorkerFunction: () => import_chunk_FY5KKL5N.uploadWorkerFunction
28
30
  });
29
31
  module.exports = __toCommonJS(edge_exports);
30
- var import_chunk_PFH3ROEH = require("../chunk-PFH3ROEH.cjs");
32
+ var import_chunk_FY5KKL5N = require("../chunk-FY5KKL5N.cjs");
31
33
  // Annotate the CommonJS export names for ESM import in node:
32
34
  0 && (module.exports = {
33
35
  HeaderCodec,
36
+ USERFUNCTIONS_PRESET_META_KEY,
34
37
  codec,
38
+ getInvocationUrl,
35
39
  getUserFunctionUrlInMetadata,
36
40
  matchServiceCredential,
37
41
  publicKeyToDid,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n HeaderCodec,\n codec,\n getUserFunctionUrlInMetadata,\n matchServiceCredential,\n publicKeyToDid,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction\n} from \"../chunk-PFH3ROEH.cjs\";\nexport {\n HeaderCodec,\n codec,\n getUserFunctionUrlInMetadata,\n matchServiceCredential,\n publicKeyToDid,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAQO;",
4
+ "sourcesContent": ["import {\n HeaderCodec,\n USERFUNCTIONS_PRESET_META_KEY,\n codec,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n matchServiceCredential,\n publicKeyToDid,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction\n} from \"../chunk-FY5KKL5N.cjs\";\nexport {\n HeaderCodec,\n USERFUNCTIONS_PRESET_META_KEY,\n codec,\n getInvocationUrl,\n getUserFunctionUrlInMetadata,\n matchServiceCredential,\n publicKeyToDid,\n setUserFunctionUrlInMetadata,\n uploadWorkerFunction\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAUO;",
6
6
  "names": []
7
7
  }