@fabric-harness/sdk 0.1.2 → 0.2.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 (42) hide show
  1. package/README.md +7 -6
  2. package/dist/agent-definition.d.ts +20 -8
  3. package/dist/agent-definition.d.ts.map +1 -1
  4. package/dist/agent-definition.js +46 -8
  5. package/dist/agent-definition.js.map +1 -1
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +3 -0
  8. package/dist/agent.js.map +1 -1
  9. package/dist/cloudflare-source.d.ts +61 -0
  10. package/dist/cloudflare-source.d.ts.map +1 -0
  11. package/dist/cloudflare-source.js +73 -0
  12. package/dist/cloudflare-source.js.map +1 -0
  13. package/dist/filesystem-source.d.ts +25 -0
  14. package/dist/filesystem-source.d.ts.map +1 -1
  15. package/dist/filesystem-source.js +28 -0
  16. package/dist/filesystem-source.js.map +1 -1
  17. package/dist/index.d.ts +5 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +4 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/lite.d.ts +6 -3
  22. package/dist/lite.d.ts.map +1 -1
  23. package/dist/lite.js +4 -2
  24. package/dist/lite.js.map +1 -1
  25. package/dist/pi-loop-runtime.d.ts +34 -0
  26. package/dist/pi-loop-runtime.d.ts.map +1 -0
  27. package/dist/pi-loop-runtime.js +274 -0
  28. package/dist/pi-loop-runtime.js.map +1 -0
  29. package/dist/sandbox.d.ts +13 -2
  30. package/dist/sandbox.d.ts.map +1 -1
  31. package/dist/sandbox.js +125 -90
  32. package/dist/sandbox.js.map +1 -1
  33. package/dist/session.d.ts.map +1 -1
  34. package/dist/session.js +31 -8
  35. package/dist/session.js.map +1 -1
  36. package/dist/types.d.ts +8 -1
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/virtual-sandbox.d.ts +46 -0
  39. package/dist/virtual-sandbox.d.ts.map +1 -0
  40. package/dist/virtual-sandbox.js +129 -0
  41. package/dist/virtual-sandbox.js.map +1 -0
  42. package/package.json +9 -2
package/dist/lite.js CHANGED
@@ -30,9 +30,11 @@ export { createFabricContext } from './context.js';
30
30
  export { FabricError, isFabricError, toFabricError } from './error.js';
31
31
  export { schema, SchemaValidationError } from './schema.js';
32
32
  export { defineCommand, defineTool, secret, shellQuote } from './tools.js';
33
- export { createSandboxEnv, EmptySandboxEnv, LocalSandboxEnv } from './sandbox.js';
34
- export { inMemorySource, localDirectorySource, withFilesystemSources } from './filesystem-source.js';
33
+ export { createRemoteSandboxEnv, createSandboxEnv, createScopedSandboxEnv, EmptySandboxEnv, LocalSandboxEnv } from './sandbox.js';
34
+ export { VirtualSandboxEnv, createVirtualSandboxEnv } from './virtual-sandbox.js';
35
+ export { getVirtualSandbox, inMemorySource, localDirectorySource, withFilesystemSources } from './filesystem-source.js';
35
36
  export { resolveRuntimeMode, isStatelessRuntime } from './runtime-mode.js';
37
+ export { PiAgentLoopRuntime, createPiAgentLoopRuntime } from './pi-loop-runtime.js';
36
38
  export { noopSessionStore, NoopSessionStore } from './store.js';
37
39
  export { connectMcpServer } from './mcp.js';
38
40
  //# sourceMappingURL=lite.js.map
package/dist/lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lite.js","sourceRoot":"","sources":["../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAErG,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"lite.js","sourceRoot":"","sources":["../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAExH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { AgentLoopRuntime, PromptRunInput, PromptRunResult } from './loop.js';
2
+ export interface PiCustomModel {
3
+ api: string;
4
+ provider: string;
5
+ }
6
+ export interface PiAgentLoopRuntimeOptions {
7
+ /** Default model in `provider/model` or `provider:model` form, e.g. `openai/gpt-4.1`. */
8
+ model?: string;
9
+ /** Dynamic API-key resolver forwarded to pi-agent-core/pi-ai. */
10
+ getApiKey?: (provider: string) => Promise<string | undefined> | string | undefined;
11
+ /** Execute tool calls in parallel or sequentially. Defaults to pi-agent-core's parallel mode. */
12
+ toolExecution?: 'parallel' | 'sequential';
13
+ /** Custom model definitions for models not in the pi-ai catalog. Keyed by `provider/model`. */
14
+ customModels?: Record<string, PiCustomModel>;
15
+ }
16
+ export declare class PiAgentLoopRuntime implements AgentLoopRuntime {
17
+ readonly name = "pi-agent-core";
18
+ private readonly options;
19
+ private readonly agents;
20
+ private currentPolicy;
21
+ private currentEmit;
22
+ constructor(options?: PiAgentLoopRuntimeOptions);
23
+ runPrompt(input: PromptRunInput): Promise<PromptRunResult>;
24
+ /**
25
+ * Dispose of cached Agent instances to free resources.
26
+ * Call with a sessionId to dispose a specific session, or call
27
+ * without arguments to dispose all sessions.
28
+ */
29
+ dispose(sessionId?: string): void;
30
+ private resolvePiModel;
31
+ private toPiTool;
32
+ }
33
+ export declare function createPiAgentLoopRuntime(options?: PiAgentLoopRuntimeOptions): PiAgentLoopRuntime;
34
+ //# sourceMappingURL=pi-loop-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-loop-runtime.d.ts","sourceRoot":"","sources":["../src/pi-loop-runtime.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAMnF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IACnF,iGAAiG;IACjG,aAAa,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAC1C,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC9C;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,WAAW,CAAgF;gBAEvF,OAAO,GAAE,yBAA8B;IAI7C,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAqEhE;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAajC,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,QAAQ;CAgBjB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,yBAA8B,GAAG,kBAAkB,CAEpG"}
@@ -0,0 +1,274 @@
1
+ import { Agent } from '@mariozechner/pi-agent-core';
2
+ import { getModel, Type } from '@mariozechner/pi-ai';
3
+ import { defaultLoopRuntime } from './loop.js';
4
+ import { evaluateToolCallPolicy } from './policy.js';
5
+ export class PiAgentLoopRuntime {
6
+ name = 'pi-agent-core';
7
+ options;
8
+ agents = new Map();
9
+ currentPolicy;
10
+ currentEmit;
11
+ constructor(options = {}) {
12
+ this.options = options;
13
+ }
14
+ async runPrompt(input) {
15
+ if (input.toolCalls?.length)
16
+ return defaultLoopRuntime.runPrompt(input);
17
+ // Store current call context for callbacks
18
+ this.currentPolicy = input.policy;
19
+ this.currentEmit = input.emit;
20
+ const selectedModel = this.resolvePiModel(input.model ?? this.options.model);
21
+ const { systemPrompt } = splitSystemMessages(input.messages, selectedModel);
22
+ const tools = [...input.tools.values()].map((tool) => this.toPiTool(tool, input));
23
+ // Try to reuse a cached Agent for this session
24
+ let agent = this.agents.get(input.sessionId);
25
+ if (agent) {
26
+ // Update the cached agent's tools and system prompt for this call
27
+ agent.state.tools = tools;
28
+ agent.state.systemPrompt = systemPrompt;
29
+ }
30
+ else {
31
+ // Create a new agent for this session
32
+ agent = new Agent({
33
+ sessionId: input.sessionId,
34
+ initialState: {
35
+ systemPrompt,
36
+ model: selectedModel,
37
+ tools,
38
+ messages: [],
39
+ },
40
+ ...(this.options.getApiKey ? { getApiKey: this.options.getApiKey } : {}),
41
+ ...(this.options.toolExecution ? { toolExecution: this.options.toolExecution } : {}),
42
+ beforeToolCall: async (context) => {
43
+ const decision = evaluateToolCallPolicy({ tool: context.toolCall.name, input: context.args }, this.currentPolicy);
44
+ if (!decision.allowed)
45
+ return { block: true, reason: decision.reason ?? `Tool call denied by policy: ${context.toolCall.name}` };
46
+ return undefined;
47
+ },
48
+ });
49
+ this.agents.set(input.sessionId, agent);
50
+ }
51
+ // Subscribe to events for this call
52
+ const unsubscribe = agent.subscribe(async (event) => { await emitPiEvent(event, input); });
53
+ // Handle abort signal
54
+ let abortListener;
55
+ if (input.signal) {
56
+ if (input.signal.aborted)
57
+ agent.abort();
58
+ abortListener = () => agent.abort();
59
+ input.signal.addEventListener('abort', abortListener, { once: true });
60
+ }
61
+ try {
62
+ await agent.prompt(input.text);
63
+ await agent.waitForIdle();
64
+ }
65
+ finally {
66
+ unsubscribe();
67
+ if (abortListener && input.signal) {
68
+ input.signal.removeEventListener('abort', abortListener);
69
+ }
70
+ }
71
+ // Extract the final assistant response from the agent's message history
72
+ const latestAssistant = [...agent.state.messages].reverse().find(isAssistantMessage);
73
+ const text = latestAssistant ? assistantText(latestAssistant) : '';
74
+ if (text)
75
+ await input.recordEntry('assistant_message', { text });
76
+ await input.recordEntry('result', { result: text });
77
+ await input.emit('prompt_end', { text: input.text, result: text });
78
+ return { text, raw: text, ...(latestAssistant?.usage ? { usage: toFabricUsage(latestAssistant.usage) } : {}) };
79
+ }
80
+ /**
81
+ * Dispose of cached Agent instances to free resources.
82
+ * Call with a sessionId to dispose a specific session, or call
83
+ * without arguments to dispose all sessions.
84
+ */
85
+ dispose(sessionId) {
86
+ if (sessionId) {
87
+ const agent = this.agents.get(sessionId);
88
+ if (agent) {
89
+ agent.reset();
90
+ this.agents.delete(sessionId);
91
+ }
92
+ }
93
+ else {
94
+ for (const agent of this.agents.values())
95
+ agent.reset();
96
+ this.agents.clear();
97
+ }
98
+ }
99
+ resolvePiModel(model) {
100
+ if (!model)
101
+ throw new Error('PiAgentLoopRuntime requires a model in provider/model form.');
102
+ const separator = model.includes('/') ? '/' : ':';
103
+ const [provider, modelId] = model.split(separator, 2);
104
+ if (!provider || !modelId)
105
+ throw new Error(`Invalid pi model identifier: ${model}. Expected provider/model.`);
106
+ // Try the pi-ai catalog first
107
+ try {
108
+ return getModel(provider, modelId);
109
+ }
110
+ catch {
111
+ // Not in catalog — try custom models
112
+ const custom = this.options.customModels?.[model];
113
+ if (custom) {
114
+ return { id: modelId, provider: custom.provider, api: custom.api };
115
+ }
116
+ // Fallback: infer API type from well-known providers
117
+ const apiMap = {
118
+ openai: 'openai-completions',
119
+ anthropic: 'anthropic-messages',
120
+ google: 'google-generative-ai',
121
+ azure: 'openai-completions',
122
+ mistral: 'mistral-conversations',
123
+ bedrock: 'bedrock-converse',
124
+ vertex: 'google-generative-ai',
125
+ };
126
+ const api = apiMap[provider];
127
+ if (api) {
128
+ return { id: modelId, provider, api };
129
+ }
130
+ throw new Error(`Failed to resolve model "${model}". It is not in the pi-ai catalog and no custom model was provided. `
131
+ + `Register a custom model via PiAgentLoopRuntimeOptions.customModels or use a known provider: ${Object.keys(apiMap).join(', ')}.`);
132
+ }
133
+ }
134
+ toPiTool(tool, input) {
135
+ return {
136
+ name: tool.name,
137
+ label: tool.name,
138
+ description: tool.description ?? tool.name,
139
+ parameters: Type.Unsafe(tool.inputSchema ?? { type: 'object', additionalProperties: true }),
140
+ async execute(toolCallId, params) {
141
+ const [result] = await input.executeToolCalls([{ tool: tool.name, input: params }], input.policy);
142
+ if (!result || result.error)
143
+ throw new Error(result?.error ?? `Tool failed: ${tool.name}`);
144
+ return {
145
+ content: [{ type: 'text', text: stringifyForModel(result.output) }],
146
+ details: result.output,
147
+ };
148
+ },
149
+ };
150
+ }
151
+ }
152
+ export function createPiAgentLoopRuntime(options = {}) {
153
+ return new PiAgentLoopRuntime(options);
154
+ }
155
+ function splitSystemMessages(messages, model) {
156
+ const systemPrompt = messages.filter((message) => message.role === 'system').map((message) => message.content).join('\n\n');
157
+ const nonSystem = messages.filter((message) => message.role !== 'system');
158
+ return {
159
+ systemPrompt,
160
+ messages: convertMessagesToPi(nonSystem, model),
161
+ };
162
+ }
163
+ /**
164
+ * Convert Fabric ModelMessages to pi-agent-core AgentMessages.
165
+ * Handles tool-call round-trips by grouping assistant+toolCall and toolResult messages.
166
+ * Uses type assertions where pi-ai's strict union types require it.
167
+ */
168
+ function convertMessagesToPi(messages, model) {
169
+ const result = [];
170
+ let i = 0;
171
+ while (i < messages.length) {
172
+ const msg = messages[i];
173
+ if (!msg) {
174
+ i += 1;
175
+ continue;
176
+ }
177
+ if (msg.role === 'assistant' && msg.toolCalls?.length) {
178
+ // Assistant message with tool calls — cast through unknown for pi-ai's strict content unions
179
+ const content = [
180
+ ...(msg.content ? [{ type: 'text', text: msg.content }] : []),
181
+ ...msg.toolCalls.map((tc) => ({
182
+ type: 'toolCall',
183
+ toolCallId: tc.id,
184
+ toolName: tc.name,
185
+ args: tc.input,
186
+ })),
187
+ ];
188
+ result.push({
189
+ role: 'assistant',
190
+ content: content,
191
+ api: model.api,
192
+ provider: model.provider,
193
+ model: model.id,
194
+ usage: zeroUsage(),
195
+ stopReason: 'tool_use',
196
+ timestamp: Date.now(),
197
+ });
198
+ i += 1;
199
+ continue;
200
+ }
201
+ if (msg.role === 'assistant') {
202
+ result.push({
203
+ role: 'assistant',
204
+ content: [{ type: 'text', text: msg.content }],
205
+ api: model.api,
206
+ provider: model.provider,
207
+ model: model.id,
208
+ usage: zeroUsage(),
209
+ stopReason: 'stop',
210
+ timestamp: Date.now(),
211
+ });
212
+ i += 1;
213
+ continue;
214
+ }
215
+ if (msg.role === 'tool') {
216
+ result.push({
217
+ role: 'toolResult',
218
+ toolCallId: msg.toolCallId ?? msg.name ?? 'tool',
219
+ toolName: msg.name ?? 'tool',
220
+ content: [{ type: 'text', text: msg.content }],
221
+ details: msg.content,
222
+ isError: false,
223
+ timestamp: Date.now(),
224
+ });
225
+ i += 1;
226
+ continue;
227
+ }
228
+ // user message
229
+ result.push({ role: 'user', content: msg.content, timestamp: Date.now() });
230
+ i += 1;
231
+ }
232
+ return result;
233
+ }
234
+ async function emitPiEvent(event, input) {
235
+ if (event.type === 'agent_start')
236
+ await input.emit('agent_start', { runtime: 'pi-agent-core' });
237
+ if (event.type === 'turn_start')
238
+ await input.emit('turn_start', { runtime: 'pi-agent-core' });
239
+ if (event.type === 'turn_end')
240
+ await input.emit('turn_end', { runtime: 'pi-agent-core' });
241
+ if (event.type === 'message_update' && event.assistantMessageEvent.type === 'text_delta') {
242
+ await input.emit('text_delta', { delta: event.assistantMessageEvent.delta });
243
+ }
244
+ // Tool start/end are emitted by Fabric's executeToolCalls callback so policy,
245
+ // audit, and native/pi runtimes have the same durable event shape.
246
+ }
247
+ function isAssistantMessage(message) {
248
+ return typeof message === 'object' && message !== null && message.role === 'assistant';
249
+ }
250
+ function assistantText(message) {
251
+ return message.content.filter((part) => part.type === 'text').map((part) => part.text).join('');
252
+ }
253
+ function stringifyForModel(value) {
254
+ return typeof value === 'string' ? value : JSON.stringify(value ?? null);
255
+ }
256
+ function toFabricUsage(usage) {
257
+ return {
258
+ inputTokens: usage.input,
259
+ outputTokens: usage.output,
260
+ totalTokens: usage.totalTokens,
261
+ costUsd: usage.cost.total,
262
+ };
263
+ }
264
+ function zeroUsage() {
265
+ return {
266
+ input: 0,
267
+ output: 0,
268
+ cacheRead: 0,
269
+ cacheWrite: 0,
270
+ totalTokens: 0,
271
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
272
+ };
273
+ }
274
+ //# sourceMappingURL=pi-loop-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-loop-runtime.js","sourceRoot":"","sources":["../src/pi-loop-runtime.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.d.ts CHANGED
@@ -62,6 +62,8 @@ export interface SandboxFactoryOptions {
62
62
  sessionId?: string;
63
63
  env?: Record<string, string>;
64
64
  metadata?: Record<string, unknown>;
65
+ /** Default working directory inside the sandbox workspace. */
66
+ cwd?: string;
65
67
  }
66
68
  export type SandboxFactory = (options: SandboxFactoryOptions) => Promise<SandboxEnv> | SandboxEnv;
67
69
  export interface RemoteSandboxApi {
@@ -96,6 +98,12 @@ export interface RemoteSandboxOptions {
96
98
  * Fabric only sees the narrow file/shell/snapshot API exposed here.
97
99
  */
98
100
  export declare function createRemoteSandboxEnv(api: RemoteSandboxApi, options?: RemoteSandboxOptions): SandboxEnv;
101
+ /**
102
+ * Return a view of a sandbox with a narrower default cwd. Relative file paths
103
+ * and shell cwd values are resolved from this scoped cwd while the underlying
104
+ * sandbox still enforces its workspace boundary.
105
+ */
106
+ export declare function createScopedSandboxEnv(sandbox: SandboxEnv, cwd?: string): SandboxEnv;
99
107
  /**
100
108
  * Adapter expectations:
101
109
  * - Every backend must expose the SandboxEnv contract above and map paths into a scoped workspace.
@@ -117,11 +125,12 @@ export interface SandboxAdapterDescriptor {
117
125
  export declare class EmptySandboxEnv implements SandboxEnv {
118
126
  readonly cwd: string;
119
127
  readonly capabilities: SandboxCapabilities;
120
- private entries;
128
+ private fs;
129
+ private bash;
121
130
  private snapshots;
122
131
  private nextSnapshotId;
123
132
  constructor(cwd?: string);
124
- exec(command: string): Promise<ShellResult>;
133
+ exec(command: string, options?: SandboxExecOptions): Promise<ShellResult>;
125
134
  readFile(filePath: string): Promise<string>;
126
135
  readFileBuffer(filePath: string): Promise<Uint8Array>;
127
136
  writeFile(filePath: string, content: string | Uint8Array): Promise<void>;
@@ -139,7 +148,9 @@ export declare class EmptySandboxEnv implements SandboxEnv {
139
148
  snapshot(): Promise<SandboxSnapshot>;
140
149
  restore(snapshot: SandboxSnapshot): Promise<void>;
141
150
  cleanup(): Promise<void>;
151
+ private captureEntries;
142
152
  }
153
+ export declare const VirtualSandboxEnv: typeof EmptySandboxEnv;
143
154
  export interface LocalSandboxOptions {
144
155
  workspacePath?: string;
145
156
  env?: Record<string, string>;
@@ -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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"}