@cortexkit/aft-bridge 0.58.1 → 0.59.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/bash-format.d.ts.map +1 -1
- package/dist/bash-format.js +5 -0
- package/dist/bash-format.js.map +1 -1
- package/dist/bash-hints.d.ts +159 -20
- package/dist/bash-hints.d.ts.map +1 -1
- package/dist/bash-hints.js +343 -37
- package/dist/bash-hints.js.map +1 -1
- package/dist/bash-host-fallback.d.ts +27 -0
- package/dist/bash-host-fallback.d.ts.map +1 -1
- package/dist/bash-host-fallback.js +55 -16
- package/dist/bash-host-fallback.js.map +1 -1
- package/dist/binary-identity.d.ts +13 -0
- package/dist/binary-identity.d.ts.map +1 -1
- package/dist/binary-identity.js +91 -2
- package/dist/binary-identity.js.map +1 -1
- package/dist/bridge.d.ts +12 -3
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +85 -40
- package/dist/bridge.js.map +1 -1
- package/dist/callgraph-format.d.ts.map +1 -1
- package/dist/callgraph-format.js +18 -10
- package/dist/callgraph-format.js.map +1 -1
- package/dist/child-process.d.ts.map +1 -1
- package/dist/child-process.js +10 -1
- package/dist/child-process.js.map +1 -1
- package/dist/coerce.d.ts +27 -0
- package/dist/coerce.d.ts.map +1 -1
- package/dist/coerce.js +64 -0
- package/dist/coerce.js.map +1 -1
- package/dist/config-error.d.ts +2 -2
- package/dist/config-error.js +2 -2
- package/dist/config-watch.d.ts +2 -0
- package/dist/config-watch.d.ts.map +1 -1
- package/dist/config-watch.js +35 -0
- package/dist/config-watch.js.map +1 -1
- package/dist/durable-log.d.ts +11 -0
- package/dist/durable-log.d.ts.map +1 -1
- package/dist/durable-log.js +67 -24
- package/dist/durable-log.js.map +1 -1
- package/dist/error-contract.d.ts +14 -5
- package/dist/error-contract.d.ts.map +1 -1
- package/dist/error-contract.js +42 -9
- package/dist/error-contract.js.map +1 -1
- package/dist/feature-config.d.ts +35 -18
- package/dist/feature-config.d.ts.map +1 -1
- package/dist/feature-config.js +161 -94
- package/dist/feature-config.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -7
- package/dist/index.js.map +1 -1
- package/dist/location-lifecycle.d.ts.map +1 -1
- package/dist/location-lifecycle.js +22 -4
- package/dist/location-lifecycle.js.map +1 -1
- package/dist/message-detach.d.ts +15 -0
- package/dist/message-detach.d.ts.map +1 -1
- package/dist/message-detach.js +48 -0
- package/dist/message-detach.js.map +1 -1
- package/dist/migration-notices.d.ts.map +1 -1
- package/dist/migration-notices.js +12 -5
- package/dist/migration-notices.js.map +1 -1
- package/dist/migration.d.ts +1 -0
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +39 -12
- package/dist/migration.js.map +1 -1
- package/dist/onnx-runtime.d.ts +5 -0
- package/dist/onnx-runtime.d.ts.map +1 -1
- package/dist/onnx-runtime.js +55 -32
- package/dist/onnx-runtime.js.map +1 -1
- package/dist/path-aliases.d.ts.map +1 -1
- package/dist/path-aliases.js +8 -7
- package/dist/path-aliases.js.map +1 -1
- package/dist/path-display.d.ts +5 -0
- package/dist/path-display.d.ts.map +1 -0
- package/dist/path-display.js +21 -0
- package/dist/path-display.js.map +1 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +7 -6
- package/dist/paths.js.map +1 -1
- package/dist/private-storage.d.ts +9 -0
- package/dist/private-storage.d.ts.map +1 -0
- package/dist/private-storage.js +75 -0
- package/dist/private-storage.js.map +1 -0
- package/dist/protocol.d.ts +4 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/revivable-transport.d.ts +4 -2
- package/dist/revivable-transport.d.ts.map +1 -1
- package/dist/revivable-transport.js +48 -19
- package/dist/revivable-transport.js.map +1 -1
- package/dist/storage-paths.d.ts +3 -4
- package/dist/storage-paths.d.ts.map +1 -1
- package/dist/storage-paths.js +4 -5
- package/dist/storage-paths.js.map +1 -1
- package/dist/subc-transport.d.ts +62 -3
- package/dist/subc-transport.d.ts.map +1 -1
- package/dist/subc-transport.js +460 -53
- package/dist/subc-transport.js.map +1 -1
- package/dist/tar-executable.d.ts +1 -1
- package/dist/tar-executable.d.ts.map +1 -1
- package/dist/tar-executable.js +16 -2
- package/dist/tar-executable.js.map +1 -1
- package/dist/test-child-environment.d.ts +8 -0
- package/dist/test-child-environment.d.ts.map +1 -0
- package/dist/test-child-environment.js +105 -0
- package/dist/test-child-environment.js.map +1 -0
- package/dist/transport.d.ts +29 -0
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +26 -1
- package/dist/transport.js.map +1 -1
- package/dist/zoom-format.d.ts +1 -0
- package/dist/zoom-format.d.ts.map +1 -1
- package/dist/zoom-format.js +5 -1
- package/dist/zoom-format.js.map +1 -1
- package/package.json +2 -2
package/dist/bash-hints.js
CHANGED
|
@@ -1,51 +1,322 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as os from "node:os";
|
|
3
3
|
import * as path from "node:path";
|
|
4
|
+
import { relativePathEscapesRoot } from "./path-display.js";
|
|
4
5
|
/** Sync bash_watch deadline used by a primary session that passes no timeout. */
|
|
5
6
|
export const DEFAULT_PRIMARY_WATCH_TIMEOUT_MS = 30_000;
|
|
7
|
+
/** Largest bash_watch timeout accepted by the OpenCode and Pi plugins' tool schemas. */
|
|
8
|
+
export const MAX_WATCH_TIMEOUT_MS = 1_800_000;
|
|
6
9
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
10
|
+
* Default `bash.worker_wait_max_ms`: the longest a delegated worker's wait on
|
|
11
|
+
* one command blocks before control returns to it. Mirrors
|
|
12
|
+
* `DEFAULT_BASH_WORKER_WAIT_MAX_MS` in the engine's `config.rs`. A worker that
|
|
13
|
+
* blocked with no limit once sat behind a stuck test run for fifteen hours;
|
|
14
|
+
* with the limit it gets control back, sees the command is still running, and
|
|
15
|
+
* decides whether to wait again or kill it.
|
|
9
16
|
*/
|
|
10
|
-
export const
|
|
17
|
+
export const DEFAULT_WORKER_WAIT_MAX_MS = 1_800_000;
|
|
18
|
+
/** Smallest accepted `bash.worker_wait_max_ms`; mirrors `MIN_BASH_WORKER_WAIT_MAX_MS`. */
|
|
19
|
+
export const MIN_WORKER_WAIT_MAX_MS = 60_000;
|
|
11
20
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* keeps the short default because it can do other work or end its turn.
|
|
21
|
+
* Longest delay a JavaScript timer accepts (2^31 - 1 ms, about 24.8 days); a
|
|
22
|
+
* larger one fires almost at once. Bridge transport timeouts derived from a
|
|
23
|
+
* configured limit are clamped to it.
|
|
16
24
|
*/
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
export const LONGEST_TIMER_DELAY_MS = 2_147_483_647;
|
|
26
|
+
/**
|
|
27
|
+
* How a delegated worker's waits are bounded, worded once for every tool
|
|
28
|
+
* description. It names the setting, not its value, so the prompt prefix is
|
|
29
|
+
* the same for every user.
|
|
30
|
+
*/
|
|
31
|
+
export const WORKER_WAIT_LIMIT_PHRASE = "the worker wait limit (`bash.worker_wait_max_ms`, 30 minutes by default)";
|
|
32
|
+
/**
|
|
33
|
+
* Description of the bash_watch tool's sync-wait defaults, embedded in both
|
|
34
|
+
* plugins' tool descriptions. Every caller sees the same description, so it
|
|
35
|
+
* has to state both roles' real behaviour.
|
|
36
|
+
*/
|
|
37
|
+
export const WATCH_SYNC_DEFAULTS_DESCRIPTION = "Sync waits default to 30s in a main session (max `bash.watch_sync_max_ms`, 120s by default); in a delegated session a sync wait without a timeout waits up to the worker wait limit (`bash.worker_wait_max_ms`, 30 minutes by default), then reports it is still running; watch again to keep waiting";
|
|
38
|
+
/**
|
|
39
|
+
* Description of the bash_watch timeout parameter. Every caller sees the same
|
|
40
|
+
* schema, so it has to be true for both roles.
|
|
41
|
+
*/
|
|
42
|
+
export const WATCH_TIMEOUT_PARAM_DESCRIPTION = "Sync-only timeout in milliseconds. In a main session: default 30000, max `bash.watch_sync_max_ms` (120000 by default). In a delegated session: omit it to wait up to the worker wait limit (`bash.worker_wait_max_ms`, 30 minutes by default), after which the watch reports the command is still running; a value you pass is used as given.";
|
|
43
|
+
/**
|
|
44
|
+
* Effective sync bash_watch deadline in milliseconds.
|
|
45
|
+
*
|
|
46
|
+
* A delegated worker cannot be woken once its turn ends, so it has nothing
|
|
47
|
+
* useful to do while its command runs except wait, and a short deadline only
|
|
48
|
+
* makes it call bash_watch again, re-reading its whole context each time. It
|
|
49
|
+
* therefore waits up to the worker wait limit (`workerWaitMaxMs`,
|
|
50
|
+
* `bash.worker_wait_max_ms`) by default: long enough that re-watching is
|
|
51
|
+
* rare, short enough that a stuck command cannot hold it forever. A timeout
|
|
52
|
+
* it passes is honoured as given rather than clamped to the primary cap. A
|
|
53
|
+
* primary keeps the short default and the cap because it can do other work
|
|
54
|
+
* or end its turn and be woken by the completion reminder.
|
|
55
|
+
*/
|
|
56
|
+
export function resolveWatchTimeoutMs(requestedMs, role, capMs, workerWaitMaxMs) {
|
|
57
|
+
if (role === "worker")
|
|
58
|
+
return requestedMs ?? workerWaitMaxMs;
|
|
59
|
+
return Math.min(requestedMs ?? DEFAULT_PRIMARY_WATCH_TIMEOUT_MS, capMs);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Largest bash_watch timeout a caller of this role may pass. A primary is
|
|
63
|
+
* bounded by the configured cap; a worker only by the schema maximum.
|
|
64
|
+
*/
|
|
65
|
+
export function maxWatchTimeoutMs(role, capMs) {
|
|
66
|
+
return role === "worker" ? MAX_WATCH_TIMEOUT_MS : capMs;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Delay before the next bash_watch status poll. The first seconds poll fast so
|
|
70
|
+
* a short command's exit or a quick pattern is seen promptly; after that the
|
|
71
|
+
* interval grows, because a wait that can last as long as a build would
|
|
72
|
+
* otherwise send ten status requests a second for its whole length. The
|
|
73
|
+
* longest interval is also the worst-case delay before a new message or an
|
|
74
|
+
* abort ends the wait.
|
|
75
|
+
*/
|
|
76
|
+
export function watchPollDelayMs(elapsedMs) {
|
|
77
|
+
if (elapsedMs < 5_000)
|
|
78
|
+
return 100;
|
|
79
|
+
if (elapsedMs < 30_000)
|
|
80
|
+
return 250;
|
|
81
|
+
if (elapsedMs < 120_000)
|
|
82
|
+
return 500;
|
|
83
|
+
return 1_000;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Clock and sleep used by the bash_watch wait loops. Production uses the
|
|
87
|
+
* monotonic clock and a real timer; tests replace both fields so a wait that
|
|
88
|
+
* lasts minutes of simulated time runs in milliseconds.
|
|
89
|
+
*/
|
|
90
|
+
export const watchClock = {
|
|
91
|
+
now: () => performance.now(),
|
|
92
|
+
sleep: abortableSleep,
|
|
93
|
+
};
|
|
94
|
+
/** Sleep that resolves early when `signal` aborts, so an aborted wait ends at once. */
|
|
95
|
+
export function abortableSleep(ms, signal) {
|
|
96
|
+
if (signal?.aborted)
|
|
97
|
+
return Promise.resolve();
|
|
98
|
+
return new Promise((resolve) => {
|
|
99
|
+
const done = () => {
|
|
100
|
+
clearTimeout(timer);
|
|
101
|
+
signal?.removeEventListener("abort", done);
|
|
102
|
+
resolve();
|
|
103
|
+
};
|
|
104
|
+
const timer = setTimeout(done, ms);
|
|
105
|
+
signal?.addEventListener("abort", done, { once: true });
|
|
106
|
+
});
|
|
20
107
|
}
|
|
21
108
|
/**
|
|
22
109
|
* Opening of every sync bash_watch reply line: the real time the watch held
|
|
23
110
|
* the call, next to the limit it was allowed. Printing both lets a reader see
|
|
24
111
|
* at a glance whether the watch ran to its limit or returned early, and when
|
|
25
112
|
* the limit is the configured cap it names the knob, so a caller that wanted
|
|
26
|
-
* longer knows what bounded it. `
|
|
27
|
-
*
|
|
113
|
+
* longer knows what bounded it. `limitMs` is undefined for a wait with no
|
|
114
|
+
* deadline, and `capMs` is undefined when the caller is not bounded by the
|
|
115
|
+
* configured cap (a delegated worker). `elapsedMs` must come from a monotonic
|
|
116
|
+
* clock (see monotonicNowMs).
|
|
28
117
|
*/
|
|
29
118
|
export function formatWatchWaited(elapsedMs, limitMs, capMs) {
|
|
30
|
-
|
|
119
|
+
let limit;
|
|
120
|
+
if (limitMs === undefined)
|
|
121
|
+
limit = "no wait limit";
|
|
122
|
+
else if (capMs !== undefined && limitMs >= capMs)
|
|
123
|
+
limit = `limit ${limitMs}ms, the bash.watch_sync_max_ms cap`;
|
|
124
|
+
else
|
|
125
|
+
limit = `limit ${limitMs}ms`;
|
|
31
126
|
return `Waited ${Math.round(elapsedMs)}ms (${limit})`;
|
|
32
127
|
}
|
|
33
128
|
/**
|
|
34
|
-
* Appended to a bash_watch reply whose sync deadline passed without
|
|
35
|
-
* The deadline is a property of the watch, not of the command
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* still going. Each role gets only the move that applies to it: a worker must
|
|
39
|
-
* keep watching and not report, while a primary may end its turn because the
|
|
40
|
-
* completion reminder wakes it. `timeoutParam` is the host's spelling of the
|
|
41
|
-
* bash_watch timeout argument, so the worker is told a name it can pass.
|
|
129
|
+
* Appended to a primary's bash_watch reply whose sync deadline passed without
|
|
130
|
+
* a match. The deadline is a property of the watch, not of the command, so the
|
|
131
|
+
* caller is told the command is still running and that the completion
|
|
132
|
+
* reminder wakes it. A worker gets {@link workerWatchStillRunning} instead.
|
|
42
133
|
*/
|
|
43
|
-
export function watchTimeoutSteer(
|
|
44
|
-
if (role === "worker") {
|
|
45
|
-
return `The command is still running; this is not a failure. Watch again (${timeoutParam} up to ${capMs}) and don't report a result until it finishes.`;
|
|
46
|
-
}
|
|
134
|
+
export function watchTimeoutSteer() {
|
|
47
135
|
return "The command is still running; this is not a failure. Watch again, do other work, or end your turn: the completion reminder wakes you.";
|
|
48
136
|
}
|
|
137
|
+
/** A duration in words: whole minutes as minutes, anything else in seconds. */
|
|
138
|
+
export function formatWaitDuration(ms) {
|
|
139
|
+
const rounded = Math.max(0, Math.round(ms));
|
|
140
|
+
if (rounded === 60_000)
|
|
141
|
+
return "1 minute";
|
|
142
|
+
if (rounded > 0 && rounded % 60_000 === 0)
|
|
143
|
+
return `${rounded / 60_000} minutes`;
|
|
144
|
+
const seconds = (rounded / 1000).toFixed(1).replace(/\.0$/, "");
|
|
145
|
+
return `${seconds}s`;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* The sentence naming a task's own kill deadline, from the `hard_kill` field
|
|
149
|
+
* and `started_at` of the engine's task status (`{ limit_ms, source }`), or how
|
|
150
|
+
* the task was killed when its hard kill fired (`status_reason`). It reports an
|
|
151
|
+
* absolute UTC deadline measured from command start and the approximate time
|
|
152
|
+
* remaining. Mirrors `kill_deadline_sentence` in the engine.
|
|
153
|
+
*/
|
|
154
|
+
export function taskKillDeadlineText(data, role, nowMs = Date.now()) {
|
|
155
|
+
if (data.status === "timed_out") {
|
|
156
|
+
const reason = typeof data.status_reason === "string" ? data.status_reason : "";
|
|
157
|
+
return reason === ""
|
|
158
|
+
? "The task was killed by its time limit (exit 124)."
|
|
159
|
+
: `The task was ${reason}.`;
|
|
160
|
+
}
|
|
161
|
+
// A terminal task's deadline no longer matters; an unknown state (the
|
|
162
|
+
// bridge stayed busy) has none to report.
|
|
163
|
+
if (isTerminalTaskStatus(data.status) || typeof data.status !== "string")
|
|
164
|
+
return "";
|
|
165
|
+
if (data.status === "unknown")
|
|
166
|
+
return "";
|
|
167
|
+
const hardKill = data.hard_kill;
|
|
168
|
+
if (!hardKill || typeof hardKill.limit_ms !== "number") {
|
|
169
|
+
return "This task has no kill deadline.";
|
|
170
|
+
}
|
|
171
|
+
const startedAtMs = data.started_at;
|
|
172
|
+
if (typeof startedAtMs !== "number" || !Number.isSafeInteger(startedAtMs)) {
|
|
173
|
+
return "This task has no kill deadline.";
|
|
174
|
+
}
|
|
175
|
+
const limitMs = hardKill.limit_ms;
|
|
176
|
+
const limit = formatWaitDuration(limitMs);
|
|
177
|
+
const deadlineAt = startedAtMs + limitMs;
|
|
178
|
+
const when = `at ${formatKillDeadlineUtc(deadlineAt)}, when it has run ${limit}`;
|
|
179
|
+
let source;
|
|
180
|
+
if (hardKill.source === "timeout") {
|
|
181
|
+
source = "(the `timeout` you passed)";
|
|
182
|
+
}
|
|
183
|
+
else if (role === "worker") {
|
|
184
|
+
source =
|
|
185
|
+
"(its default background limit), but each wait you make on it moves that kill to at least the worker wait limit (`bash.worker_wait_max_ms`) after the wait, so it is not killed while you keep waiting; pass a `timeout` to set your own limit";
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
source = "(its default background limit) unless you pass a longer `timeout`";
|
|
189
|
+
}
|
|
190
|
+
const remaining = deadlineAt <= nowMs
|
|
191
|
+
? "; the kill deadline has passed"
|
|
192
|
+
: `; about ${formatApproximateRemaining(deadlineAt - nowMs)} remain`;
|
|
193
|
+
return `AFT kills this task ${when} ${source}${remaining}.`;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* A wait should not hand back a still-running task just before its own kill
|
|
197
|
+
* deadline. Five seconds covers the slowest status poll and kill publication.
|
|
198
|
+
*/
|
|
199
|
+
export function taskKillDeadlineWithinHandoffMargin(data) {
|
|
200
|
+
if (typeof data.status !== "string" || isTerminalTaskStatus(data.status))
|
|
201
|
+
return false;
|
|
202
|
+
const hardKill = data.hard_kill;
|
|
203
|
+
const limitMs = hardKill?.limit_ms;
|
|
204
|
+
const elapsedMs = data.elapsed_ms;
|
|
205
|
+
return (typeof limitMs === "number" &&
|
|
206
|
+
Number.isSafeInteger(limitMs) &&
|
|
207
|
+
typeof elapsedMs === "number" &&
|
|
208
|
+
Number.isSafeInteger(elapsedMs) &&
|
|
209
|
+
limitMs - elapsedMs <= 5_000);
|
|
210
|
+
}
|
|
211
|
+
function formatKillDeadlineUtc(unixMs) {
|
|
212
|
+
const date = new Date(unixMs);
|
|
213
|
+
if (!Number.isFinite(date.getTime()))
|
|
214
|
+
throw new Error("invalid bash task start time");
|
|
215
|
+
const year = String(date.getUTCFullYear()).padStart(4, "0");
|
|
216
|
+
const month = String(date.getUTCMonth() + 1).padStart(2, "0");
|
|
217
|
+
const day = String(date.getUTCDate()).padStart(2, "0");
|
|
218
|
+
const hour = String(date.getUTCHours()).padStart(2, "0");
|
|
219
|
+
const minute = String(date.getUTCMinutes()).padStart(2, "0");
|
|
220
|
+
const second = String(date.getUTCSeconds()).padStart(2, "0");
|
|
221
|
+
const millis = date.getUTCMilliseconds();
|
|
222
|
+
const fraction = millis === 0 ? "" : `.${String(millis).padStart(3, "0")}`;
|
|
223
|
+
return `${year}-${month}-${day} ${hour}:${minute}:${second}${fraction}Z`;
|
|
224
|
+
}
|
|
225
|
+
function formatApproximateRemaining(ms) {
|
|
226
|
+
if (ms >= 60_000) {
|
|
227
|
+
const minutes = Math.max(1, Math.floor((ms + 30_000) / 60_000));
|
|
228
|
+
return `${minutes} minute${minutes === 1 ? "" : "s"}`;
|
|
229
|
+
}
|
|
230
|
+
return formatWaitDuration(ms);
|
|
231
|
+
}
|
|
232
|
+
function isTerminalTaskStatus(status) {
|
|
233
|
+
return (status === "completed" ||
|
|
234
|
+
status === "failed" ||
|
|
235
|
+
status === "killed" ||
|
|
236
|
+
status === "timed_out" ||
|
|
237
|
+
status === "fate_unknown");
|
|
238
|
+
}
|
|
239
|
+
/** Most lines of a still-running command's output shown to a worker. */
|
|
240
|
+
const WORKER_OUTPUT_TAIL_LINES = 20;
|
|
241
|
+
/** The last lines of `output`, so a worker can judge whether a command is stuck. */
|
|
242
|
+
export function outputTail(output) {
|
|
243
|
+
const lines = (output ?? "").replace(/\s+$/, "").split("\n");
|
|
244
|
+
return lines.slice(-WORKER_OUTPUT_TAIL_LINES).join("\n");
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Appended to a delegated worker's bash_watch reply whose deadline passed
|
|
248
|
+
* while the command still runs (by default the worker wait limit). The
|
|
249
|
+
* deadline is a property of the watch, not of the command: a worker that read
|
|
250
|
+
* a bare "timeout reached" line as its own execution failing declared a
|
|
251
|
+
* failed result while its command was still going. So it is told plainly that
|
|
252
|
+
* the command is still running, how long it has run, and its latest output,
|
|
253
|
+
* then given both moves by name: watch again to keep waiting, or kill a
|
|
254
|
+
* command that should have finished. `taskIdArg` and `timeoutParam` are the
|
|
255
|
+
* host's spellings of the bash_watch arguments.
|
|
256
|
+
*/
|
|
257
|
+
export function workerWatchStillRunning(options) {
|
|
258
|
+
const taskIdArg = options.taskIdArg ?? "taskId";
|
|
259
|
+
const timeoutParam = options.timeoutParam ?? "timeoutMs";
|
|
260
|
+
const ran = options.ranMs === undefined ? "" : ` It has run for ${formatWaitDuration(options.ranMs)}.`;
|
|
261
|
+
const tail = outputTail(options.output);
|
|
262
|
+
const output = tail === "" ? "No output yet." : `Recent output:\n${tail}`;
|
|
263
|
+
return `The command is still running after ${formatWaitDuration(options.waitedMs)} of watching; this is not a failure.${ran} Call bash_watch({ ${taskIdArg}: "${options.taskId}" }) again to keep waiting (without ${timeoutParam} a watch waits up to the worker wait limit, then reports it is still running), or bash_kill({ ${taskIdArg}: "${options.taskId}" }) if it should have finished by now. Don't report a result until it finishes.\n${output}`;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* How long a sync bash_watch with no deadline keeps retrying while every
|
|
267
|
+
* status poll times out because the bridge is busy. Without this bound a wait
|
|
268
|
+
* with no deadline would retry a wedged bridge forever; after it, the watch
|
|
269
|
+
* returns and says the task state is unknown.
|
|
270
|
+
*/
|
|
271
|
+
export const WATCH_UNAVAILABLE_GIVE_UP_MS = 120_000;
|
|
272
|
+
/**
|
|
273
|
+
* What a delegated worker is told whenever its watch returned while its task
|
|
274
|
+
* is still running. A worker cannot be woken after its turn ends, so the only
|
|
275
|
+
* right move is to wait again.
|
|
276
|
+
*/
|
|
277
|
+
export const WORKER_KEEP_WAITING = "Call bash_watch again to keep waiting; don't report a result until the command finishes.";
|
|
278
|
+
/**
|
|
279
|
+
* Tail of a sync bash_watch reply interrupted by a new message, saying what
|
|
280
|
+
* happens to the still-running task next. A primary is woken later by the
|
|
281
|
+
* completion reminder or an async watch, as `primaryTail` says; a worker
|
|
282
|
+
* cannot be woken once its turn ends, so it is told to wait again instead.
|
|
283
|
+
*/
|
|
284
|
+
export function interruptedWatchTail(role, primaryTail) {
|
|
285
|
+
return role === "worker" ? `The task is still running. ${WORKER_KEEP_WAITING}` : primaryTail;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Appended to a bash reply shown to a delegated worker (subagent) whose
|
|
289
|
+
* command now runs in the background. AFT's own reply already says the task
|
|
290
|
+
* won't wake the worker; this names the plugin-owned bash_watch tool, which
|
|
291
|
+
* AFT cannot assume a host has. The suggested call passes no timeout on
|
|
292
|
+
* purpose: a worker's watch without one waits up to the worker wait limit,
|
|
293
|
+
* the longest it may, so any number would only make it wake sooner and watch
|
|
294
|
+
* again. `taskIdArg` is the host's spelling of the task id argument.
|
|
295
|
+
*/
|
|
296
|
+
export function workerBackgroundTaskNote(taskId, taskIdArg = "taskId") {
|
|
297
|
+
return `\n\nNOTE (subagent session): Continue with other work if you have it. If you don't, call bash_watch({ ${taskIdArg}: "${taskId}" }) to wait for completion before returning to the parent; without a timeout it waits up to ${WORKER_WAIT_LIMIT_PHRASE}, then reports it is still running; watch again to keep waiting, or call bash_kill({ ${taskIdArg}: "${taskId}" }) if it should have finished by now. Subagents don't survive turn-end and won't be woken when the command finishes.`;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Line a bash_status snapshot of a still-running task ends with. A primary is
|
|
301
|
+
* woken by the completion reminder; a delegated worker is not, so it is
|
|
302
|
+
* pointed at bash_watch instead.
|
|
303
|
+
*/
|
|
304
|
+
export function runningTaskStatusHint(role) {
|
|
305
|
+
return role === "worker"
|
|
306
|
+
? "To wait for it, call bash_watch; don't poll."
|
|
307
|
+
: "A completion reminder will be delivered automatically; don't poll.";
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Tail of a sync bash_watch reply that ended because the bridge stayed busy,
|
|
311
|
+
* so the task's state is unknown. Only a primary can rely on the completion
|
|
312
|
+
* notification to wake it.
|
|
313
|
+
*/
|
|
314
|
+
export function watchUnavailableSteer(role) {
|
|
315
|
+
const unknown = "the bridge was busy, so task state is unknown.";
|
|
316
|
+
if (role === "worker")
|
|
317
|
+
return `${unknown} ${WORKER_KEEP_WAITING}`;
|
|
318
|
+
return `${unknown} Do not poll; let the task's completion notification wake the session, or use one bash_status snapshot on the next normal tool call.`;
|
|
319
|
+
}
|
|
49
320
|
const CONFLICT_HINT = "\n\n[Hint] Use aft_conflicts to see all conflict regions across files in a single call.";
|
|
50
321
|
const GREP_SEARCH_AFT_SEARCH_HINT = "DO NOT search code by running grep/rg in bash — it is unindexed, unranked, and serial. Use the `aft_search` tool instead (it auto-routes concepts, identifiers, regex, and literals).";
|
|
51
322
|
const GREP_SEARCH_GREP_HINT = "DO NOT search code by running grep/rg in bash — it is unindexed, unranked, and serial. Use the `grep` tool instead (indexed and ranked).";
|
|
@@ -234,7 +505,7 @@ function nextCwdAfterCd(currentCwd, firstStage, afterCd) {
|
|
|
234
505
|
}
|
|
235
506
|
function isDirInsideProject(resolvedRoot, dir) {
|
|
236
507
|
const rel = path.relative(resolvedRoot, path.resolve(dir));
|
|
237
|
-
return
|
|
508
|
+
return !relativePathEscapesRoot(rel);
|
|
238
509
|
}
|
|
239
510
|
function collectPathOperands(firstStage, startAfterCommand) {
|
|
240
511
|
const operands = [];
|
|
@@ -245,6 +516,8 @@ function collectPathOperands(firstStage, startAfterCommand) {
|
|
|
245
516
|
// the grep read as path-less ("in-project cwd") and nudged toward aft_search
|
|
246
517
|
// for a target it could not see - the logs directory, in the field.
|
|
247
518
|
let sawPattern = false;
|
|
519
|
+
let optionsEnded = false;
|
|
520
|
+
let optionValue;
|
|
248
521
|
while (index < firstStage.length) {
|
|
249
522
|
const tokenResult = readShellToken(firstStage, index);
|
|
250
523
|
if (tokenResult === null)
|
|
@@ -258,23 +531,56 @@ function collectPathOperands(firstStage, startAfterCommand) {
|
|
|
258
531
|
if (end <= index)
|
|
259
532
|
break;
|
|
260
533
|
index = skipSpaces(firstStage, end);
|
|
261
|
-
|
|
534
|
+
// A descriptor before a redirection is shell syntax, not a search path.
|
|
535
|
+
if (/^\d+$/.test(token) && /[<>]/.test(firstStage[end] ?? ""))
|
|
536
|
+
break;
|
|
537
|
+
if (optionValue) {
|
|
538
|
+
if (optionValue === "pattern" || optionValue === "file")
|
|
539
|
+
sawPattern = true;
|
|
540
|
+
optionValue = undefined;
|
|
541
|
+
continue;
|
|
542
|
+
}
|
|
543
|
+
if (!optionsEnded && token === "--") {
|
|
544
|
+
optionsEnded = true;
|
|
262
545
|
continue;
|
|
263
|
-
|
|
546
|
+
}
|
|
547
|
+
if (!optionsEnded && token.startsWith("-")) {
|
|
548
|
+
if (token === "-e" || token === "--regexp")
|
|
549
|
+
optionValue = "pattern";
|
|
550
|
+
else if (token === "-f" || token === "--file")
|
|
551
|
+
optionValue = "file";
|
|
552
|
+
else if (/^(?:--regexp=|--file=|-e.+|-f.+)/.test(token))
|
|
553
|
+
sawPattern = true;
|
|
554
|
+
else if ([
|
|
555
|
+
"-A",
|
|
556
|
+
"-B",
|
|
557
|
+
"-C",
|
|
558
|
+
"-m",
|
|
559
|
+
"--after-context",
|
|
560
|
+
"--before-context",
|
|
561
|
+
"--context",
|
|
562
|
+
"--max-count",
|
|
563
|
+
"--include",
|
|
564
|
+
"--exclude",
|
|
565
|
+
"--exclude-dir",
|
|
566
|
+
"-g",
|
|
567
|
+
"--glob",
|
|
568
|
+
"-t",
|
|
569
|
+
"--type",
|
|
570
|
+
"-T",
|
|
571
|
+
"--type-not",
|
|
572
|
+
].includes(token))
|
|
573
|
+
optionValue = "other";
|
|
574
|
+
continue;
|
|
575
|
+
}
|
|
576
|
+
if (!sawPattern) {
|
|
264
577
|
sawPattern = true;
|
|
265
578
|
continue;
|
|
266
579
|
}
|
|
267
|
-
|
|
268
|
-
operands.push(token);
|
|
580
|
+
operands.push(token);
|
|
269
581
|
}
|
|
270
582
|
return operands;
|
|
271
583
|
}
|
|
272
|
-
function looksLikePathOperand(token) {
|
|
273
|
-
return (token.includes("/") ||
|
|
274
|
-
token.startsWith("~") ||
|
|
275
|
-
token.startsWith("./") ||
|
|
276
|
-
token.startsWith("../"));
|
|
277
|
-
}
|
|
278
584
|
function isDynamicPathOperand(token) {
|
|
279
585
|
return token.startsWith("~") || token.includes("$") || token.includes("`");
|
|
280
586
|
}
|
|
@@ -295,7 +601,7 @@ function isPathInsideProject(resolvedRoot, baseCwd, operand) {
|
|
|
295
601
|
// from the project root after a `cd`), absolute/`~` operands against the FS.
|
|
296
602
|
const resolved = resolvePathOperand(baseCwd, operand);
|
|
297
603
|
const rel = path.relative(resolvedRoot, resolved);
|
|
298
|
-
return
|
|
604
|
+
return !relativePathEscapesRoot(rel);
|
|
299
605
|
}
|
|
300
606
|
function shouldSuppressResolvedPath(resolved) {
|
|
301
607
|
try {
|
package/dist/bash-hints.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-hints.js","sourceRoot":"","sources":["../src/bash-hints.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bash-hints.js","sourceRoot":"","sources":["../src/bash-hints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAY5D,iFAAiF;AACjF,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEvD,wFAAwF;AACxF,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC;AAEpD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACnC,0EAA0E,CAAC;AAE7E;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,uSAAuS,CAAC;AAE1S;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,+UAA+U,CAAC;AAElV;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAA+B,EAC/B,IAAqB,EACrB,KAAa,EACb,eAAuB;IAEvB,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,IAAI,eAAe,CAAC;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,gCAAgC,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAqB,EAAE,KAAa;IACpE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,IAAI,SAAS,GAAG,KAAK;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,SAAS,GAAG,MAAM;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,SAAS,GAAG,OAAO;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAGnB;IACF,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;IAC5B,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,MAAoB;IAC7D,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,OAA2B,EAC3B,KAAyB;IAEzB,IAAI,KAAa,CAAC;IAClB,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,GAAG,eAAe,CAAC;SAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK;QAC9C,KAAK,GAAG,SAAS,OAAO,oCAAoC,CAAC;;QAC1D,KAAK,GAAG,SAAS,OAAO,IAAI,CAAC;IAClC,OAAO,UAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,uIAAuI,CAAC;AACjJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,OAAO,GAAG,MAAM,UAAU,CAAC;IAChF,MAAM,OAAO,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,GAAG,OAAO,GAAG,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA6B,EAC7B,IAAqB,EACrB,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IAElB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,OAAO,MAAM,KAAK,EAAE;YAClB,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,gBAAgB,MAAM,GAAG,CAAC;IAChC,CAAC;IACD,sEAAsE;IACtE,0CAA0C;IAC1C,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACpF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAiE,CAAC;IACxF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1E,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAClC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,qBAAqB,KAAK,EAAE,CAAC;IACjF,IAAI,MAAc,CAAC;IACnB,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,4BAA4B,CAAC;IACxC,CAAC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM;YACJ,+OAA+O,CAAC;IACpP,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,mEAAmE,CAAC;IAC/E,CAAC;IACD,MAAM,SAAS,GACb,UAAU,IAAI,KAAK;QACjB,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,WAAW,0BAA0B,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACzE,OAAO,uBAAuB,IAAI,IAAI,MAAM,GAAG,SAAS,GAAG,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CAAC,IAA6B;IAC/E,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAA+C,CAAC;IACtE,MAAM,OAAO,GAAG,QAAQ,EAAE,QAAQ,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IAClC,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAC7B,OAAO,SAAS,KAAK,QAAQ;QAC7B,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC;QAC/B,OAAO,GAAG,SAAS,IAAI,KAAK,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3E,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC;AAC3E,CAAC;AAED,SAAS,0BAA0B,CAAC,EAAU;IAC5C,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAChE,OAAO,GAAG,OAAO,UAAU,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAe;IAC3C,OAAO,CACL,MAAM,KAAK,WAAW;QACtB,MAAM,KAAK,QAAQ;QACnB,MAAM,KAAK,QAAQ;QACnB,MAAM,KAAK,WAAW;QACtB,MAAM,KAAK,cAAc,CAC1B,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,MAA0B;IACnD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAOvC;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC;IACzD,MAAM,GAAG,GACP,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7F,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAC1E,OAAO,sCAAsC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,GAAG,sBAAsB,SAAS,MAAM,OAAO,CAAC,MAAM,uCAAuC,YAAY,iGAAiG,SAAS,MAAM,OAAO,CAAC,MAAM,qFAAqF,MAAM,EAAE,CAAC;AAC/b,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,0FAA0F,CAAC;AAE7F;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAqB,EAAE,WAAmB;IAC7E,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,8BAA8B,mBAAmB,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;AAC/F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,SAAS,GAAG,QAAQ;IAC3E,OAAO,yGAAyG,SAAS,MAAM,MAAM,gGAAgG,wBAAwB,wFAAwF,SAAS,MAAM,MAAM,wHAAwH,CAAC;AACre,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAqB;IACzD,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,8CAA8C;QAChD,CAAC,CAAC,oEAAoE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAqB;IACzD,MAAM,OAAO,GAAG,gDAAgD,CAAC;IACjE,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,GAAG,OAAO,IAAI,mBAAmB,EAAE,CAAC;IAClE,OAAO,GAAG,OAAO,sIAAsI,CAAC;AAC1J,CAAC;AAED,MAAM,aAAa,GACjB,yFAAyF,CAAC;AAE5F,MAAM,2BAA2B,GAC/B,uLAAuL,CAAC;AAE1L,MAAM,qBAAqB,GACzB,0IAA0I,CAAC;AAE7I,MAAM,uBAAuB,GAAG,iDAAiD,CAAC;AAClF,MAAM,+BAA+B,GAAG,MAAM,CAAC;AAS/C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7E,gEAAgE;IAChE,4EAA4E;IAC5E,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1E,OAAO,MAAM,GAAG,aAAa,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAClC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAClC,IAAI,UAAU,CAAC,KAAK,KAAK,MAAM,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,OAAe,EACf,mBAA4B,EAC5B,WAAoB;IAEpB,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IACjC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5D,IAAI,4BAA4B,CAAC,OAAO,EAAE,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC;IAEtE,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACvF,OAAO,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAe,EAAE,WAA+B;IACpF,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEtC,IAAI,+BAA+B,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7D,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,2DAA2D;IAC3D,IAAI,YAAY,GAAkB,YAAY,CAAC;IAC/C,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAClC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;QAE9B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,YAAY,GAAG,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAC/C,sBAAsB,GAAG,IAAI,CAAC;QAE9B,6EAA6E;QAC7E,+EAA+E;QAC/E,IAAI,YAAY,KAAK,IAAI;YAAE,SAAS;QACpC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC;YAAE,SAAS;QAE9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QACjE,wEAAwE;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,oBAAoB,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC5C,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;gBAAE,SAAS;YACxE,mBAAmB,GAAG,IAAI,CAAC;YAC3B,IAAI,0BAA0B,CAAC,eAAe,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC/D,CAAC;QACD,oEAAoE;QACpE,IAAI,mBAAmB;YAAE,OAAO,KAAK,CAAC;IACxC,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,+BAA+B,CAAC,UAAoB;IAC3D,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAClC,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI;YAAE,SAAS;QAE/C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7E,oBAAoB,GAAG,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACrB,UAAyB,EACzB,UAAkB,EAClB,OAAe;IAEf,IAAI,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,IAAI;YAAE,MAAM;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QACnC,IAAI,GAAG,IAAI,KAAK;YAAE,MAAM,CAAC,iCAAiC;QAC1D,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;QACjE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,oBAAoB;QAC7E,MAAM,GAAG,KAAK,CAAC;QACf,MAAM;IACR,CAAC;IACD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,mBAAmB;IAC3E,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,UAAU;IACzE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB,EAAE,GAAW;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,iBAAyB;IACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACtD,wEAAwE;IACxE,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,oEAAoE;IACpE,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,WAAqD,CAAC;IAE1D,OAAO,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,IAAI;YAAE,MAAM;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QACnC,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,mEAAmE;QACnE,0EAA0E;QAC1E,IAAI,GAAG,IAAI,KAAK;YAAE,MAAM;QACxB,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,wEAAwE;QACxE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAAE,MAAM;QAErE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,MAAM;gBAAE,UAAU,GAAG,IAAI,CAAC;YAC3E,WAAW,GAAG,SAAS,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpC,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,UAAU;gBAAE,WAAW,GAAG,SAAS,CAAC;iBAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ;gBAAE,WAAW,GAAG,MAAM,CAAC;iBAC/D,IAAI,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;iBACtE,IACH;gBACE,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,IAAI;gBACJ,iBAAiB;gBACjB,kBAAkB;gBAClB,WAAW;gBACX,aAAa;gBACb,WAAW;gBACX,WAAW;gBACX,eAAe;gBACf,IAAI;gBACJ,QAAQ;gBACR,IAAI;gBACJ,QAAQ;gBACR,IAAI;gBACJ,YAAY;aACb,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAEjB,WAAW,GAAG,OAAO,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB,EAAE,OAAe;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB,EAAE,OAAe,EAAE,OAAe;IACjF,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClD,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,0BAA0B,CAAC,QAAgB;IAClD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QACzC,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,+BAA+B,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAU,MAAM,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,KAAK,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,GAAG,MAAM,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC;iBAC3B,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,GAAG,MAAM,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,EAAE,KAAK,GAAG;gBAAE,UAAU,GAAG,KAAK,CAAC;YACnC,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,GAAG,QAAQ,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,GAAG,QAAQ,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,UAAU,GAAG,CAAC;gBAAE,UAAU,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,IAAI,UAAU,GAAG,CAAC;YAAE,SAAS;QAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACjE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7C,KAAK,EAAE,CAAC;YACR,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7C,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,MAAM,IAAI,UAAU,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC;IAC3D,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,KAAK,GAAU,MAAM,CAAC;IAC1B,IAAI,cAAkC,CAAC;IAEvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,GAAG,MAAM,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC/B,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACxC,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,KAAa;IACpD,IAAI,KAAK,GAAU,MAAM,CAAC;IAC1B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,EAAE,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,GAAG,MAAM,CAAC;YACjB,CAAC;iBAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,EAAE,CAAC;gBACR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;YAClC,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,EAAE,CAAC;YACd,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,MAAM;QACzB,IAAI,eAAe,CAAC,EAAE,CAAC;YAAE,MAAM;QAC/B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,KAAK,EAAE,CAAC;YACR,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAClC,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,KAAa;IAC9C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,EAAE,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -3,6 +3,14 @@ export declare const BASH_HOST_FALLBACK_BANNER = "[AFT host fallback - module tr
|
|
|
3
3
|
export declare const BASH_HOST_FALLBACK_MAX_OUTPUT_BYTES: number;
|
|
4
4
|
export declare const BASH_HOST_FALLBACK_MAX_TIMEOUT_MS: number;
|
|
5
5
|
export declare const BASH_HOST_FALLBACK_REFUSAL = "AFT transport is down; only foreground execution is available in host fallback";
|
|
6
|
+
/**
|
|
7
|
+
* The bash `runon` argument's description. It is paid in every prompt that
|
|
8
|
+
* offers the argument, so it is one short sentence; docs/tools.md explains
|
|
9
|
+
* the rest. Shared by the OpenCode and Pi tools and the module catalog.
|
|
10
|
+
*/
|
|
11
|
+
export declare const BASH_RUNON_DESCRIPTION = "Run this command on the remote Linux build server instead of this machine; the only value is \"linux\".";
|
|
12
|
+
/** Guidance served only beside an available remote-run parameter. */
|
|
13
|
+
export declare const BASH_RUNON_GUIDANCE = "When remote runs are available, put `runon: \"linux\"` on build and test lines (cargo, bun test), including chains and pipes. Keep git, gh, interactive and file-editing commands local, and keep a line local if it needs macOS (Seatbelt, codesign, launchd, TCC, AppKit) or runs binaries built on this machine: a remote build leaves no binaries or target/ output here.";
|
|
6
14
|
export interface BashHostFallbackOptions {
|
|
7
15
|
command: string;
|
|
8
16
|
projectRoot: string;
|
|
@@ -18,6 +26,25 @@ export interface BashHostFallbackResult extends Record<string, unknown> {
|
|
|
18
26
|
}
|
|
19
27
|
export declare function hostFallbackPathWithShims(env: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string | undefined;
|
|
20
28
|
export declare function bashHostFallbackAskPattern(command: string, cwd: string, cause?: BashHostFallbackCause): string;
|
|
29
|
+
/**
|
|
30
|
+
* The last `BASH_HOST_FALLBACK_MAX_OUTPUT_BYTES` of a command's combined
|
|
31
|
+
* output. Chunks are kept as received and the oldest are dropped or sliced
|
|
32
|
+
* (without copying) once the cap is exceeded; the tail is copied into one
|
|
33
|
+
* buffer only when the command finishes. Concatenating the whole tail on every
|
|
34
|
+
* chunk copied up to the cap per chunk.
|
|
35
|
+
*/
|
|
36
|
+
export declare class OutputTail {
|
|
37
|
+
private readonly maxBytes;
|
|
38
|
+
private chunks;
|
|
39
|
+
private length;
|
|
40
|
+
/** Some output was dropped from the front to honour the cap. */
|
|
41
|
+
truncated: boolean;
|
|
42
|
+
/** Bytes copied while assembling output; tests use it to pin the cost. */
|
|
43
|
+
copiedBytes: number;
|
|
44
|
+
constructor(maxBytes?: number);
|
|
45
|
+
push(chunk: Buffer): void;
|
|
46
|
+
bytes(): Buffer;
|
|
47
|
+
}
|
|
21
48
|
/** Execute one explicitly-approved shell command without any AFT processing. */
|
|
22
49
|
export declare function runBashHostFallback(options: BashHostFallbackOptions): Promise<BashHostFallbackResult>;
|
|
23
50
|
//# sourceMappingURL=bash-host-fallback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-host-fallback.d.ts","sourceRoot":"","sources":["../src/bash-host-fallback.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,eAAO,MAAM,yBAAyB,oFAC6C,CAAC;AACpF,eAAO,MAAM,mCAAmC,QAAa,CAAC;AAC9D,eAAO,MAAM,iCAAiC,QAAiB,CAAC;AAChE,eAAO,MAAM,0BAA0B,mFAC2C,CAAC;AAEnF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AA2DD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,qBAAwC,GAC9C,MAAM,CAER;
|
|
1
|
+
{"version":3,"file":"bash-host-fallback.d.ts","sourceRoot":"","sources":["../src/bash-host-fallback.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,eAAO,MAAM,yBAAyB,oFAC6C,CAAC;AACpF,eAAO,MAAM,mCAAmC,QAAa,CAAC;AAC9D,eAAO,MAAM,iCAAiC,QAAiB,CAAC;AAChE,eAAO,MAAM,0BAA0B,mFAC2C,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,4GACsE,CAAC;AAE1G,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,kXAC+U,CAAC;AAEhX,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrE,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AA2DD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,qBAAwC,GAC9C,MAAM,CAER;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IAQT,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAPrC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAK;IACnB,gEAAgE;IAChE,SAAS,UAAS;IAClB,0EAA0E;IAC1E,WAAW,SAAK;gBAEa,QAAQ,SAAsC;IAE3E,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoBzB,KAAK,IAAI,MAAM;CAIhB;AAQD,gFAAgF;AAChF,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,sBAAsB,CAAC,CAyFjC"}
|