@opencode-ai/cli-darwin-x64 0.0.0-beta-202606100417 → 0.0.0-beta-202606102335
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.
- package/bin/{chunk-9rr4d7am.js.map → chunk-0zmgha8r.js.map} +1 -1
- package/bin/{chunk-3eyyp494.js.map → chunk-1nb0a9s4.js.map} +1 -1
- package/bin/{chunk-fkave06f.js.map → chunk-1wf08b9b.js.map} +1 -1
- package/bin/{chunk-n2yx3sak.js.map → chunk-20n3bpn3.js.map} +1 -1
- package/bin/{chunk-zq80yq2d.js.map → chunk-21dzza48.js.map} +1 -1
- package/bin/{chunk-eqzgmqeb.js.map → chunk-25xa1h39.js.map} +1 -1
- package/bin/{chunk-t3dkbpmk.js.map → chunk-2cbzchj9.js.map} +1 -1
- package/bin/{chunk-v7fw3s6v.js.map → chunk-2v2evt4j.js.map} +1 -1
- package/bin/{chunk-z4rxp7st.js.map → chunk-3c6ssz72.js.map} +1 -1
- package/bin/{chunk-7qzvwge2.js.map → chunk-3k4xdadt.js.map} +1 -1
- package/bin/{chunk-pgbnh0qj.js.map → chunk-3kfwk81h.js.map} +1 -1
- package/bin/{chunk-6xtaemzv.js.map → chunk-3mjcc5j7.js.map} +1 -1
- package/bin/{chunk-sd4rs99x.js.map → chunk-3px97bde.js.map} +1 -1
- package/bin/{chunk-81d8bhqk.js.map → chunk-47y6gq1f.js.map} +1 -1
- package/bin/{chunk-3q76cqyc.js.map → chunk-49ee8ngr.js.map} +1 -1
- package/bin/{chunk-99e4ck05.js.map → chunk-4dk3wxxd.js.map} +1 -1
- package/bin/{chunk-5xqyeq8c.js.map → chunk-4dztr94f.js.map} +1 -1
- package/bin/{chunk-xmvgcmvz.js.map → chunk-59s7rv99.js.map} +1 -1
- package/bin/{chunk-eff6w03v.js.map → chunk-5f8zjen9.js.map} +1 -1
- package/bin/{chunk-h0rt2axw.js.map → chunk-5g441d9d.js.map} +1 -1
- package/bin/{chunk-1pmh4sd4.js.map → chunk-5n2btq1b.js.map} +1 -1
- package/bin/{chunk-gcatrprk.js.map → chunk-5ydhs87f.js.map} +1 -1
- package/bin/{chunk-9h9ya5h4.js.map → chunk-61sk27xp.js.map} +1 -1
- package/bin/{chunk-9srzn76p.js.map → chunk-66dwppbm.js.map} +9 -10
- package/bin/{chunk-fa24jk5g.js.map → chunk-6bvykscf.js.map} +1 -1
- package/bin/{chunk-ax5g8517.js.map → chunk-6k7n1r3q.js.map} +1 -1
- package/bin/{chunk-xtwnnghb.js.map → chunk-6r86q0k4.js.map} +1 -1
- package/bin/{chunk-1pzvaz9f.js.map → chunk-77eyg27q.js.map} +1 -1
- package/bin/{chunk-x7tkga0t.js.map → chunk-783m7gc3.js.map} +1 -1
- package/bin/{chunk-6k1pz25v.js.map → chunk-7d41bvtg.js.map} +1 -1
- package/bin/{chunk-1gtjhgt3.js.map → chunk-7e3zg77d.js.map} +1 -1
- package/bin/{chunk-b6w4jk6a.js.map → chunk-7yvrj7w0.js.map} +1 -1
- package/bin/{chunk-pszrhjgc.js.map → chunk-8wzz064f.js.map} +1 -1
- package/bin/{chunk-9twse3kx.js.map → chunk-8zqvkdst.js.map} +1 -1
- package/bin/{chunk-4thafrgj.js.map → chunk-9553kdsj.js.map} +1 -1
- package/bin/{chunk-gjcy16s7.js.map → chunk-9cmttpv0.js.map} +1 -1
- package/bin/{chunk-nzv2skkh.js.map → chunk-9dwzq3ng.js.map} +1 -1
- package/bin/{chunk-a02eyp2p.js.map → chunk-9hhxmszg.js.map} +1 -1
- package/bin/{chunk-wy2hyksb.js.map → chunk-9yrvvdn2.js.map} +1 -1
- package/bin/{chunk-8mek2ywx.js.map → chunk-a7xn8swd.js.map} +1 -1
- package/bin/{chunk-btxf42hx.js.map → chunk-aj2tffde.js.map} +1 -1
- package/bin/{chunk-cycyezys.js.map → chunk-ajk6e1wv.js.map} +1 -1
- package/bin/{chunk-1tym2wqn.js.map → chunk-aq63hksg.js.map} +1 -1
- package/bin/{chunk-vtgs1qt6.js.map → chunk-avxek8fh.js.map} +1 -1
- package/bin/{chunk-smwgkspk.js.map → chunk-bayj6m6m.js.map} +1 -1
- package/bin/{chunk-a4zjww48.js.map → chunk-bbk5t9jm.js.map} +1 -1
- package/bin/{chunk-b0qja2gb.js.map → chunk-bch80y4t.js.map} +1 -1
- package/bin/{chunk-zgsd5eck.js.map → chunk-bck7f5ef.js.map} +1 -1
- package/bin/{chunk-ge3yxgbw.js.map → chunk-bdwzzcp7.js.map} +1 -1
- package/bin/{chunk-jeamkv8g.js.map → chunk-c3pt576r.js.map} +1 -1
- package/bin/{chunk-1qxv09ey.js.map → chunk-c9ehyy6s.js.map} +1 -1
- package/bin/{chunk-dnwmxkty.js.map → chunk-ccg11b44.js.map} +4 -4
- package/bin/{chunk-zrerf0j2.js.map → chunk-ce98e1ae.js.map} +1 -1
- package/bin/{chunk-b208xvzv.js.map → chunk-cyc3n5cy.js.map} +1 -1
- package/bin/{chunk-qcg0h4fc.js.map → chunk-czadjrvz.js.map} +1 -1
- package/bin/{chunk-kgypfth0.js.map → chunk-d1s1zsr7.js.map} +1 -1
- package/bin/{chunk-z9mwk12b.js.map → chunk-d7rrmdk8.js.map} +1 -1
- package/bin/{chunk-dbn7tte5.js.map → chunk-dxmmeceh.js.map} +1 -1
- package/bin/{chunk-cq23zd50.js.map → chunk-e0grb1nh.js.map} +1 -1
- package/bin/{chunk-6m3ecdmx.js.map → chunk-e16ww316.js.map} +1 -1
- package/bin/{chunk-ymfe2dez.js.map → chunk-e1d19x6b.js.map} +1 -1
- package/bin/{chunk-c0bfyegk.js.map → chunk-e83hr6ex.js.map} +1 -1
- package/bin/{chunk-nypfcc39.js.map → chunk-eh9qqdrm.js.map} +1 -1
- package/bin/{chunk-m10q9azm.js.map → chunk-f63new4k.js.map} +1 -1
- package/bin/chunk-f7r3fy74.js.map +10 -0
- package/bin/{chunk-m4cdrqcd.js.map → chunk-f912tbzc.js.map} +10 -9
- package/bin/chunk-fbewpjdb.js.map +9 -0
- package/bin/chunk-fbjf2xj7.js.map +9 -0
- package/bin/{chunk-49d97pbw.js.map → chunk-febzc4jr.js.map} +1 -1
- package/bin/{chunk-dm8q8kwb.js.map → chunk-fgp265gw.js.map} +1 -1
- package/bin/{chunk-dmrd5tmc.js.map → chunk-fjm8v2sg.js.map} +1 -1
- package/bin/{chunk-bmmx11mh.js.map → chunk-fqfvj9mn.js.map} +1 -1
- package/bin/{chunk-vn42kyma.js.map → chunk-g18yv7sb.js.map} +1 -1
- package/bin/chunk-g4qt75dq.js.map +9 -0
- package/bin/chunk-ggsekczn.js.map +9 -0
- package/bin/{chunk-g0emynqk.js.map → chunk-h9zcsm1h.js.map} +1 -1
- package/bin/{chunk-sczj0z4a.js.map → chunk-hbvfvy3c.js.map} +1 -1
- package/bin/{chunk-p5ywy13s.js.map → chunk-hq8skz98.js.map} +1 -1
- package/bin/{chunk-hm0eh0j5.js.map → chunk-hs5z5cns.js.map} +1 -1
- package/bin/{chunk-v0nb5wxf.js.map → chunk-jqfhdtmv.js.map} +1 -1
- package/bin/{chunk-nq73xcva.js.map → chunk-jvrpxjsr.js.map} +1 -1
- package/bin/{chunk-8957xfgn.js.map → chunk-k8e1te9e.js.map} +1 -1
- package/bin/{chunk-eaajr5wv.js.map → chunk-k9m6y78t.js.map} +1 -1
- package/bin/{chunk-pg4c9444.js.map → chunk-ka8x10z3.js.map} +1 -1
- package/bin/{chunk-5ct0fz7a.js.map → chunk-kdd8s2hq.js.map} +1 -1
- package/bin/{chunk-6rypfhrh.js.map → chunk-kg0yzc7q.js.map} +1 -1
- package/bin/{chunk-fh9c7sg7.js.map → chunk-kkdc6cp9.js.map} +1 -1
- package/bin/{chunk-pjst5baa.js.map → chunk-kypjmgkn.js.map} +1 -1
- package/bin/{chunk-c8tcx31e.js.map → chunk-m2c2zk7j.js.map} +1 -1
- package/bin/{chunk-ht164k3x.js.map → chunk-mq2wxzyt.js.map} +1 -1
- package/bin/chunk-mrf8cffz.js.map +9 -0
- package/bin/{chunk-vrrndvrw.js.map → chunk-mrr6n500.js.map} +1 -1
- package/bin/{chunk-tvkjep73.js.map → chunk-mthztyb3.js.map} +1 -1
- package/bin/{chunk-wy97gwpm.js.map → chunk-n5sr1e8m.js.map} +1 -1
- package/bin/{chunk-t582b5at.js.map → chunk-nhbk3t38.js.map} +1 -1
- package/bin/chunk-pcvdm04y.js.map +9 -0
- package/bin/{chunk-4wey3690.js.map → chunk-pepnnffn.js.map} +1 -1
- package/bin/{chunk-5cr84bpk.js.map → chunk-pk5dere4.js.map} +1 -1
- package/bin/{chunk-e1cnnss5.js.map → chunk-q0kd5q46.js.map} +1 -1
- package/bin/{chunk-avh2c623.js.map → chunk-q5nm6dk8.js.map} +1 -1
- package/bin/{chunk-tj43d2pe.js.map → chunk-q5vnaxez.js.map} +1 -1
- package/bin/{chunk-b075gh17.js.map → chunk-q5wfyfrc.js.map} +1 -1
- package/bin/chunk-q8rr1zxn.js.map +9 -0
- package/bin/{chunk-2z4rv6zt.js.map → chunk-qhe8tfzj.js.map} +1 -1
- package/bin/{chunk-na03rm2z.js.map → chunk-r5trsc1z.js.map} +1 -1
- package/bin/{chunk-vb0mskn0.js.map → chunk-r8mk6pr8.js.map} +1 -1
- package/bin/{chunk-ckak3n65.js.map → chunk-rkkv9m0k.js.map} +1 -1
- package/bin/{chunk-b79dmht8.js.map → chunk-rq9rryq4.js.map} +1 -1
- package/bin/{chunk-zdbdx04z.js.map → chunk-rqb285vw.js.map} +1 -1
- package/bin/{chunk-6c7sn8ys.js.map → chunk-rvkchb9g.js.map} +1 -1
- package/bin/{chunk-r1jgm86f.js.map → chunk-rwk8cb25.js.map} +1 -1
- package/bin/{chunk-neg0z8hc.js.map → chunk-s39mfsjr.js.map} +1 -1
- package/bin/chunk-sbg6m6qd.js.map +9 -0
- package/bin/{chunk-nry3ksc7.js.map → chunk-schg56mb.js.map} +9 -10
- package/bin/{chunk-qcap1rb7.js.map → chunk-sdj9j63p.js.map} +1 -1
- package/bin/{chunk-6dxfbgp8.js.map → chunk-svzb1rvr.js.map} +1 -1
- package/bin/{chunk-2rb6nnjs.js.map → chunk-syhnna7j.js.map} +1 -1
- package/bin/{chunk-0j73xsd9.js.map → chunk-t0hppdwj.js.map} +1 -1
- package/bin/{chunk-dwn4tf09.js.map → chunk-t9myyggn.js.map} +1 -1
- package/bin/{chunk-xcw0cx95.js.map → chunk-tbxfcr0e.js.map} +4 -4
- package/bin/{chunk-42dzq646.js.map → chunk-tdmzen6h.js.map} +1 -1
- package/bin/{chunk-p80ks92e.js.map → chunk-teqpmzns.js.map} +1 -1
- package/bin/{chunk-9nfhs0ne.js.map → chunk-tf4cpzw2.js.map} +1 -1
- package/bin/{chunk-nhgw1c1x.js.map → chunk-tjfemqrt.js.map} +1 -1
- package/bin/chunk-tk8fb6ds.js.map +9 -0
- package/bin/{chunk-krchztvr.js.map → chunk-tte6wwdx.js.map} +1 -1
- package/bin/{chunk-ge5jqbrf.js.map → chunk-tx27y8m0.js.map} +1 -1
- package/bin/{chunk-zw9ga5ew.js.map → chunk-tzqbrcgy.js.map} +1 -1
- package/bin/{chunk-yvbdcz8t.js.map → chunk-v4mcc3vz.js.map} +1 -1
- package/bin/{chunk-4t1zswq0.js.map → chunk-vbvhz2pd.js.map} +1 -1
- package/bin/{chunk-8xdyxyvq.js.map → chunk-vs8khd52.js.map} +1 -1
- package/bin/chunk-vxstht4w.js.map +9 -0
- package/bin/{chunk-ers1hxbs.js.map → chunk-vyc8900h.js.map} +1 -1
- package/bin/{chunk-deq37hr7.js.map → chunk-vzj77f98.js.map} +1 -1
- package/bin/chunk-w3md3k9h.js.map +9 -0
- package/bin/{chunk-8ctbfqy4.js.map → chunk-ws1sa4qt.js.map} +1 -1
- package/bin/{chunk-v79xg44h.js.map → chunk-wsc6nzab.js.map} +1 -1
- package/bin/{chunk-329n1dqc.js.map → chunk-xccpwvr3.js.map} +1 -1
- package/bin/{chunk-tw1ckg11.js.map → chunk-xvtamsbd.js.map} +1 -1
- package/bin/{chunk-0a1m9wgc.js.map → chunk-y08nyt83.js.map} +1 -1
- package/bin/{chunk-w75hb1hw.js.map → chunk-yt6ay6w0.js.map} +1 -1
- package/bin/{chunk-pn0e7gcj.js.map → chunk-yzcdvbfw.js.map} +1 -1
- package/bin/{chunk-6ggc0n2p.js.map → chunk-z9sy8mbc.js.map} +1 -1
- package/bin/{chunk-4m85mhhz.js.map → chunk-zaf62avh.js.map} +1 -1
- package/bin/index.js.map +1 -1
- package/bin/lildax +0 -0
- package/bin/parser.worker.js.map +1 -1
- package/package.json +1 -1
- package/bin/chunk-5geqpegg.js.map +0 -9
- package/bin/chunk-5sx6nvq1.js.map +0 -10
- package/bin/chunk-7579kt50.js.map +0 -9
- package/bin/chunk-7nnp63q7.js.map +0 -9
- package/bin/chunk-86napvdf.js.map +0 -9
- package/bin/chunk-9fzc2bb9.js.map +0 -9
- package/bin/chunk-9qjvbdm3.js.map +0 -9
- package/bin/chunk-bf06badh.js.map +0 -9
- package/bin/chunk-jmfh62q7.js.map +0 -9
- package/bin/chunk-prmaycbp.js.map +0 -9
- package/bin/chunk-wkgexkgt.js.map +0 -9
- package/bin/chunk-ybqft6x4.js.map +0 -9
- /package/bin/{chunk-19v86c5g.js.map → chunk-0s85negq.js.map} +0 -0
- /package/bin/{chunk-cafkg56h.js.map → chunk-1wn26hjz.js.map} +0 -0
- /package/bin/{chunk-qaddcz2r.js.map → chunk-2tfw51vs.js.map} +0 -0
- /package/bin/{chunk-nzz2ev91.js.map → chunk-4em1c12e.js.map} +0 -0
- /package/bin/{chunk-456w6q1a.js.map → chunk-79vj9n2t.js.map} +0 -0
- /package/bin/{chunk-9pdcwvcs.js.map → chunk-ag5z0yja.js.map} +0 -0
- /package/bin/{chunk-rnpxg5s2.js.map → chunk-cwapd5wj.js.map} +0 -0
- /package/bin/{chunk-4f0gtydx.js.map → chunk-etd80p1e.js.map} +0 -0
- /package/bin/{chunk-3rawnkt6.js.map → chunk-f0bssbyc.js.map} +0 -0
- /package/bin/{chunk-k3r6tx2t.js.map → chunk-jgv6t1z3.js.map} +0 -0
- /package/bin/{chunk-hkw6v0vq.js.map → chunk-ntqcpt6x.js.map} +0 -0
- /package/bin/{chunk-b1dadqwx.js.map → chunk-p8p3ex20.js.map} +0 -0
- /package/bin/{chunk-57xczamb.js.map → chunk-pd4djj9d.js.map} +0 -0
- /package/bin/{chunk-tyebzt8s.js.map → chunk-pmc0hgj6.js.map} +0 -0
- /package/bin/{chunk-p3rf8xm7.js.map → chunk-qqyqh0tr.js.map} +0 -0
- /package/bin/{chunk-14c371g6.js.map → chunk-r85nme5h.js.map} +0 -0
- /package/bin/{chunk-ycwek99t.js.map → chunk-sdeyx6xk.js.map} +0 -0
- /package/bin/{chunk-2gyj4bda.js.map → chunk-sgav08p2.js.map} +0 -0
- /package/bin/{chunk-rhkz7cb8.js.map → chunk-skp0xgdw.js.map} +0 -0
- /package/bin/{chunk-a5mpvb70.js.map → chunk-stcrbtjf.js.map} +0 -0
- /package/bin/{chunk-6ragyxk4.js.map → chunk-w11j837z.js.map} +0 -0
- /package/bin/{chunk-k2pew2ce.js.map → chunk-ymc3k38e.js.map} +0 -0
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"// src/chat/openai-compatible-chat-language-model.ts\nimport {\n InvalidResponseDataError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonErrorResponseHandler,\n createJsonResponseHandler,\n generateId,\n isParsableJson,\n parseProviderOptions,\n postJsonToApi\n} from \"@ai-sdk/provider-utils\";\nimport { z as z3 } from \"zod/v4\";\n\n// src/openai-compatible-error.ts\nimport { z } from \"zod/v4\";\nvar openaiCompatibleErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n // The additional information below is handled loosely to support\n // OpenAI-compatible providers that have slightly different error\n // responses:\n type: z.string().nullish(),\n param: z.any().nullish(),\n code: z.union([z.string(), z.number()]).nullish()\n })\n});\nvar defaultOpenAICompatibleErrorStructure = {\n errorSchema: openaiCompatibleErrorDataSchema,\n errorToMessage: (data) => data.error.message\n};\n\n// src/chat/convert-openai-compatible-chat-usage.ts\nfunction convertOpenAICompatibleChatUsage(usage) {\n var _a, _b, _c, _d, _e, _f;\n if (usage == null) {\n return {\n inputTokens: {\n total: void 0,\n noCache: void 0,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: void 0,\n text: void 0,\n reasoning: void 0\n },\n raw: void 0\n };\n }\n const promptTokens = (_a = usage.prompt_tokens) != null ? _a : 0;\n const completionTokens = (_b = usage.completion_tokens) != null ? _b : 0;\n const cacheReadTokens = (_d = (_c = usage.prompt_tokens_details) == null ? void 0 : _c.cached_tokens) != null ? _d : 0;\n const reasoningTokens = (_f = (_e = usage.completion_tokens_details) == null ? void 0 : _e.reasoning_tokens) != null ? _f : 0;\n return {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens - cacheReadTokens,\n cacheRead: cacheReadTokens,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens - reasoningTokens,\n reasoning: reasoningTokens\n },\n raw: usage\n };\n}\n\n// src/chat/convert-to-openai-compatible-chat-messages.ts\nimport {\n UnsupportedFunctionalityError\n} from \"@ai-sdk/provider\";\nimport {\n convertBase64ToUint8Array,\n convertToBase64\n} from \"@ai-sdk/provider-utils\";\nfunction getOpenAIMetadata(message) {\n var _a, _b;\n return (_b = (_a = message == null ? void 0 : message.providerOptions) == null ? void 0 : _a.openaiCompatible) != null ? _b : {};\n}\nfunction getAudioFormat(mediaType) {\n switch (mediaType) {\n case \"audio/wav\":\n return \"wav\";\n case \"audio/mp3\":\n case \"audio/mpeg\":\n return \"mp3\";\n default:\n return null;\n }\n}\nfunction convertToOpenAICompatibleChatMessages(prompt) {\n var _a, _b, _c;\n const messages = [];\n for (const { role, content, ...message } of prompt) {\n const metadata = getOpenAIMetadata({ ...message });\n switch (role) {\n case \"system\": {\n messages.push({ role: \"system\", content, ...metadata });\n break;\n }\n case \"user\": {\n if (content.length === 1 && content[0].type === \"text\") {\n messages.push({\n role: \"user\",\n content: content[0].text,\n ...getOpenAIMetadata(content[0])\n });\n break;\n }\n messages.push({\n role: \"user\",\n content: content.map((part) => {\n var _a2;\n const partMetadata = getOpenAIMetadata(part);\n switch (part.type) {\n case \"text\": {\n return { type: \"text\", text: part.text, ...partMetadata };\n }\n case \"file\": {\n if (part.mediaType.startsWith(\"image/\")) {\n const mediaType = part.mediaType === \"image/*\" ? \"image/jpeg\" : part.mediaType;\n return {\n type: \"image_url\",\n image_url: {\n url: part.data instanceof URL ? part.data.toString() : `data:${mediaType};base64,${convertToBase64(part.data)}`\n },\n ...partMetadata\n };\n }\n if (part.mediaType.startsWith(\"audio/\")) {\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError({\n functionality: \"audio file parts with URLs\"\n });\n }\n const format = getAudioFormat(part.mediaType);\n if (format === null) {\n throw new UnsupportedFunctionalityError({\n functionality: `audio media type ${part.mediaType}`\n });\n }\n return {\n type: \"input_audio\",\n input_audio: {\n data: convertToBase64(part.data),\n format\n },\n ...partMetadata\n };\n }\n if (part.mediaType === \"application/pdf\") {\n if (part.data instanceof URL) {\n throw new UnsupportedFunctionalityError({\n functionality: \"PDF file parts with URLs\"\n });\n }\n return {\n type: \"file\",\n file: {\n filename: (_a2 = part.filename) != null ? _a2 : \"document.pdf\",\n file_data: `data:application/pdf;base64,${convertToBase64(part.data)}`\n },\n ...partMetadata\n };\n }\n if (part.mediaType.startsWith(\"text/\")) {\n const textContent = part.data instanceof URL ? part.data.toString() : typeof part.data === \"string\" ? new TextDecoder().decode(\n convertBase64ToUint8Array(part.data)\n ) : new TextDecoder().decode(part.data);\n return {\n type: \"text\",\n text: textContent,\n ...partMetadata\n };\n }\n throw new UnsupportedFunctionalityError({\n functionality: `file part media type ${part.mediaType}`\n });\n }\n }\n }),\n ...metadata\n });\n break;\n }\n case \"assistant\": {\n let text = \"\";\n let reasoning = \"\";\n const toolCalls = [];\n for (const part of content) {\n const partMetadata = getOpenAIMetadata(part);\n switch (part.type) {\n case \"text\": {\n text += part.text;\n break;\n }\n case \"reasoning\": {\n reasoning += part.text;\n break;\n }\n case \"tool-call\": {\n const thoughtSignature = (_b = (_a = part.providerOptions) == null ? void 0 : _a.google) == null ? void 0 : _b.thoughtSignature;\n toolCalls.push({\n id: part.toolCallId,\n type: \"function\",\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.input)\n },\n ...partMetadata,\n // Include extra_content for Google Gemini thought signatures\n ...thoughtSignature ? {\n extra_content: {\n google: {\n thought_signature: String(thoughtSignature)\n }\n }\n } : {}\n });\n break;\n }\n }\n }\n messages.push({\n role: \"assistant\",\n content: text,\n ...reasoning.length > 0 ? { reasoning_content: reasoning } : {},\n tool_calls: toolCalls.length > 0 ? toolCalls : void 0,\n ...metadata\n });\n break;\n }\n case \"tool\": {\n for (const toolResponse of content) {\n if (toolResponse.type === \"tool-approval-response\") {\n continue;\n }\n const output = toolResponse.output;\n let contentValue;\n switch (output.type) {\n case \"text\":\n case \"error-text\":\n contentValue = output.value;\n break;\n case \"execution-denied\":\n contentValue = (_c = output.reason) != null ? _c : \"Tool execution denied.\";\n break;\n case \"content\":\n case \"json\":\n case \"error-json\":\n contentValue = JSON.stringify(output.value);\n break;\n }\n const toolResponseMetadata = getOpenAIMetadata(toolResponse);\n messages.push({\n role: \"tool\",\n tool_call_id: toolResponse.toolCallId,\n content: contentValue,\n ...toolResponseMetadata\n });\n }\n break;\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n return messages;\n}\n\n// src/chat/get-response-metadata.ts\nfunction getResponseMetadata({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/chat/map-openai-compatible-finish-reason.ts\nfunction mapOpenAICompatibleFinishReason(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n case \"function_call\":\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/chat/openai-compatible-chat-options.ts\nimport { z as z2 } from \"zod/v4\";\nvar openaiCompatibleLanguageModelChatOptions = z2.object({\n /**\n * A unique identifier representing your end-user, which can help the provider to\n * monitor and detect abuse.\n */\n user: z2.string().optional(),\n /**\n * Reasoning effort for reasoning models. Defaults to `medium`.\n */\n reasoningEffort: z2.string().optional(),\n /**\n * Controls the verbosity of the generated text. Defaults to `medium`.\n */\n textVerbosity: z2.string().optional(),\n /**\n * Whether to use strict JSON schema validation.\n * When true, the model uses constrained decoding to guarantee schema compliance.\n * Only used when the provider supports structured outputs and a schema is provided.\n *\n * @default true\n */\n strictJsonSchema: z2.boolean().optional()\n});\n\n// src/chat/openai-compatible-prepare-tools.ts\nimport {\n UnsupportedFunctionalityError as UnsupportedFunctionalityError2\n} from \"@ai-sdk/provider\";\nfunction prepareTools({\n tools,\n toolChoice\n}) {\n tools = (tools == null ? void 0 : tools.length) ? tools : void 0;\n const toolWarnings = [];\n if (tools == null) {\n return { tools: void 0, toolChoice: void 0, toolWarnings };\n }\n const openaiCompatTools = [];\n for (const tool of tools) {\n if (tool.type === \"provider\") {\n toolWarnings.push({\n type: \"unsupported\",\n feature: `provider-defined tool ${tool.id}`\n });\n } else {\n openaiCompatTools.push({\n type: \"function\",\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.inputSchema,\n ...tool.strict != null ? { strict: tool.strict } : {}\n }\n });\n }\n }\n if (toolChoice == null) {\n return { tools: openaiCompatTools, toolChoice: void 0, toolWarnings };\n }\n const type = toolChoice.type;\n switch (type) {\n case \"auto\":\n case \"none\":\n case \"required\":\n return { tools: openaiCompatTools, toolChoice: type, toolWarnings };\n case \"tool\":\n return {\n tools: openaiCompatTools,\n toolChoice: {\n type: \"function\",\n function: { name: toolChoice.toolName }\n },\n toolWarnings\n };\n default: {\n const _exhaustiveCheck = type;\n throw new UnsupportedFunctionalityError2({\n functionality: `tool choice type: ${_exhaustiveCheck}`\n });\n }\n }\n}\n\n// src/chat/openai-compatible-chat-language-model.ts\nvar OpenAICompatibleChatLanguageModel = class {\n // type inferred via constructor\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n var _a, _b;\n this.modelId = modelId;\n this.config = config;\n const errorStructure = (_a = config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure;\n this.chunkSchema = createOpenAICompatibleChatChunkSchema(\n errorStructure.errorSchema\n );\n this.failedResponseHandler = createJsonErrorResponseHandler(errorStructure);\n this.supportsStructuredOutputs = (_b = config.supportsStructuredOutputs) != null ? _b : false;\n }\n get provider() {\n return this.config.provider;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\n }\n get supportedUrls() {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.config).supportedUrls) == null ? void 0 : _b.call(_a)) != null ? _c : {};\n }\n transformRequestBody(args) {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.config).transformRequestBody) == null ? void 0 : _b.call(_a, args)) != null ? _c : args;\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n providerOptions,\n stopSequences,\n responseFormat,\n seed,\n toolChoice,\n tools\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n const deprecatedOptions = await parseProviderOptions({\n provider: \"openai-compatible\",\n providerOptions,\n schema: openaiCompatibleLanguageModelChatOptions\n });\n if (deprecatedOptions != null) {\n warnings.push({\n type: \"other\",\n message: `The 'openai-compatible' key in providerOptions is deprecated. Use 'openaiCompatible' instead.`\n });\n }\n const compatibleOptions = Object.assign(\n deprecatedOptions != null ? deprecatedOptions : {},\n (_a = await parseProviderOptions({\n provider: \"openaiCompatible\",\n providerOptions,\n schema: openaiCompatibleLanguageModelChatOptions\n })) != null ? _a : {},\n (_b = await parseProviderOptions({\n provider: this.providerOptionsName,\n providerOptions,\n schema: openaiCompatibleLanguageModelChatOptions\n })) != null ? _b : {}\n );\n const strictJsonSchema = (_c = compatibleOptions == null ? void 0 : compatibleOptions.strictJsonSchema) != null ? _c : true;\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if ((responseFormat == null ? void 0 : responseFormat.type) === \"json\" && responseFormat.schema != null && !this.supportsStructuredOutputs) {\n warnings.push({\n type: \"unsupported\",\n feature: \"responseFormat\",\n details: \"JSON response format schema is only supported with structuredOutputs\"\n });\n }\n const {\n tools: openaiTools,\n toolChoice: openaiToolChoice,\n toolWarnings\n } = prepareTools({\n tools,\n toolChoice\n });\n return {\n args: {\n // model id:\n model: this.modelId,\n // model specific settings:\n user: compatibleOptions.user,\n // standardized settings:\n max_tokens: maxOutputTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n response_format: (responseFormat == null ? void 0 : responseFormat.type) === \"json\" ? this.supportsStructuredOutputs === true && responseFormat.schema != null ? {\n type: \"json_schema\",\n json_schema: {\n schema: responseFormat.schema,\n strict: strictJsonSchema,\n name: (_d = responseFormat.name) != null ? _d : \"response\",\n description: responseFormat.description\n }\n } : { type: \"json_object\" } : void 0,\n stop: stopSequences,\n seed,\n ...Object.fromEntries(\n Object.entries(\n (_e = providerOptions == null ? void 0 : providerOptions[this.providerOptionsName]) != null ? _e : {}\n ).filter(\n ([key]) => !Object.keys(\n openaiCompatibleLanguageModelChatOptions.shape\n ).includes(key)\n )\n ),\n reasoning_effort: compatibleOptions.reasoningEffort,\n verbosity: compatibleOptions.textVerbosity,\n // messages:\n messages: convertToOpenAICompatibleChatMessages(prompt),\n // tools:\n tools: openaiTools,\n tool_choice: openaiToolChoice\n },\n warnings: [...warnings, ...toolWarnings]\n };\n }\n async doGenerate(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const { args, warnings } = await this.getArgs({ ...options });\n const transformedBody = this.transformRequestBody(args);\n const body = JSON.stringify(transformedBody);\n const {\n responseHeaders,\n value: responseBody,\n rawValue: rawResponse\n } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: transformedBody,\n failedResponseHandler: this.failedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n OpenAICompatibleChatResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const choice = responseBody.choices[0];\n const content = [];\n const text = choice.message.content;\n if (text != null && text.length > 0) {\n content.push({ type: \"text\", text });\n }\n const reasoning = (_a = choice.message.reasoning_content) != null ? _a : choice.message.reasoning;\n if (reasoning != null && reasoning.length > 0) {\n content.push({\n type: \"reasoning\",\n text: reasoning\n });\n }\n if (choice.message.tool_calls != null) {\n for (const toolCall of choice.message.tool_calls) {\n const thoughtSignature = (_c = (_b = toolCall.extra_content) == null ? void 0 : _b.google) == null ? void 0 : _c.thought_signature;\n content.push({\n type: \"tool-call\",\n toolCallId: (_d = toolCall.id) != null ? _d : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments,\n ...thoughtSignature ? {\n providerMetadata: {\n [this.providerOptionsName]: { thoughtSignature }\n }\n } : {}\n });\n }\n }\n const providerMetadata = {\n [this.providerOptionsName]: {},\n ...await ((_f = (_e = this.config.metadataExtractor) == null ? void 0 : _e.extractMetadata) == null ? void 0 : _f.call(_e, {\n parsedBody: rawResponse\n }))\n };\n const completionTokenDetails = (_g = responseBody.usage) == null ? void 0 : _g.completion_tokens_details;\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens) != null) {\n providerMetadata[this.providerOptionsName].acceptedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.accepted_prediction_tokens;\n }\n if ((completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens) != null) {\n providerMetadata[this.providerOptionsName].rejectedPredictionTokens = completionTokenDetails == null ? void 0 : completionTokenDetails.rejected_prediction_tokens;\n }\n return {\n content,\n finishReason: {\n unified: mapOpenAICompatibleFinishReason(choice.finish_reason),\n raw: (_h = choice.finish_reason) != null ? _h : void 0\n },\n usage: convertOpenAICompatibleChatUsage(responseBody.usage),\n providerMetadata,\n request: { body },\n response: {\n ...getResponseMetadata(responseBody),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings\n };\n }\n async doStream(options) {\n var _a;\n const { args, warnings } = await this.getArgs({ ...options });\n const body = this.transformRequestBody({\n ...args,\n stream: true,\n // only include stream_options when in strict compatibility mode:\n stream_options: this.config.includeUsage ? { include_usage: true } : void 0\n });\n const metadataExtractor = (_a = this.config.metadataExtractor) == null ? void 0 : _a.createStreamExtractor();\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: \"/chat/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body,\n failedResponseHandler: this.failedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler(\n this.chunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const toolCalls = [];\n let finishReason = {\n unified: \"other\",\n raw: void 0\n };\n let usage = void 0;\n let isFirstChunk = true;\n const providerOptionsName = this.providerOptionsName;\n let isActiveReasoning = false;\n let isActiveText = false;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n start(controller) {\n controller.enqueue({ type: \"stream-start\", warnings });\n },\n transform(chunk, controller) {\n var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishReason = { unified: \"error\", raw: void 0 };\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n metadataExtractor == null ? void 0 : metadataExtractor.processChunk(chunk.rawValue);\n if (\"error\" in chunk.value) {\n finishReason = { unified: \"error\", raw: void 0 };\n controller.enqueue({\n type: \"error\",\n error: chunk.value.error.message\n });\n return;\n }\n const value = chunk.value;\n if (isFirstChunk) {\n isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata(value)\n });\n }\n if (value.usage != null) {\n usage = value.usage;\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = {\n unified: mapOpenAICompatibleFinishReason(choice.finish_reason),\n raw: (_a2 = choice.finish_reason) != null ? _a2 : void 0\n };\n }\n if ((choice == null ? void 0 : choice.delta) == null) {\n return;\n }\n const delta = choice.delta;\n const reasoningContent = (_b = delta.reasoning_content) != null ? _b : delta.reasoning;\n if (reasoningContent) {\n if (!isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-start\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = true;\n }\n controller.enqueue({\n type: \"reasoning-delta\",\n id: \"reasoning-0\",\n delta: reasoningContent\n });\n }\n if (delta.content) {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = false;\n }\n if (!isActiveText) {\n controller.enqueue({ type: \"text-start\", id: \"txt-0\" });\n isActiveText = true;\n }\n controller.enqueue({\n type: \"text-delta\",\n id: \"txt-0\",\n delta: delta.content\n });\n }\n if (delta.tool_calls != null) {\n if (isActiveReasoning) {\n controller.enqueue({\n type: \"reasoning-end\",\n id: \"reasoning-0\"\n });\n isActiveReasoning = false;\n }\n for (const toolCallDelta of delta.tool_calls) {\n const index = (_c = toolCallDelta.index) != null ? _c : toolCalls.length;\n if (toolCalls[index] == null) {\n if (toolCallDelta.id == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'id' to be a string.`\n });\n }\n if (((_d = toolCallDelta.function) == null ? void 0 : _d.name) == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function.name' to be a string.`\n });\n }\n controller.enqueue({\n type: \"tool-input-start\",\n id: toolCallDelta.id,\n toolName: toolCallDelta.function.name\n });\n toolCalls[index] = {\n id: toolCallDelta.id,\n type: \"function\",\n function: {\n name: toolCallDelta.function.name,\n arguments: (_e = toolCallDelta.function.arguments) != null ? _e : \"\"\n },\n hasFinished: false,\n thoughtSignature: (_h = (_g = (_f = toolCallDelta.extra_content) == null ? void 0 : _f.google) == null ? void 0 : _g.thought_signature) != null ? _h : void 0\n };\n const toolCall2 = toolCalls[index];\n if (((_i = toolCall2.function) == null ? void 0 : _i.name) != null && ((_j = toolCall2.function) == null ? void 0 : _j.arguments) != null) {\n if (toolCall2.function.arguments.length > 0) {\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCall2.id,\n delta: toolCall2.function.arguments\n });\n }\n if (isParsableJson(toolCall2.function.arguments)) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall2.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_k = toolCall2.id) != null ? _k : generateId(),\n toolName: toolCall2.function.name,\n input: toolCall2.function.arguments,\n ...toolCall2.thoughtSignature ? {\n providerMetadata: {\n [providerOptionsName]: {\n thoughtSignature: toolCall2.thoughtSignature\n }\n }\n } : {}\n });\n toolCall2.hasFinished = true;\n }\n }\n continue;\n }\n const toolCall = toolCalls[index];\n if (toolCall.hasFinished) {\n continue;\n }\n if (((_l = toolCallDelta.function) == null ? void 0 : _l.arguments) != null) {\n toolCall.function.arguments += (_n = (_m = toolCallDelta.function) == null ? void 0 : _m.arguments) != null ? _n : \"\";\n }\n controller.enqueue({\n type: \"tool-input-delta\",\n id: toolCall.id,\n delta: (_o = toolCallDelta.function.arguments) != null ? _o : \"\"\n });\n if (((_p = toolCall.function) == null ? void 0 : _p.name) != null && ((_q = toolCall.function) == null ? void 0 : _q.arguments) != null && isParsableJson(toolCall.function.arguments)) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_r = toolCall.id) != null ? _r : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments,\n ...toolCall.thoughtSignature ? {\n providerMetadata: {\n [providerOptionsName]: {\n thoughtSignature: toolCall.thoughtSignature\n }\n }\n } : {}\n });\n toolCall.hasFinished = true;\n }\n }\n }\n },\n flush(controller) {\n var _a2, _b, _c, _d, _e;\n if (isActiveReasoning) {\n controller.enqueue({ type: \"reasoning-end\", id: \"reasoning-0\" });\n }\n if (isActiveText) {\n controller.enqueue({ type: \"text-end\", id: \"txt-0\" });\n }\n for (const toolCall of toolCalls.filter(\n (toolCall2) => !toolCall2.hasFinished\n )) {\n controller.enqueue({\n type: \"tool-input-end\",\n id: toolCall.id\n });\n controller.enqueue({\n type: \"tool-call\",\n toolCallId: (_a2 = toolCall.id) != null ? _a2 : generateId(),\n toolName: toolCall.function.name,\n input: toolCall.function.arguments,\n ...toolCall.thoughtSignature ? {\n providerMetadata: {\n [providerOptionsName]: {\n thoughtSignature: toolCall.thoughtSignature\n }\n }\n } : {}\n });\n }\n const providerMetadata = {\n [providerOptionsName]: {},\n ...metadataExtractor == null ? void 0 : metadataExtractor.buildMetadata()\n };\n if (((_b = usage == null ? void 0 : usage.completion_tokens_details) == null ? void 0 : _b.accepted_prediction_tokens) != null) {\n providerMetadata[providerOptionsName].acceptedPredictionTokens = (_c = usage == null ? void 0 : usage.completion_tokens_details) == null ? void 0 : _c.accepted_prediction_tokens;\n }\n if (((_d = usage == null ? void 0 : usage.completion_tokens_details) == null ? void 0 : _d.rejected_prediction_tokens) != null) {\n providerMetadata[providerOptionsName].rejectedPredictionTokens = (_e = usage == null ? void 0 : usage.completion_tokens_details) == null ? void 0 : _e.rejected_prediction_tokens;\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertOpenAICompatibleChatUsage(usage),\n providerMetadata\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nvar openaiCompatibleTokenUsageSchema = z3.looseObject({\n prompt_tokens: z3.number().nullish(),\n completion_tokens: z3.number().nullish(),\n total_tokens: z3.number().nullish(),\n prompt_tokens_details: z3.object({\n cached_tokens: z3.number().nullish()\n }).nullish(),\n completion_tokens_details: z3.object({\n reasoning_tokens: z3.number().nullish(),\n accepted_prediction_tokens: z3.number().nullish(),\n rejected_prediction_tokens: z3.number().nullish()\n }).nullish()\n}).nullish();\nvar OpenAICompatibleChatResponseSchema = z3.looseObject({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n message: z3.object({\n role: z3.literal(\"assistant\").nullish(),\n content: z3.string().nullish(),\n reasoning_content: z3.string().nullish(),\n reasoning: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n id: z3.string().nullish(),\n function: z3.object({\n name: z3.string(),\n arguments: z3.string()\n }),\n // Support for Google Gemini thought signatures via OpenAI compatibility\n extra_content: z3.object({\n google: z3.object({\n thought_signature: z3.string().nullish()\n }).nullish()\n }).nullish()\n })\n ).nullish()\n }),\n finish_reason: z3.string().nullish()\n })\n ),\n usage: openaiCompatibleTokenUsageSchema\n});\nvar chunkBaseSchema = z3.looseObject({\n id: z3.string().nullish(),\n created: z3.number().nullish(),\n model: z3.string().nullish(),\n choices: z3.array(\n z3.object({\n delta: z3.object({\n role: z3.enum([\"assistant\"]).nullish(),\n content: z3.string().nullish(),\n // Most openai-compatible models set `reasoning_content`, but some\n // providers serving `gpt-oss` set `reasoning`. See #7866\n reasoning_content: z3.string().nullish(),\n reasoning: z3.string().nullish(),\n tool_calls: z3.array(\n z3.object({\n index: z3.number().nullish(),\n //google does not send index\n id: z3.string().nullish(),\n function: z3.object({\n name: z3.string().nullish(),\n arguments: z3.string().nullish()\n }),\n // Support for Google Gemini thought signatures via OpenAI compatibility\n extra_content: z3.object({\n google: z3.object({\n thought_signature: z3.string().nullish()\n }).nullish()\n }).nullish()\n })\n ).nullish()\n }).nullish(),\n finish_reason: z3.string().nullish()\n })\n ),\n usage: openaiCompatibleTokenUsageSchema\n});\nvar createOpenAICompatibleChatChunkSchema = (errorSchema) => z3.union([chunkBaseSchema, errorSchema]);\n\n// src/completion/openai-compatible-completion-language-model.ts\nimport {\n combineHeaders as combineHeaders2,\n createEventSourceResponseHandler as createEventSourceResponseHandler2,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler2,\n createJsonResponseHandler as createJsonResponseHandler2,\n parseProviderOptions as parseProviderOptions2,\n postJsonToApi as postJsonToApi2\n} from \"@ai-sdk/provider-utils\";\nimport { z as z5 } from \"zod/v4\";\n\n// src/completion/convert-openai-compatible-completion-usage.ts\nfunction convertOpenAICompatibleCompletionUsage(usage) {\n var _a, _b;\n if (usage == null) {\n return {\n inputTokens: {\n total: void 0,\n noCache: void 0,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: void 0,\n text: void 0,\n reasoning: void 0\n },\n raw: void 0\n };\n }\n const promptTokens = (_a = usage.prompt_tokens) != null ? _a : 0;\n const completionTokens = (_b = usage.completion_tokens) != null ? _b : 0;\n return {\n inputTokens: {\n total: promptTokens,\n noCache: promptTokens,\n cacheRead: void 0,\n cacheWrite: void 0\n },\n outputTokens: {\n total: completionTokens,\n text: completionTokens,\n reasoning: void 0\n },\n raw: usage\n };\n}\n\n// src/completion/convert-to-openai-compatible-completion-prompt.ts\nimport {\n InvalidPromptError,\n UnsupportedFunctionalityError as UnsupportedFunctionalityError3\n} from \"@ai-sdk/provider\";\nfunction convertToOpenAICompatibleCompletionPrompt({\n prompt,\n user = \"user\",\n assistant = \"assistant\"\n}) {\n let text = \"\";\n if (prompt[0].role === \"system\") {\n text += `${prompt[0].content}\n\n`;\n prompt = prompt.slice(1);\n }\n for (const { role, content } of prompt) {\n switch (role) {\n case \"system\": {\n throw new InvalidPromptError({\n message: \"Unexpected system message in prompt: ${content}\",\n prompt\n });\n }\n case \"user\": {\n const userMessage = content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n }\n }).filter(Boolean).join(\"\");\n text += `${user}:\n${userMessage}\n\n`;\n break;\n }\n case \"assistant\": {\n const assistantMessage = content.map((part) => {\n switch (part.type) {\n case \"text\": {\n return part.text;\n }\n case \"tool-call\": {\n throw new UnsupportedFunctionalityError3({\n functionality: \"tool-call messages\"\n });\n }\n }\n }).join(\"\");\n text += `${assistant}:\n${assistantMessage}\n\n`;\n break;\n }\n case \"tool\": {\n throw new UnsupportedFunctionalityError3({\n functionality: \"tool messages\"\n });\n }\n default: {\n const _exhaustiveCheck = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n text += `${assistant}:\n`;\n return {\n prompt: text,\n stopSequences: [`\n${user}:`]\n };\n}\n\n// src/completion/get-response-metadata.ts\nfunction getResponseMetadata2({\n id,\n model,\n created\n}) {\n return {\n id: id != null ? id : void 0,\n modelId: model != null ? model : void 0,\n timestamp: created != null ? new Date(created * 1e3) : void 0\n };\n}\n\n// src/completion/map-openai-compatible-finish-reason.ts\nfunction mapOpenAICompatibleFinishReason2(finishReason) {\n switch (finishReason) {\n case \"stop\":\n return \"stop\";\n case \"length\":\n return \"length\";\n case \"content_filter\":\n return \"content-filter\";\n case \"function_call\":\n case \"tool_calls\":\n return \"tool-calls\";\n default:\n return \"other\";\n }\n}\n\n// src/completion/openai-compatible-completion-options.ts\nimport { z as z4 } from \"zod/v4\";\nvar openaiCompatibleLanguageModelCompletionOptions = z4.object({\n /**\n * Echo back the prompt in addition to the completion.\n */\n echo: z4.boolean().optional(),\n /**\n * Modify the likelihood of specified tokens appearing in the completion.\n *\n * Accepts a JSON object that maps tokens (specified by their token ID in\n * the GPT tokenizer) to an associated bias value from -100 to 100.\n */\n logitBias: z4.record(z4.string(), z4.number()).optional(),\n /**\n * The suffix that comes after a completion of inserted text.\n */\n suffix: z4.string().optional(),\n /**\n * A unique identifier representing your end-user, which can help providers to\n * monitor and detect abuse.\n */\n user: z4.string().optional()\n});\n\n// src/completion/openai-compatible-completion-language-model.ts\nvar OpenAICompatibleCompletionLanguageModel = class {\n // type inferred via constructor\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n var _a;\n this.modelId = modelId;\n this.config = config;\n const errorStructure = (_a = config.errorStructure) != null ? _a : defaultOpenAICompatibleErrorStructure;\n this.chunkSchema = createOpenAICompatibleCompletionChunkSchema(\n errorStructure.errorSchema\n );\n this.failedResponseHandler = createJsonErrorResponseHandler2(errorStructure);\n }\n get provider() {\n return this.config.provider;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\n }\n get supportedUrls() {\n var _a, _b, _c;\n return (_c = (_b = (_a = this.config).supportedUrls) == null ? void 0 : _b.call(_a)) != null ? _c : {};\n }\n async getArgs({\n prompt,\n maxOutputTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences: userStopSequences,\n responseFormat,\n seed,\n providerOptions,\n tools,\n toolChoice\n }) {\n var _a;\n const warnings = [];\n const completionOptions = (_a = await parseProviderOptions2({\n provider: this.providerOptionsName,\n providerOptions,\n schema: openaiCompatibleLanguageModelCompletionOptions\n })) != null ? _a : {};\n if (topK != null) {\n warnings.push({ type: \"unsupported\", feature: \"topK\" });\n }\n if (tools == null ? void 0 : tools.length) {\n warnings.push({ type: \"unsupported\", feature: \"tools\" });\n }\n if (toolChoice != null) {\n warnings.push({ type: \"unsupported\", feature: \"toolChoice\" });\n }\n if (responseFormat != null && responseFormat.type !== \"text\") {\n warnings.push({\n type: \"unsupported\",\n feature: \"responseFormat\",\n details: \"JSON response format is not supported.\"\n });\n }\n const { prompt: completionPrompt, stopSequences } = convertToOpenAICompatibleCompletionPrompt({ prompt });\n const stop = [...stopSequences != null ? stopSequences : [], ...userStopSequences != null ? userStopSequences : []];\n return {\n args: {\n // model id:\n model: this.modelId,\n // model specific settings:\n echo: completionOptions.echo,\n logit_bias: completionOptions.logitBias,\n suffix: completionOptions.suffix,\n user: completionOptions.user,\n // standardized settings:\n max_tokens: maxOutputTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n seed,\n ...providerOptions == null ? void 0 : providerOptions[this.providerOptionsName],\n // prompt:\n prompt: completionPrompt,\n // stop sequences:\n stop: stop.length > 0 ? stop : void 0\n },\n warnings\n };\n }\n async doGenerate(options) {\n const { args, warnings } = await this.getArgs(options);\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse\n } = await postJsonToApi2({\n url: this.config.url({\n path: \"/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: this.failedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler2(\n openaiCompatibleCompletionResponseSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n const choice = response.choices[0];\n const content = [];\n if (choice.text != null && choice.text.length > 0) {\n content.push({ type: \"text\", text: choice.text });\n }\n return {\n content,\n usage: convertOpenAICompatibleCompletionUsage(response.usage),\n finishReason: {\n unified: mapOpenAICompatibleFinishReason2(choice.finish_reason),\n raw: choice.finish_reason\n },\n request: { body: args },\n response: {\n ...getResponseMetadata2(response),\n headers: responseHeaders,\n body: rawResponse\n },\n warnings\n };\n }\n async doStream(options) {\n const { args, warnings } = await this.getArgs(options);\n const body = {\n ...args,\n stream: true,\n // only include stream_options when in strict compatibility mode:\n stream_options: this.config.includeUsage ? { include_usage: true } : void 0\n };\n const { responseHeaders, value: response } = await postJsonToApi2({\n url: this.config.url({\n path: \"/completions\",\n modelId: this.modelId\n }),\n headers: combineHeaders2(this.config.headers(), options.headers),\n body,\n failedResponseHandler: this.failedResponseHandler,\n successfulResponseHandler: createEventSourceResponseHandler2(\n this.chunkSchema\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch\n });\n let finishReason = {\n unified: \"other\",\n raw: void 0\n };\n let usage = void 0;\n let isFirstChunk = true;\n return {\n stream: response.pipeThrough(\n new TransformStream({\n start(controller) {\n controller.enqueue({ type: \"stream-start\", warnings });\n },\n transform(chunk, controller) {\n var _a;\n if (options.includeRawChunks) {\n controller.enqueue({ type: \"raw\", rawValue: chunk.rawValue });\n }\n if (!chunk.success) {\n finishReason = { unified: \"error\", raw: void 0 };\n controller.enqueue({ type: \"error\", error: chunk.error });\n return;\n }\n const value = chunk.value;\n if (\"error\" in value) {\n finishReason = { unified: \"error\", raw: void 0 };\n controller.enqueue({ type: \"error\", error: value.error });\n return;\n }\n if (isFirstChunk) {\n isFirstChunk = false;\n controller.enqueue({\n type: \"response-metadata\",\n ...getResponseMetadata2(value)\n });\n controller.enqueue({\n type: \"text-start\",\n id: \"0\"\n });\n }\n if (value.usage != null) {\n usage = value.usage;\n }\n const choice = value.choices[0];\n if ((choice == null ? void 0 : choice.finish_reason) != null) {\n finishReason = {\n unified: mapOpenAICompatibleFinishReason2(choice.finish_reason),\n raw: (_a = choice.finish_reason) != null ? _a : void 0\n };\n }\n if ((choice == null ? void 0 : choice.text) != null) {\n controller.enqueue({\n type: \"text-delta\",\n id: \"0\",\n delta: choice.text\n });\n }\n },\n flush(controller) {\n if (!isFirstChunk) {\n controller.enqueue({ type: \"text-end\", id: \"0\" });\n }\n controller.enqueue({\n type: \"finish\",\n finishReason,\n usage: convertOpenAICompatibleCompletionUsage(usage)\n });\n }\n })\n ),\n request: { body },\n response: { headers: responseHeaders }\n };\n }\n};\nvar usageSchema = z5.object({\n prompt_tokens: z5.number(),\n completion_tokens: z5.number(),\n total_tokens: z5.number()\n});\nvar openaiCompatibleCompletionResponseSchema = z5.object({\n id: z5.string().nullish(),\n created: z5.number().nullish(),\n model: z5.string().nullish(),\n choices: z5.array(\n z5.object({\n text: z5.string(),\n finish_reason: z5.string()\n })\n ),\n usage: usageSchema.nullish()\n});\nvar createOpenAICompatibleCompletionChunkSchema = (errorSchema) => z5.union([\n z5.object({\n id: z5.string().nullish(),\n created: z5.number().nullish(),\n model: z5.string().nullish(),\n choices: z5.array(\n z5.object({\n text: z5.string(),\n finish_reason: z5.string().nullish(),\n index: z5.number()\n })\n ),\n usage: usageSchema.nullish()\n }),\n errorSchema\n]);\n\n// src/embedding/openai-compatible-embedding-model.ts\nimport {\n TooManyEmbeddingValuesForCallError\n} from \"@ai-sdk/provider\";\nimport {\n combineHeaders as combineHeaders3,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler3,\n createJsonResponseHandler as createJsonResponseHandler3,\n parseProviderOptions as parseProviderOptions3,\n postJsonToApi as postJsonToApi3\n} from \"@ai-sdk/provider-utils\";\nimport { z as z7 } from \"zod/v4\";\n\n// src/embedding/openai-compatible-embedding-options.ts\nimport { z as z6 } from \"zod/v4\";\nvar openaiCompatibleEmbeddingModelOptions = z6.object({\n /**\n * The number of dimensions the resulting output embeddings should have.\n * Only supported in text-embedding-3 and later models.\n */\n dimensions: z6.number().optional(),\n /**\n * A unique identifier representing your end-user, which can help providers to\n * monitor and detect abuse.\n */\n user: z6.string().optional()\n});\n\n// src/embedding/openai-compatible-embedding-model.ts\nvar OpenAICompatibleEmbeddingModel = class {\n constructor(modelId, config) {\n this.specificationVersion = \"v3\";\n this.modelId = modelId;\n this.config = config;\n }\n get provider() {\n return this.config.provider;\n }\n get maxEmbeddingsPerCall() {\n var _a;\n return (_a = this.config.maxEmbeddingsPerCall) != null ? _a : 2048;\n }\n get supportsParallelCalls() {\n var _a;\n return (_a = this.config.supportsParallelCalls) != null ? _a : true;\n }\n get providerOptionsName() {\n return this.config.provider.split(\".\")[0].trim();\n }\n async doEmbed({\n values,\n headers,\n abortSignal,\n providerOptions\n }) {\n var _a, _b, _c;\n const warnings = [];\n const deprecatedOptions = await parseProviderOptions3({\n provider: \"openai-compatible\",\n providerOptions,\n schema: openaiCompatibleEmbeddingModelOptions\n });\n if (deprecatedOptions != null) {\n warnings.push({\n type: \"other\",\n message: `The 'openai-compatible' key in providerOptions is deprecated. Use 'openaiCompatible' instead.`\n });\n }\n const compatibleOptions = Object.assign(\n deprecatedOptions != null ? deprecatedOptions : {},\n (_a = await parseProviderOptions3({\n provider: \"openaiCompatible\",\n providerOptions,\n schema: openaiCompatibleEmbeddingModelOptions\n })) != null ? _a : {},\n (_b = await parseProviderOptions3({\n provider: this.providerOptionsName,\n providerOptions,\n schema: openaiCompatibleEmbeddingModelOptions\n })) != null ? _b : {}\n );\n if (values.length > this.maxEmbeddingsPerCall) {\n throw new TooManyEmbeddingValuesForCallError({\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values\n });\n }\n const {\n responseHeaders,\n value: response,\n rawValue\n } = await postJsonToApi3({\n url: this.config.url({\n path: \"/embeddings\",\n modelId: this.modelId\n }),\n headers: combineHeaders3(this.config.headers(), headers),\n body: {\n model: this.modelId,\n input: values,\n encoding_format: \"float\",\n dimensions: compatibleOptions.dimensions,\n user: compatibleOptions.user\n },\n failedResponseHandler: createJsonErrorResponseHandler3(\n (_c = this.config.errorStructure) != null ? _c : defaultOpenAICompatibleErrorStructure\n ),\n successfulResponseHandler: createJsonResponseHandler3(\n openaiTextEmbeddingResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n warnings,\n embeddings: response.data.map((item) => item.embedding),\n usage: response.usage ? { tokens: response.usage.prompt_tokens } : void 0,\n providerMetadata: response.providerMetadata,\n response: { headers: responseHeaders, body: rawValue }\n };\n }\n};\nvar openaiTextEmbeddingResponseSchema = z7.object({\n data: z7.array(z7.object({ embedding: z7.array(z7.number()) })),\n usage: z7.object({ prompt_tokens: z7.number() }).nullish(),\n providerMetadata: z7.record(z7.string(), z7.record(z7.string(), z7.any())).optional()\n});\n\n// src/image/openai-compatible-image-model.ts\nimport {\n combineHeaders as combineHeaders4,\n convertBase64ToUint8Array as convertBase64ToUint8Array2,\n convertToFormData,\n createJsonErrorResponseHandler as createJsonErrorResponseHandler4,\n createJsonResponseHandler as createJsonResponseHandler4,\n downloadBlob,\n postFormDataToApi,\n postJsonToApi as postJsonToApi4\n} from \"@ai-sdk/provider-utils\";\nimport { z as z8 } from \"zod/v4\";\nvar OpenAICompatibleImageModel = class {\n constructor(modelId, config) {\n this.modelId = modelId;\n this.config = config;\n this.specificationVersion = \"v3\";\n this.maxImagesPerCall = 10;\n }\n get provider() {\n return this.config.provider;\n }\n /**\n * The provider options key used to extract provider-specific options.\n */\n get providerOptionsKey() {\n return this.config.provider.split(\".\")[0].trim();\n }\n // TODO: deprecate non-camelCase keys and remove in future major version\n getArgs(providerOptions) {\n return {\n ...providerOptions[this.providerOptionsKey],\n ...providerOptions[toCamelCase(this.providerOptionsKey)]\n };\n }\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask\n }) {\n var _a, _b, _c, _d, _e;\n const warnings = [];\n if (aspectRatio != null) {\n warnings.push({\n type: \"unsupported\",\n feature: \"aspectRatio\",\n details: \"This model does not support aspect ratio. Use `size` instead.\"\n });\n }\n if (seed != null) {\n warnings.push({ type: \"unsupported\", feature: \"seed\" });\n }\n const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();\n const args = this.getArgs(providerOptions);\n if (files != null && files.length > 0) {\n const { value: response2, responseHeaders: responseHeaders2 } = await postFormDataToApi({\n url: this.config.url({\n path: \"/images/edits\",\n modelId: this.modelId\n }),\n headers: combineHeaders4(this.config.headers(), headers),\n formData: convertToFormData({\n model: this.modelId,\n prompt,\n image: await Promise.all(files.map((file) => fileToBlob(file))),\n mask: mask != null ? await fileToBlob(mask) : void 0,\n n,\n size,\n ...args\n }),\n failedResponseHandler: createJsonErrorResponseHandler4(\n (_d = this.config.errorStructure) != null ? _d : defaultOpenAICompatibleErrorStructure\n ),\n successfulResponseHandler: createJsonResponseHandler4(\n openaiCompatibleImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response2.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders2\n }\n };\n }\n const { value: response, responseHeaders } = await postJsonToApi4({\n url: this.config.url({\n path: \"/images/generations\",\n modelId: this.modelId\n }),\n headers: combineHeaders4(this.config.headers(), headers),\n body: {\n model: this.modelId,\n prompt,\n n,\n size,\n ...args,\n response_format: \"b64_json\"\n },\n failedResponseHandler: createJsonErrorResponseHandler4(\n (_e = this.config.errorStructure) != null ? _e : defaultOpenAICompatibleErrorStructure\n ),\n successfulResponseHandler: createJsonResponseHandler4(\n openaiCompatibleImageResponseSchema\n ),\n abortSignal,\n fetch: this.config.fetch\n });\n return {\n images: response.data.map((item) => item.b64_json),\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders\n }\n };\n }\n};\nvar openaiCompatibleImageResponseSchema = z8.object({\n data: z8.array(z8.object({ b64_json: z8.string() }))\n});\nasync function fileToBlob(file) {\n if (file.type === \"url\") {\n return downloadBlob(file.url);\n }\n const data = file.data instanceof Uint8Array ? file.data : convertBase64ToUint8Array2(file.data);\n return new Blob([data], { type: file.mediaType });\n}\nfunction toCamelCase(str) {\n return str.replace(/[_-]([a-z])/g, (g) => g[1].toUpperCase());\n}\n\n// src/openai-compatible-provider.ts\nimport {\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/version.ts\nvar VERSION = true ? \"2.0.37\" : \"0.0.0-test\";\n\n// src/openai-compatible-provider.ts\nfunction createOpenAICompatible(options) {\n const baseURL = withoutTrailingSlash(options.baseURL);\n const providerName = options.name;\n const headers = {\n ...options.apiKey && { Authorization: `Bearer ${options.apiKey}` },\n ...options.headers\n };\n const getHeaders = () => withUserAgentSuffix(headers, `ai-sdk/openai-compatible/${VERSION}`);\n const getCommonModelConfig = (modelType) => ({\n provider: `${providerName}.${modelType}`,\n url: ({ path }) => {\n const url = new URL(`${baseURL}${path}`);\n if (options.queryParams) {\n url.search = new URLSearchParams(options.queryParams).toString();\n }\n return url.toString();\n },\n headers: getHeaders,\n fetch: options.fetch\n });\n const createLanguageModel = (modelId) => createChatModel(modelId);\n const createChatModel = (modelId) => new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig(\"chat\"),\n includeUsage: options.includeUsage,\n supportsStructuredOutputs: options.supportsStructuredOutputs,\n transformRequestBody: options.transformRequestBody,\n metadataExtractor: options.metadataExtractor\n });\n const createCompletionModel = (modelId) => new OpenAICompatibleCompletionLanguageModel(modelId, {\n ...getCommonModelConfig(\"completion\"),\n includeUsage: options.includeUsage\n });\n const createEmbeddingModel = (modelId) => new OpenAICompatibleEmbeddingModel(modelId, {\n ...getCommonModelConfig(\"embedding\")\n });\n const createImageModel = (modelId) => new OpenAICompatibleImageModel(modelId, getCommonModelConfig(\"image\"));\n const provider = (modelId) => createLanguageModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createLanguageModel;\n provider.chatModel = createChatModel;\n provider.completionModel = createCompletionModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.imageModel = createImageModel;\n return provider;\n}\nexport {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n OpenAICompatibleImageModel,\n VERSION,\n createOpenAICompatible\n};\n//# sourceMappingURL=index.mjs.map"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "A7F00EACB3B0836564756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"'use strict';\n\nvar protocols = require('@smithy/core/protocols');\nvar node_https = require('node:https');\nvar node_stream = require('node:stream');\nvar http2 = require('node:http2');\n\nfunction buildAbortError(abortSignal) {\n const reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal\n ? abortSignal.reason\n : undefined;\n if (reason) {\n if (reason instanceof Error) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n abortError.cause = reason;\n return abortError;\n }\n const abortError = new Error(String(reason));\n abortError.name = \"AbortError\";\n return abortError;\n }\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return abortError;\n}\n\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name in headers) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\n\nconst timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n\nconst DEFER_EVENT_LISTENER_TIME$2 = 1000;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n\nconst setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n\nconst DEFER_EVENT_LISTENER_TIME$1 = 3000;\nconst setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n\nconst MIN_WAIT_TIME = 6_000;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers;\n const expect = headers ? headers.Expect || headers.expect : undefined;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof node_stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n const isBuffer = Buffer.isBuffer(body);\n const isString = typeof body === \"string\";\n if (isBuffer || isString) {\n if (isBuffer && body.byteLength === 0) {\n httpRequest.end();\n }\n else {\n httpRequest.end(body);\n }\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n\nconst DEFAULT_REQUEST_TIMEOUT = 0;\nlet hAgent = undefined;\nlet hRequest = undefined;\nclass NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const config = this.config;\n const isSSL = request.protocol === \"https:\";\n if (!isSSL && !this.config.httpAgent) {\n this.config.httpAgent = await this.config.httpAgentProvider();\n }\n return new Promise((_resolve, _reject) => {\n let writeRequestBodyPromise = undefined;\n let socketWarningTimeoutId = -1;\n let connectionTimeoutId = -1;\n let requestTimeoutId = -1;\n let socketTimeoutId = -1;\n let keepAliveTimeoutId = -1;\n const clearTimeouts = () => {\n timing.clearTimeout(socketWarningTimeoutId);\n timing.clearTimeout(connectionTimeoutId);\n timing.clearTimeout(requestTimeoutId);\n timing.clearTimeout(socketTimeoutId);\n timing.clearTimeout(keepAliveTimeoutId);\n };\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeouts();\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n clearTimeouts();\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const headers = request.headers;\n const expectContinue = headers ? (headers.Expect ?? headers.expect) === \"100-continue\" : false;\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? node_https.Agent : hAgent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n socketWarningTimeoutId = timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000));\n const queryString = request.query ? protocols.buildQueryString(request.query) : \"\";\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? node_https.request : hRequest;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocols.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n connectionTimeoutId = setConnectionTimeout(req, reject, config.connectionTimeout);\n requestTimeoutId = setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console);\n socketTimeoutId = setSocketTimeout(req, reject, config.socketTimeout);\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n keepAliveTimeoutId = setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n });\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n clearTimeouts();\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgentProvider: async () => {\n const node_http = await import('node:http');\n const { Agent, request } = node_http.default ?? node_http;\n hRequest = request;\n hAgent = Agent;\n if (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new hAgent({ keepAlive, maxSockets, ...httpAgent });\n },\n httpsAgent: (() => {\n if (httpsAgent instanceof node_https.Agent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new node_https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger,\n };\n }\n}\n\nconst ids = new Uint16Array(1);\nclass ClientHttp2SessionRef {\n id = ids[0]++;\n total = 0;\n max = 0;\n session;\n refs = 0;\n constructor(session) {\n session.unref();\n this.session = session;\n }\n retain() {\n if (this.session.destroyed) {\n throw new Error(\"@smithy/node-http-handler - cannot acquire reference to destroyed session.\");\n }\n this.refs += 1;\n this.total += 1;\n this.max = Math.max(this.refs, this.max);\n this.session.ref();\n }\n free() {\n if (this.session.destroyed) {\n return;\n }\n this.refs -= 1;\n if (this.refs === 0) {\n this.session.unref();\n }\n if (this.refs < 0) {\n throw new Error(\"@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.\");\n }\n }\n deref() {\n return this.session;\n }\n close() {\n if (!this.session.closed) {\n this.session.close();\n }\n }\n destroy() {\n this.refs = 0;\n if (!this.session.destroyed) {\n this.session.destroy();\n }\n }\n useCount() {\n return this.refs;\n }\n}\n\nclass NodeHttp2ConnectionPool {\n sessions = [];\n maxConcurrency = 0;\n constructor(sessions) {\n this.sessions = (sessions ?? []).map((session) => new ClientHttp2SessionRef(session));\n }\n poll() {\n let cleanup = false;\n for (const session of this.sessions) {\n if (session.deref().destroyed) {\n cleanup = true;\n continue;\n }\n if (!this.maxConcurrency || session.useCount() < this.maxConcurrency) {\n return session;\n }\n }\n if (cleanup) {\n for (const session of this.sessions) {\n if (session.deref().destroyed) {\n this.remove(session);\n }\n }\n }\n }\n offerLast(ref) {\n this.sessions.push(ref);\n }\n remove(ref) {\n const ix = this.sessions.indexOf(ref);\n if (ix > -1) {\n this.sessions.splice(ix, 1);\n }\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n setMaxConcurrency(maxConcurrency) {\n this.maxConcurrency = maxConcurrency;\n }\n destroy(ref) {\n this.remove(ref);\n ref.destroy();\n }\n}\n\nclass NodeHttp2ConnectionManager {\n config;\n connectOptions;\n connectionPools = new Map();\n constructor(config) {\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const pool = this.getPool(url);\n if (!this.config.disableConcurrency && !connectionConfiguration.isEventStream) {\n const available = pool.poll();\n if (available) {\n available.retain();\n return available;\n }\n }\n const ref = new ClientHttp2SessionRef(this.connect(url));\n const session = ref.deref();\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n const graceful = () => {\n this.removeFromPoolAndClose(url, ref);\n };\n const ensureDestroyed = () => {\n this.removeFromPoolAndCheckedDestroy(url, ref);\n };\n session.on(\"goaway\", graceful);\n session.on(\"error\", ensureDestroyed);\n session.on(\"frameError\", ensureDestroyed);\n session.on(\"close\", ensureDestroyed);\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);\n }\n pool.offerLast(ref);\n ref.retain();\n return ref;\n }\n release(_requestContext, ref) {\n ref.free();\n }\n createIsolatedSession(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const ref = new ClientHttp2SessionRef(this.connect(url));\n const session = ref.deref();\n session.settings({ maxConcurrentStreams: 1 });\n const ensureDestroyed = () => {\n ref.destroy();\n };\n session.on(\"error\", ensureDestroyed);\n session.on(\"frameError\", ensureDestroyed);\n session.on(\"close\", ensureDestroyed);\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);\n }\n ref.retain();\n return ref;\n }\n destroy() {\n for (const [url, connectionPool] of this.connectionPools) {\n for (const session of [...connectionPool]) {\n session.destroy();\n }\n this.connectionPools.delete(url);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n for (const pool of this.connectionPools.values()) {\n pool.setMaxConcurrency(maxConcurrentStreams);\n }\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions) {\n this.connectOptions = nodeHttp2ConnectOptions;\n }\n debug() {\n const pools = {};\n for (const [url, pool] of this.connectionPools) {\n const sessions = [];\n for (const ref of pool) {\n sessions.push({\n id: ref.id,\n active: ref.useCount(),\n maxConcurrent: ref.max,\n totalRequests: ref.total,\n });\n }\n pools[url] = { sessions };\n }\n return pools;\n }\n removeFromPoolAndClose(authority, ref) {\n this.connectionPools.get(authority)?.remove(ref);\n ref.close();\n }\n removeFromPoolAndCheckedDestroy(authority, ref) {\n this.connectionPools.get(authority)?.remove(ref);\n ref.destroy();\n }\n getPool(url) {\n if (!this.connectionPools.has(url)) {\n const pool = new NodeHttp2ConnectionPool();\n if (this.config.maxConcurrency) {\n pool.setMaxConcurrency(this.config.maxConcurrency);\n }\n this.connectionPools.set(url, pool);\n }\n return this.connectionPools.get(url);\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n connect(url) {\n return this.connectOptions === undefined ? http2.connect(url) : http2.connect(url, this.connectOptions);\n }\n}\n\nconst { constants } = http2;\nclass NodeHttp2Handler {\n config;\n configProvider;\n metadata = { handlerProtocol: \"h2\" };\n connectionManager = new NodeHttp2ConnectionManager({});\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout, isEventStream } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n const { disableConcurrentStreams, maxConcurrentStreams, nodeHttp2ConnectOptions } = this.config;\n this.connectionManager.setDisableConcurrentStreams(disableConcurrentStreams ?? false);\n if (maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(maxConcurrentStreams);\n }\n if (nodeHttp2ConnectOptions) {\n this.connectionManager.setNodeHttp2ConnectOptions(nodeHttp2ConnectOptions);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const useIsolatedSession = disableConcurrentStreams || isEventStream;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = buildAbortError(abortSignal);\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const connectConfig = {\n requestTimeout: this.config?.sessionTimeout,\n isEventStream,\n };\n const ref = useIsolatedSession\n ? this.connectionManager.createIsolatedSession(requestContext, connectConfig)\n : this.connectionManager.lease(requestContext, connectConfig);\n const session = ref.deref();\n const rejectWithDestroy = (err) => {\n if (useIsolatedSession) {\n ref.destroy();\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = query ? protocols.buildQueryString(query) : \"\";\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const clientHttp2Stream = session.request({\n ...request.headers,\n [constants.HTTP2_HEADER_PATH]: path,\n [constants.HTTP2_HEADER_METHOD]: method,\n });\n if (effectiveRequestTimeout) {\n clientHttp2Stream.setTimeout(effectiveRequestTimeout, () => {\n clientHttp2Stream.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n clientHttp2Stream.close();\n const abortError = buildAbortError(abortSignal);\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n clientHttp2Stream.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n clientHttp2Stream.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n clientHttp2Stream.on(\"error\", rejectWithDestroy);\n clientHttp2Stream.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${clientHttp2Stream.rstCode}.`));\n });\n clientHttp2Stream.on(\"response\", (headers) => {\n const httpResponse = new protocols.HttpResponse({\n statusCode: headers[\":status\"] ?? -1,\n headers: getTransformedHeaders(headers),\n body: clientHttp2Stream,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (useIsolatedSession) {\n session.close();\n }\n });\n clientHttp2Stream.on(\"close\", () => {\n if (useIsolatedSession) {\n ref.destroy();\n }\n else {\n this.connectionManager.release(requestContext, ref);\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nclass Collector extends node_stream.Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n\nconst streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n\nexports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;\nexports.NodeHttp2Handler = NodeHttp2Handler;\nexports.NodeHttpHandler = NodeHttpHandler;\nexports.streamCollector = streamCollector;\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "5509766AC979FD7F64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"'use strict';\n\nvar crc32 = require('@aws-crypto/crc32');\nvar serde = require('@smithy/core/serde');\nvar node_stream = require('node:stream');\n\nclass Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(serde.toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n\nclass HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(serde.fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${serde.toHex(uuidBytes.subarray(0, 4))}-${serde.toHex(uuidBytes.subarray(4, 6))}-${serde.toHex(uuidBytes.subarray(6, 8))}-${serde.toHex(uuidBytes.subarray(8, 10))}-${serde.toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nfunction splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new crc32.Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n\nclass EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new crc32.Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n\nclass MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n\nclass MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n\nclass SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n\nclass SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n\nfunction getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n\nfunction getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nfunction getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n\nlet EventStreamMarshaller$1 = class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n};\nconst eventStreamSerdeProvider$1 = (options) => new EventStreamMarshaller$1(options);\n\nclass EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new EventStreamMarshaller$1({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : readableToIterable(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return node_stream.Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\nconst eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\nasync function* readableToIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\n\nconst readableStreamToIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nconst iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n\nconst resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n\nclass EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n let unionMember = \"\";\n for (const key in event) {\n if (key !== \"__type\") {\n unionMember = key;\n break;\n }\n }\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? serde.toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const key in firstEvent.value) {\n initialResponseContainer[key] = firstEvent.value[key];\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else if (eventSchema.isUnitSchema()) {\n serializer.write(eventSchema, {});\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush() ?? new Uint8Array();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? serde.fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n\nexports.EventStreamCodec = EventStreamCodec;\nexports.EventStreamMarshaller = EventStreamMarshaller;\nexports.EventStreamSerde = EventStreamSerde;\nexports.HeaderMarshaller = HeaderMarshaller;\nexports.Int64 = Int64;\nexports.MessageDecoderStream = MessageDecoderStream;\nexports.MessageEncoderStream = MessageEncoderStream;\nexports.SmithyMessageDecoderStream = SmithyMessageDecoderStream;\nexports.SmithyMessageEncoderStream = SmithyMessageEncoderStream;\nexports.UniversalEventStreamMarshaller = EventStreamMarshaller$1;\nexports.eventStreamSerdeProvider = eventStreamSerdeProvider;\nexports.getChunkedStream = getChunkedStream;\nexports.getMessageUnmarshaller = getMessageUnmarshaller;\nexports.getUnmarshalledStream = getUnmarshalledStream;\nexports.iterableToReadableStream = iterableToReadableStream;\nexports.readableStreamToIterable = readableStreamToIterable;\nexports.resolveEventStreamSerdeConfig = resolveEventStreamSerdeConfig;\nexports.universalEventStreamSerdeProvider = eventStreamSerdeProvider$1;\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "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",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "0AE74674FA08524664756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"const module = await import(\"./libopentui.dylib\", { with: { type: \"file\" } })\n\nexport default module.default\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";oDAAA,IAAM,EAAS,KAAa,yCAAsB,CAAE,KAAM,CAAE,KAAM,MAAO,CAAE,GAE5D,IAAO",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "1D90638EE561D05264756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"// src/vercel-provider.ts\nimport {\n NoSuchModelError\n} from \"@ai-sdk/provider\";\nimport { OpenAICompatibleChatLanguageModel } from \"@ai-sdk/openai-compatible\";\nimport {\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix\n} from \"@ai-sdk/provider-utils\";\n\n// src/version.ts\nvar VERSION = true ? \"2.0.39\" : \"0.0.0-test\";\n\n// src/vercel-provider.ts\nfunction createVercel(options = {}) {\n var _a;\n const baseURL = withoutTrailingSlash(\n (_a = options.baseURL) != null ? _a : \"https://api.v0.dev/v1\"\n );\n const getHeaders = () => withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: \"VERCEL_API_KEY\",\n description: \"Vercel\"\n })}`,\n ...options.headers\n },\n `ai-sdk/vercel/${VERSION}`\n );\n const getCommonModelConfig = (modelType) => ({\n provider: `vercel.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch\n });\n const createChatModel = (modelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig(\"chat\")\n });\n };\n const provider = (modelId) => createChatModel(modelId);\n provider.specificationVersion = \"v3\";\n provider.languageModel = createChatModel;\n provider.embeddingModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"embeddingModel\" });\n };\n provider.textEmbeddingModel = provider.embeddingModel;\n provider.imageModel = (modelId) => {\n throw new NoSuchModelError({ modelId, modelType: \"imageModel\" });\n };\n return provider;\n}\nvar vercel = createVercel();\nexport {\n VERSION,\n createVercel,\n vercel\n};\n//# sourceMappingURL=index.mjs.map"
|
|
6
6
|
],
|
|
7
7
|
"mappings": ";wQAYA,SAAI,OAAiB,cAGrB,cAAS,MAAY,CAAC,EAAU,CAAC,EAAG,CAClC,IAAI,EACJ,IAAM,EAAU,GACb,EAAK,EAAQ,UAAY,KAAO,EAAK,uBACxC,EACM,EAAa,IAAM,EACvB,CACE,cAAe,UAAU,EAAW,CAClC,OAAQ,EAAQ,OAChB,wBAAyB,iBACzB,YAAa,QACf,CAAC,OACE,EAAQ,OACb,EACA,iBAAiB,GACnB,EACM,EAAuB,CAAC,KAAe,CAC3C,SAAU,UAAU,IACpB,IAAK,EAAG,UAAW,GAAG,IAAU,IAChC,QAAS,EACT,MAAO,EAAQ,KACjB,GACM,EAAkB,CAAC,IAAY,CACnC,OAAO,IAAI,EAAkC,EAAS,IACjD,EAAqB,MAAM,CAChC,CAAC,GAEG,EAAW,CAAC,IAAY,EAAgB,CAAO,EAUrD,OATA,EAAS,qBAAuB,KAChC,EAAS,cAAgB,EACzB,EAAS,eAAiB,CAAC,IAAY,CACrC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,gBAAiB,CAAC,GAErE,EAAS,mBAAqB,EAAS,eACvC,EAAS,WAAa,CAAC,IAAY,CACjC,MAAM,IAAI,EAAiB,CAAE,UAAS,UAAW,YAAa,CAAC,GAE1D,EAET,IAAI,EAAS,EAAa",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "6A0D8BDD1C040D7964756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpsProxyAgent = void 0;\nconst net = __importStar(require(\"net\"));\nconst tls = __importStar(require(\"tls\"));\nconst assert_1 = __importDefault(require(\"assert\"));\nconst debug_1 = __importDefault(require(\"debug\"));\nconst agent_base_1 = require(\"agent-base\");\nconst url_1 = require(\"url\");\nconst parse_proxy_response_1 = require(\"./parse-proxy-response\");\nconst debug = (0, debug_1.default)('https-proxy-agent');\nconst setServernameFromNonIpHost = (options) => {\n if (options.servername === undefined &&\n options.host &&\n !net.isIP(options.host)) {\n return {\n ...options,\n servername: options.host,\n };\n }\n return options;\n};\n/**\n * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to\n * the specified \"HTTP(s) proxy server\" in order to proxy HTTPS requests.\n *\n * Outgoing HTTP requests are first tunneled through the proxy server using the\n * `CONNECT` HTTP request method to establish a connection to the proxy server,\n * and then the proxy server connects to the destination target and issues the\n * HTTP request from the proxy server.\n *\n * `https:` requests have their socket connection upgraded to TLS once\n * the connection to the proxy server has been established.\n */\nclass HttpsProxyAgent extends agent_base_1.Agent {\n constructor(proxy, opts) {\n super(opts);\n this.options = { path: undefined };\n this.proxy = typeof proxy === 'string' ? new url_1.URL(proxy) : proxy;\n this.proxyHeaders = opts?.headers ?? {};\n debug('Creating new HttpsProxyAgent instance: %o', this.proxy.href);\n // Trim off the brackets from IPv6 addresses\n const host = (this.proxy.hostname || this.proxy.host).replace(/^\\[|\\]$/g, '');\n const port = this.proxy.port\n ? parseInt(this.proxy.port, 10)\n : this.proxy.protocol === 'https:'\n ? 443\n : 80;\n this.connectOpts = {\n // Attempt to negotiate http/1.1 for proxy servers that support http/2\n ALPNProtocols: ['http/1.1'],\n ...(opts ? omit(opts, 'headers') : null),\n host,\n port,\n };\n }\n /**\n * Called when the node-core HTTP client library is creating a\n * new HTTP request.\n */\n async connect(req, opts) {\n const { proxy } = this;\n if (!opts.host) {\n throw new TypeError('No \"host\" provided');\n }\n // Create a socket connection to the proxy server.\n let socket;\n if (proxy.protocol === 'https:') {\n debug('Creating `tls.Socket`: %o', this.connectOpts);\n socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));\n }\n else {\n debug('Creating `net.Socket`: %o', this.connectOpts);\n socket = net.connect(this.connectOpts);\n }\n const headers = typeof this.proxyHeaders === 'function'\n ? this.proxyHeaders()\n : { ...this.proxyHeaders };\n const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;\n let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\\r\\n`;\n // Inject the `Proxy-Authorization` header if necessary.\n if (proxy.username || proxy.password) {\n const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;\n headers['Proxy-Authorization'] = `Basic ${Buffer.from(auth).toString('base64')}`;\n }\n headers.Host = `${host}:${opts.port}`;\n if (!headers['Proxy-Connection']) {\n headers['Proxy-Connection'] = this.keepAlive\n ? 'Keep-Alive'\n : 'close';\n }\n for (const name of Object.keys(headers)) {\n payload += `${name}: ${headers[name]}\\r\\n`;\n }\n const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);\n socket.write(`${payload}\\r\\n`);\n const { connect, buffered } = await proxyResponsePromise;\n req.emit('proxyConnect', connect);\n this.emit('proxyConnect', connect, req);\n if (connect.statusCode === 200) {\n req.once('socket', resume);\n if (opts.secureEndpoint) {\n // The proxy is connecting to a TLS server, so upgrade\n // this socket connection to a TLS connection.\n debug('Upgrading socket connection to TLS');\n return tls.connect({\n ...omit(setServernameFromNonIpHost(opts), 'host', 'path', 'port'),\n socket,\n });\n }\n return socket;\n }\n // Some other status code that's not 200... need to re-play the HTTP\n // header \"data\" events onto the socket once the HTTP machinery is\n // attached so that the node core `http` can parse and handle the\n // error status code.\n // Close the original socket, and a new \"fake\" socket is returned\n // instead, so that the proxy doesn't get the HTTP request\n // written to it (which may contain `Authorization` headers or other\n // sensitive data).\n //\n // See: https://hackerone.com/reports/541502\n socket.destroy();\n const fakeSocket = new net.Socket({ writable: false });\n fakeSocket.readable = true;\n // Need to wait for the \"socket\" event to re-play the \"data\" events.\n req.once('socket', (s) => {\n debug('Replaying proxy buffer for failed request');\n (0, assert_1.default)(s.listenerCount('data') > 0);\n // Replay the \"buffered\" Buffer onto the fake `socket`, since at\n // this point the HTTP module machinery has been hooked up for\n // the user.\n s.push(buffered);\n s.push(null);\n });\n return fakeSocket;\n }\n}\nHttpsProxyAgent.protocols = ['http', 'https'];\nexports.HttpsProxyAgent = HttpsProxyAgent;\nfunction resume(socket) {\n socket.resume();\n}\nfunction omit(obj, ...keys) {\n const ret = {};\n let key;\n for (key in obj) {\n if (!keys.includes(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n//# sourceMappingURL=index.js.map"
|
|
16
16
|
],
|
|
17
17
|
"mappings": "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",
|
|
18
|
-
"debugId": "
|
|
18
|
+
"debugId": "F20C521EFFC88B2C64756E2164756E21",
|
|
19
19
|
"names": []
|
|
20
20
|
}
|