@beeos-ai/device-agent 0.9.13 → 0.10.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 (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 +143 -0
  74. package/dist/app/multi-device-host.js +237 -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 +76 -0
  95. package/dist/fleet/adapters/process/in-process-manager.js +206 -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 +19 -0
  98. package/dist/fleet/adapters/process/node-process-manager.js +1 -1
  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
@@ -18,8 +18,6 @@
18
18
  * - `adapters/agentcore-runner.ts` — AgentRunner Hybrid Plan-Act (default)
19
19
  * - `adapters/agentcore-orchestrator.ts` — two-layer OrchestratorAgent
20
20
  * (outer tool-calling LLM, inner autoglm VLM via mobile_use; `--orchestrator`)
21
- * - `adapters/agentcore-inner-loop.ts` — single-layer fallback that wraps
22
- * `vlm-inner-loop.ts` (selected by `--legacy-inner`)
23
21
  */
24
22
  import type { Action } from "../core/actions.js";
25
23
  /**
@@ -29,6 +27,7 @@ import type { Action } from "../core/actions.js";
29
27
  * `Action` is also reported as a synthetic `ToolCallEvent` (`name = action.kind`)
30
28
  * so consumers can keep one code path.
31
29
  */
30
+ import type { AgentBayTaskStatus, AgentTaskReason } from "../core/task-outcome.js";
32
31
  export interface ToolCallEvent {
33
32
  /** Stable id local to this run (orchestrator-assigned). */
34
33
  id: string;
@@ -99,10 +98,7 @@ export interface AgentCoreRunCallbacks {
99
98
  onReasoning?: (text: string) => void | Promise<void>;
100
99
  /** Tool call lifecycle — start / update / end. */
101
100
  onTool?: (event: ToolCallEvent) => void | Promise<void>;
102
- /**
103
- * Per-step record (legacy compatibility). Mainly used by the
104
- * single-layer `InnerLoopAgent`.
105
- */
101
+ /** Per-step record (legacy compatibility shape). */
106
102
  onStep?: (step: VlmStep & {
107
103
  stepIndex: number;
108
104
  }) => void | Promise<void>;
@@ -124,6 +120,16 @@ export interface AgentCoreRunResult {
124
120
  steps: number;
125
121
  /** True iff the run terminated due to abort / timeout. */
126
122
  cancelled: boolean;
123
+ /** AgentBay-compatible coarse terminal status. */
124
+ taskStatus?: AgentBayTaskStatus;
125
+ /** Device-agent-specific fine-grained terminal reason. */
126
+ taskReason?: AgentTaskReason;
127
+ /** Last meaningful top-level action, when known. */
128
+ taskAction?: string;
129
+ /** AgentBay-style final product / answer summary. */
130
+ taskProduct?: string;
131
+ /** Terminal error string, when known. */
132
+ taskError?: string;
127
133
  }
128
134
  /** Options passed to `IAgentCore.run`. */
129
135
  export interface AgentCoreRunOptions extends AgentCoreRunCallbacks {
@@ -21,6 +21,7 @@
21
21
  */
22
22
  import type { AgentCoreRunResult, IAgentCore, ToolCallEvent, VlmStep } from "./agent-core.js";
23
23
  import type { DeviceManager } from "../app/device-manager.js";
24
+ import type { AgentTaskOutcome } from "../core/task-outcome.js";
24
25
  import type { IDeviceIdentity } from "./identity.js";
25
26
  /**
26
27
  * Every AgentEvent carries:
@@ -81,6 +82,7 @@ export type AgentEvent = {
81
82
  taskId: string;
82
83
  turnId: string;
83
84
  result: AgentCoreRunResult;
85
+ outcome: AgentTaskOutcome;
84
86
  error?: string;
85
87
  completedAt: number;
86
88
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beeos-ai/device-agent",
3
- "version": "0.9.13",
3
+ "version": "0.10.0",
4
4
  "description": "BeeOS device-agent — Android/desktop AI control agent (TypeScript) speaking ACP over Bridge WebSocket. Connects to a sibling device-mcp-server process for device control.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,28 +0,0 @@
1
- /**
2
- * Adapter — InnerLoopAgent (single-layer fallback).
3
- *
4
- * Wraps the existing `InnerLoopVlm` (which already implements the legacy
5
- * `IVlm` port and drives the screenshot→reason→act loop in `agent.ts`) so
6
- * that it can be plugged into the `IAgentCore` slot.
7
- *
8
- * Selected by `--legacy-inner` / `BEEOS_LEGACY_INNER=true`. Useful when
9
- * the two-layer orchestrator isn't desired (offline, custom model with no
10
- * orchestrator support, …) — the agent still works as an end-to-end VLM
11
- * controller, just without an outer text LLM picking between tools.
12
- *
13
- * The adapter:
14
- * - re-emits each VlmStep both as `onStep` (legacy compat) and as a
15
- * synthetic `ToolCallEvent` (`name = action.kind`) so consumers that
16
- * only care about tool calls keep working.
17
- * - forwards `setModel(provider, model)` to `IVlm.setProvider`.
18
- */
19
- import type { AgentCoreRunOptions, AgentCoreRunResult, IAgentCore } from "../ports/agent-core.js";
20
- import type { IVlm } from "../ports/vlm.js";
21
- export declare class InnerLoopAgent implements IAgentCore {
22
- private readonly vlm;
23
- constructor(vlm: IVlm);
24
- get modelName(): string;
25
- get providerName(): string | undefined;
26
- run(opts: AgentCoreRunOptions): Promise<AgentCoreRunResult>;
27
- setModel(provider: string, model: string): Promise<void>;
28
- }
@@ -1,71 +0,0 @@
1
- /**
2
- * Adapter — InnerLoopAgent (single-layer fallback).
3
- *
4
- * Wraps the existing `InnerLoopVlm` (which already implements the legacy
5
- * `IVlm` port and drives the screenshot→reason→act loop in `agent.ts`) so
6
- * that it can be plugged into the `IAgentCore` slot.
7
- *
8
- * Selected by `--legacy-inner` / `BEEOS_LEGACY_INNER=true`. Useful when
9
- * the two-layer orchestrator isn't desired (offline, custom model with no
10
- * orchestrator support, …) — the agent still works as an end-to-end VLM
11
- * controller, just without an outer text LLM picking between tools.
12
- *
13
- * The adapter:
14
- * - re-emits each VlmStep both as `onStep` (legacy compat) and as a
15
- * synthetic `ToolCallEvent` (`name = action.kind`) so consumers that
16
- * only care about tool calls keep working.
17
- * - forwards `setModel(provider, model)` to `IVlm.setProvider`.
18
- */
19
- export class InnerLoopAgent {
20
- vlm;
21
- constructor(vlm) {
22
- this.vlm = vlm;
23
- }
24
- get modelName() {
25
- return this.vlm.modelName;
26
- }
27
- get providerName() {
28
- return this.vlm.providerName;
29
- }
30
- async run(opts) {
31
- const out = await this.vlm.runTask({
32
- task: opts.task,
33
- maxSteps: opts.maxSteps ?? 30,
34
- abortSignal: opts.abortSignal,
35
- onText: opts.onText,
36
- onStep: async (step) => {
37
- if (opts.onStep)
38
- await opts.onStep(step);
39
- // Surface the same step as a synthetic ToolCallEvent so plugins
40
- // wired against `onTool` keep a single code path. We emit
41
- // start+end back-to-back because the legacy IVlm does not stream
42
- // tool progress separately from the step boundary.
43
- if (opts.onTool && step.action) {
44
- const id = `inner-${step.stepIndex}`;
45
- const toolName = step.action.kind;
46
- const args = actionParams(step.action);
47
- const start = { id, name: toolName, args, status: "start" };
48
- await opts.onTool(start);
49
- const end = {
50
- id,
51
- name: toolName,
52
- args,
53
- status: "end",
54
- result: step.thinking ?? "",
55
- isError: false,
56
- };
57
- await opts.onTool(end);
58
- }
59
- },
60
- });
61
- return out;
62
- }
63
- async setModel(provider, model) {
64
- await this.vlm.setProvider(provider, model);
65
- }
66
- }
67
- function actionParams(a) {
68
- const { kind: _kind, ...rest } = a;
69
- return rest;
70
- }
71
- //# sourceMappingURL=agentcore-inner-loop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentcore-inner-loop.js","sourceRoot":"","sources":["../../src/adapters/agentcore-inner-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,GAAS;QAAT,QAAG,GAAH,GAAG,CAAM;IAAG,CAAC;IAE1C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAyB;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACrB,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAEzC,gEAAgE;gBAChE,0DAA0D;gBAC1D,iEAAiE;gBACjE,mDAAmD;gBACnD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,EAAE,GAAG,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAkB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC3E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,MAAM,GAAG,GAAkB;wBACzB,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,IAAI;wBACJ,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;wBAC3B,OAAO,EAAE,KAAK;qBACf,CAAC;oBACF,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,KAAa;QAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,SAAS,YAAY,CAAC,CAAmB;IACvC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,CAA+C,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentcore-orchestrator.js","sourceRoot":"","sources":["../../src/adapters/agentcore-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,70 +0,0 @@
1
- /**
2
- * Adapter — AgentRunnerCore (v0.3.0 default).
3
- *
4
- * Wraps the new `AgentRunner` (Hybrid Plan-Act runtime) behind the
5
- * legacy `IAgentCore` port so the ACP plugin / `AgentHost` /
6
- * `SessionManager` keep working without protocol changes.
7
- *
8
- * This is the **default** core path as of v0.3.0. The two opt-in
9
- * decorators are:
10
- * - `--legacy-inner` → `InnerLoopAgent` (single-layer fallback)
11
- * - `--orchestrator` → `OrchestratorAgent` (outer tool-calling LLM
12
- * + inner mobile_use VLM, two-layer)
13
- *
14
- * The runner picks the strategy according to the user-tunable
15
- * Plan-Act options:
16
- * - `mode: "auto"` (default) → ReAct for short tasks, Plan-Act for
17
- * long ones, with mid-run replan-fallback when ReAct stalls.
18
- * - `mode: "always"` → straight Plan-Act
19
- * - `mode: "never"` → pure ReAct
20
- *
21
- * Translation contract (IAgentCore → AgentRunner):
22
- * - `opts.task` → `runner.task`
23
- * - `opts.maxSteps` → `runner.maxSteps`
24
- * - `opts.abortSignal` → `runner.signal`
25
- * - `opts.onText` → `runner.hooks.onText`
26
- * - `opts.onReasoning` → `runner.hooks.onReasoning` (planner plan
27
- * descriptions + per-step VLM rationale; the
28
- * ACP plugin translates this into
29
- * `agent_thought_chunk`).
30
- * - `opts.onTool` → synthesised from `runner.hooks.onTool` /
31
- * `runner.hooks.onError` (start + end pair).
32
- * - `opts.onStep` → synthesised from `runner.hooks.onStep`,
33
- * mapped onto the legacy `VlmStep` shape so
34
- * ACP `tool_call_update` envelopes keep their
35
- * historical fields (`thinking`, `action`,
36
- * `finished`, `message`).
37
- */
38
- import type { AgentCoreRunOptions, AgentCoreRunResult, IAgentCore } from "../ports/agent-core.js";
39
- import { type AgentPlanMode } from "../agent-runtime/index.js";
40
- import type { IModelAdapter } from "../agent-runtime/adapters/base.js";
41
- import type { IPlanner } from "../agent-runtime/planner/base.js";
42
- import type { IMcpRuntime } from "../mcp-client/runtime.js";
43
- import type { Observation } from "@beeos-ai/device-common";
44
- export interface AgentRunnerCoreOptions {
45
- mcpProvider: () => IMcpRuntime;
46
- /** Already-built adapter (typically `OpenAIAdapter` wrapping AutoGLMPhone). */
47
- adapter: IModelAdapter;
48
- /** Optional planner. When omitted the runner is pure ReAct. */
49
- planner?: IPlanner;
50
- /** Plan-mode policy. Defaults to `"auto"`. */
51
- mode?: AgentPlanMode;
52
- /** Default observation env. Defaults to `"mobile"`. */
53
- env?: Observation["env"];
54
- /** Default per-task max steps (overridable via `AgentCoreRunOptions.maxSteps`). */
55
- defaultMaxSteps?: number;
56
- /** Default per-task wall-clock timeout (ms). */
57
- defaultTimeoutMs?: number;
58
- /** Optional informational tag (e.g. `arouter` / `openrouter`). */
59
- providerTag?: string;
60
- }
61
- export declare class AgentRunnerCore implements IAgentCore {
62
- private readonly opts;
63
- private currentModel;
64
- private currentProvider;
65
- constructor(opts: AgentRunnerCoreOptions);
66
- get modelName(): string;
67
- get providerName(): string | undefined;
68
- run(opts: AgentCoreRunOptions): Promise<AgentCoreRunResult>;
69
- setModel(provider: string, model: string): Promise<void>;
70
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"agentcore-runner.js","sourceRoot":"","sources":["../../src/adapters/agentcore-runner.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"app-guide.js","sourceRoot":"","sources":["../../src/adapters/app-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,CAAC,MAAM,cAAc,GAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAOpF,MAAM,MAAM,GAAmC;IAC7C,EAAE,EAAE;QACF,OAAO,EACL,0CAA0C;QAC5C,IAAI,EAAE;;;;;;;;;;;uCAW6B;KACpC;IAED,GAAG,EAAE;QACH,OAAO,EACL,8CAA8C;QAChD,IAAI,EAAE;;;;;;;;;;6BAUmB;KAC1B;IAED,EAAE,EAAE;QACF,OAAO,EACL,8CAA8C;QAChD,IAAI,EAAE;;;;;;;;;4BASkB;KACzB;IAED,EAAE,EAAE;QACF,OAAO,EACL,8CAA8C;QAChD,IAAI,EAAE;;;;;;;;;6BASmB;KAC1B;IAED,QAAQ,EAAE;QACR,OAAO,EACL,6CAA6C;QAC/C,IAAI,EAAE;;;;;;;;;;gCAUsB;KAC7B;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,MAAe;IACtD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAkB,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,YAAY,GAAG,UAAU,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACpD,wBAAwB,CACzB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,OAAO,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,GAAG,OAAO,MAAM,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"orchestrator-agent-prompt.js","sourceRoot":"","sources":["../../src/adapters/orchestrator-agent-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,gCAAgC,GAAG;;;;;iBAK/B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA6CV,CAAC"}
@@ -1,94 +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 type { ModelClient } from "../model/base.js";
17
- import type { IDevice } from "../ports/device.js";
18
- import type { IVlm } from "../ports/vlm.js";
19
- import type { VlmStep } from "../ports/agent-core.js";
20
- import type { Device } from "../device/base.js";
21
- export interface InnerLoopVlmOptions {
22
- /** Model name forwarded to OpenAIClient (e.g. `gpt-4o`, `ui-tars-7b`). */
23
- modelName?: string;
24
- baseUrl?: string;
25
- apiKey?: string;
26
- maxSteps?: number;
27
- lang?: "cn" | "en";
28
- verbose?: boolean;
29
- /**
30
- * Explicit adapter/provider tag (`autoglm`, `qwenvl`, `general`, …).
31
- * Overrides auto-detection from the model name. Maps to `mobileUse.provider`
32
- * in the fleet config.
33
- */
34
- adapter?: string;
35
- /**
36
- * Caller can pre-construct a ModelClient for fully custom config; otherwise
37
- * we instantiate a default OpenAIClient with adapter auto-detection.
38
- */
39
- modelClient?: ModelClient;
40
- }
41
- /**
42
- * Wraps Agent + OpenAIClient as an IVlm. The IDevice **must** be one of the
43
- * adapters in this package because the legacy Agent expects the old `Device`
44
- * interface — we expose `.raw` on production adapters for that.
45
- */
46
- export declare class InnerLoopVlm implements IVlm {
47
- private agent;
48
- private client;
49
- private readonly inner;
50
- private readonly cfg;
51
- private readonly baseUrl?;
52
- private readonly apiKey?;
53
- private provider;
54
- constructor(device: IDevice, opts?: InnerLoopVlmOptions);
55
- get modelName(): string;
56
- get providerName(): string;
57
- /**
58
- * Rebuild the underlying OpenAIClient + Agent with a new provider/model.
59
- *
60
- * `provider` is forwarded as the explicit adapter selector, so callers can
61
- * force e.g. the `qwen-vl` adapter even when the model id alone would not
62
- * disambiguate. Any in-flight `runTask` call keeps using the old client; the
63
- * new client takes over from the next task.
64
- */
65
- setProvider(provider: string, model: string): Promise<void>;
66
- runTask(opts: {
67
- task: string;
68
- maxSteps: number;
69
- onText?: (text: string) => void | Promise<void>;
70
- onStep?: (step: VlmStep & {
71
- stepIndex: number;
72
- }) => void | Promise<void>;
73
- abortSignal?: AbortSignal;
74
- }): Promise<{
75
- finalMessage: string;
76
- steps: number;
77
- cancelled: boolean;
78
- }>;
79
- }
80
- /**
81
- * Best-effort `IDevice` → legacy `Device` unwrap.
82
- *
83
- * Production adapters expose a `.raw` of the legacy `Device` shape:
84
- * - `AndroidAdbAdapter.raw` → real `AndroidDevice` (full UI XML, etc.)
85
- * - `DesktopAdapter` → no `.raw`; we synthesise an inline shim
86
- *
87
- * Tests / harness scripts that pass arbitrary `IDevice` stubs may also
88
- * supply a `.raw` matching the legacy shape — that path is honoured too.
89
- *
90
- * Exported so callers (bootstrap, harness scripts) that build an
91
- * `InProcMcpClient` from an `IDevice` get exactly the same behaviour the
92
- * legacy `Agent` had with the same input.
93
- */
94
- export declare function unwrapInnerDevice(d: IDevice): Device;
@@ -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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"}