@markusylisiurunen/tau 0.2.62 → 0.2.64

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 (60) hide show
  1. package/README.md +1 -1
  2. package/dist/core/async/cli.js +68 -104
  3. package/dist/core/async/cli.js.map +1 -1
  4. package/dist/core/async/http_protocol.js +119 -8
  5. package/dist/core/async/http_protocol.js.map +1 -1
  6. package/dist/core/async/http_server.js +120 -240
  7. package/dist/core/async/http_server.js.map +1 -1
  8. package/dist/core/async/index.js +1 -1
  9. package/dist/core/async/index.js.map +1 -1
  10. package/dist/core/async/server_config.js +163 -341
  11. package/dist/core/async/server_config.js.map +1 -1
  12. package/dist/core/async/telegram.js +191 -133
  13. package/dist/core/async/telegram.js.map +1 -1
  14. package/dist/core/cli.js +25 -31
  15. package/dist/core/cli.js.map +1 -1
  16. package/dist/core/config/content_loader.js +57 -205
  17. package/dist/core/config/content_loader.js.map +1 -1
  18. package/dist/core/config/markdown_frontmatter.js +34 -0
  19. package/dist/core/config/markdown_frontmatter.js.map +1 -0
  20. package/dist/core/config/runtime.js +6 -1
  21. package/dist/core/config/runtime.js.map +1 -1
  22. package/dist/core/config/schema.js +268 -327
  23. package/dist/core/config/schema.js.map +1 -1
  24. package/dist/core/config/skill_parser.js +8 -32
  25. package/dist/core/config/skill_parser.js.map +1 -1
  26. package/dist/core/config/skills_loader.js +32 -18
  27. package/dist/core/config/skills_loader.js.map +1 -1
  28. package/dist/core/events/index.js +1 -0
  29. package/dist/core/events/index.js.map +1 -1
  30. package/dist/core/events/parser.js +115 -0
  31. package/dist/core/events/parser.js.map +1 -0
  32. package/dist/core/index.js +1 -1
  33. package/dist/core/index.js.map +1 -1
  34. package/dist/core/modes/rpc_protocol.js +249 -189
  35. package/dist/core/modes/rpc_protocol.js.map +1 -1
  36. package/dist/core/persona_reference.js +27 -0
  37. package/dist/core/persona_reference.js.map +1 -0
  38. package/dist/core/tools/send_input_to_agent.js +7 -12
  39. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  40. package/dist/core/tools/spawn_agent.js +13 -14
  41. package/dist/core/tools/spawn_agent.js.map +1 -1
  42. package/dist/core/tools/terminate_agent.js +6 -11
  43. package/dist/core/tools/terminate_agent.js.map +1 -1
  44. package/dist/core/tools/wait_for_agent.js +6 -11
  45. package/dist/core/tools/wait_for_agent.js.map +1 -1
  46. package/dist/core/utils/mistral_transcription.js +13 -21
  47. package/dist/core/utils/mistral_transcription.js.map +1 -1
  48. package/dist/core/utils/parallel_api.js +15 -19
  49. package/dist/core/utils/parallel_api.js.map +1 -1
  50. package/dist/core/utils/zod.js +7 -0
  51. package/dist/core/utils/zod.js.map +1 -1
  52. package/dist/core/version.js +1 -1
  53. package/dist/main.js +21 -3
  54. package/dist/main.js.map +1 -1
  55. package/dist/tui/app.js.map +1 -1
  56. package/dist/tui/chat_controller/session_maintenance_service.js +98 -171
  57. package/dist/tui/chat_controller/session_maintenance_service.js.map +1 -1
  58. package/dist/tui/chat_controller.js +48 -10
  59. package/dist/tui/chat_controller.js.map +1 -1
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server_config.js","sourceRoot":"","sources":["../../../src/core/async/server_config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server_config.js","sourceRoot":"","sources":["../../../src/core/async/server_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAoB9C,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;AAErF,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,6BAA6B,CAAC;KAClC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;AAE3C,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;IAClD,OAAO,EAAE,+BAA+B;CACzC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE;IAC1D,OAAO,EAAE,wCAAwC;CAClD,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,aAAa,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CACzC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,yBAAyB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,IAAI,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,sCAAsC,CAAC;SAC3C,QAAQ,CAAC,sCAAsC,CAAC;SAChD,GAAG,CAAC,KAAK,EAAE,sCAAsC,CAAC;SAClD,QAAQ,EAAE;IACb,SAAS,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC1C,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC7C,aAAa,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC9C,aAAa,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC9C,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,QAAQ,EAAE,oBAAoB;IAC9B,iBAAiB,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IAChF,cAAc,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC5C,gBAAgB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACjD,aAAa,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC9C,cAAc,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAChD,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YACnE,OAAO,EAAE,wCAAwC;SAClD,CAAC;QACF,GAAG,EAAE,oBAAoB,CAAC,QAAQ,EAAE;QACpC,aAAa,EAAE,oBAAoB;aAChC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aAC/C,QAAQ,EAAE;QACb,gBAAgB,EAAE,oBAAoB;aACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,EAAE,0BAA0B;SACpC,CAAC;aACD,QAAQ,EAAE;QACb,WAAW,EAAE,oBAAoB,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,CAAC;aACjB,KAAK,CACJ,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EACrD;YACE,OAAO,EAAE,mCAAmC;SAC7C,CACF;aACA,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;aAC3C,QAAQ,EAAE;QACb,2BAA2B,EAAE,CAAC;aAC3B,KAAK,CACJ,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EACrD;YACE,OAAO,EAAE,mCAAmC;SAC7C,CACF;aACA,GAAG,CAAC,CAAC,EAAE,mCAAmC,CAAC;aAC3C,QAAQ,EAAE;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;QACzD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC5C,CAAC;SACD,MAAM,EAAE,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB,EAAE,SAAiB,EAAE,IAAc;IACpF,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,OAAO,GAAG,WAAW,aAAa,QAAQ,OAAO,SAAS,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3F,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAiB,EACjB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,SAAS,GAAG,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,GAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,eAA4B;IAE5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,MAAM,GAAiC,MAAM,CAAC,IAAI,CAAC;IACzD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CACvD,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAC/C,CAAC;QACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,KAAK,SAAS,oDAAoD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,KAAK,SAAS,sBAAsB,MAAM,CAAC,gBAAgB,qBAAqB,CAC/F,CAAC;IACJ,CAAC;IAED,IACE,MAAM,CAAC,gBAAgB;QACvB,MAAM,CAAC,iBAAiB;QACxB,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAC3D,CAAC;QACD,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,KAAK,SAAS,yCAAyC,SAAS,oBAAoB,CACnG,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAC1B,GAAY,EACZ,WAAmB,EACnB,eAA4B;IAE5B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,+BAA+B,CAAC,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,6CAA6C,CAAC,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAA8B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,+CAA+C,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,sBAAsB,CACnC,MAAM,EACN,YAAY,KAAK,EAAE,EACnB,WAAW,EACX,eAAe,CAChB,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CACtB,GAAY,EACZ,WAAmB;IAEnB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CACnB,GAAY,EACZ,WAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,SAAS,EAAE,CAAC,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,MAAM,GAAuB,MAAM,CAAC,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,aAAa,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,cAAc,SAAS,sCAAsC,CAAC,CAAC;QAC3F,CAAC;aAAM,IAAI,aAAa,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,cAAc,SAAS,kDAAkD,CACxF,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,cAAc,SAAS,yCAAyC,aAAa,CAAC,YAAY,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7J,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC;gBACtC,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,SAAS,EAAE,aAAa,CAAC,SAAS;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CACpB,GAAY,EACZ,WAAmB,EACnB,SAAiB;IAEjB,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,+BAA+B,CAAC,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAuC,EAAE,CAAC;IAExD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,oCAAoC,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,QAA4C,EAC5C,WAAmB;IAEnB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE;gBACN,GAAG,WAAW,mCAAmC,QAAQ,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACxH;SACF,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,KAAK,QAAQ,KAAK,cAAc,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;IAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SACzC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACpD,IAAI,EAAE,CAAC;IACV,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,GAAG,QAAQ,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,mDAAmD,CAAC,CAAC;QAC5F,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,8CAA8C,CAAC,CAAC;QACvF,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,KAAK,QAAQ,qBAAqB,EAAE,2BAA2B,MAAM,IAAI,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,qDAAqD,CAAC,CAAC;IAChG,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,uDAAuD,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,oDAAoD,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,GAAG,WAAW,KAAK,QAAQ,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1H,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,KAAK,QAAQ,2CAA2C,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,OAAO;QACL,EAAE;QACF,GAAG,EAAE;YACH,SAAS;YACT,QAAQ;YACR,MAAM;SACP;QACD,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,WAAmB,EACnB,SAAiB,EACjB,QAA4C;IAM5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,aAA0C,CAAC;IAC/C,IAAI,CAAC;QACH,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN,GAAG,WAAW,kCAAkC,WAAW,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;aAC1H;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;QACjC,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,CAAC,GAAG,WAAW,sCAAsC,WAAW,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,SAAmB,CAAC;IACxB,IAAI,CAAC;QACH,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC;aACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACpD,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE;gBACN,GAAG,WAAW,kCAAkC,WAAW,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aAC1H;SACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAuC,EAAE,CAAC;IAExD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,4BAA4B,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,wBAAwB,YAAY,GAAG,CAAC;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAExC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAY,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAC9B,GAAG,WAAW,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/E,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,sBAAsB,CAAC,GAAG,WAAW,6BAA6B,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,cAAc,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,WAAW,CAAC;IAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACzC,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,IAAI,uBAAuB,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;IAE7C,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,QAAQ,EACb,WAAW,EACX,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAC9C,CAAC;IACF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,gBAAgB,CACrC,UAAU,CAAC,MAAM,EAAE,OAAO,EAC1B,WAAW,EACX,SAAS,EACT,cAAc,CAAC,QAAQ,CACxB,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,GAAG,cAAc,CAAC,MAAM,EACxB,GAAG,cAAc,CAAC,MAAM,EACxB,GAAG,UAAU,CAAC,MAAM,EACpB,GAAG,cAAc,CAAC,MAAM,CACzB,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,SAAS;QACT,WAAW;QACX,aAAa;QACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,QAAQ,EAAE,cAAc,CAAC,QAAQ;KAClC,CAAC;AACJ,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import { mkdtemp, readdir, rm, writeFile } from "node:fs/promises";
2
2
  import { tmpdir } from "node:os";
3
3
  import { basename, extname, join } from "node:path";
4
+ import { z } from "zod";
4
5
  import { transcribeMistralAudio } from "../utils/mistral_transcription.js";
5
- import { isRecord } from "../utils/type_guards.js";
6
+ import { formatZodError } from "../utils/zod.js";
6
7
  import { AsyncSessionManagerError, createScopedAsyncSessionManager, } from "./session_manager.js";
7
8
  const DEFAULT_POLL_INTERVAL_MS = 1000;
8
9
  const DEFAULT_REQUEST_TIMEOUT_SECONDS = 30;
@@ -23,6 +24,7 @@ const MAX_TELEGRAM_ATTACHMENTS_PER_TURN = 10;
23
24
  const MAX_TELEGRAM_ATTACHMENT_FILE_BYTES = 20 * 1024 * 1024;
24
25
  const MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES = 50 * 1024 * 1024;
25
26
  const TELEGRAM_ATTACHMENT_TEMP_DIR_PREFIX = "tau-telegram-attachments-";
27
+ const NO_ACTIVE_SESSION_MESSAGE = "no active session. use /new or /sessions";
26
28
  const SUPPORTED_TEXT_ATTACHMENT_EXTENSIONS = new Set([
27
29
  ".txt",
28
30
  ".md",
@@ -251,9 +253,76 @@ function describeSession(session, details = {}) {
251
253
  function formatSessionHeadline(sessionId, label) {
252
254
  return `(${sessionId}) ${label}`;
253
255
  }
256
+ const telegramObject = (shape) => z.object(shape).passthrough();
257
+ const telegramPartialObject = (shape) => telegramObject(shape).partial();
258
+ function parseOrThrow(schema, raw, message) {
259
+ const parsed = schema.safeParse(raw);
260
+ if (!parsed.success) {
261
+ throw new Error(`${message}: ${formatZodError(parsed.error)}`);
262
+ }
263
+ return parsed.data;
264
+ }
265
+ const TelegramEnvelopeSchema = z.discriminatedUnion("ok", [
266
+ z.object({
267
+ ok: z.literal(true),
268
+ description: z.string().optional(),
269
+ result: z.unknown(),
270
+ }),
271
+ z.object({
272
+ ok: z.literal(false),
273
+ description: z.string().optional(),
274
+ result: z.unknown().optional(),
275
+ }),
276
+ ]);
277
+ const TelegramChatSchema = telegramObject({ id: z.number(), type: z.string() });
278
+ const TelegramUserSchema = telegramObject({ id: z.number() });
279
+ const TELEGRAM_FILE_SHAPE = {
280
+ file_id: z.string(),
281
+ file_name: z.string(),
282
+ mime_type: z.string(),
283
+ file_size: z.number(),
284
+ };
285
+ const TelegramFileSchema = telegramPartialObject(TELEGRAM_FILE_SHAPE);
286
+ const TelegramPhotoVariantSchema = telegramPartialObject({
287
+ file_id: z.string(),
288
+ file_size: z.number(),
289
+ width: z.number(),
290
+ height: z.number(),
291
+ });
292
+ const TelegramVoiceSchema = TelegramFileSchema.pick({ file_id: true, mime_type: true });
293
+ const TelegramAudioSchema = TelegramFileSchema.pick({
294
+ file_id: true,
295
+ mime_type: true,
296
+ file_name: true,
297
+ });
298
+ const TelegramMessageSchema = telegramPartialObject({
299
+ message_id: z.number(),
300
+ chat: TelegramChatSchema,
301
+ from: TelegramUserSchema,
302
+ text: z.string(),
303
+ caption: z.string(),
304
+ photo: z.array(TelegramPhotoVariantSchema),
305
+ document: TelegramFileSchema,
306
+ voice: TelegramVoiceSchema,
307
+ audio: TelegramAudioSchema,
308
+ });
309
+ const TelegramCallbackQuerySchema = telegramPartialObject({
310
+ id: z.string(),
311
+ from: TelegramUserSchema,
312
+ data: z.string(),
313
+ message: telegramPartialObject({ chat: TelegramChatSchema }),
314
+ });
315
+ const TelegramUpdateSchema = telegramPartialObject({
316
+ update_id: z.number(),
317
+ message: TelegramMessageSchema,
318
+ callback_query: TelegramCallbackQuerySchema,
319
+ });
320
+ const TelegramGetUpdatesResultSchema = z.array(TelegramUpdateSchema);
321
+ const TelegramGetFileResultSchema = z.object({ file_path: z.string() });
322
+ const TelegramAckResultSchema = z.literal(true);
254
323
  function createTelegramApi(botToken) {
255
324
  const apiUrl = `https://api.telegram.org/bot${botToken}`;
256
- async function callTelegramMethod(method, payload) {
325
+ async function callTelegramMethod(method, payload, resultSchema) {
257
326
  const response = await fetch(`${apiUrl}/${method}`, {
258
327
  method: "POST",
259
328
  headers: {
@@ -265,43 +334,40 @@ function createTelegramApi(botToken) {
265
334
  const detail = (await response.text()).trim();
266
335
  throw new Error(detail || `telegram ${method} failed: HTTP ${response.status}`);
267
336
  }
268
- let data;
337
+ let raw;
269
338
  try {
270
- data = await response.json();
339
+ raw = await response.json();
271
340
  }
272
341
  catch {
273
342
  throw new Error(`telegram ${method} returned invalid JSON`);
274
343
  }
275
- if (!isRecord(data)) {
276
- throw new Error(`telegram ${method} returned an invalid response payload`);
277
- }
278
- if (data.ok !== true) {
279
- const detail = typeof data.description === "string" ? data.description.trim() : "";
344
+ const envelope = parseOrThrow(TelegramEnvelopeSchema, raw, `telegram ${method} returned an invalid response payload`);
345
+ if (!envelope.ok) {
346
+ const detail = envelope.description?.trim() ?? "";
280
347
  throw new Error(detail || `telegram ${method} request failed`);
281
348
  }
282
- return data.result;
349
+ return parseOrThrow(resultSchema, envelope.result, `telegram ${method} returned an invalid result`);
283
350
  }
284
351
  return {
285
352
  async getUpdates(args) {
286
- const updates = await callTelegramMethod("getUpdates", {
353
+ return callTelegramMethod("getUpdates", {
287
354
  offset: args.offset,
288
355
  timeout: args.timeoutSeconds,
289
356
  allowed_updates: args.allowedUpdates,
290
- });
291
- return updates;
357
+ }, TelegramGetUpdatesResultSchema);
292
358
  },
293
359
  async sendMessage(chatId, text, options) {
294
360
  await callTelegramMethod("sendMessage", {
295
361
  chat_id: chatId,
296
362
  text,
297
363
  ...(options?.replyMarkup ? { reply_markup: options.replyMarkup } : {}),
298
- });
364
+ }, z.unknown());
299
365
  },
300
366
  async downloadFile(fileId) {
301
- const file = await callTelegramMethod("getFile", {
367
+ const parsed = await callTelegramMethod("getFile", {
302
368
  file_id: fileId,
303
- });
304
- const filePath = file.file_path?.trim();
369
+ }, TelegramGetFileResultSchema);
370
+ const filePath = parsed.file_path?.trim();
305
371
  if (!filePath) {
306
372
  throw new Error("telegram file path is missing");
307
373
  }
@@ -316,20 +382,20 @@ function createTelegramApi(botToken) {
316
382
  async setCommands(commands) {
317
383
  await callTelegramMethod("setMyCommands", {
318
384
  commands,
319
- });
385
+ }, TelegramAckResultSchema);
320
386
  },
321
387
  async setMessageReaction(chatId, messageId) {
322
388
  await callTelegramMethod("setMessageReaction", {
323
389
  chat_id: chatId,
324
390
  message_id: messageId,
325
391
  reaction: [{ type: "emoji", emoji: MESSAGE_QUEUED_REACTION_EMOJI }],
326
- });
392
+ }, TelegramAckResultSchema);
327
393
  },
328
394
  async answerCallbackQuery(callbackQueryId, text) {
329
395
  await callTelegramMethod("answerCallbackQuery", {
330
396
  callback_query_id: callbackQueryId,
331
397
  ...(text ? { text } : {}),
332
- });
398
+ }, TelegramAckResultSchema);
333
399
  },
334
400
  };
335
401
  }
@@ -471,7 +537,7 @@ class AsyncTelegramAdapterImpl {
471
537
  if (updates === undefined) {
472
538
  return [];
473
539
  }
474
- return updates.filter((entry) => isRecord(entry));
540
+ return updates;
475
541
  }
476
542
  async raceWithAbort(promise) {
477
543
  if (this.abortController.signal.aborted) {
@@ -624,9 +690,8 @@ class AsyncTelegramAdapterImpl {
624
690
  if (parsedAttachments.length === 0) {
625
691
  return;
626
692
  }
627
- const session = this.getActiveOrSingleSession(chatId);
693
+ const session = await this.requireActiveOrSingleSession(chatId);
628
694
  if (!session) {
629
- await this.reply(chatId, "no active session. use /new or /sessions");
630
695
  return;
631
696
  }
632
697
  const pending = this.pendingAttachmentsBySession.get(session.id) ?? [];
@@ -636,17 +701,21 @@ class AsyncTelegramAdapterImpl {
636
701
  for (const attachment of parsedAttachments) {
637
702
  const attachmentLabel = describeAttachment(attachment.fileName, attachment.mimeType);
638
703
  if (pending.length >= MAX_TELEGRAM_ATTACHMENTS_PER_TURN) {
639
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds attachment limit (${MAX_TELEGRAM_ATTACHMENTS_PER_TURN} files per turn)`);
704
+ await this.replySkippedAttachment(chatId, attachmentLabel, `exceeds attachment limit (${MAX_TELEGRAM_ATTACHMENTS_PER_TURN} files per turn)`);
640
705
  continue;
641
706
  }
642
- if (typeof attachment.sizeBytes === "number" &&
643
- attachment.sizeBytes > MAX_TELEGRAM_ATTACHMENT_FILE_BYTES) {
644
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds per-file limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_FILE_BYTES)})`);
707
+ const declaredFileLimitReason = typeof attachment.sizeBytes === "number"
708
+ ? this.getAttachmentPerFileLimitReason(attachment.sizeBytes)
709
+ : undefined;
710
+ if (declaredFileLimitReason) {
711
+ await this.replySkippedAttachment(chatId, attachmentLabel, declaredFileLimitReason);
645
712
  continue;
646
713
  }
647
- if (typeof attachment.sizeBytes === "number" &&
648
- totalSizeBytes + attachment.sizeBytes > MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES) {
649
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds per-turn total limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES)})`);
714
+ const declaredTotalLimitReason = typeof attachment.sizeBytes === "number"
715
+ ? this.getAttachmentTotalLimitReason(totalSizeBytes, attachment.sizeBytes)
716
+ : undefined;
717
+ if (declaredTotalLimitReason) {
718
+ await this.replySkippedAttachment(chatId, attachmentLabel, declaredTotalLimitReason);
650
719
  continue;
651
720
  }
652
721
  let bytes;
@@ -658,12 +727,14 @@ class AsyncTelegramAdapterImpl {
658
727
  continue;
659
728
  }
660
729
  const sizeBytes = bytes.byteLength;
661
- if (sizeBytes > MAX_TELEGRAM_ATTACHMENT_FILE_BYTES) {
662
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds per-file limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_FILE_BYTES)})`);
730
+ const fileLimitReason = this.getAttachmentPerFileLimitReason(sizeBytes);
731
+ if (fileLimitReason) {
732
+ await this.replySkippedAttachment(chatId, attachmentLabel, fileLimitReason);
663
733
  continue;
664
734
  }
665
- if (totalSizeBytes + sizeBytes > MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES) {
666
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds per-turn total limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES)})`);
735
+ const totalLimitReason = this.getAttachmentTotalLimitReason(totalSizeBytes, sizeBytes);
736
+ if (totalLimitReason) {
737
+ await this.replySkippedAttachment(chatId, attachmentLabel, totalLimitReason);
667
738
  continue;
668
739
  }
669
740
  const tempDirPath = await this.getOrCreatePendingAttachmentTempDir(session.id);
@@ -727,12 +798,14 @@ class AsyncTelegramAdapterImpl {
727
798
  await this.reply(chatId, `skipped attachment ${attachmentLabel}: local temp file is missing`);
728
799
  continue;
729
800
  }
730
- if (materialized.sizeBytes > MAX_TELEGRAM_ATTACHMENT_FILE_BYTES) {
731
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds per-file limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_FILE_BYTES)})`);
801
+ const fileLimitReason = this.getAttachmentPerFileLimitReason(materialized.sizeBytes);
802
+ if (fileLimitReason) {
803
+ await this.replySkippedAttachment(chatId, attachmentLabel, fileLimitReason);
732
804
  continue;
733
805
  }
734
- if (totalSizeBytes + materialized.sizeBytes > MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES) {
735
- await this.reply(chatId, `skipped attachment ${attachmentLabel}: exceeds per-turn total limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES)})`);
806
+ const totalLimitReason = this.getAttachmentTotalLimitReason(totalSizeBytes, materialized.sizeBytes);
807
+ if (totalLimitReason) {
808
+ await this.replySkippedAttachment(chatId, attachmentLabel, totalLimitReason);
736
809
  continue;
737
810
  }
738
811
  totalSizeBytes += materialized.sizeBytes;
@@ -826,47 +899,24 @@ class AsyncTelegramAdapterImpl {
826
899
  const parts = splitCommandText(text);
827
900
  const command = stripCommandMention(parts[0] ?? "");
828
901
  const args = parts.slice(1);
829
- if (command === "/help") {
830
- await this.handleHelp(chatId);
831
- return;
832
- }
833
- if (command === "/new") {
834
- await this.handleNew(chatId, args);
835
- return;
836
- }
837
- if (command === "/projects") {
838
- await this.handleProjects(chatId);
839
- return;
840
- }
841
- if (command === "/use") {
842
- await this.handleUse(chatId, args);
843
- return;
844
- }
845
- if (command === "/sessions") {
846
- await this.handleSessions(chatId);
847
- return;
848
- }
849
- if (command === "/status") {
850
- await this.handleStatus(chatId);
851
- return;
852
- }
853
- if (command === "/interrupt") {
854
- await this.handleInterrupt(chatId);
855
- return;
856
- }
857
- if (command === "/close") {
858
- await this.handleClose(chatId, args);
859
- return;
860
- }
861
- if (command === "/verbose") {
862
- await this.handleVerbosityCommand(chatId, "verbose");
863
- return;
864
- }
865
- if (command === "/quiet") {
866
- await this.handleVerbosityCommand(chatId, "quiet");
902
+ const commandHandlers = {
903
+ "/help": () => this.handleHelp(chatId),
904
+ "/new": () => this.handleNew(chatId, args),
905
+ "/projects": () => this.handleProjects(chatId),
906
+ "/use": () => this.handleUse(chatId, args),
907
+ "/sessions": () => this.handleSessions(chatId),
908
+ "/status": () => this.handleStatus(chatId),
909
+ "/interrupt": () => this.handleInterrupt(chatId),
910
+ "/close": () => this.handleClose(chatId, args),
911
+ "/verbose": () => this.handleVerbosityCommand(chatId, "verbose"),
912
+ "/quiet": () => this.handleVerbosityCommand(chatId, "quiet"),
913
+ };
914
+ const handler = commandHandlers[command];
915
+ if (!handler) {
916
+ await this.reply(chatId, "unsupported command. use /help");
867
917
  return;
868
918
  }
869
- await this.reply(chatId, "unsupported command. use /help");
919
+ await handler();
870
920
  }
871
921
  async handleCallback(chatId, callbackData) {
872
922
  if (callbackData.startsWith(CALLBACK_USE_PREFIX)) {
@@ -880,36 +930,22 @@ class AsyncTelegramAdapterImpl {
880
930
  if (!callbackData.startsWith(CALLBACK_ACTION_PREFIX)) {
881
931
  return false;
882
932
  }
883
- const action = callbackData.slice(CALLBACK_ACTION_PREFIX.length);
884
- if (action === "new") {
885
- await this.handleNew(chatId, []);
886
- return true;
887
- }
888
- if (action === "sessions") {
889
- await this.handleSessions(chatId);
890
- return true;
891
- }
892
- if (action === "status") {
893
- await this.handleStatus(chatId);
894
- return true;
895
- }
896
- if (action === "interrupt") {
897
- await this.handleInterrupt(chatId);
898
- return true;
899
- }
900
- if (action === "close") {
901
- await this.handleClose(chatId, []);
902
- return true;
903
- }
904
- if (action === "quiet") {
905
- await this.handleVerbosityCommand(chatId, "quiet");
906
- return true;
907
- }
908
- if (action === "verbose") {
909
- await this.handleVerbosityCommand(chatId, "verbose");
910
- return true;
933
+ const actionHandlers = {
934
+ new: () => this.handleNew(chatId, []),
935
+ sessions: () => this.handleSessions(chatId),
936
+ status: () => this.handleStatus(chatId),
937
+ interrupt: () => this.handleInterrupt(chatId),
938
+ close: () => this.handleClose(chatId, []),
939
+ quiet: () => this.handleVerbosityCommand(chatId, "quiet"),
940
+ verbose: () => this.handleVerbosityCommand(chatId, "verbose"),
941
+ };
942
+ const action = callbackData.slice(CALLBACK_ACTION_PREFIX.length).trim();
943
+ const handler = actionHandlers[action];
944
+ if (!handler) {
945
+ return false;
911
946
  }
912
- return false;
947
+ await handler();
948
+ return true;
913
949
  }
914
950
  async handleHelp(chatId) {
915
951
  const lines = [
@@ -1131,9 +1167,8 @@ class AsyncTelegramAdapterImpl {
1131
1167
  };
1132
1168
  }
1133
1169
  async handleStatus(chatId) {
1134
- const session = this.getActiveSession(chatId);
1170
+ const session = await this.requireActiveSession(chatId);
1135
1171
  if (!session) {
1136
- await this.reply(chatId, "no active session. use /new or /sessions");
1137
1172
  return;
1138
1173
  }
1139
1174
  await this.reply(chatId, describeSession(session, {
@@ -1145,9 +1180,8 @@ class AsyncTelegramAdapterImpl {
1145
1180
  });
1146
1181
  }
1147
1182
  async handleInterrupt(chatId) {
1148
- const session = this.getActiveSession(chatId);
1183
+ const session = await this.requireActiveSession(chatId);
1149
1184
  if (!session) {
1150
- await this.reply(chatId, "no active session. use /new or /sessions");
1151
1185
  return;
1152
1186
  }
1153
1187
  try {
@@ -1190,7 +1224,7 @@ class AsyncTelegramAdapterImpl {
1190
1224
  }
1191
1225
  const sessionId = target ?? this.getActiveSession(chatId)?.id;
1192
1226
  if (!sessionId) {
1193
- await this.reply(chatId, "no active session. use /new or /sessions");
1227
+ await this.reply(chatId, NO_ACTIVE_SESSION_MESSAGE);
1194
1228
  return;
1195
1229
  }
1196
1230
  try {
@@ -1204,38 +1238,28 @@ class AsyncTelegramAdapterImpl {
1204
1238
  }
1205
1239
  }
1206
1240
  async handleVerbosityCommand(chatId, verbosity) {
1207
- const session = this.getActiveSession(chatId);
1241
+ const session = await this.requireActiveSession(chatId);
1208
1242
  if (!session) {
1209
- await this.reply(chatId, "no active session. use /new or /sessions");
1210
1243
  return;
1211
1244
  }
1212
1245
  this.sessionVerbosityBySession.set(session.id, verbosity);
1213
1246
  await this.reply(chatId, formatSessionHeadline(session.id, `verbosity set to ${verbosity}`));
1214
1247
  }
1215
1248
  async handleMessage(chatId, text, sourceMessageId) {
1216
- const session = this.getActiveOrSingleSession(chatId);
1249
+ const session = await this.requireActiveOrSingleSession(chatId);
1217
1250
  if (!session) {
1218
- await this.reply(chatId, "no active session. use /new or /sessions");
1219
1251
  return;
1220
1252
  }
1221
1253
  try {
1222
- const textWithAttachments = await this.buildMessageTextWithAttachments(session.id, text, chatId);
1223
- const sessionManager = this.getSessionManagerForChat(chatId);
1224
- await sessionManager.sendMessage(session.id, textWithAttachments, this.systemMessage ? { additionalSystemMessage: this.systemMessage } : undefined);
1225
- this.resetPendingAttachmentQueue(session.id);
1226
- await this.reactToQueuedMessage(chatId, sourceMessageId);
1227
- if (this.isVerboseSession(session.id)) {
1228
- await this.reply(chatId, this.formatMessageQueued(session.id));
1229
- }
1254
+ await this.submitSessionMessage(chatId, session.id, text, sourceMessageId);
1230
1255
  }
1231
1256
  catch (error) {
1232
1257
  await this.reply(chatId, this.formatManagerError(error));
1233
1258
  }
1234
1259
  }
1235
1260
  async handleAudioMessage(chatId, message, sourceMessageId) {
1236
- const session = this.getActiveOrSingleSession(chatId);
1261
+ const session = await this.requireActiveOrSingleSession(chatId);
1237
1262
  if (!session) {
1238
- await this.reply(chatId, "no active session. use /new or /sessions");
1239
1263
  return;
1240
1264
  }
1241
1265
  if (!this.mistralApiKey) {
@@ -1262,19 +1286,53 @@ class AsyncTelegramAdapterImpl {
1262
1286
  return;
1263
1287
  }
1264
1288
  try {
1265
- const textWithAttachments = await this.buildMessageTextWithAttachments(session.id, transcript, chatId);
1266
- const sessionManager = this.getSessionManagerForChat(chatId);
1267
- await sessionManager.sendMessage(session.id, textWithAttachments, this.systemMessage ? { additionalSystemMessage: this.systemMessage } : undefined);
1268
- this.resetPendingAttachmentQueue(session.id);
1269
- await this.reactToQueuedMessage(chatId, sourceMessageId);
1270
- if (this.isVerboseSession(session.id)) {
1271
- await this.reply(chatId, this.formatMessageQueued(session.id));
1272
- }
1289
+ await this.submitSessionMessage(chatId, session.id, transcript, sourceMessageId);
1273
1290
  }
1274
1291
  catch (error) {
1275
1292
  await this.reply(chatId, this.formatManagerError(error));
1276
1293
  }
1277
1294
  }
1295
+ async requireActiveSession(chatId) {
1296
+ const session = this.getActiveSession(chatId);
1297
+ if (!session) {
1298
+ await this.reply(chatId, NO_ACTIVE_SESSION_MESSAGE);
1299
+ return undefined;
1300
+ }
1301
+ return session;
1302
+ }
1303
+ async requireActiveOrSingleSession(chatId) {
1304
+ const session = this.getActiveOrSingleSession(chatId);
1305
+ if (!session) {
1306
+ await this.reply(chatId, NO_ACTIVE_SESSION_MESSAGE);
1307
+ return undefined;
1308
+ }
1309
+ return session;
1310
+ }
1311
+ async submitSessionMessage(chatId, sessionId, text, sourceMessageId) {
1312
+ const textWithAttachments = await this.buildMessageTextWithAttachments(sessionId, text, chatId);
1313
+ const sessionManager = this.getSessionManagerForChat(chatId);
1314
+ await sessionManager.sendMessage(sessionId, textWithAttachments, this.systemMessage ? { additionalSystemMessage: this.systemMessage } : undefined);
1315
+ this.resetPendingAttachmentQueue(sessionId);
1316
+ await this.reactToQueuedMessage(chatId, sourceMessageId);
1317
+ if (this.isVerboseSession(sessionId)) {
1318
+ await this.reply(chatId, this.formatMessageQueued(sessionId));
1319
+ }
1320
+ }
1321
+ getAttachmentPerFileLimitReason(sizeBytes) {
1322
+ if (sizeBytes <= MAX_TELEGRAM_ATTACHMENT_FILE_BYTES) {
1323
+ return undefined;
1324
+ }
1325
+ return `exceeds per-file limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_FILE_BYTES)})`;
1326
+ }
1327
+ getAttachmentTotalLimitReason(totalSizeBytes, nextSizeBytes) {
1328
+ if (totalSizeBytes + nextSizeBytes <= MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES) {
1329
+ return undefined;
1330
+ }
1331
+ return `exceeds per-turn total limit (${describeAttachmentLimitBytes(MAX_TELEGRAM_ATTACHMENT_TOTAL_BYTES)})`;
1332
+ }
1333
+ async replySkippedAttachment(chatId, attachmentLabel, reason) {
1334
+ await this.reply(chatId, `skipped attachment ${attachmentLabel}: ${reason}`);
1335
+ }
1278
1336
  getActiveSession(chatId) {
1279
1337
  const sessionId = this.activeSessionsByChat.get(chatId);
1280
1338
  if (!sessionId) {