Sign In

@fetchproxy/cli

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fetchproxy/cli - npm Package Compare versions

Comparing version
1.5.1
to
1.6.0
+7
dist/verbs/dom.d.ts
import type { Command } from '../args.js';
import type { Profile } from '../profiles.js';
import { type Io } from '../output.js';
import { type VerbServerFactory } from './fetch.js';
export declare function runDom(cmd: Extract<Command, {
kind: 'dom';
}>, profile: Profile, io: Io, makeServer?: VerbServerFactory): Promise<number>;
import { serverOptsFor } from '../server-opts.js';
import { EXIT, UsageError, printJson } from '../output.js';
import { mapBridgeError } from '../bridge-errors.js';
import { defaultServerFactory, pairCodePrinter } from './fetch.js';
import { VERSION } from '../version.js';
function narrowDomNames(requested, declared) {
if (declared.length === 0) {
throw new UsageError('profile declares no DOM selectors — declare one first: ' +
'fpx profile declare <name> --dom-selector <handle>=<css>');
}
if (requested.length === 0)
return declared;
const undeclared = requested.filter((n) => !declared.includes(n));
if (undeclared.length > 0) {
throw new UsageError(`name(s) not in the profile's declared DOM selectors: ${undeclared.join(', ')} — ` +
'widen the scope with: fpx profile declare <name> --dom-selector <handle>=<css> (forces a re-pair)');
}
return requested;
}
export async function runDom(cmd, profile, io, makeServer = defaultServerFactory) {
// Validate scope narrowing BEFORE connecting — usage errors must not
// cost a bridge round-trip (and must not trigger pairing).
const names = narrowDomNames(cmd.names, profile.domSelectors.map((d) => d.name));
const server = makeServer({
...serverOptsFor(cmd.profile, profile, VERSION),
onPairCode: pairCodePrinter(io),
});
try {
await server.listen();
const result = await server.readDom({
names, domain: cmd.storageDomain, subdomain: cmd.storageSubdomain,
});
printJson(io, result);
return EXIT.OK;
}
catch (err) {
return mapBridgeError(err, io);
}
finally {
await server.close().catch(() => { });
}
}
//# sourceMappingURL=dom.js.map
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/verbs/dom.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA0B,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,SAAS,cAAc,CAAC,SAAmB,EAAE,QAAkB;IAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,yDAAyD;YACvD,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,wDAAwD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAChF,mGAAmG,CACtG,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,GAAsC,EACtC,OAAgB,EAChB,EAAM,EACN,UAAU,GAAsB,oBAAoB;IAEpD,qEAAqE;IACrE,2DAA2D;IAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/C,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,gBAAgB;SAClE,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
import type { Command } from '../args.js';
import type { Profile } from '../profiles.js';
import { type Io } from '../output.js';
import { type VerbServerFactory } from './fetch.js';
export declare function runDownload(cmd: Extract<Command, {
kind: 'download';
}>, profile: Profile, io: Io, makeServer?: VerbServerFactory): Promise<number>;
import { serverOptsFor } from '../server-opts.js';
import { EXIT, UsageError, printJson } from '../output.js';
import { mapBridgeError } from '../bridge-errors.js';
import { assertUrlOnProfile, defaultServerFactory, pairCodePrinter, } from './fetch.js';
import { VERSION } from '../version.js';
export async function runDownload(cmd, profile, io, makeServer = defaultServerFactory) {
// Validate BEFORE connecting — usage errors must not cost a bridge
// round-trip (and must not trigger pairing).
if (!profile.download) {
throw new UsageError('this profile does not allow downloads — run: fpx profile declare <name> --allow-download');
}
assertUrlOnProfile(cmd.url, profile);
const server = makeServer({
...serverOptsFor(cmd.profile, profile, VERSION),
onPairCode: pairCodePrinter(io),
});
try {
await server.listen();
const result = await server.download({ url: cmd.url, filename: cmd.filename });
printJson(io, result);
return EXIT.OK;
}
catch (err) {
return mapBridgeError(err, io);
}
finally {
await server.close().catch(() => { });
}
}
//# sourceMappingURL=download.js.map
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/verbs/download.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAW,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,GAC1D,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAA2C,EAC3C,OAAgB,EAChB,EAAM,EACN,UAAU,GAAsB,oBAAoB;IAEpD,mEAAmE;IACnE,6CAA6C;IAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,UAAU,CAClB,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IACD,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/C,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
+16
-1

@@ -1,2 +0,2 @@

import type { CaptureHeaderDecl } from '@fetchproxy/protocol';
import type { CaptureHeaderDecl, DomSelectorDecl } from '@fetchproxy/protocol';
export type Bucket = 'cookies' | 'localStorage' | 'sessionStorage' | 'indexedDb';

@@ -6,2 +6,4 @@ export type Command = {

} | {
kind: 'version';
} | {
kind: 'profile-list';

@@ -25,2 +27,4 @@ } | {

captureHeaders: CaptureHeaderDecl[];
domSelectors: DomSelectorDecl[];
download: boolean;
} | {

@@ -53,3 +57,14 @@ kind: 'pair';

storageSubdomain?: string;
} | {
kind: 'dom';
profile: string;
names: string[];
storageDomain?: string;
storageSubdomain?: string;
} | {
kind: 'download';
profile: string;
url: string;
filename?: string;
};
export declare function parseCliArgs(argv: string[], readFile?: (p: string) => string): Command;

@@ -28,2 +28,9 @@ import { readFileSync } from 'node:fs';

}
function parseDomSelectorFlag(raw) {
const eq = raw.indexOf('=');
if (eq <= 0 || eq === raw.length - 1) {
throw new UsageError(`--dom-selector expects 'handle=css-selector', got ${JSON.stringify(raw)}`);
}
return { name: raw.slice(0, eq), selector: raw.slice(eq + 1) };
}
function resolveBody(raw, readFile) {

@@ -54,5 +61,9 @@ return raw.startsWith('@') ? readFile(raw.slice(1)) : raw;

'capture-header': { type: 'string', multiple: true, default: [] },
'dom-selector': { type: 'string', multiple: true, default: [] },
'allow-download': { type: 'boolean', default: false },
filename: { type: 'string' },
'storage-domain': { type: 'string' },
'storage-subdomain': { type: 'string' },
help: { type: 'boolean', short: 'h', default: false },
version: { type: 'boolean', short: 'v', default: false },
},

@@ -67,2 +78,4 @@ });

const { values, positionals } = parsed;
if (values.version)
return { kind: 'version' };
if (values.help || positionals[0] === 'help' || positionals.length === 0)

@@ -101,2 +114,4 @@ return { kind: 'help' };

captureHeaders: (values['capture-header'] ?? []).map(parseCaptureHeaderFlag),
domSelectors: (values['dom-selector'] ?? []).map(parseDomSelectorFlag),
download: values['allow-download'] ?? false,
};

@@ -117,2 +132,17 @@ }

}
if (cmd === 'dom') {
return {
kind: 'dom', profile: requireProfile(values.profile), names: rest,
storageDomain: values['storage-domain'], storageSubdomain: values['storage-subdomain'],
};
}
if (cmd === 'download') {
const url = rest[0];
if (!url)
throw new UsageError('fpx download requires a URL');
return {
kind: 'download', profile: requireProfile(values.profile), url,
filename: values.filename,
};
}
if (typeof cmd === 'string') {

@@ -119,0 +149,0 @@ const bucket = READ_BUCKETS[cmd];

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}

@@ -8,7 +8,10 @@ import { rmSync } from 'node:fs';

import { runSession } from './verbs/session.js';
import { runDom } from './verbs/dom.js';
import { runDownload } from './verbs/download.js';
import { runHealth, runPair } from './verbs/health.js';
const USAGE = `fpx — fetchproxy CLI: authenticated fetches through your signed-in browser tab
import { VERSION } from './version.js';
const USAGE = `fpx ${VERSION} — fetchproxy CLI: authenticated fetches through your signed-in browser tab
fpx profile add <name> --domain <apex> [--domain <apex>]…
fpx profile declare <name> [--cookie k]… [--local-storage k]… [--session-storage k]… [--capture-header name@host[/path]]…
fpx profile declare <name> [--cookie k]… [--local-storage k]… [--session-storage k]… [--capture-header name@host[/path]]… [--dom-selector handle=css]… [--allow-download]
fpx profile list | show <name> | remove <name>

@@ -22,2 +25,4 @@ fpx pair -p <name> [--domain <apex>]

fpx session -p <name> [--storage-domain d] [--storage-subdomain s]
fpx dom <name…> -p <name> [--storage-domain d] [--storage-subdomain s]
fpx download <url> -p <name> [--filename f]

@@ -35,2 +40,5 @@ Data on stdout, everything else on stderr.

return EXIT.OK;
case 'version':
io.out(VERSION);
return EXIT.OK;
case 'profile-list': {

@@ -69,2 +77,11 @@ const all = loadProfiles(home);

}
for (const decl of cmd.domSelectors) {
const existing = p.domSelectors.find((d) => d.name === decl.name);
if (existing)
Object.assign(existing, decl);
else
p.domSelectors.push(decl);
}
if (cmd.download)
p.download = true;
saveProfiles(all, home);

@@ -90,2 +107,6 @@ io.err(`profile "${cmd.name}" scope updated — the next connect will ask you to re-pair (scope diff)`);

return await runSession(cmd, getProfile(cmd.profile, home), io, deps.bootstrapFn);
case 'dom':
return await runDom(cmd, getProfile(cmd.profile, home), io, deps.makeServer);
case 'download':
return await runDownload(cmd, getProfile(cmd.profile, home), io, deps.makeServer);
case 'health':

@@ -92,0 +113,0 @@ return await runHealth(cmd, getProfile(cmd.profile, home), io, deps.makeServer);

@@ -1,1 +0,1 @@

{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

import type { CaptureHeaderDecl, IndexedDbScopeDecl } from '@fetchproxy/protocol';
import type { CaptureHeaderDecl, DomSelectorDecl, IndexedDbScopeDecl } from '@fetchproxy/protocol';
export interface PointerDecl {

@@ -17,2 +17,4 @@ outputKey: string;

sessionStoragePointers: PointerDecl[];
domSelectors: DomSelectorDecl[];
download: boolean;
}

@@ -19,0 +21,0 @@ export declare function cliHome(env?: Record<string, string | undefined>): string;

@@ -21,2 +21,4 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';

sessionStoragePointers: [],
domSelectors: [],
download: false,
};

@@ -39,3 +41,3 @@ }

for (const k of [
'captureHeaders', 'indexedDb', 'localStoragePointers', 'sessionStoragePointers',
'captureHeaders', 'indexedDb', 'localStoragePointers', 'sessionStoragePointers', 'domSelectors',
]) {

@@ -45,2 +47,4 @@ if (p[k] !== undefined && !Array.isArray(p[k]))

}
if (p.download !== undefined && typeof p.download !== 'boolean')
fail('download');
return { ...emptyProfile(p.domains), ...p };

@@ -47,0 +51,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../src/profiles.ts"],"names":[],"mappings":"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"}
import type { Capability } from '@fetchproxy/server';
import type { CaptureHeaderDecl, IndexedDbScopeDecl, StoragePointerDecl } from '@fetchproxy/protocol';
import type { CaptureHeaderDecl, DomSelectorDecl, IndexedDbScopeDecl, StoragePointerDecl } from '@fetchproxy/protocol';
import type { Profile } from './profiles.js';

@@ -16,2 +16,3 @@ export interface DerivedServerOpts {

sessionStoragePointers: StoragePointerDecl[];
domSelectors: DomSelectorDecl[];
}

@@ -30,3 +31,15 @@ /**

* the capability list and raw key sets — is byte-for-byte identical.
*
* NOTE: `bootstrap()` (and therefore the `session` verb, which calls it
* directly) has no concept of `domSelectors`/`download` — those two
* fields are `fpx`-only (`dom`/`download` verbs), so `runSession` never
* declares `read_dom`/`download` in its hello. A profile that declares
* either sends a wider hello on the direct verbs (`dom`, `download`,
* `get`, `cookies`, …, all of which route through `serverOptsFor`) than
* `session` does. This is the same one-time, non-blocking scope-update
* self-healing behavior already accepted for the pointer scopes above:
* alternating `fpx session` with `fpx dom`/`fpx download` on such a
* profile costs a one-time re-pair on first alternation, not a
* per-invocation prompt.
*/
export declare function serverOptsFor(profileName: string, p: Profile, version: string): DerivedServerOpts;

@@ -13,2 +13,14 @@ /**

* the capability list and raw key sets — is byte-for-byte identical.
*
* NOTE: `bootstrap()` (and therefore the `session` verb, which calls it
* directly) has no concept of `domSelectors`/`download` — those two
* fields are `fpx`-only (`dom`/`download` verbs), so `runSession` never
* declares `read_dom`/`download` in its hello. A profile that declares
* either sends a wider hello on the direct verbs (`dom`, `download`,
* `get`, `cookies`, …, all of which route through `serverOptsFor`) than
* `session` does. This is the same one-time, non-blocking scope-update
* self-healing behavior already accepted for the pointer scopes above:
* alternating `fpx session` with `fpx dom`/`fpx download` on such a
* profile costs a one-time re-pair on first alternation, not a
* per-invocation prompt.
*/

@@ -29,2 +41,6 @@ export function serverOptsFor(profileName, p, version) {

capabilities.push('read_indexed_db');
if (p.domSelectors.length > 0)
capabilities.push('read_dom');
if (p.download === true)
capabilities.push('download');
const localStorageKeys = new Set(p.localStorage);

@@ -58,4 +74,5 @@ for (const ptr of p.localStoragePointers)

})),
domSelectors: p.domSelectors.map((d) => ({ ...d })),
};
}
//# sourceMappingURL=server-opts.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"server-opts.js","sourceRoot":"","sources":["../src/server-opts.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,CAAU,EAAE,OAAe;IAC5E,MAAM,YAAY,GAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC7E,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAEjE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,oBAAoB;QAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,sBAAsB;QAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEnF,OAAO;QACL,UAAU,EAAE,OAAO,WAAW,EAAE;QAChC,OAAO;QACP,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QACvB,YAAY;QACZ,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QAC1B,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;QACvC,kBAAkB,EAAE,CAAC,GAAG,kBAAkB,CAAC;QAC3C,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,mEAAmE;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,qDAAqD;QACrD,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzD,GAAG,EAAE,GAAG,CAAC,UAAU;YACnB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;QACH,sBAAsB,EAAE,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7D,GAAG,EAAE,GAAG,CAAC,UAAU;YACnB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
{"version":3,"file":"server-opts.js","sourceRoot":"","sources":["../src/server-opts.ts"],"names":[],"mappings":"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"}

@@ -40,2 +40,16 @@ import type { Command } from '../args.js';

}): Promise<Record<string, unknown>>;
readDom(o: {
names: string[];
domain?: string;
subdomain?: string;
}): Promise<Record<string, string>>;
download(o: {
url: string;
filename?: string;
}): Promise<{
path: string;
bytes: number;
mime?: string;
finalUrl?: string;
}>;
bridgeHealth(): unknown;

@@ -42,0 +56,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/verbs/fetch.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/verbs/fetch.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

export declare const VERSION = "1.5.1";
export declare const VERSION = "1.6.0";
// Managed by release-please (generic updater) — do not hand-edit.
export const VERSION = '1.5.1'; // x-release-please-version
export const VERSION = '1.6.0'; // x-release-please-version
//# sourceMappingURL=version.js.map
{
"name": "@fetchproxy/cli",
"version": "1.5.1",
"version": "1.6.0",
"description": "One-shot CLI for the fetchproxy bridge: authenticated fetches and session reads through the user's signed-in browser tab, scoped by per-service profiles.",

@@ -33,9 +33,9 @@ "type": "module",

"dependencies": {
"@fetchproxy/bootstrap": "^1.5.1",
"@fetchproxy/protocol": "^1.5.1",
"@fetchproxy/server": "^1.5.1"
"@fetchproxy/bootstrap": "^1.6.0",
"@fetchproxy/protocol": "^1.6.0",
"@fetchproxy/server": "^1.6.0"
},
"devDependencies": {
"@fetchproxy/test-helpers": "^1.5.1"
"@fetchproxy/test-helpers": "^1.6.0"
}
}

@@ -75,3 +75,3 @@ # @fetchproxy/cli

| `fpx profile add <name> --domain <apex>…` | Create a profile with one or more declared domains. | `fpx profile add opentable --domain opentable.com` |
| `fpx profile declare <name> [--cookie k]… [--local-storage k]… [--session-storage k]… [--capture-header name@host[/path]]…` | Widen a profile's scope. Merges with the existing declaration; forces a re-pair. | `fpx profile declare opentable --cookie oaid` |
| `fpx profile declare <name> [--cookie k]… [--local-storage k]… [--session-storage k]… [--capture-header name@host[/path]]… [--dom-selector handle=css]… [--allow-download]` | Widen a profile's scope. Merges with the existing declaration; forces a re-pair. | `fpx profile declare opentable --cookie oaid` |
| `fpx profile list` | List all profiles and their domains (tab-separated, one per line). | `fpx profile list` |

@@ -90,5 +90,10 @@ | `fpx profile show <name>` | Print a profile's full JSON record. | `fpx profile show opentable` |

| `fpx session -p <name> [--storage-domain d] [--storage-subdomain s]` | Bootstrap-parity one-shot: pair (if needed), read every declared bucket, close, print the combined session JSON. | `fpx session -p opentable` |
| `fpx dom <name…> -p <name> [--storage-domain d] [--storage-subdomain s]` | Read declared DOM selector values (all declared selectors if no names given). Requires `--dom-selector` declarations. | `fpx dom title -p opentable` |
| `fpx download <url> -p <name> [--filename f]` | Download a URL through the browser's own network stack (`chrome.downloads` — real cookies + TLS fingerprint); prints `{path, bytes, mime?, finalUrl?}` for the saved local file. Requires `--allow-download`. | `fpx download https://www.opentable.com/f.pdf -p opentable` |
| `fpx --version` (or `-v`) | Print the CLI version to stdout. The version also appears in the `fpx` / `fpx --help` header. | `fpx --version` |
`--storage-domain` / `--storage-subdomain` (on the storage-read verbs and `session`) select which declared domain to read from when a profile declares more than one — required only in that case, same as the underlying library.
`--storage-domain` / `--storage-subdomain` (on the storage-read verbs, `session`, and `dom`) select which declared domain to read from when a profile declares more than one — required only in that case, same as the underlying library.
`--dom-selector <handle>=<css>` (on `profile declare`) declares a named DOM read: `<handle>` is the logical name `fpx dom` references, `<css>` is the `document.querySelector` CSS selector the extension reads (first match only, no page-JS execution). `--allow-download` grants the profile the `download` capability, letting `fpx download` save a declared-domain URL through the browser's own network stack.
## Output contract

@@ -111,3 +116,3 @@

Exit codes 3 and 4 are emitted only by the fetch verbs (`get`, `post-json`, `request`); the `pair`, `health`, `session`, and read verbs (`cookies`/`local-storage`/`session-storage`/`indexeddb`) return 0 on a successful bridge round-trip regardless of upstream status.
Exit codes 3 and 4 are emitted only by the fetch verbs (`get`, `post-json`, `request`); the `pair`, `health`, `session`, read verbs (`cookies`/`local-storage`/`session-storage`/`indexeddb`), `dom`, and `download` all return 0 on a successful bridge round-trip regardless of upstream status.

@@ -126,4 +131,6 @@ ## `FETCHPROXY_CLI_HOME`

Every verb — `get`, `post-json`, `request`, `cookies`, `local-storage`, `session-storage`, `indexeddb`, `session`, even `health` and `pair` — derives its hello frame from the *full* profile record via the same `serverOptsFor()` helper, not just the fields that particular verb happens to touch. That's deliberate: the extension's trust is keyed to `(identity, domains, capabilities)`, so if `fpx get` sent a narrower hello than `fpx cookies`, alternating between the two verbs on the same profile would look like a capability change and force a re-pair every time. Sending the same hello for every verb means you can freely interleave `fpx get`, `fpx cookies`, `fpx session`, etc. against one profile and only ever pair once — a re-pair only happens when `fpx profile declare` actually changes the stored scope.
Every verb — `get`, `post-json`, `request`, `cookies`, `local-storage`, `session-storage`, `indexeddb`, `dom`, `download`, even `health` and `pair` — derives its hello frame from the *full* profile record via the same `serverOptsFor()` helper, not just the fields that particular verb happens to touch. That's deliberate: the extension's trust is keyed to `(identity, domains, capabilities)`, so if `fpx get` sent a narrower hello than `fpx cookies`, alternating between the two verbs on the same profile would look like a capability change and force a re-pair every time. Sending the same hello for every verb means you can freely interleave `fpx get`, `fpx cookies`, `fpx dom`, etc. against one profile and only ever pair once — a re-pair only happens when `fpx profile declare` actually changes the stored scope.
One exception: **`fpx session` goes through `@fetchproxy/bootstrap` directly**, not `serverOptsFor()`, and bootstrap has no concept of `domSelectors`/`download` — those two fields only exist for `fpx`'s own `dom`/`download` verbs. So a profile that declares `--dom-selector`/`--allow-download` sends a wider hello on the direct verbs than `fpx session` does. In practice this costs nothing but a one-time, non-blocking re-pair the first time you alternate between `fpx session` and `fpx dom`/`fpx download` on such a profile — the same self-healing behavior already accepted for the storage-pointer scopes.
## Skills

@@ -130,0 +137,0 @@