@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,246 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Just enough Markdown for a chat answer.
5
+ *
6
+ * Models write `**bold**`, bullet lists and `code` whether or not the prompt
7
+ * asks for prose, and the asterisks rendered raw made every answer look like
8
+ * a broken template. This handles the subset a chat actually receives —
9
+ * paragraphs, `-`/`*`/`1.` lists, `#` headings (rendered bold, not huge),
10
+ * bold, italics and inline code — with no dependency and no HTML. Anything it
11
+ * does not understand falls through as plain text, never as a blank.
12
+ */
13
+ import { StyleSheet, Text, View } from "react-native";
14
+ import { night } from "@buoy-gg/shared-ui";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ const isTableRow = l => /^\s*\|.*\|\s*$/.test(l);
17
+ const isTableRule = l => /^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$/.test(l);
18
+ const splitRow = l => l.trim().replace(/^\|/, "").replace(/\|$/, "").split("|").map(c => c.trim());
19
+ function parseBlocks(source) {
20
+ const blocks = [];
21
+ let para = [];
22
+ const flush = () => {
23
+ if (para.length) blocks.push({
24
+ kind: "p",
25
+ text: para.join(" ")
26
+ });
27
+ para = [];
28
+ };
29
+ const lines = source.split("\n");
30
+ for (let li = 0; li < lines.length; li++) {
31
+ const raw = lines[li];
32
+ const line = raw.replace(/\s+$/, "");
33
+ if (!line.trim()) {
34
+ flush();
35
+ continue;
36
+ }
37
+ // A pipe table: header row, a rule row, then body rows.
38
+ if (isTableRow(line) && lines[li + 1] && isTableRule(lines[li + 1])) {
39
+ flush();
40
+ const header = splitRow(line);
41
+ const rows = [];
42
+ let j = li + 2;
43
+ while (j < lines.length && isTableRow(lines[j])) {
44
+ rows.push(splitRow(lines[j]));
45
+ j++;
46
+ }
47
+ blocks.push({
48
+ kind: "table",
49
+ header,
50
+ rows
51
+ });
52
+ li = j - 1;
53
+ continue;
54
+ }
55
+ const heading = /^#{1,6}\s+(.*)$/.exec(line);
56
+ if (heading) {
57
+ flush();
58
+ blocks.push({
59
+ kind: "h",
60
+ text: heading[1]
61
+ });
62
+ continue;
63
+ }
64
+ const bullet = /^(\s*)([-*•]|\d+[.)])\s+(.*)$/.exec(line);
65
+ if (bullet) {
66
+ flush();
67
+ const depth = Math.min(2, Math.floor(bullet[1].length / 2));
68
+ const marker = /^\d/.test(bullet[2]) ? bullet[2].replace(")", ".") : "•";
69
+ blocks.push({
70
+ kind: "li",
71
+ text: bullet[3],
72
+ marker,
73
+ depth
74
+ });
75
+ continue;
76
+ }
77
+ para.push(line.trim());
78
+ }
79
+ flush();
80
+ return blocks;
81
+ }
82
+
83
+ /**
84
+ * `**bold**`, `*italic*` / `_italic_`, `` `code` `` → styled spans. Links and
85
+ * images collapse to their text: a phone chat has nowhere to open a URL, and
86
+ * `![Snorlax](https://raw.githubusercontent.com/…/143.png)` printed raw is
87
+ * three lines of noise for one word of meaning.
88
+ */
89
+ export function renderInline(source, base) {
90
+ const text = source.replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1");
91
+ const out = [];
92
+ const re = /(\*\*[^*]+\*\*|`[^`]+`|\*[^*\s][^*]*\*|_[^_\s][^_]*_)/g;
93
+ let last = 0;
94
+ let m;
95
+ let i = 0;
96
+ while (m = re.exec(text)) {
97
+ if (m.index > last) out.push(text.slice(last, m.index));
98
+ const tok = m[0];
99
+ if (tok.startsWith("**")) {
100
+ out.push(/*#__PURE__*/_jsx(Text, {
101
+ style: [base, styles.bold],
102
+ children: tok.slice(2, -2)
103
+ }, i++));
104
+ } else if (tok.startsWith("`")) {
105
+ out.push(/*#__PURE__*/_jsx(Text, {
106
+ style: [base, styles.code],
107
+ children: tok.slice(1, -1)
108
+ }, i++));
109
+ } else {
110
+ out.push(/*#__PURE__*/_jsx(Text, {
111
+ style: [base, styles.italic],
112
+ children: tok.slice(1, -1)
113
+ }, i++));
114
+ }
115
+ last = m.index + tok.length;
116
+ }
117
+ if (last < text.length) out.push(text.slice(last));
118
+ return out;
119
+ }
120
+ export function Markdown({
121
+ text,
122
+ style
123
+ }) {
124
+ const blocks = parseBlocks(text);
125
+ return /*#__PURE__*/_jsx(View, {
126
+ style: styles.wrap,
127
+ children: blocks.map((b, i) => {
128
+ if (b.kind === "table") {
129
+ const cols = b.header.slice(0, 4);
130
+ return /*#__PURE__*/_jsxs(View, {
131
+ style: styles.table,
132
+ children: [/*#__PURE__*/_jsx(View, {
133
+ style: styles.tableHead,
134
+ children: cols.map((c, k) => /*#__PURE__*/_jsx(Text, {
135
+ style: [styles.th, k === 0 && styles.firstCol],
136
+ numberOfLines: 1,
137
+ children: c.replace(/\*\*/g, "")
138
+ }, k))
139
+ }), b.rows.slice(0, 12).map((r, ri) => /*#__PURE__*/_jsx(View, {
140
+ style: [styles.tr, ri > 0 && styles.trDivider],
141
+ children: cols.map((_, k) => /*#__PURE__*/_jsx(Text, {
142
+ style: [styles.td, k === 0 && styles.firstCol, k === 0 && styles.tdFirst],
143
+ numberOfLines: 2,
144
+ children: renderInline((r[k] ?? "").replace(/!?\[([^\]]*)\]\([^)]*\)/g, "$1"), styles.td)
145
+ }, k))
146
+ }, ri))]
147
+ }, i);
148
+ }
149
+ if (b.kind === "li") {
150
+ return /*#__PURE__*/_jsxs(View, {
151
+ style: [styles.li, {
152
+ paddingLeft: 4 + b.depth * 14
153
+ }],
154
+ children: [/*#__PURE__*/_jsx(Text, {
155
+ style: [style, styles.marker],
156
+ children: b.marker
157
+ }), /*#__PURE__*/_jsx(Text, {
158
+ style: [style, styles.liText],
159
+ selectable: true,
160
+ children: renderInline(b.text, style)
161
+ })]
162
+ }, i);
163
+ }
164
+ return /*#__PURE__*/_jsx(Text, {
165
+ style: [style, b.kind === "h" && styles.bold],
166
+ selectable: true,
167
+ children: renderInline(b.text, style)
168
+ }, i);
169
+ })
170
+ });
171
+ }
172
+ const styles = StyleSheet.create({
173
+ wrap: {
174
+ gap: 8
175
+ },
176
+ bold: {
177
+ fontWeight: "600"
178
+ },
179
+ italic: {
180
+ fontStyle: "italic"
181
+ },
182
+ code: {
183
+ fontFamily: "Menlo",
184
+ fontSize: 13,
185
+ color: night.color.accent,
186
+ backgroundColor: night.color.fill
187
+ },
188
+ li: {
189
+ flexDirection: "row",
190
+ gap: 8
191
+ },
192
+ table: {
193
+ borderRadius: night.radius.row,
194
+ borderWidth: StyleSheet.hairlineWidth,
195
+ borderColor: night.color.border,
196
+ backgroundColor: night.color.surface,
197
+ overflow: "hidden"
198
+ },
199
+ tableHead: {
200
+ flexDirection: "row",
201
+ paddingHorizontal: 10,
202
+ paddingVertical: 6,
203
+ gap: 8,
204
+ backgroundColor: night.color.fill
205
+ },
206
+ th: {
207
+ flex: 1,
208
+ color: night.color.textTertiary,
209
+ fontSize: night.font.micro,
210
+ fontWeight: "700",
211
+ letterSpacing: 0.6,
212
+ textTransform: "uppercase"
213
+ },
214
+ tr: {
215
+ flexDirection: "row",
216
+ paddingHorizontal: 10,
217
+ paddingVertical: 7,
218
+ gap: 8
219
+ },
220
+ trDivider: {
221
+ borderTopWidth: StyleSheet.hairlineWidth,
222
+ borderTopColor: night.color.separator
223
+ },
224
+ td: {
225
+ flex: 1,
226
+ color: night.color.textSecondary,
227
+ fontSize: night.font.caption,
228
+ lineHeight: 17
229
+ },
230
+ tdFirst: {
231
+ color: night.color.text,
232
+ fontWeight: "500"
233
+ },
234
+ firstCol: {
235
+ flex: 1.3
236
+ },
237
+ marker: {
238
+ color: night.color.textSecondary,
239
+ minWidth: 14,
240
+ textAlign: "right"
241
+ },
242
+ liText: {
243
+ flex: 1
244
+ }
245
+ });
246
+ //# sourceMappingURL=Markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","View","night","jsx","_jsx","jsxs","_jsxs","isTableRow","l","test","isTableRule","splitRow","trim","replace","split","map","c","parseBlocks","source","blocks","para","flush","length","push","kind","text","join","lines","li","raw","line","header","rows","j","heading","exec","bullet","depth","Math","min","floor","marker","renderInline","base","out","re","last","m","i","index","slice","tok","startsWith","style","styles","bold","children","code","italic","Markdown","wrap","b","cols","table","tableHead","k","th","firstCol","numberOfLines","r","ri","tr","trDivider","_","td","tdFirst","paddingLeft","liText","selectable","create","gap","fontWeight","fontStyle","fontFamily","fontSize","color","accent","backgroundColor","fill","flexDirection","borderRadius","radius","row","borderWidth","hairlineWidth","borderColor","border","surface","overflow","paddingHorizontal","paddingVertical","flex","textTertiary","font","micro","letterSpacing","textTransform","borderTopWidth","borderTopColor","separator","textSecondary","caption","lineHeight","minWidth","textAlign"],"sourceRoot":"../../../src","sources":["components/Markdown.tsx"],"mappings":"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","ignoreList":[]}