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":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TokenBudget } from './agent/TokenBudget.js';
|
|
2
|
+
import { FlashProvider } from './llm/FlashProvider.js';
|
|
3
|
+
import { CodexSubscriptionProvider } from './llm/CodexSubscriptionProvider.js';
|
|
4
|
+
import { ClaudeSubscriptionProvider } from './llm/ClaudeSubscriptionProvider.js';
|
|
5
|
+
export declare function loadEnvironment(): void;
|
|
6
|
+
export declare function ensureDataDirectory(path: string): void;
|
|
7
|
+
export declare function runtimeConfig(): {
|
|
8
|
+
dataDir: string;
|
|
9
|
+
budget: TokenBudget;
|
|
10
|
+
provider: ClaudeSubscriptionProvider | CodexSubscriptionProvider | FlashProvider | undefined;
|
|
11
|
+
};
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { loadEnvFile } from 'node:process';
|
|
2
|
+
import { chmodSync, lstatSync, mkdirSync, realpathSync } from 'node:fs';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { homedir, tmpdir } from 'node:os';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
import { TokenBudget } from './agent/TokenBudget.js';
|
|
7
|
+
import { FlashProvider } from './llm/FlashProvider.js';
|
|
8
|
+
import { CodexSubscriptionProvider } from './llm/CodexSubscriptionProvider.js';
|
|
9
|
+
import { ClaudeSubscriptionProvider } from './llm/ClaudeSubscriptionProvider.js';
|
|
10
|
+
export function loadEnvironment() {
|
|
11
|
+
const path = resolve('.env');
|
|
12
|
+
try {
|
|
13
|
+
const info = lstatSync(path);
|
|
14
|
+
if (!info.isFile())
|
|
15
|
+
throw new Error('Local .env must be a regular file');
|
|
16
|
+
if (process.platform !== 'win32' && (info.mode & 0o777) !== (info.mode & 0o600))
|
|
17
|
+
chmodSync(path, info.mode & 0o600);
|
|
18
|
+
loadEnvFile(path);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
if (error.code !== 'ENOENT')
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function ensureDataDirectory(path) {
|
|
26
|
+
const canonical = (value) => { try {
|
|
27
|
+
return realpathSync(value);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return resolve(value);
|
|
31
|
+
} };
|
|
32
|
+
const requested = canonical(path), sharedRoots = [resolve('/'), resolve(homedir()), resolve(tmpdir()), resolve('/tmp'), resolve('/var/tmp'), resolve(process.cwd())].map(canonical);
|
|
33
|
+
if (sharedRoots.includes(requested))
|
|
34
|
+
throw new Error('Choose a dedicated FCU data directory, not a shared system or workspace directory');
|
|
35
|
+
try {
|
|
36
|
+
const info = lstatSync(path);
|
|
37
|
+
if (!info.isDirectory() || info.isSymbolicLink())
|
|
38
|
+
throw new Error('FCU data path must be a real local directory');
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
if (error.code !== 'ENOENT')
|
|
42
|
+
throw error;
|
|
43
|
+
mkdirSync(path, { recursive: true, mode: 0o700 });
|
|
44
|
+
}
|
|
45
|
+
if (process.platform !== 'win32')
|
|
46
|
+
chmodSync(path, 0o700);
|
|
47
|
+
}
|
|
48
|
+
const positive = z.coerce.number().int().positive();
|
|
49
|
+
const optionalCap = (name) => process.env[name] ? positive.parse(process.env[name]) : null;
|
|
50
|
+
export function runtimeConfig() {
|
|
51
|
+
const dataDir = resolve(process.env.FCU_DATA_DIR ?? '.fcu');
|
|
52
|
+
const providerKind = process.env.LLM_PROVIDER ?? 'openai-compatible';
|
|
53
|
+
if (!['openai-compatible', 'anthropic', 'codex-subscription', 'claude-subscription'].includes(providerKind))
|
|
54
|
+
throw new Error('LLM_PROVIDER must be openai-compatible, anthropic, codex-subscription or claude-subscription');
|
|
55
|
+
const subscription = providerKind === 'codex-subscription' || providerKind === 'claude-subscription';
|
|
56
|
+
const prices = process.env.LLM_INPUT_PRICE && process.env.LLM_OUTPUT_PRICE ? {
|
|
57
|
+
input: z.coerce.number().nonnegative().parse(process.env.LLM_INPUT_PRICE), output: z.coerce.number().nonnegative().parse(process.env.LLM_OUTPUT_PRICE),
|
|
58
|
+
cachedInput: process.env.LLM_CACHED_INPUT_PRICE ? z.coerce.number().nonnegative().parse(process.env.LLM_CACHED_INPUT_PRICE) : undefined,
|
|
59
|
+
} : undefined;
|
|
60
|
+
const budget = new TokenBudget({ maxLLMCalls: optionalCap('FCU_MAX_LLM_CALLS'), maxInputTokens: optionalCap('FCU_MAX_INPUT_TOKENS'), maxOutputTokens: optionalCap('FCU_MAX_OUTPUT_TOKENS') }, subscription ? undefined : prices);
|
|
61
|
+
const model = process.env.LLM_MODEL || (providerKind === 'anthropic' || subscription ? undefined : 'deepseek-flash');
|
|
62
|
+
let provider;
|
|
63
|
+
if (providerKind === 'codex-subscription')
|
|
64
|
+
provider = new CodexSubscriptionProvider({ command: process.env.CODEX_CLI_PATH, model }, budget);
|
|
65
|
+
else if (providerKind === 'claude-subscription')
|
|
66
|
+
provider = new ClaudeSubscriptionProvider({ command: process.env.CLAUDE_CLI_PATH, model }, budget);
|
|
67
|
+
else if (process.env.LLM_API_KEY) {
|
|
68
|
+
const baseURL = process.env.LLM_BASE_URL ?? (providerKind === 'anthropic' ? 'https://api.anthropic.com/v1' : 'https://api.deepseek.com');
|
|
69
|
+
const configuredTokenParam = process.env.LLM_MAX_OUTPUT_TOKENS_PARAM;
|
|
70
|
+
if (configuredTokenParam && configuredTokenParam !== 'max_tokens' && configuredTokenParam !== 'max_completion_tokens')
|
|
71
|
+
throw new Error('LLM_MAX_OUTPUT_TOKENS_PARAM must be max_tokens or max_completion_tokens');
|
|
72
|
+
const maxOutputTokensParam = configuredTokenParam === 'max_tokens' || configuredTokenParam === 'max_completion_tokens' ? configuredTokenParam : new URL(baseURL).hostname === 'api.openai.com' ? 'max_completion_tokens' : undefined;
|
|
73
|
+
provider = new FlashProvider({ key: process.env.LLM_API_KEY, model: model ?? '', protocol: providerKind === 'anthropic' ? 'anthropic' : 'openai-chat', baseURL, format: process.env.LLM_RESPONSE_FORMAT === 'json_schema' ? 'json_schema' : 'json_object', maxOutputTokensParam }, budget);
|
|
74
|
+
}
|
|
75
|
+
return { dataDir, budget, provider };
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
+
import type { Plan, Condition } from '../actions/schema.js';
|
|
3
|
+
import type { ActionResult } from '../actions/executor.js';
|
|
4
|
+
import type { LLMCall } from '../llm/LLMProvider.js';
|
|
5
|
+
export interface Trace {
|
|
6
|
+
version: 1;
|
|
7
|
+
id: string;
|
|
8
|
+
goal: string;
|
|
9
|
+
url: string;
|
|
10
|
+
status: 'running' | 'completed' | 'failed' | 'stopped';
|
|
11
|
+
failureKind?: 'security';
|
|
12
|
+
startedAt: number;
|
|
13
|
+
durationMs: number;
|
|
14
|
+
plans: Plan[];
|
|
15
|
+
actions: ActionResult[];
|
|
16
|
+
completion: Condition[];
|
|
17
|
+
calls: LLMCall[];
|
|
18
|
+
metrics: Record<string, unknown>;
|
|
19
|
+
error?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class TraceStore {
|
|
22
|
+
readonly path: string;
|
|
23
|
+
readonly db: DatabaseSync;
|
|
24
|
+
constructor(path: string);
|
|
25
|
+
save(trace: Trace): void;
|
|
26
|
+
get(id: string): Trace | undefined;
|
|
27
|
+
history(limit?: number): Record<string, import("node:sqlite").SQLOutputValue>[];
|
|
28
|
+
close(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
+
import { mkdirSync, chmodSync, closeSync, lstatSync, openSync } from 'node:fs';
|
|
3
|
+
import { dirname } from 'node:path';
|
|
4
|
+
export class TraceStore {
|
|
5
|
+
path;
|
|
6
|
+
db;
|
|
7
|
+
constructor(path) {
|
|
8
|
+
this.path = path;
|
|
9
|
+
if (path !== ':memory:') {
|
|
10
|
+
const directory = dirname(path);
|
|
11
|
+
mkdirSync(directory, { recursive: true, mode: 0o700 });
|
|
12
|
+
const directoryInfo = lstatSync(directory);
|
|
13
|
+
if (!directoryInfo.isDirectory() || directoryInfo.isSymbolicLink())
|
|
14
|
+
throw new Error('Trace database directory must be a real local directory');
|
|
15
|
+
if (process.platform !== 'win32' && (directoryInfo.mode & 0o077) !== 0)
|
|
16
|
+
throw new Error('Trace database directory must be private (mode 0700); choose a dedicated data directory');
|
|
17
|
+
try {
|
|
18
|
+
const info = lstatSync(path);
|
|
19
|
+
if (!info.isFile() || info.isSymbolicLink())
|
|
20
|
+
throw new Error('Trace database must be a regular local file');
|
|
21
|
+
chmodSync(path, 0o600);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (error.code !== 'ENOENT')
|
|
25
|
+
throw error;
|
|
26
|
+
let descriptor;
|
|
27
|
+
try {
|
|
28
|
+
descriptor = openSync(path, 'wx', 0o600);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
if (error.code !== 'EEXIST')
|
|
32
|
+
throw error;
|
|
33
|
+
const info = lstatSync(path);
|
|
34
|
+
if (!info.isFile() || info.isSymbolicLink())
|
|
35
|
+
throw new Error('Trace database must be a regular local file');
|
|
36
|
+
chmodSync(path, 0o600);
|
|
37
|
+
descriptor = -1;
|
|
38
|
+
}
|
|
39
|
+
if (descriptor !== -1)
|
|
40
|
+
closeSync(descriptor);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
this.db = new DatabaseSync(path);
|
|
44
|
+
this.db.exec('PRAGMA journal_mode=DELETE; PRAGMA busy_timeout=3000; CREATE TABLE IF NOT EXISTS runs(id TEXT PRIMARY KEY, started INTEGER, status TEXT, goal TEXT, url TEXT, trace TEXT); CREATE TABLE IF NOT EXISTS workflows(id TEXT PRIMARY KEY, domain TEXT, intent TEXT, structure TEXT, workflow TEXT, hits INTEGER DEFAULT 0);');
|
|
45
|
+
if (path !== ':memory:')
|
|
46
|
+
chmodSync(path, 0o600);
|
|
47
|
+
}
|
|
48
|
+
save(trace) { this.db.prepare('INSERT OR REPLACE INTO runs VALUES(?,?,?,?,?,?)').run(trace.id, trace.startedAt, trace.status, trace.goal, trace.url, JSON.stringify(trace)); }
|
|
49
|
+
get(id) { const row = this.db.prepare('SELECT trace FROM runs WHERE id=?').get(id); return row ? JSON.parse(row.trace) : undefined; }
|
|
50
|
+
history(limit = 30) { return this.db.prepare('SELECT id,started,status,goal,url FROM runs ORDER BY started DESC LIMIT ?').all(limit); }
|
|
51
|
+
close() { this.db.close(); }
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=TraceStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TraceStore.js","sourceRoot":"","sources":["../../src/history/TraceStore.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { Agent } from './agent/Agent.js';
|
|
2
|
+
export { Browser } from './browser/Browser.js';
|
|
3
|
+
export { Observer } from './browser/Observer.js';
|
|
4
|
+
export { PageCompressor, diffPages } from './browser/PageCompressor.js';
|
|
5
|
+
export { SelectorEngine } from './browser/SelectorEngine.js';
|
|
6
|
+
export { ActionSchema, PlanSchema, RepairSchema, ConditionSchema } from './actions/schema.js';
|
|
7
|
+
export { Executor } from './actions/executor.js';
|
|
8
|
+
export { Verifier } from './verification/Verifier.js';
|
|
9
|
+
export { FlashProvider } from './llm/FlashProvider.js';
|
|
10
|
+
export { TokenBudget } from './agent/TokenBudget.js';
|
|
11
|
+
export { Control } from './agent/Control.js';
|
|
12
|
+
export { VariableResolver } from './profile/VariableResolver.js';
|
|
13
|
+
export { ProfileStore } from './profile/ProfileStore.js';
|
|
14
|
+
export { TraceStore } from './history/TraceStore.js';
|
|
15
|
+
export { WorkflowEngine } from './workflows/WorkflowEngine.js';
|
|
16
|
+
export type { AgentOptions, AgentEvent } from './agent/Agent.js';
|
|
17
|
+
export type { Action, Condition, Plan, Repair, Target } from './actions/schema.js';
|
|
18
|
+
export type { LLMProvider, PlanningContext, RepairContext } from './llm/LLMProvider.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { Agent } from './agent/Agent.js';
|
|
2
|
+
export { Browser } from './browser/Browser.js';
|
|
3
|
+
export { Observer } from './browser/Observer.js';
|
|
4
|
+
export { PageCompressor, diffPages } from './browser/PageCompressor.js';
|
|
5
|
+
export { SelectorEngine } from './browser/SelectorEngine.js';
|
|
6
|
+
export { ActionSchema, PlanSchema, RepairSchema, ConditionSchema } from './actions/schema.js';
|
|
7
|
+
export { Executor } from './actions/executor.js';
|
|
8
|
+
export { Verifier } from './verification/Verifier.js';
|
|
9
|
+
export { FlashProvider } from './llm/FlashProvider.js';
|
|
10
|
+
export { TokenBudget } from './agent/TokenBudget.js';
|
|
11
|
+
export { Control } from './agent/Control.js';
|
|
12
|
+
export { VariableResolver } from './profile/VariableResolver.js';
|
|
13
|
+
export { ProfileStore } from './profile/ProfileStore.js';
|
|
14
|
+
export { TraceStore } from './history/TraceStore.js';
|
|
15
|
+
export { WorkflowEngine } from './workflows/WorkflowEngine.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAC,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAC,UAAU,EAAC,YAAY,EAAC,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Plan, type Repair } from '../actions/schema.js';
|
|
2
|
+
import type { LLMProvider, PlanningContext, RepairContext, LLMCall } from './LLMProvider.js';
|
|
3
|
+
import { TokenBudget } from '../agent/TokenBudget.js';
|
|
4
|
+
export interface ClaudeSubscriptionConfig {
|
|
5
|
+
command?: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class ClaudeSubscriptionProvider implements LLMProvider {
|
|
10
|
+
readonly config: ClaudeSubscriptionConfig;
|
|
11
|
+
readonly budget: TokenBudget;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly calls: LLMCall[];
|
|
14
|
+
private controllers;
|
|
15
|
+
private cliVersion?;
|
|
16
|
+
constructor(config: ClaudeSubscriptionConfig, budget: TokenBudget);
|
|
17
|
+
cancel(): void;
|
|
18
|
+
checkLogin(): Promise<string>;
|
|
19
|
+
plan(context: PlanningContext): Promise<Plan>;
|
|
20
|
+
repair(context: RepairContext): Promise<Repair>;
|
|
21
|
+
classify(goal: string): Promise<{
|
|
22
|
+
intent: string;
|
|
23
|
+
}>;
|
|
24
|
+
private request;
|
|
25
|
+
private run;
|
|
26
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { execFile as execFileCallback, spawn } from 'node:child_process';
|
|
2
|
+
import { mkdtemp, rm } from 'node:fs/promises';
|
|
3
|
+
import { promisify } from 'node:util';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { tmpdir } from 'node:os';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { PlanSchema, RepairSchema } from '../actions/schema.js';
|
|
8
|
+
import { SYSTEM_POLICY, PLAN_FORMAT, REPAIR_FORMAT, untrusted } from './prompts.js';
|
|
9
|
+
import { cliVersionAtLeast, parseCliVersion, safeCliEnvironment } from './cliEnvironment.js';
|
|
10
|
+
const execFile = promisify(execFileCallback);
|
|
11
|
+
function claudeEnvironment() {
|
|
12
|
+
const env = safeCliEnvironment();
|
|
13
|
+
for (const key of Object.keys(env))
|
|
14
|
+
if (/^(?:ANTHROPIC_|CLAUDE_CODE_USE_|AWS_|GOOGLE_|VERTEXAI_|CLOUD_ML_|AZURE_)/i.test(key))
|
|
15
|
+
delete env[key];
|
|
16
|
+
for (const key of ['OPENAI_BASE_URL', 'OPENAI_ORG_ID', 'OPENAI_PROJECT_ID', 'CODEX_MODEL_PROVIDER'])
|
|
17
|
+
delete env[key];
|
|
18
|
+
env.CLAUDE_CODE_SKIP_PROMPT_HISTORY = '1';
|
|
19
|
+
return env;
|
|
20
|
+
}
|
|
21
|
+
export class ClaudeSubscriptionProvider {
|
|
22
|
+
config;
|
|
23
|
+
budget;
|
|
24
|
+
name;
|
|
25
|
+
calls = [];
|
|
26
|
+
controllers = new Set();
|
|
27
|
+
cliVersion;
|
|
28
|
+
constructor(config, budget) {
|
|
29
|
+
this.config = config;
|
|
30
|
+
this.budget = budget;
|
|
31
|
+
this.name = config.model ?? 'Claude subscription';
|
|
32
|
+
}
|
|
33
|
+
cancel() { for (const controller of this.controllers)
|
|
34
|
+
controller.abort(); }
|
|
35
|
+
async checkLogin() {
|
|
36
|
+
let version = this.cliVersion;
|
|
37
|
+
if (!version) {
|
|
38
|
+
try {
|
|
39
|
+
const { stdout } = await execFile(this.config.command ?? 'claude', ['--version'], { encoding: 'utf8', timeout: 15000, cwd: tmpdir(), env: claudeEnvironment(), maxBuffer: 4096 });
|
|
40
|
+
version = parseCliVersion(String(stdout), 'Claude Code');
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
throw new Error('Claude Code CLI could not report its version. Install or update to 2.1.248 or newer, then verify `claude --version`.');
|
|
44
|
+
}
|
|
45
|
+
if (!cliVersionAtLeast(version, '2.1.248'))
|
|
46
|
+
throw new Error(`Claude Code ${version} is too old. Install version 2.1.248 or newer.`);
|
|
47
|
+
this.cliVersion = version;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const { stdout } = await execFile(this.config.command ?? 'claude', ['auth', 'status'], { encoding: 'utf8', timeout: 15000, cwd: tmpdir(), env: claudeEnvironment(), maxBuffer: 4096 });
|
|
51
|
+
const auth = JSON.parse(String(stdout));
|
|
52
|
+
if (!auth.loggedIn || !['claude.ai', 'oauth_token'].includes(auth.authMethod ?? '') || auth.apiProvider !== 'firstParty' || auth.apiKeySource && auth.apiKeySource !== '/login managed key')
|
|
53
|
+
throw new Error();
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
throw new Error('Claude Code is not signed in with a Claude subscription. Run `claude auth login` without `--console`.');
|
|
57
|
+
}
|
|
58
|
+
return version;
|
|
59
|
+
}
|
|
60
|
+
plan(context) { return this.request('PLAN', context, PlanSchema, PLAN_FORMAT); }
|
|
61
|
+
repair(context) { return this.request('REPAIR', context, RepairSchema, REPAIR_FORMAT); }
|
|
62
|
+
classify(goal) { return this.request('CLASSIFY', { goal }, z.object({ intent: z.string().max(80) }).strict(), 'Return {"intent":short lowercase intent}.'); }
|
|
63
|
+
async request(operation, context, schema, format, correcting = false) {
|
|
64
|
+
const { page, ...task } = context;
|
|
65
|
+
const suffix = correcting ? '\nYour previous JSON failed strict schema validation. Follow the requested schema exactly and use only listed keys.' : '';
|
|
66
|
+
const systemPrompt = `${SYSTEM_POLICY}\n${format}${suffix}\nReturn only the requested JSON object.`;
|
|
67
|
+
const build = (pageText) => `${format}${suffix}\nReturn only the requested JSON object.\n${JSON.stringify({ operation, ...task })}\n${untrusted(pageText)}`;
|
|
68
|
+
let pageText = page ?? '';
|
|
69
|
+
const available = this.budget.limits.maxInputTokens === null ? Infinity : this.budget.limits.maxInputTokens - this.budget.input - this.budget.pendingInput;
|
|
70
|
+
while (Buffer.byteLength(systemPrompt) + Buffer.byteLength(build(pageText)) > available && pageText.length)
|
|
71
|
+
pageText = pageText.slice(0, Math.max(0, pageText.length - Math.max(128, Buffer.byteLength(systemPrompt) + Buffer.byteLength(build(pageText)) - available)));
|
|
72
|
+
const prompt = build(pageText), inputBound = Buffer.byteLength(systemPrompt) + Buffer.byteLength(prompt);
|
|
73
|
+
const reservation = this.budget.reserve(inputBound, operation === 'CLASSIFY' ? 100 : 1800);
|
|
74
|
+
const controller = new AbortController();
|
|
75
|
+
this.controllers.add(controller);
|
|
76
|
+
const started = Date.now();
|
|
77
|
+
let usage, validationFailure = false;
|
|
78
|
+
try {
|
|
79
|
+
await this.checkLogin();
|
|
80
|
+
const output = await this.run(prompt, systemPrompt, controller.signal);
|
|
81
|
+
const outputBound = Math.ceil(Buffer.byteLength(output) / 4);
|
|
82
|
+
usage = { input: inputBound, output: outputBound, estimated: true };
|
|
83
|
+
this.budget.record(usage, reservation.id);
|
|
84
|
+
if (outputBound > reservation.maxOutput)
|
|
85
|
+
throw new Error('Claude response exceeded the estimated output-token budget');
|
|
86
|
+
let value;
|
|
87
|
+
try {
|
|
88
|
+
value = JSON.parse(output);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
throw new Error('Claude returned invalid JSON');
|
|
92
|
+
}
|
|
93
|
+
const checked = schema.safeParse(value);
|
|
94
|
+
if (!checked.success) {
|
|
95
|
+
validationFailure = true;
|
|
96
|
+
throw new Error('Claude response failed strict action schema validation: ' + checked.error.issues.map(i => i.path.join('.') + ': ' + i.code).join('; '));
|
|
97
|
+
}
|
|
98
|
+
this.calls.push({ operation, model: this.name, durationMs: Date.now() - started, usage, success: true });
|
|
99
|
+
return checked.data;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const safeError = error instanceof Error ? error.message : 'Claude subscription request failed';
|
|
103
|
+
if (!usage) {
|
|
104
|
+
usage = { input: inputBound, output: 0, estimated: true };
|
|
105
|
+
this.budget.record(usage, reservation.id);
|
|
106
|
+
}
|
|
107
|
+
this.calls.push({ operation, model: this.name, durationMs: Date.now() - started, usage, success: false, error: safeError });
|
|
108
|
+
if (validationFailure && !correcting)
|
|
109
|
+
return this.request(operation, context, schema, format + suffix, true);
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
this.controllers.delete(controller);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async run(prompt, systemPrompt, signal) {
|
|
117
|
+
const directory = await mkdtemp(join(tmpdir(), 'fcu-claude-'));
|
|
118
|
+
try {
|
|
119
|
+
const args = ['-p', '--input-format', 'text', '--output-format', 'json', '--restricted', '--bare', '--tools', '', '--strict-mcp-config', '--mcp-config', '{"mcpServers":{}}',
|
|
120
|
+
'--disallowedTools', 'mcp__*', '--no-session-persistence', '--max-turns', '1', '--permission-mode', 'dontAsk', '--no-chrome', '--disable-slash-commands',
|
|
121
|
+
'--append-system-prompt', systemPrompt];
|
|
122
|
+
if (this.config.model)
|
|
123
|
+
args.push('--model', this.config.model);
|
|
124
|
+
return await new Promise((resolve, reject) => {
|
|
125
|
+
if (signal.aborted) {
|
|
126
|
+
reject(new Error('Claude request cancelled'));
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const child = spawn(this.config.command ?? 'claude', args, { cwd: directory, env: claudeEnvironment(), stdio: ['pipe', 'pipe', 'ignore'] });
|
|
130
|
+
let output = '', failure, timedOut = false;
|
|
131
|
+
const timer = setTimeout(() => { timedOut = true; child.kill('SIGTERM'); }, this.config.timeoutMs ?? 60000);
|
|
132
|
+
const stop = () => child.kill('SIGTERM');
|
|
133
|
+
signal.addEventListener('abort', stop, { once: true });
|
|
134
|
+
if (signal.aborted)
|
|
135
|
+
stop();
|
|
136
|
+
child.stdout.setEncoding('utf8').on('data', (chunk) => { output += chunk; if (Buffer.byteLength(output) > 1_000_000) {
|
|
137
|
+
failure = new Error('Claude response exceeded the output-size limit');
|
|
138
|
+
child.kill('SIGTERM');
|
|
139
|
+
} });
|
|
140
|
+
child.on('error', () => { failure = new Error('Claude Code CLI could not start; install Claude Code and run `claude auth login`.'); });
|
|
141
|
+
child.on('close', code => {
|
|
142
|
+
clearTimeout(timer);
|
|
143
|
+
signal.removeEventListener('abort', stop);
|
|
144
|
+
if (timedOut)
|
|
145
|
+
failure = new Error('Claude Code CLI timed out');
|
|
146
|
+
else if (signal.aborted)
|
|
147
|
+
failure = new Error('Claude request cancelled');
|
|
148
|
+
else if (code !== 0 && !failure)
|
|
149
|
+
failure = new Error('Claude Code CLI failed; check `claude auth status` and your subscription limits.');
|
|
150
|
+
if (failure) {
|
|
151
|
+
reject(failure);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
let result;
|
|
155
|
+
try {
|
|
156
|
+
result = JSON.parse(output.trim());
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
reject(new Error('Claude Code returned invalid JSON output'));
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (result.is_error) {
|
|
163
|
+
reject(new Error('Claude Code returned an error'));
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const text = typeof result.result === 'string' ? result.result : result.structured_output !== undefined ? JSON.stringify(result.structured_output) : undefined;
|
|
167
|
+
if (!text) {
|
|
168
|
+
reject(new Error('Claude Code returned no response'));
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
resolve(text);
|
|
172
|
+
});
|
|
173
|
+
child.stdin.on('error', () => { });
|
|
174
|
+
child.stdin.end(prompt);
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
finally {
|
|
178
|
+
await rm(directory, { recursive: true, force: true });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=ClaudeSubscriptionProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeSubscriptionProvider.js","sourceRoot":"","sources":["../../src/llm/ClaudeSubscriptionProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Plan, type Repair } from '../actions/schema.js';
|
|
2
|
+
import type { LLMProvider, PlanningContext, RepairContext, LLMCall } from './LLMProvider.js';
|
|
3
|
+
import { TokenBudget } from '../agent/TokenBudget.js';
|
|
4
|
+
export interface CodexSubscriptionConfig {
|
|
5
|
+
command?: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class CodexSubscriptionProvider implements LLMProvider {
|
|
10
|
+
readonly config: CodexSubscriptionConfig;
|
|
11
|
+
readonly budget: TokenBudget;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
readonly calls: LLMCall[];
|
|
14
|
+
private controllers;
|
|
15
|
+
private cliVersion?;
|
|
16
|
+
constructor(config: CodexSubscriptionConfig, budget: TokenBudget);
|
|
17
|
+
cancel(): void;
|
|
18
|
+
checkLogin(): Promise<string>;
|
|
19
|
+
plan(context: PlanningContext): Promise<Plan>;
|
|
20
|
+
repair(context: RepairContext): Promise<Repair>;
|
|
21
|
+
classify(goal: string): Promise<{
|
|
22
|
+
intent: string;
|
|
23
|
+
}>;
|
|
24
|
+
private request;
|
|
25
|
+
private run;
|
|
26
|
+
}
|