agentrinse 0.4.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 (134) hide show
  1. package/README.md +57 -48
  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/copilot-maintenance.d.ts +23 -0
  15. package/dist/adapters/copilot-maintenance.d.ts.map +1 -0
  16. package/dist/adapters/copilot-maintenance.js +53 -0
  17. package/dist/adapters/copilot-maintenance.js.map +1 -0
  18. package/dist/adapters/provider-adapter.d.ts +1 -0
  19. package/dist/adapters/provider-adapter.d.ts.map +1 -1
  20. package/dist/adapters/provider-adapter.js +209 -4
  21. package/dist/adapters/provider-adapter.js.map +1 -1
  22. package/dist/adapters/provider-root.d.ts +8 -0
  23. package/dist/adapters/provider-root.d.ts.map +1 -0
  24. package/dist/adapters/provider-root.js +27 -0
  25. package/dist/adapters/provider-root.js.map +1 -0
  26. package/dist/adapters/provider-specs.d.ts.map +1 -1
  27. package/dist/adapters/provider-specs.js +10 -0
  28. package/dist/adapters/provider-specs.js.map +1 -1
  29. package/dist/adapters/registry.d.ts.map +1 -1
  30. package/dist/adapters/registry.js +1 -0
  31. package/dist/adapters/registry.js.map +1 -1
  32. package/dist/commands/doctor.d.ts.map +1 -1
  33. package/dist/commands/doctor.js +2 -0
  34. package/dist/commands/doctor.js.map +1 -1
  35. package/dist/commands/purge.d.ts +7 -1
  36. package/dist/commands/purge.d.ts.map +1 -1
  37. package/dist/commands/purge.js +23 -0
  38. package/dist/commands/purge.js.map +1 -1
  39. package/dist/commands/show.d.ts.map +1 -1
  40. package/dist/commands/show.js +3 -0
  41. package/dist/commands/show.js.map +1 -1
  42. package/dist/commands/undo.d.ts +4 -1
  43. package/dist/commands/undo.d.ts.map +1 -1
  44. package/dist/commands/undo.js +18 -1
  45. package/dist/commands/undo.js.map +1 -1
  46. package/dist/contracts/action.d.ts +335 -2
  47. package/dist/contracts/action.d.ts.map +1 -1
  48. package/dist/contracts/action.js +52 -1
  49. package/dist/contracts/action.js.map +1 -1
  50. package/dist/contracts/finding.d.ts +153 -2
  51. package/dist/contracts/finding.d.ts.map +1 -1
  52. package/dist/contracts/plan.d.ts +152 -2
  53. package/dist/contracts/plan.d.ts.map +1 -1
  54. package/dist/contracts/plan.js +1 -1
  55. package/dist/contracts/plan.js.map +1 -1
  56. package/dist/contracts/provider-file-quarantine.d.ts +221 -0
  57. package/dist/contracts/provider-file-quarantine.d.ts.map +1 -0
  58. package/dist/contracts/provider-file-quarantine.js +61 -0
  59. package/dist/contracts/provider-file-quarantine.js.map +1 -0
  60. package/dist/contracts/report.d.ts +153 -2
  61. package/dist/contracts/report.d.ts.map +1 -1
  62. package/dist/contracts/resource.d.ts +3 -0
  63. package/dist/contracts/resource.d.ts.map +1 -1
  64. package/dist/contracts/resource.js +1 -0
  65. package/dist/contracts/resource.js.map +1 -1
  66. package/dist/contracts/run.d.ts +94 -0
  67. package/dist/contracts/run.d.ts.map +1 -1
  68. package/dist/contracts/run.js +7 -0
  69. package/dist/contracts/run.js.map +1 -1
  70. package/dist/core/apply.d.ts +5 -1
  71. package/dist/core/apply.d.ts.map +1 -1
  72. package/dist/core/apply.js +74 -3
  73. package/dist/core/apply.js.map +1 -1
  74. package/dist/core/no-clobber-rename.d.ts +1 -0
  75. package/dist/core/no-clobber-rename.d.ts.map +1 -1
  76. package/dist/core/no-clobber-rename.js +44 -0
  77. package/dist/core/no-clobber-rename.js.map +1 -1
  78. package/dist/core/pinned-file.d.ts +37 -0
  79. package/dist/core/pinned-file.d.ts.map +1 -0
  80. package/dist/core/pinned-file.js +228 -0
  81. package/dist/core/pinned-file.js.map +1 -0
  82. package/dist/core/plan.d.ts.map +1 -1
  83. package/dist/core/plan.js +4 -1
  84. package/dist/core/plan.js.map +1 -1
  85. package/dist/core/process-ownership.d.ts +1 -0
  86. package/dist/core/process-ownership.d.ts.map +1 -1
  87. package/dist/core/process-ownership.js +17 -3
  88. package/dist/core/process-ownership.js.map +1 -1
  89. package/dist/core/provider-file-executor.d.ts +40 -0
  90. package/dist/core/provider-file-executor.d.ts.map +1 -0
  91. package/dist/core/provider-file-executor.js +259 -0
  92. package/dist/core/provider-file-executor.js.map +1 -0
  93. package/dist/core/provider-file-identity.d.ts +8 -0
  94. package/dist/core/provider-file-identity.d.ts.map +1 -0
  95. package/dist/core/provider-file-identity.js +113 -0
  96. package/dist/core/provider-file-identity.js.map +1 -0
  97. package/dist/core/provider-file-policy.d.ts +19 -0
  98. package/dist/core/provider-file-policy.d.ts.map +1 -0
  99. package/dist/core/provider-file-policy.js +72 -0
  100. package/dist/core/provider-file-policy.js.map +1 -0
  101. package/dist/core/provider-file-recovery.d.ts +25 -0
  102. package/dist/core/provider-file-recovery.d.ts.map +1 -0
  103. package/dist/core/provider-file-recovery.js +393 -0
  104. package/dist/core/provider-file-recovery.js.map +1 -0
  105. package/dist/core/provider-file-revalidation.d.ts +20 -0
  106. package/dist/core/provider-file-revalidation.d.ts.map +1 -0
  107. package/dist/core/provider-file-revalidation.js +60 -0
  108. package/dist/core/provider-file-revalidation.js.map +1 -0
  109. package/dist/core/provider-processes.d.ts +18 -0
  110. package/dist/core/provider-processes.d.ts.map +1 -0
  111. package/dist/core/provider-processes.js +90 -0
  112. package/dist/core/provider-processes.js.map +1 -0
  113. package/dist/index.d.ts +3 -2
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +3 -2
  116. package/dist/index.js.map +1 -1
  117. package/dist/state/json-file.d.ts +2 -1
  118. package/dist/state/json-file.d.ts.map +1 -1
  119. package/dist/state/json-file.js +59 -2
  120. package/dist/state/json-file.js.map +1 -1
  121. package/dist/state/layout.d.ts +1 -0
  122. package/dist/state/layout.d.ts.map +1 -1
  123. package/dist/state/layout.js +1 -0
  124. package/dist/state/layout.js.map +1 -1
  125. package/dist/state/run-journal.d.ts.map +1 -1
  126. package/dist/state/run-journal.js +8 -2
  127. package/dist/state/run-journal.js.map +1 -1
  128. package/dist/version.d.ts +1 -1
  129. package/dist/version.js +1 -1
  130. package/package.json +1 -1
  131. package/schemas/audit.schema.json +786 -1
  132. package/schemas/plan.schema.json +785 -1
  133. package/schemas/provider-file-quarantine.schema.json +741 -0
  134. package/schemas/run.schema.json +85 -0
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
1
  export { agentRinseConfigSchema, adapterIdSchema, type AdapterId, type AgentRinseConfig, } from "./config/schema.js";
2
- export { artifactNameSchema, artifactRemoveActionSchema, codexDatabaseFilenameSchema, codexDatabaseNameSchema, databaseIdentitySchema, databaseSidecarIdentitySchema, databaseVacuumActionSchema, pathIdentitySchema, plannedActionSchema, worktreeIdentitySchema, worktreeQuarantineActionSchema, type ArtifactName, type ArtifactRemoveAction, type CodexDatabaseFilename, type CodexDatabaseName, type DatabaseIdentity, type DatabaseSidecarIdentity, type DatabaseVacuumAction, type PathIdentity, type PlannedAction, type WorktreeIdentity, type WorktreeQuarantineAction, } from "./contracts/action.js";
2
+ export { artifactNameSchema, artifactRemoveActionSchema, codexDatabaseFilenameSchema, codexDatabaseNameSchema, databaseIdentitySchema, databaseSidecarIdentitySchema, databaseVacuumActionSchema, pathIdentitySchema, plannedActionSchema, providerFileIdentitySchema, providerFileQuarantineActionSchema, providerMutationIdSchema, worktreeIdentitySchema, worktreeQuarantineActionSchema, type ArtifactName, type ArtifactRemoveAction, type CodexDatabaseFilename, type CodexDatabaseName, type DatabaseIdentity, type DatabaseSidecarIdentity, type DatabaseVacuumAction, type PathIdentity, type PlannedAction, type ProviderFileIdentity, type ProviderFileQuarantineAction, type ProviderMutationId, type WorktreeIdentity, type WorktreeQuarantineAction, } from "./contracts/action.js";
3
3
  export { databaseBackupEntrySchema, databaseBackupStatusSchema, type DatabaseBackupEntry, type DatabaseBackupStatus, } from "./contracts/database-backup.js";
4
+ export { providerFileQuarantineEntrySchema, providerFileQuarantineStatusSchema, type ProviderFileQuarantineEntry, type ProviderFileQuarantineStatus, } from "./contracts/provider-file-quarantine.js";
4
5
  export { doctorCheckSchema, doctorReportSchema, type DoctorCheck, type DoctorReport, } from "./contracts/doctor.js";
5
6
  export { commandEnvelopeSchema, commandEnvelopeStatusSchema, commandEventSchema, type CommandEnvelope, type CommandEnvelopeStatus, type CommandEvent, } from "./contracts/output.js";
6
7
  export { cleanupPlanSchema, type CleanupPlan } from "./contracts/plan.js";
7
8
  export { quarantineEntrySchema, quarantineStatusSchema, type QuarantineEntry, type QuarantineStatus, } from "./contracts/quarantine.js";
8
9
  export { auditReportSchema, type AdapterProbe, type AuditReport } from "./contracts/report.js";
9
- export { actionExecutionSchema, artifactActionExecutionSchema, cleanupRunSchema, databaseActionExecutionSchema, worktreeActionExecutionSchema, type ActionExecution, type CleanupRun, } from "./contracts/run.js";
10
+ export { actionExecutionSchema, artifactActionExecutionSchema, cleanupRunSchema, databaseActionExecutionSchema, providerFileActionExecutionSchema, worktreeActionExecutionSchema, type ActionExecution, type CleanupRun, } from "./contracts/run.js";
10
11
  export { runAudit, type AuditProgressEvent, type RunAuditOptions } from "./core/audit.js";
11
12
  export { applyCleanupPlan, type ApplyCleanupPlanOptions, type ApplyResult } from "./core/apply.js";
12
13
  export { createCleanupPlan } from "./core/plan.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,EAC9B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,6BAA6B,EAC7B,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,kCAAkC,EAClC,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,kCAAkC,EAClC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,GAClC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,EAC7B,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,13 @@
1
1
  export { agentRinseConfigSchema, adapterIdSchema, } from "./config/schema.js";
2
- export { artifactNameSchema, artifactRemoveActionSchema, codexDatabaseFilenameSchema, codexDatabaseNameSchema, databaseIdentitySchema, databaseSidecarIdentitySchema, databaseVacuumActionSchema, pathIdentitySchema, plannedActionSchema, worktreeIdentitySchema, worktreeQuarantineActionSchema, } from "./contracts/action.js";
2
+ export { artifactNameSchema, artifactRemoveActionSchema, codexDatabaseFilenameSchema, codexDatabaseNameSchema, databaseIdentitySchema, databaseSidecarIdentitySchema, databaseVacuumActionSchema, pathIdentitySchema, plannedActionSchema, providerFileIdentitySchema, providerFileQuarantineActionSchema, providerMutationIdSchema, worktreeIdentitySchema, worktreeQuarantineActionSchema, } from "./contracts/action.js";
3
3
  export { databaseBackupEntrySchema, databaseBackupStatusSchema, } from "./contracts/database-backup.js";
4
+ export { providerFileQuarantineEntrySchema, providerFileQuarantineStatusSchema, } from "./contracts/provider-file-quarantine.js";
4
5
  export { doctorCheckSchema, doctorReportSchema, } from "./contracts/doctor.js";
5
6
  export { commandEnvelopeSchema, commandEnvelopeStatusSchema, commandEventSchema, } from "./contracts/output.js";
6
7
  export { cleanupPlanSchema } from "./contracts/plan.js";
7
8
  export { quarantineEntrySchema, quarantineStatusSchema, } from "./contracts/quarantine.js";
8
9
  export { auditReportSchema } from "./contracts/report.js";
9
- export { actionExecutionSchema, artifactActionExecutionSchema, cleanupRunSchema, databaseActionExecutionSchema, worktreeActionExecutionSchema, } from "./contracts/run.js";
10
+ export { actionExecutionSchema, artifactActionExecutionSchema, cleanupRunSchema, databaseActionExecutionSchema, providerFileActionExecutionSchema, worktreeActionExecutionSchema, } from "./contracts/run.js";
10
11
  export { runAudit } from "./core/audit.js";
11
12
  export { applyCleanupPlan } from "./core/apply.js";
12
13
  export { createCleanupPlan } from "./core/plan.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,8BAA8B,GAY/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAG3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,GAInB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,6BAA6B,GAG9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAiD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAkD,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,kCAAkC,EAClC,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,GAe/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAG3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iCAAiC,EACjC,kCAAkC,GAGnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,GAInB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,GAG9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAiD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAkD,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,6 @@
1
+ export declare function windowsPowerShellExecutable(systemRoot?: string | undefined): string;
1
2
  export declare function readJsonFile(path: string): Promise<unknown>;
2
- export declare function syncDirectory(path: string): Promise<void>;
3
+ export declare function syncDirectory(path: string, platform?: NodeJS.Platform): Promise<void>;
3
4
  export type JsonWriteOptions = {
4
5
  privateDirectories?: string[];
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"json-file.d.ts","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"AAIA,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/D;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpF"}
1
+ {"version":3,"file":"json-file.d.ts","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"AAsCA,wBAAgB,2BAA2B,CAAC,UAAU,qBAAyB,GAAG,MAAM,CAKvF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjE;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC;AAiBF,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7E;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpF"}
@@ -1,10 +1,53 @@
1
+ import { execFile } from "node:child_process";
2
+ import { promisify } from "node:util";
1
3
  import { chmod, lstat, mkdir, open, readFile, rename, rm } from "node:fs/promises";
2
- import { dirname, join } from "node:path";
4
+ import { dirname, join, win32 as windowsPath } from "node:path";
3
5
  import { randomUUID } from "node:crypto";
6
+ const execFileAsync = promisify(execFile);
7
+ const windowsPrivateDirectoryPathEnvironmentVariable = "AGENTRINSE_PRIVATE_DIRECTORY";
8
+ const secureWindowsPrivateDirectoryCommand = `
9
+ $directory = [System.IO.DirectoryInfo]::new([Environment]::GetEnvironmentVariable('${windowsPrivateDirectoryPathEnvironmentVariable}'))
10
+ $currentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent().User
11
+ $system = [System.Security.Principal.SecurityIdentifier]::new('S-1-5-18')
12
+ $administrators = [System.Security.Principal.SecurityIdentifier]::new('S-1-5-32-544')
13
+ $identities = @($currentUser, $system, $administrators) | Group-Object Value | ForEach-Object { $_.Group[0] }
14
+ $allowedSids = @($identities | ForEach-Object { $_.Value })
15
+ $acl = $directory.GetAccessControl()
16
+ $owner = $acl.GetOwner([System.Security.Principal.SecurityIdentifier])
17
+ if (-not ($owner.Equals($currentUser) -or $owner.Equals($administrators))) { throw "private state directory is not owned by the current user or local Administrators: $($directory.FullName)" }
18
+ $acl.SetAccessRuleProtection($true, $false)
19
+ foreach ($rule in @($acl.Access)) { [void] $acl.RemoveAccessRuleAll($rule) }
20
+ $inheritance = [System.Security.AccessControl.InheritanceFlags]::ObjectInherit -bor [System.Security.AccessControl.InheritanceFlags]::ContainerInherit
21
+ $propagation = [System.Security.AccessControl.PropagationFlags]::None
22
+ $allow = [System.Security.AccessControl.AccessControlType]::Allow
23
+ $full = [System.Security.AccessControl.FileSystemRights]::FullControl
24
+ foreach ($sid in $identities) { $acl.AddAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new($sid, $full, $inheritance, $propagation, $allow)) }
25
+ $directory.SetAccessControl($acl)
26
+ $verified = $directory.GetAccessControl()
27
+ $verifiedOwner = $verified.GetOwner([System.Security.Principal.SecurityIdentifier])
28
+ if (-not ($verifiedOwner.Equals($currentUser) -or $verifiedOwner.Equals($administrators))) { throw "private state directory has an unexpected owner after ACL update: $($directory.FullName)" }
29
+ $rules = @($verified.Access)
30
+ if ($rules.Count -ne $allowedSids.Count) { throw "private state directory has unexpected access rules after ACL update: $($directory.FullName)" }
31
+ foreach ($rule in $rules) {
32
+ $sid = $rule.IdentityReference.Translate([System.Security.Principal.SecurityIdentifier])
33
+ if ($rule.AccessControlType -ne $allow -or $allowedSids -notcontains $sid.Value -or $rule.FileSystemRights -ne $full -or $rule.InheritanceFlags -ne $inheritance -or $rule.PropagationFlags -ne $propagation -or $rule.IsInherited) { throw "private state directory ACL verification failed: $($directory.FullName)" }
34
+ }
35
+ `;
36
+ export function windowsPowerShellExecutable(systemRoot = process.env.SystemRoot) {
37
+ if (systemRoot === undefined || !windowsPath.isAbsolute(systemRoot)) {
38
+ throw new Error("Windows SystemRoot is unavailable or not absolute");
39
+ }
40
+ return windowsPath.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
41
+ }
4
42
  export async function readJsonFile(path) {
5
43
  return JSON.parse(await readFile(path, "utf8"));
6
44
  }
7
- export async function syncDirectory(path) {
45
+ export async function syncDirectory(path, platform = process.platform) {
46
+ // Windows does not support fsync on directory handles. State-file handles
47
+ // are still synced before rename, and mutation remains blocked on Windows.
48
+ if (platform === "win32") {
49
+ return;
50
+ }
8
51
  const handle = await open(path, "r");
9
52
  try {
10
53
  await handle.sync();
@@ -13,6 +56,16 @@ export async function syncDirectory(path) {
13
56
  await handle.close();
14
57
  }
15
58
  }
59
+ async function secureWindowsPrivateDirectory(directory) {
60
+ await execFileAsync(windowsPowerShellExecutable(), ["-NoLogo", "-NoProfile", "-NonInteractive", "-Command", secureWindowsPrivateDirectoryCommand], {
61
+ encoding: "utf8",
62
+ env: {
63
+ ...process.env,
64
+ [windowsPrivateDirectoryPathEnvironmentVariable]: directory,
65
+ },
66
+ windowsHide: true,
67
+ });
68
+ }
16
69
  export async function ensurePrivateDirectory(directory) {
17
70
  await mkdir(directory, { recursive: true, mode: 0o700 });
18
71
  const stats = await lstat(directory);
@@ -23,6 +76,10 @@ export async function ensurePrivateDirectory(directory) {
23
76
  if (uid !== undefined && stats.uid !== uid) {
24
77
  throw new Error(`private state directory is not owned by the current user: ${directory}`);
25
78
  }
79
+ if (process.platform === "win32") {
80
+ await secureWindowsPrivateDirectory(directory);
81
+ return;
82
+ }
26
83
  await chmod(directory, 0o700);
27
84
  }
28
85
  export async function writeJsonAtomic(path, value, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"json-file.js","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-file.js","sourceRoot":"","sources":["../../src/state/json-file.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export type StateLayout = {
8
8
  locks: string;
9
9
  runs: string;
10
10
  quarantine: string;
11
+ providerQuarantine: string;
11
12
  databaseBackups: string;
12
13
  tombstones: string;
13
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,GAAE,gBAA8B,GAC1C,MAAM,CAQR;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAYrD"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,GAAE,gBAA8B,GAC1C,MAAM,CAQR;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAarD"}
@@ -17,6 +17,7 @@ export function stateLayout(root) {
17
17
  locks: join(resolved, "locks"),
18
18
  runs: join(resolved, "runs"),
19
19
  quarantine: join(resolved, "quarantine"),
20
+ providerQuarantine: join(resolved, "provider-quarantine"),
20
21
  databaseBackups: join(resolved, "database-backups"),
21
22
  tombstones: join(resolved, "tombstones"),
22
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiB1C,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAiB,EACjB,WAAW,GAAqB,OAAO,CAAC,GAAG;IAE3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;KACzC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/state/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkB1C,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAiB,EACjB,WAAW,GAAqB,OAAO,CAAC,GAAG;IAE3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAChC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QACxC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACzD,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;KACzC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-journal.d.ts","sourceRoot":"","sources":["../../src/state/run-journal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAoB,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG9F,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,IAAI,UAAU,CAAC;IACvB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC5E,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,WAAW,EACjB,SAAS,OAAa,EACtB,KAAK,GAAE,MAAqB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAqFrB"}
1
+ {"version":3,"file":"run-journal.d.ts","sourceRoot":"","sources":["../../src/state/run-journal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAoB,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG9F,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,IAAI,UAAU,CAAC;IACvB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC5E,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,WAAW,EACjB,SAAS,OAAa,EACtB,KAAK,GAAE,MAAqB,GAC3B,OAAO,CAAC,UAAU,CAAC,CA2FrB"}
@@ -40,7 +40,10 @@ export async function createRunJournal(runsDirectory, plan, startedAt = new Date
40
40
  actionId,
41
41
  };
42
42
  run.reclaimedBytes = run.actions.reduce((total, action) => total + (action.reclaimedBytes ?? 0), 0);
43
- run.quarantinedBytes = run.actions.reduce((total, action) => total + (action.type === "worktree.quarantine" ? (action.quarantinedBytes ?? 0) : 0), 0);
43
+ run.quarantinedBytes = run.actions.reduce((total, action) => total +
44
+ (action.type === "worktree.quarantine" || action.type === "provider.file-quarantine"
45
+ ? (action.quarantinedBytes ?? 0)
46
+ : 0), 0);
44
47
  return persist();
45
48
  },
46
49
  async complete(completedAt = new Date()) {
@@ -61,7 +64,10 @@ export async function createRunJournal(runsDirectory, plan, startedAt = new Date
61
64
  completedAt: completedAt.toISOString(),
62
65
  status: "interrupted",
63
66
  reclaimedBytes: run.actions.reduce((total, action) => total + (action.reclaimedBytes ?? 0), 0),
64
- quarantinedBytes: run.actions.reduce((total, action) => total + (action.type === "worktree.quarantine" ? (action.quarantinedBytes ?? 0) : 0), 0),
67
+ quarantinedBytes: run.actions.reduce((total, action) => total +
68
+ (action.type === "worktree.quarantine" || action.type === "provider.file-quarantine"
69
+ ? (action.quarantinedBytes ?? 0)
70
+ : 0), 0),
65
71
  diagnostics: [...run.diagnostics, diagnostic],
66
72
  };
67
73
  return persist();
@@ -1 +1 @@
1
- {"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../../src/state/run-journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-journal.js","sourceRoot":"","sources":["../../src/state/run-journal.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.4.0";
1
+ export declare const VERSION = "0.5.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.4.0";
1
+ export const VERSION = "0.5.0";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentrinse",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "private": false,
5
5
  "description": "Safe, local-first cleanup for agentic development.",
6
6
  "keywords": [