@phamvuhoang/otto-core 0.5.0 → 0.7.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/dist/branch.d.ts +20 -0
- package/dist/branch.d.ts.map +1 -1
- package/dist/branch.js +34 -1
- package/dist/branch.js.map +1 -1
- package/dist/cli-help.d.ts +46 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +76 -2
- package/dist/cli-help.js.map +1 -1
- package/dist/gh-main.d.ts.map +1 -1
- package/dist/gh-main.js +1 -0
- package/dist/gh-main.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/linear-api.d.ts +1 -0
- package/dist/linear-api.d.ts.map +1 -1
- package/dist/linear-api.js +6 -1
- package/dist/linear-api.js.map +1 -1
- package/dist/linear-cli.d.ts.map +1 -1
- package/dist/linear-cli.js +11 -3
- package/dist/linear-cli.js.map +1 -1
- package/dist/linear-main.d.ts.map +1 -1
- package/dist/linear-main.js +4 -1
- package/dist/linear-main.js.map +1 -1
- package/dist/loop.d.ts +4 -0
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +39 -8
- package/dist/loop.js.map +1 -1
- package/dist/panel.d.ts +2 -0
- package/dist/panel.d.ts.map +1 -1
- package/dist/panel.js +4 -1
- package/dist/panel.js.map +1 -1
- package/dist/prompt-reduction.d.ts +17 -0
- package/dist/prompt-reduction.d.ts.map +1 -0
- package/dist/prompt-reduction.js +25 -0
- package/dist/prompt-reduction.js.map +1 -0
- package/dist/run-bin.d.ts +10 -0
- package/dist/run-bin.d.ts.map +1 -1
- package/dist/run-bin.js +140 -6
- package/dist/run-bin.js.map +1 -1
- package/dist/runner.d.ts +2 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +3 -0
- package/dist/runner.js.map +1 -1
- package/dist/stage-exec.d.ts +2 -0
- package/dist/stage-exec.d.ts.map +1 -1
- package/dist/stage-exec.js +9 -2
- package/dist/stage-exec.js.map +1 -1
- package/dist/task-key.d.ts +65 -0
- package/dist/task-key.d.ts.map +1 -0
- package/dist/task-key.js +112 -0
- package/dist/task-key.js.map +1 -0
- package/dist/tokens.d.ts +15 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +62 -0
- package/dist/tokens.js.map +1 -0
- package/dist/watch.d.ts +28 -4
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +98 -43
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
- package/templates/apply-review.md +16 -3
- package/templates/ghafk-issue.md +4 -2
- package/templates/ghafk.md +2 -2
- package/templates/ghprompt.md +2 -0
- package/templates/linearprompt.md +3 -1
- package/templates/superpowers.md +23 -10
package/dist/run-bin.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { existsSync, readFileSync, appendFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join, resolve } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
-
import { dirtyTreeWarning, ensureTmpIgnored, resolveBranch
|
|
4
|
+
import { dirtyTreeWarning, ensureTmpIgnored, resolveBranch } from "./branch.js";
|
|
5
5
|
import { parseFlags, parseDurationMs, printConfig, printHelp, printVersion, } from "./cli-help.js";
|
|
6
6
|
import { detachAndExit } from "./detach.js";
|
|
7
7
|
import { runLoop } from "./loop.js";
|
|
8
|
+
import { parseGithubRepo, describeScope } from "./task-key.js";
|
|
9
|
+
import { parseTokenMode } from "./tokens.js";
|
|
8
10
|
/**
|
|
9
11
|
* Ensure .otto/state.json is listed in the workspace .gitignore.
|
|
10
12
|
* No-op when the workspace has no .git directory (not a git repo).
|
|
@@ -50,6 +52,16 @@ export async function runBin(argv, cfg) {
|
|
|
50
52
|
const workspaceDir = resolve(process.env.OTTO_WORKSPACE ?? process.cwd());
|
|
51
53
|
const envMaxWait = process.env.OTTO_MAX_WAIT?.trim();
|
|
52
54
|
const maxWaitMs = flags.maxWaitMs ?? (envMaxWait ? parseDurationMs(envMaxWait) : undefined);
|
|
55
|
+
let tokenMode = flags.tokenMode ?? "off";
|
|
56
|
+
let tokenModeError;
|
|
57
|
+
if (flags.tokenMode == null) {
|
|
58
|
+
try {
|
|
59
|
+
tokenMode = parseTokenMode(process.env.OTTO_TOKEN_MODE, "OTTO_TOKEN_MODE");
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
tokenModeError = err.message;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
53
65
|
const envBranch = process.env.OTTO_BRANCH?.trim();
|
|
54
66
|
const branchStrategyArg = flags.branch ??
|
|
55
67
|
(envBranch === "current" ||
|
|
@@ -57,8 +69,9 @@ export async function runBin(argv, cfg) {
|
|
|
57
69
|
envBranch === "worktree"
|
|
58
70
|
? envBranch
|
|
59
71
|
: undefined);
|
|
60
|
-
const branchPrefixArg = flags.branchPrefix ??
|
|
61
|
-
|
|
72
|
+
const branchPrefixArg = flags.branchPrefix ?? (process.env.OTTO_BRANCH_PREFIX?.trim() || undefined);
|
|
73
|
+
const branchConventionArg = flags.branchConvention ??
|
|
74
|
+
(process.env.OTTO_BRANCH_CONVENTION?.trim() || undefined);
|
|
62
75
|
const detachLogPath = flags.detach
|
|
63
76
|
? (flags.log ??
|
|
64
77
|
join(workspaceDir, ".otto-tmp", "logs", `detached-${process.pid}.log`))
|
|
@@ -84,9 +97,101 @@ export async function runBin(argv, cfg) {
|
|
|
84
97
|
// (otto-linear-afk → OTTO_LINEAR_LABEL) falling back to OTTO_WATCH_LABEL.
|
|
85
98
|
// Both --print-config and the runWatch call below read this, so the reported
|
|
86
99
|
// label can't drift from what a watch run actually polls.
|
|
87
|
-
const watchLabel = cfg.resolveWatchLabel?.() ||
|
|
88
|
-
|
|
89
|
-
|
|
100
|
+
const watchLabel = cfg.resolveWatchLabel?.() || process.env.OTTO_WATCH_LABEL?.trim() || "otto";
|
|
101
|
+
// Resolve the GitHub single-target scope (--repo / OTTO_GITHUB_REPO) up front
|
|
102
|
+
// so --print-config can report it before any run starts. Validated into a
|
|
103
|
+
// WorkScope; the canonical owner/repo is exported as OTTO_GITHUB_REPO so the
|
|
104
|
+
// ghafk templates confine their `gh` commands (list/view) to it, and passed
|
|
105
|
+
// to runWatch so the poller never sees another repo's issues. parseGithubRepo
|
|
106
|
+
// admits only shell-safe chars, keeping OTTO_GITHUB_REPO safe to interpolate.
|
|
107
|
+
let scope;
|
|
108
|
+
// Multi-target watch: several validated GitHub scopes the daemon rotates
|
|
109
|
+
// through (repeated --repo / OTTO_GITHUB_REPOS). Undefined for the single
|
|
110
|
+
// target path, which keeps using `scope` + the OTTO_GITHUB_REPO env export.
|
|
111
|
+
let scopes;
|
|
112
|
+
let scopeError;
|
|
113
|
+
if (cfg.supportsRepoScope) {
|
|
114
|
+
// Repeated --repo wins; else the comma-list OTTO_GITHUB_REPOS; else the
|
|
115
|
+
// single OTTO_GITHUB_REPO. All go through parseGithubRepo (shell-safe).
|
|
116
|
+
const rawRepos = flags.repos.length > 0
|
|
117
|
+
? flags.repos
|
|
118
|
+
: (process.env.OTTO_GITHUB_REPOS?.split(",")
|
|
119
|
+
.map((s) => s.trim())
|
|
120
|
+
.filter(Boolean) ?? []);
|
|
121
|
+
const raw = rawRepos.length > 0
|
|
122
|
+
? rawRepos
|
|
123
|
+
: process.env.OTTO_GITHUB_REPO?.trim()
|
|
124
|
+
? [process.env.OTTO_GITHUB_REPO.trim()]
|
|
125
|
+
: [];
|
|
126
|
+
try {
|
|
127
|
+
const parsed = raw.map((r) => {
|
|
128
|
+
const { owner, repo } = parseGithubRepo(r);
|
|
129
|
+
return { provider: "github", owner, repo };
|
|
130
|
+
});
|
|
131
|
+
if (parsed.length === 1) {
|
|
132
|
+
scope = parsed[0];
|
|
133
|
+
// Export the canonical owner/repo so the ghafk templates confine their
|
|
134
|
+
// `gh` commands to it (single-target). Multi-target pins it per-cycle
|
|
135
|
+
// inside runWatch instead, so we don't set a single value here.
|
|
136
|
+
process.env.OTTO_GITHUB_REPO = `${parsed[0].owner}/${parsed[0].repo}`;
|
|
137
|
+
}
|
|
138
|
+
else if (parsed.length > 1) {
|
|
139
|
+
scopes = parsed;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
scopeError = err.message;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Resolve the Linear single-target scope (--project / OTTO_LINEAR_PROJECT)
|
|
147
|
+
// alongside the team filter (OTTO_LINEAR_TEAM). Unlike --repo, a project name
|
|
148
|
+
// is free text that only reaches Linear's GraphQL filter (never a host shell),
|
|
149
|
+
// so it needs no charset validation. The resolved project is re-exported as
|
|
150
|
+
// OTTO_LINEAR_PROJECT so the `otto-linear list/dump` template commands and the
|
|
151
|
+
// watch poller (which read it from the inherited env, like team) honor the
|
|
152
|
+
// flag, not just the env var. Scope is reported even with only a team set.
|
|
153
|
+
if (cfg.supportsProjectScope) {
|
|
154
|
+
const team = process.env.OTTO_LINEAR_TEAM?.trim() || undefined;
|
|
155
|
+
// Repeated --project wins; else the comma-list OTTO_LINEAR_PROJECTS; else the
|
|
156
|
+
// single OTTO_LINEAR_PROJECT. No charset validation — a project name only
|
|
157
|
+
// ever reaches Linear's GraphQL filter, never a host shell.
|
|
158
|
+
const rawProjects = flags.projects.length > 0
|
|
159
|
+
? flags.projects
|
|
160
|
+
: (process.env.OTTO_LINEAR_PROJECTS?.split(",")
|
|
161
|
+
.map((s) => s.trim())
|
|
162
|
+
.filter(Boolean) ?? []);
|
|
163
|
+
const projects = rawProjects.length > 0
|
|
164
|
+
? rawProjects
|
|
165
|
+
: process.env.OTTO_LINEAR_PROJECT?.trim()
|
|
166
|
+
? [process.env.OTTO_LINEAR_PROJECT.trim()]
|
|
167
|
+
: [];
|
|
168
|
+
if (projects.length > 1) {
|
|
169
|
+
// Multi-target: each project pairs with the same team. The daemon pins
|
|
170
|
+
// OTTO_LINEAR_PROJECT per-cycle (in runWatch), so no single value here.
|
|
171
|
+
scopes = projects.map((project) => ({
|
|
172
|
+
provider: "linear",
|
|
173
|
+
team,
|
|
174
|
+
project,
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
const project = projects[0];
|
|
179
|
+
// Export the resolved project so the `otto-linear list/dump` template
|
|
180
|
+
// commands and the watch poller (which read it from the inherited env)
|
|
181
|
+
// honor the flag, not just the env var.
|
|
182
|
+
if (project)
|
|
183
|
+
process.env.OTTO_LINEAR_PROJECT = project;
|
|
184
|
+
if (team || project)
|
|
185
|
+
scope = { provider: "linear", team, project };
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const watchScope = scopeError
|
|
189
|
+
? `invalid (${scopeError})`
|
|
190
|
+
: scopes
|
|
191
|
+
? scopes.map(describeScope).join(", ")
|
|
192
|
+
: scope
|
|
193
|
+
? describeScope(scope)
|
|
194
|
+
: undefined;
|
|
90
195
|
if (flags.printConfig) {
|
|
91
196
|
printConfig(cfg.bin, workspaceDir, packageDir, {
|
|
92
197
|
cliVersion: cfg.cliVersion,
|
|
@@ -98,21 +203,45 @@ export async function runBin(argv, cfg) {
|
|
|
98
203
|
notify: flags.notify,
|
|
99
204
|
budget: flags.budget,
|
|
100
205
|
cooldownMs: flags.cooldownMs,
|
|
206
|
+
tokenMode: tokenModeError
|
|
207
|
+
? (process.env.OTTO_TOKEN_MODE?.trim() ?? "")
|
|
208
|
+
: tokenMode,
|
|
209
|
+
tokenModeError,
|
|
101
210
|
reviewLenses: reviewLenses ?? [],
|
|
102
211
|
watch: flags.watch,
|
|
103
212
|
watchIntervalSec: flags.watchIntervalSec,
|
|
104
213
|
watchLabel,
|
|
214
|
+
watchScope,
|
|
105
215
|
issue: flags.issue,
|
|
106
216
|
maxWaitMs,
|
|
107
217
|
branchStrategy: branchStrategyArg,
|
|
108
218
|
branchPrefix: branchPrefixArg,
|
|
219
|
+
branchConvention: branchConventionArg,
|
|
109
220
|
});
|
|
110
221
|
return;
|
|
111
222
|
}
|
|
223
|
+
if (tokenModeError) {
|
|
224
|
+
console.error(tokenModeError);
|
|
225
|
+
process.exit(1);
|
|
226
|
+
}
|
|
112
227
|
if (flags.issue != null && !cfg.issueStage) {
|
|
113
228
|
console.error("--issue is only supported by otto-ghafk and otto-linear-afk");
|
|
114
229
|
process.exit(1);
|
|
115
230
|
}
|
|
231
|
+
if (flags.repo != null && !cfg.supportsRepoScope) {
|
|
232
|
+
console.error("--repo is only supported by otto-ghafk");
|
|
233
|
+
process.exit(1);
|
|
234
|
+
}
|
|
235
|
+
if (flags.project != null && !cfg.supportsProjectScope) {
|
|
236
|
+
console.error("--project is only supported by otto-linear-afk");
|
|
237
|
+
process.exit(1);
|
|
238
|
+
}
|
|
239
|
+
// A malformed --repo / OTTO_GITHUB_REPO is fatal for a real run (it would
|
|
240
|
+
// silently fall back to the workspace repo); --print-config only reports it.
|
|
241
|
+
if (scopeError) {
|
|
242
|
+
console.error(scopeError);
|
|
243
|
+
process.exit(1);
|
|
244
|
+
}
|
|
116
245
|
const modeCount = (flags.issue != null ? 1 : 0) +
|
|
117
246
|
(flags.verify ? 1 : 0) +
|
|
118
247
|
(flags.applyReview != null ? 1 : 0) +
|
|
@@ -192,6 +321,7 @@ export async function runBin(argv, cfg) {
|
|
|
192
321
|
isTTY: Boolean(process.stdout.isTTY),
|
|
193
322
|
flagStrategy: branchStrategyArg,
|
|
194
323
|
flagPrefix: branchPrefixArg,
|
|
324
|
+
flagConvention: branchConventionArg,
|
|
195
325
|
});
|
|
196
326
|
process.stderr.write(`${resolved.summaryLine}\n`);
|
|
197
327
|
// Evaluate the dirty-tree warning against the user's tree BEFORE we mutate the
|
|
@@ -221,6 +351,7 @@ export async function runBin(argv, cfg) {
|
|
|
221
351
|
watchLabel,
|
|
222
352
|
budgetUsd: flags.budget,
|
|
223
353
|
cooldownMs: flags.cooldownMs,
|
|
354
|
+
tokenMode,
|
|
224
355
|
maxRetries: flags.maxRetries,
|
|
225
356
|
reviewLenses,
|
|
226
357
|
notify: flags.notify,
|
|
@@ -228,6 +359,8 @@ export async function runBin(argv, cfg) {
|
|
|
228
359
|
cliVersion: cfg.cliVersion,
|
|
229
360
|
pollIssues: cfg.watchPoll,
|
|
230
361
|
provider: cfg.watchProvider,
|
|
362
|
+
scope,
|
|
363
|
+
scopes,
|
|
231
364
|
});
|
|
232
365
|
return;
|
|
233
366
|
}
|
|
@@ -244,6 +377,7 @@ export async function runBin(argv, cfg) {
|
|
|
244
377
|
cliVersion: cfg.cliVersion,
|
|
245
378
|
budgetUsd: flags.budget,
|
|
246
379
|
cooldownMs: flags.cooldownMs,
|
|
380
|
+
tokenMode,
|
|
247
381
|
reviewLenses,
|
|
248
382
|
mode: runMode,
|
|
249
383
|
maxWaitMs,
|
package/dist/run-bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA4D7C;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,YAAoB;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,kBAAkB,CAAC;IACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC;QACxC,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,QAAQ;SAC5B,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,cAAc,CAAC,aAAa,EAAE,GAAG,MAAM,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,GAAiB;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAE/D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE1E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,SAAS,GAAc,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IACpD,IAAI,cAAkC,CAAC;IACvC,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,SAAS,GAAG,cAAc,CACxB,OAAO,CAAC,GAAG,CAAC,eAAe,EAC3B,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,GAAI,GAAa,CAAC,OAAO,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,iBAAiB,GACrB,KAAK,CAAC,MAAM;QACZ,CAAC,SAAS,KAAK,SAAS;YACxB,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,UAAU;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,MAAM,eAAe,GACnB,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GACvB,KAAK,CAAC,gBAAgB;QACtB,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM;QAChC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;YACV,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QACzE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;SACrD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,WAAW;YACjB,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,SAAS,CAAC;IAElB,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;YACzB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAEf,sEAAsE;IACtE,0EAA0E;IAC1E,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM,UAAU,GACd,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IAE9E,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,KAA4B,CAAC;IACjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,MAA+B,CAAC;IACpC,IAAI,UAA8B,CAAC;IACnC,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,QAAQ,GACZ,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,KAAK;YACb,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,GAAG,GACP,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE;gBACpC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACvC,CAAC,CAAC,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,QAAQ,EAAE,QAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClB,uEAAuE;gBACvE,sEAAsE;gBACtE,gEAAgE;gBAChE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,GAAI,GAAa,CAAC,OAAO,CAAC;QACtC,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAC/D,8EAA8E;QAC9E,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,WAAW,GACf,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,QAAQ,GACZ,WAAW,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;gBACvC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC,CAAC,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,QAAiB;gBAC3B,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,sEAAsE;YACtE,uEAAuE;YACvE,wCAAwC;YACxC,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACvD,IAAI,IAAI,IAAI,OAAO;gBAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,YAAY,UAAU,GAAG;QAC3B,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,SAAS,CAAC;IAElB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE;YAC7C,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa;YACb,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,cAAc;gBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC7C,CAAC,CAAC,SAAS;YACb,cAAc;YACd,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,UAAU;YACV,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS;YACT,cAAc,EAAE,iBAAiB;YACjC,YAAY,EAAE,eAAe;YAC7B,gBAAgB,EAAE,mBAAmB;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CACX,6DAA6D,CAC9D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GACb,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CACX,uEAAuE,CACxE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GACV,KAAK,CAAC,KAAK,IAAI,IAAI;QACjB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;YACzB,CAAC,CAAC,KAAK,CAAC,WAAW;YACnB,CAAC,CAAC,GAAG,CAAC,aAAa;gBACjB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,EAAE,CAAC;IACb,gFAAgF;IAChF,oFAAoF;IACpF,MAAM,aAAa,GACjB,KAAK,CAAC,WAAW,IAAI,IAAI;QACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,aAAa;YACjB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,4BAA4B,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,2DAA2D;IAC3D,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,uBAAuB,aAAa,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,4EAA4E;QAC5E,4DAA4D;QAC5D,4EAA4E;QAC5E,yCAAyC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAwB,KAAK,CAAC,MAAM;QAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,WAAY,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;YACzB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;gBACnB,CAAC,CAAC,CAAC,GAAG,CAAC,UAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAEnB,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAClC,aAAa,CAAC;YACZ,OAAO,EAAE,aAAa;YACtB,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;QACnC,YAAY;QACZ,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,YAAY,EAAE,iBAAiB;QAC/B,UAAU,EAAE,eAAe;QAC3B,cAAc,EAAE,mBAAmB;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;IAClD,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC;IAExD,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IAC7D,gFAAgF;IAChF,kEAAkE;IAClE,4DAA4D;IAC5D,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CACX,6DAA6D,CAC9D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,CAAC;YACb,MAAM;YACN,UAAU;YACV,YAAY,EAAE,qBAAqB;YACnC,UAAU;YACV,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,GAAG;YAC/C,UAAU;YACV,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS;YACT,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,SAAS;YACzB,QAAQ,EAAE,GAAG,CAAC,aAAa;YAC3B,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC;QACZ,MAAM;QACN,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,UAAU;QACV,YAAY,EAAE,qBAAqB;QACnC,UAAU;QACV,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,KAAK,CAAC,MAAM;QACvB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS;QACT,YAAY;QACZ,IAAI,EAAE,OAAO;QACb,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/runner.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Stage } from "./stages.js";
|
|
2
|
+
import { type TokenUsage } from "./tokens.js";
|
|
2
3
|
export type RunStageOptions = {
|
|
3
4
|
signal?: AbortSignal;
|
|
4
5
|
};
|
|
@@ -7,6 +8,7 @@ export type StageResult = {
|
|
|
7
8
|
costUsd: number;
|
|
8
9
|
isError: boolean;
|
|
9
10
|
apiErrorStatus: string | null;
|
|
11
|
+
usage: TokenUsage;
|
|
10
12
|
};
|
|
11
13
|
/** Pure extraction of the fields Otto tracks from a stream-json `result` event. */
|
|
12
14
|
export declare function resultFromEvent(ev: unknown): StageResult;
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAYzC,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,WAAW,CAUxD;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,SAAS,GAAE,MAAgC,GAC1C,MAAM,CAQR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAKlE;AAED,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAExC,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAE7D;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAMnE;AAMD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EAAE,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAQD,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAQR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,EAAE,CAmBV;AAED,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CA0CtB"}
|
package/dist/runner.js
CHANGED
|
@@ -4,6 +4,7 @@ import { createInterface } from "node:readline";
|
|
|
4
4
|
import { join, posix } from "node:path";
|
|
5
5
|
import { dim, renderEvent, } from "./stream-render.js";
|
|
6
6
|
import { RateLimitError, isLimitResult, resetsAtFromEvent, } from "./rate-limit.js";
|
|
7
|
+
import { emptyTokenUsage, parseTokenUsage } from "./tokens.js";
|
|
7
8
|
/** Pure extraction of the fields Otto tracks from a stream-json `result` event. */
|
|
8
9
|
export function resultFromEvent(ev) {
|
|
9
10
|
const e = (ev ?? {});
|
|
@@ -12,6 +13,7 @@ export function resultFromEvent(ev) {
|
|
|
12
13
|
costUsd: typeof e.total_cost_usd === "number" ? e.total_cost_usd : 0,
|
|
13
14
|
isError: e.is_error === true,
|
|
14
15
|
apiErrorStatus: typeof e.api_error_status === "string" ? e.api_error_status : null,
|
|
16
|
+
usage: parseTokenUsage(e),
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
19
|
const STDERR_TAIL_LINES = 40;
|
|
@@ -169,6 +171,7 @@ function streamClaude(argv, cwd, logPath, options = {}) {
|
|
|
169
171
|
costUsd: 0,
|
|
170
172
|
isError: false,
|
|
171
173
|
apiErrorStatus: null,
|
|
174
|
+
usage: emptyTokenUsage(),
|
|
172
175
|
};
|
|
173
176
|
let lastResetsAt = null;
|
|
174
177
|
const stderrTail = [];
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,QAAQ,EACR,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EACL,GAAG,EACH,WAAW,GAGZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/stage-exec.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type StageResult } from "./runner.js";
|
|
2
2
|
import type { Stage } from "./stages.js";
|
|
3
|
+
import type { TokenMode } from "./tokens.js";
|
|
3
4
|
export type ExecuteStageOptions = {
|
|
4
5
|
stage: Stage;
|
|
5
6
|
vars: Record<string, string>;
|
|
@@ -7,6 +8,7 @@ export type ExecuteStageOptions = {
|
|
|
7
8
|
packageDir: string;
|
|
8
9
|
iteration: number;
|
|
9
10
|
maxRetries: number;
|
|
11
|
+
tokenMode?: TokenMode;
|
|
10
12
|
signal?: AbortSignal;
|
|
11
13
|
/** Disambiguates spill/log paths when multiple sub-stages share an iteration (panel lenses). */
|
|
12
14
|
logLabel?: string;
|
package/dist/stage-exec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-exec.d.ts","sourceRoot":"","sources":["../src/stage-exec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stage-exec.d.ts","sourceRoot":"","sources":["../src/stage-exec.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0FAA0F;AAC1F,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,WAAW,CAAC,CA4DtB"}
|
package/dist/stage-exec.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { appendFileSync, mkdirSync } from "node:fs";
|
|
2
2
|
import { dirname, join, posix } from "node:path";
|
|
3
|
+
import { applyPromptReduction } from "./prompt-reduction.js";
|
|
3
4
|
import { renderTemplate } from "./render.js";
|
|
4
5
|
import { DEFAULT_BACKOFF_MS, backoffFor, withRetries } from "./retry.js";
|
|
5
6
|
import { runStage, stageLogPath } from "./runner.js";
|
|
6
7
|
import { USE_COLOR, dim } from "./stream-render.js";
|
|
7
8
|
/** Render a stage's template (inside the retry, so flaky shell tags retry) and run it. */
|
|
8
9
|
export async function executeStage(opts) {
|
|
9
|
-
const { stage, vars, workspaceDir, packageDir, iteration, maxRetries, signal, } = opts;
|
|
10
|
+
const { stage, vars, workspaceDir, packageDir, iteration, maxRetries, tokenMode = "off", signal, } = opts;
|
|
10
11
|
const label = opts.logLabel ?? stage.name;
|
|
11
12
|
const spillRel = `spill-${process.pid}-${iteration}-${label}-${Date.now()}`;
|
|
12
13
|
const spillHostDir = join(workspaceDir, ".otto-tmp", spillRel);
|
|
@@ -14,7 +15,13 @@ export async function executeStage(opts) {
|
|
|
14
15
|
const stageLog = stageLogPath(workspaceDir, iteration, label);
|
|
15
16
|
mkdirSync(dirname(stageLog), { recursive: true });
|
|
16
17
|
return withRetries(() => {
|
|
17
|
-
|
|
18
|
+
let prompt = renderTemplate(join(packageDir, "templates", stage.template), vars, { cwd: workspaceDir, spillHostDir, spillRefPath });
|
|
19
|
+
if (tokenMode === "reduce") {
|
|
20
|
+
const reduced = applyPromptReduction(prompt);
|
|
21
|
+
prompt = reduced.prompt;
|
|
22
|
+
const { originalChars, reducedChars, cacheHits } = reduced.stats;
|
|
23
|
+
process.stderr.write(`${dim(`prompt reduce ${originalChars} -> ${reducedChars} chars | cache hits ${cacheHits}`)}\n`);
|
|
24
|
+
}
|
|
18
25
|
return runStage(stage, prompt, workspaceDir, iteration, spillHostDir, stageLog, { signal });
|
|
19
26
|
}, {
|
|
20
27
|
max: maxRetries,
|
package/dist/stage-exec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-exec.js","sourceRoot":"","sources":["../src/stage-exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"stage-exec.js","sourceRoot":"","sources":["../src/stage-exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared "work scope + task key" contract (issue #21, P0).
|
|
3
|
+
*
|
|
4
|
+
* A {@link WorkScope} answers *where* Otto may look for work (used by watch
|
|
5
|
+
* scoping and `--print-config`). A {@link WorkSource} is a scope plus the
|
|
6
|
+
* specific item, and {@link deriveTaskKey} turns it into one normalized key that
|
|
7
|
+
* is reused for artifact paths and branch names across every provider — so
|
|
8
|
+
* scoped watch, branch naming, and artifact storage stay drift-free.
|
|
9
|
+
*/
|
|
10
|
+
/** Where Otto may look for work — no specific item yet (watch / print-config). */
|
|
11
|
+
export type WorkScope = {
|
|
12
|
+
provider: "plan";
|
|
13
|
+
} | {
|
|
14
|
+
provider: "github";
|
|
15
|
+
owner?: string;
|
|
16
|
+
repo?: string;
|
|
17
|
+
} | {
|
|
18
|
+
provider: "linear";
|
|
19
|
+
team?: string;
|
|
20
|
+
project?: string;
|
|
21
|
+
};
|
|
22
|
+
/** A scope plus the concrete item it points at (names artifacts + branches). */
|
|
23
|
+
export type WorkSource = {
|
|
24
|
+
provider: "plan";
|
|
25
|
+
slug: string;
|
|
26
|
+
} | {
|
|
27
|
+
provider: "github";
|
|
28
|
+
owner?: string;
|
|
29
|
+
repo?: string;
|
|
30
|
+
issue: number;
|
|
31
|
+
slug?: string;
|
|
32
|
+
} | {
|
|
33
|
+
provider: "linear";
|
|
34
|
+
team?: string;
|
|
35
|
+
project?: string;
|
|
36
|
+
issue: string;
|
|
37
|
+
slug?: string;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Derive the one normalized, filesystem-safe and git-branch-safe task key for a
|
|
41
|
+
* work source. Optional scope parts (owner/repo, team/project) and the slug drop
|
|
42
|
+
* out of the key when absent. Shapes:
|
|
43
|
+
*
|
|
44
|
+
* - plan: `plan-<slug>`
|
|
45
|
+
* - github: `gh-<owner>-<repo>-<issue>[-<slug>]` (→ `gh-<issue>[-<slug>]` w/o scope)
|
|
46
|
+
* - linear: `linear-<team>-<project>-<issue>[-<slug>]` (optional parts omitted)
|
|
47
|
+
*/
|
|
48
|
+
export declare function deriveTaskKey(source: WorkSource): string;
|
|
49
|
+
/**
|
|
50
|
+
* Parse + validate a user-supplied `owner/repo` (from `--repo` or
|
|
51
|
+
* `OTTO_GITHUB_REPO`) into its parts. Throws on anything malformed or that
|
|
52
|
+
* carries shell metacharacters, so the validated result is safe to pass to
|
|
53
|
+
* `gh` and to export as `OTTO_GITHUB_REPO`. The original case is preserved
|
|
54
|
+
* (gh's display form); {@link deriveTaskKey} lowercases when it builds keys.
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseGithubRepo(raw: string): {
|
|
57
|
+
owner: string;
|
|
58
|
+
repo: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* A human-readable one-line description of a scope, for `--print-config` and
|
|
62
|
+
* watch poll lines (the caller appends provider-specific filters like `label:`).
|
|
63
|
+
*/
|
|
64
|
+
export declare function describeScope(scope: WorkScope): string;
|
|
65
|
+
//# sourceMappingURL=task-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-key.d.ts","sourceRoot":"","sources":["../src/task-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,kFAAkF;AAClF,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IACE,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAsBN;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA0BxD;AAUD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAgB5E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAetD"}
|
package/dist/task-key.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared "work scope + task key" contract (issue #21, P0).
|
|
3
|
+
*
|
|
4
|
+
* A {@link WorkScope} answers *where* Otto may look for work (used by watch
|
|
5
|
+
* scoping and `--print-config`). A {@link WorkSource} is a scope plus the
|
|
6
|
+
* specific item, and {@link deriveTaskKey} turns it into one normalized key that
|
|
7
|
+
* is reused for artifact paths and branch names across every provider — so
|
|
8
|
+
* scoped watch, branch naming, and artifact storage stay drift-free.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Lowercase, collapse every non-`[a-z0-9]` run to a single dash, and trim
|
|
12
|
+
* leading/trailing dashes. The result contains only `[a-z0-9-]`, which is both
|
|
13
|
+
* filesystem-safe and git-branch-safe (mirrors `slugify` in branch.ts). "" when
|
|
14
|
+
* nothing usable remains.
|
|
15
|
+
*/
|
|
16
|
+
function sanitize(part) {
|
|
17
|
+
return part
|
|
18
|
+
.toLowerCase()
|
|
19
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
20
|
+
.replace(/^-+|-+$/g, "");
|
|
21
|
+
}
|
|
22
|
+
const SLUG_MAX = 40;
|
|
23
|
+
/** Sanitize + cap a free-text slug at {@link SLUG_MAX} chars (matches slugify). */
|
|
24
|
+
function slugPart(slug) {
|
|
25
|
+
return sanitize(slug).slice(0, SLUG_MAX).replace(/-+$/g, "");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Derive the one normalized, filesystem-safe and git-branch-safe task key for a
|
|
29
|
+
* work source. Optional scope parts (owner/repo, team/project) and the slug drop
|
|
30
|
+
* out of the key when absent. Shapes:
|
|
31
|
+
*
|
|
32
|
+
* - plan: `plan-<slug>`
|
|
33
|
+
* - github: `gh-<owner>-<repo>-<issue>[-<slug>]` (→ `gh-<issue>[-<slug>]` w/o scope)
|
|
34
|
+
* - linear: `linear-<team>-<project>-<issue>[-<slug>]` (optional parts omitted)
|
|
35
|
+
*/
|
|
36
|
+
export function deriveTaskKey(source) {
|
|
37
|
+
let parts;
|
|
38
|
+
switch (source.provider) {
|
|
39
|
+
case "plan":
|
|
40
|
+
parts = ["plan", slugPart(source.slug)];
|
|
41
|
+
break;
|
|
42
|
+
case "github":
|
|
43
|
+
parts = [
|
|
44
|
+
"gh",
|
|
45
|
+
source.owner ? sanitize(source.owner) : "",
|
|
46
|
+
source.repo ? sanitize(source.repo) : "",
|
|
47
|
+
String(source.issue),
|
|
48
|
+
source.slug ? slugPart(source.slug) : "",
|
|
49
|
+
];
|
|
50
|
+
break;
|
|
51
|
+
case "linear":
|
|
52
|
+
parts = [
|
|
53
|
+
"linear",
|
|
54
|
+
source.team ? sanitize(source.team) : "",
|
|
55
|
+
source.project ? sanitize(source.project) : "",
|
|
56
|
+
sanitize(source.issue),
|
|
57
|
+
source.slug ? slugPart(source.slug) : "",
|
|
58
|
+
];
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
return parts.filter(Boolean).join("-");
|
|
62
|
+
}
|
|
63
|
+
// GitHub owner (user/org): alphanumeric or single hyphens, no leading/trailing
|
|
64
|
+
// hyphen. Repo name: alphanumeric plus `.`, `_`, `-` — but never the reserved
|
|
65
|
+
// `.`/`..`. Both admit only shell-safe chars, so the resulting `owner/repo` is
|
|
66
|
+
// safe to reach a host shell (the `gh issue list --repo` poller arg + the
|
|
67
|
+
// `$OTTO_GITHUB_REPO` env the ghafk templates interpolate).
|
|
68
|
+
const OWNER_RE = /^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$/;
|
|
69
|
+
const REPO_RE = /^[A-Za-z0-9._-]+$/;
|
|
70
|
+
/**
|
|
71
|
+
* Parse + validate a user-supplied `owner/repo` (from `--repo` or
|
|
72
|
+
* `OTTO_GITHUB_REPO`) into its parts. Throws on anything malformed or that
|
|
73
|
+
* carries shell metacharacters, so the validated result is safe to pass to
|
|
74
|
+
* `gh` and to export as `OTTO_GITHUB_REPO`. The original case is preserved
|
|
75
|
+
* (gh's display form); {@link deriveTaskKey} lowercases when it builds keys.
|
|
76
|
+
*/
|
|
77
|
+
export function parseGithubRepo(raw) {
|
|
78
|
+
const s = raw.trim();
|
|
79
|
+
const slash = s.indexOf("/");
|
|
80
|
+
const owner = slash >= 0 ? s.slice(0, slash) : "";
|
|
81
|
+
const repo = slash >= 0 ? s.slice(slash + 1) : "";
|
|
82
|
+
if (!OWNER_RE.test(owner) ||
|
|
83
|
+
!REPO_RE.test(repo) ||
|
|
84
|
+
repo === "." ||
|
|
85
|
+
repo === "..") {
|
|
86
|
+
throw new Error(`--repo must be a valid GitHub "owner/name", got: ${JSON.stringify(raw)}`);
|
|
87
|
+
}
|
|
88
|
+
return { owner, repo };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* A human-readable one-line description of a scope, for `--print-config` and
|
|
92
|
+
* watch poll lines (the caller appends provider-specific filters like `label:`).
|
|
93
|
+
*/
|
|
94
|
+
export function describeScope(scope) {
|
|
95
|
+
switch (scope.provider) {
|
|
96
|
+
case "plan":
|
|
97
|
+
return "plan (local workspace)";
|
|
98
|
+
case "github":
|
|
99
|
+
return scope.owner && scope.repo
|
|
100
|
+
? `github ${scope.owner}/${scope.repo}`
|
|
101
|
+
: "github (default repo)";
|
|
102
|
+
case "linear": {
|
|
103
|
+
const bits = [];
|
|
104
|
+
if (scope.team)
|
|
105
|
+
bits.push(`team:${scope.team}`);
|
|
106
|
+
if (scope.project)
|
|
107
|
+
bits.push(`project:${scope.project}`);
|
|
108
|
+
return bits.length ? `linear ${bits.join(" ")}` : "linear (default team)";
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=task-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-key.js","sourceRoot":"","sources":["../src/task-key.ts"],"names":[],"mappings":"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"}
|
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type TokenMode = "off" | "measure" | "reduce";
|
|
2
|
+
export type TokenUsage = {
|
|
3
|
+
inputTokens: number;
|
|
4
|
+
outputTokens: number;
|
|
5
|
+
cacheCreationInputTokens: number;
|
|
6
|
+
cacheReadInputTokens: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function emptyTokenUsage(): TokenUsage;
|
|
9
|
+
/** Parse Claude stream-json result-event token usage. Missing fields are zero. */
|
|
10
|
+
export declare function parseTokenUsage(ev: unknown): TokenUsage;
|
|
11
|
+
export declare function addTokenUsage(a: TokenUsage, b: TokenUsage): TokenUsage;
|
|
12
|
+
export declare function tokenUsageTotal(u: TokenUsage): number;
|
|
13
|
+
export declare function formatTokenUsage(u: TokenUsage): string;
|
|
14
|
+
export declare function parseTokenMode(raw: string | undefined, source?: string): TokenMode;
|
|
15
|
+
//# sourceMappingURL=tokens.d.ts.map
|