agents-library 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/dist/base-agent.d.ts +172 -0
- package/dist/base-agent.d.ts.map +1 -0
- package/dist/base-agent.js +255 -0
- package/dist/base-agent.js.map +1 -0
- package/dist/base-bot.d.ts +282 -0
- package/dist/base-bot.d.ts.map +1 -0
- package/dist/base-bot.js +375 -0
- package/dist/base-bot.js.map +1 -0
- package/dist/common/result.d.ts +51 -0
- package/dist/common/result.d.ts.map +1 -0
- package/dist/common/result.js +45 -0
- package/dist/common/result.js.map +1 -0
- package/dist/common/types.d.ts +57 -0
- package/dist/common/types.d.ts.map +1 -0
- package/dist/common/types.js +42 -0
- package/dist/common/types.js.map +1 -0
- package/dist/index.d.ts +94 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +108 -0
- package/dist/index.js.map +1 -0
- package/dist/kadi-event-publisher.d.ts +163 -0
- package/dist/kadi-event-publisher.d.ts.map +1 -0
- package/dist/kadi-event-publisher.js +286 -0
- package/dist/kadi-event-publisher.js.map +1 -0
- package/dist/memory/arcadedb-adapter.d.ts +159 -0
- package/dist/memory/arcadedb-adapter.d.ts.map +1 -0
- package/dist/memory/arcadedb-adapter.js +314 -0
- package/dist/memory/arcadedb-adapter.js.map +1 -0
- package/dist/memory/file-storage-adapter.d.ts +122 -0
- package/dist/memory/file-storage-adapter.d.ts.map +1 -0
- package/dist/memory/file-storage-adapter.js +352 -0
- package/dist/memory/file-storage-adapter.js.map +1 -0
- package/dist/memory/memory-service.d.ts +208 -0
- package/dist/memory/memory-service.d.ts.map +1 -0
- package/dist/memory/memory-service.js +410 -0
- package/dist/memory/memory-service.js.map +1 -0
- package/dist/memory/types.d.ts +126 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +41 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/producer-tool-utils.d.ts +474 -0
- package/dist/producer-tool-utils.d.ts.map +1 -0
- package/dist/producer-tool-utils.js +664 -0
- package/dist/producer-tool-utils.js.map +1 -0
- package/dist/providers/anthropic-provider.d.ts +160 -0
- package/dist/providers/anthropic-provider.d.ts.map +1 -0
- package/dist/providers/anthropic-provider.js +527 -0
- package/dist/providers/anthropic-provider.js.map +1 -0
- package/dist/providers/model-manager-provider.d.ts +91 -0
- package/dist/providers/model-manager-provider.d.ts.map +1 -0
- package/dist/providers/model-manager-provider.js +355 -0
- package/dist/providers/model-manager-provider.js.map +1 -0
- package/dist/providers/provider-manager.d.ts +111 -0
- package/dist/providers/provider-manager.d.ts.map +1 -0
- package/dist/providers/provider-manager.js +337 -0
- package/dist/providers/provider-manager.js.map +1 -0
- package/dist/providers/types.d.ts +145 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +23 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/shadow-agent-factory.d.ts +623 -0
- package/dist/shadow-agent-factory.d.ts.map +1 -0
- package/dist/shadow-agent-factory.js +1117 -0
- package/dist/shadow-agent-factory.js.map +1 -0
- package/dist/types/agent-config.d.ts +307 -0
- package/dist/types/agent-config.d.ts.map +1 -0
- package/dist/types/agent-config.js +15 -0
- package/dist/types/agent-config.js.map +1 -0
- package/dist/types/event-schemas.d.ts +358 -0
- package/dist/types/event-schemas.d.ts.map +1 -0
- package/dist/types/event-schemas.js +188 -0
- package/dist/types/event-schemas.js.map +1 -0
- package/dist/types/tool-schemas.d.ts +498 -0
- package/dist/types/tool-schemas.d.ts.map +1 -0
- package/dist/types/tool-schemas.js +457 -0
- package/dist/types/tool-schemas.js.map +1 -0
- package/dist/utils/logger.d.ts +135 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +205 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/timer.d.ts +186 -0
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/timer.js +211 -0
- package/dist/utils/timer.js.map +1 -0
- package/dist/worker-agent-factory.d.ts +688 -0
- package/dist/worker-agent-factory.d.ts.map +1 -0
- package/dist/worker-agent-factory.js +1517 -0
- package/dist/worker-agent-factory.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Schema Type Definitions with Zod Validation
|
|
3
|
+
* ==================================================
|
|
4
|
+
*
|
|
5
|
+
* Standardized event schemas for KĀDI multi-agent orchestration system.
|
|
6
|
+
* Includes TypeScript interfaces and Zod schemas for runtime validation.
|
|
7
|
+
*
|
|
8
|
+
* Event Topic Pattern: {role}.{event_type}
|
|
9
|
+
* - artist.task.assigned
|
|
10
|
+
* - artist.task.completed
|
|
11
|
+
* - artist.task.failed
|
|
12
|
+
* - backup.completed / backup.failed
|
|
13
|
+
*
|
|
14
|
+
* Design Principles:
|
|
15
|
+
* - All timestamps use ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ)
|
|
16
|
+
* - Backward compatible with existing event payloads
|
|
17
|
+
* - Runtime validation via Zod schemas
|
|
18
|
+
* - Type-safe event handling
|
|
19
|
+
*
|
|
20
|
+
* @module event-schemas
|
|
21
|
+
*/
|
|
22
|
+
import { z } from '@kadi.build/core';
|
|
23
|
+
/**
|
|
24
|
+
* Event published when a task is assigned to a worker agent
|
|
25
|
+
*
|
|
26
|
+
* Topic Pattern: {role}.task.assigned
|
|
27
|
+
* - artist.task.assigned
|
|
28
|
+
* - designer.task.assigned
|
|
29
|
+
* - programmer.task.assigned
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const event: TaskAssignedEvent = {
|
|
34
|
+
* taskId: 'task-123',
|
|
35
|
+
* role: 'artist',
|
|
36
|
+
* description: 'Create hero banner image',
|
|
37
|
+
* requirements: 'Size: 1920x1080, Format: PNG, Theme: Modern tech',
|
|
38
|
+
* timestamp: '2025-12-04T10:30:00.000Z'
|
|
39
|
+
* };
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export interface TaskAssignedEvent {
|
|
43
|
+
/** Unique task identifier */
|
|
44
|
+
taskId: string;
|
|
45
|
+
/** Quest ID this task belongs to (optional for backward compatibility) */
|
|
46
|
+
questId?: string;
|
|
47
|
+
/** Agent role assigned to this task */
|
|
48
|
+
role: string;
|
|
49
|
+
/** Human-readable task description */
|
|
50
|
+
description: string;
|
|
51
|
+
/** Detailed requirements or specifications */
|
|
52
|
+
requirements: string;
|
|
53
|
+
/** ISO 8601 timestamp when task was assigned */
|
|
54
|
+
timestamp: string;
|
|
55
|
+
/** User or agent that assigned this task (optional) */
|
|
56
|
+
assignedBy?: string;
|
|
57
|
+
/** Feedback from previous verification failure (present on retry) */
|
|
58
|
+
feedback?: string;
|
|
59
|
+
/** Retry attempt number (0 = first attempt, 1+ = retry) */
|
|
60
|
+
retryAttempt?: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Zod schema for TaskAssignedEvent runtime validation
|
|
64
|
+
*/
|
|
65
|
+
export declare const TaskAssignedEventSchema: z.ZodObject<{
|
|
66
|
+
taskId: z.ZodString;
|
|
67
|
+
questId: z.ZodOptional<z.ZodString>;
|
|
68
|
+
role: z.ZodString;
|
|
69
|
+
description: z.ZodString;
|
|
70
|
+
requirements: z.ZodString;
|
|
71
|
+
timestamp: z.ZodString;
|
|
72
|
+
assignedBy: z.ZodOptional<z.ZodString>;
|
|
73
|
+
feedback: z.ZodOptional<z.ZodString>;
|
|
74
|
+
retryAttempt: z.ZodOptional<z.ZodNumber>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
/**
|
|
77
|
+
* Event published when a worker agent successfully completes a task
|
|
78
|
+
*
|
|
79
|
+
* Topic Pattern: {role}.task.completed
|
|
80
|
+
* - artist.task.completed
|
|
81
|
+
* - designer.task.completed
|
|
82
|
+
* - programmer.task.completed
|
|
83
|
+
*
|
|
84
|
+
* This schema maintains backward compatibility with existing agent-artist implementation.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const event: TaskCompletedEvent = {
|
|
89
|
+
* taskId: 'task-123',
|
|
90
|
+
* role: 'artist',
|
|
91
|
+
* status: 'completed',
|
|
92
|
+
* filesCreated: ['artwork-hero-banner.png'],
|
|
93
|
+
* filesModified: [],
|
|
94
|
+
* commitSha: 'a1b2c3d4e5f6g7h8i9j0',
|
|
95
|
+
* timestamp: '2025-12-04T10:45:00.000Z',
|
|
96
|
+
* agent: 'agent-artist'
|
|
97
|
+
* };
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export interface TaskCompletedEvent {
|
|
101
|
+
/** Unique task identifier */
|
|
102
|
+
taskId: string;
|
|
103
|
+
/** Quest ID this task belongs to (optional for backward compatibility) */
|
|
104
|
+
questId?: string;
|
|
105
|
+
/** Agent role that completed this task */
|
|
106
|
+
role: string;
|
|
107
|
+
/** Task completion status (always 'completed') */
|
|
108
|
+
status: 'completed';
|
|
109
|
+
/** Array of file paths created during task execution */
|
|
110
|
+
filesCreated: string[];
|
|
111
|
+
/** Array of file paths modified during task execution */
|
|
112
|
+
filesModified: string[];
|
|
113
|
+
/** Git commit SHA of the commit containing task output */
|
|
114
|
+
commitSha: string;
|
|
115
|
+
/** ISO 8601 timestamp when task was completed */
|
|
116
|
+
timestamp: string;
|
|
117
|
+
/** Agent identifier (e.g., 'agent-artist', 'agent-designer') */
|
|
118
|
+
agent: string;
|
|
119
|
+
/** Truncated summary of generated content for verification (optional) */
|
|
120
|
+
contentSummary?: string;
|
|
121
|
+
/** Absolute path to the git worktree where the worker executed (for independent verification) */
|
|
122
|
+
worktreePath?: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Zod schema for TaskCompletedEvent runtime validation
|
|
126
|
+
*/
|
|
127
|
+
export declare const TaskCompletedEventSchema: z.ZodObject<{
|
|
128
|
+
taskId: z.ZodString;
|
|
129
|
+
questId: z.ZodOptional<z.ZodString>;
|
|
130
|
+
role: z.ZodString;
|
|
131
|
+
status: z.ZodLiteral<"completed">;
|
|
132
|
+
filesCreated: z.ZodArray<z.ZodString>;
|
|
133
|
+
filesModified: z.ZodArray<z.ZodString>;
|
|
134
|
+
commitSha: z.ZodString;
|
|
135
|
+
timestamp: z.ZodString;
|
|
136
|
+
agent: z.ZodString;
|
|
137
|
+
contentSummary: z.ZodOptional<z.ZodString>;
|
|
138
|
+
worktreePath: z.ZodOptional<z.ZodString>;
|
|
139
|
+
}, z.core.$strip>;
|
|
140
|
+
/**
|
|
141
|
+
* Event published when a worker agent fails to complete a task
|
|
142
|
+
*
|
|
143
|
+
* Topic Pattern: {role}.task.failed
|
|
144
|
+
* - artist.task.failed
|
|
145
|
+
* - designer.task.failed
|
|
146
|
+
* - programmer.task.failed
|
|
147
|
+
*
|
|
148
|
+
* This schema maintains backward compatibility with existing agent-artist implementation.
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* const event: TaskFailedEvent = {
|
|
153
|
+
* taskId: 'task-123',
|
|
154
|
+
* role: 'artist',
|
|
155
|
+
* error: 'Claude API timeout after 60 seconds',
|
|
156
|
+
* timestamp: '2025-12-04T10:45:00.000Z',
|
|
157
|
+
* agent: 'agent-artist'
|
|
158
|
+
* };
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export interface TaskFailedEvent {
|
|
162
|
+
/** Unique task identifier */
|
|
163
|
+
taskId: string;
|
|
164
|
+
/** Quest identifier this task belongs to */
|
|
165
|
+
questId: string;
|
|
166
|
+
/** Agent role that attempted this task */
|
|
167
|
+
role: string;
|
|
168
|
+
/** Error message describing the failure */
|
|
169
|
+
error: string;
|
|
170
|
+
/** ISO 8601 timestamp when task failed */
|
|
171
|
+
timestamp: string;
|
|
172
|
+
/** Agent identifier (e.g., 'agent-artist', 'agent-designer') */
|
|
173
|
+
agent: string;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Zod schema for TaskFailedEvent runtime validation
|
|
177
|
+
*/
|
|
178
|
+
export declare const TaskFailedEventSchema: z.ZodObject<{
|
|
179
|
+
taskId: z.ZodString;
|
|
180
|
+
questId: z.ZodString;
|
|
181
|
+
role: z.ZodString;
|
|
182
|
+
error: z.ZodString;
|
|
183
|
+
timestamp: z.ZodString;
|
|
184
|
+
agent: z.ZodString;
|
|
185
|
+
}, z.core.$strip>;
|
|
186
|
+
/**
|
|
187
|
+
* Event published when a worker agent rejects a task due to capability mismatch
|
|
188
|
+
*
|
|
189
|
+
* Topic Pattern: task.rejected
|
|
190
|
+
*
|
|
191
|
+
* Worker agents validate incoming tasks against their capabilities before execution.
|
|
192
|
+
* If the task description doesn't match the agent's skill set, the agent publishes
|
|
193
|
+
* this event instead of attempting execution.
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
* ```typescript
|
|
197
|
+
* const event: TaskRejectedEvent = {
|
|
198
|
+
* taskId: 'task-123',
|
|
199
|
+
* questId: 'quest-456',
|
|
200
|
+
* role: 'artist',
|
|
201
|
+
* reason: 'Task requires database/backend skills, not artistic capabilities',
|
|
202
|
+
* timestamp: '2025-12-04T10:45:00.000Z',
|
|
203
|
+
* agent: 'agent-artist'
|
|
204
|
+
* };
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
export interface TaskRejectedEvent {
|
|
208
|
+
/** Unique task identifier */
|
|
209
|
+
taskId: string;
|
|
210
|
+
/** Quest identifier (optional, for quest-based workflows) */
|
|
211
|
+
questId?: string;
|
|
212
|
+
/** Agent role that rejected this task */
|
|
213
|
+
role: string;
|
|
214
|
+
/** Reason for rejection (capability mismatch explanation) */
|
|
215
|
+
reason: string;
|
|
216
|
+
/** ISO 8601 timestamp when task was rejected */
|
|
217
|
+
timestamp: string;
|
|
218
|
+
/** Agent identifier (e.g., 'agent-artist', 'agent-designer') */
|
|
219
|
+
agent: string;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Zod schema for TaskRejectedEvent runtime validation
|
|
223
|
+
*/
|
|
224
|
+
export declare const TaskRejectedEventSchema: z.ZodObject<{
|
|
225
|
+
taskId: z.ZodString;
|
|
226
|
+
questId: z.ZodOptional<z.ZodString>;
|
|
227
|
+
role: z.ZodString;
|
|
228
|
+
reason: z.ZodString;
|
|
229
|
+
timestamp: z.ZodString;
|
|
230
|
+
agent: z.ZodString;
|
|
231
|
+
}, z.core.$strip>;
|
|
232
|
+
/**
|
|
233
|
+
* Event published when a shadow agent completes a backup operation
|
|
234
|
+
*
|
|
235
|
+
* Topic Pattern: backup.{completed|failed}
|
|
236
|
+
* Agent identity is carried in the payload `agent` field (e.g., 'shadow-agent-artist').
|
|
237
|
+
*
|
|
238
|
+
* Shadow agents watch worker worktrees and create mirror commits in shadow worktrees.
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```typescript
|
|
242
|
+
* const event: BackupEvent = {
|
|
243
|
+
* agent: 'shadow-agent-artist',
|
|
244
|
+
* role: 'artist',
|
|
245
|
+
* operation: 'mirror-commit',
|
|
246
|
+
* status: 'success',
|
|
247
|
+
* filesBackedUp: ['artwork-hero-banner.png', 'artwork-logo.svg'],
|
|
248
|
+
* timestamp: '2025-12-04T10:46:00.000Z'
|
|
249
|
+
* };
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
export interface BackupEvent {
|
|
253
|
+
/** Agent identifier (e.g., 'shadow-agent-artist', 'shadow-agent-designer') */
|
|
254
|
+
agent: string;
|
|
255
|
+
/** Agent role being backed up */
|
|
256
|
+
role: string;
|
|
257
|
+
/** Backup operation type (e.g., 'mirror-commit', 'full-sync') */
|
|
258
|
+
operation: string;
|
|
259
|
+
/** Operation status */
|
|
260
|
+
status: 'success' | 'failure';
|
|
261
|
+
/** Array of file paths that were backed up */
|
|
262
|
+
filesBackedUp: string[];
|
|
263
|
+
/** Error message if status is 'failure' (optional) */
|
|
264
|
+
error?: string;
|
|
265
|
+
/** ISO 8601 timestamp when backup operation completed */
|
|
266
|
+
timestamp: string;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Zod schema for BackupEvent runtime validation
|
|
270
|
+
*/
|
|
271
|
+
export declare const BackupEventSchema: z.ZodObject<{
|
|
272
|
+
agent: z.ZodString;
|
|
273
|
+
role: z.ZodString;
|
|
274
|
+
operation: z.ZodString;
|
|
275
|
+
status: z.ZodEnum<{
|
|
276
|
+
success: "success";
|
|
277
|
+
failure: "failure";
|
|
278
|
+
}>;
|
|
279
|
+
filesBackedUp: z.ZodArray<z.ZodString>;
|
|
280
|
+
error: z.ZodOptional<z.ZodString>;
|
|
281
|
+
timestamp: z.ZodString;
|
|
282
|
+
}, z.core.$strip>;
|
|
283
|
+
/**
|
|
284
|
+
* Type guard to check if an object is a valid TaskAssignedEvent
|
|
285
|
+
*
|
|
286
|
+
* @param obj - Object to validate
|
|
287
|
+
* @returns True if obj matches TaskAssignedEvent schema
|
|
288
|
+
*/
|
|
289
|
+
export declare function isTaskAssignedEvent(obj: unknown): obj is TaskAssignedEvent;
|
|
290
|
+
/**
|
|
291
|
+
* Type guard to check if an object is a valid TaskCompletedEvent
|
|
292
|
+
*
|
|
293
|
+
* @param obj - Object to validate
|
|
294
|
+
* @returns True if obj matches TaskCompletedEvent schema
|
|
295
|
+
*/
|
|
296
|
+
export declare function isTaskCompletedEvent(obj: unknown): obj is TaskCompletedEvent;
|
|
297
|
+
/**
|
|
298
|
+
* Type guard to check if an object is a valid TaskFailedEvent
|
|
299
|
+
*
|
|
300
|
+
* @param obj - Object to validate
|
|
301
|
+
* @returns True if obj matches TaskFailedEvent schema
|
|
302
|
+
*/
|
|
303
|
+
export declare function isTaskFailedEvent(obj: unknown): obj is TaskFailedEvent;
|
|
304
|
+
/**
|
|
305
|
+
* Type guard to check if an object is a valid BackupEvent
|
|
306
|
+
*
|
|
307
|
+
* @param obj - Object to validate
|
|
308
|
+
* @returns True if obj matches BackupEvent schema
|
|
309
|
+
*/
|
|
310
|
+
export declare function isBackupEvent(obj: unknown): obj is BackupEvent;
|
|
311
|
+
/**
|
|
312
|
+
* Type guard to check if an object is a valid TaskRejectedEvent
|
|
313
|
+
*
|
|
314
|
+
* @param obj - Object to validate
|
|
315
|
+
* @returns True if obj matches TaskRejectedEvent schema
|
|
316
|
+
*/
|
|
317
|
+
export declare function isTaskRejectedEvent(obj: unknown): obj is TaskRejectedEvent;
|
|
318
|
+
/**
|
|
319
|
+
* Validate and parse TaskAssignedEvent with detailed error messages
|
|
320
|
+
*
|
|
321
|
+
* @param obj - Object to validate
|
|
322
|
+
* @returns Parsed TaskAssignedEvent
|
|
323
|
+
* @throws ZodError with detailed validation errors
|
|
324
|
+
*/
|
|
325
|
+
export declare function parseTaskAssignedEvent(obj: unknown): TaskAssignedEvent;
|
|
326
|
+
/**
|
|
327
|
+
* Validate and parse TaskCompletedEvent with detailed error messages
|
|
328
|
+
*
|
|
329
|
+
* @param obj - Object to validate
|
|
330
|
+
* @returns Parsed TaskCompletedEvent
|
|
331
|
+
* @throws ZodError with detailed validation errors
|
|
332
|
+
*/
|
|
333
|
+
export declare function parseTaskCompletedEvent(obj: unknown): TaskCompletedEvent;
|
|
334
|
+
/**
|
|
335
|
+
* Validate and parse TaskFailedEvent with detailed error messages
|
|
336
|
+
*
|
|
337
|
+
* @param obj - Object to validate
|
|
338
|
+
* @returns Parsed TaskFailedEvent
|
|
339
|
+
* @throws ZodError with detailed validation errors
|
|
340
|
+
*/
|
|
341
|
+
export declare function parseTaskFailedEvent(obj: unknown): TaskFailedEvent;
|
|
342
|
+
/**
|
|
343
|
+
* Validate and parse BackupEvent with detailed error messages
|
|
344
|
+
*
|
|
345
|
+
* @param obj - Object to validate
|
|
346
|
+
* @returns Parsed BackupEvent
|
|
347
|
+
* @throws ZodError with detailed validation errors
|
|
348
|
+
*/
|
|
349
|
+
export declare function parseBackupEvent(obj: unknown): BackupEvent;
|
|
350
|
+
/**
|
|
351
|
+
* Validate and parse TaskRejectedEvent with detailed error messages
|
|
352
|
+
*
|
|
353
|
+
* @param obj - Object to validate
|
|
354
|
+
* @returns Parsed TaskRejectedEvent
|
|
355
|
+
* @throws ZodError with detailed validation errors
|
|
356
|
+
*/
|
|
357
|
+
export declare function parseTaskRejectedEvent(obj: unknown): TaskRejectedEvent;
|
|
358
|
+
//# sourceMappingURL=event-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-schemas.d.ts","sourceRoot":"","sources":["../../src/types/event-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Schema Type Definitions with Zod Validation
|
|
3
|
+
* ==================================================
|
|
4
|
+
*
|
|
5
|
+
* Standardized event schemas for KĀDI multi-agent orchestration system.
|
|
6
|
+
* Includes TypeScript interfaces and Zod schemas for runtime validation.
|
|
7
|
+
*
|
|
8
|
+
* Event Topic Pattern: {role}.{event_type}
|
|
9
|
+
* - artist.task.assigned
|
|
10
|
+
* - artist.task.completed
|
|
11
|
+
* - artist.task.failed
|
|
12
|
+
* - backup.completed / backup.failed
|
|
13
|
+
*
|
|
14
|
+
* Design Principles:
|
|
15
|
+
* - All timestamps use ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ)
|
|
16
|
+
* - Backward compatible with existing event payloads
|
|
17
|
+
* - Runtime validation via Zod schemas
|
|
18
|
+
* - Type-safe event handling
|
|
19
|
+
*
|
|
20
|
+
* @module event-schemas
|
|
21
|
+
*/
|
|
22
|
+
import { z } from '@kadi.build/core';
|
|
23
|
+
/**
|
|
24
|
+
* Zod schema for TaskAssignedEvent runtime validation
|
|
25
|
+
*/
|
|
26
|
+
export const TaskAssignedEventSchema = z.object({
|
|
27
|
+
taskId: z.string().min(1, 'Task ID is required'),
|
|
28
|
+
questId: z.string().optional(),
|
|
29
|
+
role: z.string().min(1, 'Role is required'),
|
|
30
|
+
description: z.string().min(1, 'Description is required'),
|
|
31
|
+
requirements: z.string(),
|
|
32
|
+
timestamp: z.string().datetime('Invalid ISO 8601 timestamp'),
|
|
33
|
+
assignedBy: z.string().optional(),
|
|
34
|
+
feedback: z.string().optional(),
|
|
35
|
+
retryAttempt: z.number().optional()
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Zod schema for TaskCompletedEvent runtime validation
|
|
39
|
+
*/
|
|
40
|
+
export const TaskCompletedEventSchema = z.object({
|
|
41
|
+
taskId: z.string().min(1, 'Task ID is required'),
|
|
42
|
+
questId: z.string().optional(),
|
|
43
|
+
role: z.string().min(1, 'Role is required'),
|
|
44
|
+
status: z.literal('completed'),
|
|
45
|
+
filesCreated: z.array(z.string()),
|
|
46
|
+
filesModified: z.array(z.string()),
|
|
47
|
+
commitSha: z.string().min(1, 'Commit SHA is required'),
|
|
48
|
+
timestamp: z.string().datetime('Invalid ISO 8601 timestamp'),
|
|
49
|
+
agent: z.string().min(1, 'Agent identifier is required'),
|
|
50
|
+
contentSummary: z.string().optional(),
|
|
51
|
+
worktreePath: z.string().optional()
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Zod schema for TaskFailedEvent runtime validation
|
|
55
|
+
*/
|
|
56
|
+
export const TaskFailedEventSchema = z.object({
|
|
57
|
+
taskId: z.string().min(1, 'Task ID is required'),
|
|
58
|
+
questId: z.string().min(1, 'Quest ID is required'),
|
|
59
|
+
role: z.string().min(1, 'Role is required'),
|
|
60
|
+
error: z.string().min(1, 'Error message is required'),
|
|
61
|
+
timestamp: z.string().datetime('Invalid ISO 8601 timestamp'),
|
|
62
|
+
agent: z.string().min(1, 'Agent identifier is required')
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* Zod schema for TaskRejectedEvent runtime validation
|
|
66
|
+
*/
|
|
67
|
+
export const TaskRejectedEventSchema = z.object({
|
|
68
|
+
taskId: z.string().min(1, 'Task ID is required'),
|
|
69
|
+
questId: z.string().optional(),
|
|
70
|
+
role: z.string().min(1, 'Role is required'),
|
|
71
|
+
reason: z.string().min(1, 'Rejection reason is required'),
|
|
72
|
+
timestamp: z.string().datetime('Invalid ISO 8601 timestamp'),
|
|
73
|
+
agent: z.string().min(1, 'Agent identifier is required')
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Zod schema for BackupEvent runtime validation
|
|
77
|
+
*/
|
|
78
|
+
export const BackupEventSchema = z.object({
|
|
79
|
+
agent: z.string().min(1, 'Agent identifier is required'),
|
|
80
|
+
role: z.string().min(1, 'Role is required'),
|
|
81
|
+
operation: z.string().min(1, 'Operation type is required'),
|
|
82
|
+
status: z.enum(['success', 'failure']),
|
|
83
|
+
filesBackedUp: z.array(z.string()),
|
|
84
|
+
error: z.string().optional(),
|
|
85
|
+
timestamp: z.string().datetime('Invalid ISO 8601 timestamp')
|
|
86
|
+
});
|
|
87
|
+
// ============================================================================
|
|
88
|
+
// Type Guards
|
|
89
|
+
// ============================================================================
|
|
90
|
+
/**
|
|
91
|
+
* Type guard to check if an object is a valid TaskAssignedEvent
|
|
92
|
+
*
|
|
93
|
+
* @param obj - Object to validate
|
|
94
|
+
* @returns True if obj matches TaskAssignedEvent schema
|
|
95
|
+
*/
|
|
96
|
+
export function isTaskAssignedEvent(obj) {
|
|
97
|
+
return TaskAssignedEventSchema.safeParse(obj).success;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Type guard to check if an object is a valid TaskCompletedEvent
|
|
101
|
+
*
|
|
102
|
+
* @param obj - Object to validate
|
|
103
|
+
* @returns True if obj matches TaskCompletedEvent schema
|
|
104
|
+
*/
|
|
105
|
+
export function isTaskCompletedEvent(obj) {
|
|
106
|
+
return TaskCompletedEventSchema.safeParse(obj).success;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Type guard to check if an object is a valid TaskFailedEvent
|
|
110
|
+
*
|
|
111
|
+
* @param obj - Object to validate
|
|
112
|
+
* @returns True if obj matches TaskFailedEvent schema
|
|
113
|
+
*/
|
|
114
|
+
export function isTaskFailedEvent(obj) {
|
|
115
|
+
return TaskFailedEventSchema.safeParse(obj).success;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Type guard to check if an object is a valid BackupEvent
|
|
119
|
+
*
|
|
120
|
+
* @param obj - Object to validate
|
|
121
|
+
* @returns True if obj matches BackupEvent schema
|
|
122
|
+
*/
|
|
123
|
+
export function isBackupEvent(obj) {
|
|
124
|
+
return BackupEventSchema.safeParse(obj).success;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Type guard to check if an object is a valid TaskRejectedEvent
|
|
128
|
+
*
|
|
129
|
+
* @param obj - Object to validate
|
|
130
|
+
* @returns True if obj matches TaskRejectedEvent schema
|
|
131
|
+
*/
|
|
132
|
+
export function isTaskRejectedEvent(obj) {
|
|
133
|
+
return TaskRejectedEventSchema.safeParse(obj).success;
|
|
134
|
+
}
|
|
135
|
+
// ============================================================================
|
|
136
|
+
// Validation Helpers
|
|
137
|
+
// ============================================================================
|
|
138
|
+
/**
|
|
139
|
+
* Validate and parse TaskAssignedEvent with detailed error messages
|
|
140
|
+
*
|
|
141
|
+
* @param obj - Object to validate
|
|
142
|
+
* @returns Parsed TaskAssignedEvent
|
|
143
|
+
* @throws ZodError with detailed validation errors
|
|
144
|
+
*/
|
|
145
|
+
export function parseTaskAssignedEvent(obj) {
|
|
146
|
+
return TaskAssignedEventSchema.parse(obj);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Validate and parse TaskCompletedEvent with detailed error messages
|
|
150
|
+
*
|
|
151
|
+
* @param obj - Object to validate
|
|
152
|
+
* @returns Parsed TaskCompletedEvent
|
|
153
|
+
* @throws ZodError with detailed validation errors
|
|
154
|
+
*/
|
|
155
|
+
export function parseTaskCompletedEvent(obj) {
|
|
156
|
+
return TaskCompletedEventSchema.parse(obj);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Validate and parse TaskFailedEvent with detailed error messages
|
|
160
|
+
*
|
|
161
|
+
* @param obj - Object to validate
|
|
162
|
+
* @returns Parsed TaskFailedEvent
|
|
163
|
+
* @throws ZodError with detailed validation errors
|
|
164
|
+
*/
|
|
165
|
+
export function parseTaskFailedEvent(obj) {
|
|
166
|
+
return TaskFailedEventSchema.parse(obj);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Validate and parse BackupEvent with detailed error messages
|
|
170
|
+
*
|
|
171
|
+
* @param obj - Object to validate
|
|
172
|
+
* @returns Parsed BackupEvent
|
|
173
|
+
* @throws ZodError with detailed validation errors
|
|
174
|
+
*/
|
|
175
|
+
export function parseBackupEvent(obj) {
|
|
176
|
+
return BackupEventSchema.parse(obj);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Validate and parse TaskRejectedEvent with detailed error messages
|
|
180
|
+
*
|
|
181
|
+
* @param obj - Object to validate
|
|
182
|
+
* @returns Parsed TaskRejectedEvent
|
|
183
|
+
* @throws ZodError with detailed validation errors
|
|
184
|
+
*/
|
|
185
|
+
export function parseTaskRejectedEvent(obj) {
|
|
186
|
+
return TaskRejectedEventSchema.parse(obj);
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=event-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-schemas.js","sourceRoot":"","sources":["../../src/types/event-schemas.ts"],"names":[],"mappings":"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"}
|