zidane 5.10.11 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/README.md +26 -0
  2. package/dist/{agent-BHkvYIH9.d.ts → agent-B7ilLoh8.d.ts} +63 -4
  3. package/dist/agent-B7ilLoh8.d.ts.map +1 -0
  4. package/dist/chat/pure.d.ts +3 -3
  5. package/dist/chat.d.ts +6 -6
  6. package/dist/chat.js +2 -2
  7. package/dist/contexts/docker.d.ts +1 -1
  8. package/dist/contexts/docker.d.ts.map +1 -1
  9. package/dist/contexts/docker.js +53 -14
  10. package/dist/contexts/docker.js.map +1 -1
  11. package/dist/contexts/e2b.d.ts +168 -0
  12. package/dist/contexts/e2b.d.ts.map +1 -0
  13. package/dist/contexts/e2b.js +261 -0
  14. package/dist/contexts/e2b.js.map +1 -0
  15. package/dist/{contexts-Biyou1mm.js → contexts-DglWSzmR.js} +97 -13
  16. package/dist/contexts-DglWSzmR.js.map +1 -0
  17. package/dist/contexts.d.ts +3 -3
  18. package/dist/contexts.js +1 -1
  19. package/dist/eval.d.ts +1 -1
  20. package/dist/eval.js +4 -4
  21. package/dist/{headless-DVlJyaZ3.js → headless-CYHU4ZB-.js} +6 -6
  22. package/dist/{headless-DVlJyaZ3.js.map → headless-CYHU4ZB-.js.map} +1 -1
  23. package/dist/headless.d.ts +1 -1
  24. package/dist/headless.js +1 -1
  25. package/dist/{index-C4aT2kO_.d.ts → index-C-zEbeFI.d.ts} +13 -101
  26. package/dist/index-C-zEbeFI.d.ts.map +1 -0
  27. package/dist/{index-C_t8tW_X.d.ts → index-CrMb8jCE.d.ts} +2 -2
  28. package/dist/{index-C_t8tW_X.d.ts.map → index-CrMb8jCE.d.ts.map} +1 -1
  29. package/dist/{index-BIo67xLV.d.ts → index-CsRdmSh6.d.ts} +10 -3
  30. package/dist/index-CsRdmSh6.d.ts.map +1 -0
  31. package/dist/index.d.ts +7 -6
  32. package/dist/index.js +11 -10
  33. package/dist/index.js.map +1 -1
  34. package/dist/{interpolate-Dy7Lunvg.js → interpolate-CTfr0GdR.js} +19 -1
  35. package/dist/{interpolate-Dy7Lunvg.js.map → interpolate-CTfr0GdR.js.map} +1 -1
  36. package/dist/logger-Bd4Wn9Hc.d.ts +102 -0
  37. package/dist/logger-Bd4Wn9Hc.d.ts.map +1 -0
  38. package/dist/logger-Ktm-lj1s.js +300 -0
  39. package/dist/logger-Ktm-lj1s.js.map +1 -0
  40. package/dist/{login-0jP1pnSJ.js → login-DVLJzf-S.js} +4 -301
  41. package/dist/login-DVLJzf-S.js.map +1 -0
  42. package/dist/{mcp-tevNihk_.js → mcp-DPneQbw2.js} +21 -8
  43. package/dist/mcp-DPneQbw2.js.map +1 -0
  44. package/dist/mcp.d.ts +1 -1
  45. package/dist/mcp.js +1 -1
  46. package/dist/{messages-C_1AmSpk.js → messages-DJ7xdoUg.js} +5 -1
  47. package/dist/messages-DJ7xdoUg.js.map +1 -0
  48. package/dist/output/stream-json.d.ts +2 -2
  49. package/dist/output/stream-json.js +1 -1
  50. package/dist/output/terminal.d.ts +2 -2
  51. package/dist/output/terminal.js +1 -0
  52. package/dist/output/terminal.js.map +1 -1
  53. package/dist/{presets-w7EPYoPn.js → presets-Q0yUDRA6.js} +2 -2
  54. package/dist/{presets-w7EPYoPn.js.map → presets-Q0yUDRA6.js.map} +1 -1
  55. package/dist/presets.d.ts +2 -2
  56. package/dist/presets.js +1 -1
  57. package/dist/{providers-BGBB18zz.js → providers-BPdi7cUU.js} +73 -11
  58. package/dist/providers-BPdi7cUU.js.map +1 -0
  59. package/dist/providers.d.ts +1 -1
  60. package/dist/providers.js +2 -2
  61. package/dist/restate.d.ts +2 -2
  62. package/dist/restate.js +4 -1
  63. package/dist/restate.js.map +1 -1
  64. package/dist/session/sqlite.d.ts +1 -1
  65. package/dist/session/sqlite.d.ts.map +1 -1
  66. package/dist/session/sqlite.js +36 -4
  67. package/dist/session/sqlite.js.map +1 -1
  68. package/dist/{session-CtAWwwkn.js → session-D4GckETs.js} +69 -21
  69. package/dist/session-D4GckETs.js.map +1 -0
  70. package/dist/session.d.ts +2 -2
  71. package/dist/session.js +3 -3
  72. package/dist/shell-quote-BmnhZmdM.js +33 -0
  73. package/dist/shell-quote-BmnhZmdM.js.map +1 -0
  74. package/dist/skills.d.ts +3 -3
  75. package/dist/skills.js +1 -1
  76. package/dist/skills.js.map +1 -1
  77. package/dist/{tool-formatters-D_fX6FGl.d.ts → tool-formatters-DXO8rGut.d.ts} +2 -2
  78. package/dist/{tool-formatters-D_fX6FGl.d.ts.map → tool-formatters-DXO8rGut.d.ts.map} +1 -1
  79. package/dist/tools/fetch-url.d.ts +1 -1
  80. package/dist/tools/web-search.d.ts +1 -1
  81. package/dist/{tools-C_n0l1AK.js → tools-DqNkGwfd.js} +80 -73
  82. package/dist/tools-DqNkGwfd.js.map +1 -0
  83. package/dist/tools.d.ts +2 -2
  84. package/dist/tools.js +1 -1
  85. package/dist/{transcript-anchors-DPC6gj75.js → transcript-anchors-C3tVPR5n.js} +8 -8
  86. package/dist/{transcript-anchors-DPC6gj75.js.map → transcript-anchors-C3tVPR5n.js.map} +1 -1
  87. package/dist/{transcript-anchors-DA6XawEU.d.ts → transcript-anchors-p-ZsBSEF.d.ts} +10 -4
  88. package/dist/transcript-anchors-p-ZsBSEF.d.ts.map +1 -0
  89. package/dist/tui.d.ts +3 -3
  90. package/dist/tui.js +151 -41
  91. package/dist/tui.js.map +1 -1
  92. package/dist/{turn-operations-CCl7rpbT.d.ts → turn-operations-DD1D5VFx.d.ts} +3 -3
  93. package/dist/{turn-operations-CCl7rpbT.d.ts.map → turn-operations-DD1D5VFx.d.ts.map} +1 -1
  94. package/dist/{types-BibzMDjX.d.ts → types-B39tBba1.d.ts} +69 -2
  95. package/dist/types-B39tBba1.d.ts.map +1 -0
  96. package/dist/types.d.ts +5 -5
  97. package/docs/EXECUTION_CONTEXT.md +257 -0
  98. package/docs/RUN_IN_BACKGROUND.md +8 -0
  99. package/package.json +57 -24
  100. package/dist/agent-BHkvYIH9.d.ts.map +0 -1
  101. package/dist/contexts-Biyou1mm.js.map +0 -1
  102. package/dist/index-BIo67xLV.d.ts.map +0 -1
  103. package/dist/index-C4aT2kO_.d.ts.map +0 -1
  104. package/dist/login-0jP1pnSJ.js.map +0 -1
  105. package/dist/mcp-tevNihk_.js.map +0 -1
  106. package/dist/messages-C_1AmSpk.js.map +0 -1
  107. package/dist/providers-BGBB18zz.js.map +0 -1
  108. package/dist/session-CtAWwwkn.js.map +0 -1
  109. package/dist/tools-C_n0l1AK.js.map +0 -1
  110. package/dist/transcript-anchors-DA6XawEU.d.ts.map +0 -1
  111. package/dist/types-BibzMDjX.d.ts.map +0 -1
package/README.md CHANGED
@@ -677,6 +677,32 @@ createDockerContext({ image: 'node:22', cwd: '/workspace', limits: { memory: 512
677
677
  createSandboxContext(myProvider) // implement SandboxProvider
678
678
  ```
679
679
 
680
+ ### E2B
681
+
682
+ A ready-made `SandboxProvider` backed by [E2B](https://e2b.dev) ships behind its
683
+ own subpath, so the `e2b` SDK only enters your bundle when you opt in
684
+ (`bun add e2b`).
685
+
686
+ ```ts
687
+ import { createSandboxContext } from 'zidane'
688
+ import { createE2BProvider } from 'zidane/contexts/e2b'
689
+
690
+ // apiKey/domain fall back to E2B_API_KEY / E2B_DOMAIN env vars.
691
+ // Point `domain` at a self-hosted / on-prem cluster to use your own E2B.
692
+ const execution = createSandboxContext(createE2BProvider({
693
+ apiKey: process.env.E2B_API_KEY,
694
+ domain: 'e2b.my-company.internal', // omit for E2B's hosted API
695
+ template: 'base',
696
+ }))
697
+ ```
698
+
699
+ From the CLI, `--context e2b` wires the same provider (reads `E2B_API_KEY` /
700
+ `E2B_DOMAIN` from the environment; `--cwd` sets the sandbox working directory):
701
+
702
+ ```bash
703
+ bun start --prompt "..." --context e2b --cwd /home/user/project
704
+ ```
705
+
680
706
  ## State Management
681
707
 
682
708
  ```ts
@@ -1,4 +1,4 @@
1
- import { c as ExecutionHandle, d as TaskExitInfo, s as ExecutionContext } from "./types-BibzMDjX.js";
1
+ import { c as ExecutionContext, f as TaskExitInfo, l as ExecutionHandle } from "./types-B39tBba1.js";
2
2
  import { Hookable } from "hookable";
3
3
  import { OAuthCredentials, getOAuthApiKey } from "@earendil-works/pi-ai/oauth";
4
4
  import { OAuthClientProvider } from "@modelcontextprotocol/sdk/client/auth.js";
@@ -3597,6 +3597,8 @@ interface RemoteStoreOptions {
3597
3597
  url: string;
3598
3598
  /** Optional headers (e.g. for authentication) */
3599
3599
  headers?: Record<string, string>;
3600
+ /** Per-request timeout in ms. Default 30s — bounds a hung backend. */
3601
+ timeoutMs?: number;
3600
3602
  }
3601
3603
  declare function createRemoteStore(options: RemoteStoreOptions): SessionStore;
3602
3604
  //#endregion
@@ -3709,6 +3711,12 @@ interface SessionStore {
3709
3711
  updateRun: (sessionId: string, run: SessionRun) => Promise<void>;
3710
3712
  /** Update the top-level status of a session. */
3711
3713
  updateStatus: (sessionId: string, status: SessionData['status']) => Promise<void>;
3714
+ /**
3715
+ * Optional: release backend resources (e.g. close the SQLite handle).
3716
+ * Hosts should call this on teardown when present; stores backed by
3717
+ * memory or remote HTTP have nothing to release and may omit it.
3718
+ */
3719
+ close?: () => void;
3712
3720
  }
3713
3721
  interface Session {
3714
3722
  /** Session ID */
@@ -3839,6 +3847,11 @@ interface Session {
3839
3847
  toMessages: (options?: ToWireMessagesOptions) => SessionMessage[];
3840
3848
  /** Serialize to SessionData */
3841
3849
  toJSON: () => SessionData;
3850
+ /**
3851
+ * The backing store, when one was provided. Exposed so hosts can call
3852
+ * its optional `close()` on teardown (e.g. release the SQLite handle).
3853
+ */
3854
+ readonly store?: SessionStore;
3842
3855
  }
3843
3856
  interface CreateSessionOptions {
3844
3857
  /** Session ID. If omitted and store provides generateSessionId, that is used. */
@@ -3864,6 +3877,16 @@ interface CreateSessionOptions {
3864
3877
  * Async so stores that generate IDs server-side (e.g. Supabase) can be supported.
3865
3878
  */
3866
3879
  declare function createSession(options?: CreateSessionOptions): Promise<Session>;
3880
+ /**
3881
+ * Demote a persisted `'running'` status to `'idle'` (in place) and return the
3882
+ * data. A persisted `'running'` is necessarily stale: the run that set it lived
3883
+ * in another process (crash, kill -9, power loss) and cannot still be executing
3884
+ * in a freshly-loaded session. Call this on the result of a raw `store.load()`
3885
+ * so consumers don't render a ghost in-progress state or refuse a new run.
3886
+ * `loadSession` applies it automatically; direct `store.load()` callers (e.g.
3887
+ * the TUI) should run loaded data through this.
3888
+ */
3889
+ declare function demoteStaleRunningStatus(data: SessionData): SessionData;
3867
3890
  /**
3868
3891
  * Load an existing session from a store.
3869
3892
  */
@@ -3888,6 +3911,18 @@ interface SkillResource {
3888
3911
  * and for host SDKs to gate project-level skills on a trust check.
3889
3912
  */
3890
3913
  type SkillSource = 'project' | 'user' | 'inline' | 'builtin';
3914
+ /**
3915
+ * Passed to a shell-interpolation approval gate so hosts can render a
3916
+ * meaningful prompt before a skill's embedded `!`cmd`` command runs.
3917
+ */
3918
+ interface ShellInterpolationApproval {
3919
+ /** Name of the skill being activated. */
3920
+ skillName: string;
3921
+ /** Where the skill came from (`project` / `user` / `inline` / `builtin`). */
3922
+ source: SkillSource | undefined;
3923
+ /** The exact shell command that would be executed. */
3924
+ command: string;
3925
+ }
3891
3926
  /** Severity + code for lenient-load warnings surfaced to host UIs. */
3892
3927
  interface SkillDiagnostic {
3893
3928
  severity: 'warning' | 'error';
@@ -3988,9 +4023,19 @@ interface SkillsConfig {
3988
4023
  * input, and executing its embedded commands at activation time bypasses
3989
4024
  * the allowed-tools gate — set `false` for locked-down hosts. When off,
3990
4025
  * each `!\`cmd\`` is replaced with a `[shell interpolation disabled]`
3991
- * placeholder.
4026
+ * placeholder. For interactive approval instead of a hard on/off, wire
4027
+ * `approveShellInterpolation` (see the skills tool options).
3992
4028
  */
3993
4029
  allowShellInterpolation?: boolean;
4030
+ /**
4031
+ * Optional approval gate for `!`cmd`` shell interpolation. Invoked once
4032
+ * per (skill, command) before the command runs; return `false` to skip it
4033
+ * (replaced with a `[shell interpolation not approved]` placeholder). When
4034
+ * omitted, interpolation runs without prompting (back-compat). Hosts
4035
+ * (TUI/GUI) can wire this to an interactive confirmation. Only consulted
4036
+ * when `allowShellInterpolation` is not `false`.
4037
+ */
4038
+ approveShellInterpolation?: (request: ShellInterpolationApproval) => boolean | Promise<boolean>;
3994
4039
  /**
3995
4040
  * When `false`, skills with `source: 'project'` are skipped during
3996
4041
  * resolution with a diagnostic. Default `true` (preserves existing behavior).
@@ -5786,6 +5831,20 @@ interface Agent {
5786
5831
  * on the next turn.
5787
5832
  */
5788
5833
  killBackgroundTask: (taskId: string) => Promise<boolean>;
5834
+ /**
5835
+ * `true` while at least one background-task exit is queued for delivery
5836
+ * on the next `run()` (the push-fed `background:exit` queue; pending
5837
+ * stall signals don't count). Exits already acknowledged by the model
5838
+ * (`shell_kill`, a successful `wait_task`, reading the output file)
5839
+ * never surface here.
5840
+ *
5841
+ * This is the host-side "auto-wake" signal: when it flips true while
5842
+ * the agent is idle, a drain-only `run({ prompt: '' })` delivers the
5843
+ * `<task-notification>` block without waiting for the user's next
5844
+ * prompt — prompt-less runs are explicitly legal in that state (see
5845
+ * `validateAndPrepareResume`).
5846
+ */
5847
+ readonly hasPendingTaskNotifications: boolean;
5789
5848
  /**
5790
5849
  * Queue a mid-run nudge injected as a user turn at the next tool/turn
5791
5850
  * boundary. Returns `false` (and queues nothing) when no run is in
@@ -5909,5 +5968,5 @@ declare function createAgent({
5909
5968
  clock: agentClock
5910
5969
  }: AgentOptions): Agent;
5911
5970
  //#endregion
5912
- export { ToWireMessagesOptions as $, ContextExactCounts as $n, AgentStats as $t, SkillResource as A, ToolResultImageContent as An, OpenAICompatParams as At, RemoteStoreOptions as B, AgentProviderError as Bn, CerebrasParams as Bt, ReadStateMap as C, StreamHookContext as Cn, SchemaSanitizeResult as Ct, resolveReadStateMap as D, ToolOutcome as Dn, openrouter as Dt, readStateKey as E, ToolHookContext as En, OpenRouterParams as Et, SessionData as F, toolOutputByteLength as Fn, openai as Ft, createFileMapStore as G, ClassifiedErrorKind as Gn, ArceeParams as Gt, createMemoryStore as H, AgentToolPairingError as Hn, BasetenParams as Ht, SessionRun as I, toolResultToText as In, LocalParams as It, PairingRepair as J, toTypedError as Jn, anthropic as Jt, EnsureToolResultPairingOptions as K, errorMessage as Kn, arcee as Kt, SessionStore as L, AgentAbortedError as Ln, local as Lt, SkillsConfig as M, TurnFinishReason as Mn, mapOAIFinishReason as Mt, CreateSessionOptions as N, TurnUsage as Nn, openaiCompat as Nt, SkillConfig as O, ToolResultContent as On, OpenAICompatAuthHeader as Ot, Session as P, toolOutputBudgetByteLength as Pn, OpenAIParams as Pt, TOOL_USE_INTERRUPTED_MARKER as Q, ContextCategoryId as Qn, AgentRunOptions as Qt, createSession as R, AgentBudgetExceededError as Rn, CursorParams as Rt, ReadStateEntry as S, SpawnHookContext as Sn, SchemaSanitizeProfile as St, hashContent as T, ToolBatchExecutor as Tn, sanitizeToolSpecs as Tt, FileMapAdapter as U, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as Un, baseten as Ut, createRemoteStore as V, AgentToolNotAllowedError as Vn, cerebras as Vt, FileMapStoreOptions as W, ClassifiedError as Wn, planBasetenReasoning as Wt, RemintResult as X, ContextBreakdownOptions as Xn, AgentBehavior as Xt, PairingRepairMode as Y, ContextBreakdown as Yn, applyAnthropicCacheBreakpoints as Yt, SYNTHETIC_TOOL_RESULT_PLACEHOLDER as Z, ContextCategory as Zn, AgentClock as Zt, normalizeMcpServers as _, SessionContentBlock as _n, ToolCall as _t, createAgent as a, McpServerConfig as an, filterUnresolvedToolUses as at, ToolDef as b, SessionMessage as bn, TurnResult as bt, DeactivationReason as c, OAuthRefreshHookContext as cn, remintDuplicateToolCallIds as ct, createSkillActivationState as d, PromptPart as dn, toWireMessages as dt, ChildRunStats as en, ContextItem as er, TurnInterruptionState as et, ConnectMcpServersOptions as f, PromptTextPart as fn, Provider as ft, normalizeMcpBlocks as g, RunHookMap as gn, TokenCountPayload as gt, connectMcpServers as h, RetryConfig as hn, StreamOptions as ht, AgentOptions as i, DedupToolConfig as in, buildContextBreakdown as ir, ensureToolResultPairing as it, SkillSource as j, ToolResultTextContent as jn, classifyOpenAICompatError as jt, SkillDiagnostic as k, ToolResultDocumentContent as kn, OpenAICompatHttpError as kt, SkillActivationState as l, PromptDocumentPart as ln, toAnthropic as lt, attachStderrWarnPump as m, RepeatGuardToolMatcher as mn, StreamCallbacks as mt, AgentHookMap as n, DEFAULT_AGENT_CLOCK as nn, ContextSnapshot as nr, detectTurnInterruption as nt, ActivationVia as o, McpToolHookContext as on, fromAnthropic as ot, McpConnection as p, RepeatGuardConfig as pn, ProviderCapabilities as pt, ORPHANED_TOOL_RESULT_MARKER as q, matchesContextExceeded as qn, AnthropicParams as qt, AgentHooks as r, DedupHasher as rn, ContextUsageSplit as rr, ensureEndsWithUserMessage as rt, ActiveSkill as s, McpToolSchema as sn, fromOpenAI as st, Agent as t, CompactFunction as tn, ContextMcpGroup as tr, autoDetectAndConvert as tt, SkillActivationStateOptions as u, PromptImagePart as un, toOpenAI as ut, resultToString as v, SessionEndStatus as vn, ToolResult as vt, getReadState as w, ThinkingLevel as wn, sanitizeToolSchema as wt, ToolMap as x, SessionTurn as xn, SchemaSanitizeOptions as xt, ToolContext as y, SessionHookContext as yn, ToolSpec as yt, loadSession as z, AgentContextExceededError as zn, cursor as zt };
5913
- //# sourceMappingURL=agent-BHkvYIH9.d.ts.map
5971
+ export { SYNTHETIC_TOOL_RESULT_PLACEHOLDER as $, ContextCategory as $n, AgentClock as $t, SkillDiagnostic as A, ToolResultContent as An, OpenAICompatAuthHeader as At, demoteStaleRunningStatus as B, AgentBudgetExceededError as Bn, CursorParams as Bt, ReadStateMap as C, SessionTurn as Cn, SchemaSanitizeOptions as Ct, resolveReadStateMap as D, ToolBatchExecutor as Dn, sanitizeToolSpecs as Dt, readStateKey as E, ThinkingLevel as En, sanitizeToolSchema as Et, Session as F, TurnUsage as Fn, openaiCompat as Ft, FileMapAdapter as G, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as Gn, baseten as Gt, RemoteStoreOptions as H, AgentProviderError as Hn, CerebrasParams as Ht, SessionData as I, toolOutputBudgetByteLength as In, OpenAIParams as It, EnsureToolResultPairingOptions as J, errorMessage as Jn, arcee as Jt, FileMapStoreOptions as K, ClassifiedError as Kn, planBasetenReasoning as Kt, SessionRun as L, toolOutputByteLength as Ln, openai as Lt, SkillSource as M, ToolResultImageContent as Mn, OpenAICompatParams as Mt, SkillsConfig as N, ToolResultTextContent as Nn, classifyOpenAICompatError as Nt, ShellInterpolationApproval as O, ToolHookContext as On, OpenRouterParams as Ot, CreateSessionOptions as P, TurnFinishReason as Pn, mapOAIFinishReason as Pt, RemintResult as Q, ContextBreakdownOptions as Qn, AgentBehavior as Qt, SessionStore as R, toolResultToText as Rn, LocalParams as Rt, ReadStateEntry as S, SessionMessage as Sn, TurnResult as St, hashContent as T, StreamHookContext as Tn, SchemaSanitizeResult as Tt, createRemoteStore as U, AgentToolNotAllowedError as Un, cerebras as Ut, loadSession as V, AgentContextExceededError as Vn, cursor as Vt, createMemoryStore as W, AgentToolPairingError as Wn, BasetenParams as Wt, PairingRepair as X, toTypedError as Xn, anthropic as Xt, ORPHANED_TOOL_RESULT_MARKER as Y, matchesContextExceeded as Yn, AnthropicParams as Yt, PairingRepairMode as Z, ContextBreakdown as Zn, applyAnthropicCacheBreakpoints as Zt, normalizeMcpServers as _, RetryConfig as _n, StreamOptions as _t, createAgent as a, DedupHasher as an, ContextUsageSplit as ar, ensureEndsWithUserMessage as at, ToolDef as b, SessionEndStatus as bn, ToolResult as bt, DeactivationReason as c, McpToolHookContext as cn, fromAnthropic as ct, createSkillActivationState as d, PromptDocumentPart as dn, toAnthropic as dt, AgentRunOptions as en, ContextCategoryId as er, TOOL_USE_INTERRUPTED_MARKER as et, ConnectMcpServersOptions as f, PromptImagePart as fn, toOpenAI as ft, normalizeMcpBlocks as g, RepeatGuardToolMatcher as gn, StreamCallbacks as gt, connectMcpServers as h, RepeatGuardConfig as hn, ProviderCapabilities as ht, AgentOptions as i, DEFAULT_AGENT_CLOCK as in, ContextSnapshot as ir, detectTurnInterruption as it, SkillResource as j, ToolResultDocumentContent as jn, OpenAICompatHttpError as jt, SkillConfig as k, ToolOutcome as kn, openrouter as kt, SkillActivationState as l, McpToolSchema as ln, fromOpenAI as lt, attachStderrWarnPump as m, PromptTextPart as mn, Provider as mt, AgentHookMap as n, ChildRunStats as nn, ContextItem as nr, TurnInterruptionState as nt, ActivationVia as o, DedupToolConfig as on, buildContextBreakdown as or, ensureToolResultPairing as ot, McpConnection as p, PromptPart as pn, toWireMessages as pt, createFileMapStore as q, ClassifiedErrorKind as qn, ArceeParams as qt, AgentHooks as r, CompactFunction as rn, ContextMcpGroup as rr, autoDetectAndConvert as rt, ActiveSkill as s, McpServerConfig as sn, filterUnresolvedToolUses as st, Agent as t, AgentStats as tn, ContextExactCounts as tr, ToWireMessagesOptions as tt, SkillActivationStateOptions as u, OAuthRefreshHookContext as un, remintDuplicateToolCallIds as ut, resultToString as v, RunHookMap as vn, TokenCountPayload as vt, getReadState as w, SpawnHookContext as wn, SchemaSanitizeProfile as wt, ToolMap as x, SessionHookContext as xn, ToolSpec as xt, ToolContext as y, SessionContentBlock as yn, ToolCall as yt, createSession as z, AgentAbortedError as zn, local as zt };
5972
+ //# sourceMappingURL=agent-B7ilLoh8.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-B7ilLoh8.d.ts","names":[],"sources":["../src/chat/context-breakdown.ts","../src/errors.ts","../src/types.ts","../src/providers/oauth.ts","../src/providers/anthropic.ts","../src/providers/arcee.ts","../src/providers/baseten.ts","../src/providers/cerebras.ts","../src/providers/cursor.ts","../src/providers/local.ts","../src/providers/openai.ts","../src/providers/openai-compat.ts","../src/providers/openrouter.ts","../src/providers/schema-sanitize.ts","../src/providers/index.ts","../src/session/messages.ts","../src/session/file-map.ts","../src/session/memory.ts","../src/session/remote.ts","../src/session/index.ts","../src/skills/types.ts","../src/tools/read-state.ts","../src/tools/types.ts","../src/mcp/index.ts","../src/skills/activation.ts","../src/agent.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { $n as ContextExactCounts, Qn as ContextCategoryId, Xn as ContextBreakdownOptions, Yn as ContextBreakdown, Zn as ContextCategory, er as ContextItem, ir as buildContextBreakdown, nr as ContextSnapshot, rr as ContextUsageSplit, tr as ContextMcpGroup } from "../agent-BHkvYIH9.js";
2
- import { B as collectReferences, F as CompletionContext, H as mergeReferences, I as CompletionItem, L as CompletionProvider, P as ActiveTrigger, R as CompletionReference, V as findActiveTrigger, _ as isEditErrorResult, a as formatToolCall, b as selectableTurnIds, c as splitPromptSegments, g as EDIT_TOOL_NAMES, i as displayNameFor, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, v as isTurnHighlighted, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "../tool-formatters-D_fX6FGl.js";
3
- import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, I as splitLines, J as SKILLS_TRIGGER, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId } from "../turn-operations-CCl7rpbT.js";
1
+ import { $n as ContextCategory, Qn as ContextBreakdownOptions, Zn as ContextBreakdown, ar as ContextUsageSplit, er as ContextCategoryId, ir as ContextSnapshot, nr as ContextItem, or as buildContextBreakdown, rr as ContextMcpGroup, tr as ContextExactCounts } from "../agent-B7ilLoh8.js";
2
+ import { B as collectReferences, F as CompletionContext, H as mergeReferences, I as CompletionItem, L as CompletionProvider, P as ActiveTrigger, R as CompletionReference, V as findActiveTrigger, _ as isEditErrorResult, a as formatToolCall, b as selectableTurnIds, c as splitPromptSegments, g as EDIT_TOOL_NAMES, i as displayNameFor, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, v as isTurnHighlighted, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "../tool-formatters-DXO8rGut.js";
3
+ import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, I as splitLines, J as SKILLS_TRIGGER, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId } from "../turn-operations-DD1D5VFx.js";
4
4
  export { type ActiveTrigger, type CatalogEntry, type CompletionContext, type CompletionItem, type CompletionProvider, type CompletionReference, type ContextBreakdown, type ContextBreakdownOptions, type ContextCategory, type ContextCategoryId, type ContextExactCounts, type ContextItem, type ContextMcpGroup, type ContextSnapshot, type ContextUsageSplit, type DiffLine, type DiffOp, EDIT_TOOL_NAMES, type EditHunkSummary, type EditSummary, FILES_TRIGGER, type HunkResolution, type InlineDiff, type InlineSegment, type PreviewResult, type PromptSegment, type PromptSegmentRef, SKILLS_TRIGGER, TOOL_DISPLAY, type ToolDisplayMeta, type ToolFormatLine, ageString, applyEditPayload, applyInsert, blendHsl, buildContextBreakdown, buildContextualDiff, buildLinearRamp, buildModelCatalog, buildUnifiedDiff, collectReferences, compactPath, computeInlineDiff, computeLineDiff, countNeighbors, createFilesCompletionProvider, createSkillsCompletionProvider, deleteTurnSafely, displayNameFor, extractEditPayload, filetypeFromPath, filterModelCatalog, finalizeStreamingMarkdown, finalizeStreamingMarkdownForOwner, findActiveTrigger, fmtTokens, formatDuration, formatTaskStatus, formatTaskSummary, formatToolCall, indexOfEntry, isEditErrorResult, isTurnHighlighted, isVisible, mergeReferences, previewEditPayload, previewLine, selectableTurnIds, shortId, splitLines, splitPromptSegments, summarizeEditPayload, summarizeOutcomes, tokenize, truncateTurnsAt, turnAsText, turnContextSize, turnSelectionOwnership, uniqueFilesFromReferences, uniqueSkillNamesFromReferences };
package/dist/chat.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { $n as ContextExactCounts, M as SkillsConfig, O as SkillConfig, P as Session, Qn as ContextCategoryId, Xn as ContextBreakdownOptions, Yn as ContextBreakdown, Zn as ContextCategory, an as McpServerConfig, er as ContextItem, ft as Provider, ir as buildContextBreakdown, nr as ContextSnapshot, r as AgentHooks, rr as ContextUsageSplit, sn as McpToolSchema, tr as ContextMcpGroup, xn as SessionTurn } from "./agent-BHkvYIH9.js";
2
- import { K as McpCredentialEntry, q as McpCredentialStore, t as Preset } from "./index-C4aT2kO_.js";
3
- import { _ as SourcedScanPath } from "./index-BIo67xLV.js";
4
- import { $ as useInteractionsQueue, $t as parseBindingSpec, A as InteractionsProvider, At as marginTopFor, B as QuestionPayload, Bt as KEYBINDING_DEF_BY_ACTION, C as ASK_USER_TOOL, Ct as TuiState, D as InteractionRequest, Dt as lastContextSizeFromTurns, E as CreateInteractionToolsOptions, Et as eventsFromTurns, F as PlanRequest, Ft as toolCallPreview, G as TextQuestion, Gt as KeyBindings, H as QuestionResponse, Ht as KeyAction, I as PlanResponse, It as toolResultText, J as isInteractionTool, Jt as formatBindingForDisplay, K as buildResumedToolResultsTurn, Kt as ParsedBinding, L as PlanStep, Lt as updateToolEventOutcomes, M as PendingInteractionEntry, Mt as stripSpawnTokensLine, N as PlanDecision, Nt as sumRunCosts, O as InteractionResponse, Ot as listSessionMeta, P as PlanPayload, Pt as titleFromTurns, Q as useInteractionsActions, Qt as mergeKeybindings, R as Question, Rt as DEFAULT_KEYBINDINGS, S as splitMarkdownCodeBlocks, St as StateStoreApi, T as ConfirmQuestion, Tt as deriveSessionTitle, U as QuestionType, Ut as KeyBindingDef, V as QuestionRequest, Vt as KEYBINDING_KEY_COL_WIDTH, W as SelectQuestion, Wt as KeyBindingSection, X as pendingInteractionsFromTurns, Xt as keybindingsPath, Y as makeRequestInteraction, Yt as groupBindings, Z as serializeInteractionResponse, Zt as matchesBinding, _ as SessionExportTarget, _n as PLAN_AGENT, _t as ResolveStorageDirsOptions, a as ChipColorMap, an as Hint, at as DiscoveryResult, b as writeSessionExport, bn as singleAgentRegistry, bt as StorageSlot, c as SyntaxTokenStyle, cn as truncateTrailing, ct as discoverProjectMcps, d as ThemeSelect, dn as AgentRegistry, dt as ChatOptions, en as readKeybindings, et as EnabledAllowlistKey, f as ThemeSurfaces, fn as BUILD_AGENT, ft as ProviderRegistry, g as SessionExportFormat, gn as DEFAULT_PERSIST_EXCLUDE_TOOLS, gt as resolveStoragePaths, h as SessionExportAnchor, hn as DEFAULT_BUDGET_EXCLUDE_TOOLS, ht as resolveConfig, i as ChipColor, in as EMPTY_HINTS, it as DiscoveryError, j as PRESENT_PLAN_TOOL, jt as saveState, k as InteractionsActions, kt as loadState, l as Theme, ln as AgentAccent, lt as parseMcpsFile, m as resolveTheme, mn as DEFAULT_AGENT_ID, mt as ResolvedPaths, n as computeTurnAnchors, nn as CompletionState, nt as useEnabledToggleSet, o as DEFAULT_THEME, on as clipHintsToWidth, ot as buildMcpServers, p as resolveChipColor, pn as BUILTIN_AGENTS, pt as ResolvedConfig, q as createInteractionTools, qt as ensureKeybindingsFile, r as BUILTIN_THEMES, rn as useCompletion, rt as DiscoveredMcp, s as SyntaxStyles, sn as hintsLength, st as defaultMcpsConfigPaths, t as TranscriptItem, tn as stripJsonComments, tt as EnabledToggleSet, u as ThemeColors, un as AgentProfile, ut as AutoUpdateConfig, v as renderSession, vn as accentColor, vt as StorageDirs, w as AnswerValue, wt as createStateStore, x as MarkdownSegment, xt as resolveStorageDirs, y as resolveSessionExportTarget, yn as resolveAgentId, yt as StorageMode, z as QuestionChoice, zt as KEYBINDING_DEFS } from "./transcript-anchors-DA6XawEU.js";
5
- import { $ as anthropicDescriptor, A as SessionMeta, B as collectReferences, C as EditHunk, D as Owner, E as EditPayload, F as CompletionContext, G as ProviderKey, H as mergeReferences, I as CompletionItem, J as CustomField, K as detectAuth, L as CompletionProvider, M as StreamEvent, N as ToolCallDisplay, O as Picked, P as ActiveTrigger, Q as ProviderDescriptor, R as CompletionReference, S as EditDiffDisplay, T as EditOutcomeKind, U as AuthMethod, V as findActiveTrigger, W as ProviderAuth, X as ModelOption, Y as ModelInfo, Z as OUTPUT_RESERVE_TOKENS, _ as isEditErrorResult, a as formatToolCall, at as getModelInfo, b as selectableTurnIds, c as splitPromptSegments, ct as modelSupportsReasoning, d as RequestApproval, dt as openrouterDescriptor, et as cerebrasDescriptor, f as SafeModeActions, ft as piIdOf, h as useSafeModeQueue, i as displayNameFor, it as getContextWindow, j as Settings, k as Screen, l as ApprovalDecision, lt as modelsForDescriptor, m as useSafeModeActions, n as ToolDisplayMeta, nt as effectiveContextWindow, o as PromptSegment, ot as localDescriptor, p as SafeModeProvider, pt as restoreModelOptions, q as BUILTIN_PROVIDERS, r as ToolFormatLine, rt as enabledModelOptions, s as PromptSegmentRef, st as modelOptionsFor, t as TOOL_DISPLAY, tt as credKeyOf, u as ApprovalRequest, ut as openaiDescriptor, v as isTurnHighlighted, w as EditOutcome, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "./tool-formatters-D_fX6FGl.js";
6
- import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, B as buildEditOutcomesAnnotation, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, G as rewriteMultiEditHeader, H as mergeApprovalAndBodyOutcomes, I as splitLines, J as SKILLS_TRIGGER, K as stripEditOutcomesAnnotation, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, U as parseEditOutcomesFromResult, V as maskToOutcomeKinds, W as resolveApprovalForPayload, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, et as FileEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, nt as listProjectFiles, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, tt as ListProjectFilesOptions, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId, z as ResolvedApproval } from "./turn-operations-CCl7rpbT.js";
1
+ import { $n as ContextCategory, Cn as SessionTurn, F as Session, N as SkillsConfig, Qn as ContextBreakdownOptions, Zn as ContextBreakdown, ar as ContextUsageSplit, er as ContextCategoryId, ir as ContextSnapshot, k as SkillConfig, ln as McpToolSchema, mt as Provider, nr as ContextItem, or as buildContextBreakdown, r as AgentHooks, rr as ContextMcpGroup, sn as McpServerConfig, tr as ContextExactCounts } from "./agent-B7ilLoh8.js";
2
+ import { K as McpCredentialEntry, q as McpCredentialStore, t as Preset } from "./index-C-zEbeFI.js";
3
+ import { _ as SourcedScanPath } from "./index-CsRdmSh6.js";
4
+ import { $ as useInteractionsQueue, $t as parseBindingSpec, A as InteractionsProvider, At as marginTopFor, B as QuestionPayload, Bt as KEYBINDING_DEF_BY_ACTION, C as ASK_USER_TOOL, Ct as TuiState, D as InteractionRequest, Dt as lastContextSizeFromTurns, E as CreateInteractionToolsOptions, Et as eventsFromTurns, F as PlanRequest, Ft as toolCallPreview, G as TextQuestion, Gt as KeyBindings, H as QuestionResponse, Ht as KeyAction, I as PlanResponse, It as toolResultText, J as isInteractionTool, Jt as formatBindingForDisplay, K as buildResumedToolResultsTurn, Kt as ParsedBinding, L as PlanStep, Lt as updateToolEventOutcomes, M as PendingInteractionEntry, Mt as stripSpawnTokensLine, N as PlanDecision, Nt as sumRunCosts, O as InteractionResponse, Ot as listSessionMeta, P as PlanPayload, Pt as titleFromTurns, Q as useInteractionsActions, Qt as mergeKeybindings, R as Question, Rt as DEFAULT_KEYBINDINGS, S as splitMarkdownCodeBlocks, St as StateStoreApi, T as ConfirmQuestion, Tt as deriveSessionTitle, U as QuestionType, Ut as KeyBindingDef, V as QuestionRequest, Vt as KEYBINDING_KEY_COL_WIDTH, W as SelectQuestion, Wt as KeyBindingSection, X as pendingInteractionsFromTurns, Xt as keybindingsPath, Y as makeRequestInteraction, Yt as groupBindings, Z as serializeInteractionResponse, Zt as matchesBinding, _ as SessionExportTarget, _n as PLAN_AGENT, _t as ResolveStorageDirsOptions, a as ChipColorMap, an as Hint, at as DiscoveryResult, b as writeSessionExport, bn as singleAgentRegistry, bt as StorageSlot, c as SyntaxTokenStyle, cn as truncateTrailing, ct as discoverProjectMcps, d as ThemeSelect, dn as AgentRegistry, dt as ChatOptions, en as readKeybindings, et as EnabledAllowlistKey, f as ThemeSurfaces, fn as BUILD_AGENT, ft as ProviderRegistry, g as SessionExportFormat, gn as DEFAULT_PERSIST_EXCLUDE_TOOLS, gt as resolveStoragePaths, h as SessionExportAnchor, hn as DEFAULT_BUDGET_EXCLUDE_TOOLS, ht as resolveConfig, i as ChipColor, in as EMPTY_HINTS, it as DiscoveryError, j as PRESENT_PLAN_TOOL, jt as saveState, k as InteractionsActions, kt as loadState, l as Theme, ln as AgentAccent, lt as parseMcpsFile, m as resolveTheme, mn as DEFAULT_AGENT_ID, mt as ResolvedPaths, n as computeTurnAnchors, nn as CompletionState, nt as useEnabledToggleSet, o as DEFAULT_THEME, on as clipHintsToWidth, ot as buildMcpServers, p as resolveChipColor, pn as BUILTIN_AGENTS, pt as ResolvedConfig, q as createInteractionTools, qt as ensureKeybindingsFile, r as BUILTIN_THEMES, rn as useCompletion, rt as DiscoveredMcp, s as SyntaxStyles, sn as hintsLength, st as defaultMcpsConfigPaths, t as TranscriptItem, tn as stripJsonComments, tt as EnabledToggleSet, u as ThemeColors, un as AgentProfile, ut as AutoUpdateConfig, v as renderSession, vn as accentColor, vt as StorageDirs, w as AnswerValue, wt as createStateStore, x as MarkdownSegment, xt as resolveStorageDirs, y as resolveSessionExportTarget, yn as resolveAgentId, yt as StorageMode, z as QuestionChoice, zt as KEYBINDING_DEFS } from "./transcript-anchors-p-ZsBSEF.js";
5
+ import { $ as anthropicDescriptor, A as SessionMeta, B as collectReferences, C as EditHunk, D as Owner, E as EditPayload, F as CompletionContext, G as ProviderKey, H as mergeReferences, I as CompletionItem, J as CustomField, K as detectAuth, L as CompletionProvider, M as StreamEvent, N as ToolCallDisplay, O as Picked, P as ActiveTrigger, Q as ProviderDescriptor, R as CompletionReference, S as EditDiffDisplay, T as EditOutcomeKind, U as AuthMethod, V as findActiveTrigger, W as ProviderAuth, X as ModelOption, Y as ModelInfo, Z as OUTPUT_RESERVE_TOKENS, _ as isEditErrorResult, a as formatToolCall, at as getModelInfo, b as selectableTurnIds, c as splitPromptSegments, ct as modelSupportsReasoning, d as RequestApproval, dt as openrouterDescriptor, et as cerebrasDescriptor, f as SafeModeActions, ft as piIdOf, h as useSafeModeQueue, i as displayNameFor, it as getContextWindow, j as Settings, k as Screen, l as ApprovalDecision, lt as modelsForDescriptor, m as useSafeModeActions, n as ToolDisplayMeta, nt as effectiveContextWindow, o as PromptSegment, ot as localDescriptor, p as SafeModeProvider, pt as restoreModelOptions, q as BUILTIN_PROVIDERS, r as ToolFormatLine, rt as enabledModelOptions, s as PromptSegmentRef, st as modelOptionsFor, t as TOOL_DISPLAY, tt as credKeyOf, u as ApprovalRequest, ut as openaiDescriptor, v as isTurnHighlighted, w as EditOutcome, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "./tool-formatters-DXO8rGut.js";
6
+ import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, B as buildEditOutcomesAnnotation, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, G as rewriteMultiEditHeader, H as mergeApprovalAndBodyOutcomes, I as splitLines, J as SKILLS_TRIGGER, K as stripEditOutcomesAnnotation, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, U as parseEditOutcomesFromResult, V as maskToOutcomeKinds, W as resolveApprovalForPayload, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, et as FileEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, nt as listProjectFiles, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, tt as ListProjectFilesOptions, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId, z as ResolvedApproval } from "./turn-operations-DD1D5VFx.js";
7
7
  import { Hookable } from "hookable";
8
8
  import { OAuthCredentials, OAuthDeviceCodeInfo, OAuthPrompt, OAuthPrompt as OAuthPrompt$1, OAuthSelectPrompt } from "@earendil-works/pi-ai/oauth";
9
9
  import { spawn } from "node:child_process";
package/dist/chat.js CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as useMcpAuthDispatch, $n as BUILD_AGENT, $t as deriveSessionTitle, A as runOAuthLogin, An as buildUpdateHint, Ar as SUBAGENT_GUIDANCE, B as refreshMcpToolsCatalog, Bn as AUTO_COMPACT_MIN_GROWTH_FRACTION, Bt as CATPPUCCIN_LATTE, C as projectsFilePath, Cn as parseBindingSpec, Cr as COMMUNICATION_DOCTRINE, Ct as listProjectFiles, D as formatPathForCwd, Dn as tryOpenBrowser, Dr as INTERACTION_GUIDANCE_NO_PROMPTS, Dt as SETTINGS_CHOICES, E as writeProjects, En as useCompletion, Er as INTERACTION_GUIDANCE, Et as SETTINGS_CATEGORIES, F as parseMcpsFile, Fn as detectPackageManager, Ft as resolveTheme, G as useMcpToolToggleSet, Gn as readCredentials, Gt as useDiscovery, H as subscribeMcpToolsCache, Hn as detectAuth, Ht as CATPPUCCIN_MOCHA, I as projectUserPaths, In as parseSemver, It as VAPORWAVE_THEME, J as parentServerName, Jn as setProviderCredential, Jt as useConfig, K as buildVisibleMcpRows, Kn as readProviderCredential, Kt as useDiscoveryOptional, L as clearMcpToolsCache, Ln as performInPlaceSelfUpdate, Lt as GRUVBOX_DARK, M as buildMcpServers, Mn as checkForUpdate, Mr as buildBuildSystem, Mt as BUILTIN_THEMES, N as defaultMcpsConfigPaths, Nn as compareSemver, Nr as buildPlanSystem, Nt as DEFAULT_THEME, O as fetchOAuthRedirect, On as bootProfileEnabled, Or as PLAN_MODE_DOCTRINE, Ot as SETTINGS_TOGGLES, P as discoverProjectMcps, Pn as detectLibc, Pr as envSection, Pt as resolveChipColor, Q as McpAuthProvider, Qn as findGitRoot, Qt as createStateStore, R as loadMcpToolsCache, Rn as performSelfUpdate, Rt as GRUVBOX_LIGHT, S as matchesSafelistEntry, Sn as mergeKeybindings, Sr as ACTIONS_WITH_CARE_DOCTRINE, St as shortChord, T as suggestSafelistEntry, Tn as stripJsonComments, Tr as IDENTITY_PREFIX, Tt as DEFAULT_SETTINGS, U as buildToolToggle, Un as applyApiKeyEnv, Ut as createDiscoverySlot, V as saveMcpToolsCache, Vn as shouldAutoCompact, Vt as CATPPUCCIN_MACCHIATO, W as useMcpToolToggleMap, Wn as credentialsPath, Wt as DiscoveryProvider, X as mcpCredentialsPath, Xn as discoverAgentsMd, Xt as resolveStoragePaths, Y as createFileMcpCredentialStore, Yn as writeCredentials, Yt as resolveConfig, Z as patchMcpCredential, Zn as renderAgentsMdBlock, Zt as resolveStorageDirs, _ as useSafeModeQueue, _n as ensureKeybindingsFile, _r as pickActiveRunId, _t as hintsLength, a as useSurfaces, an as saveState, ar as accentColor, at as InteractionsProvider, b as getSafelist, bn as keybindingsPath, br as setTodosForRun, bt as generateSessionTitle, c as useStreamBuffer, cn as sumRunCosts, cr as TODOREAD_TOOL, ct as createInteractionTools, d as discoverProjectSkills, dn as toolResultText, dr as TODO_STATUS_GLYPHS, dt as pendingInteractionsFromTurns, en as eventsFromTurns, er as BUILTIN_AGENTS, et as useMcpAuthState, f as renderSession, fn as updateToolEventOutcomes, fr as TODO_WRITE_COUNTS_METADATA_KEY, ft as serializeInteractionResponse, g as useSafeModeActions, gn as KEYBINDING_KEY_COL_WIDTH, gr as isTodoTool, gt as clipHintsToWidth, h as SafeModeProvider, hn as KEYBINDING_DEF_BY_ACTION, hr as getTodosForRun, ht as EMPTY_HINTS, i as useSelectStyle, in as marginTopFor, ir as PLAN_AGENT, it as ASK_USER_TOOL, j as supportsOAuth, jn as useUpdateCheck, jr as TOKEN_DISCIPLINE_DOCTRINE, jt as useSettings, k as oauthUsesManualCodePaste, kn as bootTick, kr as PLAN_MODE_DOCTRINE_NO_PROMPTS, kt as SettingsProvider, l as buildSkillsConfig, ln as titleFromTurns, lr as TODOS_METADATA_KEY, lt as isInteractionTool, m as writeSessionExport, mn as KEYBINDING_DEFS, mr as getArchivedTodosForRun, mt as useInteractionsQueue, n as ThemeProvider, nn as listSessionMeta, nr as DEFAULT_BUDGET_EXCLUDE_TOOLS, nt as reduceMcpAuth, o as useSyntaxStyles, or as resolveAgentId, ot as PRESENT_PLAN_TOOL, p as resolveSessionExportTarget, pn as DEFAULT_KEYBINDINGS, pr as createTodoTools, pt as useInteractionsActions, q as indexOfServerRow, qn as removeProviderCredential, qt as ConfigProvider, r as useColors, rn as loadState, rr as DEFAULT_PERSIST_EXCLUDE_TOOLS, rt as splitMarkdownCodeBlocks, s as useTheme, sn as stripSpawnTokensLine, sr as singleAgentRegistry, st as buildResumedToolResultsTurn, t as computeTurnAnchors, tn as lastContextSizeFromTurns, tr as DEFAULT_AGENT_ID, tt as getMcpAuthStatus, u as defaultSkillScanPaths, un as toolCallPreview, ur as TODOWRITE_TOOL, ut as makeRequestInteraction, v as IMPLICITLY_SAFE_TOOLS, vn as formatBindingForDisplay, vr as pruneTodosByRun, vt as truncateTrailing, w as readProjects, wn as readKeybindings, wr as DOING_TASKS_DOCTRINE, wt as useEnabledToggleSet, x as isOnSafelist, xn as matchesBinding, xr as useActiveTodos, xt as buildHints, y as addToSafelist, yn as groupBindings, yr as selectActiveTodos, yt as cleanTitle, z as mcpToolsCachePath, zn as resolvePlatformPackage, zt as CATPPUCCIN_FRAPPE } from "./transcript-anchors-DPC6gj75.js";
2
- import { $ as piIdOf, B as anthropicDescriptor, G as getContextWindow, H as credKeyOf, J as modelOptionsFor, K as getModelInfo, Q as openrouterDescriptor, R as BUILTIN_PROVIDERS, U as effectiveContextWindow, V as cerebrasDescriptor, W as enabledModelOptions, X as modelsForDescriptor, Y as modelSupportsReasoning, Z as openaiDescriptor, et as restoreModelOptions, q as localDescriptor, z as OUTPUT_RESERVE_TOKENS } from "./tools-C_n0l1AK.js";
1
+ import { $ as useMcpAuthDispatch, $n as BUILD_AGENT, $t as deriveSessionTitle, A as runOAuthLogin, An as buildUpdateHint, Ar as SUBAGENT_GUIDANCE, B as refreshMcpToolsCatalog, Bn as AUTO_COMPACT_MIN_GROWTH_FRACTION, Bt as CATPPUCCIN_LATTE, C as projectsFilePath, Cn as parseBindingSpec, Cr as COMMUNICATION_DOCTRINE, Ct as listProjectFiles, D as formatPathForCwd, Dn as tryOpenBrowser, Dr as INTERACTION_GUIDANCE_NO_PROMPTS, Dt as SETTINGS_CHOICES, E as writeProjects, En as useCompletion, Er as INTERACTION_GUIDANCE, Et as SETTINGS_CATEGORIES, F as parseMcpsFile, Fn as detectPackageManager, Ft as resolveTheme, G as useMcpToolToggleSet, Gn as readCredentials, Gt as useDiscovery, H as subscribeMcpToolsCache, Hn as detectAuth, Ht as CATPPUCCIN_MOCHA, I as projectUserPaths, In as parseSemver, It as VAPORWAVE_THEME, J as parentServerName, Jn as setProviderCredential, Jt as useConfig, K as buildVisibleMcpRows, Kn as readProviderCredential, Kt as useDiscoveryOptional, L as clearMcpToolsCache, Ln as performInPlaceSelfUpdate, Lt as GRUVBOX_DARK, M as buildMcpServers, Mn as checkForUpdate, Mr as buildBuildSystem, Mt as BUILTIN_THEMES, N as defaultMcpsConfigPaths, Nn as compareSemver, Nr as buildPlanSystem, Nt as DEFAULT_THEME, O as fetchOAuthRedirect, On as bootProfileEnabled, Or as PLAN_MODE_DOCTRINE, Ot as SETTINGS_TOGGLES, P as discoverProjectMcps, Pn as detectLibc, Pr as envSection, Pt as resolveChipColor, Q as McpAuthProvider, Qn as findGitRoot, Qt as createStateStore, R as loadMcpToolsCache, Rn as performSelfUpdate, Rt as GRUVBOX_LIGHT, S as matchesSafelistEntry, Sn as mergeKeybindings, Sr as ACTIONS_WITH_CARE_DOCTRINE, St as shortChord, T as suggestSafelistEntry, Tn as stripJsonComments, Tr as IDENTITY_PREFIX, Tt as DEFAULT_SETTINGS, U as buildToolToggle, Un as applyApiKeyEnv, Ut as createDiscoverySlot, V as saveMcpToolsCache, Vn as shouldAutoCompact, Vt as CATPPUCCIN_MACCHIATO, W as useMcpToolToggleMap, Wn as credentialsPath, Wt as DiscoveryProvider, X as mcpCredentialsPath, Xn as discoverAgentsMd, Xt as resolveStoragePaths, Y as createFileMcpCredentialStore, Yn as writeCredentials, Yt as resolveConfig, Z as patchMcpCredential, Zn as renderAgentsMdBlock, Zt as resolveStorageDirs, _ as useSafeModeQueue, _n as ensureKeybindingsFile, _r as pickActiveRunId, _t as hintsLength, a as useSurfaces, an as saveState, ar as accentColor, at as InteractionsProvider, b as getSafelist, bn as keybindingsPath, br as setTodosForRun, bt as generateSessionTitle, c as useStreamBuffer, cn as sumRunCosts, cr as TODOREAD_TOOL, ct as createInteractionTools, d as discoverProjectSkills, dn as toolResultText, dr as TODO_STATUS_GLYPHS, dt as pendingInteractionsFromTurns, en as eventsFromTurns, er as BUILTIN_AGENTS, et as useMcpAuthState, f as renderSession, fn as updateToolEventOutcomes, fr as TODO_WRITE_COUNTS_METADATA_KEY, ft as serializeInteractionResponse, g as useSafeModeActions, gn as KEYBINDING_KEY_COL_WIDTH, gr as isTodoTool, gt as clipHintsToWidth, h as SafeModeProvider, hn as KEYBINDING_DEF_BY_ACTION, hr as getTodosForRun, ht as EMPTY_HINTS, i as useSelectStyle, in as marginTopFor, ir as PLAN_AGENT, it as ASK_USER_TOOL, j as supportsOAuth, jn as useUpdateCheck, jr as TOKEN_DISCIPLINE_DOCTRINE, jt as useSettings, k as oauthUsesManualCodePaste, kn as bootTick, kr as PLAN_MODE_DOCTRINE_NO_PROMPTS, kt as SettingsProvider, l as buildSkillsConfig, ln as titleFromTurns, lr as TODOS_METADATA_KEY, lt as isInteractionTool, m as writeSessionExport, mn as KEYBINDING_DEFS, mr as getArchivedTodosForRun, mt as useInteractionsQueue, n as ThemeProvider, nn as listSessionMeta, nr as DEFAULT_BUDGET_EXCLUDE_TOOLS, nt as reduceMcpAuth, o as useSyntaxStyles, or as resolveAgentId, ot as PRESENT_PLAN_TOOL, p as resolveSessionExportTarget, pn as DEFAULT_KEYBINDINGS, pr as createTodoTools, pt as useInteractionsActions, q as indexOfServerRow, qn as removeProviderCredential, qt as ConfigProvider, r as useColors, rn as loadState, rr as DEFAULT_PERSIST_EXCLUDE_TOOLS, rt as splitMarkdownCodeBlocks, s as useTheme, sn as stripSpawnTokensLine, sr as singleAgentRegistry, st as buildResumedToolResultsTurn, t as computeTurnAnchors, tn as lastContextSizeFromTurns, tr as DEFAULT_AGENT_ID, tt as getMcpAuthStatus, u as defaultSkillScanPaths, un as toolCallPreview, ur as TODOWRITE_TOOL, ut as makeRequestInteraction, v as IMPLICITLY_SAFE_TOOLS, vn as formatBindingForDisplay, vr as pruneTodosByRun, vt as truncateTrailing, w as readProjects, wn as readKeybindings, wr as DOING_TASKS_DOCTRINE, wt as useEnabledToggleSet, x as isOnSafelist, xn as matchesBinding, xr as useActiveTodos, xt as buildHints, y as addToSafelist, yn as groupBindings, yr as selectActiveTodos, yt as cleanTitle, z as mcpToolsCachePath, zn as resolvePlatformPackage, zt as CATPPUCCIN_FRAPPE } from "./transcript-anchors-C3tVPR5n.js";
2
+ import { $ as restoreModelOptions, B as cerebrasDescriptor, G as getModelInfo, H as effectiveContextWindow, J as modelSupportsReasoning, K as localDescriptor, L as BUILTIN_PROVIDERS, Q as piIdOf, R as OUTPUT_RESERVE_TOKENS, U as enabledModelOptions, V as credKeyOf, W as getContextWindow, X as openaiDescriptor, Y as modelsForDescriptor, Z as openrouterDescriptor, q as modelOptionsFor, z as anthropicDescriptor } from "./tools-DqNkGwfd.js";
3
3
  import { t as buildContextBreakdown } from "./context-breakdown-kO-pDsay.js";
4
4
  import { a as formatTaskStatus, c as shortId, i as formatDuration, n as compactPath, o as formatTaskSummary, r as fmtTokens, s as previewLine, t as ageString } from "./format-BNOXpl-1.js";
5
5
  import { A as splitLines, B as summarizeOutcomes, C as buildContextualDiff, D as extractEditPayload, E as computeLineDiff, F as mergeApprovalAndBodyOutcomes, G as createFilesCompletionProvider, H as createSkillsCompletionProvider, I as parseEditOutcomesFromResult, J as collectReferences, K as uniqueFilesFromReferences, L as resolveApprovalForPayload, M as tokenize, N as buildEditOutcomesAnnotation, O as filetypeFromPath, P as maskToOutcomeKinds, Q as buildLinearRamp, R as rewriteMultiEditHeader, S as applyEditPayload, T as computeInlineDiff, U as uniqueSkillNamesFromReferences, V as SKILLS_TRIGGER, W as FILES_TRIGGER, X as mergeReferences, Y as findActiveTrigger, Z as blendHsl, _ as isEditErrorResult, a as TOOL_DISPLAY, b as selectableTurnIds, c as finalizeStreamingMarkdown, d as turnContextSize, f as splitPromptSegments, h as indexOfEntry, i as turnAsText, j as summarizeEditPayload, k as previewEditPayload, l as finalizeStreamingMarkdownForOwner, m as filterModelCatalog, n as deleteTurnSafely, o as displayNameFor, p as buildModelCatalog, q as applyInsert, r as truncateTurnsAt, s as formatToolCall, t as countNeighbors, v as isTurnHighlighted, w as buildUnifiedDiff, x as turnSelectionOwnership, y as isVisible, z as stripEditOutcomesAnnotation } from "./turn-operations-DLWN2J7f.js";
@@ -1,4 +1,4 @@
1
- import { l as SpawnConfig, s as ExecutionContext } from "../types-BibzMDjX.js";
1
+ import { c as ExecutionContext, u as SpawnConfig } from "../types-B39tBba1.js";
2
2
 
3
3
  //#region src/contexts/docker.d.ts
4
4
  declare function createDockerContext(config?: SpawnConfig): ExecutionContext;
@@ -1 +1 @@
1
- {"version":3,"file":"docker.d.ts","names":[],"sources":["../../src/contexts/docker.ts"],"mappings":";;;iBAoBgB,mBAAA,CAAoB,MAAA,GAAS,WAAA,GAAc,gBAAgB;;iBAmS3D,cAAA,CAAe,MAAA,EAAQ,WAAW,CAAC,WAAA"}
1
+ {"version":3,"file":"docker.d.ts","names":[],"sources":["../../src/contexts/docker.ts"],"mappings":";;;iBA8BgB,mBAAA,CAAoB,MAAA,GAAS,WAAA,GAAc,gBAAgB;;iBA0V3D,cAAA,CAAe,MAAA,EAAQ,WAAW,CAAC,WAAA"}
@@ -1,5 +1,14 @@
1
+ import { t as alwaysQuote } from "../shell-quote-BmnhZmdM.js";
1
2
  //#region src/contexts/docker.ts
2
3
  const SINGLE_QUOTE_RE = /'/g;
4
+ /**
5
+ * dockerode surfaces HTTP errors with a `statusCode`. 304 = container
6
+ * already stopped, 404 = already gone — both are fine during teardown.
7
+ */
8
+ function isGoneOrAlreadyStopped(err) {
9
+ const code = err?.statusCode;
10
+ return code === 304 || code === 404;
11
+ }
3
12
  function createDockerContext(config) {
4
13
  let counter = 0;
5
14
  const containers = /* @__PURE__ */ new Map();
@@ -51,6 +60,14 @@ function createDockerContext(config) {
51
60
  const hostConfig = {};
52
61
  if (limits?.memory) hostConfig.Memory = limits.memory * 1024 * 1024;
53
62
  if (limits?.cpu) hostConfig.NanoCpus = Number.parseFloat(limits.cpu) * 1e9;
63
+ const hardening = {
64
+ ...config?.hardening,
65
+ ...overrides?.hardening
66
+ };
67
+ if (hardening.dropAllCapabilities) hostConfig.CapDrop = ["ALL"];
68
+ if (hardening.noNewPrivileges) hostConfig.SecurityOpt = ["no-new-privileges"];
69
+ if (hardening.readonlyRootfs) hostConfig.ReadonlyRootfs = true;
70
+ if (hardening.pidsLimit != null) hostConfig.PidsLimit = hardening.pidsLimit;
54
71
  const env = {
55
72
  ...defaultEnv,
56
73
  ...overrides?.env
@@ -86,7 +103,12 @@ function createDockerContext(config) {
86
103
  ...user ? { User: user } : {},
87
104
  ...Object.keys(labels).length ? { Labels: labels } : {}
88
105
  });
89
- await container.start();
106
+ try {
107
+ await container.start();
108
+ } catch (err) {
109
+ await container.remove({ force: true }).catch(() => {});
110
+ throw err;
111
+ }
90
112
  const handle = {
91
113
  id,
92
114
  type: "docker",
@@ -104,8 +126,11 @@ function createDockerContext(config) {
104
126
  if (!ref) throw new Error(`Container ${handle.id} not found`);
105
127
  const execCwd = options?.cwd ?? handle.cwd;
106
128
  const env = options?.env ? Object.entries(options.env).map(([k, v]) => `${k}=${v}`) : [];
129
+ const timeout = options?.timeout ?? defaultLimits?.timeout ?? 30;
107
130
  const exec = await ref.container.exec({
108
131
  Cmd: [
132
+ "timeout",
133
+ String(timeout),
109
134
  "sh",
110
135
  "-c",
111
136
  command
@@ -151,7 +176,6 @@ function createDockerContext(config) {
151
176
  stdout += chunk.toString("utf-8");
152
177
  });
153
178
  }
154
- const timeout = options?.timeout ?? defaultLimits?.timeout ?? 30;
155
179
  const timer = setTimeout(() => {
156
180
  if (resolved) return;
157
181
  resolved = true;
@@ -163,18 +187,26 @@ function createDockerContext(config) {
163
187
  stderr: stderr ? `${stderr}\n[timeout]` : "[timeout]",
164
188
  exitCode: 124
165
189
  });
166
- }, timeout * 1e3);
190
+ }, timeout * 1e3 + 1e3);
167
191
  stream.on("end", async () => {
168
192
  if (resolved) return;
169
193
  resolved = true;
170
194
  clearTimeout(timer);
171
- let exitCode = 0;
195
+ let exitCode;
196
+ let inspectNote = "";
172
197
  try {
173
- exitCode = (await exec.inspect()).ExitCode ?? 0;
174
- } catch {}
198
+ const inspect = await exec.inspect();
199
+ if (inspect.ExitCode == null) {
200
+ exitCode = -1;
201
+ inspectNote = "[exit code unavailable: exec still marked running by daemon]";
202
+ } else exitCode = inspect.ExitCode;
203
+ } catch (err) {
204
+ exitCode = -1;
205
+ inspectNote = `[exit code unavailable: exec inspect failed: ${err?.message ?? String(err)}]`;
206
+ }
175
207
  resolve({
176
208
  stdout,
177
- stderr,
209
+ stderr: inspectNote ? stderr ? `${stderr}\n${inspectNote}` : inspectNote : stderr,
178
210
  exitCode
179
211
  });
180
212
  });
@@ -191,17 +223,17 @@ function createDockerContext(config) {
191
223
  });
192
224
  },
193
225
  async readFile(handle, path) {
194
- const result = await ctx.exec(handle, `cat ${JSON.stringify(path)}`);
226
+ const result = await ctx.exec(handle, `cat ${alwaysQuote(path)}`);
195
227
  if (result.exitCode !== 0) throw new Error(`Failed to read file: ${result.stderr}`);
196
228
  return result.stdout;
197
229
  },
198
230
  async writeFile(handle, path, content) {
199
231
  const escaped = content.replace(SINGLE_QUOTE_RE, String.raw`'\''`);
200
- const result = await ctx.exec(handle, `mkdir -p "$(dirname ${JSON.stringify(path)})" && printf '%s' '${escaped}' > ${JSON.stringify(path)}`);
232
+ const result = await ctx.exec(handle, `mkdir -p "$(dirname ${alwaysQuote(path)})" && printf '%s' '${escaped}' > ${alwaysQuote(path)}`);
201
233
  if (result.exitCode !== 0) throw new Error(`Failed to write file: ${result.stderr}`);
202
234
  },
203
235
  async listFiles(handle, path) {
204
- const result = await ctx.exec(handle, `ls -1 ${JSON.stringify(path)}`);
236
+ const result = await ctx.exec(handle, `ls -1 ${alwaysQuote(path)}`);
205
237
  if (result.exitCode !== 0) return [];
206
238
  return result.stdout.trim().split("\n").filter(Boolean);
207
239
  },
@@ -219,10 +251,17 @@ function createDockerContext(config) {
219
251
  const ref = containers.get(handle.id);
220
252
  if (!ref) return;
221
253
  try {
222
- await ref.container.stop({ t: 5 });
223
- await ref.container.remove({ force: true });
224
- } catch {}
225
- containers.delete(handle.id);
254
+ try {
255
+ await ref.container.stop({ t: 5 });
256
+ } catch {}
257
+ try {
258
+ await ref.container.remove({ force: true });
259
+ } catch (err) {
260
+ if (!isGoneOrAlreadyStopped(err)) throw err;
261
+ }
262
+ } finally {
263
+ containers.delete(handle.id);
264
+ }
226
265
  }
227
266
  };
228
267
  return ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"docker.js","names":[],"sources":["../../src/contexts/docker.ts"],"sourcesContent":["/**\n * Docker execution context.\n *\n * Runs tools inside a Docker container via dockerode.\n * Full isolation with configurable resource limits.\n *\n * Requires `dockerode` as an optional peer dependency.\n */\n\nimport type { Buffer } from 'node:buffer'\nimport type { ContextCapabilities, ExecResult, ExecutionContext, ExecutionHandle, SpawnConfig } from './types'\n\nconst SINGLE_QUOTE_RE = /'/g\n\ninterface ContainerRef {\n handle: ExecutionHandle\n container: any\n docker: any\n}\n\nexport function createDockerContext(config?: SpawnConfig): ExecutionContext {\n let counter = 0\n const containers = new Map<string, ContainerRef>()\n const defaultImage = config?.image ?? 'oven/bun:latest'\n const defaultCwd = config?.cwd ?? '/workspace'\n const defaultEnv = config?.env\n const defaultLimits = config?.limits\n const defaultMounts = config?.mounts ?? []\n const defaultName = config?.name\n\n async function getDockerode() {\n try {\n const Dockerode = (await import('dockerode')).default\n return new Dockerode()\n }\n catch {\n throw new Error('dockerode is required for Docker execution context. Install it with: bun add dockerode')\n }\n }\n\n const ctx: ExecutionContext = {\n type: 'docker',\n\n capabilities: {\n shell: true,\n filesystem: true,\n network: true,\n gpu: false,\n } satisfies ContextCapabilities,\n\n async spawn(overrides?: SpawnConfig): Promise<ExecutionHandle> {\n const docker = await getDockerode()\n const id = `docker-${++counter}`\n const image = overrides?.image ?? defaultImage\n const cwd = overrides?.cwd ?? defaultCwd\n const mounts = [...defaultMounts, ...(overrides?.mounts ?? [])]\n const name = overrides?.name ?? defaultName\n\n // Pull image if not available\n try {\n await docker.getImage(image).inspect()\n }\n catch {\n await new Promise<void>((resolve, reject) => {\n docker.pull(image, (err: Error | null, stream: NodeJS.ReadableStream) => {\n if (err)\n return reject(err)\n docker.modem.followProgress(stream, (err2: Error | null) => {\n err2 ? reject(err2) : resolve()\n })\n })\n })\n }\n\n const limits = { ...defaultLimits, ...overrides?.limits }\n const hostConfig: Record<string, unknown> = {}\n\n if (limits?.memory) {\n hostConfig.Memory = limits.memory * 1024 * 1024\n }\n if (limits?.cpu) {\n hostConfig.NanoCpus = Number.parseFloat(limits.cpu) * 1e9\n }\n\n const env = { ...defaultEnv, ...overrides?.env }\n\n const bindSpecs = buildBindSpecs(mounts)\n if (bindSpecs.length > 0) {\n hostConfig.Binds = bindSpecs\n }\n\n const portSpec = overrides?.ports ?? config?.ports\n const exposedPorts: Record<string, Record<string, never>> = {}\n const portBindings: Record<string, Array<{ HostPort: string }>> = {}\n\n if (portSpec?.length) {\n for (const p of portSpec) {\n const key = `${p.container}/${p.proto ?? 'tcp'}`\n exposedPorts[key] = {}\n portBindings[key] = [{ HostPort: p.host == null ? '' : String(p.host) }]\n }\n hostConfig.PortBindings = portBindings\n }\n\n const user = overrides?.user ?? config?.user\n const network = overrides?.network ?? config?.network\n if (network) {\n hostConfig.NetworkMode = network\n }\n\n const labels = { ...config?.labels, ...overrides?.labels }\n\n const container = await docker.createContainer({\n // Suffix with a short random token so a crashed run's leftover container\n // (same prefix) never blocks a fresh one with HTTP 409 name conflict.\n ...(name ? { name: `${name}-${counter}-${Math.random().toString(36).slice(2, 8)}` } : {}),\n Image: image,\n Cmd: ['sleep', 'infinity'],\n WorkingDir: cwd,\n Env: Object.entries(env).map(([k, v]) => `${k}=${v}`),\n HostConfig: hostConfig,\n ...(Object.keys(exposedPorts).length ? { ExposedPorts: exposedPorts } : {}),\n ...(user ? { User: user } : {}),\n ...(Object.keys(labels).length ? { Labels: labels } : {}),\n })\n\n await container.start()\n\n const handle: ExecutionHandle = { id, type: 'docker', cwd }\n containers.set(id, { handle, container, docker })\n\n return handle\n },\n\n async exec(handle: ExecutionHandle, command: string, options?: { cwd?: string, env?: Record<string, string>, timeout?: number }): Promise<ExecResult> {\n const ref = containers.get(handle.id)\n if (!ref)\n throw new Error(`Container ${handle.id} not found`)\n\n const execCwd = options?.cwd ?? handle.cwd\n const env = options?.env\n ? Object.entries(options.env).map(([k, v]) => `${k}=${v}`)\n : []\n\n const exec = await ref.container.exec({\n Cmd: ['sh', '-c', command],\n WorkingDir: execCwd,\n Env: env,\n AttachStdout: true,\n AttachStderr: true,\n })\n\n const stream = await exec.start({ Detach: false })\n\n return new Promise<ExecResult>((resolve) => {\n let stdout = ''\n let stderr = ''\n let resolved = false\n\n // Docker's exec stream is a multiplexed protocol — a single byte\n // stream that interleaves stdout/stderr frames. `demuxStream`\n // splits the two onto separate writable sinks. Without it, every\n // byte landed on `stdout` and `stderr` was permanently empty.\n const stdoutSink = {\n write(chunk: Buffer | string) {\n stdout += typeof chunk === 'string' ? chunk : chunk.toString('utf-8')\n return true\n },\n end() {},\n on() {},\n once() {},\n emit() { return true },\n }\n const stderrSink = {\n write(chunk: Buffer | string) {\n stderr += typeof chunk === 'string' ? chunk : chunk.toString('utf-8')\n return true\n },\n end() {},\n on() {},\n once() {},\n emit() { return true },\n }\n try {\n ref.docker.modem.demuxStream(stream, stdoutSink, stderrSink)\n }\n catch {\n // Older / different transports may not be multiplexed (TTY mode);\n // fall back to a raw stdout reader so we don't lose output entirely.\n stream.on('data', (chunk: Buffer) => {\n stdout += chunk.toString('utf-8')\n })\n }\n\n const timeout = options?.timeout ?? defaultLimits?.timeout ?? 30\n const timer = setTimeout(() => {\n if (resolved)\n return\n resolved = true\n // Best-effort: detach the stream so we stop accumulating bytes\n // from a runaway exec. The exec itself can't be killed cleanly\n // through the dockerode exec API; the container's destroy() path\n // (or a manual `docker exec kill`) is the real cleanup.\n try { stream.destroy?.() }\n catch { /* swallow */ }\n resolve({ stdout, stderr: stderr ? `${stderr}\\n[timeout]` : '[timeout]', exitCode: 124 })\n }, timeout * 1000)\n\n stream.on('end', async () => {\n if (resolved)\n return\n resolved = true\n clearTimeout(timer)\n let exitCode = 0\n try {\n const inspect = await exec.inspect()\n exitCode = inspect.ExitCode ?? 0\n }\n catch {\n // If inspect fails after a clean stream end, treat as success\n // — we already received the full output stream.\n }\n resolve({ stdout, stderr, exitCode })\n })\n\n stream.on('error', (err: Error) => {\n if (resolved)\n return\n resolved = true\n clearTimeout(timer)\n resolve({ stdout, stderr: stderr ? `${stderr}\\n${err.message}` : err.message, exitCode: 1 })\n })\n })\n },\n\n async readFile(handle: ExecutionHandle, path: string): Promise<string> {\n const result = await ctx.exec(handle, `cat ${JSON.stringify(path)}`)\n if (result.exitCode !== 0)\n throw new Error(`Failed to read file: ${result.stderr}`)\n return result.stdout\n },\n\n async writeFile(handle: ExecutionHandle, path: string, content: string): Promise<void> {\n const escaped = content.replace(SINGLE_QUOTE_RE, String.raw`'\\''`)\n const result = await ctx.exec(handle, `mkdir -p \"$(dirname ${JSON.stringify(path)})\" && printf '%s' '${escaped}' > ${JSON.stringify(path)}`)\n if (result.exitCode !== 0)\n throw new Error(`Failed to write file: ${result.stderr}`)\n },\n\n async listFiles(handle: ExecutionHandle, path: string): Promise<string[]> {\n const result = await ctx.exec(handle, `ls -1 ${JSON.stringify(path)}`)\n if (result.exitCode !== 0)\n return []\n return result.stdout.trim().split('\\n').filter(Boolean)\n },\n\n async getMappedPort(handle: ExecutionHandle, containerPort: number): Promise<number | null> {\n const ref = containers.get(handle.id)\n if (!ref)\n return null\n\n const info = await ref.container.inspect()\n const bindings = info?.NetworkSettings?.Ports ?? {}\n\n for (const proto of ['tcp', 'udp']) {\n const list = bindings[`${containerPort}/${proto}`]\n if (Array.isArray(list) && list.length > 0 && list[0]?.HostPort) {\n return Number.parseInt(list[0].HostPort, 10)\n }\n }\n\n return null\n },\n\n async destroy(handle: ExecutionHandle): Promise<void> {\n const ref = containers.get(handle.id)\n if (!ref)\n return\n\n try {\n await ref.container.stop({ t: 5 })\n await ref.container.remove({ force: true })\n }\n catch {\n // Container may already be stopped\n }\n\n containers.delete(handle.id)\n },\n }\n\n return ctx\n}\n\n/**\n * Format one {@link ContextMount} as a dockerode `HostConfig.Binds` entry.\n * Supports read-only (`:ro`) and SELinux shared-label (`:z`) options; the two\n * are mutually exclusive (a read-only mount can't also be a shared rw mount).\n */\nfunction formatBindMount(mount: NonNullable<SpawnConfig['mounts']>[number]): string {\n if (!mount.source)\n throw new Error('Docker mount source is required')\n if (!mount.target || !mount.target.startsWith('/'))\n throw new Error(`Docker mount target must be an absolute path: ${mount.target}`)\n if (mount.readonly && mount.shared)\n throw new Error(`Docker mount cannot be both readonly and shared: ${mount.target}`)\n const opts = mount.readonly ? ':ro' : mount.shared ? ':z' : ''\n return `${mount.source}:${mount.target}${opts}`\n}\n\n/** Assemble dockerode `HostConfig.Binds` from the context's `mounts`. */\nexport function buildBindSpecs(mounts: NonNullable<SpawnConfig['mounts']>): string[] {\n return mounts.map(formatBindMount)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"docker.js","names":[],"sources":["../../src/contexts/docker.ts"],"sourcesContent":["/**\n * Docker execution context.\n *\n * Runs tools inside a Docker container via dockerode.\n * Full isolation with configurable resource limits.\n *\n * Requires `dockerode` as an optional peer dependency.\n */\n\nimport type { Buffer } from 'node:buffer'\nimport type { ContextCapabilities, ExecResult, ExecutionContext, ExecutionHandle, SpawnConfig } from './types'\nimport { alwaysQuote } from '../tools/shell-quote'\n\nconst SINGLE_QUOTE_RE = /'/g\n\n/**\n * dockerode surfaces HTTP errors with a `statusCode`. 304 = container\n * already stopped, 404 = already gone — both are fine during teardown.\n */\nfunction isGoneOrAlreadyStopped(err: unknown): boolean {\n const code = (err as { statusCode?: number } | null)?.statusCode\n return code === 304 || code === 404\n}\n\ninterface ContainerRef {\n handle: ExecutionHandle\n container: any\n docker: any\n}\n\nexport function createDockerContext(config?: SpawnConfig): ExecutionContext {\n let counter = 0\n const containers = new Map<string, ContainerRef>()\n const defaultImage = config?.image ?? 'oven/bun:latest'\n const defaultCwd = config?.cwd ?? '/workspace'\n const defaultEnv = config?.env\n const defaultLimits = config?.limits\n const defaultMounts = config?.mounts ?? []\n const defaultName = config?.name\n\n async function getDockerode() {\n try {\n const Dockerode = (await import('dockerode')).default\n return new Dockerode()\n }\n catch {\n throw new Error('dockerode is required for Docker execution context. Install it with: bun add dockerode')\n }\n }\n\n const ctx: ExecutionContext = {\n type: 'docker',\n\n capabilities: {\n shell: true,\n filesystem: true,\n network: true,\n gpu: false,\n } satisfies ContextCapabilities,\n\n async spawn(overrides?: SpawnConfig): Promise<ExecutionHandle> {\n const docker = await getDockerode()\n const id = `docker-${++counter}`\n const image = overrides?.image ?? defaultImage\n const cwd = overrides?.cwd ?? defaultCwd\n const mounts = [...defaultMounts, ...(overrides?.mounts ?? [])]\n const name = overrides?.name ?? defaultName\n\n // Pull image if not available\n try {\n await docker.getImage(image).inspect()\n }\n catch {\n await new Promise<void>((resolve, reject) => {\n docker.pull(image, (err: Error | null, stream: NodeJS.ReadableStream) => {\n if (err)\n return reject(err)\n docker.modem.followProgress(stream, (err2: Error | null) => {\n err2 ? reject(err2) : resolve()\n })\n })\n })\n }\n\n const limits = { ...defaultLimits, ...overrides?.limits }\n const hostConfig: Record<string, unknown> = {}\n\n if (limits?.memory) {\n hostConfig.Memory = limits.memory * 1024 * 1024\n }\n if (limits?.cpu) {\n hostConfig.NanoCpus = Number.parseFloat(limits.cpu) * 1e9\n }\n\n // Opt-in hardening (all OFF by default — see ContextHardening).\n const hardening = { ...config?.hardening, ...overrides?.hardening }\n if (hardening.dropAllCapabilities)\n hostConfig.CapDrop = ['ALL']\n if (hardening.noNewPrivileges)\n hostConfig.SecurityOpt = ['no-new-privileges']\n if (hardening.readonlyRootfs)\n hostConfig.ReadonlyRootfs = true\n if (hardening.pidsLimit != null)\n hostConfig.PidsLimit = hardening.pidsLimit\n\n const env = { ...defaultEnv, ...overrides?.env }\n\n const bindSpecs = buildBindSpecs(mounts)\n if (bindSpecs.length > 0) {\n hostConfig.Binds = bindSpecs\n }\n\n const portSpec = overrides?.ports ?? config?.ports\n const exposedPorts: Record<string, Record<string, never>> = {}\n const portBindings: Record<string, Array<{ HostPort: string }>> = {}\n\n if (portSpec?.length) {\n for (const p of portSpec) {\n const key = `${p.container}/${p.proto ?? 'tcp'}`\n exposedPorts[key] = {}\n portBindings[key] = [{ HostPort: p.host == null ? '' : String(p.host) }]\n }\n hostConfig.PortBindings = portBindings\n }\n\n const user = overrides?.user ?? config?.user\n const network = overrides?.network ?? config?.network\n if (network) {\n hostConfig.NetworkMode = network\n }\n\n const labels = { ...config?.labels, ...overrides?.labels }\n\n const container = await docker.createContainer({\n // Suffix with a short random token so a crashed run's leftover container\n // (same prefix) never blocks a fresh one with HTTP 409 name conflict.\n ...(name ? { name: `${name}-${counter}-${Math.random().toString(36).slice(2, 8)}` } : {}),\n Image: image,\n Cmd: ['sleep', 'infinity'],\n WorkingDir: cwd,\n Env: Object.entries(env).map(([k, v]) => `${k}=${v}`),\n HostConfig: hostConfig,\n ...(Object.keys(exposedPorts).length ? { ExposedPorts: exposedPorts } : {}),\n ...(user ? { User: user } : {}),\n ...(Object.keys(labels).length ? { Labels: labels } : {}),\n })\n\n try {\n await container.start()\n }\n catch (err) {\n // The container was created but never started — remove it so a\n // failed spawn doesn't leak a stopped container on the daemon.\n await container.remove({ force: true }).catch(() => {})\n throw err\n }\n\n const handle: ExecutionHandle = { id, type: 'docker', cwd }\n containers.set(id, { handle, container, docker })\n\n return handle\n },\n\n async exec(handle: ExecutionHandle, command: string, options?: { cwd?: string, env?: Record<string, string>, timeout?: number }): Promise<ExecResult> {\n const ref = containers.get(handle.id)\n if (!ref)\n throw new Error(`Container ${handle.id} not found`)\n\n const execCwd = options?.cwd ?? handle.cwd\n const env = options?.env\n ? Object.entries(options.env).map(([k, v]) => `${k}=${v}`)\n : []\n\n const timeout = options?.timeout ?? defaultLimits?.timeout ?? 30\n\n const exec = await ref.container.exec({\n // Wrap with coreutils `timeout` so a runaway command is killed\n // server-side too — the host-side timer below only detaches the\n // stream; without this the process would keep running in the\n // container until destroy(). Exec-array form avoids re-quoting the\n // command. `timeout` exits 124 on expiry, matching the host\n // sentinel. (Default image oven/bun is Debian-based → coreutils.)\n Cmd: ['timeout', String(timeout), 'sh', '-c', command],\n WorkingDir: execCwd,\n Env: env,\n AttachStdout: true,\n AttachStderr: true,\n })\n\n const stream = await exec.start({ Detach: false })\n\n return new Promise<ExecResult>((resolve) => {\n let stdout = ''\n let stderr = ''\n let resolved = false\n\n // Docker's exec stream is a multiplexed protocol — a single byte\n // stream that interleaves stdout/stderr frames. `demuxStream`\n // splits the two onto separate writable sinks. Without it, every\n // byte landed on `stdout` and `stderr` was permanently empty.\n const stdoutSink = {\n write(chunk: Buffer | string) {\n stdout += typeof chunk === 'string' ? chunk : chunk.toString('utf-8')\n return true\n },\n end() {},\n on() {},\n once() {},\n emit() { return true },\n }\n const stderrSink = {\n write(chunk: Buffer | string) {\n stderr += typeof chunk === 'string' ? chunk : chunk.toString('utf-8')\n return true\n },\n end() {},\n on() {},\n once() {},\n emit() { return true },\n }\n try {\n ref.docker.modem.demuxStream(stream, stdoutSink, stderrSink)\n }\n catch {\n // Older / different transports may not be multiplexed (TTY mode);\n // fall back to a raw stdout reader so we don't lose output entirely.\n stream.on('data', (chunk: Buffer) => {\n stdout += chunk.toString('utf-8')\n })\n }\n\n // Host-side fallback timer. The server-side `timeout` wrapper is\n // the primary kill mechanism; give it a grace second so the\n // stream-end path (which carries the real exit code) usually wins.\n const timer = setTimeout(() => {\n if (resolved)\n return\n resolved = true\n // Best-effort: detach the stream so we stop accumulating bytes.\n // The server-side `timeout` wrapper kills the process itself.\n try { stream.destroy?.() }\n catch { /* swallow */ }\n resolve({ stdout, stderr: stderr ? `${stderr}\\n[timeout]` : '[timeout]', exitCode: 124 })\n }, timeout * 1000 + 1000)\n\n stream.on('end', async () => {\n if (resolved)\n return\n resolved = true\n clearTimeout(timer)\n let exitCode: number\n let inspectNote = ''\n try {\n const inspect = await exec.inspect()\n // `ExitCode: null` means Docker hasn't recorded an exit yet —\n // the outcome is unknown, not success. Use a sentinel so\n // callers don't mistake it for a clean exit.\n if (inspect.ExitCode == null) {\n exitCode = -1\n inspectNote = '[exit code unavailable: exec still marked running by daemon]'\n }\n else {\n exitCode = inspect.ExitCode\n }\n }\n catch (err) {\n exitCode = -1\n inspectNote = `[exit code unavailable: exec inspect failed: ${(err as Error)?.message ?? String(err)}]`\n }\n resolve({\n stdout,\n stderr: inspectNote ? (stderr ? `${stderr}\\n${inspectNote}` : inspectNote) : stderr,\n exitCode,\n })\n })\n\n stream.on('error', (err: Error) => {\n if (resolved)\n return\n resolved = true\n clearTimeout(timer)\n resolve({ stdout, stderr: stderr ? `${stderr}\\n${err.message}` : err.message, exitCode: 1 })\n })\n })\n },\n\n // Paths are model-supplied — single-quote them (`alwaysQuote`) rather\n // than JSON.stringify: `$(…)` and backticks still expand inside the\n // double quotes JSON produces, which was a command-injection vector.\n async readFile(handle: ExecutionHandle, path: string): Promise<string> {\n const result = await ctx.exec(handle, `cat ${alwaysQuote(path)}`)\n if (result.exitCode !== 0)\n throw new Error(`Failed to read file: ${result.stderr}`)\n return result.stdout\n },\n\n async writeFile(handle: ExecutionHandle, path: string, content: string): Promise<void> {\n const escaped = content.replace(SINGLE_QUOTE_RE, String.raw`'\\''`)\n const result = await ctx.exec(handle, `mkdir -p \"$(dirname ${alwaysQuote(path)})\" && printf '%s' '${escaped}' > ${alwaysQuote(path)}`)\n if (result.exitCode !== 0)\n throw new Error(`Failed to write file: ${result.stderr}`)\n },\n\n async listFiles(handle: ExecutionHandle, path: string): Promise<string[]> {\n const result = await ctx.exec(handle, `ls -1 ${alwaysQuote(path)}`)\n if (result.exitCode !== 0)\n return []\n return result.stdout.trim().split('\\n').filter(Boolean)\n },\n\n async getMappedPort(handle: ExecutionHandle, containerPort: number): Promise<number | null> {\n const ref = containers.get(handle.id)\n if (!ref)\n return null\n\n const info = await ref.container.inspect()\n const bindings = info?.NetworkSettings?.Ports ?? {}\n\n for (const proto of ['tcp', 'udp']) {\n const list = bindings[`${containerPort}/${proto}`]\n if (Array.isArray(list) && list.length > 0 && list[0]?.HostPort) {\n return Number.parseInt(list[0].HostPort, 10)\n }\n }\n\n return null\n },\n\n async destroy(handle: ExecutionHandle): Promise<void> {\n const ref = containers.get(handle.id)\n if (!ref)\n return\n\n try {\n try {\n await ref.container.stop({ t: 5 })\n }\n catch {\n // 304 (already stopped) / 404 (already gone) are expected here.\n // Any other stop failure must not prevent the remove({force})\n // below — force removal also works on running containers.\n }\n try {\n await ref.container.remove({ force: true })\n }\n catch (err) {\n if (!isGoneOrAlreadyStopped(err))\n throw err\n }\n }\n finally {\n containers.delete(handle.id)\n }\n },\n }\n\n return ctx\n}\n\n/**\n * Format one {@link ContextMount} as a dockerode `HostConfig.Binds` entry.\n * Supports read-only (`:ro`) and SELinux shared-label (`:z`) options; the two\n * are mutually exclusive (a read-only mount can't also be a shared rw mount).\n */\nfunction formatBindMount(mount: NonNullable<SpawnConfig['mounts']>[number]): string {\n if (!mount.source)\n throw new Error('Docker mount source is required')\n if (!mount.target || !mount.target.startsWith('/'))\n throw new Error(`Docker mount target must be an absolute path: ${mount.target}`)\n if (mount.readonly && mount.shared)\n throw new Error(`Docker mount cannot be both readonly and shared: ${mount.target}`)\n const opts = mount.readonly ? ':ro' : mount.shared ? ':z' : ''\n return `${mount.source}:${mount.target}${opts}`\n}\n\n/** Assemble dockerode `HostConfig.Binds` from the context's `mounts`. */\nexport function buildBindSpecs(mounts: NonNullable<SpawnConfig['mounts']>): string[] {\n return mounts.map(formatBindMount)\n}\n"],"mappings":"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"}