@tangle-network/sandbox 0.60.14 → 0.60.16-develop.20261006021812.a14c729

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 (29) hide show
  1. package/README.md +36 -12
  2. package/dist/agent/index.d.ts +4 -4
  3. package/dist/agent/index.js +3 -3
  4. package/dist/agent/preview.d.ts +1 -1
  5. package/dist/{agent-run-outcome-CG7bb9lr.d.ts → agent-run-outcome-C8oSKngX.d.ts} +1 -1
  6. package/dist/auth/index.js +1 -1
  7. package/dist/{cli-auth-bundle-CJSdRlx0.js → cli-auth-bundle-D_1bUPSo.js} +388 -1
  8. package/dist/{client-Cd8xKjQZ.js → client-CT9Td-BV.js} +40 -15
  9. package/dist/{client-BCX8_Mu-.d.ts → client-CbOQtx9b.d.ts} +14 -4
  10. package/dist/core.d.ts +5 -5
  11. package/dist/core.js +2 -2
  12. package/dist/{index-BgFIcLar.d.ts → index-BWmtGiyF.d.ts} +2 -2
  13. package/dist/index.d.ts +19 -11
  14. package/dist/index.js +4 -4
  15. package/dist/{interactive-controller-f_ePJqoh.js → interactive-controller-5_ixpFnR.js} +105 -9
  16. package/dist/{lines-BbvLx7pi.d.ts → lines-BTZTbYDz.d.ts} +31 -2
  17. package/dist/lines.d.ts +2 -2
  18. package/dist/{local-cli-auth-BH9A-PW_.js → local-cli-auth-DRXaIXAj.js} +1 -1
  19. package/dist/{preview-Ddy1fJyc.d.ts → preview-T96_mF5c.d.ts} +3 -3
  20. package/dist/{raw-evidence-archive-FxWK99KW.js → raw-evidence-archive-Bi-Lt83d.js} +46 -2
  21. package/dist/runtime.d.ts +2 -2
  22. package/dist/runtime.js +1 -1
  23. package/dist/{sandbox-D3SjjeDp.js → sandbox-D3VcDY8b.js} +27 -11
  24. package/dist/{sandbox-BCygk0lS.d.ts → sandbox-DalvAflZ.d.ts} +10 -202
  25. package/dist/tangle/index.d.ts +1 -1
  26. package/dist/tangle/index.js +1 -1
  27. package/dist/{tangle-fMCqH1ig.js → tangle-CLrVMWGG.js} +1 -1
  28. package/dist/{types-BlA8Cly0.d.ts → types-CdT-paBK.d.ts} +405 -38
  29. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import { B as CreateSandboxOptions, d as BackendConfig } from "./types-BlA8Cly0.js";
1
+ import { B as CreateSandboxOptions, d as BackendConfig } from "./types-CdT-paBK.js";
2
2
 
3
3
  //#region src/line-application.d.ts
4
4
  /** Bounded callback request bytes after canonicalization, including JSON framing. */
@@ -364,11 +364,40 @@ interface LineSendInput {
364
364
  idempotencyKey: string;
365
365
  /** Optional ISO instant less than seven days away. Workflows own schedules. */
366
366
  notBefore?: string;
367
+ /** Ask a coded question; the member's reply that starts with `code` returns to this send. */
368
+ reply?: LineReplyCodeInput;
369
+ }
370
+ interface LineReplyCodeInput {
371
+ /** A letter, then up to seven letters or digits, with at least one digit (`F7`). Hub compares it case-insensitively. */
372
+ code: string;
373
+ /** 60 to 604800; the window opens when the send first becomes eligible. */
374
+ ttlSeconds: number;
375
+ /**
376
+ * 1 to 20 distinct texted choices, each 1-32 of `a-z 0-9 _ -` after lower-casing.
377
+ * An answer must then be `<code> <option>[ <note>]`; any other coded text keeps the question open.
378
+ */
379
+ options?: string[];
380
+ }
381
+ /** The coded question's state on a send receipt. */
382
+ interface LineReplyCode {
383
+ /** Upper case. */
384
+ code: string;
385
+ expiresAt: string;
386
+ /** The first coded answer; `text` is null after content retention ends. */
387
+ answer: {
388
+ messageId: string;
389
+ text: string | null;
390
+ receivedAt: string; /** The named option, lower case; null when the send listed no options. */
391
+ option: string | null; /** Words after the option; null when there were none or retention ended. */
392
+ note: string | null;
393
+ } | null;
367
394
  }
368
395
  interface LineSendReceipt {
369
396
  message: LineMessage;
370
397
  eligibleAt: string | null;
371
398
  expiresAt: string;
399
+ /** Null when the send asked no coded question; absent from Hub before reply codes. */
400
+ reply?: LineReplyCode | null;
372
401
  }
373
402
  interface LineReminderPreferences {
374
403
  enabled: boolean;
@@ -617,4 +646,4 @@ declare class SandboxLines {
617
646
  detach(number: string): Promise<void>;
618
647
  }
619
648
  //#endregion
620
- export { LineThread as A, LINE_APPLICATION_REQUEST_MAX_BYTES as B, LineRespondAgent as C, LineSendReceipt as D, LineSendInput as E, LinesHttpClient as F, LineApplicationView as G, LineApplicationRequest as H, SandboxLines as I, parseLineApplicationRequest as K, lineInstanceKey as L, LineVoice as M, LineVoiceOptions as N, LineSenderVerification as O, LinesClient as P, profileChannelReference as R, LineReplyGate as S, LineRole as T, LineApplicationResult as U, LineApplication as V, LineApplicationState as W, LineMemberSpec as _, LineApplicationAttachOptions as a, LineProvider as b, LineAttachmentReauthorization as c, LineInstanceAttachOptions as d, LineInstanceCreate as f, LineMemberPatch as g, LineMemberInstance as h, LineAllowanceSubject as i, LineTransport as j, LineSenderVerificationStart as k, LineExecutionKey as l, LineMember as m, LineAgentRolePolicy as n, LineAttachOptions as o, LineLimits as p, parseLineApplicationResult as q, LineAllowance as r, LineAttachment as s, Line as t, LineFromConnectionInput as u, LineMessage as v, LineRespondView as w, LineReminderPreferences as x, LineNumberInventory as y, LINE_APPLICATION_REPLY_MAX_CHARS as z };
649
+ export { LineSenderVerification as A, profileChannelReference as B, LineReplyCodeInput as C, LineRole as D, LineRespondView as E, LineVoiceOptions as F, LineApplicationResult as G, LINE_APPLICATION_REQUEST_MAX_BYTES as H, LinesClient as I, parseLineApplicationRequest as J, LineApplicationState as K, LinesHttpClient as L, LineThread as M, LineTransport as N, LineSendInput as O, LineVoice as P, SandboxLines as R, LineReplyCode as S, LineRespondAgent as T, LineApplication as U, LINE_APPLICATION_REPLY_MAX_CHARS as V, LineApplicationRequest as W, parseLineApplicationResult as Y, LineMemberSpec as _, LineApplicationAttachOptions as a, LineProvider as b, LineAttachmentReauthorization as c, LineInstanceAttachOptions as d, LineInstanceCreate as f, LineMemberPatch as g, LineMemberInstance as h, LineAllowanceSubject as i, LineSenderVerificationStart as j, LineSendReceipt as k, LineExecutionKey as l, LineMember as m, LineAgentRolePolicy as n, LineAttachOptions as o, LineLimits as p, LineApplicationView as q, LineAllowance as r, LineAttachment as s, Line as t, LineFromConnectionInput as u, LineMessage as v, LineReplyGate as w, LineReminderPreferences as x, LineNumberInventory as y, lineInstanceKey as z };
package/dist/lines.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { A as LineThread, C as LineRespondAgent, D as LineSendReceipt, E as LineSendInput, F as LinesHttpClient, I as SandboxLines, L as lineInstanceKey, M as LineVoice, N as LineVoiceOptions, O as LineSenderVerification, P as LinesClient, R as profileChannelReference, S as LineReplyGate, T as LineRole, _ as LineMemberSpec, a as LineApplicationAttachOptions, b as LineProvider, c as LineAttachmentReauthorization, d as LineInstanceAttachOptions, f as LineInstanceCreate, g as LineMemberPatch, h as LineMemberInstance, i as LineAllowanceSubject, j as LineTransport, k as LineSenderVerificationStart, l as LineExecutionKey, m as LineMember, n as LineAgentRolePolicy, o as LineAttachOptions, p as LineLimits, r as LineAllowance, s as LineAttachment, t as Line, u as LineFromConnectionInput, v as LineMessage, w as LineRespondView, x as LineReminderPreferences, y as LineNumberInventory } from "./lines-BbvLx7pi.js";
2
- export { Line, LineAgentRolePolicy, LineAllowance, LineAllowanceSubject, LineApplicationAttachOptions, LineAttachOptions, LineAttachment, LineAttachmentReauthorization, LineExecutionKey, LineFromConnectionInput, LineInstanceAttachOptions, LineInstanceCreate, LineLimits, LineMember, LineMemberInstance, LineMemberPatch, LineMemberSpec, LineMessage, LineNumberInventory, LineProvider, LineReminderPreferences, LineReplyGate, LineRespondAgent, LineRespondView, LineRole, LineSendInput, LineSendReceipt, LineSenderVerification, LineSenderVerificationStart, LineThread, LineTransport, LineVoice, LineVoiceOptions, LinesClient, LinesHttpClient, SandboxLines, lineInstanceKey, profileChannelReference };
1
+ import { A as LineSenderVerification, B as profileChannelReference, C as LineReplyCodeInput, D as LineRole, E as LineRespondView, F as LineVoiceOptions, I as LinesClient, L as LinesHttpClient, M as LineThread, N as LineTransport, O as LineSendInput, P as LineVoice, R as SandboxLines, S as LineReplyCode, T as LineRespondAgent, _ as LineMemberSpec, a as LineApplicationAttachOptions, b as LineProvider, c as LineAttachmentReauthorization, d as LineInstanceAttachOptions, f as LineInstanceCreate, g as LineMemberPatch, h as LineMemberInstance, i as LineAllowanceSubject, j as LineSenderVerificationStart, k as LineSendReceipt, l as LineExecutionKey, m as LineMember, n as LineAgentRolePolicy, o as LineAttachOptions, p as LineLimits, r as LineAllowance, s as LineAttachment, t as Line, u as LineFromConnectionInput, v as LineMessage, w as LineReplyGate, x as LineReminderPreferences, y as LineNumberInventory, z as lineInstanceKey } from "./lines-BTZTbYDz.js";
2
+ export { Line, LineAgentRolePolicy, LineAllowance, LineAllowanceSubject, LineApplicationAttachOptions, LineAttachOptions, LineAttachment, LineAttachmentReauthorization, LineExecutionKey, LineFromConnectionInput, LineInstanceAttachOptions, LineInstanceCreate, LineLimits, LineMember, LineMemberInstance, LineMemberPatch, LineMemberSpec, LineMessage, LineNumberInventory, LineProvider, LineReminderPreferences, LineReplyCode, LineReplyCodeInput, LineReplyGate, LineRespondAgent, LineRespondView, LineRole, LineSendInput, LineSendReceipt, LineSenderVerification, LineSenderVerificationStart, LineThread, LineTransport, LineVoice, LineVoiceOptions, LinesClient, LinesHttpClient, SandboxLines, lineInstanceKey, profileChannelReference };
@@ -1,4 +1,4 @@
1
- import { t as AUTH_BUNDLE_PATHS } from "./cli-auth-bundle-CJSdRlx0.js";
1
+ import { t as AUTH_BUNDLE_PATHS } from "./cli-auth-bundle-D_1bUPSo.js";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
3
  import { homedir } from "node:os";
4
4
  import { join } from "node:path";
@@ -1,6 +1,6 @@
1
- import { r as SandboxInstance } from "./sandbox-BCygk0lS.js";
2
- import { Fn as PreviewLinkInfo, ht as EnsureDevServerOptions } from "./types-BlA8Cly0.js";
3
- import { i as Sandbox } from "./client-BCX8_Mu-.js";
1
+ import { r as SandboxInstance } from "./sandbox-DalvAflZ.js";
2
+ import { Fn as PreviewLinkInfo, ht as EnsureDevServerOptions } from "./types-CdT-paBK.js";
3
+ import { i as Sandbox } from "./client-CbOQtx9b.js";
4
4
 
5
5
  //#region src/agent/preview-operations.d.ts
6
6
  type AgentPreviewOptions = Pick<EnsureDevServerOptions, "sessionId" | "cwd"> & {
@@ -30,8 +30,42 @@ const metadata = z.object({
30
30
  ctimeMs: z.number().finite(),
31
31
  sizeBytes: count
32
32
  });
33
- const manifestSchema = z.object({
34
- schema: z.literal("tangle.raw-evidence-archive.v1"),
33
+ const nativeSessionCopy = z.object({
34
+ harness: text,
35
+ format: text.nullable(),
36
+ executionId: text,
37
+ attempt: count.min(1),
38
+ nativeSessionId: z.string(),
39
+ copy: z.enum(["snapshot", "settled"]),
40
+ capturedAt: text,
41
+ process: z.object({
42
+ pid: count.nullable(),
43
+ exitedAt: text.nullable(),
44
+ exitCode: z.number().int().nullable(),
45
+ signal: text.nullable(),
46
+ outcome: z.enum([
47
+ "succeeded",
48
+ "failed",
49
+ "cancelled",
50
+ "unknown"
51
+ ])
52
+ }),
53
+ files: z.array(payload.extend({
54
+ store: safePath,
55
+ storePath: safePath,
56
+ format: text,
57
+ method: z.enum([
58
+ "byte-prefix",
59
+ "atomic-file",
60
+ "sqlite-backup"
61
+ ]),
62
+ truncated: z.boolean(),
63
+ sourceBytes: count
64
+ })),
65
+ complete: z.boolean(),
66
+ missingReasons: z.array(text)
67
+ });
68
+ const manifestBase = z.object({
35
69
  status: z.enum(["captured", "partial"]),
36
70
  sessionId: text,
37
71
  backendType: z.string().regex(/^[a-z][a-z0-9_-]{0,127}$/),
@@ -113,6 +147,11 @@ const manifestSchema = z.object({
113
147
  coverageComplete: z.boolean(),
114
148
  missingReasons: z.array(text)
115
149
  });
150
+ /** v2 adds each attempt's native session, from the harness session contract. */
151
+ const manifestSchema = z.discriminatedUnion("schema", [manifestBase.extend({ schema: z.literal("tangle.raw-evidence-archive.v1") }), manifestBase.extend({
152
+ schema: z.literal("tangle.raw-evidence-archive.v2"),
153
+ nativeSessions: z.array(nativeSessionCopy)
154
+ })]);
116
155
  const MAX_METADATA = 64 * 1024 * 1024;
117
156
  const MAX_RECORD = 16 * 1024 * 1024;
118
157
  /** Node-only directory export. Flat generated member names cannot traverse or create links. */
@@ -299,6 +338,11 @@ async function exportRawEvidenceDirectory(request, sessionId, targetDirectory, o
299
338
  if (!item.content || item.sha256 !== item.content.sha256 || item.sizeBytes !== item.content.sizeBytes) throw new Error("Evidence native payload mismatch");
300
339
  verify(item.content);
301
340
  } else if (item.content || item.sha256 || item.kind === "symlink" && item.linkTarget === void 0) throw new Error("Evidence native metadata mismatch");
341
+ const nativeSessions = manifest.schema === "tangle.raw-evidence-archive.v2" ? manifest.nativeSessions : [];
342
+ for (const copy of nativeSessions) {
343
+ if (!manifest.attempts.some((attempt) => attempt.executionId === copy.executionId && attempt.ordinal === copy.attempt)) throw new Error("Evidence native session copy is unattributed");
344
+ for (const file of copy.files) verify(file);
345
+ }
302
346
  for (const item of manifest.processSources) {
303
347
  if (item.sha256 !== item.content.sha256 || item.sizeBytes !== item.content.sizeBytes) throw new Error("Evidence process source mismatch");
304
348
  verify(item.content);
package/dist/runtime.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { A as CommitTaskSessionOptions, Aa as WriteFileOptions, At as FileUsageOptions, Bi as SessionEventStreamOptions, Ci as SandboxTerminalInfo, Cn as ListMessagesOptions, Dr as SandboxEvent, Gi as SessionInfo, H as CreateTaskSessionOptions, Hi as SessionExecutionStatus, Ii as SendSessionMessageOptions, Ji as SessionMessage, Li as SendSessionMessageRequest, Mt as FileWriteResult, Ot as FileTreeOptions, Ri as SentSessionMessage, Si as SandboxTerminalCreateOptions, St as FileReadBatchResult, T as ChunkedUploadResult, Ta as UploadProgress, Ti as SandboxTerminalRequestOptions, Tt as FileRenameResult, V as CreateSessionOptions, Vi as SessionExecutionInfo, Yi as SessionMessageAdmission, da as TaskSessionCommitResult, gi as SandboxRuntimeHealth, jt as FileUsageResult, kt as FileTreeResult, pa as TaskSessionInfo, sr as RenameOptions, ua as TaskSessionChanges, ui as SandboxPortBinding, w as ChunkedUploadOptions, wi as SandboxTerminalManager, xt as FileReadBatchOptions } from "./types-BlA8Cly0.js";
1
+ import { A as CommitTaskSessionOptions, At as FileUsageOptions, Ci as SandboxTerminalCreateOptions, Cn as ListMessagesOptions, Dr as SandboxEvent, Ea as UploadProgress, Ei as SandboxTerminalRequestOptions, H as CreateTaskSessionOptions, Hi as SessionExecutionInfo, Ki as SessionInfo, Li as SendSessionMessageOptions, Mt as FileWriteResult, Ot as FileTreeOptions, Ri as SendSessionMessageRequest, St as FileReadBatchResult, T as ChunkedUploadResult, Ti as SandboxTerminalManager, Tt as FileRenameResult, Ui as SessionExecutionStatus, V as CreateSessionOptions, Vi as SessionEventStreamOptions, Xi as SessionMessageAdmission, Yi as SessionMessage, _i as SandboxRuntimeHealth, da as TaskSessionChanges, fa as TaskSessionCommitResult, ja as WriteFileOptions, jt as FileUsageResult, kt as FileTreeResult, ma as TaskSessionInfo, sr as RenameOptions, ui as SandboxPortBinding, w as ChunkedUploadOptions, wi as SandboxTerminalInfo, xt as FileReadBatchOptions, zi as SentSessionMessage } from "./types-CdT-paBK.js";
2
2
  import { l as ScopedToken, t as TerminalStream } from "./terminal-stream-B6bUr0hj.js";
3
3
  import { c as InteractiveSessionIdentity, l as InteractiveSessionNotRunningError, r as browserInteractiveControlHolderId } from "./browser-interactive-control-controller-DRCfxOQz.js";
4
4
  import { t as BrowserInteractiveSessionController } from "./interactive-controller-ykaThYp6.js";
5
5
  import { _ as TimeoutError, a as FileWriteConflictError, c as NotFoundError, f as SandboxError, g as StateError, h as ServerError, l as PartialFailureError, m as SandboxFailureDetail, n as CapabilityError, p as SandboxErrorJson, s as NetworkError, t as AuthError, u as QuotaError, v as ValidationError } from "./errors-DS32ViPj.js";
6
- import { a as deriveAgentRunOutcome, i as deriveAgentResultOutcome, n as AgentRunOutcomeTracker, r as createAgentRunOutcomeTracker, t as AgentRunOutcome } from "./agent-run-outcome-CG7bb9lr.js";
6
+ import { a as deriveAgentRunOutcome, i as deriveAgentResultOutcome, n as AgentRunOutcomeTracker, r as createAgentRunOutcomeTracker, t as AgentRunOutcome } from "./agent-run-outcome-C8oSKngX.js";
7
7
 
8
8
  //#region src/lib/chunked-upload.d.ts
9
9
  /** The transport a caller wires this module to — {@link SandboxInstance.runtimeFetch}
package/dist/runtime.js CHANGED
@@ -1,4 +1,4 @@
1
- import { M as createAgentRunOutcomeTracker, N as deriveAgentResultOutcome, P as deriveAgentRunOutcome, b as uploadChunked, l as SandboxRuntimeApi, t as BrowserInteractiveSessionController } from "./interactive-controller-f_ePJqoh.js";
1
+ import { F as deriveAgentResultOutcome, I as deriveAgentRunOutcome, P as createAgentRunOutcomeTracker, b as uploadChunked, l as SandboxRuntimeApi, t as BrowserInteractiveSessionController } from "./interactive-controller-5_ixpFnR.js";
2
2
  import { a as FileWriteConflictError, c as NotFoundError, f as SandboxError, g as ValidationError, h as TimeoutError, l as PartialFailureError, m as StateError, n as CapabilityError, p as ServerError, s as NetworkError, t as AuthError, u as QuotaError } from "./errors-D1JIX7Jm.js";
3
3
  import { f as combineAbortSignals, n as browserInteractiveControlHolderId, s as InteractiveSessionNotRunningError } from "./browser-interactive-control-controller-BJf0P_J4.js";
4
4
  //#region src/runtime-client.ts
@@ -1,9 +1,9 @@
1
1
  import { r as backendTypeSchema } from "./backend-types-C7b_Gpa0.js";
2
- import { A as mergeRuntimeBackendConfig, C as SANDBOX_PROXY_REQUEST_MAX_BYTES, D as parseSSEStream, E as encodeTextForWire, M as createAgentRunOutcomeTracker, N as deriveAgentResultOutcome, O as applyRequestedModel, S as validateAcceptedDispatchRunRef, T as encodePromptForWire, _ as resolveTraceId, b as uploadChunked, c as requestScopedToken, d as normalizeSessionInfo, f as sessionMessageRequestBody, g as mintTraceId, h as isTraceId, j as normalizeRuntimeBackendConfig, k as assertCurrentBackendType, l as SandboxRuntimeApi, m as TRACE_ID_HEADER, n as InteractiveSessionController, o as assertScopedTokenActive, p as waitForRetryAfter, r as TerminalStream, u as isRetryableCredentialRefusal, v as appendSessionIdQuery, x as resolveDispatchRunIdentity, y as sessionHeaders } from "./interactive-controller-f_ePJqoh.js";
2
+ import { C as SANDBOX_PROXY_REQUEST_MAX_BYTES, D as parseSSEStream, E as encodeTextForWire, F as deriveAgentResultOutcome, M as normalizeRuntimeBackendConfig, N as withoutRuntimeSecrets, O as applyRequestedModel, P as createAgentRunOutcomeTracker, S as validateAcceptedDispatchRunRef, T as encodePromptForWire, _ as resolveTraceId, b as uploadChunked, c as requestScopedToken, d as normalizeSessionInfo, f as sessionMessageRequestBody, g as mintTraceId, h as isTraceId, j as mergeRuntimeBackendConfig, k as assertCurrentBackendType, l as SandboxRuntimeApi, m as TRACE_ID_HEADER, n as InteractiveSessionController, o as assertScopedTokenActive, p as waitForRetryAfter, r as TerminalStream, u as isRetryableCredentialRefusal, v as appendSessionIdQuery, x as resolveDispatchRunIdentity, y as sessionHeaders } from "./interactive-controller-5_ixpFnR.js";
3
3
  import { _ as parseErrorResponse, c as NotFoundError, f as SandboxError, g as ValidationError, h as TimeoutError, m as StateError, n as CapabilityError, p as ServerError, r as EdgeNotReadyError, s as NetworkError, t as AuthError, u as QuotaError, v as parseResponseError, y as readResponseJson } from "./errors-D1JIX7Jm.js";
4
4
  import { d as awaitWithAbort, f as combineAbortSignals, g as interactiveSessionStatusResponseSchema, h as interactiveSessionControlValidationResponseSchema, l as createInteractiveControlHolderId, m as interactiveSessionControlReleaseResponseSchema, p as interactiveSessionControlClaimResponseSchema } from "./browser-interactive-control-controller-BJf0P_J4.js";
5
5
  import { SandboxLines } from "./lines.js";
6
- import { r as cliAuthReferenceSchema } from "./cli-auth-bundle-CJSdRlx0.js";
6
+ import { r as cliAuthReferenceSchema } from "./cli-auth-bundle-D_1bUPSo.js";
7
7
  import { AgentExactRunControlRefSchema, AgentInteractiveSessionAttachSchema, AgentInteractiveSessionControlClaimAcknowledgementSchema, AgentInteractiveSessionControlClaimRequestSchema, AgentInteractiveSessionControlClaimSchema, AgentInteractiveSessionPromptAcknowledgementSchema, AgentInteractiveSessionPromptCommandSchema, AgentInteractiveSessionRefSchema, AgentInteractiveSessionStartSchema, AgentInteractiveSessionStopAcknowledgementSchema, AgentInteractiveSessionStopCommandSchema, AgentRunCancellationAcknowledgementSchema, AgentRunCancellationRequestSchema, InteractionAcknowledgementSchema, InteractionBindingSchema, InteractionRequestSchema, InteractionResponseCommandSchema, InteractionResponseSchema, TerminalInputSchema, TerminalOutputEventSchema, TerminalReplayWindowSchema, TerminalResizeSchema, TerminalSessionRefSchema, agentInteractiveSessionControlClaimAcknowledgementMatchesRequest, agentInteractiveSessionControlClaimIsNewer, agentInteractiveSessionControlClaimMatchesRef, agentInteractiveSessionPromptAcknowledgementMatchesCommand, agentInteractiveSessionPromptRequestDigest, agentInteractiveSessionRefMatchesStart, agentInteractiveSessionStatusMatchesRef, agentInteractiveSessionStopAcknowledgementMatchesCommand, agentProfileSchema, agentRunCancellationAcknowledgementMatchesRequest, canonicalCandidateDigest, canonicalCandidateJson, exactAgentInteractiveSessionStart, sha256DigestSchema, terminalSessionUsable } from "@tangle-network/agent-interface";
8
8
  import { z } from "zod";
9
9
  import { AgentInteractiveSessionControlClaimSchema as AgentInteractiveSessionControlClaimSchema$1, AgentInteractiveSessionPromptAcknowledgementSchema as AgentInteractiveSessionPromptAcknowledgementSchema$1, AgentInteractiveSessionRefSchema as AgentInteractiveSessionRefSchema$1, AgentInteractiveSessionStatusSchema, AgentInteractiveSessionStopAcknowledgementSchema as AgentInteractiveSessionStopAcknowledgementSchema$1 } from "@tangle-network/agent-interface/environment-interactive-control";
@@ -6966,9 +6966,21 @@ var SandboxInstance = class SandboxInstance {
6966
6966
  const diagnostics = data ? normalizeStartupDiagnostics(data.startupDiagnostics) : null;
6967
6967
  if (diagnostics) this.info.startupDiagnostics = diagnostics;
6968
6968
  }
6969
- /**
6970
- * Resume a stopped sandbox.
6971
- */
6969
+ /** Read credential recovery metadata without changing sandbox lifecycle. */
6970
+ async getEnvRecovery() {
6971
+ return await readResponseJson(await this.client.fetch(`/v1/sandboxes/${encodeURIComponent(this.id)}/env-recovery`));
6972
+ }
6973
+ /** Replace a stopped sandbox's policy, or inspect a proposed change with dryRun. */
6974
+ async setEnvRecovery(envRecovery, options = {}) {
6975
+ return await readResponseJson(await this.client.fetch(`/v1/sandboxes/${encodeURIComponent(this.id)}/env-recovery`, {
6976
+ method: "PUT",
6977
+ body: JSON.stringify({
6978
+ envRecovery,
6979
+ ...options
6980
+ })
6981
+ }));
6982
+ }
6983
+ /** Resume a stopped sandbox; cold recovery may require caller env values. */
6972
6984
  async resume(options = {}) {
6973
6985
  await this.resumeRuntime("resume", options);
6974
6986
  }
@@ -7741,7 +7753,7 @@ var SandboxInstance = class SandboxInstance {
7741
7753
  const backend = mergeRuntimeBackendConfig(this.defaultRuntimeBackend, applyRequestedModel(opts.backend, opts.model));
7742
7754
  if (info?.status === "queued" && hasExplicitBackend) await this.createSession({
7743
7755
  sessionId: opts.sessionId,
7744
- ...backend !== void 0 ? { backend } : {}
7756
+ ...backend !== void 0 ? { backend: withoutRuntimeSecrets(backend) } : {}
7745
7757
  });
7746
7758
  const awaitingFirstTurn = Boolean(info && isSessionAwaitingFirstTurn(info));
7747
7759
  if (info && isSessionInFlight(info)) {
@@ -7779,15 +7791,17 @@ var SandboxInstance = class SandboxInstance {
7779
7791
  }
7780
7792
  const session = info ? this.session(opts.sessionId) : (await this.createSession({
7781
7793
  sessionId: opts.sessionId,
7782
- ...backend !== void 0 ? { backend } : {}
7794
+ ...backend !== void 0 ? { backend: withoutRuntimeSecrets(backend) } : {}
7783
7795
  })).session;
7784
7796
  const parts = typeof message === "string" ? [{
7785
7797
  type: "text",
7786
7798
  text: message
7787
7799
  }] : message;
7800
+ const runtimeSecrets = backend?.runtimeSecrets;
7788
7801
  await session.sendMessage({
7789
7802
  parts: [...parts],
7790
- turnId
7803
+ turnId,
7804
+ ...runtimeSecrets !== void 0 ? { backend: { runtimeSecrets } } : {}
7791
7805
  }, {
7792
7806
  ...opts.timeoutMs !== void 0 ? { timeoutMs: opts.timeoutMs } : {},
7793
7807
  ...opts.signal ? { signal: opts.signal } : {},
@@ -7847,7 +7861,7 @@ var SandboxInstance = class SandboxInstance {
7847
7861
  await this.createSession({
7848
7862
  sessionId: opts.sessionId,
7849
7863
  retention: "workspace",
7850
- ...backend !== void 0 ? { backend } : {}
7864
+ ...backend !== void 0 ? { backend: withoutRuntimeSecrets(backend) } : {}
7851
7865
  });
7852
7866
  info = await this._sessionStatus(opts.sessionId);
7853
7867
  if (!info) throw new Error("Conversation session creation was not confirmed");
@@ -7939,12 +7953,14 @@ var SandboxInstance = class SandboxInstance {
7939
7953
  }
7940
7954
  /** @internal — invoked before the sandbox is deleted. */
7941
7955
  async _sessionExportRawEvidence(id, destination, options) {
7942
- const { exportRawEvidenceDirectory } = await import("./raw-evidence-archive-FxWK99KW.js");
7956
+ const { exportRawEvidenceDirectory } = await import("./raw-evidence-archive-Bi-Lt83d.js");
7943
7957
  await this.ensureRunning();
7944
7958
  await this.refresh();
7945
7959
  return exportRawEvidenceDirectory((signal) => this.runtimeFetch(`/agents/sessions/${encodeURIComponent(id)}/raw-evidence/archive?${new URLSearchParams({
7946
7960
  maxBytes: String(options.maxBytes),
7947
- maxFiles: String(options.maxFiles)
7961
+ maxFiles: String(options.maxFiles),
7962
+ ...options.copy ? { copy: options.copy } : {},
7963
+ ...options.executionId ? { executionId: options.executionId } : {}
7948
7964
  })}`, {
7949
7965
  method: "GET",
7950
7966
  signal
@@ -1,9 +1,9 @@
1
1
  import { t as CliAuthReference } from "./cli-auth-bundle-BMcIiB-I.js";
2
- import { $i as SnapshotDeleteAcknowledgement, A as CommitTaskSessionOptions, Aa as WriteFileOptions, Ai as SandboxTraceOptions, Bi as SessionEventStreamOptions, C as BranchOptions, Cn as ListMessagesOptions, Cr as SandboxDeleteAcknowledgement, D as CodeExecutionResult, Da as WaitForOptions, Di as SandboxTraceBundle, Dr as SandboxEvent, E as CodeExecutionOptions, Ei as SandboxTerminals, Et as FileSystem, Gi as SessionInfo, H as CreateTaskSessionOptions, Hn as ProcessManager, Ii as SendSessionMessageOptions, In as PreviewLinkManager, Ji as SessionMessage, Jn as PromptResult, Ki as SessionInterruptOptions, Kn as PromptInputPart, Li as SendSessionMessageRequest, M as ConversationTurnOptions, Ma as WriteManyOptions, Mi as SearchMatch, Mt as FileWriteResult, N as ConversationTurnResult, Ni as SearchOptions, O as CodeLanguage, Oa as WaitForRolloutOptions, Pn as PermissionsManager, Q as DispatchedSession, Qr as SandboxFleetTraceBundle, Qt as ForkLookupOptions, Ri as SentSessionMessage, Sa as TurnDriveResult, Sn as JsonValue, Sr as SandboxCreateReceipt, V as CreateSessionOptions, Vi as SessionExecutionInfo, Wi as SessionForkOptions, Xn as ProvisionResult, Xt as ForkCounts, Yi as SessionMessageAdmission, Yn as ProvisionEvent, Z as DispatchPromptOptions, Zi as SessionResultOptions, Zt as ForkIdempotency, _a as TeeAttestationResponse, _i as SandboxShape, _n as IntelligenceReport, _r as SSHCommandDescriptor, an as GitStatus, bi as SandboxStatus, br as SandboxConnection, ci as SandboxInfo, cr as RestoreSnapshotOptions, d as BackendConfig, da as TaskSessionCommitResult, dn as GpuLeaseManager, fr as RolloutOptions, gi as SandboxRuntimeHealth, gn as InstalledTool, gt as EventStreamOptions, ha as TeeAttestationOptions, hi as SandboxRuntimeCapabilities, ia as SnapshotResult, in as GitDiff, it as DriverInfo, j as CompletedTurnResult, ja as WriteManyFile, jn as NetworkManager, ka as WorkspaceOperationLookup, lr as ResumeOptions, mr as RolloutStartResult, na as SnapshotInfo, nn as GitCommit, nt as DriveTurnOptions, oa as StartupDiagnostics, on as GpuLease, ot as DurablePlan, p as BackendManager, pa as TaskSessionInfo, pi as SandboxResourceUsage, pt as EgressManager, qi as SessionListOptions, qn as PromptOptions, ra as SnapshotOptions, st as DurablePlanDecisionResult, tn as GitBranch, ua as TaskSessionChanges, ui as SandboxPortBinding, ur as Rollout, vn as IntelligenceReportBudget, vr as SSHCredentials, vt as ExecOptions, wr as SandboxDeleteOptions, xi as SandboxTerminalAttachOptions, xn as IntelligenceReportWindow, ya as TeePublicKeyResponse, yn as IntelligenceReportCompareTo, yt as ExecResult } from "./types-BlA8Cly0.js";
2
+ import { A as CommitTaskSessionOptions, Aa as WorkspaceOperationLookup, C as BranchOptions, Ca as TurnDriveResult, Cn as ListMessagesOptions, Cr as SandboxDeleteAcknowledgement, D as CodeExecutionResult, Di as SandboxTerminals, Dr as SandboxEvent, E as CodeExecutionOptions, Et as FileSystem, Ga as RawEvidenceExportOptions, Gi as SessionForkOptions, H as CreateTaskSessionOptions, Ha as SandboxEnvRecoveryView, Hi as SessionExecutionInfo, Hn as ProcessManager, In as PreviewLinkManager, Ji as SessionListOptions, Jn as PromptResult, Ki as SessionInfo, Kn as PromptInputPart, Li as SendSessionMessageOptions, M as ConversationTurnOptions, Ma as WriteManyFile, Mt as FileWriteResult, N as ConversationTurnResult, Na as WriteManyOptions, Ni as SearchMatch, O as CodeLanguage, Oa as WaitForOptions, Oi as SandboxTraceBundle, Pi as SearchOptions, Pn as PermissionsManager, Q as DispatchedSession, Qi as SessionResultOptions, Qr as SandboxFleetTraceBundle, Qt as ForkLookupOptions, Ri as SendSessionMessageRequest, Si as SandboxTerminalAttachOptions, Sn as JsonValue, Sr as SandboxCreateReceipt, V as CreateSessionOptions, Va as SandboxEnvRecovery, Vi as SessionEventStreamOptions, Wa as RawEvidenceDirectoryExport, Xa as InteractionResolutionAcknowledgement, Xi as SessionMessageAdmission, Xn as ProvisionResult, Xt as ForkCounts, Ya as WorkspaceImagePublishResult$1, Yi as SessionMessage, Yn as ProvisionEvent, Z as DispatchPromptOptions, Zt as ForkIdempotency, _i as SandboxRuntimeHealth, _n as IntelligenceReport, _r as SSHCommandDescriptor, aa as SnapshotResult, an as GitStatus, ba as TeePublicKeyResponse, br as SandboxConnection, ci as SandboxInfo, cr as RestoreSnapshotOptions, d as BackendConfig, da as TaskSessionChanges, dn as GpuLeaseManager, ea as SnapshotDeleteAcknowledgement, fa as TaskSessionCommitResult, fr as RolloutOptions, ga as TeeAttestationOptions, gi as SandboxRuntimeCapabilities, gn as InstalledTool, gt as EventStreamOptions, ia as SnapshotOptions, in as GitDiff, it as DriverInfo, j as CompletedTurnResult, ja as WriteFileOptions, ji as SandboxTraceOptions, jn as NetworkManager, ka as WaitForRolloutOptions, lr as ResumeOptions, ma as TaskSessionInfo, mr as RolloutStartResult, nn as GitCommit, nt as DriveTurnOptions, on as GpuLease, ot as DurablePlan, p as BackendManager, pi as SandboxResourceUsage, pt as EgressManager, qi as SessionInterruptOptions, qn as PromptOptions, ra as SnapshotInfo, sa as StartupDiagnostics, st as DurablePlanDecisionResult, tn as GitBranch, ui as SandboxPortBinding, ur as Rollout, va as TeeAttestationResponse, vi as SandboxShape, vn as IntelligenceReportBudget, vr as SSHCredentials, vt as ExecOptions, wr as SandboxDeleteOptions, xi as SandboxStatus, xn as IntelligenceReportWindow, yn as IntelligenceReportCompareTo, yt as ExecResult, zi as SentSessionMessage } from "./types-CdT-paBK.js";
3
3
  import { a as TerminalStreamReconnectAuthority, c as MintScopedTokenOptions, h as TerminalReadyInfo, l as ScopedToken, r as TerminalStreamHandlers, t as TerminalStream } from "./terminal-stream-B6bUr0hj.js";
4
4
  import { f as InteractiveAttachOptions, g as InteractiveSessionStatus, h as InteractiveRequestOptions, m as InteractiveControlClaimOptions, p as InteractiveControlClaimAcknowledgement } from "./browser-interactive-control-controller-DRCfxOQz.js";
5
5
  import { r as InteractiveAttachRequest } from "./interactive-controller-ykaThYp6.js";
6
- import { I as SandboxLines } from "./lines-BbvLx7pi.js";
6
+ import { R as SandboxLines } from "./lines-BTZTbYDz.js";
7
7
  import { AgentInteractiveSessionAttach, AgentInteractiveSessionControlClaim, AgentInteractiveSessionControlClaimAcknowledgement, AgentInteractiveSessionControlClaimRequest, AgentInteractiveSessionPromptAcknowledgement, AgentInteractiveSessionPromptCommand, AgentInteractiveSessionRef, AgentInteractiveSessionStart, AgentInteractiveSessionStopAcknowledgement, AgentInteractiveSessionStopCommand, AgentInteractiveTerminalSession, AgentInteractiveTerminalSession as AgentInteractiveTerminalSession$1, AgentProfile, AgentRunCancellationAcknowledgement, AgentRunCancellationRequest, InteractionAcknowledgement, InteractionData, InteractionRequest, InteractionResponseCommand, TerminalOutputEvent, TerminalReplayWindow, agentInteractiveSessionPromptRequestDigest } from "@tangle-network/agent-interface";
8
8
  import { z } from "zod";
9
9
 
@@ -118,202 +118,6 @@ declare function buildControlPlaneMcpConfig(options: BuildControlPlaneMcpConfigO
118
118
  config: SandboxMcpConfig;
119
119
  };
120
120
  //#endregion
121
- //#region ../../../packages/runtime-contracts/dist/interaction-response.d.ts
122
- /** Canonical result returned after a response is recorded by Sidecar. */
123
- declare const interactionResolutionAcknowledgementSchema: z.ZodObject<{
124
- status: z.ZodEnum<{
125
- accepted: "accepted";
126
- already_resolved_same: "already_resolved_same";
127
- }>;
128
- operationId: z.ZodString;
129
- responseDigest: z.ZodType<`sha256:${string}`, unknown, z.core.$ZodTypeInternals<`sha256:${string}`, unknown>>;
130
- interactionId: z.ZodString;
131
- sessionId: z.ZodString;
132
- outcome: z.ZodEnum<{
133
- accepted: "accepted";
134
- declined: "declined";
135
- cancelled: "cancelled";
136
- }>;
137
- deliveryState: z.ZodEnum<{
138
- pending: "pending";
139
- delivering: "delivering";
140
- delivered: "delivered";
141
- delivery_failed: "delivery_failed";
142
- backend_lost: "backend_lost";
143
- effect_unknown: "effect_unknown";
144
- }>;
145
- delivered: z.ZodBoolean;
146
- resolvedAt: z.ZodString;
147
- binding: z.ZodOptional<z.ZodObject<{
148
- runId: z.ZodString;
149
- provider: z.ZodString;
150
- environmentId: z.ZodString;
151
- sessionId: z.ZodString;
152
- executionId: z.ZodString;
153
- interactionId: z.ZodString;
154
- requestDigest: z.ZodType<`sha256:${string}`, unknown, z.core.$ZodTypeInternals<`sha256:${string}`, unknown>>;
155
- }, z.core.$strict>>;
156
- }, z.core.$strict>;
157
- type InteractionResolutionAcknowledgement = z.infer<typeof interactionResolutionAcknowledgementSchema>;
158
- //#endregion
159
- //#region ../../../packages/runtime-contracts/dist/workspace-image-types.d.ts
160
- /** A port declared by the published OCI image. */
161
- interface WorkspaceImageExposedPort {
162
- port: number;
163
- protocol: "tcp" | "udp" | "sctp";
164
- }
165
- /** Successful workspace image publication returned by the Sandbox API. */
166
- interface WorkspaceImagePublishResult$1 {
167
- /** Immutable registry reference. */
168
- image: string;
169
- /** Operation-stable tag used during publication. */
170
- taggedImage: string;
171
- digest: string;
172
- imageId: string;
173
- sizeBytes: number;
174
- contextBytes: number;
175
- contextEntries: number;
176
- buildDurationMs: number;
177
- pushDurationMs: number;
178
- /** Network ports from the final image configuration, not source inspection. */
179
- exposedPorts: WorkspaceImageExposedPort[];
180
- }
181
- //#endregion
182
- //#region ../../../packages/runtime-contracts/dist/raw-evidence-export.d.ts
183
- /** Wire contract for bounded, session-owned native evidence archives. */
184
- interface RawEvidencePayloadFile {
185
- /** Safe relative path below the exported directory; never an absolute native path. */
186
- path: string;
187
- sizeBytes: number;
188
- sha256: `sha256:${string}`;
189
- }
190
- interface RawEvidenceRecordsFile extends RawEvidencePayloadFile {
191
- format: "ndjson";
192
- /** Number of complete records, in original order. */
193
- records: number;
194
- }
195
- interface RawEvidenceNativeMetadata {
196
- sourceId?: string;
197
- rootScope: "session-home" | "workspace-session";
198
- path: string;
199
- kind: "file" | "directory" | "symlink";
200
- mode: number;
201
- uid: number;
202
- gid: number;
203
- mtimeMs: number;
204
- ctimeMs: number;
205
- sizeBytes: number;
206
- }
207
- type RawEvidenceNativeFile = RawEvidenceNativeMetadata & {
208
- sha256?: string;
209
- linkTarget?: string; /** Replaces contentBase64 for regular files. Symlinks remain metadata only. */
210
- content?: RawEvidencePayloadFile;
211
- };
212
- interface RawEvidenceArchiveAttempt {
213
- executionId: string;
214
- ordinal: number;
215
- providerSessionId: string;
216
- nativeSessionIds: string[];
217
- processIds: string[];
218
- outcome: "succeeded" | "failed" | "cancelled" | "unknown";
219
- missingReasons: string[];
220
- }
221
- interface RawEvidenceArchiveEventMetadata {
222
- executionId: string;
223
- sessionId: string;
224
- status: "active" | "completed" | "failed" | "cancelled";
225
- startedAt: number;
226
- completedAt?: number;
227
- eventCount: number;
228
- lastEventId: string;
229
- }
230
- /** Payload references replace only inline content and aggregate record arrays. */
231
- interface RawEvidenceArchiveManifest {
232
- schema: "tangle.raw-evidence-archive.v1";
233
- status: "captured" | "partial";
234
- sessionId: string;
235
- backendType: string;
236
- nativeSessionId: string | null;
237
- proofStatus: "verified" | "unverified";
238
- containerId?: string;
239
- sidecarImageDigest: string;
240
- sidecarBundleRevision: string;
241
- sidecarBundleChecksum?: string;
242
- nativeRoots: Array<{
243
- sourceId?: string;
244
- rootScope: "session-home" | "workspace-session";
245
- path: string;
246
- }>;
247
- files: RawEvidenceNativeFile[];
248
- excluded: Array<RawEvidenceNativeMetadata & {
249
- reason: "credential";
250
- }>;
251
- skipped: Array<{
252
- sourceId?: string;
253
- rootScope: "session-home" | "workspace-session";
254
- path: string;
255
- reason: string;
256
- }>;
257
- inventory: Record<string, number>;
258
- /** NDJSON rows preserve legacy processIo fields, replacing contentBase64 with content: RawEvidencePayloadFile. */
259
- processIo: RawEvidenceRecordsFile;
260
- /** NDJSON rows have exactly the fields of legacy processTerminals entries. */
261
- processTerminals: RawEvidenceRecordsFile;
262
- processSources: Array<{
263
- sourceId: string;
264
- sizeBytes: number;
265
- sha256: string; /** Exact source spool bytes; replaces contentBase64. */
266
- content: RawEvidencePayloadFile;
267
- }>;
268
- events: Array<{
269
- metadata: RawEvidenceArchiveEventMetadata; /** Canonical reconstructed BufferedEvent rows, in original event order. */
270
- frames: RawEvidenceRecordsFile;
271
- }>;
272
- attempts: RawEvidenceArchiveAttempt[];
273
- evidenceSources: Array<{
274
- executionId: string;
275
- sourceId: string;
276
- backendType: string;
277
- runtimeHome: string;
278
- credentialPaths: string[];
279
- }>;
280
- completeness: {
281
- nativeStore: boolean;
282
- processIo: boolean;
283
- events: boolean;
284
- };
285
- coverageComplete: boolean;
286
- missingReasons: string[];
287
- }
288
- interface RawEvidenceUnavailable {
289
- status: "unavailable";
290
- sessionId: string;
291
- backendType: string;
292
- reason: string;
293
- }
294
- interface RawEvidenceExportOptions {
295
- /** Bound all uncompressed archive member bytes, including metadata and records. */
296
- maxBytes: number;
297
- /** Bound all archive file entries, including empty files. */
298
- maxFiles: number;
299
- /** Compressed transport bound; defaults to maxBytes plus bounded tar overhead. */
300
- maxArchiveBytes?: number;
301
- signal?: AbortSignal;
302
- }
303
- type RawEvidenceDirectoryExport = RawEvidenceUnavailable | {
304
- status: "captured" | "partial";
305
- directory: string;
306
- manifestPath: string;
307
- manifestSha256: `sha256:${string}`;
308
- transfer: {
309
- sizeBytes: number;
310
- sha256: string;
311
- }; /** Bounded metadata only. No inline payload or aggregate frame contents. */
312
- manifest: RawEvidenceArchiveManifest;
313
- coverageComplete: boolean;
314
- missingReasons: string[];
315
- };
316
- //#endregion
317
121
  //#region src/direct-read-route.d.ts
318
122
  type DirectReadFallbackReason = "expired" | "refused" | "unreachable" | "timeout" | "malformed" | "cooldown";
319
123
  /** What the route has done, for the caller and for the probe. */
@@ -1977,9 +1781,13 @@ declare class SandboxInstance {
1977
1781
  * returns it (replacing the create breakdown).
1978
1782
  */
1979
1783
  stop(): Promise<void>;
1980
- /**
1981
- * Resume a stopped sandbox.
1982
- */
1784
+ /** Read credential recovery metadata without changing sandbox lifecycle. */
1785
+ getEnvRecovery(): Promise<SandboxEnvRecoveryView>;
1786
+ /** Replace a stopped sandbox's policy, or inspect a proposed change with dryRun. */
1787
+ setEnvRecovery(envRecovery: SandboxEnvRecovery, options?: {
1788
+ dryRun?: boolean;
1789
+ }): Promise<SandboxEnvRecoveryView>;
1790
+ /** Resume a stopped sandbox; cold recovery may require caller env values. */
1983
1791
  resume(options?: ResumeOptions): Promise<void>;
1984
1792
  /** Rebuild a stopped sandbox from its durable snapshot under the same ID. */
1985
1793
  rebuild(options?: ResumeOptions): Promise<void>;
@@ -2331,4 +2139,4 @@ declare class SandboxInstance {
2331
2139
  }): Promise<DurablePlanDecisionResult>;
2332
2140
  }
2333
2141
  //#endregion
2334
- export { SandboxMcpConfig as $, InteractiveStopCommand as A, SandboxInteractionConflict as B, InteractiveSessionHandleOptions as C, InteractiveSessionRef as D, InteractiveSessionInfo as E, InteractiveTerminalFrameLog as F, RawEvidenceExportOptions as G, SandboxInteractionResult as H, InteractiveTerminalMetadata as I, RawEvidenceRecordsFile as J, RawEvidenceNativeFile as K, createInteractiveTerminalCapture as L, RespondToPermissionOptions as M, agentInteractiveSessionPromptRequestDigest as N, InteractiveSessionStartOptions as O, InteractiveTerminalCapture as P, SANDBOX_MCP_SERVER_NAME as Q, createInteractiveTerminalSession as R, InteractiveSessionHandle as S, InteractiveSessionIncarnationId as T, RawEvidenceArchiveManifest as U, SandboxInteractionResolution as V, RawEvidenceDirectoryExport as W, BuildSandboxMcpConfigOptions as X, BuildControlPlaneMcpConfigOptions as Y, CONTROL_PLANE_MCP_SERVER_NAME as Z, SandboxSession as _, WorkspaceImagePublishRequestOptions as a, InteractivePromptCommand as b, TraceExportFormat as c, buildTraceExportPayload as d, SandboxMcpEndpoint as et, exportTraceBundle as f, RawEvidenceExport as g, SandboxTaskSession as h, WorkspaceImagePublishInput as i, InterruptResult as j, InteractiveSessionStartResult as k, TraceExportResult as l, toOtelJson as m, HttpClient as n, buildControlPlaneMcpConfig as nt, WorkspaceImagePublishResult as o, otelTraceIdForTangleTrace as p, RawEvidencePayloadFile as q, SandboxInstance as r, buildSandboxMcpConfig as rt, WorkspaceImages as s, ForkAcknowledgement as t, SandboxMcpServerEntry as tt, TraceExportSink as u, AgentInteractiveTerminalSession$1 as v, InteractiveSessionHost as w, InteractiveSessionControlClaim as x, InteractiveControlClaimRequest as y, SandboxInteractionCommandResult as z };
2142
+ export { InteractiveStopCommand as A, SandboxInteractionConflict as B, InteractiveSessionHandleOptions as C, InteractiveSessionRef as D, InteractiveSessionInfo as E, InteractiveTerminalFrameLog as F, CONTROL_PLANE_MCP_SERVER_NAME as G, SandboxInteractionResult as H, InteractiveTerminalMetadata as I, SandboxMcpEndpoint as J, SANDBOX_MCP_SERVER_NAME as K, createInteractiveTerminalCapture as L, RespondToPermissionOptions as M, agentInteractiveSessionPromptRequestDigest as N, InteractiveSessionStartOptions as O, InteractiveTerminalCapture as P, createInteractiveTerminalSession as R, InteractiveSessionHandle as S, InteractiveSessionIncarnationId as T, BuildControlPlaneMcpConfigOptions as U, SandboxInteractionResolution as V, BuildSandboxMcpConfigOptions as W, buildControlPlaneMcpConfig as X, SandboxMcpServerEntry as Y, buildSandboxMcpConfig as Z, SandboxSession as _, WorkspaceImagePublishRequestOptions as a, InteractivePromptCommand as b, TraceExportFormat as c, buildTraceExportPayload as d, exportTraceBundle as f, RawEvidenceExport as g, SandboxTaskSession as h, WorkspaceImagePublishInput as i, InterruptResult as j, InteractiveSessionStartResult as k, TraceExportResult as l, toOtelJson as m, HttpClient as n, WorkspaceImagePublishResult as o, otelTraceIdForTangleTrace as p, SandboxMcpConfig as q, SandboxInstance as r, WorkspaceImages as s, ForkAcknowledgement as t, TraceExportSink as u, AgentInteractiveTerminalSession$1 as v, InteractiveSessionHost as w, InteractiveSessionControlClaim as x, InteractiveControlClaimRequest as y, SandboxInteractionCommandResult as z };
@@ -1,2 +1,2 @@
1
- import { C as JsonResponseParamTypes, E as SandboxIdParamTypes, S as ITangleJobsAbi, T as SandboxCreateResponseParamTypes, _ as JOB_SANDBOX_DELETE, a as fetchQuote, b as TangleSandboxClientConfig, c as parseQuoteResponse, d as OperatorSession, f as OperatorSessionError, g as JOB_SANDBOX_CREATE, h as TangleSandboxClient, i as SignedQuote, l as validateQuote, m as SignMessage, n as QuoteDomain, o as inputsHashOf, p as OperatorSessionToken, r as QuoteError, s as jobQuoteDigest, t as JobQuoteDetails, u as OperatorChallenge, v as TANGLE_CHAIN_ID, w as SandboxCreateParamTypes, x as AgentSandboxBlueprintAbi, y as TANGLE_JOBS_CONTRACT } from "../index-BgFIcLar.js";
1
+ import { C as JsonResponseParamTypes, E as SandboxIdParamTypes, S as ITangleJobsAbi, T as SandboxCreateResponseParamTypes, _ as JOB_SANDBOX_DELETE, a as fetchQuote, b as TangleSandboxClientConfig, c as parseQuoteResponse, d as OperatorSession, f as OperatorSessionError, g as JOB_SANDBOX_CREATE, h as TangleSandboxClient, i as SignedQuote, l as validateQuote, m as SignMessage, n as QuoteDomain, o as inputsHashOf, p as OperatorSessionToken, r as QuoteError, s as jobQuoteDigest, t as JobQuoteDetails, u as OperatorChallenge, v as TANGLE_CHAIN_ID, w as SandboxCreateParamTypes, x as AgentSandboxBlueprintAbi, y as TANGLE_JOBS_CONTRACT } from "../index-BWmtGiyF.js";
2
2
  export { AgentSandboxBlueprintAbi, ITangleJobsAbi, JOB_SANDBOX_CREATE, JOB_SANDBOX_DELETE, JobQuoteDetails, JsonResponseParamTypes, OperatorChallenge, OperatorSession, OperatorSessionError, OperatorSessionToken, QuoteDomain, QuoteError, SandboxCreateParamTypes, SandboxCreateResponseParamTypes, SandboxIdParamTypes, SignMessage, SignedQuote, TANGLE_CHAIN_ID, TANGLE_JOBS_CONTRACT, TangleSandboxClient, TangleSandboxClientConfig, fetchQuote, inputsHashOf, jobQuoteDigest, parseQuoteResponse, validateQuote };
@@ -1,2 +1,2 @@
1
- import { _ as SandboxCreateParamTypes, a as parseQuoteResponse, c as OperatorSession, d as JOB_SANDBOX_DELETE, f as TANGLE_CHAIN_ID, g as JsonResponseParamTypes, h as ITangleJobsAbi, i as jobQuoteDigest, l as OperatorSessionError, m as AgentSandboxBlueprintAbi, n as fetchQuote, o as validateQuote, p as TANGLE_JOBS_CONTRACT, r as inputsHashOf, s as TangleSandboxClient, t as QuoteError, u as JOB_SANDBOX_CREATE, v as SandboxCreateResponseParamTypes, y as SandboxIdParamTypes } from "../tangle-fMCqH1ig.js";
1
+ import { _ as SandboxCreateParamTypes, a as parseQuoteResponse, c as OperatorSession, d as JOB_SANDBOX_DELETE, f as TANGLE_CHAIN_ID, g as JsonResponseParamTypes, h as ITangleJobsAbi, i as jobQuoteDigest, l as OperatorSessionError, m as AgentSandboxBlueprintAbi, n as fetchQuote, o as validateQuote, p as TANGLE_JOBS_CONTRACT, r as inputsHashOf, s as TangleSandboxClient, t as QuoteError, u as JOB_SANDBOX_CREATE, v as SandboxCreateResponseParamTypes, y as SandboxIdParamTypes } from "../tangle-CLrVMWGG.js";
2
2
  export { AgentSandboxBlueprintAbi, ITangleJobsAbi, JOB_SANDBOX_CREATE, JOB_SANDBOX_DELETE, JsonResponseParamTypes, OperatorSession, OperatorSessionError, QuoteError, SandboxCreateParamTypes, SandboxCreateResponseParamTypes, SandboxIdParamTypes, TANGLE_CHAIN_ID, TANGLE_JOBS_CONTRACT, TangleSandboxClient, fetchQuote, inputsHashOf, jobQuoteDigest, parseQuoteResponse, validateQuote };
@@ -1,5 +1,5 @@
1
1
  import { y as readResponseJson } from "./errors-D1JIX7Jm.js";
2
- import { n as createSandboxInstanceFromResponse } from "./sandbox-D3SjjeDp.js";
2
+ import { n as createSandboxInstanceFromResponse } from "./sandbox-D3VcDY8b.js";
3
3
  import { _ as rotlBH, a as anumber, b as rotlSL, d as createXOFer, g as u32, h as toBytes$1, l as createHasher, m as swap32IfBE, n as abytes, o as aoutput, r as aexists, s as clean, t as Hash, v as rotlBL, x as split, y as rotlSH } from "./utils-ChcSLv53.js";
4
4
  //#region src/tangle/abi.ts
5
5
  /**