@multiplayer-app/agent 0.0.7 → 0.1.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.
Files changed (73) hide show
  1. package/dist/cli.js +15 -16
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +43 -2
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +73 -11
  6. package/dist/config.js.map +1 -1
  7. package/dist/git-sync.d.ts +22 -0
  8. package/dist/git-sync.d.ts.map +1 -0
  9. package/dist/git-sync.js +107 -0
  10. package/dist/git-sync.js.map +1 -0
  11. package/dist/index.d.ts +6 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +26 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/lambda-microvm-entrypoint.js +74 -39
  16. package/dist/lambda-microvm-entrypoint.js.map +1 -1
  17. package/dist/link.d.ts +16 -0
  18. package/dist/link.d.ts.map +1 -0
  19. package/dist/link.js +76 -0
  20. package/dist/link.js.map +1 -0
  21. package/dist/loop.d.ts.map +1 -1
  22. package/dist/loop.js +8 -6
  23. package/dist/loop.js.map +1 -1
  24. package/dist/mcp/mcp-connection.js +1 -1
  25. package/dist/mcp/mcp-connection.js.map +1 -1
  26. package/dist/mcp/mcp-tools.js +1 -1
  27. package/dist/mcp/mcp-tools.js.map +1 -1
  28. package/dist/model.d.ts +4 -0
  29. package/dist/model.d.ts.map +1 -0
  30. package/dist/model.js +20 -0
  31. package/dist/model.js.map +1 -0
  32. package/dist/protocol.d.ts +174 -0
  33. package/dist/protocol.d.ts.map +1 -0
  34. package/dist/protocol.js +95 -0
  35. package/dist/protocol.js.map +1 -0
  36. package/dist/protocol.test.d.ts +2 -0
  37. package/dist/protocol.test.d.ts.map +1 -0
  38. package/dist/protocol.test.js +25 -0
  39. package/dist/protocol.test.js.map +1 -0
  40. package/dist/report.d.ts.map +1 -1
  41. package/dist/report.js +22 -44
  42. package/dist/report.js.map +1 -1
  43. package/dist/research/filingramp-client.d.ts +28 -0
  44. package/dist/research/filingramp-client.d.ts.map +1 -0
  45. package/dist/research/filingramp-client.js +124 -0
  46. package/dist/research/filingramp-client.js.map +1 -0
  47. package/dist/research/filingramp-tools.d.ts +10 -0
  48. package/dist/research/filingramp-tools.d.ts.map +1 -0
  49. package/dist/research/filingramp-tools.js +447 -0
  50. package/dist/research/filingramp-tools.js.map +1 -0
  51. package/dist/research/prompt.d.ts +13 -0
  52. package/dist/research/prompt.d.ts.map +1 -0
  53. package/dist/research/prompt.js +40 -0
  54. package/dist/research/prompt.js.map +1 -0
  55. package/dist/research/scope.d.ts +24 -0
  56. package/dist/research/scope.d.ts.map +1 -0
  57. package/dist/research/scope.js +103 -0
  58. package/dist/research/scope.js.map +1 -0
  59. package/dist/research/scope.test.d.ts +2 -0
  60. package/dist/research/scope.test.d.ts.map +1 -0
  61. package/dist/research/scope.test.js +45 -0
  62. package/dist/research/scope.test.js.map +1 -0
  63. package/dist/runtime.d.ts +10 -0
  64. package/dist/runtime.d.ts.map +1 -0
  65. package/dist/runtime.js +35 -0
  66. package/dist/runtime.js.map +1 -0
  67. package/dist/session.d.ts +38 -0
  68. package/dist/session.d.ts.map +1 -0
  69. package/dist/session.js +427 -0
  70. package/dist/session.js.map +1 -0
  71. package/dist/tools/fs-tools.js +1 -1
  72. package/dist/tools/fs-tools.js.map +1 -1
  73. package/package.json +8 -2
package/dist/report.js CHANGED
@@ -1,54 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createReporter = createReporter;
4
- // Reports progress back to the chat UI over a Socket.IO connection to the gateway's
5
- // agent-socket-server (services/gateway/src/services/agent-socket-server.ts) — not a direct
6
- // HTTP call to the api. The gateway relays each event onward (io.serverSideEmit over the
7
- // shared Redis adapter); the api persists it and pushes it live into the chat's socket room.
8
- // A failed/unavailable connection never fails the run — the agent's actual work (files/
9
- // commands) already happened; losing a progress update is a lesser problem than aborting a
10
- // task over a flaky socket.
11
- const socket_io_client_1 = require("socket.io-client");
12
- const AGENT_SESSION_EVENT = 'agent-session:event';
13
- // Grace period before disconnecting in close(), so the last emit (the 'done'/'error' event)
14
- // actually reaches the gateway before the process exits — socket.io buffers emits made before
15
- // 'connect' fires, but a bare process.exit() right after send() resolves can still race the
16
- // underlying write.
17
- const CLOSE_GRACE_MS = 200;
18
- const noopReporter = {
19
- async send(event) {
20
- console.log('[report]', JSON.stringify(event));
21
- },
22
- async close() { },
23
- };
4
+ // Backwards-compatible reporter for one-shot task mode (AGENT_TASK): the coarse tool_call /
5
+ // message / done / error events the original coding VMs emit. Built on the session link so
6
+ // both modes share one connection contract (see link.ts / protocol.ts).
7
+ const link_1 = require("./link");
24
8
  function createReporter(socketUrl, socketToken, sessionId) {
25
- if (!socketUrl)
26
- return noopReporter;
27
- let socket;
28
- let connected;
29
- function ensureConnected() {
30
- if (connected)
31
- return connected;
32
- socket = (0, socket_io_client_1.io)(socketUrl, { auth: { sessionId, token: socketToken } });
33
- connected = new Promise((resolve) => {
34
- socket === null || socket === void 0 ? void 0 : socket.once('connect', () => resolve());
35
- socket === null || socket === void 0 ? void 0 : socket.once('connect_error', (error) => {
36
- console.error('[report] socket connect failed:', error.message);
37
- resolve(); // don't block the run — the emit below will just have nowhere to go
38
- });
39
- });
40
- return connected;
41
- }
9
+ const link = (0, link_1.createSessionLink)(sessionId, socketUrl, socketToken);
42
10
  return {
43
11
  async send(event) {
44
- await ensureConnected();
45
- socket === null || socket === void 0 ? void 0 : socket.emit(AGENT_SESSION_EVENT, event);
12
+ await link.ready();
13
+ switch (event.type) {
14
+ case 'tool_call':
15
+ link.send({ type: 'tool_call', toolName: event.toolName, input: event.input, output: event.output });
16
+ break;
17
+ case 'message':
18
+ link.send({ type: 'message', text: event.text });
19
+ break;
20
+ case 'done':
21
+ link.send({ type: 'done', messageId: 'task', summary: event.summary });
22
+ break;
23
+ case 'error':
24
+ link.send({ type: 'error', message: event.message });
25
+ break;
26
+ }
46
27
  },
47
- async close() {
48
- if (!socket)
49
- return;
50
- await new Promise((resolve) => setTimeout(resolve, CLOSE_GRACE_MS));
51
- socket.disconnect();
28
+ close() {
29
+ return link.close();
52
30
  },
53
31
  };
54
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":";;AAmCA,wCAkCC;AArED,oFAAoF;AACpF,4FAA4F;AAC5F,yFAAyF;AACzF,6FAA6F;AAC7F,wFAAwF;AACxF,2FAA2F;AAC3F,4BAA4B;AAC5B,uDAA8D;AAE9D,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AACjD,4FAA4F;AAC5F,8FAA8F;AAC9F,4FAA4F;AAC5F,oBAAoB;AACpB,MAAM,cAAc,GAAG,GAAG,CAAA;AAc1B,MAAM,YAAY,GAAa;IAC7B,KAAK,CAAC,IAAI,CAAC,KAAK;QACd,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,KAAK,CAAC,KAAK,KAAI,CAAC;CACjB,CAAA;AAED,SAAgB,cAAc,CAC5B,SAA6B,EAC7B,WAA+B,EAC/B,SAAiB;IAEjB,IAAI,CAAC,SAAS;QAAE,OAAO,YAAY,CAAA;IAEnC,IAAI,MAA0B,CAAA;IAC9B,IAAI,SAAoC,CAAA;IAExC,SAAS,eAAe;QACtB,IAAI,SAAS;YAAE,OAAO,SAAS,CAAA;QAC/B,MAAM,GAAG,IAAA,qBAAQ,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;QACzE,SAAS,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;YACxC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,eAAe,EAAE,CAAC,KAAY,EAAE,EAAE;gBAC7C,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC/D,OAAO,EAAE,CAAA,CAAC,oEAAoE;YAChF,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAK;YACd,MAAM,eAAe,EAAE,CAAA;YACvB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;QACD,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,MAAM;gBAAE,OAAM;YACnB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAA;YACnE,MAAM,CAAC,UAAU,EAAE,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":";;AAiBA,wCA4BC;AA7CD,4FAA4F;AAC5F,2FAA2F;AAC3F,wEAAwE;AACxE,iCAA4D;AAc5D,SAAgB,cAAc,CAC5B,SAA6B,EAC7B,WAA+B,EAC/B,SAAiB;IAEjB,MAAM,IAAI,GAAgB,IAAA,wBAAiB,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAC9E,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAK;YACd,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,WAAW;oBACd,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;oBACpG,MAAK;gBACP,KAAK,SAAS;oBACZ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;oBAChD,MAAK;gBACP,KAAK,MAAM;oBACT,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;oBACtE,MAAK;gBACP,KAAK,OAAO;oBACV,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;oBACpD,MAAK;YACT,CAAC;QACH,CAAC;QACD,KAAK;YACH,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { FilingRampConfig } from '../config';
2
+ export declare class FilingRampHttpError extends Error {
3
+ readonly status: number;
4
+ readonly body?: unknown | undefined;
5
+ constructor(status: number, message: string, body?: unknown | undefined);
6
+ }
7
+ export interface FilingRampRequestOptions {
8
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
9
+ body?: unknown;
10
+ query?: Record<string, string | number | boolean | undefined>;
11
+ timeoutMs?: number;
12
+ }
13
+ export declare class FilingRampClient {
14
+ private readonly config;
15
+ private token?;
16
+ private exchanging?;
17
+ constructor(config: FilingRampConfig);
18
+ get baseUrl(): string;
19
+ get industryData(): boolean;
20
+ private url;
21
+ private exchangeToken;
22
+ private accessToken;
23
+ request<T = unknown>(path: string, options?: FilingRampRequestOptions): Promise<T>;
24
+ /** GET /v1/attachments/:key answers with a short-lived signed URL for the stored file. */
25
+ attachmentUrl(key: string): Promise<string>;
26
+ downloadAttachment(key: string, timeoutMs?: number): Promise<Buffer>;
27
+ }
28
+ //# sourceMappingURL=filingramp-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filingramp-client.d.ts","sourceRoot":"","sources":["../../src/research/filingramp-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAKjD,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IAEvB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;gBAFd,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE,OAAO,YAAA;CAK1B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IACpD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAA;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,KAAK,CAAC,CAAsC;IACpD,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAEP,MAAM,EAAE,gBAAgB;IAErD,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,GAAG;YAUG,aAAa;YA2Bb,WAAW;IAKnB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,CAAC,CAAC;IAqC5F,0FAA0F;IACpF,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW3C,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAM5E"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilingRampClient = exports.FilingRampHttpError = void 0;
4
+ const TOKEN_TTL_MS = 2.5 * 60 * 60 * 1000;
5
+ const DEFAULT_TIMEOUT_MS = 60000;
6
+ class FilingRampHttpError extends Error {
7
+ constructor(status, message, body) {
8
+ super(message);
9
+ this.status = status;
10
+ this.body = body;
11
+ this.name = 'FilingRampHttpError';
12
+ }
13
+ }
14
+ exports.FilingRampHttpError = FilingRampHttpError;
15
+ class FilingRampClient {
16
+ constructor(config) {
17
+ this.config = config;
18
+ }
19
+ get baseUrl() {
20
+ return this.config.baseUrl;
21
+ }
22
+ get industryData() {
23
+ return this.config.industryData;
24
+ }
25
+ url(path, query) {
26
+ const relative = path.replace(/^\/+/, '');
27
+ const url = new URL(relative.startsWith('v1/') || relative.startsWith('v2/') ? relative : `v1/${relative}`, `${this.config.baseUrl}/`);
28
+ for (const [key, value] of Object.entries(query !== null && query !== void 0 ? query : {})) {
29
+ if (value === undefined)
30
+ continue;
31
+ url.searchParams.set(key, String(value));
32
+ }
33
+ return url.toString();
34
+ }
35
+ async exchangeToken() {
36
+ if (this.exchanging)
37
+ return this.exchanging;
38
+ this.exchanging = (async () => {
39
+ var _a;
40
+ const response = await fetch(this.url('/v1/auth/authentication/api'), {
41
+ method: 'POST',
42
+ headers: { 'content-type': 'application/json', accept: 'application/json' },
43
+ body: JSON.stringify({ clientId: this.config.clientId, clientSecret: this.config.clientSecret }),
44
+ signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
45
+ });
46
+ const payload = (await response.json().catch(() => undefined));
47
+ if (!response.ok || !(payload === null || payload === void 0 ? void 0 : payload.accessToken)) {
48
+ throw new FilingRampHttpError(response.status, (_a = payload === null || payload === void 0 ? void 0 : payload.message) !== null && _a !== void 0 ? _a : `FilingRamp API client authentication failed: ${response.status}`, payload);
49
+ }
50
+ this.token = { value: payload.accessToken, expiresAt: Date.now() + TOKEN_TTL_MS };
51
+ return payload.accessToken;
52
+ })();
53
+ try {
54
+ return await this.exchanging;
55
+ }
56
+ finally {
57
+ this.exchanging = undefined;
58
+ }
59
+ }
60
+ async accessToken(force = false) {
61
+ if (!force && this.token && this.token.expiresAt > Date.now())
62
+ return this.token.value;
63
+ return this.exchangeToken();
64
+ }
65
+ async request(path, options = {}) {
66
+ var _a, _b;
67
+ const method = (_a = options.method) !== null && _a !== void 0 ? _a : 'GET';
68
+ const attempt = async (force) => {
69
+ var _a;
70
+ const headers = {
71
+ accept: 'application/json',
72
+ authorization: await this.accessToken(force),
73
+ };
74
+ let body;
75
+ if (options.body !== undefined && method !== 'GET') {
76
+ headers['content-type'] = 'application/json';
77
+ body = JSON.stringify(options.body);
78
+ }
79
+ return fetch(this.url(path, options.query), {
80
+ method,
81
+ headers,
82
+ body,
83
+ signal: AbortSignal.timeout((_a = options.timeoutMs) !== null && _a !== void 0 ? _a : DEFAULT_TIMEOUT_MS),
84
+ });
85
+ };
86
+ let response = await attempt(false);
87
+ if (response.status === 401)
88
+ response = await attempt(true);
89
+ const contentType = (_b = response.headers.get('content-type')) !== null && _b !== void 0 ? _b : '';
90
+ const payload = contentType.includes('application/json')
91
+ ? await response.json().catch(() => undefined)
92
+ : await response.text().catch(() => undefined);
93
+ if (!response.ok) {
94
+ const message = payload && typeof payload === 'object' && typeof payload.message === 'string'
95
+ ? payload.message
96
+ : `FilingRamp API ${method} ${path} failed: ${response.status}`;
97
+ throw new FilingRampHttpError(response.status, message, payload);
98
+ }
99
+ return payload;
100
+ }
101
+ /** GET /v1/attachments/:key answers with a short-lived signed URL for the stored file. */
102
+ async attachmentUrl(key) {
103
+ var _a, _b, _c;
104
+ const result = await this.request(`/v1/attachments/${key.split('/').map(encodeURIComponent).join('/')}`);
105
+ if (typeof result === 'string')
106
+ return result;
107
+ if (result && typeof result === 'object') {
108
+ const record = result;
109
+ const url = (_b = (_a = record.url) !== null && _a !== void 0 ? _a : record.signedUrl) !== null && _b !== void 0 ? _b : (_c = record.data) === null || _c === void 0 ? void 0 : _c.url;
110
+ if (url)
111
+ return url;
112
+ }
113
+ throw new Error(`FilingRamp did not return a download URL for attachment ${key}`);
114
+ }
115
+ async downloadAttachment(key, timeoutMs = 120000) {
116
+ const url = await this.attachmentUrl(key);
117
+ const response = await fetch(url, { signal: AbortSignal.timeout(timeoutMs) });
118
+ if (!response.ok)
119
+ throw new Error(`attachment download failed: ${response.status}`);
120
+ return Buffer.from(await response.arrayBuffer());
121
+ }
122
+ }
123
+ exports.FilingRampClient = FilingRampClient;
124
+ //# sourceMappingURL=filingramp-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filingramp-client.js","sourceRoot":"","sources":["../../src/research/filingramp-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type Tool } from 'ai';
2
+ import type { ResearchScope } from '../config';
3
+ import type { FilingRampClient } from './filingramp-client';
4
+ export interface FilingRampToolsOptions {
5
+ client: FilingRampClient;
6
+ workspaceDir: string;
7
+ scope?: ResearchScope;
8
+ }
9
+ export declare function createFilingRampTools(options: FilingRampToolsOptions): Record<string, Tool>;
10
+ //# sourceMappingURL=filingramp-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filingramp-tools.d.ts","sourceRoot":"","sources":["../../src/research/filingramp-tools.ts"],"names":[],"mappings":"AAQA,OAAO,EAAQ,KAAK,IAAI,EAAE,MAAM,IAAI,CAAA;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAmH3D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAiU3F"}