@buoy-gg/ask-buoy 7.0.38 → 7.0.39

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 (306) hide show
  1. package/lib/commonjs/blocks/AskBlocks.js +338 -1
  2. package/lib/commonjs/blocks/AskBlocks.js.map +1 -0
  3. package/lib/commonjs/blocks/BlockRenderer.js +262 -1
  4. package/lib/commonjs/blocks/BlockRenderer.js.map +1 -0
  5. package/lib/commonjs/blocks/ChromePrototypes.js +514 -1
  6. package/lib/commonjs/blocks/ChromePrototypes.js.map +1 -0
  7. package/lib/commonjs/blocks/DataBlocks.js +781 -1
  8. package/lib/commonjs/blocks/DataBlocks.js.map +1 -0
  9. package/lib/commonjs/blocks/ExtraBlocks.js +1860 -1
  10. package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -0
  11. package/lib/commonjs/blocks/MediaBlocks.js +156 -1
  12. package/lib/commonjs/blocks/MediaBlocks.js.map +1 -0
  13. package/lib/commonjs/blocks/ReceiptBlocks.js +586 -1
  14. package/lib/commonjs/blocks/ReceiptBlocks.js.map +1 -0
  15. package/lib/commonjs/blocks/blockText.js +60 -1
  16. package/lib/commonjs/blocks/blockText.js.map +1 -0
  17. package/lib/commonjs/blocks/blockText.test.js +53 -1
  18. package/lib/commonjs/blocks/blockText.test.js.map +1 -0
  19. package/lib/commonjs/blocks/context.js +42 -1
  20. package/lib/commonjs/blocks/context.js.map +1 -0
  21. package/lib/commonjs/blocks/icons.js +96 -1
  22. package/lib/commonjs/blocks/icons.js.map +1 -0
  23. package/lib/commonjs/blocks/index.js +95 -1
  24. package/lib/commonjs/blocks/index.js.map +1 -0
  25. package/lib/commonjs/blocks/listRow.test.js +55 -1
  26. package/lib/commonjs/blocks/listRow.test.js.map +1 -0
  27. package/lib/commonjs/blocks/pageState.js +34 -1
  28. package/lib/commonjs/blocks/pageState.js.map +1 -0
  29. package/lib/commonjs/blocks/pageState.test.js +57 -1
  30. package/lib/commonjs/blocks/pageState.test.js.map +1 -0
  31. package/lib/commonjs/blocks/primitives.js +457 -1
  32. package/lib/commonjs/blocks/primitives.js.map +1 -0
  33. package/lib/commonjs/blocks/primitivesIndex.js +62 -1
  34. package/lib/commonjs/blocks/primitivesIndex.js.map +1 -0
  35. package/lib/commonjs/components/ApprovalCard.js +297 -1
  36. package/lib/commonjs/components/ApprovalCard.js.map +1 -0
  37. package/lib/commonjs/components/AskBuoyHeader.js +196 -1
  38. package/lib/commonjs/components/AskBuoyHeader.js.map +1 -0
  39. package/lib/commonjs/components/AskBuoyIcon.js +19 -1
  40. package/lib/commonjs/components/AskBuoyIcon.js.map +1 -0
  41. package/lib/commonjs/components/AskBuoyModal.js +479 -1
  42. package/lib/commonjs/components/AskBuoyModal.js.map +1 -0
  43. package/lib/commonjs/components/AskBuoySettings.js +181 -1
  44. package/lib/commonjs/components/AskBuoySettings.js.map +1 -0
  45. package/lib/commonjs/components/ChangesBar.js +211 -1
  46. package/lib/commonjs/components/ChangesBar.js.map +1 -0
  47. package/lib/commonjs/components/Composer.js +255 -1
  48. package/lib/commonjs/components/Composer.js.map +1 -0
  49. package/lib/commonjs/components/EmptyState.js +161 -1
  50. package/lib/commonjs/components/EmptyState.js.map +1 -0
  51. package/lib/commonjs/components/KeyboardPad.js +80 -1
  52. package/lib/commonjs/components/KeyboardPad.js.map +1 -0
  53. package/lib/commonjs/components/Markdown.js +310 -1
  54. package/lib/commonjs/components/Markdown.js.map +1 -0
  55. package/lib/commonjs/components/MessageList.js +970 -1
  56. package/lib/commonjs/components/MessageList.js.map +1 -0
  57. package/lib/commonjs/components/QueuedMessages.js +145 -1
  58. package/lib/commonjs/components/QueuedMessages.js.map +1 -0
  59. package/lib/commonjs/components/ThinkingStrip.js +223 -1
  60. package/lib/commonjs/components/ThinkingStrip.js.map +1 -0
  61. package/lib/commonjs/components/TypingDots.js +63 -1
  62. package/lib/commonjs/components/TypingDots.js.map +1 -0
  63. package/lib/commonjs/components/markdownParse.js +131 -1
  64. package/lib/commonjs/components/markdownParse.js.map +1 -0
  65. package/lib/commonjs/components/markdownParse.test.js +99 -1
  66. package/lib/commonjs/components/markdownParse.test.js.map +1 -0
  67. package/lib/commonjs/components/useCopyAction.js +50 -1
  68. package/lib/commonjs/components/useCopyAction.js.map +1 -0
  69. package/lib/commonjs/index.js +252 -1
  70. package/lib/commonjs/index.js.map +1 -0
  71. package/lib/commonjs/preset.js +91 -1
  72. package/lib/commonjs/preset.js.map +1 -0
  73. package/lib/commonjs/store/activityGroups.js +110 -1
  74. package/lib/commonjs/store/activityGroups.js.map +1 -0
  75. package/lib/commonjs/store/activityGroups.test.js +78 -1
  76. package/lib/commonjs/store/activityGroups.test.js.map +1 -0
  77. package/lib/commonjs/store/askBuoySettings.js +72 -1
  78. package/lib/commonjs/store/askBuoySettings.js.map +1 -0
  79. package/lib/commonjs/store/askBuoyStore.js +589 -1
  80. package/lib/commonjs/store/askBuoyStore.js.map +1 -0
  81. package/lib/commonjs/store/blockPlacement.js +64 -1
  82. package/lib/commonjs/store/blockPlacement.js.map +1 -0
  83. package/lib/commonjs/store/blockPlacement.test.js +123 -1
  84. package/lib/commonjs/store/blockPlacement.test.js.map +1 -0
  85. package/lib/commonjs/store/queue.test.js +150 -1
  86. package/lib/commonjs/store/queue.test.js.map +1 -0
  87. package/lib/commonjs/store/resetConversation.js +77 -1
  88. package/lib/commonjs/store/resetConversation.js.map +1 -0
  89. package/lib/commonjs/store/restorePending.test.js +63 -1
  90. package/lib/commonjs/store/restorePending.test.js.map +1 -0
  91. package/lib/commonjs/store/restoredIds.test.js +47 -1
  92. package/lib/commonjs/store/restoredIds.test.js.map +1 -0
  93. package/lib/commonjs/store/suggestions.js +54 -1
  94. package/lib/commonjs/store/suggestions.js.map +1 -0
  95. package/lib/commonjs/store/suggestions.test.js +58 -1
  96. package/lib/commonjs/store/suggestions.test.js.map +1 -0
  97. package/lib/commonjs/store/systemLine.test.js +77 -1
  98. package/lib/commonjs/store/systemLine.test.js.map +1 -0
  99. package/lib/commonjs/store/ticketPrompt.js +17 -1
  100. package/lib/commonjs/store/ticketPrompt.js.map +1 -0
  101. package/lib/commonjs/store/traceText.js +81 -1
  102. package/lib/commonjs/store/traceText.js.map +1 -0
  103. package/lib/commonjs/store/traceText.test.js +112 -1
  104. package/lib/commonjs/store/traceText.test.js.map +1 -0
  105. package/lib/commonjs/store/transcriptPersistence.js +297 -1
  106. package/lib/commonjs/store/transcriptPersistence.js.map +1 -0
  107. package/lib/commonjs/store/transcriptPersistence.test.js +333 -1
  108. package/lib/commonjs/store/transcriptPersistence.test.js.map +1 -0
  109. package/lib/commonjs/store/turnRendering.test.js +151 -1
  110. package/lib/commonjs/store/turnRendering.test.js.map +1 -0
  111. package/lib/commonjs/store/useAskBuoy.js +651 -1
  112. package/lib/commonjs/store/useAskBuoy.js.map +1 -0
  113. package/lib/commonjs/store/useAskBuoySettings.js +14 -1
  114. package/lib/commonjs/store/useAskBuoySettings.js.map +1 -0
  115. package/lib/commonjs/sync/askBuoySyncAdapter.js +153 -1
  116. package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -0
  117. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +141 -1
  118. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -0
  119. package/lib/commonjs/sync/wire.js +58 -1
  120. package/lib/commonjs/sync/wire.js.map +1 -0
  121. package/lib/commonjs/types.js +6 -1
  122. package/lib/commonjs/types.js.map +1 -0
  123. package/lib/module/blocks/AskBlocks.js +331 -1
  124. package/lib/module/blocks/AskBlocks.js.map +1 -0
  125. package/lib/module/blocks/BlockRenderer.js +257 -1
  126. package/lib/module/blocks/BlockRenderer.js.map +1 -0
  127. package/lib/module/blocks/ChromePrototypes.js +503 -1
  128. package/lib/module/blocks/ChromePrototypes.js.map +1 -0
  129. package/lib/module/blocks/DataBlocks.js +767 -1
  130. package/lib/module/blocks/DataBlocks.js.map +1 -0
  131. package/lib/module/blocks/ExtraBlocks.js +1833 -1
  132. package/lib/module/blocks/ExtraBlocks.js.map +1 -0
  133. package/lib/module/blocks/MediaBlocks.js +151 -1
  134. package/lib/module/blocks/MediaBlocks.js.map +1 -0
  135. package/lib/module/blocks/ReceiptBlocks.js +574 -1
  136. package/lib/module/blocks/ReceiptBlocks.js.map +1 -0
  137. package/lib/module/blocks/blockText.js +55 -1
  138. package/lib/module/blocks/blockText.js.map +1 -0
  139. package/lib/module/blocks/blockText.test.js +53 -1
  140. package/lib/module/blocks/blockText.test.js.map +1 -0
  141. package/lib/module/blocks/context.js +35 -1
  142. package/lib/module/blocks/context.js.map +1 -0
  143. package/lib/module/blocks/icons.js +91 -1
  144. package/lib/module/blocks/icons.js.map +1 -0
  145. package/lib/module/blocks/index.js +8 -1
  146. package/lib/module/blocks/index.js.map +1 -0
  147. package/lib/module/blocks/listRow.test.js +56 -1
  148. package/lib/module/blocks/listRow.test.js.map +1 -0
  149. package/lib/module/blocks/pageState.js +30 -1
  150. package/lib/module/blocks/pageState.js.map +1 -0
  151. package/lib/module/blocks/pageState.test.js +56 -1
  152. package/lib/module/blocks/pageState.test.js.map +1 -0
  153. package/lib/module/blocks/primitives.js +445 -1
  154. package/lib/module/blocks/primitives.js.map +1 -0
  155. package/lib/module/blocks/primitivesIndex.js +5 -1
  156. package/lib/module/blocks/primitivesIndex.js.map +1 -0
  157. package/lib/module/components/ApprovalCard.js +292 -1
  158. package/lib/module/components/ApprovalCard.js.map +1 -0
  159. package/lib/module/components/AskBuoyHeader.js +193 -1
  160. package/lib/module/components/AskBuoyHeader.js.map +1 -0
  161. package/lib/module/components/AskBuoyIcon.js +8 -1
  162. package/lib/module/components/AskBuoyIcon.js.map +1 -0
  163. package/lib/module/components/AskBuoyModal.js +474 -1
  164. package/lib/module/components/AskBuoyModal.js.map +1 -0
  165. package/lib/module/components/AskBuoySettings.js +176 -1
  166. package/lib/module/components/AskBuoySettings.js.map +1 -0
  167. package/lib/module/components/ChangesBar.js +206 -1
  168. package/lib/module/components/ChangesBar.js.map +1 -0
  169. package/lib/module/components/Composer.js +250 -1
  170. package/lib/module/components/Composer.js.map +1 -0
  171. package/lib/module/components/EmptyState.js +156 -1
  172. package/lib/module/components/EmptyState.js.map +1 -0
  173. package/lib/module/components/KeyboardPad.js +75 -1
  174. package/lib/module/components/KeyboardPad.js.map +1 -0
  175. package/lib/module/components/Markdown.js +305 -1
  176. package/lib/module/components/Markdown.js.map +1 -0
  177. package/lib/module/components/MessageList.js +964 -1
  178. package/lib/module/components/MessageList.js.map +1 -0
  179. package/lib/module/components/QueuedMessages.js +140 -1
  180. package/lib/module/components/QueuedMessages.js.map +1 -0
  181. package/lib/module/components/ThinkingStrip.js +218 -1
  182. package/lib/module/components/ThinkingStrip.js.map +1 -0
  183. package/lib/module/components/TypingDots.js +58 -1
  184. package/lib/module/components/TypingDots.js.map +1 -0
  185. package/lib/module/components/markdownParse.js +125 -1
  186. package/lib/module/components/markdownParse.js.map +1 -0
  187. package/lib/module/components/markdownParse.test.js +98 -1
  188. package/lib/module/components/markdownParse.test.js.map +1 -0
  189. package/lib/module/components/useCopyAction.js +46 -1
  190. package/lib/module/components/useCopyAction.js.map +1 -0
  191. package/lib/module/index.js +34 -1
  192. package/lib/module/index.js.map +1 -0
  193. package/lib/module/preset.js +74 -1
  194. package/lib/module/preset.js.map +1 -0
  195. package/lib/module/store/activityGroups.js +103 -1
  196. package/lib/module/store/activityGroups.js.map +1 -0
  197. package/lib/module/store/activityGroups.test.js +77 -1
  198. package/lib/module/store/activityGroups.test.js.map +1 -0
  199. package/lib/module/store/askBuoySettings.js +67 -1
  200. package/lib/module/store/askBuoySettings.js.map +1 -0
  201. package/lib/module/store/askBuoyStore.js +583 -1
  202. package/lib/module/store/askBuoyStore.js.map +1 -0
  203. package/lib/module/store/blockPlacement.js +59 -1
  204. package/lib/module/store/blockPlacement.js.map +1 -0
  205. package/lib/module/store/blockPlacement.test.js +122 -1
  206. package/lib/module/store/blockPlacement.test.js.map +1 -0
  207. package/lib/module/store/queue.test.js +149 -1
  208. package/lib/module/store/queue.test.js.map +1 -0
  209. package/lib/module/store/resetConversation.js +72 -1
  210. package/lib/module/store/resetConversation.js.map +1 -0
  211. package/lib/module/store/restorePending.test.js +62 -1
  212. package/lib/module/store/restorePending.test.js.map +1 -0
  213. package/lib/module/store/restoredIds.test.js +46 -1
  214. package/lib/module/store/restoredIds.test.js.map +1 -0
  215. package/lib/module/store/suggestions.js +49 -1
  216. package/lib/module/store/suggestions.js.map +1 -0
  217. package/lib/module/store/suggestions.test.js +57 -1
  218. package/lib/module/store/suggestions.test.js.map +1 -0
  219. package/lib/module/store/systemLine.test.js +76 -1
  220. package/lib/module/store/systemLine.test.js.map +1 -0
  221. package/lib/module/store/ticketPrompt.js +13 -1
  222. package/lib/module/store/ticketPrompt.js.map +1 -0
  223. package/lib/module/store/traceText.js +75 -1
  224. package/lib/module/store/traceText.js.map +1 -0
  225. package/lib/module/store/traceText.test.js +111 -1
  226. package/lib/module/store/traceText.test.js.map +1 -0
  227. package/lib/module/store/transcriptPersistence.js +287 -1
  228. package/lib/module/store/transcriptPersistence.js.map +1 -0
  229. package/lib/module/store/transcriptPersistence.test.js +332 -1
  230. package/lib/module/store/transcriptPersistence.test.js.map +1 -0
  231. package/lib/module/store/turnRendering.test.js +150 -1
  232. package/lib/module/store/turnRendering.test.js.map +1 -0
  233. package/lib/module/store/useAskBuoy.js +646 -1
  234. package/lib/module/store/useAskBuoy.js.map +1 -0
  235. package/lib/module/store/useAskBuoySettings.js +9 -1
  236. package/lib/module/store/useAskBuoySettings.js.map +1 -0
  237. package/lib/module/sync/askBuoySyncAdapter.js +148 -1
  238. package/lib/module/sync/askBuoySyncAdapter.js.map +1 -0
  239. package/lib/module/sync/askBuoySyncAdapter.test.js +140 -1
  240. package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -0
  241. package/lib/module/sync/wire.js +47 -1
  242. package/lib/module/sync/wire.js.map +1 -0
  243. package/lib/module/types.js +4 -1
  244. package/lib/module/types.js.map +1 -0
  245. package/lib/typescript/blocks/AskBlocks.d.ts.map +1 -0
  246. package/lib/typescript/blocks/BlockRenderer.d.ts.map +1 -0
  247. package/lib/typescript/blocks/ChromePrototypes.d.ts.map +1 -0
  248. package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -0
  249. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -0
  250. package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -0
  251. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -0
  252. package/lib/typescript/blocks/blockText.d.ts.map +1 -0
  253. package/lib/typescript/blocks/blockText.test.d.ts.map +1 -0
  254. package/lib/typescript/blocks/context.d.ts.map +1 -0
  255. package/lib/typescript/blocks/icons.d.ts.map +1 -0
  256. package/lib/typescript/blocks/index.d.ts.map +1 -0
  257. package/lib/typescript/blocks/listRow.test.d.ts.map +1 -0
  258. package/lib/typescript/blocks/pageState.d.ts.map +1 -0
  259. package/lib/typescript/blocks/pageState.test.d.ts.map +1 -0
  260. package/lib/typescript/blocks/primitives.d.ts.map +1 -0
  261. package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -0
  262. package/lib/typescript/components/ApprovalCard.d.ts.map +1 -0
  263. package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -0
  264. package/lib/typescript/components/AskBuoyIcon.d.ts.map +1 -0
  265. package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -0
  266. package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -0
  267. package/lib/typescript/components/ChangesBar.d.ts.map +1 -0
  268. package/lib/typescript/components/Composer.d.ts.map +1 -0
  269. package/lib/typescript/components/EmptyState.d.ts.map +1 -0
  270. package/lib/typescript/components/KeyboardPad.d.ts.map +1 -0
  271. package/lib/typescript/components/Markdown.d.ts.map +1 -0
  272. package/lib/typescript/components/MessageList.d.ts.map +1 -0
  273. package/lib/typescript/components/QueuedMessages.d.ts.map +1 -0
  274. package/lib/typescript/components/ThinkingStrip.d.ts.map +1 -0
  275. package/lib/typescript/components/TypingDots.d.ts.map +1 -0
  276. package/lib/typescript/components/markdownParse.d.ts.map +1 -0
  277. package/lib/typescript/components/markdownParse.test.d.ts.map +1 -0
  278. package/lib/typescript/components/useCopyAction.d.ts.map +1 -0
  279. package/lib/typescript/index.d.ts.map +1 -0
  280. package/lib/typescript/preset.d.ts.map +1 -0
  281. package/lib/typescript/store/activityGroups.d.ts.map +1 -0
  282. package/lib/typescript/store/activityGroups.test.d.ts.map +1 -0
  283. package/lib/typescript/store/askBuoySettings.d.ts.map +1 -0
  284. package/lib/typescript/store/askBuoyStore.d.ts.map +1 -0
  285. package/lib/typescript/store/blockPlacement.d.ts.map +1 -0
  286. package/lib/typescript/store/blockPlacement.test.d.ts.map +1 -0
  287. package/lib/typescript/store/queue.test.d.ts.map +1 -0
  288. package/lib/typescript/store/resetConversation.d.ts.map +1 -0
  289. package/lib/typescript/store/restorePending.test.d.ts.map +1 -0
  290. package/lib/typescript/store/restoredIds.test.d.ts.map +1 -0
  291. package/lib/typescript/store/suggestions.d.ts.map +1 -0
  292. package/lib/typescript/store/suggestions.test.d.ts.map +1 -0
  293. package/lib/typescript/store/systemLine.test.d.ts.map +1 -0
  294. package/lib/typescript/store/ticketPrompt.d.ts.map +1 -0
  295. package/lib/typescript/store/traceText.d.ts.map +1 -0
  296. package/lib/typescript/store/traceText.test.d.ts.map +1 -0
  297. package/lib/typescript/store/transcriptPersistence.d.ts.map +1 -0
  298. package/lib/typescript/store/transcriptPersistence.test.d.ts.map +1 -0
  299. package/lib/typescript/store/turnRendering.test.d.ts.map +1 -0
  300. package/lib/typescript/store/useAskBuoy.d.ts.map +1 -0
  301. package/lib/typescript/store/useAskBuoySettings.d.ts.map +1 -0
  302. package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -0
  303. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +1 -0
  304. package/lib/typescript/sync/wire.d.ts.map +1 -0
  305. package/lib/typescript/types.d.ts.map +1 -0
  306. package/package.json +8 -8
@@ -1 +1,305 @@
1
- "use strict";import{useState}from"react";import{Pressable,ScrollView,StyleSheet,Text,View}from"react-native";import{night}from"@buoy-gg/shared-ui";import{parseBlocks,TABLE_PREVIEW_COLS,TABLE_PREVIEW_ROWS,tableTruncation}from"./markdownParse";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function renderInline(e,t){const l=e.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1"),o=[],r=/(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;let i,s=0,n=0;for(;i=r.exec(l);){i.index>s&&o.push(l.slice(s,i.index));const e=i[0];e.startsWith("**")?o.push(_jsx(Text,{style:[t,styles.bold],children:e.slice(2,-2)},n++)):e.startsWith("`")?o.push(_jsx(Text,{style:[t,styles.code],children:e.slice(1,-1)},n++)):o.push(_jsx(Text,{style:[t,styles.italic],children:e.slice(1,-1)},n++)),s=i.index+e.length}return s<l.length&&o.push(l.slice(s)),o}const stripLinks=e=>e.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1");function MarkdownTable({header:e,rows:t}){const[l,o]=useState(!1),r=tableTruncation(e,t),i=l?e:e.slice(0,TABLE_PREVIEW_COLS),s=l?t:t.slice(0,TABLE_PREVIEW_ROWS),n=_jsxs(View,{style:l&&styles.tableWide,children:[_jsx(View,{style:styles.tableHead,children:i.map((e,t)=>_jsx(Text,{style:[styles.th,0===t&&styles.firstCol,l&&styles.colFixed],numberOfLines:1,children:e.replace(/\*\*/g,"")},t))}),s.map((e,t)=>_jsx(View,{style:[styles.tr,t>0&&styles.trDivider],children:i.map((t,o)=>_jsx(Text,{style:[styles.td,0===o&&styles.firstCol,0===o&&styles.tdFirst,l&&styles.colFixed],numberOfLines:l?3:2,children:renderInline(stripLinks(e[o]??""),styles.td)},o))},t))]});return _jsxs(View,{style:styles.table,testID:"buoy-ask-buoy-md-table",children:[l?_jsx(ScrollView,{style:styles.tableScrollV,nestedScrollEnabled:!0,children:_jsx(ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!0,children:n})}):n,r?_jsxs(Pressable,{testID:"buoy-ask-buoy-md-table-toggle",accessibilityRole:"button",accessibilityLabel:l?"Show fewer rows":"Show all rows and columns",onPress:()=>o(e=>!e),style:({pressed:e})=>[styles.tfoot,e&&styles.pressed],children:[_jsx(Text,{style:styles.tfootText,children:l?`All ${t.length} rows · ${e.length} columns`:r}),_jsx(Text,{style:styles.tfootAction,children:l?"Show fewer":"Show all"})]}):null]})}export function Markdown({text:e,style:t}){const l=parseBlocks(e);return _jsx(View,{style:styles.wrap,children:l.map((e,l)=>"table"===e.kind?_jsx(MarkdownTable,{header:e.header,rows:e.rows},l):"code"===e.kind?_jsx(ScrollView,{horizontal:!0,style:styles.codeBlock,contentContainerStyle:styles.codeBlockContent,testID:"buoy-ask-buoy-md-code",children:_jsx(Text,{style:styles.codeText,selectable:!0,children:e.text})},l):"li"===e.kind?_jsxs(View,{style:[styles.li,{paddingLeft:4+14*e.depth}],children:[_jsx(Text,{style:[t,styles.marker],children:e.marker}),_jsx(Text,{style:[t,styles.liText],selectable:!0,children:renderInline(e.text,t)})]},l):_jsx(Text,{style:[t,"h"===e.kind&&styles.bold],selectable:!0,children:renderInline(e.text,t)},l))})}const styles=StyleSheet.create({wrap:{gap:8},bold:{fontWeight:"600"},italic:{fontStyle:"italic"},code:{fontFamily:"Menlo",fontSize:13,color:night.color.accent,backgroundColor:night.color.fill},codeBlock:{borderRadius:night.radius.row,borderWidth:StyleSheet.hairlineWidth,borderColor:night.color.border,backgroundColor:night.color.surface},codeBlockContent:{paddingHorizontal:12,paddingVertical:10},codeText:{fontFamily:"Menlo",fontSize:12,lineHeight:18,color:night.color.text},li:{flexDirection:"row",gap:8},table:{borderRadius:night.radius.row,borderWidth:StyleSheet.hairlineWidth,borderColor:night.color.border,backgroundColor:night.color.surface,overflow:"hidden"},tableWide:{minWidth:"100%"},tableScrollV:{maxHeight:320},tableHead:{flexDirection:"row",paddingHorizontal:10,paddingVertical:6,gap:8,backgroundColor:night.color.fill},th:{flex:1,color:night.color.textTertiary,fontSize:night.font.micro,fontWeight:"700",letterSpacing:.6,textTransform:"uppercase"},tr:{flexDirection:"row",paddingHorizontal:10,paddingVertical:7,gap:8},trDivider:{borderTopWidth:StyleSheet.hairlineWidth,borderTopColor:night.color.separator},td:{flex:1,color:night.color.textSecondary,fontSize:night.font.caption,lineHeight:17},tdFirst:{color:night.color.text,fontWeight:"500"},firstCol:{flex:1.3},colFixed:{flex:0,width:110},tfoot:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingHorizontal:10,paddingVertical:8,borderTopWidth:StyleSheet.hairlineWidth,borderTopColor:night.color.border},tfootText:{color:night.color.textSecondary,fontSize:night.font.micro},tfootAction:{color:night.color.accent,fontSize:night.font.micro,fontWeight:"600"},pressed:{opacity:.7},marker:{color:night.color.textSecondary,minWidth:14,textAlign:"right"},liText:{flex:1}});
1
+ "use strict";
2
+
3
+ /**
4
+ * Just enough Markdown for a chat answer.
5
+ *
6
+ * Models write `**bold**`, bullet lists and `code` whether or not the prompt
7
+ * asks for prose, and the asterisks rendered raw made every answer look like
8
+ * a broken template. This handles the subset a chat actually receives —
9
+ * paragraphs, `-`/`*`/`1.` lists, `#` headings (rendered bold, not huge),
10
+ * pipe tables, fenced code, bold, italics and inline code — with no
11
+ * dependency and no HTML. Anything it does not understand falls through as
12
+ * plain text, never as a blank. The parser lives in markdownParse.ts so it
13
+ * can be tested without React Native.
14
+ */
15
+ import { useState } from "react";
16
+ import { Pressable, ScrollView, StyleSheet, Text, View } from "react-native";
17
+ import { night } from "@buoy-gg/shared-ui";
18
+ import { parseBlocks, TABLE_PREVIEW_COLS, TABLE_PREVIEW_ROWS, tableTruncation } from "./markdownParse";
19
+
20
+ /**
21
+ * `**bold**`, `*italic*` / `_italic_`, `` `code` `` → styled spans. Links and
22
+ * images collapse to their text: a phone chat has nowhere to open a URL, and
23
+ * `![Snorlax](https://raw.githubusercontent.com/…/143.png)` printed raw is
24
+ * three lines of noise for one word of meaning.
25
+ */
26
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ export function renderInline(source, base) {
28
+ const text = source.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
29
+ const out = [];
30
+ const re = /(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;
31
+ let last = 0;
32
+ let m;
33
+ let i = 0;
34
+ while (m = re.exec(text)) {
35
+ if (m.index > last) out.push(text.slice(last, m.index));
36
+ const tok = m[0];
37
+ if (tok.startsWith("**")) {
38
+ out.push(/*#__PURE__*/_jsx(Text, {
39
+ style: [base, styles.bold],
40
+ children: tok.slice(2, -2)
41
+ }, i++));
42
+ } else if (tok.startsWith("`")) {
43
+ out.push(/*#__PURE__*/_jsx(Text, {
44
+ style: [base, styles.code],
45
+ children: tok.slice(1, -1)
46
+ }, i++));
47
+ } else {
48
+ out.push(/*#__PURE__*/_jsx(Text, {
49
+ style: [base, styles.italic],
50
+ children: tok.slice(1, -1)
51
+ }, i++));
52
+ }
53
+ last = m.index + tok.length;
54
+ }
55
+ if (last < text.length) out.push(text.slice(last));
56
+ return out;
57
+ }
58
+ const stripLinks = s => s.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
59
+
60
+ /**
61
+ * A pipe table, cut to a preview that SAYS it is cut.
62
+ *
63
+ * It used to slice to four columns and twelve rows in silence. A model asked
64
+ * for "all 30 bag lines" sent 30; the tester read 12 and filed "the bag only
65
+ * has 12 items". Evidence that is cut must say so — a footer names what is
66
+ * missing and Show all expands to every row and column inside a capped,
67
+ * horizontally scrollable box, the same shape the approval card uses for its
68
+ * long description.
69
+ */
70
+ function MarkdownTable({
71
+ header,
72
+ rows
73
+ }) {
74
+ const [expanded, setExpanded] = useState(false);
75
+ const truncation = tableTruncation(header, rows);
76
+ const cols = expanded ? header : header.slice(0, TABLE_PREVIEW_COLS);
77
+ const shownRows = expanded ? rows : rows.slice(0, TABLE_PREVIEW_ROWS);
78
+ const body = /*#__PURE__*/_jsxs(View, {
79
+ style: expanded && styles.tableWide,
80
+ children: [/*#__PURE__*/_jsx(View, {
81
+ style: styles.tableHead,
82
+ children: cols.map((c, k) => /*#__PURE__*/_jsx(Text, {
83
+ style: [styles.th, k === 0 && styles.firstCol, expanded && styles.colFixed],
84
+ numberOfLines: 1,
85
+ children: c.replace(/\*\*/g, "")
86
+ }, k))
87
+ }), shownRows.map((r, ri) => /*#__PURE__*/_jsx(View, {
88
+ style: [styles.tr, ri > 0 && styles.trDivider],
89
+ children: cols.map((_, k) => /*#__PURE__*/_jsx(Text, {
90
+ style: [styles.td, k === 0 && styles.firstCol, k === 0 && styles.tdFirst, expanded && styles.colFixed],
91
+ numberOfLines: expanded ? 3 : 2,
92
+ children: renderInline(stripLinks(r[k] ?? ""), styles.td)
93
+ }, k))
94
+ }, ri))]
95
+ });
96
+ return /*#__PURE__*/_jsxs(View, {
97
+ style: styles.table,
98
+ testID: "buoy-ask-buoy-md-table",
99
+ children: [expanded ?
100
+ /*#__PURE__*/
101
+ // Capped both ways: every column gets a real width and scrolls
102
+ // sideways; the rows scroll inside the card rather than taking the
103
+ // whole transcript with them.
104
+ _jsx(ScrollView, {
105
+ style: styles.tableScrollV,
106
+ nestedScrollEnabled: true,
107
+ children: /*#__PURE__*/_jsx(ScrollView, {
108
+ horizontal: true,
109
+ showsHorizontalScrollIndicator: true,
110
+ children: body
111
+ })
112
+ }) : body, truncation ? /*#__PURE__*/_jsxs(Pressable, {
113
+ testID: "buoy-ask-buoy-md-table-toggle",
114
+ accessibilityRole: "button",
115
+ accessibilityLabel: expanded ? "Show fewer rows" : "Show all rows and columns",
116
+ onPress: () => setExpanded(v => !v),
117
+ style: ({
118
+ pressed
119
+ }) => [styles.tfoot, pressed && styles.pressed],
120
+ children: [/*#__PURE__*/_jsx(Text, {
121
+ style: styles.tfootText,
122
+ children: expanded ? `All ${rows.length} rows · ${header.length} columns` : truncation
123
+ }), /*#__PURE__*/_jsx(Text, {
124
+ style: styles.tfootAction,
125
+ children: expanded ? "Show fewer" : "Show all"
126
+ })]
127
+ }) : null]
128
+ });
129
+ }
130
+ export function Markdown({
131
+ text,
132
+ style
133
+ }) {
134
+ const blocks = parseBlocks(text);
135
+ return /*#__PURE__*/_jsx(View, {
136
+ style: styles.wrap,
137
+ children: blocks.map((b, i) => {
138
+ if (b.kind === "table") return /*#__PURE__*/_jsx(MarkdownTable, {
139
+ header: b.header,
140
+ rows: b.rows
141
+ }, i);
142
+ if (b.kind === "code") {
143
+ return (
144
+ /*#__PURE__*/
145
+ // Newlines and indentation kept; long lines scroll sideways rather
146
+ // than wrapping a JSON object into soup.
147
+ _jsx(ScrollView, {
148
+ horizontal: true,
149
+ style: styles.codeBlock,
150
+ contentContainerStyle: styles.codeBlockContent,
151
+ testID: "buoy-ask-buoy-md-code",
152
+ children: /*#__PURE__*/_jsx(Text, {
153
+ style: styles.codeText,
154
+ selectable: true,
155
+ children: b.text
156
+ })
157
+ }, i)
158
+ );
159
+ }
160
+ if (b.kind === "li") {
161
+ return /*#__PURE__*/_jsxs(View, {
162
+ style: [styles.li, {
163
+ paddingLeft: 4 + b.depth * 14
164
+ }],
165
+ children: [/*#__PURE__*/_jsx(Text, {
166
+ style: [style, styles.marker],
167
+ children: b.marker
168
+ }), /*#__PURE__*/_jsx(Text, {
169
+ style: [style, styles.liText],
170
+ selectable: true,
171
+ children: renderInline(b.text, style)
172
+ })]
173
+ }, i);
174
+ }
175
+ return /*#__PURE__*/_jsx(Text, {
176
+ style: [style, b.kind === "h" && styles.bold],
177
+ selectable: true,
178
+ children: renderInline(b.text, style)
179
+ }, i);
180
+ })
181
+ });
182
+ }
183
+ const styles = StyleSheet.create({
184
+ wrap: {
185
+ gap: 8
186
+ },
187
+ bold: {
188
+ fontWeight: "600"
189
+ },
190
+ italic: {
191
+ fontStyle: "italic"
192
+ },
193
+ code: {
194
+ fontFamily: "Menlo",
195
+ fontSize: 13,
196
+ color: night.color.accent,
197
+ backgroundColor: night.color.fill
198
+ },
199
+ codeBlock: {
200
+ borderRadius: night.radius.row,
201
+ borderWidth: StyleSheet.hairlineWidth,
202
+ borderColor: night.color.border,
203
+ backgroundColor: night.color.surface
204
+ },
205
+ codeBlockContent: {
206
+ paddingHorizontal: 12,
207
+ paddingVertical: 10
208
+ },
209
+ codeText: {
210
+ fontFamily: "Menlo",
211
+ fontSize: 12,
212
+ lineHeight: 18,
213
+ color: night.color.text
214
+ },
215
+ li: {
216
+ flexDirection: "row",
217
+ gap: 8
218
+ },
219
+ table: {
220
+ borderRadius: night.radius.row,
221
+ borderWidth: StyleSheet.hairlineWidth,
222
+ borderColor: night.color.border,
223
+ backgroundColor: night.color.surface,
224
+ overflow: "hidden"
225
+ },
226
+ tableWide: {
227
+ minWidth: "100%"
228
+ },
229
+ tableScrollV: {
230
+ maxHeight: 320
231
+ },
232
+ tableHead: {
233
+ flexDirection: "row",
234
+ paddingHorizontal: 10,
235
+ paddingVertical: 6,
236
+ gap: 8,
237
+ backgroundColor: night.color.fill
238
+ },
239
+ th: {
240
+ flex: 1,
241
+ color: night.color.textTertiary,
242
+ fontSize: night.font.micro,
243
+ fontWeight: "700",
244
+ letterSpacing: 0.6,
245
+ textTransform: "uppercase"
246
+ },
247
+ tr: {
248
+ flexDirection: "row",
249
+ paddingHorizontal: 10,
250
+ paddingVertical: 7,
251
+ gap: 8
252
+ },
253
+ trDivider: {
254
+ borderTopWidth: StyleSheet.hairlineWidth,
255
+ borderTopColor: night.color.separator
256
+ },
257
+ td: {
258
+ flex: 1,
259
+ color: night.color.textSecondary,
260
+ fontSize: night.font.caption,
261
+ lineHeight: 17
262
+ },
263
+ tdFirst: {
264
+ color: night.color.text,
265
+ fontWeight: "500"
266
+ },
267
+ firstCol: {
268
+ flex: 1.3
269
+ },
270
+ // Expanded: a real width per column so six of them don't share one row.
271
+ colFixed: {
272
+ flex: 0,
273
+ width: 110
274
+ },
275
+ tfoot: {
276
+ flexDirection: "row",
277
+ justifyContent: "space-between",
278
+ alignItems: "center",
279
+ paddingHorizontal: 10,
280
+ paddingVertical: 8,
281
+ borderTopWidth: StyleSheet.hairlineWidth,
282
+ borderTopColor: night.color.border
283
+ },
284
+ tfootText: {
285
+ color: night.color.textSecondary,
286
+ fontSize: night.font.micro
287
+ },
288
+ tfootAction: {
289
+ color: night.color.accent,
290
+ fontSize: night.font.micro,
291
+ fontWeight: "600"
292
+ },
293
+ pressed: {
294
+ opacity: 0.7
295
+ },
296
+ marker: {
297
+ color: night.color.textSecondary,
298
+ minWidth: 14,
299
+ textAlign: "right"
300
+ },
301
+ liText: {
302
+ flex: 1
303
+ }
304
+ });
305
+ //# sourceMappingURL=Markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","Pressable","ScrollView","StyleSheet","Text","View","night","parseBlocks","TABLE_PREVIEW_COLS","TABLE_PREVIEW_ROWS","tableTruncation","jsx","_jsx","jsxs","_jsxs","renderInline","source","base","text","replace","out","re","last","m","i","exec","index","push","slice","tok","startsWith","style","styles","bold","children","code","italic","length","stripLinks","s","MarkdownTable","header","rows","expanded","setExpanded","truncation","cols","shownRows","body","tableWide","tableHead","map","c","k","th","firstCol","colFixed","numberOfLines","r","ri","tr","trDivider","_","td","tdFirst","table","testID","tableScrollV","nestedScrollEnabled","horizontal","showsHorizontalScrollIndicator","accessibilityRole","accessibilityLabel","onPress","v","pressed","tfoot","tfootText","tfootAction","Markdown","blocks","wrap","b","kind","codeBlock","contentContainerStyle","codeBlockContent","codeText","selectable","li","paddingLeft","depth","marker","liText","create","gap","fontWeight","fontStyle","fontFamily","fontSize","color","accent","backgroundColor","fill","borderRadius","radius","row","borderWidth","hairlineWidth","borderColor","border","surface","paddingHorizontal","paddingVertical","lineHeight","flexDirection","overflow","minWidth","maxHeight","flex","textTertiary","font","micro","letterSpacing","textTransform","borderTopWidth","borderTopColor","separator","textSecondary","caption","width","justifyContent","alignItems","opacity","textAlign"],"sourceRoot":"../../../src","sources":["components/Markdown.tsx"],"mappings":"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","ignoreList":[]}