@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.
Files changed (126) hide show
  1. package/README.md +362 -1305
  2. package/dist/client.d.ts +573 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +1673 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/errors.d.ts +107 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +147 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/index.d.ts +37 -14
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +40 -23
  13. package/dist/index.js.map +1 -1
  14. package/dist/lockfile.d.ts +190 -0
  15. package/dist/lockfile.d.ts.map +1 -0
  16. package/dist/lockfile.js +373 -0
  17. package/dist/lockfile.js.map +1 -0
  18. package/dist/transports/broker.d.ts +75 -0
  19. package/dist/transports/broker.d.ts.map +1 -0
  20. package/dist/transports/broker.js +383 -0
  21. package/dist/transports/broker.js.map +1 -0
  22. package/dist/transports/native.d.ts +39 -0
  23. package/dist/transports/native.d.ts.map +1 -0
  24. package/dist/transports/native.js +189 -0
  25. package/dist/transports/native.js.map +1 -0
  26. package/dist/transports/stdio.d.ts +46 -0
  27. package/dist/transports/stdio.d.ts.map +1 -0
  28. package/dist/transports/stdio.js +460 -0
  29. package/dist/transports/stdio.js.map +1 -0
  30. package/dist/types.d.ts +664 -0
  31. package/dist/types.d.ts.map +1 -0
  32. package/dist/types.js +16 -0
  33. package/dist/types.js.map +1 -0
  34. package/dist/zod.d.ts +34 -0
  35. package/dist/zod.d.ts.map +1 -0
  36. package/dist/zod.js +60 -0
  37. package/dist/zod.js.map +1 -0
  38. package/package.json +13 -28
  39. package/dist/KadiClient.d.ts +0 -432
  40. package/dist/KadiClient.d.ts.map +0 -1
  41. package/dist/KadiClient.js +0 -1506
  42. package/dist/KadiClient.js.map +0 -1
  43. package/dist/errors/error-codes.d.ts +0 -985
  44. package/dist/errors/error-codes.d.ts.map +0 -1
  45. package/dist/errors/error-codes.js +0 -638
  46. package/dist/errors/error-codes.js.map +0 -1
  47. package/dist/loadAbility.d.ts +0 -105
  48. package/dist/loadAbility.d.ts.map +0 -1
  49. package/dist/loadAbility.js +0 -370
  50. package/dist/loadAbility.js.map +0 -1
  51. package/dist/messages/BrokerMessages.d.ts +0 -84
  52. package/dist/messages/BrokerMessages.d.ts.map +0 -1
  53. package/dist/messages/BrokerMessages.js +0 -125
  54. package/dist/messages/BrokerMessages.js.map +0 -1
  55. package/dist/messages/MessageBuilder.d.ts +0 -83
  56. package/dist/messages/MessageBuilder.d.ts.map +0 -1
  57. package/dist/messages/MessageBuilder.js +0 -144
  58. package/dist/messages/MessageBuilder.js.map +0 -1
  59. package/dist/schemas/events.schemas.d.ts +0 -177
  60. package/dist/schemas/events.schemas.d.ts.map +0 -1
  61. package/dist/schemas/events.schemas.js +0 -265
  62. package/dist/schemas/events.schemas.js.map +0 -1
  63. package/dist/schemas/index.d.ts +0 -3
  64. package/dist/schemas/index.d.ts.map +0 -1
  65. package/dist/schemas/index.js +0 -4
  66. package/dist/schemas/index.js.map +0 -1
  67. package/dist/schemas/kadi.schemas.d.ts +0 -70
  68. package/dist/schemas/kadi.schemas.d.ts.map +0 -1
  69. package/dist/schemas/kadi.schemas.js +0 -120
  70. package/dist/schemas/kadi.schemas.js.map +0 -1
  71. package/dist/transports/BrokerTransport.d.ts +0 -102
  72. package/dist/transports/BrokerTransport.d.ts.map +0 -1
  73. package/dist/transports/BrokerTransport.js +0 -177
  74. package/dist/transports/BrokerTransport.js.map +0 -1
  75. package/dist/transports/NativeTransport.d.ts +0 -82
  76. package/dist/transports/NativeTransport.d.ts.map +0 -1
  77. package/dist/transports/NativeTransport.js +0 -263
  78. package/dist/transports/NativeTransport.js.map +0 -1
  79. package/dist/transports/StdioTransport.d.ts +0 -112
  80. package/dist/transports/StdioTransport.d.ts.map +0 -1
  81. package/dist/transports/StdioTransport.js +0 -450
  82. package/dist/transports/StdioTransport.js.map +0 -1
  83. package/dist/transports/Transport.d.ts +0 -93
  84. package/dist/transports/Transport.d.ts.map +0 -1
  85. package/dist/transports/Transport.js +0 -13
  86. package/dist/transports/Transport.js.map +0 -1
  87. package/dist/types/broker.d.ts +0 -31
  88. package/dist/types/broker.d.ts.map +0 -1
  89. package/dist/types/broker.js +0 -6
  90. package/dist/types/broker.js.map +0 -1
  91. package/dist/types/core.d.ts +0 -139
  92. package/dist/types/core.d.ts.map +0 -1
  93. package/dist/types/core.js +0 -26
  94. package/dist/types/core.js.map +0 -1
  95. package/dist/types/events.d.ts +0 -186
  96. package/dist/types/events.d.ts.map +0 -1
  97. package/dist/types/events.js +0 -16
  98. package/dist/types/events.js.map +0 -1
  99. package/dist/types/index.d.ts +0 -9
  100. package/dist/types/index.d.ts.map +0 -1
  101. package/dist/types/index.js +0 -13
  102. package/dist/types/index.js.map +0 -1
  103. package/dist/types/protocol.d.ts +0 -160
  104. package/dist/types/protocol.d.ts.map +0 -1
  105. package/dist/types/protocol.js +0 -5
  106. package/dist/types/protocol.js.map +0 -1
  107. package/dist/utils/agentUtils.d.ts +0 -187
  108. package/dist/utils/agentUtils.d.ts.map +0 -1
  109. package/dist/utils/agentUtils.js +0 -185
  110. package/dist/utils/agentUtils.js.map +0 -1
  111. package/dist/utils/commandUtils.d.ts +0 -45
  112. package/dist/utils/commandUtils.d.ts.map +0 -1
  113. package/dist/utils/commandUtils.js +0 -145
  114. package/dist/utils/commandUtils.js.map +0 -1
  115. package/dist/utils/configUtils.d.ts +0 -55
  116. package/dist/utils/configUtils.d.ts.map +0 -1
  117. package/dist/utils/configUtils.js +0 -100
  118. package/dist/utils/configUtils.js.map +0 -1
  119. package/dist/utils/logger.d.ts +0 -59
  120. package/dist/utils/logger.d.ts.map +0 -1
  121. package/dist/utils/logger.js +0 -122
  122. package/dist/utils/logger.js.map +0 -1
  123. package/dist/utils/pathUtils.d.ts +0 -48
  124. package/dist/utils/pathUtils.d.ts.map +0 -1
  125. package/dist/utils/pathUtils.js +0 -128
  126. 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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"}
@@ -1,3 +0,0 @@
1
- export * from './kadi.schemas.js';
2
- export * from './events.schemas.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -1,4 +0,0 @@
1
- // Export all schemas from a single entry point
2
- export * from './kadi.schemas.js';
3
- export * from './events.schemas.js';
4
- //# sourceMappingURL=index.js.map
@@ -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"}