opencode-swarm-plugin 0.26.1 → 0.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/CHANGELOG.md +38 -0
  3. package/README.md +43 -46
  4. package/bin/swarm.ts +10 -54
  5. package/dist/compaction-hook.d.ts +57 -0
  6. package/dist/compaction-hook.d.ts.map +1 -0
  7. package/dist/hive.d.ts +741 -0
  8. package/dist/hive.d.ts.map +1 -0
  9. package/dist/index.d.ts +139 -23
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1353 -350
  12. package/dist/learning.d.ts +9 -9
  13. package/dist/plugin.js +1176 -350
  14. package/dist/schemas/cell-events.d.ts +1352 -0
  15. package/dist/schemas/{bead-events.d.ts.map → cell-events.d.ts.map} +1 -1
  16. package/dist/schemas/{bead.d.ts → cell.d.ts} +173 -29
  17. package/dist/schemas/cell.d.ts.map +1 -0
  18. package/dist/schemas/index.d.ts +11 -7
  19. package/dist/schemas/index.d.ts.map +1 -1
  20. package/dist/structured.d.ts +17 -7
  21. package/dist/structured.d.ts.map +1 -1
  22. package/dist/swarm-decompose.d.ts +5 -5
  23. package/dist/swarm-orchestrate.d.ts +16 -2
  24. package/dist/swarm-orchestrate.d.ts.map +1 -1
  25. package/dist/swarm-prompts.d.ts +9 -9
  26. package/dist/swarm-prompts.d.ts.map +1 -1
  27. package/dist/swarm-review.d.ts +210 -0
  28. package/dist/swarm-review.d.ts.map +1 -0
  29. package/dist/swarm-worktree.d.ts +185 -0
  30. package/dist/swarm-worktree.d.ts.map +1 -0
  31. package/dist/swarm.d.ts +7 -0
  32. package/dist/swarm.d.ts.map +1 -1
  33. package/dist/tool-availability.d.ts +3 -2
  34. package/dist/tool-availability.d.ts.map +1 -1
  35. package/docs/analysis-socratic-planner-pattern.md +1 -1
  36. package/docs/planning/ADR-007-swarm-enhancements-worktree-review.md +168 -0
  37. package/docs/testing/context-recovery-test.md +2 -2
  38. package/evals/README.md +2 -2
  39. package/evals/scorers/index.ts +7 -7
  40. package/examples/commands/swarm.md +21 -23
  41. package/examples/plugin-wrapper-template.ts +310 -44
  42. package/examples/skills/{beads-workflow → hive-workflow}/SKILL.md +40 -40
  43. package/examples/skills/swarm-coordination/SKILL.md +1 -1
  44. package/global-skills/swarm-coordination/SKILL.md +14 -14
  45. package/global-skills/swarm-coordination/references/coordinator-patterns.md +3 -3
  46. package/package.json +2 -2
  47. package/src/compaction-hook.ts +161 -0
  48. package/src/{beads.integration.test.ts → hive.integration.test.ts} +92 -80
  49. package/src/{beads.ts → hive.ts} +378 -219
  50. package/src/index.ts +57 -20
  51. package/src/learning.ts +9 -9
  52. package/src/output-guardrails.test.ts +4 -4
  53. package/src/output-guardrails.ts +9 -9
  54. package/src/planning-guardrails.test.ts +1 -1
  55. package/src/planning-guardrails.ts +1 -1
  56. package/src/schemas/{bead-events.test.ts → cell-events.test.ts} +83 -77
  57. package/src/schemas/cell-events.ts +807 -0
  58. package/src/schemas/{bead.ts → cell.ts} +95 -41
  59. package/src/schemas/evaluation.ts +1 -1
  60. package/src/schemas/index.ts +90 -18
  61. package/src/schemas/swarm-context.ts +2 -2
  62. package/src/structured.test.ts +15 -15
  63. package/src/structured.ts +18 -11
  64. package/src/swarm-decompose.ts +23 -23
  65. package/src/swarm-orchestrate.ts +135 -21
  66. package/src/swarm-prompts.ts +43 -43
  67. package/src/swarm-review.test.ts +702 -0
  68. package/src/swarm-review.ts +696 -0
  69. package/src/swarm-worktree.test.ts +501 -0
  70. package/src/swarm-worktree.ts +575 -0
  71. package/src/swarm.integration.test.ts +12 -12
  72. package/src/tool-availability.ts +36 -3
  73. package/dist/beads.d.ts +0 -386
  74. package/dist/beads.d.ts.map +0 -1
  75. package/dist/schemas/bead-events.d.ts +0 -698
  76. package/dist/schemas/bead.d.ts.map +0 -1
  77. package/src/schemas/bead-events.ts +0 -583
@@ -0,0 +1,1352 @@
1
+ /**
2
+ * Event Types for Cells Event Sourcing
3
+ *
4
+ * These events form an audit trail for all cell operations.
5
+ * Events are NOT replayed for state reconstruction (cells uses hybrid CRUD + audit trail).
6
+ * Events enable:
7
+ * - Full audit history
8
+ * - Debugging distributed swarm operations
9
+ * - Learning from cell lifecycle patterns
10
+ * - Integration with swarm-mail coordination
11
+ *
12
+ * Design notes:
13
+ * - 75% reusable infrastructure from swarm-mail
14
+ * - Events stay local (PGLite/SQLite), not written to JSONL
15
+ * - JSONL export happens from projection snapshots (proven git merge driver)
16
+ * - Follows same BaseEventSchema pattern as swarm-mail
17
+ */
18
+ import { z } from "zod";
19
+ /**
20
+ * Base fields present on all cell events
21
+ */
22
+ export declare const BaseCellEventSchema: z.ZodObject<{
23
+ id: z.ZodOptional<z.ZodNumber>;
24
+ type: z.ZodString;
25
+ project_key: z.ZodString;
26
+ timestamp: z.ZodNumber;
27
+ sequence: z.ZodOptional<z.ZodNumber>;
28
+ }, z.core.$strip>;
29
+ /**
30
+ * Cell created
31
+ *
32
+ * Emitted when:
33
+ * - User calls `hive create`
34
+ * - Swarm epic decomposition creates subtasks
35
+ * - Agent spawns new cells during work
36
+ */
37
+ export declare const CellCreatedEventSchema: z.ZodObject<{
38
+ id: z.ZodOptional<z.ZodNumber>;
39
+ project_key: z.ZodString;
40
+ timestamp: z.ZodNumber;
41
+ sequence: z.ZodOptional<z.ZodNumber>;
42
+ type: z.ZodLiteral<"cell_created">;
43
+ cell_id: z.ZodString;
44
+ title: z.ZodString;
45
+ description: z.ZodOptional<z.ZodString>;
46
+ issue_type: z.ZodEnum<{
47
+ bug: "bug";
48
+ feature: "feature";
49
+ task: "task";
50
+ epic: "epic";
51
+ chore: "chore";
52
+ }>;
53
+ priority: z.ZodNumber;
54
+ parent_id: z.ZodOptional<z.ZodString>;
55
+ created_by: z.ZodOptional<z.ZodString>;
56
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
57
+ }, z.core.$strip>;
58
+ /**
59
+ * Cell updated (generic field changes)
60
+ *
61
+ * Emitted for non-status field updates: title, description, priority
62
+ */
63
+ export declare const CellUpdatedEventSchema: z.ZodObject<{
64
+ id: z.ZodOptional<z.ZodNumber>;
65
+ project_key: z.ZodString;
66
+ timestamp: z.ZodNumber;
67
+ sequence: z.ZodOptional<z.ZodNumber>;
68
+ type: z.ZodLiteral<"cell_updated">;
69
+ cell_id: z.ZodString;
70
+ updated_by: z.ZodOptional<z.ZodString>;
71
+ changes: z.ZodObject<{
72
+ title: z.ZodOptional<z.ZodObject<{
73
+ old: z.ZodString;
74
+ new: z.ZodString;
75
+ }, z.core.$strip>>;
76
+ description: z.ZodOptional<z.ZodObject<{
77
+ old: z.ZodString;
78
+ new: z.ZodString;
79
+ }, z.core.$strip>>;
80
+ priority: z.ZodOptional<z.ZodObject<{
81
+ old: z.ZodNumber;
82
+ new: z.ZodNumber;
83
+ }, z.core.$strip>>;
84
+ }, z.core.$strip>;
85
+ }, z.core.$strip>;
86
+ /**
87
+ * Cell status changed
88
+ *
89
+ * Separate event for status transitions to enable workflow analysis.
90
+ * Tracks state machine: open → in_progress → (blocked | closed)
91
+ */
92
+ export declare const CellStatusChangedEventSchema: z.ZodObject<{
93
+ id: z.ZodOptional<z.ZodNumber>;
94
+ project_key: z.ZodString;
95
+ timestamp: z.ZodNumber;
96
+ sequence: z.ZodOptional<z.ZodNumber>;
97
+ type: z.ZodLiteral<"cell_status_changed">;
98
+ cell_id: z.ZodString;
99
+ from_status: z.ZodEnum<{
100
+ open: "open";
101
+ in_progress: "in_progress";
102
+ blocked: "blocked";
103
+ closed: "closed";
104
+ }>;
105
+ to_status: z.ZodEnum<{
106
+ open: "open";
107
+ in_progress: "in_progress";
108
+ blocked: "blocked";
109
+ closed: "closed";
110
+ }>;
111
+ changed_by: z.ZodOptional<z.ZodString>;
112
+ reason: z.ZodOptional<z.ZodString>;
113
+ }, z.core.$strip>;
114
+ /**
115
+ * Cell closed
116
+ *
117
+ * Explicit close event (subset of status_changed for convenience).
118
+ * Includes closure reason for audit trail.
119
+ */
120
+ export declare const CellClosedEventSchema: z.ZodObject<{
121
+ id: z.ZodOptional<z.ZodNumber>;
122
+ project_key: z.ZodString;
123
+ timestamp: z.ZodNumber;
124
+ sequence: z.ZodOptional<z.ZodNumber>;
125
+ type: z.ZodLiteral<"cell_closed">;
126
+ cell_id: z.ZodString;
127
+ reason: z.ZodString;
128
+ closed_by: z.ZodOptional<z.ZodString>;
129
+ files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
130
+ duration_ms: z.ZodOptional<z.ZodNumber>;
131
+ }, z.core.$strip>;
132
+ /**
133
+ * Cell reopened
134
+ *
135
+ * Emitted when closed cell is reopened.
136
+ */
137
+ export declare const CellReopenedEventSchema: z.ZodObject<{
138
+ id: z.ZodOptional<z.ZodNumber>;
139
+ project_key: z.ZodString;
140
+ timestamp: z.ZodNumber;
141
+ sequence: z.ZodOptional<z.ZodNumber>;
142
+ type: z.ZodLiteral<"cell_reopened">;
143
+ cell_id: z.ZodString;
144
+ reason: z.ZodOptional<z.ZodString>;
145
+ reopened_by: z.ZodOptional<z.ZodString>;
146
+ }, z.core.$strip>;
147
+ /**
148
+ * Cell deleted
149
+ *
150
+ * Hard delete event (rare - cells are usually closed, not deleted).
151
+ * Useful for cleaning up spurious/duplicate cells.
152
+ */
153
+ export declare const CellDeletedEventSchema: z.ZodObject<{
154
+ id: z.ZodOptional<z.ZodNumber>;
155
+ project_key: z.ZodString;
156
+ timestamp: z.ZodNumber;
157
+ sequence: z.ZodOptional<z.ZodNumber>;
158
+ type: z.ZodLiteral<"cell_deleted">;
159
+ cell_id: z.ZodString;
160
+ reason: z.ZodOptional<z.ZodString>;
161
+ deleted_by: z.ZodOptional<z.ZodString>;
162
+ }, z.core.$strip>;
163
+ /**
164
+ * Dependency added between cells
165
+ *
166
+ * Supports 4 relationship types:
167
+ * - blocks: This cell blocks the target
168
+ * - blocked-by: This cell is blocked by the target
169
+ * - related: Informational link
170
+ * - discovered-from: Cell spawned from investigation of target
171
+ */
172
+ export declare const CellDependencyAddedEventSchema: z.ZodObject<{
173
+ id: z.ZodOptional<z.ZodNumber>;
174
+ project_key: z.ZodString;
175
+ timestamp: z.ZodNumber;
176
+ sequence: z.ZodOptional<z.ZodNumber>;
177
+ type: z.ZodLiteral<"cell_dependency_added">;
178
+ cell_id: z.ZodString;
179
+ dependency: z.ZodObject<{
180
+ id: z.ZodString;
181
+ type: z.ZodEnum<{
182
+ blocks: "blocks";
183
+ "blocked-by": "blocked-by";
184
+ related: "related";
185
+ "discovered-from": "discovered-from";
186
+ }>;
187
+ }, z.core.$strip>;
188
+ added_by: z.ZodOptional<z.ZodString>;
189
+ reason: z.ZodOptional<z.ZodString>;
190
+ }, z.core.$strip>;
191
+ /**
192
+ * Dependency removed
193
+ *
194
+ * Emitted when dependency is no longer relevant or was added in error.
195
+ */
196
+ export declare const CellDependencyRemovedEventSchema: z.ZodObject<{
197
+ id: z.ZodOptional<z.ZodNumber>;
198
+ project_key: z.ZodString;
199
+ timestamp: z.ZodNumber;
200
+ sequence: z.ZodOptional<z.ZodNumber>;
201
+ type: z.ZodLiteral<"cell_dependency_removed">;
202
+ cell_id: z.ZodString;
203
+ dependency: z.ZodObject<{
204
+ id: z.ZodString;
205
+ type: z.ZodEnum<{
206
+ blocks: "blocks";
207
+ "blocked-by": "blocked-by";
208
+ related: "related";
209
+ "discovered-from": "discovered-from";
210
+ }>;
211
+ }, z.core.$strip>;
212
+ removed_by: z.ZodOptional<z.ZodString>;
213
+ reason: z.ZodOptional<z.ZodString>;
214
+ }, z.core.$strip>;
215
+ /**
216
+ * Label added to cell
217
+ *
218
+ * Labels are string tags for categorization/filtering.
219
+ * Common labels: "p0", "needs-review", "blocked-external", "tech-debt"
220
+ */
221
+ export declare const CellLabelAddedEventSchema: z.ZodObject<{
222
+ id: z.ZodOptional<z.ZodNumber>;
223
+ project_key: z.ZodString;
224
+ timestamp: z.ZodNumber;
225
+ sequence: z.ZodOptional<z.ZodNumber>;
226
+ type: z.ZodLiteral<"cell_label_added">;
227
+ cell_id: z.ZodString;
228
+ label: z.ZodString;
229
+ added_by: z.ZodOptional<z.ZodString>;
230
+ }, z.core.$strip>;
231
+ /**
232
+ * Label removed from cell
233
+ */
234
+ export declare const CellLabelRemovedEventSchema: z.ZodObject<{
235
+ id: z.ZodOptional<z.ZodNumber>;
236
+ project_key: z.ZodString;
237
+ timestamp: z.ZodNumber;
238
+ sequence: z.ZodOptional<z.ZodNumber>;
239
+ type: z.ZodLiteral<"cell_label_removed">;
240
+ cell_id: z.ZodString;
241
+ label: z.ZodString;
242
+ removed_by: z.ZodOptional<z.ZodString>;
243
+ }, z.core.$strip>;
244
+ /**
245
+ * Comment added to cell
246
+ *
247
+ * Supports agent-to-agent communication, human notes, and progress updates.
248
+ */
249
+ export declare const CellCommentAddedEventSchema: z.ZodObject<{
250
+ id: z.ZodOptional<z.ZodNumber>;
251
+ project_key: z.ZodString;
252
+ timestamp: z.ZodNumber;
253
+ sequence: z.ZodOptional<z.ZodNumber>;
254
+ type: z.ZodLiteral<"cell_comment_added">;
255
+ cell_id: z.ZodString;
256
+ comment_id: z.ZodOptional<z.ZodNumber>;
257
+ author: z.ZodString;
258
+ body: z.ZodString;
259
+ parent_comment_id: z.ZodOptional<z.ZodNumber>;
260
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
261
+ }, z.core.$strip>;
262
+ /**
263
+ * Comment updated (edit)
264
+ */
265
+ export declare const CellCommentUpdatedEventSchema: z.ZodObject<{
266
+ id: z.ZodOptional<z.ZodNumber>;
267
+ project_key: z.ZodString;
268
+ timestamp: z.ZodNumber;
269
+ sequence: z.ZodOptional<z.ZodNumber>;
270
+ type: z.ZodLiteral<"cell_comment_updated">;
271
+ cell_id: z.ZodString;
272
+ comment_id: z.ZodNumber;
273
+ old_body: z.ZodString;
274
+ new_body: z.ZodString;
275
+ updated_by: z.ZodString;
276
+ }, z.core.$strip>;
277
+ /**
278
+ * Comment deleted
279
+ */
280
+ export declare const CellCommentDeletedEventSchema: z.ZodObject<{
281
+ id: z.ZodOptional<z.ZodNumber>;
282
+ project_key: z.ZodString;
283
+ timestamp: z.ZodNumber;
284
+ sequence: z.ZodOptional<z.ZodNumber>;
285
+ type: z.ZodLiteral<"cell_comment_deleted">;
286
+ cell_id: z.ZodString;
287
+ comment_id: z.ZodNumber;
288
+ deleted_by: z.ZodString;
289
+ reason: z.ZodOptional<z.ZodString>;
290
+ }, z.core.$strip>;
291
+ /**
292
+ * Child cell added to epic
293
+ *
294
+ * Emitted when:
295
+ * - Epic created with subtasks (batch event for each child)
296
+ * - User manually adds child via `hive add-child`
297
+ * - Agent spawns additional subtask during work
298
+ */
299
+ export declare const CellEpicChildAddedEventSchema: z.ZodObject<{
300
+ id: z.ZodOptional<z.ZodNumber>;
301
+ project_key: z.ZodString;
302
+ timestamp: z.ZodNumber;
303
+ sequence: z.ZodOptional<z.ZodNumber>;
304
+ type: z.ZodLiteral<"cell_epic_child_added">;
305
+ cell_id: z.ZodString;
306
+ child_id: z.ZodString;
307
+ child_index: z.ZodOptional<z.ZodNumber>;
308
+ added_by: z.ZodOptional<z.ZodString>;
309
+ }, z.core.$strip>;
310
+ /**
311
+ * Child cell removed from epic
312
+ *
313
+ * Rare - usually happens when subtask is merged/consolidated.
314
+ */
315
+ export declare const CellEpicChildRemovedEventSchema: z.ZodObject<{
316
+ id: z.ZodOptional<z.ZodNumber>;
317
+ project_key: z.ZodString;
318
+ timestamp: z.ZodNumber;
319
+ sequence: z.ZodOptional<z.ZodNumber>;
320
+ type: z.ZodLiteral<"cell_epic_child_removed">;
321
+ cell_id: z.ZodString;
322
+ child_id: z.ZodString;
323
+ removed_by: z.ZodOptional<z.ZodString>;
324
+ reason: z.ZodOptional<z.ZodString>;
325
+ }, z.core.$strip>;
326
+ /**
327
+ * Epic eligible for closure
328
+ *
329
+ * Emitted when all child cells are closed.
330
+ * Triggers coordinator review for epic closure.
331
+ */
332
+ export declare const CellEpicClosureEligibleEventSchema: z.ZodObject<{
333
+ id: z.ZodOptional<z.ZodNumber>;
334
+ project_key: z.ZodString;
335
+ timestamp: z.ZodNumber;
336
+ sequence: z.ZodOptional<z.ZodNumber>;
337
+ type: z.ZodLiteral<"cell_epic_closure_eligible">;
338
+ cell_id: z.ZodString;
339
+ child_ids: z.ZodArray<z.ZodString>;
340
+ total_duration_ms: z.ZodOptional<z.ZodNumber>;
341
+ all_files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
342
+ }, z.core.$strip>;
343
+ /**
344
+ * Cell assigned to agent
345
+ *
346
+ * Links cells to swarm-mail's agent tracking.
347
+ * Emitted when agent calls `cells_start` or swarm spawns worker.
348
+ */
349
+ export declare const CellAssignedEventSchema: z.ZodObject<{
350
+ id: z.ZodOptional<z.ZodNumber>;
351
+ project_key: z.ZodString;
352
+ timestamp: z.ZodNumber;
353
+ sequence: z.ZodOptional<z.ZodNumber>;
354
+ type: z.ZodLiteral<"cell_assigned">;
355
+ cell_id: z.ZodString;
356
+ agent_name: z.ZodString;
357
+ task_description: z.ZodOptional<z.ZodString>;
358
+ }, z.core.$strip>;
359
+ /**
360
+ * Cell work started
361
+ *
362
+ * Separate from status change to track actual work start time.
363
+ * Useful for duration/velocity metrics.
364
+ */
365
+ export declare const CellWorkStartedEventSchema: z.ZodObject<{
366
+ id: z.ZodOptional<z.ZodNumber>;
367
+ project_key: z.ZodString;
368
+ timestamp: z.ZodNumber;
369
+ sequence: z.ZodOptional<z.ZodNumber>;
370
+ type: z.ZodLiteral<"cell_work_started">;
371
+ cell_id: z.ZodString;
372
+ agent_name: z.ZodString;
373
+ reserved_files: z.ZodOptional<z.ZodArray<z.ZodString>>;
374
+ }, z.core.$strip>;
375
+ /**
376
+ * Cell compacted
377
+ *
378
+ * Emitted when cell's event history is compressed (rare).
379
+ * Follows steveyegge/beads pattern - old events archived, projection preserved.
380
+ */
381
+ export declare const CellCompactedEventSchema: z.ZodObject<{
382
+ id: z.ZodOptional<z.ZodNumber>;
383
+ project_key: z.ZodString;
384
+ timestamp: z.ZodNumber;
385
+ sequence: z.ZodOptional<z.ZodNumber>;
386
+ type: z.ZodLiteral<"cell_compacted">;
387
+ cell_id: z.ZodString;
388
+ events_archived: z.ZodNumber;
389
+ new_start_sequence: z.ZodNumber;
390
+ }, z.core.$strip>;
391
+ export declare const CellEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
392
+ id: z.ZodOptional<z.ZodNumber>;
393
+ project_key: z.ZodString;
394
+ timestamp: z.ZodNumber;
395
+ sequence: z.ZodOptional<z.ZodNumber>;
396
+ type: z.ZodLiteral<"cell_created">;
397
+ cell_id: z.ZodString;
398
+ title: z.ZodString;
399
+ description: z.ZodOptional<z.ZodString>;
400
+ issue_type: z.ZodEnum<{
401
+ bug: "bug";
402
+ feature: "feature";
403
+ task: "task";
404
+ epic: "epic";
405
+ chore: "chore";
406
+ }>;
407
+ priority: z.ZodNumber;
408
+ parent_id: z.ZodOptional<z.ZodString>;
409
+ created_by: z.ZodOptional<z.ZodString>;
410
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
411
+ }, z.core.$strip>, z.ZodObject<{
412
+ id: z.ZodOptional<z.ZodNumber>;
413
+ project_key: z.ZodString;
414
+ timestamp: z.ZodNumber;
415
+ sequence: z.ZodOptional<z.ZodNumber>;
416
+ type: z.ZodLiteral<"cell_updated">;
417
+ cell_id: z.ZodString;
418
+ updated_by: z.ZodOptional<z.ZodString>;
419
+ changes: z.ZodObject<{
420
+ title: z.ZodOptional<z.ZodObject<{
421
+ old: z.ZodString;
422
+ new: z.ZodString;
423
+ }, z.core.$strip>>;
424
+ description: z.ZodOptional<z.ZodObject<{
425
+ old: z.ZodString;
426
+ new: z.ZodString;
427
+ }, z.core.$strip>>;
428
+ priority: z.ZodOptional<z.ZodObject<{
429
+ old: z.ZodNumber;
430
+ new: z.ZodNumber;
431
+ }, z.core.$strip>>;
432
+ }, z.core.$strip>;
433
+ }, z.core.$strip>, z.ZodObject<{
434
+ id: z.ZodOptional<z.ZodNumber>;
435
+ project_key: z.ZodString;
436
+ timestamp: z.ZodNumber;
437
+ sequence: z.ZodOptional<z.ZodNumber>;
438
+ type: z.ZodLiteral<"cell_status_changed">;
439
+ cell_id: z.ZodString;
440
+ from_status: z.ZodEnum<{
441
+ open: "open";
442
+ in_progress: "in_progress";
443
+ blocked: "blocked";
444
+ closed: "closed";
445
+ }>;
446
+ to_status: z.ZodEnum<{
447
+ open: "open";
448
+ in_progress: "in_progress";
449
+ blocked: "blocked";
450
+ closed: "closed";
451
+ }>;
452
+ changed_by: z.ZodOptional<z.ZodString>;
453
+ reason: z.ZodOptional<z.ZodString>;
454
+ }, z.core.$strip>, z.ZodObject<{
455
+ id: z.ZodOptional<z.ZodNumber>;
456
+ project_key: z.ZodString;
457
+ timestamp: z.ZodNumber;
458
+ sequence: z.ZodOptional<z.ZodNumber>;
459
+ type: z.ZodLiteral<"cell_closed">;
460
+ cell_id: z.ZodString;
461
+ reason: z.ZodString;
462
+ closed_by: z.ZodOptional<z.ZodString>;
463
+ files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
464
+ duration_ms: z.ZodOptional<z.ZodNumber>;
465
+ }, z.core.$strip>, z.ZodObject<{
466
+ id: z.ZodOptional<z.ZodNumber>;
467
+ project_key: z.ZodString;
468
+ timestamp: z.ZodNumber;
469
+ sequence: z.ZodOptional<z.ZodNumber>;
470
+ type: z.ZodLiteral<"cell_reopened">;
471
+ cell_id: z.ZodString;
472
+ reason: z.ZodOptional<z.ZodString>;
473
+ reopened_by: z.ZodOptional<z.ZodString>;
474
+ }, z.core.$strip>, z.ZodObject<{
475
+ id: z.ZodOptional<z.ZodNumber>;
476
+ project_key: z.ZodString;
477
+ timestamp: z.ZodNumber;
478
+ sequence: z.ZodOptional<z.ZodNumber>;
479
+ type: z.ZodLiteral<"cell_deleted">;
480
+ cell_id: z.ZodString;
481
+ reason: z.ZodOptional<z.ZodString>;
482
+ deleted_by: z.ZodOptional<z.ZodString>;
483
+ }, z.core.$strip>, z.ZodObject<{
484
+ id: z.ZodOptional<z.ZodNumber>;
485
+ project_key: z.ZodString;
486
+ timestamp: z.ZodNumber;
487
+ sequence: z.ZodOptional<z.ZodNumber>;
488
+ type: z.ZodLiteral<"cell_dependency_added">;
489
+ cell_id: z.ZodString;
490
+ dependency: z.ZodObject<{
491
+ id: z.ZodString;
492
+ type: z.ZodEnum<{
493
+ blocks: "blocks";
494
+ "blocked-by": "blocked-by";
495
+ related: "related";
496
+ "discovered-from": "discovered-from";
497
+ }>;
498
+ }, z.core.$strip>;
499
+ added_by: z.ZodOptional<z.ZodString>;
500
+ reason: z.ZodOptional<z.ZodString>;
501
+ }, z.core.$strip>, z.ZodObject<{
502
+ id: z.ZodOptional<z.ZodNumber>;
503
+ project_key: z.ZodString;
504
+ timestamp: z.ZodNumber;
505
+ sequence: z.ZodOptional<z.ZodNumber>;
506
+ type: z.ZodLiteral<"cell_dependency_removed">;
507
+ cell_id: z.ZodString;
508
+ dependency: z.ZodObject<{
509
+ id: z.ZodString;
510
+ type: z.ZodEnum<{
511
+ blocks: "blocks";
512
+ "blocked-by": "blocked-by";
513
+ related: "related";
514
+ "discovered-from": "discovered-from";
515
+ }>;
516
+ }, z.core.$strip>;
517
+ removed_by: z.ZodOptional<z.ZodString>;
518
+ reason: z.ZodOptional<z.ZodString>;
519
+ }, z.core.$strip>, z.ZodObject<{
520
+ id: z.ZodOptional<z.ZodNumber>;
521
+ project_key: z.ZodString;
522
+ timestamp: z.ZodNumber;
523
+ sequence: z.ZodOptional<z.ZodNumber>;
524
+ type: z.ZodLiteral<"cell_label_added">;
525
+ cell_id: z.ZodString;
526
+ label: z.ZodString;
527
+ added_by: z.ZodOptional<z.ZodString>;
528
+ }, z.core.$strip>, z.ZodObject<{
529
+ id: z.ZodOptional<z.ZodNumber>;
530
+ project_key: z.ZodString;
531
+ timestamp: z.ZodNumber;
532
+ sequence: z.ZodOptional<z.ZodNumber>;
533
+ type: z.ZodLiteral<"cell_label_removed">;
534
+ cell_id: z.ZodString;
535
+ label: z.ZodString;
536
+ removed_by: z.ZodOptional<z.ZodString>;
537
+ }, z.core.$strip>, z.ZodObject<{
538
+ id: z.ZodOptional<z.ZodNumber>;
539
+ project_key: z.ZodString;
540
+ timestamp: z.ZodNumber;
541
+ sequence: z.ZodOptional<z.ZodNumber>;
542
+ type: z.ZodLiteral<"cell_comment_added">;
543
+ cell_id: z.ZodString;
544
+ comment_id: z.ZodOptional<z.ZodNumber>;
545
+ author: z.ZodString;
546
+ body: z.ZodString;
547
+ parent_comment_id: z.ZodOptional<z.ZodNumber>;
548
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
549
+ }, z.core.$strip>, z.ZodObject<{
550
+ id: z.ZodOptional<z.ZodNumber>;
551
+ project_key: z.ZodString;
552
+ timestamp: z.ZodNumber;
553
+ sequence: z.ZodOptional<z.ZodNumber>;
554
+ type: z.ZodLiteral<"cell_comment_updated">;
555
+ cell_id: z.ZodString;
556
+ comment_id: z.ZodNumber;
557
+ old_body: z.ZodString;
558
+ new_body: z.ZodString;
559
+ updated_by: z.ZodString;
560
+ }, z.core.$strip>, z.ZodObject<{
561
+ id: z.ZodOptional<z.ZodNumber>;
562
+ project_key: z.ZodString;
563
+ timestamp: z.ZodNumber;
564
+ sequence: z.ZodOptional<z.ZodNumber>;
565
+ type: z.ZodLiteral<"cell_comment_deleted">;
566
+ cell_id: z.ZodString;
567
+ comment_id: z.ZodNumber;
568
+ deleted_by: z.ZodString;
569
+ reason: z.ZodOptional<z.ZodString>;
570
+ }, z.core.$strip>, z.ZodObject<{
571
+ id: z.ZodOptional<z.ZodNumber>;
572
+ project_key: z.ZodString;
573
+ timestamp: z.ZodNumber;
574
+ sequence: z.ZodOptional<z.ZodNumber>;
575
+ type: z.ZodLiteral<"cell_epic_child_added">;
576
+ cell_id: z.ZodString;
577
+ child_id: z.ZodString;
578
+ child_index: z.ZodOptional<z.ZodNumber>;
579
+ added_by: z.ZodOptional<z.ZodString>;
580
+ }, z.core.$strip>, z.ZodObject<{
581
+ id: z.ZodOptional<z.ZodNumber>;
582
+ project_key: z.ZodString;
583
+ timestamp: z.ZodNumber;
584
+ sequence: z.ZodOptional<z.ZodNumber>;
585
+ type: z.ZodLiteral<"cell_epic_child_removed">;
586
+ cell_id: z.ZodString;
587
+ child_id: z.ZodString;
588
+ removed_by: z.ZodOptional<z.ZodString>;
589
+ reason: z.ZodOptional<z.ZodString>;
590
+ }, z.core.$strip>, z.ZodObject<{
591
+ id: z.ZodOptional<z.ZodNumber>;
592
+ project_key: z.ZodString;
593
+ timestamp: z.ZodNumber;
594
+ sequence: z.ZodOptional<z.ZodNumber>;
595
+ type: z.ZodLiteral<"cell_epic_closure_eligible">;
596
+ cell_id: z.ZodString;
597
+ child_ids: z.ZodArray<z.ZodString>;
598
+ total_duration_ms: z.ZodOptional<z.ZodNumber>;
599
+ all_files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
600
+ }, z.core.$strip>, z.ZodObject<{
601
+ id: z.ZodOptional<z.ZodNumber>;
602
+ project_key: z.ZodString;
603
+ timestamp: z.ZodNumber;
604
+ sequence: z.ZodOptional<z.ZodNumber>;
605
+ type: z.ZodLiteral<"cell_assigned">;
606
+ cell_id: z.ZodString;
607
+ agent_name: z.ZodString;
608
+ task_description: z.ZodOptional<z.ZodString>;
609
+ }, z.core.$strip>, z.ZodObject<{
610
+ id: z.ZodOptional<z.ZodNumber>;
611
+ project_key: z.ZodString;
612
+ timestamp: z.ZodNumber;
613
+ sequence: z.ZodOptional<z.ZodNumber>;
614
+ type: z.ZodLiteral<"cell_work_started">;
615
+ cell_id: z.ZodString;
616
+ agent_name: z.ZodString;
617
+ reserved_files: z.ZodOptional<z.ZodArray<z.ZodString>>;
618
+ }, z.core.$strip>, z.ZodObject<{
619
+ id: z.ZodOptional<z.ZodNumber>;
620
+ project_key: z.ZodString;
621
+ timestamp: z.ZodNumber;
622
+ sequence: z.ZodOptional<z.ZodNumber>;
623
+ type: z.ZodLiteral<"cell_compacted">;
624
+ cell_id: z.ZodString;
625
+ events_archived: z.ZodNumber;
626
+ new_start_sequence: z.ZodNumber;
627
+ }, z.core.$strip>], "type">;
628
+ export type CellEvent = z.infer<typeof CellEventSchema>;
629
+ export type CellCreatedEvent = z.infer<typeof CellCreatedEventSchema>;
630
+ export type CellUpdatedEvent = z.infer<typeof CellUpdatedEventSchema>;
631
+ export type CellStatusChangedEvent = z.infer<typeof CellStatusChangedEventSchema>;
632
+ export type CellClosedEvent = z.infer<typeof CellClosedEventSchema>;
633
+ export type CellReopenedEvent = z.infer<typeof CellReopenedEventSchema>;
634
+ export type CellDeletedEvent = z.infer<typeof CellDeletedEventSchema>;
635
+ export type CellDependencyAddedEvent = z.infer<typeof CellDependencyAddedEventSchema>;
636
+ export type CellDependencyRemovedEvent = z.infer<typeof CellDependencyRemovedEventSchema>;
637
+ export type CellLabelAddedEvent = z.infer<typeof CellLabelAddedEventSchema>;
638
+ export type CellLabelRemovedEvent = z.infer<typeof CellLabelRemovedEventSchema>;
639
+ export type CellCommentAddedEvent = z.infer<typeof CellCommentAddedEventSchema>;
640
+ export type CellCommentUpdatedEvent = z.infer<typeof CellCommentUpdatedEventSchema>;
641
+ export type CellCommentDeletedEvent = z.infer<typeof CellCommentDeletedEventSchema>;
642
+ export type CellEpicChildAddedEvent = z.infer<typeof CellEpicChildAddedEventSchema>;
643
+ export type CellEpicChildRemovedEvent = z.infer<typeof CellEpicChildRemovedEventSchema>;
644
+ export type CellEpicClosureEligibleEvent = z.infer<typeof CellEpicClosureEligibleEventSchema>;
645
+ export type CellAssignedEvent = z.infer<typeof CellAssignedEventSchema>;
646
+ export type CellWorkStartedEvent = z.infer<typeof CellWorkStartedEventSchema>;
647
+ export type CellCompactedEvent = z.infer<typeof CellCompactedEventSchema>;
648
+ /**
649
+ * Create a cell event with timestamp and validate
650
+ *
651
+ * Usage:
652
+ * ```typescript
653
+ * const event = createCellEvent("cell_created", {
654
+ * project_key: "/path/to/repo",
655
+ * cell_id: "bd-123",
656
+ * title: "Add auth",
657
+ * issue_type: "feature",
658
+ * priority: 2
659
+ * });
660
+ * ```
661
+ */
662
+ export declare function createCellEvent<T extends CellEvent["type"]>(type: T, data: Omit<Extract<CellEvent, {
663
+ type: T;
664
+ }>, "type" | "timestamp" | "id" | "sequence">): Extract<CellEvent, {
665
+ type: T;
666
+ }>;
667
+ /**
668
+ * Type guard for specific cell event types
669
+ *
670
+ * Usage:
671
+ * ```typescript
672
+ * if (isCellEventType(event, "cell_closed")) {
673
+ * console.log(event.reason); // TypeScript knows this is CellClosedEvent
674
+ * }
675
+ * ```
676
+ */
677
+ export declare function isCellEventType<T extends CellEvent["type"]>(event: CellEvent, type: T): event is Extract<CellEvent, {
678
+ type: T;
679
+ }>;
680
+ /**
681
+ * Extract cell ID from event (convenience helper)
682
+ *
683
+ * All cell events have cell_id field (or it's the epic's cell_id for epic events).
684
+ */
685
+ export declare function getCellIdFromEvent(event: CellEvent): string;
686
+ /**
687
+ * Check if event represents a state transition
688
+ */
689
+ export declare function isStateTransitionEvent(event: CellEvent): event is CellStatusChangedEvent | CellClosedEvent | CellReopenedEvent;
690
+ /**
691
+ * Check if event represents an epic operation
692
+ */
693
+ export declare function isEpicEvent(event: CellEvent): event is CellEpicChildAddedEvent | CellEpicChildRemovedEvent | CellEpicClosureEligibleEvent;
694
+ /**
695
+ * Check if event was triggered by an agent (vs human user)
696
+ */
697
+ export declare function isAgentEvent(event: CellEvent): boolean;
698
+ /**
699
+ * @deprecated Use BaseCellEventSchema instead
700
+ */
701
+ export declare const BaseBeadEventSchema: z.ZodObject<{
702
+ id: z.ZodOptional<z.ZodNumber>;
703
+ type: z.ZodString;
704
+ project_key: z.ZodString;
705
+ timestamp: z.ZodNumber;
706
+ sequence: z.ZodOptional<z.ZodNumber>;
707
+ }, z.core.$strip>;
708
+ /**
709
+ * @deprecated Use CellCreatedEventSchema instead
710
+ */
711
+ export declare const BeadCreatedEventSchema: z.ZodObject<{
712
+ id: z.ZodOptional<z.ZodNumber>;
713
+ project_key: z.ZodString;
714
+ timestamp: z.ZodNumber;
715
+ sequence: z.ZodOptional<z.ZodNumber>;
716
+ type: z.ZodLiteral<"cell_created">;
717
+ cell_id: z.ZodString;
718
+ title: z.ZodString;
719
+ description: z.ZodOptional<z.ZodString>;
720
+ issue_type: z.ZodEnum<{
721
+ bug: "bug";
722
+ feature: "feature";
723
+ task: "task";
724
+ epic: "epic";
725
+ chore: "chore";
726
+ }>;
727
+ priority: z.ZodNumber;
728
+ parent_id: z.ZodOptional<z.ZodString>;
729
+ created_by: z.ZodOptional<z.ZodString>;
730
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
731
+ }, z.core.$strip>;
732
+ /**
733
+ * @deprecated Use CellUpdatedEventSchema instead
734
+ */
735
+ export declare const BeadUpdatedEventSchema: z.ZodObject<{
736
+ id: z.ZodOptional<z.ZodNumber>;
737
+ project_key: z.ZodString;
738
+ timestamp: z.ZodNumber;
739
+ sequence: z.ZodOptional<z.ZodNumber>;
740
+ type: z.ZodLiteral<"cell_updated">;
741
+ cell_id: z.ZodString;
742
+ updated_by: z.ZodOptional<z.ZodString>;
743
+ changes: z.ZodObject<{
744
+ title: z.ZodOptional<z.ZodObject<{
745
+ old: z.ZodString;
746
+ new: z.ZodString;
747
+ }, z.core.$strip>>;
748
+ description: z.ZodOptional<z.ZodObject<{
749
+ old: z.ZodString;
750
+ new: z.ZodString;
751
+ }, z.core.$strip>>;
752
+ priority: z.ZodOptional<z.ZodObject<{
753
+ old: z.ZodNumber;
754
+ new: z.ZodNumber;
755
+ }, z.core.$strip>>;
756
+ }, z.core.$strip>;
757
+ }, z.core.$strip>;
758
+ /**
759
+ * @deprecated Use CellStatusChangedEventSchema instead
760
+ */
761
+ export declare const BeadStatusChangedEventSchema: z.ZodObject<{
762
+ id: z.ZodOptional<z.ZodNumber>;
763
+ project_key: z.ZodString;
764
+ timestamp: z.ZodNumber;
765
+ sequence: z.ZodOptional<z.ZodNumber>;
766
+ type: z.ZodLiteral<"cell_status_changed">;
767
+ cell_id: z.ZodString;
768
+ from_status: z.ZodEnum<{
769
+ open: "open";
770
+ in_progress: "in_progress";
771
+ blocked: "blocked";
772
+ closed: "closed";
773
+ }>;
774
+ to_status: z.ZodEnum<{
775
+ open: "open";
776
+ in_progress: "in_progress";
777
+ blocked: "blocked";
778
+ closed: "closed";
779
+ }>;
780
+ changed_by: z.ZodOptional<z.ZodString>;
781
+ reason: z.ZodOptional<z.ZodString>;
782
+ }, z.core.$strip>;
783
+ /**
784
+ * @deprecated Use CellClosedEventSchema instead
785
+ */
786
+ export declare const BeadClosedEventSchema: z.ZodObject<{
787
+ id: z.ZodOptional<z.ZodNumber>;
788
+ project_key: z.ZodString;
789
+ timestamp: z.ZodNumber;
790
+ sequence: z.ZodOptional<z.ZodNumber>;
791
+ type: z.ZodLiteral<"cell_closed">;
792
+ cell_id: z.ZodString;
793
+ reason: z.ZodString;
794
+ closed_by: z.ZodOptional<z.ZodString>;
795
+ files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
796
+ duration_ms: z.ZodOptional<z.ZodNumber>;
797
+ }, z.core.$strip>;
798
+ /**
799
+ * @deprecated Use CellReopenedEventSchema instead
800
+ */
801
+ export declare const BeadReopenedEventSchema: z.ZodObject<{
802
+ id: z.ZodOptional<z.ZodNumber>;
803
+ project_key: z.ZodString;
804
+ timestamp: z.ZodNumber;
805
+ sequence: z.ZodOptional<z.ZodNumber>;
806
+ type: z.ZodLiteral<"cell_reopened">;
807
+ cell_id: z.ZodString;
808
+ reason: z.ZodOptional<z.ZodString>;
809
+ reopened_by: z.ZodOptional<z.ZodString>;
810
+ }, z.core.$strip>;
811
+ /**
812
+ * @deprecated Use CellDeletedEventSchema instead
813
+ */
814
+ export declare const BeadDeletedEventSchema: z.ZodObject<{
815
+ id: z.ZodOptional<z.ZodNumber>;
816
+ project_key: z.ZodString;
817
+ timestamp: z.ZodNumber;
818
+ sequence: z.ZodOptional<z.ZodNumber>;
819
+ type: z.ZodLiteral<"cell_deleted">;
820
+ cell_id: z.ZodString;
821
+ reason: z.ZodOptional<z.ZodString>;
822
+ deleted_by: z.ZodOptional<z.ZodString>;
823
+ }, z.core.$strip>;
824
+ /**
825
+ * @deprecated Use CellDependencyAddedEventSchema instead
826
+ */
827
+ export declare const BeadDependencyAddedEventSchema: z.ZodObject<{
828
+ id: z.ZodOptional<z.ZodNumber>;
829
+ project_key: z.ZodString;
830
+ timestamp: z.ZodNumber;
831
+ sequence: z.ZodOptional<z.ZodNumber>;
832
+ type: z.ZodLiteral<"cell_dependency_added">;
833
+ cell_id: z.ZodString;
834
+ dependency: z.ZodObject<{
835
+ id: z.ZodString;
836
+ type: z.ZodEnum<{
837
+ blocks: "blocks";
838
+ "blocked-by": "blocked-by";
839
+ related: "related";
840
+ "discovered-from": "discovered-from";
841
+ }>;
842
+ }, z.core.$strip>;
843
+ added_by: z.ZodOptional<z.ZodString>;
844
+ reason: z.ZodOptional<z.ZodString>;
845
+ }, z.core.$strip>;
846
+ /**
847
+ * @deprecated Use CellDependencyRemovedEventSchema instead
848
+ */
849
+ export declare const BeadDependencyRemovedEventSchema: z.ZodObject<{
850
+ id: z.ZodOptional<z.ZodNumber>;
851
+ project_key: z.ZodString;
852
+ timestamp: z.ZodNumber;
853
+ sequence: z.ZodOptional<z.ZodNumber>;
854
+ type: z.ZodLiteral<"cell_dependency_removed">;
855
+ cell_id: z.ZodString;
856
+ dependency: z.ZodObject<{
857
+ id: z.ZodString;
858
+ type: z.ZodEnum<{
859
+ blocks: "blocks";
860
+ "blocked-by": "blocked-by";
861
+ related: "related";
862
+ "discovered-from": "discovered-from";
863
+ }>;
864
+ }, z.core.$strip>;
865
+ removed_by: z.ZodOptional<z.ZodString>;
866
+ reason: z.ZodOptional<z.ZodString>;
867
+ }, z.core.$strip>;
868
+ /**
869
+ * @deprecated Use CellLabelAddedEventSchema instead
870
+ */
871
+ export declare const BeadLabelAddedEventSchema: z.ZodObject<{
872
+ id: z.ZodOptional<z.ZodNumber>;
873
+ project_key: z.ZodString;
874
+ timestamp: z.ZodNumber;
875
+ sequence: z.ZodOptional<z.ZodNumber>;
876
+ type: z.ZodLiteral<"cell_label_added">;
877
+ cell_id: z.ZodString;
878
+ label: z.ZodString;
879
+ added_by: z.ZodOptional<z.ZodString>;
880
+ }, z.core.$strip>;
881
+ /**
882
+ * @deprecated Use CellLabelRemovedEventSchema instead
883
+ */
884
+ export declare const BeadLabelRemovedEventSchema: z.ZodObject<{
885
+ id: z.ZodOptional<z.ZodNumber>;
886
+ project_key: z.ZodString;
887
+ timestamp: z.ZodNumber;
888
+ sequence: z.ZodOptional<z.ZodNumber>;
889
+ type: z.ZodLiteral<"cell_label_removed">;
890
+ cell_id: z.ZodString;
891
+ label: z.ZodString;
892
+ removed_by: z.ZodOptional<z.ZodString>;
893
+ }, z.core.$strip>;
894
+ /**
895
+ * @deprecated Use CellCommentAddedEventSchema instead
896
+ */
897
+ export declare const BeadCommentAddedEventSchema: z.ZodObject<{
898
+ id: z.ZodOptional<z.ZodNumber>;
899
+ project_key: z.ZodString;
900
+ timestamp: z.ZodNumber;
901
+ sequence: z.ZodOptional<z.ZodNumber>;
902
+ type: z.ZodLiteral<"cell_comment_added">;
903
+ cell_id: z.ZodString;
904
+ comment_id: z.ZodOptional<z.ZodNumber>;
905
+ author: z.ZodString;
906
+ body: z.ZodString;
907
+ parent_comment_id: z.ZodOptional<z.ZodNumber>;
908
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
909
+ }, z.core.$strip>;
910
+ /**
911
+ * @deprecated Use CellCommentUpdatedEventSchema instead
912
+ */
913
+ export declare const BeadCommentUpdatedEventSchema: z.ZodObject<{
914
+ id: z.ZodOptional<z.ZodNumber>;
915
+ project_key: z.ZodString;
916
+ timestamp: z.ZodNumber;
917
+ sequence: z.ZodOptional<z.ZodNumber>;
918
+ type: z.ZodLiteral<"cell_comment_updated">;
919
+ cell_id: z.ZodString;
920
+ comment_id: z.ZodNumber;
921
+ old_body: z.ZodString;
922
+ new_body: z.ZodString;
923
+ updated_by: z.ZodString;
924
+ }, z.core.$strip>;
925
+ /**
926
+ * @deprecated Use CellCommentDeletedEventSchema instead
927
+ */
928
+ export declare const BeadCommentDeletedEventSchema: z.ZodObject<{
929
+ id: z.ZodOptional<z.ZodNumber>;
930
+ project_key: z.ZodString;
931
+ timestamp: z.ZodNumber;
932
+ sequence: z.ZodOptional<z.ZodNumber>;
933
+ type: z.ZodLiteral<"cell_comment_deleted">;
934
+ cell_id: z.ZodString;
935
+ comment_id: z.ZodNumber;
936
+ deleted_by: z.ZodString;
937
+ reason: z.ZodOptional<z.ZodString>;
938
+ }, z.core.$strip>;
939
+ /**
940
+ * @deprecated Use CellEpicChildAddedEventSchema instead
941
+ */
942
+ export declare const BeadEpicChildAddedEventSchema: z.ZodObject<{
943
+ id: z.ZodOptional<z.ZodNumber>;
944
+ project_key: z.ZodString;
945
+ timestamp: z.ZodNumber;
946
+ sequence: z.ZodOptional<z.ZodNumber>;
947
+ type: z.ZodLiteral<"cell_epic_child_added">;
948
+ cell_id: z.ZodString;
949
+ child_id: z.ZodString;
950
+ child_index: z.ZodOptional<z.ZodNumber>;
951
+ added_by: z.ZodOptional<z.ZodString>;
952
+ }, z.core.$strip>;
953
+ /**
954
+ * @deprecated Use CellEpicChildRemovedEventSchema instead
955
+ */
956
+ export declare const BeadEpicChildRemovedEventSchema: z.ZodObject<{
957
+ id: z.ZodOptional<z.ZodNumber>;
958
+ project_key: z.ZodString;
959
+ timestamp: z.ZodNumber;
960
+ sequence: z.ZodOptional<z.ZodNumber>;
961
+ type: z.ZodLiteral<"cell_epic_child_removed">;
962
+ cell_id: z.ZodString;
963
+ child_id: z.ZodString;
964
+ removed_by: z.ZodOptional<z.ZodString>;
965
+ reason: z.ZodOptional<z.ZodString>;
966
+ }, z.core.$strip>;
967
+ /**
968
+ * @deprecated Use CellEpicClosureEligibleEventSchema instead
969
+ */
970
+ export declare const BeadEpicClosureEligibleEventSchema: z.ZodObject<{
971
+ id: z.ZodOptional<z.ZodNumber>;
972
+ project_key: z.ZodString;
973
+ timestamp: z.ZodNumber;
974
+ sequence: z.ZodOptional<z.ZodNumber>;
975
+ type: z.ZodLiteral<"cell_epic_closure_eligible">;
976
+ cell_id: z.ZodString;
977
+ child_ids: z.ZodArray<z.ZodString>;
978
+ total_duration_ms: z.ZodOptional<z.ZodNumber>;
979
+ all_files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
980
+ }, z.core.$strip>;
981
+ /**
982
+ * @deprecated Use CellAssignedEventSchema instead
983
+ */
984
+ export declare const BeadAssignedEventSchema: z.ZodObject<{
985
+ id: z.ZodOptional<z.ZodNumber>;
986
+ project_key: z.ZodString;
987
+ timestamp: z.ZodNumber;
988
+ sequence: z.ZodOptional<z.ZodNumber>;
989
+ type: z.ZodLiteral<"cell_assigned">;
990
+ cell_id: z.ZodString;
991
+ agent_name: z.ZodString;
992
+ task_description: z.ZodOptional<z.ZodString>;
993
+ }, z.core.$strip>;
994
+ /**
995
+ * @deprecated Use CellWorkStartedEventSchema instead
996
+ */
997
+ export declare const BeadWorkStartedEventSchema: z.ZodObject<{
998
+ id: z.ZodOptional<z.ZodNumber>;
999
+ project_key: z.ZodString;
1000
+ timestamp: z.ZodNumber;
1001
+ sequence: z.ZodOptional<z.ZodNumber>;
1002
+ type: z.ZodLiteral<"cell_work_started">;
1003
+ cell_id: z.ZodString;
1004
+ agent_name: z.ZodString;
1005
+ reserved_files: z.ZodOptional<z.ZodArray<z.ZodString>>;
1006
+ }, z.core.$strip>;
1007
+ /**
1008
+ * @deprecated Use CellCompactedEventSchema instead
1009
+ */
1010
+ export declare const BeadCompactedEventSchema: z.ZodObject<{
1011
+ id: z.ZodOptional<z.ZodNumber>;
1012
+ project_key: z.ZodString;
1013
+ timestamp: z.ZodNumber;
1014
+ sequence: z.ZodOptional<z.ZodNumber>;
1015
+ type: z.ZodLiteral<"cell_compacted">;
1016
+ cell_id: z.ZodString;
1017
+ events_archived: z.ZodNumber;
1018
+ new_start_sequence: z.ZodNumber;
1019
+ }, z.core.$strip>;
1020
+ /**
1021
+ * @deprecated Use CellEventSchema instead
1022
+ */
1023
+ export declare const BeadEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1024
+ id: z.ZodOptional<z.ZodNumber>;
1025
+ project_key: z.ZodString;
1026
+ timestamp: z.ZodNumber;
1027
+ sequence: z.ZodOptional<z.ZodNumber>;
1028
+ type: z.ZodLiteral<"cell_created">;
1029
+ cell_id: z.ZodString;
1030
+ title: z.ZodString;
1031
+ description: z.ZodOptional<z.ZodString>;
1032
+ issue_type: z.ZodEnum<{
1033
+ bug: "bug";
1034
+ feature: "feature";
1035
+ task: "task";
1036
+ epic: "epic";
1037
+ chore: "chore";
1038
+ }>;
1039
+ priority: z.ZodNumber;
1040
+ parent_id: z.ZodOptional<z.ZodString>;
1041
+ created_by: z.ZodOptional<z.ZodString>;
1042
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1043
+ }, z.core.$strip>, z.ZodObject<{
1044
+ id: z.ZodOptional<z.ZodNumber>;
1045
+ project_key: z.ZodString;
1046
+ timestamp: z.ZodNumber;
1047
+ sequence: z.ZodOptional<z.ZodNumber>;
1048
+ type: z.ZodLiteral<"cell_updated">;
1049
+ cell_id: z.ZodString;
1050
+ updated_by: z.ZodOptional<z.ZodString>;
1051
+ changes: z.ZodObject<{
1052
+ title: z.ZodOptional<z.ZodObject<{
1053
+ old: z.ZodString;
1054
+ new: z.ZodString;
1055
+ }, z.core.$strip>>;
1056
+ description: z.ZodOptional<z.ZodObject<{
1057
+ old: z.ZodString;
1058
+ new: z.ZodString;
1059
+ }, z.core.$strip>>;
1060
+ priority: z.ZodOptional<z.ZodObject<{
1061
+ old: z.ZodNumber;
1062
+ new: z.ZodNumber;
1063
+ }, z.core.$strip>>;
1064
+ }, z.core.$strip>;
1065
+ }, z.core.$strip>, z.ZodObject<{
1066
+ id: z.ZodOptional<z.ZodNumber>;
1067
+ project_key: z.ZodString;
1068
+ timestamp: z.ZodNumber;
1069
+ sequence: z.ZodOptional<z.ZodNumber>;
1070
+ type: z.ZodLiteral<"cell_status_changed">;
1071
+ cell_id: z.ZodString;
1072
+ from_status: z.ZodEnum<{
1073
+ open: "open";
1074
+ in_progress: "in_progress";
1075
+ blocked: "blocked";
1076
+ closed: "closed";
1077
+ }>;
1078
+ to_status: z.ZodEnum<{
1079
+ open: "open";
1080
+ in_progress: "in_progress";
1081
+ blocked: "blocked";
1082
+ closed: "closed";
1083
+ }>;
1084
+ changed_by: z.ZodOptional<z.ZodString>;
1085
+ reason: z.ZodOptional<z.ZodString>;
1086
+ }, z.core.$strip>, z.ZodObject<{
1087
+ id: z.ZodOptional<z.ZodNumber>;
1088
+ project_key: z.ZodString;
1089
+ timestamp: z.ZodNumber;
1090
+ sequence: z.ZodOptional<z.ZodNumber>;
1091
+ type: z.ZodLiteral<"cell_closed">;
1092
+ cell_id: z.ZodString;
1093
+ reason: z.ZodString;
1094
+ closed_by: z.ZodOptional<z.ZodString>;
1095
+ files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
1096
+ duration_ms: z.ZodOptional<z.ZodNumber>;
1097
+ }, z.core.$strip>, z.ZodObject<{
1098
+ id: z.ZodOptional<z.ZodNumber>;
1099
+ project_key: z.ZodString;
1100
+ timestamp: z.ZodNumber;
1101
+ sequence: z.ZodOptional<z.ZodNumber>;
1102
+ type: z.ZodLiteral<"cell_reopened">;
1103
+ cell_id: z.ZodString;
1104
+ reason: z.ZodOptional<z.ZodString>;
1105
+ reopened_by: z.ZodOptional<z.ZodString>;
1106
+ }, z.core.$strip>, z.ZodObject<{
1107
+ id: z.ZodOptional<z.ZodNumber>;
1108
+ project_key: z.ZodString;
1109
+ timestamp: z.ZodNumber;
1110
+ sequence: z.ZodOptional<z.ZodNumber>;
1111
+ type: z.ZodLiteral<"cell_deleted">;
1112
+ cell_id: z.ZodString;
1113
+ reason: z.ZodOptional<z.ZodString>;
1114
+ deleted_by: z.ZodOptional<z.ZodString>;
1115
+ }, z.core.$strip>, z.ZodObject<{
1116
+ id: z.ZodOptional<z.ZodNumber>;
1117
+ project_key: z.ZodString;
1118
+ timestamp: z.ZodNumber;
1119
+ sequence: z.ZodOptional<z.ZodNumber>;
1120
+ type: z.ZodLiteral<"cell_dependency_added">;
1121
+ cell_id: z.ZodString;
1122
+ dependency: z.ZodObject<{
1123
+ id: z.ZodString;
1124
+ type: z.ZodEnum<{
1125
+ blocks: "blocks";
1126
+ "blocked-by": "blocked-by";
1127
+ related: "related";
1128
+ "discovered-from": "discovered-from";
1129
+ }>;
1130
+ }, z.core.$strip>;
1131
+ added_by: z.ZodOptional<z.ZodString>;
1132
+ reason: z.ZodOptional<z.ZodString>;
1133
+ }, z.core.$strip>, z.ZodObject<{
1134
+ id: z.ZodOptional<z.ZodNumber>;
1135
+ project_key: z.ZodString;
1136
+ timestamp: z.ZodNumber;
1137
+ sequence: z.ZodOptional<z.ZodNumber>;
1138
+ type: z.ZodLiteral<"cell_dependency_removed">;
1139
+ cell_id: z.ZodString;
1140
+ dependency: z.ZodObject<{
1141
+ id: z.ZodString;
1142
+ type: z.ZodEnum<{
1143
+ blocks: "blocks";
1144
+ "blocked-by": "blocked-by";
1145
+ related: "related";
1146
+ "discovered-from": "discovered-from";
1147
+ }>;
1148
+ }, z.core.$strip>;
1149
+ removed_by: z.ZodOptional<z.ZodString>;
1150
+ reason: z.ZodOptional<z.ZodString>;
1151
+ }, z.core.$strip>, z.ZodObject<{
1152
+ id: z.ZodOptional<z.ZodNumber>;
1153
+ project_key: z.ZodString;
1154
+ timestamp: z.ZodNumber;
1155
+ sequence: z.ZodOptional<z.ZodNumber>;
1156
+ type: z.ZodLiteral<"cell_label_added">;
1157
+ cell_id: z.ZodString;
1158
+ label: z.ZodString;
1159
+ added_by: z.ZodOptional<z.ZodString>;
1160
+ }, z.core.$strip>, z.ZodObject<{
1161
+ id: z.ZodOptional<z.ZodNumber>;
1162
+ project_key: z.ZodString;
1163
+ timestamp: z.ZodNumber;
1164
+ sequence: z.ZodOptional<z.ZodNumber>;
1165
+ type: z.ZodLiteral<"cell_label_removed">;
1166
+ cell_id: z.ZodString;
1167
+ label: z.ZodString;
1168
+ removed_by: z.ZodOptional<z.ZodString>;
1169
+ }, z.core.$strip>, z.ZodObject<{
1170
+ id: z.ZodOptional<z.ZodNumber>;
1171
+ project_key: z.ZodString;
1172
+ timestamp: z.ZodNumber;
1173
+ sequence: z.ZodOptional<z.ZodNumber>;
1174
+ type: z.ZodLiteral<"cell_comment_added">;
1175
+ cell_id: z.ZodString;
1176
+ comment_id: z.ZodOptional<z.ZodNumber>;
1177
+ author: z.ZodString;
1178
+ body: z.ZodString;
1179
+ parent_comment_id: z.ZodOptional<z.ZodNumber>;
1180
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1181
+ }, z.core.$strip>, z.ZodObject<{
1182
+ id: z.ZodOptional<z.ZodNumber>;
1183
+ project_key: z.ZodString;
1184
+ timestamp: z.ZodNumber;
1185
+ sequence: z.ZodOptional<z.ZodNumber>;
1186
+ type: z.ZodLiteral<"cell_comment_updated">;
1187
+ cell_id: z.ZodString;
1188
+ comment_id: z.ZodNumber;
1189
+ old_body: z.ZodString;
1190
+ new_body: z.ZodString;
1191
+ updated_by: z.ZodString;
1192
+ }, z.core.$strip>, z.ZodObject<{
1193
+ id: z.ZodOptional<z.ZodNumber>;
1194
+ project_key: z.ZodString;
1195
+ timestamp: z.ZodNumber;
1196
+ sequence: z.ZodOptional<z.ZodNumber>;
1197
+ type: z.ZodLiteral<"cell_comment_deleted">;
1198
+ cell_id: z.ZodString;
1199
+ comment_id: z.ZodNumber;
1200
+ deleted_by: z.ZodString;
1201
+ reason: z.ZodOptional<z.ZodString>;
1202
+ }, z.core.$strip>, z.ZodObject<{
1203
+ id: z.ZodOptional<z.ZodNumber>;
1204
+ project_key: z.ZodString;
1205
+ timestamp: z.ZodNumber;
1206
+ sequence: z.ZodOptional<z.ZodNumber>;
1207
+ type: z.ZodLiteral<"cell_epic_child_added">;
1208
+ cell_id: z.ZodString;
1209
+ child_id: z.ZodString;
1210
+ child_index: z.ZodOptional<z.ZodNumber>;
1211
+ added_by: z.ZodOptional<z.ZodString>;
1212
+ }, z.core.$strip>, z.ZodObject<{
1213
+ id: z.ZodOptional<z.ZodNumber>;
1214
+ project_key: z.ZodString;
1215
+ timestamp: z.ZodNumber;
1216
+ sequence: z.ZodOptional<z.ZodNumber>;
1217
+ type: z.ZodLiteral<"cell_epic_child_removed">;
1218
+ cell_id: z.ZodString;
1219
+ child_id: z.ZodString;
1220
+ removed_by: z.ZodOptional<z.ZodString>;
1221
+ reason: z.ZodOptional<z.ZodString>;
1222
+ }, z.core.$strip>, z.ZodObject<{
1223
+ id: z.ZodOptional<z.ZodNumber>;
1224
+ project_key: z.ZodString;
1225
+ timestamp: z.ZodNumber;
1226
+ sequence: z.ZodOptional<z.ZodNumber>;
1227
+ type: z.ZodLiteral<"cell_epic_closure_eligible">;
1228
+ cell_id: z.ZodString;
1229
+ child_ids: z.ZodArray<z.ZodString>;
1230
+ total_duration_ms: z.ZodOptional<z.ZodNumber>;
1231
+ all_files_touched: z.ZodOptional<z.ZodArray<z.ZodString>>;
1232
+ }, z.core.$strip>, z.ZodObject<{
1233
+ id: z.ZodOptional<z.ZodNumber>;
1234
+ project_key: z.ZodString;
1235
+ timestamp: z.ZodNumber;
1236
+ sequence: z.ZodOptional<z.ZodNumber>;
1237
+ type: z.ZodLiteral<"cell_assigned">;
1238
+ cell_id: z.ZodString;
1239
+ agent_name: z.ZodString;
1240
+ task_description: z.ZodOptional<z.ZodString>;
1241
+ }, z.core.$strip>, z.ZodObject<{
1242
+ id: z.ZodOptional<z.ZodNumber>;
1243
+ project_key: z.ZodString;
1244
+ timestamp: z.ZodNumber;
1245
+ sequence: z.ZodOptional<z.ZodNumber>;
1246
+ type: z.ZodLiteral<"cell_work_started">;
1247
+ cell_id: z.ZodString;
1248
+ agent_name: z.ZodString;
1249
+ reserved_files: z.ZodOptional<z.ZodArray<z.ZodString>>;
1250
+ }, z.core.$strip>, z.ZodObject<{
1251
+ id: z.ZodOptional<z.ZodNumber>;
1252
+ project_key: z.ZodString;
1253
+ timestamp: z.ZodNumber;
1254
+ sequence: z.ZodOptional<z.ZodNumber>;
1255
+ type: z.ZodLiteral<"cell_compacted">;
1256
+ cell_id: z.ZodString;
1257
+ events_archived: z.ZodNumber;
1258
+ new_start_sequence: z.ZodNumber;
1259
+ }, z.core.$strip>], "type">;
1260
+ /**
1261
+ * @deprecated Use CellEvent instead
1262
+ */
1263
+ export type BeadEvent = CellEvent;
1264
+ /**
1265
+ * @deprecated Use CellCreatedEvent instead
1266
+ */
1267
+ export type BeadCreatedEvent = CellCreatedEvent;
1268
+ /**
1269
+ * @deprecated Use CellUpdatedEvent instead
1270
+ */
1271
+ export type BeadUpdatedEvent = CellUpdatedEvent;
1272
+ /**
1273
+ * @deprecated Use CellStatusChangedEvent instead
1274
+ */
1275
+ export type BeadStatusChangedEvent = CellStatusChangedEvent;
1276
+ /**
1277
+ * @deprecated Use CellClosedEvent instead
1278
+ */
1279
+ export type BeadClosedEvent = CellClosedEvent;
1280
+ /**
1281
+ * @deprecated Use CellReopenedEvent instead
1282
+ */
1283
+ export type BeadReopenedEvent = CellReopenedEvent;
1284
+ /**
1285
+ * @deprecated Use CellDeletedEvent instead
1286
+ */
1287
+ export type BeadDeletedEvent = CellDeletedEvent;
1288
+ /**
1289
+ * @deprecated Use CellDependencyAddedEvent instead
1290
+ */
1291
+ export type BeadDependencyAddedEvent = CellDependencyAddedEvent;
1292
+ /**
1293
+ * @deprecated Use CellDependencyRemovedEvent instead
1294
+ */
1295
+ export type BeadDependencyRemovedEvent = CellDependencyRemovedEvent;
1296
+ /**
1297
+ * @deprecated Use CellLabelAddedEvent instead
1298
+ */
1299
+ export type BeadLabelAddedEvent = CellLabelAddedEvent;
1300
+ /**
1301
+ * @deprecated Use CellLabelRemovedEvent instead
1302
+ */
1303
+ export type BeadLabelRemovedEvent = CellLabelRemovedEvent;
1304
+ /**
1305
+ * @deprecated Use CellCommentAddedEvent instead
1306
+ */
1307
+ export type BeadCommentAddedEvent = CellCommentAddedEvent;
1308
+ /**
1309
+ * @deprecated Use CellCommentUpdatedEvent instead
1310
+ */
1311
+ export type BeadCommentUpdatedEvent = CellCommentUpdatedEvent;
1312
+ /**
1313
+ * @deprecated Use CellCommentDeletedEvent instead
1314
+ */
1315
+ export type BeadCommentDeletedEvent = CellCommentDeletedEvent;
1316
+ /**
1317
+ * @deprecated Use CellEpicChildAddedEvent instead
1318
+ */
1319
+ export type BeadEpicChildAddedEvent = CellEpicChildAddedEvent;
1320
+ /**
1321
+ * @deprecated Use CellEpicChildRemovedEvent instead
1322
+ */
1323
+ export type BeadEpicChildRemovedEvent = CellEpicChildRemovedEvent;
1324
+ /**
1325
+ * @deprecated Use CellEpicClosureEligibleEvent instead
1326
+ */
1327
+ export type BeadEpicClosureEligibleEvent = CellEpicClosureEligibleEvent;
1328
+ /**
1329
+ * @deprecated Use CellAssignedEvent instead
1330
+ */
1331
+ export type BeadAssignedEvent = CellAssignedEvent;
1332
+ /**
1333
+ * @deprecated Use CellWorkStartedEvent instead
1334
+ */
1335
+ export type BeadWorkStartedEvent = CellWorkStartedEvent;
1336
+ /**
1337
+ * @deprecated Use CellCompactedEvent instead
1338
+ */
1339
+ export type BeadCompactedEvent = CellCompactedEvent;
1340
+ /**
1341
+ * @deprecated Use createCellEvent instead
1342
+ */
1343
+ export declare const createBeadEvent: typeof createCellEvent;
1344
+ /**
1345
+ * @deprecated Use isCellEventType instead
1346
+ */
1347
+ export declare const isBeadEventType: typeof isCellEventType;
1348
+ /**
1349
+ * @deprecated Use getCellIdFromEvent instead
1350
+ */
1351
+ export declare const getBeadIdFromEvent: typeof getCellIdFromEvent;
1352
+ //# sourceMappingURL=cell-events.d.ts.map