@buoy-gg/ask-buoy 7.0.34 → 7.0.36

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 (352) hide show
  1. package/README.md +35 -8
  2. package/lib/commonjs/blocks/AskBlocks.js +338 -1
  3. package/lib/commonjs/blocks/AskBlocks.js.map +1 -0
  4. package/lib/commonjs/blocks/BlockRenderer.js +262 -1
  5. package/lib/commonjs/blocks/BlockRenderer.js.map +1 -0
  6. package/lib/commonjs/blocks/ChromePrototypes.js +514 -1
  7. package/lib/commonjs/blocks/ChromePrototypes.js.map +1 -0
  8. package/lib/commonjs/blocks/DataBlocks.js +781 -1
  9. package/lib/commonjs/blocks/DataBlocks.js.map +1 -0
  10. package/lib/commonjs/blocks/ExtraBlocks.js +1860 -1
  11. package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -0
  12. package/lib/commonjs/blocks/MediaBlocks.js +156 -1
  13. package/lib/commonjs/blocks/MediaBlocks.js.map +1 -0
  14. package/lib/commonjs/blocks/ReceiptBlocks.js +586 -1
  15. package/lib/commonjs/blocks/ReceiptBlocks.js.map +1 -0
  16. package/lib/commonjs/blocks/blockText.js +60 -0
  17. package/lib/commonjs/blocks/blockText.js.map +1 -0
  18. package/lib/commonjs/blocks/blockText.test.js +53 -0
  19. package/lib/commonjs/blocks/blockText.test.js.map +1 -0
  20. package/lib/commonjs/blocks/context.js +42 -1
  21. package/lib/commonjs/blocks/context.js.map +1 -0
  22. package/lib/commonjs/blocks/icons.js +96 -1
  23. package/lib/commonjs/blocks/icons.js.map +1 -0
  24. package/lib/commonjs/blocks/index.js +95 -1
  25. package/lib/commonjs/blocks/index.js.map +1 -0
  26. package/lib/commonjs/blocks/listRow.test.js +55 -0
  27. package/lib/commonjs/blocks/listRow.test.js.map +1 -0
  28. package/lib/commonjs/blocks/pageState.js +34 -0
  29. package/lib/commonjs/blocks/pageState.js.map +1 -0
  30. package/lib/commonjs/blocks/pageState.test.js +57 -0
  31. package/lib/commonjs/blocks/pageState.test.js.map +1 -0
  32. package/lib/commonjs/blocks/primitives.js +457 -1
  33. package/lib/commonjs/blocks/primitives.js.map +1 -0
  34. package/lib/commonjs/blocks/primitivesIndex.js +62 -1
  35. package/lib/commonjs/blocks/primitivesIndex.js.map +1 -0
  36. package/lib/commonjs/components/ApprovalCard.js +244 -1
  37. package/lib/commonjs/components/ApprovalCard.js.map +1 -0
  38. package/lib/commonjs/components/AskBuoyHeader.js +196 -1
  39. package/lib/commonjs/components/AskBuoyHeader.js.map +1 -0
  40. package/lib/commonjs/components/AskBuoyIcon.js +19 -1
  41. package/lib/commonjs/components/AskBuoyIcon.js.map +1 -0
  42. package/lib/commonjs/components/AskBuoyModal.js +479 -1
  43. package/lib/commonjs/components/AskBuoyModal.js.map +1 -0
  44. package/lib/commonjs/components/AskBuoySettings.js +119 -0
  45. package/lib/commonjs/components/AskBuoySettings.js.map +1 -0
  46. package/lib/commonjs/components/ChangesBar.js +211 -1
  47. package/lib/commonjs/components/ChangesBar.js.map +1 -0
  48. package/lib/commonjs/components/Composer.js +255 -1
  49. package/lib/commonjs/components/Composer.js.map +1 -0
  50. package/lib/commonjs/components/EmptyState.js +161 -1
  51. package/lib/commonjs/components/EmptyState.js.map +1 -0
  52. package/lib/commonjs/components/KeyboardPad.js +80 -0
  53. package/lib/commonjs/components/KeyboardPad.js.map +1 -0
  54. package/lib/commonjs/components/Markdown.js +310 -1
  55. package/lib/commonjs/components/Markdown.js.map +1 -0
  56. package/lib/commonjs/components/MessageList.js +930 -1
  57. package/lib/commonjs/components/MessageList.js.map +1 -0
  58. package/lib/commonjs/components/QueuedMessages.js +145 -0
  59. package/lib/commonjs/components/QueuedMessages.js.map +1 -0
  60. package/lib/commonjs/components/ThinkingStrip.js +223 -0
  61. package/lib/commonjs/components/ThinkingStrip.js.map +1 -0
  62. package/lib/commonjs/components/TypingDots.js +63 -1
  63. package/lib/commonjs/components/TypingDots.js.map +1 -0
  64. package/lib/commonjs/components/markdownParse.js +131 -0
  65. package/lib/commonjs/components/markdownParse.js.map +1 -0
  66. package/lib/commonjs/components/markdownParse.test.js +99 -0
  67. package/lib/commonjs/components/markdownParse.test.js.map +1 -0
  68. package/lib/commonjs/components/useCopyAction.js +50 -0
  69. package/lib/commonjs/components/useCopyAction.js.map +1 -0
  70. package/lib/commonjs/index.js +252 -1
  71. package/lib/commonjs/index.js.map +1 -0
  72. package/lib/commonjs/preset.js +90 -1
  73. package/lib/commonjs/preset.js.map +1 -0
  74. package/lib/commonjs/store/activityGroups.js +110 -0
  75. package/lib/commonjs/store/activityGroups.js.map +1 -0
  76. package/lib/commonjs/store/activityGroups.test.js +78 -0
  77. package/lib/commonjs/store/activityGroups.test.js.map +1 -0
  78. package/lib/commonjs/store/askBuoySettings.js +72 -0
  79. package/lib/commonjs/store/askBuoySettings.js.map +1 -0
  80. package/lib/commonjs/store/askBuoyStore.js +547 -1
  81. package/lib/commonjs/store/askBuoyStore.js.map +1 -0
  82. package/lib/commonjs/store/blockPlacement.js +64 -0
  83. package/lib/commonjs/store/blockPlacement.js.map +1 -0
  84. package/lib/commonjs/store/blockPlacement.test.js +123 -0
  85. package/lib/commonjs/store/blockPlacement.test.js.map +1 -0
  86. package/lib/commonjs/store/queue.test.js +150 -0
  87. package/lib/commonjs/store/queue.test.js.map +1 -0
  88. package/lib/commonjs/store/resetConversation.js +77 -0
  89. package/lib/commonjs/store/resetConversation.js.map +1 -0
  90. package/lib/commonjs/store/restorePending.test.js +63 -0
  91. package/lib/commonjs/store/restorePending.test.js.map +1 -0
  92. package/lib/commonjs/store/restoredIds.test.js +47 -0
  93. package/lib/commonjs/store/restoredIds.test.js.map +1 -0
  94. package/lib/commonjs/store/suggestions.js +54 -0
  95. package/lib/commonjs/store/suggestions.js.map +1 -0
  96. package/lib/commonjs/store/suggestions.test.js +58 -0
  97. package/lib/commonjs/store/suggestions.test.js.map +1 -0
  98. package/lib/commonjs/store/systemLine.test.js +77 -0
  99. package/lib/commonjs/store/systemLine.test.js.map +1 -0
  100. package/lib/commonjs/store/ticketPrompt.js +17 -0
  101. package/lib/commonjs/store/ticketPrompt.js.map +1 -0
  102. package/lib/commonjs/store/traceText.js +81 -0
  103. package/lib/commonjs/store/traceText.js.map +1 -0
  104. package/lib/commonjs/store/traceText.test.js +112 -0
  105. package/lib/commonjs/store/traceText.test.js.map +1 -0
  106. package/lib/commonjs/store/transcriptPersistence.js +297 -0
  107. package/lib/commonjs/store/transcriptPersistence.js.map +1 -0
  108. package/lib/commonjs/store/transcriptPersistence.test.js +333 -0
  109. package/lib/commonjs/store/transcriptPersistence.test.js.map +1 -0
  110. package/lib/commonjs/store/turnRendering.test.js +151 -0
  111. package/lib/commonjs/store/turnRendering.test.js.map +1 -0
  112. package/lib/commonjs/store/useAskBuoy.js +622 -1
  113. package/lib/commonjs/store/useAskBuoy.js.map +1 -0
  114. package/lib/commonjs/store/useAskBuoySettings.js +14 -0
  115. package/lib/commonjs/store/useAskBuoySettings.js.map +1 -0
  116. package/lib/commonjs/sync/askBuoySyncAdapter.js +140 -1
  117. package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -0
  118. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +141 -1
  119. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -0
  120. package/lib/commonjs/sync/wire.js +58 -1
  121. package/lib/commonjs/sync/wire.js.map +1 -0
  122. package/lib/commonjs/types.js +6 -1
  123. package/lib/commonjs/types.js.map +1 -0
  124. package/lib/module/blocks/AskBlocks.js +331 -1
  125. package/lib/module/blocks/AskBlocks.js.map +1 -0
  126. package/lib/module/blocks/BlockRenderer.js +257 -1
  127. package/lib/module/blocks/BlockRenderer.js.map +1 -0
  128. package/lib/module/blocks/ChromePrototypes.js +503 -1
  129. package/lib/module/blocks/ChromePrototypes.js.map +1 -0
  130. package/lib/module/blocks/DataBlocks.js +767 -1
  131. package/lib/module/blocks/DataBlocks.js.map +1 -0
  132. package/lib/module/blocks/ExtraBlocks.js +1833 -1
  133. package/lib/module/blocks/ExtraBlocks.js.map +1 -0
  134. package/lib/module/blocks/MediaBlocks.js +151 -1
  135. package/lib/module/blocks/MediaBlocks.js.map +1 -0
  136. package/lib/module/blocks/ReceiptBlocks.js +574 -1
  137. package/lib/module/blocks/ReceiptBlocks.js.map +1 -0
  138. package/lib/module/blocks/blockText.js +55 -0
  139. package/lib/module/blocks/blockText.js.map +1 -0
  140. package/lib/module/blocks/blockText.test.js +53 -0
  141. package/lib/module/blocks/blockText.test.js.map +1 -0
  142. package/lib/module/blocks/context.js +35 -1
  143. package/lib/module/blocks/context.js.map +1 -0
  144. package/lib/module/blocks/icons.js +91 -1
  145. package/lib/module/blocks/icons.js.map +1 -0
  146. package/lib/module/blocks/index.js +8 -1
  147. package/lib/module/blocks/index.js.map +1 -0
  148. package/lib/module/blocks/listRow.test.js +56 -0
  149. package/lib/module/blocks/listRow.test.js.map +1 -0
  150. package/lib/module/blocks/pageState.js +30 -0
  151. package/lib/module/blocks/pageState.js.map +1 -0
  152. package/lib/module/blocks/pageState.test.js +56 -0
  153. package/lib/module/blocks/pageState.test.js.map +1 -0
  154. package/lib/module/blocks/primitives.js +445 -1
  155. package/lib/module/blocks/primitives.js.map +1 -0
  156. package/lib/module/blocks/primitivesIndex.js +5 -1
  157. package/lib/module/blocks/primitivesIndex.js.map +1 -0
  158. package/lib/module/components/ApprovalCard.js +239 -1
  159. package/lib/module/components/ApprovalCard.js.map +1 -0
  160. package/lib/module/components/AskBuoyHeader.js +193 -1
  161. package/lib/module/components/AskBuoyHeader.js.map +1 -0
  162. package/lib/module/components/AskBuoyIcon.js +8 -1
  163. package/lib/module/components/AskBuoyIcon.js.map +1 -0
  164. package/lib/module/components/AskBuoyModal.js +474 -1
  165. package/lib/module/components/AskBuoyModal.js.map +1 -0
  166. package/lib/module/components/AskBuoySettings.js +114 -0
  167. package/lib/module/components/AskBuoySettings.js.map +1 -0
  168. package/lib/module/components/ChangesBar.js +206 -1
  169. package/lib/module/components/ChangesBar.js.map +1 -0
  170. package/lib/module/components/Composer.js +250 -1
  171. package/lib/module/components/Composer.js.map +1 -0
  172. package/lib/module/components/EmptyState.js +156 -1
  173. package/lib/module/components/EmptyState.js.map +1 -0
  174. package/lib/module/components/KeyboardPad.js +75 -0
  175. package/lib/module/components/KeyboardPad.js.map +1 -0
  176. package/lib/module/components/Markdown.js +305 -1
  177. package/lib/module/components/Markdown.js.map +1 -0
  178. package/lib/module/components/MessageList.js +924 -1
  179. package/lib/module/components/MessageList.js.map +1 -0
  180. package/lib/module/components/QueuedMessages.js +140 -0
  181. package/lib/module/components/QueuedMessages.js.map +1 -0
  182. package/lib/module/components/ThinkingStrip.js +218 -0
  183. package/lib/module/components/ThinkingStrip.js.map +1 -0
  184. package/lib/module/components/TypingDots.js +58 -1
  185. package/lib/module/components/TypingDots.js.map +1 -0
  186. package/lib/module/components/markdownParse.js +125 -0
  187. package/lib/module/components/markdownParse.js.map +1 -0
  188. package/lib/module/components/markdownParse.test.js +98 -0
  189. package/lib/module/components/markdownParse.test.js.map +1 -0
  190. package/lib/module/components/useCopyAction.js +46 -0
  191. package/lib/module/components/useCopyAction.js.map +1 -0
  192. package/lib/module/index.js +34 -1
  193. package/lib/module/index.js.map +1 -0
  194. package/lib/module/preset.js +73 -1
  195. package/lib/module/preset.js.map +1 -0
  196. package/lib/module/store/activityGroups.js +103 -0
  197. package/lib/module/store/activityGroups.js.map +1 -0
  198. package/lib/module/store/activityGroups.test.js +77 -0
  199. package/lib/module/store/activityGroups.test.js.map +1 -0
  200. package/lib/module/store/askBuoySettings.js +67 -0
  201. package/lib/module/store/askBuoySettings.js.map +1 -0
  202. package/lib/module/store/askBuoyStore.js +541 -1
  203. package/lib/module/store/askBuoyStore.js.map +1 -0
  204. package/lib/module/store/blockPlacement.js +59 -0
  205. package/lib/module/store/blockPlacement.js.map +1 -0
  206. package/lib/module/store/blockPlacement.test.js +122 -0
  207. package/lib/module/store/blockPlacement.test.js.map +1 -0
  208. package/lib/module/store/queue.test.js +149 -0
  209. package/lib/module/store/queue.test.js.map +1 -0
  210. package/lib/module/store/resetConversation.js +72 -0
  211. package/lib/module/store/resetConversation.js.map +1 -0
  212. package/lib/module/store/restorePending.test.js +62 -0
  213. package/lib/module/store/restorePending.test.js.map +1 -0
  214. package/lib/module/store/restoredIds.test.js +46 -0
  215. package/lib/module/store/restoredIds.test.js.map +1 -0
  216. package/lib/module/store/suggestions.js +49 -0
  217. package/lib/module/store/suggestions.js.map +1 -0
  218. package/lib/module/store/suggestions.test.js +57 -0
  219. package/lib/module/store/suggestions.test.js.map +1 -0
  220. package/lib/module/store/systemLine.test.js +76 -0
  221. package/lib/module/store/systemLine.test.js.map +1 -0
  222. package/lib/module/store/ticketPrompt.js +13 -0
  223. package/lib/module/store/ticketPrompt.js.map +1 -0
  224. package/lib/module/store/traceText.js +75 -0
  225. package/lib/module/store/traceText.js.map +1 -0
  226. package/lib/module/store/traceText.test.js +111 -0
  227. package/lib/module/store/traceText.test.js.map +1 -0
  228. package/lib/module/store/transcriptPersistence.js +287 -0
  229. package/lib/module/store/transcriptPersistence.js.map +1 -0
  230. package/lib/module/store/transcriptPersistence.test.js +332 -0
  231. package/lib/module/store/transcriptPersistence.test.js.map +1 -0
  232. package/lib/module/store/turnRendering.test.js +150 -0
  233. package/lib/module/store/turnRendering.test.js.map +1 -0
  234. package/lib/module/store/useAskBuoy.js +616 -1
  235. package/lib/module/store/useAskBuoy.js.map +1 -0
  236. package/lib/module/store/useAskBuoySettings.js +9 -0
  237. package/lib/module/store/useAskBuoySettings.js.map +1 -0
  238. package/lib/module/sync/askBuoySyncAdapter.js +135 -1
  239. package/lib/module/sync/askBuoySyncAdapter.js.map +1 -0
  240. package/lib/module/sync/askBuoySyncAdapter.test.js +140 -1
  241. package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -0
  242. package/lib/module/sync/wire.js +47 -1
  243. package/lib/module/sync/wire.js.map +1 -0
  244. package/lib/module/types.js +4 -1
  245. package/lib/module/types.js.map +1 -0
  246. package/lib/typescript/blocks/AskBlocks.d.ts.map +1 -0
  247. package/lib/typescript/blocks/BlockRenderer.d.ts.map +1 -0
  248. package/lib/typescript/blocks/ChromePrototypes.d.ts.map +1 -0
  249. package/lib/typescript/blocks/DataBlocks.d.ts +42 -0
  250. package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -0
  251. package/lib/typescript/blocks/ExtraBlocks.d.ts +29 -2
  252. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -0
  253. package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -0
  254. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -0
  255. package/lib/typescript/blocks/blockText.d.ts +14 -0
  256. package/lib/typescript/blocks/blockText.d.ts.map +1 -0
  257. package/lib/typescript/blocks/blockText.test.d.ts +2 -0
  258. package/lib/typescript/blocks/blockText.test.d.ts.map +1 -0
  259. package/lib/typescript/blocks/context.d.ts.map +1 -0
  260. package/lib/typescript/blocks/icons.d.ts.map +1 -0
  261. package/lib/typescript/blocks/index.d.ts.map +1 -0
  262. package/lib/typescript/blocks/listRow.test.d.ts +2 -0
  263. package/lib/typescript/blocks/listRow.test.d.ts.map +1 -0
  264. package/lib/typescript/blocks/pageState.d.ts +23 -0
  265. package/lib/typescript/blocks/pageState.d.ts.map +1 -0
  266. package/lib/typescript/blocks/pageState.test.d.ts +2 -0
  267. package/lib/typescript/blocks/pageState.test.d.ts.map +1 -0
  268. package/lib/typescript/blocks/primitives.d.ts +55 -10
  269. package/lib/typescript/blocks/primitives.d.ts.map +1 -0
  270. package/lib/typescript/blocks/primitivesIndex.d.ts +2 -1
  271. package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -0
  272. package/lib/typescript/components/ApprovalCard.d.ts.map +1 -0
  273. package/lib/typescript/components/AskBuoyHeader.d.ts +41 -1
  274. package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -0
  275. package/lib/typescript/components/AskBuoyIcon.d.ts.map +1 -0
  276. package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -0
  277. package/lib/typescript/components/AskBuoySettings.d.ts +2 -0
  278. package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -0
  279. package/lib/typescript/components/ChangesBar.d.ts.map +1 -0
  280. package/lib/typescript/components/Composer.d.ts +16 -1
  281. package/lib/typescript/components/Composer.d.ts.map +1 -0
  282. package/lib/typescript/components/EmptyState.d.ts +5 -1
  283. package/lib/typescript/components/EmptyState.d.ts.map +1 -0
  284. package/lib/typescript/components/KeyboardPad.d.ts +33 -0
  285. package/lib/typescript/components/KeyboardPad.d.ts.map +1 -0
  286. package/lib/typescript/components/Markdown.d.ts +0 -10
  287. package/lib/typescript/components/Markdown.d.ts.map +1 -0
  288. package/lib/typescript/components/MessageList.d.ts +19 -7
  289. package/lib/typescript/components/MessageList.d.ts.map +1 -0
  290. package/lib/typescript/components/QueuedMessages.d.ts +10 -0
  291. package/lib/typescript/components/QueuedMessages.d.ts.map +1 -0
  292. package/lib/typescript/components/ThinkingStrip.d.ts +5 -0
  293. package/lib/typescript/components/ThinkingStrip.d.ts.map +1 -0
  294. package/lib/typescript/components/TypingDots.d.ts.map +1 -0
  295. package/lib/typescript/components/markdownParse.d.ts +49 -0
  296. package/lib/typescript/components/markdownParse.d.ts.map +1 -0
  297. package/lib/typescript/components/markdownParse.test.d.ts +2 -0
  298. package/lib/typescript/components/markdownParse.test.d.ts.map +1 -0
  299. package/lib/typescript/components/useCopyAction.d.ts +5 -0
  300. package/lib/typescript/components/useCopyAction.d.ts.map +1 -0
  301. package/lib/typescript/index.d.ts +5 -0
  302. package/lib/typescript/index.d.ts.map +1 -0
  303. package/lib/typescript/preset.d.ts.map +1 -0
  304. package/lib/typescript/store/activityGroups.d.ts +29 -0
  305. package/lib/typescript/store/activityGroups.d.ts.map +1 -0
  306. package/lib/typescript/store/activityGroups.test.d.ts +2 -0
  307. package/lib/typescript/store/activityGroups.test.d.ts.map +1 -0
  308. package/lib/typescript/store/askBuoySettings.d.ts +44 -0
  309. package/lib/typescript/store/askBuoySettings.d.ts.map +1 -0
  310. package/lib/typescript/store/askBuoyStore.d.ts +216 -18
  311. package/lib/typescript/store/askBuoyStore.d.ts.map +1 -0
  312. package/lib/typescript/store/blockPlacement.d.ts +30 -0
  313. package/lib/typescript/store/blockPlacement.d.ts.map +1 -0
  314. package/lib/typescript/store/blockPlacement.test.d.ts +2 -0
  315. package/lib/typescript/store/blockPlacement.test.d.ts.map +1 -0
  316. package/lib/typescript/store/queue.test.d.ts +2 -0
  317. package/lib/typescript/store/queue.test.d.ts.map +1 -0
  318. package/lib/typescript/store/resetConversation.d.ts +38 -0
  319. package/lib/typescript/store/resetConversation.d.ts.map +1 -0
  320. package/lib/typescript/store/restorePending.test.d.ts +2 -0
  321. package/lib/typescript/store/restorePending.test.d.ts.map +1 -0
  322. package/lib/typescript/store/restoredIds.test.d.ts +2 -0
  323. package/lib/typescript/store/restoredIds.test.d.ts.map +1 -0
  324. package/lib/typescript/store/suggestions.d.ts +32 -0
  325. package/lib/typescript/store/suggestions.d.ts.map +1 -0
  326. package/lib/typescript/store/suggestions.test.d.ts +2 -0
  327. package/lib/typescript/store/suggestions.test.d.ts.map +1 -0
  328. package/lib/typescript/store/systemLine.test.d.ts +2 -0
  329. package/lib/typescript/store/systemLine.test.d.ts.map +1 -0
  330. package/lib/typescript/store/ticketPrompt.d.ts +11 -0
  331. package/lib/typescript/store/ticketPrompt.d.ts.map +1 -0
  332. package/lib/typescript/store/traceText.d.ts +33 -0
  333. package/lib/typescript/store/traceText.d.ts.map +1 -0
  334. package/lib/typescript/store/traceText.test.d.ts +2 -0
  335. package/lib/typescript/store/traceText.test.d.ts.map +1 -0
  336. package/lib/typescript/store/transcriptPersistence.d.ts +79 -0
  337. package/lib/typescript/store/transcriptPersistence.d.ts.map +1 -0
  338. package/lib/typescript/store/transcriptPersistence.test.d.ts +2 -0
  339. package/lib/typescript/store/transcriptPersistence.test.d.ts.map +1 -0
  340. package/lib/typescript/store/turnRendering.test.d.ts +2 -0
  341. package/lib/typescript/store/turnRendering.test.d.ts.map +1 -0
  342. package/lib/typescript/store/useAskBuoy.d.ts +23 -1
  343. package/lib/typescript/store/useAskBuoy.d.ts.map +1 -0
  344. package/lib/typescript/store/useAskBuoySettings.d.ts +3 -0
  345. package/lib/typescript/store/useAskBuoySettings.d.ts.map +1 -0
  346. package/lib/typescript/sync/askBuoySyncAdapter.d.ts +26 -6
  347. package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -0
  348. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +1 -0
  349. package/lib/typescript/sync/wire.d.ts.map +1 -0
  350. package/lib/typescript/types.d.ts +24 -1
  351. package/lib/typescript/types.d.ts.map +1 -0
  352. package/package.json +9 -9
@@ -1 +1,161 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmptyState=EmptyState;var _reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_jsxRuntime=require("react/jsx-runtime");const isRelease="undefined"!=typeof __DEV__&&!__DEV__,SUGGESTIONS=["Why is this screen empty?","What did the last few network calls return?","Show me what's saved for this user","Make the next request to this screen fail with a 500"];function EmptyState({configured:e,onPick:t}){return e?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.wrap,testID:"buoy-ask-buoy-empty",children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.title,children:"Ask about this app"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.body,children:"Ask what the app is doing right now, or tell it to change something. Anything it changes shows up in a bar at the top, and you can undo it."}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.buildLine,testID:"buoy-ask-buoy-build-line",children:isRelease?"Release build — reading, impersonation and navigation work; simulations (forcing server responses, driving the screen) need a dev build.":"Dev build — full simulation available."}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.group,children:[(0,_jsxRuntime.jsx)(_sharedUi.NightSectionLabel,{children:"Try asking"}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.card,children:SUGGESTIONS.map((e,i)=>(0,_jsxRuntime.jsx)(Suggestion,{text:e,onPick:t,last:i===SUGGESTIONS.length-1},e))})]})]}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.wrap,testID:"buoy-ask-buoy-unconfigured",children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.title,children:"Not set up yet"}),(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:styles.body,children:["Ask Buoy talks to your own company's AI endpoint — nothing goes to Buoy. A developer needs to add the ",(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.code,children:"askBuoy"})," prop to"," ",(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.code,children:"<FloatingDevTools />"})," with your team's endpoint and model."]})]})}function Suggestion({text:e,onPick:t,last:i}){return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{testID:`buoy-ask-buoy-suggestion-${e.slice(0,12)}`,accessibilityRole:"button",onPress:()=>t(e),style:({pressed:e})=>[styles.row,!i&&styles.rowDivider,e&&styles.pressed],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.rowText,children:e}),(0,_jsxRuntime.jsx)(_sharedUi.ChevronRight,{size:14,color:_sharedUi.night.color.textTertiary})]})}const styles=_reactNative.StyleSheet.create({wrap:{flex:1,justifyContent:"center",paddingHorizontal:_sharedUi.night.gutter,paddingVertical:24,gap:8},title:{color:_sharedUi.night.color.text,fontSize:22,fontWeight:"700",letterSpacing:-.3},body:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.body,lineHeight:20},code:{color:_sharedUi.night.color.text,fontFamily:"Menlo"},buildLine:{marginTop:8,color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,lineHeight:15},group:{marginTop:_sharedUi.night.groupGap-8},card:{borderRadius:_sharedUi.night.radius.card,borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:_sharedUi.night.color.border,backgroundColor:_sharedUi.night.color.surface,overflow:"hidden"},row:{flexDirection:"row",alignItems:"center",gap:10,paddingHorizontal:_sharedUi.night.rowPadH,paddingVertical:13},rowDivider:{borderBottomWidth:_reactNative.StyleSheet.hairlineWidth,borderBottomColor:_sharedUi.night.color.separator},rowText:{flex:1,color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.body,lineHeight:19},pressed:{backgroundColor:_sharedUi.night.color.fill}});
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EmptyState = EmptyState;
7
+ var _reactNative = require("react-native");
8
+ var _sharedUi = require("@buoy-gg/shared-ui");
9
+ var _suggestions = require("../store/suggestions");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * The first screen.
13
+ *
14
+ * Written for someone who has never used a devtool. The suggestions are not
15
+ * decoration — they are the fastest way to teach a tester what kind of sentence
16
+ * works here, and they are phrased as outcomes ("why is this screen empty?")
17
+ * rather than as tool names, because the tools are the thing this feature
18
+ * exists to hide.
19
+ */
20
+
21
+ const isRelease = typeof __DEV__ !== "undefined" && !__DEV__;
22
+ function EmptyState({
23
+ configured,
24
+ onPick,
25
+ availableToolIds = [],
26
+ readOnly = false
27
+ }) {
28
+ const suggestions = (0, _suggestions.pickSuggestions)({
29
+ availableToolIds,
30
+ readOnly,
31
+ isRelease
32
+ });
33
+ if (!configured) {
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
35
+ style: styles.wrap,
36
+ testID: "buoy-ask-buoy-unconfigured",
37
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
38
+ style: styles.title,
39
+ children: "Not set up yet"
40
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
41
+ style: styles.body,
42
+ children: ["Ask Buoy talks to your own company's AI endpoint \u2014 nothing goes to Buoy. A developer needs to add the ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
43
+ style: styles.code,
44
+ children: "askBuoy"
45
+ }), " prop to", " ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
46
+ style: styles.code,
47
+ children: "<FloatingDevTools />"
48
+ }), " with your team's endpoint and model."]
49
+ })]
50
+ });
51
+ }
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
53
+ style: styles.wrap,
54
+ testID: "buoy-ask-buoy-empty",
55
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
56
+ style: styles.title,
57
+ children: "Ask about this app"
58
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
59
+ style: styles.body,
60
+ children: "Ask what the app is doing right now, or tell it to change something. Anything it changes shows up in a bar at the top, with what can be undone."
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
+ style: styles.buildLine,
63
+ testID: "buoy-ask-buoy-build-line",
64
+ children: isRelease ? "Release build — reading, impersonation and navigation work; simulations (forcing server responses, driving the screen) need a dev build." : "Dev build — full simulation available."
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
66
+ style: styles.group,
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.NightSectionLabel, {
68
+ children: "Try asking"
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
70
+ style: styles.card,
71
+ children: suggestions.map((s, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Suggestion, {
72
+ text: s,
73
+ onPick: onPick,
74
+ last: i === suggestions.length - 1
75
+ }, s))
76
+ })]
77
+ })]
78
+ });
79
+ }
80
+ function Suggestion({
81
+ text,
82
+ onPick,
83
+ last
84
+ }) {
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
86
+ testID: `buoy-ask-buoy-suggestion-${text.slice(0, 12)}`,
87
+ accessibilityRole: "button",
88
+ onPress: () => onPick(text),
89
+ style: ({
90
+ pressed
91
+ }) => [styles.row, !last && styles.rowDivider, pressed && styles.pressed],
92
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
93
+ style: styles.rowText,
94
+ children: text
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
96
+ size: 14,
97
+ color: _sharedUi.night.color.textTertiary
98
+ })]
99
+ });
100
+ }
101
+ const styles = _reactNative.StyleSheet.create({
102
+ wrap: {
103
+ flex: 1,
104
+ justifyContent: "center",
105
+ paddingHorizontal: _sharedUi.night.gutter,
106
+ paddingVertical: 24,
107
+ gap: 8
108
+ },
109
+ title: {
110
+ color: _sharedUi.night.color.text,
111
+ fontSize: 22,
112
+ fontWeight: "700",
113
+ letterSpacing: -0.3
114
+ },
115
+ body: {
116
+ color: _sharedUi.night.color.textSecondary,
117
+ fontSize: _sharedUi.night.font.body,
118
+ lineHeight: 20
119
+ },
120
+ code: {
121
+ color: _sharedUi.night.color.text,
122
+ fontFamily: "Menlo"
123
+ },
124
+ buildLine: {
125
+ marginTop: 8,
126
+ color: _sharedUi.night.color.textTertiary,
127
+ fontSize: _sharedUi.night.font.micro,
128
+ lineHeight: 15
129
+ },
130
+ group: {
131
+ marginTop: _sharedUi.night.groupGap - 8
132
+ },
133
+ card: {
134
+ borderRadius: _sharedUi.night.radius.card,
135
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
136
+ borderColor: _sharedUi.night.color.border,
137
+ backgroundColor: _sharedUi.night.color.surface,
138
+ overflow: "hidden"
139
+ },
140
+ row: {
141
+ flexDirection: "row",
142
+ alignItems: "center",
143
+ gap: 10,
144
+ paddingHorizontal: _sharedUi.night.rowPadH,
145
+ paddingVertical: 13
146
+ },
147
+ rowDivider: {
148
+ borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
149
+ borderBottomColor: _sharedUi.night.color.separator
150
+ },
151
+ rowText: {
152
+ flex: 1,
153
+ color: _sharedUi.night.color.text,
154
+ fontSize: _sharedUi.night.font.body,
155
+ lineHeight: 19
156
+ },
157
+ pressed: {
158
+ backgroundColor: _sharedUi.night.color.fill
159
+ }
160
+ });
161
+ //# sourceMappingURL=EmptyState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_sharedUi","_suggestions","_jsxRuntime","isRelease","__DEV__","EmptyState","configured","onPick","availableToolIds","readOnly","suggestions","pickSuggestions","jsxs","View","style","styles","wrap","testID","children","jsx","Text","title","body","code","buildLine","group","NightSectionLabel","card","map","s","i","Suggestion","text","last","length","Pressable","slice","accessibilityRole","onPress","pressed","row","rowDivider","rowText","ChevronRight","size","color","night","textTertiary","StyleSheet","create","flex","justifyContent","paddingHorizontal","gutter","paddingVertical","gap","fontSize","fontWeight","letterSpacing","textSecondary","font","lineHeight","fontFamily","marginTop","micro","groupGap","borderRadius","radius","borderWidth","hairlineWidth","borderColor","border","backgroundColor","surface","overflow","flexDirection","alignItems","rowPadH","borderBottomWidth","borderBottomColor","separator","fill"],"sourceRoot":"../../../src","sources":["components/EmptyState.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KeyboardPad = KeyboardPad;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Keeps the composer above the iOS keyboard.
12
+ *
13
+ * Why not `KeyboardAvoidingView`: it takes its frame from `onLayout`, which
14
+ * is RELATIVE TO ITS PARENT, and compares that to the keyboard's SCREEN
15
+ * position. That only agrees when the view starts at the window's origin.
16
+ * Ask Buoy is a JsModal — an absolutely positioned sheet anchored to the
17
+ * bottom of the app tree — so the view's local bottom (a few hundred points
18
+ * into the sheet) sits well above the keyboard's screen Y, the overlap comes
19
+ * out as zero, and nothing moves. The keyboard drew over the composer with
20
+ * a "working" `KeyboardAvoidingView` around it.
21
+ *
22
+ * This measures the SAME thing in the SAME coordinate space: the wrapper's
23
+ * bottom edge in window coordinates via `measureInWindow`, against the
24
+ * keyboard's `endCoordinates.screenY`. The difference is the overlap, and it
25
+ * becomes bottom padding animated over the keyboard's own duration so the
26
+ * composer rides the keyboard instead of jumping after it.
27
+ *
28
+ * The wrapper is `flex: 1` inside a fixed-height sheet body, so its OUTER
29
+ * bounds never change when its padding does — re-measuring on a later
30
+ * frame-change event (a predictive-text bar appearing, an emoji keyboard)
31
+ * gives the same bottom edge.
32
+ *
33
+ * iOS only. Android's window resizes under the keyboard
34
+ * (`softwareKeyboardLayoutMode: "resize"`, both the Expo and the RN CLI
35
+ * template default) and a bottom-anchored sheet rides up for free; padding
36
+ * there would lift it twice. Web has no keyboard events and no keyboard.
37
+ */
38
+
39
+ function KeyboardPad({
40
+ children
41
+ }) {
42
+ const ref = (0, _react.useRef)(null);
43
+ const pad = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
44
+ (0, _react.useEffect)(() => {
45
+ if (_reactNative.Platform.OS !== "ios") return;
46
+ const animateTo = (value, event) => {
47
+ _reactNative.Animated.timing(pad, {
48
+ toValue: value,
49
+ duration: event.duration || 250,
50
+ // iOS's keyboard curve; `keyboard` is the matching Easing preset.
51
+ easing: _reactNative.Easing.bezier(0.17, 0.59, 0.4, 0.77),
52
+ useNativeDriver: false
53
+ }).start();
54
+ };
55
+ const onChange = event => {
56
+ const node = ref.current;
57
+ if (!node) return;
58
+ node.measureInWindow((_x, y, _w, h) => {
59
+ const overlap = y + h - event.endCoordinates.screenY;
60
+ animateTo(Math.max(0, overlap), event);
61
+ });
62
+ };
63
+ const onHide = event => animateTo(0, event);
64
+ const subs = [_reactNative.Keyboard.addListener("keyboardWillChangeFrame", onChange), _reactNative.Keyboard.addListener("keyboardWillHide", onHide)];
65
+ return () => subs.forEach(s => s.remove());
66
+ }, [pad]);
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
68
+ ref: ref,
69
+ style: [styles.flex, {
70
+ paddingBottom: pad
71
+ }],
72
+ children: children
73
+ });
74
+ }
75
+ const styles = _reactNative.StyleSheet.create({
76
+ flex: {
77
+ flex: 1
78
+ }
79
+ });
80
+ //# sourceMappingURL=KeyboardPad.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_jsxRuntime","KeyboardPad","children","ref","useRef","pad","Animated","Value","current","useEffect","Platform","OS","animateTo","value","event","timing","toValue","duration","easing","Easing","bezier","useNativeDriver","start","onChange","node","measureInWindow","_x","y","_w","h","overlap","endCoordinates","screenY","Math","max","onHide","subs","Keyboard","addListener","forEach","s","remove","jsx","View","style","styles","flex","paddingBottom","StyleSheet","create"],"sourceRoot":"../../../src","sources":["components/KeyboardPad.tsx"],"mappings":";;;;;;AA4BA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA0G,IAAAE,WAAA,GAAAF,OAAA;AA7B1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIO,SAASG,WAAWA,CAAC;EAAEC;AAAkC,CAAC,EAAE;EACjE,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAO,IAAI,CAAC;EAC9B,MAAMC,GAAG,GAAG,IAAAD,aAAM,EAAC,IAAIE,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAEjD,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAE3B,MAAMC,SAAS,GAAGA,CAACC,KAAa,EAAEC,KAAoB,KAAK;MACzDR,qBAAQ,CAACS,MAAM,CAACV,GAAG,EAAE;QACnBW,OAAO,EAAEH,KAAK;QACdI,QAAQ,EAAEH,KAAK,CAACG,QAAQ,IAAI,GAAG;QAC/B;QACAC,MAAM,EAAEC,mBAAM,CAACC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;QAC5CC,eAAe,EAAE;MACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,MAAMC,QAAQ,GAAIT,KAAoB,IAAK;MACzC,MAAMU,IAAI,GAAGrB,GAAG,CAACK,OAAO;MACxB,IAAI,CAACgB,IAAI,EAAE;MACXA,IAAI,CAACC,eAAe,CAAC,CAACC,EAAE,EAAEC,CAAC,EAAEC,EAAE,EAAEC,CAAC,KAAK;QACrC,MAAMC,OAAO,GAAGH,CAAC,GAAGE,CAAC,GAAGf,KAAK,CAACiB,cAAc,CAACC,OAAO;QACpDpB,SAAS,CAACqB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,OAAO,CAAC,EAAEhB,KAAK,CAAC;MACxC,CAAC,CAAC;IACJ,CAAC;IACD,MAAMqB,MAAM,GAAIrB,KAAoB,IAAKF,SAAS,CAAC,CAAC,EAAEE,KAAK,CAAC;IAE5D,MAAMsB,IAAI,GAAG,CACXC,qBAAQ,CAACC,WAAW,CAAC,yBAAyB,EAAEf,QAAQ,CAAC,EACzDc,qBAAQ,CAACC,WAAW,CAAC,kBAAkB,EAAEH,MAAM,CAAC,CACjD;IACD,OAAO,MAAMC,IAAI,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;EAC9C,CAAC,EAAE,CAACpC,GAAG,CAAC,CAAC;EAET,oBACE,IAAAL,WAAA,CAAA0C,GAAA,EAAC3C,YAAA,CAAAO,QAAQ,CAACqC,IAAI;IAACxC,GAAG,EAAEA,GAAI;IAACyC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE;MAAEC,aAAa,EAAE1C;IAAI,CAAC,CAAE;IAAAH,QAAA,EACnEA;EAAQ,CACI,CAAC;AAEpB;AAEA,MAAM2C,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAAEH,IAAI,EAAE;IAAEA,IAAI,EAAE;EAAE;AAAE,CAAC,CAAC","ignoreList":[]}
@@ -1 +1,310 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Markdown=Markdown,exports.renderInline=renderInline;var _reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_jsxRuntime=require("react/jsx-runtime");const isTableRow=e=>/^\s*\|.*\|\s*$/.test(e),isTableRule=e=>/^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$/.test(e),splitRow=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(e=>e.trim());function parseBlocks(e){const t=[];let i=[];const r=()=>{i.length&&t.push({kind:"p",text:i.join(" ")}),i=[]},s=e.split("\n");for(let e=0;e<s.length;e++){const l=s[e].replace(/\s+$/,"");if(!l.trim()){r();continue}if(isTableRow(l)&&s[e+1]&&isTableRule(s[e+1])){r();const i=splitRow(l),n=[];let a=e+2;for(;a<s.length&&isTableRow(s[a]);)n.push(splitRow(s[a])),a++;t.push({kind:"table",header:i,rows:n}),e=a-1;continue}const n=/^#{1,6}\s+(.*)$/.exec(l);if(n){r(),t.push({kind:"h",text:n[1]});continue}const a=/^(\s*)([-*•]|\d+[.)])\s+(.*)$/.exec(l);if(a){r();const e=Math.min(2,Math.floor(a[1].length/2)),i=/^\d/.test(a[2])?a[2].replace(")","."):"•";t.push({kind:"li",text:a[3],marker:i,depth:e});continue}i.push(l.trim())}return r(),t}function renderInline(e,t){const i=e.replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1"),r=[],s=/(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;let l,n=0,a=0;for(;l=s.exec(i);){l.index>n&&r.push(i.slice(n,l.index));const e=l[0];e.startsWith("**")?r.push((0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.bold],children:e.slice(2,-2)},a++)):e.startsWith("`")?r.push((0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.code],children:e.slice(1,-1)},a++)):r.push((0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.italic],children:e.slice(1,-1)},a++)),n=l.index+e.length}return n<i.length&&r.push(i.slice(n)),r}function Markdown({text:e,style:t}){const i=parseBlocks(e);return(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.wrap,children:i.map((e,i)=>{if("table"===e.kind){const t=e.header.slice(0,4);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.table,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.tableHead,children:t.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.th,0===t&&styles.firstCol],numberOfLines:1,children:e.replace(/\*\*/g,"")},t))}),e.rows.slice(0,12).map((e,i)=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.tr,i>0&&styles.trDivider],children:t.map((t,i)=>(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.td,0===i&&styles.firstCol,0===i&&styles.tdFirst],numberOfLines:2,children:renderInline((e[i]??"").replace(/!?\[([^\]]*)\]\([^)]*\)/g,"$1"),styles.td)},i))},i))]},i)}return"li"===e.kind?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.li,{paddingLeft:4+14*e.depth}],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.marker],children:e.marker}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,styles.liText],selectable:!0,children:renderInline(e.text,t)})]},i):(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[t,"h"===e.kind&&styles.bold],selectable:!0,children:renderInline(e.text,t)},i)})})}const styles=_reactNative.StyleSheet.create({wrap:{gap:8},bold:{fontWeight:"600"},italic:{fontStyle:"italic"},code:{fontFamily:"Menlo",fontSize:13,color:_sharedUi.night.color.accent,backgroundColor:_sharedUi.night.color.fill},li:{flexDirection:"row",gap:8},table:{borderRadius:_sharedUi.night.radius.row,borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:_sharedUi.night.color.border,backgroundColor:_sharedUi.night.color.surface,overflow:"hidden"},tableHead:{flexDirection:"row",paddingHorizontal:10,paddingVertical:6,gap:8,backgroundColor:_sharedUi.night.color.fill},th:{flex:1,color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,fontWeight:"700",letterSpacing:.6,textTransform:"uppercase"},tr:{flexDirection:"row",paddingHorizontal:10,paddingVertical:7,gap:8},trDivider:{borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:_sharedUi.night.color.separator},td:{flex:1,color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption,lineHeight:17},tdFirst:{color:_sharedUi.night.color.text,fontWeight:"500"},firstCol:{flex:1.3},marker:{color:_sharedUi.night.color.textSecondary,minWidth:14,textAlign:"right"},liText:{flex:1}});
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Markdown = Markdown;
7
+ exports.renderInline = renderInline;
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _sharedUi = require("@buoy-gg/shared-ui");
11
+ var _markdownParse = require("./markdownParse");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * Just enough Markdown for a chat answer.
15
+ *
16
+ * Models write `**bold**`, bullet lists and `code` whether or not the prompt
17
+ * asks for prose, and the asterisks rendered raw made every answer look like
18
+ * a broken template. This handles the subset a chat actually receives —
19
+ * paragraphs, `-`/`*`/`1.` lists, `#` headings (rendered bold, not huge),
20
+ * pipe tables, fenced code, bold, italics and inline code — with no
21
+ * dependency and no HTML. Anything it does not understand falls through as
22
+ * plain text, never as a blank. The parser lives in markdownParse.ts so it
23
+ * can be tested without React Native.
24
+ */
25
+
26
+ /**
27
+ * `**bold**`, `*italic*` / `_italic_`, `` `code` `` → styled spans. Links and
28
+ * images collapse to their text: a phone chat has nowhere to open a URL, and
29
+ * `![Snorlax](https://raw.githubusercontent.com/…/143.png)` printed raw is
30
+ * three lines of noise for one word of meaning.
31
+ */
32
+ function renderInline(source, base) {
33
+ const text = source.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
34
+ const out = [];
35
+ const re = /(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;
36
+ let last = 0;
37
+ let m;
38
+ let i = 0;
39
+ while (m = re.exec(text)) {
40
+ if (m.index > last) out.push(text.slice(last, m.index));
41
+ const tok = m[0];
42
+ if (tok.startsWith("**")) {
43
+ out.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
44
+ style: [base, styles.bold],
45
+ children: tok.slice(2, -2)
46
+ }, i++));
47
+ } else if (tok.startsWith("`")) {
48
+ out.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
49
+ style: [base, styles.code],
50
+ children: tok.slice(1, -1)
51
+ }, i++));
52
+ } else {
53
+ out.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
54
+ style: [base, styles.italic],
55
+ children: tok.slice(1, -1)
56
+ }, i++));
57
+ }
58
+ last = m.index + tok.length;
59
+ }
60
+ if (last < text.length) out.push(text.slice(last));
61
+ return out;
62
+ }
63
+ const stripLinks = s => s.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
64
+
65
+ /**
66
+ * A pipe table, cut to a preview that SAYS it is cut.
67
+ *
68
+ * It used to slice to four columns and twelve rows in silence. A model asked
69
+ * for "all 30 bag lines" sent 30; the tester read 12 and filed "the bag only
70
+ * has 12 items". Evidence that is cut must say so — a footer names what is
71
+ * missing and Show all expands to every row and column inside a capped,
72
+ * horizontally scrollable box, the same shape the approval card uses for its
73
+ * long description.
74
+ */
75
+ function MarkdownTable({
76
+ header,
77
+ rows
78
+ }) {
79
+ const [expanded, setExpanded] = (0, _react.useState)(false);
80
+ const truncation = (0, _markdownParse.tableTruncation)(header, rows);
81
+ const cols = expanded ? header : header.slice(0, _markdownParse.TABLE_PREVIEW_COLS);
82
+ const shownRows = expanded ? rows : rows.slice(0, _markdownParse.TABLE_PREVIEW_ROWS);
83
+ const body = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
+ style: expanded && styles.tableWide,
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
86
+ style: styles.tableHead,
87
+ children: cols.map((c, k) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
88
+ style: [styles.th, k === 0 && styles.firstCol, expanded && styles.colFixed],
89
+ numberOfLines: 1,
90
+ children: c.replace(/\*\*/g, "")
91
+ }, k))
92
+ }), shownRows.map((r, ri) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
93
+ style: [styles.tr, ri > 0 && styles.trDivider],
94
+ children: cols.map((_, k) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
95
+ style: [styles.td, k === 0 && styles.firstCol, k === 0 && styles.tdFirst, expanded && styles.colFixed],
96
+ numberOfLines: expanded ? 3 : 2,
97
+ children: renderInline(stripLinks(r[k] ?? ""), styles.td)
98
+ }, k))
99
+ }, ri))]
100
+ });
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
102
+ style: styles.table,
103
+ testID: "buoy-ask-buoy-md-table",
104
+ children: [expanded ?
105
+ /*#__PURE__*/
106
+ // Capped both ways: every column gets a real width and scrolls
107
+ // sideways; the rows scroll inside the card rather than taking the
108
+ // whole transcript with them.
109
+ (0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
110
+ style: styles.tableScrollV,
111
+ nestedScrollEnabled: true,
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
113
+ horizontal: true,
114
+ showsHorizontalScrollIndicator: true,
115
+ children: body
116
+ })
117
+ }) : body, truncation ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
118
+ testID: "buoy-ask-buoy-md-table-toggle",
119
+ accessibilityRole: "button",
120
+ accessibilityLabel: expanded ? "Show fewer rows" : "Show all rows and columns",
121
+ onPress: () => setExpanded(v => !v),
122
+ style: ({
123
+ pressed
124
+ }) => [styles.tfoot, pressed && styles.pressed],
125
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
126
+ style: styles.tfootText,
127
+ children: expanded ? `All ${rows.length} rows · ${header.length} columns` : truncation
128
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
129
+ style: styles.tfootAction,
130
+ children: expanded ? "Show fewer" : "Show all"
131
+ })]
132
+ }) : null]
133
+ });
134
+ }
135
+ function Markdown({
136
+ text,
137
+ style
138
+ }) {
139
+ const blocks = (0, _markdownParse.parseBlocks)(text);
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
141
+ style: styles.wrap,
142
+ children: blocks.map((b, i) => {
143
+ if (b.kind === "table") return /*#__PURE__*/(0, _jsxRuntime.jsx)(MarkdownTable, {
144
+ header: b.header,
145
+ rows: b.rows
146
+ }, i);
147
+ if (b.kind === "code") {
148
+ return (
149
+ /*#__PURE__*/
150
+ // Newlines and indentation kept; long lines scroll sideways rather
151
+ // than wrapping a JSON object into soup.
152
+ (0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
153
+ horizontal: true,
154
+ style: styles.codeBlock,
155
+ contentContainerStyle: styles.codeBlockContent,
156
+ testID: "buoy-ask-buoy-md-code",
157
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
158
+ style: styles.codeText,
159
+ selectable: true,
160
+ children: b.text
161
+ })
162
+ }, i)
163
+ );
164
+ }
165
+ if (b.kind === "li") {
166
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
167
+ style: [styles.li, {
168
+ paddingLeft: 4 + b.depth * 14
169
+ }],
170
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
171
+ style: [style, styles.marker],
172
+ children: b.marker
173
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
174
+ style: [style, styles.liText],
175
+ selectable: true,
176
+ children: renderInline(b.text, style)
177
+ })]
178
+ }, i);
179
+ }
180
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
181
+ style: [style, b.kind === "h" && styles.bold],
182
+ selectable: true,
183
+ children: renderInline(b.text, style)
184
+ }, i);
185
+ })
186
+ });
187
+ }
188
+ const styles = _reactNative.StyleSheet.create({
189
+ wrap: {
190
+ gap: 8
191
+ },
192
+ bold: {
193
+ fontWeight: "600"
194
+ },
195
+ italic: {
196
+ fontStyle: "italic"
197
+ },
198
+ code: {
199
+ fontFamily: "Menlo",
200
+ fontSize: 13,
201
+ color: _sharedUi.night.color.accent,
202
+ backgroundColor: _sharedUi.night.color.fill
203
+ },
204
+ codeBlock: {
205
+ borderRadius: _sharedUi.night.radius.row,
206
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
207
+ borderColor: _sharedUi.night.color.border,
208
+ backgroundColor: _sharedUi.night.color.surface
209
+ },
210
+ codeBlockContent: {
211
+ paddingHorizontal: 12,
212
+ paddingVertical: 10
213
+ },
214
+ codeText: {
215
+ fontFamily: "Menlo",
216
+ fontSize: 12,
217
+ lineHeight: 18,
218
+ color: _sharedUi.night.color.text
219
+ },
220
+ li: {
221
+ flexDirection: "row",
222
+ gap: 8
223
+ },
224
+ table: {
225
+ borderRadius: _sharedUi.night.radius.row,
226
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
227
+ borderColor: _sharedUi.night.color.border,
228
+ backgroundColor: _sharedUi.night.color.surface,
229
+ overflow: "hidden"
230
+ },
231
+ tableWide: {
232
+ minWidth: "100%"
233
+ },
234
+ tableScrollV: {
235
+ maxHeight: 320
236
+ },
237
+ tableHead: {
238
+ flexDirection: "row",
239
+ paddingHorizontal: 10,
240
+ paddingVertical: 6,
241
+ gap: 8,
242
+ backgroundColor: _sharedUi.night.color.fill
243
+ },
244
+ th: {
245
+ flex: 1,
246
+ color: _sharedUi.night.color.textTertiary,
247
+ fontSize: _sharedUi.night.font.micro,
248
+ fontWeight: "700",
249
+ letterSpacing: 0.6,
250
+ textTransform: "uppercase"
251
+ },
252
+ tr: {
253
+ flexDirection: "row",
254
+ paddingHorizontal: 10,
255
+ paddingVertical: 7,
256
+ gap: 8
257
+ },
258
+ trDivider: {
259
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
260
+ borderTopColor: _sharedUi.night.color.separator
261
+ },
262
+ td: {
263
+ flex: 1,
264
+ color: _sharedUi.night.color.textSecondary,
265
+ fontSize: _sharedUi.night.font.caption,
266
+ lineHeight: 17
267
+ },
268
+ tdFirst: {
269
+ color: _sharedUi.night.color.text,
270
+ fontWeight: "500"
271
+ },
272
+ firstCol: {
273
+ flex: 1.3
274
+ },
275
+ // Expanded: a real width per column so six of them don't share one row.
276
+ colFixed: {
277
+ flex: 0,
278
+ width: 110
279
+ },
280
+ tfoot: {
281
+ flexDirection: "row",
282
+ justifyContent: "space-between",
283
+ alignItems: "center",
284
+ paddingHorizontal: 10,
285
+ paddingVertical: 8,
286
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
287
+ borderTopColor: _sharedUi.night.color.border
288
+ },
289
+ tfootText: {
290
+ color: _sharedUi.night.color.textSecondary,
291
+ fontSize: _sharedUi.night.font.micro
292
+ },
293
+ tfootAction: {
294
+ color: _sharedUi.night.color.accent,
295
+ fontSize: _sharedUi.night.font.micro,
296
+ fontWeight: "600"
297
+ },
298
+ pressed: {
299
+ opacity: 0.7
300
+ },
301
+ marker: {
302
+ color: _sharedUi.night.color.textSecondary,
303
+ minWidth: 14,
304
+ textAlign: "right"
305
+ },
306
+ liText: {
307
+ flex: 1
308
+ }
309
+ });
310
+ //# sourceMappingURL=Markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_markdownParse","_jsxRuntime","renderInline","source","base","text","replace","out","re","last","m","i","exec","index","push","slice","tok","startsWith","jsx","Text","style","styles","bold","children","code","italic","length","stripLinks","s","MarkdownTable","header","rows","expanded","setExpanded","useState","truncation","tableTruncation","cols","TABLE_PREVIEW_COLS","shownRows","TABLE_PREVIEW_ROWS","body","jsxs","View","tableWide","tableHead","map","c","k","th","firstCol","colFixed","numberOfLines","r","ri","tr","trDivider","_","td","tdFirst","table","testID","ScrollView","tableScrollV","nestedScrollEnabled","horizontal","showsHorizontalScrollIndicator","Pressable","accessibilityRole","accessibilityLabel","onPress","v","pressed","tfoot","tfootText","tfootAction","Markdown","blocks","parseBlocks","wrap","b","kind","codeBlock","contentContainerStyle","codeBlockContent","codeText","selectable","li","paddingLeft","depth","marker","liText","StyleSheet","create","gap","fontWeight","fontStyle","fontFamily","fontSize","color","night","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":[]}