@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.
- package/dist/adapters/device-compat.d.ts +14 -0
- package/dist/adapters/device-compat.js +71 -0
- package/dist/adapters/device-compat.js.map +1 -0
- package/dist/agent-runtime/adapters/index.d.ts +1 -3
- package/dist/agent-runtime/adapters/index.js +1 -3
- package/dist/agent-runtime/adapters/index.js.map +1 -1
- package/dist/agent-runtime/adapters/openai.d.ts +5 -5
- package/dist/agent-runtime/adapters/openai.js +19 -6
- package/dist/agent-runtime/adapters/openai.js.map +1 -1
- package/dist/agent-runtime/adapters/registry.d.ts +1 -1
- package/dist/agent-runtime/adapters/registry.js +3 -3
- package/dist/agent-runtime/adapters/registry.js.map +1 -1
- package/dist/agent-runtime/agent-runner.d.ts +1 -1
- package/dist/agent-runtime/factory.d.ts +22 -0
- package/dist/agent-runtime/factory.js +25 -0
- package/dist/agent-runtime/factory.js.map +1 -0
- package/dist/agent-runtime/index.d.ts +9 -4
- package/dist/agent-runtime/index.js +9 -4
- package/dist/agent-runtime/index.js.map +1 -1
- package/dist/{model → agent-runtime/models}/base.d.ts +1 -1
- package/dist/{model → agent-runtime/models}/base.js.map +1 -1
- package/dist/{model → agent-runtime/models}/client.d.ts +3 -3
- package/dist/{model → agent-runtime/models}/client.js +2 -2
- package/dist/agent-runtime/models/client.js.map +1 -0
- package/dist/agent-runtime/models/image/compress.js.map +1 -0
- package/dist/{model → agent-runtime/models}/image/transport.d.ts +2 -2
- package/dist/{model → agent-runtime/models}/image/transport.js +1 -1
- package/dist/agent-runtime/models/image/transport.js.map +1 -0
- package/dist/agent-runtime/models/vlm/autoglm.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm}/base.d.ts +1 -1
- package/dist/agent-runtime/models/vlm/base.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm}/general.js +19 -25
- package/dist/agent-runtime/models/vlm/general.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm}/guiowl.js +1 -1
- package/dist/agent-runtime/models/vlm/guiowl.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm}/index.d.ts +0 -2
- package/dist/agent-runtime/models/vlm/index.js +7 -0
- package/dist/agent-runtime/models/vlm/index.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm}/maiui.js +1 -1
- package/dist/agent-runtime/models/vlm/maiui.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm}/qwenvl.js +1 -1
- package/dist/agent-runtime/models/vlm/qwenvl.js.map +1 -0
- package/dist/{model/adapters → agent-runtime/models/vlm/shared}/tool-call.d.ts +1 -1
- package/dist/agent-runtime/models/vlm/shared/tool-call.js.map +1 -0
- package/dist/agent-runtime/modes/hybrid/index.d.ts +58 -0
- package/dist/{adapters/agentcore-runner.js → agent-runtime/modes/hybrid/index.js} +21 -54
- package/dist/agent-runtime/modes/hybrid/index.js.map +1 -0
- package/dist/agent-runtime/{planner → modes/hybrid/planner}/base.d.ts +2 -2
- package/dist/agent-runtime/modes/hybrid/planner/base.js.map +1 -0
- package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js.map +1 -0
- package/dist/agent-runtime/modes/hybrid/planner/noop-planner.js.map +1 -0
- package/dist/agent-runtime/{planner → modes/hybrid/planner}/prompts.d.ts +2 -2
- package/dist/agent-runtime/modes/hybrid/planner/prompts.js.map +1 -0
- package/dist/{adapters → agent-runtime/modes/orchestrator}/app-guide.d.ts +1 -1
- package/dist/{adapters → agent-runtime/modes/orchestrator}/app-guide.js +51 -6
- package/dist/agent-runtime/modes/orchestrator/app-guide.js.map +1 -0
- package/dist/{adapters/agentcore-orchestrator.d.ts → agent-runtime/modes/orchestrator/index.d.ts} +5 -6
- package/dist/{adapters/agentcore-orchestrator.js → agent-runtime/modes/orchestrator/index.js} +30 -21
- package/dist/agent-runtime/modes/orchestrator/index.js.map +1 -0
- package/dist/{adapters/orchestrator-agent-prompt.js → agent-runtime/modes/orchestrator/prompt.js} +5 -11
- package/dist/agent-runtime/modes/orchestrator/prompt.js.map +1 -0
- package/dist/agent-runtime/plan-executor.d.ts +1 -1
- package/dist/agent-runtime/reflection.js +46 -36
- package/dist/agent-runtime/reflection.js.map +1 -1
- package/dist/agent-runtime/vlm.d.ts +17 -0
- package/dist/agent-runtime/vlm.js +18 -0
- package/dist/agent-runtime/vlm.js.map +1 -0
- package/dist/api.d.ts +9 -20
- package/dist/api.js +26 -33
- package/dist/api.js.map +1 -1
- package/dist/app/agent-host.js +11 -0
- package/dist/app/agent-host.js.map +1 -1
- package/dist/app/multi-device-host.d.ts +143 -0
- package/dist/app/multi-device-host.js +237 -0
- package/dist/app/multi-device-host.js.map +1 -0
- package/dist/app/plugin-commands/device-status-command.d.ts +28 -0
- package/dist/app/plugin-commands/device-status-command.js +101 -0
- package/dist/app/plugin-commands/device-status-command.js.map +1 -0
- package/dist/app/session-manager.d.ts +1 -0
- package/dist/app/session-manager.js +12 -11
- package/dist/app/session-manager.js.map +1 -1
- package/dist/bootstrap.d.ts +0 -2
- package/dist/bootstrap.js +131 -78
- package/dist/bootstrap.js.map +1 -1
- package/dist/config/loader.d.ts +4 -19
- package/dist/config/loader.js +64 -89
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +26 -40
- package/dist/config/schema.js +30 -57
- package/dist/config/schema.js.map +1 -1
- package/dist/core/task-outcome.d.ts +32 -0
- package/dist/core/task-outcome.js +68 -0
- package/dist/core/task-outcome.js.map +1 -0
- package/dist/fleet/adapters/process/in-process-manager.d.ts +76 -0
- package/dist/fleet/adapters/process/in-process-manager.js +206 -0
- package/dist/fleet/adapters/process/in-process-manager.js.map +1 -0
- package/dist/fleet/adapters/process/node-process-manager.d.ts +19 -0
- package/dist/fleet/adapters/process/node-process-manager.js +1 -1
- package/dist/fleet/adapters/process/node-process-manager.js.map +1 -1
- package/dist/fleet/supervisor.d.ts +21 -0
- package/dist/fleet/supervisor.js +204 -9
- package/dist/fleet/supervisor.js.map +1 -1
- package/dist/inbound/acp/handlers/models.js +0 -1
- package/dist/inbound/acp/handlers/models.js.map +1 -1
- package/dist/inbound/cli/fleet-command.d.ts +32 -0
- package/dist/inbound/cli/fleet-command.js +51 -2
- package/dist/inbound/cli/fleet-command.js.map +1 -1
- package/dist/inbound/cli/main.d.ts +3 -8
- package/dist/inbound/cli/main.js +14 -54
- package/dist/inbound/cli/main.js.map +1 -1
- package/dist/inbound/cli/run-command.d.ts +2 -2
- package/dist/inbound/cli/run-command.js +10 -9
- package/dist/inbound/cli/run-command.js.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/plugins/message-bus/device-command.d.ts +70 -0
- package/dist/plugins/message-bus/device-command.js +197 -0
- package/dist/plugins/message-bus/device-command.js.map +1 -0
- package/dist/plugins/message-bus/index.d.ts +16 -0
- package/dist/plugins/message-bus/index.js +17 -0
- package/dist/plugins/message-bus/index.js.map +1 -1
- package/dist/plugins/message-bus/ms-channel-notifier.js +30 -2
- package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
- package/dist/ports/agent-core.d.ts +12 -6
- package/dist/ports/agent-host.d.ts +2 -0
- package/package.json +1 -1
- package/dist/adapters/agentcore-inner-loop.d.ts +0 -28
- package/dist/adapters/agentcore-inner-loop.js +0 -71
- package/dist/adapters/agentcore-inner-loop.js.map +0 -1
- package/dist/adapters/agentcore-orchestrator.js.map +0 -1
- package/dist/adapters/agentcore-runner.d.ts +0 -70
- package/dist/adapters/agentcore-runner.js.map +0 -1
- package/dist/adapters/app-guide.js.map +0 -1
- package/dist/adapters/orchestrator-agent-prompt.js.map +0 -1
- package/dist/adapters/vlm-inner-loop.d.ts +0 -94
- package/dist/adapters/vlm-inner-loop.js +0 -202
- package/dist/adapters/vlm-inner-loop.js.map +0 -1
- package/dist/agent-runtime/adapters/ui-tars.d.ts +0 -13
- package/dist/agent-runtime/adapters/ui-tars.js +0 -22
- package/dist/agent-runtime/adapters/ui-tars.js.map +0 -1
- package/dist/agent-runtime/planner/base.js.map +0 -1
- package/dist/agent-runtime/planner/llm-planner.js.map +0 -1
- package/dist/agent-runtime/planner/noop-planner.js.map +0 -1
- package/dist/agent-runtime/planner/prompts.js.map +0 -1
- package/dist/agent.d.ts +0 -110
- package/dist/agent.js +0 -162
- package/dist/agent.js.map +0 -1
- package/dist/grounding/grounder.d.ts +0 -46
- package/dist/grounding/grounder.js +0 -82
- package/dist/grounding/grounder.js.map +0 -1
- package/dist/model/adapters/autoglm.js.map +0 -1
- package/dist/model/adapters/base.js.map +0 -1
- package/dist/model/adapters/general.js.map +0 -1
- package/dist/model/adapters/guiowl.js.map +0 -1
- package/dist/model/adapters/index.js +0 -9
- package/dist/model/adapters/index.js.map +0 -1
- package/dist/model/adapters/maiui.js.map +0 -1
- package/dist/model/adapters/qwenvl.js.map +0 -1
- package/dist/model/adapters/showui.d.ts +0 -1
- package/dist/model/adapters/showui.js +0 -132
- package/dist/model/adapters/showui.js.map +0 -1
- package/dist/model/adapters/tool-call.js.map +0 -1
- package/dist/model/adapters/uitars.d.ts +0 -1
- package/dist/model/adapters/uitars.js +0 -176
- package/dist/model/adapters/uitars.js.map +0 -1
- package/dist/model/client.js.map +0 -1
- package/dist/model/image/compress.js.map +0 -1
- package/dist/model/image/transport.js.map +0 -1
- /package/dist/{model → agent-runtime/models}/base.js +0 -0
- /package/dist/{model → agent-runtime/models}/image/compress.d.ts +0 -0
- /package/dist/{model → agent-runtime/models}/image/compress.js +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/autoglm.d.ts +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/autoglm.js +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/base.js +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/general.d.ts +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/guiowl.d.ts +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/maiui.d.ts +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm}/qwenvl.d.ts +0 -0
- /package/dist/{model/adapters → agent-runtime/models/vlm/shared}/tool-call.js +0 -0
- /package/dist/agent-runtime/{planner → modes/hybrid/planner}/base.js +0 -0
- /package/dist/agent-runtime/{planner → modes/hybrid/planner}/llm-planner.d.ts +0 -0
- /package/dist/agent-runtime/{planner → modes/hybrid/planner}/llm-planner.js +0 -0
- /package/dist/agent-runtime/{planner → modes/hybrid/planner}/noop-planner.d.ts +0 -0
- /package/dist/agent-runtime/{planner → modes/hybrid/planner}/noop-planner.js +0 -0
- /package/dist/agent-runtime/{planner → modes/hybrid/planner}/prompts.js +0 -0
- /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.
|
|
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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"}
|