@elyracode/web-ui 0.9.10 → 0.9.12
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.
- package/CHANGELOG.md +7 -0
- package/dist/ChatPanel.d.ts +1 -1
- package/dist/ChatPanel.d.ts.map +1 -1
- package/dist/app.css +1 -1
- package/dist/components/AgentInterface.d.ts +1 -1
- package/dist/components/AgentInterface.d.ts.map +1 -1
- package/dist/components/AgentInterface.js +1 -1
- package/dist/components/AgentInterface.js.map +1 -1
- package/dist/components/MessageEditor.d.ts +2 -2
- package/dist/components/MessageEditor.d.ts.map +1 -1
- package/dist/components/Messages.d.ts +3 -3
- package/dist/components/Messages.d.ts.map +1 -1
- package/dist/components/Messages.js.map +1 -1
- package/dist/components/ProviderKeyInput.js +2 -2
- package/dist/components/ProviderKeyInput.js.map +1 -1
- package/dist/components/SandboxedIframe.d.ts +1 -1
- package/dist/components/SandboxedIframe.d.ts.map +1 -1
- package/dist/components/SandboxedIframe.js +1 -1
- package/dist/components/SandboxedIframe.js.map +1 -1
- package/dist/components/message-renderer-registry.js.map +1 -1
- package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts +4 -3
- package/dist/components/sandbox/ArtifactsRuntimeProvider.d.ts.map +1 -1
- package/dist/components/sandbox/ArtifactsRuntimeProvider.js +31 -31
- package/dist/components/sandbox/ArtifactsRuntimeProvider.js.map +1 -1
- package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts +1 -1
- package/dist/components/sandbox/AttachmentsRuntimeProvider.d.ts.map +1 -1
- package/dist/components/sandbox/AttachmentsRuntimeProvider.js +6 -5
- package/dist/components/sandbox/AttachmentsRuntimeProvider.js.map +1 -1
- package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts +3 -2
- package/dist/components/sandbox/ConsoleRuntimeProvider.d.ts.map +1 -1
- package/dist/components/sandbox/ConsoleRuntimeProvider.js +12 -11
- package/dist/components/sandbox/ConsoleRuntimeProvider.js.map +1 -1
- package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts +3 -2
- package/dist/components/sandbox/FileDownloadRuntimeProvider.d.ts.map +1 -1
- package/dist/components/sandbox/FileDownloadRuntimeProvider.js +6 -4
- package/dist/components/sandbox/FileDownloadRuntimeProvider.js.map +1 -1
- package/dist/components/sandbox/RuntimeMessageRouter.d.ts +2 -1
- package/dist/components/sandbox/RuntimeMessageRouter.d.ts.map +1 -1
- package/dist/components/sandbox/RuntimeMessageRouter.js.map +1 -1
- package/dist/components/sandbox/SandboxRuntimeProvider.d.ts +3 -2
- package/dist/components/sandbox/SandboxRuntimeProvider.d.ts.map +1 -1
- package/dist/components/sandbox/runtime-messages.d.ts +140 -0
- package/dist/components/sandbox/runtime-messages.d.ts.map +1 -0
- package/dist/components/sandbox/runtime-messages.js +9 -0
- package/dist/components/sandbox/runtime-messages.js.map +1 -0
- package/dist/dialogs/AttachmentOverlay.d.ts.map +1 -1
- package/dist/dialogs/AttachmentOverlay.js +4 -4
- package/dist/dialogs/AttachmentOverlay.js.map +1 -1
- package/dist/dialogs/ModelSelector.d.ts +3 -3
- package/dist/dialogs/ModelSelector.d.ts.map +1 -1
- package/dist/dialogs/ModelSelector.js.map +1 -1
- package/dist/storage/stores/custom-providers-store.d.ts +2 -2
- package/dist/storage/stores/custom-providers-store.d.ts.map +1 -1
- package/dist/storage/types.d.ts +2 -2
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/tools/artifacts/DocxArtifact.js +1 -1
- package/dist/tools/artifacts/DocxArtifact.js.map +1 -1
- package/dist/tools/artifacts/ExcelArtifact.js +1 -1
- package/dist/tools/artifacts/ExcelArtifact.js.map +1 -1
- package/dist/tools/artifacts/HtmlArtifact.js.map +1 -1
- package/dist/tools/artifacts/PdfArtifact.d.ts.map +1 -1
- package/dist/tools/artifacts/PdfArtifact.js +1 -1
- package/dist/tools/artifacts/PdfArtifact.js.map +1 -1
- package/dist/tools/artifacts/artifacts-tool-renderer.d.ts.map +1 -1
- package/dist/tools/artifacts/artifacts-tool-renderer.js.map +1 -1
- package/dist/tools/artifacts/artifacts.js.map +1 -1
- package/dist/tools/extract-document.js +1 -1
- package/dist/tools/extract-document.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/javascript-repl.js.map +1 -1
- package/dist/tools/renderer-registry.d.ts +4 -3
- package/dist/tools/renderer-registry.d.ts.map +1 -1
- package/dist/tools/renderer-registry.js.map +1 -1
- package/dist/tools/renderers/BashRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/BashRenderer.js.map +1 -1
- package/dist/tools/renderers/CalculateRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/CalculateRenderer.js.map +1 -1
- package/dist/tools/renderers/DefaultRenderer.d.ts +1 -1
- package/dist/tools/renderers/DefaultRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/DefaultRenderer.js.map +1 -1
- package/dist/tools/renderers/GetCurrentTimeRenderer.d.ts.map +1 -1
- package/dist/tools/renderers/GetCurrentTimeRenderer.js.map +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/attachment-utils.js +1 -1
- package/dist/utils/attachment-utils.js.map +1 -1
- package/dist/utils/format.d.ts +2 -2
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/model-discovery.d.ts +6 -6
- package/dist/utils/model-discovery.d.ts.map +1 -1
- package/dist/utils/model-discovery.js +3 -3
- package/dist/utils/model-discovery.js.map +1 -1
- package/dist/utils/proxy-utils.d.ts +1 -1
- package/example/package.json +1 -1
- package/package.json +5 -5
- package/src/ChatPanel.ts +1 -1
- package/src/components/AgentInterface.ts +5 -5
- package/src/components/MessageEditor.ts +2 -2
- package/src/components/Messages.ts +6 -6
- package/src/components/ProviderKeyInput.ts +3 -3
- package/src/components/SandboxedIframe.ts +7 -6
- package/src/components/message-renderer-registry.ts +1 -1
- package/src/components/sandbox/ArtifactsRuntimeProvider.ts +40 -44
- package/src/components/sandbox/AttachmentsRuntimeProvider.ts +9 -7
- package/src/components/sandbox/ConsoleRuntimeProvider.ts +19 -17
- package/src/components/sandbox/FileDownloadRuntimeProvider.ts +11 -7
- package/src/components/sandbox/RuntimeMessageRouter.ts +7 -8
- package/src/components/sandbox/SandboxRuntimeProvider.ts +4 -2
- package/src/components/sandbox/runtime-messages.ts +146 -0
- package/src/dialogs/AttachmentOverlay.ts +12 -11
- package/src/dialogs/CustomProviderDialog.ts +2 -2
- package/src/dialogs/ModelSelector.ts +11 -11
- package/src/storage/stores/custom-providers-store.ts +2 -2
- package/src/storage/types.ts +2 -2
- package/src/tools/artifacts/DocxArtifact.ts +2 -2
- package/src/tools/artifacts/ExcelArtifact.ts +3 -3
- package/src/tools/artifacts/HtmlArtifact.ts +1 -1
- package/src/tools/artifacts/PdfArtifact.ts +5 -4
- package/src/tools/artifacts/artifacts-tool-renderer.ts +4 -4
- package/src/tools/artifacts/artifacts.ts +4 -4
- package/src/tools/extract-document.ts +6 -6
- package/src/tools/index.ts +1 -1
- package/src/tools/javascript-repl.ts +3 -3
- package/src/tools/renderer-registry.ts +5 -5
- package/src/tools/renderers/BashRenderer.ts +3 -3
- package/src/tools/renderers/CalculateRenderer.ts +3 -3
- package/src/tools/renderers/DefaultRenderer.ts +5 -5
- package/src/tools/renderers/GetCurrentTimeRenderer.ts +5 -5
- package/src/tools/types.ts +1 -1
- package/src/utils/attachment-utils.ts +10 -3
- package/src/utils/format.ts +2 -2
- package/src/utils/model-discovery.ts +35 -22
- package/src/utils/proxy-utils.ts +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AgentMessage } from "@elyracode/agent-core";
|
|
2
|
+
import type { RuntimeMessage, RuntimeResponse } from "./runtime-messages.js";
|
|
2
3
|
import type { SandboxRuntimeProvider } from "./SandboxRuntimeProvider.js";
|
|
3
4
|
interface ArtifactsPanelLike {
|
|
4
5
|
artifacts: Map<string, {
|
|
@@ -9,7 +10,7 @@ interface ArtifactsPanelLike {
|
|
|
9
10
|
command: string;
|
|
10
11
|
filename: string;
|
|
11
12
|
content?: string;
|
|
12
|
-
}): Promise<
|
|
13
|
+
}): Promise<unknown>;
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
16
|
interface AgentLike {
|
|
@@ -31,9 +32,9 @@ export declare class ArtifactsRuntimeProvider implements SandboxRuntimeProvider
|
|
|
31
32
|
private readWrite;
|
|
32
33
|
constructor(artifactsPanel: ArtifactsPanelLike, agent?: AgentLike | undefined, readWrite?: boolean);
|
|
33
34
|
private pushAgentMessage;
|
|
34
|
-
getData(): Record<string,
|
|
35
|
+
getData(): Record<string, unknown>;
|
|
35
36
|
getRuntime(): (sandboxId: string) => void;
|
|
36
|
-
handleMessage(message:
|
|
37
|
+
handleMessage(message: RuntimeMessage, respond: (response: RuntimeResponse) => void): Promise<void>;
|
|
37
38
|
getDescription(): string;
|
|
38
39
|
}
|
|
39
40
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactsRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/ArtifactsRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,UAAU,kBAAkB;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,IAAI,EAAE;QACL,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"ArtifactsRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/ArtifactsRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,UAAU,kBAAkB;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,IAAI,EAAE;QACL,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC7G,CAAC;CACF;AAED,UAAU,SAAS;IAClB,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;KAAE,CAAC;IACtD,aAAa,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,sBAAsB;IAErE,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,KAAK,CAAC;IACd,OAAO,CAAC,SAAS;gBAFT,cAAc,EAAE,kBAAkB,EAClC,KAAK,CAAC,EAAE,SAAS,YAAA,EACjB,SAAS,GAAE,OAAc;IAGlC,OAAO,CAAC,gBAAgB;IASxB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASlC,UAAU,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;IA6FnC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA4EzG,cAAc,IAAI,MAAM;CAGxB"}
|
|
@@ -33,12 +33,13 @@ export class ArtifactsRuntimeProvider {
|
|
|
33
33
|
getRuntime() {
|
|
34
34
|
// This function will be stringified, so no external references!
|
|
35
35
|
return (_sandboxId) => {
|
|
36
|
+
const win = window;
|
|
36
37
|
// Auto-parse/stringify for .json files
|
|
37
38
|
const isJsonFile = (filename) => filename.endsWith(".json");
|
|
38
|
-
|
|
39
|
+
win.listArtifacts = async () => {
|
|
39
40
|
// Online: ask extension
|
|
40
|
-
if (
|
|
41
|
-
const response = await
|
|
41
|
+
if (win.sendRuntimeMessage) {
|
|
42
|
+
const response = await win.sendRuntimeMessage({
|
|
42
43
|
type: "artifact-operation",
|
|
43
44
|
action: "list",
|
|
44
45
|
});
|
|
@@ -48,14 +49,14 @@ export class ArtifactsRuntimeProvider {
|
|
|
48
49
|
}
|
|
49
50
|
// Offline: return snapshot keys
|
|
50
51
|
else {
|
|
51
|
-
return Object.keys(
|
|
52
|
+
return Object.keys(win.artifacts || {});
|
|
52
53
|
}
|
|
53
54
|
};
|
|
54
|
-
|
|
55
|
+
win.getArtifact = async (filename) => {
|
|
55
56
|
let content;
|
|
56
57
|
// Online: ask extension
|
|
57
|
-
if (
|
|
58
|
-
const response = await
|
|
58
|
+
if (win.sendRuntimeMessage) {
|
|
59
|
+
const response = await win.sendRuntimeMessage({
|
|
59
60
|
type: "artifact-operation",
|
|
60
61
|
action: "get",
|
|
61
62
|
filename,
|
|
@@ -66,10 +67,10 @@ export class ArtifactsRuntimeProvider {
|
|
|
66
67
|
}
|
|
67
68
|
// Offline: read snapshot
|
|
68
69
|
else {
|
|
69
|
-
if (!
|
|
70
|
+
if (!win.artifacts?.[filename]) {
|
|
70
71
|
throw new Error(`Artifact not found (offline mode): ${filename}`);
|
|
71
72
|
}
|
|
72
|
-
content =
|
|
73
|
+
content = win.artifacts[filename];
|
|
73
74
|
}
|
|
74
75
|
// Auto-parse .json files
|
|
75
76
|
if (isJsonFile(filename)) {
|
|
@@ -82,8 +83,8 @@ export class ArtifactsRuntimeProvider {
|
|
|
82
83
|
}
|
|
83
84
|
return content;
|
|
84
85
|
};
|
|
85
|
-
|
|
86
|
-
if (!
|
|
86
|
+
win.createOrUpdateArtifact = async (filename, content, mimeType) => {
|
|
87
|
+
if (!win.sendRuntimeMessage) {
|
|
87
88
|
throw new Error("Cannot create/update artifacts in offline mode (read-only)");
|
|
88
89
|
}
|
|
89
90
|
let finalContent = content;
|
|
@@ -94,7 +95,7 @@ export class ArtifactsRuntimeProvider {
|
|
|
94
95
|
else if (typeof content !== "string") {
|
|
95
96
|
finalContent = JSON.stringify(content, null, 2);
|
|
96
97
|
}
|
|
97
|
-
const response = await
|
|
98
|
+
const response = await win.sendRuntimeMessage({
|
|
98
99
|
type: "artifact-operation",
|
|
99
100
|
action: "createOrUpdate",
|
|
100
101
|
filename,
|
|
@@ -104,11 +105,11 @@ export class ArtifactsRuntimeProvider {
|
|
|
104
105
|
if (!response.success)
|
|
105
106
|
throw new Error(response.error);
|
|
106
107
|
};
|
|
107
|
-
|
|
108
|
-
if (!
|
|
108
|
+
win.deleteArtifact = async (filename) => {
|
|
109
|
+
if (!win.sendRuntimeMessage) {
|
|
109
110
|
throw new Error("Cannot delete artifacts in offline mode (read-only)");
|
|
110
111
|
}
|
|
111
|
-
const response = await
|
|
112
|
+
const response = await win.sendRuntimeMessage({
|
|
112
113
|
type: "artifact-operation",
|
|
113
114
|
action: "delete",
|
|
114
115
|
filename,
|
|
@@ -122,18 +123,17 @@ export class ArtifactsRuntimeProvider {
|
|
|
122
123
|
if (message.type !== "artifact-operation") {
|
|
123
124
|
return;
|
|
124
125
|
}
|
|
125
|
-
const { action, filename, content } = message;
|
|
126
126
|
try {
|
|
127
|
-
switch (action) {
|
|
127
|
+
switch (message.action) {
|
|
128
128
|
case "list": {
|
|
129
129
|
const filenames = Array.from(this.artifactsPanel.artifacts.keys());
|
|
130
130
|
respond({ success: true, result: filenames });
|
|
131
131
|
break;
|
|
132
132
|
}
|
|
133
133
|
case "get": {
|
|
134
|
-
const artifact = this.artifactsPanel.artifacts.get(filename);
|
|
134
|
+
const artifact = this.artifactsPanel.artifacts.get(message.filename);
|
|
135
135
|
if (!artifact) {
|
|
136
|
-
respond({ success: false, error: `Artifact not found: ${filename}` });
|
|
136
|
+
respond({ success: false, error: `Artifact not found: ${message.filename}` });
|
|
137
137
|
}
|
|
138
138
|
else {
|
|
139
139
|
respond({ success: true, result: artifact.content });
|
|
@@ -142,26 +142,26 @@ export class ArtifactsRuntimeProvider {
|
|
|
142
142
|
}
|
|
143
143
|
case "createOrUpdate": {
|
|
144
144
|
try {
|
|
145
|
-
const exists = this.artifactsPanel.artifacts.has(filename);
|
|
145
|
+
const exists = this.artifactsPanel.artifacts.has(message.filename);
|
|
146
146
|
const command = exists ? "rewrite" : "create";
|
|
147
147
|
const action = exists ? "update" : "create";
|
|
148
148
|
await this.artifactsPanel.tool.execute("", {
|
|
149
149
|
command,
|
|
150
|
-
filename,
|
|
151
|
-
content,
|
|
150
|
+
filename: message.filename,
|
|
151
|
+
content: message.content,
|
|
152
152
|
});
|
|
153
153
|
this.pushAgentMessage({
|
|
154
154
|
role: "artifact",
|
|
155
155
|
action,
|
|
156
|
-
filename,
|
|
157
|
-
content,
|
|
158
|
-
...(action === "create" && { title: filename }),
|
|
156
|
+
filename: message.filename,
|
|
157
|
+
content: message.content,
|
|
158
|
+
...(action === "create" && { title: message.filename }),
|
|
159
159
|
timestamp: new Date().toISOString(),
|
|
160
160
|
});
|
|
161
161
|
respond({ success: true });
|
|
162
162
|
}
|
|
163
163
|
catch (err) {
|
|
164
|
-
respond({ success: false, error: err.message });
|
|
164
|
+
respond({ success: false, error: err instanceof Error ? err.message : String(err) });
|
|
165
165
|
}
|
|
166
166
|
break;
|
|
167
167
|
}
|
|
@@ -169,27 +169,27 @@ export class ArtifactsRuntimeProvider {
|
|
|
169
169
|
try {
|
|
170
170
|
await this.artifactsPanel.tool.execute("", {
|
|
171
171
|
command: "delete",
|
|
172
|
-
filename,
|
|
172
|
+
filename: message.filename,
|
|
173
173
|
});
|
|
174
174
|
this.pushAgentMessage({
|
|
175
175
|
role: "artifact",
|
|
176
176
|
action: "delete",
|
|
177
|
-
filename,
|
|
177
|
+
filename: message.filename,
|
|
178
178
|
timestamp: new Date().toISOString(),
|
|
179
179
|
});
|
|
180
180
|
respond({ success: true });
|
|
181
181
|
}
|
|
182
182
|
catch (err) {
|
|
183
|
-
respond({ success: false, error: err.message });
|
|
183
|
+
respond({ success: false, error: err instanceof Error ? err.message : String(err) });
|
|
184
184
|
}
|
|
185
185
|
break;
|
|
186
186
|
}
|
|
187
187
|
default:
|
|
188
|
-
respond({ success: false, error:
|
|
188
|
+
respond({ success: false, error: "Unknown artifact action" });
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
catch (error) {
|
|
192
|
-
respond({ success: false, error: error.message });
|
|
192
|
+
respond({ success: false, error: error instanceof Error ? error.message : String(error) });
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
getDescription() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactsRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/ArtifactsRuntimeProvider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yCAAyC,EACzC,yCAAyC,GACzC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ArtifactsRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/ArtifactsRuntimeProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import type { SandboxRuntimeProvider } from "./SandboxRuntimeProvider.js";
|
|
|
10
10
|
export declare class AttachmentsRuntimeProvider implements SandboxRuntimeProvider {
|
|
11
11
|
private attachments;
|
|
12
12
|
constructor(attachments: Attachment[]);
|
|
13
|
-
getData(): Record<string,
|
|
13
|
+
getData(): Record<string, unknown>;
|
|
14
14
|
getRuntime(): (sandboxId: string) => void;
|
|
15
15
|
getDescription(): string;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentsRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/AttachmentsRuntimeProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"AttachmentsRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/AttachmentsRuntimeProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IAC5D,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,UAAU,EAAE;IAE7C,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAalC,UAAU,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;IAoCzC,cAAc,IAAI,MAAM;CAGxB"}
|
|
@@ -26,14 +26,15 @@ export class AttachmentsRuntimeProvider {
|
|
|
26
26
|
// These functions read directly from window.attachments
|
|
27
27
|
// Works both online AND offline (no messaging needed!)
|
|
28
28
|
return (_sandboxId) => {
|
|
29
|
-
|
|
29
|
+
const win = window;
|
|
30
|
+
win.listAttachments = () => (win.attachments || []).map((a) => ({
|
|
30
31
|
id: a.id,
|
|
31
32
|
fileName: a.fileName,
|
|
32
33
|
mimeType: a.mimeType,
|
|
33
34
|
size: a.size,
|
|
34
35
|
}));
|
|
35
|
-
|
|
36
|
-
const a = (
|
|
36
|
+
win.readTextAttachment = (attachmentId) => {
|
|
37
|
+
const a = (win.attachments || []).find((x) => x.id === attachmentId);
|
|
37
38
|
if (!a)
|
|
38
39
|
throw new Error(`Attachment not found: ${attachmentId}`);
|
|
39
40
|
if (a.extractedText)
|
|
@@ -45,8 +46,8 @@ export class AttachmentsRuntimeProvider {
|
|
|
45
46
|
throw new Error(`Failed to decode text content for: ${attachmentId}`);
|
|
46
47
|
}
|
|
47
48
|
};
|
|
48
|
-
|
|
49
|
-
const a = (
|
|
49
|
+
win.readBinaryAttachment = (attachmentId) => {
|
|
50
|
+
const a = (win.attachments || []).find((x) => x.id === attachmentId);
|
|
50
51
|
if (!a)
|
|
51
52
|
throw new Error(`Attachment not found: ${attachmentId}`);
|
|
52
53
|
const bin = atob(a.content);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentsRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/AttachmentsRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"AttachmentsRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/AttachmentsRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAK3E;;;;;;GAMG;AACH,MAAM,OAAO,0BAA0B;IACtC,YAAoB,WAAyB;QAAzB,gBAAW,GAAX,WAAW,CAAc;IAAG,CAAC;IAEjD,OAAO;QACN,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,aAAa,EAAE,CAAC,CAAC,aAAa;SAC9B,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACzC,CAAC;IAED,UAAU;QACT,gEAAgE;QAChE,wDAAwD;QACxD,uDAAuD;QACvD,OAAO,CAAC,UAAkB,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,MAAyC,CAAC;YACtD,GAAG,CAAC,eAAe,GAAG,GAAG,EAAE,CAC1B,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC;gBACtD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;aACZ,CAAC,CAAC,CAAC;YAEL,GAAG,CAAC,kBAAkB,GAAG,CAAC,YAAoB,EAAE,EAAE;gBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;gBACxF,IAAI,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,CAAC,aAAa;oBAAE,OAAO,CAAC,CAAC,aAAa,CAAC;gBAC5C,IAAI,CAAC;oBACJ,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,EAAE,CAAC,CAAC;gBACvE,CAAC;YACF,CAAC,CAAC;YAEF,GAAG,CAAC,oBAAoB,GAAG,CAAC,YAAoB,EAAE,EAAE;gBACnD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;gBACxF,IAAI,CAAC,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;gBACjE,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;oBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClE,OAAO,KAAK,CAAC;YACd,CAAC,CAAC;QACH,CAAC,CAAC;IACH,CAAC;IAED,cAAc;QACb,OAAO,+BAA+B,CAAC;IACxC,CAAC;CACD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RuntimeMessage, RuntimeResponse } from "./runtime-messages.js";
|
|
1
2
|
import type { SandboxRuntimeProvider } from "./SandboxRuntimeProvider.js";
|
|
2
3
|
export interface ConsoleLog {
|
|
3
4
|
type: "log" | "warn" | "error" | "info";
|
|
@@ -15,10 +16,10 @@ export declare class ConsoleRuntimeProvider implements SandboxRuntimeProvider {
|
|
|
15
16
|
private logs;
|
|
16
17
|
private completionError;
|
|
17
18
|
private completed;
|
|
18
|
-
getData(): Record<string,
|
|
19
|
+
getData(): Record<string, unknown>;
|
|
19
20
|
getDescription(): string;
|
|
20
21
|
getRuntime(): (sandboxId: string) => void;
|
|
21
|
-
handleMessage(message:
|
|
22
|
+
handleMessage(message: RuntimeMessage, respond: (response: RuntimeResponse) => void): Promise<void>;
|
|
22
23
|
/**
|
|
23
24
|
* Get collected console logs
|
|
24
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/ConsoleRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,sBAAsB;IACpE,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"ConsoleRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/ConsoleRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,sBAAsB;IACpE,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKlC,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;IA4GnC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzG;;OAEG;IACH,OAAO,IAAI,UAAU,EAAE;IAIvB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,kBAAkB,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI/D;;OAEG;IACH,KAAK,IAAI,IAAI;CAKb"}
|
|
@@ -20,10 +20,11 @@ export class ConsoleRuntimeProvider {
|
|
|
20
20
|
}
|
|
21
21
|
getRuntime() {
|
|
22
22
|
return (_sandboxId) => {
|
|
23
|
+
const win = window;
|
|
23
24
|
// Store truly original console methods on first wrap only
|
|
24
25
|
// This prevents accumulation of wrapper functions across multiple executions
|
|
25
|
-
if (!
|
|
26
|
-
|
|
26
|
+
if (!win.__originalConsole) {
|
|
27
|
+
win.__originalConsole = {
|
|
27
28
|
log: console.log.bind(console),
|
|
28
29
|
error: console.error.bind(console),
|
|
29
30
|
warn: console.warn.bind(console),
|
|
@@ -31,7 +32,7 @@ export class ConsoleRuntimeProvider {
|
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
34
|
// Always use the truly original console, not the current (possibly wrapped) one
|
|
34
|
-
const originalConsole =
|
|
35
|
+
const originalConsole = win.__originalConsole;
|
|
35
36
|
// Track pending send promises to wait for them in onCompleted
|
|
36
37
|
const pendingSends = [];
|
|
37
38
|
["log", "error", "warn", "info"].forEach((method) => {
|
|
@@ -49,8 +50,8 @@ export class ConsoleRuntimeProvider {
|
|
|
49
50
|
// Always log locally too (using truly original console)
|
|
50
51
|
originalConsole[method].apply(console, args);
|
|
51
52
|
// Send immediately and track the promise (only in extension context)
|
|
52
|
-
if (
|
|
53
|
-
const sendPromise =
|
|
53
|
+
if (win.sendRuntimeMessage) {
|
|
54
|
+
const sendPromise = win
|
|
54
55
|
.sendRuntimeMessage({
|
|
55
56
|
type: "console",
|
|
56
57
|
method,
|
|
@@ -63,8 +64,8 @@ export class ConsoleRuntimeProvider {
|
|
|
63
64
|
};
|
|
64
65
|
});
|
|
65
66
|
// Register completion callback to wait for all pending sends
|
|
66
|
-
if (
|
|
67
|
-
|
|
67
|
+
if (win.onCompleted) {
|
|
68
|
+
win.onCompleted(async (_success) => {
|
|
68
69
|
// Wait for all pending console sends to complete
|
|
69
70
|
if (pendingSends.length > 0) {
|
|
70
71
|
await Promise.all(pendingSends);
|
|
@@ -91,20 +92,20 @@ export class ConsoleRuntimeProvider {
|
|
|
91
92
|
});
|
|
92
93
|
// Expose complete() method for user code to call
|
|
93
94
|
let completionSent = false;
|
|
94
|
-
|
|
95
|
+
win.complete = async (error, returnValue) => {
|
|
95
96
|
if (completionSent)
|
|
96
97
|
return;
|
|
97
98
|
completionSent = true;
|
|
98
99
|
const finalError = error || lastError;
|
|
99
|
-
if (
|
|
100
|
+
if (win.sendRuntimeMessage) {
|
|
100
101
|
if (finalError) {
|
|
101
|
-
await
|
|
102
|
+
await win.sendRuntimeMessage({
|
|
102
103
|
type: "execution-error",
|
|
103
104
|
error: finalError,
|
|
104
105
|
});
|
|
105
106
|
}
|
|
106
107
|
else {
|
|
107
|
-
await
|
|
108
|
+
await win.sendRuntimeMessage({
|
|
108
109
|
type: "execution-complete",
|
|
109
110
|
returnValue,
|
|
110
111
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/ConsoleRuntimeProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConsoleRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/ConsoleRuntimeProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RuntimeMessage, RuntimeResponse } from "./runtime-messages.js";
|
|
1
2
|
import type { SandboxRuntimeProvider } from "./SandboxRuntimeProvider.js";
|
|
2
3
|
export interface DownloadableFile {
|
|
3
4
|
fileName: string;
|
|
@@ -14,9 +15,9 @@ export interface DownloadableFile {
|
|
|
14
15
|
*/
|
|
15
16
|
export declare class FileDownloadRuntimeProvider implements SandboxRuntimeProvider {
|
|
16
17
|
private files;
|
|
17
|
-
getData(): Record<string,
|
|
18
|
+
getData(): Record<string, unknown>;
|
|
18
19
|
getRuntime(): (sandboxId: string) => void;
|
|
19
|
-
handleMessage(message:
|
|
20
|
+
handleMessage(message: RuntimeMessage, respond: (response: RuntimeResponse) => void): Promise<void>;
|
|
20
21
|
/**
|
|
21
22
|
* Get collected files
|
|
22
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDownloadRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/FileDownloadRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IACzE,OAAO,CAAC,KAAK,CAA0B;IAEvC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"FileDownloadRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/FileDownloadRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAwB,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA4B,YAAW,sBAAsB;IACzE,OAAO,CAAC,KAAK,CAA0B;IAEvC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKlC,UAAU,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI;IA0DnC,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAazG;;OAEG;IACH,QAAQ,IAAI,gBAAgB,EAAE;IAI9B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb,cAAc,IAAI,MAAM;CAGxB"}
|
|
@@ -16,7 +16,8 @@ export class FileDownloadRuntimeProvider {
|
|
|
16
16
|
}
|
|
17
17
|
getRuntime() {
|
|
18
18
|
return (_sandboxId) => {
|
|
19
|
-
|
|
19
|
+
const win = window;
|
|
20
|
+
win.returnDownloadableFile = async (fileName, content, mimeType) => {
|
|
20
21
|
let finalContent, finalMimeType;
|
|
21
22
|
if (content instanceof Blob) {
|
|
22
23
|
const arrayBuffer = await content.arrayBuffer();
|
|
@@ -42,8 +43,8 @@ export class FileDownloadRuntimeProvider {
|
|
|
42
43
|
finalMimeType = mimeType || "application/json";
|
|
43
44
|
}
|
|
44
45
|
// Send to extension if in extension context (online mode)
|
|
45
|
-
if (
|
|
46
|
-
const response = await
|
|
46
|
+
if (win.sendRuntimeMessage) {
|
|
47
|
+
const response = await win.sendRuntimeMessage({
|
|
47
48
|
type: "file-returned",
|
|
48
49
|
fileName,
|
|
49
50
|
content: finalContent,
|
|
@@ -54,7 +55,8 @@ export class FileDownloadRuntimeProvider {
|
|
|
54
55
|
}
|
|
55
56
|
else {
|
|
56
57
|
// Offline mode: trigger browser download directly
|
|
57
|
-
const
|
|
58
|
+
const blobPart = typeof finalContent === "string" ? finalContent : new Uint8Array(finalContent);
|
|
59
|
+
const blob = new Blob([blobPart], {
|
|
58
60
|
type: finalMimeType,
|
|
59
61
|
});
|
|
60
62
|
const url = URL.createObjectURL(blob);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDownloadRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/FileDownloadRuntimeProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileDownloadRuntimeProvider.js","sourceRoot":"","sources":["../../../src/components/sandbox/FileDownloadRuntimeProvider.ts"],"names":[],"mappings":"AASA;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IAAxC;QACS,UAAK,GAAuB,EAAE,CAAC;IA+FxC,CAAC;IA7FA,OAAO;QACN,iBAAiB;QACjB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,UAAU;QACT,OAAO,CAAC,UAAkB,EAAE,EAAE;YAC7B,MAAM,GAAG,GAAG,MAAyC,CAAC;YACtD,GAAG,CAAC,sBAAsB,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAgB,EAAE,QAAiB,EAAE,EAAE;gBAC5F,IAAI,YAAiC,EAAE,aAAqB,CAAC;gBAE7D,IAAI,OAAO,YAAY,IAAI,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;oBAChD,YAAY,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC3C,aAAa,GAAG,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,0BAA0B,CAAC;oBACvE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAChC,MAAM,IAAI,KAAK,CACd,0HAA0H,CAC1H,CAAC;oBACH,CAAC;gBACF,CAAC;qBAAM,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;oBAC1C,YAAY,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CACd,gIAAgI,CAChI,CAAC;oBACH,CAAC;oBACD,aAAa,GAAG,QAAQ,CAAC;gBAC1B,CAAC;qBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACxC,YAAY,GAAG,OAAO,CAAC;oBACvB,aAAa,GAAG,QAAQ,IAAI,YAAY,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACP,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAChD,aAAa,GAAG,QAAQ,IAAI,kBAAkB,CAAC;gBAChD,CAAC;gBAED,0DAA0D;gBAC1D,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC;wBAC7C,IAAI,EAAE,eAAe;wBACrB,QAAQ;wBACR,OAAO,EAAE,YAAY;wBACrB,QAAQ,EAAE,aAAa;qBACvB,CAAC,CAAC;oBACH,IAAI,QAAQ,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrD,CAAC;qBAAM,CAAC;oBACP,kDAAkD;oBAClD,MAAM,QAAQ,GACb,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;oBAChF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE;wBACjC,IAAI,EAAE,aAAa;qBACnB,CAAC,CAAC;oBACH,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;oBACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACtB,CAAC,CAAC,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACF,CAAC,CAAC;QACH,CAAC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAuB,EAAE,OAA4C;QACxF,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACtC,0BAA0B;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC1B,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,cAAc;QACb,OAAO,oIAAoI,CAAC;IAC7I,CAAC;CACD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RuntimeMessage } from "./runtime-messages.js";
|
|
1
2
|
import type { SandboxRuntimeProvider } from "./SandboxRuntimeProvider.js";
|
|
2
3
|
/**
|
|
3
4
|
* Message consumer interface - components that want to receive messages from sandboxes
|
|
@@ -7,7 +8,7 @@ export interface MessageConsumer {
|
|
|
7
8
|
* Handle a message from a sandbox.
|
|
8
9
|
* All consumers receive all messages - decide internally what to handle.
|
|
9
10
|
*/
|
|
10
|
-
handleMessage(message:
|
|
11
|
+
handleMessage(message: RuntimeMessage): Promise<void>;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
13
14
|
* Centralized message router for all runtime communication.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeMessageRouter.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/RuntimeMessageRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAK1E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RuntimeMessageRouter.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/RuntimeMessageRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,cAAc,EAA8C,MAAM,uBAAuB,CAAC;AACnH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAK1E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAYD;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,eAAe,CAA4C;IACnE,OAAO,CAAC,yBAAyB,CAA0C;IAE3E;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI;IAY3G;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAOpE;;;OAGG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAmB1C;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAO/D;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAOlE;;OAEG;IACH,OAAO,CAAC,aAAa;CAuFrB;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,sBAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeMessageRouter.js","sourceRoot":"","sources":["../../../src/components/sandbox/RuntimeMessageRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuntimeMessageRouter.js","sourceRoot":"","sources":["../../../src/components/sandbox/RuntimeMessageRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RuntimeMessage, RuntimeResponse } from "./runtime-messages.js";
|
|
1
2
|
/**
|
|
2
3
|
* Interface for providing runtime capabilities to sandboxed iframes.
|
|
3
4
|
* Each provider injects data and runtime functions into the sandbox context.
|
|
@@ -7,7 +8,7 @@ export interface SandboxRuntimeProvider {
|
|
|
7
8
|
* Returns data to inject into window scope.
|
|
8
9
|
* Keys become window properties (e.g., { attachments: [...] } -> window.attachments)
|
|
9
10
|
*/
|
|
10
|
-
getData(): Record<string,
|
|
11
|
+
getData(): Record<string, unknown>;
|
|
11
12
|
/**
|
|
12
13
|
* Returns a runtime function that will be stringified and executed in the sandbox.
|
|
13
14
|
* The function receives sandboxId and has access to data from getData() via window.
|
|
@@ -23,7 +24,7 @@ export interface SandboxRuntimeProvider {
|
|
|
23
24
|
* @param message - The message from the sandbox
|
|
24
25
|
* @param respond - Function to send a response back to the sandbox
|
|
25
26
|
*/
|
|
26
|
-
handleMessage?(message:
|
|
27
|
+
handleMessage?(message: RuntimeMessage, respond: (response: RuntimeResponse) => void): Promise<void>;
|
|
27
28
|
/**
|
|
28
29
|
* Optional documentation describing what globals/functions this provider injects.
|
|
29
30
|
* This will be appended to tool descriptions dynamically so the LLM knows what's available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/SandboxRuntimeProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"SandboxRuntimeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/sandbox/SandboxRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,UAAU,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE1C;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErG;;;OAGG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAEjE;;;;;OAKG;IACH,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC"}
|