opencode-codegraph 0.1.25 → 0.1.26

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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.26 - 2026-03-21
4
+
5
+ - include lock holders, recovery steps, and maintenance action details directly in plugin workflow summaries
6
+
3
7
  ## 0.1.25 - 2026-03-21
4
8
 
5
9
  - append full workflow guidance alongside post-commit review summaries so commit-time output matches the normalized status contract more closely
package/README.md CHANGED
@@ -132,6 +132,7 @@ Across status-oriented surfaces, the plugin is converging on one shared summary
132
132
  - what improved
133
133
  - still blocked
134
134
  - recommended command
135
+ - lock holders / recovery steps when DuckDB is blocked
135
136
 
136
137
  ## License
137
138
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-codegraph",
3
- "version": "0.1.25",
3
+ "version": "0.1.26",
4
4
  "description": "OpenCode plugin for CodeGraph CPG-powered code analysis",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
package/src/util.ts CHANGED
@@ -39,6 +39,11 @@ export type DogfoodStatusSnapshot = {
39
39
  db_size_mb?: number
40
40
  recommended_action?: string
41
41
  }
42
+ db_lock?: {
43
+ locked?: boolean
44
+ holders?: string[]
45
+ recovery?: string[]
46
+ }
42
47
  review_trace?: ReviewTraceSnapshot | null
43
48
  workflow_state?: string
44
49
  recommended_next_action?: string
@@ -400,6 +405,7 @@ export function formatDogfoodStatusSummary(snapshot: DogfoodStatusSnapshot): str
400
405
  const worktreeClean = git.worktree_clean
401
406
  const reviewTrace = snapshot.review_trace || null
402
407
  const maintenance = snapshot.db_maintenance || null
408
+ const dbLock = snapshot.db_lock || null
403
409
  const traceStatus = reviewTrace?.status || "missing"
404
410
  const workflowState = snapshot.workflow_state
405
411
  const nextAction = snapshot.recommended_next_action
@@ -431,6 +437,19 @@ export function formatDogfoodStatusSummary(snapshot: DogfoodStatusSnapshot): str
431
437
  lines.push(
432
438
  `- DB maintenance: ${maintenance.due ? "due" : "ok"} (${maintenance.reason || "unknown"}${typeof maintenance.db_size_mb === "number" ? `, ${maintenance.db_size_mb} MB` : ""})`,
433
439
  )
440
+ if (maintenance.recommended_action) {
441
+ lines.push(`- DB maintenance action: ${maintenance.recommended_action}`)
442
+ }
443
+ }
444
+ if (dbLock?.locked) {
445
+ const holders = Array.isArray(dbLock.holders) ? dbLock.holders.filter(Boolean) : []
446
+ const recovery = Array.isArray(dbLock.recovery) ? dbLock.recovery.filter(Boolean) : []
447
+ if (holders.length) {
448
+ lines.push(`- DB lock holders: ${holders.join("; ")}`)
449
+ }
450
+ if (recovery.length) {
451
+ lines.push(`- DB lock recovery: ${recovery.join("; ")}`)
452
+ }
434
453
  }
435
454
  lines.push(`- Review trace: ${traceStatus}`)
436
455
  if (workflowState) {
@@ -467,6 +486,8 @@ export function formatWorkflowGuidanceBlock(snapshot: DogfoodStatusSnapshot): st
467
486
  const blockers = Array.isArray(snapshot.blockers) ? snapshot.blockers.filter(Boolean) : []
468
487
  const warnings = Array.isArray(snapshot.warnings) ? snapshot.warnings.filter(Boolean) : []
469
488
  const closure = snapshot.closure || {}
489
+ const dbLock = snapshot.db_lock || null
490
+ const maintenance = snapshot.db_maintenance || null
470
491
 
471
492
  if (!workflowState && !nextAction && !nextCommand && !blockers.length && !warnings.length) {
472
493
  return null
@@ -497,6 +518,19 @@ export function formatWorkflowGuidanceBlock(snapshot: DogfoodStatusSnapshot): st
497
518
  if (closure.before_push) {
498
519
  lines.push(`- Before push: ${closure.before_push}`)
499
520
  }
521
+ if (maintenance?.recommended_action) {
522
+ lines.push(`- Maintenance action: ${maintenance.recommended_action}`)
523
+ }
524
+ if (dbLock?.locked) {
525
+ const holders = Array.isArray(dbLock.holders) ? dbLock.holders.filter(Boolean) : []
526
+ const recovery = Array.isArray(dbLock.recovery) ? dbLock.recovery.filter(Boolean) : []
527
+ if (holders.length) {
528
+ lines.push(`- Lock holders: ${holders.join("; ")}`)
529
+ }
530
+ if (recovery.length) {
531
+ lines.push(`- Lock recovery: ${recovery.join("; ")}`)
532
+ }
533
+ }
500
534
  return lines.join("\n")
501
535
  }
502
536