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.
- package/CHANGELOG.md +50 -0
- package/README.md +26 -18
- package/dist/adapters/opencode/tools.d.ts +33 -11
- package/dist/cli.js +620 -543
- package/dist/cli.js.map +3 -3
- package/dist/config-shared.d.ts +2 -2
- package/dist/index.js +1504 -712
- package/dist/index.js.map +11 -9
- package/dist/prompt-baseline-fixtures.d.ts +19 -0
- package/dist/prompt-model-evaluation.d.ts +99 -0
- package/dist/prompt-quality.d.ts +73 -0
- package/dist/prompt-surfaces.d.ts +28 -0
- package/dist/runtime/api.d.ts +26 -7
- package/dist/runtime/schema.d.ts +260 -66
- package/dist/runtime/transitions.d.ts +18 -8
- package/dist/runtime/workspace.d.ts +1 -0
- package/package.json +4 -2
|
@@ -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: "
|
|
101
|
-
|
|
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?: "
|
|
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: "
|
|
174
|
-
|
|
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?: "
|
|
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
|
+
"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",
|