@ahggg/dsh-side-chat 0.7.2 → 1.0.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 +16 -13
- package/README.zh-CN.md +16 -13
- package/lib/client/apply.d.ts +0 -1
- package/lib/client/apply.js +48 -33
- package/lib/client/contracts.d.ts +3 -59
- package/lib/client/contracts.js +0 -1
- package/lib/client/dsh/ReadOnlyConversation.d.ts +10 -0
- package/lib/client/dsh/ReadOnlyConversation.js +91 -0
- package/lib/client/dsh/SideChatOverlay.d.ts +7 -0
- package/lib/client/{rc6/Rc6SideChatOverlay.js → dsh/SideChatOverlay.js} +26 -57
- package/lib/client/{rc6 → dsh}/context.d.ts +7 -3
- package/lib/client/dsh/context.js +1 -0
- package/lib/client/dsh/conversation-store.d.ts +22 -0
- package/lib/client/dsh/conversation-store.js +19 -0
- package/lib/client/dsh/primitive-labels.d.ts +2 -0
- package/lib/client/dsh/primitive-labels.js +4 -0
- package/lib/client/{rc6 → dsh}/remote-adapter.d.ts +2 -3
- package/lib/client/dsh/remote-adapter.js +22 -0
- package/lib/client/dsh/sessions-adapter.d.ts +56 -0
- package/lib/client/dsh/sessions-adapter.js +185 -0
- package/lib/client/index.d.ts +2 -3
- package/lib/client/index.js +0 -1
- package/lib/client/model-preference.d.ts +0 -1
- package/lib/client/model-preference.js +0 -1
- package/lib/client/panel/SelectionQuote.d.ts +0 -1
- package/lib/client/panel/SelectionQuote.js +8 -2
- package/lib/client/panel/SendIcon.d.ts +0 -1
- package/lib/client/panel/SendIcon.js +0 -1
- package/lib/client/panel/SideChatBody.d.ts +0 -1
- package/lib/client/panel/SideChatBody.js +0 -1
- package/lib/client/panel/SideChatErrorState.d.ts +0 -1
- package/lib/client/panel/SideChatErrorState.js +1 -2
- package/lib/client/panel/SideChatHeader.d.ts +0 -1
- package/lib/client/panel/SideChatHeader.js +0 -1
- package/lib/client/panel/SideChatModelSelect.d.ts +0 -1
- package/lib/client/panel/SideChatModelSelect.js +37 -19
- package/lib/client/panel/SideChatPanel.d.ts +0 -1
- package/lib/client/panel/SideChatPanel.js +12 -6
- package/lib/client/panel/StopIcon.d.ts +0 -1
- package/lib/client/panel/StopIcon.js +0 -1
- package/lib/client/panel/messages.d.ts +1 -2
- package/lib/client/panel/messages.js +8 -9
- package/lib/client/panel/use-auto-growing-textarea.d.ts +0 -1
- package/lib/client/panel/use-auto-growing-textarea.js +0 -1
- package/lib/client/parent-composer/ParentConversationAnnotations.d.ts +3 -3
- package/lib/client/parent-composer/ParentConversationAnnotations.js +71 -28
- package/lib/client/parent-composer/add-to-conversation.d.ts +14 -29
- package/lib/client/parent-composer/add-to-conversation.js +134 -457
- package/lib/client/parent-composer/annotation-persistence.d.ts +8 -9
- package/lib/client/parent-composer/annotation-persistence.js +106 -103
- package/lib/client/parent-composer/composer-reference.d.ts +19 -48
- package/lib/client/parent-composer/composer-reference.js +26 -46
- package/lib/client/parent-composer/referenced-conversation.d.ts +5 -8
- package/lib/client/parent-composer/referenced-conversation.js +27 -61
- package/lib/client/selection/ConversationAnnotationMarkers.d.ts +0 -1
- package/lib/client/selection/ConversationAnnotationMarkers.js +5 -2
- package/lib/client/selection/SelectionActions.d.ts +0 -1
- package/lib/client/selection/SelectionActions.js +2 -2
- package/lib/client/selection/conversation-dom.d.ts +5 -0
- package/lib/client/selection/conversation-dom.js +24 -0
- package/lib/client/selection/selection-controller.d.ts +1 -2
- package/lib/client/selection/selection-controller.js +7 -4
- package/lib/client/selection/selection-limits.d.ts +0 -1
- package/lib/client/selection/selection-limits.js +0 -1
- package/lib/client/selection/selection-normalizer.d.ts +0 -1
- package/lib/client/selection/selection-normalizer.js +1 -2
- package/lib/client/side-chat-controller.d.ts +28 -42
- package/lib/client/side-chat-controller.js +245 -338
- package/lib/client.js +1202 -8951
- package/lib/host/index.d.ts +1 -2
- package/lib/host/index.js +1 -2
- package/lib/host/read-only-chat-service.d.ts +30 -0
- package/lib/host/read-only-chat-service.js +314 -0
- package/lib/index.d.ts +16 -9
- package/lib/index.js +34 -14
- package/lib/remote.d.ts +23 -15
- package/lib/remote.js +2 -6
- package/lib/shared/constants.d.ts +0 -14
- package/lib/shared/constants.js +0 -14
- package/lib/shared/contracts.d.ts +52 -20
- package/lib/shared/contracts.js +2 -4
- package/lib/shared/error-codes.d.ts +1 -2
- package/lib/shared/error-codes.js +2 -3
- package/lib/shared/observable.d.ts +0 -1
- package/lib/shared/observable.js +0 -1
- package/lib/shared/{archived-wire.d.ts → side-chat-wire.d.ts} +109 -21
- package/lib/shared/side-chat-wire.js +34 -0
- package/lib/typert.d.ts +3 -69
- package/lib/typert.js +120 -51
- package/package.json +80 -38
- package/lib/client/apply.d.ts.map +0 -1
- package/lib/client/apply.js.map +0 -1
- package/lib/client/contracts.d.ts.map +0 -1
- package/lib/client/contracts.js.map +0 -1
- package/lib/client/index.d.ts.map +0 -1
- package/lib/client/index.js.map +0 -1
- package/lib/client/model-preference.d.ts.map +0 -1
- package/lib/client/model-preference.js.map +0 -1
- package/lib/client/panel/SelectionQuote.d.ts.map +0 -1
- package/lib/client/panel/SelectionQuote.js.map +0 -1
- package/lib/client/panel/SendIcon.d.ts.map +0 -1
- package/lib/client/panel/SendIcon.js.map +0 -1
- package/lib/client/panel/SideChatBody.d.ts.map +0 -1
- package/lib/client/panel/SideChatBody.js.map +0 -1
- package/lib/client/panel/SideChatErrorState.d.ts.map +0 -1
- package/lib/client/panel/SideChatErrorState.js.map +0 -1
- package/lib/client/panel/SideChatHeader.d.ts.map +0 -1
- package/lib/client/panel/SideChatHeader.js.map +0 -1
- package/lib/client/panel/SideChatModelSelect.d.ts.map +0 -1
- package/lib/client/panel/SideChatModelSelect.js.map +0 -1
- package/lib/client/panel/SideChatPanel.d.ts.map +0 -1
- package/lib/client/panel/SideChatPanel.js.map +0 -1
- package/lib/client/panel/StopIcon.d.ts.map +0 -1
- package/lib/client/panel/StopIcon.js.map +0 -1
- package/lib/client/panel/messages.d.ts.map +0 -1
- package/lib/client/panel/messages.js.map +0 -1
- package/lib/client/panel/use-auto-growing-textarea.d.ts.map +0 -1
- package/lib/client/panel/use-auto-growing-textarea.js.map +0 -1
- package/lib/client/parent-composer/ParentConversationAnnotations.d.ts.map +0 -1
- package/lib/client/parent-composer/ParentConversationAnnotations.js.map +0 -1
- package/lib/client/parent-composer/add-to-conversation.d.ts.map +0 -1
- package/lib/client/parent-composer/add-to-conversation.js.map +0 -1
- package/lib/client/parent-composer/annotation-persistence.d.ts.map +0 -1
- package/lib/client/parent-composer/annotation-persistence.js.map +0 -1
- package/lib/client/parent-composer/composer-reference.d.ts.map +0 -1
- package/lib/client/parent-composer/composer-reference.js.map +0 -1
- package/lib/client/parent-composer/referenced-conversation.d.ts.map +0 -1
- package/lib/client/parent-composer/referenced-conversation.js.map +0 -1
- package/lib/client/rc6/ArchivedConversation.d.ts +0 -15
- package/lib/client/rc6/ArchivedConversation.d.ts.map +0 -1
- package/lib/client/rc6/ArchivedConversation.js +0 -230
- package/lib/client/rc6/ArchivedConversation.js.map +0 -1
- package/lib/client/rc6/Rc6SideChatOverlay.d.ts +0 -8
- package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +0 -1
- package/lib/client/rc6/Rc6SideChatOverlay.js.map +0 -1
- package/lib/client/rc6/SideChatTool.d.ts +0 -23
- package/lib/client/rc6/SideChatTool.d.ts.map +0 -1
- package/lib/client/rc6/SideChatTool.js +0 -395
- package/lib/client/rc6/SideChatTool.js.map +0 -1
- package/lib/client/rc6/context.d.ts.map +0 -1
- package/lib/client/rc6/context.js +0 -2
- package/lib/client/rc6/context.js.map +0 -1
- package/lib/client/rc6/remote-adapter.d.ts.map +0 -1
- package/lib/client/rc6/remote-adapter.js +0 -33
- package/lib/client/rc6/remote-adapter.js.map +0 -1
- package/lib/client/rc6/sessions-adapter.d.ts +0 -61
- package/lib/client/rc6/sessions-adapter.d.ts.map +0 -1
- package/lib/client/rc6/sessions-adapter.js +0 -370
- package/lib/client/rc6/sessions-adapter.js.map +0 -1
- package/lib/client/selection/ConversationAnnotationMarkers.d.ts.map +0 -1
- package/lib/client/selection/ConversationAnnotationMarkers.js.map +0 -1
- package/lib/client/selection/SelectionActions.d.ts.map +0 -1
- package/lib/client/selection/SelectionActions.js.map +0 -1
- package/lib/client/selection/selection-controller.d.ts.map +0 -1
- package/lib/client/selection/selection-controller.js.map +0 -1
- package/lib/client/selection/selection-limits.d.ts.map +0 -1
- package/lib/client/selection/selection-limits.js.map +0 -1
- package/lib/client/selection/selection-normalizer.d.ts.map +0 -1
- package/lib/client/selection/selection-normalizer.js.map +0 -1
- package/lib/client/side-chat-controller.d.ts.map +0 -1
- package/lib/client/side-chat-controller.js.map +0 -1
- package/lib/client.js.map +0 -1
- package/lib/host/archived-fork-service.d.ts +0 -29
- package/lib/host/archived-fork-service.d.ts.map +0 -1
- package/lib/host/archived-fork-service.js +0 -264
- package/lib/host/archived-fork-service.js.map +0 -1
- package/lib/host/index.d.ts.map +0 -1
- package/lib/host/index.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/remote.d.ts.map +0 -1
- package/lib/remote.js.map +0 -1
- package/lib/shared/archived-wire.d.ts.map +0 -1
- package/lib/shared/archived-wire.js +0 -48
- package/lib/shared/archived-wire.js.map +0 -1
- package/lib/shared/constants.d.ts.map +0 -1
- package/lib/shared/constants.js.map +0 -1
- package/lib/shared/contracts.d.ts.map +0 -1
- package/lib/shared/contracts.js.map +0 -1
- package/lib/shared/error-codes.d.ts.map +0 -1
- package/lib/shared/error-codes.js.map +0 -1
- package/lib/shared/observable.d.ts.map +0 -1
- package/lib/shared/observable.js.map +0 -1
- package/lib/typert.d.ts.map +0 -1
- package/lib/typert.js.map +0 -1
|
@@ -148,7 +148,8 @@ export function SelectionActions({ selection, touchInteraction = false, askDisab
|
|
|
148
148
|
closeEditor();
|
|
149
149
|
return;
|
|
150
150
|
}
|
|
151
|
-
if (event.key === 'Enter' && !event.shiftKey
|
|
151
|
+
if (event.key === 'Enter' && !event.shiftKey && !event.nativeEvent.isComposing
|
|
152
|
+
&& event.keyCode !== 229) {
|
|
152
153
|
event.preventDefault();
|
|
153
154
|
saveAnnotation();
|
|
154
155
|
}
|
|
@@ -199,4 +200,3 @@ export function SelectionActions({ selection, touchInteraction = false, askDisab
|
|
|
199
200
|
onDismiss();
|
|
200
201
|
}, children: [_jsx("button", { type: "button", onPointerDown: (event) => { activateOnTouch(event, openAnnotationEditor); }, onClick: (event) => { activateOnClick(event, openAnnotationEditor); }, children: "Add to chat" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onPointerDown: (event) => { activateOnTouch(event, showMoreDetails); }, onClick: (event) => { activateOnClick(event, showMoreDetails); }, children: "More details" }), _jsx("button", { type: "button", disabled: askDisabledReason !== undefined, title: askDisabledReason, onPointerDown: (event) => { activateOnTouch(event, askInSideChat); }, onClick: (event) => { activateOnClick(event, askInSideChat); }, children: "Ask in side chat" })] }));
|
|
201
202
|
}
|
|
202
|
-
//# sourceMappingURL=SelectionActions.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SessionId } from '../../shared/contracts.js';
|
|
2
|
+
/** Resolve the exact Session, never the first chat/composer in a multi-panel UI. */
|
|
3
|
+
export declare function conversationElement(sessionId: SessionId): HTMLElement | undefined;
|
|
4
|
+
export declare function conversationChatRoot(sessionId: SessionId): HTMLElement | undefined;
|
|
5
|
+
export declare function focusConversationComposer(sessionId: SessionId): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Resolve the exact Session, never the first chat/composer in a multi-panel UI. */
|
|
2
|
+
export function conversationElement(sessionId) {
|
|
3
|
+
return [...document.querySelectorAll('[data-conversation-session]')]
|
|
4
|
+
.find(element => element.dataset['conversationSession'] === sessionId
|
|
5
|
+
&& element.closest('[data-side-chat-panel], [hidden], [aria-hidden="true"]') === null);
|
|
6
|
+
}
|
|
7
|
+
export function conversationChatRoot(sessionId) {
|
|
8
|
+
return conversationElement(sessionId)?.querySelector('[data-chat-flow]') ?? undefined;
|
|
9
|
+
}
|
|
10
|
+
export function focusConversationComposer(sessionId) {
|
|
11
|
+
// Workspace navigation schedules React rendering; focus after that commit,
|
|
12
|
+
// and never fall back to a different Session's composer.
|
|
13
|
+
window.requestAnimationFrame(() => {
|
|
14
|
+
const input = conversationElement(sessionId)?.querySelector([
|
|
15
|
+
'[data-composer-seat] textarea', '[data-composer-seat] [role="textbox"]',
|
|
16
|
+
'[data-composer-seat] [contenteditable="true"]',
|
|
17
|
+
].join(', '));
|
|
18
|
+
if (input === undefined || input === null)
|
|
19
|
+
return;
|
|
20
|
+
input.focus();
|
|
21
|
+
if (input instanceof HTMLTextAreaElement)
|
|
22
|
+
input.setSelectionRange(input.value.length, input.value.length);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -20,7 +20,7 @@ export interface RestoredConversationSelection {
|
|
|
20
20
|
readonly browserRange: Range;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Capture against DSH's public Chat anchors. Fail closed unless every
|
|
24
24
|
* selected text node belongs to one public Chat anchor.
|
|
25
25
|
*/
|
|
26
26
|
export declare function captureDomConversationSelection(input: {
|
|
@@ -34,4 +34,3 @@ export declare function restoreDomConversationSelection(input: {
|
|
|
34
34
|
readonly selection: ConversationSelection;
|
|
35
35
|
readonly conversationRoot: HTMLElement;
|
|
36
36
|
}): RestoredConversationSelection | undefined;
|
|
37
|
-
//# sourceMappingURL=selection-controller.d.ts.map
|
|
@@ -11,6 +11,10 @@ function excluded(node, root) {
|
|
|
11
11
|
'[data-selection-exclude]',
|
|
12
12
|
'[data-side-chat-panel]',
|
|
13
13
|
'[aria-hidden="true"]',
|
|
14
|
+
'[hidden]',
|
|
15
|
+
'[inert]',
|
|
16
|
+
'script',
|
|
17
|
+
'style',
|
|
14
18
|
'button',
|
|
15
19
|
'textarea',
|
|
16
20
|
'input',
|
|
@@ -23,7 +27,7 @@ function acceptedTextNodes(anchor, root) {
|
|
|
23
27
|
let current = walker.nextNode();
|
|
24
28
|
while (current !== null) {
|
|
25
29
|
const text = current;
|
|
26
|
-
if (!excluded(text, root))
|
|
30
|
+
if (!excluded(text, root) && anchorOf(text) === anchor)
|
|
27
31
|
nodes.push(text);
|
|
28
32
|
current = walker.nextNode();
|
|
29
33
|
}
|
|
@@ -50,7 +54,7 @@ function selectedSlice(range, node) {
|
|
|
50
54
|
return { start, end, text: node.data.slice(start, end) };
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
53
|
-
*
|
|
57
|
+
* Capture against DSH's public Chat anchors. Fail closed unless every
|
|
54
58
|
* selected text node belongs to one public Chat anchor.
|
|
55
59
|
*/
|
|
56
60
|
export async function captureDomConversationSelection(input) {
|
|
@@ -65,7 +69,7 @@ export async function captureDomConversationSelection(input) {
|
|
|
65
69
|
const startAnchor = anchorOf(range.startContainer);
|
|
66
70
|
const endAnchor = anchorOf(range.endContainer);
|
|
67
71
|
if (startAnchor === null || endAnchor === null || startAnchor !== endAnchor) {
|
|
68
|
-
throw new SelectionValidationError('selection_crosses_unsupported_nodes', '
|
|
72
|
+
throw new SelectionValidationError('selection_crosses_unsupported_nodes', 'Select a passage inside one message.');
|
|
69
73
|
}
|
|
70
74
|
const descriptor = input.resolver.resolve(startAnchor);
|
|
71
75
|
if (descriptor === undefined) {
|
|
@@ -162,4 +166,3 @@ export function restoreDomConversationSelection(input) {
|
|
|
162
166
|
browserRange.setEnd(last.endContainer, last.endOffset);
|
|
163
167
|
return { ranges, browserRange };
|
|
164
168
|
}
|
|
165
|
-
//# sourceMappingURL=selection-controller.js.map
|
|
@@ -4,4 +4,3 @@ export declare function utf8ByteLength(value: string): number;
|
|
|
4
4
|
export declare function selectionFitsLimit(value: string): boolean;
|
|
5
5
|
/** Code-point-safe preview that never cuts a surrogate pair. */
|
|
6
6
|
export declare function summarizeSelection(value: string, maxCodePoints?: number): string;
|
|
7
|
-
//# sourceMappingURL=selection-limits.d.ts.map
|
|
@@ -13,4 +13,3 @@ export interface ConversationSelectionInput {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function finalizeConversationSelection(input: ConversationSelectionInput): ConversationSelection;
|
|
15
15
|
export declare function assertSelectionCurrent(selection: ConversationSelection, currentSessionId: SessionId | undefined): void;
|
|
16
|
-
//# sourceMappingURL=selection-normalizer.d.ts.map
|
|
@@ -27,7 +27,7 @@ export function finalizeConversationSelection(input) {
|
|
|
27
27
|
throw new SelectionValidationError('selection_too_large', 'The selected text is too large.');
|
|
28
28
|
}
|
|
29
29
|
if (!fragment.modelVisible || !fragment.settled) {
|
|
30
|
-
throw new SelectionValidationError('
|
|
30
|
+
throw new SelectionValidationError('context_unavailable', 'Wait for this message to finish before opening Side Chat.');
|
|
31
31
|
}
|
|
32
32
|
if (!Number.isSafeInteger(fragment.seq) || fragment.seq < 0) {
|
|
33
33
|
throw new SelectionValidationError('selection_stale', 'The selected message is no longer available.');
|
|
@@ -45,4 +45,3 @@ export function assertSelectionCurrent(selection, currentSessionId) {
|
|
|
45
45
|
throw new SelectionValidationError('selection_stale', 'The parent conversation changed after selection.');
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=selection-normalizer.js.map
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import type { ConversationSelection, SessionId, SideChatModelSelection,
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare class SideChatController implements HostObservable<SideChatState> {
|
|
1
|
+
import type { ConversationSelection, SessionId, SideChatModelSelection, SideChatRemote, SideChatState } from '../shared/contracts.js';
|
|
2
|
+
import type { SideChatActionResult, SideChatClientSessions } from './contracts.js';
|
|
3
|
+
/** Owns only plugin UI state and a cancellable model stream, never a child Session. */
|
|
4
|
+
export declare class SideChatController {
|
|
6
5
|
private readonly remote;
|
|
7
6
|
private readonly sessions;
|
|
8
7
|
private readonly observable;
|
|
9
|
-
private
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
-
private closing;
|
|
13
|
-
private closeRequested;
|
|
8
|
+
private generation;
|
|
9
|
+
private modelGeneration;
|
|
10
|
+
private requestSequence;
|
|
14
11
|
private disposed;
|
|
12
|
+
private releaseParent;
|
|
13
|
+
private creating;
|
|
14
|
+
private closing;
|
|
15
|
+
private running;
|
|
16
|
+
private cancelling;
|
|
17
|
+
private pendingRequest;
|
|
15
18
|
constructor(remote: SideChatRemote, sessions: SideChatClientSessions);
|
|
16
19
|
getSnapshot: () => SideChatState;
|
|
17
20
|
subscribe: (listener: () => void) => (() => void);
|
|
@@ -19,39 +22,22 @@ export declare class SideChatController implements HostObservable<SideChatState>
|
|
|
19
22
|
readonly parentSessionId?: SessionId;
|
|
20
23
|
readonly selection?: ConversationSelection;
|
|
21
24
|
readonly draft?: string;
|
|
22
|
-
}): SideChatActionResult
|
|
23
|
-
setDraft(draft: string): SideChatActionResult
|
|
24
|
-
clearSelection(): SideChatActionResult
|
|
25
|
-
initializeModel(
|
|
26
|
-
selectModel(
|
|
27
|
-
sendFirst(question: string): Promise<SideChatActionResult
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
} | {
|
|
34
|
-
readonly kind: 'remove';
|
|
35
|
-
} | {
|
|
36
|
-
readonly kind: 'steer';
|
|
37
|
-
}): Promise<SideChatActionResult<void>>;
|
|
38
|
-
cancel(): Promise<SideChatActionResult<void>>;
|
|
39
|
-
respondApproval(interactionId: string, decision: 'approve' | 'decline'): Promise<SideChatActionResult<void>>;
|
|
40
|
-
respondQuestion(interactionId: string, answer: SideChatQuestionAnswer | null): Promise<SideChatActionResult<void>>;
|
|
41
|
-
close(): Promise<SideChatActionResult<void>>;
|
|
42
|
-
retry(): Promise<SideChatActionResult<unknown>>;
|
|
25
|
+
}): SideChatActionResult;
|
|
26
|
+
setDraft(draft: string): SideChatActionResult;
|
|
27
|
+
clearSelection(): SideChatActionResult;
|
|
28
|
+
initializeModel(model: SideChatModelSelection): SideChatActionResult<SideChatModelSelection>;
|
|
29
|
+
selectModel(model: SideChatModelSelection): Promise<SideChatActionResult<SideChatModelSelection>>;
|
|
30
|
+
sendFirst(question: string): Promise<SideChatActionResult>;
|
|
31
|
+
/** Resolves at admission; the independently consumed stream continues to update the transcript. */
|
|
32
|
+
send(question: string): Promise<SideChatActionResult>;
|
|
33
|
+
cancel(): Promise<SideChatActionResult>;
|
|
34
|
+
retry(): Promise<SideChatActionResult>;
|
|
35
|
+
close(): Promise<SideChatActionResult>;
|
|
43
36
|
dispose(): Promise<void>;
|
|
44
|
-
private
|
|
45
|
-
private
|
|
46
|
-
private
|
|
47
|
-
private performClose;
|
|
48
|
-
private bindingTarget;
|
|
49
|
-
private attachLease;
|
|
50
|
-
private detachLease;
|
|
51
|
-
private updateFromChild;
|
|
37
|
+
private consume;
|
|
38
|
+
private streamFailure;
|
|
39
|
+
private closeCurrent;
|
|
52
40
|
private fail;
|
|
41
|
+
private disposeStream;
|
|
53
42
|
private invoke;
|
|
54
|
-
private reset;
|
|
55
|
-
private publish;
|
|
56
43
|
}
|
|
57
|
-
//# sourceMappingURL=side-chat-controller.d.ts.map
|