@cogitator-ai/openai-compat 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@
5
5
  * Creates an in-process adapter that can be used with the SDK's baseURL.
6
6
  */
7
7
  import { Agent } from '@cogitator-ai/core';
8
+ import { EventEmitter } from 'events';
8
9
  import { ThreadManager } from './thread-manager';
9
10
  import { nanoid } from 'nanoid';
10
11
  /**
@@ -47,23 +48,24 @@ export class OpenAIAdapter {
47
48
  getThreadManager() {
48
49
  return this.threadManager;
49
50
  }
50
- createAssistant(params) {
51
- const stored = this.threadManager.createAssistant(params);
51
+ async createAssistant(params) {
52
+ const stored = await this.threadManager.createAssistant(params);
52
53
  return this.toAssistant(stored);
53
54
  }
54
- getAssistant(id) {
55
- const stored = this.threadManager.getAssistant(id);
55
+ async getAssistant(id) {
56
+ const stored = await this.threadManager.getAssistant(id);
56
57
  return stored ? this.toAssistant(stored) : undefined;
57
58
  }
58
- updateAssistant(id, updates) {
59
- const stored = this.threadManager.updateAssistant(id, updates);
59
+ async updateAssistant(id, updates) {
60
+ const stored = await this.threadManager.updateAssistant(id, updates);
60
61
  return stored ? this.toAssistant(stored) : undefined;
61
62
  }
62
- deleteAssistant(id) {
63
+ async deleteAssistant(id) {
63
64
  return this.threadManager.deleteAssistant(id);
64
65
  }
65
- listAssistants() {
66
- return this.threadManager.listAssistants().map((s) => this.toAssistant(s));
66
+ async listAssistants() {
67
+ const assistants = await this.threadManager.listAssistants();
68
+ return assistants.map((s) => this.toAssistant(s));
67
69
  }
68
70
  toAssistant(stored) {
69
71
  return {
@@ -79,33 +81,33 @@ export class OpenAIAdapter {
79
81
  temperature: stored.temperature,
80
82
  };
81
83
  }
82
- createThread(metadata) {
84
+ async createThread(metadata) {
83
85
  return this.threadManager.createThread(metadata);
84
86
  }
85
- getThread(id) {
87
+ async getThread(id) {
86
88
  return this.threadManager.getThread(id);
87
89
  }
88
- deleteThread(id) {
90
+ async deleteThread(id) {
89
91
  return this.threadManager.deleteThread(id);
90
92
  }
91
- addMessage(threadId, params) {
93
+ async addMessage(threadId, params) {
92
94
  return this.threadManager.addMessage(threadId, params);
93
95
  }
94
- getMessage(threadId, messageId) {
96
+ async getMessage(threadId, messageId) {
95
97
  return this.threadManager.getMessage(threadId, messageId);
96
98
  }
97
- listMessages(threadId, options) {
99
+ async listMessages(threadId, options) {
98
100
  return this.threadManager.listMessages(threadId, options);
99
101
  }
100
102
  /**
101
103
  * Create and execute a run
102
104
  */
103
105
  async createRun(threadId, request) {
104
- const assistant = this.threadManager.getAssistant(request.assistant_id);
106
+ const assistant = await this.threadManager.getAssistant(request.assistant_id);
105
107
  if (!assistant) {
106
108
  throw new Error(`Assistant ${request.assistant_id} not found`);
107
109
  }
108
- const thread = this.threadManager.getThread(threadId);
110
+ const thread = await this.threadManager.getThread(threadId);
109
111
  if (!thread) {
110
112
  throw new Error(`Thread ${threadId} not found`);
111
113
  }
@@ -141,13 +143,16 @@ export class OpenAIAdapter {
141
143
  parallel_tool_calls: request.parallel_tool_calls,
142
144
  };
143
145
  const abortController = new AbortController();
144
- this.runs.set(runId, { run, abortController });
146
+ const streamEmitter = request.stream ? new EventEmitter() : undefined;
147
+ this.runs.set(runId, { run, abortController, streamEmitter });
145
148
  if (request.additional_messages) {
146
149
  for (const msg of request.additional_messages) {
147
- this.threadManager.addMessage(threadId, msg);
150
+ await this.threadManager.addMessage(threadId, msg);
148
151
  }
149
152
  }
150
- this.executeRun(runId, threadId, assistant, request).catch((error) => {
153
+ streamEmitter?.emit('event', 'thread.run.created', run);
154
+ streamEmitter?.emit('event', 'thread.run.queued', run);
155
+ this.executeRun(runId, threadId, assistant, request, !!request.stream).catch((error) => {
151
156
  const errorMessage = error instanceof Error ? error.message : String(error);
152
157
  console.warn(`[OpenAIAdapter] Run ${runId} failed:`, errorMessage);
153
158
  const state = this.runs.get(runId);
@@ -158,6 +163,8 @@ export class OpenAIAdapter {
158
163
  code: 'server_error',
159
164
  message: errorMessage,
160
165
  };
166
+ state.streamEmitter?.emit('event', 'thread.run.failed', state.run);
167
+ state.streamEmitter?.emit('end');
161
168
  }
162
169
  });
163
170
  return run;
@@ -206,14 +213,22 @@ export class OpenAIAdapter {
206
213
  state.run.required_action = null;
207
214
  return state.run;
208
215
  }
209
- async executeRun(runId, threadId, assistant, request) {
216
+ /**
217
+ * Get the stream emitter for a streaming run
218
+ */
219
+ getStreamEmitter(runId) {
220
+ return this.runs.get(runId)?.streamEmitter;
221
+ }
222
+ async executeRun(runId, threadId, assistant, request, streaming = false) {
210
223
  const state = this.runs.get(runId);
211
224
  if (!state)
212
225
  return;
226
+ const emitter = state.streamEmitter;
213
227
  state.run.status = 'in_progress';
214
228
  state.run.started_at = Math.floor(Date.now() / 1000);
229
+ emitter?.emit('event', 'thread.run.in_progress', state.run);
215
230
  try {
216
- const messages = this.threadManager.getMessagesForLLM(threadId);
231
+ const messages = await this.threadManager.getMessagesForLLM(threadId);
217
232
  const agent = new Agent({
218
233
  name: assistant.name ?? 'assistant',
219
234
  model: request.model ?? assistant.model,
@@ -225,15 +240,63 @@ export class OpenAIAdapter {
225
240
  if (!lastUserMessage) {
226
241
  throw new Error('No user message found');
227
242
  }
243
+ const messageId = `msg_${nanoid()}`;
244
+ let accumulatedContent = '';
245
+ let deltaIndex = 0;
246
+ if (streaming && emitter) {
247
+ const inProgressMessage = {
248
+ id: messageId,
249
+ object: 'thread.message',
250
+ created_at: Math.floor(Date.now() / 1000),
251
+ thread_id: threadId,
252
+ status: 'in_progress',
253
+ completed_at: null,
254
+ incomplete_at: null,
255
+ role: 'assistant',
256
+ content: [],
257
+ assistant_id: assistant.id,
258
+ run_id: runId,
259
+ attachments: [],
260
+ metadata: {},
261
+ };
262
+ emitter.emit('event', 'thread.message.created', inProgressMessage);
263
+ emitter.emit('event', 'thread.message.in_progress', inProgressMessage);
264
+ }
228
265
  const result = await this.cogitator.run(agent, {
229
266
  input: lastUserMessage.content,
230
267
  threadId,
268
+ stream: streaming,
269
+ onToken: streaming
270
+ ? (token) => {
271
+ accumulatedContent += token;
272
+ if (emitter) {
273
+ const delta = {
274
+ id: messageId,
275
+ object: 'thread.message.delta',
276
+ delta: {
277
+ content: [
278
+ {
279
+ index: deltaIndex++,
280
+ type: 'text',
281
+ text: { value: token },
282
+ },
283
+ ],
284
+ },
285
+ };
286
+ emitter.emit('event', 'thread.message.delta', delta);
287
+ }
288
+ }
289
+ : undefined,
231
290
  });
232
291
  if (state.abortController.signal.aborted) {
233
292
  return;
234
293
  }
235
- if (result.output) {
236
- this.threadManager.addAssistantMessage(threadId, result.output, assistant.id, runId);
294
+ const finalContent = result.output || accumulatedContent;
295
+ if (finalContent) {
296
+ const message = await this.threadManager.addAssistantMessage(threadId, finalContent, assistant.id, runId);
297
+ if (streaming && emitter && message) {
298
+ emitter.emit('event', 'thread.message.completed', message);
299
+ }
237
300
  }
238
301
  state.run.status = 'completed';
239
302
  state.run.completed_at = Math.floor(Date.now() / 1000);
@@ -244,6 +307,9 @@ export class OpenAIAdapter {
244
307
  total_tokens: result.usage.totalTokens,
245
308
  }
246
309
  : null;
310
+ emitter?.emit('event', 'thread.run.completed', state.run);
311
+ emitter?.emit('event', 'done', '[DONE]');
312
+ emitter?.emit('end');
247
313
  }
248
314
  catch (error) {
249
315
  if (state.abortController.signal.aborted) {
@@ -255,6 +321,9 @@ export class OpenAIAdapter {
255
321
  code: 'server_error',
256
322
  message: error instanceof Error ? error.message : String(error),
257
323
  };
324
+ emitter?.emit('event', 'thread.run.failed', state.run);
325
+ emitter?.emit('error', error instanceof Error ? error : new Error(String(error)));
326
+ emitter?.emit('end');
258
327
  }
259
328
  }
260
329
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai-adapter.js","sourceRoot":"","sources":["../../src/client/openai-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-adapter.js","sourceRoot":"","sources":["../../src/client/openai-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ import type { StoredThread, StoredAssistant } from './thread-manager';
2
+ export interface StoredFile {
3
+ id: string;
4
+ content: Buffer;
5
+ filename: string;
6
+ created_at: number;
7
+ }
8
+ /**
9
+ * Storage interface for ThreadManager persistence.
10
+ *
11
+ * Implementations can store data in memory, Redis, PostgreSQL, or other backends.
12
+ */
13
+ export interface ThreadStorage {
14
+ saveThread(id: string, thread: StoredThread): Promise<void>;
15
+ loadThread(id: string): Promise<StoredThread | null>;
16
+ deleteThread(id: string): Promise<boolean>;
17
+ listThreads(): Promise<StoredThread[]>;
18
+ saveAssistant(id: string, assistant: StoredAssistant): Promise<void>;
19
+ loadAssistant(id: string): Promise<StoredAssistant | null>;
20
+ deleteAssistant(id: string): Promise<boolean>;
21
+ listAssistants(): Promise<StoredAssistant[]>;
22
+ saveFile(id: string, file: StoredFile): Promise<void>;
23
+ loadFile(id: string): Promise<StoredFile | null>;
24
+ deleteFile(id: string): Promise<boolean>;
25
+ listFiles(): Promise<StoredFile[]>;
26
+ connect?(): Promise<void>;
27
+ disconnect?(): Promise<void>;
28
+ }
29
+ /**
30
+ * In-memory storage implementation (default, non-persistent).
31
+ *
32
+ * Data is lost when the process restarts.
33
+ */
34
+ export declare class InMemoryThreadStorage implements ThreadStorage {
35
+ private threads;
36
+ private assistants;
37
+ private files;
38
+ saveThread(id: string, thread: StoredThread): Promise<void>;
39
+ loadThread(id: string): Promise<StoredThread | null>;
40
+ deleteThread(id: string): Promise<boolean>;
41
+ listThreads(): Promise<StoredThread[]>;
42
+ saveAssistant(id: string, assistant: StoredAssistant): Promise<void>;
43
+ loadAssistant(id: string): Promise<StoredAssistant | null>;
44
+ deleteAssistant(id: string): Promise<boolean>;
45
+ listAssistants(): Promise<StoredAssistant[]>;
46
+ saveFile(id: string, file: StoredFile): Promise<void>;
47
+ loadFile(id: string): Promise<StoredFile | null>;
48
+ deleteFile(id: string): Promise<boolean>;
49
+ listFiles(): Promise<StoredFile[]>;
50
+ }
51
+ export interface RedisThreadStorageConfig {
52
+ url?: string;
53
+ host?: string;
54
+ port?: number;
55
+ keyPrefix?: string;
56
+ ttl?: number;
57
+ }
58
+ /**
59
+ * Redis storage implementation for ThreadManager.
60
+ *
61
+ * Requires ioredis to be installed as a peer dependency.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * const storage = new RedisThreadStorage({
66
+ * url: 'redis://localhost:6379',
67
+ * keyPrefix: 'openai:',
68
+ * ttl: 86400,
69
+ * });
70
+ * await storage.connect();
71
+ *
72
+ * const manager = new ThreadManager(storage);
73
+ * ```
74
+ */
75
+ export declare class RedisThreadStorage implements ThreadStorage {
76
+ private client;
77
+ private config;
78
+ private keyPrefix;
79
+ private ttl;
80
+ constructor(config?: RedisThreadStorageConfig);
81
+ connect(): Promise<void>;
82
+ disconnect(): Promise<void>;
83
+ private ensureClient;
84
+ private key;
85
+ saveThread(id: string, thread: StoredThread): Promise<void>;
86
+ loadThread(id: string): Promise<StoredThread | null>;
87
+ deleteThread(id: string): Promise<boolean>;
88
+ listThreads(): Promise<StoredThread[]>;
89
+ saveAssistant(id: string, assistant: StoredAssistant): Promise<void>;
90
+ loadAssistant(id: string): Promise<StoredAssistant | null>;
91
+ deleteAssistant(id: string): Promise<boolean>;
92
+ listAssistants(): Promise<StoredAssistant[]>;
93
+ saveFile(id: string, file: StoredFile): Promise<void>;
94
+ loadFile(id: string): Promise<StoredFile | null>;
95
+ deleteFile(id: string): Promise<boolean>;
96
+ listFiles(): Promise<StoredFile[]>;
97
+ }
98
+ export interface PostgresThreadStorageConfig {
99
+ connectionString: string;
100
+ schema?: string;
101
+ tableName?: string;
102
+ }
103
+ /**
104
+ * PostgreSQL storage implementation for ThreadManager.
105
+ *
106
+ * Requires pg to be installed as a peer dependency.
107
+ * Automatically creates required tables on first connect.
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * const storage = new PostgresThreadStorage({
112
+ * connectionString: 'postgresql://user:pass@localhost/db',
113
+ * tableName: 'openai_threads',
114
+ * });
115
+ * await storage.connect();
116
+ *
117
+ * const manager = new ThreadManager(storage);
118
+ * ```
119
+ */
120
+ export declare class PostgresThreadStorage implements ThreadStorage {
121
+ private pool;
122
+ private config;
123
+ private schema;
124
+ private tableName;
125
+ constructor(config: PostgresThreadStorageConfig);
126
+ connect(): Promise<void>;
127
+ disconnect(): Promise<void>;
128
+ private ensurePool;
129
+ saveThread(id: string, thread: StoredThread): Promise<void>;
130
+ loadThread(id: string): Promise<StoredThread | null>;
131
+ deleteThread(id: string): Promise<boolean>;
132
+ listThreads(): Promise<StoredThread[]>;
133
+ saveAssistant(id: string, assistant: StoredAssistant): Promise<void>;
134
+ loadAssistant(id: string): Promise<StoredAssistant | null>;
135
+ deleteAssistant(id: string): Promise<boolean>;
136
+ listAssistants(): Promise<StoredAssistant[]>;
137
+ saveFile(id: string, file: StoredFile): Promise<void>;
138
+ loadFile(id: string): Promise<StoredFile | null>;
139
+ deleteFile(id: string): Promise<boolean>;
140
+ listFiles(): Promise<StoredFile[]>;
141
+ }
142
+ /**
143
+ * Create a thread storage based on configuration.
144
+ *
145
+ * @param config - Storage configuration
146
+ * @returns Configured storage instance (not connected - call connect() if needed)
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * // In-memory (default)
151
+ * const storage = createThreadStorage();
152
+ *
153
+ * // Redis
154
+ * const storage = createThreadStorage({
155
+ * type: 'redis',
156
+ * url: 'redis://localhost:6379',
157
+ * });
158
+ * await storage.connect();
159
+ *
160
+ * // PostgreSQL
161
+ * const storage = createThreadStorage({
162
+ * type: 'postgres',
163
+ * connectionString: 'postgresql://...',
164
+ * });
165
+ * await storage.connect();
166
+ * ```
167
+ */
168
+ export declare function createThreadStorage(config?: {
169
+ type: 'memory';
170
+ } | ({
171
+ type: 'redis';
172
+ } & RedisThreadStorageConfig) | ({
173
+ type: 'postgres';
174
+ } & PostgresThreadStorageConfig)): ThreadStorage;
175
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/client/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEvC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC3D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE7C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEnC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,KAAK,CAAiC;IAExC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1C,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAItC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAI1D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7C,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIhD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxC,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGzC;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACtD,OAAO,CAAC,MAAM,CAME;IAEhB,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAS;gBAER,MAAM,GAAE,wBAA6B;IAM3C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,GAAG;IAIL,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAMpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1C,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAWtC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAM1D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7C,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAW5C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAWhD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxC,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAgBzC;AAED,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,qBAAsB,YAAW,aAAa;IACzD,OAAO,CAAC,IAAI,CAGI;IAEhB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,2BAA2B;IAMzC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,OAAO,CAAC,UAAU;IAOZ,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IASpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS1C,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQtC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAS1D,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7C,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAQ5C,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAchD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASxC,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAUzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EACH;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB,CAAC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,wBAAwB,CAAC,GAC9C,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,2BAA2B,CAAC,GACvD,aAAa,CAcf"}