@beeos-ai/device-agent 0.5.1 → 0.7.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/.pi/extensions/android-tools.ts +24 -3
- package/dist/adapters/agent-gateway-client.d.ts +25 -0
- package/dist/adapters/agent-gateway-client.js +49 -0
- package/dist/adapters/agent-gateway-client.js.map +1 -1
- package/dist/adapters/user-file-uploader.d.ts +74 -0
- package/dist/adapters/user-file-uploader.js +78 -0
- package/dist/adapters/user-file-uploader.js.map +1 -0
- package/dist/app/in-flight-turn.d.ts +120 -0
- package/dist/app/in-flight-turn.js +158 -0
- package/dist/app/in-flight-turn.js.map +1 -0
- package/dist/app/jsonl-store.d.ts +109 -0
- package/dist/app/jsonl-store.js +402 -0
- package/dist/app/jsonl-store.js.map +1 -0
- package/dist/app/message-store.d.ts +82 -31
- package/dist/app/message-store.js +109 -48
- package/dist/app/message-store.js.map +1 -1
- package/dist/app/plugin-commands/registry.d.ts +41 -0
- package/dist/app/plugin-commands/registry.js +62 -0
- package/dist/app/plugin-commands/registry.js.map +1 -0
- package/dist/app/plugin-commands/screenshot-command.d.ts +32 -0
- package/dist/app/plugin-commands/screenshot-command.js +44 -0
- package/dist/app/plugin-commands/screenshot-command.js.map +1 -0
- package/dist/app/plugin-commands/types.d.ts +63 -0
- package/dist/app/plugin-commands/types.js +26 -0
- package/dist/app/plugin-commands/types.js.map +1 -0
- package/dist/app/screenshot-service.d.ts +68 -0
- package/dist/app/screenshot-service.js +64 -0
- package/dist/app/screenshot-service.js.map +1 -0
- package/dist/app/session-manager.d.ts +150 -55
- package/dist/app/session-manager.js +385 -122
- package/dist/app/session-manager.js.map +1 -1
- package/dist/bootstrap.js +5 -1
- package/dist/bootstrap.js.map +1 -1
- package/dist/config/paths.d.ts +48 -0
- package/dist/config/paths.js +59 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/inbound/acp/handlers/device.d.ts +9 -1
- package/dist/inbound/acp/handlers/device.js +9 -1
- package/dist/inbound/acp/handlers/device.js.map +1 -1
- package/dist/inbound/acp/handlers/initialize.d.ts +17 -5
- package/dist/inbound/acp/handlers/initialize.js +19 -7
- package/dist/inbound/acp/handlers/initialize.js.map +1 -1
- package/dist/inbound/acp/handlers/session.d.ts +0 -1
- package/dist/inbound/acp/handlers/skills.d.ts +24 -2
- package/dist/inbound/acp/handlers/skills.js +31 -2
- package/dist/inbound/acp/handlers/skills.js.map +1 -1
- package/dist/orchestrator-system-prompt.js +2 -2
- package/dist/plugins/acp/index.d.ts +26 -1
- package/dist/plugins/acp/index.js +86 -3
- package/dist/plugins/acp/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -47,6 +47,18 @@ import { Type } from "@sinclair/typebox";
|
|
|
47
47
|
import { getPiExtensionContext } from "../../src/pi-context.js";
|
|
48
48
|
import type { Shortcut, ShortcutResult } from "../../src/shortcuts/index.js";
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* Server-side floor for `mobile_use` step budget.
|
|
52
|
+
*
|
|
53
|
+
* The outer orchestrator LLM frequently misjudges ADB / Android tasks as
|
|
54
|
+
* "simple actions" and emits `max_steps: 5..15`, which the inner
|
|
55
|
+
* `Agent.run` loop blows through before the task can finish — surfacing as
|
|
56
|
+
* "Reached max steps (N)". Clamping upward at the tool boundary protects
|
|
57
|
+
* the user without preventing the LLM from explicitly asking for more
|
|
58
|
+
* steps when it judges a flow as complex.
|
|
59
|
+
*/
|
|
60
|
+
const MIN_MOBILE_USE_STEPS = 30;
|
|
61
|
+
|
|
50
62
|
export default function (pi: ExtensionAPI) {
|
|
51
63
|
// ── mobile_use ─────────────────────────────────────────────────────────────
|
|
52
64
|
pi.registerTool({
|
|
@@ -57,12 +69,12 @@ export default function (pi: ExtensionAPI) {
|
|
|
57
69
|
"A VLM runs its own screenshot→reason→act loop until it finishes or hits max-steps. " +
|
|
58
70
|
"Pass a full, concrete instruction with app-native UI text. " +
|
|
59
71
|
"For long text (especially Chinese), embed it verbatim and note '原样输入、不要翻译'. " +
|
|
60
|
-
"One call runs
|
|
72
|
+
"One call runs 20–50 steps autonomously; do NOT call repeatedly for the same task.",
|
|
61
73
|
promptSnippet: "mobile_use(task): drive Android phone via VLM screenshot→reason→act loop",
|
|
62
74
|
parameters: Type.Object({
|
|
63
75
|
task: Type.String({ description: "Full natural-language instruction in Chinese or English" }),
|
|
64
76
|
max_steps: Type.Integer({
|
|
65
|
-
description: "Maximum VLM steps for this call. Required. Typical range
|
|
77
|
+
description: "Maximum VLM steps for this call. Required. Typical range 20-50 depending on task complexity.",
|
|
66
78
|
minimum: 1,
|
|
67
79
|
maximum: 100,
|
|
68
80
|
}),
|
|
@@ -72,7 +84,16 @@ export default function (pi: ExtensionAPI) {
|
|
|
72
84
|
if (signal?.aborted) throw new Error("aborted");
|
|
73
85
|
|
|
74
86
|
const ctx = getPiExtensionContext();
|
|
75
|
-
const
|
|
87
|
+
const requested = params.max_steps;
|
|
88
|
+
const effective = Math.max(MIN_MOBILE_USE_STEPS, requested);
|
|
89
|
+
if (effective !== requested) {
|
|
90
|
+
const log = (await import("../../src/logger/index.js")).getLogger();
|
|
91
|
+
log.warn(
|
|
92
|
+
{ component: "mobile_use", requested, effective, floor: MIN_MOBILE_USE_STEPS },
|
|
93
|
+
"mobile_use.max_steps clamped up to floor",
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
const result = await ctx.runMobileUse(params.task, effective, signal ?? undefined);
|
|
76
97
|
return { content: [{ type: "text", text: result }], details: null };
|
|
77
98
|
},
|
|
78
99
|
});
|
|
@@ -242,6 +242,31 @@ export declare function putPresignedBytes(opts: {
|
|
|
242
242
|
timeoutMs?: number;
|
|
243
243
|
fetchImpl?: typeof fetch;
|
|
244
244
|
}): Promise<void>;
|
|
245
|
+
export interface ConfirmFileUploadOptions {
|
|
246
|
+
agentGatewayUrl: string;
|
|
247
|
+
identity: AgentGatewayIdentity;
|
|
248
|
+
fileId: string;
|
|
249
|
+
timeoutMs?: number;
|
|
250
|
+
fetchImpl?: typeof fetch;
|
|
251
|
+
now?: () => number;
|
|
252
|
+
randomUUID?: () => string;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* POST /api/v1/agent/files/confirm — transition a presigned upload to
|
|
256
|
+
* "ready" so it appears in the platform's file index (user-visible
|
|
257
|
+
* attachments, beeos-file:// references, etc.). The `presignFileUpload`
|
|
258
|
+
* + `putPresignedBytes` pair alone is enough for VLM image_url use,
|
|
259
|
+
* but anything the user is supposed to see (chat attachments,
|
|
260
|
+
* `/screenshot` plugin command output, …) MUST be confirmed.
|
|
261
|
+
*
|
|
262
|
+
* The response is the same `FileMetaResponse` shape that
|
|
263
|
+
* `resolveAgentFile` returns — fileId + filename + mimeType + size +
|
|
264
|
+
* fresh presigned downloadUrl.
|
|
265
|
+
*
|
|
266
|
+
* Throws `AgentGatewayError` on non-2xx (including 404 if the fileId
|
|
267
|
+
* doesn't belong to the calling agent's owner).
|
|
268
|
+
*/
|
|
269
|
+
export declare function confirmFileUpload(opts: ConfirmFileUploadOptions): Promise<ResolvedAgentFile>;
|
|
245
270
|
/**
|
|
246
271
|
* Result of `GET /api/v1/agent/files/{fileId}/resolve`. Mirrors the
|
|
247
272
|
* Go DTO at `backend/services/agent-gateway/internal/dto/response.go`
|
|
@@ -259,6 +259,55 @@ export async function putPresignedBytes(opts) {
|
|
|
259
259
|
clearTimeout(timer);
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* POST /api/v1/agent/files/confirm — transition a presigned upload to
|
|
264
|
+
* "ready" so it appears in the platform's file index (user-visible
|
|
265
|
+
* attachments, beeos-file:// references, etc.). The `presignFileUpload`
|
|
266
|
+
* + `putPresignedBytes` pair alone is enough for VLM image_url use,
|
|
267
|
+
* but anything the user is supposed to see (chat attachments,
|
|
268
|
+
* `/screenshot` plugin command output, …) MUST be confirmed.
|
|
269
|
+
*
|
|
270
|
+
* The response is the same `FileMetaResponse` shape that
|
|
271
|
+
* `resolveAgentFile` returns — fileId + filename + mimeType + size +
|
|
272
|
+
* fresh presigned downloadUrl.
|
|
273
|
+
*
|
|
274
|
+
* Throws `AgentGatewayError` on non-2xx (including 404 if the fileId
|
|
275
|
+
* doesn't belong to the calling agent's owner).
|
|
276
|
+
*/
|
|
277
|
+
export async function confirmFileUpload(opts) {
|
|
278
|
+
if (!opts.fileId)
|
|
279
|
+
throw new AgentGatewayError("confirmFileUpload: empty fileId");
|
|
280
|
+
const path = "/api/v1/agent/files/confirm";
|
|
281
|
+
const url = `${trimSlash(opts.agentGatewayUrl)}${path}`;
|
|
282
|
+
const body = JSON.stringify({ fileId: opts.fileId });
|
|
283
|
+
const headers = {
|
|
284
|
+
...buildAuthHeaders({
|
|
285
|
+
method: "POST",
|
|
286
|
+
path,
|
|
287
|
+
identity: opts.identity,
|
|
288
|
+
now: opts.now,
|
|
289
|
+
randomUUID: opts.randomUUID,
|
|
290
|
+
}),
|
|
291
|
+
"Content-Type": "application/json",
|
|
292
|
+
};
|
|
293
|
+
const data = (await gwRequest("POST", url, headers, body, opts.timeoutMs ?? 10_000, opts.fetchImpl));
|
|
294
|
+
const obj = (data ?? {});
|
|
295
|
+
const fileId = typeof obj.fileId === "string" ? obj.fileId : "";
|
|
296
|
+
const fileName = typeof obj.fileName === "string" ? obj.fileName : "";
|
|
297
|
+
const mimeType = typeof obj.mimeType === "string" ? obj.mimeType : "";
|
|
298
|
+
const size = typeof obj.size === "number" ? obj.size : 0;
|
|
299
|
+
const downloadUrl = typeof obj.downloadUrl === "string" ? obj.downloadUrl : "";
|
|
300
|
+
if (!fileId) {
|
|
301
|
+
throw new AgentGatewayError(`files/confirm: missing fileId (got ${JSON.stringify(data)})`);
|
|
302
|
+
}
|
|
303
|
+
return {
|
|
304
|
+
fileId,
|
|
305
|
+
fileName,
|
|
306
|
+
mimeType,
|
|
307
|
+
size,
|
|
308
|
+
downloadUrl,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
262
311
|
/**
|
|
263
312
|
* Look up file metadata + a fresh short-lived presigned download URL
|
|
264
313
|
* for an upload that already lives in the platform's file storage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-gateway-client.js","sourceRoot":"","sources":["../../src/adapters/agent-gateway-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-gateway-client.js","sourceRoot":"","sources":["../../src/adapters/agent-gateway-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserFileUploader — composes the three Agent Gateway file-upload steps
|
|
3
|
+
* (presign → PUT → confirm) into a single call that returns a stable
|
|
4
|
+
* `beeos-file://${fileId}` URI suitable for ACP `resource_link` blocks.
|
|
5
|
+
*
|
|
6
|
+
* bytes ──▶ uploader ──▶ { fileId, uri, mimeType, fileName }
|
|
7
|
+
*
|
|
8
|
+
* Why this exists alongside `HttpUrlTransport`:
|
|
9
|
+
*
|
|
10
|
+
* - `HttpUrlTransport` (in `model/image/transport.ts`) is for VLM
|
|
11
|
+
* image_url delivery: presign + PUT only, returns a presigned GET
|
|
12
|
+
* URL straight to the model. NO `confirm` step — the upload never
|
|
13
|
+
* surfaces in the user's file index, and the URL is a one-shot
|
|
14
|
+
* short-lived link used by `llama.cpp` and friends.
|
|
15
|
+
*
|
|
16
|
+
* - `UserFileUploader` (this file) is for user-visible attachments
|
|
17
|
+
* such as the `/screenshot` plugin command output: presign + PUT +
|
|
18
|
+
* CONFIRM. After confirm, the file lives in the platform's file
|
|
19
|
+
* index and resolves through `beeos-file://` URIs in chat
|
|
20
|
+
* conversations and the FileAttachmentRenderer.
|
|
21
|
+
*
|
|
22
|
+
* The two pipelines deliberately use different `keyPrefix` values
|
|
23
|
+
* (`vlm-screenshots/` vs `device-screenshots/`) so S3 lifecycle rules
|
|
24
|
+
* can target one without affecting the other.
|
|
25
|
+
*/
|
|
26
|
+
import { type AgentGatewayIdentity } from "./agent-gateway-client.js";
|
|
27
|
+
export interface UploadOpts {
|
|
28
|
+
/** File bytes to stage. Must already be in the final wire format. */
|
|
29
|
+
bytes: Buffer;
|
|
30
|
+
/** MIME type — MUST match between presign and PUT (S3 sigv4 binds it). */
|
|
31
|
+
mimeType: string;
|
|
32
|
+
/** Logical name presented in the platform file index and downstream UI. */
|
|
33
|
+
fileName: string;
|
|
34
|
+
/**
|
|
35
|
+
* Optional object-key prefix. Defaults to `user-attachments/`. Concrete
|
|
36
|
+
* callers SHOULD pass a more specific prefix (e.g. `device-screenshots/`)
|
|
37
|
+
* so storage lifecycle rules can target a category cleanly.
|
|
38
|
+
*/
|
|
39
|
+
keyPrefix?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface UploadResult {
|
|
42
|
+
fileId: string;
|
|
43
|
+
/** `beeos-file://${fileId}` — stable platform reference. */
|
|
44
|
+
uri: string;
|
|
45
|
+
mimeType: string;
|
|
46
|
+
fileName: string;
|
|
47
|
+
}
|
|
48
|
+
export interface UserFileUploader {
|
|
49
|
+
upload(opts: UploadOpts): Promise<UploadResult>;
|
|
50
|
+
}
|
|
51
|
+
export interface AgentGatewayUserFileUploaderOptions {
|
|
52
|
+
agentGatewayUrl: string;
|
|
53
|
+
identity: AgentGatewayIdentity;
|
|
54
|
+
/** Per-step timeout (presign / put / confirm). Default 30s for PUT, 10s for the others. */
|
|
55
|
+
presignTimeoutMs?: number;
|
|
56
|
+
putTimeoutMs?: number;
|
|
57
|
+
confirmTimeoutMs?: number;
|
|
58
|
+
/** Test seam — defaults to `globalThis.fetch`. */
|
|
59
|
+
fetchImpl?: typeof fetch;
|
|
60
|
+
/** Test seam — defaults to `Date.now()`. */
|
|
61
|
+
now?: () => number;
|
|
62
|
+
/** Test seam — defaults to `crypto.randomUUID()`. */
|
|
63
|
+
randomUUID?: () => string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Concrete `UserFileUploader` backed by the live Agent Gateway HTTP
|
|
67
|
+
* surface (Ed25519 auth). The three steps run sequentially; any failure
|
|
68
|
+
* surfaces as `AgentGatewayError` from the underlying helper.
|
|
69
|
+
*/
|
|
70
|
+
export declare class AgentGatewayUserFileUploader implements UserFileUploader {
|
|
71
|
+
private readonly opts;
|
|
72
|
+
constructor(opts: AgentGatewayUserFileUploaderOptions);
|
|
73
|
+
upload(input: UploadOpts): Promise<UploadResult>;
|
|
74
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserFileUploader — composes the three Agent Gateway file-upload steps
|
|
3
|
+
* (presign → PUT → confirm) into a single call that returns a stable
|
|
4
|
+
* `beeos-file://${fileId}` URI suitable for ACP `resource_link` blocks.
|
|
5
|
+
*
|
|
6
|
+
* bytes ──▶ uploader ──▶ { fileId, uri, mimeType, fileName }
|
|
7
|
+
*
|
|
8
|
+
* Why this exists alongside `HttpUrlTransport`:
|
|
9
|
+
*
|
|
10
|
+
* - `HttpUrlTransport` (in `model/image/transport.ts`) is for VLM
|
|
11
|
+
* image_url delivery: presign + PUT only, returns a presigned GET
|
|
12
|
+
* URL straight to the model. NO `confirm` step — the upload never
|
|
13
|
+
* surfaces in the user's file index, and the URL is a one-shot
|
|
14
|
+
* short-lived link used by `llama.cpp` and friends.
|
|
15
|
+
*
|
|
16
|
+
* - `UserFileUploader` (this file) is for user-visible attachments
|
|
17
|
+
* such as the `/screenshot` plugin command output: presign + PUT +
|
|
18
|
+
* CONFIRM. After confirm, the file lives in the platform's file
|
|
19
|
+
* index and resolves through `beeos-file://` URIs in chat
|
|
20
|
+
* conversations and the FileAttachmentRenderer.
|
|
21
|
+
*
|
|
22
|
+
* The two pipelines deliberately use different `keyPrefix` values
|
|
23
|
+
* (`vlm-screenshots/` vs `device-screenshots/`) so S3 lifecycle rules
|
|
24
|
+
* can target one without affecting the other.
|
|
25
|
+
*/
|
|
26
|
+
import { confirmFileUpload, presignFileUpload, putPresignedBytes, } from "./agent-gateway-client.js";
|
|
27
|
+
/**
|
|
28
|
+
* Concrete `UserFileUploader` backed by the live Agent Gateway HTTP
|
|
29
|
+
* surface (Ed25519 auth). The three steps run sequentially; any failure
|
|
30
|
+
* surfaces as `AgentGatewayError` from the underlying helper.
|
|
31
|
+
*/
|
|
32
|
+
export class AgentGatewayUserFileUploader {
|
|
33
|
+
opts;
|
|
34
|
+
constructor(opts) {
|
|
35
|
+
this.opts = opts;
|
|
36
|
+
}
|
|
37
|
+
async upload(input) {
|
|
38
|
+
const prefix = (input.keyPrefix ?? "user-attachments/").replace(/\/?$/, "/");
|
|
39
|
+
// The presign request just takes the logical fileName — the gateway /
|
|
40
|
+
// storage layer is free to namespace it however it likes. We embed
|
|
41
|
+
// our keyPrefix in the fileName field so callers can still reason
|
|
42
|
+
// about object layout without an extra API surface.
|
|
43
|
+
const objectName = `${prefix}${input.fileName}`;
|
|
44
|
+
const presigned = await presignFileUpload({
|
|
45
|
+
agentGatewayUrl: this.opts.agentGatewayUrl,
|
|
46
|
+
identity: this.opts.identity,
|
|
47
|
+
fileName: objectName,
|
|
48
|
+
mimeType: input.mimeType,
|
|
49
|
+
timeoutMs: this.opts.presignTimeoutMs,
|
|
50
|
+
fetchImpl: this.opts.fetchImpl,
|
|
51
|
+
now: this.opts.now,
|
|
52
|
+
randomUUID: this.opts.randomUUID,
|
|
53
|
+
});
|
|
54
|
+
await putPresignedBytes({
|
|
55
|
+
uploadUrl: presigned.uploadUrl,
|
|
56
|
+
bytes: input.bytes,
|
|
57
|
+
mimeType: input.mimeType,
|
|
58
|
+
timeoutMs: this.opts.putTimeoutMs ?? 30_000,
|
|
59
|
+
fetchImpl: this.opts.fetchImpl,
|
|
60
|
+
});
|
|
61
|
+
const confirmed = await confirmFileUpload({
|
|
62
|
+
agentGatewayUrl: this.opts.agentGatewayUrl,
|
|
63
|
+
identity: this.opts.identity,
|
|
64
|
+
fileId: presigned.fileId,
|
|
65
|
+
timeoutMs: this.opts.confirmTimeoutMs,
|
|
66
|
+
fetchImpl: this.opts.fetchImpl,
|
|
67
|
+
now: this.opts.now,
|
|
68
|
+
randomUUID: this.opts.randomUUID,
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
fileId: confirmed.fileId,
|
|
72
|
+
uri: `beeos-file://${confirmed.fileId}`,
|
|
73
|
+
mimeType: confirmed.mimeType || input.mimeType,
|
|
74
|
+
fileName: confirmed.fileName || input.fileName,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=user-file-uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-file-uploader.js","sourceRoot":"","sources":["../../src/adapters/user-file-uploader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,2BAA2B,CAAC;AA4CnC;;;;GAIG;AACH,MAAM,OAAO,4BAA4B;IACV;IAA7B,YAA6B,IAAyC;QAAzC,SAAI,GAAJ,IAAI,CAAqC;IAAG,CAAC;IAE1E,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,mBAAmB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7E,sEAAsE;QACtE,mEAAmE;QACnE,kEAAkE;QAClE,oDAAoD;QACpD,MAAM,UAAU,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEhD,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC;YACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YACrC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;SACjC,CAAC,CAAC;QAEH,MAAM,iBAAiB,CAAC;YACtB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM;YAC3C,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;SAC/B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC;YACxC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;YAC1C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YACrC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;SACjC,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,GAAG,EAAE,gBAAgB,SAAS,CAAC,MAAM,EAAE;YACvC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;YAC9C,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;SAC/C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-flight assistant turn aggregator.
|
|
3
|
+
*
|
|
4
|
+
* A single ACP `session/prompt` produces a stream of host events
|
|
5
|
+
* (`task:text` deltas, `task:tool` start/update/end, etc.). Persisting
|
|
6
|
+
* each delta as a separate row produces unusable transcripts on reload
|
|
7
|
+
* — the resulting bubble is fragmented into dozens of tiny rows with
|
|
8
|
+
* no clean way to reconstruct what the agent actually said. To match
|
|
9
|
+
* OpenClaw's "one JSONL line = one complete assistant turn" model, we
|
|
10
|
+
* accumulate the delta stream in memory here and only commit a single
|
|
11
|
+
* `AssistantTurnRecord` when the turn terminates.
|
|
12
|
+
*
|
|
13
|
+
* Lifecycle:
|
|
14
|
+
* - `start(...)` — called from `task:start`, allocates a buffer.
|
|
15
|
+
* - `appendText(delta)` / `noteToolStart` / `noteToolUpdate` /
|
|
16
|
+
* `noteToolEnd` — accumulate during the turn.
|
|
17
|
+
* - `noteFatalNotice(text)` — capture terminal error text so the
|
|
18
|
+
* persisted turn carries an `error` field even if the agent's
|
|
19
|
+
* final reply is empty.
|
|
20
|
+
* - `finalize(stopReason)` — return an immutable
|
|
21
|
+
* `AssistantTurnRecord` ready to be appended to JSONL and emitted
|
|
22
|
+
* to the client. Caller resets the buffer afterwards.
|
|
23
|
+
*
|
|
24
|
+
* This module is pure data + state machine — no IO, no notifications.
|
|
25
|
+
* SessionManager owns the IO + dispatch side.
|
|
26
|
+
*/
|
|
27
|
+
/** Final status of a single tool invocation inside one turn. */
|
|
28
|
+
export type ToolCallStatus = "in_progress" | "completed" | "failed";
|
|
29
|
+
/** Stop reason mirrored from beeos-claw's three-valued enum. */
|
|
30
|
+
export type StopReason = "end_turn" | "cancelled" | "error";
|
|
31
|
+
export interface InFlightToolCall {
|
|
32
|
+
id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
args: unknown;
|
|
35
|
+
status: ToolCallStatus;
|
|
36
|
+
/** Latest output observed (overwritten on each `update` and `end`). */
|
|
37
|
+
output?: string;
|
|
38
|
+
startedAt: number;
|
|
39
|
+
endedAt?: number;
|
|
40
|
+
}
|
|
41
|
+
/** Persisted shape — what gets written to JSONL on `task:end`. */
|
|
42
|
+
export interface PersistedToolCall {
|
|
43
|
+
id: string;
|
|
44
|
+
name: string;
|
|
45
|
+
args: unknown;
|
|
46
|
+
status: ToolCallStatus;
|
|
47
|
+
output?: string;
|
|
48
|
+
startedAt: number;
|
|
49
|
+
endedAt?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface AssistantTurnRecord {
|
|
52
|
+
/** Stable `messageId` stamped on every chunk during this turn. */
|
|
53
|
+
messageId: string;
|
|
54
|
+
/** Stable `_turnId` stamped on every chunk during this turn. */
|
|
55
|
+
turnId: string;
|
|
56
|
+
/** Wall-clock time when the turn started (epoch ms). */
|
|
57
|
+
startedAt: number;
|
|
58
|
+
/** Wall-clock time when the turn finalized (epoch ms). */
|
|
59
|
+
completedAt: number;
|
|
60
|
+
/** Concatenated assistant reply (sum of every `task:text` delta). */
|
|
61
|
+
text: string;
|
|
62
|
+
/** Tool calls in invocation order (insertion order is preserved). */
|
|
63
|
+
toolCalls: PersistedToolCall[];
|
|
64
|
+
/** Stop reason at finalize time. */
|
|
65
|
+
stopReason: StopReason;
|
|
66
|
+
/** User-facing error text when the turn terminated abnormally. */
|
|
67
|
+
error?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Mutable in-flight buffer. Construct once per turn via
|
|
71
|
+
* `InFlightTurnAggregator.start(...)`, accumulate, then `finalize()`.
|
|
72
|
+
*/
|
|
73
|
+
export declare class InFlightTurnAggregator {
|
|
74
|
+
readonly taskId: string;
|
|
75
|
+
readonly turnId: string;
|
|
76
|
+
readonly messageId: string;
|
|
77
|
+
readonly startedAt: number;
|
|
78
|
+
private text;
|
|
79
|
+
private readonly toolCalls;
|
|
80
|
+
/** Insertion order tracker — `Map` already preserves it but we keep
|
|
81
|
+
* an explicit list for tests / iteration clarity. */
|
|
82
|
+
private readonly toolOrder;
|
|
83
|
+
private errorText;
|
|
84
|
+
constructor(taskId: string, turnId: string, messageId: string, startedAt?: number);
|
|
85
|
+
/** Convenience constructor mirroring SessionManager call sites. */
|
|
86
|
+
static start(opts: {
|
|
87
|
+
taskId: string;
|
|
88
|
+
turnId: string;
|
|
89
|
+
messageId: string;
|
|
90
|
+
now?: number;
|
|
91
|
+
}): InFlightTurnAggregator;
|
|
92
|
+
/** Append a text delta to the in-flight reply. Empty deltas are no-ops. */
|
|
93
|
+
appendText(delta: string): void;
|
|
94
|
+
/** Read-only snapshot of the accumulated text — used by load-replay. */
|
|
95
|
+
currentText(): string;
|
|
96
|
+
/** Read-only ordered list of tool calls — used by load-replay. */
|
|
97
|
+
currentToolCalls(): readonly InFlightToolCall[];
|
|
98
|
+
noteToolStart(opts: {
|
|
99
|
+
id: string;
|
|
100
|
+
name: string;
|
|
101
|
+
args: unknown;
|
|
102
|
+
now?: number;
|
|
103
|
+
}): void;
|
|
104
|
+
noteToolUpdate(opts: {
|
|
105
|
+
id: string;
|
|
106
|
+
output?: string;
|
|
107
|
+
}): void;
|
|
108
|
+
noteToolEnd(opts: {
|
|
109
|
+
id: string;
|
|
110
|
+
output?: string;
|
|
111
|
+
isError?: boolean;
|
|
112
|
+
now?: number;
|
|
113
|
+
}): void;
|
|
114
|
+
/** Capture terminal error text from a `task:notice level=error`. */
|
|
115
|
+
noteFatalNotice(text: string): void;
|
|
116
|
+
/** Whether anything would actually be persisted on finalize. */
|
|
117
|
+
isEmpty(): boolean;
|
|
118
|
+
/** Produce the immutable record ready for JSONL append + replay. */
|
|
119
|
+
finalize(stopReason: StopReason, now?: number): AssistantTurnRecord;
|
|
120
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-flight assistant turn aggregator.
|
|
3
|
+
*
|
|
4
|
+
* A single ACP `session/prompt` produces a stream of host events
|
|
5
|
+
* (`task:text` deltas, `task:tool` start/update/end, etc.). Persisting
|
|
6
|
+
* each delta as a separate row produces unusable transcripts on reload
|
|
7
|
+
* — the resulting bubble is fragmented into dozens of tiny rows with
|
|
8
|
+
* no clean way to reconstruct what the agent actually said. To match
|
|
9
|
+
* OpenClaw's "one JSONL line = one complete assistant turn" model, we
|
|
10
|
+
* accumulate the delta stream in memory here and only commit a single
|
|
11
|
+
* `AssistantTurnRecord` when the turn terminates.
|
|
12
|
+
*
|
|
13
|
+
* Lifecycle:
|
|
14
|
+
* - `start(...)` — called from `task:start`, allocates a buffer.
|
|
15
|
+
* - `appendText(delta)` / `noteToolStart` / `noteToolUpdate` /
|
|
16
|
+
* `noteToolEnd` — accumulate during the turn.
|
|
17
|
+
* - `noteFatalNotice(text)` — capture terminal error text so the
|
|
18
|
+
* persisted turn carries an `error` field even if the agent's
|
|
19
|
+
* final reply is empty.
|
|
20
|
+
* - `finalize(stopReason)` — return an immutable
|
|
21
|
+
* `AssistantTurnRecord` ready to be appended to JSONL and emitted
|
|
22
|
+
* to the client. Caller resets the buffer afterwards.
|
|
23
|
+
*
|
|
24
|
+
* This module is pure data + state machine — no IO, no notifications.
|
|
25
|
+
* SessionManager owns the IO + dispatch side.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Mutable in-flight buffer. Construct once per turn via
|
|
29
|
+
* `InFlightTurnAggregator.start(...)`, accumulate, then `finalize()`.
|
|
30
|
+
*/
|
|
31
|
+
export class InFlightTurnAggregator {
|
|
32
|
+
taskId;
|
|
33
|
+
turnId;
|
|
34
|
+
messageId;
|
|
35
|
+
startedAt;
|
|
36
|
+
text = "";
|
|
37
|
+
toolCalls = new Map();
|
|
38
|
+
/** Insertion order tracker — `Map` already preserves it but we keep
|
|
39
|
+
* an explicit list for tests / iteration clarity. */
|
|
40
|
+
toolOrder = [];
|
|
41
|
+
errorText;
|
|
42
|
+
constructor(taskId, turnId, messageId, startedAt = Date.now()) {
|
|
43
|
+
this.taskId = taskId;
|
|
44
|
+
this.turnId = turnId;
|
|
45
|
+
this.messageId = messageId;
|
|
46
|
+
this.startedAt = startedAt;
|
|
47
|
+
}
|
|
48
|
+
/** Convenience constructor mirroring SessionManager call sites. */
|
|
49
|
+
static start(opts) {
|
|
50
|
+
return new InFlightTurnAggregator(opts.taskId, opts.turnId, opts.messageId, opts.now ?? Date.now());
|
|
51
|
+
}
|
|
52
|
+
/** Append a text delta to the in-flight reply. Empty deltas are no-ops. */
|
|
53
|
+
appendText(delta) {
|
|
54
|
+
if (!delta)
|
|
55
|
+
return;
|
|
56
|
+
this.text += delta;
|
|
57
|
+
}
|
|
58
|
+
/** Read-only snapshot of the accumulated text — used by load-replay. */
|
|
59
|
+
currentText() {
|
|
60
|
+
return this.text;
|
|
61
|
+
}
|
|
62
|
+
/** Read-only ordered list of tool calls — used by load-replay. */
|
|
63
|
+
currentToolCalls() {
|
|
64
|
+
return this.toolOrder.map((id) => this.toolCalls.get(id)).filter(Boolean);
|
|
65
|
+
}
|
|
66
|
+
noteToolStart(opts) {
|
|
67
|
+
if (this.toolCalls.has(opts.id)) {
|
|
68
|
+
// Re-issued start (rare — agent core sometimes replays). Reset
|
|
69
|
+
// to the new args/name but preserve insertion order.
|
|
70
|
+
this.toolCalls.set(opts.id, {
|
|
71
|
+
id: opts.id,
|
|
72
|
+
name: opts.name,
|
|
73
|
+
args: opts.args,
|
|
74
|
+
status: "in_progress",
|
|
75
|
+
startedAt: opts.now ?? Date.now(),
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.toolCalls.set(opts.id, {
|
|
80
|
+
id: opts.id,
|
|
81
|
+
name: opts.name,
|
|
82
|
+
args: opts.args,
|
|
83
|
+
status: "in_progress",
|
|
84
|
+
startedAt: opts.now ?? Date.now(),
|
|
85
|
+
});
|
|
86
|
+
this.toolOrder.push(opts.id);
|
|
87
|
+
}
|
|
88
|
+
noteToolUpdate(opts) {
|
|
89
|
+
const existing = this.toolCalls.get(opts.id);
|
|
90
|
+
if (!existing)
|
|
91
|
+
return;
|
|
92
|
+
if (opts.output !== undefined)
|
|
93
|
+
existing.output = opts.output;
|
|
94
|
+
// status stays "in_progress" — terminal status comes via noteToolEnd.
|
|
95
|
+
}
|
|
96
|
+
noteToolEnd(opts) {
|
|
97
|
+
const existing = this.toolCalls.get(opts.id);
|
|
98
|
+
if (!existing) {
|
|
99
|
+
// End-without-start (some adapters skip the start hook). Synthesise a
|
|
100
|
+
// record so we don't lose the terminal state.
|
|
101
|
+
this.toolCalls.set(opts.id, {
|
|
102
|
+
id: opts.id,
|
|
103
|
+
name: opts.id,
|
|
104
|
+
args: {},
|
|
105
|
+
status: opts.isError ? "failed" : "completed",
|
|
106
|
+
output: opts.output,
|
|
107
|
+
startedAt: opts.now ?? Date.now(),
|
|
108
|
+
endedAt: opts.now ?? Date.now(),
|
|
109
|
+
});
|
|
110
|
+
this.toolOrder.push(opts.id);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
existing.status = opts.isError ? "failed" : "completed";
|
|
114
|
+
if (opts.output !== undefined)
|
|
115
|
+
existing.output = opts.output;
|
|
116
|
+
existing.endedAt = opts.now ?? Date.now();
|
|
117
|
+
}
|
|
118
|
+
/** Capture terminal error text from a `task:notice level=error`. */
|
|
119
|
+
noteFatalNotice(text) {
|
|
120
|
+
if (text)
|
|
121
|
+
this.errorText = text;
|
|
122
|
+
}
|
|
123
|
+
/** Whether anything would actually be persisted on finalize. */
|
|
124
|
+
isEmpty() {
|
|
125
|
+
return this.text.length === 0 && this.toolOrder.length === 0 && !this.errorText;
|
|
126
|
+
}
|
|
127
|
+
/** Produce the immutable record ready for JSONL append + replay. */
|
|
128
|
+
finalize(stopReason, now = Date.now()) {
|
|
129
|
+
const toolCalls = this.toolOrder.map((id) => {
|
|
130
|
+
const tc = this.toolCalls.get(id);
|
|
131
|
+
const out = {
|
|
132
|
+
id: tc.id,
|
|
133
|
+
name: tc.name,
|
|
134
|
+
args: tc.args,
|
|
135
|
+
status: tc.status,
|
|
136
|
+
startedAt: tc.startedAt,
|
|
137
|
+
};
|
|
138
|
+
if (tc.output !== undefined)
|
|
139
|
+
out.output = tc.output;
|
|
140
|
+
if (tc.endedAt !== undefined)
|
|
141
|
+
out.endedAt = tc.endedAt;
|
|
142
|
+
return out;
|
|
143
|
+
});
|
|
144
|
+
const record = {
|
|
145
|
+
messageId: this.messageId,
|
|
146
|
+
turnId: this.turnId,
|
|
147
|
+
startedAt: this.startedAt,
|
|
148
|
+
completedAt: now,
|
|
149
|
+
text: this.text,
|
|
150
|
+
toolCalls,
|
|
151
|
+
stopReason,
|
|
152
|
+
};
|
|
153
|
+
if (this.errorText)
|
|
154
|
+
record.error = this.errorText;
|
|
155
|
+
return record;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=in-flight-turn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-flight-turn.js","sourceRoot":"","sources":["../../src/app/in-flight-turn.ts"],"names":[],"mappings":"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"}
|