opencode-swarm 7.195.0 → 7.197.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 (132) hide show
  1. package/.opencode/skills/brainstorm/SKILL.md +2 -1
  2. package/.opencode/skills/ci-failure-batching/SKILL.md +2 -1
  3. package/.opencode/skills/ci-fix-monitor/SKILL.md +2 -1
  4. package/.opencode/skills/clarify/SKILL.md +2 -1
  5. package/.opencode/skills/clarify-spec/SKILL.md +2 -1
  6. package/.opencode/skills/codebase-review-swarm/SKILL.md +1 -1
  7. package/.opencode/skills/commit-pr/SKILL.md +3 -2
  8. package/.opencode/skills/consult/SKILL.md +2 -1
  9. package/.opencode/skills/council/SKILL.md +2 -1
  10. package/.opencode/skills/critic-gate/SKILL.md +2 -1
  11. package/.opencode/skills/deep-dive/SKILL.md +2 -1
  12. package/.opencode/skills/deep-research/SKILL.md +2 -1
  13. package/.opencode/skills/design-docs/SKILL.md +2 -1
  14. package/.opencode/skills/discover/SKILL.md +2 -1
  15. package/.opencode/skills/durable-session-state/SKILL.md +2 -1
  16. package/.opencode/skills/engineering-conventions/SKILL.md +2 -1
  17. package/.opencode/skills/execute/SKILL.md +2 -1
  18. package/.opencode/skills/fork-pr-operations/SKILL.md +2 -1
  19. package/.opencode/skills/gate-attribution/SKILL.md +2 -1
  20. package/.opencode/skills/issue-ingest/SKILL.md +2 -1
  21. package/.opencode/skills/issue-tracer/SKILL.md +1 -1
  22. package/.opencode/skills/loop/SKILL.md +2 -1
  23. package/.opencode/skills/merge-queue-readiness/SKILL.md +2 -1
  24. package/.opencode/skills/orchestrating-subagents/SKILL.md +2 -1
  25. package/.opencode/skills/parallel-work-check/SKILL.md +17 -16
  26. package/.opencode/skills/phase-wrap/SKILL.md +2 -1
  27. package/.opencode/skills/pre-phase-briefing/SKILL.md +2 -1
  28. package/.opencode/skills/running-tests/SKILL.md +2 -1
  29. package/.opencode/skills/skill-edit-validation/SKILL.md +2 -1
  30. package/.opencode/skills/specify/SKILL.md +2 -1
  31. package/.opencode/skills/swarm/SKILL.md +2 -1
  32. package/.opencode/skills/swarm-ci-monitor/SKILL.md +3 -2
  33. package/.opencode/skills/swarm-implement/SKILL.md +2 -1
  34. package/.opencode/skills/swarm-plan/SKILL.md +2 -1
  35. package/.opencode/skills/swarm-pr-feedback/SKILL.md +9 -162
  36. package/.opencode/skills/swarm-pr-feedback/references/gate-evidence-scope.md +20 -0
  37. package/.opencode/skills/swarm-pr-feedback/references/intake-surfaces.md +107 -0
  38. package/.opencode/skills/swarm-pr-feedback/references/preflight-checkout.md +67 -0
  39. package/.opencode/skills/swarm-pr-review/SKILL.md +12 -344
  40. package/.opencode/skills/swarm-pr-review/references/council-mode.md +38 -0
  41. package/.opencode/skills/swarm-pr-review/references/explorer-output-format.md +54 -0
  42. package/.opencode/skills/swarm-pr-review/references/findings-persistence-detail.md +15 -0
  43. package/.opencode/skills/swarm-pr-review/references/parser-candidate-extraction.md +75 -0
  44. package/.opencode/skills/swarm-pr-review/references/phase0a-intake.md +61 -0
  45. package/.opencode/skills/swarm-pr-review/references/scope-detection.md +103 -0
  46. package/.opencode/skills/swarm-pr-review/references/writeback-phases.md +68 -0
  47. package/.opencode/skills/swarm-pr-subscribe/SKILL.md +3 -2
  48. package/.opencode/skills/swarm-resume/SKILL.md +2 -1
  49. package/.opencode/skills/test-file-split/SKILL.md +2 -1
  50. package/.opencode/skills/worktree-retry-cleanup/SKILL.md +2 -1
  51. package/.opencode/skills/writing-tests/SKILL.md +7 -437
  52. package/.opencode/skills/writing-tests/references/cross-platform-patterns.md +237 -0
  53. package/.opencode/skills/writing-tests/references/mock-tiers.md +207 -0
  54. package/README.md +1 -1
  55. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  56. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  57. package/dist/cli/{auto-checkpoint-anf21wwa.js → auto-checkpoint-s05sxmg6.js} +4 -4
  58. package/dist/cli/{checkpoint-ngdw2qx2.js → checkpoint-kzyy9b7y.js} +8 -8
  59. package/dist/cli/{coder-settlement-bqb059y2.js → coder-settlement-d1qqfgdm.js} +3 -3
  60. package/dist/cli/{config-doctor-vetg215g.js → config-doctor-yrven0ya.js} +7 -7
  61. package/dist/cli/{core-8qgvsm6x.js → core-qpmksfae.js} +1 -1
  62. package/dist/cli/{curator-drift-3gjycbkv.js → curator-drift-2h6nf0mw.js} +5 -5
  63. package/dist/cli/{curator-llm-factory-d17ybmgm.js → curator-llm-factory-kt3jhgs9.js} +25 -25
  64. package/dist/cli/{curator-hh0n9wgz.js → curator-mqnqst1g.js} +25 -25
  65. package/dist/cli/{doctor-knowledge-receipt-phase-id-1d465vkg.js → doctor-knowledge-receipt-phase-id-d8arz38j.js} +4 -4
  66. package/dist/cli/{evidence-summary-service-rkd3yc5x.js → evidence-summary-service-gjs4zssz.js} +9 -9
  67. package/dist/cli/{gate-evidence-wtjrerkh.js → gate-evidence-9n5r17hq.js} +2 -2
  68. package/dist/cli/{guardrail-explain-8xh3r0dn.js → guardrail-explain-g4wcr664.js} +26 -26
  69. package/dist/cli/{guardrail-log-jrey2myg.js → guardrail-log-0hy23f7d.js} +3 -3
  70. package/dist/cli/{guardrail-reset-m5qbg30j.js → guardrail-reset-9z5rmp3f.js} +25 -25
  71. package/dist/cli/{hive-promoter-36yhdfre.js → hive-promoter-w8f840ah.js} +25 -25
  72. package/dist/cli/{index-gz16dke1.js → index-1cks27mv.js} +6 -6
  73. package/dist/cli/{index-epdzvp4w.js → index-1gnrtz76.js} +5 -5
  74. package/dist/cli/{index-jn4mmhqc.js → index-20m9q2z9.js} +1 -1
  75. package/dist/cli/{index-yryy781f.js → index-29xr45xr.js} +153 -52
  76. package/dist/cli/{index-bpq6z8qe.js → index-3qqnz0jg.js} +3 -3
  77. package/dist/cli/{index-kmvy5fr8.js → index-401a12w5.js} +1 -1
  78. package/dist/cli/{index-jatgbm7k.js → index-5p0jhn2s.js} +1 -1
  79. package/dist/cli/{index-gns3gc87.js → index-67w61x1b.js} +3 -3
  80. package/dist/cli/{index-ha8xc5d3.js → index-8ahnfc03.js} +2 -2
  81. package/dist/cli/{index-akb436kn.js → index-8zwmfh9d.js} +1 -1
  82. package/dist/cli/{index-3k65kdfp.js → index-9px1knpj.js} +1 -1
  83. package/dist/cli/{index-1hcjxz6w.js → index-9sqcmzc2.js} +2 -2
  84. package/dist/cli/{index-9teqkkp4.js → index-agvmmvdt.js} +25 -25
  85. package/dist/cli/{index-tc8x0zc5.js → index-avbvxmw2.js} +1 -1
  86. package/dist/cli/{index-c6hyd8hg.js → index-bpnpvhja.js} +1 -1
  87. package/dist/cli/{index-8448vj9w.js → index-dgvf1jey.js} +1 -1
  88. package/dist/cli/{index-bftpd2m5.js → index-eabxecjf.js} +2 -2
  89. package/dist/cli/{index-6vpqe4ws.js → index-fzx1wfxn.js} +1 -1
  90. package/dist/cli/{index-h7275akd.js → index-g1r94prs.js} +27 -27
  91. package/dist/cli/{index-82aj6gaj.js → index-g749xs7c.js} +2 -2
  92. package/dist/cli/{index-7kbpzg05.js → index-jvpvghyh.js} +328 -224
  93. package/dist/cli/{index-780g1hht.js → index-jvzfw0n5.js} +1 -1
  94. package/dist/cli/{index-479kf368.js → index-mbdkr2sh.js} +1 -1
  95. package/dist/cli/{index-c4hx57tz.js → index-ng6me2hh.js} +2 -2
  96. package/dist/cli/{index-fk4j26km.js → index-njfkqr77.js} +3 -3
  97. package/dist/cli/{index-peyz4k9k.js → index-t3tzk566.js} +1 -1
  98. package/dist/cli/{index-z59414gv.js → index-v8jhmn8x.js} +1 -1
  99. package/dist/cli/{index-5gf2wx2c.js → index-xb3h5tvj.js} +4 -4
  100. package/dist/cli/{index-xs9cn3c0.js → index-xf6tdsyr.js} +3 -3
  101. package/dist/cli/{index-863hst4e.js → index-ysbmrmzk.js} +1 -1
  102. package/dist/cli/index.js +26 -26
  103. package/dist/cli/{knowledge-escalator-6sgrjbcj.js → knowledge-escalator-42cvn0ec.js} +7 -7
  104. package/dist/cli/{knowledge-events-hztjt63y.js → knowledge-events-v0xavjkd.js} +5 -5
  105. package/dist/cli/{knowledge-store-3sd2034v.js → knowledge-store-s01cread.js} +1 -1
  106. package/dist/cli/{knowledge-validator-3fe82zy4.js → knowledge-validator-kvtcqpke.js} +2 -2
  107. package/dist/cli/{mcp-spbx3efe.js → mcp-ff73w9z7.js} +1 -1
  108. package/dist/cli/{model-preflight-k2bw7rt1.js → model-preflight-0k8bd388.js} +25 -25
  109. package/dist/cli/{pending-delegations-kcvd9t41.js → pending-delegations-bmj7djk1.js} +2 -2
  110. package/dist/cli/{pr-subscriptions-nqby87en.js → pr-subscriptions-9dbrw7ky.js} +1 -1
  111. package/dist/cli/{pr-workflow-gate-cgbc0x1z.js → pr-workflow-gate-wg003fkd.js} +25 -25
  112. package/dist/cli/{scan-cursor-sphr9phs.js → scan-cursor-d93q0q3s.js} +2 -2
  113. package/dist/cli/{schema-x892aatt.js → schema-0ny9ef6s.js} +1 -1
  114. package/dist/cli/{scope-persistence-n9xksct2.js → scope-persistence-ekcfq34x.js} +5 -5
  115. package/dist/cli/{server-am2y11yn.js → server-rpx7pkg1.js} +25 -25
  116. package/dist/cli/{skill-generator-p71b6h5k.js → skill-generator-h1w7s5dh.js} +8 -8
  117. package/dist/cli/{snapshot-coordination-init-x9b4t9sk.js → snapshot-coordination-init-f6ecsn9c.js} +25 -25
  118. package/dist/cli/{speckit-checkoff-xp9vsp9k.js → speckit-checkoff-kf0zkpdw.js} +3 -3
  119. package/dist/cli/{worktree-collision-ownership-2pmyww6g.js → worktree-collision-ownership-p7zmj4ag.js} +2 -2
  120. package/dist/cli/{worktree-isolation-379tmkta.js → worktree-isolation-nz90xvw5.js} +25 -25
  121. package/dist/commands/registry.d.ts +1 -1
  122. package/dist/config/skill-contract-digest.d.ts +6 -0
  123. package/dist/epic/start.d.ts +5 -4
  124. package/dist/hooks/skill-scoring.d.ts +1 -1
  125. package/dist/hooks/skill-usage-log.d.ts +2 -0
  126. package/dist/host/v2/agents-commands.d.ts +13 -3
  127. package/dist/index.js +103 -98
  128. package/dist/sbom/detectors/index.d.ts +15 -0
  129. package/dist/services/skill-evaluator.d.ts +2 -0
  130. package/dist/services/skill-generator.d.ts +13 -0
  131. package/dist/tools/sbom-generate.d.ts +1 -1
  132. package/package.json +1 -1
@@ -51,3 +51,18 @@ export declare function findDetectorsForFile(filePath: string): Detector[];
51
51
  * Detect components from a file using appropriate detectors
52
52
  */
53
53
  export declare function detectComponents(filePath: string, content: string): SbomComponent[];
54
+ /**
55
+ * Merge lockfile-sourced and manifest-sourced component lists into one
56
+ * deduplicated set (issue #2956).
57
+ *
58
+ * Lockfile-resolved entries take precedence over manifest declared-base
59
+ * entries of the same package identity — a `package.json` declaring
60
+ * `express@^4.18.0` resolves to `express@4.18.2` in the lockfile, and the
61
+ * declared-base twin is dropped. Identity is name + ecosystem (the purl
62
+ * type): an npm lockfile entry must not suppress a same-named Cargo or PyPI
63
+ * package from a polyglot repo. Components without a usable purl fall back
64
+ * to name-only suppression (the issue's literal rule). Exact purls then
65
+ * dedupe (falling back to `name@version` when a component carries no purl),
66
+ * preserving first-occurrence order.
67
+ */
68
+ export declare function dedupeSbomComponents(lockfileComponents: SbomComponent[], manifestComponents: SbomComponent[]): SbomComponent[];
@@ -81,6 +81,7 @@ export declare function scoreSkillPhrases(args: {
81
81
  score: number;
82
82
  failures: string[];
83
83
  };
84
+ declare function normalizeRejectedContent(content: string): string;
84
85
  declare function hashNormalizedContent(content: string | undefined): string | undefined;
85
86
  export declare function evaluateSkillChange(req: EvaluateSkillChangeRequest): Promise<SkillEvaluationResult>;
86
87
  export declare function appendRejectedSkillEdit(req: EvaluateSkillChangeRequest, evaluation: SkillEvaluationResult): Promise<void>;
@@ -90,5 +91,6 @@ export declare const _internals: {
90
91
  evaluateContent: typeof evaluateContent;
91
92
  rejectedEditsPath: typeof rejectedEditsPath;
92
93
  hashNormalizedContent: typeof hashNormalizedContent;
94
+ normalizeRejectedContent: typeof normalizeRejectedContent;
93
95
  };
94
96
  export {};
@@ -120,6 +120,18 @@ export interface GenerateResult {
120
120
  }>;
121
121
  }
122
122
  export declare function generateSkills(req: GenerateRequest): Promise<GenerateResult>;
123
+ /**
124
+ * Inject a `missing_source_knowledge_ids:` block into the YAML frontmatter
125
+ * immediately after the `source_knowledge_ids:` block so that unresolved IDs
126
+ * are visible at compile time. Returns the content unchanged when:
127
+ * - `missingIds` is empty
128
+ * - the frontmatter cannot be parsed (no opening `---` fence or missing
129
+ * closing fence)
130
+ * - `source_knowledge_ids:` is not found in the frontmatter
131
+ *
132
+ * Uses simple string manipulation — no full YAML parser required.
133
+ */
134
+ declare function injectMissingIdsIntoFrontmatter(content: string, missingIds: string[]): string;
123
135
  /**
124
136
  * Stamp source knowledge entries with `generated_skill_slug` and
125
137
  * `generated_skill_path` metadata. Refactored in Phase G′ to take
@@ -271,6 +283,7 @@ export declare const _internals: {
271
283
  renderSkillMarkdown: typeof renderSkillMarkdown;
272
284
  generateSkills: typeof generateSkills;
273
285
  activateProposal: typeof activateProposal;
286
+ injectMissingIdsIntoFrontmatter: typeof injectMissingIdsIntoFrontmatter;
274
287
  listSkills: typeof listSkills;
275
288
  findSkillsBySourceKnowledgeId: typeof findSkillsBySourceKnowledgeId;
276
289
  findStaleSkillsBySourceKnowledgeId: typeof findStaleSkillsBySourceKnowledgeId;
@@ -22,7 +22,7 @@ export interface SbomGenerateInput {
22
22
  changed_files?: string[];
23
23
  }
24
24
  export interface SbomGenerateResult {
25
- /** Verdict: 'pass' if SBOM generated successfully, 'skip' if no manifests found */
25
+ /** Verdict: 'pass' if SBOM generated successfully, 'skip' if no manifests were found or none could be read */
26
26
  verdict: 'pass' | 'skip';
27
27
  /** Array of manifest/lock file paths discovered */
28
28
  files: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.195.0",
3
+ "version": "7.197.0",
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",