@buoy-gg/ask-buoy 7.0.33

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 (184) hide show
  1. package/LICENSE +58 -0
  2. package/README.md +50 -0
  3. package/lib/commonjs/blocks/AskBlocks.js +338 -0
  4. package/lib/commonjs/blocks/AskBlocks.js.map +1 -0
  5. package/lib/commonjs/blocks/BlockRenderer.js +250 -0
  6. package/lib/commonjs/blocks/BlockRenderer.js.map +1 -0
  7. package/lib/commonjs/blocks/ChromePrototypes.js +514 -0
  8. package/lib/commonjs/blocks/ChromePrototypes.js.map +1 -0
  9. package/lib/commonjs/blocks/DataBlocks.js +545 -0
  10. package/lib/commonjs/blocks/DataBlocks.js.map +1 -0
  11. package/lib/commonjs/blocks/ExtraBlocks.js +1821 -0
  12. package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -0
  13. package/lib/commonjs/blocks/MediaBlocks.js +140 -0
  14. package/lib/commonjs/blocks/MediaBlocks.js.map +1 -0
  15. package/lib/commonjs/blocks/ReceiptBlocks.js +596 -0
  16. package/lib/commonjs/blocks/ReceiptBlocks.js.map +1 -0
  17. package/lib/commonjs/blocks/context.js +42 -0
  18. package/lib/commonjs/blocks/context.js.map +1 -0
  19. package/lib/commonjs/blocks/icons.js +96 -0
  20. package/lib/commonjs/blocks/icons.js.map +1 -0
  21. package/lib/commonjs/blocks/index.js +95 -0
  22. package/lib/commonjs/blocks/index.js.map +1 -0
  23. package/lib/commonjs/blocks/primitives.js +312 -0
  24. package/lib/commonjs/blocks/primitives.js.map +1 -0
  25. package/lib/commonjs/blocks/primitivesIndex.js +56 -0
  26. package/lib/commonjs/blocks/primitivesIndex.js.map +1 -0
  27. package/lib/commonjs/components/ApprovalCard.js +140 -0
  28. package/lib/commonjs/components/ApprovalCard.js.map +1 -0
  29. package/lib/commonjs/components/AskBuoyHeader.js +127 -0
  30. package/lib/commonjs/components/AskBuoyHeader.js.map +1 -0
  31. package/lib/commonjs/components/AskBuoyIcon.js +19 -0
  32. package/lib/commonjs/components/AskBuoyIcon.js.map +1 -0
  33. package/lib/commonjs/components/AskBuoyModal.js +322 -0
  34. package/lib/commonjs/components/AskBuoyModal.js.map +1 -0
  35. package/lib/commonjs/components/ChangesBar.js +211 -0
  36. package/lib/commonjs/components/ChangesBar.js.map +1 -0
  37. package/lib/commonjs/components/Composer.js +175 -0
  38. package/lib/commonjs/components/Composer.js.map +1 -0
  39. package/lib/commonjs/components/EmptyState.js +154 -0
  40. package/lib/commonjs/components/EmptyState.js.map +1 -0
  41. package/lib/commonjs/components/Markdown.js +252 -0
  42. package/lib/commonjs/components/Markdown.js.map +1 -0
  43. package/lib/commonjs/components/MessageList.js +648 -0
  44. package/lib/commonjs/components/MessageList.js.map +1 -0
  45. package/lib/commonjs/components/TypingDots.js +63 -0
  46. package/lib/commonjs/components/TypingDots.js.map +1 -0
  47. package/lib/commonjs/index.js +205 -0
  48. package/lib/commonjs/index.js.map +1 -0
  49. package/lib/commonjs/package.json +1 -0
  50. package/lib/commonjs/preset.js +90 -0
  51. package/lib/commonjs/preset.js.map +1 -0
  52. package/lib/commonjs/store/askBuoyStore.js +279 -0
  53. package/lib/commonjs/store/askBuoyStore.js.map +1 -0
  54. package/lib/commonjs/store/useAskBuoy.js +299 -0
  55. package/lib/commonjs/store/useAskBuoy.js.map +1 -0
  56. package/lib/commonjs/sync/askBuoySyncAdapter.js +119 -0
  57. package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -0
  58. package/lib/commonjs/sync/askBuoySyncAdapter.test.js +136 -0
  59. package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -0
  60. package/lib/commonjs/sync/wire.js +58 -0
  61. package/lib/commonjs/sync/wire.js.map +1 -0
  62. package/lib/commonjs/types.js +6 -0
  63. package/lib/commonjs/types.js.map +1 -0
  64. package/lib/module/blocks/AskBlocks.js +331 -0
  65. package/lib/module/blocks/AskBlocks.js.map +1 -0
  66. package/lib/module/blocks/BlockRenderer.js +245 -0
  67. package/lib/module/blocks/BlockRenderer.js.map +1 -0
  68. package/lib/module/blocks/ChromePrototypes.js +503 -0
  69. package/lib/module/blocks/ChromePrototypes.js.map +1 -0
  70. package/lib/module/blocks/DataBlocks.js +532 -0
  71. package/lib/module/blocks/DataBlocks.js.map +1 -0
  72. package/lib/module/blocks/ExtraBlocks.js +1794 -0
  73. package/lib/module/blocks/ExtraBlocks.js.map +1 -0
  74. package/lib/module/blocks/MediaBlocks.js +135 -0
  75. package/lib/module/blocks/MediaBlocks.js.map +1 -0
  76. package/lib/module/blocks/ReceiptBlocks.js +584 -0
  77. package/lib/module/blocks/ReceiptBlocks.js.map +1 -0
  78. package/lib/module/blocks/context.js +35 -0
  79. package/lib/module/blocks/context.js.map +1 -0
  80. package/lib/module/blocks/icons.js +91 -0
  81. package/lib/module/blocks/icons.js.map +1 -0
  82. package/lib/module/blocks/index.js +8 -0
  83. package/lib/module/blocks/index.js.map +1 -0
  84. package/lib/module/blocks/primitives.js +301 -0
  85. package/lib/module/blocks/primitives.js.map +1 -0
  86. package/lib/module/blocks/primitivesIndex.js +5 -0
  87. package/lib/module/blocks/primitivesIndex.js.map +1 -0
  88. package/lib/module/components/ApprovalCard.js +135 -0
  89. package/lib/module/components/ApprovalCard.js.map +1 -0
  90. package/lib/module/components/AskBuoyHeader.js +124 -0
  91. package/lib/module/components/AskBuoyHeader.js.map +1 -0
  92. package/lib/module/components/AskBuoyIcon.js +8 -0
  93. package/lib/module/components/AskBuoyIcon.js.map +1 -0
  94. package/lib/module/components/AskBuoyModal.js +317 -0
  95. package/lib/module/components/AskBuoyModal.js.map +1 -0
  96. package/lib/module/components/ChangesBar.js +206 -0
  97. package/lib/module/components/ChangesBar.js.map +1 -0
  98. package/lib/module/components/Composer.js +170 -0
  99. package/lib/module/components/Composer.js.map +1 -0
  100. package/lib/module/components/EmptyState.js +149 -0
  101. package/lib/module/components/EmptyState.js.map +1 -0
  102. package/lib/module/components/Markdown.js +246 -0
  103. package/lib/module/components/Markdown.js.map +1 -0
  104. package/lib/module/components/MessageList.js +642 -0
  105. package/lib/module/components/MessageList.js.map +1 -0
  106. package/lib/module/components/TypingDots.js +58 -0
  107. package/lib/module/components/TypingDots.js.map +1 -0
  108. package/lib/module/index.js +29 -0
  109. package/lib/module/index.js.map +1 -0
  110. package/lib/module/preset.js +73 -0
  111. package/lib/module/preset.js.map +1 -0
  112. package/lib/module/store/askBuoyStore.js +275 -0
  113. package/lib/module/store/askBuoyStore.js.map +1 -0
  114. package/lib/module/store/useAskBuoy.js +293 -0
  115. package/lib/module/store/useAskBuoy.js.map +1 -0
  116. package/lib/module/sync/askBuoySyncAdapter.js +114 -0
  117. package/lib/module/sync/askBuoySyncAdapter.js.map +1 -0
  118. package/lib/module/sync/askBuoySyncAdapter.test.js +135 -0
  119. package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -0
  120. package/lib/module/sync/wire.js +47 -0
  121. package/lib/module/sync/wire.js.map +1 -0
  122. package/lib/module/types.js +4 -0
  123. package/lib/module/types.js.map +1 -0
  124. package/lib/typescript/blocks/AskBlocks.d.ts +11 -0
  125. package/lib/typescript/blocks/AskBlocks.d.ts.map +1 -0
  126. package/lib/typescript/blocks/BlockRenderer.d.ts +5 -0
  127. package/lib/typescript/blocks/BlockRenderer.d.ts.map +1 -0
  128. package/lib/typescript/blocks/ChromePrototypes.d.ts +27 -0
  129. package/lib/typescript/blocks/ChromePrototypes.d.ts.map +1 -0
  130. package/lib/typescript/blocks/DataBlocks.d.ts +29 -0
  131. package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -0
  132. package/lib/typescript/blocks/ExtraBlocks.d.ts +69 -0
  133. package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -0
  134. package/lib/typescript/blocks/MediaBlocks.d.ts +5 -0
  135. package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -0
  136. package/lib/typescript/blocks/ReceiptBlocks.d.ts +27 -0
  137. package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -0
  138. package/lib/typescript/blocks/context.d.ts +35 -0
  139. package/lib/typescript/blocks/context.d.ts.map +1 -0
  140. package/lib/typescript/blocks/icons.d.ts +6 -0
  141. package/lib/typescript/blocks/icons.d.ts.map +1 -0
  142. package/lib/typescript/blocks/index.d.ts +6 -0
  143. package/lib/typescript/blocks/index.d.ts.map +1 -0
  144. package/lib/typescript/blocks/primitives.d.ts +85 -0
  145. package/lib/typescript/blocks/primitives.d.ts.map +1 -0
  146. package/lib/typescript/blocks/primitivesIndex.d.ts +3 -0
  147. package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -0
  148. package/lib/typescript/components/ApprovalCard.d.ts +7 -0
  149. package/lib/typescript/components/ApprovalCard.d.ts.map +1 -0
  150. package/lib/typescript/components/AskBuoyHeader.d.ts +14 -0
  151. package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -0
  152. package/lib/typescript/components/AskBuoyIcon.d.ts +6 -0
  153. package/lib/typescript/components/AskBuoyIcon.d.ts.map +1 -0
  154. package/lib/typescript/components/AskBuoyModal.d.ts +13 -0
  155. package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -0
  156. package/lib/typescript/components/ChangesBar.d.ts +9 -0
  157. package/lib/typescript/components/ChangesBar.d.ts.map +1 -0
  158. package/lib/typescript/components/Composer.d.ts +9 -0
  159. package/lib/typescript/components/Composer.d.ts.map +1 -0
  160. package/lib/typescript/components/EmptyState.d.ts +6 -0
  161. package/lib/typescript/components/EmptyState.d.ts.map +1 -0
  162. package/lib/typescript/components/Markdown.d.ts +23 -0
  163. package/lib/typescript/components/Markdown.d.ts.map +1 -0
  164. package/lib/typescript/components/MessageList.d.ts +18 -0
  165. package/lib/typescript/components/MessageList.d.ts.map +1 -0
  166. package/lib/typescript/components/TypingDots.d.ts +2 -0
  167. package/lib/typescript/components/TypingDots.d.ts.map +1 -0
  168. package/lib/typescript/index.d.ts +28 -0
  169. package/lib/typescript/index.d.ts.map +1 -0
  170. package/lib/typescript/preset.d.ts +61 -0
  171. package/lib/typescript/preset.d.ts.map +1 -0
  172. package/lib/typescript/store/askBuoyStore.d.ts +124 -0
  173. package/lib/typescript/store/askBuoyStore.d.ts.map +1 -0
  174. package/lib/typescript/store/useAskBuoy.d.ts +22 -0
  175. package/lib/typescript/store/useAskBuoy.d.ts.map +1 -0
  176. package/lib/typescript/sync/askBuoySyncAdapter.d.ts +73 -0
  177. package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -0
  178. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts +2 -0
  179. package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +1 -0
  180. package/lib/typescript/sync/wire.d.ts +17 -0
  181. package/lib/typescript/sync/wire.d.ts.map +1 -0
  182. package/lib/typescript/types.d.ts +119 -0
  183. package/lib/typescript/types.d.ts.map +1 -0
  184. package/package.json +83 -0
@@ -0,0 +1,596 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Crash = Crash;
7
+ exports.LogList = LogList;
8
+ exports.Peek = Peek;
9
+ exports.RequestCard = RequestCard;
10
+ exports.RequestList = RequestList;
11
+ exports.RouteChips = RouteChips;
12
+ exports.RuleCard = RuleCard;
13
+ exports.ScreenElements = ScreenElements;
14
+ var _react = require("react");
15
+ var _reactNative = require("react-native");
16
+ var _sharedUi = require("@buoy-gg/shared-ui");
17
+ var _agentCore = require("@buoy-gg/agent-core");
18
+ var _context = require("./context");
19
+ var _primitives = require("./primitives");
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+ /**
22
+ * Receipts — engine-made blocks for the tools people ask about most.
23
+ * Each one is a card the matching Buoy tool could have drawn, with one tap
24
+ * into that tool where the host supports it.
25
+ */
26
+
27
+ function statusColor(status) {
28
+ if (status === undefined) return _sharedUi.night.color.textTertiary;
29
+ if (status >= 500) return _sharedUi.night.color.danger;
30
+ if (status >= 400) return _sharedUi.night.color.warning;
31
+ if (status >= 300) return _sharedUi.night.color.info;
32
+ return _sharedUi.night.color.accent;
33
+ }
34
+ function pathOf(url) {
35
+ try {
36
+ const u = new URL(url);
37
+ return u.pathname + (u.search ? "?…" : "");
38
+ } catch {
39
+ return url;
40
+ }
41
+ }
42
+ function StatusPill({
43
+ status
44
+ }) {
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
46
+ style: [_primitives.blockStyles.pill, {
47
+ backgroundColor: `${statusColor(status)}22`
48
+ }],
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
50
+ style: [_primitives.blockStyles.pillText, {
51
+ color: statusColor(status)
52
+ }],
53
+ children: status ?? "…"
54
+ })
55
+ });
56
+ }
57
+ function RequestList({
58
+ block
59
+ }) {
60
+ const h = (0, _context.useBlockHandlers)();
61
+ const canOpen = h.supports?.openTool !== false;
62
+ const {
63
+ visible,
64
+ expanded,
65
+ toggle
66
+ } = (0, _primitives.useExpand)(block.requests, _agentCore.CAPS.listItems);
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
68
+ title: block.title ?? "Network requests",
69
+ source: block.source,
70
+ testID: `buoy-block-requests-${block.id}`,
71
+ children: [visible.map((r, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
72
+ disabled: !canOpen,
73
+ onPress: () => void h.runAction({
74
+ label: "Open in Network",
75
+ openTool: {
76
+ toolId: "network",
77
+ select: r.id
78
+ }
79
+ }, block.id),
80
+ style: [_primitives.blockStyles.row, i > 0 && _primitives.blockStyles.rowDivider],
81
+ accessibilityRole: canOpen ? "button" : undefined,
82
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
83
+ style: styles.method,
84
+ children: r.method
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
86
+ style: _primitives.blockStyles.rowTitle,
87
+ numberOfLines: 1,
88
+ children: pathOf(r.url)
89
+ }), r.mocked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
90
+ style: styles.mockedChip,
91
+ children: "MOCKED"
92
+ }) : null, r.durationMs !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
93
+ style: _primitives.blockStyles.rowTrailing,
94
+ children: [r.durationMs, " ms"]
95
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(StatusPill, {
96
+ status: r.status
97
+ }), canOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
98
+ size: 12,
99
+ color: _sharedUi.night.color.textTertiary
100
+ }) : null]
101
+ }, r.id)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.More, {
102
+ shown: visible.length,
103
+ total: block.total ?? block.requests.length,
104
+ onExpand: block.requests.length > visible.length || expanded ? toggle : undefined,
105
+ expanded: expanded
106
+ })]
107
+ });
108
+ }
109
+ function RequestCard({
110
+ block
111
+ }) {
112
+ const [tab, setTab] = (0, _react.useState)("response");
113
+ const body = tab === "response" ? block.responseBody : block.requestBody;
114
+ const text = body === undefined ? "(none)" : typeof body === "string" ? body : JSON.stringify(body, null, 2);
115
+ const h = (0, _context.useBlockHandlers)();
116
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
117
+ source: block.source,
118
+ testID: `buoy-block-request-${block.id}`,
119
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
120
+ style: [_primitives.blockStyles.row, styles.reqHead],
121
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
122
+ style: styles.method,
123
+ children: block.request.method
124
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
125
+ style: _primitives.blockStyles.rowTitle,
126
+ numberOfLines: 2,
127
+ children: pathOf(block.request.url)
128
+ }), block.request.mocked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
129
+ style: styles.mockedChip,
130
+ children: "MOCKED"
131
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(StatusPill, {
132
+ status: block.request.status
133
+ })]
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
135
+ style: styles.tabs,
136
+ children: ["response", "request"].map(t => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
137
+ onPress: () => setTab(t),
138
+ style: [styles.tab, tab === t && styles.tabOn],
139
+ accessibilityRole: "tab",
140
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
141
+ style: [styles.tabText, tab === t && styles.tabTextOn],
142
+ children: t === "response" ? "Response" : "Request"
143
+ })
144
+ }, t))
145
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
146
+ style: [_primitives.blockStyles.mono, styles.body],
147
+ numberOfLines: 14,
148
+ selectable: true,
149
+ children: text.length > 1600 ? `${text.slice(0, 1600)}\n…` : text
150
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.ActionRow, {
151
+ blockId: block.id,
152
+ actions: [{
153
+ label: "Open in Network",
154
+ openTool: {
155
+ toolId: "network",
156
+ select: block.request.id
157
+ }
158
+ }]
159
+ }), h.supports?.openTool === false ? null : null]
160
+ });
161
+ }
162
+ function RuleCard({
163
+ block
164
+ }) {
165
+ const r = block.rule;
166
+ const outcome = r.kind === "fail" ? "fails (no network)" : r.kind === "delay" ? `delayed ${r.delayMs ?? 0} ms` : `returns ${r.status ?? 200}`;
167
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
168
+ title: r.name ?? "Network override",
169
+ source: block.source,
170
+ testID: `buoy-block-rule-${block.id}`,
171
+ tone: r.enabled ? "warning" : undefined,
172
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
173
+ style: styles.ruleBody,
174
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
175
+ style: styles.ruleLine,
176
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
177
+ style: styles.ruleKey,
178
+ children: [r.methods?.length ? r.methods.join("/") : "ANY", " "]
179
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
180
+ style: _primitives.blockStyles.mono,
181
+ children: r.urlPattern
182
+ })]
183
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
184
+ style: styles.ruleLine,
185
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
186
+ style: styles.ruleKey,
187
+ children: "\u2192 "
188
+ }), outcome, r.times ? ` · ${r.times === 1 ? "once" : `${r.times} times`}` : " · every time", r.hits !== undefined ? ` · ${r.hits} hit${r.hits === 1 ? "" : "s"}` : ""]
189
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
190
+ style: [_primitives.blockStyles.pill, r.enabled ? styles.on : styles.off],
191
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
192
+ style: [_primitives.blockStyles.pillText, {
193
+ color: r.enabled ? _sharedUi.night.color.onAccent : _sharedUi.night.color.textSecondary
194
+ }],
195
+ children: r.enabled ? "ON" : "OFF"
196
+ })
197
+ })]
198
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.ActionRow, {
199
+ blockId: block.id,
200
+ actions: [r.enabled ? {
201
+ label: "Turn off",
202
+ dispatch: {
203
+ toolId: "network",
204
+ action: "setOverrideRuleEnabled",
205
+ params: {
206
+ id: r.id,
207
+ enabled: false
208
+ }
209
+ }
210
+ } : {
211
+ label: "Turn on",
212
+ primary: true,
213
+ dispatch: {
214
+ toolId: "network",
215
+ action: "setOverrideRuleEnabled",
216
+ params: {
217
+ id: r.id,
218
+ enabled: true
219
+ }
220
+ }
221
+ }, {
222
+ label: "Delete",
223
+ dispatch: {
224
+ toolId: "network",
225
+ action: "deleteOverrideRule",
226
+ params: {
227
+ id: r.id
228
+ }
229
+ }
230
+ }]
231
+ })]
232
+ });
233
+ }
234
+ function ScreenElements({
235
+ block
236
+ }) {
237
+ const h = (0, _context.useBlockHandlers)();
238
+ const {
239
+ visible,
240
+ expanded,
241
+ toggle
242
+ } = (0, _primitives.useExpand)(block.elements, _agentCore.CAPS.chips);
243
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
244
+ title: block.title ?? "On screen right now",
245
+ source: block.source,
246
+ testID: `buoy-block-screen-${block.id}`,
247
+ children: [visible.map((e, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
248
+ onPress: () => void h.runAction({
249
+ label: "Highlight",
250
+ dispatch: {
251
+ toolId: "highlight-updates",
252
+ action: "setSpotlight",
253
+ params: {
254
+ nativeTag: e.nativeTag
255
+ }
256
+ }
257
+ }, block.id),
258
+ disabled: h.supports?.dispatch === false,
259
+ style: [_primitives.blockStyles.row, i > 0 && _primitives.blockStyles.rowDivider],
260
+ accessibilityRole: "button",
261
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Eye, {
262
+ size: 12,
263
+ color: _sharedUi.night.color.textTertiary
264
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
265
+ style: _primitives.blockStyles.rowTitle,
266
+ numberOfLines: 1,
267
+ children: e.label ?? e.testID ?? e.name
268
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
269
+ style: _primitives.blockStyles.rowTrailing,
270
+ numberOfLines: 1,
271
+ children: e.name
272
+ })]
273
+ }, e.nativeTag)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.More, {
274
+ shown: visible.length,
275
+ total: block.total,
276
+ onExpand: block.elements.length > visible.length || expanded ? toggle : undefined,
277
+ expanded: expanded
278
+ })]
279
+ });
280
+ }
281
+ function RouteChips({
282
+ block
283
+ }) {
284
+ const h = (0, _context.useBlockHandlers)();
285
+ const [expanded, setExpanded] = (0, _react.useState)(false);
286
+ const routes = expanded ? block.routes : block.routes.slice(0, _agentCore.CAPS.chips);
287
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
288
+ title: block.current ? `Routes · you're on ${block.current}` : "Routes",
289
+ source: block.source,
290
+ testID: `buoy-block-routes-${block.id}`,
291
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
292
+ style: styles.chips,
293
+ children: routes.map(r => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
294
+ disabled: h.supports?.dispatch === false,
295
+ onPress: () => r.dynamic ? h.answer({
296
+ blockId: block.id,
297
+ kind: "input",
298
+ value: `Open ${r.path} — which id?`
299
+ }) : void h.runAction({
300
+ label: `Open ${r.path}`,
301
+ dispatch: {
302
+ toolId: "route-events",
303
+ action: "navigate",
304
+ params: {
305
+ path: r.path
306
+ }
307
+ }
308
+ }, block.id),
309
+ style: [styles.chip, r.path === block.current && styles.chipCurrent],
310
+ accessibilityRole: "button",
311
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
312
+ style: [styles.chipText, r.dynamic && styles.chipDynamic],
313
+ children: r.path
314
+ })
315
+ }, r.path))
316
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.More, {
317
+ shown: routes.length,
318
+ total: block.total ?? block.routes.length,
319
+ onExpand: () => setExpanded(v => !v),
320
+ expanded: expanded
321
+ })]
322
+ });
323
+ }
324
+ const LEVEL_COLOR = {
325
+ error: _sharedUi.night.color.danger,
326
+ warn: _sharedUi.night.color.warning,
327
+ warning: _sharedUi.night.color.warning,
328
+ info: _sharedUi.night.color.info
329
+ };
330
+ function LogList({
331
+ block
332
+ }) {
333
+ const {
334
+ visible,
335
+ expanded,
336
+ toggle
337
+ } = (0, _primitives.useExpand)(block.entries, _agentCore.CAPS.listItems);
338
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
339
+ title: "Console",
340
+ source: block.source,
341
+ testID: `buoy-block-logs-${block.id}`,
342
+ children: [visible.map((e, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
343
+ style: [_primitives.blockStyles.row, i > 0 && _primitives.blockStyles.rowDivider, styles.logRow],
344
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
345
+ style: [_primitives.blockStyles.pill, {
346
+ backgroundColor: `${LEVEL_COLOR[e.level] ?? _sharedUi.night.color.textTertiary}22`
347
+ }],
348
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
349
+ style: [_primitives.blockStyles.pillText, {
350
+ color: LEVEL_COLOR[e.level] ?? _sharedUi.night.color.textSecondary
351
+ }],
352
+ children: e.level.toUpperCase()
353
+ })
354
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
355
+ style: [_primitives.blockStyles.rowTitle, _primitives.blockStyles.mono],
356
+ numberOfLines: 3,
357
+ children: e.message
358
+ }), e.count > 1 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
359
+ style: _primitives.blockStyles.rowTrailing,
360
+ children: ["\xD7", e.count]
361
+ }) : null]
362
+ }, `${e.level}-${e.message}-${i}`)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.More, {
363
+ shown: visible.length,
364
+ total: block.total,
365
+ onExpand: block.entries.length > visible.length || expanded ? toggle : undefined,
366
+ expanded: expanded
367
+ })]
368
+ });
369
+ }
370
+ function Crash({
371
+ block
372
+ }) {
373
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Card, {
374
+ tone: "danger",
375
+ testID: `buoy-block-crash-${block.id}`,
376
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
377
+ style: styles.crashHead,
378
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.AlertTriangle, {
379
+ size: 14,
380
+ color: _sharedUi.night.color.danger
381
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
382
+ style: styles.crashTitle,
383
+ children: ["The app crashed", block.route ? ` on ${block.route}` : ""]
384
+ })]
385
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
386
+ style: [_primitives.blockStyles.mono, styles.crashMsg],
387
+ numberOfLines: 4,
388
+ selectable: true,
389
+ children: block.message
390
+ }), block.suspect ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
391
+ style: styles.suspect,
392
+ children: ["Most likely cause: ", block.suspect.label]
393
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.ActionRow, {
394
+ blockId: block.id,
395
+ actions: [...(block.suspect?.action ? [{
396
+ ...block.suspect.action,
397
+ primary: true
398
+ }] : []), ...(block.actions ?? [])].slice(0, 2)
399
+ })]
400
+ });
401
+ }
402
+
403
+ /** A chip, not a card: the agent moved the app; let the user look. */
404
+ function Peek({
405
+ block
406
+ }) {
407
+ const h = (0, _context.useBlockHandlers)();
408
+ const can = h.supports?.minimize !== false;
409
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
410
+ testID: `buoy-block-peek-${block.id}`,
411
+ disabled: !can,
412
+ onPress: () => void h.runAction({
413
+ label: "Look",
414
+ minimize: true
415
+ }, block.id),
416
+ style: ({
417
+ pressed
418
+ }) => [styles.peek, pressed && {
419
+ opacity: 0.7
420
+ }],
421
+ accessibilityRole: "button",
422
+ accessibilityLabel: `${block.label}. Look at the app`,
423
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
424
+ style: styles.peekText,
425
+ children: block.label
426
+ }), can ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
427
+ style: styles.peekLook,
428
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Eye, {
429
+ size: 12,
430
+ color: _sharedUi.night.color.accent
431
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
432
+ style: styles.peekLookText,
433
+ children: "Look"
434
+ })]
435
+ }) : null]
436
+ });
437
+ }
438
+ const styles = _reactNative.StyleSheet.create({
439
+ method: {
440
+ color: _sharedUi.night.color.textSecondary,
441
+ fontSize: _sharedUi.night.font.micro,
442
+ fontWeight: "700",
443
+ letterSpacing: 0.4,
444
+ width: 44
445
+ },
446
+ // The provenance chip for a response an override rule synthesized. Loud on
447
+ // purpose: mocked data rendered like live data is how testers file bugs
448
+ // against reality that never existed.
449
+ mockedChip: {
450
+ color: _sharedUi.night.color.warning,
451
+ backgroundColor: _sharedUi.night.color.warningSoft,
452
+ fontSize: 9,
453
+ fontWeight: "700",
454
+ letterSpacing: 0.6,
455
+ paddingHorizontal: 5,
456
+ paddingVertical: 1,
457
+ borderRadius: _sharedUi.night.radius.badge,
458
+ overflow: "hidden"
459
+ },
460
+ reqHead: {
461
+ paddingTop: 12
462
+ },
463
+ tabs: {
464
+ flexDirection: "row",
465
+ gap: 6,
466
+ paddingHorizontal: 12,
467
+ paddingTop: 4,
468
+ paddingBottom: 8
469
+ },
470
+ tab: {
471
+ paddingHorizontal: 10,
472
+ paddingVertical: 5,
473
+ borderRadius: _sharedUi.night.radius.badge,
474
+ backgroundColor: _sharedUi.night.color.fill
475
+ },
476
+ tabOn: {
477
+ backgroundColor: _sharedUi.night.color.accentSoft
478
+ },
479
+ tabText: {
480
+ color: _sharedUi.night.color.textSecondary,
481
+ fontSize: _sharedUi.night.font.micro,
482
+ fontWeight: "600"
483
+ },
484
+ tabTextOn: {
485
+ color: _sharedUi.night.color.accent
486
+ },
487
+ body: {
488
+ paddingHorizontal: 12,
489
+ paddingBottom: 4,
490
+ lineHeight: 16,
491
+ color: _sharedUi.night.color.textSecondary
492
+ },
493
+ ruleBody: {
494
+ paddingHorizontal: 12,
495
+ paddingTop: 4,
496
+ paddingBottom: 4,
497
+ gap: 4
498
+ },
499
+ ruleLine: {
500
+ color: _sharedUi.night.color.text,
501
+ fontSize: _sharedUi.night.font.caption,
502
+ lineHeight: 18
503
+ },
504
+ ruleKey: {
505
+ color: _sharedUi.night.color.textSecondary,
506
+ fontWeight: "700"
507
+ },
508
+ on: {
509
+ alignSelf: "flex-start",
510
+ backgroundColor: _sharedUi.night.color.accent,
511
+ marginTop: 4
512
+ },
513
+ off: {
514
+ alignSelf: "flex-start",
515
+ backgroundColor: _sharedUi.night.color.fillTertiary,
516
+ marginTop: 4
517
+ },
518
+ chips: {
519
+ flexDirection: "row",
520
+ flexWrap: "wrap",
521
+ gap: 6,
522
+ padding: 12
523
+ },
524
+ chip: {
525
+ paddingHorizontal: 10,
526
+ paddingVertical: 6,
527
+ borderRadius: _sharedUi.night.radius.chip,
528
+ backgroundColor: _sharedUi.night.color.fill,
529
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
530
+ borderColor: _sharedUi.night.color.border
531
+ },
532
+ chipCurrent: {
533
+ backgroundColor: _sharedUi.night.color.accentSoft,
534
+ borderColor: _sharedUi.night.color.accentBorderStrong
535
+ },
536
+ chipText: {
537
+ color: _sharedUi.night.color.text,
538
+ fontSize: _sharedUi.night.font.caption,
539
+ fontFamily: "Menlo"
540
+ },
541
+ chipDynamic: {
542
+ color: _sharedUi.night.color.textSecondary
543
+ },
544
+ logRow: {
545
+ alignItems: "flex-start"
546
+ },
547
+ crashHead: {
548
+ flexDirection: "row",
549
+ alignItems: "center",
550
+ gap: 8,
551
+ paddingHorizontal: 12,
552
+ paddingTop: 12
553
+ },
554
+ crashTitle: {
555
+ color: _sharedUi.night.color.danger,
556
+ fontSize: _sharedUi.night.font.row,
557
+ fontWeight: "600"
558
+ },
559
+ crashMsg: {
560
+ paddingHorizontal: 12,
561
+ paddingTop: 6,
562
+ color: _sharedUi.night.color.text
563
+ },
564
+ suspect: {
565
+ color: _sharedUi.night.color.textSecondary,
566
+ fontSize: _sharedUi.night.font.caption,
567
+ paddingHorizontal: 12,
568
+ paddingTop: 6
569
+ },
570
+ peek: {
571
+ alignSelf: "flex-start",
572
+ flexDirection: "row",
573
+ alignItems: "center",
574
+ gap: 10,
575
+ paddingLeft: 12,
576
+ paddingRight: 10,
577
+ paddingVertical: 7,
578
+ borderRadius: _sharedUi.night.radius.chip,
579
+ backgroundColor: _sharedUi.night.color.fill
580
+ },
581
+ peekText: {
582
+ color: _sharedUi.night.color.textSecondary,
583
+ fontSize: _sharedUi.night.font.caption
584
+ },
585
+ peekLook: {
586
+ flexDirection: "row",
587
+ alignItems: "center",
588
+ gap: 4
589
+ },
590
+ peekLookText: {
591
+ color: _sharedUi.night.color.accent,
592
+ fontSize: _sharedUi.night.font.caption,
593
+ fontWeight: "600"
594
+ }
595
+ });
596
+ //# sourceMappingURL=ReceiptBlocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_agentCore","_context","_primitives","_jsxRuntime","statusColor","status","undefined","night","color","textTertiary","danger","warning","info","accent","pathOf","url","u","URL","pathname","search","StatusPill","jsx","View","style","b","pill","backgroundColor","children","Text","pillText","RequestList","block","h","useBlockHandlers","canOpen","supports","openTool","visible","expanded","toggle","useExpand","requests","CAPS","listItems","jsxs","Card","title","source","testID","id","map","r","i","Pressable","disabled","onPress","runAction","label","toolId","select","row","rowDivider","accessibilityRole","styles","method","rowTitle","numberOfLines","mocked","mockedChip","durationMs","rowTrailing","ChevronRight","size","More","shown","length","total","onExpand","RequestCard","tab","setTab","useState","body","responseBody","requestBody","text","JSON","stringify","reqHead","request","tabs","t","tabOn","tabText","tabTextOn","mono","selectable","slice","ActionRow","blockId","actions","RuleCard","rule","outcome","kind","delayMs","name","tone","enabled","ruleBody","ruleLine","ruleKey","methods","join","urlPattern","times","hits","on","off","onAccent","textSecondary","dispatch","action","params","primary","ScreenElements","elements","chips","e","nativeTag","Eye","RouteChips","setExpanded","routes","current","dynamic","answer","value","path","chip","chipCurrent","chipText","chipDynamic","v","LEVEL_COLOR","error","warn","LogList","entries","logRow","level","toUpperCase","message","count","Crash","crashHead","AlertTriangle","crashTitle","route","crashMsg","suspect","Peek","can","minimize","pressed","peek","opacity","accessibilityLabel","peekText","peekLook","peekLookText","StyleSheet","create","fontSize","font","micro","fontWeight","letterSpacing","width","warningSoft","paddingHorizontal","paddingVertical","borderRadius","radius","badge","overflow","paddingTop","flexDirection","gap","paddingBottom","fill","accentSoft","lineHeight","caption","alignSelf","marginTop","fillTertiary","flexWrap","padding","borderWidth","hairlineWidth","borderColor","border","accentBorderStrong","fontFamily","alignItems","paddingLeft","paddingRight"],"sourceRoot":"../../../src","sources":["blocks/ReceiptBlocks.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BlockHandlersProvider = BlockHandlersProvider;
7
+ exports.actionKey = actionKey;
8
+ exports.useBlockHandlers = useBlockHandlers;
9
+ var _react = require("react");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * How a block talks back to the sheet.
13
+ *
14
+ * Blocks are pure data; everything that happens when one is tapped goes
15
+ * through this context so the same renderers work inside the real transcript,
16
+ * on the example app's review page, and (later) on the desktop with a
17
+ * different set of handlers behind them.
18
+ */
19
+
20
+ const noop = {
21
+ answer: () => {},
22
+ runAction: () => {},
23
+ answered: {},
24
+ supports: {}
25
+ };
26
+ const Ctx = /*#__PURE__*/(0, _react.createContext)(noop);
27
+ function BlockHandlersProvider({
28
+ value,
29
+ children
30
+ }) {
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Ctx.Provider, {
32
+ value: value,
33
+ children: children
34
+ });
35
+ }
36
+ function useBlockHandlers() {
37
+ return (0, _react.useContext)(Ctx);
38
+ }
39
+ function actionKey(blockId, action) {
40
+ return `${blockId}:${action.label}`;
41
+ }
42
+ //# sourceMappingURL=context.js.map