infinium-o2 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +550 -0
  3. package/dist/cjs/asyncClient.d.ts +119 -0
  4. package/dist/cjs/asyncClient.d.ts.map +1 -0
  5. package/dist/cjs/asyncClient.js +464 -0
  6. package/dist/cjs/asyncClient.js.map +1 -0
  7. package/dist/cjs/client.d.ts +92 -0
  8. package/dist/cjs/client.d.ts.map +1 -0
  9. package/dist/cjs/client.js +354 -0
  10. package/dist/cjs/client.js.map +1 -0
  11. package/dist/cjs/errors.d.ts +102 -0
  12. package/dist/cjs/errors.d.ts.map +1 -0
  13. package/dist/cjs/errors.js +218 -0
  14. package/dist/cjs/errors.js.map +1 -0
  15. package/dist/cjs/index.d.ts +12 -0
  16. package/dist/cjs/index.d.ts.map +1 -0
  17. package/dist/cjs/index.js +61 -0
  18. package/dist/cjs/index.js.map +1 -0
  19. package/dist/cjs/package.json +1 -0
  20. package/dist/cjs/types.d.ts +231 -0
  21. package/dist/cjs/types.d.ts.map +1 -0
  22. package/dist/cjs/types.js +23 -0
  23. package/dist/cjs/types.js.map +1 -0
  24. package/dist/cjs/utils.d.ts +130 -0
  25. package/dist/cjs/utils.d.ts.map +1 -0
  26. package/dist/cjs/utils.js +381 -0
  27. package/dist/cjs/utils.js.map +1 -0
  28. package/dist/esm/asyncClient.d.ts +119 -0
  29. package/dist/esm/asyncClient.d.ts.map +1 -0
  30. package/dist/esm/asyncClient.js +457 -0
  31. package/dist/esm/asyncClient.js.map +1 -0
  32. package/dist/esm/client.d.ts +92 -0
  33. package/dist/esm/client.d.ts.map +1 -0
  34. package/dist/esm/client.js +347 -0
  35. package/dist/esm/client.js.map +1 -0
  36. package/dist/esm/errors.d.ts +102 -0
  37. package/dist/esm/errors.d.ts.map +1 -0
  38. package/dist/esm/errors.js +200 -0
  39. package/dist/esm/errors.js.map +1 -0
  40. package/dist/esm/index.d.ts +12 -0
  41. package/dist/esm/index.d.ts.map +1 -0
  42. package/dist/esm/index.js +17 -0
  43. package/dist/esm/index.js.map +1 -0
  44. package/dist/esm/package.json +1 -0
  45. package/dist/esm/types.d.ts +231 -0
  46. package/dist/esm/types.d.ts.map +1 -0
  47. package/dist/esm/types.js +20 -0
  48. package/dist/esm/types.js.map +1 -0
  49. package/dist/esm/utils.d.ts +130 -0
  50. package/dist/esm/utils.d.ts.map +1 -0
  51. package/dist/esm/utils.js +355 -0
  52. package/dist/esm/utils.js.map +1 -0
  53. package/package.json +94 -0
@@ -0,0 +1,457 @@
1
+ /**
2
+ * Asynchronous client for Infinium API.
3
+ */
4
+ import axios from 'axios';
5
+ import axiosRetry from 'axios-retry';
6
+ import { AgentType, } from './types';
7
+ import { InfiniumError, ValidationError, RateLimitError, ServerError, handleAxiosError, } from './errors';
8
+ import { validateAgentCredentials, validateIsoDatetime, validateAgentType, validateDuration, validateRequiredField, getCurrentIsoDatetime, RateLimiter, setupLogging, generateUserAgent, normalizeUrl, shouldRetryError, sleep, } from './utils';
9
+ /**
10
+ * Asynchronous client for Infinium API.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { AsyncInfiniumClient, AgentType } from 'infinium';
15
+ *
16
+ * const client = new AsyncInfiniumClient({
17
+ * agentId: 'your-agent-id',
18
+ * agentSecret: 'your-agent-secret'
19
+ * });
20
+ *
21
+ * // Send a simple task
22
+ * const response = await client.sendTask({
23
+ * name: 'Process customer inquiry',
24
+ * description: 'Handled customer question about pricing',
25
+ * duration: 120.5
26
+ * });
27
+ *
28
+ * // Use with proper cleanup
29
+ * async function example() {
30
+ * const client = new AsyncInfiniumClient({
31
+ * agentId: 'your-agent-id',
32
+ * agentSecret: 'your-agent-secret'
33
+ * });
34
+ *
35
+ * try {
36
+ * const health = await client.testConnection();
37
+ * console.log('Connected:', health.agentName);
38
+ *
39
+ * const response = await client.sendTask({
40
+ * name: 'Marketing campaign analysis',
41
+ * description: 'Analyzed Q3 campaign performance',
42
+ * duration: 300.0,
43
+ * agentType: AgentType.MARKETING_ASSISTANT
44
+ * });
45
+ *
46
+ * console.log('Task sent:', response.success);
47
+ * } finally {
48
+ * await client.close();
49
+ * }
50
+ * }
51
+ * ```
52
+ */
53
+ export class AsyncInfiniumClient {
54
+ agentId;
55
+ agentSecret;
56
+ baseUrl;
57
+ timeout;
58
+ maxRetries;
59
+ userAgent;
60
+ logger;
61
+ rateLimiter;
62
+ httpClient;
63
+ closed = false;
64
+ /**
65
+ * Initialize the async Infinium client.
66
+ */
67
+ constructor(config) {
68
+ // Validate configuration
69
+ validateAgentCredentials(config.agentId, config.agentSecret);
70
+ this.agentId = config.agentId;
71
+ this.agentSecret = config.agentSecret;
72
+ this.baseUrl = normalizeUrl(config.baseUrl || 'https://api.i42m.ai/api/v1');
73
+ this.timeout = config.timeout || 30000;
74
+ this.maxRetries = config.maxRetries || 3;
75
+ this.userAgent = config.userAgent || generateUserAgent('1.0.0');
76
+ this.logger = setupLogging(config.enableLogging, config.logLevel);
77
+ // Setup rate limiter if enabled
78
+ this.rateLimiter =
79
+ config.enableRateLimiting !== false
80
+ ? new RateLimiter({
81
+ requestsPerSecond: config.requestsPerSecond || 10,
82
+ burstSize: (config.requestsPerSecond || 10) * 2,
83
+ })
84
+ : null;
85
+ // Setup HTTP client
86
+ this.httpClient = this.createHttpClient();
87
+ this.logger.info('Async Infinium client initialized', {
88
+ agentId: this.agentId,
89
+ baseUrl: this.baseUrl,
90
+ timeout: this.timeout,
91
+ maxRetries: this.maxRetries,
92
+ rateLimitingEnabled: !!this.rateLimiter,
93
+ });
94
+ }
95
+ /**
96
+ * Create and configure HTTP client.
97
+ */
98
+ createHttpClient() {
99
+ const client = axios.create({
100
+ baseURL: this.baseUrl,
101
+ timeout: this.timeout,
102
+ headers: {
103
+ 'Content-Type': 'application/json',
104
+ 'User-Agent': this.userAgent,
105
+ 'x-agent-id': this.agentId,
106
+ 'x-agent-key': this.agentSecret,
107
+ },
108
+ });
109
+ // Setup retry logic
110
+ axiosRetry(client, {
111
+ retries: this.maxRetries,
112
+ retryDelay: (retryCount) => {
113
+ return Math.min(1000 * 2 ** (retryCount - 1), 30000);
114
+ },
115
+ retryCondition: (error) => {
116
+ // eslint-disable-line @typescript-eslint/no-explicit-any
117
+ return shouldRetryError(error);
118
+ },
119
+ onRetry: (retryCount, error, requestConfig) => {
120
+ // eslint-disable-line @typescript-eslint/no-explicit-any
121
+ this.logger.warn('Retrying request', {
122
+ retryCount,
123
+ url: requestConfig.url,
124
+ method: requestConfig.method,
125
+ error: error.message,
126
+ });
127
+ },
128
+ });
129
+ // Request interceptor for rate limiting
130
+ client.interceptors.request.use(async (config) => {
131
+ // eslint-disable-line @typescript-eslint/no-explicit-any
132
+ if (this.closed) {
133
+ throw new InfiniumError('Client has been closed');
134
+ }
135
+ if (this.rateLimiter) {
136
+ if (!this.rateLimiter.canMakeRequest()) {
137
+ const waitTime = this.rateLimiter.getWaitTime();
138
+ this.logger.debug('Rate limit hit, waiting', { waitTime });
139
+ await sleep(waitTime);
140
+ // Check again after waiting
141
+ if (!this.rateLimiter.canMakeRequest()) {
142
+ throw new RateLimitError(`Rate limit exceeded. Tried waiting ${waitTime}ms but still limited.`, waitTime);
143
+ }
144
+ }
145
+ }
146
+ this.logger.debug('Making request', {
147
+ url: config.url,
148
+ method: config.method,
149
+ });
150
+ return config;
151
+ });
152
+ // Response interceptor for logging and error handling
153
+ client.interceptors.response.use((response) => {
154
+ // eslint-disable-line @typescript-eslint/no-explicit-any
155
+ this.logger.debug('Request successful', {
156
+ url: response.config.url,
157
+ method: response.config.method,
158
+ status: response.status,
159
+ });
160
+ return response;
161
+ }, (error) => {
162
+ // eslint-disable-line @typescript-eslint/no-explicit-any
163
+ this.logger.error('Request failed', {
164
+ url: error.config?.url,
165
+ method: error.config?.method,
166
+ status: error.response?.status,
167
+ message: error.message,
168
+ });
169
+ throw handleAxiosError(error);
170
+ });
171
+ return client;
172
+ }
173
+ /**
174
+ * Make HTTP request with proper error handling.
175
+ */
176
+ async makeRequest(method, endpoint, data, options) {
177
+ if (this.closed) {
178
+ throw new InfiniumError('Client has been closed');
179
+ }
180
+ try {
181
+ const config = {
182
+ method,
183
+ url: endpoint,
184
+ data,
185
+ timeout: options?.timeout || this.timeout,
186
+ ...(options?.headers && { headers: options.headers }),
187
+ };
188
+ const response = await this.httpClient.request(config);
189
+ return response.data;
190
+ }
191
+ catch (error) {
192
+ throw handleAxiosError(error);
193
+ }
194
+ }
195
+ /**
196
+ * Send task data to the API.
197
+ */
198
+ async sendTask(task) {
199
+ // Validate required fields
200
+ validateRequiredField(task.name, 'name');
201
+ validateRequiredField(task.description, 'description');
202
+ validateRequiredField(task.duration, 'duration', 'number');
203
+ // Validate and normalize data
204
+ validateDuration(task.duration);
205
+ const agentType = task.agentType ? validateAgentType(task.agentType) : AgentType.OTHER;
206
+ const currentDatetime = task.currentDatetime || getCurrentIsoDatetime();
207
+ if (!validateIsoDatetime(currentDatetime)) {
208
+ throw new ValidationError('Invalid currentDatetime format. Must be ISO 8601.', 'currentDatetime');
209
+ }
210
+ // Build task payload
211
+ const taskPayload = {
212
+ name: task.name.trim(),
213
+ description: task.description.trim(),
214
+ current_datetime: currentDatetime,
215
+ duration: task.duration,
216
+ agent_type: agentType,
217
+ time_tracking: task.timeTracking,
218
+ customer: task.customer,
219
+ support: task.support,
220
+ sales: task.sales,
221
+ marketing: task.marketing,
222
+ content: task.content,
223
+ research: task.research,
224
+ project: task.project,
225
+ development: task.development,
226
+ executive: task.executive,
227
+ general: task.general,
228
+ };
229
+ // Remove undefined values
230
+ const cleanPayload = this.cleanPayload(taskPayload);
231
+ this.logger.info('Sending task', {
232
+ agentId: this.agentId,
233
+ taskName: task.name,
234
+ agentType,
235
+ });
236
+ return this.makeRequest('POST', `/agents/${this.agentId}/trace`, cleanPayload);
237
+ }
238
+ /**
239
+ * Send pre-built TaskData object.
240
+ */
241
+ async sendTaskData(taskData) {
242
+ return this.sendTask(taskData);
243
+ }
244
+ /**
245
+ * Send multiple tasks in batch.
246
+ */
247
+ async sendBatch(tasks) {
248
+ if (!Array.isArray(tasks) || tasks.length === 0) {
249
+ throw new ValidationError('Tasks array cannot be empty', 'tasks');
250
+ }
251
+ if (tasks.length > 100) {
252
+ throw new ValidationError('Batch size cannot exceed 100 tasks', 'tasks');
253
+ }
254
+ const results = [];
255
+ const errors = [];
256
+ let successfulTasks = 0;
257
+ this.logger.info('Sending batch tasks', {
258
+ agentId: this.agentId,
259
+ taskCount: tasks.length,
260
+ });
261
+ // Process tasks concurrently but with rate limiting
262
+ const promises = tasks.map(async (task, index) => {
263
+ try {
264
+ const result = await this.sendTaskData(task);
265
+ if (result.success) {
266
+ successfulTasks++;
267
+ }
268
+ else {
269
+ errors.push(`Task ${index + 1}: ${result.message}`);
270
+ }
271
+ return result;
272
+ }
273
+ catch (error) {
274
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
275
+ errors.push(`Task ${index + 1}: ${errorMessage}`);
276
+ const errorResponse = {
277
+ success: false,
278
+ message: errorMessage,
279
+ ...(error instanceof InfiniumError && error.statusCode
280
+ ? { statusCode: error.statusCode }
281
+ : {}),
282
+ };
283
+ return errorResponse;
284
+ }
285
+ });
286
+ const resolvedResults = await Promise.all(promises);
287
+ results.push(...resolvedResults);
288
+ const batchResult = {
289
+ totalTasks: tasks.length,
290
+ successfulTasks,
291
+ failedTasks: tasks.length - successfulTasks,
292
+ results,
293
+ errors,
294
+ };
295
+ if (batchResult.failedTasks > 0) {
296
+ this.logger.warn('Batch completed with errors', {
297
+ totalTasks: batchResult.totalTasks,
298
+ successfulTasks: batchResult.successfulTasks,
299
+ failedTasks: batchResult.failedTasks,
300
+ });
301
+ }
302
+ else {
303
+ this.logger.info('Batch completed successfully', {
304
+ totalTasks: batchResult.totalTasks,
305
+ });
306
+ }
307
+ return batchResult;
308
+ }
309
+ /**
310
+ * Send tasks in sequential batch (for rate limiting).
311
+ */
312
+ async sendBatchSequential(tasks) {
313
+ if (!Array.isArray(tasks) || tasks.length === 0) {
314
+ throw new ValidationError('Tasks array cannot be empty', 'tasks');
315
+ }
316
+ if (tasks.length > 100) {
317
+ throw new ValidationError('Batch size cannot exceed 100 tasks', 'tasks');
318
+ }
319
+ const results = [];
320
+ const errors = [];
321
+ let successfulTasks = 0;
322
+ this.logger.info('Sending sequential batch tasks', {
323
+ agentId: this.agentId,
324
+ taskCount: tasks.length,
325
+ });
326
+ for (let i = 0; i < tasks.length; i++) {
327
+ try {
328
+ const result = await this.sendTaskData(tasks[i]);
329
+ results.push(result);
330
+ if (result.success) {
331
+ successfulTasks++;
332
+ }
333
+ else {
334
+ errors.push(`Task ${i + 1}: ${result.message}`);
335
+ }
336
+ }
337
+ catch (error) {
338
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
339
+ errors.push(`Task ${i + 1}: ${errorMessage}`);
340
+ const errorResponse = {
341
+ success: false,
342
+ message: errorMessage,
343
+ ...(error instanceof InfiniumError && error.statusCode
344
+ ? { statusCode: error.statusCode }
345
+ : {}),
346
+ };
347
+ results.push(errorResponse);
348
+ }
349
+ }
350
+ const batchResult = {
351
+ totalTasks: tasks.length,
352
+ successfulTasks,
353
+ failedTasks: tasks.length - successfulTasks,
354
+ results,
355
+ errors,
356
+ };
357
+ if (batchResult.failedTasks > 0) {
358
+ this.logger.warn('Sequential batch completed with errors', {
359
+ totalTasks: batchResult.totalTasks,
360
+ successfulTasks: batchResult.successfulTasks,
361
+ failedTasks: batchResult.failedTasks,
362
+ });
363
+ }
364
+ else {
365
+ this.logger.info('Sequential batch completed successfully', {
366
+ totalTasks: batchResult.totalTasks,
367
+ });
368
+ }
369
+ return batchResult;
370
+ }
371
+ /**
372
+ * Test connection to the API.
373
+ */
374
+ async testConnection() {
375
+ this.logger.info('Testing connection', { agentId: this.agentId });
376
+ const response = await this.makeRequest('GET', `/agents/${this.agentId}/health`);
377
+ if (!response.success || !response.data) {
378
+ throw new ServerError(response.message || 'Health check failed', response.statusCode);
379
+ }
380
+ this.logger.info('Connection test successful', {
381
+ agentId: this.agentId,
382
+ agentName: response.data.agentName,
383
+ status: response.data.status,
384
+ });
385
+ return response.data;
386
+ }
387
+ /**
388
+ * Get interpreted task result.
389
+ */
390
+ async getInterpretedTaskResult(taskId) {
391
+ validateRequiredField(taskId, 'taskId');
392
+ this.logger.info('Getting interpreted task result', {
393
+ agentId: this.agentId,
394
+ taskId,
395
+ });
396
+ return this.makeRequest('GET', `/agents/${this.agentId}/interpreted-result/${taskId}`);
397
+ }
398
+ /**
399
+ * Get current ISO datetime string.
400
+ */
401
+ getCurrentIsoDatetime() {
402
+ return getCurrentIsoDatetime();
403
+ }
404
+ /**
405
+ * Get client configuration.
406
+ */
407
+ getConfig() {
408
+ return {
409
+ agentId: this.agentId,
410
+ baseUrl: this.baseUrl,
411
+ timeout: this.timeout,
412
+ maxRetries: this.maxRetries,
413
+ userAgent: this.userAgent,
414
+ enableRateLimiting: !!this.rateLimiter,
415
+ };
416
+ }
417
+ /**
418
+ * Check if client is closed.
419
+ */
420
+ isClosed() {
421
+ return this.closed;
422
+ }
423
+ /**
424
+ * Close the client and cleanup resources.
425
+ */
426
+ async close() {
427
+ if (this.closed) {
428
+ return;
429
+ }
430
+ this.logger.info('Closing Infinium client', { agentId: this.agentId });
431
+ this.closed = true;
432
+ // Cancel any pending requests
433
+ // Note: axios doesn't provide a direct way to cancel all requests,
434
+ // but setting closed=true will prevent new requests
435
+ }
436
+ /**
437
+ * Clean payload by removing undefined values.
438
+ */
439
+ cleanPayload(payload) {
440
+ const cleaned = {};
441
+ for (const [key, value] of Object.entries(payload)) {
442
+ if (value !== undefined && value !== null) {
443
+ if (typeof value === 'object' && !Array.isArray(value)) {
444
+ const cleanedNested = this.cleanPayload(value);
445
+ if (Object.keys(cleanedNested).length > 0) {
446
+ cleaned[key] = cleanedNested;
447
+ }
448
+ }
449
+ else {
450
+ cleaned[key] = value;
451
+ }
452
+ }
453
+ }
454
+ return cleaned;
455
+ }
456
+ }
457
+ //# sourceMappingURL=asyncClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncClient.js","sourceRoot":"","sources":["../../src/asyncClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Synchronous client for Infinium API.
3
+ */
4
+ import { TaskData, ApiResponse, HealthCheck, BatchResult, ClientConfig } from './types';
5
+ /**
6
+ * Synchronous client for Infinium API.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { InfiniumClient, AgentType } from 'infinium';
11
+ *
12
+ * const client = new InfiniumClient({
13
+ * agentId: 'your-agent-id',
14
+ * agentSecret: 'your-agent-secret'
15
+ * });
16
+ *
17
+ * // Send a simple task
18
+ * const response = client.sendTask({
19
+ * name: 'Process customer inquiry',
20
+ * description: 'Handled customer question about pricing',
21
+ * duration: 120.5
22
+ * });
23
+ *
24
+ * // Send with additional data
25
+ * const taskData = {
26
+ * name: 'Marketing campaign analysis',
27
+ * description: 'Analyzed Q3 campaign performance',
28
+ * currentDatetime: client.getCurrentIsoDatetime(),
29
+ * duration: 300.0,
30
+ * agentType: AgentType.MARKETING_ASSISTANT
31
+ * };
32
+ * const response2 = client.sendTaskData(taskData);
33
+ * ```
34
+ */
35
+ export declare class InfiniumClient {
36
+ private readonly agentId;
37
+ private readonly agentSecret;
38
+ private readonly baseUrl;
39
+ private readonly timeout;
40
+ private readonly maxRetries;
41
+ private readonly userAgent;
42
+ private readonly logger;
43
+ private readonly rateLimiter;
44
+ private readonly httpClient;
45
+ /**
46
+ * Initialize the Infinium client.
47
+ */
48
+ constructor(config: ClientConfig);
49
+ /**
50
+ * Create and configure HTTP client.
51
+ */
52
+ private createHttpClient;
53
+ /**
54
+ * Make HTTP request with proper error handling.
55
+ */
56
+ private makeRequest;
57
+ /**
58
+ * Send task data to the API.
59
+ */
60
+ sendTask(task: Omit<TaskData, 'currentDatetime'> & {
61
+ currentDatetime?: string;
62
+ }): Promise<ApiResponse>;
63
+ /**
64
+ * Send pre-built TaskData object.
65
+ */
66
+ sendTaskData(taskData: TaskData): Promise<ApiResponse>;
67
+ /**
68
+ * Send multiple tasks in batch.
69
+ */
70
+ sendBatch(tasks: TaskData[]): Promise<BatchResult>;
71
+ /**
72
+ * Test connection to the API.
73
+ */
74
+ testConnection(): Promise<HealthCheck>;
75
+ /**
76
+ * Get interpreted task result.
77
+ */
78
+ getInterpretedTaskResult(taskId: string): Promise<ApiResponse>;
79
+ /**
80
+ * Get current ISO datetime string.
81
+ */
82
+ getCurrentIsoDatetime(): string;
83
+ /**
84
+ * Get client configuration.
85
+ */
86
+ getConfig(): Partial<ClientConfig>;
87
+ /**
88
+ * Clean payload by removing undefined values.
89
+ */
90
+ private cleanPayload;
91
+ }
92
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAEL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EAab,MAAM,SAAS,CAAC;AA8BjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAE3C;;OAEG;gBACS,MAAM,EAAE,YAAY;IAiChC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgFxB;;OAEG;YACW,WAAW;IAuBzB;;OAEG;IACG,QAAQ,CACZ,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC,WAAW,CAAC;IAmDvB;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5D;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAgExD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAkB5C;;OAEG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAW9D;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAWlC;;OAEG;IACH,OAAO,CAAC,YAAY;CAkBrB"}