@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
package/README.md CHANGED
@@ -37,7 +37,7 @@ The tool appears in the dial as **ASK BUOY**. This package is the chat; the *han
37
37
  - **A visible changes bar** the moment it modifies anything — "Changed this app · 2 undoable · 1 permanent" — with real undo: storage writes are pre-read so Undo restores the exact prior value.
38
38
  - **Destructive actions wait for a tap** by default; everything else auto-runs behind the bar. Tunable with `policy.requireApproval`, down to `readOnly: true` for a look-but-don't-touch support seat.
39
39
  - **Release-build honesty**: actions that can't work outside a dev build are refused with an explanation, never silently "succeed".
40
- - **Credential redaction** by field name and value shape before anything reaches your model; the agent's own traffic is invisible to it; the transcript is never persisted.
40
+ - **Credential redaction** by field name and value shape before anything reaches your model; the agent's own traffic is invisible to it; the saved transcript keeps what was said but never a tool result (`persistTranscript: false` turns saving off entirely).
41
41
 
42
42
  ## Docs
43
43
 
@@ -1 +1,338 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Choice=Choice,exports.Confirm=Confirm,exports.Input=Input;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_context=require("./context"),_icons=require("./icons"),_primitives=require("./primitives"),_jsxRuntime=require("react/jsx-runtime");function Choice({block:e}){const t=(0,_context.useBlockHandlers)(),i=t.answered[e.id],o="choice"===i?.kind?i.optionId:null,n=!!i;return(0,_jsxRuntime.jsxs)(_primitives.Card,{testID:`buoy-block-choice-${e.id}`,tone:n?void 0:"info",children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.question,children:e.question}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.options,children:e.options.slice(0,5).map((i,s)=>{const r=o===i.id;return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{testID:`buoy-block-option-${i.id}`,accessibilityRole:"button",accessibilityState:{selected:r,disabled:n},disabled:n,onPress:()=>t.answer({blockId:e.id,kind:"choice",optionId:i.id,label:i.label}),style:({pressed:e})=>[styles.option,s>0&&styles.optionDivider,r&&styles.optionChosen,n&&!r&&styles.optionDimmed,e&&!n&&styles.pressed],children:[i.icon?(0,_jsxRuntime.jsx)(_icons.BlockIcon,{name:i.icon}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.optionText,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.optionLabel,r&&styles.optionLabelChosen],children:i.label}),i.detail?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.optionDetail,children:i.detail}):null]}),r?(0,_jsxRuntime.jsx)(_sharedUi.Check,{size:14,color:_sharedUi.night.color.accent}):n?null:(0,_jsxRuntime.jsx)(_sharedUi.ChevronRight,{size:14,color:_sharedUi.night.color.textTertiary})]},i.id)})}),n||!1===e.allowFreeText?null:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.hint,children:"Or just type your answer below."})]})}function Confirm({block:e}){const t=(0,_context.useBlockHandlers)(),i=t.answered[e.id],o=!!i,n="confirm"===i?.kind?i.approved:null;return(0,_jsxRuntime.jsxs)(_primitives.Card,{testID:`buoy-block-confirm-${e.id}`,tone:o?void 0:"warning",children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.confirmTitle,children:e.title}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.confirmChange,children:e.change}),e.consequence?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.confirmConsequence,children:e.consequence}):null,(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.confirmActions,children:o?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.decided,children:n?`✓ ${e.approveLabel??"Done"}`:`✕ ${e.declineLabel??"Not now"}`}):(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.Pressable,{testID:"buoy-block-approve",accessibilityRole:"button",onPress:()=>t.answer({blockId:e.id,kind:"confirm",approved:!0}),style:({pressed:e})=>[styles.button,styles.buttonPrimary,e&&styles.pressed],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.buttonTextPrimary,children:e.approveLabel??"Do it"})}),(0,_jsxRuntime.jsx)(_reactNative.Pressable,{testID:"buoy-block-decline",accessibilityRole:"button",onPress:()=>t.answer({blockId:e.id,kind:"confirm",approved:!1}),style:({pressed:e})=>[styles.button,styles.buttonPlate,e&&styles.pressed],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.buttonTextPlate,children:e.declineLabel??"Not now"})})]})})]})}function Input({block:e}){const t=(0,_context.useBlockHandlers)(),i=t.answered[e.id],o=!!i,[n,s]=(0,_react.useState)(""),r="secret"===e.type,a=()=>{const i=n.trim();i&&t.answer({blockId:e.id,kind:"input",value:i})};return(0,_jsxRuntime.jsxs)(_primitives.Card,{testID:`buoy-block-input-${e.id}`,tone:o?void 0:"info",children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.question,children:e.label}),o?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.decided,children:"input"===i.kind?r?"••••••":i.value:"(skipped)"}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.inputRow,children:[(0,_jsxRuntime.jsx)(_reactNative.TextInput,{testID:"buoy-block-input-field",style:styles.input,value:n,onChangeText:s,placeholder:e.placeholder??"",placeholderTextColor:_sharedUi.night.color.placeholder,keyboardType:"number"===e.type?"numeric":"ascii-capable",secureTextEntry:r,autoCapitalize:"none",autoCorrect:!1,returnKeyType:"send",onSubmitEditing:a}),(0,_jsxRuntime.jsx)(_reactNative.Pressable,{testID:"buoy-block-input-submit",accessibilityRole:"button",disabled:!n.trim(),onPress:a,style:({pressed:e})=>[styles.button,styles.buttonPrimary,!n.trim()&&styles.buttonDisabled,e&&styles.pressed],children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.buttonTextPrimary,children:e.submitLabel??"Send"})})]})]})}const styles=_reactNative.StyleSheet.create({question:{color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.row,fontWeight:"600",lineHeight:20,paddingHorizontal:12,paddingTop:12,paddingBottom:8},options:{marginHorizontal:8,marginBottom:8,borderRadius:_sharedUi.night.radius.row,backgroundColor:_sharedUi.night.color.surfaceElevated,overflow:"hidden"},option:{flexDirection:"row",alignItems:"center",gap:10,paddingHorizontal:12,paddingVertical:11},optionDivider:{borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:_sharedUi.night.color.separator},optionChosen:{backgroundColor:_sharedUi.night.color.accentSoft},optionDimmed:{opacity:.45},optionText:{flex:1,gap:2},optionLabel:{color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.body,fontWeight:"500"},optionLabelChosen:{color:_sharedUi.night.color.accent},optionDetail:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption,lineHeight:17},hint:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,paddingHorizontal:12,paddingBottom:10},confirmTitle:{color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.row,fontWeight:"600",paddingHorizontal:12,paddingTop:12},confirmChange:{color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.body,lineHeight:19,paddingHorizontal:12,paddingTop:6},confirmConsequence:{color:_sharedUi.night.color.warning,fontSize:_sharedUi.night.font.caption,lineHeight:17,paddingHorizontal:12,paddingTop:6},confirmActions:{flexDirection:"row",gap:8,paddingHorizontal:12,paddingVertical:12,alignItems:"center"},decided:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption,fontWeight:"600",paddingHorizontal:12,paddingVertical:10},inputRow:{flexDirection:"row",alignItems:"center",gap:8,paddingHorizontal:12,paddingBottom:12},input:{flex:1,height:38,paddingHorizontal:12,borderRadius:_sharedUi.night.radius.row,backgroundColor:_sharedUi.night.color.surfaceElevated,color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.body},button:{paddingHorizontal:14,paddingVertical:9,borderRadius:_sharedUi.night.radius.row},buttonPrimary:{backgroundColor:_sharedUi.night.color.accent},buttonPlate:{backgroundColor:_sharedUi.night.color.button},buttonDisabled:{opacity:.5},buttonTextPrimary:{color:_sharedUi.night.color.onAccent,fontSize:_sharedUi.night.font.caption,fontWeight:"600"},buttonTextPlate:{color:_sharedUi.night.color.text,fontSize:_sharedUi.night.font.caption,fontWeight:"600"},pressed:{opacity:.7}});
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Choice = Choice;
7
+ exports.Confirm = Confirm;
8
+ exports.Input = Input;
9
+ var _react = require("react");
10
+ var _reactNative = require("react-native");
11
+ var _sharedUi = require("@buoy-gg/shared-ui");
12
+ var _context = require("./context");
13
+ var _icons = require("./icons");
14
+ var _primitives = require("./primitives");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ /**
17
+ * Ask blocks — the user has to decide, and the turn is waiting.
18
+ *
19
+ * Choice, Confirm and Input all lock once answered: the chosen option stays
20
+ * highlighted, the rest dim, and nothing in history is tappable twice. The
21
+ * answer is handed to the sheet as a BlockAnswer and becomes the next user
22
+ * message, so the model reads plain words ("Business checkout"), never JSON.
23
+ */
24
+
25
+ function Choice({
26
+ block
27
+ }) {
28
+ const h = (0, _context.useBlockHandlers)();
29
+ const answer = h.answered[block.id];
30
+ const chosen = answer?.kind === "choice" ? answer.optionId : null;
31
+ const locked = !!answer;
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
33
+ testID: `buoy-block-choice-${block.id}`,
34
+ tone: locked ? undefined : "info",
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
36
+ style: styles.question,
37
+ children: block.question
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
39
+ style: styles.options,
40
+ children: block.options.slice(0, 5).map((o, i) => {
41
+ const isChosen = chosen === o.id;
42
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
43
+ testID: `buoy-block-option-${o.id}`,
44
+ accessibilityRole: "button",
45
+ accessibilityState: {
46
+ selected: isChosen,
47
+ disabled: locked
48
+ },
49
+ disabled: locked,
50
+ onPress: () => h.answer({
51
+ blockId: block.id,
52
+ kind: "choice",
53
+ optionId: o.id,
54
+ label: o.label
55
+ }),
56
+ style: ({
57
+ pressed
58
+ }) => [styles.option, i > 0 && styles.optionDivider, isChosen && styles.optionChosen, locked && !isChosen && styles.optionDimmed, pressed && !locked && styles.pressed],
59
+ children: [o.icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.BlockIcon, {
60
+ name: o.icon
61
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
62
+ style: styles.optionText,
63
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
64
+ style: [styles.optionLabel, isChosen && styles.optionLabelChosen],
65
+ children: o.label
66
+ }), o.detail ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
67
+ style: styles.optionDetail,
68
+ children: o.detail
69
+ }) : null]
70
+ }), isChosen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Check, {
71
+ size: 14,
72
+ color: _sharedUi.night.color.accent
73
+ }) : locked ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
74
+ size: 14,
75
+ color: _sharedUi.night.color.textTertiary
76
+ })]
77
+ }, o.id);
78
+ })
79
+ }), !locked && block.allowFreeText !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
80
+ style: styles.hint,
81
+ children: "Or just type your answer below."
82
+ }) : null]
83
+ });
84
+ }
85
+ function Confirm({
86
+ block
87
+ }) {
88
+ const h = (0, _context.useBlockHandlers)();
89
+ const answer = h.answered[block.id];
90
+ const locked = !!answer;
91
+ const approved = answer?.kind === "confirm" ? answer.approved : null;
92
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
93
+ testID: `buoy-block-confirm-${block.id}`,
94
+ tone: locked ? undefined : "warning",
95
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
96
+ style: styles.confirmTitle,
97
+ children: block.title
98
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
99
+ style: styles.confirmChange,
100
+ children: block.change
101
+ }), block.consequence ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
102
+ style: styles.confirmConsequence,
103
+ children: block.consequence
104
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
105
+ style: styles.confirmActions,
106
+ children: locked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
107
+ style: styles.decided,
108
+ children: approved ? `✓ ${block.approveLabel ?? "Done"}` : `✕ ${block.declineLabel ?? "Not now"}`
109
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
110
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
111
+ testID: "buoy-block-approve",
112
+ accessibilityRole: "button",
113
+ onPress: () => h.answer({
114
+ blockId: block.id,
115
+ kind: "confirm",
116
+ approved: true
117
+ }),
118
+ style: ({
119
+ pressed
120
+ }) => [styles.button, styles.buttonPrimary, pressed && styles.pressed],
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
122
+ style: styles.buttonTextPrimary,
123
+ children: block.approveLabel ?? "Do it"
124
+ })
125
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
126
+ testID: "buoy-block-decline",
127
+ accessibilityRole: "button",
128
+ onPress: () => h.answer({
129
+ blockId: block.id,
130
+ kind: "confirm",
131
+ approved: false
132
+ }),
133
+ style: ({
134
+ pressed
135
+ }) => [styles.button, styles.buttonPlate, pressed && styles.pressed],
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
137
+ style: styles.buttonTextPlate,
138
+ children: block.declineLabel ?? "Not now"
139
+ })
140
+ })]
141
+ })
142
+ })]
143
+ });
144
+ }
145
+ function Input({
146
+ block
147
+ }) {
148
+ const h = (0, _context.useBlockHandlers)();
149
+ const answer = h.answered[block.id];
150
+ const locked = !!answer;
151
+ const [value, setValue] = (0, _react.useState)("");
152
+ const secret = block.type === "secret";
153
+ const submit = () => {
154
+ const v = value.trim();
155
+ if (!v) return;
156
+ h.answer({
157
+ blockId: block.id,
158
+ kind: "input",
159
+ value: v
160
+ });
161
+ };
162
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
163
+ testID: `buoy-block-input-${block.id}`,
164
+ tone: locked ? undefined : "info",
165
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
166
+ style: styles.question,
167
+ children: block.label
168
+ }), locked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
169
+ style: styles.decided,
170
+ children: answer.kind === "input" ? secret ? "••••••" : answer.value : "(skipped)"
171
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
172
+ style: styles.inputRow,
173
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
174
+ testID: "buoy-block-input-field",
175
+ style: styles.input,
176
+ value: value,
177
+ onChangeText: setValue,
178
+ placeholder: block.placeholder ?? "",
179
+ placeholderTextColor: _sharedUi.night.color.placeholder,
180
+ keyboardType: block.type === "number" ? "numeric" : "ascii-capable",
181
+ secureTextEntry: secret,
182
+ autoCapitalize: "none",
183
+ autoCorrect: false,
184
+ returnKeyType: "send",
185
+ onSubmitEditing: submit
186
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
187
+ testID: "buoy-block-input-submit",
188
+ accessibilityRole: "button",
189
+ disabled: !value.trim(),
190
+ onPress: submit,
191
+ style: ({
192
+ pressed
193
+ }) => [styles.button, styles.buttonPrimary, !value.trim() && styles.buttonDisabled, pressed && styles.pressed],
194
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
195
+ style: styles.buttonTextPrimary,
196
+ children: block.submitLabel ?? "Send"
197
+ })
198
+ })]
199
+ })]
200
+ });
201
+ }
202
+ const styles = _reactNative.StyleSheet.create({
203
+ question: {
204
+ color: _sharedUi.night.color.text,
205
+ fontSize: _sharedUi.night.font.row,
206
+ fontWeight: "600",
207
+ lineHeight: 20,
208
+ paddingHorizontal: 12,
209
+ paddingTop: 12,
210
+ paddingBottom: 8
211
+ },
212
+ options: {
213
+ marginHorizontal: 8,
214
+ marginBottom: 8,
215
+ borderRadius: _sharedUi.night.radius.row,
216
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
217
+ overflow: "hidden"
218
+ },
219
+ option: {
220
+ flexDirection: "row",
221
+ alignItems: "center",
222
+ gap: 10,
223
+ paddingHorizontal: 12,
224
+ paddingVertical: 11
225
+ },
226
+ optionDivider: {
227
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
228
+ borderTopColor: _sharedUi.night.color.separator
229
+ },
230
+ optionChosen: {
231
+ backgroundColor: _sharedUi.night.color.accentSoft
232
+ },
233
+ optionDimmed: {
234
+ opacity: 0.45
235
+ },
236
+ optionText: {
237
+ flex: 1,
238
+ gap: 2
239
+ },
240
+ optionLabel: {
241
+ color: _sharedUi.night.color.text,
242
+ fontSize: _sharedUi.night.font.body,
243
+ fontWeight: "500"
244
+ },
245
+ optionLabelChosen: {
246
+ color: _sharedUi.night.color.accent
247
+ },
248
+ optionDetail: {
249
+ color: _sharedUi.night.color.textSecondary,
250
+ fontSize: _sharedUi.night.font.caption,
251
+ lineHeight: 17
252
+ },
253
+ hint: {
254
+ color: _sharedUi.night.color.textTertiary,
255
+ fontSize: _sharedUi.night.font.micro,
256
+ paddingHorizontal: 12,
257
+ paddingBottom: 10
258
+ },
259
+ confirmTitle: {
260
+ color: _sharedUi.night.color.text,
261
+ fontSize: _sharedUi.night.font.row,
262
+ fontWeight: "600",
263
+ paddingHorizontal: 12,
264
+ paddingTop: 12
265
+ },
266
+ confirmChange: {
267
+ color: _sharedUi.night.color.text,
268
+ fontSize: _sharedUi.night.font.body,
269
+ lineHeight: 19,
270
+ paddingHorizontal: 12,
271
+ paddingTop: 6
272
+ },
273
+ confirmConsequence: {
274
+ color: _sharedUi.night.color.warning,
275
+ fontSize: _sharedUi.night.font.caption,
276
+ lineHeight: 17,
277
+ paddingHorizontal: 12,
278
+ paddingTop: 6
279
+ },
280
+ confirmActions: {
281
+ flexDirection: "row",
282
+ gap: 8,
283
+ paddingHorizontal: 12,
284
+ paddingVertical: 12,
285
+ alignItems: "center"
286
+ },
287
+ decided: {
288
+ color: _sharedUi.night.color.textSecondary,
289
+ fontSize: _sharedUi.night.font.caption,
290
+ fontWeight: "600",
291
+ paddingHorizontal: 12,
292
+ paddingVertical: 10
293
+ },
294
+ inputRow: {
295
+ flexDirection: "row",
296
+ alignItems: "center",
297
+ gap: 8,
298
+ paddingHorizontal: 12,
299
+ paddingBottom: 12
300
+ },
301
+ input: {
302
+ flex: 1,
303
+ height: 38,
304
+ paddingHorizontal: 12,
305
+ borderRadius: _sharedUi.night.radius.row,
306
+ backgroundColor: _sharedUi.night.color.surfaceElevated,
307
+ color: _sharedUi.night.color.text,
308
+ fontSize: _sharedUi.night.font.body
309
+ },
310
+ button: {
311
+ paddingHorizontal: 14,
312
+ paddingVertical: 9,
313
+ borderRadius: _sharedUi.night.radius.row
314
+ },
315
+ buttonPrimary: {
316
+ backgroundColor: _sharedUi.night.color.accent
317
+ },
318
+ buttonPlate: {
319
+ backgroundColor: _sharedUi.night.color.button
320
+ },
321
+ buttonDisabled: {
322
+ opacity: 0.5
323
+ },
324
+ buttonTextPrimary: {
325
+ color: _sharedUi.night.color.onAccent,
326
+ fontSize: _sharedUi.night.font.caption,
327
+ fontWeight: "600"
328
+ },
329
+ buttonTextPlate: {
330
+ color: _sharedUi.night.color.text,
331
+ fontSize: _sharedUi.night.font.caption,
332
+ fontWeight: "600"
333
+ },
334
+ pressed: {
335
+ opacity: 0.7
336
+ }
337
+ });
338
+ //# sourceMappingURL=AskBlocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_context","_icons","_primitives","_jsxRuntime","Choice","block","h","useBlockHandlers","answer","answered","id","chosen","kind","optionId","locked","jsxs","Card","testID","tone","undefined","children","jsx","Text","style","styles","question","View","options","slice","map","o","i","isChosen","Pressable","accessibilityRole","accessibilityState","selected","disabled","onPress","blockId","label","pressed","option","optionDivider","optionChosen","optionDimmed","icon","BlockIcon","name","optionText","optionLabel","optionLabelChosen","detail","optionDetail","Check","size","color","night","accent","ChevronRight","textTertiary","allowFreeText","hint","Confirm","approved","confirmTitle","title","confirmChange","change","consequence","confirmConsequence","confirmActions","decided","approveLabel","declineLabel","Fragment","button","buttonPrimary","buttonTextPrimary","buttonPlate","buttonTextPlate","Input","value","setValue","useState","secret","type","submit","v","trim","inputRow","TextInput","input","onChangeText","placeholder","placeholderTextColor","keyboardType","secureTextEntry","autoCapitalize","autoCorrect","returnKeyType","onSubmitEditing","buttonDisabled","submitLabel","StyleSheet","create","text","fontSize","font","row","fontWeight","lineHeight","paddingHorizontal","paddingTop","paddingBottom","marginHorizontal","marginBottom","borderRadius","radius","backgroundColor","surfaceElevated","overflow","flexDirection","alignItems","gap","paddingVertical","borderTopWidth","hairlineWidth","borderTopColor","separator","accentSoft","opacity","flex","body","textSecondary","caption","micro","warning","height","onAccent"],"sourceRoot":"../../../src","sources":["blocks/AskBlocks.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1,250 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BlockRenderer=BlockRenderer;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_AskBlocks=require("./AskBlocks"),_DataBlocks=require("./DataBlocks"),_MediaBlocks=require("./MediaBlocks"),_ReceiptBlocks=require("./ReceiptBlocks"),_ExtraBlocks=require("./ExtraBlocks"),_primitives=require("./primitives"),_jsxRuntime=require("react/jsx-runtime");class BlockBoundary extends _react.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}render(){return this.state.failed?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:boundaryStyles.fallback,testID:"buoy-block-render-failed",children:"This card couldn't be drawn — the data behind it is still in the conversation."}):this.props.children}}const boundaryStyles=_reactNative.StyleSheet.create({fallback:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,fontStyle:"italic",paddingVertical:6}});function BlockRenderer({block:e}){return(0,_jsxRuntime.jsx)(BlockBoundary,{children:(0,_jsxRuntime.jsx)(BlockRendererInner,{block:e})})}function BlockRendererInner({block:e}){switch(e.kind){case"choice":return(0,_jsxRuntime.jsx)(_AskBlocks.Choice,{block:e});case"confirm":return(0,_jsxRuntime.jsx)(_AskBlocks.Confirm,{block:e});case"input":return(0,_jsxRuntime.jsx)(_AskBlocks.Input,{block:e});case"table":return(0,_jsxRuntime.jsx)(_DataBlocks.Table,{block:e});case"keyValue":return(0,_jsxRuntime.jsx)(_DataBlocks.KeyValue,{block:e});case"list":return(0,_jsxRuntime.jsx)(_DataBlocks.List,{block:e});case"imageGrid":return(0,_jsxRuntime.jsx)(_MediaBlocks.ImageGrid,{block:e});case"diff":return(0,_jsxRuntime.jsx)(_DataBlocks.Diff,{block:e});case"chart":return(0,_jsxRuntime.jsx)(_DataBlocks.Chart,{block:e});case"steps":return(0,_jsxRuntime.jsx)(_DataBlocks.Steps,{block:e});case"code":return(0,_jsxRuntime.jsx)(_DataBlocks.Code,{block:e});case"actions":return(0,_jsxRuntime.jsx)(_primitives.ActionRow,{actions:e.actions,blockId:e.id});case"notice":return(0,_jsxRuntime.jsx)(_DataBlocks.Notice,{block:e});case"finding":return(0,_jsxRuntime.jsx)(_DataBlocks.Finding,{block:e});case"requestList":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.RequestList,{block:e});case"requestCard":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.RequestCard,{block:e});case"ruleCard":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.RuleCard,{block:e});case"screenElements":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.ScreenElements,{block:e});case"routeChips":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.RouteChips,{block:e});case"logList":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.LogList,{block:e});case"crash":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.Crash,{block:e});case"peek":return(0,_jsxRuntime.jsx)(_ReceiptBlocks.Peek,{block:e});case"suggestions":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Suggestions,{block:e});case"multiSelect":return(0,_jsxRuntime.jsx)(_ExtraBlocks.MultiSelect,{block:e});case"select":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Select,{block:e});case"slider":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Slider,{block:e});case"dateTime":return(0,_jsxRuntime.jsx)(_ExtraBlocks.DateTime,{block:e});case"form":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Form,{block:e});case"proposal":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Proposal,{block:e});case"claim":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Claim,{block:e});case"details":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Details,{block:e});case"tabs":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Tabs,{block:e});case"timeline":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Timeline,{block:e});case"sparkline":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Sparkline,{block:e});case"compare":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Compare,{block:e});case"card":return(0,_jsxRuntime.jsx)(_ExtraBlocks.CardView,{block:e});case"cardCarousel":return(0,_jsxRuntime.jsx)(_ExtraBlocks.CardCarousel,{block:e});case"screenshot":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Screenshot,{block:e});case"plan":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Plan,{block:e});case"checkpoint":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Checkpoint,{block:e});case"task":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Task,{block:e});case"banner":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Banner,{block:e});case"file":return(0,_jsxRuntime.jsx)(_ExtraBlocks.File,{block:e});case"upload":return(0,_jsxRuntime.jsx)(_ExtraBlocks.Upload,{block:e});default:return null}}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BlockRenderer = BlockRenderer;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _sharedUi = require("@buoy-gg/shared-ui");
10
+ var _AskBlocks = require("./AskBlocks");
11
+ var _DataBlocks = require("./DataBlocks");
12
+ var _MediaBlocks = require("./MediaBlocks");
13
+ var _ReceiptBlocks = require("./ReceiptBlocks");
14
+ var _ExtraBlocks = require("./ExtraBlocks");
15
+ var _primitives = require("./primitives");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ /**
18
+ * One switch, one component per kind. Unknown kinds render nothing — an
19
+ * older sheet receiving a newer engine's block must not crash the transcript.
20
+ *
21
+ * Every block renders inside an error boundary for the same reason: block
22
+ * data comes from tool results and (via `buoy_ui`) from the model, and a
23
+ * shape the renderer chokes on must cost ONE card, not the conversation. A
24
+ * live eval watched model-fabricated data crash the app and take the chat —
25
+ * the only undo surface — down with it.
26
+ */
27
+
28
+ class BlockBoundary extends _react.Component {
29
+ state = {
30
+ failed: false
31
+ };
32
+ static getDerivedStateFromError() {
33
+ return {
34
+ failed: true
35
+ };
36
+ }
37
+ render() {
38
+ if (this.state.failed) {
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
40
+ style: boundaryStyles.fallback,
41
+ testID: "buoy-block-render-failed",
42
+ children: "This card couldn't be drawn \u2014 the data behind it is still in the conversation."
43
+ });
44
+ }
45
+ return this.props.children;
46
+ }
47
+ }
48
+ const boundaryStyles = _reactNative.StyleSheet.create({
49
+ fallback: {
50
+ color: _sharedUi.night.color.textTertiary,
51
+ fontSize: _sharedUi.night.font.micro,
52
+ fontStyle: "italic",
53
+ paddingVertical: 6
54
+ }
55
+ });
56
+ function BlockRenderer({
57
+ block
58
+ }) {
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockBoundary, {
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockRendererInner, {
61
+ block: block
62
+ })
63
+ });
64
+ }
65
+ function BlockRendererInner({
66
+ block
67
+ }) {
68
+ switch (block.kind) {
69
+ case "choice":
70
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AskBlocks.Choice, {
71
+ block: block
72
+ });
73
+ case "confirm":
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AskBlocks.Confirm, {
75
+ block: block
76
+ });
77
+ case "input":
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AskBlocks.Input, {
79
+ block: block
80
+ });
81
+ case "table":
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Table, {
83
+ block: block
84
+ });
85
+ case "keyValue":
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.KeyValue, {
87
+ block: block
88
+ });
89
+ case "list":
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.List, {
91
+ block: block
92
+ });
93
+ case "imageGrid":
94
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MediaBlocks.ImageGrid, {
95
+ block: block
96
+ });
97
+ case "diff":
98
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Diff, {
99
+ block: block
100
+ });
101
+ case "chart":
102
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Chart, {
103
+ block: block
104
+ });
105
+ case "steps":
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Steps, {
107
+ block: block
108
+ });
109
+ case "code":
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Code, {
111
+ block: block
112
+ });
113
+ case "actions":
114
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.ActionRow, {
115
+ actions: block.actions,
116
+ blockId: block.id
117
+ });
118
+ case "notice":
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Notice, {
120
+ block: block
121
+ });
122
+ case "finding":
123
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataBlocks.Finding, {
124
+ block: block
125
+ });
126
+ case "requestList":
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.RequestList, {
128
+ block: block
129
+ });
130
+ case "requestCard":
131
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.RequestCard, {
132
+ block: block
133
+ });
134
+ case "ruleCard":
135
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.RuleCard, {
136
+ block: block
137
+ });
138
+ case "screenElements":
139
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.ScreenElements, {
140
+ block: block
141
+ });
142
+ case "routeChips":
143
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.RouteChips, {
144
+ block: block
145
+ });
146
+ case "logList":
147
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.LogList, {
148
+ block: block
149
+ });
150
+ case "crash":
151
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.Crash, {
152
+ block: block
153
+ });
154
+ case "peek":
155
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ReceiptBlocks.Peek, {
156
+ block: block
157
+ });
158
+ case "suggestions":
159
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Suggestions, {
160
+ block: block
161
+ });
162
+ case "multiSelect":
163
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.MultiSelect, {
164
+ block: block
165
+ });
166
+ case "select":
167
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Select, {
168
+ block: block
169
+ });
170
+ case "slider":
171
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Slider, {
172
+ block: block
173
+ });
174
+ case "dateTime":
175
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.DateTime, {
176
+ block: block
177
+ });
178
+ case "form":
179
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Form, {
180
+ block: block
181
+ });
182
+ case "proposal":
183
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Proposal, {
184
+ block: block
185
+ });
186
+ case "claim":
187
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Claim, {
188
+ block: block
189
+ });
190
+ case "details":
191
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Details, {
192
+ block: block
193
+ });
194
+ case "tabs":
195
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Tabs, {
196
+ block: block
197
+ });
198
+ case "timeline":
199
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Timeline, {
200
+ block: block
201
+ });
202
+ case "sparkline":
203
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Sparkline, {
204
+ block: block
205
+ });
206
+ case "compare":
207
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Compare, {
208
+ block: block
209
+ });
210
+ case "card":
211
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.CardView, {
212
+ block: block
213
+ });
214
+ case "cardCarousel":
215
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.CardCarousel, {
216
+ block: block
217
+ });
218
+ case "screenshot":
219
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Screenshot, {
220
+ block: block
221
+ });
222
+ case "plan":
223
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Plan, {
224
+ block: block
225
+ });
226
+ case "checkpoint":
227
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Checkpoint, {
228
+ block: block
229
+ });
230
+ case "task":
231
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Task, {
232
+ block: block
233
+ });
234
+ case "banner":
235
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Banner, {
236
+ block: block
237
+ });
238
+ case "file":
239
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.File, {
240
+ block: block
241
+ });
242
+ case "upload":
243
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtraBlocks.Upload, {
244
+ block: block
245
+ });
246
+ default:
247
+ return null;
248
+ }
249
+ }
250
+ //# sourceMappingURL=BlockRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_AskBlocks","_DataBlocks","_MediaBlocks","_ReceiptBlocks","_ExtraBlocks","_primitives","_jsxRuntime","BlockBoundary","Component","state","failed","getDerivedStateFromError","render","jsx","Text","style","boundaryStyles","fallback","testID","children","props","StyleSheet","create","color","night","textTertiary","fontSize","font","micro","fontStyle","paddingVertical","BlockRenderer","block","BlockRendererInner","kind","Choice","Confirm","Input","Table","KeyValue","List","ImageGrid","Diff","Chart","Steps","Code","ActionRow","actions","blockId","id","Notice","Finding","RequestList","RequestCard","RuleCard","ScreenElements","RouteChips","LogList","Crash","Peek","Suggestions","MultiSelect","Select","Slider","DateTime","Form","Proposal","Claim","Details","Tabs","Timeline","Sparkline","Compare","CardView","CardCarousel","Screenshot","Plan","Checkpoint","Task","Banner","File","Upload"],"sourceRoot":"../../../src","sources":["blocks/BlockRenderer.tsx"],"mappings":"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","ignoreList":[]}