@aparte/core 0.22.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/aparte-client.d.ts +10 -22
- package/dist/client/aparte-client.d.ts.map +1 -1
- package/dist/client/stream-adapter.d.ts +16 -0
- package/dist/client/stream-adapter.d.ts.map +1 -1
- package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
- package/dist/components/conversation-list/aparte-conversation-list.d.ts +38 -0
- 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/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts +10 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/config/aparte-config.d.ts +76 -19
- package/dist/config/aparte-config.d.ts.map +1 -1
- package/dist/config/error-renderer.d.ts +3 -1
- package/dist/config/error-renderer.d.ts.map +1 -1
- package/dist/config/locale.d.ts +49 -4
- package/dist/config/locale.d.ts.map +1 -1
- package/dist/config/tool-table.d.ts +30 -0
- package/dist/config/tool-table.d.ts.map +1 -0
- package/dist/conversations/conversation-controller.d.ts +19 -0
- package/dist/conversations/conversation-controller.d.ts.map +1 -1
- package/dist/conversations/conversation-status.d.ts +27 -0
- package/dist/conversations/conversation-status.d.ts.map +1 -0
- package/dist/custom-elements.json +12058 -11106
- package/dist/{dialog-triggers-3Rk7PuZa.js → dialog-triggers-BqXRdHWZ.js} +746 -205
- package/dist/dialog-triggers-BqXRdHWZ.js.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -18
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +3 -2
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +4 -3
- package/dist/index.node.js.map +1 -1
- package/dist/interop/element-props.d.ts +1 -1
- package/dist/interop/element-props.d.ts.map +1 -1
- package/dist/renderers/copy-button.d.ts +12 -0
- package/dist/renderers/copy-button.d.ts.map +1 -0
- package/dist/renderers/segment-renderers.d.ts +6 -3
- 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/thinking.d.ts.map +1 -1
- package/dist/renderers/segments/tool-call.d.ts.map +1 -1
- package/dist/transport/agent-handler.d.ts.map +1 -1
- package/dist/types/errors.d.ts +2 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/event-map.d.ts +4 -2
- package/dist/types/event-map.d.ts.map +1 -1
- package/dist/types/events.d.ts +15 -0
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/segments.d.ts +42 -2
- package/dist/types/segments.d.ts.map +1 -1
- package/dist/types/tools.d.ts +77 -0
- package/dist/types/tools.d.ts.map +1 -1
- package/dist/utils/format-duration.d.ts +9 -0
- package/dist/utils/format-duration.d.ts.map +1 -0
- package/dist/utils/tool-line.d.ts +23 -0
- package/dist/utils/tool-line.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/dialog-triggers-3Rk7PuZa.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -57,12 +57,13 @@
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
60
|
+
|
|
60
61
|
|
|
61
62
|
|
|
62
63
|
import './types/event-map.js';
|
|
63
64
|
import './types/element-map.js';
|
|
64
65
|
export { AparteSelect, AparteOption, AparteOptgroup, type AparteSelectChangeDetail, type AparteOptgroupToggleEventDetail, AparteProgressSpinner, AparteIcon } from './primitives/index.js';
|
|
65
|
-
export type { AparteBubbleRole, AparteMessage, AparteContentParser, AparteStreamBlock, AparteStreamBlockMatch, AparteSendEventDetail, AparteViewportConfig, AparteInputConfig, AparteThemeVariables, AparteStatus, AparteAttachment, AparteMessageBranch, AparteBubbleActionsConfig, AparteBubbleActionName, AparteSegment, AparteSegmentTypes, AparteSegmentType, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteSegmentRenderer, AparteCustomSegment, AparteToolCallSegment, AparteSegmentBase, AparteSegmentDefaults, AparteSegmentTiming, AparteErrorSegment, AparteSegmentUpdateEventDetail, AparteAIProvider, AparteAIModel, AparteAIProviderConfigField, AparteAIProviderMetadata, AparteAIProviderConfigSchema, AparteModelConfig, ModelStatus, ModelLoadProgress, AparteModelChangeEventDetail, AparteApprovalModeChangeEventDetail, AparteMessageDoneEventDetail, AparteMessageStartEventDetail, AparteMessageErrorEventDetail, AparteMessageAbortedEventDetail, AparteMessagePausedEventDetail, AparteAbortEventDetail, AparteCompactEventDetail, AparteCompactDoneEventDetail, AparteCompactStartEventDetail, AparteCompactErrorEventDetail, AparteAttachmentPreviewEventDetail, AparteLinkClickEventDetail, AparteMessageInfoEventDetail, AparteSiblingInfo, AparteBranchNavigateEventDetail, ApartePathChangedEventDetail, AparteRetryEventDetail, AparteEditEventDetail, AparteFeedbackEventDetail, AparteActionEventDetail, AparteChatRequest, AparteRequestMeta, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage, AparteTool, AparteToolCall, AparteApprovalPolicy, AparteApprovalRuling, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolSummary, AparteToolInputFormatter, AparteToolApprovalRequestDetail, AparteChatImperativeApi, AparteUiHandle, AparteElementAttributes, AparteElementTagName, AparteAttrValue, AparteTemplateAttrs, AparteNoAttributes, AparteChatAttributes, AparteChatViewportAttributes, AparteChatBubbleAttributes, AparteChatStatusAttributes, AparteComposerAttributes, AparteComposerInputAttributes, AparteComposerActionAttributes, AparteComposerAddAttachmentAttributes, AparteComposerToolbarAttributes, AparteConversationListAttributes, AparteSelectAttributes, AparteOptionAttributes, AparteOptgroupAttributes, AparteProgressSpinnerAttributes, AparteContextAttributes, AparteIconAttributes, AparteScrollRailAttributes, AparteSidebarAttributes, AparteSplitAttributes, AparteSuggestionsAttributes, } from './types/index.js';
|
|
66
|
+
export type { AparteBubbleRole, AparteMessage, AparteContentParser, AparteStreamBlock, AparteStreamBlockMatch, AparteSendEventDetail, AparteViewportConfig, AparteInputConfig, AparteThemeVariables, AparteStatus, AparteAttachment, AparteMessageBranch, AparteBubbleActionsConfig, AparteBubbleActionName, AparteSegment, AparteSegmentTypes, AparteSegmentType, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteSegmentRenderer, AparteCustomSegment, AparteToolCallSegment, AparteSegmentBase, AparteSegmentDefaults, AparteSegmentTiming, AparteErrorSegment, AparteSegmentUpdateEventDetail, AparteAIProvider, AparteAIModel, AparteAIProviderConfigField, AparteAIProviderMetadata, AparteAIProviderConfigSchema, AparteModelConfig, ModelStatus, ModelLoadProgress, AparteModelChangeEventDetail, AparteApprovalModeChangeEventDetail, AparteMessageDoneEventDetail, AparteMessageStartEventDetail, AparteMessageErrorEventDetail, AparteMessageAbortedEventDetail, AparteMessagePausedEventDetail, AparteMessageResumedEventDetail, AparteAbortEventDetail, AparteCompactEventDetail, AparteCompactDoneEventDetail, AparteCompactStartEventDetail, AparteCompactErrorEventDetail, AparteAttachmentPreviewEventDetail, AparteLinkClickEventDetail, AparteMessageInfoEventDetail, AparteSiblingInfo, AparteBranchNavigateEventDetail, ApartePathChangedEventDetail, AparteRetryEventDetail, AparteEditEventDetail, AparteFeedbackEventDetail, AparteActionEventDetail, AparteChatRequest, AparteRequestMeta, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage, AparteTool, AparteToolCall, AparteApprovalPolicy, AparteApprovalRuling, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolSummary, AparteToolInputFormatter, AparteToolMatcher, AparteToolDisplay, AparteToolDetails, AparteToolApprovalRequestDetail, AparteChatImperativeApi, AparteUiHandle, AparteElementAttributes, AparteElementTagName, AparteAttrValue, AparteTemplateAttrs, AparteNoAttributes, AparteChatAttributes, AparteChatViewportAttributes, AparteChatBubbleAttributes, AparteChatStatusAttributes, AparteComposerAttributes, AparteComposerInputAttributes, AparteComposerActionAttributes, AparteComposerAddAttachmentAttributes, AparteComposerToolbarAttributes, AparteConversationListAttributes, AparteSelectAttributes, AparteOptionAttributes, AparteOptgroupAttributes, AparteProgressSpinnerAttributes, AparteContextAttributes, AparteIconAttributes, AparteScrollRailAttributes, AparteSidebarAttributes, AparteSplitAttributes, AparteSuggestionsAttributes, } from './types/index.js';
|
|
66
67
|
export { AparteErrorCode, AparteError, contentToText } from './types/index.js';
|
|
67
68
|
export { registerSegmentRenderer, unregisterSegmentRenderer, getSegmentRenderer, collectRendererStyles, registerDefaultRenderers, installDefaultRenderersOnce, declineDefaultRenderers, getAllRenderers } from './renderers/index.js';
|
|
68
69
|
export { AparteChat } from './components/index.js';
|
|
@@ -83,7 +84,7 @@ export type { AparteSidebarToggleDetail } from './components/index.js';
|
|
|
83
84
|
export { AparteSplit } from './components/index.js';
|
|
84
85
|
export type { AparteSplitResizeDetail } from './components/index.js';
|
|
85
86
|
export { AparteConversationList } from './components/index.js';
|
|
86
|
-
export type { AparteConversationListItem, AparteConversationSelectDetail, AparteConversationDeleteDetail, AparteConversationArchiveDetail, AparteConversationPinDetail, AparteConversationRenameDetail } from './components/index.js';
|
|
87
|
+
export type { AparteConversationListItem, AparteConversationSelectDetail, AparteConversationDeleteDetail, AparteConversationArchiveDetail, AparteConversationPinDetail, AparteConversationRenameDetail, AparteConversationStatus, AparteConversationStatusDetail } from './components/index.js';
|
|
87
88
|
export type { AparteConversation, AparteConversationMeta, AparteStorageAdapter, AparteAttachmentRow, AparteConversationLoadedDetail, } from './conversations/index.js';
|
|
88
89
|
export { APARTE_CONVERSATION_SCHEMA_VERSION } from './conversations/index.js';
|
|
89
90
|
export { AparteConversationManager, type ConversationManagerOptions, type AparteConversationsListener, type AparteConversationTitleProvider, } from './conversations/index.js';
|
|
@@ -113,6 +114,7 @@ export type { AparteHostHandlersConfig } from './types/models.js';
|
|
|
113
114
|
export type { AparteKeyProvider } from './config/aparte-config.js';
|
|
114
115
|
export type { AparteClientOptions, AparteToolApprovalResolver } from './client/aparte-client.js';
|
|
115
116
|
export { createStreamAdapter, readableToAsyncIterable } from './client/stream-adapter.js';
|
|
117
|
+
export { toolRefusal } from './client/stream-adapter.js';
|
|
116
118
|
export { createAgentStreamRunner, type AgentStreamRunnerOptions } from './client/agent-runner.js';
|
|
117
119
|
export type { AparteStreamRunEvent, AparteStreamRunEmitter, StreamAdapterTarget, CreateStreamAdapterOptions, AparteStreamRunner, AparteStreamRunOptions } from './client/stream-adapter.js';
|
|
118
120
|
export { AparteDirectTransport, AparteBackendTransport, createAparteChatHandler, createAparteAgentHandler, isFormatAdapter } from './transport/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a1 as resolveConfig,
|
|
2
|
-
import { A, a, b, c, d, f, g, h, i, j, k, l, m, n, p, q, s, t, u, v, y, z, B, D, E, F, G, I, J, K, N, O, T,
|
|
1
|
+
import { a1 as resolveConfig, aa as eventOrigin, ab as activeElementIn, a6 as subscribeConfigChange, a3 as runWithConfig, o as AparteElicitationAbortError, w as buildApprovalPanel, x as buildElicitationPanel, ac as gateGlide, L as escapeAttr, ad as renderingVersionOf, H as cssEscape, ae as mergeSegmentUpdate, M as escapeHtml, V as isSegmentSettled, af as writeStreamedMarkdown, U as isSafeUrl, C as copyText, P as getSegmentRenderer, Q as installDefaultRenderersOnce, r as AparteMessageRepository, ag as stampSegmentActivity, ah as stampSegmentOnInsert, ai as stampSegmentOnUpdate, aj as renumberSegments, ak as openSegmentIds, al as isTerminalStatus, am as adoptMessageSegments, S as isAwaitingReply, Y as populateBubbleFromMessage, a9 as uuid, a2 as revokeAttachmentUrls, X as parseMarkdownToSegments, an as APARTE_DERIVED_SEGMENTS, ao as rememberConversationStatus, ap as tellConversationStatus, aq as conversationStatusOf, e as APARTE_DEFAULT_LOCALE, ar as chatBoundaryOf, as as rootOf, R as installDialogTriggersOnce } from "./dialog-triggers-BqXRdHWZ.js";
|
|
2
|
+
import { A, a, b, c, d, f, g, h, i, j, k, l, m, n, p, q, s, t, u, v, y, z, B, D, E, F, G, I, J, K, N, O, T, W, Z, _, $, a0, a4, a5, a7, a8 } from "./dialog-triggers-BqXRdHWZ.js";
|
|
3
3
|
function presenceOn(value) {
|
|
4
4
|
return value === "" ? true : Boolean(value);
|
|
5
5
|
}
|
|
@@ -1609,6 +1609,7 @@ class AparteChatBubble extends HTMLElement {
|
|
|
1609
1609
|
this._segments[index] = updated;
|
|
1610
1610
|
this._applySegmentUpdate(segmentId, updated, updates);
|
|
1611
1611
|
this._syncCopyAction();
|
|
1612
|
+
if ("status" in updates || "isStreaming" in updates) this._updateWaiting();
|
|
1612
1613
|
}
|
|
1613
1614
|
}
|
|
1614
1615
|
/** Append content to a segment */
|
|
@@ -1879,8 +1880,13 @@ class AparteChatBubble extends HTMLElement {
|
|
|
1879
1880
|
* (same null-guarded degradation as the other region hooks).
|
|
1880
1881
|
*/
|
|
1881
1882
|
_updateWaiting() {
|
|
1882
|
-
const
|
|
1883
|
-
const
|
|
1883
|
+
const shown = this._segmentsEl ? Array.from(this._segmentsEl.children).some((child) => !child.hidden) : this._segments.length > 0;
|
|
1884
|
+
const empty = !shown && !this._content.trim();
|
|
1885
|
+
const last = this._segments.at(-1);
|
|
1886
|
+
const lastEl = this._segmentsEl?.lastElementChild;
|
|
1887
|
+
const asking = last?.type === "tool_call" && last.status === "awaiting-approval";
|
|
1888
|
+
const betweenSteps = last?.type === "tool_call" && (isSegmentSettled(last) || lastEl?.hidden === true);
|
|
1889
|
+
const waiting = this._streaming && this._role !== "user" && !asking && (empty || betweenSteps);
|
|
1884
1890
|
const box = this.querySelector(".aparte-message-content");
|
|
1885
1891
|
if (box) box.hidden = empty && !waiting;
|
|
1886
1892
|
const message = this.querySelector(".aparte-message");
|
|
@@ -4136,12 +4142,32 @@ class AparteChatViewport extends HTMLElement {
|
|
|
4136
4142
|
_gliding() {
|
|
4137
4143
|
return performance.now() < this._glideUntil;
|
|
4138
4144
|
}
|
|
4139
|
-
/**
|
|
4145
|
+
/**
|
|
4146
|
+
* A second smooth `scrollTo` is continuous where an instant write is a cut. It is also a
|
|
4147
|
+
* new smooth scroll: the engine runs it from where the view is, for as long as a first
|
|
4148
|
+
* one takes, so it opens a window of its own. Left on the first glide's deadline, the
|
|
4149
|
+
* window closed in the middle of the re-targeted run and the next pin cut it —
|
|
4150
|
+
* react-webkit in CI, a write 4 px short of the bottom ~330 ms into a send that had
|
|
4151
|
+
* re-targeted a glide already running.
|
|
4152
|
+
*/
|
|
4140
4153
|
_retargetGlide() {
|
|
4141
4154
|
if (!this._container) return;
|
|
4142
4155
|
this._ownScrollAt = performance.now();
|
|
4156
|
+
this._armGlide();
|
|
4143
4157
|
this._container.scrollTo({ top: this._container.scrollHeight, behavior: "smooth" });
|
|
4144
4158
|
}
|
|
4159
|
+
/** Open the glide window from now, and arm the pin that catches a glide that missed. */
|
|
4160
|
+
_armGlide() {
|
|
4161
|
+
this._glideUntil = performance.now() + this._glideWindowMs;
|
|
4162
|
+
if (this._glideSettleTimer !== null) clearTimeout(this._glideSettleTimer);
|
|
4163
|
+
this._glideSettleTimer = setTimeout(() => {
|
|
4164
|
+
this._glideSettleTimer = null;
|
|
4165
|
+
if (!this._container || !this._isAutoScrollEnabled || this._gliding()) return;
|
|
4166
|
+
const max = this._container.scrollHeight - this._container.clientHeight;
|
|
4167
|
+
if (this._container.scrollTop < this._lastScrollTop - 1) return;
|
|
4168
|
+
if (max - this._container.scrollTop > 1) this._scrollToBottom();
|
|
4169
|
+
}, this._glideWindowMs + 16);
|
|
4170
|
+
}
|
|
4145
4171
|
/**
|
|
4146
4172
|
* The browser says a scroll came to rest — the glide is over ONLY if it rested at the
|
|
4147
4173
|
* bottom. WebKit fires `scrollend` when a smooth scroll is REPLACED by another (our own
|
|
@@ -4202,16 +4228,8 @@ class AparteChatViewport extends HTMLElement {
|
|
|
4202
4228
|
if (!this._container) return;
|
|
4203
4229
|
this._ownScrollAt = performance.now();
|
|
4204
4230
|
if (typeof this._container.scrollTo === "function" && !this._prefersReducedMotion()) {
|
|
4205
|
-
this.
|
|
4231
|
+
this._armGlide();
|
|
4206
4232
|
this._container.scrollTo({ top: this._container.scrollHeight, behavior: "smooth" });
|
|
4207
|
-
if (this._glideSettleTimer !== null) clearTimeout(this._glideSettleTimer);
|
|
4208
|
-
this._glideSettleTimer = setTimeout(() => {
|
|
4209
|
-
this._glideSettleTimer = null;
|
|
4210
|
-
if (!this._container || !this._isAutoScrollEnabled || this._gliding()) return;
|
|
4211
|
-
const max = this._container.scrollHeight - this._container.clientHeight;
|
|
4212
|
-
if (this._container.scrollTop < this._lastScrollTop - 1) return;
|
|
4213
|
-
if (max - this._container.scrollTop > 1) this._scrollToBottom();
|
|
4214
|
-
}, this._glideWindowMs + 16);
|
|
4215
4233
|
} else {
|
|
4216
4234
|
this._container.scrollTop = this._container.scrollHeight;
|
|
4217
4235
|
}
|
|
@@ -5712,6 +5730,7 @@ function filterConversationRows(root, needle) {
|
|
|
5712
5730
|
}
|
|
5713
5731
|
return matches;
|
|
5714
5732
|
}
|
|
5733
|
+
const statusOf = (value) => value === "running" || value === "waiting" ? value : null;
|
|
5715
5734
|
function rowSelector(attr, id) {
|
|
5716
5735
|
return `[${attr}="${cssEscape(id)}"]`;
|
|
5717
5736
|
}
|
|
@@ -5768,6 +5787,7 @@ class AparteConversationList extends HTMLElement {
|
|
|
5768
5787
|
this.addEventListener("pointerdown", this._onPress);
|
|
5769
5788
|
this._render();
|
|
5770
5789
|
window.addEventListener("aparte-config-change", this._onConfigChange);
|
|
5790
|
+
window.addEventListener("aparte-conversation-status", this._onStatus);
|
|
5771
5791
|
}
|
|
5772
5792
|
disconnectedCallback() {
|
|
5773
5793
|
this._closeMenu();
|
|
@@ -5780,6 +5800,7 @@ class AparteConversationList extends HTMLElement {
|
|
|
5780
5800
|
this._pressed = false;
|
|
5781
5801
|
this._renderAfterPress = false;
|
|
5782
5802
|
window.removeEventListener("aparte-config-change", this._onConfigChange);
|
|
5803
|
+
window.removeEventListener("aparte-conversation-status", this._onStatus);
|
|
5783
5804
|
}
|
|
5784
5805
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
5785
5806
|
if (oldValue === newValue) return;
|
|
@@ -5801,7 +5822,54 @@ class AparteConversationList extends HTMLElement {
|
|
|
5801
5822
|
if (detail?.config && detail.config !== resolveConfig(this)) return;
|
|
5802
5823
|
this._render();
|
|
5803
5824
|
};
|
|
5825
|
+
/**
|
|
5826
|
+
* `aparte-conversation-status`, on `window`: the controller's, a list's, or an app's own.
|
|
5827
|
+
* Kept page-wide too (an app may dispatch the event itself), then drawn on this row.
|
|
5828
|
+
*/
|
|
5829
|
+
_onStatus = (e) => {
|
|
5830
|
+
const detail = e.detail;
|
|
5831
|
+
if (typeof detail?.id !== "string") return;
|
|
5832
|
+
rememberConversationStatus(detail.id, statusOf(detail.status));
|
|
5833
|
+
const row = this.querySelector(rowSelector("data-conv-id", detail.id));
|
|
5834
|
+
if (row) this._applyStatus(row, detail.id);
|
|
5835
|
+
};
|
|
5804
5836
|
// ─── Public API ───────────────────────────────────────────────────────
|
|
5837
|
+
/**
|
|
5838
|
+
* Say what a conversation is doing: `running` while an AI answers in it, `waiting`
|
|
5839
|
+
* while its turn waits for the person, `null` for neither. The row carries it as
|
|
5840
|
+
* `data-status`, a running title wears `aparte-shimmer`, a waiting row shows its mark
|
|
5841
|
+
* (`.aparte-conv-item__status`, an empty slot otherwise), and a screen reader hears
|
|
5842
|
+
* the state with the title. The look is CSS on `data-status`: a site that wants a dot
|
|
5843
|
+
* for `running` draws it in the slot and takes the shimmer off.
|
|
5844
|
+
*
|
|
5845
|
+
* A state is about a conversation, not about this list: it is kept page-wide and every
|
|
5846
|
+
* list on the page draws it, one that connects later included. Patched in place, and
|
|
5847
|
+
* kept across re-renders and for rows not drawn yet. The conversation controller sets
|
|
5848
|
+
* it on its own through `aparte-conversation-status`.
|
|
5849
|
+
*/
|
|
5850
|
+
setConversationStatus(id, status) {
|
|
5851
|
+
tellConversationStatus(id, statusOf(status));
|
|
5852
|
+
}
|
|
5853
|
+
/** What a conversation is doing, as last told; `null` for neither. */
|
|
5854
|
+
getConversationStatus(id) {
|
|
5855
|
+
return conversationStatusOf(id);
|
|
5856
|
+
}
|
|
5857
|
+
/** Write a conversation's state onto its row — the same three things `_renderItem` draws. */
|
|
5858
|
+
_applyStatus(row, id) {
|
|
5859
|
+
const status = conversationStatusOf(id);
|
|
5860
|
+
if (status) row.setAttribute("data-status", status);
|
|
5861
|
+
else row.removeAttribute("data-status");
|
|
5862
|
+
const answering = status === "running";
|
|
5863
|
+
row.querySelector(".aparte-conv-item__title")?.classList.toggle("aparte-shimmer", answering);
|
|
5864
|
+
const heard = row.querySelector(".aparte-conv-item__state");
|
|
5865
|
+
if (heard) heard.textContent = this._statusWords(status);
|
|
5866
|
+
}
|
|
5867
|
+
/** The words a screen reader hears for a state. Literal `t('…')` reads, for the locale guard. */
|
|
5868
|
+
_statusWords(status) {
|
|
5869
|
+
if (status === "running") return this._t("conversationRunning");
|
|
5870
|
+
if (status === "waiting") return this._t("conversationWaiting");
|
|
5871
|
+
return "";
|
|
5872
|
+
}
|
|
5805
5873
|
/** Set the list of conversations to display. Triggers a re-render. */
|
|
5806
5874
|
set conversations(items) {
|
|
5807
5875
|
this._conversations = Array.isArray(items) ? items : [];
|
|
@@ -6013,14 +6081,18 @@ class AparteConversationList extends HTMLElement {
|
|
|
6013
6081
|
const title = escapeHtml(conv.title || this._t("newChat"));
|
|
6014
6082
|
const actionsLabel = escapeAttr(this._t("conversationActions"));
|
|
6015
6083
|
const moreGlyph = resolveConfig(this).getIcon("more");
|
|
6084
|
+
const status = conversationStatusOf(conv.id);
|
|
6085
|
+
const statusAttr = status ? ` data-status="${escapeAttr(status)}"` : "";
|
|
6086
|
+
const titleClass = escapeAttr(status === "running" ? "aparte-conv-item__title aparte-shimmer" : "aparte-conv-item__title");
|
|
6087
|
+
const heard = escapeHtml(this._statusWords(status));
|
|
6016
6088
|
return `
|
|
6017
|
-
<div class="${escapeAttr(classes)}" data-conv-id="${escapedId}">
|
|
6089
|
+
<div class="${escapeAttr(classes)}" data-conv-id="${escapedId}"${statusAttr}>
|
|
6018
6090
|
<button
|
|
6019
6091
|
class="aparte-conv-item__select"
|
|
6020
6092
|
type="button"
|
|
6021
6093
|
data-select-id="${escapedId}"
|
|
6022
6094
|
aria-current="${isActive ? "page" : "false"}"
|
|
6023
|
-
><span class="aparte-conv-
|
|
6095
|
+
><span class="${titleClass}">${title}</span><span class="aparte-conv-item__status" aria-hidden="true"></span><span class="aparte-conv-item__state aparte-sr-only">${heard}</span></button>
|
|
6024
6096
|
<button
|
|
6025
6097
|
class="aparte-btn aparte-btn--icon aparte-btn--sm aparte-conv-item__more"
|
|
6026
6098
|
type="button"
|
|
@@ -8538,7 +8610,7 @@ export {
|
|
|
8538
8610
|
isAwaitingReply,
|
|
8539
8611
|
T as isFormatAdapter,
|
|
8540
8612
|
isSafeUrl,
|
|
8541
|
-
|
|
8613
|
+
isSegmentSettled,
|
|
8542
8614
|
W as parseAparteEventStream,
|
|
8543
8615
|
parseMarkdownToSegments,
|
|
8544
8616
|
populateBubbleFromMessage,
|
|
@@ -8553,7 +8625,8 @@ export {
|
|
|
8553
8625
|
a4 as segmentDuration,
|
|
8554
8626
|
a5 as segmentTiming,
|
|
8555
8627
|
subscribeConfigChange,
|
|
8556
|
-
a7 as
|
|
8628
|
+
a7 as toolRefusal,
|
|
8629
|
+
a8 as unregisterSegmentRenderer,
|
|
8557
8630
|
uuid
|
|
8558
8631
|
};
|
|
8559
8632
|
//# sourceMappingURL=index.js.map
|