opencode-swarm-plugin 0.56.1 → 0.57.1

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 (194) hide show
  1. package/README.md +21 -0
  2. package/claude-plugin/agents/background-worker.md +1 -0
  3. package/claude-plugin/agents/coordinator.md +2 -0
  4. package/claude-plugin/agents/worker.md +1 -0
  5. package/claude-plugin/bin/swarm-mcp-server.ts +53 -8
  6. package/claude-plugin/dist/agent-mail.d.ts +480 -0
  7. package/claude-plugin/dist/agent-mail.d.ts.map +1 -0
  8. package/claude-plugin/dist/anti-patterns.d.ts +257 -0
  9. package/claude-plugin/dist/anti-patterns.d.ts.map +1 -0
  10. package/claude-plugin/dist/bin/swarm.js +373132 -0
  11. package/claude-plugin/dist/build/mcp-bundle.d.ts +16 -0
  12. package/claude-plugin/dist/build/mcp-bundle.d.ts.map +1 -0
  13. package/claude-plugin/dist/cache/claude-plugin-cache.d.ts +41 -0
  14. package/claude-plugin/dist/cache/claude-plugin-cache.d.ts.map +1 -0
  15. package/claude-plugin/dist/cass-tools.d.ts +74 -0
  16. package/claude-plugin/dist/cass-tools.d.ts.map +1 -0
  17. package/claude-plugin/dist/claude-plugin/claude-plugin-assets.d.ts +10 -0
  18. package/claude-plugin/dist/claude-plugin/claude-plugin-assets.d.ts.map +1 -0
  19. package/claude-plugin/dist/compaction-hook.d.ts +178 -0
  20. package/claude-plugin/dist/compaction-hook.d.ts.map +1 -0
  21. package/claude-plugin/dist/compaction-observability.d.ts +173 -0
  22. package/claude-plugin/dist/compaction-observability.d.ts.map +1 -0
  23. package/claude-plugin/dist/compaction-prompt-scoring.d.ts +125 -0
  24. package/claude-plugin/dist/compaction-prompt-scoring.d.ts.map +1 -0
  25. package/claude-plugin/dist/compaction-prompt-scoring.js +139 -0
  26. package/claude-plugin/dist/contributor-tools.d.ts +42 -0
  27. package/claude-plugin/dist/contributor-tools.d.ts.map +1 -0
  28. package/claude-plugin/dist/coordinator-guard.d.ts +79 -0
  29. package/claude-plugin/dist/coordinator-guard.d.ts.map +1 -0
  30. package/claude-plugin/dist/dashboard.d.ts +82 -0
  31. package/claude-plugin/dist/dashboard.d.ts.map +1 -0
  32. package/claude-plugin/dist/decision-trace-integration.d.ts +204 -0
  33. package/claude-plugin/dist/decision-trace-integration.d.ts.map +1 -0
  34. package/claude-plugin/dist/error-enrichment.d.ts +49 -0
  35. package/claude-plugin/dist/error-enrichment.d.ts.map +1 -0
  36. package/claude-plugin/dist/eval-capture.d.ts +494 -0
  37. package/claude-plugin/dist/eval-capture.d.ts.map +1 -0
  38. package/claude-plugin/dist/eval-capture.js +12844 -0
  39. package/claude-plugin/dist/eval-gates.d.ts +84 -0
  40. package/claude-plugin/dist/eval-gates.d.ts.map +1 -0
  41. package/claude-plugin/dist/eval-history.d.ts +117 -0
  42. package/claude-plugin/dist/eval-history.d.ts.map +1 -0
  43. package/claude-plugin/dist/eval-learning.d.ts +216 -0
  44. package/claude-plugin/dist/eval-learning.d.ts.map +1 -0
  45. package/claude-plugin/dist/eval-runner.d.ts +134 -0
  46. package/claude-plugin/dist/eval-runner.d.ts.map +1 -0
  47. package/claude-plugin/dist/examples/plugin-wrapper-template.ts +3341 -0
  48. package/claude-plugin/dist/export-tools.d.ts +76 -0
  49. package/claude-plugin/dist/export-tools.d.ts.map +1 -0
  50. package/claude-plugin/dist/hive.d.ts +949 -0
  51. package/claude-plugin/dist/hive.d.ts.map +1 -0
  52. package/claude-plugin/dist/hive.js +15009 -0
  53. package/claude-plugin/dist/hivemind-tools.d.ts +479 -0
  54. package/claude-plugin/dist/hivemind-tools.d.ts.map +1 -0
  55. package/claude-plugin/dist/hooks/atomic-write.d.ts +21 -0
  56. package/claude-plugin/dist/hooks/atomic-write.d.ts.map +1 -0
  57. package/claude-plugin/dist/hooks/constants.d.ts +28 -0
  58. package/claude-plugin/dist/hooks/constants.d.ts.map +1 -0
  59. package/claude-plugin/dist/hooks/index.d.ts +16 -0
  60. package/claude-plugin/dist/hooks/index.d.ts.map +1 -0
  61. package/claude-plugin/dist/hooks/session-start.d.ts +30 -0
  62. package/claude-plugin/dist/hooks/session-start.d.ts.map +1 -0
  63. package/claude-plugin/dist/hooks/tool-complete.d.ts +54 -0
  64. package/claude-plugin/dist/hooks/tool-complete.d.ts.map +1 -0
  65. package/claude-plugin/dist/index.d.ts +2017 -0
  66. package/claude-plugin/dist/index.d.ts.map +1 -0
  67. package/claude-plugin/dist/index.js +73454 -0
  68. package/claude-plugin/dist/learning.d.ts +700 -0
  69. package/claude-plugin/dist/learning.d.ts.map +1 -0
  70. package/claude-plugin/dist/logger.d.ts +38 -0
  71. package/claude-plugin/dist/logger.d.ts.map +1 -0
  72. package/claude-plugin/dist/mandate-promotion.d.ts +93 -0
  73. package/claude-plugin/dist/mandate-promotion.d.ts.map +1 -0
  74. package/claude-plugin/dist/mandate-storage.d.ts +209 -0
  75. package/claude-plugin/dist/mandate-storage.d.ts.map +1 -0
  76. package/claude-plugin/dist/mandates.d.ts +230 -0
  77. package/claude-plugin/dist/mandates.d.ts.map +1 -0
  78. package/claude-plugin/dist/mcp/swarm-mcp-server.js +19675 -0
  79. package/claude-plugin/dist/memory-tools.d.ts +281 -0
  80. package/claude-plugin/dist/memory-tools.d.ts.map +1 -0
  81. package/claude-plugin/dist/memory.d.ts +164 -0
  82. package/claude-plugin/dist/memory.d.ts.map +1 -0
  83. package/claude-plugin/dist/model-selection.d.ts +37 -0
  84. package/claude-plugin/dist/model-selection.d.ts.map +1 -0
  85. package/claude-plugin/dist/observability-health.d.ts +87 -0
  86. package/claude-plugin/dist/observability-health.d.ts.map +1 -0
  87. package/claude-plugin/dist/observability-tools.d.ts +184 -0
  88. package/claude-plugin/dist/observability-tools.d.ts.map +1 -0
  89. package/claude-plugin/dist/output-guardrails.d.ts +125 -0
  90. package/claude-plugin/dist/output-guardrails.d.ts.map +1 -0
  91. package/claude-plugin/dist/pattern-maturity.d.ts +246 -0
  92. package/claude-plugin/dist/pattern-maturity.d.ts.map +1 -0
  93. package/claude-plugin/dist/planning-guardrails.d.ts +183 -0
  94. package/claude-plugin/dist/planning-guardrails.d.ts.map +1 -0
  95. package/claude-plugin/dist/plugin.d.ts +22 -0
  96. package/claude-plugin/dist/plugin.d.ts.map +1 -0
  97. package/claude-plugin/dist/plugin.js +72296 -0
  98. package/claude-plugin/dist/post-compaction-tracker.d.ts +133 -0
  99. package/claude-plugin/dist/post-compaction-tracker.d.ts.map +1 -0
  100. package/claude-plugin/dist/query-tools.d.ts +90 -0
  101. package/claude-plugin/dist/query-tools.d.ts.map +1 -0
  102. package/claude-plugin/dist/rate-limiter.d.ts +218 -0
  103. package/claude-plugin/dist/rate-limiter.d.ts.map +1 -0
  104. package/claude-plugin/dist/regression-detection.d.ts +58 -0
  105. package/claude-plugin/dist/regression-detection.d.ts.map +1 -0
  106. package/claude-plugin/dist/replay-tools.d.ts +28 -0
  107. package/claude-plugin/dist/replay-tools.d.ts.map +1 -0
  108. package/claude-plugin/dist/repo-crawl.d.ts +146 -0
  109. package/claude-plugin/dist/repo-crawl.d.ts.map +1 -0
  110. package/claude-plugin/dist/schemas/cell-events.d.ts +1352 -0
  111. package/claude-plugin/dist/schemas/cell-events.d.ts.map +1 -0
  112. package/claude-plugin/dist/schemas/cell.d.ts +413 -0
  113. package/claude-plugin/dist/schemas/cell.d.ts.map +1 -0
  114. package/claude-plugin/dist/schemas/evaluation.d.ts +161 -0
  115. package/claude-plugin/dist/schemas/evaluation.d.ts.map +1 -0
  116. package/claude-plugin/dist/schemas/index.d.ts +46 -0
  117. package/claude-plugin/dist/schemas/index.d.ts.map +1 -0
  118. package/claude-plugin/dist/schemas/mandate.d.ts +336 -0
  119. package/claude-plugin/dist/schemas/mandate.d.ts.map +1 -0
  120. package/claude-plugin/dist/schemas/swarm-context.d.ts +131 -0
  121. package/claude-plugin/dist/schemas/swarm-context.d.ts.map +1 -0
  122. package/claude-plugin/dist/schemas/task.d.ts +189 -0
  123. package/claude-plugin/dist/schemas/task.d.ts.map +1 -0
  124. package/claude-plugin/dist/schemas/worker-handoff.d.ts +78 -0
  125. package/claude-plugin/dist/schemas/worker-handoff.d.ts.map +1 -0
  126. package/claude-plugin/dist/sessions/agent-discovery.d.ts +59 -0
  127. package/claude-plugin/dist/sessions/agent-discovery.d.ts.map +1 -0
  128. package/claude-plugin/dist/sessions/index.d.ts +10 -0
  129. package/claude-plugin/dist/sessions/index.d.ts.map +1 -0
  130. package/claude-plugin/dist/skills.d.ts +490 -0
  131. package/claude-plugin/dist/skills.d.ts.map +1 -0
  132. package/claude-plugin/dist/storage.d.ts +260 -0
  133. package/claude-plugin/dist/storage.d.ts.map +1 -0
  134. package/claude-plugin/dist/structured.d.ts +206 -0
  135. package/claude-plugin/dist/structured.d.ts.map +1 -0
  136. package/claude-plugin/dist/swarm-adversarial-review.d.ts +104 -0
  137. package/claude-plugin/dist/swarm-adversarial-review.d.ts.map +1 -0
  138. package/claude-plugin/dist/swarm-decompose.d.ts +297 -0
  139. package/claude-plugin/dist/swarm-decompose.d.ts.map +1 -0
  140. package/claude-plugin/dist/swarm-insights.d.ts +390 -0
  141. package/claude-plugin/dist/swarm-insights.d.ts.map +1 -0
  142. package/claude-plugin/dist/swarm-mail.d.ts +274 -0
  143. package/claude-plugin/dist/swarm-mail.d.ts.map +1 -0
  144. package/claude-plugin/dist/swarm-orchestrate.d.ts +924 -0
  145. package/claude-plugin/dist/swarm-orchestrate.d.ts.map +1 -0
  146. package/claude-plugin/dist/swarm-prompts.d.ts +467 -0
  147. package/claude-plugin/dist/swarm-prompts.d.ts.map +1 -0
  148. package/claude-plugin/dist/swarm-prompts.js +45286 -0
  149. package/claude-plugin/dist/swarm-research.d.ts +125 -0
  150. package/claude-plugin/dist/swarm-research.d.ts.map +1 -0
  151. package/claude-plugin/dist/swarm-review.d.ts +214 -0
  152. package/claude-plugin/dist/swarm-review.d.ts.map +1 -0
  153. package/claude-plugin/dist/swarm-signature.d.ts +106 -0
  154. package/claude-plugin/dist/swarm-signature.d.ts.map +1 -0
  155. package/claude-plugin/dist/swarm-strategies.d.ts +113 -0
  156. package/claude-plugin/dist/swarm-strategies.d.ts.map +1 -0
  157. package/claude-plugin/dist/swarm-validation.d.ts +127 -0
  158. package/claude-plugin/dist/swarm-validation.d.ts.map +1 -0
  159. package/claude-plugin/dist/swarm-worktree.d.ts +185 -0
  160. package/claude-plugin/dist/swarm-worktree.d.ts.map +1 -0
  161. package/claude-plugin/dist/swarm.d.ts +590 -0
  162. package/claude-plugin/dist/swarm.d.ts.map +1 -0
  163. package/claude-plugin/dist/tool-availability.d.ts +91 -0
  164. package/claude-plugin/dist/tool-availability.d.ts.map +1 -0
  165. package/claude-plugin/dist/utils/tree-renderer.d.ts +61 -0
  166. package/claude-plugin/dist/utils/tree-renderer.d.ts.map +1 -0
  167. package/claude-plugin/dist/validators/index.d.ts +7 -0
  168. package/claude-plugin/dist/validators/index.d.ts.map +1 -0
  169. package/claude-plugin/dist/validators/schema-validator.d.ts +58 -0
  170. package/claude-plugin/dist/validators/schema-validator.d.ts.map +1 -0
  171. package/claude-plugin/scripts/copyClaudePluginRuntimeAssets.ts +84 -0
  172. package/claude-plugin/skills/always-on-guidance/SKILL.md +45 -0
  173. package/claude-plugin/tests/mcp-runtime.test.ts +187 -0
  174. package/dist/agent-mail.d.ts +4 -4
  175. package/dist/agent-mail.d.ts.map +1 -1
  176. package/dist/bin/swarm.js +479 -20
  177. package/dist/build/mcp-bundle.d.ts +16 -0
  178. package/dist/build/mcp-bundle.d.ts.map +1 -0
  179. package/dist/cache/claude-plugin-cache.d.ts +41 -0
  180. package/dist/cache/claude-plugin-cache.d.ts.map +1 -0
  181. package/dist/claude-plugin/claude-plugin-assets.d.ts +10 -0
  182. package/dist/claude-plugin/claude-plugin-assets.d.ts.map +1 -0
  183. package/dist/compaction-hook.d.ts +1 -1
  184. package/dist/compaction-hook.d.ts.map +1 -1
  185. package/dist/index.js +371 -260
  186. package/dist/mcp/swarm-mcp-server.js +19675 -0
  187. package/dist/plugin.js +370 -259
  188. package/dist/skills.d.ts +15 -0
  189. package/dist/skills.d.ts.map +1 -1
  190. package/dist/swarm-mail.d.ts.map +1 -1
  191. package/dist/swarm-prompts.d.ts +3 -1
  192. package/dist/swarm-prompts.d.ts.map +1 -1
  193. package/dist/swarm-prompts.js +88 -8
  194. package/package.json +4 -1
@@ -0,0 +1,494 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Subtask outcome - what actually happened
4
+ */
5
+ export declare const SubtaskOutcomeSchema: z.ZodObject<{
6
+ bead_id: z.ZodString;
7
+ title: z.ZodString;
8
+ planned_files: z.ZodArray<z.ZodString>;
9
+ actual_files: z.ZodArray<z.ZodString>;
10
+ duration_ms: z.ZodNumber;
11
+ error_count: z.ZodNumber;
12
+ retry_count: z.ZodNumber;
13
+ success: z.ZodBoolean;
14
+ failure_mode: z.ZodOptional<z.ZodString>;
15
+ }, z.core.$strip>;
16
+ export type SubtaskOutcome = z.infer<typeof SubtaskOutcomeSchema>;
17
+ /**
18
+ * Complete eval record - input, output, and outcome
19
+ */
20
+ export declare const EvalRecordSchema: z.ZodObject<{
21
+ id: z.ZodString;
22
+ timestamp: z.ZodString;
23
+ project_path: z.ZodString;
24
+ task: z.ZodString;
25
+ context: z.ZodOptional<z.ZodString>;
26
+ strategy: z.ZodEnum<{
27
+ "file-based": "file-based";
28
+ "feature-based": "feature-based";
29
+ "risk-based": "risk-based";
30
+ auto: "auto";
31
+ }>;
32
+ subtask_count: z.ZodNumber;
33
+ epic_title: z.ZodString;
34
+ epic_description: z.ZodOptional<z.ZodString>;
35
+ subtasks: z.ZodArray<z.ZodObject<{
36
+ title: z.ZodString;
37
+ description: z.ZodOptional<z.ZodString>;
38
+ files: z.ZodArray<z.ZodString>;
39
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
40
+ estimated_complexity: z.ZodOptional<z.ZodNumber>;
41
+ }, z.core.$strip>>;
42
+ outcomes: z.ZodOptional<z.ZodArray<z.ZodObject<{
43
+ bead_id: z.ZodString;
44
+ title: z.ZodString;
45
+ planned_files: z.ZodArray<z.ZodString>;
46
+ actual_files: z.ZodArray<z.ZodString>;
47
+ duration_ms: z.ZodNumber;
48
+ error_count: z.ZodNumber;
49
+ retry_count: z.ZodNumber;
50
+ success: z.ZodBoolean;
51
+ failure_mode: z.ZodOptional<z.ZodString>;
52
+ }, z.core.$strip>>>;
53
+ overall_success: z.ZodOptional<z.ZodBoolean>;
54
+ total_duration_ms: z.ZodOptional<z.ZodNumber>;
55
+ total_errors: z.ZodOptional<z.ZodNumber>;
56
+ human_accepted: z.ZodOptional<z.ZodBoolean>;
57
+ human_modified: z.ZodOptional<z.ZodBoolean>;
58
+ human_notes: z.ZodOptional<z.ZodString>;
59
+ file_overlap_count: z.ZodOptional<z.ZodNumber>;
60
+ scope_accuracy: z.ZodOptional<z.ZodNumber>;
61
+ time_balance_ratio: z.ZodOptional<z.ZodNumber>;
62
+ }, z.core.$strip>;
63
+ export type EvalRecord = z.infer<typeof EvalRecordSchema>;
64
+ /**
65
+ * Partial record for in-progress capture
66
+ */
67
+ export type PartialEvalRecord = Partial<EvalRecord> & {
68
+ id: string;
69
+ timestamp: string;
70
+ task: string;
71
+ };
72
+ /**
73
+ * Coordinator Event - captures coordinator decisions, violations, outcomes, and compaction
74
+ */
75
+ export declare const CoordinatorEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
76
+ session_id: z.ZodString;
77
+ epic_id: z.ZodString;
78
+ timestamp: z.ZodString;
79
+ event_type: z.ZodLiteral<"DECISION">;
80
+ decision_type: z.ZodEnum<{
81
+ worker_spawned: "worker_spawned";
82
+ review_completed: "review_completed";
83
+ skill_loaded: "skill_loaded";
84
+ strategy_selected: "strategy_selected";
85
+ decomposition_complete: "decomposition_complete";
86
+ researcher_spawned: "researcher_spawned";
87
+ inbox_checked: "inbox_checked";
88
+ blocker_resolved: "blocker_resolved";
89
+ scope_change_approved: "scope_change_approved";
90
+ scope_change_rejected: "scope_change_rejected";
91
+ }>;
92
+ payload: z.ZodAny;
93
+ }, z.core.$strip>, z.ZodObject<{
94
+ session_id: z.ZodString;
95
+ epic_id: z.ZodString;
96
+ timestamp: z.ZodString;
97
+ event_type: z.ZodLiteral<"VIOLATION">;
98
+ violation_type: z.ZodEnum<{
99
+ coordinator_edited_file: "coordinator_edited_file";
100
+ coordinator_ran_tests: "coordinator_ran_tests";
101
+ coordinator_reserved_files: "coordinator_reserved_files";
102
+ no_worker_spawned: "no_worker_spawned";
103
+ worker_completed_without_review: "worker_completed_without_review";
104
+ }>;
105
+ payload: z.ZodAny;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ session_id: z.ZodString;
108
+ epic_id: z.ZodString;
109
+ timestamp: z.ZodString;
110
+ event_type: z.ZodLiteral<"OUTCOME">;
111
+ outcome_type: z.ZodEnum<{
112
+ subtask_success: "subtask_success";
113
+ subtask_retry: "subtask_retry";
114
+ subtask_failed: "subtask_failed";
115
+ epic_complete: "epic_complete";
116
+ blocker_detected: "blocker_detected";
117
+ }>;
118
+ payload: z.ZodAny;
119
+ }, z.core.$strip>, z.ZodObject<{
120
+ session_id: z.ZodString;
121
+ epic_id: z.ZodString;
122
+ timestamp: z.ZodString;
123
+ event_type: z.ZodLiteral<"COMPACTION">;
124
+ compaction_type: z.ZodEnum<{
125
+ context_injected: "context_injected";
126
+ detection_complete: "detection_complete";
127
+ prompt_generated: "prompt_generated";
128
+ resumption_started: "resumption_started";
129
+ tool_call_tracked: "tool_call_tracked";
130
+ }>;
131
+ payload: z.ZodAny;
132
+ }, z.core.$strip>], "event_type">;
133
+ export type CoordinatorEvent = z.infer<typeof CoordinatorEventSchema>;
134
+ /**
135
+ * Coordinator Session - wraps a full coordinator session
136
+ */
137
+ export declare const CoordinatorSessionSchema: z.ZodObject<{
138
+ session_id: z.ZodString;
139
+ epic_id: z.ZodString;
140
+ start_time: z.ZodString;
141
+ end_time: z.ZodOptional<z.ZodString>;
142
+ events: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
143
+ session_id: z.ZodString;
144
+ epic_id: z.ZodString;
145
+ timestamp: z.ZodString;
146
+ event_type: z.ZodLiteral<"DECISION">;
147
+ decision_type: z.ZodEnum<{
148
+ worker_spawned: "worker_spawned";
149
+ review_completed: "review_completed";
150
+ skill_loaded: "skill_loaded";
151
+ strategy_selected: "strategy_selected";
152
+ decomposition_complete: "decomposition_complete";
153
+ researcher_spawned: "researcher_spawned";
154
+ inbox_checked: "inbox_checked";
155
+ blocker_resolved: "blocker_resolved";
156
+ scope_change_approved: "scope_change_approved";
157
+ scope_change_rejected: "scope_change_rejected";
158
+ }>;
159
+ payload: z.ZodAny;
160
+ }, z.core.$strip>, z.ZodObject<{
161
+ session_id: z.ZodString;
162
+ epic_id: z.ZodString;
163
+ timestamp: z.ZodString;
164
+ event_type: z.ZodLiteral<"VIOLATION">;
165
+ violation_type: z.ZodEnum<{
166
+ coordinator_edited_file: "coordinator_edited_file";
167
+ coordinator_ran_tests: "coordinator_ran_tests";
168
+ coordinator_reserved_files: "coordinator_reserved_files";
169
+ no_worker_spawned: "no_worker_spawned";
170
+ worker_completed_without_review: "worker_completed_without_review";
171
+ }>;
172
+ payload: z.ZodAny;
173
+ }, z.core.$strip>, z.ZodObject<{
174
+ session_id: z.ZodString;
175
+ epic_id: z.ZodString;
176
+ timestamp: z.ZodString;
177
+ event_type: z.ZodLiteral<"OUTCOME">;
178
+ outcome_type: z.ZodEnum<{
179
+ subtask_success: "subtask_success";
180
+ subtask_retry: "subtask_retry";
181
+ subtask_failed: "subtask_failed";
182
+ epic_complete: "epic_complete";
183
+ blocker_detected: "blocker_detected";
184
+ }>;
185
+ payload: z.ZodAny;
186
+ }, z.core.$strip>, z.ZodObject<{
187
+ session_id: z.ZodString;
188
+ epic_id: z.ZodString;
189
+ timestamp: z.ZodString;
190
+ event_type: z.ZodLiteral<"COMPACTION">;
191
+ compaction_type: z.ZodEnum<{
192
+ context_injected: "context_injected";
193
+ detection_complete: "detection_complete";
194
+ prompt_generated: "prompt_generated";
195
+ resumption_started: "resumption_started";
196
+ tool_call_tracked: "tool_call_tracked";
197
+ }>;
198
+ payload: z.ZodAny;
199
+ }, z.core.$strip>], "event_type">>;
200
+ }, z.core.$strip>;
201
+ export type CoordinatorSession = z.infer<typeof CoordinatorSessionSchema>;
202
+ /**
203
+ * Default path for eval data
204
+ */
205
+ export declare const DEFAULT_EVAL_DATA_PATH = ".opencode/eval-data.jsonl";
206
+ /**
207
+ * Get the eval data file path for a project
208
+ */
209
+ export declare function getEvalDataPath(projectPath: string): string;
210
+ /**
211
+ * Ensure the eval data directory exists
212
+ */
213
+ export declare function ensureEvalDataDir(projectPath: string): void;
214
+ /**
215
+ * Append an eval record to the JSONL file
216
+ */
217
+ export declare function appendEvalRecord(projectPath: string, record: EvalRecord | PartialEvalRecord): void;
218
+ /**
219
+ * Read all eval records from a project
220
+ */
221
+ export declare function readEvalRecords(projectPath: string): EvalRecord[];
222
+ /**
223
+ * Read partial records (for updating in-progress records)
224
+ */
225
+ export declare function readPartialRecords(projectPath: string): PartialEvalRecord[];
226
+ /**
227
+ * Update an existing record by ID
228
+ */
229
+ export declare function updateEvalRecord(projectPath: string, id: string, updates: Partial<EvalRecord>): boolean;
230
+ /**
231
+ * Start capturing a decomposition
232
+ *
233
+ * Called when swarm_decompose generates a decomposition.
234
+ * Creates a partial record that will be completed when outcomes arrive.
235
+ */
236
+ export declare function captureDecomposition(params: {
237
+ epicId: string;
238
+ projectPath: string;
239
+ task: string;
240
+ context?: string;
241
+ strategy: "file-based" | "feature-based" | "risk-based" | "auto";
242
+ epicTitle: string;
243
+ epicDescription?: string;
244
+ subtasks: Array<{
245
+ title: string;
246
+ description?: string;
247
+ files: string[];
248
+ dependencies?: number[];
249
+ estimated_complexity?: number;
250
+ }>;
251
+ }): PartialEvalRecord;
252
+ /**
253
+ * Capture a subtask outcome
254
+ *
255
+ * Called when swarm_complete finishes a subtask.
256
+ * Updates the in-progress record with outcome data.
257
+ */
258
+ export declare function captureSubtaskOutcome(params: {
259
+ epicId: string;
260
+ projectPath: string;
261
+ beadId: string;
262
+ title: string;
263
+ plannedFiles: string[];
264
+ actualFiles: string[];
265
+ durationMs: number;
266
+ errorCount: number;
267
+ retryCount: number;
268
+ success: boolean;
269
+ failureMode?: string;
270
+ }): void;
271
+ /**
272
+ * Finalize an eval record
273
+ *
274
+ * Called when all subtasks are complete.
275
+ * Computes aggregate metrics and marks record as complete.
276
+ */
277
+ export declare function finalizeEvalRecord(params: {
278
+ epicId: string;
279
+ projectPath: string;
280
+ }): EvalRecord | null;
281
+ /**
282
+ * Capture human feedback on a decomposition
283
+ */
284
+ export declare function captureHumanFeedback(params: {
285
+ epicId: string;
286
+ projectPath: string;
287
+ accepted: boolean;
288
+ modified: boolean;
289
+ notes?: string;
290
+ }): void;
291
+ /**
292
+ * Export eval records as Evalite-compatible test cases
293
+ *
294
+ * Filters to only complete records with outcomes.
295
+ */
296
+ export declare function exportForEvalite(projectPath: string): Array<{
297
+ input: {
298
+ task: string;
299
+ context?: string;
300
+ };
301
+ expected: {
302
+ minSubtasks: number;
303
+ subtaskCount: number;
304
+ requiredFiles?: string[];
305
+ overallSuccess?: boolean;
306
+ };
307
+ actual: EvalRecord;
308
+ }>;
309
+ /**
310
+ * Get statistics about captured eval data
311
+ */
312
+ export declare function getEvalDataStats(projectPath: string): {
313
+ totalRecords: number;
314
+ completeRecords: number;
315
+ successRate: number;
316
+ avgSubtasks: number;
317
+ avgDurationMs: number;
318
+ avgScopeAccuracy: number;
319
+ avgTimeBalance: number;
320
+ };
321
+ /**
322
+ * Get the session directory path
323
+ * Can be overridden via SWARM_SESSIONS_DIR env var for testing
324
+ */
325
+ export declare function getSessionDir(): string;
326
+ /**
327
+ * Get the session file path for a session ID
328
+ */
329
+ export declare function getSessionPath(sessionId: string): string;
330
+ /**
331
+ * Ensure the session directory exists
332
+ */
333
+ export declare function ensureSessionDir(): void;
334
+ /**
335
+ * Capture a coordinator event to libSQL via appendEvent
336
+ *
337
+ * Stores event in events table with type based on event_type:
338
+ * - DECISION → coordinator_decision
339
+ * - VIOLATION → coordinator_violation
340
+ * - OUTCOME → coordinator_outcome
341
+ * - COMPACTION → coordinator_compaction
342
+ *
343
+ * The project_key is derived from the session working directory (process.cwd()).
344
+ * Events are queryable via observability-tools.ts.
345
+ */
346
+ export declare function captureCoordinatorEvent(event: CoordinatorEvent): Promise<void>;
347
+ /**
348
+ * Capture a compaction event to the session file
349
+ *
350
+ * Helper for capturing COMPACTION events with automatic timestamp generation.
351
+ * Tracks compaction hook lifecycle: detection → prompt generation → context injection → resumption.
352
+ *
353
+ * **Part of eval-driven development pipeline:** Compaction events are used by `compaction-prompt.eval.ts`
354
+ * to score prompt quality (ID specificity, actionability, coordinator identity).
355
+ *
356
+ * **Lifecycle stages:**
357
+ * - `detection_complete` - Compaction detected (confidence level, context type)
358
+ * - `prompt_generated` - Continuation prompt created (FULL content stored for eval)
359
+ * - `context_injected` - Prompt injected into OpenCode context
360
+ * - `resumption_started` - Coordinator resumed from checkpoint
361
+ * - `tool_call_tracked` - First tool called post-compaction (measures discipline)
362
+ *
363
+ * @param params - Compaction event parameters
364
+ * @param params.session_id - Coordinator session ID
365
+ * @param params.epic_id - Epic ID being coordinated
366
+ * @param params.compaction_type - Stage of compaction lifecycle
367
+ * @param params.payload - Event-specific data (full prompt content, detection results, etc.)
368
+ *
369
+ * @example
370
+ * // Capture detection complete
371
+ * captureCompactionEvent({
372
+ * session_id: "session-123",
373
+ * epic_id: "bd-456",
374
+ * compaction_type: "detection_complete",
375
+ * payload: {
376
+ * confidence: "high",
377
+ * context_type: "full",
378
+ * epic_id: "bd-456",
379
+ * },
380
+ * });
381
+ *
382
+ * @example
383
+ * // Capture prompt generated (with full content for eval)
384
+ * captureCompactionEvent({
385
+ * session_id: "session-123",
386
+ * epic_id: "bd-456",
387
+ * compaction_type: "prompt_generated",
388
+ * payload: {
389
+ * prompt_length: 5000,
390
+ * full_prompt: "You are a coordinator...", // Full prompt, not truncated - used for quality scoring
391
+ * context_type: "full",
392
+ * },
393
+ * });
394
+ */
395
+ export declare function captureCompactionEvent(params: {
396
+ session_id: string;
397
+ epic_id: string;
398
+ compaction_type: "detection_complete" | "prompt_generated" | "context_injected" | "resumption_started" | "tool_call_tracked";
399
+ payload: any;
400
+ }): Promise<void>;
401
+ /**
402
+ * Capture a researcher spawned event
403
+ *
404
+ * Called when coordinator spawns a swarm-researcher to handle unfamiliar technology
405
+ * or gather documentation before decomposition.
406
+ */
407
+ export declare function captureResearcherSpawned(params: {
408
+ session_id: string;
409
+ epic_id: string;
410
+ researcher_id: string;
411
+ research_topic: string;
412
+ tools_used?: string[];
413
+ }): Promise<void>;
414
+ /**
415
+ * Capture a skill loaded event
416
+ *
417
+ * Called when coordinator loads domain knowledge via skills_use().
418
+ */
419
+ export declare function captureSkillLoaded(params: {
420
+ session_id: string;
421
+ epic_id: string;
422
+ skill_name: string;
423
+ context?: string;
424
+ }): Promise<void>;
425
+ /**
426
+ * Capture an inbox checked event
427
+ *
428
+ * Called when coordinator checks swarmmail inbox for worker messages.
429
+ * Tracks monitoring frequency and responsiveness.
430
+ */
431
+ export declare function captureInboxChecked(params: {
432
+ session_id: string;
433
+ epic_id: string;
434
+ message_count: number;
435
+ urgent_count: number;
436
+ }): Promise<void>;
437
+ /**
438
+ * Capture a blocker resolved event
439
+ *
440
+ * Called when coordinator successfully unblocks a worker.
441
+ */
442
+ export declare function captureBlockerResolved(params: {
443
+ session_id: string;
444
+ epic_id: string;
445
+ worker_id: string;
446
+ subtask_id: string;
447
+ blocker_type: string;
448
+ resolution: string;
449
+ }): Promise<void>;
450
+ /**
451
+ * Capture a scope change decision event
452
+ *
453
+ * Called when coordinator approves or rejects a worker's scope expansion request.
454
+ */
455
+ export declare function captureScopeChangeDecision(params: {
456
+ session_id: string;
457
+ epic_id: string;
458
+ worker_id: string;
459
+ subtask_id: string;
460
+ approved: boolean;
461
+ original_scope?: string;
462
+ new_scope?: string;
463
+ requested_scope?: string;
464
+ rejection_reason?: string;
465
+ estimated_time_add?: number;
466
+ }): Promise<void>;
467
+ /**
468
+ * Capture a blocker detected event
469
+ *
470
+ * Called when a worker reports being blocked (OUTCOME event, not DECISION).
471
+ */
472
+ export declare function captureBlockerDetected(params: {
473
+ session_id: string;
474
+ epic_id: string;
475
+ worker_id: string;
476
+ subtask_id: string;
477
+ blocker_type: string;
478
+ blocker_description: string;
479
+ }): Promise<void>;
480
+ /**
481
+ * Read all events from a session file
482
+ */
483
+ export declare function readSessionEvents(sessionId: string): CoordinatorEvent[];
484
+ /**
485
+ * Save a session - wraps all events in a CoordinatorSession structure
486
+ *
487
+ * Reads all events from the session file and wraps them in a session object.
488
+ * Returns null if the session file doesn't exist.
489
+ */
490
+ export declare function saveSession(params: {
491
+ session_id: string;
492
+ epic_id: string;
493
+ }): CoordinatorSession | null;
494
+ //# sourceMappingURL=eval-capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval-capture.d.ts","sourceRoot":"","sources":["../src/eval-capture.ts"],"names":[],"mappings":"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"}