@markusylisiurunen/tau 0.3.79 → 0.3.81

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 (323) hide show
  1. package/dist/code_mode/command.js +4 -16
  2. package/dist/code_mode/command.js.map +1 -1
  3. package/dist/code_mode/images.js +5 -6
  4. package/dist/code_mode/images.js.map +1 -1
  5. package/dist/code_mode/index.d.ts +1 -3
  6. package/dist/code_mode/index.js +1 -2
  7. package/dist/code_mode/index.js.map +1 -1
  8. package/dist/code_mode/runtime.d.ts +8 -4
  9. package/dist/code_mode/runtime.js +52 -63
  10. package/dist/code_mode/runtime.js.map +1 -1
  11. package/dist/core/agent/agent_runtime.js +68 -76
  12. package/dist/core/agent/agent_runtime.js.map +1 -1
  13. package/dist/core/auth/auth_manager.js +3 -7
  14. package/dist/core/auth/auth_manager.js.map +1 -1
  15. package/dist/core/auth/auth_messages.js +1 -1
  16. package/dist/core/auth/auth_messages.js.map +1 -1
  17. package/dist/core/auth/auth_storage.js +71 -7
  18. package/dist/core/auth/auth_storage.js.map +1 -1
  19. package/dist/core/auth/cli.js +8 -7
  20. package/dist/core/auth/cli.js.map +1 -1
  21. package/dist/core/auth/credential_store.js +88 -186
  22. package/dist/core/auth/credential_store.js.map +1 -1
  23. package/dist/core/auth/index.js +1 -1
  24. package/dist/core/auth/index.js.map +1 -1
  25. package/dist/core/auth/providers/openai_codex.js +51 -229
  26. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  27. package/dist/core/cli.js +1 -2
  28. package/dist/core/cli.js.map +1 -1
  29. package/dist/core/code_mode/bash.js +269 -0
  30. package/dist/core/code_mode/bash.js.map +1 -0
  31. package/dist/core/code_mode/capability.js +2 -0
  32. package/dist/core/code_mode/capability.js.map +1 -0
  33. package/dist/core/code_mode/history.js +62 -0
  34. package/dist/core/code_mode/history.js.map +1 -0
  35. package/dist/core/code_mode/mcp.js +121 -0
  36. package/dist/core/code_mode/mcp.js.map +1 -0
  37. package/dist/core/code_mode/models.js +256 -0
  38. package/dist/core/code_mode/models.js.map +1 -0
  39. package/dist/core/{tools → code_mode}/nook.js +13 -77
  40. package/dist/core/code_mode/nook.js.map +1 -0
  41. package/dist/core/code_mode/sdk.js +97 -0
  42. package/dist/core/code_mode/sdk.js.map +1 -0
  43. package/dist/core/{tools → code_mode}/web.js +31 -90
  44. package/dist/core/code_mode/web.js.map +1 -0
  45. package/dist/core/config/content_loader.js +30 -131
  46. package/dist/core/config/content_loader.js.map +1 -1
  47. package/dist/core/config/index.js.map +1 -1
  48. package/dist/core/config/paths.js +0 -1
  49. package/dist/core/config/paths.js.map +1 -1
  50. package/dist/core/config/runtime.js +3 -2
  51. package/dist/core/config/runtime.js.map +1 -1
  52. package/dist/core/config/runtime_config_snapshot.js +23 -9
  53. package/dist/core/config/runtime_config_snapshot.js.map +1 -1
  54. package/dist/core/config/schema.js +13 -69
  55. package/dist/core/config/schema.js.map +1 -1
  56. package/dist/core/config/skills_loader.js +6 -2
  57. package/dist/core/config/skills_loader.js.map +1 -1
  58. package/dist/core/debug.js +2 -17
  59. package/dist/core/debug.js.map +1 -1
  60. package/dist/core/index.js +3 -3
  61. package/dist/core/index.js.map +1 -1
  62. package/dist/core/models/catalog.js +2 -239
  63. package/dist/core/models/catalog.js.map +1 -1
  64. package/dist/core/models/openrouter.js +171 -0
  65. package/dist/core/models/openrouter.js.map +1 -0
  66. package/dist/core/models/openrouter_decisions.js +96 -0
  67. package/dist/core/models/openrouter_decisions.js.map +1 -0
  68. package/dist/core/models/openrouter_media.js +128 -0
  69. package/dist/core/models/openrouter_media.js.map +1 -0
  70. package/dist/core/personas.js +2 -15
  71. package/dist/core/personas.js.map +1 -1
  72. package/dist/core/runtime/agent_model.js +0 -3
  73. package/dist/core/runtime/agent_model.js.map +1 -1
  74. package/dist/core/runtime/chat_runtime.js +16 -13
  75. package/dist/core/runtime/chat_runtime.js.map +1 -1
  76. package/dist/core/runtime/runtime_bootstrap.js +12 -59
  77. package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
  78. package/dist/core/session/auto_compaction_archive.js +1 -1
  79. package/dist/core/session/auto_compaction_archive.js.map +1 -1
  80. package/dist/core/session/compaction.js +80 -505
  81. package/dist/core/session/compaction.js.map +1 -1
  82. package/dist/core/static/code_mode/history/documentation.md +95 -167
  83. package/dist/core/static/code_mode/mcp/documentation.md +144 -67
  84. package/dist/core/static/code_mode/nook/documentation.md +108 -169
  85. package/dist/core/static/code_mode/sandbox_runner.mjs +37 -20
  86. package/dist/core/static/code_mode/web/documentation.md +115 -213
  87. package/dist/core/static/tau_docs/client-tools.md +3 -3
  88. package/dist/core/static/tau_docs/config-reference.md +12 -37
  89. package/dist/core/static/tau_docs/configuration.md +3 -16
  90. package/dist/core/static/tau_docs/credentials.md +20 -50
  91. package/dist/core/static/tau_docs/history.md +2 -2
  92. package/dist/core/static/tau_docs/index.md +2 -1
  93. package/dist/core/static/tau_docs/manifest.json +1 -0
  94. package/dist/core/static/tau_docs/models.md +8 -159
  95. package/dist/core/static/tau_docs/node-sdk.md +5 -3
  96. package/dist/core/static/tau_docs/nook.md +2 -2
  97. package/dist/core/static/tau_docs/openrouter.md +165 -0
  98. package/dist/core/static/tau_docs/ownership-and-scope.md +3 -3
  99. package/dist/core/static/tau_docs/personas.md +11 -43
  100. package/dist/core/static/tau_docs/prompts-and-project-context.md +10 -44
  101. package/dist/core/static/tau_docs/remote-sessions.md +6 -7
  102. package/dist/core/static/tau_docs/security.md +7 -8
  103. package/dist/core/static/tau_docs/session-protocol-methods.md +0 -1
  104. package/dist/core/static/tau_docs/session-protocol.md +11 -9
  105. package/dist/core/static/tau_docs/sessions.md +10 -6
  106. package/dist/core/static/tau_docs/skills.md +8 -32
  107. package/dist/core/static/tau_docs/subagents.md +4 -3
  108. package/dist/core/static/tau_docs/telegram.md +2 -2
  109. package/dist/core/static/tau_docs/tools.md +37 -33
  110. package/dist/core/static/tau_docs/troubleshooting.md +11 -12
  111. package/dist/core/static/tau_docs/tui.md +9 -5
  112. package/dist/core/subagents/agent_supervisor.js +0 -1
  113. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  114. package/dist/core/subagents/registry.js +2 -1
  115. package/dist/core/subagents/registry.js.map +1 -1
  116. package/dist/core/subagents/types.js +2 -1
  117. package/dist/core/subagents/types.js.map +1 -1
  118. package/dist/core/telegram/adapter.js +1 -1
  119. package/dist/core/telegram/adapter.js.map +1 -1
  120. package/dist/core/tool/cli.js +10 -2
  121. package/dist/core/tool/cli.js.map +1 -1
  122. package/dist/core/tool/image_generate.js +2 -1
  123. package/dist/core/tool/image_generate.js.map +1 -1
  124. package/dist/core/tool/media.js +1 -49
  125. package/dist/core/tool/media.js.map +1 -1
  126. package/dist/core/tool/openrouter.js +159 -0
  127. package/dist/core/tool/openrouter.js.map +1 -0
  128. package/dist/core/tool/openrouter_input.js +77 -0
  129. package/dist/core/tool/openrouter_input.js.map +1 -0
  130. package/dist/core/tool/speech_generate.js +2 -1
  131. package/dist/core/tool/speech_generate.js.map +1 -1
  132. package/dist/core/tools/bash.js +2 -1
  133. package/dist/core/tools/bash.js.map +1 -1
  134. package/dist/core/tools/bash_jobs.js +34 -5
  135. package/dist/core/tools/bash_jobs.js.map +1 -1
  136. package/dist/core/tools/catalog.js +18 -33
  137. package/dist/core/tools/catalog.js.map +1 -1
  138. package/dist/core/tools/code.js +100 -0
  139. package/dist/core/tools/code.js.map +1 -0
  140. package/dist/core/tools/code_mode.js +9 -30
  141. package/dist/core/tools/code_mode.js.map +1 -1
  142. package/dist/core/tools/code_mode_worker.js +2 -2
  143. package/dist/core/tools/presentation.js +2 -1
  144. package/dist/core/tools/presentation.js.map +1 -1
  145. package/dist/core/tools/tau_docs.js +1 -0
  146. package/dist/core/tools/tau_docs.js.map +1 -1
  147. package/dist/core/tools/tool_names.js +5 -1
  148. package/dist/core/tools/tool_names.js.map +1 -1
  149. package/dist/core/utils/gemini_transcription.js +14 -15
  150. package/dist/core/utils/gemini_transcription.js.map +1 -1
  151. package/dist/core/utils/media_validation.js +50 -0
  152. package/dist/core/utils/media_validation.js.map +1 -0
  153. package/dist/core/utils/model_stream.js +47 -34
  154. package/dist/core/utils/model_stream.js.map +1 -1
  155. package/dist/core/utils/user_metadata.js +2 -27
  156. package/dist/core/utils/user_metadata.js.map +1 -1
  157. package/dist/core/version.js +2 -2
  158. package/dist/core/version.js.map +1 -1
  159. package/dist/diff_tool/app/dist/assets/{ada-C5qYipkI.js → ada-X3Y2mlq2.js} +1 -1
  160. package/dist/diff_tool/app/dist/assets/{ahk-CA9gdOdF.js → ahk-DwADkxyd.js} +1 -1
  161. package/dist/diff_tool/app/dist/assets/{angular-html-CnO8qept.js → angular-html-BbLgbIhq.js} +1 -1
  162. package/dist/diff_tool/app/dist/assets/{angular-ts-DPXUio9Z.js → angular-ts-DXk17TRM.js} +1 -1
  163. package/dist/diff_tool/app/dist/assets/{apl-X8YsymsQ.js → apl-BsvksCXR.js} +1 -1
  164. package/dist/diff_tool/app/dist/assets/{astro-BQ9k8AQ0.js → astro-DH775E4V.js} +1 -1
  165. package/dist/diff_tool/app/dist/assets/beancount-C2IN4Vk8.js +1 -0
  166. package/dist/diff_tool/app/dist/assets/{blade-DZ1LYIzB.js → blade-Ck99Rm59.js} +1 -1
  167. package/dist/diff_tool/app/dist/assets/{c-VLTwNh7z.js → c-DJpHqu5J.js} +1 -1
  168. package/dist/diff_tool/app/dist/assets/{chapel-5s-sGN8D.js → chapel-Owff0Csy.js} +1 -1
  169. package/dist/diff_tool/app/dist/assets/{cobol-C9RzwrVu.js → cobol-Cv2gZuhO.js} +1 -1
  170. package/dist/diff_tool/app/dist/assets/{coffee-BHvjZ343.js → coffee-Bji0YCf_.js} +1 -1
  171. package/dist/diff_tool/app/dist/assets/coq-CGaSfhwR.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/{cpp-CBTVXbBp.js → cpp-DTjA_yFF.js} +1 -1
  173. package/dist/diff_tool/app/dist/assets/{crystal-DQJua4y4.js → crystal-Dd00NOeb.js} +1 -1
  174. package/dist/diff_tool/app/dist/assets/csharp-dmMxLVLW.js +1 -0
  175. package/dist/diff_tool/app/dist/assets/css-D44TN1V6.js +1 -0
  176. package/dist/diff_tool/app/dist/assets/dart-CHZY9Xhz.js +1 -0
  177. package/dist/diff_tool/app/dist/assets/dotenv-CuH5my32.js +1 -0
  178. package/dist/diff_tool/app/dist/assets/{edge-BmdmXGH4.js → edge-CVmGSi2m.js} +1 -1
  179. package/dist/diff_tool/app/dist/assets/{elixir-oiOLs98L.js → elixir-B8Mq7no2.js} +1 -1
  180. package/dist/diff_tool/app/dist/assets/{elm-BgYuiU4E.js → elm-CXS0I3Z2.js} +1 -1
  181. package/dist/diff_tool/app/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  182. package/dist/diff_tool/app/dist/assets/{erb-CvFrXpyY.js → erb-B9oDKaUo.js} +1 -1
  183. package/dist/diff_tool/app/dist/assets/{git-rebase-D3Zo1BLH.js → git-rebase-DT-YFebH.js} +1 -1
  184. package/dist/diff_tool/app/dist/assets/{glimmer-js-B4-8E3lJ.js → glimmer-js-s0DXlNjq.js} +1 -1
  185. package/dist/diff_tool/app/dist/assets/{glimmer-ts-CtKkD0t_.js → glimmer-ts-QgEB5S2z.js} +1 -1
  186. package/dist/diff_tool/app/dist/assets/{glsl-BAqforx_.js → glsl-NA0icwbY.js} +1 -1
  187. package/dist/diff_tool/app/dist/assets/gn-CAXYAgV-.js +1 -0
  188. package/dist/diff_tool/app/dist/assets/{graphql-DuE1RMyL.js → graphql-0_dOlfV0.js} +1 -1
  189. package/dist/diff_tool/app/dist/assets/{hack-CHBcXjz1.js → hack-D-mr7l1l.js} +1 -1
  190. package/dist/diff_tool/app/dist/assets/{haml-DAs2z3tD.js → haml-B0-oQmz7.js} +1 -1
  191. package/dist/diff_tool/app/dist/assets/handlebars-Yq9bXpWN.js +1 -0
  192. package/dist/diff_tool/app/dist/assets/{html-D5co0BLD.js → html-B8bMmdRK.js} +1 -1
  193. package/dist/diff_tool/app/dist/assets/{html-derivative-BZaWEmAT.js → html-derivative-BpxSlQb_.js} +1 -1
  194. package/dist/diff_tool/app/dist/assets/{http-Cii5MjJE.js → http-hS_53mxt.js} +1 -1
  195. package/dist/diff_tool/app/dist/assets/{hurl-Bur-XdJO.js → hurl-B2ST1kwl.js} +1 -1
  196. package/dist/diff_tool/app/dist/assets/index-CBT_sNIz.js +340 -0
  197. package/dist/diff_tool/app/dist/assets/{java-DN39wI4w.js → java-D4mj0lZJ.js} +1 -1
  198. package/dist/diff_tool/app/dist/assets/{javascript-VUReF1H4.js → javascript-wC7rrKiV.js} +1 -1
  199. package/dist/diff_tool/app/dist/assets/{jinja-BcrfV1JB.js → jinja-DbQ3o87F.js} +1 -1
  200. package/dist/diff_tool/app/dist/assets/{jison-Bez5Mtmy.js → jison-CrE9FdvP.js} +1 -1
  201. package/dist/diff_tool/app/dist/assets/{json-ChV8m0Le.js → json-xjicDyWN.js} +1 -1
  202. package/dist/diff_tool/app/dist/assets/{jsx-D0SXNtM0.js → jsx-m28lXojQ.js} +1 -1
  203. package/dist/diff_tool/app/dist/assets/{julia-DvhpcBwG.js → julia-19xkOmop.js} +1 -1
  204. package/dist/diff_tool/app/dist/assets/{just-BGwe8S6x.js → just-Cf7OorTr.js} +1 -1
  205. package/dist/diff_tool/app/dist/assets/latex-DDb7GQOy.js +1 -0
  206. package/dist/diff_tool/app/dist/assets/{liquid-UdnqDjKz.js → liquid-DHOuQ0rf.js} +1 -1
  207. package/dist/diff_tool/app/dist/assets/{lua-CjDHeHEr.js → lua-BGyIvonw.js} +1 -1
  208. package/dist/diff_tool/app/dist/assets/luau-VGWVLoqX.js +1 -0
  209. package/dist/diff_tool/app/dist/assets/marko-DB5OqI1C.js +1 -0
  210. package/dist/diff_tool/app/dist/assets/{mdc-BOLj6Oyq.js → mdc-DTyNMupO.js} +1 -1
  211. package/dist/diff_tool/app/dist/assets/monokai-BscAjiQZ.js +1 -0
  212. package/dist/diff_tool/app/dist/assets/moonbit-D9W784E_.js +1 -0
  213. package/dist/diff_tool/app/dist/assets/nextflow-CSgcYZcx.js +1 -0
  214. package/dist/diff_tool/app/dist/assets/{nextflow-groovy-DJMQeKeT.js → nextflow-groovy-D7IRt6Pp.js} +1 -1
  215. package/dist/diff_tool/app/dist/assets/{nginx-5r5xPc2T.js → nginx-DfF0fMYD.js} +1 -1
  216. package/dist/diff_tool/app/dist/assets/{nim-9exKQYMz.js → nim-BbwsXuZD.js} +1 -1
  217. package/dist/diff_tool/app/dist/assets/nushell--0fT3PI1.js +1 -0
  218. package/dist/diff_tool/app/dist/assets/one-dark-pro-C6YyR8OD.js +1 -0
  219. package/dist/diff_tool/app/dist/assets/{org-B2fpAlbt.js → org-BkOBBl1f.js} +1 -1
  220. package/dist/diff_tool/app/dist/assets/{perl-DV2fcwyY.js → perl-BTXTOl4K.js} +1 -1
  221. package/dist/diff_tool/app/dist/assets/php-DIMVQWiA.js +1 -0
  222. package/dist/diff_tool/app/dist/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +1 -1
  223. package/dist/diff_tool/app/dist/assets/{pug-DuKcQxFj.js → pug-B_nrb4dJ.js} +1 -1
  224. package/dist/diff_tool/app/dist/assets/{qml-C16b4SYx.js → qml-1PXi8G8Z.js} +1 -1
  225. package/dist/diff_tool/app/dist/assets/{r-B1ZldnJf.js → r-CJrAkc2Z.js} +1 -1
  226. package/dist/diff_tool/app/dist/assets/{razor-TYmslaAB.js → razor-DgPUftNd.js} +1 -1
  227. package/dist/diff_tool/app/dist/assets/red-CYlAq2b0.js +1 -0
  228. package/dist/diff_tool/app/dist/assets/{regexp-dWCffmDD.js → regexp-C2hS8XvL.js} +1 -1
  229. package/dist/diff_tool/app/dist/assets/{rst-DEkLr2YR.js → rst-CDouhKnc.js} +1 -1
  230. package/dist/diff_tool/app/dist/assets/{ruby-BJnJzr4u.js → ruby-CAjKW1uO.js} +1 -1
  231. package/dist/diff_tool/app/dist/assets/rust-DpiIf5JO.js +1 -0
  232. package/dist/diff_tool/app/dist/assets/{sas-DeRsDbUE.js → sas-qAHkHLc1.js} +1 -1
  233. package/dist/diff_tool/app/dist/assets/{scss-SGV_CwKm.js → scss-Bfx2Ydid.js} +1 -1
  234. package/dist/diff_tool/app/dist/assets/{shellscript-BI7khmmR.js → shellscript-Bu76R8y2.js} +1 -1
  235. package/dist/diff_tool/app/dist/assets/{shellsession-Nupw_Vvw.js → shellsession-BU8BL0oL.js} +1 -1
  236. package/dist/diff_tool/app/dist/assets/solarized-dark-b97czJOk.js +1 -0
  237. package/dist/diff_tool/app/dist/assets/solarized-light-DFPxpIYQ.js +1 -0
  238. package/dist/diff_tool/app/dist/assets/{soy-B96cBzxv.js → soy-FRl8ozP-.js} +1 -1
  239. package/dist/diff_tool/app/dist/assets/sql-BacQgsEs.js +1 -0
  240. package/dist/diff_tool/app/dist/assets/{stata-Dnq48cE6.js → stata-B9kkG-ET.js} +1 -1
  241. package/dist/diff_tool/app/dist/assets/{surrealql-D6lw4TiD.js → surrealql-qvETr7iY.js} +1 -1
  242. package/dist/diff_tool/app/dist/assets/{svelte-ChVoq9tB.js → svelte-B0z1MgHc.js} +1 -1
  243. package/dist/diff_tool/app/dist/assets/{templ-Dh1EXuHD.js → templ-DTnPshKb.js} +1 -1
  244. package/dist/diff_tool/app/dist/assets/{tex-KTYusNFe.js → tex-Cosab9_H.js} +1 -1
  245. package/dist/diff_tool/app/dist/assets/{ts-tags-DC2RU1_R.js → ts-tags-DNYvLFUH.js} +1 -1
  246. package/dist/diff_tool/app/dist/assets/{tsx-DtIM39Jy.js → tsx-Dstq6j1a.js} +1 -1
  247. package/dist/diff_tool/app/dist/assets/twig-BzqZdwaX.js +1 -0
  248. package/dist/diff_tool/app/dist/assets/{typescript-BGAE5iuw.js → typescript-YOQ_oE25.js} +1 -1
  249. package/dist/diff_tool/app/dist/assets/typespec-BGhR2SqG.js +1 -0
  250. package/dist/diff_tool/app/dist/assets/{typst-nWoGZ22y.js → typst-DTffwfpc.js} +1 -1
  251. package/dist/diff_tool/app/dist/assets/{vue-iyHf-l4z.js → vue-D4OMj_C5.js} +1 -1
  252. package/dist/diff_tool/app/dist/assets/{vue-html-prNdIjLu.js → vue-html-kT4WrHGK.js} +1 -1
  253. package/dist/diff_tool/app/dist/assets/{vue-vine-KSSlnVeg.js → vue-vine-CxeapeMO.js} +1 -1
  254. package/dist/diff_tool/app/dist/assets/{xml-DdCC83Xd.js → xml-DWVpuurg.js} +1 -1
  255. package/dist/diff_tool/app/dist/assets/{xsl-DSqZxsez.js → xsl-C0ciup5a.js} +1 -1
  256. package/dist/diff_tool/app/dist/assets/{yaml-CZcBUWvf.js → yaml-98Fvyfpc.js} +1 -1
  257. package/dist/diff_tool/app/dist/index.html +1 -1
  258. package/dist/execution/execution_environment.js.map +1 -1
  259. package/dist/execution/fly_sprite_execution_environment.js +5 -10
  260. package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
  261. package/dist/execution/tool_backend_execution_environment.js +0 -2
  262. package/dist/execution/tool_backend_execution_environment.js.map +1 -1
  263. package/dist/host/execution_runtime.js +5 -4
  264. package/dist/host/execution_runtime.js.map +1 -1
  265. package/dist/host/hosted_ephemeral_agent_session.js +0 -2
  266. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  267. package/dist/host/local_session_host.js +15 -31
  268. package/dist/host/local_session_host.js.map +1 -1
  269. package/dist/main.js +14 -29
  270. package/dist/main.js.map +1 -1
  271. package/dist/nook/README.md +1 -1
  272. package/dist/protocol/session_protocol.d.ts +3 -6
  273. package/dist/protocol/session_protocol.js +3 -6
  274. package/dist/protocol/session_protocol.js.map +1 -1
  275. package/dist/sdk/code_mode.js +11 -17
  276. package/dist/sdk/code_mode.js.map +1 -1
  277. package/dist/sdk/index.d.ts +1 -1
  278. package/dist/sdk/index.js +1 -1
  279. package/dist/sdk/index.js.map +1 -1
  280. package/dist/sdk/local_client.js +3 -3
  281. package/dist/sdk/local_client.js.map +1 -1
  282. package/dist/store/session_snapshot_migrations.js +28 -1
  283. package/dist/store/session_snapshot_migrations.js.map +1 -1
  284. package/dist/tui/session_chat_app.js +2 -4
  285. package/dist/tui/session_chat_app.js.map +1 -1
  286. package/dist/tui/session_chat_controller.js +105 -56
  287. package/dist/tui/session_chat_controller.js.map +1 -1
  288. package/package.json +9 -9
  289. package/dist/code_mode/files.d.ts +0 -47
  290. package/dist/code_mode/files.js +0 -296
  291. package/dist/code_mode/files.js.map +0 -1
  292. package/dist/core/tools/history.js +0 -118
  293. package/dist/core/tools/history.js.map +0 -1
  294. package/dist/core/tools/mcp.js +0 -167
  295. package/dist/core/tools/mcp.js.map +0 -1
  296. package/dist/core/tools/nook.js.map +0 -1
  297. package/dist/core/tools/web.js.map +0 -1
  298. package/dist/diff_tool/app/dist/assets/beancount-D-usSTwE.js +0 -1
  299. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +0 -1
  300. package/dist/diff_tool/app/dist/assets/csharp-oqKa8noW.js +0 -1
  301. package/dist/diff_tool/app/dist/assets/css-BQflXFb6.js +0 -1
  302. package/dist/diff_tool/app/dist/assets/dart-CnvKMtbv.js +0 -1
  303. package/dist/diff_tool/app/dist/assets/dotenv-_5a1GRtc.js +0 -1
  304. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +0 -1
  305. package/dist/diff_tool/app/dist/assets/gn-ilITqXS6.js +0 -1
  306. package/dist/diff_tool/app/dist/assets/handlebars-CfAla6QK.js +0 -1
  307. package/dist/diff_tool/app/dist/assets/index-CZUi_I-p.js +0 -340
  308. package/dist/diff_tool/app/dist/assets/latex-pWSag83P.js +0 -1
  309. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +0 -1
  310. package/dist/diff_tool/app/dist/assets/marko-yLX6iW68.js +0 -1
  311. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +0 -1
  312. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +0 -1
  313. package/dist/diff_tool/app/dist/assets/nextflow-BJtWHP5T.js +0 -1
  314. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +0 -1
  315. package/dist/diff_tool/app/dist/assets/one-dark-pro-CLwyXe_n.js +0 -1
  316. package/dist/diff_tool/app/dist/assets/php-D-AthX_E.js +0 -1
  317. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +0 -1
  318. package/dist/diff_tool/app/dist/assets/rust-Cfkwpbl8.js +0 -1
  319. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +0 -1
  320. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +0 -1
  321. package/dist/diff_tool/app/dist/assets/sql-CsIdKfaO.js +0 -1
  322. package/dist/diff_tool/app/dist/assets/twig-C6D_TA3n.js +0 -1
  323. package/dist/diff_tool/app/dist/assets/typespec-BRdr0IET.js +0 -1
@@ -1,296 +0,0 @@
1
- import { CODE_MODE_MAX_BRIDGE_PAYLOAD_BYTES } from "../core/tools/code_mode_worker.js";
2
- export const TAU_CODE_MODE_MAX_FILES = 128;
3
- export const TAU_CODE_MODE_MAX_TOTAL_FILE_BYTES = 64 * 1024 * 1024;
4
- const FILE_COMMAND_MAX_CAPTURE_BYTES = 8 * 1024 * 1024;
5
- export function createTauCodeModeFilesApi(options) {
6
- if (!options.agentId)
7
- throw new Error("code-mode files agentId must not be empty");
8
- let operationQueue = Promise.resolve();
9
- const execute = (request, signal) => {
10
- const operation = operationQueue.then(() => executeScratchFileRequest(options.adapter, request, signal));
11
- operationQueue = operation.then(() => undefined, () => undefined);
12
- return operation;
13
- };
14
- return {
15
- read: async (args, context) => {
16
- const [name] = parseArguments(args, ["string"], "files.read");
17
- return await execute({ operation: "read", agentId: options.agentId, name }, context.signal);
18
- },
19
- write: async (args, context) => {
20
- const [name, content] = parseArguments(args, ["string", "string"], "files.write");
21
- return await execute({
22
- operation: "write",
23
- agentId: options.agentId,
24
- name,
25
- content,
26
- }, context.signal);
27
- },
28
- list: async (args, context) => {
29
- parseArguments(args, [], "files.list");
30
- return await execute({ operation: "list", agentId: options.agentId }, context.signal);
31
- },
32
- remove: async (args, context) => {
33
- const [name] = parseArguments(args, ["string"], "files.remove");
34
- return await execute({
35
- operation: "remove",
36
- agentId: options.agentId,
37
- name,
38
- }, context.signal);
39
- },
40
- };
41
- }
42
- function parseArguments(args, types, method) {
43
- if (args.length !== types.length || args.some((value) => typeof value !== "string")) {
44
- const signature = types.map((type, index) => `${index === 0 ? "name" : "content"}: ${type}`);
45
- throw new TypeError(`${method} expects (${signature.join(", ")})`);
46
- }
47
- return args;
48
- }
49
- async function executeScratchFileRequest(adapter, request, signal) {
50
- const result = await adapter.runNodeScript(SCRATCH_FILE_SCRIPT, {
51
- input: JSON.stringify(request),
52
- signal,
53
- maxCaptureBytes: FILE_COMMAND_MAX_CAPTURE_BYTES,
54
- });
55
- if (result.exitCode !== 0) {
56
- throw new Error(result.stderr.trim() || "code-mode scratch file operation failed");
57
- }
58
- let response;
59
- try {
60
- response = JSON.parse(result.stdout);
61
- }
62
- catch {
63
- throw new Error("code-mode scratch file operation returned invalid JSON");
64
- }
65
- if (!isScratchFileResponse(response)) {
66
- throw new Error("code-mode scratch file operation returned an invalid response");
67
- }
68
- if (!response.ok) {
69
- const error = new Error(response.error.message);
70
- error.name = response.error.name;
71
- throw error;
72
- }
73
- return response.value;
74
- }
75
- function isScratchFileResponse(value) {
76
- if (typeof value !== "object" || value === null || !("ok" in value))
77
- return false;
78
- const response = value;
79
- if (response.ok === true)
80
- return "value" in response;
81
- if (response.ok !== false || typeof response.error !== "object" || response.error === null) {
82
- return false;
83
- }
84
- const error = response.error;
85
- return typeof error.name === "string" && typeof error.message === "string";
86
- }
87
- const SCRATCH_FILE_SCRIPT = String.raw `
88
- const {
89
- closeSync,
90
- constants,
91
- fstatSync,
92
- fsyncSync,
93
- lstatSync,
94
- mkdirSync,
95
- openSync,
96
- readFileSync,
97
- readdirSync,
98
- renameSync,
99
- unlinkSync,
100
- writeFileSync,
101
- } = require("node:fs");
102
- const { createHash, randomUUID } = require("node:crypto");
103
- const { tmpdir } = require("node:os");
104
- const { join } = require("node:path");
105
- const { TextDecoder } = require("node:util");
106
-
107
- const MAX_NAME_BYTES = 255;
108
- const MAX_OPERATION_BYTES = ${CODE_MODE_MAX_BRIDGE_PAYLOAD_BYTES};
109
- const MAX_FILES = ${TAU_CODE_MODE_MAX_FILES};
110
- const MAX_TOTAL_BYTES = ${TAU_CODE_MODE_MAX_TOTAL_FILE_BYTES};
111
-
112
- function fail(message) {
113
- throw new Error(message);
114
- }
115
-
116
- function validateName(name) {
117
- const bytes = Buffer.byteLength(name, "utf8");
118
- if (
119
- bytes === 0 ||
120
- bytes > MAX_NAME_BYTES ||
121
- name === "." ||
122
- name === ".." ||
123
- name.includes("/") ||
124
- name.includes("\\") ||
125
- name.includes("\0")
126
- ) {
127
- fail("scratch file name must be a UTF-8 basename between 1 and 255 bytes");
128
- }
129
- }
130
-
131
- function ensureOwnedDirectory(path, label) {
132
- try {
133
- mkdirSync(path, { mode: 0o700 });
134
- } catch (error) {
135
- if (error?.code !== "EEXIST") throw error;
136
- }
137
- const stats = lstatSync(path);
138
- if (stats.isSymbolicLink() || !stats.isDirectory()) {
139
- fail(label + " path is not a directory");
140
- }
141
- if (typeof process.getuid !== "function" || stats.uid !== process.getuid()) {
142
- fail(label + " directory is not owned by the current user");
143
- }
144
- if ((stats.mode & 0o077) !== 0) {
145
- fail(label + " directory permissions must not allow group or other access");
146
- }
147
- return path;
148
- }
149
-
150
- function getRoot(agentId) {
151
- if (typeof agentId !== "string" || agentId.length === 0) fail("agentId must not be empty");
152
- const scope = createHash("sha256").update(agentId).digest("hex").slice(0, 32);
153
- return ensureOwnedDirectory(join(tmpdir(), "tau-code-mode-files-" + scope), "code-mode scratch");
154
- }
155
-
156
- function getStagingRoot(root) {
157
- return ensureOwnedDirectory(root + "-staging", "code-mode scratch staging");
158
- }
159
-
160
- function getFilePath(root, name) {
161
- validateName(name);
162
- return join(root, name);
163
- }
164
-
165
- function getExistingFile(path) {
166
- let stats;
167
- try {
168
- stats = lstatSync(path);
169
- } catch (error) {
170
- if (error?.code === "ENOENT") return undefined;
171
- throw error;
172
- }
173
- if (stats.isSymbolicLink() || !stats.isFile()) fail("scratch path is not a regular file");
174
- return stats;
175
- }
176
-
177
- function listFiles(root) {
178
- const files = [];
179
- for (const name of readdirSync(root)) {
180
- const path = join(root, name);
181
- const stats = lstatSync(path);
182
- if (stats.isSymbolicLink() || !stats.isFile()) continue;
183
- files.push({ name, path, bytes: stats.size });
184
- }
185
- files.sort((left, right) => left.name.localeCompare(right.name));
186
- return files;
187
- }
188
-
189
- function read(root, name) {
190
- const path = getFilePath(root, name);
191
- const descriptor = openSync(
192
- path,
193
- constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK,
194
- );
195
- try {
196
- const stats = fstatSync(descriptor);
197
- if (!stats.isFile()) fail("scratch path is not a regular file");
198
- if (stats.size > MAX_OPERATION_BYTES) {
199
- fail("scratch file exceeds the 1 MiB read limit");
200
- }
201
- const content = readFileSync(descriptor);
202
- return new TextDecoder("utf-8", { fatal: true }).decode(content);
203
- } finally {
204
- closeSync(descriptor);
205
- }
206
- }
207
-
208
- function write(root, name, content) {
209
- if (typeof content !== "string") fail("scratch file content must be a string");
210
- const bytes = Buffer.byteLength(content, "utf8");
211
- if (bytes > MAX_OPERATION_BYTES) fail("scratch file exceeds the 1 MiB write limit");
212
-
213
- const path = getFilePath(root, name);
214
- const existing = getExistingFile(path);
215
- const files = listFiles(root);
216
- const totalBytes = files.reduce((total, file) => total + file.bytes, 0);
217
- const resultingFiles = files.length + (existing ? 0 : 1);
218
- const resultingBytes = totalBytes - (existing?.size ?? 0) + bytes;
219
- if (resultingFiles > MAX_FILES) fail("scratch directory exceeds the 128-file limit");
220
- if (resultingBytes > MAX_TOTAL_BYTES) fail("scratch directory exceeds the 64 MiB total limit");
221
-
222
- const temporaryPath = join(getStagingRoot(root), ".tau-write-" + randomUUID());
223
- let descriptor;
224
- try {
225
- descriptor = openSync(
226
- temporaryPath,
227
- constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW,
228
- 0o600,
229
- );
230
- writeFileSync(descriptor, content, "utf8");
231
- fsyncSync(descriptor);
232
- closeSync(descriptor);
233
- descriptor = undefined;
234
- renameSync(temporaryPath, path);
235
- } finally {
236
- if (descriptor !== undefined) closeSync(descriptor);
237
- try {
238
- unlinkSync(temporaryPath);
239
- } catch (error) {
240
- if (error?.code !== "ENOENT") throw error;
241
- }
242
- }
243
- return { path, bytes };
244
- }
245
-
246
- function list(root) {
247
- const allFiles = listFiles(root);
248
- return {
249
- files: allFiles,
250
- totalFiles: allFiles.length,
251
- totalBytes: allFiles.reduce((total, file) => total + file.bytes, 0),
252
- };
253
- }
254
-
255
- function remove(root, name) {
256
- const path = getFilePath(root, name);
257
- if (!getExistingFile(path)) fail("scratch file does not exist");
258
- unlinkSync(path);
259
- return { path };
260
- }
261
-
262
- function execute(request) {
263
- if (typeof request !== "object" || request === null || typeof request.operation !== "string") {
264
- fail("invalid scratch file request");
265
- }
266
- const root = getRoot(request.agentId);
267
- switch (request.operation) {
268
- case "read":
269
- return read(root, request.name);
270
- case "write":
271
- return write(root, request.name, request.content);
272
- case "list":
273
- return list(root);
274
- case "remove":
275
- return remove(root, request.name);
276
- default:
277
- fail("unsupported scratch file operation");
278
- }
279
- }
280
-
281
- try {
282
- const request = JSON.parse(readFileSync(0, "utf8"));
283
- process.stdout.write(JSON.stringify({ ok: true, value: execute(request) }));
284
- } catch (error) {
285
- process.stdout.write(
286
- JSON.stringify({
287
- ok: false,
288
- error: {
289
- name: error instanceof Error ? error.name : "Error",
290
- message: error instanceof Error ? error.message : String(error),
291
- },
292
- }),
293
- );
294
- }
295
- `;
296
- //# sourceMappingURL=files.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/code_mode/files.ts"],"names":[],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { Type } from "typebox";
3
- import { z } from "zod";
4
- import { formatZodError } from "../utils/zod.js";
5
- import { buildCodeModeToolDescription, createCodeModeToolDefinition, executeInternalCodeMode, } from "./code_mode.js";
6
- import { TOOL_NAME_HISTORY } from "./tool_names.js";
7
- const HISTORY_CODE_MODE_TIMEOUT_MS = 60_000;
8
- const HISTORY_DESCRIPTION = buildCodeModeToolDescription({
9
- sdkGlobal: "history",
10
- introduction: [
11
- "Run a one-shot JavaScript program to search and read durable transcripts from the configured history collection.",
12
- "Use this tool only when the user or other active instructions directly ask you to reference, search, or read historical transcripts; do not invoke it merely because prior sessions might be relevant.",
13
- "For a known historical session without a clear lookup key, a bounded chronological overview is one way to identify entries worth inspecting in detail.",
14
- "When a remote session descriptor includes webUrl, return it when the user asks for a conversation link.",
15
- "The tool is read-only and has global visibility across repositories and execution environments.",
16
- ],
17
- });
18
- export const HISTORY_TOOL = {
19
- name: TOOL_NAME_HISTORY,
20
- description: HISTORY_DESCRIPTION,
21
- parameters: Type.Object({
22
- code: Type.String({
23
- description: "JavaScript source to execute. Use console output for text and await image(block) to return images.",
24
- }),
25
- }, { additionalProperties: false }),
26
- };
27
- const historyArgsSchema = z
28
- .object({ code: z.string().trim().min(1, "must not be empty.") })
29
- .strict();
30
- const attributeFilterSchema = z.union([
31
- z.string().max(1_024),
32
- z.object({ contains: z.string().min(1).max(1_024) }).strict(),
33
- ]);
34
- const attributeFiltersSchema = z
35
- .record(z.string().min(1).max(64), attributeFilterSchema)
36
- .refine((attributes) => Object.keys(attributes).length <= 32);
37
- const searchInputSchema = z
38
- .object({
39
- query: z.string().trim().min(1).max(1_000).optional(),
40
- attributes: attributeFiltersSchema.optional(),
41
- limit: z.number().int().min(1).max(75).default(10),
42
- cursor: z.string().min(1).max(2_048).optional(),
43
- })
44
- .strict();
45
- const readInputSchema = z
46
- .object({
47
- sessionId: z.string().trim().min(1).max(256),
48
- limit: z.number().int().min(1).max(100).default(50),
49
- cursor: z.string().min(1).max(2_048).optional(),
50
- })
51
- .strict();
52
- const documentation = readFileSync(new URL("../static/code_mode/history/documentation.md", import.meta.url), "utf8");
53
- function parseHistoryArguments(raw) {
54
- const rawCode = typeof raw === "object" && raw !== null && typeof raw.code === "string"
55
- ? raw.code
56
- : "";
57
- const subject = rawCode
58
- .split(/\r?\n/)
59
- .map((line) => line.trim())
60
- .find(Boolean) ?? "(invalid code)";
61
- const parsed = historyArgsSchema.safeParse(raw);
62
- if (!parsed.success) {
63
- return {
64
- ok: false,
65
- error: formatZodError(parsed.error),
66
- code: rawCode,
67
- subject,
68
- };
69
- }
70
- return {
71
- ok: true,
72
- args: parsed.data,
73
- code: parsed.data.code,
74
- subject,
75
- };
76
- }
77
- async function handleHistoryRequest(method, args, history, signal) {
78
- if (args.length !== 1) {
79
- throw new Error(`history.${method} expects one options object`);
80
- }
81
- if (method === "search") {
82
- const parsed = searchInputSchema.safeParse(args[0] ?? {});
83
- if (!parsed.success) {
84
- throw new Error(`Invalid history.search options: ${formatZodError(parsed.error)}`);
85
- }
86
- return await history.search(parsed.data, signal);
87
- }
88
- if (method === "read") {
89
- const parsed = readInputSchema.safeParse(args[0]);
90
- if (!parsed.success) {
91
- throw new Error(`Invalid history.read options: ${formatZodError(parsed.error)}`);
92
- }
93
- return await history.read(parsed.data, signal);
94
- }
95
- throw new Error(`unsupported history method '${method}'`);
96
- }
97
- export function createHistoryToolDefinition(backend, history) {
98
- const implementation = {
99
- schema: HISTORY_TOOL,
100
- timeoutMs: HISTORY_CODE_MODE_TIMEOUT_MS,
101
- parseArguments: parseHistoryArguments,
102
- execute: async ({ code, agentId, signal, backend: executionBackend }) => executeInternalCodeMode({
103
- name: TOOL_NAME_HISTORY,
104
- documentation,
105
- api: {
106
- search: (args, context) => handleHistoryRequest("search", args, history, context.signal),
107
- read: (args, context) => handleHistoryRequest("read", args, history, context.signal),
108
- },
109
- code,
110
- agentId,
111
- backend: executionBackend,
112
- signal,
113
- timeoutMs: HISTORY_CODE_MODE_TIMEOUT_MS,
114
- }),
115
- };
116
- return createCodeModeToolDefinition(backend, implementation);
117
- }
118
- //# sourceMappingURL=history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/core/tools/history.ts"],"names":[],"mappings":"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"}
@@ -1,167 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { Type } from "typebox";
3
- import { z } from "zod";
4
- import { searchMcpTools } from "../mcp/search.js";
5
- import { formatZodError } from "../utils/zod.js";
6
- import { buildCodeModeToolDescription, createCodeModeToolDefinition, executeInternalCodeMode, } from "./code_mode.js";
7
- import { TOOL_NAME_MCP } from "./tool_names.js";
8
- export const MCP_TOOL = {
9
- name: TOOL_NAME_MCP,
10
- description: buildCodeModeToolDescription({
11
- sdkGlobal: "mcp",
12
- introduction: [
13
- "Run a one-shot JavaScript program to discover and call tools and read resources offered by configured MCP servers.",
14
- "Use this for connected services relevant to the user's task.",
15
- "Read a tool's description and input schema before calling it; do not guess names or arguments.",
16
- "Tool calls can have side effects and are not undone if the program fails or is interrupted.",
17
- ],
18
- }),
19
- parameters: Type.Object({
20
- code: Type.String({
21
- description: "JavaScript source to execute. Use console output for text and await image(block) to return images.",
22
- }),
23
- }, { additionalProperties: false }),
24
- };
25
- const argsSchema = z.object({ code: z.string().trim().min(1) }).strict();
26
- const nameSchema = z.string().trim().min(1).max(256);
27
- const listOptionsSchema = z
28
- .object({
29
- query: z.string().trim().min(1).max(1_000).optional(),
30
- limit: z.number().int().min(1).max(100).default(20),
31
- offset: z.number().int().nonnegative().default(0),
32
- })
33
- .strict();
34
- const documentation = readFileSync(new URL("../static/code_mode/mcp/documentation.md", import.meta.url), "utf8");
35
- function parseMethodArgs(method, args, schema) {
36
- const parsed = schema.safeParse(args);
37
- if (!parsed.success)
38
- throw new Error(`Invalid mcp.${method} arguments: ${formatZodError(parsed.error)}`);
39
- return parsed.data;
40
- }
41
- export function createMcpToolDefinition(backend, manager) {
42
- return createCodeModeToolDefinition(backend, {
43
- schema: MCP_TOOL,
44
- timeoutMs: 900_000,
45
- parseArguments(raw) {
46
- const code = typeof raw === "object" &&
47
- raw !== null &&
48
- typeof raw.code === "string"
49
- ? raw.code
50
- : "";
51
- const subject = code
52
- .split(/\r?\n/)
53
- .map((line) => line.trim())
54
- .find(Boolean) ?? "(invalid code)";
55
- const parsed = argsSchema.safeParse(raw);
56
- return parsed.success
57
- ? { ok: true, args: parsed.data, code: parsed.data.code, subject }
58
- : { ok: false, error: formatZodError(parsed.error), code, subject };
59
- },
60
- execute: async ({ code, agentId, signal }) => await executeInternalCodeMode({
61
- name: "mcp",
62
- documentation,
63
- code,
64
- agentId,
65
- backend,
66
- signal,
67
- timeoutMs: 900_000,
68
- api: {
69
- listServers: async (args) => {
70
- parseMethodArgs("listServers", args, z.tuple([]));
71
- return manager.listServers();
72
- },
73
- searchTools: async (args, context) => {
74
- const [query, options] = parseMethodArgs("searchTools", args, z.tuple([
75
- z.string().trim().min(1).max(1_000),
76
- z
77
- .object({
78
- server: nameSchema.optional(),
79
- limit: z.number().int().min(1).max(100).default(8),
80
- })
81
- .strict()
82
- .optional(),
83
- ]));
84
- return await searchMcpTools(manager, query, options ?? { limit: 8 }, context.signal);
85
- },
86
- listTools: async (args, context) => {
87
- const [server, options] = parseMethodArgs("listTools", args, z.tuple([nameSchema, listOptionsSchema.optional()]));
88
- const { query, limit, offset } = options ?? listOptionsSchema.parse({});
89
- const catalog = await manager.listTools(server, context.signal);
90
- const terms = query?.toLowerCase().split(/\s+/) ?? [];
91
- const matching = catalog.tools.filter((tool) => {
92
- const text = `${tool.name} ${tool.description ?? ""}`.toLowerCase();
93
- return terms.every((term) => text.includes(term));
94
- });
95
- const tools = matching.slice(offset, offset + limit).map((tool) => ({
96
- name: tool.name,
97
- ...(tool.description ? { description: tool.description } : {}),
98
- }));
99
- return {
100
- ...(catalog.instructions ? { instructions: catalog.instructions } : {}),
101
- tools,
102
- total: matching.length,
103
- ...(offset + tools.length < matching.length
104
- ? { nextOffset: offset + tools.length }
105
- : {}),
106
- };
107
- },
108
- listResources: async (args, context) => {
109
- const [server, options] = parseMethodArgs("listResources", args, z.tuple([nameSchema, listOptionsSchema.optional()]));
110
- const { query, limit, offset } = options ?? listOptionsSchema.parse({});
111
- const catalog = await manager.listResources(server, context.signal);
112
- const terms = query?.toLowerCase().split(/\s+/) ?? [];
113
- const matching = catalog.filter((resource) => {
114
- const text = `${resource.uri} ${resource.name} ${resource.title ?? ""} ${resource.description ?? ""}`.toLowerCase();
115
- return terms.every((term) => text.includes(term));
116
- });
117
- const resources = matching.slice(offset, offset + limit);
118
- return {
119
- resources,
120
- total: matching.length,
121
- ...(offset + resources.length < matching.length
122
- ? { nextOffset: offset + resources.length }
123
- : {}),
124
- };
125
- },
126
- listResourceTemplates: async (args, context) => {
127
- const [server, options] = parseMethodArgs("listResourceTemplates", args, z.tuple([nameSchema, listOptionsSchema.optional()]));
128
- const { query, limit, offset } = options ?? listOptionsSchema.parse({});
129
- const catalog = await manager.listResourceTemplates(server, context.signal);
130
- const terms = query?.toLowerCase().split(/\s+/) ?? [];
131
- const matching = catalog.filter((resource) => {
132
- const text = `${resource.uriTemplate} ${resource.name} ${resource.title ?? ""} ${resource.description ?? ""}`.toLowerCase();
133
- return terms.every((term) => text.includes(term));
134
- });
135
- const resourceTemplates = matching.slice(offset, offset + limit);
136
- return {
137
- resourceTemplates,
138
- total: matching.length,
139
- ...(offset + resourceTemplates.length < matching.length
140
- ? { nextOffset: offset + resourceTemplates.length }
141
- : {}),
142
- };
143
- },
144
- readResource: async (args, context) => {
145
- const [server, uri] = parseMethodArgs("readResource", args, z.tuple([nameSchema, z.string().trim().min(1).max(8_192)]));
146
- return await manager.readResource(server, uri, context.signal);
147
- },
148
- describeTool: async (args, context) => {
149
- const [server, name] = parseMethodArgs("describeTool", args, z.tuple([nameSchema, nameSchema]));
150
- const tool = await manager.describeTool(server, name, context.signal);
151
- return {
152
- name: tool.name,
153
- ...(tool.description ? { description: tool.description } : {}),
154
- inputSchema: tool.inputSchema,
155
- ...(tool.outputSchema ? { outputSchema: tool.outputSchema } : {}),
156
- ...(tool.annotations ? { annotations: tool.annotations } : {}),
157
- };
158
- },
159
- callTool: async (args, context) => {
160
- const [server, name, input] = parseMethodArgs("callTool", args, z.tuple([nameSchema, nameSchema, z.record(z.string(), z.unknown())]));
161
- return await manager.callTool(server, name, input, context.signal);
162
- },
163
- },
164
- }),
165
- });
166
- }
167
- //# sourceMappingURL=mcp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/core/tools/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nook.js","sourceRoot":"","sources":["../../../src/core/tools/nook.ts"],"names":[],"mappings":"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"}