opencode-swarm 7.0.0 → 7.0.2

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.
@@ -9,3 +9,9 @@ export declare function getPluginConfigDir(): string;
9
9
  * path at the top.
10
10
  */
11
11
  export declare function getPluginCachePaths(): readonly string[];
12
+ /**
13
+ * All known locations where OpenCode stores npm lock files for the plugin
14
+ * environment. These pin the installed version of opencode-swarm and must
15
+ * be cleared during update/install to force a fresh resolution from npm.
16
+ */
17
+ export declare function getPluginLockFilePaths(): readonly string[];
@@ -2,8 +2,8 @@ import type { ToolName } from '../tools/tool-names';
2
2
  export declare const QA_AGENTS: readonly ["reviewer", "critic", "critic_oversight"];
3
3
  export declare const PIPELINE_AGENTS: readonly ["explorer", "coder", "test_engineer"];
4
4
  export declare const ORCHESTRATOR_NAME: "architect";
5
- export declare const ALL_SUBAGENT_NAMES: readonly ["sme", "docs", "designer", "critic_sounding_board", "critic_drift_verifier", "critic_hallucination_verifier", "curator_init", "curator_phase", "council_member", "council_moderator", "reviewer", "critic", "critic_oversight", "explorer", "coder", "test_engineer"];
6
- export declare const ALL_AGENT_NAMES: readonly ["architect", "sme", "docs", "designer", "critic_sounding_board", "critic_drift_verifier", "critic_hallucination_verifier", "curator_init", "curator_phase", "council_member", "council_moderator", "reviewer", "critic", "critic_oversight", "explorer", "coder", "test_engineer"];
5
+ export declare const ALL_SUBAGENT_NAMES: readonly ["sme", "docs", "designer", "critic_sounding_board", "critic_drift_verifier", "critic_hallucination_verifier", "curator_init", "curator_phase", "council_generalist", "council_skeptic", "council_domain_expert", "reviewer", "critic", "critic_oversight", "explorer", "coder", "test_engineer"];
6
+ export declare const ALL_AGENT_NAMES: readonly ["architect", "sme", "docs", "designer", "critic_sounding_board", "critic_drift_verifier", "critic_hallucination_verifier", "curator_init", "curator_phase", "council_generalist", "council_skeptic", "council_domain_expert", "reviewer", "critic", "critic_oversight", "explorer", "coder", "test_engineer"];
7
7
  export declare const OPENCODE_NATIVE_AGENTS: Set<"compaction" | "title" | "build" | "general" | "plan" | "explore" | "summary">;
8
8
  export type QAAgentName = (typeof QA_AGENTS)[number];
9
9
  export type PipelineAgentName = (typeof PIPELINE_AGENTS)[number];
@@ -20,7 +20,7 @@ import type { AgentSessionState } from '../state';
20
20
  import type { GeneralCouncilResult } from './general-council-types.js';
21
21
  /**
22
22
  * Push a GeneralCouncilResult into the architect's advisory queue. The body
23
- * is the synthesis markdown plus the moderator output when present.
23
+ * is the structural synthesis markdown returned by `convene_general_council`.
24
24
  *
25
25
  * Safe to call: missing session or empty advisory body silently skips.
26
26
  * Always idempotent at the architect-prompt level (no duplicate-suppression
@@ -2,10 +2,12 @@
2
2
  * General Council Mode — data contracts.
3
3
  *
4
4
  * Distinct from the Work Complete Council (`./types.ts`). The general council
5
- * is an advisory deliberation system: user-selected models each independently
6
- * web-search and answer a question, then optionally engage in a single
7
- * disagreement-targeted reconciliation round. A moderator agent synthesizes
8
- * the final user-facing answer.
5
+ * is an advisory deliberation system: a fixed three-agent council
6
+ * (council_generalist / council_skeptic / council_domain_expert) reviews a
7
+ * question using an architect-supplied RESEARCH CONTEXT block and a
8
+ * disagreement-targeted reconciliation round. The architect synthesizes the
9
+ * final user-facing answer directly using inline output rules — the
10
+ * dedicated council_moderator agent has been removed.
9
11
  *
10
12
  * No business logic, no I/O. Only types, interfaces, and defaults.
11
13
  */
@@ -59,10 +61,12 @@ export interface GeneralCouncilResult {
59
61
  persistingDisagreements: string[];
60
62
  allSources: WebSearchResult[];
61
63
  /**
62
- * Final moderator output (when council.general.moderator: true and a moderator
63
- * model is configured). Populated by `convene-general-council.ts` after the
64
- * architect delegates the moderator prompt to `council_moderator`. Undefined
65
- * when no moderator pass is configured.
64
+ * @deprecated The dedicated council_moderator agent has been removed; the
65
+ * architect now synthesizes the final answer directly using inline output
66
+ * rules. This field is never populated post-refactor and the consumer in
67
+ * `general-council-advisory.ts` guards on its presence so omitting it is
68
+ * safe. Field kept on the type for backward compatibility with persisted
69
+ * evidence files.
66
70
  */
67
71
  moderatorOutput?: string;
68
72
  timestamp: string;
@@ -70,10 +74,17 @@ export interface GeneralCouncilResult {
70
74
  /**
71
75
  * Config shape — matched in schema.ts via GeneralCouncilConfigSchema.
72
76
  *
73
- * `enabled` defaults to false (feature gate). The moderator pass requires
74
- * a configured `moderatorModel`; when set, the architect delegates the
75
- * moderator prompt produced by `convene_general_council` to the dedicated
76
- * `council_moderator` agent (no `web_search` access — synthesis only).
77
+ * `enabled` defaults to false (feature gate). The council is now a fixed
78
+ * three-agent set (generalist / skeptic / domain_expert) registered when
79
+ * `enabled` is true; their models come from the reviewer / critic / sme
80
+ * swarm config entries respectively.
81
+ *
82
+ * Several fields are retained for backward compatibility with existing
83
+ * `opencode-swarm.json` files but are NO LONGER USED at runtime. See the
84
+ * per-field deprecation notes below. The schema in `schema.ts` is `.strict()`
85
+ * so removing these fields would break validation for users with stale
86
+ * configs; instead, they are accepted and ignored, and a deferred warning
87
+ * is surfaced when the legacy moderator fields are set.
77
88
  */
78
89
  export interface GeneralCouncilConfig {
79
90
  enabled: boolean;
@@ -83,16 +94,32 @@ export interface GeneralCouncilConfig {
83
94
  * `BRAVE_SEARCH_API_KEY` env vars depending on `searchProvider`.
84
95
  */
85
96
  searchApiKey?: string;
97
+ /**
98
+ * @deprecated Member selection is hardcoded to the three council agents
99
+ * (generalist / skeptic / domain_expert). This field is retained for
100
+ * backward compatibility but is ignored at runtime.
101
+ */
86
102
  members: GeneralCouncilMemberConfig[];
87
- /** Named groups of members for `/swarm council --preset <name>`. */
103
+ /**
104
+ * @deprecated Preset-based member selection is no longer supported.
105
+ * Retained for backward compatibility; ignored at runtime.
106
+ */
88
107
  presets: Record<string, GeneralCouncilMemberConfig[]>;
89
- /** When true, after Round 1 the architect routes disagreements back to disputing members. */
108
+ /** When true, after Round 1 the architect routes disagreements back to disputing agents. */
90
109
  deliberate: boolean;
91
- /** When true, the architect delegates a moderator pass to `council_moderator` after synthesis. */
110
+ /**
111
+ * @deprecated The dedicated council_moderator agent has been removed; the
112
+ * architect synthesizes the final answer directly. Retained for backward
113
+ * compatibility; ignored at runtime. A deferred warning is surfaced when
114
+ * this field is set to silence the deprecation explicitly.
115
+ */
92
116
  moderator: boolean;
93
- /** Required when `moderator: true` — model identifier for the council_moderator delegation. */
117
+ /**
118
+ * @deprecated See `moderator` — no longer used. Retained for backward
119
+ * compatibility; ignored at runtime.
120
+ */
94
121
  moderatorModel?: string;
95
- /** Hard cap on results returned per member per search call (1–20). Defaults to 5. */
122
+ /** Hard cap on results returned per architect web_search call (1–20). Defaults to 5. */
96
123
  maxSourcesPerMember: number;
97
124
  }
98
125
  export declare const GENERAL_COUNCIL_DEFAULTS: GeneralCouncilConfig;