opencode-swarm 7.115.0 → 7.116.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 (127) hide show
  1. package/README.md +3 -1
  2. package/dist/cli/{curator-hpc4tsjv.js → curator-7s5yw6hw.js} +15 -14
  3. package/dist/cli/{curator-llm-factory-6n9sgaj8.js → curator-llm-factory-x96dr0zf.js} +15 -14
  4. package/dist/cli/{dispatch-mczsxy5s.js → dispatch-07jgc3hn.js} +1 -1
  5. package/dist/cli/{evidence-summary-service-fehwj116.js → evidence-summary-service-ef6kgtev.js} +5 -5
  6. package/dist/cli/{gate-evidence-vkpqt300.js → gate-evidence-thqt0beq.js} +4 -4
  7. package/dist/cli/{guardrail-explain-hecpd738.js → guardrail-explain-kwqfkwch.js} +16 -15
  8. package/dist/cli/{hive-promoter-0kfb4vjk.js → hive-promoter-rkkx40qv.js} +15 -14
  9. package/dist/cli/{index-2etc05tv.js → index-3b8n3dbd.js} +26 -18
  10. package/dist/cli/{index-8f2270hc.js → index-3yh67t1h.js} +3 -3
  11. package/dist/cli/{index-4sckv7y6.js → index-42cx6g2h.js} +9 -4
  12. package/dist/cli/index-4905hd2m.js +19 -0
  13. package/dist/cli/{index-4h2ea8h5.js → index-81vzywh3.js} +2 -2
  14. package/dist/cli/{index-6f6y2rbp.js → index-8bvh0qfa.js} +3 -3
  15. package/dist/cli/{index-80jkseqw.js → index-a6f8b0vn.js} +1 -1
  16. package/dist/cli/{index-0p660a87.js → index-bbsaxnj5.js} +1 -1
  17. package/dist/cli/{index-yrrqs4b0.js → index-cnrhj56z.js} +1160 -47
  18. package/dist/cli/{index-n18yy0z1.js → index-jyetmzcn.js} +3 -3
  19. package/dist/cli/{index-rk6qhyng.js → index-k5ey429j.js} +4 -4
  20. package/dist/cli/{index-m766gvdt.js → index-me46ffm2.js} +6804 -1940
  21. package/dist/cli/{index-ga4ta3cr.js → index-nprawcc0.js} +7 -1
  22. package/dist/cli/{index-pa6t33pt.js → index-q2rrv0cy.js} +11 -0
  23. package/dist/cli/{index-g40r5d08.js → index-qgeeyy75.js} +1 -1
  24. package/dist/cli/{index-x12hvfpf.js → index-s385axt1.js} +3 -3
  25. package/dist/cli/{index-m0rce3x6.js → index-tvgvb5pa.js} +1 -1
  26. package/dist/cli/index.js +15 -14
  27. package/dist/cli/{knowledge-escalator-5gwp1ar8.js → knowledge-escalator-0bq62d34.js} +7 -7
  28. package/dist/cli/{knowledge-events-m304swh6.js → knowledge-events-cwwky393.js} +5 -5
  29. package/dist/cli/{knowledge-store-9babt8rd.js → knowledge-store-q8x4h82m.js} +5 -5
  30. package/dist/cli/{knowledge-validator-t9sym59g.js → knowledge-validator-zr0djm02.js} +6 -6
  31. package/dist/cli/{pending-delegations-ddbkbgxy.js → pending-delegations-rr9x47rd.js} +2 -2
  32. package/dist/cli/{pr-subscriptions-vwv7zm2p.js → pr-subscriptions-cny2jz2d.js} +3 -3
  33. package/dist/cli/runtime-ykafcwc6.js +3397 -0
  34. package/dist/cli/{skill-generator-tav44xpm.js → skill-generator-mz267btk.js} +8 -8
  35. package/dist/cli/{telemetry-jny76r83.js → telemetry-qh78ymq4.js} +1 -1
  36. package/dist/commands/archive.d.ts +4 -4
  37. package/dist/commands/command-dispatch.d.ts +2 -0
  38. package/dist/commands/gate-audit.d.ts +28 -0
  39. package/dist/commands/gate-stats.d.ts +1 -0
  40. package/dist/commands/index.d.ts +4 -0
  41. package/dist/commands/registry.d.ts +19 -2
  42. package/dist/config/plan-schema.d.ts +7 -7
  43. package/dist/evaluation/contracts.d.ts +545 -0
  44. package/dist/evaluation/disposable-worktree.d.ts +38 -0
  45. package/dist/evaluation/fixtures.d.ts +8 -0
  46. package/dist/evaluation/gate-audit.d.ts +32 -0
  47. package/dist/evaluation/gate-ground-truth.d.ts +43 -0
  48. package/dist/evaluation/gate-stats.d.ts +47 -0
  49. package/dist/evaluation/hashing.d.ts +34 -0
  50. package/dist/evaluation/index.d.ts +17 -0
  51. package/dist/evaluation/model-dispatcher.d.ts +30 -0
  52. package/dist/evaluation/public-api.d.ts +87 -0
  53. package/dist/evaluation/retention.d.ts +56 -0
  54. package/dist/evaluation/runner.d.ts +48 -0
  55. package/dist/evaluation/statistics.d.ts +9 -0
  56. package/dist/evaluation/store.d.ts +26 -0
  57. package/dist/evidence/manager.d.ts +18 -0
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.js +461 -447
  60. package/dist/mutation/engine.d.ts +29 -5
  61. package/dist/telemetry.d.ts +11 -1
  62. package/dist/tools/plugin-registration.d.ts +2 -1
  63. package/dist/tools/sast-scan.d.ts +9 -0
  64. package/dist/tools/swarm-command.d.ts +2 -1
  65. package/dist/tools/update-task-status.d.ts +16 -4
  66. package/dist/utils/external-tool-runner.d.ts +2 -1
  67. package/evaluation-fixtures/tier1/boundary-error/environment/baseline.ts +3 -0
  68. package/evaluation-fixtures/tier1/boundary-error/environment/defect.test.ts +3 -0
  69. package/evaluation-fixtures/tier1/boundary-error/environment/defect.ts +3 -0
  70. package/evaluation-fixtures/tier1/boundary-error/instruction.md +1 -0
  71. package/evaluation-fixtures/tier1/boundary-error/manifest.json +1 -0
  72. package/evaluation-fixtures/tier1/branch-swap/environment/baseline.ts +3 -0
  73. package/evaluation-fixtures/tier1/branch-swap/environment/defect.test.ts +3 -0
  74. package/evaluation-fixtures/tier1/branch-swap/environment/defect.ts +3 -0
  75. package/evaluation-fixtures/tier1/branch-swap/instruction.md +1 -0
  76. package/evaluation-fixtures/tier1/branch-swap/manifest.json +1 -0
  77. package/evaluation-fixtures/tier1/curated-off-by-one/environment/baseline.ts +3 -0
  78. package/evaluation-fixtures/tier1/curated-off-by-one/environment/defect.test.ts +3 -0
  79. package/evaluation-fixtures/tier1/curated-off-by-one/environment/defect.ts +3 -0
  80. package/evaluation-fixtures/tier1/curated-off-by-one/instruction.md +1 -0
  81. package/evaluation-fixtures/tier1/curated-off-by-one/manifest.json +1 -0
  82. package/evaluation-fixtures/tier1/guard-removal/environment/baseline.ts +3 -0
  83. package/evaluation-fixtures/tier1/guard-removal/environment/defect.test.ts +3 -0
  84. package/evaluation-fixtures/tier1/guard-removal/environment/defect.ts +3 -0
  85. package/evaluation-fixtures/tier1/guard-removal/instruction.md +1 -0
  86. package/evaluation-fixtures/tier1/guard-removal/manifest.json +1 -0
  87. package/evaluation-fixtures/tier1/injection-prone-string/environment/baseline.ts +3 -0
  88. package/evaluation-fixtures/tier1/injection-prone-string/environment/defect.test.ts +3 -0
  89. package/evaluation-fixtures/tier1/injection-prone-string/environment/defect.ts +3 -0
  90. package/evaluation-fixtures/tier1/injection-prone-string/instruction.md +1 -0
  91. package/evaluation-fixtures/tier1/injection-prone-string/manifest.json +1 -0
  92. package/evaluation-fixtures/tier1/missing-auth-check/environment/baseline.ts +4 -0
  93. package/evaluation-fixtures/tier1/missing-auth-check/environment/defect.test.ts +3 -0
  94. package/evaluation-fixtures/tier1/missing-auth-check/environment/defect.ts +3 -0
  95. package/evaluation-fixtures/tier1/missing-auth-check/instruction.md +1 -0
  96. package/evaluation-fixtures/tier1/missing-auth-check/manifest.json +1 -0
  97. package/evaluation-fixtures/tier1/missing-await/environment/baseline.ts +7 -0
  98. package/evaluation-fixtures/tier1/missing-await/environment/defect.test.ts +3 -0
  99. package/evaluation-fixtures/tier1/missing-await/environment/defect.ts +4 -0
  100. package/evaluation-fixtures/tier1/missing-await/instruction.md +1 -0
  101. package/evaluation-fixtures/tier1/missing-await/manifest.json +1 -0
  102. package/evaluation-fixtures/tier1/mutation-off-by-one/environment/baseline.ts +3 -0
  103. package/evaluation-fixtures/tier1/mutation-off-by-one/environment/defect.test.ts +3 -0
  104. package/evaluation-fixtures/tier1/mutation-off-by-one/environment/defect.ts +3 -0
  105. package/evaluation-fixtures/tier1/mutation-off-by-one/instruction.md +1 -0
  106. package/evaluation-fixtures/tier1/mutation-off-by-one/manifest.json +1 -0
  107. package/evaluation-fixtures/tier1/null-substitution/environment/baseline.ts +3 -0
  108. package/evaluation-fixtures/tier1/null-substitution/environment/defect.test.ts +3 -0
  109. package/evaluation-fixtures/tier1/null-substitution/environment/defect.ts +3 -0
  110. package/evaluation-fixtures/tier1/null-substitution/instruction.md +1 -0
  111. package/evaluation-fixtures/tier1/null-substitution/manifest.json +1 -0
  112. package/evaluation-fixtures/tier1/operator-swap/environment/baseline.ts +3 -0
  113. package/evaluation-fixtures/tier1/operator-swap/environment/defect.test.ts +3 -0
  114. package/evaluation-fixtures/tier1/operator-swap/environment/defect.ts +3 -0
  115. package/evaluation-fixtures/tier1/operator-swap/instruction.md +1 -0
  116. package/evaluation-fixtures/tier1/operator-swap/manifest.json +1 -0
  117. package/evaluation-fixtures/tier1/side-effect-deletion/environment/baseline.ts +4 -0
  118. package/evaluation-fixtures/tier1/side-effect-deletion/environment/defect.test.ts +3 -0
  119. package/evaluation-fixtures/tier1/side-effect-deletion/environment/defect.ts +3 -0
  120. package/evaluation-fixtures/tier1/side-effect-deletion/instruction.md +1 -0
  121. package/evaluation-fixtures/tier1/side-effect-deletion/manifest.json +1 -0
  122. package/evaluation-fixtures/tier1/swallowed-error/environment/baseline.ts +3 -0
  123. package/evaluation-fixtures/tier1/swallowed-error/environment/defect.test.ts +3 -0
  124. package/evaluation-fixtures/tier1/swallowed-error/environment/defect.ts +3 -0
  125. package/evaluation-fixtures/tier1/swallowed-error/instruction.md +1 -0
  126. package/evaluation-fixtures/tier1/swallowed-error/manifest.json +1 -0
  127. package/package.json +2 -1
@@ -33,17 +33,17 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-x12hvfpf.js";
37
- import"./index-n18yy0z1.js";
38
- import"./index-8f2270hc.js";
39
- import"./index-rk6qhyng.js";
36
+ } from "./index-s385axt1.js";
37
+ import"./index-jyetmzcn.js";
38
+ import"./index-3yh67t1h.js";
39
+ import"./index-k5ey429j.js";
40
40
  import"./index-bfwt3abw.js";
41
- import"./index-g40r5d08.js";
41
+ import"./index-qgeeyy75.js";
42
42
  import"./index-jtqkh8jf.js";
43
43
  import"./index-zgwm4ryv.js";
44
- import"./index-0p660a87.js";
45
- import"./index-4sckv7y6.js";
46
- import"./index-pa6t33pt.js";
44
+ import"./index-bbsaxnj5.js";
45
+ import"./index-42cx6g2h.js";
46
+ import"./index-q2rrv0cy.js";
47
47
  import"./index-vvk2g744.js";
48
48
  import"./index-qe3v54nb.js";
49
49
  import"./index-a76rekgs.js";
@@ -8,7 +8,7 @@ import {
8
8
  resetTelemetryForTesting,
9
9
  rotateTelemetryIfNeeded,
10
10
  telemetry
11
- } from "./index-pa6t33pt.js";
11
+ } from "./index-q2rrv0cy.js";
12
12
  import"./index-a76rekgs.js";
13
13
  export {
14
14
  telemetry,
@@ -1,5 +1,5 @@
1
- /**
2
- * Handles the /swarm archive command.
3
- * Archives old evidence bundles based on retention policy.
4
- */
1
+ export declare const _internals: {
2
+ now: () => Date;
3
+ };
4
+ /** Handles `/swarm archive` with a truthful preview/execution report. */
5
5
  export declare function handleArchiveCommand(directory: string, args: string[]): Promise<string>;
@@ -1,4 +1,5 @@
1
1
  import type { AgentDefinition } from '../agents/index.js';
2
+ import type { EvaluationModelDispatcher } from '../evaluation/model-dispatcher.js';
2
3
  import { type CommandEntry, resolveCommand } from './registry.js';
3
4
  export type ResolvedSwarmCommand = NonNullable<ReturnType<typeof resolveCommand>>;
4
5
  export type SwarmCommandPolicyResult = {
@@ -27,5 +28,6 @@ export declare function executeSwarmCommand(args: {
27
28
  packageRoot?: string;
28
29
  buildHelpText?: () => string;
29
30
  policy?: SwarmCommandPolicy;
31
+ evaluationModelDispatcher?: EvaluationModelDispatcher;
30
32
  }): Promise<SwarmCommandExecutionResult>;
31
33
  export type { CommandEntry };
@@ -0,0 +1,28 @@
1
+ import type { GateName } from '../evaluation/contracts.js';
2
+ import type { EvaluationModelDispatcher } from '../evaluation/model-dispatcher.js';
3
+ type ParsedGateAuditArgs = {
4
+ runId?: string;
5
+ models: string[];
6
+ preferredSwarm?: string;
7
+ gates: GateName[];
8
+ tasks: string[];
9
+ repetitions: number;
10
+ seed: string;
11
+ maxConcurrency: number;
12
+ maxRetries: number;
13
+ maxTimeMs: number;
14
+ maxCostUsd?: number;
15
+ json: boolean;
16
+ };
17
+ declare function resolvePackageRoot(modulePath: string): string;
18
+ declare function parseArgs(args: string[]): ParsedGateAuditArgs;
19
+ export declare function handleGateAuditCommand(directory: string, args: string[], runtime?: {
20
+ packageRoot?: string;
21
+ dispatcher?: EvaluationModelDispatcher;
22
+ parentSessionId?: string;
23
+ }): Promise<string>;
24
+ export declare const _internals: {
25
+ parseArgs: typeof parseArgs;
26
+ resolvePackageRoot: typeof resolvePackageRoot;
27
+ };
28
+ export {};
@@ -0,0 +1 @@
1
+ export declare function handleGateStatsCommand(directory: string, args: string[]): Promise<string>;
@@ -1,4 +1,5 @@
1
1
  import type { AgentDefinition } from '../agents/index.js';
2
+ import type { EvaluationModelDispatcher } from '../evaluation/model-dispatcher.js';
2
3
  export { handleAcknowledgeSpecDriftCommand } from './acknowledge-spec-drift';
3
4
  export { handleAgentsCommand } from './agents';
4
5
  export { handleAnalyzeCommand } from './analyze';
@@ -28,6 +29,8 @@ export { handleDoctorCommand } from './doctor';
28
29
  export { handleEvidenceCommand, handleEvidenceSummaryCommand, } from './evidence';
29
30
  export { handleExportCommand } from './export';
30
31
  export { handleFullAutoCommand } from './full-auto';
32
+ export { handleGateAuditCommand } from './gate-audit';
33
+ export { handleGateStatsCommand } from './gate-stats';
31
34
  export { handleGuardrailExplain } from './guardrail-explain';
32
35
  export { handleGuardrailLog } from './guardrail-log';
33
36
  export { handleHandoffCommand } from './handoff';
@@ -67,6 +70,7 @@ export declare function createSwarmCommandHandler(directory: string, agents: Rec
67
70
  registeredAgents?: Record<string, {
68
71
  tools?: Record<string, boolean>;
69
72
  }>;
73
+ evaluationModelDispatcher?: EvaluationModelDispatcher;
70
74
  }): (input: {
71
75
  command: string;
72
76
  sessionID: string;
@@ -1,4 +1,5 @@
1
1
  import type { AgentDefinition } from '../agents/index.js';
2
+ import type { EvaluationModelDispatcher } from '../evaluation/model-dispatcher.js';
2
3
  declare function levenshteinDistance(a: string, b: string): number;
3
4
  declare function findSimilarCommands(query: string): string[];
4
5
  declare function emitValidationWarnings(prefix: string, warnings: readonly string[]): void;
@@ -18,6 +19,7 @@ export type CommandContext = {
18
19
  * with existing callers.
19
20
  */
20
21
  source?: 'cli' | 'chat';
22
+ evaluationModelDispatcher?: EvaluationModelDispatcher;
21
23
  };
22
24
  export type CommandResult = Promise<string>;
23
25
  export type CommandCategory = 'core' | 'agent' | 'config' | 'diagnostics' | 'utility';
@@ -214,8 +216,23 @@ export declare const COMMAND_REGISTRY: {
214
216
  };
215
217
  readonly benchmark: {
216
218
  readonly handler: (ctx: CommandContext) => Promise<string>;
217
- readonly description: "Show performance metrics [--cumulative] [--ci-gate] [--max-cost-usd <n>]";
218
- readonly args: "--cumulative, --ci-gate, --max-cost-usd <n>";
219
+ readonly description: "Show performance metrics [--cumulative] [--ci-gate] [--max-cost-usd <n>] [--gate-audit-run <id>]";
220
+ readonly args: "--cumulative, --ci-gate, --max-cost-usd <n>, --gate-audit-run <id>";
221
+ readonly category: "diagnostics";
222
+ readonly toolPolicy: "agent";
223
+ };
224
+ readonly 'gate-audit': {
225
+ readonly handler: (ctx: CommandContext) => Promise<string>;
226
+ readonly description: "Run the bounded Tier-1 reviewer/test/SAST/mutation/quality gate matrix";
227
+ readonly args: "--model <id>, --swarm <id>, --gates <csv>, --tasks <csv>, --runs <n>, --max-concurrency <n>, --max-retries <n>, --max-time-ms <n>, --max-cost-usd <n>, --seed <value>, --run-id <id>, --json";
228
+ readonly details: "Runs immutable curated defects only in disposable copies, records unavailable data honestly, and writes versioned results below .swarm/evidence/gate-audit/. Container tasks are unsupported until a safe array-form runner exists.";
229
+ readonly category: "diagnostics";
230
+ readonly toolPolicy: "agent";
231
+ };
232
+ readonly 'gate-stats': {
233
+ readonly handler: (ctx: CommandContext) => Promise<string>;
234
+ readonly description: "Show offline per-model gate catch, false-reject, retry, cost, and reviewer fallback statistics";
235
+ readonly args: "--json, --min-samples <n>";
219
236
  readonly category: "diagnostics";
220
237
  readonly toolPolicy: "agent";
221
238
  };
@@ -8,10 +8,10 @@ export declare const ExecutionProfileSchema: z.ZodObject<{
8
8
  }, z.core.$strip>;
9
9
  export type ExecutionProfile = z.infer<typeof ExecutionProfileSchema>;
10
10
  export declare const TaskStatusSchema: z.ZodEnum<{
11
+ blocked: "blocked";
11
12
  pending: "pending";
12
13
  in_progress: "in_progress";
13
14
  completed: "completed";
14
- blocked: "blocked";
15
15
  closed: "closed";
16
16
  }>;
17
17
  export type TaskStatus = z.infer<typeof TaskStatusSchema>;
@@ -22,10 +22,10 @@ export declare const TaskSizeSchema: z.ZodEnum<{
22
22
  }>;
23
23
  export type TaskSize = z.infer<typeof TaskSizeSchema>;
24
24
  export declare const PhaseStatusSchema: z.ZodEnum<{
25
+ blocked: "blocked";
25
26
  pending: "pending";
26
27
  in_progress: "in_progress";
27
28
  completed: "completed";
28
- blocked: "blocked";
29
29
  closed: "closed";
30
30
  complete: "complete";
31
31
  }>;
@@ -52,10 +52,10 @@ export declare const TaskSchema: z.ZodObject<{
52
52
  id: z.ZodString;
53
53
  phase: z.ZodNumber;
54
54
  status: z.ZodDefault<z.ZodEnum<{
55
+ blocked: "blocked";
55
56
  pending: "pending";
56
57
  in_progress: "in_progress";
57
58
  completed: "completed";
58
- blocked: "blocked";
59
59
  closed: "closed";
60
60
  }>>;
61
61
  size: z.ZodDefault<z.ZodEnum<{
@@ -75,10 +75,10 @@ export declare const PhaseSchema: z.ZodObject<{
75
75
  id: z.ZodNumber;
76
76
  name: z.ZodString;
77
77
  status: z.ZodDefault<z.ZodEnum<{
78
+ blocked: "blocked";
78
79
  pending: "pending";
79
80
  in_progress: "in_progress";
80
81
  completed: "completed";
81
- blocked: "blocked";
82
82
  closed: "closed";
83
83
  complete: "complete";
84
84
  }>>;
@@ -86,10 +86,10 @@ export declare const PhaseSchema: z.ZodObject<{
86
86
  id: z.ZodString;
87
87
  phase: z.ZodNumber;
88
88
  status: z.ZodDefault<z.ZodEnum<{
89
+ blocked: "blocked";
89
90
  pending: "pending";
90
91
  in_progress: "in_progress";
91
92
  completed: "completed";
92
- blocked: "blocked";
93
93
  closed: "closed";
94
94
  }>>;
95
95
  size: z.ZodDefault<z.ZodEnum<{
@@ -120,10 +120,10 @@ export declare const PlanSchema: z.ZodObject<{
120
120
  id: z.ZodNumber;
121
121
  name: z.ZodString;
122
122
  status: z.ZodDefault<z.ZodEnum<{
123
+ blocked: "blocked";
123
124
  pending: "pending";
124
125
  in_progress: "in_progress";
125
126
  completed: "completed";
126
- blocked: "blocked";
127
127
  closed: "closed";
128
128
  complete: "complete";
129
129
  }>>;
@@ -131,10 +131,10 @@ export declare const PlanSchema: z.ZodObject<{
131
131
  id: z.ZodString;
132
132
  phase: z.ZodNumber;
133
133
  status: z.ZodDefault<z.ZodEnum<{
134
+ blocked: "blocked";
134
135
  pending: "pending";
135
136
  in_progress: "in_progress";
136
137
  completed: "completed";
137
- blocked: "blocked";
138
138
  closed: "closed";
139
139
  }>>;
140
140
  size: z.ZodDefault<z.ZodEnum<{