baxian 2.0.0 → 2.0.2

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 (198) hide show
  1. package/README.md +5 -7
  2. package/README.zh-CN.md +5 -7
  3. package/dist/agent/bootstrap.d.ts.map +1 -1
  4. package/dist/agent/bootstrap.js +2 -4
  5. package/dist/agent/bootstrap.js.map +1 -1
  6. package/dist/agent/branch.d.ts +0 -13
  7. package/dist/agent/branch.d.ts.map +1 -1
  8. package/dist/agent/branch.js +1 -71
  9. package/dist/agent/branch.js.map +1 -1
  10. package/dist/agent/dispatch-reconciler.d.ts.map +1 -1
  11. package/dist/agent/dispatch-reconciler.js +19 -14
  12. package/dist/agent/dispatch-reconciler.js.map +1 -1
  13. package/dist/agent/manager.d.ts +90 -134
  14. package/dist/agent/manager.d.ts.map +1 -1
  15. package/dist/agent/manager.js +1154 -2265
  16. package/dist/agent/manager.js.map +1 -1
  17. package/dist/agent/net-exec.d.ts +3 -0
  18. package/dist/agent/net-exec.d.ts.map +1 -1
  19. package/dist/agent/net-exec.js +6 -0
  20. package/dist/agent/net-exec.js.map +1 -1
  21. package/dist/agent/pane-streamer-manager.d.ts +6 -6
  22. package/dist/agent/pane-streamer-manager.d.ts.map +1 -1
  23. package/dist/agent/pane-streamer-manager.js.map +1 -1
  24. package/dist/agent/pane-streamer.d.ts +6 -3
  25. package/dist/agent/pane-streamer.d.ts.map +1 -1
  26. package/dist/agent/pane-streamer.js +70 -40
  27. package/dist/agent/pane-streamer.js.map +1 -1
  28. package/dist/agent/phase-signal-watcher.d.ts +7 -2
  29. package/dist/agent/phase-signal-watcher.d.ts.map +1 -1
  30. package/dist/agent/phase-signal-watcher.js +90 -32
  31. package/dist/agent/phase-signal-watcher.js.map +1 -1
  32. package/dist/agent/phase-signal.d.ts +19 -38
  33. package/dist/agent/phase-signal.d.ts.map +1 -1
  34. package/dist/agent/phase-signal.js +54 -88
  35. package/dist/agent/phase-signal.js.map +1 -1
  36. package/dist/agent/preflight.d.ts +0 -1
  37. package/dist/agent/preflight.d.ts.map +1 -1
  38. package/dist/agent/preflight.js +8 -15
  39. package/dist/agent/preflight.js.map +1 -1
  40. package/dist/agent/prompt.d.ts +1 -35
  41. package/dist/agent/prompt.d.ts.map +1 -1
  42. package/dist/agent/prompt.js +22 -162
  43. package/dist/agent/prompt.js.map +1 -1
  44. package/dist/agent/repo-store.d.ts +4 -1
  45. package/dist/agent/repo-store.d.ts.map +1 -1
  46. package/dist/agent/repo-store.js +33 -11
  47. package/dist/agent/repo-store.js.map +1 -1
  48. package/dist/agent/root-agent-runtime.d.ts +80 -0
  49. package/dist/agent/root-agent-runtime.d.ts.map +1 -0
  50. package/dist/agent/root-agent-runtime.js +637 -0
  51. package/dist/agent/root-agent-runtime.js.map +1 -0
  52. package/dist/agent/root-recovery-coordinator.d.ts +124 -0
  53. package/dist/agent/root-recovery-coordinator.d.ts.map +1 -0
  54. package/dist/agent/root-recovery-coordinator.js +1557 -0
  55. package/dist/agent/root-recovery-coordinator.js.map +1 -0
  56. package/dist/agent/runner.d.ts +1 -0
  57. package/dist/agent/runner.d.ts.map +1 -1
  58. package/dist/agent/runner.js +103 -7
  59. package/dist/agent/runner.js.map +1 -1
  60. package/dist/agent/tmux-probe-poller.d.ts +1 -0
  61. package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
  62. package/dist/agent/tmux-probe-poller.js +16 -10
  63. package/dist/agent/tmux-probe-poller.js.map +1 -1
  64. package/dist/agent/tmux.d.ts +3 -0
  65. package/dist/agent/tmux.d.ts.map +1 -1
  66. package/dist/agent/tmux.js +11 -5
  67. package/dist/agent/tmux.js.map +1 -1
  68. package/dist/agent/vt-visible-text.d.ts +42 -0
  69. package/dist/agent/vt-visible-text.d.ts.map +1 -0
  70. package/dist/agent/vt-visible-text.js +482 -0
  71. package/dist/agent/vt-visible-text.js.map +1 -0
  72. package/dist/api/agents.d.ts.map +1 -1
  73. package/dist/api/agents.js +42 -1
  74. package/dist/api/agents.js.map +1 -1
  75. package/dist/api/config.d.ts.map +1 -1
  76. package/dist/api/config.js +83 -9
  77. package/dist/api/config.js.map +1 -1
  78. package/dist/api/hosts.d.ts.map +1 -1
  79. package/dist/api/hosts.js +68 -13
  80. package/dist/api/hosts.js.map +1 -1
  81. package/dist/api/platform-guard.js +2 -2
  82. package/dist/api/platform-guard.js.map +1 -1
  83. package/dist/api/projects.d.ts.map +1 -1
  84. package/dist/api/projects.js +621 -325
  85. package/dist/api/projects.js.map +1 -1
  86. package/dist/api/tasks.d.ts.map +1 -1
  87. package/dist/api/tasks.js +15 -39
  88. package/dist/api/tasks.js.map +1 -1
  89. package/dist/app.d.ts +2 -0
  90. package/dist/app.d.ts.map +1 -1
  91. package/dist/app.js +6 -0
  92. package/dist/app.js.map +1 -1
  93. package/dist/cli.d.ts +1 -1
  94. package/dist/cli.d.ts.map +1 -1
  95. package/dist/cli.js +49 -7
  96. package/dist/cli.js.map +1 -1
  97. package/dist/config/loader.d.ts +5 -1
  98. package/dist/config/loader.d.ts.map +1 -1
  99. package/dist/config/loader.js +57 -24
  100. package/dist/config/loader.js.map +1 -1
  101. package/dist/config/normalizer.d.ts.map +1 -1
  102. package/dist/config/normalizer.js +18 -0
  103. package/dist/config/normalizer.js.map +1 -1
  104. package/dist/config/validator.d.ts +7 -4
  105. package/dist/config/validator.d.ts.map +1 -1
  106. package/dist/config/validator.js +251 -96
  107. package/dist/config/validator.js.map +1 -1
  108. package/dist/event/handlers.d.ts.map +1 -1
  109. package/dist/event/handlers.js +359 -229
  110. package/dist/event/handlers.js.map +1 -1
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +45 -5
  113. package/dist/index.js.map +1 -1
  114. package/dist/platform/command-renderer.d.ts +6 -0
  115. package/dist/platform/command-renderer.d.ts.map +1 -1
  116. package/dist/platform/command-renderer.js +20 -0
  117. package/dist/platform/command-renderer.js.map +1 -1
  118. package/dist/platform/driver-host.d.ts.map +1 -1
  119. package/dist/platform/driver-host.js +3 -1
  120. package/dist/platform/driver-host.js.map +1 -1
  121. package/dist/platform/driver-spec.d.ts.map +1 -1
  122. package/dist/platform/driver-spec.js +32 -4
  123. package/dist/platform/driver-spec.js.map +1 -1
  124. package/dist/platform/git-driver.d.ts +2 -0
  125. package/dist/platform/git-driver.d.ts.map +1 -1
  126. package/dist/platform/git-driver.js +9 -3
  127. package/dist/platform/git-driver.js.map +1 -1
  128. package/dist/platform/platform-poller.d.ts +0 -1
  129. package/dist/platform/platform-poller.d.ts.map +1 -1
  130. package/dist/platform/platform-poller.js +1 -11
  131. package/dist/platform/platform-poller.js.map +1 -1
  132. package/dist/platform/plugins/github/driver.json +5 -0
  133. package/dist/platform/plugins/github/skills/baxian-cli-gh/SKILL.md +20 -14
  134. package/dist/platform/startup.d.ts.map +1 -1
  135. package/dist/platform/startup.js +5 -5
  136. package/dist/platform/startup.js.map +1 -1
  137. package/dist/platform/types.d.ts +1 -0
  138. package/dist/platform/types.d.ts.map +1 -1
  139. package/dist/platform/types.js +3 -3
  140. package/dist/platform/types.js.map +1 -1
  141. package/dist/shared/constants.d.ts +8 -7
  142. package/dist/shared/constants.d.ts.map +1 -1
  143. package/dist/shared/constants.js +6 -28
  144. package/dist/shared/constants.js.map +1 -1
  145. package/dist/shared/types.d.ts +52 -125
  146. package/dist/shared/types.d.ts.map +1 -1
  147. package/dist/shared/types.js +24 -5
  148. package/dist/shared/types.js.map +1 -1
  149. package/dist/skills/baxian-pr-feedback/SKILL.md +6 -6
  150. package/dist/skills/baxian-pr-recheck/SKILL.md +6 -0
  151. package/dist/skills/baxian-pr-review/SKILL.md +6 -0
  152. package/dist/skills/baxian-signals/SKILL.md +17 -28
  153. package/dist/skills/baxian-task-check/SKILL.md +13 -14
  154. package/dist/state/init.d.ts.map +1 -1
  155. package/dist/state/init.js +1 -0
  156. package/dist/state/init.js.map +1 -1
  157. package/dist/state/lock.d.ts +6 -0
  158. package/dist/state/lock.d.ts.map +1 -1
  159. package/dist/state/lock.js +8 -0
  160. package/dist/state/lock.js.map +1 -1
  161. package/dist/state/root-recovery-store.d.ts +107 -0
  162. package/dist/state/root-recovery-store.d.ts.map +1 -0
  163. package/dist/state/root-recovery-store.js +400 -0
  164. package/dist/state/root-recovery-store.js.map +1 -0
  165. package/dist/state/snapshot.d.ts.map +1 -1
  166. package/dist/state/snapshot.js +5 -2
  167. package/dist/state/snapshot.js.map +1 -1
  168. package/dist/state/task-store.d.ts.map +1 -1
  169. package/dist/state/task-store.js +57 -137
  170. package/dist/state/task-store.js.map +1 -1
  171. package/dist/terminal/attach.d.ts +3 -3
  172. package/dist/terminal/attach.d.ts.map +1 -1
  173. package/dist/terminal/attach.js.map +1 -1
  174. package/dist/terminal/stream-ws.d.ts.map +1 -1
  175. package/dist/terminal/stream-ws.js.map +1 -1
  176. package/dist/web/assets/index-BKiM0MSM.js +15 -0
  177. package/dist/web/assets/index-BS2adAfI.css +1 -0
  178. package/dist/web/index.html +2 -2
  179. package/package.json +1 -1
  180. package/dist/agent/review-transport.d.ts +0 -92
  181. package/dist/agent/review-transport.d.ts.map +0 -1
  182. package/dist/agent/review-transport.js +0 -512
  183. package/dist/agent/review-transport.js.map +0 -1
  184. package/dist/event/server-handlers.d.ts +0 -4
  185. package/dist/event/server-handlers.d.ts.map +0 -1
  186. package/dist/event/server-handlers.js +0 -1221
  187. package/dist/event/server-handlers.js.map +0 -1
  188. package/dist/skills/baxian-research/SKILL.md +0 -28
  189. package/dist/skills/baxian-server-feedback/SKILL.md +0 -40
  190. package/dist/skills/baxian-server-feedback/agents/openai.yaml +0 -2
  191. package/dist/skills/baxian-server-review/SKILL.md +0 -58
  192. package/dist/skills/baxian-server-review/agents/openai.yaml +0 -2
  193. package/dist/state/review-store.d.ts +0 -33
  194. package/dist/state/review-store.d.ts.map +0 -1
  195. package/dist/state/review-store.js +0 -272
  196. package/dist/state/review-store.js.map +0 -1
  197. package/dist/web/assets/index-BPv6vv3U.css +0 -1
  198. package/dist/web/assets/index-BXfgaFNm.js +0 -18
@@ -0,0 +1,482 @@
1
+ // 转移表按 https://vt100.net/emu/dec_ansi_parser
2
+ const S = {
3
+ ground: 0,
4
+ escape: 1,
5
+ escapeIntermediate: 2,
6
+ csiEntry: 3,
7
+ csiParam: 4,
8
+ csiIntermediate: 5,
9
+ csiIgnore: 6,
10
+ dcsEntry: 7,
11
+ dcsParam: 8,
12
+ dcsIntermediate: 9,
13
+ dcsIgnore: 10,
14
+ dcsPassthrough: 11,
15
+ oscString: 12,
16
+ sosPmApcString: 13,
17
+ };
18
+ // 这几个状态显式忽略 xterm 的 NON_ASCII_PRINTABLE 槽;其余状态无表项,走 ERROR 打回 ground。
19
+ const NON_ASCII_IGNORED = new Set([
20
+ S.oscString, S.dcsPassthrough, S.csiIgnore, S.dcsIgnore,
21
+ ]);
22
+ // 转移动作为 EXECUTE 的状态;Dcs*/Osc/SosPmApc 里是 ignore/put,屏幕无效果。
23
+ const EXECUTES_C0 = new Set([
24
+ S.ground, S.escape, S.escapeIntermediate,
25
+ S.csiEntry, S.csiParam, S.csiIntermediate, S.csiIgnore,
26
+ ]);
27
+ // 保留原字节:属不属 \s 正好就编码了会不会隔断 marker——BS 隔断,HT/LF/CR 让软换行接得回去。
28
+ const CURSOR_MOVING_C0 = new Set([0x08, 0x09, 0x0a, 0x0d]);
29
+ // 被字符集改写的字节在屏幕上是别的字形,拼出来的 marker 终端根本不显示。既不能原样吐也不能丢
30
+ // ——两者都会拼出 marker——所以吐一个 compact 删不掉、又不可能出现在 marker 里的分隔符。
31
+ const REMAPPED = '\x00';
32
+ // 必须精确到字节:UK('A') 只改 '#',把整套字符集判为不可见会漏掉屏幕上真实可见的 marker。
33
+ const CHARSET_REMAPS = {
34
+ '0': '`abcdefghijklmnopqrstuvwxyz{|}~',
35
+ '4': '#@[\\]{|}~',
36
+ '5': '[\\]^`{|}~',
37
+ '6': '@[\\]^`{|}~',
38
+ '7': '@[\\]^`{|}~',
39
+ '=': '#@[\\]^_`{|}~',
40
+ A: '#',
41
+ C: '[\\]^`{|}~',
42
+ E: '@[\\]^`{|}~',
43
+ H: '@[\\]^`{|}~',
44
+ K: '@[\\]{|}~',
45
+ Q: '@[\\]^`{|}~',
46
+ R: '#@[\\]{|}~',
47
+ Y: '#@[\\]`{|}~',
48
+ Z: '#@[\\]{|}',
49
+ };
50
+ const REMAPPED_CODES = new Map(Object.entries(CHARSET_REMAPS).map(([d, chars]) => [d, new Set([...chars].map(c => c.charCodeAt(0)))]));
51
+ // 只有终端认得的 designator 才会改写槽位;认不出的整条 designation 被忽略、旧字符集留任。
52
+ const RECOGNISED_DESIGNATORS = new Set([...Object.keys(CHARSET_REMAPS), 'B']);
53
+ const MAX_CSI_PARAMS = 32;
54
+ const MAX_CSI_PARAM = 0x7fffffff;
55
+ const SGR_FINAL = 'm';
56
+ // GR 的 '-' '.' 与 GL 的 ')' '*' 落在同一批槽位上,后续 SO/LS2 会把它们选出来;'/' 被忽略。
57
+ const DESIGNATE_INTERMEDIATES = {
58
+ '(': 0, ')': 1, '*': 2, '+': 3, '-': 1, '.': 2,
59
+ };
60
+ // xterm 5.5.0 把 LS1R/LS2R/LS3R 也当作 GL 移位处理,与标准的 GR 语义不同。
61
+ const LOCKING_SHIFTS = { n: 2, o: 3, '|': 3, '}': 2, '~': 1 };
62
+ // ESC、CAN/SUB 与全部 C1 控制取消进行中的序列,从任何状态生效。
63
+ function anywhereTransition(code) {
64
+ if (code === 0x1b)
65
+ return S.escape;
66
+ if (code === 0x18 || code === 0x1a)
67
+ return S.ground;
68
+ if (code < 0x80 || code > 0x9f)
69
+ return undefined;
70
+ if (code === 0x9b)
71
+ return S.csiEntry;
72
+ if (code === 0x9d)
73
+ return S.oscString;
74
+ if (code === 0x90)
75
+ return S.dcsEntry;
76
+ if (code === 0x98 || code === 0x9e || code === 0x9f)
77
+ return S.sosPmApcString;
78
+ return S.ground;
79
+ }
80
+ export class VisibleTextExtractor {
81
+ state = S.ground;
82
+ pendingHigh = '';
83
+ // 装载的那张表与槽位是两样东西:DECSC/DECRC 只存取 active,移位则从 charsets 重新装载。
84
+ active;
85
+ charsets = [undefined, undefined, undefined, undefined];
86
+ gl = 0;
87
+ // 每个缓冲区各存一份(`CSI ?1049h` 进备用屏时存的是主屏那份);
88
+ // 存了 undefined 与没存过是两回事,故用外层 undefined 表示"没存过"。
89
+ savedByBuffer = [undefined, undefined];
90
+ conceal = false;
91
+ altBuffer = 0;
92
+ pendingIntermediate;
93
+ // 私有前缀要留原字节:只有 '?' 是 DEC private mode,'<' '=' '>' 各有别的含义。
94
+ csiPrefix = '';
95
+ csiIntermediates = '';
96
+ // 按 xterm 的 Params 语义收数值主参数:前导零归一、冒号子参数只取冒号前的值、
97
+ // 容量算的是**参数个数**(超出的丢弃,已收下的照常派发),不是原始字符数。
98
+ csiParamValues = [];
99
+ csiParamHasSub = [];
100
+ csiParamValue = 0;
101
+ csiParamStarted = false;
102
+ csiInSubParam = false;
103
+ csiOverflowed = false;
104
+ csiEightBit = false;
105
+ reset() {
106
+ this.state = S.ground;
107
+ this.pendingHigh = '';
108
+ this.fullReset();
109
+ this.altBuffer = 0;
110
+ this.pendingIntermediate = undefined;
111
+ this.clearCsiCollect();
112
+ }
113
+ collectCsiParam(ch) {
114
+ if (ch === ';') {
115
+ this.flushCsiParam();
116
+ return;
117
+ }
118
+ if (ch === ':') {
119
+ this.csiInSubParam = true;
120
+ return;
121
+ }
122
+ if (this.csiInSubParam)
123
+ return;
124
+ this.csiParamStarted = true;
125
+ const next = this.csiParamValue * 10 + (ch.charCodeAt(0) - 0x30);
126
+ this.csiParamValue = next > MAX_CSI_PARAM ? MAX_CSI_PARAM : next;
127
+ }
128
+ flushCsiParam() {
129
+ if (this.csiParamValues.length < MAX_CSI_PARAMS) {
130
+ this.csiParamValues.push(this.csiParamStarted ? this.csiParamValue : 0);
131
+ this.csiParamHasSub.push(this.csiInSubParam);
132
+ }
133
+ this.csiParamValue = 0;
134
+ this.csiParamStarted = false;
135
+ this.csiInSubParam = false;
136
+ }
137
+ collectCsiIntermediate(ch) {
138
+ if (this.csiIntermediates.length < 4)
139
+ this.csiIntermediates += ch;
140
+ else
141
+ this.csiOverflowed = true;
142
+ }
143
+ collectCsiPrefix(ch) {
144
+ if (this.csiPrefix === '')
145
+ this.csiPrefix = ch;
146
+ else
147
+ this.csiOverflowed = true;
148
+ }
149
+ clearCsiCollect() {
150
+ this.csiPrefix = '';
151
+ this.csiIntermediates = '';
152
+ this.csiParamValues = [];
153
+ this.csiParamHasSub = [];
154
+ this.csiParamValue = 0;
155
+ this.csiParamStarted = false;
156
+ this.csiInSubParam = false;
157
+ this.csiOverflowed = false;
158
+ this.csiEightBit = false;
159
+ }
160
+ setgCharset(slot, designator) {
161
+ this.charsets[slot] = designator;
162
+ if (this.gl === slot)
163
+ this.active = designator;
164
+ }
165
+ setgLevel(slot) {
166
+ this.gl = slot;
167
+ this.active = this.charsets[slot];
168
+ }
169
+ // `CSI ?2h` 只重指定 G0-G3,不碰 GL,也不碰已保存的那份。
170
+ resetCharsetSlots() {
171
+ this.charsets.fill(undefined);
172
+ this.active = undefined;
173
+ }
174
+ // DECSTR 连 GL 与**当前 buffer** 保存的那份一起清;另一个 buffer 的存档不归它管。
175
+ softReset() {
176
+ this.resetCharsetSlots();
177
+ this.gl = 0;
178
+ this.conceal = false;
179
+ this.savedByBuffer[this.altBuffer] = undefined;
180
+ }
181
+ // RIS 是整机复位:连 buffer 身份与两份存档一起回到初始。
182
+ fullReset() {
183
+ this.resetCharsetSlots();
184
+ this.gl = 0;
185
+ this.conceal = false;
186
+ this.savedByBuffer = [undefined, undefined];
187
+ this.altBuffer = 0;
188
+ }
189
+ // ESC % G/@ 只是"选回默认":动 G0 与 GL,不碰 G1-G3。
190
+ selectDefaultCharset() {
191
+ this.setgCharset(0, undefined);
192
+ this.setgLevel(0);
193
+ }
194
+ saveCursorState() {
195
+ this.savedByBuffer[this.altBuffer] = { charset: this.active, conceal: this.conceal };
196
+ }
197
+ restoreCursorState() {
198
+ const saved = this.savedByBuffer[this.altBuffer];
199
+ this.active = saved?.charset;
200
+ this.conceal = saved?.conceal ?? false;
201
+ }
202
+ // SGR 8 让字形在屏幕上消失,单元格里却还留着字符——和字符集重映射是同一类问题。
203
+ dispatchSgr() {
204
+ for (let i = 0; i < this.csiParamValues.length; i++) {
205
+ const param = this.csiParamValues[i];
206
+ if (param === 38 || param === 48 || param === 58) {
207
+ i += this.extendedColourSpan(i);
208
+ }
209
+ else if (param === 8)
210
+ this.conceal = true;
211
+ else if (param === 0 || param === 28)
212
+ this.conceal = false;
213
+ }
214
+ }
215
+ // 照搬 xterm 的 _extractColor 推进量:颜色载荷里的 8/28 是分量值,当成独立参数两个方向都会错。
216
+ extendedColourSpan(leader) {
217
+ let advance = 0;
218
+ let cSpace = 0;
219
+ for (;;) {
220
+ if (this.csiParamHasSub[leader + advance])
221
+ return advance;
222
+ const subtype = advance >= 1 ? this.csiParamValues[leader + 1] : 0;
223
+ if ((subtype === 5 && advance + cSpace >= 2) || (subtype === 2 && advance + cSpace >= 5))
224
+ return advance;
225
+ if (subtype)
226
+ cSpace = 1;
227
+ advance++;
228
+ if (leader + advance >= this.csiParamValues.length || advance + cSpace >= 6)
229
+ return advance;
230
+ }
231
+ }
232
+ dispatchCsi(final) {
233
+ this.flushCsiParam();
234
+ if (this.csiOverflowed) {
235
+ // fall through to the reset below
236
+ }
237
+ else if (this.csiPrefix === '?') {
238
+ if (this.csiIntermediates === '')
239
+ this.dispatchPrivateMode(final);
240
+ }
241
+ else if (this.csiPrefix === '' && this.csiIntermediates === '' && final === 's') {
242
+ this.saveCursorState();
243
+ }
244
+ else if (this.csiPrefix === '' && this.csiIntermediates === '' && final === 'u') {
245
+ this.restoreCursorState();
246
+ }
247
+ else if (this.csiPrefix === '' && this.csiIntermediates === '' && final === SGR_FINAL) {
248
+ this.dispatchSgr();
249
+ }
250
+ else if (this.csiPrefix === '' && this.csiIntermediates === '!' && final === 'p') {
251
+ this.softReset(); // DECSTR
252
+ }
253
+ // 派发出去的 8-bit CSI 真会动屏幕,而 main 的正则不认 0x9b、天然隔开 marker——只有 SGR 例外,
254
+ // 它唯一的可见性影响(conceal)已经建模。取消/ignore 的序列 xterm 整条丢弃,不在此列。
255
+ const transparent = this.csiPrefix === '' && this.csiIntermediates === '' && final === SGR_FINAL;
256
+ const boundary = this.csiEightBit && !transparent ? REMAPPED : '';
257
+ this.clearCsiCollect();
258
+ this.state = S.ground;
259
+ return boundary;
260
+ }
261
+ dispatchPrivateMode(final) {
262
+ if (final !== 'h' && final !== 'l')
263
+ return;
264
+ const set = final === 'h';
265
+ for (const param of this.csiParamValues) {
266
+ // 保存/恢复与切屏是两件事:1048 只在当前 buffer 存取游标字符集、不切屏;
267
+ // 47/1047 只切屏、不存取;1049 两件都做。
268
+ if (param === 1048) {
269
+ if (set)
270
+ this.saveCursorState();
271
+ else
272
+ this.restoreCursorState();
273
+ }
274
+ else if (param === 1049) {
275
+ if (set) {
276
+ this.saveCursorState();
277
+ this.altBuffer = 1;
278
+ }
279
+ else {
280
+ this.altBuffer = 0;
281
+ this.restoreCursorState();
282
+ }
283
+ }
284
+ else if (param === 47 || param === 1047) {
285
+ this.altBuffer = set ? 1 : 0;
286
+ }
287
+ else if (param === 2 && set) {
288
+ this.resetCharsetSlots();
289
+ }
290
+ }
291
+ }
292
+ remapsCode(code) {
293
+ return this.active !== undefined && (REMAPPED_CODES.get(this.active)?.has(code) ?? false);
294
+ }
295
+ write(rawChunk) {
296
+ // 按码点解析:跨 write 拆开的代理对要缝回去,否则低代理会落在与高代理不同的状态里。
297
+ const chunk = this.pendingHigh + rawChunk;
298
+ this.pendingHigh = '';
299
+ let out = '';
300
+ for (let i = 0; i < chunk.length; i++) {
301
+ let code = chunk.charCodeAt(i);
302
+ let width = 1;
303
+ if (code >= 0xd800 && code <= 0xdbff) {
304
+ if (i + 1 === chunk.length) {
305
+ this.pendingHigh = chunk[i];
306
+ break;
307
+ }
308
+ if ((chunk.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {
309
+ code = 0x10000;
310
+ width = 2;
311
+ }
312
+ }
313
+ if (code === 0xfeff)
314
+ continue; // xterm 的 StringToUtf32 在喂进转移表前就丢掉 BOM
315
+ if (code >= 0xa0) {
316
+ if (this.state === S.ground)
317
+ out += this.conceal ? REMAPPED : chunk.slice(i, i + width);
318
+ else if (!NON_ASCII_IGNORED.has(this.state)) {
319
+ this.pendingIntermediate = undefined;
320
+ this.state = S.ground;
321
+ }
322
+ i += width - 1;
323
+ continue;
324
+ }
325
+ if (CURSOR_MOVING_C0.has(code)) {
326
+ // 序列里的 CR 不是软换行的一半,而是真把后半段重画到行首。
327
+ if (EXECUTES_C0.has(this.state))
328
+ out += code === 0x0d && this.state !== S.ground ? REMAPPED : chunk[i];
329
+ continue; // EXECUTE 与 ignore 都保持当前状态
330
+ }
331
+ if (code === 0x0e || code === 0x0f) {
332
+ if (EXECUTES_C0.has(this.state))
333
+ this.setgLevel(code === 0x0e ? 1 : 0);
334
+ continue;
335
+ }
336
+ const jump = anywhereTransition(code);
337
+ if (jump !== undefined) {
338
+ this.pendingIntermediate = undefined;
339
+ if (jump === S.csiEntry) {
340
+ this.clearCsiCollect();
341
+ this.csiEightBit = true;
342
+ }
343
+ this.state = jump;
344
+ continue;
345
+ }
346
+ switch (this.state) {
347
+ case S.ground:
348
+ if (code >= 0x20 && code <= 0x7e) {
349
+ out += this.conceal || this.remapsCode(code) ? REMAPPED : chunk[i];
350
+ }
351
+ break;
352
+ case S.escape:
353
+ if (code <= 0x1f || code === 0x7f)
354
+ break;
355
+ if (code <= 0x2f) {
356
+ this.pendingIntermediate = chunk[i];
357
+ this.state = S.escapeIntermediate;
358
+ }
359
+ else if (code === 0x50)
360
+ this.state = S.dcsEntry;
361
+ else if (code === 0x58 || code === 0x5e || code === 0x5f)
362
+ this.state = S.sosPmApcString;
363
+ else if (code === 0x5b) {
364
+ this.clearCsiCollect();
365
+ this.csiEightBit = false;
366
+ this.state = S.csiEntry;
367
+ }
368
+ else if (code === 0x5d)
369
+ this.state = S.oscString;
370
+ else {
371
+ const shifted = LOCKING_SHIFTS[chunk[i]];
372
+ if (shifted !== undefined)
373
+ this.setgLevel(shifted);
374
+ else if (code === 0x37)
375
+ this.saveCursorState();
376
+ else if (code === 0x38)
377
+ this.restoreCursorState();
378
+ else if (code === 0x63) {
379
+ this.fullReset();
380
+ out += REMAPPED;
381
+ } // RIS wipes the screen
382
+ else if (code === 0x4d)
383
+ out += REMAPPED; // RI 把后半段挪到前半段上一行
384
+ this.state = S.ground;
385
+ }
386
+ break;
387
+ case S.escapeIntermediate:
388
+ if (code >= 0x30 && code <= 0x7e) {
389
+ const intermediate = this.pendingIntermediate;
390
+ this.pendingIntermediate = undefined;
391
+ const slot = intermediate === undefined ? undefined : DESIGNATE_INTERMEDIATES[intermediate];
392
+ if (slot !== undefined) {
393
+ if (RECOGNISED_DESIGNATORS.has(chunk[i]))
394
+ this.setgCharset(slot, chunk[i]);
395
+ }
396
+ else if (intermediate === '%' && (code === 0x47 || code === 0x40)) {
397
+ this.selectDefaultCharset(); // only ESC % G / ESC % @; other finals are ignored
398
+ }
399
+ else if (intermediate === '#' && code === 0x38)
400
+ out += REMAPPED; // DECALN wipes the screen
401
+ this.state = S.ground;
402
+ }
403
+ else if (code >= 0x20 && code <= 0x2f) {
404
+ this.pendingIntermediate = undefined;
405
+ }
406
+ break;
407
+ case S.csiEntry:
408
+ if (code >= 0x40 && code <= 0x7e)
409
+ out += this.dispatchCsi(chunk[i]);
410
+ else if (code >= 0x30 && code <= 0x3f) {
411
+ if (code >= 0x3c)
412
+ this.collectCsiPrefix(chunk[i]);
413
+ else
414
+ this.collectCsiParam(chunk[i]);
415
+ this.state = S.csiParam;
416
+ }
417
+ else if (code >= 0x20 && code <= 0x2f) {
418
+ this.collectCsiIntermediate(chunk[i]);
419
+ this.state = S.csiIntermediate;
420
+ }
421
+ break;
422
+ case S.csiParam:
423
+ if (code >= 0x40 && code <= 0x7e)
424
+ out += this.dispatchCsi(chunk[i]);
425
+ else if (code >= 0x3c && code <= 0x3f)
426
+ this.state = S.csiIgnore;
427
+ else if (code >= 0x20 && code <= 0x2f) {
428
+ this.collectCsiIntermediate(chunk[i]);
429
+ this.state = S.csiIntermediate;
430
+ }
431
+ else if (code >= 0x30 && code <= 0x3b)
432
+ this.collectCsiParam(chunk[i]);
433
+ break; // 剩下的 C0/DEL 在参数态是 execute/ignore,不能当数字累进参数
434
+ case S.csiIntermediate:
435
+ if (code >= 0x40 && code <= 0x7e)
436
+ out += this.dispatchCsi(chunk[i]);
437
+ else if (code >= 0x30 && code <= 0x3f)
438
+ this.state = S.csiIgnore;
439
+ else if (code >= 0x20 && code <= 0x2f)
440
+ this.collectCsiIntermediate(chunk[i]);
441
+ break;
442
+ case S.csiIgnore:
443
+ if (code >= 0x40 && code <= 0x7e)
444
+ this.state = S.ground;
445
+ break;
446
+ case S.dcsEntry:
447
+ if (code >= 0x40 && code <= 0x7e)
448
+ this.state = S.dcsPassthrough;
449
+ else if (code >= 0x30 && code <= 0x3f)
450
+ this.state = S.dcsParam;
451
+ else if (code >= 0x20 && code <= 0x2f)
452
+ this.state = S.dcsIntermediate;
453
+ break;
454
+ case S.dcsParam:
455
+ if (code >= 0x40 && code <= 0x7e)
456
+ this.state = S.dcsPassthrough;
457
+ else if (code >= 0x3c && code <= 0x3f)
458
+ this.state = S.dcsIgnore;
459
+ else if (code >= 0x20 && code <= 0x2f)
460
+ this.state = S.dcsIntermediate;
461
+ break;
462
+ case S.dcsIntermediate:
463
+ if (code >= 0x40 && code <= 0x7e)
464
+ this.state = S.dcsPassthrough;
465
+ else if (code >= 0x30 && code <= 0x3f)
466
+ this.state = S.dcsIgnore;
467
+ break;
468
+ case S.oscString:
469
+ if (code === 0x07)
470
+ this.state = S.ground; // BEL 只终结 OSC,其余控制串忽略它
471
+ break;
472
+ default:
473
+ break;
474
+ }
475
+ }
476
+ return out;
477
+ }
478
+ }
479
+ export function visibleText(text) {
480
+ return new VisibleTextExtractor().write(text);
481
+ }
482
+ //# sourceMappingURL=vt-visible-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vt-visible-text.js","sourceRoot":"","sources":["../../src/agent/vt-visible-text.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,MAAM,CAAC,GAAG;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,kBAAkB,EAAE,CAAC;IACrB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,EAAE;IACb,cAAc,EAAE,EAAE;CACV,CAAC;AAIX,qEAAqE;AACrE,MAAM,iBAAiB,GAAuB,IAAI,GAAG,CAAC;IACpD,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS;CACxD,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,WAAW,GAAuB,IAAI,GAAG,CAAC;IAC9C,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,kBAAkB;IACxC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;CACvD,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAE3D,oDAAoD;AACpD,2DAA2D;AAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB,wDAAwD;AACxD,MAAM,cAAc,GAAqC;IACvD,GAAG,EAAE,iCAAiC;IACtC,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,eAAe;IACpB,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,WAAW;CACf,CAAC;AAEF,MAAM,cAAc,GAA6C,IAAI,GAAG,CACtE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvG,CAAC;AAEF,2DAA2D;AAC3D,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAEnG,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,aAAa,GAAG,UAAU,CAAC;AAIjC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,kEAAkE;AAClE,MAAM,uBAAuB,GAAmC;IAC9D,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;CAC/C,CAAC;AACF,yDAAyD;AACzD,MAAM,cAAc,GAAmC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAE9F,yCAAyC;AACzC,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACrC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,SAAS,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACrC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,CAAC,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,CAAC,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,OAAO,oBAAoB;IACvB,KAAK,GAAU,CAAC,CAAC,MAAM,CAAC;IACxB,WAAW,GAAG,EAAE,CAAC;IACzB,4DAA4D;IACpD,MAAM,CAAqB;IAClB,QAAQ,GAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5F,EAAE,GAAS,CAAC,CAAC;IACrB,wCAAwC;IACxC,gDAAgD;IACxC,aAAa,GAAmC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvE,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,mBAAmB,CAAqB;IAChD,0DAA0D;IAClD,SAAS,GAAG,EAAE,CAAC;IACf,gBAAgB,GAAG,EAAE,CAAC;IAC9B,gDAAgD;IAChD,yCAAyC;IACjC,cAAc,GAAa,EAAE,CAAC;IAC9B,cAAc,GAAc,EAAE,CAAC;IAC/B,aAAa,GAAG,CAAC,CAAC;IAClB,eAAe,GAAG,KAAK,CAAC;IACxB,aAAa,GAAG,KAAK,CAAC;IACtB,aAAa,GAAG,KAAK,CAAC;IACtB,WAAW,GAAG,KAAK,CAAC;IAE5B,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe,CAAC,EAAU;QAChC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAEO,sBAAsB,CAAC,EAAU;QACvC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;;YAC7D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IACjC,CAAC;IAEO,gBAAgB,CAAC,EAAU;QACjC,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;YAAE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;;YAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IACjC,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEO,WAAW,CAAC,IAAU,EAAE,UAA8B;QAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QACjC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI;YAAE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IACjD,CAAC;IAEO,SAAS,CAAC,IAAU;QAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,wCAAwC;IAChC,iBAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,0DAA0D;IAClD,SAAS;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACjD,CAAC;IAED,oCAAoC;IAC5B,SAAS;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,yCAAyC;IACjC,oBAAoB;QAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACvF,CAAC;IAEO,kBAAkB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC;IACzC,CAAC;IAED,6CAA6C;IACrC,WAAW;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjD,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC;gBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;iBACvC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;gBAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,+DAA+D;IACvD,kBAAkB,CAAC,MAAc;QACvC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,SAAS,CAAC;YACR,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC;gBAAE,OAAO,OAAO,CAAC;YAC1D,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC;YACzG,IAAI,OAAO;gBAAE,MAAM,GAAG,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;YACV,IAAI,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC9F,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,kCAAkC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE;gBAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClF,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxF,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,gBAAgB,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACnF,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS;QAC7B,CAAC;QACD,kEAAkE;QAClE,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,gBAAgB,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,CAAC;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACvC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO;QAC3C,MAAM,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,6CAA6C;YAC7C,6BAA6B;YAC7B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,GAAG;oBAAE,IAAI,CAAC,eAAe,EAAE,CAAC;;oBAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClE,CAAC;iBAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,GAAG,EAAE,CAAC;oBAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBAAC,CAAC;qBACnD,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;oBAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,QAAgB;QACpB,+CAA+C;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;oBAClD,IAAI,GAAG,OAAO,CAAC;oBACf,KAAK,GAAG,CAAC,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,MAAM;gBAAE,SAAS,CAAC,uCAAuC;YACtE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM;oBAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;qBACnF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;gBAAC,CAAC;gBAC7G,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,iCAAiC;gBACjC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvG,SAAS,CAAC,2BAA2B;YACvC,CAAC;YACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACrC,IAAI,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAAC,CAAC;gBAC7E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,CAAC,CAAC,MAAM;oBACX,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACjC,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrE,CAAC;oBACD,MAAM;gBACR,KAAK,CAAC,CAAC,MAAM;oBACX,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI;wBAAE,MAAM;oBACzC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACjB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC;oBACpC,CAAC;yBACI,IAAI,IAAI,KAAK,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC;yBACnF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAAC,IAAI,CAAC,eAAe,EAAE,CAAC;wBAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;oBAAC,CAAC;yBACjG,IAAI,IAAI,KAAK,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;yBAC5C,CAAC;wBACJ,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,IAAI,OAAO,KAAK,SAAS;4BAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;6BAC9C,IAAI,IAAI,KAAK,IAAI;4BAAE,IAAI,CAAC,eAAe,EAAE,CAAC;6BAC1C,IAAI,IAAI,KAAK,IAAI;4BAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;6BAC7C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;4BAAC,IAAI,CAAC,SAAS,EAAE,CAAC;4BAAC,GAAG,IAAI,QAAQ,CAAC;wBAAC,CAAC,CAAC,uBAAuB;6BACjF,IAAI,IAAI,KAAK,IAAI;4BAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,kBAAkB;wBAC3D,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;oBACxB,CAAC;oBACD,MAAM;gBACR,KAAK,CAAC,CAAC,kBAAkB;oBACvB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;wBAC9C,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;wBACrC,MAAM,IAAI,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;wBAC5F,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;4BACvB,IAAI,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7E,CAAC;6BAAM,IAAI,YAAY,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;4BACpE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,mDAAmD;wBAClF,CAAC;6BACI,IAAI,YAAY,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI;4BAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,0BAA0B;wBAC3F,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;oBACxB,CAAC;yBAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACxC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBACvC,CAAC;oBACD,MAAM;gBACR,KAAK,CAAC,CAAC,QAAQ;oBACb,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC/D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtC,IAAI,IAAI,IAAI,IAAI;4BAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAC7C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;oBAC1B,CAAC;yBAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACxC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,eAAe,CAAC;oBACjC,CAAC;oBACD,MAAM;gBACR,KAAK,CAAC,CAAC,QAAQ;oBACb,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC/D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;yBAC3D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACtC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,eAAe,CAAC;oBACjC,CAAC;yBAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxE,MAAM,CAAC,4CAA4C;gBACrD,KAAK,CAAC,CAAC,eAAe;oBACpB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC/D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;yBAC3D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,MAAM;gBACR,KAAK,CAAC,CAAC,SAAS;oBACd,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;oBACxD,MAAM;gBACR,KAAK,CAAC,CAAC,QAAQ;oBACb,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC;yBAC3D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;yBAC1D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,eAAe,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC,CAAC,QAAQ;oBACb,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC;yBAC3D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;yBAC3D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,eAAe,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC,CAAC,eAAe;oBACpB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,cAAc,CAAC;yBAC3D,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;oBAChE,MAAM;gBACR,KAAK,CAAC,CAAC,SAAS;oBACd,IAAI,IAAI,KAAK,IAAI;wBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,uBAAuB;oBACjE,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,oBAAoB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/api/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAK/C,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DrE"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/api/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM/C,wBAAsB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGrE"}
@@ -1,8 +1,23 @@
1
1
  import { buildAgentSnapshotById, buildAllAgentSnapshots } from '../state/snapshot.js';
2
2
  import { decodeBase64Image, ImageValidationError } from '../agent/image-input.js';
3
- import { IMAGE_UPLOAD_ROUTE_BODY_LIMIT } from '../shared/index.js';
3
+ import { RootRuntimeStopIncompleteError } from '../agent/root-recovery-coordinator.js';
4
+ import { IMAGE_UPLOAD_ROUTE_BODY_LIMIT, ROOT_AGENT_ID } from '../shared/index.js';
4
5
  export async function agentRoutes(app) {
5
6
  app.get('/agents', async () => buildAllAgentSnapshots(app.ctx));
7
+ app.get(`/agents/${ROOT_AGENT_ID}/session`, async (_request, reply) => {
8
+ const coordinator = app.ctx.rootRecoveryCoordinator;
9
+ if (!coordinator) {
10
+ return reply.status(404).send({ error: 'Root agent is not configured' });
11
+ }
12
+ const recoveryStatus = coordinator.getRuntimeControlStatus();
13
+ const warning = coordinator.getRuntimeStopWarning();
14
+ return {
15
+ id: ROOT_AGENT_ID,
16
+ recoveryStatus,
17
+ recoveryEnabled: recoveryStatus === 'active',
18
+ ...(warning ? { warning } : {}),
19
+ };
20
+ });
6
21
  app.get('/agents/:id', async (request, reply) => {
7
22
  const configured = app.ctx.agentManager.getAgentConfig(request.params.id);
8
23
  if (!configured) {
@@ -12,6 +27,32 @@ export async function agentRoutes(app) {
12
27
  return buildAgentSnapshotById(app.ctx, request.params.id);
13
28
  });
14
29
  app.delete('/agents/:id/session', async (request, reply) => {
30
+ if (request.params.id === ROOT_AGENT_ID) {
31
+ if (!app.ctx.rootRecoveryCoordinator) {
32
+ return reply.status(404).send({ error: 'Root agent is not configured' });
33
+ }
34
+ try {
35
+ await app.ctx.rootRecoveryCoordinator.stopRuntime();
36
+ }
37
+ catch (err) {
38
+ if (err instanceof RootRuntimeStopIncompleteError) {
39
+ return reply.status(503).send({
40
+ error: err.message,
41
+ recoveryStatus: app.ctx.rootRecoveryCoordinator.getRuntimeControlStatus(),
42
+ retryable: true,
43
+ });
44
+ }
45
+ throw err;
46
+ }
47
+ const warning = app.ctx.rootRecoveryCoordinator.getRuntimeStopWarning();
48
+ return reply.status(200).send({
49
+ stopped: true,
50
+ recoveryStatus: app.ctx.rootRecoveryCoordinator.getRuntimeControlStatus(),
51
+ message: warning
52
+ ? `Root recovery is disabled until the Baxian server restarts. ${warning}`
53
+ : 'Root recovery is disabled until the Baxian server restarts.',
54
+ });
55
+ }
15
56
  const state = await app.ctx.agentStore.get(request.params.id);
16
57
  if (state?.taskId) {
17
58
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/api/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/api/agents.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAe,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsE/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAE7D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAKzE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAU/D;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6JtE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/api/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAe,UAAU,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAqGhH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAE7D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAKzE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAW/D;AASD,wBAAsB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuMtE"}