@agentclientprotocol/claude-agent-acp 0.89.2-preview.15 → 0.89.2-preview.17
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 +29 -8
- package/dist/acp-agent.d.ts +5 -0
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +65 -21
- package/dist/acp-subagents.d.ts +16 -6
- package/dist/acp-subagents.d.ts.map +1 -1
- package/dist/acp-subagents.js +8 -2
- package/dist/native-subagents.d.ts +167 -11
- package/dist/native-subagents.d.ts.map +1 -1
- package/dist/native-subagents.js +419 -40
- package/package.json +1 -1
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type SessionNotification } from "@agentclientprotocol/sdk";
|
|
2
|
+
import type { AcpSessionNotification, SubagentForm, SubagentState } from "./acp-subagents.js";
|
|
3
|
+
/** The work state of a child, as the RFD's `subagent_update.state` carries it. */
|
|
4
|
+
type WorkState = NonNullable<Extract<SessionNotification["update"], {
|
|
5
|
+
sessionUpdate: "subagent_update";
|
|
6
|
+
}>["state"]>;
|
|
2
7
|
export type NativeSubagent = {
|
|
3
8
|
sessionId: string;
|
|
4
9
|
parentSessionId: string;
|
|
@@ -7,9 +12,32 @@ export type NativeSubagent = {
|
|
|
7
12
|
task: string;
|
|
8
13
|
/**
|
|
9
14
|
* The exact prompt of this generation, sent as `prompt` in
|
|
10
|
-
* `subagent_spawned
|
|
15
|
+
* `subagent_spawned`, or as the child's first `session_message` in the RFD
|
|
16
|
+
* form. It is absent when the adapter has no prompt.
|
|
11
17
|
*/
|
|
12
18
|
prompt?: string;
|
|
19
|
+
/** The RFD form: the parent's label for the child, `subagent_update.title`. */
|
|
20
|
+
title?: string;
|
|
21
|
+
/** The RFD form: the child's role, its `subagent_type`, for the title. */
|
|
22
|
+
role?: string;
|
|
23
|
+
/** The RFD form: the child's purpose, `subagent_update.description`. */
|
|
24
|
+
description?: string;
|
|
25
|
+
/**
|
|
26
|
+
* The RFD form: the work state the client holds. The child is reusable, so
|
|
27
|
+
* `idle` is not terminal. AIR's draft uses {@link terminalState} instead.
|
|
28
|
+
*/
|
|
29
|
+
workState?: WorkState["state"];
|
|
30
|
+
/**
|
|
31
|
+
* The RFD form: the child's idle snapshot reports a failure without the
|
|
32
|
+
* SDK's error text, which a later event of the same failure may carry.
|
|
33
|
+
*/
|
|
34
|
+
missingError?: boolean;
|
|
35
|
+
/** The RFD form: the open permission and question requests of the child. */
|
|
36
|
+
openRequests?: number;
|
|
37
|
+
/** The RFD form: the ids of the prompt messages in the child's transcript. */
|
|
38
|
+
promptIds?: Set<string>;
|
|
39
|
+
/** The RFD form: the calls that delegated to the child, whose runs ended. */
|
|
40
|
+
endedRuns?: Set<string>;
|
|
13
41
|
announced?: boolean;
|
|
14
42
|
terminalState?: SubagentState;
|
|
15
43
|
/** Connection-local single-flight state; never serialized on the wire. */
|
|
@@ -26,6 +54,18 @@ type Publish = (notification: AcpSessionNotification) => Promise<void>;
|
|
|
26
54
|
type Logger = {
|
|
27
55
|
log(message: string): void;
|
|
28
56
|
};
|
|
57
|
+
/** What the SDK says about the end of a task, beyond its status. */
|
|
58
|
+
export type TaskEnd = {
|
|
59
|
+
/** The SDK's text for a failure. */
|
|
60
|
+
error?: string;
|
|
61
|
+
/** The SDK's reason for an unusual end, such as `worker_restart`. */
|
|
62
|
+
reason?: string;
|
|
63
|
+
/**
|
|
64
|
+
* The adapter knows that the work ended, but not why: the stream ended, or
|
|
65
|
+
* the conversation was reset, with the task still running.
|
|
66
|
+
*/
|
|
67
|
+
unexplained?: boolean;
|
|
68
|
+
};
|
|
29
69
|
type TaskStarted = {
|
|
30
70
|
taskId: string;
|
|
31
71
|
toolUseId?: string | null;
|
|
@@ -43,6 +83,8 @@ export declare class NativeSubagentRuntime {
|
|
|
43
83
|
private readonly publish;
|
|
44
84
|
private readonly logger;
|
|
45
85
|
readonly enabled: boolean;
|
|
86
|
+
/** The form of the child sessions; see {@link SubagentForm}. */
|
|
87
|
+
readonly form: SubagentForm | undefined;
|
|
46
88
|
private readonly children;
|
|
47
89
|
private readonly taskByToolUse;
|
|
48
90
|
private readonly parentByToolUse;
|
|
@@ -56,11 +98,15 @@ export declare class NativeSubagentRuntime {
|
|
|
56
98
|
*/
|
|
57
99
|
private readonly childByToolCall;
|
|
58
100
|
private readonly taskFinishPromises;
|
|
101
|
+
/** The RFD form: the session that made each SendMessage call. */
|
|
102
|
+
private readonly senderByToolUse;
|
|
59
103
|
private readonly generationByTaskId;
|
|
60
104
|
private readonly pending;
|
|
61
105
|
private pendingCount;
|
|
62
|
-
|
|
106
|
+
/** `form` is undefined for a client without native subagent sessions. */
|
|
107
|
+
constructor(form: SubagentForm | undefined, rootSessionId: string, session: NativeSubagentSession, publish: Publish, logger: Logger);
|
|
63
108
|
route(notification: AcpSessionNotification, deliver: Publish, forcedSessionId?: string): Promise<AcpSessionNotification | null>;
|
|
109
|
+
private routeUpdate;
|
|
64
110
|
taskStarted(task: TaskStarted, deliver: Publish): Promise<void>;
|
|
65
111
|
/**
|
|
66
112
|
* Opens a new generation of a finished child when the SDK resumes the same
|
|
@@ -68,14 +114,90 @@ export declare class NativeSubagentRuntime {
|
|
|
68
114
|
* running `task_updated` patch or a SendMessage `resumedAgentId` is the
|
|
69
115
|
* signal. A child that did not finish is not changed. The `prompt` is the
|
|
70
116
|
* SendMessage text that resumed the child, when the adapter knows it.
|
|
117
|
+
*
|
|
118
|
+
* In the RFD form, the running patch only reports that the child runs: its
|
|
119
|
+
* prompt is a guess (the latest SendMessage to the agent), and the
|
|
120
|
+
* `task_started` or the SendMessage result carries the delegation.
|
|
71
121
|
*/
|
|
72
122
|
taskResumed(taskId: string, deliver: Publish, prompt?: string): Promise<void>;
|
|
73
|
-
|
|
123
|
+
/**
|
|
124
|
+
* The SDK reports in a SendMessage result that the call `toolUseId`, with
|
|
125
|
+
* the message `prompt`, resumed the agent `taskId`. AIR's draft treats it as
|
|
126
|
+
* any resume signal. In the RFD form, the call is the delegation, which the
|
|
127
|
+
* child takes unless its run already ended: the result can arrive after it.
|
|
128
|
+
*/
|
|
129
|
+
sendMessageResumed(taskId: string, deliver: Publish, prompt?: string, toolUseId?: string): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* The RFD form: whether the run of the call `toolUseId` that delegated to
|
|
132
|
+
* the child `taskId` already ended. AIR's draft has no such runs.
|
|
133
|
+
*/
|
|
134
|
+
isEndedDelegation(taskId: string, toolUseId: string | null | undefined): boolean;
|
|
135
|
+
/**
|
|
136
|
+
* The RFD form: whether `toolUseId` is an earlier delegation of the child
|
|
137
|
+
* `taskId`, whose end does not end the current one. AIR's draft has no
|
|
138
|
+
* such delegations.
|
|
139
|
+
*/
|
|
140
|
+
isStaleEnd(taskId: string, toolUseId: string | null | undefined): boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Reports that the SDK ended the task's work. `end` has what the SDK says
|
|
143
|
+
* about it: its text for a failure, and its reason for an unusual end.
|
|
144
|
+
*/
|
|
145
|
+
finishTask(taskId: string, status: unknown, deliver: Publish, toolUseId?: string | null, end?: TaskEnd): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Ends every child that still runs, because the stream ended or the
|
|
148
|
+
* conversation was reset. AIR's draft reports `state` for each. In the RFD
|
|
149
|
+
* form the cause of each child's end is unknown, so it is idle with no stop
|
|
150
|
+
* reason: a child that a cancel stopped already reported it from the SDK's
|
|
151
|
+
* events, and a background child that outlived the cancel was not cancelled.
|
|
152
|
+
*/
|
|
74
153
|
finishAll(state: SubagentState, deliver: Publish): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* The parent session got `session/cancel`. AIR's draft ends every child as
|
|
156
|
+
* cancelled here. The RFD form reports nothing: acknowledging a cancel is no
|
|
157
|
+
* evidence that a child stopped. Claude Code's interrupt stops the
|
|
158
|
+
* foreground children that the turn waits on and, currently, background
|
|
159
|
+
* children too, and the SDK's task events report each as cancelled. A child
|
|
160
|
+
* that keeps running keeps its open requests
|
|
161
|
+
* (agentclientprotocol/agent-client-protocol#2308).
|
|
162
|
+
*/
|
|
163
|
+
parentCancelled(deliver: Publish): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Runs `request`, a permission or question request of the session
|
|
166
|
+
* `sessionId`. In the RFD form, a child waiting on it is `requires_action`
|
|
167
|
+
* until its last open request ends.
|
|
168
|
+
*/
|
|
169
|
+
awaitingUser<T>(sessionId: string, request: () => Promise<T>): Promise<T>;
|
|
75
170
|
discardPending(parentToolUseId: string): void;
|
|
76
171
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
172
|
+
* The RFD form: the child runs again, and keeps its session. `toolUseId` is
|
|
173
|
+
* the call that delegated, usually a SendMessage: the SDK runs the resumed
|
|
174
|
+
* work under its id, so it becomes the child's current delegation, whose
|
|
175
|
+
* end ends the run, and its prompt is the message with that id. A child
|
|
176
|
+
* that is already working only takes the delegation; a prompt already in
|
|
177
|
+
* its transcript is not sent again. A child that was never announced is
|
|
178
|
+
* not changed.
|
|
179
|
+
*/
|
|
180
|
+
private resumeChild;
|
|
181
|
+
/**
|
|
182
|
+
* The RFD form: a child that ends before its parent is known stays
|
|
183
|
+
* unexposed, since the RFD forbids guessing its parent. Its buffered updates
|
|
184
|
+
* are dropped, and it is forgotten, so a late frame does not announce it.
|
|
185
|
+
* (Buffering until that frame would also meet the RFD, but the frame comes
|
|
186
|
+
* before the task in the SDK's order, so a child ending without it is rare.)
|
|
187
|
+
*/
|
|
188
|
+
private withdraw;
|
|
189
|
+
/**
|
|
190
|
+
* The RFD form: a later event of a failure can carry the SDK's error text
|
|
191
|
+
* that the reported idle snapshot lacks.
|
|
192
|
+
*/
|
|
193
|
+
private supplyError;
|
|
194
|
+
/** Announces `child` in the client's form. A runtime without one never does. */
|
|
195
|
+
private announce;
|
|
196
|
+
/** The RFD form: publishes the work state of `child` on its parent. */
|
|
197
|
+
private reportState;
|
|
198
|
+
/**
|
|
199
|
+
* Routes an update to the child session. It never goes to the root session:
|
|
200
|
+
* in AIR's draft, an update of a finished child is dropped.
|
|
79
201
|
*/
|
|
80
202
|
private toChild;
|
|
81
203
|
/**
|
|
@@ -84,12 +206,18 @@ export declare class NativeSubagentRuntime {
|
|
|
84
206
|
* tool call when the work started. An async task can outlive that child: a
|
|
85
207
|
* subagent can start a background command and end its turn. So the route
|
|
86
208
|
* still sends `async_task_spawned`, `async_task_progress` and
|
|
87
|
-
* `async_task_state_update` to the child generation after it finished.
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
209
|
+
* `async_task_state_update` to the child generation after it finished. In
|
|
210
|
+
* AIR's draft, the route drops every other update after the child finished;
|
|
211
|
+
* in the RFD form, an idle child gets them all. `undefined` means that the
|
|
212
|
+
* root session owns the tool call. `eagerSessionId` is the session where a
|
|
213
|
+
* permission request created the tool call before the stream routed it.
|
|
91
214
|
*/
|
|
92
215
|
routeOfToolCall(toolCallId: string, eagerSessionId?: string): ((notification: AcpSessionNotification) => AcpSessionNotification | null) | undefined;
|
|
216
|
+
/**
|
|
217
|
+
* The RFD form: remembers the session that made a SendMessage call, the
|
|
218
|
+
* sender of the prompt when the call resumes a child.
|
|
219
|
+
*/
|
|
220
|
+
private rememberSendMessage;
|
|
93
221
|
private rememberToolCallOwner;
|
|
94
222
|
/** The child generation with the ACP session `sessionId`, if one exists. */
|
|
95
223
|
private childOfSession;
|
|
@@ -106,9 +234,25 @@ export declare class NativeSubagentRuntime {
|
|
|
106
234
|
* delivers the updates that waited for the child.
|
|
107
235
|
*/
|
|
108
236
|
private openGeneration;
|
|
237
|
+
/**
|
|
238
|
+
* The ACP session id of a child: the SDK agent id, and in AIR's draft a
|
|
239
|
+
* generation suffix for each resume. The RFD needs it unique within the
|
|
240
|
+
* connection and never under two parents. Agent ids are random, and an
|
|
241
|
+
* agent keeps its parent, so only a fork could repeat one under another
|
|
242
|
+
* root. That holds today because the SDK's `forkSession` copies no
|
|
243
|
+
* `subagents/` history, so a fork cannot resume an agent of the original.
|
|
244
|
+
* If a fork ever can, the RFD requires remapping the copied ids, for
|
|
245
|
+
* example by deriving the child id from the root session id.
|
|
246
|
+
*/
|
|
109
247
|
private nextChildSessionId;
|
|
110
248
|
}
|
|
111
|
-
|
|
249
|
+
/**
|
|
250
|
+
* Announces the child on its parent, once, before any update of the child.
|
|
251
|
+
* The RFD form announces it as running and then sends the prompt as the
|
|
252
|
+
* first message of the child. The child gets no capabilities, so the client
|
|
253
|
+
* may not cancel or otherwise change it.
|
|
254
|
+
*/
|
|
255
|
+
export declare function announceNativeSubagent(child: NativeSubagent, publish: Publish, form: SubagentForm): Promise<void>;
|
|
112
256
|
export declare function finishNativeSubagent(session: NativeSubagentSession, taskId: string, state: SubagentState, publish: Publish): Promise<void>;
|
|
113
257
|
/**
|
|
114
258
|
* The agent id that a successful SendMessage result resumed. The SDK puts it
|
|
@@ -124,6 +268,18 @@ export declare function sendMessageResumePrompt(toolUses: Record<string, {
|
|
|
124
268
|
name: string;
|
|
125
269
|
input: unknown;
|
|
126
270
|
} | undefined>, agentId: string, resultToolUseIds?: readonly string[]): string | undefined;
|
|
271
|
+
/**
|
|
272
|
+
* The SendMessage call that resumed the agent `agentId`, and its text when it
|
|
273
|
+
* has one; see {@link sendMessageResumePrompt}. The call is known even
|
|
274
|
+
* without text, so a late result still names the delegation it reports.
|
|
275
|
+
*/
|
|
276
|
+
export declare function sendMessageResume(toolUses: Record<string, {
|
|
277
|
+
name: string;
|
|
278
|
+
input: unknown;
|
|
279
|
+
} | undefined>, agentId: string, resultToolUseIds?: readonly string[]): {
|
|
280
|
+
toolUseId: string;
|
|
281
|
+
text?: string;
|
|
282
|
+
} | undefined;
|
|
127
283
|
export declare function nativeSubagentState(status: unknown): SubagentState | undefined;
|
|
128
284
|
export declare function isNativeSubagentControlUpdate(update: AcpSessionNotification["update"]): update is Extract<AcpSessionNotification["update"], {
|
|
129
285
|
sessionUpdate: "tool_call" | "tool_call_update";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-subagents.d.ts","sourceRoot":"","sources":["../src/native-subagents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"native-subagents.d.ts","sourceRoot":"","sources":["../src/native-subagents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG9F,kFAAkF;AAClF,KAAK,SAAS,GAAG,WAAW,CAC1B,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;IAAE,aAAa,EAAE,iBAAiB,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CACtF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,+BAA+B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,+BAA+B,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvD,CAAC;AAEF,KAAK,OAAO,GAAG,CAAC,YAAY,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACvE,KAAK,MAAM,GAAG;IAAE,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE7C,oEAAoE;AACpE,MAAM,MAAM,OAAO,GAAG;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAeF;;;GAGG;AACH,qBAAa,qBAAqB;IA2B9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IA7BzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;IAC9E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqC;IAC1E;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoC;IACvE,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,YAAY,CAAK;IAEzB,yEAAyE;gBAEvE,IAAI,EAAE,YAAY,GAAG,SAAS,EACb,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM;IAc3B,KAAK,CACT,YAAY,EAAE,sBAAsB,EACpC,OAAO,EAAE,OAAO,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAM3B,WAAW;IAiGnB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6DrE;;;;;;;;;;OAUG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnF;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAUhB;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAKhF;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO;IAWzE;;;OAGG;IACG,UAAU,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC;IAmDhB;;;;;;OAMG;IACG,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBtE;;;;;;;;OAQG;IACG,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;;OAIG;IACG,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqB/E,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAI7C;;;;;;;;OAQG;YACW,WAAW;IA8BzB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAUhB;;;OAGG;YACW,WAAW;IASzB,gFAAgF;YAClE,QAAQ;IAItB,uEAAuE;YACzD,WAAW;IASzB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAiBf;;;;;;;;;;;OAWG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,CAAC,CAAC,YAAY,EAAE,sBAAsB,KAAK,sBAAsB,GAAG,IAAI,CAAC,GAAG,SAAS;IAcxF;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,qBAAqB;IAS7B,4EAA4E;IAC5E,OAAO,CAAC,cAAc;IAQtB,KAAK,IAAI,IAAI;IAeb,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,cAAc;IAMtB,0FAA0F;IAC1F,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;YACW,cAAc;IAiC5B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;CAS3B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAsBf;AA8FD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,EACtE,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC,MAAM,GAAG,SAAS,CAEpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC,EACtE,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,SAAS,MAAM,EAAO,GACvC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBlD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAM9E;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,GACvC,MAAM,IAAI,OAAO,CAClB,sBAAsB,CAAC,QAAQ,CAAC,EAChC;IAAE,aAAa,EAAE,WAAW,GAAG,kBAAkB,CAAA;CAAE,CACpD,CASA;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEtE"}
|