@indigoai-us/hq-cloud 6.11.11 → 6.11.13

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 (220) hide show
  1. package/dist/bin/sync-runner-company.d.ts +35 -0
  2. package/dist/bin/sync-runner-company.d.ts.map +1 -0
  3. package/dist/bin/sync-runner-company.js +290 -0
  4. package/dist/bin/sync-runner-company.js.map +1 -0
  5. package/dist/bin/sync-runner-events.d.ts +12 -0
  6. package/dist/bin/sync-runner-events.d.ts.map +1 -0
  7. package/dist/bin/sync-runner-events.js +12 -0
  8. package/dist/bin/sync-runner-events.js.map +1 -0
  9. package/dist/bin/sync-runner-planning.d.ts +53 -0
  10. package/dist/bin/sync-runner-planning.d.ts.map +1 -0
  11. package/dist/bin/sync-runner-planning.js +59 -0
  12. package/dist/bin/sync-runner-planning.js.map +1 -0
  13. package/dist/bin/sync-runner-rollup.d.ts +24 -0
  14. package/dist/bin/sync-runner-rollup.d.ts.map +1 -0
  15. package/dist/bin/sync-runner-rollup.js +46 -0
  16. package/dist/bin/sync-runner-rollup.js.map +1 -0
  17. package/dist/bin/sync-runner-telemetry.d.ts +5 -0
  18. package/dist/bin/sync-runner-telemetry.d.ts.map +1 -0
  19. package/dist/bin/sync-runner-telemetry.js +5 -0
  20. package/dist/bin/sync-runner-telemetry.js.map +1 -0
  21. package/dist/bin/sync-runner-watch-loop.d.ts +17 -0
  22. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -0
  23. package/dist/bin/sync-runner-watch-loop.js +372 -0
  24. package/dist/bin/sync-runner-watch-loop.js.map +1 -0
  25. package/dist/bin/sync-runner-watch-routes.d.ts +25 -0
  26. package/dist/bin/sync-runner-watch-routes.d.ts.map +1 -0
  27. package/dist/bin/sync-runner-watch-routes.js +74 -0
  28. package/dist/bin/sync-runner-watch-routes.js.map +1 -0
  29. package/dist/bin/sync-runner.d.ts +5 -54
  30. package/dist/bin/sync-runner.d.ts.map +1 -1
  31. package/dist/bin/sync-runner.js +76 -978
  32. package/dist/bin/sync-runner.js.map +1 -1
  33. package/dist/bin/sync-runner.test.js +265 -11
  34. package/dist/bin/sync-runner.test.js.map +1 -1
  35. package/dist/cli/reindex.d.ts.map +1 -1
  36. package/dist/cli/reindex.js +34 -17
  37. package/dist/cli/reindex.js.map +1 -1
  38. package/dist/cli/reindex.test.js +39 -5
  39. package/dist/cli/reindex.test.js.map +1 -1
  40. package/dist/cli/rescue-classify-ordering.test.js +75 -0
  41. package/dist/cli/rescue-classify-ordering.test.js.map +1 -1
  42. package/dist/cli/rescue-core.d.ts +45 -0
  43. package/dist/cli/rescue-core.d.ts.map +1 -1
  44. package/dist/cli/rescue-core.js +320 -170
  45. package/dist/cli/rescue-core.js.map +1 -1
  46. package/dist/cli/share.d.ts +2 -1
  47. package/dist/cli/share.d.ts.map +1 -1
  48. package/dist/cli/share.js +276 -660
  49. package/dist/cli/share.js.map +1 -1
  50. package/dist/cli/share.test.js +30 -0
  51. package/dist/cli/share.test.js.map +1 -1
  52. package/dist/cli/sync.d.ts +28 -1
  53. package/dist/cli/sync.d.ts.map +1 -1
  54. package/dist/cli/sync.js +541 -748
  55. package/dist/cli/sync.js.map +1 -1
  56. package/dist/cli/sync.test.js +382 -1
  57. package/dist/cli/sync.test.js.map +1 -1
  58. package/dist/cognito-auth.d.ts.map +1 -1
  59. package/dist/cognito-auth.js +55 -10
  60. package/dist/cognito-auth.js.map +1 -1
  61. package/dist/cognito-auth.test.js +61 -0
  62. package/dist/cognito-auth.test.js.map +1 -1
  63. package/dist/daemon-worker.d.ts +2 -2
  64. package/dist/daemon-worker.js +3 -3
  65. package/dist/daemon-worker.js.map +1 -1
  66. package/dist/index.d.ts +2 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +1 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/journal.d.ts.map +1 -1
  71. package/dist/journal.js +93 -6
  72. package/dist/journal.js.map +1 -1
  73. package/dist/journal.test.js +59 -0
  74. package/dist/journal.test.js.map +1 -1
  75. package/dist/machine-auth.test.js +60 -2
  76. package/dist/machine-auth.test.js.map +1 -1
  77. package/dist/object-io.d.ts +37 -1
  78. package/dist/object-io.d.ts.map +1 -1
  79. package/dist/object-io.js +149 -30
  80. package/dist/object-io.js.map +1 -1
  81. package/dist/object-io.test.js +121 -0
  82. package/dist/object-io.test.js.map +1 -1
  83. package/dist/operation-lock.d.ts +8 -8
  84. package/dist/operation-lock.d.ts.map +1 -1
  85. package/dist/operation-lock.js +99 -32
  86. package/dist/operation-lock.js.map +1 -1
  87. package/dist/operation-lock.test.js +51 -4
  88. package/dist/operation-lock.test.js.map +1 -1
  89. package/dist/personal-vault.d.ts.map +1 -1
  90. package/dist/personal-vault.js +8 -2
  91. package/dist/personal-vault.js.map +1 -1
  92. package/dist/personal-vault.test.js +34 -0
  93. package/dist/personal-vault.test.js.map +1 -1
  94. package/dist/prefix-coalesce.d.ts +20 -9
  95. package/dist/prefix-coalesce.d.ts.map +1 -1
  96. package/dist/prefix-coalesce.js +124 -28
  97. package/dist/prefix-coalesce.js.map +1 -1
  98. package/dist/prefix-coalesce.test.js +57 -2
  99. package/dist/prefix-coalesce.test.js.map +1 -1
  100. package/dist/remote-pull.d.ts +8 -3
  101. package/dist/remote-pull.d.ts.map +1 -1
  102. package/dist/remote-pull.js +85 -16
  103. package/dist/remote-pull.js.map +1 -1
  104. package/dist/remote-pull.test.js +213 -2
  105. package/dist/remote-pull.test.js.map +1 -1
  106. package/dist/s3.d.ts +2 -0
  107. package/dist/s3.d.ts.map +1 -1
  108. package/dist/s3.js +197 -116
  109. package/dist/s3.js.map +1 -1
  110. package/dist/s3.test.js +109 -0
  111. package/dist/s3.test.js.map +1 -1
  112. package/dist/scope-shrink.d.ts +3 -2
  113. package/dist/scope-shrink.d.ts.map +1 -1
  114. package/dist/scope-shrink.js +1 -1
  115. package/dist/scope-shrink.js.map +1 -1
  116. package/dist/skill-telemetry.d.ts +1 -1
  117. package/dist/skill-telemetry.d.ts.map +1 -1
  118. package/dist/skill-telemetry.js +69 -9
  119. package/dist/skill-telemetry.js.map +1 -1
  120. package/dist/skill-telemetry.test.js +86 -0
  121. package/dist/skill-telemetry.test.js.map +1 -1
  122. package/dist/sync/event-sync.d.ts +6 -0
  123. package/dist/sync/event-sync.d.ts.map +1 -1
  124. package/dist/sync/event-sync.js +34 -1
  125. package/dist/sync/event-sync.js.map +1 -1
  126. package/dist/sync/event-sync.test.js +73 -0
  127. package/dist/sync/event-sync.test.js.map +1 -1
  128. package/dist/sync/metrics.d.ts +17 -1
  129. package/dist/sync/metrics.d.ts.map +1 -1
  130. package/dist/sync/metrics.js +32 -1
  131. package/dist/sync/metrics.js.map +1 -1
  132. package/dist/sync/metrics.test.js +74 -1
  133. package/dist/sync/metrics.test.js.map +1 -1
  134. package/dist/sync/pull-scope.d.ts.map +1 -1
  135. package/dist/sync/pull-scope.js +15 -7
  136. package/dist/sync/pull-scope.js.map +1 -1
  137. package/dist/sync/push-receiver.d.ts +12 -5
  138. package/dist/sync/push-receiver.d.ts.map +1 -1
  139. package/dist/sync/push-receiver.js +45 -17
  140. package/dist/sync/push-receiver.js.map +1 -1
  141. package/dist/sync/push-receiver.test.js +67 -1
  142. package/dist/sync/push-receiver.test.js.map +1 -1
  143. package/dist/sync-core.d.ts +27 -0
  144. package/dist/sync-core.d.ts.map +1 -0
  145. package/dist/sync-core.js +54 -0
  146. package/dist/sync-core.js.map +1 -0
  147. package/dist/telemetry.d.ts +1 -1
  148. package/dist/telemetry.d.ts.map +1 -1
  149. package/dist/telemetry.js +59 -6
  150. package/dist/telemetry.js.map +1 -1
  151. package/dist/telemetry.test.js +74 -0
  152. package/dist/telemetry.test.js.map +1 -1
  153. package/dist/types.d.ts +8 -0
  154. package/dist/types.d.ts.map +1 -1
  155. package/dist/vault-client.d.ts.map +1 -1
  156. package/dist/vault-client.js +284 -36
  157. package/dist/vault-client.js.map +1 -1
  158. package/dist/vault-client.test.js +59 -0
  159. package/dist/vault-client.test.js.map +1 -1
  160. package/dist/watcher.d.ts +38 -20
  161. package/dist/watcher.d.ts.map +1 -1
  162. package/dist/watcher.js +155 -143
  163. package/dist/watcher.js.map +1 -1
  164. package/dist/watcher.test.js +103 -0
  165. package/dist/watcher.test.js.map +1 -1
  166. package/package.json +1 -1
  167. package/src/bin/sync-runner-company.ts +350 -0
  168. package/src/bin/sync-runner-events.ts +25 -0
  169. package/src/bin/sync-runner-planning.ts +121 -0
  170. package/src/bin/sync-runner-rollup.ts +72 -0
  171. package/src/bin/sync-runner-telemetry.ts +8 -0
  172. package/src/bin/sync-runner-watch-loop.ts +443 -0
  173. package/src/bin/sync-runner-watch-routes.ts +86 -0
  174. package/src/bin/sync-runner.test.ts +298 -11
  175. package/src/bin/sync-runner.ts +99 -1054
  176. package/src/cli/reindex.test.ts +41 -3
  177. package/src/cli/reindex.ts +35 -19
  178. package/src/cli/rescue-classify-ordering.test.ts +81 -0
  179. package/src/cli/rescue-core.ts +400 -165
  180. package/src/cli/share.test.ts +38 -0
  181. package/src/cli/share.ts +420 -693
  182. package/src/cli/sync.test.ts +460 -1
  183. package/src/cli/sync.ts +788 -825
  184. package/src/cognito-auth.test.ts +77 -0
  185. package/src/cognito-auth.ts +73 -11
  186. package/src/daemon-worker.ts +3 -3
  187. package/src/index.ts +8 -0
  188. package/src/journal.test.ts +72 -0
  189. package/src/journal.ts +95 -8
  190. package/src/machine-auth.test.ts +64 -2
  191. package/src/object-io.test.ts +142 -0
  192. package/src/object-io.ts +183 -31
  193. package/src/operation-lock.test.ts +63 -4
  194. package/src/operation-lock.ts +99 -31
  195. package/src/personal-vault.test.ts +42 -0
  196. package/src/personal-vault.ts +8 -2
  197. package/src/prefix-coalesce.test.ts +71 -1
  198. package/src/prefix-coalesce.ts +155 -30
  199. package/src/remote-pull.test.ts +235 -1
  200. package/src/remote-pull.ts +106 -18
  201. package/src/s3.test.ts +126 -0
  202. package/src/s3.ts +237 -122
  203. package/src/scope-shrink.ts +6 -3
  204. package/src/skill-telemetry.test.ts +109 -0
  205. package/src/skill-telemetry.ts +82 -14
  206. package/src/sync/event-sync.test.ts +75 -0
  207. package/src/sync/event-sync.ts +54 -1
  208. package/src/sync/metrics.test.ts +81 -0
  209. package/src/sync/metrics.ts +59 -4
  210. package/src/sync/pull-scope.ts +23 -7
  211. package/src/sync/push-receiver.test.ts +73 -1
  212. package/src/sync/push-receiver.ts +56 -20
  213. package/src/sync-core.ts +58 -0
  214. package/src/telemetry.test.ts +85 -0
  215. package/src/telemetry.ts +69 -6
  216. package/src/types.ts +8 -0
  217. package/src/vault-client.test.ts +74 -0
  218. package/src/vault-client.ts +395 -43
  219. package/src/watcher.test.ts +117 -0
  220. package/src/watcher.ts +215 -174
@@ -0,0 +1,372 @@
1
+ import * as path from "path";
2
+ import { VaultClient } from "../index.js";
3
+ import { pickCanonicalPersonEntity } from "../vault-client.js";
4
+ import { acquireOperationLock, withOperationLock, OperationLockedError, OPERATION_LOCKED_EXIT, } from "../operation-lock.js";
5
+ import { describeError } from "../lib/describe-error.js";
6
+ import { getOrCreateMachineId } from "../lib/machine-id.js";
7
+ import { TreeWatcher, WatchPushDriver, systemClock, } from "../watcher.js";
8
+ import { NoopPushReceiver, } from "../sync/push-receiver.js";
9
+ import { resolveEventSync, startEventSync as defaultStartEventSync, } from "../sync/event-sync.js";
10
+ import { buildFullFanoutPushArgv, buildTargetedPullArgv, buildTargetedPushArgv, routeChangeToTarget, routesForBatch, } from "./sync-runner-watch-routes.js";
11
+ export async function runOneShotWithOperationLock(argv, parsed, deps, runtime) {
12
+ const runOnce = deps.runPass ?? runtime.runPassWithOperationLockAlreadyHeld;
13
+ try {
14
+ return await withOperationLock(parsed.hqRoot, "sync", () => runOnce(argv), {
15
+ timeoutSec: parsed.lockTimeoutSec,
16
+ });
17
+ }
18
+ catch (err) {
19
+ if (err instanceof OperationLockedError) {
20
+ process.stderr.write(err.message + "\n");
21
+ return OPERATION_LOCKED_EXIT;
22
+ }
23
+ throw err;
24
+ }
25
+ }
26
+ export async function runWatchLoop(argv, parsed, deps, runtime) {
27
+ const sleep = deps.sleep ??
28
+ ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
29
+ const runPass = deps.runPass ?? runtime.runPassWithOperationLockAlreadyHeld;
30
+ const pollIdx = argv.indexOf("--poll-remote-ms");
31
+ const pollMs = pollIdx >= 0 && argv[pollIdx + 1] ? Number(argv[pollIdx + 1]) : 600_000;
32
+ const eventPush = argv.includes("--event-push");
33
+ const companiesMode = argv.includes("--companies");
34
+ const hqRoot = parsed.hqRoot;
35
+ const passArgv = argv.filter((a, i) => {
36
+ if (a === "--watch")
37
+ return false;
38
+ if (a === "--poll-remote-ms")
39
+ return false;
40
+ if (a === "--event-push")
41
+ return false;
42
+ if (i > 0 && argv[i - 1] === "--poll-remote-ms")
43
+ return false;
44
+ return true;
45
+ });
46
+ if (parsed.lockTimeoutSec === 0) {
47
+ try {
48
+ const handle = acquireOperationLock(hqRoot, "sync", {
49
+ timeoutSec: 0,
50
+ onWaitStart: () => undefined,
51
+ });
52
+ handle.release();
53
+ }
54
+ catch (err) {
55
+ if (err instanceof OperationLockedError) {
56
+ process.stderr.write(err.message + "\n");
57
+ return OPERATION_LOCKED_EXIT;
58
+ }
59
+ throw err;
60
+ }
61
+ }
62
+ const runPassWithLock = async (passArgvForRun) => {
63
+ try {
64
+ const handle = acquireOperationLock(hqRoot, "sync", {
65
+ timeoutSec: 0,
66
+ onWaitStart: () => undefined,
67
+ });
68
+ try {
69
+ return await runPass(passArgvForRun);
70
+ }
71
+ finally {
72
+ handle.release();
73
+ }
74
+ }
75
+ catch (err) {
76
+ if (!(err instanceof OperationLockedError))
77
+ throw err;
78
+ if (parsed.lockTimeoutSec === 0) {
79
+ process.stderr.write(err.message + "\n");
80
+ return OPERATION_LOCKED_EXIT;
81
+ }
82
+ }
83
+ try {
84
+ return await withOperationLock(hqRoot, "sync", () => runPass(passArgvForRun), { timeoutSec: parsed.lockTimeoutSec });
85
+ }
86
+ catch (err) {
87
+ if (err instanceof OperationLockedError) {
88
+ process.stderr.write(err.message + "\n");
89
+ return OPERATION_LOCKED_EXIT;
90
+ }
91
+ throw err;
92
+ }
93
+ };
94
+ let stopped = false;
95
+ let activePass = null;
96
+ const pendingPasses = [];
97
+ const resolveStoppedQueue = () => {
98
+ while (pendingPasses.length > 0) {
99
+ pendingPasses.shift()?.resolve(0);
100
+ }
101
+ };
102
+ const drainQueuedPasses = () => {
103
+ if (activePass !== null)
104
+ return;
105
+ if (stopped) {
106
+ resolveStoppedQueue();
107
+ return;
108
+ }
109
+ const next = pendingPasses.shift();
110
+ if (!next)
111
+ return;
112
+ const current = startGuardedPass(next.argv);
113
+ void current.then(next.resolve, next.reject);
114
+ };
115
+ const startGuardedPass = (passArgvForRun) => {
116
+ const current = stopped
117
+ ? Promise.resolve(0)
118
+ : runPassWithLock(passArgvForRun);
119
+ activePass = current;
120
+ void current
121
+ .finally(() => {
122
+ if (activePass === current) {
123
+ activePass = null;
124
+ drainQueuedPasses();
125
+ }
126
+ })
127
+ .catch(() => undefined);
128
+ return current;
129
+ };
130
+ const runGuarded = (passArgvForRun) => {
131
+ if (activePass === null && pendingPasses.length === 0) {
132
+ return startGuardedPass(passArgvForRun);
133
+ }
134
+ return new Promise((resolve, reject) => {
135
+ pendingPasses.push({ argv: passArgvForRun, resolve, reject });
136
+ drainQueuedPasses();
137
+ });
138
+ };
139
+ let watcher = null;
140
+ let driver = null;
141
+ let detachSignal = null;
142
+ const pendingWatcherPaths = new Map();
143
+ let pendingWatcherOriginalBatch = null;
144
+ let pendingWatcherBareChange = false;
145
+ let pendingWatcherOverflowed = false;
146
+ let pendingWatcherDroppedPaths = 0;
147
+ let pendingWatcherDroppedBytes = 0;
148
+ const addPendingWatcherChange = (changedRelPath, batch) => {
149
+ if (batch) {
150
+ pendingWatcherOriginalBatch =
151
+ pendingWatcherPaths.size === 0 &&
152
+ !pendingWatcherBareChange &&
153
+ !pendingWatcherOverflowed &&
154
+ !batch.overflowed
155
+ ? batch
156
+ : null;
157
+ for (const [absolutePath, relativePath] of batch.paths.entries()) {
158
+ pendingWatcherPaths.set(absolutePath, relativePath);
159
+ }
160
+ if (batch.overflowed) {
161
+ pendingWatcherOverflowed = true;
162
+ pendingWatcherDroppedPaths += batch.droppedPaths ?? 0;
163
+ pendingWatcherDroppedBytes += batch.droppedBytes ?? 0;
164
+ }
165
+ return;
166
+ }
167
+ if (changedRelPath) {
168
+ pendingWatcherOriginalBatch = null;
169
+ pendingWatcherPaths.set(path.join(hqRoot, changedRelPath), changedRelPath);
170
+ return;
171
+ }
172
+ pendingWatcherOriginalBatch = null;
173
+ pendingWatcherBareChange = true;
174
+ };
175
+ const takePendingWatcherChange = () => {
176
+ const batch = pendingWatcherOriginalBatch !== null && !pendingWatcherOverflowed
177
+ ? pendingWatcherOriginalBatch
178
+ : pendingWatcherPaths.size > 0 || pendingWatcherOverflowed
179
+ ? {
180
+ paths: new Map(pendingWatcherPaths),
181
+ ...(pendingWatcherOverflowed
182
+ ? {
183
+ overflowed: true,
184
+ droppedPaths: pendingWatcherDroppedPaths,
185
+ droppedBytes: pendingWatcherDroppedBytes,
186
+ }
187
+ : {}),
188
+ }
189
+ : null;
190
+ const rel = [...pendingWatcherPaths.values()][0] ?? null;
191
+ const fallbackRel = rel ?? (pendingWatcherBareChange ? null : null);
192
+ pendingWatcherPaths.clear();
193
+ pendingWatcherOriginalBatch = null;
194
+ pendingWatcherBareChange = false;
195
+ pendingWatcherOverflowed = false;
196
+ pendingWatcherDroppedPaths = 0;
197
+ pendingWatcherDroppedBytes = 0;
198
+ return { rel: fallbackRel, batch };
199
+ };
200
+ let receiver = null;
201
+ let eventSync = null;
202
+ if (eventPush) {
203
+ const clock = deps.clock ?? systemClock;
204
+ const debounceMs = 2000;
205
+ const createWatcher = deps.createWatcher ??
206
+ ((opts) => new TreeWatcher({
207
+ hqRoot: opts.hqRoot,
208
+ debounceMs: opts.debounceMs,
209
+ clock: opts.clock,
210
+ personalMode: !companiesMode,
211
+ }));
212
+ watcher = createWatcher({ hqRoot, debounceMs, clock });
213
+ driver = new WatchPushDriver({
214
+ debounceMs: 0,
215
+ clock,
216
+ push: async () => {
217
+ if (stopped)
218
+ return;
219
+ const { rel, batch: batchForPublish } = takePendingWatcherChange();
220
+ const batchRoutes = batchForPublish
221
+ ? routesForBatch(batchForPublish)
222
+ : new Map();
223
+ let targetedArgv;
224
+ if (batchForPublish?.overflowed || batchRoutes.size > 1) {
225
+ targetedArgv = buildFullFanoutPushArgv(passArgv);
226
+ }
227
+ else {
228
+ const route = batchRoutes.size === 1
229
+ ? [...batchRoutes.values()][0]
230
+ : rel
231
+ ? routeChangeToTarget(rel)
232
+ : { kind: "personal" };
233
+ if (!route)
234
+ return;
235
+ targetedArgv = buildTargetedPushArgv(route, passArgv);
236
+ }
237
+ const result = await runGuarded(targetedArgv);
238
+ if (result === 0 &&
239
+ !stopped &&
240
+ eventSync &&
241
+ !batchForPublish?.overflowed) {
242
+ const batch = batchForPublish ??
243
+ (rel ? { paths: new Map([[path.join(hqRoot, rel), rel]]) } : null);
244
+ if (batch)
245
+ eventSync.publishBatch(batch);
246
+ }
247
+ },
248
+ });
249
+ watcher.onChange((changedRelPath, batch) => {
250
+ if (stopped)
251
+ return;
252
+ addPendingWatcherChange(changedRelPath, batch);
253
+ driver?.notifyChange();
254
+ });
255
+ watcher.start();
256
+ const receiverSyncFn = async (ctx) => {
257
+ if (stopped)
258
+ return;
259
+ const route = routeChangeToTarget(ctx.event.relativePath);
260
+ if (!route)
261
+ return;
262
+ const targetedArgv = buildTargetedPullArgv(route, passArgv);
263
+ const result = await runGuarded(targetedArgv);
264
+ if (result !== 0) {
265
+ throw new Error(`targeted pull failed with exit code ${result}`);
266
+ }
267
+ };
268
+ const createReceiver = deps.createReceiver ?? (() => new NoopPushReceiver());
269
+ receiver = createReceiver({ syncFn: receiverSyncFn, hqRoot });
270
+ void Promise.resolve(receiver.start()).catch(() => undefined);
271
+ const getClaims = deps.getIdTokenClaims ?? runtime.defaultGetIdTokenClaims;
272
+ const email = getClaims()?.email;
273
+ if (resolveEventSync(email, process.env.HQ_SYNC_EVENT_SYNC)) {
274
+ const getAccessToken = deps.getAccessToken ?? runtime.defaultGetAccessToken;
275
+ const startES = deps.startEventSync ?? defaultStartEventSync;
276
+ void (async () => {
277
+ const handles = await startES({
278
+ hqRoot,
279
+ apiUrl: runtime.apiUrl,
280
+ authToken: getAccessToken,
281
+ deviceId: getOrCreateMachineId(hqRoot),
282
+ resolveTenantId: async () => {
283
+ const client = new VaultClient({
284
+ apiUrl: runtime.apiUrl,
285
+ authToken: getAccessToken,
286
+ region: runtime.region,
287
+ });
288
+ const persons = await client.entity.listByType("person");
289
+ const pick = pickCanonicalPersonEntity(persons);
290
+ if (!pick?.uid) {
291
+ throw new Error("no canonical person entity for this account");
292
+ }
293
+ return pick.uid;
294
+ },
295
+ syncFn: receiverSyncFn,
296
+ log: (m) => process.stderr.write(`${m}\n`),
297
+ });
298
+ if (!handles)
299
+ return;
300
+ if (stopped) {
301
+ void handles.dispose();
302
+ return;
303
+ }
304
+ eventSync = handles;
305
+ })().catch((err) => {
306
+ process.stderr.write(`event-sync: wiring failed, continuing poll-only: ${describeError(err)}\n`);
307
+ });
308
+ }
309
+ }
310
+ let resolveStopped = null;
311
+ const stoppedSignal = new Promise((resolve) => {
312
+ resolveStopped = resolve;
313
+ });
314
+ const shutdown = () => {
315
+ if (stopped)
316
+ return;
317
+ stopped = true;
318
+ resolveStoppedQueue();
319
+ try {
320
+ void receiver?.dispose();
321
+ }
322
+ catch {
323
+ /* ignore */
324
+ }
325
+ try {
326
+ void eventSync?.dispose();
327
+ }
328
+ catch {
329
+ /* ignore */
330
+ }
331
+ eventSync = null;
332
+ try {
333
+ driver?.dispose();
334
+ }
335
+ catch {
336
+ /* ignore */
337
+ }
338
+ try {
339
+ watcher?.dispose();
340
+ }
341
+ catch {
342
+ /* ignore */
343
+ }
344
+ resolveStopped?.();
345
+ };
346
+ const onShutdownSignal = deps.onShutdownSignal ??
347
+ ((handler) => {
348
+ const wrapped = () => handler();
349
+ process.on("SIGTERM", wrapped);
350
+ process.on("SIGINT", wrapped);
351
+ return () => {
352
+ process.off("SIGTERM", wrapped);
353
+ process.off("SIGINT", wrapped);
354
+ };
355
+ });
356
+ detachSignal = onShutdownSignal(shutdown);
357
+ try {
358
+ while (!stopped) {
359
+ const result = await runGuarded(passArgv);
360
+ if (result !== 0) {
361
+ return result;
362
+ }
363
+ await Promise.race([sleep(pollMs), stoppedSignal]);
364
+ }
365
+ return 0;
366
+ }
367
+ finally {
368
+ shutdown();
369
+ detachSignal?.();
370
+ }
371
+ }
372
+ //# sourceMappingURL=sync-runner-watch-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { TreeChangeBatch } from "../watcher.js";
2
+ export type WatchRoute = {
3
+ kind: "company";
4
+ slug: string;
5
+ } | {
6
+ kind: "personal";
7
+ };
8
+ /**
9
+ * Route a changed relative path to the push target that owns it.
10
+ *
11
+ * - `companies/<slug>/...` -> a single-company route for `<slug>`.
12
+ * - anything else under hqRoot -> the personal route.
13
+ */
14
+ export declare function routeChangeToTarget(relPath: string): WatchRoute | null;
15
+ /**
16
+ * Build the argv for a targeted push pass from a routed change.
17
+ */
18
+ export declare function buildTargetedPushArgv(route: WatchRoute, baseArgv: string[]): string[];
19
+ export declare function buildFullFanoutPushArgv(baseArgv: string[]): string[];
20
+ /**
21
+ * Build the argv for a targeted pull pass from a routed change.
22
+ */
23
+ export declare function buildTargetedPullArgv(route: WatchRoute, baseArgv: string[]): string[];
24
+ export declare function routesForBatch(batch: TreeChangeBatch): Map<string, WatchRoute>;
25
+ //# sourceMappingURL=sync-runner-watch-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-runner-watch-routes.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAUtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAMV;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAMV;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAQ9E"}
@@ -0,0 +1,74 @@
1
+ import * as path from "path";
2
+ /**
3
+ * Route a changed relative path to the push target that owns it.
4
+ *
5
+ * - `companies/<slug>/...` -> a single-company route for `<slug>`.
6
+ * - anything else under hqRoot -> the personal route.
7
+ */
8
+ export function routeChangeToTarget(relPath) {
9
+ const norm = relPath.split(path.sep).join("/").replace(/^\.\//, "");
10
+ if (norm === "" || norm.startsWith(".."))
11
+ return null;
12
+ const segments = norm.split("/").filter((s) => s.length > 0);
13
+ if (segments.length === 0)
14
+ return null;
15
+ if (segments[0] === "companies") {
16
+ if (segments.length < 2 || segments[1].length === 0)
17
+ return null;
18
+ return { kind: "company", slug: segments[1] };
19
+ }
20
+ return { kind: "personal" };
21
+ }
22
+ /**
23
+ * Build the argv for a targeted push pass from a routed change.
24
+ */
25
+ export function buildTargetedPushArgv(route, baseArgv) {
26
+ const carried = carriedFlags(baseArgv);
27
+ if (route.kind === "company") {
28
+ return ["--company", route.slug, "--direction", "push", ...carried];
29
+ }
30
+ return ["--companies", "--direction", "push", ...carried];
31
+ }
32
+ export function buildFullFanoutPushArgv(baseArgv) {
33
+ return ["--companies", "--direction", "push", ...carriedFlags(baseArgv)];
34
+ }
35
+ /**
36
+ * Build the argv for a targeted pull pass from a routed change.
37
+ */
38
+ export function buildTargetedPullArgv(route, baseArgv) {
39
+ const carried = carriedFlags(baseArgv);
40
+ if (route.kind === "company") {
41
+ return ["--company", route.slug, "--direction", "pull", ...carried];
42
+ }
43
+ return ["--companies", "--direction", "pull", ...carried];
44
+ }
45
+ function routeKey(route) {
46
+ return route.kind === "company" ? `company:${route.slug}` : "personal";
47
+ }
48
+ export function routesForBatch(batch) {
49
+ const routes = new Map();
50
+ for (const relPath of batch.paths.values()) {
51
+ const route = routeChangeToTarget(relPath);
52
+ if (!route)
53
+ continue;
54
+ routes.set(routeKey(route), route);
55
+ }
56
+ return routes;
57
+ }
58
+ /**
59
+ * Extract the `--hq-root` / `--on-conflict` pair-flags from a base argv so a
60
+ * re-targeted pass inherits the same root and conflict policy.
61
+ */
62
+ function carriedFlags(baseArgv) {
63
+ const carried = [];
64
+ for (let i = 0; i < baseArgv.length; i++) {
65
+ const a = baseArgv[i];
66
+ if (a === "--hq-root" || a === "--on-conflict") {
67
+ carried.push(a);
68
+ if (baseArgv[i + 1] !== undefined)
69
+ carried.push(baseArgv[++i]);
70
+ }
71
+ }
72
+ return carried;
73
+ }
74
+ //# sourceMappingURL=sync-runner-watch-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-runner-watch-routes.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-routes.ts"],"names":[],"mappings":"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"}
@@ -61,9 +61,10 @@ import { PERSONAL_VAULT_EXCLUDED_TOP_LEVEL, computePersonalVaultPaths } from "..
61
61
  import type { SyncOptions, SyncResult, SyncProgressEvent } from "../cli/sync.js";
62
62
  import type { ShareOptions, ShareResult } from "../cli/share.js";
63
63
  import { type ObjectIOFactory, type PresignTransportClient } from "../object-io.js";
64
- import { type Clock, type TreeChangeBatch } from "../watcher.js";
65
- import { type PushReceiver, type SyncEngineFn } from "../sync/push-receiver.js";
64
+ import type { Clock, TreeChangeBatch } from "../watcher.js";
65
+ import type { PushReceiver, SyncEngineFn } from "../sync/push-receiver.js";
66
66
  import { type EventSyncHandles, type StartEventSyncOptions } from "../sync/event-sync.js";
67
+ export { buildTargetedPullArgv, buildTargetedPushArgv, routeChangeToTarget, } from "./sync-runner-watch-routes.js";
67
68
  /**
68
69
  * Sync direction for a run.
69
70
  *
@@ -346,6 +347,8 @@ export interface RunnerDeps {
346
347
  createVaultClient?: (config: VaultServiceConfig) => VaultClientSurface;
347
348
  /** Sync function. Defaults to `cli/sync.sync`. */
348
349
  sync?: (options: SyncOptions) => Promise<SyncResult>;
350
+ /** Internal: set when runRunner is invoked under the per-root operation lock. */
351
+ operationLockAlreadyHeld?: boolean;
349
352
  /** Share function (push phase). Defaults to `cli/share.share`. */
350
353
  share?: (options: ShareOptions) => Promise<ShareResult>;
351
354
  /**
@@ -470,57 +473,5 @@ export interface WatcherSurface {
470
473
  stop(): void;
471
474
  dispose(): void;
472
475
  }
473
- /**
474
- * Route a changed relative path to the push target that owns it.
475
- *
476
- * - `companies/<slug>/...` → a single-company push for `<slug>` (the targeted
477
- * pass per PRD decision — push only the changed company, not a full
478
- * `--companies` fanout).
479
- * - anything else under hqRoot → the personal target (a `--companies` push
480
- * restricted to personal via the personal-vault scope; modeled here as the
481
- * "personal" route the caller maps to the right argv).
482
- *
483
- * Returns `null` for paths the routing cannot attribute (defensive — the
484
- * watcher's filter already drops excluded top-levels, so this is belt-and-
485
- * suspenders for synthetic events).
486
- */
487
- export declare function routeChangeToTarget(relPath: string): {
488
- kind: "company";
489
- slug: string;
490
- } | {
491
- kind: "personal";
492
- } | null;
493
- /**
494
- * Build the argv for a targeted push pass from a routed change. The push runs
495
- * `--direction push` for just the routed target so a local edit propagates in
496
- * seconds without a full fanout. Company routes use `--company <slug>`;
497
- * personal routes use `--companies --direction push` (the personal-vault scope
498
- * is resolved inside runRunner's fanout; skipUnchanged no-ops the company
499
- * subtrees that didn't change). Inherits `--hq-root` / `--on-conflict` from
500
- * the base argv. Pure helper, exported for unit testing the routing→argv map.
501
- */
502
- export declare function buildTargetedPushArgv(route: {
503
- kind: "company";
504
- slug: string;
505
- } | {
506
- kind: "personal";
507
- }, baseArgv: string[]): string[];
508
- /**
509
- * Build the argv for a targeted PULL pass from a routed change (US-009 — the
510
- * receiver's pull-on-event path). Mirrors {@link buildTargetedPushArgv} but
511
- * with `--direction pull`: a peer device pushed a change, so this device pulls
512
- * just the affected company/subtree instead of waiting for the next
513
- * `--poll-remote-ms` cycle. Company routes use `--company <slug>`; personal
514
- * routes use `--companies` (the personal-vault scope is resolved inside
515
- * runRunner's fanout; skipUnchanged no-ops the subtrees that didn't change).
516
- * Inherits `--hq-root` / `--on-conflict` from the base argv. Pure helper,
517
- * exported for unit testing the event→argv map.
518
- */
519
- export declare function buildTargetedPullArgv(route: {
520
- kind: "company";
521
- slug: string;
522
- } | {
523
- kind: "personal";
524
- }, baseArgv: string[]): string[];
525
476
  export declare function runRunnerWithLoop(argv: string[], deps?: RunnerLoopDeps): Promise<number>;
526
477
  //# sourceMappingURL=sync-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}