@tangle-network/browser-agent-driver 0.8.0 → 0.10.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.
Files changed (75) hide show
  1. package/README.md +2 -2
  2. package/dist/brain/index.d.ts +24 -7
  3. package/dist/brain/index.d.ts.map +1 -1
  4. package/dist/brain/index.js +227 -93
  5. package/dist/brain/index.js.map +1 -1
  6. package/dist/captcha.d.ts +55 -0
  7. package/dist/captcha.d.ts.map +1 -0
  8. package/dist/captcha.js +403 -0
  9. package/dist/captcha.js.map +1 -0
  10. package/dist/cli-design-audit.d.ts.map +1 -1
  11. package/dist/cli-design-audit.js +81 -59
  12. package/dist/cli-design-audit.js.map +1 -1
  13. package/dist/cli-ui.d.ts +49 -0
  14. package/dist/cli-ui.d.ts.map +1 -0
  15. package/dist/cli-ui.js +395 -0
  16. package/dist/cli-ui.js.map +1 -0
  17. package/dist/cli.js +144 -191
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config.d.ts +1 -1
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +1 -1
  22. package/dist/config.js.map +1 -1
  23. package/dist/design-audit.js +2 -2
  24. package/dist/design-audit.js.map +1 -1
  25. package/dist/drivers/cdp-snapshot.d.ts.map +1 -1
  26. package/dist/drivers/cdp-snapshot.js +2 -1
  27. package/dist/drivers/cdp-snapshot.js.map +1 -1
  28. package/dist/drivers/playwright.d.ts +6 -0
  29. package/dist/drivers/playwright.d.ts.map +1 -1
  30. package/dist/drivers/playwright.js +34 -9
  31. package/dist/drivers/playwright.js.map +1 -1
  32. package/dist/drivers/snapshot.d.ts +1 -0
  33. package/dist/drivers/snapshot.d.ts.map +1 -1
  34. package/dist/drivers/snapshot.js +12 -5
  35. package/dist/drivers/snapshot.js.map +1 -1
  36. package/dist/drivers/types.d.ts +2 -0
  37. package/dist/drivers/types.d.ts.map +1 -1
  38. package/dist/index.d.ts +7 -3
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/memory/knowledge.d.ts +25 -9
  43. package/dist/memory/knowledge.d.ts.map +1 -1
  44. package/dist/memory/knowledge.js +94 -28
  45. package/dist/memory/knowledge.js.map +1 -1
  46. package/dist/memory/run-registry.d.ts +85 -0
  47. package/dist/memory/run-registry.d.ts.map +1 -0
  48. package/dist/memory/run-registry.js +144 -0
  49. package/dist/memory/run-registry.js.map +1 -0
  50. package/dist/multi-actor.d.ts +3 -3
  51. package/dist/multi-actor.d.ts.map +1 -1
  52. package/dist/multi-actor.js +3 -3
  53. package/dist/multi-actor.js.map +1 -1
  54. package/dist/recovery.d.ts.map +1 -1
  55. package/dist/recovery.js +16 -35
  56. package/dist/recovery.js.map +1 -1
  57. package/dist/runner/index.d.ts +2 -2
  58. package/dist/runner/index.d.ts.map +1 -1
  59. package/dist/runner/index.js +1 -1
  60. package/dist/runner/index.js.map +1 -1
  61. package/dist/runner/runner.d.ts +10 -5
  62. package/dist/runner/runner.d.ts.map +1 -1
  63. package/dist/runner/runner.js +204 -120
  64. package/dist/runner/runner.js.map +1 -1
  65. package/dist/runner.d.ts +2 -2
  66. package/dist/runner.d.ts.map +1 -1
  67. package/dist/runner.js +1 -1
  68. package/dist/runner.js.map +1 -1
  69. package/dist/test-runner.d.ts +1 -0
  70. package/dist/test-runner.d.ts.map +1 -1
  71. package/dist/test-runner.js +26 -2
  72. package/dist/test-runner.js.map +1 -1
  73. package/dist/types.d.ts +19 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +4 -2
package/dist/cli-ui.js ADDED
@@ -0,0 +1,395 @@
1
+ /**
2
+ * CLI rendering — colors, spinners, progress display.
3
+ *
4
+ * Zero external deps beyond chalk. Spinner is custom (no ora needed).
5
+ * Degrades gracefully: colors off when piped, spinner disabled in non-TTY.
6
+ */
7
+ import chalk from 'chalk';
8
+ // ── Formatting ──
9
+ export function fmtDuration(ms) {
10
+ const s = Math.round(ms / 1000);
11
+ if (s < 60)
12
+ return `${s}s`;
13
+ const m = Math.floor(s / 60);
14
+ const rem = s % 60;
15
+ return rem > 0 ? `${m}m ${rem}s` : `${m}m`;
16
+ }
17
+ export function cliError(msg) {
18
+ console.error(` ${chalk.red('error:')} ${msg}`);
19
+ }
20
+ export function cliWarn(msg) {
21
+ console.warn(` ${chalk.yellow('warn:')} ${msg}`);
22
+ }
23
+ export function cliLog(prefix, msg) {
24
+ console.log(` ${chalk.dim(`[${prefix}]`)} ${msg}`);
25
+ }
26
+ // ── Spinner ──
27
+ const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
28
+ let cursorHookInstalled = false;
29
+ class Spinner {
30
+ timer = null;
31
+ frame = 0;
32
+ text = '';
33
+ textFn;
34
+ constructor() {
35
+ if (process.stdout.isTTY && !cursorHookInstalled) {
36
+ cursorHookInstalled = true;
37
+ process.on('exit', () => process.stdout.write('\x1B[?25h'));
38
+ }
39
+ }
40
+ get running() { return this.timer !== null; }
41
+ start(text) {
42
+ if (!process.stdout.isTTY)
43
+ return;
44
+ this.textFn = undefined;
45
+ this.text = text;
46
+ process.stdout.write('\x1B[?25l');
47
+ this.tick();
48
+ this.timer = setInterval(() => this.tick(), 80);
49
+ }
50
+ /** Start with a dynamic text function — re-evaluated every tick for live updates */
51
+ startDynamic(fn) {
52
+ if (!process.stdout.isTTY)
53
+ return;
54
+ this.textFn = fn;
55
+ this.text = fn();
56
+ process.stdout.write('\x1B[?25l');
57
+ this.tick();
58
+ this.timer = setInterval(() => this.tick(), 80);
59
+ }
60
+ update(text) {
61
+ this.textFn = undefined;
62
+ this.text = text;
63
+ }
64
+ updateDynamic(fn) {
65
+ this.textFn = fn;
66
+ }
67
+ /** Clear spinner line — call before console.log to avoid collision */
68
+ clear() {
69
+ if (!this.timer)
70
+ return;
71
+ clearInterval(this.timer);
72
+ this.timer = null;
73
+ if (process.stdout.isTTY)
74
+ process.stdout.write('\r\x1B[K');
75
+ }
76
+ stop() {
77
+ this.clear();
78
+ this.text = '';
79
+ this.textFn = undefined;
80
+ }
81
+ tick() {
82
+ if (this.textFn)
83
+ this.text = this.textFn();
84
+ const f = FRAMES[this.frame++ % FRAMES.length];
85
+ process.stdout.write(`\r\x1B[K ${f} ${this.text}`);
86
+ }
87
+ }
88
+ // ── Renderer ──
89
+ export class CliRenderer {
90
+ spinner = new Spinner();
91
+ active = new Map();
92
+ done = 0;
93
+ total = 0;
94
+ totalTurns = 0;
95
+ showDebug;
96
+ constructor(opts) {
97
+ this.showDebug = opts?.debug ?? false;
98
+ }
99
+ // ── Banner ──
100
+ banner(opts) {
101
+ const { version, provider, model, browser, testCount, concurrency, mode, profile, adaptiveRouting, outputDir } = opts;
102
+ const n = testCount;
103
+ console.log('');
104
+ console.log(` ${chalk.bold('bad')} ${chalk.dim(`v${version}`)}`);
105
+ console.log(` ${chalk.cyan(`${provider}/${model}`)} ${chalk.dim('·')} ${browser} ${chalk.dim('·')} ${chalk.bold(String(n))} test${n !== 1 ? 's' : ''} ${chalk.dim('·')} ×${concurrency}`);
106
+ const meta = [];
107
+ if (mode)
108
+ meta.push(mode);
109
+ if (profile && profile !== 'default')
110
+ meta.push(profile);
111
+ if (adaptiveRouting) {
112
+ meta.push(`adaptive ${chalk.dim(`(${adaptiveRouting.navProvider}/${adaptiveRouting.navModel})`)}`);
113
+ }
114
+ meta.push(chalk.dim(`→ ${outputDir}`));
115
+ console.log(` ${meta.join(chalk.dim(' · '))}`);
116
+ console.log('');
117
+ }
118
+ // ── Launch phase ──
119
+ launchStart(browser) {
120
+ this.spinner.start(`Launching ${browser}…`);
121
+ }
122
+ launchDone() {
123
+ this.spinner.stop();
124
+ }
125
+ // ── Progress events ──
126
+ suiteStart(totalTests) {
127
+ this.total = totalTests;
128
+ this.done = 0;
129
+ this.totalTurns = 0;
130
+ }
131
+ testStart(testId, testName) {
132
+ this.active.set(testId, { name: testName, startedAt: Date.now() });
133
+ this.syncSpinner();
134
+ }
135
+ testTurn(testId, turn, action, durationMs, modelUsed) {
136
+ const t = this.active.get(testId);
137
+ if (t) {
138
+ t.turn = turn;
139
+ t.action = action;
140
+ }
141
+ if (this.showDebug) {
142
+ this.spinner.clear();
143
+ const tag = modelUsed ? chalk.dim(` [${modelUsed}]`) : '';
144
+ console.log(` ${chalk.dim(`turn ${turn}:`)} ${action} ${chalk.dim(`(${durationMs}ms)`)}${tag}`);
145
+ }
146
+ this.syncSpinner();
147
+ }
148
+ testComplete(testId, passed, verdict, turnsUsed, durationMs, estimatedCostUsd) {
149
+ this.active.delete(testId);
150
+ this.done++;
151
+ this.totalTurns += turnsUsed;
152
+ this.spinner.clear();
153
+ const icon = passed ? chalk.green('✓') : chalk.red('✗');
154
+ const name = passed ? chalk.green(testId) : chalk.red(testId);
155
+ const cost = estimatedCostUsd ? ` · ${chalk.yellow(`$${estimatedCostUsd.toFixed(3)}`)}` : '';
156
+ const stats = `${turnsUsed} turns · ${fmtDuration(durationMs)}${cost}`;
157
+ // Single-task: show full result on its own line for readability
158
+ if (this.total === 1) {
159
+ console.log(` ${icon} ${name} ${chalk.dim(`(${stats})`)}`);
160
+ const resultText = passed ? verdict : chalk.red(verdict);
161
+ console.log(` ${resultText}`);
162
+ }
163
+ else {
164
+ const truncated = verdict.length > 80 ? verdict.slice(0, 77) + '…' : verdict;
165
+ const verdictText = passed ? truncated : chalk.red(truncated);
166
+ console.log(` ${icon} ${name} ${chalk.dim('—')} ${verdictText} ${chalk.dim(`(${stats})`)}`);
167
+ }
168
+ this.syncSpinner();
169
+ }
170
+ suiteComplete(passed, failed, skipped, totalMs, totalCostUsd, manifestUri) {
171
+ this.spinner.stop();
172
+ console.log('');
173
+ console.log(` ${chalk.dim('─'.repeat(52))}`);
174
+ const parts = [];
175
+ if (passed > 0)
176
+ parts.push(chalk.green.bold(`${passed} passed`));
177
+ if (failed > 0)
178
+ parts.push(chalk.red.bold(`${failed} failed`));
179
+ if (skipped > 0)
180
+ parts.push(chalk.yellow(`${skipped} skipped`));
181
+ const extras = [fmtDuration(totalMs)];
182
+ if (this.totalTurns > 0)
183
+ extras.push(`${this.totalTurns} turns`);
184
+ if (totalCostUsd)
185
+ extras.push(chalk.yellow(`$${totalCostUsd.toFixed(2)}`));
186
+ console.log(` ${parts.join(chalk.dim(' · '))} ${chalk.dim('·')} ${extras.join(chalk.dim(' · '))}`);
187
+ if (manifestUri)
188
+ console.log(` ${chalk.dim('Artifacts →')} ${manifestUri}`);
189
+ console.log('');
190
+ }
191
+ report(reportPath) {
192
+ console.log(` ${chalk.dim('Report →')} ${reportPath}`);
193
+ }
194
+ destroy() {
195
+ this.spinner.stop();
196
+ }
197
+ // ── Internal ──
198
+ buildSpinnerText() {
199
+ const items = [...this.active.values()];
200
+ const names = items.slice(0, 3).map(t => t.name).join(chalk.dim(', '));
201
+ const overflow = items.length > 3 ? chalk.dim(` +${items.length - 3}`) : '';
202
+ // Show latest turn number and action
203
+ const latest = items.find(t => t.turn);
204
+ const turnInfo = latest
205
+ ? chalk.dim(` · turn ${latest.turn}`) + (latest.action ? ` ${chalk.dim(latest.action)}` : '')
206
+ : '';
207
+ // Live elapsed time — recomputed every spinner tick
208
+ const oldest = items.reduce((a, b) => a.startedAt < b.startedAt ? a : b);
209
+ const elapsed = chalk.dim(` · ${fmtDuration(Date.now() - oldest.startedAt)}`);
210
+ const counter = chalk.dim(`[${this.done}/${this.total}]`);
211
+ return `${counter} ${names}${overflow}${turnInfo}${elapsed}`;
212
+ }
213
+ syncSpinner() {
214
+ if (this.active.size === 0) {
215
+ this.spinner.stop();
216
+ return;
217
+ }
218
+ const textFn = () => this.buildSpinnerText();
219
+ if (this.spinner.running) {
220
+ this.spinner.updateDynamic(textFn);
221
+ }
222
+ else {
223
+ this.spinner.startDynamic(textFn);
224
+ }
225
+ }
226
+ }
227
+ // ── Help ──
228
+ export function printStyledHelp(runModes, driverProfiles, personaIds) {
229
+ const H = chalk.bold;
230
+ const C = chalk.cyan;
231
+ const D = chalk.dim;
232
+ console.log(`
233
+ ${chalk.bold('bad')} ${D('— LLM-driven browser automation CLI')}
234
+
235
+ ${H('USAGE')}
236
+ bad run [options]
237
+ bad runs [--session-id <id>] [--json]
238
+ bad design-audit --url <url>
239
+
240
+ ${H('SINGLE TASK')}
241
+ ${D('$')} bad run ${C('--goal')} "Sign up for account" ${C('--url')} http://localhost:3000
242
+ ${D('$')} bad run ${C('-g')} "Build a todo app" ${C('-u')} http://localhost:5173 ${C('-m')} claude-sonnet-4-20250514
243
+ ${D('$')} bad run ${C('--goal')} "Explore key routes" ${C('--url')} https://example.com ${C('--mode')} fast-explore
244
+
245
+ ${H('RESUME / FORK')}
246
+ ${D('$')} bad run ${C('--resume-run')} run_1710543210_abc ${C('--goal')} "Now add dark mode"
247
+ ${D('$')} bad run ${C('--fork-run')} run_1710543210_abc ${C('--goal')} "Build auth instead"
248
+ ${D('$')} bad runs ${D('# list recent runs')}
249
+ ${D('$')} bad runs ${C('--session-id')} proj_123 ${C('--json')}
250
+
251
+ ${H('TEST SUITE')}
252
+ ${D('$')} bad run ${C('--cases')} ./cases.json ${C('--concurrency')} 4
253
+ ${D('$')} bad run ${C('--cases')} ./cases.json ${C('--sink')} ./results/ ${C('--model')} gpt-5.4
254
+
255
+ ${H('DESIGN AUDIT')}
256
+ ${D('$')} bad design-audit ${C('--url')} https://stripe.com
257
+ ${D('$')} bad design-audit ${C('--url')} https://app.uniswap.org ${C('--profile')} defi
258
+ ${D('$')} bad design-audit ${C('--url')} http://localhost:3000 ${C('--profile')} saas ${C('--pages')} 10
259
+
260
+ Profiles: ${C('general')}, ${C('saas')}, ${C('defi')}, ${C('marketing')}
261
+
262
+ ${H('DESIGN TOKEN EXTRACTION')}
263
+ ${D('$')} bad design-audit ${C('--url')} https://stripe.com ${C('--extract-tokens')}
264
+ ${D('$')} bad design-audit ${C('--url')} https://app.example.com ${C('--extract-tokens')} ${C('--json')}
265
+
266
+ Extracts colors, typography, spacing, components, logos, icons,
267
+ CSS custom properties, and brand assets at mobile/tablet/desktop viewports.
268
+ Outputs tokens.json — no LLM calls, pure DOM extraction.
269
+
270
+ ${H('DOCKER')}
271
+ ${D('$')} docker run -v ./cases.json:/data/cases.json -v ./out:/output \\
272
+ bad run ${C('--cases')} /data/cases.json ${C('--sink')} /output/
273
+
274
+ ${H('OPTIONS')}
275
+
276
+ ${D('Config')}
277
+ ${C('--config')} <path> Path to config file ${D('(default: auto-detect)')}
278
+
279
+ ${D('Test specification')}
280
+ ${C('-g, --goal')} <text> Natural language goal for single task
281
+ ${C('-u, --url')} <url> Starting URL
282
+ ${C('-c, --cases')} <file> JSON file with test cases array
283
+ ${C('--allowed-domains')} <csv> Comma-separated host allowlist
284
+ ${C('--vision-strategy')} <m> Vision policy: ${D('always, never, auto')}
285
+
286
+ ${D('LLM configuration')}
287
+ ${C('-m, --model')} <name> LLM model ${D('(default: gpt-5.4)')}
288
+ ${C('--provider')} <name> LLM provider: ${D('openai, anthropic, google, codex-cli, claude-code, sandbox-backend')}
289
+ ${C('--model-adaptive')} Enable adaptive model routing for decide() turns
290
+ ${C('--nav-model')} <name> Fast navigation model for adaptive routing
291
+ ${C('--nav-provider')} <name> Provider for nav model
292
+ ${C('--api-key')} <key> API key ${D('(or set OPENAI_API_KEY / ANTHROPIC_API_KEY)')}
293
+ ${C('--base-url')} <url> Custom LLM endpoint ${D('(e.g., LiteLLM proxy)')}
294
+ ${C('--persona')} <id> Append persona directive ${D(`(${personaIds.join(', ')})`)}
295
+
296
+ ${D('Execution')}
297
+ ${C('--mode')} <name> Mode preset: ${D(runModes.join(', '))}
298
+ ${C('--profile')} <name> Execution profile: ${D(driverProfiles.join(', '))}
299
+ ${C('--prompt-file')} <path> Load system prompt from file
300
+ ${C('--browser')} <name> Browser: ${D('chromium, firefox, webkit')}
301
+ ${C('--storage-state')} <file> Playwright storage state JSON
302
+ ${C('--concurrency')} <n> Parallel workers ${D('(default: 1)')}
303
+ ${C('--max-turns')} <n> Max turns per test ${D('(default: 30)')}
304
+ ${C('--llm-timeout')} <ms> Timeout per LLM call
305
+ ${C('--retries')} <n> Retries for transient failures
306
+ ${C('--retry-delay-ms')} <ms> Base retry backoff
307
+ ${C('--timeout')} <ms> Per-test timeout ${D('(default: 600000)')}
308
+ ${C('--headless')} Run browser headless ${D('(default: true)')}
309
+ ${C('--no-headless')} Show browser window
310
+ ${C('--screenshot-interval')} <n> Capture every N turns ${D('(default: 5)')}
311
+
312
+ ${D('Scout')}
313
+ ${C('--scout')} Enable scout/ranker recommendations
314
+ ${C('--scout-model')} <name> Model override for scout
315
+ ${C('--scout-provider')} <name> Provider override for scout
316
+ ${C('--scout-vision')} Let scout inspect screenshots
317
+ ${C('--scout-max-candidates')} <n>
318
+ ${C('--scout-min-top-score')} <n>
319
+ ${C('--scout-max-score-gap')} <n>
320
+
321
+ ${D('Wallet mode')}
322
+ ${C('--wallet')} Enable wallet mode ${D('(persistent Chromium profile)')}
323
+ ${C('--extension')} <path> Load unpacked wallet/browser extension ${D('(repeatable)')}
324
+ ${C('--user-data-dir')} <dir> Persistent profile directory
325
+ ${C('--wallet-auto-approve')} Extension prompt auto-approval ${D('(default: true)')}
326
+ ${C('--wallet-password')} <v> Wallet unlock password
327
+ ${C('--wallet-preflight')} Run wallet origin preflight ${D('(default: true)')}
328
+ ${C('--wallet-seed-url')} <u> Preflight URL ${D('(repeatable)')}
329
+ ${C('--wallet-chain-id')} <n> Target chain ID for preflight
330
+ ${C('--wallet-chain-rpc-url')} <u> RPC URL for preflight
331
+
332
+ ${D('Session continuity')}
333
+ ${C('--session-id')} <id> Session ID for cross-run continuity ${D('(chains runs together)')}
334
+ ${C('--resume-run')} <runId> Resume from a previous run ${D('(navigates to finalUrl)')}
335
+ ${C('--fork-run')} <runId> Fork a new session from a previous run ${D('(requires --goal)')}
336
+
337
+ ${D('Memory & scoring')}
338
+ ${C('--memory')} Enable trajectory memory ${D('(default: on)')}
339
+ ${C('--no-memory')} Disable trajectory memory
340
+ ${C('--memory-dir')} <dir> Memory directory ${D('(default: .agent-memory)')}
341
+ ${C('--quality-threshold')} <n> Min quality score 1-10 ${D('(default: 0 = skip)')}
342
+ ${C('--trace-scoring')} Enable trajectory scoring
343
+ ${C('--trace-ttl-days')} <n> Retention window ${D('(default: 30)')}
344
+
345
+ ${D('Output')}
346
+ ${C('-s, --sink')} <dir> Output directory ${D('(default: ./agent-results)')}
347
+ ${C('--json')} Output progress as JSON lines ${D('(for piping)')}
348
+ ${C('-q, --quiet')} Suppress all output
349
+ ${C('--goal-verification')} Verify goal completion ${D('(default: true)')}
350
+ ${C('--no-goal-verification')} Skip goal verification
351
+ ${C('--vision')} Enable vision/screenshots ${D('(default: true)')}
352
+ ${C('--no-vision')} Disable vision
353
+ ${C('--block-analytics')} Block analytics/tracking scripts
354
+ ${C('--block-images')} Block image loading
355
+ ${C('--block-media')} Block media loading
356
+
357
+ ${D('Other')}
358
+ ${C('-d, --debug')} Enable debug logging
359
+ ${C('-h, --help')} Show this help
360
+ ${C('-v, --version')} Show version
361
+
362
+ ${D('Sandbox backend')}
363
+ ${C('--sandbox-backend-type')} <type>
364
+ ${C('--sandbox-backend-profile')} <id>
365
+ ${C('--sandbox-backend-provider')} <id>
366
+
367
+ ${H('TEST CASES JSON FORMAT')}
368
+ [
369
+ {
370
+ ${C('"id"')}: "signup",
371
+ ${C('"name"')}: "User signup flow",
372
+ ${C('"goal"')}: "Create a new account with email test@example.com",
373
+ ${C('"startUrl"')}: "http://localhost:3000/signup",
374
+ ${C('"maxTurns"')}: 20,
375
+ ${C('"timeoutMs"')}: 300000,
376
+ ${C('"successDescription"')}: "Account created and redirected to dashboard"
377
+ }
378
+ ]
379
+
380
+ ${H('ENVIRONMENT VARIABLES')}
381
+ ${C('OPENAI_API_KEY')} OpenAI API key
382
+ ${C('ANTHROPIC_API_KEY')} Anthropic API key
383
+ ${C('LLM_BASE_URL')} Custom LLM endpoint URL
384
+ ${C('BROWSER_ENDPOINT')} Remote browser endpoint ${D('(CDP or Playwright)')}
385
+ ${C('CODEX_CLI_PATH')} Optional Codex CLI binary path
386
+ ${C('CODEX_ALLOW_NPX')} Set to 0 to disable npx fallback for codex-cli
387
+ ${C('CLAUDE_CODE_CLI_PATH')} Optional Claude CLI binary path
388
+ ${C('SANDBOX_BACKEND_TYPE')} Native backend type for sandbox-backend
389
+ ${C('SANDBOX_BACKEND_PROFILE')} Native backend profile/preset
390
+ ${C('SANDBOX_BACKEND_MODEL_PROVIDER')} Native backend provider override
391
+ ${C('SANDBOX_SIDECAR_URL')} Sidecar API URL ${D('(default: http://127.0.0.1:$SIDECAR_PORT)')}
392
+ ${C('SANDBOX_SIDECAR_AUTH_TOKEN')} Sidecar API bearer token
393
+ `);
394
+ }
395
+ //# sourceMappingURL=cli-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-ui.js","sourceRoot":"","sources":["../src/cli-ui.ts"],"names":[],"mappings":"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"}