@apify/actors-mcp-server 0.12.1-beta.3 → 0.13.1-beta.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.
Files changed (73) hide show
  1. package/dist/const.d.ts +6 -5
  2. package/dist/const.d.ts.map +1 -1
  3. package/dist/const.js +6 -5
  4. package/dist/const.js.map +1 -1
  5. package/dist/dev_server.d.ts +18 -6
  6. package/dist/dev_server.d.ts.map +1 -1
  7. package/dist/dev_server.js +139 -14
  8. package/dist/dev_server.js.map +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +4 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/mcp/legacy_server.d.ts +75 -0
  14. package/dist/mcp/legacy_server.d.ts.map +1 -0
  15. package/dist/mcp/legacy_server.js +560 -0
  16. package/dist/mcp/legacy_server.js.map +1 -0
  17. package/dist/mcp/server.d.ts +110 -86
  18. package/dist/mcp/server.d.ts.map +1 -1
  19. package/dist/mcp/server.js +273 -668
  20. package/dist/mcp/server.js.map +1 -1
  21. package/dist/mcp/stateless_server.d.ts +58 -0
  22. package/dist/mcp/stateless_server.d.ts.map +1 -0
  23. package/dist/mcp/stateless_server.js +332 -0
  24. package/dist/mcp/stateless_server.js.map +1 -0
  25. package/dist/mcp/task_execution.d.ts +15 -8
  26. package/dist/mcp/task_execution.d.ts.map +1 -1
  27. package/dist/mcp/task_execution.js +29 -22
  28. package/dist/mcp/task_execution.js.map +1 -1
  29. package/dist/mcp/tool_call_engine.d.ts +23 -10
  30. package/dist/mcp/tool_call_engine.d.ts.map +1 -1
  31. package/dist/mcp/tool_call_engine.js +35 -26
  32. package/dist/mcp/tool_call_engine.js.map +1 -1
  33. package/dist/mcp/tool_call_telemetry.d.ts +4 -4
  34. package/dist/mcp/tool_call_telemetry.d.ts.map +1 -1
  35. package/dist/mcp/tool_call_telemetry.js +5 -5
  36. package/dist/mcp/tool_call_telemetry.js.map +1 -1
  37. package/dist/mcp/tool_dispatch.d.ts +19 -15
  38. package/dist/mcp/tool_dispatch.d.ts.map +1 -1
  39. package/dist/mcp/tool_dispatch.js +19 -17
  40. package/dist/mcp/tool_dispatch.js.map +1 -1
  41. package/dist/tools/actors/call_actor.js +1 -1
  42. package/dist/tools/actors/call_actor.js.map +1 -1
  43. package/dist/tools/actors/fetch_actor_details.d.ts.map +1 -1
  44. package/dist/tools/actors/fetch_actor_details.js +4 -4
  45. package/dist/tools/actors/fetch_actor_details.js.map +1 -1
  46. package/dist/tools/actors/search_actors.js +2 -2
  47. package/dist/tools/actors/search_actors.js.map +1 -1
  48. package/dist/tools/dev/report_problem.d.ts.map +1 -1
  49. package/dist/tools/dev/report_problem.js +2 -0
  50. package/dist/tools/dev/report_problem.js.map +1 -1
  51. package/dist/tools/runs/get_actor_run.js +2 -2
  52. package/dist/tools/runs/get_actor_run.js.map +1 -1
  53. package/dist/tools/runs/get_actor_run_log.d.ts.map +1 -1
  54. package/dist/tools/runs/get_actor_run_log.js +2 -0
  55. package/dist/tools/runs/get_actor_run_log.js.map +1 -1
  56. package/dist/tools/storage/get_dataset_items.js +2 -2
  57. package/dist/tools/storage/get_dataset_items.js.map +1 -1
  58. package/dist/tools/storage/storage_helpers.d.ts +1 -1
  59. package/dist/tools/storage/storage_helpers.d.ts.map +1 -1
  60. package/dist/tools/storage/storage_helpers.js.map +1 -1
  61. package/dist/tools/widgets/search_actors_widget.js +2 -2
  62. package/dist/tools/widgets/search_actors_widget.js.map +1 -1
  63. package/dist/tsconfig.tsbuildinfo +1 -1
  64. package/dist/types.d.ts +16 -20
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/types.js.map +1 -1
  67. package/dist/utils/tool_status.d.ts +6 -0
  68. package/dist/utils/tool_status.d.ts.map +1 -1
  69. package/dist/utils/tool_status.js +7 -0
  70. package/dist/utils/tool_status.js.map +1 -1
  71. package/manifest.json +1 -1
  72. package/package.json +6 -2
  73. package/server.json +1 -1
@@ -1,91 +1,134 @@
1
1
  /**
2
2
  * Model Context Protocol (MCP) server for Apify Actors
3
3
  */
4
- import type { TaskStore } from '@modelcontextprotocol/sdk/experimental/tasks/interfaces.js';
5
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
6
4
  import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js';
5
+ import type { InitializeRequest } from '@modelcontextprotocol/sdk/types.js';
7
6
  import { ApifyClient } from '../apify_client.js';
8
- import type { ActorsMcpServerOptions, ActorStore, Input, TelemetryEnv, ToolEntry } from '../types.js';
7
+ import { createPromptService } from '../prompts/prompt_service.js';
8
+ import { createResourceService } from '../resources/resource_service.js';
9
+ import type { ActorsMcpServerOptions, ActorStore, ApifyRequestParams, Input, TelemetryEnv, ToolEntry } from '../types.js';
9
10
  import { SERVER_MODE } from '../types.js';
11
+ import type { McpClientContext } from './client_context.js';
12
+ import type { LegacyMcpServerHost } from './legacy_server.js';
13
+ import type { StatelessMcpServerHost, StatelessRequestSnapshot } from './stateless_server.js';
10
14
  /**
11
- * Create Apify MCP server
15
+ * The shared-Apify-behavior facade: owns the tool registry + loaders, server-mode resolution,
16
+ * telemetry config, widgets, prompt/resource services, and token/client resolution. Constructs
17
+ * exactly one {@link LegacyMcpServer} (2025-era adapter) and delegates all v1 protocol work to it.
18
+ * Implements {@link StatelessMcpServerHost} for the 2026-07-28 adapter too, but does not construct
19
+ * it — `createStatelessServer` builds one per request from a snapshot this facade hands out.
12
20
  */
13
- export declare class ActorsMcpServer {
14
- readonly server: Server;
21
+ export declare class ActorsMcpServer implements LegacyMcpServerHost, StatelessMcpServerHost {
22
+ /**
23
+ * The resolved tool map the instance's own (stateful) connection serves, composed from
24
+ * `toolSources` once the handshake makes mode and client known. A stateless request never
25
+ * reads it — its snapshot re-composes from the sources ({@link createRequestSnapshot}).
26
+ */
15
27
  readonly tools: Map<string, ToolEntry>;
16
- private sigintHandler;
17
- private currentLogLevel;
18
28
  readonly options: ActorsMcpServerOptions;
19
- readonly taskStore: TaskStore;
20
29
  readonly actorStore?: ActorStore;
21
- private clientContext;
30
+ private _clientContext;
22
31
  /**
23
32
  * Resolved server mode. Preliminary value at construction (`'auto'` → `DEFAULT`).
24
- * Finalized inside the `initialize` request handler (see constructor) once the
33
+ * Finalized inside the `initialize` request handler (see {@link applyInitialize}) once the
25
34
  * client's capabilities are known. Effectively set-once per connection.
26
35
  */
27
- serverMode: SERVER_MODE;
36
+ private _serverMode;
28
37
  /**
29
38
  * Raw option captured from `options.serverMode` (or the legacy `uiMode`). Re-resolved
30
39
  * inside the initialize handler when set to `'auto'`; explicit `'default'`/`'apps'`
31
40
  * values bypass auto-detect.
32
41
  */
33
42
  private readonly serverModeOption;
34
- /** True once the server mode is final: at construction for explicit `default`/`apps`, or after
35
- * the initialize handler resolves `'auto'`. Composing before this in `'auto'` mode would use
36
- * the preliminary DEFAULT mode and produce the wrong (non-widget) tool variants, so composition
37
- * waits for it. Distinct from {@link clientKnown}, which only withholds client-gated tools. */
43
+ /** True once the server mode is final (at construction, or after initialize resolves `'auto'`).
44
+ * Composition waits for it — composing earlier in `'auto'` mode would produce the wrong tool
45
+ * variants. Distinct from {@link clientKnown}, which only withholds client-gated tools. */
38
46
  private serverModeResolved;
39
47
  /**
40
- * Tool sources queued until composition is possible. Enqueued when the mode is not yet resolved
41
- * (`'auto'` before initialize), and re-composed by the initialize flush — which is also when the
42
- * client becomes known, so any client-gated tools withheld by an eager compose are added then.
43
- * We capture the exact actor-tool slice fetched for each request so the flush composes every
44
- * entry against *its own* actor list rather than the accumulated union across unrelated requests.
48
+ * Tool sources queued until composition is possible (`'auto'` mode before initialize),
49
+ * re-composed by the initialize flush once mode and client are known. Each entry keeps the
50
+ * exact actor-tool slice fetched for its input, so the flush composes it against its own list.
51
+ * Keyed like {@link toolSources}: a stateless-only facade never drains this queue, so a reload
52
+ * replaces its entry instead of appending, keeping the queue bounded by distinct inputs.
45
53
  */
46
- private pendingToolsUntilClientKnown;
54
+ private readonly pendingToolsUntilClientKnown;
55
+ /**
56
+ * The unresolved inputs `tools` is composed from — not a second tool registry. Retained (never
57
+ * drained) so a stateless request, whose identity arrives per request, can compose its own
58
+ * resolved set from the same inputs without touching `tools`. Keyed by input because nothing
59
+ * drains it: a reload replaces its entry instead of appending, bounding the map by distinct
60
+ * inputs instead of growing per reload for the facade's lifetime.
61
+ */
62
+ private readonly toolSources;
47
63
  readonly telemetryEnabled: boolean;
48
64
  readonly telemetryEnv: TelemetryEnv;
65
+ readonly promptService: ReturnType<typeof createPromptService>;
66
+ readonly resourceService: ReturnType<typeof createResourceService>;
49
67
  private availableWidgets;
68
+ /**
69
+ * In-flight or successfully settled widget resolution, memoized so the disk scan runs once. A
70
+ * failed attempt is dropped rather than kept (see {@link resolveWidgetsForMode}).
71
+ */
72
+ private widgetsResolution;
50
73
  /** Set in the initialize handler once client capabilities are known. */
51
74
  clientSupportsUi: boolean;
75
+ private readonly legacyServer;
76
+ get clientContext(): McpClientContext | undefined;
77
+ get serverMode(): SERVER_MODE;
78
+ /** The instance's own view: what a stateful connection composes and gates against. */
79
+ private get servingContext();
52
80
  constructor(options?: ActorsMcpServerOptions);
53
81
  /**
54
82
  * Telemetry configuration with precedence: explicit options > env vars > defaults
55
83
  */
56
84
  private setupTelemetry;
57
85
  /**
58
- * Override the SDK's `initialize` request handler to run mode resolution and
59
- * pending-source flush before `InitializeResult` is sent. Delegates boilerplate
60
- * (protocolVersion, capabilities, instructions) to the SDK's captured `_oninitialize`.
61
- *
62
- * Not using `server.oninitialized`: the SDK dispatches notification handlers
63
- * fire-and-forget (separate microtask), so a follow-up `tools/list` can race past them.
64
- * The request handler guarantees tools are final before the response and the first `tools/list`.
86
+ * The shared initialize steps the legacy adapter delegates to before returning
87
+ * `InitializeResult`: refresh client context, capture the raw request for session recovery,
88
+ * resolve `'auto'` mode against client capabilities, flush pending tool sources, resolve
89
+ * widgets. Ordering is load-bearing: mode before compose, compose before instructions, so tool
90
+ * presence reflects the final composed set.
65
91
  */
66
- private setupInitializeHandler;
92
+ applyInitialize(request: InitializeRequest): Promise<void>;
93
+ /**
94
+ * Server instructions for the current connection: mode plus whether report-problem is loaded.
95
+ * Read by the legacy adapter after `applyInitialize`, when the tool set is final.
96
+ */
97
+ getServerInstructions(): string;
98
+ /**
99
+ * Instructions for a stateless serving unit. The SDK answers `server/discover` from them before
100
+ * any request's envelope is seen, so they are configuration-level: no report-problem mention
101
+ * (that tool's presence is decided per request) and the configured mode only. Reads
102
+ * `serverModeOption`, never `_serverMode` — one facade serves both eras, and a legacy
103
+ * `initialize` rewrites `_serverMode`, which must not leak into later stateless requests.
104
+ */
105
+ getStatelessServerInstructions(): string;
106
+ /**
107
+ * Build the read-only view one stateless (2026-07-28) request is served from: mode and tool set
108
+ * resolved against *that request's* declared identity, and a resource service bound to both.
109
+ * Nothing request-specific is written back to the facade, so concurrent requests with different
110
+ * identities cannot contaminate each other.
111
+ */
112
+ createRequestSnapshot(clientContext: McpClientContext | undefined): Promise<StatelessRequestSnapshot>;
67
113
  /** True once the connecting client is known (set in the initialize handler, or hydrated by a
68
114
  * recovery path). Only client-gated tools wait for this so the per-client blocklist can be
69
115
  * applied; client-agnostic tools compose regardless. */
70
116
  private get clientKnown();
71
117
  /**
72
- * Compose the tool list for the current connection: resolve mode-specific tools, then drop
73
- * report-problem unless it is currently servable (see {@link isReportProblemServable}).
74
- * report-problem is a default-injected tool (via tools_loader) rather than a category member,
75
- * gated here by servability. Every other tool composes eagerly, so a recovery/rehydration load
76
- * without an initialize still restores them. report-problem is withheld until the client is known
77
- * and re-added by the initialize flush. Used by every input-driven load path and the flush.
78
- * (Actor tools are never gated, so they need no filtering.)
118
+ * Compose one source's tool list against `view`: resolve mode-specific tools, then drop
119
+ * report-problem unless servable for that view ({@link isReportProblemServable}). Load paths
120
+ * and the initialize flush pass the instance's own {@link servingContext};
121
+ * {@link createRequestSnapshot} passes a view derived from one stateless request.
79
122
  */
80
123
  private composeToolsForClient;
81
124
  /**
82
- * Whether report-problem may be served on this connection right now:
83
- * - Its only function is forwarding submissions via telemetry, so it is never servable when
84
- * telemetry is disabled (it would just fake an acknowledgement into the void).
85
- * - It cannot be judged until the connecting client is known, so it is withheld until then;
86
- * the initialize flush re-composes and adds it if the client allows.
87
- * Every other tool is unconditionally servable, so recovery loads compose them eagerly and they
88
- * survive a load that never sees an initialize.
125
+ * Whether report-problem may be served against `view`. Never without telemetry (submissions
126
+ * would vanish into the void) and never before a client context exists — on a stateful
127
+ * connection the initialize flush re-adds it once the handshake supplies one.
128
+ *
129
+ * The stateless envelope requires protocol and capability metadata but not `clientInfo`. A
130
+ * request declaring no client name matches no blocked substring and is served the tool by
131
+ * policy.
89
132
  */
90
133
  private isReportProblemServable;
91
134
  private composePendingToolsForClient;
@@ -111,12 +154,10 @@ export declare class ActorsMcpServer {
111
154
  */
112
155
  listAllToolNames(): string[];
113
156
  /**
114
- * Buffer-or-compose gate shared by the actor-tools loaders. If the server mode isn't resolved
115
- * yet ('auto' before initialize), queue the whole source for `composePendingToolsForClient` and
116
- * (if non-empty) upsert the mode-agnostic actor tools immediately.
117
- * Once the mode is resolved, compose the client-specific set via `composeToolsForClient` (which
118
- * withholds report-problem until the client is known) and upsert it; if the client still isn't
119
- * known, queue the source so the initialize flush re-composes and adds the client-gated tools.
157
+ * Buffer-or-compose gate shared by the actor-tools loaders. Mode not resolved yet: queue the
158
+ * source for the initialize flush, upserting the mode-agnostic actor tools immediately. Mode
159
+ * resolved: compose and upsert now; if the client is still unknown, also queue the source so
160
+ * the flush adds the client-gated tools.
120
161
  */
121
162
  private registerFetchedActorTools;
122
163
  /**
@@ -127,63 +168,46 @@ export declare class ActorsMcpServer {
127
168
  /** Load tools from URL params. Used by SSE and HTTP entry points. */
128
169
  loadToolsFromUrl(url: string, apifyClient: ApifyClient): Promise<void>;
129
170
  /**
130
- * Two-phase: getActors (async, client-agnostic Apify fetch) then composeToolsForClient
131
- * (sync compose + servability filter). If the mode isn't resolved yet ('auto' before initialize)
132
- * the whole source is queued for the flush. Otherwise tools compose immediately; client-gated
133
- * tools are withheld until the client is known, and the source is queued so the flush adds them.
134
- *
135
- * Don't move the getActors await into the initialize handler — clients time out
136
- * waiting for InitializeResult. The queue buffers already-fetched data, not network
137
- * work. See #721.
171
+ * Two-phase: getActors (async, client-agnostic fetch) then the buffer-or-compose gate.
172
+ * Don't move the getActors await into the initialize handler — clients time out waiting for
173
+ * InitializeResult; the queue buffers already-fetched data, not network work. See #721.
138
174
  */
139
175
  loadToolsFromInput(input: Input, apifyClient: ApifyClient): Promise<void>;
140
- /** Delete tools from the server. */
141
- removeToolsByName(toolNames: string[]): string[];
142
176
  /**
143
- * Upsert new tools.
144
- * @param tools - Array of tool wrappers to add or update
145
- * @returns Array of added/updated tool wrappers
177
+ * Upsert new tools. Writes the shared tool map directly, bypassing the retained load sources,
178
+ * so a tool added only this way reaches no stateless snapshot. Load through `loadToolsFrom*` /
179
+ * `loadToolsByName` instead to serve a tool on both protocol eras.
146
180
  */
147
181
  upsertTools(tools: ToolEntry[]): ToolEntry[];
148
- private removeToolByName;
149
- private setupErrorHandling;
150
- private setupLoggingProxy;
151
- private setupLoggingHandlers;
182
+ private toStoredTool;
152
183
  /**
153
184
  * Token sources in order: per-request `_meta.apifyToken` (stdio inline) > server-instance
154
185
  * option (set by the transport from `Authorization` header or stdio env). No env fallback:
155
186
  * dev_server / production must extract the token from request headers so payment
156
187
  * mode (no token) behaves identically to production.
157
188
  */
158
- private resolveApifyToken;
189
+ resolveApifyToken(meta?: ApifyRequestParams['_meta']): string | undefined;
159
190
  /**
160
191
  * Token-scoped client for resources/read (the API proxy needs auth). Deliberately token-only:
161
192
  * unlike the CallTool path it does NOT forward provider/payment headers, so a payment-only
162
193
  * session (x402/Skyfire, no Apify token) has no client and every read fails by design.
163
194
  * Still carries the request-origin tag from the client context captured by this point.
164
195
  */
165
- private resolveApifyClient;
166
- private setupResourceHandlers;
167
- /**
168
- * Sets up MCP request handlers for prompts. The prompt service throws domain errors; the
169
- * boundary maps them to `McpError` so wire output is unchanged.
170
- */
171
- private setupPromptHandlers;
172
- /**
173
- * Fetches a task by ID, softFail-logging and throwing a client-facing McpError if it doesn't exist.
174
- */
175
- private getTaskOrThrow;
196
+ resolveApifyClient(params: ApifyRequestParams): ApifyClient | undefined;
197
+ /** The one place a request-scoped Apify client is constructed, on either protocol era. */
198
+ private createApifyClient;
176
199
  /**
177
- * Sets up MCP request handlers for long-running tasks.
178
- * Each handler reads `_meta.mcpSessionId` (injected at the transport layer) to isolate
179
- * per-session task stores.
200
+ * Widgets servable in `mode`: none outside apps mode, otherwise the disk registry. A successful
201
+ * scan is memoized per facade (a widget file appearing later is not picked up); a failed one is
202
+ * dropped so the next caller retries. Touches no per-connection state, so a per-request caller
203
+ * cannot disturb a concurrent one.
180
204
  */
181
- private setupTaskHandlers;
182
- private setupToolHandlers;
205
+ private resolveWidgetsForMode;
183
206
  /**
184
- * Resolves widgets and determines which ones are ready to be served.
207
+ * Resolve the instance's own widget map for this connection's mode. The only writer of that
208
+ * field — per-request callers take the map `resolveWidgetsForMode` returns instead.
185
209
  */
186
- private resolveWidgets;
210
+ private resolveInstanceWidgets;
187
211
  connect(transport: Transport): Promise<void>;
188
212
  close(): Promise<void>;
189
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAK5E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAIzE,OAAO,KAAK,EACR,sBAAsB,EACtB,UAAU,EACV,kBAAkB,EAClB,KAAK,EAEL,YAAY,EACZ,SAAS,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAa,MAAM,aAAa,CAAC;AAMrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AA4D9F;;;;;;GAMG;AACH,qBAAa,eAAgB,YAAW,mBAAmB,EAAE,sBAAsB;IAC/E;;;;OAIG;IACH,SAAgB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,SAAgB,OAAO,EAAE,sBAAsB,CAAC;IAChD,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxC,OAAO,CAAC,cAAc,CAA+B;IACrD;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAc;IACjC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD;;gGAE4F;IAC5F,OAAO,CAAC,kBAAkB,CAAU;IACpC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAiC;IAC9E;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAG7D,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C,SAAgB,YAAY,EAAE,YAAY,CAAC;IAG3C,SAAgB,aAAa,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACtE,SAAgB,eAAe,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAG1E,OAAO,CAAC,gBAAgB,CAA2C;IAEnE;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAoD;IAE7E,wEAAwE;IACjE,gBAAgB,UAAS;IAGhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAE/C,IAAW,aAAa,IAAI,gBAAgB,GAAG,SAAS,CAEvD;IAED,IAAW,UAAU,IAAI,WAAW,CAEnC;IAED,sFAAsF;IACtF,OAAO,KAAK,cAAc,GAEzB;gBAEW,OAAO,GAAE,sBAA2B;IAiChD;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;OAMG;IACU,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvE;;;OAGG;IACI,qBAAqB,IAAI,MAAM;IAItC;;;;;;OAMG;IACI,8BAA8B,IAAI,MAAM;IAI/C;;;;;OAKG;IACU,qBAAqB,CAAC,aAAa,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA+BlH;;6DAEyD;IACzD,OAAO,KAAK,WAAW,GAEtB;IAED;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,4BAA4B;IAepC;;OAEG;IACI,aAAa,IAAI,MAAM,EAAE;IAIhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;OAEG;IACI,kBAAkB,IAAI,MAAM,EAAE;IAMrC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;;OAGG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAInC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;OAGG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW;IAc1E,qEAAqE;IACxD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW;IAWnE;;;;OAIG;IACU,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtF;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE;IAUrC,OAAO,CAAC,YAAY;IAIpB;;;;;OAKG;IACI,iBAAiB,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS;IAIhF;;;;;OAKG;IACI,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,GAAG,SAAS;IAI9E,0FAA0F;IAC1F,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;YACW,qBAAqB;IAiBnC;;;OAGG;YACW,sBAAsB;IAI9B,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAU/B"}