@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.
- package/dist/code_mode/command.js +4 -16
- package/dist/code_mode/command.js.map +1 -1
- package/dist/code_mode/images.js +5 -6
- package/dist/code_mode/images.js.map +1 -1
- package/dist/code_mode/index.d.ts +1 -3
- package/dist/code_mode/index.js +1 -2
- package/dist/code_mode/index.js.map +1 -1
- package/dist/code_mode/runtime.d.ts +8 -4
- package/dist/code_mode/runtime.js +52 -63
- package/dist/code_mode/runtime.js.map +1 -1
- package/dist/core/agent/agent_runtime.js +68 -76
- package/dist/core/agent/agent_runtime.js.map +1 -1
- package/dist/core/auth/auth_manager.js +3 -7
- package/dist/core/auth/auth_manager.js.map +1 -1
- package/dist/core/auth/auth_messages.js +1 -1
- package/dist/core/auth/auth_messages.js.map +1 -1
- package/dist/core/auth/auth_storage.js +71 -7
- package/dist/core/auth/auth_storage.js.map +1 -1
- package/dist/core/auth/cli.js +8 -7
- package/dist/core/auth/cli.js.map +1 -1
- package/dist/core/auth/credential_store.js +88 -186
- package/dist/core/auth/credential_store.js.map +1 -1
- package/dist/core/auth/index.js +1 -1
- package/dist/core/auth/index.js.map +1 -1
- package/dist/core/auth/providers/openai_codex.js +51 -229
- package/dist/core/auth/providers/openai_codex.js.map +1 -1
- package/dist/core/cli.js +1 -2
- package/dist/core/cli.js.map +1 -1
- package/dist/core/code_mode/bash.js +269 -0
- package/dist/core/code_mode/bash.js.map +1 -0
- package/dist/core/code_mode/capability.js +2 -0
- package/dist/core/code_mode/capability.js.map +1 -0
- package/dist/core/code_mode/history.js +62 -0
- package/dist/core/code_mode/history.js.map +1 -0
- package/dist/core/code_mode/mcp.js +121 -0
- package/dist/core/code_mode/mcp.js.map +1 -0
- package/dist/core/code_mode/models.js +256 -0
- package/dist/core/code_mode/models.js.map +1 -0
- package/dist/core/{tools → code_mode}/nook.js +13 -77
- package/dist/core/code_mode/nook.js.map +1 -0
- package/dist/core/code_mode/sdk.js +97 -0
- package/dist/core/code_mode/sdk.js.map +1 -0
- package/dist/core/{tools → code_mode}/web.js +31 -90
- package/dist/core/code_mode/web.js.map +1 -0
- package/dist/core/config/content_loader.js +30 -131
- package/dist/core/config/content_loader.js.map +1 -1
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/paths.js +0 -1
- package/dist/core/config/paths.js.map +1 -1
- package/dist/core/config/runtime.js +3 -2
- package/dist/core/config/runtime.js.map +1 -1
- package/dist/core/config/runtime_config_snapshot.js +23 -9
- package/dist/core/config/runtime_config_snapshot.js.map +1 -1
- package/dist/core/config/schema.js +13 -69
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/config/skills_loader.js +6 -2
- package/dist/core/config/skills_loader.js.map +1 -1
- package/dist/core/debug.js +2 -17
- package/dist/core/debug.js.map +1 -1
- package/dist/core/index.js +3 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/models/catalog.js +2 -239
- package/dist/core/models/catalog.js.map +1 -1
- package/dist/core/models/openrouter.js +171 -0
- package/dist/core/models/openrouter.js.map +1 -0
- package/dist/core/models/openrouter_decisions.js +96 -0
- package/dist/core/models/openrouter_decisions.js.map +1 -0
- package/dist/core/models/openrouter_media.js +128 -0
- package/dist/core/models/openrouter_media.js.map +1 -0
- package/dist/core/personas.js +2 -15
- package/dist/core/personas.js.map +1 -1
- package/dist/core/runtime/agent_model.js +0 -3
- package/dist/core/runtime/agent_model.js.map +1 -1
- package/dist/core/runtime/chat_runtime.js +16 -13
- package/dist/core/runtime/chat_runtime.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +12 -59
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/session/auto_compaction_archive.js +1 -1
- package/dist/core/session/auto_compaction_archive.js.map +1 -1
- package/dist/core/session/compaction.js +80 -505
- package/dist/core/session/compaction.js.map +1 -1
- package/dist/core/static/code_mode/history/documentation.md +95 -167
- package/dist/core/static/code_mode/mcp/documentation.md +144 -67
- package/dist/core/static/code_mode/nook/documentation.md +108 -169
- package/dist/core/static/code_mode/sandbox_runner.mjs +37 -20
- package/dist/core/static/code_mode/web/documentation.md +115 -213
- package/dist/core/static/tau_docs/client-tools.md +3 -3
- package/dist/core/static/tau_docs/config-reference.md +12 -37
- package/dist/core/static/tau_docs/configuration.md +3 -16
- package/dist/core/static/tau_docs/credentials.md +20 -50
- package/dist/core/static/tau_docs/history.md +2 -2
- package/dist/core/static/tau_docs/index.md +2 -1
- package/dist/core/static/tau_docs/manifest.json +1 -0
- package/dist/core/static/tau_docs/models.md +8 -159
- package/dist/core/static/tau_docs/node-sdk.md +5 -3
- package/dist/core/static/tau_docs/nook.md +2 -2
- package/dist/core/static/tau_docs/openrouter.md +165 -0
- package/dist/core/static/tau_docs/ownership-and-scope.md +3 -3
- package/dist/core/static/tau_docs/personas.md +11 -43
- package/dist/core/static/tau_docs/prompts-and-project-context.md +10 -44
- package/dist/core/static/tau_docs/remote-sessions.md +6 -7
- package/dist/core/static/tau_docs/security.md +7 -8
- package/dist/core/static/tau_docs/session-protocol-methods.md +0 -1
- package/dist/core/static/tau_docs/session-protocol.md +11 -9
- package/dist/core/static/tau_docs/sessions.md +10 -6
- package/dist/core/static/tau_docs/skills.md +8 -32
- package/dist/core/static/tau_docs/subagents.md +4 -3
- package/dist/core/static/tau_docs/telegram.md +2 -2
- package/dist/core/static/tau_docs/tools.md +37 -33
- package/dist/core/static/tau_docs/troubleshooting.md +11 -12
- package/dist/core/static/tau_docs/tui.md +9 -5
- package/dist/core/subagents/agent_supervisor.js +0 -1
- package/dist/core/subagents/agent_supervisor.js.map +1 -1
- package/dist/core/subagents/registry.js +2 -1
- package/dist/core/subagents/registry.js.map +1 -1
- package/dist/core/subagents/types.js +2 -1
- package/dist/core/subagents/types.js.map +1 -1
- package/dist/core/telegram/adapter.js +1 -1
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/tool/cli.js +10 -2
- package/dist/core/tool/cli.js.map +1 -1
- package/dist/core/tool/image_generate.js +2 -1
- package/dist/core/tool/image_generate.js.map +1 -1
- package/dist/core/tool/media.js +1 -49
- package/dist/core/tool/media.js.map +1 -1
- package/dist/core/tool/openrouter.js +159 -0
- package/dist/core/tool/openrouter.js.map +1 -0
- package/dist/core/tool/openrouter_input.js +77 -0
- package/dist/core/tool/openrouter_input.js.map +1 -0
- package/dist/core/tool/speech_generate.js +2 -1
- package/dist/core/tool/speech_generate.js.map +1 -1
- package/dist/core/tools/bash.js +2 -1
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/bash_jobs.js +34 -5
- package/dist/core/tools/bash_jobs.js.map +1 -1
- package/dist/core/tools/catalog.js +18 -33
- package/dist/core/tools/catalog.js.map +1 -1
- package/dist/core/tools/code.js +100 -0
- package/dist/core/tools/code.js.map +1 -0
- package/dist/core/tools/code_mode.js +9 -30
- package/dist/core/tools/code_mode.js.map +1 -1
- package/dist/core/tools/code_mode_worker.js +2 -2
- package/dist/core/tools/presentation.js +2 -1
- package/dist/core/tools/presentation.js.map +1 -1
- package/dist/core/tools/tau_docs.js +1 -0
- package/dist/core/tools/tau_docs.js.map +1 -1
- package/dist/core/tools/tool_names.js +5 -1
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/utils/gemini_transcription.js +14 -15
- package/dist/core/utils/gemini_transcription.js.map +1 -1
- package/dist/core/utils/media_validation.js +50 -0
- package/dist/core/utils/media_validation.js.map +1 -0
- package/dist/core/utils/model_stream.js +47 -34
- package/dist/core/utils/model_stream.js.map +1 -1
- package/dist/core/utils/user_metadata.js +2 -27
- package/dist/core/utils/user_metadata.js.map +1 -1
- package/dist/core/version.js +2 -2
- package/dist/core/version.js.map +1 -1
- package/dist/diff_tool/app/dist/assets/{ada-C5qYipkI.js → ada-X3Y2mlq2.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ahk-CA9gdOdF.js → ahk-DwADkxyd.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{angular-html-CnO8qept.js → angular-html-BbLgbIhq.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{angular-ts-DPXUio9Z.js → angular-ts-DXk17TRM.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{apl-X8YsymsQ.js → apl-BsvksCXR.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{astro-BQ9k8AQ0.js → astro-DH775E4V.js} +1 -1
- package/dist/diff_tool/app/dist/assets/beancount-C2IN4Vk8.js +1 -0
- package/dist/diff_tool/app/dist/assets/{blade-DZ1LYIzB.js → blade-Ck99Rm59.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{c-VLTwNh7z.js → c-DJpHqu5J.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{chapel-5s-sGN8D.js → chapel-Owff0Csy.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{cobol-C9RzwrVu.js → cobol-Cv2gZuhO.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{coffee-BHvjZ343.js → coffee-Bji0YCf_.js} +1 -1
- package/dist/diff_tool/app/dist/assets/coq-CGaSfhwR.js +1 -0
- package/dist/diff_tool/app/dist/assets/{cpp-CBTVXbBp.js → cpp-DTjA_yFF.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{crystal-DQJua4y4.js → crystal-Dd00NOeb.js} +1 -1
- package/dist/diff_tool/app/dist/assets/csharp-dmMxLVLW.js +1 -0
- package/dist/diff_tool/app/dist/assets/css-D44TN1V6.js +1 -0
- package/dist/diff_tool/app/dist/assets/dart-CHZY9Xhz.js +1 -0
- package/dist/diff_tool/app/dist/assets/dotenv-CuH5my32.js +1 -0
- package/dist/diff_tool/app/dist/assets/{edge-BmdmXGH4.js → edge-CVmGSi2m.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{elixir-oiOLs98L.js → elixir-B8Mq7no2.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{elm-BgYuiU4E.js → elm-CXS0I3Z2.js} +1 -1
- package/dist/diff_tool/app/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
- package/dist/diff_tool/app/dist/assets/{erb-CvFrXpyY.js → erb-B9oDKaUo.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{git-rebase-D3Zo1BLH.js → git-rebase-DT-YFebH.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glimmer-js-B4-8E3lJ.js → glimmer-js-s0DXlNjq.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glimmer-ts-CtKkD0t_.js → glimmer-ts-QgEB5S2z.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{glsl-BAqforx_.js → glsl-NA0icwbY.js} +1 -1
- package/dist/diff_tool/app/dist/assets/gn-CAXYAgV-.js +1 -0
- package/dist/diff_tool/app/dist/assets/{graphql-DuE1RMyL.js → graphql-0_dOlfV0.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{hack-CHBcXjz1.js → hack-D-mr7l1l.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{haml-DAs2z3tD.js → haml-B0-oQmz7.js} +1 -1
- package/dist/diff_tool/app/dist/assets/handlebars-Yq9bXpWN.js +1 -0
- package/dist/diff_tool/app/dist/assets/{html-D5co0BLD.js → html-B8bMmdRK.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{html-derivative-BZaWEmAT.js → html-derivative-BpxSlQb_.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{http-Cii5MjJE.js → http-hS_53mxt.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{hurl-Bur-XdJO.js → hurl-B2ST1kwl.js} +1 -1
- package/dist/diff_tool/app/dist/assets/index-CBT_sNIz.js +340 -0
- package/dist/diff_tool/app/dist/assets/{java-DN39wI4w.js → java-D4mj0lZJ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{javascript-VUReF1H4.js → javascript-wC7rrKiV.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jinja-BcrfV1JB.js → jinja-DbQ3o87F.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jison-Bez5Mtmy.js → jison-CrE9FdvP.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{json-ChV8m0Le.js → json-xjicDyWN.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{jsx-D0SXNtM0.js → jsx-m28lXojQ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{julia-DvhpcBwG.js → julia-19xkOmop.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{just-BGwe8S6x.js → just-Cf7OorTr.js} +1 -1
- package/dist/diff_tool/app/dist/assets/latex-DDb7GQOy.js +1 -0
- package/dist/diff_tool/app/dist/assets/{liquid-UdnqDjKz.js → liquid-DHOuQ0rf.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{lua-CjDHeHEr.js → lua-BGyIvonw.js} +1 -1
- package/dist/diff_tool/app/dist/assets/luau-VGWVLoqX.js +1 -0
- package/dist/diff_tool/app/dist/assets/marko-DB5OqI1C.js +1 -0
- package/dist/diff_tool/app/dist/assets/{mdc-BOLj6Oyq.js → mdc-DTyNMupO.js} +1 -1
- package/dist/diff_tool/app/dist/assets/monokai-BscAjiQZ.js +1 -0
- package/dist/diff_tool/app/dist/assets/moonbit-D9W784E_.js +1 -0
- package/dist/diff_tool/app/dist/assets/nextflow-CSgcYZcx.js +1 -0
- package/dist/diff_tool/app/dist/assets/{nextflow-groovy-DJMQeKeT.js → nextflow-groovy-D7IRt6Pp.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{nginx-5r5xPc2T.js → nginx-DfF0fMYD.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{nim-9exKQYMz.js → nim-BbwsXuZD.js} +1 -1
- package/dist/diff_tool/app/dist/assets/nushell--0fT3PI1.js +1 -0
- package/dist/diff_tool/app/dist/assets/one-dark-pro-C6YyR8OD.js +1 -0
- package/dist/diff_tool/app/dist/assets/{org-B2fpAlbt.js → org-BkOBBl1f.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{perl-DV2fcwyY.js → perl-BTXTOl4K.js} +1 -1
- package/dist/diff_tool/app/dist/assets/php-DIMVQWiA.js +1 -0
- package/dist/diff_tool/app/dist/assets/{powershell-CCSX75yM.js → powershell-QtSnmXcu.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{pug-DuKcQxFj.js → pug-B_nrb4dJ.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{qml-C16b4SYx.js → qml-1PXi8G8Z.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{r-B1ZldnJf.js → r-CJrAkc2Z.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{razor-TYmslaAB.js → razor-DgPUftNd.js} +1 -1
- package/dist/diff_tool/app/dist/assets/red-CYlAq2b0.js +1 -0
- package/dist/diff_tool/app/dist/assets/{regexp-dWCffmDD.js → regexp-C2hS8XvL.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{rst-DEkLr2YR.js → rst-CDouhKnc.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ruby-BJnJzr4u.js → ruby-CAjKW1uO.js} +1 -1
- package/dist/diff_tool/app/dist/assets/rust-DpiIf5JO.js +1 -0
- package/dist/diff_tool/app/dist/assets/{sas-DeRsDbUE.js → sas-qAHkHLc1.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{scss-SGV_CwKm.js → scss-Bfx2Ydid.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{shellscript-BI7khmmR.js → shellscript-Bu76R8y2.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{shellsession-Nupw_Vvw.js → shellsession-BU8BL0oL.js} +1 -1
- package/dist/diff_tool/app/dist/assets/solarized-dark-b97czJOk.js +1 -0
- package/dist/diff_tool/app/dist/assets/solarized-light-DFPxpIYQ.js +1 -0
- package/dist/diff_tool/app/dist/assets/{soy-B96cBzxv.js → soy-FRl8ozP-.js} +1 -1
- package/dist/diff_tool/app/dist/assets/sql-BacQgsEs.js +1 -0
- package/dist/diff_tool/app/dist/assets/{stata-Dnq48cE6.js → stata-B9kkG-ET.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{surrealql-D6lw4TiD.js → surrealql-qvETr7iY.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{svelte-ChVoq9tB.js → svelte-B0z1MgHc.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{templ-Dh1EXuHD.js → templ-DTnPshKb.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{tex-KTYusNFe.js → tex-Cosab9_H.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{ts-tags-DC2RU1_R.js → ts-tags-DNYvLFUH.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{tsx-DtIM39Jy.js → tsx-Dstq6j1a.js} +1 -1
- package/dist/diff_tool/app/dist/assets/twig-BzqZdwaX.js +1 -0
- package/dist/diff_tool/app/dist/assets/{typescript-BGAE5iuw.js → typescript-YOQ_oE25.js} +1 -1
- package/dist/diff_tool/app/dist/assets/typespec-BGhR2SqG.js +1 -0
- package/dist/diff_tool/app/dist/assets/{typst-nWoGZ22y.js → typst-DTffwfpc.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-iyHf-l4z.js → vue-D4OMj_C5.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-html-prNdIjLu.js → vue-html-kT4WrHGK.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{vue-vine-KSSlnVeg.js → vue-vine-CxeapeMO.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{xml-DdCC83Xd.js → xml-DWVpuurg.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{xsl-DSqZxsez.js → xsl-C0ciup5a.js} +1 -1
- package/dist/diff_tool/app/dist/assets/{yaml-CZcBUWvf.js → yaml-98Fvyfpc.js} +1 -1
- package/dist/diff_tool/app/dist/index.html +1 -1
- package/dist/execution/execution_environment.js.map +1 -1
- package/dist/execution/fly_sprite_execution_environment.js +5 -10
- package/dist/execution/fly_sprite_execution_environment.js.map +1 -1
- package/dist/execution/tool_backend_execution_environment.js +0 -2
- package/dist/execution/tool_backend_execution_environment.js.map +1 -1
- package/dist/host/execution_runtime.js +5 -4
- package/dist/host/execution_runtime.js.map +1 -1
- package/dist/host/hosted_ephemeral_agent_session.js +0 -2
- package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
- package/dist/host/local_session_host.js +15 -31
- package/dist/host/local_session_host.js.map +1 -1
- package/dist/main.js +14 -29
- package/dist/main.js.map +1 -1
- package/dist/nook/README.md +1 -1
- package/dist/protocol/session_protocol.d.ts +3 -6
- package/dist/protocol/session_protocol.js +3 -6
- package/dist/protocol/session_protocol.js.map +1 -1
- package/dist/sdk/code_mode.js +11 -17
- package/dist/sdk/code_mode.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/local_client.js +3 -3
- package/dist/sdk/local_client.js.map +1 -1
- package/dist/store/session_snapshot_migrations.js +28 -1
- package/dist/store/session_snapshot_migrations.js.map +1 -1
- package/dist/tui/session_chat_app.js +2 -4
- package/dist/tui/session_chat_app.js.map +1 -1
- package/dist/tui/session_chat_controller.js +105 -56
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/package.json +9 -9
- package/dist/code_mode/files.d.ts +0 -47
- package/dist/code_mode/files.js +0 -296
- package/dist/code_mode/files.js.map +0 -1
- package/dist/core/tools/history.js +0 -118
- package/dist/core/tools/history.js.map +0 -1
- package/dist/core/tools/mcp.js +0 -167
- package/dist/core/tools/mcp.js.map +0 -1
- package/dist/core/tools/nook.js.map +0 -1
- package/dist/core/tools/web.js.map +0 -1
- package/dist/diff_tool/app/dist/assets/beancount-D-usSTwE.js +0 -1
- package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +0 -1
- package/dist/diff_tool/app/dist/assets/csharp-oqKa8noW.js +0 -1
- package/dist/diff_tool/app/dist/assets/css-BQflXFb6.js +0 -1
- package/dist/diff_tool/app/dist/assets/dart-CnvKMtbv.js +0 -1
- package/dist/diff_tool/app/dist/assets/dotenv-_5a1GRtc.js +0 -1
- package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +0 -1
- package/dist/diff_tool/app/dist/assets/gn-ilITqXS6.js +0 -1
- package/dist/diff_tool/app/dist/assets/handlebars-CfAla6QK.js +0 -1
- package/dist/diff_tool/app/dist/assets/index-CZUi_I-p.js +0 -340
- package/dist/diff_tool/app/dist/assets/latex-pWSag83P.js +0 -1
- package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +0 -1
- package/dist/diff_tool/app/dist/assets/marko-yLX6iW68.js +0 -1
- package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +0 -1
- package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +0 -1
- package/dist/diff_tool/app/dist/assets/nextflow-BJtWHP5T.js +0 -1
- package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +0 -1
- package/dist/diff_tool/app/dist/assets/one-dark-pro-CLwyXe_n.js +0 -1
- package/dist/diff_tool/app/dist/assets/php-D-AthX_E.js +0 -1
- package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +0 -1
- package/dist/diff_tool/app/dist/assets/rust-Cfkwpbl8.js +0 -1
- package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +0 -1
- package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +0 -1
- package/dist/diff_tool/app/dist/assets/sql-CsIdKfaO.js +0 -1
- package/dist/diff_tool/app/dist/assets/twig-C6D_TA3n.js +0 -1
- package/dist/diff_tool/app/dist/assets/typespec-BRdr0IET.js +0 -1
|
@@ -379,6 +379,10 @@ export class SessionChatController {
|
|
|
379
379
|
if (this.snapshot.catalog.skills.length > 0) {
|
|
380
380
|
parts.push(`${this.snapshot.catalog.skills.length} skills`);
|
|
381
381
|
}
|
|
382
|
+
if (this.snapshot.catalog.mcpServers.length > 0) {
|
|
383
|
+
const count = this.snapshot.catalog.mcpServers.length;
|
|
384
|
+
parts.push(`${count} MCP server${count === 1 ? "" : "s"}`);
|
|
385
|
+
}
|
|
382
386
|
if (this.configuredClientToolNames.length > 0) {
|
|
383
387
|
const count = this.configuredClientToolNames.length;
|
|
384
388
|
parts.push(`${count} client tool${count === 1 ? "" : "s"}`);
|
|
@@ -411,6 +415,12 @@ export class SessionChatController {
|
|
|
411
415
|
lines.push(` ${clientToolName}`);
|
|
412
416
|
}
|
|
413
417
|
}
|
|
418
|
+
if (this.snapshot.catalog.mcpServers.length > 0) {
|
|
419
|
+
lines.push("", "mcp servers:");
|
|
420
|
+
for (const name of this.snapshot.catalog.mcpServers) {
|
|
421
|
+
lines.push(` ${name}`);
|
|
422
|
+
}
|
|
423
|
+
}
|
|
414
424
|
lines.push("", this.formatSessionIdentityText());
|
|
415
425
|
return lines;
|
|
416
426
|
}
|
|
@@ -576,13 +586,18 @@ export class SessionChatController {
|
|
|
576
586
|
this.view.showFooterNotice("interrupted", "default");
|
|
577
587
|
return;
|
|
578
588
|
}
|
|
579
|
-
if (this.listenStartupAbortController
|
|
580
|
-
this.
|
|
581
|
-
this.
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
589
|
+
if (this.listenStartupAbortController ||
|
|
590
|
+
this.listenRecording ||
|
|
591
|
+
this.listenTransition ||
|
|
592
|
+
this.listenPreview) {
|
|
593
|
+
this.listenStartupAbortController?.abort(LISTEN_CAPTURE_START_CANCELLED);
|
|
594
|
+
this.activeListenTranscription?.abort();
|
|
595
|
+
this.endListenPreview();
|
|
596
|
+
this.listenActivityLabel = undefined;
|
|
597
|
+
if (this.listenRecording) {
|
|
598
|
+
void this.runListenTransition(() => this.cancelListenCapture());
|
|
599
|
+
}
|
|
600
|
+
this.refreshStatus();
|
|
586
601
|
return;
|
|
587
602
|
}
|
|
588
603
|
if (this.speakTask) {
|
|
@@ -658,14 +673,24 @@ export class SessionChatController {
|
|
|
658
673
|
return;
|
|
659
674
|
}
|
|
660
675
|
this.pendingAutoSpeak = undefined;
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
676
|
+
const abortController = new AbortController();
|
|
677
|
+
this.listenStartupAbortController = abortController;
|
|
678
|
+
try {
|
|
679
|
+
await this.runListenTransition(async () => {
|
|
680
|
+
if (this.speakTask) {
|
|
681
|
+
this.speakTask.abortController.abort();
|
|
682
|
+
await this.speakTask.completion.catch(() => { });
|
|
683
|
+
}
|
|
684
|
+
if (!this.disposed && !abortController.signal.aborted) {
|
|
685
|
+
await this.startListenCapture(abortController);
|
|
686
|
+
}
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
finally {
|
|
690
|
+
if (this.listenStartupAbortController === abortController) {
|
|
691
|
+
this.listenStartupAbortController = undefined;
|
|
665
692
|
}
|
|
666
|
-
|
|
667
|
-
await this.startListenCapture();
|
|
668
|
-
});
|
|
693
|
+
}
|
|
669
694
|
}
|
|
670
695
|
async runListenTransition(task) {
|
|
671
696
|
if (this.listenTransition) {
|
|
@@ -682,7 +707,7 @@ export class SessionChatController {
|
|
|
682
707
|
}
|
|
683
708
|
}
|
|
684
709
|
}
|
|
685
|
-
async startListenCapture() {
|
|
710
|
+
async startListenCapture(abortController) {
|
|
686
711
|
if (this.deps.env.platform() !== "darwin") {
|
|
687
712
|
this.view.showFooterNotice("/listen is currently supported only on macOS.", "default");
|
|
688
713
|
return;
|
|
@@ -698,15 +723,14 @@ export class SessionChatController {
|
|
|
698
723
|
const retainedAudio = this.retainedListenAudio;
|
|
699
724
|
let audioPath;
|
|
700
725
|
let transcription;
|
|
701
|
-
let abortController;
|
|
702
726
|
let completion;
|
|
703
727
|
try {
|
|
704
728
|
audioPath = await createListenTempFilePath(this.deps);
|
|
705
729
|
if (this.disposed)
|
|
706
730
|
throw new Error("speech recording startup cancelled");
|
|
731
|
+
abortController.signal.throwIfAborted();
|
|
707
732
|
transcription = this.createSpeechTranscription("streaming");
|
|
708
|
-
|
|
709
|
-
this.listenStartupAbortController = abortController;
|
|
733
|
+
this.activeListenTranscription = transcription;
|
|
710
734
|
const capture = startListenAudioCapture({
|
|
711
735
|
deps: this.deps,
|
|
712
736
|
audioPath,
|
|
@@ -716,12 +740,7 @@ export class SessionChatController {
|
|
|
716
740
|
});
|
|
717
741
|
completion = capture.completion;
|
|
718
742
|
await this.waitForListenCaptureStart(capture.started, abortController);
|
|
719
|
-
|
|
720
|
-
throw abortController.signal.reason;
|
|
721
|
-
}
|
|
722
|
-
if (this.listenStartupAbortController === abortController) {
|
|
723
|
-
this.listenStartupAbortController = undefined;
|
|
724
|
-
}
|
|
743
|
+
abortController.signal.throwIfAborted();
|
|
725
744
|
if (retainedAudio) {
|
|
726
745
|
try {
|
|
727
746
|
await deleteListenTempFile(retainedAudio.audioPath);
|
|
@@ -734,13 +753,16 @@ export class SessionChatController {
|
|
|
734
753
|
transcription.abort();
|
|
735
754
|
await completion.catch(() => undefined);
|
|
736
755
|
await cleanupListenTempFile(audioPath);
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
756
|
+
if (abortController.signal.reason !== LISTEN_CAPTURE_START_CANCELLED && !this.disposed) {
|
|
757
|
+
this.view.addTranscriptNotice("failed to replace retained recording", "error", [
|
|
758
|
+
error.message,
|
|
759
|
+
`recording retained at ${retainedAudio.audioPath}`,
|
|
760
|
+
]);
|
|
761
|
+
}
|
|
741
762
|
return;
|
|
742
763
|
}
|
|
743
764
|
}
|
|
765
|
+
abortController.signal.throwIfAborted();
|
|
744
766
|
const recording = {
|
|
745
767
|
audioPath,
|
|
746
768
|
startedAt: Date.now(),
|
|
@@ -759,8 +781,8 @@ export class SessionChatController {
|
|
|
759
781
|
void this.watchListenRecording(recording);
|
|
760
782
|
}
|
|
761
783
|
catch (err) {
|
|
762
|
-
const cancelled = this.disposed || abortController
|
|
763
|
-
abortController
|
|
784
|
+
const cancelled = this.disposed || abortController.signal.reason === LISTEN_CAPTURE_START_CANCELLED;
|
|
785
|
+
abortController.abort();
|
|
764
786
|
transcription?.abort();
|
|
765
787
|
await completion?.catch(() => undefined);
|
|
766
788
|
if (audioPath) {
|
|
@@ -773,11 +795,9 @@ export class SessionChatController {
|
|
|
773
795
|
}
|
|
774
796
|
}
|
|
775
797
|
finally {
|
|
798
|
+
this.activeListenTranscription = undefined;
|
|
776
799
|
if (!this.listenRecording)
|
|
777
800
|
this.endListenPreview();
|
|
778
|
-
if (this.listenStartupAbortController === abortController) {
|
|
779
|
-
this.listenStartupAbortController = undefined;
|
|
780
|
-
}
|
|
781
801
|
}
|
|
782
802
|
}
|
|
783
803
|
async waitForListenCaptureStart(started, abortController) {
|
|
@@ -804,25 +824,41 @@ export class SessionChatController {
|
|
|
804
824
|
const recording = this.listenRecording;
|
|
805
825
|
if (!recording)
|
|
806
826
|
return;
|
|
827
|
+
const preview = this.listenPreview;
|
|
807
828
|
recording.stopRequested = true;
|
|
808
829
|
this.clearListenRecordingMaxDurationTimeout(recording);
|
|
809
830
|
this.listenRecording = undefined;
|
|
831
|
+
this.activeListenTranscription = recording.transcription;
|
|
810
832
|
this.refreshStatus();
|
|
811
833
|
recording.abortController.abort();
|
|
812
834
|
try {
|
|
813
|
-
|
|
835
|
+
try {
|
|
836
|
+
await recording.completion;
|
|
837
|
+
}
|
|
838
|
+
catch (err) {
|
|
839
|
+
if (this.listenPreview === preview) {
|
|
840
|
+
this.view.addTranscriptNotice("failed to record audio", "error", [
|
|
841
|
+
err.message,
|
|
842
|
+
]);
|
|
843
|
+
}
|
|
844
|
+
recording.transcription.abort();
|
|
845
|
+
this.endListenPreview();
|
|
846
|
+
await cleanupListenTempFile(recording.audioPath);
|
|
847
|
+
return;
|
|
848
|
+
}
|
|
849
|
+
if (this.listenPreview !== preview || this.disposed) {
|
|
850
|
+
recording.transcription.abort();
|
|
851
|
+
await cleanupListenTempFile(recording.audioPath);
|
|
852
|
+
return;
|
|
853
|
+
}
|
|
854
|
+
const durationMs = Math.min(Math.max(Date.now() - recording.startedAt, 0), SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS);
|
|
855
|
+
const transcribed = await this.transcribeListenAudioFile(recording.audioPath, durationMs, recording.transcription);
|
|
856
|
+
if (mode && transcribed && !this.disposed)
|
|
857
|
+
this.view.submitEditor(mode);
|
|
814
858
|
}
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
this.endListenPreview();
|
|
818
|
-
this.view.addTranscriptNotice("failed to record audio", "error", [err.message]);
|
|
819
|
-
await cleanupListenTempFile(recording.audioPath);
|
|
820
|
-
return;
|
|
859
|
+
finally {
|
|
860
|
+
this.activeListenTranscription = undefined;
|
|
821
861
|
}
|
|
822
|
-
const durationMs = Math.min(Math.max(Date.now() - recording.startedAt, 0), SPEECH_TO_TEXT_CLIENT_MAX_DURATION_MS);
|
|
823
|
-
const transcribed = await this.transcribeListenAudioFile(recording.audioPath, durationMs, recording.transcription);
|
|
824
|
-
if (mode && transcribed && !this.disposed)
|
|
825
|
-
this.view.submitEditor(mode);
|
|
826
862
|
}
|
|
827
863
|
async retryRetainedListenAudio() {
|
|
828
864
|
if (this.pendingEditorMutations > 0) {
|
|
@@ -919,26 +955,28 @@ export class SessionChatController {
|
|
|
919
955
|
}
|
|
920
956
|
catch (error) {
|
|
921
957
|
transcription?.abort();
|
|
922
|
-
this.
|
|
923
|
-
|
|
924
|
-
|
|
958
|
+
if (this.listenPreview === preview) {
|
|
959
|
+
this.view.addTranscriptNotice("failed to read speech recording", "error", [
|
|
960
|
+
error.message,
|
|
961
|
+
]);
|
|
962
|
+
}
|
|
925
963
|
if (this.retainedListenAudio?.audioPath === audioPath) {
|
|
926
964
|
this.retainedListenAudio = undefined;
|
|
927
965
|
}
|
|
928
966
|
await cleanupListenTempFile(audioPath);
|
|
929
967
|
return false;
|
|
930
968
|
}
|
|
931
|
-
if (
|
|
969
|
+
if (this.disposed || this.listenPreview !== preview) {
|
|
932
970
|
transcription?.abort();
|
|
933
|
-
this.view.showFooterNotice("recording too short, try again", "default");
|
|
934
971
|
if (this.retainedListenAudio?.audioPath === audioPath) {
|
|
935
972
|
this.retainedListenAudio = undefined;
|
|
936
973
|
}
|
|
937
974
|
await cleanupListenTempFile(audioPath);
|
|
938
975
|
return false;
|
|
939
976
|
}
|
|
940
|
-
if (
|
|
977
|
+
if (audio.byteLength < LISTEN_RECORDING_MIN_BYTES) {
|
|
941
978
|
transcription?.abort();
|
|
979
|
+
this.view.showFooterNotice("recording too short, try again", "default");
|
|
942
980
|
if (this.retainedListenAudio?.audioPath === audioPath) {
|
|
943
981
|
this.retainedListenAudio = undefined;
|
|
944
982
|
}
|
|
@@ -957,10 +995,6 @@ export class SessionChatController {
|
|
|
957
995
|
});
|
|
958
996
|
if (this.listenPreview !== preview)
|
|
959
997
|
return false;
|
|
960
|
-
preview.commit(text);
|
|
961
|
-
if (text.trim() && !this.editorHiddenSystemMessages.includes(TRANSCRIPTION_GUIDANCE)) {
|
|
962
|
-
this.editorHiddenSystemMessages.push(TRANSCRIPTION_GUIDANCE);
|
|
963
|
-
}
|
|
964
998
|
this.retainedListenAudio = undefined;
|
|
965
999
|
try {
|
|
966
1000
|
await deleteListenTempFile(audioPath);
|
|
@@ -971,9 +1005,17 @@ export class SessionChatController {
|
|
|
971
1005
|
`recording remains at ${audioPath}; delete it manually`,
|
|
972
1006
|
]);
|
|
973
1007
|
}
|
|
1008
|
+
if (this.listenPreview !== preview)
|
|
1009
|
+
return false;
|
|
1010
|
+
preview.commit(text);
|
|
1011
|
+
if (text.trim() && !this.editorHiddenSystemMessages.includes(TRANSCRIPTION_GUIDANCE)) {
|
|
1012
|
+
this.editorHiddenSystemMessages.push(TRANSCRIPTION_GUIDANCE);
|
|
1013
|
+
}
|
|
974
1014
|
return Boolean(text.trim());
|
|
975
1015
|
}
|
|
976
1016
|
catch (error) {
|
|
1017
|
+
if (this.listenPreview !== preview)
|
|
1018
|
+
return false;
|
|
977
1019
|
this.retainedListenAudio = { audioPath, durationMs };
|
|
978
1020
|
this.view.addTranscriptNotice("failed to transcribe speech", "error", [
|
|
979
1021
|
error.message,
|
|
@@ -992,7 +1034,15 @@ export class SessionChatController {
|
|
|
992
1034
|
}
|
|
993
1035
|
}
|
|
994
1036
|
finally {
|
|
995
|
-
this.
|
|
1037
|
+
if (this.listenPreview !== preview) {
|
|
1038
|
+
if (this.retainedListenAudio?.audioPath === audioPath) {
|
|
1039
|
+
this.retainedListenAudio = undefined;
|
|
1040
|
+
}
|
|
1041
|
+
await cleanupListenTempFile(audioPath);
|
|
1042
|
+
}
|
|
1043
|
+
else {
|
|
1044
|
+
this.endListenPreview();
|
|
1045
|
+
}
|
|
996
1046
|
}
|
|
997
1047
|
}
|
|
998
1048
|
async cancelListenCapture() {
|
|
@@ -1197,7 +1247,6 @@ export class SessionChatController {
|
|
|
1197
1247
|
case "fly-sprite":
|
|
1198
1248
|
return {
|
|
1199
1249
|
kind: "fly-sprite",
|
|
1200
|
-
apiId: snapshot.apiId,
|
|
1201
1250
|
spriteName: snapshot.spriteName,
|
|
1202
1251
|
cwd: snapshot.cwd,
|
|
1203
1252
|
};
|