zidane 8.2.2 → 8.2.4

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 (168) hide show
  1. package/dist/{acp-oYRjlh71.js → acp-BIInKhVI.js} +6 -6
  2. package/dist/{acp-oYRjlh71.js.map → acp-BIInKhVI.js.map} +1 -1
  3. package/dist/acp-cli.js +4 -4
  4. package/dist/acp.d.ts +2 -2
  5. package/dist/acp.js +1 -1
  6. package/dist/{agent-CBQglXtH.js → agent-CmhCOmyO.js} +10 -5
  7. package/dist/{agent-CBQglXtH.js.map → agent-CmhCOmyO.js.map} +1 -1
  8. package/dist/agent.d.ts +1 -1
  9. package/dist/agent.js +1 -1
  10. package/dist/chat/pure.d.ts +4 -4
  11. package/dist/chat/pure.js +7 -7
  12. package/dist/chat.d.ts +3 -3
  13. package/dist/chat.js +16 -16
  14. package/dist/{cli-shared-E5m_pI8A.js → cli-shared-GOehTeqk.js} +2 -2
  15. package/dist/{cli-shared-E5m_pI8A.js.map → cli-shared-GOehTeqk.js.map} +1 -1
  16. package/dist/{client-core-BdD20sOv.d.ts → client-core-Dz8hELs4.d.ts} +15 -5
  17. package/dist/client-core-Dz8hELs4.d.ts.map +1 -0
  18. package/dist/codemode-worker.js +1 -1
  19. package/dist/codemode.js +1 -1
  20. package/dist/{connection-loop-DTk82YVl.d.ts → connection-loop-dm_TN-QD.d.ts} +3 -3
  21. package/dist/{connection-loop-DTk82YVl.d.ts.map → connection-loop-dm_TN-QD.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-B9DfBJP9.js → credentials-DxOQmset.js} +2 -2
  25. package/dist/{credentials-B9DfBJP9.js.map → credentials-DxOQmset.js.map} +1 -1
  26. package/dist/daemon-cli.js +2 -2
  27. package/dist/{dispatcher-BICXFGiJ.js → dispatcher-Dclv6HXn.js} +22 -18
  28. package/dist/dispatcher-Dclv6HXn.js.map +1 -0
  29. package/dist/{engine-QCX3GV-i.js → engine-C_U6kDfA.js} +6 -6
  30. package/dist/{engine-QCX3GV-i.js.map → engine-C_U6kDfA.js.map} +1 -1
  31. package/dist/{eval-CfQlBR81.js → eval-CIHIF_Ns.js} +3 -3
  32. package/dist/{eval-CfQlBR81.js.map → eval-CIHIF_Ns.js.map} +1 -1
  33. package/dist/eval.d.ts +1 -1
  34. package/dist/eval.js +1 -1
  35. package/dist/{executor-B8GoXaaE.js → executor-BFaR2nfc.js} +3 -3
  36. package/dist/{executor-B8GoXaaE.js.map → executor-BFaR2nfc.js.map} +1 -1
  37. package/dist/{extensions-BeH3D-bq.js → extensions-DIbpUj5R.js} +3 -3
  38. package/dist/{extensions-BeH3D-bq.js.map → extensions-DIbpUj5R.js.map} +1 -1
  39. package/dist/extensions.d.ts +1 -1
  40. package/dist/extensions.js +1 -1
  41. package/dist/{fold-rules-DSypi36k.d.ts → fold-rules-CMpWNPqk.d.ts} +2 -2
  42. package/dist/{fold-rules-DSypi36k.d.ts.map → fold-rules-CMpWNPqk.d.ts.map} +1 -1
  43. package/dist/{headless-R4pbpTkm.js → headless-Bs9Lb4vs.js} +4 -4
  44. package/dist/{headless-R4pbpTkm.js.map → headless-Bs9Lb4vs.js.map} +1 -1
  45. package/dist/headless.d.ts +1 -1
  46. package/dist/headless.js +1 -1
  47. package/dist/history-worker.js +1 -1
  48. package/dist/{host-scoped-settings-CCnaBkCV.js → host-scoped-settings-DxxI_yRo.js} +2 -2
  49. package/dist/{host-scoped-settings-CCnaBkCV.js.map → host-scoped-settings-DxxI_yRo.js.map} +1 -1
  50. package/dist/{host-signals-DI9JQvR9.js → host-signals-CQ2jZR-2.js} +5 -5
  51. package/dist/{host-signals-DI9JQvR9.js.map → host-signals-CQ2jZR-2.js.map} +1 -1
  52. package/dist/{index-DyQyDLX1.d.ts → index-4mDRyTGJ.d.ts} +1722 -1691
  53. package/dist/index-4mDRyTGJ.d.ts.map +1 -0
  54. package/dist/{index-lcuvhQfF.d.ts → index-Dlmu8HnG.d.ts} +5 -5
  55. package/dist/{index-lcuvhQfF.d.ts.map → index-Dlmu8HnG.d.ts.map} +1 -1
  56. package/dist/{index-BkNeiJYI.d.ts → index-QsAN9yjZ.d.ts} +3 -3
  57. package/dist/{index-BkNeiJYI.d.ts.map → index-QsAN9yjZ.d.ts.map} +1 -1
  58. package/dist/index.d.ts +3 -3
  59. package/dist/index.js +8 -8
  60. package/dist/ipc/remote.d.ts +5 -5
  61. package/dist/ipc/remote.js +3 -3
  62. package/dist/ipc.d.ts +5 -5
  63. package/dist/ipc.js +9 -9
  64. package/dist/{links-CN5JFFde.js → links-D5itfH8P.js} +10 -10
  65. package/dist/{links-CN5JFFde.js.map → links-D5itfH8P.js.map} +1 -1
  66. package/dist/{mcp-allowlist-BQ5MvhHi.js → mcp-allowlist-BbnTBKNN.js} +15 -4
  67. package/dist/mcp-allowlist-BbnTBKNN.js.map +1 -0
  68. package/dist/mcp.d.ts +1 -1
  69. package/dist/{oauth-TVPPye84.js → oauth-Ck3wQX4Q.js} +133 -43
  70. package/dist/oauth-Ck3wQX4Q.js.map +1 -0
  71. package/dist/output/stream-json.d.ts +1 -1
  72. package/dist/output/terminal.d.ts +1 -1
  73. package/dist/plugins.d.ts +1 -1
  74. package/dist/{prelude-HzY_JEGq.js → prelude-qjPUkw4f.js} +26 -2
  75. package/dist/prelude-qjPUkw4f.js.map +1 -0
  76. package/dist/{presets-DXeHsd24.js → presets-C4hkykN-.js} +2 -2
  77. package/dist/{presets-DXeHsd24.js.map → presets-C4hkykN-.js.map} +1 -1
  78. package/dist/presets.d.ts +1 -1
  79. package/dist/presets.js +1 -1
  80. package/dist/{protocol-BIv1Yuvl.js → protocol-Do_i6Ras.js} +3 -1
  81. package/dist/protocol-Do_i6Ras.js.map +1 -0
  82. package/dist/providers/anthropic.d.ts +1 -1
  83. package/dist/providers/arcee.d.ts +1 -1
  84. package/dist/providers/baseten.d.ts +1 -1
  85. package/dist/providers/cerebras.d.ts +1 -1
  86. package/dist/providers/google.d.ts +1 -1
  87. package/dist/providers/local.d.ts +1 -1
  88. package/dist/providers/neuralwatt.d.ts +1 -1
  89. package/dist/providers/openai-compat.d.ts +1 -1
  90. package/dist/providers/openai.d.ts +1 -1
  91. package/dist/providers/openrouter.d.ts +1 -1
  92. package/dist/providers/xai.d.ts +1 -1
  93. package/dist/providers.d.ts +1 -1
  94. package/dist/{registry-PNi9rsGi.js → registry-DxPP_tAt.js} +3 -3
  95. package/dist/{registry-PNi9rsGi.js.map → registry-DxPP_tAt.js.map} +1 -1
  96. package/dist/{remote-hosts-b6Luwdhu.js → remote-hosts-BkOwRszu.js} +4 -4
  97. package/dist/{remote-hosts-b6Luwdhu.js.map → remote-hosts-BkOwRszu.js.map} +1 -1
  98. package/dist/restate.d.ts +1 -1
  99. package/dist/{secret-shapes-CEoGmfEE.js → secret-shapes-HvaYVzwc.js} +17 -4
  100. package/dist/secret-shapes-HvaYVzwc.js.map +1 -0
  101. package/dist/session/sqlite.d.ts +1 -1
  102. package/dist/{session-7TUHs42_.js → session-CCsKXID6.js} +6 -2
  103. package/dist/session-CCsKXID6.js.map +1 -0
  104. package/dist/{session-factory-CMwIXE-7.js → session-factory-Ct7J9CK1.js} +6 -6
  105. package/dist/{session-factory-CMwIXE-7.js.map → session-factory-Ct7J9CK1.js.map} +1 -1
  106. package/dist/session.d.ts +2 -2
  107. package/dist/session.js +1 -1
  108. package/dist/{settings-keys-DssjmqAV.js → settings-keys-QoGJ5n3e.js} +4 -4
  109. package/dist/{settings-keys-DssjmqAV.js.map → settings-keys-QoGJ5n3e.js.map} +1 -1
  110. package/dist/{shell-path-BUFwqU_A.js → shell-path-BXXtRmEA.js} +4 -4
  111. package/dist/{shell-path-BUFwqU_A.js.map → shell-path-BXXtRmEA.js.map} +1 -1
  112. package/dist/skills.d.ts +1 -1
  113. package/dist/{spaces-CyjMh5Zf.js → spaces-C_x2bvEl.js} +14 -4
  114. package/dist/spaces-C_x2bvEl.js.map +1 -0
  115. package/dist/{store-L01W0gGI.js → store-BpkWIaSH.js} +10 -30
  116. package/dist/store-BpkWIaSH.js.map +1 -0
  117. package/dist/{todo-edits-H77ROt6X.js → todo-edits-DKoxu7Ss.js} +3 -3
  118. package/dist/{todo-edits-H77ROt6X.js.map → todo-edits-DKoxu7Ss.js.map} +1 -1
  119. package/dist/tools/fetch-url.d.ts +1 -1
  120. package/dist/tools/web-search.d.ts +1 -1
  121. package/dist/{tools-pZVFIJ_K.js → tools-FHEIKGkh.js} +2 -2
  122. package/dist/{tools-pZVFIJ_K.js.map → tools-FHEIKGkh.js.map} +1 -1
  123. package/dist/tools.d.ts +1 -1
  124. package/dist/tools.js +2 -2
  125. package/dist/{transcript-anchors-s-yxh0jt.js → transcript-anchors-D8jWLpe5.js} +10 -10
  126. package/dist/{transcript-anchors-s-yxh0jt.js.map → transcript-anchors-D8jWLpe5.js.map} +1 -1
  127. package/dist/{transcript-cache-DXdgVuoy.js → transcript-cache-CdHKtx9y.js} +4 -4
  128. package/dist/{transcript-cache-DXdgVuoy.js.map → transcript-cache-CdHKtx9y.js.map} +1 -1
  129. package/dist/{transcript-reconcile-DeFLIQ14.js → transcript-reconcile-D_SWw6dX.js} +11 -3
  130. package/dist/transcript-reconcile-D_SWw6dX.js.map +1 -0
  131. package/dist/tui.d.ts +7 -7
  132. package/dist/tui.js +24 -23
  133. package/dist/tui.js.map +1 -1
  134. package/dist/{turn-operations-BbGJ-KSt.d.ts → turn-operations-Dbk3xPKu.d.ts} +19 -4
  135. package/dist/turn-operations-Dbk3xPKu.d.ts.map +1 -0
  136. package/dist/{types-C0PJmBaO.d.ts → types-CMXR7A0b.d.ts} +2 -2
  137. package/dist/{types-C0PJmBaO.d.ts.map → types-CMXR7A0b.d.ts.map} +1 -1
  138. package/dist/types-CzmghX7C.js.map +1 -1
  139. package/dist/types.d.ts +2 -2
  140. package/dist/{url-CLl0u4Z8.js → url-D4vG7lzO.js} +2 -2
  141. package/dist/{url-CLl0u4Z8.js.map → url-D4vG7lzO.js.map} +1 -1
  142. package/dist/{version-v77Y4A3C.js → version-DDRBX7K6.js} +2 -2
  143. package/dist/{version-v77Y4A3C.js.map → version-DDRBX7K6.js.map} +1 -1
  144. package/dist/{workspace-exec-stream-kqARO8iC.js → workspace-exec-stream-iHv9cooF.js} +5 -5
  145. package/dist/{workspace-exec-stream-kqARO8iC.js.map → workspace-exec-stream-iHv9cooF.js.map} +1 -1
  146. package/dist/{write-file-QYrcDdl3.js → write-file-ChtRPdEL.js} +3 -3
  147. package/dist/{write-file-QYrcDdl3.js.map → write-file-ChtRPdEL.js.map} +1 -1
  148. package/dist/{ws-BD9FN98u.js → ws-B2HB87nz.js} +6 -6
  149. package/dist/{ws-BD9FN98u.js.map → ws-B2HB87nz.js.map} +1 -1
  150. package/dist/{ws-client-D7eb2UbH.js → ws-client-DPC9ZJHr.js} +4 -4
  151. package/dist/{ws-client-D7eb2UbH.js.map → ws-client-DPC9ZJHr.js.map} +1 -1
  152. package/docs/CODEMODE.md +6 -0
  153. package/docs/IPC.md +2 -0
  154. package/docs/ONBOARDING.md +1 -1
  155. package/package.json +1 -1
  156. package/dist/client-core-BdD20sOv.d.ts.map +0 -1
  157. package/dist/dispatcher-BICXFGiJ.js.map +0 -1
  158. package/dist/index-DyQyDLX1.d.ts.map +0 -1
  159. package/dist/mcp-allowlist-BQ5MvhHi.js.map +0 -1
  160. package/dist/oauth-TVPPye84.js.map +0 -1
  161. package/dist/prelude-HzY_JEGq.js.map +0 -1
  162. package/dist/protocol-BIv1Yuvl.js.map +0 -1
  163. package/dist/secret-shapes-CEoGmfEE.js.map +0 -1
  164. package/dist/session-7TUHs42_.js.map +0 -1
  165. package/dist/spaces-CyjMh5Zf.js.map +0 -1
  166. package/dist/store-L01W0gGI.js.map +0 -1
  167. package/dist/transcript-reconcile-DeFLIQ14.js.map +0 -1
  168. package/dist/turn-operations-BbGJ-KSt.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DyQyDLX1.d.ts","names":["_$__providers0.InputTransformation","_$___providers0.Provider","_$__oauth_registry0.OAuthProviderInterface","PiModel","PiMessage","PiAssistantMessage","PiMessage","_$__diagnostic0.ProviderDiagnostic","_$__providers_diagnostic0.ProviderDiagnostic","_default","_$__compose0.Preset","_$__0.ToolDef","_$__compose0.Preset"],"sources":["../src/providers/diagnostic.ts","../src/providers/model-catalog.ts","../src/thinking-levels.ts","../src/mcp/transport.ts","../src/mcp/origin-pinned-fetch.ts","../src/mcp/server-config.ts","../src/mcp/tool-meta.ts","../src/mcp/tool-result.ts","../src/mcp/index.ts","../src/session/artifacts.ts","../src/session/messages-pairing.ts","../src/session/messages.ts","../src/session/metadata-merge.ts","../src/session/file-map.ts","../src/session/memory.ts","../src/session/remote.ts","../src/session/index.ts","../src/skills/types.ts","../src/tool-state.ts","../src/aliasing.ts","../src/tools/read-state.ts","../src/tools/types.ts","../src/types.ts","../src/decisions/types.ts","../src/providers/images/types.ts","../src/providers/images/google.ts","../src/providers/images/openai.ts","../src/providers/images/openrouter.ts","../src/providers/images/xai.ts","../src/providers/anthropic-thinking.ts","../src/providers/oauth.ts","../src/providers/prompt-cache-key.ts","../src/providers/anthropic-params.ts","../src/providers/anthropic-cache.ts","../src/providers/anthropic-client.ts","../src/providers/anthropic-errors.ts","../src/providers/anthropic-request.ts","../src/providers/anthropic-usage.ts","../src/providers/anthropic.ts","../src/providers/arcee.ts","../src/providers/baseten.ts","../src/providers/cerebras.ts","../src/providers/cursor.ts","../src/providers/cost.ts","../src/providers/google.ts","../src/providers/local.ts","../src/providers/mistral.ts","../src/providers/neuralwatt.ts","../src/providers/openai.ts","../src/providers/openai-compat-stream.ts","../src/providers/openai-compat.ts","../src/providers/openrouter.ts","../src/providers/schema-sanitize.ts","../src/providers/xai.ts","../src/providers/zai.ts","../src/providers/index.ts","../src/cache-telemetry.ts","../src/skills/activation.ts","../src/agent-hooks.ts","../src/chat/context-breakdown.ts","../src/chat/context-segments.ts","../src/chat/agent-accent.ts","../src/chat/credentials.ts","../src/chat/provider-usage-format.ts","../src/compact/policy.ts","../src/chat/providers.ts","../src/chat/auth.ts","../src/chat/environment.ts","../src/chat/environment-settings.ts","../src/chat/model-chain.ts","../src/chat/format.ts","../src/chat/run-receipt.ts","../src/chat/orchestration.ts","../src/extensions/panels.ts","../src/chat/palette.ts","../src/chat/spaces.ts","../src/chat/types.ts","../src/chat/agents.ts","../src/chat/logs-view.ts","../src/logger.ts","../src/zod.ts","../src/chat/interactions-protocol.ts","../src/chat/interactions.tsx","../src/chat/commands.ts","../src/chat/completion-core.ts","../src/chat/inline-ghost.ts","../src/chat/inline-autocomplete.ts","../src/chat/theme.ts","../src/chat/xdg.ts","../src/skills/allowed-tools.ts","../src/install/source.ts","../src/skills/sources.ts","../src/skills/browse.ts","../src/skills/candidates.ts","../src/skills/catalog.ts","../src/skills/discovery.ts","../src/skills/install.ts","../src/skills/interpolate.ts","../src/skills/resolve.ts","../src/skills/validate.ts","../src/skills/weights.ts","../src/skills/writer.ts","../src/skills/index.ts","../src/plugins/types.ts","../src/plugins/load.ts","../src/plugins/manifest.ts","../src/plugins/mcp.ts","../src/plugins/skills.ts","../src/tools/model-search.ts","../src/tools/is-spawn-tool.ts","../src/tools/spawn.ts","../src/extensions/badge-actions.ts","../src/extensions/config.ts","../src/extensions/host-runtime.ts","../src/extensions/hud.ts","../src/extensions/types.ts","../src/extensions/artifact-detect.ts","../src/github/pulls.ts","../src/github/issues.ts","../src/github/state.ts","../src/github/client.ts","../src/extensions/github-pulls.ts","../src/extensions/builtin-artifact-kinds.ts","../src/extensions/bus.ts","../src/extensions/compose-preset.ts","../src/extensions/define.ts","../src/extensions/mcp-host.ts","../src/extensions/prompt-bridge.ts","../src/extensions/discover-and-build.ts","../src/extensions/discovery.ts","../src/extensions/host-modules.ts","../src/extensions/install.ts","../src/extensions/references.ts","../src/extensions/register.ts","../src/agent-types.ts","../src/decisions/errors.ts","../src/decisions/index.ts","../src/tools/tool-search.ts","../src/agent.ts","../src/presets/compose.ts","../src/presets/artifacts.ts","../src/behaviors/local-reliability.ts","../src/behaviors/repeat-guard.ts","../src/chat/generate-data.ts","../src/compact/messages.ts","../src/compact/prompt.ts","../src/compact/errors.ts","../src/compact/compact.ts","../src/compact/restore.ts","../src/compact/utils.ts","../src/run-summary.ts","../src/headless-format.ts","../src/tools/edit.ts","../src/tools/generate-image.ts","../src/tools/glob.ts","../src/tools/grep.ts","../src/tools/interaction.ts","../src/tools/list-files.ts","../src/tools/multi-edit.ts","../src/tools/read-file.ts","../src/tools/record-artifact.ts","../src/tools/shell.ts","../src/tools/shell-kill.ts","../src/tools/skills-read.ts","../src/tools/skills-run-script.ts","../src/tools/skills-use.ts","../src/tools/truncate.ts","../src/tools/validation.ts","../src/tools/wait-task.ts","../src/tools/write-file.ts","../src/headless.ts","../src/eval-metrics.ts","../src/eval-trajectory.ts","../src/eval-types.ts","../src/eval-agent.ts","../src/eval-artifacts.ts","../src/eval-execution.ts","../src/eval-judge.ts","../src/eval-registry.ts","../src/eval-report.ts","../src/eval-scorers.ts","../src/eval-summary.ts","../src/eval.ts","../src/extension-authoring.ts","../src/github/gh-cli.ts","../src/github/state-file.ts","../src/loop-compaction.ts","../src/loop-stale-reads.ts","../src/loop-tool-dispatch.ts","../src/loop-persistence.ts","../src/mcp/oauth-callback.ts","../src/mcp/oauth-provider.ts","../src/mcp/login.ts","../src/metrics.ts","../src/model-targets.ts","../src/mutation-validation.ts","../src/session/sqlite-driver.ts","../src/session/sqlite-readonly.ts","../src/session/sqlite-store.ts","../src/stats.ts","../src/system-freeze.ts","../src/tracing.ts","../src/presets/basic.ts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-allowlist-BQ5MvhHi.js","names":[],"sources":["../src/chat/turn-selection.ts","../src/chat/machine-protocol.ts","../src/chat/feature-gate.ts","../src/chat/footer-chips.ts","../src/chat/completion-chats.ts","../src/chat/stream-failure.ts","../src/chat/model-lineup.ts","../src/chat/text-model.ts","../src/chat/browser/protocol.ts","../src/chat/terminal/protocol.ts","../src/contexts/terminal-modes.ts","../src/chat/terminal/output-history.ts","../src/chat/mcp-allowlist.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// Transcript visibility + select-turn navigation — pure data rules consumed\n// by any renderer that walks a `StreamEvent[]`. They encode the user-facing\n// semantics (settings + edit-tool error prefixes) rather than any\n// presentation primitive, and import nothing node-bound — so they live in\n// their own leaf module that a browser-context renderer can import via\n// `zidane/chat/pure`. `store.ts` re-exports them; the TUI\n// re-exports them via `zidane/tui`.\n// ---------------------------------------------------------------------------\n\nimport type { SessionTurn } from '../types'\nimport type { Settings, StreamEvent } from './types'\nimport { searchHighlightRanges } from './history-search'\n\n/** Tools whose `tool-result` event is suppressed when `showEditDiffs` is on. */\nexport const EDIT_TOOL_NAMES: ReadonlySet<string> = new Set(['edit', 'multi_edit', 'write_file'])\n\n/**\n * Keep turn-selection mode alive after deleting its active row. Prefer the\n * row that slides into the deleted index; at the tail, select the new last\n * row. Returns null only when no selectable rows survive.\n *\n * @param before - Selectable turn ids before the removal.\n * @param removedId - Id of the removed turn.\n * @param after - Selectable turn ids after the removal.\n */\nexport function selectionAfterTurnRemoval(\n before: readonly string[],\n removedId: string,\n after: readonly string[],\n): string | null {\n if (after.includes(removedId))\n return removedId\n if (after.length === 0)\n return null\n const index = before.indexOf(removedId)\n return after[Math.min(Math.max(0, index), after.length - 1)] ?? null\n}\n\n/**\n * Recognize a tool-result body as carrying NON-success information so the\n * renderer doesn't suppress it under `showEditDiffs`. Categories:\n *\n * - `edit` → \"Edit error: …\"\n * - `write_file` permission errors wrapped by the loop → \"Tool failed: …\"\n * - `multi_edit` → single-line error `multi_edit error: …`, OR\n * a result carrying an `<edit-outcomes>…</edit-outcomes>` annotation\n * block. The host only appends the annotation when at least one hunk\n * was NOT applied, so its mere presence is the signal — the result\n * body needs to stay visible next to the diff so the user can read\n * denial / skip / failure reasons longer than the per-hunk badge.\n * - Fully-denied gate emit (`[fully denied] <edit-outcomes>…`) likewise\n * stays visible.\n *\n * Exported for unit-testability of the visibility matrix.\n *\n * @param text - Text of an edit tool result.\n */\nexport function isEditErrorResult(text: string): boolean {\n if (text.startsWith('Edit error:'))\n return true\n if (text.startsWith('Tool failed:'))\n return true\n if (text.startsWith('multi_edit error:'))\n return true\n if (text.startsWith('[fully denied]'))\n return true\n // The annotation block only appears when at least one hunk was NOT\n // applied (see `annotateEditResult` in `src/chat/host/edits/index.ts`), so a present\n // sentinel pair signals \"denial / skip / failure attached — surface\n // the result body so reasons are readable next to the diff badges\".\n if (text.includes('\\n<edit-outcomes>\\n') || text.startsWith('<edit-outcomes>\\n'))\n return true\n return false\n}\n\n/**\n * `callId` prefix minted by the TUI's `!` bash mode (see `runBashMode`\n * in `src/tui/commands/run-bash-mode.ts`). The prefix is the durable signal — it survives\n * persistence and replay — that a `shell` tool exchange was USER-initiated,\n * so renderers can keep it visible even when the tool-display settings\n * hide model-driven plumbing: the user typed the command and expects to\n * see it and what it printed.\n */\nexport const BASH_CALL_ID_PREFIX = 'bash_'\n\n/**\n * Is this event a user-initiated `!` bash exchange (vs. a model-driven shell call)?\n *\n * @param event - The event to test.\n */\nexport function isUserBashEvent(event: Pick<StreamEvent, 'tool' | 'callId'>): boolean {\n return event.tool === 'shell' && event.callId?.startsWith(BASH_CALL_ID_PREFIX) === true\n}\n\n/**\n * Prompt-history entries (↑/↓ cycling) from a transcript, in submit order:\n * every submitted prompt (`user-prompt` events, raw text) AND every `!` bash\n * command (its `tool` event, reconstructed as `!command` so a recalled entry\n * re-submits through the same bash path). Model-driven tool calls are\n * excluded — only what the user actually typed belongs in their history.\n * Works identically on live events and on `eventsFromTurns` replay, so bash\n * commands persist in the history across session reloads for free.\n */\nexport function promptHistoryFromEvents(events: readonly StreamEvent[]): string[] {\n const history: string[] = []\n for (const event of events) {\n // Skip synthetic echoes (command injected-prompt markers, context-note\n // `display` lines) — the user never typed them, so they must not\n // resurface via up-arrow recall.\n if (event.kind === 'user-prompt' && !event.synthetic)\n history.push(event.text)\n else if (event.kind === 'tool' && isUserBashEvent(event) && typeof event.input?.command === 'string')\n history.push(`!${event.input.command}`)\n }\n return history\n}\n\n/**\n * Retro-tag live `user-prompt` events with the id of their persisted turn.\n *\n * Live prompt echoes are appended to the stream BEFORE `agent.run()` mints\n * and persists the user turn, so they carry no `turnId` — which makes them\n * invisible to select-turn navigation, hover, and click (all keyed on\n * `turnId`), while the SAME prompt becomes selectable after a session reload\n * (replay tags every event). Hosts call this when the seeded turns land\n * (e.g. the `session:turns` hook, which fires right after the prompt turn\n * persists, before the first model turn).\n *\n * Matching rule, per prompt-bearing turn: the NEWEST `user-prompt` event\n * that has no `turnId` yet and whose text equals one of the turn's text\n * blocks — or the turn's `display` echo when the caller supplies one\n * (run-minted prompt turns never carry `display` themselves; the TUI's\n * command `runAgent` path injects the origin display onto a copy after the\n * sub-run resolves, since the echo event's text is the short display line,\n * not the full prompt). A prompt turn qualifies with at least one non-blank\n * text block, OR — the attachment-only submit — with media blocks\n * (document/image/audio/video) and no tool plumbing; the latter matches the\n * newest untagged blank-text event that carries attachment chips. Tool-\n * result-only user turns contribute nothing and synthetic loop-continue\n * turns match no untagged event, so both fall through harmlessly.\n *\n * Pure — returns the SAME array instance when nothing matched, so hosts\n * can cheaply skip a re-render.\n *\n * @param events - Current transcript events.\n * @param appendedTurns - Turns just persisted, in order.\n */\nexport function retagUserPromptEvents(\n events: readonly StreamEvent[],\n appendedTurns: readonly SessionTurn[],\n): readonly StreamEvent[] {\n return retagUserPromptEventsFromRefs(events, promptTurnRefs(appendedTurns))\n}\n\n/**\n * Reduce persisted turns to the prompt refs the retag needs, dropping\n * non-prompt turns (assistant, tool results) entirely.\n *\n * Shared by the in-process path and the daemon broadcast so both select the\n * same turns as \"prompts\" — a divergence here would make a prompt selectable\n * on one surface and not the other.\n *\n * @param turns - Persisted turns, in order.\n */\nexport function promptTurnRefs(turns: readonly SessionTurn[]): PromptTurnRef[] {\n const isMediaBlock = (b: SessionTurn['content'][number]): boolean =>\n b.type === 'document' || b.type === 'image' || b.type === 'audio' || b.type === 'video'\n const hasPromptText = (t: SessionTurn): boolean =>\n t.content.some(b => b.type === 'text' && b.text.trim().length > 0)\n const isAttachmentOnly = (t: SessionTurn): boolean =>\n t.content.some(isMediaBlock) && !t.content.some(b => b.type === 'tool_result')\n\n return turns\n .filter(t => t.role === 'user' && (hasPromptText(t) || isAttachmentOnly(t)))\n .map(turn => ({\n id: turn.id,\n texts: [\n ...turn.content.filter(b => b.type === 'text').map(b => b.text),\n ...(turn.display ? [turn.display] : []),\n ],\n // Attachment-only prompts have no (non-blank) text to match on — their\n // live echo is a blank-text event whose identity is the attachment chips.\n attachmentOnly: !hasPromptText(turn) && isAttachmentOnly(turn),\n }))\n}\n\n/**\n * The minimum a prompt turn must carry to be matched against its live echo.\n *\n * Exists because the daemon has to send this over a wire: a full `SessionTurn`\n * carries every content block, including base64 image and document payloads,\n * which would be megabytes per prompt to ship for the sake of attaching an id.\n */\nexport interface PromptTurnRef {\n /** Id of the user turn. */\n id: string\n /** Text blocks plus the `display` override, if any. */\n texts: readonly string[]\n /** Whether the turn has attachments and no prompt text. */\n attachmentOnly: boolean\n}\n\n/**\n * Attach persisted turn ids to the live `user-prompt` events they correspond\n * to, so a just-sent prompt becomes selectable (hover, click, edit, delete)\n * without waiting for a session reload.\n *\n * Matching is newest-first and one-to-one: identical prompt text sent twice\n * must bind to two different turns, so each ref consumes exactly one untagged\n * event.\n *\n * @param events - Current transcript events.\n * @param refs - Prompt turn refs from {@link promptTurnRefs}.\n */\nexport function retagUserPromptEventsFromRefs(\n events: readonly StreamEvent[],\n refs: readonly PromptTurnRef[],\n): readonly StreamEvent[] {\n if (refs.length === 0)\n return events\n let changed = false\n const next = [...events]\n for (const ref of refs) {\n const texts = new Set(ref.texts)\n for (let i = next.length - 1; i >= 0; i--) {\n const e = next[i]!\n if (e.kind !== 'user-prompt' || e.turnId)\n continue\n const matched = texts.has(e.text)\n || (ref.attachmentOnly && e.text.trim().length === 0 && (e.attachments?.length ?? 0) > 0)\n if (matched) {\n next[i] = { ...e, turnId: ref.id }\n changed = true\n break\n }\n }\n }\n return changed ? next : events\n}\n\n/** Searchable text of one stream event — tool name, label, and body text. */\nexport function streamEventSearchText(event: StreamEvent): string {\n return [event.tool, event.label, event.text].filter(Boolean).join('\\n')\n}\n\n/**\n * Whether `event` shows while a search is active: whatever {@link isVisible}\n * shows, plus top-level rows the search matches.\n *\n * @param event - The event to test.\n * @param settings - The user's transcript settings.\n * @param query - The search query.\n */\nexport function isVisibleDuringSearch(event: StreamEvent, settings: Settings, query: string): boolean {\n if (isVisible(event, settings))\n return true\n // Search may reveal a matching top-level row that its normal preference\n // hides (thinking, tool results — including a subagent's final report).\n // Nested child output stays collapsed and signals through the visible\n // lifecycle parent instead.\n return (event.depth ?? 0) === 0\n && searchHighlightRanges(streamEventSearchText(event), query).length > 0\n}\n\n/** `notice.label` the host stamps on prompt-cache break/expiry rows (`host/notices/index.ts`). */\nexport const CACHE_NOTICE_LABEL = 'cache'\n\n/**\n * Whether `event` shows in the transcript under the user's toggles, including\n * `hideSubagentOutput`, `showEditDiffs`, `showThinking` and `showToolResults`.\n * When subagent output is hidden:\n * - Child-agent events are filtered down to the `spawn-start` /\n * `spawn-end` markers so the user still sees \"🌱 working… 🌳 done\".\n * - The parent's `tool-result` for `spawn` is hidden too. Its body\n * duplicates `spawn-end`'s stats line *and* the parent's next\n * markdown turn; showing it again produces an extra\n * `┃ [sub-agent child-1] Completed …` block users just want gone.\n *\n * Renderer-agnostic — returns plain `boolean` so TUI / GUI consumers\n * can filter events identically.\n *\n * @param event - The event to test.\n * @param settings - The user's transcript settings.\n */\nexport function isVisible(event: StreamEvent, settings: Settings): boolean {\n // A codemode script's calls show under its row only with `codemodeShowCalls`,\n // except calls that run a subagent: their worker attaches to that row.\n if (event.parentToolCallId !== undefined && !event.runsNestedAgent && !settings.codemodeShowCalls)\n return false\n if (settings.hideSubagentOutput) {\n if ((event.depth ?? 0) > 0)\n return event.kind === 'spawn-start' || event.kind === 'spawn-end'\n if (event.kind === 'tool-result' && event.tool === 'spawn')\n return false\n }\n // Suppress successful `tool-result`s for edit/multi_edit/write_file when\n // the diff renderer is on — the diff itself is the success indicator;\n // the `Edited path: N replacements.` line just adds noise. Error\n // results bypass the suppression so failures stay visible.\n if (\n settings.showEditDiffs\n && event.kind === 'tool-result'\n && event.tool\n && EDIT_TOOL_NAMES.has(event.tool)\n && !isEditErrorResult(event.text)\n ) {\n return false\n }\n switch (event.kind) {\n case 'thinking': return settings.showThinking\n // User-initiated `!` bash rows are never hidden — the user ran the\n // command to SEE it and its output; `toolCallDisplay` / `showToolResults`\n // gate model plumbing only. Without the `tool` exemption, hiding tool\n // calls would leave bash output floating with no sign of what ran.\n case 'tool': return settings.toolCallDisplay !== 'hidden' || isUserBashEvent(event)\n case 'tool-result': return settings.showToolResults || isUserBashEvent(event)\n case 'run-summary': return settings.showRunReceipt\n case 'info': return settings.showCacheNotices || event.notice?.label !== CACHE_NOTICE_LABEL\n // State for its spawn call's line, never a row of its own: it reaches\n // the compact fold (which shows the call as waiting) and nothing else.\n case 'spawn-queued': return settings.transcriptDensity === 'compact'\n default: return true\n }\n}\n\n/**\n * Build the `resultTurnId → owningAssistantTurnId` map used by the select-\n * turn mode to coalesce a tool-call's surrounding turns into ONE navigation\n * stop.\n *\n * Protocol shape: every `tool_call` block in an assistant turn is closed by\n * a matching `tool_result` block in the *next* user turn (the agent loop's\n * history validator depends on this). When the next user turn's only events\n * are `tool-result`s — i.e. it's pure plumbing for the prior assistant\n * turn — we map it back to that assistant turn here. The select-turn nav\n * index ({@link selectableTurnIds}) skips owned turns, and the renderer's\n * highlight gate ({@link isTurnHighlighted}) extends the selection accent\n * from the assistant turn to the events of any turn it owns. Net effect:\n *\n * - Navigation never lands the cursor on a result-only turn whose own\n * events may be hidden by `showToolResults: false` — the cursor\n * wouldn't be visible.\n * - Selecting an assistant turn highlights the call AND its result as\n * one unit, matching the user's mental model of \"one message\".\n *\n * Owner-lookup is conservative: result-only turns with no matching prior\n * assistant turn (orphaned — usually because the parent was deleted)\n * stay selectable so the user can act on them via the turn-details modal.\n *\n * Subagent (`childId` set) events are ignored — they live in a separate\n * conversation tree.\n *\n * @param events - Transcript events in order.\n */\nexport function turnSelectionOwnership(events: readonly StreamEvent[]): Map<string, string> {\n // Build per-turn event-kind summary in render order. We need:\n // - Whether a turn is \"result-only\" (every event is `tool-result`).\n // - The most recent previous turn that emitted a `tool` event (= the\n // candidate owner for the next result-only turn).\n const orderedTurnIds: string[] = []\n const summaryByTurn = new Map<string, { kinds: StreamEvent['kind'][], resultCallIds: string[] }>()\n const callOwner = new Map<string, string>()\n for (const e of events) {\n if (!e.turnId)\n continue\n if (e.childId)\n continue\n let summary = summaryByTurn.get(e.turnId)\n if (!summary) {\n orderedTurnIds.push(e.turnId)\n summary = { kinds: [], resultCallIds: [] }\n summaryByTurn.set(e.turnId, summary)\n }\n summary.kinds.push(e.kind)\n if (e.callId) {\n if (e.kind === 'tool')\n callOwner.set(e.callId, e.turnId)\n else if (e.kind === 'tool-result')\n summary.resultCallIds.push(e.callId)\n }\n }\n\n const ownership = new Map<string, string>()\n let lastToolEmitterTurnId: string | null = null\n for (const tid of orderedTurnIds) {\n const { kinds, resultCallIds } = summaryByTurn.get(tid)!\n const isResultOnly = kinds.length > 0 && kinds.every(k => k === 'tool-result')\n if (isResultOnly) {\n // Prefer the exact callId owner: in a FILTERED transcript (search) an\n // unrelated tool-emitting turn can sit between a result and its true\n // owner, so adjacency alone would coalesce onto the interloper.\n const exactOwner = resultCallIds\n .map(callId => callOwner.get(callId))\n .find(owner => owner !== undefined && owner !== tid)\n if (exactOwner)\n ownership.set(tid, exactOwner)\n else if (lastToolEmitterTurnId)\n ownership.set(tid, lastToolEmitterTurnId)\n // No owner found — leave the orphan selectable. Don't update\n // `lastToolEmitterTurnId` either (a result-only turn never emits\n // a `tool` event itself).\n continue\n }\n if (kinds.includes('tool'))\n lastToolEmitterTurnId = tid\n }\n return ownership\n}\n\n/**\n * Render-time check: should `event` paint with the selection accent?\n *\n * `true` when the event's own turn is selected, OR when the selected turn\n * `owns` the event's turn via {@link turnSelectionOwnership} (the call and\n * its tool-result rows highlight together), OR when the event's turn owns the\n * selected turn (a result-only turn selected highlights its call). `false` when nothing is\n * selected or the relationship doesn't apply.\n *\n * Pure. Renderer-agnostic — the TUI's `<Transcript>` uses it; a GUI's\n * equivalent walks the same rule.\n *\n * @param event - The event being rendered.\n * @param selectedTurnId - The selected turn id, or `null` when nothing is selected.\n * @param ownership - Map from an owned turn id to its owner, from {@link turnSelectionOwnership}.\n */\nexport function isTurnHighlighted(\n event: Pick<StreamEvent, 'turnId'>,\n selectedTurnId: string | null,\n ownership: ReadonlyMap<string, string>,\n): boolean {\n if (selectedTurnId === null || !event.turnId)\n return false\n if (event.turnId === selectedTurnId)\n return true\n return ownership.get(event.turnId) === selectedTurnId\n || ownership.get(selectedTurnId) === event.turnId\n}\n\n/**\n * Ownership for \"one selection stop per message\": result-only turns fold\n * into their assistant turn (`turnSelectionOwnership`), and turns that only\n * did work (thinking, tool calls, worker markers) fold into the answer that\n * follows them in the same exchange. \"Read three files, then answered\" is\n * one stop, so ↑ moves one visible message at a time. An exchange that ends\n * in work alone stops on its first work turn. Same rule as the GUI's\n * `computeSelectStops`.\n *\n * @param events - Transcript events in order.\n */\nexport function messageSelectionOwnership(events: readonly StreamEvent[]): Map<string, string> {\n const base = turnSelectionOwnership(events)\n const resolve = (id: string): string => base.get(id) ?? id\n const stops = new Set<string>()\n const merged = new Map<string, string>()\n let pending: string[] = []\n const settle = (into: string | null) => {\n const target = into ?? pending[0]\n for (const id of pending) {\n if (target !== undefined && id !== target)\n merged.set(id, target)\n }\n if (target !== undefined)\n stops.add(target)\n pending = []\n }\n for (const event of events) {\n if (event.childId !== undefined || (event.depth ?? 0) > 0)\n continue\n if (event.kind === 'separator' || event.kind === 'user-prompt' || event.kind === 'compact-summary')\n settle(null)\n if (!event.turnId)\n continue\n const owner = resolve(event.turnId)\n const work = event.kind === 'tool' || event.kind === 'tool-result' || event.kind === 'thinking'\n || event.kind === 'spawn-start' || event.kind === 'spawn-end' || event.kind === 'command-detail'\n || (event.kind === 'info' && event.notice === undefined)\n if (event.kind === 'markdown' && event.text.trim()) {\n stops.add(owner)\n settle(owner)\n }\n else if (work) {\n if (!stops.has(owner) && !pending.includes(owner))\n pending.push(owner)\n }\n else if (event.kind !== 'user-prompt' && event.kind !== 'compact-summary') {\n settle(null)\n stops.add(owner)\n }\n else {\n stops.add(owner)\n }\n }\n settle(null)\n const out = new Map<string, string>()\n const final = (id: string): string => merged.get(id) ?? id\n for (const [raw, owner] of base) {\n const stop = final(owner)\n if (stop !== raw)\n out.set(raw, stop)\n }\n for (const [id, stop] of merged)\n out.set(id, stop)\n return out\n}\n\n/**\n * Deduplicated, in-order list of **parent-conversation** turn ids that appear\n * in a rendered transcript — the navigation index for the TUI's select-turn\n * mode. Three classes of turns are deliberately skipped:\n *\n * - **Subagent turns** (`childId` set). Nested execution detail; the\n * user's mental model of a \"message\" is the conversational exchange,\n * not each spawn turn. Also filtered out by `isVisible` under\n * `hideSubagentOutput: true` — selecting them would highlight nothing.\n * - **Result-only turns** — see {@link turnSelectionOwnership}. These get\n * coalesced into the assistant turn that emitted their tool_calls.\n * - **Settings-hidden turns** (when `settings` is supplied). A turn whose\n * every event fails {@link isVisible} would render no rows — landing\n * the cursor there hides it from the user entirely. The check is opt-\n * in so SDK callers without a Settings object get the\n * \"everything visible\" behavior.\n *\n * Synthetic events (separator, spawn-start, spawn-end) have no `turnId` and\n * are skipped naturally.\n *\n * @param events - Transcript events in order.\n * @param settings - When set, turns with no visible event are skipped.\n * @param visible - Overrides {@link isVisible} for the settings check.\n * @param opts - `byMessage` makes one stop per visible message.\n */\nexport function selectableTurnIds(\n events: readonly StreamEvent[],\n settings?: Settings,\n visible?: (event: StreamEvent) => boolean,\n opts?: { byMessage?: boolean },\n): string[] {\n // `byMessage`: one stop per visible message (`messageSelectionOwnership`).\n const ownership = opts?.byMessage ? messageSelectionOwnership(events) : turnSelectionOwnership(events)\n\n // Per-turn visible event count (only computed when settings is supplied).\n // We need this to drop turns whose every event is filtered out by user\n // toggles — otherwise `↑/↓` could land the cursor on a row that paints\n // nothing visible.\n const visibleCount = settings ? new Map<string, number>() : null\n if (settings && visibleCount) {\n for (const e of events) {\n if (!e.turnId || e.childId)\n continue\n if (!(visible ? visible(e) : isVisible(e, settings)))\n continue\n visibleCount.set(e.turnId, (visibleCount.get(e.turnId) ?? 0) + 1)\n }\n }\n\n const seen = new Set<string>()\n const ordered: string[] = []\n for (const e of events) {\n if (!e.turnId)\n continue\n if (e.childId)\n continue\n if (seen.has(e.turnId))\n continue\n if (ownership.has(e.turnId))\n continue // result-only — owned by an earlier assistant turn\n if (visibleCount && (visibleCount.get(e.turnId) ?? 0) === 0)\n continue // every event of this turn is hidden by user settings\n seen.add(e.turnId)\n ordered.push(e.turnId)\n }\n return ordered\n}\n","import type { JsonValue } from '../types'\n/**\n * The machine protocol (`docs/MACHINES.md`): what a machine and its host say\n * over the machine's own WebSocket. Leaf module, shared by the host engine\n * (`chat/host/machines`), the machine agent (`ipc/machine`) and the IPC\n * protocol (re-exported by `ipc/protocol.ts`).\n */\nimport type { EnvironmentConfig } from './environment'\n\n/** Bumped on an incompatible change; a host refuses another major. */\nexport const MACHINE_PROTOCOL_VERSION = 1\n\n/** A directory a machine exposes to its host. */\nexport interface MachineRoot {\n /** Absolute path of the root on the machine. */\n path: string\n /** Display name for the root. */\n label?: string\n}\n\n/** What a machine can do, sent in `machine.register`. */\nexport interface MachineCapabilities {\n /** Runs commands (`exec.*`). */\n shell: boolean\n /** Opens terminals (`terminal.*`). */\n terminals: boolean\n /** Runs background tasks (`bg.*`). */\n background: boolean\n /** Prepares and tears down git worktrees (`env.prepareWorktree`, `env.teardownWorktree`). */\n worktrees: boolean\n /** `exec.stream*` (live stdin/stdout: context-scoped MCP servers). Absent on older machines. */\n stream?: boolean\n /** The machine runs every command under its own OS sandbox (its user's `sandbox*` settings). */\n sandboxed?: boolean\n}\n\n/** At most this many live `exec.stream` processes per machine. */\nexport const MACHINE_MAX_STREAMS = 16\n/** Largest `data` chunk (decoded bytes) of one `exec.stream.data` notification or `exec.stream.write`. */\nexport const MACHINE_STREAM_CHUNK_BYTES = 256 * 1024\n\n/** Params of `machine.register`, the first call a machine makes on its host. */\nexport interface MachineRegisterParams {\n /** Stable machine id. */\n machineId: string\n /** Machine name, valid per {@link isValidMachineName}. */\n name: string\n /** Directories the machine exposes. */\n roots: MachineRoot[]\n /** What the machine can do. */\n capabilities: MachineCapabilities\n /** Machine software version. */\n version: string\n /** The machine's {@link MACHINE_PROTOCOL_VERSION}. */\n protocolVersion: number\n}\n\n/** Result of `machine.register`. */\nexport interface MachineRegisterResult {\n /** Id the host bound the machine to. */\n machineId: string\n /** The host's id, when it reports one. */\n hostId?: string\n}\n\n/** A handle as the host names it: the machine rebuilds an unknown one (it restarted). */\nexport interface MachineHandleRef {\n id: string\n cwd: string\n}\n\n/** Options of `fs.list`. */\nexport interface MachineListOptions {\n glob?: boolean\n limit?: number\n metadata?: boolean\n gitignore?: boolean\n}\n\n/** A background task started by `bg.start`. */\nexport interface MachineTaskHandle {\n /** Task id. */\n taskId: string\n /** Process id on the machine. */\n pid: number\n /** Path on the machine that receives the task output. */\n outputPath: string\n}\n\n/** A machine's worktree, on its filesystem. */\nexport interface MachineWorktreeRef {\n path: string\n repoRoot: string\n}\n\n/** Requests the host sends to a machine: params → result. */\nexport interface MachineMethods {\n 'machine.ping': { params: Record<string, never>, result: { ok: true } }\n 'exec.spawn': { params: { handle: MachineHandleRef }, result: { id: string, cwd: string } }\n 'exec.run': { params: { handle: MachineHandleRef, callId: string, command: string, cwd?: string, env?: Record<string, string>, timeout?: number }, result: { stdout: string, stderr: string, exitCode: number } }\n 'exec.cancel': { params: { callId: string }, result: { cancelled: boolean } }\n 'exec.destroy': { params: { handle: MachineHandleRef }, result: { ok: true } }\n /** Start a live process; its output comes as `exec.stream.data` / `exec.stream.exit`, `exec.cancel` kills it. */\n 'exec.stream': { params: { handle: MachineHandleRef, callId: string, command: string, cwd?: string, env?: Record<string, string> }, result: { pid: number } }\n 'exec.stream.write': { params: { callId: string, data: string }, result: { ok: true } }\n 'fs.read': { params: { handle: MachineHandleRef, path: string, binary?: boolean }, result: { content: string } }\n 'fs.write': { params: { handle: MachineHandleRef, path: string, content: string }, result: { ok: true } }\n 'fs.list': { params: { handle: MachineHandleRef, path: string, options?: MachineListOptions }, result: { entries: Array<string | { path: string, size?: number, mtimeMs?: number }> } }\n 'fs.size': { params: { handle: MachineHandleRef, path: string }, result: { size: number | null } }\n 'bg.start': { params: { handle: MachineHandleRef, command: string, cwd?: string, env?: Record<string, string>, maxOutputBytes?: number }, result: MachineTaskHandle }\n 'bg.list': { params: { handle: MachineHandleRef }, result: { tasks: JsonValue[] } }\n 'bg.kill': { params: { handle: MachineHandleRef, taskId: string }, result: { exit: JsonValue | null } }\n 'bg.wait': { params: { handle: MachineHandleRef, taskId: string, timeoutMs?: number }, result: { exit: JsonValue | null } }\n 'terminal.open': { params: { handle: MachineHandleRef, cols: number, rows: number, cwd?: string }, result: { terminalId: string } }\n 'terminal.attach': { params: { terminalId: string }, result: { attached: boolean, backlog: string, total: number } }\n 'terminal.write': { params: { terminalId: string, data: string }, result: { ok: true } }\n 'terminal.resize': { params: { terminalId: string, cols: number, rows: number }, result: { ok: true } }\n 'terminal.kill': { params: { terminalId: string }, result: { ok: true } }\n 'terminal.detach': { params: { terminalId: string }, result: { ok: true } }\n 'env.checkFolder': { params: { cwd: string }, result: { cwd: string } }\n 'env.prepareWorktree': { params: { cwd: string, branch: string, base?: string, config: EnvironmentConfig }, result: { cwd: string, branch: string, base: string, ref: MachineWorktreeRef } }\n 'env.teardownWorktree': { params: { ref: MachineWorktreeRef, branch?: string, config: EnvironmentConfig }, result: { removed: boolean, reason?: string } }\n}\n\nexport type MachineMethodName = keyof MachineMethods\nexport type MachineParams<M extends MachineMethodName> = MachineMethods[M]['params']\nexport type MachineResult<M extends MachineMethodName> = MachineMethods[M]['result']\n\n/** Notifications a machine sends its host (base64 `data`). */\nexport interface MachineNotifications {\n 'terminal.data': { terminalId: string, data: string }\n 'terminal.exit': { terminalId: string, code: number }\n 'task.exit': { taskId: string, exit: JsonValue }\n 'exec.stream.data': { callId: string, stream: 'stdout' | 'stderr', data: string }\n 'exec.stream.exit': { callId: string, code: number }\n}\n\n/**\n * Calls whose re-send after a lost reply cannot change anything (reads, and\n * the idempotent handle calls: the machine keys handles by the host's id).\n * Everything else that was sent is reported as a lost result, never re-sent.\n */\nexport const MACHINE_IDEMPOTENT_METHODS: ReadonlySet<MachineMethodName> = new Set<MachineMethodName>([\n 'machine.ping',\n 'exec.spawn',\n 'exec.cancel',\n 'exec.destroy',\n 'fs.read',\n 'fs.list',\n 'fs.size',\n 'bg.list',\n 'bg.wait',\n 'env.checkFolder',\n 'terminal.attach',\n])\n\n/** Methods a machine connection may call on its host. */\nexport const MACHINE_HOST_METHODS = ['machine.register'] as const\n\n/** Error codes of the machine protocol (JSON-RPC server-error range, apart from `IpcErrorCode`). */\nexport const MachineErrorCode = {\n /** A machine connection called a client method, or a client a machine one. */\n MethodNotAllowed: -32040,\n /** `machine.register` from another major `MACHINE_PROTOCOL_VERSION`. */\n VersionSkew: -32041,\n /** The name is held by another machine on this host. */\n NameTaken: -32042,\n /** A path or cwd outside the machine's roots, or in its data dir. */\n OutsideRoots: -32043,\n /** The machine id is bound to another (live) token, or this token was used by the machine before the host forgot it. */\n IdBound: -32044,\n /** No room now (a capacity limit): try again later, unlike a refusal. */\n Busy: -32045,\n} as const\n\n/** A machine as clients see it (`machines.list`, `environments.list`). */\nexport interface MachineInfo {\n /** Stable machine id. */\n id: string\n /** Machine name, valid per {@link isValidMachineName}. */\n name: string\n /** Directories the machine allows commands and file access in. */\n roots: MachineRoot[]\n /** Whether the machine is connected to the host now. */\n status: 'online' | 'offline'\n /** Time of the last connection, in epoch milliseconds. */\n lastSeen?: number\n /** Version the machine reported when it registered. */\n version?: string\n /** What it registered with (absent: never connected since this host recorded it). */\n capabilities?: Partial<MachineCapabilities>\n}\n\n/** `machine:status` payload. */\nexport interface MachineStatusChange {\n /** Id of the machine whose status changed. */\n machineId: string\n /** Name of the machine. */\n name: string\n /** New connection status. */\n status: 'online' | 'offline'\n}\n\n/**\n * What a local host's machine links are doing (`machines.links.status`,\n * `machine:links`): this computer shared with a saved server (it is the\n * machine), and saved servers used as machines (`local@<server>`, the\n * reverse direction over this host's own client connection).\n */\nexport type MachineLinkState = 'connecting' | 'connected' | 'reconnecting' | 'offline' | 'auth-refused' | 'identity' | 'version-mismatch' | 'refused'\n\n/** State of this computer's share to one saved server, where it acts as a machine. */\nexport interface MachineShareStatus {\n /** The saved server's host id. */\n hostId: string\n /** This computer's name there (`local@<name>`). */\n name: string\n /** Paths shared with the server. */\n roots: string[]\n /** Connection state of the link. */\n state: MachineLinkState\n /** Why it is not connected. Never a token. */\n detail?: string\n}\n\n/** State of one saved server used as a machine by this host. */\nexport interface MachineUseStatus {\n /** The saved server's host id. */\n hostId: string\n /** Connection state of the link. */\n state: MachineLinkState\n /** Why the link is not connected. Never a token. */\n detail?: string\n /** The server's machine name on this host, once attached. */\n machineName?: string\n}\n\n/** Status of every machine link of a local host. */\nexport interface MachineLinksStatus {\n /** This computer shared with saved servers. */\n shares: MachineShareStatus[]\n /** Saved servers used as machines. */\n uses: MachineUseStatus[]\n}\n\n/** Where a local host keeps the machine token a saved server gave it (credentials store). */\nexport function machineCredentialKey(hostId: string): string {\n return `machine:${hostId}`\n}\n\n/**\n * A machine name from a free-form one (a server's display name): the valid characters kept, the rest dashed.\n *\n * @param raw - Free-form name, such as a server's display name.\n */\nexport function toMachineName(raw: string): string {\n const cleaned = raw.trim().replace(/[^\\w.-]+/g, '-').replace(/^-+|-+$/g, '').slice(0, 64)\n return cleaned || 'machine'\n}\n\n/**\n * A machine-qualified environment kind: `<base>@<machine name>`.\n *\n * @param base - Base environment kind.\n * @param name - Machine name.\n */\nexport function machineKind(base: 'local' | 'worktree', name: string): string {\n return `${base}@${name}`\n}\n\n/**\n * `{ base, name }` of a machine-qualified kind, `null` for any other.\n *\n * @param kind - Environment kind, such as `local@laptop`.\n */\nexport function parseMachineKind(kind: string): { base: 'local' | 'worktree', name: string } | null {\n const match = /^(local|worktree)@(.+)$/.exec(kind)\n return match ? { base: match[1] as 'local' | 'worktree', name: match[2]! } : null\n}\n\n/**\n * A machine name: one path-safe segment, so `local@<name>` is unambiguous.\n *\n * @param name - Candidate machine name.\n */\nexport function isValidMachineName(name: string): boolean {\n return /^[\\w.-]{1,64}$/.test(name)\n}\n","/**\n * Opt-in feature gates: an experimental feature is one boolean setting\n * (default off) plus a kill-switch env var that wins over it.\n *\n * The kill switch exists so a bug in the gated path can never lock the user\n * out: the ungated path is always one flag away, even when the settings UI\n * itself is unreachable. Each gate names its flag (`--no-daemon`,\n * `--no-remote`); the CLI's {@link applyKillSwitchFlags} exports the env var\n * for the process, so child processes inherit the switch too.\n *\n * Node-free on purpose (re-exported from `zidane/chat/pure`): the TUI and the\n * GUI main process share one definition per gate, so both read the same\n * setting and honor the same kill switch.\n */\n\ntype Env = Record<string, string | undefined>\n\n/** Options for {@link defineFeatureGate}. */\nexport interface FeatureGateOptions<K extends string> {\n /** Settings key holding the opt-in. Only a literal `true` enables. */\n setting: K\n /** Env var that disables the feature when set to `'1'`, whatever the setting says. */\n killSwitchEnv: string\n /** The `zidane` flag that sets {@link killSwitchEnv} for the launch (`--no-…`). */\n flag: string\n}\n\n/** A feature gate created by {@link defineFeatureGate}. */\nexport interface FeatureGate<K extends string> {\n /** Settings key holding the opt-in. */\n readonly setting: K\n /** Env var that disables the feature when set to `'1'`. */\n readonly killSwitchEnv: string\n /** CLI flag that sets the kill-switch env var for the launch. */\n readonly flag: string\n /** The kill-switch env var is set to `'1'`. */\n isKilled: (env?: Env) => boolean\n /** Setting is `true` and the kill switch is not engaged. */\n isEnabled: (settings: Partial<Record<K, unknown>>, env?: Env) => boolean\n}\n\n/** `process.env` when there is one; a renderer has no `process`. */\nfunction ambientEnv(): Env {\n return (globalThis as { process?: { env?: Env } }).process?.env ?? {}\n}\n\n/**\n * Creates a {@link FeatureGate} from its setting key, kill-switch env var, and CLI flag.\n *\n * @param options - Setting key, kill-switch env var, and flag name.\n * @example\n * ```ts\n * import { defineFeatureGate } from 'zidane/chat'\n *\n * const gate = defineFeatureGate({ setting: 'daemon', killSwitchEnv: 'ZIDANE_NO_DAEMON', flag: '--no-daemon' })\n * gate.isEnabled({ daemon: true }, {}) // true\n * gate.isEnabled({ daemon: true }, { ZIDANE_NO_DAEMON: '1' }) // false\n * ```\n */\nexport function defineFeatureGate<K extends string>({ setting, killSwitchEnv, flag }: FeatureGateOptions<K>): FeatureGate<K> {\n const isKilled = (env: Env = ambientEnv()): boolean => env[killSwitchEnv] === '1'\n return {\n setting,\n killSwitchEnv,\n flag,\n isKilled,\n isEnabled: (settings, env) => settings[setting] === true && !isKilled(env),\n }\n}\n\n/**\n * The shared daemon runtime. `ZIDANE_NO_DAEMON=1` is set by\n * `zidane --no-daemon`.\n */\nexport const daemonGate = defineFeatureGate({ setting: 'useDaemon', killSwitchEnv: 'ZIDANE_NO_DAEMON', flag: '--no-daemon' })\n\n/**\n * Remote hosts (zidane-server). The setting (\"Remote hosts\")\n * gates the saved servers: the Hosts settings, the per-host session groups\n * and picking a host for a new session. Connecting through an explicit `--host` /\n * `ZIDANE_HOST_URL` is its own opt-in, but `ZIDANE_NO_REMOTE=1` still wins\n * over it (`src/tui/host-target.ts`). `ZIDANE_NO_REMOTE=1` is set by\n * `zidane --no-remote`.\n */\nexport const remoteHostsGate = defineFeatureGate({ setting: 'remoteHosts', killSwitchEnv: 'ZIDANE_NO_REMOTE', flag: '--no-remote' })\n\n/** Every gate, so a client can report which kill switches are engaged. */\nexport const FEATURE_GATES: readonly FeatureGate<string>[] = [daemonGate, remoteHostsGate]\n\n/**\n * The kill-switch env vars engaged in `env`, sorted. The GUI main process\n * hands this to its renderer (which has no `process.env`) so settings rows\n * can say why they are inert.\n *\n * @param env - Environment to read. Defaults to `process.env`, or an empty object when there is none.\n */\nexport function engagedKillSwitches(env: Env = ambientEnv()): string[] {\n return FEATURE_GATES.filter(g => g.isKilled(env)).map(g => g.killSwitchEnv).sort()\n}\n\n/**\n * Engages the kill switch of every gate whose flag is in `args` (sets its env\n * var to `'1'` in `env`, so child processes inherit it) and returns `args`\n * without those flags.\n */\nexport function applyKillSwitchFlags(args: readonly string[], env: Env): string[] {\n const rest: string[] = []\n for (const arg of args) {\n const gate = FEATURE_GATES.find(g => g.flag === arg)\n if (gate)\n env[gate.killSwitchEnv] = '1'\n else\n rest.push(arg)\n }\n return rest\n}\n\n/**\n * `name` is set to `'1'` in `env`: the kill-switch test, for a row that only knows the variable.\n *\n * @param name - Kill-switch env var name.\n * @param env - Environment to read. Defaults to `process.env`, or an empty object when there is none.\n */\nexport function isKillSwitchEngaged(name: string, env: Env = ambientEnv()): boolean {\n return env[name] === '1'\n}\n","/**\n * Presentation logic for the transient footer status chips, shared by every\n * surface: the prompt-cache chip, the provider-retry indicator, the live run\n * readout and the compaction readout.\n *\n * The cache and retry chips both report an invisible condition with no error attached — a turn re-billing\n * a prefix the provider should have served from cache, or a stalled stream being\n * retried — and both carry real judgment in their wording: which dimensions\n * changed, when a figure is an estimate, when there is no figure to show at\n * all, whose stream is stuck. That is why they live here instead of being\n * re-derived per surface. A GUI chip that rounded differently, or printed\n * `$0.00` where the TUI printed nothing, would be reporting different facts\n * about the same event.\n *\n * Node-free, so it is re-exported from `zidane/chat/pure` for the Electron\n * renderer.\n */\nimport type { CacheBreakInfo } from '../cache-telemetry'\nimport { fmtTokens, formatDuration, formatElapsed } from './format'\n\n/**\n * `warn` = a real cache break (a named dimension changed, so it was\n * avoidable); `dim` = ordinary TTL expiry, which is not anyone's fault and\n * should not shout.\n */\nexport type CacheChipTone = 'warn' | 'dim'\n\n/** Content of the prompt-cache chip. Built by {@link cacheBreakChip}. */\nexport interface CacheChipContent {\n /** Severity: `warn` for an avoidable break, `dim` for an ordinary expiry. */\n tone: CacheChipTone\n /** Leading glyph. Kept out of `label` so a surface can style it separately. */\n glyph: string\n /** Chip text after the glyph: `cache break in system: +41.6k tok, ~$0.48`. Plain, because the TUI shows it in a hint slot. */\n label: string\n}\n\n/**\n * Abbreviate a re-billed token count: `1200` → `1.2k`, `800` → `800`.\n * Thousands only: `1500000` reads as `1500.0k`.\n */\nfunction formatTokens(tokens: number): string {\n return tokens >= 1000 ? `${(tokens / 1000).toFixed(1)}k` : String(tokens)\n}\n\n/**\n * Build the chip for a cache break.\n *\n * `costUsd` is OPTIONAL and omitted entirely on a rate miss — never rendered\n * as `$0.00`. A fabricated zero would read as \"this was free\", which is the\n * opposite of what the chip exists to say. When present it is prefixed `~`\n * because it is an estimate (registry rates × re-billed prefix), and clamped\n * to `<0.01` rather than rounding a real charge down to nothing.\n *\n * @param info - Cache break report, with an optional estimated cost in USD.\n */\nexport function cacheBreakChip(info: CacheBreakInfo & { costUsd?: number }): CacheChipContent {\n const rebilled = formatTokens(info.rebilledTokens)\n const cost = info.costUsd !== undefined\n ? `, ~$${info.costUsd < 0.01 ? '<0.01' : info.costUsd.toFixed(2)}`\n : ''\n\n // No named dimension changed → the prefix simply aged out of the provider's\n // cache window. Reported quietly: nothing was done wrong.\n if (info.changed.length === 0) {\n return { tone: 'dim', glyph: '⚡', label: `cache expired: +${rebilled} tok${cost}` }\n }\n\n return {\n tone: 'warn',\n glyph: '⚡',\n label: `cache break in ${info.changed.join('/')}: +${rebilled} tok${cost}`,\n }\n}\n\n/**\n * Transcript-row text for a persisted cache-break notice. Multi-line, one\n * fact per line, so both hosts can show a short headline and fold or list\n * the rest:\n *\n * cache break ↑116.9k tokens ~$0.48\n * messagePrefix: message 16 of 41→43 rewritten\n * likely compaction or history trimming\n *\n * The footer chip stays terse; the row carries the culprit so a break is\n * diagnosable from the transcript. Only the headline on a TTL / eviction\n * break (nothing was done wrong).\n *\n * @param info - Cache break report, with an optional estimated cost in USD.\n */\nexport function cacheBreakNoticeText(info: CacheBreakInfo & { costUsd?: number }): string {\n const rebilled = formatTokens(info.rebilledTokens)\n const cost = info.costUsd !== undefined\n ? ` ~$${info.costUsd < 0.01 ? '<0.01' : info.costUsd.toFixed(2)}`\n : ''\n const headline = `${info.changed.length === 0 ? 'cache expired' : 'cache break'} ↑${rebilled} tokens${cost}`\n // One line per changed dimension, `name: detail`; a detail may itself span\n // lines (fact, then likely cause) and only its first line takes the prefix.\n const culprits = info.changed.flatMap((dim) => {\n const detail = info.details[dim]\n if (typeof detail !== 'string' || detail.length === 0)\n return [`${dim} changed`]\n const [first, ...rest] = detail.split('\\n')\n return [`${dim}: ${first}`, ...rest]\n })\n return [headline, ...culprits].join('\\n')\n}\n\n/**\n * Provider-retry label — `retrying 2/5`, or `retrying 2/5 (child-3)` when the\n * stalled stream belongs to a subagent rather than the parent.\n *\n * Naming the source matters: with subagents in flight, an unattributed\n * \"retrying\" leaves the user unable to tell whether their own turn is stuck or\n * a delegated worker is.\n *\n * @param info - Retry attempt, attempt limit, and the source of the stalled stream (`'parent'` or a subagent id).\n */\nexport function retryLabel(info: { attempt: number, max: number, source: string }): string {\n const suffix = info.source === 'parent' ? '' : ` (${info.source})`\n return `retrying ${info.attempt}/${info.max}${suffix}`\n}\n\n/** One value of the live run readout, so a renderer can tint and badge it by meaning. */\nexport interface RunStatusCell {\n /** What the cell shows: the run's elapsed time, its output tokens, or the stream rate. */\n kind: 'elapsed' | 'tokens' | 'rate'\n /** Display text: `1m 15s`, `↓1.2k` (`↓~1.2k` while estimated), `41 tok/s`. */\n text: string\n}\n\n/**\n * The live run readout as cells, one badge each: `1m 15s` `↓1.2k` `41 tok/s`.\n * Time runs from the run's start, the count covers the whole run (settled\n * turns plus the one streaming), and the rate is the honest windowed figure\n * from `stepStreamRate` (`null` until it has one). `↓~` marks a count that is\n * still the character heuristic. A tool-only stretch shows just the time.\n * Same model as `formatRunReceiptCells`, the receipt the run ends with.\n *\n * `detail` drops the least useful cell first when space runs out:\n * `'full'` → `'count'` (no rate) → `'time'`.\n *\n * @param run - Elapsed seconds, output token count, whether the count is estimated, and the stream rate in tokens per second (`null` when unknown).\n * @param detail - How much of the readout to keep. Defaults to `'full'`.\n */\nexport function runStatusCells(\n run: { elapsedSec: number, outputTokens: number, estimated: boolean, rate: number | null },\n detail: 'full' | 'count' | 'time' = 'full',\n): RunStatusCell[] {\n const cells: RunStatusCell[] = [{ kind: 'elapsed', text: formatElapsed(Math.max(0, Math.floor(run.elapsedSec))) }]\n if (detail !== 'time' && run.outputTokens > 0)\n cells.push({ kind: 'tokens', text: `↓${run.estimated ? '~' : ''}${fmtTokens(run.outputTokens)}` })\n if (detail === 'full' && run.outputTokens > 0 && run.rate !== null && run.rate > 0)\n cells.push({ kind: 'rate', text: `${run.rate} tok/s` })\n return cells\n}\n\n/**\n * Session cost while a turn streams: settled figure plus the running estimate\n * for the in-flight turn. `estimated` tells the surface to render it dimmed\n * (the number will move, then snap to the settled value at turn end). `null`\n * when there is nothing to show — never `$0.00`.\n *\n * @param settledUsd - Cost of settled turns in USD.\n * @param progress - Streaming progress carrying the running cost estimate for the in-flight turn, if any.\n */\nexport function liveSessionCost(\n settledUsd: number,\n progress: { estCostUsd?: number } | null | undefined,\n): { usd: number, estimated: boolean } | null {\n const live = progress?.estCostUsd ?? 0\n const total = settledUsd + live\n if (total <= 0)\n return null\n return { usd: total, estimated: live > 0 }\n}\n\n/**\n * Footer readout while a compaction summary is being generated: the label,\n * then `~12k` once the loop reports a token estimate, then `8s` once a second\n * has passed, one badge each. Same rule on every surface so a minutes-long\n * compaction of a large transcript reads as progress, not a hang, in the TUI\n * and the GUI alike.\n *\n * `now` is injectable so callers driving a 1 Hz tick don't have to re-read\n * the clock, and so tests are deterministic.\n *\n * @param estTokens - Token estimate reported by the loop, if any.\n * @param startedAt - Compaction start time in epoch milliseconds, if known.\n * @param now - Current time in epoch milliseconds. Defaults to `Date.now()`.\n */\nexport function compactingParts(\n estTokens: number | null | undefined,\n startedAt: number | null | undefined,\n now: number = Date.now(),\n): { label: string, meta: string[] } {\n const elapsedMs = typeof startedAt === 'number' ? now - startedAt : 0\n const meta = [\n typeof estTokens === 'number' && estTokens > 0 ? `~${fmtTokens(estTokens)}` : '',\n elapsedMs >= 1000 ? formatDuration(elapsedMs) : '',\n ].filter(Boolean)\n return { label: 'Compacting...', meta }\n}\n\n/**\n * {@link compactingParts} as one plain string, for a slot that cannot hold\n * badges: `Compacting... ~12k, 8s`.\n *\n * @param estTokens - Token estimate reported by the loop, if any.\n * @param startedAt - Compaction start time in epoch milliseconds, if known.\n * @param now - Current time in epoch milliseconds. Defaults to `Date.now()`.\n */\nexport function compactingLabel(\n estTokens: number | null | undefined,\n startedAt: number | null | undefined,\n now: number = Date.now(),\n): string {\n const { label, meta } = compactingParts(estTokens, startedAt, now)\n return meta.length > 0 ? `${label} ${meta.join(', ')}` : label\n}\n","/**\n * Completion provider for cross-chat references. Trigger: `#`.\n *\n * The visible row is human-friendly (session title, age, project), but the\n * inserted token is id-based (`#abc123`) so titles with spaces never enter the\n * prompt grammar. The token is the shortest normalized id prefix that is unique\n * within the reference catalog, with a six-character floor for readability.\n */\n\nimport type {\n CompletionContext,\n CompletionItem,\n CompletionProvider,\n CompletionReference,\n} from './completion-core'\nimport { Fzf } from 'fzf'\nimport { ageString, shortId } from './format'\n\n/** Trigger character that starts a chat reference. */\nexport const CHATS_TRIGGER = '#'\n\nconst DEFAULT_RESULT_LIMIT = 50\nconst MIN_TOKEN_LENGTH = 6\n\n/** Whether chat suggestions cover the current project or every project. */\nexport type ChatReferenceScope = 'project' | 'all'\n\n/** A chat that can be referenced from a prompt. */\nexport interface ChatReferenceEntry {\n /** Chat id. */\n id: string\n /** Chat title. */\n title: string\n /** Number of turns in the chat. */\n turnCount: number\n /** Number of user messages in the chat. */\n userMessageCount: number\n /** Number of agent runs in the chat. */\n runCount: number\n /** Project directory the chat belongs to. */\n projectRoot?: string\n /** Last update time in ms since epoch. */\n updatedAt: number\n /** Optional (store-dependent); shown as a hint when > 0. */\n artifactCount?: number\n}\n\n/** Provider payload for a chat reference. */\nexport interface ChatReferenceData {\n /** The referenced chat. */\n entry: ChatReferenceEntry\n /** The `#token` text that identifies the chat, without the `#`. */\n token: string\n}\n\nfunction normalizeId(id: string): string {\n return id.replace(/-/g, '').toLowerCase()\n}\n\nfunction projectLabel(projectRoot: string | undefined): string {\n if (!projectRoot)\n return ''\n const parts = projectRoot.split(/[\\\\/]/).filter(Boolean)\n return parts[parts.length - 1] ?? projectRoot\n}\n\n/**\n * Per-catalog memo for `tokenFor`, keyed on catalog reference identity.\n * Token derivation is O(catalog) per id, and both `suggest()` (every\n * keystroke) and `parseReferences()` (every submit/highlight pass) need\n * a token for EVERY entry — quadratic over catalogs that can reach\n * thousands of sessions. The catalog getters return a stable array until\n * a refresh swaps it, so a WeakMap invalidates exactly when it should.\n */\nconst tokensByCatalog = new WeakMap<readonly ChatReferenceEntry[], { normalizedIds: string[], tokens: Map<string, string> }>()\n\nfunction catalogTokens(catalog: readonly ChatReferenceEntry[]): { normalizedIds: string[], tokens: Map<string, string> } {\n let cached = tokensByCatalog.get(catalog)\n if (!cached) {\n cached = { normalizedIds: catalog.map(entry => normalizeId(entry.id)), tokens: new Map() }\n tokensByCatalog.set(catalog, cached)\n }\n return cached\n}\n\nfunction tokenFor(id: string, catalog: readonly ChatReferenceEntry[]): string {\n const { normalizedIds, tokens } = catalogTokens(catalog)\n const known = tokens.get(id)\n if (known !== undefined)\n return known\n const normalized = normalizeId(id)\n let result: string | undefined\n for (let len = Math.min(MIN_TOKEN_LENGTH, normalized.length); len <= normalized.length; len++) {\n const token = normalized.slice(0, len)\n const matches = normalizedIds.filter(candidate => candidate.startsWith(token))\n if (matches.length === 1) {\n result = token\n break\n }\n }\n result ??= normalized || shortId(id)\n tokens.set(id, result)\n return result\n}\n\nfunction stripTrailingPunctuation(candidate: string): string {\n return candidate.replace(/[.,;:)\\]}!?]+$/, '')\n}\n\nfunction descriptionFor(entry: ChatReferenceEntry, token: string, scope: ChatReferenceScope): string {\n const bits = [\n `#${token}`,\n ageString(entry.updatedAt),\n `${entry.userMessageCount} msg${entry.userMessageCount === 1 ? '' : 's'}`,\n ]\n if ((entry.artifactCount ?? 0) > 0)\n bits.push(`${entry.artifactCount} artifact${entry.artifactCount === 1 ? '' : 's'}`)\n const project = projectLabel(entry.projectRoot)\n if (scope === 'all' && project)\n bits.push(project)\n return bits.join(', ')\n}\n\nfunction scoreChats(\n catalog: readonly ChatReferenceEntry[],\n tokenCatalog: readonly ChatReferenceEntry[],\n query: string,\n limit: number,\n scope: ChatReferenceScope,\n): CompletionItem<ChatReferenceData>[] {\n const q = query.trim().toLowerCase()\n const rows = catalog.map(entry => ({\n entry,\n token: tokenFor(entry.id, tokenCatalog),\n project: projectLabel(entry.projectRoot),\n }))\n const fuzzyHits = q.length > 0\n ? new Set(new Fzf(rows, {\n selector: r => `${r.entry.title} ${r.token} ${r.project}`,\n casing: 'case-insensitive',\n }).find(q).map(r => r.item))\n : null\n const scored: { entry: ChatReferenceEntry, token: string, rank: number }[] = []\n for (const row of rows) {\n const title = row.entry.title.toLowerCase()\n const token = row.token.toLowerCase()\n const project = row.project.toLowerCase()\n if (q.length === 0) {\n scored.push({ entry: row.entry, token: row.token, rank: 5 })\n continue\n }\n if (token.startsWith(q)) {\n scored.push({ entry: row.entry, token: row.token, rank: 0 })\n continue\n }\n if (title.startsWith(q)) {\n scored.push({ entry: row.entry, token: row.token, rank: 1 })\n continue\n }\n if (title.includes(q)) {\n scored.push({ entry: row.entry, token: row.token, rank: 2 })\n continue\n }\n if (project.includes(q)) {\n scored.push({ entry: row.entry, token: row.token, rank: 3 })\n continue\n }\n if (fuzzyHits?.has(row)) {\n scored.push({ entry: row.entry, token: row.token, rank: 4 })\n }\n }\n scored.sort((a, b) => {\n if (a.rank !== b.rank)\n return a.rank - b.rank\n return b.entry.updatedAt - a.entry.updatedAt\n })\n return scored.slice(0, limit).map<CompletionItem<ChatReferenceData>>(({ entry, token }) => ({\n id: token,\n label: entry.title,\n description: descriptionFor(entry, token, scope),\n insertText: `${CHATS_TRIGGER}${token} `,\n data: { entry, token },\n }))\n}\n\n/**\n * Creates a completion provider for `#` chat references.\n * Each chat gets the shortest id prefix, at least 6 characters, that identifies it in the catalog. Suggestions are fuzzy-matched on title, token and project folder.\n *\n * @param opts - Catalog getters, an optional async catalog loader, the scope used for labels and a result limit (default 50).\n * @example\n * ```ts\n * import { createChatsCompletionProvider } from 'zidane/chat'\n *\n * const provider = createChatsCompletionProvider({\n * getCatalog: () => [\n * { id: 'c0ffee00-0000-4000-8000-000000000001', title: 'Fix login', turnCount: 4, userMessageCount: 2, runCount: 2, updatedAt: Date.now() },\n * ],\n * })\n * ```\n */\nexport function createChatsCompletionProvider(opts: {\n getCatalog: () => readonly ChatReferenceEntry[]\n getReferenceCatalog?: () => readonly ChatReferenceEntry[]\n getScope?: () => ChatReferenceScope\n ensureCatalog?: () => Promise<readonly ChatReferenceEntry[]>\n limit?: number\n}): CompletionProvider<ChatReferenceData> {\n const limit = opts.limit ?? DEFAULT_RESULT_LIMIT\n const scope = () => opts.getScope?.() ?? 'project'\n return {\n id: 'chats',\n trigger: CHATS_TRIGGER,\n label: 'Chats',\n suggest(query) {\n const current = opts.getCatalog()\n const tokenCatalog = opts.getReferenceCatalog?.() ?? current\n const effectiveTokenCatalog = tokenCatalog.length > 0 ? tokenCatalog : current\n if (current.length > 0)\n return scoreChats(current, effectiveTokenCatalog, query, limit, scope())\n if (opts.ensureCatalog) {\n return opts.ensureCatalog().then((loaded) => {\n const refreshed = opts.getReferenceCatalog?.() ?? loaded\n const refreshedTokenCatalog = refreshed.length > 0 ? refreshed : loaded\n return scoreChats(loaded, refreshedTokenCatalog, query, limit, scope())\n })\n }\n return []\n },\n parseReferences(text, _ctx: CompletionContext) {\n const catalog = opts.getReferenceCatalog?.() ?? opts.getCatalog()\n if (catalog.length === 0)\n return []\n const byToken = new Map<string, ChatReferenceData>()\n for (const entry of catalog) {\n const token = tokenFor(entry.id, catalog)\n byToken.set(token, { entry, token })\n }\n const refs: CompletionReference<ChatReferenceData>[] = []\n const rx = /(^|\\s)#(\\S+)/g\n for (const m of text.matchAll(rx)) {\n const candidate = stripTrailingPunctuation(m[2])\n const data = byToken.get(candidate.toLowerCase())\n if (!data)\n continue\n const start = m.index + m[1].length\n refs.push({\n providerId: 'chats',\n start,\n end: start + 1 + candidate.length,\n itemId: data.entry.id,\n data,\n })\n }\n return refs\n },\n }\n}\n\n/**\n * Returns the unique ids of the chats referenced in a reference list.\n * References from other providers are ignored. Order of first appearance is kept.\n *\n * @param references - References collected from a prompt.\n */\nexport function uniqueChatIdsFromReferences(\n references: readonly CompletionReference<unknown>[],\n): string[] {\n const out: string[] = []\n const seen = new Set<string>()\n for (const ref of references) {\n if (ref.providerId !== 'chats')\n continue\n if (seen.has(ref.itemId))\n continue\n seen.add(ref.itemId)\n out.push(ref.itemId)\n }\n return out\n}\n\n/**\n * Extracts the `#token` chat references from text.\n * A token starts after whitespace or at the start of the text. Trailing punctuation is stripped, tokens are lowercased and duplicates are dropped.\n *\n * @param text - The prompt text to scan.\n */\nexport function chatReferenceTokensFromText(text: string): string[] {\n const out: string[] = []\n const seen = new Set<string>()\n const rx = /(^|\\s)#(\\S+)/g\n for (const m of text.matchAll(rx)) {\n const token = stripTrailingPunctuation(m[2]).toLowerCase()\n if (!token || seen.has(token))\n continue\n seen.add(token)\n out.push(token)\n }\n return out\n}\n","/**\n * The markers the loop writes into an assistant turn when its stream ends\n * early (`src/loop-turn-stream.ts`, `src/loop-stream.ts`): `[✗ Streaming failed before any output: <message>]`\n * (or `mid-output`) when the provider throws, `[⏹ Streaming was aborted.]`\n * when the user stops the run. Either is appended blank-line-separated to\n * whatever had streamed. The marker stays in the persisted turn for the\n * model; hosts split it off to show a quiet \"stopped\" line instead of prose.\n */\n\n/** A stop marker split off an assistant reply by {@link splitStreamFailure}. */\nexport interface StreamFailure {\n /** The provider message, `''` when there is none (always for an abort). */\n message: string\n /** Text had streamed before the stream ended. */\n midOutput: boolean\n /** The user stopped the run; not a failure of the provider. */\n aborted: boolean\n}\n\nconst FAILED = /(?:^|\\n\\n)\\[✗ Streaming failed (before any output|mid-output)(?:: ([\\s\\S]*))?\\.?\\]\\s*$/\nconst ABORTED = /(?:^|\\n\\n)\\[⏹ Streaming was aborted\\.\\]\\s*$/\n\n/**\n * Split a reply into what the model wrote and the stop marker at its end, if any.\n *\n * @param text - Assistant message text that may end in a failure marker.\n */\nexport function splitStreamFailure(text: string): { text: string, failure: StreamFailure | null } {\n const aborted = ABORTED.exec(text)\n if (aborted) {\n const before = text.slice(0, aborted.index).trimEnd()\n return { text: before, failure: { message: '', midOutput: before !== '', aborted: true } }\n }\n const m = FAILED.exec(text)\n if (!m)\n return { text, failure: null }\n return {\n text: text.slice(0, m.index).trimEnd(),\n failure: { message: (m[2] ?? '').trim(), midOutput: m[1] === 'mid-output', aborted: false },\n }\n}\n\n/**\n * Cheap pre-check before splitting: the text may end in a stop marker.\n *\n * @param text - Assistant message text.\n */\nexport function mayHaveStreamFailure(text: string): boolean {\n return text.includes('[✗ Streaming failed') || text.includes('[⏹ Streaming was aborted')\n}\n\n/** What the \"continue\" action sends after a run that had done work. */\nexport const CONTINUE_PROMPT = 'Continue from where you stopped.'\n","// ---------------------------------------------------------------------------\n// Model lineup: which models of a provider are \"current\".\n//\n// Provider catalogs list every model they ever served (OpenRouter: ~400),\n// with no release dates, so recency is read off the ids themselves. A model\n// id is split into a FAMILY (the words: `claude-opus`, `gpt-luna`,\n// `gemini-flash-lite`), a VERSION (the numbers: `4-5`, `5.6`, `v4.1`,\n// `qwen3.5`), a SIZE (`27b`, `235b-a22b`, `16k`) and noise that marks a\n// snapshot or a routing variant of the same model (`-20251001`,\n// `-2024-05-13`, `-0731`, `-preview`, `-latest`, `:batch`, `:free`).\n//\n// The lineup keeps, per provider and family, the models at the newest\n// version: every size of that version, one entry per size (the plain alias\n// over a dated snapshot over a routing variant). Everything else is\n// \"older\". Pure and data-driven so the GUI and the TUI share one answer.\n// ---------------------------------------------------------------------------\n\n/** Parsed shape of a model id. Exported for tests and for pickers that want to show a family label. */\nexport interface ModelIdParts {\n /** `vendor/` prefix on aggregator ids (`anthropic` in `anthropic/claude-opus-5`), lowercased; '' when absent. */\n vendor: string\n /** The words of the id, lowercased and joined with `-`. */\n family: string\n /** Numeric version segments in order; empty when the id carries none. */\n version: number[]\n /** Size tokens joined with `-` (`27b`, `235b-a22b`); '' when absent. */\n size: string\n /** Dated / numbered snapshot (`20251001`, `2024-05-13` → `20240513`, `0731`); '' for the plain alias. */\n snapshot: string\n /** Routing variant after `:` (`batch`, `free`); '' when absent. */\n variant: string\n}\n\nconst DATE_DASHED = /-(\\d{4})-(\\d{2})-(\\d{2})(?=$|[-:])/\nconst SIZE = /^(?:\\d+(?:\\.\\d+)?[bkm]|a\\d+(?:\\.\\d+)?b|e\\d+b|\\d+x\\d+b)$/\nconst SNAPSHOT = /^\\d{4}$|^\\d{6,8}$/\nconst NUMBER = /^\\d+(?:\\.\\d+)*$/\n/** Zero-padded short number (`001`, `05`): a revision or a date part, never a version. */\nconst PADDED = /^0\\d{1,2}$/\n/** Bedrock's `-v1` / `-v2:0` revision suffix. Only a revision once a version was read. */\nconst REVISION = /^v\\d+$/\n/** `v4.1`, `k2.5`, `r1`, `o3`, `qwen3.5`: letters then a version. */\nconst LETTERS_VERSION = /^([a-z]+)(\\d+(?:\\.\\d+)*)$/\n/** `4o`: a version then letters. */\nconst VERSION_LETTERS = /^(\\d+(?:\\.\\d+)*)([a-z]+)$/\n/** Words that mark a pre-release or an alias of the same model, not a different one. */\nconst NOISE = new Set(['preview', 'latest', 'exp', 'experimental'])\n\n/**\n * Splits a model id into vendor, family, version, size, snapshot and routing variant. Parsing is lowercase and never throws.\n *\n * @param id - Model id, for example `anthropic/claude-sonnet-4-5:thinking`.\n */\nexport function parseModelId(id: string): ModelIdParts {\n let rest = id.toLowerCase()\n let variant = ''\n const colon = rest.indexOf(':')\n if (colon >= 0) {\n variant = rest.slice(colon + 1)\n rest = rest.slice(0, colon)\n }\n let vendor = ''\n const slash = rest.lastIndexOf('/')\n if (slash >= 0) {\n vendor = rest.slice(0, slash)\n rest = rest.slice(slash + 1)\n }\n let snapshot = ''\n const dated = DATE_DASHED.exec(rest)\n if (dated) {\n snapshot = `${dated[1]}${dated[2]}${dated[3]}`\n rest = rest.slice(0, dated.index) + rest.slice(dated.index + dated[0].length)\n }\n\n const words: string[] = []\n const version: number[] = []\n const sizes: string[] = []\n const snapParts: string[] = []\n let afterNoise = false\n const pushVersion = (v: string) => {\n for (const n of v.split('.')) version.push(Number(n))\n }\n for (const token of rest.split(/[-_\\s]+/).filter(Boolean)) {\n if (NOISE.has(token)) {\n afterNoise = true\n continue\n }\n if (SIZE.test(token)) {\n sizes.push(token)\n continue\n }\n // A bare 4 / 6-8 digit token after a version or word is a snapshot\n // (`-0731`, `-2512`, `-20251001`), never a version of its own. So is any\n // number after a pre-release word (`-preview-05-20`, `-preview-09-2025`)\n // and a zero-padded revision after a version (`gemini-2.0-flash-001`).\n const started = words.length > 0 || version.length > 0\n // Bedrock's `-v1` after a version (`claude-opus-4-6-v1`) is a revision too.\n if (started && (SNAPSHOT.test(token) || (afterNoise && NUMBER.test(token)) || (version.length > 0 && (PADDED.test(token) || REVISION.test(token))))) {\n snapParts.push(token)\n continue\n }\n if (NUMBER.test(token)) {\n pushVersion(token)\n continue\n }\n const lv = LETTERS_VERSION.exec(token)\n if (lv) {\n words.push(lv[1]!)\n pushVersion(lv[2]!)\n continue\n }\n const vl = VERSION_LETTERS.exec(token)\n if (vl) {\n pushVersion(vl[1]!)\n words.push(vl[2]!)\n continue\n }\n words.push(token)\n }\n if (!snapshot && snapParts.length > 0) {\n // `mm-yyyy` → `yyyymm`, so snapshots of that shape sort by date.\n snapshot = snapParts.length === 2 && /^\\d{2}$/.test(snapParts[0]!) && /^\\d{4}$/.test(snapParts[1]!)\n ? `${snapParts[1]}${snapParts[0]}`\n : snapParts.join('')\n }\n return { vendor, family: words.join('-'), version, size: sizes.join('-'), snapshot, variant }\n}\n\n/**\n * Numeric, segment by segment; a longer version wins a tie on the shared prefix (`5.5` > `5`).\n *\n * @param a - First version, as parsed by {@link parseModelId}.\n * @param b - Second version.\n */\nexport function compareModelVersion(a: readonly number[], b: readonly number[]): number {\n const n = Math.max(a.length, b.length)\n for (let i = 0; i < n; i++) {\n const x = a[i]\n const y = b[i]\n if (x === undefined)\n return -1\n if (y === undefined)\n return 1\n if (x !== y)\n return x - y\n }\n return 0\n}\n\n/**\n * Among ids naming the same model (family, version and size equal), the one\n * a picker should show: the plain alias over a dated snapshot, the newest\n * snapshot among snapshots, no routing variant over a variant, then the\n * shorter id. Negative when `a` is preferred.\n */\nfunction preferAlias(a: { id: string, parts: ModelIdParts }, b: { id: string, parts: ModelIdParts }): number {\n const sa = a.parts.snapshot\n const sb = b.parts.snapshot\n if (!sa !== !sb)\n return sa ? 1 : -1\n if (sa !== sb)\n return sa < sb ? 1 : -1\n if (!a.parts.variant !== !b.parts.variant)\n return a.parts.variant ? 1 : -1\n return a.id.length - b.id.length || (a.id < b.id ? -1 : a.id > b.id ? 1 : 0)\n}\n\n/** A provider and model id pair considered for the lineup. */\nexport interface LineupEntry {\n /** Provider key. */\n providerKey: string\n /** Model id. */\n modelId: string\n}\n\nconst lineupKey = (e: LineupEntry): string => `${e.providerKey}\\u0000${e.modelId}`\n\n/**\n * Keys (`provider\\0model`) of the current models: per provider and family,\n * the newest version, one entry per size. `keep` entries (the active model,\n * fallback chain, off-catalog ids) are always included.\n *\n * @param entries - Every provider and model id on offer.\n * @param keep - Entries to include regardless of age.\n */\nexport function currentModelKeys(entries: readonly LineupEntry[], keep: readonly LineupEntry[] = []): Set<string> {\n const groups = new Map<string, { id: string, key: string, parts: ModelIdParts }[]>()\n for (const entry of entries) {\n const parts = parseModelId(entry.modelId)\n const group = `${entry.providerKey}\\u0000${parts.vendor}\\u0000${parts.family}`\n const list = groups.get(group)\n const item = { id: entry.modelId, key: lineupKey(entry), parts }\n if (list)\n list.push(item)\n else\n groups.set(group, [item])\n }\n\n const kept = new Set<string>(keep.map(lineupKey))\n for (const list of groups.values()) {\n let newest: number[] = []\n for (const item of list) {\n if (compareModelVersion(item.parts.version, newest) > 0)\n newest = item.parts.version\n }\n const bySize = new Map<string, { id: string, key: string, parts: ModelIdParts }>()\n for (const item of list) {\n if (compareModelVersion(item.parts.version, newest) !== 0)\n continue\n const best = bySize.get(item.parts.size)\n if (!best || preferAlias(item, best) < 0)\n bySize.set(item.parts.size, item)\n }\n for (const item of bySize.values()) kept.add(item.key)\n }\n return kept\n}\n\n/**\n * `entries` in their original order, current models only (see {@link currentModelKeys}).\n *\n * @param entries - Every provider and model id on offer.\n * @param keep - Entries to include regardless of age.\n */\nexport function currentModels<T extends LineupEntry>(entries: readonly T[], keep: readonly LineupEntry[] = []): T[] {\n const kept = currentModelKeys(entries, keep)\n return entries.filter(entry => kept.has(lineupKey(entry)))\n}\n","/**\n * The text model: the cheap model that writes side-channel text (session\n * titles, next-prompt suggestions) instead of the session's main model.\n *\n * Stored as `Settings.textModel`: `''` = automatic, otherwise\n * `\"providerKey[@account]/modelId\"` (see `parseModelSetting`). Automatic is\n * the smallest current model of the session's provider, so the transcript\n * stays with the provider (and account) the session already talks to:\n *\n * 1. the current models (`currentModels`) of that provider that take\n * plain text, of the main model's vendor on an aggregator;\n * 2. among them the `small` tier, the cheapest input rate first;\n * 3. else the cheapest current model with a known cost;\n * 4. else the main model.\n *\n * A model's tier is its catalog entry's `tier` when set, else a heuristic on\n * the words of its family (`claude-haiku` → small). Node-free: shared by the\n * hosts and the GUI renderer's settings row.\n */\nimport type { ModelTier } from '../providers/model-catalog'\nimport { currentModels, parseModelId } from './model-lineup'\nimport { parseModelSetting } from './model-setting'\n\nexport type { ModelTier }\n\n/** Family words per tier. Small is checked first, so `flash-lite` is small while `flash` is medium. */\nconst SMALL_WORDS: ReadonlySet<string> = new Set(['haiku', 'luna', 'mini', 'small', 'lite', 'nano', 'micro'])\nconst MEDIUM_WORDS: ReadonlySet<string> = new Set(['sonnet', 'terra', 'flash', 'medium'])\nconst LARGE_WORDS: ReadonlySet<string> = new Set(['opus', 'fable', 'sol', 'pro', 'large'])\n\n/** Family words of special-purpose models that can't write a plain reply (image, audio, live, computer use, research agents). */\nconst SPECIAL_WORDS: ReadonlySet<string> = new Set([\n 'image',\n 'live',\n 'audio',\n 'tts',\n 'realtime',\n 'transcribe',\n 'embedding',\n 'embed',\n 'computer',\n 'research',\n 'customtools',\n 'moderation',\n 'guard',\n 'ocr',\n])\n\n/**\n * Tier read off a model id's family words; `undefined` when no word names one.\n *\n * @param modelId - Model id, for example `claude-haiku-4-5` or `anthropic/claude-haiku-4.5`.\n */\nexport function heuristicModelTier(modelId: string): ModelTier | undefined {\n const words = parseModelId(modelId).family.split('-')\n if (words.some(w => SMALL_WORDS.has(w)))\n return 'small'\n if (words.some(w => MEDIUM_WORDS.has(w)))\n return 'medium'\n if (words.some(w => LARGE_WORDS.has(w)))\n return 'large'\n return undefined\n}\n\n/**\n * A model's tier: its catalog value, else {@link heuristicModelTier}.\n *\n * @param model - Model id and optional catalog tier.\n * @param model.id - Model id.\n * @param model.tier - Catalog tier, when the catalog sets one.\n */\nexport function modelTier(model: { id: string, tier?: ModelTier }): ModelTier | undefined {\n return model.tier ?? heuristicModelTier(model.id)\n}\n\n/** One model of the session's provider, as the automatic pick reads it (a `ModelInfo` fits). */\nexport interface TextModelCandidate {\n /** Model id. */\n id: string\n /** Catalog tier; guessed from the id when absent. */\n tier?: ModelTier\n /** Input price; the cheapest candidate wins, and one without a price loses. */\n cost?: { input: number }\n /** Input modalities; a model without `text` is skipped. */\n input?: readonly ('text' | 'image')[]\n}\n\nfunction generalPurpose(model: TextModelCandidate): boolean {\n if (model.input && !model.input.includes('text'))\n return false\n const parts = parseModelId(model.id)\n // Routing variants (`:free`, `:thinking`) and aggregator meta-models (`auto`, `~vendor/…-latest`) aren't a model of their own.\n if (parts.variant || parts.family === 'auto' || model.id.startsWith('~'))\n return false\n return !parts.family.split('-').some(w => SPECIAL_WORDS.has(w))\n}\n\nconst inputRate = (model: TextModelCandidate): number => model.cost?.input ?? Number.POSITIVE_INFINITY\n\n/**\n * The automatic text model among one provider's models; `undefined` when\n * nothing qualifies (the caller then uses the main model).\n *\n * @param models - The provider's models, in catalog order.\n * @param mainModelId - The session's main model id (its vendor narrows an aggregator's list).\n */\nexport function autoTextModelId(models: readonly TextModelCandidate[], mainModelId: string): string | undefined {\n const usable = models.filter(generalPurpose)\n let pool = currentModels(usable.map(model => ({ providerKey: '', modelId: model.id, model }))).map(e => e.model)\n const vendor = parseModelId(mainModelId).vendor\n if (vendor) {\n const sameVendor = pool.filter(m => parseModelId(m.id).vendor === vendor)\n if (sameVendor.length > 0)\n pool = sameVendor\n }\n const cheapest = (list: readonly TextModelCandidate[]): TextModelCandidate | undefined =>\n list.reduce<TextModelCandidate | undefined>((best, m) => (!best || inputRate(m) < inputRate(best) ? m : best), undefined)\n const small = pool.filter(m => modelTier(m) === 'small')\n if (small.length > 0)\n return cheapest(small)!.id\n return cheapest(pool.filter(m => m.cost !== undefined))?.id\n}\n\n/** Where a resolved text model came from. */\nexport type TextModelSource = 'setting' | 'auto' | 'main'\n\n/** A text model to run on. */\nexport interface TextModelPick {\n /** Provider to run on. */\n providerKey: string\n /** Model id on that provider. */\n modelId: string\n /** The provider's stored account; absent = its active one. */\n account?: string\n /** Whether the pick came from `Settings.textModel`, the automatic choice or the main model. */\n source: TextModelSource\n}\n\n/** Inputs of {@link textModelChain} / {@link resolveTextModel}. */\nexport interface TextModelOptions {\n /** `Settings.textModel`: `''` / unset = automatic. */\n setting: string | undefined\n /** The session's main model (or the default model, outside a session). */\n main: { providerKey: string, modelId: string, account?: string }\n /** The models of a provider (`modelsForDescriptor`). */\n modelsOf: (providerKey: string) => readonly TextModelCandidate[]\n}\n\n/**\n * Text models to try, best first: the setting's pick, the automatic pick,\n * the main model (duplicates dropped). A host walks it until one builds, so\n * a picked provider that isn't signed in falls back instead of failing.\n *\n * @param opts - Setting, main model and model source.\n */\nexport function textModelChain(opts: TextModelOptions): TextModelPick[] {\n const { main } = opts\n const out: TextModelPick[] = []\n const push = (pick: TextModelPick) => {\n if (!out.some(p => p.providerKey === pick.providerKey && p.modelId === pick.modelId && p.account === pick.account))\n out.push(pick)\n }\n const chosen = parseModelSetting(opts.setting)\n if (chosen) {\n // No account named: the session's own on its provider, else the active one.\n const account = chosen.account ?? (chosen.providerKey === main.providerKey ? main.account : undefined)\n push({ providerKey: chosen.providerKey, modelId: chosen.modelId, ...(account ? { account } : {}), source: 'setting' })\n }\n const auto = autoTextModelId(opts.modelsOf(main.providerKey), main.modelId)\n if (auto)\n push({ providerKey: main.providerKey, modelId: auto, ...(main.account ? { account: main.account } : {}), source: 'auto' })\n push({ providerKey: main.providerKey, modelId: main.modelId, ...(main.account ? { account: main.account } : {}), source: 'main' })\n return out\n}\n\n/**\n * The text model to use: the first of {@link textModelChain} whose provider\n * is usable (all of them when `usable` is omitted).\n *\n * @param opts - Setting, main model and model source.\n * @param usable - Whether a provider can run (signed in); the main model is always kept as the last resort.\n */\nexport function resolveTextModel(opts: TextModelOptions, usable?: (providerKey: string, account?: string) => boolean): TextModelPick {\n const chain = textModelChain(opts)\n return chain.find(p => !usable || usable(p.providerKey, p.account)) ?? chain[chain.length - 1]!\n}\n\n/**\n * Build the text model's provider: walks {@link textModelChain} and returns\n * the first pick `build` doesn't throw on. The main model's error propagates\n * when nothing builds.\n *\n * @param opts - Setting, main model and model source.\n * @param build - Provider construction; throws when the provider has no credentials.\n */\nexport function buildTextModel<P>(opts: TextModelOptions, build: (providerKey: string, account?: string) => P): TextModelPick & { provider: P } {\n const chain = textModelChain(opts)\n let lastError: unknown\n for (const pick of chain) {\n try {\n return { ...pick, provider: build(pick.providerKey, pick.account) }\n }\n catch (err) {\n lastError = err\n }\n }\n throw lastError\n}\n","/**\n * The dev browser's automation contract: what the agent's `browser_*` tools\n * send, what the GUI (the process that owns the page) answers. Plain data\n * both ways, so it crosses the daemon socket and IPC unchanged.\n */\n\n/** A target on the page: a snapshot ref (preferred), a CSS selector / `text=` / `role=` locator, or a point. */\nexport interface BrowserTarget {\n /** Ref from the latest snapshot, such as `e12`. */\n ref?: string\n /** CSS selector, or a `text=` or `role=` locator. */\n selector?: string\n /** Viewport x coordinate in CSS pixels. Used with `y`. */\n x?: number\n /** Viewport y coordinate in CSS pixels. Used with `x`. */\n y?: number\n}\n\n/** Page load milestone a navigation waits for. `none` returns without waiting. */\nexport type BrowserWaitUntil = 'load' | 'domcontentloaded' | 'none'\n\n/** Input of each browser operation, keyed by operation name. */\nexport interface BrowserOpInputs {\n /** Opens the browser, optionally at a URL, and optionally shows its tab. */\n open: { url?: string, show?: boolean }\n /** Goes to a URL, or back, forward or reload. */\n navigate: { url?: string, action?: 'back' | 'forward' | 'reload', waitUntil?: BrowserWaitUntil, timeoutMs?: number }\n /** Reads the page. Takes no input. */\n snapshot: Record<string, never>\n /** Captures the viewport, or one element named by `ref`. */\n screenshot: { ref?: string }\n /** Clicks a target, waiting until it is actionable. */\n click: BrowserTarget & { timeoutMs?: number }\n /** Types text into a target, optionally clearing it first or submitting after. */\n type: BrowserTarget & { text: string, clear?: boolean, submit?: boolean, timeoutMs?: number }\n /** Presses a key with optional modifiers. */\n press: { key: string, modifiers?: ('Alt' | 'Control' | 'Meta' | 'Shift')[] }\n /** Scrolls the page or a target by `dx` and `dy` CSS pixels. */\n scroll: BrowserTarget & { dx?: number, dy?: number }\n /** Waits for text, a selector or a URL fragment to appear. */\n wait_for: { text?: string, selector?: string, urlIncludes?: string, timeoutMs?: number }\n /** Runs a JavaScript expression in the page. */\n evaluate: { expression: string }\n /** Reads console messages, optionally only newer than `since` and filtered by `level`. */\n console: { since?: number, level?: 'error' | 'warning' | 'all' }\n}\n\n/** Name of a browser operation. */\nexport type BrowserOp = keyof BrowserOpInputs\n\n/** Every browser operation name. */\nexport const BROWSER_OPS = [\n 'open',\n 'navigate',\n 'snapshot',\n 'screenshot',\n 'click',\n 'type',\n 'press',\n 'scroll',\n 'wait_for',\n 'evaluate',\n 'console',\n] as const satisfies readonly BrowserOp[]\n\n/** Where the page is: its URL, title and loading state. */\nexport interface BrowserStatus {\n /** Current page URL. */\n url: string\n /** Current page title. */\n title: string\n /** Whether the page is still loading. */\n loading: boolean\n /** Viewport size in CSS pixels, when known. */\n viewport?: { width: number, height: number }\n}\n\n/** What changed on the page because of an action; the agent reads this instead of re-snapshotting every step. */\nexport interface BrowserChange {\n /** The element acted on, by its accessible name (or tag when it has none). */\n target?: string\n /** Page URL after the action. */\n url?: string\n /** Page title after the action. */\n title?: string\n /** A JavaScript dialog the page opened, and what was done with it. */\n dialog?: { type: string, message: string, handled: 'accepted' | 'dismissed' }\n /** Console errors and failed requests since the action started. */\n errors?: string[]\n /** The page navigated or changed a lot: refs from the last snapshot may be gone. */\n refsStale?: boolean\n}\n\n/** One console message or failed request. */\nexport interface BrowserConsoleEntry {\n /** Sequence number, increasing per entry. */\n seq: number\n /** Severity of the message. */\n level: 'error' | 'warning' | 'info' | 'log' | 'debug'\n /** Message text. */\n text: string\n /** Set for failed network requests. */\n url?: string\n}\n\n/** A readable view of the page: status, element outline and visible text. */\nexport interface BrowserSnapshot {\n /** Where the page is. */\n status: BrowserStatus\n /** One line per interactive or landmark element, `[ref=eN]` on the ones you can act on. */\n outline: string\n /** Elements left out because of the cap. */\n truncated: number\n /** Visible page text, capped at {@link BROWSER_TEXT_MAX_CHARS} characters. */\n text: string\n /** Recent console errors and failed requests. */\n errors: string[]\n}\n\n/** A captured image of the viewport or of one element. */\nexport interface BrowserScreenshot {\n /** Base64 JPEG. */\n data: string\n /** MIME type of `data`. */\n mediaType: 'image/jpeg'\n /** Image width in pixels. */\n width: number\n /** Image height in pixels. */\n height: number\n /** Image pixels per CSS pixel: divide image coordinates by this to click. */\n scale: number\n}\n\n/** Result of each browser operation, keyed by operation name. */\nexport interface BrowserOpResults {\n /** Status after opening. */\n open: BrowserStatus\n /** Status after navigating. */\n navigate: BrowserStatus\n /** The page snapshot. */\n snapshot: BrowserSnapshot\n /** The captured image. */\n screenshot: BrowserScreenshot\n /** What the click changed. */\n click: BrowserChange\n /** What typing changed. */\n type: BrowserChange\n /** What the key press changed. */\n press: BrowserChange\n /** What scrolling changed, with the resulting scroll offsets. */\n scroll: BrowserChange & { scrollX?: number, scrollY?: number }\n /** Status once the wait condition held. */\n wait_for: BrowserStatus\n /** The value the expression produced. */\n evaluate: { value: unknown }\n /** Console entries and the cursor to pass as `since` next time. */\n console: { entries: BrowserConsoleEntry[], next: number }\n}\n\n/** Machine-readable reason a browser operation failed. */\nexport type BrowserErrorCode\n = | 'no_browser'\n | 'no_page'\n | 'stale_ref'\n | 'not_found'\n | 'not_actionable'\n | 'invalid_url'\n | 'invalid_input'\n | 'timeout'\n | 'interrupted'\n | 'cancelled'\n | 'too_large'\n | 'failed'\n\n/** A browser operation sent from the agent to the process that owns the page. */\nexport interface BrowserRequest<O extends BrowserOp = BrowserOp> {\n /** Id that pairs the response with this request. */\n requestId: string\n /** Session the operation belongs to. */\n sessionId: string\n /** Operation to run. */\n op: O\n /** Input for the operation. */\n input: BrowserOpInputs[O]\n /** Total time in ms the caller waits for the response. */\n timeoutMs: number\n}\n\n/** Answer to a {@link BrowserRequest}: the result, or an error code and message. */\nexport type BrowserResponse<O extends BrowserOp = BrowserOp>\n = | { ok: true, result: BrowserOpResults[O] }\n | { ok: false, error: { code: BrowserErrorCode, message: string } }\n\n/** Error thrown when a browser operation fails. `code` says why. */\nexport class BrowserOpError extends Error {\n /**\n * Creates a browser operation error.\n * @param code - Reason for the failure.\n * @param message - Human-readable description.\n */\n constructor(readonly code: BrowserErrorCode, message: string) {\n super(message)\n this.name = 'BrowserOpError'\n }\n}\n\n/** Default for an action's own wait (element to become actionable, text to appear). A request can raise it up to {@link BROWSER_MAX_WAIT_MS}. */\nexport const BROWSER_ACTION_TIMEOUT_MS = 5_000\n/** Default wait in ms for `wait_for`. */\nexport const BROWSER_WAIT_TIMEOUT_MS = 10_000\n/** Longest wait in ms an operation may request. */\nexport const BROWSER_MAX_WAIT_MS = 30_000\n/** How long the host waits for a page to mount and register before `open` gives up. */\nexport const BROWSER_OPEN_MOUNT_MS = 15_000\n/** Transport budget on top of the action's own wait. */\nexport const BROWSER_REQUEST_SLACK_MS = 5_000\n/** Largest serialized `evaluate` result in bytes. */\nexport const BROWSER_EVALUATE_MAX_BYTES = 64 * 1024\n/** Most elements listed in a snapshot outline. */\nexport const BROWSER_OUTLINE_MAX_ELEMENTS = 250\n/** Most page text characters in a snapshot. */\nexport const BROWSER_TEXT_MAX_CHARS = 8_000\n","/**\n * Terminals: the contract between the host that runs them (the daemon) and\n * the clients that show them (the GUI's drawer and panel tab). Pure types\n * and limits, safe for a renderer bundle.\n *\n * Output travels as text with a running character offset: a client knows\n * where each chunk starts, drops what it already has, and acknowledges what\n * it wrote. The host stops sending to clients that fall a window behind and\n * later resets them from history instead of queueing without end.\n */\n\n/** Who started it: the user, or the agent (a background `shell` task). */\nexport type TerminalOwner = 'user' | 'agent'\n\n/** Where it runs: the session's environment, or this machine in the project. */\nexport type TerminalTarget = 'session' | 'local'\n\n/**\n * `paused`: not connected right now (the sandbox paused, or the host\n * restarted) but it can be found again; opening it reconnects.\n */\nexport type TerminalStatus = 'starting' | 'running' | 'paused' | 'exited' | 'error'\n\n/**\n * A terminal not bound to a session: a plain shell on the host's machine, in\n * a project's folder (docs/PROJECT-SCOPE-AUDIT.md). `draftId` ties it to a\n * new-chat draft until `terminal.adopt` hands it to the session created from\n * that draft (or `terminal.releaseDraft` gives it back to the project).\n * Agents never see unbound terminals.\n */\nexport interface TerminalProjectScope {\n /** Project root (`projectRootOf`, computed by the host). */\n root: string\n /** New-chat draft the terminal is tied to. Absent: the terminal belongs to the project. */\n draftId?: string\n}\n\n/** Description of one terminal, as the host reports it to clients. */\nexport interface TerminalInfo {\n /** Terminal id. */\n id: string\n /** The session it belongs to; `''` for a project / draft terminal (see `scope`). */\n sessionId: string\n /** Set on project / draft terminals (`sessionId` is `''`). */\n scope?: TerminalProjectScope\n /** Stable name (\"Terminal 2\", or the agent's command). */\n label: string\n /** Title the program set (OSC 0/2), if any. */\n title?: string\n /** The program in the foreground, for terminals on this machine. */\n program?: string\n /** Who started the terminal. */\n owner: TerminalOwner\n /** Where the terminal runs. */\n target: TerminalTarget\n /** Environment kind it runs in (`local`, `worktree`, `docker`, `e2b`, …). */\n environment: string\n /** Working directory the terminal started in. */\n cwd: string\n /** Connection and process state. */\n status: TerminalStatus\n /** Exit code, once the process has exited. */\n exitCode?: number\n /** Failure message, when `status` is `error`. */\n error?: string\n /** Width in character cells. */\n cols: number\n /** Height in character cells. */\n rows: number\n /**\n * Bumped on every size change: signals and attach replies reach a view by\n * different routes, so it keeps the newest size, not the last to arrive.\n */\n sizeSeq: number\n /** The agent's terminal tools skip it. */\n hiddenFromAgent: boolean\n /** The background task it runs (agent terminals). */\n taskId?: string\n /** Creation time in epoch ms. */\n createdAt: number\n /** Time of the last output or input in epoch ms. */\n lastActivityAt: number\n}\n\n/** The terminals of one session and whether this host can run them. */\nexport interface TerminalSessionState {\n /** False when this host can't run terminals (the GUI without the daemon). */\n available: boolean\n /** Why not, when `available` is false. */\n reason?: string\n /** Kind of the session's environment, and whether it runs somewhere else. */\n environment: { kind: string, remote: boolean }\n /** Terminals of the session. */\n terminals: TerminalInfo[]\n}\n\n/** Opens a terminal in a session. */\nexport interface TerminalOpenInput {\n /** Session to open the terminal in. */\n sessionId: string\n /** Where to run it. @default 'session' */\n target?: TerminalTarget\n /** Initial width in character cells. */\n cols: number\n /** Initial height in character cells. */\n rows: number\n}\n\n/** Opens a project / draft terminal: a shell on the host's machine in `cwd`. */\nexport interface TerminalProjectOpenInput {\n /** Folder of the project. The shell starts here. */\n cwd: string\n /** New-chat draft to tie the terminal to. Absent: the terminal belongs to the project. */\n draftId?: string\n /** Initial width in character cells. */\n cols: number\n /** Initial height in character cells. */\n rows: number\n}\n\n/**\n * The terminals of a project (`draftId` absent) or of one draft. `cwd` is any\n * folder of the project; the host resolves its root.\n */\nexport interface TerminalProjectStateInput {\n /** Any folder of the project. */\n cwd: string\n /** Draft to list the terminals of. Absent: the project's terminals. */\n draftId?: string\n}\n\n/** The terminals of a project or of one draft, and whether this host can run them. */\nexport interface TerminalProjectState {\n /** False when this host cannot run terminals. */\n available: boolean\n /** Why not, when `available` is false. */\n reason?: string\n /** The resolved project root (what `terminal:project-changed` names). */\n root: string\n /** Terminals of the project or draft. */\n terminals: TerminalInfo[]\n}\n\n/** What `terminal.adopt` moved into the session (ids), and what it could not. */\nexport interface TerminalAdoptResult {\n /** Ids of the terminals moved into the session. */\n adopted: string[]\n /** Over the per-scope cap: left in the project. */\n skipped: string[]\n}\n\n/** What a client needs to start showing a terminal: its history, and where live output resumes. */\nexport interface TerminalAttachResult {\n /** The terminal that was attached. */\n terminal: TerminalInfo\n /** Output history to show first. */\n data: string\n /** Character offset where live output resumes. */\n offset: number\n}\n\n/** The agent's view: plain text lines, with a cursor for the next read. */\nexport interface TerminalReadResult {\n /** The terminal that was read. */\n terminal: TerminalInfo\n /** Plain-text output. */\n text: string\n /** Pass as `since` to get only newer lines. */\n next: number\n /** Lines dropped from the front because of the size cap. */\n truncated: number\n}\n\n/** Characters a client may be behind before the host stops sending to it. */\nexport const TERMINAL_OUTPUT_WINDOW = 256 * 1024\n/** History kept per terminal for new views (characters). */\nexport const TERMINAL_HISTORY_MAX_CHARS = 4 * 1024 * 1024\n/** Scrollback lines a desktop terminal view keeps. */\nexport const TERMINAL_VIEW_SCROLLBACK = 10_000\n/**\n * Lines a desktop view can show (its scrollback, plus a screen of up to\n * 1000 rows): what it asks `terminal.attach` for (`maxLines`) and what it\n * keeps of the output it drew.\n */\nexport const TERMINAL_VIEW_MAX_LINES = TERMINAL_VIEW_SCROLLBACK + 1000\n/** Plain-text lines kept per terminal for the agent. */\nexport const TERMINAL_TEXT_MAX_LINES = 5000\n/** Most the agent gets from one read (characters). */\nexport const TERMINAL_READ_MAX_CHARS = 16 * 1024\n/** Terminals a session, a project or a draft may have open at once (user terminals). */\nexport const TERMINAL_MAX_PER_SCOPE = 12\n/**\n * Terminals a session, a project or a draft may have open at once.\n * @deprecated Use {@link TERMINAL_MAX_PER_SCOPE}.\n */\nexport const TERMINAL_MAX_PER_SESSION = TERMINAL_MAX_PER_SCOPE\n\n/** Error thrown by terminal operations. `code` says why. */\nexport class TerminalError extends Error {\n /**\n * Creates a terminal error.\n * @param code - Reason for the failure.\n * @param message - Human-readable description.\n */\n constructor(readonly code: 'unavailable' | 'not_found' | 'limit' | 'not_running' | 'failed', message: string) {\n super(message)\n this.name = 'TerminalError'\n }\n}\n","/**\n * Terminal modes followed from a program's output: the DEC private modes\n * that outlive the output that set them (mouse tracking, cursor keys,\n * bracketed paste, the alternate screen) and the application keypad. A\n * replay that starts after the sequences that set them writes\n * {@link modePrefix} first, so the replaying terminal ends in the same state.\n * Pure, so the host (snapshots, mouse filtering) and the desktop app's views\n * read the same rules.\n */\n\n/** DEC private modes worth restoring: input modes and screen state that outlive the output that set them. */\nconst TRACKED_MODES = new Set([1, 7, 9, 12, 25, 47, 1000, 1002, 1003, 1004, 1005, 1006, 1015, 1016, 1047, 1049, 2004])\n/** On in a fresh terminal (autowrap, visible cursor): only a reset is worth replaying. */\nconst DEFAULT_ON = new Set([7, 25])\nconst ALT_MODES = [47, 1047, 1049]\n/** Modes that turn mouse reporting on: X10, normal, button-event, any-event. */\nconst MOUSE_MODES = [9, 1000, 1002, 1003]\n\n/** The terminal modes a program's output has left set, as {@link scanModes} follows them. */\nexport interface ModeState {\n /** DEC private modes last set (true) or reset (false). */\n readonly modes: ReadonlyMap<number, boolean>\n /** Application keypad (`ESC =`), when it was set or reset. */\n readonly keypad: boolean | null\n /** Stream offset of the sequence that entered the alternate screen, while it is active. */\n readonly altAt: number | null\n}\n\n/** The modes of a fresh terminal: nothing set or reset yet. */\nexport const EMPTY_MODES: ModeState = { modes: new Map(), keypad: null, altAt: null }\n\n// eslint-disable-next-line no-control-regex\nconst SEQUENCE = /\\x1B(?:\\[\\?([0-9;]*)([hl])|([=>c]))/g\n// eslint-disable-next-line no-control-regex\nconst PREFIX = /^(?:\\x1B\\[\\?\\d+[hl]|\\x1B=)*/\n\nconst altActive = (modes: ReadonlyMap<number, boolean>) => ALT_MODES.some(m => modes.get(m) === true)\n\n/**\n * The mode state after `text`, which starts at stream offset `base`. Returns `state` itself when nothing changed.\n *\n * @param state - The modes before `text`.\n * @param text - Program output to scan.\n * @param base - Stream offset of `text`'s first character, recorded in `altAt`.\n */\nexport function scanModes(state: ModeState, text: string, base: number): ModeState {\n if (!text.includes('\\x1B'))\n return state\n let next = state\n let modes: Map<number, boolean> | null = null\n SEQUENCE.lastIndex = 0\n for (let m = SEQUENCE.exec(text); m; m = SEQUENCE.exec(text)) {\n if (m[3] === 'c') {\n next = EMPTY_MODES\n modes = null\n continue\n }\n if (m[3]) {\n const keypad = m[3] === '='\n if (next.keypad !== keypad)\n next = { ...next, keypad }\n continue\n }\n const on = m[2] === 'h'\n const wasAlt = next.altAt !== null\n for (const p of m[1]!.split(';')) {\n const mode = Number(p)\n if (!TRACKED_MODES.has(mode) || next.modes.get(mode) === on)\n continue\n if (!modes) {\n modes = new Map(next.modes)\n next = { ...next, modes }\n }\n modes.set(mode, on)\n }\n if (modes && next.modes === modes) {\n const alt = altActive(modes)\n if (alt !== wasAlt)\n next = { ...next, altAt: alt ? base + m.index : null }\n }\n }\n return next\n}\n\n/**\n * Sequences that put a fresh terminal in `state`'s modes.\n *\n * @param state - The modes to restore.\n */\nexport function modePrefix(state: ModeState): string {\n let out = ''\n for (const [mode, on] of state.modes) {\n if (on !== DEFAULT_ON.has(mode))\n out += `\\x1B[?${mode}${on ? 'h' : 'l'}`\n }\n if (state.keypad)\n out += '\\x1B='\n return out\n}\n\n/**\n * Length of the mode sequences `text` starts with: at least the\n * {@link modePrefix} put in front of a snapshot. Output that itself starts\n * with mode sequences counts too, so this errs towards less output, never more.\n *\n * @param text - A replay that may start with a mode prefix.\n */\nexport function modePrefixLength(text: string): number {\n return PREFIX.exec(text)![0].length\n}\n\n/**\n * Whether the program asked for mouse reports.\n *\n * @param state - The modes to check.\n */\nexport function isMouseTracking(state: ModeState): boolean {\n return MOUSE_MODES.some(m => state.modes.get(m) === true)\n}\n","/**\n * A terminal's output kept by stream offset, so it can be replayed into a\n * fresh terminal (a view attaching, a view rebuilding its grid, a reset)\n * without replaying more than that terminal can hold. The host keeps one per\n * terminal for attaches and resets; each desktop view keeps one of what it\n * drew. Pure, safe for a renderer bundle.\n *\n * Chunks are stored in a head-indexed array, capped by characters (and,\n * optionally, by lines). A replay keeps only the last lines asked for (or the\n * last characters), cut right after a newline or right before an escape\n * sequence, so no sequence or surrogate pair is split. Cutting drops the\n * sequences that set up a running program (mouse tracking, cursor keys,\n * bracketed paste, the alternate screen), so the modes in force at the cut\n * are tracked per chunk and replayed first. A program still on the\n * alternate screen is replayed from where it entered it: it only repaints\n * what changes, so a tail of its output would leave the screen half drawn.\n */\nimport type { ModeState } from '../../contexts/terminal-modes'\nimport { EMPTY_MODES, modePrefix, scanModes } from '../../contexts/terminal-modes'\n\nexport type { ModeState } from '../../contexts/terminal-modes'\nexport { EMPTY_MODES, isMouseTracking, modePrefix, modePrefixLength, scanModes } from '../../contexts/terminal-modes'\n\n/** A sequence split across chunks is shorter than this: the tail after the last ESC is rescanned with the next chunk. */\nconst CARRY_MAX = 32\n\n/**\n * End of a slice of at most `size` chars from `from`, never between the halves of a surrogate pair.\n *\n * @param text - The text being sliced.\n * @param from - Index the slice starts at.\n * @param size - Most characters the slice may hold (at least one is taken).\n */\nexport function sliceEnd(text: string, from: number, size: number): number {\n const end = Math.min(text.length, from + Math.max(1, size))\n if (end < text.length && end - from > 1) {\n const code = text.charCodeAt(end - 1)\n if (code >= 0xD800 && code <= 0xDBFF)\n return end - 1\n }\n return end\n}\n\nfunction countLines(text: string): number {\n let n = 0\n for (let i = text.indexOf('\\n'); i !== -1; i = text.indexOf('\\n', i + 1)) n++\n return n\n}\n\ninterface Chunk {\n /** Stream offset of `data[0]`. */\n readonly at: number\n readonly data: string\n /** Modes in force before this chunk (its `carry` not yet applied). */\n readonly before: ModeState\n /** Unfinished sequence at the end of the previous chunk, scanned with this one. */\n readonly carry: string\n /** Starts a line (the previous chunk ended with a newline, or nothing came before): a replay can start here. */\n readonly clean: boolean\n /** Newlines in `data`, counted only under a line cap. */\n readonly lines: number\n}\n\n/** Optional caps for an {@link OutputHistory}. */\nexport interface OutputHistoryOptions {\n /**\n * Also evict once more than this many lines are kept, except while the\n * program is on the alternate screen (a replay needs all of it).\n */\n maxLines?: number\n}\n\n/** One terminal's output by stream offset, capped, replayable into a fresh terminal with its modes. */\nexport class OutputHistory {\n private chunks: Chunk[] = []\n private head = 0\n private chars = 0\n private lineCount = 0\n private state: ModeState = EMPTY_MODES\n private carry = ''\n private clean = true\n private readonly maxLines: number\n /** Stream offset after the last chunk. */\n end = 0\n\n /**\n * @param maxChars - Evict the oldest chunks once more characters than this are kept (the newest chunk always stays).\n * @param options - Further caps.\n */\n constructor(private readonly maxChars: number, options: OutputHistoryOptions = {}) {\n this.maxLines = options.maxLines ?? Infinity\n }\n\n /** Stream offset of the oldest character kept. */\n get start(): number {\n return this.head < this.chunks.length ? this.chunks[this.head]!.at : this.end\n }\n\n /** Characters kept. */\n get size(): number {\n return this.chars\n }\n\n /** Modes in force after everything pushed (an unfinished trailing sequence not yet applied). */\n get modes(): ModeState {\n return this.state\n }\n\n /**\n * Start over with `data`, which ends at stream offset `end` (a re-attach).\n *\n * @param end - Stream offset right after `data`.\n * @param data - The output to start from.\n */\n reset(end: number, data: string): void {\n this.chunks = []\n this.head = 0\n this.chars = 0\n this.lineCount = 0\n this.state = EMPTY_MODES\n this.carry = ''\n this.clean = true\n this.end = end - data.length\n this.push(data)\n }\n\n /**\n * Append output at the current end, then evict past the caps.\n *\n * @param data - The next output, continuing at {@link OutputHistory.end}.\n */\n push(data: string): void {\n if (!data)\n return\n const at = this.end\n const carry = this.carry\n const scanned = carry + data\n const lines = this.maxLines === Infinity ? 0 : countLines(data)\n this.chunks.push({ at, data, before: this.state, carry, clean: this.clean, lines })\n this.state = scanModes(this.state, scanned, at - carry.length)\n const esc = scanned.lastIndexOf('\\x1B')\n this.carry = esc >= 0 && scanned.length - esc < CARRY_MAX ? scanned.slice(esc) : ''\n this.clean = data.endsWith('\\n')\n this.end = at + data.length\n this.chars += data.length\n this.lineCount += lines\n while (this.chunks.length - this.head > 1 && this.overCap()) {\n const evicted = this.chunks[this.head]!\n this.chars -= evicted.data.length\n this.lineCount -= evicted.lines\n this.head++\n }\n // Drop evicted slots once they are most of the array: amortized O(1) per push.\n if (this.head > 64 && this.head * 2 > this.chunks.length) {\n this.chunks = this.chunks.slice(this.head)\n this.head = 0\n }\n }\n\n /**\n * Text kept between stream offsets `from` and `to`.\n *\n * @param from - Start offset, clamped to {@link OutputHistory.start}.\n * @param to - End offset, clamped to {@link OutputHistory.end}.\n */\n text(from = this.start, to = this.end): string {\n from = Math.max(from, this.start)\n to = Math.min(to, this.end)\n if (from >= to)\n return ''\n const parts: string[] = []\n for (let i = this.find(from); i < this.chunks.length; i++) {\n const c = this.chunks[i]!\n if (c.at >= to)\n break\n parts.push(c.at >= from && c.at + c.data.length <= to ? c.data : c.data.slice(from - c.at, to - c.at))\n }\n return parts.join('')\n }\n\n /**\n * What rebuilds the terminal's state up to stream offset `upTo`, keeping\n * about the last `lines` lines and at most `maxChars` characters of\n * output: the modes in force at the cut, then the output from there.\n *\n * @param lines - About how many trailing lines to keep (`Infinity` for all).\n * @param upTo - Stream offset to replay up to, clamped to {@link OutputHistory.end}.\n * @param maxChars - Most characters of output to replay.\n */\n replay(lines: number, upTo = this.end, maxChars = Infinity): string {\n upTo = Math.min(upTo, this.end)\n const floor = this.safeFrom(this.start, upTo)\n const from = upTo - maxChars > floor ? this.safeFrom(upTo - maxChars, upTo) : floor\n const cut = this.lineCut(from, upTo, lines)\n const state = this.stateAt(cut)\n if (state.altAt === null || state.altAt <= from || cut === from)\n return modePrefix(state) + this.text(cut, upTo)\n // Still on the alternate screen: the primary screen up to it, trimmed, then everything since it was entered.\n const altAt = state.altAt\n const primaryCut = this.lineCut(from, altAt, lines)\n return modePrefix(this.stateAt(primaryCut)) + this.text(primaryCut, altAt) + this.text(altAt, upTo)\n }\n\n private overCap(): boolean {\n if (this.chars > this.maxChars)\n return true\n return this.lineCount - this.chunks[this.head]!.lines > this.maxLines && this.state.altAt === null\n }\n\n /** Index of the chunk holding stream offset `offset` (the first kept one when it is older). */\n private find(offset: number): number {\n let lo = this.head\n let hi = this.chunks.length - 1\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1\n if (this.chunks[mid]!.at <= offset)\n lo = mid\n else hi = mid - 1\n }\n return lo\n }\n\n /**\n * The first offset from `offset` on (before `to`) where a replay can start:\n * a chunk that starts a line, right after a newline, or right before an\n * ESC. With none, `offset` itself, moved off the second half of a surrogate pair.\n */\n private safeFrom(offset: number, to: number): number {\n if (this.head >= this.chunks.length || offset >= to)\n return offset\n for (let i = this.find(offset); i < this.chunks.length; i++) {\n const c = this.chunks[i]!\n if (c.at >= to)\n break\n if (c.at >= offset && c.clean)\n return c.at\n const from = Math.max(0, offset - c.at)\n if (from > 0 && c.data.charCodeAt(from - 1) === 10)\n return offset\n const nl = c.data.indexOf('\\n', from)\n const esc = c.data.indexOf('\\x1B', from)\n const found = Math.min(nl === -1 ? Infinity : nl + 1, esc === -1 ? Infinity : esc)\n if (found !== Infinity)\n return c.at + found < to ? c.at + found : this.offSurrogate(offset)\n }\n return this.offSurrogate(offset)\n }\n\n private offSurrogate(offset: number): number {\n const c = this.chunks[this.find(offset)]!\n const code = c.data.charCodeAt(offset - c.at)\n return code >= 0xDC00 && code <= 0xDFFF ? offset + 1 : offset\n }\n\n /** Stream offset where the last `lines` lines before `to` start (just after a newline), or `from` when there are fewer. */\n private lineCut(from: number, to: number, lines: number): number {\n if (lines <= 0 || to <= from)\n return Math.max(from, to)\n if (lines === Infinity)\n return from\n let left = lines\n for (let i = this.find(to - 1); i >= this.head; i--) {\n const c = this.chunks[i]!\n if (c.at + c.data.length <= from)\n break\n let idx = Math.min(c.data.length, to - c.at)\n const floor = Math.max(0, from - c.at)\n while (idx > floor) {\n const nl = c.data.lastIndexOf('\\n', idx - 1)\n if (nl < floor)\n break\n // The newline ending the text ends its last line; it does not start another.\n if (c.at + nl + 1 < to && --left === 0)\n return c.at + nl + 1\n idx = nl\n }\n }\n return from\n }\n\n private stateAt(offset: number): ModeState {\n if (this.head >= this.chunks.length)\n return this.state\n const i = this.find(offset)\n const c = this.chunks[i]!\n const head = c.data.slice(0, Math.max(0, offset - c.at))\n return scanModes(c.before, c.carry + head, c.at - c.carry.length)\n }\n}\n","/**\n * Edits to the `enabledMcps` allowlist. Without an explicit list every\n * server is on, so there is nothing to change. Servers that merely appear\n * in a config file stay off once a list exists (they don't opt in\n * silently); a server the user adds in Settings is turned on with it.\n */\n\n/**\n * The list with `name` turned on, or `undefined` when it already is.\n *\n * @param list - The current `enabledMcps` list, or `undefined` when every server is on.\n * @param name - Server to turn on.\n */\nexport function enabledMcpsWith(list: readonly string[] | undefined, name: string): string[] | undefined {\n return list === undefined || list.includes(name) ? undefined : [...list, name]\n}\n\n/**\n * The list without `name`, or `undefined` when it isn't listed.\n *\n * @param list - The current `enabledMcps` list, or `undefined` when every server is on.\n * @param name - Server to turn off.\n */\nexport function enabledMcpsWithout(list: readonly string[] | undefined, name: string): string[] | undefined {\n return list?.includes(name) ? list.filter(n => n !== name) : undefined\n}\n"],"mappings":"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"}