@agentium/transport 3.1.0 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/a2a/a2a-server.d.ts +9 -0
  2. package/dist/a2a/a2a-server.d.ts.map +1 -0
  3. package/dist/a2a/agent-card.d.ts +17 -0
  4. package/dist/a2a/agent-card.d.ts.map +1 -0
  5. package/dist/a2a/types.d.ts +11 -0
  6. package/dist/a2a/types.d.ts.map +1 -0
  7. package/dist/express/admin-router.d.ts +36 -0
  8. package/dist/express/admin-router.d.ts.map +1 -0
  9. package/dist/express/file-upload.d.ts +9 -0
  10. package/dist/express/file-upload.d.ts.map +1 -0
  11. package/dist/express/gateway.d.ts +16 -0
  12. package/dist/express/gateway.d.ts.map +1 -0
  13. package/dist/express/jwt-middleware.d.ts +10 -0
  14. package/dist/express/jwt-middleware.d.ts.map +1 -0
  15. package/dist/express/mcp-manager.d.ts +52 -0
  16. package/dist/express/mcp-manager.d.ts.map +1 -0
  17. package/dist/express/middleware.d.ts +7 -0
  18. package/dist/express/middleware.d.ts.map +1 -0
  19. package/dist/express/rbac-middleware.d.ts +7 -0
  20. package/dist/express/rbac-middleware.d.ts.map +1 -0
  21. package/dist/express/router-factory.d.ts +3 -0
  22. package/dist/express/router-factory.d.ts.map +1 -0
  23. package/dist/express/swagger.d.ts +30 -0
  24. package/dist/express/swagger.d.ts.map +1 -0
  25. package/dist/express/types.d.ts +91 -0
  26. package/dist/express/types.d.ts.map +1 -0
  27. package/dist/express/ui-stream.d.ts +78 -0
  28. package/dist/express/ui-stream.d.ts.map +1 -0
  29. package/dist/index.d.ts +32 -523
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/socketio/browser-gateway.d.ts +62 -0
  32. package/dist/socketio/browser-gateway.d.ts.map +1 -0
  33. package/dist/socketio/gateway.d.ts +3 -0
  34. package/dist/socketio/gateway.d.ts.map +1 -0
  35. package/dist/socketio/handlers.d.ts +2 -0
  36. package/dist/socketio/handlers.d.ts.map +1 -0
  37. package/dist/socketio/types.d.ts +33 -0
  38. package/dist/socketio/types.d.ts.map +1 -0
  39. package/dist/socketio/vision-gateway.d.ts +9 -0
  40. package/dist/socketio/vision-gateway.d.ts.map +1 -0
  41. package/dist/socketio/voice-gateway.d.ts +9 -0
  42. package/dist/socketio/voice-gateway.d.ts.map +1 -0
  43. package/dist/sse-event-log.d.ts +54 -0
  44. package/dist/sse-event-log.d.ts.map +1 -0
  45. package/package.json +4 -4
  46. package/dist/index.d.cts +0 -523
@@ -0,0 +1,9 @@
1
+ import type { A2AServerOptions } from "./types.js";
2
+ /**
3
+ * Mount an A2A-compliant server on an Express app.
4
+ *
5
+ * - Serves `/.well-known/agent.json` with the Agent Card
6
+ * - Handles JSON-RPC 2.0 requests at the basePath for message/send, message/stream, tasks/get, tasks/cancel
7
+ */
8
+ export declare function createA2AServer(app: any, opts: A2AServerOptions): void;
9
+ //# sourceMappingURL=a2a-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-server.d.ts","sourceRoot":"","sources":["../../src/a2a/a2a-server.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA4EnD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAuCtE"}
@@ -0,0 +1,17 @@
1
+ import type { A2AAgentCard, Agent } from "@agentium/core";
2
+ /**
3
+ * Generate an A2A Agent Card from a Agentium Agent.
4
+ * The card is served at /.well-known/agent.json per the A2A spec.
5
+ */
6
+ export declare function generateAgentCard(agent: Agent, serverUrl: string, provider?: {
7
+ organization: string;
8
+ url?: string;
9
+ }, version?: string): A2AAgentCard;
10
+ /**
11
+ * Generate a combined Agent Card that lists multiple agents as skills.
12
+ */
13
+ export declare function generateMultiAgentCard(agents: Record<string, Agent>, serverUrl: string, provider?: {
14
+ organization: string;
15
+ url?: string;
16
+ }, version?: string): A2AAgentCard;
17
+ //# sourceMappingURL=agent-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-card.d.ts","sourceRoot":"","sources":["../../src/a2a/agent-card.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAY,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEpE;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAkCd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EACjD,OAAO,CAAC,EAAE,MAAM,GACf,YAAY,CAwBd"}
@@ -0,0 +1,11 @@
1
+ import type { Agent } from "@agentium/core";
2
+ export interface A2AServerOptions {
3
+ agents: Record<string, Agent>;
4
+ basePath?: string;
5
+ provider?: {
6
+ organization: string;
7
+ url?: string;
8
+ };
9
+ version?: string;
10
+ }
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/a2a/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,36 @@
1
+ import { MCPManager } from "./mcp-manager.js";
2
+ export interface AdminRouterOptions {
3
+ /** Shared MCPManager instance. If omitted, a new one is created. */
4
+ mcpManager?: MCPManager;
5
+ /**
6
+ * Express middleware for authentication/authorization.
7
+ * **IMPORTANT**: These endpoints can add MCP servers and execute tools.
8
+ * Always add auth middleware in production.
9
+ */
10
+ middleware?: any[];
11
+ }
12
+ /**
13
+ * Creates an Express sub-router with admin endpoints for managing
14
+ * MCP servers and the toolkit catalog at runtime.
15
+ *
16
+ * Mount under a prefix: `app.use("/admin", createAdminRouter())`
17
+ *
18
+ * Routes:
19
+ * GET /mcp — list MCP servers
20
+ * POST /mcp — add + connect an MCP server
21
+ * GET /mcp/:id — single server details
22
+ * POST /mcp/:id/connect — connect a server
23
+ * POST /mcp/:id/disconnect — disconnect
24
+ * DELETE /mcp/:id — remove a server
25
+ * GET /mcp/:id/tools — tools from a specific server
26
+ * GET /mcp/tools — all tools across connected servers
27
+ *
28
+ * GET /toolkits — list toolkit catalog
29
+ * GET /toolkits/:id — single toolkit meta
30
+ * POST /toolkits/:id — instantiate a toolkit with config
31
+ */
32
+ export declare function createAdminRouter(opts?: AdminRouterOptions): {
33
+ router: any;
34
+ mcpManager: MCPManager;
35
+ };
36
+ //# sourceMappingURL=admin-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-router.d.ts","sourceRoot":"","sources":["../../src/express/admin-router.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,kBAAkB;;;EA6J1D"}
@@ -0,0 +1,9 @@
1
+ export interface FileUploadOptions {
2
+ maxFileSize?: number;
3
+ maxFiles?: number;
4
+ allowedMimeTypes?: string[];
5
+ }
6
+ export declare function createFileUploadMiddleware(opts?: FileUploadOptions): any;
7
+ export declare function filesToContentParts(files: any[]): any[];
8
+ export declare function buildMultiModalInput(body: any, files?: any[]): string | any[];
9
+ //# sourceMappingURL=file-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.d.ts","sourceRoot":"","sources":["../../src/express/file-upload.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAgB,0BAA0B,CAAC,IAAI,GAAE,iBAAsB,OA2BtE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAcvD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,GAAG,EAAE,CAY7E"}
@@ -0,0 +1,16 @@
1
+ import type { RouterOptions } from "./types.js";
2
+ export interface RemoteEndpoint {
3
+ baseUrl: string;
4
+ agents?: string[];
5
+ teams?: string[];
6
+ workflows?: string[];
7
+ headers?: Record<string, string>;
8
+ healthPath?: string;
9
+ }
10
+ export interface GatewayConfig {
11
+ locals?: RouterOptions;
12
+ remotes: RemoteEndpoint[];
13
+ healthCheckIntervalMs?: number;
14
+ }
15
+ export declare function createGatewayRouter(config: GatewayConfig): any;
16
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/express/gateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,OAwHxD"}
@@ -0,0 +1,10 @@
1
+ export interface JwtConfig {
2
+ secret: string;
3
+ algorithm?: string;
4
+ issuer?: string;
5
+ audience?: string;
6
+ extractFrom?: "header" | "cookie";
7
+ cookieName?: string;
8
+ }
9
+ export declare function createJwtMiddleware(config: JwtConfig): (req: any, res: any, next: any) => any;
10
+ //# sourceMappingURL=jwt-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-middleware.d.ts","sourceRoot":"","sources":["../../src/express/jwt-middleware.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,IAW3C,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,SAgCtC"}
@@ -0,0 +1,52 @@
1
+ import type { MCPToolProviderConfig, ToolDef } from "@agentium/core";
2
+ import { MCPToolProvider } from "@agentium/core";
3
+ export interface MCPServerEntry {
4
+ id: string;
5
+ config: MCPToolProviderConfig;
6
+ provider: MCPToolProvider;
7
+ status: "disconnected" | "connecting" | "connected" | "error";
8
+ error?: string;
9
+ toolCount: number;
10
+ connectedAt?: Date;
11
+ }
12
+ export interface MCPServerSummary {
13
+ id: string;
14
+ name: string;
15
+ transport: string;
16
+ url?: string;
17
+ command?: string;
18
+ status: string;
19
+ toolCount: number;
20
+ error?: string;
21
+ connectedAt?: string;
22
+ }
23
+ /**
24
+ * Manages multiple MCP server connections at runtime.
25
+ * Servers can be added/removed/connected/disconnected dynamically,
26
+ * and their tools can be collected for injection into agents.
27
+ */
28
+ export declare class MCPManager {
29
+ private servers;
30
+ /** Add a server config. Auto-generates an id from the name if not provided. */
31
+ add(config: MCPToolProviderConfig, id?: string): MCPServerSummary;
32
+ /** Connect a server by id. Discovers tools on success. */
33
+ connect(id: string): Promise<MCPServerSummary>;
34
+ /** Disconnect a server by id. */
35
+ disconnect(id: string): Promise<MCPServerSummary>;
36
+ /** Remove a server entirely. Disconnects first if connected. */
37
+ remove(id: string): Promise<void>;
38
+ /** Get all tools from all connected servers, merged into one array. */
39
+ getAllTools(): Promise<ToolDef[]>;
40
+ /** Get tools from a specific server. */
41
+ getTools(id: string): Promise<ToolDef[]>;
42
+ /** List all registered servers. */
43
+ list(): MCPServerSummary[];
44
+ /** Get a single server summary. */
45
+ get(id: string): MCPServerSummary;
46
+ has(id: string): boolean;
47
+ /** Disconnect all servers. */
48
+ closeAll(): Promise<void>;
49
+ private getEntry;
50
+ private summarize;
51
+ }
52
+ //# sourceMappingURL=mcp-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-manager.d.ts","sourceRoot":"","sources":["../../src/express/mcp-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,qBAAqB,CAAC;IAC9B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAqC;IAEpD,+EAA+E;IAC/E,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAkBjE,0DAA0D;IACpD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBpD,iCAAiC;IAC3B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAavD,gEAAgE;IAC1D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvC,uEAAuE;IACjE,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAevC,wCAAwC;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQ9C,mCAAmC;IACnC,IAAI,IAAI,gBAAgB,EAAE;IAI1B,mCAAmC;IACnC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB;IAIjC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,8BAA8B;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;CAalB"}
@@ -0,0 +1,7 @@
1
+ export declare function errorHandler(options?: {
2
+ logger?: Pick<Console, "error">;
3
+ }): (err: any, _req: any, res: any, _next: any) => void;
4
+ export declare function requestLogger(options?: {
5
+ logger?: Pick<Console, "log">;
6
+ }): (req: any, _res: any, next: any) => void;
7
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/express/middleware.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;CAAE,IAEhE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,OAAO,GAAG,UAQlD;AAED,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;CAAE,IAE/D,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,UAKvC"}
@@ -0,0 +1,7 @@
1
+ export interface RbacConfig {
2
+ scopeField?: string;
3
+ defaultScopes?: Record<string, string[]>;
4
+ agentScopes?: Record<string, string[]>;
5
+ }
6
+ export declare function createRbacMiddleware(config?: RbacConfig): (req: any, res: any, next: any) => any;
7
+ //# sourceMappingURL=rbac-middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbac-middleware.d.ts","sourceRoot":"","sources":["../../src/express/rbac-middleware.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACxC;AAqBD,wBAAgB,oBAAoB,CAAC,MAAM,GAAE,UAAe,IAIlD,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,SA4CtC"}
@@ -0,0 +1,3 @@
1
+ import type { RouterOptions } from "./types.js";
2
+ export declare function createAgentRouter(opts: RouterOptions): any;
3
+ //# sourceMappingURL=router-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-factory.d.ts","sourceRoot":"","sources":["../../src/express/router-factory.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2GhD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,OAmmBpD"}
@@ -0,0 +1,30 @@
1
+ import type { RouterOptions, SwaggerOptions } from "./types.js";
2
+ interface OpenAPISpec {
3
+ openapi: string;
4
+ info: {
5
+ title: string;
6
+ description: string;
7
+ version: string;
8
+ };
9
+ servers?: Array<{
10
+ url: string;
11
+ description?: string;
12
+ }>;
13
+ paths: Record<string, Record<string, unknown>>;
14
+ components: {
15
+ schemas: Record<string, unknown>;
16
+ securitySchemes?: Record<string, unknown>;
17
+ };
18
+ security?: Array<Record<string, string[]>>;
19
+ tags: Array<{
20
+ name: string;
21
+ description: string;
22
+ }>;
23
+ }
24
+ export declare function generateOpenAPISpec(routerOpts: RouterOptions, swaggerOpts?: SwaggerOptions): OpenAPISpec;
25
+ export declare function serveSwaggerUI(spec: OpenAPISpec): {
26
+ setup: any;
27
+ serve: any;
28
+ };
29
+ export {};
30
+ //# sourceMappingURL=swagger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../../src/express/swagger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAehE,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AA+KD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,GAAE,cAAmB,GAAG,WAAW,CAoV5G;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW;;;EAe/C"}
@@ -0,0 +1,91 @@
1
+ import type { Agent, Registry, Servable, ServableAgent, Team, ToolDef, Toolkit, Workflow } from "@agentium/core";
2
+ import type { FileUploadOptions } from "./file-upload.js";
3
+ import type { MCPManager } from "./mcp-manager.js";
4
+ export interface SwaggerOptions {
5
+ /** Enable Swagger UI at /docs. Default: false */
6
+ enabled?: boolean;
7
+ /** API title shown in Swagger UI */
8
+ title?: string;
9
+ /** API description shown in Swagger UI */
10
+ description?: string;
11
+ /** API version string */
12
+ version?: string;
13
+ /** Route prefix used in path generation (e.g. "/api") */
14
+ routePrefix?: string;
15
+ /** Server URLs for the spec */
16
+ servers?: Array<{
17
+ url: string;
18
+ description?: string;
19
+ }>;
20
+ /** Path to serve Swagger UI. Default: "/docs" */
21
+ docsPath?: string;
22
+ /** Path to serve the raw OpenAPI JSON spec. Default: "/docs/spec.json" */
23
+ specPath?: string;
24
+ }
25
+ export interface RouterOptions {
26
+ /**
27
+ * Use a Registry for live auto-discovery. The router creates dynamic routes
28
+ * that resolve agents/teams/workflows at request time — any instance created
29
+ * after the router is mounted is automatically available.
30
+ *
31
+ * When omitted, falls back to the global registry from `@agentium/core`.
32
+ * Pass `false` to disable registry-based routing entirely (use explicit maps only).
33
+ *
34
+ * @example
35
+ * createAgentRouter({ cors: true });
36
+ * new Agent({ name: "bot", model: openai("gpt-4o") }); // immediately routable
37
+ */
38
+ registry?: Registry | false;
39
+ /**
40
+ * Auto-discover agents, teams, and workflows from a mixed array.
41
+ * Each item is classified by its `.kind` and keyed by `.name`.
42
+ */
43
+ serve?: Servable[];
44
+ agents?: Record<string, Agent | ServableAgent>;
45
+ teams?: Record<string, Team>;
46
+ workflows?: Record<string, Workflow<any>>;
47
+ middleware?: any[];
48
+ /** Swagger / OpenAPI configuration */
49
+ swagger?: SwaggerOptions;
50
+ /** File upload configuration for multi-modal inputs */
51
+ fileUpload?: boolean | FileUploadOptions;
52
+ /** CORS configuration. Pass true or '*' for permissive, a string for a single origin, or an array for multiple origins. */
53
+ cors?: string | string[] | boolean;
54
+ /** Rate limiting configuration. Pass true for defaults (100 req/min), or an object to customize. */
55
+ rateLimit?: {
56
+ windowMs?: number;
57
+ max?: number;
58
+ } | boolean;
59
+ /** Named tool library exposed via GET /tools. Tools from toolkits are auto-collected. */
60
+ toolLibrary?: Record<string, ToolDef>;
61
+ /** Toolkit instances whose tools are exposed via GET /tools. Merged with toolLibrary. */
62
+ toolkits?: Toolkit[];
63
+ /**
64
+ * Enable admin routes under `/admin` for managing MCP servers and the toolkit catalog.
65
+ * Pass `true` to use defaults, or provide an MCPManager instance to share state.
66
+ */
67
+ admin?: boolean | {
68
+ mcpManager?: MCPManager;
69
+ middleware?: any[];
70
+ };
71
+ /**
72
+ * Enable schedule management routes under `/schedules`.
73
+ * Pass an AgentQueue instance from `@agentium/queue`.
74
+ */
75
+ scheduler?: any;
76
+ /**
77
+ * MetricsExporter instance from `@agentium/observability` for `/metrics` endpoints.
78
+ */
79
+ metricsExporter?: any;
80
+ /**
81
+ * JWT authentication middleware. Verifies tokens and attaches decoded payload to `req.user`.
82
+ * Requires `jsonwebtoken` package.
83
+ */
84
+ jwt?: import("./jwt-middleware.js").JwtConfig;
85
+ /**
86
+ * Role-based access control. Checks `req.user.scopes` against required scopes per route.
87
+ * Requires `jwt` to be configured first.
88
+ */
89
+ rbac?: import("./rbac-middleware.js").RbacConfig;
90
+ }
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/express/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,aAAa,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,uDAAuD;IACvD,UAAU,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAAC;IACzC,2HAA2H;IAC3H,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,oGAAoG;IACpG,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;IAC1D,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG;QAAE,UAAU,CAAC,EAAE,UAAU,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAClE;;;OAGG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB;;OAEG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,qBAAqB,EAAE,SAAS,CAAC;IAC9C;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,sBAAsB,EAAE,UAAU,CAAC;CAClD"}
@@ -0,0 +1,78 @@
1
+ import type { Agent } from "@agentium/core";
2
+ /**
3
+ * Vercel AI SDK UI Message Stream adapter.
4
+ *
5
+ * Converts the chunks emitted by `agent.stream(...)` into the line-delimited
6
+ * JSON protocol consumed by Vercel's `useChat` / `createAgentUIStreamResponse`.
7
+ *
8
+ * Spec: https://ai-sdk.dev/docs/ai-sdk-ui/stream-protocol
9
+ */
10
+ export interface AgentUIStreamOptions {
11
+ /** sessionId forwarded to `agent.run` / `agent.stream`. */
12
+ sessionId?: string;
13
+ /** userId forwarded to `agent.run` / `agent.stream`. */
14
+ userId?: string;
15
+ /** Optional per-request API key override. */
16
+ apiKey?: string;
17
+ /** Optional abort signal to cancel the run. */
18
+ signal?: AbortSignal;
19
+ }
20
+ interface AgentLikeChunk {
21
+ type?: string;
22
+ text?: string;
23
+ delta?: string;
24
+ toolCallId?: string;
25
+ toolName?: string;
26
+ arguments?: unknown;
27
+ args?: unknown;
28
+ input?: unknown;
29
+ output?: unknown;
30
+ result?: unknown;
31
+ finishReason?: string;
32
+ usage?: {
33
+ promptTokens?: number;
34
+ completionTokens?: number;
35
+ totalTokens?: number;
36
+ };
37
+ error?: string | {
38
+ message?: string;
39
+ };
40
+ reasoning?: string;
41
+ thinking?: string;
42
+ }
43
+ interface AgentLike {
44
+ stream(input: string, opts?: {
45
+ sessionId?: string;
46
+ userId?: string;
47
+ apiKey?: string;
48
+ signal?: AbortSignal;
49
+ }): AsyncIterable<AgentLikeChunk>;
50
+ }
51
+ /**
52
+ * Render an `agent.stream()` source as a Vercel-compatible UI message stream.
53
+ *
54
+ * The returned `ReadableStream<Uint8Array>` can be wrapped in a `Response`
55
+ * (web / edge / fetch) or piped to a Node `ServerResponse`.
56
+ */
57
+ export declare function agentUIStream(agent: Agent | AgentLike, input: string, options?: AgentUIStreamOptions): ReadableStream<Uint8Array>;
58
+ /**
59
+ * Create a `Response` whose body streams Vercel UI messages. Use as the return
60
+ * value of a Web / Edge / Next.js Route Handler.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * import { createAgentUIStreamResponse } from "@agentium/transport";
65
+ *
66
+ * export async function POST(req: Request) {
67
+ * const { input, sessionId } = await req.json();
68
+ * return createAgentUIStreamResponse(agent, input, { sessionId });
69
+ * }
70
+ * ```
71
+ */
72
+ export declare function createAgentUIStreamResponse(agent: Agent | AgentLike, input: string, options?: AgentUIStreamOptions): Response;
73
+ /**
74
+ * Pipe a Vercel UI message stream into a Node `ServerResponse` (Express style).
75
+ */
76
+ export declare function pipeAgentUIStreamToResponse(agent: Agent | AgentLike, input: string, res: any, options?: AgentUIStreamOptions): Promise<void>;
77
+ export {};
78
+ //# sourceMappingURL=ui-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-stream.d.ts","sourceRoot":"","sources":["../../src/express/ui-stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AAEH,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACpF,aAAa,CAAC,cAAc,CAAC,CAAC;CAClC;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,oBAAyB,GACjC,cAAc,CAAC,UAAU,CAAC,CAuG5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,oBAAyB,GACjC,QAAQ,CAUV;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,GAAG,EACR,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkBf"}