@xenosystem/agent-conversation 0.1.36 → 0.1.38
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/xenoAgentHostCatalog.d.ts.map +1 -1
- package/dist/adapters/xenoAgentHostCatalog.js +20 -5
- package/dist/adapters/xenoAgentHostCatalog.js.map +1 -1
- package/dist/components/agent/AgentView.d.ts +9 -0
- package/dist/components/agent/AgentView.d.ts.map +1 -1
- package/dist/components/agent/AgentView.js +883 -1045
- package/dist/components/agent/AgentView.js.map +1 -1
- package/dist/components/agent/GhostTextArea.d.ts +6 -0
- package/dist/components/agent/GhostTextArea.d.ts.map +1 -1
- package/dist/components/agent/GhostTextArea.js +15 -5
- package/dist/components/agent/GhostTextArea.js.map +1 -1
- package/dist/components/agent/LiveConversationCollaboration.d.ts +3 -1
- package/dist/components/agent/LiveConversationCollaboration.d.ts.map +1 -1
- package/dist/components/agent/LiveConversationCollaboration.js +3 -1
- package/dist/components/agent/LiveConversationCollaboration.js.map +1 -1
- package/dist/components/agent/MessageText.d.ts +36 -0
- package/dist/components/agent/MessageText.d.ts.map +1 -0
- package/dist/components/agent/MessageText.js +76 -0
- package/dist/components/agent/MessageText.js.map +1 -0
- package/dist/components/agent/SdkSessionPanel.d.ts +2 -0
- package/dist/components/agent/SdkSessionPanel.d.ts.map +1 -1
- package/dist/components/agent/SdkSessionPanel.js +1 -1
- package/dist/components/agent/SdkSessionPanel.js.map +1 -1
- package/dist/components/agent/composer/Composer.d.ts +282 -0
- package/dist/components/agent/composer/Composer.d.ts.map +1 -0
- package/dist/components/agent/composer/Composer.js +393 -0
- package/dist/components/agent/composer/Composer.js.map +1 -0
- package/dist/components/agent/composer/EffortCells.d.ts +12 -0
- package/dist/components/agent/composer/EffortCells.d.ts.map +1 -0
- package/dist/components/agent/composer/EffortCells.js +146 -0
- package/dist/components/agent/composer/EffortCells.js.map +1 -0
- package/dist/components/agent/composer/Tip.d.ts +19 -0
- package/dist/components/agent/composer/Tip.d.ts.map +1 -0
- package/dist/components/agent/composer/Tip.js +86 -0
- package/dist/components/agent/composer/Tip.js.map +1 -0
- package/dist/components/agent/composer/TypedMenu.d.ts +56 -0
- package/dist/components/agent/composer/TypedMenu.d.ts.map +1 -0
- package/dist/components/agent/composer/TypedMenu.js +156 -0
- package/dist/components/agent/composer/TypedMenu.js.map +1 -0
- package/dist/components/agent/mainAssistant.d.ts +9 -2
- package/dist/components/agent/mainAssistant.d.ts.map +1 -1
- package/dist/components/agent/mainAssistant.js +9 -2
- package/dist/components/agent/mainAssistant.js.map +1 -1
- package/dist/components/agent/toolCallDerive.d.ts +82 -0
- package/dist/components/agent/toolCallDerive.d.ts.map +1 -0
- package/dist/components/agent/toolCallDerive.js +741 -0
- package/dist/components/agent/toolCallDerive.js.map +1 -0
- package/dist/components/agent/transcript/Transcript.d.ts +127 -0
- package/dist/components/agent/transcript/Transcript.d.ts.map +1 -0
- package/dist/components/agent/transcript/Transcript.js +544 -0
- package/dist/components/agent/transcript/Transcript.js.map +1 -0
- package/dist/components/agent/transcript/glyphs.d.ts +83 -0
- package/dist/components/agent/transcript/glyphs.d.ts.map +1 -0
- package/dist/components/agent/transcript/glyphs.js +124 -0
- package/dist/components/agent/transcript/glyphs.js.map +1 -0
- package/dist/components/agent/transcript/stepModel.d.ts +163 -0
- package/dist/components/agent/transcript/stepModel.d.ts.map +1 -0
- package/dist/components/agent/transcript/stepModel.js +701 -0
- package/dist/components/agent/transcript/stepModel.js.map +1 -0
- package/dist/components/agent/transcript/turnModel.d.ts +124 -0
- package/dist/components/agent/transcript/turnModel.d.ts.map +1 -0
- package/dist/components/agent/transcript/turnModel.js +166 -0
- package/dist/components/agent/transcript/turnModel.js.map +1 -0
- package/dist/components/agent/transcript/useAskActions.d.ts +23 -0
- package/dist/components/agent/transcript/useAskActions.d.ts.map +1 -0
- package/dist/components/agent/transcript/useAskActions.js +92 -0
- package/dist/components/agent/transcript/useAskActions.js.map +1 -0
- package/dist/parityFixture.d.ts +54 -0
- package/dist/parityFixture.d.ts.map +1 -0
- package/dist/parityFixture.js +195 -0
- package/dist/parityFixture.js.map +1 -0
- package/dist/platformApiTypes.d.ts +10 -1
- package/dist/platformApiTypes.d.ts.map +1 -1
- package/dist/stores/agentChatStore.d.ts +61 -1
- package/dist/stores/agentChatStore.d.ts.map +1 -1
- package/dist/stores/agentChatStore.js +89 -25
- package/dist/stores/agentChatStore.js.map +1 -1
- package/dist/types/agentPermissions.d.ts +3 -1
- package/dist/types/agentPermissions.d.ts.map +1 -1
- package/dist/utils/acpExecutionAuthority.d.ts.map +1 -1
- package/dist/utils/acpExecutionAuthority.js +2 -0
- package/dist/utils/acpExecutionAuthority.js.map +1 -1
- package/package.json +6 -5
- package/src/composer.css +337 -0
- package/src/styles.css +7 -0
- package/src/transcript.css +585 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepModel.js","sourceRoot":"","sources":["../../../../src/components/agent/transcript/stepModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The turn model — an assistant message read as ONE turn: the clock line, the rail, the reply, the
|
|
3
|
+
* receipt (D10, `XENO AGENT PANEL - SPEC.md`).
|
|
4
|
+
*
|
|
5
|
+
* A message carries its text and its tool calls interleaved as `segments`. The rail is that order:
|
|
6
|
+
* a thought first; the agent's words BETWEEN steps are notes (the hollow-square row — its own
|
|
7
|
+
* sentence, not a step); each tool call is a row; the words AFTER the last step are the reply.
|
|
8
|
+
* A message with no steps has no clock line — the reply simply arrives.
|
|
9
|
+
*
|
|
10
|
+
* Pure. Timing that the store does not carry (how long a thought took, when a turn settled) is
|
|
11
|
+
* measured by the component that watches the message change, and passed in.
|
|
12
|
+
*/
|
|
13
|
+
import type { ChatMessage, PlanTask } from '../../../stores/agentChatStore.js';
|
|
14
|
+
import { type StepRow } from './stepModel.js';
|
|
15
|
+
/**
|
|
16
|
+
* The reason a turn ended, in the bench's own shape: words, with the STEP it ended at set in a
|
|
17
|
+
* `<code>` span — "you pressed stop before `Pressing Return` — nothing was sent".
|
|
18
|
+
*
|
|
19
|
+
* 🔴 A plain string cannot express that, and while `why` was one, the step's name rendered as prose
|
|
20
|
+
* where the bench renders it as code. So the reason is a list: a `string` is words, a `{ code }` is
|
|
21
|
+
* the step. Measured 2026-09-15 — six `code` nodes the panel could not produce.
|
|
22
|
+
*/
|
|
23
|
+
export type TurnWhy = ReadonlyArray<string | {
|
|
24
|
+
code: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type TurnEnding = {
|
|
27
|
+
kind: 'stopped';
|
|
28
|
+
text: string;
|
|
29
|
+
why: TurnWhy;
|
|
30
|
+
} | {
|
|
31
|
+
kind: 'interrupted';
|
|
32
|
+
text: string;
|
|
33
|
+
why: TurnWhy;
|
|
34
|
+
action: 'run-again';
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'failed';
|
|
37
|
+
text: string;
|
|
38
|
+
why: TurnWhy;
|
|
39
|
+
action: 'show-output' | null;
|
|
40
|
+
} | {
|
|
41
|
+
kind: 'credits';
|
|
42
|
+
text: string;
|
|
43
|
+
why: TurnWhy;
|
|
44
|
+
action: 'get-credits';
|
|
45
|
+
};
|
|
46
|
+
export type TurnStep = {
|
|
47
|
+
kind: 'think';
|
|
48
|
+
id: string;
|
|
49
|
+
text: string;
|
|
50
|
+
live: boolean;
|
|
51
|
+
} | {
|
|
52
|
+
kind: 'note';
|
|
53
|
+
id: string;
|
|
54
|
+
text: string;
|
|
55
|
+
} | {
|
|
56
|
+
kind: 'act';
|
|
57
|
+
id: string;
|
|
58
|
+
row: StepRow;
|
|
59
|
+
} | {
|
|
60
|
+
kind: 'housekeeping';
|
|
61
|
+
id: string;
|
|
62
|
+
rows: StepRow[];
|
|
63
|
+
} | {
|
|
64
|
+
kind: 'plan';
|
|
65
|
+
id: string;
|
|
66
|
+
tasks: PlanTask[];
|
|
67
|
+
done: number;
|
|
68
|
+
}
|
|
69
|
+
/** The plan AND the ask for a go on it — one row, as in the bench (`.xrow.plan.ask`). */
|
|
70
|
+
| {
|
|
71
|
+
kind: 'planask';
|
|
72
|
+
id: string;
|
|
73
|
+
row: StepRow;
|
|
74
|
+
tasks: PlanTask[];
|
|
75
|
+
done: number;
|
|
76
|
+
} | {
|
|
77
|
+
kind: 'ending';
|
|
78
|
+
id: string;
|
|
79
|
+
ending: TurnEnding;
|
|
80
|
+
};
|
|
81
|
+
export interface TurnReceiptFile {
|
|
82
|
+
path: string;
|
|
83
|
+
name: string;
|
|
84
|
+
added: number;
|
|
85
|
+
removed: number;
|
|
86
|
+
row: StepRow;
|
|
87
|
+
}
|
|
88
|
+
export interface TurnModel {
|
|
89
|
+
id: string;
|
|
90
|
+
/** Something is still happening: streaming, thinking, a running step, or a pending ask. */
|
|
91
|
+
live: boolean;
|
|
92
|
+
/** An ask is pending — the rail is stopped at it. */
|
|
93
|
+
asking: boolean;
|
|
94
|
+
startedAt: number;
|
|
95
|
+
/** When the host said the turn ended, when it said so — the duration the action row reads. */
|
|
96
|
+
endedAt: number | null;
|
|
97
|
+
steps: TurnStep[];
|
|
98
|
+
/** Steps counted for the clock line: depth-one rows that are not the thought. */
|
|
99
|
+
stepCount: number;
|
|
100
|
+
reply: string;
|
|
101
|
+
replyStreaming: boolean;
|
|
102
|
+
/** The reply has not started and nothing else is on the rail — the turn is still opening. */
|
|
103
|
+
opening: boolean;
|
|
104
|
+
ending: TurnEnding | null;
|
|
105
|
+
receipt: {
|
|
106
|
+
files: TurnReceiptFile[];
|
|
107
|
+
} | null;
|
|
108
|
+
/** The sources the reply may cite, gathered from every web step. */
|
|
109
|
+
sources: Array<{
|
|
110
|
+
title: string;
|
|
111
|
+
url: string;
|
|
112
|
+
domain: string;
|
|
113
|
+
}>;
|
|
114
|
+
pendingAsk: StepRow | null;
|
|
115
|
+
}
|
|
116
|
+
/** The last non-empty line of a thought, phrased as the thing being thought about now. */
|
|
117
|
+
export declare function currentThought(thinking: string): string;
|
|
118
|
+
export declare function deriveTurn(msg: ChatMessage, options?: {
|
|
119
|
+
tasks?: PlanTask[];
|
|
120
|
+
planDone?: number;
|
|
121
|
+
}): TurnModel;
|
|
122
|
+
/** `4s`, `1m 12s`, `2h 4m` — the clock line's unit of time. */
|
|
123
|
+
export declare function formatElapsed(ms: number): string;
|
|
124
|
+
//# sourceMappingURL=turnModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnModel.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/transcript/turnModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { deriveStepRow } from './stepModel.js';
|
|
2
|
+
function isStructuredTaskToolCall(toolCall) {
|
|
3
|
+
const normalized = (toolCall.toolName || '').trim().toLowerCase();
|
|
4
|
+
return normalized === 'taskcreate' || normalized === 'taskupdate' || normalized === 'taskclear';
|
|
5
|
+
}
|
|
6
|
+
/** The last non-empty line of a thought, phrased as the thing being thought about now. */
|
|
7
|
+
export function currentThought(thinking) {
|
|
8
|
+
const lines = thinking.split(/\r?\n/).map((line) => line.replace(/^[#*\-\s]+/, '').trim()).filter(Boolean);
|
|
9
|
+
return lines[lines.length - 1] || '';
|
|
10
|
+
}
|
|
11
|
+
function endingFor(msg, lastStep) {
|
|
12
|
+
const spoken = lastStep ? `${lastStep.verb} ${lastStep.object}`.trim() : '';
|
|
13
|
+
// A cancelled/running call does not prove its side effects never happened. Only a successful
|
|
14
|
+
// completion earns "after"; otherwise name the step without inventing an execution outcome.
|
|
15
|
+
const at = !lastStep ? ['before the first step']
|
|
16
|
+
: [lastStep.toolCall.status === 'done' && lastStep.toolCall.success === true ? 'after ' : 'during ', { code: spoken }];
|
|
17
|
+
if (msg.error) {
|
|
18
|
+
const credits = /(?:insufficient|out of|not enough) credits|credits? (?:exhausted|depleted)/i.test(msg.error);
|
|
19
|
+
if (credits)
|
|
20
|
+
return { kind: 'credits', text: 'Out of credits', why: [msg.error], action: 'get-credits' };
|
|
21
|
+
// Render inline-code notation safely, never as HTML, and prefer the actual error over a
|
|
22
|
+
// partial answer. Neither "nothing was sent" nor "the edit is saved" follows from an error.
|
|
23
|
+
const why = msg.error.split(/(`[^`\n]+`)/g).filter(Boolean).map(part => (part.startsWith('`') && part.endsWith('`') ? { code: part.slice(1, -1) } : part));
|
|
24
|
+
return { kind: 'failed', text: 'Failed', why, action: lastStep?.detail?.kind === 'output' ? 'show-output' : null };
|
|
25
|
+
}
|
|
26
|
+
if (msg.turnStatus === 'cancelled')
|
|
27
|
+
return { kind: 'stopped', text: 'Stopped', why: ['you pressed stop ', ...at] };
|
|
28
|
+
// only an INTERRUPTED turn offers a way on; a cancelled one was stopped on purpose
|
|
29
|
+
if (msg.turnStatus === 'interrupted')
|
|
30
|
+
return { kind: 'interrupted', text: 'Interrupted', why: ['the connection dropped ', ...at], action: 'run-again' };
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
export function deriveTurn(msg, options = {}) {
|
|
34
|
+
const toolCalls = (msg.toolCalls || []).filter((toolCall) => !isStructuredTaskToolCall(toolCall));
|
|
35
|
+
const rowsById = new Map();
|
|
36
|
+
for (const toolCall of toolCalls)
|
|
37
|
+
rowsById.set(toolCall.id, deriveStepRow(toolCall));
|
|
38
|
+
// The rail in segment order. Tool calls the segments never named come after — they happened.
|
|
39
|
+
const segments = Array.isArray(msg.segments) ? msg.segments : [];
|
|
40
|
+
const ordered = [];
|
|
41
|
+
const seen = new Set();
|
|
42
|
+
for (const segment of segments) {
|
|
43
|
+
if (segment.kind === 'text') {
|
|
44
|
+
if (segment.text.trim())
|
|
45
|
+
ordered.push({ kind: 'text', text: segment.text });
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
const row = rowsById.get(segment.toolCallId);
|
|
49
|
+
if (!row || seen.has(row.id))
|
|
50
|
+
continue;
|
|
51
|
+
seen.add(row.id);
|
|
52
|
+
ordered.push({ kind: 'tool', row });
|
|
53
|
+
}
|
|
54
|
+
for (const toolCall of toolCalls) {
|
|
55
|
+
const row = rowsById.get(toolCall.id);
|
|
56
|
+
if (row && !seen.has(row.id)) {
|
|
57
|
+
seen.add(row.id);
|
|
58
|
+
ordered.push({ kind: 'tool', row });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (ordered.length === 0 && msg.content.trim())
|
|
62
|
+
ordered.push({ kind: 'text', text: msg.content });
|
|
63
|
+
// A command-result message is one step and no reply.
|
|
64
|
+
if (msg.isCommandResult && msg.command) {
|
|
65
|
+
const row = deriveStepRow({ id: `${msg.id}:command`, toolName: 'bash', params: { command: msg.command }, result: msg.content, status: 'done', success: !msg.error });
|
|
66
|
+
ordered.length = 0;
|
|
67
|
+
ordered.push({ kind: 'tool', row });
|
|
68
|
+
}
|
|
69
|
+
/*
|
|
70
|
+
* Which words are the REPLY. Live, the store keeps segments in the order they arrived, so the
|
|
71
|
+
* words after the last step are the reply. Stored and re-projected, the store rewrites a message
|
|
72
|
+
* as ONE text segment (its content) followed by its tool calls — the text comes first even though
|
|
73
|
+
* it is the final answer. So: the trailing words when there are any; otherwise the content.
|
|
74
|
+
*/
|
|
75
|
+
const lastToolIndex = ordered.map((part) => part.kind).lastIndexOf('tool');
|
|
76
|
+
const trailing = ordered.filter((part, index) => part.kind === 'text' && index > lastToolIndex);
|
|
77
|
+
const trailingIsNote = !!msg.isStreaming && ordered.some(part => part.kind === 'tool' && part.row.live);
|
|
78
|
+
const replyFromSegments = trailingIsNote ? '' : trailing.map((part) => part.text).join('\n\n').trim();
|
|
79
|
+
// a command result's content is its output, and an error's content is the error — neither is a reply
|
|
80
|
+
const replyText = replyFromSegments || (!msg.isStreaming && lastToolIndex >= 0 && !msg.isCommandResult && !msg.error ? msg.content.trim() : '');
|
|
81
|
+
const steps = [];
|
|
82
|
+
const hidden = [];
|
|
83
|
+
let replyParts = [];
|
|
84
|
+
if (msg.thinking && msg.showThinking !== false) {
|
|
85
|
+
steps.push({ kind: 'think', id: `${msg.id}:think`, text: msg.thinking, live: !!msg.isThinking });
|
|
86
|
+
}
|
|
87
|
+
const tasks = options.tasks ?? [];
|
|
88
|
+
const planDone = options.planDone ?? tasks.filter((task) => task.status === 'done').length;
|
|
89
|
+
/*
|
|
90
|
+
* A plan that is WAITING for a go is not a second row above the ask — it IS the ask (bench
|
|
91
|
+
* `.xrow.plan.ask`). So the standalone plan row is emitted only when nothing on this turn is
|
|
92
|
+
* asking about it; otherwise the list travels with the ask and there is one place to read it.
|
|
93
|
+
*/
|
|
94
|
+
const planAsk = ordered.find((part) => part.kind === 'tool' && part.row.ask?.kind === 'plan')?.row ?? null;
|
|
95
|
+
if (tasks.length && !planAsk)
|
|
96
|
+
steps.push({ kind: 'plan', id: `${msg.id}:plan`, tasks, done: planDone });
|
|
97
|
+
ordered.forEach((part, index) => {
|
|
98
|
+
if (part.kind === 'text') {
|
|
99
|
+
if (index > lastToolIndex && !trailingIsNote)
|
|
100
|
+
replyParts.push(part.text);
|
|
101
|
+
else if (part.text.trim() !== replyText)
|
|
102
|
+
steps.push({ kind: 'note', id: `${msg.id}:note:${index}`, text: part.text });
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (part.row.hidden) {
|
|
106
|
+
hidden.push(part.row);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (part.row === planAsk) {
|
|
110
|
+
steps.push({ kind: 'planask', id: part.row.id, row: part.row, tasks, done: planDone });
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
steps.push({ kind: 'act', id: part.row.id, row: part.row });
|
|
114
|
+
});
|
|
115
|
+
if (hidden.length)
|
|
116
|
+
steps.push({ kind: 'housekeeping', id: `${msg.id}:housekeeping`, rows: hidden });
|
|
117
|
+
// the plan-approval row is a step like any other — it asks, it runs, it can be the one the rail stopped at
|
|
118
|
+
const actRows = steps
|
|
119
|
+
.filter((step) => step.kind === 'act' || step.kind === 'planask')
|
|
120
|
+
.map((step) => step.row);
|
|
121
|
+
const lastStep = actRows[actRows.length - 1] || null;
|
|
122
|
+
const ending = endingFor(msg, lastStep);
|
|
123
|
+
if (ending) {
|
|
124
|
+
replyParts = ending.kind === 'failed' ? [] : replyParts;
|
|
125
|
+
steps.push({ kind: 'ending', id: `${msg.id}:ending`, ending });
|
|
126
|
+
}
|
|
127
|
+
const pendingAsk = ending ? null : actRows.find((row) => row.ask?.status === 'pending') || null;
|
|
128
|
+
const running = actRows.some((row) => row.live);
|
|
129
|
+
const reply = ending?.kind === 'failed' ? '' : (replyParts.join('\n\n').trim() || replyText).trim();
|
|
130
|
+
// Streaming is also true while waiting for the first event. It does not mean a reply exists:
|
|
131
|
+
// showing its caret then paints a second, orphan square beneath the opening clock.
|
|
132
|
+
const replyStreaming = !ending && !!reply && !!msg.isStreaming && !pendingAsk && !running && !msg.isThinking;
|
|
133
|
+
const live = !ending && (!!msg.isStreaming || !!msg.isThinking || running || !!pendingAsk);
|
|
134
|
+
const files = actRows
|
|
135
|
+
.filter((row) => row.family === 'files' && row.diffStats && row.filePath && (row.verb === 'Edited' || row.verb === 'Created'))
|
|
136
|
+
.map((row) => ({ path: row.filePath, name: row.filePath.split(/[/\\]/).pop() || row.object, added: row.diffStats.added, removed: row.diffStats.removed, row }));
|
|
137
|
+
const sources = actRows.flatMap((row) => (row.detail?.kind === 'sources' ? row.detail.items : []));
|
|
138
|
+
return {
|
|
139
|
+
id: msg.id,
|
|
140
|
+
live,
|
|
141
|
+
asking: !!pendingAsk,
|
|
142
|
+
startedAt: msg.timestamp,
|
|
143
|
+
endedAt: typeof msg.endedAt === 'number' && msg.endedAt > msg.timestamp ? msg.endedAt : null,
|
|
144
|
+
steps,
|
|
145
|
+
stepCount: steps.filter((step) => step.kind !== 'think' && step.kind !== 'note').length,
|
|
146
|
+
reply,
|
|
147
|
+
replyStreaming,
|
|
148
|
+
opening: live && !reply && steps.length === 0,
|
|
149
|
+
ending,
|
|
150
|
+
receipt: files.length ? { files } : null,
|
|
151
|
+
sources,
|
|
152
|
+
pendingAsk,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/** `4s`, `1m 12s`, `2h 4m` — the clock line's unit of time. */
|
|
156
|
+
export function formatElapsed(ms) {
|
|
157
|
+
const secs = Math.max(0, Math.round(ms / 1000));
|
|
158
|
+
if (secs < 60)
|
|
159
|
+
return `${secs}s`;
|
|
160
|
+
const mins = Math.floor(secs / 60);
|
|
161
|
+
if (mins < 60)
|
|
162
|
+
return `${mins}m ${secs % 60}s`;
|
|
163
|
+
const hours = Math.floor(mins / 60);
|
|
164
|
+
return `${hours}h ${mins % 60}m`;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=turnModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnModel.js","sourceRoot":"","sources":["../../../../src/components/agent/transcript/turnModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type AskUserRequestInfo, type PermissionRequestInfo, type ToolCallInfo } from '../../../stores/agentChatStore.js';
|
|
2
|
+
import { buildSurfaceApprovalRule } from '../toolCallDerive.js';
|
|
3
|
+
export interface AskActions {
|
|
4
|
+
/** Grant once (a directory grant also remembers the folder for this conversation). */
|
|
5
|
+
grant(toolCall: ToolCallInfo, permission: PermissionRequestInfo): void;
|
|
6
|
+
/** Grant and remember — by the agent's own "allow always" option, or as an approval rule. */
|
|
7
|
+
grantAlways(toolCall: ToolCallInfo, permission: PermissionRequestInfo): void;
|
|
8
|
+
deny(permission: PermissionRequestInfo): void;
|
|
9
|
+
/** Refuse and remember — only when the agent offered a "reject always" option. */
|
|
10
|
+
denyAlways(permission: PermissionRequestInfo): void;
|
|
11
|
+
/** Answer a question; resolves to an error message when the host refused, otherwise null. */
|
|
12
|
+
answer(askUser: AskUserRequestInfo, answer: string, selectedOption?: string): Promise<string | null>;
|
|
13
|
+
cancelQuestion(askUser: AskUserRequestInfo): void;
|
|
14
|
+
/** Whether a grant can reach a host at all in this composition. */
|
|
15
|
+
canAnswer: boolean;
|
|
16
|
+
}
|
|
17
|
+
export type AddApprovalRule = (rule: ReturnType<typeof buildSurfaceApprovalRule> & object) => void;
|
|
18
|
+
/**
|
|
19
|
+
* The actions for ONE turn, by its request id (a message id IS its turn's request id). A hook cannot
|
|
20
|
+
* run inside the message loop, so the hook builds the factory once and the loop asks it per turn.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useAskActions(onAddApprovalRule?: AddApprovalRule): (requestId: string | undefined) => AskActions;
|
|
23
|
+
//# sourceMappingURL=useAskActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAskActions.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/transcript/useAskActions.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqB,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAC7I,OAAO,EAAE,wBAAwB,EAA+B,MAAM,sBAAsB,CAAA;AAE5F,MAAM,WAAW,UAAU;IACzB,sFAAsF;IACtF,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACtE,6FAA6F;IAC7F,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC5E,IAAI,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAC7C,kFAAkF;IAClF,UAAU,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACnD,6FAA6F;IAC7F,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACpG,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACjD,mEAAmE;IACnE,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,GAAG,MAAM,KAAK,IAAI,CAAA;AAElG;;;GAGG;AACH,wBAAgB,aAAa,CAAC,iBAAiB,CAAC,EAAE,eAAe,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,UAAU,CAuEhH"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How an ask is answered — the store and the bridge, in one hook.
|
|
3
|
+
*
|
|
4
|
+
* These are the calls the previous approval and question cards made, gathered so the D10 cards
|
|
5
|
+
* answer through exactly the same path: the store records the verdict first (so the transcript
|
|
6
|
+
* settles at once), then the host is told. A refusal that the agent offered to remember is sent by
|
|
7
|
+
* the option id the agent named; a grant on a directory the agent asked for is remembered for the
|
|
8
|
+
* conversation; a grant on a command with no directory becomes a host-owned approval rule.
|
|
9
|
+
*/
|
|
10
|
+
import { useCallback, useMemo } from 'react';
|
|
11
|
+
import { getOptionalAgentPlatformBridge } from '../../../platformBridge.js';
|
|
12
|
+
import { useAgentChatStore } from '../../../stores/agentChatStore.js';
|
|
13
|
+
import { buildSurfaceApprovalRule, isPseudoPermissionDirectory } from '../toolCallDerive.js';
|
|
14
|
+
/**
|
|
15
|
+
* The actions for ONE turn, by its request id (a message id IS its turn's request id). A hook cannot
|
|
16
|
+
* run inside the message loop, so the hook builds the factory once and the loop asks it per turn.
|
|
17
|
+
*/
|
|
18
|
+
export function useAskActions(onAddApprovalRule) {
|
|
19
|
+
const resolvePermission = useAgentChatStore((s) => s.resolvePermission);
|
|
20
|
+
const grantConversationDirectory = useAgentChatStore((s) => s.grantConversationDirectory);
|
|
21
|
+
const resolveAskUser = useAgentChatStore((s) => s.resolveAskUser);
|
|
22
|
+
const cancelAskUser = useAgentChatStore((s) => s.cancelAskUser);
|
|
23
|
+
const grant = useCallback((requestId, _toolCall, permission) => {
|
|
24
|
+
const bridge = getOptionalAgentPlatformBridge();
|
|
25
|
+
if (!requestId || !bridge?.agent)
|
|
26
|
+
return;
|
|
27
|
+
if (permission.directory && !isPseudoPermissionDirectory(permission.directory)) {
|
|
28
|
+
grantConversationDirectory(requestId, permission.directory);
|
|
29
|
+
}
|
|
30
|
+
resolvePermission(requestId, permission.permissionId, true);
|
|
31
|
+
bridge.agent.grantAccess({ permissionId: permission.permissionId, directory: permission.directory });
|
|
32
|
+
}, [resolvePermission, grantConversationDirectory]);
|
|
33
|
+
const grantAlways = useCallback((requestId, toolCall, permission) => {
|
|
34
|
+
const bridge = getOptionalAgentPlatformBridge();
|
|
35
|
+
if (!requestId || !bridge?.agent)
|
|
36
|
+
return;
|
|
37
|
+
if (permission.allowAlwaysOptionId) {
|
|
38
|
+
resolvePermission(requestId, permission.permissionId, true);
|
|
39
|
+
bridge.agent.grantAccess({ permissionId: permission.permissionId, directory: permission.directory, selectedOptionId: permission.allowAlwaysOptionId });
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (!permission.directory || isPseudoPermissionDirectory(permission.directory)) {
|
|
43
|
+
const rule = buildSurfaceApprovalRule(toolCall, permission);
|
|
44
|
+
if (rule && onAddApprovalRule)
|
|
45
|
+
onAddApprovalRule(rule);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
grantConversationDirectory(requestId, permission.directory);
|
|
49
|
+
}
|
|
50
|
+
resolvePermission(requestId, permission.permissionId, true);
|
|
51
|
+
bridge.agent.grantAccess({ permissionId: permission.permissionId, directory: permission.directory });
|
|
52
|
+
}, [resolvePermission, grantConversationDirectory, onAddApprovalRule]);
|
|
53
|
+
const deny = useCallback((requestId, permission) => {
|
|
54
|
+
const bridge = getOptionalAgentPlatformBridge();
|
|
55
|
+
if (!requestId || !bridge?.agent)
|
|
56
|
+
return;
|
|
57
|
+
resolvePermission(requestId, permission.permissionId, false);
|
|
58
|
+
bridge.agent.denyAccess({ permissionId: permission.permissionId });
|
|
59
|
+
}, [resolvePermission]);
|
|
60
|
+
const denyAlways = useCallback((requestId, permission) => {
|
|
61
|
+
const bridge = getOptionalAgentPlatformBridge();
|
|
62
|
+
if (!requestId || !bridge?.agent || !permission.rejectAlwaysOptionId)
|
|
63
|
+
return;
|
|
64
|
+
resolvePermission(requestId, permission.permissionId, false);
|
|
65
|
+
bridge.agent.denyAccess({ permissionId: permission.permissionId, selectedOptionId: permission.rejectAlwaysOptionId });
|
|
66
|
+
}, [resolvePermission]);
|
|
67
|
+
const answer = useCallback(async (requestId, askUser, value, selectedOption) => {
|
|
68
|
+
const trimmed = value.trim();
|
|
69
|
+
if (!requestId || !trimmed)
|
|
70
|
+
return 'Nothing to send.';
|
|
71
|
+
const result = await getOptionalAgentPlatformBridge()?.agent?.answerAskUser?.({ askUserId: askUser.askUserId, answer: trimmed, selectedOption });
|
|
72
|
+
if (result?.success === false)
|
|
73
|
+
return result.error || 'Unable to send the answer.';
|
|
74
|
+
resolveAskUser(requestId, askUser.askUserId, trimmed, selectedOption);
|
|
75
|
+
return null;
|
|
76
|
+
}, [resolveAskUser]);
|
|
77
|
+
const cancelQuestion = useCallback((requestId, askUser) => {
|
|
78
|
+
if (!requestId)
|
|
79
|
+
return;
|
|
80
|
+
cancelAskUser(requestId, askUser.askUserId);
|
|
81
|
+
}, [cancelAskUser]);
|
|
82
|
+
return useMemo(() => (requestId) => ({
|
|
83
|
+
grant: (toolCall, permission) => grant(requestId, toolCall, permission),
|
|
84
|
+
grantAlways: (toolCall, permission) => grantAlways(requestId, toolCall, permission),
|
|
85
|
+
deny: (permission) => deny(requestId, permission),
|
|
86
|
+
denyAlways: (permission) => denyAlways(requestId, permission),
|
|
87
|
+
answer: (askUser, value, selectedOption) => answer(requestId, askUser, value, selectedOption),
|
|
88
|
+
cancelQuestion: (askUser) => cancelQuestion(requestId, askUser),
|
|
89
|
+
canAnswer: !!requestId && !!getOptionalAgentPlatformBridge()?.agent,
|
|
90
|
+
}), [grant, grantAlways, deny, denyAlways, answer, cancelQuestion]);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=useAskActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAskActions.js","sourceRoot":"","sources":["../../../../src/components/agent/transcript/useAskActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The parity fixture — the Turn Modes Bench's three frames, as conversation DATA. Opt-in with
|
|
3
|
+
* `?surface=conversation&parity=chat|agent|machine`.
|
|
4
|
+
*
|
|
5
|
+
* `scripts/style-parity/` measures the real panel against `docs/design/turn-modes-bench_files/_t.html`
|
|
6
|
+
* in the state the bench's own `#fast` mode reaches: every turn stopped at its first ask. This seeds
|
|
7
|
+
* the SAME conversation the bench draws in each frame, through the store's ordinary shapes, so the
|
|
8
|
+
* panel renders it the way it would render a real one. Nothing here styles anything or reaches past
|
|
9
|
+
* the store: where the panel cannot express something the bench shows (a mention chip, a plan that
|
|
10
|
+
* waits for a go), the data is written the way a host would send it and the gap SHOWS in the
|
|
11
|
+
* measurement instead of being papered over here.
|
|
12
|
+
*
|
|
13
|
+
* 🔴 OPT-IN ONLY, like `demo=1`. The words are the bench's; every record also says it is a fixture.
|
|
14
|
+
* It lives in the conversation package so the embed preview AND the real desktop shell seed the
|
|
15
|
+
* identical frames through the identical store path; the shell honours it only under its isolated
|
|
16
|
+
* E2E harness environment, never in a normal launch.
|
|
17
|
+
*/
|
|
18
|
+
import type { useAgentChatStore as UseAgentChatStore } from './stores/agentChatStore.js';
|
|
19
|
+
type Store = typeof UseAgentChatStore;
|
|
20
|
+
export type ParityFrame = 'chat' | 'agent' | 'machine';
|
|
21
|
+
export declare const PARITY_FRAMES: readonly ParityFrame[];
|
|
22
|
+
export declare function isParityFrame(value: string | null): value is ParityFrame;
|
|
23
|
+
/**
|
|
24
|
+
* The bench's agent frame shows the project's branch and a `+1 −1` diff, which the panel reads from
|
|
25
|
+
* the host's git status. The preview's fixture host has no git, so in the agent frame ONLY the bridge
|
|
26
|
+
* answers that one call with the bench's values — at the bridge boundary, the one the panel reads, and
|
|
27
|
+
* nowhere else. Every other call passes through untouched.
|
|
28
|
+
*/
|
|
29
|
+
export declare function withParityGitStatus<T extends object>(bridge: T, frame: ParityFrame): T;
|
|
30
|
+
/**
|
|
31
|
+
* The bench's frames are all drawn on a computer that answers — its Machine lane is offered in the
|
|
32
|
+
* chat and agent frames too, not only when the machine frame is selected. The fixture host has no
|
|
33
|
+
* XENO Use device, so for every parity frame the bridge's device query answers with one fixture
|
|
34
|
+
* device — at the same boundary as the git status above, so the panel's own probe runs unchanged
|
|
35
|
+
* and every surface (preview or real shell) reaches the frame through the same code path.
|
|
36
|
+
*/
|
|
37
|
+
export declare function withParityMachine<T extends object>(bridge: T, _frame: ParityFrame): T;
|
|
38
|
+
/** Both bench-only overrides, for the frame being seeded. */
|
|
39
|
+
export declare function withParityBridge<T extends object>(bridge: T, frame: ParityFrame): T;
|
|
40
|
+
export declare function seedParityConversation(store: Store, agentId: string, frame: ParityFrame): string;
|
|
41
|
+
/**
|
|
42
|
+
* A turn ARRIVES; it is not mounted whole. The bench's `#fast` mode runs each turn through its
|
|
43
|
+
* beats — the thought, then the step, then the ask — and the clock line's ticker carries the marks
|
|
44
|
+
* of that history (`.in` on an item that replaced another, `.first` on the one that opened). A
|
|
45
|
+
* fixture written in one write lands the ticker on `.first` for an item the bench reached by
|
|
46
|
+
* replacement, and the two never pair.
|
|
47
|
+
*
|
|
48
|
+
* So the live turn is held at its first beat — the thought still live, or the first step alone —
|
|
49
|
+
* and the surface advances it one beat later, exactly the sequence a host produces. The message
|
|
50
|
+
* the store holds is the SAME normalized record both times; only its last beat is withheld.
|
|
51
|
+
*/
|
|
52
|
+
export declare function holdParityTurnAtItsFirstBeat(store: Store, frame: ParityFrame, conversationId: string): () => void;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=parityFixture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parityFixture.d.ts","sourceRoot":"","sources":["../src/parityFixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAGxF,KAAK,KAAK,GAAG,OAAO,iBAAiB,CAAA;AACrC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAEtD,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAAiC,CAAA;AAEjF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,IAAI,WAAW,CAExE;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,CAUtF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,CASrF;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,CAEnF;AAcD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CA+GhG;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,IAAI,CAkBjH"}
|