opencode-swarm 7.107.3 → 7.107.4

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 (61) hide show
  1. package/.opencode/skills/consult/SKILL.md +10 -0
  2. package/.opencode/skills/council/SKILL.md +10 -0
  3. package/.opencode/skills/engineering-conventions/SKILL.md +20 -0
  4. package/README.md +2 -2
  5. package/dist/agents/agent-output-schema.d.ts +1 -1
  6. package/dist/cli/{config-doctor-cntnpyvj.js → config-doctor-kdq3vae4.js} +3 -2
  7. package/dist/cli/{curator-llm-factory-x9tk7e6m.js → curator-llm-factory-abw56kg0.js} +16 -11
  8. package/dist/cli/{curator-1nr4qszq.js → curator-rb05fjjk.js} +16 -11
  9. package/dist/cli/{dispatch-e4ejrsz8.js → dispatch-anmxxhen.js} +56 -13
  10. package/dist/cli/{evidence-summary-service-9r28ds8t.js → evidence-summary-service-nwdfnbz1.js} +2 -2
  11. package/dist/cli/gate-evidence-ywys9vfs.js +1 -1
  12. package/dist/cli/{guardrail-explain-etdrhd4d.js → guardrail-explain-dayy7zw4.js} +17 -12
  13. package/dist/cli/{guardrail-log-2rns4g6d.js → guardrail-log-fjypsmek.js} +4 -3
  14. package/dist/cli/{hive-promoter-j4e6rfa6.js → hive-promoter-34bdmw1w.js} +16 -11
  15. package/dist/cli/{index-502f6np6.js → index-19vxtwa6.js} +21 -16
  16. package/dist/cli/{index-tgtmbf3r.js → index-4vsgp5a8.js} +1 -1
  17. package/dist/cli/index-bfwt3abw.js +14 -0
  18. package/dist/cli/{index-9wstcavp.js → index-bpgqbwmf.js} +115 -1019
  19. package/dist/cli/index-bq8kd9r9.js +199 -0
  20. package/dist/cli/index-dfdg4ws5.js +741 -0
  21. package/dist/cli/{index-w15984gg.js → index-f45hbd5x.js} +2 -2
  22. package/dist/cli/{index-cyzzdbvw.js → index-gyzxeza3.js} +354 -116
  23. package/dist/cli/index-kxm3bdjh.js +631 -0
  24. package/dist/cli/index-n1sptn1w.js +147 -0
  25. package/dist/cli/{index-2560cctg.js → index-pchpahdf.js} +11 -0
  26. package/dist/cli/{index-esg1554h.js → index-wvxhynxq.js} +1 -1
  27. package/dist/cli/{index-8w4d325g.js → index-xg18az81.js} +61 -22
  28. package/dist/cli/{index-f7nma02k.js → index-xmarctsf.js} +137 -175
  29. package/dist/cli/{index-m1xjr58n.js → index-zej8cy0j.js} +1 -1
  30. package/dist/cli/index.js +17 -12
  31. package/dist/cli/knowledge-escalator-3sgwrgy9.js +32 -0
  32. package/dist/cli/knowledge-events-kfc6xmkw.js +62 -0
  33. package/dist/cli/{knowledge-store-tsa8ezka.js → knowledge-store-kyacem71.js} +3 -1
  34. package/dist/cli/knowledge-validator-ez3ws8ef.js +57 -0
  35. package/dist/cli/{pr-subscriptions-0dpn4epk.js → pr-subscriptions-bpvazmsw.js} +2 -2
  36. package/dist/cli/{schema-vw2ffhe9.js → schema-x0ekqzvs.js} +2 -1
  37. package/dist/cli/{skill-generator-y6mmq8n5.js → skill-generator-x83re96d.js} +6 -2
  38. package/dist/commands/knowledge.d.ts +5 -1
  39. package/dist/commands/registry.d.ts +2 -2
  40. package/dist/config/evidence-schema.d.ts +9 -9
  41. package/dist/config/schema.d.ts +42 -12
  42. package/dist/hooks/knowledge-curator.d.ts +27 -0
  43. package/dist/hooks/knowledge-escalator.d.ts +16 -0
  44. package/dist/hooks/knowledge-events.d.ts +11 -0
  45. package/dist/hooks/knowledge-reader.d.ts +0 -17
  46. package/dist/hooks/knowledge-store.d.ts +16 -1
  47. package/dist/hooks/knowledge-types.d.ts +85 -0
  48. package/dist/hooks/knowledge-validator.d.ts +15 -0
  49. package/dist/hooks/skill-usage-log.d.ts +3 -0
  50. package/dist/index.js +307 -305
  51. package/dist/memory/consolidation.d.ts +1 -1
  52. package/dist/memory/schema.d.ts +4 -4
  53. package/dist/sast/rules/rust.d.ts +6 -0
  54. package/dist/tools/knowledge-archive.d.ts +6 -2
  55. package/dist/tools/lint.d.ts +2 -2
  56. package/dist/tools/secretscan.d.ts +16 -0
  57. package/dist/tools/test-runner.d.ts +1 -1
  58. package/package.json +1 -1
  59. package/dist/cli/{index-hkpw4wwa.js → index-4r5z8sgw.js} +3 -3
  60. package/dist/cli/{index-kzfkggjx.js → index-9b7a6agd.js} +3 -3
  61. package/dist/cli/{pending-delegations-ws51m1e1.js → pending-delegations-vfnpm8zt.js} +3 -3
@@ -55,6 +55,7 @@ declare const DistilledFactSchema: z.ZodObject<{
55
55
  text: z.ZodString;
56
56
  kind: z.ZodEnum<{
57
57
  evidence: "evidence";
58
+ todo: "todo";
58
59
  user_preference: "user_preference";
59
60
  project_fact: "project_fact";
60
61
  architecture_decision: "architecture_decision";
@@ -64,7 +65,6 @@ declare const DistilledFactSchema: z.ZodObject<{
64
65
  test_pattern: "test_pattern";
65
66
  failure_pattern: "failure_pattern";
66
67
  security_note: "security_note";
67
- todo: "todo";
68
68
  scratch: "scratch";
69
69
  }>;
70
70
  confidence: z.ZodNumber;
@@ -27,6 +27,7 @@ export declare const MemoryScopeRefSchema: z.ZodObject<{
27
27
  }, z.core.$strict>;
28
28
  export declare const MemoryKindSchema: z.ZodEnum<{
29
29
  evidence: "evidence";
30
+ todo: "todo";
30
31
  user_preference: "user_preference";
31
32
  project_fact: "project_fact";
32
33
  architecture_decision: "architecture_decision";
@@ -36,7 +37,6 @@ export declare const MemoryKindSchema: z.ZodEnum<{
36
37
  test_pattern: "test_pattern";
37
38
  failure_pattern: "failure_pattern";
38
39
  security_note: "security_note";
39
- todo: "todo";
40
40
  scratch: "scratch";
41
41
  }>;
42
42
  export declare const MemorySourceSchema: z.ZodObject<{
@@ -78,6 +78,7 @@ export declare const MemoryRecordSchema: z.ZodObject<{
78
78
  }, z.core.$strict>;
79
79
  kind: z.ZodEnum<{
80
80
  evidence: "evidence";
81
+ todo: "todo";
81
82
  user_preference: "user_preference";
82
83
  project_fact: "project_fact";
83
84
  architecture_decision: "architecture_decision";
@@ -87,7 +88,6 @@ export declare const MemoryRecordSchema: z.ZodObject<{
87
88
  test_pattern: "test_pattern";
88
89
  failure_pattern: "failure_pattern";
89
90
  security_note: "security_note";
90
- todo: "todo";
91
91
  scratch: "scratch";
92
92
  }>;
93
93
  text: z.ZodString;
@@ -157,6 +157,7 @@ export declare const MemoryProposalSchema: z.ZodObject<{
157
157
  }, z.core.$strict>;
158
158
  kind: z.ZodEnum<{
159
159
  evidence: "evidence";
160
+ todo: "todo";
160
161
  user_preference: "user_preference";
161
162
  project_fact: "project_fact";
162
163
  architecture_decision: "architecture_decision";
@@ -166,7 +167,6 @@ export declare const MemoryProposalSchema: z.ZodObject<{
166
167
  test_pattern: "test_pattern";
167
168
  failure_pattern: "failure_pattern";
168
169
  security_note: "security_note";
169
- todo: "todo";
170
170
  scratch: "scratch";
171
171
  }>;
172
172
  text: z.ZodString;
@@ -215,11 +215,11 @@ export declare const MemoryProposalSchema: z.ZodObject<{
215
215
  rationale: z.ZodString;
216
216
  evidenceRefs: z.ZodArray<z.ZodString>;
217
217
  status: z.ZodEnum<{
218
+ applied: "applied";
218
219
  pending: "pending";
219
220
  rejected: "rejected";
220
221
  approved: "approved";
221
222
  superseded: "superseded";
222
- applied: "applied";
223
223
  }>;
224
224
  reviewer: z.ZodOptional<z.ZodEnum<{
225
225
  user: "user";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Rust SAST Rules
3
+ * Detects common security vulnerabilities in Rust code
4
+ */
5
+ import type { SastRule } from './index';
6
+ export declare const rustRules: SastRule[];
@@ -7,8 +7,12 @@
7
7
  * and previous status.
8
8
  *
9
9
  * Modes:
10
- * - 'archive' (default): set status='archived' — TTL-exempt, hidden from recall.
11
- * - 'quarantine': set status='quarantined' suspected-bad, hidden from recall.
10
+ * - 'archive' (default): set status='archived' — hidden from recall, records
11
+ * `archived_from` so it can be unarchived (G6 #1716).
12
+ * - 'quarantine': route through `quarantineEntry` (G5 #1716) — moves
13
+ * the entry to `knowledge-quarantined.jsonl`, records
14
+ * `original_status`, restorable via `/swarm knowledge restore`.
15
+ * Swarm-only; hive+quarantine returns a clear error.
12
16
  * - 'purge': hard-delete the JSONL line. Requires allow_purge:true.
13
17
  *
14
18
  * Tiers:
@@ -3,7 +3,7 @@ export declare const MAX_OUTPUT_BYTES = 512000;
3
3
  export declare const MAX_COMMAND_LENGTH = 500;
4
4
  export declare const SUPPORTED_LINTERS: readonly ["biome", "eslint"];
5
5
  export type SupportedLinter = (typeof SUPPORTED_LINTERS)[number];
6
- export type AdditionalLinter = 'ruff' | 'clippy' | 'golangci-lint' | 'checkstyle' | 'ktlint' | 'dotnet-format' | 'cppcheck' | 'swiftlint' | 'dart-analyze' | 'rubocop';
6
+ export type AdditionalLinter = 'ruff' | 'clippy' | 'golangci-lint' | 'checkstyle' | 'ktlint' | 'dotnet-format' | 'cppcheck' | 'swiftlint' | 'dart-analyze' | 'rubocop' | 'phpstan' | 'pint' | 'php-cs-fixer' | 'phpcs';
7
7
  export interface LintSuccessResult {
8
8
  success: true;
9
9
  mode: 'fix' | 'check';
@@ -38,7 +38,7 @@ export declare function getAdditionalLinterCommand(linter: AdditionalLinter, mod
38
38
  * Detect the first available additional (non-JS/TS) linter for the current project.
39
39
  * Returns null when no additional linter is detected or its binary is unavailable.
40
40
  */
41
- export declare function detectAdditionalLinter(cwd: string): 'ruff' | 'clippy' | 'golangci-lint' | 'checkstyle' | 'ktlint' | 'dotnet-format' | 'cppcheck' | 'swiftlint' | 'dart-analyze' | 'rubocop' | null;
41
+ export declare function detectAdditionalLinter(cwd: string): 'ruff' | 'clippy' | 'golangci-lint' | 'checkstyle' | 'ktlint' | 'dotnet-format' | 'cppcheck' | 'swiftlint' | 'dart-analyze' | 'rubocop' | 'phpstan' | 'pint' | 'php-cs-fixer' | 'phpcs' | null;
42
42
  /** Compute the local biome binary path for a given project directory. */
43
43
  export declare function getBiomeBinPath(directory: string): string;
44
44
  /**
@@ -27,11 +27,25 @@ export interface SecretscanErrorResult {
27
27
  files_scanned: 0;
28
28
  skipped_files: 0;
29
29
  }
30
+ interface SecretPattern {
31
+ type: SecretType;
32
+ regex: RegExp;
33
+ confidence: Confidence;
34
+ severity: Severity;
35
+ redactTemplate: (match: string) => string;
36
+ }
37
+ declare const SECRET_PATTERNS: SecretPattern[];
30
38
  export declare const secretscan: ReturnType<typeof createSwarmTool>;
31
39
  /**
32
40
  * Run secretscan programmatically
33
41
  */
34
42
  export declare function runSecretscan(directory: string): Promise<SecretscanResult | SecretscanErrorResult>;
43
+ /**
44
+ * Run secretscan over an explicit, already-selected file set.
45
+ * Used by pre_check_batch so changed-file hard gates share the same detector
46
+ * registry and entropy logic as the standalone scanner.
47
+ */
48
+ export declare function runSecretscanOnFiles(files: string[], directory: string): Promise<SecretscanResult | SecretscanErrorResult>;
35
49
  /**
36
50
  * DI seam for testability. Contains all test-mocked exports.
37
51
  * Internal calls should use _internals.fn() instead of fn() directly.
@@ -39,5 +53,7 @@ export declare function runSecretscan(directory: string): Promise<SecretscanResu
39
53
  export declare const _internals: {
40
54
  secretscan: typeof secretscan;
41
55
  runSecretscan: typeof runSecretscan;
56
+ runSecretscanOnFiles: typeof runSecretscanOnFiles;
57
+ SECRET_PATTERNS: typeof SECRET_PATTERNS;
42
58
  };
43
59
  export {};
@@ -17,7 +17,7 @@ export declare const MAX_SAFE_SOURCE_FILES = 1;
17
17
  export declare function estimateFanOut(sourceFiles: string[], cwd: string): Promise<{
18
18
  estimatedCount: number;
19
19
  }>;
20
- export declare const SUPPORTED_FRAMEWORKS: readonly ["bun", "vitest", "jest", "mocha", "pytest", "cargo", "pester", "go-test", "maven", "gradle", "dotnet-test", "ctest", "swift-test", "dart-test", "rspec", "minitest"];
20
+ export declare const SUPPORTED_FRAMEWORKS: readonly ["bun", "vitest", "jest", "mocha", "pytest", "cargo", "pester", "go-test", "maven", "gradle", "dotnet-test", "ctest", "swift-test", "dart-test", "rspec", "minitest", "pest", "phpunit", "php-artisan"];
21
21
  export type TestFramework = (typeof SUPPORTED_FRAMEWORKS)[number] | 'none';
22
22
  export interface TestRunnerArgs {
23
23
  scope?: 'all' | 'convention' | 'graph' | 'impact';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.107.3",
3
+ "version": "7.107.4",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -5,12 +5,12 @@ import {
5
5
  import {
6
6
  log
7
7
  } from "./index-zgwm4ryv.js";
8
- import {
9
- withEvidenceLock
10
- } from "./index-3naa2ajc.js";
11
8
  import {
12
9
  exports_external
13
10
  } from "./index-293f68mj.js";
11
+ import {
12
+ withEvidenceLock
13
+ } from "./index-3naa2ajc.js";
14
14
 
15
15
  // src/background/pr-subscriptions.ts
16
16
  import * as fs from "fs";
@@ -21,13 +21,13 @@ import {
21
21
  init_logger,
22
22
  warn
23
23
  } from "./index-zgwm4ryv.js";
24
- import {
25
- withEvidenceLock
26
- } from "./index-3naa2ajc.js";
27
24
  import {
28
25
  ZodError,
29
26
  exports_external
30
27
  } from "./index-293f68mj.js";
28
+ import {
29
+ withEvidenceLock
30
+ } from "./index-3naa2ajc.js";
31
31
  import {
32
32
  bunHash,
33
33
  bunWrite
@@ -9,12 +9,12 @@ import {
9
9
  init_logger,
10
10
  warn
11
11
  } from "./index-zgwm4ryv.js";
12
- import {
13
- withEvidenceLock
14
- } from "./index-3naa2ajc.js";
15
12
  import {
16
13
  exports_external
17
14
  } from "./index-293f68mj.js";
15
+ import {
16
+ withEvidenceLock
17
+ } from "./index-3naa2ajc.js";
18
18
  import"./index-b9v501fr.js";
19
19
  import"./index-vn263hqt.js";
20
20
  import"./index-a76rekgs.js";