@buoy-gg/ask-buoy 7.0.34 → 7.0.35

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 (239) hide show
  1. package/README.md +1 -1
  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 +250 -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 +688 -1
  9. package/lib/commonjs/blocks/DataBlocks.js.map +1 -0
  10. package/lib/commonjs/blocks/ExtraBlocks.js +1854 -1
  11. package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -0
  12. package/lib/commonjs/blocks/MediaBlocks.js +140 -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/context.js +42 -1
  17. package/lib/commonjs/blocks/context.js.map +1 -0
  18. package/lib/commonjs/blocks/icons.js +96 -1
  19. package/lib/commonjs/blocks/icons.js.map +1 -0
  20. package/lib/commonjs/blocks/index.js +95 -1
  21. package/lib/commonjs/blocks/index.js.map +1 -0
  22. package/lib/commonjs/blocks/listRow.test.js +55 -0
  23. package/lib/commonjs/blocks/listRow.test.js.map +1 -0
  24. package/lib/commonjs/blocks/pageState.js +34 -0
  25. package/lib/commonjs/blocks/pageState.js.map +1 -0
  26. package/lib/commonjs/blocks/pageState.test.js +57 -0
  27. package/lib/commonjs/blocks/pageState.test.js.map +1 -0
  28. package/lib/commonjs/blocks/primitives.js +401 -1
  29. package/lib/commonjs/blocks/primitives.js.map +1 -0
  30. package/lib/commonjs/blocks/primitivesIndex.js +62 -1
  31. package/lib/commonjs/blocks/primitivesIndex.js.map +1 -0
  32. package/lib/commonjs/components/ApprovalCard.js +140 -1
  33. package/lib/commonjs/components/ApprovalCard.js.map +1 -0
  34. package/lib/commonjs/components/AskBuoyHeader.js +164 -1
  35. package/lib/commonjs/components/AskBuoyHeader.js.map +1 -0
  36. package/lib/commonjs/components/AskBuoyIcon.js +19 -1
  37. package/lib/commonjs/components/AskBuoyIcon.js.map +1 -0
  38. package/lib/commonjs/components/AskBuoyModal.js +353 -1
  39. package/lib/commonjs/components/AskBuoyModal.js.map +1 -0
  40. package/lib/commonjs/components/AskBuoySettings.js +69 -0
  41. package/lib/commonjs/components/AskBuoySettings.js.map +1 -0
  42. package/lib/commonjs/components/ChangesBar.js +211 -1
  43. package/lib/commonjs/components/ChangesBar.js.map +1 -0
  44. package/lib/commonjs/components/Composer.js +175 -1
  45. package/lib/commonjs/components/Composer.js.map +1 -0
  46. package/lib/commonjs/components/EmptyState.js +154 -1
  47. package/lib/commonjs/components/EmptyState.js.map +1 -0
  48. package/lib/commonjs/components/Markdown.js +252 -1
  49. package/lib/commonjs/components/Markdown.js.map +1 -0
  50. package/lib/commonjs/components/MessageList.js +683 -1
  51. package/lib/commonjs/components/MessageList.js.map +1 -0
  52. package/lib/commonjs/components/ThinkingStrip.js +223 -0
  53. package/lib/commonjs/components/ThinkingStrip.js.map +1 -0
  54. package/lib/commonjs/components/TypingDots.js +63 -1
  55. package/lib/commonjs/components/TypingDots.js.map +1 -0
  56. package/lib/commonjs/components/useCopyAction.js +50 -0
  57. package/lib/commonjs/components/useCopyAction.js.map +1 -0
  58. package/lib/commonjs/index.js +252 -1
  59. package/lib/commonjs/index.js.map +1 -0
  60. package/lib/commonjs/preset.js +90 -1
  61. package/lib/commonjs/preset.js.map +1 -0
  62. package/lib/commonjs/store/askBuoySettings.js +67 -0
  63. package/lib/commonjs/store/askBuoySettings.js.map +1 -0
  64. package/lib/commonjs/store/askBuoyStore.js +365 -1
  65. package/lib/commonjs/store/askBuoyStore.js.map +1 -0
  66. package/lib/commonjs/store/restoredIds.test.js +47 -0
  67. package/lib/commonjs/store/restoredIds.test.js.map +1 -0
  68. package/lib/commonjs/store/traceText.js +81 -0
  69. package/lib/commonjs/store/traceText.js.map +1 -0
  70. package/lib/commonjs/store/traceText.test.js +112 -0
  71. package/lib/commonjs/store/traceText.test.js.map +1 -0
  72. package/lib/commonjs/store/transcriptPersistence.js +208 -0
  73. package/lib/commonjs/store/transcriptPersistence.js.map +1 -0
  74. package/lib/commonjs/store/transcriptPersistence.test.js +185 -0
  75. package/lib/commonjs/store/transcriptPersistence.test.js.map +1 -0
  76. package/lib/commonjs/store/useAskBuoy.js +400 -1
  77. package/lib/commonjs/store/useAskBuoy.js.map +1 -0
  78. package/lib/commonjs/store/useAskBuoySettings.js +14 -0
  79. package/lib/commonjs/store/useAskBuoySettings.js.map +1 -0
  80. package/lib/commonjs/sync/askBuoySyncAdapter.js +119 -1
  81. package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -0
  82. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +141 -1
  83. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -0
  84. package/lib/commonjs/sync/wire.js +58 -1
  85. package/lib/commonjs/sync/wire.js.map +1 -0
  86. package/lib/commonjs/types.js +6 -1
  87. package/lib/commonjs/types.js.map +1 -0
  88. package/lib/module/blocks/AskBlocks.js +331 -1
  89. package/lib/module/blocks/AskBlocks.js.map +1 -0
  90. package/lib/module/blocks/BlockRenderer.js +245 -1
  91. package/lib/module/blocks/BlockRenderer.js.map +1 -0
  92. package/lib/module/blocks/ChromePrototypes.js +503 -1
  93. package/lib/module/blocks/ChromePrototypes.js.map +1 -0
  94. package/lib/module/blocks/DataBlocks.js +674 -1
  95. package/lib/module/blocks/DataBlocks.js.map +1 -0
  96. package/lib/module/blocks/ExtraBlocks.js +1827 -1
  97. package/lib/module/blocks/ExtraBlocks.js.map +1 -0
  98. package/lib/module/blocks/MediaBlocks.js +135 -1
  99. package/lib/module/blocks/MediaBlocks.js.map +1 -0
  100. package/lib/module/blocks/ReceiptBlocks.js +574 -1
  101. package/lib/module/blocks/ReceiptBlocks.js.map +1 -0
  102. package/lib/module/blocks/context.js +35 -1
  103. package/lib/module/blocks/context.js.map +1 -0
  104. package/lib/module/blocks/icons.js +91 -1
  105. package/lib/module/blocks/icons.js.map +1 -0
  106. package/lib/module/blocks/index.js +8 -1
  107. package/lib/module/blocks/index.js.map +1 -0
  108. package/lib/module/blocks/listRow.test.js +56 -0
  109. package/lib/module/blocks/listRow.test.js.map +1 -0
  110. package/lib/module/blocks/pageState.js +30 -0
  111. package/lib/module/blocks/pageState.js.map +1 -0
  112. package/lib/module/blocks/pageState.test.js +56 -0
  113. package/lib/module/blocks/pageState.test.js.map +1 -0
  114. package/lib/module/blocks/primitives.js +389 -1
  115. package/lib/module/blocks/primitives.js.map +1 -0
  116. package/lib/module/blocks/primitivesIndex.js +5 -1
  117. package/lib/module/blocks/primitivesIndex.js.map +1 -0
  118. package/lib/module/components/ApprovalCard.js +135 -1
  119. package/lib/module/components/ApprovalCard.js.map +1 -0
  120. package/lib/module/components/AskBuoyHeader.js +161 -1
  121. package/lib/module/components/AskBuoyHeader.js.map +1 -0
  122. package/lib/module/components/AskBuoyIcon.js +8 -1
  123. package/lib/module/components/AskBuoyIcon.js.map +1 -0
  124. package/lib/module/components/AskBuoyModal.js +348 -1
  125. package/lib/module/components/AskBuoyModal.js.map +1 -0
  126. package/lib/module/components/AskBuoySettings.js +64 -0
  127. package/lib/module/components/AskBuoySettings.js.map +1 -0
  128. package/lib/module/components/ChangesBar.js +206 -1
  129. package/lib/module/components/ChangesBar.js.map +1 -0
  130. package/lib/module/components/Composer.js +170 -1
  131. package/lib/module/components/Composer.js.map +1 -0
  132. package/lib/module/components/EmptyState.js +149 -1
  133. package/lib/module/components/EmptyState.js.map +1 -0
  134. package/lib/module/components/Markdown.js +246 -1
  135. package/lib/module/components/Markdown.js.map +1 -0
  136. package/lib/module/components/MessageList.js +677 -1
  137. package/lib/module/components/MessageList.js.map +1 -0
  138. package/lib/module/components/ThinkingStrip.js +218 -0
  139. package/lib/module/components/ThinkingStrip.js.map +1 -0
  140. package/lib/module/components/TypingDots.js +58 -1
  141. package/lib/module/components/TypingDots.js.map +1 -0
  142. package/lib/module/components/useCopyAction.js +46 -0
  143. package/lib/module/components/useCopyAction.js.map +1 -0
  144. package/lib/module/index.js +34 -1
  145. package/lib/module/index.js.map +1 -0
  146. package/lib/module/preset.js +73 -1
  147. package/lib/module/preset.js.map +1 -0
  148. package/lib/module/store/askBuoySettings.js +62 -0
  149. package/lib/module/store/askBuoySettings.js.map +1 -0
  150. package/lib/module/store/askBuoyStore.js +361 -1
  151. package/lib/module/store/askBuoyStore.js.map +1 -0
  152. package/lib/module/store/restoredIds.test.js +46 -0
  153. package/lib/module/store/restoredIds.test.js.map +1 -0
  154. package/lib/module/store/traceText.js +75 -0
  155. package/lib/module/store/traceText.js.map +1 -0
  156. package/lib/module/store/traceText.test.js +111 -0
  157. package/lib/module/store/traceText.test.js.map +1 -0
  158. package/lib/module/store/transcriptPersistence.js +198 -0
  159. package/lib/module/store/transcriptPersistence.js.map +1 -0
  160. package/lib/module/store/transcriptPersistence.test.js +184 -0
  161. package/lib/module/store/transcriptPersistence.test.js.map +1 -0
  162. package/lib/module/store/useAskBuoy.js +394 -1
  163. package/lib/module/store/useAskBuoy.js.map +1 -0
  164. package/lib/module/store/useAskBuoySettings.js +9 -0
  165. package/lib/module/store/useAskBuoySettings.js.map +1 -0
  166. package/lib/module/sync/askBuoySyncAdapter.js +114 -1
  167. package/lib/module/sync/askBuoySyncAdapter.js.map +1 -0
  168. package/lib/module/sync/askBuoySyncAdapter.test.js +140 -1
  169. package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -0
  170. package/lib/module/sync/wire.js +47 -1
  171. package/lib/module/sync/wire.js.map +1 -0
  172. package/lib/module/types.js +4 -1
  173. package/lib/module/types.js.map +1 -0
  174. package/lib/typescript/blocks/AskBlocks.d.ts.map +1 -0
  175. package/lib/typescript/blocks/BlockRenderer.d.ts.map +1 -0
  176. package/lib/typescript/blocks/ChromePrototypes.d.ts.map +1 -0
  177. package/lib/typescript/blocks/DataBlocks.d.ts +31 -0
  178. package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -0
  179. package/lib/typescript/blocks/ExtraBlocks.d.ts +11 -0
  180. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -0
  181. package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -0
  182. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -0
  183. package/lib/typescript/blocks/context.d.ts.map +1 -0
  184. package/lib/typescript/blocks/icons.d.ts.map +1 -0
  185. package/lib/typescript/blocks/index.d.ts.map +1 -0
  186. package/lib/typescript/blocks/listRow.test.d.ts +2 -0
  187. package/lib/typescript/blocks/listRow.test.d.ts.map +1 -0
  188. package/lib/typescript/blocks/pageState.d.ts +23 -0
  189. package/lib/typescript/blocks/pageState.d.ts.map +1 -0
  190. package/lib/typescript/blocks/pageState.test.d.ts +2 -0
  191. package/lib/typescript/blocks/pageState.test.d.ts.map +1 -0
  192. package/lib/typescript/blocks/primitives.d.ts +39 -9
  193. package/lib/typescript/blocks/primitives.d.ts.map +1 -0
  194. package/lib/typescript/blocks/primitivesIndex.d.ts +2 -1
  195. package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -0
  196. package/lib/typescript/components/ApprovalCard.d.ts.map +1 -0
  197. package/lib/typescript/components/AskBuoyHeader.d.ts +11 -1
  198. package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -0
  199. package/lib/typescript/components/AskBuoyIcon.d.ts.map +1 -0
  200. package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -0
  201. package/lib/typescript/components/AskBuoySettings.d.ts +2 -0
  202. package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -0
  203. package/lib/typescript/components/ChangesBar.d.ts.map +1 -0
  204. package/lib/typescript/components/Composer.d.ts.map +1 -0
  205. package/lib/typescript/components/EmptyState.d.ts.map +1 -0
  206. package/lib/typescript/components/Markdown.d.ts.map +1 -0
  207. package/lib/typescript/components/MessageList.d.ts +12 -5
  208. package/lib/typescript/components/MessageList.d.ts.map +1 -0
  209. package/lib/typescript/components/ThinkingStrip.d.ts +5 -0
  210. package/lib/typescript/components/ThinkingStrip.d.ts.map +1 -0
  211. package/lib/typescript/components/TypingDots.d.ts.map +1 -0
  212. package/lib/typescript/components/useCopyAction.d.ts +5 -0
  213. package/lib/typescript/components/useCopyAction.d.ts.map +1 -0
  214. package/lib/typescript/index.d.ts +5 -0
  215. package/lib/typescript/index.d.ts.map +1 -0
  216. package/lib/typescript/preset.d.ts.map +1 -0
  217. package/lib/typescript/store/askBuoySettings.d.ts +22 -0
  218. package/lib/typescript/store/askBuoySettings.d.ts.map +1 -0
  219. package/lib/typescript/store/askBuoyStore.d.ts +74 -13
  220. package/lib/typescript/store/askBuoyStore.d.ts.map +1 -0
  221. package/lib/typescript/store/restoredIds.test.d.ts +2 -0
  222. package/lib/typescript/store/restoredIds.test.d.ts.map +1 -0
  223. package/lib/typescript/store/traceText.d.ts +33 -0
  224. package/lib/typescript/store/traceText.d.ts.map +1 -0
  225. package/lib/typescript/store/traceText.test.d.ts +2 -0
  226. package/lib/typescript/store/traceText.test.d.ts.map +1 -0
  227. package/lib/typescript/store/transcriptPersistence.d.ts +40 -0
  228. package/lib/typescript/store/transcriptPersistence.d.ts.map +1 -0
  229. package/lib/typescript/store/transcriptPersistence.test.d.ts +2 -0
  230. package/lib/typescript/store/transcriptPersistence.test.d.ts.map +1 -0
  231. package/lib/typescript/store/useAskBuoy.d.ts.map +1 -0
  232. package/lib/typescript/store/useAskBuoySettings.d.ts +3 -0
  233. package/lib/typescript/store/useAskBuoySettings.d.ts.map +1 -0
  234. package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -0
  235. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +1 -0
  236. package/lib/typescript/sync/wire.d.ts.map +1 -0
  237. package/lib/typescript/types.d.ts +24 -1
  238. package/lib/typescript/types.d.ts.map +1 -0
  239. package/package.json +8 -8
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","ActivityIndicator","FlatList","Pressable","StyleSheet","Text","View","AlertTriangle","Check","ChevronDown","ChevronRight","Copy","night","X","isAskBlock","toolTitle","BlockRenderer","Markdown","ThinkingStrip","TypingDots","useCopyAction","traceToText","useAskBuoySettings","jsx","_jsx","jsxs","_jsxs","StatusMark","status","size","color","textSecondary","style","styles","mark","markOk","children","onAccent","markFailed","text","markRefused","statusText","call","tone","summary","ActivityRow","last","open","setOpen","Chevron","failureDetail","testID","toolId","accessibilityRole","accessibilityLabel","label","accessibilityState","expanded","onPress","v","row","rowDivider","rowLine","markSlot","rowTitle","rowStatus","rowStatusDanger","rowStatusWarning","numberOfLines","textTertiary","rowDetail","rowTool","toUpperCase","description","rowDescription","rowFailure","COLLAPSE_AFTER","ActivityCard","calls","setExpanded","running","some","c","collapse","length","failed","filter","refused","shown","card","map","i","id","Blocks","blocks","block","UserMessage","message","userWrap","userBubble","userText","selectable","AssistantMessage","onRetry","showThinking","toolCalls","waiting","streaming","askBlocks","b","showBlocks","assistantWrap","assistantText","error","ErrorNote","network","test","headline","errorBox","danger","errorBody","errorText","errorDetail","pressed","retry","retryPressed","retryText","transcriptToText","messages","withTrace","lines","m","role","push","join","CopyPill","getText","copied","copy","copyBtn","iconBtn","copyPressed","accent","copyText","copiedText","TranscriptActions","transcriptActions","Row","finished","MessageList","ListHeaderComponent","ListEmptyComponent","ListFooterComponent","ref","pinned","dragging","measure","e","contentOffset","contentSize","layoutMeasurement","nativeEvent","distance","height","y","current","onScrollBeginDrag","onScroll","onScrollEndDrag","scrollToEnd","animated","requestAnimationFrame","tail","list","contentContainerStyle","listContent","data","keyExtractor","renderItem","item","undefined","onMomentumScrollEnd","scrollEventThrottle","onContentSizeChange","keyboardShouldPersistTaps","keyboardDismissMode","create","flex","backgroundColor","paddingHorizontal","gutter","paddingTop","paddingBottom","gap","flexGrow","alignItems","maxWidth","paddingVertical","borderRadius","borderBottomRightRadius","accentFill","borderWidth","hairlineWidth","borderColor","accentBorder","fontSize","font","lineHeight","radius","border","surface","overflow","borderBottomWidth","borderBottomColor","separator","flexDirection","width","justifyContent","warning","body","caption","paddingLeft","micro","fontWeight","letterSpacing","dangerSoft","alignSelf","marginTop","button","opacity","badge","fill"],"sourceRoot":"../../../src","sources":["components/MessageList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The agent's own working, under an answer, collapsed by default.
5
+ *
6
+ * Collapsed is the whole design constraint. A multi-step turn's reasoning is
7
+ * longer than the answer it produced, and rendered open it pushes the answer —
8
+ * the thing the user came for — off the screen. So the strip is one line until
9
+ * someone wants it, and the summary on that line ("3 steps · 2 thoughts") is
10
+ * enough to tell whether opening it is worth it.
11
+ *
12
+ * Every step is expandable on its own too, because the parameters are the
13
+ * useful part when hunting a bug and the tool name alone is not.
14
+ */
15
+ import { useState } from "react";
16
+ import { Pressable, StyleSheet, Text, View } from "react-native";
17
+ import { Activity, ChevronDown, ChevronRight, night } from "@buoy-gg/shared-ui";
18
+ import { hasTrace, traceEntries } from "../store/traceText";
19
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
20
+ function StepRow({
21
+ n,
22
+ call
23
+ }) {
24
+ const [open, setOpen] = useState(false);
25
+ const failed = call.status === "failed" || call.status === "refused";
26
+ return /*#__PURE__*/_jsxs(Pressable, {
27
+ onPress: () => setOpen(v => !v),
28
+ accessibilityRole: "button",
29
+ accessibilityState: {
30
+ expanded: open
31
+ },
32
+ style: styles.step,
33
+ children: [/*#__PURE__*/_jsxs(View, {
34
+ style: styles.stepLine,
35
+ children: [/*#__PURE__*/_jsx(Text, {
36
+ style: styles.stepN,
37
+ children: n
38
+ }), /*#__PURE__*/_jsxs(Text, {
39
+ style: [styles.stepName, failed && styles.stepFailed],
40
+ numberOfLines: 1,
41
+ children: [call.toolId, ".", call.action]
42
+ }), call.durationMs !== undefined ? /*#__PURE__*/_jsxs(Text, {
43
+ style: styles.stepMs,
44
+ children: [call.durationMs, "ms"]
45
+ }) : null, /*#__PURE__*/_jsx(Text, {
46
+ style: [styles.stepStatus, failed && styles.stepFailed],
47
+ numberOfLines: 1,
48
+ children: call.status === "ok" ? call.summary || "done" : call.status
49
+ })]
50
+ }), open ? /*#__PURE__*/_jsxs(View, {
51
+ style: styles.detail,
52
+ children: [/*#__PURE__*/_jsx(Text, {
53
+ style: styles.detailLabel,
54
+ children: "SENT"
55
+ }), /*#__PURE__*/_jsx(Text, {
56
+ style: styles.code,
57
+ selectable: true,
58
+ children: call.params ?? "no parameters"
59
+ }), call.result ? /*#__PURE__*/_jsxs(_Fragment, {
60
+ children: [/*#__PURE__*/_jsx(Text, {
61
+ style: styles.detailLabel,
62
+ children: "RETURNED"
63
+ }), /*#__PURE__*/_jsx(Text, {
64
+ style: styles.code,
65
+ selectable: true,
66
+ children: call.result
67
+ })]
68
+ }) : null]
69
+ }) : null]
70
+ });
71
+ }
72
+ export function ThinkingStrip({
73
+ message
74
+ }) {
75
+ const [open, setOpen] = useState(false);
76
+ if (!hasTrace(message)) return null;
77
+ const entries = traceEntries(message);
78
+ const steps = entries.filter(e => e.kind === "step").length;
79
+ const thoughts = entries.length - steps;
80
+ const wall = message.startedAt !== undefined && message.endedAt !== undefined ? `${((message.endedAt - message.startedAt) / 1000).toFixed(1)}s` : null;
81
+ const summary = [steps ? `${steps} step${steps === 1 ? "" : "s"}` : null, thoughts ? `${thoughts} thought${thoughts === 1 ? "" : "s"}` : null, wall, message.usage ? `${message.usage.input + message.usage.output} tokens` : null].filter(Boolean).join(" · ");
82
+ return /*#__PURE__*/_jsxs(View, {
83
+ style: styles.wrap,
84
+ testID: "buoy-ask-buoy-thinking",
85
+ children: [/*#__PURE__*/_jsxs(Pressable, {
86
+ testID: "buoy-ask-buoy-thinking-toggle",
87
+ onPress: () => setOpen(v => !v),
88
+ accessibilityRole: "button",
89
+ accessibilityLabel: open ? "Hide agent thinking" : "Show agent thinking",
90
+ accessibilityState: {
91
+ expanded: open
92
+ },
93
+ style: styles.head,
94
+ children: [/*#__PURE__*/_jsx(Activity, {
95
+ size: 12,
96
+ color: night.color.textTertiary
97
+ }), /*#__PURE__*/_jsx(Text, {
98
+ style: styles.headText,
99
+ children: summary
100
+ }), open ? /*#__PURE__*/_jsx(ChevronDown, {
101
+ size: 12,
102
+ color: night.color.textTertiary
103
+ }) : /*#__PURE__*/_jsx(ChevronRight, {
104
+ size: 12,
105
+ color: night.color.textTertiary
106
+ })]
107
+ }), open ? /*#__PURE__*/_jsxs(View, {
108
+ style: styles.body,
109
+ children: [entries.map((entry, i) => entry.kind === "thought" ? /*#__PURE__*/_jsx(Text, {
110
+ style: styles.thought,
111
+ selectable: true,
112
+ children: entry.text.trim()
113
+ }, `t${i}`) : /*#__PURE__*/_jsx(StepRow, {
114
+ n: entry.n,
115
+ call: entry.call
116
+ }, entry.call.id)), thoughts === 0 ?
117
+ /*#__PURE__*/
118
+ // Said plainly, because an empty reasoning section reads as broken.
119
+ // Most models report none: Claude thinks by default, gpt-4.1 never.
120
+ _jsx(Text, {
121
+ style: styles.none,
122
+ children: "This model reports no reasoning \u2014 the steps above are the whole trace."
123
+ }) : null]
124
+ }) : null]
125
+ });
126
+ }
127
+ const styles = StyleSheet.create({
128
+ wrap: {
129
+ marginTop: 8,
130
+ borderRadius: night.radius.badge,
131
+ borderWidth: StyleSheet.hairlineWidth,
132
+ borderColor: night.color.separator,
133
+ backgroundColor: night.color.fill,
134
+ overflow: "hidden"
135
+ },
136
+ head: {
137
+ flexDirection: "row",
138
+ alignItems: "center",
139
+ gap: 6,
140
+ paddingHorizontal: 10,
141
+ paddingVertical: 7
142
+ },
143
+ headText: {
144
+ flex: 1,
145
+ color: night.color.textTertiary,
146
+ fontSize: night.font.micro,
147
+ fontWeight: "600"
148
+ },
149
+ body: {
150
+ borderTopWidth: StyleSheet.hairlineWidth,
151
+ borderTopColor: night.color.separator
152
+ },
153
+ thought: {
154
+ color: night.color.textSecondary,
155
+ fontSize: night.font.micro,
156
+ lineHeight: 17,
157
+ fontStyle: "italic",
158
+ paddingHorizontal: 10,
159
+ paddingVertical: 8
160
+ },
161
+ step: {
162
+ paddingHorizontal: 10,
163
+ paddingVertical: 7
164
+ },
165
+ stepLine: {
166
+ flexDirection: "row",
167
+ alignItems: "center",
168
+ gap: 8
169
+ },
170
+ stepN: {
171
+ color: night.color.textTertiary,
172
+ fontSize: night.font.micro,
173
+ width: 14
174
+ },
175
+ stepName: {
176
+ flex: 1,
177
+ color: night.color.textSecondary,
178
+ fontSize: night.font.micro,
179
+ fontWeight: "600"
180
+ },
181
+ stepMs: {
182
+ color: night.color.textTertiary,
183
+ fontSize: night.font.micro
184
+ },
185
+ stepStatus: {
186
+ color: night.color.textTertiary,
187
+ fontSize: night.font.micro,
188
+ maxWidth: 110
189
+ },
190
+ stepFailed: {
191
+ color: night.color.danger
192
+ },
193
+ detail: {
194
+ marginTop: 6,
195
+ marginLeft: 22,
196
+ gap: 3
197
+ },
198
+ detailLabel: {
199
+ color: night.color.textTertiary,
200
+ fontSize: 9,
201
+ fontWeight: "700",
202
+ letterSpacing: 0.5
203
+ },
204
+ code: {
205
+ color: night.color.textSecondary,
206
+ fontSize: night.font.micro,
207
+ lineHeight: 16,
208
+ marginBottom: 3
209
+ },
210
+ none: {
211
+ color: night.color.textTertiary,
212
+ fontSize: night.font.micro,
213
+ fontStyle: "italic",
214
+ paddingHorizontal: 10,
215
+ paddingVertical: 8
216
+ }
217
+ });
218
+ //# sourceMappingURL=ThinkingStrip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","Pressable","StyleSheet","Text","View","Activity","ChevronDown","ChevronRight","night","hasTrace","traceEntries","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StepRow","n","call","open","setOpen","failed","status","onPress","v","accessibilityRole","accessibilityState","expanded","style","styles","step","children","stepLine","stepN","stepName","stepFailed","numberOfLines","toolId","action","durationMs","undefined","stepMs","stepStatus","summary","detail","detailLabel","code","selectable","params","result","ThinkingStrip","message","entries","steps","filter","e","kind","length","thoughts","wall","startedAt","endedAt","toFixed","usage","input","output","Boolean","join","wrap","testID","accessibilityLabel","head","size","color","textTertiary","headText","body","map","entry","i","thought","text","trim","id","none","create","marginTop","borderRadius","radius","badge","borderWidth","hairlineWidth","borderColor","separator","backgroundColor","fill","overflow","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","flex","fontSize","font","micro","fontWeight","borderTopWidth","borderTopColor","textSecondary","lineHeight","fontStyle","width","maxWidth","danger","marginLeft","letterSpacing","marginBottom"],"sourceRoot":"../../../src","sources":["components/ThinkingStrip.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1,58 @@
1
- "use strict";import{useEffect,useRef}from"react";import{Animated,Easing,StyleSheet,View}from"react-native";import{night}from"@buoy-gg/shared-ui";import{jsx as _jsx}from"react/jsx-runtime";export function TypingDots(){const e=useRef([0,1,2].map(()=>new Animated.Value(.25))).current;return useEffect(()=>{const t=e.map((e,t)=>Animated.loop(Animated.sequence([Animated.delay(140*t),Animated.timing(e,{toValue:1,duration:320,easing:Easing.inOut(Easing.ease),useNativeDriver:!0}),Animated.timing(e,{toValue:.25,duration:320,easing:Easing.inOut(Easing.ease),useNativeDriver:!0}),Animated.delay(140*(2-t))])));return t.forEach(e=>e.start()),()=>t.forEach(e=>e.stop())},[e]),_jsx(View,{style:styles.wrap,testID:"buoy-ask-buoy-typing",accessibilityLabel:"Thinking",children:e.map((e,t)=>_jsx(Animated.View,{style:[styles.dot,{opacity:e}]},t))})}const styles=StyleSheet.create({wrap:{flexDirection:"row",alignItems:"center",gap:5,paddingVertical:8,paddingHorizontal:2},dot:{width:7,height:7,borderRadius:4,backgroundColor:night.color.textSecondary}});
1
+ "use strict";
2
+
3
+ /**
4
+ * Three pulsing dots — the "it heard you" signal between sending a message
5
+ * and the first streamed token. A static "…" glyph read as a finished (and
6
+ * confusing) answer.
7
+ *
8
+ * Native-driver opacity only, so it costs the JS thread nothing while the
9
+ * stream that replaces it is being parsed.
10
+ */
11
+ import { useEffect, useRef } from "react";
12
+ import { Animated, Easing, StyleSheet, View } from "react-native";
13
+ import { night } from "@buoy-gg/shared-ui";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ export function TypingDots() {
16
+ const dots = useRef([0, 1, 2].map(() => new Animated.Value(0.25))).current;
17
+ useEffect(() => {
18
+ const loops = dots.map((v, i) => Animated.loop(Animated.sequence([Animated.delay(i * 140), Animated.timing(v, {
19
+ toValue: 1,
20
+ duration: 320,
21
+ easing: Easing.inOut(Easing.ease),
22
+ useNativeDriver: true
23
+ }), Animated.timing(v, {
24
+ toValue: 0.25,
25
+ duration: 320,
26
+ easing: Easing.inOut(Easing.ease),
27
+ useNativeDriver: true
28
+ }), Animated.delay((2 - i) * 140)])));
29
+ loops.forEach(l => l.start());
30
+ return () => loops.forEach(l => l.stop());
31
+ }, [dots]);
32
+ return /*#__PURE__*/_jsx(View, {
33
+ style: styles.wrap,
34
+ testID: "buoy-ask-buoy-typing",
35
+ accessibilityLabel: "Thinking",
36
+ children: dots.map((v, i) => /*#__PURE__*/_jsx(Animated.View, {
37
+ style: [styles.dot, {
38
+ opacity: v
39
+ }]
40
+ }, i))
41
+ });
42
+ }
43
+ const styles = StyleSheet.create({
44
+ wrap: {
45
+ flexDirection: "row",
46
+ alignItems: "center",
47
+ gap: 5,
48
+ paddingVertical: 8,
49
+ paddingHorizontal: 2
50
+ },
51
+ dot: {
52
+ width: 7,
53
+ height: 7,
54
+ borderRadius: 4,
55
+ backgroundColor: night.color.textSecondary
56
+ }
57
+ });
58
+ //# sourceMappingURL=TypingDots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","Animated","Easing","StyleSheet","View","night","jsx","_jsx","TypingDots","dots","map","Value","current","loops","v","i","loop","sequence","delay","timing","toValue","duration","easing","inOut","ease","useNativeDriver","forEach","l","start","stop","style","styles","wrap","testID","accessibilityLabel","children","dot","opacity","create","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","width","height","borderRadius","backgroundColor","color","textSecondary"],"sourceRoot":"../../../src","sources":["components/TypingDots.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACjE,SAASC,KAAK,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,OAAO,SAASC,UAAUA,CAAA,EAAG;EAC3B,MAAMC,IAAI,GAAGT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACU,GAAG,CAAC,MAAM,IAAIT,QAAQ,CAACU,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAACC,OAAO;EAE1Eb,SAAS,CAAC,MAAM;IACd,MAAMc,KAAK,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAACI,CAAC,EAAEC,CAAC,KAC1Bd,QAAQ,CAACe,IAAI,CACXf,QAAQ,CAACgB,QAAQ,CAAC,CAChBhB,QAAQ,CAACiB,KAAK,CAACH,CAAC,GAAG,GAAG,CAAC,EACvBd,QAAQ,CAACkB,MAAM,CAACL,CAAC,EAAE;MACjBM,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAEpB,MAAM,CAACqB,KAAK,CAACrB,MAAM,CAACsB,IAAI,CAAC;MACjCC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFxB,QAAQ,CAACkB,MAAM,CAACL,CAAC,EAAE;MACjBM,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAEpB,MAAM,CAACqB,KAAK,CAACrB,MAAM,CAACsB,IAAI,CAAC;MACjCC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFxB,QAAQ,CAACiB,KAAK,CAAC,CAAC,CAAC,GAAGH,CAAC,IAAI,GAAG,CAAC,CAC9B,CACH,CACF,CAAC;IACDF,KAAK,CAACa,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC;IAC/B,OAAO,MAAMf,KAAK,CAACa,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;EAC7C,CAAC,EAAE,CAACpB,IAAI,CAAC,CAAC;EAEV,oBACEF,IAAA,CAACH,IAAI;IAAC0B,KAAK,EAAEC,MAAM,CAACC,IAAK;IAACC,MAAM,EAAC,sBAAsB;IAACC,kBAAkB,EAAC,UAAU;IAAAC,QAAA,EAClF1B,IAAI,CAACC,GAAG,CAAC,CAACI,CAAC,EAAEC,CAAC,kBACbR,IAAA,CAACN,QAAQ,CAACG,IAAI;MAAS0B,KAAK,EAAE,CAACC,MAAM,CAACK,GAAG,EAAE;QAAEC,OAAO,EAAEvB;MAAE,CAAC;IAAE,GAAvCC,CAAyC,CAC9D;EAAC,CACE,CAAC;AAEX;AAEA,MAAMgB,MAAM,GAAG5B,UAAU,CAACmC,MAAM,CAAC;EAC/BN,IAAI,EAAE;IACJO,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,CAAC;IACNC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB,CAAC;EACDP,GAAG,EAAE;IACHQ,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE1C,KAAK,CAAC2C,KAAK,CAACC;EAC/B;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Copy that reports what happened.
5
+ *
6
+ * Both clipboard libraries are OPTIONAL peers, so `copyToClipboard` resolves
7
+ * false in an app that installed neither — a copy button that silently does
8
+ * nothing is worse than no copy button, so that case falls through to the OS
9
+ * share sheet (which also offers Copy) instead of failing quietly.
10
+ *
11
+ * `getText` is read on PRESS, not on render: the whole-transcript callers
12
+ * would otherwise rebuild the transcript on every frame of a streaming answer
13
+ * just to have a string ready for a button nobody tapped.
14
+ */
15
+ import { useCallback, useEffect, useRef, useState } from "react";
16
+ import { Share } from "react-native";
17
+ import { copyToClipboard } from "@buoy-gg/shared-ui";
18
+
19
+ /** Long enough to notice out of the corner of an eye, short enough not to linger. */
20
+ const COPIED_MS = 1500;
21
+ export function useCopyAction(getText) {
22
+ const [copied, setCopied] = useState(false);
23
+ const timer = useRef(null);
24
+ useEffect(() => () => {
25
+ if (timer.current) clearTimeout(timer.current);
26
+ }, []);
27
+ const copy = useCallback(() => {
28
+ const text = getText();
29
+ void copyToClipboard(text).then(ok => {
30
+ if (!ok) {
31
+ void Share.share({
32
+ message: text
33
+ }).catch(() => {});
34
+ return;
35
+ }
36
+ setCopied(true);
37
+ if (timer.current) clearTimeout(timer.current);
38
+ timer.current = setTimeout(() => setCopied(false), COPIED_MS);
39
+ }).catch(() => {});
40
+ }, [getText]);
41
+ return {
42
+ copied,
43
+ copy
44
+ };
45
+ }
46
+ //# sourceMappingURL=useCopyAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","Share","copyToClipboard","COPIED_MS","useCopyAction","getText","copied","setCopied","timer","current","clearTimeout","copy","text","then","ok","share","message","catch","setTimeout"],"sourceRoot":"../../../src","sources":["components/useCopyAction.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,eAAe,QAAQ,oBAAoB;;AAEpD;AACA,MAAMC,SAAS,GAAG,IAAI;AAEtB,OAAO,SAASC,aAAaA,CAACC,OAAqB,EAAyC;EAC1F,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGP,QAAQ,CAAC,KAAK,CAAC;EAC3C,MAAMQ,KAAK,GAAGT,MAAM,CAAuC,IAAI,CAAC;EAChED,SAAS,CACP,MAAM,MAAM;IACV,IAAIU,KAAK,CAACC,OAAO,EAAEC,YAAY,CAACF,KAAK,CAACC,OAAO,CAAC;EAChD,CAAC,EACD,EACF,CAAC;EAED,MAAME,IAAI,GAAGd,WAAW,CAAC,MAAM;IAC7B,MAAMe,IAAI,GAAGP,OAAO,CAAC,CAAC;IACtB,KAAKH,eAAe,CAACU,IAAI,CAAC,CACvBC,IAAI,CAAEC,EAAE,IAAK;MACZ,IAAI,CAACA,EAAE,EAAE;QACP,KAAKb,KAAK,CAACc,KAAK,CAAC;UAAEC,OAAO,EAAEJ;QAAK,CAAC,CAAC,CAACK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD;MACF;MACAV,SAAS,CAAC,IAAI,CAAC;MACf,IAAIC,KAAK,CAACC,OAAO,EAAEC,YAAY,CAACF,KAAK,CAACC,OAAO,CAAC;MAC9CD,KAAK,CAACC,OAAO,GAAGS,UAAU,CAAC,MAAMX,SAAS,CAAC,KAAK,CAAC,EAAEJ,SAAS,CAAC;IAC/D,CAAC,CAAC,CACDc,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;EACpB,CAAC,EAAE,CAACZ,OAAO,CAAC,CAAC;EAEb,OAAO;IAAEC,MAAM;IAAEK;EAAK,CAAC;AACzB","ignoreList":[]}
@@ -1 +1,34 @@
1
- "use strict";export{AskBuoyModal}from"./components/AskBuoyModal";export{askBuoyToolPreset,createAskBuoyTool,AskBuoyIcon,ASK_BUOY_ICON_COLOR}from"./preset";export{askBuoySyncAdapter,ASK_BUOY_ADAPTER_VERSION}from"./sync/askBuoySyncAdapter";export{askBuoyStore}from"./store/askBuoyStore";export{useAskBuoy,useAskBuoyState}from"./store/useAskBuoy";export{redactForWire}from"./sync/wire";export{BlockRenderer,BlockHandlersProvider,useBlockHandlers}from"./blocks";export{Card as BlockCard,ActionRow as BlockActionRow,ProvenanceBadge}from"./blocks";export{MessageActions,ReasoningStrip,ElapsedRow,QueuedComposer,ReloadDivider,Timestamp,EditableUserBubble,LivePill}from"./blocks";export{Markdown}from"./components/Markdown";export{MessageList}from"./components/MessageList";export{AskBuoyHeader}from"./components/AskBuoyHeader";export{Composer}from"./components/Composer";export{ChangesBar}from"./components/ChangesBar";export{ApprovalCard}from"./components/ApprovalCard";
1
+ "use strict";
2
+
3
+ /**
4
+ * @buoy-gg/ask-buoy — "Ask Buoy".
5
+ *
6
+ * A chat sheet that drives every other Buoy tool on behalf of someone who does
7
+ * not read code. The model runs on the company's own endpoint (see
8
+ * `AskBuoyConfig`), the tool calls go through the same `dispatchToolAction`
9
+ * seam a Scenario step uses, and anything it changes is listed in a bar with an
10
+ * Undo.
11
+ */
12
+ export { AskBuoyModal } from "./components/AskBuoyModal";
13
+ export { askBuoyToolPreset, createAskBuoyTool, AskBuoyIcon, ASK_BUOY_ICON_COLOR } from "./preset";
14
+ export { askBuoySyncAdapter, ASK_BUOY_ADAPTER_VERSION } from "./sync/askBuoySyncAdapter";
15
+ export { askBuoyStore } from "./store/askBuoyStore";
16
+ export { useAskBuoy, useAskBuoyState } from "./store/useAskBuoy";
17
+ export { redactForWire } from "./sync/wire";
18
+ export { BlockRenderer, BlockHandlersProvider, useBlockHandlers } from "./blocks";
19
+ export { Card as BlockCard, ActionRow as BlockActionRow, ProvenanceBadge } from "./blocks";
20
+ export { MessageActions, ReasoningStrip, ElapsedRow, QueuedComposer, ReloadDivider, Timestamp, EditableUserBubble, LivePill } from "./blocks";
21
+ export { Markdown } from "./components/Markdown";
22
+ // The real transcript pieces, exported so the example app's "chat scenes" page
23
+ // can stage conversations in the actual sheet chrome.
24
+ export { MessageList } from "./components/MessageList";
25
+ export { AskBuoyHeader } from "./components/AskBuoyHeader";
26
+ export { AskBuoySettings } from "./components/AskBuoySettings";
27
+ export { ThinkingStrip } from "./components/ThinkingStrip";
28
+ export { askBuoySettings } from "./store/askBuoySettings";
29
+ export { useAskBuoySettings } from "./store/useAskBuoySettings";
30
+ export { traceEntries, traceToText, hasTrace } from "./store/traceText";
31
+ export { Composer } from "./components/Composer";
32
+ export { ChangesBar } from "./components/ChangesBar";
33
+ export { ApprovalCard } from "./components/ApprovalCard";
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AskBuoyModal","askBuoyToolPreset","createAskBuoyTool","AskBuoyIcon","ASK_BUOY_ICON_COLOR","askBuoySyncAdapter","ASK_BUOY_ADAPTER_VERSION","askBuoyStore","useAskBuoy","useAskBuoyState","redactForWire","BlockRenderer","BlockHandlersProvider","useBlockHandlers","Card","BlockCard","ActionRow","BlockActionRow","ProvenanceBadge","MessageActions","ReasoningStrip","ElapsedRow","QueuedComposer","ReloadDivider","Timestamp","EditableUserBubble","LivePill","Markdown","MessageList","AskBuoyHeader","AskBuoySettings","ThinkingStrip","askBuoySettings","useAskBuoySettings","traceEntries","traceToText","hasTrace","Composer","ChangesBar","ApprovalCard"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,YAAY,QAAgC,2BAA2B;AAChF,SACEC,iBAAiB,EACjBC,iBAAiB,EACjBC,WAAW,EACXC,mBAAmB,QAEd,UAAU;AACjB,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,2BAA2B;AACxF,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,UAAU,EAAEC,eAAe,QAAgC,oBAAoB;AAGxF,SAASC,aAAa,QAAQ,aAAa;AAE3C,SAASC,aAAa,EAAEC,qBAAqB,EAAEC,gBAAgB,QAA4B,UAAU;AACrG,SAASC,IAAI,IAAIC,SAAS,EAAEC,SAAS,IAAIC,cAAc,EAAEC,eAAe,QAAQ,UAAU;AAC1F,SACEC,cAAc,EAAEC,cAAc,EAAEC,UAAU,EAAEC,cAAc,EAAEC,aAAa,EAAEC,SAAS,EAAEC,kBAAkB,EAAEC,QAAQ,QAC7G,UAAU;AACjB,SAASC,QAAQ,QAAQ,uBAAuB;AAChD;AACA;AACA,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,eAAe,QAAsD,yBAAyB;AACvG,SAASC,kBAAkB,QAAQ,4BAA4B;AAC/D,SAASC,YAAY,EAAEC,WAAW,EAAEC,QAAQ,QAAyB,mBAAmB;AACxF,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,YAAY,QAAQ,2BAA2B","ignoreList":[]}
@@ -1 +1,73 @@
1
- "use strict";import{AskBuoyIcon,ASK_BUOY_ICON_COLOR}from"./components/AskBuoyIcon";import{AskBuoyModal}from"./components/AskBuoyModal";import{jsx as _jsx}from"react/jsx-runtime";export{AskBuoyIcon,ASK_BUOY_ICON_COLOR};export const askBuoyToolPreset={id:"ask-buoy",name:"ASK BUOY",description:"Ask about this app in plain English",slot:"both",color:ASK_BUOY_ICON_COLOR,icon:({size:o,color:s})=>_jsx(AskBuoyIcon,{size:o,color:s||ASK_BUOY_ICON_COLOR}),component:AskBuoyModal};export function createAskBuoyTool(o){const{name:s,description:e,...n}=o,t=n;return{...askBuoyToolPreset,name:s??askBuoyToolPreset.name,description:e??askBuoyToolPreset.description,component:o=>_jsx(AskBuoyModal,{...o,config:t})}}
1
+ "use strict";
2
+
3
+ /**
4
+ * The Ask Buoy tool preset.
5
+ *
6
+ * Manual chrome (`component` renders its own JsModal) rather than the
7
+ * declarative `modal` config, because ToolModalShell forwards neither a footer
8
+ * slot nor `initialHeight` — and a chat needs a sticky composer and more than
9
+ * the default 400pt of sheet.
10
+ *
11
+ * The config is closed over at creation time rather than read from a store, so
12
+ * the endpoint and headers come from the app's own code on every render and
13
+ * there is never a copy of them sitting anywhere Buoy persists.
14
+ */
15
+ import { AskBuoyIcon, ASK_BUOY_ICON_COLOR } from "./components/AskBuoyIcon";
16
+ import { AskBuoyModal } from "./components/AskBuoyModal";
17
+ import { jsx as _jsx } from "react/jsx-runtime";
18
+ export { AskBuoyIcon, ASK_BUOY_ICON_COLOR };
19
+ export const askBuoyToolPreset = {
20
+ id: "ask-buoy",
21
+ name: "ASK BUOY",
22
+ description: "Ask about this app in plain English",
23
+ slot: "both",
24
+ // Set here rather than in floating-tools-core's `toolColors` map: that map
25
+ // is already missing half the shipped tools, so the web twin falls back to a
26
+ // generic accent for them. A color on the preset is the one place both
27
+ // native and web read.
28
+ color: ASK_BUOY_ICON_COLOR,
29
+ icon: ({
30
+ size,
31
+ color
32
+ }) => /*#__PURE__*/_jsx(AskBuoyIcon, {
33
+ size: size,
34
+ color: color || ASK_BUOY_ICON_COLOR
35
+ }),
36
+ component: AskBuoyModal
37
+ };
38
+
39
+ /**
40
+ * `endpoint` and `model` are REQUIRED at the type level. This used to extend
41
+ * Partial<AskBuoyConfig> with a cast, so a missing endpoint type-checked and
42
+ * only surfaced as a runtime "not set up yet" — the wrong moment to learn it.
43
+ */
44
+
45
+ /**
46
+ * Wire Ask Buoy to your team's AI endpoint.
47
+ *
48
+ * @example
49
+ * createAskBuoyTool({
50
+ * endpoint: "https://ai.acme.com/v1/messages",
51
+ * model: "claude-opus-5",
52
+ * headers: async () => ({ Authorization: `Bearer ${await auth.getToken()}` }),
53
+ * context: { notes: ["user.rewards.points = loyalty points"] },
54
+ * })
55
+ */
56
+ export function createAskBuoyTool(config) {
57
+ const {
58
+ name,
59
+ description,
60
+ ...rest
61
+ } = config;
62
+ const resolved = rest;
63
+ return {
64
+ ...askBuoyToolPreset,
65
+ name: name ?? askBuoyToolPreset.name,
66
+ description: description ?? askBuoyToolPreset.description,
67
+ component: props => /*#__PURE__*/_jsx(AskBuoyModal, {
68
+ ...props,
69
+ config: resolved
70
+ })
71
+ };
72
+ }
73
+ //# sourceMappingURL=preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AskBuoyIcon","ASK_BUOY_ICON_COLOR","AskBuoyModal","jsx","_jsx","askBuoyToolPreset","id","name","description","slot","color","icon","size","component","createAskBuoyTool","config","rest","resolved","props"],"sourceRoot":"../../src","sources":["preset.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,mBAAmB,QAAQ,0BAA0B;AAC3E,SAASC,YAAY,QAAgC,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGjF,SAASJ,WAAW,EAAEC,mBAAmB;AAEzC,OAAO,MAAMI,iBAAiB,GAAG;EAC/BC,EAAE,EAAE,UAAU;EACdC,IAAI,EAAE,UAAU;EAChBC,WAAW,EAAE,qCAAqC;EAClDC,IAAI,EAAE,MAAe;EACrB;EACA;EACA;EACA;EACAC,KAAK,EAAET,mBAAmB;EAC1BU,IAAI,EAAEA,CAAC;IAAEC,IAAI;IAAEF;EAAwC,CAAC,kBACtDN,IAAA,CAACJ,WAAW;IAACY,IAAI,EAAEA,IAAK;IAACF,KAAK,EAAEA,KAAK,IAAIT;EAAoB,CAAE,CAChE;EACDY,SAAS,EAAEX;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASY,iBAAiBA,CAACC,MAAyB,EAAE;EAC3D,MAAM;IAAER,IAAI;IAAEC,WAAW;IAAE,GAAGQ;EAAK,CAAC,GAAGD,MAAM;EAC7C,MAAME,QAAuB,GAAGD,IAAI;EACpC,OAAO;IACL,GAAGX,iBAAiB;IACpBE,IAAI,EAAEA,IAAI,IAAIF,iBAAiB,CAACE,IAAI;IACpCC,WAAW,EAAEA,WAAW,IAAIH,iBAAiB,CAACG,WAAW;IACzDK,SAAS,EAAGK,KAAwB,iBAClCd,IAAA,CAACF,YAAY;MAAA,GAAKgB,KAAK;MAAEH,MAAM,EAAEE;IAAS,CAAE;EAEhD,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Ask Buoy's own preferences — the things a tester sets on the sheet, not the
5
+ * things a developer sets in `askBuoy={{ … }}`.
6
+ *
7
+ * Module-level and subscribable for the same reason the transcript is: the
8
+ * sheet unmounts whenever the tool is closed or minimised, and a preference
9
+ * that reset on every close would not be a preference.
10
+ */
11
+ import { definePersistedSetting, devToolsStorageKeys } from "@buoy-gg/shared-ui";
12
+ export const DEFAULT_SETTINGS = {
13
+ showThinking: false
14
+ };
15
+ const store = definePersistedSetting(`${devToolsStorageKeys.base}_ask_buoy_settings`, DEFAULT_SETTINGS, {
16
+ sanitize: merged => ({
17
+ showThinking: merged.showThinking === true
18
+ })
19
+ });
20
+ let current = DEFAULT_SETTINGS;
21
+ let loaded = false;
22
+ const listeners = new Set();
23
+ function emit() {
24
+ for (const fn of listeners) {
25
+ try {
26
+ fn();
27
+ } catch {
28
+ // A throwing subscriber must not take the sheet down.
29
+ }
30
+ }
31
+ }
32
+ export const askBuoySettings = {
33
+ get: () => current,
34
+ subscribe(fn) {
35
+ listeners.add(fn);
36
+ // First subscriber pays for the read; everyone after gets the cached value.
37
+ if (!loaded) {
38
+ loaded = true;
39
+ void store.load().then(value => {
40
+ current = value;
41
+ emit();
42
+ });
43
+ }
44
+ return () => listeners.delete(fn);
45
+ },
46
+ set(key, value) {
47
+ if (current[key] === value) return;
48
+ current = {
49
+ ...current,
50
+ [key]: value
51
+ };
52
+ emit();
53
+ void store.save(current);
54
+ },
55
+ /** Tests only — the module cache would otherwise leak between them. */
56
+ reset() {
57
+ current = DEFAULT_SETTINGS;
58
+ loaded = false;
59
+ void store.clear();
60
+ }
61
+ };
62
+ //# sourceMappingURL=askBuoySettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["definePersistedSetting","devToolsStorageKeys","DEFAULT_SETTINGS","showThinking","store","base","sanitize","merged","current","loaded","listeners","Set","emit","fn","askBuoySettings","get","subscribe","add","load","then","value","delete","set","key","save","reset","clear"],"sourceRoot":"../../../src","sources":["store/askBuoySettings.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,sBAAsB,EAAEC,mBAAmB,QAAQ,oBAAoB;AAgBhF,OAAO,MAAMC,gBAAiC,GAAG;EAAEC,YAAY,EAAE;AAAM,CAAC;AAExE,MAAMC,KAAK,GAAGJ,sBAAsB,CAClC,GAAGC,mBAAmB,CAACI,IAAI,oBAAoB,EAC/CH,gBAAgB,EAChB;EACEI,QAAQ,EAAGC,MAAM,KAAM;IAAEJ,YAAY,EAAEI,MAAM,CAACJ,YAAY,KAAK;EAAK,CAAC;AACvE,CACF,CAAC;AAED,IAAIK,OAAwB,GAAGN,gBAAgB;AAC/C,IAAIO,MAAM,GAAG,KAAK;AAClB,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;AAEvC,SAASC,IAAIA,CAAA,EAAS;EACpB,KAAK,MAAMC,EAAE,IAAIH,SAAS,EAAE;IAC1B,IAAI;MACFG,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;AAEA,OAAO,MAAMC,eAAe,GAAG;EAC7BC,GAAG,EAAEA,CAAA,KAAuBP,OAAO;EAEnCQ,SAASA,CAACH,EAAc,EAAc;IACpCH,SAAS,CAACO,GAAG,CAACJ,EAAE,CAAC;IACjB;IACA,IAAI,CAACJ,MAAM,EAAE;MACXA,MAAM,GAAG,IAAI;MACb,KAAKL,KAAK,CAACc,IAAI,CAAC,CAAC,CAACC,IAAI,CAAEC,KAAK,IAAK;QAChCZ,OAAO,GAAGY,KAAK;QACfR,IAAI,CAAC,CAAC;MACR,CAAC,CAAC;IACJ;IACA,OAAO,MAAMF,SAAS,CAACW,MAAM,CAACR,EAAE,CAAC;EACnC,CAAC;EAEDS,GAAGA,CAAkCC,GAAM,EAAEH,KAAyB,EAAQ;IAC5E,IAAIZ,OAAO,CAACe,GAAG,CAAC,KAAKH,KAAK,EAAE;IAC5BZ,OAAO,GAAG;MAAE,GAAGA,OAAO;MAAE,CAACe,GAAG,GAAGH;IAAM,CAAC;IACtCR,IAAI,CAAC,CAAC;IACN,KAAKR,KAAK,CAACoB,IAAI,CAAChB,OAAO,CAAC;EAC1B,CAAC;EAED;EACAiB,KAAKA,CAAA,EAAS;IACZjB,OAAO,GAAGN,gBAAgB;IAC1BO,MAAM,GAAG,KAAK;IACd,KAAKL,KAAK,CAACsB,KAAK,CAAC,CAAC;EACpB;AACF,CAAC","ignoreList":[]}