agentrinse 0.3.0 → 0.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.
Files changed (108) hide show
  1. package/README.md +272 -179
  2. package/dist/adapters/codex-database.d.ts +64 -0
  3. package/dist/adapters/codex-database.d.ts.map +1 -0
  4. package/dist/adapters/codex-database.js +409 -0
  5. package/dist/adapters/codex-database.js.map +1 -0
  6. package/dist/adapters/provider-adapter.d.ts +4 -0
  7. package/dist/adapters/provider-adapter.d.ts.map +1 -1
  8. package/dist/adapters/provider-adapter.js +144 -3
  9. package/dist/adapters/provider-adapter.js.map +1 -1
  10. package/dist/adapters/provider-specs.d.ts.map +1 -1
  11. package/dist/adapters/provider-specs.js +15 -0
  12. package/dist/adapters/provider-specs.js.map +1 -1
  13. package/dist/adapters/registry.d.ts +1 -0
  14. package/dist/adapters/registry.d.ts.map +1 -1
  15. package/dist/adapters/registry.js +1 -0
  16. package/dist/adapters/registry.js.map +1 -1
  17. package/dist/commands/adapters.d.ts.map +1 -1
  18. package/dist/commands/adapters.js +3 -1
  19. package/dist/commands/adapters.js.map +1 -1
  20. package/dist/commands/apply.d.ts +2 -0
  21. package/dist/commands/apply.d.ts.map +1 -1
  22. package/dist/commands/apply.js +24 -3
  23. package/dist/commands/apply.js.map +1 -1
  24. package/dist/commands/audit.d.ts +1 -0
  25. package/dist/commands/audit.d.ts.map +1 -1
  26. package/dist/commands/audit.js +3 -1
  27. package/dist/commands/audit.js.map +1 -1
  28. package/dist/commands/completion.js +1 -1
  29. package/dist/commands/doctor.d.ts.map +1 -1
  30. package/dist/commands/doctor.js +32 -0
  31. package/dist/commands/doctor.js.map +1 -1
  32. package/dist/commands/plan.d.ts +2 -0
  33. package/dist/commands/plan.d.ts.map +1 -1
  34. package/dist/commands/plan.js +11 -1
  35. package/dist/commands/plan.js.map +1 -1
  36. package/dist/commands/purge.d.ts +7 -1
  37. package/dist/commands/purge.d.ts.map +1 -1
  38. package/dist/commands/purge.js +29 -6
  39. package/dist/commands/purge.js.map +1 -1
  40. package/dist/commands/show.d.ts.map +1 -1
  41. package/dist/commands/show.js +3 -0
  42. package/dist/commands/show.js.map +1 -1
  43. package/dist/commands/undo.d.ts +4 -1
  44. package/dist/commands/undo.d.ts.map +1 -1
  45. package/dist/commands/undo.js +21 -3
  46. package/dist/commands/undo.js.map +1 -1
  47. package/dist/contracts/action.d.ts +182 -0
  48. package/dist/contracts/action.d.ts.map +1 -1
  49. package/dist/contracts/action.js +49 -0
  50. package/dist/contracts/action.js.map +1 -1
  51. package/dist/contracts/database-backup.d.ts +192 -0
  52. package/dist/contracts/database-backup.d.ts.map +1 -0
  53. package/dist/contracts/database-backup.js +70 -0
  54. package/dist/contracts/database-backup.js.map +1 -0
  55. package/dist/contracts/finding.d.ts +55 -0
  56. package/dist/contracts/finding.d.ts.map +1 -1
  57. package/dist/contracts/plan.d.ts +55 -0
  58. package/dist/contracts/plan.d.ts.map +1 -1
  59. package/dist/contracts/plan.js +10 -1
  60. package/dist/contracts/plan.js.map +1 -1
  61. package/dist/contracts/report.d.ts +55 -0
  62. package/dist/contracts/report.d.ts.map +1 -1
  63. package/dist/contracts/run.d.ts +100 -0
  64. package/dist/contracts/run.d.ts.map +1 -1
  65. package/dist/contracts/run.js +9 -0
  66. package/dist/contracts/run.js.map +1 -1
  67. package/dist/core/apply.d.ts +5 -1
  68. package/dist/core/apply.d.ts.map +1 -1
  69. package/dist/core/apply.js +76 -4
  70. package/dist/core/apply.js.map +1 -1
  71. package/dist/core/database-exclusion.d.ts +23 -0
  72. package/dist/core/database-exclusion.d.ts.map +1 -0
  73. package/dist/core/database-exclusion.js +133 -0
  74. package/dist/core/database-exclusion.js.map +1 -0
  75. package/dist/core/database-executor.d.ts +45 -0
  76. package/dist/core/database-executor.d.ts.map +1 -0
  77. package/dist/core/database-executor.js +436 -0
  78. package/dist/core/database-executor.js.map +1 -0
  79. package/dist/core/database-recovery.d.ts +25 -0
  80. package/dist/core/database-recovery.d.ts.map +1 -0
  81. package/dist/core/database-recovery.js +628 -0
  82. package/dist/core/database-recovery.js.map +1 -0
  83. package/dist/core/database-revalidation.d.ts +19 -0
  84. package/dist/core/database-revalidation.d.ts.map +1 -0
  85. package/dist/core/database-revalidation.js +70 -0
  86. package/dist/core/database-revalidation.js.map +1 -0
  87. package/dist/core/no-clobber-rename.d.ts +1 -0
  88. package/dist/core/no-clobber-rename.d.ts.map +1 -1
  89. package/dist/core/no-clobber-rename.js +44 -0
  90. package/dist/core/no-clobber-rename.js.map +1 -1
  91. package/dist/index.d.ts +3 -2
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +3 -2
  94. package/dist/index.js.map +1 -1
  95. package/dist/main.d.ts.map +1 -1
  96. package/dist/main.js +4 -1
  97. package/dist/main.js.map +1 -1
  98. package/dist/state/layout.d.ts +1 -0
  99. package/dist/state/layout.d.ts.map +1 -1
  100. package/dist/state/layout.js +1 -0
  101. package/dist/state/layout.js.map +1 -1
  102. package/dist/version.d.ts +1 -1
  103. package/dist/version.js +1 -1
  104. package/package.json +1 -1
  105. package/schemas/audit.schema.json +243 -0
  106. package/schemas/database-backup.schema.json +648 -0
  107. package/schemas/plan.schema.json +229 -0
  108. package/schemas/run.schema.json +95 -0
@@ -7,7 +7,9 @@ import { createAuditAdapters } from "../adapters/registry.js";
7
7
  import { PROVIDER_SPECS } from "../adapters/provider-specs.js";
8
8
  import { loadConfigForHome } from "../config/load.js";
9
9
  import { quarantineEntrySchema } from "../contracts/quarantine.js";
10
+ import { databaseBackupEntrySchema, } from "../contracts/database-backup.js";
10
11
  import { ReachabilityIndex } from "../core/reachability.js";
12
+ import { purgeDatabaseBackup } from "../core/database-recovery.js";
11
13
  import { purgeWorktreeQuarantine, worktreePurgeIsolationPath, } from "../core/worktree-recovery.js";
12
14
  import { ensurePrivateDirectory } from "../state/json-file.js";
13
15
  import { resolveStateRoot, stateLayout } from "../state/layout.js";
@@ -102,21 +104,34 @@ export async function executePurgeCommand(options) {
102
104
  const entries = live.filter(({ value: entry }) => options.expired
103
105
  ? entry.status === "purging" || Date.parse(entry.expiresAt) <= now.getTime()
104
106
  : options.runId === undefined || entry.runId === options.runId);
107
+ const databaseRecords = await listJsonRecordFiles(layout.databaseBackups, databaseBackupEntrySchema);
108
+ for (const record of databaseRecords) {
109
+ if (record.name !== `${record.value.entryId}.json`) {
110
+ throw new Error(`database backup manifest entry ID does not match filename: ${record.name}`);
111
+ }
112
+ }
113
+ const liveDatabaseRecords = databaseRecords.filter(({ value }) => ["installed", "purging"].includes(value.status));
114
+ const databaseEntries = liveDatabaseRecords.filter(({ value: entry }) => (entry.status === "purging" || Date.parse(entry.expiresAt) <= now.getTime()) &&
115
+ (options.runId === undefined || entry.runId === options.runId));
116
+ const selected = [
117
+ ...entries.map((record) => record.value),
118
+ ...databaseEntries.map((record) => record.value),
119
+ ];
105
120
  if (!options.apply) {
106
121
  return {
107
- entries: entries.map((record) => record.value),
122
+ entries: selected,
108
123
  applied: false,
109
124
  reclaimedBytes: 0,
110
125
  output: options.json
111
- ? `${JSON.stringify({ applied: false, entries: entries.map((record) => record.value) }, null, 2)}\n`
112
- : renderPreview(entries.map((record) => record.value), now),
126
+ ? `${JSON.stringify({ applied: false, entries: selected }, null, 2)}\n`
127
+ : renderPreview(selected, now),
113
128
  };
114
129
  }
115
- if (entries.length === 0) {
130
+ if (selected.length === 0) {
116
131
  throw new Error("no matching live quarantine entries to purge");
117
132
  }
118
133
  if (!options.yes &&
119
- !(await confirmMutation(`Permanently purge ${entries.length} quarantined worktree(s)? [y/N] `, options.dependencies))) {
134
+ !(await confirmMutation(`Permanently purge ${selected.length} selected recovery backup(s)? [y/N] `, options.dependencies))) {
120
135
  throw new Error("purge cancelled");
121
136
  }
122
137
  await ensurePrivateDirectory(layout.locks);
@@ -152,6 +167,14 @@ export async function executePurgeCommand(options) {
152
167
  purged.push(result.entry);
153
168
  reclaimedBytes += result.reclaimedBytes;
154
169
  }
170
+ for (const record of databaseEntries) {
171
+ const result = await (options.dependencies?.purgeDatabase ?? purgeDatabaseBackup)(record.value, {
172
+ manifestPath: record.path,
173
+ backupDirectory: layout.databaseBackups,
174
+ });
175
+ purged.push(result.entry);
176
+ reclaimedBytes += result.reclaimedBytes;
177
+ }
155
178
  }
156
179
  finally {
157
180
  await lock.release();
@@ -162,7 +185,7 @@ export async function executePurgeCommand(options) {
162
185
  reclaimedBytes,
163
186
  output: options.json
164
187
  ? `${JSON.stringify({ applied: true, reclaimedBytes, entries: purged }, null, 2)}\n`
165
- : `purged ${purged.length} quarantined worktree(s); reclaimed ${reclaimedBytes} bytes\n`,
188
+ : `purged ${purged.length} recovery backup(s); reclaimed ${reclaimedBytes} bytes\n`,
166
189
  };
167
190
  }
168
191
  //# sourceMappingURL=purge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/commands/purge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purge.js","sourceRoot":"","sources":["../../src/commands/purge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIxE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAgCxD;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAOxC;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAOzC;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC,CAgB9F"}
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIxE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,KAAK,EAAE,CAAC,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAmCxD;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAOxC;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAOzC;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC,CAgB9F"}
@@ -25,6 +25,9 @@ export function renderRunDetails(run) {
25
25
  lines.push(` recovery ref: ${action.recoveryRef}`);
26
26
  }
27
27
  }
28
+ if (action.type === "database.vacuum" && action.backupPath !== undefined) {
29
+ lines.push(` rollback copy: ${action.backupPath}`);
30
+ }
28
31
  }
29
32
  if (run.status === "partial" || run.status === "failed" || run.status === "interrupted") {
30
33
  lines.push("", "Recovery: inspect every isolation path and diagnostic above.", "Do not retry the old plan; resolve partial state, then create a fresh audit and plan.");
@@ -1 +1 @@
1
- {"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAoB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAatE,MAAM,UAAU,gBAAgB,CAAC,GAAe;IAC9C,MAAM,KAAK,GAAG;QACZ,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE;QACjC,QAAQ,GAAG,CAAC,MAAM,EAAE;QACpB,aAAa,GAAG,CAAC,cAAc,QAAQ;QACvC,eAAe,GAAG,CAAC,gBAAgB,IAAI,CAAC,sBAAsB;QAC9D,EAAE;KACH,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACxF,KAAK,CAAC,IAAI,CACR,EAAE,EACF,8DAA8D,EAC9D,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAA2B;IAE3B,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC1E,OAAO;QACL,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC;KACnF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,OAA2B;IAE3B,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC7E,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAAkB,EAClB,OAA2B;IAE3B,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEhF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QACzF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACjC,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;aAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,oCAAoC,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { type QuarantineEntry } from "../contracts/quarantine.js";
2
+ import { type DatabaseBackupEntry } from "../contracts/database-backup.js";
3
+ import { type DatabaseRecoveryOptions } from "../core/database-recovery.js";
2
4
  import { type WorktreeRecoveryOptions } from "../core/worktree-recovery.js";
3
5
  import { type ConfirmationDependencies } from "./confirmation.js";
4
6
  export type UndoCommandOptions = {
@@ -11,10 +13,11 @@ export type UndoCommandOptions = {
11
13
  json: boolean;
12
14
  dependencies?: ConfirmationDependencies & {
13
15
  undo?: (entry: QuarantineEntry, options: WorktreeRecoveryOptions) => Promise<QuarantineEntry>;
16
+ undoDatabase?: (entry: DatabaseBackupEntry, options: DatabaseRecoveryOptions) => Promise<DatabaseBackupEntry>;
14
17
  };
15
18
  };
16
19
  export type UndoCommandResult = {
17
- entries: QuarantineEntry[];
20
+ entries: Array<QuarantineEntry | DatabaseBackupEntry>;
18
21
  output: string;
19
22
  };
20
23
  export declare function executeUndoCommand(options: UndoCommandOptions): Promise<UndoCommandResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAKpG,OAAO,EAAmB,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,wBAAwB,GAAG;QACxC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;KAC/F,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkEhG"}
1
+ {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAKpG,OAAO,EAAmB,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,CAAC,EAAE,wBAAwB,GAAG;QACxC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9F,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,mBAAmB,CAAC,CAAC;KACnC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,KAAK,CAAC,eAAe,GAAG,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4FhG"}
@@ -1,6 +1,8 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { resolve } from "node:path";
3
3
  import { quarantineEntrySchema } from "../contracts/quarantine.js";
4
+ import { databaseBackupEntrySchema, } from "../contracts/database-backup.js";
5
+ import { undoDatabaseVacuum } from "../core/database-recovery.js";
4
6
  import { undoWorktreeQuarantine } from "../core/worktree-recovery.js";
5
7
  import { ensurePrivateDirectory } from "../state/json-file.js";
6
8
  import { resolveStateRoot, stateLayout } from "../state/layout.js";
@@ -29,11 +31,21 @@ export async function executeUndoCommand(options) {
29
31
  ].includes(value.status) &&
30
32
  value.runId === options.runId &&
31
33
  (options.actionId === undefined || value.actionId === options.actionId));
32
- if (entries.length === 0) {
34
+ const databaseRecords = await listJsonRecordFiles(layout.databaseBackups, databaseBackupEntrySchema);
35
+ for (const record of databaseRecords) {
36
+ if (record.name !== `${record.value.entryId}.json`) {
37
+ throw new Error(`database backup manifest entry ID does not match filename: ${record.name}`);
38
+ }
39
+ }
40
+ const databaseEntries = databaseRecords.filter(({ value }) => ["preparing", "vacuumed", "installing", "installed", "restoring", "partial"].includes(value.status) &&
41
+ value.runId === options.runId &&
42
+ (options.actionId === undefined || value.actionId === options.actionId));
43
+ const entryCount = entries.length + databaseEntries.length;
44
+ if (entryCount === 0) {
33
45
  throw new Error(`no live quarantine entries found for run ${options.runId}`);
34
46
  }
35
47
  if (!options.yes &&
36
- !(await confirmMutation(`Restore ${entries.length} quarantined worktree(s) from run ${options.runId}? [y/N] `, options.dependencies))) {
48
+ !(await confirmMutation(`Restore ${entryCount} recoverable action(s) from run ${options.runId}? [y/N] `, options.dependencies))) {
37
49
  throw new Error("undo cancelled");
38
50
  }
39
51
  await ensurePrivateDirectory(layout.locks);
@@ -52,6 +64,12 @@ export async function executeUndoCommand(options) {
52
64
  quarantineDirectory: layout.quarantine,
53
65
  }));
54
66
  }
67
+ for (const record of databaseEntries) {
68
+ restored.push(await (options.dependencies?.undoDatabase ?? undoDatabaseVacuum)(record.value, {
69
+ manifestPath: record.path,
70
+ backupDirectory: layout.databaseBackups,
71
+ }));
72
+ }
55
73
  }
56
74
  finally {
57
75
  await lock.release();
@@ -60,7 +78,7 @@ export async function executeUndoCommand(options) {
60
78
  entries: restored,
61
79
  output: options.json
62
80
  ? `${JSON.stringify(restored, null, 2)}\n`
63
- : `restored ${restored.length} quarantined worktree(s) from run ${options.runId}\n`,
81
+ : `restored ${restored.length} recoverable action(s) from run ${options.runId}\n`,
64
82
  };
65
83
  }
66
84
  //# sourceMappingURL=undo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,128 @@ export declare const worktreeQuarantineActionSchema: z.ZodObject<{
105
105
  fingerprint: z.ZodString;
106
106
  }, z.core.$strip>;
107
107
  }, z.core.$strip>;
108
+ export declare const codexDatabaseNameSchema: z.ZodEnum<{
109
+ goals: "goals";
110
+ logs: "logs";
111
+ memories: "memories";
112
+ state: "state";
113
+ }>;
114
+ export declare const codexDatabaseFilenameSchema: z.ZodEnum<{
115
+ "goals_1.sqlite": "goals_1.sqlite";
116
+ "logs_2.sqlite": "logs_2.sqlite";
117
+ "memories_1.sqlite": "memories_1.sqlite";
118
+ "state_5.sqlite": "state_5.sqlite";
119
+ }>;
120
+ export declare const databaseSidecarIdentitySchema: z.ZodObject<{
121
+ path: z.ZodString;
122
+ device: z.ZodNumber;
123
+ inode: z.ZodNumber;
124
+ mode: z.ZodNumber;
125
+ mtimeMs: z.ZodNumber;
126
+ measuredBytes: z.ZodNumber;
127
+ }, z.core.$strip>;
128
+ export declare const databaseIdentitySchema: z.ZodObject<{
129
+ path: z.ZodString;
130
+ database: z.ZodEnum<{
131
+ goals: "goals";
132
+ logs: "logs";
133
+ memories: "memories";
134
+ state: "state";
135
+ }>;
136
+ filename: z.ZodEnum<{
137
+ "goals_1.sqlite": "goals_1.sqlite";
138
+ "logs_2.sqlite": "logs_2.sqlite";
139
+ "memories_1.sqlite": "memories_1.sqlite";
140
+ "state_5.sqlite": "state_5.sqlite";
141
+ }>;
142
+ device: z.ZodNumber;
143
+ inode: z.ZodNumber;
144
+ mode: z.ZodNumber;
145
+ mtimeMs: z.ZodNumber;
146
+ measuredBytes: z.ZodNumber;
147
+ pageSize: z.ZodNumber;
148
+ pageCount: z.ZodNumber;
149
+ freelistCount: z.ZodNumber;
150
+ journalMode: z.ZodLiteral<"wal">;
151
+ autoVacuum: z.ZodNumber;
152
+ migrationVersion: z.ZodNumber;
153
+ migrationDigest: z.ZodString;
154
+ tables: z.ZodArray<z.ZodString>;
155
+ wal: z.ZodOptional<z.ZodObject<{
156
+ path: z.ZodString;
157
+ device: z.ZodNumber;
158
+ inode: z.ZodNumber;
159
+ mode: z.ZodNumber;
160
+ mtimeMs: z.ZodNumber;
161
+ measuredBytes: z.ZodNumber;
162
+ }, z.core.$strip>>;
163
+ shm: z.ZodOptional<z.ZodObject<{
164
+ path: z.ZodString;
165
+ device: z.ZodNumber;
166
+ inode: z.ZodNumber;
167
+ mode: z.ZodNumber;
168
+ mtimeMs: z.ZodNumber;
169
+ measuredBytes: z.ZodNumber;
170
+ }, z.core.$strip>>;
171
+ schemaDigest: z.ZodString;
172
+ fingerprint: z.ZodString;
173
+ }, z.core.$strip>;
174
+ export declare const databaseVacuumActionSchema: z.ZodObject<{
175
+ actionId: z.ZodString;
176
+ type: z.ZodLiteral<"database.vacuum">;
177
+ adapter: z.ZodLiteral<"codex">;
178
+ resourceId: z.ZodString;
179
+ risk: z.ZodLiteral<"experimental">;
180
+ description: z.ZodString;
181
+ expectedReclaimBytes: z.ZodNumber;
182
+ backupTtlMinutes: z.ZodNumber;
183
+ target: z.ZodObject<{
184
+ path: z.ZodString;
185
+ database: z.ZodEnum<{
186
+ goals: "goals";
187
+ logs: "logs";
188
+ memories: "memories";
189
+ state: "state";
190
+ }>;
191
+ filename: z.ZodEnum<{
192
+ "goals_1.sqlite": "goals_1.sqlite";
193
+ "logs_2.sqlite": "logs_2.sqlite";
194
+ "memories_1.sqlite": "memories_1.sqlite";
195
+ "state_5.sqlite": "state_5.sqlite";
196
+ }>;
197
+ device: z.ZodNumber;
198
+ inode: z.ZodNumber;
199
+ mode: z.ZodNumber;
200
+ mtimeMs: z.ZodNumber;
201
+ measuredBytes: z.ZodNumber;
202
+ pageSize: z.ZodNumber;
203
+ pageCount: z.ZodNumber;
204
+ freelistCount: z.ZodNumber;
205
+ journalMode: z.ZodLiteral<"wal">;
206
+ autoVacuum: z.ZodNumber;
207
+ migrationVersion: z.ZodNumber;
208
+ migrationDigest: z.ZodString;
209
+ tables: z.ZodArray<z.ZodString>;
210
+ wal: z.ZodOptional<z.ZodObject<{
211
+ path: z.ZodString;
212
+ device: z.ZodNumber;
213
+ inode: z.ZodNumber;
214
+ mode: z.ZodNumber;
215
+ mtimeMs: z.ZodNumber;
216
+ measuredBytes: z.ZodNumber;
217
+ }, z.core.$strip>>;
218
+ shm: z.ZodOptional<z.ZodObject<{
219
+ path: z.ZodString;
220
+ device: z.ZodNumber;
221
+ inode: z.ZodNumber;
222
+ mode: z.ZodNumber;
223
+ mtimeMs: z.ZodNumber;
224
+ measuredBytes: z.ZodNumber;
225
+ }, z.core.$strip>>;
226
+ schemaDigest: z.ZodString;
227
+ fingerprint: z.ZodString;
228
+ }, z.core.$strip>;
229
+ }, z.core.$strip>;
108
230
  export declare const plannedActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
109
231
  actionId: z.ZodString;
110
232
  type: z.ZodLiteral<"artifacts.remove">;
@@ -157,6 +279,61 @@ export declare const plannedActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
157
279
  newestMtimeMs: z.ZodNumber;
158
280
  fingerprint: z.ZodString;
159
281
  }, z.core.$strip>;
282
+ }, z.core.$strip>, z.ZodObject<{
283
+ actionId: z.ZodString;
284
+ type: z.ZodLiteral<"database.vacuum">;
285
+ adapter: z.ZodLiteral<"codex">;
286
+ resourceId: z.ZodString;
287
+ risk: z.ZodLiteral<"experimental">;
288
+ description: z.ZodString;
289
+ expectedReclaimBytes: z.ZodNumber;
290
+ backupTtlMinutes: z.ZodNumber;
291
+ target: z.ZodObject<{
292
+ path: z.ZodString;
293
+ database: z.ZodEnum<{
294
+ goals: "goals";
295
+ logs: "logs";
296
+ memories: "memories";
297
+ state: "state";
298
+ }>;
299
+ filename: z.ZodEnum<{
300
+ "goals_1.sqlite": "goals_1.sqlite";
301
+ "logs_2.sqlite": "logs_2.sqlite";
302
+ "memories_1.sqlite": "memories_1.sqlite";
303
+ "state_5.sqlite": "state_5.sqlite";
304
+ }>;
305
+ device: z.ZodNumber;
306
+ inode: z.ZodNumber;
307
+ mode: z.ZodNumber;
308
+ mtimeMs: z.ZodNumber;
309
+ measuredBytes: z.ZodNumber;
310
+ pageSize: z.ZodNumber;
311
+ pageCount: z.ZodNumber;
312
+ freelistCount: z.ZodNumber;
313
+ journalMode: z.ZodLiteral<"wal">;
314
+ autoVacuum: z.ZodNumber;
315
+ migrationVersion: z.ZodNumber;
316
+ migrationDigest: z.ZodString;
317
+ tables: z.ZodArray<z.ZodString>;
318
+ wal: z.ZodOptional<z.ZodObject<{
319
+ path: z.ZodString;
320
+ device: z.ZodNumber;
321
+ inode: z.ZodNumber;
322
+ mode: z.ZodNumber;
323
+ mtimeMs: z.ZodNumber;
324
+ measuredBytes: z.ZodNumber;
325
+ }, z.core.$strip>>;
326
+ shm: z.ZodOptional<z.ZodObject<{
327
+ path: z.ZodString;
328
+ device: z.ZodNumber;
329
+ inode: z.ZodNumber;
330
+ mode: z.ZodNumber;
331
+ mtimeMs: z.ZodNumber;
332
+ measuredBytes: z.ZodNumber;
333
+ }, z.core.$strip>>;
334
+ schemaDigest: z.ZodString;
335
+ fingerprint: z.ZodString;
336
+ }, z.core.$strip>;
160
337
  }, z.core.$strip>], "type">;
161
338
  export type ActionRisk = z.infer<typeof actionRiskSchema>;
162
339
  export type ArtifactName = z.infer<typeof artifactNameSchema>;
@@ -164,5 +341,10 @@ export type PathIdentity = z.infer<typeof pathIdentitySchema>;
164
341
  export type ArtifactRemoveAction = z.infer<typeof artifactRemoveActionSchema>;
165
342
  export type WorktreeIdentity = z.infer<typeof worktreeIdentitySchema>;
166
343
  export type WorktreeQuarantineAction = z.infer<typeof worktreeQuarantineActionSchema>;
344
+ export type CodexDatabaseName = z.infer<typeof codexDatabaseNameSchema>;
345
+ export type CodexDatabaseFilename = z.infer<typeof codexDatabaseFilenameSchema>;
346
+ export type DatabaseIdentity = z.infer<typeof databaseIdentitySchema>;
347
+ export type DatabaseSidecarIdentity = z.infer<typeof databaseSidecarIdentitySchema>;
348
+ export type DatabaseVacuumAction = z.infer<typeof databaseVacuumActionSchema>;
167
349
  export type PlannedAction = z.infer<typeof plannedActionSchema>;
168
350
  //# sourceMappingURL=action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/contracts/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;EAAiE,CAAC;AAE/F,eAAO,MAAM,kBAAkB;;;;;;;;;;;EAW7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASrC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAWjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;iBAWzC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAG9B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/contracts/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;EAAiE,CAAC;AAE/F,eAAO,MAAM,kBAAkB;;;;;;;;;;;EAW7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASrC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAWjC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;iBAWzC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;EAAiD,CAAC;AAEtF,eAAO,MAAM,2BAA2B;;;;;EAKtC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;iBAOxC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUrC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAI9B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -57,8 +57,57 @@ export const worktreeQuarantineActionSchema = z.object({
57
57
  quarantineTtlMinutes: z.number().int().positive(),
58
58
  target: worktreeIdentitySchema,
59
59
  });
60
+ export const codexDatabaseNameSchema = z.enum(["state", "logs", "goals", "memories"]);
61
+ export const codexDatabaseFilenameSchema = z.enum([
62
+ "state_5.sqlite",
63
+ "logs_2.sqlite",
64
+ "goals_1.sqlite",
65
+ "memories_1.sqlite",
66
+ ]);
67
+ export const databaseSidecarIdentitySchema = z.object({
68
+ path: z.string().min(1),
69
+ device: z.number().int().nonnegative(),
70
+ inode: z.number().int().nonnegative(),
71
+ mode: z.number().int().nonnegative(),
72
+ mtimeMs: z.number().finite(),
73
+ measuredBytes: z.number().int().nonnegative(),
74
+ });
75
+ export const databaseIdentitySchema = z.object({
76
+ path: z.string().min(1),
77
+ database: codexDatabaseNameSchema,
78
+ filename: codexDatabaseFilenameSchema,
79
+ device: z.number().int().nonnegative(),
80
+ inode: z.number().int().nonnegative(),
81
+ mode: z.number().int().nonnegative(),
82
+ mtimeMs: z.number().finite(),
83
+ measuredBytes: z.number().int().nonnegative(),
84
+ pageSize: z.number().int().positive(),
85
+ pageCount: z.number().int().nonnegative(),
86
+ freelistCount: z.number().int().nonnegative(),
87
+ journalMode: z.literal("wal"),
88
+ autoVacuum: z.number().int().min(0).max(2),
89
+ migrationVersion: z.number().int().nonnegative(),
90
+ migrationDigest: z.string().regex(/^[a-f0-9]{64}$/u),
91
+ tables: z.array(z.string().min(1)),
92
+ wal: databaseSidecarIdentitySchema.optional(),
93
+ shm: databaseSidecarIdentitySchema.optional(),
94
+ schemaDigest: z.string().regex(/^[a-f0-9]{64}$/u),
95
+ fingerprint: z.string().regex(/^[a-f0-9]{64}$/u),
96
+ });
97
+ export const databaseVacuumActionSchema = z.object({
98
+ actionId: z.string().min(1),
99
+ type: z.literal("database.vacuum"),
100
+ adapter: z.literal("codex"),
101
+ resourceId: z.string().min(1),
102
+ risk: z.literal("experimental"),
103
+ description: z.string().min(1),
104
+ expectedReclaimBytes: z.number().int().positive(),
105
+ backupTtlMinutes: z.number().int().positive(),
106
+ target: databaseIdentitySchema,
107
+ });
60
108
  export const plannedActionSchema = z.discriminatedUnion("type", [
61
109
  artifactRemoveActionSchema,
62
110
  worktreeQuarantineActionSchema,
111
+ databaseVacuumActionSchema,
63
112
  ]);
64
113
  //# sourceMappingURL=action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/contracts/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/contracts/action.ts"],"names":[],"mappings":"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"}