@buoy-gg/ask-buoy 7.0.34 → 7.0.36
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 +35 -8
- package/lib/commonjs/blocks/AskBlocks.js +338 -1
- package/lib/commonjs/blocks/AskBlocks.js.map +1 -0
- package/lib/commonjs/blocks/BlockRenderer.js +262 -1
- package/lib/commonjs/blocks/BlockRenderer.js.map +1 -0
- package/lib/commonjs/blocks/ChromePrototypes.js +514 -1
- package/lib/commonjs/blocks/ChromePrototypes.js.map +1 -0
- package/lib/commonjs/blocks/DataBlocks.js +781 -1
- package/lib/commonjs/blocks/DataBlocks.js.map +1 -0
- package/lib/commonjs/blocks/ExtraBlocks.js +1860 -1
- package/lib/commonjs/blocks/ExtraBlocks.js.map +1 -0
- package/lib/commonjs/blocks/MediaBlocks.js +156 -1
- package/lib/commonjs/blocks/MediaBlocks.js.map +1 -0
- package/lib/commonjs/blocks/ReceiptBlocks.js +586 -1
- package/lib/commonjs/blocks/ReceiptBlocks.js.map +1 -0
- package/lib/commonjs/blocks/blockText.js +60 -0
- package/lib/commonjs/blocks/blockText.js.map +1 -0
- package/lib/commonjs/blocks/blockText.test.js +53 -0
- package/lib/commonjs/blocks/blockText.test.js.map +1 -0
- package/lib/commonjs/blocks/context.js +42 -1
- package/lib/commonjs/blocks/context.js.map +1 -0
- package/lib/commonjs/blocks/icons.js +96 -1
- package/lib/commonjs/blocks/icons.js.map +1 -0
- package/lib/commonjs/blocks/index.js +95 -1
- package/lib/commonjs/blocks/index.js.map +1 -0
- package/lib/commonjs/blocks/listRow.test.js +55 -0
- package/lib/commonjs/blocks/listRow.test.js.map +1 -0
- package/lib/commonjs/blocks/pageState.js +34 -0
- package/lib/commonjs/blocks/pageState.js.map +1 -0
- package/lib/commonjs/blocks/pageState.test.js +57 -0
- package/lib/commonjs/blocks/pageState.test.js.map +1 -0
- package/lib/commonjs/blocks/primitives.js +457 -1
- package/lib/commonjs/blocks/primitives.js.map +1 -0
- package/lib/commonjs/blocks/primitivesIndex.js +62 -1
- package/lib/commonjs/blocks/primitivesIndex.js.map +1 -0
- package/lib/commonjs/components/ApprovalCard.js +244 -1
- package/lib/commonjs/components/ApprovalCard.js.map +1 -0
- package/lib/commonjs/components/AskBuoyHeader.js +196 -1
- package/lib/commonjs/components/AskBuoyHeader.js.map +1 -0
- package/lib/commonjs/components/AskBuoyIcon.js +19 -1
- package/lib/commonjs/components/AskBuoyIcon.js.map +1 -0
- package/lib/commonjs/components/AskBuoyModal.js +479 -1
- package/lib/commonjs/components/AskBuoyModal.js.map +1 -0
- package/lib/commonjs/components/AskBuoySettings.js +119 -0
- package/lib/commonjs/components/AskBuoySettings.js.map +1 -0
- package/lib/commonjs/components/ChangesBar.js +211 -1
- package/lib/commonjs/components/ChangesBar.js.map +1 -0
- package/lib/commonjs/components/Composer.js +255 -1
- package/lib/commonjs/components/Composer.js.map +1 -0
- package/lib/commonjs/components/EmptyState.js +161 -1
- package/lib/commonjs/components/EmptyState.js.map +1 -0
- package/lib/commonjs/components/KeyboardPad.js +80 -0
- package/lib/commonjs/components/KeyboardPad.js.map +1 -0
- package/lib/commonjs/components/Markdown.js +310 -1
- package/lib/commonjs/components/Markdown.js.map +1 -0
- package/lib/commonjs/components/MessageList.js +930 -1
- package/lib/commonjs/components/MessageList.js.map +1 -0
- package/lib/commonjs/components/QueuedMessages.js +145 -0
- package/lib/commonjs/components/QueuedMessages.js.map +1 -0
- package/lib/commonjs/components/ThinkingStrip.js +223 -0
- package/lib/commonjs/components/ThinkingStrip.js.map +1 -0
- package/lib/commonjs/components/TypingDots.js +63 -1
- package/lib/commonjs/components/TypingDots.js.map +1 -0
- package/lib/commonjs/components/markdownParse.js +131 -0
- package/lib/commonjs/components/markdownParse.js.map +1 -0
- package/lib/commonjs/components/markdownParse.test.js +99 -0
- package/lib/commonjs/components/markdownParse.test.js.map +1 -0
- package/lib/commonjs/components/useCopyAction.js +50 -0
- package/lib/commonjs/components/useCopyAction.js.map +1 -0
- package/lib/commonjs/index.js +252 -1
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/preset.js +90 -1
- package/lib/commonjs/preset.js.map +1 -0
- package/lib/commonjs/store/activityGroups.js +110 -0
- package/lib/commonjs/store/activityGroups.js.map +1 -0
- package/lib/commonjs/store/activityGroups.test.js +78 -0
- package/lib/commonjs/store/activityGroups.test.js.map +1 -0
- package/lib/commonjs/store/askBuoySettings.js +72 -0
- package/lib/commonjs/store/askBuoySettings.js.map +1 -0
- package/lib/commonjs/store/askBuoyStore.js +547 -1
- package/lib/commonjs/store/askBuoyStore.js.map +1 -0
- package/lib/commonjs/store/blockPlacement.js +64 -0
- package/lib/commonjs/store/blockPlacement.js.map +1 -0
- package/lib/commonjs/store/blockPlacement.test.js +123 -0
- package/lib/commonjs/store/blockPlacement.test.js.map +1 -0
- package/lib/commonjs/store/queue.test.js +150 -0
- package/lib/commonjs/store/queue.test.js.map +1 -0
- package/lib/commonjs/store/resetConversation.js +77 -0
- package/lib/commonjs/store/resetConversation.js.map +1 -0
- package/lib/commonjs/store/restorePending.test.js +63 -0
- package/lib/commonjs/store/restorePending.test.js.map +1 -0
- package/lib/commonjs/store/restoredIds.test.js +47 -0
- package/lib/commonjs/store/restoredIds.test.js.map +1 -0
- package/lib/commonjs/store/suggestions.js +54 -0
- package/lib/commonjs/store/suggestions.js.map +1 -0
- package/lib/commonjs/store/suggestions.test.js +58 -0
- package/lib/commonjs/store/suggestions.test.js.map +1 -0
- package/lib/commonjs/store/systemLine.test.js +77 -0
- package/lib/commonjs/store/systemLine.test.js.map +1 -0
- package/lib/commonjs/store/ticketPrompt.js +17 -0
- package/lib/commonjs/store/ticketPrompt.js.map +1 -0
- package/lib/commonjs/store/traceText.js +81 -0
- package/lib/commonjs/store/traceText.js.map +1 -0
- package/lib/commonjs/store/traceText.test.js +112 -0
- package/lib/commonjs/store/traceText.test.js.map +1 -0
- package/lib/commonjs/store/transcriptPersistence.js +297 -0
- package/lib/commonjs/store/transcriptPersistence.js.map +1 -0
- package/lib/commonjs/store/transcriptPersistence.test.js +333 -0
- package/lib/commonjs/store/transcriptPersistence.test.js.map +1 -0
- package/lib/commonjs/store/turnRendering.test.js +151 -0
- package/lib/commonjs/store/turnRendering.test.js.map +1 -0
- package/lib/commonjs/store/useAskBuoy.js +622 -1
- package/lib/commonjs/store/useAskBuoy.js.map +1 -0
- package/lib/commonjs/store/useAskBuoySettings.js +14 -0
- package/lib/commonjs/store/useAskBuoySettings.js.map +1 -0
- package/lib/commonjs/sync/askBuoySyncAdapter.js +140 -1
- package/lib/commonjs/sync/askBuoySyncAdapter.js.map +1 -0
- package/lib/commonjs/sync/askBuoySyncAdapter.test.js +141 -1
- package/lib/commonjs/sync/askBuoySyncAdapter.test.js.map +1 -0
- package/lib/commonjs/sync/wire.js +58 -1
- package/lib/commonjs/sync/wire.js.map +1 -0
- package/lib/commonjs/types.js +6 -1
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/blocks/AskBlocks.js +331 -1
- package/lib/module/blocks/AskBlocks.js.map +1 -0
- package/lib/module/blocks/BlockRenderer.js +257 -1
- package/lib/module/blocks/BlockRenderer.js.map +1 -0
- package/lib/module/blocks/ChromePrototypes.js +503 -1
- package/lib/module/blocks/ChromePrototypes.js.map +1 -0
- package/lib/module/blocks/DataBlocks.js +767 -1
- package/lib/module/blocks/DataBlocks.js.map +1 -0
- package/lib/module/blocks/ExtraBlocks.js +1833 -1
- package/lib/module/blocks/ExtraBlocks.js.map +1 -0
- package/lib/module/blocks/MediaBlocks.js +151 -1
- package/lib/module/blocks/MediaBlocks.js.map +1 -0
- package/lib/module/blocks/ReceiptBlocks.js +574 -1
- package/lib/module/blocks/ReceiptBlocks.js.map +1 -0
- package/lib/module/blocks/blockText.js +55 -0
- package/lib/module/blocks/blockText.js.map +1 -0
- package/lib/module/blocks/blockText.test.js +53 -0
- package/lib/module/blocks/blockText.test.js.map +1 -0
- package/lib/module/blocks/context.js +35 -1
- package/lib/module/blocks/context.js.map +1 -0
- package/lib/module/blocks/icons.js +91 -1
- package/lib/module/blocks/icons.js.map +1 -0
- package/lib/module/blocks/index.js +8 -1
- package/lib/module/blocks/index.js.map +1 -0
- package/lib/module/blocks/listRow.test.js +56 -0
- package/lib/module/blocks/listRow.test.js.map +1 -0
- package/lib/module/blocks/pageState.js +30 -0
- package/lib/module/blocks/pageState.js.map +1 -0
- package/lib/module/blocks/pageState.test.js +56 -0
- package/lib/module/blocks/pageState.test.js.map +1 -0
- package/lib/module/blocks/primitives.js +445 -1
- package/lib/module/blocks/primitives.js.map +1 -0
- package/lib/module/blocks/primitivesIndex.js +5 -1
- package/lib/module/blocks/primitivesIndex.js.map +1 -0
- package/lib/module/components/ApprovalCard.js +239 -1
- package/lib/module/components/ApprovalCard.js.map +1 -0
- package/lib/module/components/AskBuoyHeader.js +193 -1
- package/lib/module/components/AskBuoyHeader.js.map +1 -0
- package/lib/module/components/AskBuoyIcon.js +8 -1
- package/lib/module/components/AskBuoyIcon.js.map +1 -0
- package/lib/module/components/AskBuoyModal.js +474 -1
- package/lib/module/components/AskBuoyModal.js.map +1 -0
- package/lib/module/components/AskBuoySettings.js +114 -0
- package/lib/module/components/AskBuoySettings.js.map +1 -0
- package/lib/module/components/ChangesBar.js +206 -1
- package/lib/module/components/ChangesBar.js.map +1 -0
- package/lib/module/components/Composer.js +250 -1
- package/lib/module/components/Composer.js.map +1 -0
- package/lib/module/components/EmptyState.js +156 -1
- package/lib/module/components/EmptyState.js.map +1 -0
- package/lib/module/components/KeyboardPad.js +75 -0
- package/lib/module/components/KeyboardPad.js.map +1 -0
- package/lib/module/components/Markdown.js +305 -1
- package/lib/module/components/Markdown.js.map +1 -0
- package/lib/module/components/MessageList.js +924 -1
- package/lib/module/components/MessageList.js.map +1 -0
- package/lib/module/components/QueuedMessages.js +140 -0
- package/lib/module/components/QueuedMessages.js.map +1 -0
- package/lib/module/components/ThinkingStrip.js +218 -0
- package/lib/module/components/ThinkingStrip.js.map +1 -0
- package/lib/module/components/TypingDots.js +58 -1
- package/lib/module/components/TypingDots.js.map +1 -0
- package/lib/module/components/markdownParse.js +125 -0
- package/lib/module/components/markdownParse.js.map +1 -0
- package/lib/module/components/markdownParse.test.js +98 -0
- package/lib/module/components/markdownParse.test.js.map +1 -0
- package/lib/module/components/useCopyAction.js +46 -0
- package/lib/module/components/useCopyAction.js.map +1 -0
- package/lib/module/index.js +34 -1
- package/lib/module/index.js.map +1 -0
- package/lib/module/preset.js +73 -1
- package/lib/module/preset.js.map +1 -0
- package/lib/module/store/activityGroups.js +103 -0
- package/lib/module/store/activityGroups.js.map +1 -0
- package/lib/module/store/activityGroups.test.js +77 -0
- package/lib/module/store/activityGroups.test.js.map +1 -0
- package/lib/module/store/askBuoySettings.js +67 -0
- package/lib/module/store/askBuoySettings.js.map +1 -0
- package/lib/module/store/askBuoyStore.js +541 -1
- package/lib/module/store/askBuoyStore.js.map +1 -0
- package/lib/module/store/blockPlacement.js +59 -0
- package/lib/module/store/blockPlacement.js.map +1 -0
- package/lib/module/store/blockPlacement.test.js +122 -0
- package/lib/module/store/blockPlacement.test.js.map +1 -0
- package/lib/module/store/queue.test.js +149 -0
- package/lib/module/store/queue.test.js.map +1 -0
- package/lib/module/store/resetConversation.js +72 -0
- package/lib/module/store/resetConversation.js.map +1 -0
- package/lib/module/store/restorePending.test.js +62 -0
- package/lib/module/store/restorePending.test.js.map +1 -0
- package/lib/module/store/restoredIds.test.js +46 -0
- package/lib/module/store/restoredIds.test.js.map +1 -0
- package/lib/module/store/suggestions.js +49 -0
- package/lib/module/store/suggestions.js.map +1 -0
- package/lib/module/store/suggestions.test.js +57 -0
- package/lib/module/store/suggestions.test.js.map +1 -0
- package/lib/module/store/systemLine.test.js +76 -0
- package/lib/module/store/systemLine.test.js.map +1 -0
- package/lib/module/store/ticketPrompt.js +13 -0
- package/lib/module/store/ticketPrompt.js.map +1 -0
- package/lib/module/store/traceText.js +75 -0
- package/lib/module/store/traceText.js.map +1 -0
- package/lib/module/store/traceText.test.js +111 -0
- package/lib/module/store/traceText.test.js.map +1 -0
- package/lib/module/store/transcriptPersistence.js +287 -0
- package/lib/module/store/transcriptPersistence.js.map +1 -0
- package/lib/module/store/transcriptPersistence.test.js +332 -0
- package/lib/module/store/transcriptPersistence.test.js.map +1 -0
- package/lib/module/store/turnRendering.test.js +150 -0
- package/lib/module/store/turnRendering.test.js.map +1 -0
- package/lib/module/store/useAskBuoy.js +616 -1
- package/lib/module/store/useAskBuoy.js.map +1 -0
- package/lib/module/store/useAskBuoySettings.js +9 -0
- package/lib/module/store/useAskBuoySettings.js.map +1 -0
- package/lib/module/sync/askBuoySyncAdapter.js +135 -1
- package/lib/module/sync/askBuoySyncAdapter.js.map +1 -0
- package/lib/module/sync/askBuoySyncAdapter.test.js +140 -1
- package/lib/module/sync/askBuoySyncAdapter.test.js.map +1 -0
- package/lib/module/sync/wire.js +47 -1
- package/lib/module/sync/wire.js.map +1 -0
- package/lib/module/types.js +4 -1
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/blocks/AskBlocks.d.ts.map +1 -0
- package/lib/typescript/blocks/BlockRenderer.d.ts.map +1 -0
- package/lib/typescript/blocks/ChromePrototypes.d.ts.map +1 -0
- package/lib/typescript/blocks/DataBlocks.d.ts +42 -0
- package/lib/typescript/blocks/DataBlocks.d.ts.map +1 -0
- package/lib/typescript/blocks/ExtraBlocks.d.ts +29 -2
- package/lib/typescript/blocks/ExtraBlocks.d.ts.map +1 -0
- package/lib/typescript/blocks/MediaBlocks.d.ts.map +1 -0
- package/lib/typescript/blocks/ReceiptBlocks.d.ts.map +1 -0
- package/lib/typescript/blocks/blockText.d.ts +14 -0
- package/lib/typescript/blocks/blockText.d.ts.map +1 -0
- package/lib/typescript/blocks/blockText.test.d.ts +2 -0
- package/lib/typescript/blocks/blockText.test.d.ts.map +1 -0
- package/lib/typescript/blocks/context.d.ts.map +1 -0
- package/lib/typescript/blocks/icons.d.ts.map +1 -0
- package/lib/typescript/blocks/index.d.ts.map +1 -0
- package/lib/typescript/blocks/listRow.test.d.ts +2 -0
- package/lib/typescript/blocks/listRow.test.d.ts.map +1 -0
- package/lib/typescript/blocks/pageState.d.ts +23 -0
- package/lib/typescript/blocks/pageState.d.ts.map +1 -0
- package/lib/typescript/blocks/pageState.test.d.ts +2 -0
- package/lib/typescript/blocks/pageState.test.d.ts.map +1 -0
- package/lib/typescript/blocks/primitives.d.ts +55 -10
- package/lib/typescript/blocks/primitives.d.ts.map +1 -0
- package/lib/typescript/blocks/primitivesIndex.d.ts +2 -1
- package/lib/typescript/blocks/primitivesIndex.d.ts.map +1 -0
- package/lib/typescript/components/ApprovalCard.d.ts.map +1 -0
- package/lib/typescript/components/AskBuoyHeader.d.ts +41 -1
- package/lib/typescript/components/AskBuoyHeader.d.ts.map +1 -0
- package/lib/typescript/components/AskBuoyIcon.d.ts.map +1 -0
- package/lib/typescript/components/AskBuoyModal.d.ts.map +1 -0
- package/lib/typescript/components/AskBuoySettings.d.ts +2 -0
- package/lib/typescript/components/AskBuoySettings.d.ts.map +1 -0
- package/lib/typescript/components/ChangesBar.d.ts.map +1 -0
- package/lib/typescript/components/Composer.d.ts +16 -1
- package/lib/typescript/components/Composer.d.ts.map +1 -0
- package/lib/typescript/components/EmptyState.d.ts +5 -1
- package/lib/typescript/components/EmptyState.d.ts.map +1 -0
- package/lib/typescript/components/KeyboardPad.d.ts +33 -0
- package/lib/typescript/components/KeyboardPad.d.ts.map +1 -0
- package/lib/typescript/components/Markdown.d.ts +0 -10
- package/lib/typescript/components/Markdown.d.ts.map +1 -0
- package/lib/typescript/components/MessageList.d.ts +19 -7
- package/lib/typescript/components/MessageList.d.ts.map +1 -0
- package/lib/typescript/components/QueuedMessages.d.ts +10 -0
- package/lib/typescript/components/QueuedMessages.d.ts.map +1 -0
- package/lib/typescript/components/ThinkingStrip.d.ts +5 -0
- package/lib/typescript/components/ThinkingStrip.d.ts.map +1 -0
- package/lib/typescript/components/TypingDots.d.ts.map +1 -0
- package/lib/typescript/components/markdownParse.d.ts +49 -0
- package/lib/typescript/components/markdownParse.d.ts.map +1 -0
- package/lib/typescript/components/markdownParse.test.d.ts +2 -0
- package/lib/typescript/components/markdownParse.test.d.ts.map +1 -0
- package/lib/typescript/components/useCopyAction.d.ts +5 -0
- package/lib/typescript/components/useCopyAction.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/preset.d.ts.map +1 -0
- package/lib/typescript/store/activityGroups.d.ts +29 -0
- package/lib/typescript/store/activityGroups.d.ts.map +1 -0
- package/lib/typescript/store/activityGroups.test.d.ts +2 -0
- package/lib/typescript/store/activityGroups.test.d.ts.map +1 -0
- package/lib/typescript/store/askBuoySettings.d.ts +44 -0
- package/lib/typescript/store/askBuoySettings.d.ts.map +1 -0
- package/lib/typescript/store/askBuoyStore.d.ts +216 -18
- package/lib/typescript/store/askBuoyStore.d.ts.map +1 -0
- package/lib/typescript/store/blockPlacement.d.ts +30 -0
- package/lib/typescript/store/blockPlacement.d.ts.map +1 -0
- package/lib/typescript/store/blockPlacement.test.d.ts +2 -0
- package/lib/typescript/store/blockPlacement.test.d.ts.map +1 -0
- package/lib/typescript/store/queue.test.d.ts +2 -0
- package/lib/typescript/store/queue.test.d.ts.map +1 -0
- package/lib/typescript/store/resetConversation.d.ts +38 -0
- package/lib/typescript/store/resetConversation.d.ts.map +1 -0
- package/lib/typescript/store/restorePending.test.d.ts +2 -0
- package/lib/typescript/store/restorePending.test.d.ts.map +1 -0
- package/lib/typescript/store/restoredIds.test.d.ts +2 -0
- package/lib/typescript/store/restoredIds.test.d.ts.map +1 -0
- package/lib/typescript/store/suggestions.d.ts +32 -0
- package/lib/typescript/store/suggestions.d.ts.map +1 -0
- package/lib/typescript/store/suggestions.test.d.ts +2 -0
- package/lib/typescript/store/suggestions.test.d.ts.map +1 -0
- package/lib/typescript/store/systemLine.test.d.ts +2 -0
- package/lib/typescript/store/systemLine.test.d.ts.map +1 -0
- package/lib/typescript/store/ticketPrompt.d.ts +11 -0
- package/lib/typescript/store/ticketPrompt.d.ts.map +1 -0
- package/lib/typescript/store/traceText.d.ts +33 -0
- package/lib/typescript/store/traceText.d.ts.map +1 -0
- package/lib/typescript/store/traceText.test.d.ts +2 -0
- package/lib/typescript/store/traceText.test.d.ts.map +1 -0
- package/lib/typescript/store/transcriptPersistence.d.ts +79 -0
- package/lib/typescript/store/transcriptPersistence.d.ts.map +1 -0
- package/lib/typescript/store/transcriptPersistence.test.d.ts +2 -0
- package/lib/typescript/store/transcriptPersistence.test.d.ts.map +1 -0
- package/lib/typescript/store/turnRendering.test.d.ts +2 -0
- package/lib/typescript/store/turnRendering.test.d.ts.map +1 -0
- package/lib/typescript/store/useAskBuoy.d.ts +23 -1
- package/lib/typescript/store/useAskBuoy.d.ts.map +1 -0
- package/lib/typescript/store/useAskBuoySettings.d.ts +3 -0
- package/lib/typescript/store/useAskBuoySettings.d.ts.map +1 -0
- package/lib/typescript/sync/askBuoySyncAdapter.d.ts +26 -6
- package/lib/typescript/sync/askBuoySyncAdapter.d.ts.map +1 -0
- package/lib/typescript/sync/askBuoySyncAdapter.test.d.ts.map +1 -0
- package/lib/typescript/sync/wire.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +24 -1
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +9 -9
|
@@ -10,25 +10,70 @@ export declare function toneColor(tone?: Tone): string;
|
|
|
10
10
|
export declare function ProvenanceBadge({ source }: {
|
|
11
11
|
source?: Provenance;
|
|
12
12
|
}): import("react").JSX.Element | null;
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* The block card. Optionally folds its body away behind a one-line summary.
|
|
15
|
+
*
|
|
16
|
+
* A card is `collapsible` when its body is reference material rather than the
|
|
17
|
+
* answer — raw JSON, a field-by-field diff, anything a person reads only when
|
|
18
|
+
* they have a reason to. It stays folded until asked, because the chat is what
|
|
19
|
+
* the reader came for and a screen of `promoCode: null` buries it. What must
|
|
20
|
+
* NEVER fold is the part that carries meaning without being read: the title
|
|
21
|
+
* and the provenance badge stay on the face of the card in both states, so
|
|
22
|
+
* "CHANGED BY ASK BUOY" can't be hidden by the same tap that hides the detail.
|
|
23
|
+
*/
|
|
24
|
+
export declare function Card({ title, source, children, testID, tone, collapsible, summary, }: {
|
|
14
25
|
title?: string;
|
|
15
26
|
source?: Provenance;
|
|
16
27
|
children: ReactNode;
|
|
17
28
|
testID?: string;
|
|
18
29
|
tone?: "warning" | "danger" | "info";
|
|
30
|
+
/** Fold `children` away behind `summary`, closed until tapped. */
|
|
31
|
+
collapsible?: boolean;
|
|
32
|
+
/** The one line that stands in for the folded body. Says what is inside it. */
|
|
33
|
+
summary?: string;
|
|
19
34
|
}): import("react").JSX.Element;
|
|
20
|
-
|
|
21
|
-
|
|
35
|
+
export interface Paged<T> {
|
|
36
|
+
visible: T[];
|
|
37
|
+
/** Held by the block but not rendered yet. */
|
|
38
|
+
hidden: number;
|
|
39
|
+
/** What the next tap reveals — `hidden`, capped to one page. */
|
|
40
|
+
next: number;
|
|
41
|
+
expanded: boolean;
|
|
42
|
+
/** Present ONLY when there is something to reveal. */
|
|
43
|
+
showMore?: () => void;
|
|
44
|
+
/** Present ONLY when something has been revealed. */
|
|
45
|
+
showLess?: () => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A capped list that grows a page at a time.
|
|
49
|
+
*
|
|
50
|
+
* The callers used to spell the expander's enabled-ness out themselves
|
|
51
|
+
* (`items.length > visible.length || expanded ? toggle : undefined`) at seven
|
|
52
|
+
* call sites, and getting it wrong rendered a "+N more" that did nothing when
|
|
53
|
+
* tapped. Both halves live here now so a call site cannot express that state.
|
|
54
|
+
*/
|
|
55
|
+
export declare function usePaged<T>(items: T[], cap: number, step?: number): Paged<T>;
|
|
56
|
+
/**
|
|
57
|
+
* The footer of a paged list: reveal one more page, or fold back to the cap.
|
|
58
|
+
*
|
|
59
|
+
* It knows nothing about any `total` the source reported, and that is the
|
|
60
|
+
* point. The old version drew its count from that number while drawing its tap
|
|
61
|
+
* target from the array actually in hand — so a block holding five items and
|
|
62
|
+
* claiming six rendered "+1 more" with nothing behind it. The engine hands the
|
|
63
|
+
* whole list over now (see agent-core's receipts), so what this can show and
|
|
64
|
+
* what it can reveal are the same thing by construction.
|
|
65
|
+
*/
|
|
66
|
+
export declare function More<T>({ paged }: {
|
|
67
|
+
paged: Paged<T>;
|
|
68
|
+
}): import("react").JSX.Element | null;
|
|
69
|
+
/**
|
|
70
|
+
* A list that CANNOT grow: the cap was applied where the block was built, so
|
|
71
|
+
* the rest was never sent. Stated, never offered as a tap.
|
|
72
|
+
*/
|
|
73
|
+
export declare function MoreNote({ shown, total }: {
|
|
22
74
|
shown: number;
|
|
23
75
|
total?: number;
|
|
24
|
-
onExpand?: () => void;
|
|
25
|
-
expanded?: boolean;
|
|
26
76
|
}): import("react").JSX.Element | null;
|
|
27
|
-
export declare function useExpand<T>(items: T[], cap: number): {
|
|
28
|
-
visible: T[];
|
|
29
|
-
expanded: boolean;
|
|
30
|
-
toggle: () => void;
|
|
31
|
-
};
|
|
32
77
|
/** Up to two buttons. One primary (accent, dark ink), one plate. */
|
|
33
78
|
export declare function ActionRow({ actions, blockId, align }: {
|
|
34
79
|
actions?: BlockAction[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/blocks/primitives.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAKzE,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAe7C;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,sCASlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,WAAW,EACX,OAAO,GACR,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,+BAuCA;AAYD,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAgBvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,sCA6BrD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,sCAS3E;AAED,oEAAoE;AACpE,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,sCA6CrI;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { ActionRow, blockStyles, Card, More, ProvenanceBadge, toneColor,
|
|
1
|
+
export { ActionRow, blockStyles, Card, More, MoreNote, ProvenanceBadge, toneColor, usePaged } from "./primitives";
|
|
2
|
+
export type { Paged } from "./primitives";
|
|
2
3
|
export { useBlockHandlers } from "./context";
|
|
3
4
|
//# sourceMappingURL=primitivesIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitivesIndex.d.ts","sourceRoot":"","sources":["../../../src/blocks/primitivesIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClH,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalCard.d.ts","sourceRoot":"","sources":["../../../src/components/ApprovalCard.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BA0CpE"}
|
|
@@ -5,10 +5,50 @@ export interface AskBuoyHeaderProps {
|
|
|
5
5
|
failed?: boolean;
|
|
6
6
|
/** Title of the tool call in flight, if any. */
|
|
7
7
|
activeLabel: string | null;
|
|
8
|
+
/**
|
|
9
|
+
* When the running turn began (the streaming message's `startedAt`), so the
|
|
10
|
+
* subtitle can carry an elapsed clock — "Reading storage · 1m 04s".
|
|
11
|
+
*
|
|
12
|
+
* A turn can run three minutes, and "Thinking…" at four seconds looked
|
|
13
|
+
* identical to "Thinking…" at two minutes forty; then "This is taking too
|
|
14
|
+
* long" arrived from nowhere. The clock is computed from the timestamp on
|
|
15
|
+
* every tick rather than counted, so minimise/resume shows the true number,
|
|
16
|
+
* and it lives in the HEADER only — the transcript does not re-render once
|
|
17
|
+
* a second for it.
|
|
18
|
+
*/
|
|
19
|
+
startedAt?: number | null;
|
|
20
|
+
/** Stop was pressed and the engine is winding down between calls. */
|
|
21
|
+
stopping?: boolean;
|
|
22
|
+
/** The device's Read only toggle is on — said in the subtitle so a shared phone can't hide it. */
|
|
23
|
+
readOnly?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* An approval card is on screen.
|
|
26
|
+
*
|
|
27
|
+
* The turn is technically still open, so `busy` is true and the subtitle
|
|
28
|
+
* read "Thinking…" — while nothing was thinking and the sheet was in fact
|
|
29
|
+
* waiting on the person looking at it.
|
|
30
|
+
*/
|
|
31
|
+
awaitingApproval?: boolean;
|
|
8
32
|
toolCount: number;
|
|
9
33
|
hasMessages: boolean;
|
|
10
34
|
onBack?: () => void;
|
|
11
35
|
onReset: () => void;
|
|
36
|
+
/**
|
|
37
|
+
* The whole conversation as text, built on press. The header is the one
|
|
38
|
+
* place you can reach it without first scrolling back to the newest answer —
|
|
39
|
+
* which is exactly where you are NOT when a long session is the thing you
|
|
40
|
+
* want to paste into a ticket. Omitted (scripted demos, prototype scenes)
|
|
41
|
+
* the copy button is not rendered at all.
|
|
42
|
+
*/
|
|
43
|
+
getTranscript?: () => string;
|
|
44
|
+
/** Open the settings view. Omitted where there is nowhere to go (demos). */
|
|
45
|
+
onOpenSettings?: () => void;
|
|
46
|
+
/**
|
|
47
|
+
* Ask the agent for a ticket draft — a `finding` card summarising the
|
|
48
|
+
* session. Lives in the header because the moment you want it is after the
|
|
49
|
+
* conversation, not mid-answer; disabled while a turn runs.
|
|
50
|
+
*/
|
|
51
|
+
onTicket?: () => void;
|
|
12
52
|
}
|
|
13
|
-
export declare function AskBuoyHeader({ configured, busy, failed, activeLabel, toolCount, hasMessages, onBack, onReset, }: AskBuoyHeaderProps): import("react").JSX.Element;
|
|
53
|
+
export declare function AskBuoyHeader({ configured, busy, failed, activeLabel, awaitingApproval, startedAt, stopping, readOnly, toolCount, hasMessages, onBack, onReset, getTranscript, onOpenSettings, onTicket, }: AskBuoyHeaderProps): import("react").JSX.Element;
|
|
14
54
|
//# sourceMappingURL=AskBuoyHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskBuoyHeader.d.ts","sourceRoot":"","sources":["../../../src/components/AskBuoyHeader.tsx"],"names":[],"mappings":"AAiDA,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,IAAI,EACJ,MAAc,EACd,WAAW,EACX,gBAAwB,EACxB,SAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,WAAW,EACX,MAAM,EACN,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,GACT,EAAE,kBAAkB,+BAyIpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskBuoyIcon.d.ts","sourceRoot":"","sources":["../../../src/components/AskBuoyIcon.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskBuoyModal.d.ts","sourceRoot":"","sources":["../../../src/components/AskBuoyModal.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgBhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,iBAAiB,+BA4anB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskBuoySettings.d.ts","sourceRoot":"","sources":["../../../src/components/AskBuoySettings.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,eAAe,gCAsE9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangesBar.d.ts","sourceRoot":"","sources":["../../../src/components/ChangesBar.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAgB,KAAK,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAExF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAYD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,sCA4FpF"}
|
|
@@ -2,8 +2,23 @@ export interface ComposerProps {
|
|
|
2
2
|
onSend: (text: string) => void;
|
|
3
3
|
onStop: () => void;
|
|
4
4
|
busy: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Text handed back from a stopped turn's queue — see `AskBuoyState.draft`.
|
|
7
|
+
* Restored into the input instead of being sent, so Stop can cancel
|
|
8
|
+
* everything without losing the words the user had already typed.
|
|
9
|
+
*/
|
|
10
|
+
draft?: string | null;
|
|
11
|
+
onDraftTaken?: () => void;
|
|
5
12
|
disabled?: boolean;
|
|
6
13
|
placeholder?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Ask for focus. Each new non-null value focuses the input once — the
|
|
16
|
+
* redirect after Stop ("tell it what to do differently") is only an
|
|
17
|
+
* invitation if the keyboard is up. Ignored while `canFocus` is false: a
|
|
18
|
+
* hidden sheet must never summon the keyboard over the app.
|
|
19
|
+
*/
|
|
20
|
+
focusKey?: string | null;
|
|
21
|
+
canFocus?: boolean;
|
|
7
22
|
}
|
|
8
|
-
export declare function Composer({ onSend, onStop, busy, disabled, placeholder, }: ComposerProps): import("react").JSX.Element;
|
|
23
|
+
export declare function Composer({ onSend, onStop, busy, draft, onDraftTaken, disabled, placeholder, focusKey, canFocus, }: ComposerProps): import("react").JSX.Element;
|
|
9
24
|
//# sourceMappingURL=Composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../../../src/components/Composer.tsx"],"names":[],"mappings":"AAyCA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAe,GAChB,EAAE,aAAa,+BA+Hf"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export interface EmptyStateProps {
|
|
2
2
|
configured: boolean;
|
|
3
3
|
onPick: (text: string) => void;
|
|
4
|
+
/** Tools registered on this device right now — chips needing others are left out. */
|
|
5
|
+
availableToolIds?: string[];
|
|
6
|
+
/** Effective read-only (app or device) — chips that ask for a change are left out. */
|
|
7
|
+
readOnly?: boolean;
|
|
4
8
|
}
|
|
5
|
-
export declare function EmptyState({ configured, onPick }: EmptyStateProps): import("react").JSX.Element;
|
|
9
|
+
export declare function EmptyState({ configured, onPick, availableToolIds, readOnly }: EmptyStateProps): import("react").JSX.Element;
|
|
6
10
|
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAqB,EAAE,QAAgB,EAAE,EAAE,eAAe,+BAyC1G"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keeps the composer above the iOS keyboard.
|
|
3
|
+
*
|
|
4
|
+
* Why not `KeyboardAvoidingView`: it takes its frame from `onLayout`, which
|
|
5
|
+
* is RELATIVE TO ITS PARENT, and compares that to the keyboard's SCREEN
|
|
6
|
+
* position. That only agrees when the view starts at the window's origin.
|
|
7
|
+
* Ask Buoy is a JsModal — an absolutely positioned sheet anchored to the
|
|
8
|
+
* bottom of the app tree — so the view's local bottom (a few hundred points
|
|
9
|
+
* into the sheet) sits well above the keyboard's screen Y, the overlap comes
|
|
10
|
+
* out as zero, and nothing moves. The keyboard drew over the composer with
|
|
11
|
+
* a "working" `KeyboardAvoidingView` around it.
|
|
12
|
+
*
|
|
13
|
+
* This measures the SAME thing in the SAME coordinate space: the wrapper's
|
|
14
|
+
* bottom edge in window coordinates via `measureInWindow`, against the
|
|
15
|
+
* keyboard's `endCoordinates.screenY`. The difference is the overlap, and it
|
|
16
|
+
* becomes bottom padding animated over the keyboard's own duration so the
|
|
17
|
+
* composer rides the keyboard instead of jumping after it.
|
|
18
|
+
*
|
|
19
|
+
* The wrapper is `flex: 1` inside a fixed-height sheet body, so its OUTER
|
|
20
|
+
* bounds never change when its padding does — re-measuring on a later
|
|
21
|
+
* frame-change event (a predictive-text bar appearing, an emoji keyboard)
|
|
22
|
+
* gives the same bottom edge.
|
|
23
|
+
*
|
|
24
|
+
* iOS only. Android's window resizes under the keyboard
|
|
25
|
+
* (`softwareKeyboardLayoutMode: "resize"`, both the Expo and the RN CLI
|
|
26
|
+
* template default) and a bottom-anchored sheet rides up for free; padding
|
|
27
|
+
* there would lift it twice. Web has no keyboard events and no keyboard.
|
|
28
|
+
*/
|
|
29
|
+
import { type ReactNode } from "react";
|
|
30
|
+
export declare function KeyboardPad({ children }: {
|
|
31
|
+
children: ReactNode;
|
|
32
|
+
}): import("react").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=KeyboardPad.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyboardPad.d.ts","sourceRoot":"","sources":["../../../src/components/KeyboardPad.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG1D,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAuChE"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Just enough Markdown for a chat answer.
|
|
3
|
-
*
|
|
4
|
-
* Models write `**bold**`, bullet lists and `code` whether or not the prompt
|
|
5
|
-
* asks for prose, and the asterisks rendered raw made every answer look like
|
|
6
|
-
* a broken template. This handles the subset a chat actually receives —
|
|
7
|
-
* paragraphs, `-`/`*`/`1.` lists, `#` headings (rendered bold, not huge),
|
|
8
|
-
* bold, italics and inline code — with no dependency and no HTML. Anything it
|
|
9
|
-
* does not understand falls through as plain text, never as a blank.
|
|
10
|
-
*/
|
|
11
1
|
import { type TextStyle } from "react-native";
|
|
12
2
|
/**
|
|
13
3
|
* `**bold**`, `*italic*` / `_italic_`, `` `code` `` → styled spans. Links and
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAiD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAU7F;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAiC/E;AAiFD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,+BAmC3E"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ChatMessage } from "../store/askBuoyStore";
|
|
2
2
|
/**
|
|
3
|
-
* The
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* The whole conversation as plain text — the only thing Copy ever produces,
|
|
4
|
+
* and the only way a session leaves the DEVICE (what it saves to disk for a
|
|
5
|
+
* reload goes nowhere — see `transcriptPersistence`).
|
|
6
|
+
*
|
|
7
|
+
* Plain text on purpose. This lands in a Slack message, a ticket comment or a
|
|
8
|
+
* notes file, all of which are read by a person; a JSON document is a worse
|
|
9
|
+
* version of that everywhere except a parser, and nothing here parses it.
|
|
10
|
+
*
|
|
11
|
+
* With `Show agent thinking` on it carries the working too — the reasoning and
|
|
12
|
+
* each step with its parameters — because reading the run somewhere that is
|
|
13
|
+
* not a phone is the entire point of that setting.
|
|
7
14
|
*/
|
|
8
|
-
export declare function transcriptToText(messages: ChatMessage[]): string;
|
|
15
|
+
export declare function transcriptToText(messages: ChatMessage[], withTrace?: boolean): string;
|
|
9
16
|
export interface MessageListProps {
|
|
10
17
|
messages: ChatMessage[];
|
|
11
18
|
ListHeaderComponent?: React.ReactElement | null;
|
|
@@ -13,6 +20,11 @@ export interface MessageListProps {
|
|
|
13
20
|
ListFooterComponent?: React.ReactElement | null;
|
|
14
21
|
/** Re-run the last user message. Offered only on the newest failed turn. */
|
|
15
22
|
onRetry?: () => void;
|
|
23
|
+
/**
|
|
24
|
+
* The turn is parked on the user — a pending approval or an unanswered Ask
|
|
25
|
+
* block. Stops the streaming message claiming to be working on it.
|
|
26
|
+
*/
|
|
27
|
+
waitingOnUser?: boolean;
|
|
16
28
|
}
|
|
17
|
-
export declare function MessageList({ messages, ListHeaderComponent, ListEmptyComponent, ListFooterComponent, onRetry, }: MessageListProps): import("react").JSX.Element;
|
|
29
|
+
export declare function MessageList({ messages, ListHeaderComponent, ListEmptyComponent, ListFooterComponent, onRetry, waitingOnUser, }: MessageListProps): import("react").JSX.Element;
|
|
18
30
|
//# sourceMappingURL=MessageList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/components/MessageList.tsx"],"names":[],"mappings":"AAkEA,OAAO,EAAgB,KAAK,WAAW,EAAuC,MAAM,uBAAuB,CAAC;AAiX5G;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,UAAQ,GAAG,MAAM,CA2BnF;AAqFD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAChD,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,OAAO,EACP,aAAa,GACd,EAAE,gBAAgB,+BAkFlB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { QueuedMessage } from "../store/askBuoyStore";
|
|
2
|
+
export interface QueuedMessagesProps {
|
|
3
|
+
items: QueuedMessage[];
|
|
4
|
+
/** Why nothing is being sent — or null while the queue will deliver. */
|
|
5
|
+
paused: string | null;
|
|
6
|
+
onEdit: (id: string) => void;
|
|
7
|
+
onRemove: (id: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function QueuedMessages({ items, paused, onEdit, onRemove }: QueuedMessagesProps): import("react").JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=QueuedMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueuedMessages.d.ts","sourceRoot":"","sources":["../../../src/components/QueuedMessages.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,wEAAwE;IACxE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAKD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,mBAAmB,sCAqCtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThinkingStrip.d.ts","sourceRoot":"","sources":["../../../src/components/ThinkingStrip.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,uBAAuB,CAAC;AA+CvE,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAA;CAAE,sCA6DlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypingDots.d.ts","sourceRoot":"","sources":["../../../src/components/TypingDots.tsx"],"names":[],"mappings":"AAYA,wBAAgB,UAAU,gCAmCzB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Markdown parser, kept apart from the renderer so it can be unit-tested
|
|
3
|
+
* without React Native.
|
|
4
|
+
*
|
|
5
|
+
* Just enough for a chat answer: paragraphs, `-`/`*`/`1.` lists, `#` headings,
|
|
6
|
+
* pipe tables, and fenced code. Anything it does not understand falls through
|
|
7
|
+
* as plain text, never as a blank.
|
|
8
|
+
*/
|
|
9
|
+
export type MdBlock = {
|
|
10
|
+
kind: "p";
|
|
11
|
+
text: string;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "h";
|
|
14
|
+
text: string;
|
|
15
|
+
} | {
|
|
16
|
+
kind: "li";
|
|
17
|
+
text: string;
|
|
18
|
+
marker: string;
|
|
19
|
+
depth: number;
|
|
20
|
+
} | {
|
|
21
|
+
kind: "table";
|
|
22
|
+
header: string[];
|
|
23
|
+
rows: string[][];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A fenced block. `closed` is false while the stream is still inside it;
|
|
27
|
+
* it renders as code either way — a half-arrived JSON blob shown as code is
|
|
28
|
+
* readable, the same blob shown as a run-on paragraph with its fence
|
|
29
|
+
* markers is not.
|
|
30
|
+
*/
|
|
31
|
+
| {
|
|
32
|
+
kind: "code";
|
|
33
|
+
lang: string;
|
|
34
|
+
text: string;
|
|
35
|
+
closed: boolean;
|
|
36
|
+
};
|
|
37
|
+
export declare function parseBlocks(source: string): MdBlock[];
|
|
38
|
+
/** The preview a table is cut to. Past this it says so and offers the rest. */
|
|
39
|
+
export declare const TABLE_PREVIEW_ROWS = 12;
|
|
40
|
+
export declare const TABLE_PREVIEW_COLS = 4;
|
|
41
|
+
/**
|
|
42
|
+
* What a table preview leaves out, in the user's words — or null when nothing.
|
|
43
|
+
*
|
|
44
|
+
* The renderer used to slice to 4 columns and 12 rows and say nothing, so a
|
|
45
|
+
* 30-line bag read as a 12-line bag and the bug report that followed was
|
|
46
|
+
* "the bag only has 12 items". Evidence that is cut must say it is cut.
|
|
47
|
+
*/
|
|
48
|
+
export declare function tableTruncation(header: string[], rows: string[][]): string | null;
|
|
49
|
+
//# sourceMappingURL=markdownParse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdownParse.d.ts","sourceRoot":"","sources":["../../../src/components/markdownParse.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE;AACvD;;;;;GAKG;GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAQlE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,CAuErD;AAED,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,IAAI,CAKjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdownParse.test.d.ts","sourceRoot":"","sources":["../../../src/components/markdownParse.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCopyAction.d.ts","sourceRoot":"","sources":["../../../src/components/useCopyAction.ts"],"names":[],"mappings":"AAmBA,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CA0B1F"}
|
|
@@ -22,6 +22,11 @@ export { MessageActions, ReasoningStrip, ElapsedRow, QueuedComposer, ReloadDivid
|
|
|
22
22
|
export { Markdown } from "./components/Markdown";
|
|
23
23
|
export { MessageList } from "./components/MessageList";
|
|
24
24
|
export { AskBuoyHeader } from "./components/AskBuoyHeader";
|
|
25
|
+
export { AskBuoySettings } from "./components/AskBuoySettings";
|
|
26
|
+
export { ThinkingStrip } from "./components/ThinkingStrip";
|
|
27
|
+
export { askBuoySettings, type AskBuoySettings as AskBuoySettingsValue } from "./store/askBuoySettings";
|
|
28
|
+
export { useAskBuoySettings } from "./store/useAskBuoySettings";
|
|
29
|
+
export { traceEntries, traceToText, hasTrace, type TraceEntry } from "./store/traceText";
|
|
25
30
|
export { Composer } from "./components/Composer";
|
|
26
31
|
export { ChangesBar } from "./components/ChangesBar";
|
|
27
32
|
export { ApprovalCard } from "./components/ApprovalCard";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EACnB,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtG,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,SAAS,IAAI,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EACL,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,GACnH,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACxG,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../../src/preset.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;AAE5C,eAAO,MAAM,iBAAiB;;;;;;4BAUJ;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;CAIzD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;;;uBAOpC,iBAAiB;;;;4BAlCd;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;EAsCzD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ChatToolCall } from "./askBuoyStore";
|
|
2
|
+
export type ActivityItem = {
|
|
3
|
+
kind: "call";
|
|
4
|
+
call: ChatToolCall;
|
|
5
|
+
} | {
|
|
6
|
+
kind: "reads";
|
|
7
|
+
id: string;
|
|
8
|
+
calls: ChatToolCall[];
|
|
9
|
+
label: string;
|
|
10
|
+
count: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function groupCalls(calls: ChatToolCall[]): ActivityItem[];
|
|
13
|
+
/**
|
|
14
|
+
* "48s · 6 actions · 1 declined" — the line under a finished answer.
|
|
15
|
+
*
|
|
16
|
+
* "Actions" is tool calls, not provider rounds: rounds are an implementation
|
|
17
|
+
* detail nobody outside the engine can count. Failed, refused, declined and
|
|
18
|
+
* stopped are listed separately because they are different outcomes — a
|
|
19
|
+
* failed exploratory read the agent recovered from is not a failed task. No
|
|
20
|
+
* duration is invented when the message has no start time (a restored note).
|
|
21
|
+
*/
|
|
22
|
+
export declare function turnFooter(message: {
|
|
23
|
+
startedAt?: number;
|
|
24
|
+
endedAt?: number;
|
|
25
|
+
toolCalls: ChatToolCall[];
|
|
26
|
+
}): string | null;
|
|
27
|
+
/** "4s", "1m 04s", "1h 02m". Compact, for a subtitle or a footer. */
|
|
28
|
+
export declare function formatElapsed(ms: number): string;
|
|
29
|
+
//# sourceMappingURL=activityGroups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityGroups.d.ts","sourceRoot":"","sources":["../../../src/store/activityGroups.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvF,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA6BhE;AASD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B,GAAG,MAAM,GAAG,IAAI,CAmBhB;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activityGroups.test.d.ts","sourceRoot":"","sources":["../../../src/store/activityGroups.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface AskBuoySettings {
|
|
2
|
+
/**
|
|
3
|
+
* Render the agent's reasoning and the parameters of every step it ran, and
|
|
4
|
+
* include them in what Copy produces.
|
|
5
|
+
*
|
|
6
|
+
* Off by default. It is a debugging view — the point of the sheet is the
|
|
7
|
+
* answer, and a tester who has not asked for the machinery should not have
|
|
8
|
+
* to scroll past it. On, it is what turns "it did the wrong thing" into
|
|
9
|
+
* "here is the step where it went wrong", which is why it also has to reach
|
|
10
|
+
* the clipboard: the reading happens outside the app.
|
|
11
|
+
*/
|
|
12
|
+
showThinking: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Run everything the agent asks for without the "Allow this change?" card.
|
|
15
|
+
*
|
|
16
|
+
* Off by default, and persisted like every other preference here — a person
|
|
17
|
+
* moving fast on their own dev device should not have to re-say it after
|
|
18
|
+
* every reload, and the sheet's own settings row is where they find out it
|
|
19
|
+
* is still on. It waives the approval GATES only: an app's `deny`, `allow`,
|
|
20
|
+
* `readOnly` and the release-build refusals are the app saying no rather
|
|
21
|
+
* than asking, and this must never widen what the agent can reach.
|
|
22
|
+
*/
|
|
23
|
+
bypassApprovals: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Look, don't touch: refuse every write on this device until turned off.
|
|
26
|
+
*
|
|
27
|
+
* For a support person on a shared phone who wants to inspect a customer's
|
|
28
|
+
* state with zero risk. `policy.readOnly` is the app's to set at build
|
|
29
|
+
* time; this is the person holding the phone setting it. Effective policy
|
|
30
|
+
* is app OR device, so this can only narrow what the agent may do — turning
|
|
31
|
+
* it off never switches off an app's own read-only. Persisted like the
|
|
32
|
+
* others, which on a shared device means: check the subtitle.
|
|
33
|
+
*/
|
|
34
|
+
readOnly: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare const DEFAULT_SETTINGS: AskBuoySettings;
|
|
37
|
+
export declare const askBuoySettings: {
|
|
38
|
+
get: () => AskBuoySettings;
|
|
39
|
+
subscribe(fn: () => void): () => void;
|
|
40
|
+
set<K extends keyof AskBuoySettings>(key: K, value: AskBuoySettings[K]): void;
|
|
41
|
+
/** Tests only — the module cache would otherwise leak between them. */
|
|
42
|
+
reset(): void;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=askBuoySettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askBuoySettings.d.ts","sourceRoot":"","sources":["../../../src/store/askBuoySettings.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;OASG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;OASG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;OASG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,EAAE,eAI9B,CAAC;AA6BF,eAAO,MAAM,eAAe;eACjB,eAAe;kBAEV,MAAM,IAAI,GAAG,MAAM,IAAI;QAajC,CAAC,SAAS,MAAM,eAAe,OAAO,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAO7E,uEAAuE;aAC9D,IAAI;CAKd,CAAC"}
|