@beeos-ai/device-agent 0.9.13 → 0.10.1

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 (187) hide show
  1. package/dist/adapters/device-compat.d.ts +14 -0
  2. package/dist/adapters/device-compat.js +71 -0
  3. package/dist/adapters/device-compat.js.map +1 -0
  4. package/dist/agent-runtime/adapters/index.d.ts +1 -3
  5. package/dist/agent-runtime/adapters/index.js +1 -3
  6. package/dist/agent-runtime/adapters/index.js.map +1 -1
  7. package/dist/agent-runtime/adapters/openai.d.ts +5 -5
  8. package/dist/agent-runtime/adapters/openai.js +19 -6
  9. package/dist/agent-runtime/adapters/openai.js.map +1 -1
  10. package/dist/agent-runtime/adapters/registry.d.ts +1 -1
  11. package/dist/agent-runtime/adapters/registry.js +3 -3
  12. package/dist/agent-runtime/adapters/registry.js.map +1 -1
  13. package/dist/agent-runtime/agent-runner.d.ts +1 -1
  14. package/dist/agent-runtime/factory.d.ts +22 -0
  15. package/dist/agent-runtime/factory.js +25 -0
  16. package/dist/agent-runtime/factory.js.map +1 -0
  17. package/dist/agent-runtime/index.d.ts +9 -4
  18. package/dist/agent-runtime/index.js +9 -4
  19. package/dist/agent-runtime/index.js.map +1 -1
  20. package/dist/{model → agent-runtime/models}/base.d.ts +1 -1
  21. package/dist/{model → agent-runtime/models}/base.js.map +1 -1
  22. package/dist/{model → agent-runtime/models}/client.d.ts +3 -3
  23. package/dist/{model → agent-runtime/models}/client.js +2 -2
  24. package/dist/agent-runtime/models/client.js.map +1 -0
  25. package/dist/agent-runtime/models/image/compress.js.map +1 -0
  26. package/dist/{model → agent-runtime/models}/image/transport.d.ts +2 -2
  27. package/dist/{model → agent-runtime/models}/image/transport.js +1 -1
  28. package/dist/agent-runtime/models/image/transport.js.map +1 -0
  29. package/dist/agent-runtime/models/vlm/autoglm.js.map +1 -0
  30. package/dist/{model/adapters → agent-runtime/models/vlm}/base.d.ts +1 -1
  31. package/dist/agent-runtime/models/vlm/base.js.map +1 -0
  32. package/dist/{model/adapters → agent-runtime/models/vlm}/general.js +19 -25
  33. package/dist/agent-runtime/models/vlm/general.js.map +1 -0
  34. package/dist/{model/adapters → agent-runtime/models/vlm}/guiowl.js +1 -1
  35. package/dist/agent-runtime/models/vlm/guiowl.js.map +1 -0
  36. package/dist/{model/adapters → agent-runtime/models/vlm}/index.d.ts +0 -2
  37. package/dist/agent-runtime/models/vlm/index.js +7 -0
  38. package/dist/agent-runtime/models/vlm/index.js.map +1 -0
  39. package/dist/{model/adapters → agent-runtime/models/vlm}/maiui.js +1 -1
  40. package/dist/agent-runtime/models/vlm/maiui.js.map +1 -0
  41. package/dist/{model/adapters → agent-runtime/models/vlm}/qwenvl.js +1 -1
  42. package/dist/agent-runtime/models/vlm/qwenvl.js.map +1 -0
  43. package/dist/{model/adapters → agent-runtime/models/vlm/shared}/tool-call.d.ts +1 -1
  44. package/dist/agent-runtime/models/vlm/shared/tool-call.js.map +1 -0
  45. package/dist/agent-runtime/modes/hybrid/index.d.ts +58 -0
  46. package/dist/{adapters/agentcore-runner.js → agent-runtime/modes/hybrid/index.js} +21 -54
  47. package/dist/agent-runtime/modes/hybrid/index.js.map +1 -0
  48. package/dist/agent-runtime/{planner → modes/hybrid/planner}/base.d.ts +2 -2
  49. package/dist/agent-runtime/modes/hybrid/planner/base.js.map +1 -0
  50. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js.map +1 -0
  51. package/dist/agent-runtime/modes/hybrid/planner/noop-planner.js.map +1 -0
  52. package/dist/agent-runtime/{planner → modes/hybrid/planner}/prompts.d.ts +2 -2
  53. package/dist/agent-runtime/modes/hybrid/planner/prompts.js.map +1 -0
  54. package/dist/{adapters → agent-runtime/modes/orchestrator}/app-guide.d.ts +1 -1
  55. package/dist/{adapters → agent-runtime/modes/orchestrator}/app-guide.js +51 -6
  56. package/dist/agent-runtime/modes/orchestrator/app-guide.js.map +1 -0
  57. package/dist/{adapters/agentcore-orchestrator.d.ts → agent-runtime/modes/orchestrator/index.d.ts} +5 -6
  58. package/dist/{adapters/agentcore-orchestrator.js → agent-runtime/modes/orchestrator/index.js} +30 -21
  59. package/dist/agent-runtime/modes/orchestrator/index.js.map +1 -0
  60. package/dist/{adapters/orchestrator-agent-prompt.js → agent-runtime/modes/orchestrator/prompt.js} +5 -11
  61. package/dist/agent-runtime/modes/orchestrator/prompt.js.map +1 -0
  62. package/dist/agent-runtime/plan-executor.d.ts +1 -1
  63. package/dist/agent-runtime/reflection.js +46 -36
  64. package/dist/agent-runtime/reflection.js.map +1 -1
  65. package/dist/agent-runtime/vlm.d.ts +17 -0
  66. package/dist/agent-runtime/vlm.js +18 -0
  67. package/dist/agent-runtime/vlm.js.map +1 -0
  68. package/dist/api.d.ts +9 -20
  69. package/dist/api.js +26 -33
  70. package/dist/api.js.map +1 -1
  71. package/dist/app/agent-host.js +11 -0
  72. package/dist/app/agent-host.js.map +1 -1
  73. package/dist/app/multi-device-host.d.ts +144 -0
  74. package/dist/app/multi-device-host.js +242 -0
  75. package/dist/app/multi-device-host.js.map +1 -0
  76. package/dist/app/plugin-commands/device-status-command.d.ts +28 -0
  77. package/dist/app/plugin-commands/device-status-command.js +101 -0
  78. package/dist/app/plugin-commands/device-status-command.js.map +1 -0
  79. package/dist/app/session-manager.d.ts +1 -0
  80. package/dist/app/session-manager.js +12 -11
  81. package/dist/app/session-manager.js.map +1 -1
  82. package/dist/bootstrap.d.ts +0 -2
  83. package/dist/bootstrap.js +131 -78
  84. package/dist/bootstrap.js.map +1 -1
  85. package/dist/config/loader.d.ts +4 -19
  86. package/dist/config/loader.js +64 -89
  87. package/dist/config/loader.js.map +1 -1
  88. package/dist/config/schema.d.ts +26 -40
  89. package/dist/config/schema.js +30 -57
  90. package/dist/config/schema.js.map +1 -1
  91. package/dist/core/task-outcome.d.ts +32 -0
  92. package/dist/core/task-outcome.js +68 -0
  93. package/dist/core/task-outcome.js.map +1 -0
  94. package/dist/fleet/adapters/process/in-process-manager.d.ts +74 -0
  95. package/dist/fleet/adapters/process/in-process-manager.js +212 -0
  96. package/dist/fleet/adapters/process/in-process-manager.js.map +1 -0
  97. package/dist/fleet/adapters/process/node-process-manager.d.ts +28 -0
  98. package/dist/fleet/adapters/process/node-process-manager.js +13 -2
  99. package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
  100. package/dist/fleet/supervisor.d.ts +21 -0
  101. package/dist/fleet/supervisor.js +204 -9
  102. package/dist/fleet/supervisor.js.map +1 -1
  103. package/dist/inbound/acp/handlers/models.js +0 -1
  104. package/dist/inbound/acp/handlers/models.js.map +1 -1
  105. package/dist/inbound/cli/fleet-command.d.ts +32 -0
  106. package/dist/inbound/cli/fleet-command.js +51 -2
  107. package/dist/inbound/cli/fleet-command.js.map +1 -1
  108. package/dist/inbound/cli/main.d.ts +3 -8
  109. package/dist/inbound/cli/main.js +14 -54
  110. package/dist/inbound/cli/main.js.map +1 -1
  111. package/dist/inbound/cli/run-command.d.ts +2 -2
  112. package/dist/inbound/cli/run-command.js +10 -9
  113. package/dist/inbound/cli/run-command.js.map +1 -1
  114. package/dist/index.d.ts +8 -7
  115. package/dist/index.js +4 -5
  116. package/dist/index.js.map +1 -1
  117. package/dist/plugins/message-bus/device-command.d.ts +70 -0
  118. package/dist/plugins/message-bus/device-command.js +197 -0
  119. package/dist/plugins/message-bus/device-command.js.map +1 -0
  120. package/dist/plugins/message-bus/index.d.ts +16 -0
  121. package/dist/plugins/message-bus/index.js +17 -0
  122. package/dist/plugins/message-bus/index.js.map +1 -1
  123. package/dist/plugins/message-bus/ms-channel-notifier.js +30 -2
  124. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  125. package/dist/ports/agent-core.d.ts +12 -6
  126. package/dist/ports/agent-host.d.ts +2 -0
  127. package/package.json +1 -1
  128. package/dist/adapters/agentcore-inner-loop.d.ts +0 -28
  129. package/dist/adapters/agentcore-inner-loop.js +0 -71
  130. package/dist/adapters/agentcore-inner-loop.js.map +0 -1
  131. package/dist/adapters/agentcore-orchestrator.js.map +0 -1
  132. package/dist/adapters/agentcore-runner.d.ts +0 -70
  133. package/dist/adapters/agentcore-runner.js.map +0 -1
  134. package/dist/adapters/app-guide.js.map +0 -1
  135. package/dist/adapters/orchestrator-agent-prompt.js.map +0 -1
  136. package/dist/adapters/vlm-inner-loop.d.ts +0 -94
  137. package/dist/adapters/vlm-inner-loop.js +0 -202
  138. package/dist/adapters/vlm-inner-loop.js.map +0 -1
  139. package/dist/agent-runtime/adapters/ui-tars.d.ts +0 -13
  140. package/dist/agent-runtime/adapters/ui-tars.js +0 -22
  141. package/dist/agent-runtime/adapters/ui-tars.js.map +0 -1
  142. package/dist/agent-runtime/planner/base.js.map +0 -1
  143. package/dist/agent-runtime/planner/llm-planner.js.map +0 -1
  144. package/dist/agent-runtime/planner/noop-planner.js.map +0 -1
  145. package/dist/agent-runtime/planner/prompts.js.map +0 -1
  146. package/dist/agent.d.ts +0 -110
  147. package/dist/agent.js +0 -162
  148. package/dist/agent.js.map +0 -1
  149. package/dist/grounding/grounder.d.ts +0 -46
  150. package/dist/grounding/grounder.js +0 -82
  151. package/dist/grounding/grounder.js.map +0 -1
  152. package/dist/model/adapters/autoglm.js.map +0 -1
  153. package/dist/model/adapters/base.js.map +0 -1
  154. package/dist/model/adapters/general.js.map +0 -1
  155. package/dist/model/adapters/guiowl.js.map +0 -1
  156. package/dist/model/adapters/index.js +0 -9
  157. package/dist/model/adapters/index.js.map +0 -1
  158. package/dist/model/adapters/maiui.js.map +0 -1
  159. package/dist/model/adapters/qwenvl.js.map +0 -1
  160. package/dist/model/adapters/showui.d.ts +0 -1
  161. package/dist/model/adapters/showui.js +0 -132
  162. package/dist/model/adapters/showui.js.map +0 -1
  163. package/dist/model/adapters/tool-call.js.map +0 -1
  164. package/dist/model/adapters/uitars.d.ts +0 -1
  165. package/dist/model/adapters/uitars.js +0 -176
  166. package/dist/model/adapters/uitars.js.map +0 -1
  167. package/dist/model/client.js.map +0 -1
  168. package/dist/model/image/compress.js.map +0 -1
  169. package/dist/model/image/transport.js.map +0 -1
  170. /package/dist/{model → agent-runtime/models}/base.js +0 -0
  171. /package/dist/{model → agent-runtime/models}/image/compress.d.ts +0 -0
  172. /package/dist/{model → agent-runtime/models}/image/compress.js +0 -0
  173. /package/dist/{model/adapters → agent-runtime/models/vlm}/autoglm.d.ts +0 -0
  174. /package/dist/{model/adapters → agent-runtime/models/vlm}/autoglm.js +0 -0
  175. /package/dist/{model/adapters → agent-runtime/models/vlm}/base.js +0 -0
  176. /package/dist/{model/adapters → agent-runtime/models/vlm}/general.d.ts +0 -0
  177. /package/dist/{model/adapters → agent-runtime/models/vlm}/guiowl.d.ts +0 -0
  178. /package/dist/{model/adapters → agent-runtime/models/vlm}/maiui.d.ts +0 -0
  179. /package/dist/{model/adapters → agent-runtime/models/vlm}/qwenvl.d.ts +0 -0
  180. /package/dist/{model/adapters → agent-runtime/models/vlm/shared}/tool-call.js +0 -0
  181. /package/dist/agent-runtime/{planner → modes/hybrid/planner}/base.js +0 -0
  182. /package/dist/agent-runtime/{planner → modes/hybrid/planner}/llm-planner.d.ts +0 -0
  183. /package/dist/agent-runtime/{planner → modes/hybrid/planner}/llm-planner.js +0 -0
  184. /package/dist/agent-runtime/{planner → modes/hybrid/planner}/noop-planner.d.ts +0 -0
  185. /package/dist/agent-runtime/{planner → modes/hybrid/planner}/noop-planner.js +0 -0
  186. /package/dist/agent-runtime/{planner → modes/hybrid/planner}/prompts.js +0 -0
  187. /package/dist/{adapters/orchestrator-agent-prompt.d.ts → agent-runtime/modes/orchestrator/prompt.d.ts} +0 -0
@@ -1,202 +0,0 @@
1
- /**
2
- * Adapter — IVlm implementation backed by the existing inner VLM loop.
3
- *
4
- * The repo already ships a battle-tested screenshot→reason→act loop in
5
- * `src/agent.ts` (`Agent`) plus a configurable `OpenAIClient` that picks the
6
- * right `ModelAdapter` based on the model name (`gpt-4o`, `qwen-vl`,
7
- * `ui-tars`, `gui-owl`, `mai-ui`, …).
8
- *
9
- * This file exposes that loop through the `IVlm` port. We do NOT re-implement
10
- * the per-model parsing — instead we delegate, so the rich existing parsers /
11
- * grounders / coordinate-system handling stay intact.
12
- *
13
- * The application layer therefore only sees one stable interface (`IVlm`) and
14
- * stays decoupled from the OpenAI SDK and from per-model peculiarities.
15
- */
16
- import { Agent } from "../agent.js";
17
- import { OpenAIClient } from "../model/client.js";
18
- import { VlmError } from "../core/errors.js";
19
- import { AndroidAdbAdapter } from "./device-android-adb.js";
20
- import { DesktopAdapter } from "./device-desktop.js";
21
- /**
22
- * Wraps Agent + OpenAIClient as an IVlm. The IDevice **must** be one of the
23
- * adapters in this package because the legacy Agent expects the old `Device`
24
- * interface — we expose `.raw` on production adapters for that.
25
- */
26
- export class InnerLoopVlm {
27
- agent;
28
- client;
29
- inner;
30
- cfg;
31
- baseUrl;
32
- apiKey;
33
- provider = "";
34
- constructor(device, opts = {}) {
35
- this.inner = unwrapInnerDevice(device);
36
- this.cfg = {
37
- maxSteps: opts.maxSteps,
38
- lang: opts.lang,
39
- verbose: opts.verbose,
40
- };
41
- this.baseUrl = opts.baseUrl;
42
- this.apiKey = opts.apiKey;
43
- const explicitAdapter = (opts.adapter ?? "").trim() || undefined;
44
- this.client = opts.modelClient ?? new OpenAIClient({
45
- modelName: opts.modelName,
46
- baseUrl: opts.baseUrl,
47
- apiKey: opts.apiKey,
48
- adapter: explicitAdapter,
49
- });
50
- this.provider = explicitAdapter ?? "";
51
- this.agent = new Agent(this.client, this.inner, this.cfg);
52
- }
53
- get modelName() {
54
- return this.client.modelName;
55
- }
56
- get providerName() {
57
- return this.provider;
58
- }
59
- /**
60
- * Rebuild the underlying OpenAIClient + Agent with a new provider/model.
61
- *
62
- * `provider` is forwarded as the explicit adapter selector, so callers can
63
- * force e.g. the `qwen-vl` adapter even when the model id alone would not
64
- * disambiguate. Any in-flight `runTask` call keeps using the old client; the
65
- * new client takes over from the next task.
66
- */
67
- async setProvider(provider, model) {
68
- if (!model)
69
- throw new VlmError("setProvider: model is required");
70
- const adapter = (provider || "").trim() || undefined;
71
- this.client = new OpenAIClient({
72
- modelName: model,
73
- baseUrl: this.baseUrl,
74
- apiKey: this.apiKey,
75
- adapter,
76
- });
77
- this.agent = new Agent(this.client, this.inner, this.cfg);
78
- this.provider = adapter ?? "";
79
- }
80
- async runTask(opts) {
81
- if (opts.abortSignal?.aborted) {
82
- return { finalMessage: "Cancelled before start.", steps: 0, cancelled: true };
83
- }
84
- try {
85
- const result = await this.agent.run(opts.task, {
86
- signal: opts.abortSignal,
87
- maxSteps: opts.maxSteps,
88
- onText: opts.onText,
89
- onStep: opts.onStep
90
- ? async (step) => {
91
- await opts.onStep({ ...mapStep(step), stepIndex: step.index });
92
- }
93
- : undefined,
94
- });
95
- return {
96
- finalMessage: result.finalText,
97
- steps: result.steps,
98
- cancelled: result.cancelled,
99
- };
100
- }
101
- catch (e) {
102
- if (opts.abortSignal?.aborted) {
103
- return { finalMessage: "Cancelled.", steps: 0, cancelled: true };
104
- }
105
- throw new VlmError(`VLM task failed: ${e.message}`, e);
106
- }
107
- }
108
- }
109
- /**
110
- * Project an internal `AgentStepRecord` (action shape: `{ actionType,
111
- * params }`) onto the public `VlmStep` shape (action shape: discriminated
112
- * `Action` union). The IVlm port treats `action` as opaque to the host —
113
- * so a best-effort mapping that preserves `actionType` as `kind` and
114
- * spreads params is enough for downstream consumers.
115
- */
116
- function mapStep(step) {
117
- const action = step.action
118
- ? { kind: step.action.actionType, ...step.action.params }
119
- : null;
120
- return {
121
- thinking: step.thinking,
122
- action,
123
- finished: step.finished,
124
- message: step.message,
125
- };
126
- }
127
- /**
128
- * Best-effort `IDevice` → legacy `Device` unwrap.
129
- *
130
- * Production adapters expose a `.raw` of the legacy `Device` shape:
131
- * - `AndroidAdbAdapter.raw` → real `AndroidDevice` (full UI XML, etc.)
132
- * - `DesktopAdapter` → no `.raw`; we synthesise an inline shim
133
- *
134
- * Tests / harness scripts that pass arbitrary `IDevice` stubs may also
135
- * supply a `.raw` matching the legacy shape — that path is honoured too.
136
- *
137
- * Exported so callers (bootstrap, harness scripts) that build an
138
- * `InProcMcpClient` from an `IDevice` get exactly the same behaviour the
139
- * legacy `Agent` had with the same input.
140
- */
141
- export function unwrapInnerDevice(d) {
142
- if (d instanceof AndroidAdbAdapter)
143
- return d.raw;
144
- if (d instanceof DesktopAdapter)
145
- return innerDesktopShim(d);
146
- // Fallback: any IDevice with a public `.raw` of the legacy Device shape.
147
- const raw = d.raw;
148
- if (raw && typeof raw.takeScreenshot === "function")
149
- return raw;
150
- throw new VlmError("unwrapInnerDevice requires an IDevice that exposes a legacy `Device` driver via .raw (AndroidAdbAdapter / DesktopAdapter).");
151
- }
152
- /**
153
- * Build a minimal legacy `Device` shim for the desktop mock so the inner Agent
154
- * loop can still run end-to-end against it (tests, demos).
155
- */
156
- function innerDesktopShim(d) {
157
- return {
158
- async takeScreenshot() {
159
- const o = await d.capture();
160
- return { base64Data: o.imageBase64, width: o.width, height: o.height };
161
- },
162
- async getCurrentApp() {
163
- const i = await d.getInfo();
164
- return i.metadata.currentApp ?? "Mock";
165
- },
166
- async getUiXml() {
167
- return null;
168
- },
169
- async tap(x, y) {
170
- await d.apply({ kind: "tap", x, y });
171
- },
172
- async doubleTap(x, y) {
173
- await d.apply({ kind: "double_tap", x, y });
174
- },
175
- async longPress(x, y, durationMs) {
176
- await d.apply({ kind: "long_press", x, y, durationMs });
177
- },
178
- async swipe(x1, y1, x2, y2, durationMs) {
179
- await d.apply({ kind: "swipe", x1, y1, x2, y2, durationMs });
180
- },
181
- async inputText(text) {
182
- await d.apply({ kind: "type", text });
183
- },
184
- async pressKey(keycode) {
185
- await d.apply({ kind: "press_key", keycode });
186
- },
187
- async launchApp(name) {
188
- await d.apply({ kind: "open_app", packageOrName: name });
189
- return true;
190
- },
191
- async pressBack() {
192
- await d.apply({ kind: "press_back" });
193
- },
194
- async pressHome() {
195
- await d.apply({ kind: "press_home" });
196
- },
197
- async clearText() {
198
- // no-op in mock
199
- },
200
- };
201
- }
202
- //# sourceMappingURL=vlm-inner-loop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vlm-inner-loop.js","sourceRoot":"","sources":["../../src/adapters/vlm-inner-loop.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * agent-runtime/adapters/ui-tars — convenience wrapper that pre-binds the
3
- * `OpenAIAdapter` to the legacy `uitars` model adapter.
4
- *
5
- * UI-TARS / Doubao-1.5-UI-TARS uses smart_resize coordinates and a custom
6
- * `Thought:/Action:` output format — the legacy `model/adapters/uitars.ts`
7
- * implements both. We just expose a separate registry entry so callers can
8
- * say `resolveAdapter("ui-tars")` without fiddling with `legacyAdapter`.
9
- */
10
- import { OpenAIAdapter, type OpenAIAdapterOptions } from "./openai.js";
11
- export declare class UITarsAdapter extends OpenAIAdapter {
12
- constructor(opts?: OpenAIAdapterOptions);
13
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * agent-runtime/adapters/ui-tars — convenience wrapper that pre-binds the
3
- * `OpenAIAdapter` to the legacy `uitars` model adapter.
4
- *
5
- * UI-TARS / Doubao-1.5-UI-TARS uses smart_resize coordinates and a custom
6
- * `Thought:/Action:` output format — the legacy `model/adapters/uitars.ts`
7
- * implements both. We just expose a separate registry entry so callers can
8
- * say `resolveAdapter("ui-tars")` without fiddling with `legacyAdapter`.
9
- */
10
- import { OpenAIAdapter } from "./openai.js";
11
- import { registerAdapter } from "./registry.js";
12
- export class UITarsAdapter extends OpenAIAdapter {
13
- constructor(opts = {}) {
14
- super({ ...opts, legacyAdapter: "uitars" });
15
- }
16
- }
17
- registerAdapter({
18
- name: "ui-tars",
19
- modelPatterns: [/uitars/, /ui[-_]?tars/, /doubao.*ui/, /ui.*tars/],
20
- factory: () => new UITarsAdapter(),
21
- });
22
- //# sourceMappingURL=ui-tars.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-tars.js","sourceRoot":"","sources":["../../../src/agent-runtime/adapters/ui-tars.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,YAAY,OAA6B,EAAE;QACzC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,eAAe,CAAC;IACd,IAAI,EAAE,SAAS;IACf,aAAa,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC;IAClE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;CACnC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/agent-runtime/planner/base.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"llm-planner.js","sourceRoot":"","sources":["../../../src/agent-runtime/planner/llm-planner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GAKrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AA+BxF,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,MAAM,OAAO,UAAU;IACZ,IAAI,CAAS;IACb,SAAS,CAAS;IAEV,MAAM,CAAS;IACf,IAAI,CAEnB;IAEF,YAAY,OAA0B,EAAE;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,kBAAkB,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG;YACV,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,2BAA2B;YACtH,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO;YAC9F,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,GAAG;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;SAChC,CAAC;QACF,IAAI,CAAC,MAAM;YACT,IAAI,CAAC,MAAM;gBACX,IAAI,MAAM,CAAC;oBACT,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;oBAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;oBACxB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;oBAC5B,oEAAoE;oBACpE,iEAAiE;oBACjE,kEAAkE;oBAClE,qCAAqC;oBACrC,UAAU,EAAE,CAAC;iBACd,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAgB,EAAE,OAAoB,EAAE;QACrD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,OAAoB,EAAE;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,IAAiB,EAAE,QAAiB;QACzE,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,QAAQ,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,SAAS;YAC1E,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YACnD,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;SACtD,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAyD;YACrE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,kBAAkB,EAAE,EAAE;SAC9D,CAAC;QAEF,MAAM,OAAO,GAAuD;YAClE,KAAK,EAAE,IAAI,CAAC,SAAS;YACrB,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC/B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;SACtB,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAe;YACxB,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC3C,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;SACjD,CAAC;QAEF,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,oEAAoE;YACpE,sCAAsC;YACtC,IAAI,CAAC,KAAK,GAAG;gBACX;oBACE,GAAG,EAAE,CAAC;oBACN,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,eAAe,EAAE,eAAe;iBACjC;aACF,CAAC;YACF,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,SAAS,IAAI,+DAA+D,CAAC;QACtF,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"noop-planner.js","sourceRoot":"","sources":["../../../src/agent-runtime/planner/noop-planner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,GAIf,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IAEvB,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC7B,OAAO,cAAc,CAAC;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE,CAAC;oBACN,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,eAAe,EAAE,eAAe;iBACjC;aACF;YACD,SAAS,EAAE,4CAA4C;SACxD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAgB;QAC3B,iEAAiE;QACjE,iEAAiE;QACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agent-runtime/planner/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG;IACvB,OAAO;IACP,cAAc;IACd,aAAa;IACb,KAAK;IACL,YAAY;IACZ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;IACV,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,UAAU;CACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD9B,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;0DAO2B,CAAC;AAE3D,MAAM,UAAU,kBAAkB,CAAC,IAKlC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,sBAAsB;SAC1B,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC;SACtC,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;SAC/C,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;SAChD,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;SAChD,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAYhC;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACtE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,uBAAuB,IAAI,CAAC,iBAAiB,CAAC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAC3F,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,sBAAsB;aACnB,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC5F,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC;aAC/C,OAAO,EAAE,CACb,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAsB;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,CAAqD;IACzE,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;IACvE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;IACnE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAC7B,wEAAwE,CAAC"}
package/dist/agent.d.ts DELETED
@@ -1,110 +0,0 @@
1
- /**
2
- * @deprecated since v0.3.0 — use `AgentRunner` from `agent-runtime/agent-runner.ts`
3
- * (or the `AgentRunnerCore` adapter at `adapters/agentcore-runner.ts` for
4
- * embedders that need an `IAgentCore`). This shim only exists so that
5
- * `InnerLoopVlm`, the legacy `api.ts` HTTP debug server, and external
6
- * test embedders keep working without changes — new call sites must NOT
7
- * reach for this class.
8
- *
9
- * Migration sketch:
10
- *
11
- * ```typescript
12
- * // Before (v0.2.x)
13
- * const a = new Agent(modelClient, device);
14
- * const r = await a.run(task, { onStep, signal });
15
- *
16
- * // After (v0.3.0+)
17
- * const adapter = new OpenAIAdapter({ client: modelClient, lang: "cn" });
18
- * const mcp = new InProcMcpClient(device);
19
- * const runner = new AgentRunner({ task, env: "mobile", mcp, adapter });
20
- * const r = await runner.run();
21
- * ```
22
- *
23
- * Legacy `Agent` — backwards-compatible shim around the new `AgentLoop`.
24
- *
25
- * Pre-monorepo this class hosted a hand-rolled screenshot → reason → act
26
- * loop. The loop has now moved into `agent-runtime/core.AgentLoop`, which is
27
- * Plan-Act-Reflect-aware, drives any `IMcpRuntime`, and wires every model
28
- * through an `IModelAdapter`. This file keeps the original constructor
29
- * signature, public methods, hook payload shapes, and termination strings so
30
- * that `InnerLoopVlm`, `api.ts`, the `agent-hooks` test suite, and any
31
- * external embedder continue to work without changes.
32
- *
33
- * Internally a fresh `AgentLoop` is constructed for each `run()` call. The
34
- * device handed to the constructor is wrapped in `InProcMcpClient` (no HTTP
35
- * hop), and the `ModelClient` is wrapped in `OpenAIAdapter` (the adapter
36
- * that already translates legacy `ParsedAction` outputs onto the new unified
37
- * `Action` schema, preserving coordinate-system metadata for AgentLoop's
38
- * scaling layer).
39
- *
40
- * The shim is intentionally thin — anything new (waitForUser, reflection
41
- * hooks, custom adapters, alternate envs) should go straight to `AgentLoop`
42
- * (or `AgentRunner` for the Hybrid Plan-Act path).
43
- */
44
- import type { Device } from "./device/base.js";
45
- import type { ModelClient } from "./model/base.js";
46
- export interface AgentConfig {
47
- maxSteps?: number;
48
- lang?: "cn" | "en";
49
- verbose?: boolean;
50
- }
51
- /**
52
- * Per-step record surfaced via `Agent.run`'s `onStep` hook. Kept stable so
53
- * callers (notably `InnerLoopVlm`) can map directly onto the public
54
- * `VlmStep` shape without re-deriving fields.
55
- */
56
- export interface AgentStepRecord {
57
- /** 1-based step index, matches `Agent.stepCount`. */
58
- index: number;
59
- /** Model thinking text for this step. */
60
- thinking: string;
61
- /** Parsed action (tool call) the model decided on. */
62
- action: {
63
- actionType: string;
64
- params: Record<string, unknown>;
65
- } | null;
66
- /** True iff this step was the terminating step. */
67
- finished: boolean;
68
- /** Final user-facing message when `finished` is true. */
69
- message: string | null;
70
- }
71
- /** Optional progress callbacks for `Agent.run`. */
72
- export interface AgentRunHooks {
73
- /** Streaming token delta from the underlying model. */
74
- onText?: (delta: string) => void | Promise<void>;
75
- /** Fired exactly once per step after the action has been parsed. */
76
- onStep?: (step: AgentStepRecord) => void | Promise<void>;
77
- }
78
- export interface AgentRunOptions extends AgentRunHooks {
79
- signal?: AbortSignal;
80
- /**
81
- * Per-call override of `AgentConfig.maxSteps`. When omitted the value
82
- * passed to the constructor is used.
83
- */
84
- maxSteps?: number;
85
- }
86
- export interface AgentRunResult {
87
- /** Final user-facing message, identical to the legacy `string` return. */
88
- finalText: string;
89
- /** Number of `executeStep` invocations (1-based count). */
90
- steps: number;
91
- /** True iff the run terminated due to abort. */
92
- cancelled: boolean;
93
- }
94
- /** @deprecated since v0.3.0 — use `AgentRunner` instead. */
95
- export declare class Agent {
96
- private readonly modelClient;
97
- private readonly cfg;
98
- private readonly mcp;
99
- private readonly adapter;
100
- constructor(modelClient: ModelClient, device: Device, config?: AgentConfig);
101
- run(task: string, opts?: AgentRunOptions): Promise<AgentRunResult>;
102
- /**
103
- * Legacy hook — clears any rolling adapter context so the next `run()`
104
- * starts fresh. The new `AgentLoop` already isolates state per run, so
105
- * this only matters if callers reach into the adapter directly.
106
- */
107
- reset(): void;
108
- /** Internal — kept for backwards compatibility with embedders that peek. */
109
- get model(): ModelClient;
110
- }
package/dist/agent.js DELETED
@@ -1,162 +0,0 @@
1
- /**
2
- * @deprecated since v0.3.0 — use `AgentRunner` from `agent-runtime/agent-runner.ts`
3
- * (or the `AgentRunnerCore` adapter at `adapters/agentcore-runner.ts` for
4
- * embedders that need an `IAgentCore`). This shim only exists so that
5
- * `InnerLoopVlm`, the legacy `api.ts` HTTP debug server, and external
6
- * test embedders keep working without changes — new call sites must NOT
7
- * reach for this class.
8
- *
9
- * Migration sketch:
10
- *
11
- * ```typescript
12
- * // Before (v0.2.x)
13
- * const a = new Agent(modelClient, device);
14
- * const r = await a.run(task, { onStep, signal });
15
- *
16
- * // After (v0.3.0+)
17
- * const adapter = new OpenAIAdapter({ client: modelClient, lang: "cn" });
18
- * const mcp = new InProcMcpClient(device);
19
- * const runner = new AgentRunner({ task, env: "mobile", mcp, adapter });
20
- * const r = await runner.run();
21
- * ```
22
- *
23
- * Legacy `Agent` — backwards-compatible shim around the new `AgentLoop`.
24
- *
25
- * Pre-monorepo this class hosted a hand-rolled screenshot → reason → act
26
- * loop. The loop has now moved into `agent-runtime/core.AgentLoop`, which is
27
- * Plan-Act-Reflect-aware, drives any `IMcpRuntime`, and wires every model
28
- * through an `IModelAdapter`. This file keeps the original constructor
29
- * signature, public methods, hook payload shapes, and termination strings so
30
- * that `InnerLoopVlm`, `api.ts`, the `agent-hooks` test suite, and any
31
- * external embedder continue to work without changes.
32
- *
33
- * Internally a fresh `AgentLoop` is constructed for each `run()` call. The
34
- * device handed to the constructor is wrapped in `InProcMcpClient` (no HTTP
35
- * hop), and the `ModelClient` is wrapped in `OpenAIAdapter` (the adapter
36
- * that already translates legacy `ParsedAction` outputs onto the new unified
37
- * `Action` schema, preserving coordinate-system metadata for AgentLoop's
38
- * scaling layer).
39
- *
40
- * The shim is intentionally thin — anything new (waitForUser, reflection
41
- * hooks, custom adapters, alternate envs) should go straight to `AgentLoop`
42
- * (or `AgentRunner` for the Hybrid Plan-Act path).
43
- */
44
- import { InProcMcpClient } from "./mcp-client/inproc.js";
45
- import { OpenAIAdapter } from "./agent-runtime/adapters/openai.js";
46
- import { AgentLoop } from "./agent-runtime/core.js";
47
- /** @deprecated since v0.3.0 — use `AgentRunner` instead. */
48
- export class Agent {
49
- modelClient;
50
- cfg;
51
- mcp;
52
- adapter;
53
- constructor(modelClient, device, config = {}) {
54
- this.modelClient = modelClient;
55
- this.cfg = {
56
- maxSteps: config.maxSteps ?? 30,
57
- lang: config.lang ?? "cn",
58
- verbose: config.verbose ?? true,
59
- };
60
- this.mcp = new InProcMcpClient(device);
61
- this.adapter = new OpenAIAdapter({
62
- client: modelClient,
63
- lang: this.cfg.lang,
64
- });
65
- if (this.cfg.verbose) {
66
- console.log(`[Agent] model=${modelClient.modelName} adapter=${modelClient.adapterName} lang=${this.cfg.lang}`);
67
- }
68
- }
69
- async run(task, opts = {}) {
70
- const stepCap = opts.maxSteps ?? this.cfg.maxSteps;
71
- if (opts.signal?.aborted) {
72
- return { finalText: "Task cancelled", steps: 0, cancelled: true };
73
- }
74
- const loop = new AgentLoop({
75
- task,
76
- env: "mobile",
77
- mcp: this.mcp,
78
- adapter: this.adapter,
79
- maxSteps: stepCap,
80
- signal: opts.signal,
81
- hooks: {
82
- onText: opts.onText,
83
- onStep: opts.onStep
84
- ? async (event) => {
85
- await opts.onStep(legacyStepRecord(event));
86
- }
87
- : undefined,
88
- },
89
- });
90
- const result = await loop.run();
91
- let finalText = result.finalText;
92
- if (result.terminator === "step_budget") {
93
- finalText = "Max steps reached";
94
- }
95
- else if (result.terminator === "cancelled") {
96
- finalText = result.finalText || "Task cancelled";
97
- }
98
- return {
99
- finalText,
100
- steps: result.steps,
101
- cancelled: result.cancelled,
102
- };
103
- }
104
- /**
105
- * Legacy hook — clears any rolling adapter context so the next `run()`
106
- * starts fresh. The new `AgentLoop` already isolates state per run, so
107
- * this only matters if callers reach into the adapter directly.
108
- */
109
- reset() {
110
- void this.adapter.close?.();
111
- }
112
- /** Internal — kept for backwards compatibility with embedders that peek. */
113
- get model() {
114
- return this.modelClient;
115
- }
116
- }
117
- /* -------------------------------------------------------------------------- */
118
- /* Translation: AgentStepEvent → legacy AgentStepRecord */
119
- /* -------------------------------------------------------------------------- */
120
- function legacyStepRecord(event) {
121
- const action = event.action;
122
- const legacyType = action.payload?._legacyType ?? action.type;
123
- return {
124
- index: event.index,
125
- thinking: event.rationale,
126
- action: action ? { actionType: legacyType, params: paramsFromAction(action) } : null,
127
- finished: event.finished,
128
- message: event.finished ? extractFinalMessage(action) : null,
129
- };
130
- }
131
- function paramsFromAction(action) {
132
- const out = {};
133
- if (action.target?.kind === "point") {
134
- out.x = action.target.x;
135
- out.y = action.target.y;
136
- }
137
- else if (action.target?.kind === "box") {
138
- out.start_x = action.target.x1;
139
- out.start_y = action.target.y1;
140
- out.end_x = action.target.x2;
141
- out.end_y = action.target.y2;
142
- }
143
- else if (action.target?.kind === "text") {
144
- out.text = action.target.value;
145
- }
146
- else if (action.target?.kind === "selector") {
147
- out.selector = action.target.value;
148
- }
149
- for (const [k, v] of Object.entries(action.payload ?? {})) {
150
- if (k.startsWith("_"))
151
- continue;
152
- out[k] = v;
153
- }
154
- return out;
155
- }
156
- function extractFinalMessage(action) {
157
- const msg = action.payload?.message;
158
- if (typeof msg === "string" && msg.length > 0)
159
- return msg;
160
- return null;
161
- }
162
- //# sourceMappingURL=agent.js.map
package/dist/agent.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { type ImageTransport } from "../model/image/transport.js";
2
- export interface GrounderConfig {
3
- baseUrl?: string;
4
- apiKey?: string;
5
- model?: string;
6
- /**
7
- * Strategy for delivering the screenshot to the grounding model.
8
- * Defaults to `DataUrlTransport` (inline base64). Pass a
9
- * `FallbackTransport(http -> data)` here to enjoy the body-size win
10
- * while keeping a hard correctness floor.
11
- */
12
- imageTransport?: ImageTransport;
13
- }
14
- /**
15
- * Visual grounder port. Given a screenshot and a description, return the
16
- * raw model response (typically `[x, y]`). Returning `null` signals
17
- * "model declined / network error" to the caller.
18
- *
19
- * Extracted as an interface so callers and tests can swap in fake
20
- * implementations without depending on the OpenAI SDK.
21
- */
22
- export interface IGrounder {
23
- ground(screenshotB64: string, query: string): Promise<string | null>;
24
- }
25
- /**
26
- * HTTP-based visual grounder: sends a screenshot + text query to a VLM endpoint
27
- * and returns the raw model response as a string.
28
- *
29
- * Configuration precedence (high → low):
30
- * 1. Explicit `GrounderConfig` passed to the constructor (preferred —
31
- * `loadConfig()` resolves `config.grounder` from CLI flags + JSON).
32
- * 2. `process.env.GROUNDER_*` (back-compat, harness scripts).
33
- * 3. `process.env.GUI_AGENT_*` (legacy, deprecated alias).
34
- * 4. Hard defaults (`gpt-4o`, OpenAI default base URL).
35
- *
36
- * The screenshot input is compressed and routed through an
37
- * `ImageTransport` so grounding traffic stays under ARouter's body-size
38
- * cap on the same code path as the main VLM loop.
39
- */
40
- export declare class HTTPGrounder implements IGrounder {
41
- private readonly client;
42
- private readonly model;
43
- private readonly imageTransport;
44
- constructor(config?: GrounderConfig);
45
- ground(screenshotB64: string, query: string): Promise<string | null>;
46
- }