@kadi.build/core 0.0.1-alpha.8 → 0.1.0
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/README.md +362 -1305
- package/dist/client.d.ts +573 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1673 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +107 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +147 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +37 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -23
- package/dist/index.js.map +1 -1
- package/dist/lockfile.d.ts +190 -0
- package/dist/lockfile.d.ts.map +1 -0
- package/dist/lockfile.js +373 -0
- package/dist/lockfile.js.map +1 -0
- package/dist/transports/broker.d.ts +75 -0
- package/dist/transports/broker.d.ts.map +1 -0
- package/dist/transports/broker.js +383 -0
- package/dist/transports/broker.js.map +1 -0
- package/dist/transports/native.d.ts +39 -0
- package/dist/transports/native.d.ts.map +1 -0
- package/dist/transports/native.js +189 -0
- package/dist/transports/native.js.map +1 -0
- package/dist/transports/stdio.d.ts +46 -0
- package/dist/transports/stdio.d.ts.map +1 -0
- package/dist/transports/stdio.js +460 -0
- package/dist/transports/stdio.js.map +1 -0
- package/dist/types.d.ts +664 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/zod.d.ts +34 -0
- package/dist/zod.d.ts.map +1 -0
- package/dist/zod.js +60 -0
- package/dist/zod.js.map +1 -0
- package/package.json +13 -28
- package/dist/KadiClient.d.ts +0 -432
- package/dist/KadiClient.d.ts.map +0 -1
- package/dist/KadiClient.js +0 -1506
- package/dist/KadiClient.js.map +0 -1
- package/dist/errors/error-codes.d.ts +0 -985
- package/dist/errors/error-codes.d.ts.map +0 -1
- package/dist/errors/error-codes.js +0 -638
- package/dist/errors/error-codes.js.map +0 -1
- package/dist/loadAbility.d.ts +0 -105
- package/dist/loadAbility.d.ts.map +0 -1
- package/dist/loadAbility.js +0 -370
- package/dist/loadAbility.js.map +0 -1
- package/dist/messages/BrokerMessages.d.ts +0 -84
- package/dist/messages/BrokerMessages.d.ts.map +0 -1
- package/dist/messages/BrokerMessages.js +0 -125
- package/dist/messages/BrokerMessages.js.map +0 -1
- package/dist/messages/MessageBuilder.d.ts +0 -83
- package/dist/messages/MessageBuilder.d.ts.map +0 -1
- package/dist/messages/MessageBuilder.js +0 -144
- package/dist/messages/MessageBuilder.js.map +0 -1
- package/dist/schemas/events.schemas.d.ts +0 -177
- package/dist/schemas/events.schemas.d.ts.map +0 -1
- package/dist/schemas/events.schemas.js +0 -265
- package/dist/schemas/events.schemas.js.map +0 -1
- package/dist/schemas/index.d.ts +0 -3
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js +0 -4
- package/dist/schemas/index.js.map +0 -1
- package/dist/schemas/kadi.schemas.d.ts +0 -70
- package/dist/schemas/kadi.schemas.d.ts.map +0 -1
- package/dist/schemas/kadi.schemas.js +0 -120
- package/dist/schemas/kadi.schemas.js.map +0 -1
- package/dist/transports/BrokerTransport.d.ts +0 -102
- package/dist/transports/BrokerTransport.d.ts.map +0 -1
- package/dist/transports/BrokerTransport.js +0 -177
- package/dist/transports/BrokerTransport.js.map +0 -1
- package/dist/transports/NativeTransport.d.ts +0 -82
- package/dist/transports/NativeTransport.d.ts.map +0 -1
- package/dist/transports/NativeTransport.js +0 -263
- package/dist/transports/NativeTransport.js.map +0 -1
- package/dist/transports/StdioTransport.d.ts +0 -112
- package/dist/transports/StdioTransport.d.ts.map +0 -1
- package/dist/transports/StdioTransport.js +0 -450
- package/dist/transports/StdioTransport.js.map +0 -1
- package/dist/transports/Transport.d.ts +0 -93
- package/dist/transports/Transport.d.ts.map +0 -1
- package/dist/transports/Transport.js +0 -13
- package/dist/transports/Transport.js.map +0 -1
- package/dist/types/broker.d.ts +0 -31
- package/dist/types/broker.d.ts.map +0 -1
- package/dist/types/broker.js +0 -6
- package/dist/types/broker.js.map +0 -1
- package/dist/types/core.d.ts +0 -139
- package/dist/types/core.d.ts.map +0 -1
- package/dist/types/core.js +0 -26
- package/dist/types/core.js.map +0 -1
- package/dist/types/events.d.ts +0 -186
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/events.js +0 -16
- package/dist/types/events.js.map +0 -1
- package/dist/types/index.d.ts +0 -9
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -13
- package/dist/types/index.js.map +0 -1
- package/dist/types/protocol.d.ts +0 -160
- package/dist/types/protocol.d.ts.map +0 -1
- package/dist/types/protocol.js +0 -5
- package/dist/types/protocol.js.map +0 -1
- package/dist/utils/agentUtils.d.ts +0 -187
- package/dist/utils/agentUtils.d.ts.map +0 -1
- package/dist/utils/agentUtils.js +0 -185
- package/dist/utils/agentUtils.js.map +0 -1
- package/dist/utils/commandUtils.d.ts +0 -45
- package/dist/utils/commandUtils.d.ts.map +0 -1
- package/dist/utils/commandUtils.js +0 -145
- package/dist/utils/commandUtils.js.map +0 -1
- package/dist/utils/configUtils.d.ts +0 -55
- package/dist/utils/configUtils.d.ts.map +0 -1
- package/dist/utils/configUtils.js +0 -100
- package/dist/utils/configUtils.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -59
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -122
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/pathUtils.d.ts +0 -48
- package/dist/utils/pathUtils.d.ts.map +0 -1
- package/dist/utils/pathUtils.js +0 -128
- package/dist/utils/pathUtils.js.map +0 -1
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event System Schema Validation
|
|
3
|
-
* ------------------------------
|
|
4
|
-
* Zod schemas for validating event system parameters and messages.
|
|
5
|
-
* This ensures type safety and proper input validation for all event operations.
|
|
6
|
-
*
|
|
7
|
-
* The schemas follow the established patterns in the KADI broker for consistency
|
|
8
|
-
* and integrate with the existing validation middleware.
|
|
9
|
-
*/
|
|
10
|
-
import { z } from 'zod';
|
|
11
|
-
import { NetworkIdSchema } from './kadi.schemas.js';
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// EVENT CHANNEL VALIDATION
|
|
14
|
-
// ============================================================================
|
|
15
|
-
/**
|
|
16
|
-
* Event channel pattern validation schema.
|
|
17
|
-
*
|
|
18
|
-
* Enforces the hierarchical naming convention:
|
|
19
|
-
* - Format: namespace.event-name or namespace.category.event-name
|
|
20
|
-
* - Examples: 'system.startup', 'tool.completed', 'agent.status.changed'
|
|
21
|
-
* - Wildcards: '*' matches one segment, '#' matches multiple segments
|
|
22
|
-
*
|
|
23
|
-
* Rules:
|
|
24
|
-
* - Must start with lowercase letter
|
|
25
|
-
* - Segments separated by dots
|
|
26
|
-
* - Only lowercase letters, numbers, underscores, hyphens allowed
|
|
27
|
-
* - Wildcards * and # only allowed at end of segments
|
|
28
|
-
*/
|
|
29
|
-
export const EventChannelSchema = z
|
|
30
|
-
.string()
|
|
31
|
-
.min(1, 'Event channel cannot be empty')
|
|
32
|
-
.max(128, 'Event channel too long')
|
|
33
|
-
.regex(/^[a-z][a-z0-9_-]*(?:\.[a-z0-9_*#-]+)*$/, 'Event channel must use lowercase with dots (e.g., "system.startup", "tool.*", "agent.#")')
|
|
34
|
-
.describe('Event channel pattern for subscriptions');
|
|
35
|
-
// ============================================================================
|
|
36
|
-
// EVENT SUBSCRIPTION SCHEMAS
|
|
37
|
-
// ============================================================================
|
|
38
|
-
/**
|
|
39
|
-
* Schema for event subscription requests (kadi.event.subscribe)
|
|
40
|
-
*/
|
|
41
|
-
export const EventSubscribeSchema = z
|
|
42
|
-
.object({
|
|
43
|
-
/** Array of event channel patterns to subscribe to */
|
|
44
|
-
channels: z
|
|
45
|
-
.array(EventChannelSchema)
|
|
46
|
-
.min(1, 'Must specify at least one channel')
|
|
47
|
-
.max(50, 'Too many channels in single subscription'),
|
|
48
|
-
/** Optional network to subscribe within - defaults to agent's networks */
|
|
49
|
-
networkId: NetworkIdSchema.optional(),
|
|
50
|
-
/** Optional filters to reduce event volume */
|
|
51
|
-
filter: z
|
|
52
|
-
.object({
|
|
53
|
-
/** Only receive events from specific publisher */
|
|
54
|
-
publisherId: z.string().optional(),
|
|
55
|
-
/** Only receive events with matching metadata */
|
|
56
|
-
metadata: z.record(z.string(), z.unknown()).optional()
|
|
57
|
-
})
|
|
58
|
-
.optional()
|
|
59
|
-
})
|
|
60
|
-
.strict(); // Prevent additional properties
|
|
61
|
-
/**
|
|
62
|
-
* Schema for event subscription response
|
|
63
|
-
*/
|
|
64
|
-
export const EventSubscribeResultSchema = z
|
|
65
|
-
.object({
|
|
66
|
-
/** Channels that were successfully subscribed to */
|
|
67
|
-
subscribed: z.array(EventChannelSchema),
|
|
68
|
-
/** Internal queue name for debugging/monitoring */
|
|
69
|
-
queueName: z.string()
|
|
70
|
-
})
|
|
71
|
-
.strict();
|
|
72
|
-
// ============================================================================
|
|
73
|
-
// EVENT UNSUBSCRIPTION SCHEMAS
|
|
74
|
-
// ============================================================================
|
|
75
|
-
/**
|
|
76
|
-
* Schema for event unsubscription requests (kadi.event.unsubscribe)
|
|
77
|
-
*/
|
|
78
|
-
export const EventUnsubscribeSchema = z
|
|
79
|
-
.object({
|
|
80
|
-
/** Channel patterns to unsubscribe from */
|
|
81
|
-
channels: z
|
|
82
|
-
.array(EventChannelSchema)
|
|
83
|
-
.min(1, 'Must specify at least one channel'),
|
|
84
|
-
/** Network to unsubscribe from - defaults to 'global' */
|
|
85
|
-
networkId: NetworkIdSchema.optional()
|
|
86
|
-
})
|
|
87
|
-
.strict();
|
|
88
|
-
/**
|
|
89
|
-
* Schema for event unsubscription response
|
|
90
|
-
*/
|
|
91
|
-
export const EventUnsubscribeResultSchema = z
|
|
92
|
-
.object({
|
|
93
|
-
/** Channels that were successfully unsubscribed */
|
|
94
|
-
unsubscribed: z.array(EventChannelSchema)
|
|
95
|
-
})
|
|
96
|
-
.strict();
|
|
97
|
-
// ============================================================================
|
|
98
|
-
// EVENT PUBLISHING SCHEMAS
|
|
99
|
-
// ============================================================================
|
|
100
|
-
/**
|
|
101
|
-
* Schema for event publishing requests (kadi.event.publish)
|
|
102
|
-
*/
|
|
103
|
-
export const EventPublishSchema = z
|
|
104
|
-
.object({
|
|
105
|
-
/** Event channel to publish to - must not contain wildcards */
|
|
106
|
-
channel: EventChannelSchema.refine((channel) => !channel.includes('*') && !channel.includes('#'), 'Cannot publish to wildcard channels - use specific channel names'),
|
|
107
|
-
/** Event payload data - any serializable value */
|
|
108
|
-
data: z.unknown(),
|
|
109
|
-
/** Networks to publish to - defaults to publisher's networks */
|
|
110
|
-
networks: z
|
|
111
|
-
.array(NetworkIdSchema)
|
|
112
|
-
.max(10, 'Cannot publish to more than 10 networks at once')
|
|
113
|
-
.optional(),
|
|
114
|
-
/** Optional metadata to include with the event */
|
|
115
|
-
metadata: z.record(z.string(), z.unknown()).optional()
|
|
116
|
-
})
|
|
117
|
-
.strict();
|
|
118
|
-
/**
|
|
119
|
-
* Schema for event publishing response
|
|
120
|
-
*/
|
|
121
|
-
export const EventPublishResultSchema = z
|
|
122
|
-
.object({
|
|
123
|
-
/** Whether the event was successfully published */
|
|
124
|
-
published: z.boolean(),
|
|
125
|
-
/** Unique identifier for this event (for tracking/debugging) */
|
|
126
|
-
eventId: z.string().uuid()
|
|
127
|
-
})
|
|
128
|
-
.strict();
|
|
129
|
-
// ============================================================================
|
|
130
|
-
// EVENT LISTING SCHEMAS
|
|
131
|
-
// ============================================================================
|
|
132
|
-
/**
|
|
133
|
-
* Schema for event subscription listing requests (kadi.event.list)
|
|
134
|
-
*/
|
|
135
|
-
export const EventListSchema = z
|
|
136
|
-
.object({
|
|
137
|
-
/** Filter subscriptions by agent ID */
|
|
138
|
-
agentId: z.string().optional(),
|
|
139
|
-
/** Filter subscriptions by network */
|
|
140
|
-
networkId: NetworkIdSchema.optional()
|
|
141
|
-
})
|
|
142
|
-
.strict();
|
|
143
|
-
/**
|
|
144
|
-
* Schema for event subscription listing response
|
|
145
|
-
*/
|
|
146
|
-
export const EventListResultSchema = z
|
|
147
|
-
.object({
|
|
148
|
-
/** Array of active subscriptions */
|
|
149
|
-
subscriptions: z.array(z.object({
|
|
150
|
-
agentId: z.string(),
|
|
151
|
-
channels: z.array(EventChannelSchema),
|
|
152
|
-
networks: z.array(NetworkIdSchema),
|
|
153
|
-
queueName: z.string(),
|
|
154
|
-
subscribedAt: z.string().datetime() // ISO 8601 timestamp
|
|
155
|
-
}))
|
|
156
|
-
})
|
|
157
|
-
.strict();
|
|
158
|
-
// ============================================================================
|
|
159
|
-
// EVENT MESSAGE SCHEMAS
|
|
160
|
-
// ============================================================================
|
|
161
|
-
/**
|
|
162
|
-
* Schema for validating event messages before delivery.
|
|
163
|
-
* This ensures all events have consistent structure when delivered to subscribers.
|
|
164
|
-
*/
|
|
165
|
-
export const EventMessageSchema = z
|
|
166
|
-
.object({
|
|
167
|
-
/** The channel this event was published to */
|
|
168
|
-
channel: EventChannelSchema,
|
|
169
|
-
/** Event-specific payload data */
|
|
170
|
-
data: z.unknown(),
|
|
171
|
-
/** ISO 8601 timestamp when event was published */
|
|
172
|
-
timestamp: z.string().datetime(),
|
|
173
|
-
/** ID of the agent/tool that published this event */
|
|
174
|
-
publisherId: z.string(),
|
|
175
|
-
/** Network where this event was published */
|
|
176
|
-
networkId: NetworkIdSchema,
|
|
177
|
-
/** Optional metadata for correlation and tracking */
|
|
178
|
-
metadata: z
|
|
179
|
-
.object({
|
|
180
|
-
/** For tracking related events across the system */
|
|
181
|
-
correlationId: z.string().optional(),
|
|
182
|
-
/** Event schema version for evolution */
|
|
183
|
-
version: z.string().optional(),
|
|
184
|
-
/** Event ID for deduplication and tracing */
|
|
185
|
-
eventId: z.string().uuid().optional(),
|
|
186
|
-
/** Role of the publisher (agent, tool, system) */
|
|
187
|
-
publisherRole: z.string().optional()
|
|
188
|
-
/** Additional custom metadata */
|
|
189
|
-
})
|
|
190
|
-
.catchall(z.unknown())
|
|
191
|
-
.optional() // Allow additional metadata fields
|
|
192
|
-
})
|
|
193
|
-
.strict();
|
|
194
|
-
// ============================================================================
|
|
195
|
-
// VALIDATION MIDDLEWARE INTEGRATION
|
|
196
|
-
// ============================================================================
|
|
197
|
-
/**
|
|
198
|
-
* Validation middleware for event system methods.
|
|
199
|
-
* Extends the existing ValidationMiddleware pattern to support event operations.
|
|
200
|
-
*/
|
|
201
|
-
export class EventValidationMiddleware {
|
|
202
|
-
/**
|
|
203
|
-
* Validates parameters for event system methods using appropriate schemas
|
|
204
|
-
*/
|
|
205
|
-
static validateEventParams(method, params) {
|
|
206
|
-
switch (method) {
|
|
207
|
-
case 'kadi.event.subscribe':
|
|
208
|
-
return EventSubscribeSchema.parse(params);
|
|
209
|
-
case 'kadi.event.unsubscribe':
|
|
210
|
-
return EventUnsubscribeSchema.parse(params);
|
|
211
|
-
case 'kadi.event.publish':
|
|
212
|
-
return EventPublishSchema.parse(params);
|
|
213
|
-
case 'kadi.event.list':
|
|
214
|
-
return EventListSchema.parse(params);
|
|
215
|
-
default:
|
|
216
|
-
// For non-event methods, return params as-is
|
|
217
|
-
return params;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Validates event message structure before delivery
|
|
222
|
-
*/
|
|
223
|
-
static validateEventMessage(message) {
|
|
224
|
-
return EventMessageSchema.parse(message);
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Provides user-friendly error messages for common validation failures
|
|
228
|
-
*/
|
|
229
|
-
static getValidationHint(method, error) {
|
|
230
|
-
const firstError = error.issues[0];
|
|
231
|
-
switch (method) {
|
|
232
|
-
case 'kadi.event.subscribe':
|
|
233
|
-
if (firstError?.path.includes('channels')) {
|
|
234
|
-
return 'Check channel format: use lowercase with dots (e.g., "system.startup", "tool.*")';
|
|
235
|
-
}
|
|
236
|
-
break;
|
|
237
|
-
case 'kadi.event.publish':
|
|
238
|
-
if (firstError?.path.includes('channel')) {
|
|
239
|
-
return 'Channel must be specific (no wildcards) and use lowercase.separated format';
|
|
240
|
-
}
|
|
241
|
-
if (firstError?.path.includes('networks')) {
|
|
242
|
-
return 'Networks must be an array of valid network IDs';
|
|
243
|
-
}
|
|
244
|
-
break;
|
|
245
|
-
default:
|
|
246
|
-
return 'Check your event parameters for correct format and types';
|
|
247
|
-
}
|
|
248
|
-
return 'Check the event system documentation for parameter requirements';
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
// ============================================================================
|
|
252
|
-
// SCHEMA EXPORTS FOR EXTERNAL USE
|
|
253
|
-
// ============================================================================
|
|
254
|
-
/**
|
|
255
|
-
* Export all schemas for use in tests and external validation
|
|
256
|
-
*/
|
|
257
|
-
export const EventSchemas = {
|
|
258
|
-
EventChannel: EventChannelSchema,
|
|
259
|
-
EventSubscribe: EventSubscribeSchema,
|
|
260
|
-
EventUnsubscribe: EventUnsubscribeSchema,
|
|
261
|
-
EventPublish: EventPublishSchema,
|
|
262
|
-
EventList: EventListSchema,
|
|
263
|
-
EventMessage: EventMessageSchema
|
|
264
|
-
};
|
|
265
|
-
//# sourceMappingURL=events.schemas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.schemas.js","sourceRoot":"","sources":["../../src/schemas/events.schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
package/dist/schemas/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const NetworkIdSchema: z.ZodString;
|
|
3
|
-
export declare const ToolNameSchema: z.ZodString;
|
|
4
|
-
export declare const ToolSchema: z.ZodObject<{
|
|
5
|
-
name: z.ZodString;
|
|
6
|
-
title: z.ZodOptional<z.ZodString>;
|
|
7
|
-
description: z.ZodOptional<z.ZodString>;
|
|
8
|
-
version: z.ZodOptional<z.ZodString>;
|
|
9
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
10
|
-
inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
11
|
-
networks: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
|
-
}, z.core.$strip>;
|
|
13
|
-
export declare const MailboxModeSchema: z.ZodEnum<{
|
|
14
|
-
volatile: "volatile";
|
|
15
|
-
persistent: "persistent";
|
|
16
|
-
}>;
|
|
17
|
-
export declare const AgentIdSchema: z.ZodString;
|
|
18
|
-
export declare const KadiRegisterParamsSchema: z.ZodObject<{
|
|
19
|
-
tools: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
20
|
-
name: z.ZodString;
|
|
21
|
-
title: z.ZodOptional<z.ZodString>;
|
|
22
|
-
description: z.ZodOptional<z.ZodString>;
|
|
23
|
-
version: z.ZodOptional<z.ZodString>;
|
|
24
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
25
|
-
inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
26
|
-
networks: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
-
}, z.core.$strip>>>>;
|
|
28
|
-
displayName: z.ZodOptional<z.ZodString>;
|
|
29
|
-
mailboxMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
30
|
-
volatile: "volatile";
|
|
31
|
-
persistent: "persistent";
|
|
32
|
-
}>>>;
|
|
33
|
-
networks: z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>;
|
|
34
|
-
parentAgentId: z.ZodOptional<z.ZodString>;
|
|
35
|
-
}, z.core.$strip>;
|
|
36
|
-
export type KadiRegisterParams = z.infer<typeof KadiRegisterParamsSchema>;
|
|
37
|
-
export declare const KadiRegisterResultSchema: z.ZodObject<{
|
|
38
|
-
agentId: z.ZodString;
|
|
39
|
-
registered: z.ZodNumber;
|
|
40
|
-
networks: z.ZodArray<z.ZodString>;
|
|
41
|
-
mailbox: z.ZodString;
|
|
42
|
-
mailboxMode: z.ZodEnum<{
|
|
43
|
-
volatile: "volatile";
|
|
44
|
-
persistent: "persistent";
|
|
45
|
-
}>;
|
|
46
|
-
}, z.core.$strip>;
|
|
47
|
-
export type KadiRegisterResult = z.infer<typeof KadiRegisterResultSchema>;
|
|
48
|
-
export declare const KadiToolListParamsSchema: z.ZodObject<{
|
|
49
|
-
networks: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
50
|
-
}, z.core.$strip>;
|
|
51
|
-
export type KadiToolListParams = z.infer<typeof KadiToolListParamsSchema>;
|
|
52
|
-
export declare const KadiToolInvokeParamsSchema: z.ZodObject<{
|
|
53
|
-
toolName: z.ZodString;
|
|
54
|
-
toolInput: z.ZodOptional<z.ZodUnknown>;
|
|
55
|
-
requestId: z.ZodOptional<z.ZodString>;
|
|
56
|
-
timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
57
|
-
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
58
|
-
}, z.core.$strip>;
|
|
59
|
-
export type KadiToolInvokeParams = z.infer<typeof KadiToolInvokeParamsSchema>;
|
|
60
|
-
export declare const KadiToolResultParamsSchema: z.ZodObject<{
|
|
61
|
-
requestId: z.ZodString;
|
|
62
|
-
result: z.ZodOptional<z.ZodUnknown>;
|
|
63
|
-
error: z.ZodOptional<z.ZodUnknown>;
|
|
64
|
-
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
65
|
-
}, z.core.$strip>;
|
|
66
|
-
export type KadiToolResultParams = z.infer<typeof KadiToolResultParamsSchema>;
|
|
67
|
-
export declare class ValidationMiddleware {
|
|
68
|
-
static validateParams<T>(method: string, params: unknown): T;
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=kadi.schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kadi.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/kadi.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,eAAe,aAKK,CAAC;AAMlC,eAAO,MAAM,cAAc,aAmB2B,CAAC;AAGvD,eAAO,MAAM,UAAU;;;;;;;;iBAWrB,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;EAAqC,CAAC;AAGpE,eAAO,MAAM,aAAa,aAKK,CAAC;AAOhC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAiBjC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,wBAAwB;;;;;;;;;iBAMnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,wBAAwB;;iBAEnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,0BAA0B;;;;;;iBAMrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,eAAO,MAAM,0BAA0B;;;;;iBAKrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC;CAc7D"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
// ============================================================================
|
|
3
|
-
// NETWORK VALIDATION SCHEMAS
|
|
4
|
-
// ============================================================================
|
|
5
|
-
// Network ID validation
|
|
6
|
-
export const NetworkIdSchema = z
|
|
7
|
-
.string()
|
|
8
|
-
.min(1)
|
|
9
|
-
.max(128)
|
|
10
|
-
.regex(/^[a-z0-9][a-z0-9-_.]*$/i)
|
|
11
|
-
.describe('Network identifier');
|
|
12
|
-
// Tool name validation - Supports both legacy and namespaced formats
|
|
13
|
-
// Namespaced format: <namespace>/<name>@<major>[.<minor>]
|
|
14
|
-
// Legacy format: simple name (will be auto-normalized)
|
|
15
|
-
// Examples: 'data/analyze_dataset@1', 'kadi/echo@1.0', 'legacy_tool'
|
|
16
|
-
export const ToolNameSchema = z
|
|
17
|
-
.string()
|
|
18
|
-
.min(1)
|
|
19
|
-
.max(128)
|
|
20
|
-
.refine((val) => {
|
|
21
|
-
// Allow legacy format (simple names)
|
|
22
|
-
const legacyRegex = /^[a-zA-Z][a-zA-Z0-9_-]*$/;
|
|
23
|
-
// Strict namespaced format
|
|
24
|
-
const namespacedRegex = /^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*@\d+(?:\.\d+)?$/;
|
|
25
|
-
return legacyRegex.test(val) || namespacedRegex.test(val);
|
|
26
|
-
}, {
|
|
27
|
-
message: 'Tool name must be either legacy format (alphanumeric) or namespaced format (<namespace>/<name>@<version>)'
|
|
28
|
-
})
|
|
29
|
-
.describe('Tool name - legacy or namespaced format');
|
|
30
|
-
// Tool schema with networks, namespace, and versioning
|
|
31
|
-
export const ToolSchema = z.object({
|
|
32
|
-
name: ToolNameSchema, // Now supports namespace/name@version format
|
|
33
|
-
title: z.string().min(1).max(128).optional(), // Human-readable title
|
|
34
|
-
description: z.string().optional(),
|
|
35
|
-
version: z
|
|
36
|
-
.string()
|
|
37
|
-
.regex(/^\d+\.\d+\.\d+$/)
|
|
38
|
-
.optional(), // Semantic version
|
|
39
|
-
tags: z.array(z.string()).optional(), // Routing hints like ['cpu-heavy', 'batch']
|
|
40
|
-
inputSchema: z.record(z.string(), z.unknown()).optional(),
|
|
41
|
-
networks: z.array(NetworkIdSchema).optional()
|
|
42
|
-
});
|
|
43
|
-
// Mailbox mode validation
|
|
44
|
-
export const MailboxModeSchema = z.enum(['volatile', 'persistent']);
|
|
45
|
-
// Agent ID validation
|
|
46
|
-
export const AgentIdSchema = z
|
|
47
|
-
.string()
|
|
48
|
-
.min(1)
|
|
49
|
-
.max(64)
|
|
50
|
-
.regex(/^[a-z0-9]+$/i)
|
|
51
|
-
.describe('Agent identifier');
|
|
52
|
-
// ============================================================================
|
|
53
|
-
// KADI PROTOCOL MESSAGE SCHEMAS
|
|
54
|
-
// ============================================================================
|
|
55
|
-
// Registration Schema - Updated to use 'networks' instead of 'scopes'
|
|
56
|
-
export const KadiRegisterParamsSchema = z
|
|
57
|
-
.object({
|
|
58
|
-
tools: z.array(ToolSchema).optional().default([]),
|
|
59
|
-
displayName: z.string().min(1).max(64).optional(),
|
|
60
|
-
mailboxMode: MailboxModeSchema.optional().default('volatile'),
|
|
61
|
-
networks: z
|
|
62
|
-
.union([
|
|
63
|
-
// Changed from 'scopes'
|
|
64
|
-
NetworkIdSchema,
|
|
65
|
-
z.array(NetworkIdSchema)
|
|
66
|
-
])
|
|
67
|
-
.transform((val) => (Array.isArray(val) ? val : [val])),
|
|
68
|
-
parentAgentId: AgentIdSchema.optional()
|
|
69
|
-
})
|
|
70
|
-
.refine((data) => data.networks.length > 0, {
|
|
71
|
-
message: 'At least one network must be specified',
|
|
72
|
-
path: ['networks']
|
|
73
|
-
});
|
|
74
|
-
// Registration Result
|
|
75
|
-
export const KadiRegisterResultSchema = z.object({
|
|
76
|
-
agentId: z.string(),
|
|
77
|
-
registered: z.number(),
|
|
78
|
-
networks: z.array(NetworkIdSchema),
|
|
79
|
-
mailbox: z.string(),
|
|
80
|
-
mailboxMode: MailboxModeSchema
|
|
81
|
-
});
|
|
82
|
-
// Tool List params - Changed from 'scopes'
|
|
83
|
-
export const KadiToolListParamsSchema = z.object({
|
|
84
|
-
networks: z.array(NetworkIdSchema).optional() // Filter by networks
|
|
85
|
-
});
|
|
86
|
-
// Tool invocation params
|
|
87
|
-
export const KadiToolInvokeParamsSchema = z.object({
|
|
88
|
-
toolName: ToolNameSchema,
|
|
89
|
-
toolInput: z.unknown().optional(),
|
|
90
|
-
requestId: z.string().optional(),
|
|
91
|
-
timeout: z.number().min(1000).max(300000).optional().default(30000),
|
|
92
|
-
metadata: z.record(z.string(), z.unknown()).optional().default({})
|
|
93
|
-
});
|
|
94
|
-
// Tool result params
|
|
95
|
-
export const KadiToolResultParamsSchema = z.object({
|
|
96
|
-
requestId: z.string(),
|
|
97
|
-
result: z.unknown().optional(),
|
|
98
|
-
error: z.unknown().optional(),
|
|
99
|
-
metadata: z.record(z.string(), z.unknown()).optional().default({})
|
|
100
|
-
});
|
|
101
|
-
// ============================================================================
|
|
102
|
-
// VALIDATION MIDDLEWARE
|
|
103
|
-
// ============================================================================
|
|
104
|
-
export class ValidationMiddleware {
|
|
105
|
-
static validateParams(method, params) {
|
|
106
|
-
switch (method) {
|
|
107
|
-
case 'kadi.agent.register':
|
|
108
|
-
return KadiRegisterParamsSchema.parse(params);
|
|
109
|
-
case 'kadi.ability.list':
|
|
110
|
-
return KadiToolListParamsSchema.parse(params);
|
|
111
|
-
case 'kadi.ability.invoke':
|
|
112
|
-
return KadiToolInvokeParamsSchema.parse(params);
|
|
113
|
-
case 'kadi.ability.result':
|
|
114
|
-
return KadiToolResultParamsSchema.parse(params);
|
|
115
|
-
default:
|
|
116
|
-
return params;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=kadi.schemas.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kadi.schemas.js","sourceRoot":"","sources":["../../src/schemas/kadi.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* BrokerTransport - Handles communication with remote abilities via broker
|
|
3
|
-
*
|
|
4
|
-
* This transport connects to a broker (WebSocket server) to invoke methods
|
|
5
|
-
* on remote agents/abilities. Unlike Native and Stdio transports which load
|
|
6
|
-
* local code, BrokerTransport is purely a client that calls remote services.
|
|
7
|
-
*
|
|
8
|
-
* The broker acts as a message router, allowing agents to discover and
|
|
9
|
-
* invoke each other's methods across network boundaries.
|
|
10
|
-
*
|
|
11
|
-
* Communication Flow:
|
|
12
|
-
* 1. Connect to broker via WebSocket
|
|
13
|
-
* 2. Authenticate and join networks
|
|
14
|
-
* 3. Discover available methods from target agent
|
|
15
|
-
* 4. Send method invocations through broker
|
|
16
|
-
* 5. Receive results back through broker
|
|
17
|
-
*/
|
|
18
|
-
import { EventEmitter } from 'events';
|
|
19
|
-
import { Transport, TransportOptions } from './Transport.js';
|
|
20
|
-
import { KadiClient } from '../KadiClient.js';
|
|
21
|
-
/**
|
|
22
|
-
* Options specific to BrokerTransport
|
|
23
|
-
*/
|
|
24
|
-
interface BrokerTransportOptions extends TransportOptions {
|
|
25
|
-
/**
|
|
26
|
-
* The target agent name we want to call methods on
|
|
27
|
-
* This is the remote agent that has the methods we want to invoke
|
|
28
|
-
*/
|
|
29
|
-
targetAgent: string;
|
|
30
|
-
/**
|
|
31
|
-
* Existing KadiClient to reuse (if already connected to broker)
|
|
32
|
-
*/
|
|
33
|
-
existingClient?: KadiClient;
|
|
34
|
-
/**
|
|
35
|
-
* WebSocket URL of the broker (required if no existing client)
|
|
36
|
-
*/
|
|
37
|
-
brokerUrl?: string;
|
|
38
|
-
/**
|
|
39
|
-
* Name of the broker (for logging/identification)
|
|
40
|
-
*/
|
|
41
|
-
brokerName?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Networks to join for discovering agents
|
|
44
|
-
*/
|
|
45
|
-
networks?: string[];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* BrokerTransport - Client for invoking methods on remote agents
|
|
49
|
-
*
|
|
50
|
-
* This transport is a thin wrapper around KadiClient's broker functionality.
|
|
51
|
-
* It creates an ephemeral KadiClient instance that connects to the broker
|
|
52
|
-
* solely for the purpose of calling methods on a remote agent.
|
|
53
|
-
*
|
|
54
|
-
* Unlike serving mode (where an agent registers its own methods),
|
|
55
|
-
* this transport is purely a consumer of remote methods.
|
|
56
|
-
*/
|
|
57
|
-
export declare class BrokerTransport extends EventEmitter implements Transport {
|
|
58
|
-
private options;
|
|
59
|
-
private logger;
|
|
60
|
-
private client;
|
|
61
|
-
private targetAgent;
|
|
62
|
-
private connected;
|
|
63
|
-
constructor(options: BrokerTransportOptions);
|
|
64
|
-
/**
|
|
65
|
-
* Connect to the broker and discover target agent's methods
|
|
66
|
-
*
|
|
67
|
-
* This creates an ephemeral KadiClient that connects to the broker
|
|
68
|
-
* as a client (not serving any methods of its own).
|
|
69
|
-
*/
|
|
70
|
-
connect(): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* Invoke a method on the remote agent
|
|
73
|
-
*
|
|
74
|
-
* Sends the method invocation through the broker to the target agent.
|
|
75
|
-
*/
|
|
76
|
-
invoke(method: string, params: unknown): Promise<unknown>;
|
|
77
|
-
/**
|
|
78
|
-
* Get list of discovered methods
|
|
79
|
-
*
|
|
80
|
-
* Returns empty array as broker transport doesn't do method discovery.
|
|
81
|
-
*/
|
|
82
|
-
getMethods(): string[];
|
|
83
|
-
/**
|
|
84
|
-
* Disconnect from the broker
|
|
85
|
-
*
|
|
86
|
-
* Since we're reusing an existing client, we don't actually disconnect it
|
|
87
|
-
* (other parts of the app might still be using it)
|
|
88
|
-
*/
|
|
89
|
-
disconnect(): Promise<void>;
|
|
90
|
-
/**
|
|
91
|
-
* Check if transport is connected
|
|
92
|
-
*/
|
|
93
|
-
isConnected(): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Get the target agent name
|
|
96
|
-
*
|
|
97
|
-
* Useful for debugging and logging
|
|
98
|
-
*/
|
|
99
|
-
getTargetAgent(): string;
|
|
100
|
-
}
|
|
101
|
-
export {};
|
|
102
|
-
//# sourceMappingURL=BrokerTransport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrokerTransport.d.ts","sourceRoot":"","sources":["../../src/transports/BrokerTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;GAEG;AACH,UAAU,sBAAuB,SAAQ,gBAAgB;IACvD;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,YAAa,YAAW,SAAS;IAMxD,OAAO,CAAC,OAAO;IAL3B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEN,OAAO,EAAE,sBAAsB;IAgBnD;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4G9B;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B/D;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,cAAc,IAAI,MAAM;CAGzB"}
|