@ahggg/dsh-side-chat 0.7.0 → 0.7.2
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 +0 -2
- package/README.zh-CN.md +0 -2
- package/lib/client/parent-composer/add-to-conversation.d.ts +14 -50
- package/lib/client/parent-composer/add-to-conversation.d.ts.map +1 -1
- package/lib/client/parent-composer/add-to-conversation.js +217 -22
- package/lib/client/parent-composer/add-to-conversation.js.map +1 -1
- package/lib/client/parent-composer/annotation-persistence.d.ts +1 -1
- package/lib/client/parent-composer/annotation-persistence.d.ts.map +1 -1
- package/lib/client/parent-composer/annotation-persistence.js +50 -12
- package/lib/client/parent-composer/annotation-persistence.js.map +1 -1
- package/lib/client/parent-composer/composer-reference.d.ts +72 -0
- package/lib/client/parent-composer/composer-reference.d.ts.map +1 -0
- package/lib/client/parent-composer/composer-reference.js +57 -0
- package/lib/client/parent-composer/composer-reference.js.map +1 -0
- package/lib/client/parent-composer/referenced-conversation.d.ts +1 -1
- package/lib/client/parent-composer/referenced-conversation.d.ts.map +1 -1
- package/lib/client/parent-composer/referenced-conversation.js +11 -18
- package/lib/client/parent-composer/referenced-conversation.js.map +1 -1
- package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +1 -1
- package/lib/client/rc6/Rc6SideChatOverlay.js +12 -1
- package/lib/client/rc6/Rc6SideChatOverlay.js.map +1 -1
- package/lib/client/rc6/sessions-adapter.d.ts +2 -0
- package/lib/client/rc6/sessions-adapter.d.ts.map +1 -1
- package/lib/client/rc6/sessions-adapter.js +12 -1
- package/lib/client/rc6/sessions-adapter.js.map +1 -1
- package/lib/client/selection/SelectionActions.d.ts +5 -1
- package/lib/client/selection/SelectionActions.d.ts.map +1 -1
- package/lib/client/selection/SelectionActions.js +66 -49
- package/lib/client/selection/SelectionActions.js.map +1 -1
- package/lib/client.js +334 -91
- package/lib/client.js.map +1 -1
- package/lib/shared/constants.d.ts +1 -1
- package/lib/shared/constants.d.ts.map +1 -1
- package/lib/shared/constants.js +1 -1
- package/lib/shared/constants.js.map +1 -1
- package/package.json +36 -29
package/README.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Ask a focused follow-up about selected text without leaving your current DeepSeek Harness conversation.
|
|
4
4
|
|
|
5
|
-
> Compatibility: this release targets `@deepseek-ai/dsh@0.1.0-rc.7` exactly.
|
|
6
|
-
|
|
7
5
|
[简体中文](README.zh-CN.md)
|
|
8
6
|
|
|
9
7
|

|
package/README.zh-CN.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
在不离开当前 DeepSeek Harness 主会话的情况下,针对选中的文本发起一个独立的侧边对话。
|
|
4
4
|
|
|
5
|
-
> 兼容性:当前版本仅适配 `@deepseek-ai/dsh@0.1.0-rc.7`。
|
|
6
|
-
|
|
7
5
|
[English](README.md)
|
|
8
6
|
|
|
9
7
|

|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
2
1
|
import type { ConversationSelection, SideChatPromptPart } from '../../shared/contracts.js';
|
|
2
|
+
import type { ParentComposerInput, ParentComposerInputSnapshot, SelectionReferenceSource } from './composer-reference.js';
|
|
3
|
+
export type { ParentComposerInput, ParentComposerInputSnapshot, ParentComposerOccurrence, ParentConversationService, SelectionReferenceSource, } from './composer-reference.js';
|
|
3
4
|
export declare const SELECTION_REFERENCE_LABEL = "__dsh_side_chat_annotations__";
|
|
4
5
|
export interface ConversationAnnotation {
|
|
5
6
|
readonly text: string;
|
|
@@ -10,53 +11,6 @@ export interface ConversationSelectionAnnotation extends ConversationAnnotation
|
|
|
10
11
|
readonly annotationIndex: number;
|
|
11
12
|
readonly selection: ConversationSelection;
|
|
12
13
|
}
|
|
13
|
-
export interface ParentComposerOccurrence {
|
|
14
|
-
readonly occurrenceId: number;
|
|
15
|
-
readonly source: string;
|
|
16
|
-
readonly ref: string;
|
|
17
|
-
readonly offset: number;
|
|
18
|
-
/** Present in newer DSH input snapshots; older rc.6 fixtures omit it. */
|
|
19
|
-
readonly length?: number;
|
|
20
|
-
}
|
|
21
|
-
export interface ParentComposerInputSnapshot {
|
|
22
|
-
readonly draft: string;
|
|
23
|
-
readonly draftRev: number;
|
|
24
|
-
readonly occurrences: readonly ParentComposerOccurrence[];
|
|
25
|
-
}
|
|
26
|
-
export interface ParentComposerInput {
|
|
27
|
-
readonly state: {
|
|
28
|
-
getSnapshot(): ParentComposerInputSnapshot;
|
|
29
|
-
subscribe?(listener: () => void): () => void;
|
|
30
|
-
};
|
|
31
|
-
setDraft(text: string): void;
|
|
32
|
-
insertReference(reference: {
|
|
33
|
-
readonly source: string;
|
|
34
|
-
readonly ref: string;
|
|
35
|
-
readonly label: string;
|
|
36
|
-
readonly appearance?: 'session' | 'file' | 'folder';
|
|
37
|
-
readonly clipboardText: string;
|
|
38
|
-
}, span: {
|
|
39
|
-
readonly start: number;
|
|
40
|
-
readonly end: number;
|
|
41
|
-
readonly draftRev: number;
|
|
42
|
-
}): boolean;
|
|
43
|
-
}
|
|
44
|
-
export interface ParentConversationService {
|
|
45
|
-
readonly input: {
|
|
46
|
-
for(scope: Context): ParentComposerInput;
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
export interface SelectionReferenceSource {
|
|
50
|
-
readonly trigger: '@';
|
|
51
|
-
readonly name: string;
|
|
52
|
-
readonly order: number;
|
|
53
|
-
candidates(): Promise<readonly never[]>;
|
|
54
|
-
onPick(): undefined;
|
|
55
|
-
readonly codec: {
|
|
56
|
-
clipboardText(ref: string): string;
|
|
57
|
-
serialize(ref: string, signal: AbortSignal): Promise<string>;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
14
|
export declare function decodeSelectionReference(ref: string): readonly ConversationAnnotation[];
|
|
61
15
|
/** Read all plugin annotations represented by the current DSH input occurrence. */
|
|
62
16
|
export declare function conversationAnnotations(snapshot: ParentComposerInputSnapshot): readonly ConversationAnnotation[];
|
|
@@ -68,14 +22,24 @@ export declare function removeConversationAnnotations(input: ParentComposerInput
|
|
|
68
22
|
export declare const selectionReferenceSource: SelectionReferenceSource;
|
|
69
23
|
/** Add one passage to the parent composer's aggregated annotation occurrence. */
|
|
70
24
|
export declare function addSelectionToConversation(input: ParentComposerInput, selection: ConversationSelection, comment?: string): boolean;
|
|
25
|
+
/** Remove one unsent selected-passage annotation, retaining the aggregate when needed. */
|
|
26
|
+
export declare function removeConversationAnnotation(input: ParentComposerInput, annotationIndex: number): boolean;
|
|
71
27
|
/** Replace the optional comment on one unsent selected-passage annotation. */
|
|
72
28
|
export declare function updateConversationAnnotation(input: ParentComposerInput, annotationIndex: number, comment?: string): boolean;
|
|
29
|
+
export interface ConversationAnnotationRecoveryRecord {
|
|
30
|
+
readonly ref: string;
|
|
31
|
+
readonly displayDraft: string;
|
|
32
|
+
readonly mirrorDraft: string;
|
|
33
|
+
readonly baseDraft: string;
|
|
34
|
+
}
|
|
35
|
+
/** Describe both the display draft and DSH's persisted clipboard projection. */
|
|
36
|
+
export declare function conversationAnnotationRecoveryRecord(snapshot: ParentComposerInputSnapshot): ConversationAnnotationRecoveryRecord | undefined;
|
|
73
37
|
/** Return the valid aggregated reference currently occupying the leading draft slot. */
|
|
74
38
|
export declare function conversationAnnotationReference(snapshot: ParentComposerInputSnapshot): string | undefined;
|
|
75
39
|
/** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
|
|
76
40
|
export declare function removeOrphanedConversationAnnotationPlaceholder(input: ParentComposerInput): boolean;
|
|
77
|
-
/** Rehydrate a lost
|
|
78
|
-
export declare function restoreConversationAnnotationReference(input: ParentComposerInput, ref: string): boolean;
|
|
41
|
+
/** Rehydrate a lost occurrence over either its display draft or exact mirror projection. */
|
|
42
|
+
export declare function restoreConversationAnnotationReference(input: ParentComposerInput, ref: string, expectedMirrorDraft?: string, expectedBaseDraft?: string): boolean;
|
|
79
43
|
export interface AnnotatedConversationPrompt {
|
|
80
44
|
readonly annotations: readonly ConversationAnnotation[];
|
|
81
45
|
readonly message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-to-conversation.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/add-to-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"add-to-conversation.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/add-to-conversation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAS1F,OAAO,KAAK,EACV,mBAAmB,EACnB,2BAA2B,EAE3B,wBAAwB,EACzB,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;AAGhC,eAAO,MAAM,yBAAyB,kCAAkC,CAAA;AAExE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAMD,MAAM,WAAW,+BAAgC,SAAQ,sBAAsB;IAC7E,sEAAsE;IACtE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAA;CAC1C;AA+FD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,sBAAsB,EAAE,CAEvF;AAyCD,mFAAmF;AACnF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,2BAA2B,GACpC,SAAS,sBAAsB,EAAE,CAEnC;AAED,qEAAqE;AACrE,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,2BAA2B,GACpC,SAAS,+BAA+B,EAAE,CAW5C;AAmBD,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAKjF;AAED,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,wBAatC,CAAA;AA+FD,iFAAiF;AACjF,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,qBAAqB,EAChC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAIT;AAED,0FAA0F;AAC1F,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,mBAAmB,EAC1B,eAAe,EAAE,MAAM,GACtB,OAAO,CAUT;AAED,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,mBAAmB,EAC1B,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAcT;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAwDD,gFAAgF;AAChF,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,2BAA2B,GACpC,oCAAoC,GAAG,SAAS,CAwBlD;AAED,wFAAwF;AACxF,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,2BAA2B,GACpC,MAAM,GAAG,SAAS,CAUpB;AAkBD,uFAAuF;AACvF,wBAAgB,+CAA+C,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAKnG;AAED,4FAA4F;AAC5F,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,MAAM,EACX,mBAAmB,CAAC,EAAE,MAAM,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAgCT;AASD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,CAAA;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAYD,iFAAiF;AACjF,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CA2BtG;AAED,wDAAwD;AACxD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,qBAAqB,GAAG,SAAS,EAC5C,QAAQ,EAAE,MAAM,GACf,SAAS,kBAAkB,EAAE,CAe/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { draftWithoutOccurrence, LEGACY_REFERENCE_PLACEHOLDER, newlyInsertedOccurrence, occurrenceMatchesDraft, occurrenceRange, referenceDisplayText, } from './composer-reference.js';
|
|
1
2
|
const SELECTION_REFERENCE_SOURCE = 'dsh-side-chat-selection';
|
|
2
|
-
const OBJECT_REPLACEMENT_CHARACTER = '\uFFFC';
|
|
3
3
|
export const SELECTION_REFERENCE_LABEL = '__dsh_side_chat_annotations__';
|
|
4
4
|
function escapeXmlText(value) {
|
|
5
5
|
return value
|
|
@@ -143,15 +143,19 @@ export function conversationSelectionAnnotations(snapshot) {
|
|
|
143
143
|
}
|
|
144
144
|
function draftWithoutSelectionOccurrences(snapshot) {
|
|
145
145
|
const occurrences = [...selectionOccurrences(snapshot)].sort((a, b) => b.offset - a.offset);
|
|
146
|
-
let
|
|
146
|
+
let current = snapshot;
|
|
147
147
|
for (const occurrence of occurrences) {
|
|
148
|
-
draft =
|
|
148
|
+
const draft = draftWithoutOccurrence(current, occurrence, SELECTION_REFERENCE_LABEL);
|
|
149
|
+
if (draft === undefined)
|
|
150
|
+
continue;
|
|
151
|
+
current = { ...current, draft };
|
|
149
152
|
}
|
|
150
|
-
|
|
153
|
+
let draft = current.draft;
|
|
154
|
+
// Add to chat owns the separator immediately after its leading occurrence.
|
|
151
155
|
if (occurrences.some(occurrence => occurrence.offset === 0)) {
|
|
152
156
|
if (draft.startsWith('\n\n'))
|
|
153
157
|
draft = draft.slice(2);
|
|
154
|
-
else if (draft.startsWith('\n'))
|
|
158
|
+
else if (draft.startsWith('\n') || draft.startsWith(' '))
|
|
155
159
|
draft = draft.slice(1);
|
|
156
160
|
}
|
|
157
161
|
return draft;
|
|
@@ -182,12 +186,13 @@ export const selectionReferenceSource = {
|
|
|
182
186
|
};
|
|
183
187
|
function writeConversationAnnotations(input, before, annotations) {
|
|
184
188
|
const draft = draftWithoutSelectionOccurrences(before);
|
|
185
|
-
if (selectionOccurrences(before).length > 0)
|
|
186
|
-
input.setDraft(draft);
|
|
187
189
|
const insertionState = input.state.getSnapshot();
|
|
190
|
+
if (insertionState.draftRev !== before.draftRev || insertionState.draft !== before.draft)
|
|
191
|
+
return false;
|
|
192
|
+
const ref = encodeSelectionReference(annotations);
|
|
188
193
|
const inserted = input.insertReference({
|
|
189
194
|
source: SELECTION_REFERENCE_SOURCE,
|
|
190
|
-
ref
|
|
195
|
+
ref,
|
|
191
196
|
label: SELECTION_REFERENCE_LABEL,
|
|
192
197
|
clipboardText: annotations.map(annotation => annotation.text).join('\n\n'),
|
|
193
198
|
}, {
|
|
@@ -195,12 +200,74 @@ function writeConversationAnnotations(input, before, annotations) {
|
|
|
195
200
|
end: 0,
|
|
196
201
|
draftRev: insertionState.draftRev,
|
|
197
202
|
});
|
|
203
|
+
// Existing annotations are intentionally still live here. If DSH rejects the
|
|
204
|
+
// insertion, the operation is a no-op instead of deleting the previous chip.
|
|
198
205
|
if (!inserted)
|
|
199
206
|
return false;
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
207
|
+
const afterInsert = input.state.getSnapshot();
|
|
208
|
+
const occurrence = newlyInsertedOccurrence(insertionState, afterInsert, SELECTION_REFERENCE_SOURCE, ref);
|
|
209
|
+
const rollbackInsertion = () => {
|
|
210
|
+
const current = input.state.getSnapshot();
|
|
211
|
+
const insertedOccurrence = occurrence === undefined
|
|
212
|
+
? undefined
|
|
213
|
+
: current.occurrences.find(candidate => candidate.occurrenceId === occurrence.occurrenceId);
|
|
214
|
+
if (insertedOccurrence === undefined || insertedOccurrence.offset !== 0)
|
|
215
|
+
return;
|
|
216
|
+
const insertedRange = occurrenceRange(current, insertedOccurrence, SELECTION_REFERENCE_LABEL);
|
|
217
|
+
if (insertedRange === undefined || insertedRange.start !== 0)
|
|
218
|
+
return;
|
|
219
|
+
let tail = current.draft.slice(insertedRange.end);
|
|
220
|
+
if (tail.startsWith(' ') && tail.slice(1) === before.draft)
|
|
221
|
+
tail = before.draft;
|
|
222
|
+
else if (tail !== before.draft)
|
|
223
|
+
return;
|
|
224
|
+
input.setDraft(tail);
|
|
225
|
+
};
|
|
226
|
+
if (occurrence === undefined || occurrence.offset !== 0) {
|
|
227
|
+
rollbackInsertion();
|
|
228
|
+
return false;
|
|
229
|
+
}
|
|
230
|
+
const range = occurrenceRange(afterInsert, occurrence, SELECTION_REFERENCE_LABEL);
|
|
231
|
+
if (range === undefined || range.start !== 0) {
|
|
232
|
+
rollbackInsertion();
|
|
233
|
+
return false;
|
|
234
|
+
}
|
|
235
|
+
// Current DSH inserts the complete `@label` display text followed by an
|
|
236
|
+
// optional ASCII separating gap. Older releases insert a one-unit U+FFFC
|
|
237
|
+
// placeholder. At this point the old occurrence is still in the tail; one
|
|
238
|
+
// tail replacement preserves the new occurrence and removes the old one.
|
|
239
|
+
let rest = afterInsert.draft.slice(range.end);
|
|
240
|
+
if (rest.startsWith(' ') && rest.slice(1) === before.draft)
|
|
241
|
+
rest = before.draft;
|
|
242
|
+
else if (rest !== before.draft) {
|
|
243
|
+
rollbackInsertion();
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
const display = afterInsert.draft.slice(range.start, range.end);
|
|
247
|
+
const normalizedDraft = `${display}\n\n${draft}`;
|
|
248
|
+
// insertReference and setDraft are separate public transactions. Re-read the
|
|
249
|
+
// exact occurrence before the second write so a synchronous subscriber cannot
|
|
250
|
+
// make us normalize a stale insertion.
|
|
251
|
+
const current = input.state.getSnapshot();
|
|
252
|
+
const currentOccurrence = current.occurrences.find(candidate => candidate.occurrenceId === occurrence.occurrenceId);
|
|
253
|
+
if (current.draftRev !== afterInsert.draftRev
|
|
254
|
+
|| current.draft !== afterInsert.draft
|
|
255
|
+
|| currentOccurrence === undefined
|
|
256
|
+
|| currentOccurrence.source !== SELECTION_REFERENCE_SOURCE
|
|
257
|
+
|| currentOccurrence.ref !== ref
|
|
258
|
+
|| !occurrenceMatchesDraft(current, currentOccurrence, SELECTION_REFERENCE_LABEL)) {
|
|
259
|
+
rollbackInsertion();
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
input.setDraft(normalizedDraft);
|
|
263
|
+
const normalized = input.state.getSnapshot();
|
|
264
|
+
const retained = normalized.occurrences.find(candidate => candidate.occurrenceId === occurrence.occurrenceId);
|
|
265
|
+
return normalized.draft === normalizedDraft
|
|
266
|
+
&& retained !== undefined
|
|
267
|
+
&& retained.source === SELECTION_REFERENCE_SOURCE
|
|
268
|
+
&& retained.ref === ref
|
|
269
|
+
&& retained.offset === 0
|
|
270
|
+
&& occurrenceMatchesDraft(normalized, retained, SELECTION_REFERENCE_LABEL);
|
|
204
271
|
}
|
|
205
272
|
/** Add one passage to the parent composer's aggregated annotation occurrence. */
|
|
206
273
|
export function addSelectionToConversation(input, selection, comment) {
|
|
@@ -208,6 +275,19 @@ export function addSelectionToConversation(input, selection, comment) {
|
|
|
208
275
|
const annotations = [...storedConversationAnnotations(before), annotationFromSelection(selection, comment)];
|
|
209
276
|
return writeConversationAnnotations(input, before, annotations);
|
|
210
277
|
}
|
|
278
|
+
/** Remove one unsent selected-passage annotation, retaining the aggregate when needed. */
|
|
279
|
+
export function removeConversationAnnotation(input, annotationIndex) {
|
|
280
|
+
const before = input.state.getSnapshot();
|
|
281
|
+
const annotations = [...storedConversationAnnotations(before)];
|
|
282
|
+
if (!Number.isSafeInteger(annotationIndex) || annotations[annotationIndex] === undefined)
|
|
283
|
+
return false;
|
|
284
|
+
annotations.splice(annotationIndex, 1);
|
|
285
|
+
if (annotations.length === 0) {
|
|
286
|
+
input.setDraft(draftWithoutSelectionOccurrences(before));
|
|
287
|
+
return selectionOccurrences(input.state.getSnapshot()).length === 0;
|
|
288
|
+
}
|
|
289
|
+
return writeConversationAnnotations(input, before, annotations);
|
|
290
|
+
}
|
|
211
291
|
/** Replace the optional comment on one unsent selected-passage annotation. */
|
|
212
292
|
export function updateConversationAnnotation(input, annotationIndex, comment) {
|
|
213
293
|
const before = input.state.getSnapshot();
|
|
@@ -225,10 +305,90 @@ export function updateConversationAnnotation(input, annotationIndex, comment) {
|
|
|
225
305
|
};
|
|
226
306
|
return writeConversationAnnotations(input, before, annotations);
|
|
227
307
|
}
|
|
308
|
+
function exactClipboardProjection(snapshot, annotationOccurrence, annotationClipboardText) {
|
|
309
|
+
let projected = '';
|
|
310
|
+
let cursor = 0;
|
|
311
|
+
const occurrences = [...snapshot.occurrences].sort((left, right) => left.offset - right.offset);
|
|
312
|
+
for (const occurrence of occurrences) {
|
|
313
|
+
const expectedLabel = occurrence.occurrenceId === annotationOccurrence.occurrenceId
|
|
314
|
+
? SELECTION_REFERENCE_LABEL
|
|
315
|
+
: occurrence.label;
|
|
316
|
+
if (occurrence.length === undefined
|
|
317
|
+
&& !snapshot.draft.startsWith(LEGACY_REFERENCE_PLACEHOLDER, occurrence.offset)
|
|
318
|
+
&& expectedLabel === undefined)
|
|
319
|
+
return;
|
|
320
|
+
const range = occurrenceRange(snapshot, occurrence, expectedLabel ?? '');
|
|
321
|
+
if (range === undefined || range.start < cursor)
|
|
322
|
+
return;
|
|
323
|
+
const clipboardText = occurrence.occurrenceId === annotationOccurrence.occurrenceId
|
|
324
|
+
? annotationClipboardText
|
|
325
|
+
: occurrence.clipboardText;
|
|
326
|
+
if (clipboardText === undefined)
|
|
327
|
+
return;
|
|
328
|
+
projected += snapshot.draft.slice(cursor, range.start) + clipboardText;
|
|
329
|
+
cursor = range.end;
|
|
330
|
+
}
|
|
331
|
+
return projected + snapshot.draft.slice(cursor);
|
|
332
|
+
}
|
|
333
|
+
function annotationSeparator(draftTail) {
|
|
334
|
+
if (draftTail.startsWith('\n\n'))
|
|
335
|
+
return '\n\n';
|
|
336
|
+
if (draftTail.startsWith('\n'))
|
|
337
|
+
return '\n';
|
|
338
|
+
if (draftTail.startsWith(' '))
|
|
339
|
+
return ' ';
|
|
340
|
+
return '';
|
|
341
|
+
}
|
|
342
|
+
function baseDraftFromMirror(mirrorDraft, clipboardText, expectedBaseDraft) {
|
|
343
|
+
const separators = ['\n\n', '\n', ' ', ''];
|
|
344
|
+
if (expectedBaseDraft !== undefined) {
|
|
345
|
+
return separators.some(separator => mirrorDraft === clipboardText + separator + expectedBaseDraft)
|
|
346
|
+
? expectedBaseDraft
|
|
347
|
+
: undefined;
|
|
348
|
+
}
|
|
349
|
+
for (const separator of separators.slice(0, -1)) {
|
|
350
|
+
const prefix = clipboardText + separator;
|
|
351
|
+
if (mirrorDraft.startsWith(prefix))
|
|
352
|
+
return mirrorDraft.slice(prefix.length);
|
|
353
|
+
}
|
|
354
|
+
return mirrorDraft === clipboardText ? '' : undefined;
|
|
355
|
+
}
|
|
356
|
+
/** Describe both the display draft and DSH's persisted clipboard projection. */
|
|
357
|
+
export function conversationAnnotationRecoveryRecord(snapshot) {
|
|
358
|
+
const occurrence = selectionOccurrences(snapshot).find(candidate => candidate.offset === 0);
|
|
359
|
+
const ref = conversationAnnotationReference(snapshot);
|
|
360
|
+
if (occurrence === undefined || ref === undefined)
|
|
361
|
+
return;
|
|
362
|
+
const range = occurrenceRange(snapshot, occurrence, SELECTION_REFERENCE_LABEL);
|
|
363
|
+
if (range === undefined || range.start !== 0)
|
|
364
|
+
return;
|
|
365
|
+
let annotations;
|
|
366
|
+
try {
|
|
367
|
+
annotations = decodeStoredSelectionReference(ref);
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
return;
|
|
371
|
+
}
|
|
372
|
+
const clipboardText = annotations.map(annotation => annotation.text).join('\n\n');
|
|
373
|
+
const mirrorDraft = exactClipboardProjection(snapshot, occurrence, clipboardText);
|
|
374
|
+
if (mirrorDraft === undefined)
|
|
375
|
+
return;
|
|
376
|
+
const separator = annotationSeparator(snapshot.draft.slice(range.end));
|
|
377
|
+
const mirrorPrefix = clipboardText + separator;
|
|
378
|
+
if (!mirrorDraft.startsWith(mirrorPrefix))
|
|
379
|
+
return;
|
|
380
|
+
return {
|
|
381
|
+
ref,
|
|
382
|
+
displayDraft: snapshot.draft,
|
|
383
|
+
mirrorDraft,
|
|
384
|
+
baseDraft: mirrorDraft.slice(mirrorPrefix.length),
|
|
385
|
+
};
|
|
386
|
+
}
|
|
228
387
|
/** Return the valid aggregated reference currently occupying the leading draft slot. */
|
|
229
388
|
export function conversationAnnotationReference(snapshot) {
|
|
230
389
|
const occurrence = selectionOccurrences(snapshot).find(candidate => candidate.offset === 0);
|
|
231
|
-
if (occurrence === undefined
|
|
390
|
+
if (occurrence === undefined
|
|
391
|
+
|| !occurrenceMatchesDraft(snapshot, occurrence, SELECTION_REFERENCE_LABEL))
|
|
232
392
|
return;
|
|
233
393
|
try {
|
|
234
394
|
decodeStoredSelectionReference(occurrence.ref);
|
|
@@ -239,11 +399,22 @@ export function conversationAnnotationReference(snapshot) {
|
|
|
239
399
|
}
|
|
240
400
|
}
|
|
241
401
|
function draftWithoutOrphanedAnnotationPrefix(snapshot) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
402
|
+
if (snapshot.occurrences.some(occurrence => occurrence.offset === 0))
|
|
403
|
+
return;
|
|
404
|
+
const legacyPrefix = `${LEGACY_REFERENCE_PLACEHOLDER}\n\n`;
|
|
405
|
+
if (snapshot.draft.startsWith(legacyPrefix))
|
|
406
|
+
return snapshot.draft.slice(legacyPrefix.length);
|
|
407
|
+
const display = referenceDisplayText(SELECTION_REFERENCE_LABEL);
|
|
408
|
+
if (!snapshot.draft.startsWith(display))
|
|
409
|
+
return;
|
|
410
|
+
let rest = snapshot.draft.slice(display.length);
|
|
411
|
+
if (rest.startsWith('\n\n'))
|
|
412
|
+
rest = rest.slice(2);
|
|
413
|
+
else if (rest.startsWith(' '))
|
|
414
|
+
rest = rest.slice(1);
|
|
415
|
+
else
|
|
245
416
|
return;
|
|
246
|
-
return
|
|
417
|
+
return rest;
|
|
247
418
|
}
|
|
248
419
|
/** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
|
|
249
420
|
export function removeOrphanedConversationAnnotationPlaceholder(input) {
|
|
@@ -253,8 +424,8 @@ export function removeOrphanedConversationAnnotationPlaceholder(input) {
|
|
|
253
424
|
input.setDraft(draft);
|
|
254
425
|
return true;
|
|
255
426
|
}
|
|
256
|
-
/** Rehydrate a lost
|
|
257
|
-
export function restoreConversationAnnotationReference(input, ref) {
|
|
427
|
+
/** Rehydrate a lost occurrence over either its display draft or exact mirror projection. */
|
|
428
|
+
export function restoreConversationAnnotationReference(input, ref, expectedMirrorDraft, expectedBaseDraft) {
|
|
258
429
|
let annotations;
|
|
259
430
|
try {
|
|
260
431
|
annotations = decodeStoredSelectionReference(ref);
|
|
@@ -262,11 +433,35 @@ export function restoreConversationAnnotationReference(input, ref) {
|
|
|
262
433
|
catch {
|
|
263
434
|
return false;
|
|
264
435
|
}
|
|
265
|
-
const
|
|
436
|
+
const snapshot = input.state.getSnapshot();
|
|
437
|
+
const orphanDraft = draftWithoutOrphanedAnnotationPrefix(snapshot);
|
|
438
|
+
const clipboardText = annotations.map(annotation => annotation.text).join('\n\n');
|
|
439
|
+
const mirrorBaseDraft = expectedMirrorDraft === undefined
|
|
440
|
+
? undefined
|
|
441
|
+
: baseDraftFromMirror(expectedMirrorDraft, clipboardText, expectedBaseDraft);
|
|
442
|
+
const draft = orphanDraft
|
|
443
|
+
?? (expectedMirrorDraft !== undefined
|
|
444
|
+
&& snapshot.occurrences.length === 0
|
|
445
|
+
&& snapshot.draft === expectedMirrorDraft
|
|
446
|
+
&& mirrorBaseDraft !== undefined
|
|
447
|
+
? mirrorBaseDraft
|
|
448
|
+
: undefined);
|
|
266
449
|
if (draft === undefined)
|
|
267
450
|
return false;
|
|
268
|
-
|
|
269
|
-
|
|
451
|
+
if (draft !== snapshot.draft)
|
|
452
|
+
input.setDraft(draft);
|
|
453
|
+
const beforeWrite = input.state.getSnapshot();
|
|
454
|
+
if (beforeWrite.draft !== draft || beforeWrite.occurrences.length !== 0)
|
|
455
|
+
return false;
|
|
456
|
+
if (writeConversationAnnotations(input, beforeWrite, annotations))
|
|
457
|
+
return true;
|
|
458
|
+
// Recovery must be content preserving. If DSH rejects insertion, put the
|
|
459
|
+
// exact mirror projection back rather than leaving a partially stripped draft.
|
|
460
|
+
const afterFailure = input.state.getSnapshot();
|
|
461
|
+
if (afterFailure.occurrences.length === 0 && expectedMirrorDraft !== undefined) {
|
|
462
|
+
input.setDraft(expectedMirrorDraft);
|
|
463
|
+
}
|
|
464
|
+
return false;
|
|
270
465
|
}
|
|
271
466
|
function unescapeXmlText(value) {
|
|
272
467
|
return value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-to-conversation.js","sourceRoot":"","sources":["../../../src/client/parent-composer/add-to-conversation.ts"],"names":[],"mappings":"AAGA,MAAM,0BAA0B,GAAG,yBAAyB,CAAA;AAC5D,MAAM,4BAA4B,GAAG,QAAQ,CAAA;AAC7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAA;AAuExE,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK;SACT,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;SACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAAgC,EAChC,OAAgB;IAEhB,MAAM,cAAc,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;IACtC,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS;QACT,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAC7D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;KACjC,CAAA;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,WAAoD;IACpF,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,CAAC;QACV,WAAW;KACwB,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,SAAS,GAAG,KAAuC,CAAA;IACzD,IAAI,OAAO,SAAS,CAAC,eAAe,KAAK,QAAQ;WAC5C,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;WAClC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;WACtC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;WACnC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;WAClC,SAAS,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAA8C,CAAA;IACrE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC;SACpF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;QAC7C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QACrE,MAAM,QAAQ,GAAG,SAAgE,CAAA;QACjF,OAAO,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;eACtC,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;eACrC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;eACpC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;eAClC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;eAC1C,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC;eACxC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;eACjC,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;eACxE,OAAO,QAAQ,CAAC,YAAY,KAAK,SAAS;eAC1C,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAC7D,MAAM,UAAU,GAAG,KAA8C,CAAA;IACjE,OAAO,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;WACrC,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,CAAC;WAC5E,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAwC;IACjE,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,GAAG,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;KAC7E,CAAA;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,GAAW;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAA;IACxC,2EAA2E;IAC3E,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,MAAM,OAAO,GAAG,KAAuE,CAAA;IACvF,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,CAAC;WAC/C,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;WACnC,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;WAChC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,OAAO,8BAA8B,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,eAAe,CAAC,WAA8C;IACrE,OAAO;QACL,oBAAoB;QACpB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS;YAC5E,CAAC,CAAC;gBACE,sBAAsB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI;gBAC3C,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC9B,eAAe;aAChB;YACH,CAAC,CAAC;gBACE,sBAAsB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI;gBAC3C,iBAAiB;gBACjB,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC9B,kBAAkB;gBAClB,gBAAgB;gBAChB,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;gBACjC,iBAAiB;gBACjB,eAAe;aAChB,CAAC;QACN,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAqC;IACjE,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAAA;AACpG,CAAC;AAED,SAAS,6BAA6B,CACpC,QAAqC;IAErC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,8BAA8B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CACrC,QAAqC;IAErC,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACvE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gCAAgC,CAC9C,QAAqC;IAErC,MAAM,QAAQ,GAAsC,EAAE,CAAA;IACtD,6BAA6B,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE;QAC9E,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;YAAE,OAAM;QAC9C,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG,iBAAiB,CAAC,UAAU,CAAC;YAChC,eAAe;YACf,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,gCAAgC,CAAC,QAAqC;IAC7E,MAAM,WAAW,GAAG,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3F,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IAC1B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAChF,CAAC;IACD,6EAA6E;IAC7E,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;aAC/C,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,6BAA6B,CAAC,KAA0B;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IAC1C,IAAI,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7D,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,0BAA0B;IAChC,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;IAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;IACvB,KAAK,EAAE;QACL,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACnG,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC/B,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,MAAM,CAAC,MAAM,CAAA;YACvC,OAAO,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAA;QACvD,CAAC;KACF;CACF,CAAA;AAED,SAAS,4BAA4B,CACnC,KAA0B,EAC1B,MAAmC,EACnC,WAAoD;IAEpD,MAAM,KAAK,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;QACrC,MAAM,EAAE,0BAA0B;QAClC,GAAG,EAAE,wBAAwB,CAAC,WAAW,CAAC;QAC1C,KAAK,EAAE,yBAAyB;QAChC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KAC3E,EAAE;QACD,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,cAAc,CAAC,QAAQ;KAClC,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3B,2EAA2E;IAC3E,2EAA2E;IAC3E,KAAK,CAAC,QAAQ,CAAC,GAAG,4BAA4B,OAAO,KAAK,EAAE,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,0BAA0B,CACxC,KAA0B,EAC1B,SAAgC,EAChC,OAAgB;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3G,OAAO,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AACjE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,4BAA4B,CAC1C,KAA0B,EAC1B,eAAuB,EACvB,OAAgB;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACjF,MAAM,cAAc,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;IACtC,WAAW,CAAC,eAAe,CAAC,GAAG;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAC7D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;KACjC,CAAA;IACD,OAAO,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;AACjE,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,+BAA+B,CAC7C,QAAqC;IAErC,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;IAC3F,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,4BAA4B,CAAC;QAAE,OAAM;IAChG,IAAI,CAAC;QACH,8BAA8B,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9C,OAAO,UAAU,CAAC,GAAG,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAM;IACR,CAAC;AACH,CAAC;AAED,SAAS,oCAAoC,CAC3C,QAAqC;IAErC,MAAM,MAAM,GAAG,GAAG,4BAA4B,MAAM,CAAA;IACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;WACjC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAM;IAC7E,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,+CAA+C,CAAC,KAA0B;IACxF,MAAM,KAAK,GAAG,oCAAoC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,sCAAsC,CACpD,KAA0B,EAC1B,GAAW;IAEX,IAAI,WAAoD,CAAA;IACxD,IAAI,CAAC;QACH,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,KAAK,GAAG,oCAAoC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,OAAO,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAA;AACpF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK;SACT,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC;AAOD,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,YAAY,GAAG,sGAAsG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtI,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAA;IACjE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAC/B,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;KACxE,CAAA;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,MAAM,OAAO,GAAG,2DAA2D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,WAAW,GAA6B,EAAE,CAAA;QAChD,MAAM,iBAAiB,GAAG,6DAA6D,CAAA;QACvF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAClE,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAA;QACvE,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,6GAA6G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1I,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;SAChD,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,4GAA4G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1I,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,SAAS,CAAA;IACzC,OAAO;QACL,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;KACjD,CAAA;AACH,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,mBAAmB,CACjC,SAA4C,EAC5C,QAAgB;IAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC/B,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACrE,OAAO,CAAC;YACN,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,8DAA8D,SAAS,CAAC,KAAK,IAAI;gBACjF,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC7B,qBAAqB;gBACrB,EAAE;gBACF,iBAAiB;gBACjB,aAAa,CAAC,OAAO,CAAC;gBACtB,kBAAkB;aACnB,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"add-to-conversation.js","sourceRoot":"","sources":["../../../src/client/parent-composer/add-to-conversation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ interface AnnotationStorage {
|
|
|
5
5
|
setItem(key: string, value: string): void;
|
|
6
6
|
removeItem(key: string): void;
|
|
7
7
|
}
|
|
8
|
-
/** Tab-scoped recovery for
|
|
8
|
+
/** Tab-scoped recovery for drafts persisted as a reference clipboard projection. */
|
|
9
9
|
export declare class ConversationAnnotationPersistence {
|
|
10
10
|
private readonly storage;
|
|
11
11
|
private readonly observedSessions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation-persistence.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAM1D,OAAO,KAAK,EAAE,mBAAmB,EAA+B,MAAM,0BAA0B,CAAA;AAIhG,UAAU,iBAAiB;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;
|
|
1
|
+
{"version":3,"file":"annotation-persistence.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAM1D,OAAO,KAAK,EAAE,mBAAmB,EAA+B,MAAM,0BAA0B,CAAA;AAIhG,UAAU,iBAAiB;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AA6CD,oFAAoF;AACpF,qBAAa,iCAAiC;IAGhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;gBAExB,OAAO,GAAE,iBAAiB,GAAG,SAAmC;IAE7F,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAiDjE,OAAO,CAAC,IAAI;IA2CZ,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,MAAM;CAQf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { conversationAnnotationRecoveryRecord, removeOrphanedConversationAnnotationPlaceholder, restoreConversationAnnotationReference, } from './add-to-conversation.js';
|
|
2
2
|
const STORAGE_PREFIX = 'dsh-side-chat:composer-annotations:';
|
|
3
3
|
function browserSessionStorage() {
|
|
4
4
|
if (typeof window === 'undefined')
|
|
@@ -14,10 +14,16 @@ function storageKey(sessionId) {
|
|
|
14
14
|
return `${STORAGE_PREFIX}${encodeURIComponent(sessionId)}`;
|
|
15
15
|
}
|
|
16
16
|
function recordOf(snapshot) {
|
|
17
|
-
const
|
|
18
|
-
return
|
|
17
|
+
const record = conversationAnnotationRecoveryRecord(snapshot);
|
|
18
|
+
return record === undefined ? undefined : { version: 2, ...record };
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
function displayDraft(record) {
|
|
21
|
+
return record.version === 1 ? record.draft : record.displayDraft;
|
|
22
|
+
}
|
|
23
|
+
function mirrorDraft(record) {
|
|
24
|
+
return record.version === 1 ? record.projection : record.mirrorDraft;
|
|
25
|
+
}
|
|
26
|
+
/** Tab-scoped recovery for drafts persisted as a reference clipboard projection. */
|
|
21
27
|
export class ConversationAnnotationPersistence {
|
|
22
28
|
storage;
|
|
23
29
|
observedSessions = new Set();
|
|
@@ -34,13 +40,24 @@ export class ConversationAnnotationPersistence {
|
|
|
34
40
|
return;
|
|
35
41
|
}
|
|
36
42
|
const stored = this.read(key);
|
|
37
|
-
if (stored !== undefined
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
if (stored !== undefined) {
|
|
44
|
+
const exactDisplayDraft = snapshot.draft === displayDraft(stored);
|
|
45
|
+
const storedMirrorDraft = mirrorDraft(stored);
|
|
46
|
+
const exactMirrorDraft = storedMirrorDraft !== undefined && snapshot.draft === storedMirrorDraft;
|
|
47
|
+
if (exactDisplayDraft || exactMirrorDraft) {
|
|
48
|
+
this.observedSessions.add(key);
|
|
49
|
+
const restored = restoreConversationAnnotationReference(input, stored.ref, storedMirrorDraft, stored.version === 2 ? stored.baseDraft : undefined);
|
|
50
|
+
if (restored)
|
|
51
|
+
return;
|
|
52
|
+
// A refused insertion may move an exact display record to its exact
|
|
53
|
+
// mirror. Keep either v1 or v2 storage retryable from that safe state.
|
|
54
|
+
if (storedMirrorDraft !== undefined
|
|
55
|
+
&& input.state.getSnapshot().draft === storedMirrorDraft)
|
|
56
|
+
return;
|
|
57
|
+
this.remove(key);
|
|
58
|
+
removeOrphanedConversationAnnotationPlaceholder(input);
|
|
40
59
|
return;
|
|
41
|
-
|
|
42
|
-
removeOrphanedConversationAnnotationPlaceholder(input);
|
|
43
|
-
return;
|
|
60
|
+
}
|
|
44
61
|
}
|
|
45
62
|
// A live occurrence disappeared in this plugin lifetime: removal or send
|
|
46
63
|
// is authoritative, including the transition to an empty draft.
|
|
@@ -65,8 +82,29 @@ export class ConversationAnnotationPersistence {
|
|
|
65
82
|
if (raw === null)
|
|
66
83
|
return;
|
|
67
84
|
const value = JSON.parse(raw);
|
|
68
|
-
|
|
69
|
-
|
|
85
|
+
if (value.version === 1
|
|
86
|
+
&& typeof value.draft === 'string'
|
|
87
|
+
&& typeof value.ref === 'string'
|
|
88
|
+
&& (value.projection === undefined || typeof value.projection === 'string')) {
|
|
89
|
+
return {
|
|
90
|
+
version: 1,
|
|
91
|
+
draft: value.draft,
|
|
92
|
+
...(value.projection === undefined ? {} : { projection: value.projection }),
|
|
93
|
+
ref: value.ref,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return value.version === 2
|
|
97
|
+
&& typeof value.displayDraft === 'string'
|
|
98
|
+
&& typeof value.mirrorDraft === 'string'
|
|
99
|
+
&& typeof value.baseDraft === 'string'
|
|
100
|
+
&& typeof value.ref === 'string'
|
|
101
|
+
? {
|
|
102
|
+
version: 2,
|
|
103
|
+
displayDraft: value.displayDraft,
|
|
104
|
+
mirrorDraft: value.mirrorDraft,
|
|
105
|
+
baseDraft: value.baseDraft,
|
|
106
|
+
ref: value.ref,
|
|
107
|
+
}
|
|
70
108
|
: undefined;
|
|
71
109
|
}
|
|
72
110
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation-persistence.js","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"AACA,OAAO,EACL
|
|
1
|
+
{"version":3,"file":"annotation-persistence.js","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"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"}
|