@ahggg/dsh-side-chat 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/lib/client/index.d.ts +1 -1
  2. package/lib/client/index.d.ts.map +1 -1
  3. package/lib/client/index.js +1 -1
  4. package/lib/client/index.js.map +1 -1
  5. package/lib/client/panel/SelectionQuote.d.ts.map +1 -1
  6. package/lib/client/panel/SelectionQuote.js +26 -1
  7. package/lib/client/panel/SelectionQuote.js.map +1 -1
  8. package/lib/client/parent-composer/ParentConversationAnnotations.d.ts.map +1 -1
  9. package/lib/client/parent-composer/ParentConversationAnnotations.js +4 -2
  10. package/lib/client/parent-composer/ParentConversationAnnotations.js.map +1 -1
  11. package/lib/client/parent-composer/add-to-conversation.d.ts +16 -0
  12. package/lib/client/parent-composer/add-to-conversation.d.ts.map +1 -1
  13. package/lib/client/parent-composer/add-to-conversation.js +143 -17
  14. package/lib/client/parent-composer/add-to-conversation.js.map +1 -1
  15. package/lib/client/parent-composer/annotation-persistence.d.ts +19 -0
  16. package/lib/client/parent-composer/annotation-persistence.d.ts.map +1 -0
  17. package/lib/client/parent-composer/annotation-persistence.js +97 -0
  18. package/lib/client/parent-composer/annotation-persistence.js.map +1 -0
  19. package/lib/client/rc6/ArchivedConversation.d.ts +2 -1
  20. package/lib/client/rc6/ArchivedConversation.d.ts.map +1 -1
  21. package/lib/client/rc6/ArchivedConversation.js +9 -90
  22. package/lib/client/rc6/ArchivedConversation.js.map +1 -1
  23. package/lib/client/rc6/Rc6SideChatOverlay.d.ts.map +1 -1
  24. package/lib/client/rc6/Rc6SideChatOverlay.js +53 -4
  25. package/lib/client/rc6/Rc6SideChatOverlay.js.map +1 -1
  26. package/lib/client/rc6/SideChatTool.d.ts +23 -0
  27. package/lib/client/rc6/SideChatTool.d.ts.map +1 -0
  28. package/lib/client/rc6/SideChatTool.js +395 -0
  29. package/lib/client/rc6/SideChatTool.js.map +1 -0
  30. package/lib/client/rc6/sessions-adapter.d.ts +11 -0
  31. package/lib/client/rc6/sessions-adapter.d.ts.map +1 -1
  32. package/lib/client/rc6/sessions-adapter.js +67 -16
  33. package/lib/client/rc6/sessions-adapter.js.map +1 -1
  34. package/lib/client/selection/ConversationAnnotationMarkers.d.ts +9 -0
  35. package/lib/client/selection/ConversationAnnotationMarkers.d.ts.map +1 -0
  36. package/lib/client/selection/ConversationAnnotationMarkers.js +241 -0
  37. package/lib/client/selection/ConversationAnnotationMarkers.js.map +1 -0
  38. package/lib/client/selection/SelectionActions.d.ts +6 -1
  39. package/lib/client/selection/SelectionActions.d.ts.map +1 -1
  40. package/lib/client/selection/SelectionActions.js +9 -8
  41. package/lib/client/selection/SelectionActions.js.map +1 -1
  42. package/lib/client/selection/selection-controller.d.ts +11 -0
  43. package/lib/client/selection/selection-controller.d.ts.map +1 -1
  44. package/lib/client/selection/selection-controller.js +54 -0
  45. package/lib/client/selection/selection-controller.js.map +1 -1
  46. package/lib/client.js +1187 -202
  47. package/lib/client.js.map +1 -1
  48. package/package.json +1 -1
@@ -4,7 +4,7 @@ export { SideChatController } from './side-chat-controller.js';
4
4
  export { buildSideChatPrompt } from './parent-composer/add-to-conversation.js';
5
5
  export { SideChatPanel, type SideChatPanelProps } from './panel/SideChatPanel.js';
6
6
  export { SelectionActions, type SelectionActionsProps } from './selection/SelectionActions.js';
7
- export { captureDomConversationSelection, type SelectionAnchorResolver, type SelectionNodeDescriptor, } from './selection/selection-controller.js';
7
+ export { captureDomConversationSelection, restoreDomConversationSelection, type RestoredConversationSelection, type SelectionAnchorResolver, type SelectionNodeDescriptor, } from './selection/selection-controller.js';
8
8
  export { selectionFitsLimit, summarizeSelection, utf8ByteLength } from './selection/selection-limits.js';
9
9
  export { assertSelectionCurrent, finalizeConversationSelection, normalizeSelectedText, SelectionValidationError, type ConversationSelectionInput, } from './selection/selection-normalizer.js';
10
10
  export type { ConversationSelection, SelectionFragment, SelectionRect, SideChatState, } from '../shared/contracts.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EACL,+BAA+B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACxG,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,0BAA0B,GAChC,MAAM,qCAAqC,CAAA;AAC5C,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACxG,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,0BAA0B,GAChC,MAAM,qCAAqC,CAAA;AAC5C,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAA"}
@@ -3,7 +3,7 @@ export { SideChatController } from './side-chat-controller.js';
3
3
  export { buildSideChatPrompt } from './parent-composer/add-to-conversation.js';
4
4
  export { SideChatPanel } from './panel/SideChatPanel.js';
5
5
  export { SelectionActions } from './selection/SelectionActions.js';
6
- export { captureDomConversationSelection, } from './selection/selection-controller.js';
6
+ export { captureDomConversationSelection, restoreDomConversationSelection, } from './selection/selection-controller.js';
7
7
  export { selectionFitsLimit, summarizeSelection, utf8ByteLength } from './selection/selection-limits.js';
8
8
  export { assertSelectionCurrent, finalizeConversationSelection, normalizeSelectedText, SelectionValidationError, } from './selection/selection-normalizer.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAA8B,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EACL,+BAA+B,GAGhC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACxG,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,qCAAqC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAQhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAA2B,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAA8B,MAAM,iCAAiC,CAAA;AAC9F,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAIhC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACxG,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,qCAAqC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionQuote.d.ts","sourceRoot":"","sources":["../../../src/client/panel/SelectionQuote.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B,2CAiGA"}
1
+ {"version":3,"file":"SelectionQuote.d.ts","sourceRoot":"","sources":["../../../src/client/panel/SelectionQuote.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B,2CAuHA"}
@@ -25,6 +25,23 @@ export function SelectionQuote({ selections, messages, onRemove, }) {
25
25
  if (leaveTimerRef.current !== undefined)
26
26
  window.clearTimeout(leaveTimerRef.current);
27
27
  }, []);
28
+ useEffect(() => {
29
+ if (!expanded)
30
+ return;
31
+ const dismissOutside = (event) => {
32
+ const quote = quoteRef.current;
33
+ const target = event.target;
34
+ if (quote !== null && target instanceof Node && quote.contains(target))
35
+ return;
36
+ if (leaveTimerRef.current !== undefined)
37
+ window.clearTimeout(leaveTimerRef.current);
38
+ leaveTimerRef.current = undefined;
39
+ setHovered(false);
40
+ setExpanded(false);
41
+ };
42
+ document.addEventListener('mousedown', dismissOutside, true);
43
+ return () => { document.removeEventListener('mousedown', dismissOutside, true); };
44
+ }, [expanded]);
28
45
  const constrainDetailsToBoundary = () => {
29
46
  const details = detailsRef.current;
30
47
  const boundary = quoteRef.current?.closest('.dsh-side-chat-panel, [data-composer-seat], [data-chat-flow-kind]');
@@ -43,6 +60,14 @@ export function SelectionQuote({ selections, messages, onRemove, }) {
43
60
  return (_jsxs("section", { ref: quoteRef, className: "dsh-side-chat-quote", "aria-label": messages.selectedPassage, "data-expanded": expanded || undefined, "data-hovered": hovered || undefined, onMouseEnter: () => {
44
61
  keepHoverOpen();
45
62
  constrainDetailsToBoundary();
46
- }, onMouseLeave: closeHoverAfterGrace, onFocusCapture: constrainDetailsToBoundary, children: [_jsxs("div", { className: "dsh-side-chat-quote-chip", children: [_jsxs("button", { type: "button", className: "dsh-side-chat-quote-trigger", "aria-expanded": expanded, "aria-label": `${expanded ? messages.collapse : messages.expand}: ${messages.selectedPassage}`, onClick: () => { setExpanded(value => !value); }, children: [_jsxs("svg", { className: "dsh-side-chat-quote-icon", viewBox: "0 0 24 24", "aria-hidden": "true", children: [_jsx("path", { d: "M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4Z" }), _jsx("path", { d: "M8 8h8M8 12h5" })] }), _jsx("strong", { children: messages.selectionAttachments(selections.length) })] }), onRemove !== undefined && (_jsx("button", { type: "button", className: "dsh-side-chat-quote-remove", "aria-label": messages.removeSelection, onClick: onRemove, children: "\u00D7" }))] }), _jsx("div", { ref: detailsRef, className: "dsh-side-chat-quote-details", role: "tooltip", children: selections.map((selection, index) => (_jsxs("div", { className: "dsh-side-chat-quote-detail", children: [_jsx("div", { className: "dsh-side-chat-quote-details-header", children: _jsxs("strong", { children: [String(index + 1), ". ", messages.selectionPreviewLabel, ":"] }) }), _jsx("pre", { children: selection.text }), selection.comment !== undefined && (_jsxs("div", { className: "dsh-side-chat-quote-comment", children: [_jsxs("strong", { children: [messages.selectionCommentLabel, ":"] }), _jsx("pre", { children: selection.comment })] }))] }, `${String(index)}-${selection.text}`))) })] }));
63
+ }, onMouseLeave: closeHoverAfterGrace, onFocusCapture: constrainDetailsToBoundary, children: [_jsxs("div", { className: "dsh-side-chat-quote-chip", children: [_jsxs("button", { type: "button", className: "dsh-side-chat-quote-trigger", "aria-expanded": expanded, "aria-label": `${expanded ? messages.collapse : messages.expand}: ${messages.selectedPassage}`, onClick: () => {
64
+ if (expanded) {
65
+ if (leaveTimerRef.current !== undefined)
66
+ window.clearTimeout(leaveTimerRef.current);
67
+ leaveTimerRef.current = undefined;
68
+ setHovered(false);
69
+ }
70
+ setExpanded(value => !value);
71
+ }, children: [_jsxs("svg", { className: "dsh-side-chat-quote-icon", viewBox: "0 0 24 24", "aria-hidden": "true", children: [_jsx("path", { d: "M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4Z" }), _jsx("path", { d: "M8 8h8M8 12h5" })] }), _jsx("strong", { children: messages.selectionAttachments(selections.length) })] }), onRemove !== undefined && (_jsx("button", { type: "button", className: "dsh-side-chat-quote-remove", "aria-label": messages.removeSelection, onClick: onRemove, children: "\u00D7" }))] }), _jsx("div", { ref: detailsRef, className: "dsh-side-chat-quote-details", role: "tooltip", children: selections.map((selection, index) => (_jsxs("div", { className: "dsh-side-chat-quote-detail", children: [_jsx("div", { className: "dsh-side-chat-quote-details-header", children: _jsxs("strong", { children: [String(index + 1), ". ", messages.selectionPreviewLabel, ":"] }) }), _jsx("pre", { children: selection.text }), selection.comment !== undefined && (_jsxs("div", { className: "dsh-side-chat-quote-comment", children: [_jsxs("strong", { children: [messages.selectionCommentLabel, ":"] }), _jsx("pre", { children: selection.comment })] }))] }, `${String(index)}-${selection.text}`))) })] }));
47
72
  }
48
73
  //# sourceMappingURL=SelectionQuote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionQuote.js","sourceRoot":"","sources":["../../../src/client/panel/SelectionQuote.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectionQuote.js","sourceRoot":"","sources":["../../../src/client/panel/SelectionQuote.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ParentConversationAnnotations.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/ParentConversationAnnotations.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAA;AAEjC,KAAK,MAAM,GAAG,MAAM,OAAO,kBAAkB,CAAA;AAC7C,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAA;QACvD,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAChC,CAAA;IACD,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AACD,KAAK,gBAAgB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;AAyBlD,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,MAAwB,GACzB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB,kDAYA;AA4BD,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAqB5G;AAED,iFAAiF;AACjF,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,gBAAgB,EACrB,iBAAiB,EAAE,MAAM,IAAI,GAC5B,MAAM,IAAI,CAyCZ"}
1
+ {"version":3,"file":"ParentConversationAnnotations.d.ts","sourceRoot":"","sources":["../../../src/client/parent-composer/ParentConversationAnnotations.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAA;AAEjC,KAAK,MAAM,GAAG,MAAM,OAAO,kBAAkB,CAAA;AAC7C,UAAU,aAAa;IACrB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAA;SAAE,CAAA;QACvD,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAChC,CAAA;IACD,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AACD,KAAK,gBAAgB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;AAyBlD,oFAAoF;AACpF,wBAAgB,yBAAyB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,MAAwB,GACzB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB,kDAYA;AA4BD,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAuB5G;AAED,iFAAiF;AACjF,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,gBAAgB,EACrB,iBAAiB,EAAE,MAAM,IAAI,GAC5B,MAAM,IAAI,CA2CZ"}
@@ -53,7 +53,7 @@ export function annotatedUserMessageRenderer(Original) {
53
53
  content: replaceTextContent(props.node.data.content, visibleMessage(parsed.message)),
54
54
  },
55
55
  };
56
- return (_jsxs("div", { className: "dsh-side-chat-parent-user-message", children: [_jsx(SelectionQuote, { selections: parsed.annotations, messages: SIDE_CHAT_MESSAGES[currentLocale()] }), createElement(Original, { ...props, node })] }));
56
+ return (_jsxs("div", { className: "dsh-side-chat-parent-user-message", children: [_jsx(SelectionQuote, { selections: parsed.annotations, messages: SIDE_CHAT_MESSAGES[currentLocale()] }), _jsx("div", { className: "dsh-side-chat-parent-user-message-body", children: createElement(Original, { ...props, node }) })] }));
57
57
  };
58
58
  }
59
59
  /** Mount the composer capsule and a thin wrapper around DSH's user renderers. */
@@ -62,7 +62,9 @@ export function mountParentConversationAnnotations(ctx, removeAnnotations) {
62
62
  const removeDock = slots.inject('conversation.input.dock', () => slots.register({
63
63
  name: 'conversation.input.dock',
64
64
  id: 'dsh-side-chat-annotations',
65
- order: -100,
65
+ // This zero-height projection must follow Todo (0), Goal (10), and Queue
66
+ // (20), so its absolute child remains anchored to the input card below.
67
+ order: 30,
66
68
  }, ({ input }) => (_jsx(ParentComposerAnnotations, { input: input, onRemove: removeAnnotations }))));
67
69
  const shadow = (key) => slots.inject('conversation.chat.node', () => {
68
70
  const ShadowedUserMessage = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ParentConversationAnnotations.js","sourceRoot":"","sources":["../../../src/client/parent-composer/ParentConversationAnnotations.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParentConversationAnnotations.js","sourceRoot":"","sources":["../../../src/client/parent-composer/ParentConversationAnnotations.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ export interface ConversationAnnotation {
5
5
  readonly text: string;
6
6
  readonly comment?: string;
7
7
  }
8
+ export interface ConversationSelectionAnnotation extends ConversationAnnotation {
9
+ /** Zero-based position in the aggregated composer annotation list. */
10
+ readonly annotationIndex: number;
11
+ readonly selection: ConversationSelection;
12
+ }
8
13
  export interface ParentComposerOccurrence {
9
14
  readonly occurrenceId: number;
10
15
  readonly source: string;
@@ -19,6 +24,7 @@ export interface ParentComposerInputSnapshot {
19
24
  export interface ParentComposerInput {
20
25
  readonly state: {
21
26
  getSnapshot(): ParentComposerInputSnapshot;
27
+ subscribe?(listener: () => void): () => void;
22
28
  };
23
29
  setDraft(text: string): void;
24
30
  insertReference(reference: {
@@ -51,12 +57,22 @@ export interface SelectionReferenceSource {
51
57
  export declare function decodeSelectionReference(ref: string): readonly ConversationAnnotation[];
52
58
  /** Read all plugin annotations represented by the current DSH input occurrence. */
53
59
  export declare function conversationAnnotations(snapshot: ParentComposerInputSnapshot): readonly ConversationAnnotation[];
60
+ /** Read annotations that retain an exact source-selection anchor. */
61
+ export declare function conversationSelectionAnnotations(snapshot: ParentComposerInputSnapshot): readonly ConversationSelectionAnnotation[];
54
62
  /** Remove every unsent plugin annotation while preserving the user's draft. */
55
63
  export declare function removeConversationAnnotations(input: ParentComposerInput): boolean;
56
64
  /** Reference codec used by DSH's native composer chip and submit pipeline. */
57
65
  export declare const selectionReferenceSource: SelectionReferenceSource;
58
66
  /** Add one passage to the parent composer's aggregated annotation occurrence. */
59
67
  export declare function addSelectionToConversation(input: ParentComposerInput, selection: ConversationSelection, comment?: string): boolean;
68
+ /** Replace the optional comment on one unsent selected-passage annotation. */
69
+ export declare function updateConversationAnnotation(input: ParentComposerInput, annotationIndex: number, comment?: string): boolean;
70
+ /** Return the valid aggregated reference currently occupying the leading draft slot. */
71
+ export declare function conversationAnnotationReference(snapshot: ParentComposerInputSnapshot): string | undefined;
72
+ /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
73
+ export declare function removeOrphanedConversationAnnotationPlaceholder(input: ParentComposerInput): boolean;
74
+ /** Rehydrate a lost rc.6 occurrence only over the exact plugin-owned orphan prefix. */
75
+ export declare function restoreConversationAnnotationReference(input: ParentComposerInput, ref: string): boolean;
60
76
  export interface AnnotatedConversationPrompt {
61
77
  readonly annotations: readonly ConversationAnnotation[];
62
78
  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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"}
@@ -11,6 +11,7 @@ function annotationFromSelection(selection, comment) {
11
11
  const trimmedComment = comment?.trim();
12
12
  return {
13
13
  text: selection.text,
14
+ selection,
14
15
  ...(trimmedComment === undefined || trimmedComment.length === 0
15
16
  ? {}
16
17
  : { comment: trimmedComment }),
@@ -18,29 +19,74 @@ function annotationFromSelection(selection, comment) {
18
19
  }
19
20
  function encodeSelectionReference(annotations) {
20
21
  return JSON.stringify({
21
- version: 1,
22
+ version: 2,
22
23
  annotations,
23
24
  });
24
25
  }
25
- function isAnnotation(value) {
26
+ function isSelection(value) {
27
+ if (typeof value !== 'object' || value === null)
28
+ return false;
29
+ const selection = value;
30
+ if (typeof selection.parentSessionId !== 'string'
31
+ || typeof selection.text !== 'string'
32
+ || !Number.isSafeInteger(selection.atSeq)
33
+ || !Array.isArray(selection.fragments)
34
+ || typeof selection.rect !== 'object'
35
+ || selection.rect === null)
36
+ return false;
37
+ const rect = selection.rect;
38
+ if (![rect.x, rect.y, rect.width, rect.height, rect.viewportWidth, rect.viewportHeight]
39
+ .every(number => typeof number === 'number' && Number.isFinite(number)))
40
+ return false;
41
+ return selection.fragments.every((candidate) => {
42
+ if (typeof candidate !== 'object' || candidate === null)
43
+ return false;
44
+ const fragment = candidate;
45
+ return typeof fragment.nodeKey === 'string'
46
+ && typeof fragment.nodeKind === 'string'
47
+ && typeof fragment.turnKey === 'string'
48
+ && Number.isSafeInteger(fragment.seq)
49
+ && Number.isSafeInteger(fragment.startOffset)
50
+ && Number.isSafeInteger(fragment.endOffset)
51
+ && typeof fragment.text === 'string'
52
+ && ['user', 'assistant', 'context', 'code'].includes(fragment.source ?? '')
53
+ && typeof fragment.modelVisible === 'boolean'
54
+ && typeof fragment.settled === 'boolean';
55
+ });
56
+ }
57
+ function isStoredAnnotation(value) {
26
58
  if (typeof value !== 'object' || value === null)
27
59
  return false;
28
60
  const annotation = value;
29
61
  return typeof annotation.text === 'string'
30
- && (annotation.comment === undefined || typeof annotation.comment === 'string');
62
+ && (annotation.comment === undefined || typeof annotation.comment === 'string')
63
+ && (annotation.selection === undefined || isSelection(annotation.selection));
31
64
  }
32
- export function decodeSelectionReference(ref) {
65
+ function visibleAnnotation(annotation) {
66
+ return {
67
+ text: annotation.text,
68
+ ...(annotation.comment === undefined ? {} : { comment: annotation.comment }),
69
+ };
70
+ }
71
+ function decodeStoredSelectionReference(ref) {
33
72
  const value = JSON.parse(ref);
34
73
  // Accept the one-selection payload written by the first Add-to-chat build.
35
- if (isAnnotation(value))
74
+ if (isStoredAnnotation(value))
36
75
  return [value];
37
- if (value.version !== 1
38
- || !Array.isArray(value.annotations)
39
- || value.annotations.length === 0
40
- || !value.annotations.every(isAnnotation)) {
76
+ if (typeof value !== 'object' || value === null) {
77
+ throw new Error('The selected conversation annotation is no longer valid.');
78
+ }
79
+ const payload = value;
80
+ if ((payload.version !== 1 && payload.version !== 2)
81
+ || !Array.isArray(payload.annotations)
82
+ || payload.annotations.length === 0
83
+ || !payload.annotations.every(isStoredAnnotation)) {
41
84
  throw new Error('The selected conversation annotation is no longer valid.');
42
85
  }
43
- return value.annotations;
86
+ return payload.annotations;
87
+ }
88
+ export function decodeSelectionReference(ref) {
89
+ return decodeStoredSelectionReference(ref).map(visibleAnnotation);
44
90
  }
45
91
  function selectedContext(annotations) {
46
92
  return [
@@ -67,17 +113,34 @@ function selectedContext(annotations) {
67
113
  function selectionOccurrences(snapshot) {
68
114
  return snapshot.occurrences.filter(occurrence => occurrence.source === SELECTION_REFERENCE_SOURCE);
69
115
  }
70
- /** Read all plugin annotations represented by the current DSH input occurrence. */
71
- export function conversationAnnotations(snapshot) {
116
+ function storedConversationAnnotations(snapshot) {
72
117
  return selectionOccurrences(snapshot).flatMap((occurrence) => {
73
118
  try {
74
- return [...decodeSelectionReference(occurrence.ref)];
119
+ return [...decodeStoredSelectionReference(occurrence.ref)];
75
120
  }
76
121
  catch {
77
122
  return [];
78
123
  }
79
124
  });
80
125
  }
126
+ /** Read all plugin annotations represented by the current DSH input occurrence. */
127
+ export function conversationAnnotations(snapshot) {
128
+ return storedConversationAnnotations(snapshot).map(visibleAnnotation);
129
+ }
130
+ /** Read annotations that retain an exact source-selection anchor. */
131
+ export function conversationSelectionAnnotations(snapshot) {
132
+ const anchored = [];
133
+ storedConversationAnnotations(snapshot).forEach((annotation, annotationIndex) => {
134
+ if (annotation.selection === undefined)
135
+ return;
136
+ anchored.push({
137
+ ...visibleAnnotation(annotation),
138
+ annotationIndex,
139
+ selection: annotation.selection,
140
+ });
141
+ });
142
+ return anchored;
143
+ }
81
144
  function draftWithoutSelectionOccurrences(snapshot) {
82
145
  const occurrences = [...selectionOccurrences(snapshot)].sort((a, b) => b.offset - a.offset);
83
146
  let draft = snapshot.draft;
@@ -117,10 +180,7 @@ export const selectionReferenceSource = {
117
180
  },
118
181
  },
119
182
  };
120
- /** Add one passage to the parent composer's aggregated annotation occurrence. */
121
- export function addSelectionToConversation(input, selection, comment) {
122
- const before = input.state.getSnapshot();
123
- const annotations = [...conversationAnnotations(before), annotationFromSelection(selection, comment)];
183
+ function writeConversationAnnotations(input, before, annotations) {
124
184
  const draft = draftWithoutSelectionOccurrences(before);
125
185
  if (selectionOccurrences(before).length > 0)
126
186
  input.setDraft(draft);
@@ -142,6 +202,72 @@ export function addSelectionToConversation(input, selection, comment) {
142
202
  input.setDraft(`${OBJECT_REPLACEMENT_CHARACTER}\n\n${draft}`);
143
203
  return true;
144
204
  }
205
+ /** Add one passage to the parent composer's aggregated annotation occurrence. */
206
+ export function addSelectionToConversation(input, selection, comment) {
207
+ const before = input.state.getSnapshot();
208
+ const annotations = [...storedConversationAnnotations(before), annotationFromSelection(selection, comment)];
209
+ return writeConversationAnnotations(input, before, annotations);
210
+ }
211
+ /** Replace the optional comment on one unsent selected-passage annotation. */
212
+ export function updateConversationAnnotation(input, annotationIndex, comment) {
213
+ const before = input.state.getSnapshot();
214
+ const annotations = [...storedConversationAnnotations(before)];
215
+ const current = annotations[annotationIndex];
216
+ if (!Number.isSafeInteger(annotationIndex) || current === undefined)
217
+ return false;
218
+ const trimmedComment = comment?.trim();
219
+ annotations[annotationIndex] = {
220
+ text: current.text,
221
+ ...(current.selection === undefined ? {} : { selection: current.selection }),
222
+ ...(trimmedComment === undefined || trimmedComment.length === 0
223
+ ? {}
224
+ : { comment: trimmedComment }),
225
+ };
226
+ return writeConversationAnnotations(input, before, annotations);
227
+ }
228
+ /** Return the valid aggregated reference currently occupying the leading draft slot. */
229
+ export function conversationAnnotationReference(snapshot) {
230
+ const occurrence = selectionOccurrences(snapshot).find(candidate => candidate.offset === 0);
231
+ if (occurrence === undefined || !snapshot.draft.startsWith(OBJECT_REPLACEMENT_CHARACTER))
232
+ return;
233
+ try {
234
+ decodeStoredSelectionReference(occurrence.ref);
235
+ return occurrence.ref;
236
+ }
237
+ catch {
238
+ return;
239
+ }
240
+ }
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))
245
+ return;
246
+ return snapshot.draft.slice(prefix.length);
247
+ }
248
+ /** Remove the plugin-owned prefix when rc.6 restored its draft without occurrences. */
249
+ export function removeOrphanedConversationAnnotationPlaceholder(input) {
250
+ const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
251
+ if (draft === undefined)
252
+ return false;
253
+ input.setDraft(draft);
254
+ return true;
255
+ }
256
+ /** Rehydrate a lost rc.6 occurrence only over the exact plugin-owned orphan prefix. */
257
+ export function restoreConversationAnnotationReference(input, ref) {
258
+ let annotations;
259
+ try {
260
+ annotations = decodeStoredSelectionReference(ref);
261
+ }
262
+ catch {
263
+ return false;
264
+ }
265
+ const draft = draftWithoutOrphanedAnnotationPrefix(input.state.getSnapshot());
266
+ if (draft === undefined)
267
+ return false;
268
+ input.setDraft(draft);
269
+ return writeConversationAnnotations(input, input.state.getSnapshot(), annotations);
270
+ }
145
271
  function unescapeXmlText(value) {
146
272
  return value
147
273
  .replaceAll('&lt;', '<')
@@ -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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"}
@@ -0,0 +1,19 @@
1
+ import type { SessionId } from '../../shared/contracts.js';
2
+ import type { ParentComposerInput } from './add-to-conversation.js';
3
+ interface AnnotationStorage {
4
+ getItem(key: string): string | null;
5
+ setItem(key: string, value: string): void;
6
+ removeItem(key: string): void;
7
+ }
8
+ /** Tab-scoped recovery for rc.6 drafts that persist U+FFFC without occurrences. */
9
+ export declare class ConversationAnnotationPersistence {
10
+ private readonly storage;
11
+ private readonly observedSessions;
12
+ constructor(storage?: AnnotationStorage | undefined);
13
+ reconcile(sessionId: SessionId, input: ParentComposerInput): void;
14
+ private read;
15
+ private write;
16
+ private remove;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=annotation-persistence.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,97 @@
1
+ import { conversationAnnotationReference, removeOrphanedConversationAnnotationPlaceholder, restoreConversationAnnotationReference, } from './add-to-conversation.js';
2
+ const STORAGE_PREFIX = 'dsh-side-chat:composer-annotations:';
3
+ function browserSessionStorage() {
4
+ if (typeof window === 'undefined')
5
+ return;
6
+ try {
7
+ return window.sessionStorage;
8
+ }
9
+ catch {
10
+ return;
11
+ }
12
+ }
13
+ function storageKey(sessionId) {
14
+ return `${STORAGE_PREFIX}${encodeURIComponent(sessionId)}`;
15
+ }
16
+ function recordOf(snapshot) {
17
+ const ref = conversationAnnotationReference(snapshot);
18
+ return ref === undefined ? undefined : { version: 1, draft: snapshot.draft, ref };
19
+ }
20
+ /** Tab-scoped recovery for rc.6 drafts that persist U+FFFC without occurrences. */
21
+ export class ConversationAnnotationPersistence {
22
+ storage;
23
+ observedSessions = new Set();
24
+ constructor(storage = browserSessionStorage()) {
25
+ this.storage = storage;
26
+ }
27
+ reconcile(sessionId, input) {
28
+ const key = storageKey(sessionId);
29
+ const snapshot = input.state.getSnapshot();
30
+ const current = recordOf(snapshot);
31
+ if (current !== undefined) {
32
+ this.observedSessions.add(key);
33
+ this.write(key, current);
34
+ return;
35
+ }
36
+ const stored = this.read(key);
37
+ if (stored !== undefined && snapshot.draft === stored.draft) {
38
+ this.observedSessions.add(key);
39
+ if (restoreConversationAnnotationReference(input, stored.ref))
40
+ return;
41
+ this.remove(key);
42
+ removeOrphanedConversationAnnotationPlaceholder(input);
43
+ return;
44
+ }
45
+ // A live occurrence disappeared in this plugin lifetime: removal or send
46
+ // is authoritative, including the transition to an empty draft.
47
+ if (this.observedSessions.has(key)) {
48
+ this.remove(key);
49
+ removeOrphanedConversationAnnotationPlaceholder(input);
50
+ return;
51
+ }
52
+ // A new shell starts empty before ConversationSession seeds its persisted
53
+ // draft. Keep the tab record until that one mount-time adoption occurs.
54
+ if (stored !== undefined && snapshot.draft === '')
55
+ return;
56
+ if (stored !== undefined)
57
+ this.remove(key);
58
+ removeOrphanedConversationAnnotationPlaceholder(input);
59
+ }
60
+ read(key) {
61
+ if (this.storage === undefined)
62
+ return;
63
+ try {
64
+ const raw = this.storage.getItem(key);
65
+ if (raw === null)
66
+ return;
67
+ 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 }
70
+ : undefined;
71
+ }
72
+ catch {
73
+ return;
74
+ }
75
+ }
76
+ write(key, record) {
77
+ if (this.storage === undefined)
78
+ return;
79
+ try {
80
+ this.storage.setItem(key, JSON.stringify(record));
81
+ }
82
+ catch {
83
+ // Draft recovery is best-effort; the orphan-prefix guard remains active.
84
+ }
85
+ }
86
+ remove(key) {
87
+ if (this.storage === undefined)
88
+ return;
89
+ try {
90
+ this.storage.removeItem(key);
91
+ }
92
+ catch {
93
+ // Storage denial must not block composer cleanup.
94
+ }
95
+ }
96
+ }
97
+ //# sourceMappingURL=annotation-persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-persistence.js","sourceRoot":"","sources":["../../../src/client/parent-composer/annotation-persistence.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@ import type { SessionFace } from '@deepseek-ai/dsh-client-runtime/client';
2
2
  import type { ConversationSelection } from '../../shared/contracts.js';
3
3
  import type { SideChatController } from '../side-chat-controller.js';
4
4
  /** Functional rc.6 conversation surface bound to a non-current child Session. */
5
- export declare function ArchivedConversation({ face, inheritedThroughSeq, controller, selection, locale, }: {
5
+ export declare function ArchivedConversation({ face, inheritedThroughSeq, controller, selection, locale, cwd, }: {
6
6
  readonly face: SessionFace;
7
7
  readonly inheritedThroughSeq: number;
8
8
  readonly controller: SideChatController;
9
9
  readonly selection?: ConversationSelection;
10
10
  readonly locale?: 'en' | 'zh-CN';
11
+ readonly cwd?: string | undefined;
11
12
  }): import("react/jsx-runtime").JSX.Element;
12
13
  //# sourceMappingURL=ArchivedConversation.d.ts.map