@buoy-gg/ask-buoy 7.0.35 → 7.0.38
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.
- package/README.md +73 -15
- package/lib/commonjs/blocks/AskBlocks.js +1 -338
- package/lib/commonjs/blocks/BlockRenderer.js +1 -250
- package/lib/commonjs/blocks/ChromePrototypes.js +1 -514
- package/lib/commonjs/blocks/DataBlocks.js +1 -688
- package/lib/commonjs/blocks/ExtraBlocks.js +1 -1854
- package/lib/commonjs/blocks/MediaBlocks.js +1 -140
- package/lib/commonjs/blocks/ReceiptBlocks.js +1 -586
- package/lib/commonjs/blocks/blockText.js +1 -0
- package/lib/commonjs/blocks/blockText.test.js +1 -0
- package/lib/commonjs/blocks/context.js +1 -42
- package/lib/commonjs/blocks/icons.js +1 -96
- package/lib/commonjs/blocks/index.js +1 -95
- package/lib/commonjs/blocks/listRow.test.js +1 -55
- package/lib/commonjs/blocks/pageState.js +1 -34
- package/lib/commonjs/blocks/pageState.test.js +1 -57
- package/lib/commonjs/blocks/primitives.js +1 -401
- package/lib/commonjs/blocks/primitivesIndex.js +1 -62
- package/lib/commonjs/components/ApprovalCard.js +1 -140
- package/lib/commonjs/components/AskBuoyHeader.js +1 -164
- package/lib/commonjs/components/AskBuoyIcon.js +1 -19
- package/lib/commonjs/components/AskBuoyModal.js +1 -353
- package/lib/commonjs/components/AskBuoySettings.js +1 -69
- package/lib/commonjs/components/ChangesBar.js +1 -211
- package/lib/commonjs/components/Composer.js +1 -175
- package/lib/commonjs/components/EmptyState.js +1 -154
- package/lib/commonjs/components/KeyboardPad.js +1 -0
- package/lib/commonjs/components/Markdown.js +1 -252
- package/lib/commonjs/components/MessageList.js +1 -683
- package/lib/commonjs/components/QueuedMessages.js +1 -0
- package/lib/commonjs/components/ThinkingStrip.js +1 -223
- package/lib/commonjs/components/TypingDots.js +1 -63
- package/lib/commonjs/components/markdownParse.js +1 -0
- package/lib/commonjs/components/markdownParse.test.js +1 -0
- package/lib/commonjs/components/useCopyAction.js +1 -50
- package/lib/commonjs/index.js +1 -252
- package/lib/commonjs/preset.js +1 -90
- package/lib/commonjs/store/activityGroups.js +1 -0
- package/lib/commonjs/store/activityGroups.test.js +1 -0
- package/lib/commonjs/store/askBuoySettings.js +1 -67
- package/lib/commonjs/store/askBuoyStore.js +1 -365
- package/lib/commonjs/store/blockPlacement.js +1 -0
- package/lib/commonjs/store/blockPlacement.test.js +1 -0
- package/lib/commonjs/store/queue.test.js +1 -0
- package/lib/commonjs/store/resetConversation.js +1 -0
- package/lib/commonjs/store/restorePending.test.js +1 -0
- package/lib/commonjs/store/restoredIds.test.js +1 -47
- package/lib/commonjs/store/suggestions.js +1 -0
- package/lib/commonjs/store/suggestions.test.js +1 -0
- package/lib/commonjs/store/systemLine.test.js +1 -0
- package/lib/commonjs/store/ticketPrompt.js +1 -0
- package/lib/commonjs/store/traceText.js +1 -81
- package/lib/commonjs/store/traceText.test.js +1 -112
- package/lib/commonjs/store/transcriptPersistence.js +1 -208
- package/lib/commonjs/store/transcriptPersistence.test.js +1 -185
- package/lib/commonjs/store/turnRendering.test.js +1 -0
- package/lib/commonjs/store/useAskBuoy.js +1 -400
- package/lib/commonjs/store/useAskBuoySettings.js +1 -14
- package/lib/commonjs/sync/askBuoySyncAdapter.js +1 -119
- package/lib/commonjs/sync/askBuoySyncAdapter.test.js +1 -141
- package/lib/commonjs/sync/wire.js +1 -58
- package/lib/commonjs/types.js +1 -6
- package/lib/module/blocks/AskBlocks.js +1 -331
- package/lib/module/blocks/BlockRenderer.js +1 -245
- package/lib/module/blocks/ChromePrototypes.js +1 -503
- package/lib/module/blocks/DataBlocks.js +1 -674
- package/lib/module/blocks/ExtraBlocks.js +1 -1827
- package/lib/module/blocks/MediaBlocks.js +1 -135
- package/lib/module/blocks/ReceiptBlocks.js +1 -574
- package/lib/module/blocks/blockText.js +1 -0
- package/lib/module/blocks/blockText.test.js +1 -0
- package/lib/module/blocks/context.js +1 -35
- package/lib/module/blocks/icons.js +1 -91
- package/lib/module/blocks/index.js +1 -8
- package/lib/module/blocks/listRow.test.js +1 -56
- package/lib/module/blocks/pageState.js +1 -30
- package/lib/module/blocks/pageState.test.js +1 -56
- package/lib/module/blocks/primitives.js +1 -389
- package/lib/module/blocks/primitivesIndex.js +1 -5
- package/lib/module/components/ApprovalCard.js +1 -135
- package/lib/module/components/AskBuoyHeader.js +1 -161
- package/lib/module/components/AskBuoyIcon.js +1 -8
- package/lib/module/components/AskBuoyModal.js +1 -348
- package/lib/module/components/AskBuoySettings.js +1 -64
- package/lib/module/components/ChangesBar.js +1 -206
- package/lib/module/components/Composer.js +1 -170
- package/lib/module/components/EmptyState.js +1 -149
- package/lib/module/components/KeyboardPad.js +1 -0
- package/lib/module/components/Markdown.js +1 -246
- package/lib/module/components/MessageList.js +1 -677
- package/lib/module/components/QueuedMessages.js +1 -0
- package/lib/module/components/ThinkingStrip.js +1 -218
- package/lib/module/components/TypingDots.js +1 -58
- package/lib/module/components/markdownParse.js +1 -0
- package/lib/module/components/markdownParse.test.js +1 -0
- package/lib/module/components/useCopyAction.js +1 -46
- package/lib/module/index.js +1 -34
- package/lib/module/preset.js +1 -73
- package/lib/module/store/activityGroups.js +1 -0
- package/lib/module/store/activityGroups.test.js +1 -0
- package/lib/module/store/askBuoySettings.js +1 -62
- package/lib/module/store/askBuoyStore.js +1 -361
- package/lib/module/store/blockPlacement.js +1 -0
- package/lib/module/store/blockPlacement.test.js +1 -0
- package/lib/module/store/queue.test.js +1 -0
- package/lib/module/store/resetConversation.js +1 -0
- package/lib/module/store/restorePending.test.js +1 -0
- package/lib/module/store/restoredIds.test.js +1 -46
- package/lib/module/store/suggestions.js +1 -0
- package/lib/module/store/suggestions.test.js +1 -0
- package/lib/module/store/systemLine.test.js +1 -0
- package/lib/module/store/ticketPrompt.js +1 -0
- package/lib/module/store/traceText.js +1 -75
- package/lib/module/store/traceText.test.js +1 -111
- package/lib/module/store/transcriptPersistence.js +1 -198
- package/lib/module/store/transcriptPersistence.test.js +1 -184
- package/lib/module/store/turnRendering.test.js +1 -0
- package/lib/module/store/useAskBuoy.js +1 -394
- package/lib/module/store/useAskBuoySettings.js +1 -9
- package/lib/module/sync/askBuoySyncAdapter.js +1 -114
- package/lib/module/sync/askBuoySyncAdapter.test.js +1 -140
- package/lib/module/sync/wire.js +1 -47
- package/lib/module/types.js +1 -4
- package/lib/typescript/blocks/DataBlocks.d.ts +11 -0
- package/lib/typescript/blocks/ExtraBlocks.d.ts +18 -2
- package/lib/typescript/blocks/blockText.d.ts +14 -0
- package/lib/typescript/blocks/blockText.test.d.ts +2 -0
- package/lib/typescript/blocks/primitives.d.ts +16 -1
- package/lib/typescript/components/ApprovalCard.d.ts +9 -1
- package/lib/typescript/components/AskBuoyHeader.d.ts +31 -1
- package/lib/typescript/components/Composer.d.ts +16 -1
- package/lib/typescript/components/EmptyState.d.ts +5 -1
- package/lib/typescript/components/KeyboardPad.d.ts +33 -0
- package/lib/typescript/components/Markdown.d.ts +0 -10
- package/lib/typescript/components/MessageList.d.ts +7 -2
- package/lib/typescript/components/QueuedMessages.d.ts +10 -0
- package/lib/typescript/components/markdownParse.d.ts +49 -0
- package/lib/typescript/components/markdownParse.test.d.ts +2 -0
- package/lib/typescript/preset.d.ts +4 -2
- package/lib/typescript/store/activityGroups.d.ts +29 -0
- package/lib/typescript/store/activityGroups.test.d.ts +2 -0
- package/lib/typescript/store/askBuoySettings.d.ts +22 -0
- package/lib/typescript/store/askBuoyStore.d.ts +174 -9
- package/lib/typescript/store/blockPlacement.d.ts +30 -0
- package/lib/typescript/store/blockPlacement.test.d.ts +2 -0
- package/lib/typescript/store/queue.test.d.ts +2 -0
- package/lib/typescript/store/resetConversation.d.ts +38 -0
- package/lib/typescript/store/restorePending.test.d.ts +2 -0
- package/lib/typescript/store/suggestions.d.ts +32 -0
- package/lib/typescript/store/suggestions.test.d.ts +2 -0
- package/lib/typescript/store/systemLine.test.d.ts +2 -0
- package/lib/typescript/store/ticketPrompt.d.ts +11 -0
- package/lib/typescript/store/transcriptPersistence.d.ts +41 -2
- package/lib/typescript/store/turnRendering.test.d.ts +2 -0
- package/lib/typescript/store/useAskBuoy.d.ts +26 -3
- package/lib/typescript/sync/askBuoySyncAdapter.d.ts +29 -6
- package/package.json +10 -10
- package/lib/commonjs/blocks/AskBlocks.js.map +0 -1
- package/lib/commonjs/blocks/BlockRenderer.js.map +0 -1
- package/lib/commonjs/blocks/ChromePrototypes.js.map +0 -1
- package/lib/commonjs/blocks/DataBlocks.js.map +0 -1
- package/lib/commonjs/blocks/ExtraBlocks.js.map +0 -1
- package/lib/commonjs/blocks/MediaBlocks.js.map +0 -1
- package/lib/commonjs/blocks/ReceiptBlocks.js.map +0 -1
- package/lib/commonjs/blocks/context.js.map +0 -1
- package/lib/commonjs/blocks/icons.js.map +0 -1
- package/lib/commonjs/blocks/index.js.map +0 -1
- package/lib/commonjs/blocks/listRow.test.js.map +0 -1
- package/lib/commonjs/blocks/pageState.js.map +0 -1
- package/lib/commonjs/blocks/pageState.test.js.map +0 -1
- package/lib/commonjs/blocks/primitives.js.map +0 -1
- package/lib/commonjs/blocks/primitivesIndex.js.map +0 -1
- package/lib/commonjs/components/ApprovalCard.js.map +0 -1
- package/lib/commonjs/components/AskBuoyHeader.js.map +0 -1
- package/lib/commonjs/components/AskBuoyIcon.js.map +0 -1
- package/lib/commonjs/components/AskBuoyModal.js.map +0 -1
- package/lib/commonjs/components/AskBuoySettings.js.map +0 -1
- package/lib/commonjs/components/ChangesBar.js.map +0 -1
- package/lib/commonjs/components/Composer.js.map +0 -1
- package/lib/commonjs/components/EmptyState.js.map +0 -1
- package/lib/commonjs/components/Markdown.js.map +0 -1
- package/lib/commonjs/components/MessageList.js.map +0 -1
- package/lib/commonjs/components/ThinkingStrip.js.map +0 -1
- package/lib/commonjs/components/TypingDots.js.map +0 -1
- package/lib/commonjs/components/useCopyAction.js.map +0 -1
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/preset.js.map +0 -1
- package/lib/commonjs/store/askBuoySettings.js.map +0 -1
- package/lib/commonjs/store/askBuoyStore.js.map +0 -1
- package/lib/commonjs/store/restoredIds.test.js.map +0 -1
- package/lib/commonjs/store/traceText.js.map +0 -1
- package/lib/commonjs/store/traceText.test.js.map +0 -1
- package/lib/commonjs/store/transcriptPersistence.js.map +0 -1
- package/lib/commonjs/store/transcriptPersistence.test.js.map +0 -1
- package/lib/commonjs/store/useAskBuoy.js.map +0 -1
- package/lib/commonjs/store/useAskBuoySettings.js.map +0 -1
- package/lib/commonjs/sync/askBuoySyncAdapter.js.map +0 -1
- package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +0 -1
- package/lib/commonjs/sync/wire.js.map +0 -1
- package/lib/commonjs/types.js.map +0 -1
- package/lib/module/blocks/AskBlocks.js.map +0 -1
- package/lib/module/blocks/BlockRenderer.js.map +0 -1
- package/lib/module/blocks/ChromePrototypes.js.map +0 -1
- package/lib/module/blocks/DataBlocks.js.map +0 -1
- package/lib/module/blocks/ExtraBlocks.js.map +0 -1
- package/lib/module/blocks/MediaBlocks.js.map +0 -1
- package/lib/module/blocks/ReceiptBlocks.js.map +0 -1
- package/lib/module/blocks/context.js.map +0 -1
- package/lib/module/blocks/icons.js.map +0 -1
- package/lib/module/blocks/index.js.map +0 -1
- package/lib/module/blocks/listRow.test.js.map +0 -1
- package/lib/module/blocks/pageState.js.map +0 -1
- package/lib/module/blocks/pageState.test.js.map +0 -1
- package/lib/module/blocks/primitives.js.map +0 -1
- package/lib/module/blocks/primitivesIndex.js.map +0 -1
- package/lib/module/components/ApprovalCard.js.map +0 -1
- package/lib/module/components/AskBuoyHeader.js.map +0 -1
- package/lib/module/components/AskBuoyIcon.js.map +0 -1
- package/lib/module/components/AskBuoyModal.js.map +0 -1
- package/lib/module/components/AskBuoySettings.js.map +0 -1
- package/lib/module/components/ChangesBar.js.map +0 -1
- package/lib/module/components/Composer.js.map +0 -1
- package/lib/module/components/EmptyState.js.map +0 -1
- package/lib/module/components/Markdown.js.map +0 -1
- package/lib/module/components/MessageList.js.map +0 -1
- package/lib/module/components/ThinkingStrip.js.map +0 -1
- package/lib/module/components/TypingDots.js.map +0 -1
- package/lib/module/components/useCopyAction.js.map +0 -1
- package/lib/module/index.js.map +0 -1
- package/lib/module/preset.js.map +0 -1
- package/lib/module/store/askBuoySettings.js.map +0 -1
- package/lib/module/store/askBuoyStore.js.map +0 -1
- package/lib/module/store/restoredIds.test.js.map +0 -1
- package/lib/module/store/traceText.js.map +0 -1
- package/lib/module/store/traceText.test.js.map +0 -1
- package/lib/module/store/transcriptPersistence.js.map +0 -1
- package/lib/module/store/transcriptPersistence.test.js.map +0 -1
- package/lib/module/store/useAskBuoy.js.map +0 -1
- package/lib/module/store/useAskBuoySettings.js.map +0 -1
- package/lib/module/sync/askBuoySyncAdapter.js.map +0 -1
- package/lib/module/sync/askBuoySyncAdapter.test.js.map +0 -1
- package/lib/module/sync/wire.js.map +0 -1
- package/lib/module/types.js.map +0 -1
- package/lib/typescript/blocks/AskBlocks.d.ts.map +0 -1
- package/lib/typescript/blocks/BlockRenderer.d.ts.map +0 -1
- package/lib/typescript/blocks/ChromePrototypes.d.ts.map +0 -1
- package/lib/typescript/blocks/DataBlocks.d.ts.map +0 -1
- package/lib/typescript/blocks/ExtraBlocks.d.ts.map +0 -1
- package/lib/typescript/blocks/MediaBlocks.d.ts.map +0 -1
- package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +0 -1
- package/lib/typescript/blocks/context.d.ts.map +0 -1
- package/lib/typescript/blocks/icons.d.ts.map +0 -1
- package/lib/typescript/blocks/index.d.ts.map +0 -1
- package/lib/typescript/blocks/listRow.test.d.ts.map +0 -1
- package/lib/typescript/blocks/pageState.d.ts.map +0 -1
- package/lib/typescript/blocks/pageState.test.d.ts.map +0 -1
- package/lib/typescript/blocks/primitives.d.ts.map +0 -1
- package/lib/typescript/blocks/primitivesIndex.d.ts.map +0 -1
- package/lib/typescript/components/ApprovalCard.d.ts.map +0 -1
- package/lib/typescript/components/AskBuoyHeader.d.ts.map +0 -1
- package/lib/typescript/components/AskBuoyIcon.d.ts.map +0 -1
- package/lib/typescript/components/AskBuoyModal.d.ts.map +0 -1
- package/lib/typescript/components/AskBuoySettings.d.ts.map +0 -1
- package/lib/typescript/components/ChangesBar.d.ts.map +0 -1
- package/lib/typescript/components/Composer.d.ts.map +0 -1
- package/lib/typescript/components/EmptyState.d.ts.map +0 -1
- package/lib/typescript/components/Markdown.d.ts.map +0 -1
- package/lib/typescript/components/MessageList.d.ts.map +0 -1
- package/lib/typescript/components/ThinkingStrip.d.ts.map +0 -1
- package/lib/typescript/components/TypingDots.d.ts.map +0 -1
- package/lib/typescript/components/useCopyAction.d.ts.map +0 -1
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/preset.d.ts.map +0 -1
- package/lib/typescript/store/askBuoySettings.d.ts.map +0 -1
- package/lib/typescript/store/askBuoyStore.d.ts.map +0 -1
- package/lib/typescript/store/restoredIds.test.d.ts.map +0 -1
- package/lib/typescript/store/traceText.d.ts.map +0 -1
- package/lib/typescript/store/traceText.test.d.ts.map +0 -1
- package/lib/typescript/store/transcriptPersistence.d.ts.map +0 -1
- package/lib/typescript/store/transcriptPersistence.test.d.ts.map +0 -1
- package/lib/typescript/store/useAskBuoy.d.ts.map +0 -1
- package/lib/typescript/store/useAskBuoySettings.d.ts.map +0 -1
- package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +0 -1
- package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +0 -1
- package/lib/typescript/sync/wire.d.ts.map +0 -1
- package/lib/typescript/types.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.QueuedMessages=QueuedMessages;var _reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_jsxRuntime=require("react/jsx-runtime");const MAX_LIST_HEIGHT=132;function QueuedMessages({items:e,paused:t,onEdit:s,onRemove:i}){return 0===e.length?null:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.wrap,testID:"buoy-ask-buoy-queued",children:[(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{style:styles.list,contentContainerStyle:styles.listContent,keyboardShouldPersistTaps:"handled",children:e.map((e,r)=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[styles.row,null!==t&&styles.rowPaused],children:[(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{testID:`buoy-ask-buoy-queue-item-${r}`,accessibilityRole:"button",accessibilityLabel:`Edit queued message: ${e.text}`,onPress:()=>s(e.id),style:({pressed:e})=>[styles.rowBody,e&&styles.pressed],children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.ordinal,children:0===r?"NEXT":"THEN"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.text,numberOfLines:3,children:e.text})]}),(0,_jsxRuntime.jsx)(_reactNative.Pressable,{testID:`buoy-ask-buoy-queue-remove-${r}`,accessibilityRole:"button",accessibilityLabel:"Remove queued message",onPress:()=>i(e.id),hitSlop:8,style:({pressed:e})=>[styles.remove,e&&styles.pressed],children:(0,_jsxRuntime.jsx)(_sharedUi.X,{size:11,color:_sharedUi.night.color.textTertiary})})]},e.id))}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.hint,null!==t&&styles.hintPaused],testID:"buoy-ask-buoy-queue-hint",children:t??"Sends one at a time when this turn finishes · tap to edit"})]})}const styles=_reactNative.StyleSheet.create({wrap:{paddingHorizontal:_sharedUi.night.gutter,paddingTop:8,gap:6,backgroundColor:_sharedUi.night.color.bg},list:{maxHeight:132},listContent:{gap:6},row:{flexDirection:"row",alignItems:"center",borderRadius:_sharedUi.night.radius.row,borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:_sharedUi.night.color.border,backgroundColor:_sharedUi.night.color.surface},rowPaused:{borderColor:_sharedUi.night.color.warning},rowBody:{flex:1,flexDirection:"row",alignItems:"center",gap:8,paddingVertical:7,paddingLeft:10},ordinal:{color:_sharedUi.night.color.textTertiary,fontSize:9,fontWeight:"700",letterSpacing:.6,width:30},text:{flex:1,color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.caption,lineHeight:17},remove:{width:32,height:32,alignItems:"center",justifyContent:"center"},pressed:{opacity:.7},hint:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro},hintPaused:{color:_sharedUi.night.color.warning}});
|
|
@@ -1,223 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ThinkingStrip = ThinkingStrip;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
10
|
-
var _traceText = require("../store/traceText");
|
|
11
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
/**
|
|
13
|
-
* The agent's own working, under an answer, collapsed by default.
|
|
14
|
-
*
|
|
15
|
-
* Collapsed is the whole design constraint. A multi-step turn's reasoning is
|
|
16
|
-
* longer than the answer it produced, and rendered open it pushes the answer —
|
|
17
|
-
* the thing the user came for — off the screen. So the strip is one line until
|
|
18
|
-
* someone wants it, and the summary on that line ("3 steps · 2 thoughts") is
|
|
19
|
-
* enough to tell whether opening it is worth it.
|
|
20
|
-
*
|
|
21
|
-
* Every step is expandable on its own too, because the parameters are the
|
|
22
|
-
* useful part when hunting a bug and the tool name alone is not.
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
function StepRow({
|
|
26
|
-
n,
|
|
27
|
-
call
|
|
28
|
-
}) {
|
|
29
|
-
const [open, setOpen] = (0, _react.useState)(false);
|
|
30
|
-
const failed = call.status === "failed" || call.status === "refused";
|
|
31
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
32
|
-
onPress: () => setOpen(v => !v),
|
|
33
|
-
accessibilityRole: "button",
|
|
34
|
-
accessibilityState: {
|
|
35
|
-
expanded: open
|
|
36
|
-
},
|
|
37
|
-
style: styles.step,
|
|
38
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
39
|
-
style: styles.stepLine,
|
|
40
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
41
|
-
style: styles.stepN,
|
|
42
|
-
children: n
|
|
43
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
44
|
-
style: [styles.stepName, failed && styles.stepFailed],
|
|
45
|
-
numberOfLines: 1,
|
|
46
|
-
children: [call.toolId, ".", call.action]
|
|
47
|
-
}), call.durationMs !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
48
|
-
style: styles.stepMs,
|
|
49
|
-
children: [call.durationMs, "ms"]
|
|
50
|
-
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
51
|
-
style: [styles.stepStatus, failed && styles.stepFailed],
|
|
52
|
-
numberOfLines: 1,
|
|
53
|
-
children: call.status === "ok" ? call.summary || "done" : call.status
|
|
54
|
-
})]
|
|
55
|
-
}), open ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
56
|
-
style: styles.detail,
|
|
57
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
58
|
-
style: styles.detailLabel,
|
|
59
|
-
children: "SENT"
|
|
60
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
61
|
-
style: styles.code,
|
|
62
|
-
selectable: true,
|
|
63
|
-
children: call.params ?? "no parameters"
|
|
64
|
-
}), call.result ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
65
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
66
|
-
style: styles.detailLabel,
|
|
67
|
-
children: "RETURNED"
|
|
68
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
69
|
-
style: styles.code,
|
|
70
|
-
selectable: true,
|
|
71
|
-
children: call.result
|
|
72
|
-
})]
|
|
73
|
-
}) : null]
|
|
74
|
-
}) : null]
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function ThinkingStrip({
|
|
78
|
-
message
|
|
79
|
-
}) {
|
|
80
|
-
const [open, setOpen] = (0, _react.useState)(false);
|
|
81
|
-
if (!(0, _traceText.hasTrace)(message)) return null;
|
|
82
|
-
const entries = (0, _traceText.traceEntries)(message);
|
|
83
|
-
const steps = entries.filter(e => e.kind === "step").length;
|
|
84
|
-
const thoughts = entries.length - steps;
|
|
85
|
-
const wall = message.startedAt !== undefined && message.endedAt !== undefined ? `${((message.endedAt - message.startedAt) / 1000).toFixed(1)}s` : null;
|
|
86
|
-
const summary = [steps ? `${steps} step${steps === 1 ? "" : "s"}` : null, thoughts ? `${thoughts} thought${thoughts === 1 ? "" : "s"}` : null, wall, message.usage ? `${message.usage.input + message.usage.output} tokens` : null].filter(Boolean).join(" · ");
|
|
87
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
88
|
-
style: styles.wrap,
|
|
89
|
-
testID: "buoy-ask-buoy-thinking",
|
|
90
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
91
|
-
testID: "buoy-ask-buoy-thinking-toggle",
|
|
92
|
-
onPress: () => setOpen(v => !v),
|
|
93
|
-
accessibilityRole: "button",
|
|
94
|
-
accessibilityLabel: open ? "Hide agent thinking" : "Show agent thinking",
|
|
95
|
-
accessibilityState: {
|
|
96
|
-
expanded: open
|
|
97
|
-
},
|
|
98
|
-
style: styles.head,
|
|
99
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Activity, {
|
|
100
|
-
size: 12,
|
|
101
|
-
color: _sharedUi.night.color.textTertiary
|
|
102
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
103
|
-
style: styles.headText,
|
|
104
|
-
children: summary
|
|
105
|
-
}), open ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronDown, {
|
|
106
|
-
size: 12,
|
|
107
|
-
color: _sharedUi.night.color.textTertiary
|
|
108
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
|
|
109
|
-
size: 12,
|
|
110
|
-
color: _sharedUi.night.color.textTertiary
|
|
111
|
-
})]
|
|
112
|
-
}), open ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
113
|
-
style: styles.body,
|
|
114
|
-
children: [entries.map((entry, i) => entry.kind === "thought" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
115
|
-
style: styles.thought,
|
|
116
|
-
selectable: true,
|
|
117
|
-
children: entry.text.trim()
|
|
118
|
-
}, `t${i}`) : /*#__PURE__*/(0, _jsxRuntime.jsx)(StepRow, {
|
|
119
|
-
n: entry.n,
|
|
120
|
-
call: entry.call
|
|
121
|
-
}, entry.call.id)), thoughts === 0 ?
|
|
122
|
-
/*#__PURE__*/
|
|
123
|
-
// Said plainly, because an empty reasoning section reads as broken.
|
|
124
|
-
// Most models report none: Claude thinks by default, gpt-4.1 never.
|
|
125
|
-
(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
126
|
-
style: styles.none,
|
|
127
|
-
children: "This model reports no reasoning \u2014 the steps above are the whole trace."
|
|
128
|
-
}) : null]
|
|
129
|
-
}) : null]
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
const styles = _reactNative.StyleSheet.create({
|
|
133
|
-
wrap: {
|
|
134
|
-
marginTop: 8,
|
|
135
|
-
borderRadius: _sharedUi.night.radius.badge,
|
|
136
|
-
borderWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
137
|
-
borderColor: _sharedUi.night.color.separator,
|
|
138
|
-
backgroundColor: _sharedUi.night.color.fill,
|
|
139
|
-
overflow: "hidden"
|
|
140
|
-
},
|
|
141
|
-
head: {
|
|
142
|
-
flexDirection: "row",
|
|
143
|
-
alignItems: "center",
|
|
144
|
-
gap: 6,
|
|
145
|
-
paddingHorizontal: 10,
|
|
146
|
-
paddingVertical: 7
|
|
147
|
-
},
|
|
148
|
-
headText: {
|
|
149
|
-
flex: 1,
|
|
150
|
-
color: _sharedUi.night.color.textTertiary,
|
|
151
|
-
fontSize: _sharedUi.night.font.micro,
|
|
152
|
-
fontWeight: "600"
|
|
153
|
-
},
|
|
154
|
-
body: {
|
|
155
|
-
borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
156
|
-
borderTopColor: _sharedUi.night.color.separator
|
|
157
|
-
},
|
|
158
|
-
thought: {
|
|
159
|
-
color: _sharedUi.night.color.textSecondary,
|
|
160
|
-
fontSize: _sharedUi.night.font.micro,
|
|
161
|
-
lineHeight: 17,
|
|
162
|
-
fontStyle: "italic",
|
|
163
|
-
paddingHorizontal: 10,
|
|
164
|
-
paddingVertical: 8
|
|
165
|
-
},
|
|
166
|
-
step: {
|
|
167
|
-
paddingHorizontal: 10,
|
|
168
|
-
paddingVertical: 7
|
|
169
|
-
},
|
|
170
|
-
stepLine: {
|
|
171
|
-
flexDirection: "row",
|
|
172
|
-
alignItems: "center",
|
|
173
|
-
gap: 8
|
|
174
|
-
},
|
|
175
|
-
stepN: {
|
|
176
|
-
color: _sharedUi.night.color.textTertiary,
|
|
177
|
-
fontSize: _sharedUi.night.font.micro,
|
|
178
|
-
width: 14
|
|
179
|
-
},
|
|
180
|
-
stepName: {
|
|
181
|
-
flex: 1,
|
|
182
|
-
color: _sharedUi.night.color.textSecondary,
|
|
183
|
-
fontSize: _sharedUi.night.font.micro,
|
|
184
|
-
fontWeight: "600"
|
|
185
|
-
},
|
|
186
|
-
stepMs: {
|
|
187
|
-
color: _sharedUi.night.color.textTertiary,
|
|
188
|
-
fontSize: _sharedUi.night.font.micro
|
|
189
|
-
},
|
|
190
|
-
stepStatus: {
|
|
191
|
-
color: _sharedUi.night.color.textTertiary,
|
|
192
|
-
fontSize: _sharedUi.night.font.micro,
|
|
193
|
-
maxWidth: 110
|
|
194
|
-
},
|
|
195
|
-
stepFailed: {
|
|
196
|
-
color: _sharedUi.night.color.danger
|
|
197
|
-
},
|
|
198
|
-
detail: {
|
|
199
|
-
marginTop: 6,
|
|
200
|
-
marginLeft: 22,
|
|
201
|
-
gap: 3
|
|
202
|
-
},
|
|
203
|
-
detailLabel: {
|
|
204
|
-
color: _sharedUi.night.color.textTertiary,
|
|
205
|
-
fontSize: 9,
|
|
206
|
-
fontWeight: "700",
|
|
207
|
-
letterSpacing: 0.5
|
|
208
|
-
},
|
|
209
|
-
code: {
|
|
210
|
-
color: _sharedUi.night.color.textSecondary,
|
|
211
|
-
fontSize: _sharedUi.night.font.micro,
|
|
212
|
-
lineHeight: 16,
|
|
213
|
-
marginBottom: 3
|
|
214
|
-
},
|
|
215
|
-
none: {
|
|
216
|
-
color: _sharedUi.night.color.textTertiary,
|
|
217
|
-
fontSize: _sharedUi.night.font.micro,
|
|
218
|
-
fontStyle: "italic",
|
|
219
|
-
paddingHorizontal: 10,
|
|
220
|
-
paddingVertical: 8
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
//# sourceMappingURL=ThinkingStrip.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ThinkingStrip=ThinkingStrip;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_traceText=require("../store/traceText"),_jsxRuntime=require("react/jsx-runtime");function StepRow({n:e,call:t}){const[i,s]=(0,_react.useState)(!1),r="failed"===t.status||"refused"===t.status;return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>s(e=>!e),accessibilityRole:"button",accessibilityState:{expanded:i},style:styles.step,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.stepLine,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.stepN,children:e}),(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:[styles.stepName,r&&styles.stepFailed],numberOfLines:1,children:[t.toolId,".",t.action]}),void 0!==t.durationMs?(0,_jsxRuntime.jsxs)(_reactNative.Text,{style:styles.stepMs,children:[t.durationMs,"ms"]}):null,(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.stepStatus,r&&styles.stepFailed],numberOfLines:1,children:"ok"===t.status?t.summary||"done":t.status})]}),i?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.detail,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.detailLabel,children:"SENT"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.code,selectable:!0,children:t.params??"no parameters"}),t.result?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.detailLabel,children:"RETURNED"}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.code,selectable:!0,children:t.result})]}):null]}):null]})}function ThinkingStrip({message:e}){const[t,i]=(0,_react.useState)(!1);if(!(0,_traceText.hasTrace)(e))return null;const s=(0,_traceText.traceEntries)(e),r=s.filter(e=>"step"===e.kind).length,a=s.length-r,n=[r?`${r} step${1===r?"":"s"}`:null,a?`${a} thought${1===a?"":"s"}`:null,void 0!==e.startedAt&&void 0!==e.endedAt?`${((e.endedAt-e.startedAt)/1e3).toFixed(1)}s`:null,e.usage?`${e.usage.input+e.usage.output} tokens`:null].filter(Boolean).join(" · ");return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.wrap,testID:"buoy-ask-buoy-thinking",children:[(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{testID:"buoy-ask-buoy-thinking-toggle",onPress:()=>i(e=>!e),accessibilityRole:"button",accessibilityLabel:t?"Hide agent thinking":"Show agent thinking",accessibilityState:{expanded:t},style:styles.head,children:[(0,_jsxRuntime.jsx)(_sharedUi.Activity,{size:12,color:_sharedUi.night.color.textTertiary}),(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.headText,children:n}),t?(0,_jsxRuntime.jsx)(_sharedUi.ChevronDown,{size:12,color:_sharedUi.night.color.textTertiary}):(0,_jsxRuntime.jsx)(_sharedUi.ChevronRight,{size:12,color:_sharedUi.night.color.textTertiary})]}),t?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.body,children:[s.map((e,t)=>"thought"===e.kind?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.thought,selectable:!0,children:e.text.trim()},`t${t}`):(0,_jsxRuntime.jsx)(StepRow,{n:e.n,call:e.call},e.call.id)),0===a?(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.none,children:"This model reports no reasoning — the steps above are the whole trace."}):null]}):null]})}const styles=_reactNative.StyleSheet.create({wrap:{marginTop:8,borderRadius:_sharedUi.night.radius.badge,borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:_sharedUi.night.color.separator,backgroundColor:_sharedUi.night.color.fill,overflow:"hidden"},head:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:10,paddingVertical:7},headText:{flex:1,color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,fontWeight:"600"},body:{borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:_sharedUi.night.color.separator},thought:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.micro,lineHeight:17,fontStyle:"italic",paddingHorizontal:10,paddingVertical:8},step:{paddingHorizontal:10,paddingVertical:7},stepLine:{flexDirection:"row",alignItems:"center",gap:8},stepN:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,width:14},stepName:{flex:1,color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.micro,fontWeight:"600"},stepMs:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro},stepStatus:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,maxWidth:110},stepFailed:{color:_sharedUi.night.color.danger},detail:{marginTop:6,marginLeft:22,gap:3},detailLabel:{color:_sharedUi.night.color.textTertiary,fontSize:9,fontWeight:"700",letterSpacing:.5},code:{color:_sharedUi.night.color.textSecondary,fontSize:_sharedUi.night.font.micro,lineHeight:16,marginBottom:3},none:{color:_sharedUi.night.color.textTertiary,fontSize:_sharedUi.night.font.micro,fontStyle:"italic",paddingHorizontal:10,paddingVertical:8}});
|
|
@@ -1,63 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.TypingDots = TypingDots;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
/**
|
|
12
|
-
* Three pulsing dots — the "it heard you" signal between sending a message
|
|
13
|
-
* and the first streamed token. A static "…" glyph read as a finished (and
|
|
14
|
-
* confusing) answer.
|
|
15
|
-
*
|
|
16
|
-
* Native-driver opacity only, so it costs the JS thread nothing while the
|
|
17
|
-
* stream that replaces it is being parsed.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
function TypingDots() {
|
|
21
|
-
const dots = (0, _react.useRef)([0, 1, 2].map(() => new _reactNative.Animated.Value(0.25))).current;
|
|
22
|
-
(0, _react.useEffect)(() => {
|
|
23
|
-
const loops = dots.map((v, i) => _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.delay(i * 140), _reactNative.Animated.timing(v, {
|
|
24
|
-
toValue: 1,
|
|
25
|
-
duration: 320,
|
|
26
|
-
easing: _reactNative.Easing.inOut(_reactNative.Easing.ease),
|
|
27
|
-
useNativeDriver: true
|
|
28
|
-
}), _reactNative.Animated.timing(v, {
|
|
29
|
-
toValue: 0.25,
|
|
30
|
-
duration: 320,
|
|
31
|
-
easing: _reactNative.Easing.inOut(_reactNative.Easing.ease),
|
|
32
|
-
useNativeDriver: true
|
|
33
|
-
}), _reactNative.Animated.delay((2 - i) * 140)])));
|
|
34
|
-
loops.forEach(l => l.start());
|
|
35
|
-
return () => loops.forEach(l => l.stop());
|
|
36
|
-
}, [dots]);
|
|
37
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
38
|
-
style: styles.wrap,
|
|
39
|
-
testID: "buoy-ask-buoy-typing",
|
|
40
|
-
accessibilityLabel: "Thinking",
|
|
41
|
-
children: dots.map((v, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
42
|
-
style: [styles.dot, {
|
|
43
|
-
opacity: v
|
|
44
|
-
}]
|
|
45
|
-
}, i))
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
const styles = _reactNative.StyleSheet.create({
|
|
49
|
-
wrap: {
|
|
50
|
-
flexDirection: "row",
|
|
51
|
-
alignItems: "center",
|
|
52
|
-
gap: 5,
|
|
53
|
-
paddingVertical: 8,
|
|
54
|
-
paddingHorizontal: 2
|
|
55
|
-
},
|
|
56
|
-
dot: {
|
|
57
|
-
width: 7,
|
|
58
|
-
height: 7,
|
|
59
|
-
borderRadius: 4,
|
|
60
|
-
backgroundColor: _sharedUi.night.color.textSecondary
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
//# sourceMappingURL=TypingDots.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TypingDots=TypingDots;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_jsxRuntime=require("react/jsx-runtime");function TypingDots(){const e=(0,_react.useRef)([0,1,2].map(()=>new _reactNative.Animated.Value(.25))).current;return(0,_react.useEffect)(()=>{const t=e.map((e,t)=>_reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.delay(140*t),_reactNative.Animated.timing(e,{toValue:1,duration:320,easing:_reactNative.Easing.inOut(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.timing(e,{toValue:.25,duration:320,easing:_reactNative.Easing.inOut(_reactNative.Easing.ease),useNativeDriver:!0}),_reactNative.Animated.delay(140*(2-t))])));return t.forEach(e=>e.start()),()=>t.forEach(e=>e.stop())},[e]),(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.wrap,testID:"buoy-ask-buoy-typing",accessibilityLabel:"Thinking",children:e.map((e,t)=>(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[styles.dot,{opacity:e}]},t))})}const styles=_reactNative.StyleSheet.create({wrap:{flexDirection:"row",alignItems:"center",gap:5,paddingVertical:8,paddingHorizontal:2},dot:{width:7,height:7,borderRadius:4,backgroundColor:_sharedUi.night.color.textSecondary}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TABLE_PREVIEW_ROWS=exports.TABLE_PREVIEW_COLS=void 0,exports.parseBlocks=parseBlocks,exports.tableTruncation=tableTruncation;const isTableRow=t=>/^\s*\|.*\|\s*$/.test(t),isTableRule=t=>/^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$/.test(t),splitRow=t=>t.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(t=>t.trim()),FENCE=/^\s*```\s*([\w+-]*)\s*$/;function parseBlocks(t){const e=[];let s=[];const n=()=>{s.length&&e.push({kind:"p",text:s.join(" ")}),s=[]},o=t.split("\n");for(let t=0;t<o.length;t++){const l=o[t].replace(/\s+$/,""),i=FENCE.exec(l);if(i){n();const s=[];let l=t+1,r=!1;for(;l<o.length;){if(/^\s*```\s*$/.test(o[l])){r=!0;break}s.push(o[l]),l++}e.push({kind:"code",lang:i[1]??"",text:s.join("\n"),closed:r}),t=r?l:o.length;continue}if(!l.trim()){n();continue}if(isTableRow(l)&&o[t+1]&&isTableRule(o[t+1])){n();const s=splitRow(l),i=[];let r=t+2;for(;r<o.length&&isTableRow(o[r]);)i.push(splitRow(o[r])),r++;e.push({kind:"table",header:s,rows:i}),t=r-1;continue}const r=/^#{1,6}\s+(.*)$/.exec(l);if(r){n(),e.push({kind:"h",text:r[1]});continue}const c=/^(\s*)([-*•]|\d+[.)])\s+(.*)$/.exec(l);if(c){n();const t=Math.min(2,Math.floor(c[1].length/2)),s=/^\d/.test(c[2])?c[2].replace(")","."):"•";e.push({kind:"li",text:c[3],marker:s,depth:t});continue}s.push(l.trim())}return n(),e}const TABLE_PREVIEW_ROWS=exports.TABLE_PREVIEW_ROWS=12,TABLE_PREVIEW_COLS=exports.TABLE_PREVIEW_COLS=4;function tableTruncation(t,e){const s=[];return e.length>TABLE_PREVIEW_ROWS&&s.push(`${TABLE_PREVIEW_ROWS} of ${e.length} rows`),t.length>TABLE_PREVIEW_COLS&&s.push(`${TABLE_PREVIEW_COLS} of ${t.length} columns`),s.length?`Showing ${s.join(" · ")}`:null}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var _vitest=require("vitest"),_markdownParse=require("./markdownParse");(0,_vitest.describe)("fenced code",()=>{(0,_vitest.it)("keeps newlines and indentation",()=>{const e=(0,_markdownParse.parseBlocks)('Here:\n```json\n{\n "qty": 14\n}\n```\n— the qty changed.');(0,_vitest.expect)(e.map(e=>e.kind)).toEqual(["p","code","p"]);const t=e[1];(0,_vitest.expect)("code"===t.kind&&t.text).toBe('{\n "qty": 14\n}'),(0,_vitest.expect)("code"===t.kind&&t.lang).toBe("json"),(0,_vitest.expect)("code"===t.kind&&t.closed).toBe(!0)}),(0,_vitest.it)("renders an unclosed fence as code while the stream is still inside it",()=>{const e=(0,_markdownParse.parseBlocks)("```\nline one\nline two");(0,_vitest.expect)(e).toHaveLength(1);const t=e[0];(0,_vitest.expect)(t.kind).toBe("code"),(0,_vitest.expect)("code"===t.kind&&t.closed).toBe(!1),(0,_vitest.expect)("code"===t.kind&&t.text).toBe("line one\nline two")}),(0,_vitest.it)("does not treat fence contents as lists or tables",()=>{const e=(0,_markdownParse.parseBlocks)("```\n- not a bullet\n| a | b |\n|---|---|\n```");(0,_vitest.expect)(e).toHaveLength(1),(0,_vitest.expect)(e[0].kind).toBe("code")})}),(0,_vitest.describe)("tables",()=>{const e=(e,t)=>{const s=Array.from({length:t},(e,t)=>`c${t}`),n=Array.from({length:e},(e,t)=>s.map((e,s)=>`r${t}c${s}`));return{header:s,rows:n}};(0,_vitest.it)("says nothing about a table that fits",()=>{const t=e(12,4);(0,_vitest.expect)((0,_markdownParse.tableTruncation)(t.header,t.rows)).toBeNull()}),(0,_vitest.it)("names the rows it cut",()=>{const t=e(30,4);(0,_vitest.expect)((0,_markdownParse.tableTruncation)(t.header,t.rows)).toBe("Showing 12 of 30 rows")}),(0,_vitest.it)("names the columns it cut",()=>{const t=e(3,6);(0,_vitest.expect)((0,_markdownParse.tableTruncation)(t.header,t.rows)).toBe("Showing 4 of 6 columns")}),(0,_vitest.it)("names both when both are cut",()=>{const t=e(30,6);(0,_vitest.expect)((0,_markdownParse.tableTruncation)(t.header,t.rows)).toBe("Showing 12 of 30 rows · 4 of 6 columns")}),(0,_vitest.it)("still parses a pipe table from text",()=>{const e=(0,_markdownParse.parseBlocks)("| Item | Qty |\n|---|---|\n| Charizard | 14 |\n| Blastoise | 2 |");(0,_vitest.expect)(e).toHaveLength(1);const t=e[0];(0,_vitest.expect)("table"===t.kind&&t.header).toEqual(["Item","Qty"]),(0,_vitest.expect)("table"===t.kind&&t.rows).toEqual([["Charizard","14"],["Blastoise","2"]])})}),(0,_vitest.describe)("everything else still works",()=>{(0,_vitest.it)("paragraphs, headings and lists",()=>{const e=(0,_markdownParse.parseBlocks)("# Title\n\nSome prose\ncontinues.\n\n- one\n - nested\n1. first");(0,_vitest.expect)(e).toEqual([{kind:"h",text:"Title"},{kind:"p",text:"Some prose continues."},{kind:"li",text:"one",marker:"•",depth:0},{kind:"li",text:"nested",marker:"•",depth:1},{kind:"li",text:"first",marker:"1.",depth:0}])})});
|
|
@@ -1,50 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useCopyAction = useCopyAction;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
10
|
-
/**
|
|
11
|
-
* Copy that reports what happened.
|
|
12
|
-
*
|
|
13
|
-
* Both clipboard libraries are OPTIONAL peers, so `copyToClipboard` resolves
|
|
14
|
-
* false in an app that installed neither — a copy button that silently does
|
|
15
|
-
* nothing is worse than no copy button, so that case falls through to the OS
|
|
16
|
-
* share sheet (which also offers Copy) instead of failing quietly.
|
|
17
|
-
*
|
|
18
|
-
* `getText` is read on PRESS, not on render: the whole-transcript callers
|
|
19
|
-
* would otherwise rebuild the transcript on every frame of a streaming answer
|
|
20
|
-
* just to have a string ready for a button nobody tapped.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/** Long enough to notice out of the corner of an eye, short enough not to linger. */
|
|
24
|
-
const COPIED_MS = 1500;
|
|
25
|
-
function useCopyAction(getText) {
|
|
26
|
-
const [copied, setCopied] = (0, _react.useState)(false);
|
|
27
|
-
const timer = (0, _react.useRef)(null);
|
|
28
|
-
(0, _react.useEffect)(() => () => {
|
|
29
|
-
if (timer.current) clearTimeout(timer.current);
|
|
30
|
-
}, []);
|
|
31
|
-
const copy = (0, _react.useCallback)(() => {
|
|
32
|
-
const text = getText();
|
|
33
|
-
void (0, _sharedUi.copyToClipboard)(text).then(ok => {
|
|
34
|
-
if (!ok) {
|
|
35
|
-
void _reactNative.Share.share({
|
|
36
|
-
message: text
|
|
37
|
-
}).catch(() => {});
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
setCopied(true);
|
|
41
|
-
if (timer.current) clearTimeout(timer.current);
|
|
42
|
-
timer.current = setTimeout(() => setCopied(false), COPIED_MS);
|
|
43
|
-
}).catch(() => {});
|
|
44
|
-
}, [getText]);
|
|
45
|
-
return {
|
|
46
|
-
copied,
|
|
47
|
-
copy
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=useCopyAction.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useCopyAction=useCopyAction;var _react=require("react"),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui");const COPIED_MS=1500;function useCopyAction(e){const[r,t]=(0,_react.useState)(!1),c=(0,_react.useRef)(null);return(0,_react.useEffect)(()=>()=>{c.current&&clearTimeout(c.current)},[]),{copied:r,copy:(0,_react.useCallback)(()=>{const r=e();(0,_sharedUi.copyToClipboard)(r).then(e=>{e?(t(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>t(!1),COPIED_MS)):_reactNative.Share.share({message:r}).catch(()=>{})}).catch(()=>{})},[e])}}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1,252 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "ASK_BUOY_ADAPTER_VERSION", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _askBuoySyncAdapter.ASK_BUOY_ADAPTER_VERSION;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "ASK_BUOY_ICON_COLOR", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _preset.ASK_BUOY_ICON_COLOR;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "ApprovalCard", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _ApprovalCard.ApprovalCard;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "AskBuoyHeader", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _AskBuoyHeader.AskBuoyHeader;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "AskBuoyIcon", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _preset.AskBuoyIcon;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "AskBuoyModal", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _AskBuoyModal.AskBuoyModal;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "AskBuoySettings", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _AskBuoySettings.AskBuoySettings;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "BlockActionRow", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
-
return _blocks.ActionRow;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
Object.defineProperty(exports, "BlockCard", {
|
|
55
|
-
enumerable: true,
|
|
56
|
-
get: function () {
|
|
57
|
-
return _blocks.Card;
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
Object.defineProperty(exports, "BlockHandlersProvider", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function () {
|
|
63
|
-
return _blocks.BlockHandlersProvider;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
Object.defineProperty(exports, "BlockRenderer", {
|
|
67
|
-
enumerable: true,
|
|
68
|
-
get: function () {
|
|
69
|
-
return _blocks.BlockRenderer;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "ChangesBar", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function () {
|
|
75
|
-
return _ChangesBar.ChangesBar;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
Object.defineProperty(exports, "Composer", {
|
|
79
|
-
enumerable: true,
|
|
80
|
-
get: function () {
|
|
81
|
-
return _Composer.Composer;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(exports, "EditableUserBubble", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
get: function () {
|
|
87
|
-
return _blocks.EditableUserBubble;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
Object.defineProperty(exports, "ElapsedRow", {
|
|
91
|
-
enumerable: true,
|
|
92
|
-
get: function () {
|
|
93
|
-
return _blocks.ElapsedRow;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
Object.defineProperty(exports, "LivePill", {
|
|
97
|
-
enumerable: true,
|
|
98
|
-
get: function () {
|
|
99
|
-
return _blocks.LivePill;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
Object.defineProperty(exports, "Markdown", {
|
|
103
|
-
enumerable: true,
|
|
104
|
-
get: function () {
|
|
105
|
-
return _Markdown.Markdown;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
Object.defineProperty(exports, "MessageActions", {
|
|
109
|
-
enumerable: true,
|
|
110
|
-
get: function () {
|
|
111
|
-
return _blocks.MessageActions;
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
Object.defineProperty(exports, "MessageList", {
|
|
115
|
-
enumerable: true,
|
|
116
|
-
get: function () {
|
|
117
|
-
return _MessageList.MessageList;
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
Object.defineProperty(exports, "ProvenanceBadge", {
|
|
121
|
-
enumerable: true,
|
|
122
|
-
get: function () {
|
|
123
|
-
return _blocks.ProvenanceBadge;
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
Object.defineProperty(exports, "QueuedComposer", {
|
|
127
|
-
enumerable: true,
|
|
128
|
-
get: function () {
|
|
129
|
-
return _blocks.QueuedComposer;
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
Object.defineProperty(exports, "ReasoningStrip", {
|
|
133
|
-
enumerable: true,
|
|
134
|
-
get: function () {
|
|
135
|
-
return _blocks.ReasoningStrip;
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
Object.defineProperty(exports, "ReloadDivider", {
|
|
139
|
-
enumerable: true,
|
|
140
|
-
get: function () {
|
|
141
|
-
return _blocks.ReloadDivider;
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
Object.defineProperty(exports, "ThinkingStrip", {
|
|
145
|
-
enumerable: true,
|
|
146
|
-
get: function () {
|
|
147
|
-
return _ThinkingStrip.ThinkingStrip;
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
Object.defineProperty(exports, "Timestamp", {
|
|
151
|
-
enumerable: true,
|
|
152
|
-
get: function () {
|
|
153
|
-
return _blocks.Timestamp;
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
Object.defineProperty(exports, "askBuoySettings", {
|
|
157
|
-
enumerable: true,
|
|
158
|
-
get: function () {
|
|
159
|
-
return _askBuoySettings.askBuoySettings;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
Object.defineProperty(exports, "askBuoyStore", {
|
|
163
|
-
enumerable: true,
|
|
164
|
-
get: function () {
|
|
165
|
-
return _askBuoyStore.askBuoyStore;
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
Object.defineProperty(exports, "askBuoySyncAdapter", {
|
|
169
|
-
enumerable: true,
|
|
170
|
-
get: function () {
|
|
171
|
-
return _askBuoySyncAdapter.askBuoySyncAdapter;
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
Object.defineProperty(exports, "askBuoyToolPreset", {
|
|
175
|
-
enumerable: true,
|
|
176
|
-
get: function () {
|
|
177
|
-
return _preset.askBuoyToolPreset;
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
Object.defineProperty(exports, "createAskBuoyTool", {
|
|
181
|
-
enumerable: true,
|
|
182
|
-
get: function () {
|
|
183
|
-
return _preset.createAskBuoyTool;
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
Object.defineProperty(exports, "hasTrace", {
|
|
187
|
-
enumerable: true,
|
|
188
|
-
get: function () {
|
|
189
|
-
return _traceText.hasTrace;
|
|
190
|
-
}
|
|
191
|
-
});
|
|
192
|
-
Object.defineProperty(exports, "redactForWire", {
|
|
193
|
-
enumerable: true,
|
|
194
|
-
get: function () {
|
|
195
|
-
return _wire.redactForWire;
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
Object.defineProperty(exports, "traceEntries", {
|
|
199
|
-
enumerable: true,
|
|
200
|
-
get: function () {
|
|
201
|
-
return _traceText.traceEntries;
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
Object.defineProperty(exports, "traceToText", {
|
|
205
|
-
enumerable: true,
|
|
206
|
-
get: function () {
|
|
207
|
-
return _traceText.traceToText;
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
Object.defineProperty(exports, "useAskBuoy", {
|
|
211
|
-
enumerable: true,
|
|
212
|
-
get: function () {
|
|
213
|
-
return _useAskBuoy.useAskBuoy;
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
Object.defineProperty(exports, "useAskBuoySettings", {
|
|
217
|
-
enumerable: true,
|
|
218
|
-
get: function () {
|
|
219
|
-
return _useAskBuoySettings.useAskBuoySettings;
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
Object.defineProperty(exports, "useAskBuoyState", {
|
|
223
|
-
enumerable: true,
|
|
224
|
-
get: function () {
|
|
225
|
-
return _useAskBuoy.useAskBuoyState;
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
Object.defineProperty(exports, "useBlockHandlers", {
|
|
229
|
-
enumerable: true,
|
|
230
|
-
get: function () {
|
|
231
|
-
return _blocks.useBlockHandlers;
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
var _AskBuoyModal = require("./components/AskBuoyModal");
|
|
235
|
-
var _preset = require("./preset");
|
|
236
|
-
var _askBuoySyncAdapter = require("./sync/askBuoySyncAdapter");
|
|
237
|
-
var _askBuoyStore = require("./store/askBuoyStore");
|
|
238
|
-
var _useAskBuoy = require("./store/useAskBuoy");
|
|
239
|
-
var _wire = require("./sync/wire");
|
|
240
|
-
var _blocks = require("./blocks");
|
|
241
|
-
var _Markdown = require("./components/Markdown");
|
|
242
|
-
var _MessageList = require("./components/MessageList");
|
|
243
|
-
var _AskBuoyHeader = require("./components/AskBuoyHeader");
|
|
244
|
-
var _AskBuoySettings = require("./components/AskBuoySettings");
|
|
245
|
-
var _ThinkingStrip = require("./components/ThinkingStrip");
|
|
246
|
-
var _askBuoySettings = require("./store/askBuoySettings");
|
|
247
|
-
var _useAskBuoySettings = require("./store/useAskBuoySettings");
|
|
248
|
-
var _traceText = require("./store/traceText");
|
|
249
|
-
var _Composer = require("./components/Composer");
|
|
250
|
-
var _ChangesBar = require("./components/ChangesBar");
|
|
251
|
-
var _ApprovalCard = require("./components/ApprovalCard");
|
|
252
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"ASK_BUOY_ADAPTER_VERSION",{enumerable:!0,get:function(){return _askBuoySyncAdapter.ASK_BUOY_ADAPTER_VERSION}}),Object.defineProperty(exports,"ASK_BUOY_ICON_COLOR",{enumerable:!0,get:function(){return _preset.ASK_BUOY_ICON_COLOR}}),Object.defineProperty(exports,"ApprovalCard",{enumerable:!0,get:function(){return _ApprovalCard.ApprovalCard}}),Object.defineProperty(exports,"AskBuoyHeader",{enumerable:!0,get:function(){return _AskBuoyHeader.AskBuoyHeader}}),Object.defineProperty(exports,"AskBuoyIcon",{enumerable:!0,get:function(){return _preset.AskBuoyIcon}}),Object.defineProperty(exports,"AskBuoyModal",{enumerable:!0,get:function(){return _AskBuoyModal.AskBuoyModal}}),Object.defineProperty(exports,"AskBuoySettings",{enumerable:!0,get:function(){return _AskBuoySettings.AskBuoySettings}}),Object.defineProperty(exports,"BlockActionRow",{enumerable:!0,get:function(){return _blocks.ActionRow}}),Object.defineProperty(exports,"BlockCard",{enumerable:!0,get:function(){return _blocks.Card}}),Object.defineProperty(exports,"BlockHandlersProvider",{enumerable:!0,get:function(){return _blocks.BlockHandlersProvider}}),Object.defineProperty(exports,"BlockRenderer",{enumerable:!0,get:function(){return _blocks.BlockRenderer}}),Object.defineProperty(exports,"ChangesBar",{enumerable:!0,get:function(){return _ChangesBar.ChangesBar}}),Object.defineProperty(exports,"Composer",{enumerable:!0,get:function(){return _Composer.Composer}}),Object.defineProperty(exports,"EditableUserBubble",{enumerable:!0,get:function(){return _blocks.EditableUserBubble}}),Object.defineProperty(exports,"ElapsedRow",{enumerable:!0,get:function(){return _blocks.ElapsedRow}}),Object.defineProperty(exports,"LivePill",{enumerable:!0,get:function(){return _blocks.LivePill}}),Object.defineProperty(exports,"Markdown",{enumerable:!0,get:function(){return _Markdown.Markdown}}),Object.defineProperty(exports,"MessageActions",{enumerable:!0,get:function(){return _blocks.MessageActions}}),Object.defineProperty(exports,"MessageList",{enumerable:!0,get:function(){return _MessageList.MessageList}}),Object.defineProperty(exports,"ProvenanceBadge",{enumerable:!0,get:function(){return _blocks.ProvenanceBadge}}),Object.defineProperty(exports,"QueuedComposer",{enumerable:!0,get:function(){return _blocks.QueuedComposer}}),Object.defineProperty(exports,"ReasoningStrip",{enumerable:!0,get:function(){return _blocks.ReasoningStrip}}),Object.defineProperty(exports,"ReloadDivider",{enumerable:!0,get:function(){return _blocks.ReloadDivider}}),Object.defineProperty(exports,"ThinkingStrip",{enumerable:!0,get:function(){return _ThinkingStrip.ThinkingStrip}}),Object.defineProperty(exports,"Timestamp",{enumerable:!0,get:function(){return _blocks.Timestamp}}),Object.defineProperty(exports,"askBuoySettings",{enumerable:!0,get:function(){return _askBuoySettings.askBuoySettings}}),Object.defineProperty(exports,"askBuoyStore",{enumerable:!0,get:function(){return _askBuoyStore.askBuoyStore}}),Object.defineProperty(exports,"askBuoySyncAdapter",{enumerable:!0,get:function(){return _askBuoySyncAdapter.askBuoySyncAdapter}}),Object.defineProperty(exports,"askBuoyToolPreset",{enumerable:!0,get:function(){return _preset.askBuoyToolPreset}}),Object.defineProperty(exports,"createAskBuoyTool",{enumerable:!0,get:function(){return _preset.createAskBuoyTool}}),Object.defineProperty(exports,"hasTrace",{enumerable:!0,get:function(){return _traceText.hasTrace}}),Object.defineProperty(exports,"redactForWire",{enumerable:!0,get:function(){return _wire.redactForWire}}),Object.defineProperty(exports,"traceEntries",{enumerable:!0,get:function(){return _traceText.traceEntries}}),Object.defineProperty(exports,"traceToText",{enumerable:!0,get:function(){return _traceText.traceToText}}),Object.defineProperty(exports,"useAskBuoy",{enumerable:!0,get:function(){return _useAskBuoy.useAskBuoy}}),Object.defineProperty(exports,"useAskBuoySettings",{enumerable:!0,get:function(){return _useAskBuoySettings.useAskBuoySettings}}),Object.defineProperty(exports,"useAskBuoyState",{enumerable:!0,get:function(){return _useAskBuoy.useAskBuoyState}}),Object.defineProperty(exports,"useBlockHandlers",{enumerable:!0,get:function(){return _blocks.useBlockHandlers}});var _AskBuoyModal=require("./components/AskBuoyModal"),_preset=require("./preset"),_askBuoySyncAdapter=require("./sync/askBuoySyncAdapter"),_askBuoyStore=require("./store/askBuoyStore"),_useAskBuoy=require("./store/useAskBuoy"),_wire=require("./sync/wire"),_blocks=require("./blocks"),_Markdown=require("./components/Markdown"),_MessageList=require("./components/MessageList"),_AskBuoyHeader=require("./components/AskBuoyHeader"),_AskBuoySettings=require("./components/AskBuoySettings"),_ThinkingStrip=require("./components/ThinkingStrip"),_askBuoySettings=require("./store/askBuoySettings"),_useAskBuoySettings=require("./store/useAskBuoySettings"),_traceText=require("./store/traceText"),_Composer=require("./components/Composer"),_ChangesBar=require("./components/ChangesBar"),_ApprovalCard=require("./components/ApprovalCard");
|