agentenkit 0.4.0 → 0.6.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 (126) 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/mcp.d.ts +71 -0
  27. package/dist/adapters/mcp.d.ts.map +1 -0
  28. package/dist/adapters/mcp.js +344 -0
  29. package/dist/adapters/mcp.js.map +1 -0
  30. package/dist/adapters/memory.d.ts +81 -0
  31. package/dist/adapters/memory.d.ts.map +1 -1
  32. package/dist/adapters/memory.js +207 -0
  33. package/dist/adapters/memory.js.map +1 -1
  34. package/dist/adapters/page-reader.d.ts +39 -0
  35. package/dist/adapters/page-reader.d.ts.map +1 -0
  36. package/dist/adapters/page-reader.js +165 -0
  37. package/dist/adapters/page-reader.js.map +1 -0
  38. package/dist/adapters/sandbox-shell.d.ts +60 -0
  39. package/dist/adapters/sandbox-shell.d.ts.map +1 -0
  40. package/dist/adapters/sandbox-shell.js +129 -0
  41. package/dist/adapters/sandbox-shell.js.map +1 -0
  42. package/dist/adapters/sqlite.d.ts +37 -1
  43. package/dist/adapters/sqlite.d.ts.map +1 -1
  44. package/dist/adapters/sqlite.js +106 -7
  45. package/dist/adapters/sqlite.js.map +1 -1
  46. package/dist/adapters/web-search-shared.d.ts +11 -0
  47. package/dist/adapters/web-search-shared.d.ts.map +1 -0
  48. package/dist/adapters/web-search-shared.js +40 -0
  49. package/dist/adapters/web-search-shared.js.map +1 -0
  50. package/dist/core/builtin/definitions.d.ts +12 -0
  51. package/dist/core/builtin/definitions.d.ts.map +1 -0
  52. package/dist/core/builtin/definitions.js +149 -0
  53. package/dist/core/builtin/definitions.js.map +1 -0
  54. package/dist/core/builtin/html.d.ts +13 -0
  55. package/dist/core/builtin/html.d.ts.map +1 -0
  56. package/dist/core/builtin/html.js +96 -0
  57. package/dist/core/builtin/html.js.map +1 -0
  58. package/dist/core/builtin/index.d.ts +21 -0
  59. package/dist/core/builtin/index.d.ts.map +1 -0
  60. package/dist/core/builtin/index.js +55 -0
  61. package/dist/core/builtin/index.js.map +1 -0
  62. package/dist/core/builtin/run.d.ts +37 -0
  63. package/dist/core/builtin/run.d.ts.map +1 -0
  64. package/dist/core/builtin/run.js +56 -0
  65. package/dist/core/builtin/run.js.map +1 -0
  66. package/dist/core/builtin/sandbox-tools.d.ts +69 -0
  67. package/dist/core/builtin/sandbox-tools.d.ts.map +1 -0
  68. package/dist/core/builtin/sandbox-tools.js +389 -0
  69. package/dist/core/builtin/sandbox-tools.js.map +1 -0
  70. package/dist/core/builtin/sandbox.d.ts +52 -0
  71. package/dist/core/builtin/sandbox.d.ts.map +1 -0
  72. package/dist/core/builtin/sandbox.js +174 -0
  73. package/dist/core/builtin/sandbox.js.map +1 -0
  74. package/dist/core/builtin/web.d.ts +54 -0
  75. package/dist/core/builtin/web.d.ts.map +1 -0
  76. package/dist/core/builtin/web.js +167 -0
  77. package/dist/core/builtin/web.js.map +1 -0
  78. package/dist/core/deleteThread.d.ts.map +1 -1
  79. package/dist/core/deleteThread.js +3 -0
  80. package/dist/core/deleteThread.js.map +1 -1
  81. package/dist/core/engine.d.ts.map +1 -1
  82. package/dist/core/engine.js +29 -5
  83. package/dist/core/engine.js.map +1 -1
  84. package/dist/core/permanent.d.ts +11 -0
  85. package/dist/core/permanent.d.ts.map +1 -0
  86. package/dist/core/permanent.js +37 -0
  87. package/dist/core/permanent.js.map +1 -0
  88. package/dist/core/publish.d.ts +4 -1
  89. package/dist/core/publish.d.ts.map +1 -1
  90. package/dist/core/publish.js +4 -1
  91. package/dist/core/publish.js.map +1 -1
  92. package/dist/core/run.d.ts.map +1 -1
  93. package/dist/core/run.js +5 -4
  94. package/dist/core/run.js.map +1 -1
  95. package/dist/core/subagent.d.ts.map +1 -1
  96. package/dist/core/subagent.js +13 -3
  97. package/dist/core/subagent.js.map +1 -1
  98. package/dist/core/tools.d.ts +9 -3
  99. package/dist/core/tools.d.ts.map +1 -1
  100. package/dist/core/tools.js.map +1 -1
  101. package/dist/core/types.d.ts +25 -1
  102. package/dist/core/types.d.ts.map +1 -1
  103. package/dist/core/types.js +14 -1
  104. package/dist/core/types.js.map +1 -1
  105. package/dist/index.d.ts +16 -3
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +13 -1
  108. package/dist/index.js.map +1 -1
  109. package/dist/ports/runtime.d.ts +47 -22
  110. package/dist/ports/runtime.d.ts.map +1 -1
  111. package/dist/ports/sandbox.d.ts +159 -0
  112. package/dist/ports/sandbox.d.ts.map +1 -0
  113. package/dist/ports/sandbox.js +44 -0
  114. package/dist/ports/sandbox.js.map +1 -0
  115. package/dist/ports/tools.d.ts +60 -0
  116. package/dist/ports/tools.d.ts.map +1 -0
  117. package/dist/ports/tools.js +5 -0
  118. package/dist/ports/tools.js.map +1 -0
  119. package/dist/pricing.d.ts +24 -0
  120. package/dist/pricing.d.ts.map +1 -1
  121. package/dist/pricing.js +43 -0
  122. package/dist/pricing.js.map +1 -1
  123. package/dist/runtime.d.ts.map +1 -1
  124. package/dist/runtime.js +18 -10
  125. package/dist/runtime.js.map +1 -1
  126. 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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"}
@@ -0,0 +1,71 @@
1
+ import { type Tool } from 'ai';
2
+ /** The MCP version we ask for. A server may answer with an older one; we
3
+ * only use initialize, tools/list and tools/call, which every version has. */
4
+ export declare const MCP_PROTOCOL_VERSION = "2025-06-18";
5
+ /** How to reach an MCP server: a local command we start and talk to over
6
+ * stdin/stdout, or a URL that speaks MCP over HTTP ("streamable HTTP"). */
7
+ export type MCPTransport = {
8
+ type: 'stdio';
9
+ command: string;
10
+ args?: string[];
11
+ env?: Record<string, string>;
12
+ cwd?: string;
13
+ } | {
14
+ type: 'http';
15
+ url: string;
16
+ headers?: Record<string, string>;
17
+ fetch?: typeof fetch;
18
+ };
19
+ export interface MCPServerOptions {
20
+ /** A short name for the server, like 'github'. It is the default prefix of
21
+ * the tool names, so two servers can both have a `search` tool. */
22
+ name: string;
23
+ transport: MCPTransport;
24
+ /** Put before each tool's name. Default: `${name}_`. Pass '' for none. */
25
+ prefix?: string;
26
+ /** Only these tools (by the server's own names). Default: all of them. */
27
+ tools?: string[];
28
+ /** Park these tools behind an approval before they run (§2.5): true for
29
+ * all, or a list of the server's own tool names. */
30
+ requiresConfirmation?: boolean | string[];
31
+ /** How long one request may take, in ms. Default 60000. */
32
+ timeoutMs?: number;
33
+ }
34
+ export interface MCPConnection {
35
+ readonly name: string;
36
+ /** Ready to spread into an agent's `tools`. */
37
+ readonly tools: Record<string, Tool>;
38
+ /** Stops the server process, or ends the HTTP session. */
39
+ close(): Promise<void>;
40
+ }
41
+ interface MCPContent {
42
+ type: string;
43
+ text?: string;
44
+ mimeType?: string;
45
+ resource?: {
46
+ uri?: string;
47
+ text?: string;
48
+ };
49
+ }
50
+ /** Connects to one MCP server, lists its tools and turns each into an
51
+ * ordinary AI SDK tool that calls the server. Keep the connection for as
52
+ * long as the workers run, and close it on shutdown.
53
+ *
54
+ * ```ts
55
+ * const github = await connectMCP({ name: 'github', transport: { type: 'stdio', command: 'github-mcp-server', args: ['stdio'] } });
56
+ * runtime.createStreamTextAgent({ name: 'dev', tools: { ...github.tools } });
57
+ * ``` */
58
+ export declare function connectMCP(options: MCPServerOptions): Promise<MCPConnection>;
59
+ /** Connects to several servers at once and merges their tools. Two tools
60
+ * with the same final name throw, so one never hides the other. */
61
+ export declare function connectMCPServers(servers: MCPServerOptions[]): Promise<MCPConnection>;
62
+ /** Tool names providers accept: letters, digits, _ and -, at most 64. */
63
+ export declare function mcpToolName(prefix: string, name: string): string;
64
+ /** What the model reads back: the text parts joined, and a short note for
65
+ * anything that is not text. With no content, the structured result. */
66
+ export declare function contentText(res: {
67
+ content?: MCPContent[];
68
+ structuredContent?: unknown;
69
+ }): string;
70
+ export {};
71
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/adapters/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAGjD;+EAC+E;AAC/E,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;4EAC4E;AAC5E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/F;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CAAE,CAAC;AAE1F,MAAM,WAAW,gBAAgB;IAC/B;wEACoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;yDACqD;IACrD,oBAAoB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAC1C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrC,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAMD,UAAU,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AAWnH;;;;;;;SAOS;AACT,wBAAsB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgBlF;AAED;oEACoE;AACpE,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAc3F;AAaD,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAqCD;yEACyE;AACzE,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAShG"}