zidane 6.2.32 → 6.2.33

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.
Files changed (60) hide show
  1. package/dist/{acp-BOXBhzMv.js → acp-DlgMFlUN.js} +2 -2
  2. package/dist/{acp-BOXBhzMv.js.map → acp-DlgMFlUN.js.map} +1 -1
  3. package/dist/acp-cli.js +2 -2
  4. package/dist/acp.d.ts +1 -1
  5. package/dist/acp.js +1 -1
  6. package/dist/{agent-CHtfwiSc.js → agent-CdnYdiRY.js} +53 -23
  7. package/dist/{agent-CHtfwiSc.js.map → agent-CdnYdiRY.js.map} +1 -1
  8. package/dist/agent.d.ts +1 -1
  9. package/dist/agent.js +1 -1
  10. package/dist/chat/pure.d.ts +3 -3
  11. package/dist/chat.d.ts +4 -4
  12. package/dist/chat.js +2 -2
  13. package/dist/contexts/daytona.d.ts +1 -1
  14. package/dist/contexts/e2b.d.ts +1 -1
  15. package/dist/eval.d.ts +1 -1
  16. package/dist/extensions.d.ts +1 -1
  17. package/dist/extensions.js +1 -1
  18. package/dist/headless.d.ts +1 -1
  19. package/dist/headless.js +1 -1
  20. package/dist/{index-DZxVqh6L.d.ts → index-LLXx0VRf.d.ts} +3 -2
  21. package/dist/index-LLXx0VRf.d.ts.map +1 -0
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/mcp.d.ts +1 -1
  25. package/dist/output/stream-json.d.ts +1 -1
  26. package/dist/output/terminal.d.ts +1 -1
  27. package/dist/presets.d.ts +1 -1
  28. package/dist/presets.js +1 -1
  29. package/dist/providers/anthropic.d.ts +1 -1
  30. package/dist/providers/arcee.d.ts +1 -1
  31. package/dist/providers/baseten.d.ts +1 -1
  32. package/dist/providers/cerebras.d.ts +1 -1
  33. package/dist/providers/local.d.ts +1 -1
  34. package/dist/providers/openai-compat.d.ts +1 -1
  35. package/dist/providers/openai.d.ts +1 -1
  36. package/dist/providers/openrouter.d.ts +1 -1
  37. package/dist/providers/xai.d.ts +1 -1
  38. package/dist/providers.d.ts +1 -1
  39. package/dist/restate.d.ts +1 -1
  40. package/dist/session/sqlite.d.ts +1 -1
  41. package/dist/session.d.ts +1 -1
  42. package/dist/skills.d.ts +1 -1
  43. package/dist/{tool-formatters-BCA9SPQy.d.ts → tool-formatters-DtUL8zcF.d.ts} +2 -2
  44. package/dist/{tool-formatters-BCA9SPQy.d.ts.map → tool-formatters-DtUL8zcF.d.ts.map} +1 -1
  45. package/dist/tools/fetch-url.d.ts +1 -1
  46. package/dist/tools/web-search.d.ts +1 -1
  47. package/dist/tools.d.ts +1 -1
  48. package/dist/tools.js +1 -1
  49. package/dist/{transcript-anchors-vVG3xyD0.js → transcript-anchors-CKkH7rJY.js} +2 -2
  50. package/dist/{transcript-anchors-vVG3xyD0.js.map → transcript-anchors-CKkH7rJY.js.map} +1 -1
  51. package/dist/{transcript-anchors-BaU0gkGA.d.ts → transcript-anchors-Cmn6Apac.d.ts} +2 -2
  52. package/dist/{transcript-anchors-BaU0gkGA.d.ts.map → transcript-anchors-Cmn6Apac.d.ts.map} +1 -1
  53. package/dist/tui.d.ts +3 -3
  54. package/dist/tui.js +2 -2
  55. package/dist/{turn-operations-BofuxNtk.d.ts → turn-operations-PPSEo4C3.d.ts} +3 -3
  56. package/dist/{turn-operations-BofuxNtk.d.ts.map → turn-operations-PPSEo4C3.d.ts.map} +1 -1
  57. package/dist/types-BIarq1qE.js.map +1 -1
  58. package/dist/types.d.ts +1 -1
  59. package/package.json +1 -1
  60. package/dist/index-DZxVqh6L.d.ts.map +0 -1
package/dist/acp-cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { It as resolveStorageDirs, ut as basic_default } from "./agent-CHtfwiSc.js";
2
+ import { It as resolveStorageDirs, ut as basic_default } from "./agent-CdnYdiRY.js";
3
3
  import { r as createProcessContext } from "./contexts-o8y5B3Tm.js";
4
4
  import { createSandboxContext } from "./contexts/sandbox.js";
5
5
  import { m as openaiCompat } from "./openai-compat-pHI0kBWH.js";
@@ -10,7 +10,7 @@ import { cerebras } from "./providers/cerebras.js";
10
10
  import { t as xai } from "./xai-BwhzoehX.js";
11
11
  import { openai } from "./providers/openai.js";
12
12
  import { openrouter } from "./providers/openrouter.js";
13
- import { d as StartUsageError, f as buildStartLocalOptions, h as startProviderNames, i as withAcpDefaultTools, m as startLocalArgOptions, p as parseStartArgValues, t as runAcpStdioServer } from "./acp-BOXBhzMv.js";
13
+ import { d as StartUsageError, f as buildStartLocalOptions, h as startProviderNames, i as withAcpDefaultTools, m as startLocalArgOptions, p as parseStartArgValues, t as runAcpStdioServer } from "./acp-DlgMFlUN.js";
14
14
  import { f as credKeyOf, i as readCredentials, l as BUILTIN_PROVIDERS, r as credentialsPath, t as detectAuth, y as modelsForDescriptor } from "./auth-up7hgE9H.js";
15
15
  import { createDaytonaProvider } from "./contexts/daytona.js";
16
16
  import { createDockerContext } from "./contexts/docker.js";
package/dist/acp.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Ef as SessionContentBlock, Gd as AgentBehavior, Qf as ToolDef, Rf as ToolResultContent, Sm as Provider, Wi as Agent, _f as PromptPart, _p as Session, of as McpServerConfig, qf as TurnUsage, qi as AgentOptions, t as Preset, xp as SessionStore } from "./index-DZxVqh6L.js";
1
+ import { Ef as SessionContentBlock, Gd as AgentBehavior, Qf as ToolDef, Rf as ToolResultContent, Sm as Provider, Wi as Agent, _f as PromptPart, _p as Session, of as McpServerConfig, qf as TurnUsage, qi as AgentOptions, t as Preset, xp as SessionStore } from "./index-LLXx0VRf.js";
2
2
  import { c as ExecutionContext } from "./types-BDccavwj.js";
3
3
  import { Readable, Writable } from "node:stream";
4
4
 
package/dist/acp.js CHANGED
@@ -1,2 +1,2 @@
1
- import { _ as createJsonRpcConnection, a as wrapToolsForAcpClient, c as sessionBlocksToAcp, g as JsonRpcRemoteError, i as withAcpDefaultTools, l as stopReasonFromRun, n as AcpProtocolError, o as acpMcpServersToZidane, r as createAcpServer, s as acpPromptToPromptParts, t as runAcpStdioServer, u as toolResultToAcpContent } from "./acp-BOXBhzMv.js";
1
+ import { _ as createJsonRpcConnection, a as wrapToolsForAcpClient, c as sessionBlocksToAcp, g as JsonRpcRemoteError, i as withAcpDefaultTools, l as stopReasonFromRun, n as AcpProtocolError, o as acpMcpServersToZidane, r as createAcpServer, s as acpPromptToPromptParts, t as runAcpStdioServer, u as toolResultToAcpContent } from "./acp-DlgMFlUN.js";
2
2
  export { AcpProtocolError, JsonRpcRemoteError, acpMcpServersToZidane, acpPromptToPromptParts, createAcpServer, createJsonRpcConnection, runAcpStdioServer, sessionBlocksToAcp, stopReasonFromRun, toolResultToAcpContent, withAcpDefaultTools, wrapToolsForAcpClient };
@@ -10881,6 +10881,18 @@ function wrapProviderError(err, ctx) {
10881
10881
  }
10882
10882
  return wrapped;
10883
10883
  }
10884
+ /**
10885
+ * Operation names carried by watchdog `OperationTimeoutError`s. Shared
10886
+ * between the watchdog racer (`streamWithWatchdogs`) and the retry
10887
+ * classifier so the retry carve-out can't silently detach from the errors
10888
+ * it targets when a label is renamed.
10889
+ */
10890
+ const PROVIDER_WATCHDOG_OPERATIONS = {
10891
+ "first response": "provider first response",
10892
+ "total stream": "provider total stream",
10893
+ "stream inactivity": "provider stream inactivity"
10894
+ };
10895
+ const PROVIDER_WATCHDOG_OPERATION_SET = new Set(Object.values(PROVIDER_WATCHDOG_OPERATIONS));
10884
10896
  function providerWatchdogTimeouts(ctx) {
10885
10897
  return {
10886
10898
  startTimeoutMs: resolveTimeoutMs(ctx.providerStreamStartTimeoutMs, DEFAULT_PROVIDER_STREAM_START_TIMEOUT_MS, ctx.maxWallMs),
@@ -11030,10 +11042,22 @@ async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
11030
11042
  if (idleTimer) clearTimeout(idleTimer);
11031
11043
  unlinkParentAbort();
11032
11044
  };
11045
+ let lastActivityAt = 0;
11046
+ const armIdleTimer = (delayMs) => {
11047
+ idleTimer = setTimeout(() => {
11048
+ if (settled) return;
11049
+ const idleMs = Date.now() - lastActivityAt;
11050
+ if (idleMs < idleTimeoutMs) {
11051
+ armIdleTimer(idleTimeoutMs - idleMs);
11052
+ return;
11053
+ }
11054
+ onIdleTimeout?.();
11055
+ }, delayMs);
11056
+ };
11033
11057
  const recordActivity = () => {
11034
11058
  if (idleTimeoutMs <= 0 || settled) return;
11035
- if (idleTimer) clearTimeout(idleTimer);
11036
- idleTimer = setTimeout(() => onIdleTimeout?.(), idleTimeoutMs);
11059
+ lastActivityAt = Date.now();
11060
+ if (idleTimer === void 0) armIdleTimer(idleTimeoutMs);
11037
11061
  };
11038
11062
  const markFirstObserved = () => {
11039
11063
  recordActivity();
@@ -11056,21 +11080,23 @@ async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
11056
11080
  markFirstObserved();
11057
11081
  callbacks.onText(delta);
11058
11082
  },
11059
- ...callbacks.onThinking ? { onThinking(delta) {
11083
+ onThinking(delta) {
11060
11084
  if (settled) return;
11061
11085
  markFirstObserved();
11062
11086
  callbacks.onThinking?.(delta);
11063
- } } : {},
11064
- ...callbacks.onServerToolUse ? { onServerToolUse(block) {
11087
+ },
11088
+ onServerToolUse(block) {
11089
+ opts?.onServerToolActivity?.();
11065
11090
  if (settled) return;
11066
11091
  markFirstObserved();
11067
11092
  callbacks.onServerToolUse?.(block);
11068
- } } : {},
11069
- ...callbacks.onServerToolResult ? { onServerToolResult(block) {
11093
+ },
11094
+ onServerToolResult(block) {
11095
+ opts?.onServerToolActivity?.();
11070
11096
  if (settled) return;
11071
11097
  markFirstObserved();
11072
11098
  callbacks.onServerToolResult?.(block);
11073
- } } : {},
11099
+ },
11074
11100
  onToolCallDelta() {
11075
11101
  if (settled) return;
11076
11102
  markFirstObserved();
@@ -11078,7 +11104,7 @@ async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
11078
11104
  }
11079
11105
  });
11080
11106
  } catch (err) {
11081
- unlinkParentAbort();
11107
+ cleanup();
11082
11108
  throw err;
11083
11109
  }
11084
11110
  streamPromise.catch(() => {});
@@ -11086,7 +11112,7 @@ async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
11086
11112
  const failTimeout = (kind, timeoutMs) => {
11087
11113
  if (settled) return;
11088
11114
  settled = true;
11089
- const err = new OperationTimeoutError(`provider ${kind}`, timeoutMs, kind === "stream inactivity" ? `Provider stream timed out: no stream events for ${timeoutMs}ms (turn ${turnId}).` : `Provider stream timed out waiting for ${kind} after ${timeoutMs}ms (turn ${turnId}).`);
11115
+ const err = new OperationTimeoutError(PROVIDER_WATCHDOG_OPERATIONS[kind], timeoutMs, kind === "stream inactivity" ? `Provider stream timed out: no stream events for ${timeoutMs}ms (turn ${turnId}).` : `Provider stream timed out waiting for ${kind} after ${timeoutMs}ms (turn ${turnId}).`);
11090
11116
  attemptAbort.abort(err);
11091
11117
  cleanup();
11092
11118
  reject(err);
@@ -11131,11 +11157,12 @@ const ERROR_PLACEHOLDER_MAX = 280;
11131
11157
  * suffix. Falls back to the original generic placeholder when no message
11132
11158
  * can be extracted.
11133
11159
  */
11134
- function buildStreamErrorPlaceholder(err) {
11160
+ function buildStreamErrorPlaceholder(err, midOutput = false) {
11161
+ const prefix = midOutput ? "Streaming failed mid-output" : "Streaming failed before any output";
11135
11162
  const raw = errorMessage(err).trim();
11136
- if (raw.length === 0) return "[✗ Streaming failed before any output.]";
11163
+ if (raw.length === 0) return `[✗ ${prefix}.]`;
11137
11164
  const oneLine = raw.replace(/\s+/g, " ");
11138
- return `[✗ Streaming failed before any output: ${oneLine.length > ERROR_PLACEHOLDER_MAX ? `${oneLine.slice(0, ERROR_PLACEHOLDER_MAX - 1).trimEnd()}…` : oneLine}]`;
11165
+ return `[✗ ${prefix}: ${oneLine.length > ERROR_PLACEHOLDER_MAX ? `${oneLine.slice(0, ERROR_PLACEHOLDER_MAX - 1).trimEnd()}…` : oneLine}]`;
11139
11166
  }
11140
11167
  function buildCumulativeUsage(prior, turnUsage) {
11141
11168
  const cost = prior.priorCost + (turnUsage.cost ?? 0);
@@ -11588,6 +11615,7 @@ async function executeTurn(ctx, turn, priorUsage) {
11588
11615
  streamOptions.messages = ensureEndsWithUserMessage(streamOptions.messages, ctx.provider);
11589
11616
  let currentText = "";
11590
11617
  let currentThinking = "";
11618
+ let serverToolActivity = false;
11591
11619
  const streamStartedAt = Date.now();
11592
11620
  let turnTtftMs;
11593
11621
  const markTurnTtft = () => {
@@ -11650,15 +11678,20 @@ async function executeTurn(ctx, turn, priorUsage) {
11650
11678
  onOAuthRefresh(refreshCtx) {
11651
11679
  return ctx.hooks.callHook("oauth:refresh", refreshCtx);
11652
11680
  }
11653
- }, turnId, attempt > 1 ? { startTimeoutCapMs: RETRY_STREAM_START_TIMEOUT_CAP_MS } : void 0);
11681
+ }, turnId, {
11682
+ ...attempt > 1 ? { startTimeoutCapMs: RETRY_STREAM_START_TIMEOUT_CAP_MS } : {},
11683
+ onServerToolActivity: () => {
11684
+ serverToolActivity = true;
11685
+ }
11686
+ });
11654
11687
  break;
11655
11688
  } catch (caught) {
11656
11689
  let terminalErr = caught;
11657
11690
  let wasAborted = ctx.signal.aborted || caught instanceof Error && caught.name === "AbortError";
11658
11691
  const classified = !wasAborted ? ctx.provider.classifyError?.(caught) : null;
11659
11692
  const isRetryable = classified?.kind === "provider_error" && classified.retryable === true;
11660
- const cleanSlate = currentText === "" && currentThinking === "";
11661
- const isStreamWatchdogTimeout = !wasAborted && caught instanceof OperationTimeoutError && (caught.operation === "provider first response" || caught.operation === "provider total stream" || caught.operation === "provider stream inactivity");
11693
+ const cleanSlate = currentText === "" && currentThinking === "" && !serverToolActivity;
11694
+ const isStreamWatchdogTimeout = !wasAborted && caught instanceof OperationTimeoutError && PROVIDER_WATCHDOG_OPERATION_SET.has(caught.operation);
11662
11695
  const canRetry = !wasAborted && (isRetryable || isStreamWatchdogTimeout) && cleanSlate && attempt < retryCfg.maxAttempts;
11663
11696
  const retryAfterMs = canRetry ? extractRetryAfterMs(caught) : void 0;
11664
11697
  const hasNextTarget = ctx.targets !== void 0 && (ctx.activeTargetIndex ?? 0) + 1 < ctx.targets.length;
@@ -11766,13 +11799,10 @@ async function executeTurn(ctx, turn, priorUsage) {
11766
11799
  input: 0,
11767
11800
  output: 0
11768
11801
  };
11769
- const placeholderText = wasAborted ? "[⏹ Streaming was aborted.]" : buildStreamErrorPlaceholder(terminalErr);
11770
- const errorContent = currentText ? [{
11771
- type: "text",
11772
- text: currentText
11773
- }] : [{
11802
+ const placeholderText = wasAborted ? "[⏹ Streaming was aborted.]" : buildStreamErrorPlaceholder(terminalErr, currentText !== "");
11803
+ const errorContent = [{
11774
11804
  type: "text",
11775
- text: placeholderText
11805
+ text: currentText ? `${currentText}\n\n${placeholderText}` : placeholderText
11776
11806
  }];
11777
11807
  const errorTurn = {
11778
11808
  id: turnId,
@@ -15500,4 +15530,4 @@ function createAgent(rawOptions) {
15500
15530
  //#endregion
15501
15531
  export { buildExtensionRegistry as $, defaultExtensionScanPaths as $t, buildUpToCompactPrompt as A, listFiles as At, createExtensionPromptBridge as B, KEYBINDING_KEY_COL_WIDTH as Bt, BASE_INSTRUCTIONS as C, tailTruncate as Ct, buildFromCompactPrompt as D, createModelSearchTool as Dt, buildCompactPrompt as E, multiEdit as Et, summaryToTurn as F, validateToolArgs as Ft, parseExtensionInstallSource as G, matchesBinding as Gt, fetchExtensionSource as H, formatBindingForDisplay as Ht, truncateHeadForPtlRetry as I, resolveStorageDirs as It, updateInstalledExtension as J, readKeybindings as Jt, readExtensionInstallProvenance as K, mergeKeybindings as Kt, CompactInvalidInputError as L, DEFAULT_KEYBINDINGS as Lt, anchorPreviewFor as M, grep as Mt, sliceForCompaction as N, glob as Nt, buildFullCompactPrompt as O, formatModelLine as Ot, stripImagesFromTurns as P, edit as Pt, buildExtensionPreset as Q, ENTRY_CANDIDATES as Qt, CompactPromptTooLongError as R, KEYBINDING_DEFS as Rt, compactConversation as S, shell as St, TRAILER as T, looksBinary as Tt, installExtensionFromSpec as U, groupBindings as Ut, ExtensionInstallError as V, ensureKeybindingsFile as Vt, listExtensionCandidates as W, keybindingsPath as Wt, registerExtensionHostModules as X, resolveExtensionKeybindings as Xt, createExtensionHud as Y, readKeybindingsRaw as Yt, discoverAndBuildExtensionRegistry as Z, stripJsonComments as Zt, resolveTasksDir as _, shouldAutoCompact as _n, createSkillsUseTool as _t, SHELL_CASCADE_CANCEL_MESSAGE as a, defineExtension as an, createExtensionHostRuntimeBridge as at, selectFilesFromSession as b, normalizeShellCommand as bn, shellKill as bt, applyCompactSummaryCutoff as c, isValidExtensionConfigItem as cn, definePreset as ct, buildPersistedStub as d, resolveExtensionConfigValue as dn, writeFile$1 as dt, discoverExtensions as en, composeExtensionPreset as et, cleanupPersistedSession as f, sanitizeExtensionConfigActionPatch as fn, WAIT_TASK_TIMED_OUT_PREFIX as ft, resolvePersistDir as g, effectiveContextWindow as gn, isSpawnTool as gt, resolveMcpWarningsDir as h, OUTPUT_RESERVE_TOKENS as hn, createSpawnTool as ht, INTERRUPT_MESSAGE_FOR_TOOL_USE as i, scanExtensionDirectories as in, partitionExtensionCatalog as it, ANCHOR_PREVIEW_MAX_CHARS as j, createInteractionTool as jt, buildTailCompactPrompt as k, matchModelEntries as kt, PERSISTED_STUB_PREFIX as l, isValidExtensionConfigValue as ln, basicTools as lt, rehomePersistedStubs as m, AUTO_COMPACT_MIN_GROWTH_FRACTION as mn, createToolSearchTool as mt, normalizeProviders as n, isExtensionDefinition as nn, filterExtensionRegistry as nt, TOOL_USE_CANCELLED_MESSAGE as o, clampExtensionConfigNumber as on, createWorkspaceSurface as ot, maybePersistToolResult as p, toWireConfigSchema as pn, waitTask as pt, removeInstalledExtension as q, parseBindingSpec as qt, resolveModelTargets as r, parseExtensionScanPathEnv as rn, mergeContributions as rt, TOOL_USE_SKIPPED_MESSAGE as s, coerceExtensionConfigInput as sn, composePresets as st, createAgent as t, inlineLoadedExtension as tn, disposeExtensionRegistry as tt, PERSISTENCE_PREVIEW_BYTES as u, resolveExtensionConfig as un, basic_default as ut, buildPostCompactAttachments as v, defaultRepeatGuardNormalize as vn, createSkillsRunScriptTool as vt, NO_TOOLS_PREAMBLE as w, readFile$1 as wt, selectRecentFiles as x, stableStringify as xn, createShellTool as xt, selectFilesFromReadState as y, defaultRepeatGuardTracked as yn, createSkillsReadTool as yt, EMPTY_EXTENSION_REGISTRY as z, KEYBINDING_DEF_BY_ACTION as zt };
15502
15532
 
15503
- //# sourceMappingURL=agent-CHtfwiSc.js.map
15533
+ //# sourceMappingURL=agent-CdnYdiRY.js.map