botmux 2.52.0 → 2.54.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 (150) hide show
  1. package/README.en.md +22 -269
  2. package/README.md +21 -300
  3. package/dist/adapters/backend/session-backend-selector.d.ts +5 -1
  4. package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
  5. package/dist/adapters/backend/session-backend-selector.js +15 -1
  6. package/dist/adapters/backend/session-backend-selector.js.map +1 -1
  7. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  8. package/dist/adapters/backend/tmux-backend.js +3 -0
  9. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  10. package/dist/adapters/backend/types.d.ts +22 -0
  11. package/dist/adapters/backend/types.d.ts.map +1 -1
  12. package/dist/adapters/backend/types.js +7 -1
  13. package/dist/adapters/backend/types.js.map +1 -1
  14. package/dist/adapters/backend/zellij-backend.d.ts +132 -0
  15. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -0
  16. package/dist/adapters/backend/zellij-backend.js +375 -0
  17. package/dist/adapters/backend/zellij-backend.js.map +1 -0
  18. package/dist/adapters/backend/zellij-observe-backend.d.ts +62 -0
  19. package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -0
  20. package/dist/adapters/backend/zellij-observe-backend.js +218 -0
  21. package/dist/adapters/backend/zellij-observe-backend.js.map +1 -0
  22. package/dist/adapters/cli/claude-code.d.ts +39 -5
  23. package/dist/adapters/cli/claude-code.d.ts.map +1 -1
  24. package/dist/adapters/cli/claude-code.js +53 -31
  25. package/dist/adapters/cli/claude-code.js.map +1 -1
  26. package/dist/adapters/cli/registry.d.ts +2 -1
  27. package/dist/adapters/cli/registry.d.ts.map +1 -1
  28. package/dist/adapters/cli/registry.js +3 -1
  29. package/dist/adapters/cli/registry.js.map +1 -1
  30. package/dist/adapters/cli/seed.d.ts +29 -0
  31. package/dist/adapters/cli/seed.d.ts.map +1 -0
  32. package/dist/adapters/cli/seed.js +63 -0
  33. package/dist/adapters/cli/seed.js.map +1 -0
  34. package/dist/adapters/cli/types.d.ts +17 -1
  35. package/dist/adapters/cli/types.d.ts.map +1 -1
  36. package/dist/bot-registry.d.ts +1 -1
  37. package/dist/bot-registry.d.ts.map +1 -1
  38. package/dist/cli.d.ts.map +1 -1
  39. package/dist/cli.js +79 -49
  40. package/dist/cli.js.map +1 -1
  41. package/dist/config.d.ts +7 -1
  42. package/dist/config.d.ts.map +1 -1
  43. package/dist/config.js +8 -0
  44. package/dist/config.js.map +1 -1
  45. package/dist/core/ask-hook/registry.d.ts.map +1 -1
  46. package/dist/core/ask-hook/registry.js +4 -0
  47. package/dist/core/ask-hook/registry.js.map +1 -1
  48. package/dist/core/command-handler.d.ts +4 -1
  49. package/dist/core/command-handler.d.ts.map +1 -1
  50. package/dist/core/command-handler.js +100 -8
  51. package/dist/core/command-handler.js.map +1 -1
  52. package/dist/core/dispatch.d.ts +33 -0
  53. package/dist/core/dispatch.d.ts.map +1 -1
  54. package/dist/core/dispatch.js +26 -0
  55. package/dist/core/dispatch.js.map +1 -1
  56. package/dist/core/pending-response.d.ts +31 -0
  57. package/dist/core/pending-response.d.ts.map +1 -0
  58. package/dist/core/pending-response.js +87 -0
  59. package/dist/core/pending-response.js.map +1 -0
  60. package/dist/core/session-discovery.d.ts +13 -4
  61. package/dist/core/session-discovery.d.ts.map +1 -1
  62. package/dist/core/session-discovery.js +5 -5
  63. package/dist/core/session-discovery.js.map +1 -1
  64. package/dist/core/session-manager.d.ts +10 -0
  65. package/dist/core/session-manager.d.ts.map +1 -1
  66. package/dist/core/session-manager.js +59 -19
  67. package/dist/core/session-manager.js.map +1 -1
  68. package/dist/core/types.d.ts +8 -2
  69. package/dist/core/types.d.ts.map +1 -1
  70. package/dist/core/types.js.map +1 -1
  71. package/dist/core/worker-pool.d.ts +2 -2
  72. package/dist/core/worker-pool.d.ts.map +1 -1
  73. package/dist/core/worker-pool.js +89 -15
  74. package/dist/core/worker-pool.js.map +1 -1
  75. package/dist/core/zellij-adopt-discovery.d.ts +28 -0
  76. package/dist/core/zellij-adopt-discovery.d.ts.map +1 -0
  77. package/dist/core/zellij-adopt-discovery.js +276 -0
  78. package/dist/core/zellij-adopt-discovery.js.map +1 -0
  79. package/dist/core/zellij-session-discovery.d.ts +73 -0
  80. package/dist/core/zellij-session-discovery.d.ts.map +1 -0
  81. package/dist/core/zellij-session-discovery.js +259 -0
  82. package/dist/core/zellij-session-discovery.js.map +1 -0
  83. package/dist/daemon.d.ts.map +1 -1
  84. package/dist/daemon.js +70 -4
  85. package/dist/daemon.js.map +1 -1
  86. package/dist/dashboard/web/i18n.js +1 -1
  87. package/dist/dashboard/web/i18n.js.map +1 -1
  88. package/dist/dashboard/web/sessions.d.ts.map +1 -1
  89. package/dist/dashboard/web/sessions.js +1 -0
  90. package/dist/dashboard/web/sessions.js.map +1 -1
  91. package/dist/dashboard/web/workflows.js +1 -1
  92. package/dist/dashboard/web/workflows.js.map +1 -1
  93. package/dist/dashboard-web/app.js +3 -3
  94. package/dist/i18n/en.d.ts.map +1 -1
  95. package/dist/i18n/en.js +12 -0
  96. package/dist/i18n/en.js.map +1 -1
  97. package/dist/i18n/zh.d.ts.map +1 -1
  98. package/dist/i18n/zh.js +13 -1
  99. package/dist/i18n/zh.js.map +1 -1
  100. package/dist/im/lark/card-builder.d.ts +7 -1
  101. package/dist/im/lark/card-builder.d.ts.map +1 -1
  102. package/dist/im/lark/card-builder.js +92 -2
  103. package/dist/im/lark/card-builder.js.map +1 -1
  104. package/dist/im/lark/card-handler.d.ts.map +1 -1
  105. package/dist/im/lark/card-handler.js +78 -6
  106. package/dist/im/lark/card-handler.js.map +1 -1
  107. package/dist/im/lark/event-dispatcher.d.ts +8 -1
  108. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  109. package/dist/im/lark/event-dispatcher.js +28 -0
  110. package/dist/im/lark/event-dispatcher.js.map +1 -1
  111. package/dist/im/lark/grant-command.d.ts +13 -0
  112. package/dist/im/lark/grant-command.d.ts.map +1 -1
  113. package/dist/im/lark/grant-command.js +93 -0
  114. package/dist/im/lark/grant-command.js.map +1 -1
  115. package/dist/services/codex-app-threads.d.ts +20 -0
  116. package/dist/services/codex-app-threads.d.ts.map +1 -0
  117. package/dist/services/codex-app-threads.js +165 -0
  118. package/dist/services/codex-app-threads.js.map +1 -0
  119. package/dist/services/pending-response-transaction-store.d.ts +12 -0
  120. package/dist/services/pending-response-transaction-store.d.ts.map +1 -0
  121. package/dist/services/pending-response-transaction-store.js +52 -0
  122. package/dist/services/pending-response-transaction-store.js.map +1 -0
  123. package/dist/services/session-store.d.ts.map +1 -1
  124. package/dist/services/session-store.js +15 -1
  125. package/dist/services/session-store.js.map +1 -1
  126. package/dist/setup/bot-config-editor.d.ts +1 -1
  127. package/dist/setup/bot-config-editor.d.ts.map +1 -1
  128. package/dist/setup/bot-config-editor.js +5 -4
  129. package/dist/setup/bot-config-editor.js.map +1 -1
  130. package/dist/setup/ensure-zellij.d.ts +48 -0
  131. package/dist/setup/ensure-zellij.d.ts.map +1 -0
  132. package/dist/setup/ensure-zellij.js +93 -0
  133. package/dist/setup/ensure-zellij.js.map +1 -0
  134. package/dist/types.d.ts +14 -3
  135. package/dist/types.d.ts.map +1 -1
  136. package/dist/utils/anchor-serializer.d.ts +3 -2
  137. package/dist/utils/anchor-serializer.d.ts.map +1 -1
  138. package/dist/utils/anchor-serializer.js +20 -5
  139. package/dist/utils/anchor-serializer.js.map +1 -1
  140. package/dist/utils/transient-snapshot.js +2 -2
  141. package/dist/utils/transient-snapshot.js.map +1 -1
  142. package/dist/worker.js +235 -32
  143. package/dist/worker.js.map +1 -1
  144. package/dist/workflows/attempt-resume.d.ts +1 -1
  145. package/dist/workflows/attempt-resume.d.ts.map +1 -1
  146. package/dist/workflows/attempt-resume.js +1 -1
  147. package/dist/workflows/attempt-resume.js.map +1 -1
  148. package/dist/workflows/events/payloads.d.ts +20 -20
  149. package/dist/workflows/events/schema.d.ts +48 -48
  150. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ /** Minimum zellij version with the full CLI-automation surface we depend on. */
2
+ export declare const MIN_ZELLIJ_VERSION: {
3
+ major: number;
4
+ minor: number;
5
+ patch: number;
6
+ };
7
+ /**
8
+ * Strip zellij-injected env vars when spawning a `zellij` child process.
9
+ *
10
+ * If the parent was launched from inside a zellij session, `ZELLIJ` and
11
+ * `ZELLIJ_SESSION_NAME` are exported. Any `zellij` subcommand we run then
12
+ * resolves against that parent session (e.g. `action` targets the wrong
13
+ * session, `attach` nests), so we drop them — the analogue of tmuxEnv()
14
+ * stripping TMUX/TMUX_PANE.
15
+ */
16
+ export declare function zellijEnv(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
17
+ /** Parse `zellij 0.44.1` → {major,minor,patch}. Returns undefined if unparseable. */
18
+ export declare function parseZellijVersion(raw: string): {
19
+ major: number;
20
+ minor: number;
21
+ patch: number;
22
+ } | undefined;
23
+ /** True iff `v` >= MIN_ZELLIJ_VERSION (pure — unit testable). */
24
+ export declare function isZellijVersionSupported(v: {
25
+ major: number;
26
+ minor: number;
27
+ patch: number;
28
+ }, min?: {
29
+ major: number;
30
+ minor: number;
31
+ patch: number;
32
+ }): boolean;
33
+ /**
34
+ * Functional zellij probe — actually creates a headless background session and
35
+ * tears it down. `zellij --version` only checks the binary; this verifies the
36
+ * server can fork + that the version is new enough.
37
+ *
38
+ * Uses `attach --create-background` (no TTY required — verified) and
39
+ * `delete-session -f` so we never leave a resurrectable corpse behind.
40
+ */
41
+ export declare function probeZellijFunctional(): {
42
+ ok: true;
43
+ version: string;
44
+ } | {
45
+ ok: false;
46
+ reason: string;
47
+ };
48
+ //# sourceMappingURL=ensure-zellij.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-zellij.d.ts","sourceRoot":"","sources":["../../src/setup/ensure-zellij.ts"],"names":[],"mappings":"AAgBA,gFAAgF;AAChF,eAAO,MAAM,kBAAkB;;;;CAAoC,CAAC;AAEpE;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAGjF;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAI3G;AAED,iEAAiE;AACjE,wBAAgB,wBAAwB,CACtC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAClD,GAAG;;;;CAAqB,GACvB,OAAO,CAIT;AAeD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuBrG"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Zellij availability probe + env hygiene, mirroring ensure-tmux.ts.
3
+ *
4
+ * Zellij is an OPT-IN backend (BACKEND_TYPE=zellij) — there's no auto-install
5
+ * here (tmux stays the default). We only need a functional probe so the worker
6
+ * can fall back to PTY when zellij is requested but unusable, and an env
7
+ * sanitiser so nested-session vars don't make our `zellij` calls target the
8
+ * wrong server.
9
+ *
10
+ * The driveable automation surface (action write/dump-screen/list-panes --json,
11
+ * headless `attach --create-background`) landed in zellij 0.40–0.44; we require
12
+ * >= 0.44.0 because send-keys / `--ansi` dumps / JSON pane listing all arrived
13
+ * in 0.44.0 and older zellij is not a viable backend.
14
+ */
15
+ import { execFileSync, spawnSync } from 'node:child_process';
16
+ /** Minimum zellij version with the full CLI-automation surface we depend on. */
17
+ export const MIN_ZELLIJ_VERSION = { major: 0, minor: 44, patch: 0 };
18
+ /**
19
+ * Strip zellij-injected env vars when spawning a `zellij` child process.
20
+ *
21
+ * If the parent was launched from inside a zellij session, `ZELLIJ` and
22
+ * `ZELLIJ_SESSION_NAME` are exported. Any `zellij` subcommand we run then
23
+ * resolves against that parent session (e.g. `action` targets the wrong
24
+ * session, `attach` nests), so we drop them — the analogue of tmuxEnv()
25
+ * stripping TMUX/TMUX_PANE.
26
+ */
27
+ export function zellijEnv(env = process.env) {
28
+ const { ZELLIJ: _z, ZELLIJ_SESSION_NAME: _zn, ...rest } = env;
29
+ return rest;
30
+ }
31
+ /** Parse `zellij 0.44.1` → {major,minor,patch}. Returns undefined if unparseable. */
32
+ export function parseZellijVersion(raw) {
33
+ const m = raw.match(/(\d+)\.(\d+)\.(\d+)/);
34
+ if (!m)
35
+ return undefined;
36
+ return { major: Number(m[1]), minor: Number(m[2]), patch: Number(m[3]) };
37
+ }
38
+ /** True iff `v` >= MIN_ZELLIJ_VERSION (pure — unit testable). */
39
+ export function isZellijVersionSupported(v, min = MIN_ZELLIJ_VERSION) {
40
+ if (v.major !== min.major)
41
+ return v.major > min.major;
42
+ if (v.minor !== min.minor)
43
+ return v.minor > min.minor;
44
+ return v.patch >= min.patch;
45
+ }
46
+ function probeZellijVersion() {
47
+ try {
48
+ return execFileSync('zellij', ['--version'], {
49
+ encoding: 'utf-8',
50
+ stdio: ['ignore', 'pipe', 'ignore'],
51
+ timeout: 3000,
52
+ env: zellijEnv(),
53
+ }).trim();
54
+ }
55
+ catch {
56
+ return undefined;
57
+ }
58
+ }
59
+ /**
60
+ * Functional zellij probe — actually creates a headless background session and
61
+ * tears it down. `zellij --version` only checks the binary; this verifies the
62
+ * server can fork + that the version is new enough.
63
+ *
64
+ * Uses `attach --create-background` (no TTY required — verified) and
65
+ * `delete-session -f` so we never leave a resurrectable corpse behind.
66
+ */
67
+ export function probeZellijFunctional() {
68
+ const raw = probeZellijVersion();
69
+ if (!raw)
70
+ return { ok: false, reason: 'zellij 二进制不在 PATH 上' };
71
+ const parsed = parseZellijVersion(raw);
72
+ if (!parsed)
73
+ return { ok: false, reason: `无法解析 zellij 版本:${raw}` };
74
+ if (!isZellijVersionSupported(parsed)) {
75
+ return {
76
+ ok: false,
77
+ reason: `${raw} 过旧,需 >= ${MIN_ZELLIJ_VERSION.major}.${MIN_ZELLIJ_VERSION.minor}.${MIN_ZELLIJ_VERSION.patch}(CLI 自动化能力 send-keys/dump-screen --ansi/list-panes --json 在 0.44.0 才齐全)`,
78
+ };
79
+ }
80
+ const name = `bmx-probe-${process.pid}-${Date.now()}`;
81
+ const create = spawnSync('zellij', ['attach', '--create-background', name], {
82
+ stdio: ['ignore', 'ignore', 'pipe'],
83
+ timeout: 5000,
84
+ env: zellijEnv(),
85
+ });
86
+ if (create.status !== 0) {
87
+ const stderr = (create.stderr?.toString() ?? '').trim();
88
+ return { ok: false, reason: stderr || `zellij attach --create-background 失败 (exit ${create.status})` };
89
+ }
90
+ spawnSync('zellij', ['delete-session', name, '-f'], { stdio: 'ignore', timeout: 3000, env: zellijEnv() });
91
+ return { ok: true, version: raw };
92
+ }
93
+ //# sourceMappingURL=ensure-zellij.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-zellij.js","sourceRoot":"","sources":["../../src/setup/ensure-zellij.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -57,6 +57,11 @@ export interface Session {
57
57
  /** Whether the quote-target sender is a bot (vs a human) — drives the
58
58
  * @ hard-gate's context-aware error text. */
59
59
  quoteTargetSenderIsBot?: boolean;
60
+ /** Pending placeholder card used when streaming cards are disabled. The first
61
+ * botmux send for the turn PATCHes this card instead of posting a new one. */
62
+ pendingResponseCardId?: string;
63
+ pendingResponseCardState?: 'open' | 'patched';
64
+ lastPatchedResponseCardId?: string;
60
65
  /** Persisted streaming-card state — allows the existing card to be PATCHed
61
66
  * (rather than a fresh POST) after daemon restart. */
62
67
  streamCardId?: string;
@@ -75,9 +80,13 @@ export interface Session {
75
80
  cliSessionId?: string;
76
81
  /** CLI used to spawn this session — stamped on every save so closed sessions retain it. */
77
82
  cliId?: import('./adapters/cli/types.js').CliId;
78
- /** Persisted adopt metadata — allows adopt sessions to survive daemon restarts. */
83
+ /** Persisted adopt metadata — allows adopt sessions to survive daemon restarts.
84
+ * Either tmuxTarget (tmux backend) OR zellijSession+zellijPaneId (zellij). */
79
85
  adoptedFrom?: {
80
- tmuxTarget: string;
86
+ tmuxTarget?: string;
87
+ /** zellij adopt target: session name + pane id (e.g. "terminal_1"). */
88
+ zellijSession?: string;
89
+ zellijPaneId?: string;
81
90
  originalCliPid: number;
82
91
  sessionId?: string;
83
92
  cliId?: string;
@@ -193,7 +202,7 @@ export type DaemonToWorker = {
193
202
  cliPathOverride?: string;
194
203
  model?: string;
195
204
  disableCliBypass?: boolean;
196
- backendType: 'pty' | 'tmux';
205
+ backendType: 'pty' | 'tmux' | 'zellij';
197
206
  prompt: string;
198
207
  resume?: boolean;
199
208
  cliSessionId?: string;
@@ -207,6 +216,8 @@ export type DaemonToWorker = {
207
216
  locale?: 'zh' | 'en';
208
217
  adoptMode?: boolean;
209
218
  adoptTmuxTarget?: string;
219
+ adoptZellijSession?: string;
220
+ adoptZellijPaneId?: string;
210
221
  adoptPaneCols?: number;
211
222
  adoptPaneRows?: number;
212
223
  bridgeJsonlPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AACxE,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B;;2EAEuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB;;;qEAGiE;IACjE,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;kEAK8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;8EAM0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;oEAGgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;mBAGe;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;kDAC8C;IAC9C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;2DACuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,yBAAyB,EAAE,KAAK,CAAC;IAChD,mFAAmF;IACnF,WAAW,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;uEACmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;qBAIiB;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACnC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3C;;8DAE0D;IAC1D,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;8EAG0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,4FAA4F;IAC5F,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE7B,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;CACrC;AAID,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GACrB,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAC3C,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAChC,cAAc,GAAG,gBAAgB,CAAC;AAEtC,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1nB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,GAAG,EAAE,aAAa,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAE/B,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACjG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GACvK;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACxG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAOf,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,qBAAqB,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Queue `work` so it runs only after any previously-queued work for the same
3
3
  * `anchor` has settled (resolved OR rejected — a failing handler never blocks
4
- * the next message). Returns a promise that settles with `work`'s outcome, so
4
+ * the next message) OR `capMs` elapses (a slow/hung handler must not block the
5
+ * queue indefinitely). Returns a promise that settles with `work`'s outcome, so
5
6
  * callers can still attach `.catch` for logging. Different anchors are
6
7
  * independent and run concurrently.
7
8
  */
8
- export declare function serializeByAnchor(anchor: string, work: () => Promise<void>): Promise<void>;
9
+ export declare function serializeByAnchor(anchor: string, work: () => Promise<void>, capMs?: number): Promise<void>;
9
10
  /** Test-only: clear all queues between cases. */
10
11
  export declare function __resetAnchorQueues(): void;
11
12
  //# sourceMappingURL=anchor-serializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-serializer.d.ts","sourceRoot":"","sources":["../../src/utils/anchor-serializer.ts"],"names":[],"mappings":"AAqBA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1F;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"anchor-serializer.d.ts","sourceRoot":"","sources":["../../src/utils/anchor-serializer.ts"],"names":[],"mappings":"AAgCA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,KAAK,GAAE,MAA8B,GACpC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -18,18 +18,33 @@
18
18
  * are unaffected.
19
19
  */
20
20
  const queues = new Map();
21
+ /**
22
+ * Max time the NEXT work waits for the previous same-anchor work before starting
23
+ * anyway. The ordering we actually need (dispatch's /repo prime → brief kickoff)
24
+ * completes in ~1s; this only bounds the damage when a handler is slow or hangs.
25
+ * Without it, one stuck handler blocks the anchor's queue forever — so a busy bot
26
+ * MISSES every subsequent @ to that chat/thread (observed: a reviewer had to be
27
+ * re-@-ed because "上一条可能没触发到你"). Past the cap we fall back to the prior
28
+ * concurrent behavior for that pair (lose strict order, never lose the message).
29
+ */
30
+ const SERIALIZE_MAX_WAIT_MS = 5000;
21
31
  /**
22
32
  * Queue `work` so it runs only after any previously-queued work for the same
23
33
  * `anchor` has settled (resolved OR rejected — a failing handler never blocks
24
- * the next message). Returns a promise that settles with `work`'s outcome, so
34
+ * the next message) OR `capMs` elapses (a slow/hung handler must not block the
35
+ * queue indefinitely). Returns a promise that settles with `work`'s outcome, so
25
36
  * callers can still attach `.catch` for logging. Different anchors are
26
37
  * independent and run concurrently.
27
38
  */
28
- export function serializeByAnchor(anchor, work) {
39
+ export function serializeByAnchor(anchor, work, capMs = SERIALIZE_MAX_WAIT_MS) {
29
40
  const prev = queues.get(anchor) ?? Promise.resolve();
30
- // `prev.then(work, work)` runs `work` regardless of whether `prev` resolved or
31
- // rejected one handler's failure must not stall the anchor's queue.
32
- const next = prev.then(work, work);
41
+ // Wait for `prev` to settle, but no longer than `capMs` `prev.then` swallows
42
+ // its outcome (one handler's failure must not stall the queue), and the race
43
+ // with a timer bounds head-of-line blocking when `prev` is slow/hung.
44
+ const settledOrCapped = capMs > 0
45
+ ? Promise.race([prev.then(() => { }, () => { }), new Promise(res => setTimeout(res, capMs))])
46
+ : prev.then(() => { }, () => { });
47
+ const next = settledOrCapped.then(work);
33
48
  queues.set(anchor, next);
34
49
  // Garbage-collect the entry once this call is the tail of the chain, so the
35
50
  // map doesn't grow unbounded across the daemon's lifetime. Swallow `next`'s
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-serializer.js","sourceRoot":"","sources":["../../src/utils/anchor-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,IAAyB;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,+EAA+E;IAC/E,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,8EAA8E;IAC9E,2BAA2B;IAC3B,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"anchor-serializer.js","sourceRoot":"","sources":["../../src/utils/anchor-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEnD;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAAyB,EACzB,QAAgB,qBAAqB;IAErC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,+EAA+E;IAC/E,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,IAAI,OAAO,CAAO,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,8EAA8E;IAC9E,2BAA2B;IAC3B,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3C,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,mBAAmB;IACjC,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -22,7 +22,7 @@
22
22
  */
23
23
  import xtermHeadless from '@xterm/headless';
24
24
  const { Terminal } = xtermHeadless;
25
- import { TmuxPipeBackend } from '../adapters/backend/tmux-pipe-backend.js';
25
+ import { isObserveBackend } from '../adapters/backend/types.js';
26
26
  import { readViewportText } from './terminal-renderer.js';
27
27
  import { captureToPng } from './screenshot-renderer.js';
28
28
  import { clamp, MIN_RENDER_COLS, MAX_RENDER_COLS, MIN_RENDER_ROWS, MAX_RENDER_ROWS } from './render-dimensions.js';
@@ -31,7 +31,7 @@ import { clamp, MIN_RENDER_COLS, MAX_RENDER_COLS, MIN_RENDER_ROWS, MAX_RENDER_RO
31
31
  * tmux refuses to answer. Callers should fall back to the legacy renderer
32
32
  * path on null. */
33
33
  export function tryCapturePipeSnapshot(backend, fallbackCols, fallbackRows) {
34
- if (!(backend instanceof TmuxPipeBackend))
34
+ if (!isObserveBackend(backend))
35
35
  return null;
36
36
  const live = backend.getPaneSize();
37
37
  const cols = clamp(live?.cols ?? fallbackCols, MIN_RENDER_COLS, MAX_RENDER_COLS);
@@ -1 +1 @@
1
- {"version":3,"file":"transient-snapshot.js","sourceRoot":"","sources":["../../src/utils/transient-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transient-snapshot.js","sourceRoot":"","sources":["../../src/utils/transient-snapshot.ts"],"names":[],"mappings":"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"}