@buoy-gg/ask-buoy 7.0.33 → 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 (157) hide show
  1. package/README.md +2 -2
  2. package/lib/commonjs/blocks/DataBlocks.js +217 -74
  3. package/lib/commonjs/blocks/DataBlocks.js.map +1 -1
  4. package/lib/commonjs/blocks/ExtraBlocks.js +53 -20
  5. package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -1
  6. package/lib/commonjs/blocks/MediaBlocks.js +2 -2
  7. package/lib/commonjs/blocks/MediaBlocks.js.map +1 -1
  8. package/lib/commonjs/blocks/ReceiptBlocks.js +35 -45
  9. package/lib/commonjs/blocks/ReceiptBlocks.js.map +1 -1
  10. package/lib/commonjs/blocks/listRow.test.js +55 -0
  11. package/lib/commonjs/blocks/listRow.test.js.map +1 -0
  12. package/lib/commonjs/blocks/pageState.js +34 -0
  13. package/lib/commonjs/blocks/pageState.js.map +1 -0
  14. package/lib/commonjs/blocks/pageState.test.js +57 -0
  15. package/lib/commonjs/blocks/pageState.test.js.map +1 -0
  16. package/lib/commonjs/blocks/primitives.js +113 -24
  17. package/lib/commonjs/blocks/primitives.js.map +1 -1
  18. package/lib/commonjs/blocks/primitivesIndex.js +8 -2
  19. package/lib/commonjs/blocks/primitivesIndex.js.map +1 -1
  20. package/lib/commonjs/components/AskBuoyHeader.js +42 -5
  21. package/lib/commonjs/components/AskBuoyHeader.js.map +1 -1
  22. package/lib/commonjs/components/AskBuoyModal.js +51 -20
  23. package/lib/commonjs/components/AskBuoyModal.js.map +1 -1
  24. package/lib/commonjs/components/AskBuoySettings.js +69 -0
  25. package/lib/commonjs/components/AskBuoySettings.js.map +1 -0
  26. package/lib/commonjs/components/MessageList.js +89 -54
  27. package/lib/commonjs/components/MessageList.js.map +1 -1
  28. package/lib/commonjs/components/ThinkingStrip.js +223 -0
  29. package/lib/commonjs/components/ThinkingStrip.js.map +1 -0
  30. package/lib/commonjs/components/useCopyAction.js +50 -0
  31. package/lib/commonjs/components/useCopyAction.js.map +1 -0
  32. package/lib/commonjs/index.js +47 -0
  33. package/lib/commonjs/index.js.map +1 -1
  34. package/lib/commonjs/preset.js +1 -1
  35. package/lib/commonjs/store/askBuoySettings.js +67 -0
  36. package/lib/commonjs/store/askBuoySettings.js.map +1 -0
  37. package/lib/commonjs/store/askBuoyStore.js +97 -11
  38. package/lib/commonjs/store/askBuoyStore.js.map +1 -1
  39. package/lib/commonjs/store/restoredIds.test.js +47 -0
  40. package/lib/commonjs/store/restoredIds.test.js.map +1 -0
  41. package/lib/commonjs/store/traceText.js +81 -0
  42. package/lib/commonjs/store/traceText.js.map +1 -0
  43. package/lib/commonjs/store/traceText.test.js +112 -0
  44. package/lib/commonjs/store/traceText.test.js.map +1 -0
  45. package/lib/commonjs/store/transcriptPersistence.js +208 -0
  46. package/lib/commonjs/store/transcriptPersistence.js.map +1 -0
  47. package/lib/commonjs/store/transcriptPersistence.test.js +185 -0
  48. package/lib/commonjs/store/transcriptPersistence.test.js.map +1 -0
  49. package/lib/commonjs/store/useAskBuoy.js +102 -1
  50. package/lib/commonjs/store/useAskBuoy.js.map +1 -1
  51. package/lib/commonjs/store/useAskBuoySettings.js +14 -0
  52. package/lib/commonjs/store/useAskBuoySettings.js.map +1 -0
  53. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +6 -1
  54. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -1
  55. package/lib/module/blocks/DataBlocks.js +217 -75
  56. package/lib/module/blocks/DataBlocks.js.map +1 -1
  57. package/lib/module/blocks/ExtraBlocks.js +55 -22
  58. package/lib/module/blocks/ExtraBlocks.js.map +1 -1
  59. package/lib/module/blocks/MediaBlocks.js +3 -3
  60. package/lib/module/blocks/MediaBlocks.js.map +1 -1
  61. package/lib/module/blocks/ReceiptBlocks.js +37 -47
  62. package/lib/module/blocks/ReceiptBlocks.js.map +1 -1
  63. package/lib/module/blocks/listRow.test.js +56 -0
  64. package/lib/module/blocks/listRow.test.js.map +1 -0
  65. package/lib/module/blocks/pageState.js +30 -0
  66. package/lib/module/blocks/pageState.js.map +1 -0
  67. package/lib/module/blocks/pageState.test.js +56 -0
  68. package/lib/module/blocks/pageState.test.js.map +1 -0
  69. package/lib/module/blocks/primitives.js +112 -24
  70. package/lib/module/blocks/primitives.js.map +1 -1
  71. package/lib/module/blocks/primitivesIndex.js +1 -1
  72. package/lib/module/blocks/primitivesIndex.js.map +1 -1
  73. package/lib/module/components/AskBuoyHeader.js +43 -6
  74. package/lib/module/components/AskBuoyHeader.js.map +1 -1
  75. package/lib/module/components/AskBuoyModal.js +54 -23
  76. package/lib/module/components/AskBuoyModal.js.map +1 -1
  77. package/lib/module/components/AskBuoySettings.js +64 -0
  78. package/lib/module/components/AskBuoySettings.js.map +1 -0
  79. package/lib/module/components/MessageList.js +91 -56
  80. package/lib/module/components/MessageList.js.map +1 -1
  81. package/lib/module/components/ThinkingStrip.js +218 -0
  82. package/lib/module/components/ThinkingStrip.js.map +1 -0
  83. package/lib/module/components/useCopyAction.js +46 -0
  84. package/lib/module/components/useCopyAction.js.map +1 -0
  85. package/lib/module/index.js +5 -0
  86. package/lib/module/index.js.map +1 -1
  87. package/lib/module/preset.js +1 -1
  88. package/lib/module/store/askBuoySettings.js +62 -0
  89. package/lib/module/store/askBuoySettings.js.map +1 -0
  90. package/lib/module/store/askBuoyStore.js +97 -11
  91. package/lib/module/store/askBuoyStore.js.map +1 -1
  92. package/lib/module/store/restoredIds.test.js +46 -0
  93. package/lib/module/store/restoredIds.test.js.map +1 -0
  94. package/lib/module/store/traceText.js +75 -0
  95. package/lib/module/store/traceText.js.map +1 -0
  96. package/lib/module/store/traceText.test.js +111 -0
  97. package/lib/module/store/traceText.test.js.map +1 -0
  98. package/lib/module/store/transcriptPersistence.js +198 -0
  99. package/lib/module/store/transcriptPersistence.js.map +1 -0
  100. package/lib/module/store/transcriptPersistence.test.js +184 -0
  101. package/lib/module/store/transcriptPersistence.test.js.map +1 -0
  102. package/lib/module/store/useAskBuoy.js +102 -1
  103. package/lib/module/store/useAskBuoy.js.map +1 -1
  104. package/lib/module/store/useAskBuoySettings.js +9 -0
  105. package/lib/module/store/useAskBuoySettings.js.map +1 -0
  106. package/lib/module/sync/askBuoySyncAdapter.test.js +6 -1
  107. package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -1
  108. package/lib/typescript/blocks/DataBlocks.d.ts +31 -0
  109. package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -1
  110. package/lib/typescript/blocks/ExtraBlocks.d.ts +11 -0
  111. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -1
  112. package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -1
  113. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -1
  114. package/lib/typescript/blocks/listRow.test.d.ts +2 -0
  115. package/lib/typescript/blocks/listRow.test.d.ts.map +1 -0
  116. package/lib/typescript/blocks/pageState.d.ts +23 -0
  117. package/lib/typescript/blocks/pageState.d.ts.map +1 -0
  118. package/lib/typescript/blocks/pageState.test.d.ts +2 -0
  119. package/lib/typescript/blocks/pageState.test.d.ts.map +1 -0
  120. package/lib/typescript/blocks/primitives.d.ts +39 -9
  121. package/lib/typescript/blocks/primitives.d.ts.map +1 -1
  122. package/lib/typescript/blocks/primitivesIndex.d.ts +2 -1
  123. package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -1
  124. package/lib/typescript/components/AskBuoyHeader.d.ts +11 -1
  125. package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -1
  126. package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -1
  127. package/lib/typescript/components/AskBuoySettings.d.ts +2 -0
  128. package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -0
  129. package/lib/typescript/components/MessageList.d.ts +12 -5
  130. package/lib/typescript/components/MessageList.d.ts.map +1 -1
  131. package/lib/typescript/components/ThinkingStrip.d.ts +5 -0
  132. package/lib/typescript/components/ThinkingStrip.d.ts.map +1 -0
  133. package/lib/typescript/components/useCopyAction.d.ts +5 -0
  134. package/lib/typescript/components/useCopyAction.d.ts.map +1 -0
  135. package/lib/typescript/index.d.ts +5 -0
  136. package/lib/typescript/index.d.ts.map +1 -1
  137. package/lib/typescript/preset.d.ts +1 -1
  138. package/lib/typescript/store/askBuoySettings.d.ts +22 -0
  139. package/lib/typescript/store/askBuoySettings.d.ts.map +1 -0
  140. package/lib/typescript/store/askBuoyStore.d.ts +74 -13
  141. package/lib/typescript/store/askBuoyStore.d.ts.map +1 -1
  142. package/lib/typescript/store/restoredIds.test.d.ts +2 -0
  143. package/lib/typescript/store/restoredIds.test.d.ts.map +1 -0
  144. package/lib/typescript/store/traceText.d.ts +33 -0
  145. package/lib/typescript/store/traceText.d.ts.map +1 -0
  146. package/lib/typescript/store/traceText.test.d.ts +2 -0
  147. package/lib/typescript/store/traceText.test.d.ts.map +1 -0
  148. package/lib/typescript/store/transcriptPersistence.d.ts +40 -0
  149. package/lib/typescript/store/transcriptPersistence.d.ts.map +1 -0
  150. package/lib/typescript/store/transcriptPersistence.test.d.ts +2 -0
  151. package/lib/typescript/store/transcriptPersistence.test.d.ts.map +1 -0
  152. package/lib/typescript/store/useAskBuoy.d.ts.map +1 -1
  153. package/lib/typescript/store/useAskBuoySettings.d.ts +3 -0
  154. package/lib/typescript/store/useAskBuoySettings.d.ts.map +1 -0
  155. package/lib/typescript/types.d.ts +24 -1
  156. package/lib/typescript/types.d.ts.map +1 -1
  157. package/package.json +8 -8
@@ -7,8 +7,9 @@
7
7
  import { useState } from "react";
8
8
  import { Image, Pressable, StyleSheet, Text, View } from "react-native";
9
9
  import { AlertTriangle, Check, Info, night, X } from "@buoy-gg/shared-ui";
10
+ import { DataViewer } from "@buoy-gg/shared-ui/dataViewer";
10
11
  import { CAPS } from "@buoy-gg/agent-core";
11
- import { ActionRow, blockStyles as b, Card, More, toneColor, useBlockHandlers, useExpand } from "./primitivesIndex";
12
+ import { ActionRow, blockStyles as b, Card, More, toneColor, useBlockHandlers, usePaged } from "./primitivesIndex";
12
13
  import { renderInline } from "../components/Markdown";
13
14
  import { BlockIcon } from "./icons";
14
15
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -27,11 +28,10 @@ function fmt(v) {
27
28
  export function Table({
28
29
  block
29
30
  }) {
31
+ const paged = usePaged(block.rows, CAPS.tableRows);
30
32
  const {
31
- visible,
32
- expanded,
33
- toggle
34
- } = useExpand(block.rows, CAPS.tableRows);
33
+ visible
34
+ } = paged;
35
35
  const cols = block.columns.slice(0, 4);
36
36
  return /*#__PURE__*/_jsxs(Card, {
37
37
  title: block.title,
@@ -59,21 +59,17 @@ export function Table({
59
59
  }, i);
60
60
  })
61
61
  }, r)), /*#__PURE__*/_jsx(More, {
62
- shown: visible.length,
63
- total: block.total ?? block.rows.length,
64
- onExpand: block.rows.length > visible.length || expanded ? toggle : undefined,
65
- expanded: expanded
62
+ paged: paged
66
63
  })]
67
64
  });
68
65
  }
69
66
  export function KeyValue({
70
67
  block
71
68
  }) {
69
+ const paged = usePaged(block.pairs, CAPS.keyValuePairs);
72
70
  const {
73
- visible,
74
- expanded,
75
- toggle
76
- } = useExpand(block.pairs, CAPS.keyValuePairs);
71
+ visible
72
+ } = paged;
77
73
  const [open, setOpen] = useState(null);
78
74
  return /*#__PURE__*/_jsxs(Card, {
79
75
  title: block.title,
@@ -97,82 +93,154 @@ export function KeyValue({
97
93
  })]
98
94
  }, p.key);
99
95
  }), /*#__PURE__*/_jsx(More, {
100
- shown: visible.length,
101
- total: block.pairs.length,
102
- onExpand: block.pairs.length > CAPS.keyValuePairs ? toggle : undefined,
103
- expanded: expanded
96
+ paged: paged
104
97
  })]
105
98
  });
106
99
  }
100
+
101
+ /**
102
+ * Keys carry the index as well as the id.
103
+ *
104
+ * The ids in here come from the app's own data, and app data is not required
105
+ * to be unique — a Poké Mart bag in this repo holds two lines sharing one
106
+ * `lineId`, which is a bug in that app but must not be one in a devtool
107
+ * rendering it. Paging made it visible: the duplicate sat past the initial cap,
108
+ * so React only saw the collision on the first "Show more".
109
+ */
110
+ /**
111
+ * What a tapped list row does.
112
+ *
113
+ * A row can carry a picture and an action, and they want the same gesture. The
114
+ * picture wins the row body — looking at a thing must not fire it — and the
115
+ * action keeps its label as its own control. A row with no picture is
116
+ * unchanged: the whole row runs the action, which is what it did before rows
117
+ * could open.
118
+ */
119
+ export function listRowBehaviour(item) {
120
+ const canExpand = Boolean(item.image);
121
+ return {
122
+ canExpand,
123
+ rowRunsAction: Boolean(item.action) && !canExpand,
124
+ actionIsOwnControl: Boolean(item.action) && canExpand
125
+ };
126
+ }
107
127
  export function List({
108
128
  block
109
129
  }) {
110
130
  const h = useBlockHandlers();
131
+ const paged = usePaged(block.items, CAPS.listItems);
111
132
  const {
112
- visible,
113
- expanded,
114
- toggle
115
- } = useExpand(block.items, CAPS.listItems);
133
+ visible
134
+ } = paged;
135
+ // One row open at a time, keyed the same way the row is — the list can hold
136
+ // duplicate ids (see the note above), so the index is part of the key.
137
+ const [open, setOpen] = useState(null);
116
138
  return /*#__PURE__*/_jsxs(Card, {
117
139
  title: block.title,
118
140
  source: block.source,
119
141
  testID: `buoy-block-list-${block.id}`,
120
142
  children: [visible.map((it, i) => {
121
- const Row = it.action ? Pressable : View;
122
- return /*#__PURE__*/_jsxs(Row, {
123
- ...(it.action ? {
124
- onPress: () => void h.runAction(it.action, block.id),
125
- accessibilityRole: "button"
126
- } : {}),
127
- style: [b.row, i > 0 && b.rowDivider],
128
- children: [it.image ? /*#__PURE__*/_jsx(Image, {
129
- source: {
130
- uri: it.image
131
- },
132
- style: styles.thumb,
133
- accessibilityLabel: it.title
134
- }) : it.icon ? /*#__PURE__*/_jsx(BlockIcon, {
135
- name: it.icon
136
- }) : null, /*#__PURE__*/_jsxs(View, {
137
- style: styles.flex,
138
- children: [/*#__PURE__*/_jsx(Text, {
139
- style: [b.rowTitle, it.tone && {
143
+ const key = `${it.id ?? it.title}-${i}`;
144
+ const expanded = open === key;
145
+ // A row with a picture opens it; a row without one keeps the old
146
+ // behaviour, where the whole row runs its action. When an item has
147
+ // BOTH, the body toggles the image and the action label becomes its
148
+ // own control — otherwise the two gestures would sit on one target and
149
+ // looking at a thing would fire it.
150
+ const {
151
+ canExpand,
152
+ rowRunsAction,
153
+ actionIsOwnControl
154
+ } = listRowBehaviour(it);
155
+ const Row = canExpand || rowRunsAction ? Pressable : View;
156
+ const rowProps = canExpand ? {
157
+ onPress: () => setOpen(expanded ? null : key),
158
+ accessibilityRole: "button",
159
+ accessibilityState: {
160
+ expanded
161
+ },
162
+ accessibilityLabel: `${it.title}, ${expanded ? "hide" : "show"} picture`,
163
+ testID: `buoy-block-list-row-${key}`
164
+ } : rowRunsAction ? {
165
+ onPress: () => void h.runAction(it.action, block.id),
166
+ accessibilityRole: "button"
167
+ } : {};
168
+ return /*#__PURE__*/_jsxs(View, {
169
+ style: i > 0 ? b.rowDivider : undefined,
170
+ children: [expanded && it.image ? /*#__PURE__*/_jsx(Pressable, {
171
+ onPress: () => setOpen(null),
172
+ accessibilityRole: "button",
173
+ accessibilityLabel: `Hide ${it.title}`,
174
+ testID: `buoy-block-list-hero-${key}`,
175
+ style: styles.listHero,
176
+ children: /*#__PURE__*/_jsx(Image, {
177
+ source: {
178
+ uri: it.image
179
+ },
180
+ style: styles.listHeroImage,
181
+ resizeMode: "contain",
182
+ accessibilityLabel: it.title
183
+ })
184
+ }) : null, /*#__PURE__*/_jsxs(Row, {
185
+ ...rowProps,
186
+ style: b.row,
187
+ children: [it.image && !expanded ? /*#__PURE__*/_jsx(Image, {
188
+ source: {
189
+ uri: it.image
190
+ },
191
+ style: styles.thumb,
192
+ resizeMode: "contain",
193
+ accessibilityLabel: it.title
194
+ }) : it.icon ? /*#__PURE__*/_jsx(BlockIcon, {
195
+ name: it.icon
196
+ }) : null, /*#__PURE__*/_jsxs(View, {
197
+ style: styles.flex,
198
+ children: [/*#__PURE__*/_jsx(Text, {
199
+ style: [b.rowTitle, it.tone && {
200
+ color: toneColor(it.tone)
201
+ }],
202
+ numberOfLines: expanded ? undefined : 2,
203
+ children: renderInline(it.title, b.rowTitle)
204
+ }), it.subtitle ? /*#__PURE__*/_jsx(Text, {
205
+ style: b.rowSub,
206
+ numberOfLines: expanded ? undefined : 2,
207
+ children: renderInline(it.subtitle, b.rowSub)
208
+ }) : null]
209
+ }), it.trailing ? /*#__PURE__*/_jsx(Text, {
210
+ style: [b.rowTrailing, it.tone && {
140
211
  color: toneColor(it.tone)
141
212
  }],
142
- numberOfLines: 2,
143
- children: renderInline(it.title, b.rowTitle)
144
- }), it.subtitle ? /*#__PURE__*/_jsx(Text, {
145
- style: b.rowSub,
146
- numberOfLines: 2,
147
- children: renderInline(it.subtitle, b.rowSub)
213
+ numberOfLines: 1,
214
+ children: it.trailing
215
+ }) : null, it.action ? actionIsOwnControl ? /*#__PURE__*/_jsx(Pressable, {
216
+ onPress: () => void h.runAction(it.action, block.id),
217
+ accessibilityRole: "button",
218
+ accessibilityLabel: it.action.label,
219
+ hitSlop: 8,
220
+ children: /*#__PURE__*/_jsx(Text, {
221
+ style: styles.rowAction,
222
+ children: it.action.label
223
+ })
224
+ }) : /*#__PURE__*/_jsx(Text, {
225
+ style: styles.rowAction,
226
+ children: it.action.label
148
227
  }) : null]
149
- }), it.trailing ? /*#__PURE__*/_jsx(Text, {
150
- style: [b.rowTrailing, it.tone && {
151
- color: toneColor(it.tone)
152
- }],
153
- numberOfLines: 1,
154
- children: it.trailing
155
- }) : null, it.action ? /*#__PURE__*/_jsx(Text, {
156
- style: styles.rowAction,
157
- children: it.action.label
158
- }) : null]
159
- }, it.id ?? `${it.title}-${i}`);
228
+ })]
229
+ }, key);
160
230
  }), /*#__PURE__*/_jsx(More, {
161
- shown: visible.length,
162
- total: block.total ?? block.items.length,
163
- onExpand: block.items.length > visible.length || expanded ? toggle : undefined,
164
- expanded: expanded
231
+ paged: paged
165
232
  })]
166
233
  });
167
234
  }
168
235
  export function Diff({
169
236
  block
170
237
  }) {
238
+ const paged = usePaged(block.changes, CAPS.keyValuePairs);
171
239
  return /*#__PURE__*/_jsxs(Card, {
172
240
  title: block.title ?? "What changed",
173
241
  source: block.source,
174
242
  testID: `buoy-block-diff-${block.id}`,
175
- children: [block.changes.slice(0, CAPS.keyValuePairs).map((c, i) => {
243
+ children: [paged.visible.map((c, i) => {
176
244
  const added = c.before === undefined && c.after !== undefined;
177
245
  const removed = c.after === undefined && c.before !== undefined;
178
246
  return /*#__PURE__*/_jsxs(View, {
@@ -214,8 +282,7 @@ export function Diff({
214
282
  }) : null]
215
283
  }, `${c.path}-${i}`);
216
284
  }), /*#__PURE__*/_jsx(More, {
217
- shown: Math.min(block.changes.length, CAPS.keyValuePairs),
218
- total: block.changes.length
285
+ paged: paged
219
286
  })]
220
287
  });
221
288
  }
@@ -230,7 +297,7 @@ export function Chart({
230
297
  testID: `buoy-block-chart-${block.id}`,
231
298
  children: /*#__PURE__*/_jsx(View, {
232
299
  style: styles.chart,
233
- children: bars.map(x => /*#__PURE__*/_jsxs(View, {
300
+ children: bars.map((x, i) => /*#__PURE__*/_jsxs(View, {
234
301
  style: styles.barRow,
235
302
  children: [/*#__PURE__*/_jsx(Text, {
236
303
  style: styles.barLabel,
@@ -249,7 +316,7 @@ export function Chart({
249
316
  numberOfLines: 1,
250
317
  children: [x.value, x.unit ? ` ${x.unit}` : ""]
251
318
  })]
252
- }, x.label))
319
+ }, `${x.label}-${i}`))
253
320
  })
254
321
  });
255
322
  }
@@ -280,26 +347,83 @@ export function Steps({
280
347
  }, i))
281
348
  });
282
349
  }
283
- export function Code({
350
+
351
+ /**
352
+ * Parsed JSON, or `undefined` when the payload is not JSON at all.
353
+ *
354
+ * A bare string, number or boolean parses fine and is deliberately rejected:
355
+ * `"hello"` is valid JSON and a tree of one leaf is a worse way to read it
356
+ * than the line itself.
357
+ */
358
+ function parseJson(text) {
359
+ try {
360
+ const value = JSON.parse(text);
361
+ return value !== null && typeof value === "object" ? value : undefined;
362
+ } catch {
363
+ return undefined;
364
+ }
365
+ }
366
+
367
+ /**
368
+ * A JSON payload, in the same explorer Storage and Network use.
369
+ *
370
+ * Worth the weight over a pretty-printed string: it collapses, it types its
371
+ * values, and the thing you are usually hunting — one wrong field deep in a
372
+ * response body — is findable instead of buried in forty lines of monospace.
373
+ * The explorer's own lists run `scrollEnabled={false}` and grow to their
374
+ * content, so nothing nests a scroller inside the transcript.
375
+ */
376
+ function JsonCode({
377
+ block,
378
+ value
379
+ }) {
380
+ return /*#__PURE__*/_jsx(Card, {
381
+ title: block.title,
382
+ testID: `buoy-block-code-${block.id}`,
383
+ children: /*#__PURE__*/_jsx(View, {
384
+ style: styles.viewer,
385
+ children: /*#__PURE__*/_jsx(DataViewer, {
386
+ title: block.title ?? "Payload",
387
+ data: value,
388
+ initialExpanded: true,
389
+ showTypeFilter: false,
390
+ testIDPrefix: `buoy-block-code-${block.id}`
391
+ })
392
+ })
393
+ });
394
+ }
395
+
396
+ /** Anything that is not a JSON object: a log line, a stack, a snippet. */
397
+ function TextCode({
284
398
  block
285
399
  }) {
286
- const text = block.language === "json" ? tryPretty(block.text) : block.text;
287
400
  return /*#__PURE__*/_jsx(Card, {
288
401
  title: block.title,
289
402
  testID: `buoy-block-code-${block.id}`,
290
403
  children: /*#__PURE__*/_jsx(Text, {
291
404
  style: [b.mono, styles.code],
292
405
  selectable: true,
293
- children: text
406
+ children: block.text
294
407
  })
295
408
  });
296
409
  }
297
- function tryPretty(text) {
298
- try {
299
- return JSON.stringify(JSON.parse(text), null, 2);
300
- } catch {
301
- return text;
302
- }
410
+
411
+ /**
412
+ * Router, per rule4: two specialised components rather than one that changes
413
+ * shape. A `cond ? <A/> : <B/>` inside a single component is the Fabric
414
+ * view-index hazard, and these two subtrees have nothing in common.
415
+ */
416
+ export function Code({
417
+ block
418
+ }) {
419
+ const value = parseJson(block.text);
420
+ if (value === undefined) return /*#__PURE__*/_jsx(TextCode, {
421
+ block: block
422
+ });
423
+ return /*#__PURE__*/_jsx(JsonCode, {
424
+ block: block,
425
+ value: value
426
+ });
303
427
  }
304
428
  export function Notice({
305
429
  block
@@ -415,6 +539,18 @@ const styles = StyleSheet.create({
415
539
  borderRadius: 8,
416
540
  backgroundColor: night.color.fill
417
541
  },
542
+ // The enlarged picture, sitting above the row it belongs to. Same height and
543
+ // fitting as `imageGrid`'s hero so the two blocks enlarge alike.
544
+ listHero: {
545
+ paddingHorizontal: 12,
546
+ paddingTop: 12
547
+ },
548
+ listHeroImage: {
549
+ width: "100%",
550
+ height: 240,
551
+ borderRadius: night.radius.row,
552
+ backgroundColor: night.color.fill
553
+ },
418
554
  rowAction: {
419
555
  color: night.color.accent,
420
556
  fontSize: night.font.caption,
@@ -509,6 +645,12 @@ const styles = StyleSheet.create({
509
645
  stepTextDone: {
510
646
  color: night.color.textSecondary
511
647
  },
648
+ // The explorer draws its own rows; this is only the inset that keeps them
649
+ // off the card's edge, matching every other block's 12pt gutter.
650
+ viewer: {
651
+ paddingHorizontal: 4,
652
+ paddingBottom: 8
653
+ },
512
654
  code: {
513
655
  paddingHorizontal: 12,
514
656
  paddingVertical: 10,
@@ -1 +1 @@
1
- {"version":3,"names":["useState","Image","Pressable","StyleSheet","Text","View","AlertTriangle","Check","Info","night","X","CAPS","ActionRow","blockStyles","b","Card","More","toneColor","useBlockHandlers","useExpand","renderInline","BlockIcon","jsx","_jsx","jsxs","_jsxs","fmt","v","undefined","String","s","JSON","stringify","length","slice","Table","block","visible","expanded","toggle","rows","tableRows","cols","columns","title","source","testID","id","children","style","styles","tableHead","map","c","i","th","firstCol","numberOfLines","row","r","tr","rowDivider","_","cell","text","tone","td","tdFirst","color","shown","total","onExpand","KeyValue","pairs","keyValuePairs","open","setOpen","p","long","value","isOpen","key","onPress","kvRow","kvKey","kvValue","mono","selectable","List","h","items","listItems","it","Row","action","runAction","accessibilityRole","image","uri","thumb","accessibilityLabel","icon","name","flex","rowTitle","subtitle","rowSub","trailing","rowTrailing","rowAction","label","Diff","changes","added","before","after","removed","diffRow","diffPath","path","diffLine","diffMark","danger","diffValue","accent","Math","min","Chart","bars","chartBars","max","x","chart","barRow","barLabel","barTrack","bar","width","round","backgroundColor","barValue","unit","Steps","steps","step","stepMark","state","stepDone","stepFailed","size","onAccent","stepNum","stepTextDone","Code","language","tryPretty","code","parse","Notice","warning","info","Icon","noticeRow","noticeText","actions","blockId","Finding","evidence","e","create","flexDirection","paddingHorizontal","paddingVertical","gap","fill","textTertiary","fontSize","font","micro","fontWeight","letterSpacing","textTransform","alignItems","textSecondary","caption","lineHeight","paddingTop","height","borderRadius","fontFamily","overflow","textAlign","fillTertiary","justifyContent","paddingBottom"],"sourceRoot":"../../../src","sources":["blocks/DataBlocks.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","Image","Pressable","StyleSheet","Text","View","AlertTriangle","Check","Info","night","X","DataViewer","CAPS","ActionRow","blockStyles","b","Card","More","toneColor","useBlockHandlers","usePaged","renderInline","BlockIcon","jsx","_jsx","jsxs","_jsxs","fmt","v","undefined","String","s","JSON","stringify","length","slice","Table","block","paged","rows","tableRows","visible","cols","columns","title","source","testID","id","children","style","styles","tableHead","map","c","i","th","firstCol","numberOfLines","row","r","tr","rowDivider","_","cell","text","tone","td","tdFirst","color","KeyValue","pairs","keyValuePairs","open","setOpen","p","long","value","isOpen","key","onPress","kvRow","kvKey","kvValue","mono","selectable","listRowBehaviour","item","canExpand","Boolean","image","rowRunsAction","action","actionIsOwnControl","List","h","items","listItems","it","expanded","Row","rowProps","accessibilityRole","accessibilityState","accessibilityLabel","runAction","listHero","uri","listHeroImage","resizeMode","thumb","icon","name","flex","rowTitle","subtitle","rowSub","trailing","rowTrailing","label","hitSlop","rowAction","Diff","changes","added","before","after","removed","diffRow","diffPath","path","diffLine","diffMark","danger","diffValue","accent","Chart","bars","chartBars","max","Math","x","chart","barRow","barLabel","barTrack","bar","width","round","backgroundColor","barValue","unit","Steps","steps","step","stepMark","state","stepDone","stepFailed","size","onAccent","stepNum","stepTextDone","parseJson","parse","JsonCode","viewer","data","initialExpanded","showTypeFilter","testIDPrefix","TextCode","code","Code","Notice","warning","info","Icon","noticeRow","noticeText","actions","blockId","Finding","evidence","e","create","flexDirection","paddingHorizontal","paddingVertical","gap","fill","textTertiary","fontSize","font","micro","fontWeight","letterSpacing","textTransform","alignItems","textSecondary","caption","lineHeight","paddingTop","height","borderRadius","radius","fontFamily","overflow","textAlign","fillTertiary","justifyContent","paddingBottom"],"sourceRoot":"../../../src","sources":["blocks/DataBlocks.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,10 +7,10 @@
7
7
  */
8
8
  import { useEffect, useRef, useState } from "react";
9
9
  import { Animated, Image, Pressable, ScrollView, StyleSheet, Switch, Text, TextInput, View } from "react-native";
10
- import { AlertTriangle, Check, ChevronDown, ChevronRight, night, RefreshCw, Search, X } from "@buoy-gg/shared-ui";
10
+ import { AlertTriangle, Check, ChevronDown, ChevronRight, night, NightSegmented, RefreshCw, Search, X } from "@buoy-gg/shared-ui";
11
11
  import { BlockRenderer } from "./BlockRenderer";
12
12
  import { useBlockHandlers } from "./context";
13
- import { ActionRow, blockStyles as b, Card, toneColor } from "./primitives";
13
+ import { ActionRow, blockStyles as b, Card, More, toneColor, usePaged } from "./primitives";
14
14
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
15
  const fmt = v => typeof v === "string" ? v : v === undefined ? "—" : JSON.stringify(v);
16
16
 
@@ -658,39 +658,60 @@ export function Details({
658
658
  }) : null]
659
659
  });
660
660
  }
661
+
662
+ /**
663
+ * The tool-header segmented control, not a strip of this block's own.
664
+ *
665
+ * `NightSegmented` is what the dial settings and the network tool mount, so a
666
+ * tabbed block now reads as part of the same product rather than as a
667
+ * lookalike drawn next to it. `sm` is its compact variant, which is what a
668
+ * control inside a chat bubble wants.
669
+ *
670
+ * Keyed by INDEX, not label: two tabs may legitimately share a label, and a
671
+ * duplicate key would collapse them into one.
672
+ */
661
673
  export function Tabs({
662
674
  block
663
675
  }) {
664
676
  const [i, setI] = useState(0);
677
+ const tabs = block.tabs.map((t, k) => ({
678
+ key: String(k),
679
+ label: t.label
680
+ }));
681
+ const active = block.tabs[i];
665
682
  return /*#__PURE__*/_jsxs(View, {
666
683
  style: styles.tabsWrap,
667
684
  testID: `buoy-block-tabs-${block.id}`,
668
- children: [/*#__PURE__*/_jsx(View, {
669
- style: styles.tabBar,
670
- children: block.tabs.map((t, k) => /*#__PURE__*/_jsx(Pressable, {
671
- onPress: () => setI(k),
672
- style: [styles.tab, i === k && styles.tabOn],
673
- accessibilityRole: "tab",
674
- children: /*#__PURE__*/_jsx(Text, {
675
- style: [styles.tabText, i === k && styles.tabTextOn],
676
- children: t.label
677
- })
678
- }, t.label))
679
- }), block.tabs[i] ? /*#__PURE__*/_jsx(BlockRenderer, {
680
- block: block.tabs[i].block
685
+ children: [/*#__PURE__*/_jsx(NightSegmented, {
686
+ tabs: tabs,
687
+ activeKey: String(i),
688
+ onChange: key => setI(Number(key)),
689
+ size: "sm"
690
+ }), active ? /*#__PURE__*/_jsx(BlockRenderer, {
691
+ block: active.block
681
692
  }) : null]
682
693
  });
683
694
  }
684
695
 
685
696
  // ---------------------------------------------------------------- Timeline
697
+ /** Ten fits a phone without the answer above it scrolling away. */
698
+ const TIMELINE_CAP = 10;
686
699
  export function Timeline({
687
700
  block
688
701
  }) {
702
+ /**
703
+ * The cap used to be a bare `.slice(0, 10)` while the "+N more" line below
704
+ * compared `total` against the FULL event array — so eleven events with a
705
+ * matching total rendered ten and said nothing about the eleventh, and a
706
+ * total larger than the array rendered a "+N more" that was only ever a
707
+ * label. Both counts come from the pager now.
708
+ */
709
+ const paged = usePaged(block.events, TIMELINE_CAP);
689
710
  return /*#__PURE__*/_jsxs(Card, {
690
711
  title: block.title ?? "What happened",
691
712
  source: block.source,
692
713
  testID: `buoy-block-timeline-${block.id}`,
693
- children: [block.events.slice(0, 10).map((e, i) => /*#__PURE__*/_jsxs(View, {
714
+ children: [paged.visible.map((e, i) => /*#__PURE__*/_jsxs(View, {
694
715
  style: styles.tlRow,
695
716
  children: [/*#__PURE__*/_jsx(Text, {
696
717
  style: styles.tlAt,
@@ -701,7 +722,7 @@ export function Timeline({
701
722
  style: [styles.tlDot, {
702
723
  backgroundColor: toneColor(e.tone ?? "muted")
703
724
  }]
704
- }), i < block.events.length - 1 ? /*#__PURE__*/_jsx(View, {
725
+ }), i < paged.visible.length - 1 ? /*#__PURE__*/_jsx(View, {
705
726
  style: styles.tlStem
706
727
  }) : null]
707
728
  }), /*#__PURE__*/_jsxs(View, {
@@ -715,10 +736,9 @@ export function Timeline({
715
736
  children: e.label
716
737
  })]
717
738
  })]
718
- }, i)), block.total && block.total > block.events.length ? /*#__PURE__*/_jsxs(Text, {
719
- style: styles.hint,
720
- children: ["+", block.total - block.events.length, " more"]
721
- }) : null]
739
+ }, i)), /*#__PURE__*/_jsx(More, {
740
+ paged: paged
741
+ })]
722
742
  });
723
743
  }
724
744
 
@@ -846,7 +866,7 @@ function CardBody({
846
866
  uri: c.image
847
867
  },
848
868
  style: styles.cardImage,
849
- resizeMode: "cover",
869
+ resizeMode: "contain",
850
870
  accessibilityLabel: c.title
851
871
  }) : null, /*#__PURE__*/_jsxs(View, {
852
872
  style: styles.cardText,
@@ -1631,6 +1651,19 @@ const styles = StyleSheet.create({
1631
1651
  fontSize: night.font.caption,
1632
1652
  fontFamily: "Menlo"
1633
1653
  },
1654
+ /**
1655
+ * A fixed box the image is fitted INTO, never cropped to.
1656
+ *
1657
+ * This was `cover`, which is right for a decorative banner and wrong for
1658
+ * everything the agent actually passes: product art, avatars and sprites are
1659
+ * square, and a square scaled to fill a 2.4:1 box loses its top and bottom —
1660
+ * a Charizard reduced to a band of its own middle. These pictures are the
1661
+ * app's DATA, being looked at in a devtool; cropping hides the thing you
1662
+ * opened the card to see. `contain` letterboxes a wide image instead, which
1663
+ * costs a little space and no information. The fill behind it is the
1664
+ * letterbox. Same reasoning as the screenshot block, which was already
1665
+ * `contain`.
1666
+ */
1634
1667
  cardImage: {
1635
1668
  width: "100%",
1636
1669
  height: 140,