@beeos-ai/device-agent 0.14.1 → 0.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/adapters/agent-gateway-client.js +87 -19
  2. package/dist/adapters/agent-gateway-client.js.map +1 -1
  3. package/dist/app/agent-host.js +49 -35
  4. package/dist/app/agent-host.js.map +1 -1
  5. package/dist/app/device-manager.d.ts +5 -0
  6. package/dist/app/device-manager.js +30 -0
  7. package/dist/app/device-manager.js.map +1 -1
  8. package/dist/app/session-manager.d.ts +8 -0
  9. package/dist/app/session-manager.js +15 -1
  10. package/dist/app/session-manager.js.map +1 -1
  11. package/dist/bootstrap.js +1 -1
  12. package/dist/bootstrap.js.map +1 -1
  13. package/dist/fleet/adapters/process/node-process-manager.js +4 -1
  14. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
  15. package/dist/health/mcp-health-monitor.js +3 -0
  16. package/dist/health/mcp-health-monitor.js.map +1 -1
  17. package/dist/inbound/acp/handlers/device.d.ts +3 -0
  18. package/dist/inbound/acp/handlers/device.js +7 -4
  19. package/dist/inbound/acp/handlers/device.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/mcp-client/client.d.ts +6 -0
  23. package/dist/mcp-client/client.js +45 -10
  24. package/dist/mcp-client/client.js.map +1 -1
  25. package/dist/mcp-client/device-lease-scope.d.ts +10 -0
  26. package/dist/mcp-client/device-lease-scope.js +103 -0
  27. package/dist/mcp-client/device-lease-scope.js.map +1 -0
  28. package/dist/mcp-client/runtime.d.ts +2 -0
  29. package/dist/plugins/acp/index.js +1 -1
  30. package/dist/plugins/acp/index.js.map +1 -1
  31. package/dist/plugins/http-debug/index.d.ts +2 -0
  32. package/dist/plugins/http-debug/index.js +1 -0
  33. package/dist/plugins/http-debug/index.js.map +1 -1
  34. package/dist/plugins/http-debug/server.d.ts +5 -1
  35. package/dist/plugins/http-debug/server.js +30 -6
  36. package/dist/plugins/http-debug/server.js.map +1 -1
  37. package/dist/plugins/message-bus/busy-reply.d.ts +2 -1
  38. package/dist/plugins/message-bus/busy-reply.js +24 -4
  39. package/dist/plugins/message-bus/busy-reply.js.map +1 -1
  40. package/dist/plugins/message-bus/device-command.d.ts +8 -4
  41. package/dist/plugins/message-bus/device-command.js +45 -11
  42. package/dist/plugins/message-bus/device-command.js.map +1 -1
  43. package/dist/plugins/message-bus/inbound.d.ts +1 -0
  44. package/dist/plugins/message-bus/inbound.js +31 -6
  45. package/dist/plugins/message-bus/inbound.js.map +1 -1
  46. package/dist/plugins/message-bus/index.d.ts +1 -0
  47. package/dist/plugins/message-bus/index.js +54 -21
  48. package/dist/plugins/message-bus/index.js.map +1 -1
  49. package/dist/plugins/message-bus/ms-channel-notifier.d.ts +6 -1
  50. package/dist/plugins/message-bus/ms-channel-notifier.js +54 -12
  51. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  52. package/dist/ports/agent-host.d.ts +5 -1
  53. package/dist/resources/lifecycle/manager.d.ts +1 -0
  54. package/dist/resources/lifecycle/manager.js +26 -16
  55. package/dist/resources/lifecycle/manager.js.map +1 -1
  56. package/package.json +1 -1
@@ -16,6 +16,7 @@
16
16
  * - runtime register/heartbeat — acquire and renew a memory-only lease
17
17
  * - `syncAgents()` — publish a lease-fenced agent projection
18
18
  */
19
+ import { setTimeout as pause } from "node:timers/promises";
19
20
  import { sign } from "@beeos-ai/bridge-client";
20
21
  import { runtimeDomainHash, sha256Hex } from "../runtime-authority/canonical.js";
21
22
  import { RUNTIME_HEARTBEAT_HASH_DOMAIN, RUNTIME_REGISTRATION_HASH_DOMAIN, } from "../runtime-authority/contract.js";
@@ -304,37 +305,104 @@ export async function putPresignedBytes(opts) {
304
305
  if (typeof f !== "function") {
305
306
  throw new AgentGatewayError("global fetch is not available (Node >=18 required)");
306
307
  }
308
+ const timeoutMs = opts.timeoutMs ?? 30_000;
309
+ if (!Number.isFinite(timeoutMs) || timeoutMs <= 0 || timeoutMs > 2_147_483_647) {
310
+ throw new AgentGatewayError("presigned PUT timeout must be positive and finite");
311
+ }
312
+ let url;
313
+ try {
314
+ url = new URL(opts.uploadUrl);
315
+ }
316
+ catch {
317
+ throw new AgentGatewayError("presigned PUT requires a valid HTTP(S) URL");
318
+ }
319
+ if (!["https:", "http:"].includes(url.protocol) || url.username || url.password) {
320
+ throw new AgentGatewayError("presigned PUT requires an HTTP(S) URL without embedded credentials");
321
+ }
307
322
  const ctrl = new AbortController();
308
- const timer = setTimeout(() => ctrl.abort(), opts.timeoutMs ?? 30_000);
323
+ const timer = setTimeout(() => ctrl.abort(), timeoutMs);
324
+ let attempt = 0;
309
325
  try {
310
- // Node's fetch typings narrow `body` to `BodyInit`, which technically
311
- // accepts an `ArrayBuffer` but not the generic `Uint8Array<ArrayBufferLike>`
312
- // shape produced by callers (compressForVlm output, etc.). At runtime
313
- // a Uint8Array is a perfectly valid `BodyInit` for Node fetch — the
314
- // cast keeps the byte-exact PUT contract without an extra copy.
315
- const resp = await f(opts.uploadUrl, {
316
- method: "PUT",
317
- headers: { "Content-Type": opts.mimeType },
318
- body: opts.bytes,
319
- signal: ctrl.signal,
320
- });
321
- if (!resp.ok) {
322
- const text = await safeReadBody(resp);
323
- throw new AgentGatewayError(`presigned PUT failed: ${resp.status} ${resp.statusText}`, resp.status, text);
326
+ // Only the immutable bytes at this exact object key are retried. Do not
327
+ // repeat presign/confirm, recapture the screen, or replay a device action.
328
+ while (attempt < 3) {
329
+ attempt++;
330
+ let retryAfterMs = 250 * attempt;
331
+ try {
332
+ ctrl.signal.throwIfAborted();
333
+ const resp = await f(opts.uploadUrl, {
334
+ method: "PUT",
335
+ headers: { "Content-Type": opts.mimeType },
336
+ body: opts.bytes,
337
+ signal: ctrl.signal,
338
+ credentials: "omit",
339
+ redirect: "error",
340
+ });
341
+ if (resp.ok) {
342
+ await resp.body?.cancel().catch(() => undefined);
343
+ return;
344
+ }
345
+ const text = await safeReadBody(resp);
346
+ const error = new AgentGatewayError(`presigned PUT failed: HTTP ${resp.status} after ${attempt} attempt(s)`, resp.status, text);
347
+ if (![408, 429, 500, 502, 503, 504].includes(resp.status) || attempt === 3)
348
+ throw error;
349
+ const retryAfter = resp.headers.get("Retry-After");
350
+ if (retryAfter) {
351
+ const parsed = /^\d+$/.test(retryAfter) ? Number(retryAfter) * 1000 : Date.parse(retryAfter) - Date.now();
352
+ if (Number.isFinite(parsed))
353
+ retryAfterMs = Math.max(retryAfterMs, parsed);
354
+ }
355
+ }
356
+ catch (error) {
357
+ if (error instanceof AgentGatewayError || ctrl.signal.aborted)
358
+ throw error;
359
+ const codes = uploadTransportCodes(error);
360
+ const retryable = codes.length > 0
361
+ ? codes.every((code) => RETRYABLE_UPLOAD_CODES.has(code))
362
+ : error instanceof TypeError && error.message === "fetch failed";
363
+ if (!retryable || attempt === 3) {
364
+ // Error messages and causes may contain signed URLs. Expose codes only.
365
+ throw new AgentGatewayError(`presigned PUT failed: ${codes.join(", ") || "transport_error"} after ${attempt} attempt(s)`);
366
+ }
367
+ }
368
+ await pause(Math.min(retryAfterMs, timeoutMs), undefined, { signal: ctrl.signal });
324
369
  }
325
370
  }
326
371
  catch (e) {
372
+ if (ctrl.signal.aborted) {
373
+ throw new AgentGatewayError(`presigned PUT timed out after ${timeoutMs}ms (${attempt} attempt(s))`);
374
+ }
327
375
  if (e instanceof AgentGatewayError)
328
376
  throw e;
329
- if (e.name === "AbortError") {
330
- throw new AgentGatewayError(`presigned PUT timed out after ${opts.timeoutMs ?? 30_000}ms`);
331
- }
332
- throw new AgentGatewayError(`presigned PUT failed: ${e.message}`);
377
+ throw new AgentGatewayError(`presigned PUT failed: ${uploadTransportCodes(e).join(", ") || "transport_error"}`);
333
378
  }
334
379
  finally {
335
380
  clearTimeout(timer);
336
381
  }
337
382
  }
383
+ const RETRYABLE_UPLOAD_CODES = new Set([
384
+ "ECONNRESET", "ECONNREFUSED", "EPIPE", "ETIMEDOUT", "EAI_AGAIN", "ENETUNREACH", "EHOSTUNREACH",
385
+ "UND_ERR_SOCKET", "UND_ERR_CONNECT_TIMEOUT", "UND_ERR_HEADERS_TIMEOUT", "UND_ERR_BODY_TIMEOUT",
386
+ ]);
387
+ function uploadTransportCodes(error) {
388
+ const codes = new Set();
389
+ const seen = new Set();
390
+ const pending = [error];
391
+ while (pending.length && seen.size < 16) {
392
+ const value = pending.shift();
393
+ if (!value || typeof value !== "object" || seen.has(value))
394
+ continue;
395
+ seen.add(value);
396
+ const record = value;
397
+ if (typeof record.code === "string" && /^[A-Z0-9_]{1,64}$/.test(record.code))
398
+ codes.add(record.code);
399
+ if (record.cause)
400
+ pending.push(record.cause);
401
+ if (Array.isArray(record.errors))
402
+ pending.push(...record.errors.slice(0, 16));
403
+ }
404
+ return [...codes];
405
+ }
338
406
  /**
339
407
  * POST /api/v1/agent/files/confirm — transition a presigned upload to
340
408
  * "ready" so it appears in the platform's file index (user-visible
@@ -1 +1 @@
1
- {"version":3,"file":"agent-gateway-client.js","sourceRoot":"","sources":["../../src/adapters/agent-gateway-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-gateway-client.js","sourceRoot":"","sources":["../../src/adapters/agent-gateway-client.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@
18
18
  * own those translations.
19
19
  */
20
20
  import { randomUUID } from "node:crypto";
21
+ import { DeviceError } from "../core/errors.js";
21
22
  import { getLogger, runWithCorrelation } from "../logger/index.js";
22
23
  import { deriveTaskOutcome, taskOutcomeFromTerminator } from "../core/task-outcome.js";
23
24
  import { ResourceContextAugmenter, ResourceResolutionCache, } from "../resources/index.js";
@@ -75,6 +76,9 @@ export class AgentHostImpl {
75
76
  }
76
77
  submitTask(prompt, opts = {}) {
77
78
  const taskId = randomUUID();
79
+ const releaseMutation = this.devices.tryAcquireDeviceMutation(`task:${taskId}`);
80
+ if (!releaseMutation)
81
+ throw new DeviceError("agent_busy", { subtype: "device_busy" });
78
82
  // We deliberately keep `turnId` distinct from `taskId` at the type
79
83
  // level even though we mirror them 1:1 today — see AgentEvent docs.
80
84
  const turnId = taskId;
@@ -83,11 +87,12 @@ export class AgentHostImpl {
83
87
  // sidecar resolver pins them to the same assistant bubble.
84
88
  const messageId = randomUUID();
85
89
  const controller = new AbortController();
90
+ const onAbort = () => controller.abort();
86
91
  if (opts.abortSignal) {
87
92
  if (opts.abortSignal.aborted)
88
93
  controller.abort();
89
94
  else
90
- opts.abortSignal.addEventListener("abort", () => controller.abort(), { once: true });
95
+ opts.abortSignal.addEventListener("abort", onAbort, { once: true });
91
96
  }
92
97
  const correlation = {
93
98
  taskId,
@@ -103,9 +108,14 @@ export class AgentHostImpl {
103
108
  lastWarnNoticeAt: 0,
104
109
  fatalNoticeDispatched: false,
105
110
  });
106
- void done.finally(() => {
111
+ const cleanup = () => {
107
112
  this.tasks.delete(taskId);
108
- });
113
+ opts.abortSignal?.removeEventListener("abort", onAbort);
114
+ // Cancellation is a request, not proof that device actions have stopped.
115
+ // Retain ownership until runOne (including its cleanup) has settled.
116
+ releaseMutation();
117
+ };
118
+ void done.then(cleanup, cleanup);
109
119
  return {
110
120
  taskId,
111
121
  done,
@@ -135,15 +145,16 @@ export class AgentHostImpl {
135
145
  // begins so a mid-resolution cancel actually fires (the cancel
136
146
  // path keys off the task being registered + already broadcast).
137
147
  await this.dispatch({ type: "task:start", taskId, turnId, prompt, createdAt });
138
- // Resource Resolution Layer (Phase 1) — runs after start, before
139
- // agent.run, against the merged-cancel signal. Failures degrade
140
- // gracefully to the original prompt.
141
- const augmentedPrompt = await this.resolveAndAugment(taskId, turnId, messageId, prompt, signal);
142
148
  let result;
143
149
  let error;
144
- try {
150
+ const executeTask = async (executionSignal) => {
145
151
  try {
146
- result = await this.agent.run({
152
+ executionSignal.throwIfAborted();
153
+ // Resource preparation may itself mutate the device. Keep it and
154
+ // cleanup inside the same lease as the agent, not just each action.
155
+ const augmentedPrompt = await this.resolveAndAugment(taskId, turnId, messageId, prompt, executionSignal);
156
+ executionSignal.throwIfAborted();
157
+ return await this.agent.run({
147
158
  task: augmentedPrompt,
148
159
  maxSteps: opts.maxSteps ?? this.defaultMaxSteps,
149
160
  ...(opts.observationMode ? { observationMode: opts.observationMode } : {}),
@@ -151,7 +162,7 @@ export class AgentHostImpl {
151
162
  // Product default is Fast. Callers must explicitly request Reasoning;
152
163
  // so every transport shares the same predictable default.
153
164
  executionMode: opts.executionMode ?? "fast",
154
- abortSignal: signal,
165
+ abortSignal: executionSignal,
155
166
  onText: async (text) => {
156
167
  if (!text)
157
168
  return;
@@ -173,33 +184,36 @@ export class AgentHostImpl {
173
184
  },
174
185
  });
175
186
  }
176
- catch (e) {
177
- error = e;
178
- this.log.warn({ err: error.message, taskId }, "agent-host: task failed");
179
- result = {
180
- finalMessage: error.message ?? String(error),
181
- steps: 0,
182
- cancelled: signal.aborted,
183
- ...taskOutcomeFromTerminator({
184
- terminator: signal.aborted ? "cancelled" : "error",
185
- finalMessage: error.message ?? String(error),
186
- taskError: error.message ?? String(error),
187
- }),
188
- };
189
- }
190
- }
191
- finally {
192
- // Phase 1.5 — per-task lifecycle cleanup (L1). Runs on the
193
- // success path AND on every failure / cancel / throw path so
194
- // we never strand a fresh resource on the device.
195
- if (this.lifecycle) {
196
- try {
197
- await this.lifecycle.onTaskEnd(taskId);
198
- }
199
- catch (lcErr) {
200
- this.log.warn({ err: lcErr.message, taskId }, "agent-host: lifecycle.onTaskEnd threw (non-fatal)");
187
+ finally {
188
+ if (this.lifecycle) {
189
+ try {
190
+ await this.lifecycle.onTaskEnd(taskId);
191
+ }
192
+ catch (lcErr) {
193
+ this.log.warn({ err: lcErr.message, taskId }, "agent-host: lifecycle.onTaskEnd threw (non-fatal)");
194
+ }
201
195
  }
202
196
  }
197
+ };
198
+ try {
199
+ const mcp = this.mcpProvider?.();
200
+ result = mcp?.withDeviceLease
201
+ ? await mcp.withDeviceLease(signal, executeTask)
202
+ : await executeTask(signal);
203
+ }
204
+ catch (e) {
205
+ error = e instanceof Error ? e : new Error(String(e));
206
+ this.log.warn({ err: error.message, taskId }, "agent-host: task failed");
207
+ result = {
208
+ finalMessage: error.message,
209
+ steps: 0,
210
+ cancelled: signal.aborted,
211
+ ...taskOutcomeFromTerminator({
212
+ terminator: signal.aborted ? "cancelled" : "error",
213
+ finalMessage: error.message,
214
+ taskError: error.message,
215
+ }),
216
+ };
203
217
  }
204
218
  // Surface terminal failure to the user *before* `task:end` so the
205
219
  // chat shows "Task failed: …" instead of going silent. Cancellation
@@ -1 +1 @@
1
- {"version":3,"file":"agent-host.js","sourceRoot":"","sources":["../../src/app/agent-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-host.js","sourceRoot":"","sources":["../../src/app/agent-host.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ export interface DeviceRegistration {
16
16
  export declare class DeviceManager {
17
17
  private readonly devices;
18
18
  private activeId;
19
+ private mutationToken;
20
+ /** Shared by every host/session/control ingress using this device registry. */
21
+ isDeviceBusy(): boolean;
22
+ tryAcquireDeviceMutation(owner: string): (() => void) | null;
23
+ withDeviceMutation<T>(owner: string, run: () => Promise<T>): Promise<T>;
19
24
  /** Register and connect a device. Returns the canonical id used. */
20
25
  register(device: IDevice, id?: string): Promise<DeviceRegistration>;
21
26
  list(): DeviceRegistration[];
@@ -6,9 +6,36 @@
6
6
  * fan-out later — the inbound layer never has to be rewritten when that day
7
7
  * comes.
8
8
  */
9
+ import { DeviceError } from "../core/errors.js";
9
10
  export class DeviceManager {
10
11
  devices = new Map();
11
12
  activeId = null;
13
+ mutationToken = null;
14
+ /** Shared by every host/session/control ingress using this device registry. */
15
+ isDeviceBusy() {
16
+ return this.mutationToken !== null;
17
+ }
18
+ tryAcquireDeviceMutation(owner) {
19
+ if (this.mutationToken !== null)
20
+ return null;
21
+ const token = Symbol(owner);
22
+ this.mutationToken = token;
23
+ return () => {
24
+ if (this.mutationToken === token)
25
+ this.mutationToken = null;
26
+ };
27
+ }
28
+ async withDeviceMutation(owner, run) {
29
+ const release = this.tryAcquireDeviceMutation(owner);
30
+ if (!release)
31
+ throw new DeviceError("device_busy", { subtype: "device_busy" });
32
+ try {
33
+ return await run();
34
+ }
35
+ finally {
36
+ release();
37
+ }
38
+ }
12
39
  /** Register and connect a device. Returns the canonical id used. */
13
40
  async register(device, id) {
14
41
  await device.connect();
@@ -35,6 +62,9 @@ export class DeviceManager {
35
62
  setActive(id) {
36
63
  if (!this.devices.has(id))
37
64
  throw new Error(`Unknown device id: ${id}`);
65
+ if (id !== this.activeId && this.isDeviceBusy()) {
66
+ throw new DeviceError("device_busy", { subtype: "device_busy" });
67
+ }
38
68
  this.activeId = id;
39
69
  }
40
70
  async disconnectAll() {
@@ -1 +1 @@
1
- {"version":3,"file":"device-manager.js","sourceRoot":"","sources":["../../src/app/device-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,OAAO,aAAa;IACP,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;IACzD,QAAQ,GAAkB,IAAI,CAAC;IAEvC,oEAAoE;IACpE,KAAK,CAAC,QAAQ,CAAC,MAAe,EAAE,EAAW;QACzC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;QAC9C,MAAM,GAAG,GAAuB,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,EAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC;gBAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,WAAW,CAAC,EAAW;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"device-manager.js","sourceRoot":"","sources":["../../src/app/device-manager.ts"],"names":[],"mappings":"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"}
@@ -190,6 +190,14 @@ export declare class SessionManager {
190
190
  constructor(opts: SessionManagerOptions);
191
191
  /** True iff a turn is in flight (any session). Used by MS busy-reject. */
192
192
  isTurnInFlight(): boolean;
193
+ /** True while an AI turn or a direct mutating device command owns the phone. */
194
+ isDeviceBusy(): boolean;
195
+ /**
196
+ * Acquire the process-wide single-writer slot for a direct device command.
197
+ * The returned release function is ownership-safe and idempotent. Read-only
198
+ * observations do not use this slot and may run beside the active task.
199
+ */
200
+ tryAcquireDeviceMutation(owner: string): (() => void) | null;
193
201
  /**
194
202
  * Read-only access to the plugin command registry passed at
195
203
  * construction. Plugins (e.g. AcpSkillsHandlers) consume this to
@@ -102,6 +102,20 @@ export class SessionManager {
102
102
  isTurnInFlight() {
103
103
  return this.currentTask !== null;
104
104
  }
105
+ /** True while an AI turn or a direct mutating device command owns the phone. */
106
+ isDeviceBusy() {
107
+ return this.currentTask !== null || this.host.devices.isDeviceBusy();
108
+ }
109
+ /**
110
+ * Acquire the process-wide single-writer slot for a direct device command.
111
+ * The returned release function is ownership-safe and idempotent. Read-only
112
+ * observations do not use this slot and may run beside the active task.
113
+ */
114
+ tryAcquireDeviceMutation(owner) {
115
+ if (this.isDeviceBusy())
116
+ return null;
117
+ return this.host.devices.tryAcquireDeviceMutation(owner);
118
+ }
105
119
  /**
106
120
  * Read-only access to the plugin command registry passed at
107
121
  * construction. Plugins (e.g. AcpSkillsHandlers) consume this to
@@ -399,7 +413,7 @@ export class SessionManager {
399
413
  * recursively bloat).
400
414
  */
401
415
  async _executePrompt(session, originalPrompt, opts) {
402
- if (this.currentTask !== null)
416
+ if (this.isDeviceBusy())
403
417
  throw new Error("agent_busy");
404
418
  session.lastActive = Date.now();
405
419
  this.activeSessionId = session.id;