@voltagent/server-core 1.0.24 → 1.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +16 -2
- package/dist/index.d.ts +16 -2
- package/dist/index.js +307 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +301 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -2,7 +2,7 @@ import { H as HttpMethod, A as ApiResponse, a as A2AServerLikeWithHandlers } fro
|
|
|
2
2
|
export { P as A2AErrorCode, y as A2AJsonRpcId, F as A2ARequestContext, t as A2A_ROUTES, o as AGENT_ROUTES, q as ALL_ROUTES, N as AgentCard, K as AgentCardCapabilities, I as AgentCardProviderInfo, G as AgentCardSkill, an as AppSetupConfig, ar as DEFAULT_CORS_OPTIONS, E as ErrorResponse, J as JsonRpcError, C as JsonRpcHandlerResult, D as JsonRpcRequest, z as JsonRpcResponse, B as JsonRpcStream, L as LOG_ROUTES, ab as LogFilterOptions, ac as LogHandlerResponse, s as MCP_ROUTES, f as MemoryConversationMessagesResult, g as MemoryConversationStepsResult, e as MemoryConversationSummary, l as MemoryGetMessagesQuery, m as MemoryGetStepsQuery, k as MemoryListConversationsQuery, j as MemoryListUsersQuery, d as MemoryUserAgentSummary, M as MemoryUserSummary, h as MemoryWorkingMemoryResult, p as OBSERVABILITY_MEMORY_ROUTES, O as OBSERVABILITY_ROUTES, am as OpenApiInfo, R as ResponseDefinition, n as RouteDefinition, b as StreamResponse, S as SuccessResponse, U as UPDATE_ROUTES, V as VoltA2AError, W as WORKFLOW_ROUTES, x as executeA2ARequest, r as getAllRoutesArray, ag as getConversationMessagesHandler, ah as getConversationStepsHandler, aq as getOpenApiDoc, ao as getOrCreateLogger, al as getResponseStatus, u as getRoutesByTag, ai as getWorkingMemoryHandler, a8 as handleCancelWorkflow, _ as handleChatStream, a5 as handleExecuteWorkflow, $ as handleGenerateObject, Y as handleGenerateText, a1 as handleGetAgent, a2 as handleGetAgentHistory, X as handleGetAgents, ad as handleGetLogs, a4 as handleGetWorkflow, aa as handleGetWorkflowState, a3 as handleGetWorkflows, a9 as handleResumeWorkflow, a0 as handleStreamObject, Z as handleStreamText, a6 as handleStreamWorkflow, a7 as handleSuspendWorkflow, i as isErrorResponse, T as isJsonRpcRequest, c as isSuccessResponse, af as listMemoryConversationsHandler, ae as listMemoryUsersHandler, ak as mapHandlerResponse, aj as mapLogResponse, Q as normalizeError, v as parseJsonRpcRequest, w as resolveAgentCard, ap as shouldEnableSwaggerUI } from './edge-CtOnFGMl.mjs';
|
|
3
3
|
import { LogFilter, Logger } from '@voltagent/internal';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { MCPServerRegistry, A2AServerRegistry, ServerProviderDeps, IServerProvider } from '@voltagent/core';
|
|
5
|
+
import { MCPServerRegistry, A2AServerRegistry, ServerProviderDeps, RegisteredTrigger, IServerProvider } from '@voltagent/core';
|
|
6
6
|
import { Tool, CallToolResult, Prompt, GetPromptRequest, GetPromptResult, Resource, ResourceContents, ResourceTemplate } from '@modelcontextprotocol/sdk/types.js';
|
|
7
7
|
export { CallToolResult, GetPromptRequest, GetPromptResult, Prompt, Resource, ResourceContents, ResourceTemplate } from '@modelcontextprotocol/sdk/types.js';
|
|
8
8
|
import { MCPServerLike as MCPServerLike$1, MCPServerDeps, MCPServerMetadata as MCPServerMetadata$1 } from '@voltagent/internal/mcp';
|
|
@@ -31,6 +31,7 @@ interface ServerEndpointSummary {
|
|
|
31
31
|
method: string;
|
|
32
32
|
description?: string;
|
|
33
33
|
group?: string;
|
|
34
|
+
name?: string;
|
|
34
35
|
}
|
|
35
36
|
interface ServerStartupOptions {
|
|
36
37
|
enableSwaggerUI?: boolean;
|
|
@@ -1702,6 +1703,19 @@ declare function getLogsBySpanIdHandler(spanId: string, deps: ServerProviderDeps
|
|
|
1702
1703
|
*/
|
|
1703
1704
|
declare function queryLogsHandler(query: any, deps: ServerProviderDeps): Promise<any>;
|
|
1704
1705
|
|
|
1706
|
+
interface TriggerHttpRequestContext {
|
|
1707
|
+
body: unknown;
|
|
1708
|
+
headers: Record<string, string>;
|
|
1709
|
+
query?: Record<string, string | string[]>;
|
|
1710
|
+
raw?: unknown;
|
|
1711
|
+
}
|
|
1712
|
+
interface TriggerHandlerHttpResponse {
|
|
1713
|
+
status: number;
|
|
1714
|
+
body?: unknown;
|
|
1715
|
+
headers?: Record<string, string>;
|
|
1716
|
+
}
|
|
1717
|
+
declare function executeTriggerHandler(registration: RegisteredTrigger, request: TriggerHttpRequestContext, deps: ServerProviderDeps, logger: Logger): Promise<TriggerHandlerHttpResponse>;
|
|
1718
|
+
|
|
1705
1719
|
declare function setupObservabilityHandler(body: {
|
|
1706
1720
|
publicKey?: string;
|
|
1707
1721
|
secretKey?: string;
|
|
@@ -2267,4 +2281,4 @@ declare abstract class BaseServerProvider implements IServerProvider {
|
|
|
2267
2281
|
private collectFeatureEndpoints;
|
|
2268
2282
|
}
|
|
2269
2283
|
|
|
2270
|
-
export { A2AServerLikeWithHandlers, type A2AServerLookupResult, AgentListSchema, AgentParamsSchema, AgentResponseSchema, ApiResponse, type AuthProvider, type BaseCustomEndpointDefinition, type BaseServerConfig, BaseServerProvider, BasicJsonSchema, type CapabilityRecord, CustomEndpointError, type CustomEndpointHandler, DEFAULT_A2A_ROUTE_PREFIX, DEFAULT_A2A_WELL_KNOWN_PREFIX, DEFAULT_MCP_HTTP_SEGMENT, DEFAULT_MCP_MESSAGES_SEGMENT, DEFAULT_MCP_ROUTE_PREFIX, DEFAULT_MCP_SSE_SEGMENT, DEFAULT_PUBLIC_ROUTES, ErrorSchema, type FilterContext, GenerateOptionsSchema, HttpMethod, type IWebSocket, type JWTAuthOptions, type LogStreamClient, LogStreamManager, type MCPAgentMetadata, type MCPListedTool, type MCPServerCapabilitiesConfig, type MCPServerLike, type MCPServerMetadata, type MCPServerPackageInfo, type MCPServerRemoteInfo, type MCPToolMetadata, type MCPToolOrigin, type MCPWorkflowSummary, MCP_SESSION_QUERY_PARAM, type McpInvokeToolRequest, type McpInvokeToolResponse, type McpPromptDetailResponse, type McpPromptListResponse, type McpResourceDetailResponse, type McpResourceListResponse, type McpResourceTemplateListResponse, type McpRouteOptions, type McpRoutePaths, type McpServerDetailResponse, type McpServerListResponse, type McpServerLookupResult, McpSessionStore, type McpSetLogLevelRequest, type McpSetLogLevelResponse, type McpToolListResponse, ObjectRequestSchema, ObjectResponseSchema, PROTECTED_ROUTES, ParamsSchema, type PortConfig, type ProcessedAgentOptions, type ProtocolConfig, type ProtocolRecord, type ServerEndpointSummary, type ServerProviderConfig, type ServerStartupOptions, StreamObjectEventSchema, StreamTextEventSchema, SubAgentResponseSchema, TextRequestSchema, TextResponseSchema, type WebSocketAdapter, type WebSocketConnectionHandler, type WebSocketConnectionInfo, type WebSocketEventHandlers, type WebSocketMessage, WebSocketRouter, WorkflowCancelRequestSchema, WorkflowCancelResponseSchema, WorkflowExecutionParamsSchema, WorkflowExecutionRequestSchema, WorkflowExecutionResponseSchema, WorkflowListSchema, WorkflowParamsSchema, WorkflowResponseSchema, WorkflowResumeRequestSchema, WorkflowResumeResponseSchema, WorkflowStreamEventSchema, WorkflowSuspendRequestSchema, WorkflowSuspendResponseSchema, buildA2AEndpointPath, buildAgentCardPath, buildMcpRoutePaths, cleanupWebSockets, closeAllObservabilityConnections, colors, createAuthErrorResponse, createJWT, createSSEHeaders, createSSEResponse, createSSEStream, createUserContext, createWebSocketRouter, createWebSocketServer, extractBearerToken, extractToken, formatSSE, getLandingPageHTML, getLogsBySpanIdHandler, getLogsByTraceIdHandler, getObservabilityStatusHandler, getPortsToTry, getSpanByIdHandler, getTraceByIdHandler, getTracesHandler, handleCheckUpdates, handleGetMcpPrompt, handleGetMcpResource, handleGetMcpServer, handleInstallUpdates, handleInvokeMcpServerTool, handleListMcpPrompts, handleListMcpResourceTemplates, handleListMcpResources, handleListMcpServerTools, handleListMcpServers, handleObservabilityConnection, handleSetMcpLogLevel, handleWebSocketConnection, injectUserIntoBody, jwtAuth, listA2AServers, listMcpServers, lookupA2AServer, lookupMcpServer, pathMatches, portManager, preferredPorts, printServerStartup, processAgentOptions, processWorkflowOptions, queryLogsHandler, requiresAuth, setupObservabilityHandler, setupObservabilityListeners, setupWebSocketUpgrade, transformToSSE, validateBaseCustomEndpoint, validateEndpointMethod, validateEndpointPath };
|
|
2284
|
+
export { A2AServerLikeWithHandlers, type A2AServerLookupResult, AgentListSchema, AgentParamsSchema, AgentResponseSchema, ApiResponse, type AuthProvider, type BaseCustomEndpointDefinition, type BaseServerConfig, BaseServerProvider, BasicJsonSchema, type CapabilityRecord, CustomEndpointError, type CustomEndpointHandler, DEFAULT_A2A_ROUTE_PREFIX, DEFAULT_A2A_WELL_KNOWN_PREFIX, DEFAULT_MCP_HTTP_SEGMENT, DEFAULT_MCP_MESSAGES_SEGMENT, DEFAULT_MCP_ROUTE_PREFIX, DEFAULT_MCP_SSE_SEGMENT, DEFAULT_PUBLIC_ROUTES, ErrorSchema, type FilterContext, GenerateOptionsSchema, HttpMethod, type IWebSocket, type JWTAuthOptions, type LogStreamClient, LogStreamManager, type MCPAgentMetadata, type MCPListedTool, type MCPServerCapabilitiesConfig, type MCPServerLike, type MCPServerMetadata, type MCPServerPackageInfo, type MCPServerRemoteInfo, type MCPToolMetadata, type MCPToolOrigin, type MCPWorkflowSummary, MCP_SESSION_QUERY_PARAM, type McpInvokeToolRequest, type McpInvokeToolResponse, type McpPromptDetailResponse, type McpPromptListResponse, type McpResourceDetailResponse, type McpResourceListResponse, type McpResourceTemplateListResponse, type McpRouteOptions, type McpRoutePaths, type McpServerDetailResponse, type McpServerListResponse, type McpServerLookupResult, McpSessionStore, type McpSetLogLevelRequest, type McpSetLogLevelResponse, type McpToolListResponse, ObjectRequestSchema, ObjectResponseSchema, PROTECTED_ROUTES, ParamsSchema, type PortConfig, type ProcessedAgentOptions, type ProtocolConfig, type ProtocolRecord, type ServerEndpointSummary, type ServerProviderConfig, type ServerStartupOptions, StreamObjectEventSchema, StreamTextEventSchema, SubAgentResponseSchema, TextRequestSchema, TextResponseSchema, type TriggerHandlerHttpResponse, type TriggerHttpRequestContext, type WebSocketAdapter, type WebSocketConnectionHandler, type WebSocketConnectionInfo, type WebSocketEventHandlers, type WebSocketMessage, WebSocketRouter, WorkflowCancelRequestSchema, WorkflowCancelResponseSchema, WorkflowExecutionParamsSchema, WorkflowExecutionRequestSchema, WorkflowExecutionResponseSchema, WorkflowListSchema, WorkflowParamsSchema, WorkflowResponseSchema, WorkflowResumeRequestSchema, WorkflowResumeResponseSchema, WorkflowStreamEventSchema, WorkflowSuspendRequestSchema, WorkflowSuspendResponseSchema, buildA2AEndpointPath, buildAgentCardPath, buildMcpRoutePaths, cleanupWebSockets, closeAllObservabilityConnections, colors, createAuthErrorResponse, createJWT, createSSEHeaders, createSSEResponse, createSSEStream, createUserContext, createWebSocketRouter, createWebSocketServer, executeTriggerHandler, extractBearerToken, extractToken, formatSSE, getLandingPageHTML, getLogsBySpanIdHandler, getLogsByTraceIdHandler, getObservabilityStatusHandler, getPortsToTry, getSpanByIdHandler, getTraceByIdHandler, getTracesHandler, handleCheckUpdates, handleGetMcpPrompt, handleGetMcpResource, handleGetMcpServer, handleInstallUpdates, handleInvokeMcpServerTool, handleListMcpPrompts, handleListMcpResourceTemplates, handleListMcpResources, handleListMcpServerTools, handleListMcpServers, handleObservabilityConnection, handleSetMcpLogLevel, handleWebSocketConnection, injectUserIntoBody, jwtAuth, listA2AServers, listMcpServers, lookupA2AServer, lookupMcpServer, pathMatches, portManager, preferredPorts, printServerStartup, processAgentOptions, processWorkflowOptions, queryLogsHandler, requiresAuth, setupObservabilityHandler, setupObservabilityListeners, setupWebSocketUpgrade, transformToSSE, validateBaseCustomEndpoint, validateEndpointMethod, validateEndpointPath };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { H as HttpMethod, A as ApiResponse, a as A2AServerLikeWithHandlers } fro
|
|
|
2
2
|
export { P as A2AErrorCode, y as A2AJsonRpcId, F as A2ARequestContext, t as A2A_ROUTES, o as AGENT_ROUTES, q as ALL_ROUTES, N as AgentCard, K as AgentCardCapabilities, I as AgentCardProviderInfo, G as AgentCardSkill, an as AppSetupConfig, ar as DEFAULT_CORS_OPTIONS, E as ErrorResponse, J as JsonRpcError, C as JsonRpcHandlerResult, D as JsonRpcRequest, z as JsonRpcResponse, B as JsonRpcStream, L as LOG_ROUTES, ab as LogFilterOptions, ac as LogHandlerResponse, s as MCP_ROUTES, f as MemoryConversationMessagesResult, g as MemoryConversationStepsResult, e as MemoryConversationSummary, l as MemoryGetMessagesQuery, m as MemoryGetStepsQuery, k as MemoryListConversationsQuery, j as MemoryListUsersQuery, d as MemoryUserAgentSummary, M as MemoryUserSummary, h as MemoryWorkingMemoryResult, p as OBSERVABILITY_MEMORY_ROUTES, O as OBSERVABILITY_ROUTES, am as OpenApiInfo, R as ResponseDefinition, n as RouteDefinition, b as StreamResponse, S as SuccessResponse, U as UPDATE_ROUTES, V as VoltA2AError, W as WORKFLOW_ROUTES, x as executeA2ARequest, r as getAllRoutesArray, ag as getConversationMessagesHandler, ah as getConversationStepsHandler, aq as getOpenApiDoc, ao as getOrCreateLogger, al as getResponseStatus, u as getRoutesByTag, ai as getWorkingMemoryHandler, a8 as handleCancelWorkflow, _ as handleChatStream, a5 as handleExecuteWorkflow, $ as handleGenerateObject, Y as handleGenerateText, a1 as handleGetAgent, a2 as handleGetAgentHistory, X as handleGetAgents, ad as handleGetLogs, a4 as handleGetWorkflow, aa as handleGetWorkflowState, a3 as handleGetWorkflows, a9 as handleResumeWorkflow, a0 as handleStreamObject, Z as handleStreamText, a6 as handleStreamWorkflow, a7 as handleSuspendWorkflow, i as isErrorResponse, T as isJsonRpcRequest, c as isSuccessResponse, af as listMemoryConversationsHandler, ae as listMemoryUsersHandler, ak as mapHandlerResponse, aj as mapLogResponse, Q as normalizeError, v as parseJsonRpcRequest, w as resolveAgentCard, ap as shouldEnableSwaggerUI } from './edge-CtOnFGMl.js';
|
|
3
3
|
import { LogFilter, Logger } from '@voltagent/internal';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import { MCPServerRegistry, A2AServerRegistry, ServerProviderDeps, IServerProvider } from '@voltagent/core';
|
|
5
|
+
import { MCPServerRegistry, A2AServerRegistry, ServerProviderDeps, RegisteredTrigger, IServerProvider } from '@voltagent/core';
|
|
6
6
|
import { Tool, CallToolResult, Prompt, GetPromptRequest, GetPromptResult, Resource, ResourceContents, ResourceTemplate } from '@modelcontextprotocol/sdk/types.js';
|
|
7
7
|
export { CallToolResult, GetPromptRequest, GetPromptResult, Prompt, Resource, ResourceContents, ResourceTemplate } from '@modelcontextprotocol/sdk/types.js';
|
|
8
8
|
import { MCPServerLike as MCPServerLike$1, MCPServerDeps, MCPServerMetadata as MCPServerMetadata$1 } from '@voltagent/internal/mcp';
|
|
@@ -31,6 +31,7 @@ interface ServerEndpointSummary {
|
|
|
31
31
|
method: string;
|
|
32
32
|
description?: string;
|
|
33
33
|
group?: string;
|
|
34
|
+
name?: string;
|
|
34
35
|
}
|
|
35
36
|
interface ServerStartupOptions {
|
|
36
37
|
enableSwaggerUI?: boolean;
|
|
@@ -1702,6 +1703,19 @@ declare function getLogsBySpanIdHandler(spanId: string, deps: ServerProviderDeps
|
|
|
1702
1703
|
*/
|
|
1703
1704
|
declare function queryLogsHandler(query: any, deps: ServerProviderDeps): Promise<any>;
|
|
1704
1705
|
|
|
1706
|
+
interface TriggerHttpRequestContext {
|
|
1707
|
+
body: unknown;
|
|
1708
|
+
headers: Record<string, string>;
|
|
1709
|
+
query?: Record<string, string | string[]>;
|
|
1710
|
+
raw?: unknown;
|
|
1711
|
+
}
|
|
1712
|
+
interface TriggerHandlerHttpResponse {
|
|
1713
|
+
status: number;
|
|
1714
|
+
body?: unknown;
|
|
1715
|
+
headers?: Record<string, string>;
|
|
1716
|
+
}
|
|
1717
|
+
declare function executeTriggerHandler(registration: RegisteredTrigger, request: TriggerHttpRequestContext, deps: ServerProviderDeps, logger: Logger): Promise<TriggerHandlerHttpResponse>;
|
|
1718
|
+
|
|
1705
1719
|
declare function setupObservabilityHandler(body: {
|
|
1706
1720
|
publicKey?: string;
|
|
1707
1721
|
secretKey?: string;
|
|
@@ -2267,4 +2281,4 @@ declare abstract class BaseServerProvider implements IServerProvider {
|
|
|
2267
2281
|
private collectFeatureEndpoints;
|
|
2268
2282
|
}
|
|
2269
2283
|
|
|
2270
|
-
export { A2AServerLikeWithHandlers, type A2AServerLookupResult, AgentListSchema, AgentParamsSchema, AgentResponseSchema, ApiResponse, type AuthProvider, type BaseCustomEndpointDefinition, type BaseServerConfig, BaseServerProvider, BasicJsonSchema, type CapabilityRecord, CustomEndpointError, type CustomEndpointHandler, DEFAULT_A2A_ROUTE_PREFIX, DEFAULT_A2A_WELL_KNOWN_PREFIX, DEFAULT_MCP_HTTP_SEGMENT, DEFAULT_MCP_MESSAGES_SEGMENT, DEFAULT_MCP_ROUTE_PREFIX, DEFAULT_MCP_SSE_SEGMENT, DEFAULT_PUBLIC_ROUTES, ErrorSchema, type FilterContext, GenerateOptionsSchema, HttpMethod, type IWebSocket, type JWTAuthOptions, type LogStreamClient, LogStreamManager, type MCPAgentMetadata, type MCPListedTool, type MCPServerCapabilitiesConfig, type MCPServerLike, type MCPServerMetadata, type MCPServerPackageInfo, type MCPServerRemoteInfo, type MCPToolMetadata, type MCPToolOrigin, type MCPWorkflowSummary, MCP_SESSION_QUERY_PARAM, type McpInvokeToolRequest, type McpInvokeToolResponse, type McpPromptDetailResponse, type McpPromptListResponse, type McpResourceDetailResponse, type McpResourceListResponse, type McpResourceTemplateListResponse, type McpRouteOptions, type McpRoutePaths, type McpServerDetailResponse, type McpServerListResponse, type McpServerLookupResult, McpSessionStore, type McpSetLogLevelRequest, type McpSetLogLevelResponse, type McpToolListResponse, ObjectRequestSchema, ObjectResponseSchema, PROTECTED_ROUTES, ParamsSchema, type PortConfig, type ProcessedAgentOptions, type ProtocolConfig, type ProtocolRecord, type ServerEndpointSummary, type ServerProviderConfig, type ServerStartupOptions, StreamObjectEventSchema, StreamTextEventSchema, SubAgentResponseSchema, TextRequestSchema, TextResponseSchema, type WebSocketAdapter, type WebSocketConnectionHandler, type WebSocketConnectionInfo, type WebSocketEventHandlers, type WebSocketMessage, WebSocketRouter, WorkflowCancelRequestSchema, WorkflowCancelResponseSchema, WorkflowExecutionParamsSchema, WorkflowExecutionRequestSchema, WorkflowExecutionResponseSchema, WorkflowListSchema, WorkflowParamsSchema, WorkflowResponseSchema, WorkflowResumeRequestSchema, WorkflowResumeResponseSchema, WorkflowStreamEventSchema, WorkflowSuspendRequestSchema, WorkflowSuspendResponseSchema, buildA2AEndpointPath, buildAgentCardPath, buildMcpRoutePaths, cleanupWebSockets, closeAllObservabilityConnections, colors, createAuthErrorResponse, createJWT, createSSEHeaders, createSSEResponse, createSSEStream, createUserContext, createWebSocketRouter, createWebSocketServer, extractBearerToken, extractToken, formatSSE, getLandingPageHTML, getLogsBySpanIdHandler, getLogsByTraceIdHandler, getObservabilityStatusHandler, getPortsToTry, getSpanByIdHandler, getTraceByIdHandler, getTracesHandler, handleCheckUpdates, handleGetMcpPrompt, handleGetMcpResource, handleGetMcpServer, handleInstallUpdates, handleInvokeMcpServerTool, handleListMcpPrompts, handleListMcpResourceTemplates, handleListMcpResources, handleListMcpServerTools, handleListMcpServers, handleObservabilityConnection, handleSetMcpLogLevel, handleWebSocketConnection, injectUserIntoBody, jwtAuth, listA2AServers, listMcpServers, lookupA2AServer, lookupMcpServer, pathMatches, portManager, preferredPorts, printServerStartup, processAgentOptions, processWorkflowOptions, queryLogsHandler, requiresAuth, setupObservabilityHandler, setupObservabilityListeners, setupWebSocketUpgrade, transformToSSE, validateBaseCustomEndpoint, validateEndpointMethod, validateEndpointPath };
|
|
2284
|
+
export { A2AServerLikeWithHandlers, type A2AServerLookupResult, AgentListSchema, AgentParamsSchema, AgentResponseSchema, ApiResponse, type AuthProvider, type BaseCustomEndpointDefinition, type BaseServerConfig, BaseServerProvider, BasicJsonSchema, type CapabilityRecord, CustomEndpointError, type CustomEndpointHandler, DEFAULT_A2A_ROUTE_PREFIX, DEFAULT_A2A_WELL_KNOWN_PREFIX, DEFAULT_MCP_HTTP_SEGMENT, DEFAULT_MCP_MESSAGES_SEGMENT, DEFAULT_MCP_ROUTE_PREFIX, DEFAULT_MCP_SSE_SEGMENT, DEFAULT_PUBLIC_ROUTES, ErrorSchema, type FilterContext, GenerateOptionsSchema, HttpMethod, type IWebSocket, type JWTAuthOptions, type LogStreamClient, LogStreamManager, type MCPAgentMetadata, type MCPListedTool, type MCPServerCapabilitiesConfig, type MCPServerLike, type MCPServerMetadata, type MCPServerPackageInfo, type MCPServerRemoteInfo, type MCPToolMetadata, type MCPToolOrigin, type MCPWorkflowSummary, MCP_SESSION_QUERY_PARAM, type McpInvokeToolRequest, type McpInvokeToolResponse, type McpPromptDetailResponse, type McpPromptListResponse, type McpResourceDetailResponse, type McpResourceListResponse, type McpResourceTemplateListResponse, type McpRouteOptions, type McpRoutePaths, type McpServerDetailResponse, type McpServerListResponse, type McpServerLookupResult, McpSessionStore, type McpSetLogLevelRequest, type McpSetLogLevelResponse, type McpToolListResponse, ObjectRequestSchema, ObjectResponseSchema, PROTECTED_ROUTES, ParamsSchema, type PortConfig, type ProcessedAgentOptions, type ProtocolConfig, type ProtocolRecord, type ServerEndpointSummary, type ServerProviderConfig, type ServerStartupOptions, StreamObjectEventSchema, StreamTextEventSchema, SubAgentResponseSchema, TextRequestSchema, TextResponseSchema, type TriggerHandlerHttpResponse, type TriggerHttpRequestContext, type WebSocketAdapter, type WebSocketConnectionHandler, type WebSocketConnectionInfo, type WebSocketEventHandlers, type WebSocketMessage, WebSocketRouter, WorkflowCancelRequestSchema, WorkflowCancelResponseSchema, WorkflowExecutionParamsSchema, WorkflowExecutionRequestSchema, WorkflowExecutionResponseSchema, WorkflowListSchema, WorkflowParamsSchema, WorkflowResponseSchema, WorkflowResumeRequestSchema, WorkflowResumeResponseSchema, WorkflowStreamEventSchema, WorkflowSuspendRequestSchema, WorkflowSuspendResponseSchema, buildA2AEndpointPath, buildAgentCardPath, buildMcpRoutePaths, cleanupWebSockets, closeAllObservabilityConnections, colors, createAuthErrorResponse, createJWT, createSSEHeaders, createSSEResponse, createSSEStream, createUserContext, createWebSocketRouter, createWebSocketServer, executeTriggerHandler, extractBearerToken, extractToken, formatSSE, getLandingPageHTML, getLogsBySpanIdHandler, getLogsByTraceIdHandler, getObservabilityStatusHandler, getPortsToTry, getSpanByIdHandler, getTraceByIdHandler, getTracesHandler, handleCheckUpdates, handleGetMcpPrompt, handleGetMcpResource, handleGetMcpServer, handleInstallUpdates, handleInvokeMcpServerTool, handleListMcpPrompts, handleListMcpResourceTemplates, handleListMcpResources, handleListMcpServerTools, handleListMcpServers, handleObservabilityConnection, handleSetMcpLogLevel, handleWebSocketConnection, injectUserIntoBody, jwtAuth, listA2AServers, listMcpServers, lookupA2AServer, lookupMcpServer, pathMatches, portManager, preferredPorts, printServerStartup, processAgentOptions, processWorkflowOptions, queryLogsHandler, requiresAuth, setupObservabilityHandler, setupObservabilityListeners, setupWebSocketUpgrade, transformToSSE, validateBaseCustomEndpoint, validateEndpointMethod, validateEndpointPath };
|
package/dist/index.js
CHANGED
|
@@ -99,6 +99,7 @@ __export(index_exports, {
|
|
|
99
99
|
createWebSocketRouter: () => createWebSocketRouter,
|
|
100
100
|
createWebSocketServer: () => createWebSocketServer,
|
|
101
101
|
executeA2ARequest: () => executeA2ARequest,
|
|
102
|
+
executeTriggerHandler: () => executeTriggerHandler,
|
|
102
103
|
extractBearerToken: () => extractBearerToken,
|
|
103
104
|
extractToken: () => extractToken,
|
|
104
105
|
formatSSE: () => formatSSE,
|
|
@@ -3067,6 +3068,247 @@ async function queryLogsHandler(query, deps) {
|
|
|
3067
3068
|
}
|
|
3068
3069
|
__name(queryLogsHandler, "queryLogsHandler");
|
|
3069
3070
|
|
|
3071
|
+
// src/handlers/trigger.handlers.ts
|
|
3072
|
+
var import_core7 = require("@voltagent/core");
|
|
3073
|
+
var import_utils = require("@voltagent/internal/utils");
|
|
3074
|
+
var hasOwn = /* @__PURE__ */ __name((value, key) => Object.prototype.hasOwnProperty.call(value, key), "hasOwn");
|
|
3075
|
+
var hasResponseMetadata = /* @__PURE__ */ __name((value) => hasOwn(value, "status") || hasOwn(value, "body") || hasOwn(value, "headers"), "hasResponseMetadata");
|
|
3076
|
+
function extractPayload(body) {
|
|
3077
|
+
if (!(0, import_utils.isPlainObject)(body)) {
|
|
3078
|
+
return body;
|
|
3079
|
+
}
|
|
3080
|
+
if ("input" in body) {
|
|
3081
|
+
return body.input;
|
|
3082
|
+
}
|
|
3083
|
+
if ("payload" in body) {
|
|
3084
|
+
return body.payload;
|
|
3085
|
+
}
|
|
3086
|
+
if ("record" in body) {
|
|
3087
|
+
return body.record;
|
|
3088
|
+
}
|
|
3089
|
+
if ("data" in body) {
|
|
3090
|
+
return body.data;
|
|
3091
|
+
}
|
|
3092
|
+
return body;
|
|
3093
|
+
}
|
|
3094
|
+
__name(extractPayload, "extractPayload");
|
|
3095
|
+
function buildEnvelope(registration, body) {
|
|
3096
|
+
if ((0, import_utils.isPlainObject)(body)) {
|
|
3097
|
+
return {
|
|
3098
|
+
trigger: registration.name,
|
|
3099
|
+
provider: registration.definition?.provider,
|
|
3100
|
+
...body
|
|
3101
|
+
};
|
|
3102
|
+
}
|
|
3103
|
+
return {
|
|
3104
|
+
trigger: registration.name,
|
|
3105
|
+
provider: registration.definition?.provider,
|
|
3106
|
+
payload: body
|
|
3107
|
+
};
|
|
3108
|
+
}
|
|
3109
|
+
__name(buildEnvelope, "buildEnvelope");
|
|
3110
|
+
function normalizeResult(result) {
|
|
3111
|
+
if (typeof result === "undefined") {
|
|
3112
|
+
return { status: 200, body: { success: true } };
|
|
3113
|
+
}
|
|
3114
|
+
if ((0, import_utils.isPlainObject)(result) && hasResponseMetadata(result)) {
|
|
3115
|
+
const status = result.status ?? 200;
|
|
3116
|
+
const bodyProvided = hasOwn(result, "body");
|
|
3117
|
+
return {
|
|
3118
|
+
status,
|
|
3119
|
+
body: bodyProvided ? result.body : { success: true },
|
|
3120
|
+
headers: result.headers
|
|
3121
|
+
};
|
|
3122
|
+
}
|
|
3123
|
+
if (typeof result === "string" || typeof result === "number" || typeof result === "boolean" || result === null || Array.isArray(result) || (0, import_utils.isPlainObject)(result)) {
|
|
3124
|
+
return { status: 200, body: result };
|
|
3125
|
+
}
|
|
3126
|
+
return { status: 200, body: result };
|
|
3127
|
+
}
|
|
3128
|
+
__name(normalizeResult, "normalizeResult");
|
|
3129
|
+
function extractMetadata(body) {
|
|
3130
|
+
if (!(0, import_utils.isPlainObject)(body)) {
|
|
3131
|
+
return void 0;
|
|
3132
|
+
}
|
|
3133
|
+
const metadata = body.metadata;
|
|
3134
|
+
return (0, import_utils.isPlainObject)(metadata) ? metadata : void 0;
|
|
3135
|
+
}
|
|
3136
|
+
__name(extractMetadata, "extractMetadata");
|
|
3137
|
+
function buildTriggerAttributeMap(registration, event, metadata) {
|
|
3138
|
+
const attributes = {
|
|
3139
|
+
"trigger.triggerId": event.trigger ?? registration.name,
|
|
3140
|
+
"trigger.provider": event.provider ?? registration.definition?.provider,
|
|
3141
|
+
"trigger.eventId": metadata?.eventId ?? (typeof event.event === "string" ? event.event : void 0) ?? event.deliveryId,
|
|
3142
|
+
"trigger.bindingId": event.bindingId ?? metadata?.bindingId,
|
|
3143
|
+
"trigger.bindingName": metadata?.bindingName,
|
|
3144
|
+
"trigger.bindingDisplayName": metadata?.bindingDisplayName,
|
|
3145
|
+
"trigger.bindingTargetId": event.targetId ?? metadata?.bindingTargetId,
|
|
3146
|
+
"trigger.bindingTargetName": metadata?.bindingTargetName,
|
|
3147
|
+
"trigger.service": metadata?.service ?? event.provider ?? registration.definition?.provider,
|
|
3148
|
+
"trigger.catalogId": event.catalogId ?? metadata?.catalogId,
|
|
3149
|
+
"trigger.targetEndpoint": metadata?.targetEndpoint,
|
|
3150
|
+
"trigger.targetName": metadata?.targetName,
|
|
3151
|
+
"trigger.targetType": metadata?.targetType,
|
|
3152
|
+
"trigger.status": metadata?.status,
|
|
3153
|
+
"trigger.latencyMs": metadata?.latencyMs,
|
|
3154
|
+
"trigger.hasTarget": metadata?.hasTarget,
|
|
3155
|
+
"trigger.occurredAt": metadata?.occurredAt
|
|
3156
|
+
};
|
|
3157
|
+
if (registration.definition?.summary) {
|
|
3158
|
+
attributes["trigger.summary"] = registration.definition.summary;
|
|
3159
|
+
}
|
|
3160
|
+
if (registration.definition?.description) {
|
|
3161
|
+
attributes["trigger.description"] = registration.definition.description;
|
|
3162
|
+
}
|
|
3163
|
+
if (metadata) {
|
|
3164
|
+
attributes["trigger.metadata"] = metadata;
|
|
3165
|
+
}
|
|
3166
|
+
return attributes;
|
|
3167
|
+
}
|
|
3168
|
+
__name(buildTriggerAttributeMap, "buildTriggerAttributeMap");
|
|
3169
|
+
var TRIGGER_AWARE_METHODS = {
|
|
3170
|
+
generateText: 1,
|
|
3171
|
+
streamText: 1,
|
|
3172
|
+
generateObject: 2,
|
|
3173
|
+
streamObject: 2
|
|
3174
|
+
};
|
|
3175
|
+
function mergeOptionsWithTriggerContext(options, triggerContext) {
|
|
3176
|
+
const contextMap = options?.context instanceof Map ? new Map(options.context) : options?.context ? new Map(Object.entries(options.context)) : /* @__PURE__ */ new Map();
|
|
3177
|
+
for (const [key, value] of triggerContext.entries()) {
|
|
3178
|
+
if (!contextMap.has(key)) {
|
|
3179
|
+
contextMap.set(key, value);
|
|
3180
|
+
}
|
|
3181
|
+
}
|
|
3182
|
+
if (options && typeof options === "object") {
|
|
3183
|
+
return {
|
|
3184
|
+
...options,
|
|
3185
|
+
context: contextMap
|
|
3186
|
+
};
|
|
3187
|
+
}
|
|
3188
|
+
return {
|
|
3189
|
+
context: contextMap
|
|
3190
|
+
};
|
|
3191
|
+
}
|
|
3192
|
+
__name(mergeOptionsWithTriggerContext, "mergeOptionsWithTriggerContext");
|
|
3193
|
+
function createTriggerAwareAgents(agents, triggerContext) {
|
|
3194
|
+
if (!agents) {
|
|
3195
|
+
return {};
|
|
3196
|
+
}
|
|
3197
|
+
const wrapped = {};
|
|
3198
|
+
for (const [key, agent] of Object.entries(agents)) {
|
|
3199
|
+
if (!agent) {
|
|
3200
|
+
continue;
|
|
3201
|
+
}
|
|
3202
|
+
wrapped[key] = new Proxy(agent, {
|
|
3203
|
+
get(target, prop, receiver) {
|
|
3204
|
+
const value = Reflect.get(target, prop, receiver);
|
|
3205
|
+
if (typeof prop === "string" && typeof value === "function" && Object.prototype.hasOwnProperty.call(TRIGGER_AWARE_METHODS, prop)) {
|
|
3206
|
+
const optionsIndex = TRIGGER_AWARE_METHODS[prop];
|
|
3207
|
+
return (...args) => {
|
|
3208
|
+
const updatedArgs = [...args];
|
|
3209
|
+
if (updatedArgs.length > optionsIndex) {
|
|
3210
|
+
updatedArgs[optionsIndex] = mergeOptionsWithTriggerContext(
|
|
3211
|
+
updatedArgs[optionsIndex],
|
|
3212
|
+
triggerContext
|
|
3213
|
+
);
|
|
3214
|
+
} else {
|
|
3215
|
+
while (updatedArgs.length < optionsIndex) {
|
|
3216
|
+
updatedArgs.push(void 0);
|
|
3217
|
+
}
|
|
3218
|
+
updatedArgs.push(mergeOptionsWithTriggerContext(void 0, triggerContext));
|
|
3219
|
+
}
|
|
3220
|
+
return value.apply(target, updatedArgs);
|
|
3221
|
+
};
|
|
3222
|
+
}
|
|
3223
|
+
if (typeof value === "function") {
|
|
3224
|
+
return value.bind(target);
|
|
3225
|
+
}
|
|
3226
|
+
return value;
|
|
3227
|
+
}
|
|
3228
|
+
});
|
|
3229
|
+
}
|
|
3230
|
+
return wrapped;
|
|
3231
|
+
}
|
|
3232
|
+
__name(createTriggerAwareAgents, "createTriggerAwareAgents");
|
|
3233
|
+
async function executeTriggerHandler(registration, request, deps, logger) {
|
|
3234
|
+
let triggerSpan;
|
|
3235
|
+
try {
|
|
3236
|
+
const payload = extractPayload(request.body);
|
|
3237
|
+
const event = buildEnvelope(registration, request.body);
|
|
3238
|
+
const handlerLogger = logger.child({ trigger: registration.name });
|
|
3239
|
+
const metadata = extractMetadata(request.body);
|
|
3240
|
+
const triggerAttributes = buildTriggerAttributeMap(registration, event, metadata);
|
|
3241
|
+
const triggerContext = /* @__PURE__ */ new Map();
|
|
3242
|
+
for (const [key, value] of Object.entries(triggerAttributes)) {
|
|
3243
|
+
if (value !== void 0 && value !== null && value !== "") {
|
|
3244
|
+
triggerContext.set(key, value);
|
|
3245
|
+
}
|
|
3246
|
+
}
|
|
3247
|
+
if (metadata) {
|
|
3248
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
3249
|
+
const contextKey = `trigger.metadata.${key}`;
|
|
3250
|
+
if (!triggerContext.has(contextKey)) {
|
|
3251
|
+
triggerContext.set(contextKey, value);
|
|
3252
|
+
}
|
|
3253
|
+
}
|
|
3254
|
+
}
|
|
3255
|
+
const tracer = deps.observability?.getTracer();
|
|
3256
|
+
triggerSpan = tracer?.startSpan(
|
|
3257
|
+
`Trigger ${registration.definition?.summary ?? registration.name}`,
|
|
3258
|
+
{
|
|
3259
|
+
kind: import_core7.SpanKind.SERVER,
|
|
3260
|
+
attributes: {
|
|
3261
|
+
"span.type": "trigger",
|
|
3262
|
+
...triggerAttributes
|
|
3263
|
+
}
|
|
3264
|
+
},
|
|
3265
|
+
import_core7.context.active()
|
|
3266
|
+
);
|
|
3267
|
+
const agentsWithContext = createTriggerAwareAgents(
|
|
3268
|
+
registration.metadata?.agents ?? {},
|
|
3269
|
+
triggerContext
|
|
3270
|
+
);
|
|
3271
|
+
const contextWithTrigger = import_core7.context.active().setValue(import_core7.TRIGGER_CONTEXT_KEY, triggerContext);
|
|
3272
|
+
const executeHandler = /* @__PURE__ */ __name(() => registration.handler({
|
|
3273
|
+
payload,
|
|
3274
|
+
event,
|
|
3275
|
+
trigger: registration,
|
|
3276
|
+
logger: handlerLogger,
|
|
3277
|
+
headers: request.headers,
|
|
3278
|
+
agentRegistry: deps.agentRegistry,
|
|
3279
|
+
workflowRegistry: deps.workflowRegistry,
|
|
3280
|
+
voltOpsClient: deps.voltOpsClient,
|
|
3281
|
+
agents: agentsWithContext,
|
|
3282
|
+
rawRequest: request.raw,
|
|
3283
|
+
triggerContext
|
|
3284
|
+
}), "executeHandler");
|
|
3285
|
+
const response = triggerSpan ? await import_core7.context.with(import_core7.trace.setSpan(contextWithTrigger, triggerSpan), executeHandler) : await import_core7.context.with(contextWithTrigger, executeHandler);
|
|
3286
|
+
triggerSpan?.setStatus({ code: import_core7.SpanStatusCode.OK });
|
|
3287
|
+
triggerSpan?.end();
|
|
3288
|
+
return normalizeResult(response);
|
|
3289
|
+
} catch (error) {
|
|
3290
|
+
if (triggerSpan) {
|
|
3291
|
+
triggerSpan.setStatus({
|
|
3292
|
+
code: import_core7.SpanStatusCode.ERROR,
|
|
3293
|
+
message: error instanceof Error ? error.message : "Trigger handler failed"
|
|
3294
|
+
});
|
|
3295
|
+
if (error instanceof Error) {
|
|
3296
|
+
triggerSpan.recordException(error);
|
|
3297
|
+
}
|
|
3298
|
+
triggerSpan.end();
|
|
3299
|
+
}
|
|
3300
|
+
logger.error(`Trigger handler failed for ${registration.name}`, { error });
|
|
3301
|
+
return {
|
|
3302
|
+
status: 500,
|
|
3303
|
+
body: {
|
|
3304
|
+
success: false,
|
|
3305
|
+
error: "Trigger handler failed"
|
|
3306
|
+
}
|
|
3307
|
+
};
|
|
3308
|
+
}
|
|
3309
|
+
}
|
|
3310
|
+
__name(executeTriggerHandler, "executeTriggerHandler");
|
|
3311
|
+
|
|
3070
3312
|
// src/handlers/memory-observability.handlers.ts
|
|
3071
3313
|
var import_internal3 = require("@voltagent/internal");
|
|
3072
3314
|
var DEFAULT_LIMIT = 50;
|
|
@@ -3949,13 +4191,34 @@ function printServerStartup(port, options = {}) {
|
|
|
3949
4191
|
`${colors.green} \u2713 ${colors.bright}Swagger UI: ${colors.reset}${colors.white}http://localhost:${port}/ui${colors.reset}`
|
|
3950
4192
|
);
|
|
3951
4193
|
}
|
|
3952
|
-
|
|
4194
|
+
const allEndpoints = options.customEndpoints ?? [];
|
|
4195
|
+
const triggerEndpoints = allEndpoints.filter(
|
|
4196
|
+
(endpoint) => endpoint.group === "Trigger Endpoints"
|
|
4197
|
+
);
|
|
4198
|
+
const otherEndpoints = allEndpoints.filter((endpoint) => endpoint.group !== "Trigger Endpoints");
|
|
4199
|
+
if (triggerEndpoints.length > 0) {
|
|
3953
4200
|
console.log();
|
|
3954
4201
|
console.log(
|
|
3955
|
-
`${colors.
|
|
4202
|
+
`${colors.magenta} \u26A1 ${colors.bright}Trigger Routes:${colors.reset} ${colors.dim}${triggerEndpoints.length} registered${colors.reset}`
|
|
4203
|
+
);
|
|
4204
|
+
triggerEndpoints.forEach((endpoint) => {
|
|
4205
|
+
const nameText = endpoint.name ? `${colors.white}${endpoint.name}${colors.reset}` : `${colors.white}${endpoint.path}${colors.reset}`;
|
|
4206
|
+
const pathText = endpoint.name ? `${colors.dim}${endpoint.path}${colors.reset}` : "";
|
|
4207
|
+
console.log(
|
|
4208
|
+
`${colors.dim} ${(endpoint.method || "POST").toUpperCase().padEnd(6)} ${colors.reset}${nameText} ${pathText}`
|
|
4209
|
+
);
|
|
4210
|
+
if (endpoint.description) {
|
|
4211
|
+
console.log(`${colors.dim} ${endpoint.description}${colors.reset}`);
|
|
4212
|
+
}
|
|
4213
|
+
});
|
|
4214
|
+
}
|
|
4215
|
+
if (otherEndpoints.length > 0) {
|
|
4216
|
+
console.log();
|
|
4217
|
+
console.log(
|
|
4218
|
+
`${colors.green} \u2713 ${colors.bright}Registered Endpoints: ${colors.reset}${colors.dim}${otherEndpoints.length} total${colors.reset}`
|
|
3956
4219
|
);
|
|
3957
4220
|
const groupMap = /* @__PURE__ */ new Map();
|
|
3958
|
-
|
|
4221
|
+
otherEndpoints.forEach((endpoint) => {
|
|
3959
4222
|
const groupLabel = endpoint.group?.trim() || "Custom Endpoints";
|
|
3960
4223
|
if (!groupMap.has(groupLabel)) {
|
|
3961
4224
|
groupMap.set(groupLabel, []);
|
|
@@ -3965,7 +4228,9 @@ function printServerStartup(port, options = {}) {
|
|
|
3965
4228
|
const methodOrder = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
|
|
3966
4229
|
groupMap.forEach((endpoints, groupLabel) => {
|
|
3967
4230
|
console.log();
|
|
3968
|
-
console.log(
|
|
4231
|
+
console.log(
|
|
4232
|
+
`${colors.bright}${colors.white} ${groupLabel}${colors.reset}${colors.dim} (${endpoints.length})${colors.reset}`
|
|
4233
|
+
);
|
|
3969
4234
|
const methodGroups = {};
|
|
3970
4235
|
endpoints.forEach((endpoint) => {
|
|
3971
4236
|
const method = (endpoint.method ?? "").toUpperCase();
|
|
@@ -3973,14 +4238,19 @@ function printServerStartup(port, options = {}) {
|
|
|
3973
4238
|
if (!methodGroups[normalizedMethod]) {
|
|
3974
4239
|
methodGroups[normalizedMethod] = [];
|
|
3975
4240
|
}
|
|
3976
|
-
methodGroups[normalizedMethod].push(endpoint
|
|
4241
|
+
methodGroups[normalizedMethod].push(endpoint);
|
|
3977
4242
|
});
|
|
3978
4243
|
methodOrder.forEach((method) => {
|
|
3979
4244
|
if (methodGroups[method]) {
|
|
3980
|
-
methodGroups[method].forEach((
|
|
4245
|
+
methodGroups[method].forEach((endpoint) => {
|
|
4246
|
+
const pathText = `${colors.white}${endpoint.path}${colors.reset}`;
|
|
4247
|
+
const nameText = endpoint.name ? `${colors.dim} (${endpoint.name})${colors.reset}` : "";
|
|
3981
4248
|
console.log(
|
|
3982
|
-
`${colors.dim} ${method.padEnd(6)} ${colors.reset}${
|
|
4249
|
+
`${colors.dim} ${method.padEnd(6)} ${colors.reset}${pathText}${nameText}`
|
|
3983
4250
|
);
|
|
4251
|
+
if (endpoint.description) {
|
|
4252
|
+
console.log(`${colors.dim} ${endpoint.description}${colors.reset}`);
|
|
4253
|
+
}
|
|
3984
4254
|
});
|
|
3985
4255
|
}
|
|
3986
4256
|
});
|
|
@@ -4203,8 +4473,8 @@ __name(createSSEResponse, "createSSEResponse");
|
|
|
4203
4473
|
var import_internal6 = require("@voltagent/internal");
|
|
4204
4474
|
|
|
4205
4475
|
// src/websocket/log-stream.ts
|
|
4206
|
-
var
|
|
4207
|
-
var
|
|
4476
|
+
var import_core8 = require("@voltagent/core");
|
|
4477
|
+
var import_utils2 = require("@voltagent/internal/utils");
|
|
4208
4478
|
var LogStreamManager = class {
|
|
4209
4479
|
static {
|
|
4210
4480
|
__name(this, "LogStreamManager");
|
|
@@ -4213,8 +4483,8 @@ var LogStreamManager = class {
|
|
|
4213
4483
|
logBuffer;
|
|
4214
4484
|
logger;
|
|
4215
4485
|
constructor() {
|
|
4216
|
-
this.logBuffer = (0,
|
|
4217
|
-
this.logger = (0,
|
|
4486
|
+
this.logBuffer = (0, import_core8.getGlobalLogBuffer)();
|
|
4487
|
+
this.logger = (0, import_core8.getGlobalLogger)().child({ component: "log-stream-manager" });
|
|
4218
4488
|
this.setupEventListeners();
|
|
4219
4489
|
}
|
|
4220
4490
|
addClient(ws, filter) {
|
|
@@ -4238,7 +4508,7 @@ var LogStreamManager = class {
|
|
|
4238
4508
|
this.logger.trace(`Log stream client connected. Active clients: ${this.clients.size}`);
|
|
4239
4509
|
}
|
|
4240
4510
|
sendInitialLogs(client) {
|
|
4241
|
-
const logBuffer = (0,
|
|
4511
|
+
const logBuffer = (0, import_core8.getGlobalLogBuffer)();
|
|
4242
4512
|
const logs = logBuffer.query({
|
|
4243
4513
|
...client.filter,
|
|
4244
4514
|
limit: client.filter?.limit || 100
|
|
@@ -4299,7 +4569,7 @@ var LogStreamManager = class {
|
|
|
4299
4569
|
sendToClient(client, data) {
|
|
4300
4570
|
if (client.ws.readyState === 1) {
|
|
4301
4571
|
try {
|
|
4302
|
-
client.ws.send((0,
|
|
4572
|
+
client.ws.send((0, import_utils2.safeStringify)(data));
|
|
4303
4573
|
} catch (error) {
|
|
4304
4574
|
this.logger.error("Failed to send log to client", { error });
|
|
4305
4575
|
this.clients.delete(client);
|
|
@@ -4315,13 +4585,13 @@ var LogStreamManager = class {
|
|
|
4315
4585
|
};
|
|
4316
4586
|
|
|
4317
4587
|
// src/websocket/observability-handler.ts
|
|
4318
|
-
var
|
|
4588
|
+
var import_core9 = require("@voltagent/core");
|
|
4319
4589
|
var import_internal5 = require("@voltagent/internal");
|
|
4320
4590
|
var observabilityConnections = /* @__PURE__ */ new Map();
|
|
4321
4591
|
var observabilityListenersInitialized = false;
|
|
4322
4592
|
var logUnsubscribe = null;
|
|
4323
4593
|
function getWebSocketEventEmitter() {
|
|
4324
|
-
return
|
|
4594
|
+
return import_core9.WebSocketEventEmitter.getInstance();
|
|
4325
4595
|
}
|
|
4326
4596
|
__name(getWebSocketEventEmitter, "getWebSocketEventEmitter");
|
|
4327
4597
|
function setupObservabilityListeners() {
|
|
@@ -4342,10 +4612,12 @@ function setupObservabilityListeners() {
|
|
|
4342
4612
|
if (isRootSpan) {
|
|
4343
4613
|
const eventEntityId = event.span?.attributes?.["entity.id"];
|
|
4344
4614
|
const eventEntityType = event.span?.attributes?.["entity.type"];
|
|
4345
|
-
|
|
4615
|
+
const spanType = event.span?.attributes?.["span.type"];
|
|
4616
|
+
const isTriggerSpan = spanType === "trigger";
|
|
4617
|
+
if (!isTriggerSpan && eventEntityId !== connection.entityId) {
|
|
4346
4618
|
return;
|
|
4347
4619
|
}
|
|
4348
|
-
if (connection.entityType && eventEntityType !== connection.entityType) {
|
|
4620
|
+
if (!isTriggerSpan && connection.entityType && eventEntityType !== connection.entityType) {
|
|
4349
4621
|
return;
|
|
4350
4622
|
}
|
|
4351
4623
|
}
|
|
@@ -4354,7 +4626,7 @@ function setupObservabilityListeners() {
|
|
|
4354
4626
|
}
|
|
4355
4627
|
});
|
|
4356
4628
|
});
|
|
4357
|
-
logUnsubscribe =
|
|
4629
|
+
logUnsubscribe = import_core9.WebSocketLogProcessor.subscribe((logRecord) => {
|
|
4358
4630
|
const message = (0, import_internal5.safeStringify)({
|
|
4359
4631
|
type: "OBSERVABILITY_LOG",
|
|
4360
4632
|
success: true,
|
|
@@ -4734,14 +5006,28 @@ var BaseServerProvider = class {
|
|
|
4734
5006
|
if (registeredA2AServers.length > 0) {
|
|
4735
5007
|
addRoutes(A2A_ROUTES, "A2A Endpoints");
|
|
4736
5008
|
}
|
|
5009
|
+
const registeredTriggers = this.deps.triggerRegistry?.list?.() ?? [];
|
|
5010
|
+
if (registeredTriggers.length > 0) {
|
|
5011
|
+
registeredTriggers.forEach((trigger) => {
|
|
5012
|
+
endpoints.push({
|
|
5013
|
+
method: trigger.method.toUpperCase(),
|
|
5014
|
+
path: trigger.path,
|
|
5015
|
+
group: "Trigger Endpoints",
|
|
5016
|
+
name: trigger.name,
|
|
5017
|
+
description: trigger.summary ?? trigger.description ?? trigger.definition?.description
|
|
5018
|
+
});
|
|
5019
|
+
});
|
|
5020
|
+
} else {
|
|
5021
|
+
this.logger.info("[volt] No trigger endpoints discovered during startup");
|
|
5022
|
+
}
|
|
4737
5023
|
return endpoints;
|
|
4738
5024
|
}
|
|
4739
5025
|
};
|
|
4740
5026
|
|
|
4741
5027
|
// src/server/app-setup.ts
|
|
4742
|
-
var
|
|
5028
|
+
var import_core10 = require("@voltagent/core");
|
|
4743
5029
|
function getOrCreateLogger(deps, component = "api-server") {
|
|
4744
|
-
return deps.logger?.child({ component }) ?? (0,
|
|
5030
|
+
return deps.logger?.child({ component }) ?? (0, import_core10.getGlobalLogger)().child({ component });
|
|
4745
5031
|
}
|
|
4746
5032
|
__name(getOrCreateLogger, "getOrCreateLogger");
|
|
4747
5033
|
function shouldEnableSwaggerUI(config) {
|
|
@@ -4842,6 +5128,7 @@ var DEFAULT_CORS_OPTIONS = {
|
|
|
4842
5128
|
createWebSocketRouter,
|
|
4843
5129
|
createWebSocketServer,
|
|
4844
5130
|
executeA2ARequest,
|
|
5131
|
+
executeTriggerHandler,
|
|
4845
5132
|
extractBearerToken,
|
|
4846
5133
|
extractToken,
|
|
4847
5134
|
formatSSE,
|