opencode-swarm 7.147.1 → 7.148.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 (77) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +26 -11
  2. package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +39 -13
  3. package/dist/background/pr-review-collection-receipt.d.ts +2 -2
  4. package/dist/cli/{config-doctor-8nskdpgd.js → config-doctor-w6zphy4w.js} +2 -2
  5. package/dist/cli/{core-9rt6kbk1.js → core-65qyqw2f.js} +1 -1
  6. package/dist/cli/{curation-policy-9d7jx7cg.js → curation-policy-166wdjs4.js} +6 -6
  7. package/dist/cli/{curator-xvymjgan.js → curator-2jhdfjqg.js} +27 -27
  8. package/dist/cli/{curator-llm-factory-8xdxbmnz.js → curator-llm-factory-y43mx297.js} +27 -27
  9. package/dist/cli/{evidence-summary-service-k7a2s8f8.js → evidence-summary-service-7qpganmn.js} +11 -11
  10. package/dist/cli/{gate-evidence-bbpvx28c.js → gate-evidence-p79xv25a.js} +6 -6
  11. package/dist/cli/{guardrail-explain-qz2hfyb2.js → guardrail-explain-76sy950j.js} +28 -28
  12. package/dist/cli/{guardrail-log-6098jxes.js → guardrail-log-pm0w6ney.js} +3 -3
  13. package/dist/cli/{guardrail-reset-2bcccwmx.js → guardrail-reset-tkkg0bfz.js} +27 -27
  14. package/dist/cli/{hive-promoter-9xzf0r98.js → hive-promoter-w4batwr6.js} +27 -27
  15. package/dist/cli/{index-q85xv7t6.js → index-2bsnwcmp.js} +1 -1
  16. package/dist/cli/{index-pgvx3rkq.js → index-2n9rwvcc.js} +1 -1
  17. package/dist/cli/{index-axcvb5kf.js → index-3yh2e5ca.js} +6 -4
  18. package/dist/cli/{index-by1f9ghd.js → index-5wypz451.js} +1 -1
  19. package/dist/cli/{index-b7qzwv3t.js → index-627mz27c.js} +3 -3
  20. package/dist/cli/{index-1k41c7kt.js → index-81n4ky69.js} +2 -2
  21. package/dist/cli/{index-6cxb7ng4.js → index-c23yxr1s.js} +4 -4
  22. package/dist/cli/{index-d3bdr78h.js → index-ch6sjm8q.js} +1 -1
  23. package/dist/cli/{index-kbp4xssa.js → index-dwg0z10h.js} +4 -4
  24. package/dist/cli/{index-gkhx2vkh.js → index-e9d2829t.js} +1 -1
  25. package/dist/cli/{index-2qapn7fk.js → index-f115c8y6.js} +3 -3
  26. package/dist/cli/{index-1xvxd02x.js → index-fv5cc1rd.js} +2 -2
  27. package/dist/cli/{index-q81s0m8k.js → index-ghbkknjz.js} +79 -38
  28. package/dist/cli/{index-n5wzwz8x.js → index-hxqjf4me.js} +4 -4
  29. package/dist/cli/{index-avcqq7xc.js → index-jtnk7k6w.js} +1 -1
  30. package/dist/cli/{index-7tvbvecm.js → index-k5ze5v89.js} +1 -1
  31. package/dist/cli/{index-b834mas0.js → index-kpgj4ha6.js} +1 -1
  32. package/dist/cli/{index-8861hfbt.js → index-kztxn1ww.js} +4205 -2866
  33. package/dist/cli/{index-aahyrzmm.js → index-m97qwwrk.js} +2 -2
  34. package/dist/cli/{index-9b50bt13.js → index-mfhpk4c6.js} +1 -1
  35. package/dist/cli/{index-8k9hw17k.js → index-py2rsw1a.js} +4 -4
  36. package/dist/cli/{index-t4xa2yss.js → index-q0gfmyzx.js} +5 -5
  37. package/dist/cli/{index-qy5yz7fn.js → index-qwzpsh3w.js} +1 -1
  38. package/dist/cli/{index-zwc96x0a.js → index-qzstn430.js} +1 -1
  39. package/dist/cli/{index-6q35swn2.js → index-rsn4jm90.js} +1 -1
  40. package/dist/cli/{index-b99vp668.js → index-s3s2egzn.js} +29 -29
  41. package/dist/cli/{index-bp5n93w5.js → index-shazb5b6.js} +2 -2
  42. package/dist/cli/{index-vpzvmp21.js → index-shm69en5.js} +2 -2
  43. package/dist/cli/{index-014mntpw.js → index-t6ys1386.js} +6 -6
  44. package/dist/cli/{index-59q7jma6.js → index-w49v4xd6.js} +7 -7
  45. package/dist/cli/{index-5qfp2kt4.js → index-x46mmaep.js} +14 -10
  46. package/dist/cli/index.js +27 -27
  47. package/dist/cli/{knowledge-escalator-300p0bvr.js → knowledge-escalator-21n4ztqx.js} +11 -11
  48. package/dist/cli/{knowledge-events-5ncg5xv1.js → knowledge-events-h5d5eayv.js} +9 -9
  49. package/dist/cli/{knowledge-link-stzsjagk.js → knowledge-link-vgxe7gz9.js} +5 -5
  50. package/dist/cli/{knowledge-store-mn75hsww.js → knowledge-store-y10m7x4f.js} +8 -6
  51. package/dist/cli/{knowledge-validator-763r7qpn.js → knowledge-validator-dzm9sg0f.js} +8 -8
  52. package/dist/cli/{pending-delegations-k4x00mqc.js → pending-delegations-78zaaxz4.js} +3 -3
  53. package/dist/cli/{pr-subscriptions-x2mqc3f1.js → pr-subscriptions-9mg6mwc0.js} +3 -3
  54. package/dist/cli/{runner-26bc3x73.js → runner-rarzeth8.js} +6 -6
  55. package/dist/cli/{scan-cursor-b7kyjefy.js → scan-cursor-zn2qf06a.js} +7 -7
  56. package/dist/cli/{schema-zjhwka27.js → schema-ynwy7abm.js} +1 -1
  57. package/dist/cli/{scope-persistence-aa7gkgz0.js → scope-persistence-sh30937s.js} +7 -7
  58. package/dist/cli/{skill-generator-nsa7ay0c.js → skill-generator-r3knfwrp.js} +13 -13
  59. package/dist/cli/{telemetry-xzy0qeap.js → telemetry-1pnsftp0.js} +1 -1
  60. package/dist/cli/{worktree-collision-ownership-q2gswg16.js → worktree-collision-ownership-29md3k1n.js} +3 -3
  61. package/dist/cli/{worktree-isolation-3pw7nwnh.js → worktree-isolation-yj7ssh24.js} +27 -27
  62. package/dist/consensus/contracts.d.ts +5 -1
  63. package/dist/consensus/corpus.d.ts +26 -3
  64. package/dist/consensus/miner.d.ts +5 -1
  65. package/dist/hooks/curator.d.ts +41 -1
  66. package/dist/hooks/knowledge-store.d.ts +26 -2
  67. package/dist/hooks/pr-workflow-gate.d.ts +64 -3
  68. package/dist/hooks/skill-scoring.d.ts +13 -3
  69. package/dist/hooks/skill-usage-log.d.ts +140 -17
  70. package/dist/hooks/skill-usage-pending.d.ts +392 -0
  71. package/dist/index.js +546 -502
  72. package/dist/lang/symbol-visibility.d.ts +10 -7
  73. package/dist/observability/catalog.d.ts +6 -4
  74. package/dist/telemetry.d.ts +35 -1
  75. package/dist/tools/dispatch-lanes.d.ts +8 -1
  76. package/dist/tools/repo-graph/types.d.ts +6 -4
  77. package/package.json +1 -1
@@ -37,14 +37,17 @@ export interface SymbolVisibilityContext {
37
37
  /**
38
38
  * Tree-sitter node type of the nearest enclosing type container
39
39
  * (`class_declaration`, `interface_declaration`, `enum_declaration`,
40
- * `record_declaration`, `struct_declaration`, `object_declaration`), or
41
- * `undefined` when the declaration has no enclosing type container.
40
+ * `record_declaration`, `struct_declaration`, `object_declaration`,
41
+ * and for cpp the class/struct/union specifiers), or `undefined` when the
42
+ * declaration has no enclosing type container.
42
43
  *
43
- * Only populated for the JVM/.NET grammars (java/kotlin/csharp), where the
44
- * *kind* of container decides the implicit visibility of a member that
45
- * carries no explicit modifier (an interface member is implicitly public in
46
- * both Java and C#, a C# class member is implicitly private, a Java class
47
- * member is implicitly package-private).
44
+ * Populated for the JVM/.NET grammars (java/kotlin/csharp) and for
45
+ * cpp/swift, where the *kind* of container decides the implicit visibility
46
+ * of a member that carries no explicit modifier (an interface member is
47
+ * implicitly public in both Java and C#, a C# class member is implicitly
48
+ * private, a Java class member is implicitly package-private, a Swift
49
+ * member is implicitly internal, and a C++ member defaults by container
50
+ * kind — class private, struct/union public).
48
51
  */
49
52
  parentContainerType?: string;
50
53
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The event catalog (issue #2029).
3
3
  *
4
- * Exactly 46 entries, matching the `TelemetryEvent` union at
4
+ * Exactly 47 entries, matching the `TelemetryEvent` union at
5
5
  * `src/telemetry.ts:15-109`. Thirty-eight predate the #2029 contract; the 39th is
6
6
  * `agent_conflict_detected` (previously emitted through a force-cast past the
7
7
  * type system), the 40th is `close_archive_result` (issue #2030 — the
@@ -10,9 +10,11 @@
10
10
  * The 42nd is the human-only `knowledge_maintenance` quarantine audit
11
11
  * (issue #2033), the 43rd is the aggregate `context_pruned` transcript
12
12
  * mutation audit, the 44th is the bounded `residue_health` atomic-write
13
- * residue audit (issue #2035), and the 46th is the bounded
13
+ * residue audit (issue #2035), the 46th is the bounded
14
14
  * `context_telemetry_health` storage audit for the issue-#2037
15
- * `.swarm/context-telemetry.jsonl` store. These late additions are instances of
15
+ * `.swarm/context-telemetry.jsonl` store, and the 47th is the counts-only
16
+ * `skill_usage_health` storage audit for the issue-#2038
17
+ * `.swarm/skill-usage.jsonl` store and its authoritative pending sidecar. These late additions are instances of
16
18
  * the defect class this contract exists to close: an event kind entering the
17
19
  * stream with no registration.
18
20
  *
@@ -67,7 +69,7 @@ export interface CatalogEntry {
67
69
  /**
68
70
  * Whether an event of this kind must carry `trace.parentSpanId`.
69
71
  *
70
- * `false` for all 46 entries today, and that is a truthful statement about
72
+ * `false` for all 47 entries today, and that is a truthful statement about
71
73
  * the current system rather than a placeholder: no producer supplies a
72
74
  * parent span, so `createObservation` never sets one. Setting this to `true`
73
75
  * for a kind whose producer cannot supply a parent would make every
@@ -32,7 +32,7 @@ export type TelemetryEvent = 'session_started' | 'session_ended' | 'agent_activa
32
32
  * `prm_hard_stop` TRIGGER emitted by `src/prm/escalation.ts`. A trigger with
33
33
  * no matching delivery means the containment never reached the agent.
34
34
  */
35
- | 'prm_hard_stop_delivered' | 'agent_conflict_detected' | 'close_archive_result' | 'knowledge_receipt_transition' | 'knowledge_maintenance' | 'residue_health' | 'context_telemetry_health';
35
+ | 'prm_hard_stop_delivered' | 'agent_conflict_detected' | 'close_archive_result' | 'knowledge_receipt_transition' | 'knowledge_maintenance' | 'residue_health' | 'context_telemetry_health' | 'skill_usage_health';
36
36
  /** Stable classification for how a reviewer-gate decision was established. */
37
37
  export type ReviewerGateEvidenceKind = 'genuine' | 'fallback' | 'data_quality' | 'block';
38
38
  /**
@@ -257,6 +257,40 @@ export declare const telemetry: {
257
257
  bytes: number;
258
258
  limit_bytes: number;
259
259
  }): void;
260
+ /**
261
+ * Skill-usage health (issue #2038). Emitted on compaction, migration,
262
+ * consumption, and pressure events for skill-usage tracking. Bounded
263
+ * payload: accepted/compacted/dropped/corrupt/retained counts, retry and
264
+ * curator figures, oldest/newest timestamps, and byte figures. Counts
265
+ * ONLY — no skill path, no per-skill identifier, no content, matching the
266
+ * observability contract's no-content-in-metrics rule. The adversarial
267
+ * case is thousands of distinct skill IDs, so a per-skill label would be
268
+ * an unbounded label set.
269
+ */
270
+ skillUsageHealth(data: {
271
+ trigger: "compaction" | "migration" | "consumption" | "pressure";
272
+ accepted: number;
273
+ compacted: number;
274
+ dropped: number;
275
+ skills_dropped: number;
276
+ corrupt: number;
277
+ pending_retained: number;
278
+ uncertain_retained: number;
279
+ uncertain_expired: number;
280
+ pending_evicted: number;
281
+ no_source_knowledge: number;
282
+ no_matching_knowledge: number;
283
+ bump_retry: number;
284
+ bump_unrecoverable: number;
285
+ bump_applied_zero: number;
286
+ pressure: number;
287
+ curator_skipped: number;
288
+ bytes: number;
289
+ limit_bytes: number;
290
+ oldest_timestamp: string | null;
291
+ newest_timestamp: string | null;
292
+ coverage: boolean;
293
+ }): void;
260
294
  /**
261
295
  * Issue #2063 C2 — the PRM hard-stop DENIAL was actually delivered to the
262
296
  * agent (thrown by the guardrails `toolBefore` consumer). `prm_hard_stop`
@@ -2,7 +2,7 @@ import { z } from 'zod';
2
2
  import { type BackgroundDelegationRecord, type BackgroundDelegationResult, type BackgroundDelegationWorkflowLaneRecovery } from '../background/pending-delegations.js';
3
3
  import { resolveExactMergeBaseAsync, resolvePrWorkflowRevisionDigestAsync } from '../background/workspace-snapshot.js';
4
4
  import { loadPluginConfig } from '../config/loader.js';
5
- import { type PrReviewDepthTier, type PrReviewVerdictCollectionReceipt, validatePrWorkflowTransportRecovery } from '../hooks/pr-workflow-gate.js';
5
+ import { type PrReviewDepthTier, type PrReviewVerdictCollectionReceipt, type PrWorkflowPendingLaneLiveness, validatePrWorkflowTransportRecovery } from '../hooks/pr-workflow-gate.js';
6
6
  import { buildLaneOrientationBlock } from '../hooks/repo-graph-injection.js';
7
7
  import { createParallelDispatcher } from '../parallel/dispatcher/parallel-dispatcher.js';
8
8
  import { createSwarmTool } from './create-tool.js';
@@ -194,6 +194,13 @@ export interface CollectLaneResultsResult {
194
194
  consumed: number;
195
195
  all_settled: boolean;
196
196
  lane_results: DispatchLaneResult[];
197
+ /**
198
+ * Alert-only host liveness advisory for still-pending pr-review lanes past
199
+ * the pending-liveness threshold (issue #2280 Part B). Present only when at
200
+ * least one such lane exists; never affects `success`, counts, settlement,
201
+ * or any lane's state.
202
+ */
203
+ pending_liveness?: PrWorkflowPendingLaneLiveness[];
197
204
  errors?: string[];
198
205
  }
199
206
  export interface SessionOps {
@@ -19,7 +19,7 @@ export declare const REPO_GRAPH_FILENAME = "repo-graph.json";
19
19
  *
20
20
  * 1.2.0 adds per-node `exportRanges` (1-based inclusive line spans keyed by
21
21
  * symbol name — exported symbols for every grammar, plus non-exported member
22
- * defs for java/kotlin/csharp; see the field docs) and the top-level
22
+ * defs for java/kotlin/csharp/cpp/swift; see the field docs) and the top-level
23
23
  * `symbolEdges` array (direct symbol-to-
24
24
  * symbol reference edges). Both fields are optional, so 1.0.0 and 1.1.0 graphs
25
25
  * still load without corruption. New queries may use these fields to provide
@@ -130,10 +130,12 @@ export interface GraphNode {
130
130
  * Each span value uses `startLine` / `endLine` to match the codebase
131
131
  * convention (see `ContextPackSpan` and `FileSymbolFacts`).
132
132
  *
133
- * SCOPE (issue #1529): exported symbols for every grammar, PLUS
134
- * non-exported member defs for java/kotlin/csharp. A JVM/.NET member is
133
+ * SCOPE (issues #1529 and #1530): exported symbols for every grammar,
134
+ * PLUS non-exported member defs for java/kotlin/csharp/cpp/swift. A
135
+ * JVM/.NET or native-language member (or a Swift extension block) is
135
136
  * deliberately never a file-level export, so without that widening
136
- * `context_pack` could return no span at all for a Java method.
137
+ * `context_pack` could return no span at all for a Java method or a
138
+ * private C++ helper.
137
139
  * `exports` and `exportLines` stay exported-only in every language.
138
140
  *
139
141
  * Duplicate names resolve so this map cannot disagree with `exportLines`:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.147.1",
3
+ "version": "7.148.1",
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",