aui-agent-builder 0.4.2 → 0.4.4

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 (43) hide show
  1. package/README.md +18 -11
  2. package/dist/api-client/apollo-client.d.ts +40 -0
  3. package/dist/api-client/apollo-client.d.ts.map +1 -1
  4. package/dist/api-client/apollo-client.js.map +1 -1
  5. package/dist/api-client/mock-db-client.d.ts +144 -0
  6. package/dist/api-client/mock-db-client.d.ts.map +1 -0
  7. package/dist/api-client/mock-db-client.js +345 -0
  8. package/dist/api-client/mock-db-client.js.map +1 -0
  9. package/dist/commands/agents.d.ts +11 -17
  10. package/dist/commands/agents.d.ts.map +1 -1
  11. package/dist/commands/agents.js +148 -144
  12. package/dist/commands/agents.js.map +1 -1
  13. package/dist/commands/apollo.d.ts +53 -0
  14. package/dist/commands/apollo.d.ts.map +1 -1
  15. package/dist/commands/apollo.js +121 -10
  16. package/dist/commands/apollo.js.map +1 -1
  17. package/dist/commands/index.d.ts +1 -0
  18. package/dist/commands/index.d.ts.map +1 -1
  19. package/dist/commands/index.js +1 -0
  20. package/dist/commands/index.js.map +1 -1
  21. package/dist/commands/init.js +1 -1
  22. package/dist/commands/mockdb-guide.d.ts +7 -0
  23. package/dist/commands/mockdb-guide.d.ts.map +1 -0
  24. package/dist/commands/mockdb-guide.js +100 -0
  25. package/dist/commands/mockdb-guide.js.map +1 -0
  26. package/dist/commands/mockdb.d.ts +76 -0
  27. package/dist/commands/mockdb.d.ts.map +1 -0
  28. package/dist/commands/mockdb.js +535 -0
  29. package/dist/commands/mockdb.js.map +1 -0
  30. package/dist/config/index.d.ts +33 -0
  31. package/dist/config/index.d.ts.map +1 -1
  32. package/dist/config/index.js +58 -0
  33. package/dist/config/index.js.map +1 -1
  34. package/dist/index.js +308 -10
  35. package/dist/index.js.map +1 -1
  36. package/dist/services/mock-db.service.d.ts +66 -0
  37. package/dist/services/mock-db.service.d.ts.map +1 -0
  38. package/dist/services/mock-db.service.js +177 -0
  39. package/dist/services/mock-db.service.js.map +1 -0
  40. package/dist/utils/fetch-with-timeout.d.ts +2 -2
  41. package/dist/utils/fetch-with-timeout.js +3 -3
  42. package/dist/utils/fetch-with-timeout.js.map +1 -1
  43. package/package.json +1 -1
@@ -0,0 +1,345 @@
1
+ /**
2
+ * Mock DB service client — the per-agent mock database-as-a-service used to
3
+ * give an agent under construction a controllable read/write data backend.
4
+ *
5
+ * Wraps the management + runtime planes of `mock-db-service`:
6
+ *
7
+ * POST /api/agents/{agentId} → provision (returns keys once)
8
+ * GET /api/agents/{agentId}/describe → schema + endpoints
9
+ * POST /api/agents/{agentId}/collections → create collection
10
+ * GET /api/agents/{agentId}/collections → list collections
11
+ * POST /api/agents/{agentId}/collections/{name}/rows → seed base rows
12
+ * POST /api/agents/{agentId}/endpoints → create endpoint
13
+ * GET /api/agents/{agentId}/endpoints → list endpoints
14
+ * POST /api/agents/{agentId}/apis/{slug}/execute → runtime call (test)
15
+ * GET /api/agents/{agentId}/sessions/{key} → inspect a session overlay
16
+ * DELETE /api/agents/{agentId}/sessions/{key} → reset a session
17
+ * POST /api/agents/{agentId}/rotate-mgmt-key → mint a new management key
18
+ * POST /api/agents/{agentId}/rotate-runtime-key → mint a new runtime key
19
+ * GET /api/agents/{agentId}/export → export schema + data + endpoints
20
+ * DELETE /api/agents/{agentId} → delete the mock DB
21
+ *
22
+ * ─── Authentication ─────────────────────────────────────────────────────
23
+ *
24
+ * Three modes (the service supports all three — see its lib/auth.ts):
25
+ *
26
+ * - "token" — `Authorization: Bearer <AUI token>` + `X-AUI-Account-Id` +
27
+ * `X-AUI-Api-Url`. Used for the FIRST provision (bootstrap)
28
+ * and as a fallback when no management key is stored yet. The
29
+ * service verifies the token against Apollo (the caller must
30
+ * have access to the agent's account). Sent first-party from
31
+ * the CLI — never forwarded by a coding agent.
32
+ * - "mgmt" — `X-Mgmt-Key: <managementKey>` only. Agent-scoped; no AUI
33
+ * token transmitted. Preferred for all management after the
34
+ * first provision.
35
+ * - "runtime" — `Authorization: Bearer <runtimeKey>` + `X-Session-Key`.
36
+ * What the deployed agent uses; the CLI uses it to test
37
+ * endpoints under a session.
38
+ *
39
+ * The auth MODE is chosen by the service layer per operation; this client
40
+ * only translates a `MockDbAuth` into the right headers.
41
+ *
42
+ * ─── Telemetry ──────────────────────────────────────────────────────────
43
+ *
44
+ * Every call captures the request (for `aui curl`) and attaches a redacted,
45
+ * replayable curl + HTTP status/body/duration onto the active OTel span —
46
+ * the same pattern as `api-client/apollo-client.ts`. Best-effort; the
47
+ * telemetry path never throws.
48
+ */
49
+ import fetch, { FetchTimeoutError } from "../utils/fetch-with-timeout.js";
50
+ import { randomUUID } from "node:crypto";
51
+ import { getMockDbBaseUrl } from "../config/index.js";
52
+ import { captureRequest, formatAsCurlSafe } from "../utils/request-capture.js";
53
+ import { trace } from "@opentelemetry/api";
54
+ import { AUIAPIError } from "./index.js";
55
+ /**
56
+ * Thin HTTP client for the mock-db service. Stateless apart from the base
57
+ * URL it was constructed with; auth is supplied per call.
58
+ */
59
+ export class MockDbClient {
60
+ base;
61
+ constructor(options) {
62
+ this.base = (options.baseUrl ?? getMockDbBaseUrl(options.environment)).replace(/\/+$/, "");
63
+ }
64
+ // ─── Auth header translation ───
65
+ authHeaders(auth) {
66
+ if (auth.mode === "token") {
67
+ const h = {
68
+ Authorization: `Bearer ${auth.authToken}`,
69
+ "X-AUI-Account-Id": auth.accountId,
70
+ "X-AUI-Api-Url": auth.apiUrl,
71
+ };
72
+ if (auth.organizationId)
73
+ h["organization-id"] = auth.organizationId;
74
+ return h;
75
+ }
76
+ if (auth.mode === "mgmt") {
77
+ return { "X-Mgmt-Key": auth.managementKey };
78
+ }
79
+ // runtime
80
+ const h = {
81
+ Authorization: `Bearer ${auth.runtimeKey}`,
82
+ };
83
+ if (auth.sessionKey)
84
+ h["X-Session-Key"] = auth.sessionKey;
85
+ return h;
86
+ }
87
+ // ─── Endpoints ───
88
+ async provision(agentId, auth) {
89
+ return this.request({
90
+ name: "mockdb_provision",
91
+ label: "mockdb provision",
92
+ method: "POST",
93
+ path: `/api/agents/${encodeURIComponent(agentId)}`,
94
+ auth,
95
+ });
96
+ }
97
+ async describe(agentId, auth) {
98
+ return this.request({
99
+ name: "mockdb_describe",
100
+ label: "mockdb describe",
101
+ method: "GET",
102
+ path: `/api/agents/${encodeURIComponent(agentId)}/describe`,
103
+ auth,
104
+ });
105
+ }
106
+ async createCollection(agentId, auth, body) {
107
+ return this.request({
108
+ name: "mockdb_create_collection",
109
+ label: "mockdb create collection",
110
+ method: "POST",
111
+ path: `/api/agents/${encodeURIComponent(agentId)}/collections`,
112
+ auth,
113
+ body,
114
+ });
115
+ }
116
+ async listCollections(agentId, auth) {
117
+ return this.request({
118
+ name: "mockdb_list_collections",
119
+ label: "mockdb list collections",
120
+ method: "GET",
121
+ path: `/api/agents/${encodeURIComponent(agentId)}/collections`,
122
+ auth,
123
+ });
124
+ }
125
+ async seedRows(agentId, auth, collection, rows) {
126
+ return this.request({
127
+ name: "mockdb_seed_rows",
128
+ label: "mockdb seed rows",
129
+ method: "POST",
130
+ path: `/api/agents/${encodeURIComponent(agentId)}/collections/${encodeURIComponent(collection)}/rows`,
131
+ auth,
132
+ body: { rows },
133
+ });
134
+ }
135
+ async createEndpoint(agentId, auth, body) {
136
+ return this.request({
137
+ name: "mockdb_create_endpoint",
138
+ label: "mockdb create endpoint",
139
+ method: "POST",
140
+ path: `/api/agents/${encodeURIComponent(agentId)}/endpoints`,
141
+ auth,
142
+ body,
143
+ });
144
+ }
145
+ async listEndpoints(agentId, auth) {
146
+ return this.request({
147
+ name: "mockdb_list_endpoints",
148
+ label: "mockdb list endpoints",
149
+ method: "GET",
150
+ path: `/api/agents/${encodeURIComponent(agentId)}/endpoints`,
151
+ auth,
152
+ });
153
+ }
154
+ async execute(agentId, slug, auth, body) {
155
+ return this.request({
156
+ name: "mockdb_execute",
157
+ label: "mockdb execute",
158
+ method: "POST",
159
+ path: `/api/agents/${encodeURIComponent(agentId)}/apis/${encodeURIComponent(slug)}/execute`,
160
+ auth,
161
+ body,
162
+ });
163
+ }
164
+ async inspectSession(agentId, auth, sessionKey) {
165
+ return this.request({
166
+ name: "mockdb_inspect_session",
167
+ label: "mockdb inspect session",
168
+ method: "GET",
169
+ path: `/api/agents/${encodeURIComponent(agentId)}/sessions/${encodeURIComponent(sessionKey)}`,
170
+ auth,
171
+ });
172
+ }
173
+ async resetSession(agentId, auth, sessionKey) {
174
+ return this.request({
175
+ name: "mockdb_reset_session",
176
+ label: "mockdb reset session",
177
+ method: "DELETE",
178
+ path: `/api/agents/${encodeURIComponent(agentId)}/sessions/${encodeURIComponent(sessionKey)}`,
179
+ auth,
180
+ });
181
+ }
182
+ async rotateMgmtKey(agentId, auth) {
183
+ return this.request({
184
+ name: "mockdb_rotate_mgmt_key",
185
+ label: "mockdb rotate mgmt key",
186
+ method: "POST",
187
+ path: `/api/agents/${encodeURIComponent(agentId)}/rotate-mgmt-key`,
188
+ auth,
189
+ });
190
+ }
191
+ async rotateRuntimeKey(agentId, auth) {
192
+ return this.request({
193
+ name: "mockdb_rotate_runtime_key",
194
+ label: "mockdb rotate runtime key",
195
+ method: "POST",
196
+ path: `/api/agents/${encodeURIComponent(agentId)}/rotate-runtime-key`,
197
+ auth,
198
+ });
199
+ }
200
+ async exportAgent(agentId, auth) {
201
+ return this.request({
202
+ name: "mockdb_export",
203
+ label: "mockdb export",
204
+ method: "GET",
205
+ path: `/api/agents/${encodeURIComponent(agentId)}/export`,
206
+ auth,
207
+ });
208
+ }
209
+ async deleteAgent(agentId, auth) {
210
+ return this.request({
211
+ name: "mockdb_delete",
212
+ label: "mockdb delete",
213
+ method: "DELETE",
214
+ path: `/api/agents/${encodeURIComponent(agentId)}`,
215
+ auth,
216
+ });
217
+ }
218
+ // ─── Core request + telemetry ───
219
+ async request(input) {
220
+ const url = `${this.base}${input.path}`;
221
+ const headers = {
222
+ accept: "application/json",
223
+ "content-type": "application/json",
224
+ "x-aui-client": "mock-db-service-cli",
225
+ "x-trace-id": randomUUID(),
226
+ ...this.authHeaders(input.auth),
227
+ };
228
+ const init = { method: input.method, headers };
229
+ if (input.body !== undefined)
230
+ init.body = JSON.stringify(input.body);
231
+ const startedAt = Date.now();
232
+ let response;
233
+ try {
234
+ response = await fetch(url, init);
235
+ }
236
+ catch (error) {
237
+ const networkErr = error instanceof FetchTimeoutError
238
+ ? error
239
+ : new Error(`Network error: ${error instanceof Error ? error.message : "Connection failed"}`);
240
+ this.attachTelemetry({
241
+ name: input.name,
242
+ label: input.label,
243
+ method: input.method,
244
+ url,
245
+ headers,
246
+ requestBody: input.body,
247
+ responseText: networkErr.message,
248
+ status: 0,
249
+ success: false,
250
+ durationMs: Date.now() - startedAt,
251
+ });
252
+ throw networkErr;
253
+ }
254
+ const responseText = await response.text().catch(() => "");
255
+ this.attachTelemetry({
256
+ name: input.name,
257
+ label: input.label,
258
+ method: input.method,
259
+ url,
260
+ headers,
261
+ requestBody: input.body,
262
+ responseText,
263
+ status: response.status,
264
+ success: response.ok,
265
+ durationMs: Date.now() - startedAt,
266
+ });
267
+ if (!response.ok) {
268
+ let errorBody;
269
+ try {
270
+ errorBody = JSON.parse(responseText);
271
+ }
272
+ catch {
273
+ errorBody = responseText || null;
274
+ }
275
+ throw new AUIAPIError(response.status, `${input.label}: ${response.statusText}`, errorBody);
276
+ }
277
+ if (!responseText)
278
+ return {};
279
+ try {
280
+ return JSON.parse(responseText);
281
+ }
282
+ catch {
283
+ return responseText;
284
+ }
285
+ }
286
+ /**
287
+ * Capture the request for `aui curl` and attach a redacted curl repro +
288
+ * HTTP fields onto the active span. Best-effort; never throws.
289
+ */
290
+ attachTelemetry(input) {
291
+ captureRequest({
292
+ timestamp: new Date().toISOString(),
293
+ method: input.method,
294
+ url: input.url,
295
+ headers: input.headers,
296
+ body: input.requestBody,
297
+ status: input.status,
298
+ responseBody: input.responseText,
299
+ label: input.label,
300
+ success: input.success,
301
+ });
302
+ try {
303
+ const span = trace.getActiveSpan();
304
+ if (!span)
305
+ return;
306
+ const MAX = 32 * 1024;
307
+ const truncatedResponse = input.responseText.length > MAX
308
+ ? input.responseText.slice(0, MAX) +
309
+ `... [truncated ${input.responseText.length - MAX} bytes]`
310
+ : input.responseText;
311
+ const curl = formatAsCurlSafe({
312
+ timestamp: new Date().toISOString(),
313
+ method: input.method,
314
+ url: input.url,
315
+ headers: input.headers,
316
+ body: input.requestBody,
317
+ status: input.status,
318
+ responseBody: input.responseText,
319
+ label: input.label,
320
+ success: input.success,
321
+ }, { maxBodyBytes: MAX });
322
+ const eventAttrs = {
323
+ "http.method": input.method,
324
+ "http.url": input.url,
325
+ [`${input.name}.success`]: input.success,
326
+ [`${input.name}.duration_ms`]: input.durationMs,
327
+ [`${input.name}.response_body`]: truncatedResponse,
328
+ "aui.curl_repro": curl,
329
+ };
330
+ if (input.status > 0)
331
+ eventAttrs["http.status_code"] = input.status;
332
+ span.addEvent(`http.${input.name}`, eventAttrs);
333
+ span.setAttribute("aui.curl_repro", curl);
334
+ span.setAttribute("http.method", input.method);
335
+ span.setAttribute("http.url", input.url);
336
+ span.setAttribute("http.response_body", truncatedResponse);
337
+ if (input.status > 0)
338
+ span.setAttribute("http.status_code", input.status);
339
+ }
340
+ catch {
341
+ // Telemetry must never break the call path.
342
+ }
343
+ }
344
+ }
345
+ //# sourceMappingURL=mock-db-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-db-client.js","sourceRoot":"","sources":["../../src/api-client/mock-db-client.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,10 @@ export interface AgentsOptions {
29
29
  category?: string;
30
30
  /**
31
31
  * After `--create`, auto-import the freshly created agent's latest
32
- * draft into this directory. When omitted, the import targets the
33
- * current working directory (`.`). Only the records-mode `--create`
34
- * flow produces a v1.0 draft to import; bundle-mode / template
35
- * creates skip the auto-import (nothing to snapshot yet).
32
+ * draft into this directory. When omitted, the import targets a new
33
+ * `./<agent-name>` folder. Bundle-mode creation (the only mode now)
34
+ * provisions a draft via Apollo and imports it; template creates skip
35
+ * the auto-import (templates aren't runtime agents).
36
36
  */
37
37
  dir?: string;
38
38
  networkId?: string;
@@ -47,23 +47,17 @@ export interface AgentsOptions {
47
47
  allVersions?: boolean;
48
48
  yes?: boolean;
49
49
  /**
50
- * Opt into `bundle_mode=true` on `--create` (the new push/pull blob
51
- * endpoints). NOT the default: a fresh bundle-mode agent has no version
52
- * and no records to snapshot, so the auto-draft step (`source=agent-scope`)
53
- * cannot run and the agent also can't be imported via `/pull` until it
54
- * has had at least one push. Use this only when you specifically want a
55
- * blob-mode agent and will seed it via `--from-template` / push yourself.
56
- * Mutually exclusive with `--records-mode`.
50
+ * Explicit form of the now-default bundle-mode `--create` (the Apollo
51
+ * provisioning endpoint). Every agent is created in bundle mode now, so
52
+ * this flag is redundant; it's kept (hidden) only for back-compat.
57
53
  */
58
54
  bundleMode?: boolean;
59
55
  /**
60
- * Force `bundle_mode=false` on `--create` (records mode). This is the
61
- * default for regular agents — it's what lets `aui agents --create`
62
- * auto-create the v1.0 draft from the agent scope. Mutually exclusive
63
- * with `--bundle-mode` and rejected when paired with `--template`
64
- * (templates are blob-mode-only).
56
+ * RECORDS-MODE CREATION RETIRED moved to bundle-mode creation.
57
+ * The `--records-mode` flag (force `bundle_mode=false`, legacy per-entity
58
+ * create chain) was removed from the command. The field is kept commented
59
+ * for historical reference only; nothing reads it anymore.
65
60
  */
66
- recordsMode?: boolean;
67
61
  /**
68
62
  * Create a template (kind=template) instead of a regular agent.
69
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAsCH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA8ED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAy3DvE;AA+fD;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,GAAE,2BAAgC,GACzC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAuIxD"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/commands/agents.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAsCH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IAEH;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA8ED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA42DvE;AA+fD;;;;GAIG;AACH;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAC9B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,GAAE,2BAAgC,GACzC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAuIxD"}