@averyyy/pi-coding-agent 0.84.2-piclient.1 → 0.84.3-piclient.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 (302) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +8 -4
  3. package/dist/bundle/chunks/anthropic-messages-JWX2WP65.js +45 -0
  4. package/dist/bundle/chunks/anthropic.js +75 -0
  5. package/dist/bundle/chunks/azure-openai-responses-B2RCCN5N.js +2 -0
  6. package/dist/bundle/chunks/bedrock-converse-stream.js +74 -0
  7. package/dist/bundle/chunks/chunk-4L3WN2XY.js +2 -0
  8. package/dist/bundle/chunks/chunk-6CYCI3EJ.js +12 -0
  9. package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  10. package/dist/bundle/chunks/chunk-AXIIZGTV.js +2 -0
  11. package/dist/bundle/chunks/chunk-DRQDKNXA.js +2 -0
  12. package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  13. package/dist/bundle/chunks/chunk-GPPBJGBU.js +50 -0
  14. package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  15. package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  16. package/dist/bundle/chunks/chunk-LRBSW3NQ.js +11 -0
  17. package/dist/bundle/chunks/chunk-MNAIPA3J.js +2 -0
  18. package/dist/bundle/chunks/chunk-NUHFSC37.js +25 -0
  19. package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  20. package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  21. package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  22. package/dist/bundle/chunks/chunk-QI42RBZ4.js +1632 -0
  23. package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  24. package/dist/bundle/chunks/chunk-TRDNDS6A.js +4 -0
  25. package/dist/bundle/chunks/chunk-UAQELI3K.js +2 -0
  26. package/dist/bundle/chunks/chunk-XDUWOHPL.js +6 -0
  27. package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
  28. package/dist/bundle/chunks/dist-RDWOYWHR.js +13 -0
  29. package/dist/bundle/chunks/github-copilot.js +2 -0
  30. package/dist/bundle/chunks/google-generative-ai-XDKMGBCJ.js +2 -0
  31. package/dist/bundle/chunks/google-vertex-D5FGEO3Y.js +2 -0
  32. package/dist/bundle/chunks/image-resize-worker.js +2 -0
  33. package/dist/bundle/chunks/kimi-coding.js +2 -0
  34. package/dist/bundle/chunks/lib-HGQMNYVT.js +9 -0
  35. package/dist/bundle/chunks/mistral-conversations-YK73UAOZ.js +5 -0
  36. package/dist/bundle/chunks/multipart-parser-SQ6GDJL7.js +3 -0
  37. package/dist/bundle/chunks/openai-codex-responses-MJHX7NXI.js +8 -0
  38. package/dist/bundle/chunks/openai-codex.js +75 -0
  39. package/dist/bundle/chunks/openai-completions-JD4WAC3R.js +7 -0
  40. package/dist/bundle/chunks/openai-responses-CP4VKB27.js +2 -0
  41. package/dist/bundle/chunks/openrouter-images-N4XVVFSD.js +2 -0
  42. package/dist/bundle/chunks/openrouter.js +75 -0
  43. package/dist/bundle/chunks/pi-messages-TPFH44NP.js +8 -0
  44. package/dist/bundle/chunks/radius.js +75 -0
  45. package/dist/bundle/chunks/src-UK77SYZE.js +4 -0
  46. package/dist/bundle/chunks/xai.js +2 -0
  47. package/dist/bundle/cli.js +3 -0
  48. package/dist/bundle/client.js +2 -0
  49. package/dist/bundle/index.js +2 -0
  50. package/dist/bundle/rpc-entry.js +3 -0
  51. package/dist/cli/args.d.ts +1 -0
  52. package/dist/cli/args.d.ts.map +1 -1
  53. package/dist/cli/args.js +29 -9
  54. package/dist/cli/args.js.map +1 -1
  55. package/dist/cli/file-processor.d.ts.map +1 -1
  56. package/dist/cli/file-processor.js +2 -1
  57. package/dist/cli/file-processor.js.map +1 -1
  58. package/dist/config.d.ts +4 -3
  59. package/dist/config.d.ts.map +1 -1
  60. package/dist/config.js +22 -14
  61. package/dist/config.js.map +1 -1
  62. package/dist/core/agent-session.d.ts +15 -8
  63. package/dist/core/agent-session.d.ts.map +1 -1
  64. package/dist/core/agent-session.js +48 -39
  65. package/dist/core/agent-session.js.map +1 -1
  66. package/dist/core/auth-storage.d.ts.map +1 -1
  67. package/dist/core/auth-storage.js +6 -7
  68. package/dist/core/auth-storage.js.map +1 -1
  69. package/dist/core/defaults.d.ts +1 -0
  70. package/dist/core/defaults.d.ts.map +1 -1
  71. package/dist/core/defaults.js +9 -0
  72. package/dist/core/defaults.js.map +1 -1
  73. package/dist/core/exec.d.ts.map +1 -1
  74. package/dist/core/exec.js +3 -1
  75. package/dist/core/exec.js.map +1 -1
  76. package/dist/core/extensions/index.d.ts +2 -2
  77. package/dist/core/extensions/index.d.ts.map +1 -1
  78. package/dist/core/extensions/index.js +1 -1
  79. package/dist/core/extensions/index.js.map +1 -1
  80. package/dist/core/extensions/loader.d.ts.map +1 -1
  81. package/dist/core/extensions/loader.js +115 -48
  82. package/dist/core/extensions/loader.js.map +1 -1
  83. package/dist/core/extensions/types.d.ts +38 -9
  84. package/dist/core/extensions/types.d.ts.map +1 -1
  85. package/dist/core/extensions/types.js +3 -0
  86. package/dist/core/extensions/types.js.map +1 -1
  87. package/dist/core/footer-data-provider.d.ts +1 -1
  88. package/dist/core/footer-data-provider.d.ts.map +1 -1
  89. package/dist/core/footer-data-provider.js +1 -1
  90. package/dist/core/footer-data-provider.js.map +1 -1
  91. package/dist/core/index.d.ts +1 -0
  92. package/dist/core/index.d.ts.map +1 -1
  93. package/dist/core/index.js +1 -0
  94. package/dist/core/index.js.map +1 -1
  95. package/dist/core/keybindings.d.ts +20 -19
  96. package/dist/core/keybindings.d.ts.map +1 -1
  97. package/dist/core/keybindings.js +26 -5
  98. package/dist/core/keybindings.js.map +1 -1
  99. package/dist/core/model-config.d.ts +5 -0
  100. package/dist/core/model-config.d.ts.map +1 -1
  101. package/dist/core/model-config.js +3 -1
  102. package/dist/core/model-config.js.map +1 -1
  103. package/dist/core/model-resolver.d.ts +1 -0
  104. package/dist/core/model-resolver.d.ts.map +1 -1
  105. package/dist/core/model-resolver.js +14 -8
  106. package/dist/core/model-resolver.js.map +1 -1
  107. package/dist/core/models-store.d.ts.map +1 -1
  108. package/dist/core/models-store.js +2 -1
  109. package/dist/core/models-store.js.map +1 -1
  110. package/dist/core/package-manager.d.ts.map +1 -1
  111. package/dist/core/package-manager.js +22 -14
  112. package/dist/core/package-manager.js.map +1 -1
  113. package/dist/core/pi-client-cli-adapter.d.ts +11 -0
  114. package/dist/core/pi-client-cli-adapter.d.ts.map +1 -0
  115. package/dist/core/pi-client-cli-adapter.js +91 -0
  116. package/dist/core/pi-client-cli-adapter.js.map +1 -0
  117. package/dist/core/pi-manifest.d.ts.map +1 -1
  118. package/dist/core/pi-manifest.js +2 -1
  119. package/dist/core/pi-manifest.js.map +1 -1
  120. package/dist/core/pi-server-client.d.ts +0 -1
  121. package/dist/core/pi-server-client.d.ts.map +1 -1
  122. package/dist/core/pi-server-client.js +148 -65
  123. package/dist/core/pi-server-client.js.map +1 -1
  124. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  125. package/dist/core/remote-catalog-provider.js +2 -1
  126. package/dist/core/remote-catalog-provider.js.map +1 -1
  127. package/dist/core/resource-loader.d.ts.map +1 -1
  128. package/dist/core/resource-loader.js +3 -2
  129. package/dist/core/resource-loader.js.map +1 -1
  130. package/dist/core/sdk.d.ts +2 -2
  131. package/dist/core/sdk.d.ts.map +1 -1
  132. package/dist/core/sdk.js +10 -3
  133. package/dist/core/sdk.js.map +1 -1
  134. package/dist/core/session-export.d.ts +4 -0
  135. package/dist/core/session-export.d.ts.map +1 -0
  136. package/dist/core/session-export.js +32 -0
  137. package/dist/core/session-export.js.map +1 -0
  138. package/dist/core/session-manager.d.ts.map +1 -1
  139. package/dist/core/session-manager.js +2 -1
  140. package/dist/core/session-manager.js.map +1 -1
  141. package/dist/core/settings-diagnostics.d.ts +9 -0
  142. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  143. package/dist/core/settings-diagnostics.js +21 -0
  144. package/dist/core/settings-diagnostics.js.map +1 -0
  145. package/dist/core/settings-manager.d.ts +9 -0
  146. package/dist/core/settings-manager.d.ts.map +1 -1
  147. package/dist/core/settings-manager.js +52 -10
  148. package/dist/core/settings-manager.js.map +1 -1
  149. package/dist/core/skills.d.ts.map +1 -1
  150. package/dist/core/skills.js +51 -33
  151. package/dist/core/skills.js.map +1 -1
  152. package/dist/core/slash-commands.d.ts.map +1 -1
  153. package/dist/core/slash-commands.js +2 -1
  154. package/dist/core/slash-commands.js.map +1 -1
  155. package/dist/core/system-prompt.d.ts.map +1 -1
  156. package/dist/core/system-prompt.js +11 -2
  157. package/dist/core/system-prompt.js.map +1 -1
  158. package/dist/core/tools/bash.d.ts +13 -1
  159. package/dist/core/tools/bash.d.ts.map +1 -1
  160. package/dist/core/tools/bash.js +30 -14
  161. package/dist/core/tools/bash.js.map +1 -1
  162. package/dist/core/tools/edit-diff.d.ts +0 -5
  163. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  164. package/dist/core/tools/edit-diff.js +2 -5
  165. package/dist/core/tools/edit-diff.js.map +1 -1
  166. package/dist/core/tools/edit.d.ts.map +1 -1
  167. package/dist/core/tools/edit.js +20 -4
  168. package/dist/core/tools/edit.js.map +1 -1
  169. package/dist/core/tools/index.d.ts +4 -1
  170. package/dist/core/tools/index.d.ts.map +1 -1
  171. package/dist/core/tools/index.js +18 -1
  172. package/dist/core/tools/index.js.map +1 -1
  173. package/dist/core/tools/powershell.d.ts +16 -0
  174. package/dist/core/tools/powershell.d.ts.map +1 -0
  175. package/dist/core/tools/powershell.js +39 -0
  176. package/dist/core/tools/powershell.js.map +1 -0
  177. package/dist/core/trust-manager.d.ts.map +1 -1
  178. package/dist/core/trust-manager.js +2 -1
  179. package/dist/core/trust-manager.js.map +1 -1
  180. package/dist/extensions/llama/client.d.ts +6 -0
  181. package/dist/extensions/llama/client.d.ts.map +1 -1
  182. package/dist/extensions/llama/client.js +7 -0
  183. package/dist/extensions/llama/client.js.map +1 -1
  184. package/dist/extensions/llama/index.d.ts.map +1 -1
  185. package/dist/extensions/llama/index.js +2 -0
  186. package/dist/extensions/llama/index.js.map +1 -1
  187. package/dist/extensions/llama/provider.d.ts +3 -1
  188. package/dist/extensions/llama/provider.d.ts.map +1 -1
  189. package/dist/extensions/llama/provider.js +29 -4
  190. package/dist/extensions/llama/provider.js.map +1 -1
  191. package/dist/index.d.ts +2 -2
  192. package/dist/index.d.ts.map +1 -1
  193. package/dist/index.js +3 -3
  194. package/dist/index.js.map +1 -1
  195. package/dist/main.d.ts +4 -0
  196. package/dist/main.d.ts.map +1 -1
  197. package/dist/main.js +20 -15
  198. package/dist/main.js.map +1 -1
  199. package/dist/migrations.d.ts.map +1 -1
  200. package/dist/migrations.js +4 -3
  201. package/dist/migrations.js.map +1 -1
  202. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  203. package/dist/modes/interactive/components/bash-execution.js +2 -1
  204. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  205. package/dist/modes/interactive/components/model-selector.d.ts +9 -3
  206. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  207. package/dist/modes/interactive/components/model-selector.js +56 -12
  208. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  209. package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
  210. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  211. package/dist/modes/interactive/components/settings-selector.js +118 -56
  212. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  213. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  214. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  215. package/dist/modes/interactive/components/settings-submenu.js +165 -0
  216. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  217. package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  218. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  219. package/dist/modes/interactive/components/thinking-selector.js +74 -17
  220. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  221. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  222. package/dist/modes/interactive/external-editor.js +2 -1
  223. package/dist/modes/interactive/external-editor.js.map +1 -1
  224. package/dist/modes/interactive/interactive-mode.d.ts +13 -12
  225. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  226. package/dist/modes/interactive/interactive-mode.js +196 -226
  227. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  228. package/dist/modes/interactive/session-share.d.ts +16 -0
  229. package/dist/modes/interactive/session-share.d.ts.map +1 -0
  230. package/dist/modes/interactive/session-share.js +188 -0
  231. package/dist/modes/interactive/session-share.js.map +1 -0
  232. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  233. package/dist/modes/interactive/theme/theme.js +4 -3
  234. package/dist/modes/interactive/theme/theme.js.map +1 -1
  235. package/dist/modes/json-event.d.ts +16 -13
  236. package/dist/modes/json-event.d.ts.map +1 -1
  237. package/dist/modes/json-event.js +20 -6
  238. package/dist/modes/json-event.js.map +1 -1
  239. package/dist/package-manager-cli.d.ts +1 -0
  240. package/dist/package-manager-cli.d.ts.map +1 -1
  241. package/dist/package-manager-cli.js +186 -2
  242. package/dist/package-manager-cli.js.map +1 -1
  243. package/dist/utils/child-process.d.ts.map +1 -1
  244. package/dist/utils/child-process.js +8 -3
  245. package/dist/utils/child-process.js.map +1 -1
  246. package/dist/utils/frontmatter.d.ts.map +1 -1
  247. package/dist/utils/frontmatter.js +2 -1
  248. package/dist/utils/frontmatter.js.map +1 -1
  249. package/dist/utils/management-http.d.ts +5 -3
  250. package/dist/utils/management-http.d.ts.map +1 -1
  251. package/dist/utils/management-http.js +14 -10
  252. package/dist/utils/management-http.js.map +1 -1
  253. package/dist/utils/shell.d.ts +3 -0
  254. package/dist/utils/shell.d.ts.map +1 -1
  255. package/dist/utils/shell.js +21 -7
  256. package/dist/utils/shell.js.map +1 -1
  257. package/dist/utils/syntax-highlight.d.ts +1 -0
  258. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  259. package/dist/utils/syntax-highlight.js +60 -1
  260. package/dist/utils/syntax-highlight.js.map +1 -1
  261. package/dist/utils/text.d.ts +8 -0
  262. package/dist/utils/text.d.ts.map +1 -0
  263. package/dist/utils/text.js +9 -0
  264. package/dist/utils/text.js.map +1 -0
  265. package/dist/utils/version-check.d.ts.map +1 -1
  266. package/dist/utils/version-check.js +2 -1
  267. package/dist/utils/version-check.js.map +1 -1
  268. package/docs/compaction.md +15 -0
  269. package/docs/custom-provider.md +5 -2
  270. package/docs/environment-variables.md +8 -8
  271. package/docs/extensions.md +17 -7
  272. package/docs/json.md +7 -2
  273. package/docs/keybindings.md +8 -8
  274. package/docs/llama-cpp.md +2 -0
  275. package/docs/models.md +8 -2
  276. package/docs/packages.md +2 -2
  277. package/docs/rpc.md +9 -3
  278. package/docs/sdk.md +7 -2
  279. package/docs/settings.md +11 -3
  280. package/docs/skills.md +4 -3
  281. package/docs/terminal-setup.md +11 -9
  282. package/docs/usage.md +6 -2
  283. package/docs/windows.md +24 -2
  284. package/examples/extensions/border-status-editor.ts +1 -1
  285. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  286. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  287. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  288. package/examples/extensions/git-checkpoint.ts +2 -2
  289. package/examples/extensions/gondolin/package-lock.json +2 -2
  290. package/examples/extensions/gondolin/package.json +1 -1
  291. package/examples/extensions/notify.ts +3 -1
  292. package/examples/extensions/sandbox/package-lock.json +2 -2
  293. package/examples/extensions/sandbox/package.json +1 -1
  294. package/examples/extensions/subagent/README.md +1 -1
  295. package/examples/extensions/subagent/index.ts +6 -1
  296. package/examples/extensions/titlebar-spinner.ts +1 -1
  297. package/examples/extensions/with-deps/package-lock.json +2 -2
  298. package/examples/extensions/with-deps/package.json +1 -1
  299. package/examples/rpc-extension-ui.ts +1 -1
  300. package/examples/sdk/06-extensions.ts +1 -1
  301. package/examples/sdk/README.md +1 -1
  302. package/package.json +12 -14
@@ -0,0 +1,2 @@
1
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
+ import{convertResponsesMessages,convertResponsesTools,processResponsesStream}from"./chunk-LRBSW3NQ.js";import{clampOpenAIPromptCacheKey}from"./chunk-PRRNXB7S.js";import"./chunk-PJACZCIR.js";import{AzureOpenAI}from"./chunk-NUHFSC37.js";import{formatProviderError,normalizeProviderError}from"./chunk-TEPMHNKQ.js";import{buildBaseOptions,createGrammarToolInputProperties,getPiUserAgent}from"./chunk-AXIIZGTV.js";import{retryProviderRequest}from"./chunk-XNGRGP62.js";import"./chunk-L2ZPNLYD.js";import{headersToRecord}from"./chunk-6R7UI4IY.js";import{getProviderEnvValue}from"./chunk-DRQDKNXA.js";import"./chunk-TRDNDS6A.js";import{clampThinkingLevel}from"./chunk-MNAIPA3J.js";import{AssistantMessageEventStream}from"./chunk-UAQELI3K.js";import"./chunk-4L3WN2XY.js";var DEFAULT_AZURE_API_VERSION="v1",AZURE_TOOL_CALL_PROVIDERS=new Set(["openai","openai-codex","opencode","azure-openai-responses"]),OPENAI_RESPONSES_MIN_OUTPUT_TOKENS=16;function parseDeploymentNameMap(value){let map=new Map;if(!value)return map;for(let entry of value.split(",")){let trimmed=entry.trim();if(!trimmed)continue;let[modelId,deploymentName]=trimmed.split("=",2);!modelId||!deploymentName||map.set(modelId.trim(),deploymentName.trim())}return map}function resolveDeploymentName(model,options){return options?.azureDeploymentName?options.azureDeploymentName:parseDeploymentNameMap(getProviderEnvValue("AZURE_OPENAI_DEPLOYMENT_NAME_MAP",options?.env)).get(model.id)||model.id}function formatAzureOpenAIError(error){return formatProviderError(normalizeProviderError(error),"Azure OpenAI API error")}var stream=(model,context,options)=>{let stream2=new AssistantMessageEventStream;return(async()=>{let deploymentName=resolveDeploymentName(model,options),output={role:"assistant",content:[],api:"azure-openai-responses",provider:model.provider,model:model.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"pending",timestamp:Date.now()};try{let apiKey=options?.apiKey;if(!apiKey)throw new Error(`No API key for provider: ${model.provider}`);let client=createClient(model,apiKey,options),grammarToolInputProperties=createGrammarToolInputProperties(context.tools,model.compat?.supportsOpenAIGrammarTools??!1),params=buildParams(model,context,options,deploymentName,grammarToolInputProperties),nextParams=await options?.onPayload?.(params,model);nextParams!==void 0&&(params=nextParams);let requestOptions={...options?.signal?{signal:options.signal}:{},...options?.timeoutMs!==void 0?{timeout:options.timeoutMs}:{},maxRetries:0},{data:openaiStream,response}=await retryProviderRequest(()=>client.responses.create(params,requestOptions).withResponse(),{maxRetries:options?.maxRetries,maxRetryDelayMs:options?.maxRetryDelayMs,signal:options?.signal});if(await options?.onResponse?.({status:response.status,headers:headersToRecord(response.headers)},model),stream2.push({type:"start",partial:output}),await processResponsesStream(openaiStream,output,stream2,model,{grammarToolInputProperties}),options?.signal?.aborted)throw new Error("Request was aborted");if(output.stopReason==="pending")throw new Error("Azure OpenAI Responses stream ended without a stop reason");if(output.stopReason==="aborted"||output.stopReason==="error")throw new Error(output.errorMessage||"An unknown error occurred");stream2.push({type:"done",reason:output.stopReason,message:output}),stream2.end()}catch(error){for(let block of output.content)delete block.index,delete block.partialJson,delete block.customInput;output.stopReason=options?.signal?.aborted?"aborted":"error",output.errorMessage=formatAzureOpenAIError(error),stream2.push({type:"error",reason:output.stopReason,error:output}),stream2.end()}})(),stream2},streamSimple=(model,context,options)=>{let apiKey=options?.apiKey;if(!apiKey)throw new Error(`No API key for provider: ${model.provider}`);let base={...buildBaseOptions(model,context,options,apiKey),toolChoice:options?.toolChoice},clampedReasoning=options?.reasoning?clampThinkingLevel(model,options.reasoning):void 0;return stream(model,context,{...base,reasoningEffort:clampedReasoning==="off"?void 0:clampedReasoning})};function normalizeAzureBaseUrl(baseUrl){let trimmed=baseUrl.trim().replace(/\/+$/,""),url;try{url=new URL(trimmed)}catch{throw new Error(`Invalid Azure OpenAI base URL: ${baseUrl}`)}let isAzureHost=url.hostname.endsWith(".openai.azure.com")||url.hostname.endsWith(".cognitiveservices.azure.com")||url.hostname.endsWith(".ai.azure.com"),normalizedPath=url.pathname.replace(/\/+$/,"");return isAzureHost&&(normalizedPath===""||normalizedPath==="/"||normalizedPath==="/openai"||normalizedPath==="/openai/v1/responses")&&(url.pathname="/openai/v1",url.search=""),url.toString().replace(/\/+$/,"")}function buildDefaultBaseUrl(resourceName){return`https://${resourceName}.openai.azure.com/openai/v1`}function resolveAzureConfig(model,options){let apiVersion=options?.azureApiVersion||getProviderEnvValue("AZURE_OPENAI_API_VERSION",options?.env)||DEFAULT_AZURE_API_VERSION,baseUrl=options?.azureBaseUrl?.trim()||getProviderEnvValue("AZURE_OPENAI_BASE_URL",options?.env)?.trim()||void 0,resourceName=options?.azureResourceName||getProviderEnvValue("AZURE_OPENAI_RESOURCE_NAME",options?.env),resolvedBaseUrl=baseUrl;if(!resolvedBaseUrl&&resourceName&&(resolvedBaseUrl=buildDefaultBaseUrl(resourceName)),!resolvedBaseUrl&&model.baseUrl&&(resolvedBaseUrl=model.baseUrl),!resolvedBaseUrl)throw new Error("Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.");return{baseUrl:normalizeAzureBaseUrl(resolvedBaseUrl),apiVersion}}function createClient(model,apiKey,options){let headers={"User-Agent":getPiUserAgent(),...model.headers};options?.headers&&Object.assign(headers,options.headers);let{baseUrl,apiVersion}=resolveAzureConfig(model,options);return new AzureOpenAI({apiKey,apiVersion,dangerouslyAllowBrowser:!0,fetch:options?.fetch,defaultHeaders:headers,baseURL:baseUrl})}function buildParams(model,context,options,deploymentName,grammarToolInputProperties=createGrammarToolInputProperties(context.tools,model.compat?.supportsOpenAIGrammarTools??!1)){let messages=convertResponsesMessages(model,context,AZURE_TOOL_CALL_PROVIDERS,{grammarToolInputProperties}),params={model:deploymentName,input:messages,stream:!0,prompt_cache_key:clampOpenAIPromptCacheKey(options?.sessionId),store:!1};if(options?.maxTokens&&(params.max_output_tokens=Math.max(options.maxTokens,OPENAI_RESPONSES_MIN_OUTPUT_TOKENS)),options?.temperature!==void 0&&(params.temperature=options?.temperature),context.tools&&context.tools.length>0&&(params.tools=convertResponsesTools(context.tools,{supportsStrictMode:model.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:model.compat?.supportsOpenAIGrammarTools??!1})),options?.toolChoice!==void 0&&(params.tool_choice=options.toolChoice),model.reasoning)if(options?.reasoningEffort||options?.reasoningSummary){let effort=options?.reasoningEffort?model.thinkingLevelMap?.[options.reasoningEffort]??options.reasoningEffort:"medium";params.reasoning={effort,summary:options?.reasoningSummary||"auto"},params.include=["reasoning.encrypted_content"]}else model.thinkingLevelMap?.off!==null&&(params.reasoning={effort:model.thinkingLevelMap?.off??"none"});return options?.samplingParams&&Object.assign(params,options.samplingParams),params}export{stream,streamSimple};