UNPKG

@adaline/types

Version:
8 lines (6 loc) 16.9 kB
import { z } from 'zod'; var qe="system",$e="user",$="assistant",De="tool",Oe=[qe,$e,$,De],ke=z.enum(Oe),Ge=[$],Ue=z.enum(Ge);var D="image",ie="base64",Ne=["png","jpeg","webp","gif"],Je=z.object({type:z.literal(ie),base64:z.string(),mediaType:z.enum(Ne)}),se="url",He=z.object({type:z.literal(se),url:z.string()}),We=z.discriminatedUnion("type",[Je,He]),_e=["low","medium","high","auto"],Ke=z.enum(_e),O=(e=z.undefined())=>z.object({modality:z.literal(D),detail:Ke,value:We,metadata:e});var k="reasoning",C="partial-reasoning",u="thinking",g="redacted",re=z.object({type:z.literal(u),thinking:z.string(),signature:z.string()}),Ee=z.object({type:z.literal(g),data:z.string()}),Qe=z.discriminatedUnion("type",[re,Ee]),w=(e=z.undefined())=>z.object({modality:z.literal(k),value:Qe,metadata:e}),Xe=z.object({type:z.literal(u),thinking:re.shape.thinking.optional(),signature:re.shape.signature.optional()}),Ye=z.discriminatedUnion("type",[Xe,Ee]),G=(e=z.undefined())=>z.object({modality:z.literal(C),value:Ye,metadata:e});var j="text",N=(e=z.undefined())=>z.object({modality:z.literal(j),value:z.string(),metadata:e}),v="partial-text",Q=(e=z.undefined())=>z.object({modality:z.literal(v),value:z.string(),metadata:e});var F="tool-call",J=(e=z.undefined())=>z.object({modality:z.literal(F),index:z.number().int().nonnegative(),id:z.string().min(1),name:z.string().min(1),arguments:z.string(),metadata:e}),b="partial-tool-call",X=(e=z.undefined())=>z.object({modality:z.literal(b),index:z.number().int().nonnegative(),id:z.string().optional(),name:z.string().optional(),arguments:z.string().optional(),metadata:e});var H="tool-response",Y=(e=z.undefined())=>z.object({modality:z.literal(H),index:z.number().int().nonnegative(),id:z.string().min(1),name:z.string().min(1),data:z.string(),metadata:e});var en=[j,D,F,H,k],Wn=z.enum(en),Le=(e=z.undefined(),n=z.undefined(),o=z.undefined(),i=z.undefined(),s=z.undefined())=>z.discriminatedUnion("modality",[N(e),O(n),J(o),Y(i),w(s)]),nn=[v,b,C],_n=z.enum(nn),Ae=(e=z.undefined(),n=z.undefined(),o=z.undefined())=>z.discriminatedUnion("modality",[Q(e),X(n),G(o)]);var tn="token",Xn=(e=z.undefined())=>z.object({modality:z.literal(tn),value:z.array(z.number().int().nonnegative()),metadata:e});var L=(e=ke,n=z.undefined(),o=z.undefined(),i=z.undefined(),s=z.undefined(),h=z.undefined(),T=z.undefined())=>z.object({role:e,content:z.array(Le(n,o,i,s,T)),metadata:h}),V=(e=Ue,n=z.undefined(),o=z.undefined(),i=z.undefined(),s=z.undefined())=>z.object({role:e,partialContent:Ae(n,o,i),metadata:s});var on=z.object({promptTokens:z.number().nonnegative(),completionTokens:z.number().nonnegative(),totalTokens:z.number().nonnegative()}),Ie=z.object({token:z.string(),logProb:z.number(),bytes:z.array(z.number().int()).nullable()}),an=Ie.extend({topLogProbs:z.array(Ie)}),je=z.array(an),st=z.object({messages:z.array(L()),usage:on.optional(),logProbs:je.optional()}),sn=z.object({promptTokens:z.number().nonnegative().optional(),completionTokens:z.number().nonnegative().optional(),totalTokens:z.number().nonnegative().optional()}),rt=z.object({partialMessages:z.array(V()),usage:sn.optional(),logProbs:je.optional()});var pt=(e=z.record(z.string(),z.any()).optional())=>e;var rn=["object","array","number","string","boolean","enum"],ve=z.enum(rn),ln=z.object({anyOf:z.array(z.any()).optional(),type:z.union([ve,z.array(z.union([ve,z.literal("null")]))]).optional(),default:z.any().optional(),title:z.string().optional(),description:z.string().max(4096).optional(),properties:z.record(z.any()).optional(),required:z.array(z.string()).optional(),minItems:z.number().int().min(0).optional(),maxItems:z.number().int().optional(),items:z.record(z.any()).optional(),enum:z.array(z.union([z.string(),z.number(),z.boolean(),z.null()])).optional(),minimum:z.number().optional(),maximum:z.number().optional(),minLength:z.number().int().min(0).optional(),maxLength:z.number().int().optional(),$ref:z.string().optional()}),dn=z.object({type:z.enum(["object"]),required:z.array(z.string()),$defs:z.record(z.any()).optional(),properties:z.record(ln),additionalProperties:z.literal(!1)}),Tt=z.object({name:z.string().regex(/^[a-zA-Z0-9_]{1,64}$/).max(64),description:z.string().max(4096),strict:z.boolean().optional(),schema:dn}).optional();var Fe="text",we="token",pn=[Fe,we],ct=z.enum(pn),yn=z.array(z.string().min(1)),mn=z.array(z.array(z.number().int().nonnegative())),ft=(e=z.undefined())=>z.discriminatedUnion("modality",[z.object({modality:z.literal(Fe),metadata:e,requests:yn}),z.object({modality:z.literal(we),metadata:e,requests:mn})]);var Tn="float",un=z.object({index:z.number().int().nonnegative(),embedding:z.array(z.number())}),gn="base64",cn=z.object({index:z.number().int().nonnegative(),embedding:z.string().base64()}),Se=z.object({totalTokens:z.number().int().nonnegative()}),Rt=z.discriminatedUnion("encodingFormat",[z.object({encodingFormat:z.literal(Tn),embeddings:z.array(un),usage:Se.optional()}),z.object({encodingFormat:z.literal(gn),embeddings:z.array(cn),usage:Se.optional()})]);var fn=e=>{let n=new WeakSet;return JSON.stringify(e,(o,i)=>{if(typeof i=="object"&&i!==null){if(n.has(i))return;n.add(i);}return i})},Cn=e=>e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:fn(e),de="GatewayBaseError",A=class e extends Error{constructor({info:o,cause:i},s){super(`[${s!=null?s:de}]: ${o} Message: ${Cn(i)}`);this.name=de;this.info=o,this.cause=i,this.name=s!=null?s:de,Object.setPrototypeOf(this,new.target.prototype);}static isGatewayBaseError(o){return o instanceof e}toJSON(){return {name:this.name,info:this.info,cause:this.cause,message:this.message,stack:this.stack}}};var Mn=z.object({inputPricePerMillion:z.number().nonnegative().describe("Price per 1M input tokens"),outputPricePerMillion:z.number().nonnegative().describe("Price per 1M output tokens")}).describe("Input/output price pair (per 1M tokens) for a specific category within a ChatModel pricing tier."),Rn=z.object({base:Mn.describe("Base (uncached, non\u2011reasoning) rates")}).describe("Holds the `ChatModelTokenPairPrice` for different categories (e.g., base) within a single pricing tier."),zn=z.object({minTokens:z.number().int().nonnegative().describe("Inclusive lower token bound for this tier."),maxTokens:z.number().int().nullable().optional().describe("Exclusive upper token bound; `null` means \u221E."),prices:Rn.describe("Price categories and rates for this specific token range.")}).refine(e=>e.maxTokens===null||typeof e.maxTokens=="number"&&e.maxTokens>e.minTokens,{message:"maxTokens must be > minTokens (or null for infinite).",path:["maxTokens"]}).describe("A single pricing tier defined by a token range and associated prices."),Pt=z.object({modelName:z.string().describe("Model name this schedule applies to."),currency:z.string().default("USD").describe("Currency code (e.g., USD)."),tokenRanges:z.array(zn).min(1).describe("Pricing tiers (`ChatModelTokenRangePrice`) schedule, sorted by minTokens.")}).superRefine((e,n)=>{let{tokenRanges:o}=e;o[0].minTokens!==0&&n.addIssue({code:z.ZodIssueCode.custom,path:["tokenRanges",0,"minTokens"],message:"The first tier must have minTokens = 0."});for(let s=1;s<o.length;s++){let h=o[s-1],T=o[s];if(h.maxTokens===null){n.addIssue({code:z.ZodIssueCode.custom,path:["tokenRanges",s-1,"maxTokens"],message:"Cannot define any tokenRanges after an infinite tier (maxTokens = null)."});break}T.minTokens!==h.maxTokens&&n.addIssue({code:z.ZodIssueCode.custom,path:["tokenRanges",s,"minTokens"],message:`Tier ${s} minTokens (${T.minTokens}) must equal previous tier's maxTokens (${h.maxTokens}) for contiguity.`}),T.minTokens<h.minTokens&&n.addIssue({code:z.ZodIssueCode.custom,path:["tokenRanges",s,"minTokens"],message:`tokenRanges must be sorted by ascending minTokens. Tier ${s} (${T.minTokens}) starts before Tier ${s-1} (${h.minTokens}).`});}let i=o[o.length-1];o.every(s=>s.maxTokens!==null||s===i)&&i.maxTokens!==null&&n.addIssue({code:z.ZodIssueCode.custom,path:["tokenRanges",o.length-1,"maxTokens"],message:"The final tier must have maxTokens = null (representing infinity)."});}).describe("Complete pricing schedule for a single chat model, including all its token-based tiers.");var Ve="function",kt=["object","array","number","string","boolean","null"],bn=z.enum(["object","array","number","string","boolean","null"]),xn=z.object({anyOf:z.array(z.any()).optional(),type:bn.optional(),default:z.any().optional(),title:z.string().optional(),description:z.string().max(4096).optional(),properties:z.record(z.any()).optional(),required:z.array(z.string()).optional(),minItems:z.number().int().min(0).optional(),maxItems:z.number().int().optional(),items:z.record(z.any()).optional(),enum:z.array(z.union([z.string(),z.number(),z.boolean(),z.null()])).optional(),minimum:z.number().optional(),maximum:z.number().optional(),minLength:z.number().int().min(0).optional(),maxLength:z.number().int().optional()}),Ut=z.object({type:z.enum(["object"]),title:z.string().optional(),$defs:z.record(z.any()).optional(),properties:z.record(xn).optional(),required:z.array(z.string()).optional()}),Pn=z.object({name:z.string().regex(/^[a-zA-Z0-9_]{1,64}$/).max(64),description:z.string().max(4096),parameters:z.any(),strict:z.boolean().optional()}),Et=["function"],hn=z.enum(["function"]),Be=z.object({type:hn,definition:z.object({schema:Pn})});var Zn=[Ve],jt=z.enum(Zn),vt=(e=z.undefined())=>z.discriminatedUnion("type",[Be.extend({metadata:e})]);var Dt=e=>N().parse({modality:j,value:e}),Ot=(e,n,o,i)=>J().parse({modality:F,index:e,id:n,name:o,arguments:i}),Gt=(e,n)=>L().parse({role:e,content:[N().parse({modality:j,value:n})]}),Nt=(e,n,o)=>L().parse({role:e,content:[O().parse({modality:D,detail:o,value:{type:se,url:n}})]}),Jt=(e,n,o)=>L().parse({role:e,content:[O().parse({modality:D,detail:o,value:{type:ie,base64:n}})]}),Ht=(e,n,o,i,s)=>L().parse({role:e,content:[J().parse({modality:F,index:n,id:o,name:i,arguments:s})]}),Wt=(e,n,o,i,s)=>L().parse({role:e,content:[Y().parse({modality:H,index:n,id:o,name:i,data:s})]}),_t=(e,n)=>V().parse({role:e,partialContent:Q().parse({modality:v,value:n})}),Kt=(e,n,o,i,s)=>V().parse({role:e,partialContent:X().parse({modality:b,index:n,id:o,name:i,arguments:s})}),Qt=(e,n)=>w().parse({modality:k,value:{type:u,thinking:e,signature:n}}),Xt=(e,n,o)=>L().parse({role:e,content:[w().parse({modality:k,value:{type:u,thinking:n,signature:o}})]}),Yt=e=>w().parse({modality:k,value:{type:g,data:e}}),eo=(e,n)=>L().parse({role:e,content:[w().parse({modality:k,value:{type:g,data:n}})]}),no=(e,n,o)=>V().parse({role:e,partialContent:G().parse({modality:C,value:{type:u,thinking:n,signature:o}})}),to=(e,n)=>V().parse({role:e,partialContent:G().parse({modality:C,value:{type:g,data:n}})});var uo=e=>{var Te;let n={messages:[]};if(!e||e.length===0)return n;let o=[],i=null,s=null,h,T=null,p=null,r=null,ee=()=>{let Z=null;if(i===v&&T!==null)Z={modality:j,value:T};else if(i===b&&p)if(p.id&&p.name&&p.arguments!==void 0&&p.index)Z={modality:F,index:p.index,id:p.id,name:p.name,arguments:p.arguments};else throw new A({info:"Incomplete tool call data encountered during finalization. Required fields (id, name, arguments, index) were missing or incomplete.",cause:{currentToolCall:p}});else if(i===C&&r){if(r.type===u)if(r.thinking!==void 0&&r.signature!==void 0)Z={modality:k,value:{type:u,thinking:r.thinking,signature:r.signature}};else throw new A({info:"Incomplete 'thinking' reasoning data encountered during finalization. Required fields (thinking, signature) were missing or incomplete.",cause:{currentReasoning:r}});else if(r.type===g)if(r.data!==void 0)Z={modality:k,value:{type:g,data:r.data}};else throw new A({info:"Incomplete 'redacted' reasoning data encountered during finalization. Required field (data) was missing or incomplete.",cause:{currentReasoning:r}})}Z&&o.push(Z),T=null,p=null,r=null,i=null,s=null,h=void 0;};e.forEach((Z,U)=>{Z.partialMessages&&Z.partialMessages.forEach((K,te)=>{var ue,ge,ce,fe,Ce,Me,Re,ze,be,xe,Pe,he;if(K.role!==$)throw new A({info:`Unexpected message role encountered while merging partial messages. Expected '${$}'.`,cause:{role:K.role,chunkIndex:U,messageIndex:te,message:K}});let q=K.partialContent,R=q.modality,oe=null,ae;if(R===C&&(oe=q.value.type),R===b&&(ae=q.index),(R!==i||R===C&&i===C&&oe!==s||R===b&&i===b&&ae!==h)&&i!==null&&ee(),i===null&&(i=R,R===C&&(s=oe),R===b&&(h=ae)),R===v){let E=q;T=(T!=null?T:"")+((ue=E.value)!=null?ue:"");}else if(R===b){let E=q;p?(p.id+=E.id||"",p.name+=E.name||"",p.arguments+=E.arguments||""):p={index:E.index,id:(ge=E.id)!=null?ge:"",name:(ce=E.name)!=null?ce:"",arguments:(fe=E.arguments)!=null?fe:""};}else if(R===C){let f=q.value;if(r)if(r.type===g&&f.type===g)ee(),r={type:g,data:(ze=f.data)!=null?ze:""},i=R,s=f.type;else if(r.type===u&&f.type===u)r.thinking=((be=r.thinking)!=null?be:"")+((xe=f.thinking)!=null?xe:""),r.signature=((Pe=r.signature)!=null?Pe:"")+((he=f.signature)!=null?he:"");else throw new A({info:"Logic error: Mismatched reasoning types during accumulation.",cause:{currentReasoning:r,valuePart:f,chunkIndex:U,messageIndex:te}});else if(f.type===u)r={type:u,thinking:(Ce=f.thinking)!=null?Ce:"",signature:(Me=f.signature)!=null?Me:""};else if(f.type===g)r={type:g,data:(Re=f.data)!=null?Re:""};else throw new A({info:`Unknown reasoning type encountered during initialization. Expected '${u}' or '${g}'.`,cause:{valuePart:f,chunkIndex:U,messageIndex:te}})}});}),ee(),n.messages=[{role:$,content:o}];let ne,_,ye=0,me=!1,B={promptTokens:0,completionTokens:0,totalTokens:0};for(let Z of e){let U=Z.usage;U&&(me=!0,U.promptTokens!=null&&(ne===void 0&&(ne=U.promptTokens),_=U.promptTokens),U.completionTokens!=null&&(ye+=U.completionTokens));}return me?(B.promptTokens=(Te=_!=null?_:ne)!=null?Te:0,B.completionTokens=ye,B.totalTokens=B.promptTokens+B.completionTokens,n.usage=B):n.usage=void 0,n}; export { $ as AssistantRoleLiteral, cn as Base64Embedding, gn as Base64EmbeddingLiteral, Ne as Base64ImageContentMediaTypeLiterals, ie as Base64ImageContentTypeLiteral, Je as Base64ImageContentValue, Ie as ChatBaseLogProb, an as ChatLogProb, je as ChatLogProbs, Pt as ChatModelPrice, Mn as ChatModelTokenPairPrice, zn as ChatModelTokenRangePrice, Rn as ChatModelTokenTypePrice, st as ChatResponse, on as ChatUsage, pt as Config, Le as Content, ct as EmbeddingModalityEnum, pn as EmbeddingModalityLiterals, ft as EmbeddingRequests, Rt as EmbeddingResponse, Fe as EmbeddingTextModalityLiteral, we as EmbeddingTokenModalityLiteral, Se as EmbeddingsUsage, un as FloatEmbedding, Tn as FloatEmbeddingLiteral, Pn as Function, xn as FunctionParameter, kt as FunctionParameterTypes, bn as FunctionParameterTypesLiteral, Ut as FunctionParameters, Be as FunctionTool, Ve as FunctionToolLiteral, A as GatewayBaseError, O as ImageContent, _e as ImageContentDetails, Ke as ImageContentDetailsLiteral, D as ImageModalityLiteral, L as Message, Wn as ModalityEnum, en as ModalityLiterals, rt as PartialChatResponse, sn as PartialChatUsage, Ae as PartialContent, V as PartialMessage, _n as PartialModalityEnum, nn as PartialModalityLiterals, G as PartialReasoningContent, Xe as PartialReasoningContentValue, Ye as PartialReasoningContentValueUnion, C as PartialReasoningModalityLiteral, Ue as PartialRoleEnum, Ge as PartialRoleLiterals, Q as PartialTextContent, v as PartialTextModalityLiteral, X as PartialToolCallContent, b as PartialToolCallModalityLiteral, w as ReasoningContent, u as ReasoningContentTypeLiteral, re as ReasoningContentValue, Qe as ReasoningContentValueUnion, k as ReasoningModalityLiteral, g as RedactedReasoningContentTypeLiteral, Ee as RedactedReasoningContentValue, Tt as ResponseSchema, ln as ResponseSchemaProperty, dn as ResponseSchemaStructure, rn as ResponseSchemaTypes, ve as ResponseSchemaTypesLiteral, ke as RoleEnum, Oe as RoleLiterals, qe as SystemRoleLiteral, N as TextContent, yn as TextEmbeddingRequests, j as TextModalityLiteral, Xn as TokenContent, mn as TokenEmbeddingRequests, tn as TokenModalityLiteral, vt as Tool, J as ToolCallContent, F as ToolCallModalityLiteral, jt as ToolEnum, Zn as ToolLiterals, Y as ToolResponseContent, H as ToolResponseModalityLiteral, De as ToolRoleLiteral, Et as ToolTypes, hn as ToolTypesLiteral, se as UrlImageContentTypeLiteral, He as UrlImageContentValue, $e as UserRoleLiteral, Jt as createBase64ImageMessage, no as createPartialReasoningMessage, to as createPartialRedactedReasoningMessage, _t as createPartialTextMessage, Kt as createPartialToolCallMessage, Qt as createReasoningContent, Xt as createReasoningMessage, Yt as createRedactedReasoningContent, eo as createRedactedReasoningMessage, Dt as createTextContent, Gt as createTextMessage, Ot as createToolCallContent, Ht as createToolCallMessage, Wt as createToolResponseMessage, Nt as createUrlImageMessage, uo as mergePartialMessages }; //# sourceMappingURL=index.mjs.map //# sourceMappingURL=index.mjs.map