autodev-cli 1.4.85 → 1.4.93
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/out/agentBackup/layout.js +1 -0
- package/out/agentBackup/layout.js.map +1 -1
- package/out/cliExit.d.ts +43 -1
- package/out/cliExit.js +140 -2
- package/out/cliExit.js.map +1 -1
- package/out/commands/mcpOperate.js +368 -28
- package/out/commands/mcpOperate.js.map +1 -1
- package/out/configManager.d.ts +7 -0
- package/out/configManager.js +36 -0
- package/out/configManager.js.map +1 -1
- package/out/core/modelInfo.d.ts +28 -0
- package/out/core/modelInfo.js +97 -0
- package/out/core/modelInfo.js.map +1 -0
- package/out/core/projectSkills.d.ts +44 -0
- package/out/core/projectSkills.js +266 -0
- package/out/core/projectSkills.js.map +1 -0
- package/out/core/redactSecrets.d.ts +15 -0
- package/out/core/redactSecrets.js +110 -0
- package/out/core/redactSecrets.js.map +1 -0
- package/out/core/settingsLoader.d.ts +9 -0
- package/out/core/settingsLoader.js +1 -0
- package/out/core/settingsLoader.js.map +1 -1
- package/out/taskLoop.d.ts +13 -0
- package/out/taskLoop.js +120 -4
- package/out/taskLoop.js.map +1 -1
- package/out/todoWriteManager.d.ts +3 -0
- package/out/todoWriteManager.js +5 -0
- package/out/todoWriteManager.js.map +1 -1
- package/out/webSocketPoller.d.ts +3 -0
- package/out/webSocketPoller.js +11 -0
- package/out/webSocketPoller.js.map +1 -1
- package/out/webhookPoller.d.ts +1 -0
- package/out/webhookPoller.js +5 -0
- package/out/webhookPoller.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/agentBackup/layout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,oCAEC;
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/agentBackup/layout.ts"],"names":[],"mappings":"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"}
|
package/out/cliExit.d.ts
CHANGED
|
@@ -11,7 +11,24 @@ export type CliExitDecision = {
|
|
|
11
11
|
kind: 'remind';
|
|
12
12
|
} | {
|
|
13
13
|
kind: 'give_up';
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'hard_fail';
|
|
16
|
+
reason: string;
|
|
14
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* Process-level signals captured by the caller at CLI-exit time, used to tell
|
|
20
|
+
* a provider hard-failure apart from a ran-but-unmarked completion.
|
|
21
|
+
*/
|
|
22
|
+
export interface CliExitContext {
|
|
23
|
+
/** The CLI process exited non-zero — the provider's real failure surface. */
|
|
24
|
+
exitedNonZero?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The provider wrote an error sentinel to its stdout capture this turn even
|
|
27
|
+
* though it exited 0 (opencode SDK appends `[ERROR] …` on session.error and
|
|
28
|
+
* then still writes exit-code 0). Carries a short reason label when set.
|
|
29
|
+
*/
|
|
30
|
+
stdoutError?: string | null;
|
|
31
|
+
}
|
|
15
32
|
export declare class CliExitHandler {
|
|
16
33
|
private readonly workspaceRoot;
|
|
17
34
|
private readonly todoPath;
|
|
@@ -21,7 +38,32 @@ export declare class CliExitHandler {
|
|
|
21
38
|
private reminderSent;
|
|
22
39
|
constructor(workspaceRoot: string, todoPath: string, task: Task, taskStartTime: number, isTaskDone: () => boolean);
|
|
23
40
|
/** Run the decision tree. Stateless except for the one-shot reminder flag. */
|
|
24
|
-
decide(): CliExitDecision;
|
|
41
|
+
decide(ctx?: CliExitContext): CliExitDecision;
|
|
42
|
+
/**
|
|
43
|
+
* Decide whether THIS exit was a provider hard-failure that produced no real
|
|
44
|
+
* work — as opposed to a turn that ran fine and merely left the box unticked.
|
|
45
|
+
* Returns a short reason label on a hard-failure, else null.
|
|
46
|
+
*
|
|
47
|
+
* Signals (any one is sufficient):
|
|
48
|
+
* - a recent SessionEnd whose `reason` is a provider-failure reason
|
|
49
|
+
* - a recent StopFailure hook (grok/opencode failed turn)
|
|
50
|
+
* - a recent `reauth_required` hook (token/OAuth gate)
|
|
51
|
+
* - the provider wrote an [ERROR] sentinel to stdout but still exited 0
|
|
52
|
+
* (opencode SDK session.error / "No model available")
|
|
53
|
+
* - a non-zero process exit with NO assistant work this cycle (crash /
|
|
54
|
+
* launch-failed / copilot free-plan "No model available")
|
|
55
|
+
*
|
|
56
|
+
* A `watchdog` kill is treated as a hard-failure ONLY when the turn produced
|
|
57
|
+
* no work — a watchdog that fired after real output is a ran-but-unmarked
|
|
58
|
+
* turn (partial progress), which stays on the auto-mark path.
|
|
59
|
+
*/
|
|
60
|
+
private findHardFailure;
|
|
61
|
+
/**
|
|
62
|
+
* Scan the recent hook-events tail (events after this task started) for a
|
|
63
|
+
* provider-failure signal and whether any assistant work happened this turn.
|
|
64
|
+
* Mirrors findRecentRateLimit()'s read strategy.
|
|
65
|
+
*/
|
|
66
|
+
private scanHooksForFailure;
|
|
25
67
|
/** Has the AI moved the task to [~]? */
|
|
26
68
|
private taskIsInProgress;
|
|
27
69
|
/**
|
package/out/cliExit.js
CHANGED
|
@@ -13,7 +13,13 @@
|
|
|
13
13
|
// - 'deferred' — task is [~], the AI deferred it; resolve and move on
|
|
14
14
|
// - 'rate_limit' — Claude was throttled; raise RateLimitError to pause loop
|
|
15
15
|
// - 'remind' — first exit without completion; send TODO.md reminder
|
|
16
|
-
// - 'give_up' — CLI exited again after reminder
|
|
16
|
+
// - 'give_up' — CLI exited again after reminder, but the turn genuinely
|
|
17
|
+
// RAN (produced output / clean idle) and the model merely
|
|
18
|
+
// forgot to tick the box; auto-mark [x] and move on
|
|
19
|
+
// - 'hard_fail' — the PROVIDER hard-failed and produced no real work this
|
|
20
|
+
// cycle (reauth/session error/watchdog-no-output/crash/…);
|
|
21
|
+
// do NOT mark done — flag the task as failed/blocked so an
|
|
22
|
+
// outage is honest, not a false green
|
|
17
23
|
// ---------------------------------------------------------------------------
|
|
18
24
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
19
25
|
if (k2 === undefined) k2 = k;
|
|
@@ -54,6 +60,25 @@ const fs = __importStar(require("fs"));
|
|
|
54
60
|
const path = __importStar(require("path"));
|
|
55
61
|
const todo_1 = require("./todo");
|
|
56
62
|
const rateLimit_1 = require("./rateLimit");
|
|
63
|
+
/**
|
|
64
|
+
* SessionEnd `reason` values (and the copilot/opencode equivalents) that mean
|
|
65
|
+
* the provider itself failed — as opposed to 'idle'/'completed' which mean the
|
|
66
|
+
* turn genuinely finished. Grok writes these on non-zero finishes; opencode's
|
|
67
|
+
* hooks plugin maps session.error → StopFailure (handled separately below).
|
|
68
|
+
*/
|
|
69
|
+
const FAIL_REASONS = new Set([
|
|
70
|
+
'reauth_required', 'startup-exit', 'session-exit', 'launch-failed',
|
|
71
|
+
'watchdog', 'error', 'session.error',
|
|
72
|
+
]);
|
|
73
|
+
/**
|
|
74
|
+
* Hook events that prove the turn actually produced work this cycle. Their
|
|
75
|
+
* presence downgrades an ambiguous signal (a watchdog kill) from a provider
|
|
76
|
+
* outage to a ran-but-unmarked completion.
|
|
77
|
+
*/
|
|
78
|
+
const WORK_EVENTS = new Set([
|
|
79
|
+
'AgentMessage', 'PostToolUse', 'PreToolUse', 'Notification',
|
|
80
|
+
'Reasoning', 'StepEnded', 'Stop',
|
|
81
|
+
]);
|
|
57
82
|
class CliExitHandler {
|
|
58
83
|
workspaceRoot;
|
|
59
84
|
todoPath;
|
|
@@ -69,14 +94,22 @@ class CliExitHandler {
|
|
|
69
94
|
this.isTaskDone = isTaskDone;
|
|
70
95
|
}
|
|
71
96
|
/** Run the decision tree. Stateless except for the one-shot reminder flag. */
|
|
72
|
-
decide() {
|
|
97
|
+
decide(ctx = {}) {
|
|
73
98
|
if (this.isTaskDone()) {
|
|
74
99
|
return { kind: 'done' };
|
|
75
100
|
}
|
|
101
|
+
// A provider hard-failure that produced no real work is NEVER a completion,
|
|
102
|
+
// whatever the TODO marker looks like. Check it before the [~]/give_up
|
|
103
|
+
// branches so an outage that left a stray [~] (or no mark at all) is
|
|
104
|
+
// reported as failed/blocked instead of being auto-marked [x] (false green).
|
|
105
|
+
const hardFail = this.findHardFailure(ctx);
|
|
76
106
|
// If the agent marked [~] after we already sent a reminder, treat it as
|
|
77
107
|
// give_up so the caller auto-marks [x] — avoids an infinite loop where
|
|
78
108
|
// the agent keeps marking [~] and exiting on every retry.
|
|
79
109
|
if (this.taskIsInProgress()) {
|
|
110
|
+
if (hardFail) {
|
|
111
|
+
return { kind: 'hard_fail', reason: hardFail };
|
|
112
|
+
}
|
|
80
113
|
if (this.reminderSent) {
|
|
81
114
|
return { kind: 'give_up' };
|
|
82
115
|
}
|
|
@@ -86,12 +119,117 @@ class CliExitHandler {
|
|
|
86
119
|
if (rl) {
|
|
87
120
|
return { kind: 'rate_limit', error: rl };
|
|
88
121
|
}
|
|
122
|
+
if (hardFail) {
|
|
123
|
+
return { kind: 'hard_fail', reason: hardFail };
|
|
124
|
+
}
|
|
89
125
|
if (this.reminderSent) {
|
|
90
126
|
return { kind: 'give_up' };
|
|
91
127
|
}
|
|
92
128
|
this.reminderSent = true;
|
|
93
129
|
return { kind: 'remind' };
|
|
94
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Decide whether THIS exit was a provider hard-failure that produced no real
|
|
133
|
+
* work — as opposed to a turn that ran fine and merely left the box unticked.
|
|
134
|
+
* Returns a short reason label on a hard-failure, else null.
|
|
135
|
+
*
|
|
136
|
+
* Signals (any one is sufficient):
|
|
137
|
+
* - a recent SessionEnd whose `reason` is a provider-failure reason
|
|
138
|
+
* - a recent StopFailure hook (grok/opencode failed turn)
|
|
139
|
+
* - a recent `reauth_required` hook (token/OAuth gate)
|
|
140
|
+
* - the provider wrote an [ERROR] sentinel to stdout but still exited 0
|
|
141
|
+
* (opencode SDK session.error / "No model available")
|
|
142
|
+
* - a non-zero process exit with NO assistant work this cycle (crash /
|
|
143
|
+
* launch-failed / copilot free-plan "No model available")
|
|
144
|
+
*
|
|
145
|
+
* A `watchdog` kill is treated as a hard-failure ONLY when the turn produced
|
|
146
|
+
* no work — a watchdog that fired after real output is a ran-but-unmarked
|
|
147
|
+
* turn (partial progress), which stays on the auto-mark path.
|
|
148
|
+
*/
|
|
149
|
+
findHardFailure(ctx) {
|
|
150
|
+
const { failReason, sawWork } = this.scanHooksForFailure();
|
|
151
|
+
if (failReason) {
|
|
152
|
+
if (failReason === 'watchdog' && sawWork) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
return failReason;
|
|
156
|
+
}
|
|
157
|
+
// No hook-based signal — fall back to the process-level signals the caller
|
|
158
|
+
// captured. opencode SDK session.error exits 0, so its only tell is stdout.
|
|
159
|
+
if (ctx.stdoutError) {
|
|
160
|
+
return ctx.stdoutError;
|
|
161
|
+
}
|
|
162
|
+
// A non-zero exit with no work this turn = the provider died before doing
|
|
163
|
+
// anything (crash / launch failure / model unavailable). A non-zero exit
|
|
164
|
+
// that DID produce work is left to the reminder/give_up path unchanged.
|
|
165
|
+
if (ctx.exitedNonZero && !sawWork) {
|
|
166
|
+
return 'exit_nonzero';
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Scan the recent hook-events tail (events after this task started) for a
|
|
172
|
+
* provider-failure signal and whether any assistant work happened this turn.
|
|
173
|
+
* Mirrors findRecentRateLimit()'s read strategy.
|
|
174
|
+
*/
|
|
175
|
+
scanHooksForFailure() {
|
|
176
|
+
let failReason = null;
|
|
177
|
+
let sawWork = false;
|
|
178
|
+
try {
|
|
179
|
+
const hooksJsonl = path.join(this.workspaceRoot, '.autodev', 'hooks-events.jsonl');
|
|
180
|
+
if (!fs.existsSync(hooksJsonl)) {
|
|
181
|
+
return { failReason, sawWork };
|
|
182
|
+
}
|
|
183
|
+
const stat = fs.statSync(hooksJsonl);
|
|
184
|
+
const readFrom = Math.max(0, stat.size - 64 * 1024);
|
|
185
|
+
const fd = fs.openSync(hooksJsonl, 'r');
|
|
186
|
+
const buf = Buffer.alloc(stat.size - readFrom);
|
|
187
|
+
fs.readSync(fd, buf, 0, buf.length, readFrom);
|
|
188
|
+
fs.closeSync(fd);
|
|
189
|
+
const lines = buf.toString('utf8').split('\n').filter(l => l.trim());
|
|
190
|
+
// Newest → oldest. Grok emits StopFailure THEN a more specific
|
|
191
|
+
// SessionEnd(reason); scanning backwards we hit the specific reason first
|
|
192
|
+
// and keep it (the `failReason` guard skips the older StopFailure).
|
|
193
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
194
|
+
let ev;
|
|
195
|
+
try {
|
|
196
|
+
ev = JSON.parse(lines[i]);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
const ts = ev?.timestamp ? Date.parse(ev.timestamp) : NaN;
|
|
202
|
+
if (Number.isFinite(ts) && ts < this.taskStartTime) {
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
const name = String(ev?.hook_event_name ?? '');
|
|
206
|
+
if (WORK_EVENTS.has(name)) {
|
|
207
|
+
sawWork = true;
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
if (failReason) {
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
if (name === 'reauth_required') {
|
|
214
|
+
failReason = 'reauth_required';
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
if (name === 'SessionEnd') {
|
|
218
|
+
const r = String(ev?.reason ?? '').trim();
|
|
219
|
+
if (FAIL_REASONS.has(r)) {
|
|
220
|
+
failReason = r;
|
|
221
|
+
}
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
if (name === 'StopFailure') {
|
|
225
|
+
failReason = 'stop_failure';
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch { /* ignore */ }
|
|
231
|
+
return { failReason, sawWork };
|
|
232
|
+
}
|
|
95
233
|
/** Has the AI moved the task to [~]? */
|
|
96
234
|
taskIsInProgress() {
|
|
97
235
|
try {
|
package/out/cliExit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliExit.js","sourceRoot":"","sources":["../src/cliExit.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,2CAA2C;AAC3C,EAAE;AACF,2BAA2B;AAC3B,gEAAgE;AAChE,yEAAyE;AACzE,EAAE;AACF,6BAA6B;AAC7B,mEAAmE;AACnE,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9E,uCAAyB;AACzB,2CAA6B;AAC7B,iCAAyC;AACzC,2CAAgE;
|
|
1
|
+
{"version":3,"file":"cliExit.js","sourceRoot":"","sources":["../src/cliExit.ts"],"names":[],"mappings":"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"}
|