@open-mercato/cezar 0.8.0 → 0.9.0-pr470.650
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 +109 -14
- package/dist/agent-config/catalog.d.ts +64 -0
- package/dist/agent-config/catalog.js +205 -0
- package/dist/agent-config/catalog.js.map +1 -0
- package/dist/agent-config/files.d.ts +46 -0
- package/dist/agent-config/files.js +119 -0
- package/dist/agent-config/files.js.map +1 -0
- package/dist/agent-config/seed.d.ts +7 -0
- package/dist/agent-config/seed.js +90 -0
- package/dist/agent-config/seed.js.map +1 -0
- package/dist/agent-config/service.d.ts +44 -0
- package/dist/agent-config/service.js +71 -0
- package/dist/agent-config/service.js.map +1 -0
- package/dist/agent-config/validate.d.ts +21 -0
- package/dist/agent-config/validate.js +76 -0
- package/dist/agent-config/validate.js.map +1 -0
- package/dist/config.d.ts +34 -4
- package/dist/config.js +97 -2
- package/dist/config.js.map +1 -1
- package/dist/core/agent-env.js +21 -15
- package/dist/core/agent-env.js.map +1 -1
- package/dist/core/agent-runner.d.ts +16 -6
- package/dist/core/agent-runner.js +15 -3
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/ask.d.ts +184 -0
- package/dist/core/ask.js +97 -0
- package/dist/core/ask.js.map +1 -0
- package/dist/core/backend-detect.d.ts +5 -5
- package/dist/core/backend-detect.js +37 -5
- package/dist/core/backend-detect.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +17 -2
- package/dist/core/claude-cli-runner.js +8 -3
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/claude-ui-mapper.d.ts +9 -0
- package/dist/core/claude-ui-mapper.js +34 -3
- package/dist/core/claude-ui-mapper.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +15 -3
- package/dist/core/codex-app-server-runner.js +158 -127
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +30 -0
- package/dist/core/codex-app-server-transport.js +136 -0
- package/dist/core/codex-app-server-transport.js.map +1 -0
- package/dist/core/codex-model-catalog.d.ts +10 -0
- package/dist/core/codex-model-catalog.js +110 -0
- package/dist/core/codex-model-catalog.js.map +1 -0
- package/dist/core/codex-ui-mapper.d.ts +47 -2
- package/dist/core/codex-ui-mapper.js +247 -29
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/model-identity.d.ts +113 -0
- package/dist/core/model-identity.js +119 -0
- package/dist/core/model-identity.js.map +1 -0
- package/dist/core/model-presets.d.ts +15 -0
- package/dist/core/model-presets.js +43 -0
- package/dist/core/model-presets.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +1 -1
- package/dist/core/opencode-server-runner.js +7 -12
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/opencode-ui-mapper.d.ts +11 -7
- package/dist/core/opencode-ui-mapper.js +62 -19
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/pi-runner.d.ts +40 -0
- package/dist/core/pi-runner.js +49 -0
- package/dist/core/pi-runner.js.map +1 -0
- package/dist/core/process-usage.d.ts +3 -0
- package/dist/core/process-usage.js +12 -0
- package/dist/core/process-usage.js.map +1 -1
- package/dist/core/runner-factory.js +3 -0
- package/dist/core/runner-factory.js.map +1 -1
- package/dist/core/runner-model-catalog.d.ts +28 -0
- package/dist/core/runner-model-catalog.js +62 -0
- package/dist/core/runner-model-catalog.js.map +1 -0
- package/dist/core/secret-redaction.js.map +1 -1
- package/dist/core/tool-display.d.ts +2 -2
- package/dist/core/tool-display.js +24 -6
- package/dist/core/tool-display.js.map +1 -1
- package/dist/core/ui-events.d.ts +29 -2
- package/dist/git-worktree.d.ts +37 -4
- package/dist/git-worktree.js +175 -12
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +2 -2
- package/dist/handoff.js +2 -0
- package/dist/handoff.js.map +1 -1
- package/dist/index.js +55 -5
- package/dist/index.js.map +1 -1
- package/dist/install-as-command.d.ts +1 -1
- package/dist/install-as-command.js.map +1 -1
- package/dist/paths.d.ts +32 -2
- package/dist/paths.js +47 -2
- package/dist/paths.js.map +1 -1
- package/dist/runs/auto-name.js.map +1 -1
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/review-gate.js.map +1 -1
- package/dist/runs/store.d.ts +154 -60
- package/dist/runs/store.js +103 -19
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/task-markers.d.ts +6 -2
- package/dist/runs/task-markers.js +25 -4
- package/dist/runs/task-markers.js.map +1 -1
- package/dist/runs/ui-event-sink.js.map +1 -1
- package/dist/server/capabilities.d.ts +22 -6
- package/dist/server/capabilities.js +85 -8
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/checkout.d.ts +128 -0
- package/dist/server/checkout.js +296 -0
- package/dist/server/checkout.js.map +1 -0
- package/dist/server/forge/github.d.ts +281 -10
- package/dist/server/forge/github.js +539 -23
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/forge/types.d.ts +48 -1
- package/dist/server/fs-browse.d.ts +105 -0
- package/dist/server/fs-browse.js +182 -0
- package/dist/server/fs-browse.js.map +1 -0
- package/dist/server/git-changes.d.ts +12 -3
- package/dist/server/git-changes.js +23 -5
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/github.d.ts +1 -1
- package/dist/server/open-in-app.d.ts +2 -1
- package/dist/server/open-in-app.js +1 -0
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/project-context.d.ts +103 -0
- package/dist/server/project-context.js +153 -0
- package/dist/server/project-context.js.map +1 -0
- package/dist/server/server.d.ts +110 -0
- package/dist/server/server.js +1557 -215
- package/dist/server/server.js.map +1 -1
- package/dist/server/wsl.js.map +1 -1
- package/dist/server-install/platforms/macosx-ngrok.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.js +7 -0
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
- package/dist/server-install/state.js.map +1 -1
- package/dist/server-install/steps.js +6 -2
- package/dist/server-install/steps.js.map +1 -1
- package/dist/server-install/types.d.ts +28 -28
- package/dist/server-install/ui.js.map +1 -1
- package/dist/skills-banner.js.map +1 -1
- package/dist/skills-remote.d.ts +10 -4
- package/dist/skills-remote.js +31 -14
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.d.ts +29 -0
- package/dist/skills.js +72 -14
- package/dist/skills.js.map +1 -1
- package/dist/todos.d.ts +9 -7
- package/dist/todos.js +38 -19
- package/dist/todos.js.map +1 -1
- package/dist/workflows/run.d.ts +145 -10
- package/dist/workflows/run.js +608 -66
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/types.d.ts +42 -42
- package/dist/workflows/types.js +2 -1
- package/dist/workflows/types.js.map +1 -1
- package/dist/workspace/config.d.ts +251 -0
- package/dist/workspace/config.js +162 -0
- package/dist/workspace/config.js.map +1 -0
- package/dist/workspace/migrations.d.ts +45 -0
- package/dist/workspace/migrations.js +132 -0
- package/dist/workspace/migrations.js.map +1 -0
- package/dist/workspace/projects-cli.d.ts +23 -0
- package/dist/workspace/projects-cli.js +105 -0
- package/dist/workspace/projects-cli.js.map +1 -0
- package/dist/workspace/projects.d.ts +81 -0
- package/dist/workspace/projects.js +214 -0
- package/dist/workspace/projects.js.map +1 -0
- package/dist/workspace/semaphore.d.ts +77 -0
- package/dist/workspace/semaphore.js +57 -0
- package/dist/workspace/semaphore.js.map +1 -0
- package/dist/workspace/ui-state.d.ts +23 -0
- package/dist/workspace/ui-state.js +42 -0
- package/dist/workspace/ui-state.js.map +1 -0
- package/package.json +3 -2
- package/scripts/mock-claude.mjs +136 -2
- package/web/dist/assets/arrow-left-CnSdp92h.js +1 -0
- package/web/dist/assets/centered-state-NF79blq7.js +43 -0
- package/web/dist/assets/{chunk-BO2N2NFS-BN7h-q1E.js → chunk-BO2N2NFS-DtrdTCWa.js} +4 -4
- package/web/dist/assets/commit-list-CL8vSWGw.js +1 -0
- package/web/dist/assets/compare-variants-mI-MnhuR.js +1 -0
- package/web/dist/assets/diff-view-Bhfvnnn9.js +6 -0
- package/web/dist/assets/dist-COA_NSud.js +1 -0
- package/web/dist/assets/ellipsis-vertical-CNnSLn5a.js +1 -0
- package/web/dist/assets/{file-tuE95HNX.js → file-D4GBh1ao.js} +1 -1
- package/web/dist/assets/{git-pull-request-BztcgsRZ.js → git-pull-request-DnR8Xh4_.js} +1 -1
- package/web/dist/assets/git-toolbar-rVtFyL4t.js +1 -0
- package/web/dist/assets/github-_t0ceKcO.js +1 -0
- package/web/dist/assets/{highlighted-body-OFNGDK62-CJIHtxqW.js → highlighted-body-OFNGDK62-BuFJwunK.js} +1 -1
- package/web/dist/assets/{image-preview-Ca0UgThg.js → image-preview-DEhW0TFz.js} +1 -1
- package/web/dist/assets/index-BfXFhAGQ.js +30 -0
- package/web/dist/assets/index-Mov2Rrbw.css +2 -0
- package/web/dist/assets/lib-DPEZDBUN.js +1 -0
- package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +1 -0
- package/web/dist/assets/project-router-CBzGUqvS.js +1 -0
- package/web/dist/assets/{refresh-cw-B4NW5q60.js → refresh-cw-BT8E96Tm.js} +1 -1
- package/web/dist/assets/repo-git-C3dJiX3j.js +1 -0
- package/web/dist/assets/{run-diff-BKpV1kGk.js → run-diff-HEZcHwRr.js} +3 -3
- package/web/dist/assets/run-header-DldbROhB.js +1 -0
- package/web/dist/assets/{search-x-C6xG26dv.js → search-x-BDjaMrzG.js} +1 -1
- package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +1 -0
- package/web/dist/assets/skills-BIg29xLt.js +1 -0
- package/web/dist/assets/{square-terminal-D9l_Xx7B.js → square-terminal-Ckjjn0vb.js} +1 -1
- package/web/dist/assets/tab-link-DTQ9FBZY.js +1 -0
- package/web/dist/assets/task-changes-DRhQVnFN.js +1 -0
- package/web/dist/assets/task-commits-5StODPII.js +1 -0
- package/web/dist/assets/task-files-BuylxobG.js +2 -0
- package/web/dist/assets/task-thread-DnHR0k7k.js +9 -0
- package/web/dist/assets/textarea-Bj_LCreg.js +1 -0
- package/web/dist/assets/toml-CcmNWLt0.js +1 -0
- package/web/dist/assets/{trash-2-De8Z5Y5-.js → trash-2-DAyZ0VSi.js} +1 -1
- package/web/dist/assets/{triangle-alert-DJUyRhTV.js → triangle-alert-Uy8rokUh.js} +1 -1
- package/web/dist/assets/{upload-yxUM9nk5.js → upload-CDdyPPo_.js} +1 -1
- package/web/dist/assets/use-desktop-TyHAXhMR.js +3 -0
- package/web/dist/assets/utils-B8s5qIcK.js +1 -0
- package/web/dist/assets/workflows-CwDYZLvG.js +11 -0
- package/web/dist/assets/zoomable-image-PEDOqyLQ.js +1 -0
- package/web/dist/index.html +10 -19
- package/web/dist/assets/arrow-left-bEsJ-6jp.js +0 -1
- package/web/dist/assets/centered-state-DzJJpXgm.js +0 -43
- package/web/dist/assets/command-eBgVGftz.js +0 -1
- package/web/dist/assets/compare-variants-DhqGJuHF.js +0 -1
- package/web/dist/assets/dialog-Bf1Cpc3n.js +0 -1
- package/web/dist/assets/diff-view-Cqc8LRkj.js +0 -4
- package/web/dist/assets/dist-M2QYGAcm.js +0 -1
- package/web/dist/assets/dist-ZAIqO3UX.js +0 -1
- package/web/dist/assets/folder-20ea3OVM.js +0 -1
- package/web/dist/assets/git-toolbar-DAlBoSP5.js +0 -1
- package/web/dist/assets/github--sfM4X3j.js +0 -1
- package/web/dist/assets/highlighter-ZVyRi_Cx.js +0 -3
- package/web/dist/assets/index-DlKq8gF4.css +0 -2
- package/web/dist/assets/index-h4gyDJyh.js +0 -11
- package/web/dist/assets/loader-circle-Bnw4ga19.js +0 -1
- package/web/dist/assets/markdown-DxmCMr30.js +0 -1
- package/web/dist/assets/mermaid-GHXKKRXX-DghlHZS5.js +0 -1
- package/web/dist/assets/prompt-templates-CsGr-FXH.js +0 -15
- package/web/dist/assets/repo-git-CHF2oip_.js +0 -1
- package/web/dist/assets/run-header-3CGn6FAM.js +0 -1
- package/web/dist/assets/skill-detail-DsD4-dGp.js +0 -1
- package/web/dist/assets/skill-empty-hint-Cl3ESoPu.js +0 -1
- package/web/dist/assets/skills-5kRcjM1J.js +0 -1
- package/web/dist/assets/skills-B13iqWAN.js +0 -1
- package/web/dist/assets/tab-link-DkVxOa-q.js +0 -1
- package/web/dist/assets/task-changes-DtMiVVwO.js +0 -1
- package/web/dist/assets/task-commits-VbSLn_tW.js +0 -1
- package/web/dist/assets/task-files-qYDBG3Mx.js +0 -2
- package/web/dist/assets/task-thread-BfGERKlB.js +0 -7
- package/web/dist/assets/tasks-table-C5fwJmZ7.js +0 -1
- package/web/dist/assets/use-desktop-6PwFeCW3.js +0 -3
- package/web/dist/assets/utils-CzkLr94M.js +0 -1
- package/web/dist/assets/workflows-CnTcKlfV.js +0 -11
- package/web/dist/assets/x-DaR4ZfE-.js +0 -1
- package/web/dist/assets/zoomable-image-B-76XMUw.js +0 -1
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* replaying wire-faithful frame sequences live in `__fixtures__/codex/`.
|
|
10
10
|
*
|
|
11
11
|
* Robustness rule: input is untrusted wire data — the mapper never throws;
|
|
12
|
-
* responses, server→client requests (
|
|
13
|
-
*
|
|
12
|
+
* responses, server→client requests (handled by the session transport) and
|
|
13
|
+
* unknown methods map to zero events.
|
|
14
14
|
*
|
|
15
15
|
* State is explicit and treated as immutable: callers thread the returned
|
|
16
16
|
* `state` into the next call. Ids are deterministic — codex items and turns
|
|
@@ -29,7 +29,10 @@ export function createCodexUiState() {
|
|
|
29
29
|
currentTurnId: null,
|
|
30
30
|
knownItems: new Set(),
|
|
31
31
|
outputs: new Map(),
|
|
32
|
+
reasonings: new Map(),
|
|
32
33
|
planFromNotification: false,
|
|
34
|
+
reviewItemId: null,
|
|
35
|
+
collabTasks: new Map(),
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
@@ -50,8 +53,7 @@ export function codexSessionStarted(threadId, state) {
|
|
|
50
53
|
export function mapCodexNotification(frame, state) {
|
|
51
54
|
if (!isRecord(frame) || typeof frame.method !== 'string')
|
|
52
55
|
return { events: [], state };
|
|
53
|
-
//
|
|
54
|
-
// approval prompts) — reserved for `permission.requested` later.
|
|
56
|
+
// Server requests are answered by CodexSession, not the notification mapper.
|
|
55
57
|
if (frame.id !== undefined)
|
|
56
58
|
return { events: [], state };
|
|
57
59
|
const params = isRecord(frame.params) ? frame.params : {};
|
|
@@ -75,9 +77,10 @@ export function mapCodexNotification(frame, state) {
|
|
|
75
77
|
case 'item/agentMessage/delta':
|
|
76
78
|
return mapDelta(params, state, 'text');
|
|
77
79
|
case 'item/reasoning/textDelta':
|
|
80
|
+
return mapDelta(params, state, 'reasoning', 'text');
|
|
78
81
|
case 'item/reasoning/summaryDelta':
|
|
79
82
|
case 'item/reasoning/summaryTextDelta':
|
|
80
|
-
return mapDelta(params, state, 'reasoning');
|
|
83
|
+
return mapDelta(params, state, 'reasoning', 'summary');
|
|
81
84
|
case 'item/commandExecution/outputDelta':
|
|
82
85
|
return mapDelta(params, state, 'output');
|
|
83
86
|
case 'thread/tokenUsage/updated':
|
|
@@ -94,15 +97,37 @@ function mapTurnStarted(params, state) {
|
|
|
94
97
|
return {
|
|
95
98
|
events: [{ type: 'turn.started', turnId }],
|
|
96
99
|
// planFromNotification is turn-scoped — a new turn re-opens the item arm.
|
|
97
|
-
|
|
100
|
+
// So are the reasoning accumulators: an interrupted item never completes,
|
|
101
|
+
// so its text would otherwise leak into a later turn that reuses the id
|
|
102
|
+
// and pin whole chains of thought in memory for the session (#528).
|
|
103
|
+
state: { ...state, turnSeq, currentTurnId: turnId, planFromNotification: false, reasonings: new Map() },
|
|
98
104
|
};
|
|
99
105
|
}
|
|
100
106
|
function mapTurnEnd(params, state, failed) {
|
|
101
107
|
let turnSeq = state.turnSeq;
|
|
102
108
|
const turnId = turnIdOf(params) ?? state.currentTurnId ?? `turn_${++turnSeq}`;
|
|
109
|
+
// A review span still open when the turn ends never gets its `exitedReviewMode` — an
|
|
110
|
+
// interrupted, cancelled or failed turn simply stops. Close it here, or the item stays
|
|
111
|
+
// `running` forever and the Agents dock reads a finished run as a live fan-out (#474).
|
|
112
|
+
// The status follows the turn: a turn that failed did not complete its review.
|
|
113
|
+
const events = [];
|
|
114
|
+
if (state.reviewItemId !== null) {
|
|
115
|
+
events.push({
|
|
116
|
+
type: 'item.completed',
|
|
117
|
+
item: {
|
|
118
|
+
kind: 'tool',
|
|
119
|
+
id: state.reviewItemId,
|
|
120
|
+
name: 'enteredReviewMode',
|
|
121
|
+
toolKind: 'task',
|
|
122
|
+
title: 'Review',
|
|
123
|
+
status: failed ? 'failed' : 'completed',
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
events.push({ type: 'turn.completed', turnId, stopReason: turnStopReason(params, failed) });
|
|
103
128
|
return {
|
|
104
|
-
events
|
|
105
|
-
state: { ...state, turnSeq, currentTurnId: null },
|
|
129
|
+
events,
|
|
130
|
+
state: { ...state, turnSeq, currentTurnId: null, reviewItemId: null },
|
|
106
131
|
};
|
|
107
132
|
}
|
|
108
133
|
/** §7.1: turn/completed→end_turn, turn/failed→error — except an interrupted
|
|
@@ -212,26 +237,172 @@ function mapItemLifecycle(params, state, eventType) {
|
|
|
212
237
|
const id = str(raw.id);
|
|
213
238
|
if (id === undefined)
|
|
214
239
|
return { events: [], state };
|
|
240
|
+
// Review mode is a PAIR of frames describing one span of work — folded into a
|
|
241
|
+
// single lifecycle before the generic arm, which knows only one frame at a time.
|
|
242
|
+
if (type === 'enteredReviewMode' || type === 'exitedReviewMode') {
|
|
243
|
+
return mapReviewMode(raw, id, type, eventType, state);
|
|
244
|
+
}
|
|
215
245
|
const item = type === 'agentMessage'
|
|
216
246
|
? messageItem(raw, id)
|
|
217
247
|
: type === 'reasoning'
|
|
218
|
-
? reasoningItem(raw, id)
|
|
248
|
+
? reasoningItem(raw, id, state)
|
|
219
249
|
: toolItem(raw, id, type, eventType, state);
|
|
250
|
+
if (type === 'collabAgentToolCall' || type === 'collabToolCall') {
|
|
251
|
+
return mapCollabToolCall(raw, id, eventType, state);
|
|
252
|
+
}
|
|
253
|
+
const parentItemId = collabParentItemId(params, state);
|
|
254
|
+
if (parentItemId !== undefined)
|
|
255
|
+
item.parentItemId = parentItemId;
|
|
220
256
|
const events = [{ type: eventType, item }];
|
|
221
257
|
// Track live ids (for delta synthesis) and drop bookkeeping on completion.
|
|
222
258
|
if (eventType === 'item.completed') {
|
|
223
|
-
if (!state.knownItems.has(id) && !state.outputs.has(id))
|
|
259
|
+
if (!state.knownItems.has(id) && !state.outputs.has(id) && !state.reasonings.has(id)) {
|
|
224
260
|
return { events, state };
|
|
261
|
+
}
|
|
225
262
|
const knownItems = new Set(state.knownItems);
|
|
226
263
|
knownItems.delete(id);
|
|
227
264
|
const outputs = new Map(state.outputs);
|
|
228
265
|
outputs.delete(id);
|
|
229
|
-
|
|
266
|
+
const reasonings = new Map(state.reasonings);
|
|
267
|
+
reasonings.delete(id);
|
|
268
|
+
return { events, state: { ...state, knownItems, outputs, reasonings } };
|
|
230
269
|
}
|
|
231
270
|
if (state.knownItems.has(id))
|
|
232
271
|
return { events, state };
|
|
233
272
|
return { events, state: { ...state, knownItems: new Set(state.knownItems).add(id) } };
|
|
234
273
|
}
|
|
274
|
+
/** A spawn creates one task row; later send/wait/resume/close calls update the
|
|
275
|
+
* same row through receiver-thread correlation instead of creating duplicates. */
|
|
276
|
+
function mapCollabToolCall(raw, id, eventType, state) {
|
|
277
|
+
const operation = str(raw.tool) ?? str(raw.operation);
|
|
278
|
+
const receiverIds = stringArray(raw.receiverThreadIds ?? raw.receiver_thread_ids);
|
|
279
|
+
const isSpawn = operation === 'spawnAgent' || operation === 'spawn_agent';
|
|
280
|
+
if (isSpawn) {
|
|
281
|
+
const prompt = str(raw.prompt);
|
|
282
|
+
const model = str(raw.model);
|
|
283
|
+
const task = { itemId: id, ...(prompt ? { prompt } : {}), ...(model ? { model } : {}) };
|
|
284
|
+
let collabTasks = state.collabTasks;
|
|
285
|
+
if (receiverIds.length > 0) {
|
|
286
|
+
const next = new Map(state.collabTasks);
|
|
287
|
+
for (const threadId of receiverIds)
|
|
288
|
+
next.set(threadId, task);
|
|
289
|
+
collabTasks = next;
|
|
290
|
+
}
|
|
291
|
+
const status = collabStatus(raw, receiverIds, eventType);
|
|
292
|
+
const mappedType = eventType === 'item.started'
|
|
293
|
+
? eventType
|
|
294
|
+
: status === 'running' || status === 'pending' ? 'item.updated' : 'item.completed';
|
|
295
|
+
return {
|
|
296
|
+
events: [{ type: mappedType, item: collabTaskItem(task, status) }],
|
|
297
|
+
state: { ...state, collabTasks },
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
const tasks = new Map();
|
|
301
|
+
for (const threadId of receiverIds) {
|
|
302
|
+
const task = state.collabTasks.get(threadId);
|
|
303
|
+
if (task)
|
|
304
|
+
tasks.set(task.itemId, task);
|
|
305
|
+
}
|
|
306
|
+
if (tasks.size === 0)
|
|
307
|
+
return { events: [], state };
|
|
308
|
+
const status = collabStatus(raw, receiverIds, eventType);
|
|
309
|
+
const mappedType = status === 'running' || status === 'pending' ? 'item.updated' : 'item.completed';
|
|
310
|
+
return {
|
|
311
|
+
events: [...tasks.values()].map((task) => ({ type: mappedType, item: collabTaskItem(task, status) })),
|
|
312
|
+
state,
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function collabTaskItem(task, status) {
|
|
316
|
+
const display = toolDisplay('Task', task.prompt ? { description: task.prompt } : undefined);
|
|
317
|
+
const input = {};
|
|
318
|
+
if (task.prompt)
|
|
319
|
+
input.prompt = task.prompt;
|
|
320
|
+
if (task.model)
|
|
321
|
+
input.model = task.model;
|
|
322
|
+
return {
|
|
323
|
+
kind: 'tool', id: task.itemId, name: 'spawnAgent', toolKind: 'task', title: display.title, status,
|
|
324
|
+
...(Object.keys(input).length > 0 ? { input } : {}),
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
function collabStatus(raw, receiverIds, eventType) {
|
|
328
|
+
const states = isRecord(raw.agentsStates) ? raw.agentsStates
|
|
329
|
+
: isRecord(raw.agents_states) ? raw.agents_states : undefined;
|
|
330
|
+
const statuses = receiverIds
|
|
331
|
+
.map((threadId) => (states && isRecord(states[threadId]) ? states[threadId].status : undefined))
|
|
332
|
+
.filter((status) => typeof status === 'string');
|
|
333
|
+
if (statuses.some((status) => status === 'errored' || status === 'notFound' || status === 'not_found'))
|
|
334
|
+
return 'failed';
|
|
335
|
+
if (statuses.some((status) => status === 'interrupted'))
|
|
336
|
+
return 'declined';
|
|
337
|
+
if (statuses.length > 0 && statuses.every((status) => status === 'completed' || status === 'shutdown'))
|
|
338
|
+
return 'completed';
|
|
339
|
+
if (statuses.some((status) => status === 'running' || status === 'pendingInit' || status === 'pending_init'))
|
|
340
|
+
return 'running';
|
|
341
|
+
return toolStatus(raw, eventType);
|
|
342
|
+
}
|
|
343
|
+
function collabParentItemId(params, state) {
|
|
344
|
+
const threadId = threadIdOf(params);
|
|
345
|
+
return threadId ? state.collabTasks.get(threadId)?.itemId : undefined;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* §7.1: review-mode items → tool(kind task) — but ONE item for the pair, not two.
|
|
349
|
+
*
|
|
350
|
+
* `enteredReviewMode` opens the item (`running`); `exitedReviewMode` completes
|
|
351
|
+
* **that same id**, so the cockpit sees one "Review" span with a lifecycle instead
|
|
352
|
+
* of two childless task items that would read as two sub-agents (spec
|
|
353
|
+
* `.ai/specs/2026-07-20-grouped-subagent-display.md` §"Codex-mapper fix", #474).
|
|
354
|
+
*
|
|
355
|
+
* The fallback matters: an exit with no open item — a resumed thread, a replay that
|
|
356
|
+
* starts mid-review — still maps to its own completed item, so no frame is dropped.
|
|
357
|
+
*/
|
|
358
|
+
function mapReviewMode(raw, id, type, eventType, state) {
|
|
359
|
+
const reviewItem = (itemId, name, status) => ({
|
|
360
|
+
kind: 'tool',
|
|
361
|
+
id: itemId,
|
|
362
|
+
name,
|
|
363
|
+
toolKind: 'task',
|
|
364
|
+
// One stable title across the lifecycle: the row must not rename itself on exit.
|
|
365
|
+
title: 'Review',
|
|
366
|
+
status,
|
|
367
|
+
});
|
|
368
|
+
if (type === 'enteredReviewMode') {
|
|
369
|
+
const status = toolStatus(raw, eventType);
|
|
370
|
+
const events = [];
|
|
371
|
+
// A second entered frame with no intervening exit displaces the open span. Settle the
|
|
372
|
+
// displaced item rather than leaking a permanently `running` row — the same rule the
|
|
373
|
+
// opencode mapper's subtask slot follows.
|
|
374
|
+
if (state.reviewItemId !== null && state.reviewItemId !== id) {
|
|
375
|
+
events.push({
|
|
376
|
+
type: 'item.completed',
|
|
377
|
+
item: reviewItem(state.reviewItemId, 'enteredReviewMode', 'completed'),
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
events.push({ type: eventType, item: reviewItem(id, type, status) });
|
|
381
|
+
// Latch on the RESOLVED status, not the event phase: an entered frame that already
|
|
382
|
+
// carries a terminal wire status closes the span whichever lifecycle phase it arrived in,
|
|
383
|
+
// and one that is still in progress stays open even on an `item/completed` frame.
|
|
384
|
+
const settled = status !== 'running' && status !== 'pending';
|
|
385
|
+
return { events, state: { ...state, reviewItemId: settled ? null : id } };
|
|
386
|
+
}
|
|
387
|
+
const openId = state.reviewItemId;
|
|
388
|
+
if (openId === null) {
|
|
389
|
+
// Unpaired exit — today's shape, under the exit frame's own id.
|
|
390
|
+
return {
|
|
391
|
+
events: [{ type: 'item.completed', item: reviewItem(id, type, toolStatus(raw, 'item.completed')) }],
|
|
392
|
+
state,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
return {
|
|
396
|
+
events: [
|
|
397
|
+
{
|
|
398
|
+
type: 'item.completed',
|
|
399
|
+
// The item was introduced by the entered frame, so it keeps that identity.
|
|
400
|
+
item: reviewItem(openId, 'enteredReviewMode', toolStatus(raw, 'item.completed')),
|
|
401
|
+
},
|
|
402
|
+
],
|
|
403
|
+
state: { ...state, reviewItemId: null },
|
|
404
|
+
};
|
|
405
|
+
}
|
|
235
406
|
/** `agentMessage` → message item; `phase` commentary|final_answer→'commentary'|'final'. */
|
|
236
407
|
function messageItem(raw, id) {
|
|
237
408
|
const item = {
|
|
@@ -246,14 +417,55 @@ function messageItem(raw, id) {
|
|
|
246
417
|
item.phase = 'final';
|
|
247
418
|
return item;
|
|
248
419
|
}
|
|
249
|
-
/** `reasoning` → reasoning item
|
|
250
|
-
|
|
251
|
-
|
|
420
|
+
/** `reasoning` → reasoning item. Precedence, most authoritative first:
|
|
421
|
+
* wire `content` → streamed raw chain of thought → the fuller of the wire
|
|
422
|
+
* `summary` and the streamed summary.
|
|
423
|
+
*
|
|
424
|
+
* The accumulators matter on `item.completed`: deltas never reach disk, so a
|
|
425
|
+
* completed snapshot without `content` would otherwise persist the short
|
|
426
|
+
* summary (or nothing) and the row would read back empty after a reload
|
|
427
|
+
* (#528). They are consulted on `item.started` too — a delta can outrun its
|
|
428
|
+
* `item/started`, and re-emitting an empty snapshot would blank the row the
|
|
429
|
+
* synthesized item already filled.
|
|
430
|
+
*
|
|
431
|
+
* Summary picks the LONGER of the two sources rather than preferring the
|
|
432
|
+
* stream: a mapper attached mid-turn, or any dropped frame, leaves a partial
|
|
433
|
+
* accumulator that must not overwrite a complete `summary` from the wire. */
|
|
434
|
+
function reasoningItem(raw, id, state) {
|
|
435
|
+
const streamed = state.reasonings.get(id);
|
|
436
|
+
// app-server v2 snapshots use arrays for both fields. Deltas remain scalar
|
|
437
|
+
// strings, and older recorded transcripts may still contain scalar snapshots,
|
|
438
|
+
// so accept both without weakening the untrusted-wire boundary.
|
|
439
|
+
const summary = longer(reasoningSnapshotText(raw.summary), str(streamed?.summary));
|
|
440
|
+
return {
|
|
441
|
+
kind: 'reasoning',
|
|
442
|
+
id,
|
|
443
|
+
text: reasoningSnapshotText(raw.content) ?? str(streamed?.text) ?? summary ?? '',
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
/** Join app-server reasoning parts without flattening their boundaries. Scalar
|
|
447
|
+
* strings remain accepted for replay compatibility with older transcripts. */
|
|
448
|
+
function reasoningSnapshotText(value) {
|
|
449
|
+
if (typeof value === 'string')
|
|
450
|
+
return str(value);
|
|
451
|
+
if (!Array.isArray(value))
|
|
452
|
+
return undefined;
|
|
453
|
+
const parts = value.filter((part) => typeof part === 'string' && part !== '');
|
|
454
|
+
return parts.length > 0 ? parts.join('\n') : undefined;
|
|
455
|
+
}
|
|
456
|
+
/** The longer of two optional strings — neither present yields undefined. */
|
|
457
|
+
function longer(a, b) {
|
|
458
|
+
if (a === undefined)
|
|
459
|
+
return b;
|
|
460
|
+
if (b === undefined)
|
|
461
|
+
return a;
|
|
462
|
+
return b.length > a.length ? b : a;
|
|
252
463
|
}
|
|
253
464
|
/** The §7.1 status map — the wire word wins; an item without one derives its
|
|
254
465
|
* status from the lifecycle phase it arrived in. */
|
|
255
466
|
const STATUS_MAP = {
|
|
256
467
|
inProgress: 'running',
|
|
468
|
+
in_progress: 'running',
|
|
257
469
|
completed: 'completed',
|
|
258
470
|
failed: 'failed',
|
|
259
471
|
declined: 'declined',
|
|
@@ -319,18 +531,6 @@ function toolItem(raw, id, type, eventType, state) {
|
|
|
319
531
|
item = { kind: 'tool', id, name: type, toolKind: display.toolKind, title: display.title, status };
|
|
320
532
|
break;
|
|
321
533
|
}
|
|
322
|
-
case 'enteredReviewMode':
|
|
323
|
-
case 'exitedReviewMode':
|
|
324
|
-
// §7.1: review-mode items → tool(kind task).
|
|
325
|
-
item = {
|
|
326
|
-
kind: 'tool',
|
|
327
|
-
id,
|
|
328
|
-
name: type,
|
|
329
|
-
toolKind: 'task',
|
|
330
|
-
title: type === 'enteredReviewMode' ? 'Entered review mode' : 'Exited review mode',
|
|
331
|
-
status,
|
|
332
|
-
};
|
|
333
|
-
break;
|
|
334
534
|
default: {
|
|
335
535
|
// Unknown item types stay visible as generic tool cards (v1 parity —
|
|
336
536
|
// a future codex tool must not silently vanish from the thread).
|
|
@@ -407,7 +607,9 @@ function synthesizedItem(itemId, field) {
|
|
|
407
607
|
const display = toolDisplay('commandExecution');
|
|
408
608
|
return { kind: 'tool', id: itemId, name: 'commandExecution', toolKind: display.toolKind, title: display.title, status: 'running' };
|
|
409
609
|
}
|
|
410
|
-
function mapDelta(params, state, field
|
|
610
|
+
function mapDelta(params, state, field,
|
|
611
|
+
/** Which reasoning stream fed this delta — see `ReasoningAccumulator`. */
|
|
612
|
+
reasoningChannel = 'text') {
|
|
411
613
|
const itemId = str(params.itemId);
|
|
412
614
|
const delta = typeof params.delta === 'string' ? params.delta : '';
|
|
413
615
|
if (itemId === undefined || delta === '')
|
|
@@ -415,7 +617,11 @@ function mapDelta(params, state, field) {
|
|
|
415
617
|
const events = [];
|
|
416
618
|
let knownItems = state.knownItems;
|
|
417
619
|
if (!knownItems.has(itemId)) {
|
|
418
|
-
|
|
620
|
+
const item = synthesizedItem(itemId, field);
|
|
621
|
+
const parentItemId = collabParentItemId(params, state);
|
|
622
|
+
if (parentItemId !== undefined)
|
|
623
|
+
item.parentItemId = parentItemId;
|
|
624
|
+
events.push({ type: 'item.started', item });
|
|
419
625
|
knownItems = new Set(knownItems).add(itemId);
|
|
420
626
|
}
|
|
421
627
|
events.push({ type: 'item.delta', itemId, field, delta });
|
|
@@ -425,7 +631,16 @@ function mapDelta(params, state, field) {
|
|
|
425
631
|
next.set(itemId, (next.get(itemId) ?? '') + delta);
|
|
426
632
|
outputs = next;
|
|
427
633
|
}
|
|
428
|
-
|
|
634
|
+
let reasonings = state.reasonings;
|
|
635
|
+
if (field === 'reasoning') {
|
|
636
|
+
const next = new Map(state.reasonings);
|
|
637
|
+
const prev = next.get(itemId) ?? { text: '', summary: '' };
|
|
638
|
+
next.set(itemId, reasoningChannel === 'text'
|
|
639
|
+
? { ...prev, text: prev.text + delta }
|
|
640
|
+
: { ...prev, summary: prev.summary + delta });
|
|
641
|
+
reasonings = next;
|
|
642
|
+
}
|
|
643
|
+
return { events, state: { ...state, knownItems, outputs, reasonings } };
|
|
429
644
|
}
|
|
430
645
|
// ---- telemetry ---------------------------------------------------------------
|
|
431
646
|
/** `thread/tokenUsage/updated` → usage.updated. Raw CUMULATIVE totals from
|
|
@@ -465,6 +680,9 @@ function str(value) {
|
|
|
465
680
|
function num(value) {
|
|
466
681
|
return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
|
|
467
682
|
}
|
|
683
|
+
function stringArray(value) {
|
|
684
|
+
return Array.isArray(value) ? value.filter((entry) => typeof entry === 'string' && entry !== '') : [];
|
|
685
|
+
}
|
|
468
686
|
function turnIdOf(params) {
|
|
469
687
|
const turn = isRecord(params.turn) ? params.turn : undefined;
|
|
470
688
|
return (turn && str(turn.id)) ?? str(params.turnId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-ui-mapper.js","sourceRoot":"","sources":["../../src/core/codex-ui-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codex-ui-mapper.js","sourceRoot":"","sources":["../../src/core/codex-ui-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAgBH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA+EhD,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,oBAAoB,EAAE,KAAK;QAC3B,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI,GAAG,EAAE;KACvB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,KAAyB;IAC7E,IAAI,KAAK,CAAC,cAAc,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC1E,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC5E,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,KAAyB;IAC5E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvF,6EAA6E;IAC7E,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,gBAAgB;YACnB,OAAO,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9D,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACvD,KAAK,aAAa;YAChB,OAAO,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,mBAAmB;YACtB,OAAO,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,KAAK,cAAc;YACjB,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,KAAK,cAAc;YACjB,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QACzD,KAAK,gBAAgB;YACnB,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC3D,KAAK,yBAAyB;YAC5B,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,KAAK,0BAA0B;YAC7B,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,6BAA6B,CAAC;QACnC,KAAK,iCAAiC;YACpC,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACzD,KAAK,mCAAmC;YACtC,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,KAAK,2BAA2B;YAC9B,OAAO,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtC;YACE,mEAAmE;YACnE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,cAAc,CAAC,MAA+B,EAAE,KAAyB;IAChF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,OAAO,EAAE,CAAC;IACrD,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAC1C,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE;KACxG,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,MAA+B,EAC/B,KAAyB,EACzB,MAAe;IAEf,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC9E,qFAAqF;IACrF,uFAAuF;IACvF,uFAAuF;IACvF,+EAA+E;IAC/E,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,KAAK,CAAC,YAAY;gBACtB,IAAI,EAAE,mBAAmB;gBACzB,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;aACxC;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO;QACL,MAAM;QACN,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;KACtE,CAAC;AACJ,CAAC;AAED;;yDAEyD;AACzD,SAAS,cAAc,CAAC,MAA+B,EAAE,MAAe;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,WAAW,CAAC;IACtD,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/B,OAAO,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CAAC,MAA+B,EAAE,KAAyB;IACpF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC3C,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;QAC3C,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE;KACrF,CAAC;AACJ,CAAC;AAED;;;;;0EAK0E;AAC1E,SAAS,eAAe,CAAC,IAAa;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;8EAG8E;AAC9E,SAAS,cAAc,CAAC,MAAe;IACrC,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC/C,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IAC9E,OAAO,SAAS,CAAC;AACnB,CAAC;AAMD,SAAS,gBAAgB,CACvB,MAA+B,EAC/B,KAAyB,EACzB,SAAwB;IAExB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEtB,sEAAsE;IACtE,+DAA+D;IAC/D,EAAE;IACF,wEAAwE;IACxE,2EAA2E;IAC3E,8EAA8E;IAC9E,gCAAgC;IAChC,EAAE;IACF,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,uEAAuE;IACvE,EAAE;IACF,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,0BAA0B;IAC1B,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACnE,IAAI,KAAK,CAAC,oBAAoB;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IAED,2EAA2E;IAC3E,gEAAgE;IAChE,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAEzD,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAEnD,8EAA8E;IAC9E,iFAAiF;IACjF,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChE,OAAO,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,IAAI,GACR,IAAI,KAAK,cAAc;QACrB,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,IAAI,KAAK,WAAW;YACpB,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC;YAC/B,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAChE,OAAO,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACjE,MAAM,MAAM,GAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,IAAI,SAAS,KAAK,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACrF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACvD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACxF,CAAC;AAED;kFACkF;AAClF,SAAS,iBAAiB,CACxB,GAA4B,EAC5B,EAAU,EACV,SAAwB,EACxB,KAAyB;IAEzB,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,aAAa,CAAC;IAC1E,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAoB,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACzG,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACpC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,WAAW;gBAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7D,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACzD,MAAM,UAAU,GAAkB,SAAS,KAAK,cAAc;YAC5D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrF,OAAO;YACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAClE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,UAAU,GAAkB,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACnH,OAAO;QACL,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAqB,EAAE,MAAkB;IAC/D,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5F,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5C,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzC,OAAO;QACL,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM;QACjG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAA4B,EAAE,WAAqB,EAAE,SAAwB;IACjG,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY;QAC1D,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,QAAQ,GAAG,WAAW;SACzB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;SAC/F,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC;IACpE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxH,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC;IAC3H,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/H,OAAO,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA+B,EAAE,KAAyB;IACpF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CACpB,GAA4B,EAC5B,EAAU,EACV,IAA8C,EAC9C,SAAwB,EACxB,KAAyB;IAEzB,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,MAAkB,EAAc,EAAE,CAAC,CAAC;QACpF,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,MAAM;QACV,IAAI;QACJ,QAAQ,EAAE,MAAM;QAChB,iFAAiF;QACjF,KAAK,EAAE,QAAQ;QACf,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,sFAAsF;QACtF,qFAAqF;QACrF,0CAA0C;QAC1C,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,CAAC;aACvE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,mFAAmF;QACnF,0FAA0F;QAC1F,kFAAkF;QAClF,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;IAClC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,gEAAgE;QAChE,OAAO;YACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACnG,KAAK;SACN,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,gBAAgB;gBACtB,2EAA2E;gBAC3E,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;aACjF;SACF;QACD,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE;KACxC,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,SAAS,WAAW,CAAC,GAA4B,EAAE,EAAU;IAC3D,MAAM,IAAI,GAAkB;QAC1B,IAAI,EAAE,SAAS;QACf,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACnD,CAAC;IACF,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY;QAAE,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;SACrD,IAAI,GAAG,CAAC,KAAK,KAAK,cAAc;QAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;8EAa8E;AAC9E,SAAS,aAAa,CACpB,GAA4B,EAC5B,EAAU,EACV,KAAyB;IAEzB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1C,2EAA2E;IAC3E,8EAA8E;IAC9E,gEAAgE;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACnF,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,EAAE;QACF,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,OAAO,IAAI,EAAE;KACjF,CAAC;AACJ,CAAC;AAED;+EAC+E;AAC/E,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,6EAA6E;AAC7E,SAAS,MAAM,CAAC,CAAqB,EAAE,CAAqB;IAC1D,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;qDACqD;AACrD,MAAM,UAAU,GAAyC;IACvD,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,SAAS,UAAU,CAAC,GAA4B,EAAE,SAAwB;IACxE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,QAAQ,CACf,GAA4B,EAC5B,EAAU,EACV,IAAY,EACZ,SAAwB,EACxB,KAAyB;IAEzB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1C,IAAI,IAAgB,CAAC;IAErB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,kBAAkB,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAClG,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YACrE,+EAA+E;YAC/E,MAAM,MAAM,GACV,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACzB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBACf,CAAC,SAAS,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrD,MAAM;QACR,CAAC;QACD,KAAK,YAAY,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAClG,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;gBAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YACvC,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,aAAa,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,GAAG;gBACL,IAAI,EAAE,MAAM;gBACZ,EAAE;gBACF,+DAA+D;gBAC/D,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;gBACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM;aACP,CAAC;YACF,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC;YAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;iBAChD,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM;QACR,CAAC;QACD,KAAK,WAAW,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YAClG,MAAM;QACR,CAAC;QACD,SAAS,CAAC;YACR,qEAAqE;YACrE,iEAAiE;YACjE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAChH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qFAAqF;AACrF,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE;YAAE,SAAS;QACzF,yEAAyE;QACzE,MAAM,IAAI,GAAa,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED;+EAC+E;AAC/E,SAAS,aAAa,CAAC,GAA4B;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACnG,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzE,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YACpC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,gFAAgF;AAEhF;6EAC6E;AAC7E,SAAS,eAAe,CAAC,MAAc,EAAE,KAAsC;IAC7E,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1F,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACrI,CAAC;AAED,SAAS,QAAQ,CACf,MAA+B,EAC/B,KAAyB,EACzB,KAAsC;AACtC,0EAA0E;AAC1E,gBAAgB,GAAuB,MAAM;IAE7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAEvE,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAwB,KAAK,CAAC,UAAU,CAAC;IACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,IAAI,OAAO,GAAgC,KAAK,CAAC,OAAO,CAAC;IACzD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACnD,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,GAA8C,KAAK,CAAC,UAAU,CAAC;IAC7E,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,GAAG,CACN,MAAM,EACN,gBAAgB,KAAK,MAAM;YACzB,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE;YACtC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,CAC/C,CAAC;QACF,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC;AAC1E,CAAC;AAED,iFAAiF;AAEjF;iFACiF;AACjF,SAAS,aAAa,CAAC,MAA+B,EAAE,KAAyB;IAC/E,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACnD,MAAM,KAAK,GAAe;QACxB,KAAK;QACL,MAAM;QACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,GAAG,MAAM;KAChD,CAAC;IACF,IAAI,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,IAAI,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACzD,IAAI,aAAa,KAAK,SAAS;QAAE,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;IACrE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,kFAAkF;AAElF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzH,CAAC;AAED,SAAS,QAAQ,CAAC,MAA+B;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,OAAO,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,UAAU,CAAC,MAA+B;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical provider/model identity (#405). One backend-agnostic shape that
|
|
3
|
+
* every runner shares, so a persisted run records WHICH provider + model
|
|
4
|
+
* actually served it — the identity that cost accounting, session attribution
|
|
5
|
+
* and reproducible replay all key off (see the issue's claim table).
|
|
6
|
+
*
|
|
7
|
+
* Backends name models differently on the wire: `claude` takes bare tier
|
|
8
|
+
* aliases / pinned ids on `--model` (`opus`, `claude-opus-4-8`); `codex` takes
|
|
9
|
+
* `gpt-*-codex` ids verbatim; `opencode` takes a `provider/model` string it
|
|
10
|
+
* re-splits into `{ providerID, modelID }`. This module maps each of those to
|
|
11
|
+
* and from ONE canonical `{ provider, model }`, and is the single
|
|
12
|
+
* parser/normaliser they all use — extracted from opencode's private
|
|
13
|
+
* `parseModel` (#405 item 2) so no runner invents a second one.
|
|
14
|
+
*
|
|
15
|
+
* Extensible by design: a new backend (#387's `pi` runner) adds one entry to
|
|
16
|
+
* `BACKEND_MODEL_MAP` and, if it needs a non-default wire form, one branch in
|
|
17
|
+
* `toBackendModel`. Nothing else changes.
|
|
18
|
+
*
|
|
19
|
+
* Deliberately imports no backend-specific wire type: the canonical identity
|
|
20
|
+
* never leaks a runner's request shape past the `AgentRunner` seam.
|
|
21
|
+
*/
|
|
22
|
+
import type { AgentBackend } from './agent-runner.js';
|
|
23
|
+
/**
|
|
24
|
+
* A backend-agnostic model identity. Serialized as `provider/model` (see
|
|
25
|
+
* {@link formatModelIdentity}). Treated as an identifier, never display text.
|
|
26
|
+
*/
|
|
27
|
+
export interface ModelIdentity {
|
|
28
|
+
/** Canonical provider id, lowercased — e.g. `anthropic`, `openai`. */
|
|
29
|
+
provider: string;
|
|
30
|
+
/** Provider-native model id — e.g. `claude-opus-4-8`, `gpt-5.1-codex`. */
|
|
31
|
+
model: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Thrown when a non-empty model string cannot be resolved to a canonical
|
|
35
|
+
* identity for the chosen backend (a bare id on a backend that spans
|
|
36
|
+
* providers). Fail-loud (#405 item 3): the run surfaces this instead of
|
|
37
|
+
* silently substituting the backend default.
|
|
38
|
+
*/
|
|
39
|
+
export declare class ModelIdentityError extends Error {
|
|
40
|
+
constructor(message: string);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Providers cezar names today. Informational and extensible — an unknown
|
|
44
|
+
* provider in an explicit `provider/model` string still passes through, so
|
|
45
|
+
* future models and new backends are never silently rejected.
|
|
46
|
+
*/
|
|
47
|
+
export declare const KNOWN_PROVIDERS: readonly ['anthropic', 'openai', 'google', 'openrouter'];
|
|
48
|
+
export type KnownProvider = (typeof KNOWN_PROVIDERS)[number];
|
|
49
|
+
interface BackendModelMap {
|
|
50
|
+
/**
|
|
51
|
+
* The provider a bare (provider-less) model id belongs to for this backend.
|
|
52
|
+
* `undefined` marks a backend that spans providers and therefore requires an
|
|
53
|
+
* explicit `provider/model` — a bare id there is ambiguous and rejected.
|
|
54
|
+
* It also selects the wire form in {@link toBackendModel}.
|
|
55
|
+
*/
|
|
56
|
+
readonly defaultProvider?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Bare model id → provider override, for the rare backend whose bare ids
|
|
59
|
+
* span providers. Checked before `defaultProvider`; empty for today's set.
|
|
60
|
+
*/
|
|
61
|
+
readonly providerByModel?: Readonly<Record<string, string>>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Per-backend mapping table — the one place #387 extends for the `pi` runner.
|
|
65
|
+
* `claude-cli` is the legacy id kept so old run records normalise identically
|
|
66
|
+
* to `claude`.
|
|
67
|
+
*/
|
|
68
|
+
export declare const BACKEND_MODEL_MAP: Readonly<Record<AgentBackend, BackendModelMap>>;
|
|
69
|
+
/** Serialize a canonical identity to its `provider/model` string form. */
|
|
70
|
+
export declare function formatModelIdentity(id: ModelIdentity): string;
|
|
71
|
+
/**
|
|
72
|
+
* Parse a `provider/model` string into a canonical identity. Returns `null`
|
|
73
|
+
* for anything not in explicit provider/model form (empty, bare, a leading or
|
|
74
|
+
* trailing slash). The single shared parser every runner splits with —
|
|
75
|
+
* extracted from opencode's private `parseModel` (#405 item 2).
|
|
76
|
+
*/
|
|
77
|
+
export declare function parseModelIdentity(raw: string | undefined | null): ModelIdentity | null;
|
|
78
|
+
/**
|
|
79
|
+
* Resolve a raw model string — a preset id (`opus`, `gpt-5.1-codex`) or an
|
|
80
|
+
* explicit `provider/model` — as supplied for `backend`, into a canonical
|
|
81
|
+
* identity. Fail-loud (#405 item 3): a real model is never silently swapped
|
|
82
|
+
* for the backend default.
|
|
83
|
+
* - empty / whitespace ("auto") → `undefined` (the backend picks — an
|
|
84
|
+
* explicit choice, not a silent fallback);
|
|
85
|
+
* - an explicit `provider/model` → that identity, for a multi-provider backend
|
|
86
|
+
* or when the provider is the single-provider backend's own;
|
|
87
|
+
* - an explicit `provider/model` naming a FOREIGN provider on a single-provider
|
|
88
|
+
* backend → throws {@link ModelIdentityError} (it would be dropped on the wire
|
|
89
|
+
* yet persisted, asserting a provider that never ran — #405 review M2);
|
|
90
|
+
* - a bare id → the backend's default provider;
|
|
91
|
+
* - a bare id on a backend with no default provider → throws
|
|
92
|
+
* {@link ModelIdentityError}.
|
|
93
|
+
*/
|
|
94
|
+
export declare function resolveModelIdentity(backend: AgentBackend, raw: string | undefined): ModelIdentity | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* The model string to hand `backend`'s CLI/API for a canonical identity — the
|
|
97
|
+
* inverse of {@link resolveModelIdentity}. Single-provider backends
|
|
98
|
+
* (claude/codex) want the bare provider-native id (`opus`, `gpt-5.1-codex`);
|
|
99
|
+
* multi-provider backends (opencode) want the full `provider/model`, which
|
|
100
|
+
* they re-split into their own request shape.
|
|
101
|
+
*/
|
|
102
|
+
export declare function toBackendModel(backend: AgentBackend, id: ModelIdentity): string;
|
|
103
|
+
/**
|
|
104
|
+
* Normalise a raw model string for `backend` in one step: the backend-native
|
|
105
|
+
* string to hand the runner, plus the canonical identity to persist. Returns
|
|
106
|
+
* `undefined` for empty/auto. Throws {@link ModelIdentityError} on an
|
|
107
|
+
* unresolvable model — the single fail-loud gate the run wiring calls.
|
|
108
|
+
*/
|
|
109
|
+
export declare function normalizeModelForBackend(backend: AgentBackend, raw: string | undefined): {
|
|
110
|
+
backendModel: string;
|
|
111
|
+
identity: ModelIdentity;
|
|
112
|
+
} | undefined;
|
|
113
|
+
export {};
|