@beeos-ai/device-agent 0.15.0 → 0.16.0

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 (240) hide show
  1. package/README.md +35 -0
  2. package/dist/adapters/agent-gateway-client.d.ts +6 -68
  3. package/dist/adapters/agent-gateway-client.js +7 -67
  4. package/dist/adapters/agent-gateway-client.js.map +1 -1
  5. package/dist/adapters/device-compat.d.ts +1 -2
  6. package/dist/adapters/device-compat.js +2 -52
  7. package/dist/adapters/device-compat.js.map +1 -1
  8. package/dist/agent-runtime/action-guard.js +92 -17
  9. package/dist/agent-runtime/action-guard.js.map +1 -1
  10. package/dist/agent-runtime/adapters/base.d.ts +13 -9
  11. package/dist/agent-runtime/adapters/base.js.map +1 -1
  12. package/dist/agent-runtime/adapters/general-flash.d.ts +3 -3
  13. package/dist/agent-runtime/adapters/general-flash.js +2 -2
  14. package/dist/agent-runtime/adapters/general-flash.js.map +1 -1
  15. package/dist/agent-runtime/adapters/native-tools.d.ts +56 -0
  16. package/dist/agent-runtime/adapters/native-tools.js +416 -0
  17. package/dist/agent-runtime/adapters/native-tools.js.map +1 -0
  18. package/dist/agent-runtime/adapters/openai.d.ts +1 -2
  19. package/dist/agent-runtime/adapters/openai.js +5 -5
  20. package/dist/agent-runtime/adapters/openai.js.map +1 -1
  21. package/dist/agent-runtime/adapters/pro.d.ts +7 -37
  22. package/dist/agent-runtime/adapters/pro.js +7 -249
  23. package/dist/agent-runtime/adapters/pro.js.map +1 -1
  24. package/dist/agent-runtime/advanced/app-card.js +9 -2
  25. package/dist/agent-runtime/advanced/app-card.js.map +1 -1
  26. package/dist/agent-runtime/advanced/subgoal-verifier.d.ts +1 -0
  27. package/dist/agent-runtime/advanced/subgoal-verifier.js +30 -36
  28. package/dist/agent-runtime/advanced/subgoal-verifier.js.map +1 -1
  29. package/dist/agent-runtime/advanced/task-state.js +4 -9
  30. package/dist/agent-runtime/advanced/task-state.js.map +1 -1
  31. package/dist/agent-runtime/agent-runner.d.ts +2 -11
  32. package/dist/agent-runtime/agent-runner.js +69 -34
  33. package/dist/agent-runtime/agent-runner.js.map +1 -1
  34. package/dist/agent-runtime/core.d.ts +24 -46
  35. package/dist/agent-runtime/core.js +161 -228
  36. package/dist/agent-runtime/core.js.map +1 -1
  37. package/dist/agent-runtime/execution-checks.d.ts +40 -0
  38. package/dist/agent-runtime/execution-checks.js +133 -0
  39. package/dist/agent-runtime/execution-checks.js.map +1 -0
  40. package/dist/agent-runtime/execution-mode.d.ts +1 -8
  41. package/dist/agent-runtime/execution-mode.js +10 -30
  42. package/dist/agent-runtime/execution-mode.js.map +1 -1
  43. package/dist/agent-runtime/feedback.d.ts +4 -28
  44. package/dist/agent-runtime/feedback.js +4 -26
  45. package/dist/agent-runtime/feedback.js.map +1 -1
  46. package/dist/agent-runtime/form-prerequisites.d.ts +3 -0
  47. package/dist/agent-runtime/form-prerequisites.js +52 -0
  48. package/dist/agent-runtime/form-prerequisites.js.map +1 -0
  49. package/dist/agent-runtime/index.d.ts +2 -8
  50. package/dist/agent-runtime/index.js +2 -8
  51. package/dist/agent-runtime/index.js.map +1 -1
  52. package/dist/agent-runtime/{modes/orchestrator → knowledge}/app-guide.d.ts +1 -1
  53. package/dist/agent-runtime/{modes/orchestrator → knowledge}/app-guide.js +1 -1
  54. package/dist/agent-runtime/knowledge/app-guide.js.map +1 -0
  55. package/dist/agent-runtime/models/base.d.ts +3 -1
  56. package/dist/agent-runtime/models/client.js +30 -9
  57. package/dist/agent-runtime/models/client.js.map +1 -1
  58. package/dist/agent-runtime/models/reasoning.d.ts +10 -0
  59. package/dist/agent-runtime/models/reasoning.js +29 -0
  60. package/dist/agent-runtime/models/reasoning.js.map +1 -0
  61. package/dist/agent-runtime/models/runtime-registry.d.ts +2 -1
  62. package/dist/agent-runtime/models/runtime-registry.js +4 -2
  63. package/dist/agent-runtime/models/runtime-registry.js.map +1 -1
  64. package/dist/agent-runtime/models/vlm/autoglm.js +6 -2
  65. package/dist/agent-runtime/models/vlm/autoglm.js.map +1 -1
  66. package/dist/agent-runtime/models/vlm/base.js +1 -12
  67. package/dist/agent-runtime/models/vlm/base.js.map +1 -1
  68. package/dist/agent-runtime/models/vlm/index.d.ts +0 -4
  69. package/dist/agent-runtime/models/vlm/index.js +0 -4
  70. package/dist/agent-runtime/models/vlm/index.js.map +1 -1
  71. package/dist/agent-runtime/modes/hybrid/index.d.ts +2 -12
  72. package/dist/agent-runtime/modes/hybrid/index.js +10 -27
  73. package/dist/agent-runtime/modes/hybrid/index.js.map +1 -1
  74. package/dist/agent-runtime/modes/hybrid/planner/base.d.ts +4 -44
  75. package/dist/agent-runtime/modes/hybrid/planner/base.js +3 -21
  76. package/dist/agent-runtime/modes/hybrid/planner/base.js.map +1 -1
  77. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.d.ts +1 -1
  78. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js +9 -6
  79. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js.map +1 -1
  80. package/dist/agent-runtime/modes/hybrid/planner/prompts.d.ts +1 -17
  81. package/dist/agent-runtime/modes/hybrid/planner/prompts.js +65 -160
  82. package/dist/agent-runtime/modes/hybrid/planner/prompts.js.map +1 -1
  83. package/dist/agent-runtime/plan-executor.d.ts +13 -14
  84. package/dist/agent-runtime/plan-executor.js +236 -122
  85. package/dist/agent-runtime/plan-executor.js.map +1 -1
  86. package/dist/agent-runtime/pro-memory.js +1 -1
  87. package/dist/agent-runtime/pro-memory.js.map +1 -1
  88. package/dist/agent-runtime/pro-operator.js +8 -2
  89. package/dist/agent-runtime/pro-operator.js.map +1 -1
  90. package/dist/agent-runtime/pro-perception.d.ts +1 -0
  91. package/dist/agent-runtime/pro-perception.js +4 -2
  92. package/dist/agent-runtime/pro-perception.js.map +1 -1
  93. package/dist/agent-runtime/pro-target-check.d.ts +2 -2
  94. package/dist/agent-runtime/pro-target-check.js +102 -17
  95. package/dist/agent-runtime/pro-target-check.js.map +1 -1
  96. package/dist/agent-runtime/prompts/operator.d.ts +2 -0
  97. package/dist/agent-runtime/prompts/operator.js +69 -0
  98. package/dist/agent-runtime/prompts/operator.js.map +1 -0
  99. package/dist/agent-runtime/prompts/verification.d.ts +2 -0
  100. package/dist/agent-runtime/prompts/verification.js +52 -0
  101. package/dist/agent-runtime/prompts/verification.js.map +1 -0
  102. package/dist/agent-runtime/skills/replay.d.ts +4 -14
  103. package/dist/agent-runtime/skills/replay.js +46 -27
  104. package/dist/agent-runtime/skills/replay.js.map +1 -1
  105. package/dist/agent-runtime/tool-batch.d.ts +10 -0
  106. package/dist/agent-runtime/tool-batch.js +51 -0
  107. package/dist/agent-runtime/tool-batch.js.map +1 -0
  108. package/dist/agent-runtime/visual-state.d.ts +2 -0
  109. package/dist/agent-runtime/visual-state.js +24 -0
  110. package/dist/agent-runtime/visual-state.js.map +1 -0
  111. package/dist/agent-runtime/vlm.d.ts +1 -1
  112. package/dist/agent-runtime/vlm.js +1 -1
  113. package/dist/api.js +3 -1
  114. package/dist/api.js.map +1 -1
  115. package/dist/app/agent-host.js +6 -2
  116. package/dist/app/agent-host.js.map +1 -1
  117. package/dist/app/multi-device-host.js +4 -5
  118. package/dist/app/multi-device-host.js.map +1 -1
  119. package/dist/app/session-manager.d.ts +3 -45
  120. package/dist/app/session-manager.js +8 -9
  121. package/dist/app/session-manager.js.map +1 -1
  122. package/dist/bootstrap.js +25 -84
  123. package/dist/bootstrap.js.map +1 -1
  124. package/dist/config/loader.js +12 -1
  125. package/dist/config/loader.js.map +1 -1
  126. package/dist/config/schema.d.ts +7 -2
  127. package/dist/config/schema.js +8 -5
  128. package/dist/config/schema.js.map +1 -1
  129. package/dist/core/abortable-read.d.ts +1 -0
  130. package/dist/core/abortable-read.js +24 -0
  131. package/dist/core/abortable-read.js.map +1 -0
  132. package/dist/device/ui-xml.d.ts +4 -0
  133. package/dist/device/ui-xml.js +35 -13
  134. package/dist/device/ui-xml.js.map +1 -1
  135. package/dist/fleet/adapters/process/node-process-manager.d.ts +2 -1
  136. package/dist/fleet/adapters/process/node-process-manager.js +11 -19
  137. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
  138. package/dist/inbound/acp/handlers/models.js +11 -8
  139. package/dist/inbound/acp/handlers/models.js.map +1 -1
  140. package/dist/inbound/acp/handlers/session.d.ts +1 -4
  141. package/dist/inbound/acp/handlers/session.js +3 -6
  142. package/dist/inbound/acp/handlers/session.js.map +1 -1
  143. package/dist/inbound/bma/agent.d.ts +47 -0
  144. package/dist/inbound/bma/agent.js +130 -0
  145. package/dist/inbound/bma/agent.js.map +1 -0
  146. package/dist/inbound/bma/command.d.ts +15 -0
  147. package/dist/inbound/bma/command.js +98 -0
  148. package/dist/inbound/bma/command.js.map +1 -0
  149. package/dist/inbound/bma/model-proxy.d.ts +22 -0
  150. package/dist/inbound/bma/model-proxy.js +130 -0
  151. package/dist/inbound/bma/model-proxy.js.map +1 -0
  152. package/dist/inbound/cli/main.js +12 -2
  153. package/dist/inbound/cli/main.js.map +1 -1
  154. package/dist/inbound/cli/run-artifacts.js +16 -7
  155. package/dist/inbound/cli/run-artifacts.js.map +1 -1
  156. package/dist/inbound/cli/run-command.d.ts +7 -0
  157. package/dist/inbound/cli/run-command.js +37 -29
  158. package/dist/inbound/cli/run-command.js.map +1 -1
  159. package/dist/index.d.ts +1 -10
  160. package/dist/index.js +1 -6
  161. package/dist/index.js.map +1 -1
  162. package/dist/mcp-client/autospawn.d.ts +7 -9
  163. package/dist/mcp-client/autospawn.js +16 -12
  164. package/dist/mcp-client/autospawn.js.map +1 -1
  165. package/dist/mcp-client/client.d.ts +6 -3
  166. package/dist/mcp-client/client.js +31 -13
  167. package/dist/mcp-client/client.js.map +1 -1
  168. package/dist/mcp-client/runtime.d.ts +5 -2
  169. package/dist/plugins/agent-sync/index.d.ts +32 -17
  170. package/dist/plugins/agent-sync/index.js +223 -232
  171. package/dist/plugins/agent-sync/index.js.map +1 -1
  172. package/dist/plugins/message-bus/inbound.d.ts +0 -32
  173. package/dist/plugins/message-bus/inbound.js +3 -0
  174. package/dist/plugins/message-bus/inbound.js.map +1 -1
  175. package/dist/plugins/message-bus/ms-channel-notifier.d.ts +1 -0
  176. package/dist/plugins/message-bus/ms-channel-notifier.js +16 -8
  177. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  178. package/dist/plugins/native-chat/deadline.d.ts +2 -0
  179. package/dist/plugins/native-chat/deadline.js +16 -0
  180. package/dist/plugins/native-chat/deadline.js.map +1 -0
  181. package/dist/plugins/native-chat/index.d.ts +46 -0
  182. package/dist/plugins/native-chat/index.js +331 -0
  183. package/dist/plugins/native-chat/index.js.map +1 -0
  184. package/dist/plugins/native-chat/reply-stream.d.ts +50 -0
  185. package/dist/plugins/native-chat/reply-stream.js +81 -0
  186. package/dist/plugins/native-chat/reply-stream.js.map +1 -0
  187. package/dist/plugins/native-chat/session-notifier.d.ts +16 -0
  188. package/dist/plugins/native-chat/session-notifier.js +130 -0
  189. package/dist/plugins/native-chat/session-notifier.js.map +1 -0
  190. package/dist/ports/agent-core.d.ts +2 -0
  191. package/dist/ports/agent-host.d.ts +2 -0
  192. package/dist/ports/agent-host.js +0 -21
  193. package/dist/ports/agent-host.js.map +1 -1
  194. package/dist/ports/device.d.ts +0 -1
  195. package/dist/ports/device.js +0 -1
  196. package/dist/ports/device.js.map +1 -1
  197. package/dist/runtime-authority/device-prompt.gen.d.ts +54 -0
  198. package/dist/runtime-authority/device-prompt.gen.js +19 -0
  199. package/dist/runtime-authority/device-prompt.gen.js.map +1 -0
  200. package/dist/types.d.ts +10 -0
  201. package/dist/types.js +1 -0
  202. package/dist/types.js.map +1 -1
  203. package/package.json +5 -3
  204. package/dist/adapters/device-desktop.d.ts +0 -49
  205. package/dist/adapters/device-desktop.js +0 -132
  206. package/dist/adapters/device-desktop.js.map +0 -1
  207. package/dist/agent-runtime/factory.d.ts +0 -24
  208. package/dist/agent-runtime/factory.js +0 -25
  209. package/dist/agent-runtime/factory.js.map +0 -1
  210. package/dist/agent-runtime/models/vlm/guiowl.d.ts +0 -1
  211. package/dist/agent-runtime/models/vlm/guiowl.js +0 -249
  212. package/dist/agent-runtime/models/vlm/guiowl.js.map +0 -1
  213. package/dist/agent-runtime/models/vlm/maiui.d.ts +0 -1
  214. package/dist/agent-runtime/models/vlm/maiui.js +0 -142
  215. package/dist/agent-runtime/models/vlm/maiui.js.map +0 -1
  216. package/dist/agent-runtime/models/vlm/qwen38.d.ts +0 -1
  217. package/dist/agent-runtime/models/vlm/qwen38.js +0 -241
  218. package/dist/agent-runtime/models/vlm/qwen38.js.map +0 -1
  219. package/dist/agent-runtime/models/vlm/qwenvl.d.ts +0 -1
  220. package/dist/agent-runtime/models/vlm/qwenvl.js +0 -202
  221. package/dist/agent-runtime/models/vlm/qwenvl.js.map +0 -1
  222. package/dist/agent-runtime/modes/orchestrator/app-guide.js.map +0 -1
  223. package/dist/agent-runtime/modes/orchestrator/index.d.ts +0 -41
  224. package/dist/agent-runtime/modes/orchestrator/index.js +0 -218
  225. package/dist/agent-runtime/modes/orchestrator/index.js.map +0 -1
  226. package/dist/agent-runtime/modes/orchestrator/prompt.d.ts +0 -7
  227. package/dist/agent-runtime/modes/orchestrator/prompt.js +0 -53
  228. package/dist/agent-runtime/modes/orchestrator/prompt.js.map +0 -1
  229. package/dist/agent-runtime/reflection.d.ts +0 -100
  230. package/dist/agent-runtime/reflection.js +0 -241
  231. package/dist/agent-runtime/reflection.js.map +0 -1
  232. package/dist/agent-runtime/reflectors/action-reflector.d.ts +0 -97
  233. package/dist/agent-runtime/reflectors/action-reflector.js +0 -234
  234. package/dist/agent-runtime/reflectors/action-reflector.js.map +0 -1
  235. package/dist/agent-runtime/reflectors/policy.d.ts +0 -56
  236. package/dist/agent-runtime/reflectors/policy.js +0 -111
  237. package/dist/agent-runtime/reflectors/policy.js.map +0 -1
  238. package/dist/agent-runtime/reflectors/trajectory-reflector.d.ts +0 -93
  239. package/dist/agent-runtime/reflectors/trajectory-reflector.js +0 -224
  240. package/dist/agent-runtime/reflectors/trajectory-reflector.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -20,19 +20,10 @@ export { fetchBridgeConfig, AgentGatewayError, buildAuthHeaders } from "./adapte
20
20
  export type { BridgeConfig, AgentGatewayIdentity } from "./adapters/agent-gateway-client.js";
21
21
  export { FileIdentity } from "./adapters/identity-file.js";
22
22
  export { AndroidAdbAdapter } from "./adapters/device-android-adb.js";
23
- export { DesktopAdapter } from "./adapters/device-desktop.js";
24
- /** @deprecated Use AgentRunnerCore with a per-task executionMode. */
25
- export { OrchestratorAgent } from "./agent-runtime/modes/orchestrator/index.js";
26
- /** @deprecated Orchestrator compatibility types will be removed next major. */
27
- export type { OrchestratorAgentOptions, OrchestratorOuterConfig } from "./agent-runtime/modes/orchestrator/index.js";
28
23
  export { AgentRunnerCore } from "./agent-runtime/modes/hybrid/index.js";
29
24
  export type { AgentRunnerCoreOptions } from "./agent-runtime/modes/hybrid/index.js";
30
25
  export { vlm } from "./agent-runtime/index.js";
31
- /** @deprecated Construct AgentRunnerCore directly. */
32
- export { createAgentCore } from "./agent-runtime/index.js";
33
26
  export type { VlmOptions, VlmResult } from "./agent-runtime/index.js";
34
- /** @deprecated Factory discriminator types will be removed next major. */
35
- export type { AgentCoreKind, CreateAgentCoreOptions } from "./agent-runtime/index.js";
36
27
  export { BridgeWsTransport } from "./adapters/transport-bridge-ws.js";
37
28
  export { DeviceManager } from "./app/device-manager.js";
38
29
  export { AgentHostImpl } from "./app/agent-host.js";
@@ -51,7 +42,7 @@ export { normalizeAgentTaskStatus } from "./core/task-outcome.js";
51
42
  export { DeviceError, VlmError, AcpError } from "./core/errors.js";
52
43
  export { McpClient, resolveDefaultMcpUrl } from "./mcp-client/index.js";
53
44
  export type { ActResponse, CallToolOutput, McpClientOptions, } from "./mcp-client/index.js";
54
- export { AgentLoop, AgentRunner, HierarchicalReflector, LLMPlanner, NoOpPlanner, PlanExecutor, actionsEqual, availableAdapters, clearAdapters, makePrediction, MockAdapter, OpenAIAdapter, parsedToAction, registerAdapter as registerModelAdapter, resolveAdapter as resolveModelAdapter, resolveAdapterSync as resolveModelAdapterSync, } from "./agent-runtime/index.js";
45
+ export { AgentLoop, AgentRunner, ExecutionChecks, LLMPlanner, NoOpPlanner, PlanExecutor, actionsEqual, availableAdapters, clearAdapters, makePrediction, MockAdapter, OpenAIAdapter, parsedToAction, registerAdapter as registerModelAdapter, resolveAdapter as resolveModelAdapter, resolveAdapterSync as resolveModelAdapterSync, } from "./agent-runtime/index.js";
55
46
  export type { AdapterDescriptor as ModelAdapterDescriptor, AgentErrorCode, AgentErrorEvent, AgentLoopTerminator, AgentRunHooks as AgentLoopRunHooks, AgentRunOptions as AgentLoopRunOptions, AgentRunResult as AgentLoopRunResult, AgentRunnerOptions, AgentRunnerResult, AgentStepEvent, AgentToolEvent, IModelAdapter, IPlanner, LLMPlannerOptions, MockAdapterOptions, ModelUsage, OpenAIAdapterOptions, Plan, PlanContext, PlanExecutorOptions, PlanExecutorResult, PlanStep, PredictHooks, PredictOptions, Prediction, StepHistory, } from "./agent-runtime/index.js";
56
47
  export { StickyPortAllocator, defaultFleetStatePath, } from "./fleet/adapters/state/port-allocator.js";
57
48
  export type { PortAllocatorOptions } from "./fleet/adapters/state/port-allocator.js";
package/dist/index.js CHANGED
@@ -16,13 +16,8 @@ export { loadConfig } from "./config/loader.js";
16
16
  export { fetchBridgeConfig, AgentGatewayError, buildAuthHeaders } from "./adapters/agent-gateway-client.js";
17
17
  export { FileIdentity } from "./adapters/identity-file.js";
18
18
  export { AndroidAdbAdapter } from "./adapters/device-android-adb.js";
19
- export { DesktopAdapter } from "./adapters/device-desktop.js";
20
- /** @deprecated Use AgentRunnerCore with a per-task executionMode. */
21
- export { OrchestratorAgent } from "./agent-runtime/modes/orchestrator/index.js";
22
19
  export { AgentRunnerCore } from "./agent-runtime/modes/hybrid/index.js";
23
20
  export { vlm } from "./agent-runtime/index.js";
24
- /** @deprecated Construct AgentRunnerCore directly. */
25
- export { createAgentCore } from "./agent-runtime/index.js";
26
21
  export { BridgeWsTransport } from "./adapters/transport-bridge-ws.js";
27
22
  export { DeviceManager } from "./app/device-manager.js";
28
23
  export { AgentHostImpl } from "./app/agent-host.js";
@@ -36,7 +31,7 @@ export { AcpRouter, bindRouterToTransport } from "./inbound/acp/router.js";
36
31
  export { normalizeAgentTaskStatus } from "./core/task-outcome.js";
37
32
  export { DeviceError, VlmError, AcpError } from "./core/errors.js";
38
33
  export { McpClient, resolveDefaultMcpUrl } from "./mcp-client/index.js";
39
- export { AgentLoop, AgentRunner, HierarchicalReflector, LLMPlanner, NoOpPlanner, PlanExecutor, actionsEqual, availableAdapters, clearAdapters, makePrediction, MockAdapter, OpenAIAdapter, parsedToAction, registerAdapter as registerModelAdapter, resolveAdapter as resolveModelAdapter, resolveAdapterSync as resolveModelAdapterSync, } from "./agent-runtime/index.js";
34
+ export { AgentLoop, AgentRunner, ExecutionChecks, LLMPlanner, NoOpPlanner, PlanExecutor, actionsEqual, availableAdapters, clearAdapters, makePrediction, MockAdapter, OpenAIAdapter, parsedToAction, registerAdapter as registerModelAdapter, resolveAdapter as resolveModelAdapter, resolveAdapterSync as resolveModelAdapterSync, } from "./agent-runtime/index.js";
40
35
  // ── Fleet (M1–M4) ──────────────────────────────────────────────────────────
41
36
  export { StickyPortAllocator, defaultFleetStatePath, } from "./fleet/adapters/state/port-allocator.js";
42
37
  export { BeeosCliStore, defaultDevicesPath, } from "./fleet/adapters/state/beeos-cli-store.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG5G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,qEAAqE;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAa3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOxE,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,IAAI,oBAAoB,EACvC,cAAc,IAAI,mBAAmB,EACrC,kBAAkB,IAAI,uBAAuB,GAC9C,MAAM,0BAA0B,CAAC;AA8BlC,8EAA8E;AAE9E,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,uCAAuC,CAAC;AAM/C,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAStF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIpF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAI3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG5G,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAa3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOxE,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,IAAI,oBAAoB,EACvC,cAAc,IAAI,mBAAmB,EACrC,kBAAkB,IAAI,uBAAuB,GAC9C,MAAM,0BAA0B,CAAC;AA8BlC,8EAA8E;AAE9E,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,uCAAuC,CAAC;AAM/C,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,wCAAwC,CAAC;AAOhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAStF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIpF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
@@ -9,7 +9,7 @@
9
9
  * this — they manage the two siblings themselves so the supervisor can
10
10
  * restart them independently. Autospawn is purely for:
11
11
  *
12
- * - local dev / quick-start (`device-agent --mcp-autospawn --mode desktop`)
12
+ * - local dev / quick-start (`device-agent --mcp-autospawn --mode android`)
13
13
  * - single-binary deployments where the user can't or doesn't want to run
14
14
  * a second process by hand
15
15
  *
@@ -18,10 +18,8 @@
18
18
  * so a `pnpm install` either workspace-symlinked or registry-installed
19
19
  * "just works". The override `DEVICE_MCP_BIN` env var lets EdgeAgent
20
20
  * point at a pre-built binary.
21
- * - A random ephemeral port is picked by binding a temporary OS socket
22
- * and immediately closing it; the kernel then leaves that port in
23
- * `TIME_WAIT` for a few hundred ms which is plenty of time for the
24
- * spawned MCP server to grab it.
21
+ * - A random ephemeral port is picked by binding and closing a temporary
22
+ * socket. This does not reserve the port; a bind race fails the probe.
25
23
  * - stdout / stderr are piped into the agent's logger so a sidecar log
26
24
  * stream is preserved.
27
25
  * - On agent shutdown the helper's `stop()` sends SIGTERM and then
@@ -31,7 +29,7 @@ import { type ChildProcess } from "node:child_process";
31
29
  import type { Logger } from "../logger/index.js";
32
30
  export interface AutospawnOptions {
33
31
  /** Backend family to forward to the MCP server's `--backend` flag. */
34
- backend: "android" | "desktop" | "ios" | "windows" | "macos";
32
+ backend: "android";
35
33
  /** Bind host for the spawned server (default `127.0.0.1`). */
36
34
  host?: string;
37
35
  /**
@@ -39,7 +37,7 @@ export interface AutospawnOptions {
39
37
  * stand-alone `npm install -g` install where the workspace resolution
40
38
  * doesn't apply, or in EdgeAgent where we point at a baked-in binary.
41
39
  * Defaults to the `dist/cli.js` shipped by `@beeos-ai/device-mcp-server`,
42
- * resolved via `require.resolve` against the device-agent package.
40
+ * resolved via `import.meta.resolve` against the device-agent package.
43
41
  */
44
42
  mcpBin?: string;
45
43
  /** Extra arguments appended to the spawn command. */
@@ -49,8 +47,8 @@ export interface AutospawnOptions {
49
47
  /** Time we wait for SIGTERM before escalating to SIGKILL. */
50
48
  gracePeriodMs?: number;
51
49
  /**
52
- * Maximum time to wait for the spawned server's `/healthz` endpoint
53
- * to respond 200 OK (or for the child process to crash) before
50
+ * Maximum time to wait for the spawned server's `/mcp` endpoint
51
+ * to respond (or for the child process to crash) before
54
52
  * `autospawnMcpServer` rejects. Defaults to 5_000ms — long enough
55
53
  * for a Node ESM cold start, short enough that a misconfigured
56
54
  * binary fails fast instead of stalling boot for 15s on
@@ -9,7 +9,7 @@
9
9
  * this — they manage the two siblings themselves so the supervisor can
10
10
  * restart them independently. Autospawn is purely for:
11
11
  *
12
- * - local dev / quick-start (`device-agent --mcp-autospawn --mode desktop`)
12
+ * - local dev / quick-start (`device-agent --mcp-autospawn --mode android`)
13
13
  * - single-binary deployments where the user can't or doesn't want to run
14
14
  * a second process by hand
15
15
  *
@@ -18,10 +18,8 @@
18
18
  * so a `pnpm install` either workspace-symlinked or registry-installed
19
19
  * "just works". The override `DEVICE_MCP_BIN` env var lets EdgeAgent
20
20
  * point at a pre-built binary.
21
- * - A random ephemeral port is picked by binding a temporary OS socket
22
- * and immediately closing it; the kernel then leaves that port in
23
- * `TIME_WAIT` for a few hundred ms which is plenty of time for the
24
- * spawned MCP server to grab it.
21
+ * - A random ephemeral port is picked by binding and closing a temporary
22
+ * socket. This does not reserve the port; a bind race fails the probe.
25
23
  * - stdout / stderr are piped into the agent's logger so a sidecar log
26
24
  * stream is preserved.
27
25
  * - On agent shutdown the helper's `stop()` sends SIGTERM and then
@@ -31,7 +29,6 @@ import { spawn } from "node:child_process";
31
29
  import { createServer } from "node:net";
32
30
  import * as path from "node:path";
33
31
  import * as url from "node:url";
34
- import { createRequire } from "node:module";
35
32
  /**
36
33
  * Allocate a free TCP port. Binds to port 0 then immediately closes the
37
34
  * server, returning the kernel-assigned port.
@@ -64,13 +61,11 @@ function resolveMcpBin(opts) {
64
61
  if (process.env.DEVICE_MCP_BIN)
65
62
  return process.env.DEVICE_MCP_BIN;
66
63
  // `import.meta.url` works at runtime for both src/ (tsx) and dist/ (node).
67
- const here = url.fileURLToPath(import.meta.url);
68
- const req = createRequire(here);
69
64
  try {
70
- // Resolve the package's `dist/cli.js` directly (relative to its
71
- // package.json) so we don't depend on the bin shim being on PATH.
72
- const pkgJson = req.resolve("@beeos-ai/device-mcp-server/package.json");
73
- return path.join(path.dirname(pkgJson), "dist", "cli.js");
65
+ // package.json is intentionally not exported; index.js and cli.js
66
+ // are siblings in the published dist directory.
67
+ const entry = url.fileURLToPath(import.meta.resolve("@beeos-ai/device-mcp-server"));
68
+ return path.join(path.dirname(entry), "cli.js");
74
69
  }
75
70
  catch {
76
71
  // Fallback to PATH lookup of the bin shim.
@@ -106,12 +101,21 @@ export async function autospawnMcpServer(opts) {
106
101
  MCP_PORT: String(port),
107
102
  },
108
103
  });
104
+ const spawned = new Promise((resolve, reject) => {
105
+ child.once("spawn", resolve);
106
+ child.once("error", (error) => {
107
+ reject(new Error(`failed to spawn device-mcp-server (${bin}): ${error.message}`, { cause: error }));
108
+ });
109
+ });
109
110
  pipeLines(child.stdout, (line) => log?.info({ src: "mcp.stdout" }, line));
110
111
  pipeLines(child.stderr, (line) => log?.warn({ src: "mcp.stderr" }, line));
111
112
  const exited = new Promise((resolve) => {
112
113
  child.once("exit", (code, signal) => resolve({ code, signal }));
113
114
  });
114
115
  exited.then((r) => log?.warn({ ...r }, "mcp: autospawned child exited")).catch(() => undefined);
116
+ // A missing executable emits error, not exit. Observe it even when the
117
+ // caller disables the health probe, rather than crashing the daemon.
118
+ await spawned;
115
119
  // Active health-check: poll `GET /mcp` until the server starts answering
116
120
  // (any HTTP response — including the standard 405 Method Not Allowed
117
121
  // that the stateless Streamable HTTP transport returns for GET — proves
@@ -1 +1 @@
1
- {"version":3,"file":"autospawn.js","sourceRoot":"","sources":["../../src/mcp-client/autospawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autospawn.js","sourceRoot":"","sources":["../../src/mcp-client/autospawn.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@
29
29
  import { EventEmitter } from "node:events";
30
30
  import type { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
31
31
  import { type Action, type AppInfo, type BackendFamily, type CrashSummary, type DeviceInfo, type ExecuteCommandResult, type Orientation, type SaveScreenshotResult, type ScreenRecordHandle, type ScreenRecordResult, type ScreenshotResult, type UiDumpResult } from "@beeos-ai/device-common";
32
- import type { ActResponse, CallToolOutput, ExecuteCommandOptions, IMcpRuntime, ListAppsOptions, ScreenshotToFileOptions, StartScreenRecordOptions, SwipeDirectionOptions, UiDumpOptions } from "./runtime.js";
32
+ import type { ActResponse, CallToolOutput, ExecuteCommandOptions, IMcpRuntime, McpCallOptions, ListAppsOptions, ScreenshotToFileOptions, StartScreenRecordOptions, SwipeDirectionOptions, UiDumpOptions } from "./runtime.js";
33
33
  export interface McpClientOptions {
34
34
  /**
35
35
  * HTTP base URL of the sibling device-mcp-server. Either the bare host
@@ -122,7 +122,7 @@ export declare class McpClient extends EventEmitter implements IMcpRuntime {
122
122
  /** Hold the shared MCP authority's writer lease for one complete task. */
123
123
  withDeviceLease<T>(signal: AbortSignal, run: (signal: AbortSignal) => Promise<T>): Promise<T>;
124
124
  /** Generic MCP tool dispatch — used for tools without a typed convenience method. */
125
- callTool<T = unknown>(name: string, args?: Record<string, unknown>): Promise<CallToolOutput<T>>;
125
+ callTool<T = unknown>(name: string, args?: Record<string, unknown>, opts?: McpCallOptions): Promise<CallToolOutput<T>>;
126
126
  /** Convenience: take a screenshot via `tool: screenshot`. */
127
127
  screenshot(): Promise<ScreenshotResult>;
128
128
  /**
@@ -130,6 +130,8 @@ export declare class McpClient extends EventEmitter implements IMcpRuntime {
130
130
  * filtered text; `"raw"` returns full uiautomator XML.
131
131
  */
132
132
  uiDump(opts?: UiDumpOptions): Promise<UiDumpResult>;
133
+ /** Release the transport owned by an embedded runtime on shutdown. */
134
+ close(): Promise<void>;
133
135
  /** Convenience: backend `device_info` tool — the canonical DeviceInfo descriptor. */
134
136
  info(): Promise<DeviceInfo>;
135
137
  /** Convenience: install an APK on the (Android) sandbox. */
@@ -175,10 +177,11 @@ export declare class McpClient extends EventEmitter implements IMcpRuntime {
175
177
  * AgentLoop / ACP handlers can keep treating `act()` as the single dispatch
176
178
  * point.
177
179
  */
178
- act(action: Action): Promise<ActResponse>;
180
+ act(action: Action, opts?: McpCallOptions): Promise<ActResponse>;
179
181
  private ensureConnected;
180
182
  private openTransport;
181
183
  private buildHttpTransport;
184
+ private callSignal;
182
185
  private invoke;
183
186
  private withDefaultDevice;
184
187
  }
@@ -28,6 +28,7 @@
28
28
  */
29
29
  import { EventEmitter } from "node:events";
30
30
  import { createRequire } from "node:module";
31
+ import { abortableRead } from "../core/abortable-read.js";
31
32
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
32
33
  import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
33
34
  import { McpUnreachableError, DeviceError, DEVICE_LEASE_CAPABILITY, DEVICE_LEASE_META, DEVICE_LEASE_TTL_MS, } from "@beeos-ai/device-common";
@@ -121,7 +122,7 @@ export class McpClient extends EventEmitter {
121
122
  }
122
123
  /** Hold the shared MCP authority's writer lease for one complete task. */
123
124
  async withDeviceLease(signal, run) {
124
- await this.ensureConnected();
125
+ await abortableRead(() => this.ensureConnected(), signal);
125
126
  const capability = this.client.getServerCapabilities()?.experimental?.[DEVICE_LEASE_CAPABILITY];
126
127
  if (capability?.version !== 1) {
127
128
  throw new DeviceError("upgrade device-mcp-server: device lease capability v1 is required", { subtype: "unsupported" });
@@ -139,11 +140,11 @@ export class McpClient extends EventEmitter {
139
140
  }, this.defaultDevice, this.leaseTtlMs, signal, run, () => this.emit("leaseReleaseFailure"));
140
141
  }
141
142
  /** Generic MCP tool dispatch — used for tools without a typed convenience method. */
142
- async callTool(name, args = {}) {
143
+ async callTool(name, args = {}, opts) {
143
144
  const t0 = Date.now();
144
145
  let result;
145
146
  try {
146
- result = await this.invoke(name, args);
147
+ result = await this.invoke(name, args, opts);
147
148
  }
148
149
  catch (e) {
149
150
  // Transport / connect failures (typically `McpUnreachableError` from
@@ -152,7 +153,7 @@ export class McpClient extends EventEmitter {
152
153
  // "mcp_unreachable" signal so the health monitor can treat them
153
154
  // distinctly from device-level failures, then re-throw so existing
154
155
  // call sites' error handling stays intact.
155
- this.emit("callResult", { ok: false, subtype: callFailureSubtype(e) });
156
+ this.emit("callResult", { ok: false, subtype: callFailureSubtype(e, this.callSignal(opts)) });
156
157
  throw e;
157
158
  }
158
159
  const durationMs = Date.now() - t0;
@@ -192,6 +193,8 @@ export class McpClient extends EventEmitter {
192
193
  const r = await this.callTool("ui_dump", args);
193
194
  return ensureStructured(r, "ui_dump");
194
195
  }
196
+ /** Release the transport owned by an embedded runtime on shutdown. */
197
+ async close() { await this.client.close(); }
195
198
  /** Convenience: backend `device_info` tool — the canonical DeviceInfo descriptor. */
196
199
  async info() {
197
200
  const r = await this.callTool("device_info", {});
@@ -354,15 +357,18 @@ export class McpClient extends EventEmitter {
354
357
  * AgentLoop / ACP handlers can keep treating `act()` as the single dispatch
355
358
  * point.
356
359
  */
357
- async act(action) {
360
+ async act(action, opts) {
358
361
  const t0 = Date.now();
359
362
  if (action.type === "wait") {
360
363
  try {
361
- await waitForAction(action.payload);
364
+ this.leaseScope.current();
365
+ await waitForAction(action.payload, this.callSignal(opts));
362
366
  return { ok: true, action: "wait", durationMs: Date.now() - t0 };
363
367
  }
364
368
  catch (error) {
365
- return { ok: false, action: "wait", error: { message: String(error), subtype: "invalid_args", actionable: true } };
369
+ const cancelled = this.callSignal(opts)?.aborted;
370
+ return { ok: false, action: "wait", error: { message: String(error),
371
+ subtype: cancelled ? "cancelled" : "invalid_args", actionable: !cancelled } };
366
372
  }
367
373
  }
368
374
  let mapped;
@@ -394,7 +400,7 @@ export class McpClient extends EventEmitter {
394
400
  return { ok: true, action: mapped.type, durationMs: Date.now() - t0 };
395
401
  }
396
402
  try {
397
- const r = await this.invoke(mapped.toolName, mapped.args);
403
+ const r = await this.invoke(mapped.toolName, mapped.args, opts);
398
404
  const durationMs = Date.now() - t0;
399
405
  const isError = r.isError === true;
400
406
  const structured = r.structuredContent;
@@ -427,7 +433,7 @@ export class McpClient extends EventEmitter {
427
433
  };
428
434
  }
429
435
  catch (e) {
430
- const subtype = callFailureSubtype(e);
436
+ const subtype = callFailureSubtype(e, this.callSignal(opts));
431
437
  this.emit("callResult", { ok: false, subtype });
432
438
  return {
433
439
  ok: false,
@@ -467,14 +473,24 @@ export class McpClient extends EventEmitter {
467
473
  ...(requestInit ? { requestInit } : {}),
468
474
  });
469
475
  }
470
- async invoke(name, args) {
471
- await this.ensureConnected();
476
+ callSignal(opts) {
477
+ const leaseSignal = this.leaseScope.signal();
478
+ return opts?.signal && leaseSignal ? AbortSignal.any([opts.signal, leaseSignal]) : opts?.signal ?? leaseSignal;
479
+ }
480
+ async invoke(name, args, opts) {
481
+ // Fence a detached callback before interpreting its released lease's
482
+ // aborted signal as ordinary user cancellation.
483
+ this.leaseScope.current();
484
+ const signal = this.callSignal(opts);
485
+ signal?.throwIfAborted();
486
+ await abortableRead(() => this.ensureConnected(), signal);
487
+ signal?.throwIfAborted();
472
488
  const lease = this.leaseScope.current();
473
489
  if (lease && args.device !== undefined && args.device !== lease.device) {
474
490
  throw new DeviceError("task cannot retarget its leased device", { subtype: "lease_device_mismatch" });
475
491
  }
476
492
  const merged = lease ? { ...args, device: lease.device } : this.withDefaultDevice(args);
477
- return this.client.callTool({ name, arguments: merged, ...(lease ? { _meta: { [DEVICE_LEASE_META]: lease.token } } : {}) }, undefined, { timeout: this.timeoutMs, ...(lease ? { signal: this.leaseScope.signal() } : {}) });
493
+ return this.client.callTool({ name, arguments: merged, ...(lease ? { _meta: { [DEVICE_LEASE_META]: lease.token } } : {}) }, undefined, { timeout: this.timeoutMs, ...(signal ? { signal } : {}) });
478
494
  }
479
495
  withDefaultDevice(args) {
480
496
  if (!this.defaultDevice)
@@ -497,9 +513,11 @@ function normaliseEndpoint(raw) {
497
513
  }
498
514
  return url;
499
515
  }
500
- function callFailureSubtype(error) {
516
+ function callFailureSubtype(error, signal) {
501
517
  if (error instanceof DeviceError)
502
518
  return error.subtype;
519
+ if (signal?.aborted)
520
+ return signal.reason instanceof DeviceError ? signal.reason.subtype : "cancelled";
503
521
  if (error instanceof Error && error.name === "AbortError")
504
522
  return "cancelled";
505
523
  return "mcp_unreachable";
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp-client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp-client/client.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ export interface McpToolSchema {
28
28
  description?: string;
29
29
  inputSchema?: Record<string, unknown>;
30
30
  }
31
+ export interface McpCallOptions {
32
+ signal?: AbortSignal;
33
+ }
31
34
  /**
32
35
  * Internal client-side `act()` envelope. Pre-0.4 this was a wire type
33
36
  * shipped by `device-mcp-server` over `POST /act`; that route is gone
@@ -113,7 +116,7 @@ export interface IMcpRuntime {
113
116
  withDeviceLease?<T>(signal: AbortSignal, run: (signal: AbortSignal) => Promise<T>): Promise<T>;
114
117
  screenshot(): Promise<ScreenshotResult>;
115
118
  uiDump(opts?: UiDumpOptions): Promise<UiDumpResult>;
116
- act(action: Action): Promise<ActResponse>;
119
+ act(action: Action, opts?: McpCallOptions): Promise<ActResponse>;
117
120
  /** Best-effort device descriptor. Optional. */
118
121
  info?(): Promise<DeviceInfo>;
119
122
  /** Install a local APK / package. Optional. */
@@ -128,7 +131,7 @@ export interface IMcpRuntime {
128
131
  * have a dedicated convenience method on this interface.
129
132
  * Optional — the legacy in-proc path may not implement it.
130
133
  */
131
- callTool?<T = unknown>(name: string, args?: Record<string, unknown>): Promise<CallToolOutput<T>>;
134
+ callTool?<T = unknown>(name: string, args?: Record<string, unknown>, opts?: McpCallOptions): Promise<CallToolOutput<T>>;
132
135
  /** Save a screenshot directly to a host filesystem path (avoids 16 MB JSON-RPC body cap). */
133
136
  screenshotToFile?(path: string, opts?: ScreenshotToFileOptions): Promise<SaveScreenshotResult>;
134
137
  /** Start `adb shell screenrecord` (or backend equivalent). */
@@ -4,17 +4,21 @@
4
4
  * Each attached device owns an independent logical runtime lease even when
5
5
  * multiple device runtimes share one OS process. Lease credentials remain
6
6
  * memory-only and are never included in logs.
7
+ *
8
+ * Registration, heartbeat and lease fencing are owned by the harness SDK's
9
+ * `RuntimeRegistrationCoordinator`; this plugin keeps only the durable
10
+ * registration lineage and the Types4 agent projection it publishes.
7
11
  */
8
- import { AgentGatewayError, type AgentDeclarationInput, type AgentGatewayIdentity } from "../../adapters/agent-gateway-client.js";
12
+ import { type RuntimeDeliveryAuthorityLease } from "@beeos-ai/cloud-harness-sdk";
13
+ import { type AgentDeclarationInput, type AgentGatewayIdentity } from "../../adapters/agent-gateway-client.js";
9
14
  import type { AgentPlugin, PluginContext } from "../../ports/plugin.js";
10
- export declare function resolveRegistrationManifestDigest(): string;
15
+ export declare function resolveRegistrationManifestDigest(cloudTarget?: boolean): string;
11
16
  /**
12
17
  * Cluster treats registrationId as an idempotency key for one immutable
13
18
  * registration intent. Bind it to the contract as well as the device identity
14
19
  * so an agent upgrade cannot reuse an old id with a different manifest.
15
20
  */
16
21
  export declare function buildRuntimeRegistrationId(identityFingerprint: string, manifestDigest: string, journalGeneration?: string, nonce?: string): string;
17
- export declare function parseExpectedJournalGeneration(error: Pick<AgentGatewayError, "message" | "body">): string | null;
18
22
  export interface AgentSyncOptions {
19
23
  buildDeclarations: () => Promise<AgentDeclarationInput[]>;
20
24
  loadIdentity: () => Promise<AgentGatewayIdentity | null>;
@@ -34,40 +38,51 @@ export declare class AgentSyncPlugin implements AgentPlugin {
34
38
  readonly name = "agent-sync";
35
39
  private ctx?;
36
40
  private stopped;
37
- private generation;
38
- private controlTimer;
39
- private expiryTimer;
40
- private syncTimer;
41
41
  private periodicSync;
42
- private lease;
42
+ private restartTimer;
43
+ private syncTimer;
44
+ private coordinator;
43
45
  private identity;
44
46
  private registration;
45
47
  private acceptedRevision;
46
48
  private acceptedHash;
49
+ private syncedEpoch;
50
+ private initializing;
47
51
  private queue;
52
+ private readonly authorityListeners;
48
53
  constructor(opts: AgentSyncOptions);
54
+ currentLease(): RuntimeDeliveryAuthorityLease | null;
55
+ subscribeAuthority(listener: () => void): () => void;
49
56
  init(ctx: PluginContext): void;
50
57
  start(): Promise<void>;
51
58
  stop(): Promise<void>;
52
- private registerOnce;
53
- private heartbeat;
59
+ /**
60
+ * Build the harness registration coordinator for the current durable
61
+ * lineage and let it own registration, heartbeat and lease fencing.
62
+ */
63
+ private startRegistration;
64
+ /** Only a new runtime epoch needs a fresh projection; renewals do not. */
65
+ private onAuthorityChanged;
66
+ private onLeaseLost;
67
+ /**
68
+ * The authority fenced the old journal lineage. Roll the durable generation
69
+ * exactly once, then rebuild the coordinator so it re-registers the new id.
70
+ */
71
+ private rollAndRestart;
54
72
  private syncProjection;
55
73
  private toProjection;
56
- private scheduleRegister;
57
- private scheduleHeartbeat;
74
+ private restartRegistration;
75
+ private scheduleRestart;
58
76
  private scheduleSyncRetry;
59
- private scheduleExpiry;
60
- private registrationId;
61
- private handlerIdentity;
62
77
  private ensureRegistrationState;
63
- private rollRegistrationState;
64
78
  private readRegistrationState;
65
79
  private publishRegistrationState;
66
80
  private registrationStateFile;
67
81
  private nextUUID;
68
- private dropLease;
69
82
  private clearTimers;
70
83
  private now;
71
84
  private isCurrent;
72
85
  private enqueue;
86
+ /** Wait until no further work is chained onto the serial queue. */
87
+ private drain;
73
88
  }