opencode-plugin-flow 4.3.8 → 4.4.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.
@@ -94,11 +94,17 @@ export declare function summarizeSession(session: Session | null): {
94
94
  workerCount: number;
95
95
  candidatePassCount: number;
96
96
  verifierPassCount: number;
97
+ candidateEligibleCount: number;
98
+ candidateUsedDecisionCount: number;
99
+ candidateSerialRequiredDecisionCount: number;
97
100
  skippedCandidateDecisionCount: number;
101
+ recordedPassIds: string[];
98
102
  latestPasses: {
99
103
  id: string;
100
- kind: "discovery" | "audit" | "review" | "validation" | "verification" | "candidate" | "implementation-decision";
101
- modes: ("audit" | "review" | "validation" | "evidence" | "verifier" | "candidate-implementation")[];
104
+ kind: "validation" | "audit" | "candidate" | "discovery" | "review" | "verification" | "implementation-decision";
105
+ candidateEligibility: "eligible" | "not_eligible" | "unknown";
106
+ decisionFactors: ("shared_state" | "overlapping_files" | "small_slice" | "needs_manager_judgment" | "independent_surface" | "validation_available")[];
107
+ modes: ("evidence" | "validation" | "audit" | "verifier" | "review" | "candidate-implementation")[];
102
108
  workerCount: number;
103
109
  candidateWorkerCount: number;
104
110
  verifierWorkerCount: number;
@@ -107,9 +113,10 @@ export declare function summarizeSession(session: Session | null): {
107
113
  writeScope: "none" | "manager-serial" | "exact-path" | "isolated-worktree" | "mixed";
108
114
  handoffRefs: string[];
109
115
  verificationStatus: "pending" | "passed" | "failed" | "mixed" | "not-needed" | "downgraded";
110
- outcome: "accepted" | "rejected" | "partial" | "not-covered" | "superseded";
111
- decision?: "serial" | "parallel" | "candidate-exact-path" | "candidate-worktree" | "tournament" | "skipped" | undefined;
116
+ outcome: "accepted" | "modified" | "rejected" | "partial" | "not-covered" | "superseded";
117
+ decision?: "parallel" | "serial" | "candidate-exact-path" | "candidate-worktree" | "tournament" | "skipped" | undefined;
112
118
  decisionReason?: string | undefined;
119
+ candidateDecision?: "skipped" | "used" | "serial_required" | undefined;
113
120
  synthesisRef?: string | undefined;
114
121
  }[];
115
122
  };
@@ -170,8 +177,10 @@ export declare function summarizeSession(session: Session | null): {
170
177
  }[];
171
178
  orchestrationPasses: {
172
179
  id: string;
173
- kind: "discovery" | "audit" | "review" | "validation" | "verification" | "candidate" | "implementation-decision";
174
- modes: ("audit" | "review" | "validation" | "evidence" | "verifier" | "candidate-implementation")[];
180
+ kind: "validation" | "audit" | "candidate" | "discovery" | "review" | "verification" | "implementation-decision";
181
+ candidateEligibility: "eligible" | "not_eligible" | "unknown";
182
+ decisionFactors: ("shared_state" | "overlapping_files" | "small_slice" | "needs_manager_judgment" | "independent_surface" | "validation_available")[];
183
+ modes: ("evidence" | "validation" | "audit" | "verifier" | "review" | "candidate-implementation")[];
175
184
  workerCount: number;
176
185
  candidateWorkerCount: number;
177
186
  verifierWorkerCount: number;
@@ -180,9 +189,10 @@ export declare function summarizeSession(session: Session | null): {
180
189
  writeScope: "none" | "manager-serial" | "exact-path" | "isolated-worktree" | "mixed";
181
190
  handoffRefs: string[];
182
191
  verificationStatus: "pending" | "passed" | "failed" | "mixed" | "not-needed" | "downgraded";
183
- outcome: "accepted" | "rejected" | "partial" | "not-covered" | "superseded";
184
- decision?: "serial" | "parallel" | "candidate-exact-path" | "candidate-worktree" | "tournament" | "skipped" | undefined;
192
+ outcome: "accepted" | "modified" | "rejected" | "partial" | "not-covered" | "superseded";
193
+ decision?: "parallel" | "serial" | "candidate-exact-path" | "candidate-worktree" | "tournament" | "skipped" | undefined;
185
194
  decisionReason?: string | undefined;
195
+ candidateDecision?: "skipped" | "used" | "serial_required" | undefined;
186
196
  synthesisRef?: string | undefined;
187
197
  }[];
188
198
  validationScope?: "targeted" | "broad" | undefined;
@@ -30,6 +30,7 @@ export declare function flowSessionProgress(session: Session): {
30
30
  completed: number;
31
31
  total: number;
32
32
  };
33
+ export declare function renderFlowInstructionFile(session: Session): string;
33
34
  export declare function refreshFlowInstructionFile(worktree: string): Promise<void>;
34
35
  export declare function saveSession(worktree: string, session: Session): Promise<Session>;
35
36
  export declare function archiveAndClearSession(worktree: string, session: Session): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-plugin-flow",
3
- "version": "4.3.8",
3
+ "version": "4.4.0",
4
4
  "description": "Stateful planning and execution workflow plugin for OpenCode",
5
5
  "type": "module",
6
6
  "repository": {
@@ -30,7 +30,9 @@
30
30
  "build:plugin": "bun build --target=node --outdir=./dist --entry-naming=index.js --external=@opencode-ai/plugin --external=zod --sourcemap=external ./src/index.ts",
31
31
  "build:cli": "bun build --target=node --outdir=./dist --entry-naming=cli.js --banner='#!/usr/bin/env node' --sourcemap=external ./src/cli.ts",
32
32
  "build:types": "tsc -p tsconfig.types.json",
33
- "lint": "bunx biome check src tests --files-ignore-unknown=true --vcs-use-ignore-file=true",
33
+ "lint": "bunx biome check src tests scripts --files-ignore-unknown=true --vcs-use-ignore-file=true",
34
+ "prompt:quality": "bun run scripts/prompt-quality.ts",
35
+ "prompt:model-eval": "bun run scripts/prompt-model-eval.ts",
34
36
  "package:smoke": "bun test tests/package-smoke.test.ts",
35
37
  "release:monitor": "node scripts/release-monitor.mjs",
36
38
  "smoke:live": "FLOW_LIVE_SMOKE=1 bun test tests/live-opencode-smoke.test.ts",