@once-agent/sdk 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 (39) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -0
  3. package/dist/apply.d.ts +9 -0
  4. package/dist/apply.d.ts.map +1 -0
  5. package/dist/apply.js +265 -0
  6. package/dist/apply.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +191 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/index.d.ts +76 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +240 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/protect.d.ts +8 -0
  16. package/dist/protect.d.ts.map +1 -0
  17. package/dist/protect.js +563 -0
  18. package/dist/protect.js.map +1 -0
  19. package/dist/scan.d.ts +18 -0
  20. package/dist/scan.d.ts.map +1 -0
  21. package/dist/scan.js +632 -0
  22. package/dist/scan.js.map +1 -0
  23. package/dist/setup.d.ts +8 -0
  24. package/dist/setup.d.ts.map +1 -0
  25. package/dist/setup.js +558 -0
  26. package/dist/setup.js.map +1 -0
  27. package/dist/transformers/http-patch-plan-v1.d.ts +23 -0
  28. package/dist/transformers/http-patch-plan-v1.d.ts.map +1 -0
  29. package/dist/transformers/http-patch-plan-v1.js +149 -0
  30. package/dist/transformers/http-patch-plan-v1.js.map +1 -0
  31. package/dist/transformers/http-write-v1.d.ts +23 -0
  32. package/dist/transformers/http-write-v1.d.ts.map +1 -0
  33. package/dist/transformers/http-write-v1.js +134 -0
  34. package/dist/transformers/http-write-v1.js.map +1 -0
  35. package/dist/transformers/once-binding-v1.d.ts +17 -0
  36. package/dist/transformers/once-binding-v1.d.ts.map +1 -0
  37. package/dist/transformers/once-binding-v1.js +134 -0
  38. package/dist/transformers/once-binding-v1.js.map +1 -0
  39. package/package.json +56 -0
package/dist/setup.js ADDED
@@ -0,0 +1,558 @@
1
+ import { promises as fs } from "node:fs";
2
+ import path from "node:path";
3
+ import readline from "node:readline/promises";
4
+ import { randomUUID } from "node:crypto";
5
+ import { spawnSync } from "node:child_process";
6
+ import { stdin as input, stdout as output } from "node:process";
7
+ import { collectSourceFiles, detectProjectMetadata, scanFile } from "./scan.js";
8
+ const DEFAULT_BASE = "https://once-q18-cloud.pennywatch.workers.dev";
9
+ async function exists(filePath) {
10
+ try {
11
+ await fs.access(filePath);
12
+ return true;
13
+ }
14
+ catch {
15
+ return false;
16
+ }
17
+ }
18
+ async function detectPackageManager(root) {
19
+ const candidates = [
20
+ ["pnpm-lock.yaml", "pnpm"],
21
+ ["yarn.lock", "yarn"],
22
+ ["bun.lockb", "bun"],
23
+ ["bun.lock", "bun"],
24
+ ["package-lock.json", "npm"],
25
+ ["uv.lock", "uv"],
26
+ ["poetry.lock", "poetry"]
27
+ ];
28
+ for (const [file, manager] of candidates) {
29
+ if (await exists(path.join(root, file))) {
30
+ return manager;
31
+ }
32
+ }
33
+ if (await exists(path.join(root, "package.json"))) {
34
+ return "npm";
35
+ }
36
+ if (await exists(path.join(root, "requirements.txt"))) {
37
+ return "pip";
38
+ }
39
+ if (await exists(path.join(root, "pyproject.toml"))) {
40
+ return "pip";
41
+ }
42
+ return "not detected";
43
+ }
44
+ async function detectOnceInstallation(root) {
45
+ try {
46
+ const raw = await fs.readFile(path.join(root, "package.json"), "utf8");
47
+ const pkg = JSON.parse(raw.replace(/^\uFEFF/, ""));
48
+ if (pkg.name === "@once-agent/sdk") {
49
+ return true;
50
+ }
51
+ const dependencies = {
52
+ ...(pkg.dependencies ?? {}),
53
+ ...(pkg.devDependencies ?? {})
54
+ };
55
+ if ("@once-agent/sdk" in dependencies) {
56
+ return true;
57
+ }
58
+ }
59
+ catch {
60
+ // Node metadata optional.
61
+ }
62
+ for (const file of [
63
+ "requirements.txt",
64
+ "pyproject.toml"
65
+ ]) {
66
+ try {
67
+ const raw = (await fs.readFile(path.join(root, file), "utf8")).toLowerCase();
68
+ if (raw.includes("once-agent-sdk")) {
69
+ return true;
70
+ }
71
+ }
72
+ catch {
73
+ // Python metadata optional.
74
+ }
75
+ }
76
+ return false;
77
+ }
78
+ function commandName(command) {
79
+ if (process.platform === "win32" &&
80
+ ["npm", "pnpm", "yarn"].includes(command)) {
81
+ return `${command}.cmd`;
82
+ }
83
+ return command;
84
+ }
85
+ function installCommand(manager) {
86
+ const nodePackage = process.env.ONCE_SETUP_NODE_PACKAGE ||
87
+ "@once-agent/sdk";
88
+ const pythonPackage = process.env.ONCE_SETUP_PYTHON_PACKAGE ||
89
+ "once-agent-sdk";
90
+ switch (manager) {
91
+ case "npm":
92
+ return {
93
+ command: commandName("npm"),
94
+ args: ["install", nodePackage],
95
+ display: `npm install ${nodePackage}`
96
+ };
97
+ case "pnpm":
98
+ return {
99
+ command: commandName("pnpm"),
100
+ args: ["add", nodePackage],
101
+ display: `pnpm add ${nodePackage}`
102
+ };
103
+ case "yarn":
104
+ return {
105
+ command: commandName("yarn"),
106
+ args: ["add", nodePackage],
107
+ display: `yarn add ${nodePackage}`
108
+ };
109
+ case "bun":
110
+ return {
111
+ command: "bun",
112
+ args: ["add", nodePackage],
113
+ display: `bun add ${nodePackage}`
114
+ };
115
+ case "uv":
116
+ return {
117
+ command: "uv",
118
+ args: ["add", pythonPackage],
119
+ display: `uv add ${pythonPackage}`
120
+ };
121
+ case "poetry":
122
+ return {
123
+ command: "poetry",
124
+ args: ["add", pythonPackage],
125
+ display: `poetry add ${pythonPackage}`
126
+ };
127
+ case "pip":
128
+ return {
129
+ command: "python",
130
+ args: [
131
+ "-m",
132
+ "pip",
133
+ "install",
134
+ pythonPackage
135
+ ],
136
+ display: `python -m pip install ${pythonPackage}`
137
+ };
138
+ default:
139
+ return undefined;
140
+ }
141
+ }
142
+ function runInstall(root, manager) {
143
+ const installation = installCommand(manager);
144
+ if (!installation) {
145
+ throw new Error("Could not determine an automatic SDK install command.");
146
+ }
147
+ console.log("");
148
+ console.log(`Installing: ${installation.display}`);
149
+ const result = process.platform === "win32"
150
+ ? spawnSync(process.env.ComSpec ||
151
+ "cmd.exe", [
152
+ "/d",
153
+ "/c",
154
+ installation.command,
155
+ ...installation.args
156
+ ], {
157
+ cwd: root,
158
+ stdio: "inherit"
159
+ })
160
+ : spawnSync(installation.command, installation.args, {
161
+ cwd: root,
162
+ stdio: "inherit"
163
+ });
164
+ if (result.error) {
165
+ throw new Error("Once SDK installation failed to start: " +
166
+ result.error.message);
167
+ }
168
+ if (result.status !== 0) {
169
+ throw new Error(`Once SDK installation failed with exit code ${result.status}.`);
170
+ }
171
+ console.log("SDK installation complete.");
172
+ }
173
+ async function askSecret(promptText) {
174
+ if (!process.stdin.isTTY ||
175
+ !process.stdout.isTTY) {
176
+ return "";
177
+ }
178
+ return await new Promise((resolve, reject) => {
179
+ const stdin = process.stdin;
180
+ let value = "";
181
+ let onData;
182
+ const cleanup = () => {
183
+ stdin.off("data", onData);
184
+ if (stdin.isTTY) {
185
+ stdin.setRawMode(false);
186
+ }
187
+ output.write("\n");
188
+ };
189
+ onData =
190
+ (chunk) => {
191
+ const chars = String(chunk);
192
+ for (const char of chars) {
193
+ if (char === "\u0003") {
194
+ cleanup();
195
+ reject(new Error("Setup cancelled."));
196
+ return;
197
+ }
198
+ if (char === "\r" ||
199
+ char === "\n") {
200
+ cleanup();
201
+ resolve(value.trim());
202
+ return;
203
+ }
204
+ if (char === "\u007f" ||
205
+ char === "\b") {
206
+ if (value.length > 0) {
207
+ value =
208
+ value.slice(0, -1);
209
+ output.write("\b \b");
210
+ }
211
+ continue;
212
+ }
213
+ value += char;
214
+ output.write("*");
215
+ }
216
+ };
217
+ output.write(promptText);
218
+ stdin.setEncoding("utf8");
219
+ stdin.setRawMode(true);
220
+ stdin.resume();
221
+ stdin.on("data", onData);
222
+ });
223
+ }
224
+ async function verifyApiKey(baseUrl, apiKey) {
225
+ const operationId = "setup-doctor-" +
226
+ randomUUID()
227
+ .replaceAll("-", "");
228
+ const response = await fetch(`${baseUrl}/v1/truth/${encodeURIComponent(operationId)}`, {
229
+ method: "GET",
230
+ headers: {
231
+ Authorization: `Bearer ${apiKey}`
232
+ }
233
+ });
234
+ let body = {};
235
+ try {
236
+ body =
237
+ await response.json();
238
+ }
239
+ catch {
240
+ // handled below
241
+ }
242
+ if (!response.ok) {
243
+ throw new Error(`Once API verification failed (HTTP ${response.status}).`);
244
+ }
245
+ if (body.ledger_state !==
246
+ "ABSENT" ||
247
+ Number(body.side_effects) !== 0) {
248
+ throw new Error("Once Doctor returned an unexpected safety-probe result.");
249
+ }
250
+ }
251
+ async function registerProvider(baseUrl, apiKey, name, providerUrl, token) {
252
+ const response = await fetch(`${baseUrl}/v1/providers`, {
253
+ method: "POST",
254
+ headers: {
255
+ Authorization: `Bearer ${apiKey}`,
256
+ "Content-Type": "application/json"
257
+ },
258
+ body: JSON.stringify({
259
+ name,
260
+ type: "http_v1",
261
+ base_url: providerUrl,
262
+ token
263
+ })
264
+ });
265
+ let body = {};
266
+ try {
267
+ body =
268
+ await response.json();
269
+ }
270
+ catch {
271
+ // handled below
272
+ }
273
+ if (!response.ok) {
274
+ const error = typeof body.error ===
275
+ "string"
276
+ ? body.error
277
+ : "provider_registration_failed";
278
+ throw new Error(`Provider registration failed: ${error} (HTTP ${response.status}).`);
279
+ }
280
+ const versionId = String(body.version_id || "");
281
+ if (!versionId) {
282
+ throw new Error("Provider registration did not return a version ID.");
283
+ }
284
+ return {
285
+ name,
286
+ version_id: versionId,
287
+ created: Boolean(body.created),
288
+ rotated: Boolean(body.rotated)
289
+ };
290
+ }
291
+ async function persistApiKey(root, apiKey) {
292
+ const envPath = path.join(root, ".env");
293
+ let envText = "";
294
+ try {
295
+ envText =
296
+ await fs.readFile(envPath, "utf8");
297
+ }
298
+ catch {
299
+ // new file
300
+ }
301
+ if (!/^ONCE_API_KEY=/m.test(envText)) {
302
+ const separator = envText.length > 0 &&
303
+ !envText.endsWith("\n")
304
+ ? "\n"
305
+ : "";
306
+ envText +=
307
+ separator +
308
+ `ONCE_API_KEY=${apiKey}\n`;
309
+ await fs.writeFile(envPath, envText, "utf8");
310
+ try {
311
+ await fs.chmod(envPath, 0o600);
312
+ }
313
+ catch {
314
+ // Best effort on platforms such as Windows.
315
+ }
316
+ }
317
+ const ignorePath = path.join(root, ".gitignore");
318
+ let ignoreText = "";
319
+ try {
320
+ ignoreText =
321
+ await fs.readFile(ignorePath, "utf8");
322
+ }
323
+ catch {
324
+ // new file
325
+ }
326
+ const ignored = ignoreText
327
+ .split(/\r?\n/)
328
+ .map(value => value.trim())
329
+ .includes(".env");
330
+ if (!ignored) {
331
+ const separator = ignoreText.length > 0 &&
332
+ !ignoreText.endsWith("\n")
333
+ ? "\n"
334
+ : "";
335
+ await fs.writeFile(ignorePath, ignoreText +
336
+ separator +
337
+ ".env\n", "utf8");
338
+ }
339
+ }
340
+ async function writeOnceConfig(root, baseUrl, providerName, providerUrl, versionId) {
341
+ const onceDirectory = path.join(root, ".once");
342
+ await fs.mkdir(onceDirectory, {
343
+ recursive: true
344
+ });
345
+ const config = {
346
+ version: 1,
347
+ api_base: baseUrl,
348
+ provider: {
349
+ name: providerName,
350
+ type: "http_v1",
351
+ base_url: providerUrl,
352
+ version_id: versionId
353
+ }
354
+ };
355
+ await fs.writeFile(path.join(onceDirectory, "config.json"), JSON.stringify(config, null, 2) + "\n", "utf8");
356
+ }
357
+ function printQuickstart(providerName) {
358
+ console.log("");
359
+ console.log("YOUR FIRST PROTECTED CALL");
360
+ console.log("-------------------------");
361
+ console.log("");
362
+ console.log('import { Once } from "@once-agent/sdk";');
363
+ console.log("");
364
+ console.log("const once = new Once();");
365
+ console.log("");
366
+ console.log("await once.execute({");
367
+ console.log(' operationId: "YOUR_STABLE_OPERATION_ID",');
368
+ console.log(` provider: "${providerName}",`);
369
+ console.log(" action: {");
370
+ console.log(' type: "YOUR_ACTION"');
371
+ console.log(" }");
372
+ console.log("});");
373
+ console.log("");
374
+ console.log("Rule: retry the same real-world action with the same operation ID.");
375
+ }
376
+ export async function runSetup(requestedPath, options = {}) {
377
+ const root = path.resolve(requestedPath);
378
+ const stat = await fs.stat(root);
379
+ if (!stat.isDirectory()) {
380
+ throw new Error("Setup target must be a directory.");
381
+ }
382
+ const metadata = await detectProjectMetadata(root);
383
+ const packageManager = await detectPackageManager(root);
384
+ const onceInstalled = await detectOnceInstallation(root);
385
+ const files = await collectSourceFiles(root);
386
+ const findings = [];
387
+ for (const file of files) {
388
+ findings.push(...await scanFile(root, file));
389
+ }
390
+ const high = findings.filter(finding => finding.confidence ===
391
+ "HIGH").length;
392
+ const medium = findings.filter(finding => finding.confidence ===
393
+ "MEDIUM").length;
394
+ const low = findings.filter(finding => finding.confidence ===
395
+ "LOW").length;
396
+ const installation = installCommand(packageManager);
397
+ console.log("");
398
+ console.log("Once Setup");
399
+ console.log("==========");
400
+ console.log("");
401
+ console.log(`Project: ${root}`);
402
+ console.log("");
403
+ console.log("DETECTED");
404
+ console.log("--------");
405
+ console.log(`Languages: ${metadata.languages.length
406
+ ? metadata.languages.join(", ")
407
+ : "not detected"}`);
408
+ console.log(`Package manager: ${packageManager}`);
409
+ console.log(`AI/framework tooling: ${metadata.tooling.length
410
+ ? metadata.tooling.join(", ")
411
+ : "none detected"}`);
412
+ console.log(`Once SDK installed: ${onceInstalled
413
+ ? "yes"
414
+ : "no"}`);
415
+ console.log(`Source files scanned: ${files.length}`);
416
+ console.log("");
417
+ console.log(`Consequential-operation candidates: ${findings.length}`);
418
+ console.log(`HIGH ${high} MEDIUM ${medium} LOW ${low}`);
419
+ console.log("");
420
+ console.log("SETUP PLAN");
421
+ console.log("----------");
422
+ if (!onceInstalled &&
423
+ installation) {
424
+ console.log(`1. Install SDK: ${installation.display}`);
425
+ }
426
+ else if (onceInstalled) {
427
+ console.log("1. Keep existing Once SDK.");
428
+ }
429
+ else {
430
+ console.log("1. SDK installation requires manual selection.");
431
+ }
432
+ console.log("2. Verify your Once API key.");
433
+ console.log("3. Save ONCE_API_KEY to .env and ensure .env is gitignored.");
434
+ console.log("4. Register one HTTPS bearer-token provider.");
435
+ console.log("5. Store non-secret provider metadata in .once/config.json.");
436
+ console.log("6. Run a final Once Doctor safety probe.");
437
+ console.log(`7. Review ${findings.length} protection candidate${findings.length === 1
438
+ ? ""
439
+ : "s"}.`);
440
+ console.log("");
441
+ console.log("Application source code will NOT be modified.");
442
+ if (options.planOnly) {
443
+ console.log("");
444
+ console.log("PLAN ONLY: no files changed and no network setup performed.");
445
+ return;
446
+ }
447
+ let rl;
448
+ if (process.stdin.isTTY &&
449
+ process.stdout.isTTY) {
450
+ rl =
451
+ readline.createInterface({
452
+ input,
453
+ output
454
+ });
455
+ }
456
+ try {
457
+ if (!options.autoConfirm) {
458
+ if (!rl) {
459
+ throw new Error("Interactive confirmation unavailable. Run with --yes.");
460
+ }
461
+ const answer = (await rl.question("Apply this setup? [Y/n] "))
462
+ .trim()
463
+ .toLowerCase();
464
+ if (answer === "n" ||
465
+ answer === "no") {
466
+ console.log("Setup cancelled.");
467
+ return;
468
+ }
469
+ }
470
+ let apiKey = String(process.env.ONCE_API_KEY ||
471
+ "").trim();
472
+ if (!apiKey) {
473
+ if (rl) {
474
+ rl.close();
475
+ rl = undefined;
476
+ }
477
+ apiKey =
478
+ await askSecret("Once API key: ");
479
+ }
480
+ if (!apiKey) {
481
+ throw new Error("ONCE_API_KEY is required.");
482
+ }
483
+ const baseUrl = String(process.env.ONCE_BASE_URL ||
484
+ DEFAULT_BASE)
485
+ .trim()
486
+ .replace(/\/+$/, "");
487
+ console.log("");
488
+ console.log("Verifying Once API...");
489
+ await verifyApiKey(baseUrl, apiKey);
490
+ console.log("API key verified.");
491
+ if (!onceInstalled &&
492
+ !options.skipInstall) {
493
+ runInstall(root, packageManager);
494
+ }
495
+ await persistApiKey(root, apiKey);
496
+ console.log("ONCE_API_KEY saved to .env.");
497
+ console.log(".env is listed in .gitignore.");
498
+ if (!rl) {
499
+ if (process.stdin.isTTY &&
500
+ process.stdout.isTTY) {
501
+ rl =
502
+ readline.createInterface({
503
+ input,
504
+ output
505
+ });
506
+ }
507
+ }
508
+ const providerName = String(process.env.ONCE_SETUP_PROVIDER_NAME ||
509
+ (rl
510
+ ? await rl.question("Provider name [my-api]: ")
511
+ : "") ||
512
+ "my-api")
513
+ .trim()
514
+ .toLowerCase();
515
+ const providerUrl = String(process.env.ONCE_SETUP_PROVIDER_URL ||
516
+ (rl
517
+ ? await rl.question("Provider HTTPS base URL: ")
518
+ : "")).trim();
519
+ if (!providerUrl) {
520
+ throw new Error("Provider base URL is required.");
521
+ }
522
+ let providerToken = String(process.env.ONCE_SETUP_PROVIDER_TOKEN ||
523
+ "").trim();
524
+ if (!providerToken) {
525
+ if (rl) {
526
+ rl.close();
527
+ rl = undefined;
528
+ }
529
+ providerToken =
530
+ await askSecret("Provider bearer token: ");
531
+ }
532
+ if (!providerToken) {
533
+ throw new Error("Provider bearer token is required.");
534
+ }
535
+ console.log("");
536
+ console.log(`Registering provider "${providerName}"...`);
537
+ const provider = await registerProvider(baseUrl, apiKey, providerName, providerUrl, providerToken);
538
+ providerToken = "";
539
+ console.log(`Provider registered: ${provider.version_id}`);
540
+ await writeOnceConfig(root, baseUrl, providerName, providerUrl, provider.version_id);
541
+ console.log("Non-secret Once config written to .once/config.json.");
542
+ await verifyApiKey(baseUrl, apiKey);
543
+ console.log("Final Once Doctor probe passed.");
544
+ console.log("");
545
+ console.log("ONCE SETUP COMPLETE");
546
+ console.log("No application source files were changed.");
547
+ printQuickstart(providerName);
548
+ if (findings.length > 0) {
549
+ console.log("");
550
+ console.log(`${findings.length} protection candidates are ready for review.`);
551
+ console.log("Run: once scan .");
552
+ }
553
+ }
554
+ finally {
555
+ rl?.close();
556
+ }
557
+ }
558
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare const HTTP_WRITE_PATCH_PLAN_ID: "ts_fetch_post_void_patch_v1";
2
+ export type HttpWritePatchInput = {
3
+ source: string;
4
+ statement: string;
5
+ functionSource: string;
6
+ provider: string;
7
+ };
8
+ export type HttpWritePatchSuccess = {
9
+ eligible: true;
10
+ patchPlan: typeof HTTP_WRITE_PATCH_PLAN_ID;
11
+ transformerId: "ts_fetch_post_void_v1";
12
+ bindingStrategy: "call-site-constructor";
13
+ proposedSource: string;
14
+ sourceSha256: string;
15
+ proposedSourceSha256: string;
16
+ };
17
+ export type HttpWritePatchFailure = {
18
+ eligible: false;
19
+ reason: string;
20
+ };
21
+ export type HttpWritePatchResult = HttpWritePatchSuccess | HttpWritePatchFailure;
22
+ export declare function buildHttpWritePatchV1(input: HttpWritePatchInput): HttpWritePatchResult;
23
+ //# sourceMappingURL=http-patch-plan-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-patch-plan-v1.d.ts","sourceRoot":"","sources":["../../src/transformers/http-patch-plan-v1.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,wBAAwB,EACnC,6BAAsC,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,IAAI,CAAC;IAEf,SAAS,EACP,OAAO,wBAAwB,CAAC;IAElC,aAAa,EACX,uBAAuB,CAAC;IAE1B,eAAe,EACb,uBAAuB,CAAC;IAE1B,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,qBAAqB,CAAC;AAsG1B,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GACzB,oBAAoB,CA4NtB"}