alchemylab-opencode 2.0.1 → 2.0.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 (232) hide show
  1. package/NODE_COMPAT.md +8 -1
  2. package/dist/20260127222353_familiar_lady_ursula-YYOFSQD5.js +18 -0
  3. package/dist/20260211171708_add_project_commands-3GKQTPBZ.js +18 -0
  4. package/dist/20260213144116_wakeful_the_professor-ROO7OAVL.js +18 -0
  5. package/dist/20260225215848_workspace-V2OZTNFF.js +18 -0
  6. package/dist/20260227213759_add_session_workspace_id-GVDWAXKM.js +18 -0
  7. package/dist/20260228203230_blue_harpoon-Z5QP2II5.js +18 -0
  8. package/dist/20260303231226_add_workspace_fields-QOVAFN7W.js +18 -0
  9. package/dist/20260309230000_move_org_to_state-RQURSDZD.js +18 -0
  10. package/dist/20260312043431_session_message_cursor-VBISKDXL.js +18 -0
  11. package/dist/20260323234822_events-PILJHLNA.js +18 -0
  12. package/dist/20260410174513_workspace-name-63YCZ5NS.js +18 -0
  13. package/dist/20260413175956_chief_energizer-NMAZYGDO.js +18 -0
  14. package/dist/20260423070820_add_icon_url_override-RAJCVNEP.js +18 -0
  15. package/dist/20260427172553_slow_nightmare-ULYYZLR4.js +18 -0
  16. package/dist/20260428004200_add_session_path-U4WO2TGE.js +18 -0
  17. package/dist/20260501142318_next_venus-6BCYATSC.js +18 -0
  18. package/dist/20260504145000_add_sync_owner-RGVHV6LN.js +18 -0
  19. package/dist/20260507164347_add_workspace_time-GE6UHNPM.js +18 -0
  20. package/dist/{20260510033149_session_usage-UGBVOXZB.js → 20260510033149_session_usage-7XHCFVKY.js} +5 -1
  21. package/dist/20260511000411_data_migration_state-2EGZKFLB.js +18 -0
  22. package/dist/20260511173437_session-metadata-K322YY33.js +18 -0
  23. package/dist/20260601010001_normalize_storage_paths-VZDTY366.js +18 -0
  24. package/dist/{20260225215848_workspace-ZMSOZSPA.js → 20260601202201_amazing_prowler-YT6PLK3L.js} +5 -1
  25. package/dist/{20260228203230_blue_harpoon-IW3Z4TQZ.js → 20260602002951_lowly_union_jack-6VLQTBVB.js} +5 -1
  26. package/dist/20260602182828_add_project_directories-TVSRD25A.js +18 -0
  27. package/dist/20260603001617_session_message_projection_indexes-PHKTF6HK.js +18 -0
  28. package/dist/{20260622170816_reset_v2_session_state-5JPHJTZG.js → 20260603040000_session_message_projection_order-7RTV2POG.js} +5 -1
  29. package/dist/20260603141458_session_input_inbox-RSBWABG7.js +18 -0
  30. package/dist/20260603160727_jittery_ezekiel_stane-DXBLLRVV.js +18 -0
  31. package/dist/20260604172448_event_sourced_session_input-H6Z3JEBD.js +18 -0
  32. package/dist/20260605003541_add_session_context_snapshot-6FDPM2TK.js +18 -0
  33. package/dist/20260605042240_add_context_epoch_agent-C2OF2UKR.js +18 -0
  34. package/dist/20260611035744_credential-YNZ47FSH.js +18 -0
  35. package/dist/20260611192811_lush_chimera-E357VI6P.js +18 -0
  36. package/dist/20260612174303_project_dir_strategy-VUGGK42O.js +18 -0
  37. package/dist/20260622142730_simplify_session_context_epoch-UYGXZ5BX.js +18 -0
  38. package/dist/20260622170816_reset_v2_session_state-EILLPCJQ.js +18 -0
  39. package/dist/20260622202450_simplify_session_input-Y65GDGBO.js +18 -0
  40. package/dist/NodeSdk-AGMQWBHH.js +18 -0
  41. package/dist/anthropic-45OFTLAW.js +18 -0
  42. package/dist/anthropic-FVULF7C3.js +18 -0
  43. package/dist/app-runtime-LDQWNGWP.js +18 -0
  44. package/dist/chunk-2JE3QYG6.js +18 -0
  45. package/dist/chunk-2MRHL4B2.js +18 -0
  46. package/dist/chunk-4GJE6OMN.js +190 -0
  47. package/dist/chunk-4MBUHJHY.js +22 -0
  48. package/dist/chunk-5BLZCAU6.js +55 -0
  49. package/dist/chunk-7XX6TY62.js +259 -0
  50. package/dist/chunk-ANF3QA3Z.js +48 -0
  51. package/dist/chunk-AZUMH3TO.js +18 -0
  52. package/dist/chunk-B74WSFN4.js +878 -0
  53. package/dist/chunk-BQ4IEPN3.js +19 -0
  54. package/dist/chunk-CYRZU5QM.js +33 -0
  55. package/dist/chunk-DADVNQTM.js +1490 -0
  56. package/dist/chunk-DO2UZ6NY.js +18 -0
  57. package/dist/chunk-DWEYXIQI.js +780 -0
  58. package/dist/chunk-EK6FQQHY.js +20 -0
  59. package/dist/chunk-ELPXQ32J.js +90 -0
  60. package/dist/chunk-FGLPSSRK.js +19 -0
  61. package/dist/chunk-FOHYZ7MJ.js +55 -0
  62. package/dist/chunk-FV7U6PVP.js +18 -0
  63. package/dist/chunk-FYYAOZPU.js +18 -0
  64. package/dist/chunk-G7PFO5HG.js +920 -0
  65. package/dist/chunk-GDWO6EXN.js +22 -0
  66. package/dist/chunk-GW3ZRKAI.js +20 -0
  67. package/dist/chunk-IYUSBBGY.js +35 -0
  68. package/dist/chunk-JPOFLMNH.js +18 -0
  69. package/dist/{chunk-VURLSDCB.js → chunk-K5LKDIVU.js} +4 -0
  70. package/dist/chunk-KS4WLVK5.js +19 -0
  71. package/dist/chunk-LIXP4TPL.js +18 -0
  72. package/dist/chunk-LSC4RT5V.js +36 -0
  73. package/dist/chunk-M5A6NFHQ.js +28 -0
  74. package/dist/chunk-M6E6KNLV.js +30 -0
  75. package/dist/chunk-MLFZXUGQ.js +18 -0
  76. package/dist/chunk-NDI67DRG.js +31 -0
  77. package/dist/chunk-NGT6LCW6.js +18 -0
  78. package/dist/chunk-OCWGUTZJ.js +36 -0
  79. package/dist/chunk-OGDRUXMJ.js +18 -0
  80. package/dist/chunk-OGJKLJC7.js +29 -0
  81. package/dist/chunk-OT2YNR56.js +19 -0
  82. package/dist/chunk-OUVSKG2H.js +19 -0
  83. package/dist/chunk-P5RLCJUV.js +18 -0
  84. package/dist/chunk-Q3WIUQXB.js +18 -0
  85. package/dist/{20260227213759_add_session_workspace_id-ROENWPKA.js → chunk-QCRIXKIC.js} +5 -1
  86. package/dist/chunk-QD24DLUD.js +18 -0
  87. package/dist/chunk-R2GWBJEP.js +18 -0
  88. package/dist/chunk-RPAXSOGH.js +18 -0
  89. package/dist/chunk-TK5R7QUN.js +18 -0
  90. package/dist/chunk-TNQWZFIZ.js +28 -0
  91. package/dist/chunk-UCLPBO4I.js +18 -0
  92. package/dist/chunk-UPEPL4I2.js +18 -0
  93. package/dist/chunk-V6FDDNGV.js +117 -0
  94. package/dist/chunk-V6HERYFV.js +18 -0
  95. package/dist/chunk-V7XKKJ7X.js +24 -0
  96. package/dist/chunk-VHDYUBBS.js +23 -0
  97. package/dist/chunk-VWLJXTZ5.js +18 -0
  98. package/dist/chunk-VXAPFOIL.js +22 -0
  99. package/dist/chunk-WKZYINC7.js +29 -0
  100. package/dist/chunk-WPMP2ZFE.js +40 -0
  101. package/dist/chunk-WRTNIOI3.js +18 -0
  102. package/dist/chunk-X5F46HR5.js +18 -0
  103. package/dist/chunk-XPS7TQZG.js +22 -0
  104. package/dist/chunk-YJPP6IQ3.js +23 -0
  105. package/dist/chunk-ZYQWFC55.js +22 -0
  106. package/dist/code-mode-YYOGD36U.js +502 -0
  107. package/dist/copilot-provider-QVMLQZZC.js +18 -0
  108. package/dist/dist-5NQOHNPL.js +18 -0
  109. package/dist/dist-7CT3XCNN.js +32 -0
  110. package/dist/dist-CL46WFZG.js +18 -0
  111. package/dist/{20260605042240_add_context_epoch_agent-W6IQYZXE.js → dist-CYBRID2F.js} +5 -1
  112. package/dist/dist-HXJTF22W.js +32 -0
  113. package/dist/dist-JFXI53ZF.js +22 -0
  114. package/dist/dist-KBYKWVT5.js +22 -0
  115. package/dist/dist-KM5HCPZX.js +35 -0
  116. package/dist/dist-KTNLTEHB.js +18 -0
  117. package/dist/dist-KZ5R5QM5.js +24 -0
  118. package/dist/dist-NLXUYBW7.js +32 -0
  119. package/dist/dist-O4DF72J2.js +22 -0
  120. package/dist/dist-PH4MEGVR.js +22 -0
  121. package/dist/{20260511000411_data_migration_state-FB4LBFSE.js → dist-QJPOJCLB.js} +5 -1
  122. package/dist/dist-QYH62TCJ.js +22 -0
  123. package/dist/{20260303231226_add_workspace_fields-OUVZMNAG.js → dist-RIC4WKHC.js} +5 -1
  124. package/dist/dist-T776XKTM.js +22 -0
  125. package/dist/dist-TCE5MKZQ.js +23 -0
  126. package/dist/dist-TH2Q44RX.js +50 -0
  127. package/dist/dist-VV5FV5RT.js +101 -0
  128. package/dist/dist-XAFENVUS.js +22 -0
  129. package/dist/dist-XPFB35TX.js +32 -0
  130. package/dist/dist-YUH4RKR5.js +28 -0
  131. package/dist/dist-es-43ZM44MP.js +18 -0
  132. package/dist/dist-es-6PLFRCS4.js +18 -0
  133. package/dist/dist-es-G5UIJOU7.js +26 -0
  134. package/dist/{20260428004200_add_session_path-LGW75WYA.js → dist-es-HYIIGUNX.js} +5 -1
  135. package/dist/dist-es-L2GU465G.js +18 -0
  136. package/dist/dist-es-LSR2QCFZ.js +18 -0
  137. package/dist/dist-es-RGEIM2BP.js +18 -0
  138. package/dist/dist-es-SITTNOGV.js +18 -0
  139. package/dist/dist-es-W5GYOX6F.js +18 -0
  140. package/dist/esm-NN5W7YCL.js +18 -0
  141. package/dist/esm-XWJSHYHG.js +18 -0
  142. package/dist/getMachineId-bsd-L5I5TZ5I.js +18 -0
  143. package/dist/getMachineId-darwin-YB7KG37W.js +19 -0
  144. package/dist/getMachineId-linux-EL47KXX7.js +18 -0
  145. package/dist/getMachineId-unsupported-QOWPEBPN.js +18 -0
  146. package/dist/getMachineId-win-HCRYRDFJ.js +18 -0
  147. package/dist/lib-ZP7Q6A3E.js +199 -0
  148. package/dist/loadCognitoIdentity-EWT55EI7.js +18 -0
  149. package/dist/loadSso-AGOUE6RL.js +18 -0
  150. package/dist/{20260213144116_wakeful_the_professor-ZVDD54AK.js → loadSts-RH5L3PIX.js} +5 -1
  151. package/dist/mantle-IJXDXT4M.js +25 -0
  152. package/dist/mime-types-46EO4HOZ.js +18 -0
  153. package/dist/multipart-parser-KZWMKXA4.js +19 -0
  154. package/dist/{20260211171708_add_project_commands-GDOHPDPF.js → open-7KXTRM37.js} +5 -1
  155. package/dist/openai-ZOJI6I5R.js +18 -0
  156. package/dist/p-map-CYL6ILJW.js +18 -0
  157. package/dist/photon-W56QZY4L.js +18 -0
  158. package/dist/{20260423070820_add_icon_url_override-X5SHFGTI.js → pkce-VT4ITJTB.js} +5 -1
  159. package/dist/{pty.node-Y3N2XKYG.js → pty.node-IWULXXG6.js} +5 -1
  160. package/dist/run.js +5 -1
  161. package/dist/serve.js +143 -1
  162. package/dist/server-LVIHYOCY.js +21 -0
  163. package/dist/session-6OPJNJMK.js +18 -0
  164. package/dist/signin-OCIW23YM.js +18 -0
  165. package/dist/src-3NCXEROI.js +18 -0
  166. package/dist/src-LXWGIUZH.js +18 -0
  167. package/dist/src-WDYKISPD.js +20 -0
  168. package/dist/src-YAAFIGTW.js +18 -0
  169. package/dist/sso-oidc-OMMKINFE.js +18 -0
  170. package/dist/sts-MWK22JIX.js +18 -0
  171. package/dist/token-QPO3OAGS.js +18 -0
  172. package/dist/token-util-YGPCEEPO.js +18 -0
  173. package/dist/unified-W3ZKZ4HG.js +18 -0
  174. package/dist/worktree-32M5MTFE.js +18 -0
  175. package/package.json +40 -40
  176. package/postinstall.cjs +4 -2
  177. package/dist/20260127222353_familiar_lady_ursula-KV747FJX.js +0 -14
  178. package/dist/20260309230000_move_org_to_state-NOXAPU5V.js +0 -14
  179. package/dist/20260312043431_session_message_cursor-DJ4T3T4R.js +0 -14
  180. package/dist/20260323234822_events-72GIKJ2A.js +0 -14
  181. package/dist/20260410174513_workspace-name-JXSWFBJN.js +0 -14
  182. package/dist/20260413175956_chief_energizer-4HEWZ6U3.js +0 -14
  183. package/dist/20260427172553_slow_nightmare-PS5T2AH2.js +0 -14
  184. package/dist/20260501142318_next_venus-J3TLVXZ6.js +0 -14
  185. package/dist/20260504145000_add_sync_owner-3R52GB4C.js +0 -14
  186. package/dist/20260507164347_add_workspace_time-JHDRCZAR.js +0 -14
  187. package/dist/20260511173437_session-metadata-T2XHGWHS.js +0 -14
  188. package/dist/20260601010001_normalize_storage_paths-5MAY5GT3.js +0 -14
  189. package/dist/20260601202201_amazing_prowler-PET224YG.js +0 -14
  190. package/dist/20260602002951_lowly_union_jack-PG6XDMGL.js +0 -14
  191. package/dist/20260602182828_add_project_directories-ZCH2ACGG.js +0 -14
  192. package/dist/20260603001617_session_message_projection_indexes-XVLJTUF2.js +0 -14
  193. package/dist/20260603040000_session_message_projection_order-XG6RACZQ.js +0 -14
  194. package/dist/20260603141458_session_input_inbox-K2VQ7V6E.js +0 -14
  195. package/dist/20260603160727_jittery_ezekiel_stane-WKJLRDO7.js +0 -14
  196. package/dist/20260604172448_event_sourced_session_input-NTXOECR7.js +0 -14
  197. package/dist/20260605003541_add_session_context_snapshot-DXMQEXMT.js +0 -14
  198. package/dist/20260611035744_credential-XTMSYTJD.js +0 -14
  199. package/dist/20260611192811_lush_chimera-XPLIQMJD.js +0 -14
  200. package/dist/20260612174303_project_dir_strategy-FR2NGQKK.js +0 -14
  201. package/dist/20260622142730_simplify_session_context_epoch-NTQZR3RE.js +0 -14
  202. package/dist/20260622202450_simplify_session_input-2EXF2HMV.js +0 -14
  203. package/dist/app-runtime-HQBOCDV5.js +0 -14
  204. package/dist/chunk-4FEBIOI5.js +0 -865
  205. package/dist/chunk-4K2RXRZL.js +0 -14
  206. package/dist/chunk-4RFMKEKM.js +0 -1455
  207. package/dist/chunk-BM2C7NHL.js +0 -41
  208. package/dist/chunk-MKEMZFJI.js +0 -393
  209. package/dist/chunk-OMDJ6ZZ2.js +0 -684
  210. package/dist/chunk-OWMG4NNF.js +0 -186
  211. package/dist/chunk-QRABYJKL.js +0 -14
  212. package/dist/chunk-RHIWAYN5.js +0 -14
  213. package/dist/chunk-Z5TLIUAI.js +0 -28
  214. package/dist/code-mode-7BQJUARW.js +0 -40
  215. package/dist/copilot-provider-TX4YFKJZ.js +0 -14
  216. package/dist/photon-VQS5F5BI.js +0 -14
  217. package/dist/server-BFUQR7MX.js +0 -17
  218. package/dist/session-6RNXZNG6.js +0 -14
  219. package/dist/worktree-QHQHX3SG.js +0 -14
  220. package/patches/@ai-sdk%2Famazon-bedrock@4.0.166.patch +0 -164
  221. package/patches/@ai-sdk%2Fanthropic@3.0.111.patch +0 -528
  222. package/patches/@ai-sdk%2Fgoogle@3.0.73.patch +0 -69
  223. package/patches/@ai-sdk%2Fgroq@3.0.31.patch +0 -79
  224. package/patches/@ai-sdk%2Fmistral@3.0.51.patch +0 -714
  225. package/patches/@ai-sdk%2Fopenai-compatible@2.0.41.patch +0 -39
  226. package/patches/@ai-sdk%2Fopenai@3.0.88.patch +0 -280
  227. package/patches/@ai-sdk%2Fxai@3.0.139.patch +0 -296
  228. package/patches/@modelcontextprotocol%2Fsdk@1.29.0.patch +0 -647
  229. package/patches/@npmcli%2Fagent@4.0.2.patch +0 -13
  230. package/patches/effect@4.0.0-beta.83.patch +0 -57
  231. package/patches/gcp-metadata@8.1.2.patch +0 -14
  232. package/patches/pacote@21.5.0.patch +0 -18
@@ -1,40 +0,0 @@
1
- // Built by esbuild from opencode-server source
2
- if (typeof globalThis.Bun === 'undefined') {
3
- globalThis.Bun = {
4
- version: '0.0.0-node-compat',
5
- stdin: { async text() { const chunks = []; for await (const c of process.stdin) chunks.push(c); return Buffer.concat(chunks).toString(); } },
6
- which(cmd) { try { return require('child_process').execFileSync('which', [cmd], { encoding: 'utf8' }).trim(); } catch { return null; } },
7
- };
8
- }
9
- if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
- if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
- import { createRequire as __alchemyCreateRequire } from 'node:module';
12
- const require = __alchemyCreateRequire(import.meta.url);
13
-
14
- import{E as bt,G as kt,z as wt}from"./chunk-MKEMZFJI.js";import"./chunk-4K2RXRZL.js";import{N as yt}from"./chunk-Z5TLIUAI.js";import{B as ht,D as gt,u as Ye}from"./chunk-4FEBIOI5.js";import"./chunk-QRABYJKL.js";import"./chunk-OMDJ6ZZ2.js";import"./chunk-BM2C7NHL.js";import{a as l,d as Xe}from"./chunk-RHIWAYN5.js";import{CallToolResultSchema as Cr}from"@modelcontextprotocol/sdk/types.js";import{Cause as Mn,Effect as M,Schema as Nn}from"effect";var Ie={};Xe(Ie,{Diagnostic:()=>En,DiagnosticKind:()=>An,Failure:()=>Cn,Input:()=>xr,Result:()=>Rr,Success:()=>Tn,execute:()=>Ar,make:()=>Er});import{Schema as S}from"effect";import{parse as cr}from"acorn";import{Cause as se,Effect as d,Exit as Ne,Fiber as kn,Semaphore as ur}from"effect";import{DiagnosticCategory as lr,ModuleKind as dr,ScriptTarget as fr,flattenDiagnosticMessageText as pr,transpileModule as mr}from"typescript";var ue={};Xe(ue,{ToolReference:()=>z,ToolRuntime:()=>ue,ToolRuntimeError:()=>j,assertValidTools:()=>Zn,catalog:()=>Wn,copyIn:()=>ne,copyOut:()=>ce,isBlockedMember:()=>F,make:()=>rr,prepare:()=>er,searchIndex:()=>Qn});import{Cause as $t,Effect as H,Schema as q}from"effect";import{Schema as Le}from"effect";var ae=class extends Le.TaggedErrorClass()("ToolError",{message:Le.String,cause:Le.optionalKey(Le.Defect())}){static{l(this,"ToolError")}},be=l((t,e)=>new ae({message:t,...e===void 0?{}:{cause:e}}),"toolError");import{JsonPointer as et,Schema as Re}from"effect";var Te=l(t=>Re.isSchema(t),"isEffectSchema"),St=l(t=>JSON.stringify(t)??"unknown","renderLiteral"),tt=/^[A-Za-z_$][A-Za-z0-9_$]*$/,Un=l(t=>tt.test(t)?t:JSON.stringify(t),"renderKey"),Dn=l(t=>t.type==="string"&&Array.isArray(t.enum)&&t.enum.length===1&&(t.enum[0]==="NaN"||t.enum[0]==="Infinity"||t.enum[0]==="-Infinity"),"effectNumberSentinel"),Qe=l(t=>{let e=t.filter(n=>n!=="unknown");return e.length===0?"unknown":e.length===1?e[0]??"unknown":e.map(n=>n.includes(" | ")?`(${n})`:n).join(" & ")},"intersection"),Ln=8,Ze=l((t,e,n=new Set,r=new Set)=>{if(r.has(t))return!1;let o=new Set([...r,t]);if(t.$ref!==void 0){let s=t.$ref.match(/^#\/(?:\$defs|definitions)\/([^/]+)$/)?.[1],a=s===void 0?void 0:et.unescapeToken(s);if(a===void 0||e[a]===void 0||n.has(a)||Ze(e[a],e,new Set([...n,a]),o))return!0}return[...t.anyOf??[],...t.oneOf??[],...t.allOf??[],...Object.values(t.properties??{}),...t.items===void 0?[]:[t.items],...typeof t.additionalProperties=="object"?[t.additionalProperties]:[]].some(s=>Ze(s,e,n,o))},"hasUnresolvedRef"),qn=l(t=>{let e=[];if(t.deprecated===!0&&e.push("@deprecated"),t.default!==void 0)try{let n=JSON.stringify(t.default);n!==void 0&&e.push(`@default ${n}`)}catch{}return typeof t.format=="string"&&e.push(`@format ${t.format}`),typeof t.minItems=="number"&&e.push(`@minItems ${t.minItems}`),typeof t.maxItems=="number"&&e.push(`@maxItems ${t.maxItems}`),e},"docTags"),Fn=l((t,e,n)=>{let r=[...t===void 0?[]:t.split(`
15
- `),...e].map(s=>s.replaceAll("*/","* /").replace(/\s+$/,""));for(;r.length>0&&r[0].trim()==="";)r.shift();for(;r.length>0&&r[r.length-1].trim()==="";)r.pop();if(r.length===0)return"";if(r.length===1)return`${n}/** ${r[0]} */
16
- `;let o=r.map(s=>`${n} *${s===""?"":` ${s}`}`).join(`
17
- `);return`${n}/**
18
- ${o}
19
- ${n} */
20
- `},"jsdoc"),te=l((t,e,n=0,r=new Set)=>{if(n>Ln)return"unknown";let o=t.definitions===void 0&&t.$defs===void 0?e:{...e,definitions:{...e.definitions,...t.definitions??{},...t.$defs??{}}};if(t.$ref){let a=t.$ref.match(/^#\/(?:\$defs|definitions)\/([^/]+)$/)?.[1],c=a===void 0?void 0:et.unescapeToken(a);return!c||!o.definitions[c]||r.has(c)?"unknown":Qe([te(o.definitions[c],o,n,new Set([...r,c])),te({...t,$ref:void 0},o,n+1,r)])}if(t.const!==void 0)return St(t.const);if(t.enum)return t.enum.map(St).join(" | ");let s=t.anyOf??t.oneOf;if(s){if(s.some(c=>c.type==="number")&&s.every(c=>c.type==="number"||Dn(c)))return"number";if(s.length===2&&s[0]?.type==="object"&&s[0].properties===void 0&&s[1]?.type==="array"&&s[1].items===void 0)return"{}";let a=s.map(c=>te(c,o,n+1,r));return a.some(c=>c==="unknown")?"unknown":Qe([a.join(" | "),te({...t,anyOf:void 0,oneOf:void 0},o,n+1,r)])}if(t.allOf){let a=t.allOf.map(c=>te(c,o,n+1,r));return t.allOf.some(c=>Ze(c,o.definitions))?"unknown":Qe([te({...t,allOf:void 0},o,n+1,r),...a])}if(Array.isArray(t.type))return t.type.map(a=>te({...t,type:a},o,n+1,r)).join(" | ");if(t.type==="string")return"string";if(t.type==="number"||t.type==="integer")return"number";if(t.type==="boolean")return"boolean";if(t.type==="null")return"null";if(t.type==="array")return`Array<${te(t.items??{},o,n+1,r)}>`;if(t.type==="object"||t.properties){let a=new Set(t.required??[]),c=Object.entries(t.properties??{}),i=t.additionalProperties,u=i&&typeof i=="object"?te(i,o,n+1,r):void 0,f=l(([y,E])=>`${Un(y)}${a.has(y)?"":"?"}: ${te(E,o,n+1,r)}`,"field");if(!e.pretty){let y=c.map(f);return u!==void 0&&y.push(`[key: string]: ${u}`),y.length===0?"{}":`{ ${y.join("; ")} }`}if(c.length===0&&u===void 0)return"{}";let m=" ".repeat(n+1),g=c.map(y=>`${Fn(y[1].description,qn(y[1]),m)}${m}${f(y)},`);return u!==void 0&&g.push(`${m}[key: string]: ${u},`),`{
21
- ${g.join(`
22
- `)}
23
- ${" ".repeat(n)}}`}return"unknown"},"renderSchema"),xt=l((t,e=!1,n=!1)=>{try{let r=e?Re.toType(t):t,o=Re.toJsonSchemaDocument(r);return te(o.schema,{definitions:o.definitions??{},pretty:n})}catch{return"unknown"}},"toTypeScript"),Rt=l((t,e=!1)=>{try{return te(t,{definitions:{...t.definitions??{},...t.$defs??{}},pretty:e})}catch{return"unknown"}},"jsonSchemaToTypeScript"),At=l(t=>{try{let e=Te(t.input)?Re.toJsonSchemaDocument(t.input):{schema:t.input,definitions:{...t.input.definitions??{},...t.input.$defs??{}}},n=e.definitions??{},r=e.schema;if(r.$ref!==void 0){let s=r.$ref.match(/^#\/(?:\$defs|definitions)\/([^/]+)$/)?.[1],a=s===void 0?void 0:et.unescapeToken(s),c=a===void 0?void 0:n[a];if(c===void 0)return[];r=c}let o=new Set(r.required??[]);return Object.entries(r.properties??{}).map(([s,a])=>({name:s,description:typeof a.description=="string"?a.description:void 0,required:o.has(s)}))}catch{return[]}},"inputProperties"),Et=l((t,e=!1)=>Te(t.input)?xt(t.input,!1,e):Rt(t.input,e),"inputTypeScript"),vt=l((t,e=!1)=>t.output===void 0?"unknown":Te(t.output)?xt(t.output,!0,e):Rt(t.output,e),"outputTypeScript"),Tt=l((t,e)=>Te(t.input)?Re.decodeUnknownSync(t.input)(e):e,"decodeInput"),Ct=l((t,e)=>t.output!==void 0&&Te(t.output)?Re.decodeUnknownSync(t.output)(e):e,"decodeOutput");var qe={};Xe(qe,{isDefinition:()=>nt,make:()=>Ot});import"effect";var nt=l(t=>typeof t=="object"&&t!==null&&"_tag"in t&&t._tag==="CodeModeTool","isDefinition"),Ot=l(t=>({_tag:"CodeModeTool",description:t.description,input:t.input,output:t.output,run:l(e=>t.run(e),"run")}),"make");var U=class{constructor(e,n){this.fiber=e;this.immediate=n}fiber;immediate;static{l(this,"SandboxPromise")}interrupted=!1},C=class{constructor(e){this.time=e}time;static{l(this,"SandboxDate")}},O=class{static{l(this,"SandboxRegExp")}regex;constructor(e,n){this.regex=new RegExp(e,n)}},$=class{static{l(this,"SandboxMap")}map=new Map},L=class{static{l(this,"SandboxSet")}set=new Set},R=class{constructor(e){this.params=e}params;static{l(this,"SandboxURLSearchParams")}},N=class{constructor(e){this.url=e;this.searchParams=new R(e.searchParams)}url;static{l(this,"SandboxURL")}searchParams},G=l(t=>t instanceof C||t instanceof O||t instanceof $||t instanceof L||t instanceof N||t instanceof R,"isSandboxValue");var rt=l(t=>Math.max(0,Math.round(t.length/4)),"estimateTokens"),Ve="$codemode",Vn=2e3,Jn=10,Bn=q.Int.check(q.isGreaterThan(0)),ot=q.Int.check(q.isGreaterThanOrEqualTo(0)),Hn=q.Struct({query:q.optionalKey(q.String),namespace:q.optionalKey(q.String),limit:q.optionalKey(Bn),offset:q.optionalKey(ot)}),_n=q.Struct({path:q.String,description:q.String,signature:q.String}),zn=q.Struct({items:q.Array(_n),remaining:ot,next:q.NullOr(q.Struct({offset:ot}))}),st=l(t=>"tools"+t.split(".").map(e=>tt.test(e)?`.${e}`:`[${JSON.stringify(e)}]`).join(""),"toolExpression"),z=class{constructor(e){this.path=e}path;static{l(this,"ToolReference")}},Mt=32,j=class extends Error{constructor(n,r,o=[]){super(r);this.kind=n;this.suggestions=o;this.name="ToolRuntimeError"}kind;suggestions;static{l(this,"ToolRuntimeError")}},me=l(t=>nt(t),"isDefinition"),Nt=l(t=>t.pipe(H.catchCause(e=>{if($t.hasInterruptsOnly(e))return H.interrupt;let n=$t.squash(e);return H.fail(n instanceof ae?n:be("Tool execution failed",n))})),"runHost"),Kn=new Set(["__proto__","constructor","prototype"]),F=l(t=>Kn.has(t),"isBlockedMember"),ne=l((t,e,n=!1)=>Ae(t,e,0,new Set,n),"copyIn"),Ae=l((t,e,n,r,o)=>{if(n>Mt)throw new j("InvalidDataValue",`${e} exceeds the maximum value depth of ${Mt}.`);if(t==null||typeof t=="string"||typeof t=="boolean"||typeof t=="number")return t;if(typeof t!="object")throw new j("InvalidDataValue",`${e} must contain data only.`);if(t instanceof U)throw new j("InvalidDataValue",`${e} contains an un-awaited Promise; await tool calls (e.g. \`const result = await tools.ns.tool(...)\`) before using their results.`);if(o){if(t instanceof C||t instanceof O||t instanceof $||t instanceof L||t instanceof N||t instanceof R)return t;if(t instanceof Date)return new C(t.getTime());if(t instanceof RegExp)return new O(t.source,t.flags);if(t instanceof Map){let c=new $;for(let[i,u]of t.entries())c.map.set(Ae(i,e,n+1,r,!0),Ae(u,e,n+1,r,!0));return c}if(t instanceof Set){let c=new L;for(let i of t.values())c.set.add(Ae(i,e,n+1,r,!0));return c}if(t instanceof URL)return new N(new URL(t.href));if(t instanceof URLSearchParams)return new R(new URLSearchParams(t))}if(t instanceof C)return Number.isFinite(t.time)?new Date(t.time).toISOString():null;if(t instanceof Date)return Number.isFinite(t.getTime())?t.toISOString():null;if(t instanceof N)return t.url.href;if(t instanceof URL)return t.href;if(t instanceof O||t instanceof $||t instanceof L||t instanceof R||t instanceof RegExp||t instanceof Map||t instanceof Set||t instanceof URLSearchParams)return Object.create(null);if(r.has(t))throw new j("InvalidDataValue",`${e} contains a circular value.`);if(r.add(t),Array.isArray(t)){let c=t.map(i=>Ae(i,e,n+1,r,o));return r.delete(t),c}let s=Object.getPrototypeOf(t);if(s!==Object.prototype&&s!==null)throw new j("InvalidDataValue",`${e} must contain plain objects only.`);let a=Object.create(null);for(let[c,i]of Object.entries(t)){if(F(c))throw new j("InvalidDataValue",`${e} contains blocked property '${c}'.`);a[c]=Ae(i,e,n+1,r,o)}return r.delete(t),a},"copyBounded"),ce=l((t,e=!1)=>t===void 0&&e||typeof t=="number"&&!Number.isFinite(t)?null:Array.isArray(t)?t.map(n=>ce(n,e)):t!==null&&typeof t=="object"&&!(t instanceof z)?Object.fromEntries(Object.entries(t).map(([n,r])=>[n,ce(r,e)])):t,"copyOut"),jt=l((t,e=[])=>{let n=[];for(let[r,o]of Object.entries(t)){let s=[...e,r];me(o)?n.push({path:s.join("."),definition:o}):typeof o!="function"&&n.push(...jt(o,s))}return n},"definitions"),It=l((t,e)=>({path:t,description:e.description,signature:`${st(t)}(input: ${Et(e,!0)}): Promise<${vt(e,!0)}>`}),"describeDefinition"),it=l(t=>jt(t).map(({path:e,definition:n})=>({path:e,definition:n,description:It(e,n)})),"visibleDefinitions"),Wn=l(t=>it(t).map(({description:e})=>e),"catalog"),Gn=l(t=>t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter(e=>e.length>0&&e!=="*"),"tokenize"),Xn=l(t=>{let e=[t];return t.endsWith("es")&&t.length>3&&e.push(t.slice(0,-2)),t.endsWith("s")&&t.length>2&&e.push(t.slice(0,-1)),e},"termForms"),Pt=l(t=>({_tag:"CodeModeTool",description:"Search available Code Mode tools",input:Hn,output:zn,run:l(e=>H.sync(()=>{let n=e,r=n.query??"",o=n.offset??0,s=n.namespace===void 0?t:t.filter(y=>y.namespace===n.namespace),a=r.trim(),c=a.startsWith("tools.")?a.slice(6):a,i=c===""?void 0:s.find(y=>y.description.path===c||st(y.description.path)===a),u=Gn(r).map(Xn),f=i!==void 0?[i]:s.map(y=>{let E=y.description.path.toLowerCase(),I=y.description.description.toLowerCase(),ee=u.reduce((Y,le)=>Y+(le.some(b=>E===b||E.endsWith(`.${b}`))?20:0)+(le.some(b=>E.includes(b))?8:0)+(le.some(b=>I.includes(b))?4:0)+(le.some(b=>y.searchText.includes(b))?2:0),0);return{entry:y,score:ee}}).filter(({score:y})=>u.length===0||y>0).sort((y,E)=>E.score-y.score||y.entry.description.path.localeCompare(E.entry.description.path)).map(({entry:y})=>y),m=f.slice(o,o+(n.limit??Jn)).map(({description:y})=>({...y,path:st(y.path)})),g=Math.max(0,f.length-o-m.length);return{items:m,remaining:g,next:g>0?{offset:o+m.length}:null}}),"run")}),"makeSearchTool"),Yn=It(`${Ve}.search`,Pt([])),Fe=l(t=>{let e=t.description.split(`
24
- `,1)[0].trim(),n=e.length>120?e.slice(0,119)+"...":e;return n===""?` - ${t.signature}`:` - ${t.signature} // ${n}`},"catalogLine"),Ut=l((t,e,n)=>({description:n,namespace:t.split(".",1)[0],searchText:[t,e.description,...At(e).flatMap(({name:r,description:o})=>o===void 0?[r]:[r,o])].join(`
25
- `).toLowerCase()}),"toSearchEntry"),Qn=l(t=>it(t).map(({path:e,definition:n,description:r})=>Ut(e,n,r)),"searchIndex"),Zn=l(t=>{if(Object.hasOwn(t,Ve))throw new Error(`Tool namespace '${Ve}' is reserved for CodeMode discovery tools.`)},"assertValidTools"),er=l((t,e=Vn)=>{if(!Number.isSafeInteger(e)||e<0)throw new RangeError("discovery.catalogBudget must be a non-negative safe integer");let n=it(t),r=n.map(({description:b})=>b),o=new Map;for(let b of r){let[k=b.path]=b.path.split("."),x=o.get(k)??[];x.push(b),o.set(k,x)}let s=[...o].sort(([b],[k])=>b.localeCompare(k)),a=s.map(([b,k])=>({namespace:b,picked:new Set,queue:[...k].sort((x,Q)=>rt(Fe(x))-rt(Fe(Q))||x.path.localeCompare(Q.path))})),c=0,i=a.filter(b=>b.queue.length>0);for(;i.length>0;){let b=[];for(let k of i){let x=k.queue[0],Q=rt(Fe(x));c+Q>e||(k.queue.shift(),k.picked.add(x),c+=Q,k.queue.length>0&&b.push(k))}i=b}let u=new Map(a.map(({namespace:b,picked:k})=>[b,k])),f=a.reduce((b,{picked:k})=>b+k.size,0),m=f===r.length,g=r.length===0,y=[g?"This is a restricted JavaScript language for calling tools, not a general-purpose runtime.":m?"This is a restricted JavaScript language for calling tools, not a general-purpose runtime. Inside the confined interpreter, `tools` contains the Code Mode tools listed below and internal runtime tools; surrounding agent tools are not available.":"This is a restricted JavaScript language for calling tools, not a general-purpose runtime. Inside the confined interpreter, `tools` contains the Code Mode tools listed or searchable below and internal runtime tools; surrounding agent tools are not available.",...g?[]:["Do not infer or normalize tool names; use only exact signatures shown below or returned by search."]],E=g?[]:["","## Workflow","",...m?["1. Pick a tool from the list under `## Available tools` - each line is the exact call signature; use it as-is rather than guessing segments.","2. Call it using the exact signature shown: `const result = await tools.<namespace>.<tool>(input)`; bracket notation and quotes are part of the path.","3. Return only the fields you need from structured results; narrow unknown results before reading fields, and avoid returning large raw payloads."]:['1. If needed, discover tools: `return await tools.$codemode.search({ query: "<intent + key nouns>" })`.',"2. In the next execution, copy a returned path exactly, call it, and return only the needed fields."]],I=g?[]:["","## Rules","",m?"- Only Code Mode tools listed here and internal runtime tools are available; surrounding agent tools are not implicitly exposed.":"- Only Code Mode tools listed here or returned by `tools.$codemode.search` and internal runtime tools are available; surrounding agent tools are not implicitly exposed.","- Filter, aggregate, and transform collections in code - never return them raw or call a tool per item across messages.","- A result typed `Promise<unknown>` may be structured data or text. Before reading fields, check that it is a non-null object and not an array; otherwise handle the returned text or primitive directly.",'- Run independent calls in parallel: `await Promise.all(items.map((item) => tools.<namespace>.<tool>(item)))`, or use `tools.<namespace>["tool-name"](item)` when the listed signature uses bracket notation.',"- `Object.keys(tools)` lists namespaces; `Object.keys(tools.<namespace>)` lists its tools; `for...in` works on both.",...m?[]:['- Browse one namespace: `await tools.$codemode.search({ query: "", namespace: "<name>" })`.',"- If search returns `next`, repeat the same search with `offset: next.offset`."]],ee=["","## Language","","Use common JavaScript data operations, functions, control flow, selected standard-library methods, and awaited tool calls. Built-ins include Date, RegExp, Map, Set, URL, URLSearchParams, and URI encoding helpers.","Modules/imports, classes, generators, timers, fetch, eval, prototype access, unlisted methods, and promise chaining are unavailable. Use Code Mode tools for external operations. Use await with try/catch.","Dates and URLs serialize to strings at data boundaries; Map/Set/RegExp/URLSearchParams serialize to `{}`."],Y=[""];if(g)Y.push("## Available tools","","No tools are currently available.");else{Y.push(m?"## Available tools (COMPLETE list - every tool is shown below with its full call signature)":`## Available tools (PARTIAL - ${f} of ${r.length} shown; find the rest with tools.$codemode.search)`,"");for(let[b,k]of s){let x=u.get(b),Q=`${k.length} tool${k.length===1?"":"s"}`,Ue=x.size===k.length?Q:x.size===0?`${Q}, none shown`:`${Q}, ${x.size} shown`;Y.push(`- ${b} (${Ue})`);for(let De of k)x.has(De)&&Y.push(Fe(De))}m||Y.push("","Search returns complete callable signatures:",`- ${Yn.signature}`)}let le=[...y,...E,...I,...ee,...Y];return{catalog:r,instructions:le.join(`
26
- `),searchIndex:n.map(({path:b,definition:k,description:x})=>Ut(b,k,x))}},"prepare"),tr=l((t,e)=>{let n=t;for(let r of e){if(F(r)||typeof n=="function"||me(n)||!Object.hasOwn(n,r))throw new j("UnknownTool",`Unknown tool namespace '${e.join(".")}'.`,["Object.keys(tools) lists the available namespaces; tools.$codemode.search({ query }) finds described tools."]);n=n[r]}return typeof n=="function"||me(n)?[]:Object.keys(n)},"namespaceKeys"),nr=l((t,e)=>{let n=t;for(let r of e){if(F(r)||typeof n=="function"||me(n)||!Object.hasOwn(n,r))throw new j("UnknownTool",`Unknown tool '${e.join(".")}'.`,["Use tools.$codemode.search({ query }) to find available described tools."]);n=n[r]}if(typeof n!="function"&&!me(n))throw new j("UnknownTool",`Tool '${e.join(".")}' is not callable.`);return n},"resolve"),rr=l((t,e,n,r)=>{let o=[],s={...t,[Ve]:{search:Pt(n)}},a=l((u,f)=>{let m=r?.onToolCallEnd;if(m===void 0)return u;let g=Date.now();return u.pipe(H.tap(()=>m({...f,durationMs:Date.now()-g,outcome:"success"})),H.tapError(y=>{let E=y instanceof ae||y instanceof j?y.message:"Tool execution failed";return m({...f,durationMs:Date.now()-g,outcome:"failure",message:E})}))},"observeEnd"),c=l((u,f)=>H.try({try:l(()=>ne(u,`Result from tool '${f}'`),"try"),catch:l(()=>new j("InvalidToolOutput",`Invalid output from tool '${f}'.`),"catch")}),"decodeOutput"),i=l(u=>{if(e!==void 0&&o.length>=e)throw new j("ToolCallLimitExceeded",`Execution exceeded its tool-call limit of ${e}.`);o.push(u)},"recordCall");return{root:new z([]),calls:o,keys:l(u=>tr(s,u),"keys"),invoke:l((u,f)=>H.gen(function*(){let m=u.join("."),g=f.map(k=>ce(ne(k,`Arguments for tool '${m}'`))),y={name:m},E=l(k=>H.sync(()=>(i(y),o.length-1)).pipe(H.tap(x=>r?.onToolCallStart?.({index:x,name:m,input:k})??H.void)),"recordAndObserve"),I=nr(s,u),ee;if(me(I)){if(g.length!==1)throw new j("InvalidToolInput",`Tool '${m}' expects exactly one input object.`);ee=yield*H.try({try:l(()=>Tt(I,g[0]),"try"),catch:l(k=>new j("InvalidToolInput",`Invalid input for tool '${m}': ${String(k)}`),"catch")})}let Y=me(I)?ee:g,b={index:yield*E(Y),name:m,input:Y};return me(I)?yield*a(H.gen(function*(){let k=yield*Nt(H.suspend(()=>I.run(ee))),x=yield*H.try({try:l(()=>Ct(I,k),"try"),catch:l(()=>new j("InvalidToolOutput",`Invalid output from tool '${m}'.`),"catch")});return yield*c(x,m)}),b):yield*a(H.gen(function*(){return yield*c(yield*Nt(H.suspend(()=>I(...g))),m)}),b)}),"invoke")}},"make");var X=class{constructor(e,n,r){this.parameters=e;this.body=n;this.capturedScopes=r}parameters;body;capturedScopes;static{l(this,"CodeModeFunction")}},_=class{constructor(e,n){this.receiver=e;this.name=n}receiver;name;static{l(this,"IntrinsicReference")}},T=class{constructor(e){this.value=e}value;static{l(this,"ComputedValue")}},ye=class{static{l(this,"PromiseNamespace")}},fe=class{constructor(e){this.name=e}name;static{l(this,"PromiseMethodReference")}},V=class{constructor(e){this.name=e}name;static{l(this,"GlobalNamespace")}},re=class{constructor(e,n){this.namespace=e;this.name=n}namespace;name;static{l(this,"GlobalMethodReference")}},J=class{constructor(e){this.name=e}name;static{l(this,"CoercionFunction")}},K=class{constructor(e){this.name=e}name;static{l(this,"UriFunction")}},ke=class{constructor(e){this.value=e}value;static{l(this,"ProgramThrow")}},he=class{constructor(e){this.name=e}name;static{l(this,"ErrorConstructorReference")}},oe=Symbol("codemode.optional-short-circuit"),pe="Supported orchestration syntax: tools.* calls (they return promises - resolve them with await), data literals, destructuring, optional chaining, template literals, conditionals, switch, loops (incl. for...of and for...in over object/array/tools keys), arrow functions, spread, try/catch, array methods (map/filter/find/findIndex/some/every/reduce/flatMap/forEach/sort/slice/concat/indexOf/lastIndexOf/at/flat/reverse/includes/join), string methods (incl. match/matchAll/replace/split with regular expressions), Date/RegExp/Map/Set/URL/URLSearchParams, URI encoding helpers, Object/Math/JSON helpers, captured console.log/warn/error/dir/table, and Promise.all/allSettled/race/resolve/reject over arrays mixing promises and plain values for parallel tool calls (promise chaining with .then/.catch is not supported - use await with try/catch).",p=class extends Error{constructor(n,r,o="ExecutionFailure",s){super(n);this.kind=o;this.suggestions=s;this.name="InterpreterRuntimeError",r&&(this.node=r)}kind;suggestions;static{l(this,"InterpreterRuntimeError")}node;errorName="Error";as(n){return this.errorName=n,this}},Ce=l((t,e)=>new p(`Syntax '${t}' is not supported in CodeMode. ${pe}`,e,"UnsupportedSyntax",[pe]),"unsupportedSyntax"),Ee=l(t=>typeof t=="object"&&t!==null,"isRecord"),D=l((t,e)=>{if(!Ee(t)||typeof t.type!="string")throw new p(`Invalid AST node while reading ${e}.`);return t},"asNode"),B=l((t,e)=>{let n=t[e];if(!Array.isArray(n))throw new p(`Expected '${e}' to be an array.`,t);return n},"getArray"),v=l((t,e)=>{let n=t[e];if(typeof n!="string")throw new p(`Expected '${e}' to be a string.`,t);return n},"getString"),ve=l((t,e)=>{let n=t[e];if(typeof n!="boolean")throw new p(`Expected '${e}' to be a boolean.`,t);return n},"getBoolean"),Z=l((t,e)=>{let n=t[e];if(n!=null)return D(n,e)},"getOptionalNode"),h=l((t,e)=>D(t[e],e),"getNode"),at=l(t=>({line:Math.max(1,(t.loc?.start.line??2)-1),column:Math.max(1,(t.loc?.start.column??4)-3)}),"sourceLocation"),Dt=l(t=>{if(!t?.loc)return"";let e=at(t);return` (line ${e.line}, col ${e.column})`},"formatLocation");var Je=new Set(["map","filter","find","findIndex","findLast","findLastIndex","some","every","includes","join","reduce","reduceRight","flatMap","forEach","sort","toSorted","slice","concat","indexOf","lastIndexOf","at","flat","reverse","toReversed","with","push","pop","shift","unshift","splice","fill","copyWithin","keys","values","entries"]),Lt=new Set(["get","set","has","delete","clear","forEach","keys","values","entries"]),qt=new Set(["add","has","delete","clear","forEach","keys","values","entries"]),Oe=l(t=>{if(Array.isArray(t))return t;if(typeof t=="string")return Array.from(t);if(t instanceof $)return Array.from(t.map.entries(),([e,n])=>[e,n]);if(t instanceof L)return Array.from(t.set.values());if(t instanceof R)return Array.from(t.params.entries(),([e,n])=>[e,n])},"spreadItems");var Ft=new Set(["log","info","debug","warn","error","dir","table"]),Vt=32;var Be=new Set(["Error","TypeError","RangeError","SyntaxError","ReferenceError","EvalError","URIError"]),Jt=new Set(["Date","RegExp","Map","Set","URL","URLSearchParams"]),Bt=new Set(["+=","-=","*=","/=","%=","**=","&=","|=","^=","<<=",">>=",">>>="]),Ht=Symbol("codemode.error"),$e=l((t,e)=>{let n=Object.assign(Object.create(null),{name:t,message:e});return Object.defineProperty(n,Ht,{value:t}),n},"createErrorValue"),_t=l(t=>t!==null&&typeof t=="object"?t[Ht]:void 0,"errorBrandName"),A=l((t,e)=>ne(t,e,!0),"boundedData"),w=l(t=>t===null?"null":t===void 0?"undefined":t instanceof C?Number.isFinite(t.time)?new Date(t.time).toISOString():"Invalid Date":t instanceof O?`/${t.regex.source}/${t.regex.flags}`:t instanceof $?"[object Map]":t instanceof L?"[object Set]":t instanceof N?t.url.href:t instanceof R?t.params.toString():typeof t=="object"?Array.isArray(t)?t.map(e=>e==null?"":w(e)).join(","):"[object Object]":String(t),"coerceToString"),Se=l(t=>t instanceof C?t.time:G(t)||t!==null&&typeof t=="object"&&!Array.isArray(t)?Number.NaN:Number(t),"coerceToNumber"),He=l((t,e,n)=>{let r=e[0];if(G(r))return t.name==="Boolean"?!0:t.name==="Number"?Se(r):t.name==="String"?w(r):t.name==="parseInt"?parseInt(w(r)):parseFloat(w(r));let o=A(e[0],`${t.name} input`);if(t.name==="Number")return Se(o);if(t.name==="Boolean")return!!o;if(t.name==="parseInt"){let s=e[1];if(s!==void 0&&typeof s!="number")throw new p("parseInt expects a numeric radix.",n);return parseInt(w(o),s)}return t.name==="parseFloat"?parseFloat(w(o)):w(o)},"invokeCoercion");var zt=new Set(["getTime","valueOf","toISOString","toJSON","toString","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getSeconds","getMilliseconds","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getTimezoneOffset"]),Kt=new Set(["now","parse","UTC"]),Wt=l((t,e,n)=>{switch(t){case"now":return Date.now();case"parse":return Date.parse(w(e[0]));case"UTC":return Date.UTC(...e.map(r=>Se(r)));default:throw new p(`Date.${t} is not available in CodeMode.`,n)}},"invokeDateStatic"),Gt=l((t,e,n)=>{let r=new Date(t.time);switch(e){case"getTime":case"valueOf":return t.time;case"toISOString":if(!Number.isFinite(t.time))throw new p("Invalid time value.",n);return r.toISOString();case"toJSON":return Number.isFinite(t.time)?r.toISOString():null;case"toString":return w(t);case"getFullYear":return r.getFullYear();case"getMonth":return r.getMonth();case"getDate":return r.getDate();case"getDay":return r.getDay();case"getHours":return r.getHours();case"getMinutes":return r.getMinutes();case"getSeconds":return r.getSeconds();case"getMilliseconds":return r.getMilliseconds();case"getUTCFullYear":return r.getUTCFullYear();case"getUTCMonth":return r.getUTCMonth();case"getUTCDate":return r.getUTCDate();case"getUTCDay":return r.getUTCDay();case"getUTCHours":return r.getUTCHours();case"getUTCMinutes":return r.getUTCMinutes();case"getUTCSeconds":return r.getUTCSeconds();case"getUTCMilliseconds":return r.getUTCMilliseconds();case"getTimezoneOffset":return r.getTimezoneOffset();default:throw new p(`Date method '${e}' is not available in CodeMode.`,n)}},"invokeDateMethod");var or=new Set(["stringify","parse"]),Xt=l((t,e,n)=>{if(!or.has(t))throw new p(`JSON.${t} is not available in CodeMode.`,n);switch(t){case"stringify":{let r=e[1];if(Array.isArray(r)||r instanceof X)throw new p("JSON.stringify replacers are not supported in CodeMode.",n,"UnsupportedSyntax",[pe]);let o=e[2],s=typeof o=="number"||typeof o=="string"?o:void 0;return JSON.stringify(ce(ne(e[0],"JSON.stringify value")),null,s)}case"parse":{let r=e[0];if(typeof r!="string")throw new p("JSON.parse expects a string.",n);try{return ne(JSON.parse(r),"JSON.parse result")}catch(o){throw new p(`JSON.parse received invalid JSON: ${o instanceof Error?o.message:String(o)}`,n).as("SyntaxError")}}}throw new p(`JSON.${t} is not available in CodeMode.`,n)},"invokeJsonMethod");var Yt=new Set(["PI","E","LN2","LN10","LOG2E","LOG10E","SQRT2","SQRT1_2"]),sr=new Set(["max","min","abs","floor","ceil","round","trunc","sign","sqrt","cbrt","pow","hypot","log","log2","log10","exp"]),Qt=l((t,e,n)=>{if(!sr.has(t))throw new p(`Math.${t} is not available in CodeMode.`,n);let r=e.map(a=>{if(typeof a!="number")throw new p(`Math.${t} expects number arguments.`,n);return a}),[o=Number.NaN,s=Number.NaN]=r;switch(t){case"max":return Math.max(...r);case"min":return Math.min(...r);case"abs":return Math.abs(o);case"floor":return Math.floor(o);case"ceil":return Math.ceil(o);case"round":return Math.round(o);case"trunc":return Math.trunc(o);case"sign":return Math.sign(o);case"sqrt":return Math.sqrt(o);case"cbrt":return Math.cbrt(o);case"pow":return Math.pow(o,s);case"hypot":return Math.hypot(...r);case"log":return Math.log(o);case"log2":return Math.log2(o);case"log10":return Math.log10(o);case"exp":return Math.exp(o)}throw new p(`Math.${t} is not available in CodeMode.`,n)},"invokeMathMethod");var Zt=new Set(["toFixed","toPrecision","toExponential","toString"]),en=new Set(["MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","MAX_VALUE","MIN_VALUE","EPSILON"]),tn=new Set(["isInteger","isFinite","isNaN","isSafeInteger","parseInt","parseFloat"]),nn=l((t,e,n,r)=>{let o=l(a=>{let c=n[a];if(c!==void 0){if(typeof c!="number")throw new p(`Number.${e} expects a number argument.`,r);return c}},"optNum"),s;switch(e){case"toFixed":s=t.toFixed(o(0));break;case"toExponential":s=t.toExponential(o(0));break;case"toPrecision":{let a=o(0);s=a===void 0?t.toString():t.toPrecision(a);break}case"toString":{let a=o(0);if(a!==void 0&&(a<2||a>36))throw new p("Number.toString radix must be between 2 and 36.",r);s=t.toString(a);break}default:throw new p(`Number method '${e}' is not available in CodeMode.`,r)}return A(s,`Number.${e} result`)},"invokeNumberMethod"),rn=l((t,e,n)=>{let r=e[0];switch(t){case"isInteger":return Number.isInteger(r);case"isFinite":return Number.isFinite(r);case"isNaN":return Number.isNaN(r);case"isSafeInteger":return Number.isSafeInteger(r);case"parseInt":{let o=e[1];if(o!==void 0&&typeof o!="number")throw new p("Number.parseInt expects a numeric radix.",n);return parseInt(w(r),o)}case"parseFloat":return parseFloat(w(r));default:throw new p(`Number.${t} is not available in CodeMode.`,n)}},"invokeNumberStatic");var ir=new Set(["keys","values","entries","hasOwn","assign","fromEntries"]),on=l((t,e,n)=>{if(!ir.has(t))throw new p(`Object.${t} is not available in CodeMode.`,n);let r=l(()=>{let s=A(e[0],`Object.${t} input`);if(G(s))return{};if(s===null||typeof s!="object"||Array.isArray(s))throw new p(`Object.${t} expects a data object.`,n);return s},"requireObject"),o=l((s,a,c)=>{if(F(a))throw new p(`Property '${a}' is not available in CodeMode.`,n);s[a]=c},"guardedSet");switch(t){case"keys":{let s=A(e[0],"Object.keys input");if(G(s))return[];if(Array.isArray(s))return Object.keys(s);if(s===null||typeof s!="object")throw new p("Object.keys expects a data object or array.",n);return Object.keys(s)}case"values":return Object.values(r());case"entries":return Object.entries(r()).map(([s,a])=>[s,a]);case"hasOwn":return Object.hasOwn(r(),String(e[1]));case"assign":{let s=Object.create(null);for(let a of e){if(a==null)continue;let c=A(a,"Object.assign input");if(!G(c)){if(c===null||typeof c!="object"||Array.isArray(c))throw new p("Object.assign expects data objects.",n);for(let[i,u]of Object.entries(c))o(s,i,u)}}return s}case"fromEntries":{if(e[0]instanceof $){let c=Object.create(null);for(let[i,u]of e[0].map.entries())o(c,w(i),u);return c}if(e[0]instanceof R){let c=Object.create(null);for(let[i,u]of e[0].params.entries())o(c,i,u);return c}let s=A(e[0],"Object.fromEntries input");if(!Array.isArray(s))throw new p("Object.fromEntries expects an array of [key, value] pairs.",n);let a=Object.create(null);for(let c of s){if(!Array.isArray(c))throw new p("Object.fromEntries expects [key, value] pairs.",n);o(a,String(c[0]),c[1])}return a}}throw new p(`Object.${t} is not available in CodeMode.`,n)},"invokeObjectMethod");var sn=new Set(["all","allSettled","race","resolve","reject"]),an=8;var cn=new Set(["test","exec","toString"]),un=new Set(["source","flags","lastIndex","global","ignoreCase","multiline","sticky","unicode","dotAll"]),ct=l(t=>(t instanceof Error?t.message:String(t)).replace(/^Invalid regular expression:\s*/i,""),"regexFailureReason"),ut='To match special characters like ( ) [ ] { } + * ? . literally, escape them with a backslash (e.g. "\\\\(") or test for them with String.includes instead.',_e=l((t,e,n,r="")=>{if(t instanceof O)return t.regex;if(typeof t=="string")try{return new RegExp(t,r)}catch(o){throw new p(`String.${e} received the string ${JSON.stringify(t)}, which is not a valid regular expression pattern (${ct(o)}). ${ut}`,n).as("SyntaxError")}throw new p(`String.${e} expects a regular expression (a /pattern/flags literal or new RegExp(...)) or a string pattern, not ${t===null?"null":typeof t}.`,n)},"toHostRegex"),ze=l(t=>{let e=Array.from(t,n=>n);if(t.index!==void 0&&(e.index=t.index),t.groups){let n=Object.create(null);for(let[r,o]of Object.entries(t.groups))F(r)||(n[r]=o);e.groups=n}return e},"matchToValue"),ln=l((t,e,n,r)=>{switch(e){case"test":return t.regex.test(w(n[0]));case"exec":{let o=t.regex.exec(w(n[0]));return o===null?null:ze(o)}case"toString":return w(t);default:throw new p(`RegExp method '${e}' is not available in CodeMode.`,r)}},"invokeRegExpMethod");var dn=new Set(["toLowerCase","toUpperCase","trim","trimStart","trimEnd","trimLeft","trimRight","split","slice","substring","substr","includes","startsWith","endsWith","indexOf","lastIndexOf","replace","replaceAll","repeat","padStart","padEnd","charAt","charCodeAt","codePointAt","at","concat","toString","match","matchAll","search","localeCompare","normalize"]),fn=new Set(["fromCharCode","fromCodePoint"]),pn=l((t,e,n)=>{let r=e.map(o=>{if(typeof o!="number")throw new p(`String.${t} expects number arguments.`,n);return o});switch(t){case"fromCharCode":return String.fromCharCode(...r);case"fromCodePoint":return String.fromCodePoint(...r);default:throw new p(`String.${t} is not available in CodeMode.`,n)}},"invokeStringStatic");var mn=new Set(["href","origin","protocol","username","password","host","hostname","port","pathname","search","hash"]),yn=new Set(["href","protocol","username","password","host","hostname","port","pathname","search","hash"]),hn=new Set(["toString","toJSON"]),ar=new Set(["canParse","parse"]),gn=new Set(["append","delete","get","getAll","has","set","sort","forEach","keys","values","entries","toString"]),xe=l((t,e)=>w(A(t,e)),"uriArgument"),Ke=l((t,e,n)=>{let r=xe(e[0],`${t.name} input`);try{switch(t.name){case"encodeURI":return encodeURI(r);case"encodeURIComponent":return encodeURIComponent(r);case"decodeURI":return decodeURI(r);case"decodeURIComponent":return decodeURIComponent(r)}}catch(o){throw new p(`${t.name} received malformed URI data: ${o instanceof Error?o.message:String(o)}`,n).as("URIError")}},"invokeUriFunction"),Me=l((t,e)=>t instanceof N?t.url.href:xe(t,e),"urlArgument"),wn=l((t,e,n)=>{if(!ar.has(t))throw new p(`URL.${t} is not available in CodeMode.`,n);if(e.length===0)throw new p(`URL.${t} requires a URL argument.`,n).as("TypeError");let r=Me(e[0],`URL.${t} input`),o=e[1]===void 0?void 0:Me(e[1],`URL.${t} base`);try{let s=new URL(r,o);return t==="canParse"?!0:new N(s)}catch{return t==="canParse"?!1:null}},"invokeURLStatic"),bn=l((t,e,n)=>{if(e==="toString"||e==="toJSON")return t.url.href;throw new p(`URL method '${e}' is not available in CodeMode.`,n)},"invokeURLMethod");var yr=l(t=>{let e=mr(`async function __codemode__() {
27
- ${t}
28
- }`,{reportDiagnostics:!0,compilerOptions:{target:fr.ESNext,module:dr.ESNext}}),n=e.diagnostics?.find(c=>c.category===lr.Error);if(n)throw new p(`Failed to parse TypeScript: ${pr(n.messageText,`
29
- `)}`,void 0,"ParseError");let r=e.outputText.indexOf("{")+1,o=e.outputText.lastIndexOf("}"),s=e.outputText.slice(r,o),a=cr(s,{ecmaVersion:"latest",sourceType:"script",allowReturnOutsideFunction:!0,allowAwaitOutsideFunction:!0,locations:!0});if(!Ee(a)||a.type!=="Program"||!Array.isArray(a.body))throw new p("Failed to parse script as a Program node.");return a},"parseProgram"),We=l(t=>t.replace(/\/(?:Users|home|private|tmp|var\/folders)\/[^\s"'`]+/g,"<redacted-path>"),"publicErrorMessage"),dt=l(t=>{if(t instanceof p)return{kind:t.kind,message:`${t.message}${Dt(t.node)}`,...t.node?.loc?{location:at(t.node)}:{},...t.suggestions?{suggestions:t.suggestions}:{}};if(t instanceof j)return{kind:t.kind,message:t.message,...t.suggestions.length>0?{suggestions:t.suggestions}:{}};if(t instanceof ae)return{kind:"ToolFailure",message:We(t.message)};if(t instanceof ke){let e=t.value,n;if(Ge(e))n="a non-data value";else if(typeof e=="string")n=e;else if(e!==null&&typeof e=="object"&&typeof e.message=="string")n=e.message;else try{n=JSON.stringify(ce(e))??String(e)}catch{n=String(e)}return{kind:"ExecutionFailure",message:`Uncaught: ${n}`}}return t instanceof RangeError&&/call stack|recursion/i.test(t.message)?{kind:"ExecutionFailure",message:"Execution exceeded the maximum nesting depth."}:t instanceof Error?{kind:t.name==="SyntaxError"?"ParseError":"ExecutionFailure",message:We(t.message)}:{kind:"ExecutionFailure",message:We(String(t))}},"normalizeError"),Sn=l(t=>{if(t instanceof ke)return t.value;if(t instanceof p)return $e(t.errorName,t.message);let e=t instanceof Error&&Be.has(t.name)?t.name:"Error";return $e(e,dt(t).message)},"caughtErrorValue"),ge=l(t=>t instanceof X||t instanceof z||t instanceof _||t instanceof V||t instanceof re||t instanceof ye||t instanceof fe||t instanceof U||t instanceof J||t instanceof K||t instanceof he||G(t),"isRuntimeReference"),Ge=l((t,e=new Set)=>{if(ge(t))return!0;if(t===null||typeof t!="object"||e.has(t))return!1;e.add(t);let n=Array.isArray(t)?t.some(r=>Ge(r,e)):Object.values(t).some(r=>Ge(r,e));return e.delete(t),n},"containsRuntimeReference"),we=l((t,e=new Set)=>{if(G(t))return!1;if(ge(t))return!0;if(t===null||typeof t!="object"||e.has(t))return!1;e.add(t);let n=Array.isArray(t)?t.some(r=>we(r,e)):Object.values(t).some(r=>we(r,e));return e.delete(t),n},"containsOpaqueReference"),Rn=l(t=>t instanceof X||t instanceof J||t instanceof _||t instanceof re||t instanceof fe||t instanceof ye||t instanceof he||t instanceof K?"function":t instanceof z?t.path.length>0?"function":"object":t instanceof V?t.name==="Math"||t.name==="JSON"||t.name==="console"?"object":"function":typeof t,"typeofValue"),hr=l((t,e,n)=>{if(e instanceof he){let r=_t(t);return r!==void 0&&(e.name==="Error"||r===e.name)}if(e instanceof V)switch(e.name){case"Date":return t instanceof C;case"RegExp":return t instanceof O;case"Map":return t instanceof $;case"Set":return t instanceof L;case"URL":return t instanceof N;case"URLSearchParams":return t instanceof R;case"Array":return Array.isArray(t);case"Object":return t!==null&&(typeof t=="object"||Rn(t)==="function")}if(e instanceof ye)return t instanceof U;if(e instanceof J&&(e.name==="Number"||e.name==="String"||e.name==="Boolean"))return!1;throw new p("The right-hand side of 'instanceof' must be a constructor CodeMode knows: Error (or a specific error type like TypeError), Date, RegExp, Map, Set, URL, URLSearchParams, Array, Object, or Promise.",n)},"instanceofValue"),gr=l((t,e,n,r)=>{let o=l(u=>{let f=n[u];if(typeof f!="string")throw new p(`String.${e} expects argument ${u+1} to be a string.`,r);return f},"str"),s=l(u=>{let f=n[u];if(typeof f!="number")throw new p(`String.${e} expects argument ${u+1} to be a number.`,r);return f},"num"),a=l(u=>n[u]===void 0?void 0:s(u),"optNum"),c=l(u=>n[u]===void 0?void 0:o(u),"optStr"),i;switch(e){case"toLowerCase":i=t.toLowerCase();break;case"toUpperCase":i=t.toUpperCase();break;case"trim":i=t.trim();break;case"trimStart":case"trimLeft":i=t.trimStart();break;case"trimEnd":case"trimRight":i=t.trimEnd();break;case"localeCompare":i=t.localeCompare(o(0));break;case"normalize":{let u=c(0);try{i=t.normalize(u)}catch{throw new p(`String.normalize expects the form "NFC", "NFD", "NFKC", or "NFKD" (got ${JSON.stringify(u)}).`,r).as("RangeError")}break}case"split":{if(n.length===0){i=[t];break}if(n[0]instanceof O){i=t.split(n[0].regex,a(1));break}let u=a(1);i=t.split(o(0),u===void 0?void 0:u>>>0);break}case"slice":i=t.slice(a(0),a(1));break;case"includes":i=t.includes(o(0),a(1));break;case"startsWith":i=t.startsWith(o(0),a(1));break;case"endsWith":i=t.endsWith(o(0),a(1));break;case"indexOf":i=t.indexOf(o(0),a(1));break;case"lastIndexOf":i=t.lastIndexOf(o(0),a(1));break;case"replace":case"replaceAll":{if(n[0]instanceof O){let u=n[0].regex,f=o(1);if(e==="replaceAll"&&!u.global)throw new p(`String.replaceAll requires a regular expression with the global (g) flag: write /${u.source}/${u.flags}g, or use String.replace to replace only the first match.`,r);i=e==="replace"?t.replace(u,f):t.replaceAll(u,f);break}if(e==="replace"){i=t.replace(o(0),o(1));break}i=t.replaceAll(o(0),o(1));break}case"match":{let u=_e(n[0],e,r),f=t.match(u);return f===null?null:u.global?A(f,"String.match result"):ze(f)}case"matchAll":{let u=_e(n[0],e,r,"g");if(!u.global)throw new p(`String.matchAll requires a regular expression with the global (g) flag: write /${u.source}/${u.flags}g, or use String.match for a single match.`,r);return Array.from(t.matchAll(u),ze)}case"search":{i=t.search(_e(n[0],e,r));break}case"repeat":{let u=s(0);if(!Number.isFinite(u)||u<0)throw new p("String.repeat expects a finite non-negative count.",r);i=t.repeat(u);break}case"padStart":i=t.padStart(s(0),c(1));break;case"padEnd":i=t.padEnd(s(0),c(1));break;case"charAt":i=t.charAt(a(0)??0);break;case"at":i=t.at(a(0)??0);break;case"substring":i=t.substring(a(0)??0,a(1));break;case"substr":i=t.substr(a(0)??0,a(1));break;case"charCodeAt":i=t.charCodeAt(a(0)??0);break;case"codePointAt":i=t.codePointAt(a(0)??0);break;case"toString":i=t;break;case"concat":{i=t.concat(...n.map((u,f)=>o(f)));break}default:throw new p(`String method '${e}' is not available in CodeMode.`,r)}return A(i,`String.${e} result`)},"invokeStringMethod"),wr=l((t,e,n)=>{switch(t){case"isArray":return Array.isArray(e[0]);case"of":return[...e];case"from":{if(e.length>1)throw new p("Array.from(...) does not support a map function in CodeMode; call .map() on the result instead.",n,"UnsupportedSyntax",[pe]);if(e[0]instanceof $)return Array.from(e[0].map.entries(),([o,s])=>[o,s]);if(e[0]instanceof L)return Array.from(e[0].set.values());if(e[0]instanceof R)return Array.from(e[0].params.entries(),([o,s])=>[o,s]);let r=A(e[0],"Array.from input");if(typeof r=="string")return Array.from(r);if(Array.isArray(r))return[...r];if(r!==null&&typeof r=="object"&&typeof r.length=="number")return Array.from(r);throw new p("Array.from expects an array, string, Map, Set, or array-like value.",n)}default:throw new p(`Array.${t} is not available in CodeMode.`,n)}},"invokeArrayStatic"),br=l((t,e,n)=>{if(t.namespace==="console")throw new p(`console.${t.name} is not available in CodeMode.`,n);if(t.namespace==="Object")return on(t.name,e,n);if(t.namespace==="Math")return Qt(t.name,e,n);if(t.namespace==="Array")return wr(t.name,e,n);if(t.namespace==="Number")return rn(t.name,e,n);if(t.namespace==="String")return pn(t.name,e,n);if(t.namespace==="URL")return wn(t.name,e,n);if(t.namespace==="Date"){if(!Kt.has(t.name))throw new p(`Date.${t.name} is not available in CodeMode.`,n);return Wt(t.name,e,n)}if(t.namespace==="RegExp"||t.namespace==="Map"||t.namespace==="Set"||t.namespace==="URLSearchParams")throw new p(`${t.namespace}.${t.name} is not available in CodeMode.`,n);return Xt(t.name,e,n)},"invokeGlobalMethod"),je=l((t,e=[])=>{switch(t.type){case"Identifier":e.push(v(t,"name"));break;case"AssignmentPattern":je(h(t,"left"),e);break;case"RestElement":je(h(t,"argument"),e);break;case"ArrayPattern":for(let n of B(t,"elements"))n!==null&&je(D(n,"elements"),e);break;case"ObjectPattern":for(let n of B(t,"properties")){let r=D(n,"properties");je(r.type==="RestElement"?h(r,"argument"):h(r,"value"),e)}break}return e},"collectPatternNames"),lt=class{static{l(this,"Interpreter")}scopes;invokeTool;toolKeys;logs;lastValue;callPermits;pendingSettlements=new Set;constructor(e,n,r=[]){let o=new Map;this.scopes=[o],this.invokeTool=e,this.toolKeys=n,this.logs=r,this.lastValue=void 0,this.callPermits=ur.makeUnsafe(an),o.set("tools",{mutable:!1,value:new z([])}),o.set("Promise",{mutable:!1,value:new ye}),o.set("undefined",{mutable:!1,value:void 0}),o.set("Object",{mutable:!1,value:new V("Object")}),o.set("Math",{mutable:!1,value:new V("Math")}),o.set("JSON",{mutable:!1,value:new V("JSON")}),o.set("Number",{mutable:!1,value:new J("Number")}),o.set("String",{mutable:!1,value:new J("String")}),o.set("Boolean",{mutable:!1,value:new J("Boolean")}),o.set("Array",{mutable:!1,value:new V("Array")}),o.set("console",{mutable:!1,value:new V("console")}),o.set("parseInt",{mutable:!1,value:new J("parseInt")}),o.set("parseFloat",{mutable:!1,value:new J("parseFloat")}),o.set("Date",{mutable:!1,value:new V("Date")}),o.set("RegExp",{mutable:!1,value:new V("RegExp")}),o.set("Map",{mutable:!1,value:new V("Map")}),o.set("Set",{mutable:!1,value:new V("Set")}),o.set("URL",{mutable:!1,value:new V("URL")}),o.set("URLSearchParams",{mutable:!1,value:new V("URLSearchParams")}),o.set("encodeURI",{mutable:!1,value:new K("encodeURI")}),o.set("encodeURIComponent",{mutable:!1,value:new K("encodeURIComponent")}),o.set("decodeURI",{mutable:!1,value:new K("decodeURI")}),o.set("decodeURIComponent",{mutable:!1,value:new K("decodeURIComponent")});for(let s of Be)o.set(s,{mutable:!1,value:new he(s)});o.set("NaN",{mutable:!1,value:NaN}),o.set("Infinity",{mutable:!1,value:1/0})}run(e){let n=this;return this.pushScope(),d.gen(function*(){n.hoistFunctions(e.body);let r,o=!1;for(let s of e.body){let a=yield*n.evaluateStatement(s);if(a.kind==="return"){r=a.value,o=!0;break}if(a.kind==="break"||a.kind==="continue")throw new p(`Unexpected '${a.kind}' outside of a loop.`,s);a.kind==="value"&&(n.lastValue=a.value)}return o||(r=n.lastValue),r instanceof U&&(r=yield*n.settlePromise(r)),yield*n.drainPendingSettlements(),r}).pipe(d.ensuring(d.sync(()=>n.popScope())))}drainPendingSettlements(){let e=this;return d.gen(function*(){for(let n of[...e.pendingSettlements]){let r=yield*e.observePromise(n);if(Ne.isSuccess(r)||se.hasInterruptsOnly(r.cause))continue;let o=dt(se.squash(r.cause));throw new p(`Unhandled rejection from an un-awaited tool call: ${o.message}`,void 0,o.kind,["Await tool calls - `const result = await tools.ns.tool(...)` - so failures can be caught and handled."])}})}createToolCallPromise(e,n){let r=this;return d.map(d.forkChild(this.callPermits.withPermit(d.suspend(()=>r.invokeTool(e,n))),{startImmediately:!0}),o=>{let s=new U(o);return r.pendingSettlements.add(s),s})}observePromise(e){return this.pendingSettlements.delete(e),e.fiber!==void 0?kn.await(e.fiber):d.exit(e.immediate??d.void)}settlePromise(e,n){let r=this;return d.flatMap(this.observePromise(e),o=>r.unwrapPromiseExit(e,o,n))}unwrapPromiseExit(e,n,r){return Ne.isSuccess(n)?d.succeed(n.value):e?.interrupted===!0&&se.hasInterruptsOnly(n.cause)?d.fail(new p("This tool call was interrupted because another value settled a Promise.race first.",r)):d.failCause(n.cause)}evaluateStatement(e){switch(e.type){case"ExpressionStatement":return d.map(this.evaluateExpression(h(e,"expression")),n=>({kind:"value",value:n}));case"VariableDeclaration":return d.map(this.evaluateVariableDeclaration(e),()=>({kind:"none"}));case"ReturnStatement":{let n=Z(e,"argument");return n?d.map(this.evaluateExpression(n),r=>({kind:"return",value:r})):d.succeed({kind:"return",value:void 0})}case"BlockStatement":return this.evaluateBlock(e);case"IfStatement":return this.evaluateIfStatement(e);case"SwitchStatement":return this.evaluateSwitchStatement(e);case"WhileStatement":return this.evaluateWhileStatement(e);case"DoWhileStatement":return this.evaluateDoWhileStatement(e);case"ForStatement":return this.evaluateForStatement(e);case"ForOfStatement":return this.evaluateForOfStatement(e);case"ForInStatement":return this.evaluateForInStatement(e);case"BreakStatement":return d.succeed(this.evaluateBreakStatement(e));case"ContinueStatement":return d.succeed(this.evaluateContinueStatement(e));case"ThrowStatement":return this.evaluateThrowStatement(e);case"TryStatement":return this.evaluateTryStatement(e);case"EmptyStatement":return d.succeed({kind:"none"});case"FunctionDeclaration":return d.succeed({kind:"none"});default:throw Ce(e.type,e)}}evaluateBlock(e){this.pushScope();let n=this;return d.gen(function*(){let r=B(e,"body");n.hoistFunctions(r);for(let o of r){let s=D(o,"body"),a=yield*n.evaluateStatement(s);if(a.kind==="value"){n.lastValue=a.value;continue}if(a.kind!=="none")return a}return{kind:"none"}}).pipe(d.ensuring(d.sync(()=>n.popScope())))}createFunction(e){if(e.generator===!0)throw new p("Generator functions are not supported in CodeMode.",e,"UnsupportedSyntax",[pe]);return new X(B(e,"params").map((n,r)=>D(n,`params[${r}]`)),h(e,"body"),this.scopes.slice())}hoistFunctions(e){for(let n of e){if(!Ee(n)||n.type!=="FunctionDeclaration")continue;let r=n;this.declare(v(h(r,"id"),"name"),this.createFunction(r),!0,r)}}evaluateIfStatement(e){let n=h(e,"test"),r=h(e,"consequent"),o=Z(e,"alternate");return d.flatMap(this.evaluateExpression(n),s=>s?this.evaluateStatement(r):o?this.evaluateStatement(o):d.succeed({kind:"none"}))}evaluateSwitchStatement(e){let n=this;return this.pushScope(),d.gen(function*(){let r=yield*n.evaluateExpression(h(e,"discriminant"));if(we(r))throw new p("Switch discriminants must be data values in CodeMode.",e,"InvalidDataValue");let o=B(e,"cases").map((i,u)=>D(i,`cases[${u}]`)),s,a;for(let[i,u]of o.entries()){let f=Z(u,"test");if(!f){s=i;continue}let m=yield*n.evaluateExpression(f);if(we(m))throw new p("Switch case values must be data values in CodeMode.",f,"InvalidDataValue");if(m===r){a=i;break}}let c=a??s;if(c===void 0)return{kind:"none"};for(let i=c;i<o.length;i+=1)for(let u of B(o[i],"consequent")){let f=yield*n.evaluateStatement(D(u,"consequent"));if(f.kind==="break")return{kind:"none"};if(f.kind==="return"||f.kind==="continue")return f;f.kind==="value"&&(n.lastValue=f.value)}return{kind:"none"}}).pipe(d.ensuring(d.sync(()=>n.popScope())))}evaluateWhileStatement(e){let n=h(e,"test"),r=h(e,"body"),o=this;return d.gen(function*(){for(;yield*o.evaluateExpression(n);){let s=yield*o.evaluateStatement(r);if(s.kind!=="continue"){if(s.kind==="break")return{kind:"none"};if(s.kind==="return")return s;s.kind==="value"&&(o.lastValue=s.value)}}return{kind:"none"}})}evaluateDoWhileStatement(e){let n=h(e,"body"),r=h(e,"test"),o=this;return d.gen(function*(){do{let s=yield*o.evaluateStatement(n);if(s.kind!=="continue"){if(s.kind==="break")return{kind:"none"};if(s.kind==="return")return s;s.kind==="value"&&(o.lastValue=s.value)}}while(yield*o.evaluateExpression(r));return{kind:"none"}})}evaluateForStatement(e){this.pushScope();let n=this;return d.gen(function*(){let r=Z(e,"init"),o=Z(e,"test"),s=Z(e,"update"),a=h(e,"body");r&&(r.type==="VariableDeclaration"?yield*n.evaluateVariableDeclaration(r):yield*n.evaluateExpression(r));let c=r?.type==="VariableDeclaration"&&v(r,"kind")!=="var"?Array.from(n.currentScope().keys()):[];for(;!o||(yield*n.evaluateExpression(o));){let i;c.length>0&&(i=new Map(c.map(f=>{let m=n.currentScope().get(f);return[f,{...m}]})),n.scopes.push(i));let u=yield*n.evaluateStatement(a).pipe(d.ensuring(d.sync(()=>{i&&n.popScope()})));if(u.kind==="return")return u;if(u.kind==="break")return{kind:"none"};if(u.kind==="value"&&(n.lastValue=u.value),i){let f=n.currentScope();for(let m of c)f.set(m,{...i.get(m)})}s&&(yield*n.evaluateExpression(s)),u.kind}return{kind:"none"}}).pipe(d.ensuring(d.sync(()=>n.popScope())))}evaluateForOfStatement(e){if(ve(e,"await"))throw new p("for await...of is not supported.",e);let n=this;return d.gen(function*(){let r=h(e,"left"),o=yield*n.evaluateExpression(h(e,"right")),s=h(e,"body"),a=Array.isArray(o)?o:Oe(o);if(a===void 0)throw new p("for...of requires an array, string, Map, or Set value in CodeMode.",e);let c,i;if(r.type==="VariableDeclaration"){let u=B(r,"declarations");if(u.length!==1)throw new p("for...of supports one declared binding.",r);let f=D(u[0],"declarations[0]");c={pattern:h(f,"id"),mutable:v(r,"kind")!=="const"}}else if(r.type==="Identifier")i=v(r,"name");else throw new p("Unsupported for...of binding.",r);for(let u of a){c?(n.pushScope(),yield*n.declarePattern(c.pattern,u,c.mutable,r)):i&&n.setIdentifierValue(i,u,r);let f=yield*n.evaluateStatement(s).pipe(d.ensuring(d.sync(()=>{c&&n.popScope()})));if(f.kind==="return")return f;if(f.kind==="break")return{kind:"none"};f.kind==="value"&&(n.lastValue=f.value),f.kind}return{kind:"none"}})}enumerableKeys(e){if(e instanceof z)return[...this.toolKeys(e.path)];if(Array.isArray(e)||e!==null&&typeof e=="object"&&!ge(e))return Object.keys(e)}evaluateForInStatement(e){let n=this;return d.gen(function*(){let r=h(e,"left"),o=yield*n.evaluateExpression(h(e,"right")),s=h(e,"body"),a=n.enumerableKeys(o);if(a===void 0)throw new p("for...in requires a plain object, array, or tools reference in CodeMode. Use for...of for arrays/strings/Maps/Sets, or Object.keys(value) for a key list.",e);let c,i;if(r.type==="VariableDeclaration"){let u=B(r,"declarations");if(u.length!==1)throw new p("for...in supports one declared binding.",r);let f=D(u[0],"declarations[0]");c={pattern:h(f,"id"),mutable:v(r,"kind")!=="const"}}else if(r.type==="Identifier")i=v(r,"name");else throw new p("Unsupported for...in binding.",r);for(let u of a){c?(n.pushScope(),yield*n.declarePattern(c.pattern,u,c.mutable,r)):i&&n.setIdentifierValue(i,u,r);let f=yield*n.evaluateStatement(s).pipe(d.ensuring(d.sync(()=>{c&&n.popScope()})));if(f.kind==="return")return f;if(f.kind==="break")return{kind:"none"};f.kind==="value"&&(n.lastValue=f.value),f.kind}return{kind:"none"}})}evaluateBreakStatement(e){if(Z(e,"label"))throw new p("Labeled break is not supported in v1.",e);return{kind:"break"}}evaluateContinueStatement(e){if(Z(e,"label"))throw new p("Labeled continue is not supported in v1.",e);return{kind:"continue"}}evaluateThrowStatement(e){let n=h(e,"argument");return d.flatMap(this.evaluateExpression(n),r=>d.fail(new ke(r)))}evaluateTryStatement(e){let n=h(e,"block"),r=Z(e,"handler"),o=Z(e,"finalizer"),s=this,a=d.matchCauseEffect(this.evaluateStatement(n),{onFailure:l(i=>{if(i.reasons.some(se.isInterruptReason)||!r)return d.failCause(i);let u=Sn(se.squash(i)),f=Z(r,"param");return s.pushScope(),d.gen(function*(){return f&&(yield*s.declarePattern(f,u,!0,r)),yield*s.evaluateStatement(h(r,"body"))}).pipe(d.ensuring(d.sync(()=>s.popScope())))},"onFailure"),onSuccess:d.succeed});if(!o)return a;let c=l(i=>i.kind==="return"||i.kind==="break"||i.kind==="continue","isAbrupt");return d.matchCauseEffect(a,{onFailure:l(i=>i.reasons.some(se.isInterruptReason)?d.failCause(i):d.flatMap(this.evaluateStatement(o),u=>c(u)?d.succeed(u):d.failCause(i)),"onFailure"),onSuccess:l(i=>d.flatMap(this.evaluateStatement(o),u=>c(u)?d.succeed(u):d.succeed(i)),"onSuccess")})}evaluateVariableDeclaration(e){let n=v(e,"kind"),r=B(e,"declarations"),o=this;return d.gen(function*(){for(let s of r){let a=D(s,"declarations");if(a.type!=="VariableDeclarator")throw new p("Unsupported variable declaration shape.",a);let c=Z(a,"init"),i=c?yield*o.evaluateExpression(c):void 0;yield*o.declarePattern(h(a,"id"),i,n!=="const",a)}})}declarePattern(e,n,r,o){let s=this;return d.gen(function*(){if(e.type==="Identifier"){s.declare(v(e,"name"),n,r,o);return}if(e.type==="AssignmentPattern"){let a=n===void 0?yield*s.evaluateExpression(h(e,"right")):n;yield*s.declarePattern(h(e,"left"),a,r,o);return}if(e.type==="ObjectPattern"){if(n===null||typeof n!="object"||Array.isArray(n)||ge(n))throw new p("Object destructuring requires a data object value.",e,"InvalidDataValue");let a=new Set;for(let c of B(e,"properties")){let i=D(c,"properties");if(i.type==="RestElement"){let m=Object.create(null);for(let[g,y]of Object.entries(n))!a.has(g)&&!F(g)&&(m[g]=y);yield*s.declarePattern(h(i,"argument"),m,r,i);continue}if(i.type!=="Property"||ve(i,"computed")||v(i,"kind")!=="init")throw new p("Only named object destructuring properties are supported.",i);let u=h(i,"key"),f=u.type==="Identifier"?v(u,"name"):String(u.value);if(F(f))throw new p(`Property '${f}' is not available in CodeMode.`,u);a.add(f),yield*s.declarePattern(h(i,"value"),n[f],r,i)}return}if(e.type==="ArrayPattern"){if(!Array.isArray(n))throw new p("Array destructuring requires an array value.",e);for(let[a,c]of B(e,"elements").entries()){if(c===null)continue;let i=D(c,`elements[${a}]`);if(i.type==="RestElement"){yield*s.declarePattern(h(i,"argument"),n.slice(a),r,i);break}yield*s.declarePattern(i,n[a],r,e)}return}throw new p(`Unsupported binding pattern '${e.type}'.`,e)})}evaluateExpression(e){switch(e.type){case"Literal":{let n=e.regex;return Ee(n)&&typeof n.pattern=="string"?d.sync(()=>this.constructRegExp([n.pattern,typeof n.flags=="string"?n.flags:""],e)):d.sync(()=>A(e.value,"Literal"))}case"Identifier":return d.sync(()=>this.getIdentifierValue(v(e,"name"),e));case"BinaryExpression":return this.evaluateBinaryExpression(e);case"LogicalExpression":return this.evaluateLogicalExpression(e);case"UnaryExpression":return this.evaluateUnaryExpression(e);case"AssignmentExpression":return this.evaluateAssignmentExpression(e);case"CallExpression":return this.evaluateCallExpression(e);case"ArrowFunctionExpression":case"FunctionExpression":return d.sync(()=>this.createFunction(e));case"MemberExpression":return this.readMember(e);case"ChainExpression":return d.map(this.evaluateExpression(h(e,"expression")),n=>n===oe?void 0:n);case"ObjectExpression":return this.evaluateObjectExpression(e);case"ArrayExpression":return this.evaluateArrayExpression(e);case"TemplateLiteral":return this.evaluateTemplateLiteral(e);case"ConditionalExpression":return this.evaluateConditionalExpression(e);case"UpdateExpression":return this.evaluateUpdateExpression(e);case"AwaitExpression":{let n=this;return d.flatMap(this.evaluateExpression(h(e,"argument")),r=>r instanceof U?n.settlePromise(r,e):d.succeed(r))}case"NewExpression":return this.evaluateNewExpression(e);default:throw Ce(e.type,e)}}evaluateNewExpression(e){let n=h(e,"callee");if(n.type!=="Identifier")throw Ce("NewExpression",e);let r=v(n,"name"),o=B(e,"arguments"),s=this;if(r==="Promise")throw new p("new Promise(...) is not supported in CodeMode; tool calls already return promises - call the tool and await the result.",e,"UnsupportedSyntax",[pe]);if(Be.has(r))return d.gen(function*(){let a=o.length>0?yield*s.evaluateExpression(D(o[0],"arguments[0]")):void 0;return $e(r,a===void 0?"":w(a))});if(Jt.has(r))return d.gen(function*(){let a=yield*s.evaluateCallArguments(o);switch(r){case"Date":return s.constructDate(a);case"RegExp":return s.constructRegExp(a,e);case"Map":return s.constructMap(a[0],e);case"Set":return s.constructSet(a[0],e);case"URL":return s.constructURL(a,e);default:return s.constructURLSearchParams(a[0],e)}});throw Ce("NewExpression",e)}constructDate(e){if(e.length===0)return new C(Date.now());if(e.length===1){let r=e[0];return r instanceof C?new C(r.time):typeof r=="number"?new C(new Date(r).getTime()):typeof r=="string"?new C(Date.parse(r)):new C(Number.NaN)}let n=e.map(r=>Se(r));return new C(new Date(...n).getTime())}constructRegExp(e,n){let r=e[0],o=r instanceof O?r.regex.source:r===void 0?"":w(r),s=e[1];if(s!==void 0&&typeof s!="string")throw new p(`RegExp flags must be a string of flag characters (e.g. "g", "gi"), not ${s===null?"null":typeof s}.`,n);let a=s??(r instanceof O?r.regex.flags:"");try{return new O(o,a)}catch(c){let i=ct(c);throw new p(/flag/i.test(i)?`new RegExp(...) received invalid flags ${JSON.stringify(a)} (${i}). Valid flags are d, g, i, m, s, u, v, and y.`:`new RegExp(...) received ${JSON.stringify(o)}, which is not a valid regular expression pattern (${i}). ${ut}`,n).as("SyntaxError")}}constructMap(e,n){let r=new $;if(e==null)return r;let o=Array.isArray(e)?e:e instanceof $?Array.from(e.map.entries(),([s,a])=>[s,a]):void 0;if(o===void 0)throw new p("new Map(...) expects an array of [key, value] pairs, a Map, or no argument.",n);for(let s of o){if(!Array.isArray(s))throw new p("new Map(...) expects [key, value] pairs.",n);r.map.set(s[0],s[1])}return r}constructSet(e,n){let r=new L;if(e==null)return r;let o=Array.isArray(e)?e:e instanceof L?Array.from(e.set.values()):typeof e=="string"?Array.from(e):void 0;if(o===void 0)throw new p("new Set(...) expects an array, Set, string, or no argument.",n);for(let s of o)r.set.add(s);return r}constructURL(e,n){if(e.length===0)throw new p("new URL(...) requires a URL string and an optional base URL.",n).as("TypeError");let r=Me(e[0],"new URL input"),o=e[1]===void 0?void 0:Me(e[1],"new URL base");try{return new N(new URL(r,o))}catch{throw new p(`new URL(...) received an invalid URL${o===void 0?"":" or base URL"}.`,n).as("TypeError")}}constructURLSearchParams(e,n){if(e===void 0)return new R(new URLSearchParams);if(e instanceof R)return new R(new URLSearchParams(e.params));if(typeof e=="string")return new R(new URLSearchParams(e));if(e===null||typeof e=="number"||typeof e=="boolean")return new R(new URLSearchParams(w(e)));if(e instanceof $)return this.constructURLSearchParams(Array.from(e.map.entries(),([o,s])=>[o,s]),n);if(Array.isArray(e)){let o=e.map(s=>{if(!Array.isArray(s)||s.length!==2)throw new p("new URLSearchParams(...) expects an array of [name, value] pairs.",n).as("TypeError");return[xe(s[0],"URLSearchParams name"),xe(s[1],"URLSearchParams value")]});return new R(new URLSearchParams(o))}if(G(e))return new R(new URLSearchParams);let r=A(e,"new URLSearchParams input");if(r===null||typeof r!="object")throw new p("new URLSearchParams(...) expects a query string, data object, array of pairs, or URLSearchParams.",n).as("TypeError");return new R(new URLSearchParams(Object.fromEntries(Object.entries(r).map(([o,s])=>[o,w(s)]))))}evaluateBinaryExpression(e){let n=v(e,"operator"),r=this;return d.gen(function*(){let o=yield*r.evaluateExpression(h(e,"left")),s=yield*r.evaluateExpression(h(e,"right"));return n==="instanceof"?hr(o,s,e):A(r.applyBinaryOperator(n,o,s,e),"Binary expression result")})}applyBinaryOperator(e,n,r,o){if(we(n)||we(r))throw new p("Binary operators require data values in CodeMode.",o,"InvalidDataValue");let s=l(u=>u instanceof C?e==="+"?w(u):u.time:u!==null&&typeof u=="object"?w(u):u,"coerceOperand"),a=n!==null&&typeof n=="object"&&r!==null&&typeof r=="object",c=s(n),i=s(r);switch(e){case"+":return c+i;case"-":return c-i;case"*":return c*i;case"/":return c/i;case"%":return c%i;case"**":return c**i;case"==":return a?n===r:c==i;case"===":return n===r;case"!=":return a?n!==r:c!=i;case"!==":return n!==r;case"<":return c<i;case"<=":return c<=i;case">":return c>i;case">=":return c>=i;case"&":return c&i;case"|":return c|i;case"^":return c^i;case"<<":return c<<i;case">>":return c>>i;case">>>":return c>>>i;case"in":if(r===null||typeof r!="object")throw new p("The 'in' operator requires a data object on the right-hand side.",o);return Object.hasOwn(r,s(n));default:throw new p(`Unsupported binary operator '${e}'.`,o)}}evaluateLogicalExpression(e){let n=v(e,"operator");return d.flatMap(this.evaluateExpression(h(e,"left")),r=>{if(n==="&&")return r?this.evaluateExpression(h(e,"right")):d.succeed(r);if(n==="||")return r?d.succeed(r):this.evaluateExpression(h(e,"right"));if(n==="??")return r!=null?d.succeed(r):this.evaluateExpression(h(e,"right"));throw new p(`Unsupported logical operator '${n}'.`,e)})}evaluateUnaryExpression(e){let n=v(e,"operator"),r=h(e,"argument");return n==="typeof"&&r.type==="Identifier"&&!this.resolveBinding(v(r,"name"))?d.succeed("undefined"):d.map(this.evaluateExpression(r),o=>{if(n==="typeof")return Rn(o);if(n==="!")return!o;if(we(o))throw new p("Unary operators require data values in CodeMode.",e,"InvalidDataValue");let s=o instanceof C?o.time:o!==null&&typeof o=="object"?w(o):o,a;switch(n){case"+":a=+s;break;case"-":a=-s;break;case"~":a=~s;break;default:throw new p(`Unsupported unary operator '${n}'.`,e)}return A(a,"Unary expression result")})}evaluateAssignmentExpression(e){let n=h(e,"left"),r=v(e,"operator"),o=this;return d.gen(function*(){if(r==="??="||r==="||="||r==="&&=")return yield*o.evaluateLogicalAssignment(e,n,r);let s=yield*o.evaluateExpression(h(e,"right"));if(n.type==="Identifier"){let a=v(n,"name");if(r==="=")return o.setIdentifierValue(a,s,n);let c=A(o.applyCompoundAssignment(r,o.getIdentifierValue(a,n),s,e),"Assignment result");return o.setIdentifierValue(a,c,n)}if(n.type==="MemberExpression")return r==="="?yield*o.writeMember(n,s):yield*o.modifyMember(n,a=>{let c=A(o.applyCompoundAssignment(r,a,s,e),"Assignment result");return d.succeed({write:!0,next:c,result:c})});throw new p("Assignment target must be an Identifier or MemberExpression.",n)})}evaluateLogicalAssignment(e,n,r){let o=this,s=l(a=>r==="??="?a==null:r==="||="?!a:!!a,"shouldAssign");if(n.type==="Identifier"){let a=v(n,"name");return d.gen(function*(){let c=o.getIdentifierValue(a,n);if(!s(c))return c;let i=yield*o.evaluateExpression(h(e,"right"));return o.setIdentifierValue(a,i,n)})}if(n.type==="MemberExpression")return o.modifyMember(n,a=>s(a)?d.map(o.evaluateExpression(h(e,"right")),c=>({write:!0,next:c,result:c})):d.succeed({write:!1,next:a,result:a}));throw new p("Assignment target must be an Identifier or MemberExpression.",n)}evaluateUpdateExpression(e){let n=v(e,"operator"),r=h(e,"argument"),o=ve(e,"prefix"),s=n==="++"?1:n==="--"?-1:void 0;if(s===void 0)throw new p(`Unsupported update operator '${n}'.`,e);if(r.type==="Identifier")return d.sync(()=>{let a=v(r,"name"),c=Number(this.getIdentifierValue(a,r)),i=c+s;return this.setIdentifierValue(a,i,r),o?i:c});if(r.type==="MemberExpression")return this.modifyMember(r,a=>{let c=Number(a),i=c+s;return d.succeed({write:!0,next:i,result:o?i:c})});throw new p("Update target must be an Identifier or MemberExpression.",r)}evaluateCallExpression(e){let n=h(e,"callee"),r=B(e,"arguments"),o=this;return d.gen(function*(){let s=yield*o.evaluateExpression(n);if(s===oe)return oe;if(s==null&&e.optional===!0)return oe;let a=yield*o.evaluateCallArguments(r);if(s instanceof z){if(s.path.length===0)throw new p("The tools root is not callable.",n);return yield*o.createToolCallPromise(s.path,a)}if(s instanceof fe)return yield*o.invokePromiseMethod(s,a,e);if(s instanceof X)return yield*o.invokeFunction(s,a);if(s instanceof _)return yield*o.invokeIntrinsic(s,a,e);if(s instanceof re)return s.namespace==="console"?o.invokeConsole(s.name,a,e):s.namespace==="Object"&&a[0]instanceof z?o.invokeObjectMethodOnTools(s.name,a[0],e):A(br(s,a,e),`${s.namespace}.${s.name} result`);if(s instanceof J)return A(He(s,a,e),`${s.name} result`);if(s instanceof K)return Ke(s,a,e);if(s instanceof he)return $e(s.name,a[0]===void 0?"":w(a[0]));throw new p("Only tools are callable in CodeMode.",n)})}invokeObjectMethodOnTools(e,n,r){if(e==="keys")return A(this.enumerableKeys(n),"Object.keys result");throw new p(`Object.${e}(...) cannot read tool references: they are not plain data. Use Object.keys(tools) for names, or tools.$codemode.search({ query }) for signatures.`,r,"InvalidDataValue")}invokeConsole(e,n,r){if(!Ft.has(e))throw new p(`console.${e} is not available in CodeMode.`,r);this.logs.push(We(this.formatConsoleMessage(e,n,r)))}formatConsoleMessage(e,n,r){return e==="dir"?n.length===0?"undefined":this.formatConsoleArgument(n[0]):e==="table"?this.formatConsoleTable(n[0],n[1],r):`${e==="warn"?"[warn] ":e==="error"?"[error] ":e==="debug"?"[debug] ":""}${n.map(s=>this.formatConsoleArgument(s)).join(" ")}`}formatConsoleArgument(e){return e===void 0?"undefined":typeof e=="string"?e:this.formatConsoleValue(e,new Set,0)}formatConsoleValue(e,n,r){if(e==null)return"null";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean"||typeof e!="object")return String(e);if(e instanceof U)return"[Promise (await it to get its value)]";if(e instanceof C)return w(e);if(e instanceof O)return w(e);if(e instanceof N)return w(e);if(e instanceof R)return w(e);if(r>Vt)return"...";if(n.has(e))return"[Circular]";if(e instanceof $){n.add(e);try{let o=Array.from(e.map.entries(),([s,a])=>[s,a]);return`Map(${e.map.size}) ${this.formatConsoleValue(o,n,r+1)}`}finally{n.delete(e)}}if(e instanceof L){n.add(e);try{return`Set(${e.set.size}) ${this.formatConsoleValue(Array.from(e.set.values()),n,r+1)}`}finally{n.delete(e)}}if(ge(e))return"[CodeMode reference]";n.add(e);try{return Array.isArray(e)?`[${e.map(o=>this.formatConsoleValue(o,n,r+1)).join(",")}]`:`{${Object.entries(e).map(([o,s])=>`${JSON.stringify(o)}:${this.formatConsoleValue(s,n,r+1)}`).join(",")}}`}finally{n.delete(e)}}formatConsoleTable(e,n,r){if(e===void 0)return"undefined";if(we(e))return"[CodeMode reference]";let o=A(e,"console.table argument"),s=this.consoleTableColumns(n,r),a=this.consoleTableRows(o,s),c=s??Array.from(new Set(a.flatMap(u=>Object.keys(u.values))));return[["(index)",...c].join(" "),...a.map(u=>[u.index,...c.map(f=>this.formatConsoleTableCell(u.values[f]))].join(" "))].join(`
30
- `)}consoleTableColumns(e,n){if(e===void 0||Ge(e))return;let r=ce(ne(e,"console.table columns"),!0);return Array.isArray(r)?r.map(o=>String(o)):void 0}consoleTableRows(e,n){return Array.isArray(e)?e.map((r,o)=>({index:String(o),values:this.consoleTableValues(r,n)})):e!==null&&typeof e=="object"&&!G(e)?Object.entries(e).map(([r,o])=>({index:r,values:this.consoleTableValues(o,n)})):[{index:"0",values:{Value:e}}]}consoleTableValues(e,n){if(e!==null&&typeof e=="object"&&!Array.isArray(e)&&!G(e)){let r=e;return Object.fromEntries(n!==void 0?n.map(o=>[o,r[o]]):Object.entries(r))}return{Value:e}}formatConsoleTableCell(e){return e===void 0?"":typeof e=="string"?e:this.formatConsoleValue(e,new Set,0)}evaluateCallArguments(e){let n=this;return d.gen(function*(){let r=[];for(let[o,s]of e.entries()){let a=D(s,`arguments[${o}]`);if(a.type==="SpreadElement"){let c=yield*n.evaluateExpression(h(a,"argument")),i=Oe(c);if(i===void 0)throw new p("Spread arguments require an array, string, Map, or Set in CodeMode.",a);r.push(...i)}else r.push(yield*n.evaluateExpression(a))}return r})}invokePromiseMethod(e,n,r){let o=this;if(e.name==="resolve"){let a=n[0];return d.succeed(a instanceof U?a:new U(void 0,d.succeed(a)))}if(e.name==="reject")return d.sync(()=>new U(void 0,d.fail(new ke(n[0]))));let s=Array.isArray(n[0])?n[0]:Oe(n[0]);if(s===void 0)throw new p(`Promise.${e.name} expects an array of promises or plain values (e.g. Promise.${e.name}(items.map((item) => tools.ns.tool(item)))).`,r);switch(e.name){case"all":{let a=s.map(c=>c instanceof U?this.settlePromise(c,r):d.succeed(c));return d.gen(function*(){let c=[];for(let i of a)c.push(yield*i);return c})}case"allSettled":{let a=s.map(c=>c instanceof U?d.map(this.observePromise(c),i=>({promise:c,exit:i})):d.succeed({promise:void 0,exit:Ne.succeed(c)}));return d.gen(function*(){let c=[];for(let i of a){let{exit:u,promise:f}=yield*i;if(Ne.isSuccess(u)){c.push(Object.assign(Object.create(null),{status:"fulfilled",value:u.value}));continue}let m=f?.interrupted===!0&&se.hasInterruptsOnly(u.cause);if(se.hasInterruptsOnly(u.cause)&&!m)return yield*d.failCause(u.cause);let g=m?new p("This tool call was interrupted because another value settled a Promise.race first.",r):se.squash(u.cause);c.push(Object.assign(Object.create(null),{status:"rejected",reason:Sn(g)}))}return c})}case"race":{if(s.length===0)throw new p("Promise.race([]) would never settle; provide at least one promise or value.",r);let a=s.map((c,i)=>c instanceof U?d.map(this.observePromise(c),u=>({index:i,exit:u})):d.succeed({index:i,exit:Ne.succeed(c)}));return d.gen(function*(){let c=yield*d.raceAll(a);for(let[u,f]of s.entries())u===c.index||!(f instanceof U)||f.fiber===void 0||(f.interrupted=!0,yield*kn.interrupt(f.fiber));let i=s[c.index];return yield*o.unwrapPromiseExit(i instanceof U?i:void 0,c.exit,r)})}}}invokeFunction(e,n){let r=this;return d.suspend(()=>{let o=r.scopes;return r.scopes=[...e.capturedScopes,new Map],d.gen(function*(){let a=r.currentScope();for(let c of e.parameters)for(let i of je(c))a.set(i,{mutable:!0,value:void 0,initialized:!1});for(let[c,i]of e.parameters.entries()){if(i.type==="RestElement"){yield*r.declarePattern(h(i,"argument"),n.slice(c),!0,i);break}yield*r.declarePattern(i,n[c],!0,i)}if(e.body.type==="BlockStatement"){let c=yield*r.evaluateStatement(e.body);return c.kind==="return"||c.kind==="value"?c.value:void 0}return yield*r.evaluateExpression(e.body)}).pipe(d.ensuring(d.sync(()=>{r.scopes=o})))})}invokeIntrinsic(e,n,r){if(typeof e.receiver=="string")return(e.name==="replace"||e.name==="replaceAll")&&(n[1]instanceof X||n[1]instanceof J||n[1]instanceof K)?this.invokeStringReplacer(e.receiver,e.name,n,r):d.succeed(gr(e.receiver,e.name,n,r));if(typeof e.receiver=="number")return d.succeed(nn(e.receiver,e.name,n,r));if(Array.isArray(e.receiver))return this.invokeArrayMethod(e.receiver,e.name,n,r);if(e.receiver instanceof C)return d.succeed(Gt(e.receiver,e.name,r));if(e.receiver instanceof O)return d.succeed(ln(e.receiver,e.name,n,r));if(e.receiver instanceof $)return this.invokeMapMethod(e.receiver,e.name,n,r);if(e.receiver instanceof L)return this.invokeSetMethod(e.receiver,e.name,n,r);if(e.receiver instanceof N)return d.succeed(bn(e.receiver,e.name,r));if(e.receiver instanceof R)return this.invokeURLSearchParamsMethod(e.receiver,e.name,n,r);throw new p(`Method '${e.name}' is not available in CodeMode.`,r)}invokeStringReplacer(e,n,r,o){let s=this.applyCollectionCallback(r[1],`String.${n}`,o),a=[],c=l((...u)=>{let f=u[0],m=u[u.length-1],g=m!==null&&typeof m=="object",y=u[u.length-(g?3:2)];if(typeof f!="string"||typeof y!="number")throw new p(`String.${n} produced an invalid replacement match.`,o);if(g){let E=Object.create(null);for(let[I,ee]of Object.entries(m))F(I)||(E[I]=ee);u[u.length-1]=E}return a.push({match:f,offset:y,args:u}),f},"collect"),i=r[0];if(i instanceof O){if(n==="replaceAll"&&!i.regex.global)throw new p(`String.replaceAll requires a regular expression with the global (g) flag: write /${i.regex.source}/${i.regex.flags}g, or use String.replace to replace only the first match.`,o);n==="replace"?e.replace(i.regex,c):e.replaceAll(i.regex,c)}else{if(typeof i!="string")throw new p(`String.${n} expects argument 1 to be a string.`,o);n==="replace"?e.replace(i,c):e.replaceAll(i,c)}return d.gen(function*(){let u=[],f=0;for(let m of a)u.push(e.slice(f,m.offset),w(A(yield*s(m.args),`String.${n} replacer result`))),f=m.offset+m.match.length;return u.push(e.slice(f)),A(u.join(""),`String.${n} result`)})}applyCollectionCallback(e,n,r){if(!(e instanceof X)&&!(e instanceof J)&&!(e instanceof K))throw new p(`${n} expects a function callback.`,r);return o=>e instanceof J?d.succeed(He(e,o,r)):e instanceof K?d.succeed(Ke(e,o,r)):this.invokeFunction(e,o)}invokeMapMethod(e,n,r,o){switch(n){case"get":return d.succeed(e.map.get(r[0]));case"has":return d.succeed(e.map.has(r[0]));case"set":return d.sync(()=>(e.map.set(r[0],r[1]),e));case"delete":return d.sync(()=>e.map.delete(r[0]));case"clear":return d.sync(()=>{e.map.clear()});case"keys":return d.sync(()=>Array.from(e.map.keys()));case"values":return d.sync(()=>Array.from(e.map.values()));case"entries":return d.sync(()=>Array.from(e.map.entries(),([s,a])=>[s,a]));case"forEach":{let s=this.applyCollectionCallback(r[0],"Map.forEach",o);return d.gen(function*(){for(let[a,c]of Array.from(e.map.entries()))yield*s([c,a,e])})}default:throw new p(`Map method '${n}' is not available in CodeMode.`,o)}}invokeSetMethod(e,n,r,o){switch(n){case"has":return d.succeed(e.set.has(r[0]));case"add":return d.sync(()=>(e.set.add(r[0]),e));case"delete":return d.sync(()=>e.set.delete(r[0]));case"clear":return d.sync(()=>{e.set.clear()});case"keys":case"values":return d.sync(()=>Array.from(e.set.values()));case"entries":return d.sync(()=>Array.from(e.set.values(),s=>[s,s]));case"forEach":{let s=this.applyCollectionCallback(r[0],"Set.forEach",o);return d.gen(function*(){for(let a of Array.from(e.set.values()))yield*s([a,a,e])})}default:throw new p(`Set method '${n}' is not available in CodeMode.`,o)}}invokeURLSearchParamsMethod(e,n,r,o){let s=l(c=>xe(r[c],`URLSearchParams.${n} argument ${c+1}`),"arg"),a=l(c=>{if(r.length<c)throw new p(`URLSearchParams.${n} requires ${c} argument${c===1?"":"s"}.`,o).as("TypeError")},"requireArgs");switch(n){case"append":return a(2),d.sync(()=>{e.params.append(s(0),s(1))});case"delete":return a(1),d.sync(()=>{r[1]!==void 0?e.params.delete(s(0),s(1)):e.params.delete(s(0))});case"get":return a(1),d.sync(()=>e.params.get(s(0)));case"getAll":return a(1),d.sync(()=>e.params.getAll(s(0)));case"has":return a(1),d.sync(()=>r[1]!==void 0?e.params.has(s(0),s(1)):e.params.has(s(0)));case"set":return a(2),d.sync(()=>{e.params.set(s(0),s(1))});case"sort":return d.sync(()=>{e.params.sort()});case"keys":return d.sync(()=>Array.from(e.params.keys()));case"values":return d.sync(()=>Array.from(e.params.values()));case"entries":return d.sync(()=>Array.from(e.params.entries(),([c,i])=>[c,i]));case"toString":return d.sync(()=>e.params.toString());case"forEach":{a(1);let c=this.applyCollectionCallback(r[0],"URLSearchParams.forEach",o);return d.gen(function*(){for(let[i,u]of Array.from(e.params.entries()))yield*c([u,i,e])})}default:throw new p(`URLSearchParams method '${n}' is not available in CodeMode.`,o)}}invokeArrayMethod(e,n,r,o){let s=l((u,f)=>{if(u!==void 0){if(typeof u!="number")throw new p(`Array.${n} expects ${f} to be a number.`,o);return u}},"optNumber");switch(n){case"join":{if(r.length>1||r.length===1&&typeof r[0]!="string")throw new p("Array.join expects zero arguments or one string separator.",o);let u=A(e,"Array.join input");return d.succeed(u.map(f=>w(f??"")).join(r.length===0?",":r[0]))}case"includes":if(r.length===0||r.length>2)throw new p("Array.includes expects a value and optional start index.",o);return d.succeed(e.includes(r[0],s(r[1],"start index")));case"indexOf":return d.succeed(e.indexOf(r[0],s(r[1],"start index")));case"lastIndexOf":return d.succeed(r[1]===void 0?e.lastIndexOf(r[0]):e.lastIndexOf(r[0],s(r[1],"start index")));case"at":return d.succeed(e.at(s(r[0],"index")??0));case"slice":return d.succeed(e.slice(s(r[0],"start"),s(r[1],"end")));case"concat":return d.succeed(e.concat(...r));case"flat":return d.succeed(e.flat(s(r[0],"depth")??1));case"reverse":return d.succeed([...e].reverse());case"sort":case"toSorted":return this.sortArray(e,r[0],o);case"toReversed":return d.succeed([...e].reverse());case"with":{let u=s(r[0],"index")??0,f=u<0?e.length+u:u;if(f<0||f>=e.length)throw new p("Array.with index is out of range.",o);let m=[...e];return m[f]=r[1],d.succeed(m)}case"push":{for(let u of r)this.rejectCircularInsertion(e,u,"Array.push result",o);return e.push(...r),d.succeed(e.length)}case"unshift":{for(let u of r)this.rejectCircularInsertion(e,u,"Array.unshift result",o);return e.unshift(...r),d.succeed(e.length)}case"pop":return d.succeed(e.pop());case"shift":return d.succeed(e.shift());case"splice":{if(r.length===0)return d.succeed(e.splice(0,0));let u=s(r[0],"start")??0;if(r.length===1)return d.succeed(e.splice(u));let f=s(r[1],"delete count")??0,m=r.slice(2);for(let g of m)this.rejectCircularInsertion(e,g,"Array.splice result",o);return d.succeed(e.splice(u,f,...m))}case"fill":return this.rejectCircularInsertion(e,r[0],"Array.fill result",o),d.succeed(e.fill(r[0],s(r[1],"start"),s(r[2],"end")));case"copyWithin":return d.succeed(e.copyWithin(s(r[0],"target index")??0,s(r[1],"start")??0,s(r[2],"end")));case"keys":return d.succeed(Array.from(e.keys()));case"values":return d.succeed([...e]);case"entries":return d.succeed(Array.from(e.entries(),([u,f])=>[u,f]))}let a=r[0];if(!(a instanceof X)&&!(a instanceof J)&&!(a instanceof K))throw new p(`Array.${n} expects a function callback.`,o);let c=this,i=l(u=>a instanceof J?d.succeed(He(a,u,o)):a instanceof K?d.succeed(Ke(a,u,o)):c.invokeFunction(a,u),"apply");return d.gen(function*(){let u=e.slice();switch(n){case"map":{let f=[];for(let[m,g]of u.entries())f.push(yield*i([g,m,u]));return f}case"flatMap":{let f=[];for(let[m,g]of u.entries()){let y=yield*i([g,m,u]);Array.isArray(y)?f.push(...y):f.push(y)}return f}case"filter":{let f=[];for(let[m,g]of u.entries())(yield*i([g,m,u]))&&f.push(g);return f}case"find":for(let[f,m]of u.entries())if(yield*i([m,f,u]))return m;return;case"findIndex":for(let[f,m]of u.entries())if(yield*i([m,f,u]))return f;return-1;case"some":for(let[f,m]of u.entries())if(yield*i([m,f,u]))return!0;return!1;case"every":for(let[f,m]of u.entries())if(!(yield*i([m,f,u])))return!1;return!0;case"forEach":for(let[f,m]of u.entries())yield*i([m,f,u]);return;case"reduce":{let f,m;if(r.length>=2)f=r[1],m=0;else{if(u.length===0)throw new p("Array.reduce of an empty array with no initial value.",o);f=u[0],m=1}for(let g=m;g<u.length;g+=1)f=yield*i([f,u[g],g,u]);return f}case"reduceRight":{let f,m;if(r.length>=2)f=r[1],m=u.length-1;else{if(u.length===0)throw new p("Array.reduceRight of an empty array with no initial value.",o);f=u[u.length-1],m=u.length-2}for(let g=m;g>=0;g-=1)f=yield*i([f,u[g],g,u]);return f}case"findLast":for(let f=u.length-1;f>=0;f-=1)if(yield*i([u[f],f,u]))return u[f];return;case"findLastIndex":for(let f=u.length-1;f>=0;f-=1)if(yield*i([u[f],f,u]))return f;return-1}throw new p(`Array method '${n}' is not available in CodeMode.`,o)})}sortArray(e,n,r){if(n!==void 0&&!(n instanceof X))throw new p("Array.sort expects an arrow function comparator.",r);if(!(n instanceof X))return d.sync(()=>[...e].sort((i,u)=>{let f=w(i),m=w(u);return f<m?-1:f>m?1:0}));let o=this,s=l(i=>{if(i.length<=1)return d.succeed(i);let u=Math.floor(i.length/2);return d.gen(function*(){let f=yield*s(i.slice(0,u)),m=yield*s(i.slice(u)),g=[],y=0,E=0;for(;y<f.length&&E<m.length;){let I=Se(yield*o.invokeFunction(n,[f[y],m[E]]));Number.isNaN(I)||I<=0?g.push(f[y++]):g.push(m[E++])}return[...g,...f.slice(y),...m.slice(E)]})},"mergeSort"),a=e.filter(i=>i!==void 0),c=e.length-a.length;return d.map(s(a),i=>[...i,...Array(c).fill(void 0)])}evaluateObjectExpression(e){let n=Object.create(null),r=B(e,"properties"),o=this;return d.gen(function*(){for(let s of r){let a=D(s,"properties");if(a.type==="SpreadElement"){let m=yield*o.evaluateExpression(h(a,"argument"));if(m==null||G(m))continue;if(typeof m!="object"||Array.isArray(m)||ge(m))throw new p("Object spread requires a data object in CodeMode.",a,"InvalidDataValue");for(let[g,y]of Object.entries(m)){if(F(g))throw new p(`Property '${g}' is not available in CodeMode.`,a);n[g]=y}continue}if(a.type!=="Property")throw new p("Only standard object properties are supported.",a);if(v(a,"kind")!=="init")throw new p("Only init object properties are supported.",a);let c=h(a,"key"),i=h(a,"value"),u=ve(a,"computed"),f;if(u)f=o.toPropertyKey(yield*o.evaluateExpression(c),c);else if(c.type==="Identifier")f=v(c,"name");else if(c.type==="Literal")f=o.toPropertyKey(c.value,c);else throw new p("Unsupported object property key shape.",c);if(F(String(f)))throw new p(`Property '${String(f)}' is not available in CodeMode.`,c);n[String(f)]=yield*o.evaluateExpression(i)}return n})}evaluateArrayExpression(e){let n=B(e,"elements"),r=[],o=this;return d.gen(function*(){for(let s of n){if(s===null){r.push(void 0);continue}let a=D(s,"elements");if(a.type==="SpreadElement"){let c=yield*o.evaluateExpression(h(a,"argument")),i=Oe(c);if(i===void 0)throw new p("Array spread requires an array, string, Map, or Set in CodeMode.",a);r.push(...i)}else r.push(yield*o.evaluateExpression(a))}return r})}evaluateTemplateLiteral(e){let n=B(e,"quasis"),r=B(e,"expressions"),o="",s=this;return d.gen(function*(){for(let a=0;a<n.length;a+=1){let c=D(n[a],"quasis"),i=c.value;if(!Ee(i)||typeof i.cooked!="string")throw new p("Invalid template literal quasi.",c);if(o+=i.cooked,a<r.length){let u=yield*s.evaluateExpression(D(r[a],"expressions"));o+=w(A(u,"Template interpolation"))}}return o})}evaluateConditionalExpression(e){return d.flatMap(this.evaluateExpression(h(e,"test")),n=>this.evaluateExpression(h(e,n?"consequent":"alternate")))}applyCompoundAssignment(e,n,r,o){if(!Bt.has(e))throw new p(`Unsupported assignment operator '${e}'.`,o);return this.applyBinaryOperator(e.slice(0,-1),n,r,o)}getMemberReference(e){let n=h(e,"object"),r=h(e,"property"),o=ve(e,"computed"),s=e.optional===!0,a=this;return d.gen(function*(){let c=yield*a.evaluateExpression(n);if(c===oe)return oe;if(c==null&&s)return oe;let i=o?a.toPropertyKey(yield*a.evaluateExpression(r),r):r.type==="Identifier"?v(r,"name"):a.toPropertyKey(yield*a.evaluateExpression(r),r);if(c instanceof z){if(typeof i!="string"||F(i))throw new p("Tool paths must use safe string property names.",r);return new z([...c.path,i])}if(c instanceof ye){if(typeof i=="string"&&sn.has(i))return new fe(i);throw new p(`Promise.${String(i)} is not available in CodeMode. Available: Promise.all, Promise.allSettled, Promise.race, Promise.resolve, and Promise.reject; consume promises with await.`,r)}if(c instanceof V){if(typeof i!="string"||F(i))throw new p(`${c.name}.${String(i)} is not available in CodeMode.`,r);return c.name==="Math"&&Yt.has(i)?new T(Math[i]):new re(c.name,i)}if(typeof c=="string")return i==="length"?new T(c.length):typeof i=="number"?new T(c[i]):typeof i=="string"&&/^\d+$/.test(i)?new T(c[Number(i)]):typeof i=="string"&&dn.has(i)?new _(c,i):new T(void 0);if(typeof c=="number")return typeof i=="string"&&Zt.has(i)?new _(c,i):new T(void 0);if(c instanceof J&&typeof i=="string"&&!F(i)){if(c.name==="Number"&&en.has(i))return new T(Number[i]);if(c.name==="Number"&&tn.has(i))return new re("Number",i);if(c.name==="String"&&fn.has(i))return new re("String",i)}if(c instanceof C)return typeof i=="string"&&zt.has(i)?new _(c,i):new T(void 0);if(c instanceof O)return typeof i=="string"&&un.has(i)?new T(c.regex[i]):typeof i=="string"&&cn.has(i)?new _(c,i):new T(void 0);if(c instanceof $)return i==="size"?new T(c.map.size):typeof i=="string"&&Lt.has(i)?new _(c,i):new T(void 0);if(c instanceof L)return i==="size"?new T(c.set.size):typeof i=="string"&&qt.has(i)?new _(c,i):new T(void 0);if(c instanceof N)return i==="searchParams"?new T(c.searchParams):typeof i=="string"&&hn.has(i)?new _(c,i):typeof i=="string"&&mn.has(i)?{target:c,key:i}:new T(void 0);if(c instanceof R)return i==="size"?new T(c.params.size):typeof i=="string"&&gn.has(i)?new _(c,i):new T(void 0);if(c instanceof U)throw i==="then"||i==="catch"||i==="finally"?new p(`Promise.prototype.${String(i)} is not supported in CodeMode; use await instead (with try/catch to handle failures) - e.g. \`const result = await tools.ns.tool(...)\`.`,r,"UnsupportedSyntax",[pe]):new p("This value is an un-awaited Promise and has no readable properties; await it first - e.g. `const result = await tools.ns.tool(...)`.",n,"InvalidDataValue");if(ge(c))throw new p("CodeMode runtime references are opaque and do not expose properties.",n,"InvalidDataValue");if(typeof c!="object"||c===null)throw new p("Cannot access a property on a non-object value.",n);if(typeof i=="string"&&F(i))throw new p(`Property '${i}' is not available in CodeMode.`,r);return Array.isArray(c)?i!=="length"&&!(typeof i=="string"&&Je.has(i))&&typeof i!="number"&&!/^\d+$/.test(i)?typeof i=="string"&&Object.hasOwn(c,i)?new T(c[i]):new T(void 0):{target:c,key:i}:{target:c,key:i}})}readMember(e){return d.map(this.getMemberReference(e),n=>n===oe?oe:n instanceof T?n.value:n===void 0||n instanceof z||n instanceof fe||n instanceof _||n instanceof re?n:Array.isArray(n.target)?typeof n.key=="string"&&Je.has(n.key)?new _(n.target,n.key):n.key==="length"?n.target.length:n.target[Number(n.key)]:n.target instanceof N?n.target.url[String(n.key)]:n.target[String(n.key)])}writeMember(e,n){return this.modifyMember(e,()=>d.succeed({write:!0,next:n,result:n}))}modifyMember(e,n){let r=this;return d.gen(function*(){let o=yield*r.getMemberReference(e);if(o===oe||o instanceof T||o===void 0||o instanceof z||o instanceof fe||o instanceof _||o instanceof re)throw new p("Only data fields may be assigned in CodeMode.",e);if(Array.isArray(o.target)){if(o.key==="length")throw new p("Array length cannot be assigned in CodeMode.",e);if(typeof o.key=="string"&&Je.has(o.key))throw new p("Array methods cannot be assigned in CodeMode.",e)}let s=Array.isArray(o.target)?Number(o.key):String(o.key),a=o.target instanceof N?o.target.url[s]:o.target[s],{write:c,next:i,result:u}=yield*n(a);return c&&r.assignToReference(o,s,i,e),u})}rejectCircularInsertion(e,n,r,o,s=new Set){if(n===e)throw new p(`${r} contains a circular value.`,o,"InvalidDataValue");if(n===null||typeof n!="object"||ge(n)||s.has(n))return;s.add(n);let a=Array.isArray(n)?n:Object.values(n);for(let c of a)this.rejectCircularInsertion(e,c,r,o,s);s.delete(n)}assignToReference(e,n,r,o){if(Array.isArray(e.target)){let c=e.target,i=n;if(!Number.isInteger(i)||i<0)throw new p("Array assignment index must be a non-negative integer.",o,"InvalidDataValue");this.rejectCircularInsertion(c,r,"Array assignment result",o),c[i]=r;return}if(e.target instanceof N){let c=n;if(!yn.has(c))throw new p(`URL.${c} is read-only.`,o).as("TypeError");try{let i=e.target.url;i[c]=xe(r,`URL.${c} value`);return}catch(i){throw i instanceof p||i instanceof j?i:new p(`URL.${c} received an invalid value.`,o).as("TypeError")}}let s=e.target,a=n;this.rejectCircularInsertion(s,r,"Object assignment result",o),s[a]=r}toPropertyKey(e,n){if(typeof e=="string"||typeof e=="number")return e;throw new p("Property key must be a string or number.",n)}declare(e,n,r,o){let s=this.currentScope(),a=s.get(e);if(a&&a.initialized!==!1)throw new p(`Identifier '${e}' has already been declared.`,o);s.set(e,{mutable:r,value:n,initialized:!0})}getIdentifierValue(e,n){let r=this.resolveBinding(e);if(!r)throw new p(`Unknown identifier '${e}'.`,n).as("ReferenceError");if(r.initialized===!1)throw new p(`Cannot access '${e}' before initialization.`,n).as("ReferenceError");return r.value}setIdentifierValue(e,n,r){let o=this.resolveBinding(e);if(!o)throw new p(`Unknown identifier '${e}'.`,r).as("ReferenceError");if(!o.mutable)throw new p(`Cannot assign to constant '${e}'.`,r).as("TypeError");return o.value=n,n}resolveBinding(e){for(let n=this.scopes.length-1;n>=0;n-=1){let o=this.scopes[n]?.get(e);if(o)return o}}currentScope(){let e=this.scopes[this.scopes.length-1];if(!e)throw new p("Interpreter scope stack is empty.");return e}pushScope(){this.scopes.push(new Map)}popScope(){this.scopes.pop()}},ft=l((t,e,n)=>{let r={...t.onToolCallStart===void 0?{}:{onToolCallStart:t.onToolCallStart},...t.onToolCallEnd===void 0?{}:{onToolCallEnd:t.onToolCallEnd}},o=ue.make(t.tools??{},e.maxToolCalls,n,r),s=[],a=l(()=>s.length>0?{logs:[...s]}:{},"logged");return t.code.trim().length===0?d.succeed({ok:!1,error:{kind:"ParseError",message:"Code cannot be empty."},toolCalls:o.calls}):d.gen(function*(){let i=yr(t.code),f=yield*new lt(o.invoke,o.keys,s).run(i);return{ok:!0,value:ce(ne(f,"Execution result"),!0),...a(),toolCalls:o.calls}}).pipe(i=>{let u=e.timeoutMs;return u===void 0?i:i.pipe(d.timeoutOrElse({duration:u,orElse:l(()=>d.succeed({ok:!1,error:{kind:"TimeoutExceeded",message:`Execution timed out after ${u}ms.`},...a(),toolCalls:o.calls}),"orElse")}))}).pipe(d.catchCause(i=>se.hasInterruptsOnly(i)?d.interrupt:d.succeed({ok:!1,error:dt(se.squash(i)),...a(),toolCalls:o.calls})),d.map(i=>e.maxOutputBytes===void 0?i:Sr(i,e.maxOutputBytes)))},"executeWithLimits"),xn=l(t=>new TextEncoder().encode(t).byteLength,"utf8ByteLength"),kr=l((t,e)=>{let n=new TextEncoder().encode(t);if(n.byteLength<=e)return t;let r=new TextDecoder("utf-8").decode(n.slice(0,Math.max(0,e)));return r.endsWith("\uFFFD")?r.slice(0,-1):r},"utf8Truncate"),Sr=l((t,e)=>{let n=!1,r=null,o=0;if(t.ok){let f=JSON.stringify(t.value)??"null",m=xn(f);m>e?(n=!0,r=`${kr(f,e)} [result truncated: ${m} bytes exceeds the ${e}-byte output limit; return a smaller value]`,o=e):(r=t.value,o=m)}let s=t.logs??[],a=[],c=Math.max(0,e-o),i=0;for(let f of s){let m=xn(f)+1;if(i+m>c)break;i+=m,a.push(f)}if(a.length<s.length&&(n=!0,a.push(`[logs truncated: showing ${a.length} of ${s.length} lines]`)),!n)return t;let u=a.length>0?{logs:a}:{};return t.ok?{ok:!0,value:r,...u,truncated:!0,toolCalls:t.toolCalls}:{ok:!1,error:t.error,...u,truncated:!0,toolCalls:t.toolCalls}},"boundOutput");var xr=S.Struct({code:S.String}),An=S.Literals(["ParseError","UnsupportedSyntax","UnknownTool","InvalidToolInput","InvalidToolOutput","InvalidDataValue","ToolCallLimitExceeded","TimeoutExceeded","ToolFailure","ExecutionFailure"]),En=S.Struct({kind:An,message:S.String,location:S.optionalKey(S.Struct({line:S.Number,column:S.Number})),suggestions:S.optionalKey(S.Array(S.String))}),vn=S.Struct({name:S.String}),Tn=S.Struct({ok:S.Literal(!0),value:S.Json,logs:S.optionalKey(S.Array(S.String)),truncated:S.optionalKey(S.Boolean),toolCalls:S.Array(vn)}),Cn=S.Struct({ok:S.Literal(!1),error:En,logs:S.optionalKey(S.Array(S.String)),truncated:S.optionalKey(S.Boolean),toolCalls:S.Array(vn)}),Rr=S.Union([Tn,Cn]),pt=l((t,e,n)=>{if(e!==void 0&&(!Number.isSafeInteger(e)||e<n))throw new RangeError(`${t} must be a safe integer greater than or equal to ${n}.`);return e},"validateLimit"),On=l(t=>({timeoutMs:pt("timeoutMs",t?.timeoutMs,1),maxToolCalls:pt("maxToolCalls",t?.maxToolCalls,0),maxOutputBytes:pt("maxOutputBytes",t?.maxOutputBytes,0)}),"resolveExecutionLimits"),Ar=l(t=>{let e=t.tools??{};return ue.assertValidTools(e),ft(t,On(t.limits),ue.searchIndex(e))},"execute"),Er=l((t={})=>{let e=t.tools??{};ue.assertValidTools(e);let n=On(t.limits),r=ue.prepare(e,t.discovery?.catalogBudget);return{catalog:l(()=>r.catalog,"catalog"),instructions:l(()=>r.instructions,"instructions"),execute:l(o=>ft({...t,code:o},n,r.searchIndex),"execute")}},"make");import"effect/unstable/http";import{Effect as Ms,Option as Ns,Schema as $n,Stream as js}from"effect";import{HttpClient as Ps,HttpClientRequest as Us}from"effect/unstable/http";import{fromSchemaOpenApi3_0 as As,fromSchemaOpenApi3_1 as Es}from"effect/JsonSchema";var Fs=$n.decodeUnknownOption($n.UnknownFromJsonString);var Vs=50*1024*1024;var Pe="execute",Or="Run a confined orchestration script with access to connected MCP tools.",$r=Nn.Struct({code:Nn.String.annotate({description:"Script body executed by the confined interpreter."})});function In(t,e){let n=[...e].sort((o,s)=>s.length-o.length),r=new Map;for(let o of Object.keys(t).sort((s,a)=>s.localeCompare(a))){let s=n.find(i=>o.startsWith(i+"_"))??(o.includes("_")?o.slice(0,o.indexOf("_")):o),a=s&&o.startsWith(s+"_")?o.slice(s.length+1):o,c={path:`${s}.${a}`,key:o,server:s,local:a,tool:t[o]};r.set(s,[...r.get(s)??[],c])}return r}l(In,"groupByServer");function Si(t,e){return Ie.make({tools:Pn([...In(t,e).values()].flat(),()=>()=>M.fail(be("Tool preview is not executable.")))}).instructions()}l(Si,"describeCatalog");var Mr=l(t=>{let e=t.split(/[?#]/,1)[0].replace(/\/+$/,""),n=e.slice(e.lastIndexOf("/")+1);return n.length>0?n:void 0},"lastSegment"),jn=l((t,e)=>`data:${t};base64,${e}`,"dataUrl");function Nr(t,e){let n=[],r=0,o=0,s=l(a=>{r+=1,a.mime.startsWith("image/")&&(o+=1),e(a)},"push");for(let a of t.content)switch(a.type){case"text":n.push(a.text);break;case"image":case"audio":s({type:"file",mime:a.mimeType,url:jn(a.mimeType,a.data)});break;case"resource":{if("text"in a.resource){n.push(a.resource.text);break}let c=a.resource.mimeType??"application/octet-stream";s({type:"file",mime:c,url:jn(c,a.resource.blob),filename:Mr(a.resource.uri)});break}case"resource_link":n.push(`${a.name}: ${a.uri}`);break}return t.structuredContent!==void 0&&t.structuredContent!==null?t.structuredContent:n.length>0?n.join(`
31
- `):r>0?`[${r} ${r===o?"image":"file"}${r===1?"":"s"} attached to the result]`:null}l(Nr,"projectMcpResult");function Pn(t,e){let n={};for(let r of t){let o=n[r.server]??={};o[r.local]=qe.make({description:r.tool.def.description??"",input:r.tool.def.inputSchema,output:r.tool.def.outputSchema,run:e(r)})}return n}l(Pn,"toolTree");var jr=M.fn("CodeMode.invokeChildTool")(function*(t){yield*t.plugin.trigger("tool.execute.before",{tool:t.entry.key,sessionID:t.ctx.sessionID,callID:t.callID},{args:t.args});let e=yield*M.gen(function*(){return yield*t.ctx.ask({permission:t.entry.key,metadata:{},patterns:["*"],always:["*"]}),yield*M.promise(async()=>{let n=await t.entry.tool.client.callTool({name:t.entry.tool.def.name,arguments:t.args},Cr,{resetTimeoutOnProgress:!0,signal:t.ctx.abort,timeout:t.entry.tool.timeout,onprogress:l(()=>{},"onprogress")});if(n.isError)throw new Error(n.content.flatMap(r=>r.type==="text"?[r.text]:[]).filter(r=>r.trim()).join(`
32
-
33
- `)||"MCP tool returned an error");return n})}).pipe(M.withSpan("Tool.execute",{attributes:{"tool.name":t.entry.key,"tool.call_id":t.callID,"session.id":t.ctx.sessionID,"message.id":t.ctx.messageID}}));return yield*t.plugin.trigger("tool.execute.after",{tool:t.entry.key,sessionID:t.ctx.sessionID,callID:t.callID,args:t.args},e),e}),xi=wt(Pe,M.gen(function*(){let t=yield*gt.Service,e=yield*kt.Service,n=yield*yt.Service,r=yield*bt.Service;return{description:Or,parameters:$r,execute:M.fn("CodeMode.execute")(function*(s,a){if(a.abort.aborted)return{title:Pe,metadata:{toolCalls:[],error:!0},output:"Execution cancelled."};let c=yield*e.get(a.agent),i=yield*n.get(a.sessionID).pipe(M.orDie),u=Ye.merge(c.permission,i.permission??[]),f=Ye.visibleTools(yield*t.tools(),u),m=Object.keys(yield*t.clients()).map(ht.sanitize),g=[...In(f,m).values()].flat(),y=[],E=[],I=l(()=>a.metadata({title:Pe,metadata:{toolCalls:y.map(P=>({...P}))}}),"publish"),ee=0,Y=l(P=>ie=>M.gen(function*(){ee+=1;let W=yield*jr({plugin:r,entry:P,args:ie??{},callID:`${a.callID??P.key}/${ee}`,ctx:a});return Nr(W,de=>{E.push(de)})}).pipe(M.catchCause(W=>{if(Mn.hasInterruptsOnly(W))return M.interrupt;let de=Mn.squash(W);return M.fail(be(de instanceof Error?de.message:String(de),de))})),"callTool"),le=Ie.make({tools:Pn(g,Y),onToolCallStart:l(({index:P,name:ie,input:W})=>M.suspend(()=>{let de=(()=>{if(W!=null){if(typeof W=="object"&&!Array.isArray(W)){let mt=W;return Object.keys(mt).length>0?mt:void 0}return{input:W}}})();return y[P]={tool:ie,status:"running",...de?{input:de}:{}},I()}),"onToolCallStart"),onToolCallEnd:l(({index:P,outcome:ie})=>M.suspend(()=>{let W=y[P];return W&&(y[P]={...W,status:ie==="success"?"completed":"error"}),I()}),"onToolCallEnd")}),b=M.callback(P=>{if(a.abort.aborted)return P(M.void);let ie=l(()=>P(M.void),"handler");return a.abort.addEventListener("abort",ie,{once:!0}),M.sync(()=>a.abort.removeEventListener("abort",ie))}),k=l(()=>({ok:!1,error:{kind:"ExecutionFailure",message:"Execution cancelled."},toolCalls:y.map(P=>({name:P.tool}))}),"cancelled"),x=yield*M.raceFirst(le.execute(s.code),b.pipe(M.map(k))),Q=x.logs??[],Ue=l(P=>Q.length===0?P:P.length>0?`${P}
34
-
35
- Logs:
36
- ${Q.join(`
37
- `)}`:`Logs:
38
- ${Q.join(`
39
- `)}`,"withLogs");if(!x.ok){if(a.abort.aborted)return{title:Pe,metadata:{toolCalls:y,error:!0},output:"Execution cancelled."};let P=(x.error.suggestions??[]).filter(ie=>!x.error.message.includes(ie));return yield*M.fail(new Error(Ue([x.error.message,...P].join(`
40
- `))))}let De=typeof x.value=="string"?x.value:JSON.stringify(x.value,null,2)??String(x.value);return{title:Pe,metadata:{toolCalls:y},output:Ue(De),...E.length>0?{attachments:E}:{}}},M.orDie)}}));export{Pe as CODE_MODE_TOOL,xi as CodeModeTool,$r as Parameters,Si as describeCatalog};
@@ -1,14 +0,0 @@
1
- // Built by esbuild from opencode-server source
2
- if (typeof globalThis.Bun === 'undefined') {
3
- globalThis.Bun = {
4
- version: '0.0.0-node-compat',
5
- stdin: { async text() { const chunks = []; for await (const c of process.stdin) chunks.push(c); return Buffer.concat(chunks).toString(); } },
6
- which(cmd) { try { return require('child_process').execFileSync('which', [cmd], { encoding: 'utf8' }).trim(); } catch { return null; } },
7
- };
8
- }
9
- if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
- if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
- import { createRequire as __alchemyCreateRequire } from 'node:module';
12
- const require = __alchemyCreateRequire(import.meta.url);
13
-
14
- import{a as c}from"./chunk-RHIWAYN5.js";import{withoutTrailingSlash as Et,withUserAgentSuffix as Lt}from"@ai-sdk/provider-utils";import{InvalidResponseDataError as B}from"@ai-sdk/provider";import{combineHeaders as ie,createEventSourceResponseHandler as Ee,createJsonErrorResponseHandler as Le,createJsonResponseHandler as De,generateId as W,isParsableJson as re,parseProviderOptions as se,postJsonToApi as ae}from"@ai-sdk/provider-utils";import{z as h}from"zod/v4";import{UnsupportedFunctionalityError as Pe}from"@ai-sdk/provider";import{convertToBase64 as Ve}from"@ai-sdk/provider-utils";function L(o){return o?.providerOptions?.copilot??{}}c(L,"getOpenAIMetadata");function te(o){let s=[];for(let{role:b,content:y,...I}of o){let _=L({...I});switch(b){case"system":{s.push({role:"system",content:y,..._});break}case"user":{if(y.length===1&&y[0].type==="text"){s.push({role:"user",content:y[0].text,...L(y[0])});break}s.push({role:"user",content:y.map(l=>{let i=L(l);switch(l.type){case"text":return{type:"text",text:l.text,...i};case"file":if(l.mediaType.startsWith("image/")){let m=l.mediaType==="image/*"?"image/jpeg":l.mediaType;return{type:"image_url",image_url:{url:l.data instanceof URL?l.data.toString():`data:${m};base64,${Ve(l.data)}`},...i}}else throw new Pe({functionality:`file part media type ${l.mediaType}`})}}),..._});break}case"assistant":{let l="",i,m,a=[];for(let n of y){let C=L(n),p=n.providerOptions?.copilot?.reasoningOpaque;switch(p&&!m&&(m=p),n.type){case"text":{l+=n.text;break}case"reasoning":{n.text&&(i=n.text);break}case"tool-call":{a.push({id:n.toolCallId,type:"function",function:{name:n.toolName,arguments:JSON.stringify(n.input)},...C});break}}}s.push({role:"assistant",content:l||null,tool_calls:a.length>0?a:void 0,reasoning_text:m?i:void 0,reasoning_opaque:m,..._});break}case"tool":{for(let l of y){if(l.type==="tool-approval-response")continue;let i=l.output,m;switch(i.type){case"text":case"error-text":m=i.value;break;case"execution-denied":m=i.reason??"Tool execution denied.";break;case"content":case"json":case"error-json":m=JSON.stringify(i.value);break}let a=L(l);s.push({role:"tool",tool_call_id:l.toolCallId,content:m,...a})}break}default:{let l=b;throw new Error(`Unsupported role: ${l}`)}}}return s}c(te,"convertToOpenAICompatibleChatMessages");function J({id:o,model:s,created:b}){return{id:o??void 0,modelId:s??void 0,timestamp:b!=null?new Date(b*1e3):void 0}}c(J,"getResponseMetadata");function G(o){switch(o){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}c(G,"mapOpenAICompatibleFinishReason");import{z as D}from"zod/v4";var F=D.object({user:D.string().optional(),reasoningEffort:D.string().optional(),textVerbosity:D.string().optional(),thinking_budget:D.number().optional()});import{z}from"zod/v4";var Ne=z.object({error:z.object({message:z.string(),type:z.string().nullish(),param:z.any().nullish(),code:z.union([z.string(),z.number()]).nullish()})}),ne={errorSchema:Ne,errorToMessage:c(o=>o.error.message,"errorToMessage")};import{UnsupportedFunctionalityError as ze}from"@ai-sdk/provider";function oe({tools:o,toolChoice:s}){o=o?.length?o:void 0;let b=[];if(o==null)return{tools:void 0,toolChoice:void 0,toolWarnings:b};let y=[];for(let _ of o)_.type==="provider"?b.push({type:"unsupported",feature:`tool type: ${_.type}`}):y.push({type:"function",function:{name:_.name,description:_.description,parameters:_.inputSchema}});if(s==null)return{tools:y,toolChoice:void 0,toolWarnings:b};let I=s.type;switch(I){case"auto":case"none":case"required":return{tools:y,toolChoice:I,toolWarnings:b};case"tool":return{tools:y,toolChoice:{type:"function",function:{name:s.toolName}},toolWarnings:b};default:{let _=I;throw new ze({functionality:`tool choice type: ${_}`})}}}c(oe,"prepareTools");var U=class{static{c(this,"OpenAICompatibleChatLanguageModel")}specificationVersion="v3";supportsStructuredOutputs;modelId;config;failedResponseHandler;chunkSchema;constructor(s,b){this.modelId=s,this.config=b;let y=b.errorStructure??ne;this.chunkSchema=We(y.errorSchema),this.failedResponseHandler=Le(y),this.supportsStructuredOutputs=b.supportsStructuredOutputs??!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:s,maxOutputTokens:b,temperature:y,topP:I,topK:_,frequencyPenalty:l,presencePenalty:i,providerOptions:m,stopSequences:a,responseFormat:n,seed:C,toolChoice:p,tools:r}){let g=[],f=Object.assign(await se({provider:"copilot",providerOptions:m,schema:F})??{},await se({provider:this.providerOptionsName,providerOptions:m,schema:F})??{});_!=null&&g.push({type:"unsupported",feature:"topK"}),n?.type==="json"&&n.schema!=null&&!this.supportsStructuredOutputs&&g.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:u,toolChoice:x,toolWarnings:v}=oe({tools:r,toolChoice:p});return{args:{model:this.modelId,user:f.user,max_tokens:b,temperature:y,top_p:I,frequency_penalty:l,presence_penalty:i,response_format:n?.type==="json"?this.supportsStructuredOutputs===!0&&n.schema!=null?{type:"json_schema",json_schema:{schema:n.schema,name:n.name??"response",description:n.description}}:{type:"json_object"}:void 0,stop:a,seed:C,...Object.fromEntries(Object.entries(m?.[this.providerOptionsName]??{}).filter(([d])=>!Object.keys(F.shape).includes(d))),reasoning_effort:f.reasoningEffort,verbosity:f.textVerbosity,messages:te(s),tools:u,tool_choice:x,thinking_budget:f.thinking_budget},warnings:[...g,...v]}}async doGenerate(s){let{args:b,warnings:y}=await this.getArgs({...s}),I=JSON.stringify(b),{responseHeaders:_,value:l,rawValue:i}=await ae({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:ie(this.config.headers(),s.headers),body:b,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:De(Fe),abortSignal:s.abortSignal,fetch:this.config.fetch}),m=l.choices[0],a=[],n=m.message.content;n!=null&&n.length>0&&a.push({type:"text",text:n,providerMetadata:m.message.reasoning_opaque?{copilot:{reasoningOpaque:m.message.reasoning_opaque}}:void 0});let C=m.message.reasoning_text;if(C!=null&&C.length>0&&a.push({type:"reasoning",text:C,providerMetadata:m.message.reasoning_opaque?{copilot:{reasoningOpaque:m.message.reasoning_opaque}}:void 0}),m.message.tool_calls!=null)for(let g of m.message.tool_calls)a.push({type:"tool-call",toolCallId:g.id??W(),toolName:g.function.name,input:g.function.arguments,providerMetadata:m.message.reasoning_opaque?{copilot:{reasoningOpaque:m.message.reasoning_opaque}}:void 0});let p={[this.providerOptionsName]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:i})},r=l.usage?.completion_tokens_details;return r?.accepted_prediction_tokens!=null&&(p[this.providerOptionsName].acceptedPredictionTokens=r?.accepted_prediction_tokens),r?.rejected_prediction_tokens!=null&&(p[this.providerOptionsName].rejectedPredictionTokens=r?.rejected_prediction_tokens),{content:a,finishReason:{unified:G(m.finish_reason),raw:m.finish_reason??void 0},usage:{inputTokens:{total:l.usage?.prompt_tokens??void 0,noCache:void 0,cacheRead:l.usage?.prompt_tokens_details?.cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:l.usage?.completion_tokens??void 0,text:void 0,reasoning:l.usage?.completion_tokens_details?.reasoning_tokens??void 0},raw:l.usage??void 0},providerMetadata:p,request:{body:I},response:{...J(l),headers:_,body:i},warnings:y}}async doStream(s){let{args:b,warnings:y}=await this.getArgs({...s}),I={...b,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},_=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:l,value:i}=await ae({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:ie(this.config.headers(),s.headers),body:I,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:Ee(this.chunkSchema),abortSignal:s.abortSignal,fetch:this.config.fetch}),m=[],a={unified:"other",raw:void 0},n={completionTokens:void 0,completionTokensDetails:{reasoningTokens:void 0,acceptedPredictionTokens:void 0,rejectedPredictionTokens:void 0},promptTokens:void 0,promptTokensDetails:{cachedTokens:void 0},totalTokens:void 0},C=!0,p=this.providerOptionsName,r=!1,g=!1,f;return{stream:i.pipeThrough(new TransformStream({start(u){u.enqueue({type:"stream-start",warnings:y})},transform(u,x){if(s.includeRawChunks&&x.enqueue({type:"raw",rawValue:u.rawValue}),!u.success){a={unified:"error",raw:void 0},x.enqueue({type:"error",error:u.error});return}let v=u.value;if(_?.processChunk(u.rawValue),"error"in v){a={unified:"error",raw:void 0},x.enqueue({type:"error",error:v.error.message});return}if(C&&(C=!1,x.enqueue({type:"response-metadata",...J(v)})),v.usage!=null){let{prompt_tokens:R,completion_tokens:P,total_tokens:M,prompt_tokens_details:O,completion_tokens_details:V}=v.usage;n.promptTokens=R??void 0,n.completionTokens=P??void 0,n.totalTokens=M??void 0,V?.reasoning_tokens!=null&&(n.completionTokensDetails.reasoningTokens=V?.reasoning_tokens),V?.accepted_prediction_tokens!=null&&(n.completionTokensDetails.acceptedPredictionTokens=V?.accepted_prediction_tokens),V?.rejected_prediction_tokens!=null&&(n.completionTokensDetails.rejectedPredictionTokens=V?.rejected_prediction_tokens),O?.cached_tokens!=null&&(n.promptTokensDetails.cachedTokens=O?.cached_tokens)}let d=v.choices[0];if(d?.finish_reason!=null&&(a={unified:G(d.finish_reason),raw:d.finish_reason??void 0}),d?.delta==null)return;let t=d.delta;if(t.reasoning_opaque){if(f!=null)throw new B({data:t,message:"Multiple reasoning_opaque values received in a single response. Only one thinking part per response is supported."});f=t.reasoning_opaque}let k=t.reasoning_text;if(k&&(r||(x.enqueue({type:"reasoning-start",id:"reasoning-0"}),r=!0),x.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:k})),t.content&&(r&&!g&&(x.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:f?{copilot:{reasoningOpaque:f}}:void 0}),r=!1),g||(x.enqueue({type:"text-start",id:"txt-0",providerMetadata:f?{copilot:{reasoningOpaque:f}}:void 0}),g=!0),x.enqueue({type:"text-delta",id:"txt-0",delta:t.content})),t.tool_calls!=null){r&&(x.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:f?{copilot:{reasoningOpaque:f}}:void 0}),r=!1);for(let R of t.tool_calls){let P=R.index;if(m[P]==null){if(R.id==null)throw new B({data:R,message:"Expected 'id' to be a string."});if(R.function?.name==null)throw new B({data:R,message:"Expected 'function.name' to be a string."});x.enqueue({type:"tool-input-start",id:R.id,toolName:R.function.name}),m[P]={id:R.id,type:"function",function:{name:R.function.name,arguments:R.function.arguments??""},hasFinished:!1};let O=m[P];O.function?.name!=null&&O.function?.arguments!=null&&(O.function.arguments.length>0&&x.enqueue({type:"tool-input-delta",id:O.id,delta:O.function.arguments}),re(O.function.arguments)&&(x.enqueue({type:"tool-input-end",id:O.id}),x.enqueue({type:"tool-call",toolCallId:O.id??W(),toolName:O.function.name,input:O.function.arguments,providerMetadata:f?{copilot:{reasoningOpaque:f}}:void 0}),O.hasFinished=!0));continue}let M=m[P];M.hasFinished||(R.function?.arguments!=null&&(M.function.arguments+=R.function?.arguments??""),x.enqueue({type:"tool-input-delta",id:M.id,delta:R.function.arguments??""}),M.function?.name!=null&&M.function?.arguments!=null&&re(M.function.arguments)&&(x.enqueue({type:"tool-input-end",id:M.id}),x.enqueue({type:"tool-call",toolCallId:M.id??W(),toolName:M.function.name,input:M.function.arguments,providerMetadata:f?{copilot:{reasoningOpaque:f}}:void 0}),M.hasFinished=!0))}}},flush(u){r&&u.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:f?{copilot:{reasoningOpaque:f}}:void 0}),g&&u.enqueue({type:"text-end",id:"txt-0"});for(let v of m.filter(d=>!d.hasFinished))u.enqueue({type:"tool-input-end",id:v.id}),u.enqueue({type:"tool-call",toolCallId:v.id??W(),toolName:v.function.name,input:v.function.arguments});let x={[p]:{},...f?{copilot:{reasoningOpaque:f}}:{},..._?.buildMetadata()};n.completionTokensDetails.acceptedPredictionTokens!=null&&(x[p].acceptedPredictionTokens=n.completionTokensDetails.acceptedPredictionTokens),n.completionTokensDetails.rejectedPredictionTokens!=null&&(x[p].rejectedPredictionTokens=n.completionTokensDetails.rejectedPredictionTokens),u.enqueue({type:"finish",finishReason:a,usage:{inputTokens:{total:n.promptTokens,noCache:n.promptTokens!=null&&n.promptTokensDetails.cachedTokens!=null?n.promptTokens-n.promptTokensDetails.cachedTokens:void 0,cacheRead:n.promptTokensDetails.cachedTokens,cacheWrite:void 0},outputTokens:{total:n.completionTokens,text:void 0,reasoning:n.completionTokensDetails.reasoningTokens},raw:{prompt_tokens:n.promptTokens??null,completion_tokens:n.completionTokens??null,total_tokens:n.totalTokens??null}},providerMetadata:x})}})),request:{body:I},response:{headers:l}}}},le=h.object({prompt_tokens:h.number().nullish(),completion_tokens:h.number().nullish(),total_tokens:h.number().nullish(),prompt_tokens_details:h.object({cached_tokens:h.number().nullish()}).nullish(),completion_tokens_details:h.object({reasoning_tokens:h.number().nullish(),accepted_prediction_tokens:h.number().nullish(),rejected_prediction_tokens:h.number().nullish()}).nullish()}).nullish(),Fe=h.object({id:h.string().nullish(),created:h.number().nullish(),model:h.string().nullish(),choices:h.array(h.object({message:h.object({role:h.literal("assistant").nullish(),content:h.string().nullish(),reasoning_text:h.string().nullish(),reasoning_opaque:h.string().nullish(),tool_calls:h.array(h.object({id:h.string().nullish(),function:h.object({name:h.string(),arguments:h.string()})})).nullish()}),finish_reason:h.string().nullish()})),usage:le}),We=c(o=>h.union([h.object({id:h.string().nullish(),created:h.number().nullish(),model:h.string().nullish(),choices:h.array(h.object({delta:h.object({role:h.enum(["assistant"]).nullish(),content:h.string().nullish(),reasoning_text:h.string().nullish(),reasoning_opaque:h.string().nullish(),tool_calls:h.array(h.object({index:h.number(),id:h.string().nullish(),function:h.object({name:h.string().nullish(),arguments:h.string().nullish()})})).nullish()}).nullish(),finish_reason:h.string().nullish()})),usage:le}),o]),"createOpenAICompatibleChatChunkSchema");import{APICallError as rt}from"@ai-sdk/provider";import{combineHeaders as ke,createEventSourceResponseHandler as st,createJsonResponseHandler as at,generateId as $,parseProviderOptions as lt,postJsonToApi as Ie}from"@ai-sdk/provider-utils";import{z as e}from"zod/v4";import{z as E}from"zod/v4";import{createJsonErrorResponseHandler as Ue}from"@ai-sdk/provider-utils";var $e=E.object({error:E.object({message:E.string(),type:E.string().nullish(),param:E.any().nullish(),code:E.union([E.string(),E.number()]).nullish()})}),K=Ue({errorSchema:$e,errorToMessage:c(o=>o.error.message,"errorToMessage")});import{createProviderToolFactoryWithOutputSchema as He}from"@ai-sdk/provider-utils";import{z as j}from"zod/v4";var Je=j.object({code:j.string().nullish(),containerId:j.string()}),Ge=j.object({outputs:j.array(j.discriminatedUnion("type",[j.object({type:j.literal("logs"),logs:j.string()}),j.object({type:j.literal("image"),url:j.string()})])).nullish()}),pe=j.object({container:j.union([j.string(),j.object({fileIds:j.array(j.string()).optional()})]).optional()}),Sn=He({id:"openai.code_interpreter",inputSchema:Je,outputSchema:Ge});import{createProviderToolFactoryWithOutputSchema as Be}from"@ai-sdk/provider-utils";import{z as S}from"zod/v4";var ue=S.object({key:S.string(),type:S.enum(["eq","ne","gt","gte","lt","lte"]),value:S.union([S.string(),S.number(),S.boolean()])}),de=S.object({type:S.enum(["and","or"]),filters:S.array(S.union([ue,S.lazy(()=>de)]))}),ce=S.object({vectorStoreIds:S.array(S.string()),maxNumResults:S.number().optional(),ranking:S.object({ranker:S.string().optional(),scoreThreshold:S.number().optional()}).optional(),filters:S.union([ue,de]).optional()}),Ke=S.object({queries:S.array(S.string()),results:S.array(S.object({attributes:S.record(S.string(),S.unknown()),fileId:S.string(),filename:S.string(),score:S.number(),text:S.string()})).nullable()}),Rn=Be({id:"openai.file_search",inputSchema:S.object({}),outputSchema:Ke});import{createProviderToolFactoryWithOutputSchema as Ze}from"@ai-sdk/provider-utils";import{z as A}from"zod/v4";var me=A.object({background:A.enum(["auto","opaque","transparent"]).optional(),inputFidelity:A.enum(["low","high"]).optional(),inputImageMask:A.object({fileId:A.string().optional(),imageUrl:A.string().optional()}).optional(),model:A.string().optional(),moderation:A.enum(["auto"]).optional(),outputCompression:A.number().int().min(0).max(100).optional(),outputFormat:A.enum(["png","jpeg","webp"]).optional(),partialImages:A.number().int().min(0).max(3).optional(),quality:A.enum(["auto","low","medium","high"]).optional(),size:A.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict(),Xe=A.object({result:A.string()}),An=Ze({id:"openai.image_generation",inputSchema:A.object({}),outputSchema:Xe});import{UnsupportedFunctionalityError as Ye}from"@ai-sdk/provider";import{convertToBase64 as ge,parseProviderOptions as et}from"@ai-sdk/provider-utils";import{z as Q}from"zod/v4";import{createProviderToolFactoryWithOutputSchema as Qe}from"@ai-sdk/provider-utils";import{z as q}from"zod/v4";var Z=q.object({action:q.object({type:q.literal("exec"),command:q.array(q.string()),timeoutMs:q.number().optional(),user:q.string().optional(),workingDirectory:q.string().optional(),env:q.record(q.string(),q.string()).optional()})}),X=q.object({output:q.string()}),zn=Qe({id:"openai.local_shell",inputSchema:Z,outputSchema:X});function fe(o,s){return s?s.some(b=>o.startsWith(b)):!1}c(fe,"isFileId");async function he({prompt:o,systemMessageMode:s,fileIdPrefixes:b,store:y,hasLocalShellTool:I=!1}){let _=[],l=[],i=new Set;for(let{role:m,content:a}of o)switch(m){case"system":{switch(s){case"system":{_.push({role:"system",content:a});break}case"developer":{_.push({role:"developer",content:a});break}case"remove":{l.push({type:"other",message:"system messages are removed for this model"});break}default:{let n=s;throw new Error(`Unsupported system message mode: ${n}`)}}break}case"user":{_.push({role:"user",content:a.map((n,C)=>{switch(n.type){case"text":return{type:"input_text",text:n.text};case"file":if(n.mediaType.startsWith("image/")){let p=n.mediaType==="image/*"?"image/jpeg":n.mediaType;return{type:"input_image",...n.data instanceof URL?{image_url:n.data.toString()}:typeof n.data=="string"&&fe(n.data,b)?{file_id:n.data}:{image_url:`data:${p};base64,${ge(n.data)}`},detail:n.providerOptions?.copilot?.imageDetail}}else{if(n.mediaType==="application/pdf")return n.data instanceof URL?{type:"input_file",file_url:n.data.toString()}:{type:"input_file",...typeof n.data=="string"&&fe(n.data,b)?{file_id:n.data}:{filename:n.filename??`part-${C}.pdf`,file_data:`data:application/pdf;base64,${ge(n.data)}`}};throw new Ye({functionality:`file part media type ${n.mediaType}`})}}})});break}case"assistant":{let n={},C={};for(let p of a)switch(p.type){case"text":{_.push({role:"assistant",content:[{type:"output_text",text:p.text}],id:p.providerOptions?.copilot?.itemId??void 0});break}case"tool-call":{if(C[p.toolCallId]=p,p.providerExecuted)break;if(I&&p.toolName==="local_shell"){let r=Z.parse(p.input);_.push({type:"local_shell_call",call_id:p.toolCallId,id:p.providerOptions?.copilot?.itemId??void 0,action:{type:"exec",command:r.action.command,timeout_ms:r.action.timeoutMs,user:r.action.user,working_directory:r.action.workingDirectory,env:r.action.env}});break}_.push({type:"function_call",call_id:p.toolCallId,name:p.toolName,arguments:JSON.stringify(p.input),id:p.providerOptions?.copilot?.itemId??void 0});break}case"tool-result":{y?_.push({type:"item_reference",id:p.toolCallId}):l.push({type:"other",message:`Results for OpenAI tool ${p.toolName} are not sent to the API when store is false`});break}case"reasoning":{let r=await et({provider:"copilot",providerOptions:p.providerOptions,schema:tt}),g=r?.itemId;if(g!=null){let f=n[g];if(y)f===void 0&&(_.push({type:"item_reference",id:g}),n[g]={type:"reasoning",id:g,summary:[]});else{let u=[];p.text.length>0?u.push({type:"summary_text",text:p.text}):f!==void 0&&l.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(p)}.`}),f===void 0?(n[g]={type:"reasoning",id:g,encrypted_content:r?.reasoningEncryptedContent,summary:u},_.push(n[g])):f.summary.push(...u)}}else l.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(p)}.`});break}}break}case"tool":{for(let n of a){if(n.type==="tool-approval-response"){if(i.has(n.approvalId))continue;i.add(n.approvalId),y&&_.push({type:"item_reference",id:n.approvalId}),_.push({type:"mcp_approval_response",approval_request_id:n.approvalId,approve:n.approved});continue}let C=n.output;if(C.type==="execution-denied"&&C.providerOptions?.copilot?.approvalId)continue;if(I&&n.toolName==="local_shell"&&C.type==="json"){_.push({type:"local_shell_call_output",call_id:n.toolCallId,output:X.parse(C.value).output});break}let p;switch(C.type){case"text":case"error-text":p=C.value;break;case"execution-denied":p=C.reason??"Tool execution denied.";break;case"content":case"json":case"error-json":p=JSON.stringify(C.value);break}_.push({type:"function_call_output",call_id:n.toolCallId,output:p})}break}default:{let n=m;throw new Error(`Unsupported role: ${n}`)}}return{input:_,warnings:l}}c(he,"convertToOpenAIResponsesInput");var tt=Q.object({itemId:Q.string().nullish(),reasoningEncryptedContent:Q.string().nullish()});function Y({finishReason:o,hasFunctionCall:s}){switch(o){case void 0:case null:return s?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return s?"tool-calls":"other"}}c(Y,"mapOpenAIResponseFinishReason");import{UnsupportedFunctionalityError as it}from"@ai-sdk/provider";import{createProviderToolFactory as nt}from"@ai-sdk/provider-utils";import{z as T}from"zod/v4";var ye=T.object({filters:T.object({allowedDomains:T.array(T.string()).optional()}).optional(),searchContextSize:T.enum(["low","medium","high"]).optional(),userLocation:T.object({type:T.literal("approximate"),country:T.string().optional(),city:T.string().optional(),region:T.string().optional(),timezone:T.string().optional()}).optional()}),Kn=nt({id:"openai.web_search",inputSchema:T.object({action:T.discriminatedUnion("type",[T.object({type:T.literal("search"),query:T.string().nullish()}),T.object({type:T.literal("open_page"),url:T.string()}),T.object({type:T.literal("find"),url:T.string(),pattern:T.string()})]).nullish()})});import{createProviderToolFactory as ot}from"@ai-sdk/provider-utils";import{z as w}from"zod/v4";var _e=w.object({searchContextSize:w.enum(["low","medium","high"]).optional(),userLocation:w.object({type:w.literal("approximate"),country:w.string().optional(),city:w.string().optional(),region:w.string().optional(),timezone:w.string().optional()}).optional()}),eo=ot({id:"openai.web_search_preview",inputSchema:w.object({action:w.discriminatedUnion("type",[w.object({type:w.literal("search"),query:w.string().nullish()}),w.object({type:w.literal("open_page"),url:w.string()}),w.object({type:w.literal("find"),url:w.string(),pattern:w.string()})]).nullish()})});function be({tools:o,toolChoice:s,strictJsonSchema:b}){o=o?.length?o:void 0;let y=[];if(o==null)return{tools:void 0,toolChoice:void 0,toolWarnings:y};let I=[];for(let l of o)switch(l.type){case"function":I.push({type:"function",name:l.name,description:l.description,parameters:l.inputSchema,strict:b});break;case"provider":{switch(l.id){case"openai.file_search":{let i=ce.parse(l.args);I.push({type:"file_search",vector_store_ids:i.vectorStoreIds,max_num_results:i.maxNumResults,ranking_options:i.ranking?{ranker:i.ranking.ranker,score_threshold:i.ranking.scoreThreshold}:void 0,filters:i.filters});break}case"openai.local_shell":{I.push({type:"local_shell"});break}case"openai.web_search_preview":{let i=_e.parse(l.args);I.push({type:"web_search_preview",search_context_size:i.searchContextSize,user_location:i.userLocation});break}case"openai.web_search":{let i=ye.parse(l.args);I.push({type:"web_search",filters:i.filters!=null?{allowed_domains:i.filters.allowedDomains}:void 0,search_context_size:i.searchContextSize,user_location:i.userLocation});break}case"openai.code_interpreter":{let i=pe.parse(l.args);I.push({type:"code_interpreter",container:i.container==null?{type:"auto",file_ids:void 0}:typeof i.container=="string"?i.container:{type:"auto",file_ids:i.container.fileIds}});break}case"openai.image_generation":{let i=me.parse(l.args);I.push({type:"image_generation",background:i.background,input_fidelity:i.inputFidelity,input_image_mask:i.inputImageMask?{file_id:i.inputImageMask.fileId,image_url:i.inputImageMask.imageUrl}:void 0,model:i.model,moderation:i.moderation,partial_images:i.partialImages,quality:i.quality,output_compression:i.outputCompression,output_format:i.outputFormat,size:i.size});break}}break}default:y.push({type:"unsupported",feature:"tool type"});break}if(s==null)return{tools:I,toolChoice:void 0,toolWarnings:y};let _=s.type;switch(_){case"auto":case"none":case"required":return{tools:I,toolChoice:_,toolWarnings:y};case"tool":return{tools:I,toolChoice:s.toolName==="code_interpreter"||s.toolName==="file_search"||s.toolName==="image_generation"||s.toolName==="web_search_preview"||s.toolName==="web_search"?{type:s.toolName}:{type:"function",name:s.toolName},toolWarnings:y};default:{let l=_;throw new it({functionality:`tool choice type: ${l}`})}}}c(be,"prepareResponsesTools");var Ce=e.object({type:e.literal("web_search_call"),id:e.string(),status:e.string(),action:e.discriminatedUnion("type",[e.object({type:e.literal("search"),query:e.string().nullish()}),e.object({type:e.literal("open_page"),url:e.string()}),e.object({type:e.literal("find"),url:e.string(),pattern:e.string()})]).nullish()}),Se=e.object({type:e.literal("file_search_call"),id:e.string(),queries:e.array(e.string()),results:e.array(e.object({attributes:e.record(e.string(),e.unknown()),file_id:e.string(),filename:e.string(),score:e.number(),text:e.string()})).nullish()}),xe=e.object({type:e.literal("code_interpreter_call"),id:e.string(),code:e.string().nullable(),container_id:e.string(),outputs:e.array(e.discriminatedUnion("type",[e.object({type:e.literal("logs"),logs:e.string()}),e.object({type:e.literal("image"),url:e.string()})])).nullable()}),ve=e.object({type:e.literal("local_shell_call"),id:e.string(),call_id:e.string(),action:e.object({type:e.literal("exec"),command:e.array(e.string()),timeout_ms:e.number().optional(),user:e.string().optional(),working_directory:e.string().optional(),env:e.record(e.string(),e.string()).optional()})}),Te=e.object({type:e.literal("image_generation_call"),id:e.string(),result:e.string()}),Oe=20,Re=e.array(e.object({token:e.string(),logprob:e.number(),top_logprobs:e.array(e.object({token:e.string(),logprob:e.number()}))})),H=class{static{c(this,"OpenAIResponsesLanguageModel")}specificationVersion="v3";modelId;config;constructor(s,b){this.modelId=s,this.config=b}supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]};get provider(){return this.config.provider}async getArgs({maxOutputTokens:s,temperature:b,stopSequences:y,topP:I,topK:_,presencePenalty:l,frequencyPenalty:i,seed:m,prompt:a,providerOptions:n,tools:C,toolChoice:p,responseFormat:r}){let g=[],f=Nt(this.modelId);_!=null&&g.push({type:"unsupported",feature:"topK"}),m!=null&&g.push({type:"unsupported",feature:"seed"}),l!=null&&g.push({type:"unsupported",feature:"presencePenalty"}),i!=null&&g.push({type:"unsupported",feature:"frequencyPenalty"}),y!=null&&g.push({type:"unsupported",feature:"stopSequences"});let u=await lt({provider:"copilot",providerOptions:n,schema:zt}),{input:x,warnings:v}=await he({prompt:a,systemMessageMode:f.systemMessageMode,fileIdPrefixes:this.config.fileIdPrefixes,store:u?.store??!0,hasLocalShellTool:R("openai.local_shell")});g.push(...v);let d=u?.strictJsonSchema??!1,t=u?.include;function k(N){t=t!=null?[...t,N]:[N]}c(k,"addInclude");function R(N){return C?.find(ee=>ee.type==="provider"&&ee.id===N)!=null}c(R,"hasOpenAITool");let P=typeof u?.logprobs=="number"?u?.logprobs:u?.logprobs===!0?Oe:void 0;P&&k("message.output_text.logprobs");let M=C?.find(N=>N.type==="provider"&&(N.id==="openai.web_search"||N.id==="openai.web_search_preview"))?.name;M&&k("web_search_call.action.sources"),R("openai.code_interpreter")&&k("code_interpreter_call.outputs");let O={model:this.modelId,input:x,temperature:b,top_p:I,max_output_tokens:s,...(r?.type==="json"||u?.textVerbosity)&&{text:{...r?.type==="json"&&{format:r.schema!=null?{type:"json_schema",strict:d,name:r.name??"response",description:r.description,schema:r.schema}:{type:"json_object"}},...u?.textVerbosity&&{verbosity:u.textVerbosity}}},max_tool_calls:u?.maxToolCalls,metadata:u?.metadata,parallel_tool_calls:u?.parallelToolCalls,previous_response_id:u?.previousResponseId,store:u?.store,user:u?.user,instructions:u?.instructions,service_tier:u?.serviceTier,include:t,prompt_cache_key:u?.promptCacheKey,safety_identifier:u?.safetyIdentifier,top_logprobs:P,...f.isReasoningModel&&(u?.reasoningEffort!=null||u?.reasoningSummary!=null)&&{reasoning:{...u?.reasoningEffort!=null&&{effort:u.reasoningEffort},...u?.reasoningSummary!=null&&{summary:u.reasoningSummary}}},...f.requiredAutoTruncation&&{truncation:"auto"}};f.isReasoningModel?(O.temperature!=null&&(O.temperature=void 0,g.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),O.top_p!=null&&(O.top_p=void 0,g.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"}))):(u?.reasoningEffort!=null&&g.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),u?.reasoningSummary!=null&&g.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"})),u?.serviceTier==="flex"&&!f.supportsFlexProcessing&&(g.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),O.service_tier=void 0),u?.serviceTier==="priority"&&!f.supportsPriorityProcessing&&(g.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),O.service_tier=void 0);let{tools:V,toolChoice:Ae,toolWarnings:qe}=be({tools:C,toolChoice:p,strictJsonSchema:d});return{webSearchToolName:M,args:{...O,tools:V,tool_choice:Ae},warnings:[...g,...qe]}}async doGenerate(s){let{args:b,warnings:y,webSearchToolName:I}=await this.getArgs(s),_=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:l,value:i,rawValue:m}=await Ie({url:_,headers:ke(this.config.headers(),s.headers),body:b,failedResponseHandler:K,successfulResponseHandler:at(e.object({id:e.string(),created_at:e.number(),error:e.object({code:e.string(),message:e.string()}).nullish(),model:e.string(),output:e.array(e.discriminatedUnion("type",[e.object({type:e.literal("message"),role:e.literal("assistant"),id:e.string(),content:e.array(e.object({type:e.literal("output_text"),text:e.string(),logprobs:Re.nullish(),annotations:e.array(e.discriminatedUnion("type",[e.object({type:e.literal("url_citation"),start_index:e.number(),end_index:e.number(),url:e.string(),title:e.string()}),e.object({type:e.literal("file_citation"),file_id:e.string(),filename:e.string().nullish(),index:e.number().nullish(),start_index:e.number().nullish(),end_index:e.number().nullish(),quote:e.string().nullish()}),e.object({type:e.literal("container_file_citation")})]))}))}),Ce,Se,xe,Te,ve,e.object({type:e.literal("function_call"),call_id:e.string(),name:e.string(),arguments:e.string(),id:e.string()}),e.object({type:e.literal("computer_call"),id:e.string(),status:e.string().optional()}),e.object({type:e.literal("reasoning"),id:e.string(),encrypted_content:e.string().nullish(),summary:e.array(e.object({type:e.literal("summary_text"),text:e.string()}))})])),service_tier:e.string().nullish(),incomplete_details:e.object({reason:e.string()}).nullish(),usage:we})),abortSignal:s.abortSignal,fetch:this.config.fetch});if(i.error)throw new rt({message:i.error.message,url:_,requestBodyValues:b,statusCode:400,responseHeaders:l,responseBody:m,isRetryable:!1});let a=[],n=[],C=!1;for(let r of i.output)switch(r.type){case"reasoning":{r.summary.length===0&&r.summary.push({type:"summary_text",text:""});for(let g of r.summary)a.push({type:"reasoning",text:g.text,providerMetadata:{copilot:{itemId:r.id,reasoningEncryptedContent:r.encrypted_content??null}}});break}case"image_generation_call":{a.push({type:"tool-call",toolCallId:r.id,toolName:"image_generation",input:"{}",providerExecuted:!0}),a.push({type:"tool-result",toolCallId:r.id,toolName:"image_generation",result:{result:r.result}});break}case"local_shell_call":{a.push({type:"tool-call",toolCallId:r.call_id,toolName:"local_shell",input:JSON.stringify({action:r.action}),providerMetadata:{copilot:{itemId:r.id}}});break}case"message":{for(let g of r.content){s.providerOptions?.copilot?.logprobs&&g.logprobs&&n.push(g.logprobs),a.push({type:"text",text:g.text,providerMetadata:{copilot:{itemId:r.id}}});for(let f of g.annotations)f.type==="url_citation"?a.push({type:"source",sourceType:"url",id:this.config.generateId?.()??$(),url:f.url,title:f.title}):f.type==="file_citation"&&a.push({type:"source",sourceType:"document",id:this.config.generateId?.()??$(),mediaType:"text/plain",title:f.quote??f.filename??"Document",filename:f.filename??f.file_id})}break}case"function_call":{C=!0,a.push({type:"tool-call",toolCallId:r.call_id,toolName:r.name,input:r.arguments,providerMetadata:{copilot:{itemId:r.id}}});break}case"web_search_call":{a.push({type:"tool-call",toolCallId:r.id,toolName:I??"web_search",input:JSON.stringify({action:r.action}),providerExecuted:!0}),a.push({type:"tool-result",toolCallId:r.id,toolName:I??"web_search",result:{status:r.status}});break}case"computer_call":{a.push({type:"tool-call",toolCallId:r.id,toolName:"computer_use",input:"",providerExecuted:!0}),a.push({type:"tool-result",toolCallId:r.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:r.status||"completed"}});break}case"file_search_call":{a.push({type:"tool-call",toolCallId:r.id,toolName:"file_search",input:"{}",providerExecuted:!0}),a.push({type:"tool-result",toolCallId:r.id,toolName:"file_search",result:{queries:r.queries,results:r.results?.map(g=>({attributes:g.attributes,fileId:g.file_id,filename:g.filename,score:g.score,text:g.text}))??null}});break}case"code_interpreter_call":{a.push({type:"tool-call",toolCallId:r.id,toolName:"code_interpreter",input:JSON.stringify({code:r.code,containerId:r.container_id}),providerExecuted:!0}),a.push({type:"tool-result",toolCallId:r.id,toolName:"code_interpreter",result:{outputs:r.outputs}});break}}let p={copilot:{responseId:i.id}};return n.length>0&&(p.copilot.logprobs=n),typeof i.service_tier=="string"&&(p.copilot.serviceTier=i.service_tier),{content:a,finishReason:{unified:Y({finishReason:i.incomplete_details?.reason,hasFunctionCall:C}),raw:i.incomplete_details?.reason},usage:{inputTokens:{total:i.usage.input_tokens,noCache:i.usage.input_tokens_details?.cached_tokens!=null?i.usage.input_tokens-i.usage.input_tokens_details.cached_tokens:void 0,cacheRead:i.usage.input_tokens_details?.cached_tokens??void 0,cacheWrite:void 0},outputTokens:{total:i.usage.output_tokens,text:void 0,reasoning:i.usage.output_tokens_details?.reasoning_tokens??void 0},raw:i.usage},request:{body:b},response:{id:i.id,timestamp:new Date(i.created_at*1e3),modelId:i.model,headers:l,body:m},providerMetadata:p,warnings:y}}async doStream(s){let{args:b,warnings:y,webSearchToolName:I}=await this.getArgs(s),{responseHeaders:_,value:l}=await Ie({url:this.config.url({path:"/responses",modelId:this.modelId}),headers:ke(this.config.headers(),s.headers),body:{...b,stream:!0},failedResponseHandler:K,successfulResponseHandler:st(Ct),abortSignal:s.abortSignal,fetch:this.config.fetch}),i=this,m={unified:"other",raw:void 0},a={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0},n=[],C=null,p={},r=!1,g={},f=null,u=null,x;return{stream:l.pipeThrough(new TransformStream({start(v){v.enqueue({type:"stream-start",warnings:y})},transform(v,d){if(s.includeRawChunks&&d.enqueue({type:"raw",rawValue:v.rawValue}),!v.success){m={unified:"error",raw:void 0},d.enqueue({type:"error",error:v.error});return}let t=v.value;if(Me(t))t.item.type==="function_call"?(p[t.output_index]={toolName:t.item.name,toolCallId:t.item.call_id},d.enqueue({type:"tool-input-start",id:t.item.call_id,toolName:t.item.name})):t.item.type==="web_search_call"?(p[t.output_index]={toolName:I??"web_search",toolCallId:t.item.id},d.enqueue({type:"tool-input-start",id:t.item.id,toolName:I??"web_search"})):t.item.type==="computer_call"?(p[t.output_index]={toolName:"computer_use",toolCallId:t.item.id},d.enqueue({type:"tool-input-start",id:t.item.id,toolName:"computer_use"})):t.item.type==="code_interpreter_call"?(p[t.output_index]={toolName:"code_interpreter",toolCallId:t.item.id,codeInterpreter:{containerId:t.item.container_id}},d.enqueue({type:"tool-input-start",id:t.item.id,toolName:"code_interpreter"}),d.enqueue({type:"tool-input-delta",id:t.item.id,delta:`{"containerId":"${t.item.container_id}","code":"`})):t.item.type==="file_search_call"?d.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"file_search",input:"{}",providerExecuted:!0}):t.item.type==="image_generation_call"?d.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"image_generation",input:"{}",providerExecuted:!0}):t.item.type==="message"?(u=t.item.id,d.enqueue({type:"text-start",id:t.item.id,providerMetadata:{copilot:{itemId:t.item.id}}})):Mt(t)&&(g[t.output_index]={canonicalId:t.item.id,encryptedContent:t.item.encrypted_content,summaryParts:[0]},f=t.output_index,d.enqueue({type:"reasoning-start",id:`${t.item.id}:0`,providerMetadata:{copilot:{itemId:t.item.id,reasoningEncryptedContent:t.item.encrypted_content??null}}}));else if(je(t)){if(t.item.type==="function_call")p[t.output_index]=void 0,r=!0,d.enqueue({type:"tool-input-end",id:t.item.call_id}),d.enqueue({type:"tool-call",toolCallId:t.item.call_id,toolName:t.item.name,input:t.item.arguments,providerMetadata:{copilot:{itemId:t.item.id}}});else if(t.item.type==="web_search_call")p[t.output_index]=void 0,d.enqueue({type:"tool-input-end",id:t.item.id}),d.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"web_search",input:JSON.stringify({action:t.item.action}),providerExecuted:!0}),d.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"web_search",result:{status:t.item.status}});else if(t.item.type==="computer_call")p[t.output_index]=void 0,d.enqueue({type:"tool-input-end",id:t.item.id}),d.enqueue({type:"tool-call",toolCallId:t.item.id,toolName:"computer_use",input:"",providerExecuted:!0}),d.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"computer_use",result:{type:"computer_use_tool_result",status:t.item.status||"completed"}});else if(t.item.type==="file_search_call")p[t.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"file_search",result:{queries:t.item.queries,results:t.item.results?.map(k=>({attributes:k.attributes,fileId:k.file_id,filename:k.filename,score:k.score,text:k.text}))??null}});else if(t.item.type==="code_interpreter_call")p[t.output_index]=void 0,d.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"code_interpreter",result:{outputs:t.item.outputs}});else if(t.item.type==="image_generation_call")d.enqueue({type:"tool-result",toolCallId:t.item.id,toolName:"image_generation",result:{result:t.item.result}});else if(t.item.type==="local_shell_call")p[t.output_index]=void 0,d.enqueue({type:"tool-call",toolCallId:t.item.call_id,toolName:"local_shell",input:JSON.stringify({action:{type:"exec",command:t.item.action.command,timeoutMs:t.item.action.timeout_ms,user:t.item.action.user,workingDirectory:t.item.action.working_directory,env:t.item.action.env}}),providerMetadata:{copilot:{itemId:t.item.id}}});else if(t.item.type==="message")u&&(d.enqueue({type:"text-end",id:u}),u=null);else if(xt(t)){let k=g[t.output_index];if(k){for(let R of k.summaryParts)d.enqueue({type:"reasoning-end",id:`${k.canonicalId}:${R}`,providerMetadata:{copilot:{itemId:k.canonicalId,reasoningEncryptedContent:t.item.encrypted_content??null}}});delete g[t.output_index],f===t.output_index&&(f=null)}}}else if(Ot(t)){let k=p[t.output_index];k!=null&&d.enqueue({type:"tool-input-delta",id:k.toolCallId,delta:t.delta})}else if(Rt(t))d.enqueue({type:"tool-result",toolCallId:t.item_id,toolName:"image_generation",result:{result:t.partial_image_b64}});else if(wt(t)){let k=p[t.output_index];k!=null&&d.enqueue({type:"tool-input-delta",id:k.toolCallId,delta:JSON.stringify(t.delta).slice(1,-1)})}else if(jt(t)){let k=p[t.output_index];k!=null&&(d.enqueue({type:"tool-input-delta",id:k.toolCallId,delta:'"}'}),d.enqueue({type:"tool-input-end",id:k.toolCallId}),d.enqueue({type:"tool-call",toolCallId:k.toolCallId,toolName:"code_interpreter",input:JSON.stringify({code:t.code,containerId:k.codeInterpreter.containerId}),providerExecuted:!0}))}else if(Tt(t))C=t.response.id,d.enqueue({type:"response-metadata",id:t.response.id,timestamp:new Date(t.response.created_at*1e3),modelId:t.response.model});else if(St(t))u||(u=t.item_id,d.enqueue({type:"text-start",id:u,providerMetadata:{copilot:{itemId:t.item_id}}})),d.enqueue({type:"text-delta",id:u,delta:t.delta}),s.providerOptions?.copilot?.logprobs&&t.logprobs&&n.push(t.logprobs);else if(qt(t)){let k=f!==null?g[f]:null;k&&t.summary_index>0&&(k.summaryParts.push(t.summary_index),d.enqueue({type:"reasoning-start",id:`${k.canonicalId}:${t.summary_index}`,providerMetadata:{copilot:{itemId:k.canonicalId,reasoningEncryptedContent:k.encryptedContent??null}}}))}else if(Pt(t)){let k=f!==null?g[f]:null;k&&d.enqueue({type:"reasoning-delta",id:`${k.canonicalId}:${t.summary_index}`,delta:t.delta,providerMetadata:{copilot:{itemId:k.canonicalId}}})}else vt(t)?(m={unified:Y({finishReason:t.response.incomplete_details?.reason,hasFunctionCall:r}),raw:t.response.incomplete_details?.reason??void 0},a.inputTokens=t.response.usage.input_tokens,a.outputTokens=t.response.usage.output_tokens,a.totalTokens=t.response.usage.input_tokens+t.response.usage.output_tokens,a.reasoningTokens=t.response.usage.output_tokens_details?.reasoning_tokens??void 0,a.cachedInputTokens=t.response.usage.input_tokens_details?.cached_tokens??void 0,typeof t.response.service_tier=="string"&&(x=t.response.service_tier)):At(t)?t.annotation.type==="url_citation"?d.enqueue({type:"source",sourceType:"url",id:i.config.generateId?.()??$(),url:t.annotation.url,title:t.annotation.title}):t.annotation.type==="file_citation"&&d.enqueue({type:"source",sourceType:"document",id:i.config.generateId?.()??$(),mediaType:"text/plain",title:t.annotation.quote??t.annotation.filename??"Document",filename:t.annotation.filename??t.annotation.file_id}):Vt(t)&&d.enqueue({type:"error",error:t})},flush(v){u&&(v.enqueue({type:"text-end",id:u}),u=null);let d={copilot:{responseId:C}};n.length>0&&(d.copilot.logprobs=n),x!==void 0&&(d.copilot.serviceTier=x),v.enqueue({type:"finish",finishReason:m,usage:{inputTokens:{total:a.inputTokens,noCache:a.inputTokens!=null&&a.cachedInputTokens!=null?a.inputTokens-a.cachedInputTokens:void 0,cacheRead:a.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:a.outputTokens,text:void 0,reasoning:a.reasoningTokens},raw:{input_tokens:a.inputTokens,output_tokens:a.outputTokens,total_tokens:a.totalTokens}},providerMetadata:d})}})),request:{body:b},response:{headers:_}}}},we=e.object({input_tokens:e.number(),input_tokens_details:e.object({cached_tokens:e.number().nullish()}).nullish(),output_tokens:e.number(),output_tokens_details:e.object({reasoning_tokens:e.number().nullish()}).nullish()}),pt=e.object({type:e.literal("response.output_text.delta"),item_id:e.string(),delta:e.string(),logprobs:Re.nullish()}),ut=e.object({type:e.literal("error"),code:e.string(),message:e.string(),param:e.string().nullish(),sequence_number:e.number()}),dt=e.object({type:e.enum(["response.completed","response.incomplete"]),response:e.object({incomplete_details:e.object({reason:e.string()}).nullish(),usage:we,service_tier:e.string().nullish()})}),ct=e.object({type:e.literal("response.created"),response:e.object({id:e.string(),created_at:e.number(),model:e.string(),service_tier:e.string().nullish()})}),mt=e.object({type:e.literal("response.output_item.added"),output_index:e.number(),item:e.discriminatedUnion("type",[e.object({type:e.literal("message"),id:e.string()}),e.object({type:e.literal("reasoning"),id:e.string(),encrypted_content:e.string().nullish()}),e.object({type:e.literal("function_call"),id:e.string(),call_id:e.string(),name:e.string(),arguments:e.string()}),e.object({type:e.literal("web_search_call"),id:e.string(),status:e.string(),action:e.object({type:e.literal("search"),query:e.string().optional()}).nullish()}),e.object({type:e.literal("computer_call"),id:e.string(),status:e.string()}),e.object({type:e.literal("file_search_call"),id:e.string()}),e.object({type:e.literal("image_generation_call"),id:e.string()}),e.object({type:e.literal("code_interpreter_call"),id:e.string(),container_id:e.string(),code:e.string().nullable(),outputs:e.array(e.discriminatedUnion("type",[e.object({type:e.literal("logs"),logs:e.string()}),e.object({type:e.literal("image"),url:e.string()})])).nullable(),status:e.string()})])}),gt=e.object({type:e.literal("response.output_item.done"),output_index:e.number(),item:e.discriminatedUnion("type",[e.object({type:e.literal("message"),id:e.string()}),e.object({type:e.literal("reasoning"),id:e.string(),encrypted_content:e.string().nullish()}),e.object({type:e.literal("function_call"),id:e.string(),call_id:e.string(),name:e.string(),arguments:e.string(),status:e.literal("completed")}),xe,Te,Ce,Se,ve,e.object({type:e.literal("computer_call"),id:e.string(),status:e.literal("completed")})])}),ft=e.object({type:e.literal("response.function_call_arguments.delta"),item_id:e.string(),output_index:e.number(),delta:e.string()}),ht=e.object({type:e.literal("response.image_generation_call.partial_image"),item_id:e.string(),output_index:e.number(),partial_image_b64:e.string()}),yt=e.object({type:e.literal("response.code_interpreter_call_code.delta"),item_id:e.string(),output_index:e.number(),delta:e.string()}),_t=e.object({type:e.literal("response.code_interpreter_call_code.done"),item_id:e.string(),output_index:e.number(),code:e.string()}),bt=e.object({type:e.literal("response.output_text.annotation.added"),annotation:e.discriminatedUnion("type",[e.object({type:e.literal("url_citation"),url:e.string(),title:e.string()}),e.object({type:e.literal("file_citation"),file_id:e.string(),filename:e.string().nullish(),index:e.number().nullish(),start_index:e.number().nullish(),end_index:e.number().nullish(),quote:e.string().nullish()})])}),kt=e.object({type:e.literal("response.reasoning_summary_part.added"),item_id:e.string(),summary_index:e.number()}),It=e.object({type:e.literal("response.reasoning_summary_text.delta"),item_id:e.string(),summary_index:e.number(),delta:e.string()}),Ct=e.union([pt,dt,ct,mt,gt,ft,ht,yt,_t,bt,kt,It,ut,e.object({type:e.string()}).loose()]);function St(o){return o.type==="response.output_text.delta"}c(St,"isTextDeltaChunk");function je(o){return o.type==="response.output_item.done"}c(je,"isResponseOutputItemDoneChunk");function xt(o){return je(o)&&o.item.type==="reasoning"}c(xt,"isResponseOutputItemDoneReasoningChunk");function vt(o){return o.type==="response.completed"||o.type==="response.incomplete"}c(vt,"isResponseFinishedChunk");function Tt(o){return o.type==="response.created"}c(Tt,"isResponseCreatedChunk");function Ot(o){return o.type==="response.function_call_arguments.delta"}c(Ot,"isResponseFunctionCallArgumentsDeltaChunk");function Rt(o){return o.type==="response.image_generation_call.partial_image"}c(Rt,"isResponseImageGenerationCallPartialImageChunk");function wt(o){return o.type==="response.code_interpreter_call_code.delta"}c(wt,"isResponseCodeInterpreterCallCodeDeltaChunk");function jt(o){return o.type==="response.code_interpreter_call_code.done"}c(jt,"isResponseCodeInterpreterCallCodeDoneChunk");function Me(o){return o.type==="response.output_item.added"}c(Me,"isResponseOutputItemAddedChunk");function Mt(o){return Me(o)&&o.item.type==="reasoning"}c(Mt,"isResponseOutputItemAddedReasoningChunk");function At(o){return o.type==="response.output_text.annotation.added"}c(At,"isResponseAnnotationAddedChunk");function qt(o){return o.type==="response.reasoning_summary_part.added"}c(qt,"isResponseReasoningSummaryPartAddedChunk");function Pt(o){return o.type==="response.reasoning_summary_text.delta"}c(Pt,"isResponseReasoningSummaryTextDeltaChunk");function Vt(o){return o.type==="error"}c(Vt,"isErrorChunk");function Nt(o){let s=o.startsWith("o3")||o.startsWith("o4-mini")||o.startsWith("gpt-5")&&!o.startsWith("gpt-5-chat"),b=o.startsWith("gpt-4")||o.startsWith("gpt-5-mini")||o.startsWith("gpt-5")&&!o.startsWith("gpt-5-nano")&&!o.startsWith("gpt-5-chat")||o.startsWith("o3")||o.startsWith("o4-mini"),y={requiredAutoTruncation:!1,systemMessageMode:"system",supportsFlexProcessing:s,supportsPriorityProcessing:b};return o.startsWith("gpt-5-chat")?{...y,isReasoningModel:!1}:o.startsWith("o")||o.startsWith("gpt-5")||o.startsWith("codex-")||o.startsWith("computer-use")?o.startsWith("o1-mini")||o.startsWith("o1-preview")?{...y,isReasoningModel:!0,systemMessageMode:"remove"}:{...y,isReasoningModel:!0,systemMessageMode:"developer"}:{...y,isReasoningModel:!1}}c(Nt,"getResponsesModelConfig");var zt=e.object({include:e.array(e.enum(["reasoning.encrypted_content","file_search_call.results","message.output_text.logprobs"])).nullish(),instructions:e.string().nullish(),logprobs:e.union([e.boolean(),e.number().min(1).max(Oe)]).optional(),maxToolCalls:e.number().nullish(),metadata:e.any().nullish(),parallelToolCalls:e.boolean().nullish(),previousResponseId:e.string().nullish(),promptCacheKey:e.string().nullish(),reasoningEffort:e.string().nullish(),reasoningSummary:e.string().nullish(),safetyIdentifier:e.string().nullish(),serviceTier:e.enum(["auto","flex","priority"]).nullish(),store:e.boolean().nullish(),strictJsonSchema:e.boolean().nullish(),textVerbosity:e.enum(["low","medium","high"]).nullish(),user:e.string().nullish()});var Dt="0.1.0";function Ft(o={}){let s=Et(o.baseURL??"https://api.openai.com/v1");if(!s)throw new Error("baseURL is required");let b={...o.apiKey&&{Authorization:`Bearer ${o.apiKey}`},...o.headers},y=c(()=>Lt(b,`ai-sdk/openai-compatible/${Dt}`),"getHeaders"),I=c(m=>new U(m,{provider:`${o.name??"openai-compatible"}.chat`,headers:y,url:c(({path:a})=>`${s}${a}`,"url"),fetch:o.fetch}),"createChatModel"),_=c(m=>new H(m,{provider:`${o.name??"openai-compatible"}.responses`,headers:y,url:c(({path:a})=>`${s}${a}`,"url"),fetch:o.fetch}),"createResponsesModel"),l=c(m=>I(m),"createLanguageModel"),i=c(function(m){return I(m)},"provider");return i.languageModel=l,i.chat=I,i.responses=_,i}c(Ft,"createOpenaiCompatible");var Ao=Ft();export{Ft as createOpenaiCompatible,Ao as openaiCompatible};
@@ -1,14 +0,0 @@
1
- // Built by esbuild from opencode-server source
2
- if (typeof globalThis.Bun === 'undefined') {
3
- globalThis.Bun = {
4
- version: '0.0.0-node-compat',
5
- stdin: { async text() { const chunks = []; for await (const c of process.stdin) chunks.push(c); return Buffer.concat(chunks).toString(); } },
6
- which(cmd) { try { return require('child_process').execFileSync('which', [cmd], { encoding: 'utf8' }).trim(); } catch { return null; } },
7
- };
8
- }
9
- if (typeof globalThis.__name === 'undefined') { globalThis.__name = (t, n) => { Object.defineProperty(t, 'name', { value: n, configurable: true }); return t; }; }
10
- if (typeof globalThis.__export === 'undefined') { globalThis.__export = (t, a) => { for (const k in a) Object.defineProperty(t, k, { get: a[k], enumerable: true }); }; }
11
- import { createRequire as __alchemyCreateRequire } from 'node:module';
12
- const require = __alchemyCreateRequire(import.meta.url);
13
-
14
- import{a as g}from"./chunk-VURLSDCB.js";import{a as b,b as p,c as x}from"./chunk-4K2RXRZL.js";import"./chunk-QRABYJKL.js";import"./chunk-BM2C7NHL.js";import{a as i}from"./chunk-RHIWAYN5.js";import{Effect as m}from"effect";import P from"node:path";import{fileURLToPath as H}from"node:url";var M=[80,85,70,55,40],L=m.gen(function*(){globalThis.__OPENCODE_PHOTON_WASM_PATH=P.isAbsolute(g)?g:H(new URL(g,import.meta.url));let _=yield*m.cached(m.tryPromise({try:i(()=>import("@silvia-odwyer/photon-node"),"try"),catch:i(()=>new b,"catch")}));return m.fn("Image.Photon.normalize")(function*(f,s,e){let y=yield*_,d=yield*m.try({try:i(()=>y.PhotonImage.new_from_byteslice(Buffer.from(s.content,"base64")),"try"),catch:i(()=>new p({resource:f}),"catch")});try{let n=d.get_width(),a=d.get_height(),c=Buffer.byteLength(s.content,"utf-8");if(n<=e.maxWidth&&a<=e.maxHeight&&c<=e.maxBase64Bytes)return s;if(!e.autoResize)return yield*new x({resource:f,width:n,height:a,bytes:c,maxWidth:e.maxWidth,maxHeight:e.maxHeight,maxBytes:e.maxBase64Bytes});let l=Math.min(1,e.maxWidth/n,e.maxHeight/a),w=Array.from({length:32}).reduce(o=>{let t=o.at(-1)??{width:Math.max(1,Math.round(n*l)),height:Math.max(1,Math.round(a*l))},h=o.length===0?t:{width:t.width===1?1:Math.max(1,Math.floor(t.width*.75)),height:t.height===1?1:Math.max(1,Math.floor(t.height*.75))};return o.some(r=>r.width===h.width&&r.height===h.height)?o:[...o,h]},[]);for(let o of w){let t=y.resize(d,o.width,o.height,y.SamplingFilter.Lanczos3);try{let h=[["image/png",()=>t.get_bytes()],...M.map(r=>["image/jpeg",()=>t.get_bytes_jpeg(r)])];for(let[r,B]of h){let u=Buffer.from(B()).toString("base64");if(Buffer.byteLength(u,"utf-8")<=e.maxBase64Bytes)return{...s,content:u,encoding:"base64",mime:r}}}finally{t.free()}}return yield*new x({resource:f,width:n,height:a,bytes:c,maxWidth:e.maxWidth,maxHeight:e.maxHeight,maxBytes:e.maxBase64Bytes})}finally{d.free()}})});export{L as make};