agentrinse 0.3.0 → 0.5.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 (179) hide show
  1. package/README.md +281 -179
  2. package/dist/adapters/claude-cache.d.ts +3 -0
  3. package/dist/adapters/claude-cache.d.ts.map +1 -0
  4. package/dist/adapters/claude-cache.js +67 -0
  5. package/dist/adapters/claude-cache.js.map +1 -0
  6. package/dist/adapters/claude-debug.d.ts +3 -0
  7. package/dist/adapters/claude-debug.d.ts.map +1 -0
  8. package/dist/adapters/claude-debug.js +100 -0
  9. package/dist/adapters/claude-debug.js.map +1 -0
  10. package/dist/adapters/claude-retention.d.ts +36 -0
  11. package/dist/adapters/claude-retention.d.ts.map +1 -0
  12. package/dist/adapters/claude-retention.js +176 -0
  13. package/dist/adapters/claude-retention.js.map +1 -0
  14. package/dist/adapters/codex-database.d.ts +64 -0
  15. package/dist/adapters/codex-database.d.ts.map +1 -0
  16. package/dist/adapters/codex-database.js +409 -0
  17. package/dist/adapters/codex-database.js.map +1 -0
  18. package/dist/adapters/copilot-maintenance.d.ts +23 -0
  19. package/dist/adapters/copilot-maintenance.d.ts.map +1 -0
  20. package/dist/adapters/copilot-maintenance.js +53 -0
  21. package/dist/adapters/copilot-maintenance.js.map +1 -0
  22. package/dist/adapters/provider-adapter.d.ts +5 -0
  23. package/dist/adapters/provider-adapter.d.ts.map +1 -1
  24. package/dist/adapters/provider-adapter.js +352 -6
  25. package/dist/adapters/provider-adapter.js.map +1 -1
  26. package/dist/adapters/provider-root.d.ts +8 -0
  27. package/dist/adapters/provider-root.d.ts.map +1 -0
  28. package/dist/adapters/provider-root.js +27 -0
  29. package/dist/adapters/provider-root.js.map +1 -0
  30. package/dist/adapters/provider-specs.d.ts.map +1 -1
  31. package/dist/adapters/provider-specs.js +25 -0
  32. package/dist/adapters/provider-specs.js.map +1 -1
  33. package/dist/adapters/registry.d.ts +1 -0
  34. package/dist/adapters/registry.d.ts.map +1 -1
  35. package/dist/adapters/registry.js +2 -0
  36. package/dist/adapters/registry.js.map +1 -1
  37. package/dist/commands/adapters.d.ts.map +1 -1
  38. package/dist/commands/adapters.js +3 -1
  39. package/dist/commands/adapters.js.map +1 -1
  40. package/dist/commands/apply.d.ts +2 -0
  41. package/dist/commands/apply.d.ts.map +1 -1
  42. package/dist/commands/apply.js +24 -3
  43. package/dist/commands/apply.js.map +1 -1
  44. package/dist/commands/audit.d.ts +1 -0
  45. package/dist/commands/audit.d.ts.map +1 -1
  46. package/dist/commands/audit.js +3 -1
  47. package/dist/commands/audit.js.map +1 -1
  48. package/dist/commands/completion.js +1 -1
  49. package/dist/commands/doctor.d.ts.map +1 -1
  50. package/dist/commands/doctor.js +34 -0
  51. package/dist/commands/doctor.js.map +1 -1
  52. package/dist/commands/plan.d.ts +2 -0
  53. package/dist/commands/plan.d.ts.map +1 -1
  54. package/dist/commands/plan.js +11 -1
  55. package/dist/commands/plan.js.map +1 -1
  56. package/dist/commands/purge.d.ts +13 -1
  57. package/dist/commands/purge.d.ts.map +1 -1
  58. package/dist/commands/purge.js +52 -6
  59. package/dist/commands/purge.js.map +1 -1
  60. package/dist/commands/show.d.ts.map +1 -1
  61. package/dist/commands/show.js +6 -0
  62. package/dist/commands/show.js.map +1 -1
  63. package/dist/commands/undo.d.ts +7 -1
  64. package/dist/commands/undo.d.ts.map +1 -1
  65. package/dist/commands/undo.js +38 -3
  66. package/dist/commands/undo.js.map +1 -1
  67. package/dist/contracts/action.d.ts +517 -2
  68. package/dist/contracts/action.d.ts.map +1 -1
  69. package/dist/contracts/action.js +101 -1
  70. package/dist/contracts/action.js.map +1 -1
  71. package/dist/contracts/database-backup.d.ts +192 -0
  72. package/dist/contracts/database-backup.d.ts.map +1 -0
  73. package/dist/contracts/database-backup.js +70 -0
  74. package/dist/contracts/database-backup.js.map +1 -0
  75. package/dist/contracts/finding.d.ts +208 -2
  76. package/dist/contracts/finding.d.ts.map +1 -1
  77. package/dist/contracts/plan.d.ts +207 -2
  78. package/dist/contracts/plan.d.ts.map +1 -1
  79. package/dist/contracts/plan.js +11 -2
  80. package/dist/contracts/plan.js.map +1 -1
  81. package/dist/contracts/provider-file-quarantine.d.ts +221 -0
  82. package/dist/contracts/provider-file-quarantine.d.ts.map +1 -0
  83. package/dist/contracts/provider-file-quarantine.js +61 -0
  84. package/dist/contracts/provider-file-quarantine.js.map +1 -0
  85. package/dist/contracts/report.d.ts +208 -2
  86. package/dist/contracts/report.d.ts.map +1 -1
  87. package/dist/contracts/resource.d.ts +3 -0
  88. package/dist/contracts/resource.d.ts.map +1 -1
  89. package/dist/contracts/resource.js +1 -0
  90. package/dist/contracts/resource.js.map +1 -1
  91. package/dist/contracts/run.d.ts +194 -0
  92. package/dist/contracts/run.d.ts.map +1 -1
  93. package/dist/contracts/run.js +16 -0
  94. package/dist/contracts/run.js.map +1 -1
  95. package/dist/core/apply.d.ts +9 -1
  96. package/dist/core/apply.d.ts.map +1 -1
  97. package/dist/core/apply.js +147 -4
  98. package/dist/core/apply.js.map +1 -1
  99. package/dist/core/database-exclusion.d.ts +23 -0
  100. package/dist/core/database-exclusion.d.ts.map +1 -0
  101. package/dist/core/database-exclusion.js +133 -0
  102. package/dist/core/database-exclusion.js.map +1 -0
  103. package/dist/core/database-executor.d.ts +45 -0
  104. package/dist/core/database-executor.d.ts.map +1 -0
  105. package/dist/core/database-executor.js +436 -0
  106. package/dist/core/database-executor.js.map +1 -0
  107. package/dist/core/database-recovery.d.ts +25 -0
  108. package/dist/core/database-recovery.d.ts.map +1 -0
  109. package/dist/core/database-recovery.js +628 -0
  110. package/dist/core/database-recovery.js.map +1 -0
  111. package/dist/core/database-revalidation.d.ts +19 -0
  112. package/dist/core/database-revalidation.d.ts.map +1 -0
  113. package/dist/core/database-revalidation.js +70 -0
  114. package/dist/core/database-revalidation.js.map +1 -0
  115. package/dist/core/no-clobber-rename.d.ts +2 -0
  116. package/dist/core/no-clobber-rename.d.ts.map +1 -1
  117. package/dist/core/no-clobber-rename.js +88 -0
  118. package/dist/core/no-clobber-rename.js.map +1 -1
  119. package/dist/core/pinned-file.d.ts +37 -0
  120. package/dist/core/pinned-file.d.ts.map +1 -0
  121. package/dist/core/pinned-file.js +228 -0
  122. package/dist/core/pinned-file.js.map +1 -0
  123. package/dist/core/plan.d.ts.map +1 -1
  124. package/dist/core/plan.js +4 -1
  125. package/dist/core/plan.js.map +1 -1
  126. package/dist/core/process-ownership.d.ts +1 -0
  127. package/dist/core/process-ownership.d.ts.map +1 -1
  128. package/dist/core/process-ownership.js +17 -3
  129. package/dist/core/process-ownership.js.map +1 -1
  130. package/dist/core/provider-file-executor.d.ts +40 -0
  131. package/dist/core/provider-file-executor.d.ts.map +1 -0
  132. package/dist/core/provider-file-executor.js +259 -0
  133. package/dist/core/provider-file-executor.js.map +1 -0
  134. package/dist/core/provider-file-identity.d.ts +8 -0
  135. package/dist/core/provider-file-identity.d.ts.map +1 -0
  136. package/dist/core/provider-file-identity.js +113 -0
  137. package/dist/core/provider-file-identity.js.map +1 -0
  138. package/dist/core/provider-file-policy.d.ts +19 -0
  139. package/dist/core/provider-file-policy.d.ts.map +1 -0
  140. package/dist/core/provider-file-policy.js +72 -0
  141. package/dist/core/provider-file-policy.js.map +1 -0
  142. package/dist/core/provider-file-recovery.d.ts +25 -0
  143. package/dist/core/provider-file-recovery.d.ts.map +1 -0
  144. package/dist/core/provider-file-recovery.js +393 -0
  145. package/dist/core/provider-file-recovery.js.map +1 -0
  146. package/dist/core/provider-file-revalidation.d.ts +20 -0
  147. package/dist/core/provider-file-revalidation.d.ts.map +1 -0
  148. package/dist/core/provider-file-revalidation.js +60 -0
  149. package/dist/core/provider-file-revalidation.js.map +1 -0
  150. package/dist/core/provider-processes.d.ts +18 -0
  151. package/dist/core/provider-processes.d.ts.map +1 -0
  152. package/dist/core/provider-processes.js +90 -0
  153. package/dist/core/provider-processes.js.map +1 -0
  154. package/dist/index.d.ts +4 -2
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +4 -2
  157. package/dist/index.js.map +1 -1
  158. package/dist/main.d.ts.map +1 -1
  159. package/dist/main.js +4 -1
  160. package/dist/main.js.map +1 -1
  161. package/dist/state/json-file.d.ts +2 -1
  162. package/dist/state/json-file.d.ts.map +1 -1
  163. package/dist/state/json-file.js +59 -2
  164. package/dist/state/json-file.js.map +1 -1
  165. package/dist/state/layout.d.ts +2 -0
  166. package/dist/state/layout.d.ts.map +1 -1
  167. package/dist/state/layout.js +2 -0
  168. package/dist/state/layout.js.map +1 -1
  169. package/dist/state/run-journal.d.ts.map +1 -1
  170. package/dist/state/run-journal.js +8 -2
  171. package/dist/state/run-journal.js.map +1 -1
  172. package/dist/version.d.ts +1 -1
  173. package/dist/version.js +1 -1
  174. package/package.json +1 -1
  175. package/schemas/audit.schema.json +1029 -1
  176. package/schemas/database-backup.schema.json +648 -0
  177. package/schemas/plan.schema.json +1014 -1
  178. package/schemas/provider-file-quarantine.schema.json +741 -0
  179. package/schemas/run.schema.json +180 -0
@@ -1,8 +1,41 @@
1
1
  import { lstat } from "node:fs/promises";
2
2
  import { join, resolve } from "node:path";
3
+ import { databaseIdentitySchema, providerFileIdentitySchema, } from "../contracts/action.js";
3
4
  import { sha256 } from "../core/digest.js";
4
5
  import { measurePath } from "../core/measure.js";
6
+ import { CLAUDE_CHANGELOG_CACHE_MIN_AGE_MINUTES, CLAUDE_CHANGELOG_CACHE_POLICY_ID, CLAUDE_CHANGELOG_CACHE_QUARANTINE_TTL_MINUTES, CLAUDE_DEBUG_LOG_MIN_AGE_MINUTES, CLAUDE_DEBUG_LOG_POLICY_ID, CLAUDE_DEBUG_LOG_QUARANTINE_TTL_MINUTES, isClaudeChangelogCacheRelativePath, isClaudeDebugLogRelativePath, } from "../core/provider-file-policy.js";
7
+ import { codexDatabaseContractMatches, inspectCodexDatabase, inspectCodexProcesses, inspectDatabaseOpenHandles, } from "./codex-database.js";
8
+ import { collectClaudeChangelogCache } from "./claude-cache.js";
9
+ import { collectClaudeDebugLogs } from "./claude-debug.js";
10
+ import { claudeNativeRetentionFactsSchema, inspectClaudeNativeRetention, usesClaudeNativeRetention, } from "./claude-retention.js";
11
+ import { copilotNativeMaintenanceFactsSchema, copilotNativeMaintenanceFor, } from "./copilot-maintenance.js";
5
12
  import { collectProviderReachability } from "./provider-reachability.js";
13
+ import { resolveProviderRoot } from "./provider-root.js";
14
+ const CLAUDE_PROVIDER_FILE_CONTRACTS = [
15
+ {
16
+ policyId: CLAUDE_DEBUG_LOG_POLICY_ID,
17
+ minAgeMinutes: CLAUDE_DEBUG_LOG_MIN_AGE_MINUTES,
18
+ quarantineTtlMinutes: CLAUDE_DEBUG_LOG_QUARANTINE_TTL_MINUTES,
19
+ matchesRelativePath: isClaudeDebugLogRelativePath,
20
+ description: "Quarantine a Claude debug log older than 30 days",
21
+ rootCode: "claude-debug-log-owner-contract",
22
+ rootDetail: "Claude documents direct debug logs as disposable application data with no user-facing loss.",
23
+ tooRecentDetail: "The debug log is newer than the 30-day cleanup threshold.",
24
+ },
25
+ {
26
+ policyId: CLAUDE_CHANGELOG_CACHE_POLICY_ID,
27
+ minAgeMinutes: CLAUDE_CHANGELOG_CACHE_MIN_AGE_MINUTES,
28
+ quarantineTtlMinutes: CLAUDE_CHANGELOG_CACHE_QUARANTINE_TTL_MINUTES,
29
+ matchesRelativePath: isClaudeChangelogCacheRelativePath,
30
+ description: "Quarantine the Claude changelog cache after 30 days",
31
+ rootCode: "claude-changelog-cache-owner-contract",
32
+ rootDetail: "Claude documents cache/changelog.md as a rebuildable release-notes cache refreshed in the background.",
33
+ tooRecentDetail: "The changelog cache is newer than the 30-day cleanup threshold.",
34
+ },
35
+ ];
36
+ const DATABASE_RECLAIM_THRESHOLD_BYTES = 512 * 1024 * 1024;
37
+ const DATABASE_RECLAIM_RATIO = 0.25;
38
+ const DATABASE_BACKUP_TTL_MINUTES = 7 * 24 * 60;
6
39
  function isMissing(error) {
7
40
  return (error instanceof Error && "code" in error && error.code === "ENOENT");
8
41
  }
@@ -16,11 +49,28 @@ export class ProviderAuditAdapter {
16
49
  this.id = spec.id;
17
50
  }
18
51
  root(context) {
19
- return resolve(this.options.root ??
20
- this.spec.defaultRoot(context.home, this.options.platform ?? process.platform));
52
+ return resolveProviderRoot(this.spec, context.home, this.options);
21
53
  }
22
54
  async probe(context) {
23
- const root = this.root(context);
55
+ let root;
56
+ try {
57
+ root = this.root(context);
58
+ }
59
+ catch (error) {
60
+ return {
61
+ adapter: this.id,
62
+ status: "degraded",
63
+ detail: `${this.spec.displayName} root configuration is invalid`,
64
+ diagnostics: [
65
+ {
66
+ severity: "warning",
67
+ code: "PROVIDER_ROOT_INVALID",
68
+ message: error instanceof Error ? error.message : String(error),
69
+ adapter: this.id,
70
+ },
71
+ ],
72
+ };
73
+ }
24
74
  try {
25
75
  const stats = await lstat(root);
26
76
  if (stats.isSymbolicLink()) {
@@ -110,9 +160,18 @@ export class ProviderAuditAdapter {
110
160
  if (this.options.inventoryResources === false) {
111
161
  return { resources: [], diagnostics };
112
162
  }
163
+ const claudeRetention = this.spec.id === "claude"
164
+ ? await inspectClaudeNativeRetention(probe.root, this.options.platform ?? process.platform)
165
+ : undefined;
166
+ if (claudeRetention !== undefined) {
167
+ diagnostics.push(...claudeRetention.diagnostics);
168
+ }
113
169
  for (const candidate of this.spec.resources) {
114
170
  context.signal?.throwIfAborted();
115
171
  const path = candidate.relativePath === "." ? probe.root : join(probe.root, candidate.relativePath);
172
+ const copilotNativeMaintenance = this.spec.id === "copilot"
173
+ ? copilotNativeMaintenanceFor(candidate.relativePath)
174
+ : undefined;
116
175
  try {
117
176
  const stats = await lstat(path);
118
177
  if (stats.isSymbolicLink()) {
@@ -124,12 +183,24 @@ export class ProviderAuditAdapter {
124
183
  });
125
184
  continue;
126
185
  }
127
- const measurement = this.options.measureBytes
186
+ const isCodexDatabase = this.spec.id === "codex" &&
187
+ candidate.kind === "agent-database" &&
188
+ this.options.allowOfflineVacuum === true;
189
+ const databaseInspection = isCodexDatabase
190
+ ? await (this.options.inspectDatabase ?? inspectCodexDatabase)(path, this.options.databaseDependencies)
191
+ : undefined;
192
+ const measurement = databaseInspection === undefined && this.options.measureBytes
128
193
  ? await measurePath(path, {
129
194
  maxEntries: this.options.maxEntries,
130
195
  ...(context.signal === undefined ? {} : { signal: context.signal }),
131
196
  })
132
197
  : undefined;
198
+ const openHandles = databaseInspection === undefined
199
+ ? undefined
200
+ : await inspectDatabaseOpenHandles(path, this.options.databaseDependencies);
201
+ const ownerProcesses = databaseInspection === undefined
202
+ ? undefined
203
+ : await inspectCodexProcesses(this.options.databaseDependencies);
133
204
  const canonicalKey = `${this.id}:${candidate.kind}:${resolve(path)}`;
134
205
  const resourceId = `${this.id}:${candidate.kind}:${sha256(canonicalKey)}`;
135
206
  resources.push({
@@ -143,12 +214,37 @@ export class ProviderAuditAdapter {
143
214
  },
144
215
  observedAt: context.now.toISOString(),
145
216
  exists: true,
146
- ...(measurement === undefined ? {} : { measuredBytes: measurement.bytes }),
217
+ ...(databaseInspection !== undefined
218
+ ? { measuredBytes: databaseInspection.identity.measuredBytes }
219
+ : measurement === undefined
220
+ ? {}
221
+ : { measuredBytes: measurement.bytes }),
147
222
  facts: {
148
- reportOnly: true,
223
+ reportOnly: databaseInspection === undefined,
149
224
  entries: measurement?.entries,
150
225
  symlinksSkipped: measurement?.symlinksSkipped,
151
226
  measurementTruncated: measurement?.truncated,
227
+ ...(claudeRetention !== undefined && usesClaudeNativeRetention(candidate.relativePath)
228
+ ? { nativeRetention: claudeRetention.facts }
229
+ : {}),
230
+ ...(copilotNativeMaintenance === undefined
231
+ ? {}
232
+ : { nativeMaintenance: copilotNativeMaintenance }),
233
+ ...(databaseInspection === undefined
234
+ ? {}
235
+ : {
236
+ maintenanceAction: "database.vacuum",
237
+ databaseIdentity: databaseInspection.identity,
238
+ estimatedReclaimBytes: databaseInspection.estimatedReclaimBytes,
239
+ freePageRatio: databaseInspection.freePageRatio,
240
+ quickCheck: databaseInspection.quickCheck,
241
+ walBytes: databaseInspection.walBytes,
242
+ shmBytes: databaseInspection.shmBytes,
243
+ sidecarsPresent: databaseInspection.sidecarsPresent,
244
+ ownerProcesses,
245
+ openHandles,
246
+ offlineVacuumAllowed: this.options.allowOfflineVacuum === true,
247
+ }),
152
248
  },
153
249
  });
154
250
  }
@@ -164,10 +260,260 @@ export class ProviderAuditAdapter {
164
260
  });
165
261
  }
166
262
  }
263
+ if (this.spec.id === "claude") {
264
+ const debugLogs = await collectClaudeDebugLogs(context, probe.root, this.options.maxEntries);
265
+ const changelogCache = await collectClaudeChangelogCache(context, probe.root);
266
+ resources.push(...debugLogs.resources);
267
+ resources.push(...changelogCache.resources);
268
+ diagnostics.push(...debugLogs.diagnostics);
269
+ diagnostics.push(...changelogCache.diagnostics);
270
+ }
167
271
  return { resources, diagnostics };
168
272
  }
169
273
  async classify(context, resource) {
170
274
  const observedAt = context.now.toISOString();
275
+ const providerFileIdentity = providerFileIdentitySchema.safeParse(resource.facts.providerFileIdentity);
276
+ const claudeNativeRetention = claudeNativeRetentionFactsSchema.safeParse(resource.facts.nativeRetention);
277
+ const copilotNativeMaintenance = copilotNativeMaintenanceFactsSchema.safeParse(resource.facts.nativeMaintenance);
278
+ const claudeProviderFileContract = typeof resource.facts.policyId === "string"
279
+ ? CLAUDE_PROVIDER_FILE_CONTRACTS.find((contract) => contract.policyId === resource.facts.policyId &&
280
+ providerFileIdentity.success &&
281
+ contract.matchesRelativePath(providerFileIdentity.data.relativePath))
282
+ : undefined;
283
+ if (this.spec.id === "claude" &&
284
+ providerFileIdentity.success &&
285
+ providerFileIdentity.data.provider === "claude" &&
286
+ claudeProviderFileContract !== undefined) {
287
+ const claudeIdentity = {
288
+ ...providerFileIdentity.data,
289
+ provider: "claude",
290
+ };
291
+ const oldEnough = context.now.getTime() - claudeIdentity.mtimeMs >=
292
+ claudeProviderFileContract.minAgeMinutes * 60_000;
293
+ const candidateActions = oldEnough
294
+ ? [
295
+ {
296
+ actionId: `provider.file-quarantine:${sha256(`${claudeProviderFileContract.policyId}:${claudeIdentity.fingerprint}`)}`,
297
+ type: "provider.file-quarantine",
298
+ adapter: "claude",
299
+ resourceId: resource.resource.id,
300
+ policyId: claudeProviderFileContract.policyId,
301
+ risk: "recoverable",
302
+ description: claudeProviderFileContract.description,
303
+ expectedReclaimBytes: 0,
304
+ pendingQuarantineBytes: claudeIdentity.measuredBytes,
305
+ quarantineTtlMinutes: claudeProviderFileContract.quarantineTtlMinutes,
306
+ target: claudeIdentity,
307
+ },
308
+ ]
309
+ : [];
310
+ return {
311
+ schemaVersion: 1,
312
+ findingId: `${resource.resource.id}:${sha256(context.auditId)}`,
313
+ auditId: context.auditId,
314
+ observedAt,
315
+ resource: resource.resource,
316
+ state: oldEnough ? "eligible" : "protected",
317
+ confidence: "certain",
318
+ roots: [
319
+ {
320
+ code: claudeProviderFileContract.rootCode,
321
+ source: this.id,
322
+ observedAt,
323
+ detail: claudeProviderFileContract.rootDetail,
324
+ },
325
+ ...(oldEnough
326
+ ? []
327
+ : [
328
+ {
329
+ code: "provider-file-too-recent",
330
+ source: this.id,
331
+ observedAt,
332
+ detail: claudeProviderFileContract.tooRecentDetail,
333
+ },
334
+ ]),
335
+ ],
336
+ facts: resource.facts,
337
+ candidateActions,
338
+ measuredBytes: claudeIdentity.measuredBytes,
339
+ estimatedReclaimBytes: 0,
340
+ warnings: [],
341
+ };
342
+ }
343
+ const databaseIdentity = databaseIdentitySchema.safeParse(resource.facts.databaseIdentity);
344
+ if (this.spec.id === "codex" && databaseIdentity.success) {
345
+ const estimatedReclaimBytes = typeof resource.facts.estimatedReclaimBytes === "number"
346
+ ? resource.facts.estimatedReclaimBytes
347
+ : 0;
348
+ const freePageRatio = typeof resource.facts.freePageRatio === "number" ? resource.facts.freePageRatio : 0;
349
+ const openHandles = resource.facts.openHandles;
350
+ const ownerProcesses = resource.facts.ownerProcesses;
351
+ const supported = codexDatabaseContractMatches(databaseIdentity.data);
352
+ const worthwhile = estimatedReclaimBytes >= DATABASE_RECLAIM_THRESHOLD_BYTES &&
353
+ freePageRatio >= DATABASE_RECLAIM_RATIO;
354
+ const allowed = resource.facts.offlineVacuumAllowed === true;
355
+ const walSafe = databaseIdentity.data.wal?.measuredBytes === undefined ||
356
+ databaseIdentity.data.wal.measuredBytes === 0;
357
+ const ownerIdle = ownerProcesses?.status === "idle";
358
+ const handlesIdle = openHandles?.status === "idle";
359
+ const eligible = supported && worthwhile && allowed && walSafe && ownerIdle && handlesIdle;
360
+ const roots = [];
361
+ if (!supported) {
362
+ roots.push({
363
+ code: "unsupported-database-contract",
364
+ source: this.id,
365
+ observedAt,
366
+ detail: "The Codex database filename, migration version, or required tables changed.",
367
+ });
368
+ }
369
+ if (!worthwhile) {
370
+ roots.push({
371
+ code: "database-compaction-not-needed",
372
+ source: this.id,
373
+ observedAt,
374
+ detail: "Free pages are below the 512 MiB and 25 percent compaction thresholds.",
375
+ });
376
+ }
377
+ if (!allowed) {
378
+ roots.push({
379
+ code: "offline-vacuum-not-authorized",
380
+ source: this.id,
381
+ observedAt,
382
+ detail: "Re-run the audit with --allow-offline-vacuum to propose this action.",
383
+ });
384
+ }
385
+ if (!walSafe) {
386
+ roots.push({
387
+ code: "database-wal-not-empty",
388
+ source: this.id,
389
+ observedAt,
390
+ detail: "The WAL contains data and must be checkpointed by Codex before compaction.",
391
+ });
392
+ }
393
+ if (!ownerIdle) {
394
+ roots.push({
395
+ code: ownerProcesses?.status === "busy"
396
+ ? "provider-process-active"
397
+ : "provider-process-state-unknown",
398
+ source: this.id,
399
+ observedAt,
400
+ detail: ownerProcesses?.status === "busy"
401
+ ? "A Codex CLI, desktop, or app-server process is active."
402
+ : (ownerProcesses?.reason ?? "Codex process state could not be proven."),
403
+ });
404
+ }
405
+ if (!handlesIdle) {
406
+ roots.push({
407
+ code: openHandles?.status === "busy"
408
+ ? "database-open-descriptor"
409
+ : "database-descriptor-state-unknown",
410
+ source: this.id,
411
+ observedAt,
412
+ detail: openHandles?.status === "busy"
413
+ ? "A process has the database or a SQLite companion open."
414
+ : (openHandles?.reason ?? "Open database descriptors could not be inspected."),
415
+ });
416
+ }
417
+ const candidateActions = eligible
418
+ ? [
419
+ {
420
+ actionId: `database.vacuum:${sha256(JSON.stringify(databaseIdentity.data))}`,
421
+ type: "database.vacuum",
422
+ adapter: "codex",
423
+ resourceId: resource.resource.id,
424
+ risk: "experimental",
425
+ description: `Compact Codex ${databaseIdentity.data.database} database offline with a retained rollback copy`,
426
+ expectedReclaimBytes: estimatedReclaimBytes,
427
+ backupTtlMinutes: DATABASE_BACKUP_TTL_MINUTES,
428
+ target: databaseIdentity.data,
429
+ },
430
+ ]
431
+ : [];
432
+ return {
433
+ schemaVersion: 1,
434
+ findingId: `${resource.resource.id}:${sha256(context.auditId)}`,
435
+ auditId: context.auditId,
436
+ observedAt,
437
+ resource: resource.resource,
438
+ state: eligible ? "eligible" : "protected",
439
+ confidence: supported ? "certain" : "unknown",
440
+ roots,
441
+ facts: resource.facts,
442
+ candidateActions,
443
+ measuredBytes: databaseIdentity.data.measuredBytes,
444
+ estimatedReclaimBytes,
445
+ warnings: [],
446
+ };
447
+ }
448
+ if (this.spec.id === "claude" && claudeNativeRetention.success) {
449
+ const uncertain = !["missing", "valid"].includes(claudeNativeRetention.data.userSettingsStatus);
450
+ const configuredDays = claudeNativeRetention.data.userConfiguredDays;
451
+ return {
452
+ schemaVersion: 1,
453
+ findingId: `${resource.resource.id}:${sha256(context.auditId)}`,
454
+ auditId: context.auditId,
455
+ observedAt,
456
+ resource: resource.resource,
457
+ state: "protected",
458
+ confidence: uncertain ? "unknown" : "high",
459
+ roots: [
460
+ {
461
+ code: uncertain
462
+ ? "claude-native-retention-uncertain"
463
+ : "claude-native-retention-expected",
464
+ source: this.id,
465
+ observedAt,
466
+ detail: uncertain
467
+ ? "Claude user settings could not be validated; Claude may pause native cleanup unless managed settings provide cleanupPeriodDays."
468
+ : configuredDays === undefined
469
+ ? "Claude documents a 30-day startup retention sweep; higher-precedence settings were not resolved."
470
+ : `Claude user settings declare a ${configuredDays}-day startup retention sweep; higher-precedence settings were not resolved.`,
471
+ },
472
+ {
473
+ code: "provider-owned-report-only",
474
+ source: this.id,
475
+ observedAt,
476
+ detail: "Claude owns this retention sweep; AgentRinse does not mutate the resource.",
477
+ },
478
+ ],
479
+ facts: resource.facts,
480
+ candidateActions: [],
481
+ ...(resource.measuredBytes === undefined ? {} : { measuredBytes: resource.measuredBytes }),
482
+ warnings: [],
483
+ };
484
+ }
485
+ if (this.spec.id === "copilot" && copilotNativeMaintenance.success) {
486
+ const detail = copilotNativeMaintenance.data.kind === "session-prune"
487
+ ? "Current Copilot CLI documents local-only session pruning with dry-run support; AgentRinse did not probe the installed CLI version."
488
+ : "Copilot CLI 1.0.52 introduced startup pruning for direct process logs older than seven days or beyond the newest 50; AgentRinse did not probe the installed CLI version.";
489
+ return {
490
+ schemaVersion: 1,
491
+ findingId: `${resource.resource.id}:${sha256(context.auditId)}`,
492
+ auditId: context.auditId,
493
+ observedAt,
494
+ resource: resource.resource,
495
+ state: "protected",
496
+ confidence: "unknown",
497
+ roots: [
498
+ {
499
+ code: "copilot-native-maintenance-version-unverified",
500
+ source: this.id,
501
+ observedAt,
502
+ detail,
503
+ },
504
+ {
505
+ code: "provider-owned-report-only",
506
+ source: this.id,
507
+ observedAt,
508
+ detail: "Copilot owns this maintenance path; AgentRinse does not mutate the resource.",
509
+ },
510
+ ],
511
+ facts: resource.facts,
512
+ candidateActions: [],
513
+ ...(resource.measuredBytes === undefined ? {} : { measuredBytes: resource.measuredBytes }),
514
+ warnings: [],
515
+ };
516
+ }
171
517
  return {
172
518
  schemaVersion: 1,
173
519
  findingId: `${resource.resource.id}:${sha256(context.auditId)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"provider-adapter.js","sourceRoot":"","sources":["../../src/adapters/provider-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-adapter.js","sourceRoot":"","sources":["../../src/adapters/provider-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ProviderSpec } from "./provider-specs.js";
2
+ export type ProviderRootOptions = {
3
+ root?: string;
4
+ environment?: NodeJS.ProcessEnv;
5
+ platform?: NodeJS.Platform;
6
+ };
7
+ export declare function resolveProviderRoot(spec: ProviderSpec, home: string, options?: ProviderRootOptions): string;
8
+ //# sourceMappingURL=provider-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-root.d.ts","sourceRoot":"","sources":["../../src/adapters/provider-root.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B,CAAC;AAYF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAeR"}
@@ -0,0 +1,27 @@
1
+ import { isAbsolute, resolve } from "node:path";
2
+ function providerRootEnvironment(spec) {
3
+ if (spec.id === "claude") {
4
+ return "CLAUDE_CONFIG_DIR";
5
+ }
6
+ if (spec.id === "copilot") {
7
+ return "COPILOT_HOME";
8
+ }
9
+ return undefined;
10
+ }
11
+ export function resolveProviderRoot(spec, home, options = {}) {
12
+ if (options.root !== undefined) {
13
+ return resolve(options.root);
14
+ }
15
+ const environmentVariable = providerRootEnvironment(spec);
16
+ if (environmentVariable !== undefined) {
17
+ const configuredRoot = options.environment?.[environmentVariable];
18
+ if (configuredRoot !== undefined && configuredRoot !== "") {
19
+ if (!isAbsolute(configuredRoot)) {
20
+ throw new Error(`${environmentVariable} must be an absolute path`);
21
+ }
22
+ return resolve(configuredRoot);
23
+ }
24
+ }
25
+ return resolve(spec.defaultRoot(resolve(home), options.platform ?? process.platform));
26
+ }
27
+ //# sourceMappingURL=provider-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-root.js","sourceRoot":"","sources":["../../src/adapters/provider-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUhD,SAAS,uBAAuB,CAAC,IAAkB;IACjD,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,IAAY,EACZ,OAAO,GAAwB,EAAE;IAEjC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,GAAG,mBAAmB,2BAA2B,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-specs.d.ts","sourceRoot":"","sources":["../../src/adapters/provider-specs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEjF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,iBAAiB,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC7D,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAuJlE,CAAC"}
1
+ {"version":3,"file":"provider-specs.d.ts","sourceRoot":"","sources":["../../src/adapters/provider-specs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEjF,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,iBAAiB,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC7D,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAgLlE,CAAC"}
@@ -28,6 +28,21 @@ export const PROVIDER_SPECS = {
28
28
  displayName: "Codex diagnostic database",
29
29
  kind: "agent-database",
30
30
  },
31
+ {
32
+ relativePath: "state_5.sqlite",
33
+ displayName: "Codex state database",
34
+ kind: "agent-database",
35
+ },
36
+ {
37
+ relativePath: "goals_1.sqlite",
38
+ displayName: "Codex goals database",
39
+ kind: "agent-database",
40
+ },
41
+ {
42
+ relativePath: "memories_1.sqlite",
43
+ displayName: "Codex memories database",
44
+ kind: "agent-database",
45
+ },
31
46
  ],
32
47
  },
33
48
  claude: {
@@ -50,6 +65,16 @@ export const PROVIDER_SPECS = {
50
65
  displayName: "Claude managed worktrees",
51
66
  kind: "git-worktree",
52
67
  },
68
+ {
69
+ relativePath: "paste-cache",
70
+ displayName: "Claude paste cache",
71
+ kind: "agent-cache",
72
+ },
73
+ {
74
+ relativePath: "image-cache",
75
+ displayName: "Claude image cache",
76
+ kind: "agent-cache",
77
+ },
53
78
  ],
54
79
  },
55
80
  cursor: {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-specs.js","sourceRoot":"","sources":["../../src/adapters/provider-specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoBjC,SAAS,QAAQ,CAAC,GAAG,QAAkB;IACrC,OAAO,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA4C;IACrE,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC/B,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,mBAAmB;gBACjC,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,cAAc;aACrB;YACD;gBACE,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,gBAAgB;aACvB;SACF;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChC,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,iBAAiB;aACxB;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,0BAA0B;gBACvC,IAAI,EAAE,cAAc;aACrB;SACF;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,CAAC,IAAI,EAAE,QAAQ;YACxB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAC9C,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;gBAC3C,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,iBAAiB;aACxB;SACF;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,iBAAiB;aACxB;SACF;KACF;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,KAAK;QAClB,WAAW,CAAC,IAAI,EAAE,QAAQ;YACxB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,GAAG;gBACjB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,YAAY;aACnB;SACF;KACF;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;QACpD,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,aAAa;gBAC3B,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,iBAAiB;aACxB;YACD;gBACE,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,sBAAsB;aAC7B;SACF;KACF;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC9B,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,GAAG;gBACjB,WAAW,EAAE,iBAAiB;gBAC9B,IAAI,EAAE,YAAY;aACnB;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"provider-specs.js","sourceRoot":"","sources":["../../src/adapters/provider-specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoBjC,SAAS,QAAQ,CAAC,GAAG,QAAkB;IACrC,OAAO,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA4C;IACrE,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,WAAW,EAAE,cAAc;QAC3B,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC/B,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,mBAAmB;gBACjC,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,cAAc;aACrB;YACD;gBACE,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,mBAAmB;gBACjC,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,gBAAgB;aACvB;SACF;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAChC,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,yBAAyB;gBACtC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,iBAAiB;aACxB;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,0BAA0B;gBACvC,IAAI,EAAE,cAAc;aACrB;YACD;gBACE,YAAY,EAAE,aAAa;gBAC3B,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,aAAa;aACpB;YACD;gBACE,YAAY,EAAE,aAAa;gBAC3B,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,aAAa;aACpB;SACF;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,CAAC,IAAI,EAAE,QAAQ;YACxB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAC9C,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;gBAC3C,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,iBAAiB;aACxB;SACF;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,eAAe;gBAC7B,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,qBAAqB;aAC5B;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,kBAAkB;gBAC/B,IAAI,EAAE,iBAAiB;aACxB;SACF;KACF;IACD,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,KAAK;QAClB,WAAW,CAAC,IAAI,EAAE,QAAQ;YACxB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,GAAG;gBACjB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,YAAY;aACnB;SACF;KACF;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;QACpD,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,aAAa;gBAC3B,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,gBAAgB;aACvB;YACD;gBACE,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,eAAe;gBAC5B,IAAI,EAAE,iBAAiB;aACxB;YACD;gBACE,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,sBAAsB;aAC7B;SACF;KACF;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC9B,SAAS,EAAE;YACT;gBACE,YAAY,EAAE,GAAG;gBACjB,WAAW,EAAE,iBAAiB;gBAC9B,IAAI,EAAE,YAAY;aACnB;SACF;KACF;CACF,CAAC"}
@@ -6,6 +6,7 @@ export type AuditAdapterRegistryOptions = {
6
6
  roots?: ReachabilityRoot[];
7
7
  environment?: NodeJS.ProcessEnv;
8
8
  reachability?: ReachabilityIndex;
9
+ allowOfflineVacuum?: boolean;
9
10
  };
10
11
  export declare function createAuditAdapters(config: AgentRinseConfig, platform?: NodeJS.Platform, options?: AuditAdapterRegistryOptions): AuditAdapter[];
11
12
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAUnF,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,2BAAgC,GACxC,YAAY,EAAE,CAsFhB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAUnF,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,2BAAgC,GACxC,YAAY,EAAE,CAwFhB"}
@@ -44,6 +44,8 @@ export function createAuditAdapters(config, platform = process.platform, options
44
44
  maxEntries: config.audit.maxEntries,
45
45
  reachability,
46
46
  inventoryResources: options.providerInventory ?? true,
47
+ allowOfflineVacuum: options.allowOfflineVacuum ?? false,
48
+ environment: options.environment ?? process.env,
47
49
  }));
48
50
  if (gitEnabled) {
49
51
  adapters.push(new GitWorktreeAuditAdapter(config.adapters.git?.root, undefined, undefined, undefined, reachability, {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/commands/adapters.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAgBvC"}
1
+ {"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/commands/adapters.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAoBvC"}
@@ -5,7 +5,9 @@ export function renderAdapters() {
5
5
  "",
6
6
  ...Object.values(PROVIDER_SPECS)
7
7
  .sort((left, right) => left.id.localeCompare(right.id))
8
- .map((spec) => `${spec.id.padEnd(10)} audit-only ${spec.displayName}`),
8
+ .map((spec) => spec.id === "codex"
9
+ ? `${spec.id.padEnd(10)} experimental ${spec.displayName} (offline DB vacuum)`
10
+ : `${spec.id.padEnd(10)} audit-only ${spec.displayName}`),
9
11
  "",
10
12
  "git audit-only Git worktrees (explicit root)",
11
13
  "runtime audit-only Installed agent runtimes",