zidane 8.2.1 → 8.2.2

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 (182) 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 +3 -3
  13. package/dist/chat/pure.js +4 -4
  14. package/dist/chat.d.ts +4 -4
  15. package/dist/chat.js +14 -14
  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-BdD20sOv.d.ts} +24 -5
  19. package/dist/{client-core-imHuBWV3.d.ts.map → client-core-BdD20sOv.d.ts.map} +1 -1
  20. package/dist/{connection-loop-CdHt3iQi.d.ts → connection-loop-DTk82YVl.d.ts} +3 -3
  21. package/dist/{connection-loop-CdHt3iQi.d.ts.map → connection-loop-DTk82YVl.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-BICXFGiJ.js} +27 -13
  28. package/dist/dispatcher-BICXFGiJ.js.map +1 -0
  29. package/dist/{engine-BN6PjWAW.js → engine-QCX3GV-i.js} +5 -5
  30. package/dist/{engine-BN6PjWAW.js.map → engine-QCX3GV-i.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-B8GoXaaE.js} +2 -2
  36. package/dist/{executor-CT4oUkg6.js.map → executor-B8GoXaaE.js.map} +1 -1
  37. package/dist/{extensions-BKt7lxxv.js → extensions-BeH3D-bq.js} +114 -113
  38. package/dist/extensions-BeH3D-bq.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-CCnaBkCV.js} +2 -2
  50. package/dist/{host-scoped-settings-Cy_zbmB_.js.map → host-scoped-settings-CCnaBkCV.js.map} +1 -1
  51. package/dist/{host-signals-Cx2IAbHh.js → host-signals-DI9JQvR9.js} +5 -5
  52. package/dist/{host-signals-Cx2IAbHh.js.map → host-signals-DI9JQvR9.js.map} +1 -1
  53. package/dist/{index-pc71ADi6.d.ts → index-BkNeiJYI.d.ts} +71 -4
  54. package/dist/index-BkNeiJYI.d.ts.map +1 -0
  55. package/dist/{index-CidMTcxS.d.ts → index-DyQyDLX1.d.ts} +167 -10
  56. package/dist/index-DyQyDLX1.d.ts.map +1 -0
  57. package/dist/{index-Bt_G2Z_2.d.ts → index-lcuvhQfF.d.ts} +5 -5
  58. package/dist/{index-Bt_G2Z_2.d.ts.map → index-lcuvhQfF.d.ts.map} +1 -1
  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 +6 -6
  65. package/dist/{links-DSZ4uQ5w.js → links-CN5JFFde.js} +9 -9
  66. package/dist/{links-DSZ4uQ5w.js.map → links-CN5JFFde.js.map} +1 -1
  67. package/dist/mcp.d.ts +1 -1
  68. package/dist/{oauth-BSqXgads.js → oauth-TVPPye84.js} +155 -25
  69. package/dist/oauth-TVPPye84.js.map +1 -0
  70. package/dist/{openai-dTmPxM6T.js → openai-Rh6u5NXF.js} +121 -2
  71. package/dist/openai-Rh6u5NXF.js.map +1 -0
  72. package/dist/{openrouter-CtZbQDa0.js → openrouter-Dg0yaI-o.js} +91 -2
  73. package/dist/openrouter-Dg0yaI-o.js.map +1 -0
  74. package/dist/output/stream-json.d.ts +1 -1
  75. package/dist/output/terminal.d.ts +1 -1
  76. package/dist/plugins.d.ts +1 -1
  77. package/dist/{presets-EzlHyFSi.js → presets-DXeHsd24.js} +3 -3
  78. package/dist/{presets-EzlHyFSi.js.map → presets-DXeHsd24.js.map} +1 -1
  79. package/dist/presets.d.ts +1 -1
  80. package/dist/presets.js +1 -1
  81. package/dist/{prompts-D2lPHLOV.d.ts → prompts-DmY13jvF.d.ts} +2 -1
  82. package/dist/prompts-DmY13jvF.d.ts.map +1 -0
  83. package/dist/protocol-BIv1Yuvl.js.map +1 -1
  84. package/dist/providers/anthropic.d.ts +1 -1
  85. package/dist/providers/arcee.d.ts +1 -1
  86. package/dist/providers/baseten.d.ts +1 -1
  87. package/dist/providers/cerebras.d.ts +1 -1
  88. package/dist/providers/google.d.ts +1 -1
  89. package/dist/providers/google.js +1 -784
  90. package/dist/providers/local.d.ts +1 -1
  91. package/dist/providers/neuralwatt.d.ts +1 -1
  92. package/dist/providers/openai-compat.d.ts +1 -1
  93. package/dist/providers/openai.d.ts +1 -1
  94. package/dist/providers/openai.js +1 -1
  95. package/dist/providers/openrouter.d.ts +1 -1
  96. package/dist/providers/openrouter.js +1 -1
  97. package/dist/providers/xai.d.ts +1 -1
  98. package/dist/providers/xai.js +1 -101
  99. package/dist/providers.d.ts +2 -2
  100. package/dist/providers.js +6 -5
  101. package/dist/{registry-BBaEgTsX.js → registry-PNi9rsGi.js} +3 -3
  102. package/dist/{registry-BBaEgTsX.js.map → registry-PNi9rsGi.js.map} +1 -1
  103. package/dist/{remote-hosts-bO7wOt44.js → remote-hosts-b6Luwdhu.js} +4 -4
  104. package/dist/{remote-hosts-bO7wOt44.js.map → remote-hosts-b6Luwdhu.js.map} +1 -1
  105. package/dist/restate.d.ts +1 -1
  106. package/dist/{secret-shapes-Cda65uDH.js → secret-shapes-CEoGmfEE.js} +10 -1
  107. package/dist/secret-shapes-CEoGmfEE.js.map +1 -0
  108. package/dist/session/sqlite.d.ts +1 -1
  109. package/dist/{session-factory-BazyVdzj.js → session-factory-CMwIXE-7.js} +5 -5
  110. package/dist/{session-factory-BazyVdzj.js.map → session-factory-CMwIXE-7.js.map} +1 -1
  111. package/dist/session.d.ts +1 -1
  112. package/dist/{settings-keys-zYaer8DY.js → settings-keys-DssjmqAV.js} +3 -3
  113. package/dist/{settings-keys-zYaer8DY.js.map → settings-keys-DssjmqAV.js.map} +1 -1
  114. package/dist/{shell-path-od9XHRPt.js → shell-path-BUFwqU_A.js} +3 -3
  115. package/dist/{shell-path-od9XHRPt.js.map → shell-path-BUFwqU_A.js.map} +1 -1
  116. package/dist/{skills-use-D68a1gyZ.js → skills-use-CssTEaIj.js} +375 -2
  117. package/dist/skills-use-CssTEaIj.js.map +1 -0
  118. package/dist/skills.d.ts +1 -1
  119. package/dist/{system-freeze-DXvJpveP.js → system-freeze-Um9ZJiPo.js} +24 -9
  120. package/dist/system-freeze-Um9ZJiPo.js.map +1 -0
  121. package/dist/{todo-edits-CmqNFvLJ.js → todo-edits-H77ROt6X.js} +2 -2
  122. package/dist/{todo-edits-CmqNFvLJ.js.map → todo-edits-H77ROt6X.js.map} +1 -1
  123. package/dist/tools/fetch-url.d.ts +1 -1
  124. package/dist/tools/prompts.d.ts +1 -1
  125. package/dist/tools/prompts.js +7 -0
  126. package/dist/tools/prompts.js.map +1 -1
  127. package/dist/tools/web-search.d.ts +1 -1
  128. package/dist/{tools-9Dpm8F-f.js → tools-pZVFIJ_K.js} +273 -2
  129. package/dist/tools-pZVFIJ_K.js.map +1 -0
  130. package/dist/tools.d.ts +3 -3
  131. package/dist/tools.js +4 -4
  132. package/dist/{transcript-anchors-B3TFJqr_.js → transcript-anchors-s-yxh0jt.js} +10 -10
  133. package/dist/{transcript-anchors-B3TFJqr_.js.map → transcript-anchors-s-yxh0jt.js.map} +1 -1
  134. package/dist/{transcript-reconcile-BC2DbTmp.js → transcript-reconcile-DeFLIQ14.js} +19 -2
  135. package/dist/{transcript-reconcile-BC2DbTmp.js.map → transcript-reconcile-DeFLIQ14.js.map} +1 -1
  136. package/dist/tui.d.ts +7 -7
  137. package/dist/tui.js +24 -22
  138. package/dist/tui.js.map +1 -1
  139. package/dist/{turn-operations-CIFoOebZ.d.ts → turn-operations-BbGJ-KSt.d.ts} +2 -2
  140. package/dist/{turn-operations-CIFoOebZ.d.ts.map → turn-operations-BbGJ-KSt.d.ts.map} +1 -1
  141. package/dist/{types-iFLlZKd0.d.ts → types-C0PJmBaO.d.ts} +2 -2
  142. package/dist/{types-iFLlZKd0.d.ts.map → types-C0PJmBaO.d.ts.map} +1 -1
  143. package/dist/types-JzccL5GE.js +24 -0
  144. package/dist/types-JzccL5GE.js.map +1 -0
  145. package/dist/types.d.ts +2 -2
  146. package/dist/{url-BTH-HE9Y.js → url-CLl0u4Z8.js} +2 -2
  147. package/dist/{url-BTH-HE9Y.js.map → url-CLl0u4Z8.js.map} +1 -1
  148. package/dist/{version-4T82xRxQ.js → version-v77Y4A3C.js} +2 -2
  149. package/dist/{version-4T82xRxQ.js.map → version-v77Y4A3C.js.map} +1 -1
  150. package/dist/wire-DH77Z-rr.js +80 -0
  151. package/dist/wire-DH77Z-rr.js.map +1 -0
  152. package/dist/{workspace-exec-stream-By8na6vz.js → workspace-exec-stream-kqARO8iC.js} +4 -4
  153. package/dist/{workspace-exec-stream-By8na6vz.js.map → workspace-exec-stream-kqARO8iC.js.map} +1 -1
  154. package/dist/{write-file-B4vi3SvQ.js → write-file-QYrcDdl3.js} +3 -3
  155. package/dist/{write-file-B4vi3SvQ.js.map → write-file-QYrcDdl3.js.map} +1 -1
  156. package/dist/{ws-CS312Jpx.js → ws-BD9FN98u.js} +5 -5
  157. package/dist/{ws-CS312Jpx.js.map → ws-BD9FN98u.js.map} +1 -1
  158. package/dist/{ws-client-wWka-Jku.js → ws-client-D7eb2UbH.js} +3 -3
  159. package/dist/{ws-client-wWka-Jku.js.map → ws-client-D7eb2UbH.js.map} +1 -1
  160. package/dist/xai-CStTwCV2.js +182 -0
  161. package/dist/xai-CStTwCV2.js.map +1 -0
  162. package/docs/ARCHITECTURE.md +1 -0
  163. package/docs/ARTIFACTS.md +1 -1
  164. package/docs/EXTENSIONS.md +9 -5
  165. package/package.json +2 -2
  166. package/dist/agent-DecDtKA_.js.map +0 -1
  167. package/dist/builtin-artifact-kinds-B_OEgf8b.js.map +0 -1
  168. package/dist/credentials-Dti61yoi.js.map +0 -1
  169. package/dist/dispatcher-vy3J6JMA.js.map +0 -1
  170. package/dist/extensions-BKt7lxxv.js.map +0 -1
  171. package/dist/index-CidMTcxS.d.ts.map +0 -1
  172. package/dist/index-pc71ADi6.d.ts.map +0 -1
  173. package/dist/oauth-BSqXgads.js.map +0 -1
  174. package/dist/openai-dTmPxM6T.js.map +0 -1
  175. package/dist/openrouter-CtZbQDa0.js.map +0 -1
  176. package/dist/prompts-D2lPHLOV.d.ts.map +0 -1
  177. package/dist/providers/google.js.map +0 -1
  178. package/dist/providers/xai.js.map +0 -1
  179. package/dist/secret-shapes-Cda65uDH.js.map +0 -1
  180. package/dist/skills-use-D68a1gyZ.js.map +0 -1
  181. package/dist/system-freeze-DXvJpveP.js.map +0 -1
  182. package/dist/tools-9Dpm8F-f.js.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,27 +23,28 @@ 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-BeH3D-bq.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-CEoGmfEE.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-CCnaBkCV.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
50
  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";
@@ -51,8 +52,8 @@ 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";
@@ -4676,6 +4791,14 @@ function compositionPreset(composition) {
4676
4791
  };
4677
4792
  }
4678
4793
  /**
4794
+ * The profile a session runs as, resolved the way the build resolves it: the
4795
+ * stored id when registered, else the default profile, else the composition's
4796
+ * base (a stored id can outlive its profile, e.g. a Codemode one with Codemode off).
4797
+ */
4798
+ function currentProfile(profiles, composition, agentId) {
4799
+ return (agentId ? profiles[agentId] : void 0) ?? profiles["build"] ?? composition.base;
4800
+ }
4801
+ /**
4679
4802
  * Refuse, while the session's CURRENT profile (read at call time: a switch
4680
4803
  * may keep the agent) lacks it, every composition tool that profile doesn't
4681
4804
  * have. Tools that belong to no profile (interaction, skills, MCP, host
@@ -4696,8 +4819,8 @@ function installProfileGate({ agent }, input) {
4696
4819
  };
4697
4820
  const gate = (ctx) => {
4698
4821
  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;
4822
+ const profile = currentProfile(input.profiles, input.composition, agent.session?.agentId);
4823
+ if (ownTools(profile).has(ctx.name)) return;
4701
4824
  ctx.block = true;
4702
4825
  ctx.reason = `The ${profile.label} profile can't use \`${ctx.name}\`. Ask the user to switch to a profile that has it.`;
4703
4826
  };
@@ -4734,8 +4857,8 @@ const toolList = (names) => names.map((name) => `\`${name}\``).join(", ");
4734
4857
  */
4735
4858
  function profileSwitchNote(input) {
4736
4859
  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;
4860
+ const profile = currentProfile(input.profiles, composition, input.agentId);
4861
+ if (profile.id === (lastAnnouncedProfile(input.turns) ?? composition.base.id)) return void 0;
4739
4862
  const available = compositionTools(composition);
4740
4863
  const own = profileTools(profile);
4741
4864
  const tools = [...own.keys()].filter((name) => available.has(name));
@@ -10577,12 +10700,19 @@ function createAgentBuilder(deps) {
10577
10700
  modelFallbacks,
10578
10701
  buildProvider
10579
10702
  });
10580
- const modelCatalogTools = subagentModelCatalogTools({
10581
- settings,
10582
- presetSpawn: composedPreset.tools?.spawn,
10583
- providerNameByKey,
10584
- runtimeConfig
10585
- });
10703
+ const modelCatalogTools = {
10704
+ ...subagentModelCatalogTools({
10705
+ settings,
10706
+ presetSpawn: composedPreset.tools?.spawn,
10707
+ providerNameByKey,
10708
+ runtimeConfig
10709
+ }),
10710
+ ...imageGenerationTools({
10711
+ settings,
10712
+ providers,
10713
+ buildProvider: buildOnSessionAccount
10714
+ })
10715
+ };
10586
10716
  const agentTools = side?.tools ?? mergeAgentTools({
10587
10717
  settings,
10588
10718
  interactionTools,
@@ -16331,6 +16461,6 @@ async function runOAuthLogin(descriptor, options) {
16331
16461
  return descriptor.oauthProvider.login(callbacks);
16332
16462
  }
16333
16463
  //#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 };
16464
+ 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
16465
 
16336
- //# sourceMappingURL=oauth-BSqXgads.js.map
16466
+ //# sourceMappingURL=oauth-TVPPye84.js.map