@aparte/core 0.19.3 → 0.21.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/client/aparte-client.d.ts +66 -95
- package/dist/client/aparte-client.d.ts.map +1 -1
- package/dist/client/stream-adapter.d.ts +7 -13
- package/dist/client/stream-adapter.d.ts.map +1 -1
- package/dist/client/wire-history.d.ts +4 -5
- package/dist/client/wire-history.d.ts.map +1 -1
- package/dist/components/bubble/aparte-chat-bubble.d.ts +88 -57
- package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
- package/dist/components/chat/aparte-chat.d.ts +15 -13
- package/dist/components/chat/aparte-chat.d.ts.map +1 -1
- package/dist/components/chat/glide-gate.d.ts +13 -0
- package/dist/components/chat/glide-gate.d.ts.map +1 -0
- package/dist/components/composer/aparte-composer-action.d.ts +2 -2
- package/dist/components/composer/aparte-composer-add-attachment.d.ts +1 -1
- package/dist/components/composer/aparte-composer-input.d.ts +1 -5
- package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-send.d.ts +8 -10
- package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer.d.ts +48 -80
- package/dist/components/composer/aparte-composer.d.ts.map +1 -1
- package/dist/components/context/aparte-context.d.ts +9 -4
- package/dist/components/context/aparte-context.d.ts.map +1 -1
- package/dist/components/conversation-list/aparte-conversation-list.d.ts +23 -13
- package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
- package/dist/components/elicitation/aparte-elicitation.d.ts +15 -22
- package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts +10 -11
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -1
- package/dist/components/sidebar/aparte-sidebar.d.ts +16 -3
- package/dist/components/sidebar/aparte-sidebar.d.ts.map +1 -1
- package/dist/components/split/aparte-split.d.ts +12 -3
- package/dist/components/split/aparte-split.d.ts.map +1 -1
- package/dist/components/status/aparte-chat-status.d.ts.map +1 -1
- package/dist/components/suggestions/aparte-suggestions.d.ts +6 -9
- package/dist/components/suggestions/aparte-suggestions.d.ts.map +1 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts +70 -70
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/config/aparte-config.d.ts +88 -67
- package/dist/config/aparte-config.d.ts.map +1 -1
- package/dist/config/icon-provider.d.ts +19 -2
- package/dist/config/icon-provider.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/locale.d.ts +57 -89
- package/dist/config/locale.d.ts.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/conversations/conversation-controller.d.ts +18 -3
- package/dist/conversations/conversation-controller.d.ts.map +1 -1
- package/dist/conversations/conversation-manager.d.ts +3 -3
- package/dist/conversations/conversation-manager.d.ts.map +1 -1
- package/dist/custom-elements.json +7626 -6906
- package/dist/{dialog-triggers-ChnPFG9M.js → dialog-triggers-3Rk7PuZa.js} +444 -287
- package/dist/dialog-triggers-3Rk7PuZa.js.map +1 -0
- package/dist/elicitation/approval-panel.d.ts.map +1 -1
- package/dist/elicitation/index.d.ts +6 -1
- package/dist/elicitation/index.d.ts.map +1 -1
- package/dist/elicitation/panel.d.ts +11 -21
- package/dist/elicitation/panel.d.ts.map +1 -1
- package/dist/elicitation/types.d.ts +19 -27
- package/dist/elicitation/types.d.ts.map +1 -1
- package/dist/generated/element-attributes.d.ts +11 -5
- package/dist/generated/element-attributes.d.ts.map +1 -1
- package/dist/host/aparte-chat-host.d.ts +17 -32
- package/dist/host/aparte-chat-host.d.ts.map +1 -1
- package/dist/icons/extended.d.ts +1 -2
- package/dist/icons/extended.d.ts.map +1 -1
- package/dist/icons.d.ts +6 -8
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +12 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +682 -327
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +6 -3
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +2 -2
- package/dist/index.node.js.map +1 -1
- package/dist/interop/dialog-triggers.d.ts +2 -2
- package/dist/interop/element-props.d.ts +16 -27
- package/dist/interop/element-props.d.ts.map +1 -1
- package/dist/primitives/icon/aparte-icon.d.ts.map +1 -1
- package/dist/primitives/select/aparte-option.d.ts +3 -2
- package/dist/primitives/select/aparte-option.d.ts.map +1 -1
- package/dist/primitives/select/aparte-select.d.ts +24 -21
- package/dist/primitives/select/aparte-select.d.ts.map +1 -1
- package/dist/renderers/markdown-stream.d.ts.map +1 -1
- package/dist/renderers/segment-renderers.d.ts +11 -17
- package/dist/renderers/segment-renderers.d.ts.map +1 -1
- package/dist/renderers/segments/code.d.ts.map +1 -1
- package/dist/renderers/segments/error.d.ts.map +1 -1
- package/dist/renderers/segments/text.d.ts.map +1 -1
- package/dist/renderers/segments/tool-call.d.ts.map +1 -1
- package/dist/runtime/message-repository.d.ts +8 -15
- package/dist/runtime/message-repository.d.ts.map +1 -1
- package/dist/transport/backend-handler.d.ts +4 -6
- package/dist/transport/backend-handler.d.ts.map +1 -1
- package/dist/transport/backend-transport.d.ts +14 -0
- package/dist/transport/backend-transport.d.ts.map +1 -1
- package/dist/transport/types.d.ts +7 -10
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/types/chat.d.ts +10 -18
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/element-attributes.d.ts +6 -12
- package/dist/types/element-attributes.d.ts.map +1 -1
- package/dist/types/element-map.d.ts +6 -19
- package/dist/types/element-map.d.ts.map +1 -1
- package/dist/types/event-map.d.ts +11 -17
- package/dist/types/event-map.d.ts.map +1 -1
- package/dist/types/events.d.ts +5 -14
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model-provider.d.ts +7 -9
- package/dist/types/model-provider.d.ts.map +1 -1
- package/dist/types/segments.d.ts +21 -13
- package/dist/types/segments.d.ts.map +1 -1
- package/dist/types/tools.d.ts +20 -22
- package/dist/types/tools.d.ts.map +1 -1
- package/dist/utils/copy-text.d.ts +1 -2
- package/dist/utils/copy-text.d.ts.map +1 -1
- package/dist/utils/css-escape.d.ts +1 -1
- package/dist/utils/escape.d.ts +4 -19
- package/dist/utils/escape.d.ts.map +1 -1
- package/dist/utils/files-to-attachments.d.ts +2 -2
- package/dist/utils/fold-text.d.ts +13 -0
- package/dist/utils/fold-text.d.ts.map +1 -0
- package/dist/utils/is-awaiting-reply.d.ts +2 -5
- package/dist/utils/is-awaiting-reply.d.ts.map +1 -1
- package/dist/utils/presence.d.ts +5 -5
- package/dist/utils/segments.d.ts +54 -78
- package/dist/utils/segments.d.ts.map +1 -1
- package/dist/utils/tool-input.d.ts +1 -1
- package/dist/utils/tool-input.d.ts.map +1 -1
- package/dist/utils/transcript.d.ts +2 -2
- package/dist/utils/uuid.d.ts +0 -11
- package/dist/utils/uuid.d.ts.map +1 -1
- package/package.json +29 -3
- package/dist/dialog-triggers-ChnPFG9M.js.map +0 -1
|
@@ -177,7 +177,7 @@ export declare class AparteSplit extends HTMLElement {
|
|
|
177
177
|
* alone would measure a one-track grid and commit `position="100"`.
|
|
178
178
|
*/
|
|
179
179
|
get stacked(): boolean;
|
|
180
|
-
/** One pane on demand, whatever the width
|
|
180
|
+
/** One pane on demand, whatever the width. Reflected. */
|
|
181
181
|
get single(): boolean;
|
|
182
182
|
set single(value: boolean);
|
|
183
183
|
/** Fold the primary pane to its minimum, remembering the size it had. */
|
|
@@ -227,8 +227,8 @@ export declare class AparteSplit extends HTMLElement {
|
|
|
227
227
|
*
|
|
228
228
|
* While STACKED there is nothing to read: one pane is `display: none` and the other
|
|
229
229
|
* spans the single track, so the ratio is 0 or 100 whatever the seam was set to.
|
|
230
|
-
* Measuring it there
|
|
231
|
-
*
|
|
230
|
+
* Measuring it there would write `position="0"` into the attribute, the event and the
|
|
231
|
+
* host's storage when "Preview" is tapped on a phone.
|
|
232
232
|
*/
|
|
233
233
|
private _achievedPercent;
|
|
234
234
|
/**
|
|
@@ -352,6 +352,15 @@ export declare class AparteSplit extends HTMLElement {
|
|
|
352
352
|
* first on the page. Same shape as `[data-aparte-sidebar-toggle]`.
|
|
353
353
|
*/
|
|
354
354
|
private _onDocumentClick;
|
|
355
|
+
/**
|
|
356
|
+
* The two-button switch says which pane it shows: `aria-pressed` on every
|
|
357
|
+
* `[data-aparte-split-pane="start"|"end"]` that reaches this split, true on the one
|
|
358
|
+
* naming the pane in view, while the split is stacked; side by side both panes are in
|
|
359
|
+
* view and neither button is pressed, so none carries it. A toggle (an id, or empty) is
|
|
360
|
+
* an action and gets none. Read when the split connects, whenever `pane` changes and
|
|
361
|
+
* when it stacks or unstacks, so a control added later is stamped at the next switch.
|
|
362
|
+
*/
|
|
363
|
+
private _syncPaneControls;
|
|
355
364
|
private _onConfigChange;
|
|
356
365
|
/**
|
|
357
366
|
* The seam's accessible name. A host that wrote its own `aria-label` — or an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aparte-split.d.ts","sourceRoot":"","sources":["../../../src/components/split/aparte-split.ts"],"names":[],"mappings":"AAKA,uFAAuF;AACvF,MAAM,WAAW,uBAAuB;IACpC,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,qEAAqE;IACrE,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,sEAAsE;IACtE,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;CAC1C;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFG;AACH,qBAAa,WAAY,SAAQ,WAAW;IACxC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAA+B;IAChD,8EAA8E;IAC9E,OAAO,CAAC,aAAa,CAAuB;IAC5C,qFAAqF;IACrF,OAAO,CAAC,WAAW,CAAK;IAExB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAK;IAE9B,qEAAqE;IACrE,OAAO,CAAC,SAAS,CAAoB;IACrC,sEAAsE;IACtE,OAAO,CAAC,gBAAgB,CAAoB;IAC5C;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAS;IACjC,mFAAmF;IACnF,OAAO,CAAC,oBAAoB,CAAuB;IAEnD,qFAAqF;IACrF,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,SAAS,CAAgC;IAEjD,sFAAsF;IACtF,OAAO,CAAC,OAAO,CAA4C;IAE3D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,iFAAiF;IACjF,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,qEAAqE;IACrE,OAAO,CAAC,OAAO,CAAS;IAIxB,qFAAqF;IACrF,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAMzB;IAED,iFAAiF;IACjF,IAAI,WAAW,IAAI,YAAY,GAAG,UAAU,CAE3C;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,EAE/C;IAED,mCAAmC;IACnC,IAAI,OAAO,IAAI,OAAO,GAAG,KAAK,CAE7B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,EAEjC;IAED,iDAAiD;IACjD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAE3B;IAED,sDAAsD;IACtD,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,CAE1B;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,EAE9B;IAED,2DAA2D;IAC3D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED;;;;;;;;;OASG;IACH,IAAI,OAAO,IAAI,OAAO,CAOrB;IAED
|
|
1
|
+
{"version":3,"file":"aparte-split.d.ts","sourceRoot":"","sources":["../../../src/components/split/aparte-split.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aparte-chat-status.d.ts","sourceRoot":"","sources":["../../../src/components/status/aparte-chat-status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED;;;;;;OAMG;IACH,OAAO,KAAK,IAAI,GAEf;IAED,4FAA4F;IAC5F,OAAO,CAAC,KAAK;;IAQb,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAI5B,OAAO,CAAC,eAAe,CASrB;IAEF,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAa9F;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,OAAO;IAgDf;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"aparte-chat-status.d.ts","sourceRoot":"","sources":["../../../src/components/status/aparte-chat-status.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED;;;;;;OAMG;IACH,OAAO,KAAK,IAAI,GAEf;IAED,4FAA4F;IAC5F,OAAO,CAAC,KAAK;;IAQb,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAI5B,OAAO,CAAC,eAAe,CASrB;IAEF,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAa9F;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,OAAO;IAgDf;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU;IAUlB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,WAAW;CAmBpB"}
|
|
@@ -16,19 +16,17 @@ export interface AparteSuggestionEventDetail {
|
|
|
16
16
|
/**
|
|
17
17
|
* Prompt starters — a row of suggested prompts a reader clicks instead of typing.
|
|
18
18
|
*
|
|
19
|
-
* Every chat product opens on three or four of these
|
|
20
|
-
*
|
|
21
|
-
* own. This element is that pattern done once, wearing the button recipe.
|
|
19
|
+
* Every chat product opens on three or four of these. This element is that pattern
|
|
20
|
+
* done once, wearing the button recipe.
|
|
22
21
|
*
|
|
23
22
|
* A click goes THROUGH the composer — `setValue()` then `submit()` — never a synthetic
|
|
24
23
|
* `aparte-send`. The composer's `submit()` is where every gate lives (disabled, already
|
|
25
|
-
* streaming, `requireModelSelection`), and a chip that bypassed them
|
|
24
|
+
* streaming, `requireModelSelection`), and a chip that bypassed them could send a
|
|
26
25
|
* request with an empty model id while the composer was visibly greyed out. So the
|
|
27
26
|
* element needs a composer: the nearest `<aparte-composer>` ancestor, else the one
|
|
28
27
|
* serving the chat named by `target`, else the first one in the document.
|
|
29
28
|
*
|
|
30
|
-
*
|
|
31
|
-
* default. `aparte-suggestion` fires first and is cancelable — `preventDefault()`
|
|
29
|
+
* Core honours the click alone, so it is live by default. `aparte-suggestion` fires first and is cancelable — `preventDefault()`
|
|
32
30
|
* leaves the composer untouched, for an app that wants the prompt for itself.
|
|
33
31
|
*
|
|
34
32
|
* It declares no custom property of its own: the gap comes from the global
|
|
@@ -94,9 +92,8 @@ export declare class AparteSuggestions extends HTMLElement {
|
|
|
94
92
|
*
|
|
95
93
|
* Both, because both arrive: React 19 and Svelte assign the PROPERTY whenever the
|
|
96
94
|
* element has one of that name, so `<aparte-suggestions suggestions='[…]'>` — the
|
|
97
|
-
* documented spelling, typed valid by both wrappers —
|
|
98
|
-
* string
|
|
99
|
-
* (and so `attributeChangedCallback`) was never written.
|
|
95
|
+
* documented spelling, typed valid by both wrappers — reaches this setter as a
|
|
96
|
+
* string while the attribute (and so `attributeChangedCallback`) is never written.
|
|
100
97
|
*/
|
|
101
98
|
set suggestions(value: AparteSuggestion[] | string);
|
|
102
99
|
connectedCallback(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aparte-suggestions.d.ts","sourceRoot":"","sources":["../../../src/components/suggestions/aparte-suggestions.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,2EAA2E;AAC3E,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAwBD
|
|
1
|
+
{"version":3,"file":"aparte-suggestions.d.ts","sourceRoot":"","sources":["../../../src/components/suggestions/aparte-suggestions.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E,2EAA2E;AAC3E,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAC9C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,SAAS,CAA+B;IAEhD,+EAA+E;IAC/E,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,kEAAkE;IAClE,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAQ;IACzB,6EAA6E;IAC7E,OAAO,CAAC,OAAO,CAAS;IAWxB,OAAO,CAAC,OAAO,CAMb;IAEF,OAAO,CAAC,eAAe,CAKrB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,yFAAyF;IACzF,IAAI,WAAW,IAAI,gBAAgB,EAAE,CAEpC;IAED;;;;;;;OAOG;IACH,IAAI,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAKjD;IAED,iBAAiB,IAAI,IAAI;IAOzB,oBAAoB,IAAI,IAAI;IAS5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgB5C,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,OAAO,CAAuB;IAEtC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAO1B,6FAA6F;IAC7F,OAAO,CAAC,gBAAgB;IAkBxB,+FAA+F;IAC/F,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,OAAO;IAyBf,OAAO,CAAC,SAAS;CAwBpB"}
|
|
@@ -80,6 +80,8 @@ import type { ExportedMessageRepository } from '../../runtime/message-repository
|
|
|
80
80
|
* the chat host: how far from the host's inline edge its rows start (padding plus the
|
|
81
81
|
* scrollbar gutter, at the current container step). The composer pads by it, so the two
|
|
82
82
|
* boxes share one edge at every width. Read-only from the outside.
|
|
83
|
+
* @cssprop [--aparte-top-inset=0px] - How much of the transcript's top is covered by a header floating over it.
|
|
84
|
+
* Set it on the chat, by hand: the first message starts below it, and a jump to a message lands below it.
|
|
83
85
|
* @cssprop [--aparte-bottom-inset=0px] - How much of the transcript's bottom is covered
|
|
84
86
|
* by content floating over it. Written by the viewport itself under
|
|
85
87
|
* `[overlay-composer]` (never set it there — it would be overwritten); a host that
|
|
@@ -151,17 +153,14 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
151
153
|
* Not `readonly`: a test shortens it to run past the window's end in a few frames. */
|
|
152
154
|
private _settleWindowMs;
|
|
153
155
|
/**
|
|
154
|
-
* Until when a smooth scroll of ours is in flight
|
|
155
|
-
* bottom with `scrollTo({ behavior: 'smooth' })
|
|
156
|
-
* first tokens
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* (a second smooth `scrollTo` is continuous) instead of writing `scrollTop`; the
|
|
163
|
-
* browser's `scrollend` closes it early where supported. Streaming is instant again
|
|
164
|
-
* after that, as it must be to keep up with token bursts.
|
|
156
|
+
* Until when a smooth scroll of ours is in flight. A user send glides to the
|
|
157
|
+
* bottom with `scrollTo({ behavior: 'smooth' })`, and the assistant placeholder and
|
|
158
|
+
* first tokens land inside that glide. An instant `scrollTop = scrollHeight` write
|
|
159
|
+
* cancels a running smooth scroll in every engine, so while this deadline is ahead
|
|
160
|
+
* every bottom-pin RE-TARGETS the glide (a second smooth `scrollTo` is continuous)
|
|
161
|
+
* instead of writing `scrollTop`; the browser's `scrollend` closes it early where
|
|
162
|
+
* supported. Streaming is instant after that, as it must be to keep up with token
|
|
163
|
+
* bursts.
|
|
165
164
|
*/
|
|
166
165
|
private _glideUntil;
|
|
167
166
|
/** The glide's budget when `scrollend` is not there to close it: Chromium's smooth scroll over a viewport takes ~300–500 ms. */
|
|
@@ -185,11 +184,22 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
185
184
|
private _maxRenderedBubbles;
|
|
186
185
|
private _resizeObserver;
|
|
187
186
|
private _mutationObserver;
|
|
187
|
+
/**
|
|
188
|
+
* Watches the size of the bubbles the bottom spacer measures — the last question and
|
|
189
|
+
* everything after it. A bubble that has never been on screen measures its
|
|
190
|
+
* `content-visibility` fallback (320px) until it is shown, and taking its real height
|
|
191
|
+
* is neither a mutation nor a resize of the scroll container: without this, a spacer
|
|
192
|
+
* sized from two fallbacks stayed wrong once they came into view.
|
|
193
|
+
*/
|
|
194
|
+
private _tailObserver;
|
|
195
|
+
private _tail;
|
|
196
|
+
/** Each tail bubble's border-box height, as measured when it started being watched and as last reported. */
|
|
197
|
+
private _tailHeights;
|
|
188
198
|
/**
|
|
189
199
|
* Opening or closing a `<details>` — a tool row, a reasoning block, an artifact card, a host's
|
|
190
200
|
* own — changes the transcript's height through an ATTRIBUTE, which neither observer sees: the
|
|
191
201
|
* mutation observer watches children, and the resize observer leaves the wrapper out on
|
|
192
|
-
* purpose. `toggle` does not bubble, so it is caught on the way down
|
|
202
|
+
* purpose. `toggle` does not bubble, so it is caught on the way down.
|
|
193
203
|
*/
|
|
194
204
|
private _onDisclosureToggle;
|
|
195
205
|
/** The `[overlay-composer]` shell this viewport floats in, if any. Read at observer setup, like `framework-managed`. */
|
|
@@ -224,8 +234,8 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
224
234
|
constructor();
|
|
225
235
|
connectedCallback(): void;
|
|
226
236
|
/**
|
|
227
|
-
* A locale switch changes the reading direction, and `dir`
|
|
228
|
-
*
|
|
237
|
+
* A locale switch changes the reading direction, and `dir` follows it, so a chat
|
|
238
|
+
* already on screen flips to RTL without a reload.
|
|
229
239
|
* Only OUR config: an instance-scoped change elsewhere must not touch us.
|
|
230
240
|
*/
|
|
231
241
|
private _onConfigChange;
|
|
@@ -235,15 +245,14 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
235
245
|
* A scrollable region that no element can hold focus in cannot be scrolled from
|
|
236
246
|
* the keyboard in WebKit: Chromium and Firefox hand an unfocusable overflow box a
|
|
237
247
|
* caret or a "scroller" tab stop of their own, Safari does not. So a plain-text
|
|
238
|
-
* transcript — no links, no code blocks, nothing focusable inside —
|
|
239
|
-
* past the first screen for a Safari keyboard user, with no error and
|
|
240
|
-
* screen to say so.
|
|
248
|
+
* transcript — no links, no code blocks, nothing focusable inside — would be
|
|
249
|
+
* unreadable past the first screen for a Safari keyboard user, with no error and
|
|
250
|
+
* nothing on screen to say so.
|
|
241
251
|
*
|
|
242
|
-
* `tabindex="0"` on the surface itself, in BOTH DOM modes.
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
* to sit there is not an affordance, it is a coincidence.
|
|
252
|
+
* `tabindex="0"` on the surface itself, in BOTH DOM modes. In framework mode the
|
|
253
|
+
* scroll button is inside the host and stays tabbable while it is visually hidden,
|
|
254
|
+
* but a tab stop that exists because a hidden button happens to sit there is a
|
|
255
|
+
* coincidence, not an affordance.
|
|
247
256
|
*
|
|
248
257
|
* The name ships WITH the tab stop rather than after it: a focusable `role="log"`
|
|
249
258
|
* with no accessible name is announced as an unnamed region, which is a worse
|
|
@@ -287,10 +296,10 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
287
296
|
* The id of the message currently streaming, if any — searched across the whole
|
|
288
297
|
* TREE, and answering with an OFF-HEAD one first when there are two.
|
|
289
298
|
*
|
|
290
|
-
*
|
|
299
|
+
* Not a scan of `getMessages()`, the active path: a retry or an edit on an
|
|
291
300
|
* earlier bubble calls `addSiblingOf`, which switches the branch to the new pending
|
|
292
|
-
* reply
|
|
293
|
-
* the rest of that turn
|
|
301
|
+
* reply, so the turn still being written leaves the path and a path scan would find
|
|
302
|
+
* nothing, appending the rest of that turn to the message that just replaced it.
|
|
294
303
|
*
|
|
295
304
|
* A new pending reply is itself marked streaming, so "the first one found" would
|
|
296
305
|
* answer the head and let the write through — the very case this exists to refuse.
|
|
@@ -304,10 +313,10 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
304
313
|
/**
|
|
305
314
|
* While a reply streams, the transcript is read-only except for Stop.
|
|
306
315
|
*
|
|
307
|
-
* The streaming message's own footer
|
|
308
|
-
*
|
|
309
|
-
* re-
|
|
310
|
-
* reply off to start another
|
|
316
|
+
* The streaming message's own footer is hidden, and the branch picker and the
|
|
317
|
+
* retry/edit buttons of every OTHER message are disabled: swapping a branch mid-stream would
|
|
318
|
+
* re-render the active path under the reply being written, and a retry would cut
|
|
319
|
+
* that reply off to start another. The state that
|
|
311
320
|
* decides it is the whole transcript's, so it lives on the viewport (`data-busy`)
|
|
312
321
|
* and is pushed to the bubbles it holds; a bubble mounted later, under a
|
|
313
322
|
* framework's DOM, reads the attribute itself when it connects.
|
|
@@ -327,8 +336,7 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
327
336
|
* (head) message" convention (also what a wrapper host installs);
|
|
328
337
|
* - `addSegment(messageId, segment)` — explicit standalone form.
|
|
329
338
|
* The first argument's type disambiguates (string = messageId, object =
|
|
330
|
-
* segment), so a raw viewport driven by `AparteClient
|
|
331
|
-
* (the args used to bind one position short, creating a phantom message).
|
|
339
|
+
* segment), so a raw viewport can be driven by `AparteClient`.
|
|
332
340
|
*/
|
|
333
341
|
addSegment(segment: AparteSegment): void;
|
|
334
342
|
addSegment(messageId: string, segment: AparteSegment): void;
|
|
@@ -515,7 +523,9 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
515
523
|
*/
|
|
516
524
|
resetSpacer(): void;
|
|
517
525
|
/**
|
|
518
|
-
* Enable or disable auto-scroll
|
|
526
|
+
* Enable or disable auto-scroll. Turned off, it stays off through the scroll that comes
|
|
527
|
+
* next — a jump of the page's own, smooth or not — and comes back once the reader is at
|
|
528
|
+
* the bottom again.
|
|
519
529
|
*/
|
|
520
530
|
setAutoScroll(enabled: boolean): void;
|
|
521
531
|
/**
|
|
@@ -620,10 +630,9 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
620
630
|
* the transcript's padding plus the scrollbar gutter the scroller reserves on both
|
|
621
631
|
* edges, at whatever step its container query has taken — as
|
|
622
632
|
* `--aparte-transcript-inset`. The composer pads by it (composer.css), so its box
|
|
623
|
-
* lands on the row's box at every width. The
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
* showed three left edges 12px apart. Written only when the value changes, for the
|
|
633
|
+
* lands on the row's box at every width. The composer cannot know the gutter
|
|
634
|
+
* and a container query cannot reach it, so this is the one place both boxes read
|
|
635
|
+
* it from. Written only when the value changes, for the
|
|
627
636
|
* same reason `_updateOverlayInset` is. On the HOST, not on this element: the
|
|
628
637
|
* composer is a sibling, and a custom property only travels down.
|
|
629
638
|
*/
|
|
@@ -639,45 +648,34 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
639
648
|
* The browser says a scroll came to rest — the glide is over ONLY if it rested at the
|
|
640
649
|
* bottom. WebKit fires `scrollend` when a smooth scroll is REPLACED by another (our own
|
|
641
650
|
* re-target), 45–60 ms into the glide and hundreds of pixels short; taken at its word,
|
|
642
|
-
* that
|
|
643
|
-
*
|
|
644
|
-
* bounding the window.
|
|
651
|
+
* that would close the window and the next pin would be the cut this guard exists
|
|
652
|
+
* to prevent. Short of the bottom, the budget keeps bounding the window.
|
|
645
653
|
*/
|
|
646
654
|
private _handleScrollEnd;
|
|
647
655
|
/**
|
|
648
656
|
* Confirm over the next few frames that we actually reached the bottom.
|
|
649
657
|
*
|
|
650
|
-
* One assignment is not enough
|
|
651
|
-
*
|
|
652
|
-
*
|
|
653
|
-
*
|
|
654
|
-
*
|
|
655
|
-
*
|
|
656
|
-
*
|
|
657
|
-
* is the right rule for keeping auto-follow armed and the wrong one as a
|
|
658
|
-
* definition of "anchored".
|
|
659
|
-
*
|
|
660
|
-
* Ruled out on the way here, so nobody pays for it twice: not a WebKit
|
|
661
|
-
* padding-accounting difference (a probe writing `scrollTop = 1e7` reached
|
|
662
|
-
* exactly `scrollHeight - clientHeight`), not a missing `characterData`
|
|
663
|
-
* mutation, and not a child resize a ResizeObserver could see.
|
|
658
|
+
* One assignment is not enough. Content can settle in several layout passes
|
|
659
|
+
* (1118 → 1121 → 1152 px on Safari in framework mode), and `scrollTop =
|
|
660
|
+
* scrollHeight` run against a middle pass clamps to that layout's max and leaves
|
|
661
|
+
* the rest unclosed. Auto-follow stays armed the whole time, so the component is
|
|
662
|
+
* not disarmed — it is SATISFIED: `_isAtBottom()` answers "yes" for any gap under
|
|
663
|
+
* `_scrollThreshold` (50), which is the right rule for keeping auto-follow armed
|
|
664
|
+
* and the wrong one as a definition of "anchored".
|
|
664
665
|
*
|
|
665
666
|
* A BOUNDED retry, not one corrective frame: a single frame lands on the same
|
|
666
|
-
* stale layout and
|
|
667
|
-
*
|
|
668
|
-
*
|
|
667
|
+
* stale layout and can leave a wider gap than doing nothing. Bounded so it always
|
|
668
|
+
* terminates; re-reads `_isAutoScrollEnabled` every frame so a reader who scrolls
|
|
669
|
+
* away mid-settle is left alone.
|
|
669
670
|
*
|
|
670
|
-
* Bounded by TIME, and it does not stop at the first closed gap
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
674
|
-
*
|
|
675
|
-
*
|
|
676
|
-
*
|
|
677
|
-
*
|
|
678
|
-
* that fails exactly on the slow engine, so the budget is real milliseconds now,
|
|
679
|
-
* and a closed gap only ends the chain when the window is over. One chain, not
|
|
680
|
-
* one per call: during a stream every token used to start its own.
|
|
671
|
+
* Bounded by TIME, and it does not stop at the first closed gap. A branch swap at
|
|
672
|
+
* the bottom of a long transcript churns the scrollable max (891 -> 1091 -> 891):
|
|
673
|
+
* the gap is closed for a frame against the tall layout, the height falls back with
|
|
674
|
+
* WebKit holding `scrollTop`, and the transcript would stand short with auto-follow
|
|
675
|
+
* still armed. A frame count is a proxy for time that fails exactly on the slow
|
|
676
|
+
* engine, so the budget is real milliseconds, and a closed gap only ends the chain
|
|
677
|
+
* when the window is over. One chain, not one per call: during a stream every token
|
|
678
|
+
* would otherwise start its own.
|
|
681
679
|
*/
|
|
682
680
|
private _settleAtBottom;
|
|
683
681
|
private _smoothScrollToBottom;
|
|
@@ -688,10 +686,10 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
688
686
|
*
|
|
689
687
|
* The two answer different questions: the flag is intent ("should new content
|
|
690
688
|
* pull the view down"), the button is a fact ("is there anything below the
|
|
691
|
-
* fold"). Mirroring the flag
|
|
689
|
+
* fold"). Mirroring the flag would make the button lie whenever the two diverge —
|
|
692
690
|
* `navigateBranch` deliberately disarms auto-follow, so swapping a branch while
|
|
693
|
-
* already at the bottom of a scrollable transcript
|
|
694
|
-
* scroll nowhere
|
|
691
|
+
* already at the bottom of a scrollable transcript would leave the button offering
|
|
692
|
+
* to scroll nowhere. Re-derived on scroll, on the
|
|
695
693
|
* post-mutation frame and after a path swap, so it converges to the truth
|
|
696
694
|
* whatever a framework's render timing does in between.
|
|
697
695
|
*/
|
|
@@ -706,6 +704,8 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
706
704
|
* reaching 0 when the combined height fills the viewport.
|
|
707
705
|
*/
|
|
708
706
|
private _recalculateSpacer;
|
|
707
|
+
/** Point `_tailObserver` at the last question and the bubbles after it, and only those. */
|
|
708
|
+
private _observeTail;
|
|
709
709
|
/**
|
|
710
710
|
* Schedule a spacer recalculation on the next animation frame.
|
|
711
711
|
* Batches multiple rapid calls (e.g. during token streaming) into one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aparte-chat-viewport.d.ts","sourceRoot":"","sources":["../../../src/components/viewport/aparte-chat-viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EACb,oBAAoB,EACpB,aAAa,EAIb,WAAW,EACd,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"aparte-chat-viewport.d.ts","sourceRoot":"","sources":["../../../src/components/viewport/aparte-chat-viewport.ts"],"names":[],"mappings":"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"}
|