teamshare-bridge 0.26.6 → 0.26.8
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/dist/bridge/daemon-support.d.ts +9 -0
- package/dist/bridge/daemon-support.js +12 -0
- package/dist/bridge/daemon-support.js.map +1 -1
- package/dist/bridge/daemon.js +37 -0
- package/dist/bridge/daemon.js.map +1 -1
- package/dist/bridge/local-server.d.ts +12 -0
- package/dist/bridge/local-server.js +36 -0
- package/dist/bridge/local-server.js.map +1 -1
- package/dist/cli/commands/research.js +25 -2
- package/dist/cli/commands/research.js.map +1 -1
- package/dist/lib/api.d.ts +4 -3
- package/dist/lib/api.js +3 -2
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/browser/batch.d.ts +67 -2
- package/dist/lib/browser/batch.js +109 -4
- package/dist/lib/browser/batch.js.map +1 -1
- package/dist/lib/browser/download.d.ts +19 -0
- package/dist/lib/browser/download.js +251 -0
- package/dist/lib/browser/download.js.map +1 -0
- package/dist/lib/browser/render-image.d.ts +30 -0
- package/dist/lib/browser/render-image.js +285 -0
- package/dist/lib/browser/render-image.js.map +1 -0
- package/dist/lib/browser/session.d.ts +79 -1
- package/dist/lib/browser/session.js +174 -3
- package/dist/lib/browser/session.js.map +1 -1
- package/dist/lib/browser/stage-file.d.ts +17 -0
- package/dist/lib/browser/stage-file.js +23 -0
- package/dist/lib/browser/stage-file.js.map +1 -1
- package/dist/lib/browser/xlsx-template.d.ts +59 -0
- package/dist/lib/browser/xlsx-template.js +380 -0
- package/dist/lib/browser/xlsx-template.js.map +1 -0
- package/dist/lib/git/question-pause.d.ts +9 -0
- package/dist/lib/git/question-pause.js +14 -0
- package/dist/lib/git/question-pause.js.map +1 -1
- package/dist/lib/harness/opencode-control.d.ts +14 -0
- package/dist/lib/harness/opencode-control.js +63 -0
- package/dist/lib/harness/opencode-control.js.map +1 -0
- package/dist/lib/harness/session-store.d.ts +33 -0
- package/dist/lib/harness/session-store.js +38 -0
- package/dist/lib/harness/session-store.js.map +1 -1
- package/dist/lib/harness/spawn.js +56 -18
- package/dist/lib/harness/spawn.js.map +1 -1
- package/dist/lib/orchestrator/handlers/browser.js +181 -1
- package/dist/lib/orchestrator/handlers/browser.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.QA_RENDER_TIMEOUT_MS = exports.QA_RENDER_MAX_WIDTH = exports.QA_RENDER_MIN_WIDTH = exports.QA_RENDER_MAX_HTML_BYTES = void 0;
|
|
7
|
+
exports.wrapRenderDocument = wrapRenderDocument;
|
|
8
|
+
exports.renderHtmlToImage = renderHtmlToImage;
|
|
9
|
+
exports.renderHtmlToPdf = renderHtmlToPdf;
|
|
10
|
+
/**
|
|
11
|
+
* Render HTML to an image/PDF through the debug Chrome (2026-10, QA files).
|
|
12
|
+
*
|
|
13
|
+
* WHY THIS EXISTS: a QA run that reaches a form with `<input type="file">`
|
|
14
|
+
* has no file to attach. The agent cannot write to the user's disk and no
|
|
15
|
+
* MCP tool produces bytes — so the BRIDGE renders the bytes itself, in the
|
|
16
|
+
* browser it already drives, and stages them for `attachFile`.
|
|
17
|
+
*
|
|
18
|
+
* HOW: a throwaway tab on the same debug port (same profile, same cookies —
|
|
19
|
+
* irrelevant here since the document is local), `Page.setDocumentContent`
|
|
20
|
+
* with a CSP-locked wrapper, `Page.captureScreenshot` (PNG) or
|
|
21
|
+
* `Page.printToPDF` (PDF), then the tab is closed and focus is handed back
|
|
22
|
+
* to the driven tab. The render never touches the page the agent is testing.
|
|
23
|
+
*
|
|
24
|
+
* GUARDS: the document cannot run script or make requests
|
|
25
|
+
* (`default-src 'none'; script-src 'none'`), HTML is size-capped by the
|
|
26
|
+
* caller, and the tab is ALWAYS closed in a `finally`.
|
|
27
|
+
*/
|
|
28
|
+
const ws_1 = __importDefault(require("ws"));
|
|
29
|
+
exports.QA_RENDER_MAX_HTML_BYTES = 200 * 1024;
|
|
30
|
+
exports.QA_RENDER_MIN_WIDTH = 320;
|
|
31
|
+
exports.QA_RENDER_MAX_WIDTH = 2400;
|
|
32
|
+
exports.QA_RENDER_TIMEOUT_MS = 10_000;
|
|
33
|
+
/** Lock the agent's HTML into a document that cannot call out or run script. */
|
|
34
|
+
function wrapRenderDocument(html, title) {
|
|
35
|
+
const safeTitle = title.replace(/[<>&"]/g, '');
|
|
36
|
+
return (`<!doctype html><html><head><meta charset="utf-8">` +
|
|
37
|
+
`<title>${safeTitle}</title>` +
|
|
38
|
+
`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'none'; style-src 'unsafe-inline'; img-src data:; font-src data:;">` +
|
|
39
|
+
`<style>body{margin:0;padding:32px;font-family:system-ui,sans-serif;}</style>` +
|
|
40
|
+
`</head><body>${html}</body></html>`);
|
|
41
|
+
}
|
|
42
|
+
async function httpJson(url, init) {
|
|
43
|
+
try {
|
|
44
|
+
const res = await fetch(url, {
|
|
45
|
+
...(init ?? {}),
|
|
46
|
+
signal: AbortSignal.timeout(exports.QA_RENDER_TIMEOUT_MS),
|
|
47
|
+
});
|
|
48
|
+
if (!res.ok)
|
|
49
|
+
return null;
|
|
50
|
+
return (await res.json());
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function send(ws, id, method, params) {
|
|
57
|
+
ws.send(JSON.stringify({ id, method, params }));
|
|
58
|
+
}
|
|
59
|
+
function call(ws, nextId, method, params, timeoutMs = exports.QA_RENDER_TIMEOUT_MS) {
|
|
60
|
+
return new Promise((resolve, reject) => {
|
|
61
|
+
const id = nextId();
|
|
62
|
+
const timer = setTimeout(() => reject(new Error(`CDP timeout: ${method}`)), timeoutMs);
|
|
63
|
+
const onMessage = (raw) => {
|
|
64
|
+
let msg;
|
|
65
|
+
try {
|
|
66
|
+
msg = JSON.parse(raw.toString());
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (msg?.id !== id)
|
|
72
|
+
return;
|
|
73
|
+
clearTimeout(timer);
|
|
74
|
+
ws.off('message', onMessage);
|
|
75
|
+
if (msg.error)
|
|
76
|
+
reject(new Error(msg.error.message ?? method));
|
|
77
|
+
else
|
|
78
|
+
resolve(msg.result);
|
|
79
|
+
};
|
|
80
|
+
ws.on('message', onMessage);
|
|
81
|
+
try {
|
|
82
|
+
send(ws, id, method, params);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
clearTimeout(timer);
|
|
86
|
+
ws.off('message', onMessage);
|
|
87
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function connect(wsUrl, timeoutMs = exports.QA_RENDER_TIMEOUT_MS) {
|
|
92
|
+
return new Promise((resolve, reject) => {
|
|
93
|
+
const ws = new ws_1.default(wsUrl);
|
|
94
|
+
const timer = setTimeout(() => {
|
|
95
|
+
try {
|
|
96
|
+
ws.close();
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
/* already dead */
|
|
100
|
+
}
|
|
101
|
+
reject(new Error('render tab connection timed out'));
|
|
102
|
+
}, timeoutMs);
|
|
103
|
+
ws.on('open', () => {
|
|
104
|
+
clearTimeout(timer);
|
|
105
|
+
resolve(ws);
|
|
106
|
+
});
|
|
107
|
+
ws.on('error', (err) => {
|
|
108
|
+
clearTimeout(timer);
|
|
109
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Open a throwaway tab, render the callback against its CDP session, then
|
|
115
|
+
* close the tab and hand focus back. `drivenTargetId` is best-effort: when
|
|
116
|
+
* the caller does not know it, the render tab simply closes.
|
|
117
|
+
*/
|
|
118
|
+
async function withRenderTab(port, drivenTargetId, fn) {
|
|
119
|
+
const created = await httpJson(`http://127.0.0.1:${port}/json/new?about:blank`, { method: 'PUT' });
|
|
120
|
+
const target = (created ?? null);
|
|
121
|
+
if (!target?.webSocketDebuggerUrl) {
|
|
122
|
+
throw new Error('could not open a render tab on the debug browser');
|
|
123
|
+
}
|
|
124
|
+
const ws = await connect(target.webSocketDebuggerUrl);
|
|
125
|
+
let next = 1;
|
|
126
|
+
const nextId = () => next++;
|
|
127
|
+
try {
|
|
128
|
+
return await fn(ws, nextId);
|
|
129
|
+
}
|
|
130
|
+
finally {
|
|
131
|
+
try {
|
|
132
|
+
ws.close();
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
/* already dead */
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
await httpJson(`http://127.0.0.1:${port}/json/close/${target.id}`);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
/* best-effort */
|
|
142
|
+
}
|
|
143
|
+
if (drivenTargetId) {
|
|
144
|
+
try {
|
|
145
|
+
await httpJson(`http://127.0.0.1:${port}/json/activate/${drivenTargetId}`);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
/* best-effort: focus restore must never fail the render */
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
async function waitSettled(ws, nextId, timeoutMs = exports.QA_RENDER_TIMEOUT_MS) {
|
|
154
|
+
const start = Date.now();
|
|
155
|
+
for (;;) {
|
|
156
|
+
let state = '';
|
|
157
|
+
try {
|
|
158
|
+
const res = await call(ws, nextId, 'Runtime.evaluate', {
|
|
159
|
+
expression: 'document.readyState',
|
|
160
|
+
returnByValue: true,
|
|
161
|
+
});
|
|
162
|
+
state = String(res?.result?.value ?? '');
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
/* a failed poll is not a failed render */
|
|
166
|
+
}
|
|
167
|
+
if (state === 'complete')
|
|
168
|
+
break;
|
|
169
|
+
if (Date.now() - start > timeoutMs)
|
|
170
|
+
break;
|
|
171
|
+
await new Promise((r) => setTimeout(r, 150));
|
|
172
|
+
}
|
|
173
|
+
try {
|
|
174
|
+
await call(ws, nextId, 'Runtime.evaluate', {
|
|
175
|
+
expression: 'document.fonts ? document.fonts.ready.then(() => 1) : 1',
|
|
176
|
+
awaitPromise: true,
|
|
177
|
+
returnByValue: true,
|
|
178
|
+
}, 4000);
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
/* fonts are best-effort */
|
|
182
|
+
}
|
|
183
|
+
await new Promise((r) => setTimeout(r, 150));
|
|
184
|
+
}
|
|
185
|
+
function clampWidth(width) {
|
|
186
|
+
const n = typeof width === 'number' ? Math.round(width) : 1200;
|
|
187
|
+
return Math.min(exports.QA_RENDER_MAX_WIDTH, Math.max(exports.QA_RENDER_MIN_WIDTH, Number.isFinite(n) ? n : 1200));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Render agent HTML to a PNG buffer. `drivenTargetId` restores focus to the
|
|
191
|
+
* page under test afterwards (pass undefined when unknown).
|
|
192
|
+
*/
|
|
193
|
+
async function renderHtmlToImage(port, html, opts) {
|
|
194
|
+
if (!html || !html.trim()) {
|
|
195
|
+
return { ok: false, error: 'html is required to render an image' };
|
|
196
|
+
}
|
|
197
|
+
if (Buffer.byteLength(html, 'utf8') > exports.QA_RENDER_MAX_HTML_BYTES) {
|
|
198
|
+
return {
|
|
199
|
+
ok: false,
|
|
200
|
+
error: `html is too large (max ${exports.QA_RENDER_MAX_HTML_BYTES / 1024} KB)`,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
const width = clampWidth(opts?.width);
|
|
204
|
+
try {
|
|
205
|
+
const out = await withRenderTab(port, opts?.drivenTargetId, async (ws, nextId) => {
|
|
206
|
+
await call(ws, nextId, 'Page.enable', {});
|
|
207
|
+
const tree = await call(ws, nextId, 'Page.getFrameTree', {});
|
|
208
|
+
const frameId = tree?.frameTree?.frame?.id;
|
|
209
|
+
if (!frameId)
|
|
210
|
+
throw new Error('render tab has no frame');
|
|
211
|
+
await call(ws, nextId, 'Emulation.setDeviceMetricsOverride', {
|
|
212
|
+
width,
|
|
213
|
+
height: 900,
|
|
214
|
+
deviceScaleFactor: 1,
|
|
215
|
+
mobile: false,
|
|
216
|
+
});
|
|
217
|
+
await call(ws, nextId, 'Page.setDocumentContent', {
|
|
218
|
+
frameId,
|
|
219
|
+
html: wrapRenderDocument(html, opts?.title ?? 'test upload'),
|
|
220
|
+
});
|
|
221
|
+
await waitSettled(ws, nextId);
|
|
222
|
+
const shot = await call(ws, nextId, 'Page.captureScreenshot', {
|
|
223
|
+
format: 'png',
|
|
224
|
+
captureBeyondViewport: true,
|
|
225
|
+
});
|
|
226
|
+
if (!shot?.data)
|
|
227
|
+
throw new Error('the render produced no image');
|
|
228
|
+
return { data: String(shot.data) };
|
|
229
|
+
});
|
|
230
|
+
return {
|
|
231
|
+
ok: true,
|
|
232
|
+
buffer: Buffer.from(out.data, 'base64'),
|
|
233
|
+
width,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
catch (err) {
|
|
237
|
+
return {
|
|
238
|
+
ok: false,
|
|
239
|
+
error: err instanceof Error ? err.message : String(err),
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Render agent HTML to a PDF buffer (forms that demand a document upload).
|
|
245
|
+
* Same tab machinery as the PNG path.
|
|
246
|
+
*/
|
|
247
|
+
async function renderHtmlToPdf(port, html, opts) {
|
|
248
|
+
if (!html || !html.trim()) {
|
|
249
|
+
return { ok: false, error: 'html is required to render a PDF' };
|
|
250
|
+
}
|
|
251
|
+
if (Buffer.byteLength(html, 'utf8') > exports.QA_RENDER_MAX_HTML_BYTES) {
|
|
252
|
+
return {
|
|
253
|
+
ok: false,
|
|
254
|
+
error: `html is too large (max ${exports.QA_RENDER_MAX_HTML_BYTES / 1024} KB)`,
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
try {
|
|
258
|
+
const out = await withRenderTab(port, opts?.drivenTargetId, async (ws, nextId) => {
|
|
259
|
+
await call(ws, nextId, 'Page.enable', {});
|
|
260
|
+
const tree = await call(ws, nextId, 'Page.getFrameTree', {});
|
|
261
|
+
const frameId = tree?.frameTree?.frame?.id;
|
|
262
|
+
if (!frameId)
|
|
263
|
+
throw new Error('render tab has no frame');
|
|
264
|
+
await call(ws, nextId, 'Page.setDocumentContent', {
|
|
265
|
+
frameId,
|
|
266
|
+
html: wrapRenderDocument(html, opts?.title ?? 'test upload'),
|
|
267
|
+
});
|
|
268
|
+
await waitSettled(ws, nextId);
|
|
269
|
+
const pdf = await call(ws, nextId, 'Page.printToPDF', {
|
|
270
|
+
printBackground: true,
|
|
271
|
+
});
|
|
272
|
+
if (!pdf?.data)
|
|
273
|
+
throw new Error('the render produced no PDF');
|
|
274
|
+
return { data: String(pdf.data) };
|
|
275
|
+
});
|
|
276
|
+
return { ok: true, buffer: Buffer.from(out.data, 'base64') };
|
|
277
|
+
}
|
|
278
|
+
catch (err) {
|
|
279
|
+
return {
|
|
280
|
+
ok: false,
|
|
281
|
+
error: err instanceof Error ? err.message : String(err),
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=render-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-image.js","sourceRoot":"","sources":["../../../src/lib/browser/render-image.ts"],"names":[],"mappings":";;;;;;AAkCA,gDASC;AA0LD,8CAsDC;AAMD,0CA0CC;AA3UD;;;;;;;;;;;;;;;;;GAiBG;AACH,4CAA2B;AAEd,QAAA,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAC;AACtC,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAC1B,QAAA,mBAAmB,GAAG,IAAI,CAAC;AAC3B,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAU3C,gFAAgF;AAChF,SAAgB,kBAAkB,CAAC,IAAY,EAAE,KAAa;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,CACL,mDAAmD;QACnD,UAAU,SAAS,UAAU;QAC7B,wJAAwJ;QACxJ,8EAA8E;QAC9E,gBAAgB,IAAI,gBAAgB,CACrC,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,QAAQ,CACrB,GAAW,EACX,IAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,4BAAoB,CAAC;SAClD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA4B,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,EAAa,EAAE,EAAU,EAAE,MAAc,EAAE,MAAW;IAClE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,IAAI,CACX,EAAa,EACb,MAAoB,EACpB,MAAc,EACd,MAAW,EACX,SAAS,GAAG,4BAAoB;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,EACjD,SAAS,CACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAChC,IAAI,GAAQ,CAAC;YACb,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE;gBAAE,OAAO;YAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7B,IAAI,GAAG,CAAC,KAAK;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;;gBACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7B,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CACd,KAAa,EACb,SAAS,GAAG,4BAAoB;IAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,YAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;YACD,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;QACvD,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,cAAkC,EAClC,EAAuD;IAEvD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAC5B,oBAAoB,IAAI,uBAAuB,EAC/C,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,IAAI,CAAgC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,oBAAoB,IAAI,eAAe,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,QAAQ,CACZ,oBAAoB,IAAI,kBAAkB,cAAc,EAAE,CAC3D,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,EAAa,EACb,MAAoB,EACpB,SAAS,GAAG,4BAAoB;IAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,SAAS,CAAC;QACR,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;gBACrD,UAAU,EAAE,qBAAqB;gBACjC,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QACD,IAAI,KAAK,KAAK,UAAU;YAAE,MAAM;QAChC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS;YAAE,MAAM;QAC1C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,CACR,EAAE,EACF,MAAM,EACN,kBAAkB,EAClB;YACE,UAAU,EAAE,yDAAyD;YACrE,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;SACpB,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;IAC7B,CAAC;IACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CACb,2BAAmB,EACnB,IAAI,CAAC,GAAG,CAAC,2BAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,IAAY,EACZ,IAAkE;IAElE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,gCAAwB,EAAE,CAAC;QAC/D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,0BAA0B,gCAAwB,GAAG,IAAI,MAAM;SACvE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,IAAI,EACJ,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;YACnB,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,oCAAoC,EAAE;gBAC3D,KAAK;gBACL,MAAM,EAAE,GAAG;gBACX,iBAAiB,EAAE,CAAC;gBACpB,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;gBAChD,OAAO;gBACP,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC;aAC7D,CAAC,CAAC;YACH,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE;gBAC5D,MAAM,EAAE,KAAK;gBACb,qBAAqB,EAAE,IAAI;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,CAAC,CACF,CAAC;QACF,OAAO;YACL,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YACvC,KAAK;SACN,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,IAAY,EACZ,IAAkD;IAElD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,gCAAwB,EAAE,CAAC;QAC/D,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,0BAA0B,gCAAwB,GAAG,IAAI,MAAM;SACvE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAC7B,IAAI,EACJ,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;YACnB,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE;gBAChD,OAAO;gBACP,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,CAAC;aAC7D,CAAC,CAAC;YACH,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;gBACpD,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC,CACF,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CdpPage, ElementInfo, PageInfo, PageText, PageLink } from './cdp';
|
|
2
2
|
import { type NetworkEntry, type ConsoleEntry } from './network-log';
|
|
3
|
+
import { type ReadStagedResult, type FillExcelResult } from './xlsx-template';
|
|
3
4
|
import { type LoginResult, type PerformLoginOptions } from './login';
|
|
4
5
|
/**
|
|
5
6
|
* Persistent Chrome profile for the AUTO-ANSWER browser (research reads,
|
|
@@ -188,11 +189,88 @@ export declare class BrowserSession {
|
|
|
188
189
|
* `stage-file.ts`. `DOM.setFileInputFiles` hands an absolute path to Chrome,
|
|
189
190
|
* so without that confinement a caller could attach ANY file on the user's
|
|
190
191
|
* disk.
|
|
192
|
+
*
|
|
193
|
+
* Generator form (QA, 2026-10): when `filePath` is absent but `generate`
|
|
194
|
+
* carries bytes, the file is staged first and attached in the same call —
|
|
195
|
+
* the agent never handles a path at all.
|
|
196
|
+
*/
|
|
197
|
+
attachFile(runId: string, filePath: string, selector?: string, generate?: {
|
|
198
|
+
fileName?: string;
|
|
199
|
+
html?: string;
|
|
200
|
+
pdf?: boolean;
|
|
201
|
+
text?: string;
|
|
202
|
+
data?: string;
|
|
203
|
+
}): Promise<{
|
|
204
|
+
ok: boolean;
|
|
205
|
+
path?: string;
|
|
206
|
+
error?: string;
|
|
207
|
+
}>;
|
|
208
|
+
/**
|
|
209
|
+
* Manufacture a file inside the run's staging directory (QA, 2026-10).
|
|
210
|
+
*
|
|
211
|
+
* Exactly one source wins: `html` (rendered to PNG, or PDF with
|
|
212
|
+
* `pdf: true`, in the debug browser itself), `text` (CSV/TSV/JSON written
|
|
213
|
+
* verbatim), or `data` (base64 bytes, e.g. a screenshot the agent just
|
|
214
|
+
* took). The agent never writes to the user's disk directly — every byte
|
|
215
|
+
* lands in `~/.teamshare/runs/<runId>/`, the only place `attachFile` reads
|
|
216
|
+
* from.
|
|
191
217
|
*/
|
|
192
|
-
|
|
218
|
+
stageFile(opts: {
|
|
219
|
+
runId: string;
|
|
220
|
+
fileName?: string;
|
|
221
|
+
html?: string;
|
|
222
|
+
pdf?: boolean;
|
|
223
|
+
text?: string;
|
|
224
|
+
data?: string;
|
|
225
|
+
}): Promise<{
|
|
193
226
|
ok: boolean;
|
|
227
|
+
path?: string;
|
|
228
|
+
fileName?: string;
|
|
229
|
+
bytes?: number;
|
|
194
230
|
error?: string;
|
|
195
231
|
}>;
|
|
232
|
+
/**
|
|
233
|
+
* Download a template file into the run's staging directory (QA, 2026-10).
|
|
234
|
+
* With `url`: a throwaway tab (same profile, login holds) fetches it while
|
|
235
|
+
* the driven page stays put. Without `url`: waits for a download the agent
|
|
236
|
+
* already triggered on the driven page.
|
|
237
|
+
*/
|
|
238
|
+
downloadFile(opts: {
|
|
239
|
+
runId: string;
|
|
240
|
+
url?: string;
|
|
241
|
+
timeoutMs?: number;
|
|
242
|
+
}): Promise<{
|
|
243
|
+
ok: boolean;
|
|
244
|
+
path?: string;
|
|
245
|
+
fileName?: string;
|
|
246
|
+
bytes?: number;
|
|
247
|
+
error?: string;
|
|
248
|
+
}>;
|
|
249
|
+
/**
|
|
250
|
+
* Read a staged file back (QA, 2026-10): spreadsheets as header-keyed
|
|
251
|
+
* rows, text formats as text. The agent reads the template BEFORE filling
|
|
252
|
+
* it, so column names come from the file, never from a guess.
|
|
253
|
+
*/
|
|
254
|
+
readStagedFile(opts: {
|
|
255
|
+
runId: string;
|
|
256
|
+
filePath: string;
|
|
257
|
+
sheet?: string;
|
|
258
|
+
maxRows?: number;
|
|
259
|
+
}): Promise<ReadStagedResult>;
|
|
260
|
+
/**
|
|
261
|
+
* Fill a COPY of a staged spreadsheet template (QA, 2026-10): `cells`
|
|
262
|
+
* writes exact addresses, `rows` appends header-keyed objects after the
|
|
263
|
+
* last used row. The original download is untouched, so a retry starts
|
|
264
|
+
* clean; styles, formulas and validation survive.
|
|
265
|
+
*/
|
|
266
|
+
fillExcel(opts: {
|
|
267
|
+
runId: string;
|
|
268
|
+
templatePath: string;
|
|
269
|
+
fileName?: string;
|
|
270
|
+
cells?: Record<string, unknown>;
|
|
271
|
+
rows?: Array<Record<string, unknown>>;
|
|
272
|
+
sheet?: string;
|
|
273
|
+
}): Promise<FillExcelResult>;
|
|
196
274
|
/**
|
|
197
275
|
* Submit the form on the page (the form that has a submit control).
|
|
198
276
|
*/
|
|
@@ -15,6 +15,9 @@ const node_path_1 = require("node:path");
|
|
|
15
15
|
const network_log_1 = require("./network-log");
|
|
16
16
|
const cdp_1 = require("./cdp");
|
|
17
17
|
const stage_file_1 = require("./stage-file");
|
|
18
|
+
const render_image_1 = require("./render-image");
|
|
19
|
+
const download_1 = require("./download");
|
|
20
|
+
const xlsx_template_1 = require("./xlsx-template");
|
|
18
21
|
const launch_1 = require("./launch");
|
|
19
22
|
const owned_registry_1 = require("./owned-registry");
|
|
20
23
|
const process_1 = require("./process");
|
|
@@ -308,17 +311,185 @@ class BrowserSession {
|
|
|
308
311
|
* `stage-file.ts`. `DOM.setFileInputFiles` hands an absolute path to Chrome,
|
|
309
312
|
* so without that confinement a caller could attach ANY file on the user's
|
|
310
313
|
* disk.
|
|
314
|
+
*
|
|
315
|
+
* Generator form (QA, 2026-10): when `filePath` is absent but `generate`
|
|
316
|
+
* carries bytes, the file is staged first and attached in the same call —
|
|
317
|
+
* the agent never handles a path at all.
|
|
311
318
|
*/
|
|
312
|
-
async attachFile(runId, filePath, selector) {
|
|
319
|
+
async attachFile(runId, filePath, selector, generate) {
|
|
313
320
|
this.ensureConnected();
|
|
314
|
-
|
|
321
|
+
let target = filePath;
|
|
322
|
+
if ((!target || !target.trim()) && generate) {
|
|
323
|
+
const staged = await this.stageFile({
|
|
324
|
+
runId,
|
|
325
|
+
fileName: generate.fileName,
|
|
326
|
+
html: generate.html,
|
|
327
|
+
pdf: generate.pdf,
|
|
328
|
+
text: generate.text,
|
|
329
|
+
data: generate.data,
|
|
330
|
+
});
|
|
331
|
+
if (!staged.ok || !staged.path) {
|
|
332
|
+
return {
|
|
333
|
+
ok: false,
|
|
334
|
+
error: staged.error ?? 'the file could not be staged',
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
target = staged.path;
|
|
338
|
+
}
|
|
339
|
+
const safe = (0, stage_file_1.safeStagedPath)(runId, target);
|
|
315
340
|
if (!safe) {
|
|
316
341
|
return {
|
|
317
342
|
ok: false,
|
|
318
343
|
error: "the file is not in this run's staging directory, so it was not attached",
|
|
319
344
|
};
|
|
320
345
|
}
|
|
321
|
-
|
|
346
|
+
const result = await (0, cdp_1.setFileInputFiles)(this.page, safe, selector);
|
|
347
|
+
return result.ok ? { ok: true, path: safe } : result;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Manufacture a file inside the run's staging directory (QA, 2026-10).
|
|
351
|
+
*
|
|
352
|
+
* Exactly one source wins: `html` (rendered to PNG, or PDF with
|
|
353
|
+
* `pdf: true`, in the debug browser itself), `text` (CSV/TSV/JSON written
|
|
354
|
+
* verbatim), or `data` (base64 bytes, e.g. a screenshot the agent just
|
|
355
|
+
* took). The agent never writes to the user's disk directly — every byte
|
|
356
|
+
* lands in `~/.teamshare/runs/<runId>/`, the only place `attachFile` reads
|
|
357
|
+
* from.
|
|
358
|
+
*/
|
|
359
|
+
async stageFile(opts) {
|
|
360
|
+
this.ensureConnected();
|
|
361
|
+
const runId = String(opts.runId ?? '').trim();
|
|
362
|
+
if (!runId) {
|
|
363
|
+
return { ok: false, error: 'runId is required to stage a file' };
|
|
364
|
+
}
|
|
365
|
+
const sources = [opts.html, opts.text, opts.data].filter((s) => typeof s === 'string' && s.trim().length > 0);
|
|
366
|
+
if (sources.length === 0) {
|
|
367
|
+
return {
|
|
368
|
+
ok: false,
|
|
369
|
+
error: 'nothing to stage — pass html, text or data (base64)',
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
if (sources.length > 1) {
|
|
373
|
+
return {
|
|
374
|
+
ok: false,
|
|
375
|
+
error: 'pass exactly one of html, text or data — not several',
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
// Base64 bytes, e.g. a screenshot the agent captured on this same page.
|
|
379
|
+
if (opts.data && opts.data.trim()) {
|
|
380
|
+
let buffer;
|
|
381
|
+
try {
|
|
382
|
+
const b64 = opts.data.trim().replace(/^data:[^,]+,/, '');
|
|
383
|
+
buffer = Buffer.from(b64, 'base64');
|
|
384
|
+
}
|
|
385
|
+
catch {
|
|
386
|
+
return { ok: false, error: 'data is not valid base64' };
|
|
387
|
+
}
|
|
388
|
+
if (buffer.length === 0 || buffer.length > 1.5 * 1024 * 1024) {
|
|
389
|
+
return { ok: false, error: 'data must be 1 byte to 1.5 MB' };
|
|
390
|
+
}
|
|
391
|
+
const staged = await (0, stage_file_1.stageFile)({
|
|
392
|
+
runId,
|
|
393
|
+
fileName: (opts.fileName && opts.fileName.trim()) || 'upload.bin',
|
|
394
|
+
buffer,
|
|
395
|
+
});
|
|
396
|
+
if (!staged)
|
|
397
|
+
return { ok: false, error: 'the file could not be staged' };
|
|
398
|
+
return {
|
|
399
|
+
ok: true,
|
|
400
|
+
path: staged.path,
|
|
401
|
+
fileName: staged.path.split(/[\\/]/).pop(),
|
|
402
|
+
bytes: staged.bytes,
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
// Plain text (CSV/TSV/JSON the agent composed itself).
|
|
406
|
+
if (opts.text !== undefined && opts.text.trim()) {
|
|
407
|
+
if (Buffer.byteLength(opts.text, 'utf8') > xlsx_template_1.QA_TEXT_MAX_BYTES) {
|
|
408
|
+
return {
|
|
409
|
+
ok: false,
|
|
410
|
+
error: `text is too large (max ${xlsx_template_1.QA_TEXT_MAX_BYTES / 1024} KB)`,
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
const staged = await (0, stage_file_1.stageText)({
|
|
414
|
+
runId,
|
|
415
|
+
fileName: (opts.fileName && opts.fileName.trim()) || 'data.txt',
|
|
416
|
+
text: opts.text,
|
|
417
|
+
});
|
|
418
|
+
if (!staged)
|
|
419
|
+
return { ok: false, error: 'the file could not be staged' };
|
|
420
|
+
return {
|
|
421
|
+
ok: true,
|
|
422
|
+
path: staged.path,
|
|
423
|
+
fileName: staged.path.split(/[\\/]/).pop(),
|
|
424
|
+
bytes: staged.bytes,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
// HTML rendered in the debug browser itself (PNG, or PDF for document
|
|
428
|
+
// uploads). The driven page is untouched — the render uses a throwaway tab.
|
|
429
|
+
const html = String(opts.html ?? '');
|
|
430
|
+
if (Buffer.byteLength(html, 'utf8') > render_image_1.QA_RENDER_MAX_HTML_BYTES) {
|
|
431
|
+
return {
|
|
432
|
+
ok: false,
|
|
433
|
+
error: `html is too large (max ${render_image_1.QA_RENDER_MAX_HTML_BYTES / 1024} KB)`,
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
const isPdf = opts.pdf === true;
|
|
437
|
+
const ext = isPdf ? 'pdf' : 'png';
|
|
438
|
+
const name = (0, stage_file_1.ensureExtension)((opts.fileName && opts.fileName.trim()) || `upload.${ext}`, ext);
|
|
439
|
+
const drivenTargetId = this.page?.targetId;
|
|
440
|
+
const rendered = isPdf
|
|
441
|
+
? await (0, render_image_1.renderHtmlToPdf)(this._port, html, { drivenTargetId })
|
|
442
|
+
: await (0, render_image_1.renderHtmlToImage)(this._port, html, { drivenTargetId });
|
|
443
|
+
if (!rendered.ok || !rendered.buffer) {
|
|
444
|
+
return { ok: false, error: rendered.error ?? 'the render failed' };
|
|
445
|
+
}
|
|
446
|
+
const staged = await (0, stage_file_1.stageFile)({
|
|
447
|
+
runId,
|
|
448
|
+
fileName: name,
|
|
449
|
+
buffer: rendered.buffer,
|
|
450
|
+
});
|
|
451
|
+
if (!staged)
|
|
452
|
+
return { ok: false, error: 'the file could not be staged' };
|
|
453
|
+
return {
|
|
454
|
+
ok: true,
|
|
455
|
+
path: staged.path,
|
|
456
|
+
fileName: staged.path.split(/[\\/]/).pop(),
|
|
457
|
+
bytes: staged.bytes,
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Download a template file into the run's staging directory (QA, 2026-10).
|
|
462
|
+
* With `url`: a throwaway tab (same profile, login holds) fetches it while
|
|
463
|
+
* the driven page stays put. Without `url`: waits for a download the agent
|
|
464
|
+
* already triggered on the driven page.
|
|
465
|
+
*/
|
|
466
|
+
async downloadFile(opts) {
|
|
467
|
+
this.ensureConnected();
|
|
468
|
+
return (0, download_1.downloadTemplateFile)({
|
|
469
|
+
port: this._port,
|
|
470
|
+
runId: opts.runId,
|
|
471
|
+
url: opts.url,
|
|
472
|
+
timeoutMs: opts.timeoutMs,
|
|
473
|
+
});
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Read a staged file back (QA, 2026-10): spreadsheets as header-keyed
|
|
477
|
+
* rows, text formats as text. The agent reads the template BEFORE filling
|
|
478
|
+
* it, so column names come from the file, never from a guess.
|
|
479
|
+
*/
|
|
480
|
+
async readStagedFile(opts) {
|
|
481
|
+
this.ensureConnected();
|
|
482
|
+
return (0, xlsx_template_1.readStagedFile)(opts);
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Fill a COPY of a staged spreadsheet template (QA, 2026-10): `cells`
|
|
486
|
+
* writes exact addresses, `rows` appends header-keyed objects after the
|
|
487
|
+
* last used row. The original download is untouched, so a retry starts
|
|
488
|
+
* clean; styles, formulas and validation survive.
|
|
489
|
+
*/
|
|
490
|
+
async fillExcel(opts) {
|
|
491
|
+
this.ensureConnected();
|
|
492
|
+
return (0, xlsx_template_1.fillStagedSpreadsheet)(opts);
|
|
322
493
|
}
|
|
323
494
|
/**
|
|
324
495
|
* Submit the form on the page (the form that has a submit control).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/lib/browser/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/lib/browser/session.ts"],"names":[],"mappings":"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"}
|