@duetso/agent 0.1.46 → 0.1.48
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/README.md +23 -0
- package/dist/package.json +2 -1
- package/dist/src/session/session.d.ts +7 -2
- package/dist/src/session/session.d.ts.map +1 -1
- package/dist/src/session/session.js +1 -0
- package/dist/src/session/session.js.map +1 -1
- package/dist/src/tui/app.d.ts.map +1 -1
- package/dist/src/tui/app.js +320 -43
- package/dist/src/tui/app.js.map +1 -1
- package/dist/src/tui/autocomplete.d.ts +18 -3
- package/dist/src/tui/autocomplete.d.ts.map +1 -1
- package/dist/src/tui/autocomplete.js +36 -1
- package/dist/src/tui/autocomplete.js.map +1 -1
- package/dist/src/tui/history.js +3 -3
- package/dist/src/tui/history.js.map +1 -1
- package/dist/src/tui/paste.d.ts +113 -0
- package/dist/src/tui/paste.d.ts.map +1 -0
- package/dist/src/tui/paste.js +505 -0
- package/dist/src/tui/paste.js.map +1 -0
- package/dist/src/tui/sidebar.d.ts +11 -3
- package/dist/src/tui/sidebar.d.ts.map +1 -1
- package/dist/src/tui/sidebar.js +46 -9
- package/dist/src/tui/sidebar.js.map +1 -1
- package/dist/src/tui/tool-formatters.d.ts +30 -4
- package/dist/src/tui/tool-formatters.d.ts.map +1 -1
- package/dist/src/tui/tool-formatters.js +70 -20
- package/dist/src/tui/tool-formatters.js.map +1 -1
- package/dist/src/turn-runner/turn-runner.d.ts +15 -2
- package/dist/src/turn-runner/turn-runner.d.ts.map +1 -1
- package/dist/src/turn-runner/turn-runner.js +59 -32
- package/dist/src/turn-runner/turn-runner.js.map +1 -1
- package/dist/src/types/protocol.d.ts +36 -4
- package/dist/src/types/protocol.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/tui/sidebar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,cAAc,EAAE,MAAM,eAAe,CAAC;AAGhF,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/tui/sidebar.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,13 +44,39 @@ export interface FormattedTool {
|
|
|
44
44
|
/** When true, the live renderer skips the call entirely; the terminal event
|
|
45
45
|
* that mirrors this tool (e.g. `ask`) is expected to handle display. */
|
|
46
46
|
hidden?: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the renderer should clamp `body` (input view) and `result.body`
|
|
49
|
+
* (output) to a small visual height. Header and result label always render
|
|
50
|
+
* in full. Defaults to `true`. Tools that produce structured, scannable
|
|
51
|
+
* content the user is meant to read in full — todos, state machine status,
|
|
52
|
+
* question/answer replays — set this to `false`.
|
|
53
|
+
*/
|
|
54
|
+
clamp?: boolean;
|
|
47
55
|
}
|
|
48
56
|
export declare function truncateToolText(text: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Maximum visual rows the input or output body of a clampable tool may
|
|
59
|
+
* occupy. Header and the `[result]` / `[error]` label always render in full;
|
|
60
|
+
* only the body *content* is trimmed.
|
|
61
|
+
*/
|
|
62
|
+
export declare const TOOL_BODY_MAX_LINES = 3;
|
|
63
|
+
export interface AssembleToolBlockOptions {
|
|
64
|
+
/**
|
|
65
|
+
* Width in terminal columns available to the block. When provided, body
|
|
66
|
+
* sections are soft-wrapped to this width before the row clamp so a single
|
|
67
|
+
* very long line (e.g. minified JSON) collapses to a few visual rows plus
|
|
68
|
+
* a "+N more" tail rather than spilling the whole transcript.
|
|
69
|
+
*/
|
|
70
|
+
columns?: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Assemble a formatted tool block into transcript text. Header and result
|
|
74
|
+
* label always render in full; the input body and result body are clamped to
|
|
75
|
+
* `TOOL_BODY_MAX_LINES` visual rows when `formatted.clamp` is left at its
|
|
76
|
+
* default (`true`).
|
|
77
|
+
*/
|
|
78
|
+
export declare function assembleToolBlock(formatted: FormattedTool, marker: string, options?: AssembleToolBlockOptions): string;
|
|
49
79
|
export declare function textFromToolContent(content: ReadonlyArray<TextContent | ImageContent> | undefined): string;
|
|
50
80
|
/** Resolve the formatter for a tool call and produce its rendered block. */
|
|
51
81
|
export declare function formatToolBlock(spec: ToolCallSpec): FormattedTool;
|
|
52
|
-
/** Compose a formatter result into a single multi-line string suitable for
|
|
53
|
-
* history rendering or for use as a fallback display surface. The live
|
|
54
|
-
* renderer instead prepends a spinner / marker per its own layout rules. */
|
|
55
|
-
export declare function composeFormattedToolBlock(formatted: FormattedTool, marker: string): string;
|
|
56
82
|
//# sourceMappingURL=tool-formatters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-formatters.d.ts","sourceRoot":"","sources":["../../../src/tui/tool-formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;;;;;;;GAUG;AAEH;;wEAEwE;AACxE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD;;wCAEwC;AACxC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;IACnD,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC;6EACyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-formatters.d.ts","sourceRoot":"","sources":["../../../src/tui/tool-formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;;;;;;;GAUG;AAEH;;wEAEwE;AACxE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD;;wCAEwC;AACxC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,MAAM,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;IACnD,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC;6EACyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAUD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,wBAA6B,GACrC,MAAM,CAWR;AA2BD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,SAAS,GAC7D,MAAM,CAMR;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAGjE"}
|
|
@@ -1,15 +1,67 @@
|
|
|
1
1
|
import { formatCompactJson } from "../lib/compact-json.js";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Generic source-line cap used outside the tool-block pipeline — reasoning
|
|
4
|
+
* blocks, streaming snippets, and memory traces — to keep noisy text from
|
|
5
|
+
* dominating the transcript. Tool inputs and outputs go through
|
|
6
|
+
* `assembleToolBlock`, which applies a width-aware visual clamp instead.
|
|
7
|
+
*/
|
|
8
|
+
const TEXT_TRUNCATE_MAX_LINES = 3;
|
|
5
9
|
export function truncateToolText(text) {
|
|
6
10
|
const lines = text.split("\n");
|
|
7
|
-
if (lines.length <=
|
|
11
|
+
if (lines.length <= TEXT_TRUNCATE_MAX_LINES)
|
|
8
12
|
return text;
|
|
9
|
-
const head = lines.slice(0,
|
|
10
|
-
const remaining = lines.length -
|
|
13
|
+
const head = lines.slice(0, TEXT_TRUNCATE_MAX_LINES).join("\n");
|
|
14
|
+
const remaining = lines.length - TEXT_TRUNCATE_MAX_LINES;
|
|
11
15
|
return `${head}\n… (+${remaining} more line${remaining === 1 ? "" : "s"})`;
|
|
12
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Maximum visual rows the input or output body of a clampable tool may
|
|
19
|
+
* occupy. Header and the `[result]` / `[error]` label always render in full;
|
|
20
|
+
* only the body *content* is trimmed.
|
|
21
|
+
*/
|
|
22
|
+
export const TOOL_BODY_MAX_LINES = 3;
|
|
23
|
+
/**
|
|
24
|
+
* Assemble a formatted tool block into transcript text. Header and result
|
|
25
|
+
* label always render in full; the input body and result body are clamped to
|
|
26
|
+
* `TOOL_BODY_MAX_LINES` visual rows when `formatted.clamp` is left at its
|
|
27
|
+
* default (`true`).
|
|
28
|
+
*/
|
|
29
|
+
export function assembleToolBlock(formatted, marker, options = {}) {
|
|
30
|
+
const headerLine = `${formatted.header} ${marker}`.trimEnd();
|
|
31
|
+
const clamp = formatted.clamp !== false;
|
|
32
|
+
const inputBody = formatted.body && clamp ? clampBodyLines(formatted.body, options.columns) : formatted.body;
|
|
33
|
+
const sections = [inputBody ? `${headerLine}\n${inputBody}` : headerLine];
|
|
34
|
+
if (formatted.result && formatted.result.body) {
|
|
35
|
+
const body = clamp ? clampBodyLines(formatted.result.body, options.columns) : formatted.result.body;
|
|
36
|
+
sections.push(`${formatted.result.label}\n${body}`);
|
|
37
|
+
}
|
|
38
|
+
return sections.join("\n");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Clamp a body section to `TOOL_BODY_MAX_LINES` visual rows. With a `columns`
|
|
42
|
+
* width, each source line is char-wrapped first so wrap rows count toward
|
|
43
|
+
* the cap. The remainder collapses into a `… (+N more line(s))` tail.
|
|
44
|
+
*/
|
|
45
|
+
function clampBodyLines(text, columns) {
|
|
46
|
+
const sourceLines = text.split("\n");
|
|
47
|
+
const visualLines = columns && columns > 0 ? sourceLines.flatMap((line) => softWrap(line, columns)) : sourceLines;
|
|
48
|
+
if (visualLines.length <= TOOL_BODY_MAX_LINES)
|
|
49
|
+
return visualLines.join("\n");
|
|
50
|
+
const head = visualLines.slice(0, TOOL_BODY_MAX_LINES).join("\n");
|
|
51
|
+
const remaining = visualLines.length - TOOL_BODY_MAX_LINES;
|
|
52
|
+
return `${head}\n… (+${remaining} more line${remaining === 1 ? "" : "s"})`;
|
|
53
|
+
}
|
|
54
|
+
function softWrap(line, columns) {
|
|
55
|
+
if (line.length === 0)
|
|
56
|
+
return [""];
|
|
57
|
+
if (line.length <= columns)
|
|
58
|
+
return [line];
|
|
59
|
+
const out = [];
|
|
60
|
+
for (let i = 0; i < line.length; i += columns) {
|
|
61
|
+
out.push(line.slice(i, i + columns));
|
|
62
|
+
}
|
|
63
|
+
return out;
|
|
64
|
+
}
|
|
13
65
|
export function textFromToolContent(content) {
|
|
14
66
|
if (!content)
|
|
15
67
|
return "";
|
|
@@ -38,7 +90,9 @@ function buildDefaultResult(spec) {
|
|
|
38
90
|
if (!text)
|
|
39
91
|
return undefined;
|
|
40
92
|
const label = spec.status === "error" ? "[error]" : "[result]";
|
|
41
|
-
|
|
93
|
+
// Pass the raw text through; `assembleToolBlock` decides whether to clamp
|
|
94
|
+
// based on the tool's `clamp` flag.
|
|
95
|
+
return { label, body: text };
|
|
42
96
|
}
|
|
43
97
|
// ---- per-tool formatters --------------------------------------------------
|
|
44
98
|
const formatBash = (spec) => {
|
|
@@ -152,7 +206,8 @@ const formatAskUserQuestion = (spec) => {
|
|
|
152
206
|
// Q&A. Pull the chosen answer out of the tool result if available.
|
|
153
207
|
const answerText = textFromToolContent(spec.output).trim();
|
|
154
208
|
const result = answerText ? { label: "→", body: extractAnswerSummary(answerText) } : undefined;
|
|
155
|
-
|
|
209
|
+
// Question/answer replays read better in full; the answer is small.
|
|
210
|
+
return { header: "[question]", body, result, clamp: false };
|
|
156
211
|
};
|
|
157
212
|
function extractAnswerSummary(rawAnswer) {
|
|
158
213
|
// Tool results from ask_user_question are wrapped in an XML envelope by
|
|
@@ -160,7 +215,7 @@ function extractAnswerSummary(rawAnswer) {
|
|
|
160
215
|
// fall back to the raw string so nothing is silently dropped.
|
|
161
216
|
const matches = [...rawAnswer.matchAll(/<answers>([\s\S]*?)<\/answers>/g)];
|
|
162
217
|
if (matches.length === 0)
|
|
163
|
-
return
|
|
218
|
+
return rawAnswer;
|
|
164
219
|
return matches
|
|
165
220
|
.map((m) => m[1].replace(/<[^>]+>/g, "").trim())
|
|
166
221
|
.filter((line) => line.length > 0)
|
|
@@ -194,6 +249,8 @@ const formatTodoWrite = (spec) => {
|
|
|
194
249
|
// Suppress the stock `[result]` block — todo_write only echoes the same
|
|
195
250
|
// todos back, which the body already shows.
|
|
196
251
|
result: undefined,
|
|
252
|
+
// Todo lists are meant to be read in full; never trim them.
|
|
253
|
+
clamp: false,
|
|
197
254
|
};
|
|
198
255
|
};
|
|
199
256
|
function todoStatusGlyph(status) {
|
|
@@ -226,6 +283,8 @@ const formatCreateStateMachine = (spec) => {
|
|
|
226
283
|
header: `state machine ▶ ${smName}`,
|
|
227
284
|
body,
|
|
228
285
|
result: buildDefaultResult(spec),
|
|
286
|
+
// State-machine status is structured and short; show it in full.
|
|
287
|
+
clamp: false,
|
|
229
288
|
};
|
|
230
289
|
};
|
|
231
290
|
const formatSelectStateMachineState = (spec) => {
|
|
@@ -240,11 +299,13 @@ const formatSelectStateMachineState = (spec) => {
|
|
|
240
299
|
header: `→ ${kind}${tail}`,
|
|
241
300
|
body: reasonNote,
|
|
242
301
|
result: buildDefaultResult(spec),
|
|
302
|
+
clamp: false,
|
|
243
303
|
};
|
|
244
304
|
};
|
|
245
305
|
const formatGetCurrentStateMachineState = (spec) => ({
|
|
246
306
|
header: "state machine status",
|
|
247
307
|
result: buildDefaultResult(spec),
|
|
308
|
+
clamp: false,
|
|
248
309
|
});
|
|
249
310
|
const TOOL_FORMATTERS = {
|
|
250
311
|
bash: formatBash,
|
|
@@ -305,15 +366,4 @@ function formatLineRange(offset, limit) {
|
|
|
305
366
|
return `first ${limit} line${limit === 1 ? "" : "s"}`;
|
|
306
367
|
return "";
|
|
307
368
|
}
|
|
308
|
-
/** Compose a formatter result into a single multi-line string suitable for
|
|
309
|
-
* history rendering or for use as a fallback display surface. The live
|
|
310
|
-
* renderer instead prepends a spinner / marker per its own layout rules. */
|
|
311
|
-
export function composeFormattedToolBlock(formatted, marker) {
|
|
312
|
-
const headerLine = `${formatted.header} ${marker}`.trimEnd();
|
|
313
|
-
const sections = [formatted.body ? `${headerLine}\n${formatted.body}` : headerLine];
|
|
314
|
-
if (formatted.result && formatted.result.body) {
|
|
315
|
-
sections.push(`${formatted.result.label}\n${formatted.result.body}`);
|
|
316
|
-
}
|
|
317
|
-
return sections.join("\n");
|
|
318
|
-
}
|
|
319
369
|
//# sourceMappingURL=tool-formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-formatters.js","sourceRoot":"","sources":["../../../src/tui/tool-formatters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-formatters.js","sourceRoot":"","sources":["../../../src/tui/tool-formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Agent, type AgentEvent, type AgentMessage, type AgentTool } from "@earendil-works/pi-agent-core";
|
|
2
|
-
import { type Usage } from "@earendil-works/pi-ai";
|
|
2
|
+
import { type ImageContent, type Usage } from "@earendil-works/pi-ai";
|
|
3
3
|
import type { Skill } from "@earendil-works/pi-coding-agent";
|
|
4
4
|
import type { SkillCollision } from "./skills.js";
|
|
5
5
|
import { MemoryStore } from "../memory/store.js";
|
|
@@ -13,6 +13,12 @@ export type TurnEventHandler = (event: TurnEvent) => void;
|
|
|
13
13
|
export interface AgentWorkerInput {
|
|
14
14
|
state: TurnState;
|
|
15
15
|
prompt: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional image attachments forwarded to `agent.prompt(text, images)`.
|
|
18
|
+
* Only the parent prompt path carries images; state-machine sub-agents and
|
|
19
|
+
* answer commands ignore them because their prompts are runner-synthesized.
|
|
20
|
+
*/
|
|
21
|
+
images?: ImageContent[];
|
|
16
22
|
}
|
|
17
23
|
export interface AgentConfigInput {
|
|
18
24
|
state: TurnState;
|
|
@@ -94,6 +100,12 @@ export declare class TurnRunner {
|
|
|
94
100
|
private isFollowUpQueueCommand;
|
|
95
101
|
private appendFollowUpPrompt;
|
|
96
102
|
private removeQueuedFollowUpPrompt;
|
|
103
|
+
/**
|
|
104
|
+
* Drop the first queued entry whose `message` text matches. Pi-agent's
|
|
105
|
+
* persisted transcript only retains the text portion of multimodal user
|
|
106
|
+
* content, so the text is the canonical dedup key for both live and
|
|
107
|
+
* replayed follow-ups.
|
|
108
|
+
*/
|
|
97
109
|
private removeFollowUpPrompt;
|
|
98
110
|
private clearFollowUpQueue;
|
|
99
111
|
private emitFollowUpQueue;
|
|
@@ -129,6 +141,7 @@ export declare class TurnRunner {
|
|
|
129
141
|
protected runTurnRunnerAgentWithStateMachineTools(input: {
|
|
130
142
|
state: TurnState;
|
|
131
143
|
prompt: string;
|
|
144
|
+
images?: ImageContent[];
|
|
132
145
|
mode: Exclude<TurnMode, "agent">;
|
|
133
146
|
}): Promise<TurnTerminalEvent>;
|
|
134
147
|
private controllerResultFromWorkerResult;
|
|
@@ -136,7 +149,7 @@ export declare class TurnRunner {
|
|
|
136
149
|
tools: AgentTool[];
|
|
137
150
|
};
|
|
138
151
|
private replayFollowUpQueueIntoAgent;
|
|
139
|
-
protected runAgentMode(state: TurnState, prompt: string): Promise<TurnTerminalEvent>;
|
|
152
|
+
protected runAgentMode(state: TurnState, prompt: string, images?: ImageContent[]): Promise<TurnTerminalEvent>;
|
|
140
153
|
protected runAgentWorker(input: AgentWorkerInput): Promise<AgentWorkerResult>;
|
|
141
154
|
private setParentAgentRunning;
|
|
142
155
|
private runAgentWorkerWithUsage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAgB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-runner.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/turn-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,12 +186,13 @@ export class TurnRunner {
|
|
|
186
186
|
}
|
|
187
187
|
sendCommandToAgent(agent, command) {
|
|
188
188
|
const message = this.commandToUserMessage(command);
|
|
189
|
-
const
|
|
189
|
+
const images = command.type === "prompt" ? command.images : undefined;
|
|
190
|
+
const agentMessage = buildUserAgentMessage(message, images);
|
|
190
191
|
if (command.behavior === "steer") {
|
|
191
192
|
agent.steer(agentMessage);
|
|
192
193
|
}
|
|
193
194
|
else {
|
|
194
|
-
this.appendFollowUpPrompt(message);
|
|
195
|
+
this.appendFollowUpPrompt(message, images);
|
|
195
196
|
agent.followUp(agentMessage);
|
|
196
197
|
}
|
|
197
198
|
}
|
|
@@ -218,6 +219,7 @@ export class TurnRunner {
|
|
|
218
219
|
type: "prompt",
|
|
219
220
|
message: prompt,
|
|
220
221
|
behavior: command.behavior,
|
|
222
|
+
images: command.type === "prompt" ? command.images : undefined,
|
|
221
223
|
});
|
|
222
224
|
this.setState(terminal.state);
|
|
223
225
|
return terminal;
|
|
@@ -261,33 +263,31 @@ export class TurnRunner {
|
|
|
261
263
|
enqueueTurnCommand(command) {
|
|
262
264
|
if ((command.type === "prompt" || command.type === "answer") &&
|
|
263
265
|
command.behavior === "follow_up") {
|
|
264
|
-
|
|
266
|
+
const images = command.type === "prompt" ? command.images : undefined;
|
|
267
|
+
this.appendFollowUpPrompt(this.commandToUserMessage(command), images);
|
|
265
268
|
}
|
|
266
269
|
this.setQueuedCommands([...this.getQueuedCommands(), command]);
|
|
267
270
|
}
|
|
268
|
-
replaceFollowUpQueue(
|
|
269
|
-
this.setFollowUpQueue(
|
|
271
|
+
replaceFollowUpQueue(entries) {
|
|
272
|
+
this.setFollowUpQueue(entries);
|
|
270
273
|
this.parentAgent?.clearFollowUpQueue();
|
|
271
|
-
for (const
|
|
272
|
-
this.parentAgent?.followUp(
|
|
273
|
-
role: "user",
|
|
274
|
-
content: prompt,
|
|
275
|
-
timestamp: Date.now(),
|
|
276
|
-
});
|
|
274
|
+
for (const entry of this.getFollowUpQueue()) {
|
|
275
|
+
this.parentAgent?.followUp(buildUserAgentMessage(entry.message, entry.images));
|
|
277
276
|
}
|
|
278
|
-
this.replaceQueuedFollowUpCommands(
|
|
277
|
+
this.replaceQueuedFollowUpCommands(entries);
|
|
279
278
|
this.emitFollowUpQueue();
|
|
280
279
|
}
|
|
281
|
-
replaceQueuedFollowUpCommands(
|
|
280
|
+
replaceQueuedFollowUpCommands(entries) {
|
|
282
281
|
this.removeQueuedFollowUpCommands();
|
|
283
282
|
if (!this.state || this.parentAgentRunning)
|
|
284
283
|
return;
|
|
285
284
|
this.setQueuedCommands([
|
|
286
285
|
...this.getQueuedCommands(),
|
|
287
|
-
...
|
|
286
|
+
...entries.map((entry) => ({
|
|
288
287
|
type: "prompt",
|
|
289
|
-
message:
|
|
288
|
+
message: entry.message,
|
|
290
289
|
behavior: "follow_up",
|
|
290
|
+
images: entry.images,
|
|
291
291
|
})),
|
|
292
292
|
]);
|
|
293
293
|
}
|
|
@@ -297,8 +297,9 @@ export class TurnRunner {
|
|
|
297
297
|
isFollowUpQueueCommand(command) {
|
|
298
298
|
return ((command.type === "prompt" || command.type === "answer") && command.behavior === "follow_up");
|
|
299
299
|
}
|
|
300
|
-
appendFollowUpPrompt(
|
|
301
|
-
|
|
300
|
+
appendFollowUpPrompt(message, images) {
|
|
301
|
+
const entry = images && images.length > 0 ? { message, images } : { message };
|
|
302
|
+
this.setFollowUpQueue([...this.getFollowUpQueue(), entry]);
|
|
302
303
|
this.emitFollowUpQueue();
|
|
303
304
|
}
|
|
304
305
|
removeQueuedFollowUpPrompt(command) {
|
|
@@ -306,12 +307,18 @@ export class TurnRunner {
|
|
|
306
307
|
return;
|
|
307
308
|
this.removeFollowUpPrompt(this.commandToUserMessage(command));
|
|
308
309
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
310
|
+
/**
|
|
311
|
+
* Drop the first queued entry whose `message` text matches. Pi-agent's
|
|
312
|
+
* persisted transcript only retains the text portion of multimodal user
|
|
313
|
+
* content, so the text is the canonical dedup key for both live and
|
|
314
|
+
* replayed follow-ups.
|
|
315
|
+
*/
|
|
316
|
+
removeFollowUpPrompt(message) {
|
|
317
|
+
const entries = this.getFollowUpQueue();
|
|
318
|
+
const index = entries.findIndex((entry) => entry.message === message);
|
|
312
319
|
if (index === -1)
|
|
313
320
|
return;
|
|
314
|
-
this.setFollowUpQueue([...
|
|
321
|
+
this.setFollowUpQueue([...entries.slice(0, index), ...entries.slice(index + 1)]);
|
|
315
322
|
this.emitFollowUpQueue();
|
|
316
323
|
}
|
|
317
324
|
clearFollowUpQueue() {
|
|
@@ -365,14 +372,16 @@ export class TurnRunner {
|
|
|
365
372
|
const originalState = this.requireRunnerState();
|
|
366
373
|
const state = { ...originalState, status: "running" };
|
|
367
374
|
const prompt = this.skillContext.resolveSlashSkillPrompt(command.message);
|
|
375
|
+
const images = promptImagesToContent(command.images);
|
|
368
376
|
let terminal;
|
|
369
377
|
if (state.mode === "agent") {
|
|
370
|
-
terminal = await this.runAgentMode(state, prompt);
|
|
378
|
+
terminal = await this.runAgentMode(state, prompt, images);
|
|
371
379
|
}
|
|
372
380
|
else {
|
|
373
381
|
terminal = await this.runTurnRunnerAgentWithStateMachineTools({
|
|
374
382
|
state,
|
|
375
383
|
prompt,
|
|
384
|
+
images,
|
|
376
385
|
mode: state.mode,
|
|
377
386
|
});
|
|
378
387
|
}
|
|
@@ -600,10 +609,10 @@ export class TurnRunner {
|
|
|
600
609
|
getFollowUpQueue() {
|
|
601
610
|
return [...(this.state?.followUpQueue ?? [])];
|
|
602
611
|
}
|
|
603
|
-
setFollowUpQueue(
|
|
612
|
+
setFollowUpQueue(entries) {
|
|
604
613
|
if (!this.state)
|
|
605
614
|
return;
|
|
606
|
-
this.setState({ ...this.state, followUpQueue: [...
|
|
615
|
+
this.setState({ ...this.state, followUpQueue: [...entries] });
|
|
607
616
|
}
|
|
608
617
|
getQueuedCommands() {
|
|
609
618
|
return [...(this.state?.queuedCommands ?? [])];
|
|
@@ -658,6 +667,7 @@ export class TurnRunner {
|
|
|
658
667
|
const workerResult = await this.runAgentWorkerWithUsage({
|
|
659
668
|
state: input.state,
|
|
660
669
|
prompt: input.prompt,
|
|
670
|
+
images: input.images,
|
|
661
671
|
});
|
|
662
672
|
const result = await this.controllerResultFromWorkerResult(workerResult, input.state);
|
|
663
673
|
if (!result)
|
|
@@ -741,18 +751,15 @@ export class TurnRunner {
|
|
|
741
751
|
};
|
|
742
752
|
}
|
|
743
753
|
replayFollowUpQueueIntoAgent(agent) {
|
|
744
|
-
for (const
|
|
745
|
-
agent.followUp(
|
|
746
|
-
role: "user",
|
|
747
|
-
content: prompt,
|
|
748
|
-
timestamp: Date.now(),
|
|
749
|
-
});
|
|
754
|
+
for (const entry of this.getFollowUpQueue()) {
|
|
755
|
+
agent.followUp(buildUserAgentMessage(entry.message, entry.images));
|
|
750
756
|
}
|
|
751
757
|
}
|
|
752
|
-
async runAgentMode(state, prompt) {
|
|
758
|
+
async runAgentMode(state, prompt, images) {
|
|
753
759
|
const workerResult = await this.runAgentWorkerWithUsage({
|
|
754
760
|
state,
|
|
755
761
|
prompt,
|
|
762
|
+
images,
|
|
756
763
|
});
|
|
757
764
|
if (workerResult.control.type === "ask_user_question") {
|
|
758
765
|
return this.askUserQuestion(workerResult.terminal, workerResult.control);
|
|
@@ -770,7 +777,7 @@ export class TurnRunner {
|
|
|
770
777
|
const unsubscribe = agent.subscribe((event) => this.emitParentAgentEvent(event));
|
|
771
778
|
let interruptedDuringPrompt;
|
|
772
779
|
try {
|
|
773
|
-
await agent.prompt(input.prompt);
|
|
780
|
+
await agent.prompt(input.prompt, input.images);
|
|
774
781
|
}
|
|
775
782
|
catch (error) {
|
|
776
783
|
interruptedDuringPrompt = this.consumeInterruptedTerminal();
|
|
@@ -961,4 +968,24 @@ export class TurnRunner {
|
|
|
961
968
|
});
|
|
962
969
|
}
|
|
963
970
|
}
|
|
971
|
+
/** Convert protocol-level prompt images into pi-ai `ImageContent` blocks. */
|
|
972
|
+
function promptImagesToContent(images) {
|
|
973
|
+
if (!images)
|
|
974
|
+
return [];
|
|
975
|
+
return images.map((image) => ({
|
|
976
|
+
type: "image",
|
|
977
|
+
data: image.data,
|
|
978
|
+
mimeType: image.mimeType,
|
|
979
|
+
}));
|
|
980
|
+
}
|
|
981
|
+
/**
|
|
982
|
+
* Build a pi-agent user message from a prompt's text and optional images.
|
|
983
|
+
* Plain-text prompts use the simple string-content shape; multimodal prompts
|
|
984
|
+
* become a content array with the text part first and image blocks after.
|
|
985
|
+
*/
|
|
986
|
+
function buildUserAgentMessage(message, images) {
|
|
987
|
+
const imageContent = promptImagesToContent(images);
|
|
988
|
+
const content = imageContent.length > 0 ? [{ type: "text", text: message }, ...imageContent] : message;
|
|
989
|
+
return { role: "user", content, timestamp: Date.now() };
|
|
990
|
+
}
|
|
964
991
|
//# sourceMappingURL=turn-runner.js.map
|