@openruntime/cli 0.1.0
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/assets/auth-connector/icon-128.png +0 -0
- package/assets/auth-connector/icon-16.png +0 -0
- package/assets/auth-connector/icon-32.png +0 -0
- package/assets/auth-connector/icon-48.png +0 -0
- package/dist/args.d.ts +9 -0
- package/dist/args.d.ts.map +1 -0
- package/dist/args.js +52 -0
- package/dist/args.js.map +1 -0
- package/dist/auth-connector.d.ts +66 -0
- package/dist/auth-connector.d.ts.map +1 -0
- package/dist/auth-connector.js +1031 -0
- package/dist/auth-connector.js.map +1 -0
- package/dist/bridge-process.d.ts +64 -0
- package/dist/bridge-process.d.ts.map +1 -0
- package/dist/bridge-process.js +228 -0
- package/dist/bridge-process.js.map +1 -0
- package/dist/browser.d.ts +25 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +180 -0
- package/dist/browser.js.map +1 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +132 -0
- package/dist/client.js.map +1 -0
- package/dist/command-definition.d.ts +19 -0
- package/dist/command-definition.d.ts.map +1 -0
- package/dist/command-definition.js +42 -0
- package/dist/command-definition.js.map +1 -0
- package/dist/command-skill.d.ts +5 -0
- package/dist/command-skill.d.ts.map +1 -0
- package/dist/command-skill.js +25 -0
- package/dist/command-skill.js.map +1 -0
- package/dist/entry.d.ts +2 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +16 -0
- package/dist/entry.js.map +1 -0
- package/dist/extension-api.d.ts +85 -0
- package/dist/extension-api.d.ts.map +1 -0
- package/dist/extension-api.js +313 -0
- package/dist/extension-api.js.map +1 -0
- package/dist/extensions/types.d.ts +3 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +2 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/external-extensions.d.ts +19 -0
- package/dist/external-extensions.d.ts.map +1 -0
- package/dist/external-extensions.js +168 -0
- package/dist/external-extensions.js.map +1 -0
- package/dist/help.d.ts +17 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +214 -0
- package/dist/help.js.map +1 -0
- package/dist/index.d.ts +100 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1579 -0
- package/dist/index.js.map +1 -0
- package/dist/next-browser-profile-preload.d.ts +2 -0
- package/dist/next-browser-profile-preload.d.ts.map +1 -0
- package/dist/next-browser-profile-preload.js +391 -0
- package/dist/next-browser-profile-preload.js.map +1 -0
- package/dist/operation-log.d.ts +23 -0
- package/dist/operation-log.d.ts.map +1 -0
- package/dist/operation-log.js +76 -0
- package/dist/operation-log.js.map +1 -0
- package/dist/output.d.ts +42 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +111 -0
- package/dist/output.js.map +1 -0
- package/dist/profile.d.ts +56 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +414 -0
- package/dist/profile.js.map +1 -0
- package/dist/record.d.ts +17 -0
- package/dist/record.d.ts.map +1 -0
- package/dist/record.js +1494 -0
- package/dist/record.js.map +1 -0
- package/package.json +46 -0
package/dist/profile.js
ADDED
|
@@ -0,0 +1,414 @@
|
|
|
1
|
+
import { gzipSync, gunzipSync } from "node:zlib";
|
|
2
|
+
import { Buffer } from "node:buffer";
|
|
3
|
+
import { existsSync } from "node:fs";
|
|
4
|
+
import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
|
|
5
|
+
import { homedir } from "node:os";
|
|
6
|
+
import { dirname, join, resolve } from "node:path";
|
|
7
|
+
import { chromium } from "playwright";
|
|
8
|
+
import { resolveBrowserProfileDirectory } from "./browser.js";
|
|
9
|
+
export const PROFILE_TOKEN_PREFIX = "openruntime-profile:v1";
|
|
10
|
+
export const AUTH_STATE_FILE_NAME = ".openruntime-auth-state.json";
|
|
11
|
+
export function getProfileDirectory(env = process.env) {
|
|
12
|
+
return resolveBrowserProfileDirectory(env);
|
|
13
|
+
}
|
|
14
|
+
export function getAuthStatePath(profileDirectory) {
|
|
15
|
+
return join(resolve(profileDirectory), AUTH_STATE_FILE_NAME);
|
|
16
|
+
}
|
|
17
|
+
export async function exportAuthStateProfile(options) {
|
|
18
|
+
const content = encodeProfileBundle({
|
|
19
|
+
version: 1,
|
|
20
|
+
kind: "auth",
|
|
21
|
+
createdAt: new Date().toISOString(),
|
|
22
|
+
storageState: options.storageState
|
|
23
|
+
});
|
|
24
|
+
if (options.outputPath !== undefined) {
|
|
25
|
+
const path = resolve(options.outputPath);
|
|
26
|
+
await writeTextFile(path, content);
|
|
27
|
+
return {
|
|
28
|
+
kind: "auth",
|
|
29
|
+
path
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
kind: "auth",
|
|
34
|
+
content
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export async function importProfile(options) {
|
|
38
|
+
const bundle = decodeProfileBundle(options.input);
|
|
39
|
+
const profileDirectory = resolve(options.profileDirectory);
|
|
40
|
+
const storageState = mergeStorageStates(await readSavedAuthState(profileDirectory), bundle.storageState);
|
|
41
|
+
await saveAuthState(profileDirectory, storageState);
|
|
42
|
+
const applyAuthState = options.applyAuthState ?? applyAuthStateWithBrowser;
|
|
43
|
+
await applyAuthState(profileDirectory, storageState);
|
|
44
|
+
return {
|
|
45
|
+
kind: "auth",
|
|
46
|
+
profileDirectory
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export async function listProfile(options) {
|
|
50
|
+
const profileDirectory = resolve(options.profileDirectory);
|
|
51
|
+
const authStatePath = getAuthStatePath(profileDirectory);
|
|
52
|
+
const storageState = await readSavedAuthState(profileDirectory);
|
|
53
|
+
return {
|
|
54
|
+
kind: "auth",
|
|
55
|
+
profileDirectory,
|
|
56
|
+
authStatePath,
|
|
57
|
+
imported: storageState !== undefined,
|
|
58
|
+
sites: listStorageStateSites(storageState)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export async function clearProfile(options) {
|
|
62
|
+
const profileDirectory = resolve(options.profileDirectory);
|
|
63
|
+
assertSafeProfileClearPath(profileDirectory);
|
|
64
|
+
if (options.url !== undefined) {
|
|
65
|
+
const storageState = await readSavedAuthState(profileDirectory);
|
|
66
|
+
const cleared = clearStorageStateByUrl(storageState, options.url);
|
|
67
|
+
const removed = cleared.removedCookies > 0 || cleared.removedOrigins.length > 0;
|
|
68
|
+
if (removed) {
|
|
69
|
+
await rm(profileDirectory, {
|
|
70
|
+
recursive: true,
|
|
71
|
+
force: true
|
|
72
|
+
});
|
|
73
|
+
if (hasStorageStateEntries(cleared.storageState)) {
|
|
74
|
+
await saveAuthState(profileDirectory, cleared.storageState);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
kind: "auth",
|
|
79
|
+
profileDirectory,
|
|
80
|
+
removed,
|
|
81
|
+
url: cleared.url.href,
|
|
82
|
+
removedCookies: cleared.removedCookies,
|
|
83
|
+
removedOrigins: cleared.removedOrigins
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const removed = existsSync(profileDirectory);
|
|
87
|
+
await rm(profileDirectory, {
|
|
88
|
+
recursive: true,
|
|
89
|
+
force: true
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
kind: "auth",
|
|
93
|
+
profileDirectory,
|
|
94
|
+
removed
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export async function readProfileInput(input) {
|
|
98
|
+
if (input === undefined || input.length === 0) {
|
|
99
|
+
throw new Error("Missing profile content or --input <path>.");
|
|
100
|
+
}
|
|
101
|
+
const path = resolve(input);
|
|
102
|
+
if (existsSync(path)) {
|
|
103
|
+
return await readFile(path, "utf8");
|
|
104
|
+
}
|
|
105
|
+
return input;
|
|
106
|
+
}
|
|
107
|
+
export async function readProfileInputFile(path) {
|
|
108
|
+
return await readFile(resolve(path), "utf8");
|
|
109
|
+
}
|
|
110
|
+
export async function saveAuthState(profileDirectory, storageState) {
|
|
111
|
+
const path = getAuthStatePath(profileDirectory);
|
|
112
|
+
await mkdir(dirname(path), {
|
|
113
|
+
recursive: true,
|
|
114
|
+
mode: 0o700
|
|
115
|
+
});
|
|
116
|
+
await writeFile(path, `${JSON.stringify(storageState, null, 2)}\n`, {
|
|
117
|
+
encoding: "utf8",
|
|
118
|
+
mode: 0o600
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
export async function applyStoredAuthState(context, profileDirectory) {
|
|
122
|
+
const storageState = await readSavedAuthState(profileDirectory);
|
|
123
|
+
if (storageState === undefined)
|
|
124
|
+
return;
|
|
125
|
+
await context.setStorageState(storageState);
|
|
126
|
+
}
|
|
127
|
+
export function persistAuthStateOnClose(context, profileDirectory) {
|
|
128
|
+
const originalClose = context.close.bind(context);
|
|
129
|
+
let didPersist = false;
|
|
130
|
+
const wrappedClose = (async (...args) => {
|
|
131
|
+
if (!didPersist) {
|
|
132
|
+
didPersist = true;
|
|
133
|
+
await persistCurrentAuthState(context, profileDirectory);
|
|
134
|
+
}
|
|
135
|
+
return await originalClose(...args);
|
|
136
|
+
});
|
|
137
|
+
context.close = wrappedClose;
|
|
138
|
+
return context;
|
|
139
|
+
}
|
|
140
|
+
async function applyAuthStateWithBrowser(profileDirectory, storageState) {
|
|
141
|
+
const resolvedProfileDirectory = resolve(profileDirectory);
|
|
142
|
+
const context = await chromium.launchPersistentContext(resolvedProfileDirectory, createProfileLaunchOptions());
|
|
143
|
+
try {
|
|
144
|
+
await context.setStorageState(storageState);
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
await context.close();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
async function persistCurrentAuthState(context, profileDirectory) {
|
|
151
|
+
try {
|
|
152
|
+
const storageState = mergeStorageStates(await readSavedAuthState(profileDirectory), await context.storageState({ indexedDB: true }));
|
|
153
|
+
await saveAuthState(profileDirectory, storageState);
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
process.stderr.write(`OpenRuntime profile state could not be saved: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function mergeStorageStates(savedState, browserState) {
|
|
160
|
+
if (!isStorageState(savedState))
|
|
161
|
+
return browserState;
|
|
162
|
+
if (!isStorageState(browserState))
|
|
163
|
+
return savedState;
|
|
164
|
+
return {
|
|
165
|
+
...browserState,
|
|
166
|
+
cookies: mergeStorageItems(savedState.cookies, browserState.cookies, (cookie) => [
|
|
167
|
+
String(cookie.domain ?? ""),
|
|
168
|
+
String(cookie.path ?? ""),
|
|
169
|
+
String(cookie.name ?? "")
|
|
170
|
+
].join("\0")),
|
|
171
|
+
origins: mergeStorageItems(savedState.origins, browserState.origins, (origin) => String(origin.origin ?? ""), mergeStorageOrigins)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
function mergeStorageOrigins(savedOrigin, browserOrigin) {
|
|
175
|
+
const savedLocalStorage = Array.isArray(savedOrigin.localStorage)
|
|
176
|
+
? savedOrigin.localStorage
|
|
177
|
+
: [];
|
|
178
|
+
const browserLocalStorage = Array.isArray(browserOrigin.localStorage)
|
|
179
|
+
? browserOrigin.localStorage
|
|
180
|
+
: [];
|
|
181
|
+
return {
|
|
182
|
+
...savedOrigin,
|
|
183
|
+
...browserOrigin,
|
|
184
|
+
localStorage: mergeStorageItems(toRecordItems(savedLocalStorage), toRecordItems(browserLocalStorage), (item) => String(item.name ?? ""))
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function mergeStorageItems(savedItems, browserItems, keyForItem, mergeItem) {
|
|
188
|
+
const items = new Map();
|
|
189
|
+
for (const item of savedItems) {
|
|
190
|
+
items.set(keyForItem(item), item);
|
|
191
|
+
}
|
|
192
|
+
for (const item of browserItems) {
|
|
193
|
+
const key = keyForItem(item);
|
|
194
|
+
const savedItem = items.get(key);
|
|
195
|
+
items.set(key, savedItem === undefined || mergeItem === undefined ? item : mergeItem(savedItem, item));
|
|
196
|
+
}
|
|
197
|
+
return [...items.values()];
|
|
198
|
+
}
|
|
199
|
+
function listStorageStateSites(storageState) {
|
|
200
|
+
if (!isStorageState(storageState))
|
|
201
|
+
return [];
|
|
202
|
+
const sites = new Map();
|
|
203
|
+
for (const cookie of storageState.cookies) {
|
|
204
|
+
if (typeof cookie.domain !== "string")
|
|
205
|
+
continue;
|
|
206
|
+
const site = normalizeCookieDomain(cookie.domain);
|
|
207
|
+
if (site.length === 0)
|
|
208
|
+
continue;
|
|
209
|
+
const entry = sites.get(site) ?? {
|
|
210
|
+
cookies: 0,
|
|
211
|
+
origins: new Set()
|
|
212
|
+
};
|
|
213
|
+
entry.cookies += 1;
|
|
214
|
+
sites.set(site, entry);
|
|
215
|
+
}
|
|
216
|
+
for (const origin of storageState.origins) {
|
|
217
|
+
if (typeof origin.origin !== "string")
|
|
218
|
+
continue;
|
|
219
|
+
const site = getOriginHost(origin.origin);
|
|
220
|
+
if (site === undefined)
|
|
221
|
+
continue;
|
|
222
|
+
const entry = sites.get(site) ?? {
|
|
223
|
+
cookies: 0,
|
|
224
|
+
origins: new Set()
|
|
225
|
+
};
|
|
226
|
+
entry.origins.add(origin.origin);
|
|
227
|
+
sites.set(site, entry);
|
|
228
|
+
}
|
|
229
|
+
return [...sites.entries()]
|
|
230
|
+
.sort(([siteA], [siteB]) => siteA.localeCompare(siteB))
|
|
231
|
+
.map(([site, entry]) => ({
|
|
232
|
+
site,
|
|
233
|
+
cookies: entry.cookies,
|
|
234
|
+
origins: [...entry.origins].sort()
|
|
235
|
+
}));
|
|
236
|
+
}
|
|
237
|
+
function clearStorageStateByUrl(storageState, requestedUrl) {
|
|
238
|
+
const url = normalizeProfileUrl(requestedUrl);
|
|
239
|
+
if (!isStorageState(storageState)) {
|
|
240
|
+
return {
|
|
241
|
+
storageState: createEmptyStorageState(),
|
|
242
|
+
url,
|
|
243
|
+
removedCookies: 0,
|
|
244
|
+
removedOrigins: []
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
const remainingCookies = [];
|
|
248
|
+
let removedCookies = 0;
|
|
249
|
+
for (const cookie of storageState.cookies) {
|
|
250
|
+
const cookieDomain = typeof cookie.domain === "string" ? normalizeCookieDomain(cookie.domain) : undefined;
|
|
251
|
+
if (cookieDomain !== undefined && domainMatchesCookie(cookieDomain, url.host)) {
|
|
252
|
+
removedCookies += 1;
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
remainingCookies.push(cookie);
|
|
256
|
+
}
|
|
257
|
+
const remainingOrigins = [];
|
|
258
|
+
const removedOrigins = [];
|
|
259
|
+
for (const origin of storageState.origins) {
|
|
260
|
+
if (origin.origin === url.origin) {
|
|
261
|
+
removedOrigins.push(url.origin);
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
remainingOrigins.push(origin);
|
|
265
|
+
}
|
|
266
|
+
return {
|
|
267
|
+
storageState: {
|
|
268
|
+
...storageState,
|
|
269
|
+
cookies: remainingCookies,
|
|
270
|
+
origins: remainingOrigins
|
|
271
|
+
},
|
|
272
|
+
url,
|
|
273
|
+
removedCookies,
|
|
274
|
+
removedOrigins: [...new Set(removedOrigins)].sort()
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
function hasStorageStateEntries(storageState) {
|
|
278
|
+
return isStorageState(storageState) && (storageState.cookies.length > 0 || storageState.origins.length > 0);
|
|
279
|
+
}
|
|
280
|
+
function createEmptyStorageState() {
|
|
281
|
+
return {
|
|
282
|
+
cookies: [],
|
|
283
|
+
origins: []
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
function isStorageState(value) {
|
|
287
|
+
if (value === null || typeof value !== "object")
|
|
288
|
+
return false;
|
|
289
|
+
const state = value;
|
|
290
|
+
return Array.isArray(state.cookies) && Array.isArray(state.origins);
|
|
291
|
+
}
|
|
292
|
+
function toRecordItems(items) {
|
|
293
|
+
return items.filter((item) => item !== null && typeof item === "object");
|
|
294
|
+
}
|
|
295
|
+
function normalizeProfileUrl(input) {
|
|
296
|
+
const trimmed = input.trim();
|
|
297
|
+
if (trimmed.length === 0 || trimmed === "true") {
|
|
298
|
+
throw new Error("--url requires a URL value.");
|
|
299
|
+
}
|
|
300
|
+
const urlLike = hasUrlScheme(trimmed) ? trimmed : `https://${trimmed}`;
|
|
301
|
+
let url;
|
|
302
|
+
try {
|
|
303
|
+
url = new URL(urlLike);
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
throw new Error(`Invalid profile clear URL "${input}".`);
|
|
307
|
+
}
|
|
308
|
+
if (url.protocol !== "http:" && url.protocol !== "https:") {
|
|
309
|
+
throw new Error("Profile clear URL must use http or https.");
|
|
310
|
+
}
|
|
311
|
+
return {
|
|
312
|
+
href: url.href,
|
|
313
|
+
origin: url.origin,
|
|
314
|
+
host: normalizeCookieDomain(url.hostname)
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
function hasUrlScheme(input) {
|
|
318
|
+
return /^[a-zA-Z][a-zA-Z\d+.-]*:\/\//.test(input);
|
|
319
|
+
}
|
|
320
|
+
function normalizeCookieDomain(domain) {
|
|
321
|
+
return domain.trim().toLowerCase().replace(/^\.+/, "").replace(/\.+$/, "");
|
|
322
|
+
}
|
|
323
|
+
function getOriginHost(origin) {
|
|
324
|
+
try {
|
|
325
|
+
return normalizeCookieDomain(new URL(origin).hostname);
|
|
326
|
+
}
|
|
327
|
+
catch {
|
|
328
|
+
return undefined;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
function domainMatchesCookie(cookieDomain, requestedDomain) {
|
|
332
|
+
return domainMatchesHost(cookieDomain, requestedDomain) || domainMatchesHost(requestedDomain, cookieDomain);
|
|
333
|
+
}
|
|
334
|
+
function domainMatchesHost(host, requestedDomain) {
|
|
335
|
+
return host === requestedDomain || host.endsWith(`.${requestedDomain}`);
|
|
336
|
+
}
|
|
337
|
+
async function readSavedAuthState(profileDirectory) {
|
|
338
|
+
try {
|
|
339
|
+
return JSON.parse(await readFile(getAuthStatePath(profileDirectory), "utf8"));
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
if (isNodeError(error) && error.code === "ENOENT")
|
|
343
|
+
return undefined;
|
|
344
|
+
throw error;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
function assertSafeProfileClearPath(profileDirectory) {
|
|
348
|
+
const resolved = resolve(profileDirectory);
|
|
349
|
+
const home = resolve(homedir());
|
|
350
|
+
if (resolved === "/" || resolved === home || dirname(resolved) === resolved) {
|
|
351
|
+
throw new Error(`Refusing to clear unsafe OpenRuntime profile path: ${resolved}.`);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
async function writeTextFile(path, content) {
|
|
355
|
+
await mkdir(dirname(path), {
|
|
356
|
+
recursive: true,
|
|
357
|
+
mode: 0o700
|
|
358
|
+
});
|
|
359
|
+
await writeFile(path, `${content}\n`, {
|
|
360
|
+
encoding: "utf8",
|
|
361
|
+
mode: 0o600
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
function encodeProfileBundle(bundle) {
|
|
365
|
+
const encoded = gzipSync(JSON.stringify(bundle)).toString("base64url");
|
|
366
|
+
return `${PROFILE_TOKEN_PREFIX}:${bundle.kind}:${encoded}`;
|
|
367
|
+
}
|
|
368
|
+
function decodeProfileBundle(input) {
|
|
369
|
+
const trimmed = input.trim();
|
|
370
|
+
const prefix = `${PROFILE_TOKEN_PREFIX}:`;
|
|
371
|
+
if (!trimmed.startsWith(prefix)) {
|
|
372
|
+
throw new Error("Profile content must start with openruntime-profile:v1.");
|
|
373
|
+
}
|
|
374
|
+
const payload = trimmed.slice(prefix.length);
|
|
375
|
+
const separatorIndex = payload.indexOf(":");
|
|
376
|
+
if (separatorIndex <= 0) {
|
|
377
|
+
throw new Error("Profile content is missing a kind.");
|
|
378
|
+
}
|
|
379
|
+
const kind = payload.slice(0, separatorIndex);
|
|
380
|
+
const encoded = payload.slice(separatorIndex + 1);
|
|
381
|
+
if (kind !== "auth") {
|
|
382
|
+
throw new Error(`Unsupported profile kind "${kind}".`);
|
|
383
|
+
}
|
|
384
|
+
let parsed;
|
|
385
|
+
try {
|
|
386
|
+
parsed = JSON.parse(gunzipSync(Buffer.from(encoded, "base64url")).toString("utf8"));
|
|
387
|
+
}
|
|
388
|
+
catch {
|
|
389
|
+
throw new Error("Profile content is not valid.");
|
|
390
|
+
}
|
|
391
|
+
if (!isProfileBundle(parsed, kind)) {
|
|
392
|
+
throw new Error("Profile content has an invalid shape.");
|
|
393
|
+
}
|
|
394
|
+
return parsed;
|
|
395
|
+
}
|
|
396
|
+
function isProfileBundle(value, kind) {
|
|
397
|
+
if (value === null || typeof value !== "object")
|
|
398
|
+
return false;
|
|
399
|
+
const bundle = value;
|
|
400
|
+
if (bundle.version !== 1 || bundle.kind !== kind || typeof bundle.createdAt !== "string")
|
|
401
|
+
return false;
|
|
402
|
+
return "storageState" in bundle;
|
|
403
|
+
}
|
|
404
|
+
function createProfileLaunchOptions() {
|
|
405
|
+
return {
|
|
406
|
+
headless: true,
|
|
407
|
+
viewport: null,
|
|
408
|
+
args: process.getuid?.() === 0 ? ["--no-sandbox"] : []
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
function isNodeError(error) {
|
|
412
|
+
return error instanceof Error && "code" in error;
|
|
413
|
+
}
|
|
414
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
|
package/dist/record.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ParsedCliArgs } from "./args.js";
|
|
2
|
+
import { type BrowserRunner } from "./browser.js";
|
|
3
|
+
import { type BridgeStarter, type BridgeStateStore } from "./bridge-process.js";
|
|
4
|
+
import { type Fetcher } from "./client.js";
|
|
5
|
+
export interface RecordCommandOptions {
|
|
6
|
+
args: ParsedCliArgs;
|
|
7
|
+
stdout: {
|
|
8
|
+
write(chunk: string): void;
|
|
9
|
+
};
|
|
10
|
+
fetcher: Fetcher;
|
|
11
|
+
browserRunner: BrowserRunner;
|
|
12
|
+
bridgeUrl: string;
|
|
13
|
+
bridgeStarter: BridgeStarter;
|
|
14
|
+
bridgeStateStore: BridgeStateStore;
|
|
15
|
+
}
|
|
16
|
+
export declare function runRecordCommand(options: RecordCommandOptions): Promise<number>;
|
|
17
|
+
//# sourceMappingURL=record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAA0D,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAgB,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAIL,KAAK,OAAO,EAEb,MAAM,aAAa,CAAC;AAYrB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AA2LD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBrF"}
|