@shumai-one/shumai-agent 0.4.8 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/bin/{chunk-nnqq64r0.js → chunk-3wbsyjqj.js} +1 -1
  2. package/bin/{chunk-970g1609.js → chunk-52gbm98v.js} +3 -3
  3. package/bin/{chunk-dx77xj4e.js → chunk-542c2dtv.js} +1 -1
  4. package/bin/{chunk-5d9hy85z.js → chunk-56sxgdf7.js} +3 -3
  5. package/bin/{chunk-jfe44661.js → chunk-5axkdj6d.js} +2 -2
  6. package/bin/{chunk-pga3bd13.js → chunk-5bwwt4tm.js} +1 -1
  7. package/bin/{chunk-nke7rpr7.js → chunk-67jndcw5.js} +1 -1
  8. package/bin/{chunk-6paz8rqc.js → chunk-77vc09e0.js} +5 -5
  9. package/bin/{chunk-3em1kdda.js → chunk-7gseffp9.js} +1 -1
  10. package/bin/{chunk-ej2mzkya.js → chunk-c97d1b04.js} +1 -1
  11. package/bin/{chunk-dfj82ty7.js → chunk-dmq3a0mk.js} +1 -1
  12. package/bin/chunk-f0ehwrm5.js +2 -0
  13. package/bin/chunk-f5fyzhzc.js +2 -0
  14. package/bin/{chunk-y7mfmet4.js → chunk-f913x9vp.js} +1 -1
  15. package/bin/chunk-fjydha2h.js +2 -0
  16. package/bin/{chunk-emwvc69t.js → chunk-gx6hxnbz.js} +1 -1
  17. package/bin/{chunk-p8x6v2rf.js → chunk-h227m9p2.js} +1 -1
  18. package/bin/chunk-h2vg744n.js +2 -0
  19. package/bin/{chunk-668akk9p.js → chunk-j8ebd1et.js} +1 -1
  20. package/bin/{chunk-aedmn6b6.js → chunk-jhyephh3.js} +1 -1
  21. package/bin/chunk-k1rxa979.js +2 -0
  22. package/bin/{chunk-4j6shajg.js → chunk-km7jaa3m.js} +1 -1
  23. package/bin/{chunk-2krqnza0.js → chunk-m2xkjf7m.js} +4 -4
  24. package/bin/{chunk-ymqmwpxd.js → chunk-m4y3jajs.js} +1 -1
  25. package/bin/{chunk-davs8g66.js → chunk-m50fn6zs.js} +10 -10
  26. package/bin/{chunk-wypzz8k7.js → chunk-mg0sx82t.js} +1 -1
  27. package/bin/{chunk-grtavkr4.js → chunk-nfzjn0ec.js} +2 -2
  28. package/bin/{chunk-r1w7s1s4.js → chunk-p9ajsam7.js} +1 -1
  29. package/bin/chunk-pwagrnm6.js +3 -0
  30. package/bin/{chunk-4p1twggc.js → chunk-tcdgn56t.js} +1 -1
  31. package/bin/{chunk-03yns4yh.js → chunk-veg15bjr.js} +1 -1
  32. package/bin/{chunk-hp1hjxws.js → chunk-vg9jc9sm.js} +1 -1
  33. package/bin/{chunk-x13kvbw4.js → chunk-wexdk0e9.js} +1 -1
  34. package/bin/chunk-wntj2ssr.js +2 -0
  35. package/bin/{chunk-nz714xvr.js → chunk-xpg34mme.js} +1 -1
  36. package/bin/{chunk-pgxfj5eb.js → chunk-zhcdj6mj.js} +4 -4
  37. package/bin/{chunk-xdwhrf7a.js → chunk-zw963bc3.js} +1 -1
  38. package/bin/shumai-agent-app.js +607 -363
  39. package/package.json +7 -7
  40. package/prisma/migrations/20260927092537_add_notification_email_status/migration.sql +11 -0
  41. package/prisma/schema.prisma +10 -0
  42. package/bin/chunk-6ckpy06s.js +0 -2
  43. package/bin/chunk-6swxj1gy.js +0 -2
  44. package/bin/chunk-c92ybjd9.js +0 -2
  45. package/bin/chunk-e1zqz62n.js +0 -2
  46. package/bin/chunk-h47f6dyy.js +0 -2
  47. package/bin/chunk-nskd7d6r.js +0 -2
  48. package/bin/chunk-nwjh8gnr.js +0 -3
  49. /package/bin/{chunk-f52ktqn8.js → chunk-16bwazwv.js} +0 -0
  50. /package/bin/{chunk-6zps8k92.js → chunk-am4qpgem.js} +0 -0
  51. /package/bin/{chunk-933xb67c.js → chunk-bqa248k0.js} +0 -0
  52. /package/bin/{chunk-epcxtrrj.js → chunk-zrf45wfk.js} +0 -0
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{m,f}from"./shumai-agent-app.js";import{i}from"./chunk-h47f6dyy.js";var S=i(m());var U=(e)=>e&&(typeof e.sso_start_url==="string"||typeof e.sso_account_id==="string"||typeof e.sso_session==="string"||typeof e.sso_region==="string"||typeof e.sso_role_name==="string");var P=i(f());var p=i(m());var j=300000,x="To refresh this SSO session run 'aws sso login' with the corresponding profile.";var q=async(e,o={},r)=>{let{SSOOIDCClient:t}=await import("./chunk-dx77xj4e.js"),n=(g)=>o.clientConfig?.[g]??o.parentClientConfig?.[g]??r?.[g];return new t(Object.assign({},o.clientConfig??{},{region:e??o.clientConfig?.region,logger:n("logger"),userAgentAppId:n("userAgentAppId")}))};var W=async(e,o,r={},t)=>{let{CreateTokenCommand:n}=await import("./chunk-dx77xj4e.js");return(await q(o,r,t)).send(new n({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:e.refreshToken,grantType:"refresh_token"}))};var X=i(m());var R=(e)=>{if(e.expiration&&e.expiration.getTime()<Date.now())throw new X.TokenProviderError(`Token is expired. ${x}`,!1)};var z=i(m());var u=(e,o,r=!1)=>{if(typeof o>"u")throw new z.TokenProviderError(`Value not present for '${e}' in SSO Token${r?". Cannot refresh":""}. ${x}`,!1)};var J=i(m());import{promises as ee}from"fs";var{writeFile:oe}=ee,V=(e,o)=>{let r=J.getSSOTokenFilepath(e),t=JSON.stringify(o,null,2);return oe(r,t)};var Y=new Map,v=(e={})=>async({callerClientConfig:o}={})=>{e.logger?.debug("@aws-sdk/token-providers - fromSso");let r=await p.parseKnownFiles(e),t=p.getProfileName({profile:e.profile??o?.profile}),n=r[t];if(!n)throw new p.TokenProviderError(`Profile '${t}' could not be found in shared credentials file.`,!1);else if(!n.sso_session)throw new p.TokenProviderError(`Profile '${t}' is missing required property 'sso_session'.`);let a=n.sso_session,d=(await p.loadSsoSessionData(e))[a];if(!d)throw new p.TokenProviderError(`Sso session '${a}' could not be found in shared credentials file.`,!1);for(let c of["sso_start_url","sso_region"])if(!d[c])throw new p.TokenProviderError(`Sso session '${a}' is missing required property '${c}'.`,!1);let{sso_start_url:w,sso_region:A}=d,s;try{s=await p.getSSOTokenFromFile(a)}catch(c){throw new p.TokenProviderError(`The SSO session token associated with profile=${t} was not found or is invalid. ${x}`,!1)}u("accessToken",s.accessToken),u("expiresAt",s.expiresAt);let{accessToken:C,expiresAt:O}=s,l={token:C,expiration:new Date(O)};if(l.expiration.getTime()-Date.now()>j)return l;let h=Y.get(a)??0;if(Date.now()-h<30000)return R(l),l;u("clientId",s.clientId,!0),u("clientSecret",s.clientSecret,!0),u("refreshToken",s.refreshToken,!0);try{Y.set(a,Date.now());let c=await W(s,A,e,o);u("accessToken",c.accessToken),u("expiresIn",c.expiresIn);let y=new Date(Date.now()+c.expiresIn*1000);try{await V(a,{...s,accessToken:c.accessToken,expiresAt:y.toISOString(),refreshToken:c.refreshToken})}catch(k){}return{token:c.accessToken,expiration:y}}catch(c){return R(l),l}};var _=i(m()),E=!1,F=async({ssoStartUrl:e,ssoSession:o,ssoAccountId:r,ssoRegion:t,ssoRoleName:n,ssoClient:a,clientConfig:g,parentClientConfig:d,callerClientConfig:w,profile:A,filepath:s,configFilepath:C,ignoreCache:O,logger:l})=>{let h,c="To refresh this SSO session run aws sso login with the corresponding profile.";if(o)try{let T=await v({profile:A,filepath:s,configFilepath:C,ignoreCache:O,clientConfig:g,parentClientConfig:d,logger:l})({callerClientConfig:w});h={accessToken:T.token,expiresAt:new Date(T.expiration).toISOString()}}catch(T){throw new _.CredentialsProviderError(T.message,{tryNextLink:E,logger:l})}else try{h=await _.getSSOTokenFromFile(e)}catch(T){throw new _.CredentialsProviderError("The SSO session associated with this profile is invalid. To refresh this SSO session run aws sso login with the corresponding profile.",{tryNextLink:E,logger:l})}if(new Date(h.expiresAt).getTime()-Date.now()<=0)throw new _.CredentialsProviderError("The SSO session associated with this profile has expired. To refresh this SSO session run aws sso login with the corresponding profile.",{tryNextLink:E,logger:l});let{accessToken:y}=h,{SSOClient:k,GetRoleCredentialsCommand:I}=await import("./chunk-6ckpy06s.js"),Z=a||new k(Object.assign({},g??{},{logger:g?.logger??w?.logger??d?.logger,region:g?.region??t,userAgentAppId:g?.userAgentAppId??w?.userAgentAppId??d?.userAgentAppId})),D;try{D=await Z.send(new I({accountId:r,roleName:n,accessToken:y}))}catch(T){throw new _.CredentialsProviderError(T,{tryNextLink:E,logger:l})}let{roleCredentials:{accessKeyId:L,secretAccessKey:M,sessionToken:b,expiration:G,credentialScope:K,accountId:H}={}}=D;if(!L||!M||!b||!G)throw new _.CredentialsProviderError("SSO returns an invalid temporary credential.",{tryNextLink:E,logger:l});let N={accessKeyId:L,secretAccessKey:M,sessionToken:b,expiration:new Date(G),...K&&{credentialScope:K},...H&&{accountId:H}};if(o)P.setCredentialFeature(N,"CREDENTIALS_SSO","s");else P.setCredentialFeature(N,"CREDENTIALS_SSO_LEGACY","u");return N};var B=i(m()),Q=(e,o)=>{let{sso_start_url:r,sso_account_id:t,sso_region:n,sso_role_name:a}=e;if(!r||!t||!n||!a)throw new B.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(e).join(", ")}
2
+ import{m,f}from"./shumai-agent-app.js";import{i}from"./chunk-h2vg744n.js";var S=i(m());var U=(e)=>e&&(typeof e.sso_start_url==="string"||typeof e.sso_account_id==="string"||typeof e.sso_session==="string"||typeof e.sso_region==="string"||typeof e.sso_role_name==="string");var P=i(f());var p=i(m());var j=300000,x="To refresh this SSO session run 'aws sso login' with the corresponding profile.";var q=async(e,o={},r)=>{let{SSOOIDCClient:t}=await import("./chunk-542c2dtv.js"),n=(g)=>o.clientConfig?.[g]??o.parentClientConfig?.[g]??r?.[g];return new t(Object.assign({},o.clientConfig??{},{region:e??o.clientConfig?.region,logger:n("logger"),userAgentAppId:n("userAgentAppId")}))};var W=async(e,o,r={},t)=>{let{CreateTokenCommand:n}=await import("./chunk-542c2dtv.js");return(await q(o,r,t)).send(new n({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:e.refreshToken,grantType:"refresh_token"}))};var X=i(m());var R=(e)=>{if(e.expiration&&e.expiration.getTime()<Date.now())throw new X.TokenProviderError(`Token is expired. ${x}`,!1)};var z=i(m());var u=(e,o,r=!1)=>{if(typeof o>"u")throw new z.TokenProviderError(`Value not present for '${e}' in SSO Token${r?". Cannot refresh":""}. ${x}`,!1)};var J=i(m());import{promises as ee}from"fs";var{writeFile:oe}=ee,V=(e,o)=>{let r=J.getSSOTokenFilepath(e),t=JSON.stringify(o,null,2);return oe(r,t)};var Y=new Map,v=(e={})=>async({callerClientConfig:o}={})=>{e.logger?.debug("@aws-sdk/token-providers - fromSso");let r=await p.parseKnownFiles(e),t=p.getProfileName({profile:e.profile??o?.profile}),n=r[t];if(!n)throw new p.TokenProviderError(`Profile '${t}' could not be found in shared credentials file.`,!1);else if(!n.sso_session)throw new p.TokenProviderError(`Profile '${t}' is missing required property 'sso_session'.`);let a=n.sso_session,d=(await p.loadSsoSessionData(e))[a];if(!d)throw new p.TokenProviderError(`Sso session '${a}' could not be found in shared credentials file.`,!1);for(let c of["sso_start_url","sso_region"])if(!d[c])throw new p.TokenProviderError(`Sso session '${a}' is missing required property '${c}'.`,!1);let{sso_start_url:w,sso_region:A}=d,s;try{s=await p.getSSOTokenFromFile(a)}catch(c){throw new p.TokenProviderError(`The SSO session token associated with profile=${t} was not found or is invalid. ${x}`,!1)}u("accessToken",s.accessToken),u("expiresAt",s.expiresAt);let{accessToken:C,expiresAt:O}=s,l={token:C,expiration:new Date(O)};if(l.expiration.getTime()-Date.now()>j)return l;let h=Y.get(a)??0;if(Date.now()-h<30000)return R(l),l;u("clientId",s.clientId,!0),u("clientSecret",s.clientSecret,!0),u("refreshToken",s.refreshToken,!0);try{Y.set(a,Date.now());let c=await W(s,A,e,o);u("accessToken",c.accessToken),u("expiresIn",c.expiresIn);let y=new Date(Date.now()+c.expiresIn*1000);try{await V(a,{...s,accessToken:c.accessToken,expiresAt:y.toISOString(),refreshToken:c.refreshToken})}catch(k){}return{token:c.accessToken,expiration:y}}catch(c){return R(l),l}};var _=i(m()),E=!1,F=async({ssoStartUrl:e,ssoSession:o,ssoAccountId:r,ssoRegion:t,ssoRoleName:n,ssoClient:a,clientConfig:g,parentClientConfig:d,callerClientConfig:w,profile:A,filepath:s,configFilepath:C,ignoreCache:O,logger:l})=>{let h,c="To refresh this SSO session run aws sso login with the corresponding profile.";if(o)try{let T=await v({profile:A,filepath:s,configFilepath:C,ignoreCache:O,clientConfig:g,parentClientConfig:d,logger:l})({callerClientConfig:w});h={accessToken:T.token,expiresAt:new Date(T.expiration).toISOString()}}catch(T){throw new _.CredentialsProviderError(T.message,{tryNextLink:E,logger:l})}else try{h=await _.getSSOTokenFromFile(e)}catch(T){throw new _.CredentialsProviderError("The SSO session associated with this profile is invalid. To refresh this SSO session run aws sso login with the corresponding profile.",{tryNextLink:E,logger:l})}if(new Date(h.expiresAt).getTime()-Date.now()<=0)throw new _.CredentialsProviderError("The SSO session associated with this profile has expired. To refresh this SSO session run aws sso login with the corresponding profile.",{tryNextLink:E,logger:l});let{accessToken:y}=h,{SSOClient:k,GetRoleCredentialsCommand:I}=await import("./chunk-fjydha2h.js"),Z=a||new k(Object.assign({},g??{},{logger:g?.logger??w?.logger??d?.logger,region:g?.region??t,userAgentAppId:g?.userAgentAppId??w?.userAgentAppId??d?.userAgentAppId})),D;try{D=await Z.send(new I({accountId:r,roleName:n,accessToken:y}))}catch(T){throw new _.CredentialsProviderError(T,{tryNextLink:E,logger:l})}let{roleCredentials:{accessKeyId:L,secretAccessKey:M,sessionToken:b,expiration:G,credentialScope:K,accountId:H}={}}=D;if(!L||!M||!b||!G)throw new _.CredentialsProviderError("SSO returns an invalid temporary credential.",{tryNextLink:E,logger:l});let N={accessKeyId:L,secretAccessKey:M,sessionToken:b,expiration:new Date(G),...K&&{credentialScope:K},...H&&{accountId:H}};if(o)P.setCredentialFeature(N,"CREDENTIALS_SSO","s");else P.setCredentialFeature(N,"CREDENTIALS_SSO_LEGACY","u");return N};var B=i(m()),Q=(e,o)=>{let{sso_start_url:r,sso_account_id:t,sso_region:n,sso_role_name:a}=e;if(!r||!t||!n||!a)throw new B.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters "sso_account_id", "sso_region", "sso_role_name", "sso_start_url". Got ${Object.keys(e).join(", ")}
3
3
  Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`,{tryNextLink:!1,logger:o});return e};var se=(e={})=>async({callerClientConfig:o}={})=>{e.logger?.debug("@aws-sdk/credential-provider-sso - fromSSO");let{ssoStartUrl:r,ssoAccountId:t,ssoRegion:n,ssoRoleName:a,ssoSession:g}=e,{ssoClient:d}=e,w=S.getProfileName({profile:e.profile??o?.profile});if(!r&&!t&&!n&&!a&&!g){let s=(await S.parseKnownFiles(e))[w];if(!s)throw new S.CredentialsProviderError(`Profile ${w} was not found.`,{logger:e.logger});if(!U(s))throw new S.CredentialsProviderError(`Profile ${w} is not configured with SSO credentials.`,{logger:e.logger});if(s?.sso_session){let k=(await S.loadSsoSessionData(e))[s.sso_session],I=` configurations in profile ${w} and sso-session ${s.sso_session}`;if(n&&n!==k.sso_region)throw new S.CredentialsProviderError("Conflicting SSO region"+I,{tryNextLink:!1,logger:e.logger});if(r&&r!==k.sso_start_url)throw new S.CredentialsProviderError("Conflicting SSO start_url"+I,{tryNextLink:!1,logger:e.logger});s.sso_region=k.sso_region,s.sso_start_url=k.sso_start_url}let{sso_start_url:C,sso_account_id:O,sso_region:l,sso_role_name:h,sso_session:c}=Q(s,e.logger);return F({ssoStartUrl:C,ssoSession:c,ssoAccountId:O,ssoRegion:l,ssoRoleName:h,ssoClient:d,clientConfig:e.clientConfig,parentClientConfig:e.parentClientConfig,callerClientConfig:e.callerClientConfig,profile:w,filepath:e.filepath,configFilepath:e.configFilepath,ignoreCache:e.ignoreCache,logger:e.logger})}else if(!r||!t||!n||!a)throw new S.CredentialsProviderError('Incomplete configuration. The fromSSO() argument hash must include "ssoStartUrl", "ssoAccountId", "ssoRegion", "ssoRoleName"',{tryNextLink:!1,logger:e.logger});else return F({ssoStartUrl:r,ssoSession:g,ssoAccountId:t,ssoRegion:n,ssoRoleName:a,ssoClient:d,clientConfig:e.clientConfig,parentClientConfig:e.parentClientConfig,callerClientConfig:e.callerClientConfig,profile:w,filepath:e.filepath,configFilepath:e.configFilepath,ignoreCache:e.ignoreCache,logger:e.logger})};export{se as fromSSO};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import*as x from"zod/v4";function e(r,i){let a={};if(!Object.keys(i).length)return a=r,a;for(let[h,d]of Object.entries(r)){let S=i[h];if(S===null)continue;a[S??h]=d}return a}function t(r){let i={};for(let[a,h]of Object.entries(r))if(typeof h<"u")i[a]=h;return i}import*as ye from"zod/v4";import*as B from"zod/v4/core";class q extends Error{rawValue;rawMessage;static[Symbol.hasInstance](r){if(!(r instanceof Error))return!1;if(!("rawValue"in r))return!1;if(!("rawMessage"in r))return!1;if(!("pretty"in r))return!1;if(typeof r.pretty!=="function")return!1;return!0}constructor(r,i,a){super(`${r}: ${i}`);this.name="SDKValidationError",this.cause=i,this.rawValue=a,this.rawMessage=r}pretty(){if(this.cause instanceof B.$ZodError)return`${this.rawMessage}
3
- ${ct(this.cause)}`;else return this.toString()}}function ct(r){return B.prettifyError(r)}function Be(r){return{ok:!0,value:r}}function X(r){return{ok:!1,error:r}}async function s(r){let i=await r;if(!i.ok)throw i.error;return i.value}function n(r,i,a){try{return Be(i(r))}catch(h){return X(new q(a,h,r))}}var W=x.object({prompt_tokens:x.int().default(0),completion_tokens:x.int().default(0),total_tokens:x.int().default(0),prompt_audio_seconds:x.nullable(x.int()).optional()}).catchall(x.any()).transform((r)=>e(r,{prompt_tokens:"promptTokens",completion_tokens:"completionTokens",total_tokens:"totalTokens",prompt_audio_seconds:"promptAudioSeconds"})),Ve=x.object({promptTokens:x.int().default(0),completionTokens:x.int().default(0),totalTokens:x.int().default(0),promptAudioSeconds:x.nullable(x.int()).optional()}).catchall(x.any()).transform((r)=>({...e(r,{promptTokens:"prompt_tokens",completionTokens:"completion_tokens",totalTokens:"total_tokens",promptAudioSeconds:"prompt_audio_seconds"})}));import*as R from"zod/v4";import*as L from"zod/v4";import*as O from"zod/v4";function G(r){return v++,r}var v=0,te=0;function P(){te++;let r=v;return{end:(i)=>{let a=v-r;if(v=r+(i??a),--te===0)v=0;return a}}}function l(r){let i=Object.values(r);return O.union([...i.map((a)=>O.literal(a)),O.string().transform((a)=>G(a))])}function Re(r){let i=Object.values(r).filter((a)=>typeof a==="number");return O.union([...i.map((a)=>O.literal(a)),O.int().transform((a)=>G(a))])}function g(r){return O.string()}function bt(r){return O.int()}import*as m from"zod/v4";import*as Z from"zod/v4";import*as ne from"zod/v4";var oe=Symbol("UNKNOWN");function re(r){return typeof r==="object"&&r!==null&&oe in r}function p(r,i,a={}){let{unknownValue:h="UNKNOWN",outputPropertyName:d}=a;return ne.unknown().transform((S)=>{let _=Object.defineProperties({raw:S,[d??r]:h,isUnknown:!0},{[oe]:{value:!0,enumerable:!1,configurable:!1}});if(!(typeof S==="object"&&S!==null))return _;let D=S[r];if(typeof D!=="string")return _;if(!(D in i))return _;let Y=i[D];if(!Y)return _;let E=P(),A=Y.safeParse(S);if(!A.success)return E.end(0),_;if(E.end(),d)A.data[d]=D;return A.data})}var ue=/^\d{4}-\d{2}-\d{2}$/;class V{serialized;static today(){return new V(new Date)}constructor(r){if(typeof r==="string"&&!ue.test(r))throw RangeError("RFCDate: date strings must be in the format YYYY-MM-DD: "+r);let i=new Date(r);if(isNaN(+i))throw RangeError("RFCDate: invalid date provided: "+r);if(this.serialized=i.toISOString().slice(0,10),!ue.test(this.serialized))throw TypeError(`RFCDate: failed to build valid date with given value: ${r} serialized to ${this.serialized}`)}toJSON(){return this.toString()}toString(){return this.serialized}}function o(r){return Z.unknown().transform((i,a)=>{let h=[],d=r.map(()=>[]),S=P();for(let[w,D]of r.entries()){let Y=P(),E=D.safeParse(i),A=Y.end(),je=0;if(E.success){h.push({data:E.data,inexactCount:A,zeroDefaultCount:0,fieldCount:-1});continue}d[w].push(...E.error.issues)}if(h.length===0)return S.end(0),a.addIssue({input:i,code:"invalid_union",errors:d}),Z.NEVER;let _=h[0];for(let w of h){if(h.length>1)w.fieldCount=_e(w.data);_=$e(w,_)}return S.end(_.inexactCount),_.data})}function $e(r,i){let a=r.inexactCount===0,h=i.inexactCount===0;if(a!==h)return a?r:i;let d=r.fieldCount-r.zeroDefaultCount,S=i.fieldCount-i.zeroDefaultCount;if(d!==S)return d>S?r:i;return r.inexactCount<i.inexactCount?r:i}function _e(r){let i=0,a=[r],h=0;while(h<a.length){let d=a[h++];if(d===void 0||re(d))continue;let S=typeof d;if(d===null||S==="number"||S==="string"||S==="boolean"||S==="bigint"||d instanceof Date||d instanceof V){i++;continue}if(Array.isArray(d)){a.push(...d);continue}if(S==="object")a.push(...Object.values(d))}return i}import*as u from"zod/v4";import*as F from"zod/v4";var ce=F.object({type:F.literal("input_audio"),input_audio:F.string()}).transform((r)=>e(r,{input_audio:"inputAudio"})),pe=F.object({type:F.literal("input_audio"),inputAudio:F.string()}).transform((r)=>e(r,{inputAudio:"input_audio"}));import*as k from"zod/v4";var me=k.object({type:k.literal("document_url").default("document_url"),document_url:k.string(),document_name:k.nullable(k.string()).optional()}).transform((r)=>e(r,{document_url:"documentUrl",document_name:"documentName"})),se=k.object({type:k.literal("document_url").default("document_url"),documentUrl:k.string(),documentName:k.nullable(k.string()).optional()}).transform((r)=>e(r,{documentUrl:"document_url",documentName:"document_name"}));import*as U from"zod/v4";var de=U.object({type:U.literal("file").default("file"),file_id:U.string()}).transform((r)=>e(r,{file_id:"fileId"})),Oe=U.object({type:U.literal("file").default("file"),fileId:U.string()}).transform((r)=>e(r,{fileId:"file_id"}));import*as N from"zod/v4";import*as j from"zod/v4";var ze={Low:"low",Auto:"auto",High:"high"},be=l(ze),xe=g(ze);var Q=j.object({url:j.string(),detail:j.nullable(be).optional()}),ee=j.object({url:j.string(),detail:j.nullable(xe).optional()});var zt=o([Q,N.string()]),St=o([ee,N.string()]);var ge=N.object({type:N.literal("image_url").default("image_url"),image_url:o([Q,N.string()])}).transform((r)=>e(r,{image_url:"imageUrl"})),ie=N.object({type:N.literal("image_url").default("image_url"),imageUrl:o([ee,N.string()])}).transform((r)=>e(r,{imageUrl:"image_url"}));import*as b from"zod/v4";var Ot=o([b.int(),b.string()]),Nt=o([b.int(),b.string()]);var M=b.object({type:b.literal("reference").default("reference"),reference_ids:b.array(o([b.int(),b.string()]))}).transform((r)=>e(r,{reference_ids:"referenceIds"})),K=b.object({type:b.literal("reference").default("reference"),referenceIds:b.array(o([b.int(),b.string()]))}).transform((r)=>e(r,{referenceIds:"reference_ids"}));import*as I from"zod/v4";var z=I.object({type:I.literal("text").default("text"),text:I.string()}),J=I.object({type:I.literal("text").default("text"),text:I.string()});import*as C from"zod/v4";import*as c from"zod/v4";var Ce={WebSearch:"web_search",WebSearchPremium:"web_search_premium",CodeInterpreter:"code_interpreter",ImageGeneration:"image_generation",DocumentLibrary:"document_library"},T=l(Ce),ae=g(Ce);var Ft=o([T,c.string()]),Ut=o([ae,c.string()]);var Se=c.object({type:c.literal("tool_reference").default("tool_reference"),tool:o([T,c.string()]),title:c.string(),url:c.nullable(c.string()).optional(),favicon:c.nullable(c.string()).optional(),description:c.nullable(c.string()).optional()}),Pe=c.object({type:c.literal("tool_reference").default("tool_reference"),tool:o([ae,c.string()]),title:c.string(),url:c.nullable(c.string()).optional(),favicon:c.nullable(c.string()).optional(),description:c.nullable(c.string()).optional()});var Lt=o([Se,z,M]),At=o([Pe,J,K]);var fe=C.object({type:C.literal("thinking").default("thinking"),thinking:C.array(o([Se,z,M])),signature:C.nullable(C.string()).optional(),closed:C.boolean().optional()}),he=C.object({type:C.literal("thinking").default("thinking"),thinking:C.array(o([Pe,J,K])),signature:C.nullable(C.string()).optional(),closed:C.boolean().optional()});var Te=p("type",{image_url:ge.and(u.object({type:u.literal("image_url")})),document_url:me.and(u.object({type:u.literal("document_url")})),text:z.and(u.object({type:u.literal("text")})),reference:M.and(u.object({type:u.literal("reference")})),file:de.and(u.object({type:u.literal("file")})),thinking:fe.and(u.object({type:u.literal("thinking")})),input_audio:ce}),le=u.union([ie.and(u.object({type:u.literal("image_url")})),se.and(u.object({type:u.literal("document_url")})),J.and(u.object({type:u.literal("text")})),K.and(u.object({type:u.literal("reference")})),Oe.and(u.object({type:u.literal("file")})),he.and(u.object({type:u.literal("thinking")})),pe]);import*as y from"zod/v4";import*as f from"zod/v4";var Ht=o([f.record(f.string(),f.any()),f.string()]),Qt=o([f.record(f.string(),f.any()),f.string()]);var ke=f.object({name:f.string(),arguments:o([f.record(f.string(),f.any()),f.string()])}),Ne=f.object({name:f.string(),arguments:o([f.record(f.string(),f.any()),f.string()])});var tt=y.object({id:y.string().default("null"),type:y.string().optional(),function:ke,index:y.int().default(0)}),Ct=y.object({id:y.string().default("null"),type:y.string().optional(),function:Ne,index:y.int().default(0)});var un=o([m.string(),m.array(Te)]);var nt=m.object({role:m.nullable(m.string()).optional(),content:m.nullable(o([m.string(),m.array(Te)])).optional(),tool_calls:m.nullable(m.array(tt)).optional(),tool_call_id:m.nullable(m.string()).optional(),index:m.nullable(m.int()).optional(),metadata:m.nullable(m.record(m.string(),m.any())).optional()}).transform((r)=>e(r,{tool_calls:"toolCalls",tool_call_id:"toolCallId"}));var Fe={Stop:"stop",Length:"length",Error:"error",ToolCalls:"tool_calls"},Ue=l(Fe),Je=L.object({index:L.int(),delta:nt,finish_reason:L.nullable(Ue)}).transform((r)=>e(r,{finish_reason:"finishReason"}));var ut=R.object({id:R.string(),object:R.string().optional(),created:R.int().optional(),model:R.string(),usage:W.optional(),choices:R.array(Je)});function Et(r){return n(r,(i)=>ut.parse(JSON.parse(i)),"Failed to parse 'CompletionChunk' from JSON")}
4
- export{ct,Be,X,s,n,e,t,l,Re,g,bt,p,o,me,se,Oe,ge,ie,z,J,T,ae,Se,Pe,fe,he,Te,le,tt,Ct,nt,W,Ve,ut,Et};
2
+ import*as x from"zod/v4";function e(r,i){let a={};if(!Object.keys(i).length)return a=r,a;for(let[h,d]of Object.entries(r)){let S=i[h];if(S===null)continue;a[S??h]=d}return a}function t(r){let i={};for(let[a,h]of Object.entries(r))if(typeof h<"u")i[a]=h;return i}import*as ye from"zod/v4";import*as V from"zod/v4/core";class q extends Error{rawValue;rawMessage;static[Symbol.hasInstance](r){if(!(r instanceof Error))return!1;if(!("rawValue"in r))return!1;if(!("rawMessage"in r))return!1;if(!("pretty"in r))return!1;if(typeof r.pretty!=="function")return!1;return!0}constructor(r,i,a){super(`${r}: ${i}`);this.name="SDKValidationError",this.cause=i,this.rawValue=a,this.rawMessage=r}pretty(){if(this.cause instanceof V.$ZodError)return`${this.rawMessage}
3
+ ${ct(this.cause)}`;else return this.toString()}}function ct(r){return V.prettifyError(r)}function Be(r){return{ok:!0,value:r}}function z(r){return{ok:!1,error:r}}async function s(r){let i=await r;if(!i.ok)throw i.error;return i.value}function n(r,i,a){try{return Be(i(r))}catch(h){return z(new q(a,h,r))}}var H=x.object({prompt_tokens:x.int().default(0),completion_tokens:x.int().default(0),total_tokens:x.int().default(0),prompt_audio_seconds:x.nullable(x.int()).optional()}).catchall(x.any()).transform((r)=>e(r,{prompt_tokens:"promptTokens",completion_tokens:"completionTokens",total_tokens:"totalTokens",prompt_audio_seconds:"promptAudioSeconds"})),Ve=x.object({promptTokens:x.int().default(0),completionTokens:x.int().default(0),totalTokens:x.int().default(0),promptAudioSeconds:x.nullable(x.int()).optional()}).catchall(x.any()).transform((r)=>({...e(r,{promptTokens:"prompt_tokens",completionTokens:"completion_tokens",totalTokens:"total_tokens",promptAudioSeconds:"prompt_audio_seconds"})}));import*as R from"zod/v4";import*as L from"zod/v4";import*as O from"zod/v4";function G(r){return v++,r}var v=0,te=0;function P(){te++;let r=v;return{end:(i)=>{let a=v-r;if(v=r+(i??a),--te===0)v=0;return a}}}function l(r){let i=Object.values(r);return O.union([...i.map((a)=>O.literal(a)),O.string().transform((a)=>G(a))])}function Re(r){let i=Object.values(r).filter((a)=>typeof a==="number");return O.union([...i.map((a)=>O.literal(a)),O.int().transform((a)=>G(a))])}function g(r){return O.string()}function bt(r){return O.int()}import*as m from"zod/v4";import*as Z from"zod/v4";import*as ne from"zod/v4";var oe=Symbol("UNKNOWN");function re(r){return typeof r==="object"&&r!==null&&oe in r}function p(r,i,a={}){let{unknownValue:h="UNKNOWN",outputPropertyName:d}=a;return ne.unknown().transform((S)=>{let _=Object.defineProperties({raw:S,[d??r]:h,isUnknown:!0},{[oe]:{value:!0,enumerable:!1,configurable:!1}});if(!(typeof S==="object"&&S!==null))return _;let D=S[r];if(typeof D!=="string")return _;if(!(D in i))return _;let B=i[D];if(!B)return _;let E=P(),A=B.safeParse(S);if(!A.success)return E.end(0),_;if(E.end(),d)A.data[d]=D;return A.data})}var ue=/^\d{4}-\d{2}-\d{2}$/;class W{serialized;static today(){return new W(new Date)}constructor(r){if(typeof r==="string"&&!ue.test(r))throw RangeError("RFCDate: date strings must be in the format YYYY-MM-DD: "+r);let i=new Date(r);if(isNaN(+i))throw RangeError("RFCDate: invalid date provided: "+r);if(this.serialized=i.toISOString().slice(0,10),!ue.test(this.serialized))throw TypeError(`RFCDate: failed to build valid date with given value: ${r} serialized to ${this.serialized}`)}toJSON(){return this.toString()}toString(){return this.serialized}}function o(r){return Z.unknown().transform((i,a)=>{let h=[],d=r.map(()=>[]),S=P();for(let[w,D]of r.entries()){let B=P(),E=D.safeParse(i),A=B.end(),je=0;if(E.success){h.push({data:E.data,inexactCount:A,zeroDefaultCount:0,fieldCount:-1});continue}d[w].push(...E.error.issues)}if(h.length===0)return S.end(0),a.addIssue({input:i,code:"invalid_union",errors:d}),Z.NEVER;let _=h[0];for(let w of h){if(h.length>1)w.fieldCount=_e(w.data);_=$e(w,_)}return S.end(_.inexactCount),_.data})}function $e(r,i){let a=r.inexactCount===0,h=i.inexactCount===0;if(a!==h)return a?r:i;let d=r.fieldCount-r.zeroDefaultCount,S=i.fieldCount-i.zeroDefaultCount;if(d!==S)return d>S?r:i;return r.inexactCount<i.inexactCount?r:i}function _e(r){let i=0,a=[r],h=0;while(h<a.length){let d=a[h++];if(d===void 0||re(d))continue;let S=typeof d;if(d===null||S==="number"||S==="string"||S==="boolean"||S==="bigint"||d instanceof Date||d instanceof W){i++;continue}if(Array.isArray(d)){a.push(...d);continue}if(S==="object")a.push(...Object.values(d))}return i}import*as u from"zod/v4";import*as F from"zod/v4";var ce=F.object({type:F.literal("input_audio"),input_audio:F.string()}).transform((r)=>e(r,{input_audio:"inputAudio"})),pe=F.object({type:F.literal("input_audio"),inputAudio:F.string()}).transform((r)=>e(r,{inputAudio:"input_audio"}));import*as k from"zod/v4";var me=k.object({type:k.literal("document_url").default("document_url"),document_url:k.string(),document_name:k.nullable(k.string()).optional()}).transform((r)=>e(r,{document_url:"documentUrl",document_name:"documentName"})),se=k.object({type:k.literal("document_url").default("document_url"),documentUrl:k.string(),documentName:k.nullable(k.string()).optional()}).transform((r)=>e(r,{documentUrl:"document_url",documentName:"document_name"}));import*as U from"zod/v4";var de=U.object({type:U.literal("file").default("file"),file_id:U.string()}).transform((r)=>e(r,{file_id:"fileId"})),Oe=U.object({type:U.literal("file").default("file"),fileId:U.string()}).transform((r)=>e(r,{fileId:"file_id"}));import*as N from"zod/v4";import*as j from"zod/v4";var ze={Low:"low",Auto:"auto",High:"high"},Se=l(ze),be=g(ze);var X=j.object({url:j.string(),detail:j.nullable(Se).optional()}),ee=j.object({url:j.string(),detail:j.nullable(be).optional()});var zt=o([X,N.string()]),St=o([ee,N.string()]);var ge=N.object({type:N.literal("image_url").default("image_url"),image_url:o([X,N.string()])}).transform((r)=>e(r,{image_url:"imageUrl"})),ie=N.object({type:N.literal("image_url").default("image_url"),imageUrl:o([ee,N.string()])}).transform((r)=>e(r,{imageUrl:"image_url"}));import*as b from"zod/v4";var Ot=o([b.int(),b.string()]),Nt=o([b.int(),b.string()]);var M=b.object({type:b.literal("reference").default("reference"),reference_ids:b.array(o([b.int(),b.string()]))}).transform((r)=>e(r,{reference_ids:"referenceIds"})),K=b.object({type:b.literal("reference").default("reference"),referenceIds:b.array(o([b.int(),b.string()]))}).transform((r)=>e(r,{referenceIds:"reference_ids"}));import*as I from"zod/v4";var J=I.object({type:I.literal("text").default("text"),text:I.string()}),Y=I.object({type:I.literal("text").default("text"),text:I.string()});import*as C from"zod/v4";import*as c from"zod/v4";var Ce={WebSearch:"web_search",WebSearchPremium:"web_search_premium",CodeInterpreter:"code_interpreter",ImageGeneration:"image_generation",DocumentLibrary:"document_library"},T=l(Ce),ae=g(Ce);var Ft=o([T,c.string()]),Ut=o([ae,c.string()]);var xe=c.object({type:c.literal("tool_reference").default("tool_reference"),tool:o([T,c.string()]),title:c.string(),url:c.nullable(c.string()).optional(),favicon:c.nullable(c.string()).optional(),description:c.nullable(c.string()).optional()}),Pe=c.object({type:c.literal("tool_reference").default("tool_reference"),tool:o([ae,c.string()]),title:c.string(),url:c.nullable(c.string()).optional(),favicon:c.nullable(c.string()).optional(),description:c.nullable(c.string()).optional()});var Lt=o([xe,J,M]),At=o([Pe,Y,K]);var fe=C.object({type:C.literal("thinking").default("thinking"),thinking:C.array(o([xe,J,M])),signature:C.nullable(C.string()).optional(),closed:C.boolean().optional()}),he=C.object({type:C.literal("thinking").default("thinking"),thinking:C.array(o([Pe,Y,K])),signature:C.nullable(C.string()).optional(),closed:C.boolean().optional()});var Te=p("type",{image_url:ge.and(u.object({type:u.literal("image_url")})),document_url:me.and(u.object({type:u.literal("document_url")})),text:J.and(u.object({type:u.literal("text")})),reference:M.and(u.object({type:u.literal("reference")})),file:de.and(u.object({type:u.literal("file")})),thinking:fe.and(u.object({type:u.literal("thinking")})),input_audio:ce}),le=u.union([ie.and(u.object({type:u.literal("image_url")})),se.and(u.object({type:u.literal("document_url")})),Y.and(u.object({type:u.literal("text")})),K.and(u.object({type:u.literal("reference")})),Oe.and(u.object({type:u.literal("file")})),he.and(u.object({type:u.literal("thinking")})),pe]);import*as y from"zod/v4";import*as f from"zod/v4";var Ht=o([f.record(f.string(),f.any()),f.string()]),Qt=o([f.record(f.string(),f.any()),f.string()]);var ke=f.object({name:f.string(),arguments:o([f.record(f.string(),f.any()),f.string()])}),Ne=f.object({name:f.string(),arguments:o([f.record(f.string(),f.any()),f.string()])});var tt=y.object({id:y.string().default("null"),type:y.string().optional(),function:ke,index:y.int().default(0)}),Ct=y.object({id:y.string().default("null"),type:y.string().optional(),function:Ne,index:y.int().default(0)});var un=o([m.string(),m.array(Te)]);var nt=m.object({role:m.nullable(m.string()).optional(),content:m.nullable(o([m.string(),m.array(Te)])).optional(),tool_calls:m.nullable(m.array(tt)).optional(),tool_call_id:m.nullable(m.string()).optional(),index:m.nullable(m.int()).optional(),metadata:m.nullable(m.record(m.string(),m.any())).optional()}).transform((r)=>e(r,{tool_calls:"toolCalls",tool_call_id:"toolCallId"}));var Fe={Stop:"stop",Length:"length",Error:"error",ToolCalls:"tool_calls"},Ue=l(Fe),Je=L.object({index:L.int(),delta:nt,finish_reason:L.nullable(Ue)}).transform((r)=>e(r,{finish_reason:"finishReason"}));var ut=R.object({id:R.string(),object:R.string().optional(),created:R.int().optional(),model:R.string(),usage:H.optional(),choices:R.array(Je)});function Et(r){return n(r,(i)=>ut.parse(JSON.parse(i)),"Failed to parse 'CompletionChunk' from JSON")}
4
+ export{ct,Be,z,s,n,e,t,l,Re,g,bt,p,o,me,se,Oe,ge,ie,J,Y,T,ae,xe,Pe,fe,he,Te,le,tt,Ct,nt,H,Ve,ut,Et};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{G,E,m,N,C,V,h,q,H,f,pe,K,ee}from"./shumai-agent-app.js";var{awsEndpointFunctions:De,emitWarningIfUnsupportedVersion:ke,createDefaultUserAgentProvider:$e,NODE_APP_ID_CONFIG_OPTIONS:we,getAwsRegionExtensionConfiguration:Ne,resolveAwsRegionExtensionConfiguration:be,resolveUserAgentConfig:Ue,resolveHostHeaderConfig:Fe,getUserAgentPlugin:qe,getHostHeaderPlugin:He,getLoggerPlugin:Me,getRecursionDetectionPlugin:Ge}=f(),{NoAuthSigner:je,getHttpAuthSchemeEndpointRuleSetPlugin:Ke,DefaultIdentityProviderConfig:Ve,getHttpSigningPlugin:ze}=H(),{normalizeProvider:Z,getSmithyContext:Le,ServiceException:Be,NoOpLogger:We,emitWarningIfUnsupportedVersion:Ye,loadConfigsForDefaultMode:Je,getDefaultExtensionConfiguration:Xe,resolveDefaultRuntimeConfig:Qe,Client:te,makeBuilder:Ze,createAggregatedClient:et}=E(),{Command:tt}=E();var Vr=tt,zr=te;var{resolveDefaultsModeConfig:rt,loadConfig:_,NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS:ot,NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS:nt,NODE_REGION_CONFIG_OPTIONS:st,NODE_REGION_CONFIG_FILE_OPTIONS:it,resolveRegionConfig:ct}=m(),{BinaryDecisionDiagram:at,EndpointCache:pt,decideEndpoint:dt,customEndpointFunctions:ut,resolveEndpointConfig:lt,getEndpointPlugin:ht}=N(),{parseUrl:_t,getHttpHandlerExtensionConfiguration:gt,resolveHttpHandlerRuntimeConfig:Et,getContentLengthPlugin:mt}=h(),{DEFAULT_RETRY_MODE:xt,NODE_RETRY_MODE_CONFIG_OPTIONS:ft,NODE_MAX_ATTEMPT_CONFIG_OPTIONS:St,resolveRetryConfig:vt,getRetryPlugin:Pt}=q(),{TypeRegistry:re,getSchemaSerdePlugin:It}=G(),{resolveAwsSdkSigV4Config:Ct,AwsSdkSigV4Signer:At,NODE_AUTH_SCHEME_PREFERENCE_OPTIONS:yt}=K(),{toUtf8:Tt,fromUtf8:Ot,toBase64:Rt,fromBase64:Dt,calculateBodyLength:kt}=C(),{streamCollector:$t,NodeHttpHandler:wt}=ee(),{AwsRestJsonProtocol:Nt}=pe(),{Sha256:bt}=V(),Ut=async(e,t,n)=>({operation:Le(t).operation,region:await Z(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function Ft(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"sso-oauth",region:e.region},propertiesExtractor:(t,n)=>({signingProperties:{config:t,context:n}})}}function qt(e){return{schemeId:"smithy.api#noAuth"}}var Ht=(e)=>{let t=[];switch(e.operation){case"CreateToken":{t.push(qt());break}default:t.push(Ft(e))}return t},Mt=(e)=>{let t=Ct(e);return Object.assign(t,{authSchemePreference:Z(e.authSchemePreference??[])})},Gt=(e)=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:"sso-oauth"}),jt={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}},Kt="3.997.43",Vt={version:Kt},S="ref",g=-1,P=!0,Y="isSet",oe="PartitionResult",I="booleanEquals",j="getAttr",J={[S]:"Endpoint"},z={[S]:oe},x={},X=[{[S]:"Region"}],Q={conditions:[[Y,[J]],[Y,X],["aws.partition",X,oe],[I,[{[S]:"UseFIPS"},P]],[I,[{[S]:"UseDualStack"},P]],[I,[{fn:j,argv:[z,"supportsDualStack"]},P]],[I,[{fn:j,argv:[z,"supportsFIPS"]},P]],["stringEquals",[{fn:j,argv:[z,"name"]},"aws-us-gov"]]],results:[[g],[g,"Invalid Configuration: FIPS and custom endpoint are not supported"],[g,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[J,x],["https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",x],[g,"FIPS and DualStack are enabled, but this partition does not support one or both"],["https://oidc.{Region}.amazonaws.com",x],["https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}",x],[g,"FIPS is enabled but this partition does not support FIPS"],["https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}",x],[g,"DualStack is enabled but this partition does not support DualStack"],["https://oidc.{Region}.{PartitionResult#dnsSuffix}",x],[g,"Invalid Configuration: Missing Region"]]},zt=2,c=1e8,Lt=new Int32Array([-1,1,-1,0,13,3,1,4,c+12,2,5,c+12,3,8,6,4,7,c+11,5,c+9,c+10,4,11,9,6,10,c+8,7,c+6,c+7,5,12,c+5,6,c+4,c+5,3,c+1,14,4,c+2,c+3]),Bt=at.from(Lt,zt,Q.conditions,Q.results),Wt=new pt({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]}),Yt=(e,t={})=>Wt.get(e,()=>dt(Bt,{endpointParams:e,logger:t.logger}));ut.aws=De;class i extends Be{constructor(e){super(e);Object.setPrototypeOf(this,i.prototype)}}class A extends i{name="AccessDeniedException";$fault="client";error;reason;error_description;constructor(e){super({name:"AccessDeniedException",$fault:"client",...e});Object.setPrototypeOf(this,A.prototype),this.error=e.error,this.reason=e.reason,this.error_description=e.error_description}}class y extends i{name="AuthorizationPendingException";$fault="client";error;error_description;constructor(e){super({name:"AuthorizationPendingException",$fault:"client",...e});Object.setPrototypeOf(this,y.prototype),this.error=e.error,this.error_description=e.error_description}}class T extends i{name="ExpiredTokenException";$fault="client";error;error_description;constructor(e){super({name:"ExpiredTokenException",$fault:"client",...e});Object.setPrototypeOf(this,T.prototype),this.error=e.error,this.error_description=e.error_description}}class O extends i{name="InternalServerException";$fault="server";error;error_description;constructor(e){super({name:"InternalServerException",$fault:"server",...e});Object.setPrototypeOf(this,O.prototype),this.error=e.error,this.error_description=e.error_description}}class R extends i{name="InvalidClientException";$fault="client";error;error_description;constructor(e){super({name:"InvalidClientException",$fault:"client",...e});Object.setPrototypeOf(this,R.prototype),this.error=e.error,this.error_description=e.error_description}}class D extends i{name="InvalidGrantException";$fault="client";error;error_description;constructor(e){super({name:"InvalidGrantException",$fault:"client",...e});Object.setPrototypeOf(this,D.prototype),this.error=e.error,this.error_description=e.error_description}}class k extends i{name="InvalidRequestException";$fault="client";error;reason;error_description;constructor(e){super({name:"InvalidRequestException",$fault:"client",...e});Object.setPrototypeOf(this,k.prototype),this.error=e.error,this.reason=e.reason,this.error_description=e.error_description}}class w extends i{name="InvalidScopeException";$fault="client";error;error_description;constructor(e){super({name:"InvalidScopeException",$fault:"client",...e});Object.setPrototypeOf(this,w.prototype),this.error=e.error,this.error_description=e.error_description}}class b extends i{name="SlowDownException";$fault="client";error;error_description;constructor(e){super({name:"SlowDownException",$fault:"client",...e});Object.setPrototypeOf(this,b.prototype),this.error=e.error,this.error_description=e.error_description}}class U extends i{name="UnauthorizedClientException";$fault="client";error;error_description;constructor(e){super({name:"UnauthorizedClientException",$fault:"client",...e});Object.setPrototypeOf(this,U.prototype),this.error=e.error,this.error_description=e.error_description}}class F extends i{name="UnsupportedGrantTypeException";$fault="client";error;error_description;constructor(e){super({name:"UnsupportedGrantTypeException",$fault:"client",...e});Object.setPrototypeOf(this,F.prototype),this.error=e.error,this.error_description=e.error_description}}var Jt="AccessDeniedException",Xt="AuthorizationPendingException",Qt="AccessToken",Zt="ClientSecret",er="CreateToken",tr="CreateTokenRequest",rr="CreateTokenResponse",or="CodeVerifier",nr="ExpiredTokenException",sr="InvalidClientException",ir="InvalidGrantException",cr="InvalidRequestException",ar="InternalServerException",pr="InvalidScopeException",dr="IdToken",ur="RefreshToken",lr="SlowDownException",hr="UnauthorizedClientException",_r="UnsupportedGrantTypeException",gr="accessToken",l="client",Er="clientId",mr="clientSecret",xr="codeVerifier",fr="code",Sr="deviceCode",r="error",vr="expiresIn",d="error_description",Pr="grantType",Ir="http",u="httpError",Cr="idToken",ne="reason",se="refreshToken",Ar="redirectUri",ie="smithy.ts.sdk.synthetic.com.amazonaws.ssooidc",yr="scope",Tr="server",Or="tokenType",o="com.amazonaws.ssooidc",ce=re.for(ie),ae=[-3,ie,"SSOOIDCServiceException",0,[],[]];ce.registerError(ae,i);var a=re.for(o),de=[-3,o,Jt,{[r]:l,[u]:400},[r,ne,d],[0,0,0]];a.registerError(de,A);var ue=[-3,o,Xt,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(ue,y);var le=[-3,o,nr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(le,T);var he=[-3,o,ar,{[r]:Tr,[u]:500},[r,d],[0,0]];a.registerError(he,O);var _e=[-3,o,sr,{[r]:l,[u]:401},[r,d],[0,0]];a.registerError(_e,R);var ge=[-3,o,ir,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(ge,D);var Ee=[-3,o,cr,{[r]:l,[u]:400},[r,ne,d],[0,0,0]];a.registerError(Ee,k);var me=[-3,o,pr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(me,w);var xe=[-3,o,lr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(xe,b);var fe=[-3,o,hr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(fe,U);var Se=[-3,o,_r,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(Se,F);var ve=[ce,a],Rr=[0,o,Qt,8,0],Dr=[0,o,Zt,8,0],kr=[0,o,or,8,0],$r=[0,o,dr,8,0],Pe=[0,o,ur,8,0],Ie=[3,o,tr,0,[Er,mr,Pr,Sr,fr,se,yr,Ar,xr],[0,[()=>Dr,0],0,0,0,[()=>Pe,0],64,0,[()=>kr,0]],3],Ce=[3,o,rr,0,[gr,Or,vr,se,Cr],[[()=>Rr,0],0,1,[()=>Pe,0],[()=>$r,0]]],Ae=[9,o,er,{[Ir]:["POST","/token",200]},()=>Ie,()=>Ce],wr=(e)=>({apiVersion:"2019-06-10",base64Decoder:e?.base64Decoder??Dt,base64Encoder:e?.base64Encoder??Rt,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??Yt,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Ht,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(t)=>t.getIdentityProvider("aws.auth#sigv4"),signer:new At},{schemeId:"smithy.api#noAuth",identityProvider:(t)=>t.getIdentityProvider("smithy.api#noAuth")||(async()=>({})),signer:new je}],logger:e?.logger??new We,protocol:e?.protocol??Nt,protocolSettings:e?.protocolSettings??{defaultNamespace:"com.amazonaws.ssooidc",errorTypeRegistries:ve,version:"2019-06-10",serviceTarget:"AWSSSOOIDCService"},serviceId:e?.serviceId??"SSO OIDC",sha256:e?.sha256??bt,urlParser:e?.urlParser??_t,utf8Decoder:e?.utf8Decoder??Ot,utf8Encoder:e?.utf8Encoder??Tt}),Nr=(e)=>{Ye(process.version);let t=rt(e),n=()=>t().then(Je),p=wr(e);ke(process.version);let s={profile:e?.profile,logger:p.logger};return{...p,...e,runtime:"node",defaultsMode:t,authSchemePreference:e?.authSchemePreference??_(yt,s),bodyLengthChecker:e?.bodyLengthChecker??kt,defaultUserAgentProvider:e?.defaultUserAgentProvider??$e({serviceId:p.serviceId,clientVersion:Vt.version}),maxAttempts:e?.maxAttempts??_(St,e),region:e?.region??_(st,{...it,...s}),requestHandler:wt.create(e?.requestHandler??n),retryMode:e?.retryMode??_({...ft,default:async()=>(await n()).retryMode||xt},e),streamCollector:e?.streamCollector??$t,useDualstackEndpoint:e?.useDualstackEndpoint??_(nt,s),useFipsEndpoint:e?.useFipsEndpoint??_(ot,s),userAgentAppId:e?.userAgentAppId??_(we,s)}},br=(e)=>{let{httpAuthSchemes:t,httpAuthSchemeProvider:n,credentials:p}=e;return{setHttpAuthScheme(s){let v=t.findIndex((M)=>M.schemeId===s.schemeId);if(v===-1)t.push(s);else t.splice(v,1,s)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(s){n=s},httpAuthSchemeProvider(){return n},setCredentials(s){p=s},credentials(){return p}}},Ur=(e)=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),Fr=(e,t)=>{let n=Object.assign(Ne(e),Xe(e),gt(e),br(e));return t.forEach((p)=>p.configure(n)),Object.assign(e,be(n),Qe(n),Et(n),Ur(n))};class L extends te{config;constructor(...[e]){let t=Nr(e||{});super(t);this.initConfig=t;let n=Gt(t),p=Ue(n),s=vt(p),v=ct(s),M=Fe(v),ye=lt(M),Te=Mt(ye),Oe=Fr(Te,e?.extensions||[]);this.config=Oe,this.middlewareStack.use(It(this.config)),this.middlewareStack.use(qe(this.config)),this.middlewareStack.use(Pt(this.config)),this.middlewareStack.use(mt(this.config)),this.middlewareStack.use(He(this.config)),this.middlewareStack.use(Me(this.config)),this.middlewareStack.use(Ge(this.config)),this.middlewareStack.use(Ke(this.config,{httpAuthSchemeParametersProvider:Ut,identityProviderConfigProvider:async(Re)=>new Ve({"aws.auth#sigv4":Re.credentials})})),this.middlewareStack.use(ze(this.config))}destroy(){super.destroy()}}var qr=Ze(jt,"AWSSSOOIDCService","SSOOIDCClient",ht),Hr={},Mr=(e,t,n,p)=>[];class B extends qr(Hr,Mr,"CreateToken",Ae){}var Gr={CreateTokenCommand:B};class W extends L{}et(Gr,W);var jr={KMS_ACCESS_DENIED:"KMS_AccessDeniedException"},Kr={KMS_DISABLED_KEY:"KMS_DisabledException",KMS_INVALID_KEY_USAGE:"KMS_InvalidKeyUsageException",KMS_INVALID_STATE:"KMS_InvalidStateException",KMS_KEY_NOT_FOUND:"KMS_NotFoundException"};var Lr=A,Br=de,Wr=jr,Yr=y,Jr=ue,Xr=Ae,Qr=B,Zr=Ie,eo=Ce,to=T,ro=le,oo=O,no=he,so=R,io=_e,co=D,ao=ge,po=k,uo=Ee,lo=Kr,ho=w,_o=me,go=W,Eo=L,mo=i,xo=ae,fo=b,So=xe,vo=U,Po=fe,Io=F,Co=Se,Ao=ve;export{Vr as $Command,zr as __Client,Lr as AccessDeniedException,Br as AccessDeniedException$,Wr as AccessDeniedExceptionReason,Yr as AuthorizationPendingException,Jr as AuthorizationPendingException$,Xr as CreateToken$,Qr as CreateTokenCommand,Zr as CreateTokenRequest$,eo as CreateTokenResponse$,to as ExpiredTokenException,ro as ExpiredTokenException$,oo as InternalServerException,no as InternalServerException$,so as InvalidClientException,io as InvalidClientException$,co as InvalidGrantException,ao as InvalidGrantException$,po as InvalidRequestException,uo as InvalidRequestException$,lo as InvalidRequestExceptionReason,ho as InvalidScopeException,_o as InvalidScopeException$,go as SSOOIDC,Eo as SSOOIDCClient,mo as SSOOIDCServiceException,xo as SSOOIDCServiceException$,fo as SlowDownException,So as SlowDownException$,vo as UnauthorizedClientException,Po as UnauthorizedClientException$,Io as UnsupportedGrantTypeException,Co as UnsupportedGrantTypeException$,Ao as errorTypeRegistries};
2
+ import{G,E,m,N,C,V,h,K,Z,f,pe,ee,te}from"./shumai-agent-app.js";var{awsEndpointFunctions:De,emitWarningIfUnsupportedVersion:ke,createDefaultUserAgentProvider:$e,NODE_APP_ID_CONFIG_OPTIONS:we,getAwsRegionExtensionConfiguration:Ne,resolveAwsRegionExtensionConfiguration:be,resolveUserAgentConfig:Ue,resolveHostHeaderConfig:Fe,getUserAgentPlugin:qe,getHostHeaderPlugin:He,getLoggerPlugin:Me,getRecursionDetectionPlugin:Ge}=f(),{NoAuthSigner:je,getHttpAuthSchemeEndpointRuleSetPlugin:Ke,DefaultIdentityProviderConfig:Ve,getHttpSigningPlugin:ze}=Z(),{normalizeProvider:X,getSmithyContext:Le,ServiceException:Be,NoOpLogger:We,emitWarningIfUnsupportedVersion:Ye,loadConfigsForDefaultMode:Je,getDefaultExtensionConfiguration:Xe,resolveDefaultRuntimeConfig:Qe,Client:Q,makeBuilder:Ze,createAggregatedClient:et}=E(),{Command:tt}=E();var Vr=tt,zr=Q;var{resolveDefaultsModeConfig:rt,loadConfig:_,NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS:ot,NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS:nt,NODE_REGION_CONFIG_OPTIONS:st,NODE_REGION_CONFIG_FILE_OPTIONS:it,resolveRegionConfig:ct}=m(),{BinaryDecisionDiagram:at,EndpointCache:pt,decideEndpoint:dt,customEndpointFunctions:ut,resolveEndpointConfig:lt,getEndpointPlugin:ht}=N(),{parseUrl:_t,getHttpHandlerExtensionConfiguration:gt,resolveHttpHandlerRuntimeConfig:Et,getContentLengthPlugin:mt}=h(),{DEFAULT_RETRY_MODE:xt,NODE_RETRY_MODE_CONFIG_OPTIONS:ft,NODE_MAX_ATTEMPT_CONFIG_OPTIONS:St,resolveRetryConfig:vt,getRetryPlugin:Pt}=K(),{TypeRegistry:re,getSchemaSerdePlugin:It}=G(),{resolveAwsSdkSigV4Config:Ct,AwsSdkSigV4Signer:At,NODE_AUTH_SCHEME_PREFERENCE_OPTIONS:yt}=ee(),{toUtf8:Tt,fromUtf8:Ot,toBase64:Rt,fromBase64:Dt,calculateBodyLength:kt}=C(),{streamCollector:$t,NodeHttpHandler:wt}=te(),{AwsRestJsonProtocol:Nt}=pe(),{Sha256:bt}=V(),Ut=async(e,t,n)=>({operation:Le(t).operation,region:await X(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()});function Ft(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"sso-oauth",region:e.region},propertiesExtractor:(t,n)=>({signingProperties:{config:t,context:n}})}}function qt(e){return{schemeId:"smithy.api#noAuth"}}var Ht=(e)=>{let t=[];switch(e.operation){case"CreateToken":{t.push(qt());break}default:t.push(Ft(e))}return t},Mt=(e)=>{let t=Ct(e);return Object.assign(t,{authSchemePreference:X(e.authSchemePreference??[])})},Gt=(e)=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??!1,useFipsEndpoint:e.useFipsEndpoint??!1,defaultSigningName:"sso-oauth"}),jt={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}},Kt="3.997.43",Vt={version:Kt},S="ref",g=-1,P=!0,B="isSet",oe="PartitionResult",I="booleanEquals",H="getAttr",W={[S]:"Endpoint"},M={[S]:oe},x={},Y=[{[S]:"Region"}],J={conditions:[[B,[W]],[B,Y],["aws.partition",Y,oe],[I,[{[S]:"UseFIPS"},P]],[I,[{[S]:"UseDualStack"},P]],[I,[{fn:H,argv:[M,"supportsDualStack"]},P]],[I,[{fn:H,argv:[M,"supportsFIPS"]},P]],["stringEquals",[{fn:H,argv:[M,"name"]},"aws-us-gov"]]],results:[[g],[g,"Invalid Configuration: FIPS and custom endpoint are not supported"],[g,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[W,x],["https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",x],[g,"FIPS and DualStack are enabled, but this partition does not support one or both"],["https://oidc.{Region}.amazonaws.com",x],["https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}",x],[g,"FIPS is enabled but this partition does not support FIPS"],["https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}",x],[g,"DualStack is enabled but this partition does not support DualStack"],["https://oidc.{Region}.{PartitionResult#dnsSuffix}",x],[g,"Invalid Configuration: Missing Region"]]},zt=2,c=1e8,Lt=new Int32Array([-1,1,-1,0,13,3,1,4,c+12,2,5,c+12,3,8,6,4,7,c+11,5,c+9,c+10,4,11,9,6,10,c+8,7,c+6,c+7,5,12,c+5,6,c+4,c+5,3,c+1,14,4,c+2,c+3]),Bt=at.from(Lt,zt,J.conditions,J.results),Wt=new pt({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]}),Yt=(e,t={})=>Wt.get(e,()=>dt(Bt,{endpointParams:e,logger:t.logger}));ut.aws=De;class i extends Be{constructor(e){super(e);Object.setPrototypeOf(this,i.prototype)}}class A extends i{name="AccessDeniedException";$fault="client";error;reason;error_description;constructor(e){super({name:"AccessDeniedException",$fault:"client",...e});Object.setPrototypeOf(this,A.prototype),this.error=e.error,this.reason=e.reason,this.error_description=e.error_description}}class y extends i{name="AuthorizationPendingException";$fault="client";error;error_description;constructor(e){super({name:"AuthorizationPendingException",$fault:"client",...e});Object.setPrototypeOf(this,y.prototype),this.error=e.error,this.error_description=e.error_description}}class T extends i{name="ExpiredTokenException";$fault="client";error;error_description;constructor(e){super({name:"ExpiredTokenException",$fault:"client",...e});Object.setPrototypeOf(this,T.prototype),this.error=e.error,this.error_description=e.error_description}}class O extends i{name="InternalServerException";$fault="server";error;error_description;constructor(e){super({name:"InternalServerException",$fault:"server",...e});Object.setPrototypeOf(this,O.prototype),this.error=e.error,this.error_description=e.error_description}}class R extends i{name="InvalidClientException";$fault="client";error;error_description;constructor(e){super({name:"InvalidClientException",$fault:"client",...e});Object.setPrototypeOf(this,R.prototype),this.error=e.error,this.error_description=e.error_description}}class D extends i{name="InvalidGrantException";$fault="client";error;error_description;constructor(e){super({name:"InvalidGrantException",$fault:"client",...e});Object.setPrototypeOf(this,D.prototype),this.error=e.error,this.error_description=e.error_description}}class k extends i{name="InvalidRequestException";$fault="client";error;reason;error_description;constructor(e){super({name:"InvalidRequestException",$fault:"client",...e});Object.setPrototypeOf(this,k.prototype),this.error=e.error,this.reason=e.reason,this.error_description=e.error_description}}class w extends i{name="InvalidScopeException";$fault="client";error;error_description;constructor(e){super({name:"InvalidScopeException",$fault:"client",...e});Object.setPrototypeOf(this,w.prototype),this.error=e.error,this.error_description=e.error_description}}class b extends i{name="SlowDownException";$fault="client";error;error_description;constructor(e){super({name:"SlowDownException",$fault:"client",...e});Object.setPrototypeOf(this,b.prototype),this.error=e.error,this.error_description=e.error_description}}class U extends i{name="UnauthorizedClientException";$fault="client";error;error_description;constructor(e){super({name:"UnauthorizedClientException",$fault:"client",...e});Object.setPrototypeOf(this,U.prototype),this.error=e.error,this.error_description=e.error_description}}class F extends i{name="UnsupportedGrantTypeException";$fault="client";error;error_description;constructor(e){super({name:"UnsupportedGrantTypeException",$fault:"client",...e});Object.setPrototypeOf(this,F.prototype),this.error=e.error,this.error_description=e.error_description}}var Jt="AccessDeniedException",Xt="AuthorizationPendingException",Qt="AccessToken",Zt="ClientSecret",er="CreateToken",tr="CreateTokenRequest",rr="CreateTokenResponse",or="CodeVerifier",nr="ExpiredTokenException",sr="InvalidClientException",ir="InvalidGrantException",cr="InvalidRequestException",ar="InternalServerException",pr="InvalidScopeException",dr="IdToken",ur="RefreshToken",lr="SlowDownException",hr="UnauthorizedClientException",_r="UnsupportedGrantTypeException",gr="accessToken",l="client",Er="clientId",mr="clientSecret",xr="codeVerifier",fr="code",Sr="deviceCode",r="error",vr="expiresIn",d="error_description",Pr="grantType",Ir="http",u="httpError",Cr="idToken",ne="reason",se="refreshToken",Ar="redirectUri",ie="smithy.ts.sdk.synthetic.com.amazonaws.ssooidc",yr="scope",Tr="server",Or="tokenType",o="com.amazonaws.ssooidc",ce=re.for(ie),ae=[-3,ie,"SSOOIDCServiceException",0,[],[]];ce.registerError(ae,i);var a=re.for(o),de=[-3,o,Jt,{[r]:l,[u]:400},[r,ne,d],[0,0,0]];a.registerError(de,A);var ue=[-3,o,Xt,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(ue,y);var le=[-3,o,nr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(le,T);var he=[-3,o,ar,{[r]:Tr,[u]:500},[r,d],[0,0]];a.registerError(he,O);var _e=[-3,o,sr,{[r]:l,[u]:401},[r,d],[0,0]];a.registerError(_e,R);var ge=[-3,o,ir,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(ge,D);var Ee=[-3,o,cr,{[r]:l,[u]:400},[r,ne,d],[0,0,0]];a.registerError(Ee,k);var me=[-3,o,pr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(me,w);var xe=[-3,o,lr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(xe,b);var fe=[-3,o,hr,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(fe,U);var Se=[-3,o,_r,{[r]:l,[u]:400},[r,d],[0,0]];a.registerError(Se,F);var ve=[ce,a],Rr=[0,o,Qt,8,0],Dr=[0,o,Zt,8,0],kr=[0,o,or,8,0],$r=[0,o,dr,8,0],Pe=[0,o,ur,8,0],Ie=[3,o,tr,0,[Er,mr,Pr,Sr,fr,se,yr,Ar,xr],[0,[()=>Dr,0],0,0,0,[()=>Pe,0],64,0,[()=>kr,0]],3],Ce=[3,o,rr,0,[gr,Or,vr,se,Cr],[[()=>Rr,0],0,1,[()=>Pe,0],[()=>$r,0]]],Ae=[9,o,er,{[Ir]:["POST","/token",200]},()=>Ie,()=>Ce],wr=(e)=>({apiVersion:"2019-06-10",base64Decoder:e?.base64Decoder??Dt,base64Encoder:e?.base64Encoder??Rt,disableHostPrefix:e?.disableHostPrefix??!1,endpointProvider:e?.endpointProvider??Yt,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??Ht,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(t)=>t.getIdentityProvider("aws.auth#sigv4"),signer:new At},{schemeId:"smithy.api#noAuth",identityProvider:(t)=>t.getIdentityProvider("smithy.api#noAuth")||(async()=>({})),signer:new je}],logger:e?.logger??new We,protocol:e?.protocol??Nt,protocolSettings:e?.protocolSettings??{defaultNamespace:"com.amazonaws.ssooidc",errorTypeRegistries:ve,version:"2019-06-10",serviceTarget:"AWSSSOOIDCService"},serviceId:e?.serviceId??"SSO OIDC",sha256:e?.sha256??bt,urlParser:e?.urlParser??_t,utf8Decoder:e?.utf8Decoder??Ot,utf8Encoder:e?.utf8Encoder??Tt}),Nr=(e)=>{Ye(process.version);let t=rt(e),n=()=>t().then(Je),p=wr(e);ke(process.version);let s={profile:e?.profile,logger:p.logger};return{...p,...e,runtime:"node",defaultsMode:t,authSchemePreference:e?.authSchemePreference??_(yt,s),bodyLengthChecker:e?.bodyLengthChecker??kt,defaultUserAgentProvider:e?.defaultUserAgentProvider??$e({serviceId:p.serviceId,clientVersion:Vt.version}),maxAttempts:e?.maxAttempts??_(St,e),region:e?.region??_(st,{...it,...s}),requestHandler:wt.create(e?.requestHandler??n),retryMode:e?.retryMode??_({...ft,default:async()=>(await n()).retryMode||xt},e),streamCollector:e?.streamCollector??$t,useDualstackEndpoint:e?.useDualstackEndpoint??_(nt,s),useFipsEndpoint:e?.useFipsEndpoint??_(ot,s),userAgentAppId:e?.userAgentAppId??_(we,s)}},br=(e)=>{let{httpAuthSchemes:t,httpAuthSchemeProvider:n,credentials:p}=e;return{setHttpAuthScheme(s){let v=t.findIndex((q)=>q.schemeId===s.schemeId);if(v===-1)t.push(s);else t.splice(v,1,s)},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(s){n=s},httpAuthSchemeProvider(){return n},setCredentials(s){p=s},credentials(){return p}}},Ur=(e)=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()}),Fr=(e,t)=>{let n=Object.assign(Ne(e),Xe(e),gt(e),br(e));return t.forEach((p)=>p.configure(n)),Object.assign(e,be(n),Qe(n),Et(n),Ur(n))};class j extends Q{config;constructor(...[e]){let t=Nr(e||{});super(t);this.initConfig=t;let n=Gt(t),p=Ue(n),s=vt(p),v=ct(s),q=Fe(v),ye=lt(q),Te=Mt(ye),Oe=Fr(Te,e?.extensions||[]);this.config=Oe,this.middlewareStack.use(It(this.config)),this.middlewareStack.use(qe(this.config)),this.middlewareStack.use(Pt(this.config)),this.middlewareStack.use(mt(this.config)),this.middlewareStack.use(He(this.config)),this.middlewareStack.use(Me(this.config)),this.middlewareStack.use(Ge(this.config)),this.middlewareStack.use(Ke(this.config,{httpAuthSchemeParametersProvider:Ut,identityProviderConfigProvider:async(Re)=>new Ve({"aws.auth#sigv4":Re.credentials})})),this.middlewareStack.use(ze(this.config))}destroy(){super.destroy()}}var qr=Ze(jt,"AWSSSOOIDCService","SSOOIDCClient",ht),Hr={},Mr=(e,t,n,p)=>[];class z extends qr(Hr,Mr,"CreateToken",Ae){}var Gr={CreateTokenCommand:z};class L extends j{}et(Gr,L);var jr={KMS_ACCESS_DENIED:"KMS_AccessDeniedException"},Kr={KMS_DISABLED_KEY:"KMS_DisabledException",KMS_INVALID_KEY_USAGE:"KMS_InvalidKeyUsageException",KMS_INVALID_STATE:"KMS_InvalidStateException",KMS_KEY_NOT_FOUND:"KMS_NotFoundException"};var Lr=A,Br=de,Wr=jr,Yr=y,Jr=ue,Xr=Ae,Qr=z,Zr=Ie,eo=Ce,to=T,ro=le,oo=O,no=he,so=R,io=_e,co=D,ao=ge,po=k,uo=Ee,lo=Kr,ho=w,_o=me,go=L,Eo=j,mo=i,xo=ae,fo=b,So=xe,vo=U,Po=fe,Io=F,Co=Se,Ao=ve;export{Vr as $Command,zr as __Client,Lr as AccessDeniedException,Br as AccessDeniedException$,Wr as AccessDeniedExceptionReason,Yr as AuthorizationPendingException,Jr as AuthorizationPendingException$,Xr as CreateToken$,Qr as CreateTokenCommand,Zr as CreateTokenRequest$,eo as CreateTokenResponse$,to as ExpiredTokenException,ro as ExpiredTokenException$,oo as InternalServerException,no as InternalServerException$,so as InvalidClientException,io as InvalidClientException$,co as InvalidGrantException,ao as InvalidGrantException$,po as InvalidRequestException,uo as InvalidRequestException$,lo as InvalidRequestExceptionReason,ho as InvalidScopeException,_o as InvalidScopeException$,go as SSOOIDC,Eo as SSOOIDCClient,mo as SSOOIDCServiceException,xo as SSOOIDCServiceException$,fo as SlowDownException,So as SlowDownException$,vo as UnauthorizedClientException,Po as UnauthorizedClientException$,Io as UnsupportedGrantTypeException,Co as UnsupportedGrantTypeException$,Ao as errorTypeRegistries};
@@ -1,8 +1,8 @@
1
1
  // @bun
2
- import{y}from"./chunk-y7mfmet4.js";import"./chunk-nz714xvr.js";import{Ie}from"./chunk-4q9h14c1.js";import{ce,ue,de}from"./chunk-pgxfj5eb.js";import{Y}from"./chunk-nwjh8gnr.js";import{F,Q}from"./chunk-33n9p9q4.js";import{L,B}from"./chunk-xp2anj2s.js";import{U}from"./chunk-2vqhhfx4.js";import{xe,ze,ve,I,S,Je}from"./shumai-agent-app.js";var re=new Set;function ne(e){return re.add(e),()=>{re.delete(e)}}function oe(e){let t=e.filter((o)=>o!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let r=new AbortController,n=[],s=(o)=>{if(!r.signal.aborted)r.abort(o.reason)};for(let o of t){if(o.aborted){s(o);break}let i=()=>s(o);o.addEventListener("abort",i,{once:!0}),n.push({signal:o,listener:i})}return{signal:r.signal,cleanup:()=>{for(let{signal:o,listener:i}of n)o.removeEventListener("abort",i)}}}var Ce={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function j(e,t){let r=e.toLowerCase(),n=e.toUpperCase();return t?.[r]||t?.[n]||y(r)||y(n)||""}function Oe(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function Ae(e,t,r){let n=j("no_proxy",r).toLowerCase();if(!n)return!0;if(n==="*")return!1;return n.split(/[,\s]/).every((s)=>{if(!s)return!0;let o=s.match(/^(.+):(\d+)$/),i=o?o[1]:s,l=o?Number.parseInt(o[2],10):0;if(l&&l!==t)return!0;if(!/^[.*]/.test(i))return e!==i;if(i.startsWith("*"))i=i.slice(1);return!e.endsWith(i)})}function Le(e,t){let r=Oe(e);if(!r?.protocol||!r.host)return"";let n=r.protocol.split(":",1)[0],s=r.host.replace(/:\d*$/,""),o=Number.parseInt(r.port,10)||Ce[n]||0;if(!Ae(s,o,t))return"";let i=j(`${n}_proxy`,t)||j("all_proxy",t);if(i&&!i.includes("://"))i=`${n}://${i}`;return i}var We="Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.";function se(e,t){let r=Le(e,t);if(!r)return;let n;try{n=new URL(r)}catch(s){throw Error(`Invalid proxy URL ${JSON.stringify(r)}: ${s instanceof Error?s.message:String(s)}`)}if(n.protocol!=="http:"&&n.protocol!=="https:")throw Error(`${We} Got ${n.protocol}`);return n}function Ne(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:os")??null}var H=Ne(),Pe="https://chatgpt.com/backend-api",Me="https://api.openai.com/auth",De=0,ie=1000,qe=60000,Be=15000,Ue=3,ye=new Set(["openai","openai-codex","opencode"]),$e=1009,Fe="websocket_connection_limit_reached",He="previous_response_not_found",Ke=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function Ge(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function Xe(e,t){if(e===429&&Ge(t))return!1;if(e===429||e===500||e===502||e===503||e===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function je(e){let t=e.get("retry-after-ms");if(t!==null){let o=Number(t);if(Number.isFinite(o))return Math.max(0,o)}let r=e.get("retry-after");if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,n*1000);let s=Date.parse(r);if(!Number.isNaN(s))return Math.max(0,s-Date.now());return}class ee extends Error{}function Ve(e,t){let r=t?.maxRetryDelayMs??qe;if(r>0&&e>r)throw new ee(`Server requested ${Math.ceil(e/1000)}s retry delay (max: ${Math.ceil(r/1000)}s)`);return e}function ae(e,t){return new Promise((r,n)=>{if(t?.aborted){n(Error("Request was aborted"));return}let s=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(s),n(Error("Request was aborted"))})})}function le(e){if(e===void 0)return;if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}function Ye(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function Ze(e){let t=Ye();if(!t||typeof t.zstdCompressSync!=="function")return null;try{let r=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:Ue}});return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch{return null}}var Qe=(e,t,r)=>{let n=new I;return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let o=r?.apiKey;if(!o)throw Error(`No API key for provider: ${e.provider}`);let i=Ct(o),l=L(t.tools,e.compat?.supportsOpenAIGrammarTools??!1),a=r?.cacheRetention==="none"?void 0:r?.sessionId,c=Y(a),d=et(e,t,r,c,l),u=await r?.onPayload?.(d,e);if(u!==void 0)d=u;let E=c||Je(),f=Ot(e.headers,r?.headers,i,o,c),_=At(e.headers,r?.headers,i,o,E),m=JSON.stringify(d),p=le(r?.timeoutMs),C=le(r?.websocketConnectTimeoutMs),b=r?.transport||"auto",w=!1,h=b!=="sse"&&Se(a);if(h)fe(a);if(b!=="sse"&&!h){let g=!1,T=!1,A=!1;while(!0){g=!1;try{if(await xt(rt(e.baseUrl),d,_,s,n,e,()=>{if(g=!0,!w)w=!0,n.push({type:"start",partial:s})},p,C,a,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(x){let D=r?.signal?.aborted,q=!g&&st(x),N=it(x);if(!D&&N&&!A){A=!0;continue}if(!D&&q&&!T){T=!0;continue}if(D||ot(x)&&!q)throw x;if(ve(s,ze("provider_transport_failure",x,{configuredTransport:b,fallbackTransport:g?void 0:"sse",eventsEmitted:g,phase:g?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(m).byteLength})),mt(a,x),g)throw x;fe(a);break}}}let O=Ze(m);if(O)f.set("content-encoding","zstd");let W=O??m,k,M,X=r?.maxRetries??De;for(let g=0;g<=X;g++){if(r?.signal?.aborted)throw Error("Request was aborted");try{let T=p!==void 0&&p>0?AbortSignal.timeout(p):void 0,A=oe([r?.signal,T]);try{k=await fetch(we(e.baseUrl),{method:"POST",headers:f,body:W,signal:A.signal})}catch(N){if(T?.aborted&&!r?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${p}ms`);throw N}finally{A.cleanup()}if(await r?.onResponse?.({status:k.status,headers:U(k.headers)},e),k.ok)break;let x=await k.text();if(g<X&&Xe(k.status,x)){let N=je(k.headers),Re=N===void 0?ie*2**g:Ve(N,r);await ae(Re,r?.signal);continue}let D=new Response(x,{status:k.status,statusText:k.statusText}),q=await vt(D);throw Error(q.friendlyMessage||q.message)}catch(T){if(T instanceof Error){if(T.name==="AbortError"||T.message==="Request was aborted")throw Error("Request was aborted")}if(M=T instanceof Error?T:Error(String(T)),g<X&&!(M instanceof ee)&&!M.message.includes("usage limit")){let A=ie*2**g;await ae(A,r?.signal);continue}throw M}}if(!k?.ok)throw M??Error("Failed after retries");if(!k.body)throw Error("No response body");if(!w)w=!0,n.push({type:"start",partial:s});if(await nt(k,s,n,e,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(o){for(let i of s.content)delete i.partialJson,delete i.customInput;s.stopReason=r?.signal?.aborted?"aborted":"error",s.errorMessage=Q(F(o)),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},jt=(e,t,r)=>{let n=r?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let s=B(e,t,r,n),o=r?.reasoning?S(e,r.reasoning):void 0;return Qe(e,t,{...s,reasoningEffort:o==="off"?void 0:o})};function et(e,t,r,n,s=L(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let o=e.compat?.supportsStrictMode??!0,i=e.compat?.supportsOpenAIGrammarTools??!1,l=Ie(t,e.compat?.supportsToolSearch??!1),a=ce(e,t,ye,{includeSystemPrompt:!1,grammarToolInputProperties:s,deferredTools:l.deferred,toolOptions:{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i}}),c={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||"You are a helpful assistant.",input:a,text:{verbosity:r?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:n,tool_choice:r?.toolChoice??"auto",parallel_tool_calls:!0};if(r?.temperature!==void 0)c.temperature=r.temperature;if(r?.serviceTier!==void 0)c.service_tier=r.serviceTier;if(l.immediate.length>0)c.tools=ue(l.immediate,{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i});if(r?.reasoningEffort!==void 0){let d=r.reasoningEffort==="none"?e.thinkingLevelMap?.off??"none":e.thinkingLevelMap?.[r.reasoningEffort]??r.reasoningEffort;if(d!==null)c.reasoning={effort:d,summary:r.reasoningSummary??"auto"}}return c}function tt(e,t){switch(t){case"flex":return 0.5;case"priority":return e.id==="gpt-5.5"?2.5:2;default:return 1}}function be(e,t,r){let n=tt(r,t);if(n===1)return;e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite}function he(e,t){if(e==="default"&&(t==="flex"||t==="priority"))return t;return e??t}function we(e){let r=(e&&e.trim().length>0?e:Pe).replace(/\/+$/,"");if(r.endsWith("/codex/responses"))return r;if(r.endsWith("/codex"))return`${r}/responses`;return`${r}/codex/responses`}function rt(e){let t=new URL(we(e));if(t.protocol==="https:")t.protocol="wss:";if(t.protocol==="http:")t.protocol="ws:";return t.toString()}async function nt(e,t,r,n,s,o){await de(ge(ut(e,o?.signal)),t,r,n,{serviceTier:o?.serviceTier,grammarToolInputProperties:s,resolveServiceTier:he,applyServiceTierPricing:(i,l)=>be(i,l,n)})}class P extends Error{code;payload;constructor(e,t){super(e);this.name="CodexApiError",this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}}class z extends Error{payload;constructor(e,t){super(e);this.name="CodexProtocolError",this.payload=t?.payload,this.cause=t?.cause}}function ot(e){return e instanceof P||e instanceof z}function st(e){return e instanceof P&&e.code===Fe}function it(e){return e instanceof P&&e.code===He}function at(e){let t=e.error&&typeof e.error==="object"?e.error:void 0;return{code:typeof e.code==="string"?e.code:typeof t?.code==="string"?t.code:void 0,message:typeof e.message==="string"?e.message:typeof t?.message==="string"?t.message:void 0}}async function*ge(e){for await(let t of e){let r=typeof t.type==="string"?t.type:void 0;if(!r)continue;if(r==="error"){let{code:n,message:s}=at(t);throw new P(`Codex error: ${s||n||JSON.stringify(t)}`,{code:n,payload:t})}if(r==="response.failed"){let n=t.response,s=n?.error?.code,o=n?.error?.message;throw new P(o||"Codex response failed",{code:s,payload:t})}if(r==="response.done"||r==="response.completed"||r==="response.incomplete"){let n=t.response,s=n?{...n,status:ct(n.status)}:n;yield{...t,type:"response.completed",response:s};return}yield t}}function ct(e){if(typeof e!=="string")return;return Ke.has(e)?e:void 0}async function*ut(e,t){if(!e.body)return;let r=e.body.getReader(),n=new TextDecoder,s="",o=()=>{r.cancel().catch(()=>{})};t?.addEventListener("abort",o,{once:!0});try{while(!0){if(t?.aborted)throw Error("Request was aborted");let{done:i,value:l}=await r.read();if(t?.aborted)throw Error("Request was aborted");if(i)break;s+=n.decode(l,{stream:!0});let a=s.indexOf(`
2
+ import{y}from"./chunk-f913x9vp.js";import"./chunk-xpg34mme.js";import{Ie}from"./chunk-4q9h14c1.js";import{ce,ue,de}from"./chunk-zhcdj6mj.js";import{j}from"./chunk-pwagrnm6.js";import{F,Q}from"./chunk-33n9p9q4.js";import{L,B}from"./chunk-xp2anj2s.js";import{U}from"./chunk-2vqhhfx4.js";import{Se,ze,we,I,x,Je}from"./shumai-agent-app.js";var re=new Set;function ne(e){return re.add(e),()=>{re.delete(e)}}function oe(e){let t=e.filter((o)=>o!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let r=new AbortController,n=[],s=(o)=>{if(!r.signal.aborted)r.abort(o.reason)};for(let o of t){if(o.aborted){s(o);break}let i=()=>s(o);o.addEventListener("abort",i,{once:!0}),n.push({signal:o,listener:i})}return{signal:r.signal,cleanup:()=>{for(let{signal:o,listener:i}of n)o.removeEventListener("abort",i)}}}var Ce={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function V(e,t){let r=e.toLowerCase(),n=e.toUpperCase();return t?.[r]||t?.[n]||y(r)||y(n)||""}function Oe(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function Ae(e,t,r){let n=V("no_proxy",r).toLowerCase();if(!n)return!0;if(n==="*")return!1;return n.split(/[,\s]/).every((s)=>{if(!s)return!0;let o=s.match(/^(.+):(\d+)$/),i=o?o[1]:s,l=o?Number.parseInt(o[2],10):0;if(l&&l!==t)return!0;if(!/^[.*]/.test(i))return e!==i;if(i.startsWith("*"))i=i.slice(1);return!e.endsWith(i)})}function Le(e,t){let r=Oe(e);if(!r?.protocol||!r.host)return"";let n=r.protocol.split(":",1)[0],s=r.host.replace(/:\d*$/,""),o=Number.parseInt(r.port,10)||Ce[n]||0;if(!Ae(s,o,t))return"";let i=V(`${n}_proxy`,t)||V("all_proxy",t);if(i&&!i.includes("://"))i=`${n}://${i}`;return i}var We="Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.";function se(e,t){let r=Le(e,t);if(!r)return;let n;try{n=new URL(r)}catch(s){throw Error(`Invalid proxy URL ${JSON.stringify(r)}: ${s instanceof Error?s.message:String(s)}`)}if(n.protocol!=="http:"&&n.protocol!=="https:")throw Error(`${We} Got ${n.protocol}`);return n}function Ne(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:os")??null}var H=Ne(),Pe="https://chatgpt.com/backend-api",Me="https://api.openai.com/auth",De=0,ie=1000,qe=60000,Be=15000,Ue=3,ye=new Set(["openai","openai-codex","opencode"]),$e=1009,Fe="websocket_connection_limit_reached",He="previous_response_not_found",Ke=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function Ge(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function Xe(e,t){if(e===429&&Ge(t))return!1;if(e===429||e===500||e===502||e===503||e===504)return!0;return/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function je(e){let t=e.get("retry-after-ms");if(t!==null){let o=Number(t);if(Number.isFinite(o))return Math.max(0,o)}let r=e.get("retry-after");if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,n*1000);let s=Date.parse(r);if(!Number.isNaN(s))return Math.max(0,s-Date.now());return}class ee extends Error{}function Ve(e,t){let r=t?.maxRetryDelayMs??qe;if(r>0&&e>r)throw new ee(`Server requested ${Math.ceil(e/1000)}s retry delay (max: ${Math.ceil(r/1000)}s)`);return e}function ae(e,t){return new Promise((r,n)=>{if(t?.aborted){n(Error("Request was aborted"));return}let s=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(s),n(Error("Request was aborted"))})})}function le(e){if(e===void 0)return;if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}function Ye(){if(typeof process>"u"||!(process.versions?.node||process.versions?.bun))return null;return process.getBuiltinModule?.("node:zlib")??null}function Ze(e){let t=Ye();if(!t||typeof t.zstdCompressSync!=="function")return null;try{let r=t.zstdCompressSync(e,{params:{[t.constants.ZSTD_c_compressionLevel]:Ue}});return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch{return null}}var Qe=(e,t,r)=>{let n=new I;return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let o=r?.apiKey;if(!o)throw Error(`No API key for provider: ${e.provider}`);let i=Ct(o),l=L(t.tools,e.compat?.supportsOpenAIGrammarTools??!1),a=r?.cacheRetention==="none"?void 0:r?.sessionId,c=j(a),d=et(e,t,r,c,l),u=await r?.onPayload?.(d,e);if(u!==void 0)d=u;let S=c||Je(),f=Ot(e.headers,r?.headers,i,o,c),E=At(e.headers,r?.headers,i,o,S),m=JSON.stringify(d),p=le(r?.timeoutMs),C=le(r?.websocketConnectTimeoutMs),b=r?.transport||"auto",w=!1,h=b!=="sse"&&_e(a);if(h)fe(a);if(b!=="sse"&&!h){let g=!1,k=!1,A=!1;while(!0){g=!1;try{if(await xt(rt(e.baseUrl),d,E,s,n,e,()=>{if(g=!0,!w)w=!0,n.push({type:"start",partial:s})},p,C,a,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(R){let D=r?.signal?.aborted,q=!g&&st(R),N=it(R);if(!D&&N&&!A){A=!0;continue}if(!D&&q&&!k){k=!0;continue}if(D||ot(R)&&!q)throw R;if(we(s,ze("provider_transport_failure",R,{configuredTransport:b,fallbackTransport:g?void 0:"sse",eventsEmitted:g,phase:g?"after_message_stream_start":"before_message_stream_start",requestBytes:new TextEncoder().encode(m).byteLength})),mt(a,R),g)throw R;fe(a);break}}}let O=Ze(m);if(O)f.set("content-encoding","zstd");let W=O??m,_,M,X=r?.maxRetries??De;for(let g=0;g<=X;g++){if(r?.signal?.aborted)throw Error("Request was aborted");try{let k=p!==void 0&&p>0?AbortSignal.timeout(p):void 0,A=oe([r?.signal,k]);try{_=await fetch(ge(e.baseUrl),{method:"POST",headers:f,body:W,signal:A.signal})}catch(N){if(k?.aborted&&!r?.signal?.aborted)throw Error(`Codex SSE response headers timed out after ${p}ms`);throw N}finally{A.cleanup()}if(await r?.onResponse?.({status:_.status,headers:U(_.headers)},e),_.ok)break;let R=await _.text();if(g<X&&Xe(_.status,R)){let N=je(_.headers),ve=N===void 0?ie*2**g:Ve(N,r);await ae(ve,r?.signal);continue}let D=new Response(R,{status:_.status,statusText:_.statusText}),q=await vt(D);throw Error(q.friendlyMessage||q.message)}catch(k){if(k instanceof Error){if(k.name==="AbortError"||k.message==="Request was aborted")throw Error("Request was aborted")}if(M=k instanceof Error?k:Error(String(k)),g<X&&!(M instanceof ee)&&!M.message.includes("usage limit")){let A=ie*2**g;await ae(A,r?.signal);continue}throw M}}if(!_?.ok)throw M??Error("Failed after retries");if(!_.body)throw Error("No response body");if(!w)w=!0,n.push({type:"start",partial:s});if(await nt(_,s,n,e,l,r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(o){for(let i of s.content)delete i.partialJson,delete i.customInput;s.stopReason=r?.signal?.aborted?"aborted":"error",s.errorMessage=Q(F(o)),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},jt=(e,t,r)=>{let n=r?.apiKey;if(!n)throw Error(`No API key for provider: ${e.provider}`);let s=B(e,t,r,n),o=r?.reasoning?x(e,r.reasoning):void 0;return Qe(e,t,{...s,reasoningEffort:o==="off"?void 0:o})};function et(e,t,r,n,s=L(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let o=e.compat?.supportsStrictMode??!0,i=e.compat?.supportsOpenAIGrammarTools??!1,l=Ie(t,e.compat?.supportsToolSearch??!1),a=ce(e,t,ye,{includeSystemPrompt:!1,grammarToolInputProperties:s,deferredTools:l.deferred,toolOptions:{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i}}),c={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||"You are a helpful assistant.",input:a,text:{verbosity:r?.textVerbosity||"low"},include:["reasoning.encrypted_content"],prompt_cache_key:n,tool_choice:r?.toolChoice??"auto",parallel_tool_calls:!0};if(r?.temperature!==void 0)c.temperature=r.temperature;if(r?.serviceTier!==void 0)c.service_tier=r.serviceTier;if(l.immediate.length>0)c.tools=ue(l.immediate,{strict:null,supportsStrictMode:o,supportsOpenAIGrammarTools:i});if(r?.reasoningEffort!==void 0){let d=r.reasoningEffort==="none"?e.thinkingLevelMap?.off??"none":e.thinkingLevelMap?.[r.reasoningEffort]??r.reasoningEffort;if(d!==null)c.reasoning={effort:d,summary:r.reasoningSummary??"auto"}}return c}function tt(e,t){switch(t){case"flex":return 0.5;case"priority":return e.id==="gpt-5.5"?2.5:2;default:return 1}}function be(e,t,r){let n=tt(r,t);if(n===1)return;e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite}function he(e,t){if(e==="default"&&(t==="flex"||t==="priority"))return t;return e??t}function ge(e){let r=(e&&e.trim().length>0?e:Pe).replace(/\/+$/,"");if(r.endsWith("/codex/responses"))return r;if(r.endsWith("/codex"))return`${r}/responses`;return`${r}/codex/responses`}function rt(e){let t=new URL(ge(e));if(t.protocol==="https:")t.protocol="wss:";if(t.protocol==="http:")t.protocol="ws:";return t.toString()}async function nt(e,t,r,n,s,o){await de(Ee(ut(e,o?.signal)),t,r,n,{serviceTier:o?.serviceTier,grammarToolInputProperties:s,resolveServiceTier:he,applyServiceTierPricing:(i,l)=>be(i,l,n)})}class P extends Error{code;payload;constructor(e,t){super(e);this.name="CodexApiError",this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}}class z extends Error{payload;constructor(e,t){super(e);this.name="CodexProtocolError",this.payload=t?.payload,this.cause=t?.cause}}function ot(e){return e instanceof P||e instanceof z}function st(e){return e instanceof P&&e.code===Fe}function it(e){return e instanceof P&&e.code===He}function at(e){let t=e.error&&typeof e.error==="object"?e.error:void 0;return{code:typeof e.code==="string"?e.code:typeof t?.code==="string"?t.code:void 0,message:typeof e.message==="string"?e.message:typeof t?.message==="string"?t.message:void 0}}async function*Ee(e){for await(let t of e){let r=typeof t.type==="string"?t.type:void 0;if(!r)continue;if(r==="error"){let{code:n,message:s}=at(t);throw new P(`Codex error: ${s||n||JSON.stringify(t)}`,{code:n,payload:t})}if(r==="response.failed"){let n=t.response,s=n?.error?.code,o=n?.error?.message;throw new P(o||"Codex response failed",{code:s,payload:t})}if(r==="response.done"||r==="response.completed"||r==="response.incomplete"){let n=t.response,s=n?{...n,status:ct(n.status)}:n;yield{...t,type:"response.completed",response:s};return}yield t}}function ct(e){if(typeof e!=="string")return;return Ke.has(e)?e:void 0}async function*ut(e,t){if(!e.body)return;let r=e.body.getReader(),n=new TextDecoder,s="",o=()=>{r.cancel().catch(()=>{})};t?.addEventListener("abort",o,{once:!0});try{while(!0){if(t?.aborted)throw Error("Request was aborted");let{done:i,value:l}=await r.read();if(t?.aborted)throw Error("Request was aborted");if(i)break;s+=n.decode(l,{stream:!0});let a=s.indexOf(`
3
3
 
4
4
  `);while(a!==-1){let c=s.slice(0,a);s=s.slice(a+2);let d=c.split(`
5
5
  `).filter((u)=>u.startsWith("data:")).map((u)=>u.slice(5).trim());if(d.length>0){let u=d.join(`
6
- `).trim();if(u&&u!=="[DONE]")try{yield JSON.parse(u)}catch(E){throw new z(`Invalid Codex SSE JSON: ${xe(E)}`,{cause:E,payload:u})}}a=s.indexOf(`
6
+ `).trim();if(u&&u!=="[DONE]")try{yield JSON.parse(u)}catch(S){throw new z(`Invalid Codex SSE JSON: ${Se(S)}`,{cause:S,payload:u})}}a=s.indexOf(`
7
7
 
8
- `)}}}finally{t?.removeEventListener("abort",o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}var lt="responses_websockets=2026-02-06",ft=300000,dt=3300000,R=new Map,J=new Map,G=new Set;function te(e){let t=J.get(e);if(!t)t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},J.set(e,t);return t}function Vt(e){let t=J.get(e);return t?{...t}:void 0}function Yt(e){if(e){J.delete(e),G.delete(e);return}J.clear(),G.clear()}function pt(e){let t=(r)=>{if(r.idleTimer)clearTimeout(r.idleTimer);v(r.socket,1000,"debug_close")};if(e){let r=R.get(e);if(r)t(r);R.delete(e);return}for(let r of R.values())t(r);R.clear()}ne(pt);function Se(e){return e?G.has(e):!1}function fe(e){if(!e)return;let t=te(e);t.sseFallbacks++,t.websocketFallbackActive=Se(e)}function mt(e,t){if(!e)return;G.add(e);let r=te(e);r.websocketFailures++,r.lastWebSocketError=xe(t),r.websocketFallbackActive=!0}var V=null;async function yt(e){if(!e&&V)return V;if(typeof process<"u"&&process.versions?.bun){let r=class extends WebSocket{constructor(n,s){let o={};if(Array.isArray(s)||typeof s==="string")o={protocols:s};else o={...s};let i=se(n.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"),e);super(n,{...o,...i?{proxy:i.toString()}:{}})}};if(!e)V=r;return r}let t=globalThis.WebSocket;if(typeof t!=="function")return null;return t}class Ee extends Error{code;reason;wasClean;constructor(e,t){super(e);this.name="WebSocketCloseError",this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}}function bt(e){let t=e.readyState;return typeof t==="number"?t:void 0}function K(e){let t=bt(e);return t===void 0||t===1}function ht(e){return Date.now()-e.createdAt>=dt}function v(e,t=1000,r="done"){try{e.close(t,r)}catch{}}function pe(e,t){if(t.idleTimer)clearTimeout(t.idleTimer);t.idleTimer=setTimeout(()=>{if(t.busy)return;v(t.socket,1000,"idle_timeout"),R.delete(e)},ft)}async function Z(e,t,r,n=Be,s){let o=await yt(s);if(!o)throw Error("WebSocket transport is not available in this runtime");let i=U(t);return delete i["OpenAI-Beta"],new Promise((l,a)=>{let c=!1,d,u;try{u=new o(e,{headers:i})}catch(b){a(b instanceof Error?b:Error(String(b)));return}let E=()=>{if(d)clearTimeout(d),d=void 0;u.removeEventListener("open",_),u.removeEventListener("error",m),u.removeEventListener("close",p),r?.removeEventListener("abort",C)},f=(b,w)=>{if(c)return;if(c=!0,E(),w)v(u,1000,w);a(b)},_=()=>{if(c)return;c=!0,E(),l(u)},m=(b)=>{f(_e(b))},p=(b)=>{f(ke(b))},C=()=>{f(Error("Request was aborted"),"aborted")};if(u.addEventListener("open",_),u.addEventListener("error",m),u.addEventListener("close",p),r?.addEventListener("abort",C),n>0)d=setTimeout(()=>{f(Error(`WebSocket connect timeout after ${n}ms`),"connect_timeout")},n);if(r?.aborted)C()})}async function wt(e,t,r,n,s,o){if(!r){let c=await Z(e,t,n,s,o);return{socket:c,reused:!1,release:()=>v(c)}}let i=R.get(r);if(i){if(i.idleTimer)clearTimeout(i.idleTimer),i.idleTimer=void 0;if(!i.busy&&ht(i))v(i.socket,1000,"connection_age_limit"),R.delete(r);else if(!i.busy&&K(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:c}={})=>{if(!c||!K(i.socket)){v(i.socket),R.delete(r);return}i.busy=!1,pe(r,i)}};if(i.busy){let c=await Z(e,t,n,s,o);return{socket:c,reused:!1,release:()=>{v(c)}}}if(!K(i.socket))v(i.socket),R.delete(r)}let l=await Z(e,t,n,s,o),a={socket:l,busy:!0,createdAt:Date.now()};return R.set(r,a),{socket:l,entry:a,reused:!1,release:({keep:c}={})=>{if(!c||!K(a.socket)){if(v(a.socket),a.idleTimer)clearTimeout(a.idleTimer);if(R.get(r)===a)R.delete(r);return}a.busy=!1,pe(r,a)}}}function _e(e){if(e&&typeof e==="object"){let t="message"in e?e.message:void 0;if(typeof t==="string"&&t.length>0)return Error(t);let r="error"in e?e.error:void 0;if(r instanceof Error&&r.message.length>0)return r;if(r&&typeof r==="object"&&"message"in r){let n=r.message;if(typeof n==="string"&&n.length>0)return Error(n)}}return Error("WebSocket error")}function ke(e){if(e&&typeof e==="object"){let t="code"in e?e.code:void 0,r="reason"in e?e.reason:void 0,n="wasClean"in e?e.wasClean:void 0,s=typeof t==="number"?` ${t}`:"",o=typeof r==="string"&&r.length>0?` ${r}`:"";if(!o&&t===$e)o=" message too big";return new Ee(`WebSocket closed${s}${o}`.trim(),{code:typeof t==="number"?t:void 0,reason:typeof r==="string"&&r.length>0?r:void 0,wasClean:typeof n==="boolean"?n:void 0})}return Error("WebSocket closed")}async function gt(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==="object"&&"arrayBuffer"in e){let r=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(r))}return null}async function*St(e,t,r){let n=[],s=null,o=!1,i=null,l=!1,a=()=>{if(!s)return;let f=s;s=null,f()},c=(f)=>{(async()=>{let _=null;try{if(!f||typeof f!=="object"||!("data"in f))return;if(_=await gt(f.data),!_)return;let m=JSON.parse(_),p=typeof m.type==="string"?m.type:"";if(p==="response.completed"||p==="response.done"||p==="response.incomplete")l=!0,o=!0;n.push(m),a()}catch(m){i=new z(`Invalid Codex WebSocket JSON: ${xe(m)}`,{cause:m,payload:_}),o=!0,a()}})()},d=(f)=>{i=_e(f),o=!0,a()},u=(f)=>{if(l){o=!0,a();return}if(!i)i=ke(f);o=!0,a()},E=()=>{i=Error("Request was aborted"),o=!0,a()};e.addEventListener("message",c),e.addEventListener("error",d),e.addEventListener("close",u),t?.addEventListener("abort",E);try{while(!0){if(t?.aborted)throw Error("Request was aborted");if(n.length>0){yield n.shift();continue}if(o)break;let f;await new Promise((_,m)=>{if(s=_,r!==void 0&&r>0)f=setTimeout(()=>{let p=Error(`WebSocket idle timeout after ${r}ms`);i=p,o=!0,s=null,v(e,1000,"idle_timeout"),m(p)},r)}).finally(()=>{if(f)clearTimeout(f)})}if(i)throw i;if(!l)throw Error("WebSocket stream closed before response.completed")}finally{e.removeEventListener("message",c),e.removeEventListener("error",d),e.removeEventListener("close",u),t?.removeEventListener("abort",E)}}function me(e){let{input:t,previous_response_id:r,...n}=e;return n}function Et(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function _t(e,t){return JSON.stringify(me(e))===JSON.stringify(me(t))}function kt(e,t){if(!_t(e,t.lastRequestBody))return;let r=e.input??[],n=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(r.length<n.length)return;let s=r.slice(0,n.length);if(!Et(s,n))return;return r.slice(n.length)}function Tt(e,t){let r=e.continuation;if(!r)return t;let n=kt(t,r);if(!n||!r.lastResponseId)return e.continuation=void 0,t;return{...t,previous_response_id:r.lastResponseId,input:n}}async function*Rt(e,t){let r=!1;for await(let n of e){if(!r)r=!0,t();yield n}}async function xt(e,t,r,n,s,o,i,l,a,c,d,u){let{socket:E,entry:f,reused:_,release:m}=await wt(e,r,c,u?.signal,a,u?.env),p=!0,C=u?.transport==="websocket-cached"||u?.transport==="auto",b=t,w=C&&f?Tt(f,b):b,h=c?te(c):void 0;if(h){if(h.requests++,_)h.connectionsReused++;else h.connectionsCreated++;if(C)h.cachedContextRequests++;if(w.store===!0)h.storeTrueRequests++;if(h.lastInputItems=w.input?.length??0,w.previous_response_id)h.deltaRequests++,h.lastDeltaInputItems=w.input?.length??0,h.lastPreviousResponseId=w.previous_response_id;else h.fullContextRequests++,h.lastDeltaInputItems=void 0,h.lastPreviousResponseId=void 0}try{if(E.send(JSON.stringify({type:"response.create",...w})),await de(Rt(ge(St(E,u?.signal,l)),i),n,s,o,{serviceTier:u?.serviceTier,grammarToolInputProperties:d,resolveServiceTier:he,applyServiceTierPricing:(O,W)=>be(O,W,o)}),u?.signal?.aborted)p=!1;else if(C&&f&&n.responseId){let O=ce(o,{messages:[n]},ye,{includeSystemPrompt:!1,grammarToolInputProperties:d}).filter((W)=>W.type!=="function_call_output"&&W.type!=="custom_tool_call_output");f.continuation={lastRequestBody:b,lastResponseId:n.responseId,lastResponseItems:O}}}catch(O){if(f)f.continuation=void 0;throw p=!1,O}finally{m({keep:p})}}async function vt(e){let t=await e.text(),r=t||e.statusText||"Request failed",n;try{let o=JSON.parse(t)?.error;if(o){let i=o.code||o.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(i)||e.status===429){let l=o.plan_type?` (${o.plan_type.toLowerCase()} plan)`:"",a=o.resets_at?Math.max(0,Math.round((o.resets_at*1000-Date.now())/60000)):void 0,c=a!==void 0?` Try again in ~${a} min.`:"";n=`You have hit your ChatGPT usage limit${l}.${c}`.trim()}r=o.message||n||r}}catch{}return{message:r,friendlyMessage:n}}function Ct(e){try{let t=e.split(".");if(t.length!==3)throw Error("Invalid token");let n=JSON.parse(atob(t[1]))?.[Me]?.chatgpt_account_id;if(!n)throw Error("No account ID in token");return n}catch{throw Error("Failed to extract accountId from token")}}function Te(e,t,r,n){let s=new Headers(e);for(let[i,l]of Object.entries(t||{}))if(l===null)s.delete(i);else s.set(i,l);s.set("Authorization",`Bearer ${n}`),s.set("chatgpt-account-id",r),s.set("originator","pi");let o=H?`pi (${H.platform()} ${H.release()}; ${H.arch()})`:"pi (browser)";return s.set("User-Agent",o),s}function Ot(e,t,r,n,s){let o=Te(e,t,r,n);if(o.set("OpenAI-Beta","responses=experimental"),o.set("accept","text/event-stream"),o.set("content-type","application/json"),s)o.set("session-id",s),o.set("x-client-request-id",s);return o}function At(e,t,r,n,s){let o=Te(e,t,r,n);return o.delete("accept"),o.delete("content-type"),o.delete("OpenAI-Beta"),o.delete("openai-beta"),o.set("OpenAI-Beta",lt),o.set("x-client-request-id",s),o.set("session-id",s),o}export{pt as closeOpenAICodexWebSocketSessions,Vt as getOpenAICodexWebSocketDebugStats,Yt as resetOpenAICodexWebSocketDebugStats,Qe as stream,jt as streamSimple};
8
+ `)}}}finally{t?.removeEventListener("abort",o);try{await r.cancel()}catch{}try{r.releaseLock()}catch{}}}var lt="responses_websockets=2026-02-06",ft=300000,dt=3300000,T=new Map,J=new Map,G=new Set;function te(e){let t=J.get(e);if(!t)t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},J.set(e,t);return t}function Vt(e){let t=J.get(e);return t?{...t}:void 0}function Yt(e){if(e){J.delete(e),G.delete(e);return}J.clear(),G.clear()}function pt(e){let t=(r)=>{if(r.idleTimer)clearTimeout(r.idleTimer);v(r.socket,1000,"debug_close")};if(e){let r=T.get(e);if(r)t(r);T.delete(e);return}for(let r of T.values())t(r);T.clear()}ne(pt);function _e(e){return e?G.has(e):!1}function fe(e){if(!e)return;let t=te(e);t.sseFallbacks++,t.websocketFallbackActive=_e(e)}function mt(e,t){if(!e)return;G.add(e);let r=te(e);r.websocketFailures++,r.lastWebSocketError=Se(t),r.websocketFallbackActive=!0}var Y=null;async function yt(e){if(!e&&Y)return Y;if(typeof process<"u"&&process.versions?.bun){let r=class extends WebSocket{constructor(n,s){let o={};if(Array.isArray(s)||typeof s==="string")o={protocols:s};else o={...s};let i=se(n.toString().replace(/^wss:/,"https:").replace(/^ws:/,"http:"),e);super(n,{...o,...i?{proxy:i.toString()}:{}})}};if(!e)Y=r;return r}let t=globalThis.WebSocket;if(typeof t!=="function")return null;return t}class ke extends Error{code;reason;wasClean;constructor(e,t){super(e);this.name="WebSocketCloseError",this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}}function bt(e){let t=e.readyState;return typeof t==="number"?t:void 0}function K(e){let t=bt(e);return t===void 0||t===1}function ht(e){return Date.now()-e.createdAt>=dt}function v(e,t=1000,r="done"){try{e.close(t,r)}catch{}}function pe(e,t){if(t.idleTimer)clearTimeout(t.idleTimer);t.idleTimer=setTimeout(()=>{if(t.busy)return;v(t.socket,1000,"idle_timeout"),T.delete(e)},ft)}async function Z(e,t,r,n=Be,s){let o=await yt(s);if(!o)throw Error("WebSocket transport is not available in this runtime");let i=U(t);return delete i["OpenAI-Beta"],new Promise((l,a)=>{let c=!1,d,u;try{u=new o(e,{headers:i})}catch(b){a(b instanceof Error?b:Error(String(b)));return}let S=()=>{if(d)clearTimeout(d),d=void 0;u.removeEventListener("open",E),u.removeEventListener("error",m),u.removeEventListener("close",p),r?.removeEventListener("abort",C)},f=(b,w)=>{if(c)return;if(c=!0,S(),w)v(u,1000,w);a(b)},E=()=>{if(c)return;c=!0,S(),l(u)},m=(b)=>{f(Te(b))},p=(b)=>{f(Re(b))},C=()=>{f(Error("Request was aborted"),"aborted")};if(u.addEventListener("open",E),u.addEventListener("error",m),u.addEventListener("close",p),r?.addEventListener("abort",C),n>0)d=setTimeout(()=>{f(Error(`WebSocket connect timeout after ${n}ms`),"connect_timeout")},n);if(r?.aborted)C()})}async function wt(e,t,r,n,s,o){if(!r){let c=await Z(e,t,n,s,o);return{socket:c,reused:!1,release:()=>v(c)}}let i=T.get(r);if(i){if(i.idleTimer)clearTimeout(i.idleTimer),i.idleTimer=void 0;if(!i.busy&&ht(i))v(i.socket,1000,"connection_age_limit"),T.delete(r);else if(!i.busy&&K(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:c}={})=>{if(!c||!K(i.socket)){v(i.socket),T.delete(r);return}i.busy=!1,pe(r,i)}};if(i.busy){let c=await Z(e,t,n,s,o);return{socket:c,reused:!1,release:()=>{v(c)}}}if(!K(i.socket))v(i.socket),T.delete(r)}let l=await Z(e,t,n,s,o),a={socket:l,busy:!0,createdAt:Date.now()};return T.set(r,a),{socket:l,entry:a,reused:!1,release:({keep:c}={})=>{if(!c||!K(a.socket)){if(v(a.socket),a.idleTimer)clearTimeout(a.idleTimer);if(T.get(r)===a)T.delete(r);return}a.busy=!1,pe(r,a)}}}function Te(e){if(e&&typeof e==="object"){let t="message"in e?e.message:void 0;if(typeof t==="string"&&t.length>0)return Error(t);let r="error"in e?e.error:void 0;if(r instanceof Error&&r.message.length>0)return r;if(r&&typeof r==="object"&&"message"in r){let n=r.message;if(typeof n==="string"&&n.length>0)return Error(n)}}return Error("WebSocket error")}function Re(e){if(e&&typeof e==="object"){let t="code"in e?e.code:void 0,r="reason"in e?e.reason:void 0,n="wasClean"in e?e.wasClean:void 0,s=typeof t==="number"?` ${t}`:"",o=typeof r==="string"&&r.length>0?` ${r}`:"";if(!o&&t===$e)o=" message too big";return new ke(`WebSocket closed${s}${o}`.trim(),{code:typeof t==="number"?t:void 0,reason:typeof r==="string"&&r.length>0?r:void 0,wasClean:typeof n==="boolean"?n:void 0})}return Error("WebSocket closed")}async function gt(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==="object"&&"arrayBuffer"in e){let r=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(r))}return null}async function*St(e,t,r){let n=[],s=null,o=!1,i=null,l=!1,a=()=>{if(!s)return;let f=s;s=null,f()},c=(f)=>{(async()=>{let E=null;try{if(!f||typeof f!=="object"||!("data"in f))return;if(E=await gt(f.data),!E)return;let m=JSON.parse(E),p=typeof m.type==="string"?m.type:"";if(p==="response.completed"||p==="response.done"||p==="response.incomplete")l=!0,o=!0;n.push(m),a()}catch(m){i=new z(`Invalid Codex WebSocket JSON: ${Se(m)}`,{cause:m,payload:E}),o=!0,a()}})()},d=(f)=>{i=Te(f),o=!0,a()},u=(f)=>{if(l){o=!0,a();return}if(!i)i=Re(f);o=!0,a()},S=()=>{i=Error("Request was aborted"),o=!0,a()};e.addEventListener("message",c),e.addEventListener("error",d),e.addEventListener("close",u),t?.addEventListener("abort",S);try{while(!0){if(t?.aborted)throw Error("Request was aborted");if(n.length>0){yield n.shift();continue}if(o)break;let f;await new Promise((E,m)=>{if(s=E,r!==void 0&&r>0)f=setTimeout(()=>{let p=Error(`WebSocket idle timeout after ${r}ms`);i=p,o=!0,s=null,v(e,1000,"idle_timeout"),m(p)},r)}).finally(()=>{if(f)clearTimeout(f)})}if(i)throw i;if(!l)throw Error("WebSocket stream closed before response.completed")}finally{e.removeEventListener("message",c),e.removeEventListener("error",d),e.removeEventListener("close",u),t?.removeEventListener("abort",S)}}function me(e){let{input:t,previous_response_id:r,...n}=e;return n}function Et(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function _t(e,t){return JSON.stringify(me(e))===JSON.stringify(me(t))}function kt(e,t){if(!_t(e,t.lastRequestBody))return;let r=e.input??[],n=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(r.length<n.length)return;let s=r.slice(0,n.length);if(!Et(s,n))return;return r.slice(n.length)}function Tt(e,t){let r=e.continuation;if(!r)return t;let n=kt(t,r);if(!n||!r.lastResponseId)return e.continuation=void 0,t;return{...t,previous_response_id:r.lastResponseId,input:n}}async function*Rt(e,t){let r=!1;for await(let n of e){if(!r)r=!0,t();yield n}}async function xt(e,t,r,n,s,o,i,l,a,c,d,u){let{socket:S,entry:f,reused:E,release:m}=await wt(e,r,c,u?.signal,a,u?.env),p=!0,C=u?.transport==="websocket-cached"||u?.transport==="auto",b=t,w=C&&f?Tt(f,b):b,h=c?te(c):void 0;if(h){if(h.requests++,E)h.connectionsReused++;else h.connectionsCreated++;if(C)h.cachedContextRequests++;if(w.store===!0)h.storeTrueRequests++;if(h.lastInputItems=w.input?.length??0,w.previous_response_id)h.deltaRequests++,h.lastDeltaInputItems=w.input?.length??0,h.lastPreviousResponseId=w.previous_response_id;else h.fullContextRequests++,h.lastDeltaInputItems=void 0,h.lastPreviousResponseId=void 0}try{if(S.send(JSON.stringify({type:"response.create",...w})),await de(Rt(Ee(St(S,u?.signal,l)),i),n,s,o,{serviceTier:u?.serviceTier,grammarToolInputProperties:d,resolveServiceTier:he,applyServiceTierPricing:(O,W)=>be(O,W,o)}),u?.signal?.aborted)p=!1;else if(C&&f&&n.responseId){let O=ce(o,{messages:[n]},ye,{includeSystemPrompt:!1,grammarToolInputProperties:d}).filter((W)=>W.type!=="function_call_output"&&W.type!=="custom_tool_call_output");f.continuation={lastRequestBody:b,lastResponseId:n.responseId,lastResponseItems:O}}}catch(O){if(f)f.continuation=void 0;throw p=!1,O}finally{m({keep:p})}}async function vt(e){let t=await e.text(),r=t||e.statusText||"Request failed",n;try{let o=JSON.parse(t)?.error;if(o){let i=o.code||o.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(i)||e.status===429){let l=o.plan_type?` (${o.plan_type.toLowerCase()} plan)`:"",a=o.resets_at?Math.max(0,Math.round((o.resets_at*1000-Date.now())/60000)):void 0,c=a!==void 0?` Try again in ~${a} min.`:"";n=`You have hit your ChatGPT usage limit${l}.${c}`.trim()}r=o.message||n||r}}catch{}return{message:r,friendlyMessage:n}}function Ct(e){try{let t=e.split(".");if(t.length!==3)throw Error("Invalid token");let n=JSON.parse(atob(t[1]))?.[Me]?.chatgpt_account_id;if(!n)throw Error("No account ID in token");return n}catch{throw Error("Failed to extract accountId from token")}}function xe(e,t,r,n){let s=new Headers(e);for(let[i,l]of Object.entries(t||{}))if(l===null)s.delete(i);else s.set(i,l);s.set("Authorization",`Bearer ${n}`),s.set("chatgpt-account-id",r),s.set("originator","pi");let o=H?`pi (${H.platform()} ${H.release()}; ${H.arch()})`:"pi (browser)";return s.set("User-Agent",o),s}function Ot(e,t,r,n,s){let o=xe(e,t,r,n);if(o.set("OpenAI-Beta","responses=experimental"),o.set("accept","text/event-stream"),o.set("content-type","application/json"),s)o.set("session-id",s),o.set("x-client-request-id",s);return o}function At(e,t,r,n,s){let o=xe(e,t,r,n);return o.delete("accept"),o.delete("content-type"),o.delete("OpenAI-Beta"),o.delete("openai-beta"),o.set("OpenAI-Beta",lt),o.set("x-client-request-id",s),o.set("session-id",s),o}export{pt as closeOpenAICodexWebSocketSessions,Vt as getOpenAICodexWebSocketDebugStats,Yt as resetOpenAICodexWebSocketDebugStats,Qe as stream,jt as streamSimple};
@@ -1,8 +1,8 @@
1
1
  // @bun
2
- import{R}from"./chunk-nz714xvr.js";import{y}from"./chunk-y7mfmet4.js";import{U,Ce}from"./chunk-2vqhhfx4.js";import{ze,ve,I}from"./shumai-agent-app.js";class g extends Error{code;diagnosticDetails;constructor(r,t,n){super(r);this.name="PiMessagesResponseError",this.code=t,this.diagnosticDetails=n}}function x(r){try{let t=JSON.parse(r),n=t?.error;return t&&typeof n==="object"&&n!==null&&!Array.isArray(n)?t:void 0}catch{return}}function m(r){return r.length>8192?`${r.slice(0,8192)}\u2026`:r}function w(r,t,n){let e=typeof n?.error?.message==="string"?n.error.message:void 0,s=typeof n?.error?.code==="string"?n.error.code:void 0,a=e??t,o=s?` (${s})`:"";return`${r.status} ${r.statusText}: ${a}${o}`}function b(r,t,n,e){let s=x(e),a=typeof s?.error?.code==="string"?s.error.code:void 0;return new g(w(n,e,s),a,{version:1,provider:r.provider,model:r.id,url:t.toString(),status:n.status,statusText:n.statusText,error:s?.error,body:s?void 0:m(e),timestampMs:Date.now()})}function h(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}function l(r,t){if(!t)return;ve(r,{type:"pi_messages_rewrite",timestamp:Date.now(),details:{...t}})}function k(r){let t={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:h(),stopReason:"stop",timestamp:Date.now()},n=new Map;return(e)=>{switch(e.type){case"done":return Object.assign(t,{stopReason:e.reason,usage:e.usage,responseId:e.responseId}),l(t,e.rewrite),{type:"done",reason:e.reason,message:t};case"error":return Object.assign(t,{stopReason:e.reason,usage:e.usage,errorMessage:e.errorMessage,responseId:e.responseId}),l(t,e.rewrite),{type:"error",reason:e.reason,error:t};case"start":break;case"text_start":t.content[e.contentIndex]={type:"text",text:""};break;case"text_delta":t.content[e.contentIndex].text+=e.delta;break;case"text_end":Object.assign(t.content[e.contentIndex],{text:e.content,textSignature:e.contentSignature});break;case"thinking_start":t.content[e.contentIndex]={type:"thinking",thinking:""};break;case"thinking_delta":t.content[e.contentIndex].thinking+=e.delta;break;case"thinking_end":Object.assign(t.content[e.contentIndex],{thinking:e.content,thinkingSignature:e.contentSignature,redacted:e.redacted});break;case"toolcall_start":t.content[e.contentIndex]={type:"toolCall",id:e.id,name:e.toolName,arguments:{}},n.set(e.contentIndex,"");break;case"toolcall_delta":{let s=`${n.get(e.contentIndex)??""}${e.delta}`;n.set(e.contentIndex,s),t.content[e.contentIndex].arguments=R(s);break}case"toolcall_end":return Object.assign(t.content[e.contentIndex],e.toolCall),n.delete(e.contentIndex),{type:"toolcall_end",contentIndex:e.contentIndex,toolCall:t.content[e.contentIndex],partial:t}}return{...e,partial:t}}}async function*E(r){let t=new TextDecoder,n=r.getReader(),e="";try{while(!0){let{done:s,value:a}=await n.read();e+=s?t.decode():t.decode(a,{stream:!0}),e=e.replace(/\r\n/g,`
2
+ import{R}from"./chunk-xpg34mme.js";import{y}from"./chunk-f913x9vp.js";import{U,Ce}from"./chunk-2vqhhfx4.js";import{ze,we,I}from"./shumai-agent-app.js";class g extends Error{code;diagnosticDetails;constructor(r,t,n){super(r);this.name="PiMessagesResponseError",this.code=t,this.diagnosticDetails=n}}function x(r){try{let t=JSON.parse(r),n=t?.error;return t&&typeof n==="object"&&n!==null&&!Array.isArray(n)?t:void 0}catch{return}}function m(r){return r.length>8192?`${r.slice(0,8192)}\u2026`:r}function w(r,t,n){let e=typeof n?.error?.message==="string"?n.error.message:void 0,s=typeof n?.error?.code==="string"?n.error.code:void 0,a=e??t,o=s?` (${s})`:"";return`${r.status} ${r.statusText}: ${a}${o}`}function b(r,t,n,e){let s=x(e),a=typeof s?.error?.code==="string"?s.error.code:void 0;return new g(w(n,e,s),a,{version:1,provider:r.provider,model:r.id,url:t.toString(),status:n.status,statusText:n.statusText,error:s?.error,body:s?void 0:m(e),timestampMs:Date.now()})}function h(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}function l(r,t){if(!t)return;we(r,{type:"pi_messages_rewrite",timestamp:Date.now(),details:{...t}})}function k(r){let t={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:h(),stopReason:"stop",timestamp:Date.now()},n=new Map;return(e)=>{switch(e.type){case"done":return Object.assign(t,{stopReason:e.reason,usage:e.usage,responseId:e.responseId}),l(t,e.rewrite),{type:"done",reason:e.reason,message:t};case"error":return Object.assign(t,{stopReason:e.reason,usage:e.usage,errorMessage:e.errorMessage,responseId:e.responseId}),l(t,e.rewrite),{type:"error",reason:e.reason,error:t};case"start":break;case"text_start":t.content[e.contentIndex]={type:"text",text:""};break;case"text_delta":t.content[e.contentIndex].text+=e.delta;break;case"text_end":Object.assign(t.content[e.contentIndex],{text:e.content,textSignature:e.contentSignature});break;case"thinking_start":t.content[e.contentIndex]={type:"thinking",thinking:""};break;case"thinking_delta":t.content[e.contentIndex].thinking+=e.delta;break;case"thinking_end":Object.assign(t.content[e.contentIndex],{thinking:e.content,thinkingSignature:e.contentSignature,redacted:e.redacted});break;case"toolcall_start":t.content[e.contentIndex]={type:"toolCall",id:e.id,name:e.toolName,arguments:{}},n.set(e.contentIndex,"");break;case"toolcall_delta":{let s=`${n.get(e.contentIndex)??""}${e.delta}`;n.set(e.contentIndex,s),t.content[e.contentIndex].arguments=R(s);break}case"toolcall_end":return Object.assign(t.content[e.contentIndex],e.toolCall),n.delete(e.contentIndex),{type:"toolcall_end",contentIndex:e.contentIndex,toolCall:t.content[e.contentIndex],partial:t}}return{...e,partial:t}}}async function*E(r){let t=new TextDecoder,n=r.getReader(),e="";try{while(!0){let{done:s,value:a}=await n.read();e+=s?t.decode():t.decode(a,{stream:!0}),e=e.replace(/\r\n/g,`
3
3
  `);let o=e.indexOf(`
4
4
 
5
5
  `);while(o!==-1){let c=f(e.slice(0,o));if(c)yield c;e=e.slice(o+2),o=e.indexOf(`
6
6
 
7
7
  `)}if(s)break}if(e.trim()){let s=f(e);if(s)yield s}}finally{n.releaseLock()}}function f(r){let t=r.split(`
8
- `).find((n)=>n.startsWith("data:"))?.slice(5).trim();return t&&t!=="[DONE]"?JSON.parse(t):void 0}function _(r,t,n){let e=n?"aborted":"error",s={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:h(),stopReason:e,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()};if(!n&&t instanceof g)ve(s,ze("pi_messages_response_failure",t,t.diagnosticDetails));return{type:"error",reason:e,error:s}}function S(r,t){if(r)return r;return y("PI_CACHE_RETENTION",t)==="long"?"long":void 0}var M=(r,t,n)=>{let e=new I,s=k(r);return(async()=>{try{let a=n?.apiKey;if(!a)throw Error(`No API key provided for provider "${r.provider}"`);let o=new URL(`${r.baseUrl.replace(/\/+$/u,"")}/messages`);if(n?.debug)o.searchParams.set("debug","1");let c={model:r.id,context:t,options:{temperature:n?.temperature,maxTokens:n?.maxTokens,reasoning:n?.reasoning,cacheRetention:S(n?.cacheRetention,n?.env),sessionId:n?.sessionId,toolChoice:n?.toolChoice}},p=await n?.onPayload?.(c,r);if(p!==void 0)c=p;let i=await fetch(o,{method:"POST",headers:{authorization:`Bearer ${a}`,accept:"text/event-stream","content-type":"application/json",...Ce(n?.headers)},body:JSON.stringify(c),signal:n?.signal});if(await n?.onResponse?.({status:i.status,headers:U(i.headers)},r),!i.ok){let d=await i.text();throw b(r,o,i,d)}if(!i.body)throw Error(`${r.provider} response has no body`);for await(let d of E(i.body)){let u=s(d);if(e.push(u),u.type==="done"||u.type==="error")return}throw Error(`${r.provider} stream ended without a terminal event`)}catch(a){e.push(_(r,a,n?.signal?.aborted??!1))}})(),e},j=(r,t,n)=>{let e=n;return M(r,t,{...n,reasoning:n?.reasoning,toolChoice:e?.toolChoice,debug:e?.debug})};export{g as PiMessagesResponseError,M as stream,j as streamSimple};
8
+ `).find((n)=>n.startsWith("data:"))?.slice(5).trim();return t&&t!=="[DONE]"?JSON.parse(t):void 0}function _(r,t,n){let e=n?"aborted":"error",s={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:h(),stopReason:e,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()};if(!n&&t instanceof g)we(s,ze("pi_messages_response_failure",t,t.diagnosticDetails));return{type:"error",reason:e,error:s}}function S(r,t){if(r)return r;return y("PI_CACHE_RETENTION",t)==="long"?"long":void 0}var M=(r,t,n)=>{let e=new I,s=k(r);return(async()=>{try{let a=n?.apiKey;if(!a)throw Error(`No API key provided for provider "${r.provider}"`);let o=new URL(`${r.baseUrl.replace(/\/+$/u,"")}/messages`);if(n?.debug)o.searchParams.set("debug","1");let c={model:r.id,context:t,options:{temperature:n?.temperature,maxTokens:n?.maxTokens,reasoning:n?.reasoning,cacheRetention:S(n?.cacheRetention,n?.env),sessionId:n?.sessionId,toolChoice:n?.toolChoice}},p=await n?.onPayload?.(c,r);if(p!==void 0)c=p;let i=await fetch(o,{method:"POST",headers:{authorization:`Bearer ${a}`,accept:"text/event-stream","content-type":"application/json",...Ce(n?.headers)},body:JSON.stringify(c),signal:n?.signal});if(await n?.onResponse?.({status:i.status,headers:U(i.headers)},r),!i.ok){let d=await i.text();throw b(r,o,i,d)}if(!i.body)throw Error(`${r.provider} response has no body`);for await(let d of E(i.body)){let u=s(d);if(e.push(u),u.type==="done"||u.type==="error")return}throw Error(`${r.provider} stream ended without a terminal event`)}catch(a){e.push(_(r,a,n?.signal?.aborted??!1))}})(),e},j=(r,t,n)=>{let e=n;return M(r,t,{...n,reasoning:n?.reasoning,toolChoice:e?.toolChoice,debug:e?.debug})};export{g as PiMessagesResponseError,M as stream,j as streamSimple};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{u,P,_,w,k}from"./shumai-agent-app.js";var n=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},s=class{#e;#t=new o;#r;#a;constructor(e){this.#e={...e}}async init(){if(this.#r=this.#e.database,this.#a=new i(this.#r),this.#e.onCreateConnection)await this.#e.onCreateConnection(this.#a)}async acquireConnection(){return await this.#t.lock(),this.#a}async beginTransaction(e){await e.executeQuery(_.raw("begin"))}async commitTransaction(e){await e.executeQuery(_.raw("commit"))}async rollbackTransaction(e){await e.executeQuery(_.raw("rollback"))}async releaseConnection(){this.#t.unlock()}async destroy(){this.#r?.close()}},i=class{#e;constructor(e){this.#e=e}executeQuery(e){let{sql:r,parameters:a}=e,t=this.#e.prepare(r).all(...a);return Promise.resolve({rows:t})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},o=class{#e;#t;async lock(){while(this.#e!==void 0)await this.#e;this.#e=new Promise((e)=>{this.#t=e})}unlock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},c=class{#e;constructor(e){this.#e=e}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let r=this.#e.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!e.withInternalKyselyTables)r=r.where("name","!=",w).where("name","!=",k);let a=await r.execute();return Promise.all(a.map(({name:t})=>this.#t(t)))}async getMetadata(e){return{tables:await this.getTables(e)}}async#t(e){let r=this.#e,a=(await r.selectFrom("sqlite_master").where("name","=",e).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((t)=>t.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:e,columns:(await r.selectFrom(u`pragma_table_info(${e})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((t)=>({name:t.name,dataType:t.type,isNullable:!t.notnull,isAutoIncrementing:t.name===a,hasDefaultValue:t.dflt_value!=null})),isView:!0}}},l=class extends P{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},h=class{#e;constructor(e){this.#e={...e}}createDriver(){return new s(this.#e)}createQueryCompiler(){return new l}createAdapter(){return new n}createIntrospector(e){return new c(e)}};export{h as NodeSqliteDialect};
2
+ import{u,P,_,v,k}from"./shumai-agent-app.js";var n=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},s=class{#e;#t=new o;#r;#a;constructor(e){this.#e={...e}}async init(){if(this.#r=this.#e.database,this.#a=new i(this.#r),this.#e.onCreateConnection)await this.#e.onCreateConnection(this.#a)}async acquireConnection(){return await this.#t.lock(),this.#a}async beginTransaction(e){await e.executeQuery(_.raw("begin"))}async commitTransaction(e){await e.executeQuery(_.raw("commit"))}async rollbackTransaction(e){await e.executeQuery(_.raw("rollback"))}async releaseConnection(){this.#t.unlock()}async destroy(){this.#r?.close()}},i=class{#e;constructor(e){this.#e=e}executeQuery(e){let{sql:r,parameters:a}=e,t=this.#e.prepare(r).all(...a);return Promise.resolve({rows:t})}async*streamQuery(){throw Error("Streaming query is not supported by SQLite driver.")}},o=class{#e;#t;async lock(){while(this.#e!==void 0)await this.#e;this.#e=new Promise((e)=>{this.#t=e})}unlock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},c=class{#e;constructor(e){this.#e=e}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let r=this.#e.selectFrom("sqlite_schema").where("type","=","table").where("name","not like","sqlite_%").select("name").$castTo();if(!e.withInternalKyselyTables)r=r.where("name","!=",v).where("name","!=",k);let a=await r.execute();return Promise.all(a.map(({name:t})=>this.#t(t)))}async getMetadata(e){return{tables:await this.getTables(e)}}async#t(e){let r=this.#e,a=(await r.selectFrom("sqlite_master").where("name","=",e).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((t)=>t.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g,"");return{name:e,columns:(await r.selectFrom(u`pragma_table_info(${e})`.as("table_info")).select(["name","type","notnull","dflt_value"]).execute()).map((t)=>({name:t.name,dataType:t.type,isNullable:!t.notnull,isAutoIncrementing:t.name===a,hasDefaultValue:t.dflt_value!=null})),isView:!0}}},l=class extends P{getCurrentParameterPlaceholder(){return"?"}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getAutoIncrement(){return"autoincrement"}},h=class{#e;constructor(e){this.#e={...e}}createDriver(){return new s(this.#e)}createQueryCompiler(){return new l}createAdapter(){return new n}createIntrospector(e){return new c(e)}};export{h as NodeSqliteDialect};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ee,Ne,_e,Ge,ke,De,Le,Me}from"./chunk-xdwhrf7a.js";import{F,Q}from"./chunk-33n9p9q4.js";import{d,B}from"./chunk-xp2anj2s.js";import{Ce}from"./chunk-2vqhhfx4.js";import{I,v,S}from"./shumai-agent-app.js";var T=0,k=(e,a,n)=>{let i=new I;return(async()=>{let t={role:"assistant",content:[],api:"google-generative-ai",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let l=n?.apiKey;if(!l)throw Error(`No API key for provider: ${e.provider}`);let s=R(e,l,n?.headers),g=L(e,a,n),p=await n?.onPayload?.(g,e);if(p!==void 0)g=p;let M=await s.models.generateContentStream(g);i.push({type:"start",partial:t});let o=null,x=t.content,u=()=>x.length-1;for await(let c of M){t.responseId||=c.responseId;let f=c.candidates?.[0];if(f?.content?.parts)for(let r of f.content.parts){if(r.text!==void 0){let h=Ne(r);if(!o||h&&o.type!=="thinking"||!h&&o.type!=="text"){if(o)if(o.type==="text")i.push({type:"text_end",contentIndex:x.length-1,content:o.text,partial:t});else i.push({type:"thinking_end",contentIndex:u(),content:o.thinking,partial:t});if(h)o={type:"thinking",thinking:"",thinkingSignature:void 0},t.content.push(o),i.push({type:"thinking_start",contentIndex:u(),partial:t});else o={type:"text",text:""},t.content.push(o),i.push({type:"text_start",contentIndex:u(),partial:t})}if(o.type==="thinking")o.thinking+=r.text,o.thinkingSignature=_e(o.thinkingSignature,r.thoughtSignature),i.push({type:"thinking_delta",contentIndex:u(),delta:r.text,partial:t});else o.text+=r.text,o.textSignature=_e(o.textSignature,r.thoughtSignature),i.push({type:"text_delta",contentIndex:u(),delta:r.text,partial:t})}if(r.functionCall){if(o){if(o.type==="text")i.push({type:"text_end",contentIndex:u(),content:o.text,partial:t});else i.push({type:"thinking_end",contentIndex:u(),content:o.thinking,partial:t});o=null}let h=r.functionCall.id,m={type:"toolCall",id:!h||t.content.some((b)=>b.type==="toolCall"&&b.id===h)?`${r.functionCall.name}_${Date.now()}_${++T}`:h,name:r.functionCall.name||"",arguments:r.functionCall.args??{},...r.thoughtSignature&&{thoughtSignature:r.thoughtSignature}};t.content.push(m),i.push({type:"toolcall_start",contentIndex:u(),partial:t}),i.push({type:"toolcall_delta",contentIndex:u(),delta:JSON.stringify(m.arguments),partial:t}),i.push({type:"toolcall_end",contentIndex:u(),toolCall:m,partial:t})}}if(f?.finishReason){if(t.stopReason=Me(f.finishReason),t.content.some((r)=>r.type==="toolCall"))t.stopReason="toolUse"}if(c.usageMetadata)t.usage={input:(c.usageMetadata.promptTokenCount||0)-(c.usageMetadata.cachedContentTokenCount||0),output:(c.usageMetadata.candidatesTokenCount||0)+(c.usageMetadata.thoughtsTokenCount||0),cacheRead:c.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:c.usageMetadata.thoughtsTokenCount||0,totalTokens:c.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},v(e,t.usage)}if(o)if(o.type==="text")i.push({type:"text_end",contentIndex:u(),content:o.text,partial:t});else i.push({type:"thinking_end",contentIndex:u(),content:o.thinking,partial:t});if(n?.signal?.aborted)throw Error("Request was aborted");if(t.stopReason==="aborted"||t.stopReason==="error")throw Error("An unknown error occurred");i.push({type:"done",reason:t.stopReason,message:t}),i.end()}catch(l){for(let s of t.content)if("index"in s)delete s.index;t.stopReason=n?.signal?.aborted?"aborted":"error",t.errorMessage=Q(F(l)),i.push({type:"error",reason:t.stopReason,error:t}),i.end()}})(),i},q=(e,a,n)=>{let i=n?.apiKey;if(!i)throw Error(`No API key for provider: ${e.provider}`);let t=B(e,a,n,i);if(!n?.reasoning)return k(e,a,{...t,thinking:{enabled:!1}});let l=S(e,n.reasoning),s=l==="off"?"high":l,g=e;if(C(g)||w(g)||y(g))return k(e,a,{...t,thinking:{enabled:!0,level:G(s,g)}});return k(e,a,{...t,thinking:{enabled:!0,budgetTokens:P(g,s,n.thinkingBudgets)}})};function R(e,a,n){let i={};if(e.baseUrl)i.baseUrl=e.baseUrl,i.apiVersion="";let t=Ce({...e.headers,...n});if(t)i.headers=t;return new Ee({apiKey:a,httpOptions:Object.keys(i).length>0?i:void 0})}function L(e,a,n={}){let i=Ge(e,a),t={};if(n.temperature!==void 0)t.temperature=n.temperature;if(n.maxTokens!==void 0)t.maxOutputTokens=n.maxTokens;let l=a.tools?.length?Le(a.tools,n.toolChoice,De(e.id)):void 0,s={...Object.keys(t).length>0&&t,...a.systemPrompt&&{systemInstruction:d(a.systemPrompt)},...a.tools&&a.tools.length>0&&{tools:ke(a.tools)},...l!==void 0&&{toolConfig:{functionCallingConfig:{mode:l}}}};if(n.thinking?.enabled&&e.reasoning){let p={includeThoughts:!0};if(n.thinking.level!==void 0)p.thinkingLevel=n.thinking.level;else if(n.thinking.budgetTokens!==void 0)p.thinkingBudget=n.thinking.budgetTokens;s.thinkingConfig=p}else if(e.reasoning&&n.thinking&&!n.thinking.enabled)s.thinkingConfig=_(e);if(n.signal){if(n.signal.aborted)throw Error("Request aborted");s.abortSignal=n.signal}return{model:e.id,contents:i,config:s}}function y(e){return/gemma-?4/.test(e.id.toLowerCase())}function C(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function w(e){let a=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(a)||a==="gemini-flash-latest"||a==="gemini-flash-lite-latest"}function _(e){if(C(e))return{thinkingLevel:"LOW"};if(w(e))return{thinkingLevel:"MINIMAL"};if(y(e))return{thinkingLevel:"MINIMAL"};return{thinkingBudget:0}}function G(e,a){if(C(a))switch(e){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}if(y(a))switch(e){case"minimal":case"low":return"MINIMAL";case"medium":case"high":return"HIGH"}switch(e){case"minimal":return"MINIMAL";case"low":return"LOW";case"medium":return"MEDIUM";case"high":return"HIGH"}}function P(e,a,n){if(n?.[a]!==void 0)return n[a];if(e.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[a];if(e.id.includes("2.5-flash-lite"))return{minimal:512,low:2048,medium:8192,high:24576}[a];if(e.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[a];return-1}export{k as stream,q as streamSimple};
2
+ import{Ee,Ne,_e,Ge,ke,De,Le,Me}from"./chunk-zw963bc3.js";import{F,Q}from"./chunk-33n9p9q4.js";import{d,B}from"./chunk-xp2anj2s.js";import{Ce}from"./chunk-2vqhhfx4.js";import{I,w,x}from"./shumai-agent-app.js";var S=0,k=(e,a,n)=>{let i=new I;return(async()=>{let t={role:"assistant",content:[],api:"google-generative-ai",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let l=n?.apiKey;if(!l)throw Error(`No API key for provider: ${e.provider}`);let s=R(e,l,n?.headers),g=L(e,a,n),p=await n?.onPayload?.(g,e);if(p!==void 0)g=p;let v=await s.models.generateContentStream(g);i.push({type:"start",partial:t});let o=null,b=t.content,u=()=>b.length-1;for await(let c of v){t.responseId||=c.responseId;let f=c.candidates?.[0];if(f?.content?.parts)for(let r of f.content.parts){if(r.text!==void 0){let h=Ne(r);if(!o||h&&o.type!=="thinking"||!h&&o.type!=="text"){if(o)if(o.type==="text")i.push({type:"text_end",contentIndex:b.length-1,content:o.text,partial:t});else i.push({type:"thinking_end",contentIndex:u(),content:o.thinking,partial:t});if(h)o={type:"thinking",thinking:"",thinkingSignature:void 0},t.content.push(o),i.push({type:"thinking_start",contentIndex:u(),partial:t});else o={type:"text",text:""},t.content.push(o),i.push({type:"text_start",contentIndex:u(),partial:t})}if(o.type==="thinking")o.thinking+=r.text,o.thinkingSignature=_e(o.thinkingSignature,r.thoughtSignature),i.push({type:"thinking_delta",contentIndex:u(),delta:r.text,partial:t});else o.text+=r.text,o.textSignature=_e(o.textSignature,r.thoughtSignature),i.push({type:"text_delta",contentIndex:u(),delta:r.text,partial:t})}if(r.functionCall){if(o){if(o.type==="text")i.push({type:"text_end",contentIndex:u(),content:o.text,partial:t});else i.push({type:"thinking_end",contentIndex:u(),content:o.thinking,partial:t});o=null}let h=r.functionCall.id,m={type:"toolCall",id:!h||t.content.some((M)=>M.type==="toolCall"&&M.id===h)?`${r.functionCall.name}_${Date.now()}_${++S}`:h,name:r.functionCall.name||"",arguments:r.functionCall.args??{},...r.thoughtSignature&&{thoughtSignature:r.thoughtSignature}};t.content.push(m),i.push({type:"toolcall_start",contentIndex:u(),partial:t}),i.push({type:"toolcall_delta",contentIndex:u(),delta:JSON.stringify(m.arguments),partial:t}),i.push({type:"toolcall_end",contentIndex:u(),toolCall:m,partial:t})}}if(f?.finishReason){if(t.stopReason=Me(f.finishReason),t.content.some((r)=>r.type==="toolCall"))t.stopReason="toolUse"}if(c.usageMetadata)t.usage={input:(c.usageMetadata.promptTokenCount||0)-(c.usageMetadata.cachedContentTokenCount||0),output:(c.usageMetadata.candidatesTokenCount||0)+(c.usageMetadata.thoughtsTokenCount||0),cacheRead:c.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:c.usageMetadata.thoughtsTokenCount||0,totalTokens:c.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},w(e,t.usage)}if(o)if(o.type==="text")i.push({type:"text_end",contentIndex:u(),content:o.text,partial:t});else i.push({type:"thinking_end",contentIndex:u(),content:o.thinking,partial:t});if(n?.signal?.aborted)throw Error("Request was aborted");if(t.stopReason==="aborted"||t.stopReason==="error")throw Error("An unknown error occurred");i.push({type:"done",reason:t.stopReason,message:t}),i.end()}catch(l){for(let s of t.content)if("index"in s)delete s.index;t.stopReason=n?.signal?.aborted?"aborted":"error",t.errorMessage=Q(F(l)),i.push({type:"error",reason:t.stopReason,error:t}),i.end()}})(),i},q=(e,a,n)=>{let i=n?.apiKey;if(!i)throw Error(`No API key for provider: ${e.provider}`);let t=B(e,a,n,i);if(!n?.reasoning)return k(e,a,{...t,thinking:{enabled:!1}});let l=x(e,n.reasoning),s=l==="off"?"high":l,g=e;if(C(g)||T(g)||y(g))return k(e,a,{...t,thinking:{enabled:!0,level:G(s,g)}});return k(e,a,{...t,thinking:{enabled:!0,budgetTokens:P(g,s,n.thinkingBudgets)}})};function R(e,a,n){let i={};if(e.baseUrl)i.baseUrl=e.baseUrl,i.apiVersion="";let t=Ce({...e.headers,...n});if(t)i.headers=t;return new Ee({apiKey:a,httpOptions:Object.keys(i).length>0?i:void 0})}function L(e,a,n={}){let i=Ge(e,a),t={};if(n.temperature!==void 0)t.temperature=n.temperature;if(n.maxTokens!==void 0)t.maxOutputTokens=n.maxTokens;let l=a.tools?.length?Le(a.tools,n.toolChoice,De(e.id)):void 0,s={...Object.keys(t).length>0&&t,...a.systemPrompt&&{systemInstruction:d(a.systemPrompt)},...a.tools&&a.tools.length>0&&{tools:ke(a.tools)},...l!==void 0&&{toolConfig:{functionCallingConfig:{mode:l}}}};if(n.thinking?.enabled&&e.reasoning){let p={includeThoughts:!0};if(n.thinking.level!==void 0)p.thinkingLevel=n.thinking.level;else if(n.thinking.budgetTokens!==void 0)p.thinkingBudget=n.thinking.budgetTokens;s.thinkingConfig=p}else if(e.reasoning&&n.thinking&&!n.thinking.enabled)s.thinkingConfig=_(e);if(n.signal){if(n.signal.aborted)throw Error("Request aborted");s.abortSignal=n.signal}return{model:e.id,contents:i,config:s}}function y(e){return/gemma-?4/.test(e.id.toLowerCase())}function C(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function T(e){let a=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(a)||a==="gemini-flash-latest"||a==="gemini-flash-lite-latest"}function _(e){if(C(e))return{thinkingLevel:"LOW"};if(T(e))return{thinkingLevel:"MINIMAL"};if(y(e))return{thinkingLevel:"MINIMAL"};return{thinkingBudget:0}}function G(e,a){if(C(a))switch(e){case"minimal":case"low":return"LOW";case"medium":case"high":return"HIGH"}if(y(a))switch(e){case"minimal":case"low":return"MINIMAL";case"medium":case"high":return"HIGH"}switch(e){case"minimal":return"MINIMAL";case"low":return"LOW";case"medium":return"MEDIUM";case"high":return"HIGH"}}function P(e,a,n){if(n?.[a]!==void 0)return n[a];if(e.id.includes("2.5-pro"))return{minimal:128,low:2048,medium:8192,high:32768}[a];if(e.id.includes("2.5-flash-lite"))return{minimal:512,low:2048,medium:8192,high:24576}[a];if(e.id.includes("2.5-flash"))return{minimal:128,low:2048,medium:8192,high:24576}[a];return-1}export{k as stream,q as streamSimple};
@@ -1,7 +1,7 @@
1
1
  // @bun
2
- import{A}from"./chunk-atats4tw.js";import{R}from"./chunk-nz714xvr.js";import{y}from"./chunk-y7mfmet4.js";import{ye,be}from"./chunk-hede4f0t.js";import{Y}from"./chunk-nwjh8gnr.js";import{F,Q}from"./chunk-33n9p9q4.js";import{re}from"./chunk-dsa7hrkt.js";import{j}from"./chunk-grtavkr4.js";import{d,We,He,M,Ue,L,B,O}from"./chunk-xp2anj2s.js";import{U}from"./chunk-2vqhhfx4.js";import{I,v,S}from"./shumai-agent-app.js";function ee(e,n){if(!e)return!1;let t=n.toLowerCase();for(let[r,s]of Object.entries(e))if(r.toLowerCase()===t&&s!==null&&s.trim().length>0)return!0;return!1}function se(e,n,t){if(n)return n;if(ee(t,"authorization")||ee(t,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${e}`)}function de(e){for(let n of e){if(n.role==="toolResult")return!0;if(n.role==="assistant"){if(n.content.some((t)=>t.type==="toolCall"))return!0}}return!1}function he(e){let n=new Set;for(let t of e)if(t.role==="toolResult")for(let r of t.addedToolNames??[])n.add(r);return n}function me(e,n){if(!e)return[];let t=new Map(e.map((r)=>[r.name,r]));return Array.from(n).map((r)=>t.get(r)).filter((r)=>r!==void 0)}function te(e){return e.type==="text"}function ke(e){return e.type==="thinking"}function Te(e){return e.type==="toolCall"}function Re(e){return e.type==="image"}function _e(e){if(typeof e!=="object"||e===null)return!1;let n=e;return n.type==="reasoning.encrypted"&&typeof n.id==="string"&&n.id.length>0&&typeof n.data==="string"&&n.data.length>0}function oe(e,n){if(e)return e;if(y("PI_CACHE_RETENTION",n)==="long")return"long";return"short"}var xe=(e,n,t)=>{let r=new I;return(async()=>{let s={role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let g=se(e.provider,t?.apiKey,t?.headers),f=V(e),_=L(n.tools,f.supportsOpenAIGrammarTools),i=oe(t?.cacheRetention,t?.env),h=i==="none"?void 0:t?.sessionId,l=ve(e,n,g,t?.headers,h,f),a=Ae(e,n,t,f,i,_),k=await t?.onPayload?.(a,e);if(k!==void 0)a=k;let T={...t?.signal?{signal:t.signal}:{},...t?.timeoutMs!==void 0?{timeout:t.timeoutMs}:{},maxRetries:0},{data:b,response:q}=await j(()=>l.chat.completions.create(a,T).withResponse(),{maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,signal:t?.signal});await t?.onResponse?.({status:q.status,headers:U(q.headers)},e),r.push({type:"start",partial:s});let D=null,m=null,x=!1,E=new Map,K=new Map,W=new Map,H=s.content,z=(o)=>H.indexOf(o),Z=(o)=>{let u=o.customInput?.property;if(u===void 0)return"";let w=o.arguments[u];return typeof w==="string"?w:""},X=(o,u,w)=>{let c=o.customInput;if(!c)return;let P=He(c.jsonBuffer,c.property,u,w);return o.arguments={[c.property]:u},P},ue=(o)=>{let u=z(o);if(u===-1)return;if(o.type==="text")r.push({type:"text_end",contentIndex:u,content:o.text,partial:s});else if(o.type==="thinking")r.push({type:"thinking_end",contentIndex:u,content:o.thinking,partial:s});else if(o.type==="toolCall"){if(o.customInput){let w=X(o,Z(o),!0);if(w!==void 0)r.push({type:"toolcall_delta",contentIndex:u,delta:w,partial:s})}else o.arguments=R(o.partialArgs);delete o.partialArgs,delete o.customInput,delete o.streamIndex,r.push({type:"toolcall_end",contentIndex:u,toolCall:o,partial:s})}},fe=()=>{if(!D)D={type:"text",text:""},H.push(D),r.push({type:"text_start",contentIndex:z(D),partial:s});return D},le=(o)=>{if(!m)m={type:"thinking",thinking:"",thinkingSignature:o},H.push(m),r.push({type:"thinking_start",contentIndex:z(m),partial:s});return m},ce=(o)=>{if(!o.id)return;let u=W.get(o.id);if(u)o.thoughtSignature=u,W.delete(o.id)},pe=(o)=>{let u=typeof o.index==="number"?o.index:void 0,w=o.function?.name??o.custom?.name??"",c=u!==void 0?E.get(u):void 0;if(!c&&o.id)c=K.get(o.id);if(!c){let P=o.custom?_.get(w)??"input":void 0,G=P!==void 0;if(c={type:"toolCall",id:o.id||"",name:w,arguments:G?{[P]:""}:{},partialArgs:G?void 0:"",customInput:G?{property:P,jsonBuffer:{input:"",started:!1,closed:!1}}:void 0,streamIndex:u},u!==void 0)E.set(u,c);if(o.id)K.set(o.id,c);H.push(c),r.push({type:"toolcall_start",contentIndex:z(c),partial:s})}if(u!==void 0&&c.streamIndex===void 0)c.streamIndex=u,E.set(u,c);if(o.id)K.set(o.id,c);if(!c.name&&w)c.name=w;if(o.custom&&!c.customInput){let P=_.get(c.name)??"input";c.arguments={[P]:""},c.customInput={property:P,jsonBuffer:{input:"",started:!1,closed:!1}},delete c.partialArgs}return ce(c),c};for await(let o of b){if(!o||typeof o!=="object")continue;if(s.responseId||=o.id,typeof o.model==="string"&&o.model.length>0&&o.model!==e.id)s.responseModel||=o.model;if(o.usage)s.usage=ne(o.usage,e);let u=Array.isArray(o.choices)?o.choices[0]:void 0;if(!u)continue;if(!o.usage&&u.usage)s.usage=ne(u.usage,e);if(u.finish_reason){let w=Le(u.finish_reason);if(s.stopReason=w.stopReason,w.errorMessage)s.errorMessage=w.errorMessage;x=!0}if(u.delta){if(u.delta.content!==null&&u.delta.content!==void 0&&u.delta.content.length>0){let p=fe();p.text+=u.delta.content,r.push({type:"text_delta",contentIndex:z(p),delta:u.delta.content,partial:s})}let w=["reasoning_content","reasoning","reasoning_text"],c=u.delta,P=null;for(let p of w){let C=c[p];if(typeof C==="string"&&C.length>0){P=p;break}}if(P){let p=c[P];if(typeof p==="string"&&p.length>0){let C=e.provider==="opencode-go"&&P==="reasoning"?"reasoning_content":P,N=le(C);N.thinking+=p,r.push({type:"thinking_delta",contentIndex:z(N),delta:p,partial:s})}}if(u?.delta?.tool_calls)for(let p of u.delta.tool_calls){let C=pe(p);if(!C.id&&p.id)C.id=p.id,K.set(p.id,C);let N=p.function?.name??p.custom?.name;if(!C.name&&N)C.name=N;let J="";if(p.function?.arguments)J=p.function.arguments,C.partialArgs=(C.partialArgs??"")+p.function.arguments,C.arguments=R(C.partialArgs);else if(p.custom?.input){let ge=Z(C)+p.custom.input;J=X(C,ge,!1)??""}r.push({type:"toolcall_delta",contentIndex:z(C),delta:J,partial:s})}let G=u.delta.reasoning_details;if(Array.isArray(G)){for(let p of G)if(_e(p)){let C=JSON.stringify(p),N=K.get(p.id);if(N)N.thoughtSignature=C;else W.set(p.id,C)}}}}for(let o of H)ue(o);if(t?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="aborted")throw Error("Request was aborted");if(s.stopReason==="error")throw Error(s.errorMessage||"Provider returned an error stop reason");if(!x)throw Error("Stream ended without finish_reason");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(g){for(let _ of s.content)delete _.index,delete _.partialArgs,delete _.customInput,delete _.streamIndex;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=Q(F(g));let f=g?.error?.metadata?.raw;if(f&&!s.errorMessage.includes(String(f)))s.errorMessage+=`
3
- ${f}`;r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},nt=(e,n,t)=>{se(e.provider,t?.apiKey,t?.headers);let r=B(e,n,t,t?.apiKey),s=t?.reasoning?S(e,t.reasoning):void 0,g=s==="off"?void 0:s,f=t?.toolChoice;return xe(e,n,{...r,reasoningEffort:g,toolChoice:f})};function ve(e,n,t,r,s,g=V(e)){let f={...e.headers};if(e.provider==="github-copilot"){let _=ye(n.messages),i=be({messages:n.messages,hasImages:_});Object.assign(f,i)}if(s&&g.sendSessionAffinityHeaders)if(g.sessionAffinityFormat==="openrouter")f["x-session-id"]=s;else{if(g.sessionAffinityFormat==="openai")f.session_id=s;f["x-client-request-id"]=s,f["x-session-affinity"]=s}if(r)Object.assign(f,r);return new A({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function Ae(e,n,t,r=V(e),s=oe(t?.cacheRetention,t?.env),g=L(n.tools,r.supportsOpenAIGrammarTools)){let f=qe(e,n,r,{grammarToolInputProperties:g}),_=Ie(r,s),i={model:e.id,messages:f,stream:!0,prompt_cache_key:e.baseUrl.includes("api.openai.com")&&s!=="none"||s==="long"&&r.supportsLongCacheRetention?Y(t?.sessionId):void 0,prompt_cache_retention:s==="long"&&r.supportsLongCacheRetention?"24h":void 0};if(r.supportsUsageInStreaming!==!1)i.stream_options={include_usage:!0};if(r.supportsStore)i.store=!1;if(t?.maxTokens)if(r.maxTokensField==="max_tokens")i.max_tokens=t.maxTokens;else i.max_completion_tokens=t.maxTokens;if(t?.temperature!==void 0)i.temperature=t.temperature;let h=r.deferredToolsMode==="kimi"?he(n.messages):new Set,l=n.tools?.filter((a)=>!h.has(a.name));if(l&&l.length>0){if(i.tools=ae(l,r),r.zaiToolStream)i.tool_stream=!0}else if(de(n.messages))i.tools=[];if(_)we(f,i.tools,_);if(t?.toolChoice)i.tool_choice=t.toolChoice;if(r.thinkingFormat==="zai"&&e.reasoning){let a=i;if(a.thinking=t?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},t?.reasoningEffort&&r.supportsReasoningEffort){let k=e.thinkingLevelMap?.[t.reasoningEffort],T=k===void 0?t.reasoningEffort:k;if(typeof T==="string")a.reasoning_effort=T}}else if(r.thinkingFormat==="qwen"&&e.reasoning)i.enable_thinking=!!t?.reasoningEffort;else if(r.thinkingFormat==="qwen-chat-template"&&e.reasoning)i.chat_template_kwargs={enable_thinking:!!t?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat==="chat-template"&&e.reasoning){let a=Ce(e,t,r);if(a)i.chat_template_kwargs=a}else if(r.thinkingFormat==="deepseek"&&e.reasoning){if(t?.reasoningEffort)i.thinking={type:"enabled"};else if(e.thinkingLevelMap?.off!==null)i.thinking={type:"disabled"};if(t?.reasoningEffort&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="openrouter"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.reasoning={effort:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort};else if(e.thinkingLevelMap?.off!==null)a.reasoning={effort:e.thinkingLevelMap?.off??"none"}}else if(r.thinkingFormat==="ant-ling"&&e.reasoning&&t?.reasoningEffort){let a=e.thinkingLevelMap?.[t.reasoningEffort];if(typeof a==="string")i.reasoning={effort:a}}else if(r.thinkingFormat==="together"&&e.reasoning){let a=i;if(a.reasoning={enabled:!!t?.reasoningEffort},t?.reasoningEffort&&r.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="string-thinking"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.thinking=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(e.thinkingLevelMap?.off!==null)a.thinking=e.thinkingLevelMap?.off??"none"}else if(t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(!t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let a=e.thinkingLevelMap?.off;if(typeof a==="string")i.reasoning_effort=a}if(e.compat?.openRouterRouting)i.provider=e.compat.openRouterRouting;if(e.compat?.vercelGatewayRouting){let a=e.compat.vercelGatewayRouting;if(a.only||a.order){let k={};if(a.only)k.only=a.only;if(a.order)k.order=a.order;i.providerOptions={gateway:k}}}return i}function Ce(e,n,t){let r={};for(let[s,g]of Object.entries(t.chatTemplateKwargs)){let f=Me(e,n,g);if(f!==void 0)r[s]=f}return Object.keys(r).length>0?r:void 0}function Me(e,n,t){if(typeof t!=="object"||t===null)return t;let r=n?.reasoningEffort;if(!r&&t.omitWhenOff)return;if(t.$var==="thinking.enabled")return!!r;let s=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return s===void 0?r:typeof s==="string"?s:void 0}function Ie(e,n){if(e.cacheControlFormat!=="anthropic"||n==="none")return;let t=n==="long"&&e.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...t?{ttl:t}:{}}}function we(e,n,t){Se(e,t),Fe(n,t),Ee(e,t)}function Se(e,n){for(let t of e)if(t.role==="system"||t.role==="developer"){Oe(t,n);return}}function Ee(e,n){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.role==="user"||r.role==="assistant"||r.role==="tool"){if(Pe(r,n))return}}}function Fe(e,n){if(!e||e.length===0)return;let t=e[e.length-1];t.cache_control=n}function Oe(e,n){return ie(e,n)}function Pe(e,n){if(e.role==="user"||e.role==="assistant"||e.role==="tool")return ie(e,n);return!1}function ie(e,n){let t=e.content;if(typeof t==="string"){if(t.length===0)return!1;return e.content=[{type:"text",text:t,cache_control:n}],!0}if(!Array.isArray(t))return!1;for(let r=t.length-1;r>=0;r--){let s=t[r];if(s?.type==="text"){let g=s;return g.cache_control=n,!0}}return!1}function qe(e,n,t,r){let s=[],g=(i)=>{if(i.includes("|")){let h=i.indexOf("|"),l=i.slice(0,h).replace(/[^a-zA-Z0-9_-]/g,"_"),a=i.slice(h+1).replace(/[^a-zA-Z0-9_-]/g,"_"),k=a.length>0?`${l}_${a}`:l;if(k.length<=40)return k;let T=re(i).slice(0,8);return`${l.slice(0,Math.max(1,40-T.length-1))}_${T}`}if(e.provider==="openai")return i.length>40?i.slice(0,40):i;return i},f=O(n.messages,e,(i)=>g(i));if(n.systemPrompt){let h=e.reasoning&&t.supportsDeveloperRole?"developer":"system";s.push({role:h,content:d(n.systemPrompt)})}let _=null;for(let i=0;i<f.length;i++){let h=f[i];if(t.requiresAssistantAfterToolResult&&_==="toolResult"&&h.role==="user")s.push({role:"assistant",content:"I have processed the tool results."});if(h.role==="user")if(typeof h.content==="string")s.push({role:"user",content:d(h.content)});else{let l=h.content.map((a)=>{if(a.type==="text")return{type:"text",text:d(a.text)};else return{type:"image_url",image_url:{url:`data:${a.mimeType};base64,${a.data}`}}});if(l.length===0)continue;s.push({role:"user",content:l})}else if(h.role==="assistant"){let l={role:"assistant",content:t.requiresAssistantAfterToolResult?"":null},a=h.content.filter(te).filter((m)=>m.text.trim().length>0).map((m)=>({type:"text",text:d(m.text)})),k=a.map((m)=>m.text).join(""),T=h.content.filter(ke).filter((m)=>m.thinking.trim().length>0);if(T.length>0)if(t.requiresThinkingAsText){let m=T.map((x)=>d(x.thinking)).join(`
2
+ import{A}from"./chunk-atats4tw.js";import{R}from"./chunk-xpg34mme.js";import{y}from"./chunk-f913x9vp.js";import{ye,be}from"./chunk-hede4f0t.js";import{j}from"./chunk-pwagrnm6.js";import{F,Q}from"./chunk-33n9p9q4.js";import{re}from"./chunk-dsa7hrkt.js";import{q}from"./chunk-nfzjn0ec.js";import{d,We,He,M,Ue,L,B,O}from"./chunk-xp2anj2s.js";import{U}from"./chunk-2vqhhfx4.js";import{I,w,x}from"./shumai-agent-app.js";function ee(e,n){if(!e)return!1;let t=n.toLowerCase();for(let[r,s]of Object.entries(e))if(r.toLowerCase()===t&&s!==null&&s.trim().length>0)return!0;return!1}function se(e,n,t){if(n)return n;if(ee(t,"authorization")||ee(t,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${e}`)}function de(e){for(let n of e){if(n.role==="toolResult")return!0;if(n.role==="assistant"){if(n.content.some((t)=>t.type==="toolCall"))return!0}}return!1}function he(e){let n=new Set;for(let t of e)if(t.role==="toolResult")for(let r of t.addedToolNames??[])n.add(r);return n}function me(e,n){if(!e)return[];let t=new Map(e.map((r)=>[r.name,r]));return Array.from(n).map((r)=>t.get(r)).filter((r)=>r!==void 0)}function te(e){return e.type==="text"}function ke(e){return e.type==="thinking"}function Te(e){return e.type==="toolCall"}function Re(e){return e.type==="image"}function _e(e){if(typeof e!=="object"||e===null)return!1;let n=e;return n.type==="reasoning.encrypted"&&typeof n.id==="string"&&n.id.length>0&&typeof n.data==="string"&&n.data.length>0}function oe(e,n){if(e)return e;if(y("PI_CACHE_RETENTION",n)==="long")return"long";return"short"}var xe=(e,n,t)=>{let r=new I;return(async()=>{let s={role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let g=se(e.provider,t?.apiKey,t?.headers),f=Z(e),_=L(n.tools,f.supportsOpenAIGrammarTools),i=oe(t?.cacheRetention,t?.env),h=i==="none"?void 0:t?.sessionId,l=ve(e,n,g,t?.headers,h,f),a=Ae(e,n,t,f,i,_),k=await t?.onPayload?.(a,e);if(k!==void 0)a=k;let T={...t?.signal?{signal:t.signal}:{},...t?.timeoutMs!==void 0?{timeout:t.timeoutMs}:{},maxRetries:0},{data:b,response:D}=await q(()=>l.chat.completions.create(a,T).withResponse(),{maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,signal:t?.signal});await t?.onResponse?.({status:D.status,headers:U(D.headers)},e),r.push({type:"start",partial:s});let N=null,m=null,v=!1,E=new Map,H=new Map,J=new Map,W=s.content,G=(o)=>W.indexOf(o),X=(o)=>{let u=o.customInput?.property;if(u===void 0)return"";let S=o.arguments[u];return typeof S==="string"?S:""},Y=(o,u,S)=>{let c=o.customInput;if(!c)return;let P=He(c.jsonBuffer,c.property,u,S);return o.arguments={[c.property]:u},P},ue=(o)=>{let u=G(o);if(u===-1)return;if(o.type==="text")r.push({type:"text_end",contentIndex:u,content:o.text,partial:s});else if(o.type==="thinking")r.push({type:"thinking_end",contentIndex:u,content:o.thinking,partial:s});else if(o.type==="toolCall"){if(o.customInput){let S=Y(o,X(o),!0);if(S!==void 0)r.push({type:"toolcall_delta",contentIndex:u,delta:S,partial:s})}else o.arguments=R(o.partialArgs);delete o.partialArgs,delete o.customInput,delete o.streamIndex,r.push({type:"toolcall_end",contentIndex:u,toolCall:o,partial:s})}},fe=()=>{if(!N)N={type:"text",text:""},W.push(N),r.push({type:"text_start",contentIndex:G(N),partial:s});return N},le=(o)=>{if(!m)m={type:"thinking",thinking:"",thinkingSignature:o},W.push(m),r.push({type:"thinking_start",contentIndex:G(m),partial:s});return m},ce=(o)=>{if(!o.id)return;let u=J.get(o.id);if(u)o.thoughtSignature=u,J.delete(o.id)},pe=(o)=>{let u=typeof o.index==="number"?o.index:void 0,S=o.function?.name??o.custom?.name??"",c=u!==void 0?E.get(u):void 0;if(!c&&o.id)c=H.get(o.id);if(!c){let P=o.custom?_.get(S)??"input":void 0,K=P!==void 0;if(c={type:"toolCall",id:o.id||"",name:S,arguments:K?{[P]:""}:{},partialArgs:K?void 0:"",customInput:K?{property:P,jsonBuffer:{input:"",started:!1,closed:!1}}:void 0,streamIndex:u},u!==void 0)E.set(u,c);if(o.id)H.set(o.id,c);W.push(c),r.push({type:"toolcall_start",contentIndex:G(c),partial:s})}if(u!==void 0&&c.streamIndex===void 0)c.streamIndex=u,E.set(u,c);if(o.id)H.set(o.id,c);if(!c.name&&S)c.name=S;if(o.custom&&!c.customInput){let P=_.get(c.name)??"input";c.arguments={[P]:""},c.customInput={property:P,jsonBuffer:{input:"",started:!1,closed:!1}},delete c.partialArgs}return ce(c),c};for await(let o of b){if(!o||typeof o!=="object")continue;if(s.responseId||=o.id,typeof o.model==="string"&&o.model.length>0&&o.model!==e.id)s.responseModel||=o.model;if(o.usage)s.usage=ne(o.usage,e);let u=Array.isArray(o.choices)?o.choices[0]:void 0;if(!u)continue;if(!o.usage&&u.usage)s.usage=ne(u.usage,e);if(u.finish_reason){let S=Le(u.finish_reason);if(s.stopReason=S.stopReason,S.errorMessage)s.errorMessage=S.errorMessage;v=!0}if(u.delta){if(u.delta.content!==null&&u.delta.content!==void 0&&u.delta.content.length>0){let p=fe();p.text+=u.delta.content,r.push({type:"text_delta",contentIndex:G(p),delta:u.delta.content,partial:s})}let S=["reasoning_content","reasoning","reasoning_text"],c=u.delta,P=null;for(let p of S){let C=c[p];if(typeof C==="string"&&C.length>0){P=p;break}}if(P){let p=c[P];if(typeof p==="string"&&p.length>0){let C=e.provider==="opencode-go"&&P==="reasoning"?"reasoning_content":P,z=le(C);z.thinking+=p,r.push({type:"thinking_delta",contentIndex:G(z),delta:p,partial:s})}}if(u?.delta?.tool_calls)for(let p of u.delta.tool_calls){let C=pe(p);if(!C.id&&p.id)C.id=p.id,H.set(p.id,C);let z=p.function?.name??p.custom?.name;if(!C.name&&z)C.name=z;let V="";if(p.function?.arguments)V=p.function.arguments,C.partialArgs=(C.partialArgs??"")+p.function.arguments,C.arguments=R(C.partialArgs);else if(p.custom?.input){let ge=X(C)+p.custom.input;V=Y(C,ge,!1)??""}r.push({type:"toolcall_delta",contentIndex:G(C),delta:V,partial:s})}let K=u.delta.reasoning_details;if(Array.isArray(K)){for(let p of K)if(_e(p)){let C=JSON.stringify(p),z=H.get(p.id);if(z)z.thoughtSignature=C;else J.set(p.id,C)}}}}for(let o of W)ue(o);if(t?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="aborted")throw Error("Request was aborted");if(s.stopReason==="error")throw Error(s.errorMessage||"Provider returned an error stop reason");if(!v)throw Error("Stream ended without finish_reason");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(g){for(let _ of s.content)delete _.index,delete _.partialArgs,delete _.customInput,delete _.streamIndex;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=Q(F(g));let f=g?.error?.metadata?.raw;if(f&&!s.errorMessage.includes(String(f)))s.errorMessage+=`
3
+ ${f}`;r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},nt=(e,n,t)=>{se(e.provider,t?.apiKey,t?.headers);let r=B(e,n,t,t?.apiKey),s=t?.reasoning?x(e,t.reasoning):void 0,g=s==="off"?void 0:s,f=t?.toolChoice;return xe(e,n,{...r,reasoningEffort:g,toolChoice:f})};function ve(e,n,t,r,s,g=Z(e)){let f={...e.headers};if(e.provider==="github-copilot"){let _=ye(n.messages),i=be({messages:n.messages,hasImages:_});Object.assign(f,i)}if(s&&g.sendSessionAffinityHeaders)if(g.sessionAffinityFormat==="openrouter")f["x-session-id"]=s;else{if(g.sessionAffinityFormat==="openai")f.session_id=s;f["x-client-request-id"]=s,f["x-session-affinity"]=s}if(r)Object.assign(f,r);return new A({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function Ae(e,n,t,r=Z(e),s=oe(t?.cacheRetention,t?.env),g=L(n.tools,r.supportsOpenAIGrammarTools)){let f=qe(e,n,r,{grammarToolInputProperties:g}),_=Ie(r,s),i={model:e.id,messages:f,stream:!0,prompt_cache_key:e.baseUrl.includes("api.openai.com")&&s!=="none"||s==="long"&&r.supportsLongCacheRetention?j(t?.sessionId):void 0,prompt_cache_retention:s==="long"&&r.supportsLongCacheRetention?"24h":void 0};if(r.supportsUsageInStreaming!==!1)i.stream_options={include_usage:!0};if(r.supportsStore)i.store=!1;if(t?.maxTokens)if(r.maxTokensField==="max_tokens")i.max_tokens=t.maxTokens;else i.max_completion_tokens=t.maxTokens;if(t?.temperature!==void 0)i.temperature=t.temperature;let h=r.deferredToolsMode==="kimi"?he(n.messages):new Set,l=n.tools?.filter((a)=>!h.has(a.name));if(l&&l.length>0){if(i.tools=ae(l,r),r.zaiToolStream)i.tool_stream=!0}else if(de(n.messages))i.tools=[];if(_)we(f,i.tools,_);if(t?.toolChoice)i.tool_choice=t.toolChoice;if(r.thinkingFormat==="zai"&&e.reasoning){let a=i;if(a.thinking=t?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},t?.reasoningEffort&&r.supportsReasoningEffort){let k=e.thinkingLevelMap?.[t.reasoningEffort],T=k===void 0?t.reasoningEffort:k;if(typeof T==="string")a.reasoning_effort=T}}else if(r.thinkingFormat==="qwen"&&e.reasoning)i.enable_thinking=!!t?.reasoningEffort;else if(r.thinkingFormat==="qwen-chat-template"&&e.reasoning)i.chat_template_kwargs={enable_thinking:!!t?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat==="chat-template"&&e.reasoning){let a=Ce(e,t,r);if(a)i.chat_template_kwargs=a}else if(r.thinkingFormat==="deepseek"&&e.reasoning){if(t?.reasoningEffort)i.thinking={type:"enabled"};else if(e.thinkingLevelMap?.off!==null)i.thinking={type:"disabled"};if(t?.reasoningEffort&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="openrouter"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.reasoning={effort:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort};else if(e.thinkingLevelMap?.off!==null)a.reasoning={effort:e.thinkingLevelMap?.off??"none"}}else if(r.thinkingFormat==="ant-ling"&&e.reasoning&&t?.reasoningEffort){let a=e.thinkingLevelMap?.[t.reasoningEffort];if(typeof a==="string")i.reasoning={effort:a}}else if(r.thinkingFormat==="together"&&e.reasoning){let a=i;if(a.reasoning={enabled:!!t?.reasoningEffort},t?.reasoningEffort&&r.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="string-thinking"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.thinking=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(e.thinkingLevelMap?.off!==null)a.thinking=e.thinkingLevelMap?.off??"none"}else if(t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(!t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let a=e.thinkingLevelMap?.off;if(typeof a==="string")i.reasoning_effort=a}if(e.compat?.openRouterRouting)i.provider=e.compat.openRouterRouting;if(e.compat?.vercelGatewayRouting){let a=e.compat.vercelGatewayRouting;if(a.only||a.order){let k={};if(a.only)k.only=a.only;if(a.order)k.order=a.order;i.providerOptions={gateway:k}}}return i}function Ce(e,n,t){let r={};for(let[s,g]of Object.entries(t.chatTemplateKwargs)){let f=Me(e,n,g);if(f!==void 0)r[s]=f}return Object.keys(r).length>0?r:void 0}function Me(e,n,t){if(typeof t!=="object"||t===null)return t;let r=n?.reasoningEffort;if(!r&&t.omitWhenOff)return;if(t.$var==="thinking.enabled")return!!r;let s=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return s===void 0?r:typeof s==="string"?s:void 0}function Ie(e,n){if(e.cacheControlFormat!=="anthropic"||n==="none")return;let t=n==="long"&&e.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...t?{ttl:t}:{}}}function we(e,n,t){Se(e,t),Fe(n,t),Ee(e,t)}function Se(e,n){for(let t of e)if(t.role==="system"||t.role==="developer"){Oe(t,n);return}}function Ee(e,n){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.role==="user"||r.role==="assistant"||r.role==="tool"){if(Pe(r,n))return}}}function Fe(e,n){if(!e||e.length===0)return;let t=e[e.length-1];t.cache_control=n}function Oe(e,n){return ie(e,n)}function Pe(e,n){if(e.role==="user"||e.role==="assistant"||e.role==="tool")return ie(e,n);return!1}function ie(e,n){let t=e.content;if(typeof t==="string"){if(t.length===0)return!1;return e.content=[{type:"text",text:t,cache_control:n}],!0}if(!Array.isArray(t))return!1;for(let r=t.length-1;r>=0;r--){let s=t[r];if(s?.type==="text"){let g=s;return g.cache_control=n,!0}}return!1}function qe(e,n,t,r){let s=[],g=(i)=>{if(i.includes("|")){let h=i.indexOf("|"),l=i.slice(0,h).replace(/[^a-zA-Z0-9_-]/g,"_"),a=i.slice(h+1).replace(/[^a-zA-Z0-9_-]/g,"_"),k=a.length>0?`${l}_${a}`:l;if(k.length<=40)return k;let T=re(i).slice(0,8);return`${l.slice(0,Math.max(1,40-T.length-1))}_${T}`}if(e.provider==="openai")return i.length>40?i.slice(0,40):i;return i},f=O(n.messages,e,(i)=>g(i));if(n.systemPrompt){let h=e.reasoning&&t.supportsDeveloperRole?"developer":"system";s.push({role:h,content:d(n.systemPrompt)})}let _=null;for(let i=0;i<f.length;i++){let h=f[i];if(t.requiresAssistantAfterToolResult&&_==="toolResult"&&h.role==="user")s.push({role:"assistant",content:"I have processed the tool results."});if(h.role==="user")if(typeof h.content==="string")s.push({role:"user",content:d(h.content)});else{let l=h.content.map((a)=>{if(a.type==="text")return{type:"text",text:d(a.text)};else return{type:"image_url",image_url:{url:`data:${a.mimeType};base64,${a.data}`}}});if(l.length===0)continue;s.push({role:"user",content:l})}else if(h.role==="assistant"){let l={role:"assistant",content:t.requiresAssistantAfterToolResult?"":null},a=h.content.filter(te).filter((m)=>m.text.trim().length>0).map((m)=>({type:"text",text:d(m.text)})),k=a.map((m)=>m.text).join(""),T=h.content.filter(ke).filter((m)=>m.thinking.trim().length>0);if(T.length>0)if(t.requiresThinkingAsText){let m=T.map((v)=>d(v.thinking)).join(`
4
4
 
5
- `);l.content=[{type:"text",text:m},...a]}else{if(k.length>0)l.content=k;let m=T[0].thinkingSignature;if(e.provider==="opencode-go"&&m==="reasoning")m="reasoning_content";if(m&&m.length>0)l[m]=T.map((x)=>x.thinking).join(`
6
- `)}else if(k.length>0)l.content=k;let b=h.content.filter(Te);if(b.length>0){l.tool_calls=b.map((x)=>{let E=r?.grammarToolInputProperties?.get(x.name);if(E!==void 0)return{id:x.id,type:"custom",custom:{name:x.name,input:d(We(x.name,x.arguments,E))}};return{id:x.id,type:"function",function:{name:x.name,arguments:JSON.stringify(x.arguments)}}});let m=b.filter((x)=>x.thoughtSignature).map((x)=>{try{return JSON.parse(x.thoughtSignature)}catch{return null}}).filter(Boolean);if(m.length>0)l.reasoning_details=m}if(t.requiresReasoningContentOnAssistantMessages&&e.reasoning&&l.reasoning_content===void 0)l.reasoning_content="";let q=l.content;if(!(q!==null&&q!==void 0&&(typeof q==="string"?q.length>0:q.length>0))&&!l.tool_calls)continue;s.push(l)}else if(h.role==="toolResult"){let l=[],a=new Set,k=i;for(;k<f.length&&f[k].role==="toolResult";k++){let T=f[k],b=T.content.filter(te).map((E)=>E.text).join(`
7
- `),q=T.content.some((E)=>E.type==="image"),m=b.length>0?b:q?"(see attached image)":"(no tool output)",x={role:"tool",content:d(m),tool_call_id:T.toolCallId};if(t.requiresToolResultName&&T.toolName)x.name=T.toolName;if(s.push(x),t.deferredToolsMode==="kimi")for(let E of T.addedToolNames??[])a.add(E);if(q&&e.input.includes("image")){for(let E of T.content)if(Re(E))l.push({type:"image_url",image_url:{url:`data:${E.mimeType};base64,${E.data}`}})}}if(i=k-1,l.length>0){if(t.requiresAssistantAfterToolResult)s.push({role:"assistant",content:"I have processed the tool results."});s.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...l]}),_="user"}else _="toolResult";if(a.size>0){let T=me(n.tools,a);if(T.length>0){let b={role:"system",tools:ae(T,t)};s.push(b)}}continue}_=h.role}return s}function ae(e,n){return e.map((t)=>{let r=Ue(t,n.supportsOpenAIGrammarTools);if(r)return{type:"custom",custom:{name:t.name,description:t.description,format:{type:"grammar",grammar:{syntax:r.format,definition:r.definition}}}};let s=M(t,n.supportsStrictMode!==!1);return{type:"function",function:{name:t.name,description:t.description,parameters:t.parameters,...n.supportsStrictMode!==!1&&{strict:s??!1}}}})}function ne(e,n){let t=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,s=e.prompt_tokens_details?.cache_write_tokens||0,g=Math.max(0,t-r-s),f=e.completion_tokens||0,_={input:g,output:f,cacheRead:r,cacheWrite:s,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:g+f+r+s,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return v(n,_),_}function Le(e){if(e===null)return{stopReason:"stop"};switch(e){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${e}`}}}function Be(e){let{provider:n,baseUrl:t}=e,r=n==="zai"||n==="zai-coding-cn"||t.includes("api.z.ai")||t.includes("open.bigmodel.cn"),s=n==="together"||t.includes("api.together.ai")||t.includes("api.together.xyz"),g=n==="moonshotai"||n==="moonshotai-cn"||t.includes("api.moonshot."),f=n==="openrouter"||t.includes("openrouter.ai"),_=n==="cloudflare-workers-ai"||t.includes("api.cloudflare.com"),i=n==="cloudflare-ai-gateway"||t.includes("gateway.ai.cloudflare.com"),h=n==="nvidia"||t.includes("integrate.api.nvidia.com"),l=n==="ant-ling"||t.includes("api.ant-ling.com"),a=h||n==="cerebras"||t.includes("cerebras.ai")||n==="xai"||t.includes("api.x.ai")||s||t.includes("chutes.ai")||t.includes("deepseek.com")||r||g||n==="opencode"||t.includes("opencode.ai")||_||i||l,k=t.includes("chutes.ai")||g||i||s||h||l,T=n==="xai"||t.includes("api.x.ai"),b=n==="deepseek"||t.includes("deepseek.com"),q=f&&(e.id.startsWith("anthropic/")||e.id.startsWith("openai/")),D=n==="openrouter"&&e.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!a,supportsDeveloperRole:q||!a&&!f,supportsReasoningEffort:!T&&!r&&!g&&!s&&!i&&!h&&!l,supportsUsageInStreaming:!0,maxTokensField:k?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:b,thinkingFormat:b?"deepseek":r?"zai":s?"together":l?"ant-ling":f?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!g&&!s&&!i&&!h,supportsOpenAIGrammarTools:!1,cacheControlFormat:D,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:f?"openrouter":"openai",supportsLongCacheRetention:!(s||_||i||h||l)}}function V(e){let n=Be(e);if(!e.compat)return n;return{supportsStore:e.compat.supportsStore??n.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??n.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??n.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??n.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??n.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??n.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??n.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??n.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??n.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??n.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??n.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??n.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??n.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??n.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??n.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??n.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??n.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??n.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??n.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??n.supportsLongCacheRetention}}export{qe as convertMessages,xe as stream,nt as streamSimple};
5
+ `);l.content=[{type:"text",text:m},...a]}else{if(k.length>0)l.content=k;let m=T[0].thinkingSignature;if(e.provider==="opencode-go"&&m==="reasoning")m="reasoning_content";if(m&&m.length>0)l[m]=T.map((v)=>v.thinking).join(`
6
+ `)}else if(k.length>0)l.content=k;let b=h.content.filter(Te);if(b.length>0){l.tool_calls=b.map((v)=>{let E=r?.grammarToolInputProperties?.get(v.name);if(E!==void 0)return{id:v.id,type:"custom",custom:{name:v.name,input:d(We(v.name,v.arguments,E))}};return{id:v.id,type:"function",function:{name:v.name,arguments:JSON.stringify(v.arguments)}}});let m=b.filter((v)=>v.thoughtSignature).map((v)=>{try{return JSON.parse(v.thoughtSignature)}catch{return null}}).filter(Boolean);if(m.length>0)l.reasoning_details=m}if(t.requiresReasoningContentOnAssistantMessages&&e.reasoning&&l.reasoning_content===void 0)l.reasoning_content="";let D=l.content;if(!(D!==null&&D!==void 0&&(typeof D==="string"?D.length>0:D.length>0))&&!l.tool_calls)continue;s.push(l)}else if(h.role==="toolResult"){let l=[],a=new Set,k=i;for(;k<f.length&&f[k].role==="toolResult";k++){let T=f[k],b=T.content.filter(te).map((E)=>E.text).join(`
7
+ `),D=T.content.some((E)=>E.type==="image"),m=b.length>0?b:D?"(see attached image)":"(no tool output)",v={role:"tool",content:d(m),tool_call_id:T.toolCallId};if(t.requiresToolResultName&&T.toolName)v.name=T.toolName;if(s.push(v),t.deferredToolsMode==="kimi")for(let E of T.addedToolNames??[])a.add(E);if(D&&e.input.includes("image")){for(let E of T.content)if(Re(E))l.push({type:"image_url",image_url:{url:`data:${E.mimeType};base64,${E.data}`}})}}if(i=k-1,l.length>0){if(t.requiresAssistantAfterToolResult)s.push({role:"assistant",content:"I have processed the tool results."});s.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...l]}),_="user"}else _="toolResult";if(a.size>0){let T=me(n.tools,a);if(T.length>0){let b={role:"system",tools:ae(T,t)};s.push(b)}}continue}_=h.role}return s}function ae(e,n){return e.map((t)=>{let r=Ue(t,n.supportsOpenAIGrammarTools);if(r)return{type:"custom",custom:{name:t.name,description:t.description,format:{type:"grammar",grammar:{syntax:r.format,definition:r.definition}}}};let s=M(t,n.supportsStrictMode!==!1);return{type:"function",function:{name:t.name,description:t.description,parameters:t.parameters,...n.supportsStrictMode!==!1&&{strict:s??!1}}}})}function ne(e,n){let t=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,s=e.prompt_tokens_details?.cache_write_tokens||0,g=Math.max(0,t-r-s),f=e.completion_tokens||0,_={input:g,output:f,cacheRead:r,cacheWrite:s,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:g+f+r+s,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return w(n,_),_}function Le(e){if(e===null)return{stopReason:"stop"};switch(e){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${e}`}}}function Be(e){let{provider:n,baseUrl:t}=e,r=n==="zai"||n==="zai-coding-cn"||t.includes("api.z.ai")||t.includes("open.bigmodel.cn"),s=n==="together"||t.includes("api.together.ai")||t.includes("api.together.xyz"),g=n==="moonshotai"||n==="moonshotai-cn"||t.includes("api.moonshot."),f=n==="openrouter"||t.includes("openrouter.ai"),_=n==="cloudflare-workers-ai"||t.includes("api.cloudflare.com"),i=n==="cloudflare-ai-gateway"||t.includes("gateway.ai.cloudflare.com"),h=n==="nvidia"||t.includes("integrate.api.nvidia.com"),l=n==="ant-ling"||t.includes("api.ant-ling.com"),a=h||n==="cerebras"||t.includes("cerebras.ai")||n==="xai"||t.includes("api.x.ai")||s||t.includes("chutes.ai")||t.includes("deepseek.com")||r||g||n==="opencode"||t.includes("opencode.ai")||_||i||l,k=t.includes("chutes.ai")||g||i||s||h||l,T=n==="xai"||t.includes("api.x.ai"),b=n==="deepseek"||t.includes("deepseek.com"),D=f&&(e.id.startsWith("anthropic/")||e.id.startsWith("openai/")),N=n==="openrouter"&&e.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!a,supportsDeveloperRole:D||!a&&!f,supportsReasoningEffort:!T&&!r&&!g&&!s&&!i&&!h&&!l,supportsUsageInStreaming:!0,maxTokensField:k?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:b,thinkingFormat:b?"deepseek":r?"zai":s?"together":l?"ant-ling":f?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!g&&!s&&!i&&!h,supportsOpenAIGrammarTools:!1,cacheControlFormat:N,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:f?"openrouter":"openai",supportsLongCacheRetention:!(s||_||i||h||l)}}function Z(e){let n=Be(e);if(!e.compat)return n;return{supportsStore:e.compat.supportsStore??n.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??n.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??n.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??n.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??n.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??n.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??n.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??n.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??n.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??n.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??n.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??n.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??n.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??n.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??n.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??n.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??n.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??n.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??n.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??n.supportsLongCacheRetention}}export{qe as convertMessages,xe as stream,nt as streamSimple};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ze,w,k,Xe}from"./shumai-agent-app.js";var m=class extends Xe{},p=class{#e;#t;constructor(e){this.#e={...e}}async init(){if(this.#t=new d(this.#e.database),this.#e.onCreateConnection)await this.#e.onCreateConnection(this.#t)}async acquireConnection(){return this.#t}async beginTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async commitTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async rollbackTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async releaseConnection(){}async destroy(){}},d=class{#e;constructor(e){this.#e=e}async executeQuery(e){let t=await this.#e.prepare(e.sql).bind(...e.parameters).all(),a=t.meta.changes!=null?BigInt(t.meta.changes):void 0;return{insertId:t.meta.last_row_id===void 0||t.meta.last_row_id===null?void 0:BigInt(t.meta.last_row_id),rows:t?.results||[],numAffectedRows:a}}async*streamQuery(){throw Error("D1 does not support streaming queries.")}},y=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").where("name","not like","_cf_%").select(["name","type","sql"]).$castTo();if(!e.withInternalKyselyTables)t=t.where("name","!=",w).where("name","!=",k);let a=await t.execute();if(a.length===0)return[];let c=a.map((s)=>this.#t.prepare("SELECT * FROM pragma_table_info(?)").bind(s.name)),l=await this.#t.batch(c);return a.map((s,u)=>{let o=l[u]?.results??[],r=s.sql?.split(/[(),]/)?.find((n)=>n.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,"");if(!r){let n=o.filter((h)=>h.pk>0),i=n.length===1?n[0]:void 0;if(i&&i.type.toLowerCase()==="integer")r=i.name}return{name:s.name,isView:s.type==="view",columns:o.map((n)=>({name:n.name,dataType:n.type,isNullable:!n.notnull,isAutoIncrementing:n.name===r,hasDefaultValue:n.dflt_value!=null}))}})}async getMetadata(e){return{tables:await this.getTables(e)}}},b=class extends Ze{},g=class{#e;constructor(e){this.#e={...e}}createDriver(){return new p(this.#e)}createQueryCompiler(){return new b}createAdapter(){return new m}createIntrospector(e){return new y(e,this.#e.database)}};export{g as D1SqliteDialect};
2
+ import{Ze,v,k,Xe}from"./shumai-agent-app.js";var m=class extends Xe{},p=class{#e;#t;constructor(e){this.#e={...e}}async init(){if(this.#t=new w(this.#e.database),this.#e.onCreateConnection)await this.#e.onCreateConnection(this.#t)}async acquireConnection(){return this.#t}async beginTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async commitTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async rollbackTransaction(){throw Error("D1 does not support interactive transactions. Use the D1 batch() API instead.")}async releaseConnection(){}async destroy(){}},w=class{#e;constructor(e){this.#e=e}async executeQuery(e){let t=await this.#e.prepare(e.sql).bind(...e.parameters).all(),a=t.meta.changes!=null?BigInt(t.meta.changes):void 0;return{insertId:t.meta.last_row_id===void 0||t.meta.last_row_id===null?void 0:BigInt(t.meta.last_row_id),rows:t?.results||[],numAffectedRows:a}}async*streamQuery(){throw Error("D1 does not support streaming queries.")}},d=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom("sqlite_master").where("type","in",["table","view"]).where("name","not like","sqlite_%").where("name","not like","_cf_%").select(["name","type","sql"]).$castTo();if(!e.withInternalKyselyTables)t=t.where("name","!=",v).where("name","!=",k);let a=await t.execute();if(a.length===0)return[];let c=a.map((s)=>this.#t.prepare("SELECT * FROM pragma_table_info(?)").bind(s.name)),l=await this.#t.batch(c);return a.map((s,u)=>{let o=l[u]?.results??[],r=s.sql?.split(/[(),]/)?.find((n)=>n.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,"");if(!r){let n=o.filter((h)=>h.pk>0),i=n.length===1?n[0]:void 0;if(i&&i.type.toLowerCase()==="integer")r=i.name}return{name:s.name,isView:s.type==="view",columns:o.map((n)=>({name:n.name,dataType:n.type,isNullable:!n.notnull,isAutoIncrementing:n.name===r,hasDefaultValue:n.dflt_value!=null}))}})}async getMetadata(e){return{tables:await this.getTables(e)}}},y=class extends Ze{},f=class{#e;constructor(e){this.#e={...e}}createDriver(){return new p(this.#e)}createQueryCompiler(){return new y}createAdapter(){return new m}createIntrospector(e){return new d(e,this.#e.database)}};export{f as D1SqliteDialect};
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{Ye,je}from"./shumai-agent-app.js";import{r}from"./chunk-h47f6dyy.js";var v=r(function(y,s){var{defineProperty:c,getOwnPropertyDescriptor:_,getOwnPropertyNames:k}=Object,l=Object.prototype.hasOwnProperty,u=(o,e)=>{for(var n in e)c(o,n,{get:e[n],enumerable:!0})},d=(o,e,n,a)=>{if(e&&typeof e==="object"||typeof e==="function"){for(let t of k(e))if(!l.call(o,t)&&t!==n)c(o,t,{get:()=>e[t],enumerable:!(a=_(e,t))||a.enumerable})}return o},O=(o)=>d(c({},"__esModule",{value:!0}),o),f={};u(f,{refreshToken:()=>j});s.exports=O(f);var p=Ye(),i=je();async function j(o){let e=o?.project,n=o?.team;if(!e&&!n){let t=(0,i.findProjectInfo)();e=t.projectId,n=t.teamId}else if(!e||!n){let t=(0,i.findProjectInfo)();e=e??t.projectId,n=n??t.teamId}if(!e)throw new p.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let a=(0,i.loadToken)(e);if(!a||(0,i.isExpired)((0,i.getTokenPayload)(a.token),o?.expirationBufferMs)){let t=await(0,i.getVercelToken)({expirationBufferMs:o?.expirationBufferMs});if(a=await(0,i.getVercelOidcToken)(t,e,n),!a)throw new p.VercelOidcTokenError("Failed to refresh OIDC token");(0,i.saveToken)(a,e)}process.env.VERCEL_OIDC_TOKEN=a.token;return}});export default v();
2
+ import{Ye,je}from"./shumai-agent-app.js";import{r}from"./chunk-h2vg744n.js";var v=r(function(y,s){var{defineProperty:c,getOwnPropertyDescriptor:_,getOwnPropertyNames:k}=Object,l=Object.prototype.hasOwnProperty,u=(o,e)=>{for(var n in e)c(o,n,{get:e[n],enumerable:!0})},d=(o,e,n,a)=>{if(e&&typeof e==="object"||typeof e==="function"){for(let t of k(e))if(!l.call(o,t)&&t!==n)c(o,t,{get:()=>e[t],enumerable:!(a=_(e,t))||a.enumerable})}return o},O=(o)=>d(c({},"__esModule",{value:!0}),o),f={};u(f,{refreshToken:()=>j});s.exports=O(f);var p=Ye(),i=je();async function j(o){let e=o?.project,n=o?.team;if(!e&&!n){let t=(0,i.findProjectInfo)();e=t.projectId,n=t.teamId}else if(!e||!n){let t=(0,i.findProjectInfo)();e=e??t.projectId,n=n??t.teamId}if(!e)throw new p.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let a=(0,i.loadToken)(e);if(!a||(0,i.isExpired)((0,i.getTokenPayload)(a.token),o?.expirationBufferMs)){let t=await(0,i.getVercelToken)({expirationBufferMs:o?.expirationBufferMs});if(a=await(0,i.getVercelOidcToken)(t,e,n),!a)throw new p.VercelOidcTokenError("Failed to refresh OIDC token");(0,i.saveToken)(a,e)}process.env.VERCEL_OIDC_TOKEN=a.token;return}});export default v();
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{m,h,f}from"./shumai-agent-app.js";import{i}from"./chunk-h47f6dyy.js";var F=i(f()),d=i(m());var p=i(m()),b=i(h());import{createHash as K,createPrivateKey as _,createPublicKey as v,sign as B}from"crypto";import{promises as C}from"fs";import{homedir as q}from"os";import{dirname as U,join as R}from"path";class k{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300000;constructor(e,t,s){this.profileData=e,this.init=t,this.callerClientConfig=s}async loadCredentials(){let e=await this.loadToken();if(!e)throw new p.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let t=e.accessToken,s=Date.now();if(new Date(t.expiresAt).getTime()-s<=k.REFRESH_THRESHOLD)return this.refresh(e);return this.toCredentials(e.accessToken)}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}toCredentials(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}async refresh(e){let t=await this.loadToken().catch(()=>e),s=Date.now(),r=new Date(t.accessToken.expiresAt).getTime(),n=new Date(e.accessToken.expiresAt).getTime(),o=r<=s&&n>s?e:t;if(new Date(o.accessToken.expiresAt).getTime()-Date.now()>k.REFRESH_THRESHOLD)return this.toCredentials(o.accessToken);let{SigninClient:u,CreateOAuth2TokenCommand:x}=await import("./chunk-nskd7d6r.js"),{logger:E,userAgentAppId:S}=this.callerClientConfig??{},D=((a)=>a?.metadata?.handlerProtocol==="h2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,w=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,y=new u({credentials:{accessKeyId:"",secretAccessKey:""},region:w,requestHandler:D,logger:E,userAgentAppId:S,...this.init?.clientConfig});this.createDPoPInterceptor(y.middlewareStack);let P={tokenInput:{clientId:o.clientId,refreshToken:o.refreshToken,grantType:"refresh_token"}};try{let a=await y.send(new x(P)),{accessKeyId:l,secretAccessKey:T,sessionToken:g}=a.tokenOutput?.accessToken??{},{refreshToken:A,expiresIn:L}=a.tokenOutput??{};if(!l||!T||!g||!A)throw new p.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let O=(L??900)*1000,H=new Date(Date.now()+O),N={...o,accessToken:{...o.accessToken,accessKeyId:l,secretAccessKey:T,sessionToken:g,expiresAt:H.toISOString()},refreshToken:A};return await this.saveToken(N),this.toCredentials(N.accessToken)}catch(a){if(a.name==="AccessDeniedException"){let T=a.error,g;switch(T){case"TOKEN_EXPIRED":g="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":g="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":g="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:g=`Failed to refresh token: ${String(a)}. Please re-authenticate using \`aws login\``}throw new p.CredentialsProviderError(g,{logger:this.logger,tryNextLink:!1})}if(new Date(o.accessToken.expiresAt).getTime()>Date.now())return this.logger?.warn?.(`Failed to refresh token: ${String(a)}. Using existing token until expiry.`),this.toCredentials(o.accessToken);throw new p.CredentialsProviderError(`Failed to refresh token: ${String(a)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let t=await C.readFile(e,"utf8"),s=JSON.parse(t),r=["accessToken","clientId","refreshToken","dpopKey"].filter((n)=>!s[n]);if(!s.accessToken?.accountId)r.push("accountId");if(r.length>0)throw new p.CredentialsProviderError(`Token validation failed, missing fields: ${r.join(", ")}`,{logger:this.logger,tryNextLink:!1});return s}catch(t){throw new p.CredentialsProviderError(`Failed to load token from ${e}: ${String(t)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let t=this.getTokenFilePath(),s=U(t);try{await C.mkdir(s,{recursive:!0})}catch(r){}await C.writeFile(t,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??R(q(),".aws","login","cache"),t=Buffer.from(this.loginSession,"utf8"),s=K("sha256").update(t).digest("hex");return R(e,`${s}.json`)}derToRawSignature(e){let t=2;if(e[t]!==2)throw Error("Invalid DER signature");t++;let s=e[t++],r=e.subarray(t,t+s);if(t+=s,e[t]!==2)throw Error("Invalid DER signature");t++;let n=e[t++],o=e.subarray(t,t+n);r=r[0]===0?r.subarray(1):r,o=o[0]===0?o.subarray(1):o;let c=Buffer.concat([Buffer.alloc(32-r.length),r]),u=Buffer.concat([Buffer.alloc(32-o.length),o]);return Buffer.concat([c,u])}createDPoPInterceptor(e){e.add((t)=>async(s)=>{if(b.HttpRequest.isInstance(s.request)){let r=s.request,n=`${r.protocol}//${r.hostname}${r.port?`:${r.port}`:""}${r.path}`,o=await this.generateDpop(r.method,n);r.headers={...r.headers,DPoP:o}}return t(s)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",t){let s=await this.loadToken();try{let r=_({key:s.dpopKey,format:"pem",type:"sec1"}),o=v(r).export({format:"der",type:"spki"}),c=-1;for(let l=0;l<o.length;l++)if(o[l]===4){c=l;break}let u=o.slice(c+1,c+33),x=o.slice(c+33,c+65),E={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:u.toString("base64url"),y:x.toString("base64url")}},S={jti:crypto.randomUUID(),htm:e,htu:t,iat:Math.floor(Date.now()/1000)},I=Buffer.from(JSON.stringify(E)).toString("base64url"),D=Buffer.from(JSON.stringify(S)).toString("base64url"),w=`${I}.${D}`,y=B("sha256",Buffer.from(w),r),a=this.derToRawSignature(y).toString("base64url");return`${w}.${a}`}catch(r){throw new p.CredentialsProviderError(`Failed to generate Dpop proof: ${r instanceof Error?r.message:String(r)}`,{logger:this.logger,tryNextLink:!1})}}}var j=(e)=>async({callerClientConfig:t}={})=>{e?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let s=await d.parseKnownFiles(e||{}),r=d.getProfileName({profile:e?.profile??t?.profile}),n=s[r];if(!n?.login_session)throw new d.CredentialsProviderError(`Profile ${r} does not contain login_session.`,{tryNextLink:!0,logger:e?.logger});let c=await new k(n,e,t).loadCredentials();return F.setCredentialFeature(c,"CREDENTIALS_LOGIN","AD")};export{j as fromLoginCredentials};
2
+ import{m,h,f}from"./shumai-agent-app.js";import{i}from"./chunk-h2vg744n.js";var F=i(f()),d=i(m());var p=i(m()),b=i(h());import{createHash as K,createPrivateKey as _,createPublicKey as v,sign as B}from"crypto";import{promises as C}from"fs";import{homedir as q}from"os";import{dirname as U,join as R}from"path";class k{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300000;constructor(e,t,s){this.profileData=e,this.init=t,this.callerClientConfig=s}async loadCredentials(){let e=await this.loadToken();if(!e)throw new p.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let t=e.accessToken,s=Date.now();if(new Date(t.expiresAt).getTime()-s<=k.REFRESH_THRESHOLD)return this.refresh(e);return this.toCredentials(e.accessToken)}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}toCredentials(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}async refresh(e){let t=await this.loadToken().catch(()=>e),s=Date.now(),r=new Date(t.accessToken.expiresAt).getTime(),n=new Date(e.accessToken.expiresAt).getTime(),o=r<=s&&n>s?e:t;if(new Date(o.accessToken.expiresAt).getTime()-Date.now()>k.REFRESH_THRESHOLD)return this.toCredentials(o.accessToken);let{SigninClient:u,CreateOAuth2TokenCommand:x}=await import("./chunk-k1rxa979.js"),{logger:E,userAgentAppId:S}=this.callerClientConfig??{},D=((a)=>a?.metadata?.handlerProtocol==="h2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,w=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,y=new u({credentials:{accessKeyId:"",secretAccessKey:""},region:w,requestHandler:D,logger:E,userAgentAppId:S,...this.init?.clientConfig});this.createDPoPInterceptor(y.middlewareStack);let P={tokenInput:{clientId:o.clientId,refreshToken:o.refreshToken,grantType:"refresh_token"}};try{let a=await y.send(new x(P)),{accessKeyId:l,secretAccessKey:T,sessionToken:g}=a.tokenOutput?.accessToken??{},{refreshToken:A,expiresIn:L}=a.tokenOutput??{};if(!l||!T||!g||!A)throw new p.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let O=(L??900)*1000,H=new Date(Date.now()+O),N={...o,accessToken:{...o.accessToken,accessKeyId:l,secretAccessKey:T,sessionToken:g,expiresAt:H.toISOString()},refreshToken:A};return await this.saveToken(N),this.toCredentials(N.accessToken)}catch(a){if(a.name==="AccessDeniedException"){let T=a.error,g;switch(T){case"TOKEN_EXPIRED":g="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":g="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":g="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:g=`Failed to refresh token: ${String(a)}. Please re-authenticate using \`aws login\``}throw new p.CredentialsProviderError(g,{logger:this.logger,tryNextLink:!1})}if(new Date(o.accessToken.expiresAt).getTime()>Date.now())return this.logger?.warn?.(`Failed to refresh token: ${String(a)}. Using existing token until expiry.`),this.toCredentials(o.accessToken);throw new p.CredentialsProviderError(`Failed to refresh token: ${String(a)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let t=await C.readFile(e,"utf8"),s=JSON.parse(t),r=["accessToken","clientId","refreshToken","dpopKey"].filter((n)=>!s[n]);if(!s.accessToken?.accountId)r.push("accountId");if(r.length>0)throw new p.CredentialsProviderError(`Token validation failed, missing fields: ${r.join(", ")}`,{logger:this.logger,tryNextLink:!1});return s}catch(t){throw new p.CredentialsProviderError(`Failed to load token from ${e}: ${String(t)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let t=this.getTokenFilePath(),s=U(t);try{await C.mkdir(s,{recursive:!0})}catch(r){}await C.writeFile(t,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??R(q(),".aws","login","cache"),t=Buffer.from(this.loginSession,"utf8"),s=K("sha256").update(t).digest("hex");return R(e,`${s}.json`)}derToRawSignature(e){let t=2;if(e[t]!==2)throw Error("Invalid DER signature");t++;let s=e[t++],r=e.subarray(t,t+s);if(t+=s,e[t]!==2)throw Error("Invalid DER signature");t++;let n=e[t++],o=e.subarray(t,t+n);r=r[0]===0?r.subarray(1):r,o=o[0]===0?o.subarray(1):o;let c=Buffer.concat([Buffer.alloc(32-r.length),r]),u=Buffer.concat([Buffer.alloc(32-o.length),o]);return Buffer.concat([c,u])}createDPoPInterceptor(e){e.add((t)=>async(s)=>{if(b.HttpRequest.isInstance(s.request)){let r=s.request,n=`${r.protocol}//${r.hostname}${r.port?`:${r.port}`:""}${r.path}`,o=await this.generateDpop(r.method,n);r.headers={...r.headers,DPoP:o}}return t(s)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",t){let s=await this.loadToken();try{let r=_({key:s.dpopKey,format:"pem",type:"sec1"}),o=v(r).export({format:"der",type:"spki"}),c=-1;for(let l=0;l<o.length;l++)if(o[l]===4){c=l;break}let u=o.slice(c+1,c+33),x=o.slice(c+33,c+65),E={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:u.toString("base64url"),y:x.toString("base64url")}},S={jti:crypto.randomUUID(),htm:e,htu:t,iat:Math.floor(Date.now()/1000)},I=Buffer.from(JSON.stringify(E)).toString("base64url"),D=Buffer.from(JSON.stringify(S)).toString("base64url"),w=`${I}.${D}`,y=B("sha256",Buffer.from(w),r),a=this.derToRawSignature(y).toString("base64url");return`${w}.${a}`}catch(r){throw new p.CredentialsProviderError(`Failed to generate Dpop proof: ${r instanceof Error?r.message:String(r)}`,{logger:this.logger,tryNextLink:!1})}}}var j=(e)=>async({callerClientConfig:t}={})=>{e?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let s=await d.parseKnownFiles(e||{}),r=d.getProfileName({profile:e?.profile??t?.profile}),n=s[r];if(!n?.login_session)throw new d.CredentialsProviderError(`Profile ${r} does not contain login_session.`,{tryNextLink:!0,logger:e?.logger});let c=await new k(n,e,t).loadCredentials();return F.setCredentialFeature(c,"CREDENTIALS_LOGIN","AD")};export{j as fromLoginCredentials};
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{yt,D,qe,Ke,$e,et,at,lt,xt,St,oe,X,S}from"./chunk-h2vg744n.js";export{$e as EncryptJWT,Ke as SignJWT,xt as UnsecuredJWT,yt as base64url,et as calculateJwkThumbprint,at as createLocalJWKSet,lt as createRemoteJWKSet,S as decodeJwt,X as decodeProtectedHeader,oe as importJWK,St as importPKCS8,qe as jwtDecrypt,D as jwtVerify};