@xrkseek/harness 0.7.0-rc.1 → 0.7.0-rc.3

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 (226) hide show
  1. package/node_modules/@xrkseek/checkpoint/dist/process-git.d.ts +5 -0
  2. package/node_modules/@xrkseek/checkpoint/dist/process-git.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/checkpoint/dist/process-git.js +59 -2
  4. package/node_modules/@xrkseek/checkpoint/dist/process-git.js.map +1 -1
  5. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts +24 -0
  6. package/node_modules/@xrkseek/checkpoint/dist/store.d.ts.map +1 -1
  7. package/node_modules/@xrkseek/checkpoint/dist/store.js +188 -60
  8. package/node_modules/@xrkseek/checkpoint/dist/store.js.map +1 -1
  9. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  10. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +54 -32
  11. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  12. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts +46 -2
  13. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  14. package/node_modules/@xrkseek/core-session/dist/compaction.js +62 -12
  15. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  16. package/node_modules/@xrkseek/core-session/dist/index.d.ts +2 -2
  17. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  18. package/node_modules/@xrkseek/core-session/dist/index.js +2 -2
  19. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  20. package/node_modules/@xrkseek/core-session/dist/surface-estimate.d.ts +6 -0
  21. package/node_modules/@xrkseek/core-session/dist/surface-estimate.d.ts.map +1 -1
  22. package/node_modules/@xrkseek/core-session/dist/surface-estimate.js +23 -0
  23. package/node_modules/@xrkseek/core-session/dist/surface-estimate.js.map +1 -1
  24. package/node_modules/@xrkseek/core-session/dist/surface-fold.d.ts.map +1 -1
  25. package/node_modules/@xrkseek/core-session/dist/surface-fold.js +5 -7
  26. package/node_modules/@xrkseek/core-session/dist/surface-fold.js.map +1 -1
  27. package/node_modules/@xrkseek/exec-fs/dist/present.d.ts +1 -1
  28. package/node_modules/@xrkseek/exec-fs/dist/present.d.ts.map +1 -1
  29. package/node_modules/@xrkseek/exec-fs/dist/present.js +51 -3
  30. package/node_modules/@xrkseek/exec-fs/dist/present.js.map +1 -1
  31. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts +7 -0
  32. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +33 -15
  34. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  35. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js +1 -1
  36. package/node_modules/@xrkseek/exec-fs/dist/routing-prompt.js.map +1 -1
  37. package/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts +8 -0
  38. package/node_modules/@xrkseek/exec-web/dist/fetch-http.d.ts.map +1 -1
  39. package/node_modules/@xrkseek/exec-web/dist/fetch-http.js +5 -1
  40. package/node_modules/@xrkseek/exec-web/dist/fetch-http.js.map +1 -1
  41. package/node_modules/@xrkseek/exec-web/dist/format.d.ts.map +1 -1
  42. package/node_modules/@xrkseek/exec-web/dist/format.js +1 -0
  43. package/node_modules/@xrkseek/exec-web/dist/format.js.map +1 -1
  44. package/node_modules/@xrkseek/exec-web/dist/index.d.ts +2 -2
  45. package/node_modules/@xrkseek/exec-web/dist/index.d.ts.map +1 -1
  46. package/node_modules/@xrkseek/exec-web/dist/index.js +2 -2
  47. package/node_modules/@xrkseek/exec-web/dist/index.js.map +1 -1
  48. package/node_modules/@xrkseek/exec-web/dist/search-duckduckgo.d.ts.map +1 -1
  49. package/node_modules/@xrkseek/exec-web/dist/search-duckduckgo.js +15 -8
  50. package/node_modules/@xrkseek/exec-web/dist/search-duckduckgo.js.map +1 -1
  51. package/node_modules/@xrkseek/exec-web/dist/search-parallel-free.d.ts.map +1 -1
  52. package/node_modules/@xrkseek/exec-web/dist/search-parallel-free.js +21 -13
  53. package/node_modules/@xrkseek/exec-web/dist/search-parallel-free.js.map +1 -1
  54. package/node_modules/@xrkseek/exec-web/dist/search-providers.d.ts +16 -3
  55. package/node_modules/@xrkseek/exec-web/dist/search-providers.d.ts.map +1 -1
  56. package/node_modules/@xrkseek/exec-web/dist/search-providers.js +113 -7
  57. package/node_modules/@xrkseek/exec-web/dist/search-providers.js.map +1 -1
  58. package/node_modules/@xrkseek/exec-web/dist/tools.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/exec-web/dist/tools.js +15 -2
  60. package/node_modules/@xrkseek/exec-web/dist/tools.js.map +1 -1
  61. package/node_modules/@xrkseek/exec-web/dist/types.d.ts +6 -0
  62. package/node_modules/@xrkseek/exec-web/dist/types.d.ts.map +1 -1
  63. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.d.ts.map +1 -1
  64. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.js +13 -2
  65. package/node_modules/@xrkseek/llm-registry/dist/models-dev-catalog.js.map +1 -1
  66. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts +6 -0
  67. package/node_modules/@xrkseek/llm-registry/dist/registry.d.ts.map +1 -1
  68. package/node_modules/@xrkseek/llm-registry/dist/registry.js +6 -0
  69. package/node_modules/@xrkseek/llm-registry/dist/registry.js.map +1 -1
  70. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  71. package/node_modules/@xrkseek/preset-harness/dist/preset.js +2 -4
  72. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  73. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  74. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  75. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  76. package/node_modules/@xrkseek/protocol/dist/content.d.ts.map +1 -1
  77. package/node_modules/@xrkseek/protocol/dist/content.js +6 -1
  78. package/node_modules/@xrkseek/protocol/dist/content.js.map +1 -1
  79. package/node_modules/@xrkseek/server-face/dist/agent-home.d.ts.map +1 -1
  80. package/node_modules/@xrkseek/server-face/dist/agent-home.js +2 -5
  81. package/node_modules/@xrkseek/server-face/dist/agent-home.js.map +1 -1
  82. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts +8 -1
  83. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.d.ts.map +1 -1
  84. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js +10 -2
  85. package/node_modules/@xrkseek/server-face/dist/agent-roster-store.js.map +1 -1
  86. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts +2 -2
  87. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.d.ts.map +1 -1
  88. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js +2 -1
  89. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js.map +1 -1
  90. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts.map +1 -1
  91. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +6 -4
  92. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
  93. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.d.ts +31 -0
  94. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.d.ts.map +1 -0
  95. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.js +106 -0
  96. package/node_modules/@xrkseek/server-face/dist/catalog-seed-labels.js.map +1 -0
  97. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts +2 -2
  98. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js +19 -7
  100. package/node_modules/@xrkseek/server-face/dist/community-llm-sync.js.map +1 -1
  101. package/node_modules/@xrkseek/server-face/dist/context.d.ts +25 -3
  102. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  103. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  104. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +11 -0
  105. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  106. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.d.ts.map +1 -1
  107. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js +16 -6
  108. package/node_modules/@xrkseek/server-face/dist/handlers/remotes.js.map +1 -1
  109. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +27 -1
  111. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  112. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.d.ts.map +1 -1
  113. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js +14 -4
  114. package/node_modules/@xrkseek/server-face/dist/handlers/subagent.js.map +1 -1
  115. package/node_modules/@xrkseek/server-face/dist/handlers/team.d.ts.map +1 -1
  116. package/node_modules/@xrkseek/server-face/dist/handlers/team.js +76 -12
  117. package/node_modules/@xrkseek/server-face/dist/handlers/team.js.map +1 -1
  118. package/node_modules/@xrkseek/server-face/dist/host-open-in-app.d.ts.map +1 -1
  119. package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js +9 -0
  120. package/node_modules/@xrkseek/server-face/dist/host-open-in-app.js.map +1 -1
  121. package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts +8 -3
  122. package/node_modules/@xrkseek/server-face/dist/host-open-path.d.ts.map +1 -1
  123. package/node_modules/@xrkseek/server-face/dist/host-open-path.js +61 -19
  124. package/node_modules/@xrkseek/server-face/dist/host-open-path.js.map +1 -1
  125. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.d.ts +2 -1
  126. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.d.ts.map +1 -1
  127. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.js +12 -2
  128. package/node_modules/@xrkseek/server-face/dist/host-pick-directory.js.map +1 -1
  129. package/node_modules/@xrkseek/server-face/dist/index.d.ts +5 -3
  130. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  131. package/node_modules/@xrkseek/server-face/dist/index.js +5 -3
  132. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  133. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.d.ts +6 -0
  134. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.d.ts.map +1 -1
  135. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.js +26 -0
  136. package/node_modules/@xrkseek/server-face/dist/projections/title-controller.js.map +1 -1
  137. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.d.ts +8 -4
  138. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.d.ts.map +1 -1
  139. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.js +2 -7
  140. package/node_modules/@xrkseek/server-face/dist/projections/units/context-pressure.js.map +1 -1
  141. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts +10 -0
  142. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  143. package/node_modules/@xrkseek/server-face/dist/runtime.js +75 -21
  144. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  145. package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts +45 -0
  146. package/node_modules/@xrkseek/server-face/dist/seat-channel.d.ts.map +1 -0
  147. package/node_modules/@xrkseek/server-face/dist/seat-channel.js +93 -0
  148. package/node_modules/@xrkseek/server-face/dist/seat-channel.js.map +1 -0
  149. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts +13 -0
  150. package/node_modules/@xrkseek/server-face/dist/seat-identity.d.ts.map +1 -1
  151. package/node_modules/@xrkseek/server-face/dist/seat-identity.js +90 -36
  152. package/node_modules/@xrkseek/server-face/dist/seat-identity.js.map +1 -1
  153. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  154. package/node_modules/@xrkseek/server-face/dist/session-capability.js +4 -1
  155. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  156. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +10 -0
  157. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  158. package/node_modules/@xrkseek/server-face/dist/session-status.js +94 -34
  159. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  160. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  161. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +33 -1
  162. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  163. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  164. package/node_modules/@xrkseek/server-face/dist/settings-document.js +4 -0
  165. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  166. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  167. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +45 -11
  168. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  169. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  170. package/node_modules/@xrkseek/server-face/dist/slash.js +22 -5
  171. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  172. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts +11 -1
  173. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.d.ts.map +1 -1
  174. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js +94 -9
  175. package/node_modules/@xrkseek/server-face/dist/workspace-checkpoint.js.map +1 -1
  176. package/node_modules/@xrkseek/server-face/dist/workspace-face.d.ts.map +1 -1
  177. package/node_modules/@xrkseek/server-face/dist/workspace-face.js +3 -10
  178. package/node_modules/@xrkseek/server-face/dist/workspace-face.js.map +1 -1
  179. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts +1 -1
  180. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.d.ts.map +1 -1
  181. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js +4 -1
  182. package/node_modules/@xrkseek/server-face/dist/workspace-member-look.js.map +1 -1
  183. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.d.ts +1 -1
  184. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/index.js +1 -1
  185. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts +2 -2
  186. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.d.ts.map +1 -1
  187. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js +27 -13
  188. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/memory-polish.js.map +1 -1
  189. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  190. package/node_modules/@xrkseek/server-host/dist/index.js +87 -12
  191. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  192. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts +5 -0
  193. package/node_modules/@xrkseek/server-http/dist/dsh-compat/adapter-types.d.ts.map +1 -1
  194. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +1 -2
  195. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  196. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +1 -1
  197. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  198. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.d.ts +19 -2
  199. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.d.ts.map +1 -1
  200. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js +425 -385
  201. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-auth.js.map +1 -1
  202. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts +20 -1
  203. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.d.ts.map +1 -1
  204. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js +22 -1
  205. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access-gate.js.map +1 -1
  206. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts +13 -1
  207. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.d.ts.map +1 -1
  208. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js +37 -3
  209. package/node_modules/@xrkseek/server-http/dist/dsh-compat/mobile-access.js.map +1 -1
  210. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts +4 -1
  211. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.d.ts.map +1 -1
  212. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js +20 -8
  213. package/node_modules/@xrkseek/server-http/dist/dsh-compat/underlying/mobile-gate-kit.js.map +1 -1
  214. package/node_modules/@xrkseek/server-http/dist/index.d.ts +2 -2
  215. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  216. package/node_modules/@xrkseek/server-http/dist/index.js +2 -2
  217. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  218. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.d.ts +44 -0
  219. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.d.ts.map +1 -1
  220. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.js +101 -10
  221. package/node_modules/@xrkseek/server-http/dist/sunflower-free/ensure.js.map +1 -1
  222. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts +2 -0
  223. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.d.ts.map +1 -1
  224. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js +7 -3
  225. package/node_modules/@xrkseek/server-http/dist/xrk/plugin-mutate.js.map +1 -1
  226. package/package.json +1 -1
@@ -9,6 +9,11 @@ import type { GitRunner } from "./types.js";
9
9
  * (never rejects), so a hung git process — a shadow-repo repack holding the
10
10
  * object locks, antivirus scan, network fs stall — degrades to a typed
11
11
  * timeout instead of blocking the caller forever.
12
+ *
13
+ * Output is decoded with a streaming UTF-8 decoder: a multi-byte character
14
+ * (any CJK path in `clean -nd` / `ls-files`) can straddle two chunks, and a
15
+ * per-chunk `toString("utf8")` turns it into U+FFFD. Paths are compared and
16
+ * printed, so a mangled name is a wrong name.
12
17
  */
13
18
  export declare function createProcessGitRunner(gitPath?: string): GitRunner;
14
19
  //# sourceMappingURL=process-git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-git.d.ts","sourceRoot":"","sources":["../src/process-git.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,SAAQ,GAAG,SAAS,CA6CjE"}
1
+ {"version":3,"file":"process-git.d.ts","sourceRoot":"","sources":["../src/process-git.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,YAAY,CAAC;AAkDvD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,SAAQ,GAAG,SAAS,CAoDjE"}
@@ -1,5 +1,50 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { StringDecoder } from "node:string_decoder";
2
3
  const STDIO_CAP = 4_000_000;
4
+ /**
5
+ * Environment pinned for every git call.
6
+ *
7
+ * Two of these are load-bearing, not cosmetic:
8
+ *
9
+ * - `LC_ALL=C` / `LANG=C` / `LANGUAGE=en` — git localizes the prefixes the
10
+ * store parses (`Would remove ` from `clean -nd`, `Removing ` from
11
+ * `clean -fd`). On a Chinese Windows box git answers `将删除 …`, so a
12
+ * localized machine silently reported "no extra files" and `--prune`
13
+ * removed nothing. Pinning the locale makes the same command produce the
14
+ * same bytes on Windows, macOS and a minimal Linux container.
15
+ * - `GIT_TERMINAL_PROMPT=0` — a background snapshot must never stop on a
16
+ * credential prompt. The shadow repo needs no network, but an inherited
17
+ * `credential.helper` can still ask.
18
+ *
19
+ * Also strips the inherited `GIT_*` repository overrides: a Host started from
20
+ * a git hook / `git rebase` shell (or an IDE that exports them) would
21
+ * otherwise let `GIT_OBJECT_DIRECTORY` / `GIT_INDEX_FILE` point the shadow
22
+ * commands at the operator's repository. `--git-dir` wins over `GIT_DIR`, but
23
+ * not over those.
24
+ */
25
+ const GIT_ENV = {
26
+ LC_ALL: "C",
27
+ LANG: "C",
28
+ LANGUAGE: "en",
29
+ GIT_TERMINAL_PROMPT: "0",
30
+ };
31
+ const GIT_ENV_OVERRIDES = [
32
+ "GIT_DIR",
33
+ "GIT_WORK_TREE",
34
+ "GIT_INDEX_FILE",
35
+ "GIT_OBJECT_DIRECTORY",
36
+ "GIT_ALTERNATE_OBJECT_DIRECTORIES",
37
+ "GIT_COMMON_DIR",
38
+ "GIT_NAMESPACE",
39
+ "GIT_PREFIX",
40
+ "GIT_CEILING_DIRECTORIES",
41
+ ];
42
+ function gitEnv() {
43
+ const env = { ...process.env, ...GIT_ENV };
44
+ for (const key of GIT_ENV_OVERRIDES)
45
+ delete env[key];
46
+ return env;
47
+ }
3
48
  /**
4
49
  * Default git runner: spawn git, capture stdout/stderr, never inherit stdio.
5
50
  * A missing binary resolves `{ code: -1 }` (rather than rejecting) so the
@@ -10,6 +55,11 @@ const STDIO_CAP = 4_000_000;
10
55
  * (never rejects), so a hung git process — a shadow-repo repack holding the
11
56
  * object locks, antivirus scan, network fs stall — degrades to a typed
12
57
  * timeout instead of blocking the caller forever.
58
+ *
59
+ * Output is decoded with a streaming UTF-8 decoder: a multi-byte character
60
+ * (any CJK path in `clean -nd` / `ls-files`) can straddle two chunks, and a
61
+ * per-chunk `toString("utf8")` turns it into U+FFFD. Paths are compared and
62
+ * printed, so a mangled name is a wrong name.
13
63
  */
14
64
  export function createProcessGitRunner(gitPath = "git") {
15
65
  return (args, opts) => new Promise((resolve) => {
@@ -19,6 +69,7 @@ export function createProcessGitRunner(gitPath = "git") {
19
69
  cwd: opts?.cwd,
20
70
  stdio: ["ignore", "pipe", "pipe"],
21
71
  windowsHide: true,
72
+ env: gitEnv(),
22
73
  });
23
74
  }
24
75
  catch (err) {
@@ -27,13 +78,15 @@ export function createProcessGitRunner(gitPath = "git") {
27
78
  }
28
79
  let stdout = "";
29
80
  let stderr = "";
81
+ const outDecoder = new StringDecoder("utf8");
82
+ const errDecoder = new StringDecoder("utf8");
30
83
  child.stdout?.on("data", (chunk) => {
31
84
  if (stdout.length < STDIO_CAP)
32
- stdout += chunk.toString("utf8");
85
+ stdout += outDecoder.write(chunk);
33
86
  });
34
87
  child.stderr?.on("data", (chunk) => {
35
88
  if (stderr.length < STDIO_CAP)
36
- stderr += chunk.toString("utf8");
89
+ stderr += errDecoder.write(chunk);
37
90
  });
38
91
  const deadline = opts?.timeoutMs;
39
92
  const armed = deadline !== undefined && deadline > 0;
@@ -50,6 +103,10 @@ export function createProcessGitRunner(gitPath = "git") {
50
103
  resolve({ code: -1, stdout, stderr: stderr || String(err) });
51
104
  });
52
105
  child.on("close", (code) => {
106
+ // Flush a half-decoded tail (a truncated multi-byte sequence) so the
107
+ // result never drops the last captured line.
108
+ stdout += outDecoder.end();
109
+ stderr += errDecoder.end();
53
110
  resolve({
54
111
  code: code ?? -1,
55
112
  stdout,
@@ -1 +1 @@
1
- {"version":3,"file":"process-git.js","sourceRoot":"","sources":["../src/process-git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAG3C,MAAM,SAAS,GAAG,SAAS,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAO,GAAG,KAAK;IACpD,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACpB,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACjC,IAAI,KAA+B,CAAC;QACpC,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;gBAChC,GAAG,EAAE,IAAI,EAAE,GAAG;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,EAAE,SAAS,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,CAAC;QACrD,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,EAAE,QAAQ,CAAC,CAAC;YACb,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,CAAC;gBACN,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;gBAChB,MAAM;gBACN,MAAM;gBACN,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"process-git.js","sourceRoot":"","sources":["../src/process-git.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,10 @@ export declare class WorkspaceCheckpointStore {
74
74
  /** Work-tree-relative shadow path, when the shadow lives in the workspace. */
75
75
  private readonly shadowRelPath;
76
76
  private records;
77
+ /** Ids this instance intentionally dropped (`prune`), so a merge cannot resurrect them. */
78
+ private readonly tombstones;
79
+ /** `mtimeMs:size` of the index file when {@link records} was last synced. */
80
+ private indexSignature;
77
81
  private repoReady;
78
82
  constructor(options: WorkspaceCheckpointStoreOptions);
79
83
  /**
@@ -81,6 +85,12 @@ export declare class WorkspaceCheckpointStore {
81
85
  *
82
86
  * - `core.excludesFile` keeps the shadow dir out of staging and `clean`.
83
87
  * - `core.autocrlf=false` stops a Windows checkout rewriting line endings.
88
+ * - `core.quotepath=false` keeps non-ASCII paths literal. `clean -nd` /
89
+ * `ls-files` feed `extra` / `removed` straight into the UI; the default
90
+ * C-style escaping (`"\344\270\255\346\226\207"`) is unreadable and can
91
+ * never match a real path.
92
+ * - `core.longpaths=true` lets Windows restore files below a deep
93
+ * `node_modules`/monorepo path instead of failing at MAX_PATH.
84
94
  * - A synthetic commit identity + `commit.gpgsign=false` make shadow commits
85
95
  * independent of the operator's git config, so snapshotting works on a
86
96
  * machine with no `user.name` / `user.email` and never tries to sign.
@@ -112,6 +122,8 @@ export declare class WorkspaceCheckpointStore {
112
122
  private extraFiles;
113
123
  /** What a restore would restore and which files it would leave behind. */
114
124
  planRestore(id: string): Promise<RestorePlan>;
125
+ /** {@link planRestore} body; the caller already holds the shadow gate. */
126
+ private planRestoreLocked;
115
127
  /**
116
128
  * Restore the snapshot into the worktree. Files the snapshot does not know
117
129
  * about survive unless `prune` is set.
@@ -145,6 +157,18 @@ export declare class WorkspaceCheckpointStore {
145
157
  /** Loose object count from `git count-objects -v` (0 when git cannot answer). */
146
158
  private looseObjectCount;
147
159
  private loadIndex;
160
+ /** Cheap change detector for the shared index file (`mtime:size`). */
161
+ private indexStat;
162
+ /**
163
+ * Re-read `index.json` when another process changed it.
164
+ *
165
+ * The index is shared by every Host on the same XRK home (desktop app +
166
+ * `xrkh web` + a remote/HTTP Host). A store cached at session start used to
167
+ * keep its constructor-time snapshot forever, so a point recorded by the
168
+ * other process was invisible: `/rollback seq:N` answered "Unknown
169
+ * checkpoint" for a snapshot that exists on disk.
170
+ */
171
+ private refreshIndex;
148
172
  private saveIndex;
149
173
  }
150
174
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,48 @@
1
1
  import { createHash } from "node:crypto";
2
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
3
3
  import path from "node:path";
4
4
  import { resolveXrkHome } from "@xrkseek/xrk-home-paths";
5
5
  import { readJsonFile, writeJsonFileAtomic } from "./json-file.js";
6
6
  import { WorkspaceCheckpointError, } from "./types.js";
7
7
  const INDEX_VERSION = 1;
8
8
  const ID_LENGTH = 12;
9
+ /**
10
+ * Serializes work on one shadow repo **inside this process**.
11
+ *
12
+ * Every write command (`init` / `add` / `commit`) takes the shadow repo's
13
+ * `index.lock`; two overlapping snapshots in the same Host (Host drain
14
+ * `beforeTools`, a manual `session.checkpoint.snapshot`, two sessions sharing
15
+ * one cwd) used to race for it and lose one point to
16
+ * `fatal: Unable to create '…/index.lock': File exists`. The store is cached
17
+ * per workspace, but nothing stopped concurrent method calls on it.
18
+ */
19
+ const shadowGates = new Map();
20
+ async function withShadowGate(key, run) {
21
+ const prev = shadowGates.get(key) ?? Promise.resolve();
22
+ let release;
23
+ const gate = new Promise((resolve) => {
24
+ release = resolve;
25
+ });
26
+ const tail = prev.then(() => gate);
27
+ shadowGates.set(key, tail);
28
+ await prev.catch(() => undefined);
29
+ try {
30
+ return await run();
31
+ }
32
+ finally {
33
+ release();
34
+ if (shadowGates.get(key) === tail)
35
+ shadowGates.delete(key);
36
+ }
37
+ }
38
+ /** `git` uses this phrasing when another process holds the lock file. */
39
+ const LOCK_CONTENTION = /(Unable to create '[^']*\.lock'|Unable to create [^\s]*\.lock|cannot lock ref|index\.lock)/iu;
40
+ function sleep(ms) {
41
+ return new Promise((resolve) => {
42
+ const timer = setTimeout(resolve, ms);
43
+ timer.unref?.();
44
+ });
45
+ }
9
46
  /**
10
47
  * Hard deadline for a single snapshot git command. A hung git process (a
11
48
  * shadow-repo auto-repack holding object locks, antivirus scan, network fs
@@ -117,6 +154,10 @@ export class WorkspaceCheckpointStore {
117
154
  /** Work-tree-relative shadow path, when the shadow lives in the workspace. */
118
155
  shadowRelPath;
119
156
  records;
157
+ /** Ids this instance intentionally dropped (`prune`), so a merge cannot resurrect them. */
158
+ tombstones = new Set();
159
+ /** `mtimeMs:size` of the index file when {@link records} was last synced. */
160
+ indexSignature;
120
161
  repoReady = false;
121
162
  constructor(options) {
122
163
  const workspace = path.resolve(options.workspaceDir);
@@ -137,12 +178,19 @@ export class WorkspaceCheckpointStore {
137
178
  this.timeoutMs = options.timeoutMs ?? readTimeoutMs();
138
179
  this.now = options.now ?? (() => Date.now());
139
180
  this.records = this.loadIndex();
181
+ this.indexSignature = this.indexStat();
140
182
  }
141
183
  /**
142
184
  * Git-level argv shared by every command.
143
185
  *
144
186
  * - `core.excludesFile` keeps the shadow dir out of staging and `clean`.
145
187
  * - `core.autocrlf=false` stops a Windows checkout rewriting line endings.
188
+ * - `core.quotepath=false` keeps non-ASCII paths literal. `clean -nd` /
189
+ * `ls-files` feed `extra` / `removed` straight into the UI; the default
190
+ * C-style escaping (`"\344\270\255\346\226\207"`) is unreadable and can
191
+ * never match a real path.
192
+ * - `core.longpaths=true` lets Windows restore files below a deep
193
+ * `node_modules`/monorepo path instead of failing at MAX_PATH.
146
194
  * - A synthetic commit identity + `commit.gpgsign=false` make shadow commits
147
195
  * independent of the operator's git config, so snapshotting works on a
148
196
  * machine with no `user.name` / `user.email` and never tries to sign.
@@ -167,6 +215,10 @@ export class WorkspaceCheckpointStore {
167
215
  "-c",
168
216
  "core.filemode=false",
169
217
  "-c",
218
+ "core.quotepath=false",
219
+ "-c",
220
+ "core.longpaths=true",
221
+ "-c",
170
222
  "commit.gpgsign=false",
171
223
  "-c",
172
224
  `user.name=${CHECKPOINT_AUTHOR_NAME}`,
@@ -177,18 +229,30 @@ export class WorkspaceCheckpointStore {
177
229
  async exec(args, budgetMs = this.timeoutMs) {
178
230
  return this.runGit([...this.baseArgs, ...args], { timeoutMs: budgetMs });
179
231
  }
180
- async execOk(args, errorCode, what, budgetMs = this.timeoutMs) {
181
- const result = await this.exec(args, budgetMs);
182
- if (result.timedOut) {
183
- throw new WorkspaceCheckpointError("timed-out", `git ${what} exceeded its ${budgetMs}ms budget; snapshot skipped (workspace unchanged)`);
184
- }
185
- if (result.code === -1) {
186
- throw new WorkspaceCheckpointError("git-unavailable", `git ${what} could not start: ${result.stderr.trim() || "git was not found on PATH"}`);
187
- }
188
- if (result.code !== 0) {
189
- throw new WorkspaceCheckpointError(errorCode, `git ${what} failed (exit ${result.code}): ${result.stderr.trim() || result.stdout.trim()}`);
232
+ async execOk(args, errorCode, what, budgetMs = this.timeoutMs, retries = 0) {
233
+ let last;
234
+ for (let attempt = 0; attempt <= retries; attempt += 1) {
235
+ const result = await this.exec(args, budgetMs);
236
+ if (result.timedOut) {
237
+ throw new WorkspaceCheckpointError("timed-out", `git ${what} exceeded its ${budgetMs}ms budget; snapshot skipped (workspace unchanged)`);
238
+ }
239
+ if (result.code === -1) {
240
+ throw new WorkspaceCheckpointError("git-unavailable", `git ${what} could not start: ${result.stderr.trim() || "git was not found on PATH"}`);
241
+ }
242
+ if (result.code === 0)
243
+ return result;
244
+ last = result;
245
+ // Another process (a second Host on the same XRK home, or a leftover
246
+ // `git gc`) held the lock. One short retry wins the common case without
247
+ // waiting on a long repack; the budget is the same either way.
248
+ const text = `${result.stderr}\n${result.stdout}`;
249
+ if (attempt < retries && LOCK_CONTENTION.test(text)) {
250
+ await sleep(150 + attempt * 100);
251
+ continue;
252
+ }
253
+ break;
190
254
  }
191
- return result;
255
+ throw new WorkspaceCheckpointError(errorCode, `git ${what} failed (exit ${last?.code ?? -1}): ${last?.stderr.trim() || last?.stdout.trim() || "no output"}`);
192
256
  }
193
257
  /**
194
258
  * (Re)write the git-level ignore file. Idempotent and cheap: patterns are
@@ -254,42 +318,49 @@ export class WorkspaceCheckpointStore {
254
318
  if (!Number.isFinite(input.seq)) {
255
319
  throw new WorkspaceCheckpointError("bad-argument", "snapshot: seq must be a finite number");
256
320
  }
257
- // Whole-operation budget: each git command gets the remaining time, so a
258
- // slow start cannot leak into an unbounded tail (5 commands × full
259
- // per-command timeout would otherwise stall the turn queue for minutes).
260
- const deadline = this.now() + this.timeoutMs;
261
- const remaining = () => Math.max(1, deadline - this.now());
262
- await this.ensureRepo(remaining());
263
- await this.execOk(["add", "-A"], "snapshot-failed", "add -A", remaining());
264
- const label = input.label?.trim();
265
- const message = [
266
- `xrk checkpoint session=${sessionId} seq=${input.seq}`,
267
- ...(label ? [`label=${label}`] : []),
268
- ].join(" ");
269
- await this.execOk(["commit", "--quiet", "--allow-empty", "-m", message], "snapshot-failed", "commit", remaining());
270
- const rev = await this.execOk(["rev-parse", "HEAD"], "snapshot-failed", "rev-parse HEAD", remaining());
271
- const id = rev.stdout.trim();
272
- if (!id) {
273
- throw new WorkspaceCheckpointError("snapshot-failed", "git rev-parse HEAD returned no commit id");
274
- }
275
- const files = await this.execOk(["ls-files"], "snapshot-failed", "ls-files", remaining());
276
- const record = {
277
- id,
278
- sessionId,
279
- seq: input.seq,
280
- createdAt: this.now(),
281
- ...(label ? { label } : {}),
282
- fileCount: splitLines(files.stdout).length,
283
- };
284
- this.records.push(record);
285
- this.saveIndex();
286
- return record;
321
+ return withShadowGate(this.shadowDir, async () => {
322
+ // Pick up points another Host process recorded, so this write merges
323
+ // instead of overwriting them.
324
+ this.refreshIndex();
325
+ // Whole-operation budget: each git command gets the remaining time, so a
326
+ // slow start cannot leak into an unbounded tail (5 commands × full
327
+ // per-command timeout would otherwise stall the turn queue for minutes).
328
+ const deadline = this.now() + this.timeoutMs;
329
+ const remaining = () => Math.max(1, deadline - this.now());
330
+ await this.ensureRepo(remaining());
331
+ await this.execOk(["add", "-A"], "snapshot-failed", "add -A", remaining(), 1);
332
+ const label = input.label?.trim();
333
+ const message = [
334
+ `xrk checkpoint session=${sessionId} seq=${input.seq}`,
335
+ ...(label ? [`label=${label}`] : []),
336
+ ].join(" ");
337
+ await this.execOk(["commit", "--quiet", "--allow-empty", "-m", message], "snapshot-failed", "commit", remaining(), 1);
338
+ const rev = await this.execOk(["rev-parse", "HEAD"], "snapshot-failed", "rev-parse HEAD", remaining());
339
+ const id = rev.stdout.trim();
340
+ if (!id) {
341
+ throw new WorkspaceCheckpointError("snapshot-failed", "git rev-parse HEAD returned no commit id");
342
+ }
343
+ const files = await this.execOk(["ls-files"], "snapshot-failed", "ls-files", remaining());
344
+ const record = {
345
+ id,
346
+ sessionId,
347
+ seq: input.seq,
348
+ createdAt: this.now(),
349
+ ...(label ? { label } : {}),
350
+ fileCount: splitLines(files.stdout).length,
351
+ };
352
+ this.records.push(record);
353
+ this.saveIndex();
354
+ return record;
355
+ });
287
356
  }
288
357
  /** Chronological (oldest first) records, newest last. */
289
358
  list() {
359
+ this.refreshIndex();
290
360
  return [...this.records];
291
361
  }
292
362
  get(id) {
363
+ this.refreshIndex();
293
364
  const needle = id.trim();
294
365
  const found = this.records.find((record) => record.id === needle);
295
366
  if (!found) {
@@ -304,9 +375,15 @@ export class WorkspaceCheckpointStore {
304
375
  }
305
376
  /** What a restore would restore and which files it would leave behind. */
306
377
  async planRestore(id) {
307
- this.get(id);
308
- await this.requireRepo();
309
- const target = id.trim();
378
+ return withShadowGate(this.shadowDir, async () => {
379
+ this.refreshIndex();
380
+ this.get(id);
381
+ await this.requireRepo();
382
+ return this.planRestoreLocked(id.trim());
383
+ });
384
+ }
385
+ /** {@link planRestore} body; the caller already holds the shadow gate. */
386
+ async planRestoreLocked(target) {
310
387
  const tree = await this.execOk(["ls-tree", "-r", "--name-only", target], "restore-failed", `ls-tree ${target}`);
311
388
  return {
312
389
  id: target,
@@ -319,21 +396,24 @@ export class WorkspaceCheckpointStore {
319
396
  * about survive unless `prune` is set.
320
397
  */
321
398
  async restore(id, options = {}) {
322
- this.get(id);
323
- await this.requireRepo();
324
- const target = id.trim();
325
- const plan = await this.planRestore(target);
326
- await this.execOk(["checkout", "--force", target, "--", "."], "restore-failed", `checkout ${target}`);
327
- let removed = [];
328
- if (options.prune) {
329
- const clean = await this.execOk(["clean", "-fd"], "restore-failed", "clean -fd");
330
- removed = parseCleanOutput(clean.stdout, "Removing ");
331
- }
332
- return {
333
- ...plan,
334
- restored: plan.fileCount,
335
- removed,
336
- };
399
+ return withShadowGate(this.shadowDir, async () => {
400
+ this.refreshIndex();
401
+ this.get(id);
402
+ await this.requireRepo();
403
+ const target = id.trim();
404
+ const plan = await this.planRestoreLocked(target);
405
+ await this.execOk(["checkout", "--force", target, "--", "."], "restore-failed", `checkout ${target}`, this.timeoutMs, 1);
406
+ let removed = [];
407
+ if (options.prune) {
408
+ const clean = await this.execOk(["clean", "-fd"], "restore-failed", "clean -fd");
409
+ removed = parseCleanOutput(clean.stdout, "Removing ");
410
+ }
411
+ return {
412
+ ...plan,
413
+ restored: plan.fileCount,
414
+ removed,
415
+ };
416
+ });
337
417
  }
338
418
  /**
339
419
  * Drop the oldest records, keeping the newest `keep`. Index-only: the
@@ -344,10 +424,13 @@ export class WorkspaceCheckpointStore {
344
424
  if (!Number.isInteger(keep) || keep < 0) {
345
425
  throw new WorkspaceCheckpointError("bad-argument", `prune: keep must be a non-negative integer (got ${String(keep)})`);
346
426
  }
427
+ this.refreshIndex();
347
428
  const drop = Math.max(0, this.records.length - keep);
348
429
  if (drop === 0)
349
430
  return [];
350
431
  const removed = this.records.splice(0, drop).map((record) => record.id);
432
+ for (const id of removed)
433
+ this.tombstones.add(id);
351
434
  this.saveIndex();
352
435
  return removed;
353
436
  }
@@ -370,6 +453,12 @@ export class WorkspaceCheckpointStore {
370
453
  * @returns true when the loose-object count actually went down.
371
454
  */
372
455
  async reclaim(budgetMs = 10 * 60_000) {
456
+ // Packing while a snapshot holds the repo is the very lock fight
457
+ // `maintenance.auto=false` exists to avoid. Skip this idle moment and let
458
+ // the next startup try again instead of queueing behind (or blocking) a
459
+ // turn's snapshot.
460
+ if (shadowGates.has(this.shadowDir))
461
+ return false;
373
462
  const before = await this.looseObjectCount();
374
463
  const result = await this.exec(["gc", "--auto", "--quiet"], budgetMs);
375
464
  if (result.timedOut || result.code !== 0)
@@ -391,11 +480,50 @@ export class WorkspaceCheckpointStore {
391
480
  return [];
392
481
  return records.filter(isCheckpointRecord);
393
482
  }
483
+ /** Cheap change detector for the shared index file (`mtime:size`). */
484
+ indexStat() {
485
+ try {
486
+ const s = statSync(this.indexFile);
487
+ return `${s.mtimeMs}:${s.size}`;
488
+ }
489
+ catch {
490
+ return undefined;
491
+ }
492
+ }
493
+ /**
494
+ * Re-read `index.json` when another process changed it.
495
+ *
496
+ * The index is shared by every Host on the same XRK home (desktop app +
497
+ * `xrkh web` + a remote/HTTP Host). A store cached at session start used to
498
+ * keep its constructor-time snapshot forever, so a point recorded by the
499
+ * other process was invisible: `/rollback seq:N` answered "Unknown
500
+ * checkpoint" for a snapshot that exists on disk.
501
+ */
502
+ refreshIndex() {
503
+ const signature = this.indexStat();
504
+ if (signature === undefined)
505
+ return;
506
+ if (signature === this.indexSignature)
507
+ return;
508
+ this.records = this.loadIndex();
509
+ this.indexSignature = signature;
510
+ }
394
511
  saveIndex() {
512
+ // Merge rows the other process wrote since our last read: a blind
513
+ // whole-file write drops every point recorded elsewhere. Tombstones keep
514
+ // an intentional `prune` from being resurrected by this merge.
515
+ const known = new Set(this.records.map((record) => record.id));
516
+ for (const row of this.loadIndex()) {
517
+ if (known.has(row.id) || this.tombstones.has(row.id))
518
+ continue;
519
+ this.records.push(row);
520
+ known.add(row.id);
521
+ }
395
522
  writeJsonFileAtomic(this.indexFile, {
396
523
  version: INDEX_VERSION,
397
524
  records: this.records,
398
525
  });
526
+ this.indexSignature = this.indexStat();
399
527
  }
400
528
  }
401
529
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EACL,wBAAwB,GASzB,MAAM,YAAY,CAAC;AAEpB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;;;;;;GASG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4B,CAAC;AAExD,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,GAAqB;IAErB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD,IAAI,OAAoB,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACnC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;QACV,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,eAAe,GACnB,8FAA8F,CAAC;AAEjG,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IACxD,OAAO,UAAU,CAAC,MAAM,CAAC;SACtB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAClC,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,YAAoB,EACpB,OAAgB;IAEhB,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,IAAI,cAAc,EAAE,EAC3B,aAAa,EACb,qBAAqB,CAAC,YAAY,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC;AAyBD,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI;SACR,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,gFAAgF;AAChF,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IACtD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,sBAAsB,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC,sBAAsB,CAAC;AAC7B,CAAC;AAED,8DAA8D;AAC9D,SAAS,gBAAgB,CAAC,MAAc,EAAE,MAAc;IACtD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,CACL,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;QAC7B,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACpB,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ;QAC9B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;QACpC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CACrC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,wBAAwB;IAC1B,YAAY,CAAS;IACrB,SAAS,CAAS;IAC3B,wDAAwD;IAC/C,EAAE,CAAS;IACpB,iEAAiE;IACxD,YAAY,CAAS;IAEb,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,MAAM,CAAY;IAClB,SAAS,CAAS;IAClB,GAAG,CAAe;IACnC,8EAA8E;IAC7D,aAAa,CAAqB;IAC3C,OAAO,CAA8B;IAC7C,2FAA2F;IAC1E,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,6EAA6E;IACrE,cAAc,CAAqB;IACnC,SAAS,GAAG,KAAK,CAAC;IAE1B,YAAY,OAAwC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,EAAE,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CACzB,OAAO,CAAC,SAAS;YACf,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CACrD,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa;YAChB,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC9D,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/B,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,aAAa,EAAE,CAAC;QACtD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAY,QAAQ;QAClB,OAAO;YACL,aAAa,IAAI,CAAC,MAAM,EAAE;YAC1B,eAAe,IAAI,CAAC,YAAY,EAAE;YAClC,IAAI;YACJ,qBAAqB,IAAI,CAAC,YAAY,EAAE;YACxC,IAAI;YACJ,wBAAwB;YACxB,IAAI;YACJ,qBAAqB;YACrB,IAAI;YACJ,qBAAqB;YACrB,IAAI;YACJ,qBAAqB;YACrB,IAAI;YACJ,sBAAsB;YACtB,IAAI;YACJ,qBAAqB;YACrB,IAAI;YACJ,sBAAsB;YACtB,IAAI;YACJ,aAAa,sBAAsB,EAAE;YACrC,IAAI;YACJ,cAAc,uBAAuB,EAAE;SACxC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,IAAuB,EACvB,WAAmB,IAAI,CAAC,SAAS;QAEjC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,IAAuB,EACvB,SAAuC,EACvC,IAAY,EACZ,WAAmB,IAAI,CAAC,SAAS,EACjC,OAAO,GAAG,CAAC;QAEX,IAAI,IAA2B,CAAC;QAChC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,wBAAwB,CAChC,WAAW,EACX,OAAO,IAAI,iBAAiB,QAAQ,mDAAmD,CACxF,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,EACjB,OAAO,IAAI,qBACT,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,2BAC1B,EAAE,CACH,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YACrC,IAAI,GAAG,MAAM,CAAC;YACd,qEAAqE;YACrE,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,OAAO,GAAG,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM;QACR,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,SAAS,EACT,OAAO,IAAI,iBAAiB,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,MAC1C,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,WAChD,EAAE,CACH,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,kBAAkB;QACxB,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,yEAAyE;QACzE,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,QAAQ,GAAa;YACzB,eAAe;YACf,kBAAkB;YAClB,OAAO;YACP,UAAU;YACV,OAAO;YACP,UAAU;YACV,WAAW;YACX,WAAW;YACX,kBAAkB;SACnB,CAAC;QACF,IAAI,IAAI,CAAC,aAAa;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,OAAO;oBAAE,OAAO;YAClE,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;QAC1E,CAAC;IACH,CAAC;IAED,kEAAkE;IAC1D,KAAK,CAAC,UAAU,CAAC,WAAmB,IAAI,CAAC,SAAS;QACxD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,MAAM,CACf,CAAC,MAAM,EAAE,SAAS,CAAC,EACnB,aAAa,EACb,oBAAoB,EACpB,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,iFAAiF;IACzE,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,wBAAwB,CAChC,oBAAoB,EACpB,wCAAwC,IAAI,CAAC,MAAM,EAAE,CACtD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,wBAAwB,CAChC,cAAc,EACd,iCAAiC,CAClC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,wBAAwB,CAChC,cAAc,EACd,uCAAuC,CACxC,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/C,qEAAqE;YACrE,+BAA+B;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,yEAAyE;YACzE,mEAAmE;YACnE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7C,MAAM,SAAS,GAAG,GAAW,EAAE,CAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,MAAM,CACf,CAAC,KAAK,EAAE,IAAI,CAAC,EACb,iBAAiB,EACjB,QAAQ,EACR,SAAS,EAAE,EACX,CAAC,CACF,CAAC;YACF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG;gBACd,0BAA0B,SAAS,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACtD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACrC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,MAAM,IAAI,CAAC,MAAM,CACf,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,EACrD,iBAAiB,EACjB,QAAQ,EACR,SAAS,EAAE,EACX,CAAC,CACF,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAC3B,CAAC,WAAW,EAAE,MAAM,CAAC,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EAAE,CACZ,CAAC;YACF,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,wBAAwB,CAChC,iBAAiB,EACjB,0CAA0C,CAC3C,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAC7B,CAAC,UAAU,CAAC,EACZ,iBAAiB,EACjB,UAAU,EACV,SAAS,EAAE,CACZ,CAAC;YACF,MAAM,MAAM,GAA8B;gBACxC,EAAE;gBACF,SAAS;gBACT,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM;aAC3C,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,wBAAwB,CAChC,oBAAoB,EACpB,uBAAuB,MAAM,IAAI,YAAY,EAAE,CAChD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6EAA6E;IACrE,KAAK,CAAC,UAAU;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACjF,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAC5B,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,EACxC,gBAAgB,EAChB,WAAW,MAAM,EAAE,CACpB,CAAC;QACF,OAAO;YACL,EAAE,EAAE,MAAM;YACV,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;YACzC,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,UAA0B,EAAE;QACpD,OAAO,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,MAAM,CACf,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,EAC1C,gBAAgB,EAChB,YAAY,MAAM,EAAE,EACpB,IAAI,CAAC,SAAS,EACd,CAAC,CACF,CAAC;YACF,IAAI,OAAO,GAAa,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;gBACjF,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACxD,CAAC;YACD,OAAO;gBACL,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,wBAAwB,CAChC,cAAc,EACd,mDAAmD,MAAM,CAAC,IAAI,CAAC,GAAG,CACnE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,EAAE,IAAI,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,GAAG,MAAM;QAClC,iEAAiE;QACjE,0EAA0E;QAC1E,wEAAwE;QACxE,mBAAmB;QACnB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,MAAM,CAAC;IAClD,CAAC;IAED,iFAAiF;IACzE,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEO,SAAS;QACf,MAAM,GAAG,GAAG,YAAY,CAAiB,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC;IAED,sEAAsE;IAC9D,SAAS;QACf,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,YAAY;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc;YAAE,OAAO;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;IAEO,SAAS;QACf,kEAAkE;QAClE,yEAAyE;QACzE,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE;YAClC,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO;SACG,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}