@aparte/core 0.19.2 → 0.20.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/README.md +6 -1
- package/dist/client/aparte-client.d.ts +76 -97
- 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 +89 -58
- package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
- package/dist/components/bubble/bubble-sync.d.ts +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 +3 -3
- package/dist/components/composer/aparte-composer-add-attachment.d.ts +2 -2
- package/dist/components/composer/aparte-composer-cancel.d.ts +1 -1
- package/dist/components/composer/aparte-composer-input.d.ts +4 -7
- package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-send.d.ts +9 -11
- package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer.d.ts +50 -80
- package/dist/components/composer/aparte-composer.d.ts.map +1 -1
- package/dist/components/context/aparte-context.d.ts +13 -7
- package/dist/components/context/aparte-context.d.ts.map +1 -1
- package/dist/components/conversation-list/aparte-conversation-list.d.ts +25 -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 +5 -3
- 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 +76 -69
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/config/aparte-config.d.ts +169 -141
- 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 +61 -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 +6 -6
- 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 +5656 -4759
- package/dist/{dialog-triggers-CEazY76J.js → dialog-triggers-3Rk7PuZa.js} +555 -375
- 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 +16 -10
- 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 +13 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +775 -337
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +7 -4
- 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/parsers/aparte-stream-parser.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/thinking.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/agent-handler.d.ts +2 -0
- package/dist/transport/agent-handler.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 +15 -1
- 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/imperative-api.d.ts +3 -1
- package/dist/types/imperative-api.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -4
- 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 +29 -13
- package/dist/types/segments.d.ts.map +1 -1
- package/dist/types/tools.d.ts +21 -23
- 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 +30 -4
- package/dist/dialog-triggers-CEazY76J.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-provider.d.ts","sourceRoot":"","sources":["../../src/config/icon-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon-provider.d.ts","sourceRoot":"","sources":["../../src/config/icon-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IAM/B,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;IAC1B,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;IAC1B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC;IACpB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAC7B,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB;AAED,+FAA+F;AAC/F,MAAM,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC;AAEtD,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEjE;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAsB,CAAC"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type { AparteConfigAware } from './config-context.js';
|
|
|
5
5
|
export type { AparteConfigChangeEventDetail, AparteMarkdownProvider, AparteStreamingMarkdownProvider, AparteStreamingMarkdownRenderer, AparteHighlightProvider, AparteSystemPromptVarsProvider, AparteModelPreference, AparteModelPreferenceProvider } from './aparte-config.js';
|
|
6
6
|
export type { AparteSanitizer } from './sanitize.js';
|
|
7
7
|
export { defaultSanitizer, isSafeUrl } from './sanitize.js';
|
|
8
|
-
export type { AparteIconProvider, AparteIconName } from './icon-provider.js';
|
|
8
|
+
export type { AparteIconProvider, AparteIconName, AparteCoreIconName } from './icon-provider.js';
|
|
9
9
|
export { APARTE_DEFAULT_ICON_FALLBACKS } from './icon-provider.js';
|
|
10
10
|
export type { AparteAvatarProvider } from './avatar-provider.js';
|
|
11
11
|
export type { AparteStatusRenderer } from './status-renderer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKhI,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACjR,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKhI,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACjR,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,YAAY,EACR,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,GAChC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,YAAY,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/config/locale.d.ts
CHANGED
|
@@ -4,14 +4,11 @@
|
|
|
4
4
|
* Core keeps only the English default in memory (`APARTE_DEFAULT_LOCALE`); other
|
|
5
5
|
* languages arrive through `aparteGlobalConfig.setLocale()`.
|
|
6
6
|
*
|
|
7
|
-
* Closed, and an alias rather than an interface, on purpose.
|
|
8
|
-
* `
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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.
|
|
7
|
+
* Closed, and an alias rather than an interface, on purpose. It has no index
|
|
8
|
+
* signature: `AparteConfig.t(key: keyof AparteLocale)` is only checked at compile time
|
|
9
|
+
* while `keyof` stays a union of literals, and an index signature would widen it to
|
|
10
|
+
* `string` so that EVERY literal typechecks. A misspelled key would then compile, `t()`
|
|
11
|
+
* would return `''` at runtime, and the UI would render an empty label with no error.
|
|
15
12
|
*
|
|
16
13
|
* The open half is {@link AparteLocaleExtensions}, and an ALIAS is what lets the two
|
|
17
14
|
* meet: TypeScript gives a type alias an implicit index signature and an interface
|
|
@@ -36,7 +33,9 @@ export type AparteLocale = {
|
|
|
36
33
|
copy: string;
|
|
37
34
|
copied: string;
|
|
38
35
|
retry: string;
|
|
36
|
+
/** The label of a reasoning block, live or settled (default: "Thinking") */
|
|
39
37
|
thinking: string;
|
|
38
|
+
/** What the status line says while a reply is being written, when it carries no `text` (default: "Typing") */
|
|
40
39
|
typing: string;
|
|
41
40
|
error: string;
|
|
42
41
|
running: string;
|
|
@@ -66,11 +65,14 @@ export type AparteLocale = {
|
|
|
66
65
|
newChat: string;
|
|
67
66
|
/** Read by a screen reader while the conversation list is on its way (default: "Loading conversations") */
|
|
68
67
|
loadingConversations: string;
|
|
68
|
+
/** The conversation list's line when its filter matches no title (default: "No conversation matches") */
|
|
69
|
+
conversationSearchEmpty?: string;
|
|
70
|
+
/** Accessible name of the conversation list, a navigation landmark (default: "Conversations") */
|
|
71
|
+
conversationList?: string;
|
|
69
72
|
/** Read by a screen reader while a conversation's messages are on their way (default: "Loading the conversation") */
|
|
70
73
|
loadingConversation: string;
|
|
71
74
|
/**
|
|
72
|
-
* The "Delete" item of a row's menu (default: "Delete").
|
|
73
|
-
* of a permanent ✕ on every row ("Delete conversation"); the menu is named after
|
|
75
|
+
* The "Delete" item of a row's menu (default: "Delete"). The menu is named after
|
|
74
76
|
* the row, so the item carries only the verb.
|
|
75
77
|
*/
|
|
76
78
|
deleteConversation: string;
|
|
@@ -129,36 +131,20 @@ export type AparteLocale = {
|
|
|
129
131
|
/**
|
|
130
132
|
* The send button while a question panel is open, where it submits an ANSWER
|
|
131
133
|
* rather than sending a message (default: "Submit").
|
|
132
|
-
*
|
|
133
|
-
* The component has been reading this key since the panel API existed; it was
|
|
134
|
-
* never declared, so `t()` returned "" and the hardcoded fallback showed. A key
|
|
135
|
-
* read and never declared is worse than a literal: it looks translated.
|
|
136
134
|
*/
|
|
137
135
|
submitButton?: string;
|
|
138
136
|
/**
|
|
139
137
|
* The cancel/stop button that replaces send while a turn is streaming
|
|
140
138
|
* (default: "Stop").
|
|
141
139
|
*
|
|
142
|
-
* `aparte-composer-cancel` has been reading this key since it existed and it was
|
|
143
|
-
* never declared — the same defect this file already records for `submitButton`
|
|
144
|
-
* one entry up, found again while auditing a different question. So it has never
|
|
145
|
-
* been translatable in ANY language, not even after a full reload: `t()` returned
|
|
146
|
-
* nothing and the `|| 'Stop'` fallback rendered every time.
|
|
147
|
-
*
|
|
148
140
|
* The button carries no visible text — this string is its `aria-label` and its
|
|
149
|
-
* `title`.
|
|
150
|
-
* wrong language, so only a screen-reader user or someone hovering would ever
|
|
151
|
-
* have met it. Most of the composer's translatable surface is like this.
|
|
141
|
+
* `title`.
|
|
152
142
|
*/
|
|
153
143
|
stopButton?: string;
|
|
154
144
|
/**
|
|
155
145
|
* The tag a `recommended` option wears beside its label (default: "Recommended").
|
|
156
146
|
* Said, not only tinted: a tint is a hint the eye may miss and a screen reader
|
|
157
147
|
* never gets.
|
|
158
|
-
*
|
|
159
|
-
* (`elicitationNext` lived here until 2026-08-28, for the composer's button while a
|
|
160
|
-
* form had questions ahead. That meaning is gone with the button's "advance" mode
|
|
161
|
-
* — the chips are the navigation — so the key went with it, not deprecated.)
|
|
162
148
|
*/
|
|
163
149
|
elicitationRecommended?: string;
|
|
164
150
|
/**
|
|
@@ -166,12 +152,15 @@ export type AparteLocale = {
|
|
|
166
152
|
*
|
|
167
153
|
* "Skip" reads as "skip THIS one" on a form of several questions, while it
|
|
168
154
|
* declines the whole request — including questions already answered. That is MCP's
|
|
169
|
-
* `decline
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
* "Skip" is the short conventional word for it.
|
|
155
|
+
* `decline`. The receipt shows the outcome unambiguously (one declined row, no
|
|
156
|
+
* question attached), so the label does not have to carry the warning and stays the
|
|
157
|
+
* short conventional word.
|
|
173
158
|
*/
|
|
174
159
|
elicitationSkip?: string;
|
|
160
|
+
/** Label of the button that puts an open question or approval aside, to read the transcript behind it (default: "Hide for now") */
|
|
161
|
+
elicitationHide?: string;
|
|
162
|
+
/** The one-line bar an aside panel leaves, which brings it back (default: "Waiting for your answer") */
|
|
163
|
+
elicitationWaiting?: string;
|
|
175
164
|
/** Affirmative choice of a yes/no question (default: "Yes") */
|
|
176
165
|
elicitationYes?: string;
|
|
177
166
|
/** Negative choice of a yes/no question (default: "No") */
|
|
@@ -182,8 +171,8 @@ export type AparteLocale = {
|
|
|
182
171
|
* Placeholder for the free-text arm of an approval (default: "Or tell it what to
|
|
183
172
|
* do instead…").
|
|
184
173
|
*
|
|
185
|
-
* The refusal's REASON, in the user's words, which the model
|
|
186
|
-
* refusal hands it a turn.
|
|
174
|
+
* The refusal's REASON, in the user's words, which the model reads because a
|
|
175
|
+
* refusal hands it a turn.
|
|
187
176
|
*/
|
|
188
177
|
approvalInstructionPlaceholder?: string;
|
|
189
178
|
/**
|
|
@@ -198,10 +187,8 @@ export type AparteLocale = {
|
|
|
198
187
|
* Accessible name of the viewport's scroll-to-bottom button (default:
|
|
199
188
|
* "Scroll to bottom").
|
|
200
189
|
*
|
|
201
|
-
*
|
|
202
|
-
*
|
|
203
|
-
* class of defect as the undeclared-key trio (submitButton, stopButton,
|
|
204
|
-
* actionUpload): the component looked done, the locale looked complete.
|
|
190
|
+
* The button is icon-only, so this string is the whole of what a screen-reader
|
|
191
|
+
* user hears there.
|
|
205
192
|
*/
|
|
206
193
|
scrollToBottom?: string;
|
|
207
194
|
/**
|
|
@@ -216,8 +203,7 @@ export type AparteLocale = {
|
|
|
216
203
|
* Title line of the summary message `@aparte/plugin-compaction` injects in place
|
|
217
204
|
* of the summarised turns (default: "Conversation summary"). The plugin reads it
|
|
218
205
|
* through `config.t()`, so the notice follows the locale like every other string
|
|
219
|
-
* the user reads
|
|
220
|
-
* compacted into an English header.
|
|
206
|
+
* the user reads.
|
|
221
207
|
*/
|
|
222
208
|
compactionSummaryTitle?: string;
|
|
223
209
|
/**
|
|
@@ -234,8 +220,8 @@ export type AparteLocale = {
|
|
|
234
220
|
*
|
|
235
221
|
* A WORD and not only a glyph, which is what every current implementation shows
|
|
236
222
|
* ("Pending", "Running", "Completed", "Error"). A bare cross beside a name reads as
|
|
237
|
-
* a button that removes something
|
|
238
|
-
* affordance
|
|
223
|
+
* a button that removes something: a state must not be mistaken for an
|
|
224
|
+
* affordance.
|
|
239
225
|
*/
|
|
240
226
|
toolRunning?: string;
|
|
241
227
|
toolCompleted?: string;
|
|
@@ -252,25 +238,16 @@ export type AparteLocale = {
|
|
|
252
238
|
/**
|
|
253
239
|
* Heading over the call's arguments in the approval panel (default: "Arguments").
|
|
254
240
|
*
|
|
255
|
-
* The
|
|
256
|
-
*
|
|
257
|
-
*
|
|
258
|
-
*
|
|
241
|
+
* The arguments are the thing actually being approved, so the panel shows them
|
|
242
|
+
* under this heading. Same word family as {@link toolInput} and deliberately not
|
|
243
|
+
* that key: that one heads a section of a transcript row, this one heads a
|
|
244
|
+
* decision.
|
|
259
245
|
*/
|
|
260
246
|
approvalArgsLabel?: string;
|
|
261
247
|
/**
|
|
262
248
|
* The composer's attach-file button (default: "Attach file").
|
|
263
249
|
*
|
|
264
|
-
* `aparte-composer-add-attachment`
|
|
265
|
-
* existed, and the key was never declared — so `t()` returned '' and the
|
|
266
|
-
* `|| 'Attach file'` fallback rendered in every language, after every reload.
|
|
267
|
-
* The third instance of this exact defect in this file, after `submitButton` and
|
|
268
|
-
* `stopButton`, and the one a user reported from the live language switcher.
|
|
269
|
-
*
|
|
270
|
-
* A key that is read and not declared cannot be found by reading either side: the
|
|
271
|
-
* component looks correct, the locale looks complete. Cross-checking the two
|
|
272
|
-
* lists is what finds them — `t()` calls and `getLocale().x` reads on one side,
|
|
273
|
-
* these declarations on the other.
|
|
250
|
+
* Read by `aparte-composer-add-attachment` as `t('actionUpload')`.
|
|
274
251
|
*/
|
|
275
252
|
actionUpload?: string;
|
|
276
253
|
/**
|
|
@@ -282,12 +259,16 @@ export type AparteLocale = {
|
|
|
282
259
|
* icon-only, so this string is the whole of what a screen-reader user hears.
|
|
283
260
|
*/
|
|
284
261
|
removeAttachment?: string;
|
|
262
|
+
/**
|
|
263
|
+
* The accessible name of a message whose bubble carries a `name` — a human agent, a
|
|
264
|
+
* second assistant (default: "Message from {name}"). `{name}` is that name. Without one
|
|
265
|
+
* the bubble is named after its role: `yourMessage` or `assistantResponse`.
|
|
266
|
+
*/
|
|
267
|
+
messageFrom?: string;
|
|
285
268
|
/**
|
|
286
269
|
* Placeholder of a searchable select's filter field (default: "Search…").
|
|
287
270
|
*
|
|
288
|
-
* VISIBLE text, which is what separates it from most of this file
|
|
289
|
-
* literal in the primitive, so a French page opened the model picker and read
|
|
290
|
-
* "Search..." in the box.
|
|
271
|
+
* VISIBLE text, which is what separates it from most of this file.
|
|
291
272
|
*/
|
|
292
273
|
selectSearchPlaceholder?: string;
|
|
293
274
|
/** Accessible name of that filter field, which has no visible label (default: "Search options") */
|
|
@@ -309,16 +290,17 @@ export type AparteLocale = {
|
|
|
309
290
|
* The artifact card's download button (default: "Download").
|
|
310
291
|
*
|
|
311
292
|
* Like `stopButton`, this string is a `title` and an `aria-label` on an
|
|
312
|
-
* icon-only button
|
|
313
|
-
* project shipped. Nothing on screen was in the wrong language.
|
|
293
|
+
* icon-only button.
|
|
314
294
|
*/
|
|
315
295
|
download?: string;
|
|
296
|
+
/** The artifact card's Open button, when the app asked for it (default: "Open") */
|
|
297
|
+
openArtifact?: string;
|
|
298
|
+
/** A model's context window under its name in the model selector's `details` — `{n}` is the size (default: "{n} context") */
|
|
299
|
+
modelContextWindow?: string;
|
|
316
300
|
/**
|
|
317
301
|
* The artifact card's two tabs (defaults: "Preview" / "Code").
|
|
318
302
|
*
|
|
319
|
-
* These two
|
|
320
|
-
* were still literals. The card was written before the locale had a home for
|
|
321
|
-
* anything but chrome.
|
|
303
|
+
* These two are visible text on the card.
|
|
322
304
|
*/
|
|
323
305
|
preview?: string;
|
|
324
306
|
code?: string;
|
|
@@ -326,9 +308,8 @@ export type AparteLocale = {
|
|
|
326
308
|
* A binary artifact being produced, and the same artifact's preview being rebuilt
|
|
327
309
|
* after a reload (defaults: "Generating…" / "Rebuilding preview…").
|
|
328
310
|
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
* hardcoded, so that announcement was English in every locale.
|
|
311
|
+
* Both are read by `@aparte/plugin-artifacts`: `generating` is the subtext of a binary
|
|
312
|
+
* artifact being produced and the `aria-label` of the artifact card's streaming pulse.
|
|
332
313
|
*/
|
|
333
314
|
generating?: string;
|
|
334
315
|
rebuildingPreview?: string;
|
|
@@ -337,8 +318,8 @@ export type AparteLocale = {
|
|
|
337
318
|
* Preview to run this artifact.").
|
|
338
319
|
*
|
|
339
320
|
* The pane is empty on purpose — a previewable artifact is model-authored code
|
|
340
|
-
* and mounting it unasked would execute it
|
|
341
|
-
*
|
|
321
|
+
* and mounting it unasked would execute it — so this sentence is the whole of
|
|
322
|
+
* what the reader sees there.
|
|
342
323
|
*/
|
|
343
324
|
previewPending?: string;
|
|
344
325
|
/**
|
|
@@ -354,10 +335,9 @@ export type AparteLocale = {
|
|
|
354
335
|
* BCP-47 language tag for `Intl` formatting — `'fr-FR'`, `'ja-JP'`, `'en-US'`.
|
|
355
336
|
*
|
|
356
337
|
* A locale is otherwise a bag of STRINGS, and a clock is not a string: it is a
|
|
357
|
-
* format.
|
|
358
|
-
*
|
|
359
|
-
*
|
|
360
|
-
* app just chose. French is 24-hour; the browser was not asked.
|
|
338
|
+
* format. The tag is what the library's `Intl` calls (the timestamp above every
|
|
339
|
+
* message) use, instead of the BROWSER's locale, which is not necessarily the
|
|
340
|
+
* locale the app chose.
|
|
361
341
|
*
|
|
362
342
|
* A tag and NOT an `hour12` flag, deliberately. A flag answers one question for
|
|
363
343
|
* one call site; a tag answers every question `Intl` can be asked — hour cycle,
|
|
@@ -367,8 +347,7 @@ export type AparteLocale = {
|
|
|
367
347
|
* words are.
|
|
368
348
|
*
|
|
369
349
|
* Undefined on purpose in the English default: `undefined` means "follow the
|
|
370
|
-
* browser", which is the right default for a library
|
|
371
|
-
* consumer has today. A locale that declares a tag pins the formatting — if you
|
|
350
|
+
* browser", which is the right default for a library. A locale that declares a tag pins the formatting — if you
|
|
372
351
|
* have chosen French strings, French formatting is what you meant.
|
|
373
352
|
*/
|
|
374
353
|
tag?: string;
|
|
@@ -377,12 +356,9 @@ export type AparteLocale = {
|
|
|
377
356
|
* scroll container and onto `<aparte-composer>`, so everything inside inherits it.
|
|
378
357
|
*
|
|
379
358
|
* Undefined on purpose in the English default, for the reason `tag` above is:
|
|
380
|
-
* `undefined` means "follow the host"
|
|
381
|
-
*
|
|
382
|
-
*
|
|
383
|
-
* still left-to-right, and nothing said why. Not declaring it lets the host's
|
|
384
|
-
* direction inherit, which is what a library should do with a decision the page
|
|
385
|
-
* has already taken.
|
|
359
|
+
* `undefined` means "follow the host": core writes no `dir` of its own, so the
|
|
360
|
+
* host's direction (`<html dir="rtl">`) inherits, which is what a library should
|
|
361
|
+
* do with a decision the page has already taken.
|
|
386
362
|
*
|
|
387
363
|
* A locale that wants the direction PINNED still declares it, and that is the
|
|
388
364
|
* case it exists for: `@aparte/locale-ar` would say `'rtl'` whatever the page
|
|
@@ -394,16 +370,12 @@ export type AparteLocale = {
|
|
|
394
370
|
/**
|
|
395
371
|
* The extension half: any other key a plugin or an app wants to carry.
|
|
396
372
|
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
399
|
-
*
|
|
400
|
-
*
|
|
401
|
-
* (`t('copy')` typed as `t('copyCodeBlock')`) compiled clean, `t()` returned `''`
|
|
402
|
-
* at runtime, and the UI rendered an empty label with no error and no warning. It was
|
|
403
|
-
* one of the six deliberate mistakes an audit planted, and the only guard that could
|
|
404
|
-
* have caught it was this type.
|
|
373
|
+
* Kept separate from {@link AparteLocale} on purpose: an index signature on
|
|
374
|
+
* `AparteLocale` itself would widen `keyof AparteLocale` to `string`, so `t()` would
|
|
375
|
+
* typecheck every literal and a misspelled key would render an empty label with no
|
|
376
|
+
* error.
|
|
405
377
|
*
|
|
406
|
-
*
|
|
378
|
+
* The two halves: {@link AparteLocale} is CLOSED — it is the list
|
|
407
379
|
* `t()` keys on — and this is the open bag beside it. {@link AparteConfig.setLocale}
|
|
408
380
|
* and {@link AparteConfig.extendLocale} accept the intersection, so a plugin still
|
|
409
381
|
* ships its own strings in the same object; only `t()` stays narrow, which is where
|
|
@@ -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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"}
|
|
@@ -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;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,aAKzB,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;AAiIH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAgPD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAY9B,CAAC"}
|
|
@@ -42,6 +42,13 @@ export interface AparteChatBinding {
|
|
|
42
42
|
* Optional: falls back to the flat `setMessages` load when absent.
|
|
43
43
|
*/
|
|
44
44
|
importTree?(tree: ExportedMessageRepository): void;
|
|
45
|
+
/**
|
|
46
|
+
* Run a callback after the framework has applied its latest render. Optional: a
|
|
47
|
+
* binding whose list is current the moment it is written (the vanilla viewport)
|
|
48
|
+
* leaves it out. One that renders late — a transcript kept in a framework store —
|
|
49
|
+
* declares it, so a save waits for the list to arrive instead of writing the old one.
|
|
50
|
+
*/
|
|
51
|
+
afterRender?(cb: () => void): void;
|
|
45
52
|
}
|
|
46
53
|
export interface AparteConversationControllerOptions {
|
|
47
54
|
/**
|
|
@@ -88,6 +95,7 @@ export declare class AparteConversationController {
|
|
|
88
95
|
private _onMessageAborted;
|
|
89
96
|
private _onMessagePaused;
|
|
90
97
|
private _onSelectConversation;
|
|
98
|
+
private _onCompactDone;
|
|
91
99
|
private _unsubscribeManager;
|
|
92
100
|
/** The manager the subscription above is on, so a replaced manager is re-subscribed. */
|
|
93
101
|
private _subscribedTo;
|
|
@@ -115,9 +123,9 @@ export declare class AparteConversationController {
|
|
|
115
123
|
/**
|
|
116
124
|
* Degraded mode is legitimate — a host that never opted into the conversation
|
|
117
125
|
* lifecycle has no manager and should not be nagged. Registering one on the
|
|
118
|
-
* WRONG config is not:
|
|
119
|
-
*
|
|
120
|
-
*
|
|
126
|
+
* WRONG config is not: a manager registered on the global singleton while the chat
|
|
127
|
+
* uses its own `config` looks like it works (the optimistic UI still appends) and
|
|
128
|
+
* saves nothing at all.
|
|
121
129
|
*
|
|
122
130
|
* Warned once per controller, and only in the case that is unambiguously a
|
|
123
131
|
* mistake: no manager here, but one on the global.
|
|
@@ -161,6 +169,13 @@ export declare class AparteConversationController {
|
|
|
161
169
|
* re-enter streaming UI (caret, spinner, no action buttons) for content
|
|
162
170
|
* that was partially written before a switch or component destruction.
|
|
163
171
|
*/
|
|
172
|
+
/**
|
|
173
|
+
* Save once the binding holds the summary a compaction announced. A transcript kept in
|
|
174
|
+
* a framework store reaches the binding only when that framework renders, so a save on
|
|
175
|
+
* the microtask wrote the conversation as it stood before the compaction. Bounded: a
|
|
176
|
+
* run with no summary (skipped), or a binding that never shows it, is saved as it is.
|
|
177
|
+
*/
|
|
178
|
+
private _persistOnceSummarised;
|
|
164
179
|
private _persistActive;
|
|
165
180
|
private _ensureConversationAndPersist;
|
|
166
181
|
}
|
|
@@ -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,CAAC,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,IAAI,yBAAyB,GAAG,SAAS,CAAC;IACrD;;;;;OAKG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-controller.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
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
|
+
/** What {@link AparteConversationManager.subscribe} calls with the list, on every change. */
|
|
5
|
+
export type AparteConversationsListener = (conversations: AparteConversation[]) => void;
|
|
5
6
|
/**
|
|
6
7
|
* Titles a conversation from its first user message.
|
|
7
8
|
*
|
|
@@ -119,9 +120,9 @@ export declare class AparteConversationManager {
|
|
|
119
120
|
*
|
|
120
121
|
* One append at a time per conversation: two sends that overlap (a suggestion and a
|
|
121
122
|
* quick type, coalesced into one new conversation) both suspend before reading the
|
|
122
|
-
* record — for the messages, then for the title provider — so
|
|
123
|
-
* conversation with no user message in it yet
|
|
124
|
-
* title.
|
|
123
|
+
* record — for the messages, then for the title provider — so the queue keeps the
|
|
124
|
+
* second one from reading a conversation with no user message in it yet and
|
|
125
|
+
* taking its text as the title.
|
|
125
126
|
*/
|
|
126
127
|
addMessage(convId: string, msg: AparteMessage): Promise<void>;
|
|
127
128
|
private _append;
|
|
@@ -158,7 +159,7 @@ export declare class AparteConversationManager {
|
|
|
158
159
|
* (`min-w-0` + `truncate`). Auto-titles produced internally by
|
|
159
160
|
* `_autoTitle()` remain capped at a sensible length on input. */
|
|
160
161
|
updateTitle(id: string, title: string): Promise<void>;
|
|
161
|
-
subscribe(listener:
|
|
162
|
+
subscribe(listener: AparteConversationsListener): () => void;
|
|
162
163
|
private _find;
|
|
163
164
|
private _replace;
|
|
164
165
|
private _notify;
|
|
@@ -170,5 +171,4 @@ export declare class AparteConversationManager {
|
|
|
170
171
|
private _title;
|
|
171
172
|
private _autoTitle;
|
|
172
173
|
}
|
|
173
|
-
export {};
|
|
174
174
|
//# sourceMappingURL=conversation-manager.d.ts.map
|
|
@@ -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;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../src/conversations/conversation-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { AparteConversation, AparteConversationMeta, AparteStorageAdapter, AparteAttachmentRow, AparteConversationLoadedDetail, } from './types.js';
|
|
2
2
|
export { APARTE_CONVERSATION_SCHEMA_VERSION } from './types.js';
|
|
3
|
-
export { AparteConversationManager, applyRetention, type ConversationManagerOptions, type AparteConversationTitleProvider, } from './conversation-manager.js';
|
|
3
|
+
export { AparteConversationManager, applyRetention, type ConversationManagerOptions, type AparteConversationsListener, 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,EACnB,8BAA8B,GACjC,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"}
|
|
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,EACnB,8BAA8B,GACjC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACH,yBAAyB,EACzB,cAAc,EACd,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,GACvC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,4BAA4B,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,GAC3C,MAAM,8BAA8B,CAAC"}
|