@flowdesk/opencode-plugin 0.1.12 → 0.1.13

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.
Files changed (57) hide show
  1. package/dist/agent-task-runner.d.ts +1 -0
  2. package/dist/agent-task-runner.d.ts.map +1 -1
  3. package/dist/agent-task-runner.js +172 -26
  4. package/dist/agent-task-runner.js.map +1 -1
  5. package/dist/controlled-write-tool.d.ts +49 -0
  6. package/dist/controlled-write-tool.d.ts.map +1 -0
  7. package/dist/controlled-write-tool.js +296 -0
  8. package/dist/controlled-write-tool.js.map +1 -0
  9. package/dist/managed-dispatch-adapter.d.ts +1 -0
  10. package/dist/managed-dispatch-adapter.d.ts.map +1 -1
  11. package/dist/managed-dispatch-adapter.js +93 -26
  12. package/dist/managed-dispatch-adapter.js.map +1 -1
  13. package/dist/provider-usage-live-tool.d.ts +17 -0
  14. package/dist/provider-usage-live-tool.d.ts.map +1 -1
  15. package/dist/provider-usage-live-tool.js +317 -5
  16. package/dist/provider-usage-live-tool.js.map +1 -1
  17. package/dist/quick-reviewer-run.d.ts +3 -0
  18. package/dist/quick-reviewer-run.d.ts.map +1 -1
  19. package/dist/quick-reviewer-run.js +20 -8
  20. package/dist/quick-reviewer-run.js.map +1 -1
  21. package/dist/runtime-reviewer-execution-bridge.d.ts +21 -0
  22. package/dist/runtime-reviewer-execution-bridge.d.ts.map +1 -1
  23. package/dist/runtime-reviewer-execution-bridge.js +238 -0
  24. package/dist/runtime-reviewer-execution-bridge.js.map +1 -1
  25. package/dist/server.d.ts +25 -0
  26. package/dist/server.d.ts.map +1 -1
  27. package/dist/server.js +356 -25
  28. package/dist/server.js.map +1 -1
  29. package/dist/stall-recovery.d.ts +27 -0
  30. package/dist/stall-recovery.d.ts.map +1 -1
  31. package/dist/stall-recovery.js +305 -10
  32. package/dist/stall-recovery.js.map +1 -1
  33. package/dist/status-live-tool.d.ts +27 -0
  34. package/dist/status-live-tool.d.ts.map +1 -1
  35. package/dist/status-live-tool.js +179 -1
  36. package/dist/status-live-tool.js.map +1 -1
  37. package/dist/tui-usage-snapshot.d.ts +30 -0
  38. package/dist/tui-usage-snapshot.d.ts.map +1 -0
  39. package/dist/tui-usage-snapshot.js +216 -0
  40. package/dist/tui-usage-snapshot.js.map +1 -0
  41. package/dist/tui.d.ts +7 -0
  42. package/dist/tui.d.ts.map +1 -0
  43. package/dist/tui.js +103 -0
  44. package/dist/tui.js.map +1 -0
  45. package/dist/workflow-dispatch-plan-tool.d.ts +47 -0
  46. package/dist/workflow-dispatch-plan-tool.d.ts.map +1 -0
  47. package/dist/workflow-dispatch-plan-tool.js +251 -0
  48. package/dist/workflow-dispatch-plan-tool.js.map +1 -0
  49. package/dist/workflow-dispatch-tool.d.ts +56 -0
  50. package/dist/workflow-dispatch-tool.d.ts.map +1 -0
  51. package/dist/workflow-dispatch-tool.js +276 -0
  52. package/dist/workflow-dispatch-tool.js.map +1 -0
  53. package/dist/workflow-scheduler.d.ts +19 -0
  54. package/dist/workflow-scheduler.d.ts.map +1 -0
  55. package/dist/workflow-scheduler.js +43 -0
  56. package/dist/workflow-scheduler.js.map +1 -0
  57. package/package.json +9 -1
@@ -1,5 +1,7 @@
1
1
  import { execFileSync } from "node:child_process";
2
- import { applyFlowDeskSessionEvidenceWriteIntentsV1, collectManagedDispatchBetaUsageEvidenceV1, prepareFlowDeskSessionEvidenceWriteIntentV1, } from "@flowdesk/core";
2
+ import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
3
+ import { join, resolve, sep } from "node:path";
4
+ import { applyFlowDeskSessionEvidenceWriteIntentsV1, collectManagedDispatchBetaUsageEvidenceV1, prepareFlowDeskSessionEvidenceWriteIntentV1, reloadFlowDeskSessionEvidenceV1, } from "@flowdesk/core";
3
5
  const defaultExecFile = (file, args) => execFileSync(file, args, {
4
6
  encoding: "utf-8",
5
7
  stdio: ["ignore", "pipe", "ignore"],
@@ -151,6 +153,69 @@ function rowFromCollectorResult(family, result) {
151
153
  usageAuthorityAcquired: result.usageAuthorityEvidence?.usage_acquired === true,
152
154
  };
153
155
  }
156
+ function rowFromUsageSnapshot(family, snapshot) {
157
+ const remainingPercent = remainingPercentFromSnapshot(snapshot);
158
+ const alert = classifyUsageSnapshot(family, snapshot, remainingPercent);
159
+ return {
160
+ providerFamily: family,
161
+ ok: snapshot.dispatchability === "dispatchable" && snapshot.freshness === "fresh",
162
+ dispatchability: snapshot.dispatchability,
163
+ freshness: snapshot.freshness,
164
+ resetBucket: snapshot.reset_bucket,
165
+ resetTime: snapshot.reset_time,
166
+ remainingPercent,
167
+ alertLevel: alert.alertLevel,
168
+ recommendation: `${alert.recommendation} Reused a fresh durable usage snapshot to avoid another provider usage call.`,
169
+ uncertaintyFlags: [...snapshot.uncertainty_flags],
170
+ modelFamily: snapshot.model_family,
171
+ usageSnapshotRef: snapshot.snapshot_id,
172
+ providerHealthSnapshotRef: `cached-health-${snapshot.snapshot_id}`,
173
+ usageAuthorityAcquired: true,
174
+ };
175
+ }
176
+ function remainingPercentFromSnapshot(snapshot) {
177
+ const match = /^([0-9]+(?:\.[0-9]+)?)%/.exec(snapshot.reset_bucket);
178
+ if (match === null)
179
+ return null;
180
+ const parsed = Number.parseFloat(match[1]);
181
+ return Number.isFinite(parsed) ? parsed : null;
182
+ }
183
+ function classifyUsageSnapshot(family, snapshot, remaining) {
184
+ if (snapshot.freshness !== "fresh") {
185
+ return {
186
+ alertLevel: snapshot.freshness === "stale" ? "stale" : "unknown",
187
+ recommendation: `Provider usage snapshot for ${family} is ${snapshot.freshness}; refresh provider auth before relying on it.`,
188
+ };
189
+ }
190
+ if (remaining === null) {
191
+ return {
192
+ alertLevel: "unknown",
193
+ recommendation: `Provider usage snapshot for ${family} did not include a parseable remaining percentage; proceed with caution.`,
194
+ };
195
+ }
196
+ if (remaining <= 0) {
197
+ return {
198
+ alertLevel: "exhausted",
199
+ recommendation: `${family} bucket ${snapshot.reset_bucket} is exhausted; wait for reset at ${snapshot.reset_time} or switch providers.`,
200
+ };
201
+ }
202
+ if (remaining <= 10) {
203
+ return {
204
+ alertLevel: "critical",
205
+ recommendation: `${family} bucket ${snapshot.reset_bucket} is critically low (~${remaining.toFixed(1)}%). Avoid starting large work until reset at ${snapshot.reset_time}, or switch providers for big tasks.`,
206
+ };
207
+ }
208
+ if (remaining <= 30) {
209
+ return {
210
+ alertLevel: "warning",
211
+ recommendation: `${family} bucket ${snapshot.reset_bucket} is around ${remaining.toFixed(1)}%; keep heavier tasks short or stage them around the reset at ${snapshot.reset_time}.`,
212
+ };
213
+ }
214
+ return {
215
+ alertLevel: "ok",
216
+ recommendation: `${family} bucket ${snapshot.reset_bucket} has ${remaining.toFixed(1)}% remaining until reset at ${snapshot.reset_time}; safe to proceed with regular tasks.`,
217
+ };
218
+ }
154
219
  export async function executeFlowDeskProviderUsageLiveV1(input) {
155
220
  const observedAt = (input.now ? input.now() : new Date()).toISOString();
156
221
  const requestedRaw = input.request?.providerFamily?.toLowerCase().trim();
@@ -180,11 +245,14 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
180
245
  authority: blockedAuthority(),
181
246
  };
182
247
  }
183
- const acquisition = acquisitionConfigFromLive(input.config, families);
248
+ const snapshotReuse = loadFreshProviderUsageSnapshots(input.config, families, observedAt);
249
+ const cachedByFamily = new Map(snapshotReuse.cached.map((cached) => [cached.family, cached]));
250
+ const familiesToCollect = families.filter((family) => !cachedByFamily.has(family));
251
+ const acquisition = acquisitionConfigFromLive(input.config, familiesToCollect);
184
252
  const collectorOptions = {
185
253
  execFile: defaultExecFile,
186
254
  };
187
- const collectorResults = await Promise.all(families.map(async (family) => {
255
+ const collectorResults = await Promise.all(familiesToCollect.map(async (family) => {
188
256
  try {
189
257
  const result = await collectManagedDispatchBetaUsageEvidenceV1(targetFor(family, observedAt), acquisition, collectorOptions);
190
258
  return { family, result };
@@ -196,11 +264,19 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
196
264
  };
197
265
  }
198
266
  }));
199
- const providers = collectorResults.map(({ family, result }) => rowFromCollectorResult(family, result));
267
+ const providerRows = families.map((family) => {
268
+ const cached = cachedByFamily.get(family);
269
+ if (cached !== undefined)
270
+ return rowFromUsageSnapshot(family, cached.snapshot);
271
+ const collected = collectorResults.find((result) => result.family === family);
272
+ return rowFromCollectorResult(family, collected?.result);
273
+ });
274
+ const providers = enrichProviderRowsFromReusableSidebarCache(input.config, providerRows, observedAt);
200
275
  const anyAcquired = providers.some((row) => row.usageAuthorityAcquired);
201
276
  const worstAlertLevel = computeWorstAlertLevel(providers);
202
277
  const overallRecommendation = composeOverallRecommendation(providers, worstAlertLevel);
203
278
  const snapshotPersistence = persistProviderUsageSnapshots(input.config, collectorResults, observedAt);
279
+ const sidebarCachePersistence = persistProviderUsageSidebarCache(input.config, providers, observedAt);
204
280
  return {
205
281
  status: "provider_usage_live_collected",
206
282
  observedAt,
@@ -209,9 +285,13 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
209
285
  providers,
210
286
  worstAlertLevel,
211
287
  overallRecommendation,
288
+ ...(snapshotReuse.report !== undefined ? { snapshotReuse: snapshotReuse.report } : {}),
212
289
  ...(snapshotPersistence !== undefined
213
290
  ? { snapshotPersistence }
214
291
  : {}),
292
+ ...(sidebarCachePersistence !== undefined
293
+ ? { sidebarCachePersistence }
294
+ : {}),
215
295
  safeNextActions: safeNextActions(),
216
296
  authority: {
217
297
  realOpenCodeDispatch: false,
@@ -225,6 +305,239 @@ export async function executeFlowDeskProviderUsageLiveV1(input) {
225
305
  },
226
306
  };
227
307
  }
308
+ function alertLevelForRemainingPercent(freshness, remainingPercent) {
309
+ if (freshness !== "fresh")
310
+ return freshness === "stale" ? "stale" : "unknown";
311
+ if (remainingPercent === null)
312
+ return "unknown";
313
+ if (remainingPercent <= 0)
314
+ return "exhausted";
315
+ if (remainingPercent <= 10)
316
+ return "critical";
317
+ if (remainingPercent <= 30)
318
+ return "warning";
319
+ return "ok";
320
+ }
321
+ function loadReusableSidebarCacheUsageRows(config, observedAt) {
322
+ const rows = new Map();
323
+ if (typeof config.durableStateRootDir !== "string" ||
324
+ config.durableStateRootDir.trim().length === 0)
325
+ return rows;
326
+ const root = resolve(config.durableStateRootDir);
327
+ const dir = resolve(root, ".flowdesk", "ui");
328
+ if (dir !== root && !dir.startsWith(`${root}${sep}`))
329
+ return rows;
330
+ try {
331
+ const parsed = JSON.parse(readFileSync(join(dir, "provider-usage-sidebar.json"), "utf8"));
332
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
333
+ return rows;
334
+ const cache = parsed;
335
+ if (cache.schema_version !== "flowdesk.provider_usage_sidebar_cache.v1")
336
+ return rows;
337
+ const expiresAt = typeof cache.expires_at === "string"
338
+ ? Date.parse(cache.expires_at)
339
+ : Number.NaN;
340
+ if (!Number.isFinite(expiresAt) || expiresAt <= Date.parse(observedAt))
341
+ return rows;
342
+ if (!Array.isArray(cache.providers))
343
+ return rows;
344
+ for (const item of cache.providers) {
345
+ if (typeof item !== "object" || item === null || Array.isArray(item))
346
+ continue;
347
+ const row = item;
348
+ if (typeof row.providerFamily !== "string" || !isProviderFamily(row.providerFamily))
349
+ continue;
350
+ if (typeof row.usageSnapshotRef !== "string")
351
+ continue;
352
+ if (typeof row.remainingPercent !== "number" ||
353
+ !Number.isFinite(row.remainingPercent))
354
+ continue;
355
+ rows.set(row.usageSnapshotRef, {
356
+ providerFamily: row.providerFamily,
357
+ usageSnapshotRef: row.usageSnapshotRef,
358
+ remainingPercent: row.remainingPercent,
359
+ });
360
+ }
361
+ }
362
+ catch {
363
+ return rows;
364
+ }
365
+ return rows;
366
+ }
367
+ function enrichProviderRowsFromReusableSidebarCache(config, providers, observedAt) {
368
+ const reusable = loadReusableSidebarCacheUsageRows(config, observedAt);
369
+ if (reusable.size === 0)
370
+ return providers;
371
+ return providers.map((row) => {
372
+ if (row.remainingPercent !== null || row.usageSnapshotRef === undefined)
373
+ return row;
374
+ const cached = reusable.get(row.usageSnapshotRef);
375
+ if (cached === undefined || cached.providerFamily !== row.providerFamily)
376
+ return row;
377
+ const alertLevel = alertLevelForRemainingPercent(row.freshness, cached.remainingPercent);
378
+ return {
379
+ ...row,
380
+ remainingPercent: cached.remainingPercent,
381
+ alertLevel,
382
+ recommendation: `${row.providerFamily} reused a fresh durable usage snapshot and preserved ${cached.remainingPercent.toFixed(1)}% remaining from the previous fresh sidebar cache for the same usage snapshot.`,
383
+ };
384
+ });
385
+ }
386
+ function persistProviderUsageSidebarCache(config, providers, observedAt) {
387
+ if (config.persistSidebarCache !== true && config.persistSnapshots !== true)
388
+ return undefined;
389
+ if (typeof config.durableStateRootDir !== "string" ||
390
+ config.durableStateRootDir.trim().length === 0) {
391
+ return {
392
+ requested: true,
393
+ durableStateRootConfigured: false,
394
+ persisted: false,
395
+ skippedReasons: [
396
+ "provider usage sidebar cache requested but no durable state root configured",
397
+ ],
398
+ };
399
+ }
400
+ const root = resolve(config.durableStateRootDir);
401
+ const dir = resolve(root, ".flowdesk", "ui");
402
+ if (dir !== root && !dir.startsWith(`${root}${sep}`)) {
403
+ return {
404
+ requested: true,
405
+ durableStateRootConfigured: true,
406
+ persisted: false,
407
+ skippedReasons: ["resolved sidebar cache path escapes durable root"],
408
+ };
409
+ }
410
+ const cachePath = join(dir, "provider-usage-sidebar.json");
411
+ const tempPath = join(dir, `provider-usage-sidebar.${observedAt.replace(/[^0-9A-Za-z]/g, "")}.tmp`);
412
+ const record = {
413
+ schema_version: "flowdesk.provider_usage_sidebar_cache.v1",
414
+ observed_at: observedAt,
415
+ expires_at: new Date(Date.parse(observedAt) + 5 * 60_000).toISOString(),
416
+ providers: providers.map((row) => ({
417
+ providerFamily: row.providerFamily,
418
+ connected: row.dispatchability === "dispatchable" &&
419
+ row.freshness === "fresh" &&
420
+ row.usageAuthorityAcquired === true,
421
+ dispatchability: row.dispatchability,
422
+ freshness: row.freshness,
423
+ ...(row.resetBucket === undefined ? {} : { resetBucket: row.resetBucket }),
424
+ ...(row.resetTime === undefined ? {} : { resetTime: row.resetTime }),
425
+ remainingPercent: row.remainingPercent,
426
+ alertLevel: row.alertLevel,
427
+ ...(row.modelFamily === undefined ? {} : { modelFamily: row.modelFamily }),
428
+ ...(row.redactedReason === undefined ? {} : { redactedReason: row.redactedReason }),
429
+ ...(row.usageSnapshotRef === undefined ? {} : { usageSnapshotRef: row.usageSnapshotRef }),
430
+ uncertaintyFlags: [...row.uncertaintyFlags],
431
+ })),
432
+ safeNextActions: ["/flowdesk-usage", "/flowdesk-status", "/flowdesk-doctor"],
433
+ authority: {
434
+ realOpenCodeDispatch: false,
435
+ providerCall: false,
436
+ runtimeExecution: false,
437
+ actualLaneLaunch: false,
438
+ fallbackAuthority: false,
439
+ hardCancelOrNoReplyAuthority: false,
440
+ },
441
+ };
442
+ try {
443
+ mkdirSync(dir, { recursive: true });
444
+ writeFileSync(tempPath, `${JSON.stringify(record, null, 2)}\n`, "utf8");
445
+ renameSync(tempPath, cachePath);
446
+ return {
447
+ requested: true,
448
+ durableStateRootConfigured: true,
449
+ cachePathRef: ".flowdesk/ui/provider-usage-sidebar.json",
450
+ persisted: true,
451
+ skippedReasons: [],
452
+ };
453
+ }
454
+ catch {
455
+ return {
456
+ requested: true,
457
+ durableStateRootConfigured: true,
458
+ cachePathRef: ".flowdesk/ui/provider-usage-sidebar.json",
459
+ persisted: false,
460
+ skippedReasons: ["failed to write sidebar cache"],
461
+ };
462
+ }
463
+ }
464
+ function loadFreshProviderUsageSnapshots(config, families, observedAt) {
465
+ if (typeof config.durableStateRootDir !== "string" || config.durableStateRootDir.trim().length === 0)
466
+ return { cached: [] };
467
+ const workflowId = sanitizePersistWorkflowId(config.persistWorkflowId);
468
+ const reload = reloadFlowDeskSessionEvidenceV1({
469
+ rootDir: config.durableStateRootDir,
470
+ workflowId,
471
+ });
472
+ const skippedReasons = [];
473
+ if (!reload.ok) {
474
+ return {
475
+ cached: [],
476
+ report: {
477
+ requested: true,
478
+ durableStateRootConfigured: true,
479
+ workflowId,
480
+ reusedEvidenceIds: [],
481
+ skippedReasons: [`reload failed: ${reload.errors.join("; ")}`],
482
+ },
483
+ };
484
+ }
485
+ const cached = [];
486
+ for (const family of families) {
487
+ const entry = latestFreshUsageSnapshotEntry(reload.entries, family, observedAt);
488
+ if (entry === undefined) {
489
+ skippedReasons.push(`${family}: no fresh durable usage snapshot within TTL`);
490
+ continue;
491
+ }
492
+ cached.push({
493
+ family,
494
+ snapshot: entry.record,
495
+ evidenceId: entry.evidenceId,
496
+ });
497
+ }
498
+ return {
499
+ cached,
500
+ report: {
501
+ requested: true,
502
+ durableStateRootConfigured: true,
503
+ workflowId,
504
+ reusedEvidenceIds: cached.map((entry) => entry.evidenceId),
505
+ skippedReasons,
506
+ },
507
+ };
508
+ }
509
+ function latestFreshUsageSnapshotEntry(entries, family, observedAt) {
510
+ const candidates = entries
511
+ .filter((entry) => entry.evidenceClass === "provider_usage_snapshot")
512
+ .filter((entry) => entry.record.provider_family === family)
513
+ .filter((entry) => entry.record.freshness === "fresh")
514
+ .map((entry) => ({ entry, observedAtMs: snapshotObservedAtMs(entry) }))
515
+ .filter((item) => item.observedAtMs !== undefined)
516
+ .filter((item) => {
517
+ const ttlMinutes = typeof item.entry.record.freshness_ttl === "number" ? item.entry.record.freshness_ttl : 0;
518
+ return new Date(observedAt).getTime() - item.observedAtMs <= ttlMinutes * 60_000;
519
+ })
520
+ .sort((a, b) => b.observedAtMs - a.observedAtMs);
521
+ return candidates[0]?.entry;
522
+ }
523
+ function snapshotObservedAtMs(entry) {
524
+ const fromEvidenceId = timestampFromUsageSnapshotId(entry.evidenceId);
525
+ if (fromEvidenceId !== undefined)
526
+ return fromEvidenceId;
527
+ const snapshotId = entry.record.snapshot_id;
528
+ return typeof snapshotId === "string"
529
+ ? timestampFromUsageSnapshotId(snapshotId)
530
+ : undefined;
531
+ }
532
+ function timestampFromUsageSnapshotId(value) {
533
+ const match = /(\d{8}T\d{9}Z)$/.exec(value);
534
+ if (match === null)
535
+ return undefined;
536
+ const stamp = match[1];
537
+ const iso = `${stamp.slice(0, 4)}-${stamp.slice(4, 6)}-${stamp.slice(6, 8)}T${stamp.slice(9, 11)}:${stamp.slice(11, 13)}:${stamp.slice(13, 15)}.${stamp.slice(15, 18)}Z`;
538
+ const parsed = Date.parse(iso);
539
+ return Number.isFinite(parsed) ? parsed : undefined;
540
+ }
228
541
  function persistProviderUsageSnapshots(config, collectorResults, observedAt) {
229
542
  if (config.persistSnapshots !== true)
230
543
  return undefined;
@@ -341,4 +654,3 @@ function composeOverallRecommendation(providers, worst) {
341
654
  return `Provider usage data is stale on ${families}; refresh provider auth and retry before relying on these numbers.`;
342
655
  return `Provider usage data is unknown on ${families}; refresh auth and retry, or pick a different provider.`;
343
656
  }
344
- //# sourceMappingURL=provider-usage-live-tool.js.map
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import { type FlowDeskTopTierReviewPerspective } from "@flowdesk/core";
2
2
  import type { FlowDeskManagedDispatchBetaOpenCodeClientV1 } from "./managed-dispatch-adapter.js";
3
+ import { type FlowDeskReviewerLaneCompletionWaitOptionsV1 } from "./runtime-reviewer-execution-bridge.js";
3
4
  export interface FlowDeskQuickReviewerRunRequestV1 {
4
5
  client: FlowDeskManagedDispatchBetaOpenCodeClientV1;
5
6
  prompt: string;
@@ -16,6 +17,7 @@ export interface FlowDeskQuickReviewerRunRequestV1 {
16
17
  observedAt?: string;
17
18
  sourceLabel?: string;
18
19
  title?: string;
20
+ completionWait?: FlowDeskReviewerLaneCompletionWaitOptionsV1;
19
21
  }
20
22
  export interface FlowDeskQuickReviewerRunBindingV1 {
21
23
  perspective: FlowDeskTopTierReviewPerspective;
@@ -68,5 +70,6 @@ export interface FlowDeskQuickReviewerRunResultV1 {
68
70
  quickReviewerRunExecuted: boolean;
69
71
  };
70
72
  }
73
+ export declare function normalizeQuickReviewerSourceLabelV1(value: string | undefined): string;
71
74
  export declare function executeFlowDeskQuickReviewerRunV1(input: FlowDeskQuickReviewerRunRequestV1): Promise<FlowDeskQuickReviewerRunResultV1>;
72
75
  //# sourceMappingURL=quick-reviewer-run.d.ts.map
@@ -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,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,iCAAiC,EAAE,CAAC;IACxD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iCAAiC;IACjD,WAAW,EAAE,gCAAgC,CAAC;IAC9C,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qCAAqC;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AASD,MAAM,WAAW,gCAAgC;IAChD,cAAc,EAAE,2BAA2B,CAAC;IAC5C,MAAM,EACH,8BAA8B,GAC9B,+BAA+B,GAC/B,mCAAmC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,qCAAqC,EAAE,CAAC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;IACvF,SAAS,EAAE;QACV,oBAAoB,EAAE,KAAK,CAAC;QAC5B,iBAAiB,EAAE,KAAK,CAAC;QACzB,4BAA4B,EAAE,KAAK,CAAC;QACpC,aAAa,EAAE,KAAK,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,gBAAgB,EAAE,OAAO,CAAC;QAC1B,wBAAwB,EAAE,KAAK,CAAC;QAChC,yBAAyB,EAAE,OAAO,CAAC;QACnC,wBAAwB,EAAE,OAAO,CAAC;KAClC,CAAC;CACF;AAsTD,wBAAsB,iCAAiC,CACtD,KAAK,EAAE,iCAAiC,GACtC,OAAO,CAAC,gCAAgC,CAAC,CAyU3C"}
1
+ {"version":3,"file":"quick-reviewer-run.d.ts","sourceRoot":"","sources":["../src/quick-reviewer-run.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { mkdtempSync } from "node:fs";
2
2
  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
- import { executeFlowDeskRuntimeReviewerExecutionBridgeV1 } from "./runtime-reviewer-execution-bridge.js";
5
+ import { executeFlowDeskRuntimeReviewerExecutionBridgeV1, } from "./runtime-reviewer-execution-bridge.js";
6
6
  function buildQuickReviewerSummaryForUser(input) {
7
7
  const acceptedCount = input.acceptedPerspectives?.length ?? 0;
8
8
  const total = input.laneCount;
@@ -24,6 +24,17 @@ function buildQuickReviewerSummaryForUser(input) {
24
24
  }
25
25
  const DEFAULT_TITLE = "FlowDesk quick reviewer run";
26
26
  const DEFAULT_SOURCE_LABEL = "gpt_frontier";
27
+ export function normalizeQuickReviewerSourceLabelV1(value) {
28
+ const normalized = (value ?? "")
29
+ .toLowerCase()
30
+ .replace(/[^a-z0-9_]+/g, "_")
31
+ .replace(/_+/g, "_")
32
+ .replace(/^_+|_+$/g, "")
33
+ .slice(0, 64);
34
+ if (normalized.length === 0)
35
+ return DEFAULT_SOURCE_LABEL;
36
+ return /^[a-z]/.test(normalized) ? normalized : `reviewer_${normalized}`.slice(0, 64);
37
+ }
27
38
  function defaultSourceLabelForReviewer(input) {
28
39
  const binding = `${input.runtimeAgent} ${input.providerQualifiedModelId}`.toLowerCase();
29
40
  if (binding.includes("claude") || binding.includes("opus"))
@@ -32,7 +43,7 @@ function defaultSourceLabelForReviewer(input) {
32
43
  return "gemini_pro";
33
44
  if (binding.includes("gpt") || binding.includes("openai"))
34
45
  return "gpt_frontier";
35
- return DEFAULT_SOURCE_LABEL;
46
+ return normalizeQuickReviewerSourceLabelV1(DEFAULT_SOURCE_LABEL);
36
47
  }
37
48
  function blocked(input) {
38
49
  const safeNextActions = ["/flowdesk-status"];
@@ -126,11 +137,11 @@ function resolveQuickReviewerBindings(input) {
126
137
  perspective,
127
138
  providerQualifiedModelId: providerQualifiedModelId,
128
139
  runtimeAgent: runtimeAgent,
129
- sourceLabel: sourceLabel ??
140
+ sourceLabel: normalizeQuickReviewerSourceLabelV1(sourceLabel ??
130
141
  defaultSourceLabelForReviewer({
131
142
  providerQualifiedModelId: providerQualifiedModelId,
132
143
  runtimeAgent: runtimeAgent,
133
- }),
144
+ })),
134
145
  });
135
146
  }
136
147
  return {
@@ -160,14 +171,14 @@ function quickReviewerPrompt(input) {
160
171
  finding_id: `finding-${input.perspective}-1`,
161
172
  severity: "info",
162
173
  category: "conformance",
163
- summary_label: "Replace this placeholder with the most important review finding, or remove this finding if there are no findings.",
174
+ summary_label: "review_finding_summary",
164
175
  evidence_refs: [input.evidenceRef],
165
- required_fix_label: "Replace this placeholder with the required fix, or remove this finding if no fix is required.",
176
+ required_fix_label: "none",
166
177
  },
167
178
  ],
168
179
  evidence_refs: [input.evidenceRef],
169
180
  uncertainty: "medium",
170
- required_fixes: ["Replace this placeholder with a required fix, or remove it if no fix is required."],
181
+ required_fixes: [],
171
182
  verdict_label: "inconclusive",
172
183
  safe_next_actions: ["/flowdesk-status"],
173
184
  dispatch_authority_enabled: false,
@@ -180,7 +191,7 @@ function quickReviewerPrompt(input) {
180
191
  input.prompt,
181
192
  "Return exactly one JSON object as a single message with no markdown, no prose, no code fence, and no fields removed.",
182
193
  "Choose verdict_label neutrally from pass, changes_required, blocked, or inconclusive based only on the evidence you reviewed. Do not preserve the placeholder verdict_label if your review supports a clearer verdict.",
183
- "Update uncertainty, findings, and required_fixes to match your review. Remove placeholder findings or required fixes when they do not apply. Preserve every binding field exactly as written.",
194
+ "Update uncertainty, findings, and required_fixes to match your review. Every finding kept in findings must include required_fix_label. If no fix is needed for a kept finding, set required_fix_label to none. If there are no findings, return findings as an empty array and required_fixes as an empty array. Preserve every binding field exactly as written.",
184
195
  JSON.stringify(expected),
185
196
  ].join("\n");
186
197
  }
@@ -424,6 +435,7 @@ export async function executeFlowDeskQuickReviewerRunV1(input) {
424
435
  observedAt,
425
436
  consumedReviewerFanoutApproval: consumedApproval,
426
437
  verdictExpectations,
438
+ ...(input.completionWait === undefined ? {} : { completionWait: input.completionWait }),
427
439
  },
428
440
  });
429
441
  const lanes = Array.isArray(bridgeResult.lanes)