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
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const resourceKindSchema: z.ZodEnum<{
3
+ "agent-cache": "agent-cache";
3
4
  "agent-database": "agent-database";
4
5
  "agent-home": "agent-home";
5
6
  "agent-log-store": "agent-log-store";
@@ -18,6 +19,7 @@ export declare const resourceRefSchema: z.ZodObject<{
18
19
  id: z.ZodString;
19
20
  adapter: z.ZodString;
20
21
  kind: z.ZodEnum<{
22
+ "agent-cache": "agent-cache";
21
23
  "agent-database": "agent-database";
22
24
  "agent-home": "agent-home";
23
25
  "agent-log-store": "agent-log-store";
@@ -42,6 +44,7 @@ export declare const resourceSnapshotSchema: z.ZodObject<{
42
44
  id: z.ZodString;
43
45
  adapter: z.ZodString;
44
46
  kind: z.ZodEnum<{
47
+ "agent-cache": "agent-cache";
45
48
  "agent-database": "agent-database";
46
49
  "agent-home": "agent-home";
47
50
  "agent-log-store": "agent-log-store";
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/contracts/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;EAc7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/contracts/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAe7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMjC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -5,6 +5,7 @@ export const resourceKindSchema = z.enum([
5
5
  "agent-home",
6
6
  "agent-session-store",
7
7
  "agent-log-store",
8
+ "agent-cache",
8
9
  "agent-database",
9
10
  "agent-snapshot-store",
10
11
  "agent-runtime",
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/contracts/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,kBAAkB;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACzC,CAAC,CAAC"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/contracts/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,kBAAkB;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACxD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;CACzC,CAAC,CAAC"}
@@ -106,6 +106,38 @@ export declare const databaseActionExecutionSchema: z.ZodObject<{
106
106
  compactedBytes: z.ZodOptional<z.ZodNumber>;
107
107
  retainedBackupBytes: z.ZodOptional<z.ZodNumber>;
108
108
  }, z.core.$strip>;
109
+ export declare const providerFileActionExecutionSchema: z.ZodObject<{
110
+ actionId: z.ZodString;
111
+ status: z.ZodEnum<{
112
+ applied: "applied";
113
+ applying: "applying";
114
+ failed: "failed";
115
+ "partially-applied": "partially-applied";
116
+ pending: "pending";
117
+ revalidating: "revalidating";
118
+ "rolled-back": "rolled-back";
119
+ "skipped-stale": "skipped-stale";
120
+ }>;
121
+ startedAt: z.ZodOptional<z.ZodString>;
122
+ completedAt: z.ZodOptional<z.ZodString>;
123
+ reclaimedBytes: z.ZodOptional<z.ZodNumber>;
124
+ diagnostic: z.ZodOptional<z.ZodObject<{
125
+ severity: z.ZodEnum<{
126
+ error: "error";
127
+ info: "info";
128
+ warning: "warning";
129
+ }>;
130
+ code: z.ZodString;
131
+ message: z.ZodString;
132
+ adapter: z.ZodOptional<z.ZodString>;
133
+ resourceId: z.ZodOptional<z.ZodString>;
134
+ remediation: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strip>>;
136
+ type: z.ZodLiteral<"provider.file-quarantine">;
137
+ quarantineEntryId: z.ZodOptional<z.ZodString>;
138
+ quarantinePath: z.ZodOptional<z.ZodString>;
139
+ quarantinedBytes: z.ZodOptional<z.ZodNumber>;
140
+ }, z.core.$strip>;
109
141
  export declare const actionExecutionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
110
142
  actionId: z.ZodString;
111
143
  status: z.ZodEnum<{
@@ -200,6 +232,37 @@ export declare const actionExecutionSchema: z.ZodDiscriminatedUnion<[z.ZodObject
200
232
  originalBytes: z.ZodOptional<z.ZodNumber>;
201
233
  compactedBytes: z.ZodOptional<z.ZodNumber>;
202
234
  retainedBackupBytes: z.ZodOptional<z.ZodNumber>;
235
+ }, z.core.$strip>, z.ZodObject<{
236
+ actionId: z.ZodString;
237
+ status: z.ZodEnum<{
238
+ applied: "applied";
239
+ applying: "applying";
240
+ failed: "failed";
241
+ "partially-applied": "partially-applied";
242
+ pending: "pending";
243
+ revalidating: "revalidating";
244
+ "rolled-back": "rolled-back";
245
+ "skipped-stale": "skipped-stale";
246
+ }>;
247
+ startedAt: z.ZodOptional<z.ZodString>;
248
+ completedAt: z.ZodOptional<z.ZodString>;
249
+ reclaimedBytes: z.ZodOptional<z.ZodNumber>;
250
+ diagnostic: z.ZodOptional<z.ZodObject<{
251
+ severity: z.ZodEnum<{
252
+ error: "error";
253
+ info: "info";
254
+ warning: "warning";
255
+ }>;
256
+ code: z.ZodString;
257
+ message: z.ZodString;
258
+ adapter: z.ZodOptional<z.ZodString>;
259
+ resourceId: z.ZodOptional<z.ZodString>;
260
+ remediation: z.ZodOptional<z.ZodString>;
261
+ }, z.core.$strip>>;
262
+ type: z.ZodLiteral<"provider.file-quarantine">;
263
+ quarantineEntryId: z.ZodOptional<z.ZodString>;
264
+ quarantinePath: z.ZodOptional<z.ZodString>;
265
+ quarantinedBytes: z.ZodOptional<z.ZodNumber>;
203
266
  }, z.core.$strip>], "type">;
204
267
  export declare const runStatusSchema: z.ZodEnum<{
205
268
  completed: "completed";
@@ -315,6 +378,37 @@ export declare const cleanupRunSchema: z.ZodObject<{
315
378
  originalBytes: z.ZodOptional<z.ZodNumber>;
316
379
  compactedBytes: z.ZodOptional<z.ZodNumber>;
317
380
  retainedBackupBytes: z.ZodOptional<z.ZodNumber>;
381
+ }, z.core.$strip>, z.ZodObject<{
382
+ actionId: z.ZodString;
383
+ status: z.ZodEnum<{
384
+ applied: "applied";
385
+ applying: "applying";
386
+ failed: "failed";
387
+ "partially-applied": "partially-applied";
388
+ pending: "pending";
389
+ revalidating: "revalidating";
390
+ "rolled-back": "rolled-back";
391
+ "skipped-stale": "skipped-stale";
392
+ }>;
393
+ startedAt: z.ZodOptional<z.ZodString>;
394
+ completedAt: z.ZodOptional<z.ZodString>;
395
+ reclaimedBytes: z.ZodOptional<z.ZodNumber>;
396
+ diagnostic: z.ZodOptional<z.ZodObject<{
397
+ severity: z.ZodEnum<{
398
+ error: "error";
399
+ info: "info";
400
+ warning: "warning";
401
+ }>;
402
+ code: z.ZodString;
403
+ message: z.ZodString;
404
+ adapter: z.ZodOptional<z.ZodString>;
405
+ resourceId: z.ZodOptional<z.ZodString>;
406
+ remediation: z.ZodOptional<z.ZodString>;
407
+ }, z.core.$strip>>;
408
+ type: z.ZodLiteral<"provider.file-quarantine">;
409
+ quarantineEntryId: z.ZodOptional<z.ZodString>;
410
+ quarantinePath: z.ZodOptional<z.ZodString>;
411
+ quarantinedBytes: z.ZodOptional<z.ZodNumber>;
318
412
  }, z.core.$strip>], "type">>;
319
413
  reclaimedBytes: z.ZodNumber;
320
414
  quarantinedBytes: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/contracts/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAC;AAWH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOxC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAIhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAAuE,CAAC;AAEpG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW3B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/contracts/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAC;AAWH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOxC,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK5C,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAKhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAAuE,CAAC;AAEpG,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW3B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -37,10 +37,17 @@ export const databaseActionExecutionSchema = actionExecutionBaseSchema.extend({
37
37
  compactedBytes: z.number().int().nonnegative().optional(),
38
38
  retainedBackupBytes: z.number().int().nonnegative().optional(),
39
39
  });
40
+ export const providerFileActionExecutionSchema = actionExecutionBaseSchema.extend({
41
+ type: z.literal("provider.file-quarantine"),
42
+ quarantineEntryId: z.string().min(1).optional(),
43
+ quarantinePath: z.string().min(1).optional(),
44
+ quarantinedBytes: z.number().int().nonnegative().optional(),
45
+ });
40
46
  export const actionExecutionSchema = z.discriminatedUnion("type", [
41
47
  artifactActionExecutionSchema,
42
48
  worktreeActionExecutionSchema,
43
49
  databaseActionExecutionSchema,
50
+ providerFileActionExecutionSchema,
44
51
  ]);
45
52
  export const runStatusSchema = z.enum(["running", "completed", "partial", "failed", "interrupted"]);
46
53
  export const cleanupRunSchema = z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/contracts/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/contracts/run.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type AgentRinseConfig } from "../config/schema.js";
2
- import type { ArtifactRemoveAction, DatabaseVacuumAction, WorktreeQuarantineAction } from "../contracts/action.js";
2
+ import type { ArtifactRemoveAction, DatabaseVacuumAction, ProviderFileQuarantineAction, WorktreeQuarantineAction } from "../contracts/action.js";
3
3
  import type { CleanupPlan } from "../contracts/plan.js";
4
4
  import type { CleanupRun } from "../contracts/run.js";
5
5
  import { createRunJournal } from "../state/run-journal.js";
@@ -7,6 +7,8 @@ import { type ArtifactExecutionResult } from "./artifact-executor.js";
7
7
  import { type ArtifactRevalidationResult } from "./artifact-revalidation.js";
8
8
  import { type DatabaseExecutionResult, type ExecuteDatabaseVacuumOptions } from "./database-executor.js";
9
9
  import { type DatabaseRevalidationResult } from "./database-revalidation.js";
10
+ import { type ExecuteProviderFileQuarantineOptions, type ProviderFileExecutionResult } from "./provider-file-executor.js";
11
+ import { type ProviderFileRevalidationResult } from "./provider-file-revalidation.js";
10
12
  import { type ExecuteWorktreeQuarantineOptions, type WorktreeExecutionResult } from "./worktree-executor.js";
11
13
  import { type WorktreeRevalidationResult } from "./worktree-revalidation.js";
12
14
  import type { RootEvidence } from "../contracts/finding.js";
@@ -28,6 +30,8 @@ export type ApplyDependencies = {
28
30
  executeWorktree?: (action: WorktreeQuarantineAction, options: ExecuteWorktreeQuarantineOptions) => Promise<WorktreeExecutionResult>;
29
31
  revalidateDatabase?: (action: DatabaseVacuumAction, home: string, config: AgentRinseConfig) => Promise<DatabaseRevalidationResult>;
30
32
  executeDatabase?: (action: DatabaseVacuumAction, options: ExecuteDatabaseVacuumOptions) => Promise<DatabaseExecutionResult>;
33
+ revalidateProviderFile?: (action: ProviderFileQuarantineAction) => Promise<ProviderFileRevalidationResult>;
34
+ executeProviderFile?: (action: ProviderFileQuarantineAction, options: ExecuteProviderFileQuarantineOptions) => Promise<ProviderFileExecutionResult>;
31
35
  worktreeProtectionRoots?: (action: WorktreeQuarantineAction, home: string, config: AgentRinseConfig, now: Date) => Promise<RootEvidence[]>;
32
36
  };
33
37
  export type ApplyCleanupPlanOptions = {
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/core/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/core/apply.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ import { DatabaseExecutionError, executeDatabaseVacuum, } from "./database-execu
11
11
  import { revalidateDatabaseVacuum, } from "./database-revalidation.js";
12
12
  import { CommandInterruptedError } from "./interruption.js";
13
13
  import { verifyCleanupPlan } from "./plan-verification.js";
14
+ import { executeProviderFileQuarantine, ProviderFileExecutionError, providerFileQuarantinePath, } from "./provider-file-executor.js";
15
+ import { revalidateProviderFileQuarantine, } from "./provider-file-revalidation.js";
16
+ import { authorizeProviderFileAction } from "./provider-file-policy.js";
14
17
  import { isPathInside, resolvePhysicalPath } from "./safety.js";
15
18
  import { executeWorktreeQuarantine, WorktreeExecutionError, worktreeQuarantinePath, worktreeRecoveryRef, } from "./worktree-executor.js";
16
19
  import { currentWorktreeProtectionRoots, revalidateWorktreeQuarantine, } from "./worktree-revalidation.js";
@@ -44,6 +47,7 @@ export async function applyCleanupPlan(options) {
44
47
  await ensurePrivateDirectory(layout.locks);
45
48
  await ensurePrivateDirectory(layout.runs);
46
49
  await ensurePrivateDirectory(layout.quarantine);
50
+ await ensurePrivateDirectory(layout.providerQuarantine);
47
51
  await ensurePrivateDirectory(layout.databaseBackups);
48
52
  const lock = await acquireApplyLock(layout.locks, {
49
53
  planId: plan.planId,
@@ -70,9 +74,13 @@ export async function applyCleanupPlan(options) {
70
74
  ? options.dependencies?.revalidateWorktree === undefined
71
75
  ? await revalidateWorktreeQuarantine(action, plan.home, config, { now: clock })
72
76
  : await options.dependencies.revalidateWorktree(action, plan.home, config)
73
- : options.dependencies?.revalidateDatabase === undefined
74
- ? await revalidateDatabaseVacuum(action, plan.home, config)
75
- : await options.dependencies.revalidateDatabase(action, plan.home, config);
77
+ : action.type === "provider.file-quarantine"
78
+ ? options.dependencies?.revalidateProviderFile === undefined
79
+ ? await revalidateProviderFileQuarantine(action, plan.home, config, { clock })
80
+ : await options.dependencies.revalidateProviderFile(action)
81
+ : options.dependencies?.revalidateDatabase === undefined
82
+ ? await revalidateDatabaseVacuum(action, plan.home, config)
83
+ : await options.dependencies.revalidateDatabase(action, plan.home, config);
76
84
  if (revalidation.status === "stale") {
77
85
  await journal.updateAction(action.actionId, {
78
86
  status: "skipped-stale",
@@ -234,6 +242,69 @@ export async function applyCleanupPlan(options) {
234
242
  recoveryRef: result.recoveryRef,
235
243
  });
236
244
  }
245
+ else if (action.type === "provider.file-quarantine") {
246
+ const quarantinePath = providerFileQuarantinePath(layout.providerQuarantine, isolationId);
247
+ await journal.updateAction(action.actionId, {
248
+ status: "applying",
249
+ quarantineEntryId: isolationId,
250
+ quarantinePath,
251
+ });
252
+ throwIfInterrupted(options.signal);
253
+ let result;
254
+ try {
255
+ result = await (options.dependencies?.executeProviderFile ??
256
+ ((selectedAction, selectedOptions) => executeProviderFileQuarantine(selectedAction, selectedOptions)))(action, {
257
+ runId,
258
+ entryId: isolationId,
259
+ quarantineDirectory: layout.providerQuarantine,
260
+ dependencies: {
261
+ clock,
262
+ authorizeTarget: (selectedAction) => authorizeProviderFileAction(selectedAction, plan.home, config, process.platform, process.env, clock()),
263
+ authorization: {
264
+ expiresAtMs: Date.parse(plan.expiresAt),
265
+ now: clock,
266
+ },
267
+ },
268
+ });
269
+ }
270
+ catch (error) {
271
+ const executionError = error instanceof ProviderFileExecutionError ? error : undefined;
272
+ await journal.updateAction(action.actionId, {
273
+ status: executionError?.outcome ?? "failed",
274
+ completedAt: clock().toISOString(),
275
+ quarantineEntryId: executionError?.entry?.entryId ?? isolationId,
276
+ quarantinePath: executionError?.entry?.quarantinePath ?? quarantinePath,
277
+ quarantinedBytes: executionError?.quarantinedBytes ?? 0,
278
+ diagnostic: {
279
+ severity: executionError?.outcome === "skipped-stale" ? "warning" : "error",
280
+ code: executionError?.diagnosticCode ??
281
+ (executionError?.outcome === "partially-applied"
282
+ ? "PROVIDER_FILE_QUARANTINE_PARTIAL"
283
+ : executionError?.outcome === "rolled-back"
284
+ ? "PROVIDER_FILE_QUARANTINE_ROLLED_BACK"
285
+ : executionError?.outcome === "skipped-stale"
286
+ ? "PROVIDER_FILE_IDENTITY_CHANGED"
287
+ : "PROVIDER_FILE_QUARANTINE_FAILED"),
288
+ message: error instanceof Error ? error.message : String(error),
289
+ adapter: action.adapter,
290
+ resourceId: action.resourceId,
291
+ },
292
+ });
293
+ if (executionError?.outcome === "skipped-stale") {
294
+ throwIfInterrupted(options.signal);
295
+ continue;
296
+ }
297
+ break;
298
+ }
299
+ await journal.updateAction(action.actionId, {
300
+ status: "applied",
301
+ completedAt: clock().toISOString(),
302
+ reclaimedBytes: 0,
303
+ quarantinedBytes: result.quarantinedBytes,
304
+ quarantineEntryId: result.quarantineEntryId,
305
+ quarantinePath: result.quarantinePath,
306
+ });
307
+ }
237
308
  else {
238
309
  await journal.updateAction(action.actionId, {
239
310
  status: "applying",
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/core/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/core/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAyB,MAAM,qBAAqB,CAAC;AASpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAGtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,0BAA0B,GAG3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,gCAAgC,GAEjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAE7B,MAAM,4BAA4B,CAAC;AAGpC,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvB,IAAI,GAAG,kBAAkB,CAAC;CAC7C;AA2DD,SAAS,kBAAkB,CAAC,MAAoB;IAC9C,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,MAAM,MAAM,CAAC,MAAM,YAAY,uBAAuB;QACpD,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,IAAI,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAgC;IACrE,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IACE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAC7C,YAAY,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAC/C,CAAC;YACD,MAAM,IAAI,gBAAgB,CACxB,mBAAmB,MAAM,CAAC,IAAI,sCAAsC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,sBAAsB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE;QAChD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK;QACL,OAAO,EAAE,kBAAkB;KAC5B,CAAC,CAAC;IAEH,IAAI,OAAiE,CAAC;IACtE,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,IAAI,gBAAgB,CAAC,CACvE,MAAM,CAAC,IAAI,EACX,IAAI,EACJ,KAAK,EAAE,EACP,KAAK,CACN,CAAC;QACF,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEnC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC1C,MAAM,EAAE,cAAc;gBACtB,SAAS;aACV,CAAC,CAAC;YACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnC,MAAM,YAAY,GAChB,MAAM,CAAC,IAAI,KAAK,kBAAkB;gBAChC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,KAAK,SAAS;oBAC9C,CAAC,CAAC,MAAM,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;oBAC3E,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBACpE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB;oBACrC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,KAAK,SAAS;wBACtD,CAAC,CAAC,MAAM,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;wBAC/E,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;oBAC5E,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,0BAA0B;wBAC1C,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,sBAAsB,KAAK,SAAS;4BAC1D,CAAC,CAAC,MAAM,gCAAgC,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;4BAC9E,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC;wBAC7D,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,KAAK,SAAS;4BACtD,CAAC,CAAC,MAAM,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;4BAC3D,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrF,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACpC,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,eAAe;oBACvB,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;oBAClC,UAAU,EAAE,YAAY,CAAC,UAAU;iBACpC,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnC,MAAM,sBAAsB,GAAG,KAAK,EAAE,CAAC;YACvC,IAAI,sBAAsB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnE,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,eAAe;oBACvB,WAAW,EAAE,sBAAsB,CAAC,WAAW,EAAE;oBACjD,UAAU,EAAE;wBACV,QAAQ,EAAE,SAAS;wBACnB,IAAI,EAAE,2BAA2B;wBACjC,OAAO,EAAE,yCAAyC,IAAI,CAAC,SAAS,EAAE;wBAClE,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;qBAC9B;iBACF,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvE,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACjE,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,UAAU;oBAClB,aAAa;iBACd,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,MAA+B,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,CACb,OAAO,CAAC,YAAY,EAAE,OAAO;wBAC7B,CAAC,CAAC,cAAc,EAAE,mBAAmB,EAAE,EAAE,CACvC,qBAAqB,CAAC,cAAc,EAAE;4BACpC,EAAE,EAAE,GAAG,EAAE,CAAC,mBAAmB;4BAC7B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,aAAa,EAAE;gCACb,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gCACvC,GAAG,EAAE,KAAK;6BACX;yBACF,CAAC,CAAC,CACN,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACzB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,cAAc,GAAG,KAAK,YAAY,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnF,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;wBAC1C,MAAM,EAAE,cAAc,EAAE,OAAO,IAAI,QAAQ;wBAC3C,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;wBAClC,aAAa,EAAE,cAAc,EAAE,aAAa,IAAI,aAAa;wBAC7D,UAAU,EAAE;4BACV,QAAQ,EAAE,cAAc,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;4BAC3E,IAAI,EACF,cAAc,EAAE,cAAc;gCAC9B,CAAC,cAAc,EAAE,OAAO,KAAK,eAAe;oCAC1C,CAAC,CAAC,2BAA2B;oCAC7B,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,mBAAmB;wCAC/C,CAAC,CAAC,4BAA4B;wCAC9B,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,aAAa;4CACzC,CAAC,CAAC,sBAAsB;4CACxB,CAAC,CAAC,uBAAuB,CAAC;4BAClC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,MAAM,CAAC,UAAU;yBAC9B;qBACF,CAAC,CAAC;oBACH,IAAI,cAAc,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;wBAChD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;oBAClC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACjD,MAAM,cAAc,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBACnE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,UAAU;oBAClB,iBAAiB,EAAE,WAAW;oBAC9B,cAAc;oBACd,WAAW;iBACZ,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,MAA+B,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,CACb,OAAO,CAAC,YAAY,EAAE,eAAe;wBACrC,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,EAAE,CACnC,yBAAyB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAC9D,CAAC,MAAM,EAAE;wBACR,KAAK;wBACL,OAAO,EAAE,WAAW;wBACpB,mBAAmB,EAAE,MAAM,CAAC,UAAU;wBACtC,YAAY,EAAE;4BACZ,KAAK;4BACL,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;4BACnC,aAAa,EAAE;gCACb,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gCACvC,GAAG,EAAE,KAAK;6BACX;4BACD,oBAAoB,EAAE,KAAK,IAAI,EAAE;gCAC/B,MAAM,aAAa,GACjB,OAAO,CAAC,YAAY,EAAE,iBAAiB,KAAK,SAAS;oCACnD,CAAC,CAAC,SAAS;oCACX,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;gCACnF,MAAM,iBAAiB,GACrB,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gCACnE,MAAM,KAAK,GAAG,CACZ,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CACzC,CACE,OAAO,CAAC,YAAY,EAAE,uBAAuB;oCAC7C,8BAA8B,CAC/B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAChD,CACF,CACF,CAAC,IAAI,EAAE,CAAC;gCACT,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACrB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oCAClE,MAAM,IAAI,gBAAgB,CACxB,iDAAiD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;gCACJ,CAAC;4BACH,CAAC;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,cAAc,GAAG,KAAK,YAAY,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnF,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;wBAC1C,MAAM,EAAE,cAAc,EAAE,OAAO,IAAI,QAAQ;wBAC3C,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;wBAClC,iBAAiB,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW;wBAChE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,cAAc;wBACvE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,IAAI,WAAW;wBAC9D,gBAAgB,EACd,cAAc,EAAE,OAAO,KAAK,mBAAmB;4BAC7C,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,IAAI,CAAC,CAAC;4BACxC,CAAC,CAAC,CAAC;wBACP,UAAU,EAAE;4BACV,QAAQ,EAAE,cAAc,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;4BAC3E,IAAI,EACF,cAAc,EAAE,cAAc;gCAC9B,CAAC,cAAc,EAAE,OAAO,KAAK,eAAe;oCAC1C,CAAC,CAAC,2BAA2B;oCAC7B,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,mBAAmB;wCAC/C,CAAC,CAAC,6BAA6B;wCAC/B,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,aAAa;4CACzC,CAAC,CAAC,iCAAiC;4CACnC,CAAC,CAAC,4BAA4B,CAAC;4BACvC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,MAAM,CAAC,UAAU;yBAC9B;qBACF,CAAC,CAAC;oBACH,IAAI,cAAc,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;wBAChD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;oBAClC,cAAc,EAAE,CAAC;oBACjB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;gBACtD,MAAM,cAAc,GAAG,0BAA0B,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;gBAC1F,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,UAAU;oBAClB,iBAAiB,EAAE,WAAW;oBAC9B,cAAc;iBACf,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,MAAmC,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,CACb,OAAO,CAAC,YAAY,EAAE,mBAAmB;wBACzC,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,EAAE,CACnC,6BAA6B,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAClE,CAAC,MAAM,EAAE;wBACR,KAAK;wBACL,OAAO,EAAE,WAAW;wBACpB,mBAAmB,EAAE,MAAM,CAAC,kBAAkB;wBAC9C,YAAY,EAAE;4BACZ,KAAK;4BACL,eAAe,EAAE,CAAC,cAAc,EAAE,EAAE,CAClC,2BAA2B,CACzB,cAAc,EACd,IAAI,CAAC,IAAI,EACT,MAAM,EACN,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,GAAG,EACX,KAAK,EAAE,CACR;4BACH,aAAa,EAAE;gCACb,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gCACvC,GAAG,EAAE,KAAK;6BACX;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,cAAc,GAAG,KAAK,YAAY,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBACvF,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;wBAC1C,MAAM,EAAE,cAAc,EAAE,OAAO,IAAI,QAAQ;wBAC3C,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;wBAClC,iBAAiB,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW;wBAChE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,cAAc;wBACvE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,IAAI,CAAC;wBACvD,UAAU,EAAE;4BACV,QAAQ,EAAE,cAAc,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;4BAC3E,IAAI,EACF,cAAc,EAAE,cAAc;gCAC9B,CAAC,cAAc,EAAE,OAAO,KAAK,mBAAmB;oCAC9C,CAAC,CAAC,kCAAkC;oCACpC,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,aAAa;wCACzC,CAAC,CAAC,sCAAsC;wCACxC,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,eAAe;4CAC3C,CAAC,CAAC,gCAAgC;4CAClC,CAAC,CAAC,iCAAiC,CAAC;4BAC5C,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,MAAM,CAAC,UAAU;yBAC9B;qBACF,CAAC,CAAC;oBACH,IAAI,cAAc,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;wBAChD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;oBAClC,cAAc,EAAE,CAAC;oBACjB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,UAAU;oBAClB,aAAa,EAAE,WAAW;iBAC3B,CAAC,CAAC;gBACH,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEnC,IAAI,MAA+B,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,CACb,OAAO,CAAC,YAAY,EAAE,eAAe;wBACrC,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,EAAE,CACnC,qBAAqB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAC1D,CAAC,MAAM,EAAE;wBACR,KAAK;wBACL,OAAO,EAAE,WAAW;wBACpB,eAAe,EAAE,MAAM,CAAC,eAAe;wBACvC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnE,YAAY,EAAE;4BACZ,KAAK;4BACL,aAAa,EAAE;gCACb,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gCACvC,GAAG,EAAE,KAAK;6BACX;yBACF;qBACF,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;wBAC7C,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM,cAAc,GAAG,KAAK,YAAY,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnF,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;wBAC1C,MAAM,EAAE,cAAc,EAAE,OAAO,IAAI,QAAQ;wBAC3C,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;wBAClC,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW;wBAC5D,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU;wBAC7C,UAAU,EAAE;4BACV,QAAQ,EAAE,cAAc,EAAE,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;4BAC3E,IAAI,EACF,cAAc,EAAE,cAAc;gCAC9B,CAAC,cAAc,EAAE,OAAO,KAAK,mBAAmB;oCAC9C,CAAC,CAAC,yBAAyB;oCAC3B,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,aAAa;wCACzC,CAAC,CAAC,6BAA6B;wCAC/B,CAAC,CAAC,cAAc,EAAE,OAAO,KAAK,eAAe;4CAC3C,CAAC,CAAC,2BAA2B;4CAC7B,CAAC,CAAC,wBAAwB,CAAC;4BACnC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,MAAM,CAAC,UAAU;yBAC9B;qBACF,CAAC,CAAC;oBACH,IAAI,cAAc,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;wBAChD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACnC,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC1C,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;oBAClC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;iBAChD,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/B,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAuB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CACjC;gBACE,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EACL,yGAAyG;aAC5G,EACD,KAAK,EAAE,CACR,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare function renameNoReplace(source: string, destination: string, platform?: NodeJS.Platform): Promise<void>;
2
+ export declare function renameAtNoReplace(sourceDirectoryFd: number, source: string, destinationDirectoryFd: number, destination: string, platform?: NodeJS.Platform): Promise<void>;
2
3
  export declare function exchangePaths(source: string, destination: string, platform?: NodeJS.Platform): Promise<void>;
3
4
  //# sourceMappingURL=no-clobber-rename.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-clobber-rename.d.ts","sourceRoot":"","sources":["../../src/core/no-clobber-rename.ts"],"names":[],"mappings":"AAsHA,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"no-clobber-rename.d.ts","sourceRoot":"","sources":["../../src/core/no-clobber-rename.ts"],"names":[],"mappings":"AAwLA,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,iBAAiB,CACrC,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,sBAAsB,EAAE,MAAM,EAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAWf"}
@@ -1,5 +1,6 @@
1
1
  const nativeRenamePromises = new Map();
2
2
  const nativeExchangePromises = new Map();
3
+ const nativeRenameAtPromises = new Map();
3
4
  function errnoName(errnoNames, value) {
4
5
  return Object.entries(errnoNames).find(([, errno]) => errno === value)?.[0] ?? "EIO";
5
6
  }
@@ -75,6 +76,37 @@ async function loadNativeExchange(platform) {
75
76
  errnoNames: koffi.os.errno,
76
77
  });
77
78
  }
79
+ async function loadNativeRenameAt(platform) {
80
+ if (!["darwin", "linux"].includes(platform)) {
81
+ const error = new Error(`atomic fd-relative no-replace rename is unsupported on ${platform}`);
82
+ error.code = "ENOTSUP";
83
+ throw error;
84
+ }
85
+ const { default: koffi } = await import("koffi");
86
+ const libc = koffi.load(null);
87
+ if (platform === "darwin") {
88
+ const renameExclusive = libc.func("int renameatx_np(int sourceDirectoryFd, const char *source, int destinationDirectoryFd, const char *destination, unsigned int flags)");
89
+ return (sourceDirectoryFd, source, destinationDirectoryFd, destination) => ({
90
+ result: renameExclusive(sourceDirectoryFd, source, destinationDirectoryFd, destination, 0x0000_0004),
91
+ errno: koffi.errno(),
92
+ errnoNames: koffi.os.errno,
93
+ });
94
+ }
95
+ let renameNoReplace;
96
+ try {
97
+ renameNoReplace = libc.func("int renameat2(int sourceDirectoryFd, const char *source, int destinationDirectoryFd, const char *destination, unsigned int flags)");
98
+ }
99
+ catch (error) {
100
+ const unsupported = new Error("the Linux C library does not expose renameat2 for fd-relative no-replace moves", { cause: error });
101
+ unsupported.code = "ENOTSUP";
102
+ throw unsupported;
103
+ }
104
+ return (sourceDirectoryFd, source, destinationDirectoryFd, destination) => ({
105
+ result: renameNoReplace(sourceDirectoryFd, source, destinationDirectoryFd, destination, 0x0000_0001),
106
+ errno: koffi.errno(),
107
+ errnoNames: koffi.os.errno,
108
+ });
109
+ }
78
110
  export async function renameNoReplace(source, destination, platform = process.platform) {
79
111
  let nativeRenamePromise = nativeRenamePromises.get(platform);
80
112
  if (nativeRenamePromise === undefined) {
@@ -87,6 +119,18 @@ export async function renameNoReplace(source, destination, platform = process.pl
87
119
  throw renameError(source, destination, result.errnoNames, result.errno);
88
120
  }
89
121
  }
122
+ export async function renameAtNoReplace(sourceDirectoryFd, source, destinationDirectoryFd, destination, platform = process.platform) {
123
+ let nativeRenameAtPromise = nativeRenameAtPromises.get(platform);
124
+ if (nativeRenameAtPromise === undefined) {
125
+ nativeRenameAtPromise = loadNativeRenameAt(platform);
126
+ nativeRenameAtPromises.set(platform, nativeRenameAtPromise);
127
+ }
128
+ const nativeRenameAt = await nativeRenameAtPromise;
129
+ const result = nativeRenameAt(sourceDirectoryFd, source, destinationDirectoryFd, destination);
130
+ if (result.result !== 0) {
131
+ throw renameError(source, destination, result.errnoNames, result.errno);
132
+ }
133
+ }
90
134
  export async function exchangePaths(source, destination, platform = process.platform) {
91
135
  let nativeExchangePromise = nativeExchangePromises.get(platform);
92
136
  if (nativeExchangePromise === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"no-clobber-rename.js","sourceRoot":"","sources":["../../src/core/no-clobber-rename.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-clobber-rename.js","sourceRoot":"","sources":["../../src/core/no-clobber-rename.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type Stats } from "node:fs";
2
+ export declare class PinnedDirectory {
3
+ readonly fd: number;
4
+ readonly path: string;
5
+ private closed;
6
+ constructor(fd: number, path: string);
7
+ stat(): Promise<Stats>;
8
+ sync(): Promise<void>;
9
+ close(): Promise<void>;
10
+ }
11
+ export declare class PinnedFile {
12
+ readonly fd: number;
13
+ readonly parent: PinnedDirectory;
14
+ readonly basename: string;
15
+ readonly path: string;
16
+ readonly ownerRoot: string;
17
+ readonly relativePath: string;
18
+ private closed;
19
+ constructor(fd: number, parent: PinnedDirectory, basename: string, path: string, ownerRoot: string, relativePath: string);
20
+ stat(): Promise<Stats>;
21
+ chmod(mode: number): Promise<void>;
22
+ sync(): Promise<void>;
23
+ truncate(length: number): Promise<void>;
24
+ read(buffer: Buffer, offset: number, length: number, position: number): Promise<{
25
+ bytesRead: number;
26
+ buffer: Buffer;
27
+ }>;
28
+ close(): Promise<void>;
29
+ }
30
+ export declare function openPinnedDirectory(path: string): Promise<PinnedDirectory>;
31
+ export declare function openPinnedProviderParent(ownerRoot: string, relativePath: string): Promise<{
32
+ parent: PinnedDirectory;
33
+ basename: string;
34
+ physicalPath: string;
35
+ }>;
36
+ export declare function openPinnedProviderFile(path: string, ownerRoot: string, flags?: number): Promise<PinnedFile>;
37
+ //# sourceMappingURL=pinned-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-file.d.ts","sourceRoot":"","sources":["../../src/core/pinned-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EACX,MAAM,SAAS,CAAC;AAuJjB,qBAAa,eAAe;IAIxB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJvB,OAAO,CAAC,MAAM,CAAS;IAEvB,YACW,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACnB;IAEJ,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAErB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;CACF;AAED,qBAAa,UAAU;IAInB,QAAQ,CAAC,EAAE,EAAE,MAAM;IACnB,QAAQ,CAAC,MAAM,EAAE,eAAe;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM;IAR/B,OAAO,CAAC,MAAM,CAAS;IAEvB,YACW,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAC3B;IAEJ,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,CAErB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjC;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtC;IAED,IAAI,CACF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAEhD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3B;CACF;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAGhF;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC9E;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAA2B,GACjC,OAAO,CAAC,UAAU,CAAC,CAkCrB"}