@silkweave/ai 1.9.1

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.
@@ -0,0 +1,14 @@
1
+
2
+ $ tsdown
3
+ ℹ tsdown v0.21.10 powered by rolldown v1.0.0-rc.17
4
+ ℹ config file: /Users/atomic/projects/silkweave/silkweave/packages/ai/tsdown.config.ts
5
+ ℹ entry: src/index.ts
6
+ ℹ tsconfig: tsconfig.json
7
+ ℹ Build start
8
+ ℹ Cleaning 4 files
9
+ ℹ build/index.mjs 4.13 kB │ gzip: 1.68 kB
10
+ ℹ build/index.mjs.map 8.81 kB │ gzip: 3.19 kB
11
+ ℹ build/index.d.mts.map 0.84 kB │ gzip: 0.41 kB
12
+ ℹ build/index.d.mts 5.20 kB │ gzip: 2.01 kB
13
+ ℹ 4 files, total: 18.98 kB
14
+ ✔ Build complete in 984ms
@@ -0,0 +1,3 @@
1
+ $ pnpm lint && pnpm typecheck
2
+ $ eslint
3
+ $ tsc --noEmit
@@ -0,0 +1,2 @@
1
+
2
+ $ eslint
@@ -0,0 +1,15 @@
1
+
2
+ $ pnpm clean && pnpm build
3
+ $ rimraf build
4
+ $ tsdown
5
+ ℹ tsdown v0.21.10 powered by rolldown v1.0.0-rc.17
6
+ ℹ config file: /Users/atomic/projects/silkweave/silkweave/packages/ai/tsdown.config.ts
7
+ ℹ entry: src/index.ts
8
+ ℹ tsconfig: tsconfig.json
9
+ ℹ Build start
10
+ ℹ build/index.mjs 4.13 kB │ gzip: 1.68 kB
11
+ ℹ build/index.mjs.map 8.81 kB │ gzip: 3.19 kB
12
+ ℹ build/index.d.mts.map 0.84 kB │ gzip: 0.41 kB
13
+ ℹ build/index.d.mts 5.20 kB │ gzip: 2.01 kB
14
+ ℹ 4 files, total: 18.98 kB
15
+ ✔ Build complete in 907ms
package/README.md ADDED
@@ -0,0 +1,117 @@
1
+ # @silkweave/ai
2
+
3
+ Vercel AI SDK integration for [Silkweave](https://github.com/silkweave/silkweave) - bridge `useChat` to a tRPC subscription backed by a Silkweave streaming action, with no Data Stream Protocol in the middle.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ pnpm add @silkweave/ai @silkweave/core ai
9
+ # plus whichever provider you want
10
+ pnpm add @ai-sdk/anthropic
11
+ ```
12
+
13
+ `ai` (Vercel AI SDK v5+) is a peer dependency.
14
+
15
+ ## What's Inside
16
+
17
+ | Export | What it does |
18
+ |---|---|
19
+ | `createChatAction({ model, ... })` | Server-side: wraps AI SDK's `streamText` in a streaming Silkweave action that yields `UIMessageChunk`s - the exact shape `useChat` expects. |
20
+ | `silkweaveTransport(subscribe)` | Client-side: builds a custom `ChatTransport` for `useChat` that consumes any subscribe-style function (typically a tRPC subscription procedure) and surfaces chunks as a `ReadableStream<UIMessageChunk>`. |
21
+
22
+ ## Why this exists
23
+
24
+ Vercel AI SDK's `useChat` ships with `DefaultChatTransport`, which expects an HTTP endpoint emitting AI SDK's prefix-coded "Data Stream Protocol". If your backend is tRPC, that means writing a separate non-tRPC route, losing your existing typed client, auth, and middleware.
25
+
26
+ A custom `ChatTransport` returns `Promise<ReadableStream<UIMessageChunk>>`. The chunks in that stream are **plain JS objects** - `useChat` doesn't care where they came from. tRPC subscriptions yield objects. The fit is mechanical.
27
+
28
+ This package gives you the two pieces:
29
+ 1. A server-side action that produces correctly-shaped chunks from `streamText`
30
+ 2. A client-side transport that adapts a subscribe function into the stream `useChat` wants
31
+
32
+ ## Server-side: `createChatAction`
33
+
34
+ ```typescript
35
+ import { silkweave } from '@silkweave/core'
36
+ import { trpc } from '@silkweave/trpc'
37
+ import { createChatAction } from '@silkweave/ai'
38
+ import { anthropic } from '@ai-sdk/anthropic'
39
+
40
+ const ChatAction = createChatAction({
41
+ model: anthropic('claude-sonnet-4-6'),
42
+ system: 'You are a helpful assistant.'
43
+ })
44
+
45
+ await silkweave({ name: 'chat-server', description: 'AI Chat', version: '1.0.0' })
46
+ .adapter(trpc({ host: 'localhost', port: 8080 }))
47
+ .action(ChatAction)
48
+ .start()
49
+ ```
50
+
51
+ The action accepts the input shape `useChat` sends through a custom transport (`messages`, `trigger`, `chatId`, `messageId`) and yields `UIMessageChunk`s directly from `streamText().toUIMessageStream()`. Because it's a streaming action with a `chunk` schema, the tRPC adapter registers it as a `.subscription()`.
52
+
53
+ ### Options
54
+
55
+ | Field | Type | Description |
56
+ |---|---|---|
57
+ | `model` | `LanguageModel` | The model to drive (e.g. `anthropic('claude-sonnet-4-6')`). Required. |
58
+ | `name` | `string` | Action name. Defaults to `'chat'`. |
59
+ | `description` | `string` | Action description. |
60
+ | `system` | `string` | System prompt. |
61
+ | `tools` | `ToolSet` | Tools passed through to `streamText`. |
62
+ | `maxOutputTokens` | `number` | Max model output tokens. |
63
+ | `temperature` | `number` | Model temperature. |
64
+
65
+ ## Client-side: `silkweaveTransport`
66
+
67
+ ```typescript
68
+ import { useChat } from '@ai-sdk/react'
69
+ import { silkweaveTransport } from '@silkweave/ai'
70
+ import { trpc } from './trpc-client'
71
+
72
+ const transport = silkweaveTransport(trpc.chat.subscribe)
73
+
74
+ export function Chat() {
75
+ const { messages, sendMessage, status } = useChat({ transport })
76
+ // ...
77
+ }
78
+ ```
79
+
80
+ The `subscribe` argument can be the tRPC procedure reference itself - its `(input, callbacks) => { unsubscribe }` shape is what `silkweaveTransport` expects. You can also pass a wrapper if you need to inject auth headers or transform the input before it hits the server.
81
+
82
+ The subscribe function receives:
83
+
84
+ ```ts
85
+ input: {
86
+ messages: UIMessage[]
87
+ trigger: 'submit-message' | 'regenerate-message'
88
+ chatId: string
89
+ messageId: string | undefined
90
+ metadata?: unknown
91
+ body?: Record<string, unknown>
92
+ headers?: Record<string, string>
93
+ }
94
+
95
+ callbacks: {
96
+ onData(chunk: UIMessageChunk): void
97
+ onError(error: unknown): void
98
+ onComplete(): void
99
+ }
100
+ ```
101
+
102
+ …and must return `{ unsubscribe(): void }`. This shape is compatible with tRPC v11's `client.<procedure>.subscribe(input, callbacks)` callsite.
103
+
104
+ `abortSignal` from `useChat` is wired automatically - when the user cancels, `unsubscribe()` fires and the underlying tRPC subscription propagates the cancellation back into the Silkweave action's async generator.
105
+
106
+ ### Limitations
107
+
108
+ - **`reconnectToStream` returns `null`.** Stream resume after disconnect is not supported; if a connection drops mid-stream the consumer must resend. AI SDK's `DefaultChatTransport` has its own resumability infrastructure (stream IDs, chat persistence) - replicating that on top of tRPC would require server-side state we don't manage here.
109
+ - **tRPC subscription transport limits apply.** `httpSubscriptionLink` uses SSE which is GET-only; large message arrays serialized as a query parameter will hit URL length limits in long conversations. Use `wsLink` (WebSocket) or configure batching that POSTs.
110
+
111
+ ## See Also
112
+
113
+ - [Silkweave README](https://github.com/silkweave/silkweave) - Full documentation
114
+ - [`@silkweave/core`](https://www.npmjs.com/package/@silkweave/core) - Core library, streaming actions
115
+ - [`@silkweave/trpc`](https://www.npmjs.com/package/@silkweave/trpc) - tRPC adapter (subscriptions)
116
+ - [Vercel AI SDK - Transport docs](https://ai-sdk.dev/docs/ai-sdk-ui/transport)
117
+ - [AI Elements](https://elements.ai-sdk.dev) - prebuilt React components for chat UIs
@@ -0,0 +1,127 @@
1
+ import * as _$_silkweave_core0 from "@silkweave/core";
2
+ import * as _$ai from "ai";
3
+ import { ChatTransport, LanguageModel, ToolSet, UIMessage } from "ai";
4
+
5
+ //#region src/chatAction.d.ts
6
+ interface CreateChatActionOptions {
7
+ /** Action name. Defaults to `'chat'`. */
8
+ name?: string;
9
+ /** Action description (shown to MCP clients, tRPC docs, etc). */
10
+ description?: string;
11
+ /** The language model to drive (e.g. `anthropic('claude-sonnet-4-6')`). */
12
+ model: LanguageModel;
13
+ /** System prompt prepended to every conversation. */
14
+ system?: string;
15
+ /** Tools registered with `streamText`. */
16
+ tools?: ToolSet;
17
+ /** Max model output tokens. */
18
+ maxOutputTokens?: number;
19
+ /** Model temperature. */
20
+ temperature?: number;
21
+ }
22
+ /**
23
+ * Build a Silkweave streaming action that wraps Vercel AI SDK's `streamText`.
24
+ *
25
+ * The action accepts the shape `useChat` sends through a custom
26
+ * `ChatTransport` (`messages`, `trigger`, `chatId`, `messageId`) and yields
27
+ * the same `UIMessageChunk`s that AI SDK's `result.toUIMessageStream()`
28
+ * produces - so a paired `silkweaveTransport()` on the client can feed them
29
+ * straight into `useChat` with no wire-format translation.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import { silkweave } from '@silkweave/core'
34
+ * import { trpc } from '@silkweave/trpc'
35
+ * import { createChatAction } from '@silkweave/ai'
36
+ * import { anthropic } from '@ai-sdk/anthropic'
37
+ *
38
+ * const ChatAction = createChatAction({
39
+ * model: anthropic('claude-sonnet-4-6'),
40
+ * system: 'You are a helpful assistant.'
41
+ * })
42
+ *
43
+ * await silkweave({ name: 'chat-server', version: '1.0.0' })
44
+ * .adapter(trpc({ port: 8080 }))
45
+ * .action(ChatAction)
46
+ * .start()
47
+ * ```
48
+ */
49
+ declare function createChatAction(options: CreateChatActionOptions): _$_silkweave_core0.StreamingActionInput<{
50
+ messages: any[];
51
+ trigger?: "submit-message" | "regenerate-message" | undefined;
52
+ chatId?: string | undefined;
53
+ messageId?: string | undefined;
54
+ metadata?: any;
55
+ body?: Record<string, any> | undefined;
56
+ headers?: Record<string, string> | undefined;
57
+ }, _$ai.InferUIMessageChunk<UIMessage<unknown, _$ai.UIDataTypes, _$ai.UITools>>, string, "mutation">;
58
+ //#endregion
59
+ //#region src/transport.d.ts
60
+ /**
61
+ * Input passed to the underlying `subscribe` function. Mirrors the relevant
62
+ * fields of `ChatTransport.sendMessages`'s options object - what the chat
63
+ * action needs to drive the model - minus the `AbortSignal` (which is wired
64
+ * separately via `unsubscribe()`).
65
+ */
66
+ interface SilkweaveTransportInput<M extends UIMessage = UIMessage> {
67
+ messages: M[];
68
+ trigger: 'submit-message' | 'regenerate-message';
69
+ chatId: string;
70
+ messageId: string | undefined;
71
+ metadata?: unknown;
72
+ body?: Record<string, unknown>;
73
+ headers?: Record<string, string>;
74
+ }
75
+ /**
76
+ * Callback shape passed to the subscribe function. `onData` is typed as
77
+ * `unknown` at the transport boundary (rather than the precise
78
+ * `UIMessageChunk` union) because tRPC v11's `subscribe()` expects callbacks
79
+ * compatible with the *inferred* subscription output, which can differ
80
+ * subtly from `UIMessageChunk` due to how Zod erases discriminated-union
81
+ * variance (e.g. `input?: unknown` vs `input: unknown`). At runtime the
82
+ * server's `createChatAction` only yields valid `UIMessageChunk`s, so the
83
+ * cast is safe.
84
+ */
85
+ interface SilkweaveTransportCallbacks {
86
+ onData: (chunk: unknown) => void;
87
+ onError: (error: unknown) => void;
88
+ onComplete: () => void;
89
+ }
90
+ interface SilkweaveTransportSubscription {
91
+ unsubscribe: () => void;
92
+ }
93
+ /**
94
+ * The subscribe function. The shape is compatible with tRPC v11's
95
+ * `client.<procedure>.subscribe(input, callbacks)` callsite - wrap your tRPC
96
+ * subscription procedure in this and pass it to `silkweaveTransport()`.
97
+ */
98
+ type SilkweaveSubscribe<M extends UIMessage = UIMessage> = (input: SilkweaveTransportInput<M>, callbacks: SilkweaveTransportCallbacks) => SilkweaveTransportSubscription;
99
+ /**
100
+ * Build a custom `ChatTransport` for Vercel AI SDK's `useChat` that delivers
101
+ * `UIMessageChunk`s over a `subscribe` function (typically a tRPC subscription
102
+ * procedure wired to a Silkweave streaming action).
103
+ *
104
+ * Skips AI SDK's Data Stream Protocol entirely - chunks are JS objects
105
+ * delivered via the consumer-supplied transport, not parsed from prefix-coded
106
+ * HTTP bodies. This means the wire format is whatever your subscribe function
107
+ * uses (tRPC over SSE or WebSocket, in the typical case).
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * import { silkweaveTransport } from '@silkweave/ai'
112
+ * import { trpc } from './trpc-client'
113
+ *
114
+ * const transport = silkweaveTransport((input, callbacks) =>
115
+ * trpc.chat.subscribe(input, callbacks)
116
+ * )
117
+ *
118
+ * const { messages, sendMessage } = useChat({ transport })
119
+ * ```
120
+ *
121
+ * `reconnectToStream()` returns `null` - stream resume after disconnect is not
122
+ * supported. If a connection drops mid-stream the consumer must resend.
123
+ */
124
+ declare function silkweaveTransport<M extends UIMessage = UIMessage>(subscribe: SilkweaveSubscribe<M>): ChatTransport<M>;
125
+ //#endregion
126
+ export { CreateChatActionOptions, SilkweaveSubscribe, SilkweaveTransportCallbacks, SilkweaveTransportInput, SilkweaveTransportSubscription, createChatAction, silkweaveTransport };
127
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/chatAction.ts","../src/transport.ts"],"mappings":";;;;;UAIiB,uBAAA;;EAEf,IAAA;;EAEA,WAAA;EAJsC;EAMtC,KAAA,EAAO,aAAA;EAIQ;EAFf,MAAA;EAJA;EAMA,KAAA,GAAQ,OAAA;EAJD;EAMP,eAAA;EAFA;EAIA,WAAA;AAAA;;;;AA8BF;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,gBAAA,CAAiB,OAAA,EAAS,uBAAA,sBAAuB,oBAAA;;;;;;;;;;;;;;;AA5CjE;;UCMiB,uBAAA,WAAkC,SAAA,GAAY,SAAA;EAC7D,QAAA,EAAU,CAAA;EACV,OAAA;EACA,MAAA;EACA,SAAA;EACA,QAAA;EACA,IAAA,GAAO,MAAA;EACP,OAAA,GAAU,MAAA;AAAA;;;;;AD+BZ;;;;;;UClBiB,2BAAA;EACf,MAAA,GAAS,KAAA;EACT,OAAA,GAAU,KAAA;EACV,UAAA;AAAA;AAAA,UAGe,8BAAA;EACf,WAAA;AAAA;;;;;;KAQU,kBAAA,WAA6B,SAAA,GAAY,SAAA,KACnD,KAAA,EAAO,uBAAA,CAAwB,CAAA,GAC/B,SAAA,EAAW,2BAAA,KACR,8BAAA;;;;;;;;;;;;;;;AAtCL;;;;;;;;;;;iBAiEgB,kBAAA,WAA6B,SAAA,GAAY,SAAA,CAAA,CACvD,SAAA,EAAW,kBAAA,CAAmB,CAAA,IAC7B,aAAA,CAAc,CAAA"}
@@ -0,0 +1,137 @@
1
+ import { createAction } from "@silkweave/core";
2
+ import { convertToModelMessages, streamText } from "ai";
3
+ import z from "zod/v4";
4
+ //#region src/chatAction.ts
5
+ /**
6
+ * Build a Silkweave streaming action that wraps Vercel AI SDK's `streamText`.
7
+ *
8
+ * The action accepts the shape `useChat` sends through a custom
9
+ * `ChatTransport` (`messages`, `trigger`, `chatId`, `messageId`) and yields
10
+ * the same `UIMessageChunk`s that AI SDK's `result.toUIMessageStream()`
11
+ * produces - so a paired `silkweaveTransport()` on the client can feed them
12
+ * straight into `useChat` with no wire-format translation.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { silkweave } from '@silkweave/core'
17
+ * import { trpc } from '@silkweave/trpc'
18
+ * import { createChatAction } from '@silkweave/ai'
19
+ * import { anthropic } from '@ai-sdk/anthropic'
20
+ *
21
+ * const ChatAction = createChatAction({
22
+ * model: anthropic('claude-sonnet-4-6'),
23
+ * system: 'You are a helpful assistant.'
24
+ * })
25
+ *
26
+ * await silkweave({ name: 'chat-server', version: '1.0.0' })
27
+ * .adapter(trpc({ port: 8080 }))
28
+ * .action(ChatAction)
29
+ * .start()
30
+ * ```
31
+ */
32
+ function createChatAction(options) {
33
+ return createAction({
34
+ name: options.name ?? "chat",
35
+ description: options.description ?? "Chat with the assistant",
36
+ input: z.object({
37
+ messages: z.array(z.any()),
38
+ trigger: z.enum(["submit-message", "regenerate-message"]).optional(),
39
+ chatId: z.string().optional(),
40
+ messageId: z.string().optional(),
41
+ metadata: z.any().optional(),
42
+ body: z.record(z.string(), z.any()).optional(),
43
+ headers: z.record(z.string(), z.string()).optional()
44
+ }),
45
+ chunk: z.custom(),
46
+ run: async function* ({ messages }) {
47
+ const uiMessages = messages;
48
+ const result = streamText({
49
+ model: options.model,
50
+ system: options.system,
51
+ messages: convertToModelMessages(uiMessages),
52
+ tools: options.tools,
53
+ maxOutputTokens: options.maxOutputTokens,
54
+ temperature: options.temperature
55
+ });
56
+ for await (const chunk of result.toUIMessageStream()) yield chunk;
57
+ }
58
+ });
59
+ }
60
+ //#endregion
61
+ //#region src/transport.ts
62
+ /**
63
+ * Build a custom `ChatTransport` for Vercel AI SDK's `useChat` that delivers
64
+ * `UIMessageChunk`s over a `subscribe` function (typically a tRPC subscription
65
+ * procedure wired to a Silkweave streaming action).
66
+ *
67
+ * Skips AI SDK's Data Stream Protocol entirely - chunks are JS objects
68
+ * delivered via the consumer-supplied transport, not parsed from prefix-coded
69
+ * HTTP bodies. This means the wire format is whatever your subscribe function
70
+ * uses (tRPC over SSE or WebSocket, in the typical case).
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * import { silkweaveTransport } from '@silkweave/ai'
75
+ * import { trpc } from './trpc-client'
76
+ *
77
+ * const transport = silkweaveTransport((input, callbacks) =>
78
+ * trpc.chat.subscribe(input, callbacks)
79
+ * )
80
+ *
81
+ * const { messages, sendMessage } = useChat({ transport })
82
+ * ```
83
+ *
84
+ * `reconnectToStream()` returns `null` - stream resume after disconnect is not
85
+ * supported. If a connection drops mid-stream the consumer must resend.
86
+ */
87
+ function silkweaveTransport(subscribe) {
88
+ return {
89
+ async sendMessages({ messages, trigger, chatId, messageId, abortSignal, metadata, body, headers }) {
90
+ return new ReadableStream({ start(controller) {
91
+ let closed = false;
92
+ const close = () => {
93
+ if (closed) return;
94
+ closed = true;
95
+ try {
96
+ controller.close();
97
+ } catch {}
98
+ };
99
+ const subscription = subscribe({
100
+ messages,
101
+ trigger,
102
+ chatId,
103
+ messageId,
104
+ metadata,
105
+ body,
106
+ headers
107
+ }, {
108
+ onData: (chunk) => {
109
+ if (closed) return;
110
+ controller.enqueue(chunk);
111
+ },
112
+ onError: (error) => {
113
+ if (closed) return;
114
+ closed = true;
115
+ controller.error(error);
116
+ },
117
+ onComplete: close
118
+ });
119
+ if (abortSignal) {
120
+ const onAbort = () => {
121
+ subscription.unsubscribe();
122
+ close();
123
+ };
124
+ if (abortSignal.aborted) onAbort();
125
+ else abortSignal.addEventListener("abort", onAbort, { once: true });
126
+ }
127
+ } });
128
+ },
129
+ reconnectToStream() {
130
+ return Promise.resolve(null);
131
+ }
132
+ };
133
+ }
134
+ //#endregion
135
+ export { createChatAction, silkweaveTransport };
136
+
137
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/chatAction.ts","../src/transport.ts"],"sourcesContent":["import { createAction } from '@silkweave/core'\nimport { convertToModelMessages, streamText, type LanguageModel, type ToolSet, type UIMessage, type UIMessageChunk } from 'ai'\nimport z from 'zod/v4'\n\nexport interface CreateChatActionOptions {\n /** Action name. Defaults to `'chat'`. */\n name?: string\n /** Action description (shown to MCP clients, tRPC docs, etc). */\n description?: string\n /** The language model to drive (e.g. `anthropic('claude-sonnet-4-6')`). */\n model: LanguageModel\n /** System prompt prepended to every conversation. */\n system?: string\n /** Tools registered with `streamText`. */\n tools?: ToolSet\n /** Max model output tokens. */\n maxOutputTokens?: number\n /** Model temperature. */\n temperature?: number\n}\n\n/**\n * Build a Silkweave streaming action that wraps Vercel AI SDK's `streamText`.\n *\n * The action accepts the shape `useChat` sends through a custom\n * `ChatTransport` (`messages`, `trigger`, `chatId`, `messageId`) and yields\n * the same `UIMessageChunk`s that AI SDK's `result.toUIMessageStream()`\n * produces - so a paired `silkweaveTransport()` on the client can feed them\n * straight into `useChat` with no wire-format translation.\n *\n * @example\n * ```ts\n * import { silkweave } from '@silkweave/core'\n * import { trpc } from '@silkweave/trpc'\n * import { createChatAction } from '@silkweave/ai'\n * import { anthropic } from '@ai-sdk/anthropic'\n *\n * const ChatAction = createChatAction({\n * model: anthropic('claude-sonnet-4-6'),\n * system: 'You are a helpful assistant.'\n * })\n *\n * await silkweave({ name: 'chat-server', version: '1.0.0' })\n * .adapter(trpc({ port: 8080 }))\n * .action(ChatAction)\n * .start()\n * ```\n */\nexport function createChatAction(options: CreateChatActionOptions) {\n return createAction({\n name: options.name ?? 'chat',\n description: options.description ?? 'Chat with the assistant',\n input: z.object({\n messages: z.array(z.any()),\n trigger: z.enum(['submit-message', 'regenerate-message']).optional(),\n chatId: z.string().optional(),\n messageId: z.string().optional(),\n metadata: z.any().optional(),\n body: z.record(z.string(), z.any()).optional(),\n headers: z.record(z.string(), z.string()).optional()\n }),\n chunk: z.custom<UIMessageChunk>(),\n run: async function* ({ messages }) {\n const uiMessages = messages as UIMessage[]\n const result = streamText({\n model: options.model,\n system: options.system,\n messages: convertToModelMessages(uiMessages),\n tools: options.tools,\n maxOutputTokens: options.maxOutputTokens,\n temperature: options.temperature\n })\n for await (const chunk of result.toUIMessageStream()) {\n yield chunk\n }\n }\n })\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ChatTransport, UIMessage, UIMessageChunk } from 'ai'\n\n/**\n * Input passed to the underlying `subscribe` function. Mirrors the relevant\n * fields of `ChatTransport.sendMessages`'s options object - what the chat\n * action needs to drive the model - minus the `AbortSignal` (which is wired\n * separately via `unsubscribe()`).\n */\nexport interface SilkweaveTransportInput<M extends UIMessage = UIMessage> {\n messages: M[]\n trigger: 'submit-message' | 'regenerate-message'\n chatId: string\n messageId: string | undefined\n metadata?: unknown\n body?: Record<string, unknown>\n headers?: Record<string, string>\n}\n\n/**\n * Callback shape passed to the subscribe function. `onData` is typed as\n * `unknown` at the transport boundary (rather than the precise\n * `UIMessageChunk` union) because tRPC v11's `subscribe()` expects callbacks\n * compatible with the *inferred* subscription output, which can differ\n * subtly from `UIMessageChunk` due to how Zod erases discriminated-union\n * variance (e.g. `input?: unknown` vs `input: unknown`). At runtime the\n * server's `createChatAction` only yields valid `UIMessageChunk`s, so the\n * cast is safe.\n */\nexport interface SilkweaveTransportCallbacks {\n onData: (chunk: unknown) => void\n onError: (error: unknown) => void\n onComplete: () => void\n}\n\nexport interface SilkweaveTransportSubscription {\n unsubscribe: () => void\n}\n\n/**\n * The subscribe function. The shape is compatible with tRPC v11's\n * `client.<procedure>.subscribe(input, callbacks)` callsite - wrap your tRPC\n * subscription procedure in this and pass it to `silkweaveTransport()`.\n */\nexport type SilkweaveSubscribe<M extends UIMessage = UIMessage> = (\n input: SilkweaveTransportInput<M>,\n callbacks: SilkweaveTransportCallbacks\n) => SilkweaveTransportSubscription\n\n/**\n * Build a custom `ChatTransport` for Vercel AI SDK's `useChat` that delivers\n * `UIMessageChunk`s over a `subscribe` function (typically a tRPC subscription\n * procedure wired to a Silkweave streaming action).\n *\n * Skips AI SDK's Data Stream Protocol entirely - chunks are JS objects\n * delivered via the consumer-supplied transport, not parsed from prefix-coded\n * HTTP bodies. This means the wire format is whatever your subscribe function\n * uses (tRPC over SSE or WebSocket, in the typical case).\n *\n * @example\n * ```ts\n * import { silkweaveTransport } from '@silkweave/ai'\n * import { trpc } from './trpc-client'\n *\n * const transport = silkweaveTransport((input, callbacks) =>\n * trpc.chat.subscribe(input, callbacks)\n * )\n *\n * const { messages, sendMessage } = useChat({ transport })\n * ```\n *\n * `reconnectToStream()` returns `null` - stream resume after disconnect is not\n * supported. If a connection drops mid-stream the consumer must resend.\n */\nexport function silkweaveTransport<M extends UIMessage = UIMessage>(\n subscribe: SilkweaveSubscribe<M>\n): ChatTransport<M> {\n return {\n async sendMessages({ messages, trigger, chatId, messageId, abortSignal, metadata, body, headers }: any) {\n return new ReadableStream<UIMessageChunk>({\n start(controller) {\n let closed = false\n const close = () => {\n if (closed) { return }\n closed = true\n try { controller.close() } catch { /* already closed */ }\n }\n const subscription = subscribe(\n { messages: messages as M[], trigger, chatId, messageId, metadata, body, headers },\n {\n onData: (chunk) => {\n if (closed) { return }\n controller.enqueue(chunk as UIMessageChunk)\n },\n onError: (error) => {\n if (closed) { return }\n closed = true\n controller.error(error)\n },\n onComplete: close\n }\n )\n if (abortSignal) {\n const onAbort = () => {\n subscription.unsubscribe()\n close()\n }\n if (abortSignal.aborted) {\n onAbort()\n } else {\n abortSignal.addEventListener('abort', onAbort, { once: true })\n }\n }\n }\n })\n },\n reconnectToStream() {\n return Promise.resolve(null)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,SAAgB,iBAAiB,SAAkC;AACjE,QAAO,aAAa;EAClB,MAAM,QAAQ,QAAQ;EACtB,aAAa,QAAQ,eAAe;EACpC,OAAO,EAAE,OAAO;GACd,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;GAC1B,SAAS,EAAE,KAAK,CAAC,kBAAkB,qBAAqB,CAAC,CAAC,UAAU;GACpE,QAAQ,EAAE,QAAQ,CAAC,UAAU;GAC7B,WAAW,EAAE,QAAQ,CAAC,UAAU;GAChC,UAAU,EAAE,KAAK,CAAC,UAAU;GAC5B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,UAAU;GAC9C,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;GACrD,CAAC;EACF,OAAO,EAAE,QAAwB;EACjC,KAAK,iBAAiB,EAAE,YAAY;GAClC,MAAM,aAAa;GACnB,MAAM,SAAS,WAAW;IACxB,OAAO,QAAQ;IACf,QAAQ,QAAQ;IAChB,UAAU,uBAAuB,WAAW;IAC5C,OAAO,QAAQ;IACf,iBAAiB,QAAQ;IACzB,aAAa,QAAQ;IACtB,CAAC;AACF,cAAW,MAAM,SAAS,OAAO,mBAAmB,CAClD,OAAM;;EAGX,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDJ,SAAgB,mBACd,WACkB;AAClB,QAAO;EACL,MAAM,aAAa,EAAE,UAAU,SAAS,QAAQ,WAAW,aAAa,UAAU,MAAM,WAAgB;AACtG,UAAO,IAAI,eAA+B,EACxC,MAAM,YAAY;IAChB,IAAI,SAAS;IACb,MAAM,cAAc;AAClB,SAAI,OAAU;AACd,cAAS;AACT,SAAI;AAAE,iBAAW,OAAO;aAAS;;IAEnC,MAAM,eAAe,UACnB;KAAY;KAAiB;KAAS;KAAQ;KAAW;KAAU;KAAM;KAAS,EAClF;KACE,SAAS,UAAU;AACjB,UAAI,OAAU;AACd,iBAAW,QAAQ,MAAwB;;KAE7C,UAAU,UAAU;AAClB,UAAI,OAAU;AACd,eAAS;AACT,iBAAW,MAAM,MAAM;;KAEzB,YAAY;KACb,CACF;AACD,QAAI,aAAa;KACf,MAAM,gBAAgB;AACpB,mBAAa,aAAa;AAC1B,aAAO;;AAET,SAAI,YAAY,QACd,UAAS;SAET,aAAY,iBAAiB,SAAS,SAAS,EAAE,MAAM,MAAM,CAAC;;MAIrE,CAAC;;EAEJ,oBAAoB;AAClB,UAAO,QAAQ,QAAQ,KAAK;;EAE/B"}
@@ -0,0 +1,93 @@
1
+ import eslint from '@eslint/js'
2
+ import stylistic from '@stylistic/eslint-plugin'
3
+ import { defineConfig } from 'eslint/config'
4
+ import tseslint from 'typescript-eslint'
5
+
6
+ export default defineConfig(eslint.configs.recommended, tseslint.configs.recommendedTypeChecked, tseslint.configs.stylisticTypeChecked, {
7
+ languageOptions: {
8
+ parserOptions: {
9
+ project: 'tsconfig.json',
10
+ tsconfigRootDir: import.meta.dirname
11
+ }
12
+ },
13
+ plugins: { '@stylistic': stylistic },
14
+ rules: {
15
+ '@stylistic/space-in-parens': ['error'],
16
+ '@stylistic/comma-spacing': ['error'],
17
+ '@stylistic/no-multi-spaces': ['error'],
18
+ '@stylistic/no-trailing-spaces': ['error'],
19
+ '@stylistic/no-whitespace-before-property': ['error'],
20
+ '@stylistic/array-bracket-newline': ['error', 'consistent'],
21
+ '@stylistic/array-bracket-spacing': ['error'],
22
+ '@stylistic/arrow-spacing': ['error'],
23
+ '@stylistic/arrow-parens': ['error', 'always'],
24
+ '@stylistic/block-spacing': ['error', 'always'],
25
+ '@stylistic/brace-style': ['error', '1tbs', { 'allowSingleLine': true }],
26
+ '@stylistic/comma-dangle': ['error', 'never'],
27
+ '@stylistic/key-spacing': ['error'],
28
+ '@stylistic/keyword-spacing': ['error'],
29
+ '@stylistic/member-delimiter-style': ['error', { 'multiline': { 'delimiter': 'none' } }],
30
+ '@stylistic/no-extra-semi': ['error'],
31
+ '@stylistic/indent': ['error', 2],
32
+ '@stylistic/no-multiple-empty-lines': ['error', { 'max': 1, 'maxEOF': 0, 'maxBOF': 0 }],
33
+ '@stylistic/object-curly-spacing': ['error', 'always'],
34
+ '@stylistic/quotes': ['error', 'single'],
35
+ '@stylistic/semi': ['error', 'never'],
36
+ '@stylistic/space-before-blocks': ['error', 'always'],
37
+ '@stylistic/space-before-function-paren': ['error', { 'anonymous': 'always', 'named': 'never', 'asyncArrow': 'always' }],
38
+ '@typescript-eslint/adjacent-overload-signatures': 'error',
39
+ '@typescript-eslint/array-type': 'off',
40
+ '@typescript-eslint/await-thenable': 'error',
41
+ '@typescript-eslint/ban-types': 'off',
42
+ '@typescript-eslint/consistent-type-assertions': 'off',
43
+ '@typescript-eslint/explicit-function-return-type': 'off',
44
+ '@typescript-eslint/explicit-member-accessibility': 'off',
45
+ '@typescript-eslint/no-angle-bracket-type-assertion': 'off',
46
+ '@typescript-eslint/no-empty-function': 'off',
47
+ '@typescript-eslint/no-empty-interface': 'off',
48
+ '@typescript-eslint/no-extra-non-null-assertion': 'error',
49
+ '@typescript-eslint/no-floating-promises': 'off',
50
+ '@typescript-eslint/no-misused-new': 'error',
51
+ '@typescript-eslint/no-misused-promises': 'off',
52
+ '@typescript-eslint/no-namespace': 'off',
53
+ '@typescript-eslint/no-non-null-asserted-optional-chain': 'error',
54
+ '@typescript-eslint/no-non-null-assertion': 'off',
55
+ '@typescript-eslint/no-object-literal-type-assertion': 'off',
56
+ '@typescript-eslint/no-parameter-properties': 'off',
57
+ '@typescript-eslint/no-shadow': 'error',
58
+ '@typescript-eslint/no-triple-slash-reference': 'off',
59
+ '@typescript-eslint/no-unused-vars': ['error', {
60
+ 'args': 'all',
61
+ 'argsIgnorePattern': '^_',
62
+ 'caughtErrors': 'all',
63
+ 'caughtErrorsIgnorePattern': '^_',
64
+ 'destructuredArrayIgnorePattern': '^_',
65
+ 'varsIgnorePattern': '^_',
66
+ 'ignoreRestSiblings': true
67
+ }],
68
+ '@typescript-eslint/no-use-before-define': 'off',
69
+ '@typescript-eslint/no-var-requires': 'off',
70
+ '@typescript-eslint/prefer-for-of': 'error',
71
+ '@typescript-eslint/prefer-interface': 'off',
72
+ '@typescript-eslint/prefer-nullish-coalescing': 'off',
73
+ '@typescript-eslint/prefer-optional-chain': 'error',
74
+ '@typescript-eslint/return-await': 'error',
75
+ '@typescript-eslint/unified-signatures': 'error',
76
+ '@typescript-eslint/no-unsafe-return': 'off',
77
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
78
+ '@typescript-eslint/no-unsafe-member-access': 'off',
79
+ '@typescript-eslint/no-unsafe-call': 'off',
80
+ '@typescript-eslint/no-unsafe-argument': 'off',
81
+ '@typescript-eslint/dot-notation': 'off',
82
+ '@typescript-eslint/prefer-regexp-exec': 'off',
83
+ '@typescript-eslint/require-await': 'off',
84
+ '@typescript-eslint/only-throw-error': 'error',
85
+ '@typescript-eslint/no-base-to-string': 'off',
86
+ '@typescript-eslint/restrict-template-expressions': 'off'
87
+ }
88
+ }, {
89
+ files: ['eslint.config.mjs'],
90
+ extends: [tseslint.configs.disableTypeChecked]
91
+ }, {
92
+ ignores: ['build', 'tsdown.config.ts', 'scratch']
93
+ })
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@silkweave/ai",
3
+ "version": "1.9.1",
4
+ "description": "Silkweave Vercel AI SDK integration - custom ChatTransport bridging useChat to tRPC subscriptions, plus a chat action helper that wraps streamText into a streaming Silkweave action",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+ssh://git@github.com/silkweave/silkweave.git",
8
+ "directory": "packages/ai"
9
+ },
10
+ "type": "module",
11
+ "main": "build/index.mjs",
12
+ "dependencies": {
13
+ "zod": "^3.25.0",
14
+ "@silkweave/core": "1.9.1"
15
+ },
16
+ "peerDependencies": {
17
+ "ai": "^5.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "@eslint/js": "^10.0.1",
21
+ "@stylistic/eslint-plugin": "^5.10.0",
22
+ "@types/node": "^22.0.0",
23
+ "eslint": "^10.4.0",
24
+ "ai": "^5.0.0",
25
+ "rimraf": "^6.1.3",
26
+ "tsdown": "^0.21.8",
27
+ "tsx": "^4.21.0",
28
+ "typescript": "^5.9.3",
29
+ "typescript-eslint": "^8.56.1"
30
+ },
31
+ "scripts": {
32
+ "clean": "rimraf build",
33
+ "build": "tsdown",
34
+ "watch": "tsdown --watch",
35
+ "typecheck": "tsc --noEmit",
36
+ "lint": "eslint",
37
+ "check": "pnpm lint && pnpm typecheck"
38
+ },
39
+ "exports": {
40
+ ".": "./build/index.mjs"
41
+ },
42
+ "types": "./build/index.d.ts"
43
+ }
@@ -0,0 +1,78 @@
1
+ import { createAction } from '@silkweave/core'
2
+ import { convertToModelMessages, streamText, type LanguageModel, type ToolSet, type UIMessage, type UIMessageChunk } from 'ai'
3
+ import z from 'zod/v4'
4
+
5
+ export interface CreateChatActionOptions {
6
+ /** Action name. Defaults to `'chat'`. */
7
+ name?: string
8
+ /** Action description (shown to MCP clients, tRPC docs, etc). */
9
+ description?: string
10
+ /** The language model to drive (e.g. `anthropic('claude-sonnet-4-6')`). */
11
+ model: LanguageModel
12
+ /** System prompt prepended to every conversation. */
13
+ system?: string
14
+ /** Tools registered with `streamText`. */
15
+ tools?: ToolSet
16
+ /** Max model output tokens. */
17
+ maxOutputTokens?: number
18
+ /** Model temperature. */
19
+ temperature?: number
20
+ }
21
+
22
+ /**
23
+ * Build a Silkweave streaming action that wraps Vercel AI SDK's `streamText`.
24
+ *
25
+ * The action accepts the shape `useChat` sends through a custom
26
+ * `ChatTransport` (`messages`, `trigger`, `chatId`, `messageId`) and yields
27
+ * the same `UIMessageChunk`s that AI SDK's `result.toUIMessageStream()`
28
+ * produces - so a paired `silkweaveTransport()` on the client can feed them
29
+ * straight into `useChat` with no wire-format translation.
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * import { silkweave } from '@silkweave/core'
34
+ * import { trpc } from '@silkweave/trpc'
35
+ * import { createChatAction } from '@silkweave/ai'
36
+ * import { anthropic } from '@ai-sdk/anthropic'
37
+ *
38
+ * const ChatAction = createChatAction({
39
+ * model: anthropic('claude-sonnet-4-6'),
40
+ * system: 'You are a helpful assistant.'
41
+ * })
42
+ *
43
+ * await silkweave({ name: 'chat-server', version: '1.0.0' })
44
+ * .adapter(trpc({ port: 8080 }))
45
+ * .action(ChatAction)
46
+ * .start()
47
+ * ```
48
+ */
49
+ export function createChatAction(options: CreateChatActionOptions) {
50
+ return createAction({
51
+ name: options.name ?? 'chat',
52
+ description: options.description ?? 'Chat with the assistant',
53
+ input: z.object({
54
+ messages: z.array(z.any()),
55
+ trigger: z.enum(['submit-message', 'regenerate-message']).optional(),
56
+ chatId: z.string().optional(),
57
+ messageId: z.string().optional(),
58
+ metadata: z.any().optional(),
59
+ body: z.record(z.string(), z.any()).optional(),
60
+ headers: z.record(z.string(), z.string()).optional()
61
+ }),
62
+ chunk: z.custom<UIMessageChunk>(),
63
+ run: async function* ({ messages }) {
64
+ const uiMessages = messages as UIMessage[]
65
+ const result = streamText({
66
+ model: options.model,
67
+ system: options.system,
68
+ messages: convertToModelMessages(uiMessages),
69
+ tools: options.tools,
70
+ maxOutputTokens: options.maxOutputTokens,
71
+ temperature: options.temperature
72
+ })
73
+ for await (const chunk of result.toUIMessageStream()) {
74
+ yield chunk
75
+ }
76
+ }
77
+ })
78
+ }
package/src/index.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './chatAction.js'
2
+ export * from './transport.js'
@@ -0,0 +1,122 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import type { ChatTransport, UIMessage, UIMessageChunk } from 'ai'
4
+
5
+ /**
6
+ * Input passed to the underlying `subscribe` function. Mirrors the relevant
7
+ * fields of `ChatTransport.sendMessages`'s options object - what the chat
8
+ * action needs to drive the model - minus the `AbortSignal` (which is wired
9
+ * separately via `unsubscribe()`).
10
+ */
11
+ export interface SilkweaveTransportInput<M extends UIMessage = UIMessage> {
12
+ messages: M[]
13
+ trigger: 'submit-message' | 'regenerate-message'
14
+ chatId: string
15
+ messageId: string | undefined
16
+ metadata?: unknown
17
+ body?: Record<string, unknown>
18
+ headers?: Record<string, string>
19
+ }
20
+
21
+ /**
22
+ * Callback shape passed to the subscribe function. `onData` is typed as
23
+ * `unknown` at the transport boundary (rather than the precise
24
+ * `UIMessageChunk` union) because tRPC v11's `subscribe()` expects callbacks
25
+ * compatible with the *inferred* subscription output, which can differ
26
+ * subtly from `UIMessageChunk` due to how Zod erases discriminated-union
27
+ * variance (e.g. `input?: unknown` vs `input: unknown`). At runtime the
28
+ * server's `createChatAction` only yields valid `UIMessageChunk`s, so the
29
+ * cast is safe.
30
+ */
31
+ export interface SilkweaveTransportCallbacks {
32
+ onData: (chunk: unknown) => void
33
+ onError: (error: unknown) => void
34
+ onComplete: () => void
35
+ }
36
+
37
+ export interface SilkweaveTransportSubscription {
38
+ unsubscribe: () => void
39
+ }
40
+
41
+ /**
42
+ * The subscribe function. The shape is compatible with tRPC v11's
43
+ * `client.<procedure>.subscribe(input, callbacks)` callsite - wrap your tRPC
44
+ * subscription procedure in this and pass it to `silkweaveTransport()`.
45
+ */
46
+ export type SilkweaveSubscribe<M extends UIMessage = UIMessage> = (
47
+ input: SilkweaveTransportInput<M>,
48
+ callbacks: SilkweaveTransportCallbacks
49
+ ) => SilkweaveTransportSubscription
50
+
51
+ /**
52
+ * Build a custom `ChatTransport` for Vercel AI SDK's `useChat` that delivers
53
+ * `UIMessageChunk`s over a `subscribe` function (typically a tRPC subscription
54
+ * procedure wired to a Silkweave streaming action).
55
+ *
56
+ * Skips AI SDK's Data Stream Protocol entirely - chunks are JS objects
57
+ * delivered via the consumer-supplied transport, not parsed from prefix-coded
58
+ * HTTP bodies. This means the wire format is whatever your subscribe function
59
+ * uses (tRPC over SSE or WebSocket, in the typical case).
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * import { silkweaveTransport } from '@silkweave/ai'
64
+ * import { trpc } from './trpc-client'
65
+ *
66
+ * const transport = silkweaveTransport((input, callbacks) =>
67
+ * trpc.chat.subscribe(input, callbacks)
68
+ * )
69
+ *
70
+ * const { messages, sendMessage } = useChat({ transport })
71
+ * ```
72
+ *
73
+ * `reconnectToStream()` returns `null` - stream resume after disconnect is not
74
+ * supported. If a connection drops mid-stream the consumer must resend.
75
+ */
76
+ export function silkweaveTransport<M extends UIMessage = UIMessage>(
77
+ subscribe: SilkweaveSubscribe<M>
78
+ ): ChatTransport<M> {
79
+ return {
80
+ async sendMessages({ messages, trigger, chatId, messageId, abortSignal, metadata, body, headers }: any) {
81
+ return new ReadableStream<UIMessageChunk>({
82
+ start(controller) {
83
+ let closed = false
84
+ const close = () => {
85
+ if (closed) { return }
86
+ closed = true
87
+ try { controller.close() } catch { /* already closed */ }
88
+ }
89
+ const subscription = subscribe(
90
+ { messages: messages as M[], trigger, chatId, messageId, metadata, body, headers },
91
+ {
92
+ onData: (chunk) => {
93
+ if (closed) { return }
94
+ controller.enqueue(chunk as UIMessageChunk)
95
+ },
96
+ onError: (error) => {
97
+ if (closed) { return }
98
+ closed = true
99
+ controller.error(error)
100
+ },
101
+ onComplete: close
102
+ }
103
+ )
104
+ if (abortSignal) {
105
+ const onAbort = () => {
106
+ subscription.unsubscribe()
107
+ close()
108
+ }
109
+ if (abortSignal.aborted) {
110
+ onAbort()
111
+ } else {
112
+ abortSignal.addEventListener('abort', onAbort, { once: true })
113
+ }
114
+ }
115
+ }
116
+ })
117
+ },
118
+ reconnectToStream() {
119
+ return Promise.resolve(null)
120
+ }
121
+ }
122
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": ["ES2022", "DOM"],
7
+ "outDir": "build",
8
+ "rootDir": "src",
9
+ "strict": true,
10
+ "esModuleInterop": true,
11
+ "skipLibCheck": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "allowSyntheticDefaultImports": true,
14
+ "resolveJsonModule": true,
15
+ "composite": true,
16
+ "declaration": true,
17
+ "declarationMap": true,
18
+ "sourceMap": true
19
+ },
20
+ "include": ["src"],
21
+ "exclude": ["node_modules", "build"]
22
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/util.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/versions.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/schemas.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/checks.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/core.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/parse.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/regexes.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ar.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/az.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/be.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ca.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/cs.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/de.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/en.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/eo.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/es.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fa.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fi.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fr.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/he.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/hu.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/id.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/it.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ja.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/kh.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ko.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/mk.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ms.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/nl.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/no.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ota.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ps.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/pl.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/pt.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ru.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/sl.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/sv.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ta.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/th.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/tr.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ua.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/ur.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/vi.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/locales/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/registries.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/doc.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/function.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/api.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/core/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/parse.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/checks.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/compat.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/iso.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/external.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/classic/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v4/index.d.cts","../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/types.d.ts","../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/types.d.ts","../core/src/util/context.ts","../core/src/util/action.ts","../core/src/util/adapter.ts","../core/src/lib/silkweave.ts","../core/src/util/error.ts","../core/src/util/streaming.ts","../core/src/util/zod.ts","../core/src/index.ts","../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../node_modules/.pnpm/@ai-sdk+provider@2.0.3/node_modules/@ai-sdk/provider/dist/index.d.ts","../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/eventsource-parser@3.0.8/node_modules/eventsource-parser/dist/stream.d.cts","../../node_modules/.pnpm/@ai-sdk+provider-utils@3.0.25_zod@3.25.76/node_modules/@ai-sdk/provider-utils/dist/index.d.ts","../../node_modules/.pnpm/@ai-sdk+gateway@2.0.91_zod@3.25.76/node_modules/@ai-sdk/gateway/dist/index.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/exception.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/time.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consolelogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/observableresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/metric.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/meter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/noopmeter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/meterprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/textmappropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spanoptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/proxytracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/proxytracerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/samplingresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.d.ts","../../node_modules/.pnpm/ai@5.0.190_zod@3.25.76/node_modules/ai/dist/index.d.ts","./src/chataction.ts","./src/transport.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/index.d.ts"],"fileIdsList":[[136,152,211,259,276,277],[124,136,137,150,151,211,259,276,277],[135,211,259,276,277],[211,259,276,277],[124,125,211,259,276,277],[160,211,259,276,277],[163,211,259,276,277],[168,170,211,259,276,277],[156,160,172,173,211,259,276,277],[183,186,192,194,211,259,276,277],[155,160,211,259,276,277],[154,211,259,276,277],[155,211,259,276,277],[162,211,259,276,277],[165,211,259,276,277],[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,211,259,276,277],[171,211,259,276,277],[167,211,259,276,277],[168,211,259,276,277],[159,160,166,211,259,276,277],[167,168,211,259,276,277],[174,211,259,276,277],[195,211,259,276,277],[159,211,259,276,277],[160,177,180,211,259,276,277],[176,211,259,276,277],[177,211,259,276,277],[175,177,211,259,276,277],[160,180,182,183,184,211,259,276,277],[183,184,186,211,259,276,277],[160,175,178,181,188,211,259,276,277],[175,176,211,259,276,277],[157,158,175,177,178,179,211,259,276,277],[177,180,211,259,276,277],[158,175,178,181,211,259,276,277],[160,180,182,211,259,276,277],[183,184,211,259,276,277],[211,256,257,259,276,277],[211,258,259,276,277],[259,276,277],[211,259,264,276,277,294],[211,259,260,265,270,276,277,279,291,302],[211,259,260,261,270,276,277,279],[206,207,208,211,259,276,277],[211,259,262,276,277,303],[211,259,263,264,271,276,277,280],[211,259,264,276,277,291,299],[211,259,265,267,270,276,277,279],[211,258,259,266,276,277],[211,259,267,268,276,277],[211,259,269,270,276,277],[211,258,259,270,276,277],[211,259,270,271,272,276,277,291,302],[211,259,270,271,272,276,277,286,291,294],[211,252,259,267,270,273,276,277,279,291,302],[211,259,270,271,273,274,276,277,279,291,299,302],[211,259,273,275,276,277,291,299,302],[209,210,211,212,213,214,215,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308],[211,259,270,276,277],[211,259,276,277,278,302],[211,259,267,270,276,277,279,291],[211,259,276,277,280],[211,259,276,277,281],[211,258,259,276,277,282],[211,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308],[211,259,276,277,284],[211,259,276,277,285],[211,259,270,276,277,286,287],[211,259,276,277,286,288,303,305],[211,259,271,276,277],[211,259,270,276,277,291,292,294],[211,259,276,277,293,294],[211,259,276,277,291,292],[211,259,276,277,294],[211,259,276,277,295],[211,256,259,276,277,291,296,302],[211,259,270,276,277,297,298],[211,259,276,277,297,298],[211,259,264,276,277,279,291,299],[211,259,276,277,300],[211,259,276,277,279,301],[211,259,273,276,277,285,302],[211,259,264,276,277,303],[211,259,276,277,291,304],[211,259,276,277,278,305],[211,259,276,277,306],[211,252,259,276,277],[211,252,259,270,272,276,277,282,291,294,302,304,305,307],[211,259,276,277,291,308],[124,136,150,152,153,201,211,259,273,276,277],[211,224,228,259,276,277,302],[211,224,259,276,277,291,302],[211,219,259,276,277],[211,221,224,259,276,277,299,302],[211,259,276,277,279,299],[211,259,276,277,309],[211,219,259,276,277,309],[211,221,224,259,276,277,279,302],[211,216,217,220,223,259,270,276,277,291,302],[211,224,231,259,276,277],[211,216,222,259,276,277],[211,224,245,246,259,276,277],[211,220,224,259,276,277,294,302,309],[211,245,259,276,277,309],[211,218,219,259,276,277,309],[211,224,259,276,277],[211,218,219,220,221,222,223,224,225,226,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,246,247,248,249,250,251,259,276,277],[211,224,239,259,276,277],[211,224,231,232,259,276,277],[211,222,224,232,233,259,276,277],[211,223,259,276,277],[211,216,219,224,259,276,277],[211,224,228,232,233,259,276,277],[211,228,259,276,277],[211,222,224,227,259,276,277,302],[211,216,221,224,231,259,276,277],[211,259,276,277,291],[211,219,224,245,259,276,277,307,309],[140,141,211,259,276,277],[138,139,140,142,143,148,211,259,276,277],[139,140,211,259,276,277],[148,211,259,276,277],[149,211,259,276,277],[140,211,259,276,277],[138,139,140,143,144,145,146,147,211,259,276,277],[138,139,150,211,259,276,277],[114,211,259,276,277],[114,117,211,259,276,277],[107,114,115,116,117,118,119,120,121,211,259,276,277],[122,211,259,276,277],[114,115,211,259,276,277],[114,116,211,259,276,277],[60,62,63,64,65,211,259,276,277],[60,62,64,65,211,259,276,277],[60,62,64,211,259,276,277],[60,62,63,65,211,259,276,277],[60,62,65,211,259,276,277],[60,61,62,63,64,65,66,67,107,108,109,110,111,112,113,211,259,276,277],[62,65,211,259,276,277],[59,60,61,63,64,65,211,259,276,277],[62,108,112,211,259,276,277],[62,63,64,65,211,259,276,277],[123,211,259,276,277],[64,211,259,276,277],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,211,259,276,277],[124,134,202,211,259,276,277],[203,204,211,259,276,277],[202,211,259,276,277],[127,128,129,130,131,132,133,211,259,276,277],[127,128,129,211,259,276,277],[124,126,127,211,259,276,277],[127,128,211,259,276,277],[124,211,259,276,277]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"309ebd217636d68cf8784cbc3272c16fb94fb8e969e18b6fe88c35200340aef1","impliedFormat":1},{"version":"91cf9887208be8641244827c18e620166edf7e1c53114930b54eaeaab588a5be","impliedFormat":1},{"version":"ef9b6279acc69002a779d0172916ef22e8be5de2d2469ff2f4bb019a21e89de2","impliedFormat":1},{"version":"71623b889c23a332292c85f9bf41469c3f2efa47f81f12c73e14edbcffa270d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"88863d76039cc550f8b7688a213dd051ae80d94a883eb99389d6bc4ce21c8688","impliedFormat":1},{"version":"e9ce511dae7201b833936d13618dff01815a9db2e6c2cc28646e21520c452d6c","impliedFormat":1},{"version":"243649afb10d950e7e83ee4d53bd2fbd615bb579a74cf6c1ce10e64402cdf9bb","impliedFormat":1},{"version":"35575179030368798cbcd50da928a275234445c9a0df32d4a2c694b2b3d20439","impliedFormat":1},{"version":"c939cb12cb000b4ec9c3eca3fe7dee1fe373ccb801237631d9252bad10206d61","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"26384fb401f582cae1234213c3dc75fdc80e3d728a0a1c55b405be8a0c6dddbe","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"b42d3651103a532f7492e719a828647af97306b2356ae757ebb7f17f4a8c41e5","impliedFormat":1},{"version":"03268b4d02371bdf514f513797ed3c9eb0840b0724ff6778bda0ef74c35273be","impliedFormat":1},{"version":"3511847babb822e10715a18348d1cbb0dae73c4e4c0a1bcf7cbc12771b310d45","impliedFormat":1},{"version":"80e653fbbec818eecfe95d182dc65a1d107b343d970159a71922ac4491caa0af","impliedFormat":1},{"version":"53f00dc83ccceb8fad22eb3aade64e4bcdb082115f230c8ba3d40f79c835c30e","impliedFormat":1},{"version":"35475931e8b55c4d33bfe3abc79f5673924a0bd4224c7c6108a4e08f3521643c","impliedFormat":1},{"version":"9078205849121a5d37a642949d687565498da922508eacb0e5a0c3de427f0ae5","impliedFormat":1},{"version":"e8f8f095f137e96dc64b56e59556c02f3c31db4b354801d6ae3b90dceae60240","impliedFormat":1},{"version":"451abef2a26cebb6f54236e68de3c33691e3b47b548fd4c8fa05fd84ab2238ff","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"41f185713d78f7af0253a339927dc04b485f46210d6bc0691cf908e3e8ded2a1","impliedFormat":1},{"version":"23ee410c645f68bd99717527de1586e3eb826f166d654b74250ad92b27311fde","impliedFormat":1},{"version":"ffc3e1064146c1cafda1b0686ae9679ba1fb706b2f415e057be01614bf918dba","impliedFormat":1},{"version":"995869b1ddf66bbcfdb417f7446f610198dcce3280a0ae5c8b332ed985c01855","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"dca963a986285211cfa75b9bb57914538de29585d34217d03b538e6473ac4c44","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"f17ed72d1b1882ab6dc66d45e699f757d15bba0807af2fc9c3ec98fe367611c1","impliedFormat":99},{"version":"b1067ccb56b38af060dc3299ea7c4c6362cad4f07d0d454325a74808204fc801","impliedFormat":99},{"version":"75366be9054e676c1d876a41e54bde647297f9a1b343c7abb10c036525c19cbf","impliedFormat":99},{"version":"932b6effdf8b7a3d6678374333f988803247bc70dd08c9e35d2803f1305724ae","impliedFormat":99},{"version":"b1aca439d6f4bbd2da6f50a0ce887ac4dc3212233228bacb188361549b566e87","impliedFormat":99},{"version":"a9e37fab16bc8743f2a93f9417c7fe31919994e3a490ba3648ddd94328293618","impliedFormat":99},{"version":"7e44c7a7420c341dd6e730cc3e65806c4f8a7f536c7c8af15add148ce10deaac","impliedFormat":99},{"version":"0be1f33b4dffd811a440f049a100575a59bb58012abf2400333601c2c7c2b1ff","impliedFormat":99},{"version":"445ec4745c80b25d069b2d5d37021d6f609171c6726fc3c1285c170c47a7276a","impliedFormat":99},{"version":"7cce3666f43027a6ddfbe09298ed5b89c7b7482fbf8d33d69b98cf82ba4d40ff","impliedFormat":99},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"5d2723ace25db1d7fa3ef51f71c28383c959b18439ba8d577f46a1d50b2b9420","impliedFormat":1},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"81d4c6b3edfc709bc1a57d75958b217d205ea3b17671630aef24b8328bab13ac","impliedFormat":1},{"version":"1cdbe7fb17b63e2f7eb47e731a0b5f6d614f7c8b6eb78ecf93a9a64e688afc31","impliedFormat":1},{"version":"60f8b38c19cde334341ec3a90bbb211ad940ca48781c5a5301d19f1dc5097785","impliedFormat":1},{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"f6380cc36fc3efc70084d288d0a05d0a2e09da012ee3853f9d62431e7216f129","impliedFormat":1},{"version":"497c3e541b4acf6c5d5ba75b03569cfe5fe25c8a87e6c87f1af98da6a3e7b918","impliedFormat":1},{"version":"d9429b81edf2fb2abf1e81e9c2e92615f596ed3166673d9b69b84c369b15fdc0","impliedFormat":1},{"version":"7e22943ae4e474854ca0695ab750a8026f55bb94278331fda02a4fb42efce063","impliedFormat":1},{"version":"7da9ff3d9a7e62ddca6393a23e67296ab88f2fcb94ee5f7fb977fa8e478852ac","impliedFormat":1},{"version":"e1b45cc21ea200308cbc8abae2fb0cfd014cb5b0e1d1643bcc50afa5959b6d83","impliedFormat":1},{"version":"c9740b0ce7533ce6ba21a7d424e38d2736acdddeab2b1a814c00396e62cc2f10","impliedFormat":1},{"version":"b3c1f6a3fdbb04c6b244de6d5772ffdd9e962a2faea1440e410049c13e874b87","impliedFormat":1},{"version":"dcaa872d9b52b9409979170734bdfd38f846c32114d05b70640fd05140b171bb","impliedFormat":1},{"version":"6c434d20da381fcd2e8b924a3ec9b8653cf8bed8e0da648e91f4c984bd2a5a91","impliedFormat":1},{"version":"992419d044caf6b14946fa7b9463819ab2eeb7af7c04919cc2087ce354c92266","impliedFormat":1},{"version":"fa9815e9ce1330289a5c0192e2e91eb6178c0caa83c19fe0c6a9f67013fe795c","impliedFormat":1},{"version":"06384a1a73fcf4524952ecd0d6b63171c5d41dd23573907a91ef0a687ddb4a8c","impliedFormat":1},{"version":"34b1594ecf1c84bcc7a04d9f583afa6345a6fea27a52cf2685f802629219de45","impliedFormat":1},{"version":"d82c9ca830d7b94b7530a2c5819064d8255b93dfeddc5b2ebb8a09316f002c89","impliedFormat":1},{"version":"7e046b9634add57e512412a7881efbc14d44d1c65eadd35432412aa564537975","impliedFormat":1},{"version":"aac9079b9e2b5180036f27ab37cb3cf4fd19955be48ccc82eab3f092ee3d4026","impliedFormat":1},{"version":"3d9c38933bc69e0a885da20f019de441a3b5433ce041ba5b9d3a541db4b568cb","impliedFormat":1},{"version":"606aa2b74372221b0f79ca8ae3568629f444cc454aa59b032e4cb602308dec94","impliedFormat":1},{"version":"50474eaea72bfda85cc37ae6cd29f0556965c0849495d96c8c04c940ef3d2f44","impliedFormat":1},{"version":"b4874382f863cf7dc82b3d15aed1e1372ac3fede462065d5bfc8510c0d8f7b19","impliedFormat":1},{"version":"df10b4f781871afb72b2d648d497671190b16b679bf7533b744cc10b3c6bf7ea","impliedFormat":1},{"version":"1fdc28754c77e852c92087c789a1461aa6eed19c335dc92ce6b16a188e7ba305","impliedFormat":1},{"version":"a656dab1d502d4ddc845b66d8735c484bfebbf0b1eda5fb29729222675759884","impliedFormat":1},{"version":"465a79505258d251068dc0047a67a3605dd26e6b15e9ad2cec297442cbb58820","impliedFormat":1},{"version":"ddae22d9329db28ce3d80a2a53f99eaed66959c1c9cd719c9b744e5470579d2f","impliedFormat":1},{"version":"d0e25feadef054c6fc6a7f55ccc3b27b7216142106b9ff50f5e7b19d85c62ca7","impliedFormat":1},{"version":"111214009193320cacbae104e8281f6cb37788b52a6a84d259f9822c8c71f6ca","impliedFormat":1},{"version":"01c8e2c8984c96b9b48be20ee396bd3689a3a3e6add8d50fe8229a7d4e62ff45","impliedFormat":1},{"version":"a4a0800b592e533897b4967b00fb00f7cd48af9714d300767cc231271aa100af","impliedFormat":1},{"version":"20aa818c3e16e40586f2fa26327ea17242c8873fe3412a69ec68846017219314","impliedFormat":1},{"version":"f498532f53d54f831851990cb4bcd96063d73e302906fa07e2df24aa5935c7d1","impliedFormat":1},{"version":"5fd19dfde8de7a0b91df6a9bbdc44b648fd1f245cae9e8b8cf210d83ee06f106","impliedFormat":1},{"version":"3b8d6638c32e63ea0679eb26d1eb78534f4cc02c27b80f1c0a19f348774f5571","impliedFormat":1},{"version":"ce0da52e69bc3d82a7b5bc40da6baad08d3790de13ad35e89148a88055b46809","impliedFormat":1},{"version":"9e01233da81bfed887f8d9a70d1a26bf11b8ddff165806cc586c84980bf8fc24","impliedFormat":1},{"version":"214a6afbab8b285fc97eb3cece36cae65ea2fca3cbd0c017a96159b14050d202","impliedFormat":1},{"version":"14beeca2944b75b229c0549e0996dc4b7863e07257e0d359d63a7be49a6b86a4","impliedFormat":1},{"version":"f7bb9adb1daa749208b47d1313a46837e4d27687f85a3af7777fc1c9b3dc06b1","impliedFormat":1},{"version":"c549fe2f52101ffe47f58107c702af7cdcd42da8c80afd79f707d1c5d77d4b6e","impliedFormat":1},{"version":"3966ea9e1c1a5f6e636606785999734988e135541b79adc6b5d00abdc0f4bf05","impliedFormat":1},{"version":"0b60b69c957adb27f990fbc27ea4ac1064249400262d7c4c1b0a1687506b3406","impliedFormat":1},{"version":"12c26e5d1befc0ded725cee4c2316f276013e6f2eb545966562ae9a0c1931357","impliedFormat":1},{"version":"27b247363f1376c12310f73ebac6debcde009c0b95b65a8207e4fa90e132b30a","impliedFormat":1},{"version":"05bd302e2249da923048c09dc684d1d74cb205551a87f22fb8badc09ec532a08","impliedFormat":1},{"version":"fe930ec064571ab3b698b13bddf60a29abf9d2f36d51ab1ca0083b087b061f3a","impliedFormat":1},{"version":"6b85c4198e4b62b0056d55135ad95909adf1b95c9a86cdbed2c0f4cc1a902d53","impliedFormat":1},{"version":"0be89a7733266ce4c046606ce9bf31f81045a2759909ff81e154a96fc5e58c1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"f329b17a7c4e044d1205269ff179debcf8f1e72838b44f661011fddd2686911f","signature":"bda72f1a2efbc7a76c3c433edabd7241dceb610708b796619bca35cd19695bde","impliedFormat":99},{"version":"301165bb5ce3efbf0085bd818980a496e03ae8ed8a8ab7e7ce69dfd96ed297dd","signature":"a7118b3dcf846bc50235c9c9723917add986c283e4746fc0122521f661eb741b","impliedFormat":99},{"version":"c32ae92152e08a588db1994a72bc2db9a34c43097b4f144355a6e44591a6be1a","signature":"2720148a61456606a71ededa00aba9a69ab2596ae504fda8e3f5fd4a37d7556a","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"73b5fa37db36eeac90c4d752e39586f1b57187400c4f5280fd05f16437287a45","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[[203,205]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"outDir":"./build","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[153,1],[152,2],[136,3],[125,4],[126,5],[162,6],[165,7],[171,8],[174,9],[195,10],[173,11],[154,4],[155,12],[156,13],[159,4],[157,4],[158,4],[196,14],[161,6],[160,4],[197,15],[164,7],[163,4],[201,16],[198,17],[168,18],[170,19],[167,20],[169,21],[166,18],[199,22],[172,6],[200,23],[175,24],[194,25],[191,26],[193,27],[178,28],[185,29],[187,30],[189,31],[188,32],[180,33],[177,26],[181,4],[192,34],[182,35],[179,4],[190,4],[176,4],[183,36],[184,4],[186,37],[137,4],[135,4],[256,38],[257,38],[258,39],[211,40],[259,41],[260,42],[261,43],[206,4],[209,44],[207,4],[208,4],[262,45],[263,46],[264,47],[265,48],[266,49],[267,50],[268,50],[269,51],[270,52],[271,53],[272,54],[212,4],[210,4],[273,55],[274,56],[275,57],[309,58],[276,59],[277,4],[278,60],[279,61],[280,62],[281,63],[282,64],[283,65],[284,66],[285,67],[286,68],[287,68],[288,69],[289,4],[290,70],[291,71],[293,72],[292,73],[294,74],[295,75],[296,76],[297,77],[298,78],[299,79],[300,80],[301,81],[302,82],[303,83],[304,84],[305,85],[306,86],[213,4],[214,4],[215,4],[253,87],[254,4],[255,4],[307,88],[308,89],[202,90],[151,4],[57,4],[58,4],[10,4],[12,4],[11,4],[2,4],[13,4],[14,4],[15,4],[16,4],[17,4],[18,4],[19,4],[20,4],[3,4],[21,4],[22,4],[4,4],[23,4],[27,4],[24,4],[25,4],[26,4],[28,4],[29,4],[30,4],[5,4],[31,4],[32,4],[33,4],[34,4],[6,4],[38,4],[35,4],[36,4],[37,4],[39,4],[7,4],[40,4],[45,4],[46,4],[41,4],[42,4],[43,4],[44,4],[8,4],[50,4],[47,4],[48,4],[49,4],[51,4],[9,4],[52,4],[53,4],[54,4],[56,4],[55,4],[1,4],[231,91],[241,92],[230,91],[251,93],[222,94],[221,95],[250,96],[244,97],[249,98],[224,99],[238,100],[223,101],[247,102],[219,103],[218,96],[248,104],[220,105],[225,106],[226,4],[229,106],[216,4],[252,107],[242,108],[233,109],[234,110],[236,111],[232,112],[235,113],[245,96],[227,114],[228,115],[237,116],[217,117],[240,108],[239,106],[243,4],[246,118],[142,119],[149,120],[144,4],[145,4],[143,121],[146,122],[138,4],[139,4],[150,123],[141,124],[147,4],[148,125],[140,126],[118,127],[121,128],[119,128],[115,127],[122,129],[123,130],[120,128],[116,131],[117,132],[111,133],[63,134],[65,135],[109,4],[64,136],[110,137],[114,138],[112,4],[66,134],[67,4],[108,139],[62,140],[59,4],[113,141],[60,142],[61,4],[124,143],[68,144],[69,144],[70,144],[71,144],[72,144],[73,144],[74,144],[75,144],[76,144],[77,144],[78,144],[80,144],[79,144],[81,144],[82,144],[83,144],[107,145],[84,144],[85,144],[86,144],[87,144],[88,144],[89,144],[90,144],[91,144],[92,144],[94,144],[93,144],[95,144],[96,144],[97,144],[98,144],[99,144],[100,144],[101,144],[102,144],[103,144],[104,144],[105,144],[106,144],[203,146],[205,147],[204,148],[134,149],[130,150],[128,151],[129,152],[127,4],[131,4],[132,152],[133,153]],"affectedFilesPendingEmit":[[203,51],[205,51],[204,51]],"emitSignatures":[203,204,205],"version":"5.9.3"}
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'tsdown'
2
+
3
+ export default defineConfig({
4
+ outDir: 'build',
5
+ dts: true,
6
+ entry: ['src/index.ts']
7
+ })