@nanocollective/nanocoder 1.16.2 → 1.16.4

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 (150) hide show
  1. package/README.md +17 -1
  2. package/dist/commands/update.d.ts +6 -0
  3. package/dist/commands/update.d.ts.map +1 -1
  4. package/dist/commands/update.js +129 -3
  5. package/dist/commands/update.js.map +1 -1
  6. package/dist/components/assistant-message.d.ts +1 -4
  7. package/dist/components/assistant-message.d.ts.map +1 -1
  8. package/dist/components/assistant-message.js +1 -199
  9. package/dist/components/assistant-message.js.map +1 -1
  10. package/dist/components/status.d.ts +1 -6
  11. package/dist/components/status.d.ts.map +1 -1
  12. package/dist/components/status.js +3 -2
  13. package/dist/components/status.js.map +1 -1
  14. package/dist/components/user-input.d.ts.map +1 -1
  15. package/dist/components/user-input.js +61 -19
  16. package/dist/components/user-input.js.map +1 -1
  17. package/dist/components/warning-message.d.ts +7 -0
  18. package/dist/components/warning-message.d.ts.map +1 -0
  19. package/dist/components/warning-message.js +12 -0
  20. package/dist/components/warning-message.js.map +1 -0
  21. package/dist/config/index.d.ts.map +1 -1
  22. package/dist/config/index.js +19 -11
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/config/paths.d.ts +1 -0
  25. package/dist/config/paths.d.ts.map +1 -1
  26. package/dist/config/paths.js +48 -2
  27. package/dist/config/paths.js.map +1 -1
  28. package/dist/config/paths.spec.d.ts +2 -0
  29. package/dist/config/paths.spec.d.ts.map +1 -0
  30. package/dist/config/paths.spec.js +114 -0
  31. package/dist/config/paths.spec.js.map +1 -0
  32. package/dist/config/themes.d.ts.map +1 -1
  33. package/dist/config/themes.js +19 -0
  34. package/dist/config/themes.js.map +1 -1
  35. package/dist/hooks/useAppState.d.ts.map +1 -1
  36. package/dist/hooks/useAppState.js +8 -15
  37. package/dist/hooks/useAppState.js.map +1 -1
  38. package/dist/hooks/useInputState.d.ts.map +1 -1
  39. package/dist/hooks/useInputState.js +95 -8
  40. package/dist/hooks/useInputState.js.map +1 -1
  41. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  42. package/dist/hooks/useTerminalWidth.js +6 -0
  43. package/dist/hooks/useTerminalWidth.js.map +1 -1
  44. package/dist/markdown-parser/html-entities.d.ts +2 -0
  45. package/dist/markdown-parser/html-entities.d.ts.map +1 -0
  46. package/dist/markdown-parser/html-entities.js +41 -0
  47. package/dist/markdown-parser/html-entities.js.map +1 -0
  48. package/dist/markdown-parser/html-entities.spec.d.ts +2 -0
  49. package/dist/markdown-parser/html-entities.spec.d.ts.map +1 -0
  50. package/dist/markdown-parser/html-entities.spec.js +73 -0
  51. package/dist/markdown-parser/html-entities.spec.js.map +1 -0
  52. package/dist/markdown-parser/index.d.ts +6 -0
  53. package/dist/markdown-parser/index.d.ts.map +1 -0
  54. package/dist/markdown-parser/index.js +97 -0
  55. package/dist/markdown-parser/index.js.map +1 -0
  56. package/dist/markdown-parser/index.spec.d.ts +2 -0
  57. package/dist/markdown-parser/index.spec.d.ts.map +1 -0
  58. package/dist/markdown-parser/index.spec.js +245 -0
  59. package/dist/markdown-parser/index.spec.js.map +1 -0
  60. package/dist/markdown-parser/table-parser.d.ts +3 -0
  61. package/dist/markdown-parser/table-parser.d.ts.map +1 -0
  62. package/dist/markdown-parser/table-parser.js +92 -0
  63. package/dist/markdown-parser/table-parser.js.map +1 -0
  64. package/dist/markdown-parser/table-parser.spec.d.ts +2 -0
  65. package/dist/markdown-parser/table-parser.spec.d.ts.map +1 -0
  66. package/dist/markdown-parser/table-parser.spec.js +120 -0
  67. package/dist/markdown-parser/table-parser.spec.js.map +1 -0
  68. package/dist/markdown-parser/utils.d.ts +2 -0
  69. package/dist/markdown-parser/utils.d.ts.map +1 -0
  70. package/dist/markdown-parser/utils.js +14 -0
  71. package/dist/markdown-parser/utils.js.map +1 -0
  72. package/dist/markdown-parser/utils.spec.d.ts +2 -0
  73. package/dist/markdown-parser/utils.spec.d.ts.map +1 -0
  74. package/dist/markdown-parser/utils.spec.js +59 -0
  75. package/dist/markdown-parser/utils.spec.js.map +1 -0
  76. package/dist/tools/execute-bash.d.ts.map +1 -1
  77. package/dist/tools/execute-bash.js +5 -3
  78. package/dist/tools/execute-bash.js.map +1 -1
  79. package/dist/tools/find-files.d.ts +3 -0
  80. package/dist/tools/find-files.d.ts.map +1 -0
  81. package/dist/tools/find-files.js +186 -0
  82. package/dist/tools/find-files.js.map +1 -0
  83. package/dist/tools/index.js +4 -4
  84. package/dist/tools/index.js.map +1 -1
  85. package/dist/tools/read-file.d.ts.map +1 -1
  86. package/dist/tools/read-file.js +143 -9
  87. package/dist/tools/read-file.js.map +1 -1
  88. package/dist/tools/search-file-contents.d.ts +3 -0
  89. package/dist/tools/search-file-contents.d.ts.map +1 -0
  90. package/dist/tools/search-file-contents.js +164 -0
  91. package/dist/tools/search-file-contents.js.map +1 -0
  92. package/dist/types/markdown-parser.d.ts +11 -0
  93. package/dist/types/markdown-parser.d.ts.map +1 -0
  94. package/dist/types/markdown-parser.js +2 -0
  95. package/dist/types/markdown-parser.js.map +1 -0
  96. package/dist/types/ui.d.ts +1 -1
  97. package/dist/types/ui.d.ts.map +1 -1
  98. package/dist/types/utils.d.ts +2 -1
  99. package/dist/types/utils.d.ts.map +1 -1
  100. package/dist/usage/storage.d.ts +1 -1
  101. package/dist/usage/storage.d.ts.map +1 -1
  102. package/dist/usage/storage.js +55 -9
  103. package/dist/usage/storage.js.map +1 -1
  104. package/dist/usage/storage.spec.js +136 -2
  105. package/dist/usage/storage.spec.js.map +1 -1
  106. package/dist/utils/installation-detector.d.ts +16 -0
  107. package/dist/utils/installation-detector.d.ts.map +1 -0
  108. package/dist/utils/installation-detector.js +118 -0
  109. package/dist/utils/installation-detector.js.map +1 -0
  110. package/dist/utils/installation-detector.spec.d.ts +2 -0
  111. package/dist/utils/installation-detector.spec.d.ts.map +1 -0
  112. package/dist/utils/installation-detector.spec.js +141 -0
  113. package/dist/utils/installation-detector.spec.js.map +1 -0
  114. package/dist/utils/message-queue.d.ts +2 -0
  115. package/dist/utils/message-queue.d.ts.map +1 -1
  116. package/dist/utils/message-queue.js +11 -0
  117. package/dist/utils/message-queue.js.map +1 -1
  118. package/dist/utils/paste-detection.d.ts.map +1 -1
  119. package/dist/utils/paste-detection.js +8 -3
  120. package/dist/utils/paste-detection.js.map +1 -1
  121. package/dist/utils/paste-detection.spec.js +15 -8
  122. package/dist/utils/paste-detection.spec.js.map +1 -1
  123. package/dist/utils/paste-utils.d.ts.map +1 -1
  124. package/dist/utils/paste-utils.js +4 -2
  125. package/dist/utils/paste-utils.js.map +1 -1
  126. package/dist/utils/paste-utils.spec.js +19 -3
  127. package/dist/utils/paste-utils.spec.js.map +1 -1
  128. package/dist/utils/update-checker.d.ts.map +1 -1
  129. package/dist/utils/update-checker.js +31 -3
  130. package/dist/utils/update-checker.js.map +1 -1
  131. package/dist/utils/update-checker.spec.d.ts +2 -0
  132. package/dist/utils/update-checker.spec.d.ts.map +1 -0
  133. package/dist/utils/update-checker.spec.js +280 -0
  134. package/dist/utils/update-checker.spec.js.map +1 -0
  135. package/dist/wizard/steps/location-step.js +2 -2
  136. package/dist/wizard/steps/location-step.js.map +1 -1
  137. package/package.json +1 -1
  138. package/source/app/prompts/main-prompt.md +67 -23
  139. package/dist/components/update-message.d.ts +0 -7
  140. package/dist/components/update-message.d.ts.map +0 -1
  141. package/dist/components/update-message.js +0 -93
  142. package/dist/components/update-message.js.map +0 -1
  143. package/dist/tools/read-many-files.d.ts +0 -3
  144. package/dist/tools/read-many-files.d.ts.map +0 -1
  145. package/dist/tools/read-many-files.js +0 -169
  146. package/dist/tools/read-many-files.js.map +0 -1
  147. package/dist/tools/search-files.d.ts +0 -3
  148. package/dist/tools/search-files.d.ts.map +0 -1
  149. package/dist/tools/search-files.js +0 -251
  150. package/dist/tools/search-files.js.map +0 -1
@@ -46,7 +46,7 @@ export function useAppState() {
46
46
  // Chat queue for components
47
47
  const [chatComponents, setChatComponents] = useState([]);
48
48
  const [componentKeyCounter, setComponentKeyCounter] = useState(0);
49
- // Helper function to add components to the chat queue with stable keys and memory optimization
49
+ // Helper function to add components to the chat queue with stable keys
50
50
  const addToChatQueue = useCallback((component) => {
51
51
  const newCounter = componentKeyCounter + 1;
52
52
  setComponentKeyCounter(newCounter);
@@ -56,13 +56,10 @@ export function useAppState() {
56
56
  key: `chat-component-${newCounter}`,
57
57
  });
58
58
  }
59
- setChatComponents(prevComponents => {
60
- const newComponents = [...prevComponents, componentWithKey];
61
- // Keep reasonable limit in memory for performance
62
- return newComponents.length > 50
63
- ? newComponents.slice(-50)
64
- : newComponents;
65
- });
59
+ setChatComponents(prevComponents => [
60
+ ...prevComponents,
61
+ componentWithKey,
62
+ ]);
66
63
  }, [componentKeyCounter]);
67
64
  // Create tokenizer based on current provider and model
68
65
  const tokenizer = useMemo(() => {
@@ -95,14 +92,10 @@ export function useAppState() {
95
92
  });
96
93
  return tokens;
97
94
  }, [messageTokenCache, tokenizer, currentModel]);
98
- // Optimized message updater that separates display from context
95
+ // Message updater - no limits, display all messages
99
96
  const updateMessages = useCallback((newMessages) => {
100
- setMessages(newMessages); // Full context always preserved for model
101
- // Limit display messages for UI performance only
102
- const displayLimit = 30;
103
- setDisplayMessages(newMessages.length > displayLimit
104
- ? newMessages.slice(-displayLimit)
105
- : newMessages);
97
+ setMessages(newMessages);
98
+ setDisplayMessages(newMessages);
106
99
  }, []);
107
100
  // Reset tool confirmation state
108
101
  const resetToolConfirmationState = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../source/hooks/useAppState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAKhE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAI7C,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAExD,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,UAAU,WAAW;IAC1B,oCAAoC;IACpC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,IAAI,YAAY,CAAC;IAE/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAExD,IAAI,GAAG,EAAE,CAAC,CAAC;IACb,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,QAAQ,CAAS,mBAAmB,CAAC,CAAC;IACvC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAc,YAAY,CAAC,CAAC;IAC5E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAClD,QAAQ,CAA6B,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACtD,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAE1D,IAAI,GAAG,EAAE,CAAC,CAAC;IACb,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAC;IAEtE,2BAA2B;IAC3B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEjE,qBAAqB;IACrB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAExC,cAAc;IACd,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACpD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAC1D,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACpD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACtD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GACxD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEzE,yBAAyB;IACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,QAAQ,CAAkB,QAAQ,CAAC,CAAC;IAErC,0BAA0B;IAC1B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAE9D,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAChE,QAAQ,CAA6B,IAAI,CAAC,CAAC;IAE5C,4BAA4B;IAC5B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElE,+FAA+F;IAC/F,MAAM,cAAc,GAAG,WAAW,CACjC,CAAC,SAA0B,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,mBAAmB,GAAG,CAAC,CAAC;QAC3C,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAEnC,IAAI,gBAAgB,GAAG,SAAS,CAAC;QACjC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACvD,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE;gBAChD,GAAG,EAAE,kBAAkB,UAAU,EAAE;aACnC,CAAC,CAAC;QACJ,CAAC;QAED,iBAAiB,CAAC,cAAc,CAAC,EAAE;YAClC,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAC5D,kDAAkD;YAClD,OAAO,aAAa,CAAC,MAAM,GAAG,EAAE;gBAC/B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1B,CAAC,CAAC,aAAa,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,mBAAmB,CAAC,CACrB,CAAC;IAEF,uDAAuD;IACvD,MAAM,SAAS,GAAG,OAAO,CAAY,GAAG,EAAE;QACzC,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;YACrC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAED,gEAAgE;QAChE,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAEpC,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,EAAE;YACX,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;gBACpB,SAAS,CAAC,IAAI,EAAE,CAAC;YAClB,CAAC;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,WAAW,CACnC,CAAC,OAAgB,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;QAEvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,gFAAgF;QAChF,4EAA4E;QAC5E,cAAc,CAAC,GAAG,EAAE;YACnB,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC,EACD,CAAC,iBAAiB,EAAE,SAAS,EAAE,YAAY,CAAC,CAC5C,CAAC;IAEF,gEAAgE;IAChE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,WAAsB,EAAE,EAAE;QAC7D,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,0CAA0C;QAEpE,iDAAiD;QACjD,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,kBAAkB,CACjB,WAAW,CAAC,MAAM,GAAG,YAAY;YAChC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC,WAAW,CACd,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gCAAgC;IAChC,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACvC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvB,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC5B,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO;QACN,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,eAAe;QACf,iBAAiB;QACjB,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,qBAAqB;QACrB,kBAAkB;QAClB,SAAS;QACT,cAAc;QACd,UAAU;QACV,UAAU;QACV,YAAY;QACZ,eAAe;QACf,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;QACpB,qBAAqB;QACrB,kBAAkB;QAClB,sBAAsB;QACtB,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;QACpB,0BAA0B;QAC1B,cAAc;QACd,mBAAmB;QACnB,SAAS;QAET,UAAU;QACV,SAAS;QACT,WAAW;QACX,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,sBAAsB;QACtB,wBAAwB;QACxB,qBAAqB;QACrB,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,eAAe;QACf,kBAAkB;QAClB,uBAAuB;QACvB,0BAA0B;QAC1B,uBAAuB;QACvB,wBAAwB;QACxB,qBAAqB;QACrB,yBAAyB;QACzB,kBAAkB;QAClB,kBAAkB;QAClB,qBAAqB;QACrB,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,uBAAuB;QACvB,6BAA6B;QAC7B,iBAAiB;QACjB,sBAAsB;QAEtB,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,0BAA0B;KAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../source/hooks/useAppState.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInputState.d.ts","sourceRoot":"","sources":["../../source/hooks/useInputState.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAqB3D,wBAAgB,aAAa;;;;;;uCA2HX,MAAM;8BA+CsB,UAAU;;;;yBAMf,MAAM;;;4BA/IlC,MAAM;;;;EA2MlB"}
1
+ {"version":3,"file":"useInputState.d.ts","sourceRoot":"","sources":["../../source/hooks/useInputState.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAa3D,wBAAgB,aAAa;;;;;;uCAuPX,MAAM;8BAiDsB,UAAU;;;;yBAMf,MAAM;;;4BAxQlC,MAAM;;;;EAoUlB"}
@@ -10,13 +10,6 @@ function createEmptyInputState() {
10
10
  placeholderContent: {},
11
11
  };
12
12
  }
13
- function _createInputStateFromString(text) {
14
- // Convert old string-based history to new InputState format
15
- return {
16
- displayValue: text,
17
- placeholderContent: {},
18
- };
19
- }
20
13
  export function useInputState() {
21
14
  // Core state following the spec
22
15
  const [currentState, setCurrentState] = useState(createEmptyInputState());
@@ -29,6 +22,10 @@ export function useInputState() {
29
22
  // Paste detection
30
23
  const pasteDetectorRef = useRef(new PasteDetector());
31
24
  const debounceTimerRef = useRef(null);
25
+ // Track recent paste for chunked paste handling (VS Code terminal issue)
26
+ const lastPasteTimeRef = useRef(0);
27
+ const lastPasteIdRef = useRef(null);
28
+ const PASTE_CHUNK_WINDOW_MS = 200; // Time window to consider text as part of same paste (increased for slower terminals)
32
29
  // Cached line count for performance
33
30
  const [cachedLineCount, setCachedLineCount] = useState(1);
34
31
  // Helper to push current state to undo stack
@@ -46,14 +43,102 @@ export function useInputState() {
46
43
  pushToUndoStack(atomicDeletionResult);
47
44
  return;
48
45
  }
46
+ const now = Date.now();
47
+ const timeSinceLastPaste = now - lastPasteTimeRef.current;
48
+ // Check if this might be a continuation of a recent paste (chunked paste in VS Code)
49
+ if (lastPasteIdRef.current &&
50
+ timeSinceLastPaste < PASTE_CHUNK_WINDOW_MS &&
51
+ currentState.placeholderContent[lastPasteIdRef.current]) {
52
+ // This looks like a chunked paste continuation
53
+ // Extract the new text that was added (should be at the end)
54
+ const placeholder = currentState.placeholderContent[lastPasteIdRef.current];
55
+ const expectedLength = currentState.displayValue.length;
56
+ const addedChunk = newInput.slice(expectedLength);
57
+ if (addedChunk.length > 0 &&
58
+ placeholder.type === PlaceholderType.PASTE) {
59
+ // Merge the new chunk into the existing paste placeholder
60
+ const updatedContent = placeholder.content + addedChunk;
61
+ const oldPlaceholder = placeholder.displayText;
62
+ const newPlaceholder = `[Paste #${lastPasteIdRef.current}: ${updatedContent.length} chars]`;
63
+ const updatedPlaceholderContent = {
64
+ ...currentState.placeholderContent,
65
+ [lastPasteIdRef.current]: {
66
+ ...placeholder,
67
+ content: updatedContent,
68
+ originalSize: updatedContent.length,
69
+ displayText: newPlaceholder,
70
+ },
71
+ };
72
+ // Replace old placeholder with updated one in display value
73
+ const newDisplayValue = currentState.displayValue.replace(oldPlaceholder, newPlaceholder);
74
+ pushToUndoStack({
75
+ displayValue: newDisplayValue,
76
+ placeholderContent: updatedPlaceholderContent,
77
+ });
78
+ // Update paste detector to the new display value
79
+ pasteDetectorRef.current.updateState(newDisplayValue);
80
+ lastPasteTimeRef.current = now; // Extend the window
81
+ return;
82
+ }
83
+ }
49
84
  // Then detect if this might be a paste
50
85
  const detection = pasteDetectorRef.current.detectPaste(newInput);
51
86
  if (detection.isPaste && detection.addedText.length > 0) {
52
- // Try to handle as paste
87
+ // If we have an active paste within a short window (even if state hasn't fully updated),
88
+ // treat this as a continuation to prevent duplicate placeholders
89
+ const isVeryRecentPaste = timeSinceLastPaste < 20; // 20ms grace period for rapid multi-detections
90
+ const activePasteId = lastPasteIdRef.current;
91
+ if (activePasteId &&
92
+ (isVeryRecentPaste ||
93
+ (timeSinceLastPaste < PASTE_CHUNK_WINDOW_MS &&
94
+ currentState.placeholderContent[activePasteId]))) {
95
+ // If we don't have the placeholder in state yet, just update detector and skip
96
+ // This happens when multiple detections fire before React updates state
97
+ const placeholder = currentState.placeholderContent[activePasteId];
98
+ if (!placeholder) {
99
+ // Skip duplicate early detection
100
+ pasteDetectorRef.current.updateState(newInput);
101
+ return;
102
+ }
103
+ // Treat as chunked continuation
104
+ if (placeholder.type === PlaceholderType.PASTE) {
105
+ const updatedContent = placeholder.content + detection.addedText;
106
+ const oldPlaceholder = placeholder.displayText;
107
+ const newPlaceholder = `[Paste #${activePasteId}: ${updatedContent.length} chars]`;
108
+ const updatedPlaceholderContent = {
109
+ ...currentState.placeholderContent,
110
+ [activePasteId]: {
111
+ ...placeholder,
112
+ content: updatedContent,
113
+ originalSize: updatedContent.length,
114
+ displayText: newPlaceholder,
115
+ },
116
+ };
117
+ const newDisplayValue = currentState.displayValue.replace(oldPlaceholder, newPlaceholder);
118
+ pushToUndoStack({
119
+ displayValue: newDisplayValue,
120
+ placeholderContent: updatedPlaceholderContent,
121
+ });
122
+ pasteDetectorRef.current.updateState(newDisplayValue);
123
+ lastPasteTimeRef.current = now;
124
+ return;
125
+ }
126
+ }
127
+ // Try to handle as paste (new paste)
53
128
  const pasteResult = handlePaste(detection.addedText, currentState.displayValue, currentState.placeholderContent, detection.method);
54
129
  if (pasteResult) {
55
130
  // Large paste detected - create placeholder
56
131
  pushToUndoStack(pasteResult);
132
+ // Update paste detector state to match the new display value (with placeholder)
133
+ // This prevents detection confusion on subsequent pastes
134
+ pasteDetectorRef.current.updateState(pasteResult.displayValue);
135
+ // Track this paste for potential chunked continuation
136
+ const pasteId = Object.keys(pasteResult.placeholderContent).find(id => !currentState.placeholderContent[id] &&
137
+ pasteResult.placeholderContent[id].type === PlaceholderType.PASTE);
138
+ if (pasteId) {
139
+ lastPasteIdRef.current = pasteId;
140
+ lastPasteTimeRef.current = now;
141
+ }
57
142
  }
58
143
  else {
59
144
  // Small paste - treat as normal input
@@ -131,6 +216,8 @@ export function useInputState() {
131
216
  setHistoryIndex(-1);
132
217
  setCachedLineCount(1);
133
218
  pasteDetectorRef.current.reset();
219
+ lastPasteTimeRef.current = 0;
220
+ lastPasteIdRef.current = null;
134
221
  }, []);
135
222
  // Cleanup on unmount
136
223
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useInputState.js","sourceRoot":"","sources":["../../source/hooks/useInputState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useInputState.js","sourceRoot":"","sources":["../../source/hooks/useInputState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTerminalWidth.d.ts","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,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"}
1
+ {"version":3,"file":"useTerminalWidth.d.ts","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,eAAO,MAAM,gBAAgB,cAgC5B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;qBAcT,MAAM,aAAa,MAAM,KAAG,MAAM;4BAM3B,MAAM,aAAa,MAAM,KAAG,MAAM;CAejE,CAAC"}
@@ -9,6 +9,12 @@ export const useTerminalWidth = () => {
9
9
  // Only update if width actually changed
10
10
  setBoxWidth(prevWidth => (prevWidth !== newWidth ? newWidth : prevWidth));
11
11
  };
12
+ // Increase max listeners if needed (many components use this hook simultaneously)
13
+ const currentMax = process.stdout.getMaxListeners();
14
+ if (currentMax !== 0 && currentMax < 50) {
15
+ // 0 means unlimited, otherwise ensure we have enough headroom
16
+ process.stdout.setMaxListeners(50);
17
+ }
12
18
  // Listen for terminal resize events
13
19
  process.stdout.on('resize', handleResize);
14
20
  return () => {
@@ -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;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
+ {"version":3,"file":"useTerminalWidth.js","sourceRoot":"","sources":["../../source/hooks/useTerminalWidth.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function decodeHtmlEntities(text: string): string;
2
+ //# sourceMappingURL=html-entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-entities.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.ts"],"names":[],"mappings":"AACA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2CvD"}
@@ -0,0 +1,41 @@
1
+ // Decode HTML entities
2
+ export function decodeHtmlEntities(text) {
3
+ const entities = {
4
+ '&nbsp;': ' ',
5
+ '&amp;': '&',
6
+ '&lt;': '<',
7
+ '&gt;': '>',
8
+ '&quot;': '"',
9
+ '&apos;': "'",
10
+ '&copy;': '©',
11
+ '&reg;': '®',
12
+ '&trade;': '™',
13
+ '&euro;': '€',
14
+ '&pound;': '£',
15
+ '&yen;': '¥',
16
+ '&cent;': '¢',
17
+ '&sect;': '§',
18
+ '&deg;': '°',
19
+ '&plusmn;': '±',
20
+ '&times;': '×',
21
+ '&divide;': '÷',
22
+ '&ndash;': '–',
23
+ '&mdash;': '—',
24
+ '&lsquo;': '\u2018',
25
+ '&rsquo;': '\u2019',
26
+ '&ldquo;': '\u201C',
27
+ '&rdquo;': '\u201D',
28
+ '&hellip;': '…',
29
+ '&bull;': '•',
30
+ };
31
+ let result = text;
32
+ // Replace named entities
33
+ for (const [entity, char] of Object.entries(entities)) {
34
+ result = result.replace(new RegExp(entity, 'g'), char);
35
+ }
36
+ // Replace numeric entities (e.g., &#160; or &#xA0;)
37
+ result = result.replace(/&#(\d+);/g, (_match, code) => String.fromCharCode(parseInt(code, 10)));
38
+ result = result.replace(/&#x([0-9A-Fa-f]+);/g, (_match, code) => String.fromCharCode(parseInt(code, 16)));
39
+ return result;
40
+ }
41
+ //# sourceMappingURL=html-entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-entities.js","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAA2B;QACxC,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;KACb,CAAC;IAEF,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,yBAAyB;IACzB,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,oDAAoD;IACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAC7D,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACvC,CAAC;IACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CACvE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACvC,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=html-entities.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-entities.spec.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,73 @@
1
+ import test from 'ava';
2
+ import { decodeHtmlEntities } from './html-entities.js';
3
+ console.log(`\nhtml-entities.spec.ts`);
4
+ test('decodeHtmlEntities handles common entities', t => {
5
+ const text = 'Hello&nbsp;World &amp; Friends';
6
+ const result = decodeHtmlEntities(text);
7
+ t.is(result, 'Hello World & Friends');
8
+ });
9
+ test('decodeHtmlEntities handles less-than and greater-than', t => {
10
+ const text = '&lt;div&gt;';
11
+ const result = decodeHtmlEntities(text);
12
+ t.is(result, '<div>');
13
+ });
14
+ test('decodeHtmlEntities handles quotes', t => {
15
+ const text = '&quot;Hello&quot; &apos;World&apos;';
16
+ const result = decodeHtmlEntities(text);
17
+ t.is(result, '"Hello" \'World\'');
18
+ });
19
+ test('decodeHtmlEntities handles copyright and trademark symbols', t => {
20
+ const text = '&copy; 2024 &reg; &trade;';
21
+ const result = decodeHtmlEntities(text);
22
+ t.is(result, '© 2024 ® ™');
23
+ });
24
+ test('decodeHtmlEntities handles currency symbols', t => {
25
+ const text = '&euro; &pound; &yen; &cent;';
26
+ const result = decodeHtmlEntities(text);
27
+ t.is(result, '€ £ ¥ ¢');
28
+ });
29
+ test('decodeHtmlEntities handles mathematical symbols', t => {
30
+ const text = '&sect; &deg; &plusmn; &times; &divide;';
31
+ const result = decodeHtmlEntities(text);
32
+ t.is(result, '§ ° ± × ÷');
33
+ });
34
+ test('decodeHtmlEntities handles typography symbols', t => {
35
+ const text = '&ndash; &mdash; &lsquo;text&rsquo; &ldquo;text&rdquo; &hellip; &bull;';
36
+ const result = decodeHtmlEntities(text);
37
+ t.is(result, '– — \u2018text\u2019 \u201Ctext\u201D … •');
38
+ });
39
+ test('decodeHtmlEntities handles numeric entities (decimal)', t => {
40
+ const text = '&#160;&#169;';
41
+ const result = decodeHtmlEntities(text);
42
+ t.is(result, '\u00A0©');
43
+ });
44
+ test('decodeHtmlEntities handles numeric entities (hexadecimal)', t => {
45
+ const text = '&#xA0;&#xA9;';
46
+ const result = decodeHtmlEntities(text);
47
+ t.is(result, '\u00A0©');
48
+ });
49
+ test('decodeHtmlEntities handles mixed entities', t => {
50
+ const text = '&lt;div&gt; &#169; &#xA9; &copy;';
51
+ const result = decodeHtmlEntities(text);
52
+ t.is(result, '<div> © © ©');
53
+ });
54
+ test('decodeHtmlEntities leaves normal text unchanged', t => {
55
+ const text = 'Hello World! This is normal text.';
56
+ const result = decodeHtmlEntities(text);
57
+ t.is(result, text);
58
+ });
59
+ test('decodeHtmlEntities handles multiple occurrences of same entity', t => {
60
+ const text = '&amp;&amp;&amp;';
61
+ const result = decodeHtmlEntities(text);
62
+ t.is(result, '&&&');
63
+ });
64
+ test('decodeHtmlEntities handles empty string', t => {
65
+ const result = decodeHtmlEntities('');
66
+ t.is(result, '');
67
+ });
68
+ test('decodeHtmlEntities handles entities in context', t => {
69
+ const text = 'The price is &pound;50 &amp; the tax is &euro;10.';
70
+ const result = decodeHtmlEntities(text);
71
+ t.is(result, 'The price is £50 & the tax is €10.');
72
+ });
73
+ //# sourceMappingURL=html-entities.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-entities.spec.js","sourceRoot":"","sources":["../../source/markdown-parser/html-entities.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Colors } from '../types/markdown-parser.js';
2
+ export declare function parseMarkdown(text: string, themeColors: Colors): string;
3
+ export { decodeHtmlEntities } from './html-entities.js';
4
+ export { parseMarkdownTable } from './table-parser.js';
5
+ export type { Colors } from '../types/markdown-parser.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC;AAKxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAiHvE;AAGD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAC,MAAM,EAAC,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,97 @@
1
+ import chalk from 'chalk';
2
+ import { highlight } from 'cli-highlight';
3
+ import { decodeHtmlEntities } from './html-entities.js';
4
+ import { parseMarkdownTable } from './table-parser.js';
5
+ // Basic markdown parser for terminal
6
+ export function parseMarkdown(text, themeColors) {
7
+ // First decode HTML entities
8
+ let result = decodeHtmlEntities(text);
9
+ // Step 1: Parse tables FIRST (before <br> conversion and code extraction)
10
+ // Tables should have plain text only, no markdown formatting
11
+ // Note: We parse tables before converting <br> tags so that multi-line
12
+ // cells don't break the table regex
13
+ result = result.replace(/(?:^|\n)((?:\|.+\|\n)+)/gm, (_match, tableText) => {
14
+ return '\n' + parseMarkdownTable(tableText, themeColors) + '\n';
15
+ });
16
+ // Step 2: Convert <br> and <br/> tags to newlines (AFTER table parsing)
17
+ result = result.replace(/<br\s*\/?>/gi, '\n');
18
+ // Step 3: Extract and protect code blocks and inline code with placeholders
19
+ const codeBlocks = [];
20
+ const inlineCodes = [];
21
+ // Extract code blocks first (```language\ncode\n```)
22
+ result = result.replace(/```([a-zA-Z0-9\-+#]+)?\n([\s\S]*?)```/g, (_match, lang, code) => {
23
+ try {
24
+ const codeStr = String(code).trim();
25
+ // Apply syntax highlighting with detected language
26
+ const highlighted = highlight(codeStr, {
27
+ language: lang || 'plaintext',
28
+ theme: 'default',
29
+ });
30
+ const placeholder = `__CODE_BLOCK_${codeBlocks.length}__`;
31
+ codeBlocks.push(highlighted);
32
+ return placeholder;
33
+ }
34
+ catch {
35
+ // Fallback to plain colored text if highlighting fails
36
+ const formatted = chalk.hex(themeColors.tool)(String(code).trim());
37
+ const placeholder = `__CODE_BLOCK_${codeBlocks.length}__`;
38
+ codeBlocks.push(formatted);
39
+ return placeholder;
40
+ }
41
+ });
42
+ // Extract inline code (`code`)
43
+ result = result.replace(/`([^`]+)`/g, (_match, code) => {
44
+ const formatted = chalk.hex(themeColors.tool)(String(code).trim());
45
+ const placeholder = `__INLINE_CODE_${inlineCodes.length}__`;
46
+ inlineCodes.push(formatted);
47
+ return placeholder;
48
+ });
49
+ // Step 4: Process markdown formatting (now safe from code interference)
50
+ // Process lists FIRST before italic, since * at start of line is a list, not italic
51
+ // List items (- item or * item or 1. item)
52
+ // Use [ \t]* instead of \s* to avoid consuming newlines before the list
53
+ // Preserve indentation for nested lists
54
+ result = result.replace(/^([ \t]*)[-*]\s+(.+)$/gm, (_match, indent, text) => {
55
+ return indent + chalk.hex(themeColors.white)(`• ${text}`);
56
+ });
57
+ result = result.replace(/^([ \t]*)(\d+)\.\s+(.+)$/gm, (_match, indent, num, text) => {
58
+ return indent + chalk.hex(themeColors.white)(`${num}. ${text}`);
59
+ });
60
+ // Bold (**text** only - avoid __ to prevent conflicts with snake_case)
61
+ result = result.replace(/\*\*([^*]+)\*\*/g, (_match, text) => {
62
+ return chalk.hex(themeColors.white).bold(text);
63
+ });
64
+ // Italic (*text* only - avoid _ to prevent conflicts with snake_case)
65
+ // Require whitespace or line boundaries around asterisks to avoid matching char*ptr
66
+ // Use [^*\n] to prevent matching across lines
67
+ // Only match if content contains at least one letter to avoid matching math like "5 * 3 * 2"
68
+ result = result.replace(/(^|\s)\*([^*\n]*[a-zA-Z][^*\n]*)\*($|\s)/gm, (_match, before, text, after) => {
69
+ return before + chalk.hex(themeColors.white).italic(text) + after;
70
+ });
71
+ // Headings (# Heading)
72
+ result = result.replace(/^(#{1,6})\s+(.+)$/gm, (_match, _hashes, text) => {
73
+ return chalk.hex(themeColors.primary).bold(text);
74
+ });
75
+ // Links [text](url)
76
+ result = result.replace(/\[([^\]]+)\]\(([^)]+)\)/g, (_match, text, url) => {
77
+ return (chalk.hex(themeColors.info).underline(text) +
78
+ ' ' +
79
+ chalk.hex(themeColors.secondary)(`(${url})`));
80
+ });
81
+ // Blockquotes (> text)
82
+ result = result.replace(/^>\s+(.+)$/gm, (_match, text) => {
83
+ return chalk.hex(themeColors.secondary).italic(`> ${text}`);
84
+ });
85
+ // Step 5: Restore code blocks and inline code from placeholders
86
+ result = result.replace(/__CODE_BLOCK_(\d+)__/g, (_match, index) => {
87
+ return codeBlocks[parseInt(index, 10)] || '';
88
+ });
89
+ result = result.replace(/__INLINE_CODE_(\d+)__/g, (_match, index) => {
90
+ return inlineCodes[parseInt(index, 10)] || '';
91
+ });
92
+ return result;
93
+ }
94
+ // Re-export utilities for convenience
95
+ export { decodeHtmlEntities } from './html-entities.js';
96
+ export { parseMarkdownTable } from './table-parser.js';
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/markdown-parser/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../source/markdown-parser/index.spec.ts"],"names":[],"mappings":""}