agentenkit 0.4.0 → 0.5.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 (115) hide show
  1. package/README.md +48 -1
  2. package/dist/adapters/brave.d.ts +21 -0
  3. package/dist/adapters/brave.d.ts.map +1 -0
  4. package/dist/adapters/brave.js +52 -0
  5. package/dist/adapters/brave.js.map +1 -0
  6. package/dist/adapters/computesdk.d.ts +71 -0
  7. package/dist/adapters/computesdk.d.ts.map +1 -0
  8. package/dist/adapters/computesdk.js +163 -0
  9. package/dist/adapters/computesdk.js.map +1 -0
  10. package/dist/adapters/docker.d.ts +35 -0
  11. package/dist/adapters/docker.d.ts.map +1 -0
  12. package/dist/adapters/docker.js +246 -0
  13. package/dist/adapters/docker.js.map +1 -0
  14. package/dist/adapters/e2b.d.ts +44 -0
  15. package/dist/adapters/e2b.d.ts.map +1 -0
  16. package/dist/adapters/e2b.js +349 -0
  17. package/dist/adapters/e2b.js.map +1 -0
  18. package/dist/adapters/jina.d.ts +34 -0
  19. package/dist/adapters/jina.d.ts.map +1 -0
  20. package/dist/adapters/jina.js +99 -0
  21. package/dist/adapters/jina.js.map +1 -0
  22. package/dist/adapters/local-sandbox.d.ts +32 -0
  23. package/dist/adapters/local-sandbox.d.ts.map +1 -0
  24. package/dist/adapters/local-sandbox.js +257 -0
  25. package/dist/adapters/local-sandbox.js.map +1 -0
  26. package/dist/adapters/memory.d.ts +81 -0
  27. package/dist/adapters/memory.d.ts.map +1 -1
  28. package/dist/adapters/memory.js +207 -0
  29. package/dist/adapters/memory.js.map +1 -1
  30. package/dist/adapters/page-reader.d.ts +39 -0
  31. package/dist/adapters/page-reader.d.ts.map +1 -0
  32. package/dist/adapters/page-reader.js +165 -0
  33. package/dist/adapters/page-reader.js.map +1 -0
  34. package/dist/adapters/sandbox-shell.d.ts +60 -0
  35. package/dist/adapters/sandbox-shell.d.ts.map +1 -0
  36. package/dist/adapters/sandbox-shell.js +129 -0
  37. package/dist/adapters/sandbox-shell.js.map +1 -0
  38. package/dist/adapters/sqlite.d.ts +37 -1
  39. package/dist/adapters/sqlite.d.ts.map +1 -1
  40. package/dist/adapters/sqlite.js +106 -7
  41. package/dist/adapters/sqlite.js.map +1 -1
  42. package/dist/adapters/web-search-shared.d.ts +11 -0
  43. package/dist/adapters/web-search-shared.d.ts.map +1 -0
  44. package/dist/adapters/web-search-shared.js +40 -0
  45. package/dist/adapters/web-search-shared.js.map +1 -0
  46. package/dist/core/builtin/definitions.d.ts +12 -0
  47. package/dist/core/builtin/definitions.d.ts.map +1 -0
  48. package/dist/core/builtin/definitions.js +149 -0
  49. package/dist/core/builtin/definitions.js.map +1 -0
  50. package/dist/core/builtin/html.d.ts +13 -0
  51. package/dist/core/builtin/html.d.ts.map +1 -0
  52. package/dist/core/builtin/html.js +96 -0
  53. package/dist/core/builtin/html.js.map +1 -0
  54. package/dist/core/builtin/index.d.ts +21 -0
  55. package/dist/core/builtin/index.d.ts.map +1 -0
  56. package/dist/core/builtin/index.js +55 -0
  57. package/dist/core/builtin/index.js.map +1 -0
  58. package/dist/core/builtin/run.d.ts +37 -0
  59. package/dist/core/builtin/run.d.ts.map +1 -0
  60. package/dist/core/builtin/run.js +55 -0
  61. package/dist/core/builtin/run.js.map +1 -0
  62. package/dist/core/builtin/sandbox-tools.d.ts +69 -0
  63. package/dist/core/builtin/sandbox-tools.d.ts.map +1 -0
  64. package/dist/core/builtin/sandbox-tools.js +389 -0
  65. package/dist/core/builtin/sandbox-tools.js.map +1 -0
  66. package/dist/core/builtin/sandbox.d.ts +52 -0
  67. package/dist/core/builtin/sandbox.d.ts.map +1 -0
  68. package/dist/core/builtin/sandbox.js +174 -0
  69. package/dist/core/builtin/sandbox.js.map +1 -0
  70. package/dist/core/builtin/web.d.ts +54 -0
  71. package/dist/core/builtin/web.d.ts.map +1 -0
  72. package/dist/core/builtin/web.js +167 -0
  73. package/dist/core/builtin/web.js.map +1 -0
  74. package/dist/core/deleteThread.d.ts.map +1 -1
  75. package/dist/core/deleteThread.js +3 -0
  76. package/dist/core/deleteThread.js.map +1 -1
  77. package/dist/core/engine.d.ts.map +1 -1
  78. package/dist/core/engine.js +29 -5
  79. package/dist/core/engine.js.map +1 -1
  80. package/dist/core/permanent.d.ts +11 -0
  81. package/dist/core/permanent.d.ts.map +1 -0
  82. package/dist/core/permanent.js +37 -0
  83. package/dist/core/permanent.js.map +1 -0
  84. package/dist/core/subagent.d.ts.map +1 -1
  85. package/dist/core/subagent.js +13 -3
  86. package/dist/core/subagent.js.map +1 -1
  87. package/dist/core/tools.d.ts +9 -3
  88. package/dist/core/tools.d.ts.map +1 -1
  89. package/dist/core/tools.js.map +1 -1
  90. package/dist/core/types.d.ts +17 -1
  91. package/dist/core/types.d.ts.map +1 -1
  92. package/dist/core/types.js +4 -1
  93. package/dist/core/types.js.map +1 -1
  94. package/dist/index.d.ts +14 -2
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +12 -1
  97. package/dist/index.js.map +1 -1
  98. package/dist/ports/runtime.d.ts +17 -0
  99. package/dist/ports/runtime.d.ts.map +1 -1
  100. package/dist/ports/sandbox.d.ts +159 -0
  101. package/dist/ports/sandbox.d.ts.map +1 -0
  102. package/dist/ports/sandbox.js +44 -0
  103. package/dist/ports/sandbox.js.map +1 -0
  104. package/dist/ports/tools.d.ts +60 -0
  105. package/dist/ports/tools.d.ts.map +1 -0
  106. package/dist/ports/tools.js +5 -0
  107. package/dist/ports/tools.js.map +1 -0
  108. package/dist/pricing.d.ts +24 -0
  109. package/dist/pricing.d.ts.map +1 -1
  110. package/dist/pricing.js +29 -0
  111. package/dist/pricing.js.map +1 -1
  112. package/dist/runtime.d.ts.map +1 -1
  113. package/dist/runtime.js +3 -0
  114. package/dist/runtime.js.map +1 -1
  115. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2b.js","sourceRoot":"","sources":["../../src/adapters/e2b.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { FetchedPage, Fetcher, FetchOptions, Search, SearchHit, SearchOptions } from '../ports/tools.js';
2
+ export interface JinaOptions {
3
+ apiKey: string;
4
+ baseUrl?: string;
5
+ /** For tests. */
6
+ fetch?: typeof fetch;
7
+ }
8
+ /** Jina's result text is markdown; a snippet reads better as plain text.
9
+ * The Go adapter follows the same rules. */
10
+ export declare function plainSnippet(markdown: string): string;
11
+ /** Web search on Jina's s.jina.ai: about $0.50 per 1,000 searches ($0.05 per
12
+ * million tokens, at least 10,000 a search), 100 requests a minute
13
+ * (checked 2026-09-26). Cheaper than Brave, slower and more limited: for
14
+ * low traffic where cost matters most. Jina returns each result's page
15
+ * text; only a short snippet is kept, so the model still opens only the
16
+ * pages it needs. It has no recency filter, so `recency` is ignored. */
17
+ export declare class JinaWebSearch implements Search {
18
+ private readonly options;
19
+ readonly name = "jina-search";
20
+ constructor(options: JinaOptions);
21
+ search(query: string, opts: SearchOptions): Promise<SearchHit[]>;
22
+ }
23
+ /** Reads pages through Jina's r.jina.ai: pages built with JavaScript, PDFs,
24
+ * and sites that block plain fetches. About $0.25–$0.50 per 1,000 pages
25
+ * ($0.05 per million tokens returned). Jina fetches the page from its own
26
+ * servers, so your network is never reached. Use it where PageReader comes
27
+ * back empty or blocked. */
28
+ export declare class JinaReader implements Fetcher {
29
+ private readonly options;
30
+ readonly name = "jina-reader";
31
+ constructor(options: JinaOptions);
32
+ fetch(url: string, opts: FetchOptions): Promise<FetchedPage>;
33
+ }
34
+ //# sourceMappingURL=jina.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jina.d.ts","sourceRoot":"","sources":["../../src/adapters/jina.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG9G,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAID;6CAC6C;AAC7C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAerD;AAED;;;;;yEAKyE;AACzE,qBAAa,aAAc,YAAW,MAAM;IAE9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,QAAQ,CAAC,IAAI,iBAAiB;gBACD,OAAO,EAAE,WAAW;IAI3C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAoBvE;AAED;;;;6BAI6B;AAC7B,qBAAa,UAAW,YAAW,OAAO;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,QAAQ,CAAC,IAAI,iBAAiB;gBACD,OAAO,EAAE,WAAW;IAI3C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CA0BnE"}
@@ -0,0 +1,99 @@
1
+ import { domainAllowed, withSiteFilters } from './web-search-shared.js';
2
+ const SNIPPET_CHARS = 300;
3
+ /** Jina's result text is markdown; a snippet reads better as plain text.
4
+ * The Go adapter follows the same rules. */
5
+ export function plainSnippet(markdown) {
6
+ let s = markdown
7
+ .replace(/!\[[^\]]*\]\([^)]*\)/g, '') // images
8
+ .replace(/\[([^\]]*)\]\([^)]*\)/g, '$1') // links keep their text
9
+ .replace(/\*\*|__|`/g, '') // bold and code marks
10
+ .replace(/(^|[ \t\n\r\f\v])#{1,6}[ \t]/g, '$1') // heading marks
11
+ .replace(/[ \t\n\r\f\v]+/g, ' ')
12
+ .replace(/^ | $/g, '');
13
+ if (s.length > SNIPPET_CHARS) {
14
+ let end = SNIPPET_CHARS;
15
+ const last = s.charCodeAt(end - 1);
16
+ if (last >= 0xd800 && last <= 0xdbff)
17
+ end--; // never split a character
18
+ s = s.slice(0, end);
19
+ }
20
+ return s;
21
+ }
22
+ /** Web search on Jina's s.jina.ai: about $0.50 per 1,000 searches ($0.05 per
23
+ * million tokens, at least 10,000 a search), 100 requests a minute
24
+ * (checked 2026-09-26). Cheaper than Brave, slower and more limited: for
25
+ * low traffic where cost matters most. Jina returns each result's page
26
+ * text; only a short snippet is kept, so the model still opens only the
27
+ * pages it needs. It has no recency filter, so `recency` is ignored. */
28
+ export class JinaWebSearch {
29
+ options;
30
+ name = 'jina-search';
31
+ constructor(options) {
32
+ this.options = options;
33
+ if (!options.apiKey)
34
+ throw new Error('JinaWebSearch: apiKey is required');
35
+ }
36
+ async search(query, opts) {
37
+ const params = new URLSearchParams({ q: withSiteFilters(query, opts) });
38
+ const doFetch = this.options.fetch ?? fetch;
39
+ const res = await doFetch(`${this.options.baseUrl ?? 'https://s.jina.ai/'}?${params}`, {
40
+ headers: { accept: 'application/json', authorization: `Bearer ${this.options.apiKey}` },
41
+ ...(opts.signal ? { signal: opts.signal } : {}),
42
+ });
43
+ if (!res.ok)
44
+ throw new Error(`jina: ${res.status} ${(await res.text()).slice(0, 200)}`);
45
+ const body = (await res.json());
46
+ const hits = [];
47
+ for (const r of body.data ?? []) {
48
+ if (!r.url || !domainAllowed(r.url, opts))
49
+ continue;
50
+ const snippet = plainSnippet(r.description || r.content || '');
51
+ hits.push({ title: r.title ?? '', url: r.url, snippet, ...(r.date ? { publishedAt: r.date } : {}) });
52
+ if (hits.length >= opts.maxResults)
53
+ break;
54
+ }
55
+ return hits;
56
+ }
57
+ }
58
+ /** Reads pages through Jina's r.jina.ai: pages built with JavaScript, PDFs,
59
+ * and sites that block plain fetches. About $0.25–$0.50 per 1,000 pages
60
+ * ($0.05 per million tokens returned). Jina fetches the page from its own
61
+ * servers, so your network is never reached. Use it where PageReader comes
62
+ * back empty or blocked. */
63
+ export class JinaReader {
64
+ options;
65
+ name = 'jina-reader';
66
+ constructor(options) {
67
+ this.options = options;
68
+ if (!options.apiKey)
69
+ throw new Error('JinaReader: apiKey is required');
70
+ }
71
+ async fetch(url, opts) {
72
+ const parsed = new URL(url);
73
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
74
+ throw new Error(`jina: only http and https pages can be read, not ${url}`);
75
+ }
76
+ const doFetch = this.options.fetch ?? fetch;
77
+ const res = await doFetch(`${this.options.baseUrl ?? 'https://r.jina.ai/'}${parsed.href}`, {
78
+ headers: {
79
+ accept: 'application/json',
80
+ authorization: `Bearer ${this.options.apiKey}`,
81
+ 'x-return-format': opts.format === 'text' ? 'text' : 'markdown',
82
+ },
83
+ ...(opts.signal ? { signal: opts.signal } : {}),
84
+ });
85
+ if (!res.ok)
86
+ throw new Error(`jina: ${res.status} ${(await res.text()).slice(0, 200)}`);
87
+ const body = (await res.json());
88
+ const content = body.data?.content ?? '';
89
+ const bytes = new TextEncoder().encode(content);
90
+ const truncated = bytes.length > opts.maxBytes;
91
+ return {
92
+ url: body.data?.url || parsed.href,
93
+ title: body.data?.title ?? '',
94
+ content: truncated ? new TextDecoder().decode(bytes.subarray(0, opts.maxBytes)).replace(/�$/, '') : content,
95
+ truncated,
96
+ };
97
+ }
98
+ }
99
+ //# sourceMappingURL=jina.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jina.js","sourceRoot":"","sources":["../../src/adapters/jina.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { type CreateSandboxOptions, type Sandbox, type SandboxProvider } from '../ports/sandbox.js';
2
+ export interface LocalSandboxOptions {
3
+ /** Where the sandboxes' folders go. Default: `agentenkit-sandboxes` in the
4
+ * system temp folder. */
5
+ rootDir?: string;
6
+ /** Environment variables every command sees, on top of PATH, HOME, LANG. */
7
+ env?: Record<string, string>;
8
+ /** Where the production warning goes. Defaults to `console`. */
9
+ log?: {
10
+ warn(message: string, ...rest: unknown[]): void;
11
+ };
12
+ }
13
+ /** A sandbox that is only a folder on this machine: for development, where
14
+ * you want the sandbox tools without Docker or an account. Commands run as
15
+ * you, with your files in reach. There is NO isolation, and the network
16
+ * setting is not applied, so it warns when NODE_ENV is production.
17
+ *
18
+ * Commands see only PATH, HOME (the sandbox folder) and LANG from your
19
+ * environment, so your API keys do not leak into what the model runs. The
20
+ * Go runtime has the same adapter (adapters/localsandbox). */
21
+ export declare class LocalSandbox implements SandboxProvider {
22
+ private readonly options;
23
+ readonly name = "local";
24
+ private readonly root;
25
+ constructor(options?: LocalSandboxOptions);
26
+ create(options: CreateSandboxOptions): Promise<Sandbox>;
27
+ connect(sandboxId: string): Promise<Sandbox>;
28
+ /** Removes sandboxes past their time. There is no process watching them,
29
+ * so each create tidies up after the others. */
30
+ private sweep;
31
+ }
32
+ //# sourceMappingURL=local-sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-sandbox.d.ts","sourceRoot":"","sources":["../../src/adapters/local-sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,oBAAoB,EAGzB,KAAK,OAAO,EAGZ,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,mBAAmB;IAClC;8BAC0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gEAAgE;IAChE,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CAC3D;AAWD;;;;;;;+DAO+D;AAC/D,qBAAa,YAAa,YAAW,eAAe;IAItC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,OAAO,GAAE,mBAAwB;IASxD,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAYvD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlD;qDACiD;YACnC,KAAK;CASpB"}
@@ -0,0 +1,257 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { promises as fs } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { dirname, join } from 'node:path';
5
+ import { DEFAULT_COMMAND_TIMEOUT_MS, SandboxFileNotFoundError, SandboxGoneError, TIMED_OUT_EXIT_CODE, } from '../ports/sandbox.js';
6
+ import { OutputCollector, backgroundCommand, randomId, resolveIn, runArgv, sortEntries, toBytes } from './sandbox-shell.js';
7
+ const ID = /^local-[a-z0-9]+$/;
8
+ /** A sandbox that is only a folder on this machine: for development, where
9
+ * you want the sandbox tools without Docker or an account. Commands run as
10
+ * you, with your files in reach. There is NO isolation, and the network
11
+ * setting is not applied, so it warns when NODE_ENV is production.
12
+ *
13
+ * Commands see only PATH, HOME (the sandbox folder) and LANG from your
14
+ * environment, so your API keys do not leak into what the model runs. The
15
+ * Go runtime has the same adapter (adapters/localsandbox). */
16
+ export class LocalSandbox {
17
+ options;
18
+ name = 'local';
19
+ root;
20
+ constructor(options = {}) {
21
+ this.options = options;
22
+ this.root = options.rootDir ?? join(tmpdir(), 'agentenkit-sandboxes');
23
+ if (process.env.NODE_ENV === 'production') {
24
+ (options.log ?? console).warn('LocalSandbox runs commands on this machine with no isolation: use DockerSandbox or E2BSandbox in production');
25
+ }
26
+ }
27
+ async create(options) {
28
+ await this.sweep();
29
+ const id = `local-${randomId()}`;
30
+ const dir = join(this.root, id);
31
+ await fs.mkdir(join(dir, 'work'), { recursive: true });
32
+ const now = Date.now();
33
+ const metadata = { threadId: options.metadata.threadId };
34
+ if (options.metadata.runId)
35
+ metadata.runId = options.metadata.runId;
36
+ await writeMeta(dir, { createdAt: now, expiresAt: now + options.timeoutMs, metadata, envs: options.envs ?? {} });
37
+ return new LocalBox(id, dir, this.options.env ?? {});
38
+ }
39
+ async connect(sandboxId) {
40
+ if (!ID.test(sandboxId))
41
+ throw new SandboxGoneError(sandboxId, 'not a local sandbox id');
42
+ const dir = join(this.root, sandboxId);
43
+ const meta = await readMeta(dir);
44
+ if (!meta)
45
+ throw new SandboxGoneError(sandboxId);
46
+ if (meta.expiresAt <= Date.now()) {
47
+ await fs.rm(dir, { recursive: true, force: true });
48
+ throw new SandboxGoneError(sandboxId, 'it timed out');
49
+ }
50
+ return new LocalBox(sandboxId, dir, this.options.env ?? {});
51
+ }
52
+ /** Removes sandboxes past their time. There is no process watching them,
53
+ * so each create tidies up after the others. */
54
+ async sweep() {
55
+ const names = await fs.readdir(this.root).catch(() => []);
56
+ const now = Date.now();
57
+ for (const name of names) {
58
+ if (!ID.test(name))
59
+ continue;
60
+ const meta = await readMeta(join(this.root, name));
61
+ if (meta && meta.expiresAt <= now)
62
+ await fs.rm(join(this.root, name), { recursive: true, force: true });
63
+ }
64
+ }
65
+ }
66
+ async function readMeta(dir) {
67
+ try {
68
+ return JSON.parse(await fs.readFile(join(dir, 'sandbox.json'), 'utf8'));
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ async function writeMeta(dir, meta) {
75
+ await fs.writeFile(join(dir, 'sandbox.json'), JSON.stringify(meta));
76
+ }
77
+ class LocalBox {
78
+ sandboxId;
79
+ dir;
80
+ env;
81
+ provider = 'local';
82
+ filesystem;
83
+ workdir;
84
+ constructor(sandboxId, dir, env) {
85
+ this.sandboxId = sandboxId;
86
+ this.dir = dir;
87
+ this.env = env;
88
+ this.workdir = join(dir, 'work');
89
+ this.filesystem = new LocalFiles(this.workdir);
90
+ }
91
+ async meta() {
92
+ const meta = await readMeta(this.dir);
93
+ if (!meta)
94
+ throw new SandboxGoneError(this.sandboxId);
95
+ return meta;
96
+ }
97
+ async runCommand(command, options = {}) {
98
+ const meta = await this.meta();
99
+ const cwd = resolveIn(this.workdir, options.cwd ?? '.');
100
+ const env = {
101
+ PATH: process.env.PATH ?? '/usr/local/bin:/usr/bin:/bin',
102
+ HOME: this.workdir,
103
+ LANG: process.env.LANG ?? 'C.UTF-8',
104
+ ...this.env,
105
+ ...meta.envs,
106
+ ...options.env,
107
+ };
108
+ if (options.background) {
109
+ const r = await this.exec(backgroundCommand(command), cwd, env, DEFAULT_COMMAND_TIMEOUT_MS, {});
110
+ return { ...r, stdout: '', stderr: '' };
111
+ }
112
+ return this.exec(command, cwd, env, options.timeoutMs ?? DEFAULT_COMMAND_TIMEOUT_MS, options);
113
+ }
114
+ exec(command, cwd, env, limitMs, options) {
115
+ const started = Date.now();
116
+ const [file, ...args] = runArgv(command);
117
+ return new Promise((resolve, reject) => {
118
+ // Its own process group, so the time limit stops what it started too.
119
+ // Cast: some apps' types (Next.js) make NODE_ENV a required field.
120
+ const child = spawn(file, args, { cwd, env: env, detached: true, stdio: ['ignore', 'pipe', 'pipe'] });
121
+ const out = new OutputCollector(options.onStdout);
122
+ const err = new OutputCollector(options.onStderr);
123
+ child.stdout.on('data', (b) => out.push(b));
124
+ child.stderr.on('data', (b) => err.push(b));
125
+ let timedOut = false;
126
+ let aborted = false;
127
+ const kill = () => {
128
+ try {
129
+ process.kill(-child.pid, 'SIGKILL');
130
+ }
131
+ catch {
132
+ child.kill('SIGKILL');
133
+ }
134
+ };
135
+ const timer = setTimeout(() => {
136
+ timedOut = true;
137
+ kill();
138
+ }, limitMs);
139
+ const onAbort = () => {
140
+ aborted = true;
141
+ kill();
142
+ };
143
+ options.signal?.addEventListener('abort', onAbort, { once: true });
144
+ if (options.signal?.aborted)
145
+ onAbort();
146
+ child.on('error', (e) => {
147
+ clearTimeout(timer);
148
+ options.signal?.removeEventListener('abort', onAbort);
149
+ reject(e);
150
+ });
151
+ child.on('close', (code, signal) => {
152
+ clearTimeout(timer);
153
+ options.signal?.removeEventListener('abort', onAbort);
154
+ if (aborted)
155
+ return reject(options.signal.reason ?? new Error('aborted'));
156
+ const exitCode = timedOut ? TIMED_OUT_EXIT_CODE : (code ?? 128 + signalNumber(signal));
157
+ resolve({
158
+ stdout: out.end(),
159
+ stderr: err.end(),
160
+ exitCode,
161
+ durationMs: Date.now() - started,
162
+ ...(timedOut ? { timedOut: true } : {}),
163
+ ...(out.truncated || err.truncated ? { truncated: true } : {}),
164
+ });
165
+ });
166
+ });
167
+ }
168
+ async getUrl(options) {
169
+ await this.meta();
170
+ return `${options.protocol ?? 'http'}://localhost:${options.port}`;
171
+ }
172
+ async getInfo() {
173
+ const meta = await this.meta();
174
+ return {
175
+ id: this.sandboxId,
176
+ provider: 'local',
177
+ status: 'running',
178
+ createdAt: new Date(meta.createdAt),
179
+ expiresAt: new Date(meta.expiresAt),
180
+ workdir: this.workdir,
181
+ metadata: meta.metadata,
182
+ };
183
+ }
184
+ async setTimeout(timeoutMs) {
185
+ const meta = await this.meta();
186
+ await writeMeta(this.dir, { ...meta, expiresAt: Date.now() + timeoutMs });
187
+ }
188
+ async destroy() {
189
+ await fs.rm(this.dir, { recursive: true, force: true });
190
+ }
191
+ }
192
+ function signalNumber(signal) {
193
+ const numbers = { SIGHUP: 1, SIGINT: 2, SIGKILL: 9, SIGTERM: 15 };
194
+ return (signal && numbers[signal]) || 0;
195
+ }
196
+ const isMissing = (e) => e?.code === 'ENOENT' || e?.code === 'ENOTDIR';
197
+ class LocalFiles {
198
+ workdir;
199
+ constructor(workdir) {
200
+ this.workdir = workdir;
201
+ }
202
+ path(p) {
203
+ return resolveIn(this.workdir, p);
204
+ }
205
+ async readFile(path) {
206
+ return new TextDecoder().decode(await this.readFileBytes(path));
207
+ }
208
+ async readFileBytes(path) {
209
+ const full = this.path(path);
210
+ try {
211
+ if (!(await fs.stat(full)).isFile())
212
+ throw new SandboxFileNotFoundError(path);
213
+ return new Uint8Array(await fs.readFile(full));
214
+ }
215
+ catch (e) {
216
+ if (isMissing(e))
217
+ throw new SandboxFileNotFoundError(path);
218
+ throw e;
219
+ }
220
+ }
221
+ async writeFile(path, content) {
222
+ const full = this.path(path);
223
+ await fs.mkdir(dirname(full), { recursive: true });
224
+ await fs.writeFile(full, toBytes(content));
225
+ }
226
+ async readdir(path) {
227
+ const full = this.path(path);
228
+ try {
229
+ const dirents = await fs.readdir(full, { withFileTypes: true });
230
+ const entries = [];
231
+ for (const d of dirents) {
232
+ if (d.isDirectory())
233
+ entries.push({ name: d.name, type: 'directory' });
234
+ else {
235
+ const size = await fs.stat(join(full, d.name)).then((s) => s.size).catch(() => 0);
236
+ entries.push({ name: d.name, type: 'file', size });
237
+ }
238
+ }
239
+ return sortEntries(entries);
240
+ }
241
+ catch (e) {
242
+ if (isMissing(e))
243
+ throw new SandboxFileNotFoundError(path);
244
+ throw e;
245
+ }
246
+ }
247
+ async mkdir(path) {
248
+ await fs.mkdir(this.path(path), { recursive: true });
249
+ }
250
+ async exists(path) {
251
+ return fs.lstat(this.path(path)).then(() => true, () => false);
252
+ }
253
+ async remove(path) {
254
+ await fs.rm(this.path(path), { recursive: true, force: true });
255
+ }
256
+ }
257
+ //# sourceMappingURL=local-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-sandbox.js","sourceRoot":"","sources":["../../src/adapters/local-sandbox.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { FetchedPage, Fetcher, FetchOptions, Search, SearchHit, SearchOptions } from '../ports/tools.js';
2
+ import { type CommandResult, type CreateSandboxOptions, type RunCommandOptions, type Sandbox, type SandboxFileSystem, type SandboxInfo, type SandboxProvider } from '../ports/sandbox.js';
1
3
  import type { AgentEvent, ExecutionState, MessageDTO, NewMessage, NewThreadEvent, ThreadEventFilter, NewUsage, RunJob, ThreadDTO, ThreadTransition, UsageFilter, UsageTotals } from '../core/types.js';
2
4
  import type { Storage } from '../ports/storage.js';
3
5
  import type { EventBus } from '../ports/bus.js';
@@ -133,4 +135,83 @@ export declare class MemoryRunStreams implements RunStreams {
133
135
  * test prove a stream was deleted. */
134
136
  get size(): number;
135
137
  }
138
+ /** A search engine for tests: answers from a fixed list, or from a function
139
+ * of the query, and keeps every query it was asked. */
140
+ export declare class MemorySearch implements Search {
141
+ private readonly answer;
142
+ readonly name: string;
143
+ readonly queries: Array<{
144
+ query: string;
145
+ options: SearchOptions;
146
+ }>;
147
+ constructor(answer: SearchHit[] | ((query: string, options: SearchOptions) => SearchHit[] | Promise<SearchHit[]>), name?: string);
148
+ search(query: string, options: SearchOptions): Promise<SearchHit[]>;
149
+ }
150
+ /** A page reader for tests: serves pages from a map by URL, and keeps every
151
+ * URL it was asked for. An unknown URL fails like a 404. */
152
+ export declare class MemoryFetcher implements Fetcher {
153
+ private readonly pages;
154
+ readonly name: string;
155
+ readonly fetched: string[];
156
+ constructor(pages: Record<string, {
157
+ title?: string;
158
+ content: string;
159
+ }>, name?: string);
160
+ fetch(url: string, options: FetchOptions): Promise<FetchedPage>;
161
+ }
162
+ /** Sandboxes that live in memory, for tests: files are kept, commands go to
163
+ * the `run` function you give (none given, every command fails with 127).
164
+ * It records what was made, pushed back and destroyed, and `end(id)` makes
165
+ * one go away as a timed-out sandbox would. */
166
+ export declare class MemorySandbox implements SandboxProvider {
167
+ private readonly run?;
168
+ readonly name: string;
169
+ readonly created: CreateSandboxOptions[];
170
+ readonly destroyed: string[];
171
+ /** Every setTimeout call, in order. */
172
+ readonly timeouts: Array<{
173
+ sandboxId: string;
174
+ timeoutMs: number;
175
+ }>;
176
+ readonly commands: Array<{
177
+ sandboxId: string;
178
+ command: string;
179
+ options: RunCommandOptions;
180
+ }>;
181
+ private readonly boxes;
182
+ private n;
183
+ constructor(run?: ((command: string, options: RunCommandOptions, sandbox: Sandbox) => Partial<CommandResult> | Promise<Partial<CommandResult>>) | undefined, name?: string);
184
+ create(options: CreateSandboxOptions): Promise<Sandbox>;
185
+ connect(sandboxId: string): Promise<Sandbox>;
186
+ /** The sandbox ends on its own, as one past its time does. */
187
+ end(sandboxId: string): void;
188
+ /** The ids of the sandboxes still there. */
189
+ live(): string[];
190
+ /** @internal */
191
+ exec(box: MemoryBox, command: string, options: RunCommandOptions): Promise<CommandResult>;
192
+ /** @internal */
193
+ alive(sandboxId: string): void;
194
+ /** @internal */
195
+ remove(sandboxId: string): void;
196
+ }
197
+ declare class MemoryBox implements Sandbox {
198
+ private readonly owner;
199
+ readonly sandboxId: string;
200
+ readonly filesystem: SandboxFileSystem;
201
+ readonly files: Map<string, Uint8Array<ArrayBufferLike>>;
202
+ readonly dirs: Set<string>;
203
+ readonly createdAt: Date;
204
+ expiresAt?: Date;
205
+ constructor(owner: MemorySandbox, sandboxId: string);
206
+ get provider(): string;
207
+ runCommand(command: string, options?: RunCommandOptions): Promise<CommandResult>;
208
+ getUrl(options: {
209
+ port: number;
210
+ protocol?: 'http' | 'https';
211
+ }): Promise<string>;
212
+ getInfo(): Promise<SandboxInfo>;
213
+ setTimeout(timeoutMs: number): Promise<void>;
214
+ destroy(): Promise<void>;
215
+ }
216
+ export {};
136
217
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/adapters/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvM,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAqC,KAAK,cAAc,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxI,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAsC,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAe,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK1G;;0CAE0C;AAC1C,qBAAa,QAAS,YAAW,EAAE;IACjC,OAAO,CAAC,CAAC,CAA+B;IACxC,OAAO,CAAC,SAAS,CAAc;IAE/B;+EAC2E;IAC3E,OAAO,CAAC,KAAK;IAMP,GAAG,CAAC,GAAG,EAAE,MAAM;IAMf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;IAYxF,GAAG,CAAC,GAAG,EAAE,MAAM;IACf,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAStF,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAKxC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAW7C,IAAI,CAAC,GAAG,EAAE,MAAM;CAQvB;AAED;wEACwE;AACxE,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC,kFAAkF;AAClF,qBAAa,SAAU,YAAW,QAAQ;IACxC,OAAO,CAAC,IAAI,CAAmD;IAC/D,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,CAAM;IAEhC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IAO3C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI;IAUlE;8DAC0D;IAC1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAGtC;AAED;wFACwF;AACxF,qBAAa,WAAY,YAAW,KAAK;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAM;IAChD;6DACyD;IACzD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoF;IACzG,4EAA4E;IAC5E,QAAQ,SAAK;IAEP,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc;IAgBhD,+CAA+C;IAC/C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAItC,mDAAmD;IACnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM;IASlB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAU9C,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC;IAQ5B,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAUtE;AAED,iFAAiF;AACjF,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO;;eAEQ,MAAM;sBACC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;oBASpB,MAAM,SAAS,cAAc;oBAQ7B,MAAM;sBAQJ,MAAM,QAAQ,cAAc,MAAM,cAAc;QAMpE,oDAAoD;;sBAEhC,MAAM,MAAM,gBAAgB;MAUhD;IAEF,QAAQ;;kBAEU,MAAM,KAAK,UAAU;gBAUvB,MAAM,SAAS;YAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE;sBAKpC,MAAM,aAAa,MAAM;MAM7C;IAEF,MAAM;;kBAEY,MAAM,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;gBAYjD,MAAM,MAAK,iBAAiB;qBAQvB,MAAM,YAAY,MAAM;kBAI3B,MAAM,QAAQ,MAAM;sBAKhB,MAAM,QAAQ,MAAM;qBAIrB,MAAM,EAAE,QAAQ;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,OAAO,CAAA;SAAE;MActE;IAEF,KAAK;kBACa,CAAC,QAAQ,GAAG;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE;kBACnC,MAAM,KAAK,QAAQ;iBACpB,MAAM,WAAU,WAAW,GAAQ,OAAO,CAAC,WAAW,CAAC;MAOtE;CAIH;AAUD;;;+BAG+B;AAC/B,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAgC;IAE/C,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;IAKP,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM;IAQtD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE;IAc7C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC;IAyB9F,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;;;;IAMhD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAUvD,MAAM,CAAC,QAAQ,EAAE,MAAM;IAK7B,OAAO,CAAC,IAAI;IAIZ;2CACuC;IACvC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;wDACwD;AACxD,qBAAa,YAAa,YAAW,MAAM;IAIvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAM;gBAErD,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EACtH,IAAI,SAAkB;IAIlB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAK1E;AAED;6DAC6D;AAC7D,qBAAa,aAAc,YAAW,OAAO;IAIzC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;gBAEb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC3E,IAAI,SAAmB;IAInB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CAYtE;AAED;;;gDAGgD;AAChD,qBAAa,aAAc,YAAW,eAAe;IAWjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAVvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAM;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAM;IAClC,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAM;IACxE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAM;IAClG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,CAAC,CAAK;gBAGK,GAAG,CAAC,GAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,aAAA,EAClJ,IAAI,SAAW;IAKX,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlD,8DAA8D;IAC9D,GAAG,CAAC,SAAS,EAAE,MAAM;IAIrB,4CAA4C;IAC5C,IAAI,IAAI,MAAM,EAAE;IAIhB,gBAAgB;IACV,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAO/F,gBAAgB;IAChB,KAAK,CAAC,SAAS,EAAE,MAAM;IAIvB,gBAAgB;IAChB,MAAM,CAAC,SAAS,EAAE,MAAM;CAGzB;AAED,cAAM,SAAU,YAAW,OAAO;IAQ9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAR5B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,KAAK,2CAAiC;IAC/C,QAAQ,CAAC,IAAI,cAA8B;IAC3C,QAAQ,CAAC,SAAS,OAAc;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC;gBAGE,KAAK,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM;IAK5B,IAAI,QAAQ,WAEX;IAED,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9E,MAAM,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAK/E,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IAY/B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}