@aparte/core 0.15.1 → 0.16.1
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 +53 -51
- package/dist/client/aparte-client.d.ts.map +1 -1
- package/dist/client/lifecycle-events.d.ts +0 -12
- package/dist/client/lifecycle-events.d.ts.map +1 -1
- package/dist/client/stream-adapter.d.ts +2 -12
- package/dist/client/stream-adapter.d.ts.map +1 -1
- package/dist/components/bubble/aparte-chat-bubble.d.ts +45 -1
- package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
- package/dist/components/chat/aparte-chat.d.ts +1 -1
- package/dist/components/composer/aparte-composer-action.d.ts +1 -1
- package/dist/components/composer/aparte-composer-add-attachment.d.ts +1 -1
- package/dist/components/composer/aparte-composer-attachments.d.ts +1 -2
- package/dist/components/composer/aparte-composer-attachments.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-cancel.d.ts +1 -1
- package/dist/components/composer/aparte-composer-input.d.ts +1 -1
- package/dist/components/composer/aparte-composer-send.d.ts +12 -12
- package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer.d.ts +29 -12
- package/dist/components/composer/aparte-composer.d.ts.map +1 -1
- package/dist/components/context/aparte-context.d.ts +31 -8
- package/dist/components/context/aparte-context.d.ts.map +1 -1
- package/dist/components/conversation-list/aparte-conversation-list.d.ts +93 -36
- package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
- package/dist/components/conversation-list/index.d.ts +1 -1
- package/dist/components/conversation-list/index.d.ts.map +1 -1
- package/dist/components/elicitation/aparte-elicitation.d.ts +20 -2
- package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
- package/dist/components/index.d.ts +7 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts +105 -0
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -0
- package/dist/components/scroll-rail/index.d.ts +3 -0
- package/dist/components/scroll-rail/index.d.ts.map +1 -0
- package/dist/components/sidebar/aparte-sidebar.d.ts +186 -0
- package/dist/components/sidebar/aparte-sidebar.d.ts.map +1 -0
- package/dist/components/sidebar/index.d.ts +3 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/split/aparte-split.d.ts +354 -0
- package/dist/components/split/aparte-split.d.ts.map +1 -0
- package/dist/components/split/geometry.d.ts +65 -0
- package/dist/components/split/geometry.d.ts.map +1 -0
- package/dist/components/split/index.d.ts +3 -0
- package/dist/components/split/index.d.ts.map +1 -0
- package/dist/components/suggestions/aparte-suggestions.d.ts +7 -1
- package/dist/components/suggestions/aparte-suggestions.d.ts.map +1 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts +52 -2
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/config/aparte-config.d.ts +95 -33
- package/dist/config/aparte-config.d.ts.map +1 -1
- package/dist/config/icon-provider.d.ts +6 -0
- package/dist/config/icon-provider.d.ts.map +1 -1
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/locale.d.ts +140 -27
- package/dist/config/locale.d.ts.map +1 -1
- package/dist/config/sanitize.d.ts +9 -0
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/conversations/conversation-controller.d.ts +13 -1
- package/dist/conversations/conversation-controller.d.ts.map +1 -1
- package/dist/conversations/conversation-manager.d.ts +9 -0
- package/dist/conversations/conversation-manager.d.ts.map +1 -1
- package/dist/custom-elements.json +10278 -7784
- package/dist/{is-awaiting-reply-BZ_iJ3s3.js → dialog-triggers-CVCxqKg3.js} +718 -1182
- package/dist/dialog-triggers-CVCxqKg3.js.map +1 -0
- package/dist/elicitation/approval-panel.d.ts +1 -1
- package/dist/elicitation/approval-panel.d.ts.map +1 -1
- package/dist/elicitation/panel.d.ts +24 -16
- package/dist/elicitation/panel.d.ts.map +1 -1
- package/dist/elicitation/types.d.ts +31 -0
- package/dist/elicitation/types.d.ts.map +1 -1
- package/dist/generated/element-attributes.d.ts +47 -1
- package/dist/generated/element-attributes.d.ts.map +1 -1
- package/dist/{glyphs-B3BZ2TIb.js → glyphs-DQTeOj4w.js} +22 -13
- package/dist/{glyphs-B3BZ2TIb.js.map → glyphs-DQTeOj4w.js.map} +1 -1
- package/dist/host/aparte-chat-host.d.ts +10 -2
- package/dist/host/aparte-chat-host.d.ts.map +1 -1
- package/dist/icons/extended.d.ts +4 -2
- package/dist/icons/extended.d.ts.map +1 -1
- package/dist/icons/glyphs.d.ts +9 -0
- package/dist/icons/glyphs.d.ts.map +1 -1
- package/dist/icons.js +16 -15
- package/dist/icons.js.map +1 -1
- package/dist/index.css +1284 -397
- package/dist/index.d.ts +26 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2099 -296
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +21 -5
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +39 -34
- package/dist/index.node.js.map +1 -1
- package/dist/interop/dialog-triggers.d.ts +27 -0
- package/dist/interop/dialog-triggers.d.ts.map +1 -0
- package/dist/interop/element-props.d.ts +16 -8
- package/dist/interop/element-props.d.ts.map +1 -1
- package/dist/parsers/aparte-stream-parser.d.ts +52 -22
- package/dist/parsers/aparte-stream-parser.d.ts.map +1 -1
- package/dist/parsers/index.d.ts +1 -1
- package/dist/parsers/index.d.ts.map +1 -1
- package/dist/primitives/select/aparte-select.d.ts.map +1 -1
- package/dist/renderers/segment-renderers.d.ts.map +1 -1
- package/dist/renderers/segments/code.d.ts.map +1 -1
- package/dist/renderers/segments/tool-call.d.ts.map +1 -1
- package/dist/runtime/message-repository.d.ts.map +1 -1
- package/dist/transport/backend-handler.d.ts.map +1 -1
- package/dist/transport/backend-transport.d.ts +6 -1
- package/dist/transport/backend-transport.d.ts.map +1 -1
- package/dist/types/chat.d.ts +8 -14
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/element-map.d.ts +54 -4
- package/dist/types/element-map.d.ts.map +1 -1
- package/dist/types/event-map.d.ts +16 -10
- package/dist/types/event-map.d.ts.map +1 -1
- package/dist/types/events.d.ts +59 -117
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/imperative-api.d.ts +3 -1
- package/dist/types/imperative-api.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/models.d.ts +11 -31
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/segments.d.ts +11 -47
- package/dist/types/segments.d.ts.map +1 -1
- package/dist/types/stream-blocks.d.ts +57 -0
- package/dist/types/stream-blocks.d.ts.map +1 -0
- package/dist/types/tools.d.ts +57 -0
- package/dist/types/tools.d.ts.map +1 -1
- package/dist/utils/copy-text.d.ts +24 -0
- package/dist/utils/copy-text.d.ts.map +1 -0
- package/dist/utils/css-escape.d.ts +5 -0
- package/dist/utils/css-escape.d.ts.map +1 -1
- package/dist/utils/tool-input.d.ts +20 -0
- package/dist/utils/tool-input.d.ts.map +1 -0
- package/package.json +10 -3
- package/dist/is-awaiting-reply-BZ_iJ3s3.js.map +0 -1
- package/dist/renderers/segments/artifact/binary-file.d.ts +0 -45
- package/dist/renderers/segments/artifact/binary-file.d.ts.map +0 -1
- package/dist/renderers/segments/artifact/card.d.ts +0 -3
- package/dist/renderers/segments/artifact/card.d.ts.map +0 -1
- package/dist/renderers/segments/artifact/preview-document.d.ts +0 -27
- package/dist/renderers/segments/artifact/preview-document.d.ts.map +0 -1
- package/dist/renderers/segments/artifact/shared.d.ts +0 -29
- package/dist/renderers/segments/artifact/shared.d.ts.map +0 -1
package/dist/config/locale.d.ts
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Every translatable string core itself renders — the CLOSED list.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Core keeps only the English default in memory (`APARTE_DEFAULT_LOCALE`); other
|
|
5
|
+
* languages arrive through `aparteGlobalConfig.setLocale()`.
|
|
6
|
+
*
|
|
7
|
+
* Closed, and an alias rather than an interface, on purpose. This used to end with
|
|
8
|
+
* `[key: string]: string | undefined`, and that one line disabled the only
|
|
9
|
+
* compile-time check the locale had: `AparteConfig.t(key: keyof AparteLocale)` looks
|
|
10
|
+
* airtight, but with an index signature `keyof` widens to `string` and EVERY literal
|
|
11
|
+
* typechecks. A renamed key compiled clean, `t()` returned `''` at runtime, and the UI
|
|
12
|
+
* rendered an empty label with no error and no warning — which is how `submitButton`,
|
|
13
|
+
* `stopButton` and `actionUpload` each shipped read-but-never-declared, the last one
|
|
14
|
+
* reported by a user from a live language switcher.
|
|
15
|
+
*
|
|
16
|
+
* The open half is {@link AparteLocaleExtensions}, and an ALIAS is what lets the two
|
|
17
|
+
* meet: TypeScript gives a type alias an implicit index signature and an interface
|
|
18
|
+
* none, so only this form is assignable to the extensions record that
|
|
19
|
+
* `setLocale`/`extendLocale` accept and `getLocale` returns.
|
|
7
20
|
*/
|
|
8
|
-
export
|
|
21
|
+
export type AparteLocale = {
|
|
9
22
|
inputPlaceholder: string;
|
|
10
23
|
sendButton: string;
|
|
11
24
|
copy: string;
|
|
@@ -35,18 +48,62 @@ export interface AparteLocale {
|
|
|
35
48
|
approveTool?: string;
|
|
36
49
|
/** Reject button on a tool awaiting human approval (default: "Reject") */
|
|
37
50
|
rejectTool?: string;
|
|
38
|
-
/** Short suffix for tokens-per-second perf chip (default: "tok/s") */
|
|
39
|
-
tokensPerSecondLabel?: string;
|
|
40
51
|
/** Aria-label / tooltip for the message info ("i") action button (default: "Details") */
|
|
41
52
|
messageInfo?: string;
|
|
42
53
|
/** Default title for a new conversation (default: "New Chat") */
|
|
43
54
|
newChat: string;
|
|
44
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* The "Delete" item of a row's menu (default: "Delete"). Used to be the aria-label
|
|
57
|
+
* of a permanent ✕ on every row ("Delete conversation"); the menu is named after
|
|
58
|
+
* the row, so the item carries only the verb.
|
|
59
|
+
*/
|
|
45
60
|
deleteConversation: string;
|
|
46
|
-
/**
|
|
61
|
+
/** The "Archive" item of a row's menu (default: "Archive") */
|
|
47
62
|
archiveConversation?: string;
|
|
48
|
-
/**
|
|
63
|
+
/** The same item on an archived row (default: "Unarchive") */
|
|
49
64
|
unarchiveConversation?: string;
|
|
65
|
+
/** Accessible name of the ⋯ button that opens a row's menu (default: "Conversation actions") */
|
|
66
|
+
conversationActions?: string;
|
|
67
|
+
/** The "Rename" item of a row's menu (default: "Rename") */
|
|
68
|
+
renameConversation?: string;
|
|
69
|
+
/** Accessible name of the inline input a rename opens (default: "Conversation title") */
|
|
70
|
+
conversationTitle?: string;
|
|
71
|
+
/** The "Pin" item of a row's menu (default: "Pin") */
|
|
72
|
+
pinConversation?: string;
|
|
73
|
+
/** The same item on a pinned row (default: "Unpin") */
|
|
74
|
+
unpinConversation?: string;
|
|
75
|
+
/**
|
|
76
|
+
* The question asked before a delete (default: "Delete “{title}”?"). `{title}` is
|
|
77
|
+
* replaced with the row's title; a delete is the one action of the menu that asks
|
|
78
|
+
* first, because it is the one that cannot be undone.
|
|
79
|
+
*/
|
|
80
|
+
deleteConversationConfirm?: string;
|
|
81
|
+
/** The button that declines that question (default: "Cancel") */
|
|
82
|
+
cancel?: string;
|
|
83
|
+
/** Heading of the pinned rows, which come first (default: "Pinned") */
|
|
84
|
+
conversationGroupPinned?: string;
|
|
85
|
+
/** Heading of the rows updated today (default: "Today") */
|
|
86
|
+
conversationGroupToday?: string;
|
|
87
|
+
/** … yesterday (default: "Yesterday") */
|
|
88
|
+
conversationGroupYesterday?: string;
|
|
89
|
+
/** … in the seven days before that (default: "Previous 7 days") */
|
|
90
|
+
conversationGroupWeek?: string;
|
|
91
|
+
/** … in the thirty days before that (default: "Previous 30 days"). Older rows are headed by their month, formatted with `tag`. */
|
|
92
|
+
conversationGroupMonth?: string;
|
|
93
|
+
/** Accessible name of `<aparte-scroll-rail>`, the ticks beside the transcript (default: "Conversation outline") */
|
|
94
|
+
scrollRailLabel?: string;
|
|
95
|
+
/** Accessible name of `<aparte-sidebar>` (default: "Conversations") */
|
|
96
|
+
sidebarLabel?: string;
|
|
97
|
+
/** Accessible name of the seam between a split's two panes (default: "Resize the panes") */
|
|
98
|
+
splitHandleLabel?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Accessible name of the transcript itself (default: "Transcript").
|
|
101
|
+
*
|
|
102
|
+
* The scroll surface is a tab stop, because in WebKit a scrollable region that is
|
|
103
|
+
* not focusable cannot be scrolled from the keyboard at all. A tab stop with no
|
|
104
|
+
* name is announced as "group", so the name ships with the tab stop, not after it.
|
|
105
|
+
*/
|
|
106
|
+
transcript?: string;
|
|
50
107
|
/** The free-text fallback option in a choice (default: "Other…") */
|
|
51
108
|
elicitationOther?: string;
|
|
52
109
|
/** Placeholder of the free-text input that option reveals (default: "Type your answer…") */
|
|
@@ -79,14 +136,15 @@ export interface AparteLocale {
|
|
|
79
136
|
*/
|
|
80
137
|
stopButton?: string;
|
|
81
138
|
/**
|
|
82
|
-
* The
|
|
83
|
-
*
|
|
139
|
+
* The tag a `recommended` option wears beside its label (default: "Recommended").
|
|
140
|
+
* Said, not only tinted: a tint is a hint the eye may miss and a screen reader
|
|
141
|
+
* never gets.
|
|
84
142
|
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* the
|
|
143
|
+
* (`elicitationNext` lived here until 2026-08-28, for the composer's button while a
|
|
144
|
+
* form had questions ahead. That meaning is gone with the button's "advance" mode
|
|
145
|
+
* — the chips are the navigation — so the key went with it, not deprecated.)
|
|
88
146
|
*/
|
|
89
|
-
|
|
147
|
+
elicitationRecommended?: string;
|
|
90
148
|
/**
|
|
91
149
|
* The affordance that declines the request (default: "Skip").
|
|
92
150
|
*
|
|
@@ -139,14 +197,11 @@ export interface AparteLocale {
|
|
|
139
197
|
/** Accessible name of the `<aparte-context>` gauge. Optional, like the keys above. */
|
|
140
198
|
contextLabel?: string;
|
|
141
199
|
/**
|
|
142
|
-
* Title line of the message `
|
|
143
|
-
* turns (default: "Conversation summary").
|
|
144
|
-
*
|
|
145
|
-
*
|
|
146
|
-
* compacted into an English header.
|
|
147
|
-
* is a separate, per-call knob (the compactor deliberately ships no locale
|
|
148
|
-
* system); this key is the UI-side title and follows the locale like every
|
|
149
|
-
* other string the user reads.
|
|
200
|
+
* Title line of the summary message `@aparte/plugin-compaction` injects in place
|
|
201
|
+
* of the summarised turns (default: "Conversation summary"). The plugin reads it
|
|
202
|
+
* through `config.t()`, so the notice follows the locale like every other string
|
|
203
|
+
* the user reads — it used to be hardcoded, with an emoji, so a French chat
|
|
204
|
+
* compacted into an English header.
|
|
150
205
|
*/
|
|
151
206
|
compactionSummaryTitle?: string;
|
|
152
207
|
/**
|
|
@@ -170,12 +225,23 @@ export interface AparteLocale {
|
|
|
170
225
|
toolCompleted?: string;
|
|
171
226
|
toolRejected?: string;
|
|
172
227
|
toolStopped?: string;
|
|
228
|
+
/** The tool row's word when the handler threw — a crash, not a refusal nor a stop (default: "Failed"). */
|
|
229
|
+
toolFailed?: string;
|
|
173
230
|
/** Label above a tool call's arguments (default: "Input") */
|
|
174
231
|
toolInput?: string;
|
|
175
232
|
/** Label above a tool call's result (default: "Output") */
|
|
176
233
|
toolOutput?: string;
|
|
177
234
|
/** Accessible name for the group of approval options (default: "Your decision") */
|
|
178
235
|
approvalOptionsLabel?: string;
|
|
236
|
+
/**
|
|
237
|
+
* Heading over the call's arguments in the approval panel (default: "Arguments").
|
|
238
|
+
*
|
|
239
|
+
* The panel named the tool and nothing else, while the arguments — the thing
|
|
240
|
+
* actually being approved — stayed in the transcript row behind a closed
|
|
241
|
+
* disclosure. Same word family as {@link toolInput} and deliberately not that
|
|
242
|
+
* key: that one heads a section of a transcript row, this one heads a decision.
|
|
243
|
+
*/
|
|
244
|
+
approvalArgsLabel?: string;
|
|
179
245
|
/**
|
|
180
246
|
* The composer's attach-file button (default: "Attach file").
|
|
181
247
|
*
|
|
@@ -191,6 +257,36 @@ export interface AparteLocale {
|
|
|
191
257
|
* these declarations on the other.
|
|
192
258
|
*/
|
|
193
259
|
actionUpload?: string;
|
|
260
|
+
/**
|
|
261
|
+
* The ✕ on a pending attachment, named after the file it drops (default:
|
|
262
|
+
* "Remove {name}").
|
|
263
|
+
*
|
|
264
|
+
* `{name}` is substituted with the file's own name — the convention
|
|
265
|
+
* `approvalAsk` and `deleteConversationConfirm` already use. The button is
|
|
266
|
+
* icon-only, so this string is the whole of what a screen-reader user hears.
|
|
267
|
+
*/
|
|
268
|
+
removeAttachment?: string;
|
|
269
|
+
/**
|
|
270
|
+
* Placeholder of a searchable select's filter field (default: "Search…").
|
|
271
|
+
*
|
|
272
|
+
* VISIBLE text, which is what separates it from most of this file: it was a
|
|
273
|
+
* literal in the primitive, so a French page opened the model picker and read
|
|
274
|
+
* "Search..." in the box.
|
|
275
|
+
*/
|
|
276
|
+
selectSearchPlaceholder?: string;
|
|
277
|
+
/** Accessible name of that filter field, which has no visible label (default: "Search options") */
|
|
278
|
+
selectSearchLabel?: string;
|
|
279
|
+
/**
|
|
280
|
+
* The `<aparte-model-selector>` trigger before a model is picked (default:
|
|
281
|
+
* "Select a model..."). The one string that element takes from the locale.
|
|
282
|
+
*/
|
|
283
|
+
modelSelectorPlaceholder?: string;
|
|
284
|
+
/**
|
|
285
|
+
* Accessible name of `@aparte/plugin-approval`'s mode switch (default: "Approval
|
|
286
|
+
* mode"). The switch is an `<aparte-select>` with no visible label, so this string
|
|
287
|
+
* is the whole of what a screen-reader user hears there.
|
|
288
|
+
*/
|
|
289
|
+
approvalModeLabel?: string;
|
|
194
290
|
/**
|
|
195
291
|
* The artifact card's download button (default: "Download").
|
|
196
292
|
*
|
|
@@ -260,9 +356,26 @@ export interface AparteLocale {
|
|
|
260
356
|
tag?: string;
|
|
261
357
|
/** Direction of the text (ltr or rtl) - defaults to ltr */
|
|
262
358
|
direction?: 'ltr' | 'rtl';
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* The extension half: any other key a plugin or an app wants to carry.
|
|
362
|
+
*
|
|
363
|
+
* This used to be an index signature ON `AparteLocale` — `[key: string]: string |
|
|
364
|
+
* undefined` — and it silently disabled the only compile-time check the locale had.
|
|
365
|
+
* `AparteConfig.t(key: keyof AparteLocale)` looks airtight; with an index signature,
|
|
366
|
+
* `keyof` widens to `string` and EVERY literal typechecks. A renamed key
|
|
367
|
+
* (`t('copy')` typed as `t('copyCodeBlock')`) compiled clean, `t()` returned `''`
|
|
368
|
+
* at runtime, and the UI rendered an empty label with no error and no warning. It was
|
|
369
|
+
* one of the six deliberate mistakes an audit planted, and the only guard that could
|
|
370
|
+
* have caught it was this type.
|
|
371
|
+
*
|
|
372
|
+
* So the two halves are separate now: {@link AparteLocale} is CLOSED — it is the list
|
|
373
|
+
* `t()` keys on — and this is the open bag beside it. {@link AparteConfig.setLocale}
|
|
374
|
+
* and {@link AparteConfig.extendLocale} accept the intersection, so a plugin still
|
|
375
|
+
* ships its own strings in the same object; only `t()` stays narrow, which is where
|
|
376
|
+
* the typo has to be caught.
|
|
377
|
+
*/
|
|
378
|
+
export type AparteLocaleExtensions = Record<string, string | undefined>;
|
|
266
379
|
/**
|
|
267
380
|
* Default English Locale (Zero-dependency)
|
|
268
381
|
* Hardcoded to ensure the core works out-of-the-box.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/config/locale.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/config/locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,15 @@
|
|
|
15
15
|
* coverage, register DOMPurify via `aparteGlobalConfig.setHtmlSanitizer`.
|
|
16
16
|
*/
|
|
17
17
|
export type AparteSanitizer = (html: string) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Tags dropped wholesale — content and all (never unwrapped to text).
|
|
20
|
+
*
|
|
21
|
+
* Exported for the DOM-free path's own suite: both of `fallbackScrub`'s regexes
|
|
22
|
+
* are built from this Set, and the test that proves it loops over the Set rather
|
|
23
|
+
* than a copy. Not re-exported from the package barrel — it is core's list, not
|
|
24
|
+
* a contract.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DANGEROUS_TAGS: Set<string>;
|
|
18
27
|
export declare function isSafeUrl(value: string, tag: string): boolean;
|
|
19
28
|
/**
|
|
20
29
|
* The built-in sanitizer. Parses `html` with the platform DOMParser, rebuilds an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/config/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,aAKzB,CAAC;AAqIH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7D;AA4OD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAY9B,CAAC"}
|
|
@@ -21,7 +21,9 @@ export interface AparteChatBinding {
|
|
|
21
21
|
/** Read the current message list. */
|
|
22
22
|
getMessages(): AparteMessage[];
|
|
23
23
|
/** Clear all messages (e.g. when starting a new conversation). */
|
|
24
|
-
clearMessages(
|
|
24
|
+
clearMessages(options?: {
|
|
25
|
+
revokeAttachments?: boolean;
|
|
26
|
+
}): void;
|
|
25
27
|
/**
|
|
26
28
|
* Export the full conversation tree for persistence.
|
|
27
29
|
* Optional: only available when the binding wraps a `AparteMessageRepository`
|
|
@@ -81,6 +83,16 @@ export declare class AparteConversationController {
|
|
|
81
83
|
private _onMessageAborted;
|
|
82
84
|
private _onSelectConversation;
|
|
83
85
|
private _unsubscribeManager;
|
|
86
|
+
/** The manager the subscription above is on, so a replaced manager is re-subscribed. */
|
|
87
|
+
private _subscribedTo;
|
|
88
|
+
/** Between bind() and unbind(): the only time a manager subscription may be installed. */
|
|
89
|
+
private _bound;
|
|
90
|
+
/**
|
|
91
|
+
* React to an external mutation of the manager (another component deleting or
|
|
92
|
+
* archiving the active conversation). Without this the binding would keep
|
|
93
|
+
* showing a phantom history for an id the manager no longer knows about.
|
|
94
|
+
*/
|
|
95
|
+
private readonly _onManagerChanged;
|
|
84
96
|
constructor(binding: AparteChatBinding, options?: AparteConversationControllerOptions);
|
|
85
97
|
/** The current active conversation id (null when none selected). */
|
|
86
98
|
get activeId(): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-controller.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAOlF;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7C,0EAA0E;IAC1E,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5C,qCAAqC;IACrC,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,kEAAkE;IAClE,aAAa,
|
|
1
|
+
{"version":3,"file":"conversation-controller.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAOlF;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,2EAA2E;IAC3E,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC7C,0EAA0E;IAC1E,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5C,qCAAqC;IACrC,WAAW,IAAI,aAAa,EAAE,CAAC;IAC/B,kEAAkE;IAClE,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D;;;;OAIG;IACH,UAAU,CAAC,IAAI,yBAAyB,GAAG,SAAS,CAAC;IACrD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,mCAAmC;IAChD;;;OAGG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,4BAA4B;IACrC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,qBAAqB,CAAqC;IAClE,OAAO,CAAC,mBAAmB,CAA6B;IACxD,wFAAwF;IACxF,OAAO,CAAC,aAAa,CAA0C;IAC/D,0FAA0F;IAC1F,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAoBhC;gBAEU,OAAO,EAAE,iBAAiB,EAAE,OAAO,GAAE,mCAAwC;IAKzF,oEAAoE;IACpE,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAE5B;IAED;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,4BAA4B;IAWpC;;OAEG;IACH,IAAI,IAAI,MAAM,IAAI;IA2GlB,8BAA8B;IAC9B,mFAAmF;IACnF,OAAO,CAAC,mBAAmB,CAA6B;IAExD,MAAM,IAAI,IAAI;IAiDd;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA2HzD;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;YA2BR,6BAA6B;CA8D9C"}
|
|
@@ -83,6 +83,15 @@ export declare class AparteConversationManager {
|
|
|
83
83
|
archive(id: string): Promise<void>;
|
|
84
84
|
/** Restore an archived conversation. */
|
|
85
85
|
unarchive(id: string): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Pin a conversation, which the list shows in its "Pinned" group first. Metadata
|
|
88
|
+
* only, like archive: `updatedAt` keeps the conversation's real chronological slot
|
|
89
|
+
* for the day it is unpinned. An adapter that has `pin()` gets the call; one that
|
|
90
|
+
* does not gets the whole record through `save()`.
|
|
91
|
+
*/
|
|
92
|
+
pin(id: string): Promise<void>;
|
|
93
|
+
/** Unpin a conversation. Metadata only — see `pin()`. */
|
|
94
|
+
unpin(id: string): Promise<void>;
|
|
86
95
|
/** Update the title manually. The full input is preserved — UI surfaces
|
|
87
96
|
* (sidebar list, topbar) are responsible for visual truncation via CSS
|
|
88
97
|
* (`min-w-0` + `truncate`). Auto-titles produced internally by
|
|
@@ -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;gBAE9C,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,0BAA0B;IAO/E,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;;;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,OAAO,CAAC,UAAU;CAQrB"}
|
|
1
|
+
{"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-manager.ts"],"names":[],"mappings":"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"}
|