teamshare-bridge 0.21.83 → 0.21.85

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 (93) hide show
  1. package/dist/bridge/daemon-inbox.d.ts +30 -0
  2. package/dist/bridge/daemon-inbox.js +100 -31
  3. package/dist/bridge/daemon-inbox.js.map +1 -1
  4. package/dist/bridge/daemon-instance.d.ts +77 -0
  5. package/dist/bridge/daemon-instance.js +319 -0
  6. package/dist/bridge/daemon-instance.js.map +1 -0
  7. package/dist/bridge/daemon-support.d.ts +15 -0
  8. package/dist/bridge/daemon-support.js +21 -32
  9. package/dist/bridge/daemon-support.js.map +1 -1
  10. package/dist/bridge/daemon.js +214 -109
  11. package/dist/bridge/daemon.js.map +1 -1
  12. package/dist/bridge/local-server.js +17 -1
  13. package/dist/bridge/local-server.js.map +1 -1
  14. package/dist/bridge/service.d.ts +11 -1
  15. package/dist/bridge/service.js +33 -55
  16. package/dist/bridge/service.js.map +1 -1
  17. package/dist/bridge/spawn.d.ts +1 -0
  18. package/dist/bridge/spawn.js +10 -1
  19. package/dist/bridge/spawn.js.map +1 -1
  20. package/dist/bridge/wake-handler.js +266 -103
  21. package/dist/bridge/wake-handler.js.map +1 -1
  22. package/dist/bridge/wake-lanes.d.ts +125 -0
  23. package/dist/bridge/wake-lanes.js +220 -0
  24. package/dist/bridge/wake-lanes.js.map +1 -0
  25. package/dist/bridge/wake-outbox.d.ts +69 -0
  26. package/dist/bridge/wake-outbox.js +243 -0
  27. package/dist/bridge/wake-outbox.js.map +1 -0
  28. package/dist/cli/commands/board.js +8 -3
  29. package/dist/cli/commands/board.js.map +1 -1
  30. package/dist/cli/commands/build.js +17 -4
  31. package/dist/cli/commands/build.js.map +1 -1
  32. package/dist/cli/commands/cleanup.js +22 -4
  33. package/dist/cli/commands/cleanup.js.map +1 -1
  34. package/dist/cli/commands/doc.js +11 -1
  35. package/dist/cli/commands/doc.js.map +1 -1
  36. package/dist/cli/commands/plan.js +25 -8
  37. package/dist/cli/commands/plan.js.map +1 -1
  38. package/dist/cli/commands/research.js +5 -1
  39. package/dist/cli/commands/research.js.map +1 -1
  40. package/dist/cli/commands/run.js +45 -5
  41. package/dist/cli/commands/run.js.map +1 -1
  42. package/dist/cli/commands/worker.js +9 -2
  43. package/dist/cli/commands/worker.js.map +1 -1
  44. package/dist/lib/api-tasks.d.ts +27 -2
  45. package/dist/lib/api-tasks.js +30 -3
  46. package/dist/lib/api-tasks.js.map +1 -1
  47. package/dist/lib/auto-run-state.d.ts +10 -2
  48. package/dist/lib/auto-run-state.js +43 -17
  49. package/dist/lib/auto-run-state.js.map +1 -1
  50. package/dist/lib/bridge-notice.d.ts +55 -0
  51. package/dist/lib/bridge-notice.js +124 -0
  52. package/dist/lib/bridge-notice.js.map +1 -0
  53. package/dist/lib/cache-cleaner.js +101 -18
  54. package/dist/lib/cache-cleaner.js.map +1 -1
  55. package/dist/lib/git/git-discovery.js +17 -3
  56. package/dist/lib/git/git-discovery.js.map +1 -1
  57. package/dist/lib/git/git-prepare.js +15 -2
  58. package/dist/lib/git/git-prepare.js.map +1 -1
  59. package/dist/lib/git/git-presence.d.ts +31 -3
  60. package/dist/lib/git/git-presence.js +260 -41
  61. package/dist/lib/git/git-presence.js.map +1 -1
  62. package/dist/lib/git/git-runner.d.ts +19 -0
  63. package/dist/lib/git/git-runner.js +48 -6
  64. package/dist/lib/git/git-runner.js.map +1 -1
  65. package/dist/lib/lock.d.ts +22 -0
  66. package/dist/lib/lock.js +41 -3
  67. package/dist/lib/lock.js.map +1 -1
  68. package/dist/lib/orchestrator/worktree.js +11 -1
  69. package/dist/lib/orchestrator/worktree.js.map +1 -1
  70. package/dist/lib/task-work-gate.d.ts +48 -0
  71. package/dist/lib/task-work-gate.js +69 -0
  72. package/dist/lib/task-work-gate.js.map +1 -0
  73. package/dist/lib/wake-claim.d.ts +44 -0
  74. package/dist/lib/wake-claim.js +237 -0
  75. package/dist/lib/wake-claim.js.map +1 -0
  76. package/dist/lib/wake-state.js +26 -1
  77. package/dist/lib/wake-state.js.map +1 -1
  78. package/dist/lib/workspace/mirror-lease.d.ts +72 -0
  79. package/dist/lib/workspace/mirror-lease.js +61 -6
  80. package/dist/lib/workspace/mirror-lease.js.map +1 -1
  81. package/dist/lib/workspace/mirror.d.ts +88 -0
  82. package/dist/lib/workspace/mirror.js +208 -14
  83. package/dist/lib/workspace/mirror.js.map +1 -1
  84. package/dist/lib/workspace/presence.d.ts +11 -2
  85. package/dist/lib/workspace/presence.js +52 -7
  86. package/dist/lib/workspace/presence.js.map +1 -1
  87. package/dist/lib/workspace/stop-notice.d.ts +28 -0
  88. package/dist/lib/workspace/stop-notice.js +135 -0
  89. package/dist/lib/workspace/stop-notice.js.map +1 -0
  90. package/dist/lib/workspace/stop-save.d.ts +20 -0
  91. package/dist/lib/workspace/stop-save.js +33 -2
  92. package/dist/lib/workspace/stop-save.js.map +1 -1
  93. package/package.json +1 -1
@@ -11,6 +11,36 @@ import type { SessionSettings } from './spawn';
11
11
  /** Cadence of the periodic mention + stranded-assignment poll. */
12
12
  export declare const MENTION_POLL_MS: number;
13
13
  /** Everything the two inbox pumps need from the daemon/agent loop. */
14
+ /**
15
+ * Is this assigned task STRANDED — an agent should be working it and nobody
16
+ * is?
17
+ *
18
+ * ONE predicate for BOTH recovery paths (the periodic stranded sweep and the
19
+ * reconnect re-sync). They used to be two near-identical filters that drifted,
20
+ * which is how a finished task stayed reachable from one and not the other.
21
+ *
22
+ * `open` is the "assignment never landed" case. `in_progress` is the bigger one:
23
+ * the bridge moves a task `open -> in_progress` on pickup, so a run that dies
24
+ * WITHOUT its cleanup (killed process, power loss, reboot) leaves the task
25
+ * `in_progress` with no claim, no lock and no session — and both paths filtered
26
+ * it out, so it stayed stuck until a human pressed "Run task". That is what
27
+ * "a failed trigger must not leave the task stuck" means.
28
+ *
29
+ * Excluded, each for a reason:
30
+ * - a CLAIMED task is being worked (a live run renews its lease),
31
+ * - an OPEN QUESTION means the run paused to ask a human: it released its
32
+ * claim on purpose (a live claim would block the answer's resume) and is
33
+ * waiting for the Answer badge. Re-waking it starts a second session beside
34
+ * the paused one and works the task without the answer it asked for,
35
+ * - `autoRunSuspendedAt` = a human pressed Stop work (sticky), or repeated
36
+ * harness failures,
37
+ * - `combinedIntoId` = worked through the combined task, never on its own,
38
+ * - an already-planned plan-mode task is never re-planned by recovery.
39
+ *
40
+ * Anything else (`resolved`/`closed`/`in_review`) is not stranded at all: only a
41
+ * manual trigger may work it — see lib/task-work-gate.ts.
42
+ */
43
+ export declare function isStrandedAssignedTask(task: Record<string, unknown>): boolean;
14
44
  export interface InboxDeps {
15
45
  /** Authenticated API client for this agent (inbox fetches). */
16
46
  api: TeamshareApi;
@@ -7,6 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MENTION_POLL_MS = void 0;
10
+ exports.isStrandedAssignedTask = isStrandedAssignedTask;
10
11
  exports.pollInboxMentions = pollInboxMentions;
11
12
  exports.resyncInbox = resyncInbox;
12
13
  const api_1 = require("../lib/api");
@@ -14,11 +15,57 @@ const config_1 = require("../lib/config");
14
15
  const lock_1 = require("../lib/lock");
15
16
  const wake_state_1 = require("../lib/wake-state");
16
17
  const auto_run_state_1 = require("../lib/auto-run-state");
18
+ const wake_claim_1 = require("../lib/wake-claim");
17
19
  const daemon_support_1 = require("./daemon-support");
18
20
  const wake_routing_1 = require("./wake-routing");
19
21
  const wake_handler_1 = require("./wake-handler");
20
22
  /** Cadence of the periodic mention + stranded-assignment poll. */
21
23
  exports.MENTION_POLL_MS = 20 * 60_000;
24
+ /** Everything the two inbox pumps need from the daemon/agent loop. */
25
+ /**
26
+ * Is this assigned task STRANDED — an agent should be working it and nobody
27
+ * is?
28
+ *
29
+ * ONE predicate for BOTH recovery paths (the periodic stranded sweep and the
30
+ * reconnect re-sync). They used to be two near-identical filters that drifted,
31
+ * which is how a finished task stayed reachable from one and not the other.
32
+ *
33
+ * `open` is the "assignment never landed" case. `in_progress` is the bigger one:
34
+ * the bridge moves a task `open -> in_progress` on pickup, so a run that dies
35
+ * WITHOUT its cleanup (killed process, power loss, reboot) leaves the task
36
+ * `in_progress` with no claim, no lock and no session — and both paths filtered
37
+ * it out, so it stayed stuck until a human pressed "Run task". That is what
38
+ * "a failed trigger must not leave the task stuck" means.
39
+ *
40
+ * Excluded, each for a reason:
41
+ * - a CLAIMED task is being worked (a live run renews its lease),
42
+ * - an OPEN QUESTION means the run paused to ask a human: it released its
43
+ * claim on purpose (a live claim would block the answer's resume) and is
44
+ * waiting for the Answer badge. Re-waking it starts a second session beside
45
+ * the paused one and works the task without the answer it asked for,
46
+ * - `autoRunSuspendedAt` = a human pressed Stop work (sticky), or repeated
47
+ * harness failures,
48
+ * - `combinedIntoId` = worked through the combined task, never on its own,
49
+ * - an already-planned plan-mode task is never re-planned by recovery.
50
+ *
51
+ * Anything else (`resolved`/`closed`/`in_review`) is not stranded at all: only a
52
+ * manual trigger may work it — see lib/task-work-gate.ts.
53
+ */
54
+ function isStrandedAssignedTask(task) {
55
+ if (!['open', 'in_progress'].includes(String(task.status ?? '')))
56
+ return false;
57
+ if (task.hasOpenQuestion)
58
+ return false;
59
+ if (task.claimedAt)
60
+ return false;
61
+ if (task.autoRunSuspendedAt)
62
+ return false;
63
+ if (task.combinedIntoId)
64
+ return false;
65
+ if (task.workMode === 'plan' && Number(task.planRunCount ?? 0) > 0)
66
+ return false;
67
+ return true;
68
+ }
22
69
  /**
23
70
  * Periodic mention poll (catches wakes lost while connected - WS emits are
24
71
  * best-effort, so a silent hiccup loses the wake until the next reconnect)
@@ -109,20 +156,7 @@ async function pollInboxMentions(deps) {
109
156
  // unmarked so the next cycle retries them automatically.
110
157
  const agentQueue = wakeQueue.get(agent.agentId) ?? [];
111
158
  const agentLock = (0, lock_1.readLock)(agent.agentId);
112
- const stranded = (inbox.tasks ?? []).filter((task) => String(task.status ?? '') === 'open' &&
113
- !task.claimedAt &&
114
- // Auto-run guard (2026-09): never re-wake a task the hub
115
- // suspended - Stop work, or N consecutive harness failures.
116
- !task.autoRunSuspendedAt &&
117
- // Combined-run lock (2026-09): a task folded into a combined
118
- // run is worked through the COMBINED task, never on its own.
119
- !task.combinedIntoId &&
120
- // Plan-run guard (2026-09): a plan-mode task that already ran a
121
- // planning pass must not be re-planned by the recovery sweep. A
122
- // count of 0 means the assignment wake was genuinely lost, so it
123
- // is still recovered once.
124
- !(task.workMode === 'plan' &&
125
- Number(task.planRunCount ?? 0) > 0));
159
+ const stranded = (inbox.tasks ?? []).filter((task) => isStrandedAssignedTask(task));
126
160
  // Ledger GC: forget retry history for tasks that are no longer
127
161
  // stranded (completed, claimed, or suspended).
128
162
  const liveKeys = new Set(stranded.map((t) => `${agent.agentId}:${String(t.id ?? '')}`));
@@ -158,6 +192,30 @@ async function pollInboxMentions(deps) {
158
192
  }
159
193
  if (gate.nextAt > Date.now())
160
194
  continue;
195
+ // ── Cross-daemon admission latch ──────────────────────────────────────
196
+ // Everything above this line is PER-PROCESS: `recentSpawns` is a
197
+ // module-level Map, and `agentLock` is read once per poll - but the CLI
198
+ // writes that lock seconds later (fetch settings, fetch the task, build
199
+ // the mirror first). With more than one daemon polling the same inbox in
200
+ // the same window, every daemon sees "free" and every daemon sweeps the
201
+ // same task; the `agentLock` check above cannot have caught it.
202
+ //
203
+ // `tryClaimWake` is a `wx` file, so exactly one daemon wins regardless of
204
+ // process count. It is taken HERE, after the backoff gates, so a claim is
205
+ // never held across a `continue` that was going to skip the task anyway.
206
+ const admission = (0, wake_claim_1.tryClaimWake)(agent.agentId, taskId, 'task.assigned', {
207
+ ttlMs: Math.max(wake_routing_1.TASK_WAKE_COOLDOWN_MS * 4, 60_000),
208
+ });
209
+ if (!admission.claimed) {
210
+ const key = `claim:${agent.agentId}:${taskId}`;
211
+ if (!gateWarned.has(key)) {
212
+ gateWarned.add(key);
213
+ (0, daemon_support_1.log)(`agent ${agent.agentId}: stranded sweep skipped task ${taskId} - already admitted by ` +
214
+ `pid ${admission.heldBy?.pid ?? 'unknown'} (${admission.heldBy?.wakeType ?? 'unknown wake'})`);
215
+ }
216
+ continue;
217
+ }
218
+ gateWarned.delete(`claim:${agent.agentId}:${taskId}`);
161
219
  const agentApi = api_1.TeamshareApi.forAgent(apiBase, agent);
162
220
  // Claim the orchestrator task (if any) so its status transitions
163
221
  // queued → running. The backend's polling then handles the rest
@@ -179,6 +237,10 @@ async function pollInboxMentions(deps) {
179
237
  }
180
238
  if (claim && typeof claim === "object" && "blocked" in claim) {
181
239
  (0, daemon_support_1.log)(`agent ${agent.agentId}: orchestrator claim for ${taskId} refused (${claim.blocked}) - no wake, retry next cycle`);
240
+ // The wake never happened, so admission must be given back - otherwise
241
+ // this task is unrunnable until the claim TTL lapses, which is a long
242
+ // stall for something that is only waiting on a sibling group.
243
+ (0, wake_claim_1.releaseWake)(agent.agentId, taskId);
182
244
  continue;
183
245
  }
184
246
  (0, daemon_support_1.log)(`agent ${agent.agentId}: stranded-task sweep wake ${taskId} (${String(task.title ?? '')})`);
@@ -193,6 +255,10 @@ async function pollInboxMentions(deps) {
193
255
  sweepOutcome !== 'deferred' &&
194
256
  sweepOutcome !== 'blocked') {
195
257
  (0, wake_state_1.recordProcessed)(agent.agentId, 'task.assigned', taskId);
258
+ // The sweep is done with this task, so admission is released and the
259
+ // next legitimate wake (a retry, a resume, a new comment) can be
260
+ // admitted immediately instead of waiting out the TTL.
261
+ (0, wake_claim_1.releaseWake)(agent.agentId, taskId);
196
262
  }
197
263
  }
198
264
  }
@@ -231,23 +297,13 @@ function resyncInbox(deps) {
231
297
  (inbox.mentions?.length ?? 0) > 0 ||
232
298
  (inbox.chat?.length ?? 0) > 0 ||
233
299
  (inbox.comments?.length ?? 0) > 0;
234
- // --- 1. Re-sync task wakes (open assigned tasks) ---
235
- const open = (inbox.tasks ?? []).filter((task) => String(task.status ?? '') === 'open' &&
236
- // A claimed task is already being worked - mirror the sweep
237
- // filter, which ignores claimed tasks (2026-09).
238
- !task.claimedAt &&
239
- // Auto-run guard (2026-09): a human Stop / cancel suspends the
240
- // task. The re-sync used to ignore the suspension and re-wake
241
- // it on the next reconnect (the run "restarted on its own"),
242
- // so it must honour `autoRunSuspendedAt` like the sweep does.
243
- !task.autoRunSuspendedAt &&
244
- // Combined-run lock (2026-09): mirror the sweep — a locked
245
- // member is only ever worked through its combined task.
246
- !task.combinedIntoId &&
247
- // Plan-run guard (2026-09): never re-plan a plan-mode task that
248
- // already ran a planning pass.
249
- !(task.workMode === 'plan' &&
250
- Number(task.planRunCount ?? 0) > 0));
300
+ // --- 1. Re-sync task wakes (stranded assigned tasks) ---
301
+ // Same predicate as the sweep below: a reconnect must recover exactly
302
+ // what a poll would, and `in_progress` must be recovered here too (this
303
+ // filter used to be `status === 'open'` only, so a task stranded
304
+ // in_progress by a killed run needed a poll cycle that then did nothing
305
+ // either).
306
+ const open = (inbox.tasks ?? []).filter((task) => isStrandedAssignedTask(task));
251
307
  const resyncQueue = wakeQueue.get(agent.agentId) ?? [];
252
308
  const resyncLock = (0, lock_1.readLock)(agent.agentId);
253
309
  for (const task of open) {
@@ -274,6 +330,18 @@ function resyncInbox(deps) {
274
330
  continue;
275
331
  }
276
332
  (0, daemon_support_1.log)(`agent ${agent.agentId}: re-sync wake task=${taskId} (${String(task.title ?? '')})`);
333
+ // Same cross-daemon latch as the stranded sweep. On a reconnect EVERY
334
+ // daemon re-syncs at once, so without this the same task is woken once
335
+ // per daemon - which is how a reconnect turned into N concurrent runs
336
+ // of one task on a machine with N daemons.
337
+ const resyncAdmission = (0, wake_claim_1.tryClaimWake)(agent.agentId, taskId, 'task.assigned', {
338
+ ttlMs: Math.max(wake_routing_1.TASK_WAKE_COOLDOWN_MS * 4, 60_000),
339
+ });
340
+ if (!resyncAdmission.claimed) {
341
+ (0, daemon_support_1.log)(`agent ${agent.agentId}: re-sync skip task=${taskId} - already admitted by ` +
342
+ `pid ${resyncAdmission.heldBy?.pid ?? 'unknown'}`);
343
+ continue;
344
+ }
277
345
  const resyncTaskOutcome = await (0, wake_handler_1.handleWake)(api_1.TeamshareApi.forAgent(apiBase, agent), agent.agentId, agent.apiKey, {
278
346
  type: 'task.assigned',
279
347
  taskId,
@@ -293,6 +361,7 @@ function resyncInbox(deps) {
293
361
  resyncTaskOutcome !== 'deferred' &&
294
362
  resyncTaskOutcome !== 'blocked') {
295
363
  (0, wake_state_1.recordProcessed)(agent.agentId, 'task.assigned', taskId);
364
+ (0, wake_claim_1.releaseWake)(agent.agentId, taskId);
296
365
  }
297
366
  totalTasks++;
298
367
  }
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-inbox.js","sourceRoot":"","sources":["../../src/bridge/daemon-inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-inbox.js","sourceRoot":"","sources":["../../src/bridge/daemon-inbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ export interface DaemonInstance {
2
+ pid: number;
3
+ /** The port the daemon actually BOUND (may differ from config.port). */
4
+ port: number;
5
+ version: string;
6
+ startedAt: string;
7
+ /** Which mechanism produced this answer - for honest diagnostics. */
8
+ source: 'lock' | 'port-scan';
9
+ }
10
+ /** True when `pid` names a live process. EPERM means alive but not ours. */
11
+ export declare function pidAlive(pid: number): boolean;
12
+ /**
13
+ * The live daemon according to `daemon.lock`, or null.
14
+ *
15
+ * A lock whose pid is dead, or which is older than LOCK_STALE_MS, is treated
16
+ * as abandoned and the file is cleared. This is the ONLY path that decides
17
+ * synchronously, which is what lets the watchdog tick stay sync.
18
+ */
19
+ export declare function readLiveDaemonLock(): DaemonInstance | null;
20
+ /**
21
+ * Claim daemon ownership for this process. `wx` makes it genuinely exclusive:
22
+ * exactly one caller can win, and a loser never overwrites the winner.
23
+ *
24
+ * Returns false when a LIVE daemon already owns this machine - the caller
25
+ * must then exit "already running" rather than bind a fallback port.
26
+ */
27
+ export declare function acquireDaemonLock(): boolean;
28
+ /**
29
+ * Record the bound port once `startProbeServer` returns. The lock is written
30
+ * as pid+port+version so `status`/`stop`/`doctor` never need the port scan.
31
+ */
32
+ export declare function updateDaemonLock(port: number, version: string): void;
33
+ /**
34
+ * Adopt a daemon we found by scanning, so the synchronous lock path works
35
+ * again. Never overwrites a lock held by a different live pid.
36
+ */
37
+ export declare function adoptDaemonLock(found: DaemonInstance): void;
38
+ /**
39
+ * Release the lock, but ONLY when this process owns it.
40
+ *
41
+ * The `!current` shortcut that used to live in the pid-file version is
42
+ * deliberately absent: an unreadable or empty lock is not evidence that we
43
+ * hold it, and treating it as such let every transient daemon delete a live
44
+ * daemon's file on `process.on('exit')`.
45
+ */
46
+ export declare function clearDaemonLock(): void;
47
+ /** Clear the legacy pid file, same ownership rule. */
48
+ export declare function clearOwnPidFile(): void;
49
+ /**
50
+ * Ask whoever is on `port` whether they are a TeamShare bridge.
51
+ *
52
+ * This is the tie-breaker between case (a) "another bridge" and case (b)
53
+ * "a foreign squatter". A short timeout is deliberate: it runs on the
54
+ * bind path, where a slow answer must not stall daemon startup.
55
+ */
56
+ export declare function probeBridgePort(port: number, timeoutMs?: number): Promise<{
57
+ version: string;
58
+ } | null>;
59
+ /**
60
+ * The discovery fallback: probe every published candidate port for a live
61
+ * bridge. Used when `daemon.lock` is missing or unreadable - which is the
62
+ * exact state a crashed or externally-cleaned install lands in.
63
+ */
64
+ export declare function scanForBridge(): Promise<DaemonInstance | null>;
65
+ /**
66
+ * The single answer to "is a daemon running?".
67
+ *
68
+ * Lock first (authoritative, synchronous, carries the pid). Only when it is
69
+ * absent or abandoned do we pay for the port scan, and whatever that finds is
70
+ * ADOPTED so the next call is free.
71
+ *
72
+ * A port-scan hit has `pid: 0` because `/ping` does not expose one - callers
73
+ * that need to signal the process must fall back to the legacy pid file.
74
+ */
75
+ export declare function resolveDaemonInstance(): Promise<DaemonInstance | null>;
76
+ /** The live daemon, sync only. The watchdog uses this so its tick stays sync. */
77
+ export declare function resolveDaemonInstanceSync(): DaemonInstance | null;