@introspection-ai/recipes 0.17.1 → 0.18.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/interaction-tui.d.ts +12 -0
- package/dist/interaction-tui.d.ts.map +1 -0
- package/dist/interaction-tui.js +127 -0
- package/dist/interaction-tui.js.map +1 -0
- package/dist/interactions.d.ts +12 -0
- package/dist/interactions.d.ts.map +1 -1
- package/dist/interactions.js +105 -3
- package/dist/interactions.js.map +1 -1
- package/docs/interactions.md +32 -6
- package/package.json +1 -1
- package/vendor/introspection-recipe-check/win32-x64/introspection-recipe-check.exe +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ExtensionUIContext } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
interface MultiSelectOption {
|
|
3
|
+
label: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MultiSelectTuiResult {
|
|
7
|
+
selected: number[];
|
|
8
|
+
custom?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function showMultiSelectTui(message: string, options: readonly MultiSelectOption[], ui: ExtensionUIContext, signal: AbortSignal | undefined): Promise<MultiSelectTuiResult | null>;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=interaction-tui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-tui.d.ts","sourceRoot":"","sources":["../src/interaction-tui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,EAAE,EAAE,kBAAkB,EACtB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsHtC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Key, matchesKey, truncateToWidth } from "@earendil-works/pi-tui";
|
|
2
|
+
export function showMultiSelectTui(message, options, ui, signal) {
|
|
3
|
+
return ui.custom((tui, theme, _keybindings, done) => {
|
|
4
|
+
const selected = new Set();
|
|
5
|
+
const customIndex = options.length;
|
|
6
|
+
const doneIndex = options.length + 1;
|
|
7
|
+
const itemCount = options.length + 2;
|
|
8
|
+
let activeIndex = 0;
|
|
9
|
+
let settled = false;
|
|
10
|
+
const finish = (result) => {
|
|
11
|
+
if (settled)
|
|
12
|
+
return;
|
|
13
|
+
settled = true;
|
|
14
|
+
signal?.removeEventListener("abort", cancel);
|
|
15
|
+
done(result);
|
|
16
|
+
};
|
|
17
|
+
const cancel = () => finish(null);
|
|
18
|
+
signal?.addEventListener("abort", cancel, { once: true });
|
|
19
|
+
if (signal?.aborted)
|
|
20
|
+
queueMicrotask(cancel);
|
|
21
|
+
const refresh = () => tui.requestRender();
|
|
22
|
+
const toggle = (index) => {
|
|
23
|
+
if (selected.has(index))
|
|
24
|
+
selected.delete(index);
|
|
25
|
+
else
|
|
26
|
+
selected.add(index);
|
|
27
|
+
refresh();
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
render(width) {
|
|
31
|
+
const lines = [];
|
|
32
|
+
const add = (line) => lines.push(truncateToWidth(line, width));
|
|
33
|
+
const title = " Select all that apply ";
|
|
34
|
+
add(theme.fg("accent", `-${title}${"-".repeat(Math.max(0, width - title.length - 1))}`));
|
|
35
|
+
for (const line of wrapText(message, width - 2)) {
|
|
36
|
+
add(` ${theme.fg("text", theme.bold(line))}`);
|
|
37
|
+
}
|
|
38
|
+
lines.push("");
|
|
39
|
+
for (let index = 0; index < options.length; index += 1) {
|
|
40
|
+
const option = options[index];
|
|
41
|
+
const active = index === activeIndex;
|
|
42
|
+
const prefix = active ? theme.fg("accent", " > ") : " ";
|
|
43
|
+
const marker = selected.has(index) ? "[x]" : "[ ]";
|
|
44
|
+
const label = `${marker} ${index + 1}. ${option.label}`;
|
|
45
|
+
add(prefix + theme.fg(active ? "accent" : "text", label));
|
|
46
|
+
for (const line of wrapText(option.description ?? "", width - 8)) {
|
|
47
|
+
add(` ${theme.fg("muted", line)}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const customActive = activeIndex === customIndex;
|
|
51
|
+
add((customActive ? theme.fg("accent", " > ") : " ") +
|
|
52
|
+
theme.fg(customActive ? "accent" : "muted", "Other"));
|
|
53
|
+
const doneActive = activeIndex === doneIndex;
|
|
54
|
+
add((doneActive ? theme.fg("accent", " > ") : " ") +
|
|
55
|
+
theme.fg(doneActive ? "accent" : "text", `Done (${selected.size})`));
|
|
56
|
+
lines.push("");
|
|
57
|
+
add(theme.fg("dim", " Up/Down move - Space toggle - Enter action - Esc dismiss"));
|
|
58
|
+
add(theme.fg("accent", "-".repeat(width)));
|
|
59
|
+
return lines;
|
|
60
|
+
},
|
|
61
|
+
invalidate() { },
|
|
62
|
+
handleInput(data) {
|
|
63
|
+
if (matchesKey(data, Key.up)) {
|
|
64
|
+
activeIndex = (activeIndex - 1 + itemCount) % itemCount;
|
|
65
|
+
refresh();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (matchesKey(data, Key.down)) {
|
|
69
|
+
activeIndex = (activeIndex + 1) % itemCount;
|
|
70
|
+
refresh();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (data.length === 1 && data >= "1" && data <= "9") {
|
|
74
|
+
const index = Number(data) - 1;
|
|
75
|
+
if (index < options.length)
|
|
76
|
+
toggle(index);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (matchesKey(data, Key.space)) {
|
|
80
|
+
if (activeIndex < options.length)
|
|
81
|
+
toggle(activeIndex);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (matchesKey(data, Key.enter)) {
|
|
85
|
+
if (activeIndex < options.length) {
|
|
86
|
+
toggle(activeIndex);
|
|
87
|
+
}
|
|
88
|
+
else if (activeIndex === customIndex) {
|
|
89
|
+
finish({ selected: [...selected], custom: true });
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
finish({ selected: [...selected] });
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (matchesKey(data, Key.escape))
|
|
97
|
+
finish(null);
|
|
98
|
+
},
|
|
99
|
+
dispose() {
|
|
100
|
+
signal?.removeEventListener("abort", cancel);
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function wrapText(text, width) {
|
|
106
|
+
const lines = [];
|
|
107
|
+
for (const paragraph of text.split("\n")) {
|
|
108
|
+
const words = paragraph.split(/\s+/).filter(Boolean);
|
|
109
|
+
if (words.length === 0)
|
|
110
|
+
continue;
|
|
111
|
+
let line = "";
|
|
112
|
+
for (const word of words) {
|
|
113
|
+
const candidate = line ? `${line} ${word}` : word;
|
|
114
|
+
if (line && candidate.length > Math.max(10, width)) {
|
|
115
|
+
lines.push(line);
|
|
116
|
+
line = word;
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
line = candidate;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (line)
|
|
123
|
+
lines.push(line);
|
|
124
|
+
}
|
|
125
|
+
return lines;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=interaction-tui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction-tui.js","sourceRoot":"","sources":["../src/interaction-tui.ts"],"names":[],"mappings":"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"}
|
package/dist/interactions.d.ts
CHANGED
|
@@ -40,6 +40,8 @@ export declare const ASK_USER_REASON_TOOL_CALL = "tool_call";
|
|
|
40
40
|
* gets no default timeout (a visible dialog can wait for the user).
|
|
41
41
|
*/
|
|
42
42
|
export declare const DEFAULT_RPC_DIALOG_TIMEOUT_MS = 120000;
|
|
43
|
+
/** Whether a question accepts one answer or several. */
|
|
44
|
+
export type AskUserSelection = "single" | "multiple";
|
|
43
45
|
/** Optional structured rendering hints for hosts with richer UI. */
|
|
44
46
|
export interface AskUserDisplay {
|
|
45
47
|
/** Renderer kind, e.g. `search_proposal`. */
|
|
@@ -73,6 +75,8 @@ export interface AskUserRequest {
|
|
|
73
75
|
message: string;
|
|
74
76
|
/** Optional choices for a question. Hosts may also allow a custom answer. */
|
|
75
77
|
options?: readonly (string | AskUserOption)[];
|
|
78
|
+
/** Answer cardinality. Defaults to `single`. `multiple` requires options. */
|
|
79
|
+
selection?: AskUserSelection;
|
|
76
80
|
/**
|
|
77
81
|
* Native renderer or tool hints for hosts that can render richer UI.
|
|
78
82
|
*/
|
|
@@ -92,6 +96,8 @@ export interface AskUserQuestionRequest {
|
|
|
92
96
|
header?: string;
|
|
93
97
|
/** Optional answer suggestions. Hosts may also allow a custom answer. */
|
|
94
98
|
options?: readonly (string | AskUserOption)[];
|
|
99
|
+
/** Answer cardinality. Defaults to `single`. `multiple` requires options. */
|
|
100
|
+
selection?: AskUserSelection;
|
|
95
101
|
/** Additional renderer or tool hints. */
|
|
96
102
|
metadata?: Record<string, unknown>;
|
|
97
103
|
/** Optional structured display copy. */
|
|
@@ -142,6 +148,11 @@ export interface AskUserOptions {
|
|
|
142
148
|
export type AskUserOutcome = {
|
|
143
149
|
type: "answered";
|
|
144
150
|
answer: string;
|
|
151
|
+
answers?: never;
|
|
152
|
+
} | {
|
|
153
|
+
type: "answered";
|
|
154
|
+
answers: string[];
|
|
155
|
+
answer?: never;
|
|
145
156
|
} | {
|
|
146
157
|
type: "approved";
|
|
147
158
|
feedback?: string;
|
|
@@ -164,6 +175,7 @@ export interface AskUserInterrupt {
|
|
|
164
175
|
reason: string;
|
|
165
176
|
message: string;
|
|
166
177
|
options?: AskUserOption[];
|
|
178
|
+
selection?: AskUserSelection;
|
|
167
179
|
metadata?: Record<string, unknown>;
|
|
168
180
|
display?: AskUserDisplay;
|
|
169
181
|
expiresAt?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../src/interactions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,iCAAiC,CAAC;AAEzC,mEAAmE;AACnE,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAC/D,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../src/interactions.ts"],"names":[],"mappings":"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"}
|
package/dist/interactions.js
CHANGED
|
@@ -43,6 +43,7 @@ export const DEFAULT_RPC_DIALOG_TIMEOUT_MS = 120_000;
|
|
|
43
43
|
const APPROVE_OPTION = "Approve";
|
|
44
44
|
const REQUEST_CHANGES_OPTION = "Request changes";
|
|
45
45
|
const CUSTOM_ANSWER_OPTION = "Other";
|
|
46
|
+
const COMPLETE_SELECTION_OPTION = "Done";
|
|
46
47
|
// Frozen envelope literals — the interaction wire contract. Interrupt-capable
|
|
47
48
|
// hosts synthesize the same literals when resuming a paused run, so recipes
|
|
48
49
|
// see identical tool results in every mode. Do not reword without a
|
|
@@ -73,6 +74,10 @@ export function autoResolveInteractions(fn) {
|
|
|
73
74
|
/** Ask the user, resolving the best available interaction channel. */
|
|
74
75
|
export async function askUser(request, opts) {
|
|
75
76
|
const env = opts.env ?? process.env;
|
|
77
|
+
if (request.selection === "multiple" &&
|
|
78
|
+
normalizeOptions(request.options).length === 0) {
|
|
79
|
+
throw new Error("Multiple selection requires at least one option");
|
|
80
|
+
}
|
|
76
81
|
if (interactionAutoResolution.getStore() === true) {
|
|
77
82
|
return finishedResult(request, isApprovalReason(request.reason)
|
|
78
83
|
? { type: "approved" }
|
|
@@ -94,7 +99,8 @@ export async function askUser(request, opts) {
|
|
|
94
99
|
? await opts.interactive(opts.ctx.ui, dialog)
|
|
95
100
|
: undefined;
|
|
96
101
|
throwIfAborted(opts.signal);
|
|
97
|
-
const outcome = custom ??
|
|
102
|
+
const outcome = custom ??
|
|
103
|
+
(await dialogWalk(request, opts.ctx.ui, dialog, opts.signal, opts.ctx.mode === "tui"));
|
|
98
104
|
return finishedResult(request, outcome);
|
|
99
105
|
}
|
|
100
106
|
if (flagEnabled(env.PI_INTERRUPT_RESUME)) {
|
|
@@ -114,6 +120,7 @@ export async function askUserQuestion(request, opts) {
|
|
|
114
120
|
reason: ASK_USER_REASON_INPUT_REQUIRED,
|
|
115
121
|
message: request.question,
|
|
116
122
|
options: request.options,
|
|
123
|
+
...(request.selection ? { selection: request.selection } : {}),
|
|
117
124
|
...(Object.keys(metadata).length > 0 ? { metadata } : {}),
|
|
118
125
|
...(request.display ? { display: request.display } : {}),
|
|
119
126
|
...(request.expiresAt ? { expiresAt: request.expiresAt } : {}),
|
|
@@ -201,7 +208,7 @@ function compactDisplay(display) {
|
|
|
201
208
|
* approvals, a text input otherwise. Empty and dismissed answers decline —
|
|
202
209
|
* the user saw the question and chose not to answer it.
|
|
203
210
|
*/
|
|
204
|
-
async function dialogWalk(request, ui, dialog, signal) {
|
|
211
|
+
async function dialogWalk(request, ui, dialog, signal, preferCustomTui) {
|
|
205
212
|
if (isApprovalReason(request.reason)) {
|
|
206
213
|
// ui.confirm() cannot carry per-option labels, so approvals use a select.
|
|
207
214
|
const choice = await ui.select(localDialogMessage(request), [APPROVE_OPTION, REQUEST_CHANGES_OPTION], dialog);
|
|
@@ -219,6 +226,9 @@ async function dialogWalk(request, ui, dialog, signal) {
|
|
|
219
226
|
}
|
|
220
227
|
if (request.options && request.options.length > 0) {
|
|
221
228
|
const options = normalizeOptions(request.options);
|
|
229
|
+
if (request.selection === "multiple") {
|
|
230
|
+
return multiSelectDialogWalk(request, options, ui, dialog, signal, preferCustomTui);
|
|
231
|
+
}
|
|
222
232
|
const selectOptions = [...options.map((option) => option.label)];
|
|
223
233
|
if (!selectOptions.includes(CUSTOM_ANSWER_OPTION)) {
|
|
224
234
|
selectOptions.push(CUSTOM_ANSWER_OPTION);
|
|
@@ -248,6 +258,79 @@ async function dialogWalk(request, ui, dialog, signal) {
|
|
|
248
258
|
? { type: "answered", answer: trimmed }
|
|
249
259
|
: { type: "declined" };
|
|
250
260
|
}
|
|
261
|
+
async function multiSelectDialogWalk(request, options, ui, dialog, signal, preferCustomTui) {
|
|
262
|
+
if (preferCustomTui && typeof ui.custom === "function") {
|
|
263
|
+
const { showMultiSelectTui } = await import("./interaction-tui.js");
|
|
264
|
+
const result = await showMultiSelectTui(localDialogMessage(request), options, ui, signal);
|
|
265
|
+
throwIfAborted(signal);
|
|
266
|
+
if (!result)
|
|
267
|
+
return { type: "declined" };
|
|
268
|
+
const answers = selectedAnswers(options, new Set(result.selected));
|
|
269
|
+
if (result.custom) {
|
|
270
|
+
const text = await ui.input("Answer", "Type another answer", dialog);
|
|
271
|
+
throwIfAborted(signal);
|
|
272
|
+
const customAnswer = text?.trim();
|
|
273
|
+
if (!customAnswer) {
|
|
274
|
+
return answers.length > 0
|
|
275
|
+
? { type: "answered", answers }
|
|
276
|
+
: { type: "declined" };
|
|
277
|
+
}
|
|
278
|
+
return {
|
|
279
|
+
type: "answered",
|
|
280
|
+
answers: normalizeAnswers([...answers, customAnswer]),
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
return answers.length > 0
|
|
284
|
+
? { type: "answered", answers }
|
|
285
|
+
: { type: "declined" };
|
|
286
|
+
}
|
|
287
|
+
return multiSelectFallback(request, options, ui, dialog, signal);
|
|
288
|
+
}
|
|
289
|
+
async function multiSelectFallback(request, options, ui, dialog, signal) {
|
|
290
|
+
const selected = new Set();
|
|
291
|
+
while (true) {
|
|
292
|
+
const choices = options.map((option, index) => `${selected.has(index) ? "[x]" : "[ ]"} ${option.label}`);
|
|
293
|
+
choices.push(CUSTOM_ANSWER_OPTION, COMPLETE_SELECTION_OPTION);
|
|
294
|
+
const choice = await ui.select(localDialogMessage(request), choices, dialog);
|
|
295
|
+
throwIfAborted(signal);
|
|
296
|
+
if (choice === undefined)
|
|
297
|
+
return { type: "declined" };
|
|
298
|
+
if (choice === COMPLETE_SELECTION_OPTION) {
|
|
299
|
+
const answers = selectedAnswers(options, selected);
|
|
300
|
+
return answers.length > 0
|
|
301
|
+
? { type: "answered", answers }
|
|
302
|
+
: { type: "declined" };
|
|
303
|
+
}
|
|
304
|
+
if (choice === CUSTOM_ANSWER_OPTION) {
|
|
305
|
+
const text = await ui.input("Answer", "Type another answer", dialog);
|
|
306
|
+
throwIfAborted(signal);
|
|
307
|
+
const customAnswer = text?.trim();
|
|
308
|
+
if (!customAnswer)
|
|
309
|
+
continue;
|
|
310
|
+
return {
|
|
311
|
+
type: "answered",
|
|
312
|
+
answers: normalizeAnswers([
|
|
313
|
+
...selectedAnswers(options, selected),
|
|
314
|
+
customAnswer,
|
|
315
|
+
]),
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
const optionIndex = choices.indexOf(choice);
|
|
319
|
+
if (optionIndex < 0 || optionIndex >= options.length)
|
|
320
|
+
continue;
|
|
321
|
+
if (selected.has(optionIndex)) {
|
|
322
|
+
selected.delete(optionIndex);
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
selected.add(optionIndex);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
function selectedAnswers(options, selected) {
|
|
330
|
+
return [
|
|
331
|
+
...new Set(options.flatMap((option, index) => selected.has(index) ? [option.value?.trim() || option.label] : [])),
|
|
332
|
+
];
|
|
333
|
+
}
|
|
251
334
|
function localDialogMessage(request) {
|
|
252
335
|
const display = request.display;
|
|
253
336
|
if (!display)
|
|
@@ -288,7 +371,9 @@ function localDialogMessage(request) {
|
|
|
288
371
|
export function formatInteractionOutcome(outcome) {
|
|
289
372
|
switch (outcome.type) {
|
|
290
373
|
case "answered":
|
|
291
|
-
return
|
|
374
|
+
return outcome.answers
|
|
375
|
+
? `Answers: ${JSON.stringify(outcome.answers)}`
|
|
376
|
+
: `Answer: ${outcome.answer}`;
|
|
292
377
|
case "approved":
|
|
293
378
|
return outcome.feedback
|
|
294
379
|
? `Approved. Feedback: ${outcome.feedback}`
|
|
@@ -321,6 +406,10 @@ export function formatInteractionResume(response) {
|
|
|
321
406
|
if (answer) {
|
|
322
407
|
return formatInteractionOutcome({ type: "answered", answer });
|
|
323
408
|
}
|
|
409
|
+
const answers = normalizeAnswers(payload?.answers);
|
|
410
|
+
if (answers.length > 0) {
|
|
411
|
+
return formatInteractionOutcome({ type: "answered", answers });
|
|
412
|
+
}
|
|
324
413
|
if (typeof payload?.approved === "boolean") {
|
|
325
414
|
const feedback = typeof payload.feedback === "string" ? payload.feedback.trim() : "";
|
|
326
415
|
return formatInteractionOutcome(payload.approved
|
|
@@ -337,6 +426,18 @@ export function formatInteractionResume(response) {
|
|
|
337
426
|
? `Interrupt response: ${response.status}`
|
|
338
427
|
: "Interrupt response received.";
|
|
339
428
|
}
|
|
429
|
+
function normalizeAnswers(value) {
|
|
430
|
+
if (!Array.isArray(value))
|
|
431
|
+
return [];
|
|
432
|
+
return [
|
|
433
|
+
...new Set(value.flatMap((answer) => {
|
|
434
|
+
if (typeof answer !== "string")
|
|
435
|
+
return [];
|
|
436
|
+
const trimmed = answer.trim();
|
|
437
|
+
return trimmed ? [trimmed] : [];
|
|
438
|
+
})),
|
|
439
|
+
];
|
|
440
|
+
}
|
|
340
441
|
function normalizeOptions(options) {
|
|
341
442
|
return (options ?? []).flatMap((option) => {
|
|
342
443
|
if (typeof option === "string") {
|
|
@@ -364,6 +465,7 @@ function interruptDetails(request, outcome) {
|
|
|
364
465
|
reason: request.reason,
|
|
365
466
|
message: request.message,
|
|
366
467
|
...(options.length > 0 ? { options } : {}),
|
|
468
|
+
...(request.selection ? { selection: request.selection } : {}),
|
|
367
469
|
...(request.metadata ? { metadata: request.metadata } : {}),
|
|
368
470
|
...(request.display ? { display: request.display } : {}),
|
|
369
471
|
...(request.expiresAt ? { expiresAt: request.expiresAt } : {}),
|
package/dist/interactions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../src/interactions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../src/interactions.ts"],"names":[],"mappings":"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"}
|
package/docs/interactions.md
CHANGED
|
@@ -26,6 +26,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
26
26
|
parameters: Type.Object({
|
|
27
27
|
question: Type.String(),
|
|
28
28
|
options: Type.Optional(Type.Array(Type.String())),
|
|
29
|
+
multiple: Type.Optional(Type.Boolean()),
|
|
29
30
|
}),
|
|
30
31
|
// Required: interaction tools must not run concurrently with other tools,
|
|
31
32
|
// otherwise a host pause can strand half-finished parallel tool calls.
|
|
@@ -35,6 +36,7 @@ export default function (pi: ExtensionAPI) {
|
|
|
35
36
|
{
|
|
36
37
|
question: params.question,
|
|
37
38
|
options: params.options,
|
|
39
|
+
selection: params.multiple ? "multiple" : "single",
|
|
38
40
|
},
|
|
39
41
|
{ toolCallId, ctx, signal }
|
|
40
42
|
);
|
|
@@ -55,7 +57,9 @@ The interaction helpers pick the best available channel, in order:
|
|
|
55
57
|
resolve `approved`, everything else resolves `declined`. Deterministic and
|
|
56
58
|
never blocks.
|
|
57
59
|
2. **Interactive UI** (`ctx.hasUI`, TUI and RPC modes) — the built-in dialog
|
|
58
|
-
walk: a
|
|
60
|
+
walk: a themed toggle list for TUI multi-select questions, a portable
|
|
61
|
+
selector loop for RPC multi-select questions, a select for single fixed
|
|
62
|
+
options and approvals, and a text input otherwise.
|
|
59
63
|
A caller-provided `interactive` walk replaces the dialogs (return
|
|
60
64
|
`undefined` to fall through). In RPC mode dialogs get a default timeout
|
|
61
65
|
(`DEFAULT_RPC_DIALOG_TIMEOUT_MS`, 120s) so a client that never renders
|
|
@@ -84,16 +88,20 @@ Hosts generate their own pause state from this record.
|
|
|
84
88
|
| `reason` | Open string; well-known: `input_required`, `confirmation`, `tool_call` |
|
|
85
89
|
| `message` | Concise human-readable prompt |
|
|
86
90
|
| `options` | Optional structured answer suggestions: `{ label, value?, description? }[]` |
|
|
91
|
+
| `selection` | Optional answer cardinality: `single` (default) or `multiple` |
|
|
87
92
|
| `metadata` | Renderer or tool hints (`kind`, `header`, source tool parameters, …) |
|
|
88
93
|
| `display` | Optional structured display copy for richer local or remote UI |
|
|
89
94
|
| `expiresAt` | Optional ISO-8601 instant after which the host may auto-decline |
|
|
90
95
|
| `outcome` | Local result, or `{ type: "awaiting_user" }` when the host must pause |
|
|
91
96
|
|
|
92
97
|
Question options are suggestions, not a closed enum. Local Pi shows them in a
|
|
93
|
-
selector plus an `Other` input path
|
|
94
|
-
|
|
98
|
+
selector plus an `Other` input path. Multi-select TUI questions use Space or
|
|
99
|
+
number keys to toggle choices and a `Done` action to submit. Hosts should
|
|
100
|
+
preserve the same custom-answer path unless a specific tool explicitly does
|
|
101
|
+
something else.
|
|
95
102
|
|
|
96
|
-
Resume payloads are
|
|
103
|
+
Resume payloads are `{ answer }` for single-answer questions,
|
|
104
|
+
`{ answers: string[] }` for multi-select questions, and
|
|
97
105
|
`{ approved, feedback? }` for confirmations. A decline is a resume with
|
|
98
106
|
status `cancelled` and **no payload**. Any host-specific pause/resume state
|
|
99
107
|
should be generated by the host from this request, not authored inside a
|
|
@@ -106,8 +114,25 @@ frontends, while remaining Pi-native Recipe metadata. A host that deploys a
|
|
|
106
114
|
Recipe behind the Agent User Interaction Protocol can map an awaiting
|
|
107
115
|
`details.interrupt` request into `RUN_FINISHED` with
|
|
108
116
|
`outcome: { type: "interrupt", interrupts: [...] }`, then resume with the
|
|
109
|
-
same `{ answer }`, `{ approved, feedback? }`, or cancelled
|
|
110
|
-
above.
|
|
117
|
+
same `{ answer }`, `{ answers }`, `{ approved, feedback? }`, or cancelled
|
|
118
|
+
payloads described above.
|
|
119
|
+
|
|
120
|
+
For a multi-select question, the host should use an array response schema:
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
{
|
|
124
|
+
"type": "object",
|
|
125
|
+
"properties": {
|
|
126
|
+
"answers": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"items": { "type": "string" },
|
|
129
|
+
"minItems": 1,
|
|
130
|
+
"uniqueItems": true
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"required": ["answers"]
|
|
134
|
+
}
|
|
135
|
+
```
|
|
111
136
|
|
|
112
137
|
Recipes should still emit only `details.interrupt`. The host owns ids,
|
|
113
138
|
tool-call binding, response schemas, transport events, persistence, and any
|
|
@@ -163,6 +188,7 @@ without a coordinated protocol change across all hosts.
|
|
|
163
188
|
| Outcome | Envelope |
|
|
164
189
|
| --- | --- |
|
|
165
190
|
| Answered | `Answer: <answer>` |
|
|
191
|
+
| Multiple answers | `Answers: ["<answer>","<answer>"]` |
|
|
166
192
|
| Approved | `Approved.` |
|
|
167
193
|
| Approved with feedback | `Approved. Feedback: <feedback>` |
|
|
168
194
|
| Revision requested | `Revision requested.` |
|
package/package.json
CHANGED