@fabric-harness/sdk 0.9.0 → 1.0.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 (65) hide show
  1. package/dist/agent-definition.js +2 -2
  2. package/dist/agent-definition.js.map +1 -1
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +7 -2
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cloudflare-source.d.ts +2 -1
  7. package/dist/cloudflare-source.d.ts.map +1 -1
  8. package/dist/cloudflare-source.js +2 -1
  9. package/dist/cloudflare-source.js.map +1 -1
  10. package/dist/experimental.d.ts +14 -0
  11. package/dist/experimental.d.ts.map +1 -0
  12. package/dist/experimental.js +14 -0
  13. package/dist/experimental.js.map +1 -0
  14. package/dist/filesystem-source.d.ts +2 -1
  15. package/dist/filesystem-source.d.ts.map +1 -1
  16. package/dist/filesystem-source.js +2 -1
  17. package/dist/filesystem-source.js.map +1 -1
  18. package/dist/history.d.ts +17 -0
  19. package/dist/history.d.ts.map +1 -1
  20. package/dist/history.js +35 -0
  21. package/dist/history.js.map +1 -1
  22. package/dist/index.d.ts +6 -9
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +10 -6
  25. package/dist/index.js.map +1 -1
  26. package/dist/logger.d.ts +35 -0
  27. package/dist/logger.d.ts.map +1 -0
  28. package/dist/logger.js +71 -0
  29. package/dist/logger.js.map +1 -0
  30. package/dist/otel.d.ts +8 -1
  31. package/dist/otel.d.ts.map +1 -1
  32. package/dist/otel.js +48 -6
  33. package/dist/otel.js.map +1 -1
  34. package/dist/policied-sandbox.d.ts +24 -0
  35. package/dist/policied-sandbox.d.ts.map +1 -0
  36. package/dist/policied-sandbox.js +127 -0
  37. package/dist/policied-sandbox.js.map +1 -0
  38. package/dist/sandbox-ref.d.ts +56 -1
  39. package/dist/sandbox-ref.d.ts.map +1 -1
  40. package/dist/sandbox-ref.js +71 -0
  41. package/dist/sandbox-ref.js.map +1 -1
  42. package/dist/sandbox.d.ts +25 -0
  43. package/dist/sandbox.d.ts.map +1 -1
  44. package/dist/sandbox.js +3 -0
  45. package/dist/sandbox.js.map +1 -1
  46. package/dist/session.d.ts +17 -5
  47. package/dist/session.d.ts.map +1 -1
  48. package/dist/session.js +60 -16
  49. package/dist/session.js.map +1 -1
  50. package/dist/strict.d.ts +5 -2
  51. package/dist/strict.d.ts.map +1 -1
  52. package/dist/strict.js +3 -1
  53. package/dist/strict.js.map +1 -1
  54. package/dist/telemetry.d.ts +6 -0
  55. package/dist/telemetry.d.ts.map +1 -1
  56. package/dist/telemetry.js +9 -2
  57. package/dist/telemetry.js.map +1 -1
  58. package/dist/testing.d.ts +11 -0
  59. package/dist/testing.d.ts.map +1 -0
  60. package/dist/testing.js +11 -0
  61. package/dist/testing.js.map +1 -0
  62. package/dist/types.d.ts +32 -0
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/types.js.map +1 -1
  65. package/package.json +10 -2
package/dist/otel.d.ts CHANGED
@@ -4,6 +4,13 @@ export interface OpenTelemetryExporterOptions {
4
4
  tracer: Tracer;
5
5
  /** Add attributes to every emitted span. */
6
6
  attributes?: Record<string, string | number | boolean>;
7
+ /**
8
+ * Naming/attribute convention. Defaults to `'fabric'` (Fabric-native span
9
+ * names like `fabric.tool_end`). Set to `'foundry'` to emit `gen_ai.*`
10
+ * span names and attributes that match Azure AI Foundry / OpenTelemetry
11
+ * Generative AI semantic conventions for end-to-end correlation.
12
+ */
13
+ conventions?: 'fabric' | 'foundry';
7
14
  }
8
15
  /**
9
16
  * Bridge Fabric's SDK-neutral TelemetrySpan into a real @opentelemetry/api Tracer.
@@ -13,5 +20,5 @@ export interface OpenTelemetryExporterOptions {
13
20
  * pass the tracer here.
14
21
  */
15
22
  export declare function openTelemetryExporter(options: OpenTelemetryExporterOptions): TelemetryExporter;
16
- export declare function emitOpenTelemetrySpan(tracer: Tracer, span: TelemetrySpan, attributes?: Record<string, string | number | boolean>): Span;
23
+ export declare function emitOpenTelemetrySpan(tracer: Tracer, span: TelemetrySpan, attributes?: Record<string, string | number | boolean>, conventions?: 'fabric' | 'foundry'): Span;
17
24
  //# sourceMappingURL=otel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQvE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACxD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,CAM9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,GAAG,IAAI,CAQ3I"}
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQvE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACvD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,iBAAiB,CAM9F;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,aAAa,EACnB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,EAC1D,WAAW,GAAE,QAAQ,GAAG,SAAoB,GAC3C,IAAI,CAaN"}
package/dist/otel.js CHANGED
@@ -13,17 +13,59 @@ const SPAN_STATUS_OK = 1;
13
13
  export function openTelemetryExporter(options) {
14
14
  return {
15
15
  export(span) {
16
- emitOpenTelemetrySpan(options.tracer, span, options.attributes);
16
+ emitOpenTelemetrySpan(options.tracer, span, options.attributes, options.conventions);
17
17
  },
18
18
  };
19
19
  }
20
- export function emitOpenTelemetrySpan(tracer, span, attributes = {}) {
21
- const otelSpan = tracer.startSpan(span.name, {
22
- startTime: new Date(span.startedAt),
23
- attributes: { ...attributes, ...span.attributes, 'fabric.duration_ms': span.durationMs },
20
+ export function emitOpenTelemetrySpan(tracer, span, attributes = {}, conventions = 'fabric') {
21
+ const renamed = conventions === 'foundry' ? renameSpanForFoundry(span) : span;
22
+ const otelSpan = tracer.startSpan(renamed.name, {
23
+ startTime: new Date(renamed.startedAt),
24
+ attributes: {
25
+ ...attributes,
26
+ ...renamed.attributes,
27
+ ...(conventions === 'foundry' ? { 'gen_ai.duration_ms': renamed.durationMs } : { 'fabric.duration_ms': renamed.durationMs }),
28
+ },
24
29
  });
25
30
  otelSpan.setStatus({ code: SPAN_STATUS_OK });
26
- otelSpan.end(new Date(span.endedAt));
31
+ otelSpan.end(new Date(renamed.endedAt));
27
32
  return otelSpan;
28
33
  }
34
+ /**
35
+ * Map Fabric's `fabric.*` span names + attributes to Azure AI Foundry's
36
+ * `gen_ai.*` Generative AI semantic conventions. End-to-end traces
37
+ * collected by Foundry / OpenTelemetry collectors that follow the
38
+ * `gen_ai.*` conventions correlate without per-tenant schema mapping.
39
+ */
40
+ function renameSpanForFoundry(span) {
41
+ const nameMap = {
42
+ 'fabric.prompt_end': 'gen_ai.agent.run',
43
+ 'fabric.prompt_start': 'gen_ai.agent.run',
44
+ 'fabric.tool_end': 'gen_ai.agent.tool',
45
+ 'fabric.tool_start': 'gen_ai.agent.tool',
46
+ 'fabric.command_end': 'gen_ai.agent.shell',
47
+ 'fabric.command_start': 'gen_ai.agent.shell',
48
+ 'fabric.task_end': 'gen_ai.agent.task',
49
+ 'fabric.task_start': 'gen_ai.agent.task',
50
+ 'fabric.compaction': 'gen_ai.agent.compact',
51
+ 'fabric.checkpoint_created': 'gen_ai.agent.checkpoint',
52
+ 'fabric.mount': 'gen_ai.agent.mount',
53
+ 'fabric.approval_requested': 'gen_ai.agent.approval',
54
+ 'fabric.approval_granted': 'gen_ai.agent.approval',
55
+ 'fabric.approval_denied': 'gen_ai.agent.approval',
56
+ };
57
+ const attrMap = {
58
+ 'fabric.session_id': 'gen_ai.session.id',
59
+ 'fabric.tool': 'gen_ai.tool.name',
60
+ 'fabric.command': 'gen_ai.shell.command',
61
+ 'fabric.event_type': 'gen_ai.event_type',
62
+ 'fabric.event_id': 'gen_ai.event.id',
63
+ };
64
+ const newName = nameMap[span.name] ?? span.name;
65
+ const newAttrs = {};
66
+ for (const [key, value] of Object.entries(span.attributes)) {
67
+ newAttrs[attrMap[key] ?? key] = value;
68
+ }
69
+ return { ...span, name: newName, attributes: newAttrs };
70
+ }
29
71
  //# sourceMappingURL=otel.js.map
package/dist/otel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAGA,0EAA0E;AAC1E,0EAA0E;AAC1E,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,cAAc,GAAG,CAAU,CAAC;AAQlC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAqC;IACzE,OAAO;QACL,MAAM,CAAC,IAAI;YACT,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc,EAAE,IAAmB,EAAE,aAAwD,EAAE;IACnI,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3C,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,UAAU,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,UAAU,EAAE;KACzF,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAGA,0EAA0E;AAC1E,0EAA0E;AAC1E,yEAAyE;AACzE,8EAA8E;AAC9E,MAAM,cAAc,GAAG,CAAU,CAAC;AAelC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAqC;IACzE,OAAO;QACL,MAAM,CAAC,IAAI;YACT,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACvF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAc,EACd,IAAmB,EACnB,aAAwD,EAAE,EAC1D,cAAoC,QAAQ;IAE5C,MAAM,OAAO,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE;QAC9C,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACtC,UAAU,EAAE;YACV,GAAG,UAAU;YACb,GAAG,OAAO,CAAC,UAAU;YACrB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;SAC7H;KACF,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,MAAM,OAAO,GAA2B;QACtC,mBAAmB,EAAE,kBAAkB;QACvC,qBAAqB,EAAE,kBAAkB;QACzC,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,mBAAmB;QACxC,oBAAoB,EAAE,oBAAoB;QAC1C,sBAAsB,EAAE,oBAAoB;QAC5C,iBAAiB,EAAE,mBAAmB;QACtC,mBAAmB,EAAE,mBAAmB;QACxC,mBAAmB,EAAE,sBAAsB;QAC3C,2BAA2B,EAAE,yBAAyB;QACtD,cAAc,EAAE,oBAAoB;QACpC,2BAA2B,EAAE,uBAAuB;QACpD,yBAAyB,EAAE,uBAAuB;QAClD,wBAAwB,EAAE,uBAAuB;KAClD,CAAC;IACF,MAAM,OAAO,GAA2B;QACtC,mBAAmB,EAAE,mBAAmB;QACxC,aAAa,EAAE,kBAAkB;QACjC,gBAAgB,EAAE,sBAAsB;QACxC,mBAAmB,EAAE,mBAAmB;QACxC,iBAAiB,EAAE,iBAAiB;KACrC,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IAChD,MAAM,QAAQ,GAA8C,EAAE,CAAC;IAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { CapabilityPolicy } from './policy.js';
2
+ import type { SandboxEnv } from './sandbox.js';
3
+ /**
4
+ * Wrap a `SandboxEnv` with `CapabilityPolicy` enforcement at the sandbox layer.
5
+ *
6
+ * Without this decorator, agent code that calls `(await session.sandbox).exec(...)`
7
+ * directly bypasses the policy that `session.shell()` and tool dispatch enforce.
8
+ * `policiedSandboxEnv()` closes that gap by re-running the same policy
9
+ * evaluation against `exec` / `readFile` / `writeFile` / `mkdir` / `rm` / etc.
10
+ *
11
+ * Throws `FabricError`:
12
+ * - `COMMAND_DENIED` when an exec is denied or requires approval.
13
+ * - `POLICY_DENIED` when a filesystem op is denied or requires approval.
14
+ *
15
+ * The decorator does NOT auto-resolve `requireApproval` patterns — the
16
+ * sandbox layer has no session context to gate approvals against. Callers
17
+ * who want approval gating should go through `session.shell()` /
18
+ * `session.prompt()` with tool calls, where the full approval machinery
19
+ * (callbacks, store-backed waiting, escalation) is wired up.
20
+ *
21
+ * Pass-through: `snapshot`, `restore`, `fork`, `suspend`, `resume`, `cleanup`.
22
+ */
23
+ export declare function policiedSandboxEnv(inner: SandboxEnv, policy: CapabilityPolicy | undefined): SandboxEnv;
24
+ //# sourceMappingURL=policied-sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policied-sandbox.d.ts","sourceRoot":"","sources":["../src/policied-sandbox.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAGV,UAAU,EAGX,MAAM,cAAc,CAAC;AAGtB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAGtG"}
@@ -0,0 +1,127 @@
1
+ import { FabricError } from './error.js';
2
+ import { evaluateCommandPolicy, evaluateToolCallPolicy, } from './policy.js';
3
+ /**
4
+ * Wrap a `SandboxEnv` with `CapabilityPolicy` enforcement at the sandbox layer.
5
+ *
6
+ * Without this decorator, agent code that calls `(await session.sandbox).exec(...)`
7
+ * directly bypasses the policy that `session.shell()` and tool dispatch enforce.
8
+ * `policiedSandboxEnv()` closes that gap by re-running the same policy
9
+ * evaluation against `exec` / `readFile` / `writeFile` / `mkdir` / `rm` / etc.
10
+ *
11
+ * Throws `FabricError`:
12
+ * - `COMMAND_DENIED` when an exec is denied or requires approval.
13
+ * - `POLICY_DENIED` when a filesystem op is denied or requires approval.
14
+ *
15
+ * The decorator does NOT auto-resolve `requireApproval` patterns — the
16
+ * sandbox layer has no session context to gate approvals against. Callers
17
+ * who want approval gating should go through `session.shell()` /
18
+ * `session.prompt()` with tool calls, where the full approval machinery
19
+ * (callbacks, store-backed waiting, escalation) is wired up.
20
+ *
21
+ * Pass-through: `snapshot`, `restore`, `fork`, `suspend`, `resume`, `cleanup`.
22
+ */
23
+ export function policiedSandboxEnv(inner, policy) {
24
+ if (!policy)
25
+ return inner;
26
+ return new PoliciedSandboxEnv(inner, policy);
27
+ }
28
+ class PoliciedSandboxEnv {
29
+ inner;
30
+ policy;
31
+ cwd;
32
+ capabilities;
33
+ constructor(inner, policy) {
34
+ this.inner = inner;
35
+ this.policy = policy;
36
+ this.cwd = inner.cwd;
37
+ if (inner.capabilities)
38
+ this.capabilities = inner.capabilities;
39
+ }
40
+ resolvePath(filePath) { return this.inner.resolvePath(filePath); }
41
+ async exec(command, options) {
42
+ const decision = evaluateCommandPolicy(command, this.policy);
43
+ // Only enforce hard denials at this layer. `requireApproval` patterns
44
+ // are tool/command-layer concerns — `session.shell()` and tool dispatch
45
+ // gate them through the full approval machinery (callbacks, store-backed
46
+ // waits, escalation). At the sandbox layer we can't tell the difference
47
+ // between "approved by an upstream tool call" and "raw bypass", so we
48
+ // pass them through. Block only on deny.
49
+ if (!decision.allowed && !decision.approvalRequired) {
50
+ throw new FabricError({
51
+ code: 'COMMAND_DENIED',
52
+ message: decision.reason ?? `Command denied by policy: ${command}`,
53
+ details: {
54
+ command,
55
+ ...(decision.matchedPattern ? { matchedPattern: decision.matchedPattern } : {}),
56
+ },
57
+ });
58
+ }
59
+ return this.inner.exec(command, options);
60
+ }
61
+ readFile(path) { return this.gateRead(path, () => this.inner.readFile(path)); }
62
+ readFileBuffer(path) { return this.gateRead(path, () => this.inner.readFileBuffer(path)); }
63
+ stat(path) { return this.gateRead(path, () => this.inner.stat(path)); }
64
+ readdir(path) { return this.gateRead(path, () => this.inner.readdir(path)); }
65
+ exists(path) { return this.gateRead(path, () => this.inner.exists(path)); }
66
+ writeFile(path, content) { return this.gateWrite(path, () => this.inner.writeFile(path, content)); }
67
+ mkdir(path, options) { return this.gateWrite(path, () => this.inner.mkdir(path, options)); }
68
+ rm(path, options) { return this.gateWrite(path, () => this.inner.rm(path, options)); }
69
+ async snapshot() {
70
+ if (!this.inner.snapshot)
71
+ throw new Error('Sandbox does not support snapshot.');
72
+ return this.inner.snapshot();
73
+ }
74
+ async restore(snapshot) {
75
+ if (!this.inner.restore)
76
+ throw new Error('Sandbox does not support restore.');
77
+ await this.inner.restore(snapshot);
78
+ }
79
+ async fork(snapshot) {
80
+ if (!this.inner.fork)
81
+ throw new Error('Sandbox does not support fork.');
82
+ // Wrap the forked env with the same policy so branches inherit enforcement.
83
+ return policiedSandboxEnv(await this.inner.fork(snapshot), this.policy);
84
+ }
85
+ async suspend() {
86
+ if (!this.inner.suspend)
87
+ throw new Error('Sandbox does not support suspend.');
88
+ await this.inner.suspend();
89
+ }
90
+ async resume() {
91
+ if (!this.inner.resume)
92
+ throw new Error('Sandbox does not support resume.');
93
+ await this.inner.resume();
94
+ }
95
+ cleanup() { return this.inner.cleanup(); }
96
+ async gateRead(path, op) {
97
+ const decision = evaluateToolCallPolicy({ tool: 'read', input: { path } }, this.policy);
98
+ this.throwIfHardDenied(decision.allowed, decision.approvalRequired, decision.reason, path, 'read', decision.matchedPattern);
99
+ return op();
100
+ }
101
+ async gateWrite(path, op) {
102
+ const decision = evaluateToolCallPolicy({ tool: 'write', input: { path } }, this.policy);
103
+ this.throwIfHardDenied(decision.allowed, decision.approvalRequired, decision.reason, path, 'write', decision.matchedPattern);
104
+ return op();
105
+ }
106
+ /**
107
+ * Hard-deny only. `requireApproval` patterns pass through at the sandbox
108
+ * layer because they're a tool/command-layer concept — see the comment on
109
+ * `exec()` above.
110
+ */
111
+ throwIfHardDenied(allowed, approvalRequired, reason, path, kind, matchedPattern) {
112
+ if (allowed)
113
+ return;
114
+ if (approvalRequired)
115
+ return;
116
+ throw new FabricError({
117
+ code: 'POLICY_DENIED',
118
+ message: reason ?? `${kind === 'read' ? 'Read' : 'Write'} denied by policy: ${path}`,
119
+ details: {
120
+ path,
121
+ kind,
122
+ ...(matchedPattern ? { matchedPattern } : {}),
123
+ },
124
+ });
125
+ }
126
+ }
127
+ //# sourceMappingURL=policied-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policied-sandbox.js","sourceRoot":"","sources":["../src/policied-sandbox.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,49 @@ export interface SandboxRef {
9
9
  /** Free-form provider-specific routing data (used by cross-process refs in future). */
10
10
  metadata?: Record<string, unknown>;
11
11
  }
12
+ /**
13
+ * Cross-process / cross-machine sandbox reference. Created by
14
+ * `session.sandboxRef({ portable: true })` and re-attached via
15
+ * `attachSandbox(serialized)` in a separate process. Each `provider` string
16
+ * maps to a decoder registered via `registerSandboxRefDecoder()`.
17
+ */
18
+ export interface SerializedSandboxRef {
19
+ /** Provider identifier — must match a registered decoder. */
20
+ provider: string;
21
+ /** Provider-specific routing data (sandbox/workspace/pod ID, region, etc.). */
22
+ providerData: unknown;
23
+ /** Sandbox cwd at encode time. */
24
+ cwd: string;
25
+ /** Capabilities snapshot at encode time. */
26
+ capabilities?: SandboxCapabilities;
27
+ /** Owner session id, for audit trails. */
28
+ ownerSessionId?: string;
29
+ /** ISO timestamp of encoding. */
30
+ encodedAt: string;
31
+ }
32
+ /**
33
+ * Decoder for a `SerializedSandboxRef.provider`. Returns a SandboxFactory
34
+ * that, when invoked, produces a SandboxEnv connected to the existing
35
+ * remote sandbox identified by `providerData`.
36
+ *
37
+ * Decoders SHOULD attach without owning the remote sandbox's lifecycle —
38
+ * the returned env's `cleanup()` should detach, not destroy.
39
+ */
40
+ export type SandboxRefDecoder = (providerData: unknown, context: {
41
+ cwd: string;
42
+ capabilities?: SandboxCapabilities;
43
+ }) => SandboxFactory;
44
+ /**
45
+ * Register a decoder for `provider` so `attachSandbox(serialized)` can
46
+ * rehydrate a sandbox from another process. Typically called once at
47
+ * startup by the package that owns the provider integration (e.g.
48
+ * `@fabric-harness/connectors/e2b` registers the `e2b` provider).
49
+ */
50
+ export declare function registerSandboxRefDecoder(provider: string, decoder: SandboxRefDecoder): void;
51
+ /** Test/internal: remove a decoder. */
52
+ export declare function unregisterSandboxRefDecoder(provider: string): void;
53
+ /** Returns the list of currently registered providers. */
54
+ export declare function listSandboxRefDecoders(): string[];
12
55
  /**
13
56
  * Register a sandbox in the in-process registry and return a portable ref.
14
57
  * Subsequent calls for the same env return the same ref.
@@ -26,8 +69,20 @@ export declare function unregisterSandbox(refId: string): void;
26
69
  * delegating to the registered sandbox without owning its lifecycle. Calling
27
70
  * `cleanup()` on the attached env unregisters this attachment but does NOT
28
71
  * tear down the underlying sandbox.
72
+ *
73
+ * Pass an in-process `SandboxRef` to attach within the same process, or a
74
+ * `SerializedSandboxRef` (from `session.sandboxRef({ portable: true })`) to
75
+ * rehydrate a sandbox handed off from another process. Cross-process refs
76
+ * require a decoder registered for `serialized.provider` via
77
+ * `registerSandboxRefDecoder()`.
78
+ */
79
+ export declare function attachSandbox(ref: SandboxRef | SerializedSandboxRef): SandboxFactory;
80
+ /**
81
+ * Serialize an in-process `SandboxRef` into the cross-process form.
82
+ * Requires the underlying sandbox to implement `encodeRef()`. Throws
83
+ * `SANDBOX_UNAVAILABLE` if the backend is in-process-only.
29
84
  */
30
- export declare function attachSandbox(ref: SandboxRef): SandboxFactory;
85
+ export declare function serializeSandboxRef(ref: SandboxRef, ownerSessionId?: string): SerializedSandboxRef;
31
86
  /** Test-only: clear the registry. */
32
87
  export declare function _resetSandboxRegistry(): void;
33
88
  //# sourceMappingURL=sandbox-ref.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-ref.d.ts","sourceRoot":"","sources":["../src/sandbox-ref.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EACnB,UAAU,EAEV,cAAc,EAGf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,4EAA4E;IAC5E,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAYD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,UAAU,CAgBtG;AAoBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,cAAc,CAI7D;AAuED,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C"}
1
+ {"version":3,"file":"sandbox-ref.d.ts","sourceRoot":"","sources":["../src/sandbox-ref.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,mBAAmB,EACnB,UAAU,EAEV,cAAc,EAGf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,4EAA4E;IAC5E,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;CAAE,KACzD,cAAc,CAAC;AAIpB;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAE5F;AAED,uCAAuC;AACvC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAElE;AAED,0DAA0D;AAC1D,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAYD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,UAAU,CAgBtG;AAoBD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,oBAAoB,GAAG,cAAc,CAkBpF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAyBlG;AAuED,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C"}
@@ -1,5 +1,23 @@
1
1
  import path from 'node:path';
2
2
  import { FabricError } from './error.js';
3
+ const decoders = new Map();
4
+ /**
5
+ * Register a decoder for `provider` so `attachSandbox(serialized)` can
6
+ * rehydrate a sandbox from another process. Typically called once at
7
+ * startup by the package that owns the provider integration (e.g.
8
+ * `@fabric-harness/connectors/e2b` registers the `e2b` provider).
9
+ */
10
+ export function registerSandboxRefDecoder(provider, decoder) {
11
+ decoders.set(provider, decoder);
12
+ }
13
+ /** Test/internal: remove a decoder. */
14
+ export function unregisterSandboxRefDecoder(provider) {
15
+ decoders.delete(provider);
16
+ }
17
+ /** Returns the list of currently registered providers. */
18
+ export function listSandboxRefDecoders() {
19
+ return [...decoders.keys()];
20
+ }
3
21
  const registry = new Map();
4
22
  let nextRefId = 0;
5
23
  /**
@@ -58,12 +76,65 @@ export function unregisterSandbox(refId) {
58
76
  * delegating to the registered sandbox without owning its lifecycle. Calling
59
77
  * `cleanup()` on the attached env unregisters this attachment but does NOT
60
78
  * tear down the underlying sandbox.
79
+ *
80
+ * Pass an in-process `SandboxRef` to attach within the same process, or a
81
+ * `SerializedSandboxRef` (from `session.sandboxRef({ portable: true })`) to
82
+ * rehydrate a sandbox handed off from another process. Cross-process refs
83
+ * require a decoder registered for `serialized.provider` via
84
+ * `registerSandboxRefDecoder()`.
61
85
  */
62
86
  export function attachSandbox(ref) {
87
+ if ('provider' in ref) {
88
+ const serialized = ref;
89
+ const decoder = decoders.get(serialized.provider);
90
+ if (!decoder) {
91
+ throw new FabricError({
92
+ code: 'SANDBOX_UNAVAILABLE',
93
+ message: `No sandbox ref decoder registered for provider '${serialized.provider}'. Register one with registerSandboxRefDecoder('${serialized.provider}', ...) before calling attachSandbox().`,
94
+ });
95
+ }
96
+ return decoder(serialized.providerData, {
97
+ cwd: serialized.cwd,
98
+ ...(serialized.capabilities ? { capabilities: serialized.capabilities } : {}),
99
+ });
100
+ }
63
101
  return (_options = {}) => {
64
102
  return new AttachedSandboxEnv(ref);
65
103
  };
66
104
  }
105
+ /**
106
+ * Serialize an in-process `SandboxRef` into the cross-process form.
107
+ * Requires the underlying sandbox to implement `encodeRef()`. Throws
108
+ * `SANDBOX_UNAVAILABLE` if the backend is in-process-only.
109
+ */
110
+ export function serializeSandboxRef(ref, ownerSessionId) {
111
+ const entry = lookupAlive(ref.id);
112
+ if (!entry.env.encodeRef) {
113
+ throw new FabricError({
114
+ code: 'SANDBOX_UNAVAILABLE',
115
+ message: `Sandbox backend does not implement encodeRef(); ref ${ref.id} cannot be serialized for cross-process attach.`,
116
+ });
117
+ }
118
+ const encoded = entry.env.encodeRef();
119
+ if (!encoded) {
120
+ throw new FabricError({
121
+ code: 'SANDBOX_UNAVAILABLE',
122
+ message: `Sandbox backend's encodeRef() returned undefined; ref ${ref.id} is not portable in its current state.`,
123
+ });
124
+ }
125
+ const serialized = {
126
+ provider: encoded.provider,
127
+ providerData: encoded.providerData,
128
+ cwd: ref.cwd,
129
+ encodedAt: new Date().toISOString(),
130
+ };
131
+ if (ref.capabilities)
132
+ serialized.capabilities = ref.capabilities;
133
+ const owner = ownerSessionId ?? entry.ownerSessionId;
134
+ if (owner)
135
+ serialized.ownerSessionId = owner;
136
+ return serialized;
137
+ }
67
138
  class AttachedSandboxEnv {
68
139
  ref;
69
140
  cwd;
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-ref.js","sourceRoot":"","sources":["../src/sandbox-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-ref.js","sourceRoot":"","sources":["../src/sandbox-ref.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.d.ts CHANGED
@@ -74,6 +74,20 @@ export interface SandboxEnv {
74
74
  suspend?(): Promise<void>;
75
75
  /** Resume a suspended sandbox. Idempotent when already running. */
76
76
  resume?(): Promise<void>;
77
+ /**
78
+ * Optional. Return provider-specific routing data so this sandbox can be
79
+ * re-attached from a different process. Backends that can be reached only
80
+ * by ID (E2B, Daytona, Modal call IDs, Kubernetes pod refs) implement this;
81
+ * in-process backends (Local) typically omit it, since refs are scoped to
82
+ * one process.
83
+ *
84
+ * The returned `provider` string must match a decoder registered via
85
+ * `registerSandboxRefDecoder()` for the ref to be re-attachable.
86
+ */
87
+ encodeRef?(): {
88
+ provider: string;
89
+ providerData: unknown;
90
+ } | undefined;
77
91
  cleanup(): Promise<void>;
78
92
  }
79
93
  export interface SandboxFactoryOptions {
@@ -135,6 +149,17 @@ export interface RemoteSandboxOptions {
135
149
  };
136
150
  pathStyle?: 'posix';
137
151
  capabilities?: SandboxCapabilities;
152
+ /**
153
+ * Optional encoder for cross-process refs. When set, the resulting
154
+ * SandboxEnv exposes `encodeRef()` returning the supplied provider data,
155
+ * allowing `session.sandboxRef({ portable: true })` to round-trip the
156
+ * sandbox through `attachSandbox(serialized)` in another process.
157
+ * The matching decoder must be registered via `registerSandboxRefDecoder`.
158
+ */
159
+ encodeRef?: () => {
160
+ provider: string;
161
+ providerData: unknown;
162
+ };
138
163
  }
139
164
  /**
140
165
  * Wrap a provider-owned remote sandbox client in Fabric's SandboxEnv contract.
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.js CHANGED
@@ -135,6 +135,9 @@ class RemoteSandboxEnv {
135
135
  throw new Error('Remote sandbox does not support resume.');
136
136
  await this.api.resume();
137
137
  }
138
+ encodeRef() {
139
+ return this.options.encodeRef ? this.options.encodeRef() : undefined;
140
+ }
138
141
  async cleanup() {
139
142
  const cleanup = this.options.cleanup;
140
143
  if (!cleanup)