agentstack-sdk 0.4.3 → 0.5.0-rc5

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.
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import type { FormResponseValue } from './common/form';
6
+ import { type CanvasEditRequest } from './ui/canvas';
7
+ export type UserMetadataInputs = Partial<{
8
+ form: Record<string, FormResponseValue>;
9
+ canvasEditRequest: CanvasEditRequest;
10
+ }>;
11
+ export declare const resolveUserMetadata: (inputs: UserMetadataInputs) => Promise<Record<string, unknown>>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright 2025 © BeeAI a Series of LF Projects, LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { z } from 'zod';
6
+ import type { A2AUiExtension } from '../types';
7
+ declare const URI = "https://a2a-extensions.agentstack.beeai.dev/ui/canvas/v1";
8
+ declare const schema: z.ZodObject<{
9
+ start_index: z.ZodInt;
10
+ end_index: z.ZodInt;
11
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
+ artifact_id: z.ZodString;
13
+ }, z.core.$strip>;
14
+ export type CanvasEditRequest = z.infer<typeof schema>;
15
+ export declare const CanvasExtension: A2AUiExtension<typeof URI, CanvasEditRequest>;
16
+ export {};
@@ -3,18 +3,19 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import type { ContextPermissionsGrant, GlobalPermissionsGrant, ModelCapability } from './types';
6
- interface MatchProvidersParams {
6
+ export interface MatchProvidersParams {
7
7
  suggestedModels: string[] | null;
8
8
  capability: ModelCapability;
9
9
  scoreCutoff: number;
10
10
  }
11
- interface CreateContextTokenParams {
11
+ export interface CreateContextTokenParams {
12
12
  contextId: string;
13
13
  globalPermissions: GlobalPermissionsGrant;
14
14
  contextPermissions: ContextPermissionsGrant;
15
15
  }
16
- export declare const buildApiClient: ({ baseUrl }?: {
16
+ export declare const buildApiClient: ({ baseUrl, fetch: customFetchImpl, }?: {
17
17
  baseUrl: string;
18
+ fetch?: typeof globalThis.fetch;
18
19
  }) => {
19
20
  createContextToken: ({ contextId, globalPermissions, contextPermissions }: CreateContextTokenParams) => Promise<{
20
21
  token: {
@@ -41,6 +42,21 @@ export declare const buildApiClient: ({ baseUrl }?: {
41
42
  score: number;
42
43
  }[];
43
44
  }>;
45
+ listConnectors: () => Promise<{
46
+ total_count: number;
47
+ has_more: boolean;
48
+ next_page_token: string | null;
49
+ items: {
50
+ id: string;
51
+ url: string;
52
+ state: import("./types").ConnectorState;
53
+ auth_request: {
54
+ type: "code";
55
+ authorization_endpoint: string;
56
+ } | null;
57
+ disconnect_reason: string | null;
58
+ metadata: Record<string, string> | null;
59
+ }[];
60
+ }>;
44
61
  };
45
62
  export type AgentstackClient = ReturnType<typeof buildApiClient>;
46
- export {};
@@ -12,6 +12,7 @@ export declare const contextSchema: z.ZodObject<{
12
12
  provider_id: z.ZodNullable<z.ZodString>;
13
13
  metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
14
  }, z.core.$strip>;
15
+ export type CreateContextResponse = z.infer<typeof contextSchema>;
15
16
  export declare const contextTokenSchema: z.ZodObject<{
16
17
  token: z.ZodString;
17
18
  expires_at: z.ZodNullable<z.ZodString>;
@@ -63,3 +64,38 @@ export declare const globalPermissionsGrantSchema: z.ZodObject<{
63
64
  connectors: z.ZodOptional<z.ZodArray<z.ZodLiteral<"read" | "write" | "*" | "proxy">>>;
64
65
  }, z.core.$strip>;
65
66
  export type GlobalPermissionsGrant = z.infer<typeof globalPermissionsGrantSchema>;
67
+ export declare enum ConnectorState {
68
+ Created = "created",
69
+ AuthRequired = "auth_required",
70
+ Connected = "connected",
71
+ Disconnected = "disconnected"
72
+ }
73
+ export declare const connectorSchema: z.ZodObject<{
74
+ id: z.ZodString;
75
+ url: z.ZodString;
76
+ state: z.ZodEnum<typeof ConnectorState>;
77
+ auth_request: z.ZodNullable<z.ZodObject<{
78
+ type: z.ZodLiteral<"code">;
79
+ authorization_endpoint: z.ZodString;
80
+ }, z.core.$strip>>;
81
+ disconnect_reason: z.ZodNullable<z.ZodString>;
82
+ metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>;
83
+ }, z.core.$strip>;
84
+ export type Connector = z.infer<typeof connectorSchema>;
85
+ export declare const listConnectorsResponseSchema: z.ZodObject<{
86
+ total_count: z.ZodNumber;
87
+ has_more: z.ZodBoolean;
88
+ next_page_token: z.ZodNullable<z.ZodString>;
89
+ items: z.ZodArray<z.ZodObject<{
90
+ id: z.ZodString;
91
+ url: z.ZodString;
92
+ state: z.ZodEnum<typeof ConnectorState>;
93
+ auth_request: z.ZodNullable<z.ZodObject<{
94
+ type: z.ZodLiteral<"code">;
95
+ authorization_endpoint: z.ZodString;
96
+ }, z.core.$strip>>;
97
+ disconnect_reason: z.ZodNullable<z.ZodString>;
98
+ metadata: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>;
99
+ }, z.core.$strip>>;
100
+ }, z.core.$strip>;
101
+ export type ListConnectorsResponse = z.infer<typeof listConnectorsResponseSchema>;
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t,a=/*#__PURE__*/e(require("zod")),r=a.default.object({id:a.default.string().nonempty(),label:a.default.string().nonempty(),required:a.default.boolean(),col_span:a.default.int().min(1).max(4).nullish()}),n=r.extend({type:a.default.literal("text"),placeholder:a.default.string().nullish(),default_value:a.default.string().nullish(),auto_resize:a.default.boolean().default(!0).nullish()}),l=a.default.object({type:n.shape.type,value:a.default.string().nullish()}),u=r.extend({type:a.default.literal("date"),placeholder:a.default.string().nullish(),default_value:a.default.string().nullish()}),i=a.default.object({type:u.shape.type,value:a.default.string().nullish()}),s=r.extend({type:a.default.literal("file"),accept:a.default.array(a.default.string())}),o=a.default.object({type:s.shape.type,value:a.default.array(a.default.object({uri:a.default.string(),name:a.default.string().nullish(),mime_type:a.default.string().nullish()})).nullish()}),d=r.extend({type:a.default.literal("singleselect"),options:a.default.array(a.default.object({id:a.default.string().nonempty(),label:a.default.string().nonempty()})).nonempty(),default_value:a.default.string().nullish()}),f=a.default.object({type:d.shape.type,value:a.default.string().nullish()}),c=r.extend({type:a.default.literal("multiselect"),options:a.default.array(a.default.object({id:a.default.string().nonempty(),label:a.default.string().nonempty()})).nonempty(),default_value:a.default.array(a.default.string()).nullish()}),p=a.default.object({type:c.shape.type,value:a.default.array(a.default.string()).nullish()}),m=r.extend({type:a.default.literal("checkbox"),content:a.default.string(),default_value:a.default.boolean()}),g=a.default.object({type:m.shape.type,value:a.default.boolean().nullish()}),h=a.default.discriminatedUnion("type",[n,u,s,d,c,m]),b=a.default.object({title:a.default.string().nullish(),description:a.default.string().nullish(),columns:a.default.int().min(1).max(4).nullish(),submit_label:a.default.string().nullish(),fields:a.default.array(h).nonempty()}),v=a.default.object({values:a.default.record(a.default.string(),a.default.discriminatedUnion("type",[l,i,o,f,p,g]))}),x=a.default.object({id:a.default.string(),created_at:a.default.string(),updated_at:a.default.string(),last_active_at:a.default.string(),created_by:a.default.string(),provider_id:a.default.string().nullable(),metadata:a.default.record(a.default.string(),a.default.unknown()).nullable()}),y=a.default.object({token:a.default.string(),expires_at:a.default.string().nullable()});exports.ModelCapability=void 0,(t=exports.ModelCapability||(exports.ModelCapability={})).Llm="llm",t.Embedding="embedding";var _=a.default.object({items:a.default.array(a.default.unknown()),total_count:a.default.number(),has_more:a.default.boolean(),next_page_token:a.default.string().nullable()}).extend({items:a.default.array(a.default.object({model_id:a.default.string(),score:a.default.number()}))}),j=a.default.object({id:a.default.string()}),S=a.default.object({files:a.default.array(a.default.literal(["read","write","extract","*"])).optional(),vector_stores:a.default.array(a.default.literal(["read","write","*"])).optional(),context_data:a.default.array(a.default.literal(["read","write","*"])).optional()}),k=S.extend({feedback:a.default.array(a.default.literal("write")).optional(),llm:a.default.array(a.default.union([a.default.literal("*"),j])).optional(),embeddings:a.default.array(a.default.union([a.default.literal("*"),j])).optional(),model_providers:a.default.array(a.default.literal(["read","write","*"])).optional(),a2a_proxy:a.default.array(a.default.literal("*")).optional(),providers:a.default.array(a.default.literal(["read","write","*"])).optional(),provider_variables:a.default.array(a.default.literal(["read","write","*"])).optional(),contexts:a.default.array(a.default.literal(["read","write","*"])).optional(),mcp_providers:a.default.array(a.default.literal(["read","write","*"])).optional(),mcp_tools:a.default.array(a.default.literal(["read","*"])).optional(),mcp_proxy:a.default.array(a.default.literal("*")).optional(),connectors:a.default.array(a.default.literal(["read","write","proxy","*"])).optional()});function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},P.apply(null,arguments)}var U=a.default.object({description:a.default.string().nullish(),suggested:a.default.array(a.default.string()).nullish()}),M=a.default.object({embedding_demands:a.default.record(a.default.string(),U)}),w=a.default.object({embedding_fulfillments:a.default.record(a.default.string(),a.default.object({identifier:a.default.string().nullish(),api_base:a.default.string(),api_key:a.default.string(),api_model:a.default.string()}))}),E={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1"},getDemandsSchema:function(){return M},getFulfillmentSchema:function(){return w}},F=a.default.object({form_demands:a.default.object({initial_form:b}).partial()}),D=a.default.object({form_fulfillments:a.default.record(a.default.string(),v)}),T={getDemandsSchema:function(){return F},getFulfillmentSchema:function(){return D},getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/form/v1"}},q=a.default.object({description:a.default.string().nullish(),suggested:a.default.array(a.default.string()).nullish()}),R=a.default.object({llm_demands:a.default.record(a.default.string(),q)}),C=a.default.object({llm_fulfillments:a.default.record(a.default.string(),a.default.object({identifier:a.default.string().nullish(),api_base:a.default.string(),api_key:a.default.string(),api_model:a.default.string()}))}),O={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/llm/v1"},getDemandsSchema:function(){return R},getFulfillmentSchema:function(){return C}},A=a.default.enum(["streamable_http","stdio"]),I=a.default.object({description:a.default.string().nullish(),suggested:a.default.array(a.default.string()).nullish(),allowed_transports:a.default.array(A).nullish()}),V=a.default.object({mcp_demands:a.default.record(a.default.string(),I)}),z=a.default.object({mcp_fulfillments:a.default.record(a.default.string(),a.default.object({transport:a.default.object({type:A,url:a.default.string(),headers:a.default.record(a.default.string(),a.default.string()).optional()})}))}),L={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1"},getDemandsSchema:function(){return V},getFulfillmentSchema:function(){return z}},N=a.default.object({redirect_uri:a.default.boolean()}),G=a.default.object({oauth_demands:a.default.record(a.default.string(),N)}),J=a.default.object({oauth_fulfillments:a.default.record(a.default.string(),a.default.object({redirect_uri:a.default.string()}))}),B={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1"},getDemandsSchema:function(){return G},getFulfillmentSchema:function(){return J}},H=a.default.object({data:a.default.object({redirect_uri:a.default.string()})}),K=function(e,t){var a;return P({},e,((a={})["https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1"]=function(e){return{auth_token:e.token,expires_at:e.expires_at}}(t),a))},Q="https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1",W=a.default.object({name:a.default.string(),description:a.default.string().nullish()}),X=a.default.object({secret_demands:a.default.record(a.default.string(),W)}),Y=a.default.object({secret_fulfillments:a.default.record(a.default.string(),a.default.object({secret:a.default.string()}))}),Z={getUri:function(){return Q},getDemandsSchema:function(){return X},getFulfillmentSchema:function(){return Y}},$={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[Q]=X,e)).partial()},getUri:function(){return Q}},ee="https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1",te=a.default.object({authorization_endpoint_url:a.default.string()}),ae={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[ee]=te,e)).partial()},getUri:function(){return ee}},re=a.default.object({id:a.default.string().nonempty(),label:a.default.string().nonempty(),default_value:a.default.boolean()}),ne=a.default.object({id:a.default.string().nonempty(),type:a.default.literal("checkbox_group"),fields:a.default.array(re)}),le=a.default.object({label:a.default.string().nonempty(),value:a.default.string().nonempty()}),ue=a.default.object({type:a.default.literal("single_select"),id:a.default.string().nonempty(),label:a.default.string().nonempty(),options:a.default.array(le).nonempty(),default_value:a.default.string().nonempty()}),ie=a.default.object({fields:a.default.array(a.default.discriminatedUnion("type",[ne,ue]))}),se=a.default.object({value:a.default.boolean()}),oe=a.default.object({type:a.default.literal("checkbox_group"),values:a.default.record(a.default.string(),se)}),de=a.default.object({type:a.default.literal("single_select"),value:a.default.string()}),fe=a.default.discriminatedUnion("type",[oe,de]),ce=a.default.record(a.default.string(),fe),pe=a.default.object({values:ce}),me={getDemandsSchema:function(){return ie},getFulfillmentSchema:function(){return pe},getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1"}};function ge(e){var t=e.getMessageMetadataSchema(),a=e.getUri();return function(e){var r=t.safeParse(null!=e?e:{}),n=r.success,l=r.data;return n||console.warn(r.error),n?l[a]:null}}function he(e){var t=e.getDemandsSchema(),a=e.getUri();return function(e){var r=e.find(function(e){return e.uri===a});if(null==r||!r.params)return null;var n=t.safeParse(r.params);return n.success?n.data:(console.warn(n.error),null)}}function be(e){var t=e.getFulfillmentSchema(),a=e.getUri();return function(e,r){var n,l=t.safeParse(r),u=l.success,i=l.data;return u||console.warn(l.error),P({},e,((n={})[a]=u?i:{},n))}}var ve,xe=he(L),ye=he(O),_e=he(E),je=he(B),Se=he(me),ke=he(Z),Pe=he(T),Ue=be(L),Me=be(O),we=be(E),Ee=be(B),Fe=be(me),De=be(Z),Te=be(T),qe=function(e){var t,a=null!=(t=e.capabilities.extensions)?t:[],r=ye(a),n=_e(a),l=xe(a),u=je(a),i=Se(a),s=ke(a),o=Pe(a);return{resolveMetadata:function(e){try{var t=function(){function t(){function t(){function t(){function t(){function t(){function t(){var t,r=e.oauthRedirectUri();return r&&(a=P({},a,((t={})[ae.getUri()]={redirect_uri:r},t))),a}var r=function(){if(o){var t=a;return Promise.resolve(e.form(o)).then(function(e){a=Te(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(s){var t=a;return Promise.resolve(e.secrets(s)).then(function(e){a=De(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(i){var t=a;return Promise.resolve(e.settings(i)).then(function(e){a=Fe(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(u){var t=a;return Promise.resolve(e.oauth(u)).then(function(e){a=Ee(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(l){var t=a;return Promise.resolve(e.mcp(l)).then(function(e){a=Ue(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(n){var t=a;return Promise.resolve(e.embedding(n)).then(function(e){a=we(t,e)})}}();return r&&r.then?r.then(t):t()},a={};a=K(a,e.getContextToken());var d=function(){if(r){var t=a;return Promise.resolve(e.llm(r)).then(function(e){a=Me(t,e)})}}();return Promise.resolve(d&&d.then?d.then(t):t())}catch(e){return Promise.reject(e)}},demands:{llmDemands:r,embeddingDemands:n,mcpDemands:l,oauthDemands:u,settingsDemands:i,secretDemands:s,formDemands:o}}},Re="https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1",Ce={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[Re]=b,e)).partial()},getUri:function(){return Re}},Oe=ge($),Ae=ge(ae),Ie=ge(Ce);exports.TaskStatusUpdateType=void 0,(ve=exports.TaskStatusUpdateType||(exports.TaskStatusUpdateType={})).SecretRequired="secret-required",ve.FormRequired="form-required",ve.OAuthRequired="oauth-required";var Ve=a.default.enum(["single-turn","multi-turn"]),ze="https://a2a-extensions.agentstack.beeai.dev/ui/agent-detail/v1",Le=a.default.object({name:a.default.string(),email:a.default.string().nullish(),url:a.default.string().nullish()}),Ne=a.default.object({name:a.default.string(),description:a.default.string()}),Ge=a.default.object({interaction_mode:a.default.union([Ve,a.default.string()]).nullish(),user_greeting:a.default.string().nullish(),input_placeholder:a.default.string().nullish(),tools:a.default.array(Ne).nullish(),framework:a.default.string().nullish(),license:a.default.string().nullish(),programming_language:a.default.string().nullish(),homepage_url:a.default.string().nullish(),source_code_url:a.default.string().nullish(),container_image_url:a.default.string().nullish(),author:Le.nullish(),contributors:a.default.array(Le).nullish()}),Je={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[ze]=Ge,e)).partial()},getUri:function(){return ze}},Be="https://a2a-extensions.agentstack.beeai.dev/ui/citation/v1",He=a.default.object({url:a.default.string().nullish(),start_index:a.default.number().nullish(),end_index:a.default.number().nullish(),title:a.default.string().nullish(),description:a.default.string().nullish()}),Ke=a.default.object({citations:a.default.array(He)}),Qe={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[Be]=Ke,e)).partial()},getUri:function(){return Be}},We="https://a2a-extensions.agentstack.beeai.dev/ui/error/v1",Xe=a.default.object({title:a.default.string(),message:a.default.string()}),Ye=a.default.object({message:a.default.string(),errors:a.default.array(Xe)}),Ze=a.default.object({error:a.default.union([Xe,Ye]),context:a.default.record(a.default.string(),a.default.unknown()).nullish(),stack_trace:a.default.string().nullish()}),$e={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[We]=Ze,e)).partial()},getUri:function(){return We}},et="https://a2a-extensions.agentstack.beeai.dev/ui/trajectory/v1",tt=a.default.object({title:a.default.string().nullish(),content:a.default.string().nullish(),group_id:a.default.string().nullish()}),at={getMessageMetadataSchema:function(){var e;return a.default.object((e={},e[et]=tt,e)).partial()},getUri:function(){return et}};exports.FormRequestExtension=Ce,exports.agentDetailExtension=Je,exports.agentSettings=ce,exports.buildApiClient=function(e){var t=function(e,t,r,n){try{return Promise.resolve(fetch(""+a+t,{method:e,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})).then(function(e){if(!e.ok)throw new Error("Failed to call Agent Stackk API - "+t);return Promise.resolve(e.json()).then(function(e){return n.parse(e)})})}catch(e){return Promise.reject(e)}},a=(void 0===e?{baseUrl:""}:e).baseUrl;return{createContextToken:function(e){var a=e.contextId,r=e.globalPermissions,n=e.contextPermissions;try{return Promise.resolve(t("POST","/api/v1/contexts/"+a+"/token",{grant_global_permissions:r,grant_context_permissions:n},y)).then(function(e){return{token:e,contextId:a}})}catch(e){return Promise.reject(e)}},createContext:function(e){try{return Promise.resolve(t("POST","/api/v1/contexts",{metadata:{},provider_id:e},x))}catch(e){return Promise.reject(e)}},matchProviders:function(e){var a=e.suggestedModels,r=e.capability,n=e.scoreCutoff;try{return Promise.resolve(t("POST","/api/v1/model_providers/match",{capability:r,score_cutoff:n,suggested_models:a},_))}catch(e){return Promise.reject(e)}}}},exports.buildLLMExtensionFulfillmentResolver=function(e,t){return function(a){var r=a.llm_demands;try{var n=Object.keys(r).map(function(a){try{var n,l=r[a];return Promise.resolve(e.matchProviders({suggestedModels:null!=(n=l.suggested)?n:[],capability:exports.ModelCapability.Llm,scoreCutoff:.4})).then(function(e){if(0===e.items.length)throw new Error("No models found for demand "+a+". Demand details: "+JSON.stringify(l));return[a,{identifier:"llm_proxy",api_base:"{platform_url}/api/v1/openai/",api_key:t.token,api_model:e.items[0].model_id}]})}catch(e){return Promise.reject(e)}});return Promise.resolve(Promise.all(n)).then(function(e){return{llm_fulfillments:Object.fromEntries(e)}})}catch(e){return Promise.reject(e)}}},exports.buildMessageBuilder=function(e){return function(t,a,r){try{var n=qe(e);return Promise.resolve((0,n.resolveMetadata)(a)).then(function(e){return P({},r,{contextId:t,kind:"message",role:"user",metadata:e})})}catch(e){return Promise.reject(e)}}},exports.checkboxField=m,exports.checkboxFieldValue=g,exports.citationExtension=Qe,exports.contextPermissionsGrantSchema=S,exports.contextSchema=x,exports.contextTokenSchema=y,exports.dateFieldValue=i,exports.embeddingExtension=E,exports.errorExtension=$e,exports.extractServiceExtensionDemands=he,exports.extractUiExtensionData=ge,exports.fileFieldValue=o,exports.formExtension=T,exports.formRenderSchema=b,exports.formResponseSchema=v,exports.fulfillServiceExtensionDemand=be,exports.globalPermissionsGrantSchema=k,exports.handleAgentCard=qe,exports.handleInputRequired=function(){return{resolveMetadata:function(e){try{var t={};return e.form&&(t[Ce.getUri()]={values:e.form}),Promise.resolve(t)}catch(e){return Promise.reject(e)}}}},exports.handleTaskStatusUpdate=function(e){var t=[];if("auth-required"===e.status.state){var a,r,n=Oe(null==(a=e.status.message)?void 0:a.metadata),l=Ae(null==(r=e.status.message)?void 0:r.metadata);l&&t.push({type:exports.TaskStatusUpdateType.OAuthRequired,url:l.authorization_endpoint_url}),n&&t.push({type:exports.TaskStatusUpdateType.SecretRequired,demands:n})}else if("input-required"===e.status.state){var u,i=Ie(null==(u=e.status.message)?void 0:u.metadata);i&&t.push({type:exports.TaskStatusUpdateType.FormRequired,form:i})}return t},exports.llmExtension=O,exports.mcpExtension=L,exports.modelProviderMatchSchema=_,exports.multiSelectField=c,exports.multiSelectFieldValue=p,exports.oauthMessageSchema=H,exports.oauthProviderExtension=B,exports.oauthRequestExtension=ae,exports.platformApiExtension=K,exports.resourceIdPermissionSchema=j,exports.secretsExtension=Z,exports.secretsMessageExtension=$,exports.settingsExtension=me,exports.singleSelectField=d,exports.singleSelectFieldValue=f,exports.textFieldValue=l,exports.trajectoryExtension=at;
1
+ var e=require("zod");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a,r=/*#__PURE__*/t(e),n=r.default.object({id:r.default.string().nonempty(),label:r.default.string().nonempty(),required:r.default.boolean(),col_span:r.default.int().min(1).max(4).nullish()}),l=n.extend({type:r.default.literal("text"),placeholder:r.default.string().nullish(),default_value:r.default.string().nullish(),auto_resize:r.default.boolean().default(!0).nullish()}),i=r.default.object({type:l.shape.type,value:r.default.string().nullish()}),u=n.extend({type:r.default.literal("date"),placeholder:r.default.string().nullish(),default_value:r.default.string().nullish()}),s=r.default.object({type:u.shape.type,value:r.default.string().nullish()}),o=n.extend({type:r.default.literal("file"),accept:r.default.array(r.default.string())}),d=r.default.object({type:o.shape.type,value:r.default.array(r.default.object({uri:r.default.string(),name:r.default.string().nullish(),mime_type:r.default.string().nullish()})).nullish()}),f=n.extend({type:r.default.literal("singleselect"),options:r.default.array(r.default.object({id:r.default.string().nonempty(),label:r.default.string().nonempty()})).nonempty(),default_value:r.default.string().nullish()}),c=r.default.object({type:f.shape.type,value:r.default.string().nullish()}),p=n.extend({type:r.default.literal("multiselect"),options:r.default.array(r.default.object({id:r.default.string().nonempty(),label:r.default.string().nonempty()})).nonempty(),default_value:r.default.array(r.default.string()).nullish()}),g=r.default.object({type:p.shape.type,value:r.default.array(r.default.string()).nullish()}),m=n.extend({type:r.default.literal("checkbox"),content:r.default.string(),default_value:r.default.boolean()}),h=r.default.object({type:m.shape.type,value:r.default.boolean().nullish()}),v=r.default.discriminatedUnion("type",[l,u,o,f,p,m]),b=r.default.object({title:r.default.string().nullish(),description:r.default.string().nullish(),columns:r.default.int().min(1).max(4).nullish(),submit_label:r.default.string().nullish(),fields:r.default.array(v).nonempty()}),x=r.default.object({values:r.default.record(r.default.string(),r.default.discriminatedUnion("type",[i,s,d,c,g,h]))}),y=r.default.object({id:r.default.string(),created_at:r.default.string(),updated_at:r.default.string(),last_active_at:r.default.string(),created_by:r.default.string(),provider_id:r.default.string().nullable(),metadata:r.default.record(r.default.string(),r.default.unknown()).nullable()}),_=r.default.object({token:r.default.string(),expires_at:r.default.string().nullable()});exports.ModelCapability=void 0,(a=exports.ModelCapability||(exports.ModelCapability={})).Llm="llm",a.Embedding="embedding";var j,S=r.default.object({items:r.default.array(r.default.unknown()),total_count:r.default.number(),has_more:r.default.boolean(),next_page_token:r.default.string().nullable()}),k=S.extend({items:r.default.array(r.default.object({model_id:r.default.string(),score:r.default.number()}))}),P=r.default.object({id:r.default.string()}),U=r.default.object({files:r.default.array(r.default.literal(["read","write","extract","*"])).optional(),vector_stores:r.default.array(r.default.literal(["read","write","*"])).optional(),context_data:r.default.array(r.default.literal(["read","write","*"])).optional()}),M=U.extend({feedback:r.default.array(r.default.literal("write")).optional(),llm:r.default.array(r.default.union([r.default.literal("*"),P])).optional(),embeddings:r.default.array(r.default.union([r.default.literal("*"),P])).optional(),model_providers:r.default.array(r.default.literal(["read","write","*"])).optional(),a2a_proxy:r.default.array(r.default.literal("*")).optional(),providers:r.default.array(r.default.literal(["read","write","*"])).optional(),provider_variables:r.default.array(r.default.literal(["read","write","*"])).optional(),contexts:r.default.array(r.default.literal(["read","write","*"])).optional(),mcp_providers:r.default.array(r.default.literal(["read","write","*"])).optional(),mcp_tools:r.default.array(r.default.literal(["read","*"])).optional(),mcp_proxy:r.default.array(r.default.literal("*")).optional(),connectors:r.default.array(r.default.literal(["read","write","proxy","*"])).optional()});exports.ConnectorState=void 0,(j=exports.ConnectorState||(exports.ConnectorState={})).Created="created",j.AuthRequired="auth_required",j.Connected="connected",j.Disconnected="disconnected";var E=r.default.object({id:r.default.string(),url:r.default.string(),state:r.default.enum(exports.ConnectorState),auth_request:r.default.object({type:r.default.literal("code"),authorization_endpoint:r.default.string()}).nullable(),disconnect_reason:r.default.string().nullable(),metadata:r.default.record(r.default.string(),r.default.string()).nullable()}),w=S.extend({items:r.default.array(E)});function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},T.apply(null,arguments)}var F=r.default.object({description:r.default.string().nullish(),suggested:r.default.array(r.default.string()).nullish()}),C=r.default.object({embedding_demands:r.default.record(r.default.string(),F)}),D=r.default.object({embedding_fulfillments:r.default.record(r.default.string(),r.default.object({identifier:r.default.string().nullish(),api_base:r.default.string(),api_key:r.default.string(),api_model:r.default.string()}))}),q={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1"},getDemandsSchema:function(){return C},getFulfillmentSchema:function(){return D}},R=r.default.object({form_demands:r.default.object({initial_form:b}).partial()}),O=r.default.object({form_fulfillments:r.default.record(r.default.string(),x)}),z={getDemandsSchema:function(){return R},getFulfillmentSchema:function(){return O},getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/form/v1"}},A=r.default.object({description:r.default.string().nullish(),suggested:r.default.array(r.default.string()).nullish()}),I=r.default.object({llm_demands:r.default.record(r.default.string(),A)}),V=r.default.object({llm_fulfillments:r.default.record(r.default.string(),r.default.object({identifier:r.default.string().nullish(),api_base:r.default.string(),api_key:r.default.string(),api_model:r.default.string()}))}),L={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/llm/v1"},getDemandsSchema:function(){return I},getFulfillmentSchema:function(){return V}},G=r.default.enum(["streamable_http","stdio"]),N=r.default.object({description:r.default.string().nullish(),suggested:r.default.array(r.default.string()).nullish(),allowed_transports:r.default.array(G).nullish()}),J=r.default.object({mcp_demands:r.default.record(r.default.string(),N)}),B=r.default.object({mcp_fulfillments:r.default.record(r.default.string(),r.default.object({transport:r.default.object({type:G,url:r.default.string(),headers:r.default.record(r.default.string(),r.default.string()).optional()})}))}),H={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1"},getDemandsSchema:function(){return J},getFulfillmentSchema:function(){return B}},K=r.default.object({redirect_uri:r.default.boolean()}),Q=r.default.object({oauth_demands:r.default.record(r.default.string(),K)}),W=r.default.object({oauth_fulfillments:r.default.record(r.default.string(),r.default.object({redirect_uri:r.default.string()}))}),X={getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1"},getDemandsSchema:function(){return Q},getFulfillmentSchema:function(){return W}},Y=r.default.object({data:r.default.object({redirect_uri:r.default.string()})}),Z=function(e,t){var a;return T({},e,((a={})["https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1"]=function(e){return{auth_token:e.token,expires_at:e.expires_at}}(t),a))},$="https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1",ee=r.default.object({name:r.default.string(),description:r.default.string().nullish()}),te=r.default.object({secret_demands:r.default.record(r.default.string(),ee)}),ae=r.default.object({secret_fulfillments:r.default.record(r.default.string(),r.default.object({secret:r.default.string()}))}),re={getUri:function(){return $},getDemandsSchema:function(){return te},getFulfillmentSchema:function(){return ae}},ne={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[$]=te,e)).partial()},getUri:function(){return $}},le="https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1",ie=r.default.object({authorization_endpoint_url:r.default.string()}),ue={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[le]=ie,e)).partial()},getUri:function(){return le}},se=r.default.object({id:r.default.string().nonempty(),label:r.default.string().nonempty(),default_value:r.default.boolean()}),oe=r.default.object({id:r.default.string().nonempty(),type:r.default.literal("checkbox_group"),fields:r.default.array(se)}),de=r.default.object({label:r.default.string().nonempty(),value:r.default.string().nonempty()}),fe=r.default.object({type:r.default.literal("single_select"),id:r.default.string().nonempty(),label:r.default.string().nonempty(),options:r.default.array(de).nonempty(),default_value:r.default.string().nonempty()}),ce=r.default.object({fields:r.default.array(r.default.discriminatedUnion("type",[oe,fe]))}),pe=r.default.object({value:r.default.boolean()}),ge=r.default.object({type:r.default.literal("checkbox_group"),values:r.default.record(r.default.string(),pe)}),me=r.default.object({type:r.default.literal("single_select"),value:r.default.string()}),he=r.default.discriminatedUnion("type",[ge,me]),ve=r.default.record(r.default.string(),he),be=r.default.object({values:ve}),xe={getDemandsSchema:function(){return ce},getFulfillmentSchema:function(){return be},getUri:function(){return"https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1"}};function ye(e){var t=e.getMessageMetadataSchema(),a=e.getUri();return function(e){var r=t.safeParse(null!=e?e:{}),n=r.success,l=r.data;return n||console.warn(r.error),n?l[a]:null}}function _e(e){var t=e.getDemandsSchema(),a=e.getUri();return function(e){var r=e.find(function(e){return e.uri===a});if(null==r||!r.params)return null;var n=t.safeParse(r.params);return n.success?n.data:(console.warn(n.error),null)}}function je(e){var t=e.getFulfillmentSchema(),a=e.getUri();return function(e,r){var n,l=t.safeParse(r),i=l.success,u=l.data;return i||console.warn(l.error),T({},e,((n={})[a]=i?u:{},n))}}var Se,ke=_e(H),Pe=_e(L),Ue=_e(q),Me=_e(X),Ee=_e(xe),we=_e(re),Te=_e(z),Fe=je(H),Ce=je(L),De=je(q),qe=je(X),Re=je(xe),Oe=je(re),ze=je(z),Ae=function(e){var t,a=null!=(t=e.capabilities.extensions)?t:[],r=Pe(a),n=Ue(a),l=ke(a),i=Me(a),u=Ee(a),s=we(a),o=Te(a);return{resolveMetadata:function(e){try{var t=function(){function t(){function t(){function t(){function t(){function t(){function t(){var t,r=e.oauthRedirectUri();return r&&(a=T({},a,((t={})[ue.getUri()]={redirect_uri:r},t))),a}var r=function(){if(o){var t=a;return Promise.resolve(e.form(o)).then(function(e){a=ze(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(s){var t=a;return Promise.resolve(e.secrets(s)).then(function(e){a=Oe(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(u){var t=a;return Promise.resolve(e.settings(u)).then(function(e){a=Re(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(i){var t=a;return Promise.resolve(e.oauth(i)).then(function(e){a=qe(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(l){var t=a;return Promise.resolve(e.mcp(l)).then(function(e){a=Fe(t,e)})}}();return r&&r.then?r.then(t):t()}var r=function(){if(n){var t=a;return Promise.resolve(e.embedding(n)).then(function(e){a=De(t,e)})}}();return r&&r.then?r.then(t):t()},a={};a=Z(a,e.getContextToken());var d=function(){if(r){var t=a;return Promise.resolve(e.llm(r)).then(function(e){a=Ce(t,e)})}}();return Promise.resolve(d&&d.then?d.then(t):t())}catch(e){return Promise.reject(e)}},demands:{llmDemands:r,embeddingDemands:n,mcpDemands:l,oauthDemands:i,settingsDemands:u,secretDemands:s,formDemands:o}}},Ie="https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1",Ve={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[Ie]=b,e)).partial()},getUri:function(){return Ie}},Le=ye(ne),Ge=ye(ue),Ne=ye(Ve);exports.TaskStatusUpdateType=void 0,(Se=exports.TaskStatusUpdateType||(exports.TaskStatusUpdateType={})).SecretRequired="secret-required",Se.FormRequired="form-required",Se.OAuthRequired="oauth-required";var Je="https://a2a-extensions.agentstack.beeai.dev/ui/canvas/v1",Be=e.z.object({start_index:e.z.int(),end_index:e.z.int(),description:e.z.string().nullish(),artifact_id:e.z.string()}),He={getMessageMetadataSchema:function(){var t;return e.z.object((t={},t[Je]=Be,t)).partial()},getUri:function(){return Je}},Ke=r.default.enum(["single-turn","multi-turn"]),Qe="https://a2a-extensions.agentstack.beeai.dev/ui/agent-detail/v1",We=r.default.object({name:r.default.string(),email:r.default.string().nullish(),url:r.default.string().nullish()}),Xe=r.default.object({name:r.default.string(),description:r.default.string()}),Ye=r.default.object({interaction_mode:r.default.union([Ke,r.default.string()]).nullish(),user_greeting:r.default.string().nullish(),input_placeholder:r.default.string().nullish(),tools:r.default.array(Xe).nullish(),framework:r.default.string().nullish(),license:r.default.string().nullish(),programming_language:r.default.string().nullish(),homepage_url:r.default.string().nullish(),source_code_url:r.default.string().nullish(),container_image_url:r.default.string().nullish(),author:We.nullish(),contributors:r.default.array(We).nullish()}),Ze={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[Qe]=Ye,e)).partial()},getUri:function(){return Qe}},$e="https://a2a-extensions.agentstack.beeai.dev/ui/citation/v1",et=r.default.object({url:r.default.string().nullish(),start_index:r.default.number().nullish(),end_index:r.default.number().nullish(),title:r.default.string().nullish(),description:r.default.string().nullish()}),tt=r.default.object({citations:r.default.array(et)}),at={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[$e]=tt,e)).partial()},getUri:function(){return $e}},rt="https://a2a-extensions.agentstack.beeai.dev/ui/error/v1",nt=r.default.object({title:r.default.string(),message:r.default.string()}),lt=r.default.object({message:r.default.string(),errors:r.default.array(nt)}),it=r.default.object({error:r.default.union([nt,lt]),context:r.default.record(r.default.string(),r.default.unknown()).nullish(),stack_trace:r.default.string().nullish()}),ut={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[rt]=it,e)).partial()},getUri:function(){return rt}},st="https://a2a-extensions.agentstack.beeai.dev/ui/trajectory/v1",ot=r.default.object({title:r.default.string().nullish(),content:r.default.string().nullish(),group_id:r.default.string().nullish()}),dt={getMessageMetadataSchema:function(){var e;return r.default.object((e={},e[st]=ot,e)).partial()},getUri:function(){return st}};exports.CanvasExtension=He,exports.FormRequestExtension=Ve,exports.agentDetailExtension=Ze,exports.agentSettings=ve,exports.buildApiClient=function(e){var t=function(e,t,a,n){try{var l=""+r+t,u={method:e,headers:{"Content-Type":"application/json"}};if("GET"===e&&a){var s=new URLSearchParams;Object.entries(a).forEach(function(e){var t=e[1];null!=t&&s.append(e[0],String(t))}),l=l+"?"+s.toString()}else"POST"===e&&a&&(u.body=JSON.stringify(a));return Promise.resolve(i(l,u)).then(function(e){if(!e.ok)throw new Error("Failed to call Agent Stackk API - "+t);return Promise.resolve(e.json()).then(function(e){return n.parse(e)})})}catch(e){return Promise.reject(e)}},a=void 0===e?{baseUrl:""}:e,r=a.baseUrl,n=a.fetch,l=null!=n?n:void 0!==globalThis.fetch?globalThis.fetch:void 0;if(!l)throw new Error("fetch is not available. In Node.js < 18 or environments without global fetch, provide a fetch implementation via the fetch option.");var i=l;return{createContextToken:function(e){var a=e.contextId,r=e.globalPermissions,n=e.contextPermissions;try{return Promise.resolve(t("POST","/api/v1/contexts/"+a+"/token",{grant_global_permissions:r,grant_context_permissions:n},_)).then(function(e){return{token:e,contextId:a}})}catch(e){return Promise.reject(e)}},createContext:function(e){try{return Promise.resolve(t("POST","/api/v1/contexts",{metadata:{},provider_id:e},y))}catch(e){return Promise.reject(e)}},matchProviders:function(e){var a=e.suggestedModels,r=e.capability,n=e.scoreCutoff;try{return Promise.resolve(t("POST","/api/v1/model_providers/match",{capability:r,score_cutoff:n,suggested_models:a},k))}catch(e){return Promise.reject(e)}},listConnectors:function(){return Promise.resolve(t("GET","/api/v1/connectors",null,w))}}},exports.buildLLMExtensionFulfillmentResolver=function(e,t){return function(a){var r=a.llm_demands;try{var n=Object.keys(r).map(function(a){try{var n,l=r[a];return Promise.resolve(e.matchProviders({suggestedModels:null!=(n=l.suggested)?n:[],capability:exports.ModelCapability.Llm,scoreCutoff:.4})).then(function(e){if(0===e.items.length)throw new Error("No models found for demand "+a+". Demand details: "+JSON.stringify(l));return[a,{identifier:"llm_proxy",api_base:"{platform_url}/api/v1/openai/",api_key:t.token,api_model:e.items[0].model_id}]})}catch(e){return Promise.reject(e)}});return Promise.resolve(Promise.all(n)).then(function(e){return{llm_fulfillments:Object.fromEntries(e)}})}catch(e){return Promise.reject(e)}}},exports.buildMessageBuilder=function(e){return function(t,a,r){try{var n=Ae(e);return Promise.resolve((0,n.resolveMetadata)(a)).then(function(e){return T({},r,{contextId:t,kind:"message",role:"user",metadata:e})})}catch(e){return Promise.reject(e)}}},exports.checkboxField=m,exports.checkboxFieldValue=h,exports.citationExtension=at,exports.connectorSchema=E,exports.contextPermissionsGrantSchema=U,exports.contextSchema=y,exports.contextTokenSchema=_,exports.dateFieldValue=s,exports.embeddingExtension=q,exports.errorExtension=ut,exports.extractServiceExtensionDemands=_e,exports.extractUiExtensionData=ye,exports.fileFieldValue=d,exports.formExtension=z,exports.formRenderSchema=b,exports.formResponseSchema=x,exports.fulfillServiceExtensionDemand=je,exports.globalPermissionsGrantSchema=M,exports.handleAgentCard=Ae,exports.handleTaskStatusUpdate=function(e){var t=[];if("auth-required"===e.status.state){var a,r,n=Le(null==(a=e.status.message)?void 0:a.metadata),l=Ge(null==(r=e.status.message)?void 0:r.metadata);l&&t.push({type:exports.TaskStatusUpdateType.OAuthRequired,url:l.authorization_endpoint_url}),n&&t.push({type:exports.TaskStatusUpdateType.SecretRequired,demands:n})}else if("input-required"===e.status.state){var i,u=Ne(null==(i=e.status.message)?void 0:i.metadata);u&&t.push({type:exports.TaskStatusUpdateType.FormRequired,form:u})}return t},exports.listConnectorsResponseSchema=w,exports.llmExtension=L,exports.mcpExtension=H,exports.modelProviderMatchSchema=k,exports.multiSelectField=p,exports.multiSelectFieldValue=g,exports.oauthMessageSchema=Y,exports.oauthProviderExtension=X,exports.oauthRequestExtension=ue,exports.platformApiExtension=Z,exports.resolveUserMetadata=function(e){try{var t={},a=e.form,r=e.canvasEditRequest;return a&&(t[Ve.getUri()]={values:a}),r&&(t[He.getUri()]=r),Promise.resolve(t)}catch(e){return Promise.reject(e)}},exports.resourceIdPermissionSchema=P,exports.secretsExtension=re,exports.secretsMessageExtension=ne,exports.settingsExtension=xe,exports.singleSelectField=f,exports.singleSelectFieldValue=c,exports.textFieldValue=i,exports.trajectoryExtension=dt;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/client/api/types.ts","../src/client/a2a/extensions/common/form.ts","../src/client/a2a/extensions/services/embedding.ts","../src/client/a2a/extensions/services/form.ts","../src/client/a2a/extensions/services/llm.ts","../src/client/a2a/extensions/services/mcp.ts","../src/client/a2a/extensions/services/oauth-provider.ts","../src/client/a2a/extensions/services/platform.ts","../src/client/a2a/extensions/services/secrets.ts","../src/client/a2a/extensions/ui/oauth.ts","../src/client/a2a/extensions/ui/settings.ts","../src/client/a2a/extensions/utils.ts","../src/client/a2a/extensions/handle-agent-card.ts","../src/client/a2a/extensions/handle-task-status-update.ts","../src/client/a2a/extensions/ui/form-request.ts","../src/types.ts","../src/client/a2a/extensions/ui/agent-detail.ts","../src/client/a2a/extensions/ui/citation.ts","../src/client/a2a/extensions/ui/error.ts","../src/client/a2a/extensions/ui/trajectory.ts","../src/client/api/build-api-client.ts","../src/client/a2a/extensions/fulfillment-resolvers/build-llm-extension-fulfillment-resolver.ts","../src/client/a2a/extensions/utils/build-message-builder.ts","../src/client/a2a/extensions/handle-input-required.ts"],"sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nexport const contextSchema = z.object({\n id: z.string(),\n created_at: z.string(),\n updated_at: z.string(),\n last_active_at: z.string(),\n created_by: z.string(),\n provider_id: z.string().nullable(),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n});\n\nexport const contextTokenSchema = z.object({\n token: z.string(),\n expires_at: z.string().nullable(),\n});\nexport type ContextToken = z.infer<typeof contextTokenSchema>;\n\nexport enum ModelCapability {\n Llm = 'llm',\n Embedding = 'embedding',\n}\n\nconst paginatedResultSchema = z.object({\n items: z.array(z.unknown()),\n total_count: z.number(),\n has_more: z.boolean(),\n next_page_token: z.string().nullable(),\n});\n\nexport const modelProviderMatchSchema = paginatedResultSchema.extend({\n items: z.array(\n z.object({\n model_id: z.string(),\n score: z.number(),\n }),\n ),\n});\nexport type ModelProviderMatch = z.infer<typeof modelProviderMatchSchema>;\n\nexport const resourceIdPermissionSchema = z.object({\n id: z.string(),\n});\n\nexport type ResourceIdPermission = z.infer<typeof resourceIdPermissionSchema>;\n\nexport const contextPermissionsGrantSchema = z.object({\n files: z.array(z.literal(['read', 'write', 'extract', '*'])).optional(),\n vector_stores: z.array(z.literal(['read', 'write', '*'])).optional(),\n context_data: z.array(z.literal(['read', 'write', '*'])).optional(),\n});\n\nexport type ContextPermissionsGrant = z.infer<typeof contextPermissionsGrantSchema>;\n\nexport const globalPermissionsGrantSchema = contextPermissionsGrantSchema.extend({\n feedback: z.array(z.literal('write')).optional(),\n\n llm: z.array(z.union([z.literal('*'), resourceIdPermissionSchema])).optional(),\n embeddings: z.array(z.union([z.literal('*'), resourceIdPermissionSchema])).optional(),\n model_providers: z.array(z.literal(['read', 'write', '*'])).optional(),\n\n a2a_proxy: z.array(z.literal('*')).optional(),\n\n providers: z.array(z.literal(['read', 'write', '*'])).optional(),\n provider_variables: z.array(z.literal(['read', 'write', '*'])).optional(),\n\n contexts: z.array(z.literal(['read', 'write', '*'])).optional(),\n\n mcp_providers: z.array(z.literal(['read', 'write', '*'])).optional(),\n mcp_tools: z.array(z.literal(['read', '*'])).optional(),\n mcp_proxy: z.array(z.literal('*')).optional(),\n\n connectors: z.array(z.literal(['read', 'write', 'proxy', '*'])).optional(),\n});\n\nexport type GlobalPermissionsGrant = z.infer<typeof globalPermissionsGrantSchema>;\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nconst baseField = z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n required: z.boolean(),\n col_span: z.int().min(1).max(4).nullish(),\n});\n\nconst textField = baseField.extend({\n type: z.literal('text'),\n placeholder: z.string().nullish(),\n default_value: z.string().nullish(),\n auto_resize: z.boolean().default(true).nullish(),\n});\n\nexport const textFieldValue = z.object({\n type: textField.shape.type,\n value: z.string().nullish(),\n});\n\nconst dateField = baseField.extend({\n type: z.literal('date'),\n placeholder: z.string().nullish(),\n default_value: z.string().nullish(),\n});\n\nexport const dateFieldValue = z.object({\n type: dateField.shape.type,\n value: z.string().nullish(),\n});\n\nconst fileField = baseField.extend({\n type: z.literal('file'),\n accept: z.array(z.string()),\n});\n\nexport const fileFieldValue = z.object({\n type: fileField.shape.type,\n value: z\n .array(\n z.object({\n uri: z.string(),\n name: z.string().nullish(),\n mime_type: z.string().nullish(),\n }),\n )\n .nullish(),\n});\n\nexport const singleSelectField = baseField.extend({\n type: z.literal('singleselect'),\n options: z\n .array(\n z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n }),\n )\n .nonempty(),\n default_value: z.string().nullish(),\n});\n\nexport const singleSelectFieldValue = z.object({\n type: singleSelectField.shape.type,\n value: z.string().nullish(),\n});\n\nexport const multiSelectField = baseField.extend({\n type: z.literal('multiselect'),\n options: z\n .array(\n z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n }),\n )\n .nonempty(),\n default_value: z.array(z.string()).nullish(),\n});\n\nexport const multiSelectFieldValue = z.object({\n type: multiSelectField.shape.type,\n value: z.array(z.string()).nullish(),\n});\n\nexport const checkboxField = baseField.extend({\n type: z.literal('checkbox'),\n content: z.string(),\n default_value: z.boolean(),\n});\n\nexport const checkboxFieldValue = z.object({\n type: checkboxField.shape.type,\n value: z.boolean().nullish(),\n});\n\nconst fieldSchema = z.discriminatedUnion('type', [\n textField,\n dateField,\n fileField,\n singleSelectField,\n multiSelectField,\n checkboxField,\n]);\n\nexport const formRenderSchema = z.object({\n title: z.string().nullish(),\n description: z.string().nullish(),\n columns: z.int().min(1).max(4).nullish(),\n submit_label: z.string().nullish(),\n fields: z.array(fieldSchema).nonempty(),\n});\n\nexport const formResponseSchema = z.object({\n values: z.record(\n z.string(),\n z.discriminatedUnion('type', [\n textFieldValue,\n dateFieldValue,\n fileFieldValue,\n singleSelectFieldValue,\n multiSelectFieldValue,\n checkboxFieldValue,\n ]),\n ),\n});\n\nexport type FormRender = z.infer<typeof formRenderSchema>;\n\nexport type TextField = z.infer<typeof textField>;\nexport type DateField = z.infer<typeof dateField>;\nexport type FileField = z.infer<typeof fileField>;\nexport type SingleSelectField = z.infer<typeof singleSelectField>;\nexport type MultiSelectField = z.infer<typeof multiSelectField>;\nexport type CheckboxField = z.infer<typeof checkboxField>;\n\nexport type FormField = z.infer<typeof fieldSchema>;\nexport type FormResponseValue = z.infer<typeof formResponseSchema>['values'][string];\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1';\n\nconst embeddingDemandSchema = z.object({\n description: z.string().nullish(),\n suggested: z.array(z.string()).nullish(),\n});\n\nconst embeddingDemandsSchema = z.object({\n embedding_demands: z.record(z.string(), embeddingDemandSchema),\n});\nexport type EmbeddingDemands = z.infer<typeof embeddingDemandsSchema>;\n\nconst embeddingFulfillmentsSchema = z.object({\n embedding_fulfillments: z.record(\n z.string(),\n z.object({\n identifier: z.string().nullish(),\n api_base: z.string(),\n api_key: z.string(),\n api_model: z.string(),\n }),\n ),\n});\nexport type EmbeddingFulfillments = z.infer<typeof embeddingFulfillmentsSchema>;\n\nexport const embeddingExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof embeddingDemandsSchema>,\n EmbeddingFulfillments\n> = {\n getUri: () => URI,\n getDemandsSchema: () => embeddingDemandsSchema,\n getFulfillmentSchema: () => embeddingFulfillmentsSchema,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport { formRenderSchema, formResponseSchema } from '../common/form';\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/form/v1';\n\nconst formDemandSchema = z.object({\n form_demands: z\n .object({\n initial_form: formRenderSchema,\n })\n .partial(),\n});\nexport type FormDemands = z.infer<typeof formDemandSchema>;\n\nconst formFulfillmentSchema = z.object({\n form_fulfillments: z.record(z.string(), formResponseSchema),\n});\nexport type FormFulfillments = z.infer<typeof formFulfillmentSchema>;\n\nexport const formExtension: A2AServiceExtension<typeof URI, FormDemands, FormFulfillments> = {\n getDemandsSchema: () => formDemandSchema,\n getFulfillmentSchema: () => formFulfillmentSchema,\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/llm/v1';\n\nconst llmDemandSchema = z.object({\n description: z.string().nullish(),\n suggested: z.array(z.string()).nullish(),\n});\n\nconst llmDemandsSchema = z.object({\n llm_demands: z.record(z.string(), llmDemandSchema),\n});\nexport type LLMDemands = z.infer<typeof llmDemandsSchema>;\n\nconst llmFulfillmentSchema = z.object({\n llm_fulfillments: z.record(\n z.string(),\n z.object({\n identifier: z.string().nullish(),\n api_base: z.string(),\n api_key: z.string(),\n api_model: z.string(),\n }),\n ),\n});\nexport type LLMFulfillments = z.infer<typeof llmFulfillmentSchema>;\n\nexport const llmExtension: A2AServiceExtension<typeof URI, z.infer<typeof llmDemandsSchema>, LLMFulfillments> = {\n getUri: () => URI,\n getDemandsSchema: () => llmDemandsSchema,\n getFulfillmentSchema: () => llmFulfillmentSchema,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1';\n\nconst mcpTransportTypesEnum = z.enum(['streamable_http', 'stdio']);\ntype MCPTransportType = z.infer<typeof mcpTransportTypesEnum>;\n\nconst mcpDemandSchema = z.object({\n description: z.string().nullish(),\n suggested: z.array(z.string()).nullish(),\n allowed_transports: z.array(mcpTransportTypesEnum).nullish(),\n});\n\nconst mcpDemandsSchema = z.object({\n mcp_demands: z.record(z.string(), mcpDemandSchema),\n});\nexport type MCPDemands = z.infer<typeof mcpDemandsSchema>;\n\nconst mcpFulfillmentSchema = z.object({\n mcp_fulfillments: z.record(\n z.string(),\n z.object({\n transport: z.object({\n type: mcpTransportTypesEnum,\n url: z.string(),\n headers: z.record(z.string(), z.string()).optional(),\n }),\n }),\n ),\n});\nexport type MCPFulfillments = z.infer<typeof mcpFulfillmentSchema>;\n\nexport const mcpExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof mcpDemandsSchema>,\n {\n mcp_fulfillments: Record<\n string,\n {\n transport: {\n type: MCPTransportType;\n url: string;\n headers?: Record<string, string>;\n };\n }\n >;\n }\n> = {\n getUri: () => URI,\n getDemandsSchema: () => mcpDemandsSchema,\n getFulfillmentSchema: () => mcpFulfillmentSchema,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1';\n\nconst oauthDemandSchema = z.object({\n redirect_uri: z.boolean(),\n});\n\nconst oauthDemandsSchema = z.object({\n oauth_demands: z.record(z.string(), oauthDemandSchema),\n});\nexport type OAuthDemands = z.infer<typeof oauthDemandsSchema>;\n\nconst oauthFulfillmentSchema = z.object({\n oauth_fulfillments: z.record(\n z.string(),\n z.object({\n redirect_uri: z.string(),\n }),\n ),\n});\nexport type OAuthFulfillments = z.infer<typeof oauthFulfillmentSchema>;\n\nexport const oauthProviderExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof oauthDemandsSchema>,\n {\n oauth_fulfillments: Record<\n string,\n {\n redirect_uri: string;\n }\n >;\n }\n> = {\n getUri: () => URI,\n getDemandsSchema: () => oauthDemandsSchema,\n getFulfillmentSchema: () => oauthFulfillmentSchema,\n};\n\nexport const oauthMessageSchema = z.object({\n data: z.object({\n redirect_uri: z.string(),\n }),\n});\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ContextToken } from '../../../api/types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1';\n\nconst getMetadata = (contextToken: ContextToken) => {\n return {\n auth_token: contextToken.token,\n expires_at: contextToken.expires_at,\n };\n};\n\nexport const platformApiExtension = (metadata: Record<string, unknown>, contextToken: ContextToken) => {\n return {\n ...metadata,\n [URI]: getMetadata(contextToken),\n };\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension, A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1';\n\nconst secretDemandSchema = z.object({\n name: z.string(),\n description: z.string().nullish(),\n});\nexport type SecretDemand = z.infer<typeof secretDemandSchema>;\n\nconst secretDemandsSchema = z.object({\n secret_demands: z.record(z.string(), secretDemandSchema),\n});\nexport type SecretDemands = z.infer<typeof secretDemandsSchema>;\n\nconst secretFulfillmentSchema = z.object({\n secret_fulfillments: z.record(\n z.string(),\n z.object({\n secret: z.string(),\n }),\n ),\n});\nexport type SecretFulfillments = z.infer<typeof secretFulfillmentSchema>;\n\nexport const secretsExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof secretDemandsSchema>,\n SecretFulfillments\n> = {\n getUri: () => URI,\n getDemandsSchema: () => secretDemandsSchema,\n getFulfillmentSchema: () => secretFulfillmentSchema,\n};\n\nexport const secretsMessageExtension: A2AUiExtension<typeof URI, SecretDemands> = {\n getMessageMetadataSchema: () => z.object({ [URI]: secretDemandsSchema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1';\n\nconst schema = z.object({\n authorization_endpoint_url: z.string(),\n});\n\nexport type OAuthRequest = z.infer<typeof schema>;\n\nexport const oauthRequestExtension: A2AUiExtension<typeof URI, OAuthRequest> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1';\n\nconst checkboxField = z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n default_value: z.boolean(),\n});\n\nconst checkboxGroupField = z.object({\n id: z.string().nonempty(),\n type: z.literal('checkbox_group'),\n fields: z.array(checkboxField),\n});\n\nconst optionItem = z.object({\n label: z.string().nonempty(),\n value: z.string().nonempty(),\n});\n\nconst singleSelectField = z.object({\n type: z.literal('single_select'),\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n options: z.array(optionItem).nonempty(),\n default_value: z.string().nonempty(),\n});\n\nconst settingsRenderSchema = z.object({\n fields: z.array(z.discriminatedUnion('type', [checkboxGroupField, singleSelectField])),\n});\n\nconst checkboxFieldValue = z.object({\n value: z.boolean(),\n});\n\nconst checkboxGroupFieldValue = z.object({\n type: z.literal('checkbox_group'),\n values: z.record(z.string(), checkboxFieldValue),\n});\n\nconst singleSelectFieldValue = z.object({\n type: z.literal('single_select'),\n value: z.string(),\n});\n\nconst settingsFieldValue = z.discriminatedUnion('type', [checkboxGroupFieldValue, singleSelectFieldValue]);\n\nexport const agentSettings = z.record(z.string(), settingsFieldValue);\nexport type AgentSettings = z.infer<typeof agentSettings>;\n\nconst agentRunSettingsSchema = z.object({\n values: agentSettings,\n});\n\nexport type SettingsCheckboxField = z.infer<typeof checkboxField>;\nexport type SettingsCheckboxGroupField = z.infer<typeof checkboxGroupField>;\nexport type SettingsOptionItem = z.infer<typeof optionItem>;\nexport type SettingsSingleSelectField = z.infer<typeof singleSelectField>;\nexport type SettingsCheckboxFieldValue = z.infer<typeof checkboxFieldValue>;\nexport type SettingsCheckboxGroupFieldValue = z.infer<typeof checkboxGroupFieldValue>;\nexport type SettingsSingleSelectFieldValue = z.infer<typeof singleSelectFieldValue>;\nexport type SettingsFieldValue = z.infer<typeof settingsFieldValue>;\n\nexport type SettingsDemands = z.infer<typeof settingsRenderSchema>;\nexport type SettingsFulfillments = z.infer<typeof agentRunSettingsSchema>;\n\nexport const settingsExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof settingsRenderSchema>,\n SettingsFulfillments\n> = {\n getDemandsSchema: () => settingsRenderSchema,\n getFulfillmentSchema: () => agentRunSettingsSchema,\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentExtension } from '@a2a-js/sdk';\n\nimport type { A2AServiceExtension, A2AUiExtension } from './types';\n\nexport function extractUiExtensionData<U extends string, D>(extension: A2AUiExtension<U, D>) {\n const schema = extension.getMessageMetadataSchema();\n const uri = extension.getUri();\n\n return function (metadata: Record<string, unknown> | undefined) {\n const { success, data: parsed, error } = schema.safeParse(metadata ?? {});\n\n if (!success) {\n console.warn(error);\n }\n\n if (!success) {\n return null;\n }\n\n return parsed[uri];\n };\n}\n\nexport function extractServiceExtensionDemands<U extends string, D, F>(extension: A2AServiceExtension<U, D, F>) {\n const schema = extension.getDemandsSchema();\n const uri = extension.getUri();\n\n return function (agentExtensions: AgentExtension[]) {\n const foundExtension = agentExtensions.find((agentExtension) => agentExtension.uri === uri);\n if (!foundExtension?.params) {\n return null;\n }\n const { success, data: parsed, error } = schema.safeParse(foundExtension.params);\n\n if (!success) {\n console.warn(error);\n\n return null;\n }\n\n return parsed;\n };\n}\n\nexport function fulfillServiceExtensionDemand<U extends string, D, F>(extension: A2AServiceExtension<U, D, F>) {\n const schema = extension.getFulfillmentSchema();\n const uri = extension.getUri();\n\n return function (metadata: Record<string, unknown>, fulfillment: F) {\n const { success, data: parsed, error } = schema.safeParse(fulfillment);\n\n if (!success) {\n console.warn(error);\n }\n\n return {\n ...metadata,\n [uri]: success ? parsed : {},\n };\n };\n}\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentCapabilities } from '@a2a-js/sdk';\n\nimport type { ContextToken } from '../../api/types';\nimport type { EmbeddingDemands, EmbeddingFulfillments } from './services/embedding';\nimport { embeddingExtension } from './services/embedding';\nimport type { FormDemands, FormFulfillments } from './services/form';\nimport { formExtension } from './services/form';\nimport type { LLMDemands, LLMFulfillments } from './services/llm';\nimport { llmExtension } from './services/llm';\nimport type { MCPDemands, MCPFulfillments } from './services/mcp';\nimport { mcpExtension } from './services/mcp';\nimport type { OAuthDemands, OAuthFulfillments } from './services/oauth-provider';\nimport { oauthProviderExtension } from './services/oauth-provider';\nimport { platformApiExtension } from './services/platform';\nimport type { SecretDemands, SecretFulfillments } from './services/secrets';\nimport { secretsExtension } from './services/secrets';\nimport { oauthRequestExtension } from './ui/oauth';\nimport type { SettingsDemands, SettingsFulfillments } from './ui/settings';\nimport { settingsExtension } from './ui/settings';\nimport { extractServiceExtensionDemands, fulfillServiceExtensionDemand } from './utils';\n\nexport interface Fulfillments {\n llm: (demand: LLMDemands) => Promise<LLMFulfillments>;\n embedding: (demand: EmbeddingDemands) => Promise<EmbeddingFulfillments>;\n mcp: (demand: MCPDemands) => Promise<MCPFulfillments>;\n oauth: (demand: OAuthDemands) => Promise<OAuthFulfillments>;\n settings: (demand: SettingsDemands) => Promise<SettingsFulfillments>;\n secrets: (demand: SecretDemands) => Promise<SecretFulfillments>;\n form: (demand: FormDemands) => Promise<FormFulfillments>;\n oauthRedirectUri: () => string | null;\n getContextToken: () => ContextToken;\n}\n\nconst mcpExtensionExtractor = extractServiceExtensionDemands(mcpExtension);\nconst llmExtensionExtractor = extractServiceExtensionDemands(llmExtension);\nconst embeddingExtensionExtractor = extractServiceExtensionDemands(embeddingExtension);\nconst oauthExtensionExtractor = extractServiceExtensionDemands(oauthProviderExtension);\nconst settingsExtensionExtractor = extractServiceExtensionDemands(settingsExtension);\nconst secretExtensionExtractor = extractServiceExtensionDemands(secretsExtension);\nconst formExtensionExtractor = extractServiceExtensionDemands(formExtension);\n\nconst fulfillMcpDemand = fulfillServiceExtensionDemand(mcpExtension);\nconst fulfillLlmDemand = fulfillServiceExtensionDemand(llmExtension);\nconst fulfillEmbeddingDemand = fulfillServiceExtensionDemand(embeddingExtension);\nconst fulfillOAuthDemand = fulfillServiceExtensionDemand(oauthProviderExtension);\nconst fulfillSettingsDemand = fulfillServiceExtensionDemand(settingsExtension);\nconst fulfillSecretDemand = fulfillServiceExtensionDemand(secretsExtension);\nconst fulfillFormDemand = fulfillServiceExtensionDemand(formExtension);\n\nexport const handleAgentCard = (agentCard: { capabilities: AgentCapabilities }) => {\n const extensions = agentCard.capabilities.extensions ?? [];\n\n const llmDemands = llmExtensionExtractor(extensions);\n const embeddingDemands = embeddingExtensionExtractor(extensions);\n const mcpDemands = mcpExtensionExtractor(extensions);\n const oauthDemands = oauthExtensionExtractor(extensions);\n const settingsDemands = settingsExtensionExtractor(extensions);\n const secretDemands = secretExtensionExtractor(extensions);\n const formDemands = formExtensionExtractor(extensions);\n\n const resolveMetadata = async (fulfillments: Fulfillments) => {\n let fulfilledMetadata: Record<string, unknown> = {};\n\n fulfilledMetadata = platformApiExtension(fulfilledMetadata, fulfillments.getContextToken());\n\n if (llmDemands) {\n fulfilledMetadata = fulfillLlmDemand(fulfilledMetadata, await fulfillments.llm(llmDemands));\n }\n\n if (embeddingDemands) {\n fulfilledMetadata = fulfillEmbeddingDemand(fulfilledMetadata, await fulfillments.embedding(embeddingDemands));\n }\n\n if (mcpDemands) {\n fulfilledMetadata = fulfillMcpDemand(fulfilledMetadata, await fulfillments.mcp(mcpDemands));\n }\n\n if (oauthDemands) {\n fulfilledMetadata = fulfillOAuthDemand(fulfilledMetadata, await fulfillments.oauth(oauthDemands));\n }\n\n if (settingsDemands) {\n fulfilledMetadata = fulfillSettingsDemand(fulfilledMetadata, await fulfillments.settings(settingsDemands));\n }\n\n if (secretDemands) {\n fulfilledMetadata = fulfillSecretDemand(fulfilledMetadata, await fulfillments.secrets(secretDemands));\n }\n\n if (formDemands) {\n fulfilledMetadata = fulfillFormDemand(fulfilledMetadata, await fulfillments.form(formDemands));\n }\n\n const oauthRedirectUri = fulfillments.oauthRedirectUri();\n if (oauthRedirectUri) {\n fulfilledMetadata = {\n ...fulfilledMetadata,\n [oauthRequestExtension.getUri()]: {\n redirect_uri: oauthRedirectUri,\n },\n };\n }\n\n return fulfilledMetadata;\n };\n\n return {\n resolveMetadata,\n demands: { llmDemands, embeddingDemands, mcpDemands, oauthDemands, settingsDemands, secretDemands, formDemands },\n };\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TaskStatusUpdateEvent } from '@a2a-js/sdk';\n\nimport type { FormRender } from './common/form';\nimport type { SecretDemands } from './services/secrets';\nimport { secretsMessageExtension } from './services/secrets';\nimport { FormRequestExtension } from './ui/form-request';\nimport { oauthRequestExtension } from './ui/oauth';\nimport { extractUiExtensionData } from './utils';\n\nconst secretsMessageExtensionExtractor = extractUiExtensionData(secretsMessageExtension);\nconst oauthRequestExtensionExtractor = extractUiExtensionData(oauthRequestExtension);\nconst FormRequestExtensionExtractor = extractUiExtensionData(FormRequestExtension);\n\nexport enum TaskStatusUpdateType {\n SecretRequired = 'secret-required',\n FormRequired = 'form-required',\n OAuthRequired = 'oauth-required',\n}\n\nexport interface SecretRequiredResult {\n type: TaskStatusUpdateType.SecretRequired;\n demands: SecretDemands;\n}\n\nexport interface FormRequiredResult {\n type: TaskStatusUpdateType.FormRequired;\n form: FormRender;\n}\n\nexport interface OAuthRequiredResult {\n type: TaskStatusUpdateType.OAuthRequired;\n url: string;\n}\n\nexport type TaskStatusUpdateResult = SecretRequiredResult | FormRequiredResult | OAuthRequiredResult;\n\nexport const handleTaskStatusUpdate = (event: TaskStatusUpdateEvent): TaskStatusUpdateResult[] => {\n const results: TaskStatusUpdateResult[] = [];\n\n if (event.status.state === 'auth-required') {\n const secretRequired = secretsMessageExtensionExtractor(event.status.message?.metadata);\n const oauthRequired = oauthRequestExtensionExtractor(event.status.message?.metadata);\n\n if (oauthRequired) {\n results.push({\n type: TaskStatusUpdateType.OAuthRequired,\n url: oauthRequired.authorization_endpoint_url,\n });\n }\n\n if (secretRequired) {\n results.push({\n type: TaskStatusUpdateType.SecretRequired,\n demands: secretRequired,\n });\n }\n } else if (event.status.state === 'input-required') {\n const formRequired = FormRequestExtensionExtractor(event.status.message?.metadata);\n\n if (formRequired) {\n results.push({\n type: TaskStatusUpdateType.FormRequired,\n form: formRequired,\n });\n }\n }\n\n return results;\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport { formRenderSchema } from '../common/form';\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1';\n\nexport type FormRequest = z.infer<typeof formRenderSchema>;\n\nexport const FormRequestExtension: A2AUiExtension<typeof URI, FormRequest> = {\n getMessageMetadataSchema: () => z.object({ [URI]: formRenderSchema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nexport const interactionModeSchema = z.enum(['single-turn', 'multi-turn']);\nexport type InteractionMode = z.infer<typeof interactionModeSchema>;\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport { interactionModeSchema } from '../../../../types';\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/agent-detail/v1';\n\nconst contributorSchema = z.object({\n name: z.string(),\n email: z.string().nullish(),\n url: z.string().nullish(),\n});\n\nconst toolSchema = z.object({\n name: z.string(),\n description: z.string(),\n});\n\nconst schema = z.object({\n interaction_mode: z.union([interactionModeSchema, z.string()]).nullish(),\n user_greeting: z.string().nullish(),\n input_placeholder: z.string().nullish(),\n tools: z.array(toolSchema).nullish(),\n framework: z.string().nullish(),\n license: z.string().nullish(),\n programming_language: z.string().nullish(),\n homepage_url: z.string().nullish(),\n source_code_url: z.string().nullish(),\n container_image_url: z.string().nullish(),\n author: contributorSchema.nullish(),\n contributors: z.array(contributorSchema).nullish(),\n});\n\nexport type AgentDetailTool = z.infer<typeof toolSchema>;\nexport type AgentDetailContributor = z.infer<typeof contributorSchema>;\nexport type AgentDetail = z.infer<typeof schema>;\n\nexport const agentDetailExtension: A2AUiExtension<typeof URI, AgentDetail> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/citation/v1';\n\nconst citationSchema = z.object({\n url: z.string().nullish(),\n start_index: z.number().nullish(),\n end_index: z.number().nullish(),\n title: z.string().nullish(),\n description: z.string().nullish(),\n});\n\nconst schema = z.object({\n citations: z.array(citationSchema),\n});\n\nexport type CitationMetadata = z.infer<typeof schema>;\nexport type Citation = z.infer<typeof citationSchema>;\n\nexport const citationExtension: A2AUiExtension<typeof URI, CitationMetadata> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/error/v1';\n\nconst errorSchema = z.object({\n title: z.string(),\n message: z.string(),\n});\n\nconst errorGroupSchema = z.object({\n message: z.string(),\n errors: z.array(errorSchema),\n});\n\nconst schema = z.object({\n error: z.union([errorSchema, errorGroupSchema]),\n context: z.record(z.string(), z.unknown()).nullish(),\n stack_trace: z.string().nullish(),\n});\n\nexport type ErrorMetadata = z.infer<typeof schema>;\n\nexport const errorExtension: A2AUiExtension<typeof URI, ErrorMetadata> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/trajectory/v1';\n\nconst schema = z.object({\n title: z.string().nullish(),\n content: z.string().nullish(),\n group_id: z.string().nullish(),\n});\n\nexport type TrajectoryMetadata = z.infer<typeof schema>;\n\nexport const trajectoryExtension: A2AUiExtension<typeof URI, TrajectoryMetadata> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { z } from 'zod';\n\nimport type { ContextPermissionsGrant, GlobalPermissionsGrant, ModelCapability } from './types';\nimport { contextSchema, contextTokenSchema, modelProviderMatchSchema } from './types';\n\ninterface MatchProvidersParams {\n suggestedModels: string[] | null;\n capability: ModelCapability;\n scoreCutoff: number;\n}\n\ninterface CreateContextTokenParams {\n contextId: string;\n globalPermissions: GlobalPermissionsGrant;\n contextPermissions: ContextPermissionsGrant;\n}\n\nexport const buildApiClient = ({ baseUrl }: { baseUrl: string } = { baseUrl: '' }) => {\n async function callApi<T>(method: 'POST', url: string, data: Record<string, unknown>, resultSchema: z.ZodSchema<T>) {\n const response = await fetch(`${baseUrl}${url}`, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(data),\n });\n if (!response.ok) {\n throw new Error(`Failed to call Agent Stackk API - ${url}`);\n }\n\n const json = await response.json();\n return resultSchema.parse(json);\n }\n\n const createContext = async (providerId: string) => {\n const context = await callApi('POST', '/api/v1/contexts', { metadata: {}, provider_id: providerId }, contextSchema);\n\n return context;\n };\n\n const createContextToken = async ({ contextId, globalPermissions, contextPermissions }: CreateContextTokenParams) => {\n const token = await callApi(\n 'POST',\n `/api/v1/contexts/${contextId}/token`,\n {\n grant_global_permissions: globalPermissions,\n grant_context_permissions: contextPermissions,\n },\n contextTokenSchema,\n );\n\n return { token, contextId };\n };\n\n const matchProviders = async ({ suggestedModels, capability, scoreCutoff }: MatchProvidersParams) => {\n return await callApi(\n 'POST',\n '/api/v1/model_providers/match',\n {\n capability,\n score_cutoff: scoreCutoff,\n suggested_models: suggestedModels,\n },\n modelProviderMatchSchema,\n );\n };\n\n return { createContextToken, createContext, matchProviders };\n};\n\nexport type AgentstackClient = ReturnType<typeof buildApiClient>;\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentstackClient } from '../../../api/build-api-client';\nimport type { ContextToken } from '../../../api/types';\nimport { ModelCapability } from '../../../api/types';\nimport type { LLMDemands, LLMFulfillments } from '../services/llm';\n\nconst DEFAULT_SCORE_CUTOFF = 0.4;\n\nexport const buildLLMExtensionFulfillmentResolver = (api: AgentstackClient, token: ContextToken) => {\n return async ({ llm_demands }: LLMDemands): Promise<LLMFulfillments> => {\n const allDemands = Object.keys(llm_demands);\n const fulfillmentPromises = allDemands.map(async (demandKey) => {\n const demand = llm_demands[demandKey];\n const resolvedModels = await api.matchProviders({\n suggestedModels: demand.suggested ?? [],\n capability: ModelCapability.Llm,\n scoreCutoff: DEFAULT_SCORE_CUTOFF,\n });\n\n if (resolvedModels.items.length === 0) {\n throw new Error(`No models found for demand ${demandKey}. Demand details: ${JSON.stringify(demand)}`);\n }\n\n return [\n demandKey,\n {\n identifier: 'llm_proxy',\n // {platform_url} is replaced by the server SDK to the platform URL\n api_base: '{platform_url}/api/v1/openai/',\n api_key: token.token,\n api_model: resolvedModels.items[0].model_id,\n },\n ] as const;\n });\n\n const fulfilledEntries = await Promise.all(fulfillmentPromises);\n return { llm_fulfillments: Object.fromEntries(fulfilledEntries) };\n };\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentCapabilities, Message } from '@a2a-js/sdk';\n\nimport type { Fulfillments } from '../handle-agent-card';\nimport { handleAgentCard } from '../handle-agent-card';\n\nexport const buildMessageBuilder =\n (agent: { capabilities: AgentCapabilities }) =>\n async (\n contextId: string,\n fulfillments: Fulfillments,\n originalMessage: Pick<Message, 'parts' | 'messageId'>,\n ): Promise<Message> => {\n const { resolveMetadata } = handleAgentCard(agent);\n const metadata = await resolveMetadata(fulfillments);\n\n return {\n ...originalMessage,\n contextId,\n kind: 'message',\n role: 'user',\n metadata,\n } as const;\n };\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { FormResponseValue } from './common/form';\nimport { FormRequestExtension } from './ui/form-request';\n\nexport type InputRequiredResponses = Partial<{\n form: Record<string, FormResponseValue>;\n}>;\n\nexport const handleInputRequired = () => {\n const resolveMetadata = async (responses: InputRequiredResponses) => {\n const metadata: Record<string, unknown> = {};\n\n if (responses.form) {\n metadata[FormRequestExtension.getUri()] = {\n values: responses.form,\n };\n }\n\n return metadata;\n };\n\n return {\n resolveMetadata,\n };\n};\n"],"names":["ModelCapability","baseField","z","object","id","string","nonempty","label","required","col_span","min","max","nullish","textField","extend","type","literal","placeholder","default_value","auto_resize","textFieldValue","shape","value","dateField","dateFieldValue","fileField","accept","array","fileFieldValue","uri","name","mime_type","singleSelectField","options","singleSelectFieldValue","multiSelectField","multiSelectFieldValue","checkboxField","content","checkboxFieldValue","fieldSchema","discriminatedUnion","formRenderSchema","title","description","columns","submit_label","fields","formResponseSchema","values","record","contextSchema","created_at","updated_at","last_active_at","created_by","provider_id","nullable","metadata","unknown","contextTokenSchema","token","expires_at","modelProviderMatchSchema","items","total_count","number","has_more","next_page_token","model_id","score","resourceIdPermissionSchema","contextPermissionsGrantSchema","files","optional","vector_stores","context_data","globalPermissionsGrantSchema","feedback","llm","union","embeddings","model_providers","a2a_proxy","providers","provider_variables","contexts","mcp_providers","mcp_tools","mcp_proxy","connectors","embeddingDemandSchema","suggested","embeddingDemandsSchema","embedding_demands","embeddingFulfillmentsSchema","embedding_fulfillments","identifier","api_base","api_key","api_model","embeddingExtension","getUri","getDemandsSchema","getFulfillmentSchema","formDemandSchema","form_demands","initial_form","partial","formFulfillmentSchema","form_fulfillments","formExtension","llmDemandSchema","llmDemandsSchema","llm_demands","llmFulfillmentSchema","llm_fulfillments","llmExtension","mcpTransportTypesEnum","mcpDemandSchema","allowed_transports","mcpDemandsSchema","mcp_demands","mcpFulfillmentSchema","mcp_fulfillments","transport","url","headers","mcpExtension","oauthDemandSchema","redirect_uri","oauthDemandsSchema","oauth_demands","oauthFulfillmentSchema","oauth_fulfillments","oauthProviderExtension","oauthMessageSchema","data","platformApiExtension","contextToken","_extends2","_extends","auth_token","getMetadata","URI","secretDemandSchema","secretDemandsSchema","secret_demands","secretFulfillmentSchema","secret_fulfillments","secret","secretsExtension","secretsMessageExtension","getMessageMetadataSchema","_z$object","schema","authorization_endpoint_url","oauthRequestExtension","checkboxGroupField","optionItem","settingsRenderSchema","checkboxGroupFieldValue","settingsFieldValue","agentSettings","agentRunSettingsSchema","settingsExtension","extractUiExtensionData","extension","_schema$safeParse","safeParse","success","parsed","console","warn","error","extractServiceExtensionDemands","agentExtensions","foundExtension","find","agentExtension","params","_schema$safeParse2","fulfillServiceExtensionDemand","fulfillment","_schema$safeParse3","TaskStatusUpdateType","mcpExtensionExtractor","llmExtensionExtractor","embeddingExtensionExtractor","oauthExtensionExtractor","settingsExtensionExtractor","secretExtensionExtractor","formExtensionExtractor","fulfillMcpDemand","fulfillLlmDemand","fulfillEmbeddingDemand","fulfillOAuthDemand","fulfillSettingsDemand","fulfillSecretDemand","fulfillFormDemand","handleAgentCard","agentCard","_agentCard$capabiliti","extensions","capabilities","llmDemands","embeddingDemands","mcpDemands","oauthDemands","settingsDemands","secretDemands","formDemands","resolveMetadata","fulfillments","_temp12","_temp10","_temp0","_temp8","_temp6","_temp4","_temp2","oauthRedirectUri","fulfilledMetadata","_temp","_fulfilledMetadata7","Promise","resolve","form","then","_fulfillments$form","_temp3","_fulfilledMetadata6","secrets","_fulfillments$secrets","_temp5","_fulfilledMetadata5","settings","_fulfillments$setting","_temp7","_fulfilledMetadata4","oauth","_fulfillments$oauth","_temp9","_fulfilledMetadata3","mcp","_fulfillments$mcp","_temp1","_fulfilledMetadata2","embedding","_fulfillments$embeddi","getContextToken","_temp11","_fulfilledMetadata","_fulfillments$llm","e","reject","demands","FormRequestExtension","secretsMessageExtensionExtractor","oauthRequestExtensionExtractor","FormRequestExtensionExtractor","interactionModeSchema","contributorSchema","email","toolSchema","interaction_mode","user_greeting","input_placeholder","tools","framework","license","programming_language","homepage_url","source_code_url","container_image_url","author","contributors","agentDetailExtension","citationSchema","start_index","end_index","citations","citationExtension","errorSchema","message","errorGroupSchema","errors","context","stack_trace","errorExtension","group_id","trajectoryExtension","callApi","method","resultSchema","fetch","baseUrl","body","JSON","stringify","response","ok","Error","json","parse","createContextToken","_ref2","contextId","globalPermissions","contextPermissions","grant_global_permissions","grant_context_permissions","createContext","providerId","matchProviders","_ref3","suggestedModels","capability","scoreCutoff","score_cutoff","suggested_models","api","_ref","fulfillmentPromises","Object","keys","map","demandKey","_demand$suggested","demand","Llm","resolvedModels","length","all","fulfilledEntries","fromEntries","agent","originalMessage","_handleAgentCard","kind","role","responses","event","results","status","state","_event$status$message","_event$status$message2","secretRequired","oauthRequired","push","OAuthRequired","SecretRequired","_event$status$message3","formRequired","FormRequired"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/client/api/types.ts","../src/client/a2a/extensions/common/form.ts","../src/client/a2a/extensions/services/embedding.ts","../src/client/a2a/extensions/services/form.ts","../src/client/a2a/extensions/services/llm.ts","../src/client/a2a/extensions/services/mcp.ts","../src/client/a2a/extensions/services/oauth-provider.ts","../src/client/a2a/extensions/services/platform.ts","../src/client/a2a/extensions/services/secrets.ts","../src/client/a2a/extensions/ui/oauth.ts","../src/client/a2a/extensions/ui/settings.ts","../src/client/a2a/extensions/utils.ts","../src/client/a2a/extensions/handle-agent-card.ts","../src/client/a2a/extensions/handle-task-status-update.ts","../src/client/a2a/extensions/ui/form-request.ts","../src/client/a2a/extensions/ui/canvas.ts","../src/types.ts","../src/client/a2a/extensions/ui/agent-detail.ts","../src/client/a2a/extensions/ui/citation.ts","../src/client/a2a/extensions/ui/error.ts","../src/client/a2a/extensions/ui/trajectory.ts","../src/client/api/build-api-client.ts","../src/client/a2a/extensions/fulfillment-resolvers/build-llm-extension-fulfillment-resolver.ts","../src/client/a2a/extensions/utils/build-message-builder.ts","../src/client/a2a/extensions/resolve-user-metadata.ts"],"sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nexport const contextSchema = z.object({\n id: z.string(),\n created_at: z.string(),\n updated_at: z.string(),\n last_active_at: z.string(),\n created_by: z.string(),\n provider_id: z.string().nullable(),\n metadata: z.record(z.string(), z.unknown()).nullable(),\n});\nexport type CreateContextResponse = z.infer<typeof contextSchema>;\n\nexport const contextTokenSchema = z.object({\n token: z.string(),\n expires_at: z.string().nullable(),\n});\nexport type ContextToken = z.infer<typeof contextTokenSchema>;\n\nexport enum ModelCapability {\n Llm = 'llm',\n Embedding = 'embedding',\n}\n\nconst paginatedResultSchema = z.object({\n items: z.array(z.unknown()),\n total_count: z.number(),\n has_more: z.boolean(),\n next_page_token: z.string().nullable(),\n});\n\nexport const modelProviderMatchSchema = paginatedResultSchema.extend({\n items: z.array(\n z.object({\n model_id: z.string(),\n score: z.number(),\n }),\n ),\n});\nexport type ModelProviderMatch = z.infer<typeof modelProviderMatchSchema>;\n\nexport const resourceIdPermissionSchema = z.object({\n id: z.string(),\n});\n\nexport type ResourceIdPermission = z.infer<typeof resourceIdPermissionSchema>;\n\nexport const contextPermissionsGrantSchema = z.object({\n files: z.array(z.literal(['read', 'write', 'extract', '*'])).optional(),\n vector_stores: z.array(z.literal(['read', 'write', '*'])).optional(),\n context_data: z.array(z.literal(['read', 'write', '*'])).optional(),\n});\n\nexport type ContextPermissionsGrant = z.infer<typeof contextPermissionsGrantSchema>;\n\nexport const globalPermissionsGrantSchema = contextPermissionsGrantSchema.extend({\n feedback: z.array(z.literal('write')).optional(),\n\n llm: z.array(z.union([z.literal('*'), resourceIdPermissionSchema])).optional(),\n embeddings: z.array(z.union([z.literal('*'), resourceIdPermissionSchema])).optional(),\n model_providers: z.array(z.literal(['read', 'write', '*'])).optional(),\n\n a2a_proxy: z.array(z.literal('*')).optional(),\n\n providers: z.array(z.literal(['read', 'write', '*'])).optional(),\n provider_variables: z.array(z.literal(['read', 'write', '*'])).optional(),\n\n contexts: z.array(z.literal(['read', 'write', '*'])).optional(),\n\n mcp_providers: z.array(z.literal(['read', 'write', '*'])).optional(),\n mcp_tools: z.array(z.literal(['read', '*'])).optional(),\n mcp_proxy: z.array(z.literal('*')).optional(),\n\n connectors: z.array(z.literal(['read', 'write', 'proxy', '*'])).optional(),\n});\n\nexport type GlobalPermissionsGrant = z.infer<typeof globalPermissionsGrantSchema>;\n\nexport enum ConnectorState {\n Created = 'created',\n AuthRequired = 'auth_required',\n Connected = 'connected',\n Disconnected = 'disconnected',\n}\n\nexport const connectorSchema = z.object({\n id: z.string(),\n url: z.string(),\n state: z.enum(ConnectorState),\n auth_request: z\n .object({\n type: z.literal('code'),\n authorization_endpoint: z.string(),\n })\n .nullable(),\n disconnect_reason: z.string().nullable(),\n metadata: z.record(z.string(), z.string()).nullable(),\n});\n\nexport type Connector = z.infer<typeof connectorSchema>;\n\nexport const listConnectorsResponseSchema = paginatedResultSchema.extend({\n items: z.array(connectorSchema),\n});\n\nexport type ListConnectorsResponse = z.infer<typeof listConnectorsResponseSchema>;\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nconst baseField = z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n required: z.boolean(),\n col_span: z.int().min(1).max(4).nullish(),\n});\n\nconst textField = baseField.extend({\n type: z.literal('text'),\n placeholder: z.string().nullish(),\n default_value: z.string().nullish(),\n auto_resize: z.boolean().default(true).nullish(),\n});\n\nexport const textFieldValue = z.object({\n type: textField.shape.type,\n value: z.string().nullish(),\n});\n\nconst dateField = baseField.extend({\n type: z.literal('date'),\n placeholder: z.string().nullish(),\n default_value: z.string().nullish(),\n});\n\nexport const dateFieldValue = z.object({\n type: dateField.shape.type,\n value: z.string().nullish(),\n});\n\nconst fileField = baseField.extend({\n type: z.literal('file'),\n accept: z.array(z.string()),\n});\n\nexport const fileFieldValue = z.object({\n type: fileField.shape.type,\n value: z\n .array(\n z.object({\n uri: z.string(),\n name: z.string().nullish(),\n mime_type: z.string().nullish(),\n }),\n )\n .nullish(),\n});\n\nexport const singleSelectField = baseField.extend({\n type: z.literal('singleselect'),\n options: z\n .array(\n z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n }),\n )\n .nonempty(),\n default_value: z.string().nullish(),\n});\n\nexport const singleSelectFieldValue = z.object({\n type: singleSelectField.shape.type,\n value: z.string().nullish(),\n});\n\nexport const multiSelectField = baseField.extend({\n type: z.literal('multiselect'),\n options: z\n .array(\n z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n }),\n )\n .nonempty(),\n default_value: z.array(z.string()).nullish(),\n});\n\nexport const multiSelectFieldValue = z.object({\n type: multiSelectField.shape.type,\n value: z.array(z.string()).nullish(),\n});\n\nexport const checkboxField = baseField.extend({\n type: z.literal('checkbox'),\n content: z.string(),\n default_value: z.boolean(),\n});\n\nexport const checkboxFieldValue = z.object({\n type: checkboxField.shape.type,\n value: z.boolean().nullish(),\n});\n\nconst fieldSchema = z.discriminatedUnion('type', [\n textField,\n dateField,\n fileField,\n singleSelectField,\n multiSelectField,\n checkboxField,\n]);\n\nexport const formRenderSchema = z.object({\n title: z.string().nullish(),\n description: z.string().nullish(),\n columns: z.int().min(1).max(4).nullish(),\n submit_label: z.string().nullish(),\n fields: z.array(fieldSchema).nonempty(),\n});\n\nexport const formResponseSchema = z.object({\n values: z.record(\n z.string(),\n z.discriminatedUnion('type', [\n textFieldValue,\n dateFieldValue,\n fileFieldValue,\n singleSelectFieldValue,\n multiSelectFieldValue,\n checkboxFieldValue,\n ]),\n ),\n});\n\nexport type FormRender = z.infer<typeof formRenderSchema>;\n\nexport type TextField = z.infer<typeof textField>;\nexport type DateField = z.infer<typeof dateField>;\nexport type FileField = z.infer<typeof fileField>;\nexport type SingleSelectField = z.infer<typeof singleSelectField>;\nexport type MultiSelectField = z.infer<typeof multiSelectField>;\nexport type CheckboxField = z.infer<typeof checkboxField>;\n\nexport type FormField = z.infer<typeof fieldSchema>;\nexport type FormResponseValue = z.infer<typeof formResponseSchema>['values'][string];\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/embedding/v1';\n\nconst embeddingDemandSchema = z.object({\n description: z.string().nullish(),\n suggested: z.array(z.string()).nullish(),\n});\n\nconst embeddingDemandsSchema = z.object({\n embedding_demands: z.record(z.string(), embeddingDemandSchema),\n});\nexport type EmbeddingDemands = z.infer<typeof embeddingDemandsSchema>;\n\nconst embeddingFulfillmentsSchema = z.object({\n embedding_fulfillments: z.record(\n z.string(),\n z.object({\n identifier: z.string().nullish(),\n api_base: z.string(),\n api_key: z.string(),\n api_model: z.string(),\n }),\n ),\n});\nexport type EmbeddingFulfillments = z.infer<typeof embeddingFulfillmentsSchema>;\n\nexport const embeddingExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof embeddingDemandsSchema>,\n EmbeddingFulfillments\n> = {\n getUri: () => URI,\n getDemandsSchema: () => embeddingDemandsSchema,\n getFulfillmentSchema: () => embeddingFulfillmentsSchema,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport { formRenderSchema, formResponseSchema } from '../common/form';\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/form/v1';\n\nconst formDemandSchema = z.object({\n form_demands: z\n .object({\n initial_form: formRenderSchema,\n })\n .partial(),\n});\nexport type FormDemands = z.infer<typeof formDemandSchema>;\n\nconst formFulfillmentSchema = z.object({\n form_fulfillments: z.record(z.string(), formResponseSchema),\n});\nexport type FormFulfillments = z.infer<typeof formFulfillmentSchema>;\n\nexport const formExtension: A2AServiceExtension<typeof URI, FormDemands, FormFulfillments> = {\n getDemandsSchema: () => formDemandSchema,\n getFulfillmentSchema: () => formFulfillmentSchema,\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/llm/v1';\n\nconst llmDemandSchema = z.object({\n description: z.string().nullish(),\n suggested: z.array(z.string()).nullish(),\n});\n\nconst llmDemandsSchema = z.object({\n llm_demands: z.record(z.string(), llmDemandSchema),\n});\nexport type LLMDemands = z.infer<typeof llmDemandsSchema>;\n\nconst llmFulfillmentSchema = z.object({\n llm_fulfillments: z.record(\n z.string(),\n z.object({\n identifier: z.string().nullish(),\n api_base: z.string(),\n api_key: z.string(),\n api_model: z.string(),\n }),\n ),\n});\nexport type LLMFulfillments = z.infer<typeof llmFulfillmentSchema>;\n\nexport const llmExtension: A2AServiceExtension<typeof URI, z.infer<typeof llmDemandsSchema>, LLMFulfillments> = {\n getUri: () => URI,\n getDemandsSchema: () => llmDemandsSchema,\n getFulfillmentSchema: () => llmFulfillmentSchema,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/mcp/v1';\n\nconst mcpTransportTypesEnum = z.enum(['streamable_http', 'stdio']);\ntype MCPTransportType = z.infer<typeof mcpTransportTypesEnum>;\n\nconst mcpDemandSchema = z.object({\n description: z.string().nullish(),\n suggested: z.array(z.string()).nullish(),\n allowed_transports: z.array(mcpTransportTypesEnum).nullish(),\n});\n\nconst mcpDemandsSchema = z.object({\n mcp_demands: z.record(z.string(), mcpDemandSchema),\n});\nexport type MCPDemands = z.infer<typeof mcpDemandsSchema>;\n\nconst mcpFulfillmentSchema = z.object({\n mcp_fulfillments: z.record(\n z.string(),\n z.object({\n transport: z.object({\n type: mcpTransportTypesEnum,\n url: z.string(),\n headers: z.record(z.string(), z.string()).optional(),\n }),\n }),\n ),\n});\nexport type MCPFulfillments = z.infer<typeof mcpFulfillmentSchema>;\n\nexport const mcpExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof mcpDemandsSchema>,\n {\n mcp_fulfillments: Record<\n string,\n {\n transport: {\n type: MCPTransportType;\n url: string;\n headers?: Record<string, string>;\n };\n }\n >;\n }\n> = {\n getUri: () => URI,\n getDemandsSchema: () => mcpDemandsSchema,\n getFulfillmentSchema: () => mcpFulfillmentSchema,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1';\n\nconst oauthDemandSchema = z.object({\n redirect_uri: z.boolean(),\n});\n\nconst oauthDemandsSchema = z.object({\n oauth_demands: z.record(z.string(), oauthDemandSchema),\n});\nexport type OAuthDemands = z.infer<typeof oauthDemandsSchema>;\n\nconst oauthFulfillmentSchema = z.object({\n oauth_fulfillments: z.record(\n z.string(),\n z.object({\n redirect_uri: z.string(),\n }),\n ),\n});\nexport type OAuthFulfillments = z.infer<typeof oauthFulfillmentSchema>;\n\nexport const oauthProviderExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof oauthDemandsSchema>,\n {\n oauth_fulfillments: Record<\n string,\n {\n redirect_uri: string;\n }\n >;\n }\n> = {\n getUri: () => URI,\n getDemandsSchema: () => oauthDemandsSchema,\n getFulfillmentSchema: () => oauthFulfillmentSchema,\n};\n\nexport const oauthMessageSchema = z.object({\n data: z.object({\n redirect_uri: z.string(),\n }),\n});\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ContextToken } from '../../../api/types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/services/platform_api/v1';\n\nconst getMetadata = (contextToken: ContextToken) => {\n return {\n auth_token: contextToken.token,\n expires_at: contextToken.expires_at,\n };\n};\n\nexport const platformApiExtension = (metadata: Record<string, unknown>, contextToken: ContextToken) => {\n return {\n ...metadata,\n [URI]: getMetadata(contextToken),\n };\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension, A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/auth/secrets/v1';\n\nconst secretDemandSchema = z.object({\n name: z.string(),\n description: z.string().nullish(),\n});\nexport type SecretDemand = z.infer<typeof secretDemandSchema>;\n\nconst secretDemandsSchema = z.object({\n secret_demands: z.record(z.string(), secretDemandSchema),\n});\nexport type SecretDemands = z.infer<typeof secretDemandsSchema>;\n\nconst secretFulfillmentSchema = z.object({\n secret_fulfillments: z.record(\n z.string(),\n z.object({\n secret: z.string(),\n }),\n ),\n});\nexport type SecretFulfillments = z.infer<typeof secretFulfillmentSchema>;\n\nexport const secretsExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof secretDemandsSchema>,\n SecretFulfillments\n> = {\n getUri: () => URI,\n getDemandsSchema: () => secretDemandsSchema,\n getFulfillmentSchema: () => secretFulfillmentSchema,\n};\n\nexport const secretsMessageExtension: A2AUiExtension<typeof URI, SecretDemands> = {\n getMessageMetadataSchema: () => z.object({ [URI]: secretDemandsSchema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/auth/oauth/v1';\n\nconst schema = z.object({\n authorization_endpoint_url: z.string(),\n});\n\nexport type OAuthRequest = z.infer<typeof schema>;\n\nexport const oauthRequestExtension: A2AUiExtension<typeof URI, OAuthRequest> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AServiceExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/settings/v1';\n\nconst checkboxField = z.object({\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n default_value: z.boolean(),\n});\n\nconst checkboxGroupField = z.object({\n id: z.string().nonempty(),\n type: z.literal('checkbox_group'),\n fields: z.array(checkboxField),\n});\n\nconst optionItem = z.object({\n label: z.string().nonempty(),\n value: z.string().nonempty(),\n});\n\nconst singleSelectField = z.object({\n type: z.literal('single_select'),\n id: z.string().nonempty(),\n label: z.string().nonempty(),\n options: z.array(optionItem).nonempty(),\n default_value: z.string().nonempty(),\n});\n\nconst settingsRenderSchema = z.object({\n fields: z.array(z.discriminatedUnion('type', [checkboxGroupField, singleSelectField])),\n});\n\nconst checkboxFieldValue = z.object({\n value: z.boolean(),\n});\n\nconst checkboxGroupFieldValue = z.object({\n type: z.literal('checkbox_group'),\n values: z.record(z.string(), checkboxFieldValue),\n});\n\nconst singleSelectFieldValue = z.object({\n type: z.literal('single_select'),\n value: z.string(),\n});\n\nconst settingsFieldValue = z.discriminatedUnion('type', [checkboxGroupFieldValue, singleSelectFieldValue]);\n\nexport const agentSettings = z.record(z.string(), settingsFieldValue);\nexport type AgentSettings = z.infer<typeof agentSettings>;\n\nconst agentRunSettingsSchema = z.object({\n values: agentSettings,\n});\n\nexport type SettingsCheckboxField = z.infer<typeof checkboxField>;\nexport type SettingsCheckboxGroupField = z.infer<typeof checkboxGroupField>;\nexport type SettingsOptionItem = z.infer<typeof optionItem>;\nexport type SettingsSingleSelectField = z.infer<typeof singleSelectField>;\nexport type SettingsCheckboxFieldValue = z.infer<typeof checkboxFieldValue>;\nexport type SettingsCheckboxGroupFieldValue = z.infer<typeof checkboxGroupFieldValue>;\nexport type SettingsSingleSelectFieldValue = z.infer<typeof singleSelectFieldValue>;\nexport type SettingsFieldValue = z.infer<typeof settingsFieldValue>;\n\nexport type SettingsDemands = z.infer<typeof settingsRenderSchema>;\nexport type SettingsFulfillments = z.infer<typeof agentRunSettingsSchema>;\n\nexport const settingsExtension: A2AServiceExtension<\n typeof URI,\n z.infer<typeof settingsRenderSchema>,\n SettingsFulfillments\n> = {\n getDemandsSchema: () => settingsRenderSchema,\n getFulfillmentSchema: () => agentRunSettingsSchema,\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentExtension } from '@a2a-js/sdk';\n\nimport type { A2AServiceExtension, A2AUiExtension } from './types';\n\nexport function extractUiExtensionData<U extends string, D>(extension: A2AUiExtension<U, D>) {\n const schema = extension.getMessageMetadataSchema();\n const uri = extension.getUri();\n\n return function (metadata: Record<string, unknown> | undefined) {\n const { success, data: parsed, error } = schema.safeParse(metadata ?? {});\n\n if (!success) {\n console.warn(error);\n }\n\n if (!success) {\n return null;\n }\n\n return parsed[uri];\n };\n}\n\nexport function extractServiceExtensionDemands<U extends string, D, F>(extension: A2AServiceExtension<U, D, F>) {\n const schema = extension.getDemandsSchema();\n const uri = extension.getUri();\n\n return function (agentExtensions: AgentExtension[]) {\n const foundExtension = agentExtensions.find((agentExtension) => agentExtension.uri === uri);\n if (!foundExtension?.params) {\n return null;\n }\n const { success, data: parsed, error } = schema.safeParse(foundExtension.params);\n\n if (!success) {\n console.warn(error);\n\n return null;\n }\n\n return parsed;\n };\n}\n\nexport function fulfillServiceExtensionDemand<U extends string, D, F>(extension: A2AServiceExtension<U, D, F>) {\n const schema = extension.getFulfillmentSchema();\n const uri = extension.getUri();\n\n return function (metadata: Record<string, unknown>, fulfillment: F) {\n const { success, data: parsed, error } = schema.safeParse(fulfillment);\n\n if (!success) {\n console.warn(error);\n }\n\n return {\n ...metadata,\n [uri]: success ? parsed : {},\n };\n };\n}\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentCapabilities } from '@a2a-js/sdk';\n\nimport type { ContextToken } from '../../api/types';\nimport type { EmbeddingDemands, EmbeddingFulfillments } from './services/embedding';\nimport { embeddingExtension } from './services/embedding';\nimport type { FormDemands, FormFulfillments } from './services/form';\nimport { formExtension } from './services/form';\nimport type { LLMDemands, LLMFulfillments } from './services/llm';\nimport { llmExtension } from './services/llm';\nimport type { MCPDemands, MCPFulfillments } from './services/mcp';\nimport { mcpExtension } from './services/mcp';\nimport type { OAuthDemands, OAuthFulfillments } from './services/oauth-provider';\nimport { oauthProviderExtension } from './services/oauth-provider';\nimport { platformApiExtension } from './services/platform';\nimport type { SecretDemands, SecretFulfillments } from './services/secrets';\nimport { secretsExtension } from './services/secrets';\nimport { oauthRequestExtension } from './ui/oauth';\nimport type { SettingsDemands, SettingsFulfillments } from './ui/settings';\nimport { settingsExtension } from './ui/settings';\nimport { extractServiceExtensionDemands, fulfillServiceExtensionDemand } from './utils';\n\nexport interface Fulfillments {\n llm: (demand: LLMDemands) => Promise<LLMFulfillments>;\n embedding: (demand: EmbeddingDemands) => Promise<EmbeddingFulfillments>;\n mcp: (demand: MCPDemands) => Promise<MCPFulfillments>;\n oauth: (demand: OAuthDemands) => Promise<OAuthFulfillments>;\n settings: (demand: SettingsDemands) => Promise<SettingsFulfillments>;\n secrets: (demand: SecretDemands) => Promise<SecretFulfillments>;\n form: (demand: FormDemands) => Promise<FormFulfillments>;\n oauthRedirectUri: () => string | null;\n getContextToken: () => ContextToken;\n}\n\nconst mcpExtensionExtractor = extractServiceExtensionDemands(mcpExtension);\nconst llmExtensionExtractor = extractServiceExtensionDemands(llmExtension);\nconst embeddingExtensionExtractor = extractServiceExtensionDemands(embeddingExtension);\nconst oauthExtensionExtractor = extractServiceExtensionDemands(oauthProviderExtension);\nconst settingsExtensionExtractor = extractServiceExtensionDemands(settingsExtension);\nconst secretExtensionExtractor = extractServiceExtensionDemands(secretsExtension);\nconst formExtensionExtractor = extractServiceExtensionDemands(formExtension);\n\nconst fulfillMcpDemand = fulfillServiceExtensionDemand(mcpExtension);\nconst fulfillLlmDemand = fulfillServiceExtensionDemand(llmExtension);\nconst fulfillEmbeddingDemand = fulfillServiceExtensionDemand(embeddingExtension);\nconst fulfillOAuthDemand = fulfillServiceExtensionDemand(oauthProviderExtension);\nconst fulfillSettingsDemand = fulfillServiceExtensionDemand(settingsExtension);\nconst fulfillSecretDemand = fulfillServiceExtensionDemand(secretsExtension);\nconst fulfillFormDemand = fulfillServiceExtensionDemand(formExtension);\n\nexport const handleAgentCard = (agentCard: { capabilities: AgentCapabilities }) => {\n const extensions = agentCard.capabilities.extensions ?? [];\n\n const llmDemands = llmExtensionExtractor(extensions);\n const embeddingDemands = embeddingExtensionExtractor(extensions);\n const mcpDemands = mcpExtensionExtractor(extensions);\n const oauthDemands = oauthExtensionExtractor(extensions);\n const settingsDemands = settingsExtensionExtractor(extensions);\n const secretDemands = secretExtensionExtractor(extensions);\n const formDemands = formExtensionExtractor(extensions);\n\n const resolveMetadata = async (fulfillments: Fulfillments) => {\n let fulfilledMetadata: Record<string, unknown> = {};\n\n fulfilledMetadata = platformApiExtension(fulfilledMetadata, fulfillments.getContextToken());\n\n if (llmDemands) {\n fulfilledMetadata = fulfillLlmDemand(fulfilledMetadata, await fulfillments.llm(llmDemands));\n }\n\n if (embeddingDemands) {\n fulfilledMetadata = fulfillEmbeddingDemand(fulfilledMetadata, await fulfillments.embedding(embeddingDemands));\n }\n\n if (mcpDemands) {\n fulfilledMetadata = fulfillMcpDemand(fulfilledMetadata, await fulfillments.mcp(mcpDemands));\n }\n\n if (oauthDemands) {\n fulfilledMetadata = fulfillOAuthDemand(fulfilledMetadata, await fulfillments.oauth(oauthDemands));\n }\n\n if (settingsDemands) {\n fulfilledMetadata = fulfillSettingsDemand(fulfilledMetadata, await fulfillments.settings(settingsDemands));\n }\n\n if (secretDemands) {\n fulfilledMetadata = fulfillSecretDemand(fulfilledMetadata, await fulfillments.secrets(secretDemands));\n }\n\n if (formDemands) {\n fulfilledMetadata = fulfillFormDemand(fulfilledMetadata, await fulfillments.form(formDemands));\n }\n\n const oauthRedirectUri = fulfillments.oauthRedirectUri();\n if (oauthRedirectUri) {\n fulfilledMetadata = {\n ...fulfilledMetadata,\n [oauthRequestExtension.getUri()]: {\n redirect_uri: oauthRedirectUri,\n },\n };\n }\n\n return fulfilledMetadata;\n };\n\n return {\n resolveMetadata,\n demands: {\n llmDemands,\n embeddingDemands,\n mcpDemands,\n oauthDemands,\n settingsDemands,\n secretDemands,\n formDemands,\n },\n };\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { TaskStatusUpdateEvent } from '@a2a-js/sdk';\n\nimport type { FormRender } from './common/form';\nimport type { SecretDemands } from './services/secrets';\nimport { secretsMessageExtension } from './services/secrets';\nimport { FormRequestExtension } from './ui/form-request';\nimport { oauthRequestExtension } from './ui/oauth';\nimport { extractUiExtensionData } from './utils';\n\nconst secretsMessageExtensionExtractor = extractUiExtensionData(secretsMessageExtension);\nconst oauthRequestExtensionExtractor = extractUiExtensionData(oauthRequestExtension);\nconst FormRequestExtensionExtractor = extractUiExtensionData(FormRequestExtension);\n\nexport enum TaskStatusUpdateType {\n SecretRequired = 'secret-required',\n FormRequired = 'form-required',\n OAuthRequired = 'oauth-required',\n}\n\nexport interface SecretRequiredResult {\n type: TaskStatusUpdateType.SecretRequired;\n demands: SecretDemands;\n}\n\nexport interface FormRequiredResult {\n type: TaskStatusUpdateType.FormRequired;\n form: FormRender;\n}\n\nexport interface OAuthRequiredResult {\n type: TaskStatusUpdateType.OAuthRequired;\n url: string;\n}\n\nexport type TaskStatusUpdateResult = SecretRequiredResult | FormRequiredResult | OAuthRequiredResult;\n\nexport const handleTaskStatusUpdate = (event: TaskStatusUpdateEvent): TaskStatusUpdateResult[] => {\n const results: TaskStatusUpdateResult[] = [];\n\n if (event.status.state === 'auth-required') {\n const secretRequired = secretsMessageExtensionExtractor(event.status.message?.metadata);\n const oauthRequired = oauthRequestExtensionExtractor(event.status.message?.metadata);\n\n if (oauthRequired) {\n results.push({\n type: TaskStatusUpdateType.OAuthRequired,\n url: oauthRequired.authorization_endpoint_url,\n });\n }\n\n if (secretRequired) {\n results.push({\n type: TaskStatusUpdateType.SecretRequired,\n demands: secretRequired,\n });\n }\n } else if (event.status.state === 'input-required') {\n const formRequired = FormRequestExtensionExtractor(event.status.message?.metadata);\n\n if (formRequired) {\n results.push({\n type: TaskStatusUpdateType.FormRequired,\n form: formRequired,\n });\n }\n }\n\n return results;\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport { formRenderSchema } from '../common/form';\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/form_request/v1';\n\nexport type FormRequest = z.infer<typeof formRenderSchema>;\n\nexport const FormRequestExtension: A2AUiExtension<typeof URI, FormRequest> = {\n getMessageMetadataSchema: () => z.object({ [URI]: formRenderSchema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { z } from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/canvas/v1';\n\nconst schema = z.object({\n start_index: z.int(),\n end_index: z.int(),\n description: z.string().nullish(),\n artifact_id: z.string(),\n});\n\nexport type CanvasEditRequest = z.infer<typeof schema>;\n\nexport const CanvasExtension: A2AUiExtension<typeof URI, CanvasEditRequest> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nexport const interactionModeSchema = z.enum(['single-turn', 'multi-turn']);\nexport type InteractionMode = z.infer<typeof interactionModeSchema>;\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport { interactionModeSchema } from '../../../../types';\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/agent-detail/v1';\n\nconst contributorSchema = z.object({\n name: z.string(),\n email: z.string().nullish(),\n url: z.string().nullish(),\n});\n\nconst toolSchema = z.object({\n name: z.string(),\n description: z.string(),\n});\n\nconst schema = z.object({\n interaction_mode: z.union([interactionModeSchema, z.string()]).nullish(),\n user_greeting: z.string().nullish(),\n input_placeholder: z.string().nullish(),\n tools: z.array(toolSchema).nullish(),\n framework: z.string().nullish(),\n license: z.string().nullish(),\n programming_language: z.string().nullish(),\n homepage_url: z.string().nullish(),\n source_code_url: z.string().nullish(),\n container_image_url: z.string().nullish(),\n author: contributorSchema.nullish(),\n contributors: z.array(contributorSchema).nullish(),\n});\n\nexport type AgentDetailTool = z.infer<typeof toolSchema>;\nexport type AgentDetailContributor = z.infer<typeof contributorSchema>;\nexport type AgentDetail = z.infer<typeof schema>;\n\nexport const agentDetailExtension: A2AUiExtension<typeof URI, AgentDetail> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/citation/v1';\n\nconst citationSchema = z.object({\n url: z.string().nullish(),\n start_index: z.number().nullish(),\n end_index: z.number().nullish(),\n title: z.string().nullish(),\n description: z.string().nullish(),\n});\n\nconst schema = z.object({\n citations: z.array(citationSchema),\n});\n\nexport type CitationMetadata = z.infer<typeof schema>;\nexport type Citation = z.infer<typeof citationSchema>;\n\nexport const citationExtension: A2AUiExtension<typeof URI, CitationMetadata> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/error/v1';\n\nconst errorSchema = z.object({\n title: z.string(),\n message: z.string(),\n});\n\nconst errorGroupSchema = z.object({\n message: z.string(),\n errors: z.array(errorSchema),\n});\n\nconst schema = z.object({\n error: z.union([errorSchema, errorGroupSchema]),\n context: z.record(z.string(), z.unknown()).nullish(),\n stack_trace: z.string().nullish(),\n});\n\nexport type ErrorMetadata = z.infer<typeof schema>;\n\nexport const errorExtension: A2AUiExtension<typeof URI, ErrorMetadata> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport z from 'zod';\n\nimport type { A2AUiExtension } from '../types';\n\nconst URI = 'https://a2a-extensions.agentstack.beeai.dev/ui/trajectory/v1';\n\nconst schema = z.object({\n title: z.string().nullish(),\n content: z.string().nullish(),\n group_id: z.string().nullish(),\n});\n\nexport type TrajectoryMetadata = z.infer<typeof schema>;\n\nexport const trajectoryExtension: A2AUiExtension<typeof URI, TrajectoryMetadata> = {\n getMessageMetadataSchema: () => z.object({ [URI]: schema }).partial(),\n getUri: () => URI,\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { z } from 'zod';\n\nimport type { ContextPermissionsGrant, GlobalPermissionsGrant, ModelCapability } from './types';\nimport { contextSchema, contextTokenSchema, listConnectorsResponseSchema, modelProviderMatchSchema } from './types';\n\nexport interface MatchProvidersParams {\n suggestedModels: string[] | null;\n capability: ModelCapability;\n scoreCutoff: number;\n}\n\nexport interface CreateContextTokenParams {\n contextId: string;\n globalPermissions: GlobalPermissionsGrant;\n contextPermissions: ContextPermissionsGrant;\n}\n\nexport const buildApiClient = (\n {\n baseUrl,\n fetch: customFetchImpl,\n }: {\n baseUrl: string;\n fetch?: typeof globalThis.fetch;\n } = { baseUrl: '' },\n) => {\n const maybeFetchFn = customFetchImpl ?? (typeof globalThis.fetch !== 'undefined' ? globalThis.fetch : undefined);\n\n if (!maybeFetchFn) {\n throw new Error(\n 'fetch is not available. In Node.js < 18 or environments without global fetch, ' +\n 'provide a fetch implementation via the fetch option.',\n );\n }\n\n const fetchFn = maybeFetchFn;\n\n async function callApi<T>(\n method: 'POST' | 'GET',\n url: string,\n data: Record<string, unknown> | null,\n resultSchema: z.ZodSchema<T>,\n ) {\n let requestUrl = `${baseUrl}${url}`;\n const options: RequestInit = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n\n if (method === 'GET' && data) {\n const params = new URLSearchParams();\n Object.entries(data).forEach(([key, value]) => {\n if (value !== null && value !== undefined) {\n params.append(key, String(value));\n }\n });\n requestUrl = `${requestUrl}?${params.toString()}`;\n } else if (method === 'POST' && data) {\n options.body = JSON.stringify(data);\n }\n\n const response = await fetchFn(requestUrl, options);\n if (!response.ok) {\n throw new Error(`Failed to call Agent Stackk API - ${url}`);\n }\n\n const json = await response.json();\n return resultSchema.parse(json);\n }\n\n const createContext = async (providerId: string) =>\n await callApi('POST', '/api/v1/contexts', { metadata: {}, provider_id: providerId }, contextSchema);\n\n const createContextToken = async ({ contextId, globalPermissions, contextPermissions }: CreateContextTokenParams) => {\n const token = await callApi(\n 'POST',\n `/api/v1/contexts/${contextId}/token`,\n {\n grant_global_permissions: globalPermissions,\n grant_context_permissions: contextPermissions,\n },\n contextTokenSchema,\n );\n\n return { token, contextId };\n };\n\n const matchProviders = async ({ suggestedModels, capability, scoreCutoff }: MatchProvidersParams) => {\n return await callApi(\n 'POST',\n '/api/v1/model_providers/match',\n {\n capability,\n score_cutoff: scoreCutoff,\n suggested_models: suggestedModels,\n },\n modelProviderMatchSchema,\n );\n };\n\n const listConnectors = async () => {\n return await callApi('GET', '/api/v1/connectors', null, listConnectorsResponseSchema);\n };\n\n return { createContextToken, createContext, matchProviders, listConnectors };\n};\n\nexport type AgentstackClient = ReturnType<typeof buildApiClient>;\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentstackClient } from '../../../api/build-api-client';\nimport type { ContextToken } from '../../../api/types';\nimport { ModelCapability } from '../../../api/types';\nimport type { LLMDemands, LLMFulfillments } from '../services/llm';\n\nconst DEFAULT_SCORE_CUTOFF = 0.4;\n\nexport const buildLLMExtensionFulfillmentResolver = (api: AgentstackClient, token: ContextToken) => {\n return async ({ llm_demands }: LLMDemands): Promise<LLMFulfillments> => {\n const allDemands = Object.keys(llm_demands);\n const fulfillmentPromises = allDemands.map(async (demandKey) => {\n const demand = llm_demands[demandKey];\n const resolvedModels = await api.matchProviders({\n suggestedModels: demand.suggested ?? [],\n capability: ModelCapability.Llm,\n scoreCutoff: DEFAULT_SCORE_CUTOFF,\n });\n\n if (resolvedModels.items.length === 0) {\n throw new Error(`No models found for demand ${demandKey}. Demand details: ${JSON.stringify(demand)}`);\n }\n\n return [\n demandKey,\n {\n identifier: 'llm_proxy',\n // {platform_url} is replaced by the server SDK to the platform URL\n api_base: '{platform_url}/api/v1/openai/',\n api_key: token.token,\n api_model: resolvedModels.items[0].model_id,\n },\n ] as const;\n });\n\n const fulfilledEntries = await Promise.all(fulfillmentPromises);\n return { llm_fulfillments: Object.fromEntries(fulfilledEntries) };\n };\n};\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AgentCapabilities, Message } from '@a2a-js/sdk';\n\nimport type { Fulfillments } from '../handle-agent-card';\nimport { handleAgentCard } from '../handle-agent-card';\n\nexport const buildMessageBuilder =\n (agent: { capabilities: AgentCapabilities }) =>\n async (\n contextId: string,\n fulfillments: Fulfillments,\n originalMessage: Pick<Message, 'parts' | 'messageId'>,\n ): Promise<Message> => {\n const { resolveMetadata } = handleAgentCard(agent);\n const metadata = await resolveMetadata(fulfillments);\n\n return {\n ...originalMessage,\n contextId,\n kind: 'message',\n role: 'user',\n metadata,\n } as const;\n };\n","/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { FormResponseValue } from './common/form';\nimport { type CanvasEditRequest, CanvasExtension } from './ui/canvas';\nimport { FormRequestExtension } from './ui/form-request';\n\nexport type UserMetadataInputs = Partial<{\n form: Record<string, FormResponseValue>;\n canvasEditRequest: CanvasEditRequest;\n}>;\n\nexport const resolveUserMetadata = async (inputs: UserMetadataInputs) => {\n const metadata: Record<string, unknown> = {};\n\n const { form, canvasEditRequest } = inputs;\n\n if (form) {\n metadata[FormRequestExtension.getUri()] = {\n values: form,\n };\n }\n if (canvasEditRequest) {\n metadata[CanvasExtension.getUri()] = canvasEditRequest;\n }\n\n return metadata;\n};\n"],"names":["ModelCapability","baseField","z","object","id","string","nonempty","label","required","col_span","min","max","nullish","textField","extend","type","literal","placeholder","default_value","auto_resize","textFieldValue","shape","value","dateField","dateFieldValue","fileField","accept","array","fileFieldValue","uri","name","mime_type","singleSelectField","options","singleSelectFieldValue","multiSelectField","multiSelectFieldValue","checkboxField","content","checkboxFieldValue","fieldSchema","discriminatedUnion","formRenderSchema","title","description","columns","submit_label","fields","formResponseSchema","values","record","contextSchema","created_at","updated_at","last_active_at","created_by","provider_id","nullable","metadata","unknown","contextTokenSchema","token","expires_at","ConnectorState","paginatedResultSchema","items","total_count","number","has_more","next_page_token","modelProviderMatchSchema","model_id","score","resourceIdPermissionSchema","contextPermissionsGrantSchema","files","optional","vector_stores","context_data","globalPermissionsGrantSchema","feedback","llm","union","embeddings","model_providers","a2a_proxy","providers","provider_variables","contexts","mcp_providers","mcp_tools","mcp_proxy","connectors","connectorSchema","url","state","auth_request","authorization_endpoint","disconnect_reason","listConnectorsResponseSchema","embeddingDemandSchema","suggested","embeddingDemandsSchema","embedding_demands","embeddingFulfillmentsSchema","embedding_fulfillments","identifier","api_base","api_key","api_model","embeddingExtension","getUri","getDemandsSchema","getFulfillmentSchema","formDemandSchema","form_demands","initial_form","partial","formFulfillmentSchema","form_fulfillments","formExtension","llmDemandSchema","llmDemandsSchema","llm_demands","llmFulfillmentSchema","llm_fulfillments","llmExtension","mcpTransportTypesEnum","mcpDemandSchema","allowed_transports","mcpDemandsSchema","mcp_demands","mcpFulfillmentSchema","mcp_fulfillments","transport","headers","mcpExtension","oauthDemandSchema","redirect_uri","oauthDemandsSchema","oauth_demands","oauthFulfillmentSchema","oauth_fulfillments","oauthProviderExtension","oauthMessageSchema","data","platformApiExtension","contextToken","_extends2","_extends","auth_token","getMetadata","URI","secretDemandSchema","secretDemandsSchema","secret_demands","secretFulfillmentSchema","secret_fulfillments","secret","secretsExtension","secretsMessageExtension","getMessageMetadataSchema","_z$object","schema","authorization_endpoint_url","oauthRequestExtension","checkboxGroupField","optionItem","settingsRenderSchema","checkboxGroupFieldValue","settingsFieldValue","agentSettings","agentRunSettingsSchema","settingsExtension","extractUiExtensionData","extension","_schema$safeParse","safeParse","success","parsed","console","warn","error","extractServiceExtensionDemands","agentExtensions","foundExtension","find","agentExtension","params","_schema$safeParse2","fulfillServiceExtensionDemand","fulfillment","_schema$safeParse3","TaskStatusUpdateType","mcpExtensionExtractor","llmExtensionExtractor","embeddingExtensionExtractor","oauthExtensionExtractor","settingsExtensionExtractor","secretExtensionExtractor","formExtensionExtractor","fulfillMcpDemand","fulfillLlmDemand","fulfillEmbeddingDemand","fulfillOAuthDemand","fulfillSettingsDemand","fulfillSecretDemand","fulfillFormDemand","handleAgentCard","agentCard","_agentCard$capabiliti","extensions","capabilities","llmDemands","embeddingDemands","mcpDemands","oauthDemands","settingsDemands","secretDemands","formDemands","resolveMetadata","fulfillments","_temp12","_temp10","_temp0","_temp8","_temp6","_temp4","_temp2","oauthRedirectUri","fulfilledMetadata","_temp","_fulfilledMetadata7","Promise","resolve","form","then","_fulfillments$form","_temp3","_fulfilledMetadata6","secrets","_fulfillments$secrets","_temp5","_fulfilledMetadata5","settings","_fulfillments$setting","_temp7","_fulfilledMetadata4","oauth","_fulfillments$oauth","_temp9","_fulfilledMetadata3","mcp","_fulfillments$mcp","_temp1","_fulfilledMetadata2","embedding","_fulfillments$embeddi","getContextToken","_temp11","_fulfilledMetadata","_fulfillments$llm","e","reject","demands","FormRequestExtension","secretsMessageExtensionExtractor","oauthRequestExtensionExtractor","FormRequestExtensionExtractor","start_index","end_index","artifact_id","CanvasExtension","interactionModeSchema","contributorSchema","email","toolSchema","interaction_mode","user_greeting","input_placeholder","tools","framework","license","programming_language","homepage_url","source_code_url","container_image_url","author","contributors","agentDetailExtension","citationSchema","citations","citationExtension","errorSchema","message","errorGroupSchema","errors","context","stack_trace","errorExtension","group_id","trajectoryExtension","callApi","method","resultSchema","requestUrl","baseUrl","URLSearchParams","Object","entries","forEach","_ref4","append","String","toString","body","JSON","stringify","fetchFn","response","ok","Error","json","parse","_ref","customFetchImpl","fetch","maybeFetchFn","globalThis","undefined","createContextToken","_ref2","contextId","globalPermissions","contextPermissions","grant_global_permissions","grant_context_permissions","createContext","providerId","matchProviders","_ref3","suggestedModels","capability","scoreCutoff","score_cutoff","suggested_models","listConnectors","api","fulfillmentPromises","keys","map","demandKey","_demand$suggested","demand","Llm","resolvedModels","length","all","fulfilledEntries","fromEntries","agent","originalMessage","_handleAgentCard","kind","role","event","results","status","_event$status$message","_event$status$message2","secretRequired","oauthRequired","push","OAuthRequired","SecretRequired","_event$status$message3","formRequired","FormRequired","inputs","canvasEditRequest"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,8 +5,8 @@
5
5
  export * from './client/a2a/extensions/common/form';
6
6
  export * from './client/a2a/extensions/fulfillment-resolvers/build-llm-extension-fulfillment-resolver';
7
7
  export { type Fulfillments, handleAgentCard } from './client/a2a/extensions/handle-agent-card';
8
- export { handleInputRequired, type InputRequiredResponses } from './client/a2a/extensions/handle-input-required';
9
8
  export { handleTaskStatusUpdate, type TaskStatusUpdateResult, TaskStatusUpdateType, } from './client/a2a/extensions/handle-task-status-update';
9
+ export { resolveUserMetadata, type UserMetadataInputs } from './client/a2a/extensions/resolve-user-metadata';
10
10
  export * from './client/a2a/extensions/services/embedding';
11
11
  export * from './client/a2a/extensions/services/form';
12
12
  export * from './client/a2a/extensions/services/llm';
@@ -16,6 +16,7 @@ export * from './client/a2a/extensions/services/platform';
16
16
  export * from './client/a2a/extensions/services/secrets';
17
17
  export * from './client/a2a/extensions/types';
18
18
  export * from './client/a2a/extensions/ui/agent-detail';
19
+ export * from './client/a2a/extensions/ui/canvas';
19
20
  export * from './client/a2a/extensions/ui/citation';
20
21
  export * from './client/a2a/extensions/ui/error';
21
22
  export * from './client/a2a/extensions/ui/form-request';