@cotal-ai/cli 0.11.6 → 0.12.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/commands/backup.d.ts +13 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +443 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/channels.d.ts +10 -0
- package/dist/commands/channels.d.ts.map +1 -1
- package/dist/commands/channels.js.map +1 -1
- package/dist/commands/clean.d.ts +12 -2
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +161 -28
- package/dist/commands/clean.js.map +1 -1
- package/dist/commands/down.d.ts +5 -0
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +323 -5
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/spawn.d.ts +4 -0
- package/dist/commands/spawn.d.ts.map +1 -1
- package/dist/commands/spawn.js +43 -23
- package/dist/commands/spawn.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +3 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/up.d.ts +12 -0
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +1149 -193
- package/dist/commands/up.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/backup-artifact.d.ts +50 -0
- package/dist/lib/backup-artifact.d.ts.map +1 -0
- package/dist/lib/backup-artifact.js +290 -0
- package/dist/lib/backup-artifact.js.map +1 -0
- package/dist/lib/delivery-proc.d.ts +7 -2
- package/dist/lib/delivery-proc.d.ts.map +1 -1
- package/dist/lib/delivery-proc.js +29 -19
- package/dist/lib/delivery-proc.js.map +1 -1
- package/dist/lib/endpoint-cut.d.ts +5 -0
- package/dist/lib/endpoint-cut.d.ts.map +1 -0
- package/dist/lib/endpoint-cut.js +53 -0
- package/dist/lib/endpoint-cut.js.map +1 -0
- package/dist/lib/isolated-broker.d.ts +70 -0
- package/dist/lib/isolated-broker.d.ts.map +1 -0
- package/dist/lib/isolated-broker.js +427 -0
- package/dist/lib/isolated-broker.js.map +1 -0
- package/dist/lib/maintenance-files.d.ts +10 -0
- package/dist/lib/maintenance-files.d.ts.map +1 -0
- package/dist/lib/maintenance-files.js +60 -0
- package/dist/lib/maintenance-files.js.map +1 -0
- package/dist/lib/manager-proc.d.ts +4 -0
- package/dist/lib/manager-proc.d.ts.map +1 -1
- package/dist/lib/manager-proc.js +2 -0
- package/dist/lib/manager-proc.js.map +1 -1
- package/dist/lib/restore.d.ts +52 -0
- package/dist/lib/restore.d.ts.map +1 -0
- package/dist/lib/restore.js +797 -0
- package/dist/lib/restore.js.map +1 -0
- package/package.json +7 -4
package/dist/commands/clean.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { existsSync, lstatSync, realpathSync, renameSync, rmSync } from "node:fs";
|
|
3
|
+
import { dirname, isAbsolute, join, parse, relative, resolve } from "node:path";
|
|
4
|
+
import { clearSpaceHistory, isReachable, registry, resolveAuthProvider } from "@cotal-ai/core";
|
|
5
|
+
import { DELIVERY_CREDS_KEY, acquireMaintenanceLock, cleanupRestoreFallback, localProcessPath, meshesForRoot, readMaintenanceJournal, releaseMaintenanceLock, removeMeshesByRoot, resolveSpace, rollbackRestore, workspaceSecretStore, } from "@cotal-ai/workspace";
|
|
5
6
|
import { connectOrExit, userViewAuthOrExit } from "../lib/connect.js";
|
|
6
7
|
import { c } from "../ui.js";
|
|
7
8
|
import { cotalRoot } from "../lib/paths.js";
|
|
8
9
|
import { pidfileState, pidfileTargets } from "./down.js";
|
|
9
|
-
|
|
10
|
+
import { localProcessSurface } from "../ext-loader.js";
|
|
11
|
+
const TARGETS = ["history", "store", "all", "restore-fallback", "restore-attempt"];
|
|
10
12
|
/** `cotal clean <history|store|all>` - one configurable cleanup verb.
|
|
11
13
|
* - `history`: purge the retained message backlog on the RUNNING broker (CHAT, plus DMs with
|
|
12
14
|
* `--dms`) via the least-privilege purger cred. `cotal history clear` is a thin alias.
|
|
@@ -30,18 +32,65 @@ export async function clean(args) {
|
|
|
30
32
|
}
|
|
31
33
|
if (target === "history")
|
|
32
34
|
return purgeHistory(values);
|
|
35
|
+
if (target === "restore-attempt") {
|
|
36
|
+
// The explicit pre-commit recovery action: roll back one exact stale attempt. A live claim
|
|
37
|
+
// (deadline not elapsed, or any recorded owner alive) is always refused.
|
|
38
|
+
if (!values.attempt)
|
|
39
|
+
throw new Error("clean restore-attempt requires --attempt <id>");
|
|
40
|
+
const root = cotalRoot();
|
|
41
|
+
const lock = acquireMaintenanceLock(root);
|
|
42
|
+
try {
|
|
43
|
+
const journal = readMaintenanceJournal(root);
|
|
44
|
+
if (!journal || journal.state !== "restore-ready" || journal.restore.attemptId !== values.attempt)
|
|
45
|
+
throw new Error(`no pre-commit restore attempt ${values.attempt} is recorded${journal ? ` (maintenance state is ${journal.state}${"restore" in journal ? ` for attempt ${journal.restore.attemptId}` : ""})` : ""}`);
|
|
46
|
+
rollbackRestore(lock);
|
|
47
|
+
console.log(c.green(`✓ rolled back stale restore attempt ${values.attempt}`));
|
|
48
|
+
console.log(c.dim(" the preserved source is back at ready; resume with `cotal up` or retry `cotal up --restore`"));
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
releaseMaintenanceLock(lock);
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (target === "restore-fallback") {
|
|
56
|
+
if (!values.attempt)
|
|
57
|
+
throw new Error("clean restore-fallback requires --attempt <id>");
|
|
58
|
+
const root = cotalRoot();
|
|
59
|
+
const lock = acquireMaintenanceLock(root);
|
|
60
|
+
try {
|
|
61
|
+
const record = cleanupRestoreFallback(lock, values.attempt);
|
|
62
|
+
console.log(c.green(`✓ removed retained source for restore ${record.restore.attemptId}`));
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
releaseMaintenanceLock(lock);
|
|
66
|
+
}
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
33
69
|
const root = cotalRoot();
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
70
|
+
const lock = acquireMaintenanceLock(root);
|
|
71
|
+
let removed;
|
|
72
|
+
try {
|
|
73
|
+
const maintenance = readMaintenanceJournal(root);
|
|
74
|
+
if (maintenance)
|
|
75
|
+
throw new Error(`clean ${target} is refused while maintenance state is ${maintenance.state}; use the recorded restore recovery or fallback-cleanup command`);
|
|
76
|
+
const running = liveMeshProcess(root);
|
|
77
|
+
if (running) {
|
|
78
|
+
console.error(c.red(`✗ the mesh is still running (${running}) - stop it first: \`cotal down\`, then \`cotal clean ${target}\``));
|
|
79
|
+
process.exitCode = 1;
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
for (const mesh of meshesForRoot(root)) {
|
|
83
|
+
if (await isReachable(mesh.server))
|
|
84
|
+
throw new Error(`clean ${target} is refused while the recorded mesh endpoint ${mesh.server} is reachable; stop the broker and verify it is offline first`);
|
|
85
|
+
}
|
|
86
|
+
removed = await removeLocalState(root, { includeAuth: target === "all", storeDir: values["store-dir"] });
|
|
87
|
+
// Keep registry/current-pointer cleanup in the same lock transaction as local identity removal.
|
|
88
|
+
if (target === "all")
|
|
89
|
+
removeMeshesByRoot(root);
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
releaseMaintenanceLock(lock);
|
|
38
93
|
}
|
|
39
|
-
const removed = removeLocalState(root, { includeAuth: target === "all", storeDir: values["store-dir"] });
|
|
40
|
-
// Full reset also drops the mesh from the machine registry (and the `current` pointer),
|
|
41
|
-
// keyed by ROOT - see removeMeshesByRoot for why a space-name key would be wrong. A normal
|
|
42
|
-
// `down` already did this; after a crash it is exactly the ghost entry to clear.
|
|
43
|
-
if (target === "all")
|
|
44
|
-
removeMeshesByRoot(root);
|
|
45
94
|
if (removed.length === 0) {
|
|
46
95
|
console.log(c.dim("nothing to clean - no local state found"));
|
|
47
96
|
return;
|
|
@@ -74,19 +123,33 @@ export async function purgeHistory(values) {
|
|
|
74
123
|
* block: a crashed broker must not wedge its own cleanup. Liveness rides the shared hardened
|
|
75
124
|
* probe (`pidfileState`): pid > 0 only, EPERM counts as alive. */
|
|
76
125
|
export function liveMeshProcess(root) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
126
|
+
return liveMeshProcesses(root)[0];
|
|
127
|
+
}
|
|
128
|
+
export function liveMeshProcesses(root) {
|
|
129
|
+
const context = { root, space: resolveSpace(root) };
|
|
130
|
+
const running = [];
|
|
131
|
+
for (const component of localProcessSurface()) {
|
|
132
|
+
const state = pidfileState(localProcessPath(component.pidFile, context));
|
|
133
|
+
if (state.live)
|
|
134
|
+
running.push(`${component.label}, pid ${state.pid}`);
|
|
81
135
|
}
|
|
82
|
-
return
|
|
136
|
+
return running;
|
|
83
137
|
}
|
|
84
138
|
/** Delete the stopped mesh's local state and return what was removed (paths relative to the root).
|
|
85
139
|
* `store`: the JetStream store directory. `all` adds the space identity (`.cotal/auth`), the
|
|
86
140
|
* locally persisted creds/markers tied to it - all invalid once the identity regenerates, and
|
|
87
141
|
* re-minted by the next fresh `cotal up` - plus crash residue a normal `down` would have swept
|
|
88
|
-
* (stale pidfiles, `run/`). Callers guard liveness first (`liveMeshProcess`).
|
|
89
|
-
|
|
142
|
+
* (stale pidfiles, `run/`). Callers guard liveness first (`liveMeshProcess`).
|
|
143
|
+
*
|
|
144
|
+
* MIGRATED SECRET KINDS are removed through the SecretStore seam FIRST — `delivery.creds` via
|
|
145
|
+
* its workspace key, the auth kinds via the registered provider's `deprovisionSecrets` — and a
|
|
146
|
+
* failure there THROWS BEFORE any raw removal of the local identity: wiping trust/IdP/ledger
|
|
147
|
+
* after a failed store delete would leave the store's old secrets authoritative over a freshly
|
|
148
|
+
* minted identity (split authority). The store deletes are idempotent, so a failed reset re-runs
|
|
149
|
+
* as-is, with `auth.json` still present to name the space. This surface stays the LOCAL
|
|
150
|
+
* filesystem composition (hosted resets ride the closed composition's own store + the same
|
|
151
|
+
* provider hook, never a KMS mode on this CLI). */
|
|
152
|
+
export async function removeLocalState(root, opts) {
|
|
90
153
|
const removed = [];
|
|
91
154
|
const rm = (path, label) => {
|
|
92
155
|
if (!existsSync(path))
|
|
@@ -94,18 +157,47 @@ export function removeLocalState(root, opts) {
|
|
|
94
157
|
rmSync(path, { recursive: true, force: true });
|
|
95
158
|
removed.push(label);
|
|
96
159
|
};
|
|
97
|
-
// The space must be read before `.cotal/auth` goes - it names the auth service's pidfile
|
|
160
|
+
// The space must be read before `.cotal/auth` goes - it names the auth service's pidfile
|
|
161
|
+
// and keys the provider's secret deprovision.
|
|
98
162
|
const space = resolveSpace(root);
|
|
99
|
-
const
|
|
100
|
-
|
|
163
|
+
const store = safeStoreCleanupPath(root, opts.storeDir);
|
|
164
|
+
if (store.identity) {
|
|
165
|
+
removePinnedStoreDirectory(store.path, store.identity);
|
|
166
|
+
removed.push(opts.storeDir ? store.path : ".cotal/nats (JetStream store)");
|
|
167
|
+
}
|
|
101
168
|
if (opts.includeAuth) {
|
|
169
|
+
// ---- the seam deletes, before ANY raw identity removal (see the doc above) ----
|
|
170
|
+
const secrets = workspaceSecretStore(root);
|
|
171
|
+
const failures = [];
|
|
172
|
+
try {
|
|
173
|
+
if ((await secrets.get(DELIVERY_CREDS_KEY)) !== undefined) {
|
|
174
|
+
await secrets.delete(DELIVERY_CREDS_KEY);
|
|
175
|
+
removed.push(`.cotal/${DELIVERY_CREDS_KEY}`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
failures.push(`${DELIVERY_CREDS_KEY}: ${e instanceof Error ? e.message : String(e)}`);
|
|
180
|
+
}
|
|
181
|
+
// Gate on registration: an open-mode composition may not register an auth provider, and a
|
|
182
|
+
// reset there must not start failing. With one registered, its deprovision must SUCCEED
|
|
183
|
+
// (absent keys are idempotent no-ops) before the identity goes.
|
|
184
|
+
if (registry.all("auth-provider").length) {
|
|
185
|
+
try {
|
|
186
|
+
await resolveAuthProvider().deprovisionSecrets({ store: secrets, space });
|
|
187
|
+
}
|
|
188
|
+
catch (e) {
|
|
189
|
+
failures.push(e instanceof Error ? e.message : String(e));
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (failures.length)
|
|
193
|
+
throw new Error(`clean all: secret-store deprovision failed (${failures.join("; ")}) - the local identity was NOT removed; the deletes are idempotent, fix the cause and re-run \`cotal clean all --force\``);
|
|
102
194
|
rm(join(root, ".cotal", "auth"), ".cotal/auth (space identity + creds)");
|
|
103
195
|
// Creds/records signed by (or tied to) the deleted identity: stale the moment it is gone.
|
|
104
196
|
// The fresh-`up` path re-mints every one of these (keep in sync with `provisionMembershipCreds`
|
|
105
197
|
// in up.ts); sweeping them keeps `doctor auth` honest in between and guarantees no
|
|
106
|
-
// old-operator material survives the reset.
|
|
198
|
+
// old-operator material survives the reset. (`delivery.creds` is gone already — it is a
|
|
199
|
+
// migrated kind and went through the store above, never a raw rm.)
|
|
107
200
|
for (const f of [
|
|
108
|
-
"delivery.creds",
|
|
109
201
|
"manager.delivery-aware",
|
|
110
202
|
"membership-observer.creds",
|
|
111
203
|
"membership-rw.creds",
|
|
@@ -122,7 +214,48 @@ export function removeLocalState(root, opts) {
|
|
|
122
214
|
}
|
|
123
215
|
return removed;
|
|
124
216
|
}
|
|
125
|
-
|
|
217
|
+
function pathContains(parent, child) {
|
|
218
|
+
const path = relative(parent, child);
|
|
219
|
+
const separator = process.platform === "win32" ? "\\" : "/";
|
|
220
|
+
return path === "" || (path !== ".." && !path.startsWith(`..${separator}`) && !isAbsolute(path));
|
|
221
|
+
}
|
|
222
|
+
function safeStoreCleanupPath(root, override) {
|
|
223
|
+
const requested = resolve(override ?? join(root, ".cotal", "nats"));
|
|
224
|
+
if (!existsSync(requested))
|
|
225
|
+
return { path: requested };
|
|
226
|
+
const stat = lstatSync(requested, { bigint: true });
|
|
227
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
228
|
+
throw new Error(`store cleanup target is not a real directory: ${requested}`);
|
|
229
|
+
const target = realpathSync.native(requested);
|
|
230
|
+
const canonicalRoot = realpathSync.native(root);
|
|
231
|
+
const cotal = join(canonicalRoot, ".cotal");
|
|
232
|
+
const defaultStore = join(cotal, "nats");
|
|
233
|
+
const protectedTrees = [join(cotal, "auth"), join(cotal, "agents"), join(cotal, "maintenance"), join(cotal, "run")];
|
|
234
|
+
if (target === parse(target).root || pathContains(target, canonicalRoot) || target === cotal ||
|
|
235
|
+
protectedTrees.some((path) => pathContains(path, target)) || (override && pathContains(cotal, target) && target !== defaultStore))
|
|
236
|
+
throw new Error(`refusing unsafe store cleanup target: ${target}`);
|
|
237
|
+
if (override) {
|
|
238
|
+
const generation = join(target, ".cotal-store-id");
|
|
239
|
+
const jetstream = join(target, "jetstream");
|
|
240
|
+
const hasGeneration = existsSync(generation) && lstatSync(generation).isFile() && !lstatSync(generation).isSymbolicLink();
|
|
241
|
+
const hasJetStream = existsSync(jetstream) && lstatSync(jetstream).isDirectory() && !lstatSync(jetstream).isSymbolicLink();
|
|
242
|
+
if (!hasGeneration && !hasJetStream)
|
|
243
|
+
throw new Error(`refusing custom cleanup target without a Cotal or JetStream store marker: ${target}`);
|
|
244
|
+
}
|
|
245
|
+
return { path: target, identity: { dev: stat.dev, ino: stat.ino } };
|
|
246
|
+
}
|
|
247
|
+
function removePinnedStoreDirectory(path, identity) {
|
|
248
|
+
const tomb = join(dirname(path), `.cotal-clean-${randomUUID()}`);
|
|
249
|
+
renameSync(path, tomb);
|
|
250
|
+
const moved = lstatSync(tomb, { bigint: true });
|
|
251
|
+
if (!moved.isDirectory() || moved.isSymbolicLink() || moved.dev !== identity.dev || moved.ino !== identity.ino) {
|
|
252
|
+
if (!existsSync(path))
|
|
253
|
+
renameSync(tomb, path);
|
|
254
|
+
throw new Error(`store cleanup target changed before deletion: ${path}`);
|
|
255
|
+
}
|
|
256
|
+
rmSync(tomb, { recursive: true });
|
|
257
|
+
}
|
|
258
|
+
const USAGE = "cotal clean <history|store|all> --force [--dms] [--space <s>] [--server <url>] [--creds <path>] [--store-dir <dir>] | cotal clean <restore-attempt|restore-fallback> --attempt <id> --force";
|
|
126
259
|
function usage() {
|
|
127
260
|
console.error(c.red(`usage: ${USAGE}`));
|
|
128
261
|
console.error(c.dim(" history purge the message backlog on the running broker (--dms to include DMs)"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAA6D,MAAM,gBAAgB,CAAC;AAC1J,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,CAAU,CAAC;AAG5F;;;;;;;;;;mEAUmE;AACnE,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAgB;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAuB,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAEnB,CAAC;IACF,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,EAAE,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,MAAM,kBAAkB,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,2FAA2F;QAC3F,yEAAyE;QACzE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,MAAM,CAAC,OAAO;gBAC/F,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,OAAO,eAAe,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,CAAC,KAAK,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvN,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,uCAAuC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,+FAA+F,CAAC,CAAC,CAAC;QACtH,CAAC;gBAAS,CAAC;YACT,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;gBAAS,CAAC;YACT,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,WAAW;YACb,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,0CAA0C,WAAW,CAAC,KAAK,iEAAiE,CAAC,CAAC;QAC/J,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,OAAO,yDAAyD,MAAM,IAAI,CAAC,CAAC,CAAC;YACjI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,gDAAgD,IAAI,CAAC,MAAM,+DAA+D,CAAC,CAAC;QAC/J,CAAC;QACD,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzG,gGAAgG;QAChG,IAAI,MAAM,KAAK,KAAK;YAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;YAAS,CAAC;QACT,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;AACtG,CAAC;AAED;;;;mEAImE;AACnE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA0E;IAC3G,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;QACrC,OAAO,EAAE,MAAM;QACf,KAAK;QACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QAClF,UAAU,EAAE,MAAM,CAAC,GAAG;KACvB,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,cAAc,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACnG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,mBAAmB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC;AACvH,CAAC;AAED;;;mEAGmE;AACnE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IACzE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,SAAS,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;oDAaoD;AACpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAiD;IACpG,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9B,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IACF,yFAAyF;IACzF,8CAA8C;IAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,kFAAkF;QAClF,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,UAAU,kBAAkB,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,0FAA0F;QAC1F,wFAAwF;QACxF,gEAAgE;QAChE,IAAI,QAAQ,CAAC,GAAG,CAAe,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,MAAM,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM;YACjB,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,0HAA0H,CAC7L,CAAC;QACJ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAC;QACzE,0FAA0F;QAC1F,gGAAgG;QAChG,mFAAmF;QACnF,wFAAwF;QACxF,mEAAmE;QACnE,KAAK,MAAM,CAAC,IAAI;YACd,wBAAwB;YACxB,2BAA2B;YAC3B,qBAAqB;YACrB,0BAA0B;YAC1B,iBAAiB;YACjB,cAAc;SACf;YAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,+FAA+F;QAC/F,2FAA2F;QAC3F,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC;YAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,UAAU,IAAI,kBAAkB,CAAC,CAAC;QAC7G,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,+BAA+B,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,KAAa;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,OAAO,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAA4B;IACtE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,SAAS,EAAE,CAAC,CAAC;IAChI,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACpH,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,MAAM,KAAK,KAAK;QACxF,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,KAAK,YAAY,CAAC;QACnI,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;IACrE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;QAC1H,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC;QAC3H,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY;YACjC,MAAM,IAAI,KAAK,CAAC,6EAA6E,MAAM,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY,EAAE,QAAsC;IACtF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,gBAAgB,UAAU,EAAE,EAAE,CAAC,CAAC;IACjE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC/G,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,KAAK,GACT,6LAA6L,CAAC;AAEhM,SAAS,KAAK;IACZ,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC,CAAC;IAC1G,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC,CAAC;IAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClG,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC"}
|
package/dist/commands/down.d.ts
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { type CompletionResult, type ParsedArgs } from "@cotal-ai/core";
|
|
2
|
+
import { type LocalProcess, type LocalProcessContext } from "@cotal-ai/workspace";
|
|
2
3
|
/** Complete selective component names without importing installed packages. */
|
|
3
4
|
export declare function downComplete(argv: string[]): CompletionResult;
|
|
4
5
|
/** Stop the whole local stack by default, or only named self-registered process components. The
|
|
5
6
|
* manifest forms remain ownership-scoped deploy teardown and cannot be mixed with components. */
|
|
6
7
|
export declare function down(args: ParsedArgs): Promise<void>;
|
|
7
8
|
export declare const isAlive: (pid: number) => boolean;
|
|
9
|
+
export declare function processRecorded(component: LocalProcess, context: LocalProcessContext): boolean;
|
|
10
|
+
export declare function processAlive(component: LocalProcess, context: LocalProcessContext): boolean;
|
|
11
|
+
/** Stop one recorded process and await its actual exit before the next dependency is stopped. */
|
|
12
|
+
export declare function stopLocalProcess(component: LocalProcess, context: LocalProcessContext): Promise<boolean>;
|
|
8
13
|
/** Compatibility inventory for `clean`; lifecycle commands use the registered descriptors above. */
|
|
9
14
|
export declare function pidfileTargets(space: string): Array<[file: string, label: string]>;
|
|
10
15
|
export type PidfileState = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../src/commands/down.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAgBL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAIzB,MAAM,qBAAqB,CAAC;AA4B7B,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAS7D;AAED;kGACkG;AAClG,wBAAsB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF1D;AAOD,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,OAErC,CAAC;AAEF,wBAAgB,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAE9F;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAK3F;AAED,iGAAiG;AACjG,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4E9G;AA4TD,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAQlF;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,6FAA6F;AAC7F,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAOvD"}
|