@fabric-harness/sdk 2.4.1 → 2.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.
package/README.md CHANGED
@@ -62,6 +62,8 @@ Runtime (`stateless`, `inline`, or `temporal`) controls persistence and durabili
62
62
  - **`session.prompt / skill / task / shell`** — the four agent operations.
63
63
  - **`session.mount(mountAt, source, { mode })`** — mount a `FilesystemSource` into the sandbox at runtime. Read-only by default; writes under the mount are blocked at the policy layer.
64
64
  - **`session.approval.request({ reason, risk?, timeoutMs? })`** — custom approval gate. Returns `true` on approval; throws `APPROVAL_DENIED` / `APPROVAL_REQUIRED` on denial / timeout.
65
+ - **`ApprovalResponse.grant`** — durable approved responses carry the call/input/principal-bound
66
+ grant; denied responses never do.
65
67
  - **`agent({...})`** — single builder. Same call shape from the bare `@fabric-harness/sdk` import and from `@fabric-harness/sdk/strict`; the import you choose controls whether headless defaults are injected at runtime.
66
68
  - **`defineCommand`** — bind a privileged CLI (`gh`, `npm`, …) with secrets at the command level, never in model context.
67
69
  - **`withFilesystemSources`** / **`session.mount()`** — two ways to mount read-only content into a sandbox; agent's built-in `grep` / `glob` / `read` tools see it as ordinary files.
@@ -71,6 +73,10 @@ Runtime (`stateless`, `inline`, or `temporal`) controls persistence and durabili
71
73
  - **MCP** — `connectMcpServer` for remote tool servers.
72
74
  - **Telemetry** — `openTelemetryExporter`, `langfuseExporter`, `consoleTelemetryExporter` adapt the `TelemetrySpan` shape to OTel / Langfuse / stdout.
73
75
 
76
+ Named OpenAI-compatible presets are available as `deepseek/<model>` (`DEEPSEEK_API_KEY`),
77
+ `moonshot/<model>` or `kimi/<model>` (`MOONSHOT_API_KEY`), and `xai/<model>` (`XAI_API_KEY`). They
78
+ use direct provider endpoints and never silently fall back to a gateway or mock model.
79
+
74
80
  ## Documentation
75
81
 
76
82
  - [Headless agents with the minimal entrypoint](https://harness.fabric.pro/docs/getting-started/headless-mode)
@@ -0,0 +1,26 @@
1
+ import type { ApprovalGrant, ApprovalResponse, ApprovalState, FabricPrincipal, JsonObject } from "./types.js";
2
+ /** Deterministic digest shared by inline and durable approval runtimes. */
3
+ export declare function approvalInputDigest(input: unknown): string;
4
+ export declare function createApprovalGrant(input: {
5
+ approvalId: string;
6
+ toolCallId: string;
7
+ toolInput: unknown;
8
+ principal: FabricPrincipal;
9
+ response: ApprovalResponse;
10
+ createdAt: string;
11
+ ttlSeconds?: number;
12
+ decidedAt?: string;
13
+ }): ApprovalGrant;
14
+ /** Parse persisted provenance without trusting a partial or malformed object. */
15
+ export declare function approvalGrantFromJson(value: unknown): ApprovalGrant | undefined;
16
+ export declare function approvalGrantToJson(grant: ApprovalGrant): JsonObject;
17
+ /** Build the terminal grant after a store reaches approval quorum. */
18
+ export declare function createApprovalGrantForState(state: ApprovalState, response: ApprovalResponse): ApprovalGrant | undefined;
19
+ /** Reconstruct and validate a durable grant before replaying an approved call. */
20
+ export declare function approvalGrantFromState(state: ApprovalState, toolInput: unknown, principal: FabricPrincipal, toolCallId: string): ApprovalGrant | undefined;
21
+ export declare function sameApprovalOperation(grant: ApprovalGrant, input: {
22
+ toolCallId: string;
23
+ toolInput: unknown;
24
+ principal: FabricPrincipal;
25
+ }): boolean;
26
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../src/approval.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,YAAY,CAAC;AAIpB,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI1D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,CAkBhB;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CA0B/E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,CAEpE;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,gBAAgB,GACzB,aAAa,GAAG,SAAS,CAa3B;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,GACjB,aAAa,GAAG,SAAS,CAS3B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,eAAe,CAAA;CAAE,GAC5E,OAAO,CAOT"}
@@ -0,0 +1,138 @@
1
+ import { createHash } from "node:crypto";
2
+ const DIGEST_PREFIX = "sha256-canonical-json-v1:";
3
+ /** Deterministic digest shared by inline and durable approval runtimes. */
4
+ export function approvalInputDigest(input) {
5
+ return `${DIGEST_PREFIX}${createHash("sha256")
6
+ .update(canonicalJson(input ?? null))
7
+ .digest("hex")}`;
8
+ }
9
+ export function createApprovalGrant(input) {
10
+ const decidedAt = input.decidedAt ?? new Date().toISOString();
11
+ const approvers = input.response.approvers?.length
12
+ ? input.response.approvers
13
+ : [{ id: "approval-handler", type: "system" }];
14
+ return {
15
+ approvalId: input.approvalId,
16
+ toolCallId: input.toolCallId,
17
+ inputDigest: approvalInputDigest(input.toolInput),
18
+ executingPrincipal: input.principal,
19
+ approvers,
20
+ decidedAt,
21
+ ...(input.ttlSeconds !== undefined
22
+ ? {
23
+ expiresAt: new Date(Date.parse(decidedAt) + input.ttlSeconds * 1_000).toISOString(),
24
+ }
25
+ : {}),
26
+ };
27
+ }
28
+ /** Parse persisted provenance without trusting a partial or malformed object. */
29
+ export function approvalGrantFromJson(value) {
30
+ if (!isObject(value))
31
+ return undefined;
32
+ if (typeof value.approvalId !== "string" ||
33
+ typeof value.toolCallId !== "string" ||
34
+ typeof value.inputDigest !== "string")
35
+ return undefined;
36
+ if (typeof value.decidedAt !== "string" ||
37
+ !isPrincipal(value.executingPrincipal) ||
38
+ !Array.isArray(value.approvers))
39
+ return undefined;
40
+ const approvers = value.approvers.map(actorIdentityFromJson);
41
+ if (approvers.some((actor) => actor === undefined))
42
+ return undefined;
43
+ if (value.expiresAt !== undefined && typeof value.expiresAt !== "string")
44
+ return undefined;
45
+ return {
46
+ approvalId: value.approvalId,
47
+ toolCallId: value.toolCallId,
48
+ inputDigest: value.inputDigest,
49
+ executingPrincipal: value.executingPrincipal,
50
+ approvers: approvers,
51
+ decidedAt: value.decidedAt,
52
+ ...(typeof value.expiresAt === "string" ? { expiresAt: value.expiresAt } : {}),
53
+ };
54
+ }
55
+ export function approvalGrantToJson(grant) {
56
+ return grant;
57
+ }
58
+ /** Build the terminal grant after a store reaches approval quorum. */
59
+ export function createApprovalGrantForState(state, response) {
60
+ const request = state.request;
61
+ if (!request.toolCallId || !request.executingPrincipal)
62
+ return undefined;
63
+ return createApprovalGrant({
64
+ approvalId: state.id,
65
+ toolCallId: request.toolCallId,
66
+ toolInput: request.input ?? null,
67
+ principal: request.executingPrincipal,
68
+ response,
69
+ createdAt: request.createdAt,
70
+ ...(request.ttlSeconds !== undefined ? { ttlSeconds: request.ttlSeconds } : {}),
71
+ ...(state.resolvedAt ? { decidedAt: state.resolvedAt } : {}),
72
+ });
73
+ }
74
+ /** Reconstruct and validate a durable grant before replaying an approved call. */
75
+ export function approvalGrantFromState(state, toolInput, principal, toolCallId) {
76
+ if (state.status !== "approved")
77
+ return undefined;
78
+ const grant = state.grant;
79
+ if (!grant)
80
+ return undefined;
81
+ if (grant.expiresAt && Date.parse(grant.expiresAt) <= Date.now())
82
+ return undefined;
83
+ if (grant.toolCallId !== toolCallId)
84
+ return undefined;
85
+ if (grant.inputDigest !== approvalInputDigest(toolInput))
86
+ return undefined;
87
+ if (!samePrincipal(grant.executingPrincipal, principal))
88
+ return undefined;
89
+ return grant;
90
+ }
91
+ export function sameApprovalOperation(grant, input) {
92
+ if (grant.expiresAt && Date.parse(grant.expiresAt) <= Date.now())
93
+ return false;
94
+ return (grant.toolCallId === input.toolCallId &&
95
+ grant.inputDigest === approvalInputDigest(input.toolInput) &&
96
+ samePrincipal(grant.executingPrincipal, input.principal));
97
+ }
98
+ function samePrincipal(a, b) {
99
+ return a.kind === b.kind && a.id === b.id && a.ucPrincipal === b.ucPrincipal;
100
+ }
101
+ function canonicalJson(value) {
102
+ if (value === null)
103
+ return "null";
104
+ if (typeof value !== "object") {
105
+ if (typeof value === "number" && !Number.isFinite(value))
106
+ throw new Error("Approval inputs must contain finite JSON numbers.");
107
+ if (value === undefined)
108
+ return "null";
109
+ if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean") {
110
+ throw new Error(`Approval inputs must be JSON-compatible; received ${typeof value}.`);
111
+ }
112
+ return JSON.stringify(value);
113
+ }
114
+ if (Array.isArray(value))
115
+ return `[${value.map(canonicalJson).join(",")}]`;
116
+ return `{${Object.entries(value)
117
+ .filter(([, child]) => child !== undefined)
118
+ .sort(([a], [b]) => a.localeCompare(b))
119
+ .map(([key, child]) => `${JSON.stringify(key)}:${canonicalJson(child)}`)
120
+ .join(",")}}`;
121
+ }
122
+ function isObject(value) {
123
+ return typeof value === "object" && value !== null && !Array.isArray(value);
124
+ }
125
+ function isPrincipal(value) {
126
+ return (isObject(value) &&
127
+ (value.kind === "user" ||
128
+ value.kind === "service-principal" ||
129
+ value.kind === "app-principal") &&
130
+ typeof value.id === "string" &&
131
+ (value.ucPrincipal === undefined || typeof value.ucPrincipal === "string"));
132
+ }
133
+ function actorIdentityFromJson(value) {
134
+ if (!isObject(value) || typeof value.id !== "string")
135
+ return undefined;
136
+ return value;
137
+ }
138
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../src/approval.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -27,7 +27,7 @@
27
27
  * and `session.prompt()`. Streaming via `session.stream()` yields these
28
28
  * events as an `AsyncGenerator<AgentEvent>`.
29
29
  */
30
- import type { JsonObject } from './types.js';
30
+ import type { ApprovalGrant, JsonObject } from "./types.js";
31
31
  /** Common envelope shared by every event variant. */
32
32
  export interface AgentEventBase {
33
33
  /** Stable id for this event occurrence. */
@@ -42,64 +42,64 @@ export interface AgentEventBase {
42
42
  taskId?: string;
43
43
  }
44
44
  export type AgentEvent = (AgentEventBase & {
45
- type: 'agent_start';
45
+ type: "agent_start";
46
46
  data?: JsonObject;
47
47
  }) | (AgentEventBase & {
48
- type: 'session_start';
48
+ type: "session_start";
49
49
  data?: {
50
50
  id?: string;
51
51
  };
52
52
  }) | (AgentEventBase & {
53
- type: 'prompt_start';
53
+ type: "prompt_start";
54
54
  data?: {
55
55
  text?: string;
56
56
  };
57
57
  }) | (AgentEventBase & {
58
- type: 'prompt_end';
58
+ type: "prompt_end";
59
59
  data?: {
60
60
  text?: string;
61
61
  result?: unknown;
62
62
  };
63
63
  }) | (AgentEventBase & {
64
- type: 'turn_start';
64
+ type: "turn_start";
65
65
  data?: JsonObject;
66
66
  }) | (AgentEventBase & {
67
- type: 'turn_end';
67
+ type: "turn_end";
68
68
  data?: {
69
69
  stopReason?: string;
70
70
  };
71
71
  }) | (AgentEventBase & {
72
- type: 'model_attempt';
72
+ type: "model_attempt";
73
73
  data?: JsonObject;
74
74
  }) | (AgentEventBase & {
75
- type: 'text_delta';
75
+ type: "text_delta";
76
76
  data: {
77
77
  delta: string;
78
- kind?: 'thinking' | 'output';
78
+ kind?: "thinking" | "output";
79
79
  };
80
80
  }) | (AgentEventBase & {
81
- type: 'cost_limit';
81
+ type: "cost_limit";
82
82
  data: {
83
- scope: 'call' | 'session';
83
+ scope: "call" | "session";
84
84
  observedUsd: number;
85
85
  limitUsd: number;
86
86
  };
87
87
  }) | (AgentEventBase & {
88
- type: 'webhook_received';
88
+ type: "webhook_received";
89
89
  data: {
90
90
  subscriptionId: string;
91
91
  eventType?: string;
92
92
  idempotencyKey?: string;
93
93
  };
94
94
  }) | (AgentEventBase & {
95
- type: 'tool_start';
95
+ type: "tool_start";
96
96
  data: {
97
97
  toolName: string;
98
98
  toolCallId?: string;
99
99
  args?: JsonObject;
100
100
  };
101
101
  }) | (AgentEventBase & {
102
- type: 'tool_end';
102
+ type: "tool_end";
103
103
  data: {
104
104
  toolName: string;
105
105
  toolCallId?: string;
@@ -107,131 +107,132 @@ export type AgentEvent = (AgentEventBase & {
107
107
  result?: unknown;
108
108
  };
109
109
  }) | (AgentEventBase & {
110
- type: 'command_start';
110
+ type: "command_start";
111
111
  data: {
112
112
  command: string;
113
113
  cwd?: string;
114
114
  };
115
115
  }) | (AgentEventBase & {
116
- type: 'command_end';
116
+ type: "command_end";
117
117
  data: {
118
118
  command: string;
119
119
  exitCode: number;
120
120
  durationMs?: number;
121
121
  };
122
122
  }) | (AgentEventBase & {
123
- type: 'skill_start';
123
+ type: "skill_start";
124
124
  data: {
125
125
  name: string;
126
126
  };
127
127
  }) | (AgentEventBase & {
128
- type: 'skill_end';
128
+ type: "skill_end";
129
129
  data: {
130
130
  name: string;
131
131
  result?: unknown;
132
132
  };
133
133
  }) | (AgentEventBase & {
134
- type: 'task_start';
134
+ type: "task_start";
135
135
  data: {
136
136
  taskId: string;
137
137
  depth: number;
138
138
  };
139
139
  }) | (AgentEventBase & {
140
- type: 'task_end';
140
+ type: "task_end";
141
141
  data: {
142
142
  taskId: string;
143
143
  depth: number;
144
144
  durationMs?: number;
145
145
  };
146
146
  }) | (AgentEventBase & {
147
- type: 'task_failed';
147
+ type: "task_failed";
148
148
  data: {
149
149
  taskId: string;
150
150
  error: string;
151
151
  };
152
152
  }) | (AgentEventBase & {
153
- type: 'task_cancelled';
153
+ type: "task_cancelled";
154
154
  data: {
155
155
  taskId: string;
156
156
  };
157
157
  }) | (AgentEventBase & {
158
- type: 'task_checkpoint';
158
+ type: "task_checkpoint";
159
159
  data: {
160
160
  taskId: string;
161
161
  };
162
162
  }) | (AgentEventBase & {
163
- type: 'compaction';
163
+ type: "compaction";
164
164
  data: {
165
- reason?: 'threshold' | 'overflow';
165
+ reason?: "threshold" | "overflow";
166
166
  messagesBefore: number;
167
167
  messagesAfter: number;
168
168
  tokensBefore?: number;
169
169
  tokensAfter?: number;
170
170
  };
171
171
  }) | (AgentEventBase & {
172
- type: 'artifact_created';
172
+ type: "artifact_created";
173
173
  data: {
174
174
  path: string;
175
175
  contentType?: string;
176
176
  };
177
177
  }) | (AgentEventBase & {
178
- type: 'checkpoint_created';
178
+ type: "checkpoint_created";
179
179
  data: {
180
180
  id: string;
181
181
  };
182
182
  }) | (AgentEventBase & {
183
- type: 'checkpoint_restored';
183
+ type: "checkpoint_restored";
184
184
  data: {
185
185
  id: string;
186
186
  };
187
187
  }) | (AgentEventBase & {
188
- type: 'approval_requested';
188
+ type: "approval_requested";
189
189
  data: {
190
190
  approvalId: string;
191
191
  subject: string;
192
- kind: 'tool' | 'command';
193
- risk?: 'low' | 'medium' | 'high';
192
+ kind: "tool" | "command";
193
+ risk?: "low" | "medium" | "high";
194
194
  };
195
195
  }) | (AgentEventBase & {
196
- type: 'approval_voted';
196
+ type: "approval_voted";
197
197
  data: {
198
198
  approvalId: string;
199
- outcome: 'approved' | 'denied';
199
+ outcome: "approved" | "denied";
200
200
  };
201
201
  }) | (AgentEventBase & {
202
- type: 'approval_granted';
202
+ type: "approval_granted";
203
203
  data: {
204
204
  approvalId: string;
205
+ grant?: ApprovalGrant;
205
206
  };
206
207
  }) | (AgentEventBase & {
207
- type: 'approval_denied';
208
+ type: "approval_denied";
208
209
  data: {
209
210
  approvalId: string;
210
211
  };
211
212
  }) | (AgentEventBase & {
212
- type: 'approval_expired';
213
+ type: "approval_expired";
213
214
  data: {
214
215
  approvalId: string;
215
216
  };
216
217
  }) | (AgentEventBase & {
217
- type: 'metric';
218
+ type: "metric";
218
219
  data: JsonObject;
219
220
  }) | (AgentEventBase & {
220
- type: 'result';
221
+ type: "result";
221
222
  data?: {
222
223
  usage?: JsonObject;
223
224
  };
224
225
  }) | (AgentEventBase & {
225
- type: 'result_retry';
226
+ type: "result_retry";
226
227
  data?: JsonObject;
227
228
  }) | (AgentEventBase & {
228
- type: 'error';
229
+ type: "error";
229
230
  data: {
230
231
  error: string;
231
232
  cause?: unknown;
232
233
  };
233
234
  });
234
- export type AgentEventType = AgentEvent['type'];
235
+ export type AgentEventType = AgentEvent["type"];
235
236
  /**
236
237
  * Callback signature accepted by `init({ onEvent })`,
237
238
  * `agent.session(id, { onEvent })`, and `session.prompt(text, { onEvent })`.
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAuHH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CACrB,KAAiB,EACjB,IAAO;IAEP,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA+HH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CACrB,KAAiB,EACjB,IAAO;IAEP,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AAC7B,CAAC"}