zidane 6.4.2 → 6.4.4

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 (114) hide show
  1. package/README.md +7 -5
  2. package/dist/{acp-Ba4OzG71.js → acp-BLO58K3F.js} +5 -5
  3. package/dist/{acp-Ba4OzG71.js.map → acp-BLO58K3F.js.map} +1 -1
  4. package/dist/acp-cli.js +6 -6
  5. package/dist/acp.d.ts +1 -1
  6. package/dist/acp.js +1 -1
  7. package/dist/{agent-BMJKrD84.js → agent-8sUadp5M.js} +72 -9
  8. package/dist/{agent-BMJKrD84.js.map → agent-8sUadp5M.js.map} +1 -1
  9. package/dist/agent.d.ts +1 -1
  10. package/dist/agent.js +2 -2
  11. package/dist/{anthropic-BJhMEi7x.js → anthropic-D3lkw5mv.js} +3 -3
  12. package/dist/{anthropic-BJhMEi7x.js.map → anthropic-D3lkw5mv.js.map} +1 -1
  13. package/dist/{auth-C2Hmb0tt.js → auth-BzYbbdN_.js} +95 -5
  14. package/dist/auth-BzYbbdN_.js.map +1 -0
  15. package/dist/chat/pure.d.ts +3 -3
  16. package/dist/chat/pure.js +1 -1
  17. package/dist/chat.d.ts +4 -4
  18. package/dist/chat.js +4 -4
  19. package/dist/{context-transport-CwJZxs56.js → context-transport-D29WvHcm.js} +3 -3
  20. package/dist/{context-transport-CwJZxs56.js.map → context-transport-D29WvHcm.js.map} +1 -1
  21. package/dist/contexts/daytona.d.ts +1 -1
  22. package/dist/contexts/e2b.d.ts +1 -1
  23. package/dist/eval.d.ts +1 -1
  24. package/dist/eval.js +1 -1
  25. package/dist/extensions.d.ts +1 -1
  26. package/dist/extensions.js +1 -1
  27. package/dist/headless.d.ts +1 -1
  28. package/dist/headless.js +3 -3
  29. package/dist/{index-Gy9wi80M.d.ts → index-C-Nd2ZbV.d.ts} +343 -2
  30. package/dist/index-C-Nd2ZbV.d.ts.map +1 -0
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.js +11 -10
  33. package/dist/index.js.map +1 -1
  34. package/dist/{login-llWTV13a.js → login-CMVVnAHS.js} +2 -2
  35. package/dist/{login-llWTV13a.js.map → login-CMVVnAHS.js.map} +1 -1
  36. package/dist/{mcp-IaEpSauj.js → mcp-3GXUBwur.js} +3 -3
  37. package/dist/{mcp-IaEpSauj.js.map → mcp-3GXUBwur.js.map} +1 -1
  38. package/dist/mcp.d.ts +1 -1
  39. package/dist/mcp.js +1 -1
  40. package/dist/{messages-D1EryrDs.js → messages-C01kKGj0.js} +2 -2
  41. package/dist/{messages-D1EryrDs.js.map → messages-C01kKGj0.js.map} +1 -1
  42. package/dist/{openai-compat-0MJq4-g9.js → openai-compat-B3c_hzwf.js} +42 -2
  43. package/dist/openai-compat-B3c_hzwf.js.map +1 -0
  44. package/dist/output/stream-json.d.ts +1 -1
  45. package/dist/output/terminal.d.ts +1 -1
  46. package/dist/presets.d.ts +1 -1
  47. package/dist/presets.js +1 -1
  48. package/dist/providers/anthropic.d.ts +1 -1
  49. package/dist/providers/anthropic.js +1 -1
  50. package/dist/providers/arcee.d.ts +1 -1
  51. package/dist/providers/arcee.js +1 -1
  52. package/dist/providers/baseten.d.ts +1 -1
  53. package/dist/providers/baseten.js +1 -1
  54. package/dist/providers/cerebras.d.ts +1 -1
  55. package/dist/providers/cerebras.js +1 -1
  56. package/dist/providers/local.d.ts +1 -1
  57. package/dist/providers/local.js +1 -1
  58. package/dist/providers/openai-compat.d.ts +1 -1
  59. package/dist/providers/openai-compat.js +1 -1
  60. package/dist/providers/openai.d.ts +1 -1
  61. package/dist/providers/openai.js +2 -2
  62. package/dist/providers/openrouter.d.ts +1 -1
  63. package/dist/providers/openrouter.js +1 -1
  64. package/dist/providers/xai.d.ts +1 -1
  65. package/dist/providers/xai.js +1 -1
  66. package/dist/{providers-BSrJx0Tn.js → providers-z1vU0b2Q.js} +100 -4
  67. package/dist/providers-z1vU0b2Q.js.map +1 -0
  68. package/dist/providers.d.ts +2 -2
  69. package/dist/providers.js +5 -5
  70. package/dist/restate.d.ts +52 -2
  71. package/dist/restate.d.ts.map +1 -1
  72. package/dist/restate.js +151 -33
  73. package/dist/restate.js.map +1 -1
  74. package/dist/session/sqlite.d.ts +1 -1
  75. package/dist/{session-B40flcj7.js → session-cr9VdoEO.js} +2 -2
  76. package/dist/{session-B40flcj7.js.map → session-cr9VdoEO.js.map} +1 -1
  77. package/dist/session.d.ts +1 -1
  78. package/dist/session.js +2 -2
  79. package/dist/skills.d.ts +1 -1
  80. package/dist/{stdio-D-02FOVT.js → stdio-BvL8HGYW.js} +2 -2
  81. package/dist/{stdio-D-02FOVT.js.map → stdio-BvL8HGYW.js.map} +1 -1
  82. package/dist/{stdio-loader-Byqw5KjJ.js → stdio-loader-CjfoqBle.js} +2 -2
  83. package/dist/{stdio-loader-Byqw5KjJ.js.map → stdio-loader-CjfoqBle.js.map} +1 -1
  84. package/dist/{tool-formatters-CU0memLh.d.ts → tool-formatters-DPQjso_C.d.ts} +2 -2
  85. package/dist/{tool-formatters-CU0memLh.d.ts.map → tool-formatters-DPQjso_C.d.ts.map} +1 -1
  86. package/dist/{read-state-Dt7UbVsd.js → tool-state-DTs-3ZHH.js} +218 -2
  87. package/dist/tool-state-DTs-3ZHH.js.map +1 -0
  88. package/dist/tools/fetch-url.d.ts +1 -1
  89. package/dist/tools/web-search.d.ts +1 -1
  90. package/dist/tools.d.ts +1 -1
  91. package/dist/tools.js +2 -2
  92. package/dist/{transcript-anchors-4IdT10xC.d.ts → transcript-anchors-BCUpbNxc.d.ts} +2 -2
  93. package/dist/{transcript-anchors-4IdT10xC.d.ts.map → transcript-anchors-BCUpbNxc.d.ts.map} +1 -1
  94. package/dist/{transcript-anchors-CJ4gJn1T.js → transcript-anchors-CgDzYin1.js} +5 -5
  95. package/dist/{transcript-anchors-CJ4gJn1T.js.map → transcript-anchors-CgDzYin1.js.map} +1 -1
  96. package/dist/tui.d.ts +19 -3
  97. package/dist/tui.d.ts.map +1 -1
  98. package/dist/tui.js +90 -54
  99. package/dist/tui.js.map +1 -1
  100. package/dist/{turn-operations-B08dE8kH.d.ts → turn-operations-Bu2Hkinw.d.ts} +3 -3
  101. package/dist/{turn-operations-B08dE8kH.d.ts.map → turn-operations-Bu2Hkinw.d.ts.map} +1 -1
  102. package/dist/{turn-operations-CBdrdYiF.js → turn-operations-CAvi8NYt.js} +67 -2
  103. package/dist/{turn-operations-CBdrdYiF.js.map → turn-operations-CAvi8NYt.js.map} +1 -1
  104. package/dist/types.d.ts +2 -2
  105. package/dist/{xai-CpPbCGWO.js → xai-BPwMQSuF.js} +2 -2
  106. package/dist/{xai-CpPbCGWO.js.map → xai-BPwMQSuF.js.map} +1 -1
  107. package/docs/ARCHITECTURE.md +2 -0
  108. package/docs/RESTATE.md +66 -2
  109. package/package.json +8 -8
  110. package/dist/auth-C2Hmb0tt.js.map +0 -1
  111. package/dist/index-Gy9wi80M.d.ts.map +0 -1
  112. package/dist/openai-compat-0MJq4-g9.js.map +0 -1
  113. package/dist/providers-BSrJx0Tn.js.map +0 -1
  114. package/dist/read-state-Dt7UbVsd.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { r as createStderrLineEmitter } from "./mcp-IaEpSauj.js";
1
+ import { r as createStderrLineEmitter } from "./mcp-3GXUBwur.js";
2
2
  import { Buffer } from "node:buffer";
3
3
  //#region src/mcp/context-transport.ts
4
4
  /**
@@ -10,7 +10,7 @@ import { Buffer } from "node:buffer";
10
10
  async function createContextStdioTransport(options) {
11
11
  const { name, context, handle, command, cwd, env, hooks } = options;
12
12
  if (!context.execStream) throw new Error(`MCP server "${name}" is configured with \`scope: 'context'\`, but the '${context.type}' execution context does not support live streams (\`execStream\`). Use \`scope: 'host'\` for this server, or switch to a context that advertises \`capabilities.stream\`.`);
13
- const { ReadBuffer, serializeMessage } = await import("./stdio-D-02FOVT.js").then((n) => n.r);
13
+ const { ReadBuffer, serializeMessage } = await import("./stdio-BvL8HGYW.js").then((n) => n.r);
14
14
  const readBuffer = new ReadBuffer();
15
15
  let stream = null;
16
16
  let closed = false;
@@ -81,4 +81,4 @@ async function createContextStdioTransport(options) {
81
81
  //#endregion
82
82
  export { createContextStdioTransport };
83
83
 
84
- //# sourceMappingURL=context-transport-CwJZxs56.js.map
84
+ //# sourceMappingURL=context-transport-D29WvHcm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-transport-CwJZxs56.js","names":[],"sources":["../src/mcp/context-transport.ts"],"sourcesContent":["/**\n * An MCP `Transport` that speaks stdio JSON-RPC to a server running INSIDE\n * an `ExecutionContext`, rather than as a child of the host process.\n *\n * Why this exists\n * ---------------\n * An MCP server is an ordinary program. When it calls `fs.readFileSync` or\n * `fs.writeFile`, those hit whatever filesystem it was spawned on. The\n * default `StdioClientTransport` spawns on the HOST, so with a sandboxed\n * execution context (Daytona / E2B / Docker) the agent's own tools and its\n * MCP servers end up looking at two different filesystems: a path the model\n * discovered via `list_files` does not exist for the MCP server, and an MCP\n * write lands somewhere `read_file` cannot see.\n *\n * Routing the server through `ExecutionContext.execStream` puts both on the\n * same filesystem. Note what this does NOT buy: isolation. Remote-transport\n * MCP servers are unreachable by this mechanism by construction, so\n * \"everything the agent touches runs in the execution context\" can never be\n * a true invariant. This is about coherence, not containment.\n *\n * Framing\n * -------\n * Delegated to the SDK's own `ReadBuffer` / `serializeMessage`, the exact\n * pair `StdioClientTransport` uses. That matters beyond code reuse:\n * `ReadBuffer` concatenates raw bytes and only decodes at newline\n * boundaries, so a multibyte codepoint split across two chunks survives.\n * Decoding each chunk independently would corrupt it irrecoverably — which\n * is precisely why `StreamHandle` carries bytes rather than strings.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks } from '../agent'\nimport type { ExecutionContext, ExecutionHandle } from '../contexts/types'\nimport { Buffer } from 'node:buffer'\nimport { createStderrLineEmitter } from './index'\n\n/**\n * Structural subset of the MCP SDK's `Transport` that we implement. Declared\n * locally rather than imported as a type so this module keeps the optional\n * peer-dependency contract (see the note atop `./index.ts`) — the SDK is only\n * ever touched through a runtime `await import(...)`.\n */\nexport interface ContextStdioTransportLike {\n /**\n * Brand marking this transport's process as living OUTSIDE the host.\n * `stdioPidOf` keys off it to refuse handing any pid from here to\n * `killStdioChild`, which signals host pids: a sandbox pid like `77`\n * names a real, unrelated host process. Termination for this transport\n * goes through `StreamHandle.kill()`, which signals inside the context.\n */\n readonly __contextScoped: true\n start: () => Promise<void>\n send: (message: unknown) => Promise<void>\n close: () => Promise<void>\n onclose?: () => void\n onerror?: (error: Error) => void\n onmessage?: (message: unknown) => void\n}\n\nexport interface ContextStdioTransportOptions {\n /** Server name, used for `mcp:warn` attribution. */\n name: string\n context: ExecutionContext\n handle: ExecutionHandle\n /** Full command line, run through the context's shell. */\n command: string\n cwd?: string\n env?: Record<string, string>\n hooks?: Hookable<AgentHooks>\n}\n\n/**\n * Build the transport. Throws if the context can't stream — deliberately\n * loudly, because the alternative (quietly spawning on the host) would\n * reintroduce the split-filesystem bug this transport exists to fix, and\n * would do it invisibly.\n */\nexport async function createContextStdioTransport(\n options: ContextStdioTransportOptions,\n): Promise<ContextStdioTransportLike> {\n const { name, context, handle, command, cwd, env, hooks } = options\n\n if (!context.execStream) {\n throw new Error(\n `MCP server \"${name}\" is configured with \\`scope: 'context'\\`, but the `\n + `'${context.type}' execution context does not support live streams `\n + `(\\`execStream\\`). Use \\`scope: 'host'\\` for this server, or switch to a `\n + `context that advertises \\`capabilities.stream\\`.`,\n )\n }\n\n const { ReadBuffer, serializeMessage } = await import('@modelcontextprotocol/sdk/shared/stdio.js')\n\n const readBuffer = new ReadBuffer()\n let stream: Awaited<ReturnType<NonNullable<ExecutionContext['execStream']>>> | null = null\n let closed = false\n\n const transport: ContextStdioTransportLike = {\n __contextScoped: true,\n\n async start() {\n if (stream)\n throw new Error(`MCP context transport for \"${name}\" already started`)\n\n // cwd is defaulted HERE, not left to the context: process and docker\n // fall back to `handle.cwd` on their own, but the sandbox providers\n // forward `cwd` only when set, so their SDK default would win (E2B's\n // `/home/user`, Daytona's PTY login dir). A `scope: 'context'` server\n // without an explicit `cwd` — e.g. server-filesystem rooted at '.' —\n // would then serve the workspace on two contexts and the home\n // directory on the others: the exact silent path divergence this\n // transport exists to close. Redundant-but-harmless on contexts that\n // already default to `handle.cwd`.\n stream = await context.execStream!(handle, command, {\n cwd: cwd ?? handle.cwd,\n ...(env !== undefined ? { env } : {}),\n })\n\n const active = stream\n\n // stdout → framed JSON-RPC. Runs detached from `start()`; awaiting it\n // would never resolve, since the server lives as long as the session.\n void (async () => {\n try {\n for await (const chunk of active.stdout) {\n readBuffer.append(Buffer.from(chunk))\n for (;;) {\n // A malformed frame must not kill the pump: report it and keep\n // reading. Servers that interleave stray output with protocol\n // frames (a PTY-backed context that lost the `stty raw` race,\n // a server logging to stdout) would otherwise wedge the\n // connection permanently on the first bad line.\n let message: unknown\n try {\n message = readBuffer.readMessage()\n }\n catch (err) {\n transport.onerror?.(err instanceof Error ? err : new Error(String(err)))\n continue\n }\n if (message === null)\n break\n transport.onmessage?.(message)\n }\n }\n }\n catch (err) {\n if (!closed)\n transport.onerror?.(err instanceof Error ? err : new Error(String(err)))\n }\n })()\n\n // stderr → `mcp:warn`, when the context provides it separately. A\n // PTY-backed context cannot split it from the terminal stream, so it\n // redirects to a file and may surface it here out-of-band (Daytona\n // polls) or not at all — absence is expected, not an error.\n if (active.stderr) {\n const emitter = createStderrLineEmitter(name, hooks)\n // Streaming decoder for the same reason `ReadBuffer` exists on the\n // stdout side: a per-chunk decode corrupts any multibyte codepoint\n // split across a chunk boundary. Diagnostic-only here, but free to\n // get right.\n const decoder = new TextDecoder('utf-8')\n void (async () => {\n try {\n for await (const chunk of active.stderr!)\n emitter.push(decoder.decode(chunk, { stream: true }))\n }\n catch {\n // Diagnostic channel — a failure here must not surface as a\n // protocol error.\n }\n finally {\n emitter.push(decoder.decode())\n emitter.flush()\n }\n })()\n }\n\n // The child dying is the connection ending. Surface it once.\n void active.exited.then(() => {\n if (closed)\n return\n closed = true\n transport.onclose?.()\n })\n },\n\n async send(message: unknown) {\n if (!stream)\n throw new Error(`MCP context transport for \"${name}\" not started`)\n await stream.write(new TextEncoder().encode(serializeMessage(message as never)))\n },\n\n async close() {\n if (closed) {\n // Still ensure the child is gone: `closed` may have been set by the\n // exit watcher, but an explicit close after a half-dead stream\n // should not leave a process running in the sandbox.\n await stream?.kill()\n return\n }\n closed = true\n readBuffer.clear()\n await stream?.kill()\n transport.onclose?.()\n },\n }\n\n return transport\n}\n"],"mappings":";;;;;;;;;AA6EA,eAAsB,4BACpB,SACoC;CACpC,MAAM,EAAE,MAAM,SAAS,QAAQ,SAAS,KAAK,KAAK,UAAU;CAE5D,IAAI,CAAC,QAAQ,YACX,MAAM,IAAI,MACR,eAAe,KAAK,sDACd,QAAQ,KAAK,2KAGrB;CAGF,MAAM,EAAE,YAAY,qBAAqB,MAAM,OAAO,sBAA4C,CAAA,MAAA,MAAA,EAAA,CAAA;CAElG,MAAM,aAAa,IAAI,WAAW;CAClC,IAAI,SAAkF;CACtF,IAAI,SAAS;CAEb,MAAM,YAAuC;EAC3C,iBAAiB;EAEjB,MAAM,QAAQ;GACZ,IAAI,QACF,MAAM,IAAI,MAAM,8BAA8B,KAAK,kBAAkB;GAWvE,SAAS,MAAM,QAAQ,WAAY,QAAQ,SAAS;IAClD,KAAK,OAAO,OAAO;IACnB,GAAI,QAAQ,KAAA,IAAY,EAAE,IAAI,IAAI,CAAC;GACrC,CAAC;GAED,MAAM,SAAS;GAIf,CAAM,YAAY;IAChB,IAAI;KACF,WAAW,MAAM,SAAS,OAAO,QAAQ;MACvC,WAAW,OAAO,OAAO,KAAK,KAAK,CAAC;MACpC,SAAS;OAMP,IAAI;OACJ,IAAI;QACF,UAAU,WAAW,YAAY;OACnC,SACO,KAAK;QACV,UAAU,UAAU,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;QACvE;OACF;OACA,IAAI,YAAY,MACd;OACF,UAAU,YAAY,OAAO;MAC/B;KACF;IACF,SACO,KAAK;KACV,IAAI,CAAC,QACH,UAAU,UAAU,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;IAC3E;GACF,EAAA,CAAG;GAMH,IAAI,OAAO,QAAQ;IACjB,MAAM,UAAU,wBAAwB,MAAM,KAAK;IAKnD,MAAM,UAAU,IAAI,YAAY,OAAO;IACvC,CAAM,YAAY;KAChB,IAAI;MACF,WAAW,MAAM,SAAS,OAAO,QAC/B,QAAQ,KAAK,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,CAAC;KACxD,QACM,CAGN,UACQ;MACN,QAAQ,KAAK,QAAQ,OAAO,CAAC;MAC7B,QAAQ,MAAM;KAChB;IACF,EAAA,CAAG;GACL;GAGA,OAAY,OAAO,WAAW;IAC5B,IAAI,QACF;IACF,SAAS;IACT,UAAU,UAAU;GACtB,CAAC;EACH;EAEA,MAAM,KAAK,SAAkB;GAC3B,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,8BAA8B,KAAK,cAAc;GACnE,MAAM,OAAO,MAAM,IAAI,YAAY,CAAC,CAAC,OAAO,iBAAiB,OAAgB,CAAC,CAAC;EACjF;EAEA,MAAM,QAAQ;GACZ,IAAI,QAAQ;IAIV,MAAM,QAAQ,KAAK;IACnB;GACF;GACA,SAAS;GACT,WAAW,MAAM;GACjB,MAAM,QAAQ,KAAK;GACnB,UAAU,UAAU;EACtB;CACF;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"context-transport-D29WvHcm.js","names":[],"sources":["../src/mcp/context-transport.ts"],"sourcesContent":["/**\n * An MCP `Transport` that speaks stdio JSON-RPC to a server running INSIDE\n * an `ExecutionContext`, rather than as a child of the host process.\n *\n * Why this exists\n * ---------------\n * An MCP server is an ordinary program. When it calls `fs.readFileSync` or\n * `fs.writeFile`, those hit whatever filesystem it was spawned on. The\n * default `StdioClientTransport` spawns on the HOST, so with a sandboxed\n * execution context (Daytona / E2B / Docker) the agent's own tools and its\n * MCP servers end up looking at two different filesystems: a path the model\n * discovered via `list_files` does not exist for the MCP server, and an MCP\n * write lands somewhere `read_file` cannot see.\n *\n * Routing the server through `ExecutionContext.execStream` puts both on the\n * same filesystem. Note what this does NOT buy: isolation. Remote-transport\n * MCP servers are unreachable by this mechanism by construction, so\n * \"everything the agent touches runs in the execution context\" can never be\n * a true invariant. This is about coherence, not containment.\n *\n * Framing\n * -------\n * Delegated to the SDK's own `ReadBuffer` / `serializeMessage`, the exact\n * pair `StdioClientTransport` uses. That matters beyond code reuse:\n * `ReadBuffer` concatenates raw bytes and only decodes at newline\n * boundaries, so a multibyte codepoint split across two chunks survives.\n * Decoding each chunk independently would corrupt it irrecoverably — which\n * is precisely why `StreamHandle` carries bytes rather than strings.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks } from '../agent'\nimport type { ExecutionContext, ExecutionHandle } from '../contexts/types'\nimport { Buffer } from 'node:buffer'\nimport { createStderrLineEmitter } from './index'\n\n/**\n * Structural subset of the MCP SDK's `Transport` that we implement. Declared\n * locally rather than imported as a type so this module keeps the optional\n * peer-dependency contract (see the note atop `./index.ts`) — the SDK is only\n * ever touched through a runtime `await import(...)`.\n */\nexport interface ContextStdioTransportLike {\n /**\n * Brand marking this transport's process as living OUTSIDE the host.\n * `stdioPidOf` keys off it to refuse handing any pid from here to\n * `killStdioChild`, which signals host pids: a sandbox pid like `77`\n * names a real, unrelated host process. Termination for this transport\n * goes through `StreamHandle.kill()`, which signals inside the context.\n */\n readonly __contextScoped: true\n start: () => Promise<void>\n send: (message: unknown) => Promise<void>\n close: () => Promise<void>\n onclose?: () => void\n onerror?: (error: Error) => void\n onmessage?: (message: unknown) => void\n}\n\nexport interface ContextStdioTransportOptions {\n /** Server name, used for `mcp:warn` attribution. */\n name: string\n context: ExecutionContext\n handle: ExecutionHandle\n /** Full command line, run through the context's shell. */\n command: string\n cwd?: string\n env?: Record<string, string>\n hooks?: Hookable<AgentHooks>\n}\n\n/**\n * Build the transport. Throws if the context can't stream — deliberately\n * loudly, because the alternative (quietly spawning on the host) would\n * reintroduce the split-filesystem bug this transport exists to fix, and\n * would do it invisibly.\n */\nexport async function createContextStdioTransport(\n options: ContextStdioTransportOptions,\n): Promise<ContextStdioTransportLike> {\n const { name, context, handle, command, cwd, env, hooks } = options\n\n if (!context.execStream) {\n throw new Error(\n `MCP server \"${name}\" is configured with \\`scope: 'context'\\`, but the `\n + `'${context.type}' execution context does not support live streams `\n + `(\\`execStream\\`). Use \\`scope: 'host'\\` for this server, or switch to a `\n + `context that advertises \\`capabilities.stream\\`.`,\n )\n }\n\n const { ReadBuffer, serializeMessage } = await import('@modelcontextprotocol/sdk/shared/stdio.js')\n\n const readBuffer = new ReadBuffer()\n let stream: Awaited<ReturnType<NonNullable<ExecutionContext['execStream']>>> | null = null\n let closed = false\n\n const transport: ContextStdioTransportLike = {\n __contextScoped: true,\n\n async start() {\n if (stream)\n throw new Error(`MCP context transport for \"${name}\" already started`)\n\n // cwd is defaulted HERE, not left to the context: process and docker\n // fall back to `handle.cwd` on their own, but the sandbox providers\n // forward `cwd` only when set, so their SDK default would win (E2B's\n // `/home/user`, Daytona's PTY login dir). A `scope: 'context'` server\n // without an explicit `cwd` — e.g. server-filesystem rooted at '.' —\n // would then serve the workspace on two contexts and the home\n // directory on the others: the exact silent path divergence this\n // transport exists to close. Redundant-but-harmless on contexts that\n // already default to `handle.cwd`.\n stream = await context.execStream!(handle, command, {\n cwd: cwd ?? handle.cwd,\n ...(env !== undefined ? { env } : {}),\n })\n\n const active = stream\n\n // stdout → framed JSON-RPC. Runs detached from `start()`; awaiting it\n // would never resolve, since the server lives as long as the session.\n void (async () => {\n try {\n for await (const chunk of active.stdout) {\n readBuffer.append(Buffer.from(chunk))\n for (;;) {\n // A malformed frame must not kill the pump: report it and keep\n // reading. Servers that interleave stray output with protocol\n // frames (a PTY-backed context that lost the `stty raw` race,\n // a server logging to stdout) would otherwise wedge the\n // connection permanently on the first bad line.\n let message: unknown\n try {\n message = readBuffer.readMessage()\n }\n catch (err) {\n transport.onerror?.(err instanceof Error ? err : new Error(String(err)))\n continue\n }\n if (message === null)\n break\n transport.onmessage?.(message)\n }\n }\n }\n catch (err) {\n if (!closed)\n transport.onerror?.(err instanceof Error ? err : new Error(String(err)))\n }\n })()\n\n // stderr → `mcp:warn`, when the context provides it separately. A\n // PTY-backed context cannot split it from the terminal stream, so it\n // redirects to a file and may surface it here out-of-band (Daytona\n // polls) or not at all — absence is expected, not an error.\n if (active.stderr) {\n const emitter = createStderrLineEmitter(name, hooks)\n // Streaming decoder for the same reason `ReadBuffer` exists on the\n // stdout side: a per-chunk decode corrupts any multibyte codepoint\n // split across a chunk boundary. Diagnostic-only here, but free to\n // get right.\n const decoder = new TextDecoder('utf-8')\n void (async () => {\n try {\n for await (const chunk of active.stderr!)\n emitter.push(decoder.decode(chunk, { stream: true }))\n }\n catch {\n // Diagnostic channel — a failure here must not surface as a\n // protocol error.\n }\n finally {\n emitter.push(decoder.decode())\n emitter.flush()\n }\n })()\n }\n\n // The child dying is the connection ending. Surface it once.\n void active.exited.then(() => {\n if (closed)\n return\n closed = true\n transport.onclose?.()\n })\n },\n\n async send(message: unknown) {\n if (!stream)\n throw new Error(`MCP context transport for \"${name}\" not started`)\n await stream.write(new TextEncoder().encode(serializeMessage(message as never)))\n },\n\n async close() {\n if (closed) {\n // Still ensure the child is gone: `closed` may have been set by the\n // exit watcher, but an explicit close after a half-dead stream\n // should not leave a process running in the sandbox.\n await stream?.kill()\n return\n }\n closed = true\n readBuffer.clear()\n await stream?.kill()\n transport.onclose?.()\n },\n }\n\n return transport\n}\n"],"mappings":";;;;;;;;;AA6EA,eAAsB,4BACpB,SACoC;CACpC,MAAM,EAAE,MAAM,SAAS,QAAQ,SAAS,KAAK,KAAK,UAAU;CAE5D,IAAI,CAAC,QAAQ,YACX,MAAM,IAAI,MACR,eAAe,KAAK,sDACd,QAAQ,KAAK,2KAGrB;CAGF,MAAM,EAAE,YAAY,qBAAqB,MAAM,OAAO,sBAA4C,CAAA,MAAA,MAAA,EAAA,CAAA;CAElG,MAAM,aAAa,IAAI,WAAW;CAClC,IAAI,SAAkF;CACtF,IAAI,SAAS;CAEb,MAAM,YAAuC;EAC3C,iBAAiB;EAEjB,MAAM,QAAQ;GACZ,IAAI,QACF,MAAM,IAAI,MAAM,8BAA8B,KAAK,kBAAkB;GAWvE,SAAS,MAAM,QAAQ,WAAY,QAAQ,SAAS;IAClD,KAAK,OAAO,OAAO;IACnB,GAAI,QAAQ,KAAA,IAAY,EAAE,IAAI,IAAI,CAAC;GACrC,CAAC;GAED,MAAM,SAAS;GAIf,CAAM,YAAY;IAChB,IAAI;KACF,WAAW,MAAM,SAAS,OAAO,QAAQ;MACvC,WAAW,OAAO,OAAO,KAAK,KAAK,CAAC;MACpC,SAAS;OAMP,IAAI;OACJ,IAAI;QACF,UAAU,WAAW,YAAY;OACnC,SACO,KAAK;QACV,UAAU,UAAU,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;QACvE;OACF;OACA,IAAI,YAAY,MACd;OACF,UAAU,YAAY,OAAO;MAC/B;KACF;IACF,SACO,KAAK;KACV,IAAI,CAAC,QACH,UAAU,UAAU,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;IAC3E;GACF,EAAA,CAAG;GAMH,IAAI,OAAO,QAAQ;IACjB,MAAM,UAAU,wBAAwB,MAAM,KAAK;IAKnD,MAAM,UAAU,IAAI,YAAY,OAAO;IACvC,CAAM,YAAY;KAChB,IAAI;MACF,WAAW,MAAM,SAAS,OAAO,QAC/B,QAAQ,KAAK,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC,CAAC;KACxD,QACM,CAGN,UACQ;MACN,QAAQ,KAAK,QAAQ,OAAO,CAAC;MAC7B,QAAQ,MAAM;KAChB;IACF,EAAA,CAAG;GACL;GAGA,OAAY,OAAO,WAAW;IAC5B,IAAI,QACF;IACF,SAAS;IACT,UAAU,UAAU;GACtB,CAAC;EACH;EAEA,MAAM,KAAK,SAAkB;GAC3B,IAAI,CAAC,QACH,MAAM,IAAI,MAAM,8BAA8B,KAAK,cAAc;GACnE,MAAM,OAAO,MAAM,IAAI,YAAY,CAAC,CAAC,OAAO,iBAAiB,OAAgB,CAAC,CAAC;EACjF;EAEA,MAAM,QAAQ;GACZ,IAAI,QAAQ;IAIV,MAAM,QAAQ,KAAK;IACnB;GACF;GACA,SAAS;GACT,WAAW,MAAM;GACjB,MAAM,QAAQ,KAAK;GACnB,UAAU,UAAU;EACtB;CACF;CAEA,OAAO;AACT"}
@@ -1,4 +1,4 @@
1
- import { hu as Logger } from "../index-Gy9wi80M.js";
1
+ import { hu as Logger } from "../index-C-Nd2ZbV.js";
2
2
  import { s as ExecResult } from "../types-M2DauK2D.js";
3
3
  import { t as SandboxProvider } from "../sandbox-DLY6uah7.js";
4
4
  import { Buffer } from "node:buffer";
@@ -1,4 +1,4 @@
1
- import { hu as Logger } from "../index-Gy9wi80M.js";
1
+ import { hu as Logger } from "../index-C-Nd2ZbV.js";
2
2
  import { t as SandboxProvider } from "../sandbox-DLY6uah7.js";
3
3
 
4
4
  //#region src/contexts/e2b.d.ts
package/dist/eval.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $t as EvalRunUsage, An as efficiencyMetricValues, Bn as functionalityMetric, Bt as EvalAgentStats, Cn as clearRegisteredEvals, Dn as createReusableExecutionContext, En as createEvalRunReporter, Fn as fileExistsOneOf, Ft as EvalAgent, Gn as runEvalCase, Gt as EvalDefinitionContext, Hn as normalizeMetric, Ht as EvalCaseOptions, In as finalizeEvalMetrics, It as EvalAgentMcpServers, Jt as EvalRunMetricAggregate, Kn as statusCompleted, Kt as EvalMetric, Ln as formatEvalCaseSummary, Lt as EvalAgentRunOptions, Mn as fileContains, Nn as fileContentQuality, Nt as CreateEvalAgentOptions, On as defineEval, Pn as fileExists, Pt as EFFICIENCY_METRICS, Qt as EvalRunSummaryCase, Rn as formatEvalRunSummary, Rt as EvalAgentRunResult, Sn as buildTrajectory, Tn as createEvalAgent, Un as registerEvalTests, Ut as EvalCaseResult, Vn as llmJudge, Vt as EvalArtifacts, Wn as relativeArtifactPath, Wt as EvalDefinition, Xt as EvalRunReporterOptions, Yt as EvalRunReporter, Zt as EvalRunSummary, _n as TrajectoryStep, an as EvalWorkspaceFile, bn as buildEvalRunSummary, cn as LlmJudgeOptions, dn as MetricSpec, en as EvalScore, fn as MetricSpecMap, gn as Trajectory, hn as ReusableExecutionContext, in as EvalVariantSummary, jn as emitEfficiencyMetrics, kn as defineMetrics, ln as MetricDirection, mn as RegisterEvalTestsOptions, nn as EvalScorerContext, on as EvalWorkspaceOptions, pn as MetricStats, qt as EvalMetricError, rn as EvalTestRunner, sn as EvalWorkspaceSnapshot, tn as EvalScorer, un as MetricEmitter, vn as TrajectoryStepKind, wn as computeEvalTagScores, xn as buildRegisteredEvals, yn as artifactPath, zn as formatTrajectoryLine, zt as EvalAgentRunStats } from "./index-Gy9wi80M.js";
1
+ import { $t as EvalRunUsage, An as efficiencyMetricValues, Bn as functionalityMetric, Bt as EvalAgentStats, Cn as clearRegisteredEvals, Dn as createReusableExecutionContext, En as createEvalRunReporter, Fn as fileExistsOneOf, Ft as EvalAgent, Gn as runEvalCase, Gt as EvalDefinitionContext, Hn as normalizeMetric, Ht as EvalCaseOptions, In as finalizeEvalMetrics, It as EvalAgentMcpServers, Jt as EvalRunMetricAggregate, Kn as statusCompleted, Kt as EvalMetric, Ln as formatEvalCaseSummary, Lt as EvalAgentRunOptions, Mn as fileContains, Nn as fileContentQuality, Nt as CreateEvalAgentOptions, On as defineEval, Pn as fileExists, Pt as EFFICIENCY_METRICS, Qt as EvalRunSummaryCase, Rn as formatEvalRunSummary, Rt as EvalAgentRunResult, Sn as buildTrajectory, Tn as createEvalAgent, Un as registerEvalTests, Ut as EvalCaseResult, Vn as llmJudge, Vt as EvalArtifacts, Wn as relativeArtifactPath, Wt as EvalDefinition, Xt as EvalRunReporterOptions, Yt as EvalRunReporter, Zt as EvalRunSummary, _n as TrajectoryStep, an as EvalWorkspaceFile, bn as buildEvalRunSummary, cn as LlmJudgeOptions, dn as MetricSpec, en as EvalScore, fn as MetricSpecMap, gn as Trajectory, hn as ReusableExecutionContext, in as EvalVariantSummary, jn as emitEfficiencyMetrics, kn as defineMetrics, ln as MetricDirection, mn as RegisterEvalTestsOptions, nn as EvalScorerContext, on as EvalWorkspaceOptions, pn as MetricStats, qt as EvalMetricError, rn as EvalTestRunner, sn as EvalWorkspaceSnapshot, tn as EvalScorer, un as MetricEmitter, vn as TrajectoryStepKind, wn as computeEvalTagScores, xn as buildRegisteredEvals, yn as artifactPath, zn as formatTrajectoryLine, zt as EvalAgentRunStats } from "./index-C-Nd2ZbV.js";
2
2
  export { CreateEvalAgentOptions, EFFICIENCY_METRICS, EvalAgent, EvalAgentMcpServers, EvalAgentRunOptions, EvalAgentRunResult, EvalAgentRunStats, EvalAgentStats, EvalArtifacts, EvalCaseOptions, EvalCaseResult, EvalDefinition, EvalDefinitionContext, EvalMetric, EvalMetricError, EvalRunMetricAggregate, EvalRunReporter, EvalRunReporterOptions, EvalRunSummary, EvalRunSummaryCase, EvalRunUsage, EvalScore, EvalScorer, EvalScorerContext, EvalTestRunner, EvalVariantSummary, EvalWorkspaceFile, EvalWorkspaceOptions, EvalWorkspaceSnapshot, LlmJudgeOptions, MetricDirection, MetricEmitter, MetricSpec, MetricSpecMap, MetricStats, RegisterEvalTestsOptions, ReusableExecutionContext, Trajectory, TrajectoryStep, TrajectoryStepKind, artifactPath, buildEvalRunSummary, buildRegisteredEvals, buildTrajectory, clearRegisteredEvals, computeEvalTagScores, createEvalAgent, createEvalRunReporter, createReusableExecutionContext, defineEval, defineMetrics, efficiencyMetricValues, emitEfficiencyMetrics, fileContains, fileContentQuality, fileExists, fileExistsOneOf, finalizeEvalMetrics, formatEvalCaseSummary, formatEvalRunSummary, formatTrajectoryLine, functionalityMetric, llmJudge, normalizeMetric, registerEvalTests, relativeArtifactPath, runEvalCase, statusCompleted };
package/dist/eval.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { r as createProcessContext } from "./contexts-DWVt7MvF.js";
2
2
  import { t as alwaysQuote } from "./shell-quote-BmnhZmdM.js";
3
- import { d as createMemoryStore, t as createSession } from "./session-B40flcj7.js";
3
+ import { d as createMemoryStore, t as createSession } from "./session-cr9VdoEO.js";
4
4
  import { headlessEventToJsonl, runHeadless } from "./headless.js";
5
5
  import { join, relative, resolve } from "node:path";
6
6
  import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
@@ -1,2 +1,2 @@
1
- import { $a as ExtensionConfigSurface, $i as ExtensionCatalogPartition, $o as ExtensionToolResultTransform, Aa as inlineLoadedExtension, Ao as ExtensionModal, Ba as ExtensionConfigActionItem, Bo as ExtensionSessionStateSurface, Ca as removeInstalledExtension, Co as ExtensionFooterHint, Cs as createExtensionHostRuntimeBridge, Da as ExtensionScanEntry, Do as ExtensionKeybindingDispatchContext, Ea as ENTRY_CANDIDATES, Eo as ExtensionKeybinding, Fa as discoverAndBuildExtensionRegistry, Fo as ExtensionPromptTransform, Ga as ExtensionConfigChangeBehavior, Go as ExtensionToolCatalogTransform, Ha as ExtensionConfigActionStatus, Ho as ExtensionSource, Ia as ExtensionPromptBridge, Io as ExtensionProviderMiddleware, Ja as ExtensionConfigItemBase, Jo as ExtensionToolRenderer, Ka as ExtensionConfigEnumItem, Ko as ExtensionToolPolicy, La as ExtensionPromptDelivery, Lo as ExtensionRegistry, Ma as parseExtensionScanPathEnv, Mo as ExtensionOrderedContribution, Na as scanExtensionDirectories, No as ExtensionPaths, Oa as defaultExtensionScanPaths, Oo as ExtensionManifest, Pa as DiscoverAndBuildExtensionRegistryOptions, Po as ExtensionPermission, Qa as ExtensionConfigStringItem, Qi as BuildExtensionRegistryOptions, Qo as ExtensionToolResultPatch, Ra as createExtensionPromptBridge, Ro as ExtensionRunTransform, Sa as readExtensionInstallProvenance, So as ExtensionDefinition, Ss as ExtensionWorkspaceSurface, Ta as registerExtensionHostModules, To as ExtensionGuiSurface, Ua as ExtensionConfigBooleanItem, Uo as ExtensionStorageScope, Va as ExtensionConfigActionResult, Vo as ExtensionSkillPolicy, Wa as ExtensionConfigCategory, Wo as ExtensionStorageSurface, Xa as ExtensionConfigNumberItem, Xo as ExtensionToolRendererRegistration, Ya as ExtensionConfigModelItem, Yo as ExtensionToolRendererEntry, Za as ExtensionConfigScope, Zo as ExtensionToolResultMetadataRegistration, _a as InstalledExtensionTargetOptions, _o as ExtensionContext, _s as ExtensionModelEntry, aa as mergeContributions, ao as clampExtensionConfigNumber, as as ExtensionBannerOptions, ba as listExtensionCandidates, bo as ExtensionCustomRenderer, bs as ExtensionSessionsSurface, ca as ExtensionInstallCandidate, co as isValidExtensionConfigValue, cs as ExtensionHudStatus, da as ExtensionInstallIo, do as sanitizeExtensionConfigActionPatch, ds as ExtensionNotifyOptions, ea as buildExtensionPreset, eo as ExtensionConfigValue, es as ExtensionToolVerdict, fa as ExtensionInstallProvenance, fo as toWireConfigSchema, fs as ExtensionNotifyTone, ga as InstallExtensionFromSpecOptions, go as ExtensionCapability, gs as ExtensionHostRuntimeImpl, ha as ExtensionInstallSource, ho as ExtensionBehaviorTransform, hs as ExtensionHostRuntimeBridge, ia as filterExtensionRegistry, io as WireExtensionConfigSchema, is as TuiContributions, ja as isExtensionDefinition, jo as ExtensionModalNode, ka as discoverExtensions, ko as ExtensionMcpConfigTransform, la as ExtensionInstallError, lo as resolveExtensionConfig, ls as ExtensionHudWriter, ma as ExtensionInstallScope, mo as ExtensionApiVersion, ms as createExtensionHud, na as composeExtensionPreset, no as StoredExtensionConfigItem, ns as GuiContributions, oa as partitionExtensionCatalog, oo as coerceExtensionConfigInput, os as ExtensionHud, pa as ExtensionInstallResult, po as EMPTY_EXTENSION_REGISTRY, ps as ExtensionStatusOptions, qa as ExtensionConfigItem, qo as ExtensionToolRenderProps, ra as disposeExtensionRegistry, ro as WireExtensionConfigItem, rs as LoadedExtension, sa as ExtensionFetchResult, so as isValidExtensionConfigItem, ss as ExtensionHudState, ta as buildExtensionRegistry, to as ExtensionConfigValueItem, ts as ExtensionTuiSurface, ua as ExtensionInstallErrorCode, uo as resolveExtensionConfigValue, us as ExtensionNotification, va as fetchExtensionSource, vo as ExtensionContextTransform, vs as ExtensionRuntimeSurface, wa as updateInstalledExtension, wo as ExtensionGuiPanel, ws as createWorkspaceSurface, xa as parseExtensionInstallSource, xo as ExtensionCustomRendererEntry, xs as ExtensionWorkspacePair, ya as installExtensionFromSpec, yo as ExtensionContributions, ys as ExtensionSessionSummary, za as defineExtension, zo as ExtensionRuntimeEnv } from "./index-Gy9wi80M.js";
1
+ import { $a as ExtensionConfigSurface, $i as ExtensionCatalogPartition, $o as ExtensionToolResultTransform, Aa as inlineLoadedExtension, Ao as ExtensionModal, Ba as ExtensionConfigActionItem, Bo as ExtensionSessionStateSurface, Ca as removeInstalledExtension, Co as ExtensionFooterHint, Cs as createExtensionHostRuntimeBridge, Da as ExtensionScanEntry, Do as ExtensionKeybindingDispatchContext, Ea as ENTRY_CANDIDATES, Eo as ExtensionKeybinding, Fa as discoverAndBuildExtensionRegistry, Fo as ExtensionPromptTransform, Ga as ExtensionConfigChangeBehavior, Go as ExtensionToolCatalogTransform, Ha as ExtensionConfigActionStatus, Ho as ExtensionSource, Ia as ExtensionPromptBridge, Io as ExtensionProviderMiddleware, Ja as ExtensionConfigItemBase, Jo as ExtensionToolRenderer, Ka as ExtensionConfigEnumItem, Ko as ExtensionToolPolicy, La as ExtensionPromptDelivery, Lo as ExtensionRegistry, Ma as parseExtensionScanPathEnv, Mo as ExtensionOrderedContribution, Na as scanExtensionDirectories, No as ExtensionPaths, Oa as defaultExtensionScanPaths, Oo as ExtensionManifest, Pa as DiscoverAndBuildExtensionRegistryOptions, Po as ExtensionPermission, Qa as ExtensionConfigStringItem, Qi as BuildExtensionRegistryOptions, Qo as ExtensionToolResultPatch, Ra as createExtensionPromptBridge, Ro as ExtensionRunTransform, Sa as readExtensionInstallProvenance, So as ExtensionDefinition, Ss as ExtensionWorkspaceSurface, Ta as registerExtensionHostModules, To as ExtensionGuiSurface, Ua as ExtensionConfigBooleanItem, Uo as ExtensionStorageScope, Va as ExtensionConfigActionResult, Vo as ExtensionSkillPolicy, Wa as ExtensionConfigCategory, Wo as ExtensionStorageSurface, Xa as ExtensionConfigNumberItem, Xo as ExtensionToolRendererRegistration, Ya as ExtensionConfigModelItem, Yo as ExtensionToolRendererEntry, Za as ExtensionConfigScope, Zo as ExtensionToolResultMetadataRegistration, _a as InstalledExtensionTargetOptions, _o as ExtensionContext, _s as ExtensionModelEntry, aa as mergeContributions, ao as clampExtensionConfigNumber, as as ExtensionBannerOptions, ba as listExtensionCandidates, bo as ExtensionCustomRenderer, bs as ExtensionSessionsSurface, ca as ExtensionInstallCandidate, co as isValidExtensionConfigValue, cs as ExtensionHudStatus, da as ExtensionInstallIo, do as sanitizeExtensionConfigActionPatch, ds as ExtensionNotifyOptions, ea as buildExtensionPreset, eo as ExtensionConfigValue, es as ExtensionToolVerdict, fa as ExtensionInstallProvenance, fo as toWireConfigSchema, fs as ExtensionNotifyTone, ga as InstallExtensionFromSpecOptions, go as ExtensionCapability, gs as ExtensionHostRuntimeImpl, ha as ExtensionInstallSource, ho as ExtensionBehaviorTransform, hs as ExtensionHostRuntimeBridge, ia as filterExtensionRegistry, io as WireExtensionConfigSchema, is as TuiContributions, ja as isExtensionDefinition, jo as ExtensionModalNode, ka as discoverExtensions, ko as ExtensionMcpConfigTransform, la as ExtensionInstallError, lo as resolveExtensionConfig, ls as ExtensionHudWriter, ma as ExtensionInstallScope, mo as ExtensionApiVersion, ms as createExtensionHud, na as composeExtensionPreset, no as StoredExtensionConfigItem, ns as GuiContributions, oa as partitionExtensionCatalog, oo as coerceExtensionConfigInput, os as ExtensionHud, pa as ExtensionInstallResult, po as EMPTY_EXTENSION_REGISTRY, ps as ExtensionStatusOptions, qa as ExtensionConfigItem, qo as ExtensionToolRenderProps, ra as disposeExtensionRegistry, ro as WireExtensionConfigItem, rs as LoadedExtension, sa as ExtensionFetchResult, so as isValidExtensionConfigItem, ss as ExtensionHudState, ta as buildExtensionRegistry, to as ExtensionConfigValueItem, ts as ExtensionTuiSurface, ua as ExtensionInstallErrorCode, uo as resolveExtensionConfigValue, us as ExtensionNotification, va as fetchExtensionSource, vo as ExtensionContextTransform, vs as ExtensionRuntimeSurface, wa as updateInstalledExtension, wo as ExtensionGuiPanel, ws as createWorkspaceSurface, xa as parseExtensionInstallSource, xo as ExtensionCustomRendererEntry, xs as ExtensionWorkspacePair, ya as installExtensionFromSpec, yo as ExtensionContributions, ys as ExtensionSessionSummary, za as defineExtension, zo as ExtensionRuntimeEnv } from "./index-C-Nd2ZbV.js";
2
2
  export { type BuildExtensionRegistryOptions, type DiscoverAndBuildExtensionRegistryOptions, EMPTY_EXTENSION_REGISTRY, ENTRY_CANDIDATES, type ExtensionApiVersion, type ExtensionBannerOptions, type ExtensionBehaviorTransform, type ExtensionCapability, type ExtensionCatalogPartition, type ExtensionConfigActionItem, type ExtensionConfigActionResult, type ExtensionConfigActionStatus, type ExtensionConfigBooleanItem, type ExtensionConfigCategory, type ExtensionConfigChangeBehavior, type ExtensionConfigEnumItem, type ExtensionConfigItem, type ExtensionConfigItemBase, type ExtensionConfigModelItem, type ExtensionConfigNumberItem, type ExtensionConfigScope, type ExtensionConfigStringItem, type ExtensionConfigSurface, type ExtensionConfigValue, type ExtensionConfigValueItem, type ExtensionContext, type ExtensionContextTransform, type ExtensionContributions, type ExtensionCustomRenderer, type ExtensionCustomRendererEntry, type ExtensionDefinition, type ExtensionFetchResult, type ExtensionFooterHint, type ExtensionGuiPanel, type ExtensionGuiSurface, type ExtensionHostRuntimeBridge, type ExtensionHostRuntimeImpl, type ExtensionHud, type ExtensionHudState, type ExtensionHudStatus, type ExtensionHudWriter, type ExtensionInstallCandidate, ExtensionInstallError, type ExtensionInstallErrorCode, type ExtensionInstallIo, type ExtensionInstallProvenance, type ExtensionInstallResult, type ExtensionInstallScope, type ExtensionInstallSource, type ExtensionKeybinding, type ExtensionKeybindingDispatchContext, type ExtensionManifest, type ExtensionMcpConfigTransform, type ExtensionModal, type ExtensionModalNode, type ExtensionModelEntry, type ExtensionNotification, type ExtensionNotifyOptions, type ExtensionNotifyTone, type ExtensionOrderedContribution, type ExtensionPaths, type ExtensionPermission, type ExtensionPromptBridge, type ExtensionPromptDelivery, type ExtensionPromptTransform, type ExtensionProviderMiddleware, type ExtensionRegistry, type ExtensionRunTransform, type ExtensionRuntimeEnv, type ExtensionRuntimeSurface, type ExtensionScanEntry, type ExtensionSessionStateSurface, type ExtensionSessionSummary, type ExtensionSessionsSurface, type ExtensionSkillPolicy, type ExtensionSource, type ExtensionStatusOptions, type ExtensionStorageScope, type ExtensionStorageSurface, type ExtensionToolCatalogTransform, type ExtensionToolPolicy, type ExtensionToolRenderProps, type ExtensionToolRenderer, type ExtensionToolRendererEntry, type ExtensionToolRendererRegistration, type ExtensionToolResultMetadataRegistration, type ExtensionToolResultPatch, type ExtensionToolResultTransform, type ExtensionToolVerdict, type ExtensionTuiSurface, type ExtensionWorkspacePair, type ExtensionWorkspaceSurface, type GuiContributions, type InstallExtensionFromSpecOptions, type InstalledExtensionTargetOptions, type LoadedExtension, type StoredExtensionConfigItem, type TuiContributions, type WireExtensionConfigItem, type WireExtensionConfigSchema, buildExtensionPreset, buildExtensionRegistry, clampExtensionConfigNumber, coerceExtensionConfigInput, composeExtensionPreset, createExtensionHostRuntimeBridge, createExtensionHud, createExtensionPromptBridge, createWorkspaceSurface, defaultExtensionScanPaths, defineExtension, discoverAndBuildExtensionRegistry, discoverExtensions, disposeExtensionRegistry, fetchExtensionSource, filterExtensionRegistry, inlineLoadedExtension, installExtensionFromSpec, isExtensionDefinition, isValidExtensionConfigItem, isValidExtensionConfigValue, listExtensionCandidates, mergeContributions, parseExtensionInstallSource, parseExtensionScanPathEnv, partitionExtensionCatalog, readExtensionInstallProvenance, registerExtensionHostModules, removeInstalledExtension, resolveExtensionConfig, resolveExtensionConfigValue, sanitizeExtensionConfigActionPatch, scanExtensionDirectories, toWireConfigSchema, updateInstalledExtension };
@@ -1,2 +1,2 @@
1
- import { $ as removeInstalledExtension, G as EMPTY_EXTENSION_REGISTRY, J as fetchExtensionSource, K as createExtensionPromptBridge, Q as readExtensionInstallProvenance, X as listExtensionCandidates, Y as installExtensionFromSpec, Z as parseExtensionInstallSource, _n as resolveExtensionConfigValue, an as defaultExtensionScanPaths, at as composeExtensionPreset, cn as isExtensionDefinition, ct as mergeContributions, dn as defineExtension, dt as createWorkspaceSurface, et as updateInstalledExtension, fn as clampExtensionConfigNumber, gn as resolveExtensionConfig, hn as isValidExtensionConfigValue, in as ENTRY_CANDIDATES, it as buildExtensionRegistry, ln as parseExtensionScanPathEnv, lt as partitionExtensionCatalog, mn as isValidExtensionConfigItem, nt as discoverAndBuildExtensionRegistry, on as discoverExtensions, ot as disposeExtensionRegistry, pn as coerceExtensionConfigInput, q as ExtensionInstallError, rn as registerExtensionHostModules, rt as buildExtensionPreset, sn as inlineLoadedExtension, st as filterExtensionRegistry, tt as createExtensionHud, un as scanExtensionDirectories, ut as createExtensionHostRuntimeBridge, vn as sanitizeExtensionConfigActionPatch, yn as toWireConfigSchema } from "./agent-BMJKrD84.js";
1
+ import { $ as removeInstalledExtension, G as EMPTY_EXTENSION_REGISTRY, J as fetchExtensionSource, K as createExtensionPromptBridge, Q as readExtensionInstallProvenance, X as listExtensionCandidates, Y as installExtensionFromSpec, Z as parseExtensionInstallSource, _n as resolveExtensionConfigValue, an as defaultExtensionScanPaths, at as composeExtensionPreset, cn as isExtensionDefinition, ct as mergeContributions, dn as defineExtension, dt as createWorkspaceSurface, et as updateInstalledExtension, fn as clampExtensionConfigNumber, gn as resolveExtensionConfig, hn as isValidExtensionConfigValue, in as ENTRY_CANDIDATES, it as buildExtensionRegistry, ln as parseExtensionScanPathEnv, lt as partitionExtensionCatalog, mn as isValidExtensionConfigItem, nt as discoverAndBuildExtensionRegistry, on as discoverExtensions, ot as disposeExtensionRegistry, pn as coerceExtensionConfigInput, q as ExtensionInstallError, rn as registerExtensionHostModules, rt as buildExtensionPreset, sn as inlineLoadedExtension, st as filterExtensionRegistry, tt as createExtensionHud, un as scanExtensionDirectories, ut as createExtensionHostRuntimeBridge, vn as sanitizeExtensionConfigActionPatch, yn as toWireConfigSchema } from "./agent-8sUadp5M.js";
2
2
  export { EMPTY_EXTENSION_REGISTRY, ENTRY_CANDIDATES, ExtensionInstallError, buildExtensionPreset, buildExtensionRegistry, clampExtensionConfigNumber, coerceExtensionConfigInput, composeExtensionPreset, createExtensionHostRuntimeBridge, createExtensionHud, createExtensionPromptBridge, createWorkspaceSurface, defaultExtensionScanPaths, defineExtension, discoverAndBuildExtensionRegistry, discoverExtensions, disposeExtensionRegistry, fetchExtensionSource, filterExtensionRegistry, inlineLoadedExtension, installExtensionFromSpec, isExtensionDefinition, isValidExtensionConfigItem, isValidExtensionConfigValue, listExtensionCandidates, mergeContributions, parseExtensionInstallSource, parseExtensionScanPathEnv, partitionExtensionCatalog, readExtensionInstallProvenance, registerExtensionHostModules, removeInstalledExtension, resolveExtensionConfig, resolveExtensionConfigValue, sanitizeExtensionConfigActionPatch, scanExtensionDirectories, toWireConfigSchema, updateInstalledExtension };
@@ -1,2 +1,2 @@
1
- import { $n as HeadlessResult, Jn as FormattedHeadlessTurnEvent, Qn as HeadlessOutputFormat, Xn as HeadlessEvent, Yn as HeadlessErrorInfo, Zn as HeadlessOptions, ar as exitCodeForHeadlessResult, cr as formattedHeadlessTurnEventToJsonl, dr as providerTranscriptFormatForProvider, er as HeadlessStatus, fr as runHeadless, ir as ProviderTranscriptFormat, lr as headlessEventToJsonl, mr as transcriptToProviderMessages, nr as OpenAIChatContentPart, or as formatHeadlessResult, pr as transcriptToOpenAIMessages, qn as FormattedHeadlessResult, rr as OpenAIChatMessage, sr as formatHeadlessTurnEvent, tr as HeadlessUsage, ur as installHeadlessEventAdapter } from "./index-Gy9wi80M.js";
1
+ import { $n as HeadlessResult, Jn as FormattedHeadlessTurnEvent, Qn as HeadlessOutputFormat, Xn as HeadlessEvent, Yn as HeadlessErrorInfo, Zn as HeadlessOptions, ar as exitCodeForHeadlessResult, cr as formattedHeadlessTurnEventToJsonl, dr as providerTranscriptFormatForProvider, er as HeadlessStatus, fr as runHeadless, ir as ProviderTranscriptFormat, lr as headlessEventToJsonl, mr as transcriptToProviderMessages, nr as OpenAIChatContentPart, or as formatHeadlessResult, pr as transcriptToOpenAIMessages, qn as FormattedHeadlessResult, rr as OpenAIChatMessage, sr as formatHeadlessTurnEvent, tr as HeadlessUsage, ur as installHeadlessEventAdapter } from "./index-C-Nd2ZbV.js";
2
2
  export { FormattedHeadlessResult, FormattedHeadlessTurnEvent, HeadlessErrorInfo, HeadlessEvent, HeadlessOptions, HeadlessOutputFormat, HeadlessResult, HeadlessStatus, HeadlessUsage, OpenAIChatContentPart, OpenAIChatMessage, ProviderTranscriptFormat, exitCodeForHeadlessResult, formatHeadlessResult, formatHeadlessTurnEvent, formattedHeadlessTurnEventToJsonl, headlessEventToJsonl, installHeadlessEventAdapter, providerTranscriptFormatForProvider, runHeadless, transcriptToOpenAIMessages, transcriptToProviderMessages };
package/dist/headless.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { a as isWireTurn, i as documentBlockMarker, l as toolResultToText, n as assertResolvedMediaBlock } from "./types-BIarq1qE.js";
2
- import { ht as basic_default, t as createAgent } from "./agent-BMJKrD84.js";
2
+ import { ht as basic_default, t as createAgent } from "./agent-8sUadp5M.js";
3
3
  import { r as createProcessContext } from "./contexts-DWVt7MvF.js";
4
4
  import { t as audioFormatFromMediaType } from "./media-sniff-UKijEaiQ.js";
5
- import { c as ensureToolResultPairing, g as toAnthropic } from "./messages-D1EryrDs.js";
6
- import { d as createMemoryStore, t as createSession } from "./session-B40flcj7.js";
5
+ import { c as ensureToolResultPairing, g as toAnthropic } from "./messages-C01kKGj0.js";
6
+ import { d as createMemoryStore, t as createSession } from "./session-cr9VdoEO.js";
7
7
  import { t as createRunSummaryCollector } from "./run-summary-BU_NgwUT.js";
8
8
  //#region src/headless.ts
9
9
  function exitCodeForHeadlessResult(result) {