@tangle-network/sandbox 0.30.1 → 0.30.2-develop.20260820100122.dc85046

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/dist/runtime.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { Fi as TaskSessionInfo, Gr as SandboxTerminalCreateOptions, Hr as SandboxRuntimeHealth, Jr as SandboxTerminalRequestOptions, Kr as SandboxTerminalInfo, Lr as SandboxPortBinding, Mi as TaskSessionChanges, N as CreateSessionOptions, Ni as TaskSessionCommitResult, P as CreateTaskSessionOptions, Qi as WriteFileOptions, Vn as RenameOptions, _i as SessionMessage, _t as FileWriteResult, ci as SendSessionMessageRequest, gt as FileUsageResult, ht as FileUsageOptions, li as SentSessionMessage, mi as SessionInfo, mt as FileTreeResult, nn as ListMessagesOptions, ot as FileReadBatchOptions, pt as FileTreeOptions, qi as UploadProgress, qr as SandboxTerminalManager, si as SendSessionMessageOptions, st as FileReadBatchResult, ut as FileRenameResult, v as ChunkedUploadOptions, w as CommitTaskSessionOptions, y as ChunkedUploadResult } from "./types-Qn3x7R8O.js";
1
+ import { $r as SandboxTerminalRequestOptions, Bi as TaskSessionInfo, C as ChunkedUploadResult, Hr as SandboxPortBinding, Kn as RenameOptions, L as CreateSessionOptions, Li as TaskSessionChanges, O as CommitTaskSessionOptions, Qi as UploadProgress, Qr as SandboxTerminalManager, R as CreateTaskSessionOptions, Ri as TaskSessionCommitResult, S as ChunkedUploadOptions, Si as SessionMessage, St as FileWriteResult, Xr as SandboxTerminalCreateOptions, Zr as SandboxTerminalInfo, bt as FileUsageOptions, dt as FileReadBatchOptions, fi as SendSessionMessageOptions, ft as FileReadBatchResult, ht as FileRenameResult, mi as SentSessionMessage, pi as SendSessionMessageRequest, qr as SandboxRuntimeHealth, ra as WriteFileOptions, sn as ListMessagesOptions, vt as FileTreeOptions, xt as FileUsageResult, yi as SessionInfo, yt as FileTreeResult } from "./types-D_ykdqn6.js";
2
2
  import { a as NetworkError, c as QuotaError, d as SandboxFailureDetail, f as ServerError, h as ValidationError, i as FileWriteConflictError, l as SandboxError, m as TimeoutError, n as CapabilityError, o as NotFoundError, p as StateError, s as PartialFailureError, t as AuthError, u as SandboxErrorJson } from "./errors-Bdy5jXzc.js";
3
+ import { a as deriveAgentRunOutcome, i as deriveAgentResultOutcome, n as AgentRunOutcomeTracker, r as createAgentRunOutcomeTracker, t as AgentRunOutcome } from "./agent-run-outcome-TwIC-Ccd.js";
3
4
 
4
5
  //#region src/lib/chunked-upload.d.ts
5
6
  /** The transport a caller wires this module to — {@link SandboxInstance.runtimeFetch}
@@ -103,4 +104,4 @@ declare class SandboxRuntimeClient extends SandboxRuntimeApi {
103
104
  }
104
105
  declare function createSandboxRuntimeClient(config: SandboxRuntimeClientConfig): SandboxRuntimeClient;
105
106
  //#endregion
106
- export { AuthError, CapabilityError, type ChunkedUploadOptions, type ChunkedUploadResult, type ChunkedUploadTransport, type FileReadBatchOptions, type FileReadBatchResult, type FileRenameResult, type FileTreeOptions, type FileTreeResult, FileWriteConflictError, type FileWriteResult, type ListMessagesOptions, NetworkError, NotFoundError, PartialFailureError, QuotaError, type RenameOptions, SandboxError, type SandboxErrorJson, type SandboxFailureDetail, SandboxRuntimeClient, type SandboxRuntimeClientConfig, type SandboxRuntimeHealth, type SandboxTerminalCreateOptions, type SandboxTerminalInfo, type SandboxTerminalManager, type SandboxTerminalRequestOptions, ServerError, type SessionMessage, StateError, TimeoutError, type UploadProgress, ValidationError, type WriteFileOptions, createSandboxRuntimeClient, uploadChunked };
107
+ export { type AgentRunOutcome, type AgentRunOutcomeTracker, AuthError, CapabilityError, type ChunkedUploadOptions, type ChunkedUploadResult, type ChunkedUploadTransport, type FileReadBatchOptions, type FileReadBatchResult, type FileRenameResult, type FileTreeOptions, type FileTreeResult, FileWriteConflictError, type FileWriteResult, type ListMessagesOptions, NetworkError, NotFoundError, PartialFailureError, QuotaError, type RenameOptions, SandboxError, type SandboxErrorJson, type SandboxFailureDetail, SandboxRuntimeClient, type SandboxRuntimeClientConfig, type SandboxRuntimeHealth, type SandboxTerminalCreateOptions, type SandboxTerminalInfo, type SandboxTerminalManager, type SandboxTerminalRequestOptions, ServerError, type SessionMessage, StateError, TimeoutError, type UploadProgress, ValidationError, type WriteFileOptions, createAgentRunOutcomeTracker, createSandboxRuntimeClient, deriveAgentResultOutcome, deriveAgentRunOutcome, uploadChunked };
package/dist/runtime.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as uploadChunked, c as combineAbortSignals, t as SandboxRuntimeApi } from "./runtime-api-CK-4S7oA.js";
1
+ import { a as uploadChunked, c as combineAbortSignals, g as deriveAgentRunOutcome, h as deriveAgentResultOutcome, m as createAgentRunOutcomeTracker, t as SandboxRuntimeApi } from "./runtime-api-TVLbV10b.js";
2
2
  import { a as NetworkError, c as QuotaError, d as StateError, f as TimeoutError, i as FileWriteConflictError, l as SandboxError, n as CapabilityError, o as NotFoundError, p as ValidationError, s as PartialFailureError, t as AuthError, u as ServerError } from "./errors-C6kn-3zt.js";
3
3
  //#region src/runtime-client.ts
4
4
  const DEFAULT_RUNTIME_TIMEOUT_MS = 3e4;
@@ -80,4 +80,4 @@ function createSandboxRuntimeClient(config) {
80
80
  return new SandboxRuntimeClient(config);
81
81
  }
82
82
  //#endregion
83
- export { AuthError, CapabilityError, FileWriteConflictError, NetworkError, NotFoundError, PartialFailureError, QuotaError, SandboxError, SandboxRuntimeClient, ServerError, StateError, TimeoutError, ValidationError, createSandboxRuntimeClient, uploadChunked };
83
+ export { AuthError, CapabilityError, FileWriteConflictError, NetworkError, NotFoundError, PartialFailureError, QuotaError, SandboxError, SandboxRuntimeClient, ServerError, StateError, TimeoutError, ValidationError, createAgentRunOutcomeTracker, createSandboxRuntimeClient, deriveAgentResultOutcome, deriveAgentRunOutcome, uploadChunked };
@@ -1,4 +1,4 @@
1
- import { $i as WriteManyFile, $r as SandboxTraceOptions, An as ProvisionResult, At as ForkIdempotency, Dn as PromptOptions, Ei as SnapshotResult, En as PromptInputPart, Fi as TaskSessionInfo, Fr as SandboxInfo, Ft as GitCommit, H as DriveTurnOptions, Hn as RestoreSnapshotOptions, Hr as SandboxRuntimeHealth, Jn as RolloutStartResult, K as DurablePlan, Kn as RolloutOptions, Li as TeeAttestationOptions, Lr as SandboxPortBinding, Lt as GitDiff, Mi as TaskSessionChanges, N as CreateSessionOptions, Ni as TaskSessionCommitResult, Oi as StartupDiagnostics, On as PromptResult, P as CreateTaskSessionOptions, Pt as GitBranch, Q as EgressManager, Qi as WriteFileOptions, Qn as SSHCredentials, Qt as IntelligenceReportCompareTo, R as DispatchPromptOptions, Rt as GitStatus, S as CodeLanguage, Sn as ProcessManager, T as CompletedTurnResult, Ti as SnapshotOptions, Tr as SandboxFleetTraceBundle, Un as ResumeOptions, Ur as SandboxStatus, Vi as TeePublicKeyResponse, Vr as SandboxRuntimeCapabilities, W as DriverInfo, Wi as TurnDriveResult, Wn as Rollout, Wr as SandboxTerminalAttachOptions, Wt as GpuLeaseManager, Xi as WaitForRolloutOptions, Xr as SandboxTraceBundle, Xt as IntelligenceReport, Yi as WaitForOptions, Yr as SandboxTerminals, Yt as InstalledTool, Zi as WorkspaceOperationLookup, Zn as SSHCommandDescriptor, Zt as IntelligenceReportBudget, _ as BranchOptions, _i as SessionMessage, _t as FileWriteResult, b as CodeExecutionOptions, ci as SendSessionMessageRequest, cn as MintScopedTokenOptions, di as SessionEventStreamOptions, dn as NetworkManager, dt as FileSystem, ea as WriteManyOptions, en as IntelligenceReportWindow, er as SandboxConnection, fa as TerminalStream, gi as SessionListOptions, gn as PreviewLinkManager, ha as TerminalStreamHandlers, hi as SessionInterruptOptions, ii as SearchOptions, it as ExecResult, jt as ForkLookupOptions, kn as ProvisionEvent, kt as ForkCounts, l as BackendManager, li as SentSessionMessage, mi as SessionInfo, mn as PermissionsManager, nn as ListMessagesOptions, nr as SandboxCreateReceipt, or as SandboxEvent, pi as SessionForkOptions, q as DurablePlanDecisionResult, ri as SearchMatch, rr as SandboxDeleteAcknowledgement, rt as ExecOptions, s as BackendConfig, sa as BackendType, si as SendSessionMessageOptions, ti as ScopedToken, tn as JsonValue, tt as EventStreamOptions, w as CommitTaskSessionOptions, wi as SnapshotInfo, x as CodeExecutionResult, xi as SnapshotDeleteAcknowledgement, yi as SessionResultOptions, z as DispatchedSession, zi as TeeAttestationResponse, zr as SandboxResourceUsage, zt as GpuLease } from "./types-Qn3x7R8O.js";
1
+ import { $n as RolloutStartResult, Ai as SnapshotOptions, Ar as SandboxFleetTraceBundle, Bi as TaskSessionInfo, Br as SandboxInfo, Bt as GitCommit, Dn as ProcessManager, E as CodeLanguage, Ei as SnapshotDeleteAcknowledgement, Fn as ProvisionResult, Ft as ForkIdempotency, H as DispatchPromptOptions, Hi as TeeAttestationOptions, Hr as SandboxPortBinding, Ht as GitDiff, It as ForkLookupOptions, J as DriverInfo, Jn as ResumeOptions, Jr as SandboxStatus, K as DriveTurnOptions, Ki as TeePublicKeyResponse, Kr as SandboxRuntimeCapabilities, L as CreateSessionOptions, Li as TaskSessionChanges, Mn as PromptOptions, Ni as StartupDiagnostics, Nn as PromptResult, O as CommitTaskSessionOptions, Pn as ProvisionEvent, Pt as ForkCounts, R as CreateTaskSessionOptions, Ri as TaskSessionCommitResult, Si as SessionMessage, St as FileWriteResult, T as CodeExecutionResult, U as DispatchedSession, Ut as GitStatus, Wi as TeeAttestationResponse, Wr as SandboxResourceUsage, Wt as GpuLease, X as DurablePlan, Yi as TurnDriveResult, Yn as Rollout, Yr as SandboxTerminalAttachOptions, Yt as GpuLeaseManager, Z as DurablePlanDecisionResult, Zn as RolloutOptions, _a as TerminalStream, aa as WriteManyOptions, an as IntelligenceReportWindow, ar as SandboxConnection, ba as TerminalStreamHandlers, bi as SessionInterruptOptions, ci as SearchMatch, cr as SandboxDeleteAcknowledgement, ct as ExecOptions, d as BackendConfig, dr as SandboxEvent, ea as WaitForOptions, ei as SandboxTerminals, en as InstalledTool, fa as BackendType, fi as SendSessionMessageOptions, gi as SessionEventStreamOptions, gn as NetworkManager, gt as FileSystem, ia as WriteManyFile, ii as SandboxTraceOptions, ji as SnapshotResult, jn as PromptInputPart, k as CompletedTurnResult, ki as SnapshotInfo, li as SearchOptions, lt as ExecResult, mi as SentSessionMessage, na as WorkspaceOperationLookup, nn as IntelligenceReportBudget, nr as SSHCommandDescriptor, oi as ScopedToken, on as JsonValue, ot as EventStreamOptions, p as BackendManager, pi as SendSessionMessageRequest, pn as MintScopedTokenOptions, qn as RestoreSnapshotOptions, qr as SandboxRuntimeHealth, ra as WriteFileOptions, rn as IntelligenceReportCompareTo, rr as SSHCredentials, rt as EgressManager, sn as ListMessagesOptions, sr as SandboxCreateReceipt, ta as WaitForRolloutOptions, ti as SandboxTraceBundle, tn as IntelligenceReport, vi as SessionForkOptions, w as CodeExecutionOptions, wi as SessionResultOptions, x as BranchOptions, xi as SessionListOptions, xn as PreviewLinkManager, yi as SessionInfo, yn as PermissionsManager, zt as GitBranch } from "./types-D_ykdqn6.js";
2
2
  import { AgentProfile, AgentRunCancellationAcknowledgement, AgentRunCancellationRequest, InteractionAcknowledgement, InteractionData, InteractionRequest, InteractionResponseCommand } from "@tangle-network/agent-interface";
3
3
  import { z } from "zod";
4
4
 
@@ -969,15 +969,13 @@ declare class SandboxInstance {
969
969
  * Stream events from an agent prompt.
970
970
  * Use this for real-time updates during agent execution.
971
971
  *
972
- * Guarantees a terminal event on every non-cancelled path: a clean run
973
- * ends with the runtime's `result`/`done`; a failure (pre-stream HTTP
974
- * error, mid-stream network drop, timeout, or reconnect exhaustion) is
975
- * surfaced as an in-band `error` event followed by a synthetic `done`,
976
- * never a thrown generator. Caller-initiated cancellation (aborting
977
- * `options.signal`) ends the stream silently with no synthetic terminal.
972
+ * Guarantees terminal completion on every non-cancelled path. A clean run
973
+ * emits a `result` summary and ends with `done`. A failure is an in-band
974
+ * `error` followed by `done`, never a thrown generator. Caller cancellation
975
+ * ends the stream silently with no synthetic terminal.
978
976
  *
979
977
  * Automatically reconnects via the runtime event replay endpoint if the
980
- * SSE stream drops before a terminal event (`result` or `done`) is
978
+ * SSE stream drops before a terminal event (`done` or `error`) is
981
979
  * received. Reconnection is transparent — replayed events that were
982
980
  * already yielded (based on event ID tracking) are deduplicated.
983
981
  */
@@ -1,4 +1,4 @@
1
- import { a as uploadChunked, c as combineAbortSignals, d as applyRequestedModel, f as assertCurrentBackendType, i as sessionHeaders, l as encodePromptForWire, n as normalizeSessionInfo, o as SANDBOX_PROXY_REQUEST_MAX_BYTES, p as normalizeRuntimeBackendConfig, r as appendSessionIdQuery, t as SandboxRuntimeApi } from "./runtime-api-CK-4S7oA.js";
1
+ import { a as uploadChunked, c as combineAbortSignals, d as applyRequestedModel, f as assertCurrentBackendType, h as deriveAgentResultOutcome, i as sessionHeaders, l as encodePromptForWire, m as createAgentRunOutcomeTracker, n as normalizeSessionInfo, o as SANDBOX_PROXY_REQUEST_MAX_BYTES, p as normalizeRuntimeBackendConfig, r as appendSessionIdQuery, t as SandboxRuntimeApi } from "./runtime-api-TVLbV10b.js";
2
2
  import { a as NetworkError, c as QuotaError, d as StateError, f as TimeoutError, l as SandboxError, m as parseErrorResponse, n as CapabilityError, o as NotFoundError, p as ValidationError, t as AuthError, u as ServerError } from "./errors-C6kn-3zt.js";
3
3
  import { AgentExactRunControlRefSchema, AgentRunCancellationAcknowledgementSchema, AgentRunCancellationRequestSchema, InteractionAcknowledgementSchema, InteractionBindingSchema, InteractionRequestSchema, InteractionResponseCommandSchema, InteractionResponseSchema, agentRunCancellationAcknowledgementMatchesRequest, canonicalCandidateDigest, sha256DigestSchema } from "@tangle-network/agent-interface";
4
4
  import { z } from "zod";
@@ -840,7 +840,7 @@ async function submitSandboxInteractionCommand(transport, sessionId, command, op
840
840
  /**
841
841
  * The text carried by a single event, or `undefined` when the event carries no
842
842
  * text payload. Mirrors the event shapes the sidecar/OpenCode runtime emits:
843
- * - `result` — the terminal event; final text under `finalText`/`response`/
843
+ * - `result` — the final response summary; text under `finalText`/`response`/
844
844
  * `output`/`content`/`text`.
845
845
  * - `token` — an incremental token; text under `value`/`delta`/`text`/
846
846
  * `content`.
@@ -2011,153 +2011,6 @@ function runtimeFilesystemPath(endpoint, path) {
2011
2011
  const encodedPath = segments.map(encodeURIComponent).join("/");
2012
2012
  return `${endpoint}/${isAbsolute ? "/" : ""}${encodedPath}`;
2013
2013
  }
2014
- /**
2015
- * Single source of truth for a run's outcome, shared by
2016
- * `prompt`/`task`/`_sessionResult`/turn settling. A run succeeds only when it
2017
- * reached a terminal event, raised no run-level error, hit no approval gate,
2018
- * left no unanswered question, and recorded no failed (`isError`) tool. A
2019
- * tool-only turn with no text succeeds unless the server enforces visible-output
2020
- * requirements; a turn whose tool failed (even if narrated around) fails.
2021
- */
2022
- function deriveOutcome(inputs) {
2023
- if (inputs.plan) return {
2024
- status: "awaiting_plan_decision",
2025
- success: false,
2026
- error: "Agent is awaiting a durable plan decision"
2027
- };
2028
- if (inputs.question) return {
2029
- status: "awaiting_question",
2030
- success: false,
2031
- error: inputs.runError ?? "Agent is awaiting an answer to a question"
2032
- };
2033
- if (inputs.approval) return {
2034
- status: "blocked_on_approval",
2035
- success: false,
2036
- error: inputs.runError ?? inputs.approval.message ?? "Agent is blocked on a hub approval"
2037
- };
2038
- if (inputs.runError) return {
2039
- status: "failed",
2040
- success: false,
2041
- error: inputs.runError,
2042
- errorCode: inputs.runErrorCode
2043
- };
2044
- const failedTool = inputs.toolInvocations?.find((t) => t.isError === true);
2045
- if (failedTool) return {
2046
- status: "failed",
2047
- success: false,
2048
- error: `Tool "${failedTool.toolName}" failed`
2049
- };
2050
- if (!inputs.terminalReached) return {
2051
- status: "failed",
2052
- success: false,
2053
- error: "Agent stream ended without a terminal event"
2054
- };
2055
- return {
2056
- status: "success",
2057
- success: true
2058
- };
2059
- }
2060
- function readAwaitingPlan(data) {
2061
- const direct = data.plan;
2062
- const outcome = data.outcome;
2063
- const candidate = direct && typeof direct === "object" ? direct : outcome && typeof outcome === "object" && outcome.type === "awaiting_plan_decision" ? outcome.plan : void 0;
2064
- if (!candidate || typeof candidate !== "object") return void 0;
2065
- const plan = candidate;
2066
- if (typeof plan.id !== "string" || typeof plan.revision !== "number" || typeof plan.body !== "string" || typeof plan.submittedAt !== "string") return;
2067
- return plan;
2068
- }
2069
- function readPlanFromEvent(event) {
2070
- return event.type === "result" || event.type === "done" || event.type === "plan.submitted" ? readAwaitingPlan(event.data) : void 0;
2071
- }
2072
- /** Read tool invocations off a `result` event payload. */
2073
- function readToolInvocations(data) {
2074
- const raw = data.toolInvocations;
2075
- return Array.isArray(raw) ? raw : void 0;
2076
- }
2077
- /** Hub error code surfaced when a write tool hits an approval gate. */
2078
- const HUB_APPROVAL_CODE = "HUB_APPROVAL_REQUIRED";
2079
- /** Best-effort string view of an arbitrary tool result for signal matching. */
2080
- function stringifyToolResult(result) {
2081
- if (typeof result === "string") return result;
2082
- try {
2083
- return JSON.stringify(result) ?? "";
2084
- } catch {
2085
- return String(result);
2086
- }
2087
- }
2088
- /**
2089
- * Walk a tool result for an `approval` object and return its `id`/`connectionId`.
2090
- * The in-sandbox hub bridge carries these in `structuredContent.details.approval`,
2091
- * but the exact nesting depends on how the backend serialized the MCP result, so
2092
- * search defensively. Returns `undefined` when not present — the id is then
2093
- * surfaced honestly as `undefined`, never invented.
2094
- */
2095
- function findApprovalDetails(value, depth = 0) {
2096
- if (depth > 6 || value === null || typeof value !== "object") return void 0;
2097
- const obj = value;
2098
- const approval = obj.approval;
2099
- if (approval && typeof approval === "object") {
2100
- const a = approval;
2101
- return {
2102
- ...typeof a.id === "string" ? { id: a.id } : {},
2103
- ...typeof a.connectionId === "string" ? { connectionId: a.connectionId } : {}
2104
- };
2105
- }
2106
- for (const v of Object.values(obj)) {
2107
- const found = findApprovalDetails(v, depth + 1);
2108
- if (found) return found;
2109
- }
2110
- }
2111
- /** Find a human-readable `message` string anywhere in a tool result. */
2112
- function findResultMessage(value, depth = 0) {
2113
- if (depth > 6 || value === null || typeof value !== "object") return void 0;
2114
- const obj = value;
2115
- if (typeof obj.message === "string" && obj.message.length > 0) return obj.message;
2116
- for (const v of Object.values(obj)) {
2117
- const found = findResultMessage(v, depth + 1);
2118
- if (found) return found;
2119
- }
2120
- }
2121
- /**
2122
- * Detect a hub approval gate among a run's tool invocations: a failed tool whose
2123
- * result carries `HUB_APPROVAL_REQUIRED`. Returns the approval id/connectionId
2124
- * when the structured signal survived serialization, else just the message — so
2125
- * the run can settle as `blocked_on_approval` even when the id is unrecoverable.
2126
- */
2127
- function detectHubApproval(toolInvocations) {
2128
- if (!toolInvocations) return void 0;
2129
- for (const tool of toolInvocations) {
2130
- if (tool.isError !== true) continue;
2131
- if (!stringifyToolResult(tool.result).includes(HUB_APPROVAL_CODE)) continue;
2132
- const approval = findApprovalDetails(tool.result);
2133
- const message = findResultMessage(tool.result) ?? "Hub action requires approval";
2134
- return {
2135
- ...approval?.id ? { approvalId: approval.id } : {},
2136
- ...approval?.connectionId ? { connectionId: approval.connectionId } : {},
2137
- message
2138
- };
2139
- }
2140
- }
2141
- /** Read an `interaction` event (kind `question`) into an awaiting-question requirement. */
2142
- function readQuestionEvent(data) {
2143
- const request = data.request;
2144
- if (!request || request.kind !== "question" || typeof request.id !== "string") return;
2145
- return {
2146
- questionId: request.id,
2147
- questions: questionsFromAnswerSpec(request)
2148
- };
2149
- }
2150
- /** Reconstruct the prompt/options shape from a question interaction's answerSpec. */
2151
- function questionsFromAnswerSpec(request) {
2152
- return request.answerSpec.fields.map((field) => field.type === "select" ? {
2153
- question: field.label,
2154
- options: field.options.map((o) => ({
2155
- label: o.label,
2156
- description: o.description
2157
- })),
2158
- multiSelect: field.multi === true
2159
- } : { question: field.label });
2160
- }
2161
2014
  function isProfileNotCachedError(err) {
2162
2015
  return err instanceof SandboxError && err.code === "PROFILE_NOT_CACHED";
2163
2016
  }
@@ -2945,16 +2798,11 @@ var SandboxInstance = class SandboxInstance {
2945
2798
  await this.ensureRunning();
2946
2799
  const startTime = Date.now();
2947
2800
  let responseText;
2948
- let runError;
2949
- let runErrorCode;
2801
+ const outcomeTracker = createAgentRunOutcomeTracker();
2950
2802
  let executionId = options?.lastEventId ? options.executionId : void 0;
2951
2803
  let traceId;
2952
2804
  let usage;
2953
2805
  let costUsd;
2954
- let toolInvocations;
2955
- let question;
2956
- let plan;
2957
- let terminalReached = false;
2958
2806
  const controller = new AbortController();
2959
2807
  try {
2960
2808
  const signal = options?.signal ? combineAbortSignals([options.signal, controller.signal]) : controller.signal;
@@ -2962,6 +2810,7 @@ var SandboxInstance = class SandboxInstance {
2962
2810
  ...options,
2963
2811
  signal
2964
2812
  })) {
2813
+ outcomeTracker.observe(event);
2965
2814
  responseText = applySandboxEventText(responseText, event);
2966
2815
  const eventExecutionId = event.data.executionId;
2967
2816
  if (typeof eventExecutionId === "string" && eventExecutionId.length > 0) executionId = eventExecutionId;
@@ -2969,26 +2818,9 @@ var SandboxInstance = class SandboxInstance {
2969
2818
  usage = readTokenUsage(event.data) ?? usage;
2970
2819
  costUsd = readTokenCostUsd(event.data) ?? costUsd;
2971
2820
  }
2972
- plan = readPlanFromEvent(event) ?? plan;
2973
- if (event.type === "result") toolInvocations = readToolInvocations(event.data) ?? toolInvocations;
2974
- if (event.type === "result" || event.type === "done") terminalReached = true;
2975
- if (event.type === "interaction") question = readQuestionEvent(event.data) ?? question;
2976
2821
  if (event.type === "trace.id") traceId = event.data.traceId;
2977
- if (event.type === "error") {
2978
- runError = event.data.message;
2979
- runErrorCode = event.data.code;
2980
- }
2981
2822
  }
2982
- const approval = detectHubApproval(toolInvocations);
2983
- const outcome = deriveOutcome({
2984
- terminalReached,
2985
- runError,
2986
- runErrorCode,
2987
- toolInvocations,
2988
- approval,
2989
- question,
2990
- plan
2991
- });
2823
+ const outcome = outcomeTracker.finish();
2992
2824
  return {
2993
2825
  success: outcome.success,
2994
2826
  status: outcome.status,
@@ -2996,10 +2828,11 @@ var SandboxInstance = class SandboxInstance {
2996
2828
  response: responseText,
2997
2829
  error: outcome.error,
2998
2830
  errorCode: outcome.errorCode,
2999
- toolInvocations,
3000
- approval,
3001
- question,
3002
- plan,
2831
+ toolInvocations: outcome.toolInvocations,
2832
+ approval: outcome.approval,
2833
+ interaction: outcome.interaction,
2834
+ question: outcome.question,
2835
+ plan: outcome.plan,
3003
2836
  traceId,
3004
2837
  durationMs: Date.now() - startTime,
3005
2838
  usage,
@@ -3028,15 +2861,13 @@ var SandboxInstance = class SandboxInstance {
3028
2861
  * Stream events from an agent prompt.
3029
2862
  * Use this for real-time updates during agent execution.
3030
2863
  *
3031
- * Guarantees a terminal event on every non-cancelled path: a clean run
3032
- * ends with the runtime's `result`/`done`; a failure (pre-stream HTTP
3033
- * error, mid-stream network drop, timeout, or reconnect exhaustion) is
3034
- * surfaced as an in-band `error` event followed by a synthetic `done`,
3035
- * never a thrown generator. Caller-initiated cancellation (aborting
3036
- * `options.signal`) ends the stream silently with no synthetic terminal.
2864
+ * Guarantees terminal completion on every non-cancelled path. A clean run
2865
+ * emits a `result` summary and ends with `done`. A failure is an in-band
2866
+ * `error` followed by `done`, never a thrown generator. Caller cancellation
2867
+ * ends the stream silently with no synthetic terminal.
3037
2868
  *
3038
2869
  * Automatically reconnects via the runtime event replay endpoint if the
3039
- * SSE stream drops before a terminal event (`result` or `done`) is
2870
+ * SSE stream drops before a terminal event (`done` or `error`) is
3040
2871
  * received. Reconnection is transparent — replayed events that were
3041
2872
  * already yielded (based on event ID tracking) are deduplicated.
3042
2873
  */
@@ -3119,7 +2950,7 @@ var SandboxInstance = class SandboxInstance {
3119
2950
  try {
3120
2951
  for await (const event of this.streamPromptInner(message, options, { forceFullProfile: profileResendAttempted })) {
3121
2952
  yieldedThisAttempt = true;
3122
- if (event.type === "result" || event.type === "done") receivedTerminal = true;
2953
+ if (event.type === "done") receivedTerminal = true;
3123
2954
  if (event.type === "execution.started" && event.data.executionId) executionId = event.data.executionId;
3124
2955
  const sid = event.data.sessionId;
3125
2956
  if (typeof sid === "string" && sid.length > 0) sessionId = sid;
@@ -3278,7 +3109,7 @@ var SandboxInstance = class SandboxInstance {
3278
3109
  if (event.type === "execution.started" && event.data?.executionId) executionId = event.data.executionId;
3279
3110
  const eventSessionId = event.data?.sessionId;
3280
3111
  if (typeof eventSessionId === "string" && eventSessionId.length > 0) sessionId = eventSessionId;
3281
- if (event.type === "result" || event.type === "done") {
3112
+ if (event.type === "done" || event.type === "error") {
3282
3113
  receivedTerminal = true;
3283
3114
  logStreamCheckpoint("terminal_event", {
3284
3115
  eventType: event.type,
@@ -3348,6 +3179,7 @@ var SandboxInstance = class SandboxInstance {
3348
3179
  sessionId,
3349
3180
  executionId,
3350
3181
  status: info.status,
3182
+ ...info.status === "completed" ? { outcome: { type: "completed" } } : {},
3351
3183
  replayUnavailable: true
3352
3184
  }
3353
3185
  };
@@ -3372,7 +3204,7 @@ var SandboxInstance = class SandboxInstance {
3372
3204
  if (event.id) lastEventId = event.id;
3373
3205
  const eventSessionId = event.data?.sessionId;
3374
3206
  if (typeof eventSessionId === "string" && eventSessionId.length > 0) sessionId = eventSessionId;
3375
- if (event.type === "result" || event.type === "done") {
3207
+ if (event.type === "done" || event.type === "error") {
3376
3208
  receivedTerminal = true;
3377
3209
  logStreamCheckpoint("terminal_event", {
3378
3210
  eventType: event.type,
@@ -6450,7 +6282,7 @@ var SandboxInstance = class SandboxInstance {
6450
6282
  }
6451
6283
  for await (const event of this.parseSSEStream(response, opts?.signal)) {
6452
6284
  yield event;
6453
- const turnTerminal = event.type === "result" || event.type === "done" || event.type === "error";
6285
+ const turnTerminal = event.type === "done" || event.type === "error";
6454
6286
  if ((stopOnTurnTerminal || opts?.executionId !== void 0) && turnTerminal) return;
6455
6287
  }
6456
6288
  }
@@ -6469,7 +6301,7 @@ var SandboxInstance = class SandboxInstance {
6469
6301
  }
6470
6302
  for await (const event of this.parseSSEStream(response)) {
6471
6303
  yield event;
6472
- if (event.type === "result" || event.type === "done" || event.type === "error") return;
6304
+ if (event.type === "done" || event.type === "error") return;
6473
6305
  }
6474
6306
  }
6475
6307
  /** @internal — invoked by SandboxSession.result(). */
@@ -6491,20 +6323,13 @@ var SandboxInstance = class SandboxInstance {
6491
6323
  }
6492
6324
  let resultExecutionId = executionId;
6493
6325
  let response;
6494
- let runError;
6495
- let runErrorCode;
6326
+ const outcomeTracker = createAgentRunOutcomeTracker();
6496
6327
  let traceId;
6497
6328
  let usage;
6498
6329
  let costUsd;
6499
- let toolInvocations;
6500
- let question;
6501
- let plan;
6502
- let terminalReached = false;
6503
- const events = options?.executionId ? this._executionEvents(id, executionId) : this._sessionEvents(id, {
6504
- since: "0",
6505
- executionId
6506
- }, true);
6330
+ const events = this._executionEvents(id, executionId);
6507
6331
  for await (const event of events) {
6332
+ outcomeTracker.observe(event);
6508
6333
  response = applySandboxEventText(response, event);
6509
6334
  if (event.type === "result" || event.type === "done") {
6510
6335
  const data = event.data;
@@ -6512,33 +6337,10 @@ var SandboxInstance = class SandboxInstance {
6512
6337
  usage = readTokenUsage(data) ?? usage;
6513
6338
  costUsd = readTokenCostUsd(data) ?? costUsd;
6514
6339
  }
6515
- plan = readPlanFromEvent(event) ?? plan;
6516
- if (event.type === "result") {
6517
- const data = event.data;
6518
- toolInvocations = readToolInvocations(data) ?? toolInvocations;
6519
- }
6520
- if (event.type === "interaction") question = readQuestionEvent(event.data) ?? question;
6521
6340
  if (event.type === "trace.id") traceId = event.data.traceId;
6522
- if (event.type === "error") {
6523
- const data = event.data;
6524
- runError = data.message;
6525
- runErrorCode = data.code;
6526
- }
6527
- if (event.type === "done" || event.type === "result") {
6528
- terminalReached = true;
6529
- break;
6530
- }
6341
+ if (event.type === "done" || event.type === "error") break;
6531
6342
  }
6532
- const approval = detectHubApproval(toolInvocations);
6533
- const outcome = deriveOutcome({
6534
- terminalReached,
6535
- runError,
6536
- runErrorCode,
6537
- toolInvocations,
6538
- approval,
6539
- question,
6540
- plan
6541
- });
6343
+ const outcome = outcomeTracker.finish();
6542
6344
  return {
6543
6345
  success: outcome.success,
6544
6346
  status: outcome.status,
@@ -6546,10 +6348,11 @@ var SandboxInstance = class SandboxInstance {
6546
6348
  response,
6547
6349
  error: outcome.error,
6548
6350
  errorCode: outcome.errorCode,
6549
- toolInvocations,
6550
- approval,
6551
- question,
6552
- plan,
6351
+ toolInvocations: outcome.toolInvocations,
6352
+ approval: outcome.approval,
6353
+ interaction: outcome.interaction,
6354
+ question: outcome.question,
6355
+ plan: outcome.plan,
6553
6356
  traceId,
6554
6357
  durationMs: Date.now() - startTime,
6555
6358
  usage,
@@ -6843,21 +6646,16 @@ function isSessionInFlight(info) {
6843
6646
  return info.status === "queued" && !isSessionAwaitingFirstTurn(info);
6844
6647
  }
6845
6648
  function settleTurnDrive(result) {
6846
- const plan = readAwaitingPlan(result);
6847
- if (plan) return {
6649
+ const outcome = deriveAgentResultOutcome(result);
6650
+ if (outcome.status === "awaiting_plan_decision" && outcome.plan) return {
6848
6651
  state: "awaiting_plan_decision",
6849
- plan,
6652
+ plan: outcome.plan,
6850
6653
  result
6851
6654
  };
6852
6655
  const text = typeof result.text === "string" ? result.text : typeof result.response === "string" ? result.response : void 0;
6853
- const status = typeof result.status === "string" ? result.status : deriveOutcome({
6854
- terminalReached: true,
6855
- runError: typeof result.error === "string" ? result.error : void 0,
6856
- toolInvocations: Array.isArray(result.toolInvocations) ? result.toolInvocations : void 0
6857
- }).status;
6858
- if (status !== "success") return {
6656
+ if (outcome.status !== "success") return {
6859
6657
  state: "failed",
6860
- error: typeof result.error === "string" && result.error.length > 0 ? result.error : `turn ${status}`
6658
+ error: outcome.error ?? `turn ${outcome.status}`
6861
6659
  };
6862
6660
  const usage = readTokenUsage(result);
6863
6661
  return {
@@ -1,2 +1,2 @@
1
- import { a as TANGLE_JOBS_CONTRACT, c as AgentSandboxBlueprintAbi, d as SandboxCreateParamTypes, f as SandboxCreateResponseParamTypes, i as TANGLE_CHAIN_ID, l as ITangleJobsAbi, n as JOB_SANDBOX_CREATE, o as TANGLE_MAINNET_RPC, p as SandboxIdParamTypes, r as JOB_SANDBOX_DELETE, s as TangleSandboxClientConfig, t as TangleSandboxClient, u as JsonResponseParamTypes } from "../index-ldDRk8Jh.js";
1
+ import { a as TANGLE_JOBS_CONTRACT, c as AgentSandboxBlueprintAbi, d as SandboxCreateParamTypes, f as SandboxCreateResponseParamTypes, i as TANGLE_CHAIN_ID, l as ITangleJobsAbi, n as JOB_SANDBOX_CREATE, o as TANGLE_MAINNET_RPC, p as SandboxIdParamTypes, r as JOB_SANDBOX_DELETE, s as TangleSandboxClientConfig, t as TangleSandboxClient, u as JsonResponseParamTypes } from "../index-DAxioMfr.js";
2
2
  export { AgentSandboxBlueprintAbi, ITangleJobsAbi, JOB_SANDBOX_CREATE, JOB_SANDBOX_DELETE, JsonResponseParamTypes, SandboxCreateParamTypes, SandboxCreateResponseParamTypes, SandboxIdParamTypes, TANGLE_CHAIN_ID, TANGLE_JOBS_CONTRACT, TANGLE_MAINNET_RPC, TangleSandboxClient, TangleSandboxClientConfig };
@@ -1,2 +1,2 @@
1
- import { a as TANGLE_JOBS_CONTRACT, c as ITangleJobsAbi, d as SandboxCreateResponseParamTypes, f as SandboxIdParamTypes, i as TANGLE_CHAIN_ID, l as JsonResponseParamTypes, n as JOB_SANDBOX_CREATE, o as TANGLE_MAINNET_RPC, r as JOB_SANDBOX_DELETE, s as AgentSandboxBlueprintAbi, t as TangleSandboxClient, u as SandboxCreateParamTypes } from "../tangle-CHpXtqlI.js";
1
+ import { a as TANGLE_JOBS_CONTRACT, c as ITangleJobsAbi, d as SandboxCreateResponseParamTypes, f as SandboxIdParamTypes, i as TANGLE_CHAIN_ID, l as JsonResponseParamTypes, n as JOB_SANDBOX_CREATE, o as TANGLE_MAINNET_RPC, r as JOB_SANDBOX_DELETE, s as AgentSandboxBlueprintAbi, t as TangleSandboxClient, u as SandboxCreateParamTypes } from "../tangle-lzUyvhKp.js";
2
2
  export { AgentSandboxBlueprintAbi, ITangleJobsAbi, JOB_SANDBOX_CREATE, JOB_SANDBOX_DELETE, JsonResponseParamTypes, SandboxCreateParamTypes, SandboxCreateResponseParamTypes, SandboxIdParamTypes, TANGLE_CHAIN_ID, TANGLE_JOBS_CONTRACT, TANGLE_MAINNET_RPC, TangleSandboxClient };
@@ -1,5 +1,5 @@
1
1
  import { m as parseErrorResponse } from "./errors-C6kn-3zt.js";
2
- import { n as createSandboxInstanceFromResponse } from "./sandbox-4F9CNqdR.js";
2
+ import { n as createSandboxInstanceFromResponse } from "./sandbox-DM-VD8ja.js";
3
3
  //#region src/tangle/abi.ts
4
4
  /**
5
5
  * Tangle Contract ABI Definitions
@@ -1,3 +1,4 @@
1
+ import * as _$_tangle_network_agent_interface0 from "@tangle-network/agent-interface";
1
2
  import { AgentExactRunControlRef, AgentProfile, AgentProfileCapabilities, AgentProfileConfidential, AgentProfileValidationResult, HarnessType, ReasoningEffort } from "@tangle-network/agent-interface";
2
3
  import { z } from "zod";
3
4
 
@@ -2510,17 +2511,18 @@ interface InstalledTool {
2510
2511
  */
2511
2512
  /**
2512
2513
  * Granular outcome of an agent run.
2513
- * - `success` — reached a terminal event with no run-level error and no failed
2514
- * tool. A tool-only turn succeeds unless the caller opts into visible-output
2515
- * enforcement.
2516
- * - `failed` — a run-level error event, or any failed (`isError`) tool, or the
2517
- * stream ended with no terminal event.
2514
+ * - `success` — reached a successful terminal event. Failed tool calls remain
2515
+ * available in `toolInvocations` because an agent can recover from them.
2516
+ * - `failed` — a run-level error, a failed terminal, a malformed terminal, or
2517
+ * a stream that ended with no terminal event.
2518
2518
  * - `blocked_on_approval` — a tool hit a hub approval gate; resolve it, then
2519
2519
  * re-run. See {@link AgentApprovalRequirement}.
2520
2520
  * - `awaiting_question` — the agent asked a question and the turn ended without
2521
2521
  * an answer. See {@link AgentQuestionRequest}.
2522
+ * - `awaiting_interaction` — the agent emitted another canonical interaction
2523
+ * request and the turn ended without a response.
2522
2524
  */
2523
- type AgentRunStatus = "success" | "failed" | "blocked_on_approval" | "awaiting_question" | "awaiting_plan_decision";
2525
+ type AgentRunStatus = "success" | "failed" | "blocked_on_approval" | "awaiting_question" | "awaiting_interaction" | "awaiting_plan_decision";
2524
2526
  interface DurablePlanSnapshot {
2525
2527
  id: string;
2526
2528
  revision: number;
@@ -2650,6 +2652,8 @@ interface PromptResult {
2650
2652
  approval?: AgentApprovalRequirement;
2651
2653
  /** Set when `status === "awaiting_question"`. */
2652
2654
  question?: AgentQuestionRequest;
2655
+ /** Canonical request for any interaction that still needs a response. */
2656
+ interaction?: _$_tangle_network_agent_interface0.InteractionRequest;
2653
2657
  /** Set when `status === "awaiting_plan_decision"`. */
2654
2658
  plan?: DurablePlanSnapshot;
2655
2659
  /** Trace ID for debugging */
@@ -6478,4 +6482,4 @@ interface CodeExecutionOptions {
6478
6482
  idempotencyKey?: string;
6479
6483
  }
6480
6484
  //#endregion
6481
- export { EgressPolicy as $, WriteManyFile as $i, SandboxConfig as $n, SandboxTraceOptions as $r, IntelligenceReportSubjectType as $t, CreateSandboxFleetTokenOptions as A, StorageConfig as Ai, ProvisionResult as An, SandboxFleetWorkspace as Ar, ForkIdempotency as At, DownloadOptions as B, TeePublicKey as Bi, ReconcileSandboxFleetsResult as Bn, SandboxResources as Br, GpuLeaseBilling as Bt, CodeResultPart as C, SnapshotIdempotency as Ci, ProcessSignal as Cn, SandboxFleetPolicy as Cr, FleetDriveTurnRequest as Ct, CreateIntelligenceReportOptions as D, SshKeysManager as Di, PromptOptions as Dn, SandboxFleetTraceExport as Dr, FleetPromptDispatchOptions as Dt, CreateGpuLeaseOptions as E, SnapshotResult as Ei, PromptInputPart as En, SandboxFleetTraceEvent as Er, FleetMachineId as Et, DeleteOptions as F, TaskSessionInfo as Fi, PublishPublicTemplateOptions as Fn, SandboxInfo as Fr, GitCommit as Ft, DriverType as G, UpdateUserOptions as Gi, RolloutChildResult as Gn, SandboxTerminalCreateOptions as Gr, GpuLeaseProviderName as Gt, DriveTurnOptions as H, TokenRefreshHandler as Hi, RestoreSnapshotOptions as Hn, SandboxRuntimeHealth as Hr, GpuLeaseExecOptions as Ht, DevServerInfo as I, TaskSessionProfile as Ii, PublishPublicTemplateVersionOptions as In, SandboxIntelligenceEnvelope as Ir, GitConfig as It, EffectiveBackend as J, UsageInfo as Ji, RolloutStartResult as Jn, SandboxTerminalRequestOptions as Jr, HostAgentRuntimeBackend as Jt, DurablePlan as K, UploadOptions as Ki, RolloutOptions as Kn, SandboxTerminalInfo as Kr, GpuLeaseStatus as Kt, DirectoryPermission as L, TeeAttestationOptions as Li, ReapExpiredSandboxFleetsOptions as Ln, SandboxPortBinding as Lr, GitDiff as Lt, CreateSandboxOptions as M, TaskSessionChanges as Mi, ProvisionStep as Mn, SandboxFleetWorkspaceRestoreResult as Mr, GPU_LEASE_PROVIDER_NAMES as Mt, CreateSessionOptions as N, TaskSessionCommitResult as Ni, PublicTemplateInfo as Nn, SandboxFleetWorkspaceSnapshotResult as Nr, GitAuth as Nt, CreateRequestOptions as O, StartupDiagnostics as Oi, PromptResult as On, SandboxFleetTraceOptions as Or, FleetPromptDispatchResult as Ot, CreateTaskSessionOptions as P, TaskSessionFileChange as Pi, PublicTemplateVersionInfo as Pn, SandboxIdentity as Pr, GitBranch as Pt, EgressManager as Q, WriteFileOptions as Qi, SSHCredentials as Qn, SandboxTraceExport as Qr, IntelligenceReportCompareTo as Qt, DispatchPromptOptions as R, TeeAttestationReport as Ri, ReapExpiredSandboxFleetsResult as Rn, SandboxPortPreviewLink as Rr, GitStatus as Rt, CodeLanguage as S, SnapshotDeleteOutcome as Si, ProcessManager as Sn, SandboxFleetOperationsSummary as Sr, FleetDriveTurnOutcome as St, CompletedTurnResult as T, SnapshotOptions as Ti, ProcessStatus as Tn, SandboxFleetTraceBundle as Tr, FleetExecDispatchResult as Tt, DriverConfig as U, TokenUsage as Ui, ResumeOptions as Un, SandboxStatus as Ur, GpuLeaseExecResult as Ut, DownloadProgress as V, TeePublicKeyResponse as Vi, RenameOptions as Vn, SandboxRuntimeCapabilities as Vr, GpuLeaseCommandResult as Vt, DriverInfo as W, TurnDriveResult as Wi, Rollout as Wn, SandboxTerminalAttachOptions as Wr, GpuLeaseManager as Wt, EffectiveBackendSource as X, WaitForRolloutOptions as Xi, RolloutTurnPart as Xn, SandboxTraceBundle as Xr, IntelligenceReport as Xt, EffectiveBackendProfile as Y, WaitForOptions as Yi, RolloutStatus as Yn, SandboxTerminals as Yr, InstalledTool as Yt, EgressDenial as Z, WorkspaceOperationLookup as Zi, SSHCommandDescriptor as Zn, SandboxTraceEvent as Zr, IntelligenceReportBudget as Zt, BranchOptions as _, TerminalStreamToken as _a, SessionMessage as _i, PreviewLinkWaitOptions as _n, SandboxFleetMachineMeteredUsage as _r, FileWriteResult as _t, AttachSandboxFleetMachineOptions as a, BatchTaskUsage as aa, SecretInfo as ai, ListSandboxOptions as an, SandboxEnvironment as ar, FileInfo as at, CodeExecutionOptions as b, SessionStatus as bi, ProcessListOptions as bn, SandboxFleetManifest as br, FleetDispatchResultBufferOptions as bt, BackendInfo as c, parseBackendType as ca, SendSessionMessageRequest as ci, MintScopedTokenOptions as cn, SandboxFleetArtifactSpec as cr, FileReadError as ct, BatchBackend as d, TerminalReadyInfo as da, SessionEventStreamOptions as di, NetworkManager as dn, SandboxFleetDispatchResponse as dr, FileSystem as dt, WriteManyOptions as ea, SandboxUser as ei, IntelligenceReportWindow as en, SandboxConnection as er, EnsureDevServerOptions as et, BatchResult as f, TerminalStream as fa, SessionFailureReason as fi, NonHostAgentDriverConfig as fn, SandboxFleetDriverCapability as fr, FileTreeFile as ft, BatchTaskResult as g, TerminalStreamOptions as ga, SessionListOptions as gi, PreviewLinkManager as gn, SandboxFleetMachine as gr, FileUsageResult as gt, BatchTask as h, TerminalStreamHandlers as ha, SessionInterruptOptions as hi, PreviewLinkInfo as hn, SandboxFleetIntelligenceEnvelope as hr, FileUsageOptions as ht, AttachGpuLeaseOptions as i, BatchSidecarGroup as ia, SearchOptions as ii, ListSandboxFleetOptions as in, SandboxDeleteOutcome as ir, ExecResult as it, CreateSandboxFleetWithCoordinatorOptions as j, SubscriptionInfo as ji, ProvisionStatus as jn, SandboxFleetWorkspaceReconcileResult as jr, ForkLookupOptions as jt, CreateSandboxFleetOptions as k, StartupOperation as ki, ProvisionEvent as kn, SandboxFleetUsage as kr, ForkCounts as kt, BackendManager as l, TERMINAL_WS_ECHO_SUBPROTOCOL as la, SentSessionMessage as li, MkdirOptions as ln, SandboxFleetCostEstimate as lr, FileReadResult as lt, BatchRunRequest as m, TerminalStreamError as ma, SessionInfo as mi, PermissionsManager as mn, SandboxFleetInfo as mr, FileTreeResult as mt, AccessPolicyRule as n, BatchEvent as na, ScopedTokenScope as ni, ListMessagesOptions as nn, SandboxCreateReceipt as nr, ExactProcessSpawnOptions as nt, BackendCapabilities as o, PublicBatchRunRequest as oa, SecretsManager as oi, MAX_EGRESS_DENIALS_LIMIT as on, SandboxEvent as or, FileReadBatchOptions as ot, BatchRunOptions as p, TerminalStreamAuthFormat as pa, SessionForkOptions as pi, PermissionLevel as pn, SandboxFleetDriverTimings as pr, FileTreeOptions as pt, DurablePlanDecisionResult as q, UploadProgress as qi, RolloutScorer as qn, SandboxTerminalManager as qr, HostAgentDriverConfig as qt, AddUserOptions as r, BatchEventDataMap as ra, SearchMatch as ri, ListOptions as rn, SandboxDeleteAcknowledgement as rr, ExecOptions as rt, BackendConfig as s, BackendType as sa, SendSessionMessageOptions as si, McpServerConfig as sn, SandboxFleetArtifact as sr, FileReadBatchResult as st, AcceleratorKind as t, BatchBackendStats as ta, ScopedToken as ti, JsonValue as tn, SandboxCreateOutcome as tr, EventStreamOptions as tt, BackendStatus as u, TerminalExitInfo as ua, SessionBackendCredentials as ui, NetworkConfig as un, SandboxFleetDispatchFailureClass as ur, FileRenameResult as ut, ChunkedUploadOptions as v, SessionMessageInputPart as vi, Process as vn, SandboxFleetMachineRecord as vr, FleetDispatchCancelResult as vt, CommitTaskSessionOptions as w, SnapshotInfo as wi, ProcessSpawnOptions as wn, SandboxFleetToken as wr, FleetExecDispatchOptions as wt, CodeExecutionResult as x, SnapshotDeleteAcknowledgement as xi, ProcessLogEntry as xn, SandboxFleetManifestMachine as xr, FleetDispatchStreamOptions as xt, ChunkedUploadResult as y, SessionResultOptions as yi, ProcessInfo as yn, SandboxFleetMachineSpec as yr, FleetDispatchResultBuffer as yt, DispatchedSession as z, TeeAttestationResponse as zi, ReconcileSandboxFleetsOptions as zn, SandboxResourceUsage as zr, GpuLease as zt };
6485
+ export { EffectiveBackend as $, UsageInfo as $i, RolloutStartResult as $n, SandboxTerminalRequestOptions as $r, HostAgentRuntimeBackend as $t, CreateGpuLeaseOptions as A, SnapshotOptions as Ai, ProcessStatus as An, SandboxFleetTraceBundle as Ar, FleetExecDispatchResult as At, DevServerInfo as B, TaskSessionInfo as Bi, PublishPublicTemplateOptions as Bn, SandboxInfo as Br, GitCommit as Bt, ChunkedUploadResult as C, SessionMessageInputPart as Ci, Process as Cn, SandboxFleetMachineRecord as Cr, FleetDispatchCancelResult as Ct, CodeResultPart as D, SnapshotDeleteOutcome as Di, ProcessManager as Dn, SandboxFleetOperationsSummary as Dr, FleetDriveTurnOutcome as Dt, CodeLanguage as E, SnapshotDeleteAcknowledgement as Ei, ProcessLogEntry as En, SandboxFleetManifestMachine as Er, FleetDispatchStreamOptions as Et, CreateSandboxFleetWithCoordinatorOptions as F, StorageConfig as Fi, ProvisionResult as Fn, SandboxFleetWorkspace as Fr, ForkIdempotency as Ft, DownloadProgress as G, TeePublicKey as Gi, ReconcileSandboxFleetsResult as Gn, SandboxResources as Gr, GpuLeaseBilling as Gt, DispatchPromptOptions as H, TeeAttestationOptions as Hi, ReapExpiredSandboxFleetsOptions as Hn, SandboxPortBinding as Hr, GitDiff as Ht, CreateSandboxOptions as I, SubscriptionInfo as Ii, ProvisionStatus as In, SandboxFleetWorkspaceReconcileResult as Ir, ForkLookupOptions as It, DriverInfo as J, TokenUsage as Ji, ResumeOptions as Jn, SandboxStatus as Jr, GpuLeaseExecResult as Jt, DriveTurnOptions as K, TeePublicKeyResponse as Ki, RenameOptions as Kn, SandboxRuntimeCapabilities as Kr, GpuLeaseCommandResult as Kt, CreateSessionOptions as L, TaskSessionChanges as Li, ProvisionStep as Ln, SandboxFleetWorkspaceRestoreResult as Lr, GPU_LEASE_PROVIDER_NAMES as Lt, CreateRequestOptions as M, SshKeysManager as Mi, PromptOptions as Mn, SandboxFleetTraceExport as Mr, FleetPromptDispatchOptions as Mt, CreateSandboxFleetOptions as N, StartupDiagnostics as Ni, PromptResult as Nn, SandboxFleetTraceOptions as Nr, FleetPromptDispatchResult as Nt, CommitTaskSessionOptions as O, SnapshotIdempotency as Oi, ProcessSignal as On, SandboxFleetPolicy as Or, FleetDriveTurnRequest as Ot, CreateSandboxFleetTokenOptions as P, StartupOperation as Pi, ProvisionEvent as Pn, SandboxFleetUsage as Pr, ForkCounts as Pt, DurablePlanSnapshot as Q, UploadProgress as Qi, RolloutScorer as Qn, SandboxTerminalManager as Qr, HostAgentDriverConfig as Qt, CreateTaskSessionOptions as R, TaskSessionCommitResult as Ri, PublicTemplateInfo as Rn, SandboxFleetWorkspaceSnapshotResult as Rr, GitAuth as Rt, ChunkedUploadOptions as S, TerminalStreamToken as Sa, SessionMessage as Si, PreviewLinkWaitOptions as Sn, SandboxFleetMachineMeteredUsage as Sr, FileWriteResult as St, CodeExecutionResult as T, SessionStatus as Ti, ProcessListOptions as Tn, SandboxFleetManifest as Tr, FleetDispatchResultBufferOptions as Tt, DispatchedSession as U, TeeAttestationReport as Ui, ReapExpiredSandboxFleetsResult as Un, SandboxPortPreviewLink as Ur, GitStatus as Ut, DirectoryPermission as V, TaskSessionProfile as Vi, PublishPublicTemplateVersionOptions as Vn, SandboxIntelligenceEnvelope as Vr, GitConfig as Vt, DownloadOptions as W, TeeAttestationResponse as Wi, ReconcileSandboxFleetsOptions as Wn, SandboxResourceUsage as Wr, GpuLease as Wt, DurablePlan as X, UpdateUserOptions as Xi, RolloutChildResult as Xn, SandboxTerminalCreateOptions as Xr, GpuLeaseProviderName as Xt, DriverType as Y, TurnDriveResult as Yi, Rollout as Yn, SandboxTerminalAttachOptions as Yr, GpuLeaseManager as Yt, DurablePlanDecisionResult as Z, UploadOptions as Zi, RolloutOptions as Zn, SandboxTerminalInfo as Zr, GpuLeaseStatus as Zt, BatchRunOptions as _, TerminalStream as _a, SessionFailureReason as _i, NonHostAgentDriverConfig as _n, SandboxFleetDriverCapability as _r, FileTreeFile as _t, AgentQuestionRequest as a, WriteManyOptions as aa, SandboxUser as ai, IntelligenceReportWindow as an, SandboxConnection as ar, EnsureDevServerOptions as at, BatchTaskResult as b, TerminalStreamHandlers as ba, SessionInterruptOptions as bi, PreviewLinkInfo as bn, SandboxFleetIntelligenceEnvelope as br, FileUsageOptions as bt, AttachGpuLeaseOptions as c, BatchEventDataMap as ca, SearchMatch as ci, ListOptions as cn, SandboxDeleteAcknowledgement as cr, ExecOptions as ct, BackendConfig as d, PublicBatchRunRequest as da, SecretsManager as di, MAX_EGRESS_DENIALS_LIMIT as dn, SandboxEvent as dr, FileReadBatchOptions as dt, WaitForOptions as ea, SandboxTerminals as ei, InstalledTool as en, RolloutStatus as er, EffectiveBackendProfile as et, BackendInfo as f, BackendType as fa, SendSessionMessageOptions as fi, McpServerConfig as fn, SandboxFleetArtifact as fr, FileReadBatchResult as ft, BatchResult as g, TerminalReadyInfo as ga, SessionEventStreamOptions as gi, NetworkManager as gn, SandboxFleetDispatchResponse as gr, FileSystem as gt, BatchBackend as h, TerminalExitInfo as ha, SessionBackendCredentials as hi, NetworkConfig as hn, SandboxFleetDispatchFailureClass as hr, FileRenameResult as ht, AgentApprovalRequirement as i, WriteManyFile as ia, SandboxTraceOptions as ii, IntelligenceReportSubjectType as in, SandboxConfig as ir, EgressPolicy as it, CreateIntelligenceReportOptions as j, SnapshotResult as ji, PromptInputPart as jn, SandboxFleetTraceEvent as jr, FleetMachineId as jt, CompletedTurnResult as k, SnapshotInfo as ki, ProcessSpawnOptions as kn, SandboxFleetToken as kr, FleetExecDispatchOptions as kt, AttachSandboxFleetMachineOptions as l, BatchSidecarGroup as la, SearchOptions as li, ListSandboxFleetOptions as ln, SandboxDeleteOutcome as lr, ExecResult as lt, BackendStatus as m, TERMINAL_WS_ECHO_SUBPROTOCOL as ma, SentSessionMessage as mi, MkdirOptions as mn, SandboxFleetCostEstimate as mr, FileReadResult as mt, AccessPolicyRule as n, WorkspaceOperationLookup as na, SandboxTraceEvent as ni, IntelligenceReportBudget as nn, SSHCommandDescriptor as nr, EgressDenial as nt, AgentRunStatus as o, BatchBackendStats as oa, ScopedToken as oi, JsonValue as on, SandboxCreateOutcome as or, EventStreamOptions as ot, BackendManager as p, parseBackendType as pa, SendSessionMessageRequest as pi, MintScopedTokenOptions as pn, SandboxFleetArtifactSpec as pr, FileReadError as pt, DriverConfig as q, TokenRefreshHandler as qi, RestoreSnapshotOptions as qn, SandboxRuntimeHealth as qr, GpuLeaseExecOptions as qt, AddUserOptions as r, WriteFileOptions as ra, SandboxTraceExport as ri, IntelligenceReportCompareTo as rn, SSHCredentials as rr, EgressManager as rt, AgentToolInvocation as s, BatchEvent as sa, ScopedTokenScope as si, ListMessagesOptions as sn, SandboxCreateReceipt as sr, ExactProcessSpawnOptions as st, AcceleratorKind as t, WaitForRolloutOptions as ta, SandboxTraceBundle as ti, IntelligenceReport as tn, RolloutTurnPart as tr, EffectiveBackendSource as tt, BackendCapabilities as u, BatchTaskUsage as ua, SecretInfo as ui, ListSandboxOptions as un, SandboxEnvironment as ur, FileInfo as ut, BatchRunRequest as v, TerminalStreamAuthFormat as va, SessionForkOptions as vi, PermissionLevel as vn, SandboxFleetDriverTimings as vr, FileTreeOptions as vt, CodeExecutionOptions as w, SessionResultOptions as wi, ProcessInfo as wn, SandboxFleetMachineSpec as wr, FleetDispatchResultBuffer as wt, BranchOptions as x, TerminalStreamOptions as xa, SessionListOptions as xi, PreviewLinkManager as xn, SandboxFleetMachine as xr, FileUsageResult as xt, BatchTask as y, TerminalStreamError as ya, SessionInfo as yi, PermissionsManager as yn, SandboxFleetInfo as yr, FileTreeResult as yt, DeleteOptions as z, TaskSessionFileChange as zi, PublicTemplateVersionInfo as zn, SandboxIdentity as zr, GitBranch as zt };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/sandbox",
3
- "version": "0.30.1",
3
+ "version": "0.30.2-develop.20260820100122.dc85046",
4
4
  "description": "Client SDK for the Tangle Sandbox platform - build AI agent applications with dev containers",
5
5
  "type": "module",
6
6
  "sideEffects": [