@agent-relay/sdk 3.2.2 → 3.2.4
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/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/client.d.ts +66 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +230 -0
- package/dist/client.js.map +1 -1
- package/dist/communicate/a2a-bridge.d.ts +25 -0
- package/dist/communicate/a2a-bridge.d.ts.map +1 -0
- package/dist/communicate/a2a-bridge.js +89 -0
- package/dist/communicate/a2a-bridge.js.map +1 -0
- package/dist/communicate/a2a-server.d.ts +31 -0
- package/dist/communicate/a2a-server.d.ts.map +1 -0
- package/dist/communicate/a2a-server.js +220 -0
- package/dist/communicate/a2a-server.js.map +1 -0
- package/dist/communicate/a2a-transport.d.ts +48 -0
- package/dist/communicate/a2a-transport.d.ts.map +1 -0
- package/dist/communicate/a2a-transport.js +302 -0
- package/dist/communicate/a2a-transport.js.map +1 -0
- package/dist/communicate/a2a-types.d.ts +107 -0
- package/dist/communicate/a2a-types.d.ts.map +1 -0
- package/dist/communicate/a2a-types.js +209 -0
- package/dist/communicate/a2a-types.js.map +1 -0
- package/dist/communicate/adapters/claude-sdk.d.ts +28 -0
- package/dist/communicate/adapters/claude-sdk.d.ts.map +1 -0
- package/dist/communicate/adapters/claude-sdk.js +47 -0
- package/dist/communicate/adapters/claude-sdk.js.map +1 -0
- package/dist/communicate/adapters/crewai.d.ts +42 -0
- package/dist/communicate/adapters/crewai.d.ts.map +1 -0
- package/dist/communicate/adapters/crewai.js +95 -0
- package/dist/communicate/adapters/crewai.js.map +1 -0
- package/dist/communicate/adapters/google-adk.d.ts +53 -0
- package/dist/communicate/adapters/google-adk.d.ts.map +1 -0
- package/dist/communicate/adapters/google-adk.js +77 -0
- package/dist/communicate/adapters/google-adk.js.map +1 -0
- package/dist/communicate/adapters/index.d.ts +7 -0
- package/dist/communicate/adapters/index.d.ts.map +1 -0
- package/dist/communicate/adapters/index.js +7 -0
- package/dist/communicate/adapters/index.js.map +1 -0
- package/dist/communicate/adapters/langgraph.d.ts +40 -0
- package/dist/communicate/adapters/langgraph.d.ts.map +1 -0
- package/dist/communicate/adapters/langgraph.js +77 -0
- package/dist/communicate/adapters/langgraph.js.map +1 -0
- package/dist/communicate/adapters/openai-agents.d.ts +25 -0
- package/dist/communicate/adapters/openai-agents.d.ts.map +1 -0
- package/dist/communicate/adapters/openai-agents.js +70 -0
- package/dist/communicate/adapters/openai-agents.js.map +1 -0
- package/dist/communicate/adapters/pi.d.ts +45 -0
- package/dist/communicate/adapters/pi.d.ts.map +1 -0
- package/dist/communicate/adapters/pi.js +59 -0
- package/dist/communicate/adapters/pi.js.map +1 -0
- package/dist/communicate/core.d.ts +58 -0
- package/dist/communicate/core.d.ts.map +1 -0
- package/dist/communicate/core.js +128 -0
- package/dist/communicate/core.js.map +1 -0
- package/dist/communicate/index.d.ts +4 -0
- package/dist/communicate/index.d.ts.map +1 -0
- package/dist/communicate/index.js +4 -0
- package/dist/communicate/index.js.map +1 -0
- package/dist/communicate/transport.d.ts +36 -0
- package/dist/communicate/transport.d.ts.map +1 -0
- package/dist/communicate/transport.js +371 -0
- package/dist/communicate/transport.js.map +1 -0
- package/dist/communicate/types.d.ts +58 -0
- package/dist/communicate/types.d.ts.map +1 -0
- package/dist/communicate/types.js +66 -0
- package/dist/communicate/types.js.map +1 -0
- package/dist/workflows/builder.d.ts +35 -5
- package/dist/workflows/builder.d.ts.map +1 -1
- package/dist/workflows/builder.js +81 -7
- package/dist/workflows/builder.js.map +1 -1
- package/dist/workflows/cli.js +14 -1
- package/dist/workflows/cli.js.map +1 -1
- package/dist/workflows/runner.d.ts +10 -2
- package/dist/workflows/runner.d.ts.map +1 -1
- package/dist/workflows/runner.js +95 -1
- package/dist/workflows/runner.js.map +1 -1
- package/dist/workflows/types.d.ts +11 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +48 -2
- package/dist/__tests__/completion-pipeline.test.d.ts +0 -14
- package/dist/__tests__/completion-pipeline.test.d.ts.map +0 -1
- package/dist/__tests__/completion-pipeline.test.js +0 -1476
- package/dist/__tests__/completion-pipeline.test.js.map +0 -1
- package/dist/__tests__/contract-fixtures.test.d.ts +0 -2
- package/dist/__tests__/contract-fixtures.test.d.ts.map +0 -1
- package/dist/__tests__/contract-fixtures.test.js +0 -152
- package/dist/__tests__/contract-fixtures.test.js.map +0 -1
- package/dist/__tests__/e2e-owner-review.test.d.ts +0 -16
- package/dist/__tests__/e2e-owner-review.test.d.ts.map +0 -1
- package/dist/__tests__/e2e-owner-review.test.js +0 -640
- package/dist/__tests__/e2e-owner-review.test.js.map +0 -1
- package/dist/__tests__/facade.test.d.ts +0 -2
- package/dist/__tests__/facade.test.d.ts.map +0 -1
- package/dist/__tests__/facade.test.js +0 -305
- package/dist/__tests__/facade.test.js.map +0 -1
- package/dist/__tests__/integration.test.d.ts +0 -2
- package/dist/__tests__/integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration.test.js +0 -205
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/__tests__/pty.test.d.ts +0 -2
- package/dist/__tests__/pty.test.d.ts.map +0 -1
- package/dist/__tests__/pty.test.js +0 -20
- package/dist/__tests__/pty.test.js.map +0 -1
- package/dist/__tests__/quickstart.test.d.ts +0 -2
- package/dist/__tests__/quickstart.test.d.ts.map +0 -1
- package/dist/__tests__/quickstart.test.js +0 -176
- package/dist/__tests__/quickstart.test.js.map +0 -1
- package/dist/__tests__/spawn-from-env.test.d.ts +0 -2
- package/dist/__tests__/spawn-from-env.test.d.ts.map +0 -1
- package/dist/__tests__/spawn-from-env.test.js +0 -222
- package/dist/__tests__/spawn-from-env.test.js.map +0 -1
- package/dist/__tests__/unit.test.d.ts +0 -2
- package/dist/__tests__/unit.test.d.ts.map +0 -1
- package/dist/__tests__/unit.test.js +0 -357
- package/dist/__tests__/unit.test.js.map +0 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A (Agent-to-Agent) protocol data model types.
|
|
3
|
+
*/
|
|
4
|
+
export interface A2APart {
|
|
5
|
+
text?: string;
|
|
6
|
+
file?: Record<string, unknown>;
|
|
7
|
+
data?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface A2AMessage {
|
|
10
|
+
role: 'user' | 'agent';
|
|
11
|
+
parts: A2APart[];
|
|
12
|
+
messageId?: string;
|
|
13
|
+
contextId?: string;
|
|
14
|
+
taskId?: string;
|
|
15
|
+
}
|
|
16
|
+
export type A2ATaskState = 'submitted' | 'working' | 'completed' | 'failed' | 'canceled';
|
|
17
|
+
export declare const VALID_TASK_STATES: ReadonlySet<string>;
|
|
18
|
+
export interface A2ATaskStatus {
|
|
19
|
+
state: A2ATaskState;
|
|
20
|
+
message?: A2AMessage;
|
|
21
|
+
timestamp?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface A2ATask {
|
|
24
|
+
id: string;
|
|
25
|
+
contextId?: string;
|
|
26
|
+
status: A2ATaskStatus;
|
|
27
|
+
messages: A2AMessage[];
|
|
28
|
+
artifacts: Record<string, unknown>[];
|
|
29
|
+
}
|
|
30
|
+
export interface A2ASkill {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
}
|
|
35
|
+
export interface A2AAgentCard {
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
url: string;
|
|
39
|
+
version: string;
|
|
40
|
+
capabilities: Record<string, unknown>;
|
|
41
|
+
skills: A2ASkill[];
|
|
42
|
+
defaultInputModes: string[];
|
|
43
|
+
defaultOutputModes: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface A2AConfig {
|
|
46
|
+
/** Server mode */
|
|
47
|
+
serverPort?: number;
|
|
48
|
+
serverHost?: string;
|
|
49
|
+
/** Client mode */
|
|
50
|
+
targetUrl?: string;
|
|
51
|
+
/** Agent Card registry (known A2A agent URLs) */
|
|
52
|
+
registry?: string[];
|
|
53
|
+
/** Auth */
|
|
54
|
+
authScheme?: 'bearer' | 'api_key' | string;
|
|
55
|
+
authToken?: string;
|
|
56
|
+
/** Agent metadata */
|
|
57
|
+
agentDescription?: string;
|
|
58
|
+
skills?: A2ASkill[];
|
|
59
|
+
}
|
|
60
|
+
export declare function createA2APart(text?: string): A2APart;
|
|
61
|
+
export declare function createA2AMessage(role: 'user' | 'agent', parts: A2APart[], opts?: {
|
|
62
|
+
messageId?: string;
|
|
63
|
+
contextId?: string;
|
|
64
|
+
taskId?: string;
|
|
65
|
+
}): A2AMessage;
|
|
66
|
+
export declare function createA2ATaskStatus(state: A2ATaskState, message?: A2AMessage): A2ATaskStatus;
|
|
67
|
+
export declare function createA2ATask(id: string, contextId?: string): A2ATask;
|
|
68
|
+
export declare function createA2AAgentCard(name: string, description: string, url: string, skills?: A2ASkill[]): A2AAgentCard;
|
|
69
|
+
export declare function a2aPartToDict(part: A2APart): Record<string, unknown>;
|
|
70
|
+
export declare function a2aPartFromDict(d: Record<string, unknown>): A2APart;
|
|
71
|
+
export declare function a2aMessageToDict(msg: A2AMessage): Record<string, unknown>;
|
|
72
|
+
export declare function a2aMessageFromDict(d: Record<string, unknown>): A2AMessage;
|
|
73
|
+
export declare function a2aMessageGetText(msg: A2AMessage): string;
|
|
74
|
+
export declare function a2aTaskStatusToDict(status: A2ATaskStatus): Record<string, unknown>;
|
|
75
|
+
export declare function a2aTaskStatusFromDict(d: Record<string, unknown>): A2ATaskStatus;
|
|
76
|
+
export declare function a2aTaskToDict(task: A2ATask): Record<string, unknown>;
|
|
77
|
+
export declare function a2aTaskFromDict(d: Record<string, unknown>): A2ATask;
|
|
78
|
+
export declare function a2aSkillToDict(skill: A2ASkill): Record<string, unknown>;
|
|
79
|
+
export declare function a2aSkillFromDict(d: Record<string, unknown>): A2ASkill;
|
|
80
|
+
export declare function a2aAgentCardToDict(card: A2AAgentCard): Record<string, unknown>;
|
|
81
|
+
export declare function a2aAgentCardFromDict(d: Record<string, unknown>): A2AAgentCard;
|
|
82
|
+
export interface JsonRpcRequest {
|
|
83
|
+
jsonrpc: '2.0';
|
|
84
|
+
method: string;
|
|
85
|
+
params: Record<string, unknown>;
|
|
86
|
+
id: string | number;
|
|
87
|
+
}
|
|
88
|
+
export interface JsonRpcResponse {
|
|
89
|
+
jsonrpc: '2.0';
|
|
90
|
+
result?: unknown;
|
|
91
|
+
error?: {
|
|
92
|
+
code: number;
|
|
93
|
+
message: string;
|
|
94
|
+
};
|
|
95
|
+
id: string | number | null;
|
|
96
|
+
}
|
|
97
|
+
export declare function makeJsonRpcRequest(method: string, params: Record<string, unknown>, id?: string | number): JsonRpcRequest;
|
|
98
|
+
export declare function makeJsonRpcResponse(result: unknown, id: string | number): JsonRpcResponse;
|
|
99
|
+
export declare function makeJsonRpcError(code: number, message: string, id: string | number | null): JsonRpcResponse;
|
|
100
|
+
export declare const JSONRPC_PARSE_ERROR = -32700;
|
|
101
|
+
export declare const JSONRPC_INVALID_REQUEST = -32600;
|
|
102
|
+
export declare const JSONRPC_METHOD_NOT_FOUND = -32601;
|
|
103
|
+
export declare const JSONRPC_INVALID_PARAMS = -32602;
|
|
104
|
+
export declare const JSONRPC_INTERNAL_ERROR = -32603;
|
|
105
|
+
export declare const A2A_TASK_NOT_FOUND = -32001;
|
|
106
|
+
export declare const A2A_TASK_NOT_CANCELABLE = -32002;
|
|
107
|
+
//# sourceMappingURL=a2a-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a-types.d.ts","sourceRoot":"","sources":["../../src/communicate/a2a-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A (Agent-to-Agent) protocol data model types.
|
|
3
|
+
*/
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
5
|
+
export const VALID_TASK_STATES = new Set([
|
|
6
|
+
'submitted',
|
|
7
|
+
'working',
|
|
8
|
+
'completed',
|
|
9
|
+
'failed',
|
|
10
|
+
'canceled',
|
|
11
|
+
]);
|
|
12
|
+
// --- Factories ---
|
|
13
|
+
export function createA2APart(text) {
|
|
14
|
+
const part = {};
|
|
15
|
+
if (text !== undefined)
|
|
16
|
+
part.text = text;
|
|
17
|
+
return part;
|
|
18
|
+
}
|
|
19
|
+
export function createA2AMessage(role, parts, opts) {
|
|
20
|
+
return {
|
|
21
|
+
role,
|
|
22
|
+
parts,
|
|
23
|
+
messageId: opts?.messageId ?? randomUUID(),
|
|
24
|
+
contextId: opts?.contextId,
|
|
25
|
+
taskId: opts?.taskId,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export function createA2ATaskStatus(state, message) {
|
|
29
|
+
return {
|
|
30
|
+
state,
|
|
31
|
+
message,
|
|
32
|
+
timestamp: new Date().toISOString(),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function createA2ATask(id, contextId) {
|
|
36
|
+
return {
|
|
37
|
+
id,
|
|
38
|
+
contextId,
|
|
39
|
+
status: createA2ATaskStatus('submitted'),
|
|
40
|
+
messages: [],
|
|
41
|
+
artifacts: [],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function createA2AAgentCard(name, description, url, skills = []) {
|
|
45
|
+
return {
|
|
46
|
+
name,
|
|
47
|
+
description,
|
|
48
|
+
url,
|
|
49
|
+
version: '1.0.0',
|
|
50
|
+
capabilities: { streaming: true, pushNotifications: false },
|
|
51
|
+
skills,
|
|
52
|
+
defaultInputModes: ['text'],
|
|
53
|
+
defaultOutputModes: ['text'],
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
// --- Serialization helpers ---
|
|
57
|
+
export function a2aPartToDict(part) {
|
|
58
|
+
const d = {};
|
|
59
|
+
if (part.text !== undefined)
|
|
60
|
+
d.text = part.text;
|
|
61
|
+
if (part.file !== undefined)
|
|
62
|
+
d.file = part.file;
|
|
63
|
+
if (part.data !== undefined)
|
|
64
|
+
d.data = part.data;
|
|
65
|
+
return d;
|
|
66
|
+
}
|
|
67
|
+
export function a2aPartFromDict(d) {
|
|
68
|
+
return {
|
|
69
|
+
text: d.text,
|
|
70
|
+
file: d.file,
|
|
71
|
+
data: d.data,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function a2aMessageToDict(msg) {
|
|
75
|
+
const d = {
|
|
76
|
+
role: msg.role,
|
|
77
|
+
parts: msg.parts.map(a2aPartToDict),
|
|
78
|
+
};
|
|
79
|
+
if (msg.messageId !== undefined)
|
|
80
|
+
d.messageId = msg.messageId;
|
|
81
|
+
if (msg.contextId !== undefined)
|
|
82
|
+
d.contextId = msg.contextId;
|
|
83
|
+
if (msg.taskId !== undefined)
|
|
84
|
+
d.taskId = msg.taskId;
|
|
85
|
+
return d;
|
|
86
|
+
}
|
|
87
|
+
export function a2aMessageFromDict(d) {
|
|
88
|
+
const parts = (d.parts ?? []).map(a2aPartFromDict);
|
|
89
|
+
return {
|
|
90
|
+
role: d.role,
|
|
91
|
+
parts,
|
|
92
|
+
messageId: d.messageId,
|
|
93
|
+
contextId: d.contextId,
|
|
94
|
+
taskId: d.taskId,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export function a2aMessageGetText(msg) {
|
|
98
|
+
return msg.parts
|
|
99
|
+
.filter((p) => p.text)
|
|
100
|
+
.map((p) => p.text)
|
|
101
|
+
.join(' ');
|
|
102
|
+
}
|
|
103
|
+
export function a2aTaskStatusToDict(status) {
|
|
104
|
+
const d = { state: status.state };
|
|
105
|
+
if (status.message !== undefined)
|
|
106
|
+
d.message = a2aMessageToDict(status.message);
|
|
107
|
+
if (status.timestamp !== undefined)
|
|
108
|
+
d.timestamp = status.timestamp;
|
|
109
|
+
return d;
|
|
110
|
+
}
|
|
111
|
+
export function a2aTaskStatusFromDict(d) {
|
|
112
|
+
let message;
|
|
113
|
+
if (d.message !== undefined && d.message !== null) {
|
|
114
|
+
message = a2aMessageFromDict(d.message);
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
state: d.state,
|
|
118
|
+
message,
|
|
119
|
+
timestamp: d.timestamp,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export function a2aTaskToDict(task) {
|
|
123
|
+
return {
|
|
124
|
+
id: task.id,
|
|
125
|
+
contextId: task.contextId,
|
|
126
|
+
status: a2aTaskStatusToDict(task.status),
|
|
127
|
+
messages: task.messages.map(a2aMessageToDict),
|
|
128
|
+
artifacts: task.artifacts,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export function a2aTaskFromDict(d) {
|
|
132
|
+
const status = d.status
|
|
133
|
+
? a2aTaskStatusFromDict(d.status)
|
|
134
|
+
: createA2ATaskStatus('submitted');
|
|
135
|
+
const messages = (d.messages ?? []).map(a2aMessageFromDict);
|
|
136
|
+
return {
|
|
137
|
+
id: d.id,
|
|
138
|
+
contextId: d.contextId,
|
|
139
|
+
status,
|
|
140
|
+
messages,
|
|
141
|
+
artifacts: d.artifacts ?? [],
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
export function a2aSkillToDict(skill) {
|
|
145
|
+
return { id: skill.id, name: skill.name, description: skill.description };
|
|
146
|
+
}
|
|
147
|
+
export function a2aSkillFromDict(d) {
|
|
148
|
+
return {
|
|
149
|
+
id: d.id,
|
|
150
|
+
name: d.name,
|
|
151
|
+
description: d.description,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export function a2aAgentCardToDict(card) {
|
|
155
|
+
return {
|
|
156
|
+
name: card.name,
|
|
157
|
+
description: card.description,
|
|
158
|
+
url: card.url,
|
|
159
|
+
version: card.version,
|
|
160
|
+
capabilities: card.capabilities,
|
|
161
|
+
skills: card.skills.map(a2aSkillToDict),
|
|
162
|
+
defaultInputModes: card.defaultInputModes,
|
|
163
|
+
defaultOutputModes: card.defaultOutputModes,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
export function a2aAgentCardFromDict(d) {
|
|
167
|
+
const skills = (d.skills ?? []).map(a2aSkillFromDict);
|
|
168
|
+
return {
|
|
169
|
+
name: d.name,
|
|
170
|
+
description: d.description,
|
|
171
|
+
url: d.url,
|
|
172
|
+
version: d.version ?? '1.0.0',
|
|
173
|
+
capabilities: d.capabilities ?? {
|
|
174
|
+
streaming: true,
|
|
175
|
+
pushNotifications: false,
|
|
176
|
+
},
|
|
177
|
+
skills,
|
|
178
|
+
defaultInputModes: d.defaultInputModes ?? ['text'],
|
|
179
|
+
defaultOutputModes: d.defaultOutputModes ?? ['text'],
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export function makeJsonRpcRequest(method, params, id) {
|
|
183
|
+
return {
|
|
184
|
+
jsonrpc: '2.0',
|
|
185
|
+
method,
|
|
186
|
+
params,
|
|
187
|
+
id: id ?? randomUUID(),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export function makeJsonRpcResponse(result, id) {
|
|
191
|
+
return { jsonrpc: '2.0', result, id };
|
|
192
|
+
}
|
|
193
|
+
export function makeJsonRpcError(code, message, id) {
|
|
194
|
+
return {
|
|
195
|
+
jsonrpc: '2.0',
|
|
196
|
+
error: { code, message },
|
|
197
|
+
id,
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
// Standard JSON-RPC error codes
|
|
201
|
+
export const JSONRPC_PARSE_ERROR = -32700;
|
|
202
|
+
export const JSONRPC_INVALID_REQUEST = -32600;
|
|
203
|
+
export const JSONRPC_METHOD_NOT_FOUND = -32601;
|
|
204
|
+
export const JSONRPC_INVALID_PARAMS = -32602;
|
|
205
|
+
export const JSONRPC_INTERNAL_ERROR = -32603;
|
|
206
|
+
// A2A-specific error codes
|
|
207
|
+
export const A2A_TASK_NOT_FOUND = -32001;
|
|
208
|
+
export const A2A_TASK_NOT_CANCELABLE = -32002;
|
|
209
|
+
//# sourceMappingURL=a2a-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a-types.js","sourceRoot":"","sources":["../../src/communicate/a2a-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Message } from '../types.js';
|
|
2
|
+
type HookResult = {
|
|
3
|
+
continue?: boolean;
|
|
4
|
+
systemMessage?: string;
|
|
5
|
+
};
|
|
6
|
+
type HookCallback = (...args: unknown[]) => Promise<HookResult>;
|
|
7
|
+
type HookMatcher = {
|
|
8
|
+
matcher?: string;
|
|
9
|
+
hooks: HookCallback[];
|
|
10
|
+
timeout?: number;
|
|
11
|
+
};
|
|
12
|
+
type ClaudeOptionsLike = {
|
|
13
|
+
mcpServers?: Record<string, unknown>;
|
|
14
|
+
hooks?: Partial<Record<'PostToolUse' | 'Stop', HookMatcher[]>>;
|
|
15
|
+
};
|
|
16
|
+
type RelayLike = {
|
|
17
|
+
inbox(): Promise<Message[]>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Attach relay communication to Claude Agent SDK options via MCP server and hooks.
|
|
21
|
+
* @param _name - Agent name for relay registration.
|
|
22
|
+
* @param options - Claude SDK query options to augment.
|
|
23
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
24
|
+
* @returns Augmented options with relaycast MCP server and inbox-draining hooks.
|
|
25
|
+
*/
|
|
26
|
+
export declare function onRelay<TOptions extends ClaudeOptionsLike>(_name: string, options: TOptions, relay?: RelayLike): TOptions;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=claude-sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-sdk.d.ts","sourceRoot":"","sources":["../../../src/communicate/adapters/claude-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/D,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEhE,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC7B,CAAC;AAwBF;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,QAAQ,SAAS,iBAAiB,EACxD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,EACjB,KAAK,GAAE,SAA4B,GAClC,QAAQ,CA0BV"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Relay } from '../core.js';
|
|
2
|
+
import { formatRelayMessage } from '../types.js';
|
|
3
|
+
function appendHook(hooks, event, callback) {
|
|
4
|
+
const matchers = [...(hooks?.[event] ?? []), { hooks: [callback] }];
|
|
5
|
+
return {
|
|
6
|
+
...hooks,
|
|
7
|
+
[event]: matchers,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
async function drainInbox(relay) {
|
|
11
|
+
const messages = await relay.inbox();
|
|
12
|
+
if (messages.length === 0) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return `New messages from other agents:\n${messages.map((message) => formatRelayMessage(message)).join('\n')}`;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Attach relay communication to Claude Agent SDK options via MCP server and hooks.
|
|
19
|
+
* @param _name - Agent name for relay registration.
|
|
20
|
+
* @param options - Claude SDK query options to augment.
|
|
21
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
22
|
+
* @returns Augmented options with relaycast MCP server and inbox-draining hooks.
|
|
23
|
+
*/
|
|
24
|
+
export function onRelay(_name, options, relay = new Relay(_name)) {
|
|
25
|
+
const mcpServers = {
|
|
26
|
+
...(options.mcpServers ?? {}),
|
|
27
|
+
relaycast: {
|
|
28
|
+
command: 'agent-relay',
|
|
29
|
+
args: ['mcp'],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
let hooks = options.hooks;
|
|
33
|
+
hooks = appendHook(hooks, 'PostToolUse', async () => {
|
|
34
|
+
const systemMessage = await drainInbox(relay);
|
|
35
|
+
return systemMessage ? { systemMessage } : {};
|
|
36
|
+
});
|
|
37
|
+
hooks = appendHook(hooks, 'Stop', async () => {
|
|
38
|
+
const systemMessage = await drainInbox(relay);
|
|
39
|
+
return systemMessage ? { continue: true, systemMessage } : {};
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
...options,
|
|
43
|
+
mcpServers,
|
|
44
|
+
hooks,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=claude-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../../src/communicate/adapters/claude-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAgB,MAAM,aAAa,CAAC;AAwB/D,SAAS,UAAU,CACjB,KAAiC,EACjC,KAA6B,EAC7B,QAAsB;IAEtB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEpE,OAAO;QACL,GAAG,KAAK;QACR,CAAC,KAAK,CAAC,EAAE,QAAQ;KAClB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,KAAgB;IACxC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oCAAoC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACjH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CACrB,KAAa,EACb,OAAiB,EACjB,QAAmB,IAAI,KAAK,CAAC,KAAK,CAAC;IAEnC,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7B,SAAS,EAAE;YACT,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,CAAC,KAAK,CAAC;SACd;KACF,CAAC;IAEF,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE1B,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,OAAO;QACV,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type Message, type MessageCallback } from '../types.js';
|
|
2
|
+
type CrewAIAgentLike = {
|
|
3
|
+
role: string;
|
|
4
|
+
tools: any[];
|
|
5
|
+
step_callback?: ((step: any) => void) | null;
|
|
6
|
+
};
|
|
7
|
+
type CrewAICrewLike = {
|
|
8
|
+
agents: CrewAIAgentLike[];
|
|
9
|
+
task_callback?: ((output: any) => void) | null;
|
|
10
|
+
};
|
|
11
|
+
type RelayLike = {
|
|
12
|
+
send(to: string, text: string): Promise<void>;
|
|
13
|
+
post(channel: string, text: string): Promise<void>;
|
|
14
|
+
inbox(): Promise<Message[]>;
|
|
15
|
+
agents(): Promise<string[]>;
|
|
16
|
+
onMessage(callback: MessageCallback): () => void;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Attach relay communication tools and message routing to a CrewAI Agent.
|
|
20
|
+
*
|
|
21
|
+
* Adds relay tools to the agent's `tools` array and installs a `step_callback`
|
|
22
|
+
* that receives incoming relay messages.
|
|
23
|
+
*
|
|
24
|
+
* @param agent - A CrewAI Agent instance (or duck-typed equivalent).
|
|
25
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
26
|
+
* @returns Object with an `unsubscribe` function to stop message routing.
|
|
27
|
+
*/
|
|
28
|
+
export declare function onRelay(agent: CrewAIAgentLike, relay?: RelayLike): {
|
|
29
|
+
unsubscribe: () => void;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Attach relay communication tools to all agents in a CrewAI Crew.
|
|
33
|
+
*
|
|
34
|
+
* @param crew - A CrewAI Crew instance (or duck-typed equivalent).
|
|
35
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
36
|
+
* @returns Object with an `unsubscribe` function to stop all message routing.
|
|
37
|
+
*/
|
|
38
|
+
export declare function onCrewRelay(crew: CrewAICrewLike, relay?: RelayLike): {
|
|
39
|
+
unsubscribe: () => void;
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=crewai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../../src/communicate/adapters/crewai.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAavG,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAAC;CAClD,CAAC;AAqCF;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,eAAe,EACtB,KAAK,CAAC,EAAE,SAAS,GAChB;IAAE,WAAW,EAAE,MAAM,IAAI,CAAA;CAAE,CAgC7B;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,cAAc,EACpB,KAAK,CAAC,EAAE,SAAS,GAChB;IAAE,WAAW,EAAE,MAAM,IAAI,CAAA;CAAE,CAe7B"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Relay } from '../core.js';
|
|
2
|
+
import { formatRelayInbox, formatRelayMessage } from '../types.js';
|
|
3
|
+
function createRelayTools(relay) {
|
|
4
|
+
return [
|
|
5
|
+
{
|
|
6
|
+
tool_name: 'relay_send',
|
|
7
|
+
description: 'Send a direct message to another relay agent.',
|
|
8
|
+
async execute(args) {
|
|
9
|
+
await relay.send(args.to, args.text);
|
|
10
|
+
return `Sent relay message to ${args.to}.`;
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
tool_name: 'relay_inbox',
|
|
15
|
+
description: 'Drain and inspect newly received relay messages.',
|
|
16
|
+
async execute() {
|
|
17
|
+
return formatRelayInbox(await relay.inbox());
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
tool_name: 'relay_post',
|
|
22
|
+
description: 'Post a message to a relay channel.',
|
|
23
|
+
async execute(args) {
|
|
24
|
+
await relay.post(args.channel, args.text);
|
|
25
|
+
return `Posted relay message to #${args.channel}.`;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
tool_name: 'relay_agents',
|
|
30
|
+
description: 'List currently online relay agents.',
|
|
31
|
+
async execute() {
|
|
32
|
+
return (await relay.agents()).join('\n');
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Attach relay communication tools and message routing to a CrewAI Agent.
|
|
39
|
+
*
|
|
40
|
+
* Adds relay tools to the agent's `tools` array and installs a `step_callback`
|
|
41
|
+
* that receives incoming relay messages.
|
|
42
|
+
*
|
|
43
|
+
* @param agent - A CrewAI Agent instance (or duck-typed equivalent).
|
|
44
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
45
|
+
* @returns Object with an `unsubscribe` function to stop message routing.
|
|
46
|
+
*/
|
|
47
|
+
export function onRelay(agent, relay) {
|
|
48
|
+
const relayInstance = relay ?? new Relay(agent.role);
|
|
49
|
+
const relayTools = createRelayTools(relayInstance);
|
|
50
|
+
// Append relay tools to agent's tools array
|
|
51
|
+
for (const tool of relayTools) {
|
|
52
|
+
agent.tools.push(tool);
|
|
53
|
+
}
|
|
54
|
+
// Install message routing via step_callback
|
|
55
|
+
const originalCallback = agent.step_callback;
|
|
56
|
+
const unsubscribe = relayInstance.onMessage(async (message) => {
|
|
57
|
+
const formatted = formatRelayMessage(message);
|
|
58
|
+
// Route relay messages through the original callback if one exists
|
|
59
|
+
if (originalCallback) {
|
|
60
|
+
originalCallback({ relay_message: formatted });
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// Compose original callback with relay step forwarding
|
|
64
|
+
if (originalCallback) {
|
|
65
|
+
agent.step_callback = (step) => {
|
|
66
|
+
// Forward non-relay steps to original callback
|
|
67
|
+
if (!step?.relay_message) {
|
|
68
|
+
originalCallback(step);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return { unsubscribe };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Attach relay communication tools to all agents in a CrewAI Crew.
|
|
76
|
+
*
|
|
77
|
+
* @param crew - A CrewAI Crew instance (or duck-typed equivalent).
|
|
78
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
79
|
+
* @returns Object with an `unsubscribe` function to stop all message routing.
|
|
80
|
+
*/
|
|
81
|
+
export function onCrewRelay(crew, relay) {
|
|
82
|
+
const unsubscribers = [];
|
|
83
|
+
for (const agent of crew.agents) {
|
|
84
|
+
const result = onRelay(agent, relay);
|
|
85
|
+
unsubscribers.push(result.unsubscribe);
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
unsubscribe() {
|
|
89
|
+
for (const unsub of unsubscribers) {
|
|
90
|
+
unsub();
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=crewai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewai.js","sourceRoot":"","sources":["../../../src/communicate/adapters/crewai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type Message, type MessageCallback } from '../types.js';
|
|
2
|
+
type FunctionToolLike = {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
};
|
|
6
|
+
type ToolUnionLike = FunctionToolLike;
|
|
7
|
+
type RunnerLike = {
|
|
8
|
+
runAsync(params: {
|
|
9
|
+
userId: string;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
newMessage: {
|
|
12
|
+
role: string;
|
|
13
|
+
parts: Array<{
|
|
14
|
+
text: string;
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
17
|
+
}): AsyncGenerator<unknown, void, undefined>;
|
|
18
|
+
};
|
|
19
|
+
type LlmAgentLike = {
|
|
20
|
+
name: string;
|
|
21
|
+
tools: ToolUnionLike[];
|
|
22
|
+
};
|
|
23
|
+
type RelayLike = {
|
|
24
|
+
send(to: string, text: string): Promise<void>;
|
|
25
|
+
post(channel: string, text: string): Promise<void>;
|
|
26
|
+
inbox(): Promise<Message[]>;
|
|
27
|
+
agents(): Promise<string[]>;
|
|
28
|
+
onMessage(callback: MessageCallback): () => void;
|
|
29
|
+
};
|
|
30
|
+
interface GoogleAdkRelayOptions {
|
|
31
|
+
/** Google ADK LlmAgent instance. */
|
|
32
|
+
agent: LlmAgentLike;
|
|
33
|
+
/** Optional Runner for routing incoming messages to the agent. */
|
|
34
|
+
runner?: RunnerLike;
|
|
35
|
+
/** User ID for runner sessions. Defaults to 'relay'. */
|
|
36
|
+
userId?: string;
|
|
37
|
+
/** Session ID for runner sessions. Defaults to 'relay-session'. */
|
|
38
|
+
sessionId?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Attach relay communication tools and message routing to a Google ADK agent.
|
|
42
|
+
* @param name - Agent name for relay registration.
|
|
43
|
+
* @param options - Google ADK agent and optional runner configuration.
|
|
44
|
+
* @param relay - Optional pre-configured Relay instance.
|
|
45
|
+
* @returns Object with the augmented agent, an unsubscribe function, and the relay tools added.
|
|
46
|
+
*/
|
|
47
|
+
export declare function onRelay(name: string, options: GoogleAdkRelayOptions, relay?: RelayLike): {
|
|
48
|
+
agent: LlmAgentLike;
|
|
49
|
+
tools: FunctionToolLike[];
|
|
50
|
+
unsubscribe: () => void;
|
|
51
|
+
};
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=google-adk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-adk.d.ts","sourceRoot":"","sources":["../../../src/communicate/adapters/google-adk.ts"],"names":[],"mappings":"AACA,OAAO,EAAwC,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAQvG,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,aAAa,GAAG,gBAAgB,CAAC;AAEtC,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,MAAM,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KAC9D,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5B,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAAC;CAClD,CAAC;AAEF,UAAU,qBAAqB;IAC7B,oCAAoC;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,kEAAkE;IAClE,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwDD;;;;;;GAMG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,EAC9B,KAAK,GAAE,SAA2B,GACjC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,IAAI,CAAA;CAAE,CAyB7E"}
|