@blen/fedreg-mcp-server 2.2.1 → 2.2.3

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.
package/CHANGELOG.md CHANGED
@@ -20,6 +20,16 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
20
20
 
21
21
 
22
22
 
23
+
24
+
25
+ ## [2.2.3] - 2026-11-13
26
+
27
+ ### Changed
28
+ - Merge commit from fork
29
+ ## [2.2.2] - 2026-11-10
30
+
31
+ ### Changed
32
+ - rename display name to Federal Regulations MCP (#12)
23
33
  ## [2.2.1] - 2026-10-13
24
34
 
25
35
  ### Fixed
@@ -215,7 +225,9 @@ Initial public release.
215
225
  → notifications/initialized → tools/list → tools/call → sandbox → SDK
216
226
  → mocked upstream).
217
227
 
218
- [Unreleased]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.2.1...HEAD
228
+ [Unreleased]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.2.3...HEAD
229
+ [2.2.3]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.2.2...v2.2.3
230
+ [2.2.2]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.2.1...v2.2.2
219
231
  [2.2.1]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.2.0...v2.2.1
220
232
  [2.2.0]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.1.0...v2.2.0
221
233
  [2.1.0]: https://github.com/blen-labs/fedreg-mcp-server/compare/v2.0.11...v2.1.0
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Federal Register MCP Server
1
+ # Federal Regulations MCP Server
2
2
 
3
3
  [![CI](https://github.com/blen-labs/fedreg-mcp-server/actions/workflows/ci.yml/badge.svg)](https://github.com/blen-labs/fedreg-mcp-server/actions/workflows/ci.yml)
4
4
  [![npm](https://img.shields.io/npm/v/@blen/fedreg-mcp-server.svg)](https://www.npmjs.com/package/@blen/fedreg-mcp-server)
@@ -214,7 +214,7 @@ CLI options: `--http`, `--port`, `--host`, `--sandbox auto|isolate|deno`, `--ins
214
214
 
215
215
  ## Security
216
216
 
217
- User code is sandboxed by design — no network, filesystem, env, or subprocess access, an `acorn` AST preflight, a wall-clock timeout, and — on the `isolated-vm` runner — a heap cap (`memoryMb` is not enforceable on the Deno fallback). The full threat model is in [`SECURITY.md`](./SECURITY.md). Found a sandbox escape or auth bypass? Please open a [private Security Advisory](https://github.com/blen-labs/fedreg-mcp-server/security/advisories/new) rather than a public issue.
217
+ User code is sandboxed by design — no network, filesystem, env, or subprocess access, an `acorn` AST preflight, a host-owned wall-clock timeout, a heap cap, and byte budgets on logs and results. The full threat model is in [`SECURITY.md`](./SECURITY.md). Found a sandbox escape or auth bypass? Please open a [private Security Advisory](https://github.com/blen-labs/fedreg-mcp-server/security/advisories/new) rather than a public issue.
218
218
 
219
219
  ## Contributing
220
220
 
package/SECURITY.md CHANGED
@@ -55,10 +55,12 @@ The `execute` tool runs user-supplied JavaScript with two layered defenses:
55
55
  2. **Runtime isolation** — one of:
56
56
  - `isolated-vm`: a fresh V8 isolate, **no host references** other than
57
57
  a Reference to the RPC dispatcher and a log sink for `console.*`;
58
- heap cap, wall-clock cap.
59
- - `deno run --no-prompt <runner>`: subprocess with **no `--allow-*` flags**,
60
- so no net/fs/env/ffi/subprocess access; wall-clock cap. The runner is a
61
- temporary file so stdin stays free for the host RPC channel.
58
+ heap cap, host-owned wall-clock cap (the isolate is disposed when it fires).
59
+ - `deno run --no-prompt`: subprocess with **no `--allow-*` flags** and a
60
+ minimal environment, so no net/fs/env/ffi/subprocess access. User code
61
+ runs in a Worker with the protocol and ambient globals removed; the host
62
+ validates and size-bounds every frame and kills the process group on
63
+ every exit path, so a frame can never cancel the deadline.
62
64
 
63
65
  Both runners deny network access to user code; the only way to reach
64
66
  upstream APIs is via the `fr.*` / `ecfr.*` / `regs.*` proxies, which serialize
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/accounts/provider.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,eAAO,MAAM,MAAM,UAAoC,CAAC;AAExD,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCA0FqjjB,CAAC;yCAAoD,CAAC;;;;;;;;;yCAAoW,CAAC;yCAAoD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAAgmD,CAAC;;oCAAiF,CAAC;;;0CAAoJ,CAAC;;2CAA4F,CAAC;+CAA4D,CAAC;;;;;qCAAqL,CAAC;gCAA4C,CAAC;;;;qDAAkM,CAAC;gEAA+F,CAAC;qCAAyF,CAAC;oCAAgD,CAAC;6BAA2C,CAAC;0BAAsC,CAAC;mCAA+C,CAAC;0DAAsE,CAAC;qEAAoG,CAAC;sCAA0F,CAAC;6DAAyE,CAAC;wEAAuG,CAAC;;8DAAoK,CAAC;qDAAkE,CAAC;4CAAyD,CAAC;oDAAiE,CAAC;iDAA8D,CAAC;;;;;;;;;;;;;;;;;;;;sCAA2qB,CAAC;uCAAkC,CAAC;qCAAgC,CAAC;;;;;;;;;sCAAoO,CAAC;uCAAkC,CAAC;qCAAgC,CAAC;;;;;;;;;;uCAAoQ,CAAC;qCAAgC,CAAC;;;;;;;;;;sCAAqQ,CAAC;qCAAgC,CAAC;;;;;;;;;;;;sCAA4S,CAAC;uCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+3D,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+hD,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAAk3G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAqpT,CAAC;;;sCAAiF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAupnB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAw/M,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;qCAAgxB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAwyC,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAkkF,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAw5D,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;qCAAuyB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA80B,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;qCAAisB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;qCAAwsB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA63B,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAvBtshF;AACD,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,iBAmBnF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/accounts/provider.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,eAAO,MAAM,MAAM,UAAoC,CAAC;AAExD,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCA0FkjjB,CAAC;yCAAoD,CAAC;;;;;;;;;yCAAoW,CAAC;yCAAoD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAAgmD,CAAC;;oCAAiF,CAAC;;;0CAAoJ,CAAC;;2CAA4F,CAAC;+CAA4D,CAAC;;;;;qCAAqL,CAAC;gCAA4C,CAAC;;;;qDAAkM,CAAC;gEAA+F,CAAC;qCAAyF,CAAC;oCAAgD,CAAC;6BAA2C,CAAC;0BAAsC,CAAC;mCAA+C,CAAC;0DAAsE,CAAC;qEAAoG,CAAC;sCAA0F,CAAC;6DAAyE,CAAC;wEAAuG,CAAC;;8DAAoK,CAAC;qDAAkE,CAAC;4CAAyD,CAAC;oDAAiE,CAAC;iDAA8D,CAAC;;;;;;;;;;;;;;;;;;;;sCAA2qB,CAAC;uCAAkC,CAAC;qCAAgC,CAAC;;;;;;;;;sCAAoO,CAAC;uCAAkC,CAAC;qCAAgC,CAAC;;;;;;;;;;uCAAoQ,CAAC;qCAAgC,CAAC;;;;;;;;;;sCAAqQ,CAAC;qCAAgC,CAAC;;;;;;;;;;;;sCAA4S,CAAC;uCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+3D,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA+hD,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDAAk3G,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAqpT,CAAC;;;sCAAiF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAupnB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAw/M,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;qCAAgxB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAwyC,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAkkF,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAAw5D,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;qCAAuyB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA80B,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;qCAAisB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;qCAAwsB,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAA63B,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA8Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAvBnshF;AACD,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,iBAmBnF"}
@@ -89,7 +89,7 @@ export async function initializeAuth(auth, config, store) {
89
89
  const resource = `${config.origin}${ACCOUNT_MCP_PATH}`;
90
90
  if (!await context.adapter.findOne({ model: 'oauthResource', where: [{ field: 'identifier', value: resource }] })) {
91
91
  await context.adapter.create({ model: 'oauthResource', data: {
92
- identifier: resource, name: 'Federal Register MCP', allowedScopes: SCOPES,
92
+ identifier: resource, name: 'Federal Regulations MCP', allowedScopes: SCOPES,
93
93
  disabled: false, policyVersion: 1, createdAt: new Date(), updatedAt: new Date(),
94
94
  } });
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/accounts/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/accounts/provider.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,35 @@
1
1
  import type { ExecuteOptions, ExecuteResult, RpcBridge, SandboxRunner } from './types.js';
2
+ import { type SandboxLimits } from './limits.js';
2
3
  /**
3
- * Deno fallback sandbox. We launch `deno run --no-prompt <runner>` with NO
4
- * `--allow-*` flags, so Deno's deny-by-default grants no net/fs/env/ffi/subprocess
5
- * access, and bridge RPC over stdin/stdout using a length-prefixed JSON protocol.
4
+ * Deno sandbox.
5
+ *
6
+ * Boundary: Node host (owns the deadline, byte budgets, and the child's lifetime)
7
+ * → `deno run` of a fixed supervisor script with NO --allow-* flags (deny-by-default: no net, fs,
8
+ * env, ffi, subprocess), a minimal environment, and no user code on disk
9
+ * → a module Worker that receives the user code by message. Before user code runs, the worker's
10
+ * ambient globals that could reach the process or the protocol (`Deno`, `postMessage`, `fetch`,
11
+ * `Worker`, ...) are replaced with `undefined` and `console` is redirected to log messages.
12
+ *
13
+ * Protocol: the supervisor talks to the host over stdin/stdout with one JSON frame per line,
14
+ * prefixed by a random token the supervisor generates and announces before the worker exists.
15
+ * The worker never sees the token, so it cannot forge frames; any other stdout bytes are treated
16
+ * as untrusted log text. All child output is untrusted: frames are size-bounded and validated, the
17
+ * execution settles exactly once, and the process group is killed on every exit path. A frame can
18
+ * never cancel the host's deadline or its cleanup.
6
19
  */
7
20
  export declare class DenoRunner implements SandboxRunner {
21
+ private readonly limits;
8
22
  kind: "deno";
23
+ private static supervisorPath?;
24
+ constructor(limits?: SandboxLimits);
9
25
  available(): Promise<boolean>;
26
+ /** The supervisor holds no user data; it is written once per process, readable only by us. */
27
+ private static supervisor;
10
28
  execute(opts: ExecuteOptions, rpc: RpcBridge): Promise<ExecuteResult>;
11
29
  }
12
- export declare function buildDenoRunner(userCode: string, timeoutMs: number, bindings: string[]): string;
30
+ /**
31
+ * Runs in Deno with no permissions. Holds no user data until the start frame arrives over stdin.
32
+ * Binding names come from the host (pre-validated identifiers) and are only used as object keys.
33
+ */
34
+ export declare const SUPERVISOR_SOURCE: string;
13
35
  //# sourceMappingURL=deno.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deno.d.ts","sourceRoot":"","sources":["../../src/sandbox/deno.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1F;;;;GAIG;AACH,qBAAa,UAAW,YAAW,aAAa;IAC9C,IAAI,EAAG,MAAM,CAAU;IAEjB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ7B,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAwF5E;AAWD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAgF/F"}
1
+ {"version":3,"file":"deno.d.ts","sourceRoot":"","sources":["../../src/sandbox/deno.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1F,OAAO,EAAwJ,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvM;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,UAAW,YAAW,aAAa;IAIlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,IAAI,EAAG,MAAM,CAAU;IACvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAS;gBAEV,MAAM,GAAE,aAA8B;IAE7D,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAQnC,8FAA8F;IAC9F,OAAO,CAAC,MAAM,CAAC,UAAU;IAanB,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CA0J5E;AAqBD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAgI7B,CAAC"}