opencode-swarm 6.8.1 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/README.md +58 -76
  2. package/dist/agents/architect.d.ts +7 -0
  3. package/dist/agents/coder.d.ts +2 -0
  4. package/dist/agents/critic.d.ts +2 -0
  5. package/dist/agents/designer.d.ts +2 -0
  6. package/dist/agents/docs.d.ts +2 -0
  7. package/dist/agents/explorer.d.ts +2 -0
  8. package/dist/{src/agents → agents}/reviewer.d.ts +1 -2
  9. package/dist/agents/sme.d.ts +2 -0
  10. package/dist/{src/agents/coder.d.ts → agents/test-engineer.d.ts} +1 -2
  11. package/dist/{src/background → background}/trigger.d.ts +16 -0
  12. package/dist/build/discovery.d.ts +36 -0
  13. package/dist/config/evidence-schema.d.ts +1080 -0
  14. package/dist/config/loader.d.ts +32 -0
  15. package/dist/{src/config → config}/schema.d.ts +78 -169
  16. package/dist/{src/evidence → evidence}/manager.d.ts +19 -1
  17. package/dist/{src/index.d.ts → index.d.ts} +10 -0
  18. package/dist/index.js +8006 -2149
  19. package/dist/lang/grammars/tree-sitter-bash.wasm +0 -0
  20. package/dist/lang/grammars/tree-sitter-c-sharp.wasm +0 -0
  21. package/dist/lang/grammars/tree-sitter-cpp.wasm +0 -0
  22. package/dist/lang/grammars/tree-sitter-css.wasm +0 -0
  23. package/dist/lang/grammars/tree-sitter-go.wasm +0 -0
  24. package/dist/lang/grammars/tree-sitter-ini.wasm +0 -0
  25. package/dist/lang/grammars/tree-sitter-java.wasm +0 -0
  26. package/dist/lang/grammars/tree-sitter-javascript.wasm +0 -0
  27. package/dist/lang/grammars/tree-sitter-php.wasm +0 -0
  28. package/dist/lang/grammars/tree-sitter-powershell.wasm +0 -0
  29. package/dist/lang/grammars/tree-sitter-python.wasm +0 -0
  30. package/dist/lang/grammars/tree-sitter-regex.wasm +0 -0
  31. package/dist/lang/grammars/tree-sitter-ruby.wasm +0 -0
  32. package/dist/lang/grammars/tree-sitter-rust.wasm +0 -0
  33. package/dist/lang/grammars/tree-sitter-tsx.wasm +0 -0
  34. package/dist/lang/grammars/tree-sitter-typescript.wasm +0 -0
  35. package/dist/lang/grammars/tree-sitter.wasm +0 -0
  36. package/dist/lang/index.d.ts +2 -0
  37. package/dist/lang/registry.d.ts +24 -0
  38. package/dist/lang/runtime.d.ts +35 -0
  39. package/dist/quality/index.d.ts +1 -0
  40. package/dist/quality/metrics.d.ts +20 -0
  41. package/dist/sast/rules/c.d.ts +9 -0
  42. package/dist/sast/rules/csharp.d.ts +9 -0
  43. package/dist/sast/rules/go.d.ts +9 -0
  44. package/dist/sast/rules/index.d.ts +72 -0
  45. package/dist/sast/rules/java.d.ts +9 -0
  46. package/dist/sast/rules/javascript.d.ts +9 -0
  47. package/dist/sast/rules/php.d.ts +9 -0
  48. package/dist/sast/rules/python.d.ts +9 -0
  49. package/dist/sast/semgrep.d.ts +64 -0
  50. package/dist/sbom/cyclonedx.d.ts +101 -0
  51. package/dist/sbom/detectors/dart.d.ts +7 -0
  52. package/dist/sbom/detectors/dotnet.d.ts +7 -0
  53. package/dist/sbom/detectors/go.d.ts +7 -0
  54. package/dist/sbom/detectors/index.d.ts +53 -0
  55. package/dist/sbom/detectors/java.d.ts +7 -0
  56. package/dist/sbom/detectors/nodejs.d.ts +7 -0
  57. package/dist/sbom/detectors/python.d.ts +7 -0
  58. package/dist/sbom/detectors/rust.d.ts +7 -0
  59. package/dist/sbom/detectors/swift.d.ts +7 -0
  60. package/dist/services/config-doctor.test.d.ts +1 -0
  61. package/dist/{src/state.d.ts → state.d.ts} +0 -5
  62. package/dist/tools/build-check.d.ts +50 -0
  63. package/dist/{src/tools → tools}/gitingest.d.ts +1 -2
  64. package/dist/{src/tools → tools}/index.d.ts +6 -0
  65. package/dist/tools/placeholder-scan.d.ts +26 -0
  66. package/dist/tools/quality-budget.d.ts +24 -0
  67. package/dist/tools/sast-scan.d.ts +52 -0
  68. package/dist/tools/sbom-generate.d.ts +26 -0
  69. package/dist/tools/syntax-check.d.ts +35 -0
  70. package/dist/{src/tools/test-runner/constants.d.ts → tools/test-runner.d.ts} +4 -0
  71. package/dist/utils/index.d.ts +3 -0
  72. package/package.json +7 -2
  73. package/dist/src/agents/architect.d.ts +0 -8
  74. package/dist/src/agents/critic.d.ts +0 -3
  75. package/dist/src/agents/designer.d.ts +0 -3
  76. package/dist/src/agents/docs.d.ts +0 -3
  77. package/dist/src/agents/explorer.d.ts +0 -3
  78. package/dist/src/agents/model.d.ts +0 -2
  79. package/dist/src/agents/sme.d.ts +0 -3
  80. package/dist/src/agents/test-engineer.d.ts +0 -3
  81. package/dist/src/config/evidence-schema.d.ts +0 -447
  82. package/dist/src/config/loader.d.ts +0 -16
  83. package/dist/src/tools/test-runner/detect.d.ts +0 -2
  84. package/dist/src/tools/test-runner/discover.d.ts +0 -4
  85. package/dist/src/tools/test-runner/index.d.ts +0 -6
  86. package/dist/src/tools/test-runner/run.d.ts +0 -2
  87. package/dist/src/tools/test-runner/validate.d.ts +0 -2
  88. package/dist/src/utils/index.d.ts +0 -8
  89. /package/dist/{src/__tests__ → __tests__}/security-adversarial.test.d.ts +0 -0
  90. /package/dist/{src/agents → agents}/index.d.ts +0 -0
  91. /package/dist/{src/agents → agents}/test-engineer.adversarial.test.d.ts +0 -0
  92. /package/dist/{src/agents → agents}/test-engineer.security.test.d.ts +0 -0
  93. /package/dist/{src/background → background}/circuit-breaker.d.ts +0 -0
  94. /package/dist/{src/background → background}/event-bus.d.ts +0 -0
  95. /package/dist/{src/background → background}/evidence-summary-integration.d.ts +0 -0
  96. /package/dist/{src/background → background}/index.d.ts +0 -0
  97. /package/dist/{src/background → background}/manager.d.ts +0 -0
  98. /package/dist/{src/background → background}/plan-sync-worker.d.ts +0 -0
  99. /package/dist/{src/background → background}/queue.d.ts +0 -0
  100. /package/dist/{src/background → background}/status-artifact.d.ts +0 -0
  101. /package/dist/{src/background → background}/trigger.vulnerability.test.d.ts +0 -0
  102. /package/dist/{src/background → background}/worker.d.ts +0 -0
  103. /package/dist/{src/cli → cli}/index.d.ts +0 -0
  104. /package/dist/{src/commands → commands}/agents.d.ts +0 -0
  105. /package/dist/{src/commands → commands}/archive.d.ts +0 -0
  106. /package/dist/{src/commands → commands}/benchmark.d.ts +0 -0
  107. /package/dist/{src/commands → commands}/command-adapters.security.test.d.ts +0 -0
  108. /package/dist/{src/commands → commands}/commands.test.d.ts +0 -0
  109. /package/dist/{src/commands → commands}/config.d.ts +0 -0
  110. /package/dist/{src/commands → commands}/diagnose.d.ts +0 -0
  111. /package/dist/{src/commands → commands}/doctor.d.ts +0 -0
  112. /package/dist/{src/commands → commands}/evidence.d.ts +0 -0
  113. /package/dist/{src/commands → commands}/export.d.ts +0 -0
  114. /package/dist/{src/commands → commands}/history.d.ts +0 -0
  115. /package/dist/{src/commands → commands}/index.d.ts +0 -0
  116. /package/dist/{src/commands → commands}/plan.d.ts +0 -0
  117. /package/dist/{src/commands → commands}/preflight.d.ts +0 -0
  118. /package/dist/{src/commands → commands}/reset.d.ts +0 -0
  119. /package/dist/{src/commands → commands}/retrieve.d.ts +0 -0
  120. /package/dist/{src/commands → commands}/status.d.ts +0 -0
  121. /package/dist/{src/commands → commands}/sync-plan.d.ts +0 -0
  122. /package/dist/{src/config → config}/constants.d.ts +0 -0
  123. /package/dist/{src/config → config}/index.d.ts +0 -0
  124. /package/dist/{src/config → config}/plan-schema.d.ts +0 -0
  125. /package/dist/{src/evidence → evidence}/index.d.ts +0 -0
  126. /package/dist/{src/hooks → hooks}/agent-activity.d.ts +0 -0
  127. /package/dist/{src/hooks → hooks}/compaction-customizer.d.ts +0 -0
  128. /package/dist/{src/hooks → hooks}/context-budget.d.ts +0 -0
  129. /package/dist/{src/hooks → hooks}/context-scoring.d.ts +0 -0
  130. /package/dist/{src/hooks → hooks}/delegation-gate.d.ts +0 -0
  131. /package/dist/{src/hooks → hooks}/delegation-tracker.d.ts +0 -0
  132. /package/dist/{src/hooks → hooks}/extractors.d.ts +0 -0
  133. /package/dist/{src/hooks → hooks}/guardrails.d.ts +0 -0
  134. /package/dist/{src/hooks → hooks}/index.d.ts +0 -0
  135. /package/dist/{src/hooks → hooks}/phase-monitor.d.ts +0 -0
  136. /package/dist/{src/hooks → hooks}/pipeline-tracker.d.ts +0 -0
  137. /package/dist/{src/hooks → hooks}/system-enhancer.d.ts +0 -0
  138. /package/dist/{src/hooks → hooks}/tool-summarizer.d.ts +0 -0
  139. /package/dist/{src/hooks → hooks}/utils.d.ts +0 -0
  140. /package/dist/{src/plan → plan}/index.d.ts +0 -0
  141. /package/dist/{src/plan → plan}/manager.d.ts +0 -0
  142. /package/dist/{src/services/config-doctor.security.test.d.ts → sast/semgrep.test.d.ts} +0 -0
  143. /package/dist/{src/services → services}/config-doctor.d.ts +0 -0
  144. /package/dist/{src/services/config-doctor.test.d.ts → services/config-doctor.security.test.d.ts} +0 -0
  145. /package/dist/{src/services → services}/decision-drift-analyzer.d.ts +0 -0
  146. /package/dist/{src/services → services}/diagnose-service.d.ts +0 -0
  147. /package/dist/{src/services → services}/evidence-service.d.ts +0 -0
  148. /package/dist/{src/services → services}/evidence-summary-service.d.ts +0 -0
  149. /package/dist/{src/services → services}/export-service.d.ts +0 -0
  150. /package/dist/{src/services → services}/history-service.d.ts +0 -0
  151. /package/dist/{src/services → services}/index.d.ts +0 -0
  152. /package/dist/{src/services → services}/plan-service.d.ts +0 -0
  153. /package/dist/{src/services → services}/preflight-integration.d.ts +0 -0
  154. /package/dist/{src/services → services}/preflight-service.d.ts +0 -0
  155. /package/dist/{src/services → services}/status-service.d.ts +0 -0
  156. /package/dist/{src/summaries → summaries}/index.d.ts +0 -0
  157. /package/dist/{src/summaries → summaries}/manager.d.ts +0 -0
  158. /package/dist/{src/summaries → summaries}/summarizer.d.ts +0 -0
  159. /package/dist/{src/tools → tools}/checkpoint.d.ts +0 -0
  160. /package/dist/{src/tools → tools}/complexity-hotspots.d.ts +0 -0
  161. /package/dist/{src/tools → tools}/diff.d.ts +0 -0
  162. /package/dist/{src/tools → tools}/domain-detector.d.ts +0 -0
  163. /package/dist/{src/tools → tools}/evidence-check.d.ts +0 -0
  164. /package/dist/{src/tools → tools}/file-extractor.d.ts +0 -0
  165. /package/dist/{src/tools → tools}/imports.d.ts +0 -0
  166. /package/dist/{src/tools → tools}/lint.d.ts +0 -0
  167. /package/dist/{src/tools → tools}/pkg-audit.d.ts +0 -0
  168. /package/dist/{src/tools → tools}/retrieve-summary.d.ts +0 -0
  169. /package/dist/{src/tools → tools}/schema-drift.d.ts +0 -0
  170. /package/dist/{src/tools → tools}/secretscan.d.ts +0 -0
  171. /package/dist/{src/tools → tools}/symbols.d.ts +0 -0
  172. /package/dist/{src/tools → tools}/test-runner.security-adversarial.test.d.ts +0 -0
  173. /package/dist/{src/tools → tools}/todo-extract.d.ts +0 -0
  174. /package/dist/{src/utils → utils}/errors.d.ts +0 -0
  175. /package/dist/{src/utils → utils}/logger.d.ts +0 -0
  176. /package/dist/{src/utils → utils}/merge.d.ts +0 -0
@@ -0,0 +1,32 @@
1
+ import { type PluginConfig } from './schema';
2
+ export declare const MAX_CONFIG_FILE_BYTES = 102400;
3
+ export { deepMerge, MAX_MERGE_DEPTH } from '../utils/merge';
4
+ /**
5
+ * Load plugin configuration from user and project config files.
6
+ *
7
+ * Config locations:
8
+ * 1. User config: ~/.config/opencode/opencode-swarm.json
9
+ * 2. Project config: <directory>/.opencode/opencode-swarm.json
10
+ *
11
+ * Project config takes precedence. Nested objects are deep-merged.
12
+ * IMPORTANT: Raw configs are merged BEFORE Zod parsing so that
13
+ * Zod defaults don't override explicit user values.
14
+ */
15
+ export declare function loadPluginConfig(directory: string): PluginConfig;
16
+ /**
17
+ * Internal variant of loadPluginConfig that also returns loader metadata.
18
+ * Used only by src/index.ts to determine guardrails fallback behavior.
19
+ * NOT part of the public API — use loadPluginConfig() for all other callers.
20
+ */
21
+ export declare function loadPluginConfigWithMeta(directory: string): {
22
+ config: PluginConfig;
23
+ loadedFromFile: boolean;
24
+ };
25
+ /**
26
+ * Load custom prompt for an agent from the prompts directory.
27
+ * Checks for {agent}.md (replaces default) and {agent}_append.md (appends).
28
+ */
29
+ export declare function loadAgentPrompt(agentName: string): {
30
+ prompt?: string;
31
+ appendPrompt?: string;
32
+ };
@@ -120,6 +120,57 @@ export declare const EvidenceConfigSchema: z.ZodObject<{
120
120
  auto_archive: z.ZodDefault<z.ZodBoolean>;
121
121
  }, z.core.$strip>;
122
122
  export type EvidenceConfig = z.infer<typeof EvidenceConfigSchema>;
123
+ export declare const GateFeatureSchema: z.ZodObject<{
124
+ enabled: z.ZodDefault<z.ZodBoolean>;
125
+ }, z.core.$strip>;
126
+ export type GateFeature = z.infer<typeof GateFeatureSchema>;
127
+ export declare const PlaceholderScanConfigSchema: z.ZodObject<{
128
+ enabled: z.ZodDefault<z.ZodBoolean>;
129
+ deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
130
+ allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
131
+ max_allowed_findings: z.ZodDefault<z.ZodNumber>;
132
+ }, z.core.$strip>;
133
+ export type PlaceholderScanConfig = z.infer<typeof PlaceholderScanConfigSchema>;
134
+ export declare const QualityBudgetConfigSchema: z.ZodObject<{
135
+ enabled: z.ZodDefault<z.ZodBoolean>;
136
+ max_complexity_delta: z.ZodDefault<z.ZodNumber>;
137
+ max_public_api_delta: z.ZodDefault<z.ZodNumber>;
138
+ max_duplication_ratio: z.ZodDefault<z.ZodNumber>;
139
+ min_test_to_code_ratio: z.ZodDefault<z.ZodNumber>;
140
+ enforce_on_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
141
+ exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
142
+ }, z.core.$strip>;
143
+ export type QualityBudgetConfig = z.infer<typeof QualityBudgetConfigSchema>;
144
+ export declare const GateConfigSchema: z.ZodObject<{
145
+ syntax_check: z.ZodDefault<z.ZodObject<{
146
+ enabled: z.ZodDefault<z.ZodBoolean>;
147
+ }, z.core.$strip>>;
148
+ placeholder_scan: z.ZodDefault<z.ZodObject<{
149
+ enabled: z.ZodDefault<z.ZodBoolean>;
150
+ deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
151
+ allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
152
+ max_allowed_findings: z.ZodDefault<z.ZodNumber>;
153
+ }, z.core.$strip>>;
154
+ sast_scan: z.ZodDefault<z.ZodObject<{
155
+ enabled: z.ZodDefault<z.ZodBoolean>;
156
+ }, z.core.$strip>>;
157
+ sbom_generate: z.ZodDefault<z.ZodObject<{
158
+ enabled: z.ZodDefault<z.ZodBoolean>;
159
+ }, z.core.$strip>>;
160
+ build_check: z.ZodDefault<z.ZodObject<{
161
+ enabled: z.ZodDefault<z.ZodBoolean>;
162
+ }, z.core.$strip>>;
163
+ quality_budget: z.ZodObject<{
164
+ enabled: z.ZodDefault<z.ZodBoolean>;
165
+ max_complexity_delta: z.ZodDefault<z.ZodNumber>;
166
+ max_public_api_delta: z.ZodDefault<z.ZodNumber>;
167
+ max_duplication_ratio: z.ZodDefault<z.ZodNumber>;
168
+ min_test_to_code_ratio: z.ZodDefault<z.ZodNumber>;
169
+ enforce_on_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
170
+ exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
171
+ }, z.core.$strip>;
172
+ }, z.core.$strip>;
173
+ export type GateConfig = z.infer<typeof GateConfigSchema>;
123
174
  export declare const SummaryConfigSchema: z.ZodObject<{
124
175
  enabled: z.ZodDefault<z.ZodBoolean>;
125
176
  threshold_bytes: z.ZodDefault<z.ZodNumber>;
@@ -245,11 +296,6 @@ export declare const CheckpointConfigSchema: z.ZodObject<{
245
296
  auto_checkpoint_threshold: z.ZodDefault<z.ZodNumber>;
246
297
  }, z.core.$strip>;
247
298
  export type CheckpointConfig = z.infer<typeof CheckpointConfigSchema>;
248
- export declare const GitingestConfigSchema: z.ZodObject<{
249
- enabled: z.ZodDefault<z.ZodBoolean>;
250
- endpoint: z.ZodDefault<z.ZodString>;
251
- }, z.core.$strip>;
252
- export type GitingestConfig = z.infer<typeof GitingestConfigSchema>;
253
299
  export declare const AutomationModeSchema: z.ZodEnum<{
254
300
  auto: "auto";
255
301
  manual: "manual";
@@ -282,7 +328,7 @@ declare const AutomationConfigSchemaBase: z.ZodObject<{
282
328
  }, z.core.$strip>;
283
329
  export type AutomationConfig = z.infer<typeof AutomationConfigSchemaBase>;
284
330
  export declare const AutomationConfigSchema: z.ZodType<AutomationConfig>;
285
- export declare const pluginConfigShape: {
331
+ export declare const PluginConfigSchema: z.ZodObject<{
286
332
  agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
287
333
  model: z.ZodOptional<z.ZodString>;
288
334
  temperature: z.ZodOptional<z.ZodNumber>;
@@ -308,167 +354,34 @@ export declare const pluginConfigShape: {
308
354
  delegation_gate: z.ZodDefault<z.ZodBoolean>;
309
355
  delegation_max_chars: z.ZodDefault<z.ZodNumber>;
310
356
  }, z.core.$strip>>;
311
- context_budget: z.ZodOptional<z.ZodObject<{
312
- enabled: z.ZodDefault<z.ZodBoolean>;
313
- warn_threshold: z.ZodDefault<z.ZodNumber>;
314
- critical_threshold: z.ZodDefault<z.ZodNumber>;
315
- model_limits: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
316
- max_injection_tokens: z.ZodDefault<z.ZodNumber>;
317
- scoring: z.ZodOptional<z.ZodObject<{
357
+ gates: z.ZodOptional<z.ZodObject<{
358
+ syntax_check: z.ZodDefault<z.ZodObject<{
318
359
  enabled: z.ZodDefault<z.ZodBoolean>;
319
- max_candidates: z.ZodDefault<z.ZodNumber>;
320
- weights: z.ZodOptional<z.ZodObject<{
321
- phase: z.ZodDefault<z.ZodNumber>;
322
- current_task: z.ZodDefault<z.ZodNumber>;
323
- blocked_task: z.ZodDefault<z.ZodNumber>;
324
- recent_failure: z.ZodDefault<z.ZodNumber>;
325
- recent_success: z.ZodDefault<z.ZodNumber>;
326
- evidence_presence: z.ZodDefault<z.ZodNumber>;
327
- decision_recency: z.ZodDefault<z.ZodNumber>;
328
- dependency_proximity: z.ZodDefault<z.ZodNumber>;
329
- }, z.core.$strip>>;
330
- decision_decay: z.ZodOptional<z.ZodObject<{
331
- mode: z.ZodDefault<z.ZodEnum<{
332
- linear: "linear";
333
- exponential: "exponential";
334
- }>>;
335
- half_life_hours: z.ZodDefault<z.ZodNumber>;
336
- }, z.core.$strip>>;
337
- token_ratios: z.ZodOptional<z.ZodObject<{
338
- prose: z.ZodDefault<z.ZodNumber>;
339
- code: z.ZodDefault<z.ZodNumber>;
340
- markdown: z.ZodDefault<z.ZodNumber>;
341
- json: z.ZodDefault<z.ZodNumber>;
342
- }, z.core.$strip>>;
343
360
  }, z.core.$strip>>;
344
- }, z.core.$strip>>;
345
- guardrails: z.ZodOptional<z.ZodObject<{
346
- enabled: z.ZodDefault<z.ZodBoolean>;
347
- max_tool_calls: z.ZodDefault<z.ZodNumber>;
348
- max_duration_minutes: z.ZodDefault<z.ZodNumber>;
349
- max_repetitions: z.ZodDefault<z.ZodNumber>;
350
- max_consecutive_errors: z.ZodDefault<z.ZodNumber>;
351
- warning_threshold: z.ZodDefault<z.ZodNumber>;
352
- idle_timeout_minutes: z.ZodDefault<z.ZodNumber>;
353
- profiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
354
- max_tool_calls: z.ZodOptional<z.ZodNumber>;
355
- max_duration_minutes: z.ZodOptional<z.ZodNumber>;
356
- max_repetitions: z.ZodOptional<z.ZodNumber>;
357
- max_consecutive_errors: z.ZodOptional<z.ZodNumber>;
358
- warning_threshold: z.ZodOptional<z.ZodNumber>;
359
- idle_timeout_minutes: z.ZodOptional<z.ZodNumber>;
360
- }, z.core.$strip>>>;
361
- }, z.core.$strip>>;
362
- evidence: z.ZodOptional<z.ZodObject<{
363
- enabled: z.ZodDefault<z.ZodBoolean>;
364
- max_age_days: z.ZodDefault<z.ZodNumber>;
365
- max_bundles: z.ZodDefault<z.ZodNumber>;
366
- auto_archive: z.ZodDefault<z.ZodBoolean>;
367
- }, z.core.$strip>>;
368
- summaries: z.ZodOptional<z.ZodObject<{
369
- enabled: z.ZodDefault<z.ZodBoolean>;
370
- threshold_bytes: z.ZodDefault<z.ZodNumber>;
371
- max_summary_chars: z.ZodDefault<z.ZodNumber>;
372
- max_stored_bytes: z.ZodDefault<z.ZodNumber>;
373
- retention_days: z.ZodDefault<z.ZodNumber>;
374
- }, z.core.$strip>>;
375
- review_passes: z.ZodOptional<z.ZodObject<{
376
- always_security_review: z.ZodDefault<z.ZodBoolean>;
377
- security_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
378
- }, z.core.$strip>>;
379
- integration_analysis: z.ZodOptional<z.ZodObject<{
380
- enabled: z.ZodDefault<z.ZodBoolean>;
381
- }, z.core.$strip>>;
382
- docs: z.ZodOptional<z.ZodObject<{
383
- enabled: z.ZodDefault<z.ZodBoolean>;
384
- doc_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
385
- }, z.core.$strip>>;
386
- gitingest: z.ZodOptional<z.ZodObject<{
387
- enabled: z.ZodDefault<z.ZodBoolean>;
388
- endpoint: z.ZodDefault<z.ZodString>;
389
- }, z.core.$strip>>;
390
- ui_review: z.ZodOptional<z.ZodObject<{
391
- enabled: z.ZodDefault<z.ZodBoolean>;
392
- trigger_paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
393
- trigger_keywords: z.ZodDefault<z.ZodArray<z.ZodString>>;
394
- }, z.core.$strip>>;
395
- compaction_advisory: z.ZodOptional<z.ZodObject<{
396
- enabled: z.ZodDefault<z.ZodBoolean>;
397
- thresholds: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
398
- message: z.ZodDefault<z.ZodString>;
399
- }, z.core.$strip>>;
400
- lint: z.ZodOptional<z.ZodObject<{
401
- enabled: z.ZodDefault<z.ZodBoolean>;
402
- mode: z.ZodDefault<z.ZodEnum<{
403
- check: "check";
404
- fix: "fix";
405
- }>>;
406
- linter: z.ZodDefault<z.ZodEnum<{
407
- biome: "biome";
408
- eslint: "eslint";
409
- auto: "auto";
410
- }>>;
411
- patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
412
- exclude: z.ZodDefault<z.ZodArray<z.ZodString>>;
413
- }, z.core.$strip>>;
414
- secretscan: z.ZodOptional<z.ZodObject<{
415
- enabled: z.ZodDefault<z.ZodBoolean>;
416
- patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
417
- exclude: z.ZodDefault<z.ZodArray<z.ZodString>>;
418
- extensions: z.ZodDefault<z.ZodArray<z.ZodString>>;
419
- }, z.core.$strip>>;
420
- checkpoint: z.ZodOptional<z.ZodObject<{
421
- enabled: z.ZodDefault<z.ZodBoolean>;
422
- auto_checkpoint_threshold: z.ZodDefault<z.ZodNumber>;
423
- }, z.core.$strip>>;
424
- automation: z.ZodOptional<z.ZodType<{
425
- mode: "auto" | "manual" | "hybrid";
426
- capabilities: {
427
- plan_sync: boolean;
428
- phase_preflight: boolean;
429
- config_doctor_on_startup: boolean;
430
- config_doctor_autofix: boolean;
431
- evidence_auto_summaries: boolean;
432
- decision_drift_detection: boolean;
433
- };
434
- }, unknown, z.core.$ZodTypeInternals<{
435
- mode: "auto" | "manual" | "hybrid";
436
- capabilities: {
437
- plan_sync: boolean;
438
- phase_preflight: boolean;
439
- config_doctor_on_startup: boolean;
440
- config_doctor_autofix: boolean;
441
- evidence_auto_summaries: boolean;
442
- decision_drift_detection: boolean;
443
- };
444
- }, unknown>>>;
445
- };
446
- export declare const PLUGIN_CONFIG_ALLOWED_KEYS: Set<string>;
447
- export declare const PluginConfigSchema: z.ZodObject<{
448
- agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
449
- model: z.ZodOptional<z.ZodString>;
450
- temperature: z.ZodOptional<z.ZodNumber>;
451
- disabled: z.ZodOptional<z.ZodBoolean>;
452
- }, z.core.$strip>>>;
453
- swarms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
454
- name: z.ZodOptional<z.ZodString>;
455
- agents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
456
- model: z.ZodOptional<z.ZodString>;
457
- temperature: z.ZodOptional<z.ZodNumber>;
458
- disabled: z.ZodOptional<z.ZodBoolean>;
459
- }, z.core.$strip>>>;
460
- }, z.core.$strip>>>;
461
- max_iterations: z.ZodDefault<z.ZodNumber>;
462
- qa_retry_limit: z.ZodDefault<z.ZodNumber>;
463
- inject_phase_reminders: z.ZodDefault<z.ZodBoolean>;
464
- hooks: z.ZodOptional<z.ZodObject<{
465
- system_enhancer: z.ZodDefault<z.ZodBoolean>;
466
- compaction: z.ZodDefault<z.ZodBoolean>;
467
- agent_activity: z.ZodDefault<z.ZodBoolean>;
468
- delegation_tracker: z.ZodDefault<z.ZodBoolean>;
469
- agent_awareness_max_chars: z.ZodDefault<z.ZodNumber>;
470
- delegation_gate: z.ZodDefault<z.ZodBoolean>;
471
- delegation_max_chars: z.ZodDefault<z.ZodNumber>;
361
+ placeholder_scan: z.ZodDefault<z.ZodObject<{
362
+ enabled: z.ZodDefault<z.ZodBoolean>;
363
+ deny_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
364
+ allow_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
365
+ max_allowed_findings: z.ZodDefault<z.ZodNumber>;
366
+ }, z.core.$strip>>;
367
+ sast_scan: z.ZodDefault<z.ZodObject<{
368
+ enabled: z.ZodDefault<z.ZodBoolean>;
369
+ }, z.core.$strip>>;
370
+ sbom_generate: z.ZodDefault<z.ZodObject<{
371
+ enabled: z.ZodDefault<z.ZodBoolean>;
372
+ }, z.core.$strip>>;
373
+ build_check: z.ZodDefault<z.ZodObject<{
374
+ enabled: z.ZodDefault<z.ZodBoolean>;
375
+ }, z.core.$strip>>;
376
+ quality_budget: z.ZodObject<{
377
+ enabled: z.ZodDefault<z.ZodBoolean>;
378
+ max_complexity_delta: z.ZodDefault<z.ZodNumber>;
379
+ max_public_api_delta: z.ZodDefault<z.ZodNumber>;
380
+ max_duplication_ratio: z.ZodDefault<z.ZodNumber>;
381
+ min_test_to_code_ratio: z.ZodDefault<z.ZodNumber>;
382
+ enforce_on_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
383
+ exclude_globs: z.ZodDefault<z.ZodArray<z.ZodString>>;
384
+ }, z.core.$strip>;
472
385
  }, z.core.$strip>>;
473
386
  context_budget: z.ZodOptional<z.ZodObject<{
474
387
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -545,10 +458,6 @@ export declare const PluginConfigSchema: z.ZodObject<{
545
458
  enabled: z.ZodDefault<z.ZodBoolean>;
546
459
  doc_patterns: z.ZodDefault<z.ZodArray<z.ZodString>>;
547
460
  }, z.core.$strip>>;
548
- gitingest: z.ZodOptional<z.ZodObject<{
549
- enabled: z.ZodDefault<z.ZodBoolean>;
550
- endpoint: z.ZodDefault<z.ZodString>;
551
- }, z.core.$strip>>;
552
461
  ui_review: z.ZodOptional<z.ZodObject<{
553
462
  enabled: z.ZodDefault<z.ZodBoolean>;
554
463
  trigger_paths: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -1,4 +1,22 @@
1
- import { type Evidence, type EvidenceBundle } from '../config/evidence-schema';
1
+ import { type BuildEvidence, type Evidence, type EvidenceBundle, type PlaceholderEvidence, type QualityBudgetEvidence, type SastEvidence, type SbomEvidence, type SyntaxEvidence } from '../config/evidence-schema';
2
+ /**
3
+ * All valid evidence types (12 total)
4
+ */
5
+ export declare const VALID_EVIDENCE_TYPES: readonly ["review", "test", "diff", "approval", "note", "retrospective", "syntax", "placeholder", "sast", "sbom", "build", "quality_budget"];
6
+ /**
7
+ * Check if a string is a valid evidence type.
8
+ * Returns true if the type is recognized, false otherwise.
9
+ */
10
+ export declare function isValidEvidenceType(type: string): type is (typeof VALID_EVIDENCE_TYPES)[number];
11
+ /**
12
+ * Type guards for new evidence types
13
+ */
14
+ export declare function isSyntaxEvidence(evidence: Evidence): evidence is SyntaxEvidence;
15
+ export declare function isPlaceholderEvidence(evidence: Evidence): evidence is PlaceholderEvidence;
16
+ export declare function isSastEvidence(evidence: Evidence): evidence is SastEvidence;
17
+ export declare function isSbomEvidence(evidence: Evidence): evidence is SbomEvidence;
18
+ export declare function isBuildEvidence(evidence: Evidence): evidence is BuildEvidence;
19
+ export declare function isQualityBudgetEvidence(evidence: Evidence): evidence is QualityBudgetEvidence;
2
20
  /**
3
21
  * Validate and sanitize task ID.
4
22
  * Must match regex ^[\w-]+(\.[\w-]+)*$
@@ -1,4 +1,14 @@
1
1
  import type { Plugin } from '@opencode-ai/plugin';
2
+ /**
3
+ * OpenCode Swarm Plugin
4
+ *
5
+ * Architect-centric agentic swarm for code generation.
6
+ * Hub-and-spoke architecture with:
7
+ * - Architect as central orchestrator
8
+ * - Dynamic SME consultation (serial)
9
+ * - Code generation with QA review
10
+ * - Iterative refinement with triage
11
+ */
2
12
  declare const OpenCodeSwarm: Plugin;
3
13
  export default OpenCodeSwarm;
4
14
  export type { AgentDefinition } from './agents';