@xenosystem/agent-conversation 0.1.35 → 0.1.37

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.
Files changed (86) hide show
  1. package/dist/adapters/xenoAgentHostCatalog.d.ts.map +1 -1
  2. package/dist/adapters/xenoAgentHostCatalog.js +20 -5
  3. package/dist/adapters/xenoAgentHostCatalog.js.map +1 -1
  4. package/dist/components/agent/AgentView.d.ts +9 -0
  5. package/dist/components/agent/AgentView.d.ts.map +1 -1
  6. package/dist/components/agent/AgentView.js +883 -1045
  7. package/dist/components/agent/AgentView.js.map +1 -1
  8. package/dist/components/agent/GhostTextArea.d.ts +6 -0
  9. package/dist/components/agent/GhostTextArea.d.ts.map +1 -1
  10. package/dist/components/agent/GhostTextArea.js +15 -5
  11. package/dist/components/agent/GhostTextArea.js.map +1 -1
  12. package/dist/components/agent/LiveConversationCollaboration.d.ts +3 -1
  13. package/dist/components/agent/LiveConversationCollaboration.d.ts.map +1 -1
  14. package/dist/components/agent/LiveConversationCollaboration.js +3 -1
  15. package/dist/components/agent/LiveConversationCollaboration.js.map +1 -1
  16. package/dist/components/agent/MessageText.d.ts +36 -0
  17. package/dist/components/agent/MessageText.d.ts.map +1 -0
  18. package/dist/components/agent/MessageText.js +76 -0
  19. package/dist/components/agent/MessageText.js.map +1 -0
  20. package/dist/components/agent/SdkSessionPanel.d.ts +2 -0
  21. package/dist/components/agent/SdkSessionPanel.d.ts.map +1 -1
  22. package/dist/components/agent/SdkSessionPanel.js +1 -1
  23. package/dist/components/agent/SdkSessionPanel.js.map +1 -1
  24. package/dist/components/agent/composer/Composer.d.ts +282 -0
  25. package/dist/components/agent/composer/Composer.d.ts.map +1 -0
  26. package/dist/components/agent/composer/Composer.js +393 -0
  27. package/dist/components/agent/composer/Composer.js.map +1 -0
  28. package/dist/components/agent/composer/EffortCells.d.ts +12 -0
  29. package/dist/components/agent/composer/EffortCells.d.ts.map +1 -0
  30. package/dist/components/agent/composer/EffortCells.js +146 -0
  31. package/dist/components/agent/composer/EffortCells.js.map +1 -0
  32. package/dist/components/agent/composer/Tip.d.ts +19 -0
  33. package/dist/components/agent/composer/Tip.d.ts.map +1 -0
  34. package/dist/components/agent/composer/Tip.js +78 -0
  35. package/dist/components/agent/composer/Tip.js.map +1 -0
  36. package/dist/components/agent/composer/TypedMenu.d.ts +56 -0
  37. package/dist/components/agent/composer/TypedMenu.d.ts.map +1 -0
  38. package/dist/components/agent/composer/TypedMenu.js +156 -0
  39. package/dist/components/agent/composer/TypedMenu.js.map +1 -0
  40. package/dist/components/agent/mainAssistant.d.ts +9 -2
  41. package/dist/components/agent/mainAssistant.d.ts.map +1 -1
  42. package/dist/components/agent/mainAssistant.js +9 -2
  43. package/dist/components/agent/mainAssistant.js.map +1 -1
  44. package/dist/components/agent/toolCallDerive.d.ts +82 -0
  45. package/dist/components/agent/toolCallDerive.d.ts.map +1 -0
  46. package/dist/components/agent/toolCallDerive.js +741 -0
  47. package/dist/components/agent/toolCallDerive.js.map +1 -0
  48. package/dist/components/agent/transcript/Transcript.d.ts +127 -0
  49. package/dist/components/agent/transcript/Transcript.d.ts.map +1 -0
  50. package/dist/components/agent/transcript/Transcript.js +544 -0
  51. package/dist/components/agent/transcript/Transcript.js.map +1 -0
  52. package/dist/components/agent/transcript/glyphs.d.ts +83 -0
  53. package/dist/components/agent/transcript/glyphs.d.ts.map +1 -0
  54. package/dist/components/agent/transcript/glyphs.js +124 -0
  55. package/dist/components/agent/transcript/glyphs.js.map +1 -0
  56. package/dist/components/agent/transcript/stepModel.d.ts +163 -0
  57. package/dist/components/agent/transcript/stepModel.d.ts.map +1 -0
  58. package/dist/components/agent/transcript/stepModel.js +701 -0
  59. package/dist/components/agent/transcript/stepModel.js.map +1 -0
  60. package/dist/components/agent/transcript/turnModel.d.ts +124 -0
  61. package/dist/components/agent/transcript/turnModel.d.ts.map +1 -0
  62. package/dist/components/agent/transcript/turnModel.js +166 -0
  63. package/dist/components/agent/transcript/turnModel.js.map +1 -0
  64. package/dist/components/agent/transcript/useAskActions.d.ts +23 -0
  65. package/dist/components/agent/transcript/useAskActions.d.ts.map +1 -0
  66. package/dist/components/agent/transcript/useAskActions.js +92 -0
  67. package/dist/components/agent/transcript/useAskActions.js.map +1 -0
  68. package/dist/parityFixture.d.ts +54 -0
  69. package/dist/parityFixture.d.ts.map +1 -0
  70. package/dist/parityFixture.js +195 -0
  71. package/dist/parityFixture.js.map +1 -0
  72. package/dist/platformApiTypes.d.ts +10 -1
  73. package/dist/platformApiTypes.d.ts.map +1 -1
  74. package/dist/stores/agentChatStore.d.ts +61 -1
  75. package/dist/stores/agentChatStore.d.ts.map +1 -1
  76. package/dist/stores/agentChatStore.js +63 -8
  77. package/dist/stores/agentChatStore.js.map +1 -1
  78. package/dist/types/agentPermissions.d.ts +3 -1
  79. package/dist/types/agentPermissions.d.ts.map +1 -1
  80. package/dist/utils/acpExecutionAuthority.d.ts.map +1 -1
  81. package/dist/utils/acpExecutionAuthority.js +2 -0
  82. package/dist/utils/acpExecutionAuthority.js.map +1 -1
  83. package/package.json +6 -5
  84. package/src/composer.css +334 -0
  85. package/src/styles.css +7 -0
  86. 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"}