lim 0.14.4 → 0.14.6

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 (162) hide show
  1. package/dist/base-command.d.ts +3 -0
  2. package/dist/base-command.d.ts.map +1 -1
  3. package/dist/base-command.js +18 -4
  4. package/dist/base-command.js.map +1 -1
  5. package/dist/commands/android/connect.d.ts +1 -0
  6. package/dist/commands/android/connect.d.ts.map +1 -1
  7. package/dist/commands/android/create.d.ts +1 -0
  8. package/dist/commands/android/create.d.ts.map +1 -1
  9. package/dist/commands/android/delete.d.ts +1 -0
  10. package/dist/commands/android/delete.d.ts.map +1 -1
  11. package/dist/commands/android/element-tree.d.ts +1 -0
  12. package/dist/commands/android/element-tree.d.ts.map +1 -1
  13. package/dist/commands/android/find-element.d.ts +1 -0
  14. package/dist/commands/android/find-element.d.ts.map +1 -1
  15. package/dist/commands/android/get.d.ts +1 -0
  16. package/dist/commands/android/get.d.ts.map +1 -1
  17. package/dist/commands/android/install-app.d.ts +1 -0
  18. package/dist/commands/android/install-app.d.ts.map +1 -1
  19. package/dist/commands/android/list.d.ts +1 -0
  20. package/dist/commands/android/list.d.ts.map +1 -1
  21. package/dist/commands/android/open-url.d.ts +1 -0
  22. package/dist/commands/android/open-url.d.ts.map +1 -1
  23. package/dist/commands/android/press-key.d.ts +1 -0
  24. package/dist/commands/android/press-key.d.ts.map +1 -1
  25. package/dist/commands/android/record.d.ts +1 -0
  26. package/dist/commands/android/record.d.ts.map +1 -1
  27. package/dist/commands/android/screenshot.d.ts +1 -0
  28. package/dist/commands/android/screenshot.d.ts.map +1 -1
  29. package/dist/commands/android/scroll.d.ts +1 -0
  30. package/dist/commands/android/scroll.d.ts.map +1 -1
  31. package/dist/commands/android/set-wifi-bandwidth.d.ts +1 -0
  32. package/dist/commands/android/set-wifi-bandwidth.d.ts.map +1 -1
  33. package/dist/commands/android/tap-element.d.ts +1 -0
  34. package/dist/commands/android/tap-element.d.ts.map +1 -1
  35. package/dist/commands/android/tap.d.ts +1 -0
  36. package/dist/commands/android/tap.d.ts.map +1 -1
  37. package/dist/commands/android/type.d.ts +1 -0
  38. package/dist/commands/android/type.d.ts.map +1 -1
  39. package/dist/commands/asset/delete.d.ts +1 -0
  40. package/dist/commands/asset/delete.d.ts.map +1 -1
  41. package/dist/commands/asset/list.d.ts +1 -0
  42. package/dist/commands/asset/list.d.ts.map +1 -1
  43. package/dist/commands/asset/pull.d.ts +1 -0
  44. package/dist/commands/asset/pull.d.ts.map +1 -1
  45. package/dist/commands/asset/push.d.ts +1 -0
  46. package/dist/commands/asset/push.d.ts.map +1 -1
  47. package/dist/commands/ios/app-log.d.ts +1 -0
  48. package/dist/commands/ios/app-log.d.ts.map +1 -1
  49. package/dist/commands/ios/cp.d.ts +1 -0
  50. package/dist/commands/ios/cp.d.ts.map +1 -1
  51. package/dist/commands/ios/create.d.ts +1 -0
  52. package/dist/commands/ios/create.d.ts.map +1 -1
  53. package/dist/commands/ios/delete.d.ts +1 -0
  54. package/dist/commands/ios/delete.d.ts.map +1 -1
  55. package/dist/commands/ios/element-tree.d.ts +1 -0
  56. package/dist/commands/ios/element-tree.d.ts.map +1 -1
  57. package/dist/commands/ios/get.d.ts +1 -0
  58. package/dist/commands/ios/get.d.ts.map +1 -1
  59. package/dist/commands/ios/info.d.ts +1 -0
  60. package/dist/commands/ios/info.d.ts.map +1 -1
  61. package/dist/commands/ios/install-app.d.ts +1 -0
  62. package/dist/commands/ios/install-app.d.ts.map +1 -1
  63. package/dist/commands/ios/launch-app.d.ts +1 -0
  64. package/dist/commands/ios/launch-app.d.ts.map +1 -1
  65. package/dist/commands/ios/list-apps.d.ts +1 -0
  66. package/dist/commands/ios/list-apps.d.ts.map +1 -1
  67. package/dist/commands/ios/list.d.ts +1 -0
  68. package/dist/commands/ios/list.d.ts.map +1 -1
  69. package/dist/commands/ios/lsof.d.ts +1 -0
  70. package/dist/commands/ios/lsof.d.ts.map +1 -1
  71. package/dist/commands/ios/open-url.d.ts +1 -0
  72. package/dist/commands/ios/open-url.d.ts.map +1 -1
  73. package/dist/commands/ios/perform.d.ts +1 -0
  74. package/dist/commands/ios/perform.d.ts.map +1 -1
  75. package/dist/commands/ios/press-key.d.ts +1 -0
  76. package/dist/commands/ios/press-key.d.ts.map +1 -1
  77. package/dist/commands/ios/record.d.ts +1 -0
  78. package/dist/commands/ios/record.d.ts.map +1 -1
  79. package/dist/commands/ios/reverse.d.ts +1 -0
  80. package/dist/commands/ios/reverse.d.ts.map +1 -1
  81. package/dist/commands/ios/screenshot.d.ts +1 -0
  82. package/dist/commands/ios/screenshot.d.ts.map +1 -1
  83. package/dist/commands/ios/scroll.d.ts +1 -0
  84. package/dist/commands/ios/scroll.d.ts.map +1 -1
  85. package/dist/commands/ios/simctl.d.ts +1 -0
  86. package/dist/commands/ios/simctl.d.ts.map +1 -1
  87. package/dist/commands/ios/sync.d.ts +1 -0
  88. package/dist/commands/ios/sync.d.ts.map +1 -1
  89. package/dist/commands/ios/syslog.d.ts +1 -0
  90. package/dist/commands/ios/syslog.d.ts.map +1 -1
  91. package/dist/commands/ios/tap-element.d.ts +1 -0
  92. package/dist/commands/ios/tap-element.d.ts.map +1 -1
  93. package/dist/commands/ios/tap.d.ts +1 -0
  94. package/dist/commands/ios/tap.d.ts.map +1 -1
  95. package/dist/commands/ios/terminate-app.d.ts +1 -0
  96. package/dist/commands/ios/terminate-app.d.ts.map +1 -1
  97. package/dist/commands/ios/toggle-keyboard.d.ts +1 -0
  98. package/dist/commands/ios/toggle-keyboard.d.ts.map +1 -1
  99. package/dist/commands/ios/type.d.ts +1 -0
  100. package/dist/commands/ios/type.d.ts.map +1 -1
  101. package/dist/commands/ios/xcodebuild.d.ts +1 -0
  102. package/dist/commands/ios/xcodebuild.d.ts.map +1 -1
  103. package/dist/commands/ios/xcrun.d.ts +1 -0
  104. package/dist/commands/ios/xcrun.d.ts.map +1 -1
  105. package/dist/commands/login.d.ts +1 -0
  106. package/dist/commands/login.d.ts.map +1 -1
  107. package/dist/commands/logout.d.ts +1 -0
  108. package/dist/commands/logout.d.ts.map +1 -1
  109. package/dist/commands/session/start.d.ts +1 -0
  110. package/dist/commands/session/start.d.ts.map +1 -1
  111. package/dist/commands/session/status.d.ts +1 -0
  112. package/dist/commands/session/status.d.ts.map +1 -1
  113. package/dist/commands/session/stop.d.ts +1 -0
  114. package/dist/commands/session/stop.d.ts.map +1 -1
  115. package/dist/commands/set-workspace-dir.d.ts +15 -0
  116. package/dist/commands/set-workspace-dir.d.ts.map +1 -0
  117. package/dist/commands/set-workspace-dir.js +60 -0
  118. package/dist/commands/set-workspace-dir.js.map +1 -0
  119. package/dist/commands/xcode/attach-simulator.d.ts +1 -0
  120. package/dist/commands/xcode/attach-simulator.d.ts.map +1 -1
  121. package/dist/commands/xcode/create.d.ts +1 -0
  122. package/dist/commands/xcode/create.d.ts.map +1 -1
  123. package/dist/commands/xcode/delete.d.ts +1 -0
  124. package/dist/commands/xcode/delete.d.ts.map +1 -1
  125. package/dist/commands/xcode/get.d.ts +1 -0
  126. package/dist/commands/xcode/get.d.ts.map +1 -1
  127. package/dist/commands/xcode/list.d.ts +1 -0
  128. package/dist/commands/xcode/list.d.ts.map +1 -1
  129. package/dist/commands/xcode/rbe/install.d.ts +2 -0
  130. package/dist/commands/xcode/rbe/install.d.ts.map +1 -1
  131. package/dist/commands/xcode/rbe/install.js +14 -4
  132. package/dist/commands/xcode/rbe/install.js.map +1 -1
  133. package/dist/commands/xcode/rbe.d.ts +5 -0
  134. package/dist/commands/xcode/rbe.d.ts.map +1 -1
  135. package/dist/commands/xcode/rbe.js +122 -13
  136. package/dist/commands/xcode/rbe.js.map +1 -1
  137. package/dist/commands/xcode/sync.d.ts +1 -0
  138. package/dist/commands/xcode/sync.d.ts.map +1 -1
  139. package/dist/lib/config.d.ts.map +1 -1
  140. package/dist/lib/config.js +324 -105
  141. package/dist/lib/config.js.map +1 -1
  142. package/dist/lib/rbe-bep-watcher.d.ts +41 -0
  143. package/dist/lib/rbe-bep-watcher.d.ts.map +1 -0
  144. package/dist/lib/rbe-bep-watcher.js +267 -0
  145. package/dist/lib/rbe-bep-watcher.js.map +1 -0
  146. package/dist/lib/rbe-session.d.ts +13 -0
  147. package/dist/lib/rbe-session.d.ts.map +1 -1
  148. package/dist/lib/rbe-session.js +15 -0
  149. package/dist/lib/rbe-session.js.map +1 -1
  150. package/dist/lib/rbe-workspace.d.ts +14 -1
  151. package/dist/lib/rbe-workspace.d.ts.map +1 -1
  152. package/dist/lib/rbe-workspace.js +25 -5
  153. package/dist/lib/rbe-workspace.js.map +1 -1
  154. package/dist/lib/scope.d.ts +38 -0
  155. package/dist/lib/scope.d.ts.map +1 -0
  156. package/dist/lib/scope.js +125 -0
  157. package/dist/lib/scope.js.map +1 -0
  158. package/dist/lib/workspace.d.ts +25 -0
  159. package/dist/lib/workspace.d.ts.map +1 -0
  160. package/dist/lib/workspace.js +111 -0
  161. package/dist/lib/workspace.js.map +1 -0
  162. package/package.json +4 -3
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.startBepWatcher = startBepWatcher;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const api_1 = require("@limrun/api");
10
+ function startBepWatcher(opts) {
11
+ const { bepPath, target, getClient, log, debounceMs = 400, pollIntervalMs = 1500, retryDelayMs = 5000, maxRetries = 3, } = opts;
12
+ const watchDir = path_1.default.dirname(bepPath);
13
+ const bepName = path_1.default.basename(bepPath);
14
+ // Act once per build. We dedupe on the Bazel invocation id (not the digest) so
15
+ // a rebuild that reproduces an earlier digest (git stash revert) still
16
+ // re-registers — the instance, keyed on the CAS digest, then reinstalls only
17
+ // if the on-sim digest actually differs. When a BEP carries no invocation id
18
+ // (older Bazel), we fall back to the digest hash so we still avoid re-acting on
19
+ // the same build's repeated change events.
20
+ let lastHandledInvocation;
21
+ let lastHandledHash;
22
+ let authExpired = false;
23
+ const loggedOnce = new Set();
24
+ let closed = false;
25
+ let dirty = false;
26
+ let currentTick = null;
27
+ // Bounded retry for transient install failures (the mtime/size poll only fires
28
+ // on a file change, so a settled build wouldn't otherwise be retried).
29
+ let retryTimer = null;
30
+ let retryInvocation;
31
+ let retryCount = 0;
32
+ let debounceTimer = null;
33
+ // Seed from the current file (if any) so the first poll doesn't spuriously fire,
34
+ // and so we notice a rewrite by size even when mtime granularity is coarse.
35
+ let lastMtimeMs = -1;
36
+ let lastSize = -1;
37
+ try {
38
+ const st = fs_1.default.statSync(bepPath);
39
+ lastMtimeMs = st.mtimeMs;
40
+ lastSize = st.size;
41
+ }
42
+ catch {
43
+ /* no BEP yet */
44
+ }
45
+ const logOnce = (key, msg) => {
46
+ if (loggedOnce.has(key))
47
+ return;
48
+ loggedOnce.add(key);
49
+ log(msg);
50
+ };
51
+ const trigger = () => {
52
+ if (closed)
53
+ return;
54
+ if (currentTick) {
55
+ // A tick is in flight; mark dirty so we re-run once it settles.
56
+ dirty = true;
57
+ return;
58
+ }
59
+ currentTick = tick()
60
+ .catch((err) => log(`auto-install: unexpected error: ${errMsg(err)}`))
61
+ .finally(() => {
62
+ currentTick = null;
63
+ // A BEP change during the registration (e.g. a new build) set `dirty`;
64
+ // re-run so we converge on the latest on-disk build.
65
+ if (dirty && !closed) {
66
+ dirty = false;
67
+ trigger();
68
+ }
69
+ });
70
+ };
71
+ const onChange = () => {
72
+ if (closed)
73
+ return;
74
+ if (debounceTimer)
75
+ clearTimeout(debounceTimer);
76
+ debounceTimer = setTimeout(() => {
77
+ debounceTimer = null;
78
+ trigger();
79
+ }, debounceMs);
80
+ };
81
+ async function tick() {
82
+ if (authExpired)
83
+ return; // a detached daemon cannot relogin; stop trying.
84
+ if (closed)
85
+ return;
86
+ let bep;
87
+ try {
88
+ bep = await fs_1.default.promises.readFile(bepPath, 'utf8');
89
+ }
90
+ catch {
91
+ return; // file missing/unreadable; a later change re-triggers.
92
+ }
93
+ const completion = (0, api_1.inspectBuildCompletion)(bep);
94
+ if (!completion.complete || !completion.success) {
95
+ // Build still flushing, or it failed: leave prior state untouched. A
96
+ // failed build must not register anything.
97
+ return;
98
+ }
99
+ if (completion.invocationId && completion.invocationId === lastHandledInvocation) {
100
+ return; // already handled this build.
101
+ }
102
+ // The BEP is fully flushed (gated on the terminal `lastMessage` event), so a
103
+ // parse failure here is definitive, not a not-yet-written race: this build
104
+ // either didn't produce our target or used wrong flags (BLAKE3 / local-only).
105
+ // Either way, mark the build handled so its remaining change events don't
106
+ // reprocess; log the wrong-flags case once.
107
+ let digest;
108
+ try {
109
+ digest = (0, api_1.parseTopLevelIpaDigest)(bep, target);
110
+ }
111
+ catch (err) {
112
+ if (err instanceof api_1.RbeBepError && err.terminal) {
113
+ logOnce(`terminal:${completion.invocationId ?? 'no-invocation'}`, `auto-install: ${errMsg(err)}`);
114
+ }
115
+ markHandled(completion.invocationId, undefined);
116
+ return;
117
+ }
118
+ // Fall back to the digest for the rare BEP without an invocation id, so the
119
+ // same build's repeated change events don't re-register.
120
+ if (!completion.invocationId && digest.hash === lastHandledHash) {
121
+ return;
122
+ }
123
+ await register(bep, digest, completion.invocationId);
124
+ }
125
+ function markHandled(invocationId, hash) {
126
+ // Update each dedupe key only when we actually have a value, so a terminal
127
+ // parse failure (which has an invocation id but no digest) doesn't wipe the
128
+ // hash-fallback key used for invocation-less BEP streams.
129
+ if (invocationId !== undefined)
130
+ lastHandledInvocation = invocationId;
131
+ if (hash !== undefined)
132
+ lastHandledHash = hash;
133
+ }
134
+ /**
135
+ * Schedules a re-attempt after a transient install failure (the build is not
136
+ * marked handled, so the re-triggered tick re-reads and retries the same
137
+ * build). Bounded per build: after maxRetries we give up and mark it handled so
138
+ * a permanent failure can't loop forever — the user rebuilds to retry.
139
+ */
140
+ function scheduleRetry(invocationId, digest) {
141
+ if (closed)
142
+ return;
143
+ if (invocationId !== retryInvocation) {
144
+ retryInvocation = invocationId;
145
+ retryCount = 0;
146
+ }
147
+ if (retryCount >= maxRetries) {
148
+ logOnce(`giveup:${invocationId ?? digest.hash}`, `auto-install: gave up installing ${digest.ipaName} after ${maxRetries} retries; rebuild to retry.`);
149
+ markHandled(invocationId, digest.hash);
150
+ return;
151
+ }
152
+ retryCount++;
153
+ if (retryTimer)
154
+ clearTimeout(retryTimer);
155
+ retryTimer = setTimeout(() => {
156
+ retryTimer = null;
157
+ trigger();
158
+ }, retryDelayMs);
159
+ if (typeof retryTimer.unref === 'function')
160
+ retryTimer.unref();
161
+ }
162
+ async function register(bep, digest, invocationId) {
163
+ let result;
164
+ try {
165
+ result = await getClient().installRbeBuildFromBep({ bep, target });
166
+ }
167
+ catch (err) {
168
+ if (isAuthError(err)) {
169
+ authExpired = true;
170
+ logOnce('auth', 'auto-install: session expired; restart `lim xcode rbe` to resume auto-install.');
171
+ return;
172
+ }
173
+ // Transient (network/instance blip). The mtime/size poll won't re-fire for
174
+ // a settled build, so schedule a bounded retry rather than dropping it until
175
+ // the next build.
176
+ log(`auto-install: failed to install ${digest.ipaName}: ${errMsg(err)}`);
177
+ scheduleRetry(invocationId, digest);
178
+ return;
179
+ }
180
+ // The build is handled — don't retry it on the next change.
181
+ markHandled(invocationId, digest.hash);
182
+ if (result.installed) {
183
+ const timing = result.syncDurationMs !== undefined ?
184
+ ` (synced ${result.syncDurationMs}ms, installed ${result.installDurationMs ?? 0}ms)`
185
+ : '';
186
+ log(`auto-install: installed ${result.appName ?? digest.ipaName}${timing}`);
187
+ }
188
+ else {
189
+ log(`auto-install: recorded ${digest.ipaName}; will install when a simulator is attached.`);
190
+ }
191
+ }
192
+ // fs.watch on the directory (Bazel truncates+rewrites bep.json, changing the
193
+ // inode, so watching the file path directly is unreliable). Filter to bep.json.
194
+ let watcher = null;
195
+ try {
196
+ watcher = fs_1.default.watch(watchDir, (_event, filename) => {
197
+ if (!filename || path_1.default.basename(filename.toString()) === bepName)
198
+ onChange();
199
+ });
200
+ watcher.on('error', (err) => log(`auto-install: watch error: ${errMsg(err)}`));
201
+ }
202
+ catch (err) {
203
+ log(`auto-install: could not watch ${watchDir}: ${errMsg(err)}`);
204
+ }
205
+ // mtime-poll backstop: macOS FSEvents can coalesce or drop the single
206
+ // completion event, so also poll the BEP's mtime and act on a change.
207
+ const poll = setInterval(() => {
208
+ fs_1.default.promises
209
+ .stat(bepPath)
210
+ .then((st) => {
211
+ // Compare size too: a fast cached rebuild's truncate+rewrite can land
212
+ // within one mtime tick on coarse-granularity filesystems.
213
+ if (st.mtimeMs !== lastMtimeMs || st.size !== lastSize) {
214
+ lastMtimeMs = st.mtimeMs;
215
+ lastSize = st.size;
216
+ onChange();
217
+ }
218
+ })
219
+ .catch(() => {
220
+ /* no BEP yet */
221
+ });
222
+ }, pollIntervalMs);
223
+ // Don't let the poll timer keep the event loop alive on its own.
224
+ if (typeof poll.unref === 'function')
225
+ poll.unref();
226
+ // Catch a build that completed before the watcher started (e.g. daemon restart).
227
+ trigger();
228
+ return {
229
+ async close() {
230
+ closed = true;
231
+ if (debounceTimer)
232
+ clearTimeout(debounceTimer);
233
+ if (retryTimer)
234
+ clearTimeout(retryTimer);
235
+ clearInterval(poll);
236
+ watcher?.close();
237
+ if (currentTick) {
238
+ try {
239
+ await currentTick;
240
+ }
241
+ catch {
242
+ /* already logged */
243
+ }
244
+ }
245
+ },
246
+ };
247
+ }
248
+ function errMsg(err) {
249
+ return err instanceof Error ? err.message : String(err);
250
+ }
251
+ /**
252
+ * Detects an expired/invalid session (HTTP 401). The SDK throws a typed
253
+ * AuthenticationError (status 401) on some paths; the instance-direct path
254
+ * (installRbeBuildFromBep) instead throws a plain Error whose message is
255
+ * `"<op> failed: <status> <body>"`. Match the status POSITION (`failed: 401`),
256
+ * not a bare `401` anywhere — a transient 5xx whose body merely contains "401"
257
+ * (a trace id, a JSON offset) must not latch auto-install off.
258
+ */
259
+ function isAuthError(err) {
260
+ if (err && typeof err === 'object') {
261
+ const e = err;
262
+ if (e.name === 'AuthenticationError' || e.status === 401)
263
+ return true;
264
+ }
265
+ return /\bfailed: 401\b/.test(errMsg(err));
266
+ }
267
+ //# sourceMappingURL=rbe-bep-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbe-bep-watcher.js","sourceRoot":"","sources":["../../src/lib/rbe-bep-watcher.ts"],"names":[],"mappings":"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"}
@@ -30,12 +30,21 @@ export declare function waitForRbeRunning(client: Pick<XcodeClient, 'getRbe'>, i
30
30
  * Builds the argv for the detached child that holds the tunnel: re-invokes this
31
31
  * same CLI as `xcode rbe --serve --id <id> --port <port> [--api-key <key>]`.
32
32
  * `scriptPath` is the CLI entry (process.argv[1]).
33
+ *
34
+ * When `workspaceRoot` and `target` are both present the child also starts the
35
+ * BEP auto-install watcher (watching `<workspaceRoot>/.limrun/bep.json` and
36
+ * registering the built `target`'s `.ipa` after each build). argv is the source
37
+ * of truth here because the child needs these at startup, before any pidfile is
38
+ * written.
33
39
  */
34
40
  export declare function buildServeChildArgs(opts: {
35
41
  scriptPath: string;
36
42
  id: string;
37
43
  port: number;
38
44
  apiKey?: string;
45
+ workspaceRoot?: string;
46
+ target?: string;
47
+ bepFile?: string;
39
48
  }): string[];
40
49
  /**
41
50
  * A running background tunnel's coordinates, persisted to `.limrun/rbe.pid` so
@@ -49,6 +58,10 @@ export type RbePidInfo = {
49
58
  port: number;
50
59
  /** iOS simulator created by `--ios`, torn down on --stop. Absent otherwise. */
51
60
  simInstanceId?: string;
61
+ /** Build target the auto-install watcher tracks, when enabled. */
62
+ target?: string;
63
+ /** Absolute path to the build-event log the watcher reads (`--bep-file`); absent means the default. */
64
+ bepFile?: string;
52
65
  };
53
66
  export declare function rbePidFilePath(workspaceRoot: string): string;
54
67
  export declare function writeRbePidFile(workspaceRoot: string, info: RbePidInfo): void;
@@ -1 +1 @@
1
- {"version":3,"file":"rbe-session.d.ts","sourceRoot":"","sources":["../../src/lib/rbe-session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;GAGG;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,eAAO,MAAM,YAAY,EAAE,KAAiE,CAAC;AAc7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGtD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3E,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EACnC,OAAO,EAAE,SAAS,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAYjF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,EAAE,CAoBX;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAE7E;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAUvE;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAc,EAAE,SAAS,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAajG"}
1
+ {"version":3,"file":"rbe-session.d.ts","sourceRoot":"","sources":["../../src/lib/rbe-session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;GAGG;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAClD,eAAO,MAAM,YAAY,EAAE,KAAiE,CAAC;AAc7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGtD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3E,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EACnC,OAAO,EAAE,SAAS,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAYjF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,EAAE,CA6BX;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAE7E;AAED,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAUvE;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAM3D;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAc,EAAE,SAAS,SAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAajG"}
@@ -85,6 +85,12 @@ async function waitForRbeRunning(client, initial, opts = {}) {
85
85
  * Builds the argv for the detached child that holds the tunnel: re-invokes this
86
86
  * same CLI as `xcode rbe --serve --id <id> --port <port> [--api-key <key>]`.
87
87
  * `scriptPath` is the CLI entry (process.argv[1]).
88
+ *
89
+ * When `workspaceRoot` and `target` are both present the child also starts the
90
+ * BEP auto-install watcher (watching `<workspaceRoot>/.limrun/bep.json` and
91
+ * registering the built `target`'s `.ipa` after each build). argv is the source
92
+ * of truth here because the child needs these at startup, before any pidfile is
93
+ * written.
88
94
  */
89
95
  function buildServeChildArgs(opts) {
90
96
  // --no-create: the child must never own instance creation. The parent already
@@ -102,6 +108,15 @@ function buildServeChildArgs(opts) {
102
108
  '--port',
103
109
  String(opts.port),
104
110
  ];
111
+ if (opts.workspaceRoot) {
112
+ args.push('--workspace-root', opts.workspaceRoot);
113
+ }
114
+ if (opts.target) {
115
+ args.push('--target', opts.target);
116
+ }
117
+ if (opts.bepFile) {
118
+ args.push('--bep-file', opts.bepFile);
119
+ }
105
120
  if (opts.apiKey) {
106
121
  args.push('--api-key', opts.apiKey);
107
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rbe-session.js","sourceRoot":"","sources":["../../src/lib/rbe-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rbe-session.js","sourceRoot":"","sources":["../../src/lib/rbe-session.ts"],"names":[],"mappings":";;;;;;AAyBA,4CAGC;AAMD,wCAuBC;AASD,8CAgBC;AAaD,kDAqCC;AAoBD,wCAEC;AAED,0CAEC;AAED,wCAUC;AAED,0CAMC;AAGD,wCAOC;AAOD,kDAeC;AAQD,sCAaC;AAvOD,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AASjB,MAAM,YAAY,GAAU,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAAhF,QAAA,YAAY,gBAAoE;AAE7F;;;;;;;;;GASG;AACH,MAAM,SAAS,GAAG,wFAAwF,CAAC;AAE3G,SAAgB,gBAAgB,CAAC,GAAY;IAC3C,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,cAAc,CAClC,EAAoB,EACpB,OAA0E,EAAE;IAE5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,oBAAY,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACpC,IAAI,OAAgB,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,GAAG,GAAG,CAAC;YACd,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,CAAC,GAAG,EAAE,CAAC,6BAA6B,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACxE,MAAM,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,MAAmC,EACnC,OAAkB,EAClB,OAAgD,EAAE;IAElD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,oBAAY,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,IAAI,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACtF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,KAAK,IAAI,YAAY,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,MAAgF,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CAAC,IAQnC;IACC,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,IAAI,GAAG;QACX,IAAI,CAAC,UAAU;QACf,OAAO;QACP,KAAK;QACL,SAAS;QACT,aAAa;QACb,MAAM;QACN,IAAI,CAAC,EAAE;QACP,QAAQ;QACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;KAClB,CAAC;IACF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoBD,SAAgB,cAAc,CAAC,aAAqB;IAClD,OAAO,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,eAAe,CAAC,aAAqB,EAAE,IAAgB;IACrE,YAAE,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,cAAc,CAAC,aAAqB;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAClF,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,MAAoB,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,aAAqB;IACnD,IAAI,CAAC;QACH,YAAE,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAQ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAC;IACzD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,IAAI,GAAG,WAAW;IACxE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,KAAK,GAAG,aAAG,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YACjD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,oDAAoD,CAAC,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YAC3B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,IAAY,EAAE,IAAI,GAAG,WAAW,EAAE,SAAS,GAAG,GAAG;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,EAAE;YAC7B,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -8,6 +8,19 @@
8
8
  */
9
9
  export declare const LIMRUN_DIR = ".limrun";
10
10
  export declare const TRY_IMPORT_LINE = "try-import %workspace%/.limrun/bazelrc";
11
+ /**
12
+ * Where Bazel writes its build-event log by default — under the self-gitignored
13
+ * `.limrun/`, the directory this module owns and writes the generated config
14
+ * into. Single source of truth for the default path the watcher reads and the
15
+ * generated bazelrc points `--build_event_json_file` at.
16
+ */
17
+ export declare function defaultBepPath(workspaceRoot: string): string;
18
+ /**
19
+ * Resolves the BEP path for a run: an explicit `--bep-file` (made absolute
20
+ * against the invocation cwd, so it resolves regardless of bazel's cwd) or the
21
+ * default under `.limrun/`.
22
+ */
23
+ export declare function resolveBepPath(workspaceRoot: string, bepFileFlag?: string): string;
11
24
  /**
12
25
  * Finds the Bazel workspace root by walking up from `startDir` to the first
13
26
  * ancestor containing a MODULE.bazel / WORKSPACE / WORKSPACE.bazel, mirroring
@@ -137,5 +150,5 @@ export type RbeWorkspaceFiles = {
137
150
  * try-import. The .gitignore containing "*" makes the directory self-ignoring
138
151
  * so nothing else in the user's repo needs to change.
139
152
  */
140
- export declare function writeRbeWorkspaceFiles(workspaceDir: string, xcodeVersionKey: string, port: number, isMacClient?: boolean, bazelMajor?: number | null): RbeWorkspaceFiles;
153
+ export declare function writeRbeWorkspaceFiles(workspaceDir: string, xcodeVersionKey: string, port: number, bepFile?: string, isMacClient?: boolean, bazelMajor?: number | null): RbeWorkspaceFiles;
141
154
  //# sourceMappingURL=rbe-workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rbe-workspace.d.ts","sourceRoot":"","sources":["../../src/lib/rbe-workspace.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,eAAe,2CAA2C,CAAC;AAKxE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYtE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBrE;AAqCD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAElE;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAmC3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAmBR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAiB7D;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,OAAuC,EACpD,UAAU,GAAE,MAAM,GAAG,IAA4C,GAChE,iBAAiB,CAkBnB"}
1
+ {"version":3,"file":"rbe-workspace.d.ts","sourceRoot":"","sources":["../../src/lib/rbe-workspace.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,eAAe,2CAA2C,CAAC;AAGxE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAElF;AAID;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYtE;AAMD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqBrE;AAqCD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAElE;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAmC3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAmBR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAiB7D;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAqC,EAC9C,WAAW,GAAE,OAAuC,EACpD,UAAU,GAAE,MAAM,GAAG,IAA4C,GAChE,iBAAiB,CAmBnB"}
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TRY_IMPORT_LINE = exports.LIMRUN_DIR = void 0;
7
+ exports.defaultBepPath = defaultBepPath;
8
+ exports.resolveBepPath = resolveBepPath;
7
9
  exports.findBazelWorkspaceRoot = findBazelWorkspaceRoot;
8
10
  exports.inferBuildTarget = inferBuildTarget;
9
11
  exports.detectBazelMajorVersion = detectBazelMajorVersion;
@@ -25,6 +27,23 @@ const path_1 = __importDefault(require("path"));
25
27
  exports.LIMRUN_DIR = '.limrun';
26
28
  exports.TRY_IMPORT_LINE = 'try-import %workspace%/.limrun/bazelrc';
27
29
  const TRY_IMPORT_COMMENT = '# Added by lim xcode rbe: loads the generated remote-execution config.';
30
+ /**
31
+ * Where Bazel writes its build-event log by default — under the self-gitignored
32
+ * `.limrun/`, the directory this module owns and writes the generated config
33
+ * into. Single source of truth for the default path the watcher reads and the
34
+ * generated bazelrc points `--build_event_json_file` at.
35
+ */
36
+ function defaultBepPath(workspaceRoot) {
37
+ return path_1.default.join(workspaceRoot, exports.LIMRUN_DIR, 'bep.json');
38
+ }
39
+ /**
40
+ * Resolves the BEP path for a run: an explicit `--bep-file` (made absolute
41
+ * against the invocation cwd, so it resolves regardless of bazel's cwd) or the
42
+ * default under `.limrun/`.
43
+ */
44
+ function resolveBepPath(workspaceRoot, bepFileFlag) {
45
+ return bepFileFlag ? path_1.default.resolve(bepFileFlag) : defaultBepPath(workspaceRoot);
46
+ }
28
47
  const WORKSPACE_MARKERS = ['MODULE.bazel', 'WORKSPACE', 'WORKSPACE.bazel'];
29
48
  /**
30
49
  * Finds the Bazel workspace root by walking up from `startDir` to the first
@@ -344,7 +363,7 @@ function ensureTryImport(workspaceDir) {
344
363
  * try-import. The .gitignore containing "*" makes the directory self-ignoring
345
364
  * so nothing else in the user's repo needs to change.
346
365
  */
347
- function writeRbeWorkspaceFiles(workspaceDir, xcodeVersionKey, port, isMacClient = process.platform === 'darwin', bazelMajor = detectBazelMajorVersion(workspaceDir)) {
366
+ function writeRbeWorkspaceFiles(workspaceDir, xcodeVersionKey, port, bepFile = defaultBepPath(workspaceDir), isMacClient = process.platform === 'darwin', bazelMajor = detectBazelMajorVersion(workspaceDir)) {
348
367
  const dir = path_1.default.join(workspaceDir, exports.LIMRUN_DIR);
349
368
  fs_1.default.mkdirSync(dir, { recursive: true });
350
369
  const buildFile = path_1.default.join(dir, 'BUILD');
@@ -353,10 +372,11 @@ function writeRbeWorkspaceFiles(workspaceDir, xcodeVersionKey, port, isMacClient
353
372
  // longer native globals. On a known Bazel 8 workspace they ARE native (and
354
373
  // loading would fail), so omit the loads.
355
374
  const emitLoads = isBazel9OrLater(bazelMajor);
356
- // Absolute BEP path so it resolves regardless of bazel's cwd; lim xcode rbe
357
- // install reads the same path. .limrun/ is gitignored and regenerated per run,
358
- // so a machine-specific absolute path here is fine.
359
- const bepFile = path_1.default.join(dir, 'bep.json');
375
+ // The BEP path is absolute so it resolves regardless of bazel's cwd; the
376
+ // watcher and `lim xcode rbe install` read the same path. Defaults under the
377
+ // self-gitignored .limrun/; a custom --bep-file may point elsewhere, so make
378
+ // sure its parent exists before bazel tries to write it.
379
+ fs_1.default.mkdirSync(path_1.default.dirname(bepFile), { recursive: true });
360
380
  fs_1.default.writeFileSync(buildFile, renderXcodeConfigBuild(xcodeVersionKey, emitLoads));
361
381
  fs_1.default.writeFileSync(bazelrcFragment, renderLimrunBazelrc(port, xcodeVersionKey, isMacClient, bepFile));
362
382
  fs_1.default.writeFileSync(path_1.default.join(dir, '.gitignore'), '*\n');
@@ -1 +1 @@
1
- {"version":3,"file":"rbe-workspace.js","sourceRoot":"","sources":["../../src/lib/rbe-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rbe-workspace.js","sourceRoot":"","sources":["../../src/lib/rbe-workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * A "scope" (surfaced to users as a "workspace") isolates the most-recently-used
3
+ * instance per directory so that separate git worktrees / clones (and the
4
+ * parallel AI agents working in them) each get their own last-instance binding
5
+ * instead of all sharing one slot.
6
+ *
7
+ * Resolution order (first match wins), memoized for the lifetime of the process:
8
+ * 1. an explicit in-process override set from the global `--workspace` flag,
9
+ * 2. the LIM_WORKSPACE environment variable,
10
+ * 3. the most specific of: a `lim set-workspace-dir` assignment (cwd or an
11
+ * ancestor) and the current git repo/worktree root,
12
+ * 4. GLOBAL_SCOPE_KEY when neither applies.
13
+ *
14
+ * These require zero setup. Any command run inside a git repo (a clone or a
15
+ * linked worktree) resolves to that root and is isolated from every other
16
+ * checkout. A `set-workspace-dir` assignment governs its directory and
17
+ * everything beneath it, EXCEPT a nested git worktree/clone whose root is deeper
18
+ * than the assignment keeps its own isolation (most-specific boundary wins).
19
+ * Anything else shares a single global slot, preserving the convenient "use my
20
+ * most recent instance anywhere" behavior for casual, non-repo usage.
21
+ */
22
+ /**
23
+ * Shared scope used for invocations that are not inside any git repo. It is a
24
+ * non-path sentinel so it can never collide with a real directory scope key.
25
+ */
26
+ export declare const GLOBAL_SCOPE_KEY = "__lim_global__";
27
+ /** Whether a resolved scope key is the shared non-repo global slot. */
28
+ export declare function isGlobalScopeKey(key: string): boolean;
29
+ /**
30
+ * Override the scope key for this process (used by the global `--workspace` flag).
31
+ * Passing an empty/undefined value clears the override.
32
+ */
33
+ export declare function setScopeOverride(key: string | undefined): void;
34
+ /** Resolve the active scope key. Memoizes only the assignment/git/global fallback. */
35
+ export declare function getScopeKey(): string;
36
+ /** Reset memoized state. Intended for tests only. */
37
+ export declare function resetScopeCacheForTests(): void;
38
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD;AAKD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAG9D;AAED,sFAAsF;AACtF,wBAAgB,WAAW,IAAI,MAAM,CAUpC;AAED,qDAAqD;AACrD,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}