free-computer-use 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/.env.example +31 -0
- package/CHANGELOG.md +19 -0
- package/CONTRIBUTING.md +66 -0
- package/LICENSE +21 -0
- package/README.md +140 -0
- package/SECURITY.md +133 -0
- package/artifacts/benchmark-public.json +797 -0
- package/assets/readme/hero.svg +53 -0
- package/assets/readme/incident-demo.gif +0 -0
- package/assets/readme/incident-evidence.json +52 -0
- package/dist/actions/compiler.d.ts +5 -0
- package/dist/actions/compiler.js +16 -0
- package/dist/actions/compiler.js.map +1 -0
- package/dist/actions/executor.d.ts +38 -0
- package/dist/actions/executor.js +305 -0
- package/dist/actions/executor.js.map +1 -0
- package/dist/actions/policy.d.ts +4 -0
- package/dist/actions/policy.js +18 -0
- package/dist/actions/policy.js.map +1 -0
- package/dist/actions/schema.d.ts +4149 -0
- package/dist/actions/schema.js +59 -0
- package/dist/actions/schema.js.map +1 -0
- package/dist/adapters/generic.d.ts +14 -0
- package/dist/adapters/generic.js +33 -0
- package/dist/adapters/generic.js.map +1 -0
- package/dist/agent/Agent.d.ts +69 -0
- package/dist/agent/Agent.js +375 -0
- package/dist/agent/Agent.js.map +1 -0
- package/dist/agent/Control.d.ts +23 -0
- package/dist/agent/Control.js +51 -0
- package/dist/agent/Control.js.map +1 -0
- package/dist/agent/TokenBudget.d.ts +52 -0
- package/dist/agent/TokenBudget.js +47 -0
- package/dist/agent/TokenBudget.js.map +1 -0
- package/dist/agent/goalCriteria.d.ts +2 -0
- package/dist/agent/goalCriteria.js +13 -0
- package/dist/agent/goalCriteria.js.map +1 -0
- package/dist/browser/Browser.d.ts +72 -0
- package/dist/browser/Browser.js +378 -0
- package/dist/browser/Browser.js.map +1 -0
- package/dist/browser/DomExtractor.d.ts +6 -0
- package/dist/browser/DomExtractor.js +134 -0
- package/dist/browser/DomExtractor.js.map +1 -0
- package/dist/browser/Interaction.d.ts +43 -0
- package/dist/browser/Interaction.js +225 -0
- package/dist/browser/Interaction.js.map +1 -0
- package/dist/browser/NetworkGuardProxy.d.ts +31 -0
- package/dist/browser/NetworkGuardProxy.js +331 -0
- package/dist/browser/NetworkGuardProxy.js.map +1 -0
- package/dist/browser/Observer.d.ts +12 -0
- package/dist/browser/Observer.js +31 -0
- package/dist/browser/Observer.js.map +1 -0
- package/dist/browser/PageCompressor.d.ts +47 -0
- package/dist/browser/PageCompressor.js +62 -0
- package/dist/browser/PageCompressor.js.map +1 -0
- package/dist/browser/SecurityBoundaryError.d.ts +3 -0
- package/dist/browser/SecurityBoundaryError.js +4 -0
- package/dist/browser/SecurityBoundaryError.js.map +1 -0
- package/dist/browser/SelectorEngine.d.ts +18 -0
- package/dist/browser/SelectorEngine.js +72 -0
- package/dist/browser/SelectorEngine.js.map +1 -0
- package/dist/browser/types.d.ts +38 -0
- package/dist/browser/types.js +2 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +284 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.js +77 -0
- package/dist/config.js.map +1 -0
- package/dist/history/TraceStore.d.ts +29 -0
- package/dist/history/TraceStore.js +53 -0
- package/dist/history/TraceStore.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/ClaudeSubscriptionProvider.d.ts +26 -0
- package/dist/llm/ClaudeSubscriptionProvider.js +182 -0
- package/dist/llm/ClaudeSubscriptionProvider.js.map +1 -0
- package/dist/llm/CodexSubscriptionProvider.d.ts +26 -0
- package/dist/llm/CodexSubscriptionProvider.js +168 -0
- package/dist/llm/CodexSubscriptionProvider.js.map +1 -0
- package/dist/llm/FlashProvider.d.ts +27 -0
- package/dist/llm/FlashProvider.js +103 -0
- package/dist/llm/FlashProvider.js.map +1 -0
- package/dist/llm/LLMProvider.d.ts +37 -0
- package/dist/llm/LLMProvider.js +2 -0
- package/dist/llm/LLMProvider.js.map +1 -0
- package/dist/llm/cliEnvironment.d.ts +5 -0
- package/dist/llm/cliEnvironment.js +21 -0
- package/dist/llm/cliEnvironment.js.map +1 -0
- package/dist/llm/prompts.d.ts +4 -0
- package/dist/llm/prompts.js +12 -0
- package/dist/llm/prompts.js.map +1 -0
- package/dist/llm/structuredOutput.d.ts +3 -0
- package/dist/llm/structuredOutput.js +58 -0
- package/dist/llm/structuredOutput.js.map +1 -0
- package/dist/mcp/index.d.ts +13 -0
- package/dist/mcp/index.js +243 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/profile/ProfileStore.d.ts +7 -0
- package/dist/profile/ProfileStore.js +52 -0
- package/dist/profile/ProfileStore.js.map +1 -0
- package/dist/profile/VariableResolver.d.ts +15 -0
- package/dist/profile/VariableResolver.js +50 -0
- package/dist/profile/VariableResolver.js.map +1 -0
- package/dist/server/index.d.ts +14 -0
- package/dist/server/index.js +239 -0
- package/dist/server/index.js.map +1 -0
- package/dist/ui/app.js +132 -0
- package/dist/ui/index.html +29 -0
- package/dist/ui/logo.svg +5 -0
- package/dist/ui/results.js +59 -0
- package/dist/ui/style.css +33 -0
- package/dist/verification/Verifier.d.ts +72 -0
- package/dist/verification/Verifier.js +87 -0
- package/dist/verification/Verifier.js.map +1 -0
- package/dist/workflows/WorkflowEngine.d.ts +23 -0
- package/dist/workflows/WorkflowEngine.js +52 -0
- package/dist/workflows/WorkflowEngine.js.map +1 -0
- package/docs/ADOPTION.md +61 -0
- package/docs/ARCHITECTURE.md +65 -0
- package/docs/BENCHMARKS.md +64 -0
- package/docs/IMPLEMENTATION.md +93 -0
- package/docs/LOCAL_DATA.md +98 -0
- package/docs/LOCAL_VALIDATION.md +87 -0
- package/docs/MCP.md +81 -0
- package/docs/PROVIDERS.md +150 -0
- package/docs/RELEASE_CHECKLIST.md +37 -0
- package/docs/REQUIREMENTS.md +39 -0
- package/docs/SUPPORT_MATRIX.md +193 -0
- package/docs/THREAT_MODEL.md +108 -0
- package/docs/USEFUL_EXAMPLES.md +151 -0
- package/docs/brand-mark.svg +12 -0
- package/package.json +90 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { type Plan } from '../actions/schema.js';
|
|
3
|
+
export declare class Control extends EventEmitter {
|
|
4
|
+
paused: boolean;
|
|
5
|
+
stopped: boolean;
|
|
6
|
+
revision: number;
|
|
7
|
+
pending?: {
|
|
8
|
+
reason: string;
|
|
9
|
+
action: unknown;
|
|
10
|
+
};
|
|
11
|
+
replacement?: Plan;
|
|
12
|
+
private decide?;
|
|
13
|
+
private approvalTail;
|
|
14
|
+
pause(): void;
|
|
15
|
+
resume(): void;
|
|
16
|
+
stop(): void;
|
|
17
|
+
approve(): void;
|
|
18
|
+
reject(): void;
|
|
19
|
+
edit(value: unknown): void;
|
|
20
|
+
reset(): void;
|
|
21
|
+
checkpoint(): Promise<void>;
|
|
22
|
+
confirm(reason: string, action: unknown): Promise<void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { PlanSchema } from '../actions/schema.js';
|
|
3
|
+
export class Control extends EventEmitter {
|
|
4
|
+
paused = false;
|
|
5
|
+
stopped = false;
|
|
6
|
+
revision = 0;
|
|
7
|
+
pending;
|
|
8
|
+
replacement;
|
|
9
|
+
decide;
|
|
10
|
+
approvalTail = Promise.resolve();
|
|
11
|
+
pause() { this.paused = true; this.emit('change'); }
|
|
12
|
+
resume() { this.paused = false; this.revision++; this.emit('change'); }
|
|
13
|
+
stop() { this.stopped = true; this.paused = false; this.decide?.(false); this.emit('change'); }
|
|
14
|
+
approve() { if (!this.decide)
|
|
15
|
+
throw new Error('No action is awaiting approval'); this.decide(true); }
|
|
16
|
+
reject() { if (!this.decide)
|
|
17
|
+
throw new Error('No action is awaiting approval'); this.decide(false); }
|
|
18
|
+
edit(value) { if (!this.paused)
|
|
19
|
+
throw new Error('Pause before editing the plan'); this.replacement = PlanSchema.parse(value); }
|
|
20
|
+
reset() { if (this.pending || this.decide)
|
|
21
|
+
throw new Error('Cannot reset control while approval is pending'); this.paused = false; this.stopped = false; this.replacement = undefined; this.revision++; this.emit('change'); }
|
|
22
|
+
async checkpoint() {
|
|
23
|
+
while (this.paused && !this.stopped)
|
|
24
|
+
await new Promise(resolve => this.once('change', resolve));
|
|
25
|
+
if (this.stopped)
|
|
26
|
+
throw new Error('Task stopped by human');
|
|
27
|
+
}
|
|
28
|
+
async confirm(reason, action) {
|
|
29
|
+
// Frames/popups can request permissions concurrently. Never overwrite the
|
|
30
|
+
// decision callback for an approval already visible to the human.
|
|
31
|
+
const predecessor = this.approvalTail;
|
|
32
|
+
let release;
|
|
33
|
+
this.approvalTail = new Promise(resolve => { release = resolve; });
|
|
34
|
+
await predecessor;
|
|
35
|
+
try {
|
|
36
|
+
if (this.stopped)
|
|
37
|
+
throw new Error('Task stopped by human');
|
|
38
|
+
this.pending = { reason, action };
|
|
39
|
+
const approved = await new Promise(resolve => { this.decide = resolve; this.emit('approval', this.pending); });
|
|
40
|
+
this.pending = undefined;
|
|
41
|
+
this.decide = undefined;
|
|
42
|
+
this.emit('change');
|
|
43
|
+
if (!approved)
|
|
44
|
+
throw new Error('Sensitive action rejected by human');
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
release();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=Control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Control.js","sourceRoot":"","sources":["../../src/agent/Control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export interface Usage {
|
|
2
|
+
input: number;
|
|
3
|
+
output: number;
|
|
4
|
+
cacheHit?: number;
|
|
5
|
+
cacheMiss?: number;
|
|
6
|
+
estimated?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface BudgetLimits {
|
|
9
|
+
maxLLMCalls: number | null;
|
|
10
|
+
maxInputTokens: number | null;
|
|
11
|
+
maxOutputTokens: number | null;
|
|
12
|
+
}
|
|
13
|
+
export interface Reservation {
|
|
14
|
+
id: number;
|
|
15
|
+
maxOutput: number;
|
|
16
|
+
inputBound: number;
|
|
17
|
+
}
|
|
18
|
+
export declare class TokenBudget {
|
|
19
|
+
readonly limits: BudgetLimits;
|
|
20
|
+
readonly prices?: {
|
|
21
|
+
input: number;
|
|
22
|
+
output: number;
|
|
23
|
+
cachedInput?: number;
|
|
24
|
+
} | undefined;
|
|
25
|
+
calls: number;
|
|
26
|
+
input: number;
|
|
27
|
+
output: number;
|
|
28
|
+
cost: number | null;
|
|
29
|
+
private reservations;
|
|
30
|
+
constructor(limits?: BudgetLimits, prices?: {
|
|
31
|
+
input: number;
|
|
32
|
+
output: number;
|
|
33
|
+
cachedInput?: number;
|
|
34
|
+
} | undefined);
|
|
35
|
+
get tight(): boolean;
|
|
36
|
+
get pendingInput(): number;
|
|
37
|
+
get pendingOutput(): number;
|
|
38
|
+
reserve(inputBound: number, requestedOutput?: number): {
|
|
39
|
+
id: number;
|
|
40
|
+
maxOutput: number;
|
|
41
|
+
inputBound: number;
|
|
42
|
+
};
|
|
43
|
+
record(usage: Usage, reservationId?: number): void;
|
|
44
|
+
snapshot(actions?: number): {
|
|
45
|
+
llmCalls: number;
|
|
46
|
+
inputTokens: number;
|
|
47
|
+
outputTokens: number;
|
|
48
|
+
estimatedCostUSD: number | null;
|
|
49
|
+
actionsPerLLMCall: number | null;
|
|
50
|
+
tokensPerAction: number | null;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class TokenBudget {
|
|
2
|
+
limits;
|
|
3
|
+
prices;
|
|
4
|
+
calls = 0;
|
|
5
|
+
input = 0;
|
|
6
|
+
output = 0;
|
|
7
|
+
cost;
|
|
8
|
+
reservations = new Map();
|
|
9
|
+
constructor(limits = { maxLLMCalls: null, maxInputTokens: null, maxOutputTokens: null }, prices) {
|
|
10
|
+
this.limits = limits;
|
|
11
|
+
this.prices = prices;
|
|
12
|
+
this.cost = prices ? 0 : null;
|
|
13
|
+
}
|
|
14
|
+
get tight() { return (this.limits.maxLLMCalls !== null && this.calls >= this.limits.maxLLMCalls * .7) || (this.limits.maxInputTokens !== null && this.input + this.pendingInput >= this.limits.maxInputTokens * .7) || (this.limits.maxOutputTokens !== null && this.output + this.pendingOutput >= this.limits.maxOutputTokens * .7); }
|
|
15
|
+
get pendingInput() { return [...this.reservations.values()].reduce((n, r) => n + r.inputBound, 0); }
|
|
16
|
+
get pendingOutput() { return [...this.reservations.values()].reduce((n, r) => n + r.maxOutput, 0); }
|
|
17
|
+
reserve(inputBound, requestedOutput = 1600) {
|
|
18
|
+
if (!Number.isSafeInteger(inputBound) || inputBound < 0 || !Number.isSafeInteger(requestedOutput) || requestedOutput < 100)
|
|
19
|
+
throw new Error('Invalid token reservation');
|
|
20
|
+
const maxOutput = this.limits.maxOutputTokens === null ? requestedOutput : Math.min(requestedOutput, this.limits.maxOutputTokens - this.output - this.pendingOutput);
|
|
21
|
+
if (this.limits.maxLLMCalls !== null && this.calls >= this.limits.maxLLMCalls)
|
|
22
|
+
throw new Error('LLM call budget exhausted');
|
|
23
|
+
if (this.limits.maxInputTokens !== null && this.input + this.pendingInput + inputBound > this.limits.maxInputTokens)
|
|
24
|
+
throw new Error('LLM input budget cannot admit this request; narrow context or raise the explicit budget');
|
|
25
|
+
if (maxOutput < 100)
|
|
26
|
+
throw new Error('LLM output budget exhausted');
|
|
27
|
+
this.calls++;
|
|
28
|
+
const reservation = { id: this.calls, maxOutput, inputBound };
|
|
29
|
+
this.reservations.set(reservation.id, reservation);
|
|
30
|
+
return reservation;
|
|
31
|
+
}
|
|
32
|
+
record(usage, reservationId) {
|
|
33
|
+
if (!Number.isSafeInteger(usage.input) || usage.input < 0 || !Number.isSafeInteger(usage.output) || usage.output < 0 || usage.cacheHit !== undefined && (usage.cacheHit < 0 || usage.cacheHit > usage.input))
|
|
34
|
+
throw new Error('Invalid provider token usage');
|
|
35
|
+
const id = reservationId ?? this.reservations.keys().next().value;
|
|
36
|
+
if (id !== undefined)
|
|
37
|
+
this.reservations.delete(id);
|
|
38
|
+
this.input += usage.input;
|
|
39
|
+
this.output += usage.output;
|
|
40
|
+
if (this.prices) {
|
|
41
|
+
const cached = usage.cacheHit ?? 0;
|
|
42
|
+
this.cost = (this.cost ?? 0) + ((usage.input - cached) * this.prices.input + cached * (this.prices.cachedInput ?? this.prices.input) + usage.output * this.prices.output) / 1e6;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
snapshot(actions = 0) { return { llmCalls: this.calls, inputTokens: this.input, outputTokens: this.output, estimatedCostUSD: this.cost, actionsPerLLMCall: this.calls ? actions / this.calls : null, tokensPerAction: actions ? (this.input + this.output) / actions : null }; }
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=TokenBudget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenBudget.js","sourceRoot":"","sources":["../../src/agent/TokenBudget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function goalCriteria(goal) {
|
|
2
|
+
const criteria = [];
|
|
3
|
+
if (/\b(extract|list|read|tell me|give me|find the cheapest|find the relevant information)\b/i.test(goal)) {
|
|
4
|
+
criteria.push({ type: 'extraction_created' });
|
|
5
|
+
const count = goal.match(/\b(?:first|top)\s+(\d+|one|two|three|four|five|six|seven|eight|nine|ten)\b/i)?.[1]?.toLowerCase();
|
|
6
|
+
const words = { one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9, ten: 10 };
|
|
7
|
+
const amount = count ? (words[count] ?? Number(count)) : 0;
|
|
8
|
+
if (amount > 0 && amount <= 1000)
|
|
9
|
+
criteria.push({ type: 'extraction_count', min: amount, max: amount });
|
|
10
|
+
}
|
|
11
|
+
return criteria;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=goalCriteria.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goalCriteria.js","sourceRoot":"","sources":["../../src/agent/goalCriteria.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,YAAY,CAAC,IAAW;IACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAG,0FAA0F,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;QACxG,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,oBAAoB,EAAC,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAC,IAAI,CAAC,KAAK,CAAC,6EAA6E,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QAC1H,MAAM,KAAK,GAAuB,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC;QAC1G,MAAM,MAAM,GAAC,KAAK,CAAA,CAAC,CAAA,CAAC,KAAK,CAAC,KAAK,CAAC,IAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAA,CAAC,CAAC;QACnD,IAAG,MAAM,GAAC,CAAC,IAAE,MAAM,IAAE,IAAI;YAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,kBAAkB,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type BrowserContext, type Page } from 'playwright';
|
|
2
|
+
import type { SemanticTarget } from '../actions/schema.js';
|
|
3
|
+
import { Interaction } from './Interaction.js';
|
|
4
|
+
export interface BrowserOptions {
|
|
5
|
+
headless?: boolean;
|
|
6
|
+
profileDir?: string;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
allowedOrigins?: string[];
|
|
9
|
+
blockedOrigins?: string[];
|
|
10
|
+
allowExternal?: boolean;
|
|
11
|
+
beforeNavigate?: (url: string) => Promise<void>;
|
|
12
|
+
visualInteraction?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function checkedHttpURL(value: string, base?: string): URL;
|
|
15
|
+
export declare function assertNoPrivateDNSResolution(value: string): Promise<void>;
|
|
16
|
+
export declare class Browser {
|
|
17
|
+
readonly options: BrowserOptions;
|
|
18
|
+
context: BrowserContext;
|
|
19
|
+
page: Page;
|
|
20
|
+
readonly downloads: {
|
|
21
|
+
path: string;
|
|
22
|
+
filename: string;
|
|
23
|
+
}[];
|
|
24
|
+
readonly extractions: {
|
|
25
|
+
key: string;
|
|
26
|
+
value: unknown;
|
|
27
|
+
}[];
|
|
28
|
+
readonly responses: {
|
|
29
|
+
url: string;
|
|
30
|
+
status: number;
|
|
31
|
+
time: number;
|
|
32
|
+
method: string;
|
|
33
|
+
resource: string;
|
|
34
|
+
}[];
|
|
35
|
+
readonly formReceipts: {
|
|
36
|
+
target: SemanticTarget;
|
|
37
|
+
actionURL: string;
|
|
38
|
+
method: string;
|
|
39
|
+
id: string;
|
|
40
|
+
label: string;
|
|
41
|
+
unique: boolean;
|
|
42
|
+
time: number;
|
|
43
|
+
}[];
|
|
44
|
+
private wired;
|
|
45
|
+
private cdpSocket?;
|
|
46
|
+
private cdpSequence;
|
|
47
|
+
private cdpPending;
|
|
48
|
+
private initialPageGuard?;
|
|
49
|
+
private networkProxy?;
|
|
50
|
+
private temporaryProfileDir?;
|
|
51
|
+
private closing;
|
|
52
|
+
private closePromise?;
|
|
53
|
+
readonly interaction: Interaction;
|
|
54
|
+
constructor(options?: BrowserOptions);
|
|
55
|
+
private checkNetworkDestination;
|
|
56
|
+
launch(): Promise<this>;
|
|
57
|
+
private wire;
|
|
58
|
+
private startRedirectGuard;
|
|
59
|
+
private receiveCDP;
|
|
60
|
+
private guardTarget;
|
|
61
|
+
private guardPausedRequest;
|
|
62
|
+
private sendCDP;
|
|
63
|
+
private failCDP;
|
|
64
|
+
private cleanupTemporaryProfile;
|
|
65
|
+
permits(value: string): boolean;
|
|
66
|
+
navigate(value: string): Promise<void>;
|
|
67
|
+
openTab(url: string): Promise<void>;
|
|
68
|
+
switchTab(index: number, timeoutMs?: number): Promise<void>;
|
|
69
|
+
closeTab(): Promise<void>;
|
|
70
|
+
prepareForNextRun(): Promise<void>;
|
|
71
|
+
close(): Promise<void>;
|
|
72
|
+
}
|