@flowdesk/opencode-plugin 0.1.10 → 0.1.12
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/agent-task-runner.d.ts +26 -0
- package/dist/agent-task-runner.d.ts.map +1 -0
- package/dist/agent-task-runner.js +244 -0
- package/dist/agent-task-runner.js.map +1 -0
- package/dist/bootstrap-installer.d.ts +3 -0
- package/dist/bootstrap-installer.d.ts.map +1 -1
- package/dist/bootstrap-installer.js +153 -7
- package/dist/bootstrap-installer.js.map +1 -1
- package/dist/command-handlers.d.ts +3 -0
- package/dist/command-handlers.d.ts.map +1 -1
- package/dist/command-handlers.js +38 -4
- package/dist/command-handlers.js.map +1 -1
- package/dist/local-adapter.d.ts.map +1 -1
- package/dist/local-adapter.js +19 -0
- package/dist/local-adapter.js.map +1 -1
- package/dist/managed-dispatch-adapter.d.ts +2 -0
- package/dist/managed-dispatch-adapter.d.ts.map +1 -1
- package/dist/managed-dispatch-adapter.js +86 -1
- package/dist/managed-dispatch-adapter.js.map +1 -1
- package/dist/provider-usage-live-tool.d.ts +11 -0
- package/dist/provider-usage-live-tool.d.ts.map +1 -1
- package/dist/provider-usage-live-tool.js +86 -1
- package/dist/provider-usage-live-tool.js.map +1 -1
- package/dist/quick-reviewer-run.d.ts +13 -2
- package/dist/quick-reviewer-run.d.ts.map +1 -1
- package/dist/quick-reviewer-run.js +213 -69
- package/dist/quick-reviewer-run.js.map +1 -1
- package/dist/runtime-reviewer-execution-bridge.d.ts.map +1 -1
- package/dist/runtime-reviewer-execution-bridge.js +46 -1
- package/dist/runtime-reviewer-execution-bridge.js.map +1 -1
- package/dist/server.d.ts +47 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +483 -59
- package/dist/server.js.map +1 -1
- package/dist/shared/with-timeout.d.ts +12 -0
- package/dist/shared/with-timeout.d.ts.map +1 -0
- package/dist/shared/with-timeout.js +31 -0
- package/dist/shared/with-timeout.js.map +1 -0
- package/dist/stall-recovery.d.ts +187 -0
- package/dist/stall-recovery.d.ts.map +1 -0
- package/dist/stall-recovery.js +962 -0
- package/dist/stall-recovery.js.map +1 -0
- package/dist/status-live-tool.d.ts +5 -0
- package/dist/status-live-tool.d.ts.map +1 -1
- package/dist/status-live-tool.js +157 -1
- package/dist/status-live-tool.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
|
-
import { collectManagedDispatchBetaUsageEvidenceV1, } from "@flowdesk/core";
|
|
2
|
+
import { applyFlowDeskSessionEvidenceWriteIntentsV1, collectManagedDispatchBetaUsageEvidenceV1, prepareFlowDeskSessionEvidenceWriteIntentV1, } from "@flowdesk/core";
|
|
3
3
|
const defaultExecFile = (file, args) => execFileSync(file, args, {
|
|
4
4
|
encoding: "utf-8",
|
|
5
5
|
stdio: ["ignore", "pipe", "ignore"],
|
|
@@ -200,6 +200,7 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
|
|
|
200
200
|
const anyAcquired = providers.some((row) => row.usageAuthorityAcquired);
|
|
201
201
|
const worstAlertLevel = computeWorstAlertLevel(providers);
|
|
202
202
|
const overallRecommendation = composeOverallRecommendation(providers, worstAlertLevel);
|
|
203
|
+
const snapshotPersistence = persistProviderUsageSnapshots(input.config, collectorResults, observedAt);
|
|
203
204
|
return {
|
|
204
205
|
status: "provider_usage_live_collected",
|
|
205
206
|
observedAt,
|
|
@@ -208,6 +209,9 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
|
|
|
208
209
|
providers,
|
|
209
210
|
worstAlertLevel,
|
|
210
211
|
overallRecommendation,
|
|
212
|
+
...(snapshotPersistence !== undefined
|
|
213
|
+
? { snapshotPersistence }
|
|
214
|
+
: {}),
|
|
211
215
|
safeNextActions: safeNextActions(),
|
|
212
216
|
authority: {
|
|
213
217
|
realOpenCodeDispatch: false,
|
|
@@ -221,6 +225,87 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
|
|
|
221
225
|
},
|
|
222
226
|
};
|
|
223
227
|
}
|
|
228
|
+
function persistProviderUsageSnapshots(config, collectorResults, observedAt) {
|
|
229
|
+
if (config.persistSnapshots !== true)
|
|
230
|
+
return undefined;
|
|
231
|
+
const skippedReasons = [];
|
|
232
|
+
if (typeof config.durableStateRootDir !== "string" ||
|
|
233
|
+
config.durableStateRootDir.trim().length === 0) {
|
|
234
|
+
return {
|
|
235
|
+
requested: true,
|
|
236
|
+
durableStateRootConfigured: false,
|
|
237
|
+
persistedEvidenceIds: [],
|
|
238
|
+
skippedReasons: [
|
|
239
|
+
"providerUsageLive.persistSnapshots=true but no durable state root configured (set providerUsageLive.durableStateRootDir or top-level durableStateRoot)",
|
|
240
|
+
],
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
const workflowId = sanitizePersistWorkflowId(config.persistWorkflowId);
|
|
244
|
+
const persistedIds = [];
|
|
245
|
+
const stamp = observedAt.replaceAll(/[-:.]/g, "").replace("Z", "Z");
|
|
246
|
+
const intents = [];
|
|
247
|
+
for (const { family, result } of collectorResults) {
|
|
248
|
+
if (result === undefined) {
|
|
249
|
+
skippedReasons.push(`${family}: collector result missing`);
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
if (result.usageAuthorityEvidence?.usage_acquired !== true) {
|
|
253
|
+
skippedReasons.push(`${family}: usage authority not acquired`);
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
256
|
+
const evidenceId = `provider-usage-snapshot-${family}-${stamp}`;
|
|
257
|
+
const prep = prepareFlowDeskSessionEvidenceWriteIntentV1({
|
|
258
|
+
workflowId,
|
|
259
|
+
evidenceId,
|
|
260
|
+
record: result.usageSnapshot,
|
|
261
|
+
});
|
|
262
|
+
if (!prep.ok || prep.writeIntent === undefined) {
|
|
263
|
+
skippedReasons.push(`${family}: snapshot prepare failed (${prep.errors.join("; ")})`);
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
intents.push(prep.writeIntent);
|
|
267
|
+
persistedIds.push(evidenceId);
|
|
268
|
+
}
|
|
269
|
+
if (intents.length === 0) {
|
|
270
|
+
return {
|
|
271
|
+
requested: true,
|
|
272
|
+
durableStateRootConfigured: true,
|
|
273
|
+
workflowId,
|
|
274
|
+
persistedEvidenceIds: [],
|
|
275
|
+
skippedReasons,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
const filteredIntents = intents.filter((intent) => intent !== undefined);
|
|
279
|
+
const applied = applyFlowDeskSessionEvidenceWriteIntentsV1(config.durableStateRootDir, filteredIntents);
|
|
280
|
+
if (!applied.ok) {
|
|
281
|
+
return {
|
|
282
|
+
requested: true,
|
|
283
|
+
durableStateRootConfigured: true,
|
|
284
|
+
workflowId,
|
|
285
|
+
persistedEvidenceIds: [],
|
|
286
|
+
skippedReasons: [
|
|
287
|
+
...skippedReasons,
|
|
288
|
+
`apply failed: ${applied.errors.join("; ")}`,
|
|
289
|
+
],
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
return {
|
|
293
|
+
requested: true,
|
|
294
|
+
durableStateRootConfigured: true,
|
|
295
|
+
workflowId,
|
|
296
|
+
persistedEvidenceIds: persistedIds,
|
|
297
|
+
skippedReasons,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
function sanitizePersistWorkflowId(value) {
|
|
301
|
+
if (typeof value === "string" &&
|
|
302
|
+
value.length > 0 &&
|
|
303
|
+
/^[A-Za-z0-9_-]+$/.test(value) &&
|
|
304
|
+
!value.startsWith("-") &&
|
|
305
|
+
!value.endsWith("-"))
|
|
306
|
+
return value;
|
|
307
|
+
return "workflow-provider-usage-live";
|
|
308
|
+
}
|
|
224
309
|
const alertSeverityRank = {
|
|
225
310
|
ok: 0,
|
|
226
311
|
stale: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-usage-live-tool.js","sourceRoot":"","sources":["../src/provider-usage-live-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-usage-live-tool.js","sourceRoot":"","sources":["../src/provider-usage-live-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import type { FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-disp
|
|
|
3
3
|
export interface FlowDeskQuickReviewerRunRequestV1 {
|
|
4
4
|
client: FlowDeskManagedDispatchBetaOpenCodeClientV1;
|
|
5
5
|
prompt: string;
|
|
6
|
-
providerQualifiedModelId
|
|
7
|
-
runtimeAgent
|
|
6
|
+
providerQualifiedModelId?: string;
|
|
7
|
+
runtimeAgent?: string;
|
|
8
|
+
bindings?: readonly FlowDeskQuickReviewerRunBindingV1[];
|
|
8
9
|
allowProviderCall: boolean;
|
|
9
10
|
developerModeAcknowledged: boolean;
|
|
10
11
|
perspectives?: readonly FlowDeskTopTierReviewPerspective[];
|
|
@@ -16,15 +17,24 @@ export interface FlowDeskQuickReviewerRunRequestV1 {
|
|
|
16
17
|
sourceLabel?: string;
|
|
17
18
|
title?: string;
|
|
18
19
|
}
|
|
20
|
+
export interface FlowDeskQuickReviewerRunBindingV1 {
|
|
21
|
+
perspective: FlowDeskTopTierReviewPerspective;
|
|
22
|
+
providerQualifiedModelId: string;
|
|
23
|
+
runtimeAgent: string;
|
|
24
|
+
sourceLabel?: string;
|
|
25
|
+
}
|
|
19
26
|
export interface FlowDeskQuickReviewerRunLaneSummaryV1 {
|
|
20
27
|
perspective: string;
|
|
21
28
|
launchPlanEvidenceId: string;
|
|
29
|
+
providerQualifiedModelId?: string;
|
|
30
|
+
runtimeAgent?: string;
|
|
22
31
|
verdictId?: string;
|
|
23
32
|
launchStatus?: string;
|
|
24
33
|
runningLifecycle?: string;
|
|
25
34
|
completeLifecycle?: string;
|
|
26
35
|
observationStatus?: string;
|
|
27
36
|
verdictMaterializationStatus?: string;
|
|
37
|
+
redactedObservationErrors?: string[];
|
|
28
38
|
}
|
|
29
39
|
export interface FlowDeskQuickReviewerRunResultV1 {
|
|
30
40
|
adapterProfile: "quick_reviewer_run_helper";
|
|
@@ -43,6 +53,7 @@ export interface FlowDeskQuickReviewerRunResultV1 {
|
|
|
43
53
|
linkedLifecycleCount?: number;
|
|
44
54
|
acceptedPerspectives?: readonly string[];
|
|
45
55
|
redactedBlockReason?: string;
|
|
56
|
+
summaryForUser?: string;
|
|
46
57
|
safeNextActions: ["/flowdesk-status"] | ["/flowdesk-status", "/flowdesk-export-debug"];
|
|
47
58
|
authority: {
|
|
48
59
|
realOpenCodeDispatch: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quick-reviewer-run.d.ts","sourceRoot":"","sources":["../src/quick-reviewer-run.ts"],"names":[],"mappings":"AAGA,OAAO,EAIN,KAAK,gCAAgC,EAKrC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,+BAA+B,CAAC;AAGjG,MAAM,WAAW,iCAAiC;IACjD,MAAM,EAAE,2CAA2C,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"quick-reviewer-run.d.ts","sourceRoot":"","sources":["../src/quick-reviewer-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,47 @@ import { tmpdir } from "node:os";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { FLOWDESK_TOP_TIER_REVIEW_PERSPECTIVES, applyFlowDeskSessionEvidenceWriteIntentsV1, consumeFlowDeskProductionApprovalSourceV1, prepareFlowDeskSessionEvidenceWriteIntentV1, } from "@flowdesk/core";
|
|
5
5
|
import { executeFlowDeskRuntimeReviewerExecutionBridgeV1 } from "./runtime-reviewer-execution-bridge.js";
|
|
6
|
+
function buildQuickReviewerSummaryForUser(input) {
|
|
7
|
+
const acceptedCount = input.acceptedPerspectives?.length ?? 0;
|
|
8
|
+
const total = input.laneCount;
|
|
9
|
+
if (input.status === "blocked_before_quick_reviewer_run") {
|
|
10
|
+
const reason = input.redactedBlockReason ?? "blocked before reviewer launch";
|
|
11
|
+
return `FlowDesk quick reviewer blocked before launch: ${reason}. Safe next actions: ${input.safeNextActions.join(", ")}.`;
|
|
12
|
+
}
|
|
13
|
+
if (input.status === "quick_reviewer_run_completed") {
|
|
14
|
+
const linked = input.linkedVerdictCount ?? acceptedCount;
|
|
15
|
+
const bindingText = input.bindingSummary ?? `${input.runtimeAgent} on ${input.providerQualifiedModelId}`;
|
|
16
|
+
const perspectiveLabel = acceptedCount > 0 && input.acceptedPerspectives !== undefined
|
|
17
|
+
? input.acceptedPerspectives.join(", ")
|
|
18
|
+
: "(none)";
|
|
19
|
+
return `FlowDesk quick reviewer completed: ${acceptedCount}/${total} perspectives accepted (${perspectiveLabel}) via ${bindingText}; ${linked} typed verdicts linked to durable evidence.`;
|
|
20
|
+
}
|
|
21
|
+
const blockReason = input.redactedBlockReason ?? "see lanes[].observationStatus";
|
|
22
|
+
const bindingText = input.bindingSummary ?? `${input.runtimeAgent} on ${input.providerQualifiedModelId}`;
|
|
23
|
+
return `FlowDesk quick reviewer incomplete: ${acceptedCount}/${total} perspectives accepted via ${bindingText}. Blocker: ${blockReason}. Safe next actions: ${input.safeNextActions.join(", ")}.`;
|
|
24
|
+
}
|
|
6
25
|
const DEFAULT_TITLE = "FlowDesk quick reviewer run";
|
|
7
26
|
const DEFAULT_SOURCE_LABEL = "gpt_frontier";
|
|
27
|
+
function defaultSourceLabelForReviewer(input) {
|
|
28
|
+
const binding = `${input.runtimeAgent} ${input.providerQualifiedModelId}`.toLowerCase();
|
|
29
|
+
if (binding.includes("claude") || binding.includes("opus"))
|
|
30
|
+
return "claude_opus";
|
|
31
|
+
if (binding.includes("gemini"))
|
|
32
|
+
return "gemini_pro";
|
|
33
|
+
if (binding.includes("gpt") || binding.includes("openai"))
|
|
34
|
+
return "gpt_frontier";
|
|
35
|
+
return DEFAULT_SOURCE_LABEL;
|
|
36
|
+
}
|
|
8
37
|
function blocked(input) {
|
|
38
|
+
const safeNextActions = ["/flowdesk-status"];
|
|
39
|
+
const summaryForUser = buildQuickReviewerSummaryForUser({
|
|
40
|
+
status: "blocked_before_quick_reviewer_run",
|
|
41
|
+
providerQualifiedModelId: input.providerQualifiedModelId,
|
|
42
|
+
runtimeAgent: input.runtimeAgent,
|
|
43
|
+
laneCount: 0,
|
|
44
|
+
redactedBlockReason: input.reason,
|
|
45
|
+
safeNextActions,
|
|
46
|
+
});
|
|
9
47
|
return {
|
|
10
48
|
adapterProfile: "quick_reviewer_run_helper",
|
|
11
49
|
status: "blocked_before_quick_reviewer_run",
|
|
@@ -16,7 +54,8 @@ function blocked(input) {
|
|
|
16
54
|
laneCount: 0,
|
|
17
55
|
lanes: [],
|
|
18
56
|
redactedBlockReason: input.reason,
|
|
19
|
-
|
|
57
|
+
summaryForUser,
|
|
58
|
+
safeNextActions,
|
|
20
59
|
authority: {
|
|
21
60
|
realOpenCodeDispatch: false,
|
|
22
61
|
fallbackAuthority: false,
|
|
@@ -62,6 +101,49 @@ function quickReviewerLaunchPlan(input) {
|
|
|
62
101
|
runtimeExecution: false,
|
|
63
102
|
};
|
|
64
103
|
}
|
|
104
|
+
function concreteBindingOk(binding) {
|
|
105
|
+
return (typeof binding.providerQualifiedModelId === "string" &&
|
|
106
|
+
binding.providerQualifiedModelId.includes("/") &&
|
|
107
|
+
typeof binding.runtimeAgent === "string" &&
|
|
108
|
+
binding.runtimeAgent.trim().length > 0);
|
|
109
|
+
}
|
|
110
|
+
function resolveQuickReviewerBindings(input) {
|
|
111
|
+
const explicitBindings = Array.isArray(input.bindings) ? input.bindings : [];
|
|
112
|
+
const bindings = [];
|
|
113
|
+
for (const perspective of input.perspectives) {
|
|
114
|
+
const explicit = explicitBindings.find((binding) => binding.perspective === perspective);
|
|
115
|
+
const providerQualifiedModelId = explicit?.providerQualifiedModelId ?? input.providerQualifiedModelId;
|
|
116
|
+
const runtimeAgent = explicit?.runtimeAgent ?? input.runtimeAgent;
|
|
117
|
+
const sourceLabel = explicit?.sourceLabel ?? input.sourceLabel;
|
|
118
|
+
const resolved = {
|
|
119
|
+
providerQualifiedModelId,
|
|
120
|
+
runtimeAgent,
|
|
121
|
+
};
|
|
122
|
+
if (!concreteBindingOk(resolved)) {
|
|
123
|
+
return { ok: false, reason: `missing concrete reviewer binding for ${perspective}` };
|
|
124
|
+
}
|
|
125
|
+
bindings.push({
|
|
126
|
+
perspective,
|
|
127
|
+
providerQualifiedModelId: providerQualifiedModelId,
|
|
128
|
+
runtimeAgent: runtimeAgent,
|
|
129
|
+
sourceLabel: sourceLabel ??
|
|
130
|
+
defaultSourceLabelForReviewer({
|
|
131
|
+
providerQualifiedModelId: providerQualifiedModelId,
|
|
132
|
+
runtimeAgent: runtimeAgent,
|
|
133
|
+
}),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
ok: true,
|
|
138
|
+
bindings,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
function bindingSummary(bindings) {
|
|
142
|
+
const distinct = [...new Set(bindings.map((binding) => `${binding.runtimeAgent} on ${binding.providerQualifiedModelId}`))];
|
|
143
|
+
if (distinct.length === 1)
|
|
144
|
+
return distinct[0] ?? "(none)";
|
|
145
|
+
return `${distinct.length} reviewer bindings (${distinct.join("; ")})`;
|
|
146
|
+
}
|
|
65
147
|
function quickReviewerPrompt(input) {
|
|
66
148
|
const expected = {
|
|
67
149
|
schema_version: "flowdesk.top_tier_review_verdict.v1",
|
|
@@ -75,9 +157,12 @@ function quickReviewerPrompt(input) {
|
|
|
75
157
|
redaction_version: "redaction-v1",
|
|
76
158
|
findings: [
|
|
77
159
|
{
|
|
160
|
+
finding_id: `finding-${input.perspective}-1`,
|
|
78
161
|
severity: "info",
|
|
79
|
-
category: "
|
|
80
|
-
|
|
162
|
+
category: "conformance",
|
|
163
|
+
summary_label: "Replace this placeholder with the most important review finding, or remove this finding if there are no findings.",
|
|
164
|
+
evidence_refs: [input.evidenceRef],
|
|
165
|
+
required_fix_label: "Replace this placeholder with the required fix, or remove this finding if no fix is required.",
|
|
81
166
|
},
|
|
82
167
|
],
|
|
83
168
|
evidence_refs: [input.evidenceRef],
|
|
@@ -158,8 +243,9 @@ function sessionIdFromResponse(value) {
|
|
|
158
243
|
return undefined;
|
|
159
244
|
}
|
|
160
245
|
export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
161
|
-
const
|
|
162
|
-
const
|
|
246
|
+
const firstBinding = Array.isArray(input.bindings) ? input.bindings[0] : undefined;
|
|
247
|
+
const providerQualifiedModelId = input.providerQualifiedModelId ?? firstBinding?.providerQualifiedModelId ?? "";
|
|
248
|
+
const runtimeAgent = input.runtimeAgent ?? firstBinding?.runtimeAgent ?? "";
|
|
163
249
|
if (input.developerModeAcknowledged !== true)
|
|
164
250
|
return blocked({
|
|
165
251
|
reason: "developerModeAcknowledged=true is required for quick reviewer run",
|
|
@@ -178,19 +264,20 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
178
264
|
providerQualifiedModelId,
|
|
179
265
|
runtimeAgent,
|
|
180
266
|
});
|
|
181
|
-
if (
|
|
182
|
-
!providerQualifiedModelId.includes("/"))
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
267
|
+
if (!Array.isArray(input.bindings)) {
|
|
268
|
+
if (!providerQualifiedModelId.includes("/"))
|
|
269
|
+
return blocked({
|
|
270
|
+
reason: "providerQualifiedModelId must be a concrete provider/model id",
|
|
271
|
+
providerQualifiedModelId,
|
|
272
|
+
runtimeAgent,
|
|
273
|
+
});
|
|
274
|
+
if (runtimeAgent.trim().length === 0)
|
|
275
|
+
return blocked({
|
|
276
|
+
reason: "runtimeAgent is required",
|
|
277
|
+
providerQualifiedModelId,
|
|
278
|
+
runtimeAgent,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
194
281
|
const observedAtMs = Date.now();
|
|
195
282
|
const token = timestampToken(observedAtMs);
|
|
196
283
|
const observedAt = input.observedAt ?? new Date(observedAtMs).toISOString();
|
|
@@ -205,7 +292,23 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
205
292
|
workflowId,
|
|
206
293
|
attemptId,
|
|
207
294
|
});
|
|
208
|
-
const
|
|
295
|
+
const resolvedBindings = resolveQuickReviewerBindings({
|
|
296
|
+
perspectives,
|
|
297
|
+
providerQualifiedModelId: input.providerQualifiedModelId,
|
|
298
|
+
runtimeAgent: input.runtimeAgent,
|
|
299
|
+
sourceLabel: input.sourceLabel,
|
|
300
|
+
bindings: input.bindings,
|
|
301
|
+
});
|
|
302
|
+
if (!resolvedBindings.ok)
|
|
303
|
+
return blocked({
|
|
304
|
+
reason: resolvedBindings.reason,
|
|
305
|
+
providerQualifiedModelId,
|
|
306
|
+
runtimeAgent,
|
|
307
|
+
workflowId,
|
|
308
|
+
attemptId,
|
|
309
|
+
});
|
|
310
|
+
const bindings = resolvedBindings.bindings;
|
|
311
|
+
const summaryBindingText = bindingSummary(bindings);
|
|
209
312
|
let parentSessionId = input.parentSessionId;
|
|
210
313
|
if (parentSessionId === undefined) {
|
|
211
314
|
const create = input.client.session.create;
|
|
@@ -241,16 +344,16 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
241
344
|
attemptId,
|
|
242
345
|
});
|
|
243
346
|
const rootDir = input.rootDir ?? mkdtempSync(join(tmpdir(), "flowdesk-quick-reviewer-"));
|
|
244
|
-
const launchPlans =
|
|
347
|
+
const launchPlans = bindings.map((binding) => quickReviewerLaunchPlan({
|
|
245
348
|
workflowId,
|
|
246
349
|
attemptId,
|
|
247
350
|
parentSessionId,
|
|
248
|
-
providerQualifiedModelId,
|
|
249
|
-
runtimeAgent,
|
|
250
|
-
perspective,
|
|
351
|
+
providerQualifiedModelId: binding.providerQualifiedModelId,
|
|
352
|
+
runtimeAgent: binding.runtimeAgent,
|
|
353
|
+
perspective: binding.perspective,
|
|
251
354
|
token,
|
|
252
355
|
}));
|
|
253
|
-
const launchPlanEvidenceIds =
|
|
356
|
+
const launchPlanEvidenceIds = bindings.map((binding) => `launch-plan-quick-${binding.perspective}-${token}`);
|
|
254
357
|
const writeIntents = [];
|
|
255
358
|
for (const [index, plan] of launchPlans.entries()) {
|
|
256
359
|
const prepared = prepareFlowDeskSessionEvidenceWriteIntentV1({
|
|
@@ -286,29 +389,29 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
286
389
|
observedAtMs,
|
|
287
390
|
token,
|
|
288
391
|
});
|
|
289
|
-
const verdictExpectations =
|
|
290
|
-
launchPlanEvidenceId: `launch-plan-quick-${perspective}-${token}`,
|
|
291
|
-
lanePlanRef: `lane-plan-quick-${perspective}-${token}`,
|
|
292
|
-
bindingRef: `binding-quick-${perspective}-${token}`,
|
|
293
|
-
perspective,
|
|
392
|
+
const verdictExpectations = bindings.map((binding) => ({
|
|
393
|
+
launchPlanEvidenceId: `launch-plan-quick-${binding.perspective}-${token}`,
|
|
394
|
+
lanePlanRef: `lane-plan-quick-${binding.perspective}-${token}`,
|
|
395
|
+
bindingRef: `binding-quick-${binding.perspective}-${token}`,
|
|
396
|
+
perspective: binding.perspective,
|
|
294
397
|
promptText: quickReviewerPrompt({
|
|
295
398
|
prompt: input.prompt,
|
|
296
399
|
workflowId,
|
|
297
|
-
perspective,
|
|
298
|
-
lanePlanRef: `lane-plan-quick-${perspective}-${token}`,
|
|
299
|
-
bindingRef: `binding-quick-${perspective}-${token}`,
|
|
300
|
-
verdictId: `verdict-quick-${perspective}-${token}`,
|
|
301
|
-
evidenceRef: `evidence-quick-${perspective}-${token}`,
|
|
400
|
+
perspective: binding.perspective,
|
|
401
|
+
lanePlanRef: `lane-plan-quick-${binding.perspective}-${token}`,
|
|
402
|
+
bindingRef: `binding-quick-${binding.perspective}-${token}`,
|
|
403
|
+
verdictId: `verdict-quick-${binding.perspective}-${token}`,
|
|
404
|
+
evidenceRef: `evidence-quick-${binding.perspective}-${token}`,
|
|
302
405
|
observedAt,
|
|
303
|
-
sourceLabel,
|
|
406
|
+
sourceLabel: binding.sourceLabel,
|
|
304
407
|
}),
|
|
305
|
-
runningLifecycleEvidenceId: `lifecycle-running-quick-${perspective}-${token}`,
|
|
306
|
-
completeLifecycleEvidenceId: `lifecycle-complete-quick-${perspective}-${token}`,
|
|
307
|
-
reviewerVerdictEvidenceId: `reviewer-verdict-quick-${perspective}-${token}`,
|
|
308
|
-
outputRef: `output-quick-${perspective}-${token}`,
|
|
309
|
-
runtimeEchoRef: `runtime-echo-quick-${perspective}-${token}`,
|
|
310
|
-
telemetryRef: `telemetry-quick-${perspective}-${token}`,
|
|
311
|
-
title: `${input.title ?? DEFAULT_TITLE} ${perspective}`.slice(0, 120),
|
|
408
|
+
runningLifecycleEvidenceId: `lifecycle-running-quick-${binding.perspective}-${token}`,
|
|
409
|
+
completeLifecycleEvidenceId: `lifecycle-complete-quick-${binding.perspective}-${token}`,
|
|
410
|
+
reviewerVerdictEvidenceId: `reviewer-verdict-quick-${binding.perspective}-${token}`,
|
|
411
|
+
outputRef: `output-quick-${binding.perspective}-${token}`,
|
|
412
|
+
runtimeEchoRef: `runtime-echo-quick-${binding.perspective}-${token}`,
|
|
413
|
+
telemetryRef: `telemetry-quick-${binding.perspective}-${token}`,
|
|
414
|
+
title: `${input.title ?? DEFAULT_TITLE} ${binding.perspective}`.slice(0, 120),
|
|
312
415
|
}));
|
|
313
416
|
const bridgeResult = await executeFlowDeskRuntimeReviewerExecutionBridgeV1({
|
|
314
417
|
client: input.client,
|
|
@@ -324,33 +427,75 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
324
427
|
},
|
|
325
428
|
});
|
|
326
429
|
const lanes = Array.isArray(bridgeResult.lanes)
|
|
327
|
-
? bridgeResult.lanes.map((lane) =>
|
|
328
|
-
perspective
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
:
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
430
|
+
? bridgeResult.lanes.map((lane) => {
|
|
431
|
+
const perspective = String(lane.perspective ?? "");
|
|
432
|
+
const binding = bindings.find((item) => item.perspective === perspective);
|
|
433
|
+
return {
|
|
434
|
+
perspective,
|
|
435
|
+
launchPlanEvidenceId: String(lane.launchPlanEvidenceId ?? ""),
|
|
436
|
+
...(binding === undefined
|
|
437
|
+
? {}
|
|
438
|
+
: {
|
|
439
|
+
providerQualifiedModelId: binding.providerQualifiedModelId,
|
|
440
|
+
runtimeAgent: binding.runtimeAgent,
|
|
441
|
+
}),
|
|
442
|
+
...(lane.verdictId === undefined
|
|
443
|
+
? {}
|
|
444
|
+
: { verdictId: String(lane.verdictId) }),
|
|
445
|
+
...(lane.launchStatus === undefined
|
|
446
|
+
? {}
|
|
447
|
+
: { launchStatus: String(lane.launchStatus) }),
|
|
448
|
+
...(lane.runningLifecycle === undefined
|
|
449
|
+
? {}
|
|
450
|
+
: { runningLifecycle: String(lane.runningLifecycle) }),
|
|
451
|
+
...(lane.completeLifecycle === undefined
|
|
452
|
+
? {}
|
|
453
|
+
: { completeLifecycle: String(lane.completeLifecycle) }),
|
|
454
|
+
...(lane.observationStatus === undefined
|
|
455
|
+
? {}
|
|
456
|
+
: { observationStatus: String(lane.observationStatus) }),
|
|
457
|
+
...(lane.verdictMaterializationStatus === undefined
|
|
458
|
+
? {}
|
|
459
|
+
: {
|
|
460
|
+
verdictMaterializationStatus: String(lane.verdictMaterializationStatus),
|
|
461
|
+
}),
|
|
462
|
+
...(Array.isArray(lane.redactedObservationErrors)
|
|
463
|
+
? {
|
|
464
|
+
redactedObservationErrors: lane.redactedObservationErrors
|
|
465
|
+
.filter((error) => typeof error === "string")
|
|
466
|
+
.slice(0, 8),
|
|
467
|
+
}
|
|
468
|
+
: {}),
|
|
469
|
+
};
|
|
470
|
+
})
|
|
351
471
|
: [];
|
|
352
472
|
const completed = bridgeResult.status === "runtime_reviewer_execution_completed" &&
|
|
353
473
|
bridgeResult.durableLinkageStatus === "durable_verdicts_accepted";
|
|
474
|
+
const acceptedPerspectives = Array.isArray(bridgeResult.acceptedPerspectives)
|
|
475
|
+
? bridgeResult.acceptedPerspectives
|
|
476
|
+
: undefined;
|
|
477
|
+
const linkedVerdictCount = typeof bridgeResult.linkedVerdictCount === "number"
|
|
478
|
+
? bridgeResult.linkedVerdictCount
|
|
479
|
+
: undefined;
|
|
480
|
+
const redactedBlockReason = typeof bridgeResult.redactedBlockReason === "string"
|
|
481
|
+
? bridgeResult.redactedBlockReason
|
|
482
|
+
: undefined;
|
|
483
|
+
const safeNextActions = completed
|
|
484
|
+
? ["/flowdesk-status"]
|
|
485
|
+
: ["/flowdesk-status", "/flowdesk-export-debug"];
|
|
486
|
+
const summaryForUser = buildQuickReviewerSummaryForUser({
|
|
487
|
+
status: completed
|
|
488
|
+
? "quick_reviewer_run_completed"
|
|
489
|
+
: "quick_reviewer_run_incomplete",
|
|
490
|
+
providerQualifiedModelId,
|
|
491
|
+
runtimeAgent,
|
|
492
|
+
bindingSummary: summaryBindingText,
|
|
493
|
+
laneCount: lanes.length,
|
|
494
|
+
acceptedPerspectives,
|
|
495
|
+
linkedVerdictCount,
|
|
496
|
+
redactedBlockReason,
|
|
497
|
+
safeNextActions,
|
|
498
|
+
});
|
|
354
499
|
return {
|
|
355
500
|
adapterProfile: "quick_reviewer_run_helper",
|
|
356
501
|
status: completed
|
|
@@ -364,6 +509,7 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
364
509
|
runtimeAgent,
|
|
365
510
|
laneCount: lanes.length,
|
|
366
511
|
lanes,
|
|
512
|
+
summaryForUser,
|
|
367
513
|
...(typeof bridgeResult.acceptanceStatus === "string"
|
|
368
514
|
? { acceptanceStatus: bridgeResult.acceptanceStatus }
|
|
369
515
|
: {}),
|
|
@@ -384,9 +530,7 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
|
|
|
384
530
|
...(typeof bridgeResult.redactedBlockReason === "string"
|
|
385
531
|
? { redactedBlockReason: bridgeResult.redactedBlockReason }
|
|
386
532
|
: {}),
|
|
387
|
-
safeNextActions
|
|
388
|
-
? ["/flowdesk-status"]
|
|
389
|
-
: ["/flowdesk-status", "/flowdesk-export-debug"],
|
|
533
|
+
safeNextActions,
|
|
390
534
|
authority: {
|
|
391
535
|
realOpenCodeDispatch: false,
|
|
392
536
|
fallbackAuthority: false,
|