@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,239 @@
1
- "use strict";import{Pressable,StyleSheet,Text,View}from"react-native";import{AlertTriangle,night}from"@buoy-gg/shared-ui";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";export function ApprovalCard({pending:t,onAnswer:e}){return _jsxs(View,{style:styles.card,testID:"buoy-ask-buoy-approval",children:[_jsxs(View,{style:styles.titleRow,children:[_jsx(AlertTriangle,{size:14,color:night.color.warning}),_jsx(Text,{style:styles.title,children:"Allow this change?"})]}),_jsx(Text,{style:styles.label,children:t.label}),t.description?_jsx(Text,{style:styles.description,children:t.description}):null,_jsx(Text,{style:styles.reason,children:t.reason}),_jsxs(View,{style:styles.actions,children:[_jsx(Pressable,{testID:"buoy-ask-buoy-approve",accessibilityRole:"button",onPress:()=>e(!0),style:({pressed:t})=>[styles.button,styles.approve,t&&styles.pressed],children:_jsx(Text,{style:styles.approveText,children:"Allow"})}),_jsx(Pressable,{testID:"buoy-ask-buoy-reject",accessibilityRole:"button",onPress:()=>e(!1),style:({pressed:t})=>[styles.button,styles.reject,t&&styles.pressed],children:_jsx(Text,{style:styles.rejectText,children:"Not now"})})]})]})}const styles=StyleSheet.create({card:{marginHorizontal:night.gutter,marginBottom:10,padding:night.cardPad,borderRadius:night.radius.card,borderWidth:StyleSheet.hairlineWidth,borderColor:night.color.accentBorderStrong,backgroundColor:night.color.surface,gap:6},titleRow:{flexDirection:"row",alignItems:"center",gap:6},title:{color:night.color.text,fontSize:night.font.caption,fontWeight:"600"},label:{color:night.color.text,fontSize:night.font.row,fontWeight:"600",lineHeight:20},description:{color:night.color.textSecondary,fontSize:night.font.caption,lineHeight:18},reason:{color:night.color.warning,fontSize:night.font.caption,lineHeight:18},actions:{flexDirection:"row",gap:8,marginTop:6},button:{paddingHorizontal:16,paddingVertical:9,borderRadius:night.radius.row},approve:{backgroundColor:night.color.accent},approveText:{color:night.color.onAccent,fontWeight:"600",fontSize:night.font.caption},reject:{backgroundColor:night.color.button},rejectText:{color:night.color.text,fontSize:night.font.caption},pressed:{opacity:.7}});
1
+ "use strict";
2
+
3
+ /**
4
+ * The approval prompt, shown only when the policy asks for a tap.
5
+ *
6
+ * It renders the EFFECT, not the payload. That is the whole design constraint:
7
+ * every other agent product assumes a developer is reading the proposed
8
+ * command before approving it, and the people this tool is for cannot evaluate
9
+ * `redux_dispatch({type:'SET_ENTITLEMENTS', payload:{…}})`. An approval prompt
10
+ * nobody can read is not oversight — it is a rubber stamp that looks like
11
+ * oversight, which is worse than having no prompt at all.
12
+ *
13
+ * WHICH IS WHY THE DETAIL IS COLLAPSED. The card sits between the message list
14
+ * and the composer, so its height is taken out of the transcript rather than
15
+ * scrolled: a card taller than the sheet pushes its own buttons off the bottom
16
+ * with nothing to scroll them back. That is what happened — `description` is
17
+ * the catalog summary, written for the MODEL, and zustand's runs to a
18
+ * twenty-line paragraph about merge semantics. A prompt you physically cannot
19
+ * answer is the worst failure mode this component has.
20
+ *
21
+ * So the visible card is fixed-height by construction — the title, the effect
22
+ * in one line, the consequence in one line, a disclosure, and the buttons —
23
+ * and the long text lives behind the disclosure inside a capped scroll box, so
24
+ * expanding it can never push the buttons away again either.
25
+ */
26
+ import { useState } from "react";
27
+ import { Pressable, ScrollView, StyleSheet, Text, View } from "react-native";
28
+ import { AlertTriangle, ChevronDown, night } from "@buoy-gg/shared-ui";
29
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
30
+ export function ApprovalCard({
31
+ pending,
32
+ onAnswer
33
+ }) {
34
+ return /*#__PURE__*/_jsxs(View, {
35
+ style: styles.card,
36
+ testID: "buoy-ask-buoy-approval",
37
+ children: [/*#__PURE__*/_jsxs(View, {
38
+ style: styles.titleRow,
39
+ children: [/*#__PURE__*/_jsx(AlertTriangle, {
40
+ size: 14,
41
+ color: night.color.warning
42
+ }), /*#__PURE__*/_jsx(Text, {
43
+ style: styles.title,
44
+ children: "Allow this change?"
45
+ })]
46
+ }), pending.restored ? /*#__PURE__*/_jsx(Text, {
47
+ style: styles.restored,
48
+ testID: "buoy-ask-buoy-approval-restored",
49
+ children: "Asked before the app restarted \u2014 check it still applies."
50
+ }) : null, /*#__PURE__*/_jsx(Text, {
51
+ style: styles.label,
52
+ children: pending.label
53
+ }), /*#__PURE__*/_jsx(Text, {
54
+ style: styles.reason,
55
+ children: pending.reason
56
+ }), pending.description ? /*#__PURE__*/_jsx(ApprovalDetails, {
57
+ text: pending.description
58
+ }) : null, /*#__PURE__*/_jsxs(View, {
59
+ style: styles.actions,
60
+ children: [/*#__PURE__*/_jsx(Pressable, {
61
+ testID: "buoy-ask-buoy-approve",
62
+ accessibilityRole: "button",
63
+ onPress: () => onAnswer(true),
64
+ style: ({
65
+ pressed
66
+ }) => [styles.button, styles.approve, pressed && styles.pressed],
67
+ children: /*#__PURE__*/_jsx(Text, {
68
+ style: styles.approveText,
69
+ children: "Allow"
70
+ })
71
+ }), /*#__PURE__*/_jsx(Pressable, {
72
+ testID: "buoy-ask-buoy-reject",
73
+ accessibilityRole: "button",
74
+ onPress: () => onAnswer(false),
75
+ style: ({
76
+ pressed
77
+ }) => [styles.button, styles.reject, pressed && styles.pressed],
78
+ children: /*#__PURE__*/_jsx(Text, {
79
+ style: styles.rejectText,
80
+ children: "Not now"
81
+ })
82
+ })]
83
+ })]
84
+ });
85
+ }
86
+
87
+ /**
88
+ * The catalog's own description, behind a disclosure, closed by default.
89
+ *
90
+ * Owns its open state rather than taking it as a prop: nothing above the card
91
+ * needs to know, and answering the prompt unmounts the whole thing anyway.
92
+ * One ChevronDown rotated in place, not a swap between two icon components —
93
+ * the tree keeps its shape whichever way it is pointing.
94
+ */
95
+ function ApprovalDetails({
96
+ text
97
+ }) {
98
+ const [open, setOpen] = useState(false);
99
+ return /*#__PURE__*/_jsxs(View, {
100
+ children: [/*#__PURE__*/_jsxs(Pressable, {
101
+ testID: "buoy-ask-buoy-approval-details",
102
+ accessibilityRole: "button",
103
+ accessibilityState: {
104
+ expanded: open
105
+ },
106
+ onPress: () => setOpen(prev => !prev),
107
+ style: ({
108
+ pressed
109
+ }) => [styles.disclosure, pressed && styles.pressed],
110
+ hitSlop: 6,
111
+ children: [/*#__PURE__*/_jsx(View, {
112
+ style: open ? styles.chevronOpen : styles.chevronClosed,
113
+ children: /*#__PURE__*/_jsx(ChevronDown, {
114
+ size: 12,
115
+ color: night.color.textTertiary
116
+ })
117
+ }), /*#__PURE__*/_jsx(Text, {
118
+ style: styles.disclosureText,
119
+ children: open ? "Hide details" : "Details"
120
+ })]
121
+ }), open ?
122
+ /*#__PURE__*/
123
+ // Capped and scrollable: the text behind this is unbounded, and the
124
+ // buttons below must stay on screen whatever it says.
125
+ _jsx(ScrollView, {
126
+ style: styles.detail,
127
+ contentContainerStyle: styles.detailContent,
128
+ nestedScrollEnabled: true,
129
+ children: /*#__PURE__*/_jsx(Text, {
130
+ style: styles.description,
131
+ children: text
132
+ })
133
+ }) : null]
134
+ });
135
+ }
136
+ const styles = StyleSheet.create({
137
+ card: {
138
+ marginHorizontal: night.gutter,
139
+ marginBottom: 10,
140
+ padding: night.cardPad,
141
+ borderRadius: night.radius.card,
142
+ borderWidth: StyleSheet.hairlineWidth,
143
+ borderColor: night.color.accentBorderStrong,
144
+ backgroundColor: night.color.surface,
145
+ gap: 6
146
+ },
147
+ titleRow: {
148
+ flexDirection: "row",
149
+ alignItems: "center",
150
+ gap: 6
151
+ },
152
+ title: {
153
+ color: night.color.text,
154
+ fontSize: night.font.caption,
155
+ fontWeight: "600"
156
+ },
157
+ label: {
158
+ color: night.color.text,
159
+ fontSize: night.font.row,
160
+ fontWeight: "600",
161
+ lineHeight: 20
162
+ },
163
+ description: {
164
+ color: night.color.textSecondary,
165
+ fontSize: night.font.caption,
166
+ lineHeight: 18
167
+ },
168
+ reason: {
169
+ color: night.color.warning,
170
+ fontSize: night.font.caption,
171
+ lineHeight: 18
172
+ },
173
+ restored: {
174
+ color: night.color.info,
175
+ backgroundColor: night.color.infoSoft,
176
+ fontSize: night.font.micro,
177
+ lineHeight: 16,
178
+ paddingHorizontal: 8,
179
+ paddingVertical: 5,
180
+ borderRadius: 8
181
+ },
182
+ disclosure: {
183
+ flexDirection: "row",
184
+ alignItems: "center",
185
+ gap: 4,
186
+ paddingVertical: 4
187
+ },
188
+ disclosureText: {
189
+ color: night.color.textTertiary,
190
+ fontSize: night.font.micro,
191
+ fontWeight: "600"
192
+ },
193
+ chevronOpen: {
194
+ transform: [{
195
+ rotate: "0deg"
196
+ }]
197
+ },
198
+ chevronClosed: {
199
+ transform: [{
200
+ rotate: "-90deg"
201
+ }]
202
+ },
203
+ detail: {
204
+ maxHeight: 150,
205
+ marginTop: 2
206
+ },
207
+ detailContent: {
208
+ paddingBottom: 2
209
+ },
210
+ actions: {
211
+ flexDirection: "row",
212
+ gap: 8,
213
+ marginTop: 6
214
+ },
215
+ button: {
216
+ paddingHorizontal: 16,
217
+ paddingVertical: 9,
218
+ borderRadius: night.radius.row
219
+ },
220
+ approve: {
221
+ backgroundColor: night.color.accent
222
+ },
223
+ approveText: {
224
+ color: night.color.onAccent,
225
+ fontWeight: "600",
226
+ fontSize: night.font.caption
227
+ },
228
+ reject: {
229
+ backgroundColor: night.color.button
230
+ },
231
+ rejectText: {
232
+ color: night.color.text,
233
+ fontSize: night.font.caption
234
+ },
235
+ pressed: {
236
+ opacity: 0.7
237
+ }
238
+ });
239
+ //# sourceMappingURL=ApprovalCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","Pressable","ScrollView","StyleSheet","Text","View","AlertTriangle","ChevronDown","night","jsx","_jsx","jsxs","_jsxs","ApprovalCard","pending","onAnswer","style","styles","card","testID","children","titleRow","size","color","warning","title","restored","label","reason","description","ApprovalDetails","text","actions","accessibilityRole","onPress","pressed","button","approve","approveText","reject","rejectText","open","setOpen","accessibilityState","expanded","prev","disclosure","hitSlop","chevronOpen","chevronClosed","textTertiary","disclosureText","detail","contentContainerStyle","detailContent","nestedScrollEnabled","create","marginHorizontal","gutter","marginBottom","padding","cardPad","borderRadius","radius","borderWidth","hairlineWidth","borderColor","accentBorderStrong","backgroundColor","surface","gap","flexDirection","alignItems","fontSize","font","caption","fontWeight","row","lineHeight","textSecondary","info","infoSoft","micro","paddingHorizontal","paddingVertical","transform","rotate","maxHeight","marginTop","paddingBottom","accent","onAccent","opacity"],"sourceRoot":"../../../src","sources":["components/ApprovalCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1,193 @@
1
- "use strict";import{useEffect,useState}from"react";import{StyleSheet,TouchableOpacity,View}from"react-native";import{ModalHeader,night,Otto,Plus}from"@buoy-gg/shared-ui";import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";const HEADER_TICK_MS=200;export function AskBuoyHeader({configured:t,busy:e,failed:o=!1,activeLabel:s,toolCount:i,hasMessages:a,onBack:r,onReset:n}){const[l,c]=useState(!1);useEffect(()=>{e?s&&c(!0):c(!1)},[e,s]);const u=t?o?"error":e?s||l?"robot":"thinking":"idle":"confused",d=t?e?s?`${s}…`:"Thinking…":i>0?`Ready · ${i} tool${1===i?"":"s"} available`:"Ready":"Not set up in this app";return _jsxs(ModalHeader,{children:[r?_jsx(ModalHeader.Navigation,{onBack:r}):null,_jsx(View,{style:styles.otto,testID:"buoy-ask-buoy-otto",children:_jsx(Otto,{state:u,pixelSize:2,tickMs:200,water:!1})}),_jsx(ModalHeader.Content,{title:"Ask Buoy",subtitle:d,testID:"buoy-ask-buoy-title"}),_jsx(ModalHeader.Actions,{children:_jsx(TouchableOpacity,{testID:"buoy-ask-buoy-reset",accessibilityRole:"button",accessibilityLabel:"New conversation",disabled:!a,onPress:n,style:[styles.actionBtn,!a&&styles.actionBtnDisabled],children:_jsx(Plus,{size:14,color:a?night.color.textSecondary:night.color.textTertiary})})})]})}const styles=StyleSheet.create({otto:{marginRight:8,justifyContent:"center"},actionBtn:{width:32,height:32,borderRadius:8,backgroundColor:night.color.buttonSurface,borderWidth:1,borderColor:night.color.border,alignItems:"center",justifyContent:"center"},actionBtnDisabled:{opacity:.55}});
1
+ "use strict";
2
+
3
+ /**
4
+ * The sheet header.
5
+ *
6
+ * Built on the shared `ModalHeader` so it matches Console, Network and Events
7
+ * 1:1 — the stock JsModal header was designed for a single centred title and
8
+ * paints its "Double tap: Toggle • Triple tap: Close" hint through the middle
9
+ * of it, which is how "Ask Buoy" ended up overprinted by grey italics.
10
+ *
11
+ * The subtitle is the one piece of live status the sheet has: what the agent
12
+ * is doing right now, in words a tester can act on. "Thinking…" while a
13
+ * response is streaming with no tool in flight, the current tool's title
14
+ * while one runs, and the reachable tool count at rest so a "why can't it
15
+ * see my network calls" question has an answer in the header.
16
+ *
17
+ * "New conversation" moved up here from a 11pt text link under the composer.
18
+ * A reset that lives under the keyboard is a reset nobody finds. Copy sits
19
+ * beside it for the same reason: the transcript actions under the newest
20
+ * answer are only reachable once you have scrolled back down to it.
21
+ */
22
+ import { useEffect, useState } from "react";
23
+ import { StyleSheet, TouchableOpacity, View } from "react-native";
24
+ import { Check, Copy, FileText, ModalHeader, night, Otto, Plus, SettingsSolid } from "@buoy-gg/shared-ui";
25
+ import { useCopyAction } from "./useCopyAction";
26
+ import { formatElapsed } from "../store/activityGroups";
27
+
28
+ /**
29
+ * Slower than the sprite's default 140ms.
30
+ *
31
+ * This mascot is ambient status a user stares at for the length of a turn,
32
+ * not a moment of delight they glance at once — at the stock tick it read as
33
+ * fidgeting in the corner of the eye while you were trying to read the
34
+ * answer next to it. Every other placement keeps the default.
35
+ */
36
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
37
+ const HEADER_TICK_MS = 200;
38
+
39
+ /** No conversation to copy — the button is left out rather than left dead. */
40
+ const NO_TRANSCRIPT = () => "";
41
+ export function AskBuoyHeader({
42
+ configured,
43
+ busy,
44
+ failed = false,
45
+ activeLabel,
46
+ awaitingApproval = false,
47
+ startedAt = null,
48
+ stopping = false,
49
+ readOnly = false,
50
+ toolCount,
51
+ hasMessages,
52
+ onBack,
53
+ onReset,
54
+ getTranscript,
55
+ onOpenSettings,
56
+ onTicket
57
+ }) {
58
+ const {
59
+ copied,
60
+ copy
61
+ } = useCopyAction(getTranscript ?? NO_TRANSCRIPT);
62
+
63
+ /**
64
+ * ONE mascot state per turn, held to the end of it.
65
+ *
66
+ * `activeLabel` drops to null in the gap between two tool calls, so deriving
67
+ * the state from it directly flipped robot → thinking → robot on every
68
+ * boundary. A turn that runs four tools swapped the sprite eight times in
69
+ * about three seconds — a strobe that reads as a glitch, not as progress.
70
+ * So the robot latches: once this turn has driven a tool it stays `robot`
71
+ * until the turn ends, which is also the honest summary of that turn.
72
+ *
73
+ * The SUBTITLE still tracks each call, because updating a line of text is
74
+ * informative where restarting an animation is just noise.
75
+ */
76
+ const [droveTool, setDroveTool] = useState(false);
77
+ useEffect(() => {
78
+ if (!busy) setDroveTool(false);else if (activeLabel) setDroveTool(true);
79
+ }, [busy, activeLabel]);
80
+
81
+ /**
82
+ * The elapsed clock. Ticks only while a turn is running and not parked on
83
+ * the user (nothing is elapsing while an approval card waits for a tap).
84
+ */
85
+ const ticking = busy && !awaitingApproval && startedAt !== null;
86
+ const [now, setNow] = useState(() => Date.now());
87
+ useEffect(() => {
88
+ if (!ticking) return;
89
+ setNow(Date.now());
90
+ const timer = setInterval(() => setNow(Date.now()), 1000);
91
+ return () => clearInterval(timer);
92
+ }, [ticking]);
93
+ const elapsed = ticking && startedAt !== null ? formatElapsed(now - startedAt) : null;
94
+
95
+ /**
96
+ * Otto mirrors the subtitle, never contradicts it. This is the one place in
97
+ * the product where a mascot earns continuous presence: the user is waiting
98
+ * on a machine and the header is the only thing reporting on it.
99
+ *
100
+ * `robot` while a tool runs is literal — the agent IS driving the tools.
101
+ */
102
+ const otto = !configured ? "confused" : failed ? "error" : busy ? activeLabel || droveTool ? "robot" : "thinking" : "idle";
103
+ const working = stopping ? "Stopping" : activeLabel ?? "Thinking";
104
+ const subtitle = !configured ? "Not set up in this app" : awaitingApproval ? "Waiting for you" : busy ? elapsed ? `${working} · ${elapsed}` : `${working}…` : readOnly ? `Read only${toolCount > 0 ? ` · ${toolCount} tool${toolCount === 1 ? "" : "s"}` : ""}` : toolCount > 0 ? `Ready · ${toolCount} tool${toolCount === 1 ? "" : "s"} available` : "Ready";
105
+ return /*#__PURE__*/_jsxs(ModalHeader, {
106
+ children: [onBack ? /*#__PURE__*/_jsx(ModalHeader.Navigation, {
107
+ onBack: onBack
108
+ }) : null, /*#__PURE__*/_jsx(View, {
109
+ style: styles.otto,
110
+ testID: "buoy-ask-buoy-otto",
111
+ children: /*#__PURE__*/_jsx(Otto, {
112
+ state: otto,
113
+ pixelSize: 2,
114
+ tickMs: HEADER_TICK_MS,
115
+ water: false
116
+ })
117
+ }), /*#__PURE__*/_jsx(ModalHeader.Content, {
118
+ title: "Ask Buoy",
119
+ subtitle: subtitle,
120
+ testID: "buoy-ask-buoy-title"
121
+ }), /*#__PURE__*/_jsxs(ModalHeader.Actions, {
122
+ children: [onTicket ? /*#__PURE__*/_jsx(TouchableOpacity, {
123
+ testID: "buoy-ask-buoy-ticket",
124
+ accessibilityRole: "button",
125
+ accessibilityLabel: "Summarize for a ticket",
126
+ disabled: !hasMessages || busy,
127
+ onPress: onTicket,
128
+ style: [styles.actionBtn, (!hasMessages || busy) && styles.actionBtnDisabled],
129
+ children: /*#__PURE__*/_jsx(FileText, {
130
+ size: 14,
131
+ color: hasMessages && !busy ? night.color.textSecondary : night.color.textTertiary
132
+ })
133
+ }) : null, getTranscript ? /*#__PURE__*/_jsx(TouchableOpacity, {
134
+ testID: "buoy-ask-buoy-copy-chat",
135
+ accessibilityRole: "button",
136
+ accessibilityLabel: copied ? "Conversation copied" : "Copy conversation",
137
+ disabled: !hasMessages,
138
+ onPress: copy,
139
+ style: [styles.actionBtn, !hasMessages && styles.actionBtnDisabled],
140
+ children: copied ? /*#__PURE__*/_jsx(Check, {
141
+ size: 14,
142
+ color: night.color.accent
143
+ }) : /*#__PURE__*/_jsx(Copy, {
144
+ size: 14,
145
+ color: hasMessages ? night.color.textSecondary : night.color.textTertiary
146
+ })
147
+ }) : null, onOpenSettings ? /*#__PURE__*/_jsx(TouchableOpacity, {
148
+ testID: "buoy-ask-buoy-settings",
149
+ accessibilityRole: "button",
150
+ accessibilityLabel: "Settings",
151
+ onPress: onOpenSettings,
152
+ style: styles.actionBtn,
153
+ children: /*#__PURE__*/_jsx(SettingsSolid, {
154
+ size: 14,
155
+ color: night.color.textSecondary
156
+ })
157
+ }) : null, /*#__PURE__*/_jsx(TouchableOpacity, {
158
+ testID: "buoy-ask-buoy-reset",
159
+ accessibilityRole: "button",
160
+ accessibilityLabel: "New conversation",
161
+ disabled: !hasMessages,
162
+ onPress: onReset,
163
+ style: [styles.actionBtn, !hasMessages && styles.actionBtnDisabled],
164
+ children: /*#__PURE__*/_jsx(Plus, {
165
+ size: 14,
166
+ color: hasMessages ? night.color.textSecondary : night.color.textTertiary
167
+ })
168
+ })]
169
+ })]
170
+ });
171
+ }
172
+ const styles = StyleSheet.create({
173
+ // 32pt of Otto (16 grid × 2pt) reading as the header's status glyph.
174
+ otto: {
175
+ marginRight: 8,
176
+ justifyContent: "center"
177
+ },
178
+ // Same plate as the Console header's action buttons.
179
+ actionBtn: {
180
+ width: 32,
181
+ height: 32,
182
+ borderRadius: 8,
183
+ backgroundColor: night.color.buttonSurface,
184
+ borderWidth: 1,
185
+ borderColor: night.color.border,
186
+ alignItems: "center",
187
+ justifyContent: "center"
188
+ },
189
+ actionBtnDisabled: {
190
+ opacity: 0.55
191
+ }
192
+ });
193
+ //# sourceMappingURL=AskBuoyHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","StyleSheet","TouchableOpacity","View","Check","Copy","FileText","ModalHeader","night","Otto","Plus","SettingsSolid","useCopyAction","formatElapsed","jsx","_jsx","jsxs","_jsxs","HEADER_TICK_MS","NO_TRANSCRIPT","AskBuoyHeader","configured","busy","failed","activeLabel","awaitingApproval","startedAt","stopping","readOnly","toolCount","hasMessages","onBack","onReset","getTranscript","onOpenSettings","onTicket","copied","copy","droveTool","setDroveTool","ticking","now","setNow","Date","timer","setInterval","clearInterval","elapsed","otto","working","subtitle","children","Navigation","style","styles","testID","state","pixelSize","tickMs","water","Content","title","Actions","accessibilityRole","accessibilityLabel","disabled","onPress","actionBtn","actionBtnDisabled","size","color","textSecondary","textTertiary","accent","create","marginRight","justifyContent","width","height","borderRadius","backgroundColor","buttonSurface","borderWidth","borderColor","border","alignItems","opacity"],"sourceRoot":"../../../src","sources":["components/AskBuoyHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1,8 @@
1
- "use strict";export{AskBuoyIcon,ASK_BUOY_ICON_COLOR}from"@buoy-gg/floating-tools-core";
1
+ "use strict";
2
+
3
+ /**
4
+ * Re-exported from floating-tools-core so the tool package has one import
5
+ * surface, matching how every other Buoy tool exposes its icon.
6
+ */
7
+ export { AskBuoyIcon, ASK_BUOY_ICON_COLOR } from "@buoy-gg/floating-tools-core";
8
+ //# sourceMappingURL=AskBuoyIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AskBuoyIcon","ASK_BUOY_ICON_COLOR"],"sourceRoot":"../../../src","sources":["components/AskBuoyIcon.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,mBAAmB,QAAQ,8BAA8B","ignoreList":[]}