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.
@@ -72,6 +72,7 @@ exports.WORKSPACE_DIRS = [
72
72
  '.autodev',
73
73
  path.posix.join('media', 'profile'),
74
74
  path.posix.join('media', 'skills'),
75
+ path.posix.join('.claude', 'skills'),
75
76
  ];
76
77
  /**
77
78
  * Identity/connection settings in `.autodev/settings.json` that are scoped to a
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/agentBackup/layout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,oCAEC;AAkCD,sCAEC;AASD,gCAEC;AAGD,wDAEC;AAWD,kDAaC;AA7FD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,uEAAuE;AAC1D,QAAA,UAAU,GAAG,cAAc,CAAC;AAEzC,+DAA+D;AAClD,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,GAAG,kBAAU,YAAY;IACpC,YAAY,EAAE,GAAG,kBAAU,WAAW;IACtC,QAAQ,EAAE,GAAG,kBAAU,4BAA4B;CAC3C,CAAC;AAEX,0DAA0D;AAC1D,SAAgB,YAAY,CAAC,UAAkB;IAC7C,OAAO,GAAG,qBAAa,CAAC,YAAY,IAAI,UAAU,EAAE,CAAC;AACvD,CAAC;AAED;;;GAGG;AACU,QAAA,SAAS,GAAsB;IAC1C,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS;IAC5E,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe;CACjE,CAAC;AAEF;;;;;GAKG;AACU,QAAA,cAAc,GAAsB;IAC/C,UAAU;IACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;CACnC,CAAC;AAEF;;;;;;;GAOG;AACU,QAAA,aAAa,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAU,CAAC;AAE3G,iFAAiF;AACjF,SAAgB,aAAa,CAAC,CAAS;IACrC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACjE,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,wEAAwE;AACxE,8EAA8E;AAC9E,8EAA8E;AAE9E,qCAAqC;AACrC,SAAgB,UAAU;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,8EAA8E;AAC9E,SAAgB,sBAAsB;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,CAAC,CAAC;AAClD,CAAC;AAED,8EAA8E;AAC9E,uDAAuD;AACvD,yEAAyE;AACzE,iFAAiF;AACjF,6EAA6E;AAC7E,oEAAoE;AACpE,8EAA8E;AAE9E,4EAA4E;AAC5E,SAAgB,mBAAmB;IACjC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACzC,IAAI,GAAG,EAAE,CAAC;QAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAAC,CAAC;IACzD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,OAAO,EAAE,CAAC;QAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAAC,CAAC;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,YAAY,EAAE,CAAC;QAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAAC,CAAC;IAC3E,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACzB,IAAI,CAAC;YAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
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; resolve, move on
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 {
@@ -1 +1 @@
1
- {"version":3,"file":"cliExit.js","sourceRoot":"","sources":["../src/cliExit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliExit.js","sourceRoot":"","sources":["../src/cliExit.ts"],"names":[],"mappings":"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"}