zelari-code 1.10.0 → 1.11.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.
@@ -37,6 +37,20 @@ const MAX_RETRIES = (() => {
37
37
  })();
38
38
  const BACKOFF_BASE_MS = 500;
39
39
  const BACKOFF_CAP_MS = 8000;
40
+ /**
41
+ * Hard timeout for a single provider HTTP request (connect + stream).
42
+ * Without this, a provider that accepts the TCP connection but never sends a
43
+ * response (load balancer stall, silent gateway timeout) makes fetch() hang
44
+ * forever — the harness sits blocked in the provider stream, emits no
45
+ * agent_end, and the desktop UI freezes ("muore e basta"). This is the
46
+ * silent-hang root cause for long tool-loop turns on flaky providers (MiniMax).
47
+ * Default 5 min (LLM tool turns can be slow); override via env.
48
+ */
49
+ const PROVIDER_TIMEOUT_MS = (() => {
50
+ const raw = process.env.ZELARI_PROVIDER_TIMEOUT_MS;
51
+ const n = raw ? Number.parseInt(raw, 10) : 300_000;
52
+ return Number.isFinite(n) && n >= 10_000 ? n : 300_000;
53
+ })();
40
54
  /**
41
55
  * Sleep that aborts early if the caller's signal fires (so `.cancel()` during
42
56
  * a backoff window doesn't make the user wait for a doomed retry). Resolves
@@ -202,6 +216,15 @@ export function openaiCompatibleProvider(config) {
202
216
  return;
203
217
  }
204
218
  try {
219
+ // Combine the caller's cancel signal with a hard timeout. Without the
220
+ // timeout, a provider that stalls after accepting the connection makes
221
+ // fetch() hang forever (the silent "muore e basta" freeze). The timeout
222
+ // aborts the request so it surfaces as a retryable network error
223
+ // instead of an infinite hang.
224
+ const timeoutSignal = AbortSignal.timeout(PROVIDER_TIMEOUT_MS);
225
+ const fetchSignal = params.signal
226
+ ? AbortSignal.any([params.signal, timeoutSignal])
227
+ : timeoutSignal;
205
228
  response = await fetch(`${config.baseUrl}/chat/completions`, {
206
229
  method: 'POST',
207
230
  headers: {
@@ -213,14 +236,23 @@ export function openaiCompatibleProvider(config) {
213
236
  // controller) so `.cancel()` actually aborts the HTTP request.
214
237
  // `config.signal` is the factory-level signal, typically undefined.
215
238
  // v0.6.0 audit HIGH-2.
216
- signal: params.signal,
239
+ // v1.10.0: also apply PROVIDER_TIMEOUT_MS so a stalled connection
240
+ // can't hang the harness forever.
241
+ signal: fetchSignal,
217
242
  });
218
243
  }
219
244
  catch (err) {
220
- // Network error (DNS, connection refused, TLS, read timeout)
221
- // transient in most cases. Retry unless this is the last attempt.
245
+ // Network error (DNS, connection refused, TLS, read timeout, or our
246
+ // PROVIDER_TIMEOUT_MS firing) — transient in most cases. Retry unless
247
+ // this is the last attempt. A timeout-induced abort looks like a
248
+ // normal AbortError here, so it follows the same retry path.
222
249
  lastStatus = 0;
223
250
  lastErrText = err instanceof Error ? err.message : String(err);
251
+ // If the user cancelled, don't retry — bail out immediately.
252
+ if (params.signal?.aborted) {
253
+ yield { kind: 'error', message: 'aborted' };
254
+ return;
255
+ }
224
256
  if (attempt < MAX_RETRIES) {
225
257
  await abortableSleep(backoffDelay(attempt, null), params.signal);
226
258
  continue;
@@ -304,6 +336,17 @@ export function openaiCompatibleProvider(config) {
304
336
  if (typeof delta?.content === 'string' && delta.content.length > 0) {
305
337
  yield { kind: 'text', delta: delta.content };
306
338
  }
339
+ // Chain-of-thought / reasoning channel. GLM, DeepSeek, Qwen and
340
+ // MiniMax expose this separately from `content` so it never needs
341
+ // to be scrubbed out of the visible message. Without this yield
342
+ // the harness never emits a `thinking_delta` BrainEvent, the
343
+ // desktop's thinking-render path stays dead, and reasoning either
344
+ // leaks inline as <think> tags or is silently dropped.
345
+ const reasoning = delta?.reasoning_content ??
346
+ delta?.reasoning;
347
+ if (typeof reasoning === 'string' && reasoning.length > 0) {
348
+ yield { kind: 'thinking', delta: reasoning };
349
+ }
307
350
  // OpenAI tool_calls are streamed incrementally — accumulate args
308
351
  // per index and emit a tool_call delta when the args JSON closes.
309
352
  if (Array.isArray(delta?.tool_calls)) {
@@ -1 +1 @@
1
- {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/cli/provider/openai-compatible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-compatible.js","sourceRoot":"","sources":["../../../src/cli/provider/openai-compatible.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,53 @@
15
15
  * @since 0.5.0
16
16
  */
17
17
  import { AgentHarness } from '@zelari/core/harness';
18
+ import { cleanAgentContent } from '@zelari/core';
19
+ import { maybeAnchorShortAnswer } from './hooks/conversationContext.js';
18
20
  import { createBuiltinToolRegistry } from './toolRegistry.js';
19
21
  import { emitEvent, openaiCompatibleProvider, resolveHeadlessKey, resolveHeadlessProvider, } from './headless.js';
20
22
  import { buildSystemPrompt, getAllTools, SINGLE_AGENT_IDENTITY_MODULE, buildLanguagePolicyModuleFor, } from '@zelari/core/skills';
21
23
  import { envNumber } from './utils/envNumber.js';
22
24
  import { setPhase } from './phaseState.js';
23
25
  import { describePhase } from './phase.js';
26
+ import { createStreamScrubber } from './utils/streamScrub.js';
24
27
  export async function runHeadless(opts) {
28
+ // === Global crash handlers (headless-only) ===
29
+ // Without these, an uncaught exception during a tool call (e.g. write_file
30
+ // failing deep in the harness) kills the process silently: no agent_end,
31
+ // no run-finished, and the desktop hangs forever waiting for output that
32
+ // never comes. Here we surface the failure as a final NDJSON error event
33
+ // + stderr line, then exit non-zero, so the desktop can show the cause.
34
+ let crashed = false;
35
+ const handleFatal = (label, err) => {
36
+ if (crashed)
37
+ return; // Re-entrant: log only the first fatal cause.
38
+ crashed = true;
39
+ const msg = err instanceof Error ? err.message : String(err);
40
+ const stack = err instanceof Error && err.stack ? `\n${err.stack}` : '';
41
+ const line = `[zelari-code --headless] FATAL ${label}: ${msg}${stack}`;
42
+ try {
43
+ // Emit a structured error event the desktop renders in the chat.
44
+ emitEvent({
45
+ type: 'error',
46
+ severity: 'fatal',
47
+ message: `${label}: ${msg}`,
48
+ code: 'uncaught',
49
+ });
50
+ }
51
+ catch {
52
+ // If stdout is already gone, at least try stderr.
53
+ }
54
+ try {
55
+ process.stderr.write(line + '\n');
56
+ }
57
+ catch { /* ignore */ }
58
+ // Force exit: the default Node behavior would print to stderr and keep
59
+ // an exit code 1, but for unhandledRejection it just warns and continues
60
+ // (which leaves the desktop hanging). We make both fatal + explicit.
61
+ process.exit(2);
62
+ };
63
+ process.on('uncaughtException', (err) => handleFatal('uncaughtException', err));
64
+ process.on('unhandledRejection', (err) => handleFatal('unhandledRejection', err));
25
65
  // Apply work phase before any tool registry is built.
26
66
  setPhase(opts.phase ?? 'build');
27
67
  const { provider, model } = resolveHeadlessProvider(opts);
@@ -125,13 +165,30 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
125
165
  languageDirectiveContent,
126
166
  ].join('\n');
127
167
  }
168
+ // v1.10.0: multi-turn context for the desktop. Each desktop message spawns
169
+ // a fresh headless process, so without seeding prior turns the agent has
170
+ // amnesia and treats "procedi" / "sì" as brand-new requests. The desktop
171
+ // passes the rolling history via --history <json>; we scrub it (strip
172
+ // <think> tags but KEEP ---QUESTION--- blocks so short answers can bind),
173
+ // then seed the harness as [system, ...history, {user: task}].
174
+ const historySeed = (opts.history ?? []).map((m) => m.role === 'assistant' && m.content
175
+ ? { ...m, content: cleanAgentContent(m.content, { stripQuestion: false }) }
176
+ : m);
177
+ // Short-answer anchoring: if the last history turn was a clarifying
178
+ // question and the user's reply is short ("procedi", "2", "sì"), rewrite
179
+ // it to re-state the question so the model can't treat it as contextless.
180
+ // Mirrors the TUI's maybeAnchorShortAnswer (conversationContext.ts).
181
+ const effectiveTask = maybeAnchorShortAnswer(opts.task)
182
+ ?? opts.task;
183
+ const historySeedLen = historySeed.length;
128
184
  const harness = new AgentHarness({
129
185
  model,
130
186
  provider,
131
187
  sessionId,
132
188
  messages: [
133
189
  { role: 'system', content: systemPrompt },
134
- { role: 'user', content: opts.task },
190
+ ...historySeed,
191
+ { role: 'user', content: effectiveTask },
135
192
  ],
136
193
  tools,
137
194
  toolRegistry,
@@ -144,27 +201,58 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
144
201
  let finalReason = 'completed';
145
202
  let exitCode = 0;
146
203
  const textBuffer = [];
204
+ // Scrub <think>/---QUESTION--- leaks from the streamed text. The TUI does
205
+ // this in useChatTurn; the headless path used to emit raw deltas, leaking
206
+ // model reasoning into the desktop UI. One scrubber per turn accumulates
207
+ // raw text and yields only clean increments.
208
+ const scrub = createStreamScrubber();
147
209
  try {
148
210
  for await (const event of harness.run()) {
149
- if (opts.output === 'json') {
150
- emitEvent(event);
211
+ // Reset the scrubber on every new assistant message so an unclosed
212
+ // <think> in one message can't swallow the next message's text.
213
+ // (In a tool-loop turn the harness emits multiple message_start/end cycles.)
214
+ if (event.type === 'message_start') {
215
+ scrub.reset();
151
216
  }
152
- if (event.type === 'message_delta') {
153
- if (opts.output === 'plain') {
154
- process.stdout.write(event.delta);
217
+ if (event.type === 'message_delta' && typeof event.delta === 'string') {
218
+ const cleanDelta = scrub.push(event.delta);
219
+ if (opts.output === 'json') {
220
+ // Re-emit a scrubbed message_delta so JSON consumers never see
221
+ // <think> tags. (Other event types pass through untouched.)
222
+ if (cleanDelta.length > 0) {
223
+ emitEvent({ ...event, delta: cleanDelta });
224
+ }
225
+ }
226
+ else if (opts.output === 'plain') {
227
+ if (cleanDelta.length > 0)
228
+ process.stdout.write(cleanDelta);
155
229
  }
156
230
  else {
157
- textBuffer.push(event.delta);
231
+ if (cleanDelta.length > 0)
232
+ textBuffer.push(cleanDelta);
158
233
  }
159
234
  }
160
- else if (event.type === 'agent_end') {
161
- finalReason = event.reason;
162
- if (event.reason === 'error')
163
- exitCode = 3;
164
- }
165
- else if (event.type === 'error') {
166
- if (event.severity === 'fatal') {
167
- exitCode = 2;
235
+ else {
236
+ if (opts.output === 'json') {
237
+ emitEvent(event);
238
+ }
239
+ if (event.type === 'agent_end') {
240
+ // Flush any trailing cleaned text before signaling end.
241
+ const tail = scrub.flush();
242
+ if (tail.length > 0) {
243
+ if (opts.output === 'plain')
244
+ process.stdout.write(tail);
245
+ else
246
+ textBuffer.push(tail);
247
+ }
248
+ finalReason = event.reason;
249
+ if (event.reason === 'error')
250
+ exitCode = 3;
251
+ }
252
+ else if (event.type === 'error') {
253
+ if (event.severity === 'fatal') {
254
+ exitCode = 2;
255
+ }
168
256
  }
169
257
  }
170
258
  }
@@ -177,6 +265,28 @@ async function runHeadlessSingle(opts, provider, model, providerStream) {
177
265
  process.stdout.write(textBuffer.join(''));
178
266
  }
179
267
  process.stdout.write('');
268
+ // v1.10.0: emit a history_snapshot so the desktop can replay this turn's
269
+ // assistant+tool tail on the next message. We snapshot the messages BEYOND
270
+ // the seed (everything the harness added this turn), scrubbing <think> from
271
+ // assistant content but KEEPING ---QUESTION--- blocks (so the next turn's
272
+ // short-answer anchor can still bind). Mirrors useChatTurn's finally block.
273
+ if (finalReason !== 'error' && opts.output === 'json') {
274
+ try {
275
+ const all = harness.getMessages();
276
+ const seedLen = 1 /*system*/ + historySeedLen + 1 /*user*/;
277
+ if (all.length > seedLen) {
278
+ const tail = all.slice(seedLen).map((m) => m.role === 'assistant' && m.content
279
+ ? { ...m, content: cleanAgentContent(m.content, { stripQuestion: false }) }
280
+ : m);
281
+ if (tail.length > 0) {
282
+ emitEvent({ type: 'history_snapshot', messages: tail });
283
+ }
284
+ }
285
+ }
286
+ catch {
287
+ // Non-fatal: a snapshot failure must never break the run.
288
+ }
289
+ }
180
290
  if (finalReason === 'error')
181
291
  return 3;
182
292
  return exitCode;
@@ -203,6 +313,7 @@ async function runHeadlessCouncil(opts, provider, model, providerStream) {
203
313
  const { FeedbackStore } = await import('./councilFeedback.js');
204
314
  const feedbackStore = new FeedbackStore();
205
315
  let exitCode = 0;
316
+ const scrub = createStreamScrubber();
206
317
  try {
207
318
  for await (const event of dispatchCouncil(opts.task, {
208
319
  apiKey: 'REDACTED',
@@ -214,17 +325,32 @@ async function runHeadlessCouncil(opts, provider, model, providerStream) {
214
325
  feedbackStore,
215
326
  runMode: planModeFromOpts(opts) ? 'design-phase' : 'implementation',
216
327
  })) {
217
- if (opts.output === 'json') {
218
- emitEvent(event);
219
- }
220
- else if (event.type === 'message_delta') {
221
- process.stdout.write(event.delta);
328
+ if (event.type === 'message_start') {
329
+ scrub.reset();
222
330
  }
223
- else if (event.type === 'agent_end' && event.reason === 'error') {
224
- exitCode = 3;
331
+ if (event.type === 'message_delta' && typeof event.delta === 'string') {
332
+ const cleanDelta = scrub.push(event.delta);
333
+ if (opts.output === 'json') {
334
+ if (cleanDelta.length > 0)
335
+ emitEvent({ ...event, delta: cleanDelta });
336
+ }
337
+ else if (opts.output === 'plain' && cleanDelta.length > 0) {
338
+ process.stdout.write(cleanDelta);
339
+ }
225
340
  }
226
- else if (event.type === 'error' && event.severity === 'fatal') {
227
- exitCode = 2;
341
+ else {
342
+ if (opts.output === 'json')
343
+ emitEvent(event);
344
+ if (event.type === 'agent_end') {
345
+ const tail = scrub.flush();
346
+ if (opts.output === 'plain' && tail.length > 0)
347
+ process.stdout.write(tail);
348
+ if (event.reason === 'error')
349
+ exitCode = 3;
350
+ }
351
+ else if (event.type === 'error' && event.severity === 'fatal') {
352
+ exitCode = 2;
353
+ }
228
354
  }
229
355
  }
230
356
  }
@@ -282,6 +408,7 @@ async function runHeadlessZelari(opts, provider, model, providerStream) {
282
408
  let writeCount = 0;
283
409
  let chairmanErrored = false;
284
410
  let membersCompleted = 0;
411
+ const scrub = createStreamScrubber();
285
412
  for await (const event of dispatchCouncil(fullPrompt, {
286
413
  apiKey: 'REDACTED',
287
414
  model,
@@ -293,15 +420,27 @@ async function runHeadlessZelari(opts, provider, model, providerStream) {
293
420
  runMode: planModeFromOpts(opts) ? 'design-phase' : runMode,
294
421
  maxToolCallsChairman: chairmanBudget,
295
422
  })) {
296
- if (opts.output === 'json') {
297
- emitEvent(event);
298
- }
299
- else if (event.type === 'message_delta') {
300
- process.stdout.write(event.delta);
423
+ if (event.type === 'message_start') {
424
+ scrub.reset();
301
425
  }
302
426
  if (event.type === 'message_delta' && typeof event.delta === 'string') {
303
- // Best-effort accumulate last member stream as synthesis proxy
427
+ // Best-effort accumulate RAW last member stream as synthesis proxy
428
+ // (the synthesis accumulator tracks raw provider text; the display
429
+ // path below emits the scrubbed version separately).
304
430
  synthesisText += event.delta;
431
+ const cleanDelta = scrub.push(event.delta);
432
+ if (opts.output === 'json') {
433
+ if (cleanDelta.length > 0)
434
+ emitEvent({ ...event, delta: cleanDelta });
435
+ }
436
+ else if (opts.output === 'plain' && cleanDelta.length > 0) {
437
+ process.stdout.write(cleanDelta);
438
+ }
439
+ }
440
+ else {
441
+ if (opts.output === 'json') {
442
+ emitEvent(event);
443
+ }
305
444
  }
306
445
  if (event.type === 'tool_execution_end') {
307
446
  const name = event.toolName
@@ -1 +1 @@
1
- {"version":3,"file":"runHeadless.js","sourceRoot":"","sources":["../../src/cli/runHeadless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runHeadless.js","sourceRoot":"","sources":["../../src/cli/runHeadless.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * streamScrub — incremental scrubber for streamed assistant text.
3
+ *
4
+ * The TUI (`useChatTurn`) cleans `<think>`/`---QUESTION---` blocks from the
5
+ * live bubble by re-running `cleanAgentContent` over the WHOLE accumulated
6
+ * text on every delta and diffing against the previous clean snapshot.
7
+ *
8
+ * The headless path (`runHeadless*`) used to emit `event.delta` raw, so
9
+ * `<think>` tags (GLM/MiniMax) and `---QUESTION---` clarification blocks
10
+ * leaked into the desktop UI. This module ports the same incremental-clean
11
+ * pattern so headless JSON consumers only ever see scrubbed text.
12
+ *
13
+ * Why accumulate: a `<think>` tag can be split across several deltas, so a
14
+ * per-chunk regex can't tell "opening tag just started" from "tag closed".
15
+ * We keep the raw tail, clean the whole thing, and return only the newly
16
+ * stable suffix.
17
+ *
18
+ * @since v1.10.0
19
+ */
20
+ import { cleanAgentContent } from '@zelari/core';
21
+ export function createStreamScrubber() {
22
+ let rawBuf = '';
23
+ let emittedLen = 0;
24
+ const snapshot = () => {
25
+ // cleanAgentContent strips complete + unclosed <think> blocks, orphan
26
+ // closing tags, minimax wrappers, and (by default) ---QUESTION--- blocks.
27
+ const cleaned = cleanAgentContent(rawBuf);
28
+ if (cleaned.length <= emittedLen)
29
+ return '';
30
+ const delta = cleaned.slice(emittedLen);
31
+ emittedLen = cleaned.length;
32
+ return delta;
33
+ };
34
+ return {
35
+ push(rawDelta) {
36
+ rawBuf += rawDelta;
37
+ return snapshot();
38
+ },
39
+ flush() {
40
+ // Force-strip any trailing unclosed <think> by re-cleaning; if the
41
+ // accumulated raw never closed its tag, cleanAgentContent already
42
+ // drops it via the `/<think[^>]*>[\s\S]*$/` rule, so snapshot() above
43
+ // already returned '' for it. Flush is a safety net for edge cases
44
+ // (e.g. content trimmed in odd ways) — re-snapshot once more.
45
+ return snapshot();
46
+ },
47
+ reset() {
48
+ // New assistant message: drop the raw accumulator so an unclosed
49
+ // <think> in a previous message can't swallow this one's text.
50
+ rawBuf = '';
51
+ emittedLen = 0;
52
+ },
53
+ };
54
+ }
55
+ //# sourceMappingURL=streamScrub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamScrub.js","sourceRoot":"","sources":["../../../src/cli/utils/streamScrub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA0BjD,MAAM,UAAU,oBAAoB;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,GAAW,EAAE;QAC5B,sEAAsE;QACtE,0EAA0E;QAC1E,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;YAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,CAAC,QAAgB;YACnB,MAAM,IAAI,QAAQ,CAAC;YACnB,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,KAAK;YACH,mEAAmE;YACnE,kEAAkE;YAClE,sEAAsE;YACtE,mEAAmE;YACnE,8DAA8D;YAC9D,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,KAAK;YACH,iEAAiE;YACjE,+DAA+D;YAC/D,MAAM,GAAG,EAAE,CAAC;YACZ,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zelari-code",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "description": "Zelari Code — AI Council coding agent CLI. Multi-agent orchestration (Caronte, Nettuno, Gerione, Plutone, Minosse, Lucifero) with slash commands, provider-agnostic LLM streaming, and self-update.",
5
5
  "author": "N-THEM Studio",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -50,7 +50,7 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@testing-library/react": "^16.3.2",
53
- "@zelari/core": "1.10.0",
53
+ "@zelari/core": "1.11.0",
54
54
  "@types/node": "^25.3.0",
55
55
  "@types/react": "^19.0.10",
56
56
  "esbuild": "^0.25.0",