zidane 6.2.26 → 6.2.27

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 (77) hide show
  1. package/dist/{acp-CNZqD1Fw.js → acp-R4-zVIud.js} +3 -3
  2. package/dist/{acp-CNZqD1Fw.js.map → acp-R4-zVIud.js.map} +1 -1
  3. package/dist/acp-cli.js +4 -4
  4. package/dist/acp.d.ts +1 -1
  5. package/dist/acp.js +1 -1
  6. package/dist/{agent--VPMZ0nT.js → agent-DIe8yzcb.js} +81 -19
  7. package/dist/{agent--VPMZ0nT.js.map → agent-DIe8yzcb.js.map} +1 -1
  8. package/dist/agent.d.ts +1 -1
  9. package/dist/agent.js +1 -1
  10. package/dist/{anthropic-uKvj1yle.js → anthropic-BEYY0hVK.js} +66 -10
  11. package/dist/anthropic-BEYY0hVK.js.map +1 -0
  12. package/dist/{auth-DIT_DMwa.js → auth-C4YPRDN4.js} +2 -2
  13. package/dist/{auth-DIT_DMwa.js.map → auth-C4YPRDN4.js.map} +1 -1
  14. package/dist/chat/pure.d.ts +3 -3
  15. package/dist/chat.d.ts +4 -4
  16. package/dist/chat.js +3 -3
  17. package/dist/contexts/daytona.d.ts +1 -1
  18. package/dist/contexts/e2b.d.ts +1 -1
  19. package/dist/eval.d.ts +1 -1
  20. package/dist/eval.js +1 -1
  21. package/dist/extensions.d.ts +1 -1
  22. package/dist/extensions.js +1 -1
  23. package/dist/headless.d.ts +1 -1
  24. package/dist/headless.js +3 -3
  25. package/dist/{index-AVZ6pYpi.d.ts → index-B6eBI_OD.d.ts} +102 -2
  26. package/dist/index-B6eBI_OD.d.ts.map +1 -0
  27. package/dist/index.d.ts +2 -2
  28. package/dist/index.js +5 -5
  29. package/dist/mcp.d.ts +1 -1
  30. package/dist/{messages-CvHfYB7f.js → messages-Dy9t7DbQ.js} +97 -6
  31. package/dist/messages-Dy9t7DbQ.js.map +1 -0
  32. package/dist/output/stream-json.d.ts +1 -1
  33. package/dist/output/terminal.d.ts +1 -1
  34. package/dist/presets.d.ts +1 -1
  35. package/dist/presets.js +1 -1
  36. package/dist/providers/anthropic.d.ts +1 -1
  37. package/dist/providers/anthropic.js +1 -1
  38. package/dist/providers/arcee.d.ts +1 -1
  39. package/dist/providers/baseten.d.ts +1 -1
  40. package/dist/providers/cerebras.d.ts +1 -1
  41. package/dist/providers/local.d.ts +1 -1
  42. package/dist/providers/openai-compat.d.ts +1 -1
  43. package/dist/providers/openai.d.ts +1 -1
  44. package/dist/providers/openai.js +4 -3
  45. package/dist/providers/openai.js.map +1 -1
  46. package/dist/providers/openrouter.d.ts +1 -1
  47. package/dist/providers/xai.d.ts +1 -1
  48. package/dist/providers.d.ts +1 -1
  49. package/dist/providers.js +1 -1
  50. package/dist/restate.d.ts +1 -1
  51. package/dist/session/sqlite.d.ts +1 -1
  52. package/dist/{session-jLsc_kMH.js → session-DkVnYGm9.js} +2 -2
  53. package/dist/{session-jLsc_kMH.js.map → session-DkVnYGm9.js.map} +1 -1
  54. package/dist/session.d.ts +1 -1
  55. package/dist/session.js +2 -2
  56. package/dist/skills.d.ts +1 -1
  57. package/dist/{tool-formatters-Dual3Hdl.d.ts → tool-formatters-DdchId_3.d.ts} +2 -2
  58. package/dist/{tool-formatters-Dual3Hdl.d.ts.map → tool-formatters-DdchId_3.d.ts.map} +1 -1
  59. package/dist/tools/fetch-url.d.ts +1 -1
  60. package/dist/tools/web-search.d.ts +1 -1
  61. package/dist/tools.d.ts +1 -1
  62. package/dist/tools.js +1 -1
  63. package/dist/{transcript-anchors-CnmxZ8QR.js → transcript-anchors-DOuzgpJx.js} +3 -3
  64. package/dist/{transcript-anchors-CnmxZ8QR.js.map → transcript-anchors-DOuzgpJx.js.map} +1 -1
  65. package/dist/{transcript-anchors-CG85bieG.d.ts → transcript-anchors-DvXLpbIc.d.ts} +2 -2
  66. package/dist/{transcript-anchors-CG85bieG.d.ts.map → transcript-anchors-DvXLpbIc.d.ts.map} +1 -1
  67. package/dist/tui.d.ts +3 -3
  68. package/dist/tui.js +12 -4
  69. package/dist/tui.js.map +1 -1
  70. package/dist/{turn-operations-BUYaSCL3.d.ts → turn-operations-HRTRJIcy.d.ts} +3 -3
  71. package/dist/{turn-operations-BUYaSCL3.d.ts.map → turn-operations-HRTRJIcy.d.ts.map} +1 -1
  72. package/dist/types-BIarq1qE.js.map +1 -1
  73. package/dist/types.d.ts +1 -1
  74. package/package.json +1 -1
  75. package/dist/anthropic-uKvj1yle.js.map +0 -1
  76. package/dist/index-AVZ6pYpi.d.ts.map +0 -1
  77. package/dist/messages-CvHfYB7f.js.map +0 -1
package/dist/acp-cli.js CHANGED
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
- import { It as resolveStorageDirs, ut as basic_default } from "./agent--VPMZ0nT.js";
2
+ import { It as resolveStorageDirs, ut as basic_default } from "./agent-DIe8yzcb.js";
3
3
  import { r as createProcessContext } from "./contexts-0rmrBhTK.js";
4
4
  import { createSandboxContext } from "./contexts/sandbox.js";
5
5
  import { m as openaiCompat } from "./openai-compat-pHI0kBWH.js";
6
- import { t as anthropic } from "./anthropic-uKvj1yle.js";
6
+ import { t as anthropic } from "./anthropic-BEYY0hVK.js";
7
7
  import { arcee } from "./providers/arcee.js";
8
8
  import { baseten } from "./providers/baseten.js";
9
9
  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-CNZqD1Fw.js";
14
- import { f as credKeyOf, i as readCredentials, l as BUILTIN_PROVIDERS, r as credentialsPath, t as detectAuth, y as modelsForDescriptor } from "./auth-DIT_DMwa.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-R4-zVIud.js";
14
+ import { f as credKeyOf, i as readCredentials, l as BUILTIN_PROVIDERS, r as credentialsPath, t as detectAuth, y as modelsForDescriptor } from "./auth-C4YPRDN4.js";
15
15
  import { createDaytonaProvider } from "./contexts/daytona.js";
16
16
  import { createDockerContext } from "./contexts/docker.js";
17
17
  import { createE2BProvider } from "./contexts/e2b.js";
package/dist/acp.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Li as AgentOptions, Md as AgentBehavior, Pf as TurnUsage, Pi as Agent, Tf as ToolResultContent, em as Provider, if as PromptPart, pf as SessionContentBlock, qd as McpServerConfig, rp as Session, sp as SessionStore, t as Preset, zf as ToolDef } from "./index-AVZ6pYpi.js";
1
+ import { Li as AgentOptions, Md as AgentBehavior, Pf as TurnUsage, Pi as Agent, Tf as ToolResultContent, if as PromptPart, pf as SessionContentBlock, qd as McpServerConfig, rm as Provider, rp as Session, sp as SessionStore, t as Preset, zf as ToolDef } from "./index-B6eBI_OD.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-CNZqD1Fw.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-R4-zVIud.js";
2
2
  export { AcpProtocolError, JsonRpcRemoteError, acpMcpServersToZidane, acpPromptToPromptParts, createAcpServer, createJsonRpcConnection, runAcpStdioServer, sessionBlocksToAcp, stopReasonFromRun, toolResultToAcpContent, withAcpDefaultTools, wrapToolsForAcpClient };
@@ -17,8 +17,8 @@ import { n as reconcileImageMediaType } from "./media-sniff-Bn76JxAu.js";
17
17
  import { c as wrapDiscoveredMcpTools, i as nonOwningMcpView, n as connectMcpServers, r as deriveMcpToolMeta } from "./mcp-H6bqyM94.js";
18
18
  import { C as canonicalizePrompt, S as buildPromptMessage } from "./openai-compat-pHI0kBWH.js";
19
19
  import { appendStaticSection, renderSystemForWire } from "./prompt.js";
20
- import { a as detectTurnInterruption, c as filterUnresolvedToolUses, d as remintDuplicateToolCallIds, f as resolveContentRefsInMessages, n as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, o as ensureEndsWithUserMessage, s as ensureToolResultPairing } from "./messages-CvHfYB7f.js";
21
- import { a as getExtensionSessionState, c as setExtensionSessionState, l as withExtensionSession, n as currentExtensionSession, r as deleteExtensionSessionState, s as resumeChainRunIds } from "./session-jLsc_kMH.js";
20
+ import { a as detectTurnInterruption, c as filterUnresolvedToolUses, f as remintDuplicateToolCallIds, n as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, o as ensureEndsWithUserMessage, p as resolveContentRefsInMessages, s as ensureToolResultPairing } from "./messages-Dy9t7DbQ.js";
21
+ import { a as getExtensionSessionState, c as setExtensionSessionState, l as withExtensionSession, n as currentExtensionSession, r as deleteExtensionSessionState, s as resumeChainRunIds } from "./session-DkVnYGm9.js";
22
22
  import { n as flattenTurns, r as formatTokenUsage, t as effectiveInputFromTurn } from "./stats-DAKBEKjc.js";
23
23
  import { a as withInactivityTimeout, i as settleWithinTimeout, n as linkAbortSignal, o as withTimeout$1, r as resolveTimeoutMs, t as OperationTimeoutError } from "./timeout-BDetbuN6.js";
24
24
  import { createRequire } from "node:module";
@@ -9495,7 +9495,14 @@ async function releaseReplacedTurnContent(turns, replacedTurnIds, opts) {
9495
9495
  };
9496
9496
  if (replacedTurnIds.size === 0 || !isAbsolute(opts.persistDir)) return result;
9497
9497
  const minBytes = opts.minBytes ?? 2048;
9498
+ const maxDirBytes = opts.maxDirBytes ?? 268435456;
9498
9499
  const blobDir = join(opts.persistDir, RELEASED_BLOB_SUBDIR);
9500
+ let dirBytes = 0;
9501
+ try {
9502
+ for (const entry of await readdir(blobDir)) try {
9503
+ dirBytes += (await stat(join(blobDir, entry))).size;
9504
+ } catch {}
9505
+ } catch {}
9499
9506
  const replaced = turns.filter((t) => t.id !== void 0 && replacedTurnIds.has(t.id));
9500
9507
  const toolNameByCallId = /* @__PURE__ */ new Map();
9501
9508
  for (const turn of replaced) for (const block of turn.content) if (block.type === "tool_call") toolNameByCallId.set(block.id, block.name);
@@ -9517,10 +9524,14 @@ async function releaseReplacedTurnContent(turns, replacedTurnIds, opts) {
9517
9524
  } catch {
9518
9525
  exists = false;
9519
9526
  }
9520
- if (!exists) try {
9521
- await writeAtomic(persistedPath, text);
9522
- } catch {
9523
- continue;
9527
+ if (!exists) {
9528
+ if (dirBytes + bytes > maxDirBytes) continue;
9529
+ try {
9530
+ await writeAtomic(persistedPath, text);
9531
+ dirBytes += bytes;
9532
+ } catch {
9533
+ continue;
9534
+ }
9524
9535
  }
9525
9536
  turn.content[i] = {
9526
9537
  ...block,
@@ -10830,10 +10841,15 @@ function stripInvalidAnthropicThinking(content) {
10830
10841
  };
10831
10842
  }
10832
10843
  /**
10833
- * Permanently quarantine historical Anthropic reasoning after the API proves
10834
- * its opaque signature is invalid. Runtime turns and the bound session are
10835
- * separate arrays on resume, so repair both; persist the session with its
10836
- * full turn set (including child runs invisible to the parent runtime).
10844
+ * Quarantine historical Anthropic reasoning after the API proves its opaque
10845
+ * signature is invalid. Runtime turns and the bound session are separate
10846
+ * arrays on resume, so repair both — IN MEMORY ONLY. Durable persistence
10847
+ * (`session.save()`) is deliberately deferred to the stream-settle boundary
10848
+ * in {@link streamWithWatchdogs}: this function runs inside the provider's
10849
+ * `stream()` call stack, where durable-execution hosts (e.g. Restate
10850
+ * journaling the provider call) cannot touch their context — an inline
10851
+ * save would silently no-op there and the session would re-poison on every
10852
+ * run.
10837
10853
  *
10838
10854
  * Turns minted by the CURRENT run are never touched: their signatures are
10839
10855
  * fresh (same account/model that is streaming right now), and Anthropic
@@ -10841,7 +10857,8 @@ function stripInvalidAnthropicThinking(content) {
10841
10857
  * stripping them would trade one 400 for another. An invalid signature is
10842
10858
  * by definition historical (prior run, prior account, or a session edit).
10843
10859
  */
10844
- async function repairInvalidAnthropicThinkingHistory(ctx, streamOptions, repair) {
10860
+ function repairInvalidAnthropicThinkingHistory(ctx, streamOptions, repair) {
10861
+ const turnIds = /* @__PURE__ */ new Set();
10845
10862
  let removed = 0;
10846
10863
  for (const turn of ctx.turns) {
10847
10864
  if (turn.runId === ctx.runId) continue;
@@ -10849,6 +10866,7 @@ async function repairInvalidAnthropicThinkingHistory(ctx, streamOptions, repair)
10849
10866
  if (scrubbed.removed === 0) continue;
10850
10867
  turn.content = scrubbed.content;
10851
10868
  removed += scrubbed.removed;
10869
+ if (turn.id !== void 0) turnIds.add(turn.id);
10852
10870
  }
10853
10871
  const limit = repair.wireMessageIndex;
10854
10872
  streamOptions.messages = streamOptions.messages.map((message, index) => {
@@ -10860,34 +10878,72 @@ async function repairInvalidAnthropicThinkingHistory(ctx, streamOptions, repair)
10860
10878
  } : message;
10861
10879
  });
10862
10880
  const session = ctx.session;
10863
- if (!session) return removed;
10881
+ if (!session) return {
10882
+ removed,
10883
+ turnIds
10884
+ };
10864
10885
  let sessionRemoved = 0;
10865
10886
  const sessionTurns = session.turns.map((turn) => {
10866
10887
  if (turn.runId === ctx.runId) return turn;
10867
10888
  const scrubbed = stripInvalidAnthropicThinking(turn.content);
10868
10889
  sessionRemoved += scrubbed.removed;
10890
+ if (scrubbed.removed > 0 && turn.id !== void 0) turnIds.add(turn.id);
10869
10891
  return scrubbed.removed > 0 ? {
10870
10892
  ...turn,
10871
10893
  content: scrubbed.content
10872
10894
  } : turn;
10873
10895
  });
10874
- if (sessionRemoved === 0 && removed === 0) return 0;
10896
+ if (sessionRemoved === 0 && removed === 0) return {
10897
+ removed: 0,
10898
+ turnIds
10899
+ };
10875
10900
  session.setTurns(sessionTurns);
10876
- try {
10877
- await session.save();
10901
+ return {
10902
+ removed: removed + sessionRemoved,
10903
+ turnIds
10904
+ };
10905
+ }
10906
+ /**
10907
+ * Flush a deferred thinking-signature repair at the stream-settle boundary:
10908
+ * persist the already-repaired session and fire the host-facing
10909
+ * `history:repair` hook. Runs OUTSIDE the provider call stack (safe for
10910
+ * journaled hosts) and on both stream outcomes — a scrubbed block is
10911
+ * invalid regardless of whether the retry ultimately succeeded, and
10912
+ * persisting prevents the next run from re-poisoning.
10913
+ */
10914
+ async function flushThinkingRepair(ctx, pending) {
10915
+ let persisted = false;
10916
+ if (ctx.session?.store) try {
10917
+ await ctx.session.save();
10918
+ persisted = true;
10878
10919
  } catch (err) {
10879
10920
  if (process.env.ZIDANE_DEBUG) process.stderr.write(`[zidane/loop] persisting thinking-signature repair failed: ${errorMessage(err)}\n`);
10880
10921
  }
10881
- return Math.max(removed, sessionRemoved);
10922
+ await settledHook(ctx, "hook history:repair", ctx.hooks.callHook("history:repair", {
10923
+ reason: "invalid-anthropic-thinking-signature",
10924
+ runId: ctx.runId,
10925
+ ...ctx.session ? { sessionId: ctx.session.id } : {},
10926
+ turnIds: [...pending.turnIds],
10927
+ removedBlocks: pending.removed,
10928
+ persisted
10929
+ }));
10882
10930
  }
10883
10931
  async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
10884
10932
  let { startTimeoutMs, totalTimeoutMs } = providerWatchdogTimeouts(ctx);
10885
10933
  if (opts?.startTimeoutCapMs !== void 0 && startTimeoutMs > 0) startTimeoutMs = Math.min(startTimeoutMs, opts.startTimeoutCapMs);
10886
10934
  const callerHistoryRepair = callbacks.onHistoryRepair;
10935
+ let pendingRepair;
10887
10936
  callbacks = {
10888
10937
  ...callbacks,
10889
10938
  async onHistoryRepair(repair) {
10890
- if (repair.type === "invalid-anthropic-thinking-signature") await repairInvalidAnthropicThinkingHistory(ctx, options, repair);
10939
+ if (repair.type === "invalid-anthropic-thinking-signature") {
10940
+ const result = repairInvalidAnthropicThinkingHistory(ctx, options, repair);
10941
+ if (result.removed > 0) if (pendingRepair === void 0) pendingRepair = result;
10942
+ else {
10943
+ pendingRepair.removed += result.removed;
10944
+ for (const id of result.turnIds) pendingRepair.turnIds.add(id);
10945
+ }
10946
+ }
10891
10947
  await callerHistoryRepair?.(repair);
10892
10948
  }
10893
10949
  };
@@ -10948,7 +11004,7 @@ async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
10948
11004
  throw err;
10949
11005
  }
10950
11006
  streamPromise.catch(() => {});
10951
- return await new Promise((resolve, reject) => {
11007
+ const raced = new Promise((resolve, reject) => {
10952
11008
  const failTimeout = (kind, timeoutMs) => {
10953
11009
  if (settled) return;
10954
11010
  settled = true;
@@ -10975,6 +11031,11 @@ async function streamWithWatchdogs(ctx, options, callbacks, turnId, opts) {
10975
11031
  reject(err);
10976
11032
  });
10977
11033
  });
11034
+ try {
11035
+ return await raced;
11036
+ } finally {
11037
+ if (pendingRepair !== void 0) await flushThinkingRepair(ctx, pendingRepair);
11038
+ }
10978
11039
  }
10979
11040
  /** Max bytes of provider error text inlined into the assistant turn placeholder. */
10980
11041
  const ERROR_PLACEHOLDER_MAX = 280;
@@ -13244,6 +13305,7 @@ const HOOK_EVENT_SET = /* @__PURE__ */ new Set([
13244
13305
  "compact:start",
13245
13306
  "compact:progress",
13246
13307
  "compact:end",
13308
+ "history:repair",
13247
13309
  "oauth:refresh",
13248
13310
  "content-ref:resolve",
13249
13311
  "tool:gate",
@@ -15353,4 +15415,4 @@ function createAgent(rawOptions) {
15353
15415
  //#endregion
15354
15416
  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 };
15355
15417
 
15356
- //# sourceMappingURL=agent--VPMZ0nT.js.map
15418
+ //# sourceMappingURL=agent-DIe8yzcb.js.map