@intentic/sandbox-contract 1.309.0 → 1.311.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -159
- package/dist/contracts/accounts.contract.d.ts +3 -0
- package/dist/contracts/accounts.contract.d.ts.map +1 -1
- package/dist/contracts/agent.contract.d.ts +15 -0
- package/dist/contracts/agent.contract.d.ts.map +1 -1
- package/dist/contracts/agents.contract.d.ts +596 -1
- package/dist/contracts/agents.contract.d.ts.map +1 -1
- package/dist/contracts/agents.contract.js +13 -2
- package/dist/contracts/agents.contract.js.map +1 -1
- package/dist/contracts/capabilities.contract.d.ts +2 -0
- package/dist/contracts/capabilities.contract.d.ts.map +1 -1
- package/dist/contracts/device.contract.d.ts +1 -0
- package/dist/contracts/device.contract.d.ts.map +1 -1
- package/dist/contracts/runner.contract.d.ts +45 -0
- package/dist/contracts/runner.contract.d.ts.map +1 -1
- package/dist/contracts/settings.contract.d.ts +11 -15
- package/dist/contracts/settings.contract.d.ts.map +1 -1
- package/dist/contracts/system.contract.d.ts +59 -0
- package/dist/contracts/system.contract.d.ts.map +1 -1
- package/dist/events/agent-events.d.ts +20 -0
- package/dist/events/agent-events.d.ts.map +1 -1
- package/dist/events/agent-events.js +6 -1
- package/dist/events/agent-events.js.map +1 -1
- package/dist/events/system-events.d.ts +48 -0
- package/dist/events/system-events.d.ts.map +1 -1
- package/dist/events/transcript.d.ts +5 -0
- package/dist/events/transcript.d.ts.map +1 -1
- package/dist/events/transcript.js +9 -1
- package/dist/events/transcript.js.map +1 -1
- package/dist/front/generated/wire.d.ts +74 -0
- package/dist/front/generated/wire.d.ts.map +1 -0
- package/dist/front/generated/wire.js +2 -0
- package/dist/front/generated/wire.js.map +1 -0
- package/dist/index.d.ts +717 -74
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/policy/command-run.d.ts +1 -1
- package/dist/policy/command-run.d.ts.map +1 -1
- package/dist/policy/command-run.js +7 -4
- package/dist/policy/command-run.js.map +1 -1
- package/dist/protocol/ingress-protocol.d.ts.map +1 -1
- package/dist/protocol/ingress-protocol.js +15 -0
- package/dist/protocol/ingress-protocol.js.map +1 -1
- package/dist/protocol/upgrade-relay.d.ts +4 -0
- package/dist/protocol/upgrade-relay.d.ts.map +1 -0
- package/dist/protocol/upgrade-relay.js +25 -0
- package/dist/protocol/upgrade-relay.js.map +1 -0
- package/dist/schemas/agents.d.ts +72 -3
- package/dist/schemas/agents.d.ts.map +1 -1
- package/dist/schemas/agents.js +10 -7
- package/dist/schemas/agents.js.map +1 -1
- package/dist/schemas/automations.d.ts +24 -0
- package/dist/schemas/automations.d.ts.map +1 -1
- package/dist/schemas/capabilities.d.ts +3 -0
- package/dist/schemas/capabilities.d.ts.map +1 -1
- package/dist/schemas/capabilities.js +4 -0
- package/dist/schemas/capabilities.js.map +1 -1
- package/dist/schemas/ci.d.ts.map +1 -1
- package/dist/schemas/ci.js.map +1 -1
- package/dist/schemas/devices.d.ts +32 -6
- package/dist/schemas/devices.d.ts.map +1 -1
- package/dist/schemas/devices.js +8 -6
- package/dist/schemas/devices.js.map +1 -1
- package/dist/schemas/keep-warm.d.ts +68 -0
- package/dist/schemas/keep-warm.d.ts.map +1 -0
- package/dist/schemas/keep-warm.js +74 -0
- package/dist/schemas/keep-warm.js.map +1 -0
- package/dist/schemas/metrics.d.ts +24 -25
- package/dist/schemas/metrics.d.ts.map +1 -1
- package/dist/schemas/metrics.js +6 -31
- package/dist/schemas/metrics.js.map +1 -1
- package/dist/schemas/providers/provider-oauth.d.ts +3 -0
- package/dist/schemas/providers/provider-oauth.d.ts.map +1 -1
- package/dist/schemas/providers/provider-oauth.js +4 -0
- package/dist/schemas/providers/provider-oauth.js.map +1 -1
- package/dist/schemas/providers/usage.d.ts +6 -0
- package/dist/schemas/providers/usage.d.ts.map +1 -1
- package/dist/schemas/providers/usage.js +4 -0
- package/dist/schemas/providers/usage.js.map +1 -1
- package/dist/schemas/settings.d.ts +13 -29
- package/dist/schemas/settings.d.ts.map +1 -1
- package/dist/schemas/settings.js +48 -11
- package/dist/schemas/settings.js.map +1 -1
- package/dist/state/definition.d.ts +24 -20
- package/dist/state/definition.d.ts.map +1 -1
- package/dist/state/fix-stance.d.ts.map +1 -1
- package/dist/state/fix-stance.js +1 -0
- package/dist/state/fix-stance.js.map +1 -1
- package/dist/state/runtime-state.d.ts +3 -0
- package/dist/state/runtime-state.d.ts.map +1 -1
- package/dist/state/runtime-state.js +1 -0
- package/dist/state/runtime-state.js.map +1 -1
- package/dist/state/workspace-state.d.ts +0 -7
- package/dist/state/workspace-state.d.ts.map +1 -1
- package/dist/state/workspace-state.js +0 -8
- package/dist/state/workspace-state.js.map +1 -1
- package/dist/text/transcript-fold.d.ts +2 -0
- package/dist/text/transcript-fold.d.ts.map +1 -1
- package/dist/text/transcript-fold.js +20 -7
- package/dist/text/transcript-fold.js.map +1 -1
- package/dist/time/zone.d.ts +1 -0
- package/dist/time/zone.d.ts.map +1 -1
- package/dist/time/zone.js +5 -0
- package/dist/time/zone.js.map +1 -1
- package/package.json +27 -5
- package/src/chores/chores.test.ts +0 -1
- package/src/chores/digest.test.ts +0 -1
- package/src/chores/probes.test.ts +0 -1
- package/src/chores/stack.test.ts +0 -1
- package/src/chores/verdict.test.ts +0 -1
- package/src/contracts/agents.contract.ts +14 -2
- package/src/events/agent-events.ts +9 -1
- package/src/events/agent-words.test.ts +0 -1
- package/src/events/resume.test.ts +0 -1
- package/src/events/transcript.ts +14 -3
- package/src/events/watch-wake.test.ts +0 -1
- package/src/front/generated/wire.ts +73 -0
- package/src/ids/conversation-ids.test.ts +1 -2
- package/src/ids/hostnames.fixture.json +20 -0
- package/src/ids/hostnames.test.ts +20 -1
- package/src/ids/share-paths.test.ts +0 -1
- package/src/ids/tunnel-ids.test.ts +0 -1
- package/src/index.ts +1 -3
- package/src/models/agent-catalog.test.ts +0 -1
- package/src/models/capability-ledger.test.ts +0 -1
- package/src/models/model-label.test.ts +0 -1
- package/src/models/model-offer.test.ts +0 -1
- package/src/models/model-order.test.ts +0 -1
- package/src/models/model-pins.test.ts +0 -1
- package/src/models/model-roles.test.ts +0 -1
- package/src/models/plan-pools.test.ts +0 -1
- package/src/models/provider-specs.test.ts +0 -1
- package/src/policy/batch-runs.test.ts +0 -1
- package/src/policy/command-classes.test.ts +0 -1
- package/src/policy/command-run.test.ts +35 -0
- package/src/policy/command-run.ts +10 -5
- package/src/policy/credential-material.test.ts +0 -1
- package/src/policy/fence-paths.test.ts +0 -1
- package/src/policy/overlay-lint.test.ts +0 -1
- package/src/policy/owner-ticket.test.ts +0 -1
- package/src/policy/persona-home.test.ts +0 -1
- package/src/policy/reserved-servers.test.ts +0 -1
- package/src/policy/safety-policy.test.ts +0 -1
- package/src/policy/search-globs.test.ts +0 -1
- package/src/protocol/container-requirements.test.ts +0 -1
- package/src/protocol/ingress-contract.test.ts +0 -1
- package/src/protocol/ingress-protocol.test.ts +45 -2
- package/src/protocol/ingress-protocol.ts +25 -4
- package/src/protocol/peer-dial.test.ts +1 -2
- package/src/protocol/peer-mcp-server.test.ts +0 -1
- package/src/protocol/routes.test.ts +6 -3
- package/src/protocol/tunnel-heartbeat.test.ts +2 -3
- package/src/protocol/upgrade-relay.ts +28 -0
- package/src/schemas/agent.test.ts +0 -1
- package/src/schemas/agents.ts +14 -7
- package/src/schemas/areas.test.ts +1 -2
- package/src/schemas/capabilities.ts +6 -0
- package/src/schemas/ci.ts +3 -9
- package/src/schemas/context-trim.test.ts +0 -1
- package/src/schemas/dev-rebuild-log.test.ts +0 -1
- package/src/schemas/devices.ts +16 -9
- package/src/schemas/git/git.test.ts +0 -1
- package/src/schemas/keep-warm.test.ts +68 -0
- package/src/schemas/keep-warm.ts +124 -0
- package/src/schemas/metrics.ts +33 -64
- package/src/schemas/providers/provider-oauth.ts +6 -0
- package/src/schemas/providers/usage.ts +7 -0
- package/src/schemas/settings.test.ts +41 -7
- package/src/schemas/settings.ts +78 -44
- package/src/schemas/version-seam.test.ts +0 -1
- package/src/state/contract-lock.test.ts +0 -1
- package/src/state/fix-attempt-plan.test.ts +0 -1
- package/src/state/fix-stance.test.ts +14 -1
- package/src/state/fix-stance.ts +2 -0
- package/src/state/landed-commit.test.ts +0 -1
- package/src/state/runtime-state.test.ts +0 -1
- package/src/state/runtime-state.ts +4 -0
- package/src/state/versions.test.ts +0 -1
- package/src/state/workspace-state.test.ts +0 -3
- package/src/state/workspace-state.ts +0 -14
- package/src/text/archives.test.ts +0 -1
- package/src/text/documents.test.ts +0 -1
- package/src/text/embed.test.ts +2 -3
- package/src/text/emoji.test.ts +0 -1
- package/src/text/mentions.test.ts +0 -1
- package/src/text/path-refs.test.ts +0 -1
- package/src/text/title.test.ts +0 -1
- package/src/text/transcript-fold.test.ts +32 -4
- package/src/text/transcript-fold.ts +39 -9
- package/src/text/whisper.test.ts +0 -1
- package/src/text/workflow-faults.test.ts +0 -1
- package/src/time/zone.test.ts +0 -1
- package/src/time/zone.ts +7 -0
- package/src/webext/index.ts +1 -1
- package/dist/contracts/prepush.contract.d.ts +0 -32
- package/dist/contracts/prepush.contract.d.ts.map +0 -1
- package/dist/contracts/prepush.contract.js +0 -41
- package/dist/contracts/prepush.contract.js.map +0 -1
- package/src/contracts/prepush.contract.ts +0 -58
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { cancelledRequests, settledRequests } from "../policy/request-status.js";
|
|
2
2
|
import { REQUEST_FIELDS, holdsRequest, isAwaitingDecision, } from "../events/transcript.js";
|
|
3
3
|
import { contextTrimLine } from "../schemas/context-trim.js";
|
|
4
|
+
import { keptWarmLine } from "../schemas/keep-warm.js";
|
|
4
5
|
import { turnedAwayCode } from "../policy/turned-away.js";
|
|
5
6
|
import { mentionedPathTokens } from "./mentions.js";
|
|
6
7
|
import { unspokenPromptRow } from "../events/agent-words.js";
|
|
8
|
+
export const COMPACTED_NOTICE = "Context compacted to free up space.";
|
|
7
9
|
const defined = (value) => Object.fromEntries(Object.entries(value).filter(([, field]) => field !== undefined));
|
|
10
|
+
const ownFields = ({ children: _children, thinking: _thinking, ...own }) => own;
|
|
8
11
|
const cardOf = (event) => ({
|
|
9
12
|
id: event.id,
|
|
10
13
|
name: event.name,
|
|
@@ -209,7 +212,7 @@ export class TranscriptFold {
|
|
|
209
212
|
return [...opened, this.replace(index)];
|
|
210
213
|
}
|
|
211
214
|
case "usage": {
|
|
212
|
-
const { kind: _kind, account: _account, cacheReadTokens: _read, cacheCreationTokens: _written, ...usage } = event;
|
|
215
|
+
const { kind: _kind, account: _account, cacheReadTokens: _read, cacheCreationTokens: _written, openingCacheReadTokens: _openingRead, openingCacheCreationTokens: _openingWritten, promptFingerprint: _fingerprint, ...usage } = event;
|
|
213
216
|
const index = this.rows.findLastIndex((row) => row.role === "assistant");
|
|
214
217
|
const closed = this.closeBubble();
|
|
215
218
|
if (index === -1) {
|
|
@@ -229,6 +232,10 @@ export class TranscriptFold {
|
|
|
229
232
|
});
|
|
230
233
|
case "preamble":
|
|
231
234
|
return event.notes.length === 0 ? [] : this.stampOpener((row) => (row.notes = [...event.notes]));
|
|
235
|
+
case "prompt_cache": {
|
|
236
|
+
const line = keptWarmLine(event);
|
|
237
|
+
return line === undefined ? [] : this.pushRow({ role: "notice", text: line });
|
|
238
|
+
}
|
|
232
239
|
case "context_trim":
|
|
233
240
|
return this.pushRow({ role: "notice", text: contextTrimLine(event) });
|
|
234
241
|
case "worktree":
|
|
@@ -236,7 +243,7 @@ export class TranscriptFold {
|
|
|
236
243
|
case "landed":
|
|
237
244
|
return this.pushRow(landedRow(event));
|
|
238
245
|
case "compact":
|
|
239
|
-
return this.pushRow({ role: "notice", text:
|
|
246
|
+
return this.pushRow({ role: "notice", text: COMPACTED_NOTICE });
|
|
240
247
|
case "error":
|
|
241
248
|
return [...this.retract(event), ...this.pushRow(errorRow(event))];
|
|
242
249
|
case "plan": {
|
|
@@ -387,9 +394,8 @@ export class TranscriptFold {
|
|
|
387
394
|
return [];
|
|
388
395
|
}
|
|
389
396
|
if (event.kind === "thinking") {
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
});
|
|
397
|
+
place.tool.thinking = `${place.tool.thinking ?? ""}${event.text}`;
|
|
398
|
+
return [{ op: "toolThinking", index: place.row, id: parent, text: event.text }];
|
|
393
399
|
}
|
|
394
400
|
if (event.kind === "tool_call") {
|
|
395
401
|
const child = cardOf(event);
|
|
@@ -446,7 +452,7 @@ export class TranscriptFold {
|
|
|
446
452
|
return [];
|
|
447
453
|
}
|
|
448
454
|
mutate(place.tool);
|
|
449
|
-
return [{ op: "tool", index: place.row, tool: structuredClone(place.tool), ...(place.parent === undefined ? {} : { parent: place.parent }) }];
|
|
455
|
+
return [{ op: "tool", index: place.row, tool: structuredClone(ownFields(place.tool)), ...(place.parent === undefined ? {} : { parent: place.parent }) }];
|
|
450
456
|
}
|
|
451
457
|
stampOpener(mutate) {
|
|
452
458
|
if (this.opener === undefined) {
|
|
@@ -479,12 +485,19 @@ export const applyTranscriptPatch = (rows, patch) => {
|
|
|
479
485
|
return rows.map((row, index) => (index === patch.index ? { ...row, text: `${row.text}${patch.text}` } : row));
|
|
480
486
|
case "thinking":
|
|
481
487
|
return rows.map((row, index) => (index === patch.index ? { ...row, thinking: `${row.thinking ?? ""}${patch.text}` } : row));
|
|
488
|
+
case "toolThinking":
|
|
489
|
+
return rows.map((row, index) => (index === patch.index ? { ...row, tools: [...appendToolThinking(row.tools ?? [], patch.id, patch.text)] } : row));
|
|
482
490
|
case "tool":
|
|
483
491
|
return rows.map((row, index) => (index === patch.index ? { ...row, tools: upsertTool(row.tools ?? [], patch.tool, patch.parent) } : row));
|
|
484
492
|
}
|
|
485
493
|
};
|
|
494
|
+
export const appendToolThinking = (tools, id, text) => mapTool(tools, id, (card) => ({ ...card, thinking: `${card.thinking ?? ""}${text}` }));
|
|
486
495
|
export const upsertTool = (tools, tool, parent) => {
|
|
487
|
-
const replaced = mapTool(tools, tool.id, () =>
|
|
496
|
+
const replaced = mapTool(tools, tool.id, (current) => ({
|
|
497
|
+
...tool,
|
|
498
|
+
...(current.children === undefined ? {} : { children: current.children }),
|
|
499
|
+
...(current.thinking === undefined ? {} : { thinking: current.thinking }),
|
|
500
|
+
}));
|
|
488
501
|
if (replaced !== tools) {
|
|
489
502
|
return [...replaced];
|
|
490
503
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcript-fold.js","sourceRoot":"","sources":["../../src/text/transcript-fold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EACH,cAAc,EACd,YAAY,EACZ,kBAAkB,GAMrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgB7D,MAAM,OAAO,GAAG,CAAmB,KAAQ,EAAc,EAAE,CACvD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAe,CAAC;AAEvG,MAAM,MAAM,GAAG,CAAC,KAAiD,EAAkB,EAAE,CAAC,CAAC;IACnF,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;IACxB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACrE,CAAC,CAAC;AAIH,MAAM,QAAQ,GAAG,CAAC,GAA8B,EAAE,IAAY,EAAW,EAAE,CACvE,GAAG,EAAE,IAAI,KAAK,WAAW,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AAGjH,MAAM,KAAK,GAAG,CAAC,GAAkB,EAAW,EAAE,CAC1C,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;IACrB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;IACjC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC;IAC9B,GAAG,CAAC,KAAK,KAAK,SAAS;IACvB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAIvB,MAAM,cAAc,GAAG,CAAC,IAA2E,EAAU,EAAE;IAC3G,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,sBAAsB,CAAC;IACzG,OAAO,IAAI,CAAC,QAAQ;QAChB,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,2JAA2J;QAC1M,CAAC,CAAC,eAAe,IAAI,mFAAmF,CAAC;AACjH,CAAC,CAAC;AAIF,MAAM,QAAQ,GAAG,CAAC,IAAqD,EAAU,EAAE;IAC/E,MAAM,KAAK,GACP,IAAI,CAAC,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC,4FAA4F,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACpJ,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,OAAO,GACT,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,0CAA0C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,4EAA4E;QAC/I,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3E,CAAC,CAAC;AAIF,MAAM,SAAS,GAAG,CAAC,KAA8C,EAAiB,EAAE;IAChF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,8EAA8E,EAAE,CAAC;IACpH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAEhB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,2CAA2C,SAAS;iBAC9G,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;iBAChC,IAAI,CAAC,IAAI,CAAC,yEAAyE;SAC3F,CAAC;IACN,CAAC;IAED,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,sEAAsE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QACxG,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU;KACnF,CAAC;AACN,CAAC,CAAC;AAMF,MAAM,WAAW,GAAG,CAAC,UAAmB,EAAU,EAAE,CAChD,UAAU;IACN,CAAC,CAAC,iHAAiH;IACnH,CAAC,CAAC,mEAAmE,CAAC;AAI9E,MAAM,WAAW,GAAG,CAAC,KAA6C,EAAkC,EAAE,CAClG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC;AAKhE,MAAM,OAAO,GAAG,CAAC,KAA6C,EAAiB,EAAE;IAC7E,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,wFAAwF;gBAC1G,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,yFAAyF;YAC/G,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;YACvD,WAAW,EAAE,IAAI;SACpB,CAAC;IACN,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;IACnF,CAAC;IACD,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,uDAAuD;QAC7E,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC;KACnC,CAAC;AACN,CAAC,CAAC;AAIF,MAAM,QAAQ,GAAG,CAAC,KAA6C,EAAiB,EAAE;IAC9E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAChC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,iBAAiB;YAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,sDAAsD,EAAE,EAAE,CAAC;QAClI,KAAK,sBAAsB;YACvB,OAAO,KAAK,CAAC,UAAU,KAAK,WAAW;gBACnC,CAAC,CAAC;oBACI,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,GAAG,OAAO,yEAAyE;oBACzF,UAAU,EAAE,mBAAmB;iBAClC;gBACH,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,2DAA2D,EAAE,CAAC;QAC1G,KAAK,YAAY;YACb,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC7C;YACI,MAAM;IACd,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,EAAE,CAAC;IAC7F,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC,CAAC;AAGF,MAAM,WAAW,GAAG,CAAC,KAA6C,EAAsB,EAAE;IACtF,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,+BAA+B,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,OAAO,CAAC,GAAG,GAAG,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,uDAAuD,CAAC,CAAC,CAAC,SAAS,CAAC;AACtJ,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,WAA8B,EAAE,SAAkB,EAAiB,EAAE;IAEvH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAClH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AAClJ,CAAC,CAAC;AAEF,MAAM,OAAO,cAAc;IAkBF,GAAG;IAjBf,IAAI,GAAoB,EAAE,CAAC;IAE3B,SAAS,GAAa,EAAE,CAAC;IAE1B,SAAS,GAAG,KAAK,CAAC;IAElB,MAAM,CAAqB;IAClB,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAErC,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,MAAM,CAAqB;IAE3B,KAAK,GAAG,KAAK,CAAC;IAEtB,YACI,OAAiC,EAChB,GAAY;mBAAZ,GAAG;QAEpB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;IAGD,KAAK,CAAC,KAAiB;QACnB,MAAM,MAAM,GAAG,iBAAiB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO,EAAE,CAAC;gBACX,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;gBACrC,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,KAAK,UAAU,EAAE,CAAC;gBACd,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;gBAC9B,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,KAAK,UAAU;gBAEX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBAC5B,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,KAAK,WAAW,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,KAAK,kBAAkB;gBAEnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC/B,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;oBACjC,CAAC;oBACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;oBACrC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,KAAK,UAAU,EAAE,CAAC;gBAEd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACvE,CAAC,CAAC,CAAC;YACP,CAAC;YACD,KAAK,iBAAiB,EAAE,CAAC;gBAErB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;gBAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC9B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAI,OAAO,CAAC,KAAK,CAAiC,EAAE,CAAC;oBAC7F,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBAEX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;gBAClH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBACzE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,OAAO,MAAM,CAAC;gBAClB,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC;gBAChC,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,OAAO;gBACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,YAAY;gBAEb,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC5B,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;oBAClC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,KAAK,UAAU;gBAEX,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrG,KAAK,cAAc;gBAGf,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,KAAK,UAAU;gBACX,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxG,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,KAAK,SAAS;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC,CAAC;YACzF,KAAK,OAAO;gBAGR,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtE,KAAK,MAAM,EAAE,CAAC;gBAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7E,IAAI,QAAQ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,CACZ,KAAK,CAAC,SAAS,EACf;oBACI,IAAI,EAAE;wBACF,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,SAAS;wBACjB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACxE;iBACJ,EACD,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAC9C,CAAC;YACN,CAAC;YACD,KAAK,UAAU;gBACX,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC9B,QAAQ,EAAE;wBACN,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,MAAM,EAAE,SAAS;wBACjB,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;qBACxE;iBACJ,CAAC,CAAC;YACP,KAAK,YAAY,EAAE,CAAC;gBAChB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;gBACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,KAAK,cAAc,EAAE,CAAC;gBAClB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;gBACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,KAAK,eAAe,EAAE,CAAC;gBACnB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;gBACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,KAAK,kBAAkB;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAClI,KAAK,eAAe;gBAChB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/H,KAAK,kBAAkB;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAClI,KAAK,UAAU;gBAEX,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7G,KAAK,oBAAoB;gBACrB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;wBACpC,GAAG,CAAC,eAAe,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAClH,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,KAAK,iBAAiB;gBAClB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;wBACjC,GAAG,CAAC,YAAY,CAAC,OAAO,GAAG;4BACvB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;4BAC9E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;yBACrE,CAAC;oBACN,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,KAAK,oBAAoB;gBACrB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,GAAG,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;wBACpC,GAAG,CAAC,eAAe,CAAC,OAAO,GAAG;4BAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;yBAC9E,CAAC;oBACN,CAAC;gBACL,CAAC,CAAC,CAAC;YAEP,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,UAAU,CAAC;YAChB,KAAK,iBAAiB,CAAC;YACvB,KAAK,WAAW,CAAC;YACjB,KAAK,gBAAgB,CAAC;YACtB,KAAK,eAAe,CAAC;YACrB,KAAK,eAAe,CAAC;YACrB,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACP,OAAO,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAGO,OAAO,CAAC,KAA6C;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAGD,IAAI,CAAC,GAAkB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAMD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC5E,CAAC;IAMD,UAAU,CAAC,KAAiB;QACxB,OAAO,CACH,KAAK,CAAC,IAAI,KAAK,OAAO;YACtB,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;YAC1B,KAAK,CAAC,UAAU,KAAK,IAAI;YACzB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;YAClD,CAAC,IAAI,CAAC,SAAS,CAClB,CAAC;IACN,CAAC;IAKO,OAAO,CAAC,KAA6C;QACzD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAMD,MAAM,CAAC,MAAkB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAKO,UAAU,CAAC,KAAiB,EAAE,MAA0B;QAC5D,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAGO,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,GAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAIO,WAAW;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnC,CAAC;IAGO,OAAO,CAAC,GAAkB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAIO,IAAI,CAAC,SAAiB,EAAE,KAAyB,EAAE,IAAa;QACpE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,MAAoC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC;IAEO,SAAS,CAAC,EAAU,EAAE,MAAsC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAClJ,CAAC;IAEO,WAAW,CAAC,MAAoC;QACpD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,CAAC;IAEO,OAAO,CAAC,KAAa;QACzB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;CACJ;AAGD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,OAAiC,EACjC,MAA6B,EAC7B,MAAM,GAAe,SAAS,EAC9B,GAAY,EACG,EAAE;IACjB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAA8B,EAAE,KAAsB,EAAmB,EAAE;IAC5G,QAAQ,KAAK,CAAC,EAAE,EAAE,CAAC;QACf,KAAK,QAAQ;YACT,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,SAAS;YACV,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClH,KAAK,UAAU;YACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChI,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClJ,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAgC,EAAE,IAAoB,EAAE,MAA0B,EAAoB,EAAE;IAC/H,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3G,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAgC,EAAE,EAAU,EAAE,EAA4C,EAA6B,EAAE;IAC7I,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;YAChD,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAsB,EAAE,CACnE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"transcript-fold.js","sourceRoot":"","sources":["../../src/text/transcript-fold.ts"],"names":[],"mappings":"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"}
|
package/dist/time/zone.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export interface WallRule {
|
|
|
22
22
|
export declare const cronOptions: (tz: Zone) => {
|
|
23
23
|
timezone: string;
|
|
24
24
|
};
|
|
25
|
+
export declare const nextDayStartIn: (at: number, zone: Zone) => number;
|
|
25
26
|
export declare const sameClock: (a: Zone, b: Zone, at?: number) => boolean;
|
|
26
27
|
export declare const zoneLabel: (rule: Zone, reader: Zone, at?: number) => string | undefined;
|
|
27
28
|
//# sourceMappingURL=zone.d.ts.map
|
package/dist/time/zone.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../src/time/zone.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAGzD,eAAO,MAAM,GAAG,EAAY,IAAI,CAAC;AASjC,eAAO,MAAM,MAAM,UAAW,MAAM,KAAG,KAAK,IAAI,IAS/C,CAAC;AAGF,eAAO,MAAM,MAAM,UAAW,MAAM,GAAG,SAAS,KAAG,IAAI,GAAG,SAAuE,CAAC;AAIlI,eAAO,MAAM,UAAU,+EAAkG,CAAC;AAM1H,eAAO,MAAM,SAAS,QAAO,IAAgE,CAAC;AAO9F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE,eAAO,MAAM,cAAc,aAA2E,CAAC;AAGvG,eAAO,MAAM,UAAU,OAAQ,MAAM,QAAQ,IAAI,KAAG,QAC8E,CAAC;AAGnI,eAAO,MAAM,QAAQ,OAAQ,MAAM,KAAG,QAA+D,CAAC;AAStG,eAAO,MAAM,WAAW,OAAQ,MAAM,QAAQ,IAAI,KAAG,MAG5B,CAAC;AAG1B,eAAO,MAAM,UAAU,UAAW,MAAM,GAAG,SAAS,KAAG,QAAQ,GAAG,SAAyG,CAAC;AAO5K,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACrB;AAGD,eAAO,MAAM,WAAW,OAAQ,IAAI,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAwB,CAAC;AAclF,eAAO,MAAM,SAAS,MAAO,IAAI,KAAK,IAAI,OAAM,MAAM,KAAgB,OAAmE,CAAC;AAM1I,eAAO,MAAM,SAAS,SAAU,IAAI,UAAU,IAAI,OAAM,MAAM,KAAgB,MAAM,GAAG,SAAgF,CAAC"}
|
|
1
|
+
{"version":3,"file":"zone.d.ts","sourceRoot":"","sources":["../../src/time/zone.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAGzD,eAAO,MAAM,GAAG,EAAY,IAAI,CAAC;AASjC,eAAO,MAAM,MAAM,UAAW,MAAM,KAAG,KAAK,IAAI,IAS/C,CAAC;AAGF,eAAO,MAAM,MAAM,UAAW,MAAM,GAAG,SAAS,KAAG,IAAI,GAAG,SAAuE,CAAC;AAIlI,eAAO,MAAM,UAAU,+EAAkG,CAAC;AAM1H,eAAO,MAAM,SAAS,QAAO,IAAgE,CAAC;AAO9F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjE,eAAO,MAAM,cAAc,aAA2E,CAAC;AAGvG,eAAO,MAAM,UAAU,OAAQ,MAAM,QAAQ,IAAI,KAAG,QAC8E,CAAC;AAGnI,eAAO,MAAM,QAAQ,OAAQ,MAAM,KAAG,QAA+D,CAAC;AAStG,eAAO,MAAM,WAAW,OAAQ,MAAM,QAAQ,IAAI,KAAG,MAG5B,CAAC;AAG1B,eAAO,MAAM,UAAU,UAAW,MAAM,GAAG,SAAS,KAAG,QAAQ,GAAG,SAAyG,CAAC;AAO5K,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACrB;AAGD,eAAO,MAAM,WAAW,OAAQ,IAAI,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAwB,CAAC;AAclF,eAAO,MAAM,cAAc,OAAQ,MAAM,QAAQ,IAAI,KAAG,MAIvD,CAAC;AAGF,eAAO,MAAM,SAAS,MAAO,IAAI,KAAK,IAAI,OAAM,MAAM,KAAgB,OAAmE,CAAC;AAM1I,eAAO,MAAM,SAAS,SAAU,IAAI,UAAU,IAAI,OAAM,MAAM,KAAgB,MAAM,GAAG,SAAgF,CAAC"}
|
package/dist/time/zone.js
CHANGED
|
@@ -30,6 +30,11 @@ const offsetMinutes = (at, zone) => {
|
|
|
30
30
|
}
|
|
31
31
|
return (match[1] === "-" ? -1 : 1) * (Number(match[2]) * 60 + Number(match[3]));
|
|
32
32
|
};
|
|
33
|
+
export const nextDayStartIn = (at, zone) => {
|
|
34
|
+
const [year = 0, month = 1, day = 1] = civilDayIn(at, zone).split("-").map(Number);
|
|
35
|
+
const midnightUtc = Date.UTC(year, month - 1, day + 1);
|
|
36
|
+
return midnightUtc - offsetMinutes(midnightUtc, zone) * 60_000;
|
|
37
|
+
};
|
|
33
38
|
export const sameClock = (a, b, at = Date.now()) => a === b || offsetMinutes(at, a) === offsetMinutes(at, b);
|
|
34
39
|
export const zoneLabel = (rule, reader, at = Date.now()) => (sameClock(rule, reader, at) ? undefined : rule.replace(/_/g, " "));
|
|
35
40
|
//# sourceMappingURL=zone.js.map
|
package/dist/time/zone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone.js","sourceRoot":"","sources":["../../src/time/zone.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zone.js","sourceRoot":"","sources":["../../src/time/zone.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intentic/sandbox-contract",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.311.0",
|
|
4
4
|
"description": "oRPC wire contract for the intentic sandbox daemon, shared by the daemon and its browser client",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -73,6 +73,17 @@
|
|
|
73
73
|
"default": "./dist/protocol/peer-dial.js"
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
|
+
"./upgrade-relay": {
|
|
77
|
+
"types": "./dist/protocol/upgrade-relay.d.ts",
|
|
78
|
+
"import": {
|
|
79
|
+
"@intentic/src": "./src/protocol/upgrade-relay.ts",
|
|
80
|
+
"default": "./dist/protocol/upgrade-relay.js"
|
|
81
|
+
},
|
|
82
|
+
"require": {
|
|
83
|
+
"@intentic/src": "./src/protocol/upgrade-relay.ts",
|
|
84
|
+
"default": "./dist/protocol/upgrade-relay.js"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
76
87
|
"./peer-mcp-server": {
|
|
77
88
|
"types": "./dist/protocol/peer-mcp-server.d.ts",
|
|
78
89
|
"import": {
|
|
@@ -139,6 +150,17 @@
|
|
|
139
150
|
"default": "./dist/policy/owner-ticket.js"
|
|
140
151
|
}
|
|
141
152
|
},
|
|
153
|
+
"./front-wire": {
|
|
154
|
+
"types": "./dist/front/generated/wire.d.ts",
|
|
155
|
+
"import": {
|
|
156
|
+
"@intentic/src": "./src/front/generated/wire.ts",
|
|
157
|
+
"default": "./dist/front/generated/wire.js"
|
|
158
|
+
},
|
|
159
|
+
"require": {
|
|
160
|
+
"@intentic/src": "./src/front/generated/wire.ts",
|
|
161
|
+
"default": "./dist/front/generated/wire.js"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
142
164
|
"./ingress-protocol": {
|
|
143
165
|
"types": "./dist/protocol/ingress-protocol.d.ts",
|
|
144
166
|
"import": {
|
|
@@ -229,10 +251,10 @@
|
|
|
229
251
|
}
|
|
230
252
|
},
|
|
231
253
|
"dependencies": {
|
|
232
|
-
"@intentic/base": "1.
|
|
233
|
-
"@intentic/constants": "1.
|
|
234
|
-
"@intentic/extension-manifest": "1.
|
|
235
|
-
"@intentic/registry": "1.
|
|
254
|
+
"@intentic/base": "1.311.0",
|
|
255
|
+
"@intentic/constants": "1.311.0",
|
|
256
|
+
"@intentic/extension-manifest": "1.311.0",
|
|
257
|
+
"@intentic/registry": "1.311.0",
|
|
236
258
|
"@orpc/contract": "1.14.13",
|
|
237
259
|
"tslib": "2.8.1",
|
|
238
260
|
"zod": "4.5.4"
|
package/src/chores/stack.test.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { describe, test, expect } from "bun:test";
|
|
2
1
|
import { componentStem, frameworksOf, IDIOM_RULES, idiomRule, UI_FRAMEWORKS, usesTailwind } from "./stack.js";
|
|
3
2
|
|
|
4
3
|
// Guards shell-safety of interpolated patterns (checked unattended on a remote machine) and the stem normalizer below
|
|
@@ -9,7 +9,6 @@ import type {
|
|
|
9
9
|
ProbeResult,
|
|
10
10
|
UiScan,
|
|
11
11
|
} from "../schemas/maintenance.js";
|
|
12
|
-
import { describe, test, expect } from "bun:test";
|
|
13
12
|
import { choreById, CHORES } from "./chores.js";
|
|
14
13
|
import { assessReport, choreAnswer, choreAnswered, ledgerKey, unseenVerdicts } from "./verdict.js";
|
|
15
14
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { procedure } from "../protocol/route-meta.js";
|
|
2
2
|
import { AgentToolChildrenSchema, AgentTranscriptSchema } from "../events/transcript.js";
|
|
3
3
|
import {
|
|
4
|
-
AgentArchiveSchema,
|
|
5
4
|
AgentAssignSchema,
|
|
6
5
|
AgentAutoLandSchema,
|
|
7
6
|
AgentBreakPolicySchema,
|
|
@@ -27,6 +26,7 @@ import { AgentsListSchema } from "../schemas/automations.js";
|
|
|
27
26
|
import { AgentChangesSchema, AgentScratchSchema, AgentHistorySchema } from "../schemas/git/git.js";
|
|
28
27
|
import { FileDiffSchema } from "../schemas/history.js";
|
|
29
28
|
import { OkSchema } from "../schemas/shared.js";
|
|
29
|
+
import { AgentKeepWarmSchema } from "../schemas/keep-warm.js";
|
|
30
30
|
import { ConversationPromptSchema } from "../schemas/system-prompt.js";
|
|
31
31
|
|
|
32
32
|
// Every registered conversation-agent (AgentSummarySchema); an unknown {id} is NOT_FOUND across this whole family.
|
|
@@ -151,6 +151,18 @@ export const agentsContract = {
|
|
|
151
151
|
.meta({ floor: "collaborator" })
|
|
152
152
|
.input(AgentBreakPolicySchema)
|
|
153
153
|
.output(AgentSummarySchema),
|
|
154
|
+
// Legal for a workspace conversation too, and only between turns in effect: a turn starting ends the hold.
|
|
155
|
+
keepWarm: procedure
|
|
156
|
+
.route({
|
|
157
|
+
method: "POST",
|
|
158
|
+
path: "/agents/{id}/keep-warm",
|
|
159
|
+
summary: "Keep this conversation's prompt cache warm while it sits idle",
|
|
160
|
+
description:
|
|
161
|
+
"Re-reads the conversation's cached context shortly before the provider would drop it, until the time asked for, so picking it back up costs a cache read instead of re-sending everything. Each refresh is a forked, unsaved request that adds nothing to the conversation. Stops by itself when the time runs out, when a turn starts, when the account nears its limit, or when the prompt the next turn would send has changed. Refused for a conversation whose cache is already cold or that this sandbox cannot replay. Null stops it.",
|
|
162
|
+
})
|
|
163
|
+
.meta({ floor: "collaborator" })
|
|
164
|
+
.input(AgentKeepWarmSchema)
|
|
165
|
+
.output(AgentSummarySchema),
|
|
154
166
|
seen: procedure
|
|
155
167
|
.route({
|
|
156
168
|
method: "POST",
|
|
@@ -306,7 +318,7 @@ export const agentsContract = {
|
|
|
306
318
|
"The gentle counterpart to discarding. Commits whatever the conversation still has in progress onto its own branch, releases its working copy, and keeps the entry and the record. Its scratch is not committed and goes with the copy. It leaves the live fleet and joins the archive. Refused for a conversation that is running.",
|
|
307
319
|
})
|
|
308
320
|
.meta({ floor: "collaborator", guest: true })
|
|
309
|
-
.input(
|
|
321
|
+
.input(AgentIdsSchema)
|
|
310
322
|
.output(AgentsArchivedSchema),
|
|
311
323
|
unarchive: procedure
|
|
312
324
|
.route({
|
|
@@ -4,6 +4,7 @@ import { LandConflictSchema } from "../schemas/agents.js";
|
|
|
4
4
|
import { ContextTrimSchema } from "../schemas/context-trim.js";
|
|
5
5
|
import { RateLimitInfoSchema } from "../schemas/providers/claude-gate.js";
|
|
6
6
|
import { FastModeStateSchema } from "../schemas/providers/fast-mode.js";
|
|
7
|
+
import { PromptCacheOpeningSchema, PromptFingerprintSchema } from "../schemas/keep-warm.js";
|
|
7
8
|
import { AgentReplySchema, UsageWindowSchema } from "../schemas/providers/plan-limits.js";
|
|
8
9
|
import { SubagentKindSchema, SubagentStatusSchema, SubagentVerificationSchema } from "../schemas/terminal.js";
|
|
9
10
|
import { RetryLadderSchema } from "../schemas/turn-break.js";
|
|
@@ -50,7 +51,8 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
|
|
|
50
51
|
// message to be drawn beside, so this is the only place the reader can learn the turn ran thin.
|
|
51
52
|
ContextTrimSchema.extend({ kind: z.literal("context_trim") }),
|
|
52
53
|
// The SDK's init handshake; carries the model it actually resolved for the turn.
|
|
53
|
-
|
|
54
|
+
// `prompt` names the parts the cache is keyed on, so a later turn can say which of them changed.
|
|
55
|
+
z.object({ kind: z.literal("init"), model: z.string(), prompt: PromptFingerprintSchema.optional() }),
|
|
54
56
|
// The pre-turn snapshot id, emitted once before the provider stream so the client can offer
|
|
55
57
|
// restore-to-before-this-message. Absent on an isolated turn or when the tree was already clean.
|
|
56
58
|
// `index` is the message's position in the transcript, which the rewind route addresses by; absent on a turn with
|
|
@@ -139,7 +141,13 @@ export const AgentEventSchema = z.discriminatedUnion("kind", [
|
|
|
139
141
|
cacheCreationTokens: z.number().optional(),
|
|
140
142
|
durationMs: z.number().optional(),
|
|
141
143
|
numTurns: z.number().optional(),
|
|
144
|
+
// The stream's first request only; a sum of frames keeps the first frame's, never adds them.
|
|
145
|
+
openingCacheReadTokens: z.number().optional(),
|
|
146
|
+
openingCacheCreationTokens: z.number().optional(),
|
|
147
|
+
promptFingerprint: z.string().optional(),
|
|
142
148
|
}),
|
|
149
|
+
// What the turn's first request found in the prompt cache, sent as soon as it is known.
|
|
150
|
+
PromptCacheOpeningSchema.extend({ kind: z.literal("prompt_cache") }),
|
|
143
151
|
// The provider's live answer to whether this turn may run, pushed mid-turn; drives the rate-limited notice, not the
|
|
144
152
|
// headroom readouts.
|
|
145
153
|
RateLimitInfoSchema.extend({ kind: z.literal("rate_limit_info"), account: z.string().optional() }),
|
package/src/events/transcript.ts
CHANGED
|
@@ -311,8 +311,9 @@ export const holdsRequest = (row: TranscriptRequests): boolean => REQUEST_FIELDS
|
|
|
311
311
|
// Whether a row is holding the turn open on a card nobody has answered.
|
|
312
312
|
export const isAwaitingDecision = (row: TranscriptRequests): boolean => REQUEST_FIELDS.some((field) => row[field]?.status === "pending");
|
|
313
313
|
|
|
314
|
-
// One change to a run's rows, so a client keeps rows rather than frames. Prose/thinking append to a row
|
|
315
|
-
// replaces
|
|
314
|
+
// One change to a run's rows, so a client keeps rows rather than frames. Prose/thinking append to a row or a card; a
|
|
315
|
+
// `tool` card replaces its own fields by id, never its nested calls or thinking, which arrive by their own patches;
|
|
316
|
+
// everything else replaces its row; `drop` removes a row that opened and never wrote.
|
|
316
317
|
export const TranscriptPatchSchema = z.discriminatedUnion("op", [
|
|
317
318
|
z.object({ op: z.literal("append").describe("A new row at the end."), row: TranscriptRowSchema }),
|
|
318
319
|
z.object({ op: z.literal("replace").describe("This row, whole, in place of the one at that index."), index: z.number().int().nonnegative(), row: TranscriptRowSchema }),
|
|
@@ -320,7 +321,17 @@ export const TranscriptPatchSchema = z.discriminatedUnion("op", [
|
|
|
320
321
|
z.object({ op: z.literal("text").describe("More of the agent's prose, onto that row's text."), index: z.number().int().nonnegative(), text: z.string() }),
|
|
321
322
|
z.object({ op: z.literal("thinking").describe("More of the agent's reasoning, onto that row's thinking."), index: z.number().int().nonnegative(), text: z.string() }),
|
|
322
323
|
z.object({
|
|
323
|
-
op: z.literal("
|
|
324
|
+
op: z.literal("toolThinking").describe("More of a delegated subagent's reasoning, onto the thinking of the card that started it."),
|
|
325
|
+
index: z.number().int().nonnegative(),
|
|
326
|
+
id: z.string().describe("The card's id, matched wherever it nests."),
|
|
327
|
+
text: z.string(),
|
|
328
|
+
}),
|
|
329
|
+
z.object({
|
|
330
|
+
op: z
|
|
331
|
+
.literal("tool")
|
|
332
|
+
.describe(
|
|
333
|
+
"A tool card's own fields: new, or the latest state of one already there, matched by id wherever it nests. Carries no `children` or `thinking`; a card already there keeps its own.",
|
|
334
|
+
),
|
|
324
335
|
index: z.number().int().nonnegative(),
|
|
325
336
|
tool: TranscriptToolSchema,
|
|
326
337
|
parent: z.string().optional().describe("The card this one nests under, when it is a delegated subagent's own call."),
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
|
2
|
+
|
|
3
|
+
export type Answer = { "answer": "preview", route: PreviewRoute, };
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A PEM certificate chain and its PEM private key.
|
|
7
|
+
*/
|
|
8
|
+
export type Certificate = { certificate: string, privateKey: string, };
|
|
9
|
+
|
|
10
|
+
export type Endpoint = { host: string, port: number, };
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Everything Node sends the front.
|
|
14
|
+
*/
|
|
15
|
+
export type FromNode = { "kind": "hello", build: string, pid: number, } | { "kind": "listen", config: ListenConfig, } | { "kind": "certificate", certificate?: Certificate, } | { "kind": "tunnel", tunnel?: TunnelConfig, } | { "kind": "answer", id: number, answer: Answer, } | { "kind": "refused", id: number, message: string, };
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Request headers only the front sets on what it forwards to Node; it strips them from everything arriving outside.
|
|
19
|
+
* Exported as a literal type, so a Node constant naming one that drifts from this spelling fails to compile.
|
|
20
|
+
*/
|
|
21
|
+
export type FrontHeader = "x-intentic-preview" | "x-intentic-preview-unreachable";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Every port the front binds, as Node's config names them; an absent one is not bound.
|
|
25
|
+
*/
|
|
26
|
+
export type ListenConfig = { daemon: Endpoint, preview?: Endpoint, loopback?: Endpoint,
|
|
27
|
+
/**
|
|
28
|
+
* The 12-hex id every public hostname ends in; without one, a label's prefix alone classifies it.
|
|
29
|
+
*/
|
|
30
|
+
sandboxId?: string,
|
|
31
|
+
/**
|
|
32
|
+
* Origins that may frame a preview besides the preview itself.
|
|
33
|
+
*/
|
|
34
|
+
frameAncestors: Array<string>,
|
|
35
|
+
/**
|
|
36
|
+
* A preview path Node answers whatever its host resolves to.
|
|
37
|
+
*/
|
|
38
|
+
previewProbePath: string, };
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Where a preview host's requests go, as Node resolved it.
|
|
42
|
+
*/
|
|
43
|
+
export type PreviewRoute = { "to": "upstream", upstream: Upstream, } | { "to": "node" };
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A question the front asks Node; the answer carries the same id.
|
|
47
|
+
*/
|
|
48
|
+
export type Question = { "question": "preview", host: string, };
|
|
49
|
+
|
|
50
|
+
export type Scheme = "http" | "https";
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Everything the front sends Node.
|
|
54
|
+
*/
|
|
55
|
+
export type ToNode = { "kind": "ask", id: number, question: Question, } | { "kind": "tunnel", connected: boolean, };
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The ingress tunnel's door and the reachability grant it presents there.
|
|
59
|
+
*/
|
|
60
|
+
export type TunnelConfig = { url: string, grant: string, };
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* A local upstream a preview host relays to.
|
|
64
|
+
*/
|
|
65
|
+
export type Upstream = { host: string, port: number, scheme: Scheme,
|
|
66
|
+
/**
|
|
67
|
+
* Rewrites Host and Origin to `localhost:<port>`, for an app that never agreed to its preview name.
|
|
68
|
+
*/
|
|
69
|
+
localhost: boolean,
|
|
70
|
+
/**
|
|
71
|
+
* Framed by the editor: `frame-ancestors` is set and `x-frame-options` dropped.
|
|
72
|
+
*/
|
|
73
|
+
frameable: boolean, };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { test, expect, afterEach, spyOn, jest } from "bun:test";
|
|
2
1
|
import {
|
|
3
2
|
CI_FIX_PREFIX,
|
|
4
3
|
ciFixConversationId,
|
|
@@ -15,7 +14,7 @@ import { ConversationIdSchema } from "../schemas/agent.js";
|
|
|
15
14
|
|
|
16
15
|
const mockRandomValues = (values: readonly number[]) => {
|
|
17
16
|
const remaining = [...values];
|
|
18
|
-
const getRandomValues = spyOn(crypto, "getRandomValues").mockImplementation(<T extends ArrayBufferView | null>(array: T): T => {
|
|
17
|
+
const getRandomValues = jest.spyOn(crypto, "getRandomValues").mockImplementation(<T extends ArrayBufferView | null>(array: T): T => {
|
|
19
18
|
if (!(array instanceof Uint32Array)) {
|
|
20
19
|
throw new TypeError(`Expected a Uint32Array`);
|
|
21
20
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[
|
|
2
|
+
{ "host": "preview-web-abcdef012345.sbx.example.test", "sandboxId": "abcdef012345", "panel": "web" },
|
|
3
|
+
{ "host": "preview-my-app-abcdef012345.sbx.example.test:443", "sandboxId": "abcdef012345", "panel": "my-app" },
|
|
4
|
+
{ "host": "preview-shop--web-abcdef012345.example.com", "sandboxId": "abcdef012345", "panel": "shop--web" },
|
|
5
|
+
{ "host": "preview-web-0123456789ab.sbx.example.test", "sandboxId": "abcdef012345" },
|
|
6
|
+
{ "host": "preview--abcdef012345.sbx.example.test", "sandboxId": "abcdef012345" },
|
|
7
|
+
{ "host": "preview-x-abcdef012345.sbx.example.test", "sandboxId": "abcdef012345", "panel": "x" },
|
|
8
|
+
{ "host": "port-1a2b3c4d5e6f-abcdef012345.sbx.example.test:8443", "sandboxId": "abcdef012345", "port": "1a2b3c4d5e6f" },
|
|
9
|
+
{ "host": "public-9f8e7d6c5b4a-abcdef012345.sbx.example.test", "sandboxId": "abcdef012345", "public": "9f8e7d6c5b4a" },
|
|
10
|
+
{ "host": "sandbox-abcdef012345.sbx.example.test", "sandboxId": "abcdef012345" },
|
|
11
|
+
{ "host": "app.example.com", "sandboxId": "abcdef012345" },
|
|
12
|
+
{ "host": "preview-web.localhost:8788", "panel": "web" },
|
|
13
|
+
{ "host": "port-a.localhost", "port": "a" },
|
|
14
|
+
{ "host": "public-z.example.com", "public": "z" },
|
|
15
|
+
{ "host": "preview-.localhost" },
|
|
16
|
+
{ "host": "127.0.0.1:8788" },
|
|
17
|
+
{ "host": "[::1]:8788" },
|
|
18
|
+
{ "host": "" },
|
|
19
|
+
{ "host": "Preview-web-abcdef012345.sbx.example.test", "sandboxId": "abcdef012345" }
|
|
20
|
+
]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
2
|
import {
|
|
3
3
|
labelHostname,
|
|
4
4
|
panelFromHost,
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
previewHostname,
|
|
10
10
|
previewLabel,
|
|
11
11
|
previewUrl,
|
|
12
|
+
publicSlotFromHost,
|
|
12
13
|
sandboxHostname,
|
|
13
14
|
sandboxIdFromUrl,
|
|
14
15
|
syncFolder,
|
|
@@ -16,6 +17,24 @@ import {
|
|
|
16
17
|
|
|
17
18
|
const ID = "abc123def456";
|
|
18
19
|
|
|
20
|
+
// The cases the front's Rust router is held to as well (_sandbox/front, route.rs), read from the one file both run.
|
|
21
|
+
interface HostCase {
|
|
22
|
+
readonly host: string;
|
|
23
|
+
readonly sandboxId?: string;
|
|
24
|
+
readonly panel?: string;
|
|
25
|
+
readonly port?: string;
|
|
26
|
+
readonly public?: string;
|
|
27
|
+
}
|
|
28
|
+
const HOST_CASES = JSON.parse(readFileSync(new URL("./hostnames.fixture.json", import.meta.url), "utf8")) as HostCase[];
|
|
29
|
+
|
|
30
|
+
test.each(HOST_CASES)("the shared host cases parse as the front parses them: $host", (hostCase) => {
|
|
31
|
+
expect({
|
|
32
|
+
panel: panelFromHost(hostCase.host, hostCase.sandboxId),
|
|
33
|
+
port: portSlotFromHost(hostCase.host, hostCase.sandboxId),
|
|
34
|
+
public: publicSlotFromHost(hostCase.host, hostCase.sandboxId),
|
|
35
|
+
}).toEqual({ panel: hostCase.panel, port: hostCase.port, public: hostCase.public });
|
|
36
|
+
});
|
|
37
|
+
|
|
19
38
|
test("preview and port hostnames round-trip through their Host-header parsers", () => {
|
|
20
39
|
expect(panelFromHost(`${previewHostname("shop--web", ID, "example.com")}:443`, ID)).toBe("shop--web");
|
|
21
40
|
expect(portSlotFromHost(`${portHostname("a", ID, "example.com")}:443`, ID)).toBe("a");
|