@aparte/core 0.16.9 → 0.16.10
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/components/scroll-rail/aparte-scroll-rail.d.ts +89 -9
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts +8 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/conversations/conversation-manager.d.ts +29 -0
- package/dist/conversations/conversation-manager.d.ts.map +1 -1
- package/dist/conversations/index.d.ts +1 -1
- package/dist/conversations/index.d.ts.map +1 -1
- package/dist/custom-elements.json +7507 -7128
- package/dist/{dialog-triggers-CApC7K1I.js → dialog-triggers-cYGTlfZf.js} +33 -5
- package/dist/dialog-triggers-cYGTlfZf.js.map +1 -0
- package/dist/index.css +56 -22
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +292 -49
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +1 -1
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +1 -1
- package/dist/index.node.js.map +1 -1
- package/package.json +2 -2
- package/dist/dialog-triggers-CApC7K1I.js.map +0 -1
|
@@ -24,9 +24,14 @@ export type AparteScrollRailEvery = 'user' | 'message';
|
|
|
24
24
|
* jump. Honoured by core alone, so it is live by default (ratified decision #8, tier a).
|
|
25
25
|
*
|
|
26
26
|
* Place it as a direct child of `<aparte-chat>` (or the wrapper's `[data-aparte-chat]`
|
|
27
|
-
* host): the stylesheet floats it on the transcript's end edge,
|
|
28
|
-
* hides it under a coarse pointer, where a 2px
|
|
29
|
-
* renders nothing — a rail with one mark says
|
|
27
|
+
* host): the stylesheet floats it on the transcript's end edge, centred on the transcript
|
|
28
|
+
* and clear of a classic scrollbar, and hides it under a coarse pointer, where a 2px
|
|
29
|
+
* tick is not a target. Under two ticks it renders nothing — a rail with one mark says
|
|
30
|
+
* nothing. It is a list, not a minimap: it takes the height of its ticks, up to a share
|
|
31
|
+
* of the transcript (`--aparte-scroll-rail-share`, 60%). When more turns exist than 24px
|
|
32
|
+
* targets fit in that, the pitch tightens to what fits, down to a 6px floor; past that
|
|
33
|
+
* the rail scrolls itself so the current tick is always in view, and the arrow keys walk
|
|
34
|
+
* every tick whatever the pitch.
|
|
30
35
|
*
|
|
31
36
|
* @element aparte-scroll-rail
|
|
32
37
|
*
|
|
@@ -39,8 +44,12 @@ export type AparteScrollRailEvery = 'user' | 'message';
|
|
|
39
44
|
* @cssprop [--aparte-scroll-rail-width=max(var(--aparte-scroll-rail-hit-size), calc(var(--aparte-scroll-rail-tick-size) * 1.6))] - The rail's column, the ticks end-aligned in it. Never under one tick's pressable zone: the rail clips, so a narrower column would cut the target back.
|
|
40
45
|
* @cssprop [--aparte-scroll-rail-tick-size=14px] - Length of a tick; the current one is 1.6× that.
|
|
41
46
|
* @cssprop [--aparte-scroll-rail-tick-thickness=2px] - Thickness of a tick.
|
|
42
|
-
* @cssprop [--aparte-scroll-rail-hit-size=24px] - The pressable zone around a tick (WCAG 2.5.8). The drawn line keeps its own size; this one sizes the pseudo-element and, through the gap below, the pitch — so raising it spaces the ticks out rather than overlapping them.
|
|
47
|
+
* @cssprop [--aparte-scroll-rail-hit-size=24px] - The pressable zone around a tick (WCAG 2.5.8). The drawn line keeps its own size; this one sizes the pseudo-element and, through the gap below, the pitch — so raising it spaces the ticks out rather than overlapping them. When the ticks would not fit, the rail sets it on itself to the pitch that does, never under 6px.
|
|
43
48
|
* @cssprop [--aparte-scroll-rail-gap=calc(var(--aparte-scroll-rail-hit-size) - var(--aparte-scroll-rail-tick-thickness))] - Space between ticks: the zone minus the line, so gap + thickness is exactly the pitch. Set it smaller and the zones overlap.
|
|
49
|
+
* @cssprop [--aparte-scroll-rail-share=.6] - The share of the transcript's height the rail may take. It is the height of its list up to this, centred on the transcript; past it the pitch tightens, then the rail scrolls.
|
|
50
|
+
* @cssprop [--aparte-scroll-rail-bar=0px] - Published BY the element: the width of the transcript's scrollbar when it is a classic one (0 for an overlay bar), which the stylesheet adds to the rail's end inset so the ticks never sit on the bar.
|
|
51
|
+
* @cssprop [--aparte-scroll-rail-block-start=0px] - Published BY the element: the distance from the host's top edge to the transcript's, so the rail centres on the transcript rather than on the composer too.
|
|
52
|
+
* @cssprop [--aparte-scroll-rail-block-end=0px] - Published BY the element: the distance from the transcript's bottom edge to the host's.
|
|
44
53
|
*
|
|
45
54
|
* @example
|
|
46
55
|
* <aparte-chat style="height: 18rem">
|
|
@@ -67,12 +76,30 @@ export declare class AparteScrollRail extends HTMLElement {
|
|
|
67
76
|
static get observedAttributes(): string[];
|
|
68
77
|
private _host;
|
|
69
78
|
private _mutations;
|
|
79
|
+
private _resizes;
|
|
70
80
|
private _intersections;
|
|
81
|
+
/** The bubbles the intersection observer watches — compared by identity, so a re-rendered bubble is re-observed. */
|
|
82
|
+
private _observedBubbles;
|
|
83
|
+
/** The scroll surface the observer is rooted on, and whose bottom edge is read. */
|
|
84
|
+
private _observedSurface;
|
|
71
85
|
private _rebuildQueued;
|
|
86
|
+
private _pickQueued;
|
|
72
87
|
private _currentId;
|
|
73
|
-
/** Visible ratio per message id, from the intersection observer. */
|
|
88
|
+
/** Visible ratio per message id in the reading band, from the intersection observer. */
|
|
74
89
|
private _visible;
|
|
90
|
+
/** The bubbles on screen at all, from the second observer; only the last one is read. */
|
|
91
|
+
private _onScreen;
|
|
92
|
+
private _onScreenObserver;
|
|
93
|
+
/** The mark a jump asked for, held until the transcript has stopped moving. */
|
|
94
|
+
private _held;
|
|
95
|
+
private _settleTimer;
|
|
96
|
+
private _settleSurface;
|
|
97
|
+
/** Re-alignments done for the jump in flight. */
|
|
98
|
+
private _alignPasses;
|
|
99
|
+
/** The custom properties written on this element, so each is written only when it changes. */
|
|
100
|
+
private _written;
|
|
75
101
|
private _onConfigChange;
|
|
102
|
+
private _onSurfaceScroll;
|
|
76
103
|
/** The id of the message the rail currently marks, or `null`. */
|
|
77
104
|
get currentMessageId(): string | null;
|
|
78
105
|
connectedCallback(): void;
|
|
@@ -91,23 +118,76 @@ export declare class AparteScrollRail extends HTMLElement {
|
|
|
91
118
|
/** The first words of a message, for the tick's name. An excerpt, never a summary. */
|
|
92
119
|
private _excerpt;
|
|
93
120
|
private _tickLabel;
|
|
121
|
+
private _list;
|
|
122
|
+
/**
|
|
123
|
+
* Reconcile the ticks with the bubbles, by message id. A tick that already exists is
|
|
124
|
+
* kept — the same node, so the focus on it, its hover and its tooltip survive a turn
|
|
125
|
+
* being appended or a reply streaming beside it — moved only when its order changed,
|
|
126
|
+
* and dropped when its bubble left.
|
|
127
|
+
*/
|
|
94
128
|
private _rebuild;
|
|
95
129
|
/**
|
|
96
|
-
* Which tick is current is read, not computed: the scroll surface is the root
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
130
|
+
* Which tick is current is read, not computed: the scroll surface is the root and an
|
|
131
|
+
* intersection observer reports which bubbles reach a reading band — the top 30% of
|
|
132
|
+
* the surface, from its very top so that the bubble a jump aligned there counts. The
|
|
133
|
+
* rule is a scrollspy's: the LAST question that has reached the band is the one the
|
|
134
|
+
* reader is under. "The largest visible share" was the rule before, and at the bottom
|
|
135
|
+
* of a thread of short turns, where three questions sit in the band, it named the
|
|
136
|
+
* first of them. Scroll arithmetic was the alternative, and every scroll-position
|
|
137
|
+
* rule in the viewport carries a regression note; the one read here is the bottom,
|
|
138
|
+
* because at the bottom the reader is under the latest question whatever the band
|
|
139
|
+
* holds, and the observer has nothing to report on the last few pixels.
|
|
100
140
|
*/
|
|
101
141
|
private _observe;
|
|
142
|
+
private _unobserve;
|
|
143
|
+
/** A scroll only matters at the bottom edge, where the observer is silent: one pick per frame. */
|
|
144
|
+
private _onRootScroll;
|
|
145
|
+
/** At the bottom edge of a surface that scrolls; a surface with nothing to scroll has no bottom to be at. */
|
|
146
|
+
private _atBottom;
|
|
102
147
|
private _pickCurrent;
|
|
103
148
|
private _setCurrent;
|
|
149
|
+
/** Past the floor the rail scrolls itself: the current tick is kept inside its window. */
|
|
150
|
+
private _reveal;
|
|
151
|
+
/** Write a custom property on this element only when its value changed; '' removes it. */
|
|
152
|
+
private _write;
|
|
153
|
+
/**
|
|
154
|
+
* The three measurements the stylesheet positions the rail by, and the pitch.
|
|
155
|
+
*
|
|
156
|
+
* The scrollbar: `offsetWidth − clientWidth` of the scroll surface is the width of a
|
|
157
|
+
* classic bar and 0 for an overlay one, so the rail sits clear of the bar exactly
|
|
158
|
+
* where there is one. The extent: the transcript's box within the host, so the rail
|
|
159
|
+
* spans the messages and not the composer under them. The pitch: the stylesheet's
|
|
160
|
+
* 24px targets whenever `count × 24` fits the rail; otherwise the pitch that does,
|
|
161
|
+
* never under `MIN_PITCH` — the rail sets `--aparte-scroll-rail-hit-size` on itself
|
|
162
|
+
* and the gap, the padding and the zone all follow it, as they do for a consumer's
|
|
163
|
+
* value. Past the floor the rail scrolls (`_reveal`), and the arrows still walk it.
|
|
164
|
+
*/
|
|
165
|
+
private _layout;
|
|
104
166
|
private _onClick;
|
|
105
167
|
/** The ticks are buttons; the arrows walk them, as in any toolbar. */
|
|
106
168
|
private _onKeydown;
|
|
107
169
|
/**
|
|
108
170
|
* Scroll the transcript to a message. Announced first, cancelable; then a
|
|
109
171
|
* `scrollIntoView` on the bubble, smooth unless the reader prefers reduced motion.
|
|
172
|
+
* The clicked tick is the mark until the transcript has stopped moving: while a
|
|
173
|
+
* smooth scroll crosses other questions the band would name each in turn, and it
|
|
174
|
+
* ended on the wrong one two times in three before this hold.
|
|
175
|
+
*
|
|
176
|
+
* Where the scroll lands is checked once it has settled, and corrected. The bubbles
|
|
177
|
+
* carry `content-visibility: auto`, so a bubble far from the reader has an estimated
|
|
178
|
+
* height until it is rendered: the scroll aims at an estimate, the bubbles above it
|
|
179
|
+
* take their real size on the way, and the message ends up above or below the top —
|
|
180
|
+
* measured from 36px to 1,213px off, in all three engines, the further the worse.
|
|
181
|
+
* A second `scrollIntoView` from a rendered neighbourhood lands; a few are allowed.
|
|
110
182
|
*/
|
|
111
183
|
jumpTo(messageId: string): void;
|
|
184
|
+
private _bubbleOf;
|
|
185
|
+
private _scrollTo;
|
|
186
|
+
/** Keep `id` as the mark until the scroll surface has been still for `SETTLE_MS`. */
|
|
187
|
+
private _hold;
|
|
188
|
+
private _bumpSettle;
|
|
189
|
+
/** The transcript is still: land on the message if the scroll did not, else release the hold. */
|
|
190
|
+
private _settle;
|
|
191
|
+
private _release;
|
|
112
192
|
}
|
|
113
193
|
//# sourceMappingURL=aparte-scroll-rail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aparte-scroll-rail.d.ts","sourceRoot":"","sources":["../../../src/components/scroll-rail/aparte-scroll-rail.ts"],"names":[],"mappings":"AAGA,yEAAyE;AACzE,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"aparte-scroll-rail.d.ts","sourceRoot":"","sources":["../../../src/components/scroll-rail/aparte-scroll-rail.ts"],"names":[],"mappings":"AAGA,yEAAyE;AACzE,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,CAAC;AAYvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC7C,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,cAAc,CAAqC;IAC3D,oHAAoH;IACpH,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,mFAAmF;IACnF,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAuB;IACzC,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAA6B;IAC7C,yFAAyF;IACzF,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,+EAA+E;IAC/E,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,cAAc,CAA4B;IAClD,iDAAiD;IACjD,OAAO,CAAC,YAAY,CAAK;IACzB,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAA6B;IAE7C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,gBAAgB,CAAkC;IAE1D,iEAAiE;IACjE,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEpC;IAED,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAO5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ5C,uFAAuF;IACvF,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,OAAO;IA8Bf,OAAO,CAAC,OAAO;IAUf,2FAA2F;IAC3F,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,SAAS;IAIjB,+FAA+F;IAC/F,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,QAAQ;IAUhB,sFAAsF;IACtF,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,KAAK;IAIb;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IA6DhB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ;IAkChB,OAAO,CAAC,UAAU;IAYlB,kGAAkG;IAClG,OAAO,CAAC,aAAa,CAOnB;IAEF,6GAA6G;IAC7G,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,WAAW;IAanB,0FAA0F;IAC1F,OAAO,CAAC,OAAO;IAWf,0FAA0F;IAC1F,OAAO,CAAC,MAAM;IAOd;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,OAAO;IA2Cf,OAAO,CAAC,QAAQ,CAMd;IAEF,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAWhB;IAEF;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAe/B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAKjB,qFAAqF;IACrF,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,WAAW;IAKnB,iGAAiG;IACjG,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,QAAQ;CAOnB"}
|
|
@@ -533,7 +533,14 @@ export declare class AparteChatViewport extends HTMLElement {
|
|
|
533
533
|
private readonly _onBranchNavigate;
|
|
534
534
|
private _setupEventListeners;
|
|
535
535
|
private _setupObservers;
|
|
536
|
-
/**
|
|
536
|
+
/**
|
|
537
|
+
* The overlay shell's element children that are the floating bottom stack: not this
|
|
538
|
+
* viewport, and not the scroll rail, which floats over the transcript by design —
|
|
539
|
+
* shell.css names it the same way (`:not(aparte-chat-viewport, aparte-scroll-rail)`).
|
|
540
|
+
* Counted, a rail centred on the transcript set the inset to the distance from its
|
|
541
|
+
* own top edge (398px on the vanilla example) and held it there while the composer
|
|
542
|
+
* grew under a draft.
|
|
543
|
+
*/
|
|
537
544
|
private _overlayStack;
|
|
538
545
|
/**
|
|
539
546
|
* Measure how much of this viewport the overlay stack covers, and publish it as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aparte-chat-viewport.d.ts","sourceRoot":"","sources":["../../../src/components/viewport/aparte-chat-viewport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"aparte-chat-viewport.d.ts","sourceRoot":"","sources":["../../../src/components/viewport/aparte-chat-viewport.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,22 @@ import type { AparteMessage } from '../types/index.js';
|
|
|
2
2
|
import type { AparteConversation, AparteStorageAdapter } from './types.js';
|
|
3
3
|
import type { ExportedMessageRepository } from '../runtime/message-repository.js';
|
|
4
4
|
type Listener = (conversations: AparteConversation[]) => void;
|
|
5
|
+
/**
|
|
6
|
+
* Titles a conversation from its first user message.
|
|
7
|
+
*
|
|
8
|
+
* Receives the message's text and the message itself, and returns the title —
|
|
9
|
+
* synchronously or not. An empty answer, or a throw, leaves
|
|
10
|
+
* the default title (the text as typed), so a titler that fails never loses the
|
|
11
|
+
* message from the sidebar. Registered with `AparteConversationManager.setTitleProvider`;
|
|
12
|
+
* `@aparte/plugin-titler` binds one to an aparte-titler model.
|
|
13
|
+
*/
|
|
14
|
+
export type AparteConversationTitleProvider = (text: string, message: AparteMessage) => string | Promise<string>;
|
|
5
15
|
export interface ConversationManagerOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Titles a new conversation from its first user message, instead of the default
|
|
18
|
+
* (the message's text). Same as calling `setTitleProvider` after construction.
|
|
19
|
+
*/
|
|
20
|
+
titleProvider?: AparteConversationTitleProvider;
|
|
6
21
|
/**
|
|
7
22
|
* Opt-in history retention. When set, `updateMessages()` trims a persisted
|
|
8
23
|
* conversation to at most `maxMessages` on the active path (dropping the
|
|
@@ -45,7 +60,16 @@ export declare class AparteConversationManager {
|
|
|
45
60
|
private _listeners;
|
|
46
61
|
private _initialized;
|
|
47
62
|
private _retention;
|
|
63
|
+
private _titleProvider;
|
|
48
64
|
constructor(adapter: AparteStorageAdapter, options?: ConversationManagerOptions);
|
|
65
|
+
/**
|
|
66
|
+
* Replace how a new conversation is titled from its first user message.
|
|
67
|
+
* `null` restores the default (the message's text). The provider is consulted
|
|
68
|
+
* once per conversation, on that first message; `updateTitle` is untouched.
|
|
69
|
+
*/
|
|
70
|
+
setTitleProvider(provider: AparteConversationTitleProvider | null): void;
|
|
71
|
+
/** The registered title provider, or `null` when the default applies. */
|
|
72
|
+
getTitleProvider(): AparteConversationTitleProvider | null;
|
|
49
73
|
/** Load all conversations from the adapter. Call once at app startup. */
|
|
50
74
|
init(): Promise<void>;
|
|
51
75
|
/**
|
|
@@ -101,6 +125,11 @@ export declare class AparteConversationManager {
|
|
|
101
125
|
private _find;
|
|
102
126
|
private _replace;
|
|
103
127
|
private _notify;
|
|
128
|
+
/**
|
|
129
|
+
* The title of a conversation, decided once, on its first user message: the
|
|
130
|
+
* provider's answer when one is registered and answers, else the default.
|
|
131
|
+
*/
|
|
132
|
+
private _title;
|
|
104
133
|
private _autoTitle;
|
|
105
134
|
}
|
|
106
135
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAIlF,KAAK,QAAQ,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,aAAa,EAAE,EACzB,IAAI,EAAE,yBAAyB,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,GACpB;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,yBAAyB,GAAG,SAAS,CAAA;CAAE,CAgC5E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,yBAAyB;IAClC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAwC;
|
|
1
|
+
{"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAIlF,KAAK,QAAQ,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEjH,MAAM,WAAW,0BAA0B;IACvC;;;OAGG;IACH,aAAa,CAAC,EAAE,+BAA+B,CAAC;IAChD;;;;;;OAMG;IACH,SAAS,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,aAAa,EAAE,EACzB,IAAI,EAAE,yBAAyB,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,GACpB;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,yBAAyB,GAAG,SAAS,CAAA;CAAE,CAgC5E;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,yBAAyB;IAClC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,cAAc,CAAgD;gBAE1D,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,0BAA0B;IAQ/E;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,+BAA+B,GAAG,IAAI,GAAG,IAAI;IAIxE,yEAAyE;IACzE,gBAAgB,IAAI,+BAA+B,GAAG,IAAI;IAM1D,yEAAyE;IACnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAID,IAAI,aAAa,IAAI,kBAAkB,EAAE,CAExC;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAE5B;IAED,IAAI,MAAM,IAAI,kBAAkB,GAAG,IAAI,CAGtC;IAED,yDAAyD;IACzD,IAAI,mBAAmB,IAAI,kBAAkB,EAAE,CAI9C;IAED,4CAA4C;IAC5C,IAAI,qBAAqB,IAAI,kBAAkB,EAAE,CAIhD;IAID,uEAAuE;IACjE,SAAS,CAAC,KAAK,SAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiBhE,2DAA2D;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMxB,2DAA2D;IAC3D,WAAW,IAAI,IAAI;IAKnB,wFAAwF;IAClF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnE;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhH,yCAAyC;IACnC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvC,4CAA4C;IACtC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxC,wCAAwC;IAClC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1C;;;;;OAKG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAapC,yDAAyD;IACnD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAatC;;;sEAGkE;IAC5D,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAOzC,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;IAcf;;;OAGG;YACW,MAAM;IAYpB,OAAO,CAAC,UAAU;CAMrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { AparteConversation, AparteConversationMeta, AparteStorageAdapter, AparteAttachmentRow, } from './types.js';
|
|
2
2
|
export { APARTE_CONVERSATION_SCHEMA_VERSION } from './types.js';
|
|
3
|
-
export { AparteConversationManager, applyRetention, type ConversationManagerOptions } from './conversation-manager.js';
|
|
3
|
+
export { AparteConversationManager, applyRetention, type ConversationManagerOptions, type AparteConversationTitleProvider, } from './conversation-manager.js';
|
|
4
4
|
export { AparteConversationController, type AparteChatBinding, type AparteConversationControllerOptions, } from './conversation-controller.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversations/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACH,yBAAyB,EACzB,cAAc,EACd,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,GACvC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,GAC3C,MAAM,8BAA8B,CAAC"}
|