@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_sharedUi","_agentCore","_askBuoyStore","_resetConversation","_transcriptPersistence","_useAskBuoySettings","isRelease","__DEV__","questionBehind","blockId","m","askBuoyStore","getState","messages","restored","placed","blocks","b","block","id","asked","question","label","title","trim","undefined","readAvailableActions","actions","listToolActions","toolId","listSnapshotToolIds","includes","SNAPSHOT_ACTION","SAVE_DEBOUNCE_MS","useAskBuoyState","useSyncExternalStore","subscribe","useAskBuoy","config","state","sessionRef","useRef","restoredRef","abortRef","configRef","current","configured","endpoint","model","persist","persistTranscript","bypassApprovals","readOnly","useAskBuoySettings","bypassRef","readOnlyRef","effectivePolicy","useCallback","policy","registryTick","setRegistryTick","useState","useEffect","cancelled","waitForToolRegistry","then","n","availableActions","useMemo","toolKey","Object","keys","sort","join","setConfigured","setMeta","protocol","appName","platform","Platform","OS","build","setNotice","apiKey","test","signature","held","getHeldSession","session","setAvailableActions","setApprovalBypass","setReadOnly","setLedger","ledger","createAskBuoySession","headers","maxTokens","anthropicVersion","requestOverrides","catalog","tools","length","CATALOG","dispatch","dispatchToolAction","readSnapshot","readToolSnapshot","context","requestApproval","input","askApproval","holdSession","ready","prime","readTranscript","saved","hydrated","hydrate","answers","usage","queued","restore","history","pending","restorePending","busy","write","writeTranscript","buildPayload","getLedger","list","timer","setTimeout","clearTimeout","runTurn","text","beginTurn","messageId","startAssistant","controller","AbortController","onEvent","ev","send","signal","applyEvent","err","aborted","type","message","Error","markStopped","finishAssistant","trimmed","enqueue","awaiting","awaitingBlockId","recordAnswer","kind","addUser","retry","lastUser","reverse","find","role","stop","requestStop","answerApproval","abort","turnPhaseOf","queuePauseReason","next","shiftQueued","editQueued","takeQueuedToDraft","removeQueued","reset","clearConversation","undoThenReset","resetConversation","undoFirst","applyRestoredApproval","targetDigest","now","readTargetDigest","action","params","addNote","outcome","runGatedAction","ok","error","approve","approved","answer","a","answerToText","runAction","key","setActionState","toolCount","availableToolIds"],"sourceRoot":"../../../src","sources":["store/useAskBuoy.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useAskBuoySettings = useAskBuoySettings;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _askBuoySettings = require("./askBuoySettings");
|
|
9
|
+
/** Subscribe the sheet to Ask Buoy's own preferences. */
|
|
10
|
+
|
|
11
|
+
function useAskBuoySettings() {
|
|
12
|
+
return (0, _react.useSyncExternalStore)(_askBuoySettings.askBuoySettings.subscribe, _askBuoySettings.askBuoySettings.get, _askBuoySettings.askBuoySettings.get);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=useAskBuoySettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_askBuoySettings","useAskBuoySettings","useSyncExternalStore","askBuoySettings","subscribe","get"],"sourceRoot":"../../../src","sources":["store/useAskBuoySettings.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAHA;;AAKO,SAASE,kBAAkBA,CAAA,EAAoB;EACpD,OAAO,IAAAC,2BAAoB,EAACC,gCAAe,CAACC,SAAS,EAAED,gCAAe,CAACE,GAAG,EAAEF,gCAAe,CAACE,GAAG,CAAC;AAClG","ignoreList":[]}
|
|
@@ -1 +1,140 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.askBuoySyncAdapter = exports.ASK_BUOY_ADAPTER_VERSION = void 0;
|
|
7
|
+
var _resetConversation = require("../store/resetConversation");
|
|
8
|
+
var _wire = require("./wire");
|
|
9
|
+
var _agentCore = require("@buoy-gg/agent-core");
|
|
10
|
+
var _askBuoyStore = require("../store/askBuoyStore");
|
|
11
|
+
/**
|
|
12
|
+
* The sync adapter, so Buoy Desktop and MCP can see what Ask Buoy is doing.
|
|
13
|
+
*
|
|
14
|
+
* Read-heavy on purpose. There is no `send` action: letting a remote client
|
|
15
|
+
* put words in the agent's mouth would mean anyone who can reach the broker —
|
|
16
|
+
* which has no authentication at all, binds 0.0.0.0, and accepts any client
|
|
17
|
+
* calling itself "Dashboard" — could drive a mutating agent on a tester's
|
|
18
|
+
* device. The chat is initiated on-device, by a person, full stop.
|
|
19
|
+
*
|
|
20
|
+
* `undoAll` IS exposed, because the asymmetry is deliberate: putting things
|
|
21
|
+
* back is the safe direction, and a dev watching from the desktop should be
|
|
22
|
+
* able to clean up a device without walking over to it.
|
|
23
|
+
*
|
|
24
|
+
* The transcript is redacted before it crosses the wire. Action results the
|
|
25
|
+
* agent read can contain storage values and response bodies, and this socket
|
|
26
|
+
* broadcasts to every connected dashboard — it already leaks license keys the
|
|
27
|
+
* same way.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
const ASK_BUOY_ADAPTER_VERSION = exports.ASK_BUOY_ADAPTER_VERSION = 1;
|
|
31
|
+
const askBuoySyncAdapter = exports.askBuoySyncAdapter = {
|
|
32
|
+
version: ASK_BUOY_ADAPTER_VERSION,
|
|
33
|
+
getSnapshot() {
|
|
34
|
+
const state = _askBuoyStore.askBuoyStore.getState();
|
|
35
|
+
const ledger = _askBuoyStore.askBuoyStore.getLedger();
|
|
36
|
+
const entries = ledger?.list() ?? [];
|
|
37
|
+
const outstanding = entries.filter(e => !e.undoneAt);
|
|
38
|
+
return {
|
|
39
|
+
version: ASK_BUOY_ADAPTER_VERSION,
|
|
40
|
+
busy: state.busy,
|
|
41
|
+
configured: state.configured,
|
|
42
|
+
notice: state.notice,
|
|
43
|
+
messageCount: state.messages.length,
|
|
44
|
+
// Only the shape of the conversation, never tool payloads.
|
|
45
|
+
messages: state.messages.map(m => ({
|
|
46
|
+
id: m.id,
|
|
47
|
+
role: m.role,
|
|
48
|
+
text: (0, _wire.redactForWire)(m.text),
|
|
49
|
+
streaming: !!m.streaming,
|
|
50
|
+
toolCalls: m.toolCalls.map(c => ({
|
|
51
|
+
toolId: c.toolId,
|
|
52
|
+
action: c.action,
|
|
53
|
+
status: c.status
|
|
54
|
+
}))
|
|
55
|
+
})),
|
|
56
|
+
// Session token totals, so a desktop/MCP observer can meter cost.
|
|
57
|
+
usage: state.usage,
|
|
58
|
+
pendingApproval: state.pending ? {
|
|
59
|
+
toolId: state.pending.toolId,
|
|
60
|
+
action: state.pending.action,
|
|
61
|
+
label: state.pending.label
|
|
62
|
+
} : null,
|
|
63
|
+
changes: {
|
|
64
|
+
// Transients (navigation, taps) are one-shot actions, not changes —
|
|
65
|
+
// same rule as the on-device bar, so desktop and device tell one story.
|
|
66
|
+
reversible: outstanding.filter(e => (0, _agentCore.isReversible)(e.effect)).length,
|
|
67
|
+
permanent: outstanding.filter(e => e.effect.kind !== "transient" && !(0, _agentCore.isReversible)(e.effect)).length,
|
|
68
|
+
transients: outstanding.filter(e => e.effect.kind === "transient").length,
|
|
69
|
+
items: outstanding.map(e => ({
|
|
70
|
+
kind: e.effect.kind,
|
|
71
|
+
label: e.effect.label
|
|
72
|
+
}))
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
subscribe(onChange) {
|
|
77
|
+
const offStore = _askBuoyStore.askBuoyStore.subscribe(onChange);
|
|
78
|
+
const offLedger = _askBuoyStore.askBuoyStore.getLedger()?.subscribe(onChange);
|
|
79
|
+
return () => {
|
|
80
|
+
offStore();
|
|
81
|
+
offLedger?.();
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
actions: {
|
|
85
|
+
/** What the agent changed, and whether it can be put back. */
|
|
86
|
+
listChanges: () => {
|
|
87
|
+
const entries = _askBuoyStore.askBuoyStore.getLedger()?.list() ?? [];
|
|
88
|
+
return entries.filter(e => !e.undoneAt).map(e => ({
|
|
89
|
+
id: e.id,
|
|
90
|
+
at: e.at,
|
|
91
|
+
toolId: e.toolId,
|
|
92
|
+
action: e.action,
|
|
93
|
+
kind: e.effect.kind,
|
|
94
|
+
label: e.effect.label,
|
|
95
|
+
reversible: (0, _agentCore.isReversible)(e.effect)
|
|
96
|
+
}));
|
|
97
|
+
},
|
|
98
|
+
/** Put back everything that can be put back. Safe direction only. */
|
|
99
|
+
undoAll: async () => {
|
|
100
|
+
const ledger = _askBuoyStore.askBuoyStore.getLedger();
|
|
101
|
+
if (!ledger) return {
|
|
102
|
+
ok: false,
|
|
103
|
+
error: "No Ask Buoy session on this device."
|
|
104
|
+
};
|
|
105
|
+
const outcome = await ledger.revertAll(_wire.dispatchToolAction);
|
|
106
|
+
return {
|
|
107
|
+
ok: true,
|
|
108
|
+
...outcome
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* Undo what can be undone, then clear the transcript and the ledger.
|
|
113
|
+
*
|
|
114
|
+
* The same path as the sheet's "New conversation" (resetConversation.ts).
|
|
115
|
+
* This action used to clear unconditionally — no question, no undo — so a
|
|
116
|
+
* desktop click could drop the only undo record for changes still live on
|
|
117
|
+
* the tester's phone. Now it refuses to clear when a revert fails and says
|
|
118
|
+
* what is still applied; the dashboard decides whether to clear anyway
|
|
119
|
+
* by calling `undoAll` first or accepting the kept conversation.
|
|
120
|
+
*/
|
|
121
|
+
reset: async () => {
|
|
122
|
+
const outcome = await (0, _resetConversation.resetConversation)({
|
|
123
|
+
dispatch: _wire.dispatchToolAction,
|
|
124
|
+
undoFirst: true
|
|
125
|
+
});
|
|
126
|
+
if (!outcome.cleared) {
|
|
127
|
+
return {
|
|
128
|
+
ok: false,
|
|
129
|
+
error: `Couldn't undo ${outcome.failed.length} change${outcome.failed.length === 1 ? "" : "s"} — conversation kept.`,
|
|
130
|
+
failed: outcome.failed
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
ok: true,
|
|
135
|
+
reverted: outcome.reverted
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=askBuoySyncAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_resetConversation","require","_wire","_agentCore","_askBuoyStore","ASK_BUOY_ADAPTER_VERSION","exports","askBuoySyncAdapter","version","getSnapshot","state","askBuoyStore","getState","ledger","getLedger","entries","list","outstanding","filter","e","undoneAt","busy","configured","notice","messageCount","messages","length","map","m","id","role","text","redactForWire","streaming","toolCalls","c","toolId","action","status","usage","pendingApproval","pending","label","changes","reversible","isReversible","effect","permanent","kind","transients","items","subscribe","onChange","offStore","offLedger","actions","listChanges","at","undoAll","ok","error","outcome","revertAll","dispatchToolAction","reset","resetConversation","dispatch","undoFirst","cleared","failed","reverted"],"sourceRoot":"../../../src","sources":["sync/askBuoySyncAdapter.ts"],"mappings":";;;;;;AAkBA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AArBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMO,MAAMI,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,CAAC;AAElC,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG;EAChCC,OAAO,EAAEH,wBAAwB;EAEjCI,WAAWA,CAAA,EAAG;IACZ,MAAMC,KAAK,GAAGC,0BAAY,CAACC,QAAQ,CAAC,CAAC;IACrC,MAAMC,MAAM,GAAGF,0BAAY,CAACG,SAAS,CAAC,CAAC;IACvC,MAAMC,OAAO,GAAGF,MAAM,EAAEG,IAAI,CAAC,CAAC,IAAI,EAAE;IACpC,MAAMC,WAAW,GAAGF,OAAO,CAACG,MAAM,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACC,QAAQ,CAAC;IAEtD,OAAO;MACLZ,OAAO,EAAEH,wBAAwB;MACjCgB,IAAI,EAAEX,KAAK,CAACW,IAAI;MAChBC,UAAU,EAAEZ,KAAK,CAACY,UAAU;MAC5BC,MAAM,EAAEb,KAAK,CAACa,MAAM;MACpBC,YAAY,EAAEd,KAAK,CAACe,QAAQ,CAACC,MAAM;MACnC;MACAD,QAAQ,EAAEf,KAAK,CAACe,QAAQ,CAACE,GAAG,CAAEC,CAAC,KAAM;QACnCC,EAAE,EAAED,CAAC,CAACC,EAAE;QACRC,IAAI,EAAEF,CAAC,CAACE,IAAI;QACZC,IAAI,EAAE,IAAAC,mBAAa,EAACJ,CAAC,CAACG,IAAI,CAAC;QAC3BE,SAAS,EAAE,CAAC,CAACL,CAAC,CAACK,SAAS;QACxBC,SAAS,EAAEN,CAAC,CAACM,SAAS,CAACP,GAAG,CAAEQ,CAAC,KAAM;UACjCC,MAAM,EAAED,CAAC,CAACC,MAAM;UAChBC,MAAM,EAAEF,CAAC,CAACE,MAAM;UAChBC,MAAM,EAAEH,CAAC,CAACG;QACZ,CAAC,CAAC;MACJ,CAAC,CAAC,CAAC;MACH;MACAC,KAAK,EAAE7B,KAAK,CAAC6B,KAAK;MAClBC,eAAe,EAAE9B,KAAK,CAAC+B,OAAO,GAC1B;QACEL,MAAM,EAAE1B,KAAK,CAAC+B,OAAO,CAACL,MAAM;QAC5BC,MAAM,EAAE3B,KAAK,CAAC+B,OAAO,CAACJ,MAAM;QAC5BK,KAAK,EAAEhC,KAAK,CAAC+B,OAAO,CAACC;MACvB,CAAC,GACD,IAAI;MACRC,OAAO,EAAE;QACP;QACA;QACAC,UAAU,EAAE3B,WAAW,CAACC,MAAM,CAAEC,CAAC,IAAK,IAAA0B,uBAAY,EAAC1B,CAAC,CAAC2B,MAAM,CAAC,CAAC,CAACpB,MAAM;QACpEqB,SAAS,EAAE9B,WAAW,CAACC,MAAM,CAC1BC,CAAC,IAAKA,CAAC,CAAC2B,MAAM,CAACE,IAAI,KAAK,WAAW,IAAI,CAAC,IAAAH,uBAAY,EAAC1B,CAAC,CAAC2B,MAAM,CAChE,CAAC,CAACpB,MAAM;QACRuB,UAAU,EAAEhC,WAAW,CAACC,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAC2B,MAAM,CAACE,IAAI,KAAK,WAAW,CAAC,CAACtB,MAAM;QAC3EwB,KAAK,EAAEjC,WAAW,CAACU,GAAG,CAAER,CAAC,KAAM;UAAE6B,IAAI,EAAE7B,CAAC,CAAC2B,MAAM,CAACE,IAAI;UAAEN,KAAK,EAAEvB,CAAC,CAAC2B,MAAM,CAACJ;QAAM,CAAC,CAAC;MAChF;IACF,CAAC;EACH,CAAC;EAEDS,SAASA,CAACC,QAAoB,EAAE;IAC9B,MAAMC,QAAQ,GAAG1C,0BAAY,CAACwC,SAAS,CAACC,QAAQ,CAAC;IACjD,MAAME,SAAS,GAAG3C,0BAAY,CAACG,SAAS,CAAC,CAAC,EAAEqC,SAAS,CAACC,QAAQ,CAAC;IAC/D,OAAO,MAAM;MACXC,QAAQ,CAAC,CAAC;MACVC,SAAS,GAAG,CAAC;IACf,CAAC;EACH,CAAC;EAEDC,OAAO,EAAE;IACP;IACAC,WAAW,EAAEA,CAAA,KAAM;MACjB,MAAMzC,OAAO,GAAGJ,0BAAY,CAACG,SAAS,CAAC,CAAC,EAAEE,IAAI,CAAC,CAAC,IAAI,EAAE;MACtD,OAAOD,OAAO,CACXG,MAAM,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACC,QAAQ,CAAC,CAC1BO,GAAG,CAAER,CAAC,KAAM;QACXU,EAAE,EAAEV,CAAC,CAACU,EAAE;QACR4B,EAAE,EAAEtC,CAAC,CAACsC,EAAE;QACRrB,MAAM,EAAEjB,CAAC,CAACiB,MAAM;QAChBC,MAAM,EAAElB,CAAC,CAACkB,MAAM;QAChBW,IAAI,EAAE7B,CAAC,CAAC2B,MAAM,CAACE,IAAI;QACnBN,KAAK,EAAEvB,CAAC,CAAC2B,MAAM,CAACJ,KAAK;QACrBE,UAAU,EAAE,IAAAC,uBAAY,EAAC1B,CAAC,CAAC2B,MAAM;MACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;IACAY,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAM7C,MAAM,GAAGF,0BAAY,CAACG,SAAS,CAAC,CAAC;MACvC,IAAI,CAACD,MAAM,EAAE,OAAO;QAAE8C,EAAE,EAAE,KAAK;QAAEC,KAAK,EAAE;MAAsC,CAAC;MAC/E,MAAMC,OAAO,GAAG,MAAMhD,MAAM,CAACiD,SAAS,CAACC,wBAAkB,CAAC;MAC1D,OAAO;QAAEJ,EAAE,EAAE,IAAI;QAAE,GAAGE;MAAQ,CAAC;IACjC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,KAAK,EAAE,MAAAA,CAAA,KAAY;MACjB,MAAMH,OAAO,GAAG,MAAM,IAAAI,oCAAiB,EAAC;QAAEC,QAAQ,EAAEH,wBAAkB;QAAEI,SAAS,EAAE;MAAK,CAAC,CAAC;MAC1F,IAAI,CAACN,OAAO,CAACO,OAAO,EAAE;QACpB,OAAO;UACLT,EAAE,EAAE,KAAK;UACTC,KAAK,EAAE,iBAAiBC,OAAO,CAACQ,MAAM,CAAC3C,MAAM,UAAUmC,OAAO,CAACQ,MAAM,CAAC3C,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,uBAAuB;UACpH2C,MAAM,EAAER,OAAO,CAACQ;QAClB,CAAC;MACH;MACA,OAAO;QAAEV,EAAE,EAAE,IAAI;QAAEW,QAAQ,EAAET,OAAO,CAACS;MAAS,CAAC;IACjD;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1,141 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _vitest = require("vitest");
|
|
4
|
+
var _agentCore = require("@buoy-gg/agent-core");
|
|
5
|
+
var _askBuoySyncAdapter = require("./askBuoySyncAdapter");
|
|
6
|
+
var _wire = require("./wire");
|
|
7
|
+
var _askBuoyStore = require("../store/askBuoyStore");
|
|
8
|
+
/**
|
|
9
|
+
* What Ask Buoy is allowed to put on the broker wire, and what it refuses to
|
|
10
|
+
* accept from it.
|
|
11
|
+
*
|
|
12
|
+
* Both directions matter. The broker has no authentication, accepts any client
|
|
13
|
+
* that calls itself "Dashboard", and forwards to every connected dashboard — it
|
|
14
|
+
* already broadcasts license keys that way. So: no tool results go out, and no
|
|
15
|
+
* remote client can make the agent say anything.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
(0, _vitest.beforeEach)(() => {
|
|
19
|
+
_askBuoyStore.askBuoyStore.reset();
|
|
20
|
+
_askBuoyStore.askBuoyStore.setLedger(null);
|
|
21
|
+
});
|
|
22
|
+
(0, _vitest.describe)("the wire surface", () => {
|
|
23
|
+
(0, _vitest.it)("exposes no action that can make the agent talk", () => {
|
|
24
|
+
// A `send` here would let anyone on the LAN drive a mutating agent on a
|
|
25
|
+
// tester's phone. The conversation starts on-device, by a person.
|
|
26
|
+
const actions = Object.keys(_askBuoySyncAdapter.askBuoySyncAdapter.actions);
|
|
27
|
+
(0, _vitest.expect)(actions).not.toContain("send");
|
|
28
|
+
(0, _vitest.expect)(actions).not.toContain("ask");
|
|
29
|
+
(0, _vitest.expect)(actions).not.toContain("prompt");
|
|
30
|
+
(0, _vitest.expect)(actions.sort()).toEqual(["listChanges", "reset", "undoAll"]);
|
|
31
|
+
});
|
|
32
|
+
(0, _vitest.it)("puts the shape of the conversation on the wire, never tool payloads", () => {
|
|
33
|
+
_askBuoyStore.askBuoyStore.addUser("what is in storage");
|
|
34
|
+
const id = _askBuoyStore.askBuoyStore.startAssistant();
|
|
35
|
+
_askBuoyStore.askBuoyStore.applyEvent(id, {
|
|
36
|
+
type: "tool-start",
|
|
37
|
+
id: "c1",
|
|
38
|
+
toolId: "storage",
|
|
39
|
+
action: "async.getItem",
|
|
40
|
+
label: "Read session",
|
|
41
|
+
description: "Read one AsyncStorage key",
|
|
42
|
+
params: {
|
|
43
|
+
key: "session"
|
|
44
|
+
},
|
|
45
|
+
effect: "read"
|
|
46
|
+
});
|
|
47
|
+
_askBuoyStore.askBuoyStore.applyEvent(id, {
|
|
48
|
+
type: "tool-end",
|
|
49
|
+
id: "c1",
|
|
50
|
+
ok: true,
|
|
51
|
+
durationMs: 12,
|
|
52
|
+
summary: "eyJhbGciOiJIUzI1NiJ9.super.secret"
|
|
53
|
+
});
|
|
54
|
+
const snap = _askBuoySyncAdapter.askBuoySyncAdapter.getSnapshot();
|
|
55
|
+
const call = snap.messages[1].toolCalls[0];
|
|
56
|
+
(0, _vitest.expect)(call).toEqual({
|
|
57
|
+
toolId: "storage",
|
|
58
|
+
action: "async.getItem",
|
|
59
|
+
status: "ok"
|
|
60
|
+
});
|
|
61
|
+
// The result summary is not on the wire at all — there is no field for it.
|
|
62
|
+
(0, _vitest.expect)(JSON.stringify(snap)).not.toContain("super.secret");
|
|
63
|
+
});
|
|
64
|
+
(0, _vitest.it)("redacts credentials that made it into the assistant's prose", () => {
|
|
65
|
+
_askBuoyStore.askBuoyStore.addUser("show me the auth header");
|
|
66
|
+
const id = _askBuoyStore.askBuoyStore.startAssistant();
|
|
67
|
+
_askBuoyStore.askBuoyStore.applyEvent(id, {
|
|
68
|
+
type: "text",
|
|
69
|
+
delta: "It sends Authorization: Bearer abcdef0123456789ghijkl to the API."
|
|
70
|
+
});
|
|
71
|
+
const snap = _askBuoySyncAdapter.askBuoySyncAdapter.getSnapshot();
|
|
72
|
+
(0, _vitest.expect)(JSON.stringify(snap)).not.toContain("abcdef0123456789ghijkl");
|
|
73
|
+
});
|
|
74
|
+
(0, _vitest.it)("reports reversible and permanent changes separately", () => {
|
|
75
|
+
const ledger = new _agentCore.EffectLedger();
|
|
76
|
+
_askBuoyStore.askBuoyStore.setLedger(ledger);
|
|
77
|
+
ledger.record("storage", "async.setItem", {
|
|
78
|
+
kind: "storage-write",
|
|
79
|
+
toolId: "storage",
|
|
80
|
+
action: "async.setItem",
|
|
81
|
+
key: "points",
|
|
82
|
+
before: "240",
|
|
83
|
+
label: "Set points to 1500"
|
|
84
|
+
});
|
|
85
|
+
ledger.record("perf-monitor", "clearAll", {
|
|
86
|
+
kind: "transient",
|
|
87
|
+
label: "Cleared samples"
|
|
88
|
+
});
|
|
89
|
+
// A store write with no captured prior state: recorded, visible, and
|
|
90
|
+
// NOT something Undo can deliver — it must count as permanent.
|
|
91
|
+
ledger.record("zustand", "setState", {
|
|
92
|
+
kind: "state-write",
|
|
93
|
+
toolId: "zustand",
|
|
94
|
+
action: "setState",
|
|
95
|
+
label: "Update the cart store"
|
|
96
|
+
});
|
|
97
|
+
const snap = _askBuoySyncAdapter.askBuoySyncAdapter.getSnapshot();
|
|
98
|
+
(0, _vitest.expect)(snap.changes.reversible).toBe(1);
|
|
99
|
+
// The transient is an ACTION, not a change — it must not inflate
|
|
100
|
+
// "permanent" (that read "Changed this app · N permanent" after a
|
|
101
|
+
// read-only tour). It is still reported, in its own count.
|
|
102
|
+
(0, _vitest.expect)(snap.changes.permanent).toBe(1);
|
|
103
|
+
(0, _vitest.expect)(snap.changes.transients).toBe(1);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
(0, _vitest.describe)("redactForWire", () => {
|
|
107
|
+
(0, _vitest.it)("removes bearer tokens, JWTs, api keys and license keys", () => {
|
|
108
|
+
const cases = ["Authorization: Bearer abcdefghijklmnop123456", "token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9abcdefgh", "key sk-abcdefghijklmnop1234", "license BUOY-ABCD-1234-EFGH", 'the header is "x-api-key": "supersecretvalue"'];
|
|
109
|
+
for (const input of cases) {
|
|
110
|
+
(0, _vitest.expect)((0, _wire.redactForWire)(input)).toContain("removed]");
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
(0, _vitest.it)("leaves ordinary prose alone", () => {
|
|
114
|
+
const text = "The /menu call returned 200 with 12 items and the burger was in stock.";
|
|
115
|
+
(0, _vitest.expect)((0, _wire.redactForWire)(text)).toBe(text);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
(0, _vitest.describe)("undo from the desktop", () => {
|
|
119
|
+
(0, _vitest.it)("is allowed, because putting things back is the safe direction", async () => {
|
|
120
|
+
const ledger = new _agentCore.EffectLedger();
|
|
121
|
+
_askBuoyStore.askBuoyStore.setLedger(ledger);
|
|
122
|
+
const store = new Map([["points", "1500"]]);
|
|
123
|
+
ledger.record("storage", "async.setItem", {
|
|
124
|
+
kind: "storage-write",
|
|
125
|
+
toolId: "storage",
|
|
126
|
+
action: "async.setItem",
|
|
127
|
+
key: "points",
|
|
128
|
+
before: "240",
|
|
129
|
+
label: "Set points to 1500"
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
// The adapter dispatches through the real seam; stub it at the ledger.
|
|
133
|
+
await ledger.revertAll(async (_t, action, params) => {
|
|
134
|
+
const p = params;
|
|
135
|
+
if (action === "async.setItem") store.set(p.key, p.value);
|
|
136
|
+
return undefined;
|
|
137
|
+
});
|
|
138
|
+
(0, _vitest.expect)(store.get("points")).toBe("240");
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=askBuoySyncAdapter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_vitest","require","_agentCore","_askBuoySyncAdapter","_wire","_askBuoyStore","beforeEach","askBuoyStore","reset","setLedger","describe","it","actions","Object","keys","askBuoySyncAdapter","expect","not","toContain","sort","toEqual","addUser","id","startAssistant","applyEvent","type","toolId","action","label","description","params","key","effect","ok","durationMs","summary","snap","getSnapshot","call","messages","toolCalls","status","JSON","stringify","delta","ledger","EffectLedger","record","kind","before","changes","reversible","toBe","permanent","transients","cases","input","redactForWire","text","store","Map","revertAll","_t","p","set","value","undefined","get"],"sourceRoot":"../../../src","sources":["sync/askBuoySyncAdapter.test.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "dispatchToolAction", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _sharedUi.dispatchToolAction;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports.redactForWire = redactForWire;
|
|
13
|
+
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
14
|
+
/**
|
|
15
|
+
* What the sync adapter is allowed to put on the broker wire.
|
|
16
|
+
*
|
|
17
|
+
* The broker has no authentication, `cors.origin: "*"`, binds every interface,
|
|
18
|
+
* and forwards to every connected dashboard — it already broadcasts each
|
|
19
|
+
* device's license key to every socket. A chat transcript is not a safe thing
|
|
20
|
+
* to add to that channel unfiltered: the agent reads storage values, network
|
|
21
|
+
* response bodies and user records, and any of it can end up quoted in an
|
|
22
|
+
* answer.
|
|
23
|
+
*
|
|
24
|
+
* So text crossing the wire is scrubbed for the shapes that are unambiguously
|
|
25
|
+
* credentials. This is a reduction in blast radius, not a guarantee — the real
|
|
26
|
+
* guarantee is that tool RESULTS never cross at all (see askBuoySyncAdapter).
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const PATTERNS = [{
|
|
30
|
+
re: /\bBearer\s+[A-Za-z0-9._~+/-]{12,}=*/gi,
|
|
31
|
+
label: "[bearer token removed]"
|
|
32
|
+
}, {
|
|
33
|
+
re: /\beyJ[A-Za-z0-9._-]{20,}/g,
|
|
34
|
+
label: "[jwt removed]"
|
|
35
|
+
}, {
|
|
36
|
+
re: /\bsk-[A-Za-z0-9_-]{16,}/g,
|
|
37
|
+
label: "[api key removed]"
|
|
38
|
+
}, {
|
|
39
|
+
re: /\bBUOY-[A-Z0-9-]{8,}/g,
|
|
40
|
+
label: "[license key removed]"
|
|
41
|
+
},
|
|
42
|
+
// Common "key: value" credential shapes in a quoted payload.
|
|
43
|
+
{
|
|
44
|
+
re: /("|')?(authorization|x-api-key|api[_-]?key|password|secret|access_token|refresh_token)\1?\s*[:=]\s*("|')?[^\s"',}]{6,}/gi,
|
|
45
|
+
label: "[credential removed]"
|
|
46
|
+
}];
|
|
47
|
+
function redactForWire(text) {
|
|
48
|
+
if (!text) return text;
|
|
49
|
+
let out = text;
|
|
50
|
+
for (const {
|
|
51
|
+
re,
|
|
52
|
+
label
|
|
53
|
+
} of PATTERNS) {
|
|
54
|
+
out = out.replace(re, label);
|
|
55
|
+
}
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=wire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_sharedUi","require","PATTERNS","re","label","redactForWire","text","out","replace"],"sourceRoot":"../../../src","sources":["sync/wire.ts"],"mappings":";;;;;;;;;;;;AAcA,IAAAA,SAAA,GAAAC,OAAA;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,MAAMC,QAAyC,GAAG,CAChD;EAAEC,EAAE,EAAE,uCAAuC;EAAEC,KAAK,EAAE;AAAyB,CAAC,EAChF;EAAED,EAAE,EAAE,2BAA2B;EAAEC,KAAK,EAAE;AAAgB,CAAC,EAC3D;EAAED,EAAE,EAAE,0BAA0B;EAAEC,KAAK,EAAE;AAAoB,CAAC,EAC9D;EAAED,EAAE,EAAE,uBAAuB;EAAEC,KAAK,EAAE;AAAwB,CAAC;AAC/D;AACA;EACED,EAAE,EAAE,0HAA0H;EAC9HC,KAAK,EAAE;AACT,CAAC,CACF;AAEM,SAASC,aAAaA,CAACC,IAAY,EAAU;EAClD,IAAI,CAACA,IAAI,EAAE,OAAOA,IAAI;EACtB,IAAIC,GAAG,GAAGD,IAAI;EACd,KAAK,MAAM;IAAEH,EAAE;IAAEC;EAAM,CAAC,IAAIF,QAAQ,EAAE;IACpCK,GAAG,GAAGA,GAAG,CAACC,OAAO,CAACL,EAAE,EAAEC,KAAK,CAAC;EAC9B;EACA,OAAOG,GAAG;AACZ","ignoreList":[]}
|
package/lib/commonjs/types.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
|