@xynehq/jaf 0.1.2
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/LICENSE +21 -0
- package/README.md +596 -0
- package/dist/a2a/agent-card.d.ts +28 -0
- package/dist/a2a/agent-card.d.ts.map +1 -0
- package/dist/a2a/agent-card.js +250 -0
- package/dist/a2a/agent-card.js.map +1 -0
- package/dist/a2a/agent.d.ts +38 -0
- package/dist/a2a/agent.d.ts.map +1 -0
- package/dist/a2a/agent.js +223 -0
- package/dist/a2a/agent.js.map +1 -0
- package/dist/a2a/client.d.ts +35 -0
- package/dist/a2a/client.d.ts.map +1 -0
- package/dist/a2a/client.js +337 -0
- package/dist/a2a/client.js.map +1 -0
- package/dist/a2a/examples/client-example.d.ts +104 -0
- package/dist/a2a/examples/client-example.d.ts.map +1 -0
- package/dist/a2a/examples/client-example.js +232 -0
- package/dist/a2a/examples/client-example.js.map +1 -0
- package/dist/a2a/examples/server-example.d.ts +9 -0
- package/dist/a2a/examples/server-example.d.ts.map +1 -0
- package/dist/a2a/examples/server-example.js +209 -0
- package/dist/a2a/examples/server-example.js.map +1 -0
- package/dist/a2a/examples/weather-agent.d.ts +8 -0
- package/dist/a2a/examples/weather-agent.d.ts.map +1 -0
- package/dist/a2a/examples/weather-agent.js +232 -0
- package/dist/a2a/examples/weather-agent.js.map +1 -0
- package/dist/a2a/executor.d.ts +43 -0
- package/dist/a2a/executor.d.ts.map +1 -0
- package/dist/a2a/executor.js +507 -0
- package/dist/a2a/executor.js.map +1 -0
- package/dist/a2a/index.d.ts +378 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +72 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/memory/cleanup.d.ts +58 -0
- package/dist/a2a/memory/cleanup.d.ts.map +1 -0
- package/dist/a2a/memory/cleanup.js +281 -0
- package/dist/a2a/memory/cleanup.js.map +1 -0
- package/dist/a2a/memory/factory.d.ts +38 -0
- package/dist/a2a/memory/factory.d.ts.map +1 -0
- package/dist/a2a/memory/factory.js +369 -0
- package/dist/a2a/memory/factory.js.map +1 -0
- package/dist/a2a/memory/index.d.ts +13 -0
- package/dist/a2a/memory/index.d.ts.map +1 -0
- package/dist/a2a/memory/index.js +16 -0
- package/dist/a2a/memory/index.js.map +1 -0
- package/dist/a2a/memory/providers/in-memory.d.ts +10 -0
- package/dist/a2a/memory/providers/in-memory.d.ts.map +1 -0
- package/dist/a2a/memory/providers/in-memory.js +539 -0
- package/dist/a2a/memory/providers/in-memory.js.map +1 -0
- package/dist/a2a/memory/providers/postgres.d.ts +10 -0
- package/dist/a2a/memory/providers/postgres.d.ts.map +1 -0
- package/dist/a2a/memory/providers/postgres.js +404 -0
- package/dist/a2a/memory/providers/postgres.js.map +1 -0
- package/dist/a2a/memory/providers/redis.d.ts +10 -0
- package/dist/a2a/memory/providers/redis.d.ts.map +1 -0
- package/dist/a2a/memory/providers/redis.js +435 -0
- package/dist/a2a/memory/providers/redis.js.map +1 -0
- package/dist/a2a/memory/serialization.d.ts +53 -0
- package/dist/a2a/memory/serialization.d.ts.map +1 -0
- package/dist/a2a/memory/serialization.js +233 -0
- package/dist/a2a/memory/serialization.js.map +1 -0
- package/dist/a2a/memory/types.d.ts +395 -0
- package/dist/a2a/memory/types.d.ts.map +1 -0
- package/dist/a2a/memory/types.js +85 -0
- package/dist/a2a/memory/types.js.map +1 -0
- package/dist/a2a/protocol.d.ts +38 -0
- package/dist/a2a/protocol.d.ts.map +1 -0
- package/dist/a2a/protocol.js +211 -0
- package/dist/a2a/protocol.js.map +1 -0
- package/dist/a2a/server.d.ts +343 -0
- package/dist/a2a/server.d.ts.map +1 -0
- package/dist/a2a/server.js +362 -0
- package/dist/a2a/server.js.map +1 -0
- package/dist/a2a/types.d.ts +730 -0
- package/dist/a2a/types.d.ts.map +1 -0
- package/dist/a2a/types.js +73 -0
- package/dist/a2a/types.js.map +1 -0
- package/dist/adk/agents/index.d.ts +48 -0
- package/dist/adk/agents/index.d.ts.map +1 -0
- package/dist/adk/agents/index.js +277 -0
- package/dist/adk/agents/index.js.map +1 -0
- package/dist/adk/artifacts/index.d.ts +62 -0
- package/dist/adk/artifacts/index.d.ts.map +1 -0
- package/dist/adk/artifacts/index.js +394 -0
- package/dist/adk/artifacts/index.js.map +1 -0
- package/dist/adk/config/llm-config.d.ts +75 -0
- package/dist/adk/config/llm-config.d.ts.map +1 -0
- package/dist/adk/config/llm-config.js +422 -0
- package/dist/adk/config/llm-config.js.map +1 -0
- package/dist/adk/content/index.d.ts +58 -0
- package/dist/adk/content/index.d.ts.map +1 -0
- package/dist/adk/content/index.js +220 -0
- package/dist/adk/content/index.js.map +1 -0
- package/dist/adk/examples/advanced-features.d.ts +22 -0
- package/dist/adk/examples/advanced-features.d.ts.map +1 -0
- package/dist/adk/examples/advanced-features.js +380 -0
- package/dist/adk/examples/advanced-features.js.map +1 -0
- package/dist/adk/examples/basic-agent.d.ts +28 -0
- package/dist/adk/examples/basic-agent.d.ts.map +1 -0
- package/dist/adk/examples/basic-agent.js +207 -0
- package/dist/adk/examples/basic-agent.js.map +1 -0
- package/dist/adk/examples/multi-agent.d.ts +24 -0
- package/dist/adk/examples/multi-agent.d.ts.map +1 -0
- package/dist/adk/examples/multi-agent.js +321 -0
- package/dist/adk/examples/multi-agent.js.map +1 -0
- package/dist/adk/examples/streaming-example.d.ts +9 -0
- package/dist/adk/examples/streaming-example.d.ts.map +1 -0
- package/dist/adk/examples/streaming-example.js +193 -0
- package/dist/adk/examples/streaming-example.js.map +1 -0
- package/dist/adk/index.d.ts +65 -0
- package/dist/adk/index.d.ts.map +1 -0
- package/dist/adk/index.js +251 -0
- package/dist/adk/index.js.map +1 -0
- package/dist/adk/models.d.ts +338 -0
- package/dist/adk/models.d.ts.map +1 -0
- package/dist/adk/models.js +466 -0
- package/dist/adk/models.js.map +1 -0
- package/dist/adk/providers/error-handler.d.ts +100 -0
- package/dist/adk/providers/error-handler.d.ts.map +1 -0
- package/dist/adk/providers/error-handler.js +289 -0
- package/dist/adk/providers/error-handler.js.map +1 -0
- package/dist/adk/providers/llm-service.d.ts +41 -0
- package/dist/adk/providers/llm-service.d.ts.map +1 -0
- package/dist/adk/providers/llm-service.js +520 -0
- package/dist/adk/providers/llm-service.js.map +1 -0
- package/dist/adk/providers/type-converters.d.ts +34 -0
- package/dist/adk/providers/type-converters.d.ts.map +1 -0
- package/dist/adk/providers/type-converters.js +436 -0
- package/dist/adk/providers/type-converters.js.map +1 -0
- package/dist/adk/runners/index.d.ts +33 -0
- package/dist/adk/runners/index.d.ts.map +1 -0
- package/dist/adk/runners/index.js +466 -0
- package/dist/adk/runners/index.js.map +1 -0
- package/dist/adk/schemas/index.d.ts +85 -0
- package/dist/adk/schemas/index.d.ts.map +1 -0
- package/dist/adk/schemas/index.js +363 -0
- package/dist/adk/schemas/index.js.map +1 -0
- package/dist/adk/sessions/examples/session-provider-usage.d.ts +10 -0
- package/dist/adk/sessions/examples/session-provider-usage.d.ts.map +1 -0
- package/dist/adk/sessions/examples/session-provider-usage.js +145 -0
- package/dist/adk/sessions/examples/session-provider-usage.js.map +1 -0
- package/dist/adk/sessions/index.d.ts +53 -0
- package/dist/adk/sessions/index.d.ts.map +1 -0
- package/dist/adk/sessions/index.js +451 -0
- package/dist/adk/sessions/index.js.map +1 -0
- package/dist/adk/sessions/postgres-provider.d.ts +22 -0
- package/dist/adk/sessions/postgres-provider.d.ts.map +1 -0
- package/dist/adk/sessions/postgres-provider.js +293 -0
- package/dist/adk/sessions/postgres-provider.js.map +1 -0
- package/dist/adk/sessions/redis-provider.d.ts +19 -0
- package/dist/adk/sessions/redis-provider.d.ts.map +1 -0
- package/dist/adk/sessions/redis-provider.js +237 -0
- package/dist/adk/sessions/redis-provider.js.map +1 -0
- package/dist/adk/streaming/index.d.ts +76 -0
- package/dist/adk/streaming/index.d.ts.map +1 -0
- package/dist/adk/streaming/index.js +419 -0
- package/dist/adk/streaming/index.js.map +1 -0
- package/dist/adk/tools/index.d.ts +27 -0
- package/dist/adk/tools/index.d.ts.map +1 -0
- package/dist/adk/tools/index.js +506 -0
- package/dist/adk/tools/index.js.map +1 -0
- package/dist/adk/types.d.ts +351 -0
- package/dist/adk/types.d.ts.map +1 -0
- package/dist/adk/types.js +107 -0
- package/dist/adk/types.js.map +1 -0
- package/dist/core/engine.d.ts +3 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +438 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/errors.d.ts +8 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +84 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/tool-results.d.ts +57 -0
- package/dist/core/tool-results.d.ts.map +1 -0
- package/dist/core/tool-results.js +133 -0
- package/dist/core/tool-results.js.map +1 -0
- package/dist/core/tracing.d.ts +32 -0
- package/dist/core/tracing.d.ts.map +1 -0
- package/dist/core/tracing.js +132 -0
- package/dist/core/tracing.js.map +1 -0
- package/dist/core/types.d.ts +165 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -0
- package/dist/demo/agents.d.ts +23 -0
- package/dist/demo/agents.d.ts.map +1 -0
- package/dist/demo/agents.js +69 -0
- package/dist/demo/agents.js.map +1 -0
- package/dist/demo/index.d.ts +2 -0
- package/dist/demo/index.d.ts.map +1 -0
- package/dist/demo/index.js +250 -0
- package/dist/demo/index.js.map +1 -0
- package/dist/demo/mock-provider.d.ts +22 -0
- package/dist/demo/mock-provider.d.ts.map +1 -0
- package/dist/demo/mock-provider.js +138 -0
- package/dist/demo/mock-provider.js.map +1 -0
- package/dist/demo/tools.d.ts +14 -0
- package/dist/demo/tools.d.ts.map +1 -0
- package/dist/demo/tools.js +115 -0
- package/dist/demo/tools.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/factory.d.ts +22 -0
- package/dist/memory/factory.d.ts.map +1 -0
- package/dist/memory/factory.js +88 -0
- package/dist/memory/factory.js.map +1 -0
- package/dist/memory/providers/in-memory.d.ts +7 -0
- package/dist/memory/providers/in-memory.d.ts.map +1 -0
- package/dist/memory/providers/in-memory.js +287 -0
- package/dist/memory/providers/in-memory.js.map +1 -0
- package/dist/memory/providers/postgres.d.ts +15 -0
- package/dist/memory/providers/postgres.d.ts.map +1 -0
- package/dist/memory/providers/postgres.js +495 -0
- package/dist/memory/providers/postgres.js.map +1 -0
- package/dist/memory/providers/redis.d.ts +18 -0
- package/dist/memory/providers/redis.d.ts.map +1 -0
- package/dist/memory/providers/redis.js +354 -0
- package/dist/memory/providers/redis.js.map +1 -0
- package/dist/memory/types.d.ts +296 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +93 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/policies/handoff.d.ts +16 -0
- package/dist/policies/handoff.d.ts.map +1 -0
- package/dist/policies/handoff.js +20 -0
- package/dist/policies/handoff.js.map +1 -0
- package/dist/policies/validation.d.ts +14 -0
- package/dist/policies/validation.d.ts.map +1 -0
- package/dist/policies/validation.js +92 -0
- package/dist/policies/validation.js.map +1 -0
- package/dist/providers/mcp.d.ts +17 -0
- package/dist/providers/mcp.d.ts.map +1 -0
- package/dist/providers/mcp.js +111 -0
- package/dist/providers/mcp.js.map +1 -0
- package/dist/providers/model.d.ts +3 -0
- package/dist/providers/model.d.ts.map +1 -0
- package/dist/providers/model.js +113 -0
- package/dist/providers/model.js.map +1 -0
- package/dist/server/index.d.ts +35 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +66 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/server.d.ts +12 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +394 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/types.d.ts +456 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +75 -0
- package/dist/server/types.js.map +1 -0
- package/dist/test-utils/db-setup.d.ts +34 -0
- package/dist/test-utils/db-setup.d.ts.map +1 -0
- package/dist/test-utils/db-setup.js +149 -0
- package/dist/test-utils/db-setup.js.map +1 -0
- package/dist/utils/logger.d.ts +63 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +199 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/safe-math.d.ts +31 -0
- package/dist/utils/safe-math.d.ts.map +1 -0
- package/dist/utils/safe-math.js +86 -0
- package/dist/utils/safe-math.js.map +1 -0
- package/dist/visualization/example.d.ts +9 -0
- package/dist/visualization/example.d.ts.map +1 -0
- package/dist/visualization/example.js +236 -0
- package/dist/visualization/example.js.map +1 -0
- package/dist/visualization/graphviz.d.ts +42 -0
- package/dist/visualization/graphviz.d.ts.map +1 -0
- package/dist/visualization/graphviz.js +403 -0
- package/dist/visualization/graphviz.js.map +1 -0
- package/dist/visualization/index.d.ts +10 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +12 -0
- package/dist/visualization/index.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A Integration for JAF - Main Export
|
|
3
|
+
* Pure functional A2A protocol support for Functional Agent Framework
|
|
4
|
+
*/
|
|
5
|
+
export type { A2AAgent, A2AAgentTool, A2AMessage, A2APart, A2ATask, A2AArtifact, A2AError, A2AStreamEvent, AgentCard, AgentSkill, AgentState, StreamEvent, ToolContext, A2AToolResult, JSONRPCRequest, JSONRPCResponse, JSONRPCError, SendMessageRequest, SendStreamingMessageRequest, GetTaskRequest, MessageSendConfiguration, A2AServerConfig, A2AClientConfig, A2AClientState } from './types.js';
|
|
6
|
+
export type { A2AExecutionContext, A2AExecutionEvent, A2AExecutionResult } from './executor.js';
|
|
7
|
+
export { createA2AAgent, createA2ATool, getProcessingMessage, createInitialAgentState, addMessageToState, updateStateFromRunResult, createUserMessage, transformA2AAgentToJAF, transformA2AToolToJAF, createRunConfigForA2AAgent, transformToRunState, processAgentQuery, extractTextFromA2AMessage, createA2ATextMessage, createA2ADataMessage, createA2ATask, updateA2ATaskStatus, addArtifactToA2ATask, completeA2ATask } from './agent.js';
|
|
8
|
+
export { executeA2AAgent, convertToA2AStreamEvents, executeA2AAgentWithStreaming } from './executor.js';
|
|
9
|
+
export { validateJSONRPCRequest, createJSONRPCSuccessResponse, createJSONRPCErrorResponse, createA2AError, mapErrorToA2AError, validateSendMessageRequest, handleMessageSend, handleMessageStream, handleTasksGet, handleTasksCancel, handleGetAuthenticatedExtendedCard, routeA2ARequest, createProtocolHandlerConfig } from './protocol.js';
|
|
10
|
+
export { generateAgentCard, generateSkillsFromAgents, generateExamplesForAgent, generateExamplesForTool, generateSecuritySchemes, generateSecurityRequirements, generateAgentCardForAgent, validateAgentCard, createMinimalAgentCard, mergeAgentCards, createAgentCardFromConfig } from './agent-card.js';
|
|
11
|
+
export { createA2AServer, startA2AServer } from './server.js';
|
|
12
|
+
import { createSimpleA2ATaskProvider } from './memory/factory.js';
|
|
13
|
+
export { createA2AClient, createMessageRequest, createStreamingMessageRequest, sendA2ARequest, sendMessage, streamMessage, getAgentCard, discoverAgents, sendMessageToAgent, streamMessageToAgent, extractTextResponse, checkA2AHealth, getA2ACapabilities, connectToA2AAgent } from './client.js';
|
|
14
|
+
export { A2AErrorCodes } from './types.js';
|
|
15
|
+
export { a2aMessageSchema, sendMessageRequestSchema } from './types.js';
|
|
16
|
+
export * from './memory/index.js';
|
|
17
|
+
export { createWeatherAgent, getWeatherAgentProcessingMessage, weatherAgentExamples } from './examples/weather-agent.js';
|
|
18
|
+
export { createCalculatorAgent, createGreetingAgent, startExampleServer } from './examples/server-example.js';
|
|
19
|
+
export declare const A2A: {
|
|
20
|
+
readonly agent: (config: {
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly description: string;
|
|
23
|
+
readonly instruction: string;
|
|
24
|
+
readonly tools: readonly import("./types.js").A2AAgentTool[];
|
|
25
|
+
readonly supportedContentTypes?: readonly string[];
|
|
26
|
+
}) => import("./types.js").A2AAgent;
|
|
27
|
+
readonly tool: <T>(config: {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly description: string;
|
|
30
|
+
readonly parameters: import("zod").ZodType<T>;
|
|
31
|
+
readonly execute: (args: T, context?: import("./types.js").ToolContext) => Promise<any | import("./types.js").A2AToolResult>;
|
|
32
|
+
}) => import("./types.js").A2AAgentTool;
|
|
33
|
+
readonly server: {
|
|
34
|
+
readonly create: (config: import("./types.js").A2AServerConfig) => Promise<{
|
|
35
|
+
app: import("fastify").FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>;
|
|
36
|
+
config: {
|
|
37
|
+
host: string;
|
|
38
|
+
capabilities: Partial<{
|
|
39
|
+
readonly streaming?: boolean;
|
|
40
|
+
readonly pushNotifications?: boolean;
|
|
41
|
+
readonly stateTransitionHistory?: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
agentCard: {
|
|
44
|
+
capabilities: Partial<{
|
|
45
|
+
readonly streaming?: boolean;
|
|
46
|
+
readonly pushNotifications?: boolean;
|
|
47
|
+
readonly stateTransitionHistory?: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
protocolVersion: string;
|
|
50
|
+
name: string;
|
|
51
|
+
description: string;
|
|
52
|
+
url: string;
|
|
53
|
+
preferredTransport?: string;
|
|
54
|
+
version: string;
|
|
55
|
+
provider?: {
|
|
56
|
+
readonly organization: string;
|
|
57
|
+
readonly url: string;
|
|
58
|
+
};
|
|
59
|
+
defaultInputModes: readonly string[];
|
|
60
|
+
defaultOutputModes: readonly string[];
|
|
61
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
62
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
63
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
64
|
+
};
|
|
65
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider;
|
|
66
|
+
protocolHandler: {
|
|
67
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
68
|
+
modelProvider: any;
|
|
69
|
+
agentCard: any;
|
|
70
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
|
|
71
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
|
|
72
|
+
};
|
|
73
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
74
|
+
port: number;
|
|
75
|
+
};
|
|
76
|
+
start: () => Promise<void>;
|
|
77
|
+
stop: () => Promise<void>;
|
|
78
|
+
addAgent: (name: string, agent: import("./types.js").A2AAgent) => {
|
|
79
|
+
host: string;
|
|
80
|
+
capabilities: Partial<{
|
|
81
|
+
readonly streaming?: boolean;
|
|
82
|
+
readonly pushNotifications?: boolean;
|
|
83
|
+
readonly stateTransitionHistory?: boolean;
|
|
84
|
+
}>;
|
|
85
|
+
agentCard: {
|
|
86
|
+
capabilities: Partial<{
|
|
87
|
+
readonly streaming?: boolean;
|
|
88
|
+
readonly pushNotifications?: boolean;
|
|
89
|
+
readonly stateTransitionHistory?: boolean;
|
|
90
|
+
}>;
|
|
91
|
+
protocolVersion: string;
|
|
92
|
+
name: string;
|
|
93
|
+
description: string;
|
|
94
|
+
url: string;
|
|
95
|
+
preferredTransport?: string;
|
|
96
|
+
version: string;
|
|
97
|
+
provider?: {
|
|
98
|
+
readonly organization: string;
|
|
99
|
+
readonly url: string;
|
|
100
|
+
};
|
|
101
|
+
defaultInputModes: readonly string[];
|
|
102
|
+
defaultOutputModes: readonly string[];
|
|
103
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
104
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
105
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
106
|
+
};
|
|
107
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider;
|
|
108
|
+
protocolHandler: {
|
|
109
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
110
|
+
modelProvider: any;
|
|
111
|
+
agentCard: any;
|
|
112
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
|
|
113
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
|
|
114
|
+
};
|
|
115
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
116
|
+
port: number;
|
|
117
|
+
};
|
|
118
|
+
removeAgent: (name: string) => {
|
|
119
|
+
host: string;
|
|
120
|
+
capabilities: Partial<{
|
|
121
|
+
readonly streaming?: boolean;
|
|
122
|
+
readonly pushNotifications?: boolean;
|
|
123
|
+
readonly stateTransitionHistory?: boolean;
|
|
124
|
+
}>;
|
|
125
|
+
agentCard: {
|
|
126
|
+
capabilities: Partial<{
|
|
127
|
+
readonly streaming?: boolean;
|
|
128
|
+
readonly pushNotifications?: boolean;
|
|
129
|
+
readonly stateTransitionHistory?: boolean;
|
|
130
|
+
}>;
|
|
131
|
+
protocolVersion: string;
|
|
132
|
+
name: string;
|
|
133
|
+
description: string;
|
|
134
|
+
url: string;
|
|
135
|
+
preferredTransport?: string;
|
|
136
|
+
version: string;
|
|
137
|
+
provider?: {
|
|
138
|
+
readonly organization: string;
|
|
139
|
+
readonly url: string;
|
|
140
|
+
};
|
|
141
|
+
defaultInputModes: readonly string[];
|
|
142
|
+
defaultOutputModes: readonly string[];
|
|
143
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
144
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
145
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
146
|
+
};
|
|
147
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider;
|
|
148
|
+
protocolHandler: {
|
|
149
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
150
|
+
modelProvider: any;
|
|
151
|
+
agentCard: any;
|
|
152
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
|
|
153
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
|
|
154
|
+
};
|
|
155
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
156
|
+
port: number;
|
|
157
|
+
};
|
|
158
|
+
getAgentCard: () => {
|
|
159
|
+
capabilities: Partial<{
|
|
160
|
+
readonly streaming?: boolean;
|
|
161
|
+
readonly pushNotifications?: boolean;
|
|
162
|
+
readonly stateTransitionHistory?: boolean;
|
|
163
|
+
}>;
|
|
164
|
+
protocolVersion: string;
|
|
165
|
+
name: string;
|
|
166
|
+
description: string;
|
|
167
|
+
url: string;
|
|
168
|
+
preferredTransport?: string;
|
|
169
|
+
version: string;
|
|
170
|
+
provider?: {
|
|
171
|
+
readonly organization: string;
|
|
172
|
+
readonly url: string;
|
|
173
|
+
};
|
|
174
|
+
defaultInputModes: readonly string[];
|
|
175
|
+
defaultOutputModes: readonly string[];
|
|
176
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
177
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
178
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
179
|
+
};
|
|
180
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest) => Promise<import("./types.js").JSONRPCResponse | AsyncIterable<import("./types.js").JSONRPCResponse>>;
|
|
181
|
+
}>;
|
|
182
|
+
readonly start: (config: import("./types.js").A2AServerConfig) => Promise<{
|
|
183
|
+
app: import("fastify").FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>;
|
|
184
|
+
config: {
|
|
185
|
+
host: string;
|
|
186
|
+
capabilities: Partial<{
|
|
187
|
+
readonly streaming?: boolean;
|
|
188
|
+
readonly pushNotifications?: boolean;
|
|
189
|
+
readonly stateTransitionHistory?: boolean;
|
|
190
|
+
}>;
|
|
191
|
+
agentCard: {
|
|
192
|
+
capabilities: Partial<{
|
|
193
|
+
readonly streaming?: boolean;
|
|
194
|
+
readonly pushNotifications?: boolean;
|
|
195
|
+
readonly stateTransitionHistory?: boolean;
|
|
196
|
+
}>;
|
|
197
|
+
protocolVersion: string;
|
|
198
|
+
name: string;
|
|
199
|
+
description: string;
|
|
200
|
+
url: string;
|
|
201
|
+
preferredTransport?: string;
|
|
202
|
+
version: string;
|
|
203
|
+
provider?: {
|
|
204
|
+
readonly organization: string;
|
|
205
|
+
readonly url: string;
|
|
206
|
+
};
|
|
207
|
+
defaultInputModes: readonly string[];
|
|
208
|
+
defaultOutputModes: readonly string[];
|
|
209
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
210
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
211
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
212
|
+
};
|
|
213
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider;
|
|
214
|
+
protocolHandler: {
|
|
215
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
216
|
+
modelProvider: any;
|
|
217
|
+
agentCard: any;
|
|
218
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
|
|
219
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
|
|
220
|
+
};
|
|
221
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
222
|
+
port: number;
|
|
223
|
+
};
|
|
224
|
+
start: () => Promise<void>;
|
|
225
|
+
stop: () => Promise<void>;
|
|
226
|
+
addAgent: (name: string, agent: import("./types.js").A2AAgent) => {
|
|
227
|
+
host: string;
|
|
228
|
+
capabilities: Partial<{
|
|
229
|
+
readonly streaming?: boolean;
|
|
230
|
+
readonly pushNotifications?: boolean;
|
|
231
|
+
readonly stateTransitionHistory?: boolean;
|
|
232
|
+
}>;
|
|
233
|
+
agentCard: {
|
|
234
|
+
capabilities: Partial<{
|
|
235
|
+
readonly streaming?: boolean;
|
|
236
|
+
readonly pushNotifications?: boolean;
|
|
237
|
+
readonly stateTransitionHistory?: boolean;
|
|
238
|
+
}>;
|
|
239
|
+
protocolVersion: string;
|
|
240
|
+
name: string;
|
|
241
|
+
description: string;
|
|
242
|
+
url: string;
|
|
243
|
+
preferredTransport?: string;
|
|
244
|
+
version: string;
|
|
245
|
+
provider?: {
|
|
246
|
+
readonly organization: string;
|
|
247
|
+
readonly url: string;
|
|
248
|
+
};
|
|
249
|
+
defaultInputModes: readonly string[];
|
|
250
|
+
defaultOutputModes: readonly string[];
|
|
251
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
252
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
253
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
254
|
+
};
|
|
255
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider;
|
|
256
|
+
protocolHandler: {
|
|
257
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
258
|
+
modelProvider: any;
|
|
259
|
+
agentCard: any;
|
|
260
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
|
|
261
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
|
|
262
|
+
};
|
|
263
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
264
|
+
port: number;
|
|
265
|
+
};
|
|
266
|
+
removeAgent: (name: string) => {
|
|
267
|
+
host: string;
|
|
268
|
+
capabilities: Partial<{
|
|
269
|
+
readonly streaming?: boolean;
|
|
270
|
+
readonly pushNotifications?: boolean;
|
|
271
|
+
readonly stateTransitionHistory?: boolean;
|
|
272
|
+
}>;
|
|
273
|
+
agentCard: {
|
|
274
|
+
capabilities: Partial<{
|
|
275
|
+
readonly streaming?: boolean;
|
|
276
|
+
readonly pushNotifications?: boolean;
|
|
277
|
+
readonly stateTransitionHistory?: boolean;
|
|
278
|
+
}>;
|
|
279
|
+
protocolVersion: string;
|
|
280
|
+
name: string;
|
|
281
|
+
description: string;
|
|
282
|
+
url: string;
|
|
283
|
+
preferredTransport?: string;
|
|
284
|
+
version: string;
|
|
285
|
+
provider?: {
|
|
286
|
+
readonly organization: string;
|
|
287
|
+
readonly url: string;
|
|
288
|
+
};
|
|
289
|
+
defaultInputModes: readonly string[];
|
|
290
|
+
defaultOutputModes: readonly string[];
|
|
291
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
292
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
293
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
294
|
+
};
|
|
295
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider;
|
|
296
|
+
protocolHandler: {
|
|
297
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
298
|
+
modelProvider: any;
|
|
299
|
+
agentCard: any;
|
|
300
|
+
taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
|
|
301
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
|
|
302
|
+
};
|
|
303
|
+
agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
|
|
304
|
+
port: number;
|
|
305
|
+
};
|
|
306
|
+
getAgentCard: () => {
|
|
307
|
+
capabilities: Partial<{
|
|
308
|
+
readonly streaming?: boolean;
|
|
309
|
+
readonly pushNotifications?: boolean;
|
|
310
|
+
readonly stateTransitionHistory?: boolean;
|
|
311
|
+
}>;
|
|
312
|
+
protocolVersion: string;
|
|
313
|
+
name: string;
|
|
314
|
+
description: string;
|
|
315
|
+
url: string;
|
|
316
|
+
preferredTransport?: string;
|
|
317
|
+
version: string;
|
|
318
|
+
provider?: {
|
|
319
|
+
readonly organization: string;
|
|
320
|
+
readonly url: string;
|
|
321
|
+
};
|
|
322
|
+
defaultInputModes: readonly string[];
|
|
323
|
+
defaultOutputModes: readonly string[];
|
|
324
|
+
skills: readonly import("./types.js").AgentSkill[];
|
|
325
|
+
securitySchemes?: Readonly<Record<string, any>>;
|
|
326
|
+
security?: readonly Record<string, readonly string[]>[];
|
|
327
|
+
};
|
|
328
|
+
handleRequest: (request: import("./types.js").JSONRPCRequest) => Promise<import("./types.js").JSONRPCResponse | AsyncIterable<import("./types.js").JSONRPCResponse>>;
|
|
329
|
+
}>;
|
|
330
|
+
};
|
|
331
|
+
readonly client: {
|
|
332
|
+
readonly create: (baseUrl: string, config?: Partial<import("./types.js").A2AClientConfig>) => import("./types.js").A2AClientState;
|
|
333
|
+
readonly connect: (baseUrl: string) => Promise<{
|
|
334
|
+
client: import("./types.js").A2AClientState;
|
|
335
|
+
agentCard: import("./types.js").AgentCard;
|
|
336
|
+
ask: (message: string, config?: any) => Promise<string>;
|
|
337
|
+
stream: (message: string, config?: any) => AsyncGenerator<import("./types.js").A2AStreamEvent, void, unknown>;
|
|
338
|
+
health: () => Promise<{
|
|
339
|
+
status: string;
|
|
340
|
+
agents: string[];
|
|
341
|
+
timestamp: string;
|
|
342
|
+
}>;
|
|
343
|
+
capabilities: () => Promise<any>;
|
|
344
|
+
}>;
|
|
345
|
+
readonly discover: (baseUrl: string) => Promise<import("./types.js").AgentCard>;
|
|
346
|
+
};
|
|
347
|
+
readonly protocol: {
|
|
348
|
+
readonly validate: (request: any) => request is import("./types.js").JSONRPCRequest;
|
|
349
|
+
readonly createSuccess: (id: string | number, result: any) => import("./types.js").JSONRPCResponse;
|
|
350
|
+
readonly createError: (id: string | number | null, error: import("./types.js").JSONRPCError) => import("./types.js").JSONRPCResponse;
|
|
351
|
+
};
|
|
352
|
+
readonly card: {
|
|
353
|
+
readonly generate: (config: import("./types.js").A2AServerConfig["agentCard"], agents: ReadonlyMap<string, import("./types.js").A2AAgent>, baseUrl?: string) => import("./types.js").AgentCard;
|
|
354
|
+
readonly validate: (card: import("./types.js").AgentCard) => {
|
|
355
|
+
isValid: boolean;
|
|
356
|
+
errors: readonly string[];
|
|
357
|
+
};
|
|
358
|
+
readonly minimal: (name: string, description: string, url?: string) => import("./types.js").AgentCard;
|
|
359
|
+
};
|
|
360
|
+
readonly memory: {
|
|
361
|
+
readonly createTaskProvider: (config: import("./memory/types.js").A2ATaskProviderConfig, externalClients?: {
|
|
362
|
+
redis?: any;
|
|
363
|
+
postgres?: any;
|
|
364
|
+
}) => Promise<import("./memory/types.js").A2ATaskProvider>;
|
|
365
|
+
readonly createSimpleTaskProvider: typeof createSimpleA2ATaskProvider;
|
|
366
|
+
readonly createCompositeTaskProvider: (primary: import("./memory/types.js").A2ATaskProvider, fallback?: import("./memory/types.js").A2ATaskProvider) => import("./memory/types.js").A2ATaskProvider;
|
|
367
|
+
readonly createTaskProviderFromEnv: (externalClients?: {
|
|
368
|
+
redis?: any;
|
|
369
|
+
postgres?: any;
|
|
370
|
+
}) => Promise<import("./memory/types.js").A2ATaskProvider>;
|
|
371
|
+
readonly validateTaskProviderConfig: (config: any) => {
|
|
372
|
+
valid: boolean;
|
|
373
|
+
errors: string[];
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
};
|
|
377
|
+
export default A2A;
|
|
378
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A Integration for JAF - Main Export
|
|
3
|
+
* Pure functional A2A protocol support for Functional Agent Framework
|
|
4
|
+
*/
|
|
5
|
+
// Agent Creation Functions
|
|
6
|
+
import { createA2AAgent, createA2ATool } from './agent.js';
|
|
7
|
+
export { createA2AAgent, createA2ATool, getProcessingMessage, createInitialAgentState, addMessageToState, updateStateFromRunResult, createUserMessage, transformA2AAgentToJAF, transformA2AToolToJAF, createRunConfigForA2AAgent, transformToRunState, processAgentQuery, extractTextFromA2AMessage, createA2ATextMessage, createA2ADataMessage, createA2ATask, updateA2ATaskStatus, addArtifactToA2ATask, completeA2ATask } from './agent.js';
|
|
8
|
+
// Execution Functions
|
|
9
|
+
export { executeA2AAgent, convertToA2AStreamEvents, executeA2AAgentWithStreaming } from './executor.js';
|
|
10
|
+
// Protocol Handlers
|
|
11
|
+
import { validateJSONRPCRequest, createJSONRPCSuccessResponse, createJSONRPCErrorResponse } from './protocol.js';
|
|
12
|
+
export { validateJSONRPCRequest, createJSONRPCSuccessResponse, createJSONRPCErrorResponse, createA2AError, mapErrorToA2AError, validateSendMessageRequest, handleMessageSend, handleMessageStream, handleTasksGet, handleTasksCancel, handleGetAuthenticatedExtendedCard, routeA2ARequest, createProtocolHandlerConfig } from './protocol.js';
|
|
13
|
+
// Agent Card Generation
|
|
14
|
+
import { generateAgentCard, validateAgentCard, createMinimalAgentCard } from './agent-card.js';
|
|
15
|
+
export { generateAgentCard, generateSkillsFromAgents, generateExamplesForAgent, generateExamplesForTool, generateSecuritySchemes, generateSecurityRequirements, generateAgentCardForAgent, validateAgentCard, createMinimalAgentCard, mergeAgentCards, createAgentCardFromConfig } from './agent-card.js';
|
|
16
|
+
// Server Functions
|
|
17
|
+
import { createA2AServer, startA2AServer } from './server.js';
|
|
18
|
+
export { createA2AServer, startA2AServer } from './server.js';
|
|
19
|
+
// Client Functions
|
|
20
|
+
import { createA2AClient, discoverAgents, connectToA2AAgent } from './client.js';
|
|
21
|
+
// Memory Functions
|
|
22
|
+
import { createA2ATaskProvider, createSimpleA2ATaskProvider, createCompositeA2ATaskProvider, createA2ATaskProviderFromEnv, validateA2ATaskProviderConfig } from './memory/factory.js';
|
|
23
|
+
export { createA2AClient, createMessageRequest, createStreamingMessageRequest, sendA2ARequest, sendMessage, streamMessage, getAgentCard, discoverAgents, sendMessageToAgent, streamMessageToAgent, extractTextResponse, checkA2AHealth, getA2ACapabilities, connectToA2AAgent } from './client.js';
|
|
24
|
+
// Error Codes
|
|
25
|
+
export { A2AErrorCodes } from './types.js';
|
|
26
|
+
// Validation Schemas
|
|
27
|
+
export { a2aMessageSchema, sendMessageRequestSchema } from './types.js';
|
|
28
|
+
// Memory and Task Provider Support
|
|
29
|
+
export * from './memory/index.js';
|
|
30
|
+
// Example Agents (optional, for development and testing)
|
|
31
|
+
export { createWeatherAgent, getWeatherAgentProcessingMessage, weatherAgentExamples } from './examples/weather-agent.js';
|
|
32
|
+
export { createCalculatorAgent, createGreetingAgent, startExampleServer } from './examples/server-example.js';
|
|
33
|
+
// Convenience functions for common use cases
|
|
34
|
+
export const A2A = {
|
|
35
|
+
// Quick agent creation
|
|
36
|
+
agent: createA2AAgent,
|
|
37
|
+
tool: createA2ATool,
|
|
38
|
+
// Quick server setup
|
|
39
|
+
server: {
|
|
40
|
+
create: createA2AServer,
|
|
41
|
+
start: startA2AServer
|
|
42
|
+
},
|
|
43
|
+
// Quick client setup
|
|
44
|
+
client: {
|
|
45
|
+
create: createA2AClient,
|
|
46
|
+
connect: connectToA2AAgent,
|
|
47
|
+
discover: discoverAgents
|
|
48
|
+
},
|
|
49
|
+
// Protocol utilities
|
|
50
|
+
protocol: {
|
|
51
|
+
validate: validateJSONRPCRequest,
|
|
52
|
+
createSuccess: createJSONRPCSuccessResponse,
|
|
53
|
+
createError: createJSONRPCErrorResponse
|
|
54
|
+
},
|
|
55
|
+
// Agent card utilities
|
|
56
|
+
card: {
|
|
57
|
+
generate: generateAgentCard,
|
|
58
|
+
validate: validateAgentCard,
|
|
59
|
+
minimal: createMinimalAgentCard
|
|
60
|
+
},
|
|
61
|
+
// Task memory utilities
|
|
62
|
+
memory: {
|
|
63
|
+
createTaskProvider: createA2ATaskProvider,
|
|
64
|
+
createSimpleTaskProvider: createSimpleA2ATaskProvider,
|
|
65
|
+
createCompositeTaskProvider: createCompositeA2ATaskProvider,
|
|
66
|
+
createTaskProviderFromEnv: createA2ATaskProviderFromEnv,
|
|
67
|
+
validateTaskProviderConfig: validateA2ATaskProviderConfig
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
// Default export for convenience
|
|
71
|
+
export default A2A;
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A Task Cleanup Service for JAF
|
|
3
|
+
* Pure functional cleanup and expiration policies for A2A tasks
|
|
4
|
+
*/
|
|
5
|
+
import { A2ATaskProvider, A2AResult } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration for task cleanup policies
|
|
8
|
+
*/
|
|
9
|
+
export interface A2ATaskCleanupConfig {
|
|
10
|
+
readonly enabled: boolean;
|
|
11
|
+
readonly interval: number;
|
|
12
|
+
readonly maxAge: number;
|
|
13
|
+
readonly maxCompletedTasks: number;
|
|
14
|
+
readonly maxFailedTasks: number;
|
|
15
|
+
readonly retainStates: readonly string[];
|
|
16
|
+
readonly batchSize: number;
|
|
17
|
+
readonly dryRun: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Default cleanup configuration
|
|
21
|
+
*/
|
|
22
|
+
export declare const defaultCleanupConfig: A2ATaskCleanupConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Result type for cleanup operations
|
|
25
|
+
*/
|
|
26
|
+
export interface CleanupResult {
|
|
27
|
+
readonly expiredCleaned: number;
|
|
28
|
+
readonly excessCompletedCleaned: number;
|
|
29
|
+
readonly excessFailedCleaned: number;
|
|
30
|
+
readonly totalCleaned: number;
|
|
31
|
+
readonly errors: readonly string[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Pure function to perform task cleanup
|
|
35
|
+
*/
|
|
36
|
+
export declare const performTaskCleanup: (taskProvider: A2ATaskProvider, config?: A2ATaskCleanupConfig) => Promise<A2AResult<CleanupResult>>;
|
|
37
|
+
/**
|
|
38
|
+
* Pure function to create a cleanup scheduler
|
|
39
|
+
*/
|
|
40
|
+
export declare const createTaskCleanupScheduler: (taskProvider: A2ATaskProvider, config?: A2ATaskCleanupConfig) => {
|
|
41
|
+
start: () => void;
|
|
42
|
+
stop: () => void;
|
|
43
|
+
runOnce: () => Promise<A2AResult<CleanupResult>>;
|
|
44
|
+
isRunning: () => boolean;
|
|
45
|
+
config: A2ATaskCleanupConfig;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Pure function to validate cleanup configuration
|
|
49
|
+
*/
|
|
50
|
+
export declare const validateCleanupConfig: (config: Partial<A2ATaskCleanupConfig>) => {
|
|
51
|
+
valid: boolean;
|
|
52
|
+
errors: string[];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Helper function to create cleanup config from environment variables
|
|
56
|
+
*/
|
|
57
|
+
export declare const createCleanupConfigFromEnv: () => A2ATaskCleanupConfig;
|
|
58
|
+
//# sourceMappingURL=cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/a2a/memory/cleanup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAA2D,MAAM,YAAY,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBASlC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,eAAe,EAC7B,SAAQ,oBAA2C,KAClD,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAwKlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,SAAQ,oBAA2C;;;;;;CA0DpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,OAAO,CAAC,oBAAoB,CAAC,KAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CA2B/G,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAO,oBAW7C,CAAC"}
|