opencode-swarm 6.72.0 → 6.72.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.
package/dist/state.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  * and delegation chains.
8
8
  */
9
9
  import type { OpencodeClient } from '@opencode-ai/sdk';
10
- import type { QaGates } from './db/qa-gate-profile.js';
10
+ import { type QaGates } from './db/qa-gate-profile.js';
11
11
  import { type EnvironmentProfile } from './environment/profile.js';
12
12
  /**
13
13
  * Represents a single tool call entry for tracking purposes
@@ -101,6 +101,11 @@ export interface AgentSessionState {
101
101
  qaSkipTaskIds: string[];
102
102
  /** Per-task workflow state — taskId → current state */
103
103
  taskWorkflowStates: Map<string, TaskWorkflowState>;
104
+ /** v6.71+ Council mode: per-task council verdict, recorded by delegation-gate when convene_council resolves. */
105
+ taskCouncilApproved?: Map<string, {
106
+ verdict: 'APPROVE' | 'REJECT' | 'CONCERNS';
107
+ roundNumber: number;
108
+ }>;
104
109
  /** Last gate outcome for deliberation preamble injection */
105
110
  lastGateOutcome: {
106
111
  gate: string;
@@ -331,6 +336,27 @@ export declare function advanceTaskState(session: AgentSessionState, taskId: str
331
336
  * @returns Current task workflow state
332
337
  */
333
338
  export declare function getTaskState(session: AgentSessionState, taskId: string): TaskWorkflowState;
339
+ /**
340
+ * Returns true iff council is authoritative for the current plan.
341
+ *
342
+ * AND semantics: council is authoritative when BOTH `pluginConfig.council.enabled === true`
343
+ * AND `QaGates.council_mode === true` for the plan associated with this directory.
344
+ *
345
+ * If exactly one of the two flags is true, a one-time warning is logged per plan_id
346
+ * (so operators can see the deadlock case) and the function falls back to `false`,
347
+ * which keeps Stage B running as the default.
348
+ *
349
+ * Returns false when the plan or QA gate profile cannot be loaded — when the plan
350
+ * is missing the council cannot meaningfully be "authoritative".
351
+ */
352
+ export declare function isCouncilGateActive(directory: string, council: {
353
+ enabled?: boolean;
354
+ } | undefined): Promise<boolean>;
355
+ /**
356
+ * Test-only helper: clear the warn-once memo so each test can observe a fresh
357
+ * disagreement warning. Not part of the public surface.
358
+ */
359
+ export declare function _resetCouncilDisagreementWarnings(): void;
334
360
  /**
335
361
  * Rehydrates session workflow state from durable swarm files.
336
362
  *
@@ -24,8 +24,8 @@ export declare const ArgsSchema: z.ZodObject<{
24
24
  }>;
25
25
  verdict: z.ZodEnum<{
26
26
  APPROVE: "APPROVE";
27
- CONCERNS: "CONCERNS";
28
27
  REJECT: "REJECT";
28
+ CONCERNS: "CONCERNS";
29
29
  }>;
30
30
  confidence: z.ZodNumber;
31
31
  findings: z.ZodArray<z.ZodObject<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "6.72.0",
3
+ "version": "6.72.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",