agent-relay 10.1.0 → 10.3.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.
- package/dist/cli/commands/core.d.ts.map +1 -1
- package/dist/cli/commands/core.js +75 -0
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/lib/attach-drive.d.ts +72 -9
- package/dist/cli/lib/attach-drive.d.ts.map +1 -1
- package/dist/cli/lib/attach-drive.js +390 -94
- package/dist/cli/lib/attach-drive.js.map +1 -1
- package/dist/cli/lib/attach-passthrough.d.ts +22 -0
- package/dist/cli/lib/attach-passthrough.d.ts.map +1 -1
- package/dist/cli/lib/attach-passthrough.js +260 -58
- package/dist/cli/lib/attach-passthrough.js.map +1 -1
- package/dist/cli/lib/attach-view.d.ts +56 -4
- package/dist/cli/lib/attach-view.d.ts.map +1 -1
- package/dist/cli/lib/attach-view.js +217 -33
- package/dist/cli/lib/attach-view.js.map +1 -1
- package/dist/cli/lib/attach.d.ts +292 -10
- package/dist/cli/lib/attach.d.ts.map +1 -1
- package/dist/cli/lib/attach.js +496 -15
- package/dist/cli/lib/attach.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-passthrough.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attach-passthrough.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-passthrough.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
*
|
|
8
8
|
* No keystrokes are forwarded — the broker keeps doing whatever it's doing.
|
|
9
9
|
* Ctrl+C exits the client cleanly; the agent keeps running under the broker.
|
|
10
|
+
*
|
|
11
|
+
* Because nothing is forwarded, DECSET modes that make the *local* terminal
|
|
12
|
+
* generate input reports (mouse tracking, focus events, bracketed paste, …)
|
|
13
|
+
* are stripped from the stream before it reaches stdout — see
|
|
14
|
+
* {@link InputReportModeFilter}. The interactive verbs (`drive`,
|
|
15
|
+
* `passthrough`) keep those modes: they own stdin in raw mode and forward
|
|
16
|
+
* the reports to the agent, where a TUI can actually consume them.
|
|
10
17
|
*/
|
|
11
18
|
import WebSocket from 'ws';
|
|
12
19
|
import { captureAndRenderSnapshot, type AttachSnapshotConnection, type AttachSnapshotDeps } from '../lib/attach.js';
|
|
@@ -45,6 +52,13 @@ export interface ViewDependencies {
|
|
|
45
52
|
createWebSocket: ViewWebSocketFactory;
|
|
46
53
|
/** Where the PTY chunks get written. Defaults to `process.stdout.write`. */
|
|
47
54
|
writeChunk: (chunk: string) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Tear down the backpressure-aware writer on detach: drop its pending queue
|
|
57
|
+
* and unhook its `'drain'` listener so nothing flushes to stdout after the
|
|
58
|
+
* session settles. Defaults to the writer created in {@link withDefaults};
|
|
59
|
+
* tests that inject their own `writeChunk` can omit it (no-op).
|
|
60
|
+
*/
|
|
61
|
+
disposeWriter?: () => void;
|
|
48
62
|
/** Signal registration (so tests can drive SIGINT without killing the test). */
|
|
49
63
|
onSignal: ViewSignalRegistrar;
|
|
50
64
|
log: (...args: unknown[]) => void;
|
|
@@ -54,6 +68,12 @@ export interface ViewDependencies {
|
|
|
54
68
|
fetch: typeof globalThis.fetch;
|
|
55
69
|
/** Override for the snapshot-on-attach helper (tests substitute a stub). */
|
|
56
70
|
captureAndRenderSnapshot: (connection: AttachSnapshotConnection, agentName: string, deps: AttachSnapshotDeps) => ReturnType<typeof captureAndRenderSnapshot>;
|
|
71
|
+
/**
|
|
72
|
+
* True when stdout is an interactive terminal. Gates the on-detach terminal
|
|
73
|
+
* reset so a piped/redirected `view` never writes reset controls into the
|
|
74
|
+
* captured log. Defaults to `Boolean(process.stdout.isTTY)`.
|
|
75
|
+
*/
|
|
76
|
+
stdoutIsTty: boolean;
|
|
57
77
|
}
|
|
58
78
|
/**
|
|
59
79
|
* Resolve the broker connection to use for `view`, in priority order:
|
|
@@ -72,15 +92,47 @@ export declare function resolveViewBrokerConnection(options: {
|
|
|
72
92
|
}, deps: ViewDependencies): ViewBrokerConnection | null;
|
|
73
93
|
/** Convert an `http(s)://host:port` base URL to the matching `ws(s)://…/ws`. */
|
|
74
94
|
export declare function toWsUrl(baseUrl: string): string;
|
|
95
|
+
/** A matched `worker_stream` chunk plus its per-worker byte offset (absent on
|
|
96
|
+
* brokers that predate stream-offset support). */
|
|
97
|
+
export interface MatchedChunk {
|
|
98
|
+
chunk: string;
|
|
99
|
+
offset?: number;
|
|
100
|
+
}
|
|
75
101
|
/**
|
|
76
102
|
* Inspect a single WebSocket message and, if it's a `worker_stream` event for
|
|
77
|
-
* the requested agent, return the raw chunk string
|
|
78
|
-
* that don't match (other kinds, other agents,
|
|
79
|
-
* caller can ignore them.
|
|
103
|
+
* the requested agent, return the raw chunk string plus its stream offset.
|
|
104
|
+
* Returns `null` for events that don't match (other kinds, other agents,
|
|
105
|
+
* malformed JSON, etc.) so the caller can ignore them.
|
|
80
106
|
*
|
|
81
107
|
* Exported for unit testing the filter in isolation from any WebSocket.
|
|
82
108
|
*/
|
|
83
|
-
export declare function extractMatchingChunk(rawMessage: string, agentName: string):
|
|
109
|
+
export declare function extractMatchingChunk(rawMessage: string, agentName: string): MatchedChunk | null;
|
|
110
|
+
/**
|
|
111
|
+
* Streaming filter that removes input-report DECSET *enables* from a PTY
|
|
112
|
+
* byte stream. Everything else — including the matching `CSI ? … l`
|
|
113
|
+
* disables, all other CSIs, OSC/DCS strings, and printable text — passes
|
|
114
|
+
* through byte-for-byte.
|
|
115
|
+
*
|
|
116
|
+
* A CSI sequence may be split across `worker_stream` frames, so the filter
|
|
117
|
+
* holds an incomplete trailing ESC/CSI prefix (bounded by
|
|
118
|
+
* {@link MAX_HELD_SEQUENCE_LENGTH}) until the next chunk completes it.
|
|
119
|
+
* Multi-mode sets like `CSI ? 1002;1006 h` are rewritten to keep only the
|
|
120
|
+
* non-input-report modes (dropped entirely when none remain).
|
|
121
|
+
*
|
|
122
|
+
* Only ASCII control bytes drive the parsing; multi-byte UTF-8 payload
|
|
123
|
+
* characters never appear inside a CSI, so scanning UTF-16 code units is
|
|
124
|
+
* safe (same reasoning as `AnsiBoundaryScanner`).
|
|
125
|
+
*/
|
|
126
|
+
export declare class InputReportModeFilter {
|
|
127
|
+
/** Incomplete ESC/CSI prefix held from the previous chunk. */
|
|
128
|
+
private held;
|
|
129
|
+
/** Filter a chunk, returning the bytes safe to write to the local
|
|
130
|
+
* terminal. May return `''` while a split sequence is being held. */
|
|
131
|
+
push(chunk: string): string;
|
|
132
|
+
/** Drop any held partial sequence (detach teardown — an incomplete
|
|
133
|
+
* escape prefix written alone would itself garble the terminal). */
|
|
134
|
+
reset(): void;
|
|
135
|
+
}
|
|
84
136
|
/**
|
|
85
137
|
* Open the read-only view stream and run until the WebSocket closes, the
|
|
86
138
|
* caller signals SIGINT/SIGTERM, or an unrecoverable error occurs. Resolves
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-view.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-view.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"attach-view.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/attach-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,SAAS,MAAM,IAAI,CAAC;AAI3B,OAAO,EACL,wBAAwB,EAIxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAG1B,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;IACjD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC;IAC3E,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IAC9E,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,CAAC;AAEnG,MAAM,WAAW,mBAAmB;IAClC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,mEAAmE;IACnE,eAAe,EAAE,oBAAoB,CAAC;IACtC,4EAA4E;IAC5E,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,4EAA4E;IAC5E,wBAAwB,EAAE,CACxB,UAAU,EAAE,wBAAwB,EACpC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,KACrB,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACjD;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAuDD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,IAAI,EAAE,gBAAgB,GACrB,oBAAoB,GAAG,IAAI,CAsB7B;AAOD,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;mDACmD;AACnD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAc/F;AAuCD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,qBAAqB;IAChC,8DAA8D;IAC9D,OAAO,CAAC,IAAI,CAAM;IAElB;0EACsE;IACtE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAkD3B;yEACqE;IACrE,KAAK,IAAI,IAAI;CAGd;AAaD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,MAAM,CAAC,CA0JjB;AAED,gGAAgG;AAChG,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACxC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|
|
@@ -7,12 +7,19 @@
|
|
|
7
7
|
*
|
|
8
8
|
* No keystrokes are forwarded — the broker keeps doing whatever it's doing.
|
|
9
9
|
* Ctrl+C exits the client cleanly; the agent keeps running under the broker.
|
|
10
|
+
*
|
|
11
|
+
* Because nothing is forwarded, DECSET modes that make the *local* terminal
|
|
12
|
+
* generate input reports (mouse tracking, focus events, bracketed paste, …)
|
|
13
|
+
* are stripped from the stream before it reaches stdout — see
|
|
14
|
+
* {@link InputReportModeFilter}. The interactive verbs (`drive`,
|
|
15
|
+
* `passthrough`) keep those modes: they own stdin in raw mode and forward
|
|
16
|
+
* the reports to the agent, where a TUI can actually consume them.
|
|
10
17
|
*/
|
|
11
18
|
import fs from 'node:fs';
|
|
12
19
|
import path from 'node:path';
|
|
13
20
|
import WebSocket from 'ws';
|
|
14
21
|
import { getProjectPaths } from '@agent-relay/config';
|
|
15
|
-
import { captureAndRenderSnapshot, } from '../lib/attach.js';
|
|
22
|
+
import { captureAndRenderSnapshot, createBackpressureAwareWriter, resetLocalTerminalOnDetach, StreamSyncBuffer, } from '../lib/attach.js';
|
|
16
23
|
import { defaultExit, runSignalHandler } from '../lib/exit.js';
|
|
17
24
|
function readConnectionFileFromDisk(stateDir) {
|
|
18
25
|
const connPath = path.join(stateDir, 'connection.json');
|
|
@@ -31,14 +38,14 @@ function defaultStateDir() {
|
|
|
31
38
|
return path.join(projectRoot, '.agentworkforce/relay');
|
|
32
39
|
}
|
|
33
40
|
function withDefaults(overrides = {}) {
|
|
41
|
+
const writer = createBackpressureAwareWriter(process.stdout);
|
|
34
42
|
return {
|
|
35
43
|
readConnectionFile: readConnectionFileFromDisk,
|
|
36
44
|
getDefaultStateDir: defaultStateDir,
|
|
37
45
|
env: process.env,
|
|
38
46
|
createWebSocket: (url, headers) => new WebSocket(url, { headers }),
|
|
39
|
-
writeChunk:
|
|
40
|
-
|
|
41
|
-
},
|
|
47
|
+
writeChunk: writer.write,
|
|
48
|
+
disposeWriter: writer.dispose,
|
|
42
49
|
onSignal: (signal, handler) => {
|
|
43
50
|
const listener = () => runSignalHandler(handler);
|
|
44
51
|
process.on(signal, listener);
|
|
@@ -49,6 +56,7 @@ function withDefaults(overrides = {}) {
|
|
|
49
56
|
exit: defaultExit,
|
|
50
57
|
fetch: (input, init) => fetch(input, init),
|
|
51
58
|
captureAndRenderSnapshot,
|
|
59
|
+
stdoutIsTty: Boolean(process.stdout.isTTY),
|
|
52
60
|
...overrides,
|
|
53
61
|
};
|
|
54
62
|
}
|
|
@@ -107,9 +115,9 @@ export function toWsUrl(baseUrl) {
|
|
|
107
115
|
}
|
|
108
116
|
/**
|
|
109
117
|
* Inspect a single WebSocket message and, if it's a `worker_stream` event for
|
|
110
|
-
* the requested agent, return the raw chunk string
|
|
111
|
-
* that don't match (other kinds, other agents,
|
|
112
|
-
* caller can ignore them.
|
|
118
|
+
* the requested agent, return the raw chunk string plus its stream offset.
|
|
119
|
+
* Returns `null` for events that don't match (other kinds, other agents,
|
|
120
|
+
* malformed JSON, etc.) so the caller can ignore them.
|
|
113
121
|
*
|
|
114
122
|
* Exported for unit testing the filter in isolation from any WebSocket.
|
|
115
123
|
*/
|
|
@@ -130,7 +138,131 @@ export function extractMatchingChunk(rawMessage, agentName) {
|
|
|
130
138
|
const chunk = parsed.chunk;
|
|
131
139
|
if (typeof chunk !== 'string')
|
|
132
140
|
return null;
|
|
133
|
-
|
|
141
|
+
const offset = typeof parsed.offset === 'number' ? parsed.offset : undefined;
|
|
142
|
+
return { chunk, offset };
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* DECSET (`CSI ? … h`) modes that instruct the terminal to *send* escape
|
|
146
|
+
* sequences on input events. Enabling any of these on the viewer's local
|
|
147
|
+
* terminal is harmful: `view` never reads stdin (it stays cooked and
|
|
148
|
+
* echoing), so every report the terminal emits — mouse motion like
|
|
149
|
+
* `ESC [<35;22;25M`, focus in/out, paste guards — is echoed straight into
|
|
150
|
+
* the display as garbage instead of being consumed (#1247-adjacent; the
|
|
151
|
+
* on-detach reset already disables them, but that never helped mid-session).
|
|
152
|
+
*
|
|
153
|
+
* - 9, 1000, 1001, 1002, 1003 — X10/normal/highlight/button/any-event mouse
|
|
154
|
+
* - 1004 — focus in/out reporting
|
|
155
|
+
* - 1005, 1006, 1015, 1016 — mouse coordinate encodings
|
|
156
|
+
* - 1007 — alternate scroll (wheel → arrow-key input)
|
|
157
|
+
* - 2004 — bracketed paste
|
|
158
|
+
*/
|
|
159
|
+
const INPUT_REPORT_MODES = new Set([
|
|
160
|
+
9, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1015, 1016, 2004,
|
|
161
|
+
]);
|
|
162
|
+
/** Longest escape-sequence prefix the filter will hold across chunk
|
|
163
|
+
* boundaries before giving up on it. Any DECSET we care about is far
|
|
164
|
+
* shorter — even a full private-mode init that batches every mode stays well
|
|
165
|
+
* under this — so the cap only bites on a pathological CSI (an agent that
|
|
166
|
+
* stalls mid-sequence), where it bounds memory and latency. Beyond the cap an
|
|
167
|
+
* incomplete private-mode (`CSI ? …`) prefix is dropped rather than flushed,
|
|
168
|
+
* so a later chunk's final `h` can't re-enable an input-report mode on the
|
|
169
|
+
* local terminal; any other CSI is passed through verbatim. */
|
|
170
|
+
const MAX_HELD_SEQUENCE_LENGTH = 256;
|
|
171
|
+
/** An incomplete private-mode CSI (`CSI ? …`) that is still only parameter
|
|
172
|
+
* bytes — digits and `;` with no final byte yet. Flushing a prefix like this
|
|
173
|
+
* is unsafe: a later chunk's `h` would complete it locally and re-enable the
|
|
174
|
+
* very input-report modes this filter strips, so an over-long one is dropped
|
|
175
|
+
* instead of passed through. */
|
|
176
|
+
// eslint-disable-next-line no-control-regex -- intentionally matching a raw ESC byte in PTY output
|
|
177
|
+
const PARTIAL_PRIVATE_MODE = /^\x1b\[\?[0-9;]*$/;
|
|
178
|
+
/**
|
|
179
|
+
* Streaming filter that removes input-report DECSET *enables* from a PTY
|
|
180
|
+
* byte stream. Everything else — including the matching `CSI ? … l`
|
|
181
|
+
* disables, all other CSIs, OSC/DCS strings, and printable text — passes
|
|
182
|
+
* through byte-for-byte.
|
|
183
|
+
*
|
|
184
|
+
* A CSI sequence may be split across `worker_stream` frames, so the filter
|
|
185
|
+
* holds an incomplete trailing ESC/CSI prefix (bounded by
|
|
186
|
+
* {@link MAX_HELD_SEQUENCE_LENGTH}) until the next chunk completes it.
|
|
187
|
+
* Multi-mode sets like `CSI ? 1002;1006 h` are rewritten to keep only the
|
|
188
|
+
* non-input-report modes (dropped entirely when none remain).
|
|
189
|
+
*
|
|
190
|
+
* Only ASCII control bytes drive the parsing; multi-byte UTF-8 payload
|
|
191
|
+
* characters never appear inside a CSI, so scanning UTF-16 code units is
|
|
192
|
+
* safe (same reasoning as `AnsiBoundaryScanner`).
|
|
193
|
+
*/
|
|
194
|
+
export class InputReportModeFilter {
|
|
195
|
+
/** Incomplete ESC/CSI prefix held from the previous chunk. */
|
|
196
|
+
held = '';
|
|
197
|
+
/** Filter a chunk, returning the bytes safe to write to the local
|
|
198
|
+
* terminal. May return `''` while a split sequence is being held. */
|
|
199
|
+
push(chunk) {
|
|
200
|
+
// Fast path: nothing held and no ESC anywhere — pass through untouched.
|
|
201
|
+
if (this.held === '' && chunk.indexOf('\x1b') === -1)
|
|
202
|
+
return chunk;
|
|
203
|
+
const data = this.held + chunk;
|
|
204
|
+
this.held = '';
|
|
205
|
+
let out = '';
|
|
206
|
+
let i = 0;
|
|
207
|
+
while (i < data.length) {
|
|
208
|
+
const esc = data.indexOf('\x1b', i);
|
|
209
|
+
if (esc === -1) {
|
|
210
|
+
out += data.slice(i);
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
out += data.slice(i, esc);
|
|
214
|
+
if (esc + 1 >= data.length) {
|
|
215
|
+
// Chunk ends on a bare ESC — hold it for the next push.
|
|
216
|
+
this.held = '\x1b';
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
if (data.charCodeAt(esc + 1) !== 0x5b /* [ */) {
|
|
220
|
+
// Not a CSI (2-byte escape, OSC/DCS intro, …) — never a DECSET;
|
|
221
|
+
// emit the ESC and resume scanning right after it.
|
|
222
|
+
out += '\x1b';
|
|
223
|
+
i = esc + 1;
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
// CSI: find the final byte (0x40–0x7E).
|
|
227
|
+
let j = esc + 2;
|
|
228
|
+
while (j < data.length && !(data.charCodeAt(j) >= 0x40 && data.charCodeAt(j) <= 0x7e)) {
|
|
229
|
+
j += 1;
|
|
230
|
+
}
|
|
231
|
+
if (j >= data.length) {
|
|
232
|
+
const tail = data.slice(esc);
|
|
233
|
+
if (tail.length <= MAX_HELD_SEQUENCE_LENGTH) {
|
|
234
|
+
this.held = tail; // incomplete CSI — hold until the next chunk
|
|
235
|
+
}
|
|
236
|
+
else if (!PARTIAL_PRIVATE_MODE.test(tail)) {
|
|
237
|
+
out += tail; // pathologically long non-private CSI — give up filtering it
|
|
238
|
+
}
|
|
239
|
+
// else: an over-long incomplete private-mode prefix. Drop it — flushing
|
|
240
|
+
// the partial `CSI ? …` would let the next frame's final `h` re-enable
|
|
241
|
+
// an input-report mode locally, the exact spray this filter prevents.
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
out += filterCompleteCsi(data.slice(esc, j + 1));
|
|
245
|
+
i = j + 1;
|
|
246
|
+
}
|
|
247
|
+
return out;
|
|
248
|
+
}
|
|
249
|
+
/** Drop any held partial sequence (detach teardown — an incomplete
|
|
250
|
+
* escape prefix written alone would itself garble the terminal). */
|
|
251
|
+
reset() {
|
|
252
|
+
this.held = '';
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/** Rewrite one complete CSI sequence: strip input-report modes from a
|
|
256
|
+
* DECSET enable, pass every other CSI through verbatim. */
|
|
257
|
+
function filterCompleteCsi(sequence) {
|
|
258
|
+
// eslint-disable-next-line no-control-regex -- intentionally matching a raw ESC byte in PTY output
|
|
259
|
+
const match = /^\x1b\[\?([0-9;]+)h$/.exec(sequence);
|
|
260
|
+
if (!match)
|
|
261
|
+
return sequence;
|
|
262
|
+
const kept = match[1].split(';').filter((mode) => !INPUT_REPORT_MODES.has(Number(mode)));
|
|
263
|
+
if (kept.length === 0)
|
|
264
|
+
return '';
|
|
265
|
+
return `\x1b[?${kept.join(';')}h`;
|
|
134
266
|
}
|
|
135
267
|
/**
|
|
136
268
|
* Open the read-only view stream and run until the WebSocket closes, the
|
|
@@ -152,28 +284,6 @@ export async function runViewSession(agentName, options, deps) {
|
|
|
152
284
|
'or run from a directory containing .agentworkforce/relay/connection.json.');
|
|
153
285
|
return 1;
|
|
154
286
|
}
|
|
155
|
-
// Render the agent's current screen before the live stream begins, so
|
|
156
|
-
// the user sees what's there instead of staring at a blank terminal
|
|
157
|
-
// until the agent happens to produce more output. Hard errors
|
|
158
|
-
// (`not_found` / `no_pty`) abort — there's nothing meaningful to view.
|
|
159
|
-
// Transient errors (`unavailable` / `transport_error`) are surfaced as
|
|
160
|
-
// a warning and we fall through to the live stream; the agent may
|
|
161
|
-
// still produce useful output even if the snapshot couldn't be served.
|
|
162
|
-
const snapshot = await deps.captureAndRenderSnapshot({ url: connection.url, apiKey: connection.apiKey }, name, { fetch: deps.fetch, writeChunk: deps.writeChunk });
|
|
163
|
-
switch (snapshot.status) {
|
|
164
|
-
case 'ok':
|
|
165
|
-
break;
|
|
166
|
-
case 'not_found':
|
|
167
|
-
deps.error(`Error: ${snapshot.message ?? `no agent named '${name}'`}`);
|
|
168
|
-
return 1;
|
|
169
|
-
case 'no_pty':
|
|
170
|
-
deps.error(`Error: ${snapshot.message ?? `agent '${name}' has no PTY to view`}`);
|
|
171
|
-
return 1;
|
|
172
|
-
case 'unavailable':
|
|
173
|
-
case 'transport_error':
|
|
174
|
-
deps.log(`[view] could not capture initial screen (${snapshot.message ?? snapshot.status}); streaming live output only`);
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
287
|
const wsUrl = toWsUrl(connection.url);
|
|
178
288
|
const headers = {};
|
|
179
289
|
if (connection.apiKey) {
|
|
@@ -182,6 +292,20 @@ export async function runViewSession(agentName, options, deps) {
|
|
|
182
292
|
return new Promise((resolve) => {
|
|
183
293
|
let settled = false;
|
|
184
294
|
const cleanupSignals = [];
|
|
295
|
+
// Subscribe-first: buffer live `worker_stream` chunks until the snapshot
|
|
296
|
+
// is painted and reconciled, so no output around attach time is lost and
|
|
297
|
+
// (via per-worker offsets) none is double-applied. See StreamSyncBuffer.
|
|
298
|
+
const sync = new StreamSyncBuffer();
|
|
299
|
+
// Every byte of agent output (snapshot + live) flows through this filter
|
|
300
|
+
// so input-report modes never reach the viewer's terminal — `view` has no
|
|
301
|
+
// one consuming the reports they would trigger. The on-detach reset below
|
|
302
|
+
// bypasses it deliberately (its `?…l` disables must go out verbatim).
|
|
303
|
+
const inputModeFilter = new InputReportModeFilter();
|
|
304
|
+
const writeAgentOutput = (chunk) => {
|
|
305
|
+
const filtered = inputModeFilter.push(chunk);
|
|
306
|
+
if (filtered.length > 0)
|
|
307
|
+
deps.writeChunk(filtered);
|
|
308
|
+
};
|
|
185
309
|
const finish = (code) => {
|
|
186
310
|
if (settled)
|
|
187
311
|
return;
|
|
@@ -200,19 +324,79 @@ export async function runViewSession(agentName, options, deps) {
|
|
|
200
324
|
catch {
|
|
201
325
|
// best effort — already closed
|
|
202
326
|
}
|
|
327
|
+
try {
|
|
328
|
+
// Heal the local terminal: a replayed snapshot re-emits terminal modes
|
|
329
|
+
// (alt-screen, mouse reporting, bracketed paste, ...) that would
|
|
330
|
+
// otherwise linger after the viewer detaches. TTY stdout only.
|
|
331
|
+
// Must run before disposeWriter — the writer no-ops once disposed.
|
|
332
|
+
resetLocalTerminalOnDetach(deps.writeChunk, deps.stdoutIsTty);
|
|
333
|
+
}
|
|
334
|
+
catch {
|
|
335
|
+
// best effort
|
|
336
|
+
}
|
|
337
|
+
// Drop the writer's pending queue and unhook its drain listener so no
|
|
338
|
+
// buffered chunk flushes to stdout after detach.
|
|
339
|
+
deps.disposeWriter?.();
|
|
203
340
|
resolve(code);
|
|
204
341
|
};
|
|
342
|
+
// Render the agent's current screen once the WS is subscribed, then
|
|
343
|
+
// reconcile the buffered live chunks against it. Hard errors
|
|
344
|
+
// (`not_found` / `no_pty`) abort — there's nothing meaningful to view.
|
|
345
|
+
// Transient errors (`unavailable` / `transport_error`) are surfaced as a
|
|
346
|
+
// warning and we fall through to the live stream; the agent may still
|
|
347
|
+
// produce useful output even if the snapshot couldn't be served.
|
|
348
|
+
// Guard every snapshot-path write on `settled` so a Ctrl+C that lands
|
|
349
|
+
// while the snapshot HTTP fetch is in flight can't paint the snapshot
|
|
350
|
+
// after teardown has begun (the snapshot render path runs inside the
|
|
351
|
+
// awaited `captureAndRenderSnapshot`, past the WS `message` guard).
|
|
352
|
+
const guardedWrite = (chunk) => {
|
|
353
|
+
if (!settled)
|
|
354
|
+
writeAgentOutput(chunk);
|
|
355
|
+
};
|
|
356
|
+
const paintSnapshotAndReconcile = async () => {
|
|
357
|
+
const snapshot = await deps.captureAndRenderSnapshot({ url: connection.url, apiKey: connection.apiKey }, name, { fetch: deps.fetch, writeChunk: guardedWrite });
|
|
358
|
+
if (settled)
|
|
359
|
+
return;
|
|
360
|
+
switch (snapshot.status) {
|
|
361
|
+
case 'ok':
|
|
362
|
+
for (const chunk of sync.reconcile(snapshot.offset))
|
|
363
|
+
writeAgentOutput(chunk);
|
|
364
|
+
return;
|
|
365
|
+
case 'not_found':
|
|
366
|
+
deps.error(`Error: ${snapshot.message ?? `no agent named '${name}'`}`);
|
|
367
|
+
finish(1);
|
|
368
|
+
return;
|
|
369
|
+
case 'no_pty':
|
|
370
|
+
deps.error(`Error: ${snapshot.message ?? `agent '${name}' has no PTY to view`}`);
|
|
371
|
+
finish(1);
|
|
372
|
+
return;
|
|
373
|
+
case 'unavailable':
|
|
374
|
+
case 'transport_error':
|
|
375
|
+
deps.log(`[view] could not capture initial screen (${snapshot.message ?? snapshot.status}); streaming live output only`);
|
|
376
|
+
// No snapshot painted — apply everything buffered so far rather
|
|
377
|
+
// than dropping live output we already received.
|
|
378
|
+
for (const chunk of sync.flushAll())
|
|
379
|
+
writeAgentOutput(chunk);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
};
|
|
205
383
|
const socket = deps.createWebSocket(wsUrl, headers);
|
|
206
384
|
for (const signal of ['SIGINT', 'SIGTERM']) {
|
|
207
385
|
const cleanup = deps.onSignal(signal, () => finish(0));
|
|
208
386
|
if (typeof cleanup === 'function')
|
|
209
387
|
cleanupSignals.push(cleanup);
|
|
210
388
|
}
|
|
389
|
+
socket.on('open', () => {
|
|
390
|
+
void paintSnapshotAndReconcile();
|
|
391
|
+
});
|
|
211
392
|
socket.on('message', (data) => {
|
|
393
|
+
// Stop writing output once teardown has begun (no spray past detach).
|
|
394
|
+
if (settled)
|
|
395
|
+
return;
|
|
212
396
|
const text = typeof data === 'string' ? data : Buffer.isBuffer(data) ? data.toString('utf-8') : String(data);
|
|
213
|
-
const
|
|
214
|
-
if (
|
|
215
|
-
|
|
397
|
+
const matched = extractMatchingChunk(text, name);
|
|
398
|
+
if (matched !== null && sync.push(matched.chunk, matched.offset)) {
|
|
399
|
+
writeAgentOutput(matched.chunk);
|
|
216
400
|
}
|
|
217
401
|
});
|
|
218
402
|
socket.on('error', (err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attach-view.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attach-view.js","sourceRoot":"","sources":["../../../src/cli/lib/attach-view.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,GAGjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAuE/D,SAAS,0BAA0B,CAAC,QAAgB;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,mFAAmF;IACnF,oEAAoE;IACpE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC,WAAW,CAAC;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,YAAuC,EAAE;IAC7D,MAAM,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO;QACL,kBAAkB,EAAE,0BAA0B;QAC9C,kBAAkB,EAAE,eAAe;QACnC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAkB;QACnF,UAAU,EAAE,MAAM,CAAC,KAAK;QACxB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACnD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACrD,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;QAC1C,wBAAwB;QACxB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1C,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,GAAY,EAAE,GAAW;IAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAmE,EACnE,IAAsB;IAEtB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC/F,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,GAAuB,EAAE;QAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC/D,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,OAAO,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,WAAW,IAAI,MAAM,IAAI,OAAO,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC5B,MAAM,EAAE,aAAa,EAAE;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;AAChD,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,SAAiB;IACxE,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACpE,CAAC,CAAC;AAEH;;;;;;;gEAOgE;AAChE,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC;;;;iCAIiC;AACjC,mGAAmG;AACnG,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AAEjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,qBAAqB;IAChC,8DAA8D;IACtD,IAAI,GAAG,EAAE,CAAC;IAElB;0EACsE;IACtE,IAAI,CAAC,KAAa;QAChB,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1B,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3B,wDAAwD;gBACxD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9C,gEAAgE;gBAChE,mDAAmD;gBACnD,GAAG,IAAI,MAAM,CAAC;gBACd,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,wCAAwC;YACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACtF,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB,EAAE,CAAC;oBAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,6CAA6C;gBACjE,CAAC;qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,GAAG,IAAI,IAAI,CAAC,CAAC,6DAA6D;gBAC5E,CAAC;gBACD,wEAAwE;gBACxE,uEAAuE;gBACvE,sEAAsE;gBACtE,MAAM;YACR,CAAC;YACD,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;yEACqE;IACrE,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACjB,CAAC;CACF;AAED;4DAC4D;AAC5D,SAAS,iBAAiB,CAAC,QAAgB;IACzC,mGAAmG;IACnG,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,OAAmE,EACnE,IAAsB;IAEtB,iEAAiE;IACjE,oEAAoE;IACpE,oEAAoE;IACpE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,CACR,sFAAsF;YACpF,2EAA2E,CAC9E,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;QACrC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,cAAc,GAAsB,EAAE,CAAC;QAC7C,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACpC,yEAAyE;QACzE,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,eAAe,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACpD,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAQ,EAAE;YAC/C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;YAC9B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAAC,MAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;YACH,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;YACD,IAAI,CAAC;gBACH,uEAAuE;gBACvE,iEAAiE;gBACjE,+DAA+D;gBAC/D,mEAAmE;gBACnE,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;YACD,sEAAsE;YACtE,iDAAiD;YACjD,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,oEAAoE;QACpE,6DAA6D;QAC7D,uEAAuE;QACvE,yEAAyE;QACzE,sEAAsE;QACtE,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,MAAM,YAAY,GAAG,CAAC,KAAa,EAAQ,EAAE;YAC3C,IAAI,CAAC,OAAO;gBAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,MAAM,yBAAyB,GAAG,KAAK,IAAmB,EAAE;YAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAClD,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAClD,IAAI,EACJ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAChD,CAAC;YACF,IAAI,OAAO;gBAAE,OAAO;YACpB,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACxB,KAAK,IAAI;oBACP,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;wBAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7E,OAAO;gBACT,KAAK,WAAW;oBACd,IAAI,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,OAAO,IAAI,mBAAmB,IAAI,GAAG,EAAE,CAAC,CAAC;oBACvE,MAAM,CAAC,CAAC,CAAC,CAAC;oBACV,OAAO;gBACT,KAAK,QAAQ;oBACX,IAAI,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,OAAO,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC,CAAC;oBACjF,MAAM,CAAC,CAAC,CAAC,CAAC;oBACV,OAAO;gBACT,KAAK,aAAa,CAAC;gBACnB,KAAK,iBAAiB;oBACpB,IAAI,CAAC,GAAG,CACN,4CAA4C,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,+BAA+B,CAC/G,CAAC;oBACF,gEAAgE;oBAChE,iDAAiD;oBACjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC7D,OAAO;YACX,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpD,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO,OAAO,KAAK,UAAU;gBAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACrB,KAAK,yBAAyB,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC5B,sEAAsE;YACtE,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,IAAI,GACR,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjE,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAClD,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,UAAU,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnC,uEAAuE;gBACvE,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,mCAAmC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrG,MAAM,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,OAAmE,EACnE,YAAuC,EAAE;IAEzC,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;AAChE,CAAC"}
|