@indigoai-us/hq-cloud 6.18.44-alpha.8 → 6.18.44

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 (1068) hide show
  1. package/dist/bin/sync-runner-planning.d.ts +12 -0
  2. package/dist/bin/sync-runner-planning.d.ts.map +1 -1
  3. package/dist/bin/sync-runner-planning.js +18 -0
  4. package/dist/bin/sync-runner-planning.js.map +1 -1
  5. package/dist/bin/sync-runner-watch-loop.d.ts +18 -0
  6. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  7. package/dist/bin/sync-runner-watch-loop.js +75 -6
  8. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  9. package/dist/bin/sync-runner.d.ts +22 -1
  10. package/dist/bin/sync-runner.d.ts.map +1 -1
  11. package/dist/bin/sync-runner.js +33 -4
  12. package/dist/bin/sync-runner.js.map +1 -1
  13. package/dist/cli/conflict.d.ts.map +1 -1
  14. package/dist/cli/conflict.js +2 -1
  15. package/dist/cli/conflict.js.map +1 -1
  16. package/dist/cli/rescue-core.d.ts +6 -0
  17. package/dist/cli/rescue-core.d.ts.map +1 -1
  18. package/dist/cli/rescue-core.js +10 -1
  19. package/dist/cli/rescue-core.js.map +1 -1
  20. package/dist/cli/rescue-windows-test-harness.d.ts +19 -0
  21. package/dist/cli/rescue-windows-test-harness.d.ts.map +1 -0
  22. package/dist/cli/rescue-windows-test-harness.js +443 -0
  23. package/dist/cli/rescue-windows-test-harness.js.map +1 -0
  24. package/dist/company-resolver.d.ts +22 -0
  25. package/dist/company-resolver.d.ts.map +1 -1
  26. package/dist/company-resolver.js +1 -1
  27. package/dist/company-resolver.js.map +1 -1
  28. package/dist/ignore.d.ts +4 -1
  29. package/dist/ignore.d.ts.map +1 -1
  30. package/dist/ignore.js +10 -12
  31. package/dist/ignore.js.map +1 -1
  32. package/dist/journal-snapshot-decoder.js +15 -2
  33. package/dist/journal-snapshot-decoder.js.map +1 -1
  34. package/dist/sync/durable-apply.d.ts +2 -0
  35. package/dist/sync/durable-apply.d.ts.map +1 -1
  36. package/dist/sync/durable-apply.js +9 -12
  37. package/dist/sync/durable-apply.js.map +1 -1
  38. package/dist/sync/fsync-compat.d.ts +13 -0
  39. package/dist/sync/fsync-compat.d.ts.map +1 -0
  40. package/dist/sync/fsync-compat.js +33 -0
  41. package/dist/sync/fsync-compat.js.map +1 -0
  42. package/dist/sync/multipart-uploader.d.ts.map +1 -1
  43. package/dist/sync/multipart-uploader.js +2 -1
  44. package/dist/sync/multipart-uploader.js.map +1 -1
  45. package/dist/sync/scope-inventory-client.d.ts.map +1 -1
  46. package/dist/sync/scope-inventory-client.js +7 -2
  47. package/dist/sync/scope-inventory-client.js.map +1 -1
  48. package/dist/telemetry.d.ts +31 -0
  49. package/dist/telemetry.d.ts.map +1 -1
  50. package/dist/telemetry.js +177 -17
  51. package/dist/telemetry.js.map +1 -1
  52. package/dist/usage-company-fallback.d.ts +104 -0
  53. package/dist/usage-company-fallback.d.ts.map +1 -0
  54. package/dist/usage-company-fallback.js +599 -0
  55. package/dist/usage-company-fallback.js.map +1 -0
  56. package/dist/watch-owner-lease.d.ts +3 -0
  57. package/dist/watch-owner-lease.d.ts.map +1 -1
  58. package/dist/watch-owner-lease.js +14 -3
  59. package/dist/watch-owner-lease.js.map +1 -1
  60. package/package.json +2 -2
  61. package/dist/active-company.test.d.ts +0 -2
  62. package/dist/active-company.test.d.ts.map +0 -1
  63. package/dist/active-company.test.js +0 -149
  64. package/dist/active-company.test.js.map +0 -1
  65. package/dist/agent-codex-instructions.test.d.ts +0 -2
  66. package/dist/agent-codex-instructions.test.d.ts.map +0 -1
  67. package/dist/agent-codex-instructions.test.js +0 -271
  68. package/dist/agent-codex-instructions.test.js.map +0 -1
  69. package/dist/backup-prune.test.d.ts +0 -2
  70. package/dist/backup-prune.test.d.ts.map +0 -1
  71. package/dist/backup-prune.test.js +0 -154
  72. package/dist/backup-prune.test.js.map +0 -1
  73. package/dist/bandwidth.test.d.ts +0 -2
  74. package/dist/bandwidth.test.d.ts.map +0 -1
  75. package/dist/bandwidth.test.js +0 -342
  76. package/dist/bandwidth.test.js.map +0 -1
  77. package/dist/best-effort-error.test.d.ts +0 -2
  78. package/dist/best-effort-error.test.d.ts.map +0 -1
  79. package/dist/best-effort-error.test.js +0 -54
  80. package/dist/best-effort-error.test.js.map +0 -1
  81. package/dist/bin/area-ledger-migration.test.d.ts +0 -2
  82. package/dist/bin/area-ledger-migration.test.d.ts.map +0 -1
  83. package/dist/bin/area-ledger-migration.test.js +0 -410
  84. package/dist/bin/area-ledger-migration.test.js.map +0 -1
  85. package/dist/bin/backup-prune-runner.test.d.ts +0 -2
  86. package/dist/bin/backup-prune-runner.test.d.ts.map +0 -1
  87. package/dist/bin/backup-prune-runner.test.js +0 -22
  88. package/dist/bin/backup-prune-runner.test.js.map +0 -1
  89. package/dist/bin/journal-repair.test.d.ts +0 -2
  90. package/dist/bin/journal-repair.test.d.ts.map +0 -1
  91. package/dist/bin/journal-repair.test.js +0 -53
  92. package/dist/bin/journal-repair.test.js.map +0 -1
  93. package/dist/bin/layout-compatibility.test.d.ts +0 -2
  94. package/dist/bin/layout-compatibility.test.d.ts.map +0 -1
  95. package/dist/bin/layout-compatibility.test.js +0 -87
  96. package/dist/bin/layout-compatibility.test.js.map +0 -1
  97. package/dist/bin/outpost-heartbeat.test.d.ts +0 -7
  98. package/dist/bin/outpost-heartbeat.test.d.ts.map +0 -1
  99. package/dist/bin/outpost-heartbeat.test.js +0 -84
  100. package/dist/bin/outpost-heartbeat.test.js.map +0 -1
  101. package/dist/bin/outpost-session-host.test.d.ts +0 -7
  102. package/dist/bin/outpost-session-host.test.d.ts.map +0 -1
  103. package/dist/bin/outpost-session-host.test.js +0 -52
  104. package/dist/bin/outpost-session-host.test.js.map +0 -1
  105. package/dist/bin/sync-mutation.test.d.ts +0 -2
  106. package/dist/bin/sync-mutation.test.d.ts.map +0 -1
  107. package/dist/bin/sync-mutation.test.js +0 -64
  108. package/dist/bin/sync-mutation.test.js.map +0 -1
  109. package/dist/bin/sync-runner-args.test.d.ts +0 -2
  110. package/dist/bin/sync-runner-args.test.d.ts.map +0 -1
  111. package/dist/bin/sync-runner-args.test.js +0 -82
  112. package/dist/bin/sync-runner-args.test.js.map +0 -1
  113. package/dist/bin/sync-runner-auth-wait.test.d.ts +0 -2
  114. package/dist/bin/sync-runner-auth-wait.test.d.ts.map +0 -1
  115. package/dist/bin/sync-runner-auth-wait.test.js +0 -406
  116. package/dist/bin/sync-runner-auth-wait.test.js.map +0 -1
  117. package/dist/bin/sync-runner-backoff.regression.test.d.ts +0 -29
  118. package/dist/bin/sync-runner-backoff.regression.test.d.ts.map +0 -1
  119. package/dist/bin/sync-runner-backoff.regression.test.js +0 -224
  120. package/dist/bin/sync-runner-backoff.regression.test.js.map +0 -1
  121. package/dist/bin/sync-runner-company.test.d.ts +0 -2
  122. package/dist/bin/sync-runner-company.test.d.ts.map +0 -1
  123. package/dist/bin/sync-runner-company.test.js +0 -2439
  124. package/dist/bin/sync-runner-company.test.js.map +0 -1
  125. package/dist/bin/sync-runner-delete-snapshot-mixed.bench.test.d.ts +0 -2
  126. package/dist/bin/sync-runner-delete-snapshot-mixed.bench.test.d.ts.map +0 -1
  127. package/dist/bin/sync-runner-delete-snapshot-mixed.bench.test.js +0 -648
  128. package/dist/bin/sync-runner-delete-snapshot-mixed.bench.test.js.map +0 -1
  129. package/dist/bin/sync-runner-delete-snapshot.bench.test.d.ts +0 -2
  130. package/dist/bin/sync-runner-delete-snapshot.bench.test.d.ts.map +0 -1
  131. package/dist/bin/sync-runner-delete-snapshot.bench.test.js +0 -329
  132. package/dist/bin/sync-runner-delete-snapshot.bench.test.js.map +0 -1
  133. package/dist/bin/sync-runner-events.test.d.ts +0 -2
  134. package/dist/bin/sync-runner-events.test.d.ts.map +0 -1
  135. package/dist/bin/sync-runner-events.test.js +0 -364
  136. package/dist/bin/sync-runner-events.test.js.map +0 -1
  137. package/dist/bin/sync-runner-heap-telemetry.test.d.ts +0 -2
  138. package/dist/bin/sync-runner-heap-telemetry.test.d.ts.map +0 -1
  139. package/dist/bin/sync-runner-heap-telemetry.test.js +0 -1966
  140. package/dist/bin/sync-runner-heap-telemetry.test.js.map +0 -1
  141. package/dist/bin/sync-runner-manifest.test.d.ts +0 -12
  142. package/dist/bin/sync-runner-manifest.test.d.ts.map +0 -1
  143. package/dist/bin/sync-runner-manifest.test.js +0 -921
  144. package/dist/bin/sync-runner-manifest.test.js.map +0 -1
  145. package/dist/bin/sync-runner-planning.test.d.ts +0 -2
  146. package/dist/bin/sync-runner-planning.test.d.ts.map +0 -1
  147. package/dist/bin/sync-runner-planning.test.js +0 -448
  148. package/dist/bin/sync-runner-planning.test.js.map +0 -1
  149. package/dist/bin/sync-runner-post-sync-flags.test.d.ts +0 -2
  150. package/dist/bin/sync-runner-post-sync-flags.test.d.ts.map +0 -1
  151. package/dist/bin/sync-runner-post-sync-flags.test.js +0 -64
  152. package/dist/bin/sync-runner-post-sync-flags.test.js.map +0 -1
  153. package/dist/bin/sync-runner-publish-expansion.test.d.ts +0 -2
  154. package/dist/bin/sync-runner-publish-expansion.test.d.ts.map +0 -1
  155. package/dist/bin/sync-runner-publish-expansion.test.js +0 -54
  156. package/dist/bin/sync-runner-publish-expansion.test.js.map +0 -1
  157. package/dist/bin/sync-runner-receiver-unresolved-company.test.d.ts +0 -2
  158. package/dist/bin/sync-runner-receiver-unresolved-company.test.d.ts.map +0 -1
  159. package/dist/bin/sync-runner-receiver-unresolved-company.test.js +0 -379
  160. package/dist/bin/sync-runner-receiver-unresolved-company.test.js.map +0 -1
  161. package/dist/bin/sync-runner-rollup.test.d.ts +0 -2
  162. package/dist/bin/sync-runner-rollup.test.d.ts.map +0 -1
  163. package/dist/bin/sync-runner-rollup.test.js +0 -24
  164. package/dist/bin/sync-runner-rollup.test.js.map +0 -1
  165. package/dist/bin/sync-runner-watch-loop.test.d.ts +0 -2
  166. package/dist/bin/sync-runner-watch-loop.test.d.ts.map +0 -1
  167. package/dist/bin/sync-runner-watch-loop.test.js +0 -734
  168. package/dist/bin/sync-runner-watch-loop.test.js.map +0 -1
  169. package/dist/bin/sync-runner-watch-routes.test.d.ts +0 -2
  170. package/dist/bin/sync-runner-watch-routes.test.d.ts.map +0 -1
  171. package/dist/bin/sync-runner-watch-routes.test.js +0 -181
  172. package/dist/bin/sync-runner-watch-routes.test.js.map +0 -1
  173. package/dist/bin/sync-runner.test.d.ts +0 -10
  174. package/dist/bin/sync-runner.test.d.ts.map +0 -1
  175. package/dist/bin/sync-runner.test.js +0 -18984
  176. package/dist/bin/sync-runner.test.js.map +0 -1
  177. package/dist/cli/case-alias.test.d.ts +0 -2
  178. package/dist/cli/case-alias.test.d.ts.map +0 -1
  179. package/dist/cli/case-alias.test.js +0 -96
  180. package/dist/cli/case-alias.test.js.map +0 -1
  181. package/dist/cli/conflict-recovery.test.d.ts +0 -2
  182. package/dist/cli/conflict-recovery.test.d.ts.map +0 -1
  183. package/dist/cli/conflict-recovery.test.js +0 -201
  184. package/dist/cli/conflict-recovery.test.js.map +0 -1
  185. package/dist/cli/conflict-winner.test.d.ts +0 -7
  186. package/dist/cli/conflict-winner.test.d.ts.map +0 -1
  187. package/dist/cli/conflict-winner.test.js +0 -98
  188. package/dist/cli/conflict-winner.test.js.map +0 -1
  189. package/dist/cli/doctor.test.d.ts +0 -13
  190. package/dist/cli/doctor.test.d.ts.map +0 -1
  191. package/dist/cli/doctor.test.js +0 -607
  192. package/dist/cli/doctor.test.js.map +0 -1
  193. package/dist/cli/invite.test.d.ts +0 -5
  194. package/dist/cli/invite.test.d.ts.map +0 -1
  195. package/dist/cli/invite.test.js +0 -178
  196. package/dist/cli/invite.test.js.map +0 -1
  197. package/dist/cli/onepass-pull-planner-regressions.test.d.ts +0 -2
  198. package/dist/cli/onepass-pull-planner-regressions.test.d.ts.map +0 -1
  199. package/dist/cli/onepass-pull-planner-regressions.test.js +0 -300
  200. package/dist/cli/onepass-pull-planner-regressions.test.js.map +0 -1
  201. package/dist/cli/onepass-pull-planner.test.d.ts +0 -2
  202. package/dist/cli/onepass-pull-planner.test.d.ts.map +0 -1
  203. package/dist/cli/onepass-pull-planner.test.js +0 -266
  204. package/dist/cli/onepass-pull-planner.test.js.map +0 -1
  205. package/dist/cli/push-scan-exclusions.test.d.ts +0 -2
  206. package/dist/cli/push-scan-exclusions.test.d.ts.map +0 -1
  207. package/dist/cli/push-scan-exclusions.test.js +0 -99
  208. package/dist/cli/push-scan-exclusions.test.js.map +0 -1
  209. package/dist/cli/reindex-knowledge.test.d.ts +0 -12
  210. package/dist/cli/reindex-knowledge.test.d.ts.map +0 -1
  211. package/dist/cli/reindex-knowledge.test.js +0 -260
  212. package/dist/cli/reindex-knowledge.test.js.map +0 -1
  213. package/dist/cli/reindex.test.d.ts +0 -11
  214. package/dist/cli/reindex.test.d.ts.map +0 -1
  215. package/dist/cli/reindex.test.js +0 -811
  216. package/dist/cli/reindex.test.js.map +0 -1
  217. package/dist/cli/rescue-breaker.test.d.ts +0 -2
  218. package/dist/cli/rescue-breaker.test.d.ts.map +0 -1
  219. package/dist/cli/rescue-breaker.test.js +0 -812
  220. package/dist/cli/rescue-breaker.test.js.map +0 -1
  221. package/dist/cli/rescue-classify-ordering.test.d.ts +0 -2
  222. package/dist/cli/rescue-classify-ordering.test.d.ts.map +0 -1
  223. package/dist/cli/rescue-classify-ordering.test.js +0 -500
  224. package/dist/cli/rescue-classify-ordering.test.js.map +0 -1
  225. package/dist/cli/rescue-clone-diagnostics.test.d.ts +0 -2
  226. package/dist/cli/rescue-clone-diagnostics.test.d.ts.map +0 -1
  227. package/dist/cli/rescue-clone-diagnostics.test.js +0 -101
  228. package/dist/cli/rescue-clone-diagnostics.test.js.map +0 -1
  229. package/dist/cli/rescue-clone-network-retry.test.d.ts +0 -2
  230. package/dist/cli/rescue-clone-network-retry.test.d.ts.map +0 -1
  231. package/dist/cli/rescue-clone-network-retry.test.js +0 -415
  232. package/dist/cli/rescue-clone-network-retry.test.js.map +0 -1
  233. package/dist/cli/rescue-core-stamp.test.d.ts +0 -2
  234. package/dist/cli/rescue-core-stamp.test.d.ts.map +0 -1
  235. package/dist/cli/rescue-core-stamp.test.js +0 -364
  236. package/dist/cli/rescue-core-stamp.test.js.map +0 -1
  237. package/dist/cli/rescue-drift-reconcile.test.d.ts +0 -2
  238. package/dist/cli/rescue-drift-reconcile.test.d.ts.map +0 -1
  239. package/dist/cli/rescue-drift-reconcile.test.js +0 -162
  240. package/dist/cli/rescue-drift-reconcile.test.js.map +0 -1
  241. package/dist/cli/rescue-drop-dir-symlink.test.d.ts +0 -2
  242. package/dist/cli/rescue-drop-dir-symlink.test.d.ts.map +0 -1
  243. package/dist/cli/rescue-drop-dir-symlink.test.js +0 -255
  244. package/dist/cli/rescue-drop-dir-symlink.test.js.map +0 -1
  245. package/dist/cli/rescue-exec-bit-preserve.test.d.ts +0 -2
  246. package/dist/cli/rescue-exec-bit-preserve.test.d.ts.map +0 -1
  247. package/dist/cli/rescue-exec-bit-preserve.test.js +0 -177
  248. package/dist/cli/rescue-exec-bit-preserve.test.js.map +0 -1
  249. package/dist/cli/rescue-hq-root-guard.test.d.ts +0 -2
  250. package/dist/cli/rescue-hq-root-guard.test.d.ts.map +0 -1
  251. package/dist/cli/rescue-hq-root-guard.test.js +0 -210
  252. package/dist/cli/rescue-hq-root-guard.test.js.map +0 -1
  253. package/dist/cli/rescue-journal-reconcile.test.d.ts +0 -2
  254. package/dist/cli/rescue-journal-reconcile.test.d.ts.map +0 -1
  255. package/dist/cli/rescue-journal-reconcile.test.js +0 -186
  256. package/dist/cli/rescue-journal-reconcile.test.js.map +0 -1
  257. package/dist/cli/rescue-keep-local-ignore.test.d.ts +0 -2
  258. package/dist/cli/rescue-keep-local-ignore.test.d.ts.map +0 -1
  259. package/dist/cli/rescue-keep-local-ignore.test.js +0 -315
  260. package/dist/cli/rescue-keep-local-ignore.test.js.map +0 -1
  261. package/dist/cli/rescue-move.test.d.ts +0 -2
  262. package/dist/cli/rescue-move.test.d.ts.map +0 -1
  263. package/dist/cli/rescue-move.test.js +0 -166
  264. package/dist/cli/rescue-move.test.js.map +0 -1
  265. package/dist/cli/rescue-mtime-preserve.test.d.ts +0 -2
  266. package/dist/cli/rescue-mtime-preserve.test.d.ts.map +0 -1
  267. package/dist/cli/rescue-mtime-preserve.test.js +0 -186
  268. package/dist/cli/rescue-mtime-preserve.test.js.map +0 -1
  269. package/dist/cli/rescue-preserve-copy-symlink.test.d.ts +0 -2
  270. package/dist/cli/rescue-preserve-copy-symlink.test.d.ts.map +0 -1
  271. package/dist/cli/rescue-preserve-copy-symlink.test.js +0 -483
  272. package/dist/cli/rescue-preserve-copy-symlink.test.js.map +0 -1
  273. package/dist/cli/rescue-realpath.test.d.ts +0 -2
  274. package/dist/cli/rescue-realpath.test.d.ts.map +0 -1
  275. package/dist/cli/rescue-realpath.test.js +0 -109
  276. package/dist/cli/rescue-realpath.test.js.map +0 -1
  277. package/dist/cli/rescue-restore-flag.test.d.ts +0 -2
  278. package/dist/cli/rescue-restore-flag.test.d.ts.map +0 -1
  279. package/dist/cli/rescue-restore-flag.test.js +0 -82
  280. package/dist/cli/rescue-restore-flag.test.js.map +0 -1
  281. package/dist/cli/rescue-rsync-preflight.test.d.ts +0 -2
  282. package/dist/cli/rescue-rsync-preflight.test.d.ts.map +0 -1
  283. package/dist/cli/rescue-rsync-preflight.test.js +0 -579
  284. package/dist/cli/rescue-rsync-preflight.test.js.map +0 -1
  285. package/dist/cli/rescue-rsync-status.test.d.ts +0 -2
  286. package/dist/cli/rescue-rsync-status.test.d.ts.map +0 -1
  287. package/dist/cli/rescue-rsync-status.test.js +0 -406
  288. package/dist/cli/rescue-rsync-status.test.js.map +0 -1
  289. package/dist/cli/rescue-settings-reconcile.test.d.ts +0 -2
  290. package/dist/cli/rescue-settings-reconcile.test.d.ts.map +0 -1
  291. package/dist/cli/rescue-settings-reconcile.test.js +0 -610
  292. package/dist/cli/rescue-settings-reconcile.test.js.map +0 -1
  293. package/dist/cli/rescue-snapshot-copy.test.d.ts +0 -2
  294. package/dist/cli/rescue-snapshot-copy.test.d.ts.map +0 -1
  295. package/dist/cli/rescue-snapshot-copy.test.js +0 -790
  296. package/dist/cli/rescue-snapshot-copy.test.js.map +0 -1
  297. package/dist/cli/rescue-snapshot-recovery.test.d.ts +0 -2
  298. package/dist/cli/rescue-snapshot-recovery.test.d.ts.map +0 -1
  299. package/dist/cli/rescue-snapshot-recovery.test.js +0 -265
  300. package/dist/cli/rescue-snapshot-recovery.test.js.map +0 -1
  301. package/dist/cli/rescue-snapshot.test.d.ts +0 -2
  302. package/dist/cli/rescue-snapshot.test.d.ts.map +0 -1
  303. package/dist/cli/rescue-snapshot.test.js +0 -46
  304. package/dist/cli/rescue-snapshot.test.js.map +0 -1
  305. package/dist/cli/rescue-source-switch-floor.test.d.ts +0 -2
  306. package/dist/cli/rescue-source-switch-floor.test.d.ts.map +0 -1
  307. package/dist/cli/rescue-source-switch-floor.test.js +0 -247
  308. package/dist/cli/rescue-source-switch-floor.test.js.map +0 -1
  309. package/dist/cli/rescue-unchanged-delete.test.d.ts +0 -2
  310. package/dist/cli/rescue-unchanged-delete.test.d.ts.map +0 -1
  311. package/dist/cli/rescue-unchanged-delete.test.js +0 -305
  312. package/dist/cli/rescue-unchanged-delete.test.js.map +0 -1
  313. package/dist/cli/rescue.reindex.test.d.ts +0 -2
  314. package/dist/cli/rescue.reindex.test.d.ts.map +0 -1
  315. package/dist/cli/rescue.reindex.test.js +0 -72
  316. package/dist/cli/rescue.reindex.test.js.map +0 -1
  317. package/dist/cli/rescue.test.d.ts +0 -2
  318. package/dist/cli/rescue.test.d.ts.map +0 -1
  319. package/dist/cli/rescue.test.js +0 -127
  320. package/dist/cli/rescue.test.js.map +0 -1
  321. package/dist/cli/share-plan-limit-presign.test.d.ts +0 -2
  322. package/dist/cli/share-plan-limit-presign.test.d.ts.map +0 -1
  323. package/dist/cli/share-plan-limit-presign.test.js +0 -271
  324. package/dist/cli/share-plan-limit-presign.test.js.map +0 -1
  325. package/dist/cli/share-presign-transport.test.d.ts +0 -22
  326. package/dist/cli/share-presign-transport.test.d.ts.map +0 -1
  327. package/dist/cli/share-presign-transport.test.js +0 -388
  328. package/dist/cli/share-presign-transport.test.js.map +0 -1
  329. package/dist/cli/share.test.d.ts +0 -5
  330. package/dist/cli/share.test.d.ts.map +0 -1
  331. package/dist/cli/share.test.js +0 -12335
  332. package/dist/cli/share.test.js.map +0 -1
  333. package/dist/cli/streaming-pull-planner.bench.test.d.ts +0 -15
  334. package/dist/cli/streaming-pull-planner.bench.test.d.ts.map +0 -1
  335. package/dist/cli/streaming-pull-planner.bench.test.js +0 -273
  336. package/dist/cli/streaming-pull-planner.bench.test.js.map +0 -1
  337. package/dist/cli/sync-scope.test.d.ts +0 -22
  338. package/dist/cli/sync-scope.test.d.ts.map +0 -1
  339. package/dist/cli/sync-scope.test.js +0 -903
  340. package/dist/cli/sync-scope.test.js.map +0 -1
  341. package/dist/cli/sync.test.d.ts +0 -5
  342. package/dist/cli/sync.test.d.ts.map +0 -1
  343. package/dist/cli/sync.test.js +0 -9028
  344. package/dist/cli/sync.test.js.map +0 -1
  345. package/dist/cli/tombstones.test.d.ts +0 -2
  346. package/dist/cli/tombstones.test.d.ts.map +0 -1
  347. package/dist/cli/tombstones.test.js +0 -120
  348. package/dist/cli/tombstones.test.js.map +0 -1
  349. package/dist/cli/watch-event-push-conflict.test.d.ts +0 -25
  350. package/dist/cli/watch-event-push-conflict.test.d.ts.map +0 -1
  351. package/dist/cli/watch-event-push-conflict.test.js +0 -230
  352. package/dist/cli/watch-event-push-conflict.test.js.map +0 -1
  353. package/dist/client-info.test.d.ts +0 -11
  354. package/dist/client-info.test.d.ts.map +0 -1
  355. package/dist/client-info.test.js +0 -168
  356. package/dist/client-info.test.js.map +0 -1
  357. package/dist/cognito-auth-lock-no-hard-links.test.d.ts +0 -11
  358. package/dist/cognito-auth-lock-no-hard-links.test.d.ts.map +0 -1
  359. package/dist/cognito-auth-lock-no-hard-links.test.js +0 -76
  360. package/dist/cognito-auth-lock-no-hard-links.test.js.map +0 -1
  361. package/dist/cognito-auth.test.d.ts +0 -9
  362. package/dist/cognito-auth.test.d.ts.map +0 -1
  363. package/dist/cognito-auth.test.js +0 -745
  364. package/dist/cognito-auth.test.js.map +0 -1
  365. package/dist/company-resolver.test.d.ts +0 -7
  366. package/dist/company-resolver.test.d.ts.map +0 -1
  367. package/dist/company-resolver.test.js +0 -533
  368. package/dist/company-resolver.test.js.map +0 -1
  369. package/dist/company-slug.test.d.ts +0 -7
  370. package/dist/company-slug.test.d.ts.map +0 -1
  371. package/dist/company-slug.test.js +0 -43
  372. package/dist/company-slug.test.js.map +0 -1
  373. package/dist/company-vault-transport.test.d.ts +0 -12
  374. package/dist/company-vault-transport.test.d.ts.map +0 -1
  375. package/dist/company-vault-transport.test.js +0 -97
  376. package/dist/company-vault-transport.test.js.map +0 -1
  377. package/dist/context.test.d.ts +0 -7
  378. package/dist/context.test.d.ts.map +0 -1
  379. package/dist/context.test.js +0 -646
  380. package/dist/context.test.js.map +0 -1
  381. package/dist/entity-resolver.test.d.ts +0 -10
  382. package/dist/entity-resolver.test.d.ts.map +0 -1
  383. package/dist/entity-resolver.test.js +0 -244
  384. package/dist/entity-resolver.test.js.map +0 -1
  385. package/dist/getindigo-dead-refs-contract.test.d.ts +0 -2
  386. package/dist/getindigo-dead-refs-contract.test.d.ts.map +0 -1
  387. package/dist/getindigo-dead-refs-contract.test.js +0 -58
  388. package/dist/getindigo-dead-refs-contract.test.js.map +0 -1
  389. package/dist/hermetic-test-env.test.d.ts +0 -2
  390. package/dist/hermetic-test-env.test.d.ts.map +0 -1
  391. package/dist/hermetic-test-env.test.js +0 -61
  392. package/dist/hermetic-test-env.test.js.map +0 -1
  393. package/dist/hq-root-recovery.test.d.ts +0 -2
  394. package/dist/hq-root-recovery.test.d.ts.map +0 -1
  395. package/dist/hq-root-recovery.test.js +0 -65
  396. package/dist/hq-root-recovery.test.js.map +0 -1
  397. package/dist/ignore.test.d.ts +0 -10
  398. package/dist/ignore.test.d.ts.map +0 -1
  399. package/dist/ignore.test.js +0 -926
  400. package/dist/ignore.test.js.map +0 -1
  401. package/dist/index.test.d.ts +0 -2
  402. package/dist/index.test.d.ts.map +0 -1
  403. package/dist/index.test.js +0 -26
  404. package/dist/index.test.js.map +0 -1
  405. package/dist/journal-area-ledger-read-boundary.test.d.ts +0 -2
  406. package/dist/journal-area-ledger-read-boundary.test.d.ts.map +0 -1
  407. package/dist/journal-area-ledger-read-boundary.test.js +0 -420
  408. package/dist/journal-area-ledger-read-boundary.test.js.map +0 -1
  409. package/dist/journal-baseline.test.d.ts +0 -2
  410. package/dist/journal-baseline.test.d.ts.map +0 -1
  411. package/dist/journal-baseline.test.js +0 -218
  412. package/dist/journal-baseline.test.js.map +0 -1
  413. package/dist/journal-decode-window.test.d.ts +0 -2
  414. package/dist/journal-decode-window.test.d.ts.map +0 -1
  415. package/dist/journal-decode-window.test.js +0 -99
  416. package/dist/journal-decode-window.test.js.map +0 -1
  417. package/dist/journal-delta-writes.test.d.ts +0 -2
  418. package/dist/journal-delta-writes.test.d.ts.map +0 -1
  419. package/dist/journal-delta-writes.test.js +0 -159
  420. package/dist/journal-delta-writes.test.js.map +0 -1
  421. package/dist/journal-ledger-index.test.d.ts +0 -15
  422. package/dist/journal-ledger-index.test.d.ts.map +0 -1
  423. package/dist/journal-ledger-index.test.js +0 -269
  424. package/dist/journal-ledger-index.test.js.map +0 -1
  425. package/dist/journal-public-boundary.test.d.ts +0 -2
  426. package/dist/journal-public-boundary.test.d.ts.map +0 -1
  427. package/dist/journal-public-boundary.test.js +0 -216
  428. package/dist/journal-public-boundary.test.js.map +0 -1
  429. package/dist/journal-row-store.test.d.ts +0 -2
  430. package/dist/journal-row-store.test.d.ts.map +0 -1
  431. package/dist/journal-row-store.test.js +0 -729
  432. package/dist/journal-row-store.test.js.map +0 -1
  433. package/dist/journal-snapshot-memory-helpers.d.ts +0 -33
  434. package/dist/journal-snapshot-memory-helpers.d.ts.map +0 -1
  435. package/dist/journal-snapshot-memory-helpers.js +0 -212
  436. package/dist/journal-snapshot-memory-helpers.js.map +0 -1
  437. package/dist/journal-snapshot-memory.test.d.ts +0 -2
  438. package/dist/journal-snapshot-memory.test.d.ts.map +0 -1
  439. package/dist/journal-snapshot-memory.test.js +0 -47
  440. package/dist/journal-snapshot-memory.test.js.map +0 -1
  441. package/dist/journal-snapshot-v4-memory.test.d.ts +0 -2
  442. package/dist/journal-snapshot-v4-memory.test.d.ts.map +0 -1
  443. package/dist/journal-snapshot-v4-memory.test.js +0 -24
  444. package/dist/journal-snapshot-v4-memory.test.js.map +0 -1
  445. package/dist/journal-snapshot-v4-writer-memory.test.d.ts +0 -2
  446. package/dist/journal-snapshot-v4-writer-memory.test.d.ts.map +0 -1
  447. package/dist/journal-snapshot-v4-writer-memory.test.js +0 -76
  448. package/dist/journal-snapshot-v4-writer-memory.test.js.map +0 -1
  449. package/dist/journal-snapshot-v4-writer.test.d.ts +0 -2
  450. package/dist/journal-snapshot-v4-writer.test.d.ts.map +0 -1
  451. package/dist/journal-snapshot-v4-writer.test.js +0 -282
  452. package/dist/journal-snapshot-v4-writer.test.js.map +0 -1
  453. package/dist/journal-snapshot-v4.test.d.ts +0 -2
  454. package/dist/journal-snapshot-v4.test.d.ts.map +0 -1
  455. package/dist/journal-snapshot-v4.test.js +0 -281
  456. package/dist/journal-snapshot-v4.test.js.map +0 -1
  457. package/dist/journal-store.test.d.ts +0 -2
  458. package/dist/journal-store.test.d.ts.map +0 -1
  459. package/dist/journal-store.test.js +0 -1227
  460. package/dist/journal-store.test.js.map +0 -1
  461. package/dist/journal-streaming.heap.test.d.ts +0 -2
  462. package/dist/journal-streaming.heap.test.d.ts.map +0 -1
  463. package/dist/journal-streaming.heap.test.js +0 -190
  464. package/dist/journal-streaming.heap.test.js.map +0 -1
  465. package/dist/journal.test.d.ts +0 -9
  466. package/dist/journal.test.d.ts.map +0 -1
  467. package/dist/journal.test.js +0 -1074
  468. package/dist/journal.test.js.map +0 -1
  469. package/dist/kms10-etag-safe-pull.test.d.ts +0 -2
  470. package/dist/kms10-etag-safe-pull.test.d.ts.map +0 -1
  471. package/dist/kms10-etag-safe-pull.test.js +0 -53
  472. package/dist/kms10-etag-safe-pull.test.js.map +0 -1
  473. package/dist/lib/cloud-authoritative.test.d.ts +0 -2
  474. package/dist/lib/cloud-authoritative.test.d.ts.map +0 -1
  475. package/dist/lib/cloud-authoritative.test.js +0 -42
  476. package/dist/lib/cloud-authoritative.test.js.map +0 -1
  477. package/dist/lib/conflict-reconcile.test.d.ts +0 -7
  478. package/dist/lib/conflict-reconcile.test.d.ts.map +0 -1
  479. package/dist/lib/conflict-reconcile.test.js +0 -246
  480. package/dist/lib/conflict-reconcile.test.js.map +0 -1
  481. package/dist/lib/conflict.test.d.ts +0 -9
  482. package/dist/lib/conflict.test.d.ts.map +0 -1
  483. package/dist/lib/conflict.test.js +0 -340
  484. package/dist/lib/conflict.test.js.map +0 -1
  485. package/dist/lib/describe-error.test.d.ts +0 -2
  486. package/dist/lib/describe-error.test.d.ts.map +0 -1
  487. package/dist/lib/describe-error.test.js +0 -148
  488. package/dist/lib/describe-error.test.js.map +0 -1
  489. package/dist/lib/machine-id.test.d.ts +0 -8
  490. package/dist/lib/machine-id.test.d.ts.map +0 -1
  491. package/dist/lib/machine-id.test.js +0 -228
  492. package/dist/lib/machine-id.test.js.map +0 -1
  493. package/dist/lib/net-errors.test.d.ts +0 -2
  494. package/dist/lib/net-errors.test.d.ts.map +0 -1
  495. package/dist/lib/net-errors.test.js +0 -111
  496. package/dist/lib/net-errors.test.js.map +0 -1
  497. package/dist/lib/ontology-entity-meta.test.d.ts +0 -2
  498. package/dist/lib/ontology-entity-meta.test.d.ts.map +0 -1
  499. package/dist/lib/ontology-entity-meta.test.js +0 -79
  500. package/dist/lib/ontology-entity-meta.test.js.map +0 -1
  501. package/dist/lib/ontology-entity-push.test.d.ts +0 -2
  502. package/dist/lib/ontology-entity-push.test.d.ts.map +0 -1
  503. package/dist/lib/ontology-entity-push.test.js +0 -156
  504. package/dist/lib/ontology-entity-push.test.js.map +0 -1
  505. package/dist/lib/personal-connector-settings-sync.test.d.ts +0 -2
  506. package/dist/lib/personal-connector-settings-sync.test.d.ts.map +0 -1
  507. package/dist/lib/personal-connector-settings-sync.test.js +0 -34
  508. package/dist/lib/personal-connector-settings-sync.test.js.map +0 -1
  509. package/dist/lib/readlink-safe.test.d.ts +0 -2
  510. package/dist/lib/readlink-safe.test.d.ts.map +0 -1
  511. package/dist/lib/readlink-safe.test.js +0 -34
  512. package/dist/lib/readlink-safe.test.js.map +0 -1
  513. package/dist/lib/s3-content-checksum.test.d.ts +0 -2
  514. package/dist/lib/s3-content-checksum.test.d.ts.map +0 -1
  515. package/dist/lib/s3-content-checksum.test.js +0 -26
  516. package/dist/lib/s3-content-checksum.test.js.map +0 -1
  517. package/dist/lib/skill-register-landed-bytes.test.d.ts +0 -2
  518. package/dist/lib/skill-register-landed-bytes.test.d.ts.map +0 -1
  519. package/dist/lib/skill-register-landed-bytes.test.js +0 -83
  520. package/dist/lib/skill-register-landed-bytes.test.js.map +0 -1
  521. package/dist/local-path-codec.test.d.ts +0 -14
  522. package/dist/local-path-codec.test.d.ts.map +0 -1
  523. package/dist/local-path-codec.test.js +0 -122
  524. package/dist/local-path-codec.test.js.map +0 -1
  525. package/dist/machine-auth.test.d.ts +0 -14
  526. package/dist/machine-auth.test.d.ts.map +0 -1
  527. package/dist/machine-auth.test.js +0 -1482
  528. package/dist/machine-auth.test.js.map +0 -1
  529. package/dist/machine-token-cache-isolation.test.d.ts +0 -24
  530. package/dist/machine-token-cache-isolation.test.d.ts.map +0 -1
  531. package/dist/machine-token-cache-isolation.test.js +0 -284
  532. package/dist/machine-token-cache-isolation.test.js.map +0 -1
  533. package/dist/manifest/US-002.acceptance.test.d.ts +0 -11
  534. package/dist/manifest/US-002.acceptance.test.d.ts.map +0 -1
  535. package/dist/manifest/US-002.acceptance.test.js +0 -160
  536. package/dist/manifest/US-002.acceptance.test.js.map +0 -1
  537. package/dist/manifest/US-004.acceptance.test.d.ts +0 -12
  538. package/dist/manifest/US-004.acceptance.test.d.ts.map +0 -1
  539. package/dist/manifest/US-004.acceptance.test.js +0 -173
  540. package/dist/manifest/US-004.acceptance.test.js.map +0 -1
  541. package/dist/manifest/build-manifest-resident-parity.test.d.ts +0 -2
  542. package/dist/manifest/build-manifest-resident-parity.test.d.ts.map +0 -1
  543. package/dist/manifest/build-manifest-resident-parity.test.js +0 -69
  544. package/dist/manifest/build-manifest-resident-parity.test.js.map +0 -1
  545. package/dist/manifest/build-manifest.bench.test.d.ts +0 -22
  546. package/dist/manifest/build-manifest.bench.test.d.ts.map +0 -1
  547. package/dist/manifest/build-manifest.bench.test.js +0 -930
  548. package/dist/manifest/build-manifest.bench.test.js.map +0 -1
  549. package/dist/manifest/build-manifest.test.d.ts +0 -10
  550. package/dist/manifest/build-manifest.test.d.ts.map +0 -1
  551. package/dist/manifest/build-manifest.test.js +0 -1217
  552. package/dist/manifest/build-manifest.test.js.map +0 -1
  553. package/dist/manifest/contract.test.d.ts +0 -17
  554. package/dist/manifest/contract.test.d.ts.map +0 -1
  555. package/dist/manifest/contract.test.js +0 -346
  556. package/dist/manifest/contract.test.js.map +0 -1
  557. package/dist/manifest/import-graph.test.d.ts +0 -25
  558. package/dist/manifest/import-graph.test.d.ts.map +0 -1
  559. package/dist/manifest/import-graph.test.js +0 -120
  560. package/dist/manifest/import-graph.test.js.map +0 -1
  561. package/dist/manifest/ledger-shard-isolation.test.d.ts +0 -18
  562. package/dist/manifest/ledger-shard-isolation.test.d.ts.map +0 -1
  563. package/dist/manifest/ledger-shard-isolation.test.js +0 -153
  564. package/dist/manifest/ledger-shard-isolation.test.js.map +0 -1
  565. package/dist/manifest/snapshot-store.test.d.ts +0 -11
  566. package/dist/manifest/snapshot-store.test.d.ts.map +0 -1
  567. package/dist/manifest/snapshot-store.test.js +0 -206
  568. package/dist/manifest/snapshot-store.test.js.map +0 -1
  569. package/dist/manifest/upload-manifest.test.d.ts +0 -10
  570. package/dist/manifest/upload-manifest.test.d.ts.map +0 -1
  571. package/dist/manifest/upload-manifest.test.js +0 -1335
  572. package/dist/manifest/upload-manifest.test.js.map +0 -1
  573. package/dist/manifest-reconcile.test.d.ts +0 -2
  574. package/dist/manifest-reconcile.test.d.ts.map +0 -1
  575. package/dist/manifest-reconcile.test.js +0 -1029
  576. package/dist/manifest-reconcile.test.js.map +0 -1
  577. package/dist/object-io.test.d.ts +0 -11
  578. package/dist/object-io.test.d.ts.map +0 -1
  579. package/dist/object-io.test.js +0 -2376
  580. package/dist/object-io.test.js.map +0 -1
  581. package/dist/operation-lock.test.d.ts +0 -5
  582. package/dist/operation-lock.test.d.ts.map +0 -1
  583. package/dist/operation-lock.test.js +0 -796
  584. package/dist/operation-lock.test.js.map +0 -1
  585. package/dist/outcome-telemetry.test.d.ts +0 -9
  586. package/dist/outcome-telemetry.test.d.ts.map +0 -1
  587. package/dist/outcome-telemetry.test.js +0 -663
  588. package/dist/outcome-telemetry.test.js.map +0 -1
  589. package/dist/outposts/client.test.d.ts +0 -9
  590. package/dist/outposts/client.test.d.ts.map +0 -1
  591. package/dist/outposts/client.test.js +0 -415
  592. package/dist/outposts/client.test.js.map +0 -1
  593. package/dist/outposts/command.test.d.ts +0 -18
  594. package/dist/outposts/command.test.d.ts.map +0 -1
  595. package/dist/outposts/command.test.js +0 -1230
  596. package/dist/outposts/command.test.js.map +0 -1
  597. package/dist/outposts/replica-sync.test.d.ts +0 -2
  598. package/dist/outposts/replica-sync.test.d.ts.map +0 -1
  599. package/dist/outposts/replica-sync.test.js +0 -224
  600. package/dist/outposts/replica-sync.test.js.map +0 -1
  601. package/dist/outposts/self-deploy.test.d.ts +0 -2
  602. package/dist/outposts/self-deploy.test.d.ts.map +0 -1
  603. package/dist/outposts/self-deploy.test.js +0 -218
  604. package/dist/outposts/self-deploy.test.js.map +0 -1
  605. package/dist/outposts/session-heartbeat-bounds.test.d.ts +0 -25
  606. package/dist/outposts/session-heartbeat-bounds.test.d.ts.map +0 -1
  607. package/dist/outposts/session-heartbeat-bounds.test.js +0 -156
  608. package/dist/outposts/session-heartbeat-bounds.test.js.map +0 -1
  609. package/dist/outposts/session-heartbeat-guard.test.d.ts +0 -16
  610. package/dist/outposts/session-heartbeat-guard.test.d.ts.map +0 -1
  611. package/dist/outposts/session-heartbeat-guard.test.js +0 -88
  612. package/dist/outposts/session-heartbeat-guard.test.js.map +0 -1
  613. package/dist/outposts/session-heartbeat-publisher.test.d.ts +0 -10
  614. package/dist/outposts/session-heartbeat-publisher.test.d.ts.map +0 -1
  615. package/dist/outposts/session-heartbeat-publisher.test.js +0 -153
  616. package/dist/outposts/session-heartbeat-publisher.test.js.map +0 -1
  617. package/dist/outposts/session-heartbeat-retain-guard.test.d.ts +0 -18
  618. package/dist/outposts/session-heartbeat-retain-guard.test.d.ts.map +0 -1
  619. package/dist/outposts/session-heartbeat-retain-guard.test.js +0 -106
  620. package/dist/outposts/session-heartbeat-retain-guard.test.js.map +0 -1
  621. package/dist/outposts/session-heartbeat-scan.test.d.ts +0 -20
  622. package/dist/outposts/session-heartbeat-scan.test.d.ts.map +0 -1
  623. package/dist/outposts/session-heartbeat-scan.test.js +0 -241
  624. package/dist/outposts/session-heartbeat-scan.test.js.map +0 -1
  625. package/dist/outposts/session-heartbeat.test.d.ts +0 -11
  626. package/dist/outposts/session-heartbeat.test.d.ts.map +0 -1
  627. package/dist/outposts/session-heartbeat.test.js +0 -370
  628. package/dist/outposts/session-heartbeat.test.js.map +0 -1
  629. package/dist/outposts/session-host-auth.test.d.ts +0 -16
  630. package/dist/outposts/session-host-auth.test.d.ts.map +0 -1
  631. package/dist/outposts/session-host-auth.test.js +0 -284
  632. package/dist/outposts/session-host-auth.test.js.map +0 -1
  633. package/dist/outposts/session-host-command.test.d.ts +0 -10
  634. package/dist/outposts/session-host-command.test.d.ts.map +0 -1
  635. package/dist/outposts/session-host-command.test.js +0 -180
  636. package/dist/outposts/session-host-command.test.js.map +0 -1
  637. package/dist/outposts/session-host-connection.test.d.ts +0 -18
  638. package/dist/outposts/session-host-connection.test.d.ts.map +0 -1
  639. package/dist/outposts/session-host-connection.test.js +0 -392
  640. package/dist/outposts/session-host-connection.test.js.map +0 -1
  641. package/dist/outposts/session-host-fakes.d.ts +0 -61
  642. package/dist/outposts/session-host-fakes.d.ts.map +0 -1
  643. package/dist/outposts/session-host-fakes.js +0 -115
  644. package/dist/outposts/session-host-fakes.js.map +0 -1
  645. package/dist/outposts/session-host-ndjson.test.d.ts +0 -11
  646. package/dist/outposts/session-host-ndjson.test.d.ts.map +0 -1
  647. package/dist/outposts/session-host-ndjson.test.js +0 -73
  648. package/dist/outposts/session-host-ndjson.test.js.map +0 -1
  649. package/dist/outposts/session-host-protocol.test.d.ts +0 -15
  650. package/dist/outposts/session-host-protocol.test.d.ts.map +0 -1
  651. package/dist/outposts/session-host-protocol.test.js +0 -0
  652. package/dist/outposts/session-host-protocol.test.js.map +0 -1
  653. package/dist/outposts/session-host-server.test.d.ts +0 -10
  654. package/dist/outposts/session-host-server.test.d.ts.map +0 -1
  655. package/dist/outposts/session-host-server.test.js +0 -118
  656. package/dist/outposts/session-host-server.test.js.map +0 -1
  657. package/dist/outposts/session-host-sessions.test.d.ts +0 -18
  658. package/dist/outposts/session-host-sessions.test.d.ts.map +0 -1
  659. package/dist/outposts/session-host-sessions.test.js +0 -439
  660. package/dist/outposts/session-host-sessions.test.js.map +0 -1
  661. package/dist/outposts/terminal.test.d.ts +0 -2
  662. package/dist/outposts/terminal.test.d.ts.map +0 -1
  663. package/dist/outposts/terminal.test.js +0 -146
  664. package/dist/outposts/terminal.test.js.map +0 -1
  665. package/dist/outposts/transport.test.d.ts +0 -10
  666. package/dist/outposts/transport.test.d.ts.map +0 -1
  667. package/dist/outposts/transport.test.js +0 -205
  668. package/dist/outposts/transport.test.js.map +0 -1
  669. package/dist/packed-journal-phase2.test.d.ts +0 -2
  670. package/dist/packed-journal-phase2.test.d.ts.map +0 -1
  671. package/dist/packed-journal-phase2.test.js +0 -273
  672. package/dist/packed-journal-phase2.test.js.map +0 -1
  673. package/dist/path-ancestors.test.d.ts +0 -2
  674. package/dist/path-ancestors.test.d.ts.map +0 -1
  675. package/dist/path-ancestors.test.js +0 -21
  676. package/dist/path-ancestors.test.js.map +0 -1
  677. package/dist/personal-vault-exclusions.test.d.ts +0 -22
  678. package/dist/personal-vault-exclusions.test.d.ts.map +0 -1
  679. package/dist/personal-vault-exclusions.test.js +0 -294
  680. package/dist/personal-vault-exclusions.test.js.map +0 -1
  681. package/dist/personal-vault.test.d.ts +0 -18
  682. package/dist/personal-vault.test.d.ts.map +0 -1
  683. package/dist/personal-vault.test.js +0 -1099
  684. package/dist/personal-vault.test.js.map +0 -1
  685. package/dist/plan-limit-pause.test.d.ts +0 -2
  686. package/dist/plan-limit-pause.test.d.ts.map +0 -1
  687. package/dist/plan-limit-pause.test.js +0 -150
  688. package/dist/plan-limit-pause.test.js.map +0 -1
  689. package/dist/plan-limit.fixtures.d.ts +0 -34
  690. package/dist/plan-limit.fixtures.d.ts.map +0 -1
  691. package/dist/plan-limit.fixtures.js +0 -96
  692. package/dist/plan-limit.fixtures.js.map +0 -1
  693. package/dist/plan-limit.test.d.ts +0 -2
  694. package/dist/plan-limit.test.d.ts.map +0 -1
  695. package/dist/plan-limit.test.js +0 -132
  696. package/dist/plan-limit.test.js.map +0 -1
  697. package/dist/prefix-coalesce.test.d.ts +0 -2
  698. package/dist/prefix-coalesce.test.d.ts.map +0 -1
  699. package/dist/prefix-coalesce.test.js +0 -260
  700. package/dist/prefix-coalesce.test.js.map +0 -1
  701. package/dist/private-folder-transport.test.d.ts +0 -2
  702. package/dist/private-folder-transport.test.d.ts.map +0 -1
  703. package/dist/private-folder-transport.test.js +0 -33
  704. package/dist/private-folder-transport.test.js.map +0 -1
  705. package/dist/public-surface.test.d.ts +0 -15
  706. package/dist/public-surface.test.d.ts.map +0 -1
  707. package/dist/public-surface.test.js +0 -110
  708. package/dist/public-surface.test.js.map +0 -1
  709. package/dist/qmd-reindex.test.d.ts +0 -14
  710. package/dist/qmd-reindex.test.d.ts.map +0 -1
  711. package/dist/qmd-reindex.test.js +0 -899
  712. package/dist/qmd-reindex.test.js.map +0 -1
  713. package/dist/read-only-state-dir.test.d.ts +0 -27
  714. package/dist/read-only-state-dir.test.d.ts.map +0 -1
  715. package/dist/read-only-state-dir.test.js +0 -167
  716. package/dist/read-only-state-dir.test.js.map +0 -1
  717. package/dist/remote-pull.test.d.ts +0 -2
  718. package/dist/remote-pull.test.d.ts.map +0 -1
  719. package/dist/remote-pull.test.js +0 -1147
  720. package/dist/remote-pull.test.js.map +0 -1
  721. package/dist/s3-download-stream-hash.test.d.ts +0 -2
  722. package/dist/s3-download-stream-hash.test.d.ts.map +0 -1
  723. package/dist/s3-download-stream-hash.test.js +0 -70
  724. package/dist/s3-download-stream-hash.test.js.map +0 -1
  725. package/dist/s3.list-cost.test.d.ts +0 -2
  726. package/dist/s3.list-cost.test.d.ts.map +0 -1
  727. package/dist/s3.list-cost.test.js +0 -51
  728. package/dist/s3.list-cost.test.js.map +0 -1
  729. package/dist/s3.rename-retry.test.d.ts +0 -2
  730. package/dist/s3.rename-retry.test.d.ts.map +0 -1
  731. package/dist/s3.rename-retry.test.js +0 -217
  732. package/dist/s3.rename-retry.test.js.map +0 -1
  733. package/dist/s3.symlink-materialize.test.d.ts +0 -18
  734. package/dist/s3.symlink-materialize.test.d.ts.map +0 -1
  735. package/dist/s3.symlink-materialize.test.js +0 -579
  736. package/dist/s3.symlink-materialize.test.js.map +0 -1
  737. package/dist/s3.test.d.ts +0 -9
  738. package/dist/s3.test.d.ts.map +0 -1
  739. package/dist/s3.test.js +0 -2047
  740. package/dist/s3.test.js.map +0 -1
  741. package/dist/s3.windows-portability.test.d.ts +0 -12
  742. package/dist/s3.windows-portability.test.d.ts.map +0 -1
  743. package/dist/s3.windows-portability.test.js +0 -223
  744. package/dist/s3.windows-portability.test.js.map +0 -1
  745. package/dist/schemas/signal-types.test.d.ts +0 -2
  746. package/dist/schemas/signal-types.test.d.ts.map +0 -1
  747. package/dist/schemas/signal-types.test.js +0 -65
  748. package/dist/schemas/signal-types.test.js.map +0 -1
  749. package/dist/schemas/source-channels.test.d.ts +0 -2
  750. package/dist/schemas/source-channels.test.d.ts.map +0 -1
  751. package/dist/schemas/source-channels.test.js +0 -65
  752. package/dist/schemas/source-channels.test.js.map +0 -1
  753. package/dist/scope-shrink.test.d.ts +0 -13
  754. package/dist/scope-shrink.test.d.ts.map +0 -1
  755. package/dist/scope-shrink.test.js +0 -558
  756. package/dist/scope-shrink.test.js.map +0 -1
  757. package/dist/session-log-capture.test.d.ts +0 -2
  758. package/dist/session-log-capture.test.d.ts.map +0 -1
  759. package/dist/session-log-capture.test.js +0 -533
  760. package/dist/session-log-capture.test.js.map +0 -1
  761. package/dist/session-log-retention.test.d.ts +0 -2
  762. package/dist/session-log-retention.test.d.ts.map +0 -1
  763. package/dist/session-log-retention.test.js +0 -383
  764. package/dist/session-log-retention.test.js.map +0 -1
  765. package/dist/signals/get.test.d.ts +0 -5
  766. package/dist/signals/get.test.d.ts.map +0 -1
  767. package/dist/signals/get.test.js +0 -254
  768. package/dist/signals/get.test.js.map +0 -1
  769. package/dist/signals/list.test.d.ts +0 -9
  770. package/dist/signals/list.test.d.ts.map +0 -1
  771. package/dist/signals/list.test.js +0 -330
  772. package/dist/signals/list.test.js.map +0 -1
  773. package/dist/skill-telemetry.test.d.ts +0 -2
  774. package/dist/skill-telemetry.test.d.ts.map +0 -1
  775. package/dist/skill-telemetry.test.js +0 -1484
  776. package/dist/skill-telemetry.test.js.map +0 -1
  777. package/dist/sources/get.test.d.ts +0 -5
  778. package/dist/sources/get.test.d.ts.map +0 -1
  779. package/dist/sources/get.test.js +0 -236
  780. package/dist/sources/get.test.js.map +0 -1
  781. package/dist/sources/list.test.d.ts +0 -8
  782. package/dist/sources/list.test.d.ts.map +0 -1
  783. package/dist/sources/list.test.js +0 -318
  784. package/dist/sources/list.test.js.map +0 -1
  785. package/dist/sts-credential-refresh.test.d.ts +0 -2
  786. package/dist/sts-credential-refresh.test.d.ts.map +0 -1
  787. package/dist/sts-credential-refresh.test.js +0 -181
  788. package/dist/sts-credential-refresh.test.js.map +0 -1
  789. package/dist/swallowed-error-sites.test.d.ts +0 -2
  790. package/dist/swallowed-error-sites.test.d.ts.map +0 -1
  791. package/dist/swallowed-error-sites.test.js +0 -199
  792. package/dist/swallowed-error-sites.test.js.map +0 -1
  793. package/dist/swallowed-error-w32.test.d.ts +0 -2
  794. package/dist/swallowed-error-w32.test.d.ts.map +0 -1
  795. package/dist/swallowed-error-w32.test.js +0 -171
  796. package/dist/swallowed-error-w32.test.js.map +0 -1
  797. package/dist/swallowed-error-w33.test.d.ts +0 -2
  798. package/dist/swallowed-error-w33.test.d.ts.map +0 -1
  799. package/dist/swallowed-error-w33.test.js +0 -125
  800. package/dist/swallowed-error-w33.test.js.map +0 -1
  801. package/dist/swallowed-error-w34.test.d.ts +0 -2
  802. package/dist/swallowed-error-w34.test.d.ts.map +0 -1
  803. package/dist/swallowed-error-w34.test.js +0 -110
  804. package/dist/swallowed-error-w34.test.js.map +0 -1
  805. package/dist/swallowed-error-w35.test.d.ts +0 -2
  806. package/dist/swallowed-error-w35.test.d.ts.map +0 -1
  807. package/dist/swallowed-error-w35.test.js +0 -223
  808. package/dist/swallowed-error-w35.test.js.map +0 -1
  809. package/dist/sync/area-ledger-auto-migration.test.d.ts +0 -2
  810. package/dist/sync/area-ledger-auto-migration.test.d.ts.map +0 -1
  811. package/dist/sync/area-ledger-auto-migration.test.js +0 -291
  812. package/dist/sync/area-ledger-auto-migration.test.js.map +0 -1
  813. package/dist/sync/area-ledger-migration.test.d.ts +0 -2
  814. package/dist/sync/area-ledger-migration.test.d.ts.map +0 -1
  815. package/dist/sync/area-ledger-migration.test.js +0 -554
  816. package/dist/sync/area-ledger-migration.test.js.map +0 -1
  817. package/dist/sync/area-ledger-recovery.bench.test.d.ts +0 -2
  818. package/dist/sync/area-ledger-recovery.bench.test.d.ts.map +0 -1
  819. package/dist/sync/area-ledger-recovery.bench.test.js +0 -60
  820. package/dist/sync/area-ledger-recovery.bench.test.js.map +0 -1
  821. package/dist/sync/area-ledger-writer-lock.bench.test.d.ts +0 -2
  822. package/dist/sync/area-ledger-writer-lock.bench.test.d.ts.map +0 -1
  823. package/dist/sync/area-ledger-writer-lock.bench.test.js +0 -57
  824. package/dist/sync/area-ledger-writer-lock.bench.test.js.map +0 -1
  825. package/dist/sync/area-ledger.test.d.ts +0 -2
  826. package/dist/sync/area-ledger.test.d.ts.map +0 -1
  827. package/dist/sync/area-ledger.test.js +0 -1401
  828. package/dist/sync/area-ledger.test.js.map +0 -1
  829. package/dist/sync/area-resolver.test.d.ts +0 -2
  830. package/dist/sync/area-resolver.test.d.ts.map +0 -1
  831. package/dist/sync/area-resolver.test.js +0 -234
  832. package/dist/sync/area-resolver.test.js.map +0 -1
  833. package/dist/sync/base-version-resolver.test.d.ts +0 -2
  834. package/dist/sync/base-version-resolver.test.d.ts.map +0 -1
  835. package/dist/sync/base-version-resolver.test.js +0 -24
  836. package/dist/sync/base-version-resolver.test.js.map +0 -1
  837. package/dist/sync/candidate-uploader.test.d.ts +0 -2
  838. package/dist/sync/candidate-uploader.test.d.ts.map +0 -1
  839. package/dist/sync/candidate-uploader.test.js +0 -132
  840. package/dist/sync/candidate-uploader.test.js.map +0 -1
  841. package/dist/sync/child-process-sync-worker-env.test.d.ts +0 -2
  842. package/dist/sync/child-process-sync-worker-env.test.d.ts.map +0 -1
  843. package/dist/sync/child-process-sync-worker-env.test.js +0 -38
  844. package/dist/sync/child-process-sync-worker-env.test.js.map +0 -1
  845. package/dist/sync/child-process-sync-worker-errors.test.d.ts +0 -2
  846. package/dist/sync/child-process-sync-worker-errors.test.d.ts.map +0 -1
  847. package/dist/sync/child-process-sync-worker-errors.test.js +0 -121
  848. package/dist/sync/child-process-sync-worker-errors.test.js.map +0 -1
  849. package/dist/sync/child-process-sync-worker.test.d.ts +0 -2
  850. package/dist/sync/child-process-sync-worker.test.d.ts.map +0 -1
  851. package/dist/sync/child-process-sync-worker.test.js +0 -262
  852. package/dist/sync/child-process-sync-worker.test.js.map +0 -1
  853. package/dist/sync/content-hash.test.d.ts +0 -2
  854. package/dist/sync/content-hash.test.d.ts.map +0 -1
  855. package/dist/sync/content-hash.test.js +0 -16
  856. package/dist/sync/content-hash.test.js.map +0 -1
  857. package/dist/sync/delta-client.test.d.ts +0 -2
  858. package/dist/sync/delta-client.test.d.ts.map +0 -1
  859. package/dist/sync/delta-client.test.js +0 -97
  860. package/dist/sync/delta-client.test.js.map +0 -1
  861. package/dist/sync/durable-apply.test.d.ts +0 -2
  862. package/dist/sync/durable-apply.test.d.ts.map +0 -1
  863. package/dist/sync/durable-apply.test.js +0 -180
  864. package/dist/sync/durable-apply.test.js.map +0 -1
  865. package/dist/sync/event-sync.test.d.ts +0 -14
  866. package/dist/sync/event-sync.test.d.ts.map +0 -1
  867. package/dist/sync/event-sync.test.js +0 -1714
  868. package/dist/sync/event-sync.test.js.map +0 -1
  869. package/dist/sync/feature-flags.test.d.ts +0 -24
  870. package/dist/sync/feature-flags.test.d.ts.map +0 -1
  871. package/dist/sync/feature-flags.test.js +0 -594
  872. package/dist/sync/feature-flags.test.js.map +0 -1
  873. package/dist/sync/full-pass-cap-governor.bench.test.d.ts +0 -2
  874. package/dist/sync/full-pass-cap-governor.bench.test.d.ts.map +0 -1
  875. package/dist/sync/full-pass-cap-governor.bench.test.js +0 -179
  876. package/dist/sync/full-pass-cap-governor.bench.test.js.map +0 -1
  877. package/dist/sync/full-pass-caps.test.d.ts +0 -2
  878. package/dist/sync/full-pass-caps.test.d.ts.map +0 -1
  879. package/dist/sync/full-pass-caps.test.js +0 -550
  880. package/dist/sync/full-pass-caps.test.js.map +0 -1
  881. package/dist/sync/idle-full-reconcile.test.d.ts +0 -2
  882. package/dist/sync/idle-full-reconcile.test.d.ts.map +0 -1
  883. package/dist/sync/idle-full-reconcile.test.js +0 -62
  884. package/dist/sync/idle-full-reconcile.test.js.map +0 -1
  885. package/dist/sync/inbound-event-admission.test.d.ts +0 -2
  886. package/dist/sync/inbound-event-admission.test.d.ts.map +0 -1
  887. package/dist/sync/inbound-event-admission.test.js +0 -125
  888. package/dist/sync/inbound-event-admission.test.js.map +0 -1
  889. package/dist/sync/journal-ledger-stream.test.d.ts +0 -12
  890. package/dist/sync/journal-ledger-stream.test.d.ts.map +0 -1
  891. package/dist/sync/journal-ledger-stream.test.js +0 -134
  892. package/dist/sync/journal-ledger-stream.test.js.map +0 -1
  893. package/dist/sync/lease-client.test.d.ts +0 -2
  894. package/dist/sync/lease-client.test.d.ts.map +0 -1
  895. package/dist/sync/lease-client.test.js +0 -119
  896. package/dist/sync/lease-client.test.js.map +0 -1
  897. package/dist/sync/logger.test.d.ts +0 -19
  898. package/dist/sync/logger.test.d.ts.map +0 -1
  899. package/dist/sync/logger.test.js +0 -204
  900. package/dist/sync/logger.test.js.map +0 -1
  901. package/dist/sync/metrics.test.d.ts +0 -19
  902. package/dist/sync/metrics.test.d.ts.map +0 -1
  903. package/dist/sync/metrics.test.js +0 -357
  904. package/dist/sync/metrics.test.js.map +0 -1
  905. package/dist/sync/multipart-uploader.test.d.ts +0 -2
  906. package/dist/sync/multipart-uploader.test.d.ts.map +0 -1
  907. package/dist/sync/multipart-uploader.test.js +0 -135
  908. package/dist/sync/multipart-uploader.test.js.map +0 -1
  909. package/dist/sync/mutation-client.test.d.ts +0 -2
  910. package/dist/sync/mutation-client.test.d.ts.map +0 -1
  911. package/dist/sync/mutation-client.test.js +0 -100
  912. package/dist/sync/mutation-client.test.js.map +0 -1
  913. package/dist/sync/mutation-session.test.d.ts +0 -2
  914. package/dist/sync/mutation-session.test.d.ts.map +0 -1
  915. package/dist/sync/mutation-session.test.js +0 -190
  916. package/dist/sync/mutation-session.test.js.map +0 -1
  917. package/dist/sync/parallel-sync-coordinator.test.d.ts +0 -2
  918. package/dist/sync/parallel-sync-coordinator.test.d.ts.map +0 -1
  919. package/dist/sync/parallel-sync-coordinator.test.js +0 -564
  920. package/dist/sync/parallel-sync-coordinator.test.js.map +0 -1
  921. package/dist/sync/path-leases.test.d.ts +0 -2
  922. package/dist/sync/path-leases.test.d.ts.map +0 -1
  923. package/dist/sync/path-leases.test.js +0 -51
  924. package/dist/sync/path-leases.test.js.map +0 -1
  925. package/dist/sync/per-area-maintenance.test.d.ts +0 -2
  926. package/dist/sync/per-area-maintenance.test.d.ts.map +0 -1
  927. package/dist/sync/per-area-maintenance.test.js +0 -100
  928. package/dist/sync/per-area-maintenance.test.js.map +0 -1
  929. package/dist/sync/push-event.test.d.ts +0 -15
  930. package/dist/sync/push-event.test.d.ts.map +0 -1
  931. package/dist/sync/push-event.test.js +0 -282
  932. package/dist/sync/push-event.test.js.map +0 -1
  933. package/dist/sync/push-receiver.test.d.ts +0 -25
  934. package/dist/sync/push-receiver.test.d.ts.map +0 -1
  935. package/dist/sync/push-receiver.test.js +0 -2851
  936. package/dist/sync/push-receiver.test.js.map +0 -1
  937. package/dist/sync/push-transport.test.d.ts +0 -2
  938. package/dist/sync/push-transport.test.d.ts.map +0 -1
  939. package/dist/sync/push-transport.test.js +0 -70
  940. package/dist/sync/push-transport.test.js.map +0 -1
  941. package/dist/sync/push-walk-matchers.bench.test.d.ts +0 -2
  942. package/dist/sync/push-walk-matchers.bench.test.d.ts.map +0 -1
  943. package/dist/sync/push-walk-matchers.bench.test.js +0 -230
  944. package/dist/sync/push-walk-matchers.bench.test.js.map +0 -1
  945. package/dist/sync/realtime-network-integration.test.d.ts +0 -2
  946. package/dist/sync/realtime-network-integration.test.d.ts.map +0 -1
  947. package/dist/sync/realtime-network-integration.test.js +0 -83
  948. package/dist/sync/realtime-network-integration.test.js.map +0 -1
  949. package/dist/sync/realtime-rollout.test.d.ts +0 -2
  950. package/dist/sync/realtime-rollout.test.d.ts.map +0 -1
  951. package/dist/sync/realtime-rollout.test.js +0 -94
  952. package/dist/sync/realtime-rollout.test.js.map +0 -1
  953. package/dist/sync/realtime-telemetry.test.d.ts +0 -2
  954. package/dist/sync/realtime-telemetry.test.d.ts.map +0 -1
  955. package/dist/sync/realtime-telemetry.test.js +0 -300
  956. package/dist/sync/realtime-telemetry.test.js.map +0 -1
  957. package/dist/sync/receiver-origin-config.test.d.ts +0 -2
  958. package/dist/sync/receiver-origin-config.test.d.ts.map +0 -1
  959. package/dist/sync/receiver-origin-config.test.js +0 -39
  960. package/dist/sync/receiver-origin-config.test.js.map +0 -1
  961. package/dist/sync/reconcile-cursor.test.d.ts +0 -2
  962. package/dist/sync/reconcile-cursor.test.d.ts.map +0 -1
  963. package/dist/sync/reconcile-cursor.test.js +0 -139
  964. package/dist/sync/reconcile-cursor.test.js.map +0 -1
  965. package/dist/sync/remote-file-spool.test.d.ts +0 -2
  966. package/dist/sync/remote-file-spool.test.d.ts.map +0 -1
  967. package/dist/sync/remote-file-spool.test.js +0 -77
  968. package/dist/sync/remote-file-spool.test.js.map +0 -1
  969. package/dist/sync/scope-inventory-client.test.d.ts +0 -2
  970. package/dist/sync/scope-inventory-client.test.d.ts.map +0 -1
  971. package/dist/sync/scope-inventory-client.test.js +0 -103
  972. package/dist/sync/scope-inventory-client.test.js.map +0 -1
  973. package/dist/sync/secret-path-policy.test.d.ts +0 -2
  974. package/dist/sync/secret-path-policy.test.d.ts.map +0 -1
  975. package/dist/sync/secret-path-policy.test.js +0 -183
  976. package/dist/sync/secret-path-policy.test.js.map +0 -1
  977. package/dist/sync/snapshot-client.test.d.ts +0 -2
  978. package/dist/sync/snapshot-client.test.d.ts.map +0 -1
  979. package/dist/sync/snapshot-client.test.js +0 -169
  980. package/dist/sync/snapshot-client.test.js.map +0 -1
  981. package/dist/sync/state-store.test.d.ts +0 -2
  982. package/dist/sync/state-store.test.d.ts.map +0 -1
  983. package/dist/sync/state-store.test.js +0 -1556
  984. package/dist/sync/state-store.test.js.map +0 -1
  985. package/dist/sync/sync-contract.test.d.ts +0 -2
  986. package/dist/sync/sync-contract.test.d.ts.map +0 -1
  987. package/dist/sync/sync-contract.test.js +0 -141
  988. package/dist/sync/sync-contract.test.js.map +0 -1
  989. package/dist/sync/targeted-pull-prefixes.test.d.ts +0 -2
  990. package/dist/sync/targeted-pull-prefixes.test.d.ts.map +0 -1
  991. package/dist/sync/targeted-pull-prefixes.test.js +0 -33
  992. package/dist/sync/targeted-pull-prefixes.test.js.map +0 -1
  993. package/dist/sync/targeted-upsert-exact-list.test.d.ts +0 -2
  994. package/dist/sync/targeted-upsert-exact-list.test.d.ts.map +0 -1
  995. package/dist/sync/targeted-upsert-exact-list.test.js +0 -247
  996. package/dist/sync/targeted-upsert-exact-list.test.js.map +0 -1
  997. package/dist/sync/unchanged-push-events.test.d.ts +0 -2
  998. package/dist/sync/unchanged-push-events.test.d.ts.map +0 -1
  999. package/dist/sync/unchanged-push-events.test.js +0 -76
  1000. package/dist/sync/unchanged-push-events.test.js.map +0 -1
  1001. package/dist/sync/uploader-finalization.test.d.ts +0 -2
  1002. package/dist/sync/uploader-finalization.test.d.ts.map +0 -1
  1003. package/dist/sync/uploader-finalization.test.js +0 -107
  1004. package/dist/sync/uploader-finalization.test.js.map +0 -1
  1005. package/dist/sync-core.test.d.ts +0 -2
  1006. package/dist/sync-core.test.d.ts.map +0 -1
  1007. package/dist/sync-core.test.js +0 -189
  1008. package/dist/sync-core.test.js.map +0 -1
  1009. package/dist/sync-progress.test.d.ts +0 -2
  1010. package/dist/sync-progress.test.d.ts.map +0 -1
  1011. package/dist/sync-progress.test.js +0 -277
  1012. package/dist/sync-progress.test.js.map +0 -1
  1013. package/dist/telemetry-events.test.d.ts +0 -2
  1014. package/dist/telemetry-events.test.d.ts.map +0 -1
  1015. package/dist/telemetry-events.test.js +0 -113
  1016. package/dist/telemetry-events.test.js.map +0 -1
  1017. package/dist/telemetry.test.d.ts +0 -11
  1018. package/dist/telemetry.test.d.ts.map +0 -1
  1019. package/dist/telemetry.test.js +0 -1603
  1020. package/dist/telemetry.test.js.map +0 -1
  1021. package/dist/vault-client.test.d.ts +0 -7
  1022. package/dist/vault-client.test.d.ts.map +0 -1
  1023. package/dist/vault-client.test.js +0 -1334
  1024. package/dist/vault-client.test.js.map +0 -1
  1025. package/dist/watch-coverage.test.d.ts +0 -2
  1026. package/dist/watch-coverage.test.d.ts.map +0 -1
  1027. package/dist/watch-coverage.test.js +0 -56
  1028. package/dist/watch-coverage.test.js.map +0 -1
  1029. package/dist/watch-owner-lease.test.d.ts +0 -2
  1030. package/dist/watch-owner-lease.test.d.ts.map +0 -1
  1031. package/dist/watch-owner-lease.test.js +0 -353
  1032. package/dist/watch-owner-lease.test.js.map +0 -1
  1033. package/dist/watch-parent.test.d.ts +0 -2
  1034. package/dist/watch-parent.test.d.ts.map +0 -1
  1035. package/dist/watch-parent.test.js +0 -131
  1036. package/dist/watch-parent.test.js.map +0 -1
  1037. package/dist/watch-roots.test.d.ts +0 -18
  1038. package/dist/watch-roots.test.d.ts.map +0 -1
  1039. package/dist/watch-roots.test.js +0 -395
  1040. package/dist/watch-roots.test.js.map +0 -1
  1041. package/dist/watcher-continuity-hot-path.test.d.ts +0 -2
  1042. package/dist/watcher-continuity-hot-path.test.d.ts.map +0 -1
  1043. package/dist/watcher-continuity-hot-path.test.js +0 -40
  1044. package/dist/watcher-continuity-hot-path.test.js.map +0 -1
  1045. package/dist/watcher-event-gate.test.d.ts +0 -16
  1046. package/dist/watcher-event-gate.test.d.ts.map +0 -1
  1047. package/dist/watcher-event-gate.test.js +0 -191
  1048. package/dist/watcher-event-gate.test.js.map +0 -1
  1049. package/dist/watcher-replan-sweep.test.d.ts +0 -2
  1050. package/dist/watcher-replan-sweep.test.d.ts.map +0 -1
  1051. package/dist/watcher-replan-sweep.test.js +0 -245
  1052. package/dist/watcher-replan-sweep.test.js.map +0 -1
  1053. package/dist/watcher-stdout.test.d.ts +0 -2
  1054. package/dist/watcher-stdout.test.d.ts.map +0 -1
  1055. package/dist/watcher-stdout.test.js +0 -86
  1056. package/dist/watcher-stdout.test.js.map +0 -1
  1057. package/dist/watcher.test.d.ts +0 -2
  1058. package/dist/watcher.test.d.ts.map +0 -1
  1059. package/dist/watcher.test.js +0 -4301
  1060. package/dist/watcher.test.js.map +0 -1
  1061. package/dist/watcher.warmup-cancel.test.d.ts +0 -2
  1062. package/dist/watcher.warmup-cancel.test.d.ts.map +0 -1
  1063. package/dist/watcher.warmup-cancel.test.js +0 -59
  1064. package/dist/watcher.warmup-cancel.test.js.map +0 -1
  1065. package/dist/watcher.warmup-responsive.test.d.ts +0 -2
  1066. package/dist/watcher.warmup-responsive.test.d.ts.map +0 -1
  1067. package/dist/watcher.warmup-responsive.test.js +0 -62
  1068. package/dist/watcher.warmup-responsive.test.js.map +0 -1
@@ -1,921 +0,0 @@
1
- /**
2
- * Unit tests for the runner's post-sync manifest upload tail step (US-004).
3
- *
4
- * These drive `runPostSyncManifestUploads` directly — the runner's own
5
- * integration with it (only after a clean pass, never affecting the exit code)
6
- * is asserted in `sync-runner.test.ts`. The throttle test deliberately uses the
7
- * REAL `runManifestUploadPass` against a temp HQ root, because "two passes in
8
- * one day upload once" is a property of the wiring plus the seam, not of a
9
- * stub.
10
- */
11
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
12
- import { createHash } from "node:crypto";
13
- import * as fs from "fs";
14
- import * as os from "os";
15
- import * as path from "path";
16
- import { readDesktopInstallationId, DESKTOP_CLIENT_HEALTH_STATE_FILE, } from "./sync-runner-installation-id.js";
17
- import { RUNNER_MANIFEST_PHASE_WALL_MS, RUNNER_MANIFEST_REPAIR_POLL_SPACING_MS, runPostSyncManifestUploads, } from "./sync-runner-manifest.js";
18
- import { MANIFEST_UPLOAD_DISABLED_ENV } from "../manifest/upload-manifest.js";
19
- const NOW_MS = Date.parse("2026-09-04T12:00:00.000Z");
20
- let base;
21
- let hqRoot;
22
- let stateDir;
23
- let previousStateDir;
24
- let previousHome;
25
- beforeEach(() => {
26
- base = fs.mkdtempSync(path.join(os.tmpdir(), "hq-runner-manifest-"));
27
- hqRoot = path.join(base, "hq");
28
- stateDir = path.join(base, "state");
29
- fs.mkdirSync(path.join(hqRoot, "companies", "acme"), { recursive: true });
30
- fs.mkdirSync(stateDir, { recursive: true });
31
- fs.writeFileSync(path.join(hqRoot, "companies", "acme", "a.md"), "a", "utf8");
32
- fs.writeFileSync(path.join(hqRoot, "notes.md"), "notes", "utf8");
33
- // The per-scope upload lock and the journal reader both live under
34
- // HQ_STATE_DIR — keep them inside this test's temp dir.
35
- previousStateDir = process.env.HQ_STATE_DIR;
36
- process.env.HQ_STATE_DIR = stateDir;
37
- // `readDesktopInstallationId` falls back to `os.homedir()/.hq`, which on
38
- // POSIX is `$HOME`. Without pinning it, any test that exercises the REAL
39
- // reader would read the DEVELOPER's own `~/.hq/client-health.json` and pass
40
- // or fail depending on whose laptop is running it.
41
- previousHome = process.env.HOME;
42
- process.env.HOME = path.join(base, "home");
43
- fs.mkdirSync(path.join(base, "home", ".hq"), { recursive: true });
44
- });
45
- afterEach(() => {
46
- if (previousStateDir === undefined)
47
- delete process.env.HQ_STATE_DIR;
48
- else
49
- process.env.HQ_STATE_DIR = previousStateDir;
50
- if (previousHome === undefined)
51
- delete process.env.HOME;
52
- else
53
- process.env.HOME = previousHome;
54
- fs.rmSync(base, { recursive: true, force: true });
55
- });
56
- const PERSONAL_TARGET = {
57
- uid: "ent_person_1",
58
- slug: "personal",
59
- personalMode: true,
60
- };
61
- const ACME_TARGET = { uid: "ent_acme", slug: "acme" };
62
- const REPAIR_COMPANY_UID = "cmp_01KR490G0S8KGE587BZDXTZ9DV";
63
- const REPAIR_COMPANY_TARGET = { uid: REPAIR_COMPANY_UID, slug: "acme" };
64
- function makeOptions(overrides = {}) {
65
- const events = [];
66
- const defaultFetchImpl = async (input, init) => {
67
- const url = new URL(String(input));
68
- if (url.pathname === "/v1/client-health/commands" &&
69
- (init?.method ?? "GET") === "GET") {
70
- return new Response(JSON.stringify({ commands: [] }), { status: 200 });
71
- }
72
- throw new Error("unexpected request in manifest test");
73
- };
74
- return {
75
- hqRoot,
76
- stateDir,
77
- targets: [ACME_TARGET],
78
- completedCompanySlugs: new Set(["acme"]),
79
- apiBaseUrl: "https://api.test",
80
- getAccessToken: () => Promise.resolve("token"),
81
- emitEvent: (payload) => events.push(payload),
82
- env: {},
83
- now: NOW_MS,
84
- resolveMachineId: () => "machine-test",
85
- resolveInstallationId: () => "install-test",
86
- fetchImpl: defaultFetchImpl,
87
- ...overrides,
88
- events,
89
- };
90
- }
91
- function repairPollStatePath(installationId = "install-test") {
92
- const installationHash = createHash("sha256")
93
- .update(installationId)
94
- .digest("hex");
95
- return path.join(stateDir, "manifest-repair-polls", `${installationHash}.json`);
96
- }
97
- async function expectRepairPollStateReset(options) {
98
- const statePath = repairPollStatePath();
99
- fs.mkdirSync(path.dirname(statePath), { recursive: true });
100
- fs.writeFileSync(statePath, options.initialState, "utf8");
101
- const fetchImpl = vi.fn(async (url, init) => {
102
- expect(new URL(String(url)).pathname).toBe("/v1/client-health/commands");
103
- expect(init?.method ?? "GET").toBe("GET");
104
- return new Response(JSON.stringify({ commands: [] }), { status: 200 });
105
- });
106
- const diagnostics = [];
107
- await runPostSyncManifestUploads(makeOptions({
108
- now: options.now,
109
- runPass: makeUploadedPass(),
110
- fetchImpl: fetchImpl,
111
- reportDiagnostic: ({ event, context }) => diagnostics.push(`${event}:${String(context?.reason ?? "")}`),
112
- }));
113
- expect(fetchImpl).toHaveBeenCalledTimes(1);
114
- expect(JSON.parse(fs.readFileSync(statePath, "utf8"))).toEqual({
115
- version: 1,
116
- lastAttemptAtMs: options.now,
117
- });
118
- expect(diagnostics).toContain(`runner.manifest_upload.repair_poll_state_reset:${options.reason}`);
119
- expect(diagnostics).not.toContain("runner.manifest_upload.repair_poll_spacing_failed:");
120
- }
121
- /** A stub pass that records its options and reports a clean upload. */
122
- function makeUploadedPass() {
123
- return vi.fn(async (options) => ({
124
- status: "uploaded",
125
- scopeKey: options.scope.kind,
126
- mode: "full",
127
- chunkCount: 1,
128
- uploadedChunks: 1,
129
- }));
130
- }
131
- describe("post-sync MANIFEST_FULL repair intents", () => {
132
- it("spaces repair-command polls by installation across runner passes", async () => {
133
- const runPass = makeUploadedPass();
134
- const fetchImpl = vi.fn(async (url, init) => {
135
- expect(new URL(String(url)).pathname).toBe("/v1/client-health/commands");
136
- expect(init?.method ?? "GET").toBe("GET");
137
- return new Response(JSON.stringify({ commands: [] }), { status: 200 });
138
- });
139
- const options = makeOptions({
140
- runPass,
141
- fetchImpl: fetchImpl,
142
- });
143
- await runPostSyncManifestUploads(options);
144
- expect(fetchImpl).toHaveBeenCalledTimes(1);
145
- options.now = NOW_MS + 30 * 60 * 1000;
146
- await runPostSyncManifestUploads(options);
147
- expect(fetchImpl).toHaveBeenCalledTimes(1);
148
- await runPostSyncManifestUploads({
149
- ...options,
150
- resolveInstallationId: () => "another-installation",
151
- });
152
- expect(fetchImpl).toHaveBeenCalledTimes(2);
153
- options.now = NOW_MS + RUNNER_MANIFEST_REPAIR_POLL_SPACING_MS;
154
- await runPostSyncManifestUploads(options);
155
- expect(fetchImpl).toHaveBeenCalledTimes(3);
156
- expect(runPass).toHaveBeenCalledTimes(4);
157
- });
158
- it("replaces corrupt repair poll state and still polls", async () => {
159
- await expectRepairPollStateReset({
160
- initialState: "{not-json",
161
- now: NOW_MS,
162
- reason: "corrupt",
163
- });
164
- });
165
- it("replaces repair poll state with an unsupported version and still polls", async () => {
166
- await expectRepairPollStateReset({
167
- initialState: JSON.stringify({ version: 2, lastAttemptAtMs: NOW_MS }),
168
- now: NOW_MS,
169
- reason: "invalid",
170
- });
171
- });
172
- it("replaces a negative repair poll timestamp and still polls", async () => {
173
- await expectRepairPollStateReset({
174
- initialState: JSON.stringify({ version: 1, lastAttemptAtMs: -1 }),
175
- now: 0,
176
- reason: "invalid",
177
- });
178
- });
179
- it("resets a repair poll timestamp more than one interval in the future", async () => {
180
- await expectRepairPollStateReset({
181
- initialState: JSON.stringify({
182
- version: 1,
183
- lastAttemptAtMs: NOW_MS + RUNNER_MANIFEST_REPAIR_POLL_SPACING_MS + 1,
184
- }),
185
- now: NOW_MS,
186
- reason: "clock_rollback",
187
- });
188
- });
189
- it("claims a scoped intent and runs one bounded full upload before acknowledging success", async () => {
190
- const runPass = makeUploadedPass();
191
- const receipts = [];
192
- const fetchImpl = vi.fn(async (url, init) => {
193
- const path = String(url);
194
- if (path.includes("/v1/client-health/commands?")) {
195
- const requestUrl = new URL(path);
196
- expect(requestUrl.searchParams.get("installationId")).toBe("install-test");
197
- expect(init?.method).toBe("GET");
198
- return new Response(JSON.stringify({
199
- commands: [
200
- {
201
- commandId: "manifest-missing-11223344556677889900aabb",
202
- kind: "MANIFEST_FULL",
203
- state: "queued",
204
- revision: 0,
205
- createdAt: "2026-09-24T09:00:00.000Z",
206
- expiresAt: "2026-10-01T09:00:00.000Z",
207
- args: { scopeKey: `company#${REPAIR_COMPANY_UID}` },
208
- },
209
- ],
210
- }), { status: 200, headers: { "content-type": "application/json" } });
211
- }
212
- if (path.endsWith("/v1/client-health/commands/receipt")) {
213
- expect(init?.method).toBe("POST");
214
- const receipt = JSON.parse(String(init?.body));
215
- receipts.push(receipt);
216
- return new Response(JSON.stringify({ applied: true, state: receipt.state, revision: receipt.revision }), { status: 200, headers: { "content-type": "application/json" } });
217
- }
218
- throw new Error("unexpected request");
219
- });
220
- const options = makeOptions({
221
- targets: [REPAIR_COMPANY_TARGET],
222
- runPass,
223
- fetchImpl: fetchImpl,
224
- });
225
- await runPostSyncManifestUploads(options);
226
- const passed = runPass.mock.calls[0][0];
227
- expect(passed.scope).toEqual({
228
- kind: "company",
229
- companyUid: REPAIR_COMPANY_UID,
230
- slug: "acme",
231
- });
232
- expect(passed.forceFull).toBe(true);
233
- expect(passed.ignoreThrottle).toBe(true);
234
- expect(receipts.map((receipt) => receipt.state)).toEqual([
235
- "acknowledged",
236
- "running",
237
- "succeeded",
238
- ]);
239
- expect(receipts.map((receipt) => receipt.revision)).toEqual([1, 2, 3]);
240
- expect(receipts[2]?.postcondition).toEqual({ verified: true });
241
- expect(receipts[2]?.state).toBe("succeeded");
242
- });
243
- it("leaves a command for another scope unclaimed and keeps the normal throttled upload path", async () => {
244
- const runPass = makeUploadedPass();
245
- const receipts = [];
246
- const fetchImpl = vi.fn(async (url, init) => {
247
- const path = String(url);
248
- if (path.includes("/v1/client-health/commands?")) {
249
- return new Response(JSON.stringify({
250
- commands: [
251
- {
252
- commandId: "manifest-full-other",
253
- kind: "MANIFEST_FULL",
254
- state: "queued",
255
- revision: 0,
256
- createdAt: "2026-09-24T09:00:00.000Z",
257
- expiresAt: "2026-10-01T09:00:00.000Z",
258
- args: { scopeKey: "personal" },
259
- },
260
- ],
261
- }), { status: 200, headers: { "content-type": "application/json" } });
262
- }
263
- if (path.endsWith("/v1/client-health/commands/receipt"))
264
- receipts.push(init?.body);
265
- return new Response(JSON.stringify({ applied: true }), { status: 200 });
266
- });
267
- const options = makeOptions({
268
- runPass,
269
- fetchImpl: fetchImpl,
270
- });
271
- await runPostSyncManifestUploads(options);
272
- const passed = runPass.mock.calls[0][0];
273
- expect(passed.forceFull).toBeUndefined();
274
- expect(passed.ignoreThrottle).toBeUndefined();
275
- expect(receipts).toEqual([]);
276
- });
277
- it("does not run an unclaimed full rebuild when the server rejects the running receipt", async () => {
278
- const runPass = makeUploadedPass();
279
- const receipts = [];
280
- const fetchImpl = vi.fn(async (url, init) => {
281
- const path = String(url);
282
- if (path.includes("/v1/client-health/commands?")) {
283
- return new Response(JSON.stringify({
284
- commands: [{
285
- commandId: "manifest-missing-11223344556677889900aabb",
286
- kind: "MANIFEST_FULL",
287
- state: "queued",
288
- revision: 0,
289
- createdAt: "2026-09-24T09:00:00.000Z",
290
- expiresAt: "2026-09-25T09:00:00.000Z",
291
- args: { scopeKey: `company#${REPAIR_COMPANY_UID}` },
292
- }],
293
- }), { status: 200 });
294
- }
295
- const receipt = JSON.parse(String(init?.body));
296
- receipts.push(receipt);
297
- return new Response(JSON.stringify({
298
- applied: receipt.state === "acknowledged",
299
- state: receipt.state === "acknowledged" ? "acknowledged" : "queued",
300
- revision: receipt.state === "acknowledged" ? 1 : 0,
301
- }), { status: receipt.state === "acknowledged" ? 200 : 409 });
302
- });
303
- await runPostSyncManifestUploads(makeOptions({
304
- targets: [REPAIR_COMPANY_TARGET],
305
- runPass,
306
- fetchImpl: fetchImpl,
307
- }));
308
- const passed = runPass.mock.calls[0][0];
309
- expect(passed.forceFull).toBeUndefined();
310
- expect(passed.ignoreThrottle).toBeUndefined();
311
- expect(receipts.map((receipt) => receipt.state)).toEqual(["acknowledged", "running"]);
312
- });
313
- it.each([
314
- {
315
- state: "acknowledged",
316
- revision: 1,
317
- expectedStates: ["running", "succeeded"],
318
- expectedRevisions: [2, 3],
319
- },
320
- {
321
- state: "running",
322
- revision: 2,
323
- expectedStates: ["succeeded"],
324
- expectedRevisions: [3],
325
- },
326
- ])("resumes a $state repair after an interrupted runner", async ({ state, revision, expectedStates, expectedRevisions, }) => {
327
- const runPass = makeUploadedPass();
328
- const receipts = [];
329
- const fetchImpl = vi.fn(async (url, init) => {
330
- const path = String(url);
331
- if (path.includes("/v1/client-health/commands?")) {
332
- return new Response(JSON.stringify({
333
- commands: [{
334
- commandId: "manifest-missing-11223344556677889900aabb",
335
- kind: "MANIFEST_FULL",
336
- state,
337
- revision,
338
- createdAt: "2026-09-24T09:00:00.000Z",
339
- expiresAt: "2026-09-25T09:00:00.000Z",
340
- args: { scopeKey: `company#${REPAIR_COMPANY_UID}` },
341
- }],
342
- }), { status: 200 });
343
- }
344
- const receipt = JSON.parse(String(init?.body));
345
- receipts.push(receipt);
346
- return new Response(JSON.stringify({ applied: true, state: receipt.state, revision: receipt.revision }), { status: 200 });
347
- });
348
- await runPostSyncManifestUploads(makeOptions({
349
- targets: [REPAIR_COMPANY_TARGET],
350
- runPass,
351
- fetchImpl: fetchImpl,
352
- }));
353
- const passed = runPass.mock.calls[0][0];
354
- expect(passed.forceFull).toBe(true);
355
- expect(passed.ignoreThrottle).toBe(true);
356
- expect(receipts.map((receipt) => receipt.state)).toEqual(expectedStates);
357
- expect(receipts.map((receipt) => receipt.revision)).toEqual(expectedRevisions);
358
- });
359
- it("falls back to the normal upload when a repair receipt request throws", async () => {
360
- const runPass = makeUploadedPass();
361
- const diagnostics = [];
362
- const fetchImpl = vi.fn(async (url) => {
363
- const path = String(url);
364
- if (path.includes("/v1/client-health/commands?")) {
365
- return new Response(JSON.stringify({
366
- commands: [{
367
- commandId: "manifest-missing-11223344556677889900aabb",
368
- kind: "MANIFEST_FULL",
369
- state: "queued",
370
- revision: 0,
371
- createdAt: "2026-09-24T09:00:00.000Z",
372
- expiresAt: "2026-09-25T09:00:00.000Z",
373
- args: { scopeKey: `company#${REPAIR_COMPANY_UID}` },
374
- }],
375
- }), { status: 200 });
376
- }
377
- throw new Error("receipt transport unavailable");
378
- });
379
- await runPostSyncManifestUploads(makeOptions({
380
- targets: [REPAIR_COMPANY_TARGET],
381
- runPass,
382
- fetchImpl: fetchImpl,
383
- reportDiagnostic: (diagnostic) => diagnostics.push(diagnostic),
384
- }));
385
- const passed = runPass.mock.calls[0][0];
386
- expect(passed.forceFull).toBeUndefined();
387
- expect(passed.ignoreThrottle).toBeUndefined();
388
- expect(diagnostics).toContainEqual(expect.objectContaining({
389
- event: "runner.manifest_upload.repair_claim_failed",
390
- context: expect.objectContaining({ errorClass: "Error" }),
391
- }));
392
- });
393
- it("records a failed result with a bounded failure reason", async () => {
394
- const runPass = vi.fn(async () => ({
395
- status: "failed",
396
- scopeKey: `company#${REPAIR_COMPANY_UID}`,
397
- error: { kind: "transport_error" },
398
- }));
399
- const receipts = [];
400
- const fetchImpl = vi.fn(async (url, init) => {
401
- const path = String(url);
402
- if (path.includes("/v1/client-health/commands?")) {
403
- return new Response(JSON.stringify({
404
- commands: [{
405
- commandId: "manifest-missing-11223344556677889900aabb",
406
- kind: "MANIFEST_FULL",
407
- state: "queued",
408
- revision: 0,
409
- createdAt: "2026-09-24T09:00:00.000Z",
410
- expiresAt: "2026-09-25T09:00:00.000Z",
411
- args: { scopeKey: `company#${REPAIR_COMPANY_UID}` },
412
- }],
413
- }), { status: 200 });
414
- }
415
- const receipt = JSON.parse(String(init?.body));
416
- receipts.push(receipt);
417
- return new Response(JSON.stringify({ applied: true, state: receipt.state, revision: receipt.revision }), { status: 200 });
418
- });
419
- await runPostSyncManifestUploads(makeOptions({
420
- targets: [REPAIR_COMPANY_TARGET],
421
- runPass,
422
- fetchImpl: fetchImpl,
423
- }));
424
- expect(receipts.at(-1)).toMatchObject({
425
- state: "failed",
426
- revision: 3,
427
- failureReason: "RUNNER_FAILED",
428
- });
429
- expect(receipts.at(-1)).not.toHaveProperty("postcondition");
430
- });
431
- });
432
- describe("post-sync manifest uploads", () => {
433
- it("runs one pass per cleanly-synced scope and emits one event each", async () => {
434
- const runPass = makeUploadedPass();
435
- const options = makeOptions({
436
- targets: [ACME_TARGET, PERSONAL_TARGET],
437
- completedCompanySlugs: new Set(["acme", "personal"]),
438
- runPass,
439
- });
440
- const emitted = await runPostSyncManifestUploads(options);
441
- expect(runPass).toHaveBeenCalledTimes(2);
442
- expect(options.events).toEqual([
443
- {
444
- company: "acme",
445
- scope: "company",
446
- status: "uploaded",
447
- mode: "full",
448
- chunkCount: 1,
449
- uploadedChunks: 1,
450
- },
451
- {
452
- company: "personal",
453
- scope: "personal",
454
- status: "uploaded",
455
- mode: "full",
456
- chunkCount: 1,
457
- uploadedChunks: 1,
458
- },
459
- ]);
460
- expect(emitted).toEqual(options.events);
461
- });
462
- it("uses the daemon posture: source desktop, throttle on, no force-full", async () => {
463
- const runPass = makeUploadedPass();
464
- await runPostSyncManifestUploads(makeOptions({ runPass }));
465
- const passed = runPass.mock.calls[0][0];
466
- expect(passed.source).toBe("desktop");
467
- expect(passed.ignoreThrottle).toBeUndefined();
468
- expect(passed.forceFull).toBeUndefined();
469
- expect(passed.dryRun).toBeUndefined();
470
- // Manifest rows must join client-health rows on the ENROLLED key — the
471
- // installation id the desktop heartbeat pinned, NOT the machine id.
472
- expect(passed.installationId).toBe("install-test");
473
- expect(passed.machineId).toBe("machine-test");
474
- expect(passed.scope).toEqual({
475
- kind: "company",
476
- companyUid: "ent_acme",
477
- slug: "acme",
478
- });
479
- });
480
- it("skips a scope whose sync leg aborted or errored", async () => {
481
- const runPass = makeUploadedPass();
482
- const options = makeOptions({
483
- targets: [ACME_TARGET, PERSONAL_TARGET],
484
- // Only the personal leg completed cleanly.
485
- completedCompanySlugs: new Set(["personal"]),
486
- runPass,
487
- });
488
- await runPostSyncManifestUploads(options);
489
- expect(runPass).toHaveBeenCalledTimes(1);
490
- expect(options.events).toEqual([
491
- expect.objectContaining({ company: "personal", scope: "personal" }),
492
- ]);
493
- });
494
- it("does nothing at all when no scope completed cleanly", async () => {
495
- const runPass = makeUploadedPass();
496
- const fetchImpl = vi.fn();
497
- const options = makeOptions({
498
- completedCompanySlugs: new Set(),
499
- runPass,
500
- fetchImpl: fetchImpl,
501
- });
502
- await expect(runPostSyncManifestUploads(options)).resolves.toEqual([]);
503
- expect(runPass).not.toHaveBeenCalled();
504
- expect(fetchImpl).not.toHaveBeenCalled();
505
- expect(options.events).toEqual([]);
506
- });
507
- it("does zero work and zero network when the kill switch is set", async () => {
508
- const runPass = makeUploadedPass();
509
- const fetchImpl = vi.fn();
510
- const resolveMachineId = vi.fn(() => "machine-test");
511
- const options = makeOptions({
512
- env: { [MANIFEST_UPLOAD_DISABLED_ENV]: "1" },
513
- runPass,
514
- resolveMachineId,
515
- fetchImpl: fetchImpl,
516
- });
517
- await expect(runPostSyncManifestUploads(options)).resolves.toEqual([]);
518
- expect(runPass).not.toHaveBeenCalled();
519
- expect(fetchImpl).not.toHaveBeenCalled();
520
- // Not even the identity is resolved — the switch must cost nothing.
521
- expect(resolveMachineId).not.toHaveBeenCalled();
522
- expect(options.events).toEqual([]);
523
- });
524
- it("survives a pass that throws, and keeps auditing the other scopes", async () => {
525
- const runPass = vi.fn(async (passOptions) => {
526
- if (passOptions.scope.kind === "company")
527
- throw new Error("boom");
528
- return {
529
- status: "uploaded",
530
- scopeKey: "personal",
531
- mode: "full",
532
- chunkCount: 1,
533
- uploadedChunks: 1,
534
- };
535
- });
536
- const diagnostics = [];
537
- const options = makeOptions({
538
- targets: [ACME_TARGET, PERSONAL_TARGET],
539
- completedCompanySlugs: new Set(["acme", "personal"]),
540
- runPass,
541
- reportDiagnostic: ({ event }) => diagnostics.push(event),
542
- });
543
- const emitted = await runPostSyncManifestUploads(options);
544
- expect(emitted).toEqual([
545
- expect.objectContaining({ company: "personal", status: "uploaded" }),
546
- ]);
547
- expect(diagnostics).toContain("runner.manifest_upload.threw");
548
- });
549
- it("abandons a pass that never settles instead of hanging the runner", async () => {
550
- vi.useFakeTimers();
551
- try {
552
- const runPass = vi.fn(() => new Promise(() => undefined));
553
- const diagnostics = [];
554
- const options = makeOptions({
555
- runPass,
556
- reportDiagnostic: ({ event }) => diagnostics.push(event),
557
- });
558
- const pending = runPostSyncManifestUploads(options);
559
- await vi.waitFor(() => expect(runPass).toHaveBeenCalledTimes(1));
560
- await vi.advanceTimersByTimeAsync(5 * 60_000);
561
- await expect(pending).resolves.toEqual([]);
562
- expect(diagnostics).toContain("runner.manifest_upload.phase_timeout");
563
- expect(options.events).toEqual([]);
564
- }
565
- finally {
566
- vi.useRealTimers();
567
- }
568
- });
569
- it("reports the pass status verbatim, including a soft skip", async () => {
570
- const runPass = vi.fn(async () => ({
571
- status: "soft_skipped",
572
- scopeKey: "company",
573
- }));
574
- const options = makeOptions({ runPass });
575
- await runPostSyncManifestUploads(options);
576
- expect(options.events).toEqual([
577
- { company: "acme", scope: "company", status: "soft_skipped" },
578
- ]);
579
- });
580
- it("POSTs each chunk to /v1/sync-manifest/upload with the caller's bearer", async () => {
581
- const fetchImpl = vi.fn(async (url, _init) => {
582
- if (new URL(String(url)).pathname === "/v1/client-health/commands") {
583
- return new Response(JSON.stringify({ commands: [] }), { status: 200 });
584
- }
585
- return new Response(JSON.stringify({
586
- status: "accepted",
587
- snapshotId: "snap-server",
588
- completed: true,
589
- materialised: true,
590
- }), { status: 200, headers: { "content-type": "application/json" } });
591
- });
592
- const options = makeOptions({
593
- targets: [PERSONAL_TARGET],
594
- completedCompanySlugs: new Set(["personal"]),
595
- fetchImpl: fetchImpl,
596
- });
597
- const emitted = await runPostSyncManifestUploads(options);
598
- expect(emitted).toEqual([
599
- expect.objectContaining({ company: "personal", status: "uploaded" }),
600
- ]);
601
- expect(fetchImpl).toHaveBeenCalled();
602
- const uploadCalls = fetchImpl.mock.calls.filter(([, init]) => init?.method === "POST");
603
- expect(uploadCalls.length).toBeGreaterThan(0);
604
- const [url, init] = uploadCalls[0];
605
- expect(url).toBe("https://api.test/v1/sync-manifest/upload");
606
- expect(init.method).toBe("POST");
607
- expect(init.headers.Authorization).toBe("Bearer token");
608
- });
609
- it("uploads once across two sync passes inside the 24 h window", async () => {
610
- const fetchImpl = vi.fn(async (url, _init) => {
611
- if (new URL(String(url)).pathname === "/v1/client-health/commands") {
612
- return new Response(JSON.stringify({ commands: [] }), { status: 200 });
613
- }
614
- return new Response(JSON.stringify({
615
- status: "accepted",
616
- snapshotId: "snap-server",
617
- completed: true,
618
- materialised: true,
619
- }), { status: 200, headers: { "content-type": "application/json" } });
620
- });
621
- const first = await runPostSyncManifestUploads(makeOptions({
622
- targets: [PERSONAL_TARGET],
623
- completedCompanySlugs: new Set(["personal"]),
624
- fetchImpl: fetchImpl,
625
- }));
626
- expect(first).toEqual([
627
- expect.objectContaining({ status: "uploaded", mode: "full" }),
628
- ]);
629
- const requestsAfterFirst = fetchImpl.mock.calls.length;
630
- const uploadRequestsAfterFirst = fetchImpl.mock.calls.filter(([, init]) => init?.method === "POST").length;
631
- expect(uploadRequestsAfterFirst).toBeGreaterThan(0);
632
- // The daemon calls this after EVERY sync cycle; an hour later the throttle
633
- // — not the caller — is what keeps a 70k-file walk off the laptop.
634
- const second = await runPostSyncManifestUploads(makeOptions({
635
- targets: [PERSONAL_TARGET],
636
- completedCompanySlugs: new Set(["personal"]),
637
- now: NOW_MS + 60 * 60 * 1000,
638
- fetchImpl: fetchImpl,
639
- }));
640
- expect(second).toEqual([
641
- expect.objectContaining({ company: "personal", status: "throttled" }),
642
- ]);
643
- expect(fetchImpl.mock.calls).toHaveLength(requestsAfterFirst + 1);
644
- expect(fetchImpl.mock.calls.filter(([, init]) => init?.method === "POST")).toHaveLength(uploadRequestsAfterFirst);
645
- });
646
- });
647
- describe("enrolled installation identity (US-004)", () => {
648
- /** Write a desktop client-health state file into `dir`. */
649
- function writeHealthState(dir, body) {
650
- fs.mkdirSync(dir, { recursive: true });
651
- fs.writeFileSync(path.join(dir, DESKTOP_CLIENT_HEALTH_STATE_FILE), body, "utf8");
652
- }
653
- it("reads the id the desktop heartbeat pinned in the state dir", () => {
654
- writeHealthState(stateDir, JSON.stringify({
655
- installationId: "e1bff370-b666-4b97-bfa6-d44c4e81f258",
656
- sequence: 7,
657
- }));
658
- expect(readDesktopInstallationId({ stateDir, homeDir: path.join(base, "home") })).toBe("e1bff370-b666-4b97-bfa6-d44c4e81f258");
659
- });
660
- it("falls back to the ~/.hq path the Rust heartbeat hard-codes", () => {
661
- const homeDir = path.join(base, "home");
662
- writeHealthState(path.join(homeDir, ".hq"), JSON.stringify({ installationId: "from-home-dir-1234" }));
663
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBe("from-home-dir-1234");
664
- });
665
- it("returns undefined when no heartbeat has ever enrolled this host", () => {
666
- expect(readDesktopInstallationId({ stateDir, homeDir: path.join(base, "home") })).toBeUndefined();
667
- });
668
- it("returns undefined for a corrupt or malformed state file", () => {
669
- const homeDir = path.join(base, "home");
670
- for (const body of [
671
- "{ not json",
672
- "null",
673
- "[]",
674
- JSON.stringify({ sequence: 3 }),
675
- JSON.stringify({ installationId: 42 }),
676
- // Fails the manifest contract's identifier shape — never send it.
677
- JSON.stringify({ installationId: "has spaces" }),
678
- JSON.stringify({ installationId: "" }),
679
- ]) {
680
- writeHealthState(stateDir, body);
681
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBeUndefined();
682
- }
683
- });
684
- it("prefers ~/.hq over a relocated state dir when the two disagree", () => {
685
- // `~/.hq` is the ONLY file the menubar app's Rust heartbeat writes, so it
686
- // holds the id the server has actually enrolled. A copy under a relocated
687
- // HQ_STATE_DIR is either identical (harmless) or stale — and uploading
688
- // under a stale id is a permanent 403 for the host, with no way for the
689
- // enrolment fence to guess what was meant.
690
- const homeDir = path.join(base, "home");
691
- writeHealthState(path.join(homeDir, ".hq"), JSON.stringify({ installationId: "enrolled-by-heartbeat" }));
692
- writeHealthState(stateDir, JSON.stringify({ installationId: "stale-relocated-copy" }));
693
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBe("enrolled-by-heartbeat");
694
- });
695
- it("still reads a relocated state dir when ~/.hq has no file at all", () => {
696
- // The fallback must survive the reordering: on a host where state was
697
- // relocated before the heartbeat ever ran, this is the only copy there is,
698
- // and finding it beats skipping the audit entirely.
699
- const homeDir = path.join(base, "home");
700
- writeHealthState(stateDir, JSON.stringify({ installationId: "only-copy-1234" }));
701
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBe("only-copy-1234");
702
- });
703
- it("skips a malformed ~/.hq file and falls through to the state dir", () => {
704
- const homeDir = path.join(base, "home");
705
- writeHealthState(path.join(homeDir, ".hq"), "{ not json");
706
- writeHealthState(stateDir, JSON.stringify({ installationId: "usable-fallback-1" }));
707
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBe("usable-fallback-1");
708
- });
709
- it("never creates, mints, or rewrites the client-health state file", () => {
710
- const homeDir = path.join(base, "home");
711
- fs.mkdirSync(path.join(homeDir, ".hq"), { recursive: true });
712
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBeUndefined();
713
- expect(fs.existsSync(path.join(stateDir, DESKTOP_CLIENT_HEALTH_STATE_FILE))).toBe(false);
714
- expect(fs.existsSync(path.join(homeDir, ".hq", DESKTOP_CLIENT_HEALTH_STATE_FILE))).toBe(false);
715
- const body = JSON.stringify({ installationId: "pinned-id-0001" });
716
- writeHealthState(stateDir, body);
717
- expect(readDesktopInstallationId({ stateDir, homeDir })).toBe("pinned-id-0001");
718
- expect(fs.readFileSync(path.join(stateDir, DESKTOP_CLIENT_HEALTH_STATE_FILE), "utf8")).toBe(body);
719
- });
720
- it("stamps the enrolled id, keeping machineId as the distinct host id", async () => {
721
- writeHealthState(stateDir, JSON.stringify({ installationId: "enrolled-abcdef" }));
722
- const runPass = makeUploadedPass();
723
- await runPostSyncManifestUploads(makeOptions({
724
- runPass,
725
- resolveMachineId: () => "hq-root-machine-id",
726
- // Exercise the REAL reader, not the seam.
727
- resolveInstallationId: undefined,
728
- }));
729
- const passed = runPass.mock.calls[0][0];
730
- expect(passed.installationId).toBe("enrolled-abcdef");
731
- expect(passed.machineId).toBe("hq-root-machine-id");
732
- expect(passed.installationId).not.toBe(passed.machineId);
733
- });
734
- it("skips every upload when this host has no enrolled identity", async () => {
735
- const runPass = makeUploadedPass();
736
- const fetchImpl = vi.fn();
737
- const diagnostics = [];
738
- const options = makeOptions({
739
- runPass,
740
- resolveInstallationId: () => undefined,
741
- fetchImpl: fetchImpl,
742
- reportDiagnostic: (d) => diagnostics.push(d.event),
743
- });
744
- // A guaranteed 403 is worse than no audit: skip, emit nothing, stay quiet.
745
- await expect(runPostSyncManifestUploads(options)).resolves.toEqual([]);
746
- expect(runPass).not.toHaveBeenCalled();
747
- expect(fetchImpl).not.toHaveBeenCalled();
748
- expect(options.events).toEqual([]);
749
- expect(diagnostics).toContain("runner.manifest_upload.not_enrolled");
750
- });
751
- it("skips rather than throwing when the identity lookup blows up", async () => {
752
- const runPass = makeUploadedPass();
753
- const diagnostics = [];
754
- const options = makeOptions({
755
- runPass,
756
- resolveInstallationId: () => {
757
- throw new Error("boom");
758
- },
759
- reportDiagnostic: (d) => diagnostics.push(d.event),
760
- });
761
- await expect(runPostSyncManifestUploads(options)).resolves.toEqual([]);
762
- expect(runPass).not.toHaveBeenCalled();
763
- expect(diagnostics).toContain("runner.manifest_upload.identity_failed");
764
- });
765
- });
766
- /**
767
- * The personal leg is identified by `personalMode`, never by the slug string.
768
- *
769
- * "personal" is a legal COMPANY slug: an operator can designate a cloud company
770
- * whose directory is `companies/personal` with its own uid and its own bucket.
771
- * Keying the scope on the string would build a PERSONAL manifest for it — the
772
- * personal snapshot scope key, the personal journal shard, the personal walk
773
- * roots — and upload that tenant's file list under the operator's own vault.
774
- */
775
- describe("runPostSyncManifestUploads — a cloud company may be named 'personal'", () => {
776
- const COMPANY_NAMED_PERSONAL = { uid: "ent_personal_co", slug: "personal" };
777
- it("builds a COMPANY scope for a company slug of 'personal'", async () => {
778
- const runPass = makeUploadedPass();
779
- await runPostSyncManifestUploads(makeOptions({
780
- targets: [COMPANY_NAMED_PERSONAL],
781
- completedCompanySlugs: new Set(["personal"]),
782
- runPass,
783
- }));
784
- expect(runPass).toHaveBeenCalledTimes(1);
785
- expect(runPass.mock.calls[0]?.[0]?.scope).toEqual({
786
- kind: "company",
787
- companyUid: "ent_personal_co",
788
- slug: "personal",
789
- });
790
- });
791
- it("still builds a PERSONAL scope when personalMode is set", async () => {
792
- const runPass = makeUploadedPass();
793
- await runPostSyncManifestUploads(makeOptions({
794
- targets: [PERSONAL_TARGET],
795
- completedCompanySlugs: new Set(["personal"]),
796
- runPass,
797
- }));
798
- expect(runPass.mock.calls[0]?.[0]?.scope).toEqual({ kind: "personal" });
799
- });
800
- it("keeps the two apart in one fanout, so neither scope is built twice", async () => {
801
- // The failure mode this guards: both legs collapsing onto `kind: "personal"`,
802
- // which would make the second pass overwrite the first's snapshot — one
803
- // scope key, two tenants.
804
- const runPass = makeUploadedPass();
805
- await runPostSyncManifestUploads(makeOptions({
806
- targets: [PERSONAL_TARGET, COMPANY_NAMED_PERSONAL],
807
- completedCompanySlugs: new Set(["personal"]),
808
- runPass,
809
- }));
810
- const scopes = runPass.mock.calls.map((call) => call[0]?.scope);
811
- expect(scopes).toEqual([
812
- { kind: "personal" },
813
- { kind: "company", companyUid: "ent_personal_co", slug: "personal" },
814
- ]);
815
- });
816
- });
817
- describe("runPostSyncManifestUploads — the tail step stats, it does not hash", () => {
818
- it("pins hashPolicy to 'never' for every scope", async () => {
819
- // Content hashing after every sync cycle measured at ~9m40s and 2.9 GB RSS
820
- // on a real vault with a cold journal. The daemon path must never opt into
821
- // it; `hq sync manifest --full-hash` is where that lives.
822
- const runPass = makeUploadedPass();
823
- await runPostSyncManifestUploads(makeOptions({ targets: [ACME_TARGET, PERSONAL_TARGET], completedCompanySlugs: new Set(["acme", "personal"]), runPass }));
824
- expect(runPass.mock.calls.map((call) => call[0].hashPolicy)).toEqual(["never", "never"]);
825
- });
826
- });
827
- describe("runPostSyncManifestUploads — phase budget reporting", () => {
828
- afterEach(() => {
829
- vi.useRealTimers();
830
- });
831
- it("counts the remaining scopes from the loop position, not from emitted events", async () => {
832
- // Two ways a scope leaves the loop WITHOUT emitting an event: it has no uid
833
- // (no scope can be attributed to it, so it is skipped), and the phase
834
- // budget runs out before it starts. `eligible.length - emitted.length`
835
- // counted both as still-pending, so the operator-facing "remaining" was
836
- // over-reported by one per skipped target.
837
- const noUid = { slug: "no-uid" };
838
- const targets = [
839
- noUid,
840
- ACME_TARGET,
841
- { uid: "ent_b", slug: "b" },
842
- { uid: "ent_c", slug: "c" },
843
- ];
844
- const diagnostics = [];
845
- // `setSystemTime`, not `advanceTimersByTime`: this must move `Date.now()`
846
- // past the phase deadline WITHOUT firing the pending phase-abort and
847
- // per-pass race timers, which would take the `phase_timeout` branch
848
- // instead of the budget-exhausted one under test.
849
- vi.useFakeTimers({ shouldAdvanceTime: true });
850
- const startedAt = Date.now();
851
- const runPass = vi.fn(async (options) => {
852
- vi.setSystemTime(startedAt + RUNNER_MANIFEST_PHASE_WALL_MS + 1);
853
- return { status: "uploaded", scopeKey: options.scope.kind };
854
- });
855
- await runPostSyncManifestUploads(makeOptions({
856
- targets,
857
- completedCompanySlugs: new Set(["no-uid", "acme", "b", "c"]),
858
- runPass,
859
- reportDiagnostic: (diagnostic) => diagnostics.push(diagnostic),
860
- }));
861
- // Index 0 skipped (no uid), index 1 ran and spent the budget, so indices 2
862
- // and 3 are what is left.
863
- expect(runPass).toHaveBeenCalledTimes(1);
864
- const exhausted = diagnostics.find((diagnostic) => diagnostic.event === "runner.manifest_upload.phase_budget_exhausted");
865
- expect(exhausted?.context?.remaining).toBe(2);
866
- });
867
- });
868
- // ─── No silent exits (2026-09-07 personal-scope incident) ────────────────────
869
- //
870
- // Two returns on this path used to produce NOTHING — no event, no diagnostic,
871
- // no log line: the kill switch, and "no scope synced cleanly". Combined with a
872
- // `manifest-upload` event stream the desktop daemon does not persist, that
873
- // made three very different situations look identical from the outside:
874
- // the switch is off, the phase found nothing to do, or the phase never ran.
875
- describe("runPostSyncManifestUploads — every skip states its reason", () => {
876
- it("reports a diagnostic when the kill switch suppresses the phase", async () => {
877
- const diagnostics = [];
878
- const runPass = makeUploadedPass();
879
- const options = makeOptions({
880
- env: { [MANIFEST_UPLOAD_DISABLED_ENV]: "1" },
881
- runPass,
882
- reportDiagnostic: (diagnostic) => diagnostics.push(diagnostic),
883
- });
884
- const emitted = await runPostSyncManifestUploads(options);
885
- // Unchanged behaviour: still costs nothing and still uploads nothing.
886
- expect(emitted).toEqual([]);
887
- expect(runPass).not.toHaveBeenCalled();
888
- // New behaviour: it says so.
889
- expect(diagnostics.map((d) => d.event)).toContain("runner.manifest_upload.disabled");
890
- });
891
- it("reports a diagnostic when no scope synced cleanly", async () => {
892
- const diagnostics = [];
893
- const runPass = makeUploadedPass();
894
- const options = makeOptions({
895
- // A target that is NOT in the completed set: the partial-sync shape.
896
- targets: [ACME_TARGET],
897
- completedCompanySlugs: new Set(),
898
- runPass,
899
- reportDiagnostic: (diagnostic) => diagnostics.push(diagnostic),
900
- });
901
- const emitted = await runPostSyncManifestUploads(options);
902
- expect(emitted).toEqual([]);
903
- expect(runPass).not.toHaveBeenCalled();
904
- expect(diagnostics.map((d) => d.event)).toContain("runner.manifest_upload.no_eligible_scopes");
905
- });
906
- it("still emits the upload event for a scope that DID run", async () => {
907
- // Guard against over-correcting: adding the skip diagnostics must not
908
- // disturb the healthy path.
909
- const diagnostics = [];
910
- const options = makeOptions({
911
- runPass: makeUploadedPass(),
912
- reportDiagnostic: (diagnostic) => diagnostics.push(diagnostic),
913
- });
914
- const emitted = await runPostSyncManifestUploads(options);
915
- expect(emitted).toHaveLength(1);
916
- expect(emitted[0]?.status).toBe("uploaded");
917
- expect(diagnostics.map((d) => d.event)).not.toContain("runner.manifest_upload.disabled");
918
- expect(diagnostics.map((d) => d.event)).not.toContain("runner.manifest_upload.no_eligible_scopes");
919
- });
920
- });
921
- //# sourceMappingURL=sync-runner-manifest.test.js.map