@markusylisiurunen/tau 0.3.78 → 0.3.80

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 (309) hide show
  1. package/dist/code_mode/images.d.ts +3 -0
  2. package/dist/code_mode/images.js +37 -0
  3. package/dist/code_mode/images.js.map +1 -0
  4. package/dist/code_mode/output.d.ts +22 -0
  5. package/dist/code_mode/output.js +109 -0
  6. package/dist/code_mode/output.js.map +1 -0
  7. package/dist/code_mode/runtime.d.ts +2 -1
  8. package/dist/code_mode/runtime.js +92 -12
  9. package/dist/code_mode/runtime.js.map +1 -1
  10. package/dist/core/agent/agent_runtime.js +68 -76
  11. package/dist/core/agent/agent_runtime.js.map +1 -1
  12. package/dist/core/auth/auth_manager.js +3 -7
  13. package/dist/core/auth/auth_manager.js.map +1 -1
  14. package/dist/core/auth/auth_messages.js +1 -1
  15. package/dist/core/auth/auth_messages.js.map +1 -1
  16. package/dist/core/auth/auth_storage.js +71 -7
  17. package/dist/core/auth/auth_storage.js.map +1 -1
  18. package/dist/core/auth/cli.js +8 -7
  19. package/dist/core/auth/cli.js.map +1 -1
  20. package/dist/core/auth/credential_store.js +88 -186
  21. package/dist/core/auth/credential_store.js.map +1 -1
  22. package/dist/core/auth/index.js +1 -1
  23. package/dist/core/auth/index.js.map +1 -1
  24. package/dist/core/auth/providers/openai_codex.js +51 -229
  25. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  26. package/dist/core/cli.js +1 -2
  27. package/dist/core/cli.js.map +1 -1
  28. package/dist/core/client_tools/command_client_tools.js +2 -2
  29. package/dist/core/commands/registry.js +16 -1
  30. package/dist/core/commands/registry.js.map +1 -1
  31. package/dist/core/config/content_loader.js +30 -131
  32. package/dist/core/config/content_loader.js.map +1 -1
  33. package/dist/core/config/index.js.map +1 -1
  34. package/dist/core/config/mcp.js +68 -0
  35. package/dist/core/config/mcp.js.map +1 -0
  36. package/dist/core/config/paths.js +0 -1
  37. package/dist/core/config/paths.js.map +1 -1
  38. package/dist/core/config/runtime.js +3 -2
  39. package/dist/core/config/runtime.js.map +1 -1
  40. package/dist/core/config/runtime_config_snapshot.js +23 -9
  41. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  42. package/dist/core/config/schema.js +39 -73
  43. package/dist/core/config/schema.js.map +1 -1
  44. package/dist/core/config/skills_loader.js +6 -2
  45. package/dist/core/config/skills_loader.js.map +1 -1
  46. package/dist/core/debug.js +1 -16
  47. package/dist/core/debug.js.map +1 -1
  48. package/dist/core/index.js +2 -2
  49. package/dist/core/index.js.map +1 -1
  50. package/dist/core/mcp/manager.js +245 -0
  51. package/dist/core/mcp/manager.js.map +1 -0
  52. package/dist/core/mcp/search.js +77 -0
  53. package/dist/core/mcp/search.js.map +1 -0
  54. package/dist/core/models/catalog.js +2 -239
  55. package/dist/core/models/catalog.js.map +1 -1
  56. package/dist/core/personas.js +2 -15
  57. package/dist/core/personas.js.map +1 -1
  58. package/dist/core/runtime/agent_model.js +0 -3
  59. package/dist/core/runtime/agent_model.js.map +1 -1
  60. package/dist/core/runtime/chat_runtime.js +19 -13
  61. package/dist/core/runtime/chat_runtime.js.map +1 -1
  62. package/dist/core/runtime/runtime_bootstrap.js +12 -59
  63. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  64. package/dist/core/session/auto_compaction_archive.js +1 -1
  65. package/dist/core/session/auto_compaction_archive.js.map +1 -1
  66. package/dist/core/session/compaction.js +79 -506
  67. package/dist/core/session/compaction.js.map +1 -1
  68. package/dist/core/static/code_mode/mcp/documentation.md +113 -0
  69. package/dist/core/static/code_mode/sandbox_runner.mjs +58 -3
  70. package/dist/core/static/tau_docs/client-tools.md +32 -30
  71. package/dist/core/static/tau_docs/config-reference.md +60 -38
  72. package/dist/core/static/tau_docs/configuration.md +3 -16
  73. package/dist/core/static/tau_docs/credentials.md +20 -50
  74. package/dist/core/static/tau_docs/index.md +2 -1
  75. package/dist/core/static/tau_docs/manifest.json +1 -0
  76. package/dist/core/static/tau_docs/models.md +8 -159
  77. package/dist/core/static/tau_docs/node-sdk.md +4 -2
  78. package/dist/core/static/tau_docs/openrouter.md +165 -0
  79. package/dist/core/static/tau_docs/ownership-and-scope.md +5 -3
  80. package/dist/core/static/tau_docs/personas.md +11 -43
  81. package/dist/core/static/tau_docs/prompts-and-project-context.md +10 -44
  82. package/dist/core/static/tau_docs/remote-sessions.md +6 -7
  83. package/dist/core/static/tau_docs/security.md +17 -6
  84. package/dist/core/static/tau_docs/session-protocol-methods.md +8 -4
  85. package/dist/core/static/tau_docs/session-protocol.md +12 -10
  86. package/dist/core/static/tau_docs/sessions.md +8 -6
  87. package/dist/core/static/tau_docs/skills.md +8 -32
  88. package/dist/core/static/tau_docs/subagents.md +4 -3
  89. package/dist/core/static/tau_docs/telegram.md +2 -2
  90. package/dist/core/static/tau_docs/tools.md +22 -6
  91. package/dist/core/static/tau_docs/troubleshooting.md +11 -12
  92. package/dist/core/static/tau_docs/tui.md +10 -3
  93. package/dist/core/subagents/agent_supervisor.js +1 -2
  94. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  95. package/dist/core/subagents/registry.js +2 -1
  96. package/dist/core/subagents/registry.js.map +1 -1
  97. package/dist/core/subagents/types.js +2 -1
  98. package/dist/core/subagents/types.js.map +1 -1
  99. package/dist/core/telegram/adapter.js +1 -1
  100. package/dist/core/telegram/adapter.js.map +1 -1
  101. package/dist/core/tool/cli.js +10 -2
  102. package/dist/core/tool/cli.js.map +1 -1
  103. package/dist/core/tool/openrouter.js +291 -0
  104. package/dist/core/tool/openrouter.js.map +1 -0
  105. package/dist/core/tool/openrouter_decisions.js +97 -0
  106. package/dist/core/tool/openrouter_decisions.js.map +1 -0
  107. package/dist/core/tool/openrouter_media.js +180 -0
  108. package/dist/core/tool/openrouter_media.js.map +1 -0
  109. package/dist/core/tools/catalog.js +14 -2
  110. package/dist/core/tools/catalog.js.map +1 -1
  111. package/dist/core/tools/code_mode.js +5 -2
  112. package/dist/core/tools/code_mode.js.map +1 -1
  113. package/dist/core/tools/code_mode_worker.js +33 -1
  114. package/dist/core/tools/code_mode_worker.js.map +1 -1
  115. package/dist/core/tools/history.js +1 -1
  116. package/dist/core/tools/history.js.map +1 -1
  117. package/dist/core/tools/mcp.js +167 -0
  118. package/dist/core/tools/mcp.js.map +1 -0
  119. package/dist/core/tools/nook.js +1 -1
  120. package/dist/core/tools/nook.js.map +1 -1
  121. package/dist/core/tools/spawn_agent.js +1 -0
  122. package/dist/core/tools/spawn_agent.js.map +1 -1
  123. package/dist/core/tools/tau_docs.js +1 -0
  124. package/dist/core/tools/tau_docs.js.map +1 -1
  125. package/dist/core/tools/tool_names.js +2 -0
  126. package/dist/core/tools/tool_names.js.map +1 -1
  127. package/dist/core/tools/view_image.js +1 -105
  128. package/dist/core/tools/view_image.js.map +1 -1
  129. package/dist/core/tools/web.js +1 -1
  130. package/dist/core/tools/web.js.map +1 -1
  131. package/dist/core/utils/bm25.js +74 -0
  132. package/dist/core/utils/bm25.js.map +1 -0
  133. package/dist/core/utils/model_image.js +106 -0
  134. package/dist/core/utils/model_image.js.map +1 -0
  135. package/dist/core/utils/model_stream.js +47 -34
  136. package/dist/core/utils/model_stream.js.map +1 -1
  137. package/dist/core/utils/user_metadata.js +2 -27
  138. package/dist/core/utils/user_metadata.js.map +1 -1
  139. package/dist/core/version.js +2 -2
  140. package/dist/core/version.js.map +1 -1
  141. package/dist/diff_tool/app/dist/assets/{ada-C5qYipkI.js → ada-X3Y2mlq2.js} +1 -1
  142. package/dist/diff_tool/app/dist/assets/{ahk-CA9gdOdF.js → ahk-DwADkxyd.js} +1 -1
  143. package/dist/diff_tool/app/dist/assets/{angular-html-CnO8qept.js → angular-html-BbLgbIhq.js} +1 -1
  144. package/dist/diff_tool/app/dist/assets/{angular-ts-DPXUio9Z.js → angular-ts-DXk17TRM.js} +1 -1
  145. package/dist/diff_tool/app/dist/assets/{apl-X8YsymsQ.js → apl-BsvksCXR.js} +1 -1
  146. package/dist/diff_tool/app/dist/assets/{astro-BQ9k8AQ0.js → astro-DH775E4V.js} +1 -1
  147. package/dist/diff_tool/app/dist/assets/beancount-C2IN4Vk8.js +1 -0
  148. package/dist/diff_tool/app/dist/assets/{blade-DZ1LYIzB.js → blade-Ck99Rm59.js} +1 -1
  149. package/dist/diff_tool/app/dist/assets/{c-VLTwNh7z.js → c-DJpHqu5J.js} +1 -1
  150. package/dist/diff_tool/app/dist/assets/{chapel-5s-sGN8D.js → chapel-Owff0Csy.js} +1 -1
  151. package/dist/diff_tool/app/dist/assets/{cobol-C9RzwrVu.js → cobol-Cv2gZuhO.js} +1 -1
  152. package/dist/diff_tool/app/dist/assets/{coffee-BHvjZ343.js → coffee-Bji0YCf_.js} +1 -1
  153. package/dist/diff_tool/app/dist/assets/coq-CGaSfhwR.js +1 -0
  154. package/dist/diff_tool/app/dist/assets/{cpp-CBTVXbBp.js → cpp-DTjA_yFF.js} +1 -1
  155. package/dist/diff_tool/app/dist/assets/{crystal-DQJua4y4.js → crystal-Dd00NOeb.js} +1 -1
  156. package/dist/diff_tool/app/dist/assets/csharp-dmMxLVLW.js +1 -0
  157. package/dist/diff_tool/app/dist/assets/css-D44TN1V6.js +1 -0
  158. package/dist/diff_tool/app/dist/assets/dart-CHZY9Xhz.js +1 -0
  159. package/dist/diff_tool/app/dist/assets/dotenv-CuH5my32.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/{edge-BmdmXGH4.js → edge-CVmGSi2m.js} +1 -1
  161. package/dist/diff_tool/app/dist/assets/{elixir-oiOLs98L.js → elixir-B8Mq7no2.js} +1 -1
  162. package/dist/diff_tool/app/dist/assets/{elm-BgYuiU4E.js → elm-CXS0I3Z2.js} +1 -1
  163. package/dist/diff_tool/app/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  164. package/dist/diff_tool/app/dist/assets/{erb-CvFrXpyY.js → erb-B9oDKaUo.js} +1 -1
  165. package/dist/diff_tool/app/dist/assets/{git-rebase-D3Zo1BLH.js → git-rebase-DT-YFebH.js} +1 -1
  166. package/dist/diff_tool/app/dist/assets/{glimmer-js-B4-8E3lJ.js → glimmer-js-s0DXlNjq.js} +1 -1
  167. package/dist/diff_tool/app/dist/assets/{glimmer-ts-CtKkD0t_.js → glimmer-ts-QgEB5S2z.js} +1 -1
  168. package/dist/diff_tool/app/dist/assets/{glsl-BAqforx_.js → glsl-NA0icwbY.js} +1 -1
  169. package/dist/diff_tool/app/dist/assets/gn-CAXYAgV-.js +1 -0
  170. package/dist/diff_tool/app/dist/assets/{graphql-DuE1RMyL.js → graphql-0_dOlfV0.js} +1 -1
  171. package/dist/diff_tool/app/dist/assets/{hack-CHBcXjz1.js → hack-D-mr7l1l.js} +1 -1
  172. package/dist/diff_tool/app/dist/assets/{haml-DAs2z3tD.js → haml-B0-oQmz7.js} +1 -1
  173. package/dist/diff_tool/app/dist/assets/handlebars-Yq9bXpWN.js +1 -0
  174. package/dist/diff_tool/app/dist/assets/{html-D5co0BLD.js → html-B8bMmdRK.js} +1 -1
  175. package/dist/diff_tool/app/dist/assets/{html-derivative-BZaWEmAT.js → html-derivative-BpxSlQb_.js} +1 -1
  176. package/dist/diff_tool/app/dist/assets/{http-Cii5MjJE.js → http-hS_53mxt.js} +1 -1
  177. package/dist/diff_tool/app/dist/assets/{hurl-Bur-XdJO.js → hurl-B2ST1kwl.js} +1 -1
  178. package/dist/diff_tool/app/dist/assets/index-CBT_sNIz.js +340 -0
  179. package/dist/diff_tool/app/dist/assets/{java-DN39wI4w.js → java-D4mj0lZJ.js} +1 -1
  180. package/dist/diff_tool/app/dist/assets/{javascript-VUReF1H4.js → javascript-wC7rrKiV.js} +1 -1
  181. package/dist/diff_tool/app/dist/assets/{jinja-BcrfV1JB.js → jinja-DbQ3o87F.js} +1 -1
  182. package/dist/diff_tool/app/dist/assets/{jison-Bez5Mtmy.js → jison-CrE9FdvP.js} +1 -1
  183. package/dist/diff_tool/app/dist/assets/{json-ChV8m0Le.js → json-xjicDyWN.js} +1 -1
  184. package/dist/diff_tool/app/dist/assets/{jsx-D0SXNtM0.js → jsx-m28lXojQ.js} +1 -1
  185. package/dist/diff_tool/app/dist/assets/{julia-DvhpcBwG.js → julia-19xkOmop.js} +1 -1
  186. package/dist/diff_tool/app/dist/assets/{just-BGwe8S6x.js → just-Cf7OorTr.js} +1 -1
  187. package/dist/diff_tool/app/dist/assets/latex-DDb7GQOy.js +1 -0
  188. package/dist/diff_tool/app/dist/assets/{liquid-UdnqDjKz.js → liquid-DHOuQ0rf.js} +1 -1
  189. package/dist/diff_tool/app/dist/assets/{lua-CjDHeHEr.js → lua-BGyIvonw.js} +1 -1
  190. package/dist/diff_tool/app/dist/assets/luau-VGWVLoqX.js +1 -0
  191. package/dist/diff_tool/app/dist/assets/marko-DB5OqI1C.js +1 -0
  192. package/dist/diff_tool/app/dist/assets/{mdc-BOLj6Oyq.js → mdc-DTyNMupO.js} +1 -1
  193. package/dist/diff_tool/app/dist/assets/monokai-BscAjiQZ.js +1 -0
  194. package/dist/diff_tool/app/dist/assets/moonbit-D9W784E_.js +1 -0
  195. package/dist/diff_tool/app/dist/assets/nextflow-CSgcYZcx.js +1 -0
  196. package/dist/diff_tool/app/dist/assets/{nextflow-groovy-DJMQeKeT.js → nextflow-groovy-D7IRt6Pp.js} +1 -1
  197. package/dist/diff_tool/app/dist/assets/{nginx-5r5xPc2T.js → nginx-DfF0fMYD.js} +1 -1
  198. package/dist/diff_tool/app/dist/assets/{nim-9exKQYMz.js → nim-BbwsXuZD.js} +1 -1
  199. package/dist/diff_tool/app/dist/assets/nushell--0fT3PI1.js +1 -0
  200. package/dist/diff_tool/app/dist/assets/one-dark-pro-C6YyR8OD.js +1 -0
  201. package/dist/diff_tool/app/dist/assets/{org-B2fpAlbt.js → org-BkOBBl1f.js} +1 -1
  202. package/dist/diff_tool/app/dist/assets/{perl-DV2fcwyY.js → perl-BTXTOl4K.js} +1 -1
  203. package/dist/diff_tool/app/dist/assets/php-DIMVQWiA.js +1 -0
  204. package/dist/diff_tool/app/dist/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +1 -1
  205. package/dist/diff_tool/app/dist/assets/{pug-DuKcQxFj.js → pug-B_nrb4dJ.js} +1 -1
  206. package/dist/diff_tool/app/dist/assets/{qml-C16b4SYx.js → qml-1PXi8G8Z.js} +1 -1
  207. package/dist/diff_tool/app/dist/assets/{r-B1ZldnJf.js → r-CJrAkc2Z.js} +1 -1
  208. package/dist/diff_tool/app/dist/assets/{razor-TYmslaAB.js → razor-DgPUftNd.js} +1 -1
  209. package/dist/diff_tool/app/dist/assets/red-CYlAq2b0.js +1 -0
  210. package/dist/diff_tool/app/dist/assets/{regexp-dWCffmDD.js → regexp-C2hS8XvL.js} +1 -1
  211. package/dist/diff_tool/app/dist/assets/{rst-DEkLr2YR.js → rst-CDouhKnc.js} +1 -1
  212. package/dist/diff_tool/app/dist/assets/{ruby-BJnJzr4u.js → ruby-CAjKW1uO.js} +1 -1
  213. package/dist/diff_tool/app/dist/assets/rust-DpiIf5JO.js +1 -0
  214. package/dist/diff_tool/app/dist/assets/{sas-DeRsDbUE.js → sas-qAHkHLc1.js} +1 -1
  215. package/dist/diff_tool/app/dist/assets/{scss-SGV_CwKm.js → scss-Bfx2Ydid.js} +1 -1
  216. package/dist/diff_tool/app/dist/assets/{shellscript-BI7khmmR.js → shellscript-Bu76R8y2.js} +1 -1
  217. package/dist/diff_tool/app/dist/assets/{shellsession-Nupw_Vvw.js → shellsession-BU8BL0oL.js} +1 -1
  218. package/dist/diff_tool/app/dist/assets/solarized-dark-b97czJOk.js +1 -0
  219. package/dist/diff_tool/app/dist/assets/solarized-light-DFPxpIYQ.js +1 -0
  220. package/dist/diff_tool/app/dist/assets/{soy-B96cBzxv.js → soy-FRl8ozP-.js} +1 -1
  221. package/dist/diff_tool/app/dist/assets/sql-BacQgsEs.js +1 -0
  222. package/dist/diff_tool/app/dist/assets/{stata-Dnq48cE6.js → stata-B9kkG-ET.js} +1 -1
  223. package/dist/diff_tool/app/dist/assets/{surrealql-D6lw4TiD.js → surrealql-qvETr7iY.js} +1 -1
  224. package/dist/diff_tool/app/dist/assets/{svelte-ChVoq9tB.js → svelte-B0z1MgHc.js} +1 -1
  225. package/dist/diff_tool/app/dist/assets/{templ-Dh1EXuHD.js → templ-DTnPshKb.js} +1 -1
  226. package/dist/diff_tool/app/dist/assets/{tex-KTYusNFe.js → tex-Cosab9_H.js} +1 -1
  227. package/dist/diff_tool/app/dist/assets/{ts-tags-DC2RU1_R.js → ts-tags-DNYvLFUH.js} +1 -1
  228. package/dist/diff_tool/app/dist/assets/{tsx-DtIM39Jy.js → tsx-Dstq6j1a.js} +1 -1
  229. package/dist/diff_tool/app/dist/assets/twig-BzqZdwaX.js +1 -0
  230. package/dist/diff_tool/app/dist/assets/{typescript-BGAE5iuw.js → typescript-YOQ_oE25.js} +1 -1
  231. package/dist/diff_tool/app/dist/assets/typespec-BGhR2SqG.js +1 -0
  232. package/dist/diff_tool/app/dist/assets/{typst-nWoGZ22y.js → typst-DTffwfpc.js} +1 -1
  233. package/dist/diff_tool/app/dist/assets/{vue-iyHf-l4z.js → vue-D4OMj_C5.js} +1 -1
  234. package/dist/diff_tool/app/dist/assets/{vue-html-prNdIjLu.js → vue-html-kT4WrHGK.js} +1 -1
  235. package/dist/diff_tool/app/dist/assets/{vue-vine-KSSlnVeg.js → vue-vine-CxeapeMO.js} +1 -1
  236. package/dist/diff_tool/app/dist/assets/{xml-DdCC83Xd.js → xml-DWVpuurg.js} +1 -1
  237. package/dist/diff_tool/app/dist/assets/{xsl-DSqZxsez.js → xsl-C0ciup5a.js} +1 -1
  238. package/dist/diff_tool/app/dist/assets/{yaml-CZcBUWvf.js → yaml-98Fvyfpc.js} +1 -1
  239. package/dist/diff_tool/app/dist/index.html +1 -1
  240. package/dist/execution/execution_environment.js.map +1 -1
  241. package/dist/execution/fly_sprite_execution_environment.js +5 -10
  242. package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
  243. package/dist/execution/tool_backend_execution_environment.js +0 -2
  244. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  245. package/dist/host/client_tool_broker.js +1 -1
  246. package/dist/host/client_tool_broker.js.map +1 -1
  247. package/dist/host/execution_runtime.js +5 -4
  248. package/dist/host/execution_runtime.js.map +1 -1
  249. package/dist/host/hosted_ephemeral_agent_session.js +0 -2
  250. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  251. package/dist/host/local_session_host.js +26 -32
  252. package/dist/host/local_session_host.js.map +1 -1
  253. package/dist/host/session_host.js.map +1 -1
  254. package/dist/main.js +15 -29
  255. package/dist/main.js.map +1 -1
  256. package/dist/protocol/session_protocol.d.ts +14 -12
  257. package/dist/protocol/session_protocol.js +30 -7
  258. package/dist/protocol/session_protocol.js.map +1 -1
  259. package/dist/sdk/client_tool_command.d.ts +12 -11
  260. package/dist/sdk/client_tool_command.js +8 -8
  261. package/dist/sdk/client_tool_command.js.map +1 -1
  262. package/dist/sdk/code_mode.js +1 -1
  263. package/dist/sdk/code_mode.js.map +1 -1
  264. package/dist/sdk/local_client.js +4 -3
  265. package/dist/sdk/local_client.js.map +1 -1
  266. package/dist/sdk/session.js +1 -1
  267. package/dist/sdk/session.js.map +1 -1
  268. package/dist/sdk/types.d.ts +2 -1
  269. package/dist/store/session_snapshot_migrations.js +28 -1
  270. package/dist/store/session_snapshot_migrations.js.map +1 -1
  271. package/dist/tui/chat_view.js +3 -1
  272. package/dist/tui/chat_view.js.map +1 -1
  273. package/dist/tui/session_chat_app.js +2 -4
  274. package/dist/tui/session_chat_app.js.map +1 -1
  275. package/dist/tui/session_chat_controller.js +121 -6
  276. package/dist/tui/session_chat_controller.js.map +1 -1
  277. package/dist/tui/ui/custom_editor.js +49 -10
  278. package/dist/tui/ui/custom_editor.js.map +1 -1
  279. package/dist/tui/ui/footer.js +4 -2
  280. package/dist/tui/ui/footer.js.map +1 -1
  281. package/dist/tui/ui/slash_autocomplete.js +5 -1
  282. package/dist/tui/ui/slash_autocomplete.js.map +1 -1
  283. package/package.json +10 -9
  284. package/dist/diff_tool/app/dist/assets/beancount-D-usSTwE.js +0 -1
  285. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +0 -1
  286. package/dist/diff_tool/app/dist/assets/csharp-oqKa8noW.js +0 -1
  287. package/dist/diff_tool/app/dist/assets/css-BQflXFb6.js +0 -1
  288. package/dist/diff_tool/app/dist/assets/dart-CnvKMtbv.js +0 -1
  289. package/dist/diff_tool/app/dist/assets/dotenv-_5a1GRtc.js +0 -1
  290. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +0 -1
  291. package/dist/diff_tool/app/dist/assets/gn-ilITqXS6.js +0 -1
  292. package/dist/diff_tool/app/dist/assets/handlebars-CfAla6QK.js +0 -1
  293. package/dist/diff_tool/app/dist/assets/index-CZUi_I-p.js +0 -340
  294. package/dist/diff_tool/app/dist/assets/latex-pWSag83P.js +0 -1
  295. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +0 -1
  296. package/dist/diff_tool/app/dist/assets/marko-yLX6iW68.js +0 -1
  297. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +0 -1
  298. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +0 -1
  299. package/dist/diff_tool/app/dist/assets/nextflow-BJtWHP5T.js +0 -1
  300. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +0 -1
  301. package/dist/diff_tool/app/dist/assets/one-dark-pro-CLwyXe_n.js +0 -1
  302. package/dist/diff_tool/app/dist/assets/php-D-AthX_E.js +0 -1
  303. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +0 -1
  304. package/dist/diff_tool/app/dist/assets/rust-Cfkwpbl8.js +0 -1
  305. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +0 -1
  306. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +0 -1
  307. package/dist/diff_tool/app/dist/assets/sql-CsIdKfaO.js +0 -1
  308. package/dist/diff_tool/app/dist/assets/twig-C6D_TA3n.js +0 -1
  309. package/dist/diff_tool/app/dist/assets/typespec-BRdr0IET.js +0 -1
@@ -18,7 +18,7 @@ The server sends `ready` as its first message:
18
18
 
19
19
  ```json
20
20
  {
21
- "version": 14,
21
+ "version": 16,
22
22
  "type": "ready",
23
23
  "methods": ["initialize", "session.create", "session.list"]
24
24
  }
@@ -30,7 +30,7 @@ After `ready`, send `initialize` with non-empty client metadata:
30
30
 
31
31
  ```json
32
32
  {
33
- "version": 14,
33
+ "version": 16,
34
34
  "type": "request",
35
35
  "id": "init-1",
36
36
  "method": "initialize",
@@ -50,7 +50,7 @@ Every request has the same envelope:
50
50
 
51
51
  ```json
52
52
  {
53
- "version": 14,
53
+ "version": 16,
54
54
  "type": "request",
55
55
  "id": "req-42",
56
56
  "method": "session.snapshot",
@@ -64,7 +64,7 @@ Successful responses echo the request id:
64
64
 
65
65
  ```json
66
66
  {
67
- "version": 14,
67
+ "version": 16,
68
68
  "type": "response",
69
69
  "id": "req-42",
70
70
  "ok": true,
@@ -101,13 +101,15 @@ Observation controls delivery, not session ownership. `session.unobserve` stops
101
101
  | `lifecycle` | `idle` or `running`. |
102
102
  | `agentState` | Independent agent revision, model context key, and optional usage checkpoint. |
103
103
  | `goal`, `settings`, `costTotal` | Current goal, persona and reasoning settings, and accumulated session cost. |
104
- | `bootstrap`, `catalog` | Selected model and prompt metadata plus available personas, prompt metadata, and skills. |
104
+ | `bootstrap`, `catalog` | Selected model and prompt metadata plus available personas, prompt metadata, skills, and enabled host-configured MCP server names. |
105
105
  | `executionEnvironment` | The environment kind, identity, `cwd`, and home used for agent-visible work. |
106
106
  | `messages`, `turns` | Synchronized model-facing records and durable logical-turn receipts. |
107
107
  | `timeline` | Ordered active transcript placement. |
108
108
  | `tools`, `operations`, `agents` | Mutable semantic state referenced by timeline items or client views. |
109
109
  | `facets` | Versioned client-facing metadata. Unknown facet kinds and versions should be ignored. |
110
110
 
111
+ `catalog.mcpServers` lists enabled MCP server names from the host configuration. It does not indicate live connections; servers connect lazily when used. Only names are exposed, not connection settings or credentials.
112
+
111
113
  `bootstrap.prompt.subagentSystemPrompt` is present when subagent launches are enabled. Each catalog persona has a `subagentLaunchModels` allowlist. Subagent records have task titles and IDs, not worker-type names.
112
114
 
113
115
  Render active transcript order from `timeline.items`, not by sorting or filtering `messages`. A timeline item either contains a notice or references a message, tool, or operation in the corresponding snapshot collection. Some model-visible messages intentionally have no timeline item.
@@ -130,7 +132,7 @@ Observed snapshot changes arrive as `session.delta`:
130
132
 
131
133
  ```json
132
134
  {
133
- "version": 14,
135
+ "version": 16,
134
136
  "type": "session.delta",
135
137
  "sessionId": "0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3",
136
138
  "fromRevision": 8,
@@ -168,7 +170,7 @@ Not all observed state belongs in the recoverable snapshot. Each live channel ha
168
170
 
169
171
  ```json
170
172
  {
171
- "version": 14,
173
+ "version": 16,
172
174
  "type": "session.pendingUserMessages",
173
175
  "sessionId": "...",
174
176
  "state": {
@@ -205,7 +207,7 @@ An initialized client that advertised a tool can receive:
205
207
 
206
208
  ```json
207
209
  {
208
- "version": 14,
210
+ "version": 16,
209
211
  "type": "session.clientTool.call",
210
212
  "sessionId": "...",
211
213
  "agentId": "main",
@@ -217,7 +219,7 @@ An initialized client that advertised a tool can receive:
217
219
  }
218
220
  ```
219
221
 
220
- Acknowledge promptly with `session.clientTool.ack`, optionally including a bounded partial running presentation. Begin execution only after the acknowledgement returns `{ accepted: true }`, then send exactly one `session.clientTool.result` with either `{ ok: true, content }` or `{ ok: false, error }` and an optional independent terminal presentation. Both presentation objects may contain `subject`, `subjectWrap`, `details`, and `metadata`; the host owns action and operation and supplies every omitted field. Explicit fields are preserved unchanged after protocol safety validation, while generated defaults use Tau's canonical display truncation. Empty detail or metadata arrays suppress those defaults.
222
+ Acknowledge promptly with `session.clientTool.ack`, optionally including a bounded partial running presentation. Begin execution only after the acknowledgement returns `{ accepted: true }`, then send exactly one `session.clientTool.result` with either `{ ok: true, content }` or `{ ok: false, error }` and an optional independent terminal presentation. Successful `content` is an ordered array of text/image blocks. Both presentation objects may contain `subject`, `subjectWrap`, `details`, and `metadata`; the host owns action and operation and supplies every omitted field. Explicit fields are preserved unchanged after protocol safety validation, while generated defaults use Tau's canonical display truncation. Empty detail or metadata arrays suppress those defaults.
221
223
 
222
224
  A successful result is rejected until acknowledgement has completed. If preparation itself fails, send an error result before acknowledgement; the host records it as a preparation failure without authorizing execution. If no result arrives because of timeout, cancellation, detach, or another failure, the host renders a complete fallback terminal presentation. The result method returns `{ accepted: boolean }`; `false` means the message is invalid for the call's current state or the call is no longer waiting for it.
223
225
 
@@ -229,7 +231,7 @@ Error responses use `ok: false`:
229
231
 
230
232
  ```json
231
233
  {
232
- "version": 14,
234
+ "version": 16,
233
235
  "type": "response",
234
236
  "id": "req-42",
235
237
  "ok": false,
@@ -103,19 +103,21 @@ A goal survives client detach and host restart because its objective and status
103
103
 
104
104
  ## Compact model context
105
105
 
106
- Compaction replaces older model-visible conversation context with a synthetic summary so the session can continue within the model’s context window. It changes active model context, not the independent searchable transcript.
106
+ Compaction replaces model-visible conversation context with a checkpoint so the same session can continue within the model’s context window. It changes active model context, not the independent searchable transcript.
107
+
108
+ The working model creates the checkpoint from its native conversation context, including the base instructions, previous checkpoint, and reasoning state supported by its provider. The checkpoint covers the whole active context and does not depend on knowing which recent messages will remain. It is an isolated maintenance request with no tool execution, not a submitted user turn. Reasoning continuity depends on the provider; the checkpoint records useful conclusions and rationale rather than reproducing internal thinking.
107
109
 
108
110
  ### Automatic compaction
109
111
 
110
- Automatic compaction runs before a model subturn when fresh provider usage plus newly added estimated context exceeds the fixed threshold. The threshold is the model context window minus 16,384 tokens. Tau keeps a recent tail with a target budget of 20,000 tokens, capped by that threshold, summarizes older context, and can compact more than once during a long logical turn.
112
+ Automatic compaction runs before a model subturn when fresh provider usage plus newly added estimated context exceeds the threshold. The threshold is the model context window minus a fixed reserve of 16,384 tokens. Checkpoint generation inherits the normal model stream settings without a compaction-specific output limit. Requests whose input cannot fit fail rather than falling back to a flattened transcript. Compaction can run more than once during a long logical turn.
111
113
 
112
- The summary model may copy important original user messages verbatim into the summary. Recent retained messages stay available to the model, although unusually large textual tool and recovery results may be truncated in retained context. Tau records the compaction as a new active context segment.
114
+ The compaction summary describes the conversation, completed work, findings, and remaining work without copying large user messages or tool output verbatim. It can identify details to revisit in the transcript archive and explain why they matter. Tau retains a contiguous recent suffix within a budget of 20,000 estimated tokens, capped by the compaction threshold. Cuts can occur within a user turn, but messages are kept whole and an assistant tool-call message stays together with all its results. Retained messages, including tool-recovery messages, are not truncated. Tau does not skip an oversized exchange to fill unused budget with earlier messages. If the latest exchange cannot fit, only the checkpoint remains. Tau records the compaction as a new active context segment.
113
115
 
114
- Before replacing context, Tau makes a best-effort archive in the execution environment’s temporary directory. Each automatic compaction adds a numbered `.txt` and `.json` pair under a directory isolated by agent id. The text file supports bounded search and truncates large tool results; the JSON file retains the archived content without those tool-result truncations, excluding assistant thinking. A private `README.md` in the same directory describes the formats and adaptable lookup examples. The continuation message includes all three exact paths when archiving succeeds.
116
+ Before replacing context, Tau makes a best-effort transcript archive in the execution environment’s temporary directory. Each automatic compaction adds a numbered `.txt` and `.json` pair under a directory isolated by agent id. The text file supports bounded search and truncates large tool results; the JSON file retains the archived content without those tool-result truncations, excluding assistant thinking. A private `README.md` in the same directory describes the formats and adaptable lookup examples. The continuation message includes all three exact paths when archiving succeeds.
115
117
 
116
118
  These files recover details removed from the current session’s model context. The `history` tool instead queries a separate host-owned transcript collection, which may be remotely replicated, stale, truncated, or unavailable, and its transcript entry ids do not identify archive records. The continuation message identifies the execution-environment archive as the recovery source for compacted context.
117
119
 
118
- The continuation also requires the archive guide to be present in model context before work resumes, even when no immediate lookup is planned. Its retrieval guidance favors bounded access by known entry id or distinctive evidence, with a concise chronological overview as an optional discovery step. Earlier numbered pairs can contain details that predate the current compaction. Tau does not generate or require a fixed overview projection.
120
+ The continuation includes the complete archive guide directly, so the agent does not need a separate file read before resuming. The guide also remains available on disk. Its retrieval guidance favors bounded access by known entry id or distinctive evidence, with a concise chronological overview as an optional discovery step. Earlier numbered pairs can contain details that predate the current compaction. Tau does not generate or require a fixed overview projection.
119
121
 
120
122
  These archives are temporary recovery aids, not backups. Archive failure does not block compaction, and execution-environment cleanup may remove them.
121
123
 
@@ -149,7 +151,7 @@ Compaction and rewind differ in an important way: compaction preserves the flat
149
151
 
150
152
  ## Reload session content
151
153
 
152
- Run `/reload` from the TUI while the session is idle. The host rereads runtime configuration and model overlays, personas, prompts, skills, and AGENTS.md context from the execution environment cwd. It keeps the current persona if that id still exists and otherwise selects the first available persona. Reload warnings appear in the transcript.
154
+ Run `/reload` from the TUI while the session is idle. The host rereads runtime configuration and personas, prompts, skills, and AGENTS.md context from the execution environment cwd. It keeps the current persona if that id still exists and otherwise selects the first available persona. Reload warnings appear in the transcript.
153
155
 
154
156
  Reload updates future turns. It does not rewrite committed conversation content or change the execution environment. It also does not reload client-owned themes, diff launchers, speech settings, or client tools. Restart the attaching TUI for those. Effective configured model `apiKeys` update through `/reload`, while managed Codex auth storage is read again on later credential resolutions. Restart the host for changed process environment variables, listener settings, resolver targets, or the Tau binary. [Credentials](credentials.md) has the canonical distinctions, and [remote sessions](remote-sessions.md) identifies each owner.
155
157
 
@@ -1,8 +1,8 @@
1
1
  # Skills
2
2
 
3
- Skills are local packages of instructions and supporting material that teach an agent how to handle a particular kind of work. Tau discovers them from the execution environment, shows the selected skills to the active persona, and lets the agent open a skill only when the task calls for it.
3
+ Skills are local packages of instructions and supporting material that teach an agent how to handle a particular kind of work. Tau discovers them from the execution environment, shows all discovered skills to every persona, and lets the agent open a skill only when the task calls for it.
4
4
 
5
- A skill is not a prompt template, a persona, or project context. A [prompt template](prompts-and-project-context.md) is text placed in the input editor. A [persona](personas.md) chooses the model, system prompt, skills, and tools for a session. `AGENTS.md` gives standing instructions for a directory tree. A skill is a reusable, selectively activated workflow with its own directory.
5
+ A skill is not a prompt template, a persona, or project context. A [prompt template](prompts-and-project-context.md) is text placed in the input editor. A [persona](personas.md) chooses the model, system prompt, and tools for a session. `AGENTS.md` gives standing instructions for a directory tree. A skill is a reusable, selectively activated workflow with its own directory.
6
6
 
7
7
  ## Where Tau discovers skills
8
8
 
@@ -20,7 +20,7 @@ Skills are keyed by name. Precedence runs from broadest to most specific:
20
20
  1. Global skills are the base layer.
21
21
  2. Parent project levels override global and more distant parent levels.
22
22
  3. The nearest project level wins.
23
- 4. At the same level, `.agents/skills/` overrides `.tau/skills/`.
23
+ 4. At the same level, `.tau/skills/` overrides `.agents/skills/`.
24
24
 
25
25
  For example, with a session in `~/code/atlas/apps/api`, these definitions of `release-check` resolve to the last one listed:
26
26
 
@@ -30,7 +30,7 @@ For example, with a session in `~/code/atlas/apps/api`, these definitions of `re
30
30
  ~/code/atlas/apps/.agents/skills/release-check/SKILL.md
31
31
  ```
32
32
 
33
- `~/.agents/skills/` also overrides `~/.config/tau/skills/` for a same-named global skill.
33
+ `~/.config/tau/skills/` also overrides `~/.agents/skills/` for a same-named global skill.
34
34
 
35
35
  All discovery happens in the execution environment. A remote host does not inspect the attached client's filesystem for skills.
36
36
 
@@ -83,33 +83,9 @@ Unknown frontmatter fields are discarded. `allowed-tools` does not enable, disab
83
83
 
84
84
  Keep the description useful without copying the full workflow into it. Tau initially exposes the name, description, and `SKILL.md` path. The agent opens the file after activation, then reads only the referenced resources needed for the task.
85
85
 
86
- ## Selecting skills in a persona
86
+ ## Skill availability
87
87
 
88
- A persona's `skills` field controls which discovered skills appear in its skill index:
89
-
90
- ```yaml
91
- skills: "*"
92
- ```
93
-
94
- `"*"` selects every discovered skill. This is the default for built-in personas and for a custom persona that does not inherit another persona and omits `skills`.
95
-
96
- A list selects an explicit subset:
97
-
98
- ```yaml
99
- skills:
100
- - release-check
101
- - incident-summary
102
- ```
103
-
104
- An empty list disables skills for that persona:
105
-
106
- ```yaml
107
- skills: []
108
- ```
109
-
110
- When a persona extends another persona and omits `skills`, it inherits the base persona's selection. Selection names are matched case-insensitively to discovered skill names, although valid skill names themselves are lowercase. An unknown selected name produces a warning when Tau builds or reloads the session context; Tau keeps the known skills.
111
-
112
- Selecting a skill does not run it on every turn. It makes the skill discoverable to the agent and subject to activation policy.
88
+ Every persona exposes all discovered skills. Discovery does not run a skill on every turn; it makes the skill available to the agent under its activation policy.
113
89
 
114
90
  ## Activation and trigger sensitivity
115
91
 
@@ -141,9 +117,9 @@ A running TUI session keeps its current content catalog and prompt context until
141
117
  /reload
142
118
  ```
143
119
 
144
- Reloading re-discovers skills, re-applies the active persona's selection, and rebuilds the effective skill index. Tau refuses to reload while a session turn is running. If the active persona disappeared, reload selects the first available persona; if no personas remain, reload fails.
120
+ Reloading re-discovers skills and rebuilds the effective skill index. Tau refuses to reload while a session turn is running. If the active persona disappeared, reload selects the first available persona; if no personas remain, reload fails.
145
121
 
146
- For a new local TUI session, `tau --debug` prints the discovered skills and the effective system prompt without starting the TUI. Combine it with `--persona` to inspect a particular selection:
122
+ For a new local TUI session, `tau --debug` prints the discovered skills and the effective system prompt without starting the TUI. Combine it with `--persona` to inspect its effective prompt:
147
123
 
148
124
  ```bash
149
125
  tau --debug --persona release-coder
@@ -27,10 +27,11 @@ The eligible inherited tools are:
27
27
  - `web`
28
28
  - `history`
29
29
  - `nook`, when Nook is configured
30
+ - `mcp`, when the host has enabled MCP servers
30
31
 
31
32
  Tau then adds intrinsic `tau_docs` to every subagent registry, independently of this subset. A persona’s `tools` list cannot disable it. Apart from `tau_docs`, subagents do not receive goal controls, subagent supervision tools, client tools, or TUI-local tools.
32
33
 
33
- The worker inherits the intersection of the main persona's tools and those seven eligible names. For example, a main persona with `bash`, `edit`, `history`, and `spawn_agent` gives the child `bash`, `edit`, and `history`, plus intrinsic `tau_docs`. There is no separate child tool allowlist.
34
+ The worker inherits the intersection of the main persona's tools and those eight eligible names. MCP uses the parent's shared host connections, independent of the child's working directory. For example, a main persona with `bash`, `edit`, `history`, and `spawn_agent` gives the child `bash`, `edit`, and `history`, plus intrinsic `tau_docs`. There is no separate child tool allowlist.
34
35
 
35
36
  Subagents cannot launch other subagents: supervision tools are never included in a child's registry. See [tools](tools.md) for the broader availability contract.
36
37
 
@@ -71,9 +72,9 @@ This list is layered configuration. The nearest defined `launchModels` array rep
71
72
 
72
73
  `spawn_agent` normally runs the child in the main session's `cwd`. Its optional `workingDirectory` may be absolute or relative to that `cwd`; Tau resolves it to an absolute execution-environment path.
73
74
 
74
- When the resolved path differs from the parent `cwd`, Tau rebuilds prompt context from that target directory. It discovers the target platform and repository metadata, reads applicable `AGENTS.md` and configured context files, discovers target skills, and filters those skills through the parent persona's skill selection.
75
+ When the resolved path differs from the parent `cwd`, Tau rebuilds prompt context from that target directory. It discovers the target platform and repository metadata, reads applicable `AGENTS.md`, and discovers all target skills.
75
76
 
76
- The target directory does **not** select a different persona, model catalog, runtime configuration, credential source, or tool policy for the child. Those remain under parent-session authority. Target configuration is consulted only where needed to rebuild target prompt context, such as target `agentContextFiles` and skill discovery.
77
+ The target directory does **not** select a different persona, model catalog, runtime configuration, credential source, or tool policy for the child. Those remain under parent-session authority. Target configuration is consulted only where needed to rebuild target prompt context, such as skill discovery.
77
78
 
78
79
  This distinction matters in monorepos and hosted environments. `workingDirectory` is an execution-environment path. The host and attached client must not reinterpret it against their own filesystems.
79
80
 
@@ -189,7 +189,7 @@ Members live at `<composite-root>/<member-project-id>` and use each repository's
189
189
 
190
190
  `subagents.launchModels` sets the subagent launch override allowlist. Runtime config resolves and enforces entries. See [subagents](subagents.md) for model syntax and inheritance.
191
191
 
192
- The composite owns the parent persona, subagents, model catalog, config, settings, and tools. Child `.tau/config.json` files are not merged. A subagent in a member directory rebuilds only target context: environment and repository metadata, applicable `AGENTS.md` and `agentContextFiles`, and skills filtered by the parent persona.
192
+ The composite owns the parent persona, subagents, model catalog, config, settings, and tools. Child `.tau/config.json` files are not merged. A subagent in a member directory rebuilds only target context: environment and repository metadata, applicable `AGENTS.md`, and all discovered skills.
193
193
 
194
194
  Composite preparation is all-or-nothing. If one member cannot be prepared, Tau removes the generated composite workspace. Composite workspaces and member repository caches use the top-level `workspaceRoot`.
195
195
 
@@ -213,7 +213,7 @@ New and reconstructed workspaces run their hooks; preserved workspaces and persi
213
213
 
214
214
  ## Normal Tau configuration inside workspaces
215
215
 
216
- After preparation, Tau creates an ordinary local session at the workspace `cwd`. Runtime discovery reads normal `~/.config/tau` and ancestor `.tau` content visible from that path: models, personas, prompts, skills, project context, host tools, and other session settings work as they do in the TUI.
216
+ After preparation, Tau creates an ordinary local session at the workspace `cwd`. Runtime discovery reads normal `~/.config/tau` and ancestor `.tau` content visible from that path: personas, prompts, skills, project context, host tools, and other session settings work as they do in the TUI.
217
217
 
218
218
  A project `persona` overrides the normal default for that session. Sessions include applicable `AGENTS.md` instructions. Composite root context is generated deliberately and uses its required persona.
219
219
 
@@ -40,6 +40,7 @@ view_image
40
40
  web
41
41
  nook
42
42
  history
43
+ mcp
43
44
  spawn_agent
44
45
  send_input_to_agent
45
46
  wait_for_agents
@@ -47,7 +48,7 @@ list_agents
47
48
  interrupt_agent
48
49
  ```
49
50
 
50
- When a custom persona extends another persona and omits `tools`, it inherits the base persona's list. A non-extending custom persona that omits `tools` enables `bash`, `write`, `edit`, `view_image`, `web`, `nook`, and `history`. It also enables the five subagent-management tools. Built-in personas enable the same base and subagent tool sets.
51
+ A custom persona that omits `tools` enables `bash`, `write`, `edit`, `view_image`, `web`, `nook`, `history`, and `mcp`. It also enables the five subagent-management tools. Built-in personas enable the same base and subagent tool sets.
51
52
 
52
53
  An empty list disables every persona-controlled host tool:
53
54
 
@@ -142,12 +143,13 @@ The supported formats are JPEG, PNG, and WebP. Source reads are capped at 50 MiB
142
143
  | `tau tool pdf-unpack` | Extract OCR Markdown and page-image patches from a PDF using Mistral. | [PDF unpacking](pdf-unpacking.md) |
143
144
  | `tau tool image-generate` | Generate or edit an image using Google or OpenAI. | [Image generation](image-generation.md) |
144
145
  | `tau tool speech-generate` | Generate narration or dialogue using ElevenLabs and assemble a WAV. | [Speech generation](speech-generation.md) |
146
+ | `tau tool openrouter` | Typed decisions and standalone text/media analysis. | [OpenRouter](openrouter.md) |
145
147
 
146
148
  Each guide covers setup, input, examples, outputs, and failure behavior. Use `tau tool --help` to list commands or `tau tool <command> --help` for command-specific help. The same guides are packaged for `tau_docs` and linked from its `index.md`.
147
149
 
148
150
  ## Code-mode service tools
149
151
 
150
- `web`, `history`, and `nook` each run a one-shot JavaScript program in Tau's restricted code-mode runtime. They intentionally disclose their exact API at use time rather than embedding signatures in this page.
152
+ `web`, `history`, `nook`, and `mcp` each run a one-shot JavaScript program in Tau's restricted code-mode runtime. They intentionally disclose their exact API at use time rather than embedding signatures in this page.
151
153
 
152
154
  Tau exposes each service tool with agent-facing guidance that requires its documentation to be visible before API use. When the documentation is absent, the first useful call is a documentation-only program:
153
155
 
@@ -155,9 +157,11 @@ Tau exposes each service tool with agent-facing guidance that requires its docum
155
157
  console.log(docs);
156
158
  ```
157
159
 
158
- After reading that result, the agent uses the documented API in later calls. While the documentation remains visible, it is reused rather than reloaded. The guidance prohibits guessed signatures and signatures copied from another code-mode tool. Program return values are ignored; only console output is returned.
160
+ The agent reuses visible documentation, without guessing or borrowing another tool's signatures. Shared examples show field selection and text-block extraction for concise plain-text output. Return values are ignored; only console text and images forwarded with `await image(block)` enter the result.
159
161
 
160
- Code-mode programs have no direct process, environment, credential, import, timer, network, or `fetch` access. They can call only the named API and use agent-scoped scratch files exposed by the runtime. Calls default to a 60-second deadline, allow at most 128 API requests with no more than eight unresolved at once, and limit each serialized request or response to 1 MiB. Undefined object properties are omitted from API arguments; undefined arguments and array entries are invalid. Console output is middle-truncated above roughly 8,192 estimated tokens.
162
+ Code-mode programs have no direct process, environment, credential, import, timer, network, or `fetch` access. They can call only the named API and use agent-scoped scratch files exposed by the runtime. Programs default to 60 seconds (MCP: 15 minutes), allow 128 API requests with eight unresolved at once, and limit each serialized payload to 16 MiB. Undefined object properties are omitted from API arguments; undefined arguments and array entries are invalid. Console output is middle-truncated above roughly 8,192 estimated tokens.
163
+
164
+ `await image({ type: "image", data, mimeType })` forwards a base64 image without files. Calls must be awaited before the program exits. JPEG, PNG, and WebP bytes must match the declared MIME type and fit the 16 MiB JSON bridge limit. Source images are limited to 40 megapixels; each program may forward 16 images. Images are resized or re-encoded to fit within 4,096 pixels per dimension and 3.5 MiB each. Adjacent console writes form one text block; awaited images separate the text before and after them. Text truncation keeps images in place. Invalid blocks reject and can be caught. Built-in tools retain valid images if the program later fails.
161
165
 
162
166
  Scratch files are real UTF-8 files in an execution-environment temporary directory shared by code-mode tools for the same agent. Writes are limited to 128 regular files and 64 MiB total. Scratch state is not stored in the session snapshot. The progressively disclosed documentation gives the exact file API.
163
167
 
@@ -179,15 +183,27 @@ The effective history query may be machine-local or backed by a configured remot
179
183
 
180
184
  The tool is intended for explicit requests to inspect or manage Nook, publish a static artifact or mini-app, or work with Nook KV. Once the built-in documentation is visible, app-authoring work requires a second separate documentation-only call that prints the Nook authoring skill. The agent reads that guide before creating or modifying app files. Nook setup and platform behavior are covered in [Nook](nook.md).
181
185
 
186
+ ### MCP
187
+
188
+ `mcp` discovers and calls tools and reads resources from host-configured Model Context Protocol servers. Personas must allow `mcp`, and the host must configure an enabled server. Subagents inherit access; ephemeral threads do not receive it.
189
+
190
+ Servers use stdio or streamable HTTP. Stdio commands run on the host with its environment; HTTP uses host credentials. Server files need not share the agent's workspace. Supported protocol revisions are `2025-11-25`, `2025-06-18`, `2025-03-26`, and `2024-11-05`, not `2026-07-28`.
191
+
192
+ `mcp` lists servers, tools, resources, and templates, inspects schemas, calls tools, and reads URIs. `searchTools` ranks tool metadata with BM25, returning matches and per-server errors. Resources return text or base64 data, without automatic context, file writes, or fetching. Only printed text and images enter context. Tools return `{ content, structuredContent?, isError }`; private MCP `_meta` is stripped. `isError: true` is data; protocol failures throw. Calls/reads default to five minutes, configurable to 15; startup/discovery defaults to 30 seconds. Messages are limited to 16 MiB; oversized results fail.
193
+
194
+ Connections are lazy, shared across sessions, and closed at shutdown. Later requests reconnect. Mutations are not retried. Tool-list changes invalidate cached discovery; resource listings refresh on each call. Restart does not recover connections or calls. Resource subscriptions, prompts, elicitation, and sampling are unsupported.
195
+
196
+ Servers merge by name from host launch-directory config layers. Restart the host to apply changes. See [configuration reference](config-reference.md#mcpservers) and [security](security.md#trust-mcp-servers).
197
+
182
198
  ## Subagent tool eligibility
183
199
 
184
200
  A subagent can receive only:
185
201
 
186
202
  ```text
187
- bash write edit view_image web history nook
203
+ bash write edit view_image web history nook mcp
188
204
  ```
189
205
 
190
- Tau inherits the intersection of the main persona’s tools and those seven eligible names. `tau_docs` is then added intrinsically. There is no separate child tool selection. Nook is bound only when configured, just as for the parent.
206
+ Tau inherits the intersection of the main persona’s tools and those eight eligible names. `tau_docs` is then added intrinsically. There is no separate child tool selection. Nook and MCP require configuration; MCP uses the parent's host connections.
191
207
 
192
208
  Subagents do not receive goal tools, subagent-management tools, or client-provided tools. Their Bash and file tools are scoped to the subagent working directory, including an alternate directory selected at launch. See [subagents](subagents.md) for configuration and working-directory context rebuilding.
193
209
 
@@ -71,7 +71,7 @@ Use `tau --debug` from the intended directory for a new local startup. For a liv
71
71
 
72
72
  `/reload` is a TUI command backed by the current session. It is unavailable in a plain shell and is refused while a turn or conflicting session operation is active. Wait for the turn to settle or interrupt it deliberately, then run the command again.
73
73
 
74
- Reload updates runtime configuration, `models.json`, personas, prompts, skills, `AGENTS.md` context, and the host-tool registry for future turns. It does not:
74
+ Reload updates runtime configuration, personas, prompts, skills, `AGENTS.md` context, and the host-tool registry for future turns. It does not:
75
75
 
76
76
  - alter the execution environment's kind, identity, `cwd`, or home;
77
77
  - rebuild an attached client's themes, diff launcher, speech configuration, or advertised tools;
@@ -90,7 +90,7 @@ Session resources come from the execution environment; themes come from the TUI
90
90
 
91
91
  ### Persona
92
92
 
93
- For a new local session, run `tau --debug --persona <exact-id>`. The Markdown filename must match `id`; `provider` and `model` are required; `extends` can name only a shipped built-in. Startup IDs are exact and case-sensitive. If built-ins are disabled, at least one custom persona must remain. See [personas](personas.md).
93
+ For a new local session, run `tau --debug --persona <exact-id>`. The Markdown filename must match `id`; `provider`, `model`, and a non-empty prompt body are required. Startup IDs are exact and case-sensitive. If built-ins are disabled, at least one custom persona must remain. See [personas](personas.md).
94
94
 
95
95
  ### Prompt
96
96
 
@@ -98,13 +98,13 @@ Run `/reload` after changing prompt metadata. Bodies load lazily, so an invocati
98
98
 
99
99
  ### Skill
100
100
 
101
- Use `/help` to inspect loaded skills. A skill needs uppercase `SKILL.md`, valid frontmatter, a lowercase-dash name, and a matching directory name. `.agents/skills` wins over `.tau/skills` at one level; nearer levels win overall.
101
+ Use `/help` to inspect loaded skills. A skill needs uppercase `SKILL.md`, valid frontmatter, a lowercase-dash name, and a matching directory name. `.tau/skills` wins over `.agents/skills` at one level; nearer levels win overall.
102
102
 
103
- The active persona can still exclude a discovered skill, and its trigger determines when the agent opens it. `allowed-tools` is currently ignored. See [skills](skills.md).
103
+ Every persona exposes all discovered skills; the trigger determines when the agent opens a skill. `allowed-tools` is currently ignored. See [skills](skills.md).
104
104
 
105
105
  ### Model
106
106
 
107
- Providers must be known and model IDs are exact and case-sensitive. Check warnings for malformed `models.json`, invalid metadata, or unknown provider/model references. `tau --debug --persona <id>` shows local resolution; a small request proves endpoint, account, and credential access. Reload overlays while idle. See [models](models.md).
107
+ Providers must be known and model IDs are exact and case-sensitive. Check warnings for unknown provider/model references. `tau --debug --persona <id>` shows local resolution; a small request proves endpoint, account, and credential access. Refresh the remote catalog and reload while idle. See [models](models.md).
108
108
 
109
109
  ### Theme
110
110
 
@@ -155,9 +155,9 @@ Find the process making the request:
155
155
  | `tau nook`, `tau history`, or PDF unpack | Invoking CLI |
156
156
  | Fly Sprite resolution | Host startup |
157
157
 
158
- A laptop variable does not update a remote host. Environment changes require an owner restart. Runtime `apiKeys` can reload, but only from an eligible execution-environment level and subject to feature precedence.
158
+ A laptop variable does not update a remote host. Environment changes require an owner restart. Global `apiKeys` belong to the owning process and require its restart.
159
159
 
160
- Never print the secret, environment, or whole configuration. Privately confirm the expected source, read the missing-credential message, and make one small request. See [credentials](credentials.md). If failure followed a project change, inspect its `apiKeys`, model endpoint/headers, and persona; a nearer key can replace ambient authentication.
160
+ Never print the secret, environment, or whole configuration. Privately confirm the expected source, read the missing-credential message, and make one small request. See [credentials](credentials.md). Project `apiKeys` are rejected; inspect the owning process's environment and private global configuration.
161
161
 
162
162
  ## A Codex account cannot be selected
163
163
 
@@ -167,20 +167,19 @@ Run this on the session host, not an attached client:
167
167
  tau auth list
168
168
  ```
169
169
 
170
- The output shows stored account identities, enabled state, credential refresh health, usage windows, and current preference without showing tokens.
170
+ The output shows stored account identities, active selection, credential refresh health, and informational usage windows without showing tokens.
171
171
 
172
172
  Use the supported commands for the condition shown:
173
173
 
174
174
  ```sh
175
175
  tau auth login codex
176
- tau auth enable codex --account developer@example.com
177
- tau auth disable codex --account developer@example.com
176
+ tau auth use codex --account developer@example.com
178
177
  tau auth logout codex --account developer@example.com
179
178
  ```
180
179
 
181
- Re-login when credentials are expired or refresh failed. Enable an intentionally disabled account only after confirming that it should be usable. A forced `TAU_CODEX_ACCOUNT` must match an enabled stored account by email or ID and disables automatic failover. Changing that variable requires a host restart.
180
+ Re-login when credentials are expired or refresh failed. Select an account explicitly with `auth use`. Logging out the active account leaves none active; Tau never switches based on usage or provider failure. Selection applies to later requests across sessions without changing requests already in flight.
182
181
 
183
- Account selection is stable within a session. After a quota error, a later request can choose another usable account unless selection is forced. Do not edit `~/.config/tau/auth.json`; the auth commands coordinate updates and preserve permissions.
182
+ Do not edit `~/.config/tau/auth.json`; the auth commands coordinate updates and preserve permissions.
184
183
 
185
184
  ## Bash prints unexpected text, prompts, or reports no TTY
186
185
 
@@ -17,7 +17,7 @@ Tau creates a local execution environment rooted at that directory. A startup pe
17
17
  tau --persona gpt-6.1-sol-coder:high
18
18
  ```
19
19
 
20
- `-p` is the short form. `--no-agent-context-files` omits `AGENTS.md` and explicitly configured context files, and `--no-client-tools` prevents the TUI from advertising its built-in and configured [client tools](client-tools.md).
20
+ `-p` is the short form. `--no-agent-context-files` omits `AGENTS.md` injection and the descendant context-file scan, and `--no-client-tools` prevents the TUI from advertising its built-in and configured [client tools](client-tools.md).
21
21
 
22
22
  Piped stdin becomes the first message in a local TUI session:
23
23
 
@@ -27,6 +27,8 @@ printf 'summarize the current changes' | tau
27
27
 
28
28
  Use `tau attach` for a session hosted elsewhere. The terminal, themes, clipboard, speech commands, built-in diff review tool, and command-backed client tools still belong to the attaching machine. Bash tools, file access, project configuration, and model work use the session’s execution environment. See [remote sessions](remote-sessions.md) for transport and creation examples.
29
29
 
30
+ The startup summary lists discovered skills, project context files, configured client tools, and enabled MCP server names. MCP servers are labeled configured, not connected: connections open lazily on first use. In attached sessions, the MCP list comes from the session host. Empty sections are omitted.
31
+
30
32
  ## Work in the editor
31
33
 
32
34
  Enter submits the editor. Shift+Enter or Ctrl+J inserts a newline. Up and Down move through the editor and recall prior submissions when the editor is empty.
@@ -92,13 +94,14 @@ Then use Shift+Tab to select an allowed reasoning level. Newly added personas do
92
94
  | `/reload` | Reload session-owned configuration and content from the execution environment. |
93
95
  | `/listen [retry/discard]` | Record speech, retry a retained failed recording, or discard it on macOS. |
94
96
  | `/speak` | Read the last assistant response aloud on macOS. |
97
+ | `/auto-speak [on | off]` | Toggle automatic reading of final responses, or explicitly enable or disable it. |
95
98
  | `/copy-text` | Copy the last assistant response as plain text. |
96
99
  | `/copy-code` | Copy code blocks from the last assistant response. |
97
100
  | `/persona:<id>` | Switch persona while idle. |
98
101
  | `/prompt:<id>` | Resolve a prompt from the execution environment and place it in the editor without submitting it. |
99
102
  | `/theme:<id>` | Switch this TUI’s theme for the current run. |
100
103
 
101
- Commands that mutate context, such as persona changes, compaction, rewind, and reload, should be run while idle. `/goal` display and clear, `/listen`, `/prompt:<id>`, and `/exit` have limited useful behavior during a running turn. Ordinary command submissions are otherwise held back until Tau is idle.
104
+ Commands that mutate context, such as persona changes, compaction, rewind, and reload, should be run while idle. `/goal` display and clear, `/auto-speak`, `/listen`, `/prompt:<id>`, and `/exit` have limited useful behavior during a running turn. Ordinary command submissions are otherwise held back until Tau is idle.
102
105
 
103
106
  Compaction, rewind, goals, recovery, and retry are described in [sessions](sessions.md). Prompt discovery and insertion are covered in [prompts and project context](prompts-and-project-context.md).
104
107
 
@@ -173,6 +176,10 @@ The TUI also advertises diff review as a client tool unless `--no-client-tools`
173
176
 
174
177
  `/listen` and Ctrl+Y are currently macOS-only. Recording uses local `ffmpeg` with the AVFoundation audio input and stops when Ctrl+Y is pressed again, when Escape is pressed, or at the 9-minute recording limit. The Gemini limit leaves time for setup and finalization within its 10-minute live session. Startup fails if the microphone produces no audio within 15 seconds. Pressing Enter or Ctrl+Enter while recording stops capture, finishes transcription, and submits the finalized editor text. While a turn is active, Enter steers it and Ctrl+Enter queues another turn, just like normal editor submission. Pressing Ctrl+Y again or reaching the recording limit finishes transcription and inserts the transcript at the cursor for review without submitting it.
175
178
 
179
+ The recording shortcut is configurable with [`speech.recordingShortcut`](config-reference.md#speech), including single-press and double-tap printable keys such as `§`. The editor hint shows the configured gesture. Starting a recording stops speech playback.
180
+
181
+ `/auto-speak` toggles automatic reading of successful final answers. `/auto-speak on` and `/auto-speak off` explicitly select the mode; turning it off also stops current playback. It starts off and applies only to the current session in this TUI, including when attached remotely. `/new` resets it. It does not change other clients or replay historical answers. Commentary, tool activity, and failed or interrupted answers are not automatically spoken. Responses arriving while recording or playing speech are not queued for later playback. Escape stops playback without disabling the mode. Automatic playback uses the same voice, credentials, and rewriting as `/speak`; it does not open the microphone or automatically submit dictation.
182
+
176
183
  Gemini displays a replaceable live preview in muted italic text at the original cursor position. Finalized dictation uses normal text once transcription settles. Its final transcript replaces the preview without duplication. Submitting a draft containing finalized dictation includes hidden guidance that some or all of the message may have been transcribed from speech and may contain transcription errors. The guidance remains after edits and clears when the draft is emptied. Editing stays disabled from recording startup through finalization, and failure restores the original draft. Recording and retries cannot start while another editor update is pending.
177
184
 
178
185
  If transcription fails, Tau retains the local WAV and reports its path. Run `/listen retry` to transcribe the same audio again with Gemini and the current conversation context, or `/listen discard` to delete it. Retained recordings longer than 20 minutes are rejected rather than sent to the provider. A replacement recording deletes the retained file only after the new capture starts producing audio. Tau keeps at most one failed recording, and exiting leaves that file at the reported path for manual recovery. For live transcription, GPT-6 Luna extracts spelling hints from recent conversation while recording begins, with reasoning disabled. Tau buffers audio until the transcription session is ready and then streams subsequent audio. Gemini uses `gemini-3.5-transcribe-live` in verbatim mode with English (`en-US`) and Finnish (`fi-FI`) language hints. Missing OpenAI credentials or hint extraction failure does not fail transcription. On retry, Gemini uploads the retained recording for `gemini-3.5-transcribe` verbatim transcription with the same language hints and attempts to delete the remote file afterward.
@@ -189,7 +196,7 @@ Speech transcription uses Gemini and requires `GEMINI_API_KEY` or `apiKeys.googl
189
196
 
190
197
  ## Reload the right component
191
198
 
192
- Run `/reload` while idle after changing session-owned configuration, model overlays, personas, prompts, skills, or AGENTS.md content in the execution environment. The host resolves them again from the session cwd, keeps the current persona when it still exists, and otherwise selects the first available persona. Warnings are shown in the transcript.
199
+ Run `/reload` while idle after changing session-owned configuration, personas, prompts, skills, or AGENTS.md content in the execution environment. The host resolves them again from the session cwd, keeps the current persona when it still exists, and otherwise selects the first available persona. Warnings are shown in the transcript.
193
200
 
194
201
  Restart the TUI instead after changing client-owned themes, the diff launcher, speech settings, or configured client tools. Effective model `apiKeys` in session configuration can update through `/reload`, and managed Codex auth storage is read again on later credential resolutions. Restart the host after changing its binary, process environment variables, WebSocket listener, or hosted execution-environment resolver configuration. [Credentials](credentials.md) has the canonical apply boundaries, and [remote sessions](remote-sessions.md) explains the component split.
195
202
 
@@ -78,7 +78,6 @@ export class AgentSupervisor {
78
78
  model: runtimeConfig.model,
79
79
  settings: runtimeConfig.settings,
80
80
  tools: runtimeConfig.tools,
81
- skills: [],
82
81
  subagentLaunchModels: [],
83
82
  };
84
83
  const runtime = new AgentRuntime({
@@ -88,7 +87,7 @@ export class AgentSupervisor {
88
87
  deps: this.deps,
89
88
  }),
90
89
  systemPrompt: runtimeConfig.systemPrompt,
91
- tools: ToolCatalog.createSubagentRegistry(runtimeConfig.tools, options.backend, workingDirectory, options.config, options.bashJobs, options.history),
90
+ tools: ToolCatalog.createSubagentRegistry(runtimeConfig.tools, options.backend, workingDirectory, options.config, options.bashJobs, options.history, options.mcp),
92
91
  }),
93
92
  eventSink: async (event) => await this.recordAgentEvent(id, event),
94
93
  clock: this.deps.clock,
@@ -1 +1 @@
1
- {"version":3,"file":"agent_supervisor.js","sourceRoot":"","sources":["../../../src/core/subagents/agent_supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_supervisor.js","sourceRoot":"","sources":["../../../src/core/subagents/agent_supervisor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_NOOK, TOOL_NAME_SPAWN_AGENT, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "../tools/tool_names.js";
1
+ import { TOOL_NAME_BASH, TOOL_NAME_EDIT, TOOL_NAME_HISTORY, TOOL_NAME_MCP, TOOL_NAME_NOOK, TOOL_NAME_SPAWN_AGENT, TOOL_NAME_VIEW_IMAGE, TOOL_NAME_WEB, TOOL_NAME_WRITE, } from "../tools/tool_names.js";
2
2
  const INHERITABLE_TOOL_NAMES = new Set([
3
3
  TOOL_NAME_BASH,
4
4
  TOOL_NAME_WRITE,
@@ -6,6 +6,7 @@ const INHERITABLE_TOOL_NAMES = new Set([
6
6
  TOOL_NAME_VIEW_IMAGE,
7
7
  TOOL_NAME_WEB,
8
8
  TOOL_NAME_HISTORY,
9
+ TOOL_NAME_MCP,
9
10
  TOOL_NAME_NOOK,
10
11
  ]);
11
12
  function normalizeTools(tools) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/subagents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAmB;IACvD,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,cAAc;CACf,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAwB,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAID,MAAM,UAAU,gCAAgC,CAAC,IAGhD;IACC,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;QACpD,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAClD,MAAM,gBAAgB,GACpB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5F,OAAO;QACL,EAAE;QACF,EAAE;QACF,eAAe;QACf,EAAE;QACF,4NAA4N;QAC5N,EAAE;QACF,sBAAsB,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,IAAI;QACrF,4BAA4B,gBAAgB,EAAE;QAC9C,EAAE;QACF,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/core/subagents/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAmB;IACvD,cAAc;IACd,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,cAAc;CACf,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAAyB;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAChC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,sBAAsB,CAAC,GAAG,CAAC,IAAwB,CAAC,EAAE,CAAC;YACzD,QAAQ,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAID,MAAM,UAAU,gCAAgC,CAAC,IAGhD;IACC,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK;QACpD,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAClD,MAAM,gBAAgB,GACpB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5F,OAAO;QACL,EAAE;QACF,EAAE;QACF,eAAe;QACf,EAAE;QACF,4NAA4N;QAC5N,EAAE;QACF,sBAAsB,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,IAAI;QACrF,4BAA4B,gBAAgB,EAAE;QAC9C,EAAE;QACF,+EAA+E;KAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}