baxian 2.0.18 → 2.0.19

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 (33) hide show
  1. package/dist/agent/detect/classify.d.ts +7 -0
  2. package/dist/agent/detect/classify.d.ts.map +1 -0
  3. package/dist/agent/detect/classify.js +42 -0
  4. package/dist/agent/detect/classify.js.map +1 -0
  5. package/dist/agent/detect/gate.d.ts +2 -2
  6. package/dist/agent/detect/gate.d.ts.map +1 -1
  7. package/dist/agent/detect/gate.js +17 -63
  8. package/dist/agent/detect/gate.js.map +1 -1
  9. package/dist/agent/detect/manifest.d.ts +3 -2
  10. package/dist/agent/detect/manifest.d.ts.map +1 -1
  11. package/dist/agent/detect/manifest.js +36 -63
  12. package/dist/agent/detect/manifest.js.map +1 -1
  13. package/dist/agent/detect/manifests/claude-code.json +387 -153
  14. package/dist/agent/detect/manifests/codex.json +137 -63
  15. package/dist/agent/detect/manifests/opencode.json +69 -17
  16. package/dist/agent/detect/manifests/qodercli.json +84 -25
  17. package/dist/agent/detect/region.d.ts +2 -2
  18. package/dist/agent/detect/region.d.ts.map +1 -1
  19. package/dist/agent/detect/region.js +122 -101
  20. package/dist/agent/detect/region.js.map +1 -1
  21. package/dist/agent/manager.d.ts +1 -0
  22. package/dist/agent/manager.d.ts.map +1 -1
  23. package/dist/agent/manager.js +85 -57
  24. package/dist/agent/manager.js.map +1 -1
  25. package/dist/agent/tmux-probe-poller.d.ts +0 -1
  26. package/dist/agent/tmux-probe-poller.d.ts.map +1 -1
  27. package/dist/agent/tmux-probe-poller.js +11 -34
  28. package/dist/agent/tmux-probe-poller.js.map +1 -1
  29. package/dist/agent/tmux.d.ts +3 -14
  30. package/dist/agent/tmux.d.ts.map +1 -1
  31. package/dist/agent/tmux.js +35 -235
  32. package/dist/agent/tmux.js.map +1 -1
  33. package/package.json +1 -1
@@ -5,228 +5,462 @@
5
5
  "id": "osc_title_working",
6
6
  "state": "working",
7
7
  "priority": 1100,
8
- "region": "oscTitle",
8
+ "region": "osc_title",
9
9
  "visibleWorking": true,
10
- "regex": ["^[\\u2800-\\u28FF] "]
10
+ "regex": [
11
+ "^[\\u2800-\\u28FF\\u25D0-\\u25D3] "
12
+ ]
13
+ },
14
+ {
15
+ "id": "live_turn_working",
16
+ "state": "working",
17
+ "priority": 970,
18
+ "region": "bottom_non_empty_lines(12)",
19
+ "visibleWorking": true,
20
+ "any": [
21
+ {
22
+ "lineRegex": [
23
+ "^\\s*[⏸⏵].*esc to interrupt(?:\\s|·|$)"
24
+ ]
25
+ },
26
+ {
27
+ "lineRegex": [
28
+ "^\\s*[\\u002A\\u00B7\\u2722\\u2736\\u273B\\u273D]\\s+\\S.*…(?:\\s+\\(\\d+[smh](?:\\s|·)|\\s*$)"
29
+ ]
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "id": "background_shell_working",
35
+ "state": "working",
36
+ "priority": 965,
37
+ "region": "bottom_non_empty_lines(5)",
38
+ "visibleWorking": true,
39
+ "lineRegex": [
40
+ "^\\s*[⏸⏵].*·\\s+[1-9]\\d*\\s+shells?\\s+(?:·|$)"
41
+ ]
42
+ },
43
+ {
44
+ "id": "background_agents_working",
45
+ "state": "working",
46
+ "priority": 965,
47
+ "region": "last_non_empty_above_prompt_box",
48
+ "visibleWorking": true,
49
+ "lineRegex": [
50
+ "^\\s*[\\u002A\\u00B7\\u2722\\u2736\\u273B\\u273D]\\s+Waiting for [1-9]\\d* background agents? to finish\\s*$"
51
+ ]
52
+ },
53
+ {
54
+ "id": "background_mcp_task_working",
55
+ "state": "working",
56
+ "priority": 965,
57
+ "region": "bottom_non_empty_lines(12)",
58
+ "visibleWorking": true,
59
+ "regex": [
60
+ "(?m)^[\\u002A\\u00B7\\u2722\\u2736\\u273B\\u273D][ \\t]+\\S[^\\n]*?(?:\\n[ \\t]+[^\\n]*?){0,3}·(?:[ \\t]+|\\n[ \\t]*)[1-9]\\d*(?:[ \\t]+|\\n[ \\t]*)MCP(?:[ \\t]+|\\n[ \\t]*)tasks?(?:[ \\t]+|\\n[ \\t]*)still(?:[ \\t]+|\\n[ \\t]*)running[ \\t]*$"
61
+ ],
62
+ "not": [
63
+ {
64
+ "contains": [
65
+ "do you want to proceed?"
66
+ ]
67
+ },
68
+ {
69
+ "contains": [
70
+ "esc to cancel"
71
+ ]
72
+ },
73
+ {
74
+ "contains": [
75
+ "waiting for permission"
76
+ ]
77
+ },
78
+ {
79
+ "contains": [
80
+ "do you want to allow this connection?"
81
+ ]
82
+ },
83
+ {
84
+ "contains": [
85
+ "tab to amend"
86
+ ]
87
+ },
88
+ {
89
+ "contains": [
90
+ "ctrl+e to explain"
91
+ ]
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "id": "btw_overlay_working",
97
+ "state": "working",
98
+ "priority": 975,
99
+ "region": "bottom_non_empty_lines(5)",
100
+ "visibleWorking": true,
101
+ "lineRegex": [
102
+ "^\\s*/btw(?:\\s|$)",
103
+ "(?i)esc to close\\s*$"
104
+ ]
11
105
  },
12
106
  {
13
107
  "id": "transcript_viewer",
14
108
  "state": "unknown",
15
- "priority": 1200,
16
- "region": "tailNonEmpty(1)",
109
+ "priority": 1000,
110
+ "region": "bottom_non_empty_lines(3)",
17
111
  "skipStateUpdate": true,
112
+ "contains": [
113
+ "showing detailed transcript"
114
+ ],
18
115
  "any": [
19
- { "contains": ["ctrl+o", "to toggle"] },
20
- { "contains": ["ctrl+e", "show all"] },
21
- { "contains": ["ctrl+e", "collapse"] },
22
- { "contains": ["showing detailed transcript"] },
23
- { "contains": ["↑↓ scroll"] },
24
- { "contains": ["? for shortcuts"] }
116
+ {
117
+ "contains": [
118
+ "ctrl+o",
119
+ "to toggle"
120
+ ]
121
+ },
122
+ {
123
+ "contains": [
124
+ "ctrl+e",
125
+ "show all"
126
+ ]
127
+ },
128
+ {
129
+ "contains": [
130
+ "ctrl+e",
131
+ "collapse"
132
+ ]
133
+ },
134
+ {
135
+ "contains": [
136
+ "↑↓ scroll"
137
+ ]
138
+ },
139
+ {
140
+ "contains": [
141
+ "? for shortcuts"
142
+ ]
143
+ }
25
144
  ]
26
145
  },
27
146
  {
28
147
  "id": "live_blocked_form",
29
148
  "state": "pending",
30
149
  "priority": 980,
31
- "region": "afterLastHorizontalRule",
150
+ "region": "after_last_horizontal_rule",
32
151
  "visibleBlocker": true,
33
- "contains": ["enter to select", "esc to cancel"],
34
- "any": [
35
- { "contains": ["tab/arrow keys to navigate"] },
36
- { "contains": ["arrow keys to navigate"] },
37
- { "contains": ["arrows to navigate"] },
38
- { "contains": ["↑/↓ to navigate"] },
39
- { "contains": ["↑↓ to navigate"] }
152
+ "contains": [
153
+ "esc to cancel"
40
154
  ],
41
- "notAfter": [
42
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
43
- { "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"] },
44
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
45
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] },
46
- { "contains": ["select model", "enter to set as default"] }
155
+ "any": [
156
+ {
157
+ "contains": [
158
+ "enter to confirm"
159
+ ]
160
+ },
161
+ {
162
+ "contains": [
163
+ "enter to select"
164
+ ],
165
+ "any": [
166
+ {
167
+ "contains": [
168
+ "tab/arrow keys to navigate"
169
+ ]
170
+ },
171
+ {
172
+ "contains": [
173
+ "arrow keys to navigate"
174
+ ]
175
+ },
176
+ {
177
+ "contains": [
178
+ "arrows to navigate"
179
+ ]
180
+ },
181
+ {
182
+ "contains": [
183
+ "↑/↓ to navigate"
184
+ ]
185
+ },
186
+ {
187
+ "contains": [
188
+ "↑↓ to navigate"
189
+ ]
190
+ }
191
+ ]
192
+ }
47
193
  ]
48
194
  },
49
195
  {
50
196
  "id": "dynamic_workflow_prompt",
51
197
  "state": "pending",
52
198
  "priority": 980,
53
- "region": "afterLastHorizontalRule",
54
- "visibleBlocker": true,
55
- "contains": ["run a dynamic workflow?", "esc to cancel"],
56
- "notAfter": [
57
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
58
- { "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"] },
59
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
60
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] },
61
- { "contains": ["select model", "enter to set as default"] }
62
- ]
63
- },
64
- {
65
- "id": "runtime_menu",
66
- "state": "pending",
67
- "priority": 955,
68
- "region": "tail(5)",
199
+ "region": "whole_recent",
69
200
  "visibleBlocker": true,
70
- "contains": ["enter to"],
71
- "lineRegex": ["^[ \\t]*[Ee]nter to\\b[^\\n]{0,160}\\u00b7[^\\n]{0,40}\\b[Ee]sc to\\b"],
72
- "notAfter": [
73
- { "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"] },
74
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
75
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
76
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] }
201
+ "contains": [
202
+ "run a dynamic workflow?",
203
+ "esc to cancel"
77
204
  ]
78
205
  },
79
206
  {
80
207
  "id": "live_prompt_box",
81
208
  "state": "idle",
82
209
  "priority": 950,
83
- "region": "promptBoxBody",
210
+ "region": "prompt_box_body",
84
211
  "visibleIdle": true,
85
- "lineRegex": ["^\\s*❯\\s*$"],
212
+ "lineRegex": [
213
+ "^\\s*❯"
214
+ ],
86
215
  "not": [
87
- { "contains": ["enter to select"] },
88
- { "contains": ["esc to cancel"] },
89
- { "contains": ["tab/arrow keys"] },
90
- { "contains": ["arrow keys to navigate"] },
91
- { "contains": ["↑/↓ to navigate"] }
216
+ {
217
+ "contains": [
218
+ "enter to select"
219
+ ]
220
+ },
221
+ {
222
+ "contains": [
223
+ "esc to cancel"
224
+ ]
225
+ },
226
+ {
227
+ "contains": [
228
+ "tab/arrow keys"
229
+ ]
230
+ },
231
+ {
232
+ "contains": [
233
+ "arrow keys to navigate"
234
+ ]
235
+ },
236
+ {
237
+ "contains": [
238
+ "↑/↓ to navigate"
239
+ ]
240
+ }
92
241
  ]
93
242
  },
94
243
  {
95
244
  "id": "model_picker_menu",
96
245
  "state": "unknown",
97
- "priority": 985,
98
- "region": "whole",
246
+ "priority": 900,
247
+ "region": "whole_recent",
99
248
  "skipStateUpdate": true,
100
- "contains": ["select model", "enter to set as default"],
101
- "notAfter": [
102
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
103
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
104
- { "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"] },
105
- { "contains": ["do you want to"] },
106
- { "contains": ["would you like to"] },
107
- { "contains": ["enter to select"] },
108
- { "contains": ["enter to confirm"] },
109
- { "contains": ["waiting for permission"] },
110
- { "contains": ["tab to amend"] },
111
- { "contains": ["ctrl+e to explain"] },
112
- { "contains": ["review your answers"] },
113
- { "contains": ["skip interview and plan immediately"] },
114
- { "contains": ["run a dynamic workflow?"] },
115
- { "lineRegex": ["^[ \\t]*⏵⏵ bypass permissions on"] }
249
+ "contains": [
250
+ "select model",
251
+ "enter to set as default",
252
+ "esc to cancel"
253
+ ],
254
+ "not": [
255
+ {
256
+ "contains": [
257
+ "do you want to proceed?"
258
+ ]
259
+ },
260
+ {
261
+ "contains": [
262
+ "enter to select"
263
+ ]
264
+ }
116
265
  ]
117
266
  },
118
267
  {
119
268
  "id": "bash_permission_prompt",
120
269
  "state": "pending",
121
- "priority": 953,
122
- "region": "afterLastHorizontalRule",
270
+ "priority": 850,
271
+ "region": "whole_recent",
123
272
  "visibleBlocker": true,
124
- "contains": ["do you want to proceed?"],
273
+ "contains": [
274
+ "do you want to proceed?"
275
+ ],
125
276
  "any": [
126
- { "contains": ["bash command"] },
127
- { "contains": ["bash("] },
128
- { "contains": ["contains expansion"] },
129
- { "contains": ["tab to amend"] },
130
- { "contains": ["ctrl+e to explain"] }
277
+ {
278
+ "contains": [
279
+ "bash command"
280
+ ]
281
+ },
282
+ {
283
+ "contains": [
284
+ "bash("
285
+ ]
286
+ },
287
+ {
288
+ "contains": [
289
+ "contains expansion"
290
+ ]
291
+ },
292
+ {
293
+ "contains": [
294
+ "tab to amend"
295
+ ]
296
+ },
297
+ {
298
+ "contains": [
299
+ "ctrl+e to explain"
300
+ ]
301
+ }
131
302
  ],
132
303
  "all": [
133
- { "any": [
134
- { "lineRegex": ["^\\s*❯?\\s*[Yy][Ee][Ss]\\b"] },
135
- { "lineRegex": ["^\\s*1\\.\\s*[Yy][Ee][Ss]\\b"] },
136
- { "lineRegex": ["^\\s*2\\.\\s*[Nn][Oo]\\b"] }
137
- ]}
138
- ],
139
- "notAfter": [
140
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
141
- { "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"] },
142
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
143
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] }
304
+ {
305
+ "any": [
306
+ {
307
+ "lineRegex": [
308
+ "(?i)^\\s*❯?\\s*yes\\b"
309
+ ]
310
+ },
311
+ {
312
+ "lineRegex": [
313
+ "(?i)^\\s*1\\.\\s*yes\\b"
314
+ ]
315
+ },
316
+ {
317
+ "lineRegex": [
318
+ "(?i)^\\s*2\\.\\s*no\\b"
319
+ ]
320
+ }
321
+ ]
322
+ }
144
323
  ]
145
324
  },
146
325
  {
147
326
  "id": "generic_permission_prompt",
148
327
  "state": "pending",
149
- "priority": 952,
150
- "region": "afterLastHorizontalRule",
328
+ "priority": 840,
329
+ "region": "after_last_horizontal_rule",
151
330
  "visibleBlocker": true,
152
- "contains": ["do you want to proceed?", "esc to cancel"],
153
- "all": [
154
- { "any": [
155
- { "lineRegex": ["^\\s*❯?\\s*1\\.\\s*[Yy][Ee][Ss]\\b"] },
156
- { "lineRegex": ["^\\s*2\\.\\s*[Yy][Ee][Ss]\\b"] },
157
- { "lineRegex": ["^\\s*2\\.\\s*[Nn][Oo]\\b"] },
158
- { "lineRegex": ["^\\s*3\\.\\s*[Nn][Oo]\\b"] }
159
- ]}
331
+ "contains": [
332
+ "do you want to proceed?",
333
+ "esc to cancel"
160
334
  ],
161
- "notAfter": [
162
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
163
- { "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"] },
164
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
165
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] }
335
+ "all": [
336
+ {
337
+ "any": [
338
+ {
339
+ "lineRegex": [
340
+ "(?i)^\\s*❯?\\s*1\\.\\s*yes\\b"
341
+ ]
342
+ },
343
+ {
344
+ "lineRegex": [
345
+ "(?i)^\\s*2\\.\\s*yes\\b"
346
+ ]
347
+ },
348
+ {
349
+ "lineRegex": [
350
+ "(?i)^\\s*2\\.\\s*no\\b"
351
+ ]
352
+ },
353
+ {
354
+ "lineRegex": [
355
+ "(?i)^\\s*3\\.\\s*no\\b"
356
+ ]
357
+ }
358
+ ]
359
+ }
166
360
  ]
167
361
  },
168
362
  {
169
363
  "id": "legacy_no_prompt_blocker",
170
364
  "state": "pending",
171
365
  "priority": 300,
172
- "region": "afterLastHorizontalRule",
173
- "visibleBlocker": true,
366
+ "region": "whole_recent",
174
367
  "any": [
175
- { "contains": ["do you want to"], "any": [{ "contains": ["yes"] }, { "lineRegex": ["^\\s*❯\\s+\\S"] }] },
176
- { "contains": ["would you like to"], "any": [{ "contains": ["yes"] }, { "lineRegex": ["^\\s*❯\\s+\\S"] }] },
177
- { "contains": ["waiting for permission"] },
178
- { "contains": ["do you want to allow this connection?"] },
179
- { "contains": ["tab to amend"] },
180
- { "contains": ["ctrl+e to explain"] },
181
- { "contains": ["do you want to proceed?", "esc to cancel"] },
182
- { "contains": ["review your answers"] },
183
- { "contains": ["skip interview and plan immediately"] }
368
+ {
369
+ "contains": [
370
+ "do you want to"
371
+ ],
372
+ "any": [
373
+ {
374
+ "contains": [
375
+ "yes"
376
+ ]
377
+ },
378
+ {
379
+ "contains": [
380
+ "❯"
381
+ ]
382
+ }
383
+ ]
384
+ },
385
+ {
386
+ "contains": [
387
+ "would you like to"
388
+ ],
389
+ "any": [
390
+ {
391
+ "contains": [
392
+ "yes"
393
+ ]
394
+ },
395
+ {
396
+ "contains": [
397
+ "❯"
398
+ ]
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "contains": [
404
+ "waiting for permission"
405
+ ]
406
+ },
407
+ {
408
+ "contains": [
409
+ "do you want to allow this connection?"
410
+ ]
411
+ },
412
+ {
413
+ "contains": [
414
+ "tab to amend"
415
+ ]
416
+ },
417
+ {
418
+ "contains": [
419
+ "ctrl+e to explain"
420
+ ]
421
+ },
422
+ {
423
+ "contains": [
424
+ "do you want to proceed?",
425
+ "esc to cancel"
426
+ ]
427
+ },
428
+ {
429
+ "contains": [
430
+ "review your answers"
431
+ ]
432
+ },
433
+ {
434
+ "contains": [
435
+ "skip interview and plan immediately"
436
+ ]
437
+ }
184
438
  ],
185
- "notAfter": [
186
- { "lineRegex": ["^\\s*[❯>]\\s*$"] },
187
- { "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"] },
188
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] }
189
- ]
190
- },
191
- {
192
- "id": "spinner_working",
193
- "state": "working",
194
- "priority": 951,
195
- "region": "tail(10)",
196
- "visibleWorking": true,
197
- "lineRegex": ["^[·✢✳✶✻✽][ \\t]+[^\\n…]{1,200}…[ \\t]*\\([ \\t]*(?:\\d+[ \\t]*m[ \\t]+)?\\d+[ \\t]*s"],
198
- "notAfter": [
199
- { "lineRegex": ["^✻[ \\t]+Worked for"] }
200
- ]
201
- },
202
- {
203
- "id": "esc_to_interrupt_working",
204
- "state": "working",
205
- "priority": 240,
206
- "region": "afterLastHorizontalRule",
207
- "regex": ["[eE]sc to interru(?:pt|p(?:…|\\.{3})?)"],
208
- "notAfter": [
209
- { "lineRegex": ["^[ \\t\\u00a0]*[❯>][ \\t\\u00a0]*$"] },
210
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] }
439
+ "not": [
440
+ {
441
+ "regex": [
442
+ "(?m)^\\s*❯\\s*$"
443
+ ]
444
+ }
211
445
  ]
212
446
  },
213
447
  {
214
448
  "id": "osc_title_idle",
215
449
  "state": "idle",
216
- "priority": 200,
217
- "region": "oscTitle",
450
+ "priority": 250,
451
+ "region": "osc_title",
218
452
  "visibleIdle": true,
219
- "regex": ["^\\u2733 "]
453
+ "regex": [
454
+ "^✳ "
455
+ ]
220
456
  },
221
457
  {
222
- "id": "idle_composer_prompt",
458
+ "id": "osc_progress_idle",
223
459
  "state": "idle",
224
- "priority": 100,
225
- "region": "tail(6)",
226
- "visibleIdle": true,
227
- "any": [
228
- { "regex": ["(?:^|\\n)[ \\t\\u00a0]*[❯>][ \\t\\u00a0]*(?:\\n[ \\t]*)*$"] },
229
- { "regex": ["(?:^|\\n)[ \\t]*⏵⏵ bypass permissions on[^\\n]*(?:\\n[ \\t]*)*$"] }
460
+ "priority": 250,
461
+ "region": "osc_progress",
462
+ "regex": [
463
+ "^4;0"
230
464
  ]
231
465
  }
232
466
  ]