@alchemy.run/boat 2.0.0-beta.86 → 2.0.0-beta.87
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/lib/SandboxClient.d.ts +1 -1
- package/lib/SandboxClient.d.ts.map +1 -1
- package/lib/Snapshot.d.ts.map +1 -1
- package/lib/Snapshot.js +6 -19
- package/lib/Snapshot.js.map +1 -1
- package/lib/internal/SandboxHandle.d.ts.map +1 -1
- package/lib/internal/SandboxHandle.js +3 -14
- package/lib/internal/SandboxHandle.js.map +1 -1
- package/lib/internal/SavedSnapshot.d.ts +10 -0
- package/lib/internal/SavedSnapshot.d.ts.map +1 -0
- package/lib/internal/SavedSnapshot.js +22 -0
- package/lib/internal/SavedSnapshot.js.map +1 -0
- package/package.json +5 -5
- package/src/SandboxClient.ts +1 -0
- package/src/Snapshot.ts +8 -28
- package/src/internal/SandboxHandle.ts +5 -23
- package/src/internal/SavedSnapshot.ts +34 -0
package/lib/SandboxClient.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type * as Redacted from "effect/Redacted";
|
|
|
8
8
|
import type * as Stream from "effect/Stream";
|
|
9
9
|
import type { BoatUnexpectedResponse, ExecTimedOut, SnapshotFailed } from "./Errors.ts";
|
|
10
10
|
/** Errors a Boat call can fail with. */
|
|
11
|
-
export type BoatError = Boat.BoatOpError | boat.BadRequest | boat.Forbidden | boat.NotFound | boat.Conflict | boat.SandboxNotRunning | boat.SandboxStartLimitExceeded | boat.FileNotFound | boat.ForkNeedsSnapshot | ExecTimedOut | SnapshotFailed | BoatUnexpectedResponse;
|
|
11
|
+
export type BoatError = Boat.BoatOpError | boat.BadRequest | boat.Forbidden | boat.NotFound | boat.Conflict | boat.SandboxNotRunning | boat.SandboxStartLimitExceeded | boat.FileNotFound | boat.ForkNeedsSnapshot | boat.SaveInProgress | ExecTimedOut | SnapshotFailed | BoatUnexpectedResponse;
|
|
12
12
|
/** A command: a shell line (run with `bash -lc`) or an argument vector. */
|
|
13
13
|
export type Command = Sandbox.Command;
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxClient.d.ts","sources":["../src/SandboxClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SandboxClient.d.ts","sources":["../src/SandboxClient.ts"],"names":[],"mappings":"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"}
|
package/lib/Snapshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snapshot.d.ts","sources":["../src/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AAGvD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ,CACxC,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACjB;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;qIAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"Snapshot.d.ts","sources":["../src/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AAGvD,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,uFAAuF;AACvF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sEAAsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ,CACxC,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CACjB;CAAG;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;qIAA8D,CAAC;AAqFpF,eAAO,MAAM,gBAAgB,4JAsD1B,CAAC"}
|
package/lib/Snapshot.js
CHANGED
|
@@ -5,10 +5,10 @@ import * as Provider from "alchemy/Provider";
|
|
|
5
5
|
import { Resource } from "alchemy/Resource";
|
|
6
6
|
import { sha256Object } from "alchemy/Util/sha256";
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
|
-
import
|
|
9
|
-
import { SnapshotFailed, SnapshotSetupFailed } from "./Errors.js";
|
|
8
|
+
import { SnapshotSetupFailed } from "./Errors.js";
|
|
10
9
|
import { declarable } from "./internal/Declared.js";
|
|
11
10
|
import { boatName, isGeneratedName, ownershipLabels } from "./internal/Ownership.js";
|
|
11
|
+
import { awaitSaved, whileSaving } from "./internal/SavedSnapshot.js";
|
|
12
12
|
/**
|
|
13
13
|
* A warm base for sandboxes: a sandbox set up with your commands and its
|
|
14
14
|
* disk saved under a name. Sandboxes started from it begin exactly where
|
|
@@ -79,19 +79,6 @@ const toAttributes = (snapshot, setupHash) => ({
|
|
|
79
79
|
});
|
|
80
80
|
/** POSIX single quotes: the value verbatim. */
|
|
81
81
|
const quote = (value) => `'${value.replaceAll("'", `'"'"'`)}'`;
|
|
82
|
-
/** Saving takes seconds; poll until Boat reports `ready` or `failed` (about 90s at most). */
|
|
83
|
-
const awaitSaved = (name) => boat.getSavedSnapshot({ name }).pipe(Effect.map((got) => got.snapshot), Effect.repeat({
|
|
84
|
-
schedule: Schedule.spaced("3 seconds"),
|
|
85
|
-
until: (snapshot) => snapshot.status !== "saving",
|
|
86
|
-
times: 30,
|
|
87
|
-
}), Effect.flatMap((snapshot) => snapshot.status === "ready"
|
|
88
|
-
? Effect.succeed(snapshot)
|
|
89
|
-
: new SnapshotFailed({
|
|
90
|
-
snapshot: name,
|
|
91
|
-
message: snapshot.status === "failed"
|
|
92
|
-
? `Boat could not save snapshot ${name}: ${snapshot.error ?? "unknown error"}`
|
|
93
|
-
: `Boat snapshot ${name} was still saving after 90 seconds`,
|
|
94
|
-
})));
|
|
95
82
|
/**
|
|
96
83
|
* Starts a setup sandbox (from `from`, with none of the account's secrets),
|
|
97
84
|
* runs the commands, saves it as `name`, and always deletes the sandbox.
|
|
@@ -128,7 +115,8 @@ const takeSnapshot = Effect.fn(function* (id, name, props) {
|
|
|
128
115
|
});
|
|
129
116
|
}
|
|
130
117
|
}
|
|
131
|
-
|
|
118
|
+
// An earlier save under this name may still be running.
|
|
119
|
+
yield* whileSaving(boat.saveSavedSnapshot({ sandboxId: sandbox.id, name }));
|
|
132
120
|
return yield* awaitSaved(name);
|
|
133
121
|
}), ({ sandbox }) => Effect.ignore(boat.deleteSandbox({ sandboxId: sandbox.id, xAsciiConfirmDelete: sandbox.id })));
|
|
134
122
|
});
|
|
@@ -171,9 +159,8 @@ export const SnapshotProvider = () => Provider.effect(Snapshot, Effect.gen(funct
|
|
|
171
159
|
return toAttributes(yield* takeSnapshot(id, name, news), setupHash);
|
|
172
160
|
}),
|
|
173
161
|
delete: Effect.fn(function* ({ output }) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
.pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
162
|
+
// A save under this name (an interrupted deploy's) must settle first.
|
|
163
|
+
yield* whileSaving(boat.deleteSavedSnapshot({ name: output.name })).pipe(Effect.catchTag("NotFound", () => Effect.void));
|
|
177
164
|
}),
|
|
178
165
|
list: Effect.fn(function* () {
|
|
179
166
|
const listed = yield* boat.listSavedSnapshots({});
|
package/lib/Snapshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snapshot.js","sources":["../src/Snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"Snapshot.js","sources":["../src/Snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxHandle.d.ts","sources":["../../src/internal/SandboxHandle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EASjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"SandboxHandle.d.ts","sources":["../../src/internal/SandboxHandle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EACV,WAAW,EAEX,gBAAgB,EASjB,MAAM,qBAAqB,CAAC;AAiB7B,gEAAgE;AAChE,eAAO,MAAM,KAAK,aAAc,QAAQ,CAAC,KAAK,GAAG,KAAK,kBAGqC,CAAC;AAwT5F,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,SACtB,QAAQ,QACR,IAAI,CAAC,OAAO,eACL,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAClF,WA6BD,CAAC;AAEH,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,SACzB,QAAQ,eACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KACxD,gBAGD,CAAC"}
|
|
@@ -13,7 +13,8 @@ import * as Option from "effect/Option";
|
|
|
13
13
|
import * as Redacted from "effect/Redacted";
|
|
14
14
|
import * as Schedule from "effect/Schedule";
|
|
15
15
|
import * as Stream from "effect/Stream";
|
|
16
|
-
import { BoatUnexpectedResponse, ExecTimedOut
|
|
16
|
+
import { BoatUnexpectedResponse, ExecTimedOut } from "../Errors.js";
|
|
17
|
+
import { awaitSaved, whileSaving } from "./SavedSnapshot.js";
|
|
17
18
|
const encoder = new TextEncoder();
|
|
18
19
|
const toBase64 = (data) => {
|
|
19
20
|
const bytes = typeof data === "string" ? encoder.encode(data) : data;
|
|
@@ -54,18 +55,6 @@ const entryOf = (entry) => ({
|
|
|
54
55
|
mode: entry.mode,
|
|
55
56
|
modifiedAt: entry.modifiedAt,
|
|
56
57
|
});
|
|
57
|
-
const awaitSnapshot = (name) => boat.getSavedSnapshot({ name }).pipe(Effect.map((got) => got.snapshot), Effect.repeat({
|
|
58
|
-
schedule: Schedule.spaced("2 seconds"),
|
|
59
|
-
until: (snapshot) => snapshot.status !== "saving",
|
|
60
|
-
times: 45,
|
|
61
|
-
}), Effect.flatMap((snapshot) => snapshot.status === "ready"
|
|
62
|
-
? Effect.succeed(snapshot)
|
|
63
|
-
: new SnapshotFailed({
|
|
64
|
-
snapshot: name,
|
|
65
|
-
message: snapshot.status === "failed"
|
|
66
|
-
? `Boat could not save snapshot ${name}: ${snapshot.error ?? "unknown error"}`
|
|
67
|
-
: `Boat snapshot ${name} was still saving after 90 seconds`,
|
|
68
|
-
})));
|
|
69
58
|
/**
|
|
70
59
|
* The operations every handle shares. `sandboxIdOf` resolves the id (read
|
|
71
60
|
* at runtime for a declared sandbox).
|
|
@@ -219,7 +208,7 @@ const makeOperations = (auth, sandboxIdOf) => {
|
|
|
219
208
|
...(options?.autoStop === undefined ? {} : { ttlSeconds: ttlOf(options.autoStop) }),
|
|
220
209
|
})).pipe(Effect.asVoid),
|
|
221
210
|
setAutoStop: (autoStop) => onSandbox((sandboxId) => boat.updateSandbox({ sandboxId, ttlSeconds: ttlOf(autoStop) })).pipe(Effect.asVoid),
|
|
222
|
-
snapshot: (name) => onSandbox((sandboxId) => boat.saveSavedSnapshot({ sandboxId, name }).pipe(Effect.andThen(
|
|
211
|
+
snapshot: (name) => onSandbox((sandboxId) => whileSaving(boat.saveSavedSnapshot({ sandboxId, name })).pipe(Effect.andThen(awaitSaved(name)))),
|
|
223
212
|
};
|
|
224
213
|
};
|
|
225
214
|
/** A handle to a sandbox created or connected at runtime, from what Boat returned. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxHandle.js","sources":["../../src/internal/SandboxHandle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AAEvD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAepF,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,QAAQ,GAAG,CAAC,IAAyB,EAAE,EAAE;IAC7C,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/F,+CAA+C;AAC/C,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAEvE,gEAAgE;AAChE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,QAAgC,EAAE,EAAE,CACxD,QAAQ,KAAK,KAAK;IAChB,CAAC,CAAC,IAAI;IACN,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAE5F,iDAAiD;AACjD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,cAAc,GAAG,CAAC,OAAuB,EAAE,EAAE,CACjD,IAAI,CAAC,GAAG,CACN,mBAAmB,EACnB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CACpF,CAAC;AAEJ;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CACf,OAAgB,EAChB,OAGC,EACD,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;SACxD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,MAAM,IAAI,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;IACzD,OAAO,OAAO,EAAE,KAAK,KAAK,SAAS;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,oBAAoB,IAAI,KAAK,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,KAOhB,EAAa,EAAE,CAAC,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;IACtE,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,UAAU,EAAE,KAAK,CAAC,UAAU;CAC7B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EACjC,MAAM,CAAC,MAAM,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;IACtC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ;IACjD,KAAK,EAAE,EAAE;CACV,CAAC,EACF,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,QAAQ,CAAC,MAAM,KAAK,OAAO;IACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC,CAAC,IAAI,cAAc,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EACL,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,gCAAgC,IAAI,KAAK,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE;YAC9E,CAAC,CAAC,iBAAiB,IAAI,oCAAoC;KAChE,CAAC,CACP,CACF,CAAC;AAEJ;;;GAGG;AACH,MAAM,cAAc,GAAG,CACrB,IAAc,EACd,WAAyD,EACtC,EAAE;IACrB,MAAM,SAAS,GAAG,CAChB,IAAoE,EAC/B,EAAE,CACvC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,CAAC,SAAiB,EAAE,OAA2C,EAAE,EAAE,CAChF,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,gBAAgB,CAAC;QACpB,SAAS;QACT,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,YAAY,EAAE,OAAO,CAAC,MAAM;KAC7B,CAAC,CACH,CAAC;IAEJ,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,IAAwC,EAAW,EAAE;QAC3F,iFAAiF;QACjF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAC5B,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAC9B,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK;YAChC,IAAI,KAAK,CAAC,IAAI;gBAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,MAAM,GAAoB,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM;gBACxD,MAAM,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM;aACzD,CAAC;YACF,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;YAC3D,OAAO;gBACL,MAAM;gBACN,QAAQ;oBACN,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;oBACf,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;aACxE,CAAC;QACb,CAAC,CAAC,CACH,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAC3D,MAAM,CAAC,MAAM,CAAC;YACZ,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;YACrC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO;SACrC,CAAC,EACF,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAc,EAAE,CAAC,CAAC;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC,CACJ,CAAC;QACF,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC;YACrB,SAAS;YACT,MAAM;YACN,IAAI,EAAE,GAAG,EAAE,CACT,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1F,IAAI;SACL,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAA+B;QACxC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAC1F,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC/C;QACH,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACjB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CACxF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CACnC;QACH,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACpB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,OAAO,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC7E,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAC5F,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAChE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAClD;QACH,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAClF,MAAM,CAAC,MAAM,CACd;QACH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACtF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAClE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EACf,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC7D;QACH,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACrC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS;YACT,MAAM;YACN,WAAW;YACX,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;SAC9E,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KACxB,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,CAAC,OAAgB,EAAE,OAAqB,EAAE,EAAE,CAChD,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,qBAAqB,CAAC;YACzB,SAAS;YACT,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;YACnC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YAC3D,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS;gBAChC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;SACzD,CAAC,CACH,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CACZ,CAAC,QAAQ,EAAoE,EAAE;YAC7E,IAAI,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,sBAAsB,CAAC;oBACzB,OAAO,EAAE,4CAA4C;iBACtD,CAAC,CACH,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC,IAAI,CAChB,IAAI,YAAY,CAAC;oBACf,OAAO,EAAE,sDAAsD;oBAC/D,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CACH,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,CAAa;gBAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC,CAAC;QACL,CAAC,CACF,CACF;QACH,KAAK,EAAE,CAAC,OAAgB,EAAE,OAAsB,EAAE,EAAE,CAClD,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,qBAAqB,CAAC;YACzB,SAAS;YACT,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;YACnC,QAAQ,EAAE,IAAI;YACd,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC5D,CAAC,CACH,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,WAAW,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;YAC/D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CACpF,CACN,CACF;QACH,SAAS,EAAE;YACT,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CACpB,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACrB,WAAW,CAAC,SAAS,EAAE;gBACrB,MAAM,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;gBACrC,MAAM,EAAE,OAAO,CAAC,gBAAgB,IAAI,CAAC;aACtC,CAAC,CACH,CACF;SACJ;QACD,KAAK;QACL,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAC5B,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS;YACT,IAAI;YACJ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;SAC9E,CAAC,CACH,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,GAAG,KAAK,SAAS;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,CAAC,CAClF;YACH,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAI,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,yDAAyD;gBACzD,0DAA0D;gBAC1D,6DAA6D;gBAC7D,yDAAyD;gBACzD,qCAAqC;gBACrC,MAAM,IAAI,GAAG,CAAC,OAA4C,EAAE,EAAE,CAC5D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;oBAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;oBACtC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EACrE,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,EACtC,KAAK,KAAK,SAAS;wBACjB,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;wBACd,CAAC,CAAC,iBAAiB,CAAC,SAAS,CACzB,QAAQ,EACR,CAAC,MAAM,EAAE,cAAc,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;6BAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC;6BACnD,IAAI,CAAC,IAAI,CAAC,CACd,CACN,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAiB,CAAC;YAC7E,CAAC,CAAC,CACP,CACF;QACH,QAAQ,EAAE,GAAG,EAAE,CACb,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACrB,GAAG,CAAC,OAAO,KAAK,SAAS;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAChC,CACF;QACH,IAAI,EAAE,GAAG,EAAE,CACT,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5D,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5D;QACH,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,aAAa,CAAC;YACjB,SAAS;YACT,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;SACpF,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CACxB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3F,MAAM,CAAC,MAAM,CACd;QACH,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACjB,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CACtB,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CACtF;KACJ,CAAC;AACJ,CAAC,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAc,EACd,IAAkB,EAClB,WAAmF,EACtE,EAAE,CAAC,CAAC;IACjB,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,SAAS,EAAE,IAAI,CAAC,EAAE;IAClB,IAAI;IACJ,sEAAsE;IACtE,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAC3C,IAAI,CAAC,SAAS,CACZ,IAAI,CAAC,WAAW,CAAC;YACf,GAAG,OAAO;YACV,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE;SACxC,CAAC,CACH,CACF,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YACrD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC/E,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CACzE,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAC3F,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAC/C;CACJ,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAc,EACd,WAAyD,EACvC,EAAE,CAAC,CAAC;IACtB,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC;IACpC,SAAS,EAAE,WAAW;CACvB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"SandboxHandle.js","sources":["../../src/internal/SandboxHandle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as boat from "@distilled.cloud/boat-dev/boat";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import { SnapshotFailed } from "../Errors.ts";
|
|
4
|
+
/** Polls until Boat reports the snapshot `ready` (succeeds) or `failed` (fails). */
|
|
5
|
+
export declare const awaitSaved: (name: string) => Effect.Effect<boat.SavedSnapshot, SnapshotFailed | boat.GetSavedSnapshotError, boat.BoatOpContext>;
|
|
6
|
+
/** Retries a saved-snapshot write while an earlier save under the same name is running. */
|
|
7
|
+
export declare const whileSaving: <A, E extends {
|
|
8
|
+
readonly _tag: string;
|
|
9
|
+
}, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
10
|
+
//# sourceMappingURL=SavedSnapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SavedSnapshot.d.ts","sources":["../../src/internal/SavedSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAS9C,oFAAoF;AACpF,eAAO,MAAM,UAAU,SAAU,MAAM,uGAepC,CAAC;AAEJ,2FAA2F;AAC3F,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,UAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAC8D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as boat from "@distilled.cloud/boat-dev/boat";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Schedule from "effect/Schedule";
|
|
4
|
+
import { SnapshotFailed } from "../Errors.js";
|
|
5
|
+
/**
|
|
6
|
+
* How long to wait for a save. A save runs in the background, and a running
|
|
7
|
+
* sandbox takes a fresh capture first, which can take minutes.
|
|
8
|
+
*/
|
|
9
|
+
const SAVE_TIMEOUT = "10 minutes";
|
|
10
|
+
const poll = { schedule: Schedule.spaced("5 seconds"), times: 120 };
|
|
11
|
+
/** Polls until Boat reports the snapshot `ready` (succeeds) or `failed` (fails). */
|
|
12
|
+
export const awaitSaved = (name) => boat.getSavedSnapshot({ name }).pipe(Effect.map((got) => got.snapshot), Effect.repeat({ ...poll, until: (snapshot) => snapshot.status !== "saving" }), Effect.flatMap((snapshot) => snapshot.status === "ready"
|
|
13
|
+
? Effect.succeed(snapshot)
|
|
14
|
+
: new SnapshotFailed({
|
|
15
|
+
snapshot: name,
|
|
16
|
+
message: snapshot.status === "failed"
|
|
17
|
+
? `Boat could not save snapshot ${name}: ${snapshot.error ?? "unknown error"}`
|
|
18
|
+
: `Boat snapshot ${name} was still saving after ${SAVE_TIMEOUT}`,
|
|
19
|
+
})));
|
|
20
|
+
/** Retries a saved-snapshot write while an earlier save under the same name is running. */
|
|
21
|
+
export const whileSaving = (effect) => effect.pipe(Effect.retry({ ...poll, while: (error) => error._tag === "SaveInProgress" }));
|
|
22
|
+
//# sourceMappingURL=SavedSnapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SavedSnapshot.js","sources":["../../src/internal/SavedSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gCAAgC,CAAC;AACvD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;GAGG;AACH,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,EAAW,CAAC;AAE7E,oFAAoF;AACpF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CACzC,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAClC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EACjC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC,EAC7E,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,QAAQ,CAAC,MAAM,KAAK,OAAO;IACzB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC,CAAC,IAAI,cAAc,CAAC;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EACL,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAC1B,CAAC,CAAC,gCAAgC,IAAI,KAAK,QAAQ,CAAC,KAAK,IAAI,eAAe,EAAE;YAC9E,CAAC,CAAC,iBAAiB,IAAI,2BAA2B,YAAY,EAAE;KACrE,CAAC,CACP,CACF,CAAC;AAEJ,2FAA2F;AAC3F,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAA8B,EAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alchemy.run/boat",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.87",
|
|
4
4
|
"description": "Boat sandboxes for Alchemy.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"alchemy",
|
|
@@ -51,20 +51,20 @@
|
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@distilled.cloud/boat-dev": "1.0.0-rc.
|
|
55
|
-
"@distilled.cloud/core": "1.0.0-rc.
|
|
54
|
+
"@distilled.cloud/boat-dev": "1.0.0-rc.20",
|
|
55
|
+
"@distilled.cloud/core": "1.0.0-rc.20",
|
|
56
56
|
"rolldown": "1.2.16"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@effect/platform-node": "^4.1.4",
|
|
60
60
|
"@types/bun": "1.4.3",
|
|
61
|
-
"alchemy": "2.0.0-beta.
|
|
61
|
+
"alchemy": "2.0.0-beta.87",
|
|
62
62
|
"effect": "^4.1.4",
|
|
63
63
|
"typescript": "^7.1.0-dev.20261105.1"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
66
|
"@effect/platform-node": "^4.1.4",
|
|
67
|
-
"alchemy": "2.0.0-beta.
|
|
67
|
+
"alchemy": "2.0.0-beta.87",
|
|
68
68
|
"effect": "^4.1.4"
|
|
69
69
|
},
|
|
70
70
|
"peerDependenciesMeta": {
|
package/src/SandboxClient.ts
CHANGED
package/src/Snapshot.ts
CHANGED
|
@@ -5,10 +5,10 @@ import * as Provider from "alchemy/Provider";
|
|
|
5
5
|
import { Resource } from "alchemy/Resource";
|
|
6
6
|
import { sha256Object } from "alchemy/Util/sha256";
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
|
-
import
|
|
9
|
-
import { SnapshotFailed, SnapshotSetupFailed } from "./Errors.ts";
|
|
8
|
+
import { SnapshotSetupFailed } from "./Errors.ts";
|
|
10
9
|
import { declarable } from "./internal/Declared.ts";
|
|
11
10
|
import { boatName, isGeneratedName, ownershipLabels } from "./internal/Ownership.ts";
|
|
11
|
+
import { awaitSaved, whileSaving } from "./internal/SavedSnapshot.ts";
|
|
12
12
|
import type { Providers } from "./Providers.ts";
|
|
13
13
|
import type { SandboxType } from "./Sandbox.ts";
|
|
14
14
|
|
|
@@ -159,28 +159,6 @@ const toAttributes = (snapshot: boat.SavedSnapshot, setupHash: string): Snapshot
|
|
|
159
159
|
/** POSIX single quotes: the value verbatim. */
|
|
160
160
|
const quote = (value: string) => `'${value.replaceAll("'", `'"'"'`)}'`;
|
|
161
161
|
|
|
162
|
-
/** Saving takes seconds; poll until Boat reports `ready` or `failed` (about 90s at most). */
|
|
163
|
-
const awaitSaved = (name: string) =>
|
|
164
|
-
boat.getSavedSnapshot({ name }).pipe(
|
|
165
|
-
Effect.map((got) => got.snapshot),
|
|
166
|
-
Effect.repeat({
|
|
167
|
-
schedule: Schedule.spaced("3 seconds"),
|
|
168
|
-
until: (snapshot) => snapshot.status !== "saving",
|
|
169
|
-
times: 30,
|
|
170
|
-
}),
|
|
171
|
-
Effect.flatMap((snapshot) =>
|
|
172
|
-
snapshot.status === "ready"
|
|
173
|
-
? Effect.succeed(snapshot)
|
|
174
|
-
: new SnapshotFailed({
|
|
175
|
-
snapshot: name,
|
|
176
|
-
message:
|
|
177
|
-
snapshot.status === "failed"
|
|
178
|
-
? `Boat could not save snapshot ${name}: ${snapshot.error ?? "unknown error"}`
|
|
179
|
-
: `Boat snapshot ${name} was still saving after 90 seconds`,
|
|
180
|
-
}),
|
|
181
|
-
),
|
|
182
|
-
);
|
|
183
|
-
|
|
184
162
|
/**
|
|
185
163
|
* Starts a setup sandbox (from `from`, with none of the account's secrets),
|
|
186
164
|
* runs the commands, saves it as `name`, and always deletes the sandbox.
|
|
@@ -220,7 +198,8 @@ const takeSnapshot = Effect.fn(function* (id: string, name: string, props: Snaps
|
|
|
220
198
|
});
|
|
221
199
|
}
|
|
222
200
|
}
|
|
223
|
-
|
|
201
|
+
// An earlier save under this name may still be running.
|
|
202
|
+
yield* whileSaving(boat.saveSavedSnapshot({ sandboxId: sandbox.id, name }));
|
|
224
203
|
return yield* awaitSaved(name);
|
|
225
204
|
}),
|
|
226
205
|
({ sandbox }) =>
|
|
@@ -269,9 +248,10 @@ export const SnapshotProvider = () =>
|
|
|
269
248
|
return toAttributes(yield* takeSnapshot(id, name, news), setupHash);
|
|
270
249
|
}),
|
|
271
250
|
delete: Effect.fn(function* ({ output }) {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
251
|
+
// A save under this name (an interrupted deploy's) must settle first.
|
|
252
|
+
yield* whileSaving(boat.deleteSavedSnapshot({ name: output.name })).pipe(
|
|
253
|
+
Effect.catchTag("NotFound", () => Effect.void),
|
|
254
|
+
);
|
|
275
255
|
}),
|
|
276
256
|
list: Effect.fn(function* () {
|
|
277
257
|
const listed = yield* boat.listSavedSnapshots({});
|
|
@@ -15,7 +15,7 @@ import * as Redacted from "effect/Redacted";
|
|
|
15
15
|
import * as Schedule from "effect/Schedule";
|
|
16
16
|
import * as Stream from "effect/Stream";
|
|
17
17
|
import type { BoatAuth } from "../BoatBindings.ts";
|
|
18
|
-
import { BoatUnexpectedResponse, ExecTimedOut
|
|
18
|
+
import { BoatUnexpectedResponse, ExecTimedOut } from "../Errors.ts";
|
|
19
19
|
import type {
|
|
20
20
|
BoatSandbox,
|
|
21
21
|
Command,
|
|
@@ -29,6 +29,7 @@ import type {
|
|
|
29
29
|
SandboxOperations,
|
|
30
30
|
StartOptions,
|
|
31
31
|
} from "../SandboxClient.ts";
|
|
32
|
+
import { awaitSaved, whileSaving } from "./SavedSnapshot.ts";
|
|
32
33
|
|
|
33
34
|
const encoder = new TextEncoder();
|
|
34
35
|
|
|
@@ -96,27 +97,6 @@ const entryOf = (entry: {
|
|
|
96
97
|
modifiedAt: entry.modifiedAt,
|
|
97
98
|
});
|
|
98
99
|
|
|
99
|
-
const awaitSnapshot = (name: string) =>
|
|
100
|
-
boat.getSavedSnapshot({ name }).pipe(
|
|
101
|
-
Effect.map((got) => got.snapshot),
|
|
102
|
-
Effect.repeat({
|
|
103
|
-
schedule: Schedule.spaced("2 seconds"),
|
|
104
|
-
until: (snapshot) => snapshot.status !== "saving",
|
|
105
|
-
times: 45,
|
|
106
|
-
}),
|
|
107
|
-
Effect.flatMap((snapshot) =>
|
|
108
|
-
snapshot.status === "ready"
|
|
109
|
-
? Effect.succeed(snapshot)
|
|
110
|
-
: new SnapshotFailed({
|
|
111
|
-
snapshot: name,
|
|
112
|
-
message:
|
|
113
|
-
snapshot.status === "failed"
|
|
114
|
-
? `Boat could not save snapshot ${name}: ${snapshot.error ?? "unknown error"}`
|
|
115
|
-
: `Boat snapshot ${name} was still saving after 90 seconds`,
|
|
116
|
-
}),
|
|
117
|
-
),
|
|
118
|
-
);
|
|
119
|
-
|
|
120
100
|
/**
|
|
121
101
|
* The operations every handle shares. `sandboxIdOf` resolves the id (read
|
|
122
102
|
* at runtime for a declared sandbox).
|
|
@@ -374,7 +354,9 @@ const makeOperations = (
|
|
|
374
354
|
),
|
|
375
355
|
snapshot: (name) =>
|
|
376
356
|
onSandbox((sandboxId) =>
|
|
377
|
-
boat.saveSavedSnapshot({ sandboxId, name }).pipe(
|
|
357
|
+
whileSaving(boat.saveSavedSnapshot({ sandboxId, name })).pipe(
|
|
358
|
+
Effect.andThen(awaitSaved(name)),
|
|
359
|
+
),
|
|
378
360
|
),
|
|
379
361
|
};
|
|
380
362
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as boat from "@distilled.cloud/boat-dev/boat";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Schedule from "effect/Schedule";
|
|
4
|
+
import { SnapshotFailed } from "../Errors.ts";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* How long to wait for a save. A save runs in the background, and a running
|
|
8
|
+
* sandbox takes a fresh capture first, which can take minutes.
|
|
9
|
+
*/
|
|
10
|
+
const SAVE_TIMEOUT = "10 minutes";
|
|
11
|
+
const poll = { schedule: Schedule.spaced("5 seconds"), times: 120 } as const;
|
|
12
|
+
|
|
13
|
+
/** Polls until Boat reports the snapshot `ready` (succeeds) or `failed` (fails). */
|
|
14
|
+
export const awaitSaved = (name: string) =>
|
|
15
|
+
boat.getSavedSnapshot({ name }).pipe(
|
|
16
|
+
Effect.map((got) => got.snapshot),
|
|
17
|
+
Effect.repeat({ ...poll, until: (snapshot) => snapshot.status !== "saving" }),
|
|
18
|
+
Effect.flatMap((snapshot) =>
|
|
19
|
+
snapshot.status === "ready"
|
|
20
|
+
? Effect.succeed(snapshot)
|
|
21
|
+
: new SnapshotFailed({
|
|
22
|
+
snapshot: name,
|
|
23
|
+
message:
|
|
24
|
+
snapshot.status === "failed"
|
|
25
|
+
? `Boat could not save snapshot ${name}: ${snapshot.error ?? "unknown error"}`
|
|
26
|
+
: `Boat snapshot ${name} was still saving after ${SAVE_TIMEOUT}`,
|
|
27
|
+
}),
|
|
28
|
+
),
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
/** Retries a saved-snapshot write while an earlier save under the same name is running. */
|
|
32
|
+
export const whileSaving = <A, E extends { readonly _tag: string }, R>(
|
|
33
|
+
effect: Effect.Effect<A, E, R>,
|
|
34
|
+
) => effect.pipe(Effect.retry({ ...poll, while: (error) => error._tag === "SaveInProgress" }));
|