@docyrus/rn-assistant 0.0.1
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 +477 -0
- package/dist/commonjs/components/agent-selector/agent-selector.js +300 -0
- package/dist/commonjs/components/agent-selector/agent-selector.js.map +1 -0
- package/dist/commonjs/components/agent-selector/index.js +17 -0
- package/dist/commonjs/components/agent-selector/index.js.map +1 -0
- package/dist/commonjs/components/assistant-animations/assistant-animations.js +169 -0
- package/dist/commonjs/components/assistant-animations/assistant-animations.js.map +1 -0
- package/dist/commonjs/components/assistant-animations/index.js +17 -0
- package/dist/commonjs/components/assistant-animations/index.js.map +1 -0
- package/dist/commonjs/components/assistant-screen/assistant-screen.js +809 -0
- package/dist/commonjs/components/assistant-screen/assistant-screen.js.map +1 -0
- package/dist/commonjs/components/assistant-screen/index.js +17 -0
- package/dist/commonjs/components/assistant-screen/index.js.map +1 -0
- package/dist/commonjs/components/index.js +116 -0
- package/dist/commonjs/components/index.js.map +1 -0
- package/dist/commonjs/components/message-parts/index.js +13 -0
- package/dist/commonjs/components/message-parts/index.js.map +1 -0
- package/dist/commonjs/components/message-parts/message-parts.js +209 -0
- package/dist/commonjs/components/message-parts/message-parts.js.map +1 -0
- package/dist/commonjs/components/new-chat/index.js +17 -0
- package/dist/commonjs/components/new-chat/index.js.map +1 -0
- package/dist/commonjs/components/new-chat/new-chat.js +100 -0
- package/dist/commonjs/components/new-chat/new-chat.js.map +1 -0
- package/dist/commonjs/components/prompt-input/attachment-picker.js +341 -0
- package/dist/commonjs/components/prompt-input/attachment-picker.js.map +1 -0
- package/dist/commonjs/components/prompt-input/attachment-preview.js +229 -0
- package/dist/commonjs/components/prompt-input/attachment-preview.js.map +1 -0
- package/dist/commonjs/components/prompt-input/index.js +41 -0
- package/dist/commonjs/components/prompt-input/index.js.map +1 -0
- package/dist/commonjs/components/prompt-input/prompt-input.js +288 -0
- package/dist/commonjs/components/prompt-input/prompt-input.js.map +1 -0
- package/dist/commonjs/components/prompt-input/provider-selector.js +542 -0
- package/dist/commonjs/components/prompt-input/provider-selector.js.map +1 -0
- package/dist/commonjs/components/prompt-input/reasoning-level-selector.js +350 -0
- package/dist/commonjs/components/prompt-input/reasoning-level-selector.js.map +1 -0
- package/dist/commonjs/components/prompt-input/voice-recorder.js +260 -0
- package/dist/commonjs/components/prompt-input/voice-recorder.js.map +1 -0
- package/dist/commonjs/components/sessions-list/index.js +17 -0
- package/dist/commonjs/components/sessions-list/index.js.map +1 -0
- package/dist/commonjs/components/sessions-list/sessions-list.js +820 -0
- package/dist/commonjs/components/sessions-list/sessions-list.js.map +1 -0
- package/dist/commonjs/hooks/index.js +34 -0
- package/dist/commonjs/hooks/index.js.map +1 -0
- package/dist/commonjs/hooks/use-agent-models.js +104 -0
- package/dist/commonjs/hooks/use-agent-models.js.map +1 -0
- package/dist/commonjs/hooks/use-assistant.js +402 -0
- package/dist/commonjs/hooks/use-assistant.js.map +1 -0
- package/dist/commonjs/hooks/use-attachment-picker.js +308 -0
- package/dist/commonjs/hooks/use-attachment-picker.js.map +1 -0
- package/dist/commonjs/hooks/use-voice-recorder.js +217 -0
- package/dist/commonjs/hooks/use-voice-recorder.js.map +1 -0
- package/dist/commonjs/index.js +112 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/theme/assistant-theme.js +105 -0
- package/dist/commonjs/theme/assistant-theme.js.map +1 -0
- package/dist/commonjs/theme/index.js +19 -0
- package/dist/commonjs/theme/index.js.map +1 -0
- package/dist/commonjs/types/index.js +2 -0
- package/dist/commonjs/types/index.js.map +1 -0
- package/dist/commonjs/ui/action-sheet.js +348 -0
- package/dist/commonjs/ui/action-sheet.js.map +1 -0
- package/dist/commonjs/ui/alert-dialog.js +134 -0
- package/dist/commonjs/ui/alert-dialog.js.map +1 -0
- package/dist/commonjs/ui/docyrus-brand-mark.js +52 -0
- package/dist/commonjs/ui/docyrus-brand-mark.js.map +1 -0
- package/dist/commonjs/ui/docyrus-icon.js +298 -0
- package/dist/commonjs/ui/docyrus-icon.js.map +1 -0
- package/dist/commonjs/ui/index.js +34 -0
- package/dist/commonjs/ui/index.js.map +1 -0
- package/dist/commonjs/utils/api-client.js +99 -0
- package/dist/commonjs/utils/api-client.js.map +1 -0
- package/dist/commonjs/utils/default-api-config.js +195 -0
- package/dist/commonjs/utils/default-api-config.js.map +1 -0
- package/dist/commonjs/utils/index.js +39 -0
- package/dist/commonjs/utils/index.js.map +1 -0
- package/dist/commonjs/utils/resolve-api-headers.js +16 -0
- package/dist/commonjs/utils/resolve-api-headers.js.map +1 -0
- package/dist/module/components/agent-selector/agent-selector.js +296 -0
- package/dist/module/components/agent-selector/agent-selector.js.map +1 -0
- package/dist/module/components/agent-selector/index.js +4 -0
- package/dist/module/components/agent-selector/index.js.map +1 -0
- package/dist/module/components/assistant-animations/assistant-animations.js +164 -0
- package/dist/module/components/assistant-animations/assistant-animations.js.map +1 -0
- package/dist/module/components/assistant-animations/index.js +4 -0
- package/dist/module/components/assistant-animations/index.js.map +1 -0
- package/dist/module/components/assistant-screen/assistant-screen.js +801 -0
- package/dist/module/components/assistant-screen/assistant-screen.js.map +1 -0
- package/dist/module/components/assistant-screen/index.js +4 -0
- package/dist/module/components/assistant-screen/index.js.map +1 -0
- package/dist/module/components/index.js +23 -0
- package/dist/module/components/index.js.map +1 -0
- package/dist/module/components/message-parts/index.js +4 -0
- package/dist/module/components/message-parts/index.js.map +1 -0
- package/dist/module/components/message-parts/message-parts.js +205 -0
- package/dist/module/components/message-parts/message-parts.js.map +1 -0
- package/dist/module/components/new-chat/index.js +4 -0
- package/dist/module/components/new-chat/index.js.map +1 -0
- package/dist/module/components/new-chat/new-chat.js +96 -0
- package/dist/module/components/new-chat/new-chat.js.map +1 -0
- package/dist/module/components/prompt-input/attachment-picker.js +337 -0
- package/dist/module/components/prompt-input/attachment-picker.js.map +1 -0
- package/dist/module/components/prompt-input/attachment-preview.js +225 -0
- package/dist/module/components/prompt-input/attachment-preview.js.map +1 -0
- package/dist/module/components/prompt-input/index.js +15 -0
- package/dist/module/components/prompt-input/index.js.map +1 -0
- package/dist/module/components/prompt-input/prompt-input.js +284 -0
- package/dist/module/components/prompt-input/prompt-input.js.map +1 -0
- package/dist/module/components/prompt-input/provider-selector.js +538 -0
- package/dist/module/components/prompt-input/provider-selector.js.map +1 -0
- package/dist/module/components/prompt-input/reasoning-level-selector.js +346 -0
- package/dist/module/components/prompt-input/reasoning-level-selector.js.map +1 -0
- package/dist/module/components/prompt-input/voice-recorder.js +256 -0
- package/dist/module/components/prompt-input/voice-recorder.js.map +1 -0
- package/dist/module/components/sessions-list/index.js +4 -0
- package/dist/module/components/sessions-list/index.js.map +1 -0
- package/dist/module/components/sessions-list/sessions-list.js +816 -0
- package/dist/module/components/sessions-list/sessions-list.js.map +1 -0
- package/dist/module/hooks/index.js +18 -0
- package/dist/module/hooks/index.js.map +1 -0
- package/dist/module/hooks/use-agent-models.js +100 -0
- package/dist/module/hooks/use-agent-models.js.map +1 -0
- package/dist/module/hooks/use-assistant.js +398 -0
- package/dist/module/hooks/use-assistant.js.map +1 -0
- package/dist/module/hooks/use-attachment-picker.js +303 -0
- package/dist/module/hooks/use-attachment-picker.js.map +1 -0
- package/dist/module/hooks/use-voice-recorder.js +214 -0
- package/dist/module/hooks/use-voice-recorder.js.map +1 -0
- package/dist/module/index.js +59 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/dist/module/theme/assistant-theme.js +100 -0
- package/dist/module/theme/assistant-theme.js.map +1 -0
- package/dist/module/theme/index.js +4 -0
- package/dist/module/theme/index.js.map +1 -0
- package/dist/module/types/index.js +2 -0
- package/dist/module/types/index.js.map +1 -0
- package/dist/module/ui/action-sheet.js +344 -0
- package/dist/module/ui/action-sheet.js.map +1 -0
- package/dist/module/ui/alert-dialog.js +130 -0
- package/dist/module/ui/alert-dialog.js.map +1 -0
- package/dist/module/ui/docyrus-brand-mark.js +48 -0
- package/dist/module/ui/docyrus-brand-mark.js.map +1 -0
- package/dist/module/ui/docyrus-icon.js +294 -0
- package/dist/module/ui/docyrus-icon.js.map +1 -0
- package/dist/module/ui/index.js +7 -0
- package/dist/module/ui/index.js.map +1 -0
- package/dist/module/utils/api-client.js +95 -0
- package/dist/module/utils/api-client.js.map +1 -0
- package/dist/module/utils/default-api-config.js +190 -0
- package/dist/module/utils/default-api-config.js.map +1 -0
- package/dist/module/utils/index.js +12 -0
- package/dist/module/utils/index.js.map +1 -0
- package/dist/module/utils/resolve-api-headers.js +12 -0
- package/dist/module/utils/resolve-api-headers.js.map +1 -0
- package/dist/typescript/commonjs/eslint.config.d.mts +4 -0
- package/dist/typescript/commonjs/eslint.config.d.mts.map +1 -0
- package/dist/typescript/commonjs/package.json +1 -0
- package/dist/typescript/commonjs/src/components/agent-selector/agent-selector.d.ts +49 -0
- package/dist/typescript/commonjs/src/components/agent-selector/agent-selector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/agent-selector/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/agent-selector/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/assistant-animations.d.ts +8 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/assistant-animations.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/assistant-animations/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/assistant-screen.d.ts +122 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/assistant-screen.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/assistant-screen/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/index.d.ts +11 -0
- package/dist/typescript/commonjs/src/components/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/message-parts/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/message-parts/message-parts.d.ts +22 -0
- package/dist/typescript/commonjs/src/components/message-parts/message-parts.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/new-chat/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/new-chat/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/new-chat/new-chat.d.ts +34 -0
- package/dist/typescript/commonjs/src/components/new-chat/new-chat.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-picker.d.ts +53 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-picker.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-preview.d.ts +42 -0
- package/dist/typescript/commonjs/src/components/prompt-input/attachment-preview.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/index.d.ts +9 -0
- package/dist/typescript/commonjs/src/components/prompt-input/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/prompt-input.d.ts +139 -0
- package/dist/typescript/commonjs/src/components/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/provider-selector.d.ts +11 -0
- package/dist/typescript/commonjs/src/components/prompt-input/provider-selector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/reasoning-level-selector.d.ts +35 -0
- package/dist/typescript/commonjs/src/components/prompt-input/reasoning-level-selector.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/prompt-input/voice-recorder.d.ts +48 -0
- package/dist/typescript/commonjs/src/components/prompt-input/voice-recorder.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/sessions-list/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/components/sessions-list/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/components/sessions-list/sessions-list.d.ts +59 -0
- package/dist/typescript/commonjs/src/components/sessions-list/sessions-list.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/index.d.ts +8 -0
- package/dist/typescript/commonjs/src/hooks/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-agent-models.d.ts +68 -0
- package/dist/typescript/commonjs/src/hooks/use-agent-models.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-assistant.d.ts +55 -0
- package/dist/typescript/commonjs/src/hooks/use-assistant.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-attachment-picker.d.ts +99 -0
- package/dist/typescript/commonjs/src/hooks/use-attachment-picker.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/hooks/use-voice-recorder.d.ts +101 -0
- package/dist/typescript/commonjs/src/hooks/use-voice-recorder.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/index.d.ts +47 -0
- package/dist/typescript/commonjs/src/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/assistant-theme.d.ts +51 -0
- package/dist/typescript/commonjs/src/theme/assistant-theme.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/theme/index.d.ts +2 -0
- package/dist/typescript/commonjs/src/theme/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/types/index.d.ts +167 -0
- package/dist/typescript/commonjs/src/types/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/action-sheet.d.ts +29 -0
- package/dist/typescript/commonjs/src/ui/action-sheet.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/alert-dialog.d.ts +12 -0
- package/dist/typescript/commonjs/src/ui/alert-dialog.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/docyrus-brand-mark.d.ts +5 -0
- package/dist/typescript/commonjs/src/ui/docyrus-brand-mark.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/docyrus-icon.d.ts +11 -0
- package/dist/typescript/commonjs/src/ui/docyrus-icon.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/ui/index.d.ts +5 -0
- package/dist/typescript/commonjs/src/ui/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/api-client.d.ts +35 -0
- package/dist/typescript/commonjs/src/utils/api-client.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/default-api-config.d.ts +38 -0
- package/dist/typescript/commonjs/src/utils/default-api-config.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/index.d.ts +9 -0
- package/dist/typescript/commonjs/src/utils/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/src/utils/resolve-api-headers.d.ts +3 -0
- package/dist/typescript/commonjs/src/utils/resolve-api-headers.d.ts.map +1 -0
- package/dist/typescript/module/eslint.config.d.mts +4 -0
- package/dist/typescript/module/eslint.config.d.mts.map +1 -0
- package/dist/typescript/module/package.json +1 -0
- package/dist/typescript/module/src/components/agent-selector/agent-selector.d.ts +49 -0
- package/dist/typescript/module/src/components/agent-selector/agent-selector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/agent-selector/index.d.ts +2 -0
- package/dist/typescript/module/src/components/agent-selector/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-animations/assistant-animations.d.ts +8 -0
- package/dist/typescript/module/src/components/assistant-animations/assistant-animations.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-animations/index.d.ts +2 -0
- package/dist/typescript/module/src/components/assistant-animations/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-screen/assistant-screen.d.ts +122 -0
- package/dist/typescript/module/src/components/assistant-screen/assistant-screen.d.ts.map +1 -0
- package/dist/typescript/module/src/components/assistant-screen/index.d.ts +2 -0
- package/dist/typescript/module/src/components/assistant-screen/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/index.d.ts +11 -0
- package/dist/typescript/module/src/components/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/index.d.ts +2 -0
- package/dist/typescript/module/src/components/message-parts/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/message-parts/message-parts.d.ts +22 -0
- package/dist/typescript/module/src/components/message-parts/message-parts.d.ts.map +1 -0
- package/dist/typescript/module/src/components/new-chat/index.d.ts +2 -0
- package/dist/typescript/module/src/components/new-chat/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/new-chat/new-chat.d.ts +34 -0
- package/dist/typescript/module/src/components/new-chat/new-chat.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-picker.d.ts +53 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-picker.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-preview.d.ts +42 -0
- package/dist/typescript/module/src/components/prompt-input/attachment-preview.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/index.d.ts +9 -0
- package/dist/typescript/module/src/components/prompt-input/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/prompt-input.d.ts +139 -0
- package/dist/typescript/module/src/components/prompt-input/prompt-input.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/provider-selector.d.ts +11 -0
- package/dist/typescript/module/src/components/prompt-input/provider-selector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/reasoning-level-selector.d.ts +35 -0
- package/dist/typescript/module/src/components/prompt-input/reasoning-level-selector.d.ts.map +1 -0
- package/dist/typescript/module/src/components/prompt-input/voice-recorder.d.ts +48 -0
- package/dist/typescript/module/src/components/prompt-input/voice-recorder.d.ts.map +1 -0
- package/dist/typescript/module/src/components/sessions-list/index.d.ts +2 -0
- package/dist/typescript/module/src/components/sessions-list/index.d.ts.map +1 -0
- package/dist/typescript/module/src/components/sessions-list/sessions-list.d.ts +59 -0
- package/dist/typescript/module/src/components/sessions-list/sessions-list.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/index.d.ts +8 -0
- package/dist/typescript/module/src/hooks/index.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-agent-models.d.ts +68 -0
- package/dist/typescript/module/src/hooks/use-agent-models.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-assistant.d.ts +55 -0
- package/dist/typescript/module/src/hooks/use-assistant.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-attachment-picker.d.ts +99 -0
- package/dist/typescript/module/src/hooks/use-attachment-picker.d.ts.map +1 -0
- package/dist/typescript/module/src/hooks/use-voice-recorder.d.ts +101 -0
- package/dist/typescript/module/src/hooks/use-voice-recorder.d.ts.map +1 -0
- package/dist/typescript/module/src/index.d.ts +47 -0
- package/dist/typescript/module/src/index.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/assistant-theme.d.ts +51 -0
- package/dist/typescript/module/src/theme/assistant-theme.d.ts.map +1 -0
- package/dist/typescript/module/src/theme/index.d.ts +2 -0
- package/dist/typescript/module/src/theme/index.d.ts.map +1 -0
- package/dist/typescript/module/src/types/index.d.ts +167 -0
- package/dist/typescript/module/src/types/index.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/action-sheet.d.ts +29 -0
- package/dist/typescript/module/src/ui/action-sheet.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/alert-dialog.d.ts +12 -0
- package/dist/typescript/module/src/ui/alert-dialog.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/docyrus-brand-mark.d.ts +5 -0
- package/dist/typescript/module/src/ui/docyrus-brand-mark.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/docyrus-icon.d.ts +11 -0
- package/dist/typescript/module/src/ui/docyrus-icon.d.ts.map +1 -0
- package/dist/typescript/module/src/ui/index.d.ts +5 -0
- package/dist/typescript/module/src/ui/index.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/api-client.d.ts +35 -0
- package/dist/typescript/module/src/utils/api-client.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/default-api-config.d.ts +38 -0
- package/dist/typescript/module/src/utils/default-api-config.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/index.d.ts +9 -0
- package/dist/typescript/module/src/utils/index.d.ts.map +1 -0
- package/dist/typescript/module/src/utils/resolve-api-headers.d.ts +3 -0
- package/dist/typescript/module/src/utils/resolve-api-headers.d.ts.map +1 -0
- package/package.json +176 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-preview.d.ts","sourceRoot":"","sources":["../../../../../../src/components/prompt-input/attachment-preview.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,WAAW,EAAE,aAAa,EAAE,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IAE9C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAmCF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,QAAQ,EACR,OAAO,EACP,UAAc,EACd,UAAiB,EAClB,EAAE,sBAAsB,sCA+HxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PromptInput Components
|
|
3
|
+
*/
|
|
4
|
+
export { PromptInput, type PromptInputProps } from './prompt-input';
|
|
5
|
+
export { ProviderSelector, type ProviderSelectorProps } from './provider-selector';
|
|
6
|
+
export { VoiceRecorder, type VoiceRecorderProps } from './voice-recorder';
|
|
7
|
+
export { AttachmentPicker, type AttachmentPickerProps } from './attachment-picker';
|
|
8
|
+
export { AttachmentPreview, type AttachmentPreviewProps } from './attachment-preview';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/prompt-input/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { TextInput, type TextInputProps, type ViewStyle } from 'react-native';
|
|
3
|
+
export type PromptInputProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Input value
|
|
6
|
+
*/
|
|
7
|
+
value: string;
|
|
8
|
+
/**
|
|
9
|
+
* On value change callback
|
|
10
|
+
*/
|
|
11
|
+
onChangeText: (text: string) => void;
|
|
12
|
+
/**
|
|
13
|
+
* On send/submit callback
|
|
14
|
+
*/
|
|
15
|
+
onSend?: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Placeholder text
|
|
18
|
+
* @default "Message AI..."
|
|
19
|
+
*/
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Chat status - controls button icon
|
|
23
|
+
* @default "idle"
|
|
24
|
+
*/
|
|
25
|
+
status?: 'idle' | 'streaming' | 'submitted';
|
|
26
|
+
/**
|
|
27
|
+
* On stop callback (when streaming)
|
|
28
|
+
*/
|
|
29
|
+
onStop?: () => void;
|
|
30
|
+
/**
|
|
31
|
+
* Maximum input length
|
|
32
|
+
* @default 2000
|
|
33
|
+
*/
|
|
34
|
+
maxLength?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Accent color for buttons
|
|
37
|
+
*/
|
|
38
|
+
accentColor?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Enable file attachment
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
enableAttachment?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* On attachment press callback
|
|
46
|
+
*/
|
|
47
|
+
onAttachmentPress?: () => void;
|
|
48
|
+
/**
|
|
49
|
+
* Attachment count (for badge)
|
|
50
|
+
*/
|
|
51
|
+
attachmentCount?: number;
|
|
52
|
+
/**
|
|
53
|
+
* Enable voice input
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
enableVoice?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* On voice press callback
|
|
59
|
+
*/
|
|
60
|
+
onVoicePress?: () => void;
|
|
61
|
+
/**
|
|
62
|
+
* Voice recording state
|
|
63
|
+
*/
|
|
64
|
+
isRecording?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Enable search
|
|
67
|
+
* @default false
|
|
68
|
+
*/
|
|
69
|
+
enableSearch?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* On search press callback
|
|
72
|
+
*/
|
|
73
|
+
onSearchPress?: () => void;
|
|
74
|
+
/**
|
|
75
|
+
* Show model selector
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
showModelSelector?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Selected model name
|
|
81
|
+
*/
|
|
82
|
+
selectedModel?: string;
|
|
83
|
+
/**
|
|
84
|
+
* On model select callback
|
|
85
|
+
*/
|
|
86
|
+
onModelSelect?: () => void;
|
|
87
|
+
/**
|
|
88
|
+
* Custom container style
|
|
89
|
+
*/
|
|
90
|
+
containerStyle?: ViewStyle;
|
|
91
|
+
/**
|
|
92
|
+
* Optional toolbar content rendered between the left tools and right actions.
|
|
93
|
+
*/
|
|
94
|
+
centerAccessory?: ReactNode;
|
|
95
|
+
/**
|
|
96
|
+
* Optional toolbar content rendered before built-in left tools.
|
|
97
|
+
*/
|
|
98
|
+
leftAccessory?: ReactNode;
|
|
99
|
+
/**
|
|
100
|
+
* Disable send when empty
|
|
101
|
+
* @default true
|
|
102
|
+
*/
|
|
103
|
+
disableSendWhenEmpty?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Additional TextInput props
|
|
106
|
+
*/
|
|
107
|
+
inputProps?: Omit<TextInputProps, 'value' | 'onChangeText' | 'placeholder'>;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* PromptInput - AI Chat Input for React Native
|
|
111
|
+
*
|
|
112
|
+
* Full-featured AI chat input inspired by ChatGPT
|
|
113
|
+
* Features:
|
|
114
|
+
* - Auto-growing multiline input
|
|
115
|
+
* - File attachments with count badge
|
|
116
|
+
* - Voice input support
|
|
117
|
+
* - Search functionality
|
|
118
|
+
* - Model selector
|
|
119
|
+
* - Smart send/stop button
|
|
120
|
+
* - Focus border animation
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```tsx
|
|
124
|
+
* <PromptInput
|
|
125
|
+
* value={input}
|
|
126
|
+
* onChangeText={setInput}
|
|
127
|
+
* onSend={handleSend}
|
|
128
|
+
* status="streaming"
|
|
129
|
+
* onStop={handleStop}
|
|
130
|
+
* enableAttachment
|
|
131
|
+
* enableVoice
|
|
132
|
+
* enableSearch
|
|
133
|
+
* showModelSelector
|
|
134
|
+
* selectedModel="GPT-4"
|
|
135
|
+
* />
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
export declare const PromptInput: import("react").ForwardRefExoticComponent<PromptInputProps & import("react").RefAttributes<TextInput>>;
|
|
139
|
+
//# sourceMappingURL=prompt-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../../../../../src/components/prompt-input/prompt-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAEL,SAAS,EAIT,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAatB,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;IAE5C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE/B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,cAAc,GAAG,aAAa,CAAC,CAAC;CAC7E,CAAC;AAQF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,WAAW,wGAoOtB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AIModel } from '../../types';
|
|
2
|
+
export type ProviderSelectorProps = {
|
|
3
|
+
models: AIModel[];
|
|
4
|
+
selectedModel: AIModel | null;
|
|
5
|
+
onSelect: (model: AIModel) => void;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
compact?: boolean;
|
|
8
|
+
variant?: 'chip' | 'toolbar';
|
|
9
|
+
};
|
|
10
|
+
export declare function ProviderSelector({ models, selectedModel, onSelect, disabled, compact, variant }: ProviderSelectorProps): import("react").JSX.Element | null;
|
|
11
|
+
//# sourceMappingURL=provider-selector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-selector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/prompt-input/provider-selector.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAwCF,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAgB,EAChB,OAAe,EACf,OAAgB,EACjB,EAAE,qBAAqB,sCAoVvB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type AIReasoningLevel } from '../../types';
|
|
2
|
+
export type ReasoningLevelSelectorProps = {
|
|
3
|
+
/**
|
|
4
|
+
* Available reasoning levels
|
|
5
|
+
*/
|
|
6
|
+
levels: AIReasoningLevel[];
|
|
7
|
+
/**
|
|
8
|
+
* Currently selected level
|
|
9
|
+
*/
|
|
10
|
+
selectedLevel: AIReasoningLevel | null;
|
|
11
|
+
/**
|
|
12
|
+
* Called when a level is selected
|
|
13
|
+
*/
|
|
14
|
+
onSelect: (level: AIReasoningLevel) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Disabled state
|
|
17
|
+
*/
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Accent color
|
|
21
|
+
*/
|
|
22
|
+
accentColor?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Render as compact toolbar icon button.
|
|
25
|
+
*/
|
|
26
|
+
compact?: boolean;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* ReasoningLevelSelector - Compact reasoning level picker with anchored dropdown
|
|
30
|
+
*
|
|
31
|
+
* Shows a small icon button that opens an ActionSheet to select reasoning level.
|
|
32
|
+
* Only renders if levels are provided.
|
|
33
|
+
*/
|
|
34
|
+
export declare function ReasoningLevelSelector({ levels, selectedLevel, onSelect, disabled, compact }: ReasoningLevelSelectorProps): import("react").JSX.Element | null;
|
|
35
|
+
//# sourceMappingURL=reasoning-level-selector.d.ts.map
|
package/dist/typescript/commonjs/src/components/prompt-input/reasoning-level-selector.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-level-selector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/prompt-input/reasoning-level-selector.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,MAAM,MAAM,2BAA2B,GAAG;IACxC;;OAEG;IACH,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAE3B;;OAEG;IACH,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAEvC;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAoDF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,aAAa,EACb,QAAQ,EACR,QAAgB,EAChB,OAAe,EAChB,EAAE,2BAA2B,sCA2N7B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type VoiceRecorderProps = {
|
|
2
|
+
/**
|
|
3
|
+
* Whether currently recording
|
|
4
|
+
*/
|
|
5
|
+
isRecording: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Recording duration in seconds
|
|
8
|
+
*/
|
|
9
|
+
duration: number;
|
|
10
|
+
/**
|
|
11
|
+
* Whether transcription is in progress
|
|
12
|
+
*/
|
|
13
|
+
isTranscribing?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Error message
|
|
16
|
+
*/
|
|
17
|
+
error?: string | null;
|
|
18
|
+
/**
|
|
19
|
+
* Called when recording stops
|
|
20
|
+
*/
|
|
21
|
+
onStop: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* Called when recording is cancelled
|
|
24
|
+
*/
|
|
25
|
+
onCancel?: () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Accent color
|
|
28
|
+
*/
|
|
29
|
+
accentColor?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* VoiceRecorder - Voice recording UI component
|
|
33
|
+
*
|
|
34
|
+
* Displays recording controls, duration, and visual feedback.
|
|
35
|
+
* Supports recording, stop, and cancel actions.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <VoiceRecorder
|
|
40
|
+
* isRecording={isRecording}
|
|
41
|
+
* duration={duration}
|
|
42
|
+
* onStop={stopRecording}
|
|
43
|
+
* onCancel={cancelRecording}
|
|
44
|
+
* />
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function VoiceRecorder({ isRecording, duration, isTranscribing, error, onStop, onCancel, accentColor }: VoiceRecorderProps): import("react").JSX.Element | null;
|
|
48
|
+
//# sourceMappingURL=voice-recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-recorder.d.ts","sourceRoot":"","sources":["../../../../../../src/components/prompt-input/voice-recorder.tsx"],"names":[],"mappings":"AAeA,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAYF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,QAAQ,EACR,cAAsB,EACtB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACZ,EAAE,kBAAkB,sCAoKpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/sessions-list/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type AISession, type AIAPIConfig } from '../../types';
|
|
2
|
+
export type SessionsListProps = {
|
|
3
|
+
/**
|
|
4
|
+
* API Configuration
|
|
5
|
+
*/
|
|
6
|
+
apiConfig: AIAPIConfig;
|
|
7
|
+
/**
|
|
8
|
+
* Agent ID
|
|
9
|
+
*/
|
|
10
|
+
agentId: string;
|
|
11
|
+
/**
|
|
12
|
+
* User ID (for filtering sessions)
|
|
13
|
+
*/
|
|
14
|
+
userId?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Data Source ID for sessions
|
|
17
|
+
* @default 'f42b3daa-ca43-11ed-be9d-6fe3a1a7b37c'
|
|
18
|
+
*/
|
|
19
|
+
dataSourceId?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Custom headers
|
|
22
|
+
*/
|
|
23
|
+
headers?: Record<string, string>;
|
|
24
|
+
/**
|
|
25
|
+
* On session select
|
|
26
|
+
*/
|
|
27
|
+
onSelectSession: (session: AISession) => void;
|
|
28
|
+
/**
|
|
29
|
+
* On new chat
|
|
30
|
+
*/
|
|
31
|
+
onNewChat: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Show header
|
|
34
|
+
* @default true
|
|
35
|
+
*/
|
|
36
|
+
showHeader?: boolean;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Sessions List Component
|
|
40
|
+
*
|
|
41
|
+
* Displays list of user's chat sessions with the agent.
|
|
42
|
+
* Sessions are ordered by last modified date.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* <SessionsList
|
|
47
|
+
* api="https://api.docyrus.com"
|
|
48
|
+
* agentId="agent-123"
|
|
49
|
+
* token={userToken}
|
|
50
|
+
* onSelectSession={(session) => navigate('Chat', { sessionId: session.id })}
|
|
51
|
+
* onNewChat={() => navigate('Chat')}
|
|
52
|
+
* />
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function SessionsList({ apiConfig, agentId, userId, dataSourceId, headers, onSelectSession, onNewChat, showHeader }: SessionsListProps): import("react").JSX.Element;
|
|
56
|
+
export declare namespace SessionsList {
|
|
57
|
+
var displayName: string;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sessions-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions-list.d.ts","sourceRoot":"","sources":["../../../../../../src/components/sessions-list/sessions-list.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAO/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,OAAO,EACP,MAAM,EACN,YAAqD,EACrD,OAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAiB,EAClB,EAAE,iBAAiB,+BA0nBnB;yBAnoBe,YAAY"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Hooks
|
|
3
|
+
*/
|
|
4
|
+
export { useAssistant, type UseAssistantOptions, type UseAssistantReturn } from './use-assistant';
|
|
5
|
+
export { useAgentModels, type UseAgentModelsOptions, type UseAgentModelsReturn } from './use-agent-models';
|
|
6
|
+
export { useVoiceRecorder, type UseVoiceRecorderOptions, type UseVoiceRecorderReturn, type VoiceRecorderStatus } from './use-voice-recorder';
|
|
7
|
+
export { useAttachmentPicker, type UseAttachmentPickerOptions, type UseAttachmentPickerReturn, type AttachmentType } from './use-attachment-picker';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGlG,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG3G,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type AIModel, type AgentDeployment, type AIAPIConfig } from '../types';
|
|
2
|
+
export type UseAgentModelsOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* API Configuration
|
|
5
|
+
*/
|
|
6
|
+
apiConfig: AIAPIConfig;
|
|
7
|
+
/**
|
|
8
|
+
* Agent ID
|
|
9
|
+
*/
|
|
10
|
+
agentId: string;
|
|
11
|
+
/**
|
|
12
|
+
* Deployment ID (optional)
|
|
13
|
+
*/
|
|
14
|
+
deploymentId?: string;
|
|
15
|
+
};
|
|
16
|
+
export type UseAgentModelsReturn = {
|
|
17
|
+
/**
|
|
18
|
+
* Agent deployment data
|
|
19
|
+
*/
|
|
20
|
+
deployment: AgentDeployment | null;
|
|
21
|
+
/**
|
|
22
|
+
* Available models (grouped by provider)
|
|
23
|
+
*/
|
|
24
|
+
models: AIModel[];
|
|
25
|
+
/**
|
|
26
|
+
* Selected model
|
|
27
|
+
*/
|
|
28
|
+
selectedModel: AIModel | null;
|
|
29
|
+
/**
|
|
30
|
+
* Select a model
|
|
31
|
+
*/
|
|
32
|
+
selectModel: (model: AIModel | null) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Loading state
|
|
35
|
+
*/
|
|
36
|
+
loading: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Error state
|
|
39
|
+
*/
|
|
40
|
+
error: Error | null;
|
|
41
|
+
/**
|
|
42
|
+
* Refresh deployment data
|
|
43
|
+
*/
|
|
44
|
+
refresh: () => Promise<void>;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Hook for managing agent models and deployments
|
|
48
|
+
*
|
|
49
|
+
* Fetches agent deployment data and available models from the API.
|
|
50
|
+
* Handles model selection and provides loading/error states.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* const {
|
|
55
|
+
* deployment,
|
|
56
|
+
* models,
|
|
57
|
+
* selectedModel,
|
|
58
|
+
* selectModel,
|
|
59
|
+
* loading
|
|
60
|
+
* } = useAgentModels({
|
|
61
|
+
* api: 'https://api.docyrus.com',
|
|
62
|
+
* agentId: '9979c996-0d0c-11ef-86a3-ef75fac389e0',
|
|
63
|
+
* token: userToken
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function useAgentModels(options: UseAgentModelsOptions): UseAgentModelsReturn;
|
|
68
|
+
//# sourceMappingURL=use-agent-models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-agent-models.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/use-agent-models.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAIhF,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAEnC;;OAEG;IACH,MAAM,EAAE,OAAO,EAAE,CAAC;IAElB;;OAEG;IACH,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAgFnF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import { type ScrollView, type TextInput } from 'react-native';
|
|
3
|
+
import { type AIMessage, type AIMessageFile, type AIModel, type AIAPIConfig } from '../types';
|
|
4
|
+
export type UseAssistantOptions = {
|
|
5
|
+
apiConfig: AIAPIConfig;
|
|
6
|
+
agentId: string;
|
|
7
|
+
deploymentId?: string;
|
|
8
|
+
dataSourceId?: string;
|
|
9
|
+
threadId?: string;
|
|
10
|
+
projectId?: string;
|
|
11
|
+
model?: AIModel;
|
|
12
|
+
credentials?: {
|
|
13
|
+
token?: string;
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
};
|
|
16
|
+
headers?: Record<string, string>;
|
|
17
|
+
onError?: (error: Error) => void;
|
|
18
|
+
onMessage?: (message: AIMessage) => void;
|
|
19
|
+
onFinish?: () => void;
|
|
20
|
+
maxLength?: number;
|
|
21
|
+
};
|
|
22
|
+
export type UseAssistantReturn = {
|
|
23
|
+
messages: AIMessage[];
|
|
24
|
+
addMessage: (message: AIMessage) => void;
|
|
25
|
+
clearMessages: () => void;
|
|
26
|
+
loadMessages: (threadId: string) => Promise<void>;
|
|
27
|
+
input: string;
|
|
28
|
+
setInput: (input: string) => void;
|
|
29
|
+
inputRef: RefObject<TextInput | null>;
|
|
30
|
+
sendMessage: (text?: string) => Promise<void>;
|
|
31
|
+
isLoading: boolean;
|
|
32
|
+
canSend: boolean;
|
|
33
|
+
status: 'idle' | 'streaming' | 'error' | 'submitted';
|
|
34
|
+
error: Error | null;
|
|
35
|
+
selectedModel: AIModel | null;
|
|
36
|
+
setSelectedModel: (model: AIModel | null) => void;
|
|
37
|
+
threadId: string | null;
|
|
38
|
+
setThreadId: (threadId: string | null) => void;
|
|
39
|
+
projectId: string | null;
|
|
40
|
+
setProjectId: (projectId: string | null) => void;
|
|
41
|
+
scrollViewRef: RefObject<ScrollView | null>;
|
|
42
|
+
scrollToBottom: () => void;
|
|
43
|
+
files: AIMessageFile[];
|
|
44
|
+
addFile: (file: AIMessageFile) => void;
|
|
45
|
+
removeFile: (fileId: string) => void;
|
|
46
|
+
clearFiles: () => void;
|
|
47
|
+
isRecording: boolean;
|
|
48
|
+
toggleRecording: () => void;
|
|
49
|
+
stopGeneration: () => void;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* AI Chat Hook - Powered by Vercel AI SDK
|
|
53
|
+
*/
|
|
54
|
+
export declare function useAssistant(options: UseAssistantOptions): UseAssistantReturn;
|
|
55
|
+
//# sourceMappingURL=use-assistant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-assistant.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/use-assistant.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAO/D,OAAO,EACL,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EACnE,MAAM,UAAU,CAAC;AAkClB,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,WAAW,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;IACrD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,aAAa,EAAE,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC5C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAob7E"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as ImagePicker from 'expo-image-picker';
|
|
2
|
+
import { type AIMessageFile } from '../types';
|
|
3
|
+
export type AttachmentType = 'document' | 'image' | 'camera';
|
|
4
|
+
export type UseAttachmentPickerOptions = {
|
|
5
|
+
/**
|
|
6
|
+
* Allowed document MIME types
|
|
7
|
+
* @default ['*\/*']
|
|
8
|
+
*/
|
|
9
|
+
allowedDocumentTypes?: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Allowed image media types
|
|
12
|
+
* @default ['images']
|
|
13
|
+
*/
|
|
14
|
+
allowedImageTypes?: ImagePicker.MediaType[];
|
|
15
|
+
/**
|
|
16
|
+
* Maximum number of attachments allowed
|
|
17
|
+
* @default 10
|
|
18
|
+
*/
|
|
19
|
+
maxAttachments?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Maximum file size in bytes
|
|
22
|
+
* @default 10485760 (10MB)
|
|
23
|
+
*/
|
|
24
|
+
maxFileSize?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Allow multiple file selection
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
allowMultiple?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Called when attachments change
|
|
32
|
+
*/
|
|
33
|
+
onAttachmentsChange?: (attachments: AIMessageFile[]) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Called on error
|
|
36
|
+
*/
|
|
37
|
+
onError?: (error: Error) => void;
|
|
38
|
+
};
|
|
39
|
+
export type UseAttachmentPickerReturn = {
|
|
40
|
+
/**
|
|
41
|
+
* Current attachments
|
|
42
|
+
*/
|
|
43
|
+
attachments: AIMessageFile[];
|
|
44
|
+
/**
|
|
45
|
+
* Whether picker is loading
|
|
46
|
+
*/
|
|
47
|
+
isLoading: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Pick documents from device
|
|
50
|
+
*/
|
|
51
|
+
pickDocuments: () => Promise<AIMessageFile[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Pick images from library
|
|
54
|
+
*/
|
|
55
|
+
pickImages: () => Promise<AIMessageFile[]>;
|
|
56
|
+
/**
|
|
57
|
+
* Take a photo with camera
|
|
58
|
+
*/
|
|
59
|
+
takePhoto: () => Promise<AIMessageFile | null>;
|
|
60
|
+
/**
|
|
61
|
+
* Add a single attachment
|
|
62
|
+
*/
|
|
63
|
+
addAttachment: (attachment: AIMessageFile) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Remove an attachment by ID
|
|
66
|
+
*/
|
|
67
|
+
removeAttachment: (id: string) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Clear all attachments
|
|
70
|
+
*/
|
|
71
|
+
clearAttachments: () => void;
|
|
72
|
+
/**
|
|
73
|
+
* Error message if any
|
|
74
|
+
*/
|
|
75
|
+
error: Error | null;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Hook for picking and managing attachments
|
|
79
|
+
*
|
|
80
|
+
* Supports documents via expo-document-picker and images via expo-image-picker.
|
|
81
|
+
* Converts picked files to AIMessageFile format.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ```tsx
|
|
85
|
+
* const {
|
|
86
|
+
* attachments,
|
|
87
|
+
* pickDocuments,
|
|
88
|
+
* pickImages,
|
|
89
|
+
* takePhoto,
|
|
90
|
+
* removeAttachment,
|
|
91
|
+
* clearAttachments
|
|
92
|
+
* } = useAttachmentPicker({
|
|
93
|
+
* maxAttachments: 5,
|
|
94
|
+
* onAttachmentsChange: (files) => console.log('Attachments:', files)
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export declare function useAttachmentPicker(options?: UseAttachmentPickerOptions): UseAttachmentPickerReturn;
|
|
99
|
+
//# sourceMappingURL=use-attachment-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-attachment-picker.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/use-attachment-picker.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,MAAM,MAAM,0BAA0B,GAAG;IACvC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;IAE5C;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAE7D;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,WAAW,EAAE,aAAa,EAAE,CAAC;IAE7B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9C;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE3C;;OAEG;IACH,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IAEnD;;OAEG;IACH,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAE7B;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAoDF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,yBAAyB,CAsTvG"}
|