@agentick/core 0.0.1 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/.tsbuildinfo.build +1 -1
  2. package/package.json +8 -3
  3. package/dist/.tsbuildinfo +0 -1
  4. package/dist/agent.d.ts +0 -32
  5. package/dist/agent.d.ts.map +0 -1
  6. package/dist/agent.js +0 -26
  7. package/dist/agent.js.map +0 -1
  8. package/dist/aidk-instance.d.ts +0 -294
  9. package/dist/aidk-instance.d.ts.map +0 -1
  10. package/dist/aidk-instance.js +0 -340
  11. package/dist/aidk-instance.js.map +0 -1
  12. package/dist/compiler/content-block-registry.d.ts +0 -11
  13. package/dist/compiler/content-block-registry.d.ts.map +0 -1
  14. package/dist/compiler/content-block-registry.js +0 -312
  15. package/dist/compiler/content-block-registry.js.map +0 -1
  16. package/dist/compiler/extractors.d.ts +0 -68
  17. package/dist/compiler/extractors.d.ts.map +0 -1
  18. package/dist/compiler/extractors.js +0 -547
  19. package/dist/compiler/extractors.js.map +0 -1
  20. package/dist/compiler/fiber.d.ts +0 -61
  21. package/dist/compiler/fiber.d.ts.map +0 -1
  22. package/dist/compiler/fiber.js +0 -244
  23. package/dist/compiler/fiber.js.map +0 -1
  24. package/dist/component/tentickle-component.d.ts +0 -185
  25. package/dist/component/tentickle-component.d.ts.map +0 -1
  26. package/dist/component/tentickle-component.js +0 -182
  27. package/dist/component/tentickle-component.js.map +0 -1
  28. package/dist/core/channel-helpers.d.ts +0 -31
  29. package/dist/core/channel-helpers.d.ts.map +0 -1
  30. package/dist/core/channel-helpers.js +0 -62
  31. package/dist/core/channel-helpers.js.map +0 -1
  32. package/dist/core/channel.d.ts +0 -164
  33. package/dist/core/channel.d.ts.map +0 -1
  34. package/dist/core/channel.js +0 -199
  35. package/dist/core/channel.js.map +0 -1
  36. package/dist/core/context.d.ts +0 -412
  37. package/dist/core/context.d.ts.map +0 -1
  38. package/dist/core/context.js +0 -290
  39. package/dist/core/context.js.map +0 -1
  40. package/dist/core/event-buffer.d.ts +0 -212
  41. package/dist/core/event-buffer.d.ts.map +0 -1
  42. package/dist/core/event-buffer.js +0 -346
  43. package/dist/core/event-buffer.js.map +0 -1
  44. package/dist/core/execution-helpers.d.ts +0 -179
  45. package/dist/core/execution-helpers.d.ts.map +0 -1
  46. package/dist/core/execution-helpers.js +0 -212
  47. package/dist/core/execution-helpers.js.map +0 -1
  48. package/dist/core/execution-tracker.d.ts +0 -53
  49. package/dist/core/execution-tracker.d.ts.map +0 -1
  50. package/dist/core/execution-tracker.js +0 -309
  51. package/dist/core/execution-tracker.js.map +0 -1
  52. package/dist/core/index.d.ts +0 -58
  53. package/dist/core/index.d.ts.map +0 -1
  54. package/dist/core/index.js +0 -58
  55. package/dist/core/index.js.map +0 -1
  56. package/dist/core/logger.d.ts +0 -341
  57. package/dist/core/logger.d.ts.map +0 -1
  58. package/dist/core/logger.js +0 -346
  59. package/dist/core/logger.js.map +0 -1
  60. package/dist/core/metrics-helpers.d.ts +0 -40
  61. package/dist/core/metrics-helpers.d.ts.map +0 -1
  62. package/dist/core/metrics-helpers.js +0 -72
  63. package/dist/core/metrics-helpers.js.map +0 -1
  64. package/dist/core/otel-provider.d.ts +0 -54
  65. package/dist/core/otel-provider.d.ts.map +0 -1
  66. package/dist/core/otel-provider.js +0 -107
  67. package/dist/core/otel-provider.js.map +0 -1
  68. package/dist/core/procedure-graph.d.ts +0 -136
  69. package/dist/core/procedure-graph.d.ts.map +0 -1
  70. package/dist/core/procedure-graph.js +0 -272
  71. package/dist/core/procedure-graph.js.map +0 -1
  72. package/dist/core/procedure.d.ts +0 -755
  73. package/dist/core/procedure.d.ts.map +0 -1
  74. package/dist/core/procedure.js +0 -899
  75. package/dist/core/procedure.js.map +0 -1
  76. package/dist/core/stream.d.ts +0 -106
  77. package/dist/core/stream.d.ts.map +0 -1
  78. package/dist/core/stream.js +0 -186
  79. package/dist/core/stream.js.map +0 -1
  80. package/dist/core/telemetry.d.ts +0 -182
  81. package/dist/core/telemetry.d.ts.map +0 -1
  82. package/dist/core/telemetry.js +0 -124
  83. package/dist/core/telemetry.js.map +0 -1
  84. package/dist/engine/execution-graph.d.ts +0 -104
  85. package/dist/engine/execution-graph.d.ts.map +0 -1
  86. package/dist/engine/execution-graph.js +0 -257
  87. package/dist/engine/execution-graph.js.map +0 -1
  88. package/dist/hooks/policy-context.d.ts.map +0 -1
  89. package/dist/jsx/components/agent.d.ts +0 -64
  90. package/dist/jsx/components/agent.d.ts.map +0 -1
  91. package/dist/jsx/components/agent.js +0 -80
  92. package/dist/jsx/components/agent.js.map +0 -1
  93. package/dist/model/simple-adapter.d.ts +0 -176
  94. package/dist/model/simple-adapter.d.ts.map +0 -1
  95. package/dist/model/simple-adapter.js +0 -264
  96. package/dist/model/simple-adapter.js.map +0 -1
  97. package/dist/state/boundary.d.ts +0 -347
  98. package/dist/state/boundary.d.ts.map +0 -1
  99. package/dist/state/boundary.js +0 -341
  100. package/dist/state/boundary.js.map +0 -1
  101. package/dist/state/context.d.ts +0 -138
  102. package/dist/state/context.d.ts.map +0 -1
  103. package/dist/state/context.js +0 -139
  104. package/dist/state/context.js.map +0 -1
  105. package/dist/state/hooks.d.ts +0 -798
  106. package/dist/state/hooks.d.ts.map +0 -1
  107. package/dist/state/hooks.js +0 -1437
  108. package/dist/state/hooks.js.map +0 -1
  109. package/dist/state/index.d.ts +0 -72
  110. package/dist/state/index.d.ts.map +0 -1
  111. package/dist/state/index.js +0 -73
  112. package/dist/state/index.js.map +0 -1
  113. package/dist/state/signal.d.ts +0 -223
  114. package/dist/state/signal.d.ts.map +0 -1
  115. package/dist/state/signal.js +0 -699
  116. package/dist/state/signal.js.map +0 -1
  117. package/dist/state/use-state.d.ts +0 -210
  118. package/dist/state/use-state.d.ts.map +0 -1
  119. package/dist/state/use-state.js +0 -327
  120. package/dist/state/use-state.js.map +0 -1
  121. package/dist/tentickle-instance.d.ts +0 -285
  122. package/dist/tentickle-instance.d.ts.map +0 -1
  123. package/dist/tentickle-instance.js +0 -700
  124. package/dist/tentickle-instance.js.map +0 -1
  125. package/dist/testing/test-model.d.ts +0 -132
  126. package/dist/testing/test-model.d.ts.map +0 -1
  127. package/dist/testing/test-model.js +0 -260
  128. package/dist/testing/test-model.js.map +0 -1
  129. package/dist/v2/reconciler/host-config.d.ts +0 -31
  130. package/dist/v2/reconciler/host-config.d.ts.map +0 -1
  131. package/dist/v2/reconciler/host-config.js +0 -197
  132. package/dist/v2/reconciler/host-config.js.map +0 -1
  133. package/dist/v2/reconciler/index.d.ts +0 -7
  134. package/dist/v2/reconciler/index.d.ts.map +0 -1
  135. package/dist/v2/reconciler/index.js +0 -7
  136. package/dist/v2/reconciler/index.js.map +0 -1
  137. package/dist/v2/reconciler/reconciler.d.ts +0 -39
  138. package/dist/v2/reconciler/reconciler.d.ts.map +0 -1
  139. package/dist/v2/reconciler/reconciler.js +0 -54
  140. package/dist/v2/reconciler/reconciler.js.map +0 -1
  141. package/dist/v2/reconciler/types.d.ts +0 -64
  142. package/dist/v2/reconciler/types.d.ts.map +0 -1
  143. package/dist/v2/reconciler/types.js +0 -20
  144. package/dist/v2/reconciler/types.js.map +0 -1
  145. package/dist/v2/renderers/index.d.ts +0 -7
  146. package/dist/v2/renderers/index.d.ts.map +0 -1
  147. package/dist/v2/renderers/index.js +0 -7
  148. package/dist/v2/renderers/index.js.map +0 -1
  149. package/dist/v2/renderers/markdown.d.ts +0 -16
  150. package/dist/v2/renderers/markdown.d.ts.map +0 -1
  151. package/dist/v2/renderers/markdown.js +0 -65
  152. package/dist/v2/renderers/markdown.js.map +0 -1
  153. package/dist/v2/renderers/types.d.ts +0 -26
  154. package/dist/v2/renderers/types.d.ts.map +0 -1
  155. package/dist/v2/renderers/types.js +0 -6
  156. package/dist/v2/renderers/types.js.map +0 -1
  157. package/dist/v2/renderers/xml.d.ts +0 -17
  158. package/dist/v2/renderers/xml.d.ts.map +0 -1
  159. package/dist/v2/renderers/xml.js +0 -73
  160. package/dist/v2/renderers/xml.js.map +0 -1
@@ -1,285 +0,0 @@
1
- /**
2
- * Tentickle Configuration Instance
3
- *
4
- * `Tentickle` is the default global instance. Users interact with instances, never the class directly.
5
- *
6
- * ```typescript
7
- * import { Tentickle, createApp } from 'tentickle';
8
- *
9
- * // Configure global instance
10
- * Tentickle.use('*', loggingMiddleware);
11
- * Tentickle.use('tool:*', authMiddleware);
12
- *
13
- * // createApp uses Tentickle by default
14
- * const app = createApp(MyAgent, { model });
15
- *
16
- * // Create a scoped instance (inherits from Tentickle)
17
- * const scoped = Tentickle.create();
18
- * scoped.use('model:generate', rateLimitMiddleware);
19
- * const scopedApp = scoped.createApp(MyAgent, { model });
20
- *
21
- * // Create isolated instance (no inheritance)
22
- * const isolated = Tentickle.create({ inheritDefaults: false });
23
- * ```
24
- *
25
- * @module tentickle/@tentickle/instance
26
- */
27
- import { type Middleware, type TelemetryProvider, type Procedure } from "@tentickle/kernel";
28
- import type { App, RunInput, AppOptions, SessionExecutionHandle, ComponentFunction } from "./app/types";
29
- /**
30
- * Key for middleware registration.
31
- * - `'*'` - matches all procedures
32
- * - `'tool:*'` - matches all tool procedures
33
- * - `'tool:run'` - matches specific procedure
34
- * - `'model:generate'` - matches specific procedure
35
- */
36
- export type MiddlewareKey = string;
37
- /**
38
- * Options for creating an TentickleInstance.
39
- */
40
- export interface TentickleInstanceCreateOptions {
41
- /** Telemetry provider for tracing and metrics */
42
- telemetryProvider?: TelemetryProvider;
43
- /**
44
- * Whether to inherit middleware from the parent instance.
45
- * @default true
46
- */
47
- inheritDefaults?: boolean;
48
- }
49
- /**
50
- * Interface for middleware resolution.
51
- * This is what gets passed to context for procedures to read at execution time.
52
- */
53
- export interface MiddlewareRegistry {
54
- /**
55
- * Get middleware matching a procedure name.
56
- * Matches in order: '*', category wildcard ('tool:*'), exact name
57
- */
58
- getMiddlewareFor(procedureName: string): Middleware[];
59
- }
60
- /**
61
- * Handler type for the run procedure.
62
- * Generic P is the props type for the component.
63
- */
64
- type RunHandler = <P extends Record<string, unknown>>(element: {
65
- type: ComponentFunction<P>;
66
- props: P;
67
- key: string | number | null;
68
- }, input?: RunInput<P>) => SessionExecutionHandle;
69
- /**
70
- * Tentickle configuration instance.
71
- *
72
- * Users interact with instances, never the class directly.
73
- * `Tentickle` is the default global instance.
74
- */
75
- export declare class TentickleInstance implements MiddlewareRegistry {
76
- private middlewareRegistry;
77
- private _telemetryProvider?;
78
- /**
79
- * One-shot execution of a JSX component.
80
- *
81
- * Accepts a JSX element and optional RunInput. Creates a temporary app and session,
82
- * runs to completion, then cleans up.
83
- *
84
- * **Prop merging:** Element props are defaults, `input.props` override them.
85
- * `{ ...element.props, ...input.props }` — so `<Agent query="default" />` with
86
- * `{ props: { query: "override" } }` uses `"override"`.
87
- *
88
- * Returns SessionExecutionHandle (AsyncIterable, not PromiseLike):
89
- * - `await run(...).result` → SendResult
90
- * - `for await (const event of await run(...))` → StreamEvent
91
- *
92
- * @example Get result
93
- * ```typescript
94
- * const result = await Tentickle.run(
95
- * <MyAgent />,
96
- * { messages: [{ role: "user", content: [...] }], model }
97
- * ).result;
98
- * ```
99
- *
100
- * @example Stream events
101
- * ```typescript
102
- * const handle = await Tentickle.run(<MyAgent />, { messages, model });
103
- * for await (const event of handle) {
104
- * if (event.type === 'content_delta') {
105
- * process.stdout.write(event.delta);
106
- * }
107
- * }
108
- * ```
109
- *
110
- * @example Add middleware to run
111
- * ```typescript
112
- * const loggedRun = Tentickle.run.use(loggingMiddleware);
113
- * const result = await loggedRun(<MyAgent />, { messages, model }).result;
114
- * ```
115
- */
116
- readonly run: Procedure<RunHandler, true>;
117
- /**
118
- * @internal
119
- */
120
- constructor(options?: {
121
- telemetryProvider?: TelemetryProvider;
122
- });
123
- /**
124
- * Register middleware for a procedure pattern.
125
- *
126
- * Keys can be:
127
- * - `'*'` - all procedures
128
- * - `'tool:*'` - all tool procedures (tool:run, etc.)
129
- * - `'model:*'` - all model procedures (model:generate, model:stream)
130
- * - `'tool:run'` - specific procedure name
131
- * - `'model:generate'` - specific procedure name
132
- *
133
- * Middleware is executed in order: global → category → specific
134
- *
135
- * @param key - Procedure pattern to match
136
- * @param middleware - Middleware functions to register
137
- * @returns this for chaining
138
- *
139
- * @example
140
- * ```typescript
141
- * Tentickle
142
- * .use('*', loggingMiddleware)
143
- * .use('tool:*', authMiddleware)
144
- * .use('model:generate', rateLimitMiddleware);
145
- * ```
146
- */
147
- use(key: MiddlewareKey, ...middleware: Middleware[]): this;
148
- /**
149
- * Get middleware matching a procedure name.
150
- *
151
- * Resolution order:
152
- * 1. Global ('*')
153
- * 2. Category wildcard (e.g., 'tool:*' matches 'tool:run')
154
- * 3. Exact match (e.g., 'tool:run')
155
- *
156
- * @param procedureName - The procedure name to match (e.g., 'tool:run', 'model:generate')
157
- * @returns Array of middleware functions in execution order
158
- */
159
- getMiddlewareFor(procedureName: string): Middleware[];
160
- /**
161
- * Clear all registered middleware.
162
- * Useful for testing or resetting state.
163
- */
164
- clear(): this;
165
- /**
166
- * Get the telemetry provider.
167
- */
168
- get telemetryProvider(): TelemetryProvider | undefined;
169
- /**
170
- * Set the telemetry provider.
171
- */
172
- set telemetryProvider(provider: TelemetryProvider | undefined);
173
- /**
174
- * Create a child instance.
175
- *
176
- * By default, the child inherits all middleware from this instance.
177
- * Use `inheritDefaults: false` for a completely isolated instance.
178
- *
179
- * @param options - Instance options
180
- * @returns A new TentickleInstance
181
- *
182
- * @example
183
- * ```typescript
184
- * // Create scoped instance that inherits global middleware
185
- * const scoped = Tentickle.create();
186
- * scoped.use('model:generate', rateLimitMiddleware);
187
- * const app = scoped.createApp(MyAgent);
188
- *
189
- * // Create isolated instance (no inheritance)
190
- * const isolated = Tentickle.create({ inheritDefaults: false });
191
- * ```
192
- */
193
- create(options?: TentickleInstanceCreateOptions): TentickleInstance;
194
- /**
195
- * Create an app from a component function.
196
- *
197
- * The app inherits middleware from this Tentickle instance.
198
- *
199
- * @param Component - The component function that defines the Model Interface
200
- * @param options - App configuration options
201
- * @returns An App instance with run, send, and session methods
202
- *
203
- * @example
204
- * ```typescript
205
- * const MyAgent = ({ query }) => (
206
- * <>
207
- * <System>You are helpful.</System>
208
- * <Timeline />
209
- * <User>{query}</User>
210
- * </>
211
- * );
212
- *
213
- * // Use global Tentickle
214
- * const app = createApp(MyAgent, { model });
215
- *
216
- * // Use scoped instance
217
- * const scoped = Tentickle.create();
218
- * scoped.use('tool:*', authMiddleware);
219
- * const scopedApp = scoped.createApp(MyAgent, { model });
220
- * ```
221
- */
222
- createApp<P extends Record<string, unknown>>(Component: ComponentFunction<P>, options?: AppOptions): App<P>;
223
- }
224
- /**
225
- * The default global Tentickle instance.
226
- *
227
- * All configuration and middleware registration starts here.
228
- * The exported `createApp` and `run` are bound to this instance.
229
- *
230
- * @example
231
- * ```typescript
232
- * import { Tentickle, createApp, run } from 'tentickle';
233
- *
234
- * // Configure global middleware
235
- * Tentickle.use('*', loggingMiddleware);
236
- * Tentickle.telemetryProvider = myProvider;
237
- *
238
- * // createApp and run use Tentickle
239
- * const app = createApp(MyAgent, { model });
240
- * const result = await run(<MyAgent />, { messages, model });
241
- *
242
- * // Create scoped instance with its own middleware
243
- * const scoped = Tentickle.create();
244
- * scoped.use('model:generate', specialMiddleware);
245
- * const scopedResult = await scoped.run(<MyAgent />, { messages, model });
246
- * ```
247
- */
248
- export declare const Tentickle: TentickleInstance;
249
- /**
250
- * Create an app from a component function.
251
- *
252
- * This is `Tentickle.createApp` - apps inherit middleware from the global Tentickle instance.
253
- *
254
- * @example
255
- * ```typescript
256
- * import { createApp } from 'tentickle';
257
- *
258
- * const app = createApp(MyAgent, { model });
259
- * const result = await app.run({ props: { query: "Hello!" } });
260
- * ```
261
- */
262
- export declare const createApp: <P extends Record<string, unknown>>(Component: ComponentFunction<P>, options?: AppOptions) => App<P>;
263
- /**
264
- * One-shot execution of a JSX component.
265
- *
266
- * This is `Tentickle.run` - the simplest way to run an agent.
267
- * Returns SessionExecutionHandle (AsyncIterable, not PromiseLike).
268
- *
269
- * @example
270
- * ```typescript
271
- * import { run } from 'tentickle';
272
- *
273
- * // Get result
274
- * const result = await run(<MyAgent />, { messages, model }).result;
275
- *
276
- * // Stream events
277
- * const handle = await run(<MyAgent />, { messages, model });
278
- * for await (const event of handle) {
279
- * console.log(event);
280
- * }
281
- * ```
282
- */
283
- export declare const run: Procedure<RunHandler, true>;
284
- export {};
285
- //# sourceMappingURL=tentickle-instance.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tentickle-instance.d.ts","sourceRoot":"","sources":["../src/tentickle-instance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,GAAG,EACH,QAAQ,EACR,UAAU,EAGV,sBAAsB,EACtB,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AAGrB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;CACvD;AA8fD;;;GAGG;AACH,KAAK,UAAU,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,OAAO,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,EAC9E,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAChB,sBAAsB,CAAC;AAE5B;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,kBAAkB,CAA0C;IACpE,OAAO,CAAC,kBAAkB,CAAC,CAAoB;IAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAE1C;;OAEG;gBACS,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;KAAE;IA+B/D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI;IAM1D;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE;IAsBrD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAErD;IAED;;OAEG;IACH,IAAI,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,EAE5D;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,OAAO,GAAE,8BAAmC,GAAG,iBAAiB;IAevE;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,OAAO,GAAE,UAAe,GACvB,GAAG,CAAC,CAAC,CAAC;CAKV;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,mBAA0B,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAjDV,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aAC9B,iBAAiB,CAAC,CAAC,CAAC,YACtB,UAAU,KAClB,GAAG,CAAC,CAAC,CA8CkD,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,GAAG,6BAAgC,CAAC"}