@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
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TABLE_PREVIEW_ROWS = exports.TABLE_PREVIEW_COLS = void 0;
7
+ exports.parseBlocks = parseBlocks;
8
+ exports.tableTruncation = tableTruncation;
9
+ /**
10
+ * The Markdown parser, kept apart from the renderer so it can be unit-tested
11
+ * without React Native.
12
+ *
13
+ * Just enough for a chat answer: paragraphs, `-`/`*`/`1.` lists, `#` headings,
14
+ * pipe tables, and fenced code. Anything it does not understand falls through
15
+ * as plain text, never as a blank.
16
+ */
17
+
18
+ const isTableRow = l => /^\s*\|.*\|\s*$/.test(l);
19
+ const isTableRule = l => /^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$/.test(l);
20
+ const splitRow = l => l.trim().replace(/^\|/, "").replace(/\|$/, "").split("|").map(c => c.trim());
21
+ const FENCE = /^\s*```\s*([\w+-]*)\s*$/;
22
+ function parseBlocks(source) {
23
+ const blocks = [];
24
+ let para = [];
25
+ const flush = () => {
26
+ if (para.length) blocks.push({
27
+ kind: "p",
28
+ text: para.join(" ")
29
+ });
30
+ para = [];
31
+ };
32
+ const lines = source.split("\n");
33
+ for (let li = 0; li < lines.length; li++) {
34
+ const raw = lines[li];
35
+ const line = raw.replace(/\s+$/, "");
36
+
37
+ // A fence opens a block that keeps its newlines and indentation — the
38
+ // one place in a chat answer where whitespace IS the content (JSON, a
39
+ // stack trace, a repro). Fences used to be unknown to this parser, so the
40
+ // lines were joined into a paragraph with the backticks shown literally.
41
+ const fence = FENCE.exec(line);
42
+ if (fence) {
43
+ flush();
44
+ const body = [];
45
+ let j = li + 1;
46
+ let closed = false;
47
+ while (j < lines.length) {
48
+ if (/^\s*```\s*$/.test(lines[j])) {
49
+ closed = true;
50
+ break;
51
+ }
52
+ body.push(lines[j]);
53
+ j++;
54
+ }
55
+ blocks.push({
56
+ kind: "code",
57
+ lang: fence[1] ?? "",
58
+ text: body.join("\n"),
59
+ closed
60
+ });
61
+ li = closed ? j : lines.length;
62
+ continue;
63
+ }
64
+ if (!line.trim()) {
65
+ flush();
66
+ continue;
67
+ }
68
+ // A pipe table: header row, a rule row, then body rows.
69
+ if (isTableRow(line) && lines[li + 1] && isTableRule(lines[li + 1])) {
70
+ flush();
71
+ const header = splitRow(line);
72
+ const rows = [];
73
+ let j = li + 2;
74
+ while (j < lines.length && isTableRow(lines[j])) {
75
+ rows.push(splitRow(lines[j]));
76
+ j++;
77
+ }
78
+ blocks.push({
79
+ kind: "table",
80
+ header,
81
+ rows
82
+ });
83
+ li = j - 1;
84
+ continue;
85
+ }
86
+ const heading = /^#{1,6}\s+(.*)$/.exec(line);
87
+ if (heading) {
88
+ flush();
89
+ blocks.push({
90
+ kind: "h",
91
+ text: heading[1]
92
+ });
93
+ continue;
94
+ }
95
+ const bullet = /^(\s*)([-*•]|\d+[.)])\s+(.*)$/.exec(line);
96
+ if (bullet) {
97
+ flush();
98
+ const depth = Math.min(2, Math.floor(bullet[1].length / 2));
99
+ const marker = /^\d/.test(bullet[2]) ? bullet[2].replace(")", ".") : "•";
100
+ blocks.push({
101
+ kind: "li",
102
+ text: bullet[3],
103
+ marker,
104
+ depth
105
+ });
106
+ continue;
107
+ }
108
+ para.push(line.trim());
109
+ }
110
+ flush();
111
+ return blocks;
112
+ }
113
+
114
+ /** The preview a table is cut to. Past this it says so and offers the rest. */
115
+ const TABLE_PREVIEW_ROWS = exports.TABLE_PREVIEW_ROWS = 12;
116
+ const TABLE_PREVIEW_COLS = exports.TABLE_PREVIEW_COLS = 4;
117
+
118
+ /**
119
+ * What a table preview leaves out, in the user's words — or null when nothing.
120
+ *
121
+ * The renderer used to slice to 4 columns and 12 rows and say nothing, so a
122
+ * 30-line bag read as a 12-line bag and the bug report that followed was
123
+ * "the bag only has 12 items". Evidence that is cut must say it is cut.
124
+ */
125
+ function tableTruncation(header, rows) {
126
+ const parts = [];
127
+ if (rows.length > TABLE_PREVIEW_ROWS) parts.push(`${TABLE_PREVIEW_ROWS} of ${rows.length} rows`);
128
+ if (header.length > TABLE_PREVIEW_COLS) parts.push(`${TABLE_PREVIEW_COLS} of ${header.length} columns`);
129
+ return parts.length ? `Showing ${parts.join(" · ")}` : null;
130
+ }
131
+ //# sourceMappingURL=markdownParse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isTableRow","l","test","isTableRule","splitRow","trim","replace","split","map","c","FENCE","parseBlocks","source","blocks","para","flush","length","push","kind","text","join","lines","li","raw","line","fence","exec","body","j","closed","lang","header","rows","heading","bullet","depth","Math","min","floor","marker","TABLE_PREVIEW_ROWS","exports","TABLE_PREVIEW_COLS","tableTruncation","parts"],"sourceRoot":"../../../src","sources":["components/markdownParse.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _vitest = require("vitest");
4
+ var _markdownParse = require("./markdownParse");
5
+ /**
6
+ * The two things the old parser got wrong, written down so they stay fixed:
7
+ * fenced code flattened into a paragraph with the backticks shown, and a table
8
+ * cut to 12 × 4 with nothing to say it had been.
9
+ */
10
+
11
+ (0, _vitest.describe)("fenced code", () => {
12
+ (0, _vitest.it)("keeps newlines and indentation", () => {
13
+ const src = 'Here:\n```json\n{\n "qty": 14\n}\n```\n— the qty changed.';
14
+ const blocks = (0, _markdownParse.parseBlocks)(src);
15
+ (0, _vitest.expect)(blocks.map(b => b.kind)).toEqual(["p", "code", "p"]);
16
+ const code = blocks[1];
17
+ (0, _vitest.expect)(code.kind === "code" && code.text).toBe('{\n "qty": 14\n}');
18
+ (0, _vitest.expect)(code.kind === "code" && code.lang).toBe("json");
19
+ (0, _vitest.expect)(code.kind === "code" && code.closed).toBe(true);
20
+ });
21
+ (0, _vitest.it)("renders an unclosed fence as code while the stream is still inside it", () => {
22
+ const blocks = (0, _markdownParse.parseBlocks)("```\nline one\nline two");
23
+ (0, _vitest.expect)(blocks).toHaveLength(1);
24
+ const code = blocks[0];
25
+ (0, _vitest.expect)(code.kind).toBe("code");
26
+ (0, _vitest.expect)(code.kind === "code" && code.closed).toBe(false);
27
+ (0, _vitest.expect)(code.kind === "code" && code.text).toBe("line one\nline two");
28
+ });
29
+ (0, _vitest.it)("does not treat fence contents as lists or tables", () => {
30
+ const blocks = (0, _markdownParse.parseBlocks)("```\n- not a bullet\n| a | b |\n|---|---|\n```");
31
+ (0, _vitest.expect)(blocks).toHaveLength(1);
32
+ (0, _vitest.expect)(blocks[0].kind).toBe("code");
33
+ });
34
+ });
35
+ (0, _vitest.describe)("tables", () => {
36
+ const table = (rows, cols) => {
37
+ const header = Array.from({
38
+ length: cols
39
+ }, (_, i) => `c${i}`);
40
+ const body = Array.from({
41
+ length: rows
42
+ }, (_, r) => header.map((_, c) => `r${r}c${c}`));
43
+ return {
44
+ header,
45
+ rows: body
46
+ };
47
+ };
48
+ (0, _vitest.it)("says nothing about a table that fits", () => {
49
+ const t = table(12, 4);
50
+ (0, _vitest.expect)((0, _markdownParse.tableTruncation)(t.header, t.rows)).toBeNull();
51
+ });
52
+ (0, _vitest.it)("names the rows it cut", () => {
53
+ const t = table(30, 4);
54
+ (0, _vitest.expect)((0, _markdownParse.tableTruncation)(t.header, t.rows)).toBe("Showing 12 of 30 rows");
55
+ });
56
+ (0, _vitest.it)("names the columns it cut", () => {
57
+ const t = table(3, 6);
58
+ (0, _vitest.expect)((0, _markdownParse.tableTruncation)(t.header, t.rows)).toBe("Showing 4 of 6 columns");
59
+ });
60
+ (0, _vitest.it)("names both when both are cut", () => {
61
+ const t = table(30, 6);
62
+ (0, _vitest.expect)((0, _markdownParse.tableTruncation)(t.header, t.rows)).toBe("Showing 12 of 30 rows · 4 of 6 columns");
63
+ });
64
+ (0, _vitest.it)("still parses a pipe table from text", () => {
65
+ const blocks = (0, _markdownParse.parseBlocks)("| Item | Qty |\n|---|---|\n| Charizard | 14 |\n| Blastoise | 2 |");
66
+ (0, _vitest.expect)(blocks).toHaveLength(1);
67
+ const t = blocks[0];
68
+ (0, _vitest.expect)(t.kind === "table" && t.header).toEqual(["Item", "Qty"]);
69
+ (0, _vitest.expect)(t.kind === "table" && t.rows).toEqual([["Charizard", "14"], ["Blastoise", "2"]]);
70
+ });
71
+ });
72
+ (0, _vitest.describe)("everything else still works", () => {
73
+ (0, _vitest.it)("paragraphs, headings and lists", () => {
74
+ const blocks = (0, _markdownParse.parseBlocks)("# Title\n\nSome prose\ncontinues.\n\n- one\n - nested\n1. first");
75
+ (0, _vitest.expect)(blocks).toEqual([{
76
+ kind: "h",
77
+ text: "Title"
78
+ }, {
79
+ kind: "p",
80
+ text: "Some prose continues."
81
+ }, {
82
+ kind: "li",
83
+ text: "one",
84
+ marker: "•",
85
+ depth: 0
86
+ }, {
87
+ kind: "li",
88
+ text: "nested",
89
+ marker: "•",
90
+ depth: 1
91
+ }, {
92
+ kind: "li",
93
+ text: "first",
94
+ marker: "1.",
95
+ depth: 0
96
+ }]);
97
+ });
98
+ });
99
+ //# sourceMappingURL=markdownParse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_vitest","require","_markdownParse","describe","it","src","blocks","parseBlocks","expect","map","b","kind","toEqual","code","text","toBe","lang","closed","toHaveLength","table","rows","cols","header","Array","from","length","_","i","body","r","c","t","tableTruncation","toBeNull","marker","depth"],"sourceRoot":"../../../src","sources":["components/markdownParse.test.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCopyAction = useCopyAction;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _sharedUi = require("@buoy-gg/shared-ui");
10
+ /**
11
+ * Copy that reports what happened.
12
+ *
13
+ * Both clipboard libraries are OPTIONAL peers, so `copyToClipboard` resolves
14
+ * false in an app that installed neither — a copy button that silently does
15
+ * nothing is worse than no copy button, so that case falls through to the OS
16
+ * share sheet (which also offers Copy) instead of failing quietly.
17
+ *
18
+ * `getText` is read on PRESS, not on render: the whole-transcript callers
19
+ * would otherwise rebuild the transcript on every frame of a streaming answer
20
+ * just to have a string ready for a button nobody tapped.
21
+ */
22
+
23
+ /** Long enough to notice out of the corner of an eye, short enough not to linger. */
24
+ const COPIED_MS = 1500;
25
+ function useCopyAction(getText) {
26
+ const [copied, setCopied] = (0, _react.useState)(false);
27
+ const timer = (0, _react.useRef)(null);
28
+ (0, _react.useEffect)(() => () => {
29
+ if (timer.current) clearTimeout(timer.current);
30
+ }, []);
31
+ const copy = (0, _react.useCallback)(() => {
32
+ const text = getText();
33
+ void (0, _sharedUi.copyToClipboard)(text).then(ok => {
34
+ if (!ok) {
35
+ void _reactNative.Share.share({
36
+ message: text
37
+ }).catch(() => {});
38
+ return;
39
+ }
40
+ setCopied(true);
41
+ if (timer.current) clearTimeout(timer.current);
42
+ timer.current = setTimeout(() => setCopied(false), COPIED_MS);
43
+ }).catch(() => {});
44
+ }, [getText]);
45
+ return {
46
+ copied,
47
+ copy
48
+ };
49
+ }
50
+ //# sourceMappingURL=useCopyAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","COPIED_MS","useCopyAction","getText","copied","setCopied","useState","timer","useRef","useEffect","current","clearTimeout","copy","useCallback","text","copyToClipboard","then","ok","Share","share","message","catch","setTimeout"],"sourceRoot":"../../../src","sources":["components/useCopyAction.ts"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA,MAAMG,SAAS,GAAG,IAAI;AAEf,SAASC,aAAaA,CAACC,OAAqB,EAAyC;EAC1F,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAC3C,MAAMC,KAAK,GAAG,IAAAC,aAAM,EAAuC,IAAI,CAAC;EAChE,IAAAC,gBAAS,EACP,MAAM,MAAM;IACV,IAAIF,KAAK,CAACG,OAAO,EAAEC,YAAY,CAACJ,KAAK,CAACG,OAAO,CAAC;EAChD,CAAC,EACD,EACF,CAAC;EAED,MAAME,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7B,MAAMC,IAAI,GAAGX,OAAO,CAAC,CAAC;IACtB,KAAK,IAAAY,yBAAe,EAACD,IAAI,CAAC,CACvBE,IAAI,CAAEC,EAAE,IAAK;MACZ,IAAI,CAACA,EAAE,EAAE;QACP,KAAKC,kBAAK,CAACC,KAAK,CAAC;UAAEC,OAAO,EAAEN;QAAK,CAAC,CAAC,CAACO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD;MACF;MACAhB,SAAS,CAAC,IAAI,CAAC;MACf,IAAIE,KAAK,CAACG,OAAO,EAAEC,YAAY,CAACJ,KAAK,CAACG,OAAO,CAAC;MAC9CH,KAAK,CAACG,OAAO,GAAGY,UAAU,CAAC,MAAMjB,SAAS,CAAC,KAAK,CAAC,EAAEJ,SAAS,CAAC;IAC/D,CAAC,CAAC,CACDoB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACpB,CAAC,EAAE,CAAClB,OAAO,CAAC,CAAC;EAEb,OAAO;IAAEC,MAAM;IAAEQ;EAAK,CAAC;AACzB","ignoreList":[]}
@@ -1 +1,252 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ASK_BUOY_ADAPTER_VERSION",{enumerable:!0,get:function(){return _askBuoySyncAdapter.ASK_BUOY_ADAPTER_VERSION}}),Object.defineProperty(exports,"ASK_BUOY_ICON_COLOR",{enumerable:!0,get:function(){return _preset.ASK_BUOY_ICON_COLOR}}),Object.defineProperty(exports,"ApprovalCard",{enumerable:!0,get:function(){return _ApprovalCard.ApprovalCard}}),Object.defineProperty(exports,"AskBuoyHeader",{enumerable:!0,get:function(){return _AskBuoyHeader.AskBuoyHeader}}),Object.defineProperty(exports,"AskBuoyIcon",{enumerable:!0,get:function(){return _preset.AskBuoyIcon}}),Object.defineProperty(exports,"AskBuoyModal",{enumerable:!0,get:function(){return _AskBuoyModal.AskBuoyModal}}),Object.defineProperty(exports,"BlockActionRow",{enumerable:!0,get:function(){return _blocks.ActionRow}}),Object.defineProperty(exports,"BlockCard",{enumerable:!0,get:function(){return _blocks.Card}}),Object.defineProperty(exports,"BlockHandlersProvider",{enumerable:!0,get:function(){return _blocks.BlockHandlersProvider}}),Object.defineProperty(exports,"BlockRenderer",{enumerable:!0,get:function(){return _blocks.BlockRenderer}}),Object.defineProperty(exports,"ChangesBar",{enumerable:!0,get:function(){return _ChangesBar.ChangesBar}}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _Composer.Composer}}),Object.defineProperty(exports,"EditableUserBubble",{enumerable:!0,get:function(){return _blocks.EditableUserBubble}}),Object.defineProperty(exports,"ElapsedRow",{enumerable:!0,get:function(){return _blocks.ElapsedRow}}),Object.defineProperty(exports,"LivePill",{enumerable:!0,get:function(){return _blocks.LivePill}}),Object.defineProperty(exports,"Markdown",{enumerable:!0,get:function(){return _Markdown.Markdown}}),Object.defineProperty(exports,"MessageActions",{enumerable:!0,get:function(){return _blocks.MessageActions}}),Object.defineProperty(exports,"MessageList",{enumerable:!0,get:function(){return _MessageList.MessageList}}),Object.defineProperty(exports,"ProvenanceBadge",{enumerable:!0,get:function(){return _blocks.ProvenanceBadge}}),Object.defineProperty(exports,"QueuedComposer",{enumerable:!0,get:function(){return _blocks.QueuedComposer}}),Object.defineProperty(exports,"ReasoningStrip",{enumerable:!0,get:function(){return _blocks.ReasoningStrip}}),Object.defineProperty(exports,"ReloadDivider",{enumerable:!0,get:function(){return _blocks.ReloadDivider}}),Object.defineProperty(exports,"Timestamp",{enumerable:!0,get:function(){return _blocks.Timestamp}}),Object.defineProperty(exports,"askBuoyStore",{enumerable:!0,get:function(){return _askBuoyStore.askBuoyStore}}),Object.defineProperty(exports,"askBuoySyncAdapter",{enumerable:!0,get:function(){return _askBuoySyncAdapter.askBuoySyncAdapter}}),Object.defineProperty(exports,"askBuoyToolPreset",{enumerable:!0,get:function(){return _preset.askBuoyToolPreset}}),Object.defineProperty(exports,"createAskBuoyTool",{enumerable:!0,get:function(){return _preset.createAskBuoyTool}}),Object.defineProperty(exports,"redactForWire",{enumerable:!0,get:function(){return _wire.redactForWire}}),Object.defineProperty(exports,"useAskBuoy",{enumerable:!0,get:function(){return _useAskBuoy.useAskBuoy}}),Object.defineProperty(exports,"useAskBuoyState",{enumerable:!0,get:function(){return _useAskBuoy.useAskBuoyState}}),Object.defineProperty(exports,"useBlockHandlers",{enumerable:!0,get:function(){return _blocks.useBlockHandlers}});var _AskBuoyModal=require("./components/AskBuoyModal"),_preset=require("./preset"),_askBuoySyncAdapter=require("./sync/askBuoySyncAdapter"),_askBuoyStore=require("./store/askBuoyStore"),_useAskBuoy=require("./store/useAskBuoy"),_wire=require("./sync/wire"),_blocks=require("./blocks"),_Markdown=require("./components/Markdown"),_MessageList=require("./components/MessageList"),_AskBuoyHeader=require("./components/AskBuoyHeader"),_Composer=require("./components/Composer"),_ChangesBar=require("./components/ChangesBar"),_ApprovalCard=require("./components/ApprovalCard");
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ASK_BUOY_ADAPTER_VERSION", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _askBuoySyncAdapter.ASK_BUOY_ADAPTER_VERSION;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ASK_BUOY_ICON_COLOR", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _preset.ASK_BUOY_ICON_COLOR;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ApprovalCard", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ApprovalCard.ApprovalCard;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "AskBuoyHeader", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _AskBuoyHeader.AskBuoyHeader;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "AskBuoyIcon", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _preset.AskBuoyIcon;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "AskBuoyModal", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _AskBuoyModal.AskBuoyModal;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "AskBuoySettings", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _AskBuoySettings.AskBuoySettings;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "BlockActionRow", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _blocks.ActionRow;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "BlockCard", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _blocks.Card;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "BlockHandlersProvider", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _blocks.BlockHandlersProvider;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "BlockRenderer", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _blocks.BlockRenderer;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "ChangesBar", {
73
+ enumerable: true,
74
+ get: function () {
75
+ return _ChangesBar.ChangesBar;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "Composer", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _Composer.Composer;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "EditableUserBubble", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _blocks.EditableUserBubble;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "ElapsedRow", {
91
+ enumerable: true,
92
+ get: function () {
93
+ return _blocks.ElapsedRow;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "LivePill", {
97
+ enumerable: true,
98
+ get: function () {
99
+ return _blocks.LivePill;
100
+ }
101
+ });
102
+ Object.defineProperty(exports, "Markdown", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _Markdown.Markdown;
106
+ }
107
+ });
108
+ Object.defineProperty(exports, "MessageActions", {
109
+ enumerable: true,
110
+ get: function () {
111
+ return _blocks.MessageActions;
112
+ }
113
+ });
114
+ Object.defineProperty(exports, "MessageList", {
115
+ enumerable: true,
116
+ get: function () {
117
+ return _MessageList.MessageList;
118
+ }
119
+ });
120
+ Object.defineProperty(exports, "ProvenanceBadge", {
121
+ enumerable: true,
122
+ get: function () {
123
+ return _blocks.ProvenanceBadge;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, "QueuedComposer", {
127
+ enumerable: true,
128
+ get: function () {
129
+ return _blocks.QueuedComposer;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, "ReasoningStrip", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _blocks.ReasoningStrip;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, "ReloadDivider", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _blocks.ReloadDivider;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, "ThinkingStrip", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _ThinkingStrip.ThinkingStrip;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, "Timestamp", {
151
+ enumerable: true,
152
+ get: function () {
153
+ return _blocks.Timestamp;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, "askBuoySettings", {
157
+ enumerable: true,
158
+ get: function () {
159
+ return _askBuoySettings.askBuoySettings;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "askBuoyStore", {
163
+ enumerable: true,
164
+ get: function () {
165
+ return _askBuoyStore.askBuoyStore;
166
+ }
167
+ });
168
+ Object.defineProperty(exports, "askBuoySyncAdapter", {
169
+ enumerable: true,
170
+ get: function () {
171
+ return _askBuoySyncAdapter.askBuoySyncAdapter;
172
+ }
173
+ });
174
+ Object.defineProperty(exports, "askBuoyToolPreset", {
175
+ enumerable: true,
176
+ get: function () {
177
+ return _preset.askBuoyToolPreset;
178
+ }
179
+ });
180
+ Object.defineProperty(exports, "createAskBuoyTool", {
181
+ enumerable: true,
182
+ get: function () {
183
+ return _preset.createAskBuoyTool;
184
+ }
185
+ });
186
+ Object.defineProperty(exports, "hasTrace", {
187
+ enumerable: true,
188
+ get: function () {
189
+ return _traceText.hasTrace;
190
+ }
191
+ });
192
+ Object.defineProperty(exports, "redactForWire", {
193
+ enumerable: true,
194
+ get: function () {
195
+ return _wire.redactForWire;
196
+ }
197
+ });
198
+ Object.defineProperty(exports, "traceEntries", {
199
+ enumerable: true,
200
+ get: function () {
201
+ return _traceText.traceEntries;
202
+ }
203
+ });
204
+ Object.defineProperty(exports, "traceToText", {
205
+ enumerable: true,
206
+ get: function () {
207
+ return _traceText.traceToText;
208
+ }
209
+ });
210
+ Object.defineProperty(exports, "useAskBuoy", {
211
+ enumerable: true,
212
+ get: function () {
213
+ return _useAskBuoy.useAskBuoy;
214
+ }
215
+ });
216
+ Object.defineProperty(exports, "useAskBuoySettings", {
217
+ enumerable: true,
218
+ get: function () {
219
+ return _useAskBuoySettings.useAskBuoySettings;
220
+ }
221
+ });
222
+ Object.defineProperty(exports, "useAskBuoyState", {
223
+ enumerable: true,
224
+ get: function () {
225
+ return _useAskBuoy.useAskBuoyState;
226
+ }
227
+ });
228
+ Object.defineProperty(exports, "useBlockHandlers", {
229
+ enumerable: true,
230
+ get: function () {
231
+ return _blocks.useBlockHandlers;
232
+ }
233
+ });
234
+ var _AskBuoyModal = require("./components/AskBuoyModal");
235
+ var _preset = require("./preset");
236
+ var _askBuoySyncAdapter = require("./sync/askBuoySyncAdapter");
237
+ var _askBuoyStore = require("./store/askBuoyStore");
238
+ var _useAskBuoy = require("./store/useAskBuoy");
239
+ var _wire = require("./sync/wire");
240
+ var _blocks = require("./blocks");
241
+ var _Markdown = require("./components/Markdown");
242
+ var _MessageList = require("./components/MessageList");
243
+ var _AskBuoyHeader = require("./components/AskBuoyHeader");
244
+ var _AskBuoySettings = require("./components/AskBuoySettings");
245
+ var _ThinkingStrip = require("./components/ThinkingStrip");
246
+ var _askBuoySettings = require("./store/askBuoySettings");
247
+ var _useAskBuoySettings = require("./store/useAskBuoySettings");
248
+ var _traceText = require("./store/traceText");
249
+ var _Composer = require("./components/Composer");
250
+ var _ChangesBar = require("./components/ChangesBar");
251
+ var _ApprovalCard = require("./components/ApprovalCard");
252
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AskBuoyModal","require","_preset","_askBuoySyncAdapter","_askBuoyStore","_useAskBuoy","_wire","_blocks","_Markdown","_MessageList","_AskBuoyHeader","_AskBuoySettings","_ThinkingStrip","_askBuoySettings","_useAskBuoySettings","_traceText","_Composer","_ChangesBar","_ApprovalCard"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAOA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAGA,IAAAK,KAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAKA,IAAAO,SAAA,GAAAP,OAAA;AAGA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AACA,IAAAU,gBAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AACA,IAAAa,mBAAA,GAAAb,OAAA;AACA,IAAAc,UAAA,GAAAd,OAAA;AACA,IAAAe,SAAA,GAAAf,OAAA;AACA,IAAAgB,WAAA,GAAAhB,OAAA;AACA,IAAAiB,aAAA,GAAAjB,OAAA","ignoreList":[]}
@@ -1 +1,90 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ASK_BUOY_ICON_COLOR",{enumerable:!0,get:function(){return _AskBuoyIcon.ASK_BUOY_ICON_COLOR}}),Object.defineProperty(exports,"AskBuoyIcon",{enumerable:!0,get:function(){return _AskBuoyIcon.AskBuoyIcon}}),exports.askBuoyToolPreset=void 0,exports.createAskBuoyTool=createAskBuoyTool;var _AskBuoyIcon=require("./components/AskBuoyIcon"),_AskBuoyModal=require("./components/AskBuoyModal"),_jsxRuntime=require("react/jsx-runtime");const askBuoyToolPreset=exports.askBuoyToolPreset={id:"ask-buoy",name:"ASK BUOY",description:"Ask about this app in plain English",slot:"both",color:_AskBuoyIcon.ASK_BUOY_ICON_COLOR,icon:({size:o,color:e})=>(0,_jsxRuntime.jsx)(_AskBuoyIcon.AskBuoyIcon,{size:o,color:e||_AskBuoyIcon.ASK_BUOY_ICON_COLOR}),component:_AskBuoyModal.AskBuoyModal};function createAskBuoyTool(o){const{name:e,description:s,...n}=o,t=n;return{...askBuoyToolPreset,name:e??askBuoyToolPreset.name,description:s??askBuoyToolPreset.description,component:o=>(0,_jsxRuntime.jsx)(_AskBuoyModal.AskBuoyModal,{...o,config:t})}}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ASK_BUOY_ICON_COLOR", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _AskBuoyIcon.ASK_BUOY_ICON_COLOR;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "AskBuoyIcon", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _AskBuoyIcon.AskBuoyIcon;
16
+ }
17
+ });
18
+ exports.askBuoyToolPreset = void 0;
19
+ exports.createAskBuoyTool = createAskBuoyTool;
20
+ var _AskBuoyIcon = require("./components/AskBuoyIcon");
21
+ var _AskBuoyModal = require("./components/AskBuoyModal");
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+ /**
24
+ * The Ask Buoy tool preset.
25
+ *
26
+ * Manual chrome (`component` renders its own JsModal) rather than the
27
+ * declarative `modal` config, because ToolModalShell forwards neither a footer
28
+ * slot nor `initialHeight` — and a chat needs a sticky composer and more than
29
+ * the default 400pt of sheet.
30
+ *
31
+ * The config is closed over at creation time rather than read from a store, so
32
+ * the endpoint and headers come from the app's own code on every render and
33
+ * there is never a copy of them sitting anywhere Buoy persists.
34
+ */
35
+
36
+ const askBuoyToolPreset = exports.askBuoyToolPreset = {
37
+ id: "ask-buoy",
38
+ name: "ASK BUOY",
39
+ description: "Ask about this app in plain English",
40
+ slot: "both",
41
+ // Set here rather than in floating-tools-core's `toolColors` map: that map
42
+ // is already missing half the shipped tools, so the web twin falls back to a
43
+ // generic accent for them. A color on the preset is the one place both
44
+ // native and web read.
45
+ color: _AskBuoyIcon.ASK_BUOY_ICON_COLOR,
46
+ icon: ({
47
+ size,
48
+ color
49
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_AskBuoyIcon.AskBuoyIcon, {
50
+ size: size,
51
+ color: color || _AskBuoyIcon.ASK_BUOY_ICON_COLOR
52
+ }),
53
+ component: _AskBuoyModal.AskBuoyModal
54
+ };
55
+
56
+ /**
57
+ * `endpoint` and `model` are REQUIRED at the type level. This used to extend
58
+ * Partial<AskBuoyConfig> with a cast, so a missing endpoint type-checked and
59
+ * only surfaced as a runtime "not set up yet" — the wrong moment to learn it.
60
+ */
61
+
62
+ /**
63
+ * Wire Ask Buoy to your team's AI endpoint.
64
+ *
65
+ * @example
66
+ * createAskBuoyTool({
67
+ * endpoint: "https://ai.acme.com/v1/messages",
68
+ * model: "claude-opus-5",
69
+ * headers: async () => ({ Authorization: `Bearer ${await auth.getToken()}` }),
70
+ * context: { notes: ["user.rewards.points = loyalty points"] },
71
+ * })
72
+ */
73
+ function createAskBuoyTool(config) {
74
+ const {
75
+ name,
76
+ description,
77
+ ...rest
78
+ } = config;
79
+ const resolved = rest;
80
+ return {
81
+ ...askBuoyToolPreset,
82
+ name: name ?? askBuoyToolPreset.name,
83
+ description: description ?? askBuoyToolPreset.description,
84
+ component: props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_AskBuoyModal.AskBuoyModal, {
85
+ ...props,
86
+ config: resolved
87
+ })
88
+ };
89
+ }
90
+ //# sourceMappingURL=preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AskBuoyIcon","require","_AskBuoyModal","_jsxRuntime","askBuoyToolPreset","exports","id","name","description","slot","color","ASK_BUOY_ICON_COLOR","icon","size","jsx","AskBuoyIcon","component","AskBuoyModal","createAskBuoyTool","config","rest","resolved","props"],"sourceRoot":"../../src","sources":["preset.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;AAYA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAiF,IAAAE,WAAA,GAAAF,OAAA;AAbjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOO,MAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC/BE,EAAE,EAAE,UAAU;EACdC,IAAI,EAAE,UAAU;EAChBC,WAAW,EAAE,qCAAqC;EAClDC,IAAI,EAAE,MAAe;EACrB;EACA;EACA;EACA;EACAC,KAAK,EAAEC,gCAAmB;EAC1BC,IAAI,EAAEA,CAAC;IAAEC,IAAI;IAAEH;EAAwC,CAAC,kBACtD,IAAAP,WAAA,CAAAW,GAAA,EAACd,YAAA,CAAAe,WAAW;IAACF,IAAI,EAAEA,IAAK;IAACH,KAAK,EAAEA,KAAK,IAAIC;EAAoB,CAAE,CAChE;EACDK,SAAS,EAAEC;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAACC,MAAyB,EAAE;EAC3D,MAAM;IAAEZ,IAAI;IAAEC,WAAW;IAAE,GAAGY;EAAK,CAAC,GAAGD,MAAM;EAC7C,MAAME,QAAuB,GAAGD,IAAI;EACpC,OAAO;IACL,GAAGhB,iBAAiB;IACpBG,IAAI,EAAEA,IAAI,IAAIH,iBAAiB,CAACG,IAAI;IACpCC,WAAW,EAAEA,WAAW,IAAIJ,iBAAiB,CAACI,WAAW;IACzDQ,SAAS,EAAGM,KAAwB,iBAClC,IAAAnB,WAAA,CAAAW,GAAA,EAACZ,aAAA,CAAAe,YAAY;MAAA,GAAKK,KAAK;MAAEH,MAAM,EAAEE;IAAS,CAAE;EAEhD,CAAC;AACH","ignoreList":[]}