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
|
@@ -150,16 +150,121 @@ async function runBatchStep(session, step, lastElements) {
|
|
|
150
150
|
throw new Error('this browser session cannot attach files');
|
|
151
151
|
}
|
|
152
152
|
const filePath = String(step.filePath ?? '');
|
|
153
|
-
if (!filePath)
|
|
154
|
-
throw new Error('filePath is required for attachFile');
|
|
155
153
|
const runId = String(step.runId ?? '');
|
|
156
154
|
if (!runId)
|
|
157
155
|
throw new Error('runId is required for attachFile');
|
|
158
|
-
const
|
|
156
|
+
const hasGenerator = typeof step.html === 'string' ||
|
|
157
|
+
typeof step.text === 'string' ||
|
|
158
|
+
typeof step.data === 'string';
|
|
159
|
+
if (!filePath && !hasGenerator) {
|
|
160
|
+
throw new Error('filePath (or html/text/data to generate it) is required for attachFile');
|
|
161
|
+
}
|
|
162
|
+
const result = await session.attachFile(runId, filePath, typeof step.selector === 'string' ? step.selector : undefined, hasGenerator
|
|
163
|
+
? {
|
|
164
|
+
fileName: typeof step.fileName === 'string' ? step.fileName : undefined,
|
|
165
|
+
html: typeof step.html === 'string' ? step.html : undefined,
|
|
166
|
+
pdf: step.pdf === true || step.format === 'pdf',
|
|
167
|
+
text: typeof step.text === 'string' ? step.text : undefined,
|
|
168
|
+
data: typeof step.data === 'string' ? step.data : undefined,
|
|
169
|
+
}
|
|
170
|
+
: undefined);
|
|
159
171
|
if (!result?.ok) {
|
|
160
172
|
throw new Error(result?.error ?? 'the file could not be attached');
|
|
161
173
|
}
|
|
162
|
-
return { attached: true, filePath };
|
|
174
|
+
return { attached: true, filePath: result.path ?? filePath };
|
|
175
|
+
}
|
|
176
|
+
case 'stageFile': {
|
|
177
|
+
if (!session.stageFile) {
|
|
178
|
+
throw new Error('this browser session cannot stage files');
|
|
179
|
+
}
|
|
180
|
+
const runId = String(step.runId ?? '');
|
|
181
|
+
if (!runId)
|
|
182
|
+
throw new Error('runId is required for stageFile');
|
|
183
|
+
const result = await session.stageFile({
|
|
184
|
+
runId,
|
|
185
|
+
fileName: typeof step.fileName === 'string' ? step.fileName : undefined,
|
|
186
|
+
html: typeof step.html === 'string' ? step.html : undefined,
|
|
187
|
+
pdf: step.pdf === true || step.format === 'pdf',
|
|
188
|
+
text: typeof step.text === 'string' ? step.text : undefined,
|
|
189
|
+
data: typeof step.data === 'string' ? step.data : undefined,
|
|
190
|
+
});
|
|
191
|
+
if (!result?.ok) {
|
|
192
|
+
throw new Error(result?.error ?? 'the file could not be staged');
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
staged: true,
|
|
196
|
+
path: result.path,
|
|
197
|
+
fileName: result.fileName,
|
|
198
|
+
bytes: result.bytes,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
case 'downloadFile': {
|
|
202
|
+
if (!session.downloadFile) {
|
|
203
|
+
throw new Error('this browser session cannot download files');
|
|
204
|
+
}
|
|
205
|
+
const runId = String(step.runId ?? '');
|
|
206
|
+
if (!runId)
|
|
207
|
+
throw new Error('runId is required for downloadFile');
|
|
208
|
+
const result = await session.downloadFile({
|
|
209
|
+
runId,
|
|
210
|
+
url: typeof step.url === 'string' ? step.url : undefined,
|
|
211
|
+
timeoutMs: typeof step.timeoutMs === 'number' ? step.timeoutMs : undefined,
|
|
212
|
+
});
|
|
213
|
+
if (!result?.ok) {
|
|
214
|
+
throw new Error(result?.error ?? 'the download failed');
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
downloaded: true,
|
|
218
|
+
path: result.path,
|
|
219
|
+
fileName: result.fileName,
|
|
220
|
+
bytes: result.bytes,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
case 'readStagedFile': {
|
|
224
|
+
if (!session.readStagedFile) {
|
|
225
|
+
throw new Error('this browser session cannot read staged files');
|
|
226
|
+
}
|
|
227
|
+
const runId = String(step.runId ?? '');
|
|
228
|
+
const filePath = String(step.filePath ?? '');
|
|
229
|
+
if (!runId || !filePath) {
|
|
230
|
+
throw new Error('runId and filePath are required for readStagedFile');
|
|
231
|
+
}
|
|
232
|
+
const result = await session.readStagedFile({
|
|
233
|
+
runId,
|
|
234
|
+
filePath,
|
|
235
|
+
sheet: typeof step.sheet === 'string' ? step.sheet : undefined,
|
|
236
|
+
maxRows: typeof step.maxRows === 'number' ? step.maxRows : undefined,
|
|
237
|
+
});
|
|
238
|
+
if (!result?.ok) {
|
|
239
|
+
throw new Error(result?.error ?? 'the file could not be read');
|
|
240
|
+
}
|
|
241
|
+
return result;
|
|
242
|
+
}
|
|
243
|
+
case 'fillExcel': {
|
|
244
|
+
if (!session.fillExcel) {
|
|
245
|
+
throw new Error('this browser session cannot fill spreadsheets');
|
|
246
|
+
}
|
|
247
|
+
const runId = String(step.runId ?? '');
|
|
248
|
+
const templatePath = String(step.templatePath ?? '');
|
|
249
|
+
if (!runId || !templatePath) {
|
|
250
|
+
throw new Error('runId and templatePath are required for fillExcel');
|
|
251
|
+
}
|
|
252
|
+
const result = await session.fillExcel({
|
|
253
|
+
runId,
|
|
254
|
+
templatePath,
|
|
255
|
+
fileName: typeof step.fileName === 'string' ? step.fileName : undefined,
|
|
256
|
+
cells: step.cells && typeof step.cells === 'object'
|
|
257
|
+
? step.cells
|
|
258
|
+
: undefined,
|
|
259
|
+
rows: Array.isArray(step.rows)
|
|
260
|
+
? step.rows
|
|
261
|
+
: undefined,
|
|
262
|
+
sheet: typeof step.sheet === 'string' ? step.sheet : undefined,
|
|
263
|
+
});
|
|
264
|
+
if (!result?.ok) {
|
|
265
|
+
throw new Error(result?.error ?? 'the spreadsheet could not be filled');
|
|
266
|
+
}
|
|
267
|
+
return result;
|
|
163
268
|
}
|
|
164
269
|
case 'submit': {
|
|
165
270
|
if (!session.submit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/lib/browser/batch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/lib/browser/batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const QA_DOWNLOAD_TIMEOUT_MS = 45000;
|
|
2
|
+
export declare const QA_DOWNLOAD_MAX_BYTES: number;
|
|
3
|
+
export interface DownloadFileResult {
|
|
4
|
+
ok: boolean;
|
|
5
|
+
path?: string;
|
|
6
|
+
fileName?: string;
|
|
7
|
+
bytes?: number;
|
|
8
|
+
error?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Download `url` (or wait for an already-triggered download) into the run's
|
|
12
|
+
* staging directory. Returns the staged absolute path.
|
|
13
|
+
*/
|
|
14
|
+
export declare function downloadTemplateFile(opts: {
|
|
15
|
+
port: number;
|
|
16
|
+
runId: string;
|
|
17
|
+
url?: string;
|
|
18
|
+
timeoutMs?: number;
|
|
19
|
+
}): Promise<DownloadFileResult>;
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.QA_DOWNLOAD_MAX_BYTES = exports.QA_DOWNLOAD_TIMEOUT_MS = void 0;
|
|
37
|
+
exports.downloadTemplateFile = downloadTemplateFile;
|
|
38
|
+
/**
|
|
39
|
+
* Download a template file into the run's staging directory (2026-10, QA).
|
|
40
|
+
*
|
|
41
|
+
* WHY THIS EXISTS: a QA flow that must fill and re-upload a spreadsheet
|
|
42
|
+
* template cannot work from a URL alone — the agent has to READ the template
|
|
43
|
+
* (headers, validation), FILL it, and ATTACH the result. The bytes have to
|
|
44
|
+
* land inside the run's staging directory, because that is the only place
|
|
45
|
+
* `attachFile` may read from.
|
|
46
|
+
*
|
|
47
|
+
* Two trigger styles, because sites offer the template two ways:
|
|
48
|
+
* - `url`: a direct link. A throwaway tab (same profile, so the login holds)
|
|
49
|
+
* navigates to it while the driven page stays exactly where it is.
|
|
50
|
+
* - no `url`: the agent already triggered the download on the driven page
|
|
51
|
+
* (clicked the "Download template" button in a previous action). The call
|
|
52
|
+
* then only waits for a new file to settle in the staging directory.
|
|
53
|
+
*
|
|
54
|
+
* Completion is polled, not assumed: a file counts only when it exists, is
|
|
55
|
+
* not a partial-download stub (`.crdownload`/`.part`/`.tmp`), and its size
|
|
56
|
+
* is stable across two polls.
|
|
57
|
+
*/
|
|
58
|
+
const node_fs_1 = require("node:fs");
|
|
59
|
+
const node_path_1 = require("node:path");
|
|
60
|
+
const stage_file_1 = require("./stage-file");
|
|
61
|
+
exports.QA_DOWNLOAD_TIMEOUT_MS = 45_000;
|
|
62
|
+
exports.QA_DOWNLOAD_MAX_BYTES = 25 * 1024 * 1024;
|
|
63
|
+
const PARTIAL_SUFFIXES = ['.crdownload', '.part', '.tmp', '.download'];
|
|
64
|
+
function isPartial(name) {
|
|
65
|
+
const lower = name.toLowerCase();
|
|
66
|
+
return PARTIAL_SUFFIXES.some((s) => lower.endsWith(s));
|
|
67
|
+
}
|
|
68
|
+
function snapshot(dir) {
|
|
69
|
+
const out = new Map();
|
|
70
|
+
let entries = [];
|
|
71
|
+
try {
|
|
72
|
+
entries = (0, node_fs_1.readdirSync)(dir);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
for (const name of entries) {
|
|
78
|
+
if (isPartial(name))
|
|
79
|
+
continue;
|
|
80
|
+
try {
|
|
81
|
+
out.set(name, (0, node_fs_1.statSync)((0, node_path_1.join)(dir, name)).mtimeMs);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
/* raced a delete — ignore */
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return out;
|
|
88
|
+
}
|
|
89
|
+
function sizeOf(path) {
|
|
90
|
+
try {
|
|
91
|
+
return (0, node_fs_1.statSync)(path).size;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** Wait for a file created at/after `sinceMs` to finish writing. */
|
|
98
|
+
async function waitForNewFile(dir, sinceMs, timeoutMs) {
|
|
99
|
+
const start = Date.now();
|
|
100
|
+
let candidate = null;
|
|
101
|
+
let lastSize = -1;
|
|
102
|
+
for (;;) {
|
|
103
|
+
let entries = [];
|
|
104
|
+
try {
|
|
105
|
+
entries = (0, node_fs_1.readdirSync)(dir);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
entries = [];
|
|
109
|
+
}
|
|
110
|
+
let newest = null;
|
|
111
|
+
let newestMtime = sinceMs;
|
|
112
|
+
for (const name of entries) {
|
|
113
|
+
if (isPartial(name))
|
|
114
|
+
continue;
|
|
115
|
+
try {
|
|
116
|
+
const st = (0, node_fs_1.statSync)((0, node_path_1.join)(dir, name));
|
|
117
|
+
if (st.mtimeMs >= sinceMs - 1000 && st.mtimeMs >= newestMtime) {
|
|
118
|
+
newestMtime = st.mtimeMs;
|
|
119
|
+
newest = name;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
/* raced — ignore */
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (newest) {
|
|
127
|
+
const size = sizeOf((0, node_path_1.join)(dir, newest));
|
|
128
|
+
if (size !== null &&
|
|
129
|
+
size > 0 &&
|
|
130
|
+
size === lastSize &&
|
|
131
|
+
newest === candidate) {
|
|
132
|
+
if (size > exports.QA_DOWNLOAD_MAX_BYTES)
|
|
133
|
+
return null;
|
|
134
|
+
return { name: newest, bytes: size };
|
|
135
|
+
}
|
|
136
|
+
candidate = newest;
|
|
137
|
+
lastSize = size ?? -1;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
candidate = null;
|
|
141
|
+
lastSize = -1;
|
|
142
|
+
}
|
|
143
|
+
if (Date.now() - start > timeoutMs)
|
|
144
|
+
return null;
|
|
145
|
+
await new Promise((r) => setTimeout(r, 300));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async function httpJson(url, init) {
|
|
149
|
+
try {
|
|
150
|
+
const res = await fetch(url, {
|
|
151
|
+
...(init ?? {}),
|
|
152
|
+
signal: AbortSignal.timeout(15_000),
|
|
153
|
+
});
|
|
154
|
+
if (!res.ok)
|
|
155
|
+
return null;
|
|
156
|
+
return (await res.json());
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** Open a tab at `url` (same profile, so site login holds). Returns the tab id. */
|
|
163
|
+
async function openUrlTab(port, url) {
|
|
164
|
+
const created = await httpJson(`http://127.0.0.1:${port}/json/new?${new URLSearchParams({ url }).toString()}`, { method: 'PUT' });
|
|
165
|
+
const id = typeof created?.id === 'string' ? created.id : undefined;
|
|
166
|
+
if (!id)
|
|
167
|
+
throw new Error('could not open a download tab');
|
|
168
|
+
return id;
|
|
169
|
+
}
|
|
170
|
+
async function closeTab(port, id) {
|
|
171
|
+
try {
|
|
172
|
+
await httpJson(`http://127.0.0.1:${port}/json/close/${id}`);
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
/* best-effort */
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Download `url` (or wait for an already-triggered download) into the run's
|
|
180
|
+
* staging directory. Returns the staged absolute path.
|
|
181
|
+
*/
|
|
182
|
+
async function downloadTemplateFile(opts) {
|
|
183
|
+
const runId = String(opts.runId ?? '').trim();
|
|
184
|
+
if (!runId) {
|
|
185
|
+
return { ok: false, error: 'runId is required to download a file' };
|
|
186
|
+
}
|
|
187
|
+
const dir = (0, stage_file_1.runStagingDir)(runId);
|
|
188
|
+
try {
|
|
189
|
+
const { mkdirSync } = await Promise.resolve().then(() => __importStar(require('node:fs')));
|
|
190
|
+
mkdirSync(dir, { recursive: true });
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return { ok: false, error: 'could not create the run staging directory' };
|
|
194
|
+
}
|
|
195
|
+
const timeoutMs = Math.min(Math.max(typeof opts.timeoutMs === 'number'
|
|
196
|
+
? opts.timeoutMs
|
|
197
|
+
: exports.QA_DOWNLOAD_TIMEOUT_MS, 5000), 120_000);
|
|
198
|
+
const sinceMs = Date.now();
|
|
199
|
+
// Arm BEFORE triggering: anything already in the dir must not match.
|
|
200
|
+
void snapshot(dir);
|
|
201
|
+
if (opts.url) {
|
|
202
|
+
let parsed;
|
|
203
|
+
try {
|
|
204
|
+
parsed = new URL(opts.url);
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return { ok: false, error: 'url is not a valid URL' };
|
|
208
|
+
}
|
|
209
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
210
|
+
return { ok: false, error: 'only http(s) download URLs are supported' };
|
|
211
|
+
}
|
|
212
|
+
let tabId = null;
|
|
213
|
+
try {
|
|
214
|
+
tabId = await openUrlTab(opts.port, parsed.toString());
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
return {
|
|
218
|
+
ok: false,
|
|
219
|
+
error: err instanceof Error ? err.message : String(err),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
// The tab stays open while the download lands (closing it first can
|
|
223
|
+
// cancel an in-flight download); it closes once the file has settled.
|
|
224
|
+
const found = await waitForNewFile(dir, sinceMs, timeoutMs);
|
|
225
|
+
await closeTab(opts.port, tabId);
|
|
226
|
+
if (!found) {
|
|
227
|
+
return {
|
|
228
|
+
ok: false,
|
|
229
|
+
error: 'no file arrived in the staging directory — the link may open a preview instead of downloading',
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
const path = (0, node_path_1.join)(dir, found.name);
|
|
233
|
+
if (!(0, node_fs_1.existsSync)(path)) {
|
|
234
|
+
return { ok: false, error: 'the downloaded file disappeared' };
|
|
235
|
+
}
|
|
236
|
+
return { ok: true, path, fileName: found.name, bytes: found.bytes };
|
|
237
|
+
}
|
|
238
|
+
const found = await waitForNewFile(dir, sinceMs, timeoutMs);
|
|
239
|
+
if (!found) {
|
|
240
|
+
return {
|
|
241
|
+
ok: false,
|
|
242
|
+
error: 'no new file arrived — trigger the download on the page first (click the download button), then call again',
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
const path = (0, node_path_1.join)(dir, found.name);
|
|
246
|
+
if (!(0, node_fs_1.existsSync)(path)) {
|
|
247
|
+
return { ok: false, error: 'the downloaded file disappeared' };
|
|
248
|
+
}
|
|
249
|
+
return { ok: true, path, fileName: found.name, bytes: found.bytes };
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=download.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/lib/browser/download.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare const QA_RENDER_MAX_HTML_BYTES: number;
|
|
2
|
+
export declare const QA_RENDER_MIN_WIDTH = 320;
|
|
3
|
+
export declare const QA_RENDER_MAX_WIDTH = 2400;
|
|
4
|
+
export declare const QA_RENDER_TIMEOUT_MS = 10000;
|
|
5
|
+
export interface RenderImageResult {
|
|
6
|
+
ok: boolean;
|
|
7
|
+
buffer?: Buffer;
|
|
8
|
+
width?: number;
|
|
9
|
+
height?: number;
|
|
10
|
+
error?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Lock the agent's HTML into a document that cannot call out or run script. */
|
|
13
|
+
export declare function wrapRenderDocument(html: string, title: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Render agent HTML to a PNG buffer. `drivenTargetId` restores focus to the
|
|
16
|
+
* page under test afterwards (pass undefined when unknown).
|
|
17
|
+
*/
|
|
18
|
+
export declare function renderHtmlToImage(port: number, html: string, opts?: {
|
|
19
|
+
width?: number;
|
|
20
|
+
drivenTargetId?: string;
|
|
21
|
+
title?: string;
|
|
22
|
+
}): Promise<RenderImageResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Render agent HTML to a PDF buffer (forms that demand a document upload).
|
|
25
|
+
* Same tab machinery as the PNG path.
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderHtmlToPdf(port: number, html: string, opts?: {
|
|
28
|
+
drivenTargetId?: string;
|
|
29
|
+
title?: string;
|
|
30
|
+
}): Promise<RenderImageResult>;
|