@adaline/types
Version:
Adaline Types
116 lines (113 loc) • 18.6 kB
JavaScript
;
var zod = require('zod');
var qe="system",$e="user",$="assistant",De="tool",Oe=[qe,$e,$,De],ke=zod.z.enum(Oe),Ge=[$],Ue=zod.z.enum(Ge);var D="image",ie="base64",Ne=["png","jpeg","webp","gif"],Je=zod.z.object({type:zod.z.literal(ie),base64:zod.z.string(),mediaType:zod.z.enum(Ne)}),se="url",He=zod.z.object({type:zod.z.literal(se),url:zod.z.string()}),We=zod.z.discriminatedUnion("type",[Je,He]),_e=["low","medium","high","auto"],Ke=zod.z.enum(_e),O=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(D),detail:Ke,value:We,metadata:e});var k="reasoning",C="partial-reasoning",u="thinking",g="redacted",re=zod.z.object({type:zod.z.literal(u),thinking:zod.z.string(),signature:zod.z.string()}),Ee=zod.z.object({type:zod.z.literal(g),data:zod.z.string()}),Qe=zod.z.discriminatedUnion("type",[re,Ee]),w=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(k),value:Qe,metadata:e}),Xe=zod.z.object({type:zod.z.literal(u),thinking:re.shape.thinking.optional(),signature:re.shape.signature.optional()}),Ye=zod.z.discriminatedUnion("type",[Xe,Ee]),G=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(C),value:Ye,metadata:e});var j="text",N=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(j),value:zod.z.string(),metadata:e}),v="partial-text",Q=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(v),value:zod.z.string(),metadata:e});var F="tool-call",J=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(F),index:zod.z.number().int().nonnegative(),id:zod.z.string().min(1),name:zod.z.string().min(1),arguments:zod.z.string(),metadata:e}),b="partial-tool-call",X=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(b),index:zod.z.number().int().nonnegative(),id:zod.z.string().optional(),name:zod.z.string().optional(),arguments:zod.z.string().optional(),metadata:e});var H="tool-response",Y=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(H),index:zod.z.number().int().nonnegative(),id:zod.z.string().min(1),name:zod.z.string().min(1),data:zod.z.string(),metadata:e});var en=[j,D,F,H,k],Wn=zod.z.enum(en),Le=(e=zod.z.undefined(),n=zod.z.undefined(),o=zod.z.undefined(),i=zod.z.undefined(),s=zod.z.undefined())=>zod.z.discriminatedUnion("modality",[N(e),O(n),J(o),Y(i),w(s)]),nn=[v,b,C],_n=zod.z.enum(nn),Ae=(e=zod.z.undefined(),n=zod.z.undefined(),o=zod.z.undefined())=>zod.z.discriminatedUnion("modality",[Q(e),X(n),G(o)]);var tn="token",Xn=(e=zod.z.undefined())=>zod.z.object({modality:zod.z.literal(tn),value:zod.z.array(zod.z.number().int().nonnegative()),metadata:e});var L=(e=ke,n=zod.z.undefined(),o=zod.z.undefined(),i=zod.z.undefined(),s=zod.z.undefined(),h=zod.z.undefined(),T=zod.z.undefined())=>zod.z.object({role:e,content:zod.z.array(Le(n,o,i,s,T)),metadata:h}),V=(e=Ue,n=zod.z.undefined(),o=zod.z.undefined(),i=zod.z.undefined(),s=zod.z.undefined())=>zod.z.object({role:e,partialContent:Ae(n,o,i),metadata:s});var on=zod.z.object({promptTokens:zod.z.number().nonnegative(),completionTokens:zod.z.number().nonnegative(),totalTokens:zod.z.number().nonnegative()}),Ie=zod.z.object({token:zod.z.string(),logProb:zod.z.number(),bytes:zod.z.array(zod.z.number().int()).nullable()}),an=Ie.extend({topLogProbs:zod.z.array(Ie)}),je=zod.z.array(an),st=zod.z.object({messages:zod.z.array(L()),usage:on.optional(),logProbs:je.optional()}),sn=zod.z.object({promptTokens:zod.z.number().nonnegative().optional(),completionTokens:zod.z.number().nonnegative().optional(),totalTokens:zod.z.number().nonnegative().optional()}),rt=zod.z.object({partialMessages:zod.z.array(V()),usage:sn.optional(),logProbs:je.optional()});var pt=(e=zod.z.record(zod.z.string(),zod.z.any()).optional())=>e;var rn=["object","array","number","string","boolean","enum"],ve=zod.z.enum(rn),ln=zod.z.object({anyOf:zod.z.array(zod.z.any()).optional(),type:zod.z.union([ve,zod.z.array(zod.z.union([ve,zod.z.literal("null")]))]).optional(),default:zod.z.any().optional(),title:zod.z.string().optional(),description:zod.z.string().max(4096).optional(),properties:zod.z.record(zod.z.any()).optional(),required:zod.z.array(zod.z.string()).optional(),minItems:zod.z.number().int().min(0).optional(),maxItems:zod.z.number().int().optional(),items:zod.z.record(zod.z.any()).optional(),enum:zod.z.array(zod.z.union([zod.z.string(),zod.z.number(),zod.z.boolean(),zod.z.null()])).optional(),minimum:zod.z.number().optional(),maximum:zod.z.number().optional(),minLength:zod.z.number().int().min(0).optional(),maxLength:zod.z.number().int().optional(),$ref:zod.z.string().optional()}),dn=zod.z.object({type:zod.z.enum(["object"]),required:zod.z.array(zod.z.string()),$defs:zod.z.record(zod.z.any()).optional(),properties:zod.z.record(ln),additionalProperties:zod.z.literal(!1)}),Tt=zod.z.object({name:zod.z.string().regex(/^[a-zA-Z0-9_]{1,64}$/).max(64),description:zod.z.string().max(4096),strict:zod.z.boolean().optional(),schema:dn}).optional();var Fe="text",we="token",pn=[Fe,we],ct=zod.z.enum(pn),yn=zod.z.array(zod.z.string().min(1)),mn=zod.z.array(zod.z.array(zod.z.number().int().nonnegative())),ft=(e=zod.z.undefined())=>zod.z.discriminatedUnion("modality",[zod.z.object({modality:zod.z.literal(Fe),metadata:e,requests:yn}),zod.z.object({modality:zod.z.literal(we),metadata:e,requests:mn})]);var Tn="float",un=zod.z.object({index:zod.z.number().int().nonnegative(),embedding:zod.z.array(zod.z.number())}),gn="base64",cn=zod.z.object({index:zod.z.number().int().nonnegative(),embedding:zod.z.string().base64()}),Se=zod.z.object({totalTokens:zod.z.number().int().nonnegative()}),Rt=zod.z.discriminatedUnion("encodingFormat",[zod.z.object({encodingFormat:zod.z.literal(Tn),embeddings:zod.z.array(un),usage:Se.optional()}),zod.z.object({encodingFormat:zod.z.literal(gn),embeddings:zod.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=zod.z.object({inputPricePerMillion:zod.z.number().nonnegative().describe("Price per 1M input tokens"),outputPricePerMillion:zod.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=zod.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=zod.z.object({minTokens:zod.z.number().int().nonnegative().describe("Inclusive lower token bound for this tier."),maxTokens:zod.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=zod.z.object({modelName:zod.z.string().describe("Model name this schedule applies to."),currency:zod.z.string().default("USD").describe("Currency code (e.g., USD)."),tokenRanges:zod.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:zod.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:zod.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:zod.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:zod.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:zod.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=zod.z.enum(["object","array","number","string","boolean","null"]),xn=zod.z.object({anyOf:zod.z.array(zod.z.any()).optional(),type:bn.optional(),default:zod.z.any().optional(),title:zod.z.string().optional(),description:zod.z.string().max(4096).optional(),properties:zod.z.record(zod.z.any()).optional(),required:zod.z.array(zod.z.string()).optional(),minItems:zod.z.number().int().min(0).optional(),maxItems:zod.z.number().int().optional(),items:zod.z.record(zod.z.any()).optional(),enum:zod.z.array(zod.z.union([zod.z.string(),zod.z.number(),zod.z.boolean(),zod.z.null()])).optional(),minimum:zod.z.number().optional(),maximum:zod.z.number().optional(),minLength:zod.z.number().int().min(0).optional(),maxLength:zod.z.number().int().optional()}),Ut=zod.z.object({type:zod.z.enum(["object"]),title:zod.z.string().optional(),$defs:zod.z.record(zod.z.any()).optional(),properties:zod.z.record(xn).optional(),required:zod.z.array(zod.z.string()).optional()}),Pn=zod.z.object({name:zod.z.string().regex(/^[a-zA-Z0-9_]{1,64}$/).max(64),description:zod.z.string().max(4096),parameters:zod.z.any(),strict:zod.z.boolean().optional()}),Et=["function"],hn=zod.z.enum(["function"]),Be=zod.z.object({type:hn,definition:zod.z.object({schema:Pn})});var Zn=[Ve],jt=zod.z.enum(Zn),vt=(e=zod.z.undefined())=>zod.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};
exports.AssistantRoleLiteral = $;
exports.Base64Embedding = cn;
exports.Base64EmbeddingLiteral = gn;
exports.Base64ImageContentMediaTypeLiterals = Ne;
exports.Base64ImageContentTypeLiteral = ie;
exports.Base64ImageContentValue = Je;
exports.ChatBaseLogProb = Ie;
exports.ChatLogProb = an;
exports.ChatLogProbs = je;
exports.ChatModelPrice = Pt;
exports.ChatModelTokenPairPrice = Mn;
exports.ChatModelTokenRangePrice = zn;
exports.ChatModelTokenTypePrice = Rn;
exports.ChatResponse = st;
exports.ChatUsage = on;
exports.Config = pt;
exports.Content = Le;
exports.EmbeddingModalityEnum = ct;
exports.EmbeddingModalityLiterals = pn;
exports.EmbeddingRequests = ft;
exports.EmbeddingResponse = Rt;
exports.EmbeddingTextModalityLiteral = Fe;
exports.EmbeddingTokenModalityLiteral = we;
exports.EmbeddingsUsage = Se;
exports.FloatEmbedding = un;
exports.FloatEmbeddingLiteral = Tn;
exports.Function = Pn;
exports.FunctionParameter = xn;
exports.FunctionParameterTypes = kt;
exports.FunctionParameterTypesLiteral = bn;
exports.FunctionParameters = Ut;
exports.FunctionTool = Be;
exports.FunctionToolLiteral = Ve;
exports.GatewayBaseError = A;
exports.ImageContent = O;
exports.ImageContentDetails = _e;
exports.ImageContentDetailsLiteral = Ke;
exports.ImageModalityLiteral = D;
exports.Message = L;
exports.ModalityEnum = Wn;
exports.ModalityLiterals = en;
exports.PartialChatResponse = rt;
exports.PartialChatUsage = sn;
exports.PartialContent = Ae;
exports.PartialMessage = V;
exports.PartialModalityEnum = _n;
exports.PartialModalityLiterals = nn;
exports.PartialReasoningContent = G;
exports.PartialReasoningContentValue = Xe;
exports.PartialReasoningContentValueUnion = Ye;
exports.PartialReasoningModalityLiteral = C;
exports.PartialRoleEnum = Ue;
exports.PartialRoleLiterals = Ge;
exports.PartialTextContent = Q;
exports.PartialTextModalityLiteral = v;
exports.PartialToolCallContent = X;
exports.PartialToolCallModalityLiteral = b;
exports.ReasoningContent = w;
exports.ReasoningContentTypeLiteral = u;
exports.ReasoningContentValue = re;
exports.ReasoningContentValueUnion = Qe;
exports.ReasoningModalityLiteral = k;
exports.RedactedReasoningContentTypeLiteral = g;
exports.RedactedReasoningContentValue = Ee;
exports.ResponseSchema = Tt;
exports.ResponseSchemaProperty = ln;
exports.ResponseSchemaStructure = dn;
exports.ResponseSchemaTypes = rn;
exports.ResponseSchemaTypesLiteral = ve;
exports.RoleEnum = ke;
exports.RoleLiterals = Oe;
exports.SystemRoleLiteral = qe;
exports.TextContent = N;
exports.TextEmbeddingRequests = yn;
exports.TextModalityLiteral = j;
exports.TokenContent = Xn;
exports.TokenEmbeddingRequests = mn;
exports.TokenModalityLiteral = tn;
exports.Tool = vt;
exports.ToolCallContent = J;
exports.ToolCallModalityLiteral = F;
exports.ToolEnum = jt;
exports.ToolLiterals = Zn;
exports.ToolResponseContent = Y;
exports.ToolResponseModalityLiteral = H;
exports.ToolRoleLiteral = De;
exports.ToolTypes = Et;
exports.ToolTypesLiteral = hn;
exports.UrlImageContentTypeLiteral = se;
exports.UrlImageContentValue = He;
exports.UserRoleLiteral = $e;
exports.createBase64ImageMessage = Jt;
exports.createPartialReasoningMessage = no;
exports.createPartialRedactedReasoningMessage = to;
exports.createPartialTextMessage = _t;
exports.createPartialToolCallMessage = Kt;
exports.createReasoningContent = Qt;
exports.createReasoningMessage = Xt;
exports.createRedactedReasoningContent = Yt;
exports.createRedactedReasoningMessage = eo;
exports.createTextContent = Dt;
exports.createTextMessage = Gt;
exports.createToolCallContent = Ot;
exports.createToolCallMessage = Ht;
exports.createToolResponseMessage = Wt;
exports.createUrlImageMessage = Nt;
exports.mergePartialMessages = uo;
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map