@beeos-ai/device-agent 0.4.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 (398) hide show
  1. package/.pi/extensions/android-tools.ts +139 -0
  2. package/.pi/skills/.gitkeep +0 -0
  3. package/.pi/skills/ground-mobile-fallback/SKILL.md +50 -0
  4. package/LICENSE +201 -0
  5. package/dist/action/handler.d.ts +9 -0
  6. package/dist/action/handler.js +124 -0
  7. package/dist/action/handler.js.map +1 -0
  8. package/dist/adapters/agent-gateway-client.d.ts +256 -0
  9. package/dist/adapters/agent-gateway-client.js +332 -0
  10. package/dist/adapters/agent-gateway-client.js.map +1 -0
  11. package/dist/adapters/agentcore-inner-loop.d.ts +29 -0
  12. package/dist/adapters/agentcore-inner-loop.js +72 -0
  13. package/dist/adapters/agentcore-inner-loop.js.map +1 -0
  14. package/dist/adapters/agentcore-pi.d.ts +215 -0
  15. package/dist/adapters/agentcore-pi.js +464 -0
  16. package/dist/adapters/agentcore-pi.js.map +1 -0
  17. package/dist/adapters/agentcore-runner.d.ts +70 -0
  18. package/dist/adapters/agentcore-runner.js +255 -0
  19. package/dist/adapters/agentcore-runner.js.map +1 -0
  20. package/dist/adapters/device-android-adb.d.ts +41 -0
  21. package/dist/adapters/device-android-adb.js +279 -0
  22. package/dist/adapters/device-android-adb.js.map +1 -0
  23. package/dist/adapters/device-desktop.d.ts +37 -0
  24. package/dist/adapters/device-desktop.js +101 -0
  25. package/dist/adapters/device-desktop.js.map +1 -0
  26. package/dist/adapters/identity-file.d.ts +30 -0
  27. package/dist/adapters/identity-file.js +50 -0
  28. package/dist/adapters/identity-file.js.map +1 -0
  29. package/dist/adapters/transport-bridge-ws.d.ts +39 -0
  30. package/dist/adapters/transport-bridge-ws.js +49 -0
  31. package/dist/adapters/transport-bridge-ws.js.map +1 -0
  32. package/dist/adapters/vlm-inner-loop.d.ts +88 -0
  33. package/dist/adapters/vlm-inner-loop.js +199 -0
  34. package/dist/adapters/vlm-inner-loop.js.map +1 -0
  35. package/dist/agent-runtime/adapters/base.d.ts +145 -0
  36. package/dist/agent-runtime/adapters/base.js +29 -0
  37. package/dist/agent-runtime/adapters/base.js.map +1 -0
  38. package/dist/agent-runtime/adapters/index.d.ts +17 -0
  39. package/dist/agent-runtime/adapters/index.js +17 -0
  40. package/dist/agent-runtime/adapters/index.js.map +1 -0
  41. package/dist/agent-runtime/adapters/mock.d.ts +44 -0
  42. package/dist/agent-runtime/adapters/mock.js +54 -0
  43. package/dist/agent-runtime/adapters/mock.js.map +1 -0
  44. package/dist/agent-runtime/adapters/openai.d.ts +63 -0
  45. package/dist/agent-runtime/adapters/openai.js +302 -0
  46. package/dist/agent-runtime/adapters/openai.js.map +1 -0
  47. package/dist/agent-runtime/adapters/registry.d.ts +49 -0
  48. package/dist/agent-runtime/adapters/registry.js +129 -0
  49. package/dist/agent-runtime/adapters/registry.js.map +1 -0
  50. package/dist/agent-runtime/adapters/ui-tars.d.ts +13 -0
  51. package/dist/agent-runtime/adapters/ui-tars.js +22 -0
  52. package/dist/agent-runtime/adapters/ui-tars.js.map +1 -0
  53. package/dist/agent-runtime/agent-runner.d.ts +149 -0
  54. package/dist/agent-runtime/agent-runner.js +356 -0
  55. package/dist/agent-runtime/agent-runner.js.map +1 -0
  56. package/dist/agent-runtime/core.d.ts +170 -0
  57. package/dist/agent-runtime/core.js +624 -0
  58. package/dist/agent-runtime/core.js.map +1 -0
  59. package/dist/agent-runtime/index.d.ts +16 -0
  60. package/dist/agent-runtime/index.js +17 -0
  61. package/dist/agent-runtime/index.js.map +1 -0
  62. package/dist/agent-runtime/plan-executor.d.ts +118 -0
  63. package/dist/agent-runtime/plan-executor.js +501 -0
  64. package/dist/agent-runtime/plan-executor.js.map +1 -0
  65. package/dist/agent-runtime/planner/base.d.ts +128 -0
  66. package/dist/agent-runtime/planner/base.js +157 -0
  67. package/dist/agent-runtime/planner/base.js.map +1 -0
  68. package/dist/agent-runtime/planner/llm-planner.d.ts +58 -0
  69. package/dist/agent-runtime/planner/llm-planner.js +112 -0
  70. package/dist/agent-runtime/planner/llm-planner.js.map +1 -0
  71. package/dist/agent-runtime/planner/noop-planner.d.ts +13 -0
  72. package/dist/agent-runtime/planner/noop-planner.js +30 -0
  73. package/dist/agent-runtime/planner/noop-planner.js.map +1 -0
  74. package/dist/agent-runtime/planner/prompts.d.ts +33 -0
  75. package/dist/agent-runtime/planner/prompts.js +165 -0
  76. package/dist/agent-runtime/planner/prompts.js.map +1 -0
  77. package/dist/agent-runtime/reflection.d.ts +81 -0
  78. package/dist/agent-runtime/reflection.js +189 -0
  79. package/dist/agent-runtime/reflection.js.map +1 -0
  80. package/dist/agent-runtime/reflectors/action-reflector.d.ts +97 -0
  81. package/dist/agent-runtime/reflectors/action-reflector.js +233 -0
  82. package/dist/agent-runtime/reflectors/action-reflector.js.map +1 -0
  83. package/dist/agent-runtime/reflectors/policy.d.ts +53 -0
  84. package/dist/agent-runtime/reflectors/policy.js +106 -0
  85. package/dist/agent-runtime/reflectors/policy.js.map +1 -0
  86. package/dist/agent-runtime/reflectors/trajectory-reflector.d.ts +94 -0
  87. package/dist/agent-runtime/reflectors/trajectory-reflector.js +223 -0
  88. package/dist/agent-runtime/reflectors/trajectory-reflector.js.map +1 -0
  89. package/dist/agent-runtime/skills/embedding.d.ts +53 -0
  90. package/dist/agent-runtime/skills/embedding.js +134 -0
  91. package/dist/agent-runtime/skills/embedding.js.map +1 -0
  92. package/dist/agent-runtime/skills/fs-store.d.ts +88 -0
  93. package/dist/agent-runtime/skills/fs-store.js +483 -0
  94. package/dist/agent-runtime/skills/fs-store.js.map +1 -0
  95. package/dist/agent-runtime/skills/index.d.ts +10 -0
  96. package/dist/agent-runtime/skills/index.js +10 -0
  97. package/dist/agent-runtime/skills/index.js.map +1 -0
  98. package/dist/agent-runtime/skills/matcher-evolver.d.ts +88 -0
  99. package/dist/agent-runtime/skills/matcher-evolver.js +110 -0
  100. package/dist/agent-runtime/skills/matcher-evolver.js.map +1 -0
  101. package/dist/agent-runtime/skills/memory-store.d.ts +23 -0
  102. package/dist/agent-runtime/skills/memory-store.js +94 -0
  103. package/dist/agent-runtime/skills/memory-store.js.map +1 -0
  104. package/dist/agent-runtime/skills/normalise.d.ts +40 -0
  105. package/dist/agent-runtime/skills/normalise.js +152 -0
  106. package/dist/agent-runtime/skills/normalise.js.map +1 -0
  107. package/dist/agent-runtime/skills/replay.d.ts +46 -0
  108. package/dist/agent-runtime/skills/replay.js +106 -0
  109. package/dist/agent-runtime/skills/replay.js.map +1 -0
  110. package/dist/agent-runtime/skills/sqlite-store.d.ts +60 -0
  111. package/dist/agent-runtime/skills/sqlite-store.js +234 -0
  112. package/dist/agent-runtime/skills/sqlite-store.js.map +1 -0
  113. package/dist/agent-runtime/skills/types.d.ts +99 -0
  114. package/dist/agent-runtime/skills/types.js +14 -0
  115. package/dist/agent-runtime/skills/types.js.map +1 -0
  116. package/dist/agent.d.ts +110 -0
  117. package/dist/agent.js +162 -0
  118. package/dist/agent.js.map +1 -0
  119. package/dist/api.d.ts +27 -0
  120. package/dist/api.js +48 -0
  121. package/dist/api.js.map +1 -0
  122. package/dist/app/agent-host.d.ts +59 -0
  123. package/dist/app/agent-host.js +263 -0
  124. package/dist/app/agent-host.js.map +1 -0
  125. package/dist/app/device-manager.d.ts +28 -0
  126. package/dist/app/device-manager.js +64 -0
  127. package/dist/app/device-manager.js.map +1 -0
  128. package/dist/app/message-store.d.ts +55 -0
  129. package/dist/app/message-store.js +99 -0
  130. package/dist/app/message-store.js.map +1 -0
  131. package/dist/app/session-manager.d.ts +132 -0
  132. package/dist/app/session-manager.js +350 -0
  133. package/dist/app/session-manager.js.map +1 -0
  134. package/dist/bootstrap.d.ts +94 -0
  135. package/dist/bootstrap.js +459 -0
  136. package/dist/bootstrap.js.map +1 -0
  137. package/dist/chat.d.ts +16 -0
  138. package/dist/chat.js +175 -0
  139. package/dist/chat.js.map +1 -0
  140. package/dist/config/loader.d.ts +77 -0
  141. package/dist/config/loader.js +292 -0
  142. package/dist/config/loader.js.map +1 -0
  143. package/dist/config/schema.d.ts +162 -0
  144. package/dist/config/schema.js +243 -0
  145. package/dist/config/schema.js.map +1 -0
  146. package/dist/core/actions.d.ts +60 -0
  147. package/dist/core/actions.js +120 -0
  148. package/dist/core/actions.js.map +1 -0
  149. package/dist/core/errors.d.ts +8 -0
  150. package/dist/core/errors.js +9 -0
  151. package/dist/core/errors.js.map +1 -0
  152. package/dist/core/screen.d.ts +7 -0
  153. package/dist/core/screen.js +8 -0
  154. package/dist/core/screen.js.map +1 -0
  155. package/dist/core/session.d.ts +42 -0
  156. package/dist/core/session.js +29 -0
  157. package/dist/core/session.js.map +1 -0
  158. package/dist/debug/dump-system-prompt.d.ts +1 -0
  159. package/dist/debug/dump-system-prompt.js +34 -0
  160. package/dist/debug/dump-system-prompt.js.map +1 -0
  161. package/dist/device/android.d.ts +25 -0
  162. package/dist/device/android.js +231 -0
  163. package/dist/device/android.js.map +1 -0
  164. package/dist/device/apps.d.ts +3 -0
  165. package/dist/device/apps.js +77 -0
  166. package/dist/device/apps.js.map +1 -0
  167. package/dist/device/base.d.ts +20 -0
  168. package/dist/device/base.js +2 -0
  169. package/dist/device/base.js.map +1 -0
  170. package/dist/device/ui-xml.d.ts +29 -0
  171. package/dist/device/ui-xml.js +194 -0
  172. package/dist/device/ui-xml.js.map +1 -0
  173. package/dist/fleet/adapters/process/node-process-manager.d.ts +157 -0
  174. package/dist/fleet/adapters/process/node-process-manager.js +664 -0
  175. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -0
  176. package/dist/fleet/adapters/sources/local-adb.d.ts +105 -0
  177. package/dist/fleet/adapters/sources/local-adb.js +353 -0
  178. package/dist/fleet/adapters/sources/local-adb.js.map +1 -0
  179. package/dist/fleet/adapters/sources/remote-adb.d.ts +97 -0
  180. package/dist/fleet/adapters/sources/remote-adb.js +138 -0
  181. package/dist/fleet/adapters/sources/remote-adb.js.map +1 -0
  182. package/dist/fleet/adapters/state/beeos-cli-store.d.ts +72 -0
  183. package/dist/fleet/adapters/state/beeos-cli-store.js +250 -0
  184. package/dist/fleet/adapters/state/beeos-cli-store.js.map +1 -0
  185. package/dist/fleet/adapters/state/port-allocator.d.ts +43 -0
  186. package/dist/fleet/adapters/state/port-allocator.js +173 -0
  187. package/dist/fleet/adapters/state/port-allocator.js.map +1 -0
  188. package/dist/fleet/domain/device.d.ts +138 -0
  189. package/dist/fleet/domain/device.js +49 -0
  190. package/dist/fleet/domain/device.js.map +1 -0
  191. package/dist/fleet/domain/events.d.ts +102 -0
  192. package/dist/fleet/domain/events.js +15 -0
  193. package/dist/fleet/domain/events.js.map +1 -0
  194. package/dist/fleet/domain/fsm.d.ts +122 -0
  195. package/dist/fleet/domain/fsm.js +475 -0
  196. package/dist/fleet/domain/fsm.js.map +1 -0
  197. package/dist/fleet/http/status-client.d.ts +31 -0
  198. package/dist/fleet/http/status-client.js +115 -0
  199. package/dist/fleet/http/status-client.js.map +1 -0
  200. package/dist/fleet/http/status-server.d.ts +64 -0
  201. package/dist/fleet/http/status-server.js +200 -0
  202. package/dist/fleet/http/status-server.js.map +1 -0
  203. package/dist/fleet/index.d.ts +27 -0
  204. package/dist/fleet/index.js +17 -0
  205. package/dist/fleet/index.js.map +1 -0
  206. package/dist/fleet/installer/index.d.ts +12 -0
  207. package/dist/fleet/installer/index.js +13 -0
  208. package/dist/fleet/installer/index.js.map +1 -0
  209. package/dist/fleet/installer/launchd-mac.d.ts +73 -0
  210. package/dist/fleet/installer/launchd-mac.js +291 -0
  211. package/dist/fleet/installer/launchd-mac.js.map +1 -0
  212. package/dist/fleet/installer/service-spec.d.ts +70 -0
  213. package/dist/fleet/installer/service-spec.js +43 -0
  214. package/dist/fleet/installer/service-spec.js.map +1 -0
  215. package/dist/fleet/installer/spawn-env.d.ts +45 -0
  216. package/dist/fleet/installer/spawn-env.js +224 -0
  217. package/dist/fleet/installer/spawn-env.js.map +1 -0
  218. package/dist/fleet/ports/clock.d.ts +19 -0
  219. package/dist/fleet/ports/clock.js +26 -0
  220. package/dist/fleet/ports/clock.js.map +1 -0
  221. package/dist/fleet/ports/device-source.d.ts +28 -0
  222. package/dist/fleet/ports/device-source.js +18 -0
  223. package/dist/fleet/ports/device-source.js.map +1 -0
  224. package/dist/fleet/ports/process-manager.d.ts +110 -0
  225. package/dist/fleet/ports/process-manager.js +27 -0
  226. package/dist/fleet/ports/process-manager.js.map +1 -0
  227. package/dist/fleet/ports/state-registry.d.ts +49 -0
  228. package/dist/fleet/ports/state-registry.js +12 -0
  229. package/dist/fleet/ports/state-registry.js.map +1 -0
  230. package/dist/fleet/supervisor.d.ts +107 -0
  231. package/dist/fleet/supervisor.js +508 -0
  232. package/dist/fleet/supervisor.js.map +1 -0
  233. package/dist/grounding/grounder.d.ts +46 -0
  234. package/dist/grounding/grounder.js +82 -0
  235. package/dist/grounding/grounder.js.map +1 -0
  236. package/dist/inbound/acp/handlers/device.d.ts +43 -0
  237. package/dist/inbound/acp/handlers/device.js +153 -0
  238. package/dist/inbound/acp/handlers/device.js.map +1 -0
  239. package/dist/inbound/acp/handlers/initialize.d.ts +71 -0
  240. package/dist/inbound/acp/handlers/initialize.js +53 -0
  241. package/dist/inbound/acp/handlers/initialize.js.map +1 -0
  242. package/dist/inbound/acp/handlers/models.d.ts +16 -0
  243. package/dist/inbound/acp/handlers/models.js +23 -0
  244. package/dist/inbound/acp/handlers/models.js.map +1 -0
  245. package/dist/inbound/acp/handlers/session.d.ts +51 -0
  246. package/dist/inbound/acp/handlers/session.js +61 -0
  247. package/dist/inbound/acp/handlers/session.js.map +1 -0
  248. package/dist/inbound/acp/handlers/skills.d.ts +8 -0
  249. package/dist/inbound/acp/handlers/skills.js +9 -0
  250. package/dist/inbound/acp/handlers/skills.js.map +1 -0
  251. package/dist/inbound/acp/notifier.d.ts +35 -0
  252. package/dist/inbound/acp/notifier.js +45 -0
  253. package/dist/inbound/acp/notifier.js.map +1 -0
  254. package/dist/inbound/acp/router.d.ts +67 -0
  255. package/dist/inbound/acp/router.js +179 -0
  256. package/dist/inbound/acp/router.js.map +1 -0
  257. package/dist/inbound/cli/fleet-command.d.ts +34 -0
  258. package/dist/inbound/cli/fleet-command.js +792 -0
  259. package/dist/inbound/cli/fleet-command.js.map +1 -0
  260. package/dist/inbound/cli/main.d.ts +38 -0
  261. package/dist/inbound/cli/main.js +364 -0
  262. package/dist/inbound/cli/main.js.map +1 -0
  263. package/dist/inbound/cli/run-command.d.ts +101 -0
  264. package/dist/inbound/cli/run-command.js +405 -0
  265. package/dist/inbound/cli/run-command.js.map +1 -0
  266. package/dist/inbound/cli/skills-command.d.ts +39 -0
  267. package/dist/inbound/cli/skills-command.js +333 -0
  268. package/dist/inbound/cli/skills-command.js.map +1 -0
  269. package/dist/inbound/http/server.d.ts +7 -0
  270. package/dist/inbound/http/server.js +8 -0
  271. package/dist/inbound/http/server.js.map +1 -0
  272. package/dist/index.d.ts +66 -0
  273. package/dist/index.js +48 -0
  274. package/dist/index.js.map +1 -0
  275. package/dist/logger/index.d.ts +37 -0
  276. package/dist/logger/index.js +84 -0
  277. package/dist/logger/index.js.map +1 -0
  278. package/dist/mcp-client/autospawn.d.ts +67 -0
  279. package/dist/mcp-client/autospawn.js +173 -0
  280. package/dist/mcp-client/autospawn.js.map +1 -0
  281. package/dist/mcp-client/client.d.ts +78 -0
  282. package/dist/mcp-client/client.js +168 -0
  283. package/dist/mcp-client/client.js.map +1 -0
  284. package/dist/mcp-client/index.d.ts +7 -0
  285. package/dist/mcp-client/index.js +4 -0
  286. package/dist/mcp-client/index.js.map +1 -0
  287. package/dist/mcp-client/inproc.d.ts +47 -0
  288. package/dist/mcp-client/inproc.js +229 -0
  289. package/dist/mcp-client/inproc.js.map +1 -0
  290. package/dist/mcp-client/runtime.d.ts +34 -0
  291. package/dist/mcp-client/runtime.js +15 -0
  292. package/dist/mcp-client/runtime.js.map +1 -0
  293. package/dist/model/adapters/autoglm.d.ts +31 -0
  294. package/dist/model/adapters/autoglm.js +409 -0
  295. package/dist/model/adapters/autoglm.js.map +1 -0
  296. package/dist/model/adapters/base.d.ts +13 -0
  297. package/dist/model/adapters/base.js +27 -0
  298. package/dist/model/adapters/base.js.map +1 -0
  299. package/dist/model/adapters/guiowl.d.ts +1 -0
  300. package/dist/model/adapters/guiowl.js +253 -0
  301. package/dist/model/adapters/guiowl.js.map +1 -0
  302. package/dist/model/adapters/index.d.ts +6 -0
  303. package/dist/model/adapters/index.js +8 -0
  304. package/dist/model/adapters/index.js.map +1 -0
  305. package/dist/model/adapters/maiui.d.ts +1 -0
  306. package/dist/model/adapters/maiui.js +117 -0
  307. package/dist/model/adapters/maiui.js.map +1 -0
  308. package/dist/model/adapters/qwenvl.d.ts +1 -0
  309. package/dist/model/adapters/qwenvl.js +108 -0
  310. package/dist/model/adapters/qwenvl.js.map +1 -0
  311. package/dist/model/adapters/showui.d.ts +1 -0
  312. package/dist/model/adapters/showui.js +132 -0
  313. package/dist/model/adapters/showui.js.map +1 -0
  314. package/dist/model/adapters/tool-call.d.ts +6 -0
  315. package/dist/model/adapters/tool-call.js +102 -0
  316. package/dist/model/adapters/tool-call.js.map +1 -0
  317. package/dist/model/adapters/uitars.d.ts +1 -0
  318. package/dist/model/adapters/uitars.js +180 -0
  319. package/dist/model/adapters/uitars.js.map +1 -0
  320. package/dist/model/base.d.ts +32 -0
  321. package/dist/model/base.js +2 -0
  322. package/dist/model/base.js.map +1 -0
  323. package/dist/model/client.d.ts +26 -0
  324. package/dist/model/client.js +300 -0
  325. package/dist/model/client.js.map +1 -0
  326. package/dist/model/image/compress.d.ts +53 -0
  327. package/dist/model/image/compress.js +89 -0
  328. package/dist/model/image/compress.js.map +1 -0
  329. package/dist/model/image/transport.d.ts +134 -0
  330. package/dist/model/image/transport.js +154 -0
  331. package/dist/model/image/transport.js.map +1 -0
  332. package/dist/orchestrator-system-prompt.d.ts +6 -0
  333. package/dist/orchestrator-system-prompt.js +81 -0
  334. package/dist/orchestrator-system-prompt.js.map +1 -0
  335. package/dist/pi-context.d.ts +82 -0
  336. package/dist/pi-context.js +62 -0
  337. package/dist/pi-context.js.map +1 -0
  338. package/dist/pi-local-skills.d.ts +17 -0
  339. package/dist/pi-local-skills.js +24 -0
  340. package/dist/pi-local-skills.js.map +1 -0
  341. package/dist/plugins/acp/index.d.ts +46 -0
  342. package/dist/plugins/acp/index.js +111 -0
  343. package/dist/plugins/acp/index.js.map +1 -0
  344. package/dist/plugins/agent-sync/index.d.ts +40 -0
  345. package/dist/plugins/agent-sync/index.js +98 -0
  346. package/dist/plugins/agent-sync/index.js.map +1 -0
  347. package/dist/plugins/http-debug/index.d.ts +30 -0
  348. package/dist/plugins/http-debug/index.js +64 -0
  349. package/dist/plugins/http-debug/index.js.map +1 -0
  350. package/dist/plugins/http-debug/server.d.ts +92 -0
  351. package/dist/plugins/http-debug/server.js +464 -0
  352. package/dist/plugins/http-debug/server.js.map +1 -0
  353. package/dist/ports/agent-core.d.ts +158 -0
  354. package/dist/ports/agent-core.js +2 -0
  355. package/dist/ports/agent-core.js.map +1 -0
  356. package/dist/ports/agent-host.d.ts +125 -0
  357. package/dist/ports/agent-host.js +23 -0
  358. package/dist/ports/agent-host.js.map +1 -0
  359. package/dist/ports/device.d.ts +53 -0
  360. package/dist/ports/device.js +13 -0
  361. package/dist/ports/device.js.map +1 -0
  362. package/dist/ports/identity.d.ts +22 -0
  363. package/dist/ports/identity.js +9 -0
  364. package/dist/ports/identity.js.map +1 -0
  365. package/dist/ports/plugin.d.ts +62 -0
  366. package/dist/ports/plugin.js +35 -0
  367. package/dist/ports/plugin.js.map +1 -0
  368. package/dist/ports/transport.d.ts +32 -0
  369. package/dist/ports/transport.js +12 -0
  370. package/dist/ports/transport.js.map +1 -0
  371. package/dist/ports/vlm.d.ts +59 -0
  372. package/dist/ports/vlm.js +14 -0
  373. package/dist/ports/vlm.js.map +1 -0
  374. package/dist/test-lan-autoglm.d.ts +7 -0
  375. package/dist/test-lan-autoglm.js +46 -0
  376. package/dist/test-lan-autoglm.js.map +1 -0
  377. package/dist/test-mem-breakdown.d.ts +1 -0
  378. package/dist/test-mem-breakdown.js +103 -0
  379. package/dist/test-mem-breakdown.js.map +1 -0
  380. package/dist/test-mem.d.ts +1 -0
  381. package/dist/test-mem.js +60 -0
  382. package/dist/test-mem.js.map +1 -0
  383. package/dist/test-mobile-use.d.ts +1 -0
  384. package/dist/test-mobile-use.js +18 -0
  385. package/dist/test-mobile-use.js.map +1 -0
  386. package/dist/test-screenshot-loop.d.ts +1 -0
  387. package/dist/test-screenshot-loop.js +43 -0
  388. package/dist/test-screenshot-loop.js.map +1 -0
  389. package/dist/test-screenshot.d.ts +1 -0
  390. package/dist/test-screenshot.js +10 -0
  391. package/dist/test-screenshot.js.map +1 -0
  392. package/dist/test-ui-xml-dump.d.ts +15 -0
  393. package/dist/test-ui-xml-dump.js +49 -0
  394. package/dist/test-ui-xml-dump.js.map +1 -0
  395. package/dist/types.d.ts +69 -0
  396. package/dist/types.js +23 -0
  397. package/dist/types.js.map +1 -0
  398. package/package.json +94 -0
@@ -0,0 +1,145 @@
1
+ /**
2
+ * agent-runtime/adapters/base — minimal contract every model adapter speaks.
3
+ *
4
+ * Mirrors the Python reference at
5
+ * /Users/heat/workspace/deviceagent_research/deviceagent/agent_runtime/adapters/base.py
6
+ *
7
+ * Each adapter is a stateless* function from `(Observation, StepHistory[])`
8
+ * → `Prediction`, where `Prediction.action` is the unified `Action` schema
9
+ * the MCP server understands. Adapters MUST NOT touch the device or the
10
+ * MCP client themselves — they only translate observations into actions.
11
+ *
12
+ * (* "stateless" only WRT the agent loop: an adapter MAY hold its own LLM
13
+ * client, prompt cache, etc. as long as it tolerates concurrent runs by
14
+ * different `AgentLoop` instances.)
15
+ */
16
+ import type { Action, Observation } from "@beeos-ai/device-common";
17
+ /**
18
+ * Token / cost accounting reported by adapters per prediction. Aggregated by
19
+ * `AgentLoop` over a single run and surfaced via `AgentRunResult.usage`.
20
+ */
21
+ export interface ModelUsage {
22
+ inputTokens: number;
23
+ outputTokens: number;
24
+ /** Cached prompt tokens, when the provider exposes them (OpenAI / Anthropic). */
25
+ cachedInputTokens?: number;
26
+ /** Approximate USD cost when the adapter knows the price; otherwise undefined. */
27
+ costUsd?: number;
28
+ /** Wall-clock time of the underlying model request. */
29
+ durationMs?: number;
30
+ }
31
+ /**
32
+ * One entry in the rolling history `AgentLoop` keeps so adapters can ground
33
+ * their next prediction on previous turns. The history is intentionally
34
+ * narrow — adapters that need richer context (full message arrays, image
35
+ * histories, scratchpad memory) should keep that internally.
36
+ */
37
+ /**
38
+ * Outcome of dispatching this step's action. The `AgentLoop` writes one of:
39
+ * - `"ok"` — action dispatched to MCP and returned without error
40
+ * - `"act_failed"` — MCP `/act` rejected (HTTP error, ADB error, …)
41
+ * - `"predict_failed"` — model adapter threw (no action produced)
42
+ * - `"skipped"` — pre-action sanity check vetoed dispatch
43
+ * - `"terminal"` — `done` / `fail` / `call_for_user` short-circuited the loop
44
+ *
45
+ * Used by reflectors and the planner replan path to decide whether to
46
+ * fire follow-up reasoning. Optional for backwards compatibility — older
47
+ * test fixtures predate the field.
48
+ */
49
+ export type StepOutcome = "ok" | "act_failed" | "predict_failed" | "skipped" | "terminal";
50
+ export interface StepHistory {
51
+ /** 1-based step index. */
52
+ stepIdx: number;
53
+ /** Action emitted in this step (`null` only for the very first observation). */
54
+ action: Action | null;
55
+ /** Free-form rationale or thinking string from the adapter. */
56
+ rationale: string;
57
+ /**
58
+ * Short summary of what the screen looked like (e.g. "Home screen") so
59
+ * adapters that don't keep image history can still reason about progress.
60
+ */
61
+ observationSummary: string;
62
+ /**
63
+ * Outcome of this step's action dispatch. See {@link StepOutcome}.
64
+ * Optional so existing test fixtures keep validating; new code paths
65
+ * (reflectors, replan context) MUST populate it.
66
+ */
67
+ actionResult?: StepOutcome;
68
+ /**
69
+ * Adapter-reported confidence in `[0, 1]` for this step's prediction.
70
+ * Copied from `Prediction.confidence`. Optional — adapters that can't
71
+ * estimate confidence (no logprob support) leave it undefined and the
72
+ * reflector falls back to its whitelist-only trigger.
73
+ */
74
+ confidence?: number;
75
+ /**
76
+ * Populated only when `actionResult === "act_failed"` — the MCP error
77
+ * message / status. Reflectors splice this into their prompt so the
78
+ * grounder can see *why* the previous step failed on retry.
79
+ */
80
+ actErrorMessage?: string;
81
+ }
82
+ export interface Prediction {
83
+ /** Predicted next action. Use `done` / `fail` / `call_for_user` to stop. */
84
+ action: Action;
85
+ /** Free-form thinking / reasoning string surfaced via hooks. */
86
+ rationale: string;
87
+ /** Adapter's self-reported confidence in [0, 1]; 0.5 when unknown. */
88
+ confidence: number;
89
+ /** Token / cost accounting for this single prediction. */
90
+ usage: ModelUsage;
91
+ /** Raw provider response (model output / tool-call payload). For debug. */
92
+ rawResponse: string;
93
+ }
94
+ /**
95
+ * Optional hooks an adapter may call during a long inference (streaming
96
+ * tokens, tool-call detected). Wired through to the AgentLoop's `onText`
97
+ * / `onReasoning` hooks.
98
+ */
99
+ export interface PredictHooks {
100
+ /** Streaming token delta from the underlying model. Best-effort. */
101
+ onText?: (delta: string) => void | Promise<void>;
102
+ /** Reasoning tokens (separate channel for OpenAI o1-style models). */
103
+ onReasoning?: (delta: string) => void | Promise<void>;
104
+ }
105
+ export interface PredictOptions {
106
+ signal?: AbortSignal;
107
+ hooks?: PredictHooks;
108
+ }
109
+ export interface IModelAdapter {
110
+ /** Stable, lower-case identifier used by the registry (e.g. `openai`). */
111
+ readonly name: string;
112
+ /** Human-readable model identifier the adapter is configured against. */
113
+ readonly modelName?: string;
114
+ /**
115
+ * Whether this adapter consumes the per-step `Observation.uiDump`. When
116
+ * `false` (default — matches Open-AutoGLM upstream pure-vision flow,
117
+ * `phone_agent/agent.py:142-169` + `model/client.py:277-290` only feed
118
+ * `screenshot + {"current_app": ...}` text), the `AgentLoop` skips the
119
+ * `mcp.uiDump()` round-trip in `observe()`, saving 1–3 s per step on
120
+ * Android (uiautomator dump is not free on large apps).
121
+ *
122
+ * Set to `true` for adapters that splice the UI hierarchy XML into the
123
+ * model prompt (e.g. GUI-Owl, Qwen-VL with XML fine-tune, generic
124
+ * GPT-4V chains driven by HTML-style hierarchies).
125
+ */
126
+ readonly consumesUiDump?: boolean;
127
+ /**
128
+ * Predict the next `Action` given the current observation and history.
129
+ *
130
+ * Implementations SHOULD:
131
+ * - tolerate `signal.aborted` via `AbortSignal.throwIfAborted()` on slow paths
132
+ * - return a `wait` / `done` action rather than throwing for soft failures
133
+ * - report token usage when the provider surfaces it
134
+ */
135
+ predictAction(observation: Observation, history: StepHistory[], opts?: PredictOptions): Promise<Prediction>;
136
+ /** Optional capability check; `undefined` means "trust the registry". */
137
+ supportsEnv?(env: Observation["env"]): boolean;
138
+ /** Release any underlying resources (HTTP agents, sockets, model pools). */
139
+ close?(): Promise<void>;
140
+ }
141
+ /**
142
+ * Convenience constructor — adapters that produce a fully-typed Action can
143
+ * skip filling in the boilerplate `usage`/`rawResponse` defaults.
144
+ */
145
+ export declare function makePrediction(action: Action, init?: Partial<Omit<Prediction, "action">>): Prediction;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * agent-runtime/adapters/base — minimal contract every model adapter speaks.
3
+ *
4
+ * Mirrors the Python reference at
5
+ * /Users/heat/workspace/deviceagent_research/deviceagent/agent_runtime/adapters/base.py
6
+ *
7
+ * Each adapter is a stateless* function from `(Observation, StepHistory[])`
8
+ * → `Prediction`, where `Prediction.action` is the unified `Action` schema
9
+ * the MCP server understands. Adapters MUST NOT touch the device or the
10
+ * MCP client themselves — they only translate observations into actions.
11
+ *
12
+ * (* "stateless" only WRT the agent loop: an adapter MAY hold its own LLM
13
+ * client, prompt cache, etc. as long as it tolerates concurrent runs by
14
+ * different `AgentLoop` instances.)
15
+ */
16
+ /**
17
+ * Convenience constructor — adapters that produce a fully-typed Action can
18
+ * skip filling in the boilerplate `usage`/`rawResponse` defaults.
19
+ */
20
+ export function makePrediction(action, init = {}) {
21
+ return {
22
+ action,
23
+ rationale: init.rationale ?? "",
24
+ confidence: init.confidence ?? action.confidence ?? 0.5,
25
+ usage: init.usage ?? { inputTokens: 0, outputTokens: 0 },
26
+ rawResponse: init.rawResponse ?? "",
27
+ };
28
+ }
29
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/agent-runtime/adapters/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8IH;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,OAA4C,EAAE;IAE9C,OAAO;QACL,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG;QACvD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;QACxD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * agent-runtime/adapters — barrel + side-effect import to populate the
3
+ * registry with the built-in adapters.
4
+ *
5
+ * Import this file (or any of its consumers, like `agent-runtime/core.ts`)
6
+ * exactly once at process start to ensure `mock`, `openai` and `ui-tars`
7
+ * are visible to `resolveAdapter`.
8
+ */
9
+ export type { IModelAdapter, ModelUsage, PredictHooks, PredictOptions, Prediction, StepHistory, } from "./base.js";
10
+ export { makePrediction } from "./base.js";
11
+ export { available as availableAdapters, clearAdapters, registerAdapter, resolveAdapter, resolveAdapterSync, type AdapterDescriptor, } from "./registry.js";
12
+ export { MockAdapter, type MockAdapterOptions } from "./mock.js";
13
+ export { OpenAIAdapter, parsedToAction, type OpenAIAdapterOptions } from "./openai.js";
14
+ export { UITarsAdapter } from "./ui-tars.js";
15
+ import "./mock.js";
16
+ import "./openai.js";
17
+ import "./ui-tars.js";
@@ -0,0 +1,17 @@
1
+ /**
2
+ * agent-runtime/adapters — barrel + side-effect import to populate the
3
+ * registry with the built-in adapters.
4
+ *
5
+ * Import this file (or any of its consumers, like `agent-runtime/core.ts`)
6
+ * exactly once at process start to ensure `mock`, `openai` and `ui-tars`
7
+ * are visible to `resolveAdapter`.
8
+ */
9
+ export { makePrediction } from "./base.js";
10
+ export { available as availableAdapters, clearAdapters, registerAdapter, resolveAdapter, resolveAdapterSync, } from "./registry.js";
11
+ export { MockAdapter } from "./mock.js";
12
+ export { OpenAIAdapter, parsedToAction } from "./openai.js";
13
+ export { UITarsAdapter } from "./ui-tars.js";
14
+ import "./mock.js";
15
+ import "./openai.js";
16
+ import "./ui-tars.js";
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent-runtime/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EACL,SAAS,IAAI,iBAAiB,EAC9B,aAAa,EACb,eAAe,EACf,cAAc,EACd,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,cAAc,EAA6B,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,WAAW,CAAC;AACnB,OAAO,aAAa,CAAC;AACrB,OAAO,cAAc,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * agent-runtime/adapters/mock — deterministic adapter for tests + dry-runs.
3
+ *
4
+ * Mirrors `agent_runtime/adapters/mock.py` from the Python reference.
5
+ *
6
+ * The adapter walks a queued script of `Action`s; once exhausted it emits
7
+ * `done` with a generated final-answer string. This makes AgentLoop tests
8
+ * fully deterministic without touching real LLMs.
9
+ */
10
+ import { type Action, type Observation } from "@beeos-ai/device-common";
11
+ import type { IModelAdapter, Prediction, StepHistory } from "./base.js";
12
+ export interface MockAdapterOptions {
13
+ /** Pre-baked actions to emit, in order. */
14
+ script?: Action[];
15
+ /**
16
+ * Final action to emit once `script` is exhausted. Defaults to a `done`
17
+ * with `{ message: "mock-finished" }`.
18
+ */
19
+ fallback?: Action;
20
+ /** Optional rationale prefix (e.g. "[mock]") prepended to each step. */
21
+ rationalePrefix?: string;
22
+ name?: string;
23
+ /**
24
+ * When `true`, the `AgentLoop` will fetch `mcp.uiDump()` per step. Defaults
25
+ * to `false` to mirror the upstream Open-AutoGLM pure-vision flow.
26
+ */
27
+ consumesUiDump?: boolean;
28
+ }
29
+ export declare class MockAdapter implements IModelAdapter {
30
+ readonly name: string;
31
+ readonly modelName = "mock";
32
+ readonly consumesUiDump: boolean;
33
+ private readonly script;
34
+ private readonly fallback;
35
+ private readonly rationalePrefix;
36
+ private cursor;
37
+ constructor(opts?: MockAdapterOptions);
38
+ /** Append additional actions to the running script (test helper). */
39
+ enqueue(...actions: Action[]): void;
40
+ /** Reset the script cursor (test helper). */
41
+ reset(): void;
42
+ supportsEnv(): boolean;
43
+ predictAction(_observation: Observation, history: StepHistory[]): Promise<Prediction>;
44
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * agent-runtime/adapters/mock — deterministic adapter for tests + dry-runs.
3
+ *
4
+ * Mirrors `agent_runtime/adapters/mock.py` from the Python reference.
5
+ *
6
+ * The adapter walks a queued script of `Action`s; once exhausted it emits
7
+ * `done` with a generated final-answer string. This makes AgentLoop tests
8
+ * fully deterministic without touching real LLMs.
9
+ */
10
+ import { makeAction } from "@beeos-ai/device-common";
11
+ import { makePrediction } from "./base.js";
12
+ import { registerAdapter } from "./registry.js";
13
+ export class MockAdapter {
14
+ name;
15
+ modelName = "mock";
16
+ consumesUiDump;
17
+ script;
18
+ fallback;
19
+ rationalePrefix;
20
+ cursor = 0;
21
+ constructor(opts = {}) {
22
+ this.name = opts.name ?? "mock";
23
+ this.script = [...(opts.script ?? [])];
24
+ this.fallback = opts.fallback ?? makeAction("done", { payload: { message: "mock-finished" } });
25
+ this.rationalePrefix = opts.rationalePrefix ?? "";
26
+ this.consumesUiDump = opts.consumesUiDump ?? false;
27
+ }
28
+ /** Append additional actions to the running script (test helper). */
29
+ enqueue(...actions) {
30
+ this.script.push(...actions);
31
+ }
32
+ /** Reset the script cursor (test helper). */
33
+ reset() {
34
+ this.cursor = 0;
35
+ }
36
+ supportsEnv() {
37
+ return true;
38
+ }
39
+ async predictAction(_observation, history) {
40
+ const action = this.cursor < this.script.length ? this.script[this.cursor++] : structuredClone(this.fallback);
41
+ const rationale = `${this.rationalePrefix}step=${history.length + 1} action=${action.type}`.trim();
42
+ return makePrediction(action, {
43
+ rationale,
44
+ confidence: action.confidence ?? 1,
45
+ usage: { inputTokens: 0, outputTokens: 0 },
46
+ rawResponse: JSON.stringify(action),
47
+ });
48
+ }
49
+ }
50
+ registerAdapter({
51
+ name: "mock",
52
+ factory: () => new MockAdapter(),
53
+ });
54
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/agent-runtime/adapters/mock.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAiC,MAAM,yBAAyB,CAAC;AAGpF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAoBhD,MAAM,OAAO,WAAW;IACb,IAAI,CAAS;IACb,SAAS,GAAG,MAAM,CAAC;IACnB,cAAc,CAAU;IAEhB,MAAM,CAAW;IACjB,QAAQ,CAAS;IACjB,eAAe,CAAS;IACjC,MAAM,GAAG,CAAC,CAAC;IAEnB,YAAY,OAA2B,EAAE;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;IACrD,CAAC;IAED,qEAAqE;IACrE,OAAO,CAAC,GAAG,OAAiB;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,6CAA6C;IAC7C,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAyB,EAAE,OAAsB;QACnE,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjG,MAAM,SAAS,GACb,GAAG,IAAI,CAAC,eAAe,QAAQ,OAAO,CAAC,MAAM,GAAG,CAAC,WAAW,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACnF,OAAO,cAAc,CAAC,MAAM,EAAE;YAC5B,SAAS;YACT,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;YAClC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;YAC1C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,CAAC;IACd,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;CACjC,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * agent-runtime/adapters/openai — wraps the legacy `OpenAIClient` (which
3
+ * dispatches to the `model/adapters/*` registry) and exposes it under the
4
+ * new `IModelAdapter` contract.
5
+ *
6
+ * The translation has two parts:
7
+ * - request side: build legacy `Message[]` from the new `Observation` +
8
+ * `StepHistory` rolling context, then call `client.request()`.
9
+ * - response side: call `client.parseResponse()` to recover the legacy
10
+ * `ParsedAction`, then map onto the unified `Action` schema via
11
+ * `parsedToAction()`. Coordinate-system metadata is preserved on
12
+ * `payload._coordSystem` so the `AgentLoop` can scale to actual screen
13
+ * pixels before forwarding to the MCP `/act` route.
14
+ */
15
+ import { type Action, type Observation } from "@beeos-ai/device-common";
16
+ import { type ModelConfig } from "../../model/client.js";
17
+ import type { ModelClient } from "../../model/base.js";
18
+ import { type ImageTransport } from "../../model/image/transport.js";
19
+ import type { ParsedAction } from "../../types.js";
20
+ import type { IModelAdapter, PredictOptions, Prediction, StepHistory } from "./base.js";
21
+ export interface OpenAIAdapterOptions extends ModelConfig {
22
+ /**
23
+ * Force a specific legacy model adapter (`autoglm`, `uitars`, `qwenvl`, ...)
24
+ * — overrides the auto-detection that runs against `modelName`.
25
+ */
26
+ legacyAdapter?: string;
27
+ /** Display language for system prompts (forwarded to legacy adapters). */
28
+ lang?: "cn" | "en";
29
+ /**
30
+ * Reuse an existing ModelClient instead of constructing a new OpenAIClient.
31
+ * Used by the legacy `Agent` shim to avoid double allocation when an
32
+ * embedder already configured a fully custom client.
33
+ */
34
+ client?: ModelClient;
35
+ /**
36
+ * Strategy for delivering compressed VLM images to the model. Defaults
37
+ * to `DataUrlTransport` (inline base64) — boot-time wire-up may swap
38
+ * in `HttpUrlTransport` / `FallbackTransport` per fleet config.
39
+ */
40
+ imageTransport?: ImageTransport;
41
+ /**
42
+ * Override the `consumesUiDump` capability flag derived from the legacy
43
+ * adapter name. Useful when a downstream embedder feeds a UI-XML-aware
44
+ * system prompt into a generic VLM (e.g. GPT-4V) and wants the
45
+ * `AgentLoop` to populate `Observation.uiDump` for it.
46
+ */
47
+ consumesUiDump?: boolean;
48
+ }
49
+ export declare class OpenAIAdapter implements IModelAdapter {
50
+ readonly name: string;
51
+ readonly modelName: string;
52
+ readonly consumesUiDump: boolean;
53
+ private readonly client;
54
+ private readonly lang;
55
+ private readonly imageTransport;
56
+ private context;
57
+ private lastStepIdx;
58
+ constructor(opts?: OpenAIAdapterOptions);
59
+ supportsEnv(env: Observation["env"]): boolean;
60
+ predictAction(observation: Observation, history: StepHistory[], opts?: PredictOptions): Promise<Prediction>;
61
+ close(): Promise<void>;
62
+ }
63
+ export declare function parsedToAction(parsed: ParsedAction): Action;