langgraph-ui-components 0.0.29 → 0.0.31

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 (586) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -1
  3. package/dist/_virtual/index.cjs.js +1 -1
  4. package/dist/_virtual/index.cjs3.js +1 -1
  5. package/dist/_virtual/index.es.js +1 -1
  6. package/dist/_virtual/index.es3.js +1 -1
  7. package/dist/assets/langgraph-ui-components.css +1 -1
  8. package/dist/components/AskUserInterrupt.cjs.js +2 -0
  9. package/dist/components/AskUserInterrupt.cjs.js.map +1 -0
  10. package/dist/components/AskUserInterrupt.d.ts +3 -0
  11. package/dist/components/AskUserInterrupt.d.ts.map +1 -0
  12. package/dist/components/AskUserInterrupt.es.js +90 -0
  13. package/dist/components/AskUserInterrupt.es.js.map +1 -0
  14. package/dist/components/ChatBody.cjs.js +2 -2
  15. package/dist/components/ChatBody.cjs.js.map +1 -1
  16. package/dist/components/ChatBody.d.ts.map +1 -1
  17. package/dist/components/ChatBody.es.js +184 -156
  18. package/dist/components/ChatBody.es.js.map +1 -1
  19. package/dist/components/threads/ThreadHistory.cjs.js +1 -1
  20. package/dist/components/threads/ThreadHistory.cjs.js.map +1 -1
  21. package/dist/components/threads/ThreadHistory.es.js +1 -1
  22. package/dist/components/ui/button.cjs.js +1 -1
  23. package/dist/components/ui/button.cjs.js.map +1 -1
  24. package/dist/components/ui/button.es.js +1 -1
  25. package/dist/components/ui/hover-card.cjs.js +1 -1
  26. package/dist/components/ui/hover-card.es.js +1 -1
  27. package/dist/components/ui/syntax-highlighter.cjs.js +1 -1
  28. package/dist/components/ui/syntax-highlighter.es.js +1 -1
  29. package/dist/components/ui/tooltip.cjs.js +1 -1
  30. package/dist/components/ui/tooltip.es.js +1 -1
  31. package/dist/entries/components.cjs.js +1 -1
  32. package/dist/entries/components.d.ts +2 -0
  33. package/dist/entries/components.d.ts.map +1 -1
  34. package/dist/entries/components.es.js +6 -4
  35. package/dist/entries/components.es.js.map +1 -1
  36. package/dist/entries/hooks.cjs.js +1 -1
  37. package/dist/entries/hooks.es.js +4 -4
  38. package/dist/index.cjs.js +1 -1
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.es.js +27 -25
  42. package/dist/index.es.js.map +1 -1
  43. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/OverloadYield.cjs.js.map +1 -1
  44. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/OverloadYield.es.js.map +1 -1
  45. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.cjs.js.map +1 -1
  46. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.es.js.map +1 -1
  47. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.cjs.js.map +1 -1
  48. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.es.js.map +1 -1
  49. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.cjs.js.map +1 -1
  50. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.es.js.map +1 -1
  51. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.cjs.js.map +1 -1
  52. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.es.js.map +1 -1
  53. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/classCallCheck.cjs.js.map +1 -1
  54. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/classCallCheck.es.js.map +1 -1
  55. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/createClass.cjs.js.map +1 -1
  56. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/createClass.es.js.map +1 -1
  57. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js.map +1 -1
  58. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/defineProperty.es.js.map +1 -1
  59. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/extends.cjs.js.map +1 -1
  60. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/extends.es.js.map +1 -1
  61. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.cjs.js.map +1 -1
  62. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.es.js.map +1 -1
  63. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/inherits.cjs.js.map +1 -1
  64. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/inherits.es.js.map +1 -1
  65. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/iterableToArray.cjs.js.map +1 -1
  66. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/iterableToArray.es.js.map +1 -1
  67. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.cjs.js.map +1 -1
  68. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.es.js.map +1 -1
  69. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.cjs.js.map +1 -1
  70. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.es.js.map +1 -1
  71. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.js.map +1 -1
  72. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.es.js.map +1 -1
  73. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.cjs.js.map +1 -1
  74. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.es.js.map +1 -1
  75. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.cjs.js.map +1 -1
  76. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.es.js.map +1 -1
  77. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toConsumableArray.cjs.js.map +1 -1
  78. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toConsumableArray.es.js.map +1 -1
  79. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPrimitive.cjs.js.map +1 -1
  80. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPrimitive.es.js.map +1 -1
  81. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPropertyKey.cjs.js.map +1 -1
  82. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPropertyKey.es.js.map +1 -1
  83. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js.map +1 -1
  84. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/typeof.es.js.map +1 -1
  85. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.cjs.js.map +1 -1
  86. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.es.js.map +1 -1
  87. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/interopRequireDefault.cjs.js.map +1 -1
  88. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/interopRequireDefault.es.js.map +1 -1
  89. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regenerator.cjs.js.map +1 -1
  90. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regenerator.es.js.map +1 -1
  91. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsync.cjs.js.map +1 -1
  92. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsync.es.js.map +1 -1
  93. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.cjs.js.map +1 -1
  94. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.es.js.map +1 -1
  95. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.cjs.js.map +1 -1
  96. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.es.js.map +1 -1
  97. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorDefine.cjs.js.map +1 -1
  98. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorDefine.es.js.map +1 -1
  99. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorKeys.cjs.js.map +1 -1
  100. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorKeys.es.js.map +1 -1
  101. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorRuntime.cjs.js.map +1 -1
  102. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorRuntime.es.js.map +1 -1
  103. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorValues.cjs.js.map +1 -1
  104. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorValues.es.js.map +1 -1
  105. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/typeof.cjs.js.map +1 -1
  106. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/typeof.es.js.map +1 -1
  107. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/regenerator/index.cjs.js.map +1 -1
  108. package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/regenerator/index.es.js.map +1 -1
  109. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js +2 -0
  110. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js.map +1 -0
  111. package/dist/node_modules/.pnpm/{@floating-ui_core@1.7.4 → @floating-ui_core@1.7.5}/node_modules/@floating-ui/core/dist/floating-ui.core.es.js +171 -171
  112. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +1 -0
  113. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js +2 -0
  114. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js.map +1 -0
  115. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +404 -0
  116. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +1 -0
  117. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js +2 -0
  118. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js.map +1 -0
  119. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +233 -0
  120. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js.map +1 -0
  121. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js +2 -0
  122. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js.map +1 -0
  123. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +2 -0
  124. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js.map +1 -0
  125. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +137 -0
  126. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +1 -0
  127. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +129 -0
  128. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js.map +1 -0
  129. package/dist/node_modules/.pnpm/{@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@1_726887138b06cecc526c86d039243443 → @radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react@_e05f2c19a58a99fddf374207b5e3778c}/node_modules/@radix-ui/react-arrow/dist/index.cjs.js +1 -1
  130. package/dist/node_modules/.pnpm/{@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@1_726887138b06cecc526c86d039243443 → @radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react@_e05f2c19a58a99fddf374207b5e3778c}/node_modules/@radix-ui/react-arrow/dist/index.cjs.js.map +1 -1
  131. package/dist/node_modules/.pnpm/{@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@1_726887138b06cecc526c86d039243443 → @radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react@_e05f2c19a58a99fddf374207b5e3778c}/node_modules/@radix-ui/react-arrow/dist/index.es.js +1 -1
  132. package/dist/node_modules/.pnpm/{@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@1_726887138b06cecc526c86d039243443 → @radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react@_e05f2c19a58a99fddf374207b5e3778c}/node_modules/@radix-ui/react-arrow/dist/index.es.js.map +1 -1
  133. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.js.map +1 -0
  134. package/dist/node_modules/.pnpm/{@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.js.map → @radix-ui_react-compose-refs@1.1.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-compose-refs/dist/index.es.js.map} +1 -1
  135. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.cjs.js.map +1 -0
  136. package/dist/node_modules/.pnpm/{@radix-ui_react-context@1.1.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-context/dist/index.cjs.js.map → @radix-ui_react-context@1.1.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.es.js.map} +1 -1
  137. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.14___3d3960154a4c07d09bb90cb341135fc5/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.js +2 -0
  138. package/dist/node_modules/.pnpm/{@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.8__@_46f922aa9b9357a2c290dea87cc3edf9 → @radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.14___3d3960154a4c07d09bb90cb341135fc5}/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.js.map +1 -1
  139. package/dist/node_modules/.pnpm/{@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.8__@_46f922aa9b9357a2c290dea87cc3edf9 → @radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.14___3d3960154a4c07d09bb90cb341135fc5}/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js +4 -4
  140. package/dist/node_modules/.pnpm/{@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.8__@_46f922aa9b9357a2c290dea87cc3edf9 → @radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.14___3d3960154a4c07d09bb90cb341135fc5}/node_modules/@radix-ui/react-dismissable-layer/dist/index.es.js.map +1 -1
  141. package/dist/node_modules/.pnpm/@radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.14__@types__7ad81962fbdf173de4beb0078b2863c0/node_modules/@radix-ui/react-hover-card/dist/index.cjs.js +2 -0
  142. package/dist/node_modules/.pnpm/{@radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.8__@types_r_d43d49df692658c2ae5a37550ec322f6 → @radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.14__@types__7ad81962fbdf173de4beb0078b2863c0}/node_modules/@radix-ui/react-hover-card/dist/index.cjs.js.map +1 -1
  143. package/dist/node_modules/.pnpm/{@radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.8__@types_r_d43d49df692658c2ae5a37550ec322f6 → @radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.14__@types__7ad81962fbdf173de4beb0078b2863c0}/node_modules/@radix-ui/react-hover-card/dist/index.es.js +8 -8
  144. package/dist/node_modules/.pnpm/{@radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.8__@types_r_d43d49df692658c2ae5a37550ec322f6 → @radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.14__@types__7ad81962fbdf173de4beb0078b2863c0}/node_modules/@radix-ui/react-hover-card/dist/index.es.js.map +1 -1
  145. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-id/dist/index.cjs.js +2 -0
  146. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-id/dist/index.cjs.js.map +1 -0
  147. package/dist/node_modules/.pnpm/{@radix-ui_react-id@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-id@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-id/dist/index.es.js +1 -1
  148. package/dist/node_modules/.pnpm/{@radix-ui_react-id@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-id/dist/index.cjs.js.map → @radix-ui_react-id@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-id/dist/index.es.js.map} +1 -1
  149. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_13e0521d8aea7ebfbfb8bee1fb615c05/node_modules/@radix-ui/react-popper/dist/index.cjs.js +2 -0
  150. package/dist/node_modules/.pnpm/{@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_4a33dcfcd1548977446bec12ce2b64d4 → @radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_13e0521d8aea7ebfbfb8bee1fb615c05}/node_modules/@radix-ui/react-popper/dist/index.cjs.js.map +1 -1
  151. package/dist/node_modules/.pnpm/{@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_4a33dcfcd1548977446bec12ce2b64d4 → @radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_13e0521d8aea7ebfbfb8bee1fb615c05}/node_modules/@radix-ui/react-popper/dist/index.es.js +9 -9
  152. package/dist/node_modules/.pnpm/{@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_4a33dcfcd1548977446bec12ce2b64d4 → @radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_13e0521d8aea7ebfbfb8bee1fb615c05}/node_modules/@radix-ui/react-popper/dist/index.es.js.map +1 -1
  153. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_7668895bec2444446faa4e0f4eb5244b/node_modules/@radix-ui/react-portal/dist/index.cjs.js +2 -0
  154. package/dist/node_modules/.pnpm/{@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_5dfd6e40f6bf34daaacc53cdbe34dc86 → @radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_7668895bec2444446faa4e0f4eb5244b}/node_modules/@radix-ui/react-portal/dist/index.cjs.js.map +1 -1
  155. package/dist/node_modules/.pnpm/{@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_5dfd6e40f6bf34daaacc53cdbe34dc86 → @radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_7668895bec2444446faa4e0f4eb5244b}/node_modules/@radix-ui/react-portal/dist/index.es.js +2 -2
  156. package/dist/node_modules/.pnpm/{@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_5dfd6e40f6bf34daaacc53cdbe34dc86 → @radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.14__@types_react_7668895bec2444446faa4e0f4eb5244b}/node_modules/@radix-ui/react-portal/dist/index.es.js.map +1 -1
  157. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.14__@types_rea_c01c26c80b5ab5e3ecefbda6eca51ad1/node_modules/@radix-ui/react-presence/dist/index.cjs.js +2 -0
  158. package/dist/node_modules/.pnpm/{@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.8__@types_reac_f11bf302e331ffec5a13ba15f691e9b9 → @radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.14__@types_rea_c01c26c80b5ab5e3ecefbda6eca51ad1}/node_modules/@radix-ui/react-presence/dist/index.cjs.js.map +1 -1
  159. package/dist/node_modules/.pnpm/{@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.8__@types_reac_f11bf302e331ffec5a13ba15f691e9b9 → @radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.14__@types_rea_c01c26c80b5ab5e3ecefbda6eca51ad1}/node_modules/@radix-ui/react-presence/dist/index.es.js +2 -2
  160. package/dist/node_modules/.pnpm/{@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.8__@types_reac_f11bf302e331ffec5a13ba15f691e9b9 → @radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.14__@types_rea_c01c26c80b5ab5e3ecefbda6eca51ad1}/node_modules/@radix-ui/react-presence/dist/index.es.js.map +1 -1
  161. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.14__@types_re_1181ea5061ec9212248424669240e4ec/node_modules/@radix-ui/react-primitive/dist/index.cjs.js +2 -0
  162. package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.8__@types_rea_b16411dad6e6f8e2d0d80dbd3d639048 → @radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.14__@types_re_1181ea5061ec9212248424669240e4ec}/node_modules/@radix-ui/react-primitive/dist/index.cjs.js.map +1 -1
  163. package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.8__@types_rea_b16411dad6e6f8e2d0d80dbd3d639048 → @radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.14__@types_re_1181ea5061ec9212248424669240e4ec}/node_modules/@radix-ui/react-primitive/dist/index.es.js +1 -1
  164. package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.8__@types_rea_b16411dad6e6f8e2d0d80dbd3d639048 → @radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.14__@types_re_1181ea5061ec9212248424669240e4ec}/node_modules/@radix-ui/react-primitive/dist/index.es.js.map +1 -1
  165. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.cjs.js +2 -0
  166. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.cjs.js.map +1 -0
  167. package/dist/node_modules/.pnpm/{@radix-ui_react-slot@1.2.3_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-slot@1.2.3_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-slot/dist/index.es.js +1 -1
  168. package/dist/node_modules/.pnpm/{@radix-ui_react-slot@1.2.3_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.cjs.js.map → @radix-ui_react-slot@1.2.3_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.es.js.map} +1 -1
  169. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.cjs.js +2 -0
  170. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.cjs.js.map +1 -0
  171. package/dist/node_modules/.pnpm/{@radix-ui_react-slot@1.2.4_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-slot@1.2.4_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-slot/dist/index.es.js +1 -1
  172. package/dist/node_modules/.pnpm/{@radix-ui_react-slot@1.2.4_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.cjs.js.map → @radix-ui_react-slot@1.2.4_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.es.js.map} +1 -1
  173. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_reac_9074d9fb06315b089b2bee17c4c65951/node_modules/@radix-ui/react-tooltip/dist/index.cjs.js +2 -0
  174. package/dist/node_modules/.pnpm/{@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react_6a1a6d85f83fda9f1628953d2b64e4bf → @radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_reac_9074d9fb06315b089b2bee17c4c65951}/node_modules/@radix-ui/react-tooltip/dist/index.cjs.js.map +1 -1
  175. package/dist/node_modules/.pnpm/{@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react_6a1a6d85f83fda9f1628953d2b64e4bf → @radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_reac_9074d9fb06315b089b2bee17c4c65951}/node_modules/@radix-ui/react-tooltip/dist/index.es.js +11 -11
  176. package/dist/node_modules/.pnpm/{@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react_6a1a6d85f83fda9f1628953d2b64e4bf → @radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.14__@types_reac_9074d9fb06315b089b2bee17c4c65951}/node_modules/@radix-ui/react-tooltip/dist/index.es.js.map +1 -1
  177. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.js.map +1 -0
  178. package/dist/node_modules/.pnpm/{@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.js.map → @radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-callback-ref/dist/index.es.js.map} +1 -1
  179. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.js +2 -0
  180. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.js.map +1 -0
  181. package/dist/node_modules/.pnpm/{@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-controllable-state/dist/index.es.js +1 -1
  182. package/dist/node_modules/.pnpm/{@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.js.map → @radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-controllable-state/dist/index.es.js.map} +1 -1
  183. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.js +2 -0
  184. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.js.map +1 -0
  185. package/dist/node_modules/.pnpm/{@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-escape-keydown/dist/index.es.js +1 -1
  186. package/dist/node_modules/.pnpm/{@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.js.map → @radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-escape-keydown/dist/index.es.js.map} +1 -1
  187. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.js.map +1 -0
  188. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-layout-effect/dist/index.es.js.map +1 -0
  189. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-size/dist/index.cjs.js +2 -0
  190. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-size/dist/index.cjs.js.map +1 -0
  191. package/dist/node_modules/.pnpm/{@radix-ui_react-use-size@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-size@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-size/dist/index.es.js +1 -1
  192. package/dist/node_modules/.pnpm/{@radix-ui_react-use-size@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-size/dist/index.cjs.js.map → @radix-ui_react-use-size@1.1.1_@types_react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-size/dist/index.es.js.map} +1 -1
  193. package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.8__@typ_6d3f9ea4fd4aeaf06ba818e2c9c9b551 → @radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.14__@ty_fa89646d7248b32d1762bf88948f6339}/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs.js +1 -1
  194. package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.8__@typ_6d3f9ea4fd4aeaf06ba818e2c9c9b551 → @radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.14__@ty_fa89646d7248b32d1762bf88948f6339}/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs.js.map +1 -1
  195. package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.8__@typ_6d3f9ea4fd4aeaf06ba818e2c9c9b551 → @radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.14__@ty_fa89646d7248b32d1762bf88948f6339}/node_modules/@radix-ui/react-visually-hidden/dist/index.es.js +1 -1
  196. package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.8__@typ_6d3f9ea4fd4aeaf06ba818e2c9c9b551 → @radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.14__@ty_fa89646d7248b32d1762bf88948f6339}/node_modules/@radix-ui/react-visually-hidden/dist/index.es.js.map +1 -1
  197. package/dist/node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.dom.cjs.js.map +1 -0
  198. package/dist/node_modules/.pnpm/{decode-named-character-reference@1.2.0 → decode-named-character-reference@1.3.0}/node_modules/decode-named-character-reference/index.dom.es.js +1 -5
  199. package/dist/node_modules/.pnpm/decode-named-character-reference@1.3.0/node_modules/decode-named-character-reference/index.dom.es.js.map +1 -0
  200. package/dist/node_modules/.pnpm/katex@0.16.45/node_modules/katex/dist/katex.cjs.js +258 -0
  201. package/dist/node_modules/.pnpm/katex@0.16.45/node_modules/katex/dist/katex.cjs.js.map +1 -0
  202. package/dist/node_modules/.pnpm/{katex@0.16.28 → katex@0.16.45}/node_modules/katex/dist/katex.es.js +3056 -3130
  203. package/dist/node_modules/.pnpm/katex@0.16.45/node_modules/katex/dist/katex.es.js.map +1 -0
  204. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.cjs.js +1 -1
  205. package/dist/node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.es.js +1 -1
  206. package/dist/node_modules/.pnpm/parse-entities@4.0.2/node_modules/parse-entities/lib/index.cjs.js +1 -1
  207. package/dist/node_modules/.pnpm/parse-entities@4.0.2/node_modules/parse-entities/lib/index.es.js +1 -1
  208. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/a11y-dark.cjs.js.map +1 -1
  209. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/a11y-dark.es.js.map +1 -1
  210. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/atom-dark.cjs.js.map +1 -1
  211. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/atom-dark.es.js.map +1 -1
  212. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/base16-ateliersulphurpool.light.cjs.js.map +1 -1
  213. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/base16-ateliersulphurpool.light.es.js.map +1 -1
  214. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/cb.cjs.js.map +1 -1
  215. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/cb.es.js.map +1 -1
  216. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-cold.cjs.js.map +1 -1
  217. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-cold.es.js.map +1 -1
  218. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-dark.cjs.js.map +1 -1
  219. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-dark.es.js.map +1 -1
  220. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy-without-shadows.cjs.js.map +1 -1
  221. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy-without-shadows.es.js.map +1 -1
  222. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy.cjs.js.map +1 -1
  223. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy.es.js.map +1 -1
  224. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/darcula.cjs.js.map +1 -1
  225. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/darcula.es.js.map +1 -1
  226. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dark.cjs.js.map +1 -1
  227. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dark.es.js.map +1 -1
  228. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dracula.cjs.js.map +1 -1
  229. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dracula.es.js.map +1 -1
  230. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-dark.cjs.js.map +1 -1
  231. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-dark.es.js.map +1 -1
  232. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-earth.cjs.js.map +1 -1
  233. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-earth.es.js.map +1 -1
  234. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-forest.cjs.js.map +1 -1
  235. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-forest.es.js.map +1 -1
  236. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-light.cjs.js.map +1 -1
  237. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-light.es.js.map +1 -1
  238. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-sea.cjs.js.map +1 -1
  239. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-sea.es.js.map +1 -1
  240. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-space.cjs.js.map +1 -1
  241. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-space.es.js.map +1 -1
  242. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/funky.cjs.js.map +1 -1
  243. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/funky.es.js.map +1 -1
  244. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/ghcolors.cjs.js.map +1 -1
  245. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/ghcolors.es.js.map +1 -1
  246. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-dark.cjs.js.map +1 -1
  247. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-dark.es.js.map +1 -1
  248. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-light.cjs.js.map +1 -1
  249. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-light.es.js.map +1 -1
  250. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/holi-theme.cjs.js.map +1 -1
  251. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/holi-theme.es.js.map +1 -1
  252. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/hopscotch.cjs.js.map +1 -1
  253. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/hopscotch.es.js.map +1 -1
  254. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.cjs.js +1 -1
  255. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.cjs.js.map +1 -1
  256. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.es.js +1 -1
  257. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.es.js.map +1 -1
  258. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/lucario.cjs.js.map +1 -1
  259. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/lucario.es.js.map +1 -1
  260. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-dark.cjs.js.map +1 -1
  261. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-dark.es.js.map +1 -1
  262. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-light.cjs.js.map +1 -1
  263. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-light.es.js.map +1 -1
  264. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-oceanic.cjs.js.map +1 -1
  265. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-oceanic.es.js.map +1 -1
  266. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/night-owl.cjs.js.map +1 -1
  267. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/night-owl.es.js.map +1 -1
  268. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/nord.cjs.js.map +1 -1
  269. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/nord.es.js.map +1 -1
  270. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/okaidia.cjs.js.map +1 -1
  271. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/okaidia.es.js.map +1 -1
  272. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-dark.cjs.js.map +1 -1
  273. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-dark.es.js.map +1 -1
  274. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-light.cjs.js.map +1 -1
  275. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-light.es.js.map +1 -1
  276. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/pojoaque.cjs.js.map +1 -1
  277. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/pojoaque.es.js.map +1 -1
  278. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/prism.cjs.js.map +1 -1
  279. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/prism.es.js.map +1 -1
  280. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/shades-of-purple.cjs.js.map +1 -1
  281. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/shades-of-purple.es.js.map +1 -1
  282. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarized-dark-atom.cjs.js.map +1 -1
  283. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarized-dark-atom.es.js.map +1 -1
  284. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarizedlight.cjs.js.map +1 -1
  285. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarizedlight.es.js.map +1 -1
  286. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/synthwave84.cjs.js.map +1 -1
  287. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/synthwave84.es.js.map +1 -1
  288. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/tomorrow.cjs.js.map +1 -1
  289. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/tomorrow.es.js.map +1 -1
  290. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/twilight.cjs.js.map +1 -1
  291. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/twilight.es.js.map +1 -1
  292. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vs.cjs.js.map +1 -1
  293. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vs.es.js.map +1 -1
  294. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vsc-dark-plus.cjs.js.map +1 -1
  295. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vsc-dark-plus.es.js.map +1 -1
  296. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/xonokai.cjs.js.map +1 -1
  297. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/xonokai.es.js.map +1 -1
  298. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/z-touch.cjs.js.map +1 -1
  299. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/z-touch.es.js.map +1 -1
  300. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.cjs.js +1 -1
  301. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.cjs.js.map +1 -1
  302. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.es.js +1 -1
  303. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.es.js.map +1 -1
  304. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/async-languages/prism.cjs.js.map +1 -0
  305. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/async-languages/prism.es.js.map +1 -0
  306. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.cjs.js +1 -1
  307. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.cjs.js.map +1 -0
  308. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.es.js +8 -8
  309. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.es.js.map +1 -0
  310. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.cjs.js.map +1 -1
  311. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.es.js.map +1 -1
  312. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/create-element.cjs.js +1 -1
  313. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/create-element.cjs.js.map +1 -1
  314. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/create-element.es.js +2 -2
  315. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/create-element.es.js.map +1 -1
  316. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/highlight.cjs.js +1 -1
  317. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/highlight.cjs.js.map +1 -0
  318. package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/highlight.es.js +3 -3
  319. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/highlight.es.js.map +1 -0
  320. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/prism-async-light.cjs.js.map +1 -0
  321. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.2.4/node_modules/react-syntax-highlighter/dist/esm/prism-async-light.es.js.map +1 -0
  322. package/dist/node_modules/.pnpm/rehype-katex@7.0.1/node_modules/rehype-katex/lib/index.cjs.js +1 -1
  323. package/dist/node_modules/.pnpm/rehype-katex@7.0.1/node_modules/rehype-katex/lib/index.es.js +1 -1
  324. package/dist/node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +2 -0
  325. package/dist/node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js.map +1 -0
  326. package/dist/node_modules/.pnpm/{tailwind-merge@3.4.0 → tailwind-merge@3.5.0}/node_modules/tailwind-merge/dist/bundle-mjs.es.js +493 -334
  327. package/dist/node_modules/.pnpm/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.es.js.map +1 -0
  328. package/dist/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.cjs.js.map +1 -0
  329. package/dist/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.es.js.map +1 -0
  330. package/dist/providers/CustomComponentProvider.es.js +1 -1
  331. package/dist/providers/FileProvider.es.js +4 -4
  332. package/dist/providers/Thread.es.js +3 -3
  333. package/dist/providers/useChatSuggestions.cjs.js +1 -1
  334. package/dist/providers/useChatSuggestions.cjs.js.map +1 -1
  335. package/dist/providers/useChatSuggestions.es.js +9 -10
  336. package/dist/styles.css +1 -1
  337. package/dist/types/AskUserInterrupt.d.ts +24 -0
  338. package/dist/types/AskUserInterrupt.d.ts.map +1 -0
  339. package/dist/utils/tailwindUtil.cjs.js +1 -1
  340. package/dist/utils/tailwindUtil.es.js +1 -1
  341. package/package.json +2 -1
  342. package/src/components/AskUserInterrupt.tsx +137 -0
  343. package/src/components/ChatBody.tsx +67 -5
  344. package/src/entries/components.ts +9 -0
  345. package/src/index.ts +8 -0
  346. package/src/types/AskUserInterrupt.ts +27 -0
  347. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js +0 -2
  348. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.js.map +0 -1
  349. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.es.js.map +0 -1
  350. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js +0 -2
  351. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.js.map +0 -1
  352. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js +0 -403
  353. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.es.js.map +0 -1
  354. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js +0 -2
  355. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js.map +0 -1
  356. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js +0 -209
  357. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.es.js.map +0 -1
  358. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js +0 -2
  359. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.js.map +0 -1
  360. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js +0 -2
  361. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.js.map +0 -1
  362. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js +0 -137
  363. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.es.js.map +0 -1
  364. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js +0 -131
  365. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.es.js.map +0 -1
  366. package/dist/node_modules/.pnpm/@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-compose-refs/dist/index.es.js.map +0 -1
  367. package/dist/node_modules/.pnpm/@radix-ui_react-context@1.1.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-context/dist/index.es.js.map +0 -1
  368. package/dist/node_modules/.pnpm/@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.8__@_46f922aa9b9357a2c290dea87cc3edf9/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.js +0 -2
  369. package/dist/node_modules/.pnpm/@radix-ui_react-hover-card@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.8__@types_r_d43d49df692658c2ae5a37550ec322f6/node_modules/@radix-ui/react-hover-card/dist/index.cjs.js +0 -2
  370. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-id/dist/index.cjs.js +0 -2
  371. package/dist/node_modules/.pnpm/@radix-ui_react-id@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-id/dist/index.es.js.map +0 -1
  372. package/dist/node_modules/.pnpm/@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_4a33dcfcd1548977446bec12ce2b64d4/node_modules/@radix-ui/react-popper/dist/index.cjs.js +0 -2
  373. package/dist/node_modules/.pnpm/@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react@_5dfd6e40f6bf34daaacc53cdbe34dc86/node_modules/@radix-ui/react-portal/dist/index.cjs.js +0 -2
  374. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.8__@types_reac_f11bf302e331ffec5a13ba15f691e9b9/node_modules/@radix-ui/react-presence/dist/index.cjs.js +0 -2
  375. package/dist/node_modules/.pnpm/@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.8__@types_rea_b16411dad6e6f8e2d0d80dbd3d639048/node_modules/@radix-ui/react-primitive/dist/index.cjs.js +0 -2
  376. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.cjs.js +0 -2
  377. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.3_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.es.js.map +0 -1
  378. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.cjs.js +0 -2
  379. package/dist/node_modules/.pnpm/@radix-ui_react-slot@1.2.4_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.es.js.map +0 -1
  380. package/dist/node_modules/.pnpm/@radix-ui_react-tooltip@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.8__@types_react_6a1a6d85f83fda9f1628953d2b64e4bf/node_modules/@radix-ui/react-tooltip/dist/index.cjs.js +0 -2
  381. package/dist/node_modules/.pnpm/@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-callback-ref/dist/index.es.js.map +0 -1
  382. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.js +0 -2
  383. package/dist/node_modules/.pnpm/@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-controllable-state/dist/index.es.js.map +0 -1
  384. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.js +0 -2
  385. package/dist/node_modules/.pnpm/@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-escape-keydown/dist/index.es.js.map +0 -1
  386. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.js.map +0 -1
  387. package/dist/node_modules/.pnpm/@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-layout-effect/dist/index.es.js.map +0 -1
  388. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-size/dist/index.cjs.js +0 -2
  389. package/dist/node_modules/.pnpm/@radix-ui_react-use-size@1.1.1_@types_react@19.2.8_react@19.2.3/node_modules/@radix-ui/react-use-size/dist/index.es.js.map +0 -1
  390. package/dist/node_modules/.pnpm/decode-named-character-reference@1.2.0/node_modules/decode-named-character-reference/index.dom.cjs.js.map +0 -1
  391. package/dist/node_modules/.pnpm/decode-named-character-reference@1.2.0/node_modules/decode-named-character-reference/index.dom.es.js.map +0 -1
  392. package/dist/node_modules/.pnpm/katex@0.16.28/node_modules/katex/dist/katex.cjs.js +0 -262
  393. package/dist/node_modules/.pnpm/katex@0.16.28/node_modules/katex/dist/katex.cjs.js.map +0 -1
  394. package/dist/node_modules/.pnpm/katex@0.16.28/node_modules/katex/dist/katex.es.js.map +0 -1
  395. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-languages/prism.cjs.js.map +0 -1
  396. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-languages/prism.es.js.map +0 -1
  397. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.cjs.js.map +0 -1
  398. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.es.js.map +0 -1
  399. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/highlight.cjs.js.map +0 -1
  400. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/highlight.es.js.map +0 -1
  401. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/prism-async-light.cjs.js.map +0 -1
  402. package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/prism-async-light.es.js.map +0 -1
  403. package/dist/node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +0 -2
  404. package/dist/node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js.map +0 -1
  405. package/dist/node_modules/.pnpm/tailwind-merge@3.4.0/node_modules/tailwind-merge/dist/bundle-mjs.es.js.map +0 -1
  406. package/dist/node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/lib/index.cjs.js.map +0 -1
  407. package/dist/node_modules/.pnpm/unist-util-visit@5.0.0/node_modules/unist-util-visit/lib/index.es.js.map +0 -1
  408. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/OverloadYield.cjs.js +0 -0
  409. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/OverloadYield.es.js +0 -0
  410. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.cjs.js +0 -0
  411. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.es.js +0 -0
  412. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.cjs.js +0 -0
  413. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.es.js +0 -0
  414. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.cjs.js +0 -0
  415. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.es.js +0 -0
  416. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.cjs.js +0 -0
  417. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.es.js +0 -0
  418. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/classCallCheck.cjs.js +0 -0
  419. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/classCallCheck.es.js +0 -0
  420. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/createClass.cjs.js +0 -0
  421. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/createClass.es.js +0 -0
  422. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/defineProperty.cjs.js +0 -0
  423. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/defineProperty.es.js +0 -0
  424. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/extends.cjs.js +0 -0
  425. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/extends.es.js +0 -0
  426. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.cjs.js +0 -0
  427. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.es.js +0 -0
  428. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/inherits.cjs.js +0 -0
  429. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/inherits.es.js +0 -0
  430. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/iterableToArray.cjs.js +0 -0
  431. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/iterableToArray.es.js +0 -0
  432. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.cjs.js +0 -0
  433. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.es.js +0 -0
  434. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.cjs.js +0 -0
  435. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.es.js +0 -0
  436. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.js +0 -0
  437. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.es.js +0 -0
  438. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.cjs.js +0 -0
  439. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.es.js +0 -0
  440. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.cjs.js +0 -0
  441. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.es.js +0 -0
  442. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toConsumableArray.cjs.js +0 -0
  443. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toConsumableArray.es.js +0 -0
  444. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPrimitive.cjs.js +0 -0
  445. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPrimitive.es.js +0 -0
  446. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPropertyKey.cjs.js +0 -0
  447. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/toPropertyKey.es.js +0 -0
  448. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/typeof.cjs.js +0 -0
  449. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/typeof.es.js +0 -0
  450. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.cjs.js +0 -0
  451. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.es.js +0 -0
  452. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/interopRequireDefault.cjs.js +0 -0
  453. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/interopRequireDefault.es.js +0 -0
  454. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regenerator.cjs.js +0 -0
  455. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regenerator.es.js +0 -0
  456. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsync.cjs.js +0 -0
  457. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsync.es.js +0 -0
  458. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.cjs.js +0 -0
  459. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.es.js +0 -0
  460. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.cjs.js +0 -0
  461. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.es.js +0 -0
  462. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorDefine.cjs.js +0 -0
  463. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorDefine.es.js +0 -0
  464. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorKeys.cjs.js +0 -0
  465. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorKeys.es.js +0 -0
  466. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorRuntime.cjs.js +0 -0
  467. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorRuntime.es.js +0 -0
  468. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorValues.cjs.js +0 -0
  469. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/regeneratorValues.es.js +0 -0
  470. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/typeof.cjs.js +0 -0
  471. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/helpers/typeof.es.js +0 -0
  472. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/regenerator/index.cjs.js +0 -0
  473. /package/dist/node_modules/.pnpm/{@babel_runtime@7.28.6 → @babel_runtime@7.29.2}/node_modules/@babel/runtime/regenerator/index.es.js +0 -0
  474. /package/dist/node_modules/.pnpm/{@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-compose-refs@1.1.2_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.js +0 -0
  475. /package/dist/node_modules/.pnpm/{@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-compose-refs@1.1.2_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-compose-refs/dist/index.es.js +0 -0
  476. /package/dist/node_modules/.pnpm/{@radix-ui_react-context@1.1.2_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-context@1.1.2_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-context/dist/index.cjs.js +0 -0
  477. /package/dist/node_modules/.pnpm/{@radix-ui_react-context@1.1.2_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-context@1.1.2_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-context/dist/index.es.js +0 -0
  478. /package/dist/node_modules/.pnpm/{@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.js +0 -0
  479. /package/dist/node_modules/.pnpm/{@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-callback-ref/dist/index.es.js +0 -0
  480. /package/dist/node_modules/.pnpm/{@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.js +0 -0
  481. /package/dist/node_modules/.pnpm/{@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.8_react@19.2.3 → @radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.14_react@19.2.4}/node_modules/@radix-ui/react-use-layout-effect/dist/index.es.js +0 -0
  482. /package/dist/node_modules/.pnpm/{decode-named-character-reference@1.2.0 → decode-named-character-reference@1.3.0}/node_modules/decode-named-character-reference/index.dom.cjs.js +0 -0
  483. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/a11y-dark.cjs.js +0 -0
  484. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/a11y-dark.es.js +0 -0
  485. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/atom-dark.cjs.js +0 -0
  486. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/atom-dark.es.js +0 -0
  487. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/base16-ateliersulphurpool.light.cjs.js +0 -0
  488. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/base16-ateliersulphurpool.light.es.js +0 -0
  489. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/cb.cjs.js +0 -0
  490. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/cb.es.js +0 -0
  491. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-cold.cjs.js +0 -0
  492. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-cold.es.js +0 -0
  493. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-dark.cjs.js +0 -0
  494. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coldark-dark.es.js +0 -0
  495. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy-without-shadows.cjs.js +0 -0
  496. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy-without-shadows.es.js +0 -0
  497. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy.cjs.js +0 -0
  498. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/coy.es.js +0 -0
  499. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/darcula.cjs.js +0 -0
  500. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/darcula.es.js +0 -0
  501. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dark.cjs.js +0 -0
  502. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dark.es.js +0 -0
  503. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dracula.cjs.js +0 -0
  504. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/dracula.es.js +0 -0
  505. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-dark.cjs.js +0 -0
  506. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-dark.es.js +0 -0
  507. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-earth.cjs.js +0 -0
  508. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-earth.es.js +0 -0
  509. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-forest.cjs.js +0 -0
  510. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-forest.es.js +0 -0
  511. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-light.cjs.js +0 -0
  512. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-light.es.js +0 -0
  513. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-sea.cjs.js +0 -0
  514. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-sea.es.js +0 -0
  515. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-space.cjs.js +0 -0
  516. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/duotone-space.es.js +0 -0
  517. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/funky.cjs.js +0 -0
  518. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/funky.es.js +0 -0
  519. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/ghcolors.cjs.js +0 -0
  520. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/ghcolors.es.js +0 -0
  521. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-dark.cjs.js +0 -0
  522. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-dark.es.js +0 -0
  523. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-light.cjs.js +0 -0
  524. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/gruvbox-light.es.js +0 -0
  525. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/holi-theme.cjs.js +0 -0
  526. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/holi-theme.es.js +0 -0
  527. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/hopscotch.cjs.js +0 -0
  528. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/hopscotch.es.js +0 -0
  529. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/lucario.cjs.js +0 -0
  530. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/lucario.es.js +0 -0
  531. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-dark.cjs.js +0 -0
  532. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-dark.es.js +0 -0
  533. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-light.cjs.js +0 -0
  534. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-light.es.js +0 -0
  535. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-oceanic.cjs.js +0 -0
  536. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/material-oceanic.es.js +0 -0
  537. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/night-owl.cjs.js +0 -0
  538. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/night-owl.es.js +0 -0
  539. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/nord.cjs.js +0 -0
  540. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/nord.es.js +0 -0
  541. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/okaidia.cjs.js +0 -0
  542. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/okaidia.es.js +0 -0
  543. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-dark.cjs.js +0 -0
  544. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-dark.es.js +0 -0
  545. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-light.cjs.js +0 -0
  546. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/one-light.es.js +0 -0
  547. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/pojoaque.cjs.js +0 -0
  548. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/pojoaque.es.js +0 -0
  549. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/prism.cjs.js +0 -0
  550. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/prism.es.js +0 -0
  551. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/shades-of-purple.cjs.js +0 -0
  552. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/shades-of-purple.es.js +0 -0
  553. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarized-dark-atom.cjs.js +0 -0
  554. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarized-dark-atom.es.js +0 -0
  555. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarizedlight.cjs.js +0 -0
  556. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/solarizedlight.es.js +0 -0
  557. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/synthwave84.cjs.js +0 -0
  558. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/synthwave84.es.js +0 -0
  559. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/tomorrow.cjs.js +0 -0
  560. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/tomorrow.es.js +0 -0
  561. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/twilight.cjs.js +0 -0
  562. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/twilight.es.js +0 -0
  563. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vs.cjs.js +0 -0
  564. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vs.es.js +0 -0
  565. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vsc-dark-plus.cjs.js +0 -0
  566. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/vsc-dark-plus.es.js +0 -0
  567. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/xonokai.cjs.js +0 -0
  568. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/xonokai.es.js +0 -0
  569. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/z-touch.cjs.js +0 -0
  570. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/z-touch.es.js +0 -0
  571. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-languages/prism.cjs.js +0 -0
  572. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/async-languages/prism.es.js +0 -0
  573. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.cjs.js +0 -0
  574. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.es.js +0 -0
  575. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/python.cjs.js +0 -0
  576. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/python.cjs.js.map +0 -0
  577. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/python.es.js +0 -0
  578. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/python.es.js.map +0 -0
  579. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/tsx.cjs.js +0 -0
  580. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/tsx.cjs.js.map +0 -0
  581. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/tsx.es.js +0 -0
  582. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/languages/prism/tsx.es.js.map +0 -0
  583. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/prism-async-light.cjs.js +0 -0
  584. /package/dist/node_modules/.pnpm/{react-syntax-highlighter@16.1.0_react@19.2.3 → react-syntax-highlighter@16.1.1_react@19.2.4}/node_modules/react-syntax-highlighter/dist/esm/prism-async-light.es.js +0 -0
  585. /package/dist/node_modules/.pnpm/{unist-util-visit@5.0.0 → unist-util-visit@5.1.0}/node_modules/unist-util-visit/lib/index.cjs.js +0 -0
  586. /package/dist/node_modules/.pnpm/{unist-util-visit@5.0.0 → unist-util-visit@5.1.0}/node_modules/unist-util-visit/lib/index.es.js +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";const n=require("react/jsx-runtime"),d=require("../utils/tailwindUtil.cjs.js"),g=require("react");function z({questions:i,onSubmit:u}){const[o,x]=g.useState(()=>Object.fromEntries(i.map(e=>[e.header,{selected:[],freeText:null,skipped:!1}]))),p=(e,t,r)=>{x(c=>{const s=c[e];let l;return r?l=s.selected.includes(t)?s.selected.filter(m=>m!==t):[...s.selected,t]:l=s.selected[0]===t?[]:[t],{...c,[e]:{...s,selected:l,skipped:!1}}})},b=(e,t)=>{x(r=>({...r,[e]:{...r[e],freeText:t||null,skipped:!1}}))},f=e=>{const t=o[e];return t.selected.length>0||t.freeText!==null&&t.freeText.trim().length>0},a=i.every(e=>f(e.header)),h=()=>{a&&u({answers:o})};return n.jsxs("div",{className:"flex flex-col gap-3 rounded-xl border border-zinc-700 bg-zinc-900 p-4 text-sm text-zinc-100",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-zinc-400",children:[n.jsx("svg",{className:"h-3.5 w-3.5 shrink-0",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:n.jsx("path",{d:"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm.75 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.25 7h1.5v4.5h-1.5V7Z"})}),"Input needed"]}),i.map(e=>{const t=o[e.header],r=e.options&&e.options.length>0,c=!r||e.allowFreeformInput;return n.jsxs("div",{className:"flex flex-col gap-2 border-t border-zinc-800 pt-3 first:border-t-0 first:pt-0",children:[n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-zinc-500",children:e.header}),n.jsx("p",{className:"leading-snug text-zinc-200",children:e.question})]}),r&&n.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.options.map(s=>{const l=t.selected.includes(s.label);return n.jsxs("button",{type:"button",onClick:()=>p(e.header,s.label,e.multiSelect??!1),className:d.cn("flex flex-col items-start rounded-lg border px-3 py-1.5 text-left text-xs transition-colors",l?"border-blue-500 bg-blue-500/15 text-blue-300":"border-zinc-700 bg-zinc-800 text-zinc-300 hover:border-zinc-500 hover:bg-zinc-700"),children:[n.jsx("span",{className:"font-medium",children:s.label}),s.description&&n.jsx("span",{className:d.cn("mt-0.5 text-[10px]",l?"text-blue-400":"text-zinc-500"),children:s.description})]},s.label)})}),c&&n.jsx("input",{type:"text",value:t.freeText??"",onChange:s=>b(e.header,s.target.value),placeholder:r?"Or type a custom answer…":"Type your answer…",className:"rounded-lg border border-zinc-700 bg-zinc-800 px-3 py-1.5 text-xs text-zinc-100 placeholder-zinc-500 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500/40"})]},e.header)}),n.jsx("button",{type:"button",disabled:!a,onClick:h,className:d.cn("mt-1 self-end rounded-lg px-4 py-1.5 text-xs font-semibold transition-colors",a?"bg-blue-600 text-white hover:bg-blue-500":"cursor-not-allowed bg-zinc-700 text-zinc-500"),children:"Submit"})]})}module.exports=z;
2
+ //# sourceMappingURL=AskUserInterrupt.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserInterrupt.cjs.js","sources":["../../src/components/AskUserInterrupt.tsx"],"sourcesContent":["import { cn } from \"@/utils/tailwindUtil\";\nimport { useState } from \"react\";\nimport type {\n AskUserInterruptProps,\n QuestionAnswer,\n} from \"@/types/AskUserInterrupt\";\n\nexport default function AskUserInterrupt({ questions, onSubmit }: AskUserInterruptProps) {\n const [answers, setAnswers] = useState<Record<string, QuestionAnswer>>(() =>\n Object.fromEntries(\n questions.map((q) => [\n q.header,\n { selected: [], freeText: null, skipped: false },\n ])\n )\n );\n\n const toggleOption = (header: string, label: string, multiSelect: boolean) => {\n setAnswers((prev) => {\n const current = prev[header];\n let selected: string[];\n if (multiSelect) {\n selected = current.selected.includes(label)\n ? current.selected.filter((s) => s !== label)\n : [...current.selected, label];\n } else {\n selected = current.selected[0] === label ? [] : [label];\n }\n return { ...prev, [header]: { ...current, selected, skipped: false } };\n });\n };\n\n const setFreeText = (header: string, text: string) => {\n setAnswers((prev) => ({\n ...prev,\n [header]: { ...prev[header], freeText: text || null, skipped: false },\n }));\n };\n\n const isAnswered = (header: string): boolean => {\n const a = answers[header];\n return a.selected.length > 0 || (a.freeText !== null && a.freeText.trim().length > 0);\n };\n\n const allAnswered = questions.every((q) => isAnswered(q.header));\n\n const handleSubmit = () => {\n if (!allAnswered) return;\n onSubmit({ answers });\n };\n\n return (\n <div className=\"flex flex-col gap-3 rounded-xl border border-zinc-700 bg-zinc-900 p-4 text-sm text-zinc-100\">\n {/* Header */}\n <div className=\"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-zinc-400\">\n <svg className=\"h-3.5 w-3.5 shrink-0\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm.75 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.25 7h1.5v4.5h-1.5V7Z\" />\n </svg>\n Input needed\n </div>\n\n {/* Questions */}\n {questions.map((q) => {\n const answer = answers[q.header];\n const hasOptions = q.options && q.options.length > 0;\n const showFreeText = !hasOptions || q.allowFreeformInput;\n\n return (\n <div key={q.header} className=\"flex flex-col gap-2 border-t border-zinc-800 pt-3 first:border-t-0 first:pt-0\">\n {/* Question header + text */}\n <div className=\"flex flex-col gap-0.5\">\n <span className=\"text-[11px] font-semibold uppercase tracking-wide text-zinc-500\">\n {q.header}\n </span>\n <p className=\"leading-snug text-zinc-200\">{q.question}</p>\n </div>\n\n {/* Options */}\n {hasOptions && (\n <div className=\"flex flex-wrap gap-1.5\">\n {q.options!.map((opt) => {\n const isSelected = answer.selected.includes(opt.label);\n return (\n <button\n key={opt.label}\n type=\"button\"\n onClick={() => toggleOption(q.header, opt.label, q.multiSelect ?? false)}\n className={cn(\n \"flex flex-col items-start rounded-lg border px-3 py-1.5 text-left text-xs transition-colors\",\n isSelected\n ? \"border-blue-500 bg-blue-500/15 text-blue-300\"\n : \"border-zinc-700 bg-zinc-800 text-zinc-300 hover:border-zinc-500 hover:bg-zinc-700\"\n )}\n >\n <span className=\"font-medium\">{opt.label}</span>\n {opt.description && (\n <span className={cn(\"mt-0.5 text-[10px]\", isSelected ? \"text-blue-400\" : \"text-zinc-500\")}>\n {opt.description}\n </span>\n )}\n </button>\n );\n })}\n </div>\n )}\n\n {/* Free-text input */}\n {showFreeText && (\n <input\n type=\"text\"\n value={answer.freeText ?? \"\"}\n onChange={(e) => setFreeText(q.header, e.target.value)}\n placeholder={hasOptions ? \"Or type a custom answer…\" : \"Type your answer…\"}\n className=\"rounded-lg border border-zinc-700 bg-zinc-800 px-3 py-1.5 text-xs text-zinc-100 placeholder-zinc-500 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500/40\"\n />\n )}\n </div>\n );\n })}\n\n {/* Submit */}\n <button\n type=\"button\"\n disabled={!allAnswered}\n onClick={handleSubmit}\n className={cn(\n \"mt-1 self-end rounded-lg px-4 py-1.5 text-xs font-semibold transition-colors\",\n allAnswered\n ? \"bg-blue-600 text-white hover:bg-blue-500\"\n : \"cursor-not-allowed bg-zinc-700 text-zinc-500\"\n )}\n >\n Submit\n </button>\n </div>\n );\n}\n"],"names":["AskUserInterrupt","questions","onSubmit","answers","setAnswers","useState","q","toggleOption","header","label","multiSelect","prev","current","selected","s","setFreeText","text","isAnswered","a","allAnswered","handleSubmit","jsxs","jsx","answer","hasOptions","showFreeText","opt","isSelected","cn","e"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AskUserInterruptProps } from '../types/AskUserInterrupt';
2
+ export default function AskUserInterrupt({ questions, onSubmit }: AskUserInterruptProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=AskUserInterrupt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserInterrupt.d.ts","sourceRoot":"","sources":["../../src/components/AskUserInterrupt.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAiItF"}
@@ -0,0 +1,90 @@
1
+ import { jsxs as c, jsx as n } from "react/jsx-runtime";
2
+ import { cn as u } from "../utils/tailwindUtil.es.js";
3
+ import { useState as z } from "react";
4
+ function y({ questions: o, onSubmit: p }) {
5
+ const [a, x] = z(
6
+ () => Object.fromEntries(
7
+ o.map((e) => [
8
+ e.header,
9
+ { selected: [], freeText: null, skipped: !1 }
10
+ ])
11
+ )
12
+ ), f = (e, t, s) => {
13
+ x((i) => {
14
+ const r = i[e];
15
+ let l;
16
+ return s ? l = r.selected.includes(t) ? r.selected.filter((g) => g !== t) : [...r.selected, t] : l = r.selected[0] === t ? [] : [t], { ...i, [e]: { ...r, selected: l, skipped: !1 } };
17
+ });
18
+ }, m = (e, t) => {
19
+ x((s) => ({
20
+ ...s,
21
+ [e]: { ...s[e], freeText: t || null, skipped: !1 }
22
+ }));
23
+ }, b = (e) => {
24
+ const t = a[e];
25
+ return t.selected.length > 0 || t.freeText !== null && t.freeText.trim().length > 0;
26
+ }, d = o.every((e) => b(e.header)), h = () => {
27
+ d && p({ answers: a });
28
+ };
29
+ return /* @__PURE__ */ c("div", { className: "flex flex-col gap-3 rounded-xl border border-zinc-700 bg-zinc-900 p-4 text-sm text-zinc-100", children: [
30
+ /* @__PURE__ */ c("div", { className: "flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-zinc-400", children: [
31
+ /* @__PURE__ */ n("svg", { className: "h-3.5 w-3.5 shrink-0", viewBox: "0 0 16 16", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ n("path", { d: "M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm.75 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.25 7h1.5v4.5h-1.5V7Z" }) }),
32
+ "Input needed"
33
+ ] }),
34
+ o.map((e) => {
35
+ const t = a[e.header], s = e.options && e.options.length > 0, i = !s || e.allowFreeformInput;
36
+ return /* @__PURE__ */ c("div", { className: "flex flex-col gap-2 border-t border-zinc-800 pt-3 first:border-t-0 first:pt-0", children: [
37
+ /* @__PURE__ */ c("div", { className: "flex flex-col gap-0.5", children: [
38
+ /* @__PURE__ */ n("span", { className: "text-[11px] font-semibold uppercase tracking-wide text-zinc-500", children: e.header }),
39
+ /* @__PURE__ */ n("p", { className: "leading-snug text-zinc-200", children: e.question })
40
+ ] }),
41
+ s && /* @__PURE__ */ n("div", { className: "flex flex-wrap gap-1.5", children: e.options.map((r) => {
42
+ const l = t.selected.includes(r.label);
43
+ return /* @__PURE__ */ c(
44
+ "button",
45
+ {
46
+ type: "button",
47
+ onClick: () => f(e.header, r.label, e.multiSelect ?? !1),
48
+ className: u(
49
+ "flex flex-col items-start rounded-lg border px-3 py-1.5 text-left text-xs transition-colors",
50
+ l ? "border-blue-500 bg-blue-500/15 text-blue-300" : "border-zinc-700 bg-zinc-800 text-zinc-300 hover:border-zinc-500 hover:bg-zinc-700"
51
+ ),
52
+ children: [
53
+ /* @__PURE__ */ n("span", { className: "font-medium", children: r.label }),
54
+ r.description && /* @__PURE__ */ n("span", { className: u("mt-0.5 text-[10px]", l ? "text-blue-400" : "text-zinc-500"), children: r.description })
55
+ ]
56
+ },
57
+ r.label
58
+ );
59
+ }) }),
60
+ i && /* @__PURE__ */ n(
61
+ "input",
62
+ {
63
+ type: "text",
64
+ value: t.freeText ?? "",
65
+ onChange: (r) => m(e.header, r.target.value),
66
+ placeholder: s ? "Or type a custom answer…" : "Type your answer…",
67
+ className: "rounded-lg border border-zinc-700 bg-zinc-800 px-3 py-1.5 text-xs text-zinc-100 placeholder-zinc-500 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500/40"
68
+ }
69
+ )
70
+ ] }, e.header);
71
+ }),
72
+ /* @__PURE__ */ n(
73
+ "button",
74
+ {
75
+ type: "button",
76
+ disabled: !d,
77
+ onClick: h,
78
+ className: u(
79
+ "mt-1 self-end rounded-lg px-4 py-1.5 text-xs font-semibold transition-colors",
80
+ d ? "bg-blue-600 text-white hover:bg-blue-500" : "cursor-not-allowed bg-zinc-700 text-zinc-500"
81
+ ),
82
+ children: "Submit"
83
+ }
84
+ )
85
+ ] });
86
+ }
87
+ export {
88
+ y as default
89
+ };
90
+ //# sourceMappingURL=AskUserInterrupt.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserInterrupt.es.js","sources":["../../src/components/AskUserInterrupt.tsx"],"sourcesContent":["import { cn } from \"@/utils/tailwindUtil\";\nimport { useState } from \"react\";\nimport type {\n AskUserInterruptProps,\n QuestionAnswer,\n} from \"@/types/AskUserInterrupt\";\n\nexport default function AskUserInterrupt({ questions, onSubmit }: AskUserInterruptProps) {\n const [answers, setAnswers] = useState<Record<string, QuestionAnswer>>(() =>\n Object.fromEntries(\n questions.map((q) => [\n q.header,\n { selected: [], freeText: null, skipped: false },\n ])\n )\n );\n\n const toggleOption = (header: string, label: string, multiSelect: boolean) => {\n setAnswers((prev) => {\n const current = prev[header];\n let selected: string[];\n if (multiSelect) {\n selected = current.selected.includes(label)\n ? current.selected.filter((s) => s !== label)\n : [...current.selected, label];\n } else {\n selected = current.selected[0] === label ? [] : [label];\n }\n return { ...prev, [header]: { ...current, selected, skipped: false } };\n });\n };\n\n const setFreeText = (header: string, text: string) => {\n setAnswers((prev) => ({\n ...prev,\n [header]: { ...prev[header], freeText: text || null, skipped: false },\n }));\n };\n\n const isAnswered = (header: string): boolean => {\n const a = answers[header];\n return a.selected.length > 0 || (a.freeText !== null && a.freeText.trim().length > 0);\n };\n\n const allAnswered = questions.every((q) => isAnswered(q.header));\n\n const handleSubmit = () => {\n if (!allAnswered) return;\n onSubmit({ answers });\n };\n\n return (\n <div className=\"flex flex-col gap-3 rounded-xl border border-zinc-700 bg-zinc-900 p-4 text-sm text-zinc-100\">\n {/* Header */}\n <div className=\"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-zinc-400\">\n <svg className=\"h-3.5 w-3.5 shrink-0\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1Zm.75 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM7.25 7h1.5v4.5h-1.5V7Z\" />\n </svg>\n Input needed\n </div>\n\n {/* Questions */}\n {questions.map((q) => {\n const answer = answers[q.header];\n const hasOptions = q.options && q.options.length > 0;\n const showFreeText = !hasOptions || q.allowFreeformInput;\n\n return (\n <div key={q.header} className=\"flex flex-col gap-2 border-t border-zinc-800 pt-3 first:border-t-0 first:pt-0\">\n {/* Question header + text */}\n <div className=\"flex flex-col gap-0.5\">\n <span className=\"text-[11px] font-semibold uppercase tracking-wide text-zinc-500\">\n {q.header}\n </span>\n <p className=\"leading-snug text-zinc-200\">{q.question}</p>\n </div>\n\n {/* Options */}\n {hasOptions && (\n <div className=\"flex flex-wrap gap-1.5\">\n {q.options!.map((opt) => {\n const isSelected = answer.selected.includes(opt.label);\n return (\n <button\n key={opt.label}\n type=\"button\"\n onClick={() => toggleOption(q.header, opt.label, q.multiSelect ?? false)}\n className={cn(\n \"flex flex-col items-start rounded-lg border px-3 py-1.5 text-left text-xs transition-colors\",\n isSelected\n ? \"border-blue-500 bg-blue-500/15 text-blue-300\"\n : \"border-zinc-700 bg-zinc-800 text-zinc-300 hover:border-zinc-500 hover:bg-zinc-700\"\n )}\n >\n <span className=\"font-medium\">{opt.label}</span>\n {opt.description && (\n <span className={cn(\"mt-0.5 text-[10px]\", isSelected ? \"text-blue-400\" : \"text-zinc-500\")}>\n {opt.description}\n </span>\n )}\n </button>\n );\n })}\n </div>\n )}\n\n {/* Free-text input */}\n {showFreeText && (\n <input\n type=\"text\"\n value={answer.freeText ?? \"\"}\n onChange={(e) => setFreeText(q.header, e.target.value)}\n placeholder={hasOptions ? \"Or type a custom answer…\" : \"Type your answer…\"}\n className=\"rounded-lg border border-zinc-700 bg-zinc-800 px-3 py-1.5 text-xs text-zinc-100 placeholder-zinc-500 outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500/40\"\n />\n )}\n </div>\n );\n })}\n\n {/* Submit */}\n <button\n type=\"button\"\n disabled={!allAnswered}\n onClick={handleSubmit}\n className={cn(\n \"mt-1 self-end rounded-lg px-4 py-1.5 text-xs font-semibold transition-colors\",\n allAnswered\n ? \"bg-blue-600 text-white hover:bg-blue-500\"\n : \"cursor-not-allowed bg-zinc-700 text-zinc-500\"\n )}\n >\n Submit\n </button>\n </div>\n );\n}\n"],"names":["AskUserInterrupt","questions","onSubmit","answers","setAnswers","useState","q","toggleOption","header","label","multiSelect","prev","current","selected","s","setFreeText","text","isAnswered","a","allAnswered","handleSubmit","jsxs","jsx","answer","hasOptions","showFreeText","opt","isSelected","cn","e"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const u=require("react/jsx-runtime"),oe=require("../providers/Stream.cjs.js"),ae=require("../providers/CustomComponentProvider.cjs.js"),ie=require("../utils/logger.cjs.js"),y=require("../utils/utils.cjs.js"),o=require("react"),ce=require("./messages/AgentMessage.cjs.js"),ue=require("./messages/CustomComponentRender.cjs.js"),le=require("./messages/HumanMessage.cjs.js"),$=require("./Thinking.cjs.js");function de({setIsFirstMessage:j,enableToolCallIndicator:w=!0,chatBodyProps:A}){const i=oe.useStreamContext(),{interruptComponents:U}=ae.useCustomComponents(),T=i.messages,d=i.isLoading,[z,W]=o.useState({});ie.logger.debug("ChatBody render - messages count:",T,"isLoading:",d);const l=o.useMemo(()=>T??[],[T]),L=o.useMemo(()=>{const e=new Set,n=i.values?.ui;if(!Array.isArray(n))return e;for(const r of n){const s=r,c=s.metadata&&typeof s.metadata=="object"?s.metadata:void 0,h=[typeof s.id=="string"?s.id:void 0,typeof c?.id=="string"?c.id:void 0,typeof c?.message_id=="string"?c.message_id:void 0];for(const f of h)f&&e.add(f)}return e},[i.values?.ui]),v=o.useRef(null),H=o.useRef(0),b=o.useRef(!0),R=o.useRef(new Map),q=o.useCallback(e=>Array.isArray(e)?e.map((n,r)=>{if(!n||typeof n!="object")return null;const s=n,c=s.status;return typeof s.content!="string"||c!=="pending"&&c!=="in_progress"&&c!=="completed"?null:{id:s.id&&typeof s.id=="string"?s.id:`todo-${r}`,content:s.content,status:c,updatedAt:s.updatedAt instanceof Date||typeof s.updatedAt=="string"||typeof s.updatedAt=="number"?s.updatedAt:void 0,run_id:typeof s.run_id=="string"?s.run_id:void 0,runId:typeof s.runId=="string"?s.runId:void 0,messageId:typeof s.messageId=="string"?s.messageId:void 0,checkpoint:typeof s.checkpoint=="string"?s.checkpoint:void 0}}).filter(n=>n!==null):[],[]),I=o.useCallback((e,n)=>{W(r=>({...r,[e]:n}))},[]),F=o.useCallback(async e=>{if(!e){console.error("No parent checkpoint available for regeneration");return}await i.submit(void 0,{checkpoint:e,streamMode:["values"],streamSubgraphs:!0,streamResumable:!0})},[i]),B=o.useCallback(e=>{i.setBranch(e)},[i]),x=o.useCallback(e=>{i.submit(null,{command:{resume:e},streamMode:["values","messages-tuple","updates","custom"],streamSubgraphs:!0})},[i]),K=o.useMemo(()=>{const e=i.interrupt;if(!e)return null;const r=e.value?.actionRequests??[];return{approve:()=>{x({decisions:r.map(()=>({type:"approve"}))})},reject:s=>{x({decisions:r.map(()=>({type:"reject",message:s||void 0}))})},edit:s=>{const c=r[0];x({decisions:[{type:"edit",editedAction:{name:c?.name??"",args:{...c?.args,...s}}}]})}}},[i.interrupt,x]),p=o.useCallback(()=>{if(v.current){let e=v.current.parentElement;for(;e;){const n=window.getComputedStyle(e);if(n.overflowY==="auto"||n.overflowY==="scroll")return e;e=e.parentElement}}return null},[]);o.useEffect(()=>{l.length>0&&j&&j(!1)},[l.length,j]);const O=o.useCallback((e,n,r)=>{const s=d&&n===r.length-1&&e.type==="ai";if(!e.content.length&&!y.isAiWithToolCalls(e)&&!s||e.additional_kwargs?.hidden)return null;const c=e.id??`msg-${n}`,h=t=>typeof t.id=="string"&&L.has(t.id);if(e.type==="human")return u.jsx(le,{message:e,fontSize:A?.fontSize},c);if(y.isToolMessage(e))return null;if(e.type==="ai"&&n>0){let t=n-1;for(;t>=0&&y.isToolMessage(r[t]);)t--;if(t>=0&&r[t].type==="ai"&&!h(e))return null}const f=[e];let M=n+1;for(;M<r.length;){const t=r[M];if(y.isToolMessage(t))f.push(t),M++;else if(t.type==="ai"){if(h(t))break;f.push(t),M++}else break}const g=f.filter(t=>t.type==="ai"),_=g.some(t=>Array.isArray(t.content)),m=new Set,k=_?g.flatMap(t=>Array.isArray(t.content)?t.content.filter(a=>{if(a.type==="text"&&typeof a.text=="string"){if(m.has(a.text))return!1;m.add(a.text)}return!0}):typeof t.content=="string"&&t.content.length>0?m.has(t.content)?[]:(m.add(t.content),[{type:"text",text:t.content}]):[]):(()=>{const t=[];for(const a of g){const C=typeof a.content=="string"?a.content:"";C&&!m.has(C)&&(m.add(C),t.push(C))}return t.join(`
1
+ "use strict";const c=require("react/jsx-runtime"),ue=require("../providers/Stream.cjs.js"),ce=require("../providers/CustomComponentProvider.cjs.js"),le=require("../providers/Thread.cjs.js"),de=require("../utils/logger.cjs.js"),v=require("../utils/utils.cjs.js"),o=require("react"),fe=require("./messages/AgentMessage.cjs.js"),pe=require("./AskUserInterrupt.cjs.js"),ge=require("./messages/CustomComponentRender.cjs.js"),he=require("./messages/HumanMessage.cjs.js"),Y=require("./Thinking.cjs.js");function me({setIsFirstMessage:A,enableToolCallIndicator:R=!0,chatBodyProps:T}){const i=ue.useStreamContext(),{interruptComponents:F}=ce.useCustomComponents(),{threadId:w}=le.useThread(),q=i.messages,l=i.isLoading,[K,V]=o.useState({});de.logger.debug("ChatBody render - messages count:",q,"isLoading:",l);const d=o.useMemo(()=>q??[],[q]),B=o.useMemo(()=>{const e=new Set,s=i.values?.ui;if(!Array.isArray(s))return e;for(const r of s){const n=r,u=n.metadata&&typeof n.metadata=="object"?n.metadata:void 0,m=[typeof n.id=="string"?n.id:void 0,typeof u?.id=="string"?u.id:void 0,typeof u?.message_id=="string"?u.message_id:void 0];for(const p of m)p&&e.add(p)}return e},[i.values?.ui]),M=o.useRef(null),O=o.useRef(0),k=o.useRef(!0),_=o.useRef(new Map),E=o.useCallback(e=>Array.isArray(e)?e.map((s,r)=>{if(!s||typeof s!="object")return null;const n=s,u=n.status;return typeof n.content!="string"||u!=="pending"&&u!=="in_progress"&&u!=="completed"?null:{id:n.id&&typeof n.id=="string"?n.id:`todo-${r}`,content:n.content,status:u,updatedAt:n.updatedAt instanceof Date||typeof n.updatedAt=="string"||typeof n.updatedAt=="number"?n.updatedAt:void 0,run_id:typeof n.run_id=="string"?n.run_id:void 0,runId:typeof n.runId=="string"?n.runId:void 0,messageId:typeof n.messageId=="string"?n.messageId:void 0,checkpoint:typeof n.checkpoint=="string"?n.checkpoint:void 0}}).filter(s=>s!==null):[],[]),U=o.useCallback((e,s)=>{V(r=>({...r,[e]:s}))},[]),D=o.useCallback(async e=>{if(!e){console.error("No parent checkpoint available for regeneration");return}await i.submit(void 0,{checkpoint:e,streamMode:["values"],streamSubgraphs:!0,streamResumable:!0})},[i]),G=o.useCallback(e=>{i.setBranch(e)},[i]),h=o.useRef(""),I=o.useRef(null);o.useEffect(()=>{I.current!==null&&I.current!==w&&(h.current=""),I.current=w},[w]),o.useEffect(()=>{l&&!i.interrupt&&h.current!==""&&(h.current="")},[l,i.interrupt]);const C=o.useCallback(e=>{const s=JSON.stringify(i.interrupt?.value??null);h.current=s,i.submit(null,{command:{resume:e},streamMode:["values","messages-tuple","updates","custom"],streamSubgraphs:!0})},[i]),N=o.useMemo(()=>{const e=i.interrupt;if(!e)return null;const r=e.value?.actionRequests??[];return{approve:()=>{C({decisions:r.map(()=>({type:"approve"}))})},reject:n=>{C({decisions:r.map(()=>({type:"reject",message:n||void 0}))})},edit:n=>{const u=r[0];C({decisions:[{type:"edit",editedAction:{name:u?.name??"",args:{...u?.args,...n}}}]})}}},[i.interrupt,C]),g=o.useCallback(()=>{if(M.current){let e=M.current.parentElement;for(;e;){const s=window.getComputedStyle(e);if(s.overflowY==="auto"||s.overflowY==="scroll")return e;e=e.parentElement}}return null},[]);o.useEffect(()=>{d.length>0&&A&&A(!1)},[d.length,A]);const $=o.useCallback((e,s,r)=>{const n=l&&s===r.length-1&&e.type==="ai";if(!e.content.length&&!v.isAiWithToolCalls(e)&&!n||e.additional_kwargs?.hidden)return null;const u=e.id??`msg-${s}`,m=t=>typeof t.id=="string"&&B.has(t.id);if(e.type==="human")return c.jsx(he,{message:e,fontSize:T?.fontSize},u);if(v.isToolMessage(e))return null;if(e.type==="ai"&&s>0){let t=s-1;for(;t>=0&&v.isToolMessage(r[t]);)t--;if(t>=0&&r[t].type==="ai"&&!m(e))return null}const p=[e];let x=s+1;for(;x<r.length;){const t=r[x];if(v.isToolMessage(t))p.push(t),x++;else if(t.type==="ai"){if(m(t))break;p.push(t),x++}else break}const f=p.filter(t=>t.type==="ai"),z=f.some(t=>Array.isArray(t.content)),y=new Set,S=z?f.flatMap(t=>Array.isArray(t.content)?t.content.filter(a=>{if(a.type==="text"&&typeof a.text=="string"){if(y.has(a.text))return!1;y.add(a.text)}return!0}):typeof t.content=="string"&&t.content.length>0?y.has(t.content)?[]:(y.add(t.content),[{type:"text",text:t.content}]):[]):(()=>{const t=[];for(const a of f){const b=typeof a.content=="string"?a.content:"";b&&!y.has(b)&&(y.add(b),t.push(b))}return t.join(`
2
2
 
3
- `)})(),V=_?k.map(t=>t.type==="text"?t.text:"").filter(Boolean).join(" "):k,J={...e,content:k},D=e?i.getMessagesMetadata(e):void 0,Q=_?k.some(t=>t.type==="thinking"&&t.thinking?.length>0||t.type==="reasoning"&&t.reasoning?.length>0):!1,X=g.some(t=>{const a=t.additional_kwargs;return typeof a?.reasoning_content=="string"&&a.reasoning_content.length>0}),Z=g.some(t=>{const a=t.additional_kwargs;return Array.isArray(a?.tool_status)&&a.tool_status.length>0}),P=f.some(t=>y.isToolMessage(t)),ee=w&&(g.some(t=>y.isAiWithToolCalls(t))||Z||P),G=!!V||Q||X||ee,te=M>=r.length,S=d&&te,E=g.map(t=>t.id).filter(t=>typeof t=="string"&&t.length>0).join("|")||c,ne=(()=>{const t=R.current.get(E);if(!S&&t&&t.length>0)return t;if(S){const a=q(i.values?.todos);if(a.length>0)return R.current.set(E,a),a}for(let a=g.length-1;a>=0;a--){const re=i.getMessagesMetadata(g[a])?.firstSeenState?.values,N=q(re?.todos);if(N.length>0)return(!t||t.length===0)&&R.current.set(E,N),t??N}return t&&t.length>0?t:[]})(),se=S&&!G;return u.jsxs(o.Fragment,{children:[se&&u.jsx($,{}),G&&u.jsx(ce,{agentName:A?.agentName,fontSize:A?.fontSize,message:J,groupedMessages:f,showToolActivity:w,isStreaming:S,onRegenerate:F,feedback:e.id?z[e.id]:void 0,onFeedback:I,branch:D?.branch,branchOptions:D?.branchOptions,onBranchSelect:B,todos:ne}),g.map(t=>u.jsx(ue,{message:t,thread:i},t.id))]},c)},[d,i,q,w,F,z,I,B,L]),Y=o.useMemo(()=>l.map((e,n)=>{const r=O(e,n,l);return r&&!r.key?o.cloneElement(r,{key:e.id??`msg-${n}`}):r}),[l,O]);return o.useEffect(()=>{const e=p();if(!e)return;const n=()=>{const{scrollTop:r,scrollHeight:s,clientHeight:c}=e,h=s-r-c;b.current=h<100};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)},[p]),o.useEffect(()=>{const e=p();if(!e)return;const n=l.length;n>H.current&&(e.scrollTop=e.scrollHeight,b.current=!0),H.current=n},[l,p]),o.useEffect(()=>{const e=p();if(!e||!d)return;const n=new MutationObserver(()=>{b.current&&e&&(e.scrollTop=e.scrollHeight)});return v.current&&n.observe(v.current,{childList:!0,subtree:!0,characterData:!0}),()=>n.disconnect()},[d,p]),o.useLayoutEffect(()=>{const e=p();d&&b.current&&e&&(e.scrollTop=e.scrollHeight)}),u.jsx("div",{ref:v,className:"flex flex-col gap-4 rounded-4xl p-2",children:l.length===0?u.jsx("div",{className:"flex items-center justify-center h-full text-zinc-500",children:d?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"animate-spin h-5 w-5 border-2 border-zinc-500 border-t-transparent rounded-full"}),u.jsx("span",{children:"Loading conversation..."})]}):"Start a conversation..."}):u.jsxs(u.Fragment,{children:[Y,d&&l.length>0&&l[l.length-1].type==="human"&&u.jsx($,{}),!d&&i.interrupt&&K&&(()=>{const e=i.interrupt.value,n=e?.actionRequests?.[0]?.name,r=n?U[n]:void 0;return r?u.jsx(r,{interrupt:e,actions:K}):null})()]})})}module.exports=de;
3
+ `)})(),X=z?S.map(t=>t.type==="text"?t.text:"").filter(Boolean).join(" "):S,Z={...e,content:S},J=e?i.getMessagesMetadata(e):void 0,P=z?S.some(t=>t.type==="thinking"&&t.thinking?.length>0||t.type==="reasoning"&&t.reasoning?.length>0):!1,ee=f.some(t=>{const a=t.additional_kwargs;return typeof a?.reasoning_content=="string"&&a.reasoning_content.length>0}),te=f.some(t=>{const a=t.additional_kwargs;return Array.isArray(a?.tool_status)&&a.tool_status.length>0}),ne=p.some(t=>v.isToolMessage(t)),se=R&&(f.some(t=>v.isAiWithToolCalls(t))||te||ne),W=!!X||P||ee||se,re=x>=r.length,j=l&&re,L=f.map(t=>t.id).filter(t=>typeof t=="string"&&t.length>0).join("|")||u,oe=(()=>{const t=_.current.get(L);if(!j&&t&&t.length>0)return t;if(j){const a=E(i.values?.todos);if(a.length>0)return _.current.set(L,a),a}for(let a=f.length-1;a>=0;a--){const ae=i.getMessagesMetadata(f[a])?.firstSeenState?.values,H=E(ae?.todos);if(H.length>0)return(!t||t.length===0)&&_.current.set(L,H),t??H}return t&&t.length>0?t:[]})(),ie=j&&!W;return c.jsxs(o.Fragment,{children:[ie&&c.jsx(Y,{}),W&&c.jsx(fe,{agentName:T?.agentName,fontSize:T?.fontSize,message:Z,groupedMessages:p,showToolActivity:R,isStreaming:j,onRegenerate:D,feedback:e.id?K[e.id]:void 0,onFeedback:U,branch:J?.branch,branchOptions:J?.branchOptions,onBranchSelect:G,todos:oe}),f.map(t=>c.jsx(ge,{message:t,thread:i},t.id))]},u)},[l,i,E,R,D,K,U,G,B]),Q=o.useMemo(()=>d.map((e,s)=>{const r=$(e,s,d);return r&&!r.key?o.cloneElement(r,{key:e.id??`msg-${s}`}):r}),[d,$]);return o.useEffect(()=>{const e=g();if(!e)return;const s=()=>{const{scrollTop:r,scrollHeight:n,clientHeight:u}=e,m=n-r-u;k.current=m<100};return e.addEventListener("scroll",s),()=>e.removeEventListener("scroll",s)},[g]),o.useEffect(()=>{const e=g();if(!e)return;const s=d.length;s>O.current&&(e.scrollTop=e.scrollHeight,k.current=!0),O.current=s},[d,g]),o.useEffect(()=>{const e=g();if(!e||!l)return;const s=new MutationObserver(()=>{k.current&&e&&(e.scrollTop=e.scrollHeight)});return M.current&&s.observe(M.current,{childList:!0,subtree:!0,characterData:!0}),()=>s.disconnect()},[l,g]),o.useLayoutEffect(()=>{const e=g();l&&k.current&&e&&(e.scrollTop=e.scrollHeight)}),c.jsx("div",{ref:M,className:"flex flex-col gap-4 rounded-4xl p-2",children:d.length===0?c.jsx("div",{className:"flex items-center justify-center h-full text-zinc-500",children:l?c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("div",{className:"animate-spin h-5 w-5 border-2 border-zinc-500 border-t-transparent rounded-full"}),c.jsx("span",{children:"Loading conversation..."})]}):"Start a conversation..."}):c.jsxs(c.Fragment,{children:[Q,l&&d.length>0&&d[d.length-1].type==="human"&&c.jsx(Y,{}),i.interrupt&&(()=>{const e=i.interrupt.value;if(JSON.stringify(e??null)===h.current&&h.current!=="")return null;if(e?.type==="ask_user"&&Array.isArray(e.questions)){const r=F.ask_user;return r?c.jsx(r,{interrupt:e,actions:N??{approve:()=>{},reject:()=>{},edit:()=>{}}}):c.jsx(pe,{questions:e.questions,onSubmit:n=>C(n)})}if(N){const r=e?.actionRequests?.[0]?.name,n=r?F[r]:void 0;return n?c.jsx(n,{interrupt:e,actions:N}):null}return null})()]})})}module.exports=me;
4
4
  //# sourceMappingURL=ChatBody.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBody.cjs.js","sources":["../../src/components/ChatBody.tsx"],"sourcesContent":["import { useStreamContext } from \"@/providers/Stream\";\nimport { useCustomComponents } from \"@/providers/CustomComponentProvider\";\nimport type { chatBodyProps } from \"@/types/ChatProps\";\nimport { logger } from \"@/utils/logger\";\nimport { isAiWithToolCalls, isToolMessage } from \"@/utils/utils\";\nimport type { Message } from \"@langchain/langgraph-sdk\";\nimport type { TodoItem } from \"@/providers/Stream\";\nimport React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\";\nimport AgentMessage from \"./messages/AgentMessage\";\nimport CustomComponentRender from \"./messages/CustomComponentRender\";\nimport HumanMessage from \"./messages/HumanMessage\";\nimport type { MessageFeedback } from \"./messages/MessageActions\";\nimport Thinking from \"./Thinking\";\n\nexport default function ChatBody({ setIsFirstMessage, enableToolCallIndicator = true, chatBodyProps }: { setIsFirstMessage?: React.Dispatch<React.SetStateAction<boolean>>, enableToolCallIndicator?: boolean, chatBodyProps?: chatBodyProps }) {\n const stream = useStreamContext();\n const { interruptComponents } = useCustomComponents();\n const messages = stream.messages;\n const isLoading = stream.isLoading;\n\n // State to track message feedback (likes/dislikes)\n const [messageFeedback, setMessageFeedback] = useState<Record<string, MessageFeedback>>({});\n\n logger.debug(\"ChatBody render - messages count:\", messages, \"isLoading:\", isLoading);\n\n // Memoize messages with stable reference\n const memoMessages = useMemo(() => messages ?? [], [messages]);\n\n const uiMessageIds = useMemo(() => {\n const ids = new Set<string>();\n const uiMessages = stream.values?.ui;\n if (!Array.isArray(uiMessages)) return ids;\n\n for (const ui of uiMessages) {\n const uiObj = ui as unknown as Record<string, unknown>;\n const metadata =\n uiObj.metadata && typeof uiObj.metadata === \"object\"\n ? (uiObj.metadata as Record<string, unknown>)\n : undefined;\n\n const candidates = [\n typeof uiObj.id === \"string\" ? uiObj.id : undefined,\n typeof metadata?.id === \"string\" ? metadata.id : undefined,\n typeof metadata?.message_id === \"string\" ? metadata.message_id : undefined,\n ];\n\n for (const candidate of candidates) {\n if (candidate) ids.add(candidate);\n }\n }\n\n return ids;\n }, [stream.values?.ui]);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const prevMessageCountRef = useRef(0);\n const shouldAutoScrollRef = useRef(true);\n const frozenTodosByGroupRef = useRef<Map<string, TodoItem[]>>(new Map());\n\n const normalizeTodos = useCallback((todos: unknown): TodoItem[] => {\n if (!Array.isArray(todos)) return [];\n\n return todos\n .map((todo, index) => {\n if (!todo || typeof todo !== \"object\") return null;\n const t = todo as Record<string, unknown>;\n const status = t.status;\n if (\n typeof t.content !== \"string\" ||\n (status !== \"pending\" && status !== \"in_progress\" && status !== \"completed\")\n ) {\n return null;\n }\n\n return {\n id: t.id && typeof t.id === \"string\" ? t.id : `todo-${index}`,\n content: t.content,\n status,\n updatedAt: t.updatedAt instanceof Date || typeof t.updatedAt === \"string\" || typeof t.updatedAt === \"number\"\n ? (t.updatedAt as string | number | Date)\n : undefined,\n run_id: typeof t.run_id === \"string\" ? t.run_id : undefined,\n runId: typeof t.runId === \"string\" ? t.runId : undefined,\n messageId: typeof t.messageId === \"string\" ? t.messageId : undefined,\n checkpoint: typeof t.checkpoint === \"string\" ? t.checkpoint : undefined,\n } as TodoItem;\n })\n .filter((todo): todo is TodoItem => todo !== null);\n }, []);\n\n // Handler for message feedback\n const handleFeedback = useCallback((messageId: string, feedback: MessageFeedback) => {\n setMessageFeedback(prev => ({\n ...prev,\n [messageId]: feedback,\n }));\n }, []);\n\n // Handler for message regeneration\n const handleRegenerate = useCallback(async (\n parentCheckpoint: any | null | undefined,\n ) => {\n if (!parentCheckpoint) {\n console.error(\"No parent checkpoint available for regeneration\");\n return;\n }\n\n await stream.submit(undefined, {\n checkpoint: parentCheckpoint,\n streamMode: [\"values\"],\n streamSubgraphs: true,\n streamResumable: true,\n });\n }, [stream]);\n\n // Handler for selecting a different branch\n const handleBranchSelect = useCallback((branch: string) => {\n stream.setBranch(branch);\n }, [stream]);\n\n // Handler for HITL interrupt responses\n const handleInterruptRespond = useCallback((response: any) => {\n stream.submit(null, {\n command: { resume: response },\n streamMode: [\"values\", \"messages-tuple\", \"updates\", \"custom\"],\n streamSubgraphs: true,\n });\n }, [stream]);\n\n // Build interrupt actions for custom renderers\n const interruptActions = useMemo(() => {\n const interrupt = stream.interrupt;\n if (!interrupt) return null;\n const payload = interrupt.value as any;\n const actionRequests = payload?.actionRequests ?? [];\n return {\n approve: () => {\n handleInterruptRespond({\n decisions: actionRequests.map(() => ({ type: \"approve\" as const })),\n });\n },\n reject: (reason?: string) => {\n handleInterruptRespond({\n decisions: actionRequests.map(() => ({\n type: \"reject\" as const,\n message: reason || undefined,\n })),\n });\n },\n edit: (editedArgs: Record<string, unknown>) => {\n const action = actionRequests[0];\n handleInterruptRespond({\n decisions: [\n {\n type: \"edit\" as const,\n editedAction: {\n name: action?.name ?? \"\",\n args: { ...action?.args, ...editedArgs },\n },\n },\n ],\n });\n },\n };\n }, [stream.interrupt, handleInterruptRespond]);\n\n // Get the parent scroll container\n const getScrollContainer = useCallback(() => {\n if (containerRef.current) {\n // Find the parent with overflow-y-auto class\n let parent = containerRef.current.parentElement;\n while (parent) {\n const style = window.getComputedStyle(parent);\n if (style.overflowY === 'auto' || style.overflowY === 'scroll') {\n return parent;\n }\n parent = parent.parentElement;\n }\n }\n return null;\n }, []);\n\n useEffect(() => {\n if (memoMessages.length > 0 && setIsFirstMessage) {\n setIsFirstMessage(false);\n }\n }, [memoMessages.length, setIsFirstMessage]);\n\n // Memoize message rendering logic to prevent unnecessary re-renders\n const renderMessage = useCallback((msg: typeof messages[0], index: number, messagesArray: typeof messages) => {\n const isCurrentlyStreamingMessage = isLoading && index === messagesArray.length - 1 && msg.type === \"ai\";\n if (!msg.content.length && !isAiWithToolCalls(msg) && !isCurrentlyStreamingMessage) return null;\n\n if (msg.additional_kwargs?.hidden) {\n return null;\n }\n\n // Use message id or fallback to index for key\n const msgKey = msg.id ?? `msg-${index}`;\n const hasCustomComponentForMessage = (message: Message) =>\n typeof message.id === \"string\" && uiMessageIds.has(message.id);\n\n if (msg.type === \"human\") {\n return <HumanMessage key={msgKey} message={msg} fontSize={chatBodyProps?.fontSize} />;\n }\n\n // Skip standalone tool messages\n if (isToolMessage(msg)) {\n return null;\n }\n\n // Skip if this AI message was already combined with a previous one\n if (msg.type === \"ai\" && index > 0) {\n // Check if previous non-tool message is also an AI message\n let prevIndex = index - 1;\n while (prevIndex >= 0 && isToolMessage(messagesArray[prevIndex])) {\n prevIndex--;\n }\n\n if (prevIndex >= 0 && messagesArray[prevIndex].type === \"ai\") {\n // Only render separately if THIS message owns custom UI (needs its own group).\n // Otherwise it was already consumed by the previous group's forward scan.\n const currentHasCustomUi = hasCustomComponentForMessage(msg);\n if (!currentHasCustomUi) {\n return null;\n }\n }\n }\n\n const groupedTimelineMessages: Message[] = [msg];\n let nextIndex = index + 1;\n\n while (nextIndex < messagesArray.length) {\n const nextMsg = messagesArray[nextIndex];\n\n if (isToolMessage(nextMsg)) {\n groupedTimelineMessages.push(nextMsg);\n nextIndex++;\n } else if (nextMsg.type === \"ai\") {\n if (hasCustomComponentForMessage(nextMsg)) {\n // Sub-agent/custom UI messages should be rendered in their own section\n // to avoid parent-bubble flicker and reparenting during streaming.\n break;\n }\n groupedTimelineMessages.push(nextMsg);\n nextIndex++;\n } else {\n // Stop at human messages or other types\n break;\n }\n }\n\n const groupedAiMessages = groupedTimelineMessages.filter((m) => m.type === \"ai\");\n\n // Merge content from all AI messages, preserving reasoning blocks.\n // Deduplicate identical text content (subgraph messages can duplicate parent messages).\n const hasArrayContent = groupedAiMessages.some((m) => Array.isArray(m.content));\n const seenTexts = new Set<string>();\n const mergedContent: Message[\"content\"] = hasArrayContent\n ? groupedAiMessages.flatMap((m) => {\n if (Array.isArray(m.content)) {\n return (m.content as any[]).filter((block: any) => {\n if (block.type === \"text\" && typeof block.text === \"string\") {\n if (seenTexts.has(block.text)) return false;\n seenTexts.add(block.text);\n }\n return true;\n });\n }\n if (typeof m.content === \"string\" && m.content.length > 0) {\n if (seenTexts.has(m.content)) return [];\n seenTexts.add(m.content);\n return [{ type: \"text\", text: m.content }];\n }\n return [];\n })\n : (() => {\n const unique: string[] = [];\n for (const m of groupedAiMessages) {\n const text = typeof m.content === \"string\" ? m.content : \"\";\n if (text && !seenTexts.has(text)) {\n seenTexts.add(text);\n unique.push(text);\n }\n }\n return unique.join(\"\\n\\n\");\n })();\n\n // Extract plain-text portion for legacy checks\n const combinedContent = hasArrayContent\n ? (mergedContent as any[])\n .map((c: any) => (c.type === \"text\" ? (c.text as string) : \"\"))\n .filter(Boolean)\n .join(\" \")\n : (mergedContent as string);\n\n // Create a combined message object preserving full content (including thinking blocks)\n const combinedMessage = {\n ...msg,\n content: mergedContent,\n };\n\n // Get branch metadata from thread\n const meta = msg ? stream.getMessagesMetadata(msg) : undefined;\n\n // Determine if there is any displayable content (text OR thinking/reasoning blocks)\n const hasThinkingContent = hasArrayContent\n ? (mergedContent as any[]).some(\n (b: any) =>\n (b.type === \"thinking\" && (b.thinking as string)?.length > 0) ||\n (b.type === \"reasoning\" && (b.reasoning as string)?.length > 0),\n )\n : false;\n const hasKwargsReasoning =\n groupedAiMessages.some((m) => {\n const ak = (m as Record<string, unknown>).additional_kwargs as Record<string, unknown> | undefined;\n return typeof ak?.reasoning_content === \"string\" && (ak.reasoning_content as string).length > 0;\n });\n\n const hasKwargsToolStatus = groupedAiMessages.some((m) => {\n const ak = (m as Record<string, unknown>).additional_kwargs as Record<string, unknown> | undefined;\n return Array.isArray(ak?.tool_status) && (ak.tool_status as unknown[]).length > 0;\n });\n const hasToolMessages = groupedTimelineMessages.some((m) => isToolMessage(m));\n const hasToolCalls = enableToolCallIndicator && (\n groupedAiMessages.some((m) => isAiWithToolCalls(m)) ||\n hasKwargsToolStatus ||\n hasToolMessages\n );\n const hasAnyDisplayableContent =\n !!combinedContent ||\n hasThinkingContent ||\n hasKwargsReasoning ||\n hasToolCalls;\n\n const isLastMessageGroup = nextIndex >= messagesArray.length;\n const isStreamingThisMessage = isLoading && isLastMessageGroup;\n\n const groupKey = groupedAiMessages\n .map((m) => m.id)\n .filter((id): id is string => typeof id === \"string\" && id.length > 0)\n .join(\"|\") || msgKey;\n\n const todosForGroup = (() => {\n const frozen = frozenTodosByGroupRef.current.get(groupKey);\n if (!isStreamingThisMessage && frozen && frozen.length > 0) {\n return frozen;\n }\n\n if (isStreamingThisMessage) {\n const live = normalizeTodos(stream.values?.todos);\n if (live.length > 0) {\n frozenTodosByGroupRef.current.set(groupKey, live);\n return live;\n }\n }\n\n for (let i = groupedAiMessages.length - 1; i >= 0; i--) {\n const aiMeta = stream.getMessagesMetadata(groupedAiMessages[i]);\n const aiValues = aiMeta?.firstSeenState?.values as { todos?: unknown } | undefined;\n const snapshot = normalizeTodos(aiValues?.todos);\n if (snapshot.length > 0) {\n if (!frozen || frozen.length === 0) {\n frozenTodosByGroupRef.current.set(groupKey, snapshot);\n }\n return frozen ?? snapshot;\n }\n }\n\n if (frozen && frozen.length > 0) {\n return frozen;\n }\n\n return [];\n })();\n\n // Show Thinking animation whenever streaming with no displayable content yet (plain chat or tool-call)\n const showThinkingIndicator = isStreamingThisMessage && !hasAnyDisplayableContent;\n\n return (\n <React.Fragment key={msgKey}>\n {/* 1. Thinking indicator - show when streaming with no content yet (no icon shown) */}\n {showThinkingIndicator && (\n <Thinking />\n )}\n {/* 2. Agent message — pass full mergedContent and grouped timeline for in-order rendering */}\n {hasAnyDisplayableContent && (\n <AgentMessage\n agentName={chatBodyProps?.agentName}\n fontSize={chatBodyProps?.fontSize}\n message={combinedMessage}\n groupedMessages={groupedTimelineMessages}\n showToolActivity={enableToolCallIndicator}\n isStreaming={isStreamingThisMessage}\n onRegenerate={handleRegenerate}\n feedback={msg.id ? messageFeedback[msg.id] : undefined}\n onFeedback={handleFeedback}\n branch={meta?.branch}\n branchOptions={meta?.branchOptions}\n onBranchSelect={handleBranchSelect}\n todos={todosForGroup}\n />\n )}\n {/* 3. Custom component (from all messages in the group) */}\n {groupedAiMessages.map((m) => (\n <CustomComponentRender key={m.id} message={m} thread={stream} />\n ))}\n </React.Fragment>\n );\n }, [isLoading, stream, normalizeTodos, enableToolCallIndicator, handleRegenerate, messageFeedback, handleFeedback, handleBranchSelect, uiMessageIds]);\n\n // Memoize the rendered messages array\n const renderedMessages = useMemo(() => {\n return memoMessages.map((msg, index) => {\n const element = renderMessage(msg, index, memoMessages);\n // Ensure every element has a key, using message id or fallback to index\n if (element && !element.key) {\n return React.cloneElement(element, { key: msg.id ?? `msg-${index}` });\n }\n return element;\n });\n }, [memoMessages, renderMessage]);\n\n // Track user scroll position to determine if we should auto-scroll\n useEffect(() => {\n const scrollContainer = getScrollContainer();\n if (!scrollContainer) return;\n\n const handleScroll = () => {\n const { scrollTop, scrollHeight, clientHeight } = scrollContainer;\n const distanceFromBottom = scrollHeight - scrollTop - clientHeight;\n // Consider \"at bottom\" if within 100px\n shouldAutoScrollRef.current = distanceFromBottom < 100;\n };\n\n scrollContainer.addEventListener('scroll', handleScroll);\n return () => scrollContainer.removeEventListener('scroll', handleScroll);\n }, [getScrollContainer]);\n\n // Auto-scroll when new messages are added\n useEffect(() => {\n const scrollContainer = getScrollContainer();\n if (!scrollContainer) return;\n\n const currentCount = memoMessages.length;\n const hasNewMessage = currentCount > prevMessageCountRef.current;\n\n if (hasNewMessage) {\n scrollContainer.scrollTop = scrollContainer.scrollHeight;\n shouldAutoScrollRef.current = true;\n }\n\n prevMessageCountRef.current = currentCount;\n }, [memoMessages, getScrollContainer]);\n\n // Use MutationObserver to detect DOM changes and auto-scroll during streaming\n useEffect(() => {\n const scrollContainer = getScrollContainer();\n if (!scrollContainer || !isLoading) return;\n\n const observer = new MutationObserver(() => {\n if (shouldAutoScrollRef.current && scrollContainer) {\n scrollContainer.scrollTop = scrollContainer.scrollHeight;\n }\n });\n\n // Observe the ChatBody container for changes\n if (containerRef.current) {\n observer.observe(containerRef.current, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n }\n\n return () => observer.disconnect();\n }, [isLoading, getScrollContainer]);\n\n // Use useLayoutEffect to scroll after DOM updates\n useLayoutEffect(() => {\n const scrollContainer = getScrollContainer();\n if (isLoading && shouldAutoScrollRef.current && scrollContainer) {\n scrollContainer.scrollTop = scrollContainer.scrollHeight;\n }\n });\n\n return (\n <div\n ref={containerRef}\n className=\"flex flex-col gap-4 rounded-4xl p-2\"\n >\n {memoMessages.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-zinc-500\">\n {isLoading ? (\n <div className=\"flex items-center gap-2\">\n <div className=\"animate-spin h-5 w-5 border-2 border-zinc-500 border-t-transparent rounded-full\" />\n <span>Loading conversation...</span>\n </div>\n ) : (\n \"Start a conversation...\"\n )}\n </div>\n ) : (\n <>\n {renderedMessages}\n {/* Show HITL interrupt card when agent is paused for approval */}\n {/* Show thinking indicator when loading and last message is human (no AI response yet) */}\n {isLoading && memoMessages.length > 0 &&\n memoMessages[memoMessages.length - 1].type === \"human\" && (\n <Thinking />\n )}\n {!isLoading && stream.interrupt && interruptActions && (() => {\n const payload = stream.interrupt.value as any;\n const toolName = payload?.actionRequests?.[0]?.name;\n const InterruptComponent = toolName ? interruptComponents[toolName] : undefined;\n if (!InterruptComponent) return null;\n return <InterruptComponent interrupt={payload} actions={interruptActions} />;\n })()}\n </>\n )}\n\n </div>\n );\n}\n"],"names":["ChatBody","setIsFirstMessage","enableToolCallIndicator","chatBodyProps","stream","useStreamContext","interruptComponents","useCustomComponents","messages","isLoading","messageFeedback","setMessageFeedback","useState","logger","memoMessages","useMemo","uiMessageIds","ids","uiMessages","ui","uiObj","metadata","candidates","candidate","containerRef","useRef","prevMessageCountRef","shouldAutoScrollRef","frozenTodosByGroupRef","normalizeTodos","useCallback","todos","todo","index","t","status","handleFeedback","messageId","feedback","prev","handleRegenerate","parentCheckpoint","handleBranchSelect","branch","handleInterruptRespond","response","interruptActions","interrupt","actionRequests","reason","editedArgs","action","getScrollContainer","parent","style","useEffect","renderMessage","msg","messagesArray","isCurrentlyStreamingMessage","isAiWithToolCalls","msgKey","hasCustomComponentForMessage","message","HumanMessage","isToolMessage","prevIndex","groupedTimelineMessages","nextIndex","nextMsg","groupedAiMessages","m","hasArrayContent","seenTexts","mergedContent","block","unique","text","combinedContent","c","combinedMessage","meta","hasThinkingContent","b","hasKwargsReasoning","ak","hasKwargsToolStatus","hasToolMessages","hasToolCalls","hasAnyDisplayableContent","isLastMessageGroup","isStreamingThisMessage","groupKey","id","todosForGroup","frozen","live","i","aiValues","snapshot","showThinkingIndicator","jsxs","React","Thinking","jsx","AgentMessage","CustomComponentRender","renderedMessages","element","scrollContainer","handleScroll","scrollTop","scrollHeight","clientHeight","distanceFromBottom","currentCount","observer","useLayoutEffect","Fragment","payload","toolName","InterruptComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ChatBody.cjs.js","sources":["../../src/components/ChatBody.tsx"],"sourcesContent":["import { useStreamContext } from \"@/providers/Stream\";\nimport { useCustomComponents } from \"@/providers/CustomComponentProvider\";\nimport { useThread } from \"@/providers/Thread\";\nimport type { chatBodyProps } from \"@/types/ChatProps\";\nimport { logger } from \"@/utils/logger\";\nimport { isAiWithToolCalls, isToolMessage } from \"@/utils/utils\";\nimport type { Message } from \"@langchain/langgraph-sdk\";\nimport type { TodoItem } from \"@/providers/Stream\";\nimport React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from \"react\";\nimport AgentMessage from \"./messages/AgentMessage\";\nimport AskUserInterrupt from \"./AskUserInterrupt\";\nimport CustomComponentRender from \"./messages/CustomComponentRender\";\nimport HumanMessage from \"./messages/HumanMessage\";\nimport type { MessageFeedback } from \"./messages/MessageActions\";\nimport Thinking from \"./Thinking\";\n\nexport default function ChatBody({ setIsFirstMessage, enableToolCallIndicator = true, chatBodyProps }: { setIsFirstMessage?: React.Dispatch<React.SetStateAction<boolean>>, enableToolCallIndicator?: boolean, chatBodyProps?: chatBodyProps }) {\n const stream = useStreamContext();\n const { interruptComponents } = useCustomComponents();\n const { threadId } = useThread();\n const messages = stream.messages;\n const isLoading = stream.isLoading;\n\n // State to track message feedback (likes/dislikes)\n const [messageFeedback, setMessageFeedback] = useState<Record<string, MessageFeedback>>({});\n\n logger.debug(\"ChatBody render - messages count:\", messages, \"isLoading:\", isLoading);\n\n // Memoize messages with stable reference\n const memoMessages = useMemo(() => messages ?? [], [messages]);\n\n const uiMessageIds = useMemo(() => {\n const ids = new Set<string>();\n const uiMessages = stream.values?.ui;\n if (!Array.isArray(uiMessages)) return ids;\n\n for (const ui of uiMessages) {\n const uiObj = ui as unknown as Record<string, unknown>;\n const metadata =\n uiObj.metadata && typeof uiObj.metadata === \"object\"\n ? (uiObj.metadata as Record<string, unknown>)\n : undefined;\n\n const candidates = [\n typeof uiObj.id === \"string\" ? uiObj.id : undefined,\n typeof metadata?.id === \"string\" ? metadata.id : undefined,\n typeof metadata?.message_id === \"string\" ? metadata.message_id : undefined,\n ];\n\n for (const candidate of candidates) {\n if (candidate) ids.add(candidate);\n }\n }\n\n return ids;\n }, [stream.values?.ui]);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const prevMessageCountRef = useRef(0);\n const shouldAutoScrollRef = useRef(true);\n const frozenTodosByGroupRef = useRef<Map<string, TodoItem[]>>(new Map());\n\n const normalizeTodos = useCallback((todos: unknown): TodoItem[] => {\n if (!Array.isArray(todos)) return [];\n\n return todos\n .map((todo, index) => {\n if (!todo || typeof todo !== \"object\") return null;\n const t = todo as Record<string, unknown>;\n const status = t.status;\n if (\n typeof t.content !== \"string\" ||\n (status !== \"pending\" && status !== \"in_progress\" && status !== \"completed\")\n ) {\n return null;\n }\n\n return {\n id: t.id && typeof t.id === \"string\" ? t.id : `todo-${index}`,\n content: t.content,\n status,\n updatedAt: t.updatedAt instanceof Date || typeof t.updatedAt === \"string\" || typeof t.updatedAt === \"number\"\n ? (t.updatedAt as string | number | Date)\n : undefined,\n run_id: typeof t.run_id === \"string\" ? t.run_id : undefined,\n runId: typeof t.runId === \"string\" ? t.runId : undefined,\n messageId: typeof t.messageId === \"string\" ? t.messageId : undefined,\n checkpoint: typeof t.checkpoint === \"string\" ? t.checkpoint : undefined,\n } as TodoItem;\n })\n .filter((todo): todo is TodoItem => todo !== null);\n }, []);\n\n // Handler for message feedback\n const handleFeedback = useCallback((messageId: string, feedback: MessageFeedback) => {\n setMessageFeedback(prev => ({\n ...prev,\n [messageId]: feedback,\n }));\n }, []);\n\n // Handler for message regeneration\n const handleRegenerate = useCallback(async (\n parentCheckpoint: any | null | undefined,\n ) => {\n if (!parentCheckpoint) {\n console.error(\"No parent checkpoint available for regeneration\");\n return;\n }\n\n await stream.submit(undefined, {\n checkpoint: parentCheckpoint,\n streamMode: [\"values\"],\n streamSubgraphs: true,\n streamResumable: true,\n });\n }, [stream]);\n\n // Handler for selecting a different branch\n const handleBranchSelect = useCallback((branch: string) => {\n stream.setBranch(branch);\n }, [stream]);\n\n // Guard against re-showing the interrupt card during the brief window\n // between when the user submits a resume and when history refetches the new\n // checkpoint. The SDK can temporarily restore the old interrupt value from\n // historyValues during this gap, causing a flash. We suppress the card for\n // the exact interrupt value that was just responded to.\n //\n // The key is reset when:\n // - A different thread is opened (threadId changes)\n // - The interrupt disappears with isLoading=true (new stream fully started)\n const respondedInterruptKeyRef = useRef<string>(\"\");\n const prevThreadIdRef = useRef<string | null | undefined>(null);\n\n // Reset when the thread changes so a new thread with the same questions shows correctly.\n useEffect(() => {\n if (prevThreadIdRef.current !== null && prevThreadIdRef.current !== threadId) {\n respondedInterruptKeyRef.current = \"\";\n }\n prevThreadIdRef.current = threadId;\n }, [threadId]);\n\n // Reset once a new stream is flowing (isLoading=true and interrupt is gone).\n // By this point the re-appearance window is closed and we no longer need to suppress.\n useEffect(() => {\n if (isLoading && !stream.interrupt && respondedInterruptKeyRef.current !== \"\") {\n respondedInterruptKeyRef.current = \"\";\n }\n }, [isLoading, stream.interrupt]);\n\n // Handler for HITL interrupt responses\n const handleInterruptRespond = useCallback((response: any) => {\n // Fingerprint the current interrupt so we can suppress it if it briefly\n // re-appears from historyValues while the resume stream is starting.\n const key = JSON.stringify(stream.interrupt?.value ?? null);\n respondedInterruptKeyRef.current = key;\n stream.submit(null, {\n command: { resume: response },\n streamMode: [\"values\", \"messages-tuple\", \"updates\", \"custom\"],\n streamSubgraphs: true,\n });\n }, [stream]);\n\n // Build interrupt actions for custom renderers\n const interruptActions = useMemo(() => {\n const interrupt = stream.interrupt;\n if (!interrupt) return null;\n const payload = interrupt.value as any;\n const actionRequests = payload?.actionRequests ?? [];\n return {\n approve: () => {\n handleInterruptRespond({\n decisions: actionRequests.map(() => ({ type: \"approve\" as const })),\n });\n },\n reject: (reason?: string) => {\n handleInterruptRespond({\n decisions: actionRequests.map(() => ({\n type: \"reject\" as const,\n message: reason || undefined,\n })),\n });\n },\n edit: (editedArgs: Record<string, unknown>) => {\n const action = actionRequests[0];\n handleInterruptRespond({\n decisions: [\n {\n type: \"edit\" as const,\n editedAction: {\n name: action?.name ?? \"\",\n args: { ...action?.args, ...editedArgs },\n },\n },\n ],\n });\n },\n };\n }, [stream.interrupt, handleInterruptRespond]);\n\n // Get the parent scroll container\n const getScrollContainer = useCallback(() => {\n if (containerRef.current) {\n // Find the parent with overflow-y-auto class\n let parent = containerRef.current.parentElement;\n while (parent) {\n const style = window.getComputedStyle(parent);\n if (style.overflowY === 'auto' || style.overflowY === 'scroll') {\n return parent;\n }\n parent = parent.parentElement;\n }\n }\n return null;\n }, []);\n\n useEffect(() => {\n if (memoMessages.length > 0 && setIsFirstMessage) {\n setIsFirstMessage(false);\n }\n }, [memoMessages.length, setIsFirstMessage]);\n\n // Memoize message rendering logic to prevent unnecessary re-renders\n const renderMessage = useCallback((msg: typeof messages[0], index: number, messagesArray: typeof messages) => {\n const isCurrentlyStreamingMessage = isLoading && index === messagesArray.length - 1 && msg.type === \"ai\";\n if (!msg.content.length && !isAiWithToolCalls(msg) && !isCurrentlyStreamingMessage) return null;\n\n if (msg.additional_kwargs?.hidden) {\n return null;\n }\n\n // Use message id or fallback to index for key\n const msgKey = msg.id ?? `msg-${index}`;\n const hasCustomComponentForMessage = (message: Message) =>\n typeof message.id === \"string\" && uiMessageIds.has(message.id);\n\n if (msg.type === \"human\") {\n return <HumanMessage key={msgKey} message={msg} fontSize={chatBodyProps?.fontSize} />;\n }\n\n // Skip standalone tool messages\n if (isToolMessage(msg)) {\n return null;\n }\n\n // Skip if this AI message was already combined with a previous one\n if (msg.type === \"ai\" && index > 0) {\n // Check if previous non-tool message is also an AI message\n let prevIndex = index - 1;\n while (prevIndex >= 0 && isToolMessage(messagesArray[prevIndex])) {\n prevIndex--;\n }\n\n if (prevIndex >= 0 && messagesArray[prevIndex].type === \"ai\") {\n // Only render separately if THIS message owns custom UI (needs its own group).\n // Otherwise it was already consumed by the previous group's forward scan.\n const currentHasCustomUi = hasCustomComponentForMessage(msg);\n if (!currentHasCustomUi) {\n return null;\n }\n }\n }\n\n const groupedTimelineMessages: Message[] = [msg];\n let nextIndex = index + 1;\n\n while (nextIndex < messagesArray.length) {\n const nextMsg = messagesArray[nextIndex];\n\n if (isToolMessage(nextMsg)) {\n groupedTimelineMessages.push(nextMsg);\n nextIndex++;\n } else if (nextMsg.type === \"ai\") {\n if (hasCustomComponentForMessage(nextMsg)) {\n // Sub-agent/custom UI messages should be rendered in their own section\n // to avoid parent-bubble flicker and reparenting during streaming.\n break;\n }\n groupedTimelineMessages.push(nextMsg);\n nextIndex++;\n } else {\n // Stop at human messages or other types\n break;\n }\n }\n\n const groupedAiMessages = groupedTimelineMessages.filter((m) => m.type === \"ai\");\n\n // Merge content from all AI messages, preserving reasoning blocks.\n // Deduplicate identical text content (subgraph messages can duplicate parent messages).\n const hasArrayContent = groupedAiMessages.some((m) => Array.isArray(m.content));\n const seenTexts = new Set<string>();\n const mergedContent: Message[\"content\"] = hasArrayContent\n ? groupedAiMessages.flatMap((m) => {\n if (Array.isArray(m.content)) {\n return (m.content as any[]).filter((block: any) => {\n if (block.type === \"text\" && typeof block.text === \"string\") {\n if (seenTexts.has(block.text)) return false;\n seenTexts.add(block.text);\n }\n return true;\n });\n }\n if (typeof m.content === \"string\" && m.content.length > 0) {\n if (seenTexts.has(m.content)) return [];\n seenTexts.add(m.content);\n return [{ type: \"text\", text: m.content }];\n }\n return [];\n })\n : (() => {\n const unique: string[] = [];\n for (const m of groupedAiMessages) {\n const text = typeof m.content === \"string\" ? m.content : \"\";\n if (text && !seenTexts.has(text)) {\n seenTexts.add(text);\n unique.push(text);\n }\n }\n return unique.join(\"\\n\\n\");\n })();\n\n // Extract plain-text portion for legacy checks\n const combinedContent = hasArrayContent\n ? (mergedContent as any[])\n .map((c: any) => (c.type === \"text\" ? (c.text as string) : \"\"))\n .filter(Boolean)\n .join(\" \")\n : (mergedContent as string);\n\n // Create a combined message object preserving full content (including thinking blocks)\n const combinedMessage = {\n ...msg,\n content: mergedContent,\n };\n\n // Get branch metadata from thread\n const meta = msg ? stream.getMessagesMetadata(msg) : undefined;\n\n // Determine if there is any displayable content (text OR thinking/reasoning blocks)\n const hasThinkingContent = hasArrayContent\n ? (mergedContent as any[]).some(\n (b: any) =>\n (b.type === \"thinking\" && (b.thinking as string)?.length > 0) ||\n (b.type === \"reasoning\" && (b.reasoning as string)?.length > 0),\n )\n : false;\n const hasKwargsReasoning =\n groupedAiMessages.some((m) => {\n const ak = (m as Record<string, unknown>).additional_kwargs as Record<string, unknown> | undefined;\n return typeof ak?.reasoning_content === \"string\" && (ak.reasoning_content as string).length > 0;\n });\n\n const hasKwargsToolStatus = groupedAiMessages.some((m) => {\n const ak = (m as Record<string, unknown>).additional_kwargs as Record<string, unknown> | undefined;\n return Array.isArray(ak?.tool_status) && (ak.tool_status as unknown[]).length > 0;\n });\n const hasToolMessages = groupedTimelineMessages.some((m) => isToolMessage(m));\n const hasToolCalls = enableToolCallIndicator && (\n groupedAiMessages.some((m) => isAiWithToolCalls(m)) ||\n hasKwargsToolStatus ||\n hasToolMessages\n );\n const hasAnyDisplayableContent =\n !!combinedContent ||\n hasThinkingContent ||\n hasKwargsReasoning ||\n hasToolCalls;\n\n const isLastMessageGroup = nextIndex >= messagesArray.length;\n const isStreamingThisMessage = isLoading && isLastMessageGroup;\n\n const groupKey = groupedAiMessages\n .map((m) => m.id)\n .filter((id): id is string => typeof id === \"string\" && id.length > 0)\n .join(\"|\") || msgKey;\n\n const todosForGroup = (() => {\n const frozen = frozenTodosByGroupRef.current.get(groupKey);\n if (!isStreamingThisMessage && frozen && frozen.length > 0) {\n return frozen;\n }\n\n if (isStreamingThisMessage) {\n const live = normalizeTodos(stream.values?.todos);\n if (live.length > 0) {\n frozenTodosByGroupRef.current.set(groupKey, live);\n return live;\n }\n }\n\n for (let i = groupedAiMessages.length - 1; i >= 0; i--) {\n const aiMeta = stream.getMessagesMetadata(groupedAiMessages[i]);\n const aiValues = aiMeta?.firstSeenState?.values as { todos?: unknown } | undefined;\n const snapshot = normalizeTodos(aiValues?.todos);\n if (snapshot.length > 0) {\n if (!frozen || frozen.length === 0) {\n frozenTodosByGroupRef.current.set(groupKey, snapshot);\n }\n return frozen ?? snapshot;\n }\n }\n\n if (frozen && frozen.length > 0) {\n return frozen;\n }\n\n return [];\n })();\n\n // Show Thinking animation whenever streaming with no displayable content yet (plain chat or tool-call)\n const showThinkingIndicator = isStreamingThisMessage && !hasAnyDisplayableContent;\n\n return (\n <React.Fragment key={msgKey}>\n {/* 1. Thinking indicator - show when streaming with no content yet (no icon shown) */}\n {showThinkingIndicator && (\n <Thinking />\n )}\n {/* 2. Agent message — pass full mergedContent and grouped timeline for in-order rendering */}\n {hasAnyDisplayableContent && (\n <AgentMessage\n agentName={chatBodyProps?.agentName}\n fontSize={chatBodyProps?.fontSize}\n message={combinedMessage}\n groupedMessages={groupedTimelineMessages}\n showToolActivity={enableToolCallIndicator}\n isStreaming={isStreamingThisMessage}\n onRegenerate={handleRegenerate}\n feedback={msg.id ? messageFeedback[msg.id] : undefined}\n onFeedback={handleFeedback}\n branch={meta?.branch}\n branchOptions={meta?.branchOptions}\n onBranchSelect={handleBranchSelect}\n todos={todosForGroup}\n />\n )}\n {/* 3. Custom component (from all messages in the group) */}\n {groupedAiMessages.map((m) => (\n <CustomComponentRender key={m.id} message={m} thread={stream} />\n ))}\n </React.Fragment>\n );\n }, [isLoading, stream, normalizeTodos, enableToolCallIndicator, handleRegenerate, messageFeedback, handleFeedback, handleBranchSelect, uiMessageIds]);\n\n // Memoize the rendered messages array\n const renderedMessages = useMemo(() => {\n return memoMessages.map((msg, index) => {\n const element = renderMessage(msg, index, memoMessages);\n // Ensure every element has a key, using message id or fallback to index\n if (element && !element.key) {\n return React.cloneElement(element, { key: msg.id ?? `msg-${index}` });\n }\n return element;\n });\n }, [memoMessages, renderMessage]);\n\n // Track user scroll position to determine if we should auto-scroll\n useEffect(() => {\n const scrollContainer = getScrollContainer();\n if (!scrollContainer) return;\n\n const handleScroll = () => {\n const { scrollTop, scrollHeight, clientHeight } = scrollContainer;\n const distanceFromBottom = scrollHeight - scrollTop - clientHeight;\n // Consider \"at bottom\" if within 100px\n shouldAutoScrollRef.current = distanceFromBottom < 100;\n };\n\n scrollContainer.addEventListener('scroll', handleScroll);\n return () => scrollContainer.removeEventListener('scroll', handleScroll);\n }, [getScrollContainer]);\n\n // Auto-scroll when new messages are added\n useEffect(() => {\n const scrollContainer = getScrollContainer();\n if (!scrollContainer) return;\n\n const currentCount = memoMessages.length;\n const hasNewMessage = currentCount > prevMessageCountRef.current;\n\n if (hasNewMessage) {\n scrollContainer.scrollTop = scrollContainer.scrollHeight;\n shouldAutoScrollRef.current = true;\n }\n\n prevMessageCountRef.current = currentCount;\n }, [memoMessages, getScrollContainer]);\n\n // Use MutationObserver to detect DOM changes and auto-scroll during streaming\n useEffect(() => {\n const scrollContainer = getScrollContainer();\n if (!scrollContainer || !isLoading) return;\n\n const observer = new MutationObserver(() => {\n if (shouldAutoScrollRef.current && scrollContainer) {\n scrollContainer.scrollTop = scrollContainer.scrollHeight;\n }\n });\n\n // Observe the ChatBody container for changes\n if (containerRef.current) {\n observer.observe(containerRef.current, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n }\n\n return () => observer.disconnect();\n }, [isLoading, getScrollContainer]);\n\n // Use useLayoutEffect to scroll after DOM updates\n useLayoutEffect(() => {\n const scrollContainer = getScrollContainer();\n if (isLoading && shouldAutoScrollRef.current && scrollContainer) {\n scrollContainer.scrollTop = scrollContainer.scrollHeight;\n }\n });\n\n return (\n <div\n ref={containerRef}\n className=\"flex flex-col gap-4 rounded-4xl p-2\"\n >\n {memoMessages.length === 0 ? (\n <div className=\"flex items-center justify-center h-full text-zinc-500\">\n {isLoading ? (\n <div className=\"flex items-center gap-2\">\n <div className=\"animate-spin h-5 w-5 border-2 border-zinc-500 border-t-transparent rounded-full\" />\n <span>Loading conversation...</span>\n </div>\n ) : (\n \"Start a conversation...\"\n )}\n </div>\n ) : (\n <>\n {renderedMessages}\n {/* Show HITL interrupt card when agent is paused for approval */}\n {/* Show thinking indicator when loading and last message is human (no AI response yet) */}\n {isLoading && memoMessages.length > 0 &&\n memoMessages[memoMessages.length - 1].type === \"human\" && (\n <Thinking />\n )}\n {stream.interrupt && (() => {\n const payload = stream.interrupt.value as any;\n\n // Suppress the card if this is the same interrupt the user already\n // responded to (it can briefly re-appear from history while the\n // resume stream is still in-flight before history refetches).\n const currentKey = JSON.stringify(payload ?? null);\n if (currentKey === respondedInterruptKeyRef.current && respondedInterruptKeyRef.current !== \"\") {\n return null;\n }\n\n // Check consumer-registered override first, then fall back to built-in.\n if (payload?.type === \"ask_user\" && Array.isArray(payload.questions)) {\n const CustomAskUser = interruptComponents[\"ask_user\"];\n if (CustomAskUser) {\n return <CustomAskUser interrupt={payload} actions={interruptActions ?? { approve: () => {}, reject: () => {}, edit: () => {} }} />;\n }\n return (\n <AskUserInterrupt\n questions={payload.questions}\n onSubmit={(response) => handleInterruptRespond(response)}\n />\n );\n }\n\n if (interruptActions) {\n const toolName = payload?.actionRequests?.[0]?.name;\n const InterruptComponent = toolName ? interruptComponents[toolName] : undefined;\n if (!InterruptComponent) return null;\n return <InterruptComponent interrupt={payload} actions={interruptActions} />;\n }\n\n return null;\n })()}\n </>\n )}\n\n </div>\n );\n}\n"],"names":["ChatBody","setIsFirstMessage","enableToolCallIndicator","chatBodyProps","stream","useStreamContext","interruptComponents","useCustomComponents","threadId","useThread","messages","isLoading","messageFeedback","setMessageFeedback","useState","logger","memoMessages","useMemo","uiMessageIds","ids","uiMessages","ui","uiObj","metadata","candidates","candidate","containerRef","useRef","prevMessageCountRef","shouldAutoScrollRef","frozenTodosByGroupRef","normalizeTodos","useCallback","todos","todo","index","t","status","handleFeedback","messageId","feedback","prev","handleRegenerate","parentCheckpoint","handleBranchSelect","branch","respondedInterruptKeyRef","prevThreadIdRef","useEffect","handleInterruptRespond","response","key","interruptActions","interrupt","actionRequests","reason","editedArgs","action","getScrollContainer","parent","style","renderMessage","msg","messagesArray","isCurrentlyStreamingMessage","isAiWithToolCalls","msgKey","hasCustomComponentForMessage","message","HumanMessage","isToolMessage","prevIndex","groupedTimelineMessages","nextIndex","nextMsg","groupedAiMessages","m","hasArrayContent","seenTexts","mergedContent","block","unique","text","combinedContent","c","combinedMessage","meta","hasThinkingContent","b","hasKwargsReasoning","ak","hasKwargsToolStatus","hasToolMessages","hasToolCalls","hasAnyDisplayableContent","isLastMessageGroup","isStreamingThisMessage","groupKey","id","todosForGroup","frozen","live","i","aiValues","snapshot","showThinkingIndicator","jsxs","React","Thinking","jsx","AgentMessage","CustomComponentRender","renderedMessages","element","scrollContainer","handleScroll","scrollTop","scrollHeight","clientHeight","distanceFromBottom","currentCount","observer","useLayoutEffect","Fragment","payload","CustomAskUser","AskUserInterrupt","toolName","InterruptComponent"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBody.d.ts","sourceRoot":"","sources":["../../src/components/ChatBody.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAA6E,MAAM,OAAO,CAAC;AAOlG,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,iBAAiB,EAAE,uBAA8B,EAAE,aAAa,EAAE,EAAE;IAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,2CA6f7O"}
1
+ {"version":3,"file":"ChatBody.d.ts","sourceRoot":"","sources":["../../src/components/ChatBody.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKvD,OAAO,KAA6E,MAAM,OAAO,CAAC;AAQlG,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,iBAAiB,EAAE,uBAA8B,EAAE,aAAa,EAAE,EAAE;IAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,2CAyjB7O"}