agentstack-sdk 0.6.1 → 0.6.2-rc2
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/README.md +36 -29
- package/dist/api.cjs +1994 -2
- package/dist/api.d.cts +29 -0
- package/dist/api.d.ts +25 -1
- package/dist/api.js +1801 -2
- package/dist/core-DcGxYeok.d.ts +1238 -0
- package/dist/core-XN6gWSAb.d.cts +1238 -0
- package/dist/core.cjs +1773 -2
- package/dist/core.d.cts +7 -0
- package/dist/core.d.ts +7 -5
- package/dist/core.js +1725 -2
- package/dist/extensions.cjs +798 -2
- package/dist/extensions.d.cts +244 -0
- package/dist/extensions.d.ts +240 -1
- package/dist/extensions.js +652 -2
- package/dist/index.cjs +3142 -2
- package/dist/index.d.cts +10 -0
- package/dist/index.d.ts +10 -7
- package/dist/index.js +2781 -2
- package/dist/index.umd.js +16509 -2
- package/dist/schemas-Dy3P_eAt.d.cts +57 -0
- package/dist/schemas-Dy3P_eAt.d.ts +57 -0
- package/dist/server.cjs +2762 -0
- package/dist/server.d.cts +244 -0
- package/dist/server.d.ts +244 -0
- package/dist/server.js +2716 -0
- package/dist/types-B5B3b0V2.d.cts +396 -0
- package/dist/types-B5B3b0V2.d.ts +396 -0
- package/dist/types-CmEs5_Ag.d.cts +3522 -0
- package/dist/types-DJm5-rZZ.d.ts +3522 -0
- package/dist/types-DvLt-XuC.d.ts +866 -0
- package/dist/types-E26YDM19.d.cts +866 -0
- package/dist/types-MfIzGgpV.d.cts +43 -0
- package/dist/types-MfIzGgpV.d.ts +43 -0
- package/package.json +36 -21
- package/src/client/a2a/extensions/auth/oauth/index.ts +6 -6
- package/src/client/a2a/extensions/auth/secrets/index.ts +6 -6
- package/src/client/a2a/extensions/interactions/approval/index.ts +7 -7
- package/src/client/a2a/extensions/services/embedding/index.ts +7 -3
- package/src/client/a2a/extensions/services/form/index.ts +3 -3
- package/src/client/a2a/extensions/services/llm/index.ts +3 -3
- package/src/client/a2a/extensions/services/mcp/index.ts +3 -3
- package/src/client/a2a/extensions/services/platform-api/index.ts +2 -2
- package/src/client/a2a/extensions/ui/agent-detail/index.ts +4 -4
- package/src/client/a2a/extensions/ui/canvas/index.ts +4 -4
- package/src/client/a2a/extensions/ui/citation/index.ts +4 -4
- package/src/client/a2a/extensions/ui/error/index.ts +4 -4
- package/src/client/a2a/extensions/ui/form-request/index.ts +4 -4
- package/src/client/a2a/extensions/ui/settings/index.ts +7 -3
- package/src/client/a2a/extensions/ui/trajectory/index.ts +4 -4
- package/src/client/core/extensions/types.ts +8 -1
- package/src/client/core/handle-task-status-update.ts +10 -3
- package/src/client/core/index.ts +1 -0
- package/src/client/core/utils/extract-text-from-message.ts +15 -0
- package/src/examples/hello-world.ts +34 -0
- package/src/experimental/server/a2a/extensions/agent-detail/index.ts +35 -0
- package/src/experimental/server/a2a/extensions/agent-detail/types.ts +10 -0
- package/src/experimental/server/a2a/extensions/index.ts +11 -0
- package/src/experimental/server/a2a/extensions/llm/index.ts +70 -0
- package/src/experimental/server/a2a/extensions/llm/types.ts +16 -0
- package/src/experimental/server/a2a/extensions/platform-self-registration/index.ts +34 -0
- package/src/experimental/server/a2a/extensions/platform-self-registration/types.ts +10 -0
- package/src/experimental/server/a2a/helpers.ts +95 -0
- package/{dist/client/a2a/index.d.ts → src/experimental/server/a2a/index.ts} +1 -1
- package/src/experimental/server/a2a/utils.ts +43 -0
- package/src/experimental/server/core/config/index.ts +17 -0
- package/src/experimental/server/core/config/schemas.ts +15 -0
- package/src/experimental/server/core/config/types.ts +10 -0
- package/src/experimental/server/core/context/index.ts +18 -0
- package/src/experimental/server/core/extensions/types.ts +24 -0
- package/{dist/client/a2a/protocol/index.d.ts → src/experimental/server/core/index.ts} +4 -0
- package/{dist/client/a2a/protocol/tests.d.ts → src/experimental/server/core/schemas.ts} +2 -1
- package/src/experimental/server/core/server/autoregistration.ts +142 -0
- package/src/experimental/server/core/server/executor.ts +284 -0
- package/src/experimental/server/core/server/helpers.ts +12 -0
- package/src/experimental/server/core/server/index.ts +166 -0
- package/src/experimental/server/core/server/types.ts +58 -0
- package/src/experimental/server/core/types.ts +8 -0
- package/src/experimental/server/core/utils.ts +59 -0
- package/{dist/client/api/core/errors/index.d.ts → src/server.ts} +3 -2
- package/dist/api.cjs.map +0 -1
- package/dist/api.js.map +0 -1
- package/dist/api.umd.js +0 -2
- package/dist/api.umd.js.map +0 -1
- package/dist/client/a2a/extensions/auth/oauth/index.d.ts +0 -10
- package/dist/client/a2a/extensions/auth/oauth/schemas.d.ts +0 -32
- package/dist/client/a2a/extensions/auth/oauth/types.d.ts +0 -13
- package/dist/client/a2a/extensions/auth/secrets/index.d.ts +0 -10
- package/dist/client/a2a/extensions/auth/secrets/schemas.d.ts +0 -23
- package/dist/client/a2a/extensions/auth/secrets/types.d.ts +0 -10
- package/dist/client/a2a/extensions/common/form/schemas.d.ts +0 -290
- package/dist/client/a2a/extensions/common/form/types.d.ts +0 -24
- package/dist/client/a2a/extensions/index.d.ts +0 -21
- package/dist/client/a2a/extensions/interactions/approval/index.d.ts +0 -10
- package/dist/client/a2a/extensions/interactions/approval/schemas.d.ts +0 -43
- package/dist/client/a2a/extensions/interactions/approval/types.d.ts +0 -14
- package/dist/client/a2a/extensions/schemas.d.ts +0 -19
- package/dist/client/a2a/extensions/services/embedding/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/embedding/schemas.d.ts +0 -29
- package/dist/client/a2a/extensions/services/embedding/types.d.ts +0 -10
- package/dist/client/a2a/extensions/services/form/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/form/schemas.d.ts +0 -97
- package/dist/client/a2a/extensions/services/form/types.d.ts +0 -8
- package/dist/client/a2a/extensions/services/llm/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/llm/schemas.d.ts +0 -29
- package/dist/client/a2a/extensions/services/llm/types.d.ts +0 -10
- package/dist/client/a2a/extensions/services/mcp/index.d.ts +0 -9
- package/dist/client/a2a/extensions/services/mcp/schemas.d.ts +0 -35
- package/dist/client/a2a/extensions/services/mcp/types.d.ts +0 -14
- package/dist/client/a2a/extensions/services/platform-api/index.d.ts +0 -11
- package/dist/client/a2a/extensions/services/platform-api/schemas.d.ts +0 -10
- package/dist/client/a2a/extensions/services/platform-api/types.d.ts +0 -7
- package/dist/client/a2a/extensions/types.d.ts +0 -19
- package/dist/client/a2a/extensions/ui/agent-detail/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/agent-detail/schemas.d.ts +0 -41
- package/dist/client/a2a/extensions/ui/agent-detail/types.d.ts +0 -13
- package/dist/client/a2a/extensions/ui/canvas/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/canvas/schemas.d.ts +0 -11
- package/dist/client/a2a/extensions/ui/canvas/types.d.ts +0 -7
- package/dist/client/a2a/extensions/ui/citation/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/citation/schemas.d.ts +0 -21
- package/dist/client/a2a/extensions/ui/citation/types.d.ts +0 -8
- package/dist/client/a2a/extensions/ui/error/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/error/schemas.d.ts +0 -30
- package/dist/client/a2a/extensions/ui/error/types.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/form-request/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/settings/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/settings/schemas.d.ts +0 -113
- package/dist/client/a2a/extensions/ui/settings/types.d.ts +0 -18
- package/dist/client/a2a/extensions/ui/trajectory/index.d.ts +0 -9
- package/dist/client/a2a/extensions/ui/trajectory/schemas.d.ts +0 -10
- package/dist/client/a2a/extensions/ui/trajectory/types.d.ts +0 -7
- package/dist/client/a2a/protocol/schemas.d.ts +0 -988
- package/dist/client/a2a/protocol/types.d.ts +0 -52
- package/dist/client/a2a/protocol/utils.d.ts +0 -6
- package/dist/client/api/common/schemas.d.ts +0 -30
- package/dist/client/api/common/types.d.ts +0 -18
- package/dist/client/api/configuration/api.d.ts +0 -22
- package/dist/client/api/configuration/schemas.d.ts +0 -31
- package/dist/client/api/configuration/types.d.ts +0 -11
- package/dist/client/api/connectors/api.d.ts +0 -78
- package/dist/client/api/connectors/schemas.d.ts +0 -114
- package/dist/client/api/connectors/types.d.ts +0 -28
- package/dist/client/api/contexts/api.d.ts +0 -133
- package/dist/client/api/contexts/schemas.d.ts +0 -359
- package/dist/client/api/contexts/types.d.ts +0 -34
- package/dist/client/api/core/client.d.ts +0 -1273
- package/dist/client/api/core/errors/types.d.ts +0 -36
- package/dist/client/api/core/errors/utils.d.ts +0 -23
- package/dist/client/api/core/index.d.ts +0 -7
- package/dist/client/api/core/schemas.d.ts +0 -17
- package/dist/client/api/core/types.d.ts +0 -45
- package/dist/client/api/core/utils.d.ts +0 -23
- package/dist/client/api/files/api.d.ts +0 -32
- package/dist/client/api/files/schemas.d.ts +0 -61
- package/dist/client/api/files/types.d.ts +0 -19
- package/dist/client/api/index.d.ts +0 -7
- package/dist/client/api/model-providers/api.d.ts +0 -50
- package/dist/client/api/model-providers/schemas.d.ts +0 -80
- package/dist/client/api/model-providers/types.d.ts +0 -44
- package/dist/client/api/provider-builds/api.d.ts +0 -143
- package/dist/client/api/provider-builds/schemas.d.ts +0 -250
- package/dist/client/api/provider-builds/types.d.ts +0 -31
- package/dist/client/api/providers/api.d.ts +0 -847
- package/dist/client/api/providers/schemas.d.ts +0 -1335
- package/dist/client/api/providers/types.d.ts +0 -45
- package/dist/client/api/schemas.d.ts +0 -15
- package/dist/client/api/types.d.ts +0 -15
- package/dist/client/api/user-feedback/api.d.ts +0 -9
- package/dist/client/api/user-feedback/schemas.d.ts +0 -15
- package/dist/client/api/user-feedback/types.d.ts +0 -8
- package/dist/client/api/users/api.d.ts +0 -13
- package/dist/client/api/users/schemas.d.ts +0 -20
- package/dist/client/api/users/types.d.ts +0 -14
- package/dist/client/api/variables/api.d.ts +0 -12
- package/dist/client/api/variables/schemas.d.ts +0 -13
- package/dist/client/api/variables/types.d.ts +0 -10
- package/dist/client/core/create-authenticated-fetch.d.ts +0 -5
- package/dist/client/core/extensions/extract.d.ts +0 -8
- package/dist/client/core/extensions/fulfill.d.ts +0 -8
- package/dist/client/core/extensions/resolve-user-metadata.d.ts +0 -6
- package/dist/client/core/extensions/types.d.ts +0 -68
- package/dist/client/core/fulfillment-resolvers/build-llm-extension-fulfillment-resolver.d.ts +0 -8
- package/dist/client/core/handle-agent-card.d.ts +0 -128
- package/dist/client/core/handle-task-status-update.d.ts +0 -7
- package/dist/client/core/index.d.ts +0 -14
- package/dist/client/core/utils/build-message-builder.d.ts +0 -9
- package/dist/client/core/utils/get-agent-card-path.d.ts +0 -5
- package/dist/core.cjs.map +0 -1
- package/dist/core.js.map +0 -1
- package/dist/core.umd.js +0 -2
- package/dist/core.umd.js.map +0 -1
- package/dist/extensions.cjs.map +0 -1
- package/dist/extensions.js.map +0 -1
- package/dist/extensions.umd.js +0 -2
- package/dist/extensions.umd.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.umd.js.map +0 -1
package/dist/core.js
CHANGED
|
@@ -1,2 +1,1725 @@
|
|
|
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
|
-
|
|
1
|
+
// src/client/core/create-authenticated-fetch.ts
|
|
2
|
+
function createAuthenticatedFetch(token, baseFetch) {
|
|
3
|
+
const fetchImpl = baseFetch ?? (typeof globalThis.fetch !== "undefined" ? globalThis.fetch : void 0);
|
|
4
|
+
if (!fetchImpl) {
|
|
5
|
+
throw new Error(
|
|
6
|
+
"fetch is not available. In Node.js < 18 or environments without global fetch, provide a fetch implementation via the baseFetch parameter."
|
|
7
|
+
);
|
|
8
|
+
}
|
|
9
|
+
return async (input, init) => {
|
|
10
|
+
const headers = new Headers(init?.headers);
|
|
11
|
+
headers.set("Authorization", `Bearer ${token}`);
|
|
12
|
+
return fetchImpl(input, { ...init, headers });
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// src/client/core/extensions/extract.ts
|
|
17
|
+
function extractUiExtensionData(extension) {
|
|
18
|
+
const schema = extension.getMessageMetadataSchema();
|
|
19
|
+
const uri = extension.getUri();
|
|
20
|
+
return function(metadata) {
|
|
21
|
+
const { success, data: parsed, error } = schema.safeParse(metadata ?? {});
|
|
22
|
+
if (!success) {
|
|
23
|
+
console.warn(error);
|
|
24
|
+
}
|
|
25
|
+
if (!success) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return parsed[uri];
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function extractServiceExtensionDemands(extension) {
|
|
32
|
+
const schema = extension.getDemandsSchema();
|
|
33
|
+
const uri = extension.getUri();
|
|
34
|
+
return function(agentExtensions) {
|
|
35
|
+
const foundExtension = agentExtensions.find((agentExtension) => agentExtension.uri === uri);
|
|
36
|
+
if (!foundExtension?.params) {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
const { success, data: parsed, error } = schema.safeParse(foundExtension.params);
|
|
40
|
+
if (!success) {
|
|
41
|
+
console.warn(error);
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return parsed;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// src/client/core/extensions/fulfill.ts
|
|
49
|
+
function fulfillServiceExtensionDemand(extension) {
|
|
50
|
+
const schema = extension.getFulfillmentsSchema();
|
|
51
|
+
const uri = extension.getUri();
|
|
52
|
+
return function(metadata, fulfillment) {
|
|
53
|
+
const { success, data: parsed, error } = schema.safeParse(fulfillment);
|
|
54
|
+
if (!success) {
|
|
55
|
+
console.warn(error);
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
...metadata,
|
|
59
|
+
[uri]: success ? parsed : {}
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// src/client/a2a/extensions/interactions/approval/index.ts
|
|
65
|
+
import z2 from "zod";
|
|
66
|
+
|
|
67
|
+
// src/client/a2a/extensions/interactions/approval/schemas.ts
|
|
68
|
+
import z from "zod";
|
|
69
|
+
|
|
70
|
+
// src/client/a2a/extensions/interactions/approval/types.ts
|
|
71
|
+
var ApprovalDecision = /* @__PURE__ */ ((ApprovalDecision2) => {
|
|
72
|
+
ApprovalDecision2["Approve"] = "approve";
|
|
73
|
+
ApprovalDecision2["Reject"] = "reject";
|
|
74
|
+
return ApprovalDecision2;
|
|
75
|
+
})(ApprovalDecision || {});
|
|
76
|
+
|
|
77
|
+
// src/client/a2a/extensions/interactions/approval/schemas.ts
|
|
78
|
+
var genericApprovalRequestSchema = z.object({
|
|
79
|
+
action: z.literal("generic"),
|
|
80
|
+
title: z.string().nullish().describe("A human-readable title for the action being approved."),
|
|
81
|
+
description: z.string().nullish().describe("A human-readable description of the action being approved.")
|
|
82
|
+
});
|
|
83
|
+
var toolCallApprovalRequestSchema = z.object({
|
|
84
|
+
action: z.literal("tool-call"),
|
|
85
|
+
title: z.string().nullish().describe("A human-readable title of the tool."),
|
|
86
|
+
description: z.string().nullish().describe("A human-readable description of the tool."),
|
|
87
|
+
name: z.string().describe("The programmatic name of the tool."),
|
|
88
|
+
input: z.object().nullish().describe("The input for the tool."),
|
|
89
|
+
server: z.object({
|
|
90
|
+
name: z.string().describe("The programmatic name of the server."),
|
|
91
|
+
title: z.string().nullish().describe("A human-readable title for the server."),
|
|
92
|
+
version: z.string().describe("The version of the server.")
|
|
93
|
+
}).nullish().describe("The server executing the tool.")
|
|
94
|
+
});
|
|
95
|
+
var approvalRequestSchema = z.discriminatedUnion("action", [
|
|
96
|
+
genericApprovalRequestSchema,
|
|
97
|
+
toolCallApprovalRequestSchema
|
|
98
|
+
]);
|
|
99
|
+
var approvalDecisionSchema = z.enum(ApprovalDecision);
|
|
100
|
+
var approvalResponseSchema = z.object({
|
|
101
|
+
decision: approvalDecisionSchema
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// src/client/a2a/extensions/interactions/approval/index.ts
|
|
105
|
+
var APPROVAL_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/interactions/approval/v1";
|
|
106
|
+
var approvalExtension = {
|
|
107
|
+
getUri: () => APPROVAL_EXTENSION_URI,
|
|
108
|
+
getMessageMetadataSchema: () => z2.object({ [APPROVAL_EXTENSION_URI]: approvalRequestSchema }).partial()
|
|
109
|
+
};
|
|
110
|
+
var approvalResponseExtension = {
|
|
111
|
+
getUri: () => APPROVAL_EXTENSION_URI,
|
|
112
|
+
getMessageMetadataSchema: () => z2.object({ [APPROVAL_EXTENSION_URI]: approvalResponseSchema }).partial()
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
// src/client/a2a/extensions/ui/canvas/index.ts
|
|
116
|
+
import z4 from "zod";
|
|
117
|
+
|
|
118
|
+
// src/client/a2a/extensions/ui/canvas/schemas.ts
|
|
119
|
+
import z3 from "zod";
|
|
120
|
+
var canvasEditRequestSchema = z3.object({
|
|
121
|
+
start_index: z3.int(),
|
|
122
|
+
end_index: z3.int(),
|
|
123
|
+
description: z3.string().nullish(),
|
|
124
|
+
artifact_id: z3.string()
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// src/client/a2a/extensions/ui/canvas/index.ts
|
|
128
|
+
var CANVAS_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/ui/canvas/v1";
|
|
129
|
+
var canvasExtension = {
|
|
130
|
+
getUri: () => CANVAS_EXTENSION_URI,
|
|
131
|
+
getMessageMetadataSchema: () => z4.object({ [CANVAS_EXTENSION_URI]: canvasEditRequestSchema }).partial()
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// src/client/a2a/extensions/ui/form-request/index.ts
|
|
135
|
+
import z6 from "zod";
|
|
136
|
+
|
|
137
|
+
// src/client/a2a/extensions/common/form/schemas.ts
|
|
138
|
+
import z5 from "zod";
|
|
139
|
+
var baseFieldSchema = z5.object({
|
|
140
|
+
id: z5.string().nonempty(),
|
|
141
|
+
label: z5.string().nonempty(),
|
|
142
|
+
required: z5.boolean().nullish(),
|
|
143
|
+
col_span: z5.int().min(1).max(4).nullish()
|
|
144
|
+
});
|
|
145
|
+
var textFieldSchema = baseFieldSchema.extend({
|
|
146
|
+
type: z5.literal("text"),
|
|
147
|
+
placeholder: z5.string().nullish(),
|
|
148
|
+
default_value: z5.string().nullish(),
|
|
149
|
+
auto_resize: z5.boolean().default(true).nullish()
|
|
150
|
+
});
|
|
151
|
+
var dateFieldSchema = baseFieldSchema.extend({
|
|
152
|
+
type: z5.literal("date"),
|
|
153
|
+
placeholder: z5.string().nullish(),
|
|
154
|
+
default_value: z5.string().nullish()
|
|
155
|
+
});
|
|
156
|
+
var fileFieldSchema = baseFieldSchema.extend({
|
|
157
|
+
type: z5.literal("file"),
|
|
158
|
+
accept: z5.array(z5.string())
|
|
159
|
+
});
|
|
160
|
+
var selectFieldOptionSchema = z5.object({
|
|
161
|
+
id: z5.string().nonempty(),
|
|
162
|
+
label: z5.string().nonempty()
|
|
163
|
+
});
|
|
164
|
+
var singleSelectFieldSchema = baseFieldSchema.extend({
|
|
165
|
+
type: z5.literal("singleselect"),
|
|
166
|
+
options: z5.array(selectFieldOptionSchema).nonempty(),
|
|
167
|
+
default_value: z5.string().nullish()
|
|
168
|
+
});
|
|
169
|
+
var multiSelectFieldSchema = baseFieldSchema.extend({
|
|
170
|
+
type: z5.literal("multiselect"),
|
|
171
|
+
options: z5.array(selectFieldOptionSchema).nonempty(),
|
|
172
|
+
default_value: z5.array(z5.string()).nullish()
|
|
173
|
+
});
|
|
174
|
+
var checkboxFieldSchema = baseFieldSchema.extend({
|
|
175
|
+
type: z5.literal("checkbox"),
|
|
176
|
+
content: z5.string(),
|
|
177
|
+
default_value: z5.boolean().nullish()
|
|
178
|
+
});
|
|
179
|
+
var formFieldSchema = z5.discriminatedUnion("type", [
|
|
180
|
+
textFieldSchema,
|
|
181
|
+
dateFieldSchema,
|
|
182
|
+
fileFieldSchema,
|
|
183
|
+
singleSelectFieldSchema,
|
|
184
|
+
multiSelectFieldSchema,
|
|
185
|
+
checkboxFieldSchema
|
|
186
|
+
]);
|
|
187
|
+
var textFieldValueSchema = z5.object({
|
|
188
|
+
type: textFieldSchema.shape.type,
|
|
189
|
+
value: z5.string().nullish()
|
|
190
|
+
});
|
|
191
|
+
var dateFieldValueSchema = z5.object({
|
|
192
|
+
type: dateFieldSchema.shape.type,
|
|
193
|
+
value: z5.string().nullish()
|
|
194
|
+
});
|
|
195
|
+
var fileFieldValueSchema = z5.object({
|
|
196
|
+
type: fileFieldSchema.shape.type,
|
|
197
|
+
value: z5.array(
|
|
198
|
+
z5.object({
|
|
199
|
+
uri: z5.string(),
|
|
200
|
+
name: z5.string().nullish(),
|
|
201
|
+
mime_type: z5.string().nullish()
|
|
202
|
+
})
|
|
203
|
+
).nullish()
|
|
204
|
+
});
|
|
205
|
+
var singleSelectFieldValueSchema = z5.object({
|
|
206
|
+
type: singleSelectFieldSchema.shape.type,
|
|
207
|
+
value: z5.string().nullish()
|
|
208
|
+
});
|
|
209
|
+
var multiSelectFieldValueSchema = z5.object({
|
|
210
|
+
type: multiSelectFieldSchema.shape.type,
|
|
211
|
+
value: z5.array(z5.string()).nullish()
|
|
212
|
+
});
|
|
213
|
+
var checkboxFieldValueSchema = z5.object({
|
|
214
|
+
type: checkboxFieldSchema.shape.type,
|
|
215
|
+
value: z5.boolean().nullish()
|
|
216
|
+
});
|
|
217
|
+
var formFieldValueSchema = z5.discriminatedUnion("type", [
|
|
218
|
+
textFieldValueSchema,
|
|
219
|
+
dateFieldValueSchema,
|
|
220
|
+
fileFieldValueSchema,
|
|
221
|
+
singleSelectFieldValueSchema,
|
|
222
|
+
multiSelectFieldValueSchema,
|
|
223
|
+
checkboxFieldValueSchema
|
|
224
|
+
]);
|
|
225
|
+
var formRenderSchema = z5.object({
|
|
226
|
+
fields: z5.array(formFieldSchema).nonempty(),
|
|
227
|
+
title: z5.string().nullish(),
|
|
228
|
+
description: z5.string().nullish(),
|
|
229
|
+
columns: z5.int().min(1).max(4).nullish(),
|
|
230
|
+
submit_label: z5.string().nullish()
|
|
231
|
+
});
|
|
232
|
+
var formValuesSchema = z5.record(z5.string(), formFieldValueSchema);
|
|
233
|
+
var formResponseSchema = z5.object({
|
|
234
|
+
values: formValuesSchema
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
// src/client/a2a/extensions/ui/form-request/index.ts
|
|
238
|
+
var FORM_REQUEST_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1";
|
|
239
|
+
var formRequestExtension = {
|
|
240
|
+
getUri: () => FORM_REQUEST_EXTENSION_URI,
|
|
241
|
+
getMessageMetadataSchema: () => z6.object({ [FORM_REQUEST_EXTENSION_URI]: formRenderSchema }).partial()
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// src/client/core/extensions/resolve-user-metadata.ts
|
|
245
|
+
var resolveUserMetadata = async (inputs) => {
|
|
246
|
+
const metadata = {};
|
|
247
|
+
const { form, canvasEditRequest, approvalResponse } = inputs;
|
|
248
|
+
if (form) {
|
|
249
|
+
metadata[formRequestExtension.getUri()] = {
|
|
250
|
+
values: form
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
if (canvasEditRequest) {
|
|
254
|
+
metadata[canvasExtension.getUri()] = canvasEditRequest;
|
|
255
|
+
}
|
|
256
|
+
if (approvalResponse) {
|
|
257
|
+
metadata[approvalResponseExtension.getUri()] = approvalResponse;
|
|
258
|
+
}
|
|
259
|
+
return metadata;
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
// src/client/core/extensions/types.ts
|
|
263
|
+
var TaskStatusUpdateType = /* @__PURE__ */ ((TaskStatusUpdateType2) => {
|
|
264
|
+
TaskStatusUpdateType2["SecretRequired"] = "secret-required";
|
|
265
|
+
TaskStatusUpdateType2["FormRequired"] = "form-required";
|
|
266
|
+
TaskStatusUpdateType2["OAuthRequired"] = "oauth-required";
|
|
267
|
+
TaskStatusUpdateType2["ApprovalRequired"] = "approval-required";
|
|
268
|
+
TaskStatusUpdateType2["TextInputRequired"] = "text-input-required";
|
|
269
|
+
return TaskStatusUpdateType2;
|
|
270
|
+
})(TaskStatusUpdateType || {});
|
|
271
|
+
|
|
272
|
+
// src/client/api/configuration/schemas.ts
|
|
273
|
+
import z7 from "zod";
|
|
274
|
+
var systemConfigurationSchema = z7.object({
|
|
275
|
+
id: z7.string(),
|
|
276
|
+
created_by: z7.string(),
|
|
277
|
+
updated_at: z7.string(),
|
|
278
|
+
default_embedding_model: z7.string().nullish(),
|
|
279
|
+
default_llm_model: z7.string().nullish()
|
|
280
|
+
});
|
|
281
|
+
var readSystemConfigurationRequestSchema = z7.never();
|
|
282
|
+
var updateSystemConfigurationRequestSchema = z7.object({
|
|
283
|
+
default_embedding_model: z7.string().nullish(),
|
|
284
|
+
default_llm_model: z7.string().nullish()
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
// src/client/api/connectors/schemas.ts
|
|
288
|
+
import z9 from "zod";
|
|
289
|
+
|
|
290
|
+
// src/client/api/core/schemas.ts
|
|
291
|
+
import z8 from "zod";
|
|
292
|
+
var paginationQuerySchema = z8.object({
|
|
293
|
+
limit: z8.number().optional(),
|
|
294
|
+
order: z8.string().optional(),
|
|
295
|
+
order_by: z8.string().optional(),
|
|
296
|
+
page_token: z8.string().nullish()
|
|
297
|
+
});
|
|
298
|
+
var paginatedResponseSchema = z8.object({
|
|
299
|
+
items: z8.array(z8.unknown()),
|
|
300
|
+
total_count: z8.number(),
|
|
301
|
+
has_more: z8.boolean(),
|
|
302
|
+
next_page_token: z8.string().nullable()
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
// src/client/api/connectors/types.ts
|
|
306
|
+
var ConnectorState = /* @__PURE__ */ ((ConnectorState2) => {
|
|
307
|
+
ConnectorState2["Created"] = "created";
|
|
308
|
+
ConnectorState2["AuthRequired"] = "auth_required";
|
|
309
|
+
ConnectorState2["Connected"] = "connected";
|
|
310
|
+
ConnectorState2["Disconnected"] = "disconnected";
|
|
311
|
+
return ConnectorState2;
|
|
312
|
+
})(ConnectorState || {});
|
|
313
|
+
|
|
314
|
+
// src/client/api/connectors/schemas.ts
|
|
315
|
+
var connectorStateSchema = z9.enum(ConnectorState);
|
|
316
|
+
var connectorSchema = z9.object({
|
|
317
|
+
id: z9.string(),
|
|
318
|
+
url: z9.string(),
|
|
319
|
+
state: connectorStateSchema,
|
|
320
|
+
auth_request: z9.object({
|
|
321
|
+
type: z9.literal("code"),
|
|
322
|
+
authorization_endpoint: z9.string()
|
|
323
|
+
}).nullable(),
|
|
324
|
+
disconnect_reason: z9.string().nullable(),
|
|
325
|
+
metadata: z9.record(z9.string(), z9.string()).nullable()
|
|
326
|
+
});
|
|
327
|
+
var listConnectorsRequestSchema = z9.never();
|
|
328
|
+
var listConnectorsResponseSchema = paginatedResponseSchema.extend({
|
|
329
|
+
items: z9.array(connectorSchema)
|
|
330
|
+
});
|
|
331
|
+
var createConnectorRequestSchema = z9.object({
|
|
332
|
+
match_preset: z9.boolean(),
|
|
333
|
+
url: z9.string(),
|
|
334
|
+
client_id: z9.string().nullish(),
|
|
335
|
+
client_secret: z9.string().nullish(),
|
|
336
|
+
metadata: z9.record(z9.string(), z9.string()).nullish()
|
|
337
|
+
});
|
|
338
|
+
var readConnectorRequestSchema = z9.object({
|
|
339
|
+
connector_id: z9.string()
|
|
340
|
+
});
|
|
341
|
+
var deleteConnectorRequestSchema = z9.object({
|
|
342
|
+
connector_id: z9.string()
|
|
343
|
+
});
|
|
344
|
+
var deleteConnectorResponseSchema = z9.null();
|
|
345
|
+
var connectConnectorRequestSchema = z9.object({
|
|
346
|
+
connector_id: z9.string(),
|
|
347
|
+
redirect_url: z9.string().nullish()
|
|
348
|
+
});
|
|
349
|
+
var disconnectConnectorRequestSchema = z9.object({
|
|
350
|
+
connector_id: z9.string()
|
|
351
|
+
});
|
|
352
|
+
var connectorPresetSchema = z9.object({
|
|
353
|
+
url: z9.string(),
|
|
354
|
+
metadata: z9.record(z9.string(), z9.string()).nullable()
|
|
355
|
+
});
|
|
356
|
+
var listConnectorPresetsRequestSchema = z9.never();
|
|
357
|
+
var listConnectorPresetsResponseSchema = paginatedResponseSchema.extend({
|
|
358
|
+
items: z9.array(connectorPresetSchema)
|
|
359
|
+
});
|
|
360
|
+
|
|
361
|
+
// src/client/api/contexts/schemas.ts
|
|
362
|
+
import z12 from "zod";
|
|
363
|
+
|
|
364
|
+
// src/client/a2a/protocol/schemas.ts
|
|
365
|
+
import z11 from "zod";
|
|
366
|
+
|
|
367
|
+
// src/client/a2a/protocol/utils.ts
|
|
368
|
+
import z10 from "zod";
|
|
369
|
+
function a2aSchema(schema) {
|
|
370
|
+
return z10.preprocess((value) => normalizeOptionalNulls(schema, value), schema);
|
|
371
|
+
}
|
|
372
|
+
function normalizeOptionalNulls(schema, data) {
|
|
373
|
+
if (schema instanceof z10.ZodOptional) {
|
|
374
|
+
if (data === null) {
|
|
375
|
+
return void 0;
|
|
376
|
+
}
|
|
377
|
+
return normalizeOptionalNulls(schema.unwrap(), data);
|
|
378
|
+
}
|
|
379
|
+
if (schema instanceof z10.ZodObject) {
|
|
380
|
+
if (data === null || typeof data !== "object" || Array.isArray(data)) {
|
|
381
|
+
return data;
|
|
382
|
+
}
|
|
383
|
+
const { shape } = schema;
|
|
384
|
+
const record = data;
|
|
385
|
+
return Object.keys(record).reduce((acc, key) => {
|
|
386
|
+
acc[key] = key in shape ? normalizeOptionalNulls(shape[key], record[key]) : record[key];
|
|
387
|
+
return acc;
|
|
388
|
+
}, {});
|
|
389
|
+
}
|
|
390
|
+
return data;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// src/client/a2a/protocol/schemas.ts
|
|
394
|
+
var agentInterfaceSchema = a2aSchema(
|
|
395
|
+
z11.object({
|
|
396
|
+
transport: z11.string(),
|
|
397
|
+
url: z11.string()
|
|
398
|
+
})
|
|
399
|
+
);
|
|
400
|
+
var agentExtensionSchema = a2aSchema(
|
|
401
|
+
z11.object({
|
|
402
|
+
uri: z11.string(),
|
|
403
|
+
description: z11.string().optional(),
|
|
404
|
+
required: z11.boolean().optional(),
|
|
405
|
+
params: z11.record(z11.string(), z11.unknown()).optional()
|
|
406
|
+
})
|
|
407
|
+
);
|
|
408
|
+
var agentCapabilitiesSchema = a2aSchema(
|
|
409
|
+
z11.object({
|
|
410
|
+
extensions: z11.array(agentExtensionSchema).optional(),
|
|
411
|
+
pushNotifications: z11.boolean().optional(),
|
|
412
|
+
stateTransitionHistory: z11.boolean().optional(),
|
|
413
|
+
streaming: z11.boolean().optional()
|
|
414
|
+
})
|
|
415
|
+
);
|
|
416
|
+
var agentProviderSchema = a2aSchema(
|
|
417
|
+
z11.object({
|
|
418
|
+
url: z11.string(),
|
|
419
|
+
organization: z11.string()
|
|
420
|
+
})
|
|
421
|
+
);
|
|
422
|
+
var agentCardSignatureSchema = a2aSchema(
|
|
423
|
+
z11.object({
|
|
424
|
+
signature: z11.string(),
|
|
425
|
+
protected: z11.string(),
|
|
426
|
+
header: z11.record(z11.string(), z11.unknown()).optional()
|
|
427
|
+
})
|
|
428
|
+
);
|
|
429
|
+
var agentSkillSchema = a2aSchema(
|
|
430
|
+
z11.object({
|
|
431
|
+
id: z11.string(),
|
|
432
|
+
name: z11.string(),
|
|
433
|
+
description: z11.string(),
|
|
434
|
+
tags: z11.array(z11.string()),
|
|
435
|
+
inputModes: z11.array(z11.string()).optional(),
|
|
436
|
+
outputModes: z11.array(z11.string()).optional(),
|
|
437
|
+
examples: z11.array(z11.string()).optional(),
|
|
438
|
+
security: z11.array(z11.record(z11.string(), z11.array(z11.string()))).optional()
|
|
439
|
+
})
|
|
440
|
+
);
|
|
441
|
+
var authorizationCodeOAuthFlowSchema = a2aSchema(
|
|
442
|
+
z11.object({
|
|
443
|
+
authorizationUrl: z11.string(),
|
|
444
|
+
tokenUrl: z11.string(),
|
|
445
|
+
scopes: z11.record(z11.string(), z11.string()),
|
|
446
|
+
refreshUrl: z11.string().optional()
|
|
447
|
+
})
|
|
448
|
+
);
|
|
449
|
+
var clientCredentialsOAuthFlowSchema = a2aSchema(
|
|
450
|
+
z11.object({
|
|
451
|
+
tokenUrl: z11.string(),
|
|
452
|
+
scopes: z11.record(z11.string(), z11.string()),
|
|
453
|
+
refreshUrl: z11.string().optional()
|
|
454
|
+
})
|
|
455
|
+
);
|
|
456
|
+
var implicitOAuthFlowSchema = a2aSchema(
|
|
457
|
+
z11.object({
|
|
458
|
+
authorizationUrl: z11.string(),
|
|
459
|
+
scopes: z11.record(z11.string(), z11.string()),
|
|
460
|
+
refreshUrl: z11.string().optional()
|
|
461
|
+
})
|
|
462
|
+
);
|
|
463
|
+
var passwordOAuthFlowSchema = a2aSchema(
|
|
464
|
+
z11.object({
|
|
465
|
+
tokenUrl: z11.string(),
|
|
466
|
+
scopes: z11.record(z11.string(), z11.string()),
|
|
467
|
+
refreshUrl: z11.string().optional()
|
|
468
|
+
})
|
|
469
|
+
);
|
|
470
|
+
var oauthFlowsSchema = a2aSchema(
|
|
471
|
+
z11.object({
|
|
472
|
+
authorizationCode: authorizationCodeOAuthFlowSchema.optional(),
|
|
473
|
+
clientCredentials: clientCredentialsOAuthFlowSchema.optional(),
|
|
474
|
+
implicit: implicitOAuthFlowSchema.optional(),
|
|
475
|
+
password: passwordOAuthFlowSchema.optional()
|
|
476
|
+
})
|
|
477
|
+
);
|
|
478
|
+
var apiKeySecuritySchemeSchema = a2aSchema(
|
|
479
|
+
z11.object({
|
|
480
|
+
type: z11.literal("apiKey"),
|
|
481
|
+
name: z11.string(),
|
|
482
|
+
in: z11.literal(["cookie", "header", "query"]),
|
|
483
|
+
description: z11.string().optional()
|
|
484
|
+
})
|
|
485
|
+
);
|
|
486
|
+
var httpAuthSecuritySchemeSchema = a2aSchema(
|
|
487
|
+
z11.object({
|
|
488
|
+
type: z11.literal("http"),
|
|
489
|
+
scheme: z11.string(),
|
|
490
|
+
description: z11.string().optional(),
|
|
491
|
+
bearerFormat: z11.string().optional()
|
|
492
|
+
})
|
|
493
|
+
);
|
|
494
|
+
var oauth2SecuritySchemeSchema = a2aSchema(
|
|
495
|
+
z11.object({
|
|
496
|
+
type: z11.literal("oauth2"),
|
|
497
|
+
flows: oauthFlowsSchema,
|
|
498
|
+
description: z11.string().optional(),
|
|
499
|
+
oauth2MetadataUrl: z11.string().optional()
|
|
500
|
+
})
|
|
501
|
+
);
|
|
502
|
+
var openIdConnectSecuritySchemeSchema = a2aSchema(
|
|
503
|
+
z11.object({
|
|
504
|
+
type: z11.literal("openIdConnect"),
|
|
505
|
+
openIdConnectUrl: z11.string(),
|
|
506
|
+
description: z11.string().optional()
|
|
507
|
+
})
|
|
508
|
+
);
|
|
509
|
+
var mutualTlsSecuritySchemeSchema = a2aSchema(
|
|
510
|
+
z11.object({
|
|
511
|
+
type: z11.literal("mutualTLS"),
|
|
512
|
+
description: z11.string().optional()
|
|
513
|
+
})
|
|
514
|
+
);
|
|
515
|
+
var securitySchemeSchema = a2aSchema(
|
|
516
|
+
z11.union([
|
|
517
|
+
apiKeySecuritySchemeSchema,
|
|
518
|
+
httpAuthSecuritySchemeSchema,
|
|
519
|
+
oauth2SecuritySchemeSchema,
|
|
520
|
+
openIdConnectSecuritySchemeSchema,
|
|
521
|
+
mutualTlsSecuritySchemeSchema
|
|
522
|
+
])
|
|
523
|
+
);
|
|
524
|
+
var agentCardSchema = a2aSchema(
|
|
525
|
+
z11.object({
|
|
526
|
+
url: z11.string(),
|
|
527
|
+
name: z11.string(),
|
|
528
|
+
description: z11.string(),
|
|
529
|
+
version: z11.string(),
|
|
530
|
+
protocolVersion: z11.string(),
|
|
531
|
+
capabilities: agentCapabilitiesSchema,
|
|
532
|
+
defaultInputModes: z11.array(z11.string()),
|
|
533
|
+
defaultOutputModes: z11.array(z11.string()),
|
|
534
|
+
skills: z11.array(agentSkillSchema),
|
|
535
|
+
iconUrl: z11.string().optional(),
|
|
536
|
+
documentationUrl: z11.string().optional(),
|
|
537
|
+
preferredTransport: z11.string().optional(),
|
|
538
|
+
supportsAuthenticatedExtendedCard: z11.boolean().optional(),
|
|
539
|
+
additionalInterfaces: z11.array(agentInterfaceSchema).optional(),
|
|
540
|
+
provider: agentProviderSchema.optional(),
|
|
541
|
+
signatures: z11.array(agentCardSignatureSchema).optional(),
|
|
542
|
+
security: z11.array(z11.record(z11.string(), z11.array(z11.string()))).optional(),
|
|
543
|
+
securitySchemes: z11.record(z11.string(), securitySchemeSchema).optional()
|
|
544
|
+
})
|
|
545
|
+
);
|
|
546
|
+
var fileWithBytesSchema = a2aSchema(
|
|
547
|
+
z11.object({
|
|
548
|
+
bytes: z11.string(),
|
|
549
|
+
mimeType: z11.string().optional(),
|
|
550
|
+
name: z11.string().optional()
|
|
551
|
+
})
|
|
552
|
+
);
|
|
553
|
+
var fileWithUriSchema = a2aSchema(
|
|
554
|
+
z11.object({
|
|
555
|
+
uri: z11.string(),
|
|
556
|
+
mimeType: z11.string().optional(),
|
|
557
|
+
name: z11.string().optional()
|
|
558
|
+
})
|
|
559
|
+
);
|
|
560
|
+
var textPartSchema = a2aSchema(
|
|
561
|
+
z11.object({
|
|
562
|
+
kind: z11.literal("text"),
|
|
563
|
+
text: z11.string(),
|
|
564
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional()
|
|
565
|
+
})
|
|
566
|
+
);
|
|
567
|
+
var filePartSchema = a2aSchema(
|
|
568
|
+
z11.object({
|
|
569
|
+
kind: z11.literal("file"),
|
|
570
|
+
file: z11.union([fileWithBytesSchema, fileWithUriSchema]),
|
|
571
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional()
|
|
572
|
+
})
|
|
573
|
+
);
|
|
574
|
+
var dataPartSchema = a2aSchema(
|
|
575
|
+
z11.object({
|
|
576
|
+
kind: z11.literal("data"),
|
|
577
|
+
data: z11.record(z11.string(), z11.unknown()),
|
|
578
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional()
|
|
579
|
+
})
|
|
580
|
+
);
|
|
581
|
+
var partSchema = a2aSchema(z11.union([textPartSchema, filePartSchema, dataPartSchema]));
|
|
582
|
+
var artifactSchema = a2aSchema(
|
|
583
|
+
z11.object({
|
|
584
|
+
artifactId: z11.string(),
|
|
585
|
+
parts: z11.array(partSchema),
|
|
586
|
+
description: z11.string().optional(),
|
|
587
|
+
extensions: z11.array(z11.string()).optional(),
|
|
588
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional(),
|
|
589
|
+
name: z11.string().optional()
|
|
590
|
+
})
|
|
591
|
+
);
|
|
592
|
+
var messageSchema = a2aSchema(
|
|
593
|
+
z11.object({
|
|
594
|
+
kind: z11.literal("message"),
|
|
595
|
+
messageId: z11.string(),
|
|
596
|
+
parts: z11.array(partSchema),
|
|
597
|
+
role: z11.literal(["agent", "user"]),
|
|
598
|
+
contextId: z11.string().optional(),
|
|
599
|
+
extensions: z11.array(z11.string()).optional(),
|
|
600
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional(),
|
|
601
|
+
referenceTaskIds: z11.array(z11.string()).optional(),
|
|
602
|
+
taskId: z11.string().optional()
|
|
603
|
+
})
|
|
604
|
+
);
|
|
605
|
+
var taskStatusSchema = a2aSchema(
|
|
606
|
+
z11.object({
|
|
607
|
+
state: z11.literal([
|
|
608
|
+
"submitted",
|
|
609
|
+
"working",
|
|
610
|
+
"input-required",
|
|
611
|
+
"completed",
|
|
612
|
+
"canceled",
|
|
613
|
+
"failed",
|
|
614
|
+
"rejected",
|
|
615
|
+
"auth-required",
|
|
616
|
+
"unknown"
|
|
617
|
+
]),
|
|
618
|
+
message: messageSchema.optional(),
|
|
619
|
+
timestamp: z11.string().optional()
|
|
620
|
+
})
|
|
621
|
+
);
|
|
622
|
+
var taskStatusUpdateEventSchema = a2aSchema(
|
|
623
|
+
z11.object({
|
|
624
|
+
kind: z11.literal("status-update"),
|
|
625
|
+
taskId: z11.string(),
|
|
626
|
+
contextId: z11.string(),
|
|
627
|
+
status: taskStatusSchema,
|
|
628
|
+
final: z11.boolean(),
|
|
629
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional()
|
|
630
|
+
})
|
|
631
|
+
);
|
|
632
|
+
var taskSchema = a2aSchema(
|
|
633
|
+
z11.object({
|
|
634
|
+
kind: z11.literal("task"),
|
|
635
|
+
id: z11.string(),
|
|
636
|
+
contextId: z11.string(),
|
|
637
|
+
status: taskStatusSchema,
|
|
638
|
+
artifacts: z11.array(artifactSchema).optional(),
|
|
639
|
+
history: z11.array(messageSchema).optional(),
|
|
640
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional()
|
|
641
|
+
})
|
|
642
|
+
);
|
|
643
|
+
var taskArtifactUpdateEventSchema = a2aSchema(
|
|
644
|
+
z11.object({
|
|
645
|
+
kind: z11.literal("artifact-update"),
|
|
646
|
+
taskId: z11.string(),
|
|
647
|
+
contextId: z11.string(),
|
|
648
|
+
artifact: artifactSchema,
|
|
649
|
+
append: z11.boolean().optional(),
|
|
650
|
+
lastChunk: z11.boolean().optional(),
|
|
651
|
+
metadata: z11.record(z11.string(), z11.unknown()).optional()
|
|
652
|
+
})
|
|
653
|
+
);
|
|
654
|
+
var errorBaseSchema = z11.object({
|
|
655
|
+
message: z11.string(),
|
|
656
|
+
data: z11.record(z11.string(), z11.unknown()).optional()
|
|
657
|
+
});
|
|
658
|
+
var jsonRpcErrorSchema = a2aSchema(
|
|
659
|
+
errorBaseSchema.extend({
|
|
660
|
+
code: z11.number()
|
|
661
|
+
})
|
|
662
|
+
);
|
|
663
|
+
var jsonParseErrorSchema = a2aSchema(
|
|
664
|
+
errorBaseSchema.extend({
|
|
665
|
+
code: z11.literal(-32700)
|
|
666
|
+
})
|
|
667
|
+
);
|
|
668
|
+
var invalidRequestErrorSchema = a2aSchema(
|
|
669
|
+
errorBaseSchema.extend({
|
|
670
|
+
code: z11.literal(-32600)
|
|
671
|
+
})
|
|
672
|
+
);
|
|
673
|
+
var methodNotFoundErrorSchema = a2aSchema(
|
|
674
|
+
errorBaseSchema.extend({
|
|
675
|
+
code: z11.literal(-32601)
|
|
676
|
+
})
|
|
677
|
+
);
|
|
678
|
+
var invalidParamsErrorSchema = a2aSchema(
|
|
679
|
+
errorBaseSchema.extend({
|
|
680
|
+
code: z11.literal(-32602)
|
|
681
|
+
})
|
|
682
|
+
);
|
|
683
|
+
var internalErrorSchema = a2aSchema(
|
|
684
|
+
errorBaseSchema.extend({
|
|
685
|
+
code: z11.literal(-32603)
|
|
686
|
+
})
|
|
687
|
+
);
|
|
688
|
+
var taskNotFoundErrorSchema = a2aSchema(
|
|
689
|
+
errorBaseSchema.extend({
|
|
690
|
+
code: z11.literal(-32001)
|
|
691
|
+
})
|
|
692
|
+
);
|
|
693
|
+
var taskNotCancelableErrorSchema = a2aSchema(
|
|
694
|
+
errorBaseSchema.extend({
|
|
695
|
+
code: z11.literal(-32002)
|
|
696
|
+
})
|
|
697
|
+
);
|
|
698
|
+
var pushNotificationNotSupportedErrorSchema = a2aSchema(
|
|
699
|
+
errorBaseSchema.extend({
|
|
700
|
+
code: z11.literal(-32003)
|
|
701
|
+
})
|
|
702
|
+
);
|
|
703
|
+
var unsupportedOperationErrorSchema = a2aSchema(
|
|
704
|
+
errorBaseSchema.extend({
|
|
705
|
+
code: z11.literal(-32004)
|
|
706
|
+
})
|
|
707
|
+
);
|
|
708
|
+
var contentTypeNotSupportedErrorSchema = a2aSchema(
|
|
709
|
+
errorBaseSchema.extend({
|
|
710
|
+
code: z11.literal(-32005)
|
|
711
|
+
})
|
|
712
|
+
);
|
|
713
|
+
var invalidAgentResponseErrorSchema = a2aSchema(
|
|
714
|
+
errorBaseSchema.extend({
|
|
715
|
+
code: z11.literal(-32006)
|
|
716
|
+
})
|
|
717
|
+
);
|
|
718
|
+
var authenticatedExtendedCardNotConfiguredErrorSchema = a2aSchema(
|
|
719
|
+
errorBaseSchema.extend({
|
|
720
|
+
code: z11.literal(-32007)
|
|
721
|
+
})
|
|
722
|
+
);
|
|
723
|
+
var jsonRpcErrorResponseSchema = a2aSchema(
|
|
724
|
+
z11.object({
|
|
725
|
+
jsonrpc: z11.literal("2.0"),
|
|
726
|
+
id: z11.union([z11.string(), z11.number()]).nullable(),
|
|
727
|
+
error: z11.union([
|
|
728
|
+
jsonRpcErrorSchema,
|
|
729
|
+
jsonParseErrorSchema,
|
|
730
|
+
invalidRequestErrorSchema,
|
|
731
|
+
methodNotFoundErrorSchema,
|
|
732
|
+
invalidParamsErrorSchema,
|
|
733
|
+
internalErrorSchema,
|
|
734
|
+
taskNotFoundErrorSchema,
|
|
735
|
+
taskNotCancelableErrorSchema,
|
|
736
|
+
pushNotificationNotSupportedErrorSchema,
|
|
737
|
+
unsupportedOperationErrorSchema,
|
|
738
|
+
contentTypeNotSupportedErrorSchema,
|
|
739
|
+
invalidAgentResponseErrorSchema,
|
|
740
|
+
authenticatedExtendedCardNotConfiguredErrorSchema
|
|
741
|
+
])
|
|
742
|
+
})
|
|
743
|
+
);
|
|
744
|
+
var getTaskSuccessResponseSchema = a2aSchema(
|
|
745
|
+
z11.object({
|
|
746
|
+
jsonrpc: z11.literal("2.0"),
|
|
747
|
+
id: z11.union([z11.string(), z11.number()]).nullable(),
|
|
748
|
+
result: taskSchema
|
|
749
|
+
})
|
|
750
|
+
);
|
|
751
|
+
var getTaskResponseSchema = a2aSchema(z11.union([jsonRpcErrorResponseSchema, getTaskSuccessResponseSchema]));
|
|
752
|
+
|
|
753
|
+
// src/client/api/contexts/types.ts
|
|
754
|
+
var ContextHistoryKind = /* @__PURE__ */ ((ContextHistoryKind2) => {
|
|
755
|
+
ContextHistoryKind2["Artifact"] = "artifact";
|
|
756
|
+
ContextHistoryKind2["Message"] = "message";
|
|
757
|
+
return ContextHistoryKind2;
|
|
758
|
+
})(ContextHistoryKind || {});
|
|
759
|
+
|
|
760
|
+
// src/client/api/contexts/schemas.ts
|
|
761
|
+
var contextSchema = z12.object({
|
|
762
|
+
id: z12.string(),
|
|
763
|
+
created_at: z12.string(),
|
|
764
|
+
updated_at: z12.string(),
|
|
765
|
+
last_active_at: z12.string(),
|
|
766
|
+
created_by: z12.string(),
|
|
767
|
+
provider_id: z12.string().nullable(),
|
|
768
|
+
metadata: z12.record(z12.string(), z12.unknown()).nullable()
|
|
769
|
+
});
|
|
770
|
+
var listContextsRequestSchema = z12.object({
|
|
771
|
+
query: paginationQuerySchema.extend({
|
|
772
|
+
provider_id: z12.string().nullish(),
|
|
773
|
+
include_empty: z12.boolean().optional()
|
|
774
|
+
}).optional()
|
|
775
|
+
});
|
|
776
|
+
var listContextsResponseSchema = paginatedResponseSchema.extend({
|
|
777
|
+
items: z12.array(contextSchema)
|
|
778
|
+
});
|
|
779
|
+
var createContextRequestSchema = z12.object({
|
|
780
|
+
provider_id: z12.string().nullish(),
|
|
781
|
+
metadata: z12.record(z12.string(), z12.string()).nullish()
|
|
782
|
+
});
|
|
783
|
+
var readContextRequestSchema = z12.object({
|
|
784
|
+
context_id: z12.string()
|
|
785
|
+
});
|
|
786
|
+
var updateContextRequestSchema = z12.object({
|
|
787
|
+
context_id: z12.string(),
|
|
788
|
+
metadata: z12.record(z12.string(), z12.string()).nullish()
|
|
789
|
+
});
|
|
790
|
+
var deleteContextRequestSchema = z12.object({
|
|
791
|
+
context_id: z12.string()
|
|
792
|
+
});
|
|
793
|
+
var deleteContextResponseSchema = z12.null();
|
|
794
|
+
var contextHistoryKind = z12.enum(ContextHistoryKind);
|
|
795
|
+
var contextHistorySchema = z12.object({
|
|
796
|
+
id: z12.string(),
|
|
797
|
+
context_id: z12.string(),
|
|
798
|
+
created_at: z12.string(),
|
|
799
|
+
kind: contextHistoryKind,
|
|
800
|
+
data: z12.union([artifactSchema, messageSchema])
|
|
801
|
+
});
|
|
802
|
+
var listContextHistoryRequestSchema = z12.object({
|
|
803
|
+
context_id: z12.string(),
|
|
804
|
+
query: paginationQuerySchema.optional()
|
|
805
|
+
});
|
|
806
|
+
var listContextHistoryResponseSchema = paginatedResponseSchema.extend({
|
|
807
|
+
items: z12.array(contextHistorySchema)
|
|
808
|
+
});
|
|
809
|
+
var createContextHistoryRequestSchema = z12.object({
|
|
810
|
+
context_id: z12.string(),
|
|
811
|
+
data: z12.union([artifactSchema, messageSchema])
|
|
812
|
+
});
|
|
813
|
+
var createContextHistoryResponseSchema = z12.null();
|
|
814
|
+
var patchContextMetadataRequestSchema = z12.object({
|
|
815
|
+
context_id: z12.string(),
|
|
816
|
+
metadata: z12.record(z12.string(), z12.union([z12.string(), z12.null()]))
|
|
817
|
+
});
|
|
818
|
+
var contextTokenSchema = z12.object({
|
|
819
|
+
token: z12.string(),
|
|
820
|
+
expires_at: z12.string().nullable()
|
|
821
|
+
});
|
|
822
|
+
var resourceIdPermissionSchema = z12.object({
|
|
823
|
+
id: z12.string()
|
|
824
|
+
});
|
|
825
|
+
var contextPermissionsGrantSchema = z12.object({
|
|
826
|
+
files: z12.array(z12.literal(["read", "write", "extract", "*"])).optional(),
|
|
827
|
+
vector_stores: z12.array(z12.literal(["read", "write", "*"])).optional(),
|
|
828
|
+
context_data: z12.array(z12.literal(["read", "write", "*"])).optional()
|
|
829
|
+
});
|
|
830
|
+
var globalPermissionsGrantSchema = contextPermissionsGrantSchema.extend({
|
|
831
|
+
feedback: z12.array(z12.literal("write")).optional(),
|
|
832
|
+
llm: z12.array(z12.union([z12.literal("*"), resourceIdPermissionSchema])).optional(),
|
|
833
|
+
embeddings: z12.array(z12.union([z12.literal("*"), resourceIdPermissionSchema])).optional(),
|
|
834
|
+
model_providers: z12.array(z12.literal(["read", "write", "*"])).optional(),
|
|
835
|
+
a2a_proxy: z12.array(z12.union([z12.literal("*"), z12.string()])).optional(),
|
|
836
|
+
providers: z12.array(z12.literal(["read", "write", "*"])).optional(),
|
|
837
|
+
provider_variables: z12.array(z12.literal(["read", "write", "*"])).optional(),
|
|
838
|
+
contexts: z12.array(z12.literal(["read", "write", "*"])).optional(),
|
|
839
|
+
connectors: z12.array(z12.literal(["read", "write", "proxy", "*"])).optional()
|
|
840
|
+
}).superRefine((val, ctx) => {
|
|
841
|
+
if (!val.a2a_proxy) return;
|
|
842
|
+
if (val.a2a_proxy.length === 0) {
|
|
843
|
+
ctx.addIssue({
|
|
844
|
+
code: z12.ZodIssueCode.custom,
|
|
845
|
+
message: "a2a_proxy cannot be empty array",
|
|
846
|
+
path: ["a2a_proxy"]
|
|
847
|
+
});
|
|
848
|
+
return;
|
|
849
|
+
}
|
|
850
|
+
const hasWildcard = val.a2a_proxy.includes("*");
|
|
851
|
+
const hasOthers = val.a2a_proxy.some((v) => v !== "*");
|
|
852
|
+
if (hasWildcard && hasOthers) {
|
|
853
|
+
ctx.addIssue({
|
|
854
|
+
code: z12.ZodIssueCode.custom,
|
|
855
|
+
message: "a2a_proxy cannot mix '*' with specific providers",
|
|
856
|
+
path: ["a2a_proxy"]
|
|
857
|
+
});
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
var createContextTokenRequestSchema = z12.object({
|
|
861
|
+
context_id: z12.string(),
|
|
862
|
+
grant_context_permissions: contextPermissionsGrantSchema.optional(),
|
|
863
|
+
grant_global_permissions: globalPermissionsGrantSchema.optional()
|
|
864
|
+
});
|
|
865
|
+
|
|
866
|
+
// src/client/api/files/schemas.ts
|
|
867
|
+
import z13 from "zod";
|
|
868
|
+
|
|
869
|
+
// src/client/api/files/types.ts
|
|
870
|
+
var FileType = /* @__PURE__ */ ((FileType2) => {
|
|
871
|
+
FileType2["UserUpload"] = "user_upload";
|
|
872
|
+
FileType2["ExtractedText"] = "extracted_text";
|
|
873
|
+
return FileType2;
|
|
874
|
+
})(FileType || {});
|
|
875
|
+
|
|
876
|
+
// src/client/api/files/schemas.ts
|
|
877
|
+
var fileTypeSchema = z13.enum(FileType);
|
|
878
|
+
var fileSchema = z13.object({
|
|
879
|
+
id: z13.string(),
|
|
880
|
+
filename: z13.string(),
|
|
881
|
+
content_type: z13.string(),
|
|
882
|
+
file_type: fileTypeSchema,
|
|
883
|
+
created_by: z13.string(),
|
|
884
|
+
created_at: z13.string(),
|
|
885
|
+
context_id: z13.string().nullish(),
|
|
886
|
+
file_size_bytes: z13.number().nullish(),
|
|
887
|
+
parent_file_id: z13.string().nullish()
|
|
888
|
+
});
|
|
889
|
+
var createFileRequestSchema = z13.object({
|
|
890
|
+
context_id: z13.string().nullable(),
|
|
891
|
+
file: z13.union([
|
|
892
|
+
z13.file(),
|
|
893
|
+
z13.object({
|
|
894
|
+
blob: z13.instanceof(Blob),
|
|
895
|
+
filename: z13.string()
|
|
896
|
+
})
|
|
897
|
+
])
|
|
898
|
+
});
|
|
899
|
+
var readFileRequestSchema = z13.object({
|
|
900
|
+
context_id: z13.string().nullable(),
|
|
901
|
+
file_id: z13.string()
|
|
902
|
+
});
|
|
903
|
+
var deleteFileRequestSchema = z13.object({
|
|
904
|
+
context_id: z13.string().nullable(),
|
|
905
|
+
file_id: z13.string()
|
|
906
|
+
});
|
|
907
|
+
var deleteFileResponseSchema = z13.null();
|
|
908
|
+
var readFileContentRequestSchema = z13.object({
|
|
909
|
+
context_id: z13.string().nullable(),
|
|
910
|
+
file_id: z13.string()
|
|
911
|
+
});
|
|
912
|
+
var readFileContentResponseSchema = z13.unknown();
|
|
913
|
+
|
|
914
|
+
// src/client/api/model-providers/schemas.ts
|
|
915
|
+
import z14 from "zod";
|
|
916
|
+
|
|
917
|
+
// src/client/api/model-providers/types.ts
|
|
918
|
+
var ModelCapability = /* @__PURE__ */ ((ModelCapability2) => {
|
|
919
|
+
ModelCapability2["Llm"] = "llm";
|
|
920
|
+
ModelCapability2["Embedding"] = "embedding";
|
|
921
|
+
return ModelCapability2;
|
|
922
|
+
})(ModelCapability || {});
|
|
923
|
+
var ModelProviderType = /* @__PURE__ */ ((ModelProviderType2) => {
|
|
924
|
+
ModelProviderType2["Anthropic"] = "anthropic";
|
|
925
|
+
ModelProviderType2["Cerebras"] = "cerebras";
|
|
926
|
+
ModelProviderType2["Chutes"] = "chutes";
|
|
927
|
+
ModelProviderType2["Cohere"] = "cohere";
|
|
928
|
+
ModelProviderType2["DeepSeek"] = "deepseek";
|
|
929
|
+
ModelProviderType2["Gemini"] = "gemini";
|
|
930
|
+
ModelProviderType2["GitHub"] = "github";
|
|
931
|
+
ModelProviderType2["Groq"] = "groq";
|
|
932
|
+
ModelProviderType2["Watsonx"] = "watsonx";
|
|
933
|
+
ModelProviderType2["Jan"] = "jan";
|
|
934
|
+
ModelProviderType2["Mistral"] = "mistral";
|
|
935
|
+
ModelProviderType2["Moonshot"] = "moonshot";
|
|
936
|
+
ModelProviderType2["Nvidia"] = "nvidia";
|
|
937
|
+
ModelProviderType2["Ollama"] = "ollama";
|
|
938
|
+
ModelProviderType2["OpenAI"] = "openai";
|
|
939
|
+
ModelProviderType2["OpenRouter"] = "openrouter";
|
|
940
|
+
ModelProviderType2["Perplexity"] = "perplexity";
|
|
941
|
+
ModelProviderType2["Together"] = "together";
|
|
942
|
+
ModelProviderType2["Voyage"] = "voyage";
|
|
943
|
+
ModelProviderType2["Rits"] = "rits";
|
|
944
|
+
ModelProviderType2["Other"] = "other";
|
|
945
|
+
return ModelProviderType2;
|
|
946
|
+
})(ModelProviderType || {});
|
|
947
|
+
|
|
948
|
+
// src/client/api/model-providers/schemas.ts
|
|
949
|
+
var modelCapabilitySchema = z14.enum(ModelCapability);
|
|
950
|
+
var modelProviderTypeSchema = z14.enum(ModelProviderType);
|
|
951
|
+
var modelProviderSchema = z14.object({
|
|
952
|
+
id: z14.string(),
|
|
953
|
+
base_url: z14.string(),
|
|
954
|
+
created_at: z14.string(),
|
|
955
|
+
capabilities: z14.array(modelCapabilitySchema),
|
|
956
|
+
name: z14.string().nullish(),
|
|
957
|
+
description: z14.string().nullish(),
|
|
958
|
+
type: modelProviderTypeSchema
|
|
959
|
+
});
|
|
960
|
+
var listModelProvidersRequestSchema = z14.never();
|
|
961
|
+
var listModelProvidersResponseSchema = paginatedResponseSchema.extend({
|
|
962
|
+
items: z14.array(modelProviderSchema)
|
|
963
|
+
});
|
|
964
|
+
var createModelProviderRequestSchema = z14.object({
|
|
965
|
+
api_key: z14.string(),
|
|
966
|
+
base_url: z14.string(),
|
|
967
|
+
type: modelProviderTypeSchema,
|
|
968
|
+
name: z14.string().nullish(),
|
|
969
|
+
description: z14.string().nullish(),
|
|
970
|
+
watsonx_project_id: z14.string().nullish(),
|
|
971
|
+
watsonx_space_id: z14.string().nullish()
|
|
972
|
+
});
|
|
973
|
+
var readModelProviderRequestSchema = z14.object({
|
|
974
|
+
model_provider_id: z14.string()
|
|
975
|
+
});
|
|
976
|
+
var deleteModelProviderRequestSchema = z14.object({
|
|
977
|
+
model_provider_id: z14.string()
|
|
978
|
+
});
|
|
979
|
+
var deleteModelProviderResponseSchema = z14.null();
|
|
980
|
+
var matchModelProvidersRequestSchema = z14.object({
|
|
981
|
+
suggested_models: z14.array(z14.string()).nullable(),
|
|
982
|
+
capability: modelCapabilitySchema,
|
|
983
|
+
score_cutoff: z14.number()
|
|
984
|
+
});
|
|
985
|
+
var matchModelProvidersResponseSchema = paginatedResponseSchema.extend({
|
|
986
|
+
items: z14.array(
|
|
987
|
+
z14.object({
|
|
988
|
+
model_id: z14.string(),
|
|
989
|
+
score: z14.number()
|
|
990
|
+
})
|
|
991
|
+
)
|
|
992
|
+
});
|
|
993
|
+
|
|
994
|
+
// src/client/api/provider-builds/schemas.ts
|
|
995
|
+
import z16 from "zod";
|
|
996
|
+
|
|
997
|
+
// src/client/api/common/schemas.ts
|
|
998
|
+
import z15 from "zod";
|
|
999
|
+
|
|
1000
|
+
// src/client/api/common/types.ts
|
|
1001
|
+
var GitHubVersionType = /* @__PURE__ */ ((GitHubVersionType2) => {
|
|
1002
|
+
GitHubVersionType2["Head"] = "head";
|
|
1003
|
+
GitHubVersionType2["Tag"] = "tag";
|
|
1004
|
+
return GitHubVersionType2;
|
|
1005
|
+
})(GitHubVersionType || {});
|
|
1006
|
+
|
|
1007
|
+
// src/client/api/common/schemas.ts
|
|
1008
|
+
var gitHubVersionTypeSchema = z15.enum(GitHubVersionType);
|
|
1009
|
+
var gitHubRegistryLocationSchema = z15.string();
|
|
1010
|
+
var networkRegistryLocationSchema = z15.string();
|
|
1011
|
+
var fileSystemRegistryLocationSchema = z15.string();
|
|
1012
|
+
var dockerImageIdSchema = z15.string();
|
|
1013
|
+
var dockerImageProviderLocationSchema = dockerImageIdSchema;
|
|
1014
|
+
var networkProviderLocationSchema = z15.string();
|
|
1015
|
+
var resolvedGitHubUrlSchema = z15.object({
|
|
1016
|
+
host: z15.string(),
|
|
1017
|
+
org: z15.string(),
|
|
1018
|
+
repo: z15.string(),
|
|
1019
|
+
version: z15.string(),
|
|
1020
|
+
version_type: gitHubVersionTypeSchema,
|
|
1021
|
+
commit_hash: z15.string(),
|
|
1022
|
+
path: z15.string().nullish()
|
|
1023
|
+
});
|
|
1024
|
+
var resolvedDockerImageIdSchema = z15.object({
|
|
1025
|
+
registry: z15.string(),
|
|
1026
|
+
repository: z15.string(),
|
|
1027
|
+
tag: z15.string(),
|
|
1028
|
+
digest: z15.string(),
|
|
1029
|
+
image_id: dockerImageIdSchema
|
|
1030
|
+
});
|
|
1031
|
+
var readableStreamSchema = z15.custom(
|
|
1032
|
+
(value) => value instanceof ReadableStream,
|
|
1033
|
+
{ error: "Expected ReadableStream" }
|
|
1034
|
+
);
|
|
1035
|
+
|
|
1036
|
+
// src/client/api/provider-builds/types.ts
|
|
1037
|
+
var ProviderBuildState = /* @__PURE__ */ ((ProviderBuildState2) => {
|
|
1038
|
+
ProviderBuildState2["Missing"] = "missing";
|
|
1039
|
+
ProviderBuildState2["InProgress"] = "in_progress";
|
|
1040
|
+
ProviderBuildState2["BuildCompleted"] = "build_completed";
|
|
1041
|
+
ProviderBuildState2["Completed"] = "completed";
|
|
1042
|
+
ProviderBuildState2["Failed"] = "failed";
|
|
1043
|
+
return ProviderBuildState2;
|
|
1044
|
+
})(ProviderBuildState || {});
|
|
1045
|
+
|
|
1046
|
+
// src/client/api/provider-builds/schemas.ts
|
|
1047
|
+
var providerBuildStateSchema = z16.enum(ProviderBuildState);
|
|
1048
|
+
var providerBuildAddActionSchema = z16.object({
|
|
1049
|
+
type: z16.literal("add_provider"),
|
|
1050
|
+
auto_stop_timeout_sec: z16.number().nullish(),
|
|
1051
|
+
variables: z16.record(z16.string(), z16.string()).nullish()
|
|
1052
|
+
});
|
|
1053
|
+
var providerBuildUpdateActionSchema = z16.object({
|
|
1054
|
+
type: z16.literal("update_provider"),
|
|
1055
|
+
provider_id: z16.string()
|
|
1056
|
+
});
|
|
1057
|
+
var providerBuildNoActionSchema = z16.object({
|
|
1058
|
+
type: z16.literal("no_action")
|
|
1059
|
+
});
|
|
1060
|
+
var providerBuildOnCompleteActionSchema = z16.union([
|
|
1061
|
+
providerBuildAddActionSchema,
|
|
1062
|
+
providerBuildUpdateActionSchema,
|
|
1063
|
+
providerBuildNoActionSchema
|
|
1064
|
+
]);
|
|
1065
|
+
var providerBuildConfigurationSchema = z16.object({
|
|
1066
|
+
dockerfile_path: z16.string().nullish()
|
|
1067
|
+
});
|
|
1068
|
+
var providerBuildSchema = z16.object({
|
|
1069
|
+
id: z16.string(),
|
|
1070
|
+
created_at: z16.string(),
|
|
1071
|
+
created_by: z16.string(),
|
|
1072
|
+
provider_origin: z16.string(),
|
|
1073
|
+
status: providerBuildStateSchema,
|
|
1074
|
+
source: resolvedGitHubUrlSchema,
|
|
1075
|
+
destination: dockerImageIdSchema,
|
|
1076
|
+
on_complete: providerBuildOnCompleteActionSchema,
|
|
1077
|
+
build_configuration: providerBuildConfigurationSchema.nullish(),
|
|
1078
|
+
provider_id: z16.string().nullish(),
|
|
1079
|
+
error_message: z16.string().nullish()
|
|
1080
|
+
});
|
|
1081
|
+
var listProviderBuildsRequestSchema = z16.object({
|
|
1082
|
+
query: paginationQuerySchema.extend({
|
|
1083
|
+
status: providerBuildStateSchema.nullish(),
|
|
1084
|
+
user_owned: z16.boolean().nullish()
|
|
1085
|
+
}).optional()
|
|
1086
|
+
});
|
|
1087
|
+
var listProviderBuildsResponseSchema = paginatedResponseSchema.extend({
|
|
1088
|
+
items: z16.array(providerBuildSchema)
|
|
1089
|
+
});
|
|
1090
|
+
var createProviderBuildRequestSchema = z16.object({
|
|
1091
|
+
location: z16.string(),
|
|
1092
|
+
build_configuration: providerBuildConfigurationSchema.nullish(),
|
|
1093
|
+
on_complete: providerBuildOnCompleteActionSchema.optional()
|
|
1094
|
+
});
|
|
1095
|
+
var readProviderBuildRequestSchema = z16.object({
|
|
1096
|
+
id: z16.string()
|
|
1097
|
+
});
|
|
1098
|
+
var deleteProviderBuildRequestSchema = z16.object({
|
|
1099
|
+
id: z16.string()
|
|
1100
|
+
});
|
|
1101
|
+
var deleteProviderBuildResponseSchema = z16.null();
|
|
1102
|
+
var readProviderBuildLogsRequestSchema = z16.object({
|
|
1103
|
+
id: z16.string()
|
|
1104
|
+
});
|
|
1105
|
+
var previewProviderBuildRequestSchema = z16.object({
|
|
1106
|
+
location: z16.string(),
|
|
1107
|
+
build_configuration: providerBuildConfigurationSchema.nullish(),
|
|
1108
|
+
on_complete: providerBuildOnCompleteActionSchema.optional()
|
|
1109
|
+
});
|
|
1110
|
+
|
|
1111
|
+
// src/client/api/providers/schemas.ts
|
|
1112
|
+
import z17 from "zod";
|
|
1113
|
+
|
|
1114
|
+
// src/client/api/providers/types.ts
|
|
1115
|
+
var ProviderType = /* @__PURE__ */ ((ProviderType2) => {
|
|
1116
|
+
ProviderType2["Managed"] = "managed";
|
|
1117
|
+
ProviderType2["Unmanaged"] = "unmanaged";
|
|
1118
|
+
return ProviderType2;
|
|
1119
|
+
})(ProviderType || {});
|
|
1120
|
+
var ProviderStatus = /* @__PURE__ */ ((ProviderStatus2) => {
|
|
1121
|
+
ProviderStatus2["Missing"] = "missing";
|
|
1122
|
+
ProviderStatus2["Starting"] = "starting";
|
|
1123
|
+
ProviderStatus2["Ready"] = "ready";
|
|
1124
|
+
ProviderStatus2["Running"] = "running";
|
|
1125
|
+
ProviderStatus2["Error"] = "error";
|
|
1126
|
+
return ProviderStatus2;
|
|
1127
|
+
})(ProviderStatus || {});
|
|
1128
|
+
var ProviderUnmanagedStatus = /* @__PURE__ */ ((ProviderUnmanagedStatus2) => {
|
|
1129
|
+
ProviderUnmanagedStatus2["Online"] = "online";
|
|
1130
|
+
ProviderUnmanagedStatus2["Offline"] = "offline";
|
|
1131
|
+
return ProviderUnmanagedStatus2;
|
|
1132
|
+
})(ProviderUnmanagedStatus || {});
|
|
1133
|
+
|
|
1134
|
+
// src/client/api/providers/schemas.ts
|
|
1135
|
+
var providerTypeSchema = z17.enum(ProviderType);
|
|
1136
|
+
var providerStatusSchema = z17.enum(ProviderStatus);
|
|
1137
|
+
var providerUnmanagedStatusSchema = z17.enum(ProviderUnmanagedStatus);
|
|
1138
|
+
var providerErrorSchema = z17.object({
|
|
1139
|
+
message: z17.string()
|
|
1140
|
+
});
|
|
1141
|
+
var providerEnvVarSchema = z17.object({
|
|
1142
|
+
name: z17.string(),
|
|
1143
|
+
required: z17.boolean(),
|
|
1144
|
+
description: z17.string().nullish()
|
|
1145
|
+
});
|
|
1146
|
+
var providerVersionInfoSchema = z17.object({
|
|
1147
|
+
docker: resolvedDockerImageIdSchema.nullish(),
|
|
1148
|
+
github: resolvedGitHubUrlSchema.nullish()
|
|
1149
|
+
});
|
|
1150
|
+
var providerSchema = z17.object({
|
|
1151
|
+
id: z17.string(),
|
|
1152
|
+
source: z17.union([dockerImageProviderLocationSchema, networkProviderLocationSchema]),
|
|
1153
|
+
agent_card: agentCardSchema,
|
|
1154
|
+
state: z17.union([providerStatusSchema, providerUnmanagedStatusSchema]),
|
|
1155
|
+
origin: z17.string(),
|
|
1156
|
+
created_at: z17.string(),
|
|
1157
|
+
created_by: z17.string(),
|
|
1158
|
+
updated_at: z17.string(),
|
|
1159
|
+
last_active_at: z17.string(),
|
|
1160
|
+
auto_stop_timeout: z17.string(),
|
|
1161
|
+
managed: z17.boolean(),
|
|
1162
|
+
type: providerTypeSchema,
|
|
1163
|
+
env: z17.array(providerEnvVarSchema),
|
|
1164
|
+
registry: z17.union([gitHubRegistryLocationSchema, networkRegistryLocationSchema, fileSystemRegistryLocationSchema]).nullish(),
|
|
1165
|
+
last_error: providerErrorSchema.nullish(),
|
|
1166
|
+
missing_configuration: z17.array(providerEnvVarSchema).optional(),
|
|
1167
|
+
version_info: providerVersionInfoSchema.optional()
|
|
1168
|
+
});
|
|
1169
|
+
var listProvidersRequestSchema = z17.object({
|
|
1170
|
+
query: z17.object({
|
|
1171
|
+
origin: z17.string().nullish(),
|
|
1172
|
+
user_owned: z17.boolean().nullish()
|
|
1173
|
+
}).optional()
|
|
1174
|
+
});
|
|
1175
|
+
var listProvidersResponseSchema = paginatedResponseSchema.extend({
|
|
1176
|
+
items: z17.array(providerSchema)
|
|
1177
|
+
});
|
|
1178
|
+
var createProviderRequestSchema = z17.object({
|
|
1179
|
+
location: z17.union([dockerImageProviderLocationSchema, networkProviderLocationSchema]),
|
|
1180
|
+
agent_card: agentCardSchema.nullish(),
|
|
1181
|
+
auto_stop_timeout_sec: z17.number().nullish(),
|
|
1182
|
+
origin: z17.string().nullish(),
|
|
1183
|
+
variables: z17.record(z17.string(), z17.string()).nullish()
|
|
1184
|
+
});
|
|
1185
|
+
var readProviderRequestSchema = z17.object({
|
|
1186
|
+
id: z17.string()
|
|
1187
|
+
});
|
|
1188
|
+
var deleteProviderRequestSchema = z17.object({
|
|
1189
|
+
id: z17.string()
|
|
1190
|
+
});
|
|
1191
|
+
var deleteProviderResponseSchema = z17.null();
|
|
1192
|
+
var patchProviderRequestSchema = z17.object({
|
|
1193
|
+
id: z17.string(),
|
|
1194
|
+
location: z17.union([dockerImageProviderLocationSchema, networkProviderLocationSchema]).nullish(),
|
|
1195
|
+
agent_card: agentCardSchema.nullish(),
|
|
1196
|
+
auto_stop_timeout_sec: z17.number().nullish(),
|
|
1197
|
+
origin: z17.string().nullish(),
|
|
1198
|
+
variables: z17.record(z17.string(), z17.string()).nullish()
|
|
1199
|
+
});
|
|
1200
|
+
var readProviderLogsRequestSchema = z17.object({
|
|
1201
|
+
id: z17.string()
|
|
1202
|
+
});
|
|
1203
|
+
var listProviderVariablesRequestSchema = z17.object({
|
|
1204
|
+
id: z17.string()
|
|
1205
|
+
});
|
|
1206
|
+
var listProviderVariablesResponseSchema = z17.object({
|
|
1207
|
+
variables: z17.record(z17.string(), z17.string())
|
|
1208
|
+
});
|
|
1209
|
+
var updateProviderVariablesRequestSchema = z17.object({
|
|
1210
|
+
id: z17.string(),
|
|
1211
|
+
variables: z17.record(z17.string(), z17.union([z17.string(), z17.null()]))
|
|
1212
|
+
});
|
|
1213
|
+
var updateProviderVariablesResponseSchema = z17.null();
|
|
1214
|
+
var readProviderByLocationRequestSchema = z17.object({
|
|
1215
|
+
location: z17.string()
|
|
1216
|
+
});
|
|
1217
|
+
|
|
1218
|
+
// src/client/api/user-feedback/schemas.ts
|
|
1219
|
+
import z18 from "zod";
|
|
1220
|
+
var createUserFeedbackRequestSchema = z18.object({
|
|
1221
|
+
provider_id: z18.string(),
|
|
1222
|
+
context_id: z18.string(),
|
|
1223
|
+
task_id: z18.string(),
|
|
1224
|
+
message: z18.string(),
|
|
1225
|
+
rating: z18.union([z18.literal(1), z18.literal(-1)]),
|
|
1226
|
+
comment: z18.string().nullish(),
|
|
1227
|
+
comment_tags: z18.array(z18.string()).nullish()
|
|
1228
|
+
});
|
|
1229
|
+
var createUserFeedbackResponseSchema = z18.null();
|
|
1230
|
+
|
|
1231
|
+
// src/client/api/users/schemas.ts
|
|
1232
|
+
import z19 from "zod";
|
|
1233
|
+
|
|
1234
|
+
// src/client/api/users/types.ts
|
|
1235
|
+
var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
1236
|
+
UserRole2["Admin"] = "admin";
|
|
1237
|
+
UserRole2["Developer"] = "developer";
|
|
1238
|
+
UserRole2["User"] = "user";
|
|
1239
|
+
return UserRole2;
|
|
1240
|
+
})(UserRole || {});
|
|
1241
|
+
|
|
1242
|
+
// src/client/api/users/schemas.ts
|
|
1243
|
+
var userRoleSchema = z19.enum(UserRole);
|
|
1244
|
+
var userSchema = z19.object({
|
|
1245
|
+
id: z19.string(),
|
|
1246
|
+
role: userRoleSchema,
|
|
1247
|
+
email: z19.string(),
|
|
1248
|
+
created_at: z19.string()
|
|
1249
|
+
});
|
|
1250
|
+
var readUserRequestSchema = z19.never();
|
|
1251
|
+
|
|
1252
|
+
// src/client/api/variables/schemas.ts
|
|
1253
|
+
import z20 from "zod";
|
|
1254
|
+
var listVariablesRequestSchema = z20.never();
|
|
1255
|
+
var listVariablesResponseSchema = z20.object({
|
|
1256
|
+
variables: z20.record(z20.string(), z20.string())
|
|
1257
|
+
});
|
|
1258
|
+
var updateVariablesRequestSchema = z20.object({
|
|
1259
|
+
variables: z20.record(z20.string(), z20.union([z20.string(), z20.null()]))
|
|
1260
|
+
});
|
|
1261
|
+
var updateVariablesResponseSchema = z20.null();
|
|
1262
|
+
|
|
1263
|
+
// src/client/api/core/errors/utils.ts
|
|
1264
|
+
var ApiErrorException = class extends Error {
|
|
1265
|
+
apiError;
|
|
1266
|
+
constructor(apiError) {
|
|
1267
|
+
super(apiError.message);
|
|
1268
|
+
this.apiError = apiError;
|
|
1269
|
+
}
|
|
1270
|
+
};
|
|
1271
|
+
|
|
1272
|
+
// src/client/api/core/client.ts
|
|
1273
|
+
function unwrapResult(result, schema) {
|
|
1274
|
+
if (result.ok) {
|
|
1275
|
+
const { data } = result;
|
|
1276
|
+
return schema ? schema.parse(data) : data;
|
|
1277
|
+
}
|
|
1278
|
+
throw new ApiErrorException(result.error);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
// src/client/core/fulfillment-resolvers/build-llm-extension-fulfillment-resolver.ts
|
|
1282
|
+
var DEFAULT_SCORE_CUTOFF = 0.4;
|
|
1283
|
+
var buildLLMExtensionFulfillmentResolver = (api, token) => {
|
|
1284
|
+
return async ({ llm_demands }) => {
|
|
1285
|
+
const allDemands = Object.keys(llm_demands);
|
|
1286
|
+
const fulfillmentPromises = allDemands.map(async (demandKey) => {
|
|
1287
|
+
const demand = llm_demands[demandKey];
|
|
1288
|
+
const resolvedModels = unwrapResult(
|
|
1289
|
+
await api.matchModelProviders({
|
|
1290
|
+
suggested_models: demand.suggested ?? [],
|
|
1291
|
+
capability: "llm" /* Llm */,
|
|
1292
|
+
score_cutoff: DEFAULT_SCORE_CUTOFF
|
|
1293
|
+
})
|
|
1294
|
+
);
|
|
1295
|
+
if (resolvedModels.items.length === 0) {
|
|
1296
|
+
throw new Error(`No models found for demand ${demandKey}. Demand details: ${JSON.stringify(demand)}`);
|
|
1297
|
+
}
|
|
1298
|
+
return [
|
|
1299
|
+
demandKey,
|
|
1300
|
+
{
|
|
1301
|
+
identifier: "llm_proxy",
|
|
1302
|
+
// {platform_url} is replaced by the server SDK to the platform URL
|
|
1303
|
+
api_base: "{platform_url}/api/v1/openai/",
|
|
1304
|
+
api_key: token.token,
|
|
1305
|
+
api_model: resolvedModels.items[0].model_id
|
|
1306
|
+
}
|
|
1307
|
+
];
|
|
1308
|
+
});
|
|
1309
|
+
const fulfilledEntries = await Promise.all(fulfillmentPromises);
|
|
1310
|
+
return { llm_fulfillments: Object.fromEntries(fulfilledEntries) };
|
|
1311
|
+
};
|
|
1312
|
+
};
|
|
1313
|
+
|
|
1314
|
+
// src/client/a2a/extensions/auth/oauth/index.ts
|
|
1315
|
+
import z22 from "zod";
|
|
1316
|
+
|
|
1317
|
+
// src/client/a2a/extensions/auth/oauth/schemas.ts
|
|
1318
|
+
import z21 from "zod";
|
|
1319
|
+
var oauthDemandSchema = z21.object({
|
|
1320
|
+
redirect_uri: z21.boolean()
|
|
1321
|
+
});
|
|
1322
|
+
var oauthDemandsSchema = z21.object({
|
|
1323
|
+
oauth_demands: z21.record(z21.string(), oauthDemandSchema)
|
|
1324
|
+
});
|
|
1325
|
+
var oauthFulfillmentSchema = z21.object({
|
|
1326
|
+
redirect_uri: z21.string()
|
|
1327
|
+
});
|
|
1328
|
+
var oauthFulfillmentsSchema = z21.object({
|
|
1329
|
+
oauth_fulfillments: z21.record(z21.string(), oauthFulfillmentSchema)
|
|
1330
|
+
});
|
|
1331
|
+
var oauthRequestSchema = z21.object({
|
|
1332
|
+
authorization_endpoint_url: z21.string()
|
|
1333
|
+
});
|
|
1334
|
+
var oauthResponseSchema = z21.object({
|
|
1335
|
+
redirect_uri: z21.string()
|
|
1336
|
+
});
|
|
1337
|
+
var oauthMessageSchema = z21.object({
|
|
1338
|
+
data: oauthResponseSchema
|
|
1339
|
+
});
|
|
1340
|
+
|
|
1341
|
+
// src/client/a2a/extensions/auth/oauth/index.ts
|
|
1342
|
+
var OAUTH_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1";
|
|
1343
|
+
var oauthExtension = {
|
|
1344
|
+
getUri: () => OAUTH_EXTENSION_URI,
|
|
1345
|
+
getDemandsSchema: () => oauthDemandsSchema,
|
|
1346
|
+
getFulfillmentsSchema: () => oauthFulfillmentsSchema
|
|
1347
|
+
};
|
|
1348
|
+
var oauthRequestExtension = {
|
|
1349
|
+
getUri: () => OAUTH_EXTENSION_URI,
|
|
1350
|
+
getMessageMetadataSchema: () => z22.object({ [OAUTH_EXTENSION_URI]: oauthRequestSchema }).partial()
|
|
1351
|
+
};
|
|
1352
|
+
|
|
1353
|
+
// src/client/a2a/extensions/auth/secrets/index.ts
|
|
1354
|
+
import z24 from "zod";
|
|
1355
|
+
|
|
1356
|
+
// src/client/a2a/extensions/auth/secrets/schemas.ts
|
|
1357
|
+
import z23 from "zod";
|
|
1358
|
+
var secretDemandSchema = z23.object({
|
|
1359
|
+
name: z23.string(),
|
|
1360
|
+
description: z23.string().nullish()
|
|
1361
|
+
});
|
|
1362
|
+
var secretDemandsSchema = z23.object({
|
|
1363
|
+
secret_demands: z23.record(z23.string(), secretDemandSchema)
|
|
1364
|
+
});
|
|
1365
|
+
var secretFulfillmentSchema = z23.object({
|
|
1366
|
+
secret: z23.string()
|
|
1367
|
+
});
|
|
1368
|
+
var secretFulfillmentsSchema = z23.object({
|
|
1369
|
+
secret_fulfillments: z23.record(z23.string(), secretFulfillmentSchema)
|
|
1370
|
+
});
|
|
1371
|
+
|
|
1372
|
+
// src/client/a2a/extensions/auth/secrets/index.ts
|
|
1373
|
+
var SECRETS_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1";
|
|
1374
|
+
var secretsExtension = {
|
|
1375
|
+
getUri: () => SECRETS_EXTENSION_URI,
|
|
1376
|
+
getDemandsSchema: () => secretDemandsSchema,
|
|
1377
|
+
getFulfillmentsSchema: () => secretFulfillmentsSchema
|
|
1378
|
+
};
|
|
1379
|
+
var secretsRequestExtension = {
|
|
1380
|
+
getUri: () => SECRETS_EXTENSION_URI,
|
|
1381
|
+
getMessageMetadataSchema: () => z24.object({ [SECRETS_EXTENSION_URI]: secretDemandsSchema }).partial()
|
|
1382
|
+
};
|
|
1383
|
+
|
|
1384
|
+
// src/client/a2a/extensions/services/embedding/schemas.ts
|
|
1385
|
+
import z25 from "zod";
|
|
1386
|
+
var embeddingDemandSchema = z25.object({
|
|
1387
|
+
description: z25.string().nullish(),
|
|
1388
|
+
suggested: z25.array(z25.string()).nullish()
|
|
1389
|
+
});
|
|
1390
|
+
var embeddingDemandsSchema = z25.object({
|
|
1391
|
+
embedding_demands: z25.record(z25.string(), embeddingDemandSchema)
|
|
1392
|
+
});
|
|
1393
|
+
var embeddingFulfillmentSchema = z25.object({
|
|
1394
|
+
identifier: z25.string().nullish(),
|
|
1395
|
+
api_base: z25.string(),
|
|
1396
|
+
api_key: z25.string(),
|
|
1397
|
+
api_model: z25.string()
|
|
1398
|
+
});
|
|
1399
|
+
var embeddingFulfillmentsSchema = z25.object({
|
|
1400
|
+
embedding_fulfillments: z25.record(z25.string(), embeddingFulfillmentSchema)
|
|
1401
|
+
});
|
|
1402
|
+
|
|
1403
|
+
// src/client/a2a/extensions/services/embedding/index.ts
|
|
1404
|
+
var EMBEDDING_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1";
|
|
1405
|
+
var embeddingExtension = {
|
|
1406
|
+
getUri: () => EMBEDDING_EXTENSION_URI,
|
|
1407
|
+
getDemandsSchema: () => embeddingDemandsSchema,
|
|
1408
|
+
getFulfillmentsSchema: () => embeddingFulfillmentsSchema
|
|
1409
|
+
};
|
|
1410
|
+
|
|
1411
|
+
// src/client/a2a/extensions/services/form/schemas.ts
|
|
1412
|
+
import z26 from "zod";
|
|
1413
|
+
var formDemandsSchema = z26.object({
|
|
1414
|
+
form_demands: z26.object({
|
|
1415
|
+
initial_form: formRenderSchema
|
|
1416
|
+
}).partial()
|
|
1417
|
+
});
|
|
1418
|
+
var formFulfillmentsSchema = z26.object({
|
|
1419
|
+
form_fulfillments: z26.record(z26.string(), formResponseSchema)
|
|
1420
|
+
});
|
|
1421
|
+
|
|
1422
|
+
// src/client/a2a/extensions/services/form/index.ts
|
|
1423
|
+
var FORM_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/form/v1";
|
|
1424
|
+
var formExtension = {
|
|
1425
|
+
getUri: () => FORM_EXTENSION_URI,
|
|
1426
|
+
getDemandsSchema: () => formDemandsSchema,
|
|
1427
|
+
getFulfillmentsSchema: () => formFulfillmentsSchema
|
|
1428
|
+
};
|
|
1429
|
+
|
|
1430
|
+
// src/client/a2a/extensions/services/llm/schemas.ts
|
|
1431
|
+
import z27 from "zod";
|
|
1432
|
+
var llmDemandSchema = z27.object({
|
|
1433
|
+
description: z27.string().nullish(),
|
|
1434
|
+
suggested: z27.array(z27.string()).nullish()
|
|
1435
|
+
});
|
|
1436
|
+
var llmDemandsSchema = z27.object({
|
|
1437
|
+
llm_demands: z27.record(z27.string(), llmDemandSchema)
|
|
1438
|
+
});
|
|
1439
|
+
var llmFulfillmentSchema = z27.object({
|
|
1440
|
+
identifier: z27.string().nullish(),
|
|
1441
|
+
api_base: z27.string(),
|
|
1442
|
+
api_key: z27.string(),
|
|
1443
|
+
api_model: z27.string()
|
|
1444
|
+
});
|
|
1445
|
+
var llmFulfillmentsSchema = z27.object({
|
|
1446
|
+
llm_fulfillments: z27.record(z27.string(), llmFulfillmentSchema)
|
|
1447
|
+
});
|
|
1448
|
+
|
|
1449
|
+
// src/client/a2a/extensions/services/llm/index.ts
|
|
1450
|
+
var LLM_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/llm/v1";
|
|
1451
|
+
var llmExtension = {
|
|
1452
|
+
getUri: () => LLM_EXTENSION_URI,
|
|
1453
|
+
getDemandsSchema: () => llmDemandsSchema,
|
|
1454
|
+
getFulfillmentsSchema: () => llmFulfillmentsSchema
|
|
1455
|
+
};
|
|
1456
|
+
|
|
1457
|
+
// src/client/a2a/extensions/services/mcp/schemas.ts
|
|
1458
|
+
import z28 from "zod";
|
|
1459
|
+
|
|
1460
|
+
// src/client/a2a/extensions/services/mcp/types.ts
|
|
1461
|
+
var MCPTransportType = /* @__PURE__ */ ((MCPTransportType2) => {
|
|
1462
|
+
MCPTransportType2["StreamableHttp"] = "streamable_http";
|
|
1463
|
+
MCPTransportType2["Stdio"] = "stdio";
|
|
1464
|
+
return MCPTransportType2;
|
|
1465
|
+
})(MCPTransportType || {});
|
|
1466
|
+
|
|
1467
|
+
// src/client/a2a/extensions/services/mcp/schemas.ts
|
|
1468
|
+
var mcpTransportTypeSchema = z28.enum(MCPTransportType);
|
|
1469
|
+
var mcpDemandSchema = z28.object({
|
|
1470
|
+
description: z28.string().nullish(),
|
|
1471
|
+
suggested: z28.array(z28.string()).nullish(),
|
|
1472
|
+
allowed_transports: z28.array(mcpTransportTypeSchema).nullish()
|
|
1473
|
+
});
|
|
1474
|
+
var mcpDemandsSchema = z28.object({
|
|
1475
|
+
mcp_demands: z28.record(z28.string(), mcpDemandSchema)
|
|
1476
|
+
});
|
|
1477
|
+
var mcpFulfillmentSchema = z28.object({
|
|
1478
|
+
transport: z28.object({
|
|
1479
|
+
type: mcpTransportTypeSchema,
|
|
1480
|
+
url: z28.string(),
|
|
1481
|
+
headers: z28.record(z28.string(), z28.string()).optional()
|
|
1482
|
+
})
|
|
1483
|
+
});
|
|
1484
|
+
var mcpFulfillmentsSchema = z28.object({
|
|
1485
|
+
mcp_fulfillments: z28.record(z28.string(), mcpFulfillmentSchema)
|
|
1486
|
+
});
|
|
1487
|
+
|
|
1488
|
+
// src/client/a2a/extensions/services/mcp/index.ts
|
|
1489
|
+
var MCP_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1";
|
|
1490
|
+
var mcpExtension = {
|
|
1491
|
+
getUri: () => MCP_EXTENSION_URI,
|
|
1492
|
+
getDemandsSchema: () => mcpDemandsSchema,
|
|
1493
|
+
getFulfillmentsSchema: () => mcpFulfillmentsSchema
|
|
1494
|
+
};
|
|
1495
|
+
|
|
1496
|
+
// src/client/a2a/extensions/services/platform-api/index.ts
|
|
1497
|
+
var PLATFORM_API_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1";
|
|
1498
|
+
var platformApiExtension = (metadata, contextToken) => {
|
|
1499
|
+
return {
|
|
1500
|
+
...metadata,
|
|
1501
|
+
[PLATFORM_API_EXTENSION_URI]: {
|
|
1502
|
+
auth_token: contextToken.token,
|
|
1503
|
+
expires_at: contextToken.expires_at
|
|
1504
|
+
}
|
|
1505
|
+
};
|
|
1506
|
+
};
|
|
1507
|
+
|
|
1508
|
+
// src/client/a2a/extensions/ui/settings/schemas.ts
|
|
1509
|
+
import z29 from "zod";
|
|
1510
|
+
var settingsCheckboxFieldSchema = z29.object({
|
|
1511
|
+
id: z29.string().nonempty(),
|
|
1512
|
+
label: z29.string().nonempty(),
|
|
1513
|
+
default_value: z29.boolean()
|
|
1514
|
+
});
|
|
1515
|
+
var settingsCheckboxGroupFieldSchema = z29.object({
|
|
1516
|
+
id: z29.string().nonempty(),
|
|
1517
|
+
type: z29.literal("checkbox_group"),
|
|
1518
|
+
fields: z29.array(settingsCheckboxFieldSchema)
|
|
1519
|
+
});
|
|
1520
|
+
var settingsOptionItemSchema = z29.object({
|
|
1521
|
+
label: z29.string().nonempty(),
|
|
1522
|
+
value: z29.string().nonempty()
|
|
1523
|
+
});
|
|
1524
|
+
var settingsSingleSelectFieldSchema = z29.object({
|
|
1525
|
+
type: z29.literal("single_select"),
|
|
1526
|
+
id: z29.string().nonempty(),
|
|
1527
|
+
label: z29.string().nonempty(),
|
|
1528
|
+
options: z29.array(settingsOptionItemSchema).nonempty(),
|
|
1529
|
+
default_value: z29.string().nonempty()
|
|
1530
|
+
});
|
|
1531
|
+
var settingsFieldSchema = z29.discriminatedUnion("type", [
|
|
1532
|
+
settingsCheckboxGroupFieldSchema,
|
|
1533
|
+
settingsSingleSelectFieldSchema
|
|
1534
|
+
]);
|
|
1535
|
+
var settingsCheckboxFieldValueSchema = z29.object({
|
|
1536
|
+
value: z29.boolean()
|
|
1537
|
+
});
|
|
1538
|
+
var settingsCheckboxGroupFieldValueSchema = z29.object({
|
|
1539
|
+
type: z29.literal("checkbox_group"),
|
|
1540
|
+
values: z29.record(z29.string(), settingsCheckboxFieldValueSchema)
|
|
1541
|
+
});
|
|
1542
|
+
var settingsSingleSelectFieldValueSchema = z29.object({
|
|
1543
|
+
type: z29.literal("single_select"),
|
|
1544
|
+
value: z29.string()
|
|
1545
|
+
});
|
|
1546
|
+
var settingsFieldValueSchema = z29.discriminatedUnion("type", [
|
|
1547
|
+
settingsCheckboxGroupFieldValueSchema,
|
|
1548
|
+
settingsSingleSelectFieldValueSchema
|
|
1549
|
+
]);
|
|
1550
|
+
var settingsDemandsSchema = z29.object({
|
|
1551
|
+
fields: z29.array(settingsFieldSchema)
|
|
1552
|
+
});
|
|
1553
|
+
var settingsValuesSchema = z29.record(z29.string(), settingsFieldValueSchema);
|
|
1554
|
+
var settingsFulfillmentsSchema = z29.object({
|
|
1555
|
+
values: settingsValuesSchema
|
|
1556
|
+
});
|
|
1557
|
+
|
|
1558
|
+
// src/client/a2a/extensions/ui/settings/index.ts
|
|
1559
|
+
var SETTINGS_EXTENSION_URI = "https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1";
|
|
1560
|
+
var settingsExtension = {
|
|
1561
|
+
getUri: () => SETTINGS_EXTENSION_URI,
|
|
1562
|
+
getDemandsSchema: () => settingsDemandsSchema,
|
|
1563
|
+
getFulfillmentsSchema: () => settingsFulfillmentsSchema
|
|
1564
|
+
};
|
|
1565
|
+
|
|
1566
|
+
// src/client/core/handle-agent-card.ts
|
|
1567
|
+
var mcpExtensionExtractor = extractServiceExtensionDemands(mcpExtension);
|
|
1568
|
+
var llmExtensionExtractor = extractServiceExtensionDemands(llmExtension);
|
|
1569
|
+
var embeddingExtensionExtractor = extractServiceExtensionDemands(embeddingExtension);
|
|
1570
|
+
var oauthExtensionExtractor = extractServiceExtensionDemands(oauthExtension);
|
|
1571
|
+
var settingsExtensionExtractor = extractServiceExtensionDemands(settingsExtension);
|
|
1572
|
+
var secretExtensionExtractor = extractServiceExtensionDemands(secretsExtension);
|
|
1573
|
+
var formExtensionExtractor = extractServiceExtensionDemands(formExtension);
|
|
1574
|
+
var fulfillMcpDemand = fulfillServiceExtensionDemand(mcpExtension);
|
|
1575
|
+
var fulfillLlmDemand = fulfillServiceExtensionDemand(llmExtension);
|
|
1576
|
+
var fulfillEmbeddingDemand = fulfillServiceExtensionDemand(embeddingExtension);
|
|
1577
|
+
var fulfillOAuthDemand = fulfillServiceExtensionDemand(oauthExtension);
|
|
1578
|
+
var fulfillSettingsDemand = fulfillServiceExtensionDemand(settingsExtension);
|
|
1579
|
+
var fulfillSecretDemand = fulfillServiceExtensionDemand(secretsExtension);
|
|
1580
|
+
var fulfillFormDemand = fulfillServiceExtensionDemand(formExtension);
|
|
1581
|
+
var handleAgentCard = (agentCard) => {
|
|
1582
|
+
const extensions = agentCard.capabilities.extensions ?? [];
|
|
1583
|
+
const llmDemands = llmExtensionExtractor(extensions);
|
|
1584
|
+
const embeddingDemands = embeddingExtensionExtractor(extensions);
|
|
1585
|
+
const mcpDemands = mcpExtensionExtractor(extensions);
|
|
1586
|
+
const oauthDemands = oauthExtensionExtractor(extensions);
|
|
1587
|
+
const settingsDemands = settingsExtensionExtractor(extensions);
|
|
1588
|
+
const secretDemands = secretExtensionExtractor(extensions);
|
|
1589
|
+
const formDemands = formExtensionExtractor(extensions);
|
|
1590
|
+
const resolveMetadata = async (fulfillments) => {
|
|
1591
|
+
let fulfilledMetadata = {};
|
|
1592
|
+
if (fulfillments.getContextToken) {
|
|
1593
|
+
fulfilledMetadata = platformApiExtension(fulfilledMetadata, fulfillments.getContextToken());
|
|
1594
|
+
}
|
|
1595
|
+
if (llmDemands && fulfillments.llm) {
|
|
1596
|
+
fulfilledMetadata = fulfillLlmDemand(fulfilledMetadata, await fulfillments.llm(llmDemands));
|
|
1597
|
+
}
|
|
1598
|
+
if (embeddingDemands && fulfillments.embedding) {
|
|
1599
|
+
fulfilledMetadata = fulfillEmbeddingDemand(fulfilledMetadata, await fulfillments.embedding(embeddingDemands));
|
|
1600
|
+
}
|
|
1601
|
+
if (mcpDemands && fulfillments.mcp) {
|
|
1602
|
+
fulfilledMetadata = fulfillMcpDemand(fulfilledMetadata, await fulfillments.mcp(mcpDemands));
|
|
1603
|
+
}
|
|
1604
|
+
if (oauthDemands && fulfillments.oauth) {
|
|
1605
|
+
fulfilledMetadata = fulfillOAuthDemand(fulfilledMetadata, await fulfillments.oauth(oauthDemands));
|
|
1606
|
+
}
|
|
1607
|
+
if (settingsDemands && fulfillments.settings) {
|
|
1608
|
+
fulfilledMetadata = fulfillSettingsDemand(fulfilledMetadata, await fulfillments.settings(settingsDemands));
|
|
1609
|
+
}
|
|
1610
|
+
if (secretDemands && fulfillments.secrets) {
|
|
1611
|
+
fulfilledMetadata = fulfillSecretDemand(fulfilledMetadata, await fulfillments.secrets(secretDemands));
|
|
1612
|
+
}
|
|
1613
|
+
if (formDemands && fulfillments.form) {
|
|
1614
|
+
fulfilledMetadata = fulfillFormDemand(fulfilledMetadata, await fulfillments.form(formDemands));
|
|
1615
|
+
}
|
|
1616
|
+
const oauthRedirectUri = fulfillments.oauthRedirectUri?.();
|
|
1617
|
+
if (oauthRedirectUri) {
|
|
1618
|
+
fulfilledMetadata = {
|
|
1619
|
+
...fulfilledMetadata,
|
|
1620
|
+
[oauthRequestExtension.getUri()]: {
|
|
1621
|
+
redirect_uri: oauthRedirectUri
|
|
1622
|
+
}
|
|
1623
|
+
};
|
|
1624
|
+
}
|
|
1625
|
+
return fulfilledMetadata;
|
|
1626
|
+
};
|
|
1627
|
+
return {
|
|
1628
|
+
resolveMetadata,
|
|
1629
|
+
demands: {
|
|
1630
|
+
llmDemands,
|
|
1631
|
+
embeddingDemands,
|
|
1632
|
+
mcpDemands,
|
|
1633
|
+
oauthDemands,
|
|
1634
|
+
settingsDemands,
|
|
1635
|
+
secretDemands,
|
|
1636
|
+
formDemands
|
|
1637
|
+
}
|
|
1638
|
+
};
|
|
1639
|
+
};
|
|
1640
|
+
|
|
1641
|
+
// src/client/core/utils/extract-text-from-message.ts
|
|
1642
|
+
function extractTextFromMessage(message) {
|
|
1643
|
+
const text = message?.parts.filter((part) => part.kind === "text").map((part) => part.text).join("\n");
|
|
1644
|
+
return text;
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
// src/client/core/handle-task-status-update.ts
|
|
1648
|
+
var secretsRequestExtensionExtractor = extractUiExtensionData(secretsRequestExtension);
|
|
1649
|
+
var oauthRequestExtensionExtractor = extractUiExtensionData(oauthRequestExtension);
|
|
1650
|
+
var formRequestExtensionExtractor = extractUiExtensionData(formRequestExtension);
|
|
1651
|
+
var approvalExtensionExtractor = extractUiExtensionData(approvalExtension);
|
|
1652
|
+
var handleTaskStatusUpdate = (event) => {
|
|
1653
|
+
const results = [];
|
|
1654
|
+
if (event.status.state === "auth-required") {
|
|
1655
|
+
const secretRequired = secretsRequestExtensionExtractor(event.status.message?.metadata);
|
|
1656
|
+
const oauthRequired = oauthRequestExtensionExtractor(event.status.message?.metadata);
|
|
1657
|
+
if (oauthRequired) {
|
|
1658
|
+
results.push({
|
|
1659
|
+
type: "oauth-required" /* OAuthRequired */,
|
|
1660
|
+
url: oauthRequired.authorization_endpoint_url
|
|
1661
|
+
});
|
|
1662
|
+
}
|
|
1663
|
+
if (secretRequired) {
|
|
1664
|
+
results.push({
|
|
1665
|
+
type: "secret-required" /* SecretRequired */,
|
|
1666
|
+
demands: secretRequired
|
|
1667
|
+
});
|
|
1668
|
+
}
|
|
1669
|
+
} else if (event.status.state === "input-required") {
|
|
1670
|
+
const formRequired = formRequestExtensionExtractor(event.status.message?.metadata);
|
|
1671
|
+
const approvalRequired = approvalExtensionExtractor(event.status.message?.metadata);
|
|
1672
|
+
if (formRequired) {
|
|
1673
|
+
results.push({
|
|
1674
|
+
type: "form-required" /* FormRequired */,
|
|
1675
|
+
form: formRequired
|
|
1676
|
+
});
|
|
1677
|
+
} else if (approvalRequired) {
|
|
1678
|
+
results.push({
|
|
1679
|
+
type: "approval-required" /* ApprovalRequired */,
|
|
1680
|
+
request: approvalRequired
|
|
1681
|
+
});
|
|
1682
|
+
} else {
|
|
1683
|
+
const text = extractTextFromMessage(event.status.message);
|
|
1684
|
+
if (text) {
|
|
1685
|
+
results.push({
|
|
1686
|
+
type: "text-input-required" /* TextInputRequired */,
|
|
1687
|
+
text
|
|
1688
|
+
});
|
|
1689
|
+
}
|
|
1690
|
+
}
|
|
1691
|
+
}
|
|
1692
|
+
return results;
|
|
1693
|
+
};
|
|
1694
|
+
|
|
1695
|
+
// src/client/core/utils/build-message-builder.ts
|
|
1696
|
+
var buildMessageBuilder = (agent) => async (contextId, fulfillments, originalMessage) => {
|
|
1697
|
+
const { resolveMetadata } = handleAgentCard(agent);
|
|
1698
|
+
const metadata = await resolveMetadata(fulfillments);
|
|
1699
|
+
return {
|
|
1700
|
+
...originalMessage,
|
|
1701
|
+
contextId,
|
|
1702
|
+
kind: "message",
|
|
1703
|
+
role: "user",
|
|
1704
|
+
metadata
|
|
1705
|
+
};
|
|
1706
|
+
};
|
|
1707
|
+
|
|
1708
|
+
// src/client/core/utils/get-agent-card-path.ts
|
|
1709
|
+
function getAgentCardPath(providerId) {
|
|
1710
|
+
return `api/v1/a2a/${providerId}/.well-known/agent-card.json`;
|
|
1711
|
+
}
|
|
1712
|
+
export {
|
|
1713
|
+
TaskStatusUpdateType,
|
|
1714
|
+
buildLLMExtensionFulfillmentResolver,
|
|
1715
|
+
buildMessageBuilder,
|
|
1716
|
+
createAuthenticatedFetch,
|
|
1717
|
+
extractServiceExtensionDemands,
|
|
1718
|
+
extractTextFromMessage,
|
|
1719
|
+
extractUiExtensionData,
|
|
1720
|
+
fulfillServiceExtensionDemand,
|
|
1721
|
+
getAgentCardPath,
|
|
1722
|
+
handleAgentCard,
|
|
1723
|
+
handleTaskStatusUpdate,
|
|
1724
|
+
resolveUserMetadata
|
|
1725
|
+
};
|