@nanocollective/nanocoder 1.13.7 → 1.13.9

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 (139) hide show
  1. package/dist/app.js +6 -6
  2. package/dist/app.js.map +1 -1
  3. package/dist/components/status.d.ts.map +1 -1
  4. package/dist/components/status.js +8 -4
  5. package/dist/components/status.js.map +1 -1
  6. package/dist/components/user-input.d.ts.map +1 -1
  7. package/dist/components/user-input.js +35 -31
  8. package/dist/components/user-input.js.map +1 -1
  9. package/dist/components/user-message.d.ts.map +1 -1
  10. package/dist/components/user-message.js +0 -5
  11. package/dist/components/user-message.js.map +1 -1
  12. package/dist/components/welcome-message.d.ts.map +1 -1
  13. package/dist/components/welcome-message.js +9 -3
  14. package/dist/components/welcome-message.js.map +1 -1
  15. package/dist/hooks/__tests__/test-helpers.d.ts +5 -0
  16. package/dist/hooks/__tests__/test-helpers.d.ts.map +1 -0
  17. package/dist/hooks/__tests__/test-helpers.js +32 -0
  18. package/dist/hooks/__tests__/test-helpers.js.map +1 -0
  19. package/dist/hooks/__tests__/useInputState.deletion.spec.d.ts +2 -0
  20. package/dist/hooks/__tests__/useInputState.deletion.spec.d.ts.map +1 -0
  21. package/dist/hooks/__tests__/useInputState.deletion.spec.js +328 -0
  22. package/dist/hooks/__tests__/useInputState.deletion.spec.js.map +1 -0
  23. package/dist/hooks/__tests__/useInputState.state-management.spec.d.ts +2 -0
  24. package/dist/hooks/__tests__/useInputState.state-management.spec.d.ts.map +1 -0
  25. package/dist/hooks/__tests__/useInputState.state-management.spec.js +367 -0
  26. package/dist/hooks/__tests__/useInputState.state-management.spec.js.map +1 -0
  27. package/dist/hooks/__tests__/useInputState.undo-redo.spec.d.ts +2 -0
  28. package/dist/hooks/__tests__/useInputState.undo-redo.spec.d.ts.map +1 -0
  29. package/dist/hooks/__tests__/useInputState.undo-redo.spec.js +285 -0
  30. package/dist/hooks/__tests__/useInputState.undo-redo.spec.js.map +1 -0
  31. package/dist/hooks/__tests__/useToolHandler.cancellation.spec.d.ts +2 -0
  32. package/dist/hooks/__tests__/useToolHandler.cancellation.spec.d.ts.map +1 -0
  33. package/dist/hooks/__tests__/useToolHandler.cancellation.spec.js +227 -0
  34. package/dist/hooks/__tests__/useToolHandler.cancellation.spec.js.map +1 -0
  35. package/dist/hooks/__tests__/useToolHandler.execution.spec.d.ts +2 -0
  36. package/dist/hooks/__tests__/useToolHandler.execution.spec.d.ts.map +1 -0
  37. package/dist/hooks/__tests__/useToolHandler.execution.spec.js +264 -0
  38. package/dist/hooks/__tests__/useToolHandler.execution.spec.js.map +1 -0
  39. package/dist/hooks/__tests__/useToolHandler.validation.spec.d.ts +2 -0
  40. package/dist/hooks/__tests__/useToolHandler.validation.spec.d.ts.map +1 -0
  41. package/dist/hooks/__tests__/useToolHandler.validation.spec.js +149 -0
  42. package/dist/hooks/__tests__/useToolHandler.validation.spec.js.map +1 -0
  43. package/dist/{app/hooks → hooks}/useAppInitialization.d.ts +5 -5
  44. package/dist/hooks/useAppInitialization.d.ts.map +1 -0
  45. package/dist/{app/hooks → hooks}/useAppInitialization.js +15 -15
  46. package/dist/hooks/useAppInitialization.js.map +1 -0
  47. package/dist/{app/hooks → hooks}/useAppState.d.ts +6 -6
  48. package/dist/hooks/useAppState.d.ts.map +1 -0
  49. package/dist/{app/hooks → hooks}/useAppState.js +2 -2
  50. package/dist/hooks/useAppState.js.map +1 -0
  51. package/dist/{app/hooks → hooks}/useChatHandler.d.ts +2 -2
  52. package/dist/hooks/useChatHandler.d.ts.map +1 -0
  53. package/dist/{app/hooks → hooks}/useChatHandler.js +17 -11
  54. package/dist/hooks/useChatHandler.js.map +1 -0
  55. package/dist/hooks/useDirectoryTrust.d.ts.map +1 -0
  56. package/dist/{app/hooks → hooks}/useDirectoryTrust.js +3 -3
  57. package/dist/hooks/useDirectoryTrust.js.map +1 -0
  58. package/dist/hooks/useInputState.d.ts +10 -3
  59. package/dist/hooks/useInputState.d.ts.map +1 -1
  60. package/dist/hooks/useInputState.js +154 -15
  61. package/dist/hooks/useInputState.js.map +1 -1
  62. package/dist/{app/hooks → hooks}/useModeHandlers.d.ts +2 -2
  63. package/dist/hooks/useModeHandlers.d.ts.map +1 -0
  64. package/dist/{app/hooks → hooks}/useModeHandlers.js +4 -4
  65. package/dist/hooks/useModeHandlers.js.map +1 -0
  66. package/dist/hooks/useTerminalWidth.d.ts +15 -0
  67. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  68. package/dist/hooks/useTerminalWidth.js +39 -0
  69. package/dist/hooks/useTerminalWidth.js.map +1 -1
  70. package/dist/{app/hooks → hooks}/useToolHandler.d.ts +2 -2
  71. package/dist/hooks/useToolHandler.d.ts.map +1 -0
  72. package/dist/{app/hooks → hooks}/useToolHandler.js +65 -5
  73. package/dist/hooks/useToolHandler.js.map +1 -0
  74. package/dist/hooks/useUIState.d.ts +0 -2
  75. package/dist/hooks/useUIState.d.ts.map +1 -1
  76. package/dist/hooks/useUIState.js +1 -11
  77. package/dist/hooks/useUIState.js.map +1 -1
  78. package/dist/integration/paste-roundtrip.spec.d.ts +2 -0
  79. package/dist/integration/paste-roundtrip.spec.d.ts.map +1 -0
  80. package/dist/integration/paste-roundtrip.spec.js +327 -0
  81. package/dist/integration/paste-roundtrip.spec.js.map +1 -0
  82. package/dist/prompt-history.d.ts +9 -3
  83. package/dist/prompt-history.d.ts.map +1 -1
  84. package/dist/prompt-history.js +56 -14
  85. package/dist/prompt-history.js.map +1 -1
  86. package/dist/recommendations/model-database.d.ts.map +1 -1
  87. package/dist/recommendations/model-database.js +14 -0
  88. package/dist/recommendations/model-database.js.map +1 -1
  89. package/dist/types/hooks.d.ts +29 -0
  90. package/dist/types/hooks.d.ts.map +1 -1
  91. package/dist/types/hooks.js +10 -1
  92. package/dist/types/hooks.js.map +1 -1
  93. package/dist/utils/atomic-deletion.d.ts +17 -0
  94. package/dist/utils/atomic-deletion.d.ts.map +1 -0
  95. package/dist/utils/atomic-deletion.js +89 -0
  96. package/dist/utils/atomic-deletion.js.map +1 -0
  97. package/dist/utils/atomic-deletion.spec.d.ts +2 -0
  98. package/dist/utils/atomic-deletion.spec.d.ts.map +1 -0
  99. package/dist/utils/atomic-deletion.spec.js +153 -0
  100. package/dist/utils/atomic-deletion.spec.js.map +1 -0
  101. package/dist/utils/paste-detection.d.ts +36 -0
  102. package/dist/utils/paste-detection.d.ts.map +1 -0
  103. package/dist/utils/paste-detection.js +83 -0
  104. package/dist/utils/paste-detection.js.map +1 -0
  105. package/dist/utils/paste-detection.spec.d.ts +2 -0
  106. package/dist/utils/paste-detection.spec.d.ts.map +1 -0
  107. package/dist/utils/paste-detection.spec.js +44 -0
  108. package/dist/utils/paste-detection.spec.js.map +1 -0
  109. package/dist/utils/paste-utils.d.ts +3 -0
  110. package/dist/utils/paste-utils.d.ts.map +1 -0
  111. package/dist/utils/paste-utils.js +33 -0
  112. package/dist/utils/paste-utils.js.map +1 -0
  113. package/dist/utils/paste-utils.spec.d.ts +2 -0
  114. package/dist/utils/paste-utils.spec.d.ts.map +1 -0
  115. package/dist/utils/paste-utils.spec.js +61 -0
  116. package/dist/utils/paste-utils.spec.js.map +1 -0
  117. package/dist/utils/prompt-assembly.spec.d.ts +2 -0
  118. package/dist/utils/prompt-assembly.spec.d.ts.map +1 -0
  119. package/dist/utils/prompt-assembly.spec.js +80 -0
  120. package/dist/utils/prompt-assembly.spec.js.map +1 -0
  121. package/dist/utils/prompt-processor.d.ts +11 -0
  122. package/dist/utils/prompt-processor.d.ts.map +1 -1
  123. package/dist/utils/prompt-processor.js +57 -0
  124. package/dist/utils/prompt-processor.js.map +1 -1
  125. package/package.json +18 -8
  126. package/source/app/prompts/main-prompt.md +18 -0
  127. package/dist/app/hooks/useAppInitialization.d.ts.map +0 -1
  128. package/dist/app/hooks/useAppInitialization.js.map +0 -1
  129. package/dist/app/hooks/useAppState.d.ts.map +0 -1
  130. package/dist/app/hooks/useAppState.js.map +0 -1
  131. package/dist/app/hooks/useChatHandler.d.ts.map +0 -1
  132. package/dist/app/hooks/useChatHandler.js.map +0 -1
  133. package/dist/app/hooks/useDirectoryTrust.d.ts.map +0 -1
  134. package/dist/app/hooks/useDirectoryTrust.js.map +0 -1
  135. package/dist/app/hooks/useModeHandlers.d.ts.map +0 -1
  136. package/dist/app/hooks/useModeHandlers.js.map +0 -1
  137. package/dist/app/hooks/useToolHandler.d.ts.map +0 -1
  138. package/dist/app/hooks/useToolHandler.js.map +0 -1
  139. /package/dist/{app/hooks → hooks}/useDirectoryTrust.d.ts +0 -0
@@ -1,38 +1,138 @@
1
1
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { PlaceholderType } from '../types/hooks.js';
3
+ import { handlePaste } from '../utils/paste-utils.js';
4
+ import { PasteDetector } from '../utils/paste-detection.js';
5
+ import { handleAtomicDeletion } from '../utils/atomic-deletion.js';
6
+ // Helper functions
7
+ function createEmptyInputState() {
8
+ return {
9
+ displayValue: '',
10
+ placeholderContent: {},
11
+ };
12
+ }
13
+ function createInputStateFromString(text) {
14
+ // Convert old string-based history to new InputState format
15
+ return {
16
+ displayValue: text,
17
+ placeholderContent: {},
18
+ };
19
+ }
2
20
  export function useInputState() {
3
- const [input, setInput] = useState('');
21
+ // Core state following the spec
22
+ const [currentState, setCurrentState] = useState(createEmptyInputState());
23
+ const [undoStack, setUndoStack] = useState([]);
24
+ const [redoStack, setRedoStack] = useState([]);
25
+ // Legacy compatibility - these are derived from currentState
26
+ const [historyIndex, setHistoryIndex] = useState(-1);
4
27
  const [hasLargeContent, setHasLargeContent] = useState(false);
5
28
  const [originalInput, setOriginalInput] = useState('');
6
- const [historyIndex, setHistoryIndex] = useState(-1);
29
+ // Paste detection
30
+ const pasteDetectorRef = useRef(new PasteDetector());
7
31
  const debounceTimerRef = useRef(null);
32
+ // Cached line count for performance
8
33
  const [cachedLineCount, setCachedLineCount] = useState(1);
9
- // Cache the line count
34
+ // Helper to push current state to undo stack
35
+ const pushToUndoStack = useCallback((newState) => {
36
+ setUndoStack(prev => [...prev, currentState]);
37
+ setRedoStack([]); // Clear redo stack on new action
38
+ setCurrentState(newState);
39
+ }, [currentState]);
40
+ // Update input with paste detection and atomic deletion
10
41
  const updateInput = useCallback((newInput) => {
11
- setInput(newInput);
12
- // Compute and set line count immediately so UI doesn't show stale values
42
+ // First, check for atomic deletion (placeholder removal)
43
+ const atomicDeletionResult = handleAtomicDeletion(currentState, newInput);
44
+ if (atomicDeletionResult) {
45
+ // Atomic deletion occurred - apply it
46
+ pushToUndoStack(atomicDeletionResult);
47
+ return;
48
+ }
49
+ // Then detect if this might be a paste
50
+ const detection = pasteDetectorRef.current.detectPaste(newInput);
51
+ if (detection.isPaste && detection.addedText.length > 0) {
52
+ // Try to handle as paste
53
+ const pasteResult = handlePaste(detection.addedText, currentState.displayValue, currentState.placeholderContent, detection.method);
54
+ if (pasteResult) {
55
+ // Large paste detected - create placeholder
56
+ pushToUndoStack(pasteResult);
57
+ }
58
+ else {
59
+ // Small paste - treat as normal input
60
+ pushToUndoStack({
61
+ displayValue: newInput,
62
+ placeholderContent: currentState.placeholderContent,
63
+ });
64
+ }
65
+ }
66
+ else {
67
+ // Normal typing
68
+ pushToUndoStack({
69
+ displayValue: newInput,
70
+ placeholderContent: currentState.placeholderContent,
71
+ });
72
+ }
73
+ // Update derived state
13
74
  const immediateLineCount = Math.max(1, newInput.split(/\r\n|\r|\n/).length);
14
75
  setCachedLineCount(immediateLineCount);
15
- // Clear any previous debounce timer before setting a new one
76
+ // Clear any previous debounce timer
16
77
  if (debounceTimerRef.current) {
17
78
  clearTimeout(debounceTimerRef.current);
18
79
  }
19
80
  debounceTimerRef.current = setTimeout(() => {
20
81
  setHasLargeContent(newInput.length > 150);
21
82
  }, 50);
22
- }, []);
83
+ }, [currentState, pushToUndoStack]);
84
+ // Undo function (Ctrl+_)
85
+ const undo = useCallback(() => {
86
+ if (undoStack.length > 0) {
87
+ const previousState = undoStack[undoStack.length - 1];
88
+ const newUndoStack = undoStack.slice(0, -1);
89
+ setRedoStack(prev => [...prev, currentState]);
90
+ setUndoStack(newUndoStack);
91
+ setCurrentState(previousState);
92
+ // Update paste detector state
93
+ pasteDetectorRef.current.updateState(previousState.displayValue);
94
+ }
95
+ }, [undoStack, currentState]);
96
+ // Redo function (Ctrl+Y)
97
+ const redo = useCallback(() => {
98
+ if (redoStack.length > 0) {
99
+ const nextState = redoStack[redoStack.length - 1];
100
+ const newRedoStack = redoStack.slice(0, -1);
101
+ setUndoStack(prev => [...prev, currentState]);
102
+ setRedoStack(newRedoStack);
103
+ setCurrentState(nextState);
104
+ // Update paste detector state
105
+ pasteDetectorRef.current.updateState(nextState.displayValue);
106
+ }
107
+ }, [redoStack, currentState]);
108
+ // Delete placeholder atomically
109
+ const deletePlaceholder = useCallback((placeholderId) => {
110
+ const placeholderPattern = `[Paste #${placeholderId}: \\d+ chars]`;
111
+ const regex = new RegExp(placeholderPattern.replace(/[[\]]/g, '\\$&'), 'g');
112
+ const newDisplayValue = currentState.displayValue.replace(regex, '');
113
+ const newPlaceholderContent = { ...currentState.placeholderContent };
114
+ delete newPlaceholderContent[placeholderId];
115
+ pushToUndoStack({
116
+ displayValue: newDisplayValue,
117
+ placeholderContent: newPlaceholderContent,
118
+ });
119
+ }, [currentState, pushToUndoStack]);
120
+ // Reset all state
23
121
  const resetInput = useCallback(() => {
24
- // Clear any pending debounce timer
25
122
  if (debounceTimerRef.current) {
26
123
  clearTimeout(debounceTimerRef.current);
27
124
  debounceTimerRef.current = null;
28
125
  }
29
- setInput('');
126
+ setCurrentState(createEmptyInputState());
127
+ setUndoStack([]);
128
+ setRedoStack([]);
30
129
  setHasLargeContent(false);
31
130
  setOriginalInput('');
32
131
  setHistoryIndex(-1);
33
132
  setCachedLineCount(1);
133
+ pasteDetectorRef.current.reset();
34
134
  }, []);
35
- // Cleanup on unmount to avoid leaked timers
135
+ // Cleanup on unmount
36
136
  useEffect(() => {
37
137
  return () => {
38
138
  if (debounceTimerRef.current) {
@@ -41,26 +141,65 @@ export function useInputState() {
41
141
  }
42
142
  };
43
143
  }, []);
144
+ // Set full InputState (for history navigation)
145
+ const setInputState = useCallback((newState) => {
146
+ setCurrentState(newState);
147
+ pasteDetectorRef.current.updateState(newState.displayValue);
148
+ }, []);
149
+ // Legacy setters for compatibility
150
+ const setInput = useCallback((newInput) => {
151
+ setCurrentState(prev => ({
152
+ ...prev,
153
+ displayValue: newInput,
154
+ }));
155
+ pasteDetectorRef.current.updateState(newInput);
156
+ }, []);
157
+ // Compute legacy pastedContent for backward compatibility
158
+ const legacyPastedContent = useMemo(() => {
159
+ const pastedContent = {};
160
+ Object.entries(currentState.placeholderContent).forEach(([id, content]) => {
161
+ if (content.type === PlaceholderType.PASTE) {
162
+ pastedContent[id] = content.content;
163
+ }
164
+ });
165
+ return pastedContent;
166
+ }, [currentState.placeholderContent]);
44
167
  return useMemo(() => ({
45
- input,
46
- hasLargeContent,
168
+ // New spec-compliant interface
169
+ currentState,
170
+ undoStack,
171
+ redoStack,
172
+ undo,
173
+ redo,
174
+ deletePlaceholder,
175
+ setInputState,
176
+ // Legacy interface for compatibility
177
+ input: currentState.displayValue,
47
178
  originalInput,
48
179
  historyIndex,
49
180
  setInput,
50
- setHasLargeContent,
51
181
  setOriginalInput,
52
182
  setHistoryIndex,
53
183
  updateInput,
54
184
  resetInput,
55
185
  cachedLineCount,
186
+ // Computed legacy property for backward compatibility
187
+ pastedContent: legacyPastedContent,
56
188
  }), [
57
- input,
58
- hasLargeContent,
189
+ currentState,
190
+ undoStack,
191
+ redoStack,
192
+ undo,
193
+ redo,
194
+ deletePlaceholder,
195
+ setInputState,
59
196
  originalInput,
60
197
  historyIndex,
198
+ setInput,
61
199
  updateInput,
62
200
  resetInput,
63
201
  cachedLineCount,
202
+ legacyPastedContent,
64
203
  ]);
65
204
  }
66
205
  //# sourceMappingURL=useInputState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInputState.js","sourceRoot":"","sources":["../../source/hooks/useInputState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAExE,MAAM,UAAU,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAE7D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,uBAAuB;IACvB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QACpD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnB,yEAAyE;QACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5E,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAEvC,6DAA6D;QAC7D,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,gBAAgB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,kBAAkB,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC3C,CAAC,EAAE,EAAE,CAAC,CAAC;IACR,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,mCAAmC;QACnC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC9B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACvC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,4CAA4C;IAC5C,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE;YACX,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACvC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,CAAC;QACF,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACb,GAAG,EAAE,CAAC,CAAC;QACN,KAAK;QACL,eAAe;QACf,aAAa;QACb,YAAY;QACZ,QAAQ;QACR,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,UAAU;QACV,eAAe;KACf,CAAC,EACF;QACC,KAAK;QACL,eAAe;QACf,aAAa;QACb,YAAY;QACZ,WAAW;QACX,UAAU;QACV,eAAe;KACf,CACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useInputState.js","sourceRoot":"","sources":["../../source/hooks/useInputState.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { LLMClient, Message } from '../../types/core.js';
1
+ import { LLMClient, Message } from '../types/core.js';
2
2
  import React from 'react';
3
- import type { ThemePreset } from '../../types/ui.js';
3
+ import type { ThemePreset } from '../types/ui.js';
4
4
  interface UseModeHandlersProps {
5
5
  client: LLMClient | null;
6
6
  currentModel: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModeHandlers.d.ts","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AAShD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C,UAAU,oBAAoB;IAC7B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0BAA0B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,eAAe,CAAC,EAC/B,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,GACnB,EAAE,oBAAoB;;;;;uCAY0B,MAAM;;6CA8BA,MAAM;;uCAoElB,WAAW;;;EAgDrD"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createLLMClient } from '../../client-factory.js';
3
- import { updateLastUsed, savePreferences, loadPreferences, } from '../../config/preferences.js';
4
- import SuccessMessage from '../../components/success-message.js';
5
- import ErrorMessage from '../../components/error-message.js';
2
+ import { createLLMClient } from '../client-factory.js';
3
+ import { updateLastUsed, savePreferences, loadPreferences, } from '../config/preferences.js';
4
+ import SuccessMessage from '../components/success-message.js';
5
+ import ErrorMessage from '../components/error-message.js';
6
6
  export function useModeHandlers({ client, currentModel, currentProvider, currentTheme, setClient, setCurrentModel, setCurrentProvider, setCurrentTheme, setMessages, setIsModelSelectionMode, setIsProviderSelectionMode, setIsThemeSelectionMode, setIsRecommendationsMode, addToChatQueue, componentKeyCounter, }) {
7
7
  // Helper function to enter model selection mode
8
8
  const enterModelSelectionMode = () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useModeHandlers.js","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,17 @@
1
+ export type TerminalSize = 'narrow' | 'normal' | 'wide';
1
2
  export declare const useTerminalWidth: () => number;
3
+ /**
4
+ * Hook to detect terminal size category and provide responsive utilities
5
+ * @returns Object with terminal width, size category, and utility functions
6
+ */
7
+ export declare const useResponsiveTerminal: () => {
8
+ boxWidth: number;
9
+ actualWidth: number;
10
+ size: TerminalSize;
11
+ isNarrow: boolean;
12
+ isNormal: boolean;
13
+ isWide: boolean;
14
+ truncate: (text: string, maxLength: number) => string;
15
+ truncatePath: (pathStr: string, maxLength: number) => string;
16
+ };
2
17
  //# sourceMappingURL=useTerminalWidth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTerminalWidth.d.ts","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,cAyB5B,CAAC"}
1
+ {"version":3,"file":"useTerminalWidth.d.ts","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,eAAO,MAAM,gBAAgB,cAyB5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;qBAcT,MAAM,aAAa,MAAM,KAAG,MAAM;4BAM3B,MAAM,aAAa,MAAM,KAAG,MAAM;CAejE,CAAC"}
@@ -17,4 +17,43 @@ export const useTerminalWidth = () => {
17
17
  }, []);
18
18
  return boxWidth;
19
19
  };
20
+ /**
21
+ * Hook to detect terminal size category and provide responsive utilities
22
+ * @returns Object with terminal width, size category, and utility functions
23
+ */
24
+ export const useResponsiveTerminal = () => {
25
+ const boxWidth = useTerminalWidth();
26
+ const actualWidth = process.stdout.columns || 80;
27
+ // Define breakpoints for terminal sizes
28
+ const getSize = (width) => {
29
+ if (width < 60)
30
+ return 'narrow';
31
+ if (width < 100)
32
+ return 'normal';
33
+ return 'wide';
34
+ };
35
+ const size = getSize(actualWidth);
36
+ // Utility to truncate long text with ellipsis
37
+ const truncate = (text, maxLength) => {
38
+ if (text.length <= maxLength)
39
+ return text;
40
+ return text.slice(0, maxLength - 3) + '...';
41
+ };
42
+ // Utility to truncate path intelligently (keep end of path)
43
+ const truncatePath = (pathStr, maxLength) => {
44
+ if (pathStr.length <= maxLength)
45
+ return pathStr;
46
+ return '...' + pathStr.slice(-(maxLength - 3));
47
+ };
48
+ return {
49
+ boxWidth,
50
+ actualWidth,
51
+ size,
52
+ isNarrow: size === 'narrow',
53
+ isNormal: size === 'normal',
54
+ isWide: size === 'wide',
55
+ truncate,
56
+ truncatePath,
57
+ };
58
+ };
20
59
  //# sourceMappingURL=useTerminalWidth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTerminalWidth.js","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACpC,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC7C,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAC/C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,YAAY,GAAG,GAAG,EAAE;YACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACjE,wCAAwC;YACxC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,oCAAoC;QACpC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE1C,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"useTerminalWidth.js","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAI1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACpC,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAC7C,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAC/C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,YAAY,GAAG,GAAG,EAAE;YACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACjE,wCAAwC;YACxC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,oCAAoC;QACpC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE1C,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACzC,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAEjD,wCAAwC;IACxC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAgB,EAAE;QAC/C,IAAI,KAAK,GAAG,EAAE;YAAE,OAAO,QAAQ,CAAC;QAChC,IAAI,KAAK,GAAG,GAAG;YAAE,OAAO,QAAQ,CAAC;QACjC,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAElC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE;QAC5D,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAC7C,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAU,EAAE;QACnE,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,OAAO,CAAC;QAChD,OAAO,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO;QACN,QAAQ;QACR,WAAW;QACX,IAAI;QACJ,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAC3B,QAAQ,EAAE,IAAI,KAAK,QAAQ;QAC3B,MAAM,EAAE,IAAI,KAAK,MAAM;QACvB,QAAQ;QACR,YAAY;KACZ,CAAC;AACH,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Message, LLMClient, DevelopmentMode } from '../../types/core.js';
2
- import { ConversationContext } from '../../app/hooks/useAppState.js';
1
+ import { Message, LLMClient, DevelopmentMode } from '../types/core.js';
2
+ import { ConversationContext } from '../hooks/useAppState.js';
3
3
  import React from 'react';
4
4
  interface UseToolHandlerProps {
5
5
  pendingToolCalls: any[];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolHandler.d.ts","sourceRoot":"","sources":["../../source/hooks/useToolHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAIxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,mBAAmB;IAC5B,gBAAgB,EAAE,GAAG,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,0BAA0B,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvD,mBAAmB,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC5C,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,uBAAuB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAClD,6BAA6B,EAAE,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7E,yBAAyB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,kBAAkB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,IAAI,CAAC;IACvC,0BAA0B,EAAE,CAC3B,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,OAAO,EAAE,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;CACrD;AAED,wBAAgB,cAAc,CAAC,EAC9B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,MAAM,EACN,eAAe,EACf,kBAAkB,GAClB,EAAE,mBAAmB;wCAuG4B,OAAO;;2CA+Q5C,GAAG,EAAE,mBACC,OAAO,EAAE,gBACZ,OAAO,iBACN,OAAO;kCAvXoB,GAAG,UAAU,GAAG;wDA+DM,GAAG,EAAE;;EA6UtE"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { processToolUse, getToolManager } from '../../message-handler.js';
3
- import InfoMessage from '../../components/info-message.js';
4
- import ErrorMessage from '../../components/error-message.js';
5
- import ToolMessage from '../../components/tool-message.js';
2
+ import { processToolUse, getToolManager } from '../message-handler.js';
3
+ import InfoMessage from '../components/info-message.js';
4
+ import ErrorMessage from '../components/error-message.js';
5
+ import ToolMessage from '../components/tool-message.js';
6
6
  import React from 'react';
7
7
  export function useToolHandler({ pendingToolCalls, currentToolIndex, completedToolResults, currentConversationContext, setPendingToolCalls, setCurrentToolIndex, setCompletedToolResults, setCurrentConversationContext, setIsToolConfirmationMode, setIsToolExecuting, setMessages, addToChatQueue, componentKeyCounter, resetToolConfirmationState, onProcessAssistantResponse, client, currentProvider, setDevelopmentMode, }) {
8
8
  // Display tool result with proper formatting
@@ -76,8 +76,38 @@ export function useToolHandler({ pendingToolCalls, currentToolIndex, completedTo
76
76
  // Handle tool confirmation
77
77
  const handleToolConfirmation = async (confirmed) => {
78
78
  if (!confirmed) {
79
- // User cancelled - show message and reset state
79
+ // User cancelled - show message
80
80
  addToChatQueue(_jsx(InfoMessage, { message: "Tool execution cancelled by user", hideBox: true }, `tool-cancelled-${componentKeyCounter}`));
81
+ if (!currentConversationContext) {
82
+ resetToolConfirmationState();
83
+ return;
84
+ }
85
+ // Create cancellation results for all pending tools
86
+ // This is critical to maintain conversation state integrity
87
+ const cancellationResults = pendingToolCalls.map(toolCall => ({
88
+ tool_call_id: toolCall.id,
89
+ role: 'tool',
90
+ name: toolCall.function.name,
91
+ content: 'Tool execution was cancelled by the user.',
92
+ }));
93
+ const { updatedMessages, assistantMsg } = currentConversationContext;
94
+ // Format tool results as standard tool messages
95
+ const toolMessages = cancellationResults.map(result => ({
96
+ role: 'tool',
97
+ content: result.content || '',
98
+ tool_call_id: result.tool_call_id,
99
+ name: result.name,
100
+ }));
101
+ // Update conversation history with the assistant message + cancellation results
102
+ // This prevents the "mismatch" error on the next user message
103
+ const updatedMessagesWithCancellation = [
104
+ ...updatedMessages,
105
+ assistantMsg, // Add the assistant message with tool_calls
106
+ ...toolMessages, // Add cancellation results
107
+ ];
108
+ setMessages(updatedMessagesWithCancellation);
109
+ // Reset state to allow user to type a new message
110
+ // Do NOT continue the conversation - let the user provide instructions
81
111
  resetToolConfirmationState();
82
112
  return;
83
113
  }
@@ -212,6 +242,36 @@ export function useToolHandler({ pendingToolCalls, currentToolIndex, completedTo
212
242
  // Handle tool confirmation cancel
213
243
  const handleToolConfirmationCancel = () => {
214
244
  addToChatQueue(_jsx(InfoMessage, { message: "Tool execution cancelled by user", hideBox: true }, `tool-cancelled-${componentKeyCounter}`));
245
+ if (!currentConversationContext) {
246
+ resetToolConfirmationState();
247
+ return;
248
+ }
249
+ // Create cancellation results for all pending tools
250
+ // This is critical to maintain conversation state integrity
251
+ const cancellationResults = pendingToolCalls.map(toolCall => ({
252
+ tool_call_id: toolCall.id,
253
+ role: 'tool',
254
+ name: toolCall.function.name,
255
+ content: 'Tool execution was cancelled by the user.',
256
+ }));
257
+ const { updatedMessages, assistantMsg } = currentConversationContext;
258
+ // Format tool results as standard tool messages
259
+ const toolMessages = cancellationResults.map(result => ({
260
+ role: 'tool',
261
+ content: result.content || '',
262
+ tool_call_id: result.tool_call_id,
263
+ name: result.name,
264
+ }));
265
+ // Update conversation history with the assistant message + cancellation results
266
+ // This prevents the "mismatch" error on the next user message
267
+ const updatedMessagesWithCancellation = [
268
+ ...updatedMessages,
269
+ assistantMsg, // Add the assistant message with tool_calls
270
+ ...toolMessages, // Add cancellation results
271
+ ];
272
+ setMessages(updatedMessagesWithCancellation);
273
+ // Reset state to allow user to type a new message
274
+ // Do NOT continue the conversation - let the user provide instructions
215
275
  resetToolConfirmationState();
216
276
  };
217
277
  // Start tool confirmation flow
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToolHandler.js","sourceRoot":"","sources":["../../source/hooks/useToolHandler.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,9 @@ import React from 'react';
2
2
  import { Completion } from '../types/index.js';
3
3
  export type UIState = {
4
4
  showClearMessage: boolean;
5
- showFullContent: boolean;
6
5
  showCompletions: boolean;
7
6
  completions: Completion[];
8
7
  setShowClearMessage: React.Dispatch<React.SetStateAction<boolean>>;
9
- setShowFullContent: React.Dispatch<React.SetStateAction<boolean>>;
10
8
  setShowCompletions: React.Dispatch<React.SetStateAction<boolean>>;
11
9
  setCompletions: React.Dispatch<React.SetStateAction<Completion[]>>;
12
10
  resetUIState: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useUIState.d.ts","sourceRoot":"","sources":["../../source/hooks/useUIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACnE,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAKF,wBAAgB,UAAU,IAAI,OAAO,CAiCpC;AAGD,wBAAgB,eAAe,CAAC,EAAC,QAAQ,EAAC,EAAE;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,4EAGtE;AAGD,wBAAgB,iBAAiB,IAAI,OAAO,CAM3C"}
1
+ {"version":3,"file":"useUIState.d.ts","sourceRoot":"","sources":["../../source/hooks/useUIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,OAAO,GAAG;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACnE,YAAY,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAKF,wBAAgB,UAAU,IAAI,OAAO,CAuBpC;AAGD,wBAAgB,eAAe,CAAC,EAAC,QAAQ,EAAC,EAAE;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAC,4EAGtE;AAGD,wBAAgB,iBAAiB,IAAI,OAAO,CAM3C"}
@@ -3,32 +3,22 @@ const UIStateContext = createContext(undefined);
3
3
  // Existing hook that builds the UI state (kept to separate creation from context)
4
4
  export function useUIState() {
5
5
  const [showClearMessage, setShowClearMessage] = useState(false);
6
- const [showFullContent, setShowFullContent] = useState(false);
7
6
  const [showCompletions, setShowCompletions] = useState(false);
8
7
  const [completions, setCompletions] = useState([]);
9
8
  const resetUIState = useCallback(() => {
10
9
  setShowClearMessage(false);
11
- setShowFullContent(false);
12
10
  setShowCompletions(false);
13
11
  setCompletions([]);
14
12
  }, []);
15
13
  return useMemo(() => ({
16
14
  showClearMessage,
17
- showFullContent,
18
15
  showCompletions,
19
16
  completions,
20
17
  setShowClearMessage,
21
- setShowFullContent,
22
18
  setShowCompletions,
23
19
  setCompletions,
24
20
  resetUIState,
25
- }), [
26
- showClearMessage,
27
- showFullContent,
28
- showCompletions,
29
- completions,
30
- resetUIState,
31
- ]);
21
+ }), [showClearMessage, showCompletions, completions, resetUIState]);
32
22
  }
33
23
  // Provider to expose a single shared UI state instance to the subtree
34
24
  export function UIStateProvider({ children }) {
@@ -1 +1 @@
1
- {"version":3,"file":"useUIState.js","sourceRoot":"","sources":["../../source/hooks/useUIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,OAAO,EACP,QAAQ,GACR,MAAM,OAAO,CAAC;AAef,MAAM,cAAc,GAAG,aAAa,CAAsB,SAAS,CAAC,CAAC;AAErE,kFAAkF;AAClF,MAAM,UAAU,UAAU;IACzB,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACb,GAAG,EAAE,CAAC,CAAC;QACN,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;QAClB,cAAc;QACd,YAAY;KACZ,CAAC,EACF;QACC,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,WAAW;QACX,YAAY;KACZ,CACD,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,EAAC,QAAQ,EAA8B;IACtE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"useUIState.js","sourceRoot":"","sources":["../../source/hooks/useUIState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,OAAO,EACP,QAAQ,GACR,MAAM,OAAO,CAAC;AAaf,MAAM,cAAc,GAAG,aAAa,CAAsB,SAAS,CAAC,CAAC;AAErE,kFAAkF;AAClF,MAAM,UAAU,UAAU;IACzB,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAEjE,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,cAAc,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACb,GAAG,EAAE,CAAC,CAAC;QACN,gBAAgB;QAChB,eAAe;QACf,WAAW;QACX,mBAAmB;QACnB,kBAAkB;QAClB,cAAc;QACd,YAAY;KACZ,CAAC,EACF,CAAC,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,EAAC,QAAQ,EAA8B;IACtE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,OAAO,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB;IAChC,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=paste-roundtrip.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paste-roundtrip.spec.d.ts","sourceRoot":"","sources":["../../source/integration/paste-roundtrip.spec.ts"],"names":[],"mappings":""}