@aui.io/apollo 0.1.84 → 0.1.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/README.md +4 -4
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +239 -33
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js +2 -2
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/hierarchy.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js +9 -8
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/mockdb.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js +31 -12
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +17 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +4 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +36 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +6 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/management.d.ts +108 -4
- package/node_modules/@aui.io/apollo-core/dist/src/api/management.js +198 -18
- package/node_modules/@aui.io/apollo-core/dist/src/api/management.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.d.ts +1 -5
- package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js +4 -10
- package/node_modules/@aui.io/apollo-core/dist/src/api/mock-db.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +12 -2
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +67 -15
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.d.ts +13 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js +20 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/files.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.d.ts +29 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.js +65 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/lineage.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.d.ts +25 -4
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js +78 -8
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/materialize.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/config/index.d.ts +2 -0
- package/node_modules/@aui.io/apollo-core/dist/src/config/index.js +7 -0
- package/node_modules/@aui.io/apollo-core/dist/src/config/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.d.ts +3 -0
- package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js +5 -0
- package/node_modules/@aui.io/apollo-core/dist/src/config/mockdb-keys.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/errors/index.d.ts +75 -0
- package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js +109 -0
- package/node_modules/@aui.io/apollo-core/dist/src/errors/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/output/index.d.ts +2 -0
- package/node_modules/@aui.io/apollo-core/dist/src/output/index.js +5 -1
- package/node_modules/@aui.io/apollo-core/dist/src/output/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +76 -2
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +225 -70
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js +4 -3
- package/node_modules/@aui.io/apollo-core/dist/src/services/doctor.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.d.ts +14 -21
- package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js +17 -27
- package/node_modules/@aui.io/apollo-core/dist/src/services/hierarchy.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.d.ts +15 -9
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js +41 -18
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.d.ts +4 -3
- package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js +84 -117
- package/node_modules/@aui.io/apollo-core/dist/src/services/mockdb.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/versions.d.ts +88 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/versions.js +202 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/versions.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js +2 -2
- package/node_modules/@aui.io/apollo-core/dist/src/skills/agents-page.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +13 -13
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +2 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js +3 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.d.ts +11 -19
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +90 -81
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.d.ts +2 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +6 -6
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +21 -13
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/package.json +2 -2
- package/package.json +4 -4
|
@@ -8,12 +8,10 @@
|
|
|
8
8
|
* ─── Identity & auth ────────────────────────────────────────────────────
|
|
9
9
|
*
|
|
10
10
|
* The agent comes from the checkout (`.apollorc`) or `--agent`; the Apollo
|
|
11
|
-
* token from the active profile.
|
|
12
|
-
* FIRST-PARTY
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* — and runtime calls use the per-agent `runtimeKey`. Keys are persisted
|
|
16
|
-
* under `~/.apollo/mockdb/<agentId>.json` (outside the checkout).
|
|
11
|
+
* token from the active profile. Every management call carries the token
|
|
12
|
+
* FIRST-PARTY (the platform gateway authenticates it; see `withManage`), and
|
|
13
|
+
* runtime calls use the per-agent `runtimeKey`. Keys are persisted under
|
|
14
|
+
* `~/.apollo/mockdb/<agentId>.json` (outside the checkout).
|
|
17
15
|
*
|
|
18
16
|
* ─── Resilience ─────────────────────────────────────────────────────────
|
|
19
17
|
*
|
|
@@ -29,8 +27,8 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
|
29
27
|
import { homedir } from "node:os";
|
|
30
28
|
import path from "node:path";
|
|
31
29
|
import { isMockDbTransportError, MOCKDB_RESET_SCOPES, MOCKDB_SEED_MODES, MockDbClient, mockDbErrorCode, } from "../api/mock-db.js";
|
|
32
|
-
import { clearMockDbKeys, keyPrefixes, loadMockDbKeys, saveMockDbKeys, } from "../config/mockdb-keys.js";
|
|
33
|
-
import { ApiError, AuthError, CliError, ConfigError, ValidationError, } from "../errors/index.js";
|
|
30
|
+
import { clearMockDbKeys, keyPrefixes, loadMockDbKeys, mockDbKeysPath, saveMockDbKeys, } from "../config/mockdb-keys.js";
|
|
31
|
+
import { ApiError, AuthError, CliError, ConfigError, ExitCode, ValidationError, } from "../errors/index.js";
|
|
34
32
|
/** Env var the wired `connections.yaml` reads the runtime key from by default. */
|
|
35
33
|
export const DEFAULT_MOCKDB_TOKEN_ENV = "MOCKDB_TOKEN";
|
|
36
34
|
function accountIdFromToken(token) {
|
|
@@ -186,8 +184,10 @@ async function idempotentWithRetry(resolved, op, fn) {
|
|
|
186
184
|
blankBodyError(resolved, op, "idempotent");
|
|
187
185
|
return result;
|
|
188
186
|
}
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
/** The runtime plane answers a missing or wrong runtime key with 401. A 403 is
|
|
188
|
+
* a permission or tenant refusal — not a key problem — and surfaces as-is. */
|
|
189
|
+
function isRuntimeKeyRejection(error) {
|
|
190
|
+
return error instanceof ApiError && error.status === 401;
|
|
191
191
|
}
|
|
192
192
|
// ─── Key persistence ────────────────────────────────────────────────────
|
|
193
193
|
async function persistReturnedKeys(resolved, resp) {
|
|
@@ -222,55 +222,23 @@ async function rotateWithRetry(resolved, field, op, fn) {
|
|
|
222
222
|
await persistReturnedKeys(resolved, resp);
|
|
223
223
|
return resp;
|
|
224
224
|
}
|
|
225
|
-
// ─── Management auth:
|
|
225
|
+
// ─── Management auth: the Apollo login token ────────────────────────────
|
|
226
226
|
/**
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
227
|
+
* Run a management call with the Apollo login token — the one place the
|
|
228
|
+
* management plane's auth is chosen.
|
|
229
|
+
*
|
|
230
|
+
* The platform gateway authenticates mock-db's management routes (identity
|
|
231
|
+
* forward-auth) and admits a login token only: a call carrying just the
|
|
232
|
+
* per-agent management key (`X-Mgmt-Key`) is refused at the gateway, before it
|
|
233
|
+
* reaches the service. So the token rides every management call. The
|
|
234
|
+
* `Account-Id` and `X-AUI-Api-Url` it carries are what a deployment not yet
|
|
235
|
+
* behind the gateway still reads, and are ignored behind it. The management
|
|
236
|
+
* key is no longer sent, and no longer minted here: minting one per command
|
|
237
|
+
* only to have it refused rotated the key on every call and revoked whatever
|
|
238
|
+
* else held it. `apollo mockdb rotate mgmt` still mints one on request.
|
|
231
239
|
*/
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
const resp = await rotateWithRetry(resolved, "managementKey", "rotate mgmt", () => resolved.client.rotateMgmtKey(resolved.agentId, resolved.tokenAuth));
|
|
235
|
-
return typeof resp.managementKey === "string" ? resp.managementKey : undefined;
|
|
236
|
-
}
|
|
237
|
-
catch {
|
|
238
|
-
return undefined;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Run a management call. The management key is sourced from the cache first,
|
|
243
|
-
* and a fresh one is MINTED (+cached) when the cache has none or the stored
|
|
244
|
-
* one is rejected (401/403). The Apollo token is the safety net under every
|
|
245
|
-
* branch, so a missing/dead management key never fails a command.
|
|
246
|
-
*/
|
|
247
|
-
async function withManage(resolved, fn) {
|
|
248
|
-
let managementKey = (await loadMockDbKeys(resolved.agentId, resolved.homeDir))
|
|
249
|
-
.managementKey;
|
|
250
|
-
if (!managementKey) {
|
|
251
|
-
managementKey = await tryMintManagementKey(resolved);
|
|
252
|
-
if (!managementKey)
|
|
253
|
-
return fn(resolved.tokenAuth);
|
|
254
|
-
}
|
|
255
|
-
try {
|
|
256
|
-
return await fn({ mode: "mgmt", managementKey });
|
|
257
|
-
}
|
|
258
|
-
catch (error) {
|
|
259
|
-
if (!isAuthRejection(error))
|
|
260
|
-
throw error;
|
|
261
|
-
const fresh = await tryMintManagementKey(resolved);
|
|
262
|
-
if (fresh) {
|
|
263
|
-
try {
|
|
264
|
-
return await fn({ mode: "mgmt", managementKey: fresh });
|
|
265
|
-
}
|
|
266
|
-
catch (retryError) {
|
|
267
|
-
if (isAuthRejection(retryError))
|
|
268
|
-
return fn(resolved.tokenAuth);
|
|
269
|
-
throw retryError;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
return fn(resolved.tokenAuth);
|
|
273
|
-
}
|
|
240
|
+
function withManage(resolved, fn) {
|
|
241
|
+
return fn(resolved.tokenAuth);
|
|
274
242
|
}
|
|
275
243
|
export async function provisionMockDb(context, options = {}) {
|
|
276
244
|
const resolved = resolveMockDb(context, options);
|
|
@@ -295,7 +263,7 @@ export async function provisionMockDb(context, options = {}) {
|
|
|
295
263
|
...resp,
|
|
296
264
|
stored,
|
|
297
265
|
keysAvailable: false,
|
|
298
|
-
keysHint: "No runtime key is stored for this agent (provision returned none — the DB already existed).
|
|
266
|
+
keysHint: "No runtime key is stored for this agent (provision returned none — the DB already existed). If you have the key, export it as $MOCKDB_TOKEN. Otherwise run `apollo mockdb rotate runtime` to mint one — that invalidates the current key, so store the new one in the agent's vault secret right after — then `apollo mockdb wire`.",
|
|
299
267
|
};
|
|
300
268
|
}
|
|
301
269
|
return { ...resp, stored, keysAvailable: true };
|
|
@@ -612,9 +580,10 @@ export async function deleteEndpoint(context, slug, options = {}) {
|
|
|
612
580
|
/**
|
|
613
581
|
* Ordered runtime keys to try. The wired key (`$MOCKDB_TOKEN`, or the
|
|
614
582
|
* connection's `token_env`) is what a local `chat --local` run resolves, so
|
|
615
|
-
* it goes first; the cache holds the last key the console
|
|
616
|
-
*
|
|
617
|
-
*
|
|
583
|
+
* it goes first; the cache holds the last key the console stored and is the
|
|
584
|
+
* fallback. Duplicates collapse. `executeEndpoint` tries these in order and
|
|
585
|
+
* falls through on a 401. It never mints a key: the runtime key is shared
|
|
586
|
+
* with the deployed agent, and minting one revokes the key that agent uses.
|
|
618
587
|
*/
|
|
619
588
|
async function runtimeKeyCandidates(resolved) {
|
|
620
589
|
const envKey = process.env[resolved.tokenEnv]?.trim();
|
|
@@ -627,29 +596,50 @@ async function runtimeKeyCandidates(resolved) {
|
|
|
627
596
|
return candidates;
|
|
628
597
|
}
|
|
629
598
|
/**
|
|
630
|
-
* When
|
|
631
|
-
*
|
|
632
|
-
* is stale. The console doesn't edit secrets
|
|
633
|
-
*
|
|
634
|
-
*
|
|
599
|
+
* When the wired env key was rejected and the cached one worked, whatever
|
|
600
|
+
* resolves the wired key (a local run, and the deployed agent if its vault
|
|
601
|
+
* secret holds the same value) is stale. The console doesn't edit secrets
|
|
602
|
+
* itself, so it attaches a loud, actionable `runtimeKeyResync` block naming
|
|
603
|
+
* where the working key is cached — never the key. The command layer echoes
|
|
604
|
+
* it; tooling reads the JSON.
|
|
635
605
|
*/
|
|
636
|
-
function attachRuntimeKeyResync(resolved, resp,
|
|
637
|
-
const reason = source === "cache"
|
|
638
|
-
? `the runtime key in $${resolved.tokenEnv} was rejected (HTTP 401); a working key was recovered from the local cache`
|
|
639
|
-
: "no valid runtime key was wired or cached; a fresh runtime key was minted (any previously wired key is now invalid)";
|
|
606
|
+
function attachRuntimeKeyResync(resolved, resp, runtimeKey) {
|
|
640
607
|
if (resp && typeof resp === "object" && !Array.isArray(resp)) {
|
|
608
|
+
const prefix = keyPrefixes({ runtimeKey }).runtimeKey;
|
|
641
609
|
const block = {
|
|
642
610
|
required: true,
|
|
643
|
-
source,
|
|
644
|
-
reason
|
|
645
|
-
|
|
646
|
-
action: `
|
|
647
|
-
|
|
611
|
+
source: "cache",
|
|
612
|
+
reason: `the runtime key in $${resolved.tokenEnv} was rejected (HTTP 401); the key cached for this agent worked`,
|
|
613
|
+
runtimeKeyPrefix: prefix,
|
|
614
|
+
action: `Set $${resolved.tokenEnv} — and the vault secret the connection resolves it from — to the cached runtime key ` +
|
|
615
|
+
`(${prefix}; the full value is in ${mockDbKeysPath(resolved.agentId, resolved.homeDir)}, readable only by you), ` +
|
|
616
|
+
"then re-run `apollo mockdb wire` if connections.yaml changed and `apollo push`. " +
|
|
617
|
+
"If the vault secret holds the rejected key, the DEPLOYED agent is getting HTTP 401 on its runtime calls until then.",
|
|
648
618
|
};
|
|
649
619
|
resp.runtimeKeyResync = block;
|
|
650
620
|
}
|
|
651
621
|
return resp;
|
|
652
622
|
}
|
|
623
|
+
/** Where `execute` looked for a runtime key, for its failure message. */
|
|
624
|
+
function describeKeySources(candidates, tokenEnv) {
|
|
625
|
+
const names = candidates.map((candidate) => candidate.source === "env" ? `$${tokenEnv}` : "the local key cache");
|
|
626
|
+
return names.join(" and ");
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* `execute` found no runtime key that authenticates. It fails closed: the
|
|
630
|
+
* only way to a new key is `apollo mockdb rotate runtime`, run on purpose,
|
|
631
|
+
* because rotation revokes the key the deployed agent uses.
|
|
632
|
+
*/
|
|
633
|
+
function runtimeKeyUnavailable(resolved, slug, candidates) {
|
|
634
|
+
const recovery = `If you have this agent's runtime key, export it as $${resolved.tokenEnv}. ` +
|
|
635
|
+
"Otherwise `apollo mockdb rotate runtime` mints a new one and caches it — the current key stops working at once, " +
|
|
636
|
+
`so store the new key in the agent's vault secret right after (\`apollo vault set ${resolved.tokenEnv}\`), ` +
|
|
637
|
+
"or the deployed agent's mock-db calls fail with HTTP 401.";
|
|
638
|
+
if (candidates.length === 0) {
|
|
639
|
+
return new CliError(`mockdb execute ${slug}: no runtime key for agent ${resolved.agentId} — $${resolved.tokenEnv} is not set and none is cached locally.`, { code: "MOCKDB_RUNTIME_KEY_MISSING", exitCode: ExitCode.configuration, suggestion: recovery });
|
|
640
|
+
}
|
|
641
|
+
return new CliError(`mockdb execute ${slug}: the runtime key from ${describeKeySources(candidates, resolved.tokenEnv)} was rejected for agent ${resolved.agentId} (HTTP 401).`, { code: "MOCKDB_RUNTIME_KEY_REJECTED", exitCode: ExitCode.configuration, suggestion: recovery });
|
|
642
|
+
}
|
|
653
643
|
// Read-after-write lag: a write commits, but the next read can be served by a
|
|
654
644
|
// not-yet-caught-up replica — a 422 no_results (row not visible yet) or a
|
|
655
645
|
// transient 5xx. Retried with bounded backoff where a retry can NEVER
|
|
@@ -695,12 +685,6 @@ function isTransientServerError(error) {
|
|
|
695
685
|
return error.status >= 500 && error.status <= 599;
|
|
696
686
|
return isMockDbTransportError(error);
|
|
697
687
|
}
|
|
698
|
-
/** Mint + cache a fresh runtime key (loud-fails on a keyless mint). */
|
|
699
|
-
async function mintRuntimeKey(resolved) {
|
|
700
|
-
const resp = await rotateWithRetry(resolved, "runtimeKey", "rotate runtime", () => withManage(resolved, (auth) => resolved.client.rotateRuntimeKey(resolved.agentId, auth)));
|
|
701
|
-
// rotateWithRetry loud-fails unless the key came back, so it is present here.
|
|
702
|
-
return resp.runtimeKey;
|
|
703
|
-
}
|
|
704
688
|
export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
705
689
|
const resolved = resolveMockDb(context, options);
|
|
706
690
|
const sessionKey = input.session?.trim() || undefined;
|
|
@@ -738,8 +722,8 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
|
738
722
|
return await attempt();
|
|
739
723
|
}
|
|
740
724
|
catch (error) {
|
|
741
|
-
if (
|
|
742
|
-
throw error; // next key source
|
|
725
|
+
if (isRuntimeKeyRejection(error))
|
|
726
|
+
throw error; // next key source
|
|
743
727
|
if (isNoResultsError(error) && noResultsTries < NO_RESULTS_MAX_RETRIES) {
|
|
744
728
|
if (!inTest)
|
|
745
729
|
await sleep(lagBackoffMs(++noResultsTries));
|
|
@@ -757,18 +741,16 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
|
757
741
|
}
|
|
758
742
|
};
|
|
759
743
|
let resp;
|
|
760
|
-
let
|
|
761
|
-
let usedKey;
|
|
744
|
+
let used;
|
|
762
745
|
let envRejected = false;
|
|
763
746
|
for (const candidate of candidates) {
|
|
764
747
|
try {
|
|
765
748
|
resp = await runWithRetries(candidate.key);
|
|
766
|
-
|
|
767
|
-
usedKey = candidate.key;
|
|
749
|
+
used = candidate;
|
|
768
750
|
break;
|
|
769
751
|
}
|
|
770
752
|
catch (error) {
|
|
771
|
-
if (
|
|
753
|
+
if (isRuntimeKeyRejection(error)) {
|
|
772
754
|
if (candidate.source === "env")
|
|
773
755
|
envRejected = true;
|
|
774
756
|
continue;
|
|
@@ -776,30 +758,15 @@ export async function executeEndpoint(context, slug, input = {}, options = {}) {
|
|
|
776
758
|
throw error;
|
|
777
759
|
}
|
|
778
760
|
}
|
|
779
|
-
if (
|
|
780
|
-
|
|
781
|
-
try {
|
|
782
|
-
resp = await runWithRetries(minted);
|
|
783
|
-
usedSource = "minted";
|
|
784
|
-
usedKey = minted;
|
|
785
|
-
}
|
|
786
|
-
catch (error) {
|
|
787
|
-
if (isAuthRejection(error)) {
|
|
788
|
-
throw new CliError(`mockdb execute ${slug}: the runtime key is still invalid for agent ${resolved.agentId} even after minting a fresh one (HTTP ${error.status}).`, {
|
|
789
|
-
code: "API_CLIENT_ERROR",
|
|
790
|
-
suggestion: "Confirm the agent is provisioned with `apollo mockdb status`; the backend may be rejecting freshly-minted keys (report it).",
|
|
791
|
-
});
|
|
792
|
-
}
|
|
793
|
-
throw error;
|
|
794
|
-
}
|
|
795
|
-
}
|
|
761
|
+
if (used === undefined)
|
|
762
|
+
throw runtimeKeyUnavailable(resolved, slug, candidates);
|
|
796
763
|
if (isEmptyReadObject(resp)) {
|
|
797
764
|
blankBodyError(resolved, `execute ${slug}`, sessionKey === undefined ? "read" : "write");
|
|
798
765
|
}
|
|
799
|
-
// A
|
|
800
|
-
//
|
|
801
|
-
if (
|
|
802
|
-
resp = attachRuntimeKeyResync(resolved, resp,
|
|
766
|
+
// A cached key that had to replace a rejected wired key means whatever
|
|
767
|
+
// resolves the wired key is stale ⇒ surface the re-wire step.
|
|
768
|
+
if (used.source === "cache" && envRejected) {
|
|
769
|
+
resp = attachRuntimeKeyResync(resolved, resp, used.key);
|
|
803
770
|
}
|
|
804
771
|
return resp;
|
|
805
772
|
}
|
|
@@ -1095,15 +1062,14 @@ All \`apollo mockdb\` commands are **non-interactive**. Pass the global
|
|
|
1095
1062
|
- The agent comes from the checkout you are standing in (\`.apollorc\`) or
|
|
1096
1063
|
\`--agent <id>\`; the account from the active project (\`--account <id>\` or
|
|
1097
1064
|
\`APOLLO_ACCOUNT_ID\` to override).
|
|
1098
|
-
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
member of the agent's account).
|
|
1065
|
+
- Every management call carries your Apollo token **first-party from the
|
|
1066
|
+
CLI**; the platform gateway authenticates it, and the mock DB must belong
|
|
1067
|
+
to your current organization.
|
|
1102
1068
|
- Provision returns two per-agent keys, stored under \`~/.apollo/mockdb/\`:
|
|
1103
|
-
- **managementKey** — used for ALL other management calls (\`X-Mgmt-Key\`;
|
|
1104
|
-
no Apollo token transmitted). Minted on demand if missing/rejected.
|
|
1105
1069
|
- **runtimeKey** — what the agent's connection uses at runtime; also what
|
|
1106
1070
|
\`apollo mockdb execute\` uses to test endpoints.
|
|
1071
|
+
- **managementKey** — kept for tools outside the CLI; the CLI itself no
|
|
1072
|
+
longer sends it (the gateway admits the login token only).
|
|
1107
1073
|
|
|
1108
1074
|
## Typical workflow
|
|
1109
1075
|
|
|
@@ -1295,8 +1261,9 @@ Common flags: \`--agent <id>\`, \`--account <id>\`, and the global \`--json\`.
|
|
|
1295
1261
|
- Endpoint \`where\`/value params must be declared in \`--param-schema\`, with a
|
|
1296
1262
|
type the service knows (\`string|integer|number|boolean|json|array\`); a set fed to
|
|
1297
1263
|
\`op: "in"\` is \`array\`.
|
|
1298
|
-
- \`execute\` resolves the runtime key from \`$MOCKDB_TOKEN\` → the local cache
|
|
1299
|
-
|
|
1264
|
+
- \`execute\` resolves the runtime key from \`$MOCKDB_TOKEN\` → the local cache. It
|
|
1265
|
+
never mints one: with no working key it stops and says so. A new key comes only
|
|
1266
|
+
from \`apollo mockdb rotate runtime\`, which revokes the key the deployed agent uses.
|
|
1300
1267
|
- A read replies at most \`limit\` rows (default 100, cap 1000) and says so:
|
|
1301
1268
|
\`data.total\` / \`data.hasMore\`. Page with \`offset\` until \`hasMore\` is false.
|
|
1302
1269
|
- A blank 2xx from the service is a transient transport blip: reads retry it,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockdb.js","sourceRoot":"","sources":["../../../src/services/mockdb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mockdb.js","sourceRoot":"","sources":["../../../src/services/mockdb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAgBhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAuBvD,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAG3E,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC;QACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,OAAgB,EAChB,OAA6B;IAE7B,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,IAAI,WAAW,CACnB,mCAAmC,EACnC,yFAAyF,CAC1F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,WAAW,CACnB,yBAAyB,EACzB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,MAAM,SAAS,GAAoB;QACjC,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,OAAO,CAAC,KAAK;QACxB,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;QACjC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;IACF,OAAO;QACL,OAAO;QACP,MAAM;QACN,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,SAAS;QACT,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,wBAAwB;KAC/D,CAAC;AACJ,CAAC;AAED,2EAA2E;AAE3E;;;uCAGuC;AACvC,SAAS,iBAAiB,CAAC,IAAa;IACtC,OAAO,CACL,IAAI,IAAI,IAAI;QACZ,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAA+B,CAAC,CAAC,MAAM,KAAK,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEnF,oEAAoE;AACpE,SAAS,SAAS;IAChB,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AACjE,CAAC;AAED,yEAAyE;AACzE,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACtD,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,UAAU,CACvB,KAA6B,EAC7B,EAAoB;IAEpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM;YAAE,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAID;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAwB,EAAE,EAAU,EAAE,IAAe;IAC3E,MAAM,IAAI,GACR,UAAU,EAAE,0BAA0B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,kDAAkD,QAAQ,CAAC,OAAO,EAAE;QAC1I,CAAC,IAAI,KAAK,OAAO;YACf,CAAC,CAAC,kFAAkF;YACpF,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC/B,MAAM,MAAM,GACV,2GAA2G,CAAC;IAC9G,IAAI,IAAY,CAAC;IACjB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI;YACF,2HAA2H,CAAC;IAChI,CAAC;SAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI;YACF,oKAAoK,CAAC;IACzK,CAAC;SAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QACjC,IAAI;YACF,6IAA6I,CAAC;IAClJ,CAAC;SAAM,CAAC;QACN,IAAI;YACF,gTAAgT,CAAC;IACrT,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;AACpF,CAAC;AAED,4FAA4F;AAC5F,KAAK,UAAU,aAAa,CAC1B,QAAwB,EACxB,EAAU,EACV,EAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,iBAAiB,CAAC,MAAM,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAChC,QAAwB,EACxB,EAAU,EACV,EAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,iBAAiB,CAAC,MAAM,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;+EAC+E;AAC/E,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;AAC3D,CAAC;AAED,2EAA2E;AAE3E,KAAK,UAAU,mBAAmB,CAChC,QAAwB,EACxB,IAAmD;IAEnD,MAAM,KAAK,GAKP;QACF,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC3C,OAAO,EAAE,aAAa;KACvB,CAAC;IACF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACjE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC3C,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3D,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,IAA6B,EAC7B,KAAqC;IAErC,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAK,IAAI,CAAC,KAAK,CAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,eAAe,CAC5B,QAAwB,EACxB,KAAqC,EACrC,EAAU,EACV,EAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACvE,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAE3E;;;;;;;;;;;;;GAaG;AACH,SAAS,UAAU,CACjB,QAAwB,EACxB,EAAoC;IAEpC,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACpD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAChE,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAChB,0CAA0C,OAAO,CAAC,QAAQ,CAAC,MAAM,kDAAkD,QAAQ,CAAC,OAAO,uBAAuB,EAC1J;YACE,IAAI,EAAE,kBAAkB;YACxB,UAAU,EACR,qPAAqP;SACxP,CACF,CAAC;IACJ,CAAC;IACD,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,2EAA2E;IAC3E,qEAAqE;IACrE,2EAA2E;IAC3E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO;YACL,GAAG,IAAI;YACP,MAAM;YACN,aAAa,EAAE,KAAK;YACpB,QAAQ,EACN,qUAAqU;SACxU,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAC9C,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACjF,CAAC;AACJ,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,MAAM,GAAgC,IAAI,CAAC;IAC/C,IAAI,KAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACpD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAC7D,CAAC;QACF,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,KAAK,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,OAA4B,CAAC;IACjC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,SAAS,CAAC;QACpB,OAAO;YACL,qHAAqH,CAAC;IAC1H,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACrD,OAAO,GAAG,IAAI,CAAC;QACf,OAAO;YACL,+CAA+C;gBAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,GAAG,OAAO,CAAC;QAClB,OAAO;YACL,2KAA2K,CAAC;IAChL,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,KAAK,CAAC;QAChB,OAAO,GAAG,YAAY;YACpB,CAAC,CAAC,mPAAmP;YACrP,CAAC,CAAC,6EAA6E,CAAC;IACpF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAChC,MAAM;QACN,IAAI;QACJ,OAAO;QACP,OAAO;QACP,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,IAAY,EACZ,MAAe,EACf,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,4EAA4E;IAC5E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAC3E,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,EAAE,CACtD,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACxF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,IAAY,EACZ,UAAqB,EACrB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAC/E,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC;AACd,CAAC;AAWD,mIAAmI;AACnI,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAgB,EAChB,UAAkB,EAClB,IAAe,EACf,UAA2B,EAAE;IAE7B,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG;QAClB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACvE,CAAC;IACF,oFAAoF;IACpF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAChF,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAuB3C;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,YAAY,EAAE,4DAA4D,CAAC,CAAC;IAC5H,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;QAChG,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,mFAAmF;QACnF,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,GAAG,SAAS,CAAC,CAAC,+DAA+D;QACpF,CAAC;QACD,MAAM,OAAO,GAAI,KAAwC,EAAE,IAAI,CAAC;QAChE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QACzB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CACvB,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrG,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrF,cAAc,YAAY,0BAA0B,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,WAAW,YAAY,GAAG,CAAC,EAAE,CAAC;AACtF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,UAAkB,EAClB,IAAY,EACZ,UAA2B,EAAE;IAE7B,MAAM,IAAI,GAAmB,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,eAAe,CAAC,qCAAqC,EAAE,kBAAkB,MAAM,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC;IAC1I,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,GAAG,YAAY,iBAAiB,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnD,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,YAAY;QAClB,UAAU;QACV,IAAI;QACJ,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;QACrE,4EAA4E;QAC5E,MAAM,SAAS,GAAmB,IAAI,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,IAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChD,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC5E,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,KAAK;gBACX,gDAAgD;gBAChD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,IAAI,MAAc,CAAC;YACnB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM;oBACJ,IAAI,KAAK,SAAS;wBAChB,CAAC,CAAC,iGAAiG;wBACnG,CAAC,CAAC,6CAA6C,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,UAAU,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,0BACtH,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,EACpE,2CAA2C,CAAC;YAC9C,CAAC;YACD,MAAM,IAAI,QAAQ,CAChB,6BAA6B,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,aACzH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,EACF;gBACE,IAAI,EAAE,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;gBACjE,UAAU,EACR,GAAG,MAAM,wDAAwD,MAAM,CAAC,KAAK,CAAC,GAAG;oBACjF,yEAAyE;gBAC3E,KAAK,EAAE,KAAK;aACb,CACF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QACrB,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7F,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAgB,EAChB,UAAkB,EAClB,OAA+D,EAAE,EACjE,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAC/C,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CACnG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAgB,EAChB,UAAkB,EAClB,EAAU,EACV,KAA8B,EAC9B,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CACtD,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CACxG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAgB,EAChB,UAAkB,EAClB,EAAU,EACV,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,CACvD,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAClG,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,IAAY,EACZ,UAAwD,EAAE;IAE1D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAChE,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5B,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CACxG,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,IAAY,EACZ,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,EAAE,CAC9D,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAC/F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,UAA+D,EAAE;IAEjE,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CACjD,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5B,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAChH,CACF,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,GAAuB;IACnD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAuB,CAAC;IAC7F,MAAM,IAAI,eAAe,CACvB,yBAAyB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EACrF,mHAAmH,CACpH,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAK,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAyB,CAAC;IACjG,MAAM,IAAI,eAAe,CACvB,0BAA0B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EACxF,gKAAgK,CACjK,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,IAA6B,EAC7B,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAC7D,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,EAAE,CACnD,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,IAAY,EACZ,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,gBAAgB,IAAI,EAAE,EAAE,GAAG,EAAE,CAC1D,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,IAAY,EACZ,IAA6B,EAC7B,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CACnE,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,mBAAmB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,IAAY,EACZ,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAC7D,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,mBAAmB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC;AACd,CAAC;AAYD;;;;;;;GAOG;AACH,KAAK,UAAU,oBAAoB,CAAC,QAAwB;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IACvF,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,IAAI,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACzF,OAAO,UAAU,CAAC;AACpB,CAAC;AAWD;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,QAAwB,EACxB,IAAa,EACb,UAAkB;IAElB,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;QACtD,MAAM,KAAK,GAAqB;YAC9B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,uBAAuB,QAAQ,CAAC,QAAQ,gEAAgE;YAChH,gBAAgB,EAAE,MAAM;YACxB,MAAM,EACJ,QAAQ,QAAQ,CAAC,QAAQ,sFAAsF;gBAC/G,IAAI,MAAM,0BAA0B,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,2BAA2B;gBACjH,kFAAkF;gBAClF,qHAAqH;SACxH,CAAC;QACD,IAAgC,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yEAAyE;AACzE,SAAS,kBAAkB,CAAC,UAAiC,EAAE,QAAgB;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACzC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,qBAAqB,CACpE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,QAAwB,EACxB,IAAY,EACZ,UAAiC;IAEjC,MAAM,QAAQ,GACZ,uDAAuD,QAAQ,CAAC,QAAQ,IAAI;QAC5E,kHAAkH;QAClH,oFAAoF,QAAQ,CAAC,QAAQ,OAAO;QAC5G,2DAA2D,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,QAAQ,CACjB,kBAAkB,IAAI,8BAA8B,QAAQ,CAAC,OAAO,OAAO,QAAQ,CAAC,QAAQ,yCAAyC,EACrI,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,QAAQ,CACjB,kBAAkB,IAAI,0BAA0B,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,QAAQ,CAAC,OAAO,cAAc,EAC1J,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,CAChG,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,0EAA0E;AAC1E,sEAAsE;AACtE,qBAAqB;AACrB,wEAAwE;AACxE,yEAAyE;AACzE,8EAA8E;AAC9E,iFAAiF;AACjF,mFAAmF;AACnF,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9C,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;IAClF,OAAO,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;AAChD,CAAC;AAGD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEhE;iEACiE;AACjE,KAAK,UAAU,mBAAmB,CAChC,QAAwB,EACxB,IAAY;IAEZ,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAC1D,CAAC;QACF,MAAM,IAAI,GAAI,IAAkC,EAAE,IAAI,CAAC;QACvD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnF,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,YAAY,CAC7F,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;IACjF,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgB,EAChB,IAAY,EACZ,QAA8C,EAAE,EAChD,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAoB,EAAE;QAChD,MAAM,IAAI,GAAsB;YAC9B,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,GAAG;YACf,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC;IAEF,yEAAyE;IACzE,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,kBAAuC,CAAC;IAC5C,MAAM,eAAe,GAAG,KAAK,IAAsB,EAAE;QACnD,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,kBAAkB,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC;QAC/D,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,cAAc,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;QAC7D,MAAM,OAAO,GAAG,GAAqB,EAAE,CACrC,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,SAAS,CAAC;YACR,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,qBAAqB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC,CAAC,kBAAkB;gBACjE,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,cAAc,GAAG,sBAAsB,EAAE,CAAC;oBACvE,IAAI,CAAC,MAAM;wBAAE,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;oBACzD,SAAS;gBACX,CAAC;gBACD,IACE,sBAAsB,CAAC,KAAK,CAAC;oBAC7B,cAAc,GAAG,qBAAqB;oBACtC,CAAC,MAAM,eAAe,EAAE,CAAC,EACzB,CAAC;oBACD,IAAI,CAAC,MAAM;wBAAE,MAAM,KAAK,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;oBACzD,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,IAAa,CAAC;IAClB,IAAI,IAAqC,CAAC;IAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,GAAG,SAAS,CAAC;YACjB,MAAM;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;oBAAE,WAAW,GAAG,IAAI,CAAC;gBACnD,SAAS;YACX,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,qBAAqB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAEhF,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,cAAc,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3F,CAAC;IAED,uEAAuE;IACvE,8DAA8D;IAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3C,IAAI,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,2EAA2E;AAE3E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,gFAAgF;IAChF,wEAAwE;IACxE,wDAAwD;IACxD,OAAO,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,CACpD,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,UAA4B,EAC5B,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC/C,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAClE,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,OAAO,GACX,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,CAAC,CAAE,GAAiC,CAAC,WAAW;QAChD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,eAAe,CACvB,kFAAkF,EAClF,qHAAqH,CACtH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,OAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,eAAe,CACvB,oGAAoG,EACpG,0QAA0Q,CAC3Q,CAAC;IACJ,CAAC;IACD,OAAO,OAA2B,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAGzC;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CACvB,gDAAgD,EAChD,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CACvB,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACrF,cAAc,YAAY,+BAA+B,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC,WAAW,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,eAAe,CACvB,yCAAyC,EACzC,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,2EAA2E;AAE3E,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,UAAkB,EAClB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,4EAA4E;IAC5E,kEAAkE;IAClE,OAAO,aAAa,CAAC,QAAQ,EAAE,eAAe,UAAU,EAAE,EAAE,GAAG,EAAE,CAC/D,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5B,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CACnE,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,UAAkB,EAClB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CACnC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,yEAAyE;IACzE,uDAAuD;IACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,EAAE,CAChF,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CACpE,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,WAAW,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,UAAgC,EAAE;IAOlC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAChF,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACzF,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,WAAW,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7E,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAC5C,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACpF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,+EAA+E;IAC/E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrF,MAAM,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAgB,EAChB,UAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,WAAW,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AASD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAgB,EAChB,OAA2B;IAE3B,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CACvB,iDAAiD,EACjD,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACpD,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CACvE,CAAC;IACF,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,cAAc,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACrF,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1C,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,WAAW,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC9E,CAAC;AACJ,CAAC;AAgBD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgB,EAChB,UAA+E,EAAE;IAEjF,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CACnB,mCAAmC,EACnC,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,IAAI,WAAW,CACnB,yBAAyB,EACzB,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,SAAS,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,wBAAwB,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,QAAQ,CAAC,OAAO,OAAO,CAAC;IACrG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG;QACZ,cAAc;QACd,WAAW,YAAY,EAAE;QACzB,iBAAiB,OAAO,EAAE;QAC1B,WAAW;QACX,sBAAsB;QACtB,oBAAoB,QAAQ,EAAE;QAC9B,cAAc;QACd,qCAAqC;QACrC,0DAA0D,YAAY,SAAS;QAC/E,4EAA4E;QAC5E,+EAA+E;QAC/E,6EAA6E;QAC7E,mEAAmE;QACnE,4EAA4E;QAC5E,oDAAoD;QACpD,mBAAmB;QACnB,sBAAsB;QACtB,wBAAwB;QACxB,0CAA0C;QAC1C,6BAA6B;QAC7B,6EAA6E;QAC7E,8EAA8E;QAC9E,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,6EAA6E;QAC7E,2CAA2C;QAC3C,uBAAuB;QACvB,2BAA2B;QAC3B,6BAA6B;QAC7B,2BAA2B;QAC3B,gCAAgC;QAChC,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,aAAa;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,YAAY,EAAE,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,YAAY,GAAG,CAAC,EAAE,CAAC;QAC3F,wCAAwC;IAC1C,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,6GAA6G;KAC9G,CAAC;IACF,uEAAuE;IACvE,uEAAuE;IACvE,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CACR,uIAAuI,CACxI,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,IAAI;QACV,YAAY;QACZ,QAAQ;QACR,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,UAAU,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;QAC7C,KAAK;KACN,CAAC;AACJ,CAAC;AAED,2EAA2E;AAE3E,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,GAAW;IACrD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,GAAG,IAAI,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAE,GAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5F,OAAO,GAA6B,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,eAAe,CACvB,sEAAsE,CACvE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC5B,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAC9B,CAAC,CAAC,CAAE,GAAmD,CAAC,UAAU;gBAC/D,GAA6B,CAAC,OAAO,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CACvB,2GAA2G,EAC3G,+IAA+I,CAChJ,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAE3E,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiO3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAmB;IAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC;IACpE,MAAM,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;AACvF,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Working with the agent's OTHER versions from a checkout — the CLI half of
|
|
3
|
+
* docs/program-versioning-plan.md §3.4.
|
|
4
|
+
*
|
|
5
|
+
* The checkout edits one program, `bundle/src/`. Another version's program
|
|
6
|
+
* is FETCHED into `bundle/tmp/versions/<tag>/` — scratch, never pushed — where
|
|
7
|
+
* a coding agent (or the author) can read it, `diff -r` it, and take from
|
|
8
|
+
* it. `diffAgainst` is the path-level comparison; `mergeFrom` brings a
|
|
9
|
+
* version's changes into `bundle/src/` with the builder's own three-way
|
|
10
|
+
* merge (the base is the save both lines were branched from, found through
|
|
11
|
+
* the registry's lineage), writing the merged results — a disputed region
|
|
12
|
+
* keeps the author's own text — with the decision spelled out.
|
|
13
|
+
*/
|
|
14
|
+
import type { BuilderApiClient, MergeTreesResult } from "../api/builder-api.js";
|
|
15
|
+
import type { AgentVersion, ManagementClient } from "../api/management.js";
|
|
16
|
+
import { type FileDiff } from "../bundle/baseline.js";
|
|
17
|
+
import { type Relation } from "../bundle/lineage.js";
|
|
18
|
+
import type { Context } from "../config/index.js";
|
|
19
|
+
/** `<checkout>/bundle/tmp/versions` — fetched copies live here, one
|
|
20
|
+
* directory per tag. `bundle/tmp` is scratch: no push carries it. */
|
|
21
|
+
export declare function tmpVersionsRoot(context: Context, root?: string): string;
|
|
22
|
+
export interface FetchedVersion {
|
|
23
|
+
version: AgentVersion;
|
|
24
|
+
/** The exact save fetched (`v2.7`) — the row's tag or an older save the ref named. */
|
|
25
|
+
tag: string;
|
|
26
|
+
/** Where it landed: `<checkout>/bundle/tmp/versions/<tag>`. */
|
|
27
|
+
dir: string;
|
|
28
|
+
files: Record<string, string>;
|
|
29
|
+
/** How it relates to the checkout's own save, when both are known. */
|
|
30
|
+
relation?: Relation;
|
|
31
|
+
/** The save both lines were branched from — a merge's base. */
|
|
32
|
+
base?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Pull `ref` (a tag, a line, a version's name, or `live`) into
|
|
36
|
+
* `bundle/tmp/versions/<tag>/` and say how it relates to the checkout's own
|
|
37
|
+
* save. Re-fetching refreshes the copy (files gone upstream are removed).
|
|
38
|
+
*/
|
|
39
|
+
export declare function fetchVersion(context: Context, management: ManagementClient, ref: string, options?: {
|
|
40
|
+
root?: string;
|
|
41
|
+
homeDir?: string;
|
|
42
|
+
}): Promise<FetchedVersion>;
|
|
43
|
+
/** `bundle/src/` against a fetched version — added / changed / removed
|
|
44
|
+
* paths, the same dialect as `apollo diff`. For the lines, `diff -r
|
|
45
|
+
* bundle/src bundle/tmp/versions/<tag>` — the copy is on disk for that. */
|
|
46
|
+
export declare function diffAgainst(context: Context, management: ManagementClient, ref: string, options?: {
|
|
47
|
+
root?: string;
|
|
48
|
+
homeDir?: string;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
diff: FileDiff;
|
|
51
|
+
fetched: FetchedVersion;
|
|
52
|
+
}>;
|
|
53
|
+
export interface MergeFromResult {
|
|
54
|
+
fetched: FetchedVersion;
|
|
55
|
+
result: MergeTreesResult;
|
|
56
|
+
/** What landed in `bundle/src/`, as `A path` / `M path` / `D path` rows. */
|
|
57
|
+
written: string[];
|
|
58
|
+
dryRun: boolean;
|
|
59
|
+
/** The author said every disputed region is decided at the checkout's text. */
|
|
60
|
+
resolved: boolean;
|
|
61
|
+
/** Set while disputes hold back a newer save of the checkout's own line:
|
|
62
|
+
* `merge-from <tag> --resolved` makes it the checkout's base. */
|
|
63
|
+
pendingBase?: string;
|
|
64
|
+
/** Set when the checkout's own save advanced to the fetched one: the
|
|
65
|
+
* fetched save is a newer save of the SAME line, so the tree now includes
|
|
66
|
+
* it and the next push starts from it. */
|
|
67
|
+
baselineAdvanced?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Bring `ref`'s changes into `bundle/src/`. Three-way over the save both
|
|
71
|
+
* lines came from (two-way when there is none). Merged files are written;
|
|
72
|
+
* a disputed region keeps the checkout's own text and is reported with the
|
|
73
|
+
* three texts, for the author or their agent to resolve. `only` narrows to
|
|
74
|
+
* those program paths (a cherry-pick). `dryRun` reports without writing.
|
|
75
|
+
* `resolved` says every dispute has been decided at the checkout's text.
|
|
76
|
+
*/
|
|
77
|
+
export declare function mergeFrom(context: Context, clients: {
|
|
78
|
+
management: ManagementClient;
|
|
79
|
+
builder: BuilderApiClient;
|
|
80
|
+
}, ref: string, options?: {
|
|
81
|
+
only?: string[];
|
|
82
|
+
dryRun?: boolean;
|
|
83
|
+
resolved?: boolean;
|
|
84
|
+
root?: string;
|
|
85
|
+
homeDir?: string;
|
|
86
|
+
}): Promise<MergeFromResult>;
|
|
87
|
+
/** One neutral report of a merge — what came in, what needs a decision. */
|
|
88
|
+
export declare function describeMerge(merged: MergeFromResult): string;
|