@markusylisiurunen/tau 0.3.79 → 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 (240) hide show
  1. package/dist/core/agent/agent_runtime.js +68 -76
  2. package/dist/core/agent/agent_runtime.js.map +1 -1
  3. package/dist/core/auth/auth_manager.js +3 -7
  4. package/dist/core/auth/auth_manager.js.map +1 -1
  5. package/dist/core/auth/auth_messages.js +1 -1
  6. package/dist/core/auth/auth_messages.js.map +1 -1
  7. package/dist/core/auth/auth_storage.js +71 -7
  8. package/dist/core/auth/auth_storage.js.map +1 -1
  9. package/dist/core/auth/cli.js +8 -7
  10. package/dist/core/auth/cli.js.map +1 -1
  11. package/dist/core/auth/credential_store.js +88 -186
  12. package/dist/core/auth/credential_store.js.map +1 -1
  13. package/dist/core/auth/index.js +1 -1
  14. package/dist/core/auth/index.js.map +1 -1
  15. package/dist/core/auth/providers/openai_codex.js +51 -229
  16. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  17. package/dist/core/cli.js +1 -2
  18. package/dist/core/cli.js.map +1 -1
  19. package/dist/core/config/content_loader.js +27 -130
  20. package/dist/core/config/content_loader.js.map +1 -1
  21. package/dist/core/config/index.js.map +1 -1
  22. package/dist/core/config/paths.js +0 -1
  23. package/dist/core/config/paths.js.map +1 -1
  24. package/dist/core/config/runtime.js +3 -2
  25. package/dist/core/config/runtime.js.map +1 -1
  26. package/dist/core/config/runtime_config_snapshot.js +23 -9
  27. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  28. package/dist/core/config/schema.js +13 -69
  29. package/dist/core/config/schema.js.map +1 -1
  30. package/dist/core/config/skills_loader.js +6 -2
  31. package/dist/core/config/skills_loader.js.map +1 -1
  32. package/dist/core/debug.js +1 -16
  33. package/dist/core/debug.js.map +1 -1
  34. package/dist/core/index.js +2 -2
  35. package/dist/core/index.js.map +1 -1
  36. package/dist/core/models/catalog.js +2 -239
  37. package/dist/core/models/catalog.js.map +1 -1
  38. package/dist/core/personas.js +0 -14
  39. package/dist/core/personas.js.map +1 -1
  40. package/dist/core/runtime/agent_model.js +0 -3
  41. package/dist/core/runtime/agent_model.js.map +1 -1
  42. package/dist/core/runtime/chat_runtime.js +16 -13
  43. package/dist/core/runtime/chat_runtime.js.map +1 -1
  44. package/dist/core/runtime/runtime_bootstrap.js +12 -59
  45. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  46. package/dist/core/session/auto_compaction_archive.js +1 -1
  47. package/dist/core/session/auto_compaction_archive.js.map +1 -1
  48. package/dist/core/session/compaction.js +79 -506
  49. package/dist/core/session/compaction.js.map +1 -1
  50. package/dist/core/static/tau_docs/config-reference.md +12 -37
  51. package/dist/core/static/tau_docs/configuration.md +3 -16
  52. package/dist/core/static/tau_docs/credentials.md +20 -50
  53. package/dist/core/static/tau_docs/index.md +2 -1
  54. package/dist/core/static/tau_docs/manifest.json +1 -0
  55. package/dist/core/static/tau_docs/models.md +8 -159
  56. package/dist/core/static/tau_docs/openrouter.md +165 -0
  57. package/dist/core/static/tau_docs/ownership-and-scope.md +3 -3
  58. package/dist/core/static/tau_docs/personas.md +9 -41
  59. package/dist/core/static/tau_docs/prompts-and-project-context.md +10 -44
  60. package/dist/core/static/tau_docs/remote-sessions.md +6 -7
  61. package/dist/core/static/tau_docs/security.md +4 -5
  62. package/dist/core/static/tau_docs/session-protocol-methods.md +0 -1
  63. package/dist/core/static/tau_docs/session-protocol.md +11 -9
  64. package/dist/core/static/tau_docs/sessions.md +8 -6
  65. package/dist/core/static/tau_docs/skills.md +8 -32
  66. package/dist/core/static/tau_docs/subagents.md +2 -2
  67. package/dist/core/static/tau_docs/telegram.md +2 -2
  68. package/dist/core/static/tau_docs/tools.md +2 -1
  69. package/dist/core/static/tau_docs/troubleshooting.md +11 -12
  70. package/dist/core/static/tau_docs/tui.md +4 -2
  71. package/dist/core/subagents/agent_supervisor.js +0 -1
  72. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  73. package/dist/core/telegram/adapter.js +1 -1
  74. package/dist/core/telegram/adapter.js.map +1 -1
  75. package/dist/core/tool/cli.js +10 -2
  76. package/dist/core/tool/cli.js.map +1 -1
  77. package/dist/core/tool/openrouter.js +291 -0
  78. package/dist/core/tool/openrouter.js.map +1 -0
  79. package/dist/core/tool/openrouter_decisions.js +97 -0
  80. package/dist/core/tool/openrouter_decisions.js.map +1 -0
  81. package/dist/core/tool/openrouter_media.js +180 -0
  82. package/dist/core/tool/openrouter_media.js.map +1 -0
  83. package/dist/core/tools/tau_docs.js +1 -0
  84. package/dist/core/tools/tau_docs.js.map +1 -1
  85. package/dist/core/utils/model_stream.js +47 -34
  86. package/dist/core/utils/model_stream.js.map +1 -1
  87. package/dist/core/utils/user_metadata.js +2 -27
  88. package/dist/core/utils/user_metadata.js.map +1 -1
  89. package/dist/core/version.js +2 -2
  90. package/dist/core/version.js.map +1 -1
  91. package/dist/diff_tool/app/dist/assets/{ada-C5qYipkI.js → ada-X3Y2mlq2.js} +1 -1
  92. package/dist/diff_tool/app/dist/assets/{ahk-CA9gdOdF.js → ahk-DwADkxyd.js} +1 -1
  93. package/dist/diff_tool/app/dist/assets/{angular-html-CnO8qept.js → angular-html-BbLgbIhq.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{angular-ts-DPXUio9Z.js → angular-ts-DXk17TRM.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/{apl-X8YsymsQ.js → apl-BsvksCXR.js} +1 -1
  96. package/dist/diff_tool/app/dist/assets/{astro-BQ9k8AQ0.js → astro-DH775E4V.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/beancount-C2IN4Vk8.js +1 -0
  98. package/dist/diff_tool/app/dist/assets/{blade-DZ1LYIzB.js → blade-Ck99Rm59.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/{c-VLTwNh7z.js → c-DJpHqu5J.js} +1 -1
  100. package/dist/diff_tool/app/dist/assets/{chapel-5s-sGN8D.js → chapel-Owff0Csy.js} +1 -1
  101. package/dist/diff_tool/app/dist/assets/{cobol-C9RzwrVu.js → cobol-Cv2gZuhO.js} +1 -1
  102. package/dist/diff_tool/app/dist/assets/{coffee-BHvjZ343.js → coffee-Bji0YCf_.js} +1 -1
  103. package/dist/diff_tool/app/dist/assets/coq-CGaSfhwR.js +1 -0
  104. package/dist/diff_tool/app/dist/assets/{cpp-CBTVXbBp.js → cpp-DTjA_yFF.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{crystal-DQJua4y4.js → crystal-Dd00NOeb.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/csharp-dmMxLVLW.js +1 -0
  107. package/dist/diff_tool/app/dist/assets/css-D44TN1V6.js +1 -0
  108. package/dist/diff_tool/app/dist/assets/dart-CHZY9Xhz.js +1 -0
  109. package/dist/diff_tool/app/dist/assets/dotenv-CuH5my32.js +1 -0
  110. package/dist/diff_tool/app/dist/assets/{edge-BmdmXGH4.js → edge-CVmGSi2m.js} +1 -1
  111. package/dist/diff_tool/app/dist/assets/{elixir-oiOLs98L.js → elixir-B8Mq7no2.js} +1 -1
  112. package/dist/diff_tool/app/dist/assets/{elm-BgYuiU4E.js → elm-CXS0I3Z2.js} +1 -1
  113. package/dist/diff_tool/app/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  114. package/dist/diff_tool/app/dist/assets/{erb-CvFrXpyY.js → erb-B9oDKaUo.js} +1 -1
  115. package/dist/diff_tool/app/dist/assets/{git-rebase-D3Zo1BLH.js → git-rebase-DT-YFebH.js} +1 -1
  116. package/dist/diff_tool/app/dist/assets/{glimmer-js-B4-8E3lJ.js → glimmer-js-s0DXlNjq.js} +1 -1
  117. package/dist/diff_tool/app/dist/assets/{glimmer-ts-CtKkD0t_.js → glimmer-ts-QgEB5S2z.js} +1 -1
  118. package/dist/diff_tool/app/dist/assets/{glsl-BAqforx_.js → glsl-NA0icwbY.js} +1 -1
  119. package/dist/diff_tool/app/dist/assets/gn-CAXYAgV-.js +1 -0
  120. package/dist/diff_tool/app/dist/assets/{graphql-DuE1RMyL.js → graphql-0_dOlfV0.js} +1 -1
  121. package/dist/diff_tool/app/dist/assets/{hack-CHBcXjz1.js → hack-D-mr7l1l.js} +1 -1
  122. package/dist/diff_tool/app/dist/assets/{haml-DAs2z3tD.js → haml-B0-oQmz7.js} +1 -1
  123. package/dist/diff_tool/app/dist/assets/handlebars-Yq9bXpWN.js +1 -0
  124. package/dist/diff_tool/app/dist/assets/{html-D5co0BLD.js → html-B8bMmdRK.js} +1 -1
  125. package/dist/diff_tool/app/dist/assets/{html-derivative-BZaWEmAT.js → html-derivative-BpxSlQb_.js} +1 -1
  126. package/dist/diff_tool/app/dist/assets/{http-Cii5MjJE.js → http-hS_53mxt.js} +1 -1
  127. package/dist/diff_tool/app/dist/assets/{hurl-Bur-XdJO.js → hurl-B2ST1kwl.js} +1 -1
  128. package/dist/diff_tool/app/dist/assets/index-CBT_sNIz.js +340 -0
  129. package/dist/diff_tool/app/dist/assets/{java-DN39wI4w.js → java-D4mj0lZJ.js} +1 -1
  130. package/dist/diff_tool/app/dist/assets/{javascript-VUReF1H4.js → javascript-wC7rrKiV.js} +1 -1
  131. package/dist/diff_tool/app/dist/assets/{jinja-BcrfV1JB.js → jinja-DbQ3o87F.js} +1 -1
  132. package/dist/diff_tool/app/dist/assets/{jison-Bez5Mtmy.js → jison-CrE9FdvP.js} +1 -1
  133. package/dist/diff_tool/app/dist/assets/{json-ChV8m0Le.js → json-xjicDyWN.js} +1 -1
  134. package/dist/diff_tool/app/dist/assets/{jsx-D0SXNtM0.js → jsx-m28lXojQ.js} +1 -1
  135. package/dist/diff_tool/app/dist/assets/{julia-DvhpcBwG.js → julia-19xkOmop.js} +1 -1
  136. package/dist/diff_tool/app/dist/assets/{just-BGwe8S6x.js → just-Cf7OorTr.js} +1 -1
  137. package/dist/diff_tool/app/dist/assets/latex-DDb7GQOy.js +1 -0
  138. package/dist/diff_tool/app/dist/assets/{liquid-UdnqDjKz.js → liquid-DHOuQ0rf.js} +1 -1
  139. package/dist/diff_tool/app/dist/assets/{lua-CjDHeHEr.js → lua-BGyIvonw.js} +1 -1
  140. package/dist/diff_tool/app/dist/assets/luau-VGWVLoqX.js +1 -0
  141. package/dist/diff_tool/app/dist/assets/marko-DB5OqI1C.js +1 -0
  142. package/dist/diff_tool/app/dist/assets/{mdc-BOLj6Oyq.js → mdc-DTyNMupO.js} +1 -1
  143. package/dist/diff_tool/app/dist/assets/monokai-BscAjiQZ.js +1 -0
  144. package/dist/diff_tool/app/dist/assets/moonbit-D9W784E_.js +1 -0
  145. package/dist/diff_tool/app/dist/assets/nextflow-CSgcYZcx.js +1 -0
  146. package/dist/diff_tool/app/dist/assets/{nextflow-groovy-DJMQeKeT.js → nextflow-groovy-D7IRt6Pp.js} +1 -1
  147. package/dist/diff_tool/app/dist/assets/{nginx-5r5xPc2T.js → nginx-DfF0fMYD.js} +1 -1
  148. package/dist/diff_tool/app/dist/assets/{nim-9exKQYMz.js → nim-BbwsXuZD.js} +1 -1
  149. package/dist/diff_tool/app/dist/assets/nushell--0fT3PI1.js +1 -0
  150. package/dist/diff_tool/app/dist/assets/one-dark-pro-C6YyR8OD.js +1 -0
  151. package/dist/diff_tool/app/dist/assets/{org-B2fpAlbt.js → org-BkOBBl1f.js} +1 -1
  152. package/dist/diff_tool/app/dist/assets/{perl-DV2fcwyY.js → perl-BTXTOl4K.js} +1 -1
  153. package/dist/diff_tool/app/dist/assets/php-DIMVQWiA.js +1 -0
  154. package/dist/diff_tool/app/dist/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +1 -1
  155. package/dist/diff_tool/app/dist/assets/{pug-DuKcQxFj.js → pug-B_nrb4dJ.js} +1 -1
  156. package/dist/diff_tool/app/dist/assets/{qml-C16b4SYx.js → qml-1PXi8G8Z.js} +1 -1
  157. package/dist/diff_tool/app/dist/assets/{r-B1ZldnJf.js → r-CJrAkc2Z.js} +1 -1
  158. package/dist/diff_tool/app/dist/assets/{razor-TYmslaAB.js → razor-DgPUftNd.js} +1 -1
  159. package/dist/diff_tool/app/dist/assets/red-CYlAq2b0.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/{regexp-dWCffmDD.js → regexp-C2hS8XvL.js} +1 -1
  161. package/dist/diff_tool/app/dist/assets/{rst-DEkLr2YR.js → rst-CDouhKnc.js} +1 -1
  162. package/dist/diff_tool/app/dist/assets/{ruby-BJnJzr4u.js → ruby-CAjKW1uO.js} +1 -1
  163. package/dist/diff_tool/app/dist/assets/rust-DpiIf5JO.js +1 -0
  164. package/dist/diff_tool/app/dist/assets/{sas-DeRsDbUE.js → sas-qAHkHLc1.js} +1 -1
  165. package/dist/diff_tool/app/dist/assets/{scss-SGV_CwKm.js → scss-Bfx2Ydid.js} +1 -1
  166. package/dist/diff_tool/app/dist/assets/{shellscript-BI7khmmR.js → shellscript-Bu76R8y2.js} +1 -1
  167. package/dist/diff_tool/app/dist/assets/{shellsession-Nupw_Vvw.js → shellsession-BU8BL0oL.js} +1 -1
  168. package/dist/diff_tool/app/dist/assets/solarized-dark-b97czJOk.js +1 -0
  169. package/dist/diff_tool/app/dist/assets/solarized-light-DFPxpIYQ.js +1 -0
  170. package/dist/diff_tool/app/dist/assets/{soy-B96cBzxv.js → soy-FRl8ozP-.js} +1 -1
  171. package/dist/diff_tool/app/dist/assets/sql-BacQgsEs.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/{stata-Dnq48cE6.js → stata-B9kkG-ET.js} +1 -1
  173. package/dist/diff_tool/app/dist/assets/{surrealql-D6lw4TiD.js → surrealql-qvETr7iY.js} +1 -1
  174. package/dist/diff_tool/app/dist/assets/{svelte-ChVoq9tB.js → svelte-B0z1MgHc.js} +1 -1
  175. package/dist/diff_tool/app/dist/assets/{templ-Dh1EXuHD.js → templ-DTnPshKb.js} +1 -1
  176. package/dist/diff_tool/app/dist/assets/{tex-KTYusNFe.js → tex-Cosab9_H.js} +1 -1
  177. package/dist/diff_tool/app/dist/assets/{ts-tags-DC2RU1_R.js → ts-tags-DNYvLFUH.js} +1 -1
  178. package/dist/diff_tool/app/dist/assets/{tsx-DtIM39Jy.js → tsx-Dstq6j1a.js} +1 -1
  179. package/dist/diff_tool/app/dist/assets/twig-BzqZdwaX.js +1 -0
  180. package/dist/diff_tool/app/dist/assets/{typescript-BGAE5iuw.js → typescript-YOQ_oE25.js} +1 -1
  181. package/dist/diff_tool/app/dist/assets/typespec-BGhR2SqG.js +1 -0
  182. package/dist/diff_tool/app/dist/assets/{typst-nWoGZ22y.js → typst-DTffwfpc.js} +1 -1
  183. package/dist/diff_tool/app/dist/assets/{vue-iyHf-l4z.js → vue-D4OMj_C5.js} +1 -1
  184. package/dist/diff_tool/app/dist/assets/{vue-html-prNdIjLu.js → vue-html-kT4WrHGK.js} +1 -1
  185. package/dist/diff_tool/app/dist/assets/{vue-vine-KSSlnVeg.js → vue-vine-CxeapeMO.js} +1 -1
  186. package/dist/diff_tool/app/dist/assets/{xml-DdCC83Xd.js → xml-DWVpuurg.js} +1 -1
  187. package/dist/diff_tool/app/dist/assets/{xsl-DSqZxsez.js → xsl-C0ciup5a.js} +1 -1
  188. package/dist/diff_tool/app/dist/assets/{yaml-CZcBUWvf.js → yaml-98Fvyfpc.js} +1 -1
  189. package/dist/diff_tool/app/dist/index.html +1 -1
  190. package/dist/execution/execution_environment.js.map +1 -1
  191. package/dist/execution/fly_sprite_execution_environment.js +5 -10
  192. package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
  193. package/dist/execution/tool_backend_execution_environment.js +0 -2
  194. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  195. package/dist/host/execution_runtime.js +5 -4
  196. package/dist/host/execution_runtime.js.map +1 -1
  197. package/dist/host/hosted_ephemeral_agent_session.js +0 -2
  198. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  199. package/dist/host/local_session_host.js +15 -31
  200. package/dist/host/local_session_host.js.map +1 -1
  201. package/dist/main.js +14 -29
  202. package/dist/main.js.map +1 -1
  203. package/dist/protocol/session_protocol.d.ts +3 -6
  204. package/dist/protocol/session_protocol.js +3 -6
  205. package/dist/protocol/session_protocol.js.map +1 -1
  206. package/dist/sdk/local_client.js +3 -3
  207. package/dist/sdk/local_client.js.map +1 -1
  208. package/dist/store/session_snapshot_migrations.js +28 -1
  209. package/dist/store/session_snapshot_migrations.js.map +1 -1
  210. package/dist/tui/session_chat_app.js +2 -4
  211. package/dist/tui/session_chat_app.js.map +1 -1
  212. package/dist/tui/session_chat_controller.js +10 -1
  213. package/dist/tui/session_chat_controller.js.map +1 -1
  214. package/package.json +8 -8
  215. package/dist/diff_tool/app/dist/assets/beancount-D-usSTwE.js +0 -1
  216. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +0 -1
  217. package/dist/diff_tool/app/dist/assets/csharp-oqKa8noW.js +0 -1
  218. package/dist/diff_tool/app/dist/assets/css-BQflXFb6.js +0 -1
  219. package/dist/diff_tool/app/dist/assets/dart-CnvKMtbv.js +0 -1
  220. package/dist/diff_tool/app/dist/assets/dotenv-_5a1GRtc.js +0 -1
  221. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +0 -1
  222. package/dist/diff_tool/app/dist/assets/gn-ilITqXS6.js +0 -1
  223. package/dist/diff_tool/app/dist/assets/handlebars-CfAla6QK.js +0 -1
  224. package/dist/diff_tool/app/dist/assets/index-CZUi_I-p.js +0 -340
  225. package/dist/diff_tool/app/dist/assets/latex-pWSag83P.js +0 -1
  226. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +0 -1
  227. package/dist/diff_tool/app/dist/assets/marko-yLX6iW68.js +0 -1
  228. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +0 -1
  229. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +0 -1
  230. package/dist/diff_tool/app/dist/assets/nextflow-BJtWHP5T.js +0 -1
  231. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +0 -1
  232. package/dist/diff_tool/app/dist/assets/one-dark-pro-CLwyXe_n.js +0 -1
  233. package/dist/diff_tool/app/dist/assets/php-D-AthX_E.js +0 -1
  234. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +0 -1
  235. package/dist/diff_tool/app/dist/assets/rust-Cfkwpbl8.js +0 -1
  236. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +0 -1
  237. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +0 -1
  238. package/dist/diff_tool/app/dist/assets/sql-CsIdKfaO.js +0 -1
  239. package/dist/diff_tool/app/dist/assets/twig-C6D_TA3n.js +0 -1
  240. package/dist/diff_tool/app/dist/assets/typespec-BRdr0IET.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ These are defaults built into this Tau version, not a dump of the effective conf
13
13
  | Default persona | `sonnet-5.5-coder` |
14
14
  | Default TUI theme | `gold` |
15
15
  | Built-in personas | Enabled |
16
- | Speech-to-text provider when unset | `openai` |
16
+ | Speech-to-text provider | Gemini |
17
17
  | Built-in diff tool code theme | `github-dark-dimmed` |
18
18
  | Command client tool timeout when unset | `60000` ms |
19
19
 
@@ -23,16 +23,15 @@ Project and global content can change which persona ids are available. A configu
23
23
 
24
24
  | Field | Type | Scope | Combination | Primary owner and apply boundary |
25
25
  | --- | --- | --- | --- | --- |
26
- | `apiKeys` | Object of string values | Global, project | Merge by provider id | Host or feature consumer; `/reload` for session runtime keys, process restart for environment changes |
26
+ | `apiKeys` | Object of string values | Global only | Provider-keyed map | Owning host or feature process; restart after changes |
27
27
  | `defaultPersona` | Non-empty string | Global, project | Most-specific wins | Session host; new session |
28
28
  | `speech` | Object with optional `voiceId` and `recordingShortcut` | Global, project | Merge by field | TUI client or Telegram runner; process restart |
29
29
  | `defaultTheme` | Non-empty string | Global, project | Most-specific wins | TUI client; client restart |
30
30
  | `clientTools` | Array of objects | Global only | One global definition list | Owning client; TUI restart or new Telegram session client |
31
31
  | `enabledClientTools` | String array | Project only | Most-specific project list | Owning client; TUI restart or new Telegram session client |
32
- | `agentContextFiles` | String array | Global, project | Additive, resolved and deduplicated | Execution environment and session host; `/reload` or new session |
33
32
  | `subagents` | Object | Global, project | Field-wise, currently one selectable list | Session runtime; `/reload` or new session |
34
33
  | `modelSystemNotices` | String map | Global, project | Merge by model target | Session runtime; `/reload`, affects later inputs |
35
- | `flySprites` | Object | Global, project | Merge APIs by id | Host startup; host restart |
34
+ | `flySprites` | Object | Global, project | Merge connection fields | Host startup; host restart |
36
35
  | `nook` | Object | Global, project | Most-specific complete object | Host tool runtime; `/reload` or new session |
37
36
  | `history` | Object | Global only | One global object | Host startup; host restart |
38
37
  | `mcpServers` | Object keyed by server name | Global and project | Merge names; nearer entry replaces | Host startup; host restart |
@@ -55,20 +54,6 @@ Allowed reasoning suffixes are `none`, `minimal`, `low`, `medium`, `high`, `xhig
55
54
 
56
55
  `defaultPersona` selects a new session when no CLI or session-creation override is supplied. Reloading an existing session retains its current persona id when possible. See [personas](personas.md).
57
56
 
58
- ### `agentContextFiles`
59
-
60
- An array of non-empty paths to additional text files included as project context:
61
-
62
- ```json
63
- {
64
- "agentContextFiles": ["docs/AI_GUIDE.md", "services/payments/AGENTS.md"]
65
- }
66
- ```
67
-
68
- Entries are additive across levels. Global paths resolve from home; project paths resolve from the directory containing `.tau`. Tau deduplicates identical resolved paths. Eligibility and ordinary `AGENTS.md` discovery are described in [prompts and project context](prompts-and-project-context.md).
69
-
70
- The startup flag `--no-agent-context-files` disables context injection independently of this list.
71
-
72
57
  ### `subagents`
73
58
 
74
59
  The top-level subagent configuration currently accepts one optional field:
@@ -104,7 +89,7 @@ A map from exact `<provider>/<model>` targets to non-empty notice text:
104
89
  }
105
90
  ```
106
91
 
107
- Provider ids must be known, and model ids must resolve against the merged built-in and `models.json` catalog. Entries merge by normalized target, with the more-specific value winning. Tau prepends the matching notice to later committed main-session and subagent user input. Ephemeral agents and maintenance model calls do not receive a newly resolved notice.
92
+ Provider ids must be known, and model ids must resolve against the bundled and refreshed model catalog. Entries merge by normalized target, with the more-specific value winning. Tau prepends the matching notice to later committed main-session and subagent user input. Ephemeral agents and maintenance model calls do not receive a newly resolved notice.
108
93
 
109
94
  Use this for model-specific operational guidance, not for persona behavior that belongs in a persona file. See [models](models.md) and [personas](personas.md).
110
95
 
@@ -126,13 +111,9 @@ A map from provider or feature id to a string credential:
126
111
  }
127
112
  ```
128
113
 
129
- The map accepts arbitrary non-empty provider names and string values. Values are trimmed when consumed; an empty string is not a usable credential. Maps merge by key, so a project can replace one provider without removing others.
130
-
131
- For model requests, credential precedence is an explicit request override, configured `apiKeys.<provider>`, then the provider runtime's ambient authentication. This means `apiKeys.openai` wins over `OPENAI_API_KEY` for model calls. The `openai-codex` provider uses managed OAuth separately and does not use `apiKeys.openai`.
114
+ The global map accepts arbitrary non-empty provider names and string values. Values are trimmed when consumed; an empty string is not a usable credential.
132
115
 
133
- Feature-specific helpers use different precedence: `EXA_API_KEY`, `GEMINI_API_KEY`, `MISTRAL_API_KEY`, and `OPENAI_API_KEY` take precedence over their matching `apiKeys` entries for the features that consume those helpers. See [credentials](credentials.md) for the exact feature matrix.
134
-
135
- Credentials are consumed where the model or feature runs. In an attached session that is usually the host, not the TUI client. Avoid committing project API keys. See [credentials](credentials.md).
116
+ For model requests and feature helpers, provider-supported environment credentials take precedence over global `apiKeys`. Provider-supported ambient authentication remains available. Project `apiKeys` values are rejected. Codex managed OAuth uses the explicitly active account separately. See [credentials](credentials.md).
136
117
 
137
118
  ### `speech`
138
119
 
@@ -319,28 +300,22 @@ These fields configure resolvers owned by a host process. They do not provision
319
300
 
320
301
  ### `flySprites`
321
302
 
322
- An optional `apis` map keyed by API id:
303
+ One configured connection:
323
304
 
324
305
  ```json
325
306
  {
326
307
  "flySprites": {
327
- "apis": {
328
- "personal": {
329
- "tokenEnv": "FLY_SPRITES_TOKEN",
330
- "home": "/home/sprite"
331
- }
332
- }
308
+ "tokenEnv": "FLY_SPRITES_TOKEN",
309
+ "home": "/home/sprite"
333
310
  }
334
311
  }
335
312
  ```
336
313
 
337
- Each API accepts:
338
-
339
- | Nested field | Type | Required | Default or behavior |
314
+ | Field | Type | Required | Default or behavior |
340
315
  | --- | --- | --- | --- |
341
316
  | `baseURL` | Non-empty string | No | Defaults to `https://api.sprites.dev` |
342
317
  | `token` | Non-empty string | No | Inline token; takes precedence when present |
343
318
  | `tokenEnv` | Non-empty string | No | Host environment variable used when `token` is absent |
344
- | `home` | Non-empty string | No | Execution-environment home, default `/home/sprite` |
319
+ | `home` | Non-empty string | No | Sprite home, default `/home/sprite` |
345
320
 
346
- A usable token is required when the host resolves a Sprite. API maps merge by id, with the more-specific complete entry replacing the broader entry.
321
+ A usable token is required when the host resolves a Sprite. Select an existing Sprite by name. More-specific connection fields replace broader values.
@@ -63,10 +63,9 @@ Within the project, the effective default persona is `gpt-6.1-sol-coder:high`.
63
63
 
64
64
  A few fields intentionally use other rules:
65
65
 
66
- - `apiKeys` merges by provider id. A more-specific key replaces only the same provider's value.
66
+ - `apiKeys` is global-only; project values are rejected.
67
67
  - `modelSystemNotices` merges by normalized `<provider>/<model>` key.
68
- - `flySprites.apis` merges by API id. A more-specific API replaces the complete API entry with that id.
69
- - `agentContextFiles` is additive across levels, resolves each entry at its owning level, and removes duplicate resolved paths while preserving order.
68
+ - `flySprites` configures one connection; more-specific connection fields replace broader values.
70
69
  - `subagents.launchModels` selects the most-specific list.
71
70
  - `clientTools` is defined only at global scope. `enabledClientTools` at the most-specific project level is an exact selection from those definitions.
72
71
  - `history` is accepted only at global scope.
@@ -85,21 +84,9 @@ Without `enabledClientTools`, Tau selects global client tools whose `defaultEnab
85
84
 
86
85
  Relative path bases belong to the level that declares the value:
87
86
 
88
- - Global `agentContextFiles` entries resolve from home.
89
- - Project `agentContextFiles` entries resolve from the directory containing `.tau`.
90
87
  - A global `clientTools[].command` containing a slash resolves from home.
91
88
  - A bare command such as `git` is left bare and resolves through the owning process's `PATH`.
92
89
 
93
- For example, in `/home/ada/work/ledger/.tau/config.json`:
94
-
95
- ```json
96
- {
97
- "agentContextFiles": ["docs/AI_GUIDE.md"]
98
- }
99
- ```
100
-
101
- Tau resolves the path as `/home/ada/work/ledger/docs/AI_GUIDE.md`.
102
-
103
90
  Other strings that happen to contain paths are not automatically rebased unless their field contract says so. In particular, hosted execution-environment `home` values are passed as configured.
104
91
 
105
92
  ## Invalid and unknown fields
@@ -169,7 +156,7 @@ A logical turn captures its persona, model settings, and tools when it starts. R
169
156
 
170
157
  Restart the host process to apply settings used to construct host-wide services, including:
171
158
 
172
- - `flySprites.apis`
159
+ - `flySprites`
173
160
  - `history`
174
161
  - host environment variables and Codex account forcing
175
162
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Tau can read secrets from configuration, process environments, and managed OAuth storage. The correct location depends on which process performs the authenticated operation. In a remote session, the attached terminal is usually not that process.
4
4
 
5
- Treat credentials separately from model definitions. [Models](models.md) describes providers, model metadata, and `models.json`; this page describes how authenticated requests obtain secrets.
5
+ Treat credentials separately from model definitions. [Models](models.md) describes providers and model metadata; this page describes how authenticated requests obtain secrets.
6
6
 
7
7
  ## Credential ownership
8
8
 
@@ -20,13 +20,13 @@ Common cases are:
20
20
  | Fly Sprite API | Session host startup |
21
21
  | `/listen` and `/speak` | TUI client |
22
22
  | Telegram transcription and voice responses | Telegram runner |
23
- | `tau tool pdf-unpack`, `image-generate`, and `speech-generate` | The process running that command |
23
+ | Standalone `tau tool` commands | The process running that command |
24
24
 
25
25
  With local `tau`, these roles normally share one machine. With `tau attach`, setting a key only in the attached client's shell does not authenticate the remote host. Run `tau auth` on the host machine and set host-owned environment variables where `tau serve` or the SDK host actually runs. See [ownership and scope](ownership-and-scope.md) for the full boundary.
26
26
 
27
27
  ## Provider API keys
28
28
 
29
- Tau accepts provider API keys in the effective runtime configuration:
29
+ Tau accepts provider API keys in private global configuration:
30
30
 
31
31
  ```json
32
32
  {
@@ -38,36 +38,25 @@ Tau accepts provider API keys in the effective runtime configuration:
38
38
  }
39
39
  ```
40
40
 
41
- Keys are provider IDs, not model IDs. `apiKeys` merges by provider across configuration levels, so a nearer project value replaces the same provider's broader value while unrelated provider entries remain. Global and project discovery is defined in [configuration](configuration.md).
41
+ Keys are provider IDs, not model IDs. `apiKeys` is global-only, in the owning process's `~/.config/tau/config.json`; project values are rejected. Configuration strings are literal and do not expand environment variables.
42
42
 
43
- Configuration files contain literal strings. Tau does not expand `$NAME` or `${NAME}` inside JSON. A key placed in `.tau/config.json` is project data and may be committed accidentally. Prefer host process environment variables or private global configuration when the credential should not live with the project.
43
+ For model API-key authentication, provider-supported environment credentials take precedence over global `apiKeys`. Supported cloud and workload identity authentication remains available. OpenAI uses `OPENAI_API_KEY`; Anthropic also supports `ANTHROPIC_AUTH_TOKEN` and `ANTHROPIC_OAUTH_TOKEN` according to its provider contract. Managed Codex OAuth is separate and always uses the explicitly active stored account.
44
44
 
45
- For model authentication, Tau resolves credentials in this order:
46
-
47
- 1. A managed stored credential for the provider, when one exists.
48
- 2. `apiKeys.<provider>` from the session's effective runtime configuration.
49
- 3. The provider runtime's ambient authentication, such as its standard API-key environment variable or supported cloud credential mechanism.
50
-
51
- This means `apiKeys.openai` wins over `OPENAI_API_KEY` for model calls. If the config entry is absent, OpenAI can use `OPENAI_API_KEY`. Similar conventional variables include `ANTHROPIC_API_KEY`, `GEMINI_API_KEY`, and `MISTRAL_API_KEY`. Anthropic's ambient resolution also supports bearer and OAuth token variables, with `ANTHROPIC_AUTH_TOKEN` before `ANTHROPIC_OAUTH_TOKEN` and `ANTHROPIC_API_KEY`.
52
-
53
- Other bundled providers define their own ambient authentication. A provider being present in the bundled [model catalog](models.md) does not prove that the host currently has usable credentials.
54
-
55
- Changes to `apiKeys` are picked up when an idle session runs `/reload`, or when a new session is created. Environment changes generally require restarting the owning process because an already-running process does not receive later shell exports.
45
+ Set model credentials where the host runs. Restart the owning process after changing environment variables or its global API-key configuration.
56
46
 
57
47
  ## Feature-specific keys
58
48
 
59
- Several Tau features share provider credentials but intentionally prefer a fixed environment variable over configuration. Their precedence is:
49
+ Feature helpers use environment variables first, then global configuration:
60
50
 
61
51
  | Feature | Resolution order |
62
52
  | --- | --- |
63
53
  | Exa web search and fetch | `EXA_API_KEY`, then `apiKeys.exa` |
64
54
  | Google image generation, speech-to-text, and Telegram transcription | `GEMINI_API_KEY`, then `apiKeys.google` |
65
55
  | Mistral PDF OCR | `MISTRAL_API_KEY`, then `apiKeys.mistral` |
56
+ | OpenRouter decisions and chat | `OPENROUTER_API_KEY`, then `apiKeys.openrouter` |
66
57
  | OpenAI image generation, speech rewriting, and transcription spelling hints | `OPENAI_API_KEY`, then `apiKeys.openai` |
67
58
  | ElevenLabs speech generation, `/speak` synthesis, Telegram voice synthesis, and voice listing | `ELEVENLABS_API_KEY`, then `apiKeys.elevenlabs` |
68
59
 
69
- The Google, Mistral, OpenAI, and ElevenLabs rows describe feature-specific helpers. Model calls follow the general model-authentication order instead, where the configured provider key wins over ambient environment authentication.
70
-
71
60
  `web.discover` does not require Exa. `web.search` and `web.fetch` do. `/speak` and Telegram `/tts_on` voice responses require OpenAI for text rewriting and ElevenLabs for synthesis. `/listen` and incoming Telegram voice notes use Google, with optional OpenAI spelling hints. PDF OCR through `tau tool pdf-unpack` uses Mistral.
72
61
 
73
62
  Set these variables on the process that owns the feature. For example, a remote TUI's `/speak` reads the attached client's `OPENAI_API_KEY` and `ELEVENLABS_API_KEY`, while a Google model selected by the session reads credentials at the host.
@@ -84,35 +73,20 @@ tau auth login codex
84
73
 
85
74
  The flow opens or prints a browser URL and may fall back to a device code or pasted redirect. Tau stores the result under the host user's `~/.config/tau/auth.json` with private file permissions. Do not edit this file directly. The auth commands coordinate concurrent access, refresh tokens when needed, and preserve account state safely.
86
75
 
87
- Multiple Codex accounts may be present. Inspect account identities, enabled state, usage windows, and the account Tau would currently prefer without displaying tokens:
76
+ Multiple Codex accounts may be stored, with at most one active account. `tau auth list` displays identities, marks the active account, and shows informational usage windows without revealing tokens.
88
77
 
89
78
  ```sh
79
+ tau auth login codex
90
80
  tau auth list
91
- ```
92
-
93
- Manage one account by the account ID or email shown in that output:
94
-
95
- ```sh
96
- tau auth disable codex --account developer@example.com
97
- tau auth enable codex --account developer@example.com
81
+ tau auth use codex --account developer@example.com
98
82
  tau auth logout codex --account developer@example.com
99
83
  ```
100
84
 
101
- Login adds a new account or refreshes the matching account. Disable keeps the account stored but removes it from automatic selection. Logout removes it.
102
-
103
- ### Account selection and failover
104
-
105
- Without an override, Tau chooses among enabled accounts with usable quota and keeps the selected account stable for a session. If a provider error reveals that the selected account's tracked quota is exhausted, Tau clears that session selection so a later attempt can choose another usable account. Disabled accounts, accounts whose credentials cannot be refreshed, and accounts with exhausted quota are not suitable candidates.
106
-
107
- Set `TAU_CODEX_ACCOUNT` in the host process environment to force one stored account by email or account ID:
108
-
109
- ```sh
110
- TAU_CODEX_ACCOUNT=developer@example.com tau
111
- ```
85
+ First login activates the account only when no accounts are stored. Later logins add or refresh an account without changing the active selection. If stored accounts remain but none is active, use `tau auth use` explicitly. Account IDs and email matching are case-insensitive.
112
86
 
113
- Matching is case-insensitive. A missing or disabled match fails with an explicit error. A forced account disables automatic failover, so use it when deterministic account selection matters more than continuity.
87
+ `auth use` replaces the previous active account. Logout removes the account; logging out the active account leaves no account active even if others remain. With no active account, requests fail with instructions to log in or select one. Failed or exhausted accounts surface failures without automatic switching. Usage never determines selection.
114
88
 
115
- Auth storage is reloaded when credentials are resolved. Login, enable, disable, and logout therefore affect later credential resolutions without a host restart. They do not rewrite a model request already in flight. A changed `TAU_CODEX_ACCOUNT` still requires restarting the host process.
89
+ Auth storage is reloaded for later requests across sessions. Switching accounts does not alter a request already in flight and needs no host restart.
116
90
 
117
91
  ## History and Nook indirection
118
92
 
@@ -153,31 +127,27 @@ If the named `accessClientSecretEnv` has a non-empty value, it wins over inline
153
127
 
154
128
  ## Hosted execution credentials
155
129
 
156
- Fly Sprite APIs are host-owned resolver configuration. They must be available when the host starts, before a client asks it to create a Sprite session. Each API requires a token:
130
+ The Fly Sprite connection is host-owned configuration. They must be available when the host starts, before a client asks it to create a Sprite session. The connection requires a token:
157
131
 
158
132
  ```json
159
133
  {
160
134
  "flySprites": {
161
- "apis": {
162
- "engineering": {
163
- "baseURL": "https://api.sprites.dev",
164
- "tokenEnv": "FLY_SPRITES_TOKEN"
165
- }
166
- }
135
+ "baseURL": "https://api.sprites.dev",
136
+ "tokenEnv": "FLY_SPRITES_TOKEN"
167
137
  }
168
138
  }
169
139
  ```
170
140
 
171
141
  For Fly, inline `token` wins when present; `tokenEnv` is the fallback. Session creation fails if neither resolves.
172
142
 
173
- These target definitions are read from the host's startup configuration, not from an attached client. `/reload` refreshes session runtime content but does not rebuild the host's execution-environment resolvers. Restart the host after changing Sprite API definitions or their environment.
143
+ These target definitions are read from the host's startup configuration, not from an attached client. `/reload` refreshes session runtime content but does not rebuild the host's execution-environment resolvers. Restart the host after changing Sprite connection settings or their environment.
174
144
 
175
145
  ## Safe verification
176
146
 
177
147
  Verify credentials through the operation that owns them, without printing secret values:
178
148
 
179
- - Run `tau auth list` to check Codex identities, enabled state, refresh health, and quota windows.
180
- - Run `/reload` while the session is idle after changing runtime `apiKeys`; review every configuration warning.
149
+ - Run `tau auth list` to check Codex identities, active selection, refresh health, and informational usage windows.
150
+ - Restart the owning process after changing global `apiKeys`.
181
151
  - Make a small request with the intended persona to verify model authentication and endpoint access.
182
152
  - Exercise the specific feature after setting Exa, speech, History, Nook or Fly credentials. Their missing-credential errors name the accepted source.
183
153
  - For remote sessions, first confirm which machine is the host and which process owns the feature.
@@ -16,7 +16,7 @@ The intrinsic `tau_docs` tool reads one exact Markdown path at a time. It does n
16
16
  - [Configuration](configuration.md) explains discovery, precedence, safe edits, reload behavior, and common scope mistakes.
17
17
  - [Configuration reference](config-reference.md) defines every current top-level `config.json` field and its apply boundary.
18
18
  - [Credentials](credentials.md) covers API keys, Codex OAuth accounts, secret precedence, and credential ownership.
19
- - [Models](models.md) explains the model catalog and layered `models.json` overrides.
19
+ - [Models](models.md) explains the bundled and remotely refreshed model catalog.
20
20
  - [Personas](personas.md) covers model-facing behavior, reasoning, tools, and persona files.
21
21
  - [Subagents](subagents.md) explains available subagents, launch policy, model overrides, and supervision.
22
22
  - [Skills](skills.md) covers discovery, frontmatter, trigger sensitivity, and tool eligibility.
@@ -45,3 +45,4 @@ The intrinsic `tau_docs` tool reads one exact Markdown path at a time. It does n
45
45
  - [PDF unpacking](pdf-unpacking.md) covers PDF OCR with Mistral, Markdown extraction, and page-image patches.
46
46
  - [Image generation](image-generation.md) covers image generation and reference editing with Google and OpenAI.
47
47
  - [Speech generation](speech-generation.md) covers caller-chunked narration and dialogue, ElevenLabs voices, and long-form WAV assembly.
48
+ - [OpenRouter](openrouter.md) covers standalone typed decisions and text, image, audio, and video understanding with fixed model choices.
@@ -15,6 +15,7 @@
15
15
  "pdf-unpacking.md",
16
16
  "image-generation.md",
17
17
  "speech-generation.md",
18
+ "openrouter.md",
18
19
  "client-tools.md",
19
20
  "tui.md",
20
21
  "sessions.md",
@@ -2,169 +2,31 @@
2
2
 
3
3
  A model definition tells Tau how to call a provider model and how to reason about its capabilities, limits, and cost. A persona selects one provider and model, while credentials authorize the resulting request. Keeping those layers separate makes it possible to update model metadata without rewriting persona behavior.
4
4
 
5
- Tau ships a versioned catalog, refreshes compatible model metadata from `pi.dev`, and lets the execution environment overlay it with `models.json`. The effective catalog for a session therefore depends on the installed Tau version, the host's cached remote catalog, and the session working directory.
5
+ Tau ships a versioned catalog and refreshes compatible model metadata from `pi.dev`. The effective catalog for a session therefore depends on the installed Tau version and the host's cached remote catalog.
6
6
 
7
7
  ## Providers, models, and personas
8
8
 
9
- A **provider** owns authentication and one or more request APIs. A **model** is addressed by a provider ID and an exact model ID, such as `openai/gpt-6.1-sol`. A [persona](personas.md) binds that pair to a system prompt, settings, tools, skills, and subagents.
9
+ A **provider** owns authentication and one or more request APIs. A **model** is addressed by a provider ID and an exact model ID, such as `openai/gpt-6.1-sol`. A [persona](personas.md) binds that pair to a system prompt, settings, tools, and subagents.
10
10
 
11
11
  The bundled catalog comes from Tau's model runtime. It supplies known provider IDs, bundled model IDs, request API names, endpoints, capability flags, token limits, and pricing. Bundled does not mean currently usable: a provider may still lack credentials, an account may not expose a model, or a configured endpoint may reject it. See [credentials](credentials.md).
12
12
 
13
- Tau applies `models.json` overlays before resolving built-in or custom personas. A bundled persona therefore uses overridden metadata when its provider and model are patched.
14
-
15
13
  ## Remote catalog
16
14
 
17
15
  A model-owning Tau host restores provider catalogs from `~/.config/tau/models-store.json` during startup, then checks `pi.dev` asynchronously when the cache is older than four hours. This is a startup freshness check, not a recurring timer. Set `TAU_OFFLINE` to skip the automatic network check.
18
16
 
19
17
  Tau requests one catalog shard for every provider included in its installed `pi-ai` version. Each request has a 15-second timeout and is independent: successful shards are cached even when another provider fails, while failed providers retain their previous valid shard or fall back to bundled metadata. Run `tau models refresh` on the host to bypass the freshness window and force a best-effort refresh. The command exits nonzero if any provider fails after preserving successful updates.
20
18
 
21
- Remote data replaces complete matching `pi-ai` model records and may add model IDs. Execution-environment `models.json` remains the highest-precedence layer. Tau identifies the installed `pi-ai` version to `pi.dev` so the service can select compatible records. Cached data older than the catalog bundled into `pi-ai` is ignored.
19
+ Remote data replaces complete matching `pi-ai` model records and may add model IDs. Tau identifies the installed `pi-ai` version to `pi.dev` so the service can select compatible records. Cached data older than the catalog bundled into `pi-ai` is ignored.
22
20
 
23
21
  A session captures the available remote catalog when it is created. A background refresh does not change that session. Run `/reload` to adopt the latest host cache; ordinary persona switching keeps the session's captured catalog.
24
22
 
25
- ## Where `models.json` is loaded
26
-
27
- Tau uses the same level discovery as runtime configuration:
28
-
29
- - `~/.config/tau/models.json` is the global overlay when the session `cwd` is inside the execution environment's home.
30
- - Every ancestor `.tau/models.json` is a project overlay.
31
- - When `cwd` is inside home, project discovery stops at home. Otherwise it continues to the filesystem root.
32
-
33
- Merge order is bundled catalog, global overlay, then project overlays from the farthest parent to the nearest. The nearest value wins for the same field.
34
-
35
- These paths belong to the execution environment. In an attached session, edit `models.json` on the session target, not on the TUI machine. The general path rules and reload boundary are covered in [configuration](configuration.md).
36
-
37
- ## File shape
38
-
39
- A `models.json` file has one required `providers` object. Provider keys are normalized to lowercase and must already be known to the bundled catalog.
40
-
41
- ```json
42
- {
43
- "providers": {
44
- "openai": {
45
- "baseUrl": "https://models.internal.example/v1",
46
- "headers": {
47
- "x-tenant": "payments"
48
- },
49
- "models": [
50
- {
51
- "id": "gpt-6.1-sol",
52
- "contextWindow": 300000,
53
- "maxTokens": 48000
54
- },
55
- {
56
- "id": "gpt-5.7-preview",
57
- "name": "GPT-5.7 preview",
58
- "reasoning": true,
59
- "input": ["text", "image"],
60
- "contextWindow": 200000,
61
- "maxTokens": 32000,
62
- "cost": {
63
- "input": 3,
64
- "output": 18,
65
- "cacheRead": 0.3,
66
- "cacheWrite": 3.75
67
- }
68
- }
69
- ]
70
- }
71
- }
72
- }
73
- ```
74
-
75
- Unknown object fields are discarded. A malformed JSON document or invalid schema rejects that whole file and produces a configuration warning. An unknown provider produces a warning for that provider entry; Tau can still process valid entries from the same file.
76
-
77
- ## Provider fields
78
-
79
- A provider entry accepts these optional defaults:
80
-
81
- | Field | Contract |
82
- | --- | --- |
83
- | `api` | Non-empty request API name. It must correspond to an API implementation available in the installed model runtime. |
84
- | `baseUrl` | Non-empty endpoint URL string used for provider models unless a model overrides it. |
85
- | `headers` | String-to-string map merged into model request headers. |
86
- | `compat` | Provider-specific compatibility value. Objects shallow-merge; another JSON value replaces the prior value. |
87
- | `models` | Array of model patches or definitions. |
88
-
89
- Provider defaults apply to every effective model for that provider. Across levels, `headers` merge by key and `compat` objects merge one level deep. Other provider fields use the nearest defined value.
90
-
91
- Headers are literal strings, not environment references. Prefer the mechanisms in [credentials](credentials.md) for secrets. If a proxy requires a routing header, keep the containing file private and remember that a project overlay may be committed.
92
-
93
- ## Model fields
94
-
95
- Each model entry requires `id`. Its value is trimmed but otherwise exact and case-sensitive. All remaining fields are optional patches:
96
-
97
- | Field | Contract |
98
- | --- | --- |
99
- | `id` | Required non-empty model ID. It forms the key with the normalized provider ID. |
100
- | `name` | Non-empty display name. |
101
- | `api` | Non-empty request API name, overriding the provider or bundled value. |
102
- | `baseUrl` | Non-empty endpoint string, overriding the provider or bundled value. |
103
- | `headers` | String-to-string map. Model headers merge over provider headers by key. |
104
- | `reasoning` | Boolean indicating whether the model supports reasoning controls. |
105
- | `input` | Array containing `text`, `image`, or both. The array replaces the prior value. |
106
- | `contextWindow` | Positive integer context-window size in tokens. Tau uses it for context pressure and compaction decisions. |
107
- | `maxTokens` | Positive integer maximum output-token setting. |
108
- | `cost` | Partial rates object described below. Fields merge into prior cost metadata. |
109
- | `compat` | Provider-adapter compatibility value. Objects shallow-merge; another JSON value replaces the prior value. |
110
-
111
- A model-level value always overrides the effective provider-level value, even when the model patch came from a broader configuration level. Among model patches for the same provider and ID, the nearest level wins field by field. `headers`, object `compat`, and individual `cost` fields merge; `input` and `cost.tiers` replace their previous arrays.
112
-
113
- `compat` is intentionally adapter-specific and is not structurally validated by Tau. Use only keys understood by the selected API implementation. An accepted but unsupported `api` or `compat` value can still fail when a request is made.
114
-
115
- ## Cost and tiered pricing
116
-
117
- Base cost rates are US dollars per million tokens:
118
-
119
- ```json
120
- {
121
- "cost": {
122
- "input": 2,
123
- "output": 12,
124
- "cacheRead": 0.2,
125
- "cacheWrite": 2.5
126
- }
127
- }
128
- ```
129
-
130
- Each base field is optional in a patch because omitted values inherit. For a newly synthesized model, inherited provider defaults remain unless replaced.
131
-
132
- `cost.tiers` is an array of complete request-wide rates. Every tier requires all five fields:
133
-
134
- ```json
135
- {
136
- "cost": {
137
- "tiers": [
138
- {
139
- "inputTokensAbove": 272000,
140
- "input": 4,
141
- "output": 18,
142
- "cacheRead": 0.4,
143
- "cacheWrite": 5
144
- }
145
- ]
146
- }
147
- }
148
- ```
149
-
150
- Tau totals input, cache-read, and cache-write usage for the request. When that total is greater than a tier's `inputTokensAbove`, the entire request uses that tier's rates. If several thresholds match, the highest threshold wins. The threshold comparison is strict, so a total exactly equal to the threshold stays on the lower rate.
151
-
152
- Keep pricing metadata accurate. Tau uses it for displayed and recorded cost, not only documentation.
153
-
154
23
  ## Unbundled model IDs
155
24
 
156
- Custom personas and subagent launch allowlists may name an unbundled model ID when the provider is known. Tau handles it in one of two ways:
157
-
158
- 1. If merged `models.json` contains the provider and ID, Tau derives a model from that provider's bundled template and applies provider and model patches.
159
- 2. Otherwise, general model resolution synthesizes the requested ID from that provider's bundled template and applies provider-level patches.
160
-
161
- This supports newly released IDs before Tau bundles them. It does not discover capabilities or prices from the provider. The synthesized definition inherits the first bundled template for that provider, so explicitly define any differing `api`, endpoint, inputs, reasoning support, token limits, compatibility settings, and cost.
162
-
163
- A completely new provider cannot be introduced through `models.json`; provider keys must be known to the installed runtime. Also note that `modelSystemNotices` requires a **configured** model. An unbundled ID used only through synthesis must first be listed in `models.json` before a notice can target it.
25
+ Custom personas and subagent launch allowlists may name an unbundled model ID when the provider is known. General model resolution synthesizes the requested ID from that provider's bundled template. This supports newly released IDs but does not discover their capabilities or prices. Prefer IDs present in the bundled or refreshed catalog when accurate metadata matters.
164
26
 
165
27
  ## Model system notices
166
28
 
167
- `modelSystemNotices` belongs in `config.json`, but its keys are validated against the merged configured model catalog, so it is closely tied to model configuration:
29
+ `modelSystemNotices` belongs in `config.json`, but its keys are validated against the bundled and refreshed model catalog, so it is closely tied to model configuration:
168
30
 
169
31
  ```json
170
32
  {
@@ -174,7 +36,7 @@ A completely new provider cannot be introduced through `models.json`; provider k
174
36
  }
175
37
  ```
176
38
 
177
- Keys use exact `<provider>/<model>` form. Provider IDs must be known. Model IDs are case-sensitive and must be bundled or listed in layered `models.json`. Values must be non-empty strings. The map merges by key across configuration levels, with the nearest notice winning.
39
+ Keys use exact `<provider>/<model>` form. Provider IDs must be known. Model IDs are case-sensitive and must be bundled or present in the refreshed catalog. Values must be non-empty strings. The map merges by key across configuration levels, with the nearest notice winning.
178
40
 
179
41
  When Tau commits input for a main agent or subagent using that model, it prepends the notice as a hidden model-facing system block. The block is persisted with the user message and later compaction sees it as source history. Tau does not add a fresh current notice to maintenance prompts or synthetic compaction messages. Ephemeral agents do not receive model system notices.
180
42
 
@@ -182,7 +44,7 @@ Use notices for model-specific operational guidance, not credentials or transien
182
44
 
183
45
  ## Applying and verifying changes
184
46
 
185
- Run `/reload` in an idle TUI session after changing `models.json` or `modelSystemNotices`. Reload resolves runtime content again, reapplies the active persona when its ID still exists, and reports model or configuration warnings. The TUI refuses to reload during an active turn.
47
+ Run `/reload` in an idle TUI session after refreshing the model catalog or changing `modelSystemNotices`. Reload resolves runtime content again, reapplies the active persona when its ID still exists, and reports model or configuration warnings. The TUI refuses to reload during an active turn.
186
48
 
187
49
  For a new local session, this command verifies that the intended persona resolves to the expected provider and model ID without starting the TUI:
188
50
 
@@ -192,17 +54,4 @@ tau --debug --persona release-coder
192
54
 
193
55
  Debug output shows effective persona IDs and selected model IDs, not every model metadata field. It also prints the full effective system prompt and project context, so treat its output accordingly. A small real request is the final check for endpoint, API compatibility, model availability, and credentials.
194
56
 
195
- Common warnings and failures include:
196
-
197
- - invalid JSON or a missing `providers` object;
198
- - an unknown provider;
199
- - an empty model ID, API, endpoint, or name;
200
- - non-string headers;
201
- - unsupported values in `input`;
202
- - non-positive or non-integer token limits;
203
- - negative cost rates or an incomplete tier;
204
- - a persona that references a provider with no bundled template;
205
- - a notice targeting a model that was never bundled or configured; and
206
- - a syntactically accepted API or compatibility setting that the runtime adapter cannot use.
207
-
208
- Warnings identify the exact `models.json` or `config.json` path. In a remote session, that path is in the execution environment. See [troubleshooting](troubleshooting.md) when the edited file and the warning path do not match.
57
+ Unknown providers, unresolved persona models, and notices targeting IDs absent from the catalog produce configuration warnings. In a remote session, warnings identify files on the session target. See [troubleshooting](troubleshooting.md).