botmux 2.56.0-canary.0 → 2.57.0

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 (146) hide show
  1. package/README.en.md +10 -10
  2. package/README.md +10 -10
  3. package/dist/adapters/backend/herdr-backend.d.ts +80 -0
  4. package/dist/adapters/backend/herdr-backend.d.ts.map +1 -0
  5. package/dist/adapters/backend/herdr-backend.js +519 -0
  6. package/dist/adapters/backend/herdr-backend.js.map +1 -0
  7. package/dist/adapters/backend/session-backend-selector.d.ts +2 -2
  8. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  9. package/dist/adapters/backend/session-backend-selector.js +19 -1
  10. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  11. package/dist/adapters/backend/tmux-pipe-backend.d.ts +10 -4
  12. package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
  13. package/dist/adapters/backend/tmux-pipe-backend.js +11 -5
  14. package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
  15. package/dist/adapters/backend/types.d.ts +7 -0
  16. package/dist/adapters/backend/types.d.ts.map +1 -1
  17. package/dist/adapters/backend/types.js.map +1 -1
  18. package/dist/adapters/cli/codex.d.ts.map +1 -1
  19. package/dist/adapters/cli/codex.js +11 -0
  20. package/dist/adapters/cli/codex.js.map +1 -1
  21. package/dist/bot-registry.d.ts +2 -16
  22. package/dist/bot-registry.d.ts.map +1 -1
  23. package/dist/bot-registry.js +0 -14
  24. package/dist/bot-registry.js.map +1 -1
  25. package/dist/cli.d.ts.map +1 -1
  26. package/dist/cli.js +293 -43
  27. package/dist/cli.js.map +1 -1
  28. package/dist/config.d.ts +2 -1
  29. package/dist/config.d.ts.map +1 -1
  30. package/dist/config.js +13 -3
  31. package/dist/config.js.map +1 -1
  32. package/dist/core/command-handler.d.ts.map +1 -1
  33. package/dist/core/command-handler.js +19 -16
  34. package/dist/core/command-handler.js.map +1 -1
  35. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  36. package/dist/core/dashboard-ipc-server.js +1 -2
  37. package/dist/core/dashboard-ipc-server.js.map +1 -1
  38. package/dist/core/dashboard-rows.d.ts +1 -2
  39. package/dist/core/dashboard-rows.d.ts.map +1 -1
  40. package/dist/core/dashboard-rows.js +4 -6
  41. package/dist/core/dashboard-rows.js.map +1 -1
  42. package/dist/core/pending-response.d.ts +16 -1
  43. package/dist/core/pending-response.d.ts.map +1 -1
  44. package/dist/core/pending-response.js +19 -1
  45. package/dist/core/pending-response.js.map +1 -1
  46. package/dist/core/session-discovery.d.ts +20 -4
  47. package/dist/core/session-discovery.d.ts.map +1 -1
  48. package/dist/core/session-discovery.js +228 -72
  49. package/dist/core/session-discovery.js.map +1 -1
  50. package/dist/core/session-manager.d.ts +44 -1
  51. package/dist/core/session-manager.d.ts.map +1 -1
  52. package/dist/core/session-manager.js +159 -45
  53. package/dist/core/session-manager.js.map +1 -1
  54. package/dist/core/terminal-proxy.d.ts +7 -0
  55. package/dist/core/terminal-proxy.d.ts.map +1 -1
  56. package/dist/core/terminal-proxy.js +84 -63
  57. package/dist/core/terminal-proxy.js.map +1 -1
  58. package/dist/core/types.d.ts +8 -1
  59. package/dist/core/types.d.ts.map +1 -1
  60. package/dist/core/types.js.map +1 -1
  61. package/dist/core/worker-pool.d.ts.map +1 -1
  62. package/dist/core/worker-pool.js +74 -65
  63. package/dist/core/worker-pool.js.map +1 -1
  64. package/dist/daemon.d.ts.map +1 -1
  65. package/dist/daemon.js +24 -11
  66. package/dist/daemon.js.map +1 -1
  67. package/dist/dashboard/bot-onboarding.d.ts.map +1 -1
  68. package/dist/dashboard/bot-onboarding.js +13 -10
  69. package/dist/dashboard/bot-onboarding.js.map +1 -1
  70. package/dist/dashboard/web/groups.d.ts.map +1 -1
  71. package/dist/dashboard/web/groups.js +1 -6
  72. package/dist/dashboard/web/groups.js.map +1 -1
  73. package/dist/dashboard-web/app.js +1 -1
  74. package/dist/i18n/en.d.ts.map +1 -1
  75. package/dist/i18n/en.js +2 -0
  76. package/dist/i18n/en.js.map +1 -1
  77. package/dist/i18n/zh.d.ts.map +1 -1
  78. package/dist/i18n/zh.js +2 -0
  79. package/dist/i18n/zh.js.map +1 -1
  80. package/dist/im/lark/card-builder.d.ts +2 -1
  81. package/dist/im/lark/card-builder.d.ts.map +1 -1
  82. package/dist/im/lark/card-builder.js +19 -2
  83. package/dist/im/lark/card-builder.js.map +1 -1
  84. package/dist/im/lark/card-handler.d.ts.map +1 -1
  85. package/dist/im/lark/card-handler.js +5 -3
  86. package/dist/im/lark/card-handler.js.map +1 -1
  87. package/dist/im/lark/client.d.ts.map +1 -1
  88. package/dist/im/lark/client.js +5 -7
  89. package/dist/im/lark/client.js.map +1 -1
  90. package/dist/im/lark/event-dispatcher.d.ts +1 -2
  91. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  92. package/dist/im/lark/event-dispatcher.js +12 -18
  93. package/dist/im/lark/event-dispatcher.js.map +1 -1
  94. package/dist/setup/agent-preset.d.ts +78 -0
  95. package/dist/setup/agent-preset.d.ts.map +1 -0
  96. package/dist/setup/agent-preset.js +127 -0
  97. package/dist/setup/agent-preset.js.map +1 -0
  98. package/dist/setup/bot-config-editor.js +2 -2
  99. package/dist/setup/bot-config-editor.js.map +1 -1
  100. package/dist/setup/ensure-herdr-integrations.d.ts +26 -0
  101. package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -0
  102. package/dist/setup/ensure-herdr-integrations.js +127 -0
  103. package/dist/setup/ensure-herdr-integrations.js.map +1 -0
  104. package/dist/setup/ensure-herdr.d.ts +12 -0
  105. package/dist/setup/ensure-herdr.d.ts.map +1 -0
  106. package/dist/setup/ensure-herdr.js +70 -0
  107. package/dist/setup/ensure-herdr.js.map +1 -0
  108. package/dist/setup/ensure-opus.d.ts +13 -0
  109. package/dist/setup/ensure-opus.d.ts.map +1 -0
  110. package/dist/setup/ensure-opus.js +64 -0
  111. package/dist/setup/ensure-opus.js.map +1 -0
  112. package/dist/setup/ensure-tmux.d.ts +13 -0
  113. package/dist/setup/ensure-tmux.d.ts.map +1 -1
  114. package/dist/setup/ensure-tmux.js +4 -4
  115. package/dist/setup/ensure-tmux.js.map +1 -1
  116. package/dist/setup/index.d.ts +4 -0
  117. package/dist/setup/index.d.ts.map +1 -1
  118. package/dist/setup/index.js +78 -1
  119. package/dist/setup/index.js.map +1 -1
  120. package/dist/setup/verify-permissions.d.ts +1 -2
  121. package/dist/setup/verify-permissions.d.ts.map +1 -1
  122. package/dist/setup/verify-permissions.js +8 -5
  123. package/dist/setup/verify-permissions.js.map +1 -1
  124. package/dist/types.d.ts +14 -3
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/utils/lark-upload.d.ts +1 -2
  127. package/dist/utils/lark-upload.d.ts.map +1 -1
  128. package/dist/utils/lark-upload.js +7 -11
  129. package/dist/utils/lark-upload.js.map +1 -1
  130. package/dist/utils/transient-snapshot.d.ts +3 -3
  131. package/dist/utils/transient-snapshot.js +3 -3
  132. package/dist/utils/user-token.d.ts +4 -12
  133. package/dist/utils/user-token.d.ts.map +1 -1
  134. package/dist/utils/user-token.js +25 -64
  135. package/dist/utils/user-token.js.map +1 -1
  136. package/dist/worker.js +252 -183
  137. package/dist/worker.js.map +1 -1
  138. package/dist/workflows/attempt-resume.d.ts +2 -1
  139. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  140. package/dist/workflows/attempt-resume.js.map +1 -1
  141. package/dist/workflows/definition.d.ts +22 -22
  142. package/package.json +1 -1
  143. package/dist/im/lark/lark-hosts.d.ts +0 -44
  144. package/dist/im/lark/lark-hosts.d.ts.map +0 -1
  145. package/dist/im/lark/lark-hosts.js +0 -49
  146. package/dist/im/lark/lark-hosts.js.map +0 -1
package/README.en.md CHANGED
@@ -15,14 +15,14 @@
15
15
  <a href="#design-philosophy">Design</a> &middot;
16
16
  <a href="#key-advantages">Advantages</a> &middot;
17
17
  <a href="#5-minute-setup">Quick Start</a> &middot;
18
- <a href="https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2"><b>📖 Docs</b></a>
18
+ <a href="https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/"><b>📖 Docs</b></a>
19
19
  </p>
20
20
 
21
21
  [中文](README.md) | English
22
22
 
23
23
  **Plug any AI coding CLI into Lark (Feishu) topic groups — one thread per session, streaming cards, web terminal, zero glue code.**
24
24
 
25
- > 📖 **Full docs** (commands / config / best practices / troubleshooting): **<https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2>** — this README only covers why and how to get started fast.
25
+ > 📖 **Full docs** (commands / config / best practices / troubleshooting): **<https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/>** — this README only covers why and how to get started fast.
26
26
 
27
27
  | Lark Streaming Cards | Web Terminal | tmux Session Management | Multi-Bot Collaboration |
28
28
  |:-:|:-:|:-:|:-:|
@@ -197,7 +197,7 @@ On mobile/tablet, a floating shortcut toolbar provides Esc, Ctrl+C, Tab, arrow k
197
197
 
198
198
  ### Multi-Bot Collaboration
199
199
 
200
- Run multiple Lark bots on a single machine, each mapped to a different CLI. In the same group chat, messages are routed via @mention — each bot gets its own isolated CLI process. With a single bot in the group, it responds automatically without @. In a regular (non-topic) group, `@<bot1> @<bot2> /t xxx` spawns one independent thread per mentioned bot anchored at the same message. Send `@<bot1> @<bot2> /introduce` once so they register each other's open_id; afterwards each bot can explicitly @-mention the others from within its own session (commands: [📖 Docs · Slash Commands](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/slash-commands)).
200
+ Run multiple Lark bots on a single machine, each mapped to a different CLI. In the same group chat, messages are routed via @mention — each bot gets its own isolated CLI process. With a single bot in the group, it responds automatically without @. In a regular (non-topic) group, `@<bot1> @<bot2> /t xxx` spawns one independent thread per mentioned bot anchored at the same message. Send `@<bot1> @<bot2> /introduce` once so they register each other's open_id; afterwards each bot can explicitly @-mention the others from within its own session (commands: [📖 Docs · Slash Commands](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands)).
201
201
 
202
202
  ### Multi-Topic Collaboration
203
203
 
@@ -333,16 +333,16 @@ Gemini / OpenCode / Antigravity), with no MCP protocol support required.
333
333
 
334
334
  The full reference — commands, config, best practices, troubleshooting — lives in the docs site; not duplicated here —
335
335
 
336
- ### 👉 https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2
336
+ ### 👉 https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/
337
337
 
338
338
  | Topic | Docs |
339
339
  |-------|------|
340
- | Slash commands / CLI commands / agent-facing subcommands | [Commands](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/slash-commands) |
341
- | `bots.json` fields / env vars / file locations | [Configuration](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/bots-json) |
342
- | Multi-CLI adapters (incl. wrapper / gateway integration) | [Adapters](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/adapters) |
343
- | Scenario-based best practices (Oncall / alerting-ops / solo dev / team) | [Best Practices](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/best-practices) |
344
- | Common pitfalls / FAQ | [Pitfalls](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/pitfalls) · [FAQ](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/faq) |
345
- | Features: scheduled tasks / Oncall / Dashboard / multi-bot / session relay | [Schedule](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/schedule) · [Oncall](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/oncall) · [Dashboard](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/dashboard) · [Multi-bot](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/multi-bot) · [Relay](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/relay) |
340
+ | Slash commands / CLI commands / agent-facing subcommands | [Commands](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands) |
341
+ | `bots.json` fields / env vars / file locations | [Configuration](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/bots-json) |
342
+ | Multi-CLI adapters (incl. wrapper / gateway integration) | [Adapters](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/adapters) |
343
+ | Scenario-based best practices (Oncall / alerting-ops / solo dev / team) | [Best Practices](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/best-practices) |
344
+ | Common pitfalls / FAQ | [Pitfalls](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/pitfalls) · [FAQ](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/faq) |
345
+ | Features: scheduled tasks / Oncall / Dashboard / multi-bot / session relay | [Schedule](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/schedule) · [Oncall](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/oncall) · [Dashboard](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/dashboard) · [Multi-bot](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/multi-bot) · [Relay](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/relay) |
346
346
 
347
347
  ## Contributing
348
348
 
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  </p>
13
13
 
14
14
  <p align="center">
15
- <a href="#设计理念">设计理念</a> · <a href="#核心优势">核心优势</a> · <a href="#5-分钟快速接入">快速接入</a> · <a href="https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2"><b>📖 文档</b></a>
15
+ <a href="#设计理念">设计理念</a> · <a href="#核心优势">核心优势</a> · <a href="#5-分钟快速接入">快速接入</a> · <a href="https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/"><b>📖 文档</b></a>
16
16
  </p>
17
17
 
18
18
  <p align="center">
@@ -23,7 +23,7 @@
23
23
 
24
24
  **飞书话题群 + AI 编程 CLI,一条消息启动编程会话。** Daemon 监听飞书消息,为每个新话题自动启动独立 CLI 进程(Claude Code / Codex / Cursor / Gemini / OpenCode / Antigravity),提供实时流式卡片和可交互 Web 终端。
25
25
 
26
- > 📖 **完整文档**(命令 / 配置 / 最佳实践 / 排错):**<https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2>** ——本 README 只讲为什么用它和怎么快速上手。
26
+ > 📖 **完整文档**(命令 / 配置 / 最佳实践 / 排错):**<https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/>** ——本 README 只讲为什么用它和怎么快速上手。
27
27
 
28
28
  ## 演示
29
29
 
@@ -88,7 +88,7 @@ botmux 不重新实现 Agent 能力,而是直接桥接已有的 AI 编程 CLI
88
88
 
89
89
  ### 多机器人协作
90
90
 
91
- 同一台机器上可运行多个飞书机器人,每个机器人可对应不同的 CLI。同一群聊中通过 @mention 路由消息,仅有一个机器人时无需 @ 自动响应;多机器人时 `@<bot1> @<bot2> /t xxx` 可让每个被 @ 的机器人在同一条消息上各自独立开新话题。先发一次 `@<bot1> @<bot2> /introduce` 让它们互相登记 open_id,之后各 bot 就能在自己的会话里显式 @mention 对方协作(命令详见 [📖 文档 · 斜杠命令](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/slash-commands))。
91
+ 同一台机器上可运行多个飞书机器人,每个机器人可对应不同的 CLI。同一群聊中通过 @mention 路由消息,仅有一个机器人时无需 @ 自动响应;多机器人时 `@<bot1> @<bot2> /t xxx` 可让每个被 @ 的机器人在同一条消息上各自独立开新话题。先发一次 `@<bot1> @<bot2> /introduce` 让它们互相登记 open_id,之后各 bot 就能在自己的会话里显式 @mention 对方协作(命令详见 [📖 文档 · 斜杠命令](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands))。
92
92
 
93
93
  ### 多话题协作模式
94
94
 
@@ -326,16 +326,16 @@ PersonalAgent 默认配好事件订阅 + bot 能力,正常情况下不用动
326
326
 
327
327
  命令、配置、最佳实践、排错的完整内容都在文档站,这里不再重复 ——
328
328
 
329
- ### 👉 https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2
329
+ ### 👉 https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/
330
330
 
331
331
  | 主题 | 文档 |
332
332
  |------|------|
333
- | 斜杠命令 / CLI 命令 / 会话内子命令 | [命令参考](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/slash-commands) |
334
- | `bots.json` 字段 / 环境变量 / 文件位置 | [配置参考](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/bots-json) |
335
- | 多 CLI 适配器(含 wrapper / 网关接入) | [适配器](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/adapters) |
336
- | 按场景的最佳实践(Oncall / 报警运维 / 个人研发 / 多人协作) | [最佳实践](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/best-practices) |
337
- | 常见踩坑 / FAQ 排错 | [踩坑](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/pitfalls) · [FAQ](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/faq) |
338
- | 功能详解:定时任务 / Oncall / Dashboard / 多机器人协作 / 会话接力 | [定时](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/schedule) · [Oncall](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/oncall) · [Dashboard](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/dashboard) · [多 bot](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/multi-bot) · [接力](https://magic.solutionsuite.cn/html-box/vkWHeJn1Fn2#/relay) |
333
+ | 斜杠命令 / CLI 命令 / 会话内子命令 | [命令参考](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/slash-commands) |
334
+ | `bots.json` 字段 / 环境变量 / 文件位置 | [配置参考](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/bots-json) |
335
+ | 多 CLI 适配器(含 wrapper / 网关接入) | [适配器](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/adapters) |
336
+ | 按场景的最佳实践(Oncall / 报警运维 / 个人研发 / 多人协作) | [最佳实践](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/best-practices) |
337
+ | 常见踩坑 / FAQ 排错 | [踩坑](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/pitfalls) · [FAQ](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/faq) |
338
+ | 功能详解:定时任务 / Oncall / Dashboard / 多机器人协作 / 会话接力 | [定时](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/schedule) · [Oncall](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/oncall) · [Dashboard](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/dashboard) · [多 bot](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/multi-bot) · [接力](https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/relay) |
339
339
 
340
340
  ## 贡献
341
341
 
@@ -0,0 +1,80 @@
1
+ import type { BackendType, SessionBackend, SpawnOpts } from './types.js';
2
+ export type PersistentBackendType = Exclude<BackendType, 'pty'>;
3
+ export interface HerdrExternalTarget {
4
+ sessionName: string;
5
+ target: string;
6
+ paneId?: string;
7
+ }
8
+ export declare class HerdrBackend implements SessionBackend {
9
+ private readonly sessionName;
10
+ private readonly opts;
11
+ private serverProcess;
12
+ private pollTimer;
13
+ private statusWaitProcesses;
14
+ private readonly dataCbs;
15
+ private readonly exitCbs;
16
+ private readonly agentName;
17
+ private paneId;
18
+ private lastText;
19
+ private exited;
20
+ private started;
21
+ private cols;
22
+ private rows;
23
+ private agentProbeFailures;
24
+ private childEnv;
25
+ claudeJsonlPath?: string;
26
+ cliPid?: number;
27
+ cliCwd?: string;
28
+ constructor(sessionName: string, opts?: {
29
+ createSession?: boolean;
30
+ isReattach?: boolean;
31
+ externalTarget?: HerdrExternalTarget;
32
+ });
33
+ static isAvailable(): boolean;
34
+ static sessionName(sessionId: string): string;
35
+ static hasSession(name: string): boolean;
36
+ static killSession(name: string): void;
37
+ static listBotmuxSessions(): string[];
38
+ get isReattach(): boolean;
39
+ spawn(bin: string, args: string[], opts: SpawnOpts): void;
40
+ write(data: string): void;
41
+ sendText(text: string): void;
42
+ sendSpecialKeys(...keys: string[]): void;
43
+ pasteText(text: string): void;
44
+ resize(cols: number, rows: number): void;
45
+ onData(cb: (data: string) => void): void;
46
+ onExit(cb: (code: number | null, signal: string | null) => void): void;
47
+ kill(): void;
48
+ destroySession(): void;
49
+ getChildPid(): number | null;
50
+ getAttachInfo(): null;
51
+ captureCurrentScreen(): string;
52
+ captureViewport(): string;
53
+ getPaneSize(): {
54
+ cols: number;
55
+ rows: number;
56
+ } | null;
57
+ private ensureServer;
58
+ private getAgent;
59
+ private listAgents;
60
+ private readVisibleAnsi;
61
+ private readRecentAnsi;
62
+ private startPolling;
63
+ private stopPolling;
64
+ private poll;
65
+ /** Read herdr pane recent output and emit the delta vs. last snapshot. */
66
+ private readAndEmitDelta;
67
+ /**
68
+ * Spawn one `herdr wait agent-status` child per "result settled" status
69
+ * (done / blocked / idle). The first to fire wins → we read+emit, then
70
+ * tear down the losers and re-arm a fresh cohort. Parallel watchers are
71
+ * needed because the herdr CLI only accepts one --status at a time, and
72
+ * we genuinely care about all three transitions: `done` is "turn finished
73
+ * with output", `blocked` is "agent wants user input", `idle` is the
74
+ * degraded form of done after herdr's UI marks it seen.
75
+ */
76
+ private startStatusWatcher;
77
+ private stopStatusWatcher;
78
+ private handleExit;
79
+ }
80
+ //# sourceMappingURL=herdr-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdr-backend.d.ts","sourceRoot":"","sources":["../../../src/adapters/backend/herdr-backend.ts"],"names":[],"mappings":"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"}