@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.
Files changed (185) hide show
  1. package/README.md +16 -13
  2. package/README.zh-CN.md +16 -13
  3. package/lib/client/apply.d.ts +0 -1
  4. package/lib/client/apply.js +48 -33
  5. package/lib/client/contracts.d.ts +3 -59
  6. package/lib/client/contracts.js +0 -1
  7. package/lib/client/dsh/ReadOnlyConversation.d.ts +10 -0
  8. package/lib/client/dsh/ReadOnlyConversation.js +91 -0
  9. package/lib/client/dsh/SideChatOverlay.d.ts +7 -0
  10. package/lib/client/{rc6/Rc6SideChatOverlay.js → dsh/SideChatOverlay.js} +26 -57
  11. package/lib/client/{rc6 → dsh}/context.d.ts +7 -3
  12. package/lib/client/dsh/context.js +1 -0
  13. package/lib/client/dsh/conversation-store.d.ts +22 -0
  14. package/lib/client/dsh/conversation-store.js +19 -0
  15. package/lib/client/dsh/primitive-labels.d.ts +2 -0
  16. package/lib/client/dsh/primitive-labels.js +4 -0
  17. package/lib/client/{rc6 → dsh}/remote-adapter.d.ts +2 -3
  18. package/lib/client/dsh/remote-adapter.js +22 -0
  19. package/lib/client/dsh/sessions-adapter.d.ts +56 -0
  20. package/lib/client/dsh/sessions-adapter.js +185 -0
  21. package/lib/client/index.d.ts +2 -3
  22. package/lib/client/index.js +0 -1
  23. package/lib/client/model-preference.d.ts +0 -1
  24. package/lib/client/model-preference.js +0 -1
  25. package/lib/client/panel/SelectionQuote.d.ts +0 -1
  26. package/lib/client/panel/SelectionQuote.js +8 -2
  27. package/lib/client/panel/SendIcon.d.ts +0 -1
  28. package/lib/client/panel/SendIcon.js +0 -1
  29. package/lib/client/panel/SideChatBody.d.ts +0 -1
  30. package/lib/client/panel/SideChatBody.js +0 -1
  31. package/lib/client/panel/SideChatErrorState.d.ts +0 -1
  32. package/lib/client/panel/SideChatErrorState.js +1 -2
  33. package/lib/client/panel/SideChatHeader.d.ts +0 -1
  34. package/lib/client/panel/SideChatHeader.js +0 -1
  35. package/lib/client/panel/SideChatModelSelect.d.ts +0 -1
  36. package/lib/client/panel/SideChatModelSelect.js +37 -19
  37. package/lib/client/panel/SideChatPanel.d.ts +0 -1
  38. package/lib/client/panel/SideChatPanel.js +12 -6
  39. package/lib/client/panel/StopIcon.d.ts +0 -1
  40. package/lib/client/panel/StopIcon.js +0 -1
  41. package/lib/client/panel/messages.d.ts +1 -2
  42. package/lib/client/panel/messages.js +8 -9
  43. package/lib/client/panel/use-auto-growing-textarea.d.ts +0 -1
  44. package/lib/client/panel/use-auto-growing-textarea.js +0 -1
  45. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts +3 -3
  46. package/lib/client/parent-composer/ParentConversationAnnotations.js +71 -28
  47. package/lib/client/parent-composer/add-to-conversation.d.ts +14 -29
  48. package/lib/client/parent-composer/add-to-conversation.js +134 -457
  49. package/lib/client/parent-composer/annotation-persistence.d.ts +8 -9
  50. package/lib/client/parent-composer/annotation-persistence.js +106 -103
  51. package/lib/client/parent-composer/composer-reference.d.ts +19 -48
  52. package/lib/client/parent-composer/composer-reference.js +26 -46
  53. package/lib/client/parent-composer/referenced-conversation.d.ts +5 -8
  54. package/lib/client/parent-composer/referenced-conversation.js +27 -61
  55. package/lib/client/selection/ConversationAnnotationMarkers.d.ts +0 -1
  56. package/lib/client/selection/ConversationAnnotationMarkers.js +5 -2
  57. package/lib/client/selection/SelectionActions.d.ts +0 -1
  58. package/lib/client/selection/SelectionActions.js +2 -2
  59. package/lib/client/selection/conversation-dom.d.ts +5 -0
  60. package/lib/client/selection/conversation-dom.js +24 -0
  61. package/lib/client/selection/selection-controller.d.ts +1 -2
  62. package/lib/client/selection/selection-controller.js +7 -4
  63. package/lib/client/selection/selection-limits.d.ts +0 -1
  64. package/lib/client/selection/selection-limits.js +0 -1
  65. package/lib/client/selection/selection-normalizer.d.ts +0 -1
  66. package/lib/client/selection/selection-normalizer.js +1 -2
  67. package/lib/client/side-chat-controller.d.ts +28 -42
  68. package/lib/client/side-chat-controller.js +245 -338
  69. package/lib/client.js +1202 -8951
  70. package/lib/host/index.d.ts +1 -2
  71. package/lib/host/index.js +1 -2
  72. package/lib/host/read-only-chat-service.d.ts +30 -0
  73. package/lib/host/read-only-chat-service.js +314 -0
  74. package/lib/index.d.ts +16 -9
  75. package/lib/index.js +34 -14
  76. package/lib/remote.d.ts +23 -15
  77. package/lib/remote.js +2 -6
  78. package/lib/shared/constants.d.ts +0 -14
  79. package/lib/shared/constants.js +0 -14
  80. package/lib/shared/contracts.d.ts +52 -20
  81. package/lib/shared/contracts.js +2 -4
  82. package/lib/shared/error-codes.d.ts +1 -2
  83. package/lib/shared/error-codes.js +2 -3
  84. package/lib/shared/observable.d.ts +0 -1
  85. package/lib/shared/observable.js +0 -1
  86. package/lib/shared/{archived-wire.d.ts → side-chat-wire.d.ts} +109 -21
  87. package/lib/shared/side-chat-wire.js +34 -0
  88. package/lib/typert.d.ts +3 -69
  89. package/lib/typert.js +120 -51
  90. package/package.json +80 -38
  91. package/lib/client/apply.d.ts.map +0 -1
  92. package/lib/client/apply.js.map +0 -1
  93. package/lib/client/contracts.d.ts.map +0 -1
  94. package/lib/client/contracts.js.map +0 -1
  95. package/lib/client/index.d.ts.map +0 -1
  96. package/lib/client/index.js.map +0 -1
  97. package/lib/client/model-preference.d.ts.map +0 -1
  98. package/lib/client/model-preference.js.map +0 -1
  99. package/lib/client/panel/SelectionQuote.d.ts.map +0 -1
  100. package/lib/client/panel/SelectionQuote.js.map +0 -1
  101. package/lib/client/panel/SendIcon.d.ts.map +0 -1
  102. package/lib/client/panel/SendIcon.js.map +0 -1
  103. package/lib/client/panel/SideChatBody.d.ts.map +0 -1
  104. package/lib/client/panel/SideChatBody.js.map +0 -1
  105. package/lib/client/panel/SideChatErrorState.d.ts.map +0 -1
  106. package/lib/client/panel/SideChatErrorState.js.map +0 -1
  107. package/lib/client/panel/SideChatHeader.d.ts.map +0 -1
  108. package/lib/client/panel/SideChatHeader.js.map +0 -1
  109. package/lib/client/panel/SideChatModelSelect.d.ts.map +0 -1
  110. package/lib/client/panel/SideChatModelSelect.js.map +0 -1
  111. package/lib/client/panel/SideChatPanel.d.ts.map +0 -1
  112. package/lib/client/panel/SideChatPanel.js.map +0 -1
  113. package/lib/client/panel/StopIcon.d.ts.map +0 -1
  114. package/lib/client/panel/StopIcon.js.map +0 -1
  115. package/lib/client/panel/messages.d.ts.map +0 -1
  116. package/lib/client/panel/messages.js.map +0 -1
  117. package/lib/client/panel/use-auto-growing-textarea.d.ts.map +0 -1
  118. package/lib/client/panel/use-auto-growing-textarea.js.map +0 -1
  119. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts.map +0 -1
  120. package/lib/client/parent-composer/ParentConversationAnnotations.js.map +0 -1
  121. package/lib/client/parent-composer/add-to-conversation.d.ts.map +0 -1
  122. package/lib/client/parent-composer/add-to-conversation.js.map +0 -1
  123. package/lib/client/parent-composer/annotation-persistence.d.ts.map +0 -1
  124. package/lib/client/parent-composer/annotation-persistence.js.map +0 -1
  125. package/lib/client/parent-composer/composer-reference.d.ts.map +0 -1
  126. package/lib/client/parent-composer/composer-reference.js.map +0 -1
  127. package/lib/client/parent-composer/referenced-conversation.d.ts.map +0 -1
  128. package/lib/client/parent-composer/referenced-conversation.js.map +0 -1
  129. package/lib/client/rc6/ArchivedConversation.d.ts +0 -15
  130. package/lib/client/rc6/ArchivedConversation.d.ts.map +0 -1
  131. package/lib/client/rc6/ArchivedConversation.js +0 -230
  132. package/lib/client/rc6/ArchivedConversation.js.map +0 -1
  133. package/lib/client/rc6/Rc6SideChatOverlay.d.ts +0 -8
  134. package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +0 -1
  135. package/lib/client/rc6/Rc6SideChatOverlay.js.map +0 -1
  136. package/lib/client/rc6/SideChatTool.d.ts +0 -23
  137. package/lib/client/rc6/SideChatTool.d.ts.map +0 -1
  138. package/lib/client/rc6/SideChatTool.js +0 -395
  139. package/lib/client/rc6/SideChatTool.js.map +0 -1
  140. package/lib/client/rc6/context.d.ts.map +0 -1
  141. package/lib/client/rc6/context.js +0 -2
  142. package/lib/client/rc6/context.js.map +0 -1
  143. package/lib/client/rc6/remote-adapter.d.ts.map +0 -1
  144. package/lib/client/rc6/remote-adapter.js +0 -33
  145. package/lib/client/rc6/remote-adapter.js.map +0 -1
  146. package/lib/client/rc6/sessions-adapter.d.ts +0 -61
  147. package/lib/client/rc6/sessions-adapter.d.ts.map +0 -1
  148. package/lib/client/rc6/sessions-adapter.js +0 -370
  149. package/lib/client/rc6/sessions-adapter.js.map +0 -1
  150. package/lib/client/selection/ConversationAnnotationMarkers.d.ts.map +0 -1
  151. package/lib/client/selection/ConversationAnnotationMarkers.js.map +0 -1
  152. package/lib/client/selection/SelectionActions.d.ts.map +0 -1
  153. package/lib/client/selection/SelectionActions.js.map +0 -1
  154. package/lib/client/selection/selection-controller.d.ts.map +0 -1
  155. package/lib/client/selection/selection-controller.js.map +0 -1
  156. package/lib/client/selection/selection-limits.d.ts.map +0 -1
  157. package/lib/client/selection/selection-limits.js.map +0 -1
  158. package/lib/client/selection/selection-normalizer.d.ts.map +0 -1
  159. package/lib/client/selection/selection-normalizer.js.map +0 -1
  160. package/lib/client/side-chat-controller.d.ts.map +0 -1
  161. package/lib/client/side-chat-controller.js.map +0 -1
  162. package/lib/client.js.map +0 -1
  163. package/lib/host/archived-fork-service.d.ts +0 -29
  164. package/lib/host/archived-fork-service.d.ts.map +0 -1
  165. package/lib/host/archived-fork-service.js +0 -264
  166. package/lib/host/archived-fork-service.js.map +0 -1
  167. package/lib/host/index.d.ts.map +0 -1
  168. package/lib/host/index.js.map +0 -1
  169. package/lib/index.d.ts.map +0 -1
  170. package/lib/index.js.map +0 -1
  171. package/lib/remote.d.ts.map +0 -1
  172. package/lib/remote.js.map +0 -1
  173. package/lib/shared/archived-wire.d.ts.map +0 -1
  174. package/lib/shared/archived-wire.js +0 -48
  175. package/lib/shared/archived-wire.js.map +0 -1
  176. package/lib/shared/constants.d.ts.map +0 -1
  177. package/lib/shared/constants.js.map +0 -1
  178. package/lib/shared/contracts.d.ts.map +0 -1
  179. package/lib/shared/contracts.js.map +0 -1
  180. package/lib/shared/error-codes.d.ts.map +0 -1
  181. package/lib/shared/error-codes.js.map +0 -1
  182. package/lib/shared/observable.d.ts.map +0 -1
  183. package/lib/shared/observable.js.map +0 -1
  184. package/lib/typert.d.ts.map +0 -1
  185. 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
- * Locked-commit fallback capture. It intentionally fails closed unless every
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
- * Locked-commit fallback capture. It intentionally fails closed unless every
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', 'This compatibility adapter supports a selection inside one message only.');
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
@@ -16,4 +16,3 @@ export function summarizeSelection(value, maxCodePoints = 240) {
16
16
  const tailLength = maxCodePoints - headLength;
17
17
  return `${points.slice(0, headLength).join('')}…${points.slice(-tailLength).join('')}`;
18
18
  }
19
- //# sourceMappingURL=selection-limits.js.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('fork_unavailable', 'Wait for this message to finish before branching.');
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, SideChatPromptPart, SideChatRemote, SideChatState } from '../shared/contracts.js';
2
- import type { HostObservable } from '../shared/observable.js';
3
- import type { SideChatActionResult, SideChatClientSessions, SideChatQuestionAnswer } from './contracts.js';
4
- /** Small controller for the stock rc.6 archived-fork path. */
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 lease;
10
- private childUnsubscribe;
11
- private opening;
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<void>;
23
- setDraft(draft: string): SideChatActionResult<void>;
24
- clearSelection(): SideChatActionResult<void>;
25
- initializeModel(selection: SideChatModelSelection): SideChatActionResult<SideChatModelSelection>;
26
- selectModel(selection: SideChatModelSelection): Promise<SideChatActionResult<SideChatModelSelection>>;
27
- sendFirst(question: string): Promise<SideChatActionResult<void>>;
28
- send(text: string, mode?: 'queue' | 'steer'): Promise<SideChatActionResult<void>>;
29
- sendParts(content: readonly SideChatPromptPart[], mode?: 'queue' | 'steer'): Promise<SideChatActionResult<void>>;
30
- updateQueue(itemId: string, action: {
31
- readonly kind: 'edit';
32
- readonly content: readonly SideChatPromptPart[];
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 createOpenAndPrompt;
45
- private publishCreated;
46
- private closeChild;
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