@ahggg/dsh-side-chat 0.7.0 → 0.7.1

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 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
  ![Ask about selected text in Side Chat, then add the Side Chat conversation to the main chat](https://raw.githubusercontent.com/AHGGG/dsh-side-chat/master/docs/assets/side-chat-demo.gif)
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
  ![先在 Side Chat 中询问选中文本,再将 Side Chat 对话添加到主会话](https://raw.githubusercontent.com/AHGGG/dsh-side-chat/master/docs/assets/side-chat-demo.gif)
@@ -17,6 +17,8 @@ export interface ParentComposerOccurrence {
17
17
  readonly offset: number;
18
18
  /** Present in newer DSH input snapshots; older rc.6 fixtures omit it. */
19
19
  readonly length?: number;
20
+ /** Draft-persistence projection cached by newer DSH versions. */
21
+ readonly clipboardText?: string;
20
22
  }
21
23
  export interface ParentComposerInputSnapshot {
22
24
  readonly draft: string;
@@ -72,9 +74,9 @@ export declare function addSelectionToConversation(input: ParentComposerInput, s
72
74
  export declare function updateConversationAnnotation(input: ParentComposerInput, annotationIndex: number, comment?: string): boolean;
73
75
  /** Return the valid aggregated reference currently occupying the leading draft slot. */
74
76
  export declare function conversationAnnotationReference(snapshot: ParentComposerInputSnapshot): string | undefined;
75
- /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
77
+ /** Remove a recognized plugin-owned prefix restored without its occurrence. */
76
78
  export declare function removeOrphanedConversationAnnotationPlaceholder(input: ParentComposerInput): boolean;
77
- /** Rehydrate a lost rc.6 occurrence only over the exact plugin-owned orphan prefix. */
79
+ /** Rehydrate a lost occurrence only over an exact stored plugin projection. */
78
80
  export declare function restoreConversationAnnotationReference(input: ParentComposerInput, ref: string): boolean;
79
81
  export interface AnnotatedConversationPrompt {
80
82
  readonly annotations: readonly ConversationAnnotation[];
@@ -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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"}
@@ -113,6 +113,13 @@ 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
+ }
116
123
  function storedConversationAnnotations(snapshot) {
117
124
  return selectionOccurrences(snapshot).flatMap((occurrence) => {
118
125
  try {
@@ -145,7 +152,8 @@ function draftWithoutSelectionOccurrences(snapshot) {
145
152
  const occurrences = [...selectionOccurrences(snapshot)].sort((a, b) => b.offset - a.offset);
146
153
  let draft = snapshot.draft;
147
154
  for (const occurrence of occurrences) {
148
- draft = draft.slice(0, occurrence.offset) + draft.slice(occurrence.offset + 1);
155
+ draft = draft.slice(0, occurrence.offset)
156
+ + draft.slice(occurrence.offset + occurrenceLength(occurrence));
149
157
  }
150
158
  // Add to chat owns the blank lines immediately after its leading occurrence.
151
159
  if (occurrences.some(occurrence => occurrence.offset === 0)) {
@@ -180,16 +188,20 @@ export const selectionReferenceSource = {
180
188
  },
181
189
  },
182
190
  };
191
+ function annotationClipboardText(annotations) {
192
+ return annotations.map(annotation => annotation.text).join('\n\n');
193
+ }
183
194
  function writeConversationAnnotations(input, before, annotations) {
184
195
  const draft = draftWithoutSelectionOccurrences(before);
185
196
  if (selectionOccurrences(before).length > 0)
186
197
  input.setDraft(draft);
187
198
  const insertionState = input.state.getSnapshot();
199
+ const ref = encodeSelectionReference(annotations);
188
200
  const inserted = input.insertReference({
189
201
  source: SELECTION_REFERENCE_SOURCE,
190
- ref: encodeSelectionReference(annotations),
202
+ ref,
191
203
  label: SELECTION_REFERENCE_LABEL,
192
- clipboardText: annotations.map(annotation => annotation.text).join('\n\n'),
204
+ clipboardText: annotationClipboardText(annotations),
193
205
  }, {
194
206
  start: 0,
195
207
  end: 0,
@@ -197,10 +209,25 @@ function writeConversationAnnotations(input, before, annotations) {
197
209
  });
198
210
  if (!inserted)
199
211
  return false;
200
- // DSH keeps the occurrence and owns its model serialization. The two blank
201
- // lines reserve the first visual row for the plugin's interactive capsule.
202
- input.setDraft(`${OBJECT_REPLACEMENT_CHARACTER}\n\n${draft}`);
203
- return true;
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);
222
+ return false;
223
+ }
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;
204
231
  }
205
232
  /** Add one passage to the parent composer's aggregated annotation occurrence. */
206
233
  export function addSelectionToConversation(input, selection, comment) {
@@ -228,7 +255,10 @@ export function updateConversationAnnotation(input, annotationIndex, comment) {
228
255
  /** Return the valid aggregated reference currently occupying the leading draft slot. */
229
256
  export function conversationAnnotationReference(snapshot) {
230
257
  const occurrence = selectionOccurrences(snapshot).find(candidate => candidate.offset === 0);
231
- if (occurrence === undefined || !snapshot.draft.startsWith(OBJECT_REPLACEMENT_CHARACTER))
258
+ if (occurrence === undefined
259
+ || occurrenceLength(occurrence) > snapshot.draft.length
260
+ || (occurrence.length === undefined
261
+ && !snapshot.draft.startsWith(OBJECT_REPLACEMENT_CHARACTER)))
232
262
  return;
233
263
  try {
234
264
  decodeStoredSelectionReference(occurrence.ref);
@@ -238,14 +268,25 @@ export function conversationAnnotationReference(snapshot) {
238
268
  return;
239
269
  }
240
270
  }
241
- function draftWithoutOrphanedAnnotationPrefix(snapshot) {
242
- const prefix = `${OBJECT_REPLACEMENT_CHARACTER}\n\n`;
243
- if (!snapshot.draft.startsWith(prefix)
244
- || snapshot.occurrences.some(occurrence => occurrence.offset === 0))
271
+ function draftWithoutOrphanedAnnotationPrefix(snapshot, ref) {
272
+ if (snapshot.occurrences.some(occurrence => occurrence.offset === 0))
245
273
  return;
246
- return snapshot.draft.slice(prefix.length);
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);
247
288
  }
248
- /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
289
+ /** Remove a recognized plugin-owned prefix restored without its occurrence. */
249
290
  export function removeOrphanedConversationAnnotationPlaceholder(input) {
250
291
  const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
251
292
  if (draft === undefined)
@@ -253,7 +294,7 @@ export function removeOrphanedConversationAnnotationPlaceholder(input) {
253
294
  input.setDraft(draft);
254
295
  return true;
255
296
  }
256
- /** Rehydrate a lost rc.6 occurrence only over the exact plugin-owned orphan prefix. */
297
+ /** Rehydrate a lost occurrence only over an exact stored plugin projection. */
257
298
  export function restoreConversationAnnotationReference(input, ref) {
258
299
  let annotations;
259
300
  try {
@@ -262,7 +303,7 @@ export function restoreConversationAnnotationReference(input, ref) {
262
303
  catch {
263
304
  return false;
264
305
  }
265
- const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
306
+ const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot(), ref);
266
307
  if (draft === undefined)
267
308
  return false;
268
309
  input.setDraft(draft);
@@ -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 rc.6 drafts that persist U+FFFC without occurrences. */
8
+ /** Tab-scoped recovery for drafts persisted without their runtime occurrences. */
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;AA0BD,mFAAmF;AACnF,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;IAkCjE,OAAO,CAAC,IAAI;IAcZ,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;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"}
@@ -13,11 +13,37 @@ function browserSessionStorage() {
13
13
  function storageKey(sessionId) {
14
14
  return `${STORAGE_PREFIX}${encodeURIComponent(sessionId)}`;
15
15
  }
16
+ function clipboardProjection(snapshot) {
17
+ let draft = snapshot.draft;
18
+ const occurrences = [...snapshot.occurrences].sort((a, b) => b.offset - a.offset);
19
+ for (const occurrence of occurrences) {
20
+ const length = occurrence.length ?? 1;
21
+ if (!Number.isSafeInteger(occurrence.offset)
22
+ || occurrence.offset < 0
23
+ || !Number.isSafeInteger(length)
24
+ || length <= 0
25
+ || occurrence.offset + length > draft.length
26
+ || occurrence.clipboardText === undefined)
27
+ return;
28
+ draft = draft.slice(0, occurrence.offset)
29
+ + occurrence.clipboardText
30
+ + draft.slice(occurrence.offset + length);
31
+ }
32
+ return draft;
33
+ }
16
34
  function recordOf(snapshot) {
17
35
  const ref = conversationAnnotationReference(snapshot);
18
- return ref === undefined ? undefined : { version: 1, draft: snapshot.draft, ref };
36
+ if (ref === undefined)
37
+ return;
38
+ const projection = clipboardProjection(snapshot);
39
+ return {
40
+ version: 1,
41
+ draft: snapshot.draft,
42
+ ...(projection === undefined ? {} : { projection }),
43
+ ref,
44
+ };
19
45
  }
20
- /** Tab-scoped recovery for rc.6 drafts that persist U+FFFC without occurrences. */
46
+ /** Tab-scoped recovery for drafts persisted without their runtime occurrences. */
21
47
  export class ConversationAnnotationPersistence {
22
48
  storage;
23
49
  observedSessions = new Set();
@@ -34,7 +60,8 @@ export class ConversationAnnotationPersistence {
34
60
  return;
35
61
  }
36
62
  const stored = this.read(key);
37
- if (stored !== undefined && snapshot.draft === stored.draft) {
63
+ if (stored !== undefined
64
+ && (snapshot.draft === stored.draft || snapshot.draft === stored.projection)) {
38
65
  this.observedSessions.add(key);
39
66
  if (restoreConversationAnnotationReference(input, stored.ref))
40
67
  return;
@@ -65,8 +92,16 @@ export class ConversationAnnotationPersistence {
65
92
  if (raw === null)
66
93
  return;
67
94
  const value = JSON.parse(raw);
68
- return value.version === 1 && typeof value.draft === 'string' && typeof value.ref === 'string'
69
- ? { version: 1, draft: value.draft, ref: value.ref }
95
+ return value.version === 1
96
+ && typeof value.draft === 'string'
97
+ && typeof value.ref === 'string'
98
+ && (value.projection === undefined || typeof value.projection === 'string')
99
+ ? {
100
+ version: 1,
101
+ draft: value.draft,
102
+ ...(value.projection === undefined ? {} : { projection: value.projection }),
103
+ ref: value.ref,
104
+ }
70
105
  : undefined;
71
106
  }
72
107
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-persistence.js","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotation-persistence.js","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"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"}
package/lib/client.js CHANGED
@@ -13,6 +13,7 @@ window.__ModuleLoader__.load({
13
13
  //#region src/client/parent-composer/add-to-conversation.ts
14
14
  const SELECTION_REFERENCE_SOURCE = "dsh-side-chat-selection";
15
15
  const OBJECT_REPLACEMENT_CHARACTER = "";
16
+ const SELECTION_REFERENCE_LABEL = "__dsh_side_chat_annotations__";
16
17
  function escapeXmlText(value) {
17
18
  return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
18
19
  }
@@ -99,6 +100,9 @@ window.__ModuleLoader__.load({
99
100
  function selectionOccurrences(snapshot) {
100
101
  return snapshot.occurrences.filter((occurrence) => occurrence.source === SELECTION_REFERENCE_SOURCE);
101
102
  }
103
+ function occurrenceLength$1(occurrence) {
104
+ return occurrence.length !== void 0 && Number.isSafeInteger(occurrence.length) && occurrence.length > 0 ? occurrence.length : 1;
105
+ }
102
106
  function storedConversationAnnotations(snapshot) {
103
107
  return selectionOccurrences(snapshot).flatMap((occurrence) => {
104
108
  try {
@@ -128,7 +132,7 @@ window.__ModuleLoader__.load({
128
132
  function draftWithoutSelectionOccurrences(snapshot) {
129
133
  const occurrences = [...selectionOccurrences(snapshot)].sort((a, b) => b.offset - a.offset);
130
134
  let draft = snapshot.draft;
131
- for (const occurrence of occurrences) draft = draft.slice(0, occurrence.offset) + draft.slice(occurrence.offset + 1);
135
+ for (const occurrence of occurrences) draft = draft.slice(0, occurrence.offset) + draft.slice(occurrence.offset + occurrenceLength$1(occurrence));
132
136
  if (occurrences.some((occurrence) => occurrence.offset === 0)) {
133
137
  if (draft.startsWith("\n\n")) draft = draft.slice(2);
134
138
  else if (draft.startsWith("\n")) draft = draft.slice(1);
@@ -157,22 +161,36 @@ window.__ModuleLoader__.load({
157
161
  }
158
162
  }
159
163
  };
164
+ function annotationClipboardText(annotations) {
165
+ return annotations.map((annotation) => annotation.text).join("\n\n");
166
+ }
160
167
  function writeConversationAnnotations(input, before, annotations) {
161
168
  const draft = draftWithoutSelectionOccurrences(before);
162
169
  if (selectionOccurrences(before).length > 0) input.setDraft(draft);
163
170
  const insertionState = input.state.getSnapshot();
171
+ const ref = encodeSelectionReference(annotations);
164
172
  if (!input.insertReference({
165
173
  source: SELECTION_REFERENCE_SOURCE,
166
- ref: encodeSelectionReference(annotations),
174
+ ref,
167
175
  label: "__dsh_side_chat_annotations__",
168
- clipboardText: annotations.map((annotation) => annotation.text).join("\n\n")
176
+ clipboardText: annotationClipboardText(annotations)
169
177
  }, {
170
178
  start: 0,
171
179
  end: 0,
172
180
  draftRev: insertionState.draftRev
173
181
  })) return false;
174
- input.setDraft(`${OBJECT_REPLACEMENT_CHARACTER}\n\n${draft}`);
175
- return true;
182
+ const afterInsertion = input.state.getSnapshot();
183
+ const occurrence = selectionOccurrences(afterInsertion).find((candidate) => candidate.offset === 0 && candidate.ref === ref);
184
+ const displayLength = occurrence === void 0 ? 0 : occurrenceLength$1(occurrence);
185
+ if (occurrence === void 0 || displayLength > afterInsertion.draft.length) {
186
+ input.setDraft(draft);
187
+ return false;
188
+ }
189
+ const display = afterInsertion.draft.slice(0, displayLength);
190
+ input.setDraft(`${display}\n\n${draft}`);
191
+ const preserved = selectionOccurrences(input.state.getSnapshot()).some((candidate) => candidate.offset === 0 && candidate.ref === ref);
192
+ if (!preserved) input.setDraft(draft);
193
+ return preserved;
176
194
  }
177
195
  /** Add one passage to the parent composer's aggregated annotation occurrence. */
178
196
  function addSelectionToConversation(input, selection, comment) {
@@ -196,7 +214,7 @@ window.__ModuleLoader__.load({
196
214
  /** Return the valid aggregated reference currently occupying the leading draft slot. */
197
215
  function conversationAnnotationReference(snapshot) {
198
216
  const occurrence = selectionOccurrences(snapshot).find((candidate) => candidate.offset === 0);
199
- if (occurrence === void 0 || !snapshot.draft.startsWith(OBJECT_REPLACEMENT_CHARACTER)) return;
217
+ if (occurrence === void 0 || occurrenceLength$1(occurrence) > snapshot.draft.length || occurrence.length === void 0 && !snapshot.draft.startsWith(OBJECT_REPLACEMENT_CHARACTER)) return;
200
218
  try {
201
219
  decodeStoredSelectionReference(occurrence.ref);
202
220
  return occurrence.ref;
@@ -204,19 +222,23 @@ window.__ModuleLoader__.load({
204
222
  return;
205
223
  }
206
224
  }
207
- function draftWithoutOrphanedAnnotationPrefix(snapshot) {
208
- const prefix = `${OBJECT_REPLACEMENT_CHARACTER}\n\n`;
209
- if (!snapshot.draft.startsWith(prefix) || snapshot.occurrences.some((occurrence) => occurrence.offset === 0)) return;
210
- return snapshot.draft.slice(prefix.length);
225
+ function draftWithoutOrphanedAnnotationPrefix(snapshot, ref) {
226
+ if (snapshot.occurrences.some((occurrence) => occurrence.offset === 0)) return;
227
+ const prefixes = [`${OBJECT_REPLACEMENT_CHARACTER}\n\n`, `@${SELECTION_REFERENCE_LABEL}\n\n`];
228
+ if (ref !== void 0) try {
229
+ prefixes.push(`${annotationClipboardText(decodeStoredSelectionReference(ref))}\n\n`);
230
+ } catch {}
231
+ const prefix = prefixes.find((candidate) => snapshot.draft.startsWith(candidate));
232
+ return prefix === void 0 ? void 0 : snapshot.draft.slice(prefix.length);
211
233
  }
212
- /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
234
+ /** Remove a recognized plugin-owned prefix restored without its occurrence. */
213
235
  function removeOrphanedConversationAnnotationPlaceholder(input) {
214
236
  const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
215
237
  if (draft === void 0) return false;
216
238
  input.setDraft(draft);
217
239
  return true;
218
240
  }
219
- /** Rehydrate a lost rc.6 occurrence only over the exact plugin-owned orphan prefix. */
241
+ /** Rehydrate a lost occurrence only over an exact stored plugin projection. */
220
242
  function restoreConversationAnnotationReference(input, ref) {
221
243
  let annotations;
222
244
  try {
@@ -224,7 +246,7 @@ window.__ModuleLoader__.load({
224
246
  } catch {
225
247
  return false;
226
248
  }
227
- const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
249
+ const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot(), ref);
228
250
  if (draft === void 0) return false;
229
251
  input.setDraft(draft);
230
252
  return writeConversationAnnotations(input, input.state.getSnapshot(), annotations);
@@ -7811,15 +7833,28 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7811
7833
  function storageKey(sessionId) {
7812
7834
  return `${STORAGE_PREFIX}${encodeURIComponent(sessionId)}`;
7813
7835
  }
7836
+ function clipboardProjection(snapshot) {
7837
+ let draft = snapshot.draft;
7838
+ const occurrences = [...snapshot.occurrences].sort((a, b) => b.offset - a.offset);
7839
+ for (const occurrence of occurrences) {
7840
+ const length = occurrence.length ?? 1;
7841
+ if (!Number.isSafeInteger(occurrence.offset) || occurrence.offset < 0 || !Number.isSafeInteger(length) || length <= 0 || occurrence.offset + length > draft.length || occurrence.clipboardText === void 0) return;
7842
+ draft = draft.slice(0, occurrence.offset) + occurrence.clipboardText + draft.slice(occurrence.offset + length);
7843
+ }
7844
+ return draft;
7845
+ }
7814
7846
  function recordOf(snapshot) {
7815
7847
  const ref = conversationAnnotationReference(snapshot);
7816
- return ref === void 0 ? void 0 : {
7848
+ if (ref === void 0) return;
7849
+ const projection = clipboardProjection(snapshot);
7850
+ return {
7817
7851
  version: 1,
7818
7852
  draft: snapshot.draft,
7853
+ ...projection === void 0 ? {} : { projection },
7819
7854
  ref
7820
7855
  };
7821
7856
  }
7822
- /** Tab-scoped recovery for rc.6 drafts that persist U+FFFC without occurrences. */
7857
+ /** Tab-scoped recovery for drafts persisted without their runtime occurrences. */
7823
7858
  var ConversationAnnotationPersistence = class {
7824
7859
  storage;
7825
7860
  observedSessions = /* @__PURE__ */ new Set();
@@ -7836,7 +7871,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7836
7871
  return;
7837
7872
  }
7838
7873
  const stored = this.read(key);
7839
- if (stored !== void 0 && snapshot.draft === stored.draft) {
7874
+ if (stored !== void 0 && (snapshot.draft === stored.draft || snapshot.draft === stored.projection)) {
7840
7875
  this.observedSessions.add(key);
7841
7876
  if (restoreConversationAnnotationReference(input, stored.ref)) return;
7842
7877
  this.remove(key);
@@ -7858,9 +7893,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
7858
7893
  const raw = this.storage.getItem(key);
7859
7894
  if (raw === null) return;
7860
7895
  const value = JSON.parse(raw);
7861
- return value.version === 1 && typeof value.draft === "string" && typeof value.ref === "string" ? {
7896
+ return value.version === 1 && typeof value.draft === "string" && typeof value.ref === "string" && (value.projection === void 0 || typeof value.projection === "string") ? {
7862
7897
  version: 1,
7863
7898
  draft: value.draft,
7899
+ ...value.projection === void 0 ? {} : { projection: value.projection },
7864
7900
  ref: value.ref
7865
7901
  } : void 0;
7866
7902
  } catch {