@lucascouts/claude-agent-acp-plus 0.2.0 → 0.4.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/%40lucascouts%2Fclaude-agent-acp-plus)](https://www.npmjs.com/package/@lucascouts/claude-agent-acp-plus)
4
4
 
5
- > A **fork** of [claude-agent-acp](https://github.com/agentclientprotocol/claude-agent-acp) that ports features from the Claude Code VS Code extension to ACP clients (like Zed), for a friendlier experience. Currently based on upstream v0.57.0.
5
+ > A **fork** of [claude-agent-acp](https://github.com/agentclientprotocol/claude-agent-acp) that ports features from the Claude Code VS Code extension to ACP clients (like Zed), for a friendlier experience. Currently based on upstream v0.58.1. Requires Node.js >= 24.
6
6
 
7
7
  Use [Claude Agent SDK](https://platform.claude.com/docs/en/agent-sdk/overview#branding-guidelines) from [ACP-compatible](https://agentclientprotocol.com) clients!
8
8
 
@@ -1,4 +1,4 @@
1
- import { AuthenticateRequest, CancelNotification, ClientCapabilities, CompleteElicitationNotification, CreateElicitationRequest, CreateElicitationResponse, ForkSessionRequest, ForkSessionResponse, InitializeRequest, InitializeResponse, ListSessionsRequest, ListSessionsResponse, LoadSessionRequest, LoadSessionResponse, LogoutRequest, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ReadTextFileRequest, ReadTextFileResponse, RequestPermissionRequest, RequestPermissionResponse, ResumeSessionRequest, ResumeSessionResponse, SessionConfigOption, SessionModeState, SessionNotification, SetSessionConfigOptionRequest, SetSessionConfigOptionResponse, SetSessionModeRequest, SetSessionModeResponse, CloseSessionRequest, CloseSessionResponse, DeleteSessionRequest, DeleteSessionResponse, WriteTextFileRequest, WriteTextFileResponse } from "@agentclientprotocol/sdk";
1
+ import { AuthenticateRequest, CancelNotification, ClientCapabilities, CompleteElicitationNotification, CreateElicitationRequest, CreateElicitationResponse, DisableProviderRequest, DisableProviderResponse, ForkSessionRequest, ForkSessionResponse, InitializeRequest, InitializeResponse, ListProvidersRequest, ListProvidersResponse, LlmProtocol, ListSessionsRequest, ListSessionsResponse, LoadSessionRequest, LoadSessionResponse, LogoutRequest, NewSessionRequest, NewSessionResponse, PromptRequest, PromptResponse, ReadTextFileRequest, ReadTextFileResponse, SetProviderRequest, SetProviderResponse, RequestPermissionRequest, RequestPermissionResponse, ResumeSessionRequest, ResumeSessionResponse, SessionConfigOption, SessionModeState, SessionNotification, SetSessionConfigOptionRequest, SetSessionConfigOptionResponse, SetSessionModeRequest, SetSessionModeResponse, CloseSessionRequest, CloseSessionResponse, DeleteSessionRequest, DeleteSessionResponse, WriteTextFileRequest, WriteTextFileResponse } from "@agentclientprotocol/sdk";
2
2
  import { AgentInfo, CanUseTool, FastModeState, ModelInfo, Options, PermissionMode, PermissionUpdate, Query, SDKMessageOrigin, SDKPartialAssistantMessage, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
3
3
  import { ContentBlockParam } from "@anthropic-ai/sdk/resources";
4
4
  import { BetaContentBlock, BetaRawContentBlockDelta } from "@anthropic-ai/sdk/resources/beta.mjs";
@@ -47,6 +47,77 @@ type Turn = {
47
47
  /** Set once the deferred has been resolved/rejected, so the consumer never
48
48
  * settles a turn twice (idle + handoff + stream-end can all race). */
49
49
  settled: boolean;
50
+ /** Set when a `command_lifecycle` "started" frame arrives for this turn's
51
+ * uuid (msg_lifecycle_v1 CLIs): the SDK dispatched the command into a turn.
52
+ * Read by cancel() to seed the orphan's state — a started orphan's turn may
53
+ * still emit a result, an undispatched one may be dropped without one. */
54
+ commandStarted?: boolean;
55
+ /** Set when a terminal `command_lifecycle` frame arrives for this turn's
56
+ * uuid while the turn is still queued (msg_lifecycle_v1 CLIs). The command
57
+ * is already finished SDK-side, so a later cancel() must not seed an
58
+ * orphan entry for it — no terminal frame will ever come to drain it.
59
+ * "completed"/"discarded" leave nothing outstanding; "cancelled" after a
60
+ * dispatch means the dead turn's result may still arrive (seeded as a
61
+ * zombie) unless it already passed (`commandResultSeen`), and without a
62
+ * dispatch means dropped (nothing coming). */
63
+ commandFinished?: "completed" | "discarded" | "cancelled";
64
+ /** Set when a user-turn result arrives while this command is known
65
+ * dispatched (`commandStarted`) with no terminal frame yet. Turns run
66
+ * sequentially and frames arrive in stream order, so the turn this command
67
+ * was dispatched into IS the turn that emitted that result — including
68
+ * when the command was FOLDED into another turn (their shared result).
69
+ * Read by cancel() and the force-cancel wedge path so neither seeds an
70
+ * orphan entry for a result that has already passed: such an entry could
71
+ * never be drained by its result and would swallow an unrelated later
72
+ * echo-less one instead. */
73
+ commandResultSeen?: boolean;
74
+ /** Task ids of the background subagents launched while this turn was the
75
+ * active one — including during its held-open drain window, so an agent
76
+ * chain (a followup that launches another subagent) extends the hold.
77
+ * A turn only waits on its OWN spawned subagents: a long-running agent
78
+ * from an earlier turn must not stall every later prompt's settlement.
79
+ * Known residual: task_started carries no lineage, so a spawn made by a
80
+ * PREVIOUS turn's followup chain while a later turn happens to be held
81
+ * is attributed to the holder — extending that hold behind a foreign
82
+ * chain. Bounded: the hold still ends at drain, hand-off, or cancel. */
83
+ spawnedTaskIds?: Set<string>;
84
+ /** Set instead of settling when the turn's terminal result arrives while
85
+ * subagents it spawned are still live (`spawnedTaskIds` ∩
86
+ * `session.liveBackgroundTasks`). The turn is held open — its
87
+ * `session/prompt` stays pending — so the subagents' streamed output,
88
+ * their permission requests (which would otherwise block on an RPC a
89
+ * client that stops consuming at the prompt response never answers —
90
+ * issue #866), and the model's task-notification followup summary all
91
+ * land inside the turn.
92
+ *
93
+ * The CLI does NOT hold its trailing idle for background agents (observed
94
+ * on 2.1.206: `idle` follows the result immediately while the subagent
95
+ * still runs), so the hold spans multiple idle cycles: user result →
96
+ * idle → (subagent works) → task_notification → followup turn → idle.
97
+ * The stored outcome (the result's stop reason and usage snapshot) is
98
+ * what the turn settles with once its spawned subagents have settled —
99
+ * at the followup's terminal result (the summary has streamed by then),
100
+ * or at an idle with none of its subagents left (no followup came). A
101
+ * cancel or the next turn's echo hand-off settles it earlier, so a
102
+ * long-running subagent never holds the prompt hostage.
103
+ *
104
+ * Accepted residuals. (1) A subagent that ends WITHOUT waking the model —
105
+ * its task_notification lost or skipped (only the terminal task_updated
106
+ * patch is guaranteed per transition) — leaves no followup result and no
107
+ * further idle, so the held turn parks until `session/cancel` or the next
108
+ * prompt (either settles it: the echo hand-off or ensureActiveTurn's
109
+ * held-turn hand-off). Settling at the prune sites instead would preempt
110
+ * the followup summary in the normal ordering (prunes precede the
111
+ * notification), and a grace timer was judged not worth the machinery —
112
+ * the same rescue contract as the adapter's other wedge classes (issue
113
+ * #825's out-of-scope notes). (2) Drained-ness is judged by live-task
114
+ * membership only: with parallel subagents, a notification that prunes
115
+ * the last task during an earlier task's still-streaming followup lets
116
+ * that followup's result settle the turn before the LAST task's summary
117
+ * streams — degrading to post-turn delivery for it, never worse than the
118
+ * pre-hold behavior (pending wakes are not countable: notifications can
119
+ * batch into one followup). */
120
+ deferredSettle?: PromptResponse;
50
121
  resolve: (response: PromptResponse) => void;
51
122
  reject: (error: unknown) => void;
52
123
  };
@@ -66,9 +137,44 @@ type Session = {
66
137
  * the SDK still runs it and emits a result with no uuid we can match. Because
67
138
  * the SDK processes input FIFO, those orphan results arrive (in submission
68
139
  * order) before the next live turn's, so skipping exactly this many leaves
69
- * the genuine head untouched. Reset to 0 on every activation as a backstop
70
- * against an SDK that drops queued input on interrupt (no orphan emitted). */
140
+ * the genuine head untouched. On CLIs with the interrupt receipt, orphans
141
+ * the interrupt dropped (absent from `still_queued`) are uncounted as soon
142
+ * as the receipt arrives (see cancel()). Reset to 0 on every activation as
143
+ * a backstop against a dropped queued input this can't see (older CLIs, a
144
+ * receipt lost to a failed control round-trip). Only used when the CLI does
145
+ * NOT emit lifecycle frames (see `orphanCommands` for the msg_lifecycle_v1
146
+ * lane); a count can't express command coalescing — N queued commands can
147
+ * fold into ONE turn emitting one result, leaving a stale skip of N-1. */
71
148
  pendingOrphanResults?: number;
149
+ /** msg_lifecycle_v1 lane of the orphan accounting (see
150
+ * `pendingOrphanResults` for the count lane): the uuids of cancelled queued
151
+ * turns whose SDK-side command may still produce an unaccounted result,
152
+ * keyed to what we know of its fate. "pending" = not seen dispatched; if
153
+ * the SDK drops it (interrupt, `cancelled` before "started") no result
154
+ * ever comes. "started" = dispatched into a turn whose result is still
155
+ * coming; exactly one terminal lifecycle frame will follow. "zombie" = its
156
+ * turn was aborted/failed after dispatch with no result seen since
157
+ * (`cancelled` after "started"); no more lifecycle frames come, but the
158
+ * dead turn's error result may still arrive. Entries are removed the
159
+ * moment their result is covered: EVERY user-turn result covers ALL
160
+ * started and zombie entries at once (turns run sequentially and frames
161
+ * arrive in stream order, so at any result the started entries were
162
+ * dispatched into — possibly folded into — the emitting turn, and any
163
+ * zombie's late result has already passed or never existed), whether that
164
+ * result was attributed to the active turn or skipped echo-less (see
165
+ * recordResultForOrphanCommands / ensureActiveTurn). A command's own
166
+ * terminal frame also drains its entry ("completed" is emitted after any
167
+ * result its turn produced; a bare `cancelled` deletes a pending entry —
168
+ * dropped without running — and zombifies a started one). An echo-less
169
+ * result is an orphan's iff this map is non-empty (FIFO: orphan turns run
170
+ * before any live turn's). Cleared on every activation, same self-heal as
171
+ * the count (covers a lost frame, which can leak an entry — each state
172
+ * bounds the damage to one wrong skip). */
173
+ orphanCommands?: Map<string, "pending" | "started" | "zombie">;
174
+ /** True once a `system`/init advertised the msg_lifecycle_v1 capability, so
175
+ * cancel() routes orphan accounting to `orphanCommands` (exact, per-uuid)
176
+ * instead of `pendingOrphanResults` (count, coalescing-blind). */
177
+ msgLifecycleV1?: boolean;
72
178
  /** The long-lived consumer task. Lazily started on the first `prompt()` and
73
179
  * kept alive for the session so between-turn/background messages are still
74
180
  * drained and forwarded. */
@@ -145,11 +251,12 @@ type Session = {
145
251
  * cancel. */
146
252
  forceCancelTimer?: ReturnType<typeof setTimeout>;
147
253
  emitRawSDKMessages: boolean | SDKMessageFilter[];
148
- /** Context window size of the last top-level assistant model, carried across
254
+ /** Context window size of the session's current model, carried across
149
255
  * prompts so mid-stream usage_update notifications report a correct `size`
150
- * before the turn's first result message arrives. Defaults to
151
- * DEFAULT_CONTEXT_WINDOW, refreshed from each result's modelUsage, and
152
- * invalidated when the user switches the session's model. */
256
+ * before the turn's first result message arrives. Seeded from the SDK's
257
+ * getContextUsage report at session creation (DEFAULT_CONTEXT_WINDOW when
258
+ * that and the text heuristic both fail), refreshed the same way on model
259
+ * switches, and confirmed by each result's modelUsage. */
153
260
  contextWindowSize: number;
154
261
  /** Accumulated task list for the session, keyed by task ID. Task IDs are
155
262
  * per-session, so this state must not be shared across sessions. */
@@ -174,6 +281,113 @@ type Session = {
174
281
  * tool_use block streams; this set makes the two paths converge regardless of
175
282
  * order. Pruned at `tool_result` time alongside `toolUseCache`. */
176
283
  emittedToolCalls: Set<string>;
284
+ /** Registry of live background tasks, keyed by task id: populated at
285
+ * `task_started`, pruned when the task settles (a `task_notification` or
286
+ * a terminal `task_updated` patch), and reconciled against
287
+ * `background_tasks_changed`'s replace-semantics payload so a lost
288
+ * bookend can't leak an entry. One structure for both of its concerns so
289
+ * a future terminal path can't prune one and not the other:
290
+ *
291
+ * `parentToolUseId` — the tool_use id of the Agent/Task call that spawned
292
+ * the task. For subagent tasks the SDK keys its registry by agent id, so
293
+ * `task_started.task_id` IS the `agentID` that `canUseTool` later
294
+ * receives. Lets the permission flow attribute a subagent's
295
+ * eagerly-emitted `tool_call` (and the permission request itself) to its
296
+ * parent tool call via `_meta.claudeCode.parentToolUseId`, matching the
297
+ * streamed subagent path. Best-effort: a `canUseTool` that races ahead of
298
+ * the consumer processing `task_started` omits the attribution from the
299
+ * eager tool_call, and the streamed tool_use chunk's refining
300
+ * `tool_call_update` — which carries the message-level
301
+ * `parent_tool_use_id` — restores it for merging clients; that recovery
302
+ * is what makes best-effort acceptable here.
303
+ *
304
+ * `isSubagent` — whether the task is a Task/Agent-tool subagent
305
+ * (`task_started` carried a `subagent_type`). Read by
306
+ * `turnAwaitingSubagents` (with `spawnedTaskIds`) to decide whether a
307
+ * turn's settlement is deferred (see `Turn.deferredSettle`), so the
308
+ * subagents' post-result output and permission requests stay inside the
309
+ * turn (issues #864/#866). Deliberately false for non-subagent background
310
+ * tasks (e.g. a `run_in_background` dev server): those can outlive every
311
+ * turn, and the model's contract with them is a wake-on-exit
312
+ * notification, not a turn-scoped drain — a hold must NEVER wait on a
313
+ * shell.
314
+ *
315
+ * `endedPerLevel` — a `background_tasks_changed` payload did not include
316
+ * this subagent entry. The level's universe is BACKGROUND tasks only, so
317
+ * a live sync (foreground) subagent is legitimately absent — its entry is
318
+ * kept for permission attribution — but a hold must stop waiting on the
319
+ * id: an absent id can equally be a leaked async entry whose settle
320
+ * bookends were lost, and waiting on it would park the hold forever.
321
+ * Non-subagent entries are simply deleted instead (shells are always in
322
+ * the level's universe). */
323
+ liveBackgroundTasks: Map<string, {
324
+ parentToolUseId?: string;
325
+ isSubagent: boolean;
326
+ /** Absent-from-level lifecycle, one field so the illegal
327
+ * armed-but-not-ended state is unrepresentable: undefined = live per
328
+ * the level signal; "ended" = a level omitted the task (holds stop
329
+ * waiting on it; attribution is kept); "sweep-armed" = a turn
330
+ * activation saw it ended — the NEXT activation deletes it. The
331
+ * one-activation grace exists for the absent-mark race (a level
332
+ * payload built before a live async agent's registration): a
333
+ * corrective inclusive level resets the field to undefined — one
334
+ * assignment, disarming any in-flight sweep — if it arrives within a
335
+ * full turn, keeping the agent's attribution; eager deletion would
336
+ * be irreversible, since levels never ADD entries. A re-mark
337
+ * preserves an in-flight arm (`??=`), keeping a continuously absent
338
+ * entry on its two-activation clock. */
339
+ endedPerLevel?: "ended" | "sweep-armed";
340
+ }>;
341
+ /** Whether any top-level assistant text reached the client since the last
342
+ * stretch boundary. Set as a side effect of sending in the consumer's
343
+ * `sendUpdate`, never at an emission site; read at the terminal `result`
344
+ * to tell a turn whose answer was already delivered from one that only
345
+ * ever carried it on `result` (issue #453). Session-level (not
346
+ * consumer-scoped) so cancel()'s inline settle can clear it.
347
+ *
348
+ * The CURRENT boundary set — a new clear site must be added here: the
349
+ * result case's `finally` (user-turn results), settleActive's wasHeld
350
+ * clear (every held-turn settle lane: drain settle, both hand-offs,
351
+ * stream-done), failActive, the force-cancel backstop, the idle
352
+ * cancelled-settle, the autonomous-result close (only with no turn
353
+ * active OR queued — see its queued-turn guard), and cancel()'s inline
354
+ * mirror.
355
+ *
356
+ * Deliberately NOT reset on turn activation: activation can fire
357
+ * mid-message (see the echo hand-off), so a flag cleared there would
358
+ * forget text that already streamed and the result text would be emitted
359
+ * a second time. Neither the consolidated `assistant` message nor a
360
+ * `stream_event` carries `origin`, so an autonomous cycle's prose is
361
+ * indistinguishable from a user turn's here and sets the flag too; the
362
+ * autonomous-result close normally ends that stretch so a replayed
363
+ * prompt behind it still delivers, and only in the racing window (a
364
+ * turn already active or queued when the autonomous result lands) does
365
+ * the replayed turn stay silent rather than risk a duplicate. */
366
+ emittedAssistantText: boolean;
367
+ /** The most recent `session_state_changed` state the consumer processed.
368
+ * Read by cancel() to decide whether the interrupt will produce a
369
+ * trailing idle worth pre-counting: interrupting a RUNNING cycle yields
370
+ * one; interrupting an already-idle session (the common held-turn shape)
371
+ * yields none, and a pre-counted debt that never drains would mask one
372
+ * future issue-#825 detection. */
373
+ lastSessionState?: "idle" | "running" | "requires_action";
374
+ /** How many trailing `session_state_changed: idle` messages are already
375
+ * accounted for: every result is followed by one (user-turn results that
376
+ * terminate a turn — settle, reject, or orphan skip — and autonomous
377
+ * cycles alike), as is a cancelled turn settled by the next turn's echo
378
+ * hand-off or by cancel()'s inline settle of a held turn whose interrupt
379
+ * pre-empts a running cycle — the reason this lives on the Session:
380
+ * cancel() must be able to record the debt. The idle handler absorbs
381
+ * owed idles; an idle that arrives when NONE is owed while the active
382
+ * turn is still unsettled means the SDK ended the turn without ever
383
+ * emitting its result, so the turn will never settle on its own (issue
384
+ * #825). Stream-level debt, deliberately NOT reset per turn: a lagged
385
+ * idle can arrive after the next turn has already activated (issue
386
+ * #773), and the debt is what attributes it to the turn that owed it.
387
+ * Over-counting (an idle the SDK never emits) is benign: the counter
388
+ * just absorbs one future idle, and detection degrades to the status quo
389
+ * rather than misfiring. */
390
+ owedTrailingIdles: number;
177
391
  /** Maps the ACP `messageId` we expose to clients (see `messageIdForGrouping`)
178
392
  * to the SDK message uuid that the Agent SDK's rewind/resume APIs key on
179
393
  * (`Query.rewindFiles` takes a user-message uuid; `resumeSessionAt` takes an
@@ -248,6 +462,22 @@ type GatewayAuthMeta = {
248
462
  type GatewayAuthRequest = AuthenticateRequest & {
249
463
  _meta?: GatewayAuthMeta;
250
464
  };
465
+ /**
466
+ * Resolved, non-secret + secret routing config for the `main` provider. This is
467
+ * the shared shape produced by both `providers/set` and the legacy gateway auth
468
+ * path, and consumed by {@link createEnvForProvider}. `null` means the provider
469
+ * is unconfigured (no client-managed routing in effect).
470
+ */
471
+ type ProviderConfig = {
472
+ apiType: LlmProtocol;
473
+ baseUrl: string;
474
+ headers: Record<string, string>;
475
+ /** Present only for `apiType === "vertex"`. */
476
+ vertex?: {
477
+ projectId: string;
478
+ region: string;
479
+ };
480
+ };
251
481
  /**
252
482
  * Extra metadata that the agent provides for each tool_call / tool_update update.
253
483
  */
@@ -255,6 +485,7 @@ export type ToolUpdateMeta = {
255
485
  claudeCode?: {
256
486
  toolName: string;
257
487
  toolResponse?: unknown;
488
+ parentToolUseId?: string;
258
489
  };
259
490
  terminal_info?: {
260
491
  terminal_id: string;
@@ -277,6 +508,25 @@ export type ToolUseCache = {
277
508
  input: unknown;
278
509
  };
279
510
  };
511
+ type StreamedToolInput = {
512
+ id: string;
513
+ name: string;
514
+ partialJson: string;
515
+ /** Offset into `partialJson` the scanner has consumed; each delta only scans
516
+ * the newly appended fragment, so total scan work stays linear. */
517
+ scannedTo: number;
518
+ inString: boolean;
519
+ escaped: boolean;
520
+ objectDepth: number;
521
+ arrayDepth: number;
522
+ /** Offset of the most recent comma at the top level of the input object
523
+ * (-1 before the first). Everything before it is a complete field. */
524
+ lastTopLevelComma: number;
525
+ /** The comma offset the last emitted refinement was sliced at (-1 before the
526
+ * first), so a field boundary only triggers one recovery attempt. */
527
+ emittedThroughComma: number;
528
+ };
529
+ export type StreamedToolInputCache = Map<string, Map<number, StreamedToolInput>>;
280
530
  export declare function claudeCliPath(): Promise<string>;
281
531
  /**
282
532
  * Return user-message content with local-command marker tags removed, or
@@ -286,6 +536,23 @@ export declare function claudeCliPath(): Promise<string>;
286
536
  */
287
537
  export declare function stripLocalCommandMetadata(content: unknown): unknown | null;
288
538
  export declare function isLocalCommandMetadata(content: unknown): boolean;
539
+ /**
540
+ * True for the synthetic assistant message the CLI injects into the transcript
541
+ * when a turn fails authentication (e.g. "Not logged in · Please run /login",
542
+ * "Session expired. Please run /login to sign in again."). The `/login`
543
+ * instruction is Claude Code TUI-specific and meaningless to ACP clients
544
+ * (issue #863). The live prompt loop suppresses the text and fails the turn
545
+ * with `authRequired` so the client can run its own auth flow; replay must
546
+ * skip it too — both for parity with what the client saw live and because the
547
+ * message stays in the transcript forever, so it would resurface on every
548
+ * session/load even after the user has logged back in.
549
+ *
550
+ * Takes the API message (`message.message`), which replay only knows as
551
+ * `unknown`. The persisted record's structured `error: "authentication_failed"`
552
+ * marker is stripped by `getSessionMessages`, so the synthetic model + text is
553
+ * all both paths have to match on.
554
+ */
555
+ export declare function isSyntheticLoginMessage(apiMessage: unknown): boolean;
289
556
  export declare function resolvePermissionMode(defaultMode?: unknown, logger?: Logger): PermissionMode;
290
557
  /**
291
558
  * Builds the label for the "Always Allow" permission option so the user can see
@@ -323,6 +590,10 @@ export declare class ClaudeAcpAgent {
323
590
  clientCapabilities?: ClientCapabilities;
324
591
  logger: Logger;
325
592
  gatewayAuthRequest?: GatewayAuthRequest;
593
+ /** Client-managed LLM routing set via `providers/set`. Process-scoped and
594
+ * never persisted to disk (see the Configurable LLM Providers RFD). When
595
+ * set, it takes precedence over {@link gatewayAuthRequest}. */
596
+ providerConfig?: ProviderConfig;
326
597
  /** Grace period before a `session/cancel` forces a wedged prompt loop to
327
598
  * return "cancelled". See {@link DEFAULT_FORCE_CANCEL_GRACE_MS}. Mutable so
328
599
  * tests can shrink it. */
@@ -341,6 +612,36 @@ export declare class ClaudeAcpAgent {
341
612
  * the title is best-effort and another turn will retry. */
342
613
  private maybeUpdateSessionTitle;
343
614
  authenticate(_params: AuthenticateRequest): Promise<void>;
615
+ /**
616
+ * `providers/list` — returns the single client-configurable custom gateway
617
+ * provider (`main`). `current` carries only non-secret routing (never headers,
618
+ * which may hold secrets); only `apiType`/`baseUrl` are surfaced for UI
619
+ * display, and is `null` when the provider is not configured/disabled. The
620
+ * provider is optional (`required: false`): while disabled/unconfigured the
621
+ * agent falls back to its own default routing (normal Claude login).
622
+ */
623
+ unstable_listProviders(_params: ListProvidersRequest): Promise<ListProvidersResponse>;
624
+ /**
625
+ * `providers/set` — replace the full configuration for the `main` provider.
626
+ * Rejects unknown IDs, unsupported protocols, and empty/invalid base URLs with
627
+ * `invalid_params`. Config is process-scoped and applies to sessions created or
628
+ * loaded after this call.
629
+ */
630
+ unstable_setProvider(params: SetProviderRequest): Promise<SetProviderResponse>;
631
+ /**
632
+ * `providers/disable` — disabling the `main` provider clears any client-managed
633
+ * routing (both a `providers/set` config and the legacy gateway auth request),
634
+ * so the agent reverts to its own default routing and `providers/list` reports
635
+ * `current: null`. Disabling any other (unknown) ID is treated as a successful
636
+ * no-op per the RFD's idempotency rule.
637
+ */
638
+ unstable_disableProvider(params: DisableProviderRequest): Promise<DisableProviderResponse>;
639
+ /**
640
+ * Resolve the effective client-managed routing config. `providers/set` takes
641
+ * precedence; otherwise fall back to the legacy gateway auth request. Returns
642
+ * `null` when neither is configured.
643
+ */
644
+ resolveProviderConfig(): ProviderConfig | null;
344
645
  logout(_params: LogoutRequest): Promise<void>;
345
646
  prompt(params: PromptRequest): Promise<PromptResponse>;
346
647
  /** Lazily start the per-session consumer that drains the SDK query stream for
@@ -352,6 +653,22 @@ export declare class ClaudeAcpAgent {
352
653
  * Turn's deferred when that turn ends. Replaces the per-prompt message loop;
353
654
  * `params` only carries the (session-invariant) `sessionId`. */
354
655
  private runConsumer;
656
+ /** Route one orphaned command into the session's orphan-accounting lane:
657
+ * the per-uuid map on msg_lifecycle_v1 CLIs (drained by the command's own
658
+ * terminal lifecycle frame and the echo-less-result skip), the plain count
659
+ * elsewhere (the count lane can't express per-command states, so `state`
660
+ * only matters on the map lane). Both orphan-producing paths — cancel()'s
661
+ * queued-turn sweep and the consumer's force-cancel wedge path — must seed
662
+ * through here so the lane split stays a single mechanism.
663
+ *
664
+ * Known window: `msgLifecycleV1` is only learnable from the stream's first
665
+ * `system`/init (the control-channel initialize carries no capabilities),
666
+ * so a cancel that beats that drain seeds the COUNT lane on a
667
+ * lifecycle-capable CLI — where command coalescing can leave the count
668
+ * stale by N-1 (the pre-map bug, confined to this sub-second window and
669
+ * still healed by the next activation's reset). Structural until the SDK
670
+ * exposes capabilities before the stream starts. */
671
+ private trackOrphanCommand;
355
672
  cancel(params: CancelNotification): Promise<void>;
356
673
  /** Mark a session's SDK query stream as permanently ended and release the
357
674
  * resources tied to it: drop the consumer handle, dispose the settings
@@ -400,7 +717,12 @@ export declare class ClaudeAcpAgent {
400
717
  * instead of emitting a duplicate (see `emittedToolCalls`). Built via the same
401
718
  * `toolCallNotification` helper as the streamed path so the two are identical.
402
719
  * Tools the stream renders as a plan (TodoWrite) or suppresses (Task*) are
403
- * skipped so a permission prompt for them never surfaces a stray tool_call. */
720
+ * emitted too: a permission request referencing a tool call the client has
721
+ * never seen can trip strict clients (issue #851), so the reference must
722
+ * always resolve. Since the streamed path never completes those calls, they
723
+ * are resolved at tool_result time instead (see `toAcpNotifications`).
724
+ * `parentToolUseId` attributes a subagent's tool call to the Agent/Task call
725
+ * that spawned it, matching the streamed path's `_meta`. */
404
726
  private ensureToolCallEmitted;
405
727
  canUseTool(sessionId: string): CanUseTool;
406
728
  /**
@@ -563,6 +885,27 @@ export declare function buildConfigOptions(modes: SessionModeState, models: Sess
563
885
  * callers/tests) omits the row. */
564
886
  thinkingEnabled?: boolean): SessionConfigOption[];
565
887
  export declare function resolveModelPreference(models: ModelInfo[], preference: string): ModelInfo | null;
888
+ /** Map the live model reported by a resumed session onto the picker's model
889
+ * list. The CLI restores a resumed session's model from the transcript's
890
+ * last assistant message, which records the concrete API id (e.g.
891
+ * "claude-opus-4-6") with any "[1m]" context hint dropped. Tiers, in order:
892
+ * 1. Exact match with the Default entry's resolution — when a named alias
893
+ * shares Default's resolvedModel verbatim, the live id can't tell the
894
+ * two apart, and a never-customized session should stay on Default.
895
+ * 2. Exact resolvedModel match on a named row. Checked before the
896
+ * hint-stripped Default comparison so a live "claude-sonnet-5[1m]" lands
897
+ * on the "sonnet[1m]" row rather than a Default that resolves to the
898
+ * bare "claude-sonnet-5" — the two rows differ in context window, which
899
+ * drives `contextWindowSize` and capability gating downstream.
900
+ * 3. Hint-stripped match with Default's resolution — a session that never
901
+ * left the default resumes as the bare transcript id, and shouldn't show
902
+ * a concrete picker entry.
903
+ * 4. `resolveModelPreference` over the picker entries.
904
+ * 5. A model with no picker counterpart (e.g. excluded by an
905
+ * `availableModels` allowlist) is tracked verbatim, mirroring
906
+ * `syncModelAfterRefusalFallback`: the picker shows no selection, but the
907
+ * model-dependent bookkeeping stays truthful to what the SDK is running. */
908
+ export declare function matchResumedModel(models: ModelInfo[], liveModel: string): ModelInfo;
566
909
  /**
567
910
  * The exported picker-list boundary: {@link buildAllowlistedModels} (the
568
911
  * user's `availableModels` allowlist semantics — see its doc) composed with
@@ -608,6 +951,7 @@ export declare function toAcpNotifications(content: string | ContentBlockParam[]
608
951
  taskState?: TaskState;
609
952
  emittedToolCalls?: Set<string>;
610
953
  messageId?: string;
954
+ toolUseResult?: unknown;
611
955
  }): SessionNotification[];
612
956
  export declare function streamEventToAcpNotifications(message: SDKPartialAssistantMessage, sessionId: string, toolUseCache: ToolUseCache, client: AcpClient, logger: Logger, options?: {
613
957
  clientCapabilities?: ClientCapabilities;
@@ -615,6 +959,7 @@ export declare function streamEventToAcpNotifications(message: SDKPartialAssista
615
959
  taskState?: TaskState;
616
960
  emittedToolCalls?: Set<string>;
617
961
  messageId?: string;
962
+ streamedToolInputs?: StreamedToolInputCache;
618
963
  }): SessionNotification[];
619
964
  /** Run a `session/prompt` while honoring `$/cancel_request` for it. ACP clients
620
965
  * normally stop a turn with the `session/cancel` notification, but `signal`
@@ -1 +1 @@
1
- {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAGnB,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAGb,iBAAiB,EACjB,kBAAkB,EAElB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EAEpB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,UAAU,EAEV,aAAa,EAKb,SAAS,EAIT,OAAO,EACP,cAAc,EAEd,gBAAgB,EAChB,KAAK,EAKL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AA2BlG,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhD,OAAO,EASL,SAAS,EAKV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAwC,QAAQ,EAAe,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,iBAAiB,QACuC,CAAC;AAkBtE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAgDF;;;yDAGyD;AACzD,KAAK,iBAAiB,GAAG;IACvB,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;iFAIiF;AACjF,KAAK,IAAI,GAAG;IACV;qEACiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB;;4DAEwD;IACxD,kBAAkB,EAAE,OAAO,CAAC;IAC5B;2EACuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;4EACwE;IACxE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB;2EACuE;IACvE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;;;;;;mFAO+E;IAC/E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;;4CAIwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ;+EAC2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC;;;qDAGiD;IACjD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;gEAC4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB;;wEAEoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;qCAKiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;2EAEuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;oBAOgB;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;8CAE0C;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;mEAK+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC;;;;;uEAKmE;IACnE,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC;;kBAEc;IACd,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACjD,kBAAkB,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACjD;;;;kEAI8D;IAC9D,iBAAiB,EAAE,MAAM,CAAC;IAC1B;yEACqE;IACrE,SAAS,EAAE,SAAS,CAAC;IACrB;;;;mCAI+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;4CAIwC;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;wEAMoE;IACpE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;;;;;;;;;;uBAgBmB;IACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AAcF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QACX;;;;;;;;;;;;;;WAcG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;WAMG;QACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;KACnD,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB;;;;;OAKG;IACH,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,KAAK,kBAAkB,GAAG,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QAEX,QAAQ,EAAE,MAAM,CAAC;QAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IAEF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,CAAC;QACtD,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAsCrD;AAsED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CA0B1E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEhE;AAeD,wBAAgB,qBAAqB,CACnC,WAAW,CAAC,EAAE,OAAO,EACrB,MAAM,GAAE,MAAgB,GACvB,cAAc,CA8BhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC3C,QAAQ,EAAE,MAAM,GACf,MAAM,CAiCR;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;kFAE8E;IAC9E,iBAAiB,CACf,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5E;iFAC6E;IAC7E,0BAA0B,CACxB,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,yEAAyE;IACzE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAkDD,qBAAa,cAAc;IACzB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;+BAE2B;IAC3B,kBAAkB,EAAE,MAAM,CAAiC;gBAE/C,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAMxC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuJnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYlE,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoB9E,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAarE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkB9E;;;;gEAI4D;YAC9C,uBAAuB;IA6B/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7C,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA+I5D;qFACiF;IACjF,OAAO,CAAC,cAAc;IActB;;;;qEAIiE;YACnD,WAAW;IAs0CnB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0EvD;;;;;;;;;;;;;;;;;;gBAkBY;IACZ,OAAO,CAAC,gBAAgB;IAWxB;yDACqD;YACvC,eAAe;IA2B7B,4EAA4E;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyB9E,sBAAsB,CAC1B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,8BAA8B,CAAC;YAiH5B,gBAAgB;YAoChB,oBAAoB;IA6C5B,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKjF;;;;;;6CAMyC;YAC3B,2BAA2B;IA2BzC;;;;;;oFAMgF;YAClE,qBAAqB;IA0BnC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAiOzC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;;OAIG;YACW,qBAAqB;IAmCnC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;YAmCV,2BAA2B;YAa3B,kBAAkB;YAmBlB,sBAAsB;IAkJpC;;;;;oEAKgE;YAClD,6BAA6B;IA+B3C;;;;iFAI6E;IAC7E,OAAO,CAAC,qBAAqB;IAO7B;;;iEAG6D;YAC/C,aAAa;IAQ3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEAqCkE;YACpD,oBAAoB;IA6PlC;;;;;;;;;;;;;;;mEAe+D;YACjD,iBAAiB;YA6BjB,kBAAkB;IA2ChC;;;;;OAKG;YACW,WAAW;YAuBX,aAAa;CAkf5B;AAmLD,eAAO,MAAM,mBAAmB,aAO9B,CAAC;AAOH,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;;gBAGgB;AAChB,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAOzE;AAED;;;8CAG8C;AAC9C,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;gDACgD;AAChD,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,aAAa,QAAQ,CAAC;AAGnC;;;gCAGgC;AAChC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAElE;AAED;;;;;yDAKyD;AACzD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAahF;AAED;;8CAE8C;AAC9C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAY1E;AAED;6EAC6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,MAAM,GAAE,SAAS,EAAO,EACxB,YAAY,GAAE,MAAyB,EACvC,QAAQ,CAAC,EAAE,mBAAmB;AAC9B;;;;oCAIoC;AACpC,eAAe,CAAC,EAAE,OAAO,GACxB,mBAAmB,EAAE,CAoGvB;AA8DD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAoDhG;AA+HD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,EAAE,CAKb;AAoID,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CA6EpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,GAAG,SAAS,CAYrB;AA+ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,EACvF,IAAI,EAAE,WAAW,GAAG,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IAOtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAM/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,mBAAmB,EAAE,CAqSvB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,mBAAmB,EAAE,CAoDvB;AAED;;;;;;;;;;;oEAWoE;AACpE,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC3D,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAgB,MAAM;;;EAqCrB"}
1
+ {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EAGnB,kBAAkB,EAClB,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EAGb,iBAAiB,EACjB,kBAAkB,EAElB,aAAa,EACb,cAAc,EAEd,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EACT,UAAU,EAEV,aAAa,EAKb,SAAS,EAIT,OAAO,EACP,cAAc,EAEd,gBAAgB,EAChB,KAAK,EAKL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AA2BlG,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQhD,OAAO,EASL,SAAS,EAKV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAwC,QAAQ,EAAe,MAAM,YAAY,CAAC;AAEzF,eAAO,MAAM,iBAAiB,QACuC,CAAC;AAkBtE;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,KAAK,gBAAgB,GAAG;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAgDF;;;yDAGyD;AACzD,KAAK,iBAAiB,GAAG;IACvB,eAAe,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;iFAIiF;AACjF,KAAK,IAAI,GAAG;IACV;qEACiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB;;4DAEwD;IACxD,kBAAkB,EAAE,OAAO,CAAC;IAC5B;2EACuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB;;;+EAG2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;mDAO+C;IAC/C,eAAe,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;IAC1D;;;;;;;;iCAQ6B;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;6EAQyE;IACzE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAmCgC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;4EACwE;IACxE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACnB;2EACuE;IACvE,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB;;;;;;;;;;;;;+EAa2E;IAC3E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;gDAuB4C;IAC5C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IAC/D;;uEAEmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;iCAE6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;;4CAIwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ;+EAC2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC;;;qDAGiD;IACjD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;gEAC4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB;;wEAEoE;IACpE,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;qCAKiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;2EAEuE;IACvE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;oBAOgB;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;8CAE0C;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;;;mEAK+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC;;;;;uEAKmE;IACnE,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC;;kBAEc;IACd,gBAAgB,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACjD,kBAAkB,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACjD;;;;;+DAK2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B;yEACqE;IACrE,SAAS,EAAE,SAAS,CAAC;IACrB;;;;mCAI+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;4CAIwC;IACxC,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;wEAMoE;IACpE,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAsC6B;IAC7B,mBAAmB,EAAE,GAAG,CACtB,MAAM,EACN;QACE,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB;;;;;;;;;;;;iDAYyC;QACzC,aAAa,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;KACzC,CACF,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;sEAwBkE;IAClE,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;;uCAKmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAC1D;;;;;;;;;;;;;;;iCAe6B;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;;;;;;;uBAgBmB;IACnB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AA4DF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QACX;;;;;;;;;;;;;;WAcG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;WAMG;QACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAAC;KACnD,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB;;;;;OAKG;IACH,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,KAAK,kBAAkB,GAAG,mBAAmB,GAAG;IAAE,KAAK,CAAC,EAAE,eAAe,CAAA;CAAE,CAAC;AA6B5E;;;;;GAKG;AACH,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,+CAA+C;IAC/C,MAAM,CAAC,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QAEX,QAAQ,EAAE,MAAM,CAAC;QAEjB,YAAY,CAAC,EAAE,OAAO,CAAC;QAIvB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,cAAc,CAAC;QACtD,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;wEACoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB;2EACuE;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B;0EACsE;IACtE,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AA0DjF,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAsCrD;AAsED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CA0B1E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAepE;AAeD,wBAAgB,qBAAqB,CACnC,WAAW,CAAC,EAAE,OAAO,EACrB,MAAM,GAAE,MAAgB,GACvB,cAAc,CA8BhB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC3C,QAAQ,EAAE,MAAM,GACf,MAAM,CAiCR;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D;;kFAE8E;IAC9E,iBAAiB,CACf,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5E;iFAC6E;IAC7E,0BAA0B,CACxB,MAAM,EAAE,wBAAwB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,4BAA4B,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,yEAAyE;IACzE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAkDD,qBAAa,cAAc;IACzB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;oEAEgE;IAChE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;+BAE2B;IAC3B,kBAAkB,EAAE,MAAM,CAAiC;gBAE/C,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM;IAMxC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2JnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYlE,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoB9E,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAarE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkB9E;;;;gEAI4D;YAC9C,uBAAuB;IA6B/B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D;;;;;;;OAOG;IACG,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW3F;;;;;OAKG;IACG,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiDpF;;;;;;OAMG;IACG,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAShG;;;;OAIG;IACH,qBAAqB,IAAI,cAAc,GAAG,IAAI;IAOxC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA+I5D;qFACiF;IACjF,OAAO,CAAC,cAAc;IActB;;;;qEAIiE;YACnD,WAAW;IA65DzB;;;;;;;;;;;;;;yDAcqD;IACrD,OAAO,CAAC,kBAAkB;IAapB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoNvD;;;;;;;;;;;;;;;;;;gBAkBY;IACZ,OAAO,CAAC,gBAAgB;IAWxB;yDACqD;YACvC,eAAe;IAwB7B,4EAA4E;IACtE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAU3E,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyB9E,sBAAsB,CAC1B,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,8BAA8B,CAAC;YAqI5B,gBAAgB;YAoChB,oBAAoB;IAoD5B,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKxE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKjF;;;;;;6CAMyC;YAC3B,2BAA2B;IA6BzC;;;;;;;;;;;iEAW6D;YAC/C,qBAAqB;IAkCnC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;IAuQzC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;;;OAIG;YACW,qBAAqB;IAmCnC;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;YAmCV,2BAA2B;YAa3B,kBAAkB;YAmBlB,sBAAsB;IAwJpC;;;;;oEAKgE;YAClD,6BAA6B;IA+B3C;;;;iFAI6E;IAC7E,OAAO,CAAC,qBAAqB;IAO7B;;;iEAG6D;YAC/C,aAAa;IAQ3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEAqCkE;YACpD,oBAAoB;IA6PlC;;;;;;;;;;;;;;;mEAe+D;YACjD,iBAAiB;YA6BjB,kBAAkB;IA2ChC;;;;;OAKG;YACW,WAAW;YAuBX,aAAa;CAijB5B;AAuOD,eAAO,MAAM,mBAAmB,aAO9B,CAAC;AAOH,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;;gBAGgB;AAChB,wBAAsB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAOzE;AAED;;;8CAG8C;AAC9C,eAAO,MAAM,cAAc,SAAS,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C;gDACgD;AAChD,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,aAAa,QAAQ,CAAC;AAGnC;;;gCAGgC;AAChC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAElE;AAED;;;;;yDAKyD;AACzD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAahF;AAED;;8CAE8C;AAC9C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAY1E;AAED;6EAC6E;AAC7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,MAAM,GAAE,SAAS,EAAO,EACxB,YAAY,GAAE,MAAyB,EACvC,QAAQ,CAAC,EAAE,mBAAmB;AAC9B;;;;oCAIoC;AACpC,eAAe,CAAC,EAAE,OAAO,GACxB,mBAAmB,EAAE,CAoGvB;AAoFD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA+DhG;AAED;;;;;;;;;;;;;;;;;;;gFAmBgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAiCnF;AA+HD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,EAAE,CAKb;AAoLD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CA6EpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,GAAG,SAAS,CAYrB;AAiHD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,EACvF,IAAI,EAAE,WAAW,GAAG,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IAOtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAM/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA,mBAAmB,EAAE,CAqWvB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C,GACA,mBAAmB,EAAE,CAgIvB;AAED;;;;;;;;;;;oEAWoE;AACpE,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,EAC3D,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,CAczB;AAED,wBAAgB,MAAM;;;EAwCrB"}