@ahggg/dsh-side-chat 0.7.1 → 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.
Files changed (30) hide show
  1. package/lib/client/parent-composer/add-to-conversation.d.ts +15 -53
  2. package/lib/client/parent-composer/add-to-conversation.d.ts.map +1 -1
  3. package/lib/client/parent-composer/add-to-conversation.js +214 -60
  4. package/lib/client/parent-composer/add-to-conversation.js.map +1 -1
  5. package/lib/client/parent-composer/annotation-persistence.d.ts +1 -1
  6. package/lib/client/parent-composer/annotation-persistence.d.ts.map +1 -1
  7. package/lib/client/parent-composer/annotation-persistence.js +43 -40
  8. package/lib/client/parent-composer/annotation-persistence.js.map +1 -1
  9. package/lib/client/parent-composer/composer-reference.d.ts +72 -0
  10. package/lib/client/parent-composer/composer-reference.d.ts.map +1 -0
  11. package/lib/client/parent-composer/composer-reference.js +57 -0
  12. package/lib/client/parent-composer/composer-reference.js.map +1 -0
  13. package/lib/client/parent-composer/referenced-conversation.d.ts +1 -1
  14. package/lib/client/parent-composer/referenced-conversation.d.ts.map +1 -1
  15. package/lib/client/parent-composer/referenced-conversation.js +11 -18
  16. package/lib/client/parent-composer/referenced-conversation.js.map +1 -1
  17. package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +1 -1
  18. package/lib/client/rc6/Rc6SideChatOverlay.js +12 -1
  19. package/lib/client/rc6/Rc6SideChatOverlay.js.map +1 -1
  20. package/lib/client/rc6/sessions-adapter.d.ts +2 -0
  21. package/lib/client/rc6/sessions-adapter.d.ts.map +1 -1
  22. package/lib/client/rc6/sessions-adapter.js +12 -1
  23. package/lib/client/rc6/sessions-adapter.js.map +1 -1
  24. package/lib/client/selection/SelectionActions.d.ts +5 -1
  25. package/lib/client/selection/SelectionActions.d.ts.map +1 -1
  26. package/lib/client/selection/SelectionActions.js +66 -49
  27. package/lib/client/selection/SelectionActions.js.map +1 -1
  28. package/lib/client.js +331 -124
  29. package/lib/client.js.map +1 -1
  30. package/package.json +1 -1
@@ -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,55 +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
- /** Draft-persistence projection cached by newer DSH versions. */
21
- readonly clipboardText?: string;
22
- }
23
- export interface ParentComposerInputSnapshot {
24
- readonly draft: string;
25
- readonly draftRev: number;
26
- readonly occurrences: readonly ParentComposerOccurrence[];
27
- }
28
- export interface ParentComposerInput {
29
- readonly state: {
30
- getSnapshot(): ParentComposerInputSnapshot;
31
- subscribe?(listener: () => void): () => void;
32
- };
33
- setDraft(text: string): void;
34
- insertReference(reference: {
35
- readonly source: string;
36
- readonly ref: string;
37
- readonly label: string;
38
- readonly appearance?: 'session' | 'file' | 'folder';
39
- readonly clipboardText: string;
40
- }, span: {
41
- readonly start: number;
42
- readonly end: number;
43
- readonly draftRev: number;
44
- }): boolean;
45
- }
46
- export interface ParentConversationService {
47
- readonly input: {
48
- for(scope: Context): ParentComposerInput;
49
- };
50
- }
51
- export interface SelectionReferenceSource {
52
- readonly trigger: '@';
53
- readonly name: string;
54
- readonly order: number;
55
- candidates(): Promise<readonly never[]>;
56
- onPick(): undefined;
57
- readonly codec: {
58
- clipboardText(ref: string): string;
59
- serialize(ref: string, signal: AbortSignal): Promise<string>;
60
- };
61
- }
62
14
  export declare function decodeSelectionReference(ref: string): readonly ConversationAnnotation[];
63
15
  /** Read all plugin annotations represented by the current DSH input occurrence. */
64
16
  export declare function conversationAnnotations(snapshot: ParentComposerInputSnapshot): readonly ConversationAnnotation[];
@@ -70,14 +22,24 @@ export declare function removeConversationAnnotations(input: ParentComposerInput
70
22
  export declare const selectionReferenceSource: SelectionReferenceSource;
71
23
  /** Add one passage to the parent composer's aggregated annotation occurrence. */
72
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;
73
27
  /** Replace the optional comment on one unsent selected-passage annotation. */
74
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;
75
37
  /** Return the valid aggregated reference currently occupying the leading draft slot. */
76
38
  export declare function conversationAnnotationReference(snapshot: ParentComposerInputSnapshot): string | undefined;
77
- /** Remove a recognized plugin-owned prefix restored without its occurrence. */
39
+ /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
78
40
  export declare function removeOrphanedConversationAnnotationPlaceholder(input: ParentComposerInput): boolean;
79
- /** Rehydrate a lost occurrence only over an exact stored plugin projection. */
80
- 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;
81
43
  export interface AnnotatedConversationPrompt {
82
44
  readonly annotations: readonly ConversationAnnotation[];
83
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":"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"}
1
+ {"version":3,"file":"add-to-conversation.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/add-to-conversation.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -113,13 +113,6 @@ function selectedContext(annotations) {
113
113
  function selectionOccurrences(snapshot) {
114
114
  return snapshot.occurrences.filter(occurrence => occurrence.source === SELECTION_REFERENCE_SOURCE);
115
115
  }
116
- function occurrenceLength(occurrence) {
117
- return occurrence.length !== undefined
118
- && Number.isSafeInteger(occurrence.length)
119
- && occurrence.length > 0
120
- ? occurrence.length
121
- : 1;
122
- }
123
116
  function storedConversationAnnotations(snapshot) {
124
117
  return selectionOccurrences(snapshot).flatMap((occurrence) => {
125
118
  try {
@@ -150,16 +143,19 @@ export function conversationSelectionAnnotations(snapshot) {
150
143
  }
151
144
  function draftWithoutSelectionOccurrences(snapshot) {
152
145
  const occurrences = [...selectionOccurrences(snapshot)].sort((a, b) => b.offset - a.offset);
153
- let draft = snapshot.draft;
146
+ let current = snapshot;
154
147
  for (const occurrence of occurrences) {
155
- draft = draft.slice(0, occurrence.offset)
156
- + draft.slice(occurrence.offset + occurrenceLength(occurrence));
148
+ const draft = draftWithoutOccurrence(current, occurrence, SELECTION_REFERENCE_LABEL);
149
+ if (draft === undefined)
150
+ continue;
151
+ current = { ...current, draft };
157
152
  }
158
- // Add to chat owns the blank lines immediately after its leading occurrence.
153
+ let draft = current.draft;
154
+ // Add to chat owns the separator immediately after its leading occurrence.
159
155
  if (occurrences.some(occurrence => occurrence.offset === 0)) {
160
156
  if (draft.startsWith('\n\n'))
161
157
  draft = draft.slice(2);
162
- else if (draft.startsWith('\n'))
158
+ else if (draft.startsWith('\n') || draft.startsWith(' '))
163
159
  draft = draft.slice(1);
164
160
  }
165
161
  return draft;
@@ -188,46 +184,90 @@ export const selectionReferenceSource = {
188
184
  },
189
185
  },
190
186
  };
191
- function annotationClipboardText(annotations) {
192
- return annotations.map(annotation => annotation.text).join('\n\n');
193
- }
194
187
  function writeConversationAnnotations(input, before, annotations) {
195
188
  const draft = draftWithoutSelectionOccurrences(before);
196
- if (selectionOccurrences(before).length > 0)
197
- input.setDraft(draft);
198
189
  const insertionState = input.state.getSnapshot();
190
+ if (insertionState.draftRev !== before.draftRev || insertionState.draft !== before.draft)
191
+ return false;
199
192
  const ref = encodeSelectionReference(annotations);
200
193
  const inserted = input.insertReference({
201
194
  source: SELECTION_REFERENCE_SOURCE,
202
195
  ref,
203
196
  label: SELECTION_REFERENCE_LABEL,
204
- clipboardText: annotationClipboardText(annotations),
197
+ clipboardText: annotations.map(annotation => annotation.text).join('\n\n'),
205
198
  }, {
206
199
  start: 0,
207
200
  end: 0,
208
201
  draftRev: insertionState.draftRev,
209
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.
210
205
  if (!inserted)
211
206
  return false;
212
- // rc.7 inserts one U+FFFC placeholder, while newer DSH versions insert the
213
- // full @label range. Preserve whichever range DSH minted and only replace
214
- // its trailing separator so the first visual row remains available to the
215
- // plugin's interactive capsule.
216
- const afterInsertion = input.state.getSnapshot();
217
- const occurrence = selectionOccurrences(afterInsertion)
218
- .find(candidate => candidate.offset === 0 && candidate.ref === ref);
219
- const displayLength = occurrence === undefined ? 0 : occurrenceLength(occurrence);
220
- if (occurrence === undefined || displayLength > afterInsertion.draft.length) {
221
- input.setDraft(draft);
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();
222
228
  return false;
223
229
  }
224
- const display = afterInsertion.draft.slice(0, displayLength);
225
- input.setDraft(`${display}\n\n${draft}`);
226
- const preserved = selectionOccurrences(input.state.getSnapshot())
227
- .some(candidate => candidate.offset === 0 && candidate.ref === ref);
228
- if (!preserved)
229
- input.setDraft(draft);
230
- return preserved;
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);
231
271
  }
232
272
  /** Add one passage to the parent composer's aggregated annotation occurrence. */
233
273
  export function addSelectionToConversation(input, selection, comment) {
@@ -235,6 +275,19 @@ export function addSelectionToConversation(input, selection, comment) {
235
275
  const annotations = [...storedConversationAnnotations(before), annotationFromSelection(selection, comment)];
236
276
  return writeConversationAnnotations(input, before, annotations);
237
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
+ }
238
291
  /** Replace the optional comment on one unsent selected-passage annotation. */
239
292
  export function updateConversationAnnotation(input, annotationIndex, comment) {
240
293
  const before = input.state.getSnapshot();
@@ -252,13 +305,90 @@ export function updateConversationAnnotation(input, annotationIndex, comment) {
252
305
  };
253
306
  return writeConversationAnnotations(input, before, annotations);
254
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
+ }
255
387
  /** Return the valid aggregated reference currently occupying the leading draft slot. */
256
388
  export function conversationAnnotationReference(snapshot) {
257
389
  const occurrence = selectionOccurrences(snapshot).find(candidate => candidate.offset === 0);
258
390
  if (occurrence === undefined
259
- || occurrenceLength(occurrence) > snapshot.draft.length
260
- || (occurrence.length === undefined
261
- && !snapshot.draft.startsWith(OBJECT_REPLACEMENT_CHARACTER)))
391
+ || !occurrenceMatchesDraft(snapshot, occurrence, SELECTION_REFERENCE_LABEL))
262
392
  return;
263
393
  try {
264
394
  decodeStoredSelectionReference(occurrence.ref);
@@ -268,25 +398,25 @@ export function conversationAnnotationReference(snapshot) {
268
398
  return;
269
399
  }
270
400
  }
271
- function draftWithoutOrphanedAnnotationPrefix(snapshot, ref) {
401
+ function draftWithoutOrphanedAnnotationPrefix(snapshot) {
272
402
  if (snapshot.occurrences.some(occurrence => occurrence.offset === 0))
273
403
  return;
274
- const prefixes = [
275
- `${OBJECT_REPLACEMENT_CHARACTER}\n\n`,
276
- `@${SELECTION_REFERENCE_LABEL}\n\n`,
277
- ];
278
- if (ref !== undefined) {
279
- try {
280
- prefixes.push(`${annotationClipboardText(decodeStoredSelectionReference(ref))}\n\n`);
281
- }
282
- catch {
283
- // Invalid stored references cannot authorize removing plain draft text.
284
- }
285
- }
286
- const prefix = prefixes.find(candidate => snapshot.draft.startsWith(candidate));
287
- return prefix === undefined ? undefined : snapshot.draft.slice(prefix.length);
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
416
+ return;
417
+ return rest;
288
418
  }
289
- /** Remove a recognized plugin-owned prefix restored without its occurrence. */
419
+ /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
290
420
  export function removeOrphanedConversationAnnotationPlaceholder(input) {
291
421
  const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
292
422
  if (draft === undefined)
@@ -294,8 +424,8 @@ export function removeOrphanedConversationAnnotationPlaceholder(input) {
294
424
  input.setDraft(draft);
295
425
  return true;
296
426
  }
297
- /** Rehydrate a lost occurrence only over an exact stored plugin projection. */
298
- 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) {
299
429
  let annotations;
300
430
  try {
301
431
  annotations = decodeStoredSelectionReference(ref);
@@ -303,11 +433,35 @@ export function restoreConversationAnnotationReference(input, ref) {
303
433
  catch {
304
434
  return false;
305
435
  }
306
- const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot(), ref);
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);
307
449
  if (draft === undefined)
308
450
  return false;
309
- input.setDraft(draft);
310
- return writeConversationAnnotations(input, input.state.getSnapshot(), annotations);
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;
311
465
  }
312
466
  function unescapeXmlText(value) {
313
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":"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"}
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 drafts persisted without their runtime occurrences. */
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;AAoDD,kFAAkF;AAClF,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;IAmCjE,OAAO,CAAC,IAAI;IAsBZ,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,MAAM;CAQf"}
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"}