@astralyn/pi 0.85.3 → 0.86.1

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 (335) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/dist/bundle/chunks/anthropic-messages-R2LYJUDD.js +6 -0
  3. package/dist/bundle/chunks/azure-openai-responses-HS35BQV6.js +2 -0
  4. package/dist/bundle/chunks/bedrock-converse-stream.js +36 -32
  5. package/dist/bundle/chunks/{chunk-S2DJQQI2.js → chunk-2IO5GDBS.js} +10 -1
  6. package/dist/bundle/chunks/chunk-DAEM5JIZ.js +2 -0
  7. package/dist/bundle/chunks/{chunk-LB4P77SH.js → chunk-GTBMYBFG.js} +777 -762
  8. package/dist/bundle/chunks/{chunk-7LO5Z4WE.js → chunk-I5IVW2WS.js} +1 -1
  9. package/dist/bundle/chunks/chunk-JI4WGISU.js +2 -0
  10. package/dist/bundle/chunks/chunk-LPQCB2VJ.js +44 -0
  11. package/dist/bundle/chunks/chunk-NW5FIDD7.js +11 -0
  12. package/dist/bundle/chunks/chunk-PJVFYVHE.js +42 -0
  13. package/dist/bundle/chunks/github-copilot.js +1 -1
  14. package/dist/bundle/chunks/google-generative-ai-NOVAJBFC.js +2 -0
  15. package/dist/bundle/chunks/google-vertex-4VHCZJV5.js +2 -0
  16. package/dist/bundle/chunks/https-proxy-agent-JOOPB4RE.js +16 -0
  17. package/dist/bundle/chunks/jiti-loader-BFSSLU7G.js +21 -0
  18. package/dist/bundle/chunks/jiti-static-loader-CLT3YR3B.js +2 -0
  19. package/dist/bundle/chunks/mistral-conversations-WC6A2WCJ.js +5 -0
  20. package/dist/bundle/chunks/{node-G4XOIDPH.js → node-CXWYTK2I.js} +1 -1
  21. package/dist/bundle/chunks/openai-codex-responses-XCDG75W2.js +10 -0
  22. package/dist/bundle/chunks/openai-completions-6SMWQWQN.js +7 -0
  23. package/dist/bundle/chunks/openai-responses-UT6XFKC7.js +2 -0
  24. package/dist/bundle/chunks/{pi-messages-PE6B42TG.js → pi-messages-MQMPIPNC.js} +1 -1
  25. package/dist/bundle/chunks/virtual-modules-OHUZ2T7X.js +2 -0
  26. package/dist/bundle/cli.js +1 -1
  27. package/dist/bundle/index.js +1 -1
  28. package/dist/bundle/rpc-entry.js +1 -1
  29. package/dist/cli/args.d.ts.map +1 -1
  30. package/dist/cli/args.js +1 -0
  31. package/dist/cli/args.js.map +1 -1
  32. package/dist/cli/session-picker.d.ts +1 -1
  33. package/dist/cli/session-picker.d.ts.map +1 -1
  34. package/dist/cli/session-picker.js +13 -11
  35. package/dist/cli/session-picker.js.map +1 -1
  36. package/dist/config.js +1 -1
  37. package/dist/config.js.map +1 -1
  38. package/dist/core/agent-session.d.ts +56 -14
  39. package/dist/core/agent-session.d.ts.map +1 -1
  40. package/dist/core/agent-session.js +305 -176
  41. package/dist/core/agent-session.js.map +1 -1
  42. package/dist/core/bug-report-upload.d.ts +12 -0
  43. package/dist/core/bug-report-upload.d.ts.map +1 -0
  44. package/dist/core/bug-report-upload.js +22 -0
  45. package/dist/core/bug-report-upload.js.map +1 -0
  46. package/dist/core/bug-report.d.ts +176 -0
  47. package/dist/core/bug-report.d.ts.map +1 -0
  48. package/dist/core/bug-report.js +292 -0
  49. package/dist/core/bug-report.js.map +1 -0
  50. package/dist/core/cache-stats.d.ts.map +1 -1
  51. package/dist/core/cache-stats.js +12 -1
  52. package/dist/core/cache-stats.js.map +1 -1
  53. package/dist/core/cache-warmer.d.ts +102 -0
  54. package/dist/core/cache-warmer.d.ts.map +1 -0
  55. package/dist/core/cache-warmer.js +333 -0
  56. package/dist/core/cache-warmer.js.map +1 -0
  57. package/dist/core/compaction/branch-summarization.js +2 -2
  58. package/dist/core/compaction/branch-summarization.js.map +1 -1
  59. package/dist/core/compaction/compaction.d.ts +14 -9
  60. package/dist/core/compaction/compaction.d.ts.map +1 -1
  61. package/dist/core/compaction/compaction.js +30 -23
  62. package/dist/core/compaction/compaction.js.map +1 -1
  63. package/dist/core/compaction/settings.d.ts +17 -20
  64. package/dist/core/compaction/settings.d.ts.map +1 -1
  65. package/dist/core/compaction/settings.js +19 -26
  66. package/dist/core/compaction/settings.js.map +1 -1
  67. package/dist/core/context-snapshot.d.ts +16 -5
  68. package/dist/core/context-snapshot.d.ts.map +1 -1
  69. package/dist/core/context-snapshot.js +20 -10
  70. package/dist/core/context-snapshot.js.map +1 -1
  71. package/dist/core/crash-log.d.ts +22 -0
  72. package/dist/core/crash-log.d.ts.map +1 -0
  73. package/dist/core/crash-log.js +71 -0
  74. package/dist/core/crash-log.js.map +1 -0
  75. package/dist/core/experimental.d.ts +0 -4
  76. package/dist/core/experimental.d.ts.map +1 -1
  77. package/dist/core/experimental.js +0 -4
  78. package/dist/core/experimental.js.map +1 -1
  79. package/dist/core/extensions/index.d.ts +1 -1
  80. package/dist/core/extensions/index.d.ts.map +1 -1
  81. package/dist/core/extensions/index.js.map +1 -1
  82. package/dist/core/extensions/jiti-loader.d.ts +2 -0
  83. package/dist/core/extensions/jiti-loader.d.ts.map +1 -0
  84. package/dist/core/extensions/jiti-loader.js +4 -0
  85. package/dist/core/extensions/jiti-loader.js.map +1 -0
  86. package/dist/core/extensions/jiti-static-loader.d.ts +2 -0
  87. package/dist/core/extensions/jiti-static-loader.d.ts.map +1 -0
  88. package/dist/core/extensions/jiti-static-loader.js +4 -0
  89. package/dist/core/extensions/jiti-static-loader.js.map +1 -0
  90. package/dist/core/extensions/loader.d.ts.map +1 -1
  91. package/dist/core/extensions/loader.js +38 -51
  92. package/dist/core/extensions/loader.js.map +1 -1
  93. package/dist/core/extensions/runner.d.ts +10 -7
  94. package/dist/core/extensions/runner.d.ts.map +1 -1
  95. package/dist/core/extensions/runner.js +85 -67
  96. package/dist/core/extensions/runner.js.map +1 -1
  97. package/dist/core/extensions/types.d.ts +60 -50
  98. package/dist/core/extensions/types.d.ts.map +1 -1
  99. package/dist/core/extensions/types.js.map +1 -1
  100. package/dist/core/extensions/virtual-modules.d.ts +3 -0
  101. package/dist/core/extensions/virtual-modules.d.ts.map +1 -0
  102. package/dist/core/extensions/virtual-modules.js +39 -0
  103. package/dist/core/extensions/virtual-modules.js.map +1 -0
  104. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  105. package/dist/core/extensions/wrapper.js +1 -20
  106. package/dist/core/extensions/wrapper.js.map +1 -1
  107. package/dist/core/index.d.ts +2 -1
  108. package/dist/core/index.d.ts.map +1 -1
  109. package/dist/core/index.js.map +1 -1
  110. package/dist/core/keybindings.d.ts +1 -1
  111. package/dist/core/keybindings.js +1 -1
  112. package/dist/core/keybindings.js.map +1 -1
  113. package/dist/core/messages.d.ts.map +1 -1
  114. package/dist/core/messages.js +1 -0
  115. package/dist/core/messages.js.map +1 -1
  116. package/dist/core/model-config.d.ts +101 -20
  117. package/dist/core/model-config.d.ts.map +1 -1
  118. package/dist/core/model-config.js +25 -18
  119. package/dist/core/model-config.js.map +1 -1
  120. package/dist/core/model-registry.d.ts +5 -1
  121. package/dist/core/model-registry.d.ts.map +1 -1
  122. package/dist/core/model-registry.js +8 -0
  123. package/dist/core/model-registry.js.map +1 -1
  124. package/dist/core/model-resolver.d.ts.map +1 -1
  125. package/dist/core/model-resolver.js +2 -1
  126. package/dist/core/model-resolver.js.map +1 -1
  127. package/dist/core/model-runtime.d.ts.map +1 -1
  128. package/dist/core/model-runtime.js +5 -3
  129. package/dist/core/model-runtime.js.map +1 -1
  130. package/dist/core/provider-composer.d.ts +3 -2
  131. package/dist/core/provider-composer.d.ts.map +1 -1
  132. package/dist/core/provider-composer.js +2 -0
  133. package/dist/core/provider-composer.js.map +1 -1
  134. package/dist/core/radius.d.ts +3 -0
  135. package/dist/core/radius.d.ts.map +1 -1
  136. package/dist/core/radius.js +6 -0
  137. package/dist/core/radius.js.map +1 -1
  138. package/dist/core/sdk.d.ts.map +1 -1
  139. package/dist/core/sdk.js +46 -18
  140. package/dist/core/sdk.js.map +1 -1
  141. package/dist/core/session-export.d.ts +6 -2
  142. package/dist/core/session-export.d.ts.map +1 -1
  143. package/dist/core/session-export.js +14 -13
  144. package/dist/core/session-export.js.map +1 -1
  145. package/dist/core/session-manager.d.ts +29 -6
  146. package/dist/core/session-manager.d.ts.map +1 -1
  147. package/dist/core/session-manager.js +159 -96
  148. package/dist/core/session-manager.js.map +1 -1
  149. package/dist/core/settings-manager.d.ts +31 -4
  150. package/dist/core/settings-manager.d.ts.map +1 -1
  151. package/dist/core/settings-manager.js +65 -8
  152. package/dist/core/settings-manager.js.map +1 -1
  153. package/dist/core/slash-commands.d.ts.map +1 -1
  154. package/dist/core/slash-commands.js +1 -0
  155. package/dist/core/slash-commands.js.map +1 -1
  156. package/dist/core/system-prompt.d.ts +49 -6
  157. package/dist/core/system-prompt.d.ts.map +1 -1
  158. package/dist/core/system-prompt.js +121 -92
  159. package/dist/core/system-prompt.js.map +1 -1
  160. package/dist/core/tools/bash.d.ts +2 -1
  161. package/dist/core/tools/bash.d.ts.map +1 -1
  162. package/dist/core/tools/bash.js +6 -3
  163. package/dist/core/tools/bash.js.map +1 -1
  164. package/dist/core/tools/edit.d.ts.map +1 -1
  165. package/dist/core/tools/edit.js +1 -2
  166. package/dist/core/tools/edit.js.map +1 -1
  167. package/dist/core/tools/read.d.ts.map +1 -1
  168. package/dist/core/tools/read.js +1 -2
  169. package/dist/core/tools/read.js.map +1 -1
  170. package/dist/core/tools/shell-execution.js +2 -2
  171. package/dist/core/tools/shell-execution.js.map +1 -1
  172. package/dist/core/tools/write.d.ts.map +1 -1
  173. package/dist/core/tools/write.js +1 -2
  174. package/dist/core/tools/write.js.map +1 -1
  175. package/dist/core/usage-totals.d.ts +1 -1
  176. package/dist/core/usage-totals.d.ts.map +1 -1
  177. package/dist/core/usage-totals.js +4 -1
  178. package/dist/core/usage-totals.js.map +1 -1
  179. package/dist/extensions/background/schema.d.ts +1 -1
  180. package/dist/extensions/btw/agent.d.ts.map +1 -1
  181. package/dist/extensions/btw/agent.js +3 -2
  182. package/dist/extensions/btw/agent.js.map +1 -1
  183. package/dist/extensions/llama/client.d.ts +2 -0
  184. package/dist/extensions/llama/client.d.ts.map +1 -1
  185. package/dist/extensions/llama/client.js +7 -3
  186. package/dist/extensions/llama/client.js.map +1 -1
  187. package/dist/extensions/llama/provider.d.ts.map +1 -1
  188. package/dist/extensions/llama/provider.js +20 -5
  189. package/dist/extensions/llama/provider.js.map +1 -1
  190. package/dist/extensions/provider/compat-fields.d.ts.map +1 -1
  191. package/dist/extensions/provider/compat-fields.js +5 -2
  192. package/dist/extensions/provider/compat-fields.js.map +1 -1
  193. package/dist/extensions/provider/ui/app.js +2 -2
  194. package/dist/extensions/provider/ui/app.js.map +1 -1
  195. package/dist/extensions/todo/schema.d.ts +1 -1
  196. package/dist/index.d.ts +3 -2
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js.map +1 -1
  199. package/dist/main.d.ts.map +1 -1
  200. package/dist/main.js +13 -9
  201. package/dist/main.js.map +1 -1
  202. package/dist/migrations.d.ts.map +1 -1
  203. package/dist/migrations.js +2 -2
  204. package/dist/migrations.js.map +1 -1
  205. package/dist/modes/interactive/bug-report.d.ts +16 -0
  206. package/dist/modes/interactive/bug-report.d.ts.map +1 -0
  207. package/dist/modes/interactive/bug-report.js +206 -0
  208. package/dist/modes/interactive/bug-report.js.map +1 -0
  209. package/dist/modes/interactive/chat-viewport.js +1 -1
  210. package/dist/modes/interactive/chat-viewport.js.map +1 -1
  211. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  212. package/dist/modes/interactive/components/armin.js +0 -5
  213. package/dist/modes/interactive/components/armin.js.map +1 -1
  214. package/dist/modes/interactive/components/bash-execution.d.ts +0 -1
  215. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  216. package/dist/modes/interactive/components/bash-execution.js +2 -3
  217. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  218. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  219. package/dist/modes/interactive/components/branch-summary-message.js +12 -5
  220. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  221. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  222. package/dist/modes/interactive/components/compaction-summary-message.js +12 -5
  223. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  224. package/dist/modes/interactive/components/countdown-timer.d.ts +6 -13
  225. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  226. package/dist/modes/interactive/components/countdown-timer.js +15 -51
  227. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  228. package/dist/modes/interactive/components/custom-editor.d.ts +3 -3
  229. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  230. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  231. package/dist/modes/interactive/components/extension-editor.d.ts +4 -1
  232. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  233. package/dist/modes/interactive/components/extension-editor.js +7 -2
  234. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  235. package/dist/modes/interactive/components/extension-input.d.ts +2 -0
  236. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  237. package/dist/modes/interactive/components/extension-input.js +6 -0
  238. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  239. package/dist/modes/interactive/components/extension-selector.d.ts +1 -2
  240. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  241. package/dist/modes/interactive/components/extension-selector.js +4 -2
  242. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  243. package/dist/modes/interactive/components/session-selector.d.ts +5 -8
  244. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  245. package/dist/modes/interactive/components/session-selector.js +72 -95
  246. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  247. package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  248. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  249. package/dist/modes/interactive/components/settings-selector.js +11 -0
  250. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  251. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  252. package/dist/modes/interactive/components/skill-invocation-message.js +11 -4
  253. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  254. package/dist/modes/interactive/components/status-indicator.d.ts +2 -2
  255. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  256. package/dist/modes/interactive/components/status-indicator.js +7 -7
  257. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  258. package/dist/modes/interactive/components/tool-chrome.d.ts.map +1 -1
  259. package/dist/modes/interactive/components/tool-chrome.js +4 -1
  260. package/dist/modes/interactive/components/tool-chrome.js.map +1 -1
  261. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  262. package/dist/modes/interactive/components/tool-execution.js +4 -3
  263. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  264. package/dist/modes/interactive/components/tree-selector.d.ts +1 -10
  265. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  266. package/dist/modes/interactive/components/tree-selector.js +4 -51
  267. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  268. package/dist/modes/interactive/interactive-mode.d.ts +15 -2
  269. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  270. package/dist/modes/interactive/interactive-mode.js +234 -91
  271. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  272. package/dist/modes/interactive/session-share.d.ts +2 -0
  273. package/dist/modes/interactive/session-share.d.ts.map +1 -1
  274. package/dist/modes/interactive/session-share.js +8 -4
  275. package/dist/modes/interactive/session-share.js.map +1 -1
  276. package/dist/modes/interactive/tui-renderer.js +2 -2
  277. package/dist/modes/interactive/tui-renderer.js.map +1 -1
  278. package/dist/modes/rpc/rpc-mode.js +2 -2
  279. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  280. package/dist/utils/clipboard-command.d.ts +7 -0
  281. package/dist/utils/clipboard-command.d.ts.map +1 -0
  282. package/dist/utils/clipboard-command.js +45 -0
  283. package/dist/utils/clipboard-command.js.map +1 -0
  284. package/dist/utils/clipboard-image.d.ts.map +1 -1
  285. package/dist/utils/clipboard-image.js +53 -81
  286. package/dist/utils/clipboard-image.js.map +1 -1
  287. package/dist/utils/clipboard.d.ts.map +1 -1
  288. package/dist/utils/clipboard.js +111 -121
  289. package/dist/utils/clipboard.js.map +1 -1
  290. package/dist/utils/wsl.d.ts +3 -0
  291. package/dist/utils/wsl.d.ts.map +1 -0
  292. package/dist/utils/wsl.js +15 -0
  293. package/dist/utils/wsl.js.map +1 -0
  294. package/dist/utils/zip.d.ts +7 -0
  295. package/dist/utils/zip.d.ts.map +1 -0
  296. package/dist/utils/zip.js +60 -0
  297. package/dist/utils/zip.js.map +1 -0
  298. package/docs/compaction.md +32 -11
  299. package/docs/custom-provider.md +19 -8
  300. package/docs/environment-variables.md +1 -0
  301. package/docs/extensions.md +50 -34
  302. package/docs/models.md +38 -3
  303. package/docs/providers.md +9 -1
  304. package/docs/sdk.md +4 -2
  305. package/docs/session-format.md +63 -24
  306. package/docs/sessions.md +28 -1
  307. package/docs/settings.md +58 -4
  308. package/docs/termux.md +0 -1
  309. package/docs/tui.md +2 -0
  310. package/docs/usage.md +1 -0
  311. package/examples/extensions/README.md +0 -1
  312. package/examples/extensions/custom-provider-anthropic/index.ts +18 -12
  313. package/examples/extensions/custom-provider-gitlab-duo/index.ts +2 -2
  314. package/examples/extensions/prompt-customizer.ts +19 -67
  315. package/npm-shrinkwrap.json +275 -1028
  316. package/package.json +17 -23
  317. package/dist/bundle/chunks/anthropic-messages-IHRRITCV.js +0 -6
  318. package/dist/bundle/chunks/azure-openai-responses-QXBIDYXO.js +0 -2
  319. package/dist/bundle/chunks/chunk-JSJPY26N.js +0 -2
  320. package/dist/bundle/chunks/chunk-KI6LC764.js +0 -42
  321. package/dist/bundle/chunks/chunk-OWESLY5T.js +0 -11
  322. package/dist/bundle/chunks/chunk-RRBI7OUG.js +0 -50
  323. package/dist/bundle/chunks/chunk-YZJWMPUI.js +0 -2
  324. package/dist/bundle/chunks/google-generative-ai-NBOR3IQR.js +0 -2
  325. package/dist/bundle/chunks/google-vertex-VTHX3SUB.js +0 -2
  326. package/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +0 -13
  327. package/dist/bundle/chunks/mistral-conversations-NO4ANAA5.js +0 -5
  328. package/dist/bundle/chunks/openai-codex-responses-5S3T3HMA.js +0 -10
  329. package/dist/bundle/chunks/openai-completions-CXRRTRWE.js +0 -7
  330. package/dist/bundle/chunks/openai-responses-CV3MH6VP.js +0 -2
  331. package/dist/utils/clipboard-native.d.ts +0 -11
  332. package/dist/utils/clipboard-native.d.ts.map +0 -1
  333. package/dist/utils/clipboard-native.js +0 -20
  334. package/dist/utils/clipboard-native.js.map +0 -1
  335. package/examples/extensions/kimi-deferred-tools.ts +0 -61
@@ -0,0 +1,11 @@
1
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
+ import{shortHash}from"./chunk-WWBSZG5V.js";import{appendGrammarToolInputJsonDelta,getGrammarToolInput,getJsonSchemaToolParameters,resolveGrammarConstrainedSampling,resolveJsonSchemaStrictSampling,transformMessages}from"./chunk-I5IVW2WS.js";import{sanitizeSurrogates}from"./chunk-UP6RLTHQ.js";import{parseStreamingJson}from"./chunk-5B3S5DVL.js";import{calculateCost,getSystemMessageText,renderSystemMessageUpdate,resolveTranscript,resolveTranscriptTools}from"./chunk-2IO5GDBS.js";function encodeTextSignatureV1(id,phase){let payload={v:1,id};return phase&&(payload.phase=phase),JSON.stringify(payload)}function parseTextSignature(signature){if(signature){if(signature.startsWith("{"))try{let parsed=JSON.parse(signature);if(parsed.v===1&&typeof parsed.id=="string")return parsed.phase==="commentary"||parsed.phase==="final_answer"?{id:parsed.id,phase:parsed.phase}:{id:parsed.id}}catch{}return{id:signature}}}function convertToolResultOutput(model,content){let textResult=content.filter(c=>c.type==="text").map(c=>c.text).join(`
3
+ `),images=content.filter(c=>c.type==="image"),hasText=textResult.length>0;if(images.length===0||!model.input.includes("image"))return sanitizeSurrogates(hasText?textResult:images.length>0?"(see attached image)":"(no tool output)");let output=[];hasText&&output.push({type:"input_text",text:sanitizeSurrogates(textResult)});for(let image of images)output.push({type:"input_image",detail:"auto",image_url:`data:${image.mimeType};base64,${image.data}`});return output}function convertResponsesMessages(model,context,allowedToolCallProviders,options){let normalizedContext=resolveTranscript(context,options?.supportsMidConvoSystemMessages),messages=[],normalizeIdPart=part=>{let sanitized=part.replace(/[^a-zA-Z0-9_-]/g,"_");return(sanitized.length>64?sanitized.slice(0,64):sanitized).replace(/_+$/,"")},buildForeignResponsesItemId=itemId=>{let normalized=`fc_${shortHash(itemId)}`;return normalized.length>64?normalized.slice(0,64):normalized},normalizeToolCallId=(id,_targetModel,source)=>{if(!allowedToolCallProviders.has(model.provider)||!id.includes("|"))return normalizeIdPart(id);let[callId,itemId]=id.split("|"),normalizedCallId=normalizeIdPart(callId),normalizedItemId=source.provider!==model.provider||source.api!==model.api?buildForeignResponsesItemId(itemId):normalizeIdPart(itemId);return normalizedItemId.startsWith("fc_")||(normalizedItemId=normalizeIdPart(`fc_${normalizedItemId}`)),`${normalizedCallId}|${normalizedItemId}`},transformedMessages=transformMessages(normalizedContext.messages,model,normalizeToolCallId),transcriptTools=resolveTranscriptTools(normalizedContext.messages,(options?.supportsAdditionalTools??!1)||(options?.supportsToolSearch??!1)),appendSystemToolAdditions=(message,seed)=>{let tools=transcriptTools.anchorsAdditions?message.toolsAdded??[]:[];if(tools.length===0)return;if(options?.supportsAdditionalTools){messages.push({type:"additional_tools",role:"developer",tools:convertResponsesTools(tools,options.toolOptions)});return}if(!options?.supportsToolSearch)return;let names=tools.map(tool=>tool.name),callId=`pi_tool_load_${shortHash(`${seed}:${names.join(",")}`)}`;messages.push({type:"tool_search_call",call_id:callId,execution:"client",status:"completed",arguments:{query:names.join(" "),limit:names.length}}),messages.push({type:"tool_search_output",call_id:callId,execution:"client",status:"completed",tools:convertResponsesTools(tools,{...options.toolOptions,toolSearchResult:!0})})},includeInitialSystemMessage=options?.includeSystemPrompt??!0,compat=model.compat,instructionRole=model.reasoning&&compat?.supportsDeveloperRole!==!1?"developer":"system",msgIndex=0,sourceIndex=0;for(let msg of transformedMessages){let isLeadingSystemMessage=sourceIndex++===0&&msg.role==="system";if(msg.role==="system"){if(isLeadingSystemMessage||appendSystemToolAdditions(msg,`system:${msgIndex}`),!isLeadingSystemMessage||includeInitialSystemMessage){let text=isLeadingSystemMessage?getSystemMessageText(msg):renderSystemMessageUpdate(msg);text.length>0&&messages.push({role:instructionRole,content:sanitizeSurrogates(text)})}}else if(msg.role==="user")if(typeof msg.content=="string")messages.push({role:"user",content:[{type:"input_text",text:sanitizeSurrogates(msg.content)}]});else{let content=msg.content.map(item=>item.type==="text"?{type:"input_text",text:sanitizeSurrogates(item.text)}:{type:"input_image",detail:"auto",image_url:`data:${item.mimeType};base64,${item.data}`});if(content.length===0)continue;messages.push({role:"user",content})}else if(msg.role==="assistant"){let output=[],assistantMsg=msg,isSameProviderAndApi=assistantMsg.provider===model.provider&&assistantMsg.api===model.api,isSameModel=isSameProviderAndApi&&assistantMsg.model===model.id,isDifferentModel=isSameProviderAndApi&&assistantMsg.model!==model.id,textBlockIndex=0;for(let block of msg.content)if(block.type==="thinking"){if(block.thinkingSignature){let reasoningItem=JSON.parse(block.thinkingSignature);output.push(reasoningItem)}}else if(block.type==="text"){let textBlock=block,parsedSignature=parseTextSignature(textBlock.textSignature),fallbackMessageId=textBlockIndex===0?`msg_pi_${msgIndex}`:`msg_pi_${msgIndex}_${textBlockIndex}`;textBlockIndex++;let msgId=parsedSignature?.id;msgId?msgId.length>64&&(msgId=`msg_${shortHash(msgId)}`):msgId=fallbackMessageId,output.push({type:"message",role:"assistant",content:[{type:"output_text",text:sanitizeSurrogates(textBlock.text),annotations:[]}],status:"completed",id:msgId,phase:parsedSignature?.phase})}else if(block.type==="toolCall"){let toolCall=block,[callId,itemIdRaw]=toolCall.id.split("|"),customInputProperty=options?.grammarToolInputProperties?.get(toolCall.name),itemId=itemIdRaw;(isDifferentModel&&itemId?.startsWith("fc_")||customInputProperty===void 0&&!itemId?.startsWith("fc_"))&&(itemId=void 0),customInputProperty!==void 0?output.push({type:"custom_tool_call",id:itemId,call_id:callId,name:toolCall.name,input:sanitizeSurrogates(getGrammarToolInput(toolCall.name,toolCall.arguments,customInputProperty)),...isSameModel&&toolCall.namespace!==void 0?{namespace:toolCall.namespace}:{}}):output.push({type:"function_call",id:itemId,call_id:callId,name:toolCall.name,arguments:JSON.stringify(toolCall.arguments),...isSameModel&&toolCall.namespace!==void 0?{namespace:toolCall.namespace}:{}})}if(output.length===0)continue;messages.push(...output)}else if(msg.role==="toolResult"){let[callId]=msg.toolCallId.split("|"),output=convertToolResultOutput(model,msg.content);options?.grammarToolInputProperties?.has(msg.toolName)?messages.push({type:"custom_tool_call_output",call_id:callId,output}):messages.push({type:"function_call_output",call_id:callId,output})}isLeadingSystemMessage||msgIndex++}return messages}function convertResponsesTools(tools,options){let defaultStrict=options?.strict===void 0?!1:options.strict,supportsStrictMode=options?.supportsStrictMode??!0,supportsOpenAIGrammarTools=options?.supportsOpenAIGrammarTools??!1;return tools.map(tool=>{let grammar=resolveGrammarConstrainedSampling(tool,supportsOpenAIGrammarTools);if(grammar)return{type:"custom",name:tool.name,description:tool.description,format:{type:"grammar",syntax:grammar.format,definition:grammar.definition},...options?.toolSearchResult?{defer_loading:!0}:{}};let strict=resolveJsonSchemaStrictSampling(tool,supportsStrictMode)??defaultStrict,functionTool={type:"function",name:tool.name,description:tool.description,parameters:getJsonSchemaToolParameters(tool,strict===!0),...options?.toolSearchResult?{defer_loading:!0}:{}};return supportsStrictMode&&(functionTool.strict=strict),functionTool})}function getCustomToolCallInput(block){let property=block.customInput?.property;if(property===void 0)return"";let value=block.arguments[property];return typeof value=="string"?value:""}function appendCustomToolCallInput(block,nextInput,close){let customInput=block.customInput;if(!customInput)return;let delta=appendGrammarToolInputJsonDelta(customInput.jsonBuffer,customInput.property,nextInput,close);return block.arguments={[customInput.property]:nextInput},delta}async function processResponsesStream(openaiStream,output,stream,model,options){let sawTerminalResponseEvent=!1,outputSlots=new Map,reasoningBlocksById=new Map,applyMessagePhaseStopReason=item=>{item.type==="message"&&item.phase==="final_answer"&&(output.stopReason="stop")},getSlot=(outputIndex,type)=>{let slot=outputSlots.get(outputIndex);return slot?.type===type?slot:void 0},pushToolCallDelta=(slot,delta)=>{delta!==void 0&&stream.push({type:"toolcall_delta",contentIndex:slot.contentIndex,delta,partial:output})},createSlot=(outputIndex,item)=>{if(item.type==="reasoning"){let block={type:"thinking",thinking:""};output.content.push(block);let slot={type:"thinking",block,contentIndex:output.content.length-1};return outputSlots.set(outputIndex,slot),stream.push({type:"thinking_start",contentIndex:slot.contentIndex,partial:output}),slot}if(item.type==="message"){applyMessagePhaseStopReason(item);let block={type:"text",text:""};output.content.push(block);let slot={type:"text",block,contentIndex:output.content.length-1};return outputSlots.set(outputIndex,slot),stream.push({type:"text_start",contentIndex:slot.contentIndex,partial:output}),slot}if(item.type==="function_call"){let block={type:"toolCall",id:`${item.call_id}|${item.id}`,name:item.name,arguments:{},...item.namespace!==void 0?{namespace:item.namespace}:{},partialJson:item.arguments||""};output.content.push(block);let slot={type:"toolCall",block,contentIndex:output.content.length-1};return outputSlots.set(outputIndex,slot),stream.push({type:"toolcall_start",contentIndex:slot.contentIndex,partial:output}),slot}if(item.type==="custom_tool_call"){let inputProperty=options?.grammarToolInputProperties?.get(item.name)??"input",input=item.input||"",block={type:"toolCall",id:`${item.call_id}|${item.id}`,name:item.name,arguments:{[inputProperty]:input},...item.namespace!==void 0?{namespace:item.namespace}:{},customInput:{property:inputProperty,jsonBuffer:{input:"",started:!1,closed:!1}}};output.content.push(block);let slot={type:"toolCall",block,contentIndex:output.content.length-1};return outputSlots.set(outputIndex,slot),stream.push({type:"toolcall_start",contentIndex:slot.contentIndex,partial:output}),slot}},getOrCreateSlot=(outputIndex,item)=>outputSlots.get(outputIndex)??createSlot(outputIndex,item),backfillReasoningSignatures=responseOutput=>{for(let item of responseOutput){if(item.type!=="reasoning"||!item.encrypted_content)continue;let block=reasoningBlocksById.get(item.id);if(!block?.thinkingSignature)continue;let storedItem=JSON.parse(block.thinkingSignature);storedItem.encrypted_content||(block.thinkingSignature=JSON.stringify({...storedItem,encrypted_content:item.encrypted_content}))}},finalizeResponse=response=>{if(sawTerminalResponseEvent=!0,backfillReasoningSignatures(response.output??[]),response?.id&&(output.responseId=response.id),response?.usage){let inputDetails=response.usage.input_tokens_details,cachedTokens=inputDetails?.cached_tokens||0,cacheWriteTokens=inputDetails?.cache_write_tokens||0;output.usage={input:Math.max(0,(response.usage.input_tokens||0)-cachedTokens-cacheWriteTokens),output:response.usage.output_tokens||0,cacheRead:cachedTokens,cacheWrite:cacheWriteTokens,reasoning:response.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:response.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(calculateCost(model,output.usage),options?.applyServiceTierPricing){let serviceTier=options.resolveServiceTier?options.resolveServiceTier(response?.service_tier,options.serviceTier):response?.service_tier??options.serviceTier;options.applyServiceTierPricing(output.usage,serviceTier)}let status=response?.status,incompleteDetails=response?.incomplete_details,incompleteReason=typeof incompleteDetails?.reason=="string"?incompleteDetails.reason:void 0;output.rawStopReason=incompleteReason?`${status}.${incompleteReason}`:status;let mappedStop=mapStopReason(status,incompleteReason);output.stopReason=mappedStop.stopReason,mappedStop.errorMessage===void 0?delete output.errorMessage:output.errorMessage=mappedStop.errorMessage,output.content.some(b=>b.type==="toolCall")&&output.stopReason==="stop"&&(output.stopReason="toolUse")};for await(let event of openaiStream)if(event.type==="response.created")output.responseId=event.response.id;else if(event.type==="response.output_item.added")createSlot(event.output_index,event.item);else if(event.type==="response.reasoning_summary_text.delta"){let slot=getSlot(event.output_index,"thinking");if(!slot)continue;slot.block.thinking+=event.delta,stream.push({type:"thinking_delta",contentIndex:slot.contentIndex,delta:event.delta,partial:output})}else if(event.type==="response.reasoning_summary_part.done"){let slot=getSlot(event.output_index,"thinking");if(!slot)continue;slot.block.thinking+=`
4
+
5
+ `,stream.push({type:"thinking_delta",contentIndex:slot.contentIndex,delta:`
6
+
7
+ `,partial:output})}else if(event.type==="response.reasoning_text.delta"){let slot=getSlot(event.output_index,"thinking");if(!slot)continue;slot.block.thinking+=event.delta,stream.push({type:"thinking_delta",contentIndex:slot.contentIndex,delta:event.delta,partial:output})}else if(event.type==="response.output_text.delta"){let slot=getSlot(event.output_index,"text");if(!slot)continue;slot.block.text+=event.delta,stream.push({type:"text_delta",contentIndex:slot.contentIndex,delta:event.delta,partial:output})}else if(event.type==="response.refusal.delta"){let slot=getSlot(event.output_index,"text");if(!slot)continue;slot.block.text+=event.delta,stream.push({type:"text_delta",contentIndex:slot.contentIndex,delta:event.delta,partial:output})}else if(event.type==="response.function_call_arguments.delta"){let slot=getSlot(event.output_index,"toolCall");if(!slot||slot.block.partialJson===void 0)continue;slot.block.partialJson+=event.delta,slot.block.arguments=parseStreamingJson(slot.block.partialJson),pushToolCallDelta(slot,event.delta)}else if(event.type==="response.function_call_arguments.done"){let slot=getSlot(event.output_index,"toolCall");if(!slot||slot.block.partialJson===void 0)continue;let previousPartialJson=slot.block.partialJson;if(slot.block.partialJson=event.arguments,slot.block.arguments=parseStreamingJson(slot.block.partialJson),event.arguments.startsWith(previousPartialJson)){let delta=event.arguments.slice(previousPartialJson.length);delta.length>0&&pushToolCallDelta(slot,delta)}}else if(event.type==="response.custom_tool_call_input.delta"){let slot=getSlot(event.output_index,"toolCall");if(!slot||!slot.block.customInput)continue;pushToolCallDelta(slot,appendCustomToolCallInput(slot.block,getCustomToolCallInput(slot.block)+event.delta,!1))}else if(event.type==="response.custom_tool_call_input.done"){let slot=getSlot(event.output_index,"toolCall");if(!slot||!slot.block.customInput)continue;pushToolCallDelta(slot,appendCustomToolCallInput(slot.block,event.input,!0))}else if(event.type==="response.output_item.done"){let item=event.item;applyMessagePhaseStopReason(item);let slot=getOrCreateSlot(event.output_index,item);if(item.type==="reasoning"&&slot?.type==="thinking"){let summaryText=item.summary?.map(s=>s.text).join(`
8
+
9
+ `)||"",contentText=item.content?.map(c=>c.text).join(`
10
+
11
+ `)||"";slot.block.thinking=summaryText||contentText||slot.block.thinking,slot.block.thinkingSignature=JSON.stringify(item),reasoningBlocksById.set(item.id,slot.block),stream.push({type:"thinking_end",contentIndex:slot.contentIndex,content:slot.block.thinking,partial:output}),outputSlots.delete(event.output_index)}else item.type==="message"&&slot?.type==="text"?(slot.block.text=item.content?.map(c=>c.type==="output_text"?c.text:c.refusal).join("")||"",slot.block.textSignature=encodeTextSignatureV1(item.id,item.phase??void 0),stream.push({type:"text_end",contentIndex:slot.contentIndex,content:slot.block.text,partial:output}),outputSlots.delete(event.output_index)):item.type==="function_call"&&slot?.type==="toolCall"&&slot.block.partialJson!==void 0?(slot.block.arguments=parseStreamingJson(item.arguments||slot.block.partialJson||"{}"),item.namespace!==void 0&&(slot.block.namespace=item.namespace),delete slot.block.partialJson,stream.push({type:"toolcall_end",contentIndex:slot.contentIndex,toolCall:slot.block,partial:output}),outputSlots.delete(event.output_index)):item.type==="custom_tool_call"&&slot?.type==="toolCall"&&slot.block.customInput&&(pushToolCallDelta(slot,appendCustomToolCallInput(slot.block,item.input??getCustomToolCallInput(slot.block),!0)),item.namespace!==void 0&&(slot.block.namespace=item.namespace),delete slot.block.customInput,stream.push({type:"toolcall_end",contentIndex:slot.contentIndex,toolCall:slot.block,partial:output}),outputSlots.delete(event.output_index))}else if(event.type==="response.completed"||event.type==="response.incomplete")finalizeResponse(event.response);else{if(event.type==="error")throw new Error(`Error Code ${event.code}: ${event.message}`||"Unknown error");if(event.type==="response.failed"){sawTerminalResponseEvent=!0,output.rawStopReason=event.response?.status;let error=event.response?.error,details=event.response?.incomplete_details,msg=error?`${error.code||"unknown"}: ${error.message||"no message"}`:details?.reason?`incomplete: ${details.reason}`:"Unknown error (no error details in response)";throw new Error(msg)}}if(!sawTerminalResponseEvent)throw new Error("OpenAI Responses stream ended before a terminal response event")}function mapStopReason(status,incompleteReason){if(!status)return{stopReason:"stop"};switch(status){case"completed":return{stopReason:"stop"};case"incomplete":return incompleteReason==="max_output_tokens"?{stopReason:"length"}:{stopReason:"error",errorMessage:incompleteReason?`Response incomplete: ${incompleteReason}`:"Response incomplete without a provider reason"};case"failed":case"cancelled":return{stopReason:"error"};case"in_progress":case"queued":return{stopReason:"stop"};default:{let _exhaustive=status;throw new Error(`Unhandled stop reason: ${_exhaustive}`)}}}export{convertResponsesMessages,convertResponsesTools,processResponsesStream};