@zhihaohong52/sonata 0.13.0 → 0.14.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/README.md +1 -1
- package/dist/adapters/claude.js +50 -11
- package/dist/adapters/claude.js.map +1 -1
- package/dist/adapters/codex.js +50 -22
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/opencode.js +5 -4
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/budget.js +67 -3
- package/dist/budget.js.map +1 -1
- package/dist/catalog.js +62 -24
- package/dist/catalog.js.map +1 -1
- package/dist/cli.js +4 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/catalog.js +21 -3
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/code.js +7 -3
- package/dist/commands/code.js.map +1 -1
- package/dist/commands/dispatch.js +11 -4
- package/dist/commands/dispatch.js.map +1 -1
- package/dist/commands/doctor.js +96 -13
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/gc.js +4 -1
- package/dist/commands/gc.js.map +1 -1
- package/dist/commands/init.js +13 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/log.js +15 -4
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/reset.js +5 -4
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/route.js +63 -34
- package/dist/commands/route.js.map +1 -1
- package/dist/commands/run.js +116 -66
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/runs.js +12 -7
- package/dist/commands/runs.js.map +1 -1
- package/dist/commands/serve.js +1553 -172
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/sync.js +56 -9
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/tail.js +113 -14
- package/dist/commands/tail.js.map +1 -1
- package/dist/commands/usage.js +78 -3
- package/dist/commands/usage.js.map +1 -1
- package/dist/commands/verify.js +6 -1
- package/dist/commands/verify.js.map +1 -1
- package/dist/config.js +98 -13
- package/dist/config.js.map +1 -1
- package/dist/detect.js +31 -8
- package/dist/detect.js.map +1 -1
- package/dist/filelock.js +164 -22
- package/dist/filelock.js.map +1 -1
- package/dist/harness-usage.js +89 -28
- package/dist/harness-usage.js.map +1 -1
- package/dist/init/apply.js +16 -7
- package/dist/init/apply.js.map +1 -1
- package/dist/init/candidates.js +40 -2
- package/dist/init/candidates.js.map +1 -1
- package/dist/init/discover.js +49 -16
- package/dist/init/discover.js.map +1 -1
- package/dist/init/helpers.js +33 -2
- package/dist/init/helpers.js.map +1 -1
- package/dist/init/interactive-state.js +9 -4
- package/dist/init/interactive-state.js.map +1 -1
- package/dist/init/plan.js +4 -3
- package/dist/init/plan.js.map +1 -1
- package/dist/init/scripted-state.js +9 -3
- package/dist/init/scripted-state.js.map +1 -1
- package/dist/init/toml.js +44 -3
- package/dist/init/toml.js.map +1 -1
- package/dist/init/validate.js +13 -0
- package/dist/init/validate.js.map +1 -1
- package/dist/ledger.js +22 -3
- package/dist/ledger.js.map +1 -1
- package/dist/native/codex-auth.js +35 -6
- package/dist/native/codex-auth.js.map +1 -1
- package/dist/native/credential-reads.js +288 -0
- package/dist/native/credential-reads.js.map +1 -0
- package/dist/native/credentials.js +3 -2
- package/dist/native/credentials.js.map +1 -1
- package/dist/native/gateway-env.js +11 -0
- package/dist/native/gateway-env.js.map +1 -0
- package/dist/native/litellm-output.js +163 -0
- package/dist/native/litellm-output.js.map +1 -0
- package/dist/native/litellm-venv.js +29 -14
- package/dist/native/litellm-venv.js.map +1 -1
- package/dist/native/litellm.js +20 -8
- package/dist/native/litellm.js.map +1 -1
- package/dist/native/models.js +26 -3
- package/dist/native/models.js.map +1 -1
- package/dist/native/oauth-login.js +11 -3
- package/dist/native/oauth-login.js.map +1 -1
- package/dist/native/opencode-store.js +89 -35
- package/dist/native/opencode-store.js.map +1 -1
- package/dist/native/providers.js +85 -0
- package/dist/native/providers.js.map +1 -1
- package/dist/native/read-snapshot.js +72 -0
- package/dist/native/read-snapshot.js.map +1 -0
- package/dist/native/router-token.js +18 -6
- package/dist/native/router-token.js.map +1 -1
- package/dist/native/router.js +838 -88
- package/dist/native/router.js.map +1 -1
- package/dist/native/tenants.js +110 -18
- package/dist/native/tenants.js.map +1 -1
- package/dist/native/ui-detail.js +43 -9
- package/dist/native/ui-detail.js.map +1 -1
- package/dist/native/ui-runs.js +43 -14
- package/dist/native/ui-runs.js.map +1 -1
- package/dist/native/ui.js +3 -2
- package/dist/native/ui.js.map +1 -1
- package/dist/pricing.js +8 -6
- package/dist/pricing.js.map +1 -1
- package/dist/run-log.js +113 -0
- package/dist/run-log.js.map +1 -0
- package/dist/sessions.js +62 -14
- package/dist/sessions.js.map +1 -1
- package/dist/settings.js +22 -0
- package/dist/settings.js.map +1 -1
- package/dist/shell.js +19 -0
- package/dist/shell.js.map +1 -0
- package/dist/sqlite.js +8 -0
- package/dist/sqlite.js.map +1 -1
- package/dist/store.js +50 -9
- package/dist/store.js.map +1 -1
- package/dist/tmux.js +51 -6
- package/dist/tmux.js.map +1 -1
- package/dist/tui-ink/app.js +6 -2
- package/dist/tui-ink/app.js.map +1 -1
- package/dist/tui-ink/components/models-step.js +1 -1
- package/dist/tui-ink/components/models-step.js.map +1 -1
- package/dist/tui-ink/components/ranked-select-state.js +4 -1
- package/dist/tui-ink/components/ranked-select-state.js.map +1 -1
- package/dist/version-probe.js +205 -0
- package/dist/version-probe.js.map +1 -0
- package/dist/watchdog.js +34 -14
- package/dist/watchdog.js.map +1 -1
- package/hooks/ensure-serve.mjs +30 -2
- package/hooks/route-session.mjs +50 -8
- package/hooks/route-subagent.mjs +50 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -383,7 +383,7 @@ killed and the run is reported `DONE`, `degraded`, with a report beginning
|
|
|
383
383
|
| `sonata dispatch (--tier <role>-<tier> \| --model <key>)` | Blocking harness dispatch with ranked fallback — the fallback lane a tier agent reaches for when every native route fails |
|
|
384
384
|
| `sonata tail` | Human/debugging view of a run |
|
|
385
385
|
| `sonata approve` | Answer a pending approval |
|
|
386
|
-
| `sonata log <id>` | Print a run
|
|
386
|
+
| `sonata log <id>` | Print what a run printed |
|
|
387
387
|
| `sonata verify <id> [--model <key>]` | Verify a completed run |
|
|
388
388
|
| `sonata auth` | Manage native-path gateway keys (`list`, `add <gateway>`, `remove <gateway>`, `login <gateway>`) |
|
|
389
389
|
| `sonata catalog [update]` | Show the cached Artificial Analysis catalog's age, or refresh it (needs a stored `artificialanalysis` key). `sonata doctor` warns when it goes stale |
|
package/dist/adapters/claude.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
1
2
|
import { join } from 'node:path';
|
|
2
3
|
import { asRecord, count, epochMs, filesIn, readJsonl } from './usage-files.js';
|
|
3
4
|
import { isAnthropicRoutedName, isReadOnlyRole, loadConfig } from '../config.js';
|
|
@@ -8,7 +9,15 @@ const PROMPT_PATTERNS = [];
|
|
|
8
9
|
function shellQuote(value) {
|
|
9
10
|
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Where Claude Code looks for an enterprise `managed-mcp.json`, per
|
|
14
|
+
* code.claude.com/docs/en/managed-mcp. Windows is unsupported by sonata.
|
|
15
|
+
*/
|
|
16
|
+
export const MANAGED_MCP_FILES = {
|
|
17
|
+
darwin: '/Library/Application Support/ClaudeCode/managed-mcp.json',
|
|
18
|
+
linux: '/etc/claude-code/managed-mcp.json',
|
|
19
|
+
};
|
|
20
|
+
export function planClaude(input, env = { managedMcpFile: MANAGED_MCP_FILES[process.platform] }) {
|
|
12
21
|
const readOnly = isReadOnlyRole(input.role);
|
|
13
22
|
const permissionMode = readOnly ? 'plan' : input.mode;
|
|
14
23
|
// The level travels in the model name, not in a flag of its own. The claude
|
|
@@ -39,8 +48,34 @@ function buildScript(input) {
|
|
|
39
48
|
// prompt text ended up split on commas/whitespace into garbage
|
|
40
49
|
// "allowedTools" rules, and `-p` then had no prompt argument left at all.
|
|
41
50
|
// The `=` form binds exactly one value and does not swallow what follows.
|
|
42
|
-
|
|
43
|
-
|
|
51
|
+
//
|
|
52
|
+
// Bash is deliberately absent, and `--tools` is what makes that hold.
|
|
53
|
+
// `--allowedTools` only pre-approves: an unlisted tool still exists, and in
|
|
54
|
+
// plan mode a shell command outside the built-in read-only set goes to the
|
|
55
|
+
// auto-mode classifier rather than being refused — so an unscoped `Bash`
|
|
56
|
+
// allow was no read-only guarantee, and neither is leaving Bash unlisted.
|
|
57
|
+
// `--tools` restricts which *built-in* tools exist, matching pi's allowlist.
|
|
58
|
+
//
|
|
59
|
+
// It says nothing about MCP tools, and `--strict-mcp-config` is what closes
|
|
60
|
+
// that. Probed on Claude Code 2.1.284 (`-p` with these exact flags, reading
|
|
61
|
+
// the init event's tool list): `--tools=Read,Grep,Glob` removed every other
|
|
62
|
+
// built-in, yet the run still had every user, project, plugin and claude.ai
|
|
63
|
+
// MCP tool — a project `.mcp.json` server's `write_file`, Slack's
|
|
64
|
+
// send_message and the rest. `--strict-mcp-config` with no `--mcp-config`
|
|
65
|
+
// loads no server at all and left exactly Read, Grep and Glob. Chosen over
|
|
66
|
+
// `--disallowedTools=mcp__*`, which also hid them in that probe but still
|
|
67
|
+
// starts every server and relies on glob matching staying supported.
|
|
68
|
+
//
|
|
69
|
+
// Except where an enterprise `managed-mcp.json` is deployed: Claude Code
|
|
70
|
+
// reads `--strict-mcp-config` there as asking to replace the managed set and
|
|
71
|
+
// exits at startup (code.claude.com/docs/en/managed-mcp), so every read-only
|
|
72
|
+
// dispatch would die before running. There the fallback is the deny rule —
|
|
73
|
+
// the managed servers still start, but their tools are refused. Quoted,
|
|
74
|
+
// because an unquoted `mcp__*` is a bash glob against the working directory.
|
|
75
|
+
if (readOnly) {
|
|
76
|
+
const managed = env.managedMcpFile !== undefined && existsSync(env.managedMcpFile);
|
|
77
|
+
flags.push('--tools=Read,Grep,Glob', '--allowedTools=Read,Grep,Glob', managed ? shellQuote('--disallowedTools=mcp__*') : '--strict-mcp-config');
|
|
78
|
+
}
|
|
44
79
|
// The session id sonata chose, so the run's transcript — and the router's
|
|
45
80
|
// ledger rows, which record Claude Code's session id — name this run.
|
|
46
81
|
if (input.sessionId !== undefined)
|
|
@@ -89,7 +124,7 @@ function buildScript(input) {
|
|
|
89
124
|
// silentUntilExit: stdout goes to last-message.txt (see the no-tee comment
|
|
90
125
|
// above), so the pane stays unchanged for the whole run and pane-silence
|
|
91
126
|
// stall detection would mark every long run STALLED.
|
|
92
|
-
return { script, interactive: false, canWriteReport: !readOnly, silentUntilExit: true, effortHonoured };
|
|
127
|
+
return { script, interactive: false, canWriteReport: !readOnly, silentUntilExit: true, effortHonoured, routed: routerUrl !== '' };
|
|
93
128
|
}
|
|
94
129
|
/**
|
|
95
130
|
* A finished run's usage.
|
|
@@ -103,12 +138,16 @@ function buildScript(input) {
|
|
|
103
138
|
* written more than once under one `message.id`, so the last copy wins.
|
|
104
139
|
*/
|
|
105
140
|
export function claudeUsage(query) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
141
|
+
// Launch decided routing; re-deciding from today's config could count a run
|
|
142
|
+
// twice or not at all. Only a run predating `routed` falls back to that.
|
|
143
|
+
let routed = query.routed ?? false;
|
|
144
|
+
if (query.routed === undefined) {
|
|
145
|
+
try {
|
|
146
|
+
routed = loadConfig(query.cwd, query.home).native !== undefined;
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// No loadable config: the plan could not have routed it either.
|
|
150
|
+
}
|
|
112
151
|
}
|
|
113
152
|
if (routed)
|
|
114
153
|
return { kind: 'router', session: query.sessionId };
|
|
@@ -146,7 +185,7 @@ export const claudeAdapter = {
|
|
|
146
185
|
versionCommand: ['claude', '--version'],
|
|
147
186
|
supportedVersions: '>=2.1.0 <3.0.0',
|
|
148
187
|
pathPrepend: [],
|
|
149
|
-
plan:
|
|
188
|
+
plan: (input) => planClaude(input),
|
|
150
189
|
canPromptForApproval: false,
|
|
151
190
|
promptPatterns: PROMPT_PATTERNS,
|
|
152
191
|
describePrompt() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,eAAe,GAAa,EAAE,CAAC;AAErC,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/adapters/claude.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/codex.js
CHANGED
|
@@ -364,12 +364,19 @@ function rolloutDays(root, startMs, endMs) {
|
|
|
364
364
|
/**
|
|
365
365
|
* A finished run's usage, from codex's rollout file.
|
|
366
366
|
*
|
|
367
|
-
* Sonata owns the whole codex session — one launch, one rollout —
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*
|
|
367
|
+
* Sonata owns the whole codex session — one launch, one rollout — and every
|
|
368
|
+
* `token_count` event carries the session's running `total_token_usage`. Each
|
|
369
|
+
* event becomes one record: the step from the previous total, at that event's
|
|
370
|
+
* own time, so the records sum to the last total and a run crossing a
|
|
371
|
+
* `[price].windows` edge is priced step by step rather than all at its end. A
|
|
372
|
+
* repeated total is no step and is skipped. A total that ever shrinks is not a
|
|
373
|
+
* series that can be differenced without inventing negative usage, so the run
|
|
374
|
+
* then falls back to one record carrying the last total, as before.
|
|
375
|
+
*
|
|
376
|
+
* Codex counts cached input INSIDE `input_tokens` (OpenAI's convention) while
|
|
377
|
+
* the ledger keeps cache reads apart, so they are subtracted out;
|
|
378
|
+
* `reasoning_output_tokens` is already inside `output_tokens` and is not
|
|
379
|
+
* added again. Codex reports no cost of its own.
|
|
373
380
|
*/
|
|
374
381
|
export function codexUsage(query) {
|
|
375
382
|
const root = join(query.home, '.codex', 'sessions');
|
|
@@ -394,8 +401,7 @@ export function codexUsage(query) {
|
|
|
394
401
|
return { kind: 'unobservable', reason: 'no codex session was recorded for this run' };
|
|
395
402
|
if (matches.length > 1)
|
|
396
403
|
return { kind: 'unobservable', reason: ambiguous('codex', matches.length) };
|
|
397
|
-
|
|
398
|
-
let at;
|
|
404
|
+
const totals = [];
|
|
399
405
|
let model;
|
|
400
406
|
for (const line of readJsonl(matches[0].path)) {
|
|
401
407
|
const event = asRecord(line);
|
|
@@ -407,25 +413,47 @@ export function codexUsage(query) {
|
|
|
407
413
|
const usage = asRecord(asRecord(payload.info)?.total_token_usage);
|
|
408
414
|
if (usage === undefined)
|
|
409
415
|
continue;
|
|
410
|
-
|
|
411
|
-
|
|
416
|
+
const cached = count(usage.cached_input_tokens ?? usage.cache_read_input_tokens);
|
|
417
|
+
totals.push({
|
|
418
|
+
at: typeof event.timestamp === 'string' ? event.timestamp : undefined,
|
|
419
|
+
tokens: {
|
|
420
|
+
input: Math.max(0, count(usage.input_tokens) - cached),
|
|
421
|
+
output: count(usage.output_tokens),
|
|
422
|
+
cacheRead: cached,
|
|
423
|
+
cacheCreation: count(usage.cache_write_input_tokens),
|
|
424
|
+
},
|
|
425
|
+
});
|
|
412
426
|
}
|
|
413
|
-
if (
|
|
427
|
+
if (totals.length === 0)
|
|
414
428
|
return { kind: 'unobservable', reason: 'the codex session recorded no token counts' };
|
|
415
|
-
const
|
|
429
|
+
const fallbackTs = new Date(query.endMs).toISOString();
|
|
430
|
+
const name = model ?? query.modelId;
|
|
431
|
+
const last = totals[totals.length - 1];
|
|
432
|
+
// The last timestamp seen, which is where the old single record was dated.
|
|
433
|
+
const lastAt = [...totals].reverse().find((t) => t.at !== undefined)?.at ?? fallbackTs;
|
|
434
|
+
const fields = ['input', 'output', 'cacheRead', 'cacheCreation'];
|
|
435
|
+
const steps = [];
|
|
436
|
+
let prev = { input: 0, output: 0, cacheRead: 0, cacheCreation: 0 };
|
|
437
|
+
let monotonic = true;
|
|
438
|
+
for (const total of totals) {
|
|
439
|
+
const delta = { input: 0, output: 0, cacheRead: 0, cacheCreation: 0 };
|
|
440
|
+
for (const f of fields)
|
|
441
|
+
delta[f] = total.tokens[f] - prev[f];
|
|
442
|
+
if (fields.some((f) => delta[f] < 0)) {
|
|
443
|
+
monotonic = false;
|
|
444
|
+
break;
|
|
445
|
+
}
|
|
446
|
+
if (fields.some((f) => delta[f] > 0)) {
|
|
447
|
+
steps.push({ ts: total.at ?? lastAt, model: name, tokens: delta });
|
|
448
|
+
}
|
|
449
|
+
prev = total.tokens;
|
|
450
|
+
}
|
|
416
451
|
return {
|
|
417
452
|
kind: 'observed',
|
|
418
453
|
session: matches[0].id,
|
|
419
|
-
records:
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
tokens: {
|
|
423
|
-
input: Math.max(0, count(total.input_tokens) - cached),
|
|
424
|
-
output: count(total.output_tokens),
|
|
425
|
-
cacheRead: cached,
|
|
426
|
-
cacheCreation: count(total.cache_write_input_tokens),
|
|
427
|
-
},
|
|
428
|
-
}],
|
|
454
|
+
records: monotonic && steps.length > 0
|
|
455
|
+
? steps
|
|
456
|
+
: [{ ts: lastAt, model: name, tokens: last.tokens }],
|
|
429
457
|
};
|
|
430
458
|
}
|
|
431
459
|
export const codexAdapter = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { openReadOnlySync } from '../sqlite.js';
|
|
|
3
3
|
import { ambiguous, asRecord, canonicalPath, count, epochMs, inWindow, money, narrowByMarker, WINDOW_SLACK_MS } from './usage-files.js';
|
|
4
4
|
import { isReadOnlyRole } from '../config.js';
|
|
5
5
|
import { wireEffort } from '../effort.js';
|
|
6
|
+
import { shellQuote } from '../shell.js';
|
|
6
7
|
/**
|
|
7
8
|
* Empty, and that is the finding rather than an omission.
|
|
8
9
|
*
|
|
@@ -61,7 +62,7 @@ function buildScript(input) {
|
|
|
61
62
|
// to be prefixed with a hardcoded `opencode/`, which sent every run to the
|
|
62
63
|
// free tier whatever the user selected — and that tier serves almost none of
|
|
63
64
|
// the models people configure, so the run died before the model saw the task.
|
|
64
|
-
const flags = ['run', `--agent ${agent}`, `-m ${input.modelId}`, '--interactive'];
|
|
65
|
+
const flags = ['run', `--agent ${agent}`, `-m ${shellQuote(input.modelId)}`, '--interactive'];
|
|
65
66
|
if (auto)
|
|
66
67
|
flags.push('--auto');
|
|
67
68
|
// Probed 2026-09-14 against opencode 1.18.29: `--variant <level>` is applied
|
|
@@ -91,9 +92,9 @@ function buildScript(input) {
|
|
|
91
92
|
'#!/bin/bash',
|
|
92
93
|
'set -o pipefail',
|
|
93
94
|
'export PATH="$HOME/.opencode/bin:$PATH"',
|
|
94
|
-
`cd
|
|
95
|
-
`opencode ${flags.join(' ')} 'Follow the attached instructions.' -f
|
|
96
|
-
`echo $? >
|
|
95
|
+
`cd ${shellQuote(input.cwd)} || exit 97`,
|
|
96
|
+
`opencode ${flags.join(' ')} 'Follow the attached instructions.' -f ${shellQuote(input.instructionsPath)} 2>&1 | tee -a ${shellQuote(`${input.runDir}/harness.log`)}`,
|
|
97
|
+
`echo $? > ${shellQuote(`${input.runDir}/exit`)}`,
|
|
97
98
|
'',
|
|
98
99
|
].join('\n');
|
|
99
100
|
// A run under opencode's `plan` agent cannot produce report.md, so such a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"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"}
|
package/dist/budget.js
CHANGED
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
* is reached — but it cannot stop a run midway the way the router refuses a
|
|
27
27
|
* request, so a single run can carry spend past the cap.
|
|
28
28
|
*/
|
|
29
|
-
import { existsSync } from 'node:fs';
|
|
30
|
-
import { join } from 'node:path';
|
|
29
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
30
|
+
import { dirname, join } from 'node:path';
|
|
31
31
|
import { GLOBAL_CONFIG_RELATIVE, configPath, loadConfig } from './config.js';
|
|
32
32
|
import { readRows } from './ledger.js';
|
|
33
33
|
import { canonicalConfigPath, tenantId } from './native/tenants.js';
|
|
@@ -66,6 +66,12 @@ export function spentTodayUsd(home, now = Date.now(), filter) {
|
|
|
66
66
|
*/
|
|
67
67
|
export function budgetRefusal(statuses) {
|
|
68
68
|
for (const status of statuses ?? []) {
|
|
69
|
+
// Before the spend comparison: an unreadable cap is checked first, or a
|
|
70
|
+
// broken file whose (lost) cap had room would read as room that exists.
|
|
71
|
+
if (status.unreadable !== undefined) {
|
|
72
|
+
return (`sonata budget cannot be checked: ${status.configPath} sets [budget] but will not load ` +
|
|
73
|
+
`(${status.unreadable}). Fix the file to continue — sonata refuses rather than spend without the cap.`);
|
|
74
|
+
}
|
|
69
75
|
if (status.spentUsd < status.dailyUsd)
|
|
70
76
|
continue;
|
|
71
77
|
return (`sonata daily budget reached: $${status.spentUsd.toFixed(4)} of ` +
|
|
@@ -76,6 +82,58 @@ export function budgetRefusal(statuses) {
|
|
|
76
82
|
}
|
|
77
83
|
return undefined;
|
|
78
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* A line that sets `[budget]` in any legal TOML spelling: a table header
|
|
87
|
+
* (spaces inside the brackets, a quoted name and a trailing comment all
|
|
88
|
+
* allowed) or a top-level `budget.` / `budget =` key. Matching only the bare
|
|
89
|
+
* `[budget]` line let a broken file that wrote its cap another way lose it
|
|
90
|
+
* silently. A `[budget.x]` subtable header and a key like `budgeted` do not
|
|
91
|
+
* count; a commented-out line never starts with the name, so it does not
|
|
92
|
+
* either. Erring wide is safe here: this is consulted only for a file that
|
|
93
|
+
* already fails to load.
|
|
94
|
+
*/
|
|
95
|
+
const SETS_BUDGET = /^[ \t]*(?:\[[ \t]*(?:budget|"budget"|'budget')[ \t]*\]|(?:budget|"budget"|'budget')[ \t]*[.=])/m;
|
|
96
|
+
/**
|
|
97
|
+
* The refusing status for a machine config that sets `[budget]` but will not
|
|
98
|
+
* load — recovered from the raw file, since `loadConfig` can only say "this
|
|
99
|
+
* does not parse". A cap's only visible effect is a refusal that has not
|
|
100
|
+
* happened yet, so a machine cap lost to a load error reads exactly like one
|
|
101
|
+
* that is working, right up until the bill.
|
|
102
|
+
*
|
|
103
|
+
* A broken machine config with no `[budget]` table had no cap to lose and
|
|
104
|
+
* must not start refusing everything, so the table header has to be visible
|
|
105
|
+
* in the raw text (`[budget]` alone on its line — a commented-out mention is
|
|
106
|
+
* not a table). The status carries the raw path and zero spend because the
|
|
107
|
+
* real numbers are unknowable for a file that will not load; `budgetRefusal`
|
|
108
|
+
* refuses on `unreadable` before ever looking at them.
|
|
109
|
+
*/
|
|
110
|
+
export function unreadableMachineBudget(home) {
|
|
111
|
+
const raw = join(home, GLOBAL_CONFIG_RELATIVE);
|
|
112
|
+
if (!existsSync(raw))
|
|
113
|
+
return undefined;
|
|
114
|
+
let text;
|
|
115
|
+
try {
|
|
116
|
+
text = readFileSync(raw, 'utf8');
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// Unreadable as bytes too, so there is no way to know it had a cap.
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
loadConfig(dirname(raw), home);
|
|
124
|
+
return undefined; // loads — a missing cap here is a real absence
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
if (!SETS_BUDGET.test(text))
|
|
128
|
+
return undefined;
|
|
129
|
+
return {
|
|
130
|
+
dailyUsd: 0,
|
|
131
|
+
spentUsd: 0,
|
|
132
|
+
configPath: raw,
|
|
133
|
+
unreadable: err instanceof Error ? err.message : String(err),
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
}
|
|
79
137
|
/**
|
|
80
138
|
* The caps that apply to a `sonata dispatch` launched from `cwd`: the
|
|
81
139
|
* project's own and the machine's — the same two the router applies to a
|
|
@@ -101,7 +159,13 @@ export function dispatchBudgetStatuses(cwd, home, now = Date.now()) {
|
|
|
101
159
|
cap = loadConfig(join(home, '.config', 'sonata'), home).budget?.dailyUsd;
|
|
102
160
|
}
|
|
103
161
|
catch {
|
|
104
|
-
// A machine config that will not load sets no cap here
|
|
162
|
+
// A machine config that will not load sets no readable cap here. When
|
|
163
|
+
// it had a [budget] table to lose, that is a refusal rather than a
|
|
164
|
+
// silence; `unreadableMachineBudget` decides which, so a broken file
|
|
165
|
+
// with no cap does not refuse everything.
|
|
166
|
+
const unreadable = unreadableMachineBudget(home);
|
|
167
|
+
if (unreadable !== undefined)
|
|
168
|
+
out.push(unreadable);
|
|
105
169
|
}
|
|
106
170
|
if (cap !== undefined)
|
|
107
171
|
out.push({ dailyUsd: cap, spentUsd: spentTodayUsd(home, now), configPath: machineRaw });
|
package/dist/budget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"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"}
|