agentstack-sdk 0.6.0-rc4 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- import t from"zod";function e(){return e=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)({}).hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},e.apply(null,arguments)}function n(t,n){const i=null!=n?n:void 0!==globalThis.fetch?globalThis.fetch:void 0;if(!i)throw new Error("fetch is not available. In Node.js < 18 or environments without global fetch, provide a fetch implementation via the baseFetch parameter.");return async(n,r)=>{const a=new Headers(null==r?void 0:r.headers);return a.set("Authorization",`Bearer ${t}`),i(n,e({},r,{headers:a}))}}function i(t){const e=t.getMessageMetadataSchema(),n=t.getUri();return function(t){const{success:i,data:r,error:a}=e.safeParse(null!=t?t:{});return i||console.warn(a),i?r[n]:null}}function r(t){const e=t.getDemandsSchema(),n=t.getUri();return function(t){const i=t.find(t=>t.uri===n);if(null==i||!i.params)return null;const{success:r,data:a,error:o}=e.safeParse(i.params);return r?a:(console.warn(o),null)}}function a(t){const n=t.getFulfillmentsSchema(),i=t.getUri();return function(t,r){const{success:a,data:o,error:s}=n.safeParse(r);return a||console.warn(s),e({},t,{[i]:a?o:{}})}}var o;!function(t){t.Approve="approve",t.Reject="reject"}(o||(o={}));const s=t.object({action:t.literal("generic"),title:t.string().nullish().describe("A human-readable title for the action being approved."),description:t.string().nullish().describe("A human-readable description of the action being approved.")}),l=t.object({action:t.literal("tool-call"),title:t.string().nullish().describe("A human-readable title of the tool."),description:t.string().nullish().describe("A human-readable description of the tool."),name:t.string().describe("The programmatic name of the tool."),input:t.object().nullish().describe("The input for the tool."),server:t.object({name:t.string().describe("The programmatic name of the server."),title:t.string().nullish().describe("A human-readable title for the server."),version:t.string().describe("The version of the server.")}).nullish().describe("The server executing the tool.")}),c=t.discriminatedUnion("action",[s,l]),d=t.enum(o),g=(t.object({decision:d}),"https://a2a-extensions.agentstack.beeai.dev/interactions/approval/v1"),u={getUri:()=>g,getMessageMetadataSchema:()=>t.object({[g]:c}).partial()},p=(t.object({start_index:t.int(),end_index:t.int(),description:t.string().nullish(),artifact_id:t.string()}),"https://a2a-extensions.agentstack.beeai.dev/ui/canvas/v1"),m=t.object({id:t.string().nonempty(),label:t.string().nonempty(),required:t.boolean(),col_span:t.int().min(1).max(4).nullish()}),b=m.extend({type:t.literal("text"),placeholder:t.string().nullish(),default_value:t.string().nullish(),auto_resize:t.boolean().default(!0).nullish()}),h=m.extend({type:t.literal("date"),placeholder:t.string().nullish(),default_value:t.string().nullish()}),_=m.extend({type:t.literal("file"),accept:t.array(t.string())}),y=m.extend({type:t.literal("singleselect"),options:t.array(t.object({id:t.string().nonempty(),label:t.string().nonempty()})).nonempty(),default_value:t.string().nullish()}),f=m.extend({type:t.literal("multiselect"),options:t.array(t.object({id:t.string().nonempty(),label:t.string().nonempty()})).nonempty(),default_value:t.array(t.string()).nullish()}),j=m.extend({type:t.literal("checkbox"),content:t.string(),default_value:t.boolean()}),v=t.discriminatedUnion("type",[b,h,_,y,f,j]),x=t.object({type:b.shape.type,value:t.string().nullish()}),k=t.object({type:h.shape.type,value:t.string().nullish()}),w=t.object({type:_.shape.type,value:t.array(t.object({uri:t.string(),name:t.string().nullish(),mime_type:t.string().nullish()})).nullish()}),U=t.object({type:y.shape.type,value:t.string().nullish()}),S=t.object({type:f.shape.type,value:t.array(t.string()).nullish()}),q=t.object({type:j.shape.type,value:t.boolean().nullish()}),M=t.discriminatedUnion("type",[x,k,w,U,S,q]),T=t.object({title:t.string().nullish(),description:t.string().nullish(),columns:t.int().min(1).max(4).nullish(),submit_label:t.string().nullish(),fields:t.array(v).nonempty()}),I=t.record(t.string(),M),D=t.object({values:I}),R="https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1",A={getUri:()=>R,getMessageMetadataSchema:()=>t.object({[R]:T}).partial()},O=async t=>{const e={},{form:n,canvasEditRequest:i,approvalResponse:r}=t;return n&&(e[A.getUri()]={values:n}),i&&(e[p]=i),r&&(e[g]=r),e};var C,E;!function(t){t.SecretRequired="secret-required",t.FormRequired="form-required",t.OAuthRequired="oauth-required",t.ApprovalRequired="approval-required"}(C||(C={})),function(t){t.Get="GET",t.Post="POST",t.Put="PUT",t.Delete="DELETE",t.Patch="PATCH"}(E||(E={})),t.object({id:t.string(),created_by:t.string(),updated_at:t.string(),default_embedding_model:t.string().nullish(),default_llm_model:t.string().nullish()}),t.never(),t.object({default_embedding_model:t.string().nullish(),default_llm_model:t.string().nullish()});const P=t.object({limit:t.number().optional(),order:t.string().optional(),order_by:t.string().optional(),page_token:t.string().nullish()}),F=t.object({items:t.array(t.unknown()),total_count:t.number(),has_more:t.boolean(),next_page_token:t.string().nullable()});var z;!function(t){t.Created="created",t.AuthRequired="auth_required",t.Connected="connected",t.Disconnected="disconnected"}(z||(z={}));const H=t.enum(z),N=t.object({id:t.string(),url:t.string(),state:H,auth_request:t.object({type:t.literal("code"),authorization_endpoint:t.string()}).nullable(),disconnect_reason:t.string().nullable(),metadata:t.record(t.string(),t.string()).nullable()});t.never(),F.extend({items:t.array(N)}),t.object({match_preset:t.boolean(),url:t.string(),client_id:t.string().nullish(),client_secret:t.string().nullish(),metadata:t.record(t.string(),t.string()).nullish()}),t.object({connector_id:t.string()}),t.object({connector_id:t.string()}),t.null(),t.object({connector_id:t.string(),redirect_url:t.string().nullish()}),t.object({connector_id:t.string()});const G=t.object({url:t.string(),metadata:t.record(t.string(),t.string()).nullable()});function L(e){return t.preprocess(t=>Z(e,t),e)}function Z(e,n){if(e instanceof t.ZodOptional){if(null===n)return;return Z(e.unwrap(),n)}if(e instanceof t.ZodObject){if(null===n||"object"!=typeof n||Array.isArray(n))return n;const{shape:t}=e,i=n;return Object.keys(i).reduce((e,n)=>(e[n]=n in t?Z(t[n],i[n]):i[n],e),{})}return n}t.never(),F.extend({items:t.array(G)});const B=L(t.object({transport:t.string(),url:t.string()})),V=L(t.object({uri:t.string(),description:t.string().optional(),required:t.boolean().optional(),params:t.record(t.string(),t.unknown()).optional()})),$=L(t.object({extensions:t.array(V).optional(),pushNotifications:t.boolean().optional(),stateTransitionHistory:t.boolean().optional(),streaming:t.boolean().optional()})),J=L(t.object({url:t.string(),organization:t.string()})),K=L(t.object({signature:t.string(),protected:t.string(),header:t.record(t.string(),t.unknown()).optional()})),W=L(t.object({id:t.string(),name:t.string(),description:t.string(),tags:t.array(t.string()),inputModes:t.array(t.string()).optional(),outputModes:t.array(t.string()).optional(),examples:t.array(t.string()).optional(),security:t.array(t.record(t.string(),t.array(t.string()))).optional()})),Q=L(t.object({authorizationUrl:t.string(),tokenUrl:t.string(),scopes:t.record(t.string(),t.string()),refreshUrl:t.string().optional()})),X=L(t.object({tokenUrl:t.string(),scopes:t.record(t.string(),t.string()),refreshUrl:t.string().optional()})),Y=L(t.object({authorizationUrl:t.string(),scopes:t.record(t.string(),t.string()),refreshUrl:t.string().optional()})),tt=L(t.object({tokenUrl:t.string(),scopes:t.record(t.string(),t.string()),refreshUrl:t.string().optional()})),et=L(t.object({authorizationCode:Q.optional(),clientCredentials:X.optional(),implicit:Y.optional(),password:tt.optional()})),nt=L(t.object({type:t.literal("apiKey"),name:t.string(),in:t.literal(["cookie","header","query"]),description:t.string().optional()})),it=L(t.object({type:t.literal("http"),scheme:t.string(),description:t.string().optional(),bearerFormat:t.string().optional()})),rt=L(t.object({type:t.literal("oauth2"),flows:et,description:t.string().optional(),oauth2MetadataUrl:t.string().optional()})),at=L(t.object({type:t.literal("openIdConnect"),openIdConnectUrl:t.string(),description:t.string().optional()})),ot=L(t.object({type:t.literal("mutualTLS"),description:t.string().optional()})),st=L(t.union([nt,it,rt,at,ot])),lt=L(t.object({url:t.string(),name:t.string(),description:t.string(),version:t.string(),protocolVersion:t.string(),capabilities:$,defaultInputModes:t.array(t.string()),defaultOutputModes:t.array(t.string()),skills:t.array(W),iconUrl:t.string().optional(),documentationUrl:t.string().optional(),preferredTransport:t.string().optional(),supportsAuthenticatedExtendedCard:t.boolean().optional(),additionalInterfaces:t.array(B).optional(),provider:J.optional(),signatures:t.array(K).optional(),security:t.array(t.record(t.string(),t.array(t.string()))).optional(),securitySchemes:t.record(t.string(),st).optional()})),ct=L(t.object({bytes:t.string(),mimeType:t.string().optional(),name:t.string().optional()})),dt=L(t.object({uri:t.string(),mimeType:t.string().optional(),name:t.string().optional()})),gt=L(t.object({kind:t.literal("text"),text:t.string(),metadata:t.record(t.string(),t.unknown()).optional()})),ut=L(t.object({kind:t.literal("file"),file:t.union([ct,dt]),metadata:t.record(t.string(),t.unknown()).optional()})),pt=L(t.object({kind:t.literal("data"),data:t.record(t.string(),t.unknown()),metadata:t.record(t.string(),t.unknown()).optional()})),mt=L(t.union([gt,ut,pt])),bt=L(t.object({artifactId:t.string(),parts:t.array(mt),description:t.string().optional(),extensions:t.array(t.string()).optional(),metadata:t.record(t.string(),t.unknown()).optional(),name:t.string().optional()})),ht=L(t.object({kind:t.literal("message"),messageId:t.string(),parts:t.array(mt),role:t.literal(["agent","user"]),contextId:t.string().optional(),extensions:t.array(t.string()).optional(),metadata:t.record(t.string(),t.unknown()).optional(),referenceTaskIds:t.array(t.string()).optional(),taskId:t.string().optional()})),_t=L(t.object({state:t.literal(["submitted","working","input-required","completed","canceled","failed","rejected","auth-required","unknown"]),message:ht.optional(),timestamp:t.string().optional()}));L(t.object({kind:t.literal("status-update"),taskId:t.string(),contextId:t.string(),status:_t,final:t.boolean(),metadata:t.record(t.string(),t.unknown()).optional()}));const yt=L(t.object({kind:t.literal("task"),id:t.string(),contextId:t.string(),status:_t,artifacts:t.array(bt).optional(),history:t.array(ht).optional(),metadata:t.record(t.string(),t.unknown()).optional()}));L(t.object({kind:t.literal("artifact-update"),taskId:t.string(),contextId:t.string(),artifact:bt,append:t.boolean().optional(),lastChunk:t.boolean().optional(),metadata:t.record(t.string(),t.unknown()).optional()}));const ft=t.object({message:t.string(),data:t.record(t.string(),t.unknown()).optional()}),jt=L(ft.extend({code:t.number()})),vt=L(ft.extend({code:t.literal(-32700)})),xt=L(ft.extend({code:t.literal(-32600)})),kt=L(ft.extend({code:t.literal(-32601)})),wt=L(ft.extend({code:t.literal(-32602)})),Ut=L(ft.extend({code:t.literal(-32603)})),St=L(ft.extend({code:t.literal(-32001)})),qt=L(ft.extend({code:t.literal(-32002)})),Mt=L(ft.extend({code:t.literal(-32003)})),Tt=L(ft.extend({code:t.literal(-32004)})),It=L(ft.extend({code:t.literal(-32005)})),Dt=L(ft.extend({code:t.literal(-32006)})),Rt=L(ft.extend({code:t.literal(-32007)})),At=L(t.object({jsonrpc:t.literal("2.0"),id:t.union([t.string(),t.number()]).nullable(),error:t.union([jt,vt,xt,kt,wt,Ut,St,qt,Mt,Tt,It,Dt,Rt])})),Ot=L(t.object({jsonrpc:t.literal("2.0"),id:t.union([t.string(),t.number()]).nullable(),result:yt}));var Ct;L(t.union([At,Ot])),function(t){t.Artifact="artifact",t.Message="message"}(Ct||(Ct={}));const Et=t.object({id:t.string(),created_at:t.string(),updated_at:t.string(),last_active_at:t.string(),created_by:t.string(),provider_id:t.string().nullable(),metadata:t.record(t.string(),t.unknown()).nullable()});t.object({query:P.extend({provider_id:t.string().nullish(),include_empty:t.boolean().optional()}).optional()}),F.extend({items:t.array(Et)}),t.object({provider_id:t.string().nullish(),metadata:t.record(t.string(),t.string()).nullish()}),t.object({context_id:t.string()}),t.object({context_id:t.string(),metadata:t.record(t.string(),t.string()).nullish()}),t.object({context_id:t.string()}),t.null();const Pt=t.enum(Ct),Ft=t.object({id:t.string(),context_id:t.string(),created_at:t.string(),kind:Pt,data:t.union([bt,ht])});t.object({context_id:t.string(),query:P.optional()}),F.extend({items:t.array(Ft)}),t.object({context_id:t.string(),data:t.union([bt,ht])}),t.null(),t.object({context_id:t.string(),metadata:t.record(t.string(),t.union([t.string(),t.null()]))}),t.object({token:t.string(),expires_at:t.string().nullable()});const zt=t.object({id:t.string()}),Ht=t.object({files:t.array(t.literal(["read","write","extract","*"])).optional(),vector_stores:t.array(t.literal(["read","write","*"])).optional(),context_data:t.array(t.literal(["read","write","*"])).optional()}),Nt=Ht.extend({feedback:t.array(t.literal("write")).optional(),llm:t.array(t.union([t.literal("*"),zt])).optional(),embeddings:t.array(t.union([t.literal("*"),zt])).optional(),model_providers:t.array(t.literal(["read","write","*"])).optional(),a2a_proxy:t.array(t.union([t.literal("*"),t.string()])).optional(),providers:t.array(t.literal(["read","write","*"])).optional(),provider_variables:t.array(t.literal(["read","write","*"])).optional(),contexts:t.array(t.literal(["read","write","*"])).optional(),connectors:t.array(t.literal(["read","write","proxy","*"])).optional()}).superRefine((e,n)=>{if(!e.a2a_proxy)return;if(0===e.a2a_proxy.length)return void n.addIssue({code:t.ZodIssueCode.custom,message:"a2a_proxy cannot be empty array",path:["a2a_proxy"]});const i=e.a2a_proxy.includes("*"),r=e.a2a_proxy.some(t=>"*"!==t);i&&r&&n.addIssue({code:t.ZodIssueCode.custom,message:"a2a_proxy cannot mix '*' with specific providers",path:["a2a_proxy"]})});var Gt;t.object({context_id:t.string(),grant_context_permissions:Ht.optional(),grant_global_permissions:Nt.optional()}),function(t){t.UserUpload="user_upload",t.ExtractedText="extracted_text"}(Gt||(Gt={}));const Lt=t.enum(Gt);var Zt,Bt;t.object({id:t.string(),filename:t.string(),content_type:t.string(),file_type:Lt,created_by:t.string(),created_at:t.string(),context_id:t.string().nullish(),file_size_bytes:t.number().nullish(),parent_file_id:t.string().nullish()}),t.object({context_id:t.string().nullable(),file:t.union([t.file(),t.object({blob:t.instanceof(Blob),filename:t.string()})])}),t.object({context_id:t.string().nullable(),file_id:t.string()}),t.object({context_id:t.string().nullable(),file_id:t.string()}),t.null(),t.object({context_id:t.string().nullable(),file_id:t.string()}),t.unknown(),function(t){t.Llm="llm",t.Embedding="embedding"}(Zt||(Zt={})),function(t){t.Anthropic="anthropic",t.Cerebras="cerebras",t.Chutes="chutes",t.Cohere="cohere",t.DeepSeek="deepseek",t.Gemini="gemini",t.GitHub="github",t.Groq="groq",t.Watsonx="watsonx",t.Jan="jan",t.Mistral="mistral",t.Moonshot="moonshot",t.Nvidia="nvidia",t.Ollama="ollama",t.OpenAI="openai",t.OpenRouter="openrouter",t.Perplexity="perplexity",t.Together="together",t.Voyage="voyage",t.Rits="rits",t.Other="other"}(Bt||(Bt={}));const Vt=t.enum(Zt),$t=t.enum(Bt),Jt=t.object({id:t.string(),base_url:t.string(),created_at:t.string(),capabilities:t.array(Vt),name:t.string().nullish(),description:t.string().nullish(),type:$t});var Kt;t.never(),F.extend({items:t.array(Jt)}),t.object({api_key:t.string(),base_url:t.string(),type:$t,name:t.string().nullish(),description:t.string().nullish(),watsonx_project_id:t.string().nullish(),watsonx_space_id:t.string().nullish()}),t.object({model_provider_id:t.string()}),t.object({model_provider_id:t.string()}),t.null(),t.object({suggested_models:t.array(t.string()).nullable(),capability:Vt,score_cutoff:t.number()}),F.extend({items:t.array(t.object({model_id:t.string(),score:t.number()}))}),function(t){t.Head="head",t.Tag="tag"}(Kt||(Kt={}));const Wt=t.enum(Kt),Qt=t.string(),Xt=t.string(),Yt=t.string(),te=t.string(),ee=te,ne=t.string(),ie=t.object({host:t.string(),org:t.string(),repo:t.string(),version:t.string(),version_type:Wt,commit_hash:t.string(),path:t.string().nullish()}),re=t.object({registry:t.string(),repository:t.string(),tag:t.string(),digest:t.string(),image_id:te});var ae;t.custom(t=>t instanceof ReadableStream,{error:"Expected ReadableStream"}),function(t){t.Missing="missing",t.InProgress="in_progress",t.BuildCompleted="build_completed",t.Completed="completed",t.Failed="failed"}(ae||(ae={}));const oe=t.enum(ae),se=t.object({type:t.literal("add_provider"),auto_stop_timeout_sec:t.number().nullish(),variables:t.record(t.string(),t.string()).nullish()}),le=t.object({type:t.literal("update_provider"),provider_id:t.string()}),ce=t.object({type:t.literal("no_action")}),de=t.union([se,le,ce]),ge=t.object({dockerfile_path:t.string().nullish()}),ue=t.object({id:t.string(),created_at:t.string(),created_by:t.string(),provider_origin:t.string(),status:oe,source:ie,destination:te,on_complete:de,build_configuration:ge.nullish(),provider_id:t.string().nullish(),error_message:t.string().nullish()});var pe,me,be;t.object({query:P.extend({status:oe.nullish(),user_owned:t.boolean().nullish()}).optional()}),F.extend({items:t.array(ue)}),t.object({location:t.string(),build_configuration:ge.nullish(),on_complete:de.optional()}),t.object({id:t.string()}),t.object({id:t.string()}),t.null(),t.object({id:t.string()}),t.object({location:t.string(),build_configuration:ge.nullish(),on_complete:de.optional()}),function(t){t.Managed="managed",t.Unmanaged="unmanaged"}(pe||(pe={})),function(t){t.Missing="missing",t.Starting="starting",t.Ready="ready",t.Running="running",t.Error="error"}(me||(me={})),function(t){t.Online="online",t.Offline="offline"}(be||(be={}));const he=t.enum(pe),_e=t.enum(me),ye=t.enum(be),fe=t.object({message:t.string()}),je=t.object({name:t.string(),required:t.boolean(),description:t.string().nullish()}),ve=t.object({docker:re.nullish(),github:ie.nullish()}),xe=t.object({id:t.string(),source:t.union([ee,ne]),agent_card:lt,state:t.union([_e,ye]),origin:t.string(),created_at:t.string(),created_by:t.string(),updated_at:t.string(),last_active_at:t.string(),auto_stop_timeout:t.string(),managed:t.boolean(),type:he,env:t.array(je),registry:t.union([Qt,Xt,Yt]).nullish(),last_error:fe.nullish(),missing_configuration:t.array(je).optional(),version_info:ve.optional()});var ke;t.object({query:t.object({origin:t.string().nullish(),user_owned:t.boolean().nullish()}).optional()}),F.extend({items:t.array(xe)}),t.object({location:t.union([ee,ne]),agent_card:lt.nullish(),auto_stop_timeout_sec:t.number().nullish(),origin:t.string().nullish(),variables:t.record(t.string(),t.string()).nullish()}),t.object({id:t.string()}),t.object({id:t.string()}),t.null(),t.object({id:t.string(),location:t.union([ee,ne]).nullish(),agent_card:lt.nullish(),auto_stop_timeout_sec:t.number().nullish(),origin:t.string().nullish(),variables:t.record(t.string(),t.string()).nullish()}),t.object({id:t.string()}),t.object({id:t.string()}),t.object({variables:t.record(t.string(),t.string())}),t.object({id:t.string(),variables:t.record(t.string(),t.union([t.string(),t.null()]))}),t.null(),t.object({location:t.string()}),t.object({provider_id:t.string(),context_id:t.string(),task_id:t.string(),message:t.string(),rating:t.union([t.literal(1),t.literal(-1)]),comment:t.string().nullish(),comment_tags:t.array(t.string()).nullish()}),t.null(),function(t){t.Admin="admin",t.Developer="developer",t.User="user"}(ke||(ke={}));const we=t.enum(ke);var Ue;t.object({id:t.string(),role:we,email:t.string(),created_at:t.string()}),t.never(),t.never(),t.object({variables:t.record(t.string(),t.string())}),t.object({variables:t.record(t.string(),t.union([t.string(),t.null()]))}),t.null(),function(t){t.Http="http",t.Network="network",t.Parse="parse",t.Unknown="unknown",t.Validation="validation"}(Ue||(Ue={}));class Se extends Error{constructor(t){super(t.message),this.apiError=void 0,this.apiError=t}}const qe=(t,e)=>async({llm_demands:n})=>{const i=Object.keys(n).map(async i=>{var r;const a=n[i],o=function(t){if(t.ok){const{data:e}=t;return e}throw new Se(t.error)}(await t.matchModelProviders({suggested_models:null!=(r=a.suggested)?r:[],capability:Zt.Llm,score_cutoff:.4}));if(0===o.items.length)throw new Error(`No models found for demand ${i}. Demand details: ${JSON.stringify(a)}`);return[i,{identifier:"llm_proxy",api_base:"{platform_url}/api/v1/openai/",api_key:e.token,api_model:o.items[0].model_id}]}),r=await Promise.all(i);return{llm_fulfillments:Object.fromEntries(r)}},Me=t.object({redirect_uri:t.boolean()}),Te=t.object({oauth_demands:t.record(t.string(),Me)}),Ie=t.object({redirect_uri:t.string()}),De=t.object({oauth_fulfillments:t.record(t.string(),Ie)}),Re=t.object({authorization_endpoint_url:t.string()}),Ae=t.object({redirect_uri:t.string()});t.object({data:Ae});const Oe="https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1",Ce={getUri:()=>Oe,getDemandsSchema:()=>Te,getFulfillmentsSchema:()=>De},Ee={getUri:()=>Oe,getMessageMetadataSchema:()=>t.object({[Oe]:Re}).partial()},Pe=t.object({name:t.string(),description:t.string().nullish()}),Fe=t.object({secret_demands:t.record(t.string(),Pe)}),ze=t.object({secret:t.string()}),He=t.object({secret_fulfillments:t.record(t.string(),ze)}),Ne="https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1",Ge={getUri:()=>Ne,getDemandsSchema:()=>Fe,getFulfillmentsSchema:()=>He},Le={getUri:()=>Ne,getMessageMetadataSchema:()=>t.object({[Ne]:Fe}).partial()},Ze=t.object({description:t.string().nullish(),suggested:t.array(t.string()).nullish()}),Be=t.object({embedding_demands:t.record(t.string(),Ze)}),Ve=t.object({identifier:t.string().nullish(),api_base:t.string(),api_key:t.string(),api_model:t.string()}),$e=t.object({embedding_fulfillments:t.record(t.string(),Ve)}),Je={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1",getDemandsSchema:()=>Be,getFulfillmentsSchema:()=>$e},Ke=t.object({form_demands:t.object({initial_form:T}).partial()}),We=t.object({form_fulfillments:t.record(t.string(),D)}),Qe={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/form/v1",getDemandsSchema:()=>Ke,getFulfillmentsSchema:()=>We},Xe=t.object({description:t.string().nullish(),suggested:t.array(t.string()).nullish()}),Ye=t.object({llm_demands:t.record(t.string(),Xe)}),tn=t.object({identifier:t.string().nullish(),api_base:t.string(),api_key:t.string(),api_model:t.string()}),en=t.object({llm_fulfillments:t.record(t.string(),tn)}),nn={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/llm/v1",getDemandsSchema:()=>Ye,getFulfillmentsSchema:()=>en};var rn;!function(t){t.StreamableHttp="streamable_http",t.Stdio="stdio"}(rn||(rn={}));const an=t.enum(rn),on=t.object({description:t.string().nullish(),suggested:t.array(t.string()).nullish(),allowed_transports:t.array(an).nullish()}),sn=t.object({mcp_demands:t.record(t.string(),on)}),ln=t.object({transport:t.object({type:an,url:t.string(),headers:t.record(t.string(),t.string()).optional()})}),cn=t.object({mcp_fulfillments:t.record(t.string(),ln)}),dn={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1",getDemandsSchema:()=>sn,getFulfillmentsSchema:()=>cn},gn="https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1",un=t.object({id:t.string().nonempty(),label:t.string().nonempty(),default_value:t.boolean()}),pn=t.object({id:t.string().nonempty(),type:t.literal("checkbox_group"),fields:t.array(un)}),mn=t.object({label:t.string().nonempty(),value:t.string().nonempty()}),bn=t.object({type:t.literal("single_select"),id:t.string().nonempty(),label:t.string().nonempty(),options:t.array(mn).nonempty(),default_value:t.string().nonempty()}),hn=t.discriminatedUnion("type",[pn,bn]),_n=t.object({value:t.boolean()}),yn=t.object({type:t.literal("checkbox_group"),values:t.record(t.string(),_n)}),fn=t.object({type:t.literal("single_select"),value:t.string()}),jn=t.discriminatedUnion("type",[yn,fn]),vn=t.object({fields:t.array(hn)}),xn=t.record(t.string(),jn),kn=t.object({values:xn}),wn={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1",getDemandsSchema:()=>vn,getFulfillmentsSchema:()=>kn},Un=r(dn),Sn=r(nn),qn=r(Je),Mn=r(Ce),Tn=r(wn),In=r(Ge),Dn=r(Qe),Rn=a(dn),An=a(nn),On=a(Je),Cn=a(Ce),En=a(wn),Pn=a(Ge),Fn=a(Qe),zn=t=>{var n;const i=null!=(n=t.capabilities.extensions)?n:[],r=Sn(i),a=qn(i),o=Un(i),s=Mn(i),l=Tn(i),c=In(i),d=Dn(i);return{resolveMetadata:async t=>{let n={};var i,g;t.getContextToken&&(i=n,g=t.getContextToken(),n=e({},i,{[gn]:{auth_token:g.token,expires_at:g.expires_at}})),r&&t.llm&&(n=An(n,await t.llm(r))),a&&t.embedding&&(n=On(n,await t.embedding(a))),o&&t.mcp&&(n=Rn(n,await t.mcp(o))),s&&t.oauth&&(n=Cn(n,await t.oauth(s))),l&&t.settings&&(n=En(n,await t.settings(l))),c&&t.secrets&&(n=Pn(n,await t.secrets(c))),d&&t.form&&(n=Fn(n,await t.form(d)));const u=null==t.oauthRedirectUri?void 0:t.oauthRedirectUri();return u&&(n=e({},n,{[Ee.getUri()]:{redirect_uri:u}})),n},demands:{llmDemands:r,embeddingDemands:a,mcpDemands:o,oauthDemands:s,settingsDemands:l,secretDemands:c,formDemands:d}}},Hn=i(Le),Nn=i(Ee),Gn=i(A),Ln=i(u),Zn=t=>{const e=[];if("auth-required"===t.status.state){var n,i;const r=Hn(null==(n=t.status.message)?void 0:n.metadata),a=Nn(null==(i=t.status.message)?void 0:i.metadata);a&&e.push({type:C.OAuthRequired,url:a.authorization_endpoint_url}),r&&e.push({type:C.SecretRequired,demands:r})}else if("input-required"===t.status.state){var r,a;const n=Gn(null==(r=t.status.message)?void 0:r.metadata),i=Ln(null==(a=t.status.message)?void 0:a.metadata);n&&e.push({type:C.FormRequired,form:n}),i&&e.push({type:C.ApprovalRequired,request:i})}return e},Bn=t=>async(n,i,r)=>{const{resolveMetadata:a}=zn(t);return e({},r,{contextId:n,kind:"message",role:"user",metadata:await a(i)})};export{C as TaskStatusUpdateType,qe as buildLLMExtensionFulfillmentResolver,Bn as buildMessageBuilder,n as createAuthenticatedFetch,r as extractServiceExtensionDemands,i as extractUiExtensionData,a as fulfillServiceExtensionDemand,zn as handleAgentCard,Zn as handleTaskStatusUpdate,O as resolveUserMetadata};
1
+ import e from"zod";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},t.apply(null,arguments)}function n(e,n){const i=null!=n?n:void 0!==globalThis.fetch?globalThis.fetch:void 0;if(!i)throw new Error("fetch is not available. In Node.js < 18 or environments without global fetch, provide a fetch implementation via the baseFetch parameter.");return async(n,r)=>{const a=new Headers(null==r?void 0:r.headers);return a.set("Authorization",`Bearer ${e}`),i(n,t({},r,{headers:a}))}}function i(e){const t=e.getMessageMetadataSchema(),n=e.getUri();return function(e){const{success:i,data:r,error:a}=t.safeParse(null!=e?e:{});return i||console.warn(a),i?r[n]:null}}function r(e){const t=e.getDemandsSchema(),n=e.getUri();return function(e){const i=e.find(e=>e.uri===n);if(null==i||!i.params)return null;const{success:r,data:a,error:o}=t.safeParse(i.params);return r?a:(console.warn(o),null)}}function a(e){const n=e.getFulfillmentsSchema(),i=e.getUri();return function(e,r){const{success:a,data:o,error:s}=n.safeParse(r);return a||console.warn(s),t({},e,{[i]:a?o:{}})}}var o;!function(e){e.Approve="approve",e.Reject="reject"}(o||(o={}));const s=e.object({action:e.literal("generic"),title:e.string().nullish().describe("A human-readable title for the action being approved."),description:e.string().nullish().describe("A human-readable description of the action being approved.")}),l=e.object({action:e.literal("tool-call"),title:e.string().nullish().describe("A human-readable title of the tool."),description:e.string().nullish().describe("A human-readable description of the tool."),name:e.string().describe("The programmatic name of the tool."),input:e.object().nullish().describe("The input for the tool."),server:e.object({name:e.string().describe("The programmatic name of the server."),title:e.string().nullish().describe("A human-readable title for the server."),version:e.string().describe("The version of the server.")}).nullish().describe("The server executing the tool.")}),c=e.discriminatedUnion("action",[s,l]),d=e.enum(o),g=(e.object({decision:d}),"https://a2a-extensions.agentstack.beeai.dev/interactions/approval/v1"),u={getUri:()=>g,getMessageMetadataSchema:()=>e.object({[g]:c}).partial()},p=(e.object({start_index:e.int(),end_index:e.int(),description:e.string().nullish(),artifact_id:e.string()}),"https://a2a-extensions.agentstack.beeai.dev/ui/canvas/v1"),m=e.object({id:e.string().nonempty(),label:e.string().nonempty(),required:e.boolean().nullish(),col_span:e.int().min(1).max(4).nullish()}),b=m.extend({type:e.literal("text"),placeholder:e.string().nullish(),default_value:e.string().nullish(),auto_resize:e.boolean().default(!0).nullish()}),h=m.extend({type:e.literal("date"),placeholder:e.string().nullish(),default_value:e.string().nullish()}),_=m.extend({type:e.literal("file"),accept:e.array(e.string())}),y=e.object({id:e.string().nonempty(),label:e.string().nonempty()}),f=m.extend({type:e.literal("singleselect"),options:e.array(y).nonempty(),default_value:e.string().nullish()}),j=m.extend({type:e.literal("multiselect"),options:e.array(y).nonempty(),default_value:e.array(e.string()).nullish()}),v=m.extend({type:e.literal("checkbox"),content:e.string(),default_value:e.boolean().nullish()}),x=e.discriminatedUnion("type",[b,h,_,f,j,v]),k=e.object({type:b.shape.type,value:e.string().nullish()}),w=e.object({type:h.shape.type,value:e.string().nullish()}),U=e.object({type:_.shape.type,value:e.array(e.object({uri:e.string(),name:e.string().nullish(),mime_type:e.string().nullish()})).nullish()}),S=e.object({type:f.shape.type,value:e.string().nullish()}),q=e.object({type:j.shape.type,value:e.array(e.string()).nullish()}),M=e.object({type:v.shape.type,value:e.boolean().nullish()}),T=e.discriminatedUnion("type",[k,w,U,S,q,M]),I=e.object({fields:e.array(x).nonempty(),title:e.string().nullish(),description:e.string().nullish(),columns:e.int().min(1).max(4).nullish(),submit_label:e.string().nullish()}),D=e.record(e.string(),T),R=e.object({values:D}),A="https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1",O={getUri:()=>A,getMessageMetadataSchema:()=>e.object({[A]:I}).partial()},C=async e=>{const t={},{form:n,canvasEditRequest:i,approvalResponse:r}=e;return n&&(t[O.getUri()]={values:n}),i&&(t[p]=i),r&&(t[g]=r),t};var E,P;!function(e){e.SecretRequired="secret-required",e.FormRequired="form-required",e.OAuthRequired="oauth-required",e.ApprovalRequired="approval-required"}(E||(E={})),function(e){e.Get="GET",e.Post="POST",e.Put="PUT",e.Delete="DELETE",e.Patch="PATCH"}(P||(P={})),e.object({id:e.string(),created_by:e.string(),updated_at:e.string(),default_embedding_model:e.string().nullish(),default_llm_model:e.string().nullish()}),e.never(),e.object({default_embedding_model:e.string().nullish(),default_llm_model:e.string().nullish()});const F=e.object({limit:e.number().optional(),order:e.string().optional(),order_by:e.string().optional(),page_token:e.string().nullish()}),z=e.object({items:e.array(e.unknown()),total_count:e.number(),has_more:e.boolean(),next_page_token:e.string().nullable()});var H;!function(e){e.Created="created",e.AuthRequired="auth_required",e.Connected="connected",e.Disconnected="disconnected"}(H||(H={}));const N=e.enum(H),G=e.object({id:e.string(),url:e.string(),state:N,auth_request:e.object({type:e.literal("code"),authorization_endpoint:e.string()}).nullable(),disconnect_reason:e.string().nullable(),metadata:e.record(e.string(),e.string()).nullable()});e.never(),z.extend({items:e.array(G)}),e.object({match_preset:e.boolean(),url:e.string(),client_id:e.string().nullish(),client_secret:e.string().nullish(),metadata:e.record(e.string(),e.string()).nullish()}),e.object({connector_id:e.string()}),e.object({connector_id:e.string()}),e.null(),e.object({connector_id:e.string(),redirect_url:e.string().nullish()}),e.object({connector_id:e.string()});const L=e.object({url:e.string(),metadata:e.record(e.string(),e.string()).nullable()});function Z(t){return e.preprocess(e=>$(t,e),t)}function $(t,n){if(t instanceof e.ZodOptional){if(null===n)return;return $(t.unwrap(),n)}if(t instanceof e.ZodObject){if(null===n||"object"!=typeof n||Array.isArray(n))return n;const{shape:e}=t,i=n;return Object.keys(i).reduce((t,n)=>(t[n]=n in e?$(e[n],i[n]):i[n],t),{})}return n}e.never(),z.extend({items:e.array(L)});const B=Z(e.object({transport:e.string(),url:e.string()})),V=Z(e.object({uri:e.string(),description:e.string().optional(),required:e.boolean().optional(),params:e.record(e.string(),e.unknown()).optional()})),J=Z(e.object({extensions:e.array(V).optional(),pushNotifications:e.boolean().optional(),stateTransitionHistory:e.boolean().optional(),streaming:e.boolean().optional()})),K=Z(e.object({url:e.string(),organization:e.string()})),W=Z(e.object({signature:e.string(),protected:e.string(),header:e.record(e.string(),e.unknown()).optional()})),Q=Z(e.object({id:e.string(),name:e.string(),description:e.string(),tags:e.array(e.string()),inputModes:e.array(e.string()).optional(),outputModes:e.array(e.string()).optional(),examples:e.array(e.string()).optional(),security:e.array(e.record(e.string(),e.array(e.string()))).optional()})),X=Z(e.object({authorizationUrl:e.string(),tokenUrl:e.string(),scopes:e.record(e.string(),e.string()),refreshUrl:e.string().optional()})),Y=Z(e.object({tokenUrl:e.string(),scopes:e.record(e.string(),e.string()),refreshUrl:e.string().optional()})),ee=Z(e.object({authorizationUrl:e.string(),scopes:e.record(e.string(),e.string()),refreshUrl:e.string().optional()})),te=Z(e.object({tokenUrl:e.string(),scopes:e.record(e.string(),e.string()),refreshUrl:e.string().optional()})),ne=Z(e.object({authorizationCode:X.optional(),clientCredentials:Y.optional(),implicit:ee.optional(),password:te.optional()})),ie=Z(e.object({type:e.literal("apiKey"),name:e.string(),in:e.literal(["cookie","header","query"]),description:e.string().optional()})),re=Z(e.object({type:e.literal("http"),scheme:e.string(),description:e.string().optional(),bearerFormat:e.string().optional()})),ae=Z(e.object({type:e.literal("oauth2"),flows:ne,description:e.string().optional(),oauth2MetadataUrl:e.string().optional()})),oe=Z(e.object({type:e.literal("openIdConnect"),openIdConnectUrl:e.string(),description:e.string().optional()})),se=Z(e.object({type:e.literal("mutualTLS"),description:e.string().optional()})),le=Z(e.union([ie,re,ae,oe,se])),ce=Z(e.object({url:e.string(),name:e.string(),description:e.string(),version:e.string(),protocolVersion:e.string(),capabilities:J,defaultInputModes:e.array(e.string()),defaultOutputModes:e.array(e.string()),skills:e.array(Q),iconUrl:e.string().optional(),documentationUrl:e.string().optional(),preferredTransport:e.string().optional(),supportsAuthenticatedExtendedCard:e.boolean().optional(),additionalInterfaces:e.array(B).optional(),provider:K.optional(),signatures:e.array(W).optional(),security:e.array(e.record(e.string(),e.array(e.string()))).optional(),securitySchemes:e.record(e.string(),le).optional()})),de=Z(e.object({bytes:e.string(),mimeType:e.string().optional(),name:e.string().optional()})),ge=Z(e.object({uri:e.string(),mimeType:e.string().optional(),name:e.string().optional()})),ue=Z(e.object({kind:e.literal("text"),text:e.string(),metadata:e.record(e.string(),e.unknown()).optional()})),pe=Z(e.object({kind:e.literal("file"),file:e.union([de,ge]),metadata:e.record(e.string(),e.unknown()).optional()})),me=Z(e.object({kind:e.literal("data"),data:e.record(e.string(),e.unknown()),metadata:e.record(e.string(),e.unknown()).optional()})),be=Z(e.union([ue,pe,me])),he=Z(e.object({artifactId:e.string(),parts:e.array(be),description:e.string().optional(),extensions:e.array(e.string()).optional(),metadata:e.record(e.string(),e.unknown()).optional(),name:e.string().optional()})),_e=Z(e.object({kind:e.literal("message"),messageId:e.string(),parts:e.array(be),role:e.literal(["agent","user"]),contextId:e.string().optional(),extensions:e.array(e.string()).optional(),metadata:e.record(e.string(),e.unknown()).optional(),referenceTaskIds:e.array(e.string()).optional(),taskId:e.string().optional()})),ye=Z(e.object({state:e.literal(["submitted","working","input-required","completed","canceled","failed","rejected","auth-required","unknown"]),message:_e.optional(),timestamp:e.string().optional()}));Z(e.object({kind:e.literal("status-update"),taskId:e.string(),contextId:e.string(),status:ye,final:e.boolean(),metadata:e.record(e.string(),e.unknown()).optional()}));const fe=Z(e.object({kind:e.literal("task"),id:e.string(),contextId:e.string(),status:ye,artifacts:e.array(he).optional(),history:e.array(_e).optional(),metadata:e.record(e.string(),e.unknown()).optional()}));Z(e.object({kind:e.literal("artifact-update"),taskId:e.string(),contextId:e.string(),artifact:he,append:e.boolean().optional(),lastChunk:e.boolean().optional(),metadata:e.record(e.string(),e.unknown()).optional()}));const je=e.object({message:e.string(),data:e.record(e.string(),e.unknown()).optional()}),ve=Z(je.extend({code:e.number()})),xe=Z(je.extend({code:e.literal(-32700)})),ke=Z(je.extend({code:e.literal(-32600)})),we=Z(je.extend({code:e.literal(-32601)})),Ue=Z(je.extend({code:e.literal(-32602)})),Se=Z(je.extend({code:e.literal(-32603)})),qe=Z(je.extend({code:e.literal(-32001)})),Me=Z(je.extend({code:e.literal(-32002)})),Te=Z(je.extend({code:e.literal(-32003)})),Ie=Z(je.extend({code:e.literal(-32004)})),De=Z(je.extend({code:e.literal(-32005)})),Re=Z(je.extend({code:e.literal(-32006)})),Ae=Z(je.extend({code:e.literal(-32007)})),Oe=Z(e.object({jsonrpc:e.literal("2.0"),id:e.union([e.string(),e.number()]).nullable(),error:e.union([ve,xe,ke,we,Ue,Se,qe,Me,Te,Ie,De,Re,Ae])})),Ce=Z(e.object({jsonrpc:e.literal("2.0"),id:e.union([e.string(),e.number()]).nullable(),result:fe}));var Ee;Z(e.union([Oe,Ce])),function(e){e.Artifact="artifact",e.Message="message"}(Ee||(Ee={}));const Pe=e.object({id:e.string(),created_at:e.string(),updated_at:e.string(),last_active_at:e.string(),created_by:e.string(),provider_id:e.string().nullable(),metadata:e.record(e.string(),e.unknown()).nullable()});e.object({query:F.extend({provider_id:e.string().nullish(),include_empty:e.boolean().optional()}).optional()}),z.extend({items:e.array(Pe)}),e.object({provider_id:e.string().nullish(),metadata:e.record(e.string(),e.string()).nullish()}),e.object({context_id:e.string()}),e.object({context_id:e.string(),metadata:e.record(e.string(),e.string()).nullish()}),e.object({context_id:e.string()}),e.null();const Fe=e.enum(Ee),ze=e.object({id:e.string(),context_id:e.string(),created_at:e.string(),kind:Fe,data:e.union([he,_e])});e.object({context_id:e.string(),query:F.optional()}),z.extend({items:e.array(ze)}),e.object({context_id:e.string(),data:e.union([he,_e])}),e.null(),e.object({context_id:e.string(),metadata:e.record(e.string(),e.union([e.string(),e.null()]))}),e.object({token:e.string(),expires_at:e.string().nullable()});const He=e.object({id:e.string()}),Ne=e.object({files:e.array(e.literal(["read","write","extract","*"])).optional(),vector_stores:e.array(e.literal(["read","write","*"])).optional(),context_data:e.array(e.literal(["read","write","*"])).optional()}),Ge=Ne.extend({feedback:e.array(e.literal("write")).optional(),llm:e.array(e.union([e.literal("*"),He])).optional(),embeddings:e.array(e.union([e.literal("*"),He])).optional(),model_providers:e.array(e.literal(["read","write","*"])).optional(),a2a_proxy:e.array(e.union([e.literal("*"),e.string()])).optional(),providers:e.array(e.literal(["read","write","*"])).optional(),provider_variables:e.array(e.literal(["read","write","*"])).optional(),contexts:e.array(e.literal(["read","write","*"])).optional(),connectors:e.array(e.literal(["read","write","proxy","*"])).optional()}).superRefine((t,n)=>{if(!t.a2a_proxy)return;if(0===t.a2a_proxy.length)return void n.addIssue({code:e.ZodIssueCode.custom,message:"a2a_proxy cannot be empty array",path:["a2a_proxy"]});const i=t.a2a_proxy.includes("*"),r=t.a2a_proxy.some(e=>"*"!==e);i&&r&&n.addIssue({code:e.ZodIssueCode.custom,message:"a2a_proxy cannot mix '*' with specific providers",path:["a2a_proxy"]})});var Le;e.object({context_id:e.string(),grant_context_permissions:Ne.optional(),grant_global_permissions:Ge.optional()}),function(e){e.UserUpload="user_upload",e.ExtractedText="extracted_text"}(Le||(Le={}));const Ze=e.enum(Le);var $e,Be;e.object({id:e.string(),filename:e.string(),content_type:e.string(),file_type:Ze,created_by:e.string(),created_at:e.string(),context_id:e.string().nullish(),file_size_bytes:e.number().nullish(),parent_file_id:e.string().nullish()}),e.object({context_id:e.string().nullable(),file:e.union([e.file(),e.object({blob:e.instanceof(Blob),filename:e.string()})])}),e.object({context_id:e.string().nullable(),file_id:e.string()}),e.object({context_id:e.string().nullable(),file_id:e.string()}),e.null(),e.object({context_id:e.string().nullable(),file_id:e.string()}),e.unknown(),function(e){e.Llm="llm",e.Embedding="embedding"}($e||($e={})),function(e){e.Anthropic="anthropic",e.Cerebras="cerebras",e.Chutes="chutes",e.Cohere="cohere",e.DeepSeek="deepseek",e.Gemini="gemini",e.GitHub="github",e.Groq="groq",e.Watsonx="watsonx",e.Jan="jan",e.Mistral="mistral",e.Moonshot="moonshot",e.Nvidia="nvidia",e.Ollama="ollama",e.OpenAI="openai",e.OpenRouter="openrouter",e.Perplexity="perplexity",e.Together="together",e.Voyage="voyage",e.Rits="rits",e.Other="other"}(Be||(Be={}));const Ve=e.enum($e),Je=e.enum(Be),Ke=e.object({id:e.string(),base_url:e.string(),created_at:e.string(),capabilities:e.array(Ve),name:e.string().nullish(),description:e.string().nullish(),type:Je});var We;e.never(),z.extend({items:e.array(Ke)}),e.object({api_key:e.string(),base_url:e.string(),type:Je,name:e.string().nullish(),description:e.string().nullish(),watsonx_project_id:e.string().nullish(),watsonx_space_id:e.string().nullish()}),e.object({model_provider_id:e.string()}),e.object({model_provider_id:e.string()}),e.null(),e.object({suggested_models:e.array(e.string()).nullable(),capability:Ve,score_cutoff:e.number()}),z.extend({items:e.array(e.object({model_id:e.string(),score:e.number()}))}),function(e){e.Head="head",e.Tag="tag"}(We||(We={}));const Qe=e.enum(We),Xe=e.string(),Ye=e.string(),et=e.string(),tt=e.string(),nt=tt,it=e.string(),rt=e.object({host:e.string(),org:e.string(),repo:e.string(),version:e.string(),version_type:Qe,commit_hash:e.string(),path:e.string().nullish()}),at=e.object({registry:e.string(),repository:e.string(),tag:e.string(),digest:e.string(),image_id:tt});var ot;e.custom(e=>e instanceof ReadableStream,{error:"Expected ReadableStream"}),function(e){e.Missing="missing",e.InProgress="in_progress",e.BuildCompleted="build_completed",e.Completed="completed",e.Failed="failed"}(ot||(ot={}));const st=e.enum(ot),lt=e.object({type:e.literal("add_provider"),auto_stop_timeout_sec:e.number().nullish(),variables:e.record(e.string(),e.string()).nullish()}),ct=e.object({type:e.literal("update_provider"),provider_id:e.string()}),dt=e.object({type:e.literal("no_action")}),gt=e.union([lt,ct,dt]),ut=e.object({dockerfile_path:e.string().nullish()}),pt=e.object({id:e.string(),created_at:e.string(),created_by:e.string(),provider_origin:e.string(),status:st,source:rt,destination:tt,on_complete:gt,build_configuration:ut.nullish(),provider_id:e.string().nullish(),error_message:e.string().nullish()});var mt,bt,ht;e.object({query:F.extend({status:st.nullish(),user_owned:e.boolean().nullish()}).optional()}),z.extend({items:e.array(pt)}),e.object({location:e.string(),build_configuration:ut.nullish(),on_complete:gt.optional()}),e.object({id:e.string()}),e.object({id:e.string()}),e.null(),e.object({id:e.string()}),e.object({location:e.string(),build_configuration:ut.nullish(),on_complete:gt.optional()}),function(e){e.Managed="managed",e.Unmanaged="unmanaged"}(mt||(mt={})),function(e){e.Missing="missing",e.Starting="starting",e.Ready="ready",e.Running="running",e.Error="error"}(bt||(bt={})),function(e){e.Online="online",e.Offline="offline"}(ht||(ht={}));const _t=e.enum(mt),yt=e.enum(bt),ft=e.enum(ht),jt=e.object({message:e.string()}),vt=e.object({name:e.string(),required:e.boolean(),description:e.string().nullish()}),xt=e.object({docker:at.nullish(),github:rt.nullish()}),kt=e.object({id:e.string(),source:e.union([nt,it]),agent_card:ce,state:e.union([yt,ft]),origin:e.string(),created_at:e.string(),created_by:e.string(),updated_at:e.string(),last_active_at:e.string(),auto_stop_timeout:e.string(),managed:e.boolean(),type:_t,env:e.array(vt),registry:e.union([Xe,Ye,et]).nullish(),last_error:jt.nullish(),missing_configuration:e.array(vt).optional(),version_info:xt.optional()});var wt;e.object({query:e.object({origin:e.string().nullish(),user_owned:e.boolean().nullish()}).optional()}),z.extend({items:e.array(kt)}),e.object({location:e.union([nt,it]),agent_card:ce.nullish(),auto_stop_timeout_sec:e.number().nullish(),origin:e.string().nullish(),variables:e.record(e.string(),e.string()).nullish()}),e.object({id:e.string()}),e.object({id:e.string()}),e.null(),e.object({id:e.string(),location:e.union([nt,it]).nullish(),agent_card:ce.nullish(),auto_stop_timeout_sec:e.number().nullish(),origin:e.string().nullish(),variables:e.record(e.string(),e.string()).nullish()}),e.object({id:e.string()}),e.object({id:e.string()}),e.object({variables:e.record(e.string(),e.string())}),e.object({id:e.string(),variables:e.record(e.string(),e.union([e.string(),e.null()]))}),e.null(),e.object({location:e.string()}),e.object({provider_id:e.string(),context_id:e.string(),task_id:e.string(),message:e.string(),rating:e.union([e.literal(1),e.literal(-1)]),comment:e.string().nullish(),comment_tags:e.array(e.string()).nullish()}),e.null(),function(e){e.Admin="admin",e.Developer="developer",e.User="user"}(wt||(wt={}));const Ut=e.enum(wt);var St;e.object({id:e.string(),role:Ut,email:e.string(),created_at:e.string()}),e.never(),e.never(),e.object({variables:e.record(e.string(),e.string())}),e.object({variables:e.record(e.string(),e.union([e.string(),e.null()]))}),e.null(),function(e){e.Http="http",e.Network="network",e.Parse="parse",e.Unknown="unknown",e.Validation="validation"}(St||(St={}));class qt extends Error{constructor(e){super(e.message),this.apiError=void 0,this.apiError=e}}const Mt=(e,t)=>async({llm_demands:n})=>{const i=Object.keys(n).map(async i=>{var r;const a=n[i],o=function(e){if(e.ok){const{data:t}=e;return t}throw new qt(e.error)}(await e.matchModelProviders({suggested_models:null!=(r=a.suggested)?r:[],capability:$e.Llm,score_cutoff:.4}));if(0===o.items.length)throw new Error(`No models found for demand ${i}. Demand details: ${JSON.stringify(a)}`);return[i,{identifier:"llm_proxy",api_base:"{platform_url}/api/v1/openai/",api_key:t.token,api_model:o.items[0].model_id}]}),r=await Promise.all(i);return{llm_fulfillments:Object.fromEntries(r)}},Tt=e.object({redirect_uri:e.boolean()}),It=e.object({oauth_demands:e.record(e.string(),Tt)}),Dt=e.object({redirect_uri:e.string()}),Rt=e.object({oauth_fulfillments:e.record(e.string(),Dt)}),At=e.object({authorization_endpoint_url:e.string()}),Ot=e.object({redirect_uri:e.string()});e.object({data:Ot});const Ct="https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1",Et={getUri:()=>Ct,getDemandsSchema:()=>It,getFulfillmentsSchema:()=>Rt},Pt={getUri:()=>Ct,getMessageMetadataSchema:()=>e.object({[Ct]:At}).partial()},Ft=e.object({name:e.string(),description:e.string().nullish()}),zt=e.object({secret_demands:e.record(e.string(),Ft)}),Ht=e.object({secret:e.string()}),Nt=e.object({secret_fulfillments:e.record(e.string(),Ht)}),Gt="https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1",Lt={getUri:()=>Gt,getDemandsSchema:()=>zt,getFulfillmentsSchema:()=>Nt},Zt={getUri:()=>Gt,getMessageMetadataSchema:()=>e.object({[Gt]:zt}).partial()},$t=e.object({description:e.string().nullish(),suggested:e.array(e.string()).nullish()}),Bt=e.object({embedding_demands:e.record(e.string(),$t)}),Vt=e.object({identifier:e.string().nullish(),api_base:e.string(),api_key:e.string(),api_model:e.string()}),Jt=e.object({embedding_fulfillments:e.record(e.string(),Vt)}),Kt={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1",getDemandsSchema:()=>Bt,getFulfillmentsSchema:()=>Jt},Wt=e.object({form_demands:e.object({initial_form:I}).partial()}),Qt=e.object({form_fulfillments:e.record(e.string(),R)}),Xt={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/form/v1",getDemandsSchema:()=>Wt,getFulfillmentsSchema:()=>Qt},Yt=e.object({description:e.string().nullish(),suggested:e.array(e.string()).nullish()}),en=e.object({llm_demands:e.record(e.string(),Yt)}),tn=e.object({identifier:e.string().nullish(),api_base:e.string(),api_key:e.string(),api_model:e.string()}),nn=e.object({llm_fulfillments:e.record(e.string(),tn)}),rn={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/llm/v1",getDemandsSchema:()=>en,getFulfillmentsSchema:()=>nn};var an;!function(e){e.StreamableHttp="streamable_http",e.Stdio="stdio"}(an||(an={}));const on=e.enum(an),sn=e.object({description:e.string().nullish(),suggested:e.array(e.string()).nullish(),allowed_transports:e.array(on).nullish()}),ln=e.object({mcp_demands:e.record(e.string(),sn)}),cn=e.object({transport:e.object({type:on,url:e.string(),headers:e.record(e.string(),e.string()).optional()})}),dn=e.object({mcp_fulfillments:e.record(e.string(),cn)}),gn={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1",getDemandsSchema:()=>ln,getFulfillmentsSchema:()=>dn},un="https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1",pn=e.object({id:e.string().nonempty(),label:e.string().nonempty(),default_value:e.boolean()}),mn=e.object({id:e.string().nonempty(),type:e.literal("checkbox_group"),fields:e.array(pn)}),bn=e.object({label:e.string().nonempty(),value:e.string().nonempty()}),hn=e.object({type:e.literal("single_select"),id:e.string().nonempty(),label:e.string().nonempty(),options:e.array(bn).nonempty(),default_value:e.string().nonempty()}),_n=e.discriminatedUnion("type",[mn,hn]),yn=e.object({value:e.boolean()}),fn=e.object({type:e.literal("checkbox_group"),values:e.record(e.string(),yn)}),jn=e.object({type:e.literal("single_select"),value:e.string()}),vn=e.discriminatedUnion("type",[fn,jn]),xn=e.object({fields:e.array(_n)}),kn=e.record(e.string(),vn),wn=e.object({values:kn}),Un={getUri:()=>"https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1",getDemandsSchema:()=>xn,getFulfillmentsSchema:()=>wn},Sn=r(gn),qn=r(rn),Mn=r(Kt),Tn=r(Et),In=r(Un),Dn=r(Lt),Rn=r(Xt),An=a(gn),On=a(rn),Cn=a(Kt),En=a(Et),Pn=a(Un),Fn=a(Lt),zn=a(Xt),Hn=e=>{var n;const i=null!=(n=e.capabilities.extensions)?n:[],r=qn(i),a=Mn(i),o=Sn(i),s=Tn(i),l=In(i),c=Dn(i),d=Rn(i);return{resolveMetadata:async e=>{let n={};var i,g;e.getContextToken&&(i=n,g=e.getContextToken(),n=t({},i,{[un]:{auth_token:g.token,expires_at:g.expires_at}})),r&&e.llm&&(n=On(n,await e.llm(r))),a&&e.embedding&&(n=Cn(n,await e.embedding(a))),o&&e.mcp&&(n=An(n,await e.mcp(o))),s&&e.oauth&&(n=En(n,await e.oauth(s))),l&&e.settings&&(n=Pn(n,await e.settings(l))),c&&e.secrets&&(n=Fn(n,await e.secrets(c))),d&&e.form&&(n=zn(n,await e.form(d)));const u=null==e.oauthRedirectUri?void 0:e.oauthRedirectUri();return u&&(n=t({},n,{[Pt.getUri()]:{redirect_uri:u}})),n},demands:{llmDemands:r,embeddingDemands:a,mcpDemands:o,oauthDemands:s,settingsDemands:l,secretDemands:c,formDemands:d}}},Nn=i(Zt),Gn=i(Pt),Ln=i(O),Zn=i(u),$n=e=>{const t=[];if("auth-required"===e.status.state){var n,i;const r=Nn(null==(n=e.status.message)?void 0:n.metadata),a=Gn(null==(i=e.status.message)?void 0:i.metadata);a&&t.push({type:E.OAuthRequired,url:a.authorization_endpoint_url}),r&&t.push({type:E.SecretRequired,demands:r})}else if("input-required"===e.status.state){var r,a;const n=Ln(null==(r=e.status.message)?void 0:r.metadata),i=Zn(null==(a=e.status.message)?void 0:a.metadata);n&&t.push({type:E.FormRequired,form:n}),i&&t.push({type:E.ApprovalRequired,request:i})}return t},Bn=e=>async(n,i,r)=>{const{resolveMetadata:a}=Hn(e);return t({},r,{contextId:n,kind:"message",role:"user",metadata:await a(i)})};function Vn(e){return`api/v1/a2a/${e}/.well-known/agent-card.json`}export{E as TaskStatusUpdateType,Mt as buildLLMExtensionFulfillmentResolver,Bn as buildMessageBuilder,n as createAuthenticatedFetch,r as extractServiceExtensionDemands,i as extractUiExtensionData,a as fulfillServiceExtensionDemand,Vn as getAgentCardPath,Hn as handleAgentCard,$n as handleTaskStatusUpdate,C as resolveUserMetadata};
2
2
  //# sourceMappingURL=core.js.map