@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.
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 +86 -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 +89 -25
  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 +337 -0
  85. package/src/styles.css +7 -0
  86. package/src/transcript.css +585 -0
@@ -0,0 +1,282 @@
1
+ /**
2
+ * The composer's pieces — D9 / D9a / D11 of `XENO AGENT PANEL - SPEC.md`.
3
+ *
4
+ * 🔴 The markup and the classes are the LOCKED prototype's (artifact `XENO Agent Panel`,
5
+ * `xeno-agent-panel-proto.html`), element for element; `composer.css` carries its rules verbatim.
6
+ * Presentation only: every piece takes the value it shows and the callback it fires, and `AgentView`
7
+ * owns the state. Nothing here reaches the store.
8
+ *
9
+ * Where a control explains itself it uses `data-tip` / `data-key`, not `title` — the prototype's
10
+ * tooltip (`Tip.tsx`) is ONE element for the dock, with the shortcut in its own column and the Mac
11
+ * spelling mapped to Ctrl elsewhere. A native `title` is a different control wearing the same words.
12
+ *
13
+ * ModeSegment Chat | Agent | Machine — the envelope (D11); Machine is enabled by a host MEASUREMENT
14
+ * Ctx* the context strip's vocabulary: segments, dividers, the meter, the diff, a split button
15
+ * PermChip Ask first ⇄ Approve for me ⇄ Full access — the chip is its own chooser
16
+ * LaneGroup lane | (harness) | model | effort — one visual object, the lane its own chooser
17
+ * SendSquare send ⇄ stop in place, breathing on the transcript's 1.4 s clock
18
+ * XaMenu/XaRow the composer's 8 px popover and its rows
19
+ * EffortCells the effort control, the prototype's own (glide, the Ultra fusion, the lattice)
20
+ * Tip the dock's one tooltip: the sentence left, the shortcut right, no tail
21
+ */
22
+ import { type ReactNode, type RefObject } from 'react';
23
+ export { EffortCells, type EffortOption } from './EffortCells.js';
24
+ export { TypedMenu, tokenAt, type TypedItem, type TypedSection, type TypedToken } from './TypedMenu.js';
25
+ export { Tip, shortcutFor } from './Tip.js';
26
+ import type { GlyphName } from '../transcript/glyphs.js';
27
+ export type ComposerMode = 'chat' | 'agent' | 'machine';
28
+ export type LaneId = 'cloud' | 'local' | 'acp';
29
+ export declare const LANE_NAME: Record<LaneId, string>;
30
+ export declare const LANE_TIP: Record<LaneId, string>;
31
+ /**
32
+ * The dock's own line icons — the bench draws these by hand, on the 24 grid with SQUARE caps and
33
+ * MITER joins, a crisper hand than the element set's round joins, and at 12 px that difference
34
+ * is the whole look of the strip. Each is the bench's path, verbatim. A control whose icon the
35
+ * bench never drew (the Local and ACP lanes, the hosted sandbox) falls back to its XENO element,
36
+ * so the fallback is the design platform's glyph and not an invention.
37
+ */
38
+ type DockIconName = 'folder' | 'monitor' | 'git-branch' | 'message' | 'app-window' | 'lock' | 'cloud' | 'plus' | 'arrow-up' | 'chevron-down';
39
+ export declare function DockIcon({ name }: {
40
+ name: DockIconName;
41
+ }): import("react").JSX.Element;
42
+ /** A dock control's icon: the bench's hand-drawn one where it drew one, the XENO element otherwise. */
43
+ export declare function DockGlyph({ name, size }: {
44
+ name: GlyphName;
45
+ size: number;
46
+ }): import("react").JSX.Element;
47
+ /** The three postures the chip offers, and the profile each one is. */
48
+ export type PermPosture = 'standard' | 'trusted-workspace' | 'full-access';
49
+ export declare const PERM: Record<PermPosture, {
50
+ chip: string;
51
+ tip: string;
52
+ }>;
53
+ export declare const PERM_ORDER: PermPosture[];
54
+ /** The posture a profile shows as. Narrow profiles (read-only, plan) read as "Ask first": they ask, or refuse. */
55
+ export declare function postureOf(profile: string | undefined): PermPosture;
56
+ export declare function ModeSegment({ mode, onMode, disabled, choosing, machine }: {
57
+ mode: ComposerMode;
58
+ onMode: (mode: ComposerMode) => void;
59
+ disabled?: boolean;
60
+ choosing?: boolean;
61
+ /**
62
+ * What the host says about this computer. `undefined` while it is still being asked — the
63
+ * segment is disabled then too, but for a different reason, and saying so beats a control that
64
+ * looks permanently dead for the second it takes to answer.
65
+ */
66
+ machine?: {
67
+ available: boolean;
68
+ reason?: string;
69
+ };
70
+ }): import("react").JSX.Element;
71
+ export declare function CtxStrip({ children }: {
72
+ children: ReactNode;
73
+ }): import("react").JSX.Element;
74
+ export declare function CtxSeg({ glyph, name, dim, branch, title, children, onClick, disabled }: {
75
+ glyph?: GlyphName;
76
+ name?: boolean;
77
+ dim?: boolean;
78
+ branch?: boolean;
79
+ title?: string;
80
+ children: ReactNode;
81
+ onClick?: () => void;
82
+ disabled?: boolean;
83
+ }): import("react").JSX.Element;
84
+ export declare function CtxVr({ branch }: {
85
+ branch?: boolean;
86
+ }): import("react").JSX.Element;
87
+ export declare function CtxGrow(): import("react").JSX.Element;
88
+ export declare function CtxMeter({ used, cells, title }: {
89
+ used: number;
90
+ cells?: number;
91
+ title?: string;
92
+ }): import("react").JSX.Element;
93
+ export declare function CtxDiff({ added, removed }: {
94
+ added: number;
95
+ removed: number;
96
+ }): import("react").JSX.Element;
97
+ export declare function CtxAction({ children, onClick, disabled, title }: {
98
+ children: ReactNode;
99
+ onClick: () => void;
100
+ disabled?: boolean;
101
+ title?: string;
102
+ }): import("react").JSX.Element;
103
+ export declare function CtxSplit({ label, onClick, onMore, moreMenu, moreOpen, disabled, title }: {
104
+ label: string;
105
+ onClick: () => void;
106
+ /** The caret's menu. `moreMenu` is the `data-menu` id an `XaMenu` anchors to. */
107
+ onMore?: () => void;
108
+ moreMenu?: string;
109
+ moreOpen?: boolean;
110
+ disabled?: boolean;
111
+ title?: string;
112
+ }): import("react").JSX.Element;
113
+ /**
114
+ * Picking an alternative is not "close the menu and set the value" — the prototype folds it in
115
+ * three beats, and the middle one is the one that was missing here:
116
+ *
117
+ * 1. the alternatives you did NOT pick fade where they stand (120ms), and so does the control;
118
+ * 2. the chosen word SLIDES LEFT along the row into the control's place (220ms), while the icon
119
+ * HOLDS its absence — `xa-hold` is width 0, margin 0, opacity 0, so the word has the row to
120
+ * itself and lands where the name belongs;
121
+ * 3. only when the slide finishes does the icon blur back in (`xa-in`).
122
+ *
123
+ * 🔴 Without beat 2 the icon reappears immediately and the word teleports: the chosen policy
124
+ * arrives where it will live instead of travelling there, which is the difference between the
125
+ * control folding and the control being replaced. `composer.css` carried `.xa-hold` from the port
126
+ * and nothing ever set it — the CSS was right and unreachable, which is why this exists.
127
+ *
128
+ * Closing WITHOUT picking is deliberately different and already correct: there is nothing to
129
+ * travel, so the icon goes straight to `xa-in` (the prototype's own `permJust = 'in'` path).
130
+ */
131
+ export type FoldPhase = 'none' | 'hold' | 'in';
132
+ export declare function useFoldPick(open: boolean, options: {
133
+ word: string;
134
+ icon: string;
135
+ }): {
136
+ groupRef: RefObject<HTMLElement | null>;
137
+ phase: FoldPhase;
138
+ pick: (event: {
139
+ currentTarget: HTMLElement;
140
+ }, commit: () => void) => void;
141
+ };
142
+ /**
143
+ * A control that is only there in some modes leaves the way it arrived. The prototype keeps the
144
+ * element mounted and hidden so it can RISE in and SINK out; unmounting it makes it blink away,
145
+ * and `.xa-sink` in the stylesheet had nothing to set it.
146
+ */
147
+ export declare function usePresence(present: boolean): "hidden" | "shown" | "rise" | "sink";
148
+ export declare function PermChip({ value, open, onToggle, onPick, disabled, present }: {
149
+ value: PermPosture;
150
+ open: boolean;
151
+ onToggle: () => void;
152
+ onPick: (posture: PermPosture) => void;
153
+ disabled?: boolean;
154
+ /**
155
+ * The group RISES in with Agent and SINKS out with Chat — it only exists where there are files
156
+ * to approve access to. Kept MOUNTED and hidden rather than unmounted, because a control that is
157
+ * removed from the tree cannot animate its own departure.
158
+ */
159
+ present?: boolean;
160
+ }): import("react").JSX.Element | null;
161
+ export interface LaneGroupProps {
162
+ lane: LaneId;
163
+ laneOpen: boolean;
164
+ onLaneToggle: () => void;
165
+ onLanePick: (lane: LaneId) => void;
166
+ /** A lane that cannot take the turn — its name in the chooser gets the amber mark. */
167
+ laneDown?: Partial<Record<LaneId, string>>;
168
+ /** Why the CURRENT lane cannot run; collapses the group into one amber control. */
169
+ currentDown?: string;
170
+ /**
171
+ * What that collapsed control should SAY. Defaults to "<Lane> unavailable", which is the
172
+ * prototype's only down state — but a lane that is merely waiting to be signed into is not
173
+ * unavailable, and telling someone a service is down when they simply need to sign in sends
174
+ * them to look for an outage.
175
+ */
176
+ currentDownLabel?: string;
177
+ harness?: {
178
+ label: string;
179
+ open: boolean;
180
+ onClick: () => void;
181
+ disabled?: boolean;
182
+ title?: string;
183
+ };
184
+ model: {
185
+ label: string;
186
+ open: boolean;
187
+ onClick: () => void;
188
+ disabled?: boolean;
189
+ title?: string;
190
+ };
191
+ effort?: {
192
+ label: string;
193
+ open: boolean;
194
+ onClick: () => void;
195
+ disabled?: boolean;
196
+ title?: string;
197
+ };
198
+ disabled?: boolean;
199
+ /** The turn is running: the segments leave on their cadence; back when it ends. */
200
+ running: boolean;
201
+ children?: ReactNode;
202
+ }
203
+ export declare function LaneGroup(props: LaneGroupProps): import("react").JSX.Element;
204
+ /**
205
+ * A notice: the title, the sentence under it, what to do about it, and a way to dismiss it. The
206
+ * prototype's shape — two lines, never one — because the first says WHAT and the second says what
207
+ * follows from it, and a notice that only says what is a status light.
208
+ */
209
+ export declare function Notice({ glyph, title, sub, action, onAction, onDismiss, tone, center }: {
210
+ glyph?: GlyphName;
211
+ title: string;
212
+ sub?: string;
213
+ action?: string;
214
+ onAction?: () => void;
215
+ onDismiss?: () => void;
216
+ tone?: 'warn' | 'bad';
217
+ center?: boolean;
218
+ }): import("react").JSX.Element;
219
+ /**
220
+ * The attachment tiles: 44px squares, an image showing itself, anything else showing its extension,
221
+ * and past four a `+N` tile that opens the rest — the prototype's own collapse.
222
+ */
223
+ export declare function Tiles({ items, showAll, onShowAll, onRemove }: {
224
+ items: Array<{
225
+ id: string;
226
+ name: string;
227
+ dataUrl?: string;
228
+ kind?: string;
229
+ }>;
230
+ showAll: boolean;
231
+ onShowAll: () => void;
232
+ onRemove: (id: string) => void;
233
+ }): import("react").JSX.Element | null;
234
+ export declare function SendSquare({ state, onSend, onStop, stopping, sendTitle }: {
235
+ state: 'idle' | 'ready' | 'running';
236
+ onSend: () => void;
237
+ onStop: () => void;
238
+ stopping?: boolean;
239
+ sendTitle?: string;
240
+ }): import("react").JSX.Element;
241
+ /** `Working · 4s` beside the square while a turn runs; `Still working` from 3 s. The seconds live here, not on the transcript. */
242
+ export declare function TurnStatus({ since }: {
243
+ since: number | null;
244
+ }): import("react").JSX.Element | null;
245
+ /**
246
+ * The dock element every popover positions itself against — the prototype's `dock`. A menu is a
247
+ * child of the DOCK, not of its anchor: that is what lets it be clamped inside the composer column
248
+ * and sit above a control near the panel's edge without being clipped by the control's own box.
249
+ */
250
+ export declare const ComposerDock: import("react").Context<HTMLElement | null>;
251
+ export declare function XaMenu({ open, onClose, menu, width, header, children, className, clickAway }: {
252
+ open: boolean;
253
+ onClose: () => void;
254
+ /** The `data-menu` id of the control this opens from — the prototype's own anchor mechanism. */
255
+ menu: string;
256
+ width?: number;
257
+ header?: ReactNode;
258
+ children: ReactNode;
259
+ className?: string;
260
+ /** `false` when the owner already closes on an outside click (AgentView's one effect for its popovers). */
261
+ clickAway?: boolean;
262
+ }): import("react").ReactPortal | null;
263
+ export declare function XaRow({ label, sub, idx, na, tag, selected, amber, disabled, title, onClick, chev }: {
264
+ label: ReactNode;
265
+ sub?: ReactNode;
266
+ idx?: number;
267
+ na?: string;
268
+ tag?: string;
269
+ selected?: boolean;
270
+ amber?: boolean;
271
+ disabled?: boolean;
272
+ title?: string;
273
+ onClick: () => void;
274
+ chev?: boolean;
275
+ }): import("react").JSX.Element;
276
+ export declare function XaMenuSearch({ value, onChange, placeholder, inputRef }: {
277
+ value: string;
278
+ onChange: (value: string) => void;
279
+ placeholder?: string;
280
+ inputRef?: RefObject<HTMLInputElement | null>;
281
+ }): import("react").JSX.Element;
282
+ //# sourceMappingURL=Composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../../src/components/agent/composer/Composer.tsx"],"names":[],"mappings":"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"}