zidane 8.2.1 → 8.2.3

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 (187) hide show
  1. package/dist/acp-cli.js +8 -8
  2. package/dist/{acp-D7Pr8NGt.js → acp-oYRjlh71.js} +6 -6
  3. package/dist/{acp-D7Pr8NGt.js.map → acp-oYRjlh71.js.map} +1 -1
  4. package/dist/acp.d.ts +2 -2
  5. package/dist/acp.js +1 -1
  6. package/dist/{agent-DecDtKA_.js → agent-CBQglXtH.js} +9 -379
  7. package/dist/agent-CBQglXtH.js.map +1 -0
  8. package/dist/agent.d.ts +1 -1
  9. package/dist/agent.js +1 -1
  10. package/dist/{builtin-artifact-kinds-B_OEgf8b.js → builtin-artifact-kinds-BmorPkgz.js} +36 -9
  11. package/dist/builtin-artifact-kinds-BmorPkgz.js.map +1 -0
  12. package/dist/chat/pure.d.ts +4 -4
  13. package/dist/chat/pure.js +6 -6
  14. package/dist/chat.d.ts +4 -4
  15. package/dist/chat.js +15 -15
  16. package/dist/{cli-shared-Dx4vmif6.js → cli-shared-E5m_pI8A.js} +2 -2
  17. package/dist/{cli-shared-Dx4vmif6.js.map → cli-shared-E5m_pI8A.js.map} +1 -1
  18. package/dist/{client-core-imHuBWV3.d.ts → client-core-EEEX_u6D.d.ts} +24 -5
  19. package/dist/{client-core-imHuBWV3.d.ts.map → client-core-EEEX_u6D.d.ts.map} +1 -1
  20. package/dist/{connection-loop-CdHt3iQi.d.ts → connection-loop-CpgfUmuw.d.ts} +3 -3
  21. package/dist/{connection-loop-CdHt3iQi.d.ts.map → connection-loop-CpgfUmuw.d.ts.map} +1 -1
  22. package/dist/contexts/daytona.d.ts +1 -1
  23. package/dist/contexts/e2b.d.ts +1 -1
  24. package/dist/{credentials-Dti61yoi.js → credentials-B9DfBJP9.js} +11 -7
  25. package/dist/credentials-B9DfBJP9.js.map +1 -0
  26. package/dist/daemon-cli.js +2 -2
  27. package/dist/{dispatcher-vy3J6JMA.js → dispatcher-Bv9-c6I2.js} +28 -14
  28. package/dist/dispatcher-Bv9-c6I2.js.map +1 -0
  29. package/dist/{engine-BN6PjWAW.js → engine-XmoPPB6U.js} +5 -5
  30. package/dist/{engine-BN6PjWAW.js.map → engine-XmoPPB6U.js.map} +1 -1
  31. package/dist/{eval-BaJtxLCW.js → eval-CfQlBR81.js} +2 -2
  32. package/dist/{eval-BaJtxLCW.js.map → eval-CfQlBR81.js.map} +1 -1
  33. package/dist/eval.d.ts +1 -1
  34. package/dist/eval.js +1 -1
  35. package/dist/{executor-CT4oUkg6.js → executor-BhthPE1q.js} +3 -3
  36. package/dist/{executor-CT4oUkg6.js.map → executor-BhthPE1q.js.map} +1 -1
  37. package/dist/{extensions-BKt7lxxv.js → extensions-BgBwogRW.js} +114 -113
  38. package/dist/extensions-BgBwogRW.js.map +1 -0
  39. package/dist/extensions.d.ts +1 -1
  40. package/dist/extensions.js +2 -2
  41. package/dist/{fold-rules-BYedvsH7.d.ts → fold-rules-DSypi36k.d.ts} +2 -2
  42. package/dist/{fold-rules-BYedvsH7.d.ts.map → fold-rules-DSypi36k.d.ts.map} +1 -1
  43. package/dist/google-O6pRnddf.js +881 -0
  44. package/dist/google-O6pRnddf.js.map +1 -0
  45. package/dist/{headless-Ebd1ZEzC.js → headless-R4pbpTkm.js} +3 -3
  46. package/dist/{headless-Ebd1ZEzC.js.map → headless-R4pbpTkm.js.map} +1 -1
  47. package/dist/headless.d.ts +1 -1
  48. package/dist/headless.js +1 -1
  49. package/dist/{host-scoped-settings-Cy_zbmB_.js → host-scoped-settings-C-Nmb6vr.js} +2 -2
  50. package/dist/{host-scoped-settings-Cy_zbmB_.js.map → host-scoped-settings-C-Nmb6vr.js.map} +1 -1
  51. package/dist/{host-signals-Cx2IAbHh.js → host-signals-BFudPyCT.js} +5 -5
  52. package/dist/{host-signals-Cx2IAbHh.js.map → host-signals-BFudPyCT.js.map} +1 -1
  53. package/dist/{index-pc71ADi6.d.ts → index-AqRZ3gEz.d.ts} +71 -4
  54. package/dist/index-AqRZ3gEz.d.ts.map +1 -0
  55. package/dist/{index-Bt_G2Z_2.d.ts → index-CDS7YdUC.d.ts} +5 -5
  56. package/dist/{index-Bt_G2Z_2.d.ts.map → index-CDS7YdUC.d.ts.map} +1 -1
  57. package/dist/{index-CidMTcxS.d.ts → index-DyQyDLX1.d.ts} +167 -10
  58. package/dist/index-DyQyDLX1.d.ts.map +1 -0
  59. package/dist/index.d.ts +3 -3
  60. package/dist/index.js +15 -15
  61. package/dist/ipc/remote.d.ts +5 -5
  62. package/dist/ipc/remote.js +3 -3
  63. package/dist/ipc.d.ts +5 -5
  64. package/dist/ipc.js +7 -7
  65. package/dist/{links-DSZ4uQ5w.js → links-rFaWqS2Y.js} +10 -10
  66. package/dist/{links-DSZ4uQ5w.js.map → links-rFaWqS2Y.js.map} +1 -1
  67. package/dist/{mcp-allowlist-BQ5MvhHi.js → mcp-allowlist-CLXweyxk.js} +14 -3
  68. package/dist/mcp-allowlist-CLXweyxk.js.map +1 -0
  69. package/dist/mcp.d.ts +1 -1
  70. package/dist/{oauth-BSqXgads.js → oauth-7_48zR7n.js} +226 -40
  71. package/dist/oauth-7_48zR7n.js.map +1 -0
  72. package/dist/{openai-dTmPxM6T.js → openai-Rh6u5NXF.js} +121 -2
  73. package/dist/openai-Rh6u5NXF.js.map +1 -0
  74. package/dist/{openrouter-CtZbQDa0.js → openrouter-Dg0yaI-o.js} +91 -2
  75. package/dist/openrouter-Dg0yaI-o.js.map +1 -0
  76. package/dist/output/stream-json.d.ts +1 -1
  77. package/dist/output/terminal.d.ts +1 -1
  78. package/dist/plugins.d.ts +1 -1
  79. package/dist/{presets-EzlHyFSi.js → presets-DXeHsd24.js} +3 -3
  80. package/dist/{presets-EzlHyFSi.js.map → presets-DXeHsd24.js.map} +1 -1
  81. package/dist/presets.d.ts +1 -1
  82. package/dist/presets.js +1 -1
  83. package/dist/{prompts-D2lPHLOV.d.ts → prompts-DmY13jvF.d.ts} +2 -1
  84. package/dist/prompts-DmY13jvF.d.ts.map +1 -0
  85. package/dist/protocol-BIv1Yuvl.js.map +1 -1
  86. package/dist/providers/anthropic.d.ts +1 -1
  87. package/dist/providers/arcee.d.ts +1 -1
  88. package/dist/providers/baseten.d.ts +1 -1
  89. package/dist/providers/cerebras.d.ts +1 -1
  90. package/dist/providers/google.d.ts +1 -1
  91. package/dist/providers/google.js +1 -784
  92. package/dist/providers/local.d.ts +1 -1
  93. package/dist/providers/neuralwatt.d.ts +1 -1
  94. package/dist/providers/openai-compat.d.ts +1 -1
  95. package/dist/providers/openai.d.ts +1 -1
  96. package/dist/providers/openai.js +1 -1
  97. package/dist/providers/openrouter.d.ts +1 -1
  98. package/dist/providers/openrouter.js +1 -1
  99. package/dist/providers/xai.d.ts +1 -1
  100. package/dist/providers/xai.js +1 -101
  101. package/dist/providers.d.ts +2 -2
  102. package/dist/providers.js +6 -5
  103. package/dist/{registry-BBaEgTsX.js → registry-eourRLY2.js} +3 -3
  104. package/dist/{registry-BBaEgTsX.js.map → registry-eourRLY2.js.map} +1 -1
  105. package/dist/{remote-hosts-bO7wOt44.js → remote-hosts-DY2J07ut.js} +4 -4
  106. package/dist/{remote-hosts-bO7wOt44.js.map → remote-hosts-DY2J07ut.js.map} +1 -1
  107. package/dist/restate.d.ts +1 -1
  108. package/dist/{secret-shapes-Cda65uDH.js → secret-shapes-BjW4l6U0.js} +17 -3
  109. package/dist/secret-shapes-BjW4l6U0.js.map +1 -0
  110. package/dist/session/sqlite.d.ts +1 -1
  111. package/dist/{session-factory-BazyVdzj.js → session-factory-CMwIXE-7.js} +5 -5
  112. package/dist/{session-factory-BazyVdzj.js.map → session-factory-CMwIXE-7.js.map} +1 -1
  113. package/dist/session.d.ts +1 -1
  114. package/dist/{settings-keys-zYaer8DY.js → settings-keys-CPdmkTz7.js} +3 -3
  115. package/dist/{settings-keys-zYaer8DY.js.map → settings-keys-CPdmkTz7.js.map} +1 -1
  116. package/dist/{shell-path-od9XHRPt.js → shell-path-B8b3EOtK.js} +3 -3
  117. package/dist/{shell-path-od9XHRPt.js.map → shell-path-B8b3EOtK.js.map} +1 -1
  118. package/dist/{skills-use-D68a1gyZ.js → skills-use-CssTEaIj.js} +375 -2
  119. package/dist/skills-use-CssTEaIj.js.map +1 -0
  120. package/dist/skills.d.ts +1 -1
  121. package/dist/store-L01W0gGI.js.map +1 -1
  122. package/dist/{system-freeze-DXvJpveP.js → system-freeze-Um9ZJiPo.js} +24 -9
  123. package/dist/system-freeze-Um9ZJiPo.js.map +1 -0
  124. package/dist/{todo-edits-CmqNFvLJ.js → todo-edits-BERpCRPj.js} +3 -3
  125. package/dist/{todo-edits-CmqNFvLJ.js.map → todo-edits-BERpCRPj.js.map} +1 -1
  126. package/dist/tools/fetch-url.d.ts +1 -1
  127. package/dist/tools/prompts.d.ts +1 -1
  128. package/dist/tools/prompts.js +7 -0
  129. package/dist/tools/prompts.js.map +1 -1
  130. package/dist/tools/web-search.d.ts +1 -1
  131. package/dist/{tools-9Dpm8F-f.js → tools-pZVFIJ_K.js} +273 -2
  132. package/dist/tools-pZVFIJ_K.js.map +1 -0
  133. package/dist/tools.d.ts +3 -3
  134. package/dist/tools.js +4 -4
  135. package/dist/{transcript-anchors-B3TFJqr_.js → transcript-anchors-jHrg-r-H.js} +10 -10
  136. package/dist/{transcript-anchors-B3TFJqr_.js.map → transcript-anchors-jHrg-r-H.js.map} +1 -1
  137. package/dist/{transcript-reconcile-BC2DbTmp.js → transcript-reconcile-CPdrNbbR.js} +19 -2
  138. package/dist/{transcript-reconcile-BC2DbTmp.js.map → transcript-reconcile-CPdrNbbR.js.map} +1 -1
  139. package/dist/tui.d.ts +7 -7
  140. package/dist/tui.js +25 -23
  141. package/dist/tui.js.map +1 -1
  142. package/dist/{turn-operations-CIFoOebZ.d.ts → turn-operations-DuGtKuc_.d.ts} +10 -3
  143. package/dist/turn-operations-DuGtKuc_.d.ts.map +1 -0
  144. package/dist/{types-iFLlZKd0.d.ts → types-C0PJmBaO.d.ts} +2 -2
  145. package/dist/{types-iFLlZKd0.d.ts.map → types-C0PJmBaO.d.ts.map} +1 -1
  146. package/dist/types-JzccL5GE.js +24 -0
  147. package/dist/types-JzccL5GE.js.map +1 -0
  148. package/dist/types.d.ts +2 -2
  149. package/dist/{url-BTH-HE9Y.js → url-D8KZ7Edw.js} +2 -2
  150. package/dist/{url-BTH-HE9Y.js.map → url-D8KZ7Edw.js.map} +1 -1
  151. package/dist/{version-4T82xRxQ.js → version-bd3DQJkc.js} +2 -2
  152. package/dist/{version-4T82xRxQ.js.map → version-bd3DQJkc.js.map} +1 -1
  153. package/dist/wire-DH77Z-rr.js +80 -0
  154. package/dist/wire-DH77Z-rr.js.map +1 -0
  155. package/dist/{workspace-exec-stream-By8na6vz.js → workspace-exec-stream-CyfYgqAh.js} +4 -4
  156. package/dist/{workspace-exec-stream-By8na6vz.js.map → workspace-exec-stream-CyfYgqAh.js.map} +1 -1
  157. package/dist/{write-file-B4vi3SvQ.js → write-file-QYrcDdl3.js} +3 -3
  158. package/dist/{write-file-B4vi3SvQ.js.map → write-file-QYrcDdl3.js.map} +1 -1
  159. package/dist/{ws-CS312Jpx.js → ws-CURQ2igk.js} +5 -5
  160. package/dist/{ws-CS312Jpx.js.map → ws-CURQ2igk.js.map} +1 -1
  161. package/dist/{ws-client-wWka-Jku.js → ws-client-BVljYbdb.js} +3 -3
  162. package/dist/{ws-client-wWka-Jku.js.map → ws-client-BVljYbdb.js.map} +1 -1
  163. package/dist/xai-CStTwCV2.js +182 -0
  164. package/dist/xai-CStTwCV2.js.map +1 -0
  165. package/docs/ARCHITECTURE.md +1 -0
  166. package/docs/ARTIFACTS.md +1 -1
  167. package/docs/EXTENSIONS.md +9 -5
  168. package/package.json +2 -2
  169. package/dist/agent-DecDtKA_.js.map +0 -1
  170. package/dist/builtin-artifact-kinds-B_OEgf8b.js.map +0 -1
  171. package/dist/credentials-Dti61yoi.js.map +0 -1
  172. package/dist/dispatcher-vy3J6JMA.js.map +0 -1
  173. package/dist/extensions-BKt7lxxv.js.map +0 -1
  174. package/dist/index-CidMTcxS.d.ts.map +0 -1
  175. package/dist/index-pc71ADi6.d.ts.map +0 -1
  176. package/dist/mcp-allowlist-BQ5MvhHi.js.map +0 -1
  177. package/dist/oauth-BSqXgads.js.map +0 -1
  178. package/dist/openai-dTmPxM6T.js.map +0 -1
  179. package/dist/openrouter-CtZbQDa0.js.map +0 -1
  180. package/dist/prompts-D2lPHLOV.d.ts.map +0 -1
  181. package/dist/providers/google.js.map +0 -1
  182. package/dist/providers/xai.js.map +0 -1
  183. package/dist/secret-shapes-Cda65uDH.js.map +0 -1
  184. package/dist/skills-use-D68a1gyZ.js.map +0 -1
  185. package/dist/system-freeze-DXvJpveP.js.map +0 -1
  186. package/dist/tools-9Dpm8F-f.js.map +0 -1
  187. package/dist/turn-operations-CIFoOebZ.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { A as installCacheBreakLogger, C as resolveMcpWarningsDir, E as resolveTasksDir, L as OUTPUT_RESERVE_TOKENS, R as effectiveContextWindow, l as TOOL_USE_CANCELLED_MESSAGE, n as createAgent, o as stableStringify, ot as createDecider, w as resolvePersistDir, y as migrateSessionArtifactDirs } from "./agent-DecDtKA_.js";
1
+ import { A as installCacheBreakLogger, C as resolveMcpWarningsDir, E as resolveTasksDir, L as OUTPUT_RESERVE_TOKENS, R as effectiveContextWindow, l as TOOL_USE_CANCELLED_MESSAGE, n as createAgent, o as stableStringify, ot as createDecider, w as resolvePersistDir, y as migrateSessionArtifactDirs } from "./agent-CBQglXtH.js";
2
2
  import { a as AgentProviderError, p as errorMessage$1, x as runErrorDetail } from "./errors-C3z7pmOx.js";
3
3
  import { n as isThinkingLevel } from "./thinking-levels-Bj4LIY33.js";
4
4
  import { l as toolResultToText } from "./types-CzmghX7C.js";
@@ -23,36 +23,37 @@ import { r as unwrapCallTool } from "./call-tool-6szvNmQR.js";
23
23
  import { r as toolErrorText, t as ToolFailure } from "./failure-_rDKdaLk.js";
24
24
  import { t as effectiveInputFromTurn } from "./stats-Bmj46D4h.js";
25
25
  import { f as generateStructuredData, o as createFileGithubStateStore } from "./src-B8dW-xgG.js";
26
- import { d as withIsolatedSpawnTool } from "./write-file-B4vi3SvQ.js";
26
+ import { p as withIsolatedSpawnTool } from "./write-file-QYrcDdl3.js";
27
27
  import { c as formatCount, f as formatTaskSummary, p as previewLine, u as formatElapsed } from "./format-YgaIcuQ5.js";
28
28
  import { _ as createCommandRunRecord, b as parseCommandInvocation, h as commandBlocksToContent, i as renderTurnsForPrompt, m as commandBlockToEvent, o as textBodyOf, r as generateSessionTitle, v as executeCommand, y as mergeCommands } from "./inline-ghost-D-TefgOp.js";
29
29
  import { t as mergeReplyText } from "./reply-text-Qkc6DtEt.js";
30
30
  import { m as createModelSearchTool } from "./spawn-result-B4vmHy7T.js";
31
- import { i as loadMarkdownCommands, n as applyMarkdownSubagents, r as loadMarkdownAgents } from "./headless-Ebd1ZEzC.js";
31
+ import { i as loadMarkdownCommands, n as applyMarkdownSubagents, r as loadMarkdownAgents } from "./headless-R4pbpTkm.js";
32
32
  import { t as projectUserPaths } from "./project-user-paths-DWqZyUgb.js";
33
33
  import { F as createGithubClient, L as githubClient, N as clockTime, P as configureGithubClient, n as EMPTY_EXTENSION_REGISTRY } from "./row-fields-F0tyvIgg.js";
34
- import { r as artifacts_default } from "./presets-EzlHyFSi.js";
35
- import { _ as readSkillEditMarker, a as sectionDigest, b as withZidaneSkillEditSkill, c as EXTENSION_EDIT_METADATA_KEY, d as ZIDANE_SKILL_EDIT_SKILL_NAME, h as extensionDirForCwd, i as latestSystemSnapshot, l as SKILL_EDIT_METADATA_KEY, n as announcedDigest, o as sectionDigests, r as catalogChangeNotes, s as systemSnapshotTurn, u as ZIDANE_EXTENSION_SKILL_NAME, y as withZidaneExtensionSkill } from "./system-freeze-DXvJpveP.js";
36
- import { F as readKeybindingsRaw, I as resolveExtensionKeybindings, M as mergeKeybindings, m as filterRegistryPlugins } from "./extensions-BKt7lxxv.js";
34
+ import { r as artifacts_default } from "./presets-DXeHsd24.js";
35
+ import { _ as readSkillEditMarker, a as sectionDigest, b as withZidaneSkillEditSkill, c as EXTENSION_EDIT_METADATA_KEY, d as ZIDANE_SKILL_EDIT_SKILL_NAME, h as extensionDirForCwd, i as latestSystemSnapshot, l as SKILL_EDIT_METADATA_KEY, n as announcedDigest, o as sectionDigests, r as catalogChangeNotes, s as systemSnapshotTurn, u as ZIDANE_EXTENSION_SKILL_NAME, y as withZidaneExtensionSkill } from "./system-freeze-Um9ZJiPo.js";
36
+ import { F as readKeybindingsRaw, I as resolveExtensionKeybindings, M as mergeKeybindings, m as filterRegistryPlugins } from "./extensions-BgBwogRW.js";
37
37
  import { r as createLogger, t as consoleSink } from "./logger-RZVCk9Ow.js";
38
38
  import { t as resolveStorageDirs } from "./xdg-CJS70jqe.js";
39
39
  import { n as defaultPluginDataRoot, r as loadAgentPlugin } from "./plugins-DXef5Hbf.js";
40
40
  import { n as sanitizeProviderDiagnosticMetadata, o as THINKING_BINDING_SETTING_ENV, s as anthropicEffortForLevel } from "./anthropic-sonllteP.js";
41
- import { $ as buildPlanSystem, C as sessionComposition, I as pruneTodosByRun, L as sanitizeTodoItems, P as isTodoTool, Q as buildBuildSystem, R as selectActiveTodos, S as resolveAgentId, a as forkSession, et as envSection, g as builtInPromptOf, h as availableAgents, l as BUILTIN_AGENTS, m as READ_ONLY_TOOLS, n as createSessionInStore, nt as replaceEnvSection, r as deleteSessionData, tt as envSectionDate, u as DEFAULT_AGENT_ID, v as compositionFits, w as singleAgentRegistry, x as profileTools, y as compositionTools, z as setTodosForRun } from "./session-factory-BazyVdzj.js";
41
+ import { a as createGenerateImageTool } from "./tools-pZVFIJ_K.js";
42
+ import { $ as buildPlanSystem, C as sessionComposition, I as pruneTodosByRun, L as sanitizeTodoItems, P as isTodoTool, Q as buildBuildSystem, R as selectActiveTodos, S as resolveAgentId, a as forkSession, et as envSection, g as builtInPromptOf, h as availableAgents, l as BUILTIN_AGENTS, m as READ_ONLY_TOOLS, n as createSessionInStore, nt as replaceEnvSection, r as deleteSessionData, tt as envSectionDate, u as DEFAULT_AGENT_ID, v as compositionFits, w as singleAgentRegistry, x as profileTools, y as compositionTools, z as setTodosForRun } from "./session-factory-CMwIXE-7.js";
42
43
  import { _ as workspacePath, c as environmentMetadata, d as probeEnvironment, f as readSessionEnvironment, g as verifyEnvironment, h as teardownSessionEnvironment, i as assertEnvironmentReady, l as environmentTakesBranch, m as runSessionEnvironmentAction, o as createEnvironmentRegistry, p as resolveExecution, r as LOCAL_ENVIRONMENT, s as environmentActionSummaries, u as initialEnvironment } from "./environment-B4asakh7.js";
43
44
  import { E as restoreChainFallbacks, a as replaceTurnTextBlocks, c as SESSION_ACCOUNT_METADATA_KEY, f as buildRunModel, i as referencedRuns, l as modelChainMetadata, n as deleteTurnSafely, o as truncateTurnsAt, u as readSessionAccount } from "./turn-operations-CWoCTC_L.js";
44
45
  import { A as artifactsFromTurns, B as sessionEventLabel, C as MAIN_PLAYBOOK_FRAGMENT, D as SESSION_ROLE_KEY, I as renderProjectsBriefing, L as renderSessionEventXml, M as isMainSession, N as isSideSession, P as orchestratedBy, S as parseModelSetting, T as ORCHESTRATED_BY_KEY, U as sideSessionParent, Z as formatRunReceiptLine, et as hasRunReceipt, j as isBackgroundSession, k as WORKER_REPORT_FRAGMENT, nt as runReceiptFromRun, w as MAIN_SESSION_TITLE } from "./spaces-CyjMh5Zf.js";
45
- import { M as decisionsEnabled, O as DEFAULT_SETTINGS, P as settingsFromStored } from "./secret-shapes-Cda65uDH.js";
46
- import { A as isOnSafelist, C as foreignSkillScanPaths, D as addToSafelistForCwd, F as suggestSafelistEntries, _ as parseMcpsFile, b as rulerInstructionFiles, c as discoverSystemMd, d as userSystemMdPath, f as buildMcpServers, g as parseJsonTolerant, h as discoverProjectMcps, k as getSafelistForCwd, l as renderSystemMdSeed, u as userScopeOverridesLoad, v as withSessionStdioCwd, x as rulerSkillScanPaths, y as isRulerGenerated } from "./host-scoped-settings-Cy_zbmB_.js";
46
+ import { M as decisionsEnabled, O as DEFAULT_SETTINGS, P as settingsFromStored } from "./secret-shapes-BjW4l6U0.js";
47
+ import { A as isOnSafelist, C as foreignSkillScanPaths, D as addToSafelistForCwd, F as suggestSafelistEntries, _ as parseMcpsFile, b as rulerInstructionFiles, c as discoverSystemMd, d as userSystemMdPath, f as buildMcpServers, g as parseJsonTolerant, h as discoverProjectMcps, k as getSafelistForCwd, l as renderSystemMdSeed, u as userScopeOverridesLoad, v as withSessionStdioCwd, x as rulerSkillScanPaths, y as isRulerGenerated } from "./host-scoped-settings-C-Nmb6vr.js";
47
48
  import { A as resolveApprovalForPayload, E as buildEditOutcomesAnnotation, F as commandNoteText, I as commandStepLabel, M as stripEditOutcomesAnnotation, O as mergeApprovalAndBodyOutcomes, P as commandHeaderBlock, R as noteDisplay, S as previewEditPayload, a as isDenyChoice, b as extractEditPayload, c as inferPromptRefs, f as nestedResultEvent, i as autoDenyReason, j as rewriteMultiEditHeader, k as parseEditOutcomesFromResult, n as titleFromText, p as nestedToolEvent, r as MODEL_APPROVAL_CHOICES, t as oneLineTitle } from "./session-title-text-DHCNlzjb.js";
48
49
  import { A as buildSpawnQueuedEvent, C as systemNoteEvent, E as toolResultText, T as toolCallPreview, i as deriveSessionTitle, j as buildSpawnStartEvent, k as buildSpawnEndEvent, m as readSessionHeader, n as compactSummaryEvent, p as noticeTurnContent, r as createStateStore, s as getSessionMeta, u as listSessionMeta, x as stripSpawnTokensLine, y as serverToolResultSummary } from "./store-L01W0gGI.js";
49
- import { A as buildTextModel, H as cacheBreakChip, L as splitStreamFailure, S as BROWSER_OPEN_MOUNT_MS, T as BROWSER_REQUEST_SLACK_MS, U as cacheBreakNoticeText, at as isValidMachineName, bt as promptTurnRefs, ct as parseMachineKind, dt as CACHE_NOTICE_LABEL, et as remoteHostsGate, ft as EDIT_TOOL_NAMES, h as TERMINAL_TEXT_MAX_LINES, it as MachineErrorCode, m as TERMINAL_READ_MAX_CHARS, o as isMouseTracking, p as TERMINAL_OUTPUT_WINDOW, r as OutputHistory, rt as MACHINE_STREAM_CHUNK_BYTES, st as machineKind, tt as MACHINE_IDEMPOTENT_METHODS, u as TERMINAL_HISTORY_MAX_CHARS, v as TerminalError, x as BROWSER_MAX_WAIT_MS, z as chatReferenceTokensFromText } from "./mcp-allowlist-BQ5MvhHi.js";
50
+ import { A as buildTextModel, H as cacheBreakChip, L as splitStreamFailure, S as BROWSER_OPEN_MOUNT_MS, St as promptTurnRefs, T as BROWSER_REQUEST_SLACK_MS, U as cacheBreakNoticeText, at as isValidMachineName, ct as parseMachineKind, dt as CACHE_NOTICE_LABEL, et as remoteHostsGate, ft as EDIT_TOOL_NAMES, h as TERMINAL_TEXT_MAX_LINES, it as MachineErrorCode, m as TERMINAL_READ_MAX_CHARS, o as isMouseTracking, p as TERMINAL_OUTPUT_WINDOW, pt as REASONING_NOTICE_LABEL, r as OutputHistory, rt as MACHINE_STREAM_CHUNK_BYTES, st as machineKind, tt as MACHINE_IDEMPOTENT_METHODS, u as TERMINAL_HISTORY_MAX_CHARS, v as TerminalError, x as BROWSER_MAX_WAIT_MS, z as chatReferenceTokensFromText } from "./mcp-allowlist-CLXweyxk.js";
50
51
  import { t as StreamQueue } from "./stream-queue-Cd9OJxl7.js";
51
52
  import { t as createDaytonaProvider } from "./daytona-Bg1DeMdg.js";
52
53
  import { n as hostWorkspaceMounts, t as createDockerContext } from "./docker-B_r1BDMD.js";
53
54
  import { t as createE2BProvider } from "./e2b-CjlUUbWa.js";
54
- import { A as modelSupportsReasoning, C as defaultModelOf, F as restoreModelOptions, O as modelLabel, T as getContextWindow, i as providerFactoryOptions, j as modelsForDescriptor, n as credentialsPath, r as ensureCredentialIds, t as applyApiKeyEnv, w as enabledModelOptions, y as BUILTIN_PROVIDERS } from "./credentials-Dti61yoi.js";
55
- import { r as detectAuth, t as createCliExecution } from "./cli-shared-Dx4vmif6.js";
55
+ import { A as modelSupportsReasoning, C as defaultModelOf, F as restoreModelOptions, O as modelLabel, T as getContextWindow, i as providerFactoryOptions, j as modelsForDescriptor, n as credentialsPath, r as ensureCredentialIds, t as applyApiKeyEnv, w as enabledModelOptions, y as BUILTIN_PROVIDERS } from "./credentials-B9DfBJP9.js";
56
+ import { r as detectAuth, t as createCliExecution } from "./cli-shared-E5m_pI8A.js";
56
57
  import { Buffer } from "node:buffer";
57
58
  import { appendFileSync, createWriteStream, existsSync, mkdirSync, readFileSync, realpathSync, renameSync, statSync, writeFileSync } from "node:fs";
58
59
  import { basename, delimiter, dirname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
@@ -492,7 +493,7 @@ var EditOutcomeLedger = class {
492
493
  };
493
494
  //#endregion
494
495
  //#region src/chat/decision-models.ts
495
- function availabilityOf(descriptor, build) {
496
+ function availabilityOf$1(descriptor, build) {
496
497
  let provider;
497
498
  try {
498
499
  provider = build();
@@ -532,7 +533,7 @@ function listDecisionModels(input) {
532
533
  if (!auth.available) continue;
533
534
  const descriptor = input.providers[auth.key];
534
535
  if (!descriptor?.decisionModels?.length) continue;
535
- const status = availabilityOf(descriptor, () => input.buildProvider ? input.buildProvider(auth.key) : descriptor.factory());
536
+ const status = availabilityOf$1(descriptor, () => input.buildProvider ? input.buildProvider(auth.key) : descriptor.factory());
536
537
  for (const modelId of descriptor.decisionModels) out.push({
537
538
  providerKey: auth.key,
538
539
  providerLabel: descriptor.label,
@@ -677,6 +678,120 @@ async function testDecisionModel(input) {
677
678
  };
678
679
  }
679
680
  //#endregion
681
+ //#region src/chat/image-models.ts
682
+ function tryBuild(build) {
683
+ try {
684
+ return build();
685
+ } catch (err) {
686
+ return err instanceof Error ? err : new Error(String(err));
687
+ }
688
+ }
689
+ function availabilityOf(descriptor, provider) {
690
+ if (provider instanceof Error) return {
691
+ available: false,
692
+ reason: provider.message
693
+ };
694
+ if (!provider.images) return {
695
+ available: false,
696
+ reason: `${descriptor.label} does not support image generation`
697
+ };
698
+ try {
699
+ const a = provider.images.availability();
700
+ return a.available ? { available: true } : {
701
+ available: false,
702
+ reason: a.reason
703
+ };
704
+ } catch (err) {
705
+ return {
706
+ available: false,
707
+ reason: err instanceof Error ? err.message : String(err)
708
+ };
709
+ }
710
+ }
711
+ /**
712
+ * Image models of the signed-in providers, in provider order. Providers whose
713
+ * credentials cannot generate images are listed with `available: false` and a
714
+ * `reason`, so pickers can say why.
715
+ *
716
+ * @param input - Provider descriptors, the signed-in provider list and an optional provider builder.
717
+ * @param input.providers - Provider descriptors keyed by id.
718
+ * @param input.authed - The providers' sign-in state, in picker order.
719
+ * @param input.buildProvider - Builds a provider for a provider key. Defaults to `descriptor.factory()`.
720
+ */
721
+ function listImageModels(input) {
722
+ const out = [];
723
+ const defaultIdByKey = /* @__PURE__ */ new Map();
724
+ for (const auth of input.authed) {
725
+ if (!auth.available) continue;
726
+ const descriptor = input.providers[auth.key];
727
+ if (!descriptor?.imageModels?.length) continue;
728
+ const provider = tryBuild(() => input.buildProvider ? input.buildProvider(auth.key) : descriptor.factory());
729
+ const status = availabilityOf(descriptor, provider);
730
+ if (status.available && !(provider instanceof Error) && provider.images) defaultIdByKey.set(auth.key, provider.images.defaultModel);
731
+ for (const model of descriptor.imageModels) out.push({
732
+ providerKey: auth.key,
733
+ providerLabel: descriptor.label,
734
+ modelId: model.id,
735
+ modelName: model.name ?? model.id,
736
+ references: model.input.includes("image"),
737
+ transparency: model.transparency === true,
738
+ available: status.available,
739
+ ...status.reason ? { reason: status.reason } : {}
740
+ });
741
+ }
742
+ const defaultKey = Object.keys(input.providers).find((key) => defaultIdByKey.has(key));
743
+ if (defaultKey) {
744
+ const rows = out.filter((e) => e.providerKey === defaultKey);
745
+ const row = rows.find((e) => e.modelId === defaultIdByKey.get(defaultKey)) ?? rows[0];
746
+ if (row) row.isDefault = true;
747
+ }
748
+ return out;
749
+ }
750
+ /**
751
+ * The providers a session can generate images with: every provider with
752
+ * image models whose instance builds and reports itself available, keyed by
753
+ * provider key (the `<provider>` of `generate_image`'s `model` argument).
754
+ *
755
+ * @param providers - Provider descriptors keyed by id.
756
+ * @param buildProvider - Builds a provider for a provider key. May throw.
757
+ */
758
+ function imageModelSources(providers, buildProvider) {
759
+ const sources = [];
760
+ for (const [key, descriptor] of Object.entries(providers)) {
761
+ if (!descriptor.imageModels?.length) continue;
762
+ const provider = tryBuild(() => buildProvider(key));
763
+ if (provider instanceof Error || !provider.images || !availabilityOf(descriptor, provider).available) continue;
764
+ sources.push({
765
+ provider: key,
766
+ label: descriptor.label,
767
+ images: provider.images
768
+ });
769
+ }
770
+ return sources;
771
+ }
772
+ /**
773
+ * The `generate_image` tool for a chat session, keyed by name: empty when
774
+ * `Settings.imageGeneration` is off or no connected provider can generate
775
+ * images. `Settings.imageModel` picks the default model; a stale pick falls
776
+ * back to the first available provider's default.
777
+ *
778
+ * @param input - Settings, provider descriptors and a provider builder.
779
+ * @param input.settings - Settings holding `imageGeneration` and `imageModel`.
780
+ * @param input.providers - Provider descriptors keyed by id.
781
+ * @param input.buildProvider - Builds a provider for a provider key. May throw.
782
+ */
783
+ function imageGenerationTools(input) {
784
+ if (!input.settings.imageGeneration) return {};
785
+ const sources = imageModelSources(input.providers, input.buildProvider);
786
+ if (sources.length === 0) return {};
787
+ const pick = parseModelSetting(input.settings.imageModel);
788
+ const defaultModel = pick ? `${pick.providerKey}/${pick.modelId}` : void 0;
789
+ return { generate_image: createGenerateImageTool({
790
+ sources,
791
+ ...defaultModel ? { defaultModel } : {}
792
+ }) };
793
+ }
794
+ //#endregion
680
795
  //#region src/chat/mcp-tools-cache.ts
681
796
  /** Disk filename under the host's data directory. */
682
797
  const CACHE_FILENAME = "mcp-tools-cache.json";
@@ -1720,41 +1835,70 @@ function modelFallbackNoticeText(from, to, err, names) {
1720
1835
  const what = limit ? LIMIT_HIT[limit.reason] : `failed (${err.message})`;
1721
1836
  return `${name(from)} ${what}, continuing on ${name(to)}`;
1722
1837
  }
1723
- /** Notice label for replayed reasoning the provider dropped before sampling. */
1724
- const REASONING_NOTICE_LABEL = "reasoning";
1725
1838
  function droppedBlocks(n) {
1726
1839
  return `${n} thinking block${n === 1 ? "" : "s"}`;
1727
1840
  }
1841
+ /** `a → b bytes (hash 0x… → 0x…)` → `a → b bytes`. */
1842
+ function withoutHashes(detail) {
1843
+ return detail.replace(/ \(hash [^)]*\)/, "");
1844
+ }
1845
+ /**
1846
+ * `cause: …` lines for a prefix mismatch. A fresh capture comes first: it is
1847
+ * the one change a rebuilt agent's drift detector cannot see.
1848
+ */
1849
+ function prefixCauseLines(cause) {
1850
+ const lines = [];
1851
+ if (cause?.captured) lines.push("cause: the system prompt was re-captured this run (first freeze, or after /refresh)");
1852
+ const drift = cause?.drift;
1853
+ if (drift) for (const dim of drift.changed) {
1854
+ const detail = drift.details[dim];
1855
+ if (dim === "system" && !cause?.captured) {
1856
+ const [size = "", ...where] = (detail ?? "").split("\n");
1857
+ lines.push(`cause: system prompt changed${size ? ` (${withoutHashes(size)})` : ""}${where.length > 0 ? `, ${where.join(", ")}` : ""}`);
1858
+ } else if (dim === "tools") lines.push(`cause: tool definitions changed${detail ? ` (${withoutHashes(detail)})` : ""}`);
1859
+ else if (dim === "messagePrefix") {
1860
+ const at = drift.divergedAt !== void 0 ? `message ${drift.divergedAt}` : "an earlier message";
1861
+ lines.push(`cause: ${at} rewritten (likely compaction or history trimming)`);
1862
+ }
1863
+ }
1864
+ if (lines.length > 0) return lines;
1865
+ return [cause?.firstRequest ? "cause unknown: first request since the agent was built, nothing to compare with" : "cause unknown: no system, tools or message change seen since the previous request"];
1866
+ }
1728
1867
  /**
1729
1868
  * Tracks one agent's `provider:input-transformations` reports and returns the
1730
- * notice lines worth showing. The API drops the same stale blocks on every
1731
- * later request, so a prefix mismatch is reported only when its count grows
1732
- * past the last reported one (the baseline follows it down, e.g. after
1733
- * compaction removes the turns); model and organization mismatches once.
1869
+ * notices worth showing, one multi-line text each: the headline, then the
1870
+ * facts (where the drop starts, and its cause when known). The API drops the
1871
+ * same stale blocks on every later request, so a prefix mismatch is reported
1872
+ * only when its count grows past the last reported one (the baseline follows
1873
+ * it down, e.g. after compaction removes the turns); model and organization
1874
+ * mismatches once.
1734
1875
  */
1735
1876
  function createReasoningDropTracker() {
1736
1877
  let prefixNoticed = 0;
1737
1878
  let modelNoticed = false;
1738
1879
  let orgNoticed = false;
1739
- return (ctx) => {
1740
- const lines = [];
1880
+ return (ctx, cause) => {
1881
+ const notices = [];
1741
1882
  if (ctx.prefixMismatches < prefixNoticed) prefixNoticed = ctx.prefixMismatches;
1742
1883
  if (ctx.prefixMismatches > prefixNoticed) {
1743
1884
  prefixNoticed = ctx.prefixMismatches;
1744
1885
  const first = Math.min(...ctx.transformations.filter((t) => t.reason === "prefix_binding_mismatch").map((t) => Number(/^messages\.(\d+)/.exec(t.path)?.[1] ?? NaN)).filter(Number.isFinite));
1745
- const from = Number.isFinite(first) ? ` from messages.${first} onward` : "";
1746
- lines.push(`reasoning dropped: ${droppedBlocks(ctx.prefixMismatches)}${from} (prompt changed before them)`);
1886
+ notices.push([
1887
+ `reasoning dropped: ${droppedBlocks(ctx.prefixMismatches)}`,
1888
+ ...Number.isFinite(first) ? [`from message ${first} onward, signed against an earlier prompt`] : [],
1889
+ ...prefixCauseLines(cause)
1890
+ ].join("\n"));
1747
1891
  }
1748
1892
  if (ctx.modelMismatches > 0 && !modelNoticed) {
1749
1893
  modelNoticed = true;
1750
- lines.push(`reasoning dropped: ${droppedBlocks(ctx.modelMismatches)} the current model can't read (model switch)`);
1894
+ notices.push(`reasoning dropped: ${droppedBlocks(ctx.modelMismatches)}\ncause: the current model can't read them (model switch)`);
1751
1895
  }
1752
1896
  const orgMismatches = ctx.transformations.filter((t) => t.reason === "organization_binding_mismatch").length;
1753
1897
  if (orgMismatches > 0 && !orgNoticed) {
1754
1898
  orgNoticed = true;
1755
- lines.push(`reasoning dropped: ${droppedBlocks(orgMismatches)} from another account (organization switch)`);
1899
+ notices.push(`reasoning dropped: ${droppedBlocks(orgMismatches)}\ncause: they came from another account (organization switch)`);
1756
1900
  }
1757
- return lines;
1901
+ return notices;
1758
1902
  };
1759
1903
  }
1760
1904
  function installRecoveryNotices({ sessionId, agent, broadcast }, emitNotice, names) {
@@ -1765,8 +1909,35 @@ function installRecoveryNotices({ sessionId, agent, broadcast }, emitNotice, nam
1765
1909
  }, `removed ${`${ctx.removedBlocks} stale reasoning block${ctx.removedBlocks === 1 ? "" : "s"}`} the provider rejected${ctx.persisted ? "" : " (session not saved yet)"}`);
1766
1910
  });
1767
1911
  const reasoningDrops = createReasoningDropTracker();
1912
+ let lastDrift;
1913
+ let requestsSeen = 0;
1914
+ let runTurnsStart;
1915
+ let runFirstTurnId;
1916
+ agent.hooks.hook("agent:start", (ctx) => {
1917
+ if (ctx.depth !== 0) return;
1918
+ runTurnsStart = agent.session?.turns.length;
1919
+ runFirstTurnId = void 0;
1920
+ });
1921
+ agent.hooks.hook("turn:before", (ctx) => {
1922
+ runFirstTurnId ??= ctx.turnId;
1923
+ requestsSeen += 1;
1924
+ });
1925
+ agent.hooks.hook("cache:drift", (info) => {
1926
+ lastDrift = info;
1927
+ });
1928
+ const capturedThisRun = () => {
1929
+ const turns = agent.session?.turns;
1930
+ if (!turns || runTurnsStart === void 0) return false;
1931
+ return turns.slice(runTurnsStart).some((turn) => turn.role === "system" && turn.systemSnapshot !== void 0 && !turn.systemSnapshot.cleared);
1932
+ };
1768
1933
  agent.hooks.hook("provider:input-transformations", (ctx) => {
1769
- for (const text of reasoningDrops(ctx)) emitNotice({
1934
+ const drift = lastDrift?.turnId === ctx.turnId ? lastDrift : void 0;
1935
+ const cause = {
1936
+ ...drift ? { drift } : {},
1937
+ ...ctx.turnId === runFirstTurnId && capturedThisRun() ? { captured: true } : {},
1938
+ ...requestsSeen <= 1 ? { firstRequest: true } : {}
1939
+ };
1940
+ for (const text of reasoningDrops(ctx, cause)) emitNotice({
1770
1941
  severity: "warn",
1771
1942
  label: REASONING_NOTICE_LABEL
1772
1943
  }, text);
@@ -4676,6 +4847,14 @@ function compositionPreset(composition) {
4676
4847
  };
4677
4848
  }
4678
4849
  /**
4850
+ * The profile a session runs as, resolved the way the build resolves it: the
4851
+ * stored id when registered, else the default profile, else the composition's
4852
+ * base (a stored id can outlive its profile, e.g. a Codemode one with Codemode off).
4853
+ */
4854
+ function currentProfile(profiles, composition, agentId) {
4855
+ return (agentId ? profiles[agentId] : void 0) ?? profiles["build"] ?? composition.base;
4856
+ }
4857
+ /**
4679
4858
  * Refuse, while the session's CURRENT profile (read at call time: a switch
4680
4859
  * may keep the agent) lacks it, every composition tool that profile doesn't
4681
4860
  * have. Tools that belong to no profile (interaction, skills, MCP, host
@@ -4696,8 +4875,8 @@ function installProfileGate({ agent }, input) {
4696
4875
  };
4697
4876
  const gate = (ctx) => {
4698
4877
  if (ctx.block || !available.has(ctx.name)) return;
4699
- const profile = input.profiles[agent.session?.agentId ?? ""];
4700
- if (!profile || ownTools(profile).has(ctx.name)) return;
4878
+ const profile = currentProfile(input.profiles, input.composition, agent.session?.agentId);
4879
+ if (ownTools(profile).has(ctx.name)) return;
4701
4880
  ctx.block = true;
4702
4881
  ctx.reason = `The ${profile.label} profile can't use \`${ctx.name}\`. Ask the user to switch to a profile that has it.`;
4703
4882
  };
@@ -4734,8 +4913,8 @@ const toolList = (names) => names.map((name) => `\`${name}\``).join(", ");
4734
4913
  */
4735
4914
  function profileSwitchNote(input) {
4736
4915
  const { composition, allowInteraction } = input;
4737
- const profile = input.profiles[input.agentId ?? ""];
4738
- if (!profile || profile.id === (lastAnnouncedProfile(input.turns) ?? composition.base.id)) return void 0;
4916
+ const profile = currentProfile(input.profiles, composition, input.agentId);
4917
+ if (profile.id === (lastAnnouncedProfile(input.turns) ?? composition.base.id)) return void 0;
4739
4918
  const available = compositionTools(composition);
4740
4919
  const own = profileTools(profile);
4741
4920
  const tools = [...own.keys()].filter((name) => available.has(name));
@@ -10577,12 +10756,19 @@ function createAgentBuilder(deps) {
10577
10756
  modelFallbacks,
10578
10757
  buildProvider
10579
10758
  });
10580
- const modelCatalogTools = subagentModelCatalogTools({
10581
- settings,
10582
- presetSpawn: composedPreset.tools?.spawn,
10583
- providerNameByKey,
10584
- runtimeConfig
10585
- });
10759
+ const modelCatalogTools = {
10760
+ ...subagentModelCatalogTools({
10761
+ settings,
10762
+ presetSpawn: composedPreset.tools?.spawn,
10763
+ providerNameByKey,
10764
+ runtimeConfig
10765
+ }),
10766
+ ...imageGenerationTools({
10767
+ settings,
10768
+ providers,
10769
+ buildProvider: buildOnSessionAccount
10770
+ })
10771
+ };
10586
10772
  const agentTools = side?.tools ?? mergeAgentTools({
10587
10773
  settings,
10588
10774
  interactionTools,
@@ -16331,6 +16517,6 @@ async function runOAuthLogin(descriptor, options) {
16331
16517
  return descriptor.oauthProvider.login(callbacks);
16332
16518
  }
16333
16519
  //#endregion
16334
- export { createAutomaticInteractionResponse as $, createApprovalHub as $t, environmentCredentialsPath as A, runEndNotice as At, userPromptCount as B, parsePluginScanPathEnv as Bt, defaultEnvironmentKind as C, localEnvironmentProvider as Ct, resolveProviderConfig as D, teardownWorktree as Dt, readEnvironmentSettings as E, prepareWorktree as Et, TITLE_CHECK_KEY as F, folderlessCwd as Ft, readPinnedSkills as G, saveMcpToolsCache as Gt, normalizeLaunchOverrides as H, loadMcpToolsCache as Ht, TITLE_SOURCE_KEY as I, resolveSessionCwd as It, ASK_USER_TOOL as J, parseDecisionModel as Jt, isStaleRunMarker as K, subscribeMcpToolsCache as Kt, autoTitleAction as L, scopeCwd as Lt, createWorkspaceConfinement as M, readFileSafe as Mt, isInside as N, resolveCwdPath as Nt, createFileEnvironmentSecrets as O, readRemoteSandboxRef as Ot, TITLE_CHECKED_KEY as P, serializePreview as Pt, buildResumedToolResultsTurn as Q, runCompaction as Qt, describeTitleStatus as R, buildPluginContributions as Rt, applyEnvironmentSettingsChange as S, builtinEnvironmentProviders as St, isEnvironmentEnabled as T, createWorktreeEnvironmentProvider as Tt, PINNED_SKILLS_META_KEY as U, mcpToolsCachePath as Ut, launchOverridesFrom as V, clearMcpToolsCache as Vt, pinnedSkillsValue as W, refreshMcpToolsCatalog as Wt, HOST_INTERACTION_ID_PREFIX as X, testDecisionModel as Xt, AUTOMATIC_INTERACTION_INSTRUCTION as Y, resolveDecisionsOption as Yt, PRESENT_PLAN_TOOL as Z, EditOutcomeLedger as Zt, sandboxUnreadableDirs as _, discoverAgentsMd as _t, tryOpenBrowser as a, serializeInteractionResponse as at, patchMcpCredential as b, machineDiscoveryCwd as bt, mcpsWritePath as c, defaultSkillScanPaths as ct, createExtensionMcpHost as d, applyThinkingBindingSetting as dt, createMemoryApprovalsStore as en, createInteractionTools as et, resolveConfig as f, chatAutoCompactBehavior as ft, resolveSandboxForRoots as g, installProviderDiagnosticHook as gt, createInteractionHub as h, createChatTurnsReadTool as ht, supportsOAuth as i, pendingInteractionsFromTurns as it, createSessionExecutionCache as j, extractEditPayloadForGate as jt, createMemoryEnvironmentSecrets as k, MachineLinkLostError as kt, removeMcpServer as l, discoverProjectSkills as lt, createChatHost as m, chatReferenceTokensForPrompt as mt, pickOAuthSelectOption as n, isModelInteraction as nt, tryRevealPath as o, buildSkillsConfig as ot, resolveStoragePaths as p, chatWindowBehavior as pt, toTodosSnapshot as q, listDecisionModels as qt, runOAuthLogin as r, makeRequestInteraction as rt, testModel as s, createSkillNameProbe as st, oauthUsesManualCodePaste as t, isInteractionTool as tt, upsertMcpServer as u, createBuiltinCommands as ut, createFileMcpCredentialStore as v, renderAgentsMdBlock as vt, describeEnvironments as w, WORKTREE_ENVIRONMENT_KIND as wt, provisionSessionEnvironment as x, insideDeclaredRoots as xt, mcpCredentialsPath as y, createProviderBuilder as yt, isTitleStale as z, discoverProjectPlugins as zt };
16520
+ export { createAutomaticInteractionResponse as $, testDecisionModel as $t, environmentCredentialsPath as A, runEndNotice as At, userPromptCount as B, parsePluginScanPathEnv as Bt, defaultEnvironmentKind as C, localEnvironmentProvider as Ct, resolveProviderConfig as D, teardownWorktree as Dt, readEnvironmentSettings as E, prepareWorktree as Et, TITLE_CHECK_KEY as F, folderlessCwd as Ft, readPinnedSkills as G, saveMcpToolsCache as Gt, normalizeLaunchOverrides as H, loadMcpToolsCache as Ht, TITLE_SOURCE_KEY as I, resolveSessionCwd as It, ASK_USER_TOOL as J, imageModelSources as Jt, isStaleRunMarker as K, subscribeMcpToolsCache as Kt, autoTitleAction as L, scopeCwd as Lt, createWorkspaceConfinement as M, readFileSafe as Mt, isInside as N, resolveCwdPath as Nt, createFileEnvironmentSecrets as O, readRemoteSandboxRef as Ot, TITLE_CHECKED_KEY as P, serializePreview as Pt, buildResumedToolResultsTurn as Q, resolveDecisionsOption as Qt, describeTitleStatus as R, buildPluginContributions as Rt, applyEnvironmentSettingsChange as S, builtinEnvironmentProviders as St, isEnvironmentEnabled as T, createWorktreeEnvironmentProvider as Tt, PINNED_SKILLS_META_KEY as U, mcpToolsCachePath as Ut, launchOverridesFrom as V, clearMcpToolsCache as Vt, pinnedSkillsValue as W, refreshMcpToolsCatalog as Wt, HOST_INTERACTION_ID_PREFIX as X, listDecisionModels as Xt, AUTOMATIC_INTERACTION_INSTRUCTION as Y, listImageModels as Yt, PRESENT_PLAN_TOOL as Z, parseDecisionModel as Zt, sandboxUnreadableDirs as _, discoverAgentsMd as _t, tryOpenBrowser as a, serializeInteractionResponse as at, patchMcpCredential as b, machineDiscoveryCwd as bt, mcpsWritePath as c, defaultSkillScanPaths as ct, createExtensionMcpHost as d, applyThinkingBindingSetting as dt, EditOutcomeLedger as en, createInteractionTools as et, resolveConfig as f, chatAutoCompactBehavior as ft, resolveSandboxForRoots as g, installProviderDiagnosticHook as gt, createInteractionHub as h, createChatTurnsReadTool as ht, supportsOAuth as i, pendingInteractionsFromTurns as it, createSessionExecutionCache as j, extractEditPayloadForGate as jt, createMemoryEnvironmentSecrets as k, MachineLinkLostError as kt, removeMcpServer as l, discoverProjectSkills as lt, createChatHost as m, chatReferenceTokensForPrompt as mt, pickOAuthSelectOption as n, createApprovalHub as nn, isModelInteraction as nt, tryRevealPath as o, buildSkillsConfig as ot, resolveStoragePaths as p, chatWindowBehavior as pt, toTodosSnapshot as q, imageGenerationTools as qt, runOAuthLogin as r, createMemoryApprovalsStore as rn, makeRequestInteraction as rt, testModel as s, createSkillNameProbe as st, oauthUsesManualCodePaste as t, runCompaction as tn, isInteractionTool as tt, upsertMcpServer as u, createBuiltinCommands as ut, createFileMcpCredentialStore as v, renderAgentsMdBlock as vt, describeEnvironments as w, WORKTREE_ENVIRONMENT_KIND as wt, provisionSessionEnvironment as x, insideDeclaredRoots as xt, mcpCredentialsPath as y, createProviderBuilder as yt, isTitleStale as z, discoverProjectPlugins as zt };
16335
16521
 
16336
- //# sourceMappingURL=oauth-BSqXgads.js.map
16522
+ //# sourceMappingURL=oauth-7_48zR7n.js.map