mistagent 0.1.0
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/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/src/api/auth.d.ts +7 -0
- package/dist/src/api/auth.d.ts.map +1 -0
- package/dist/src/api/auth.js +16 -0
- package/dist/src/api/auth.js.map +1 -0
- package/dist/src/api/chat.d.ts +8 -0
- package/dist/src/api/chat.d.ts.map +1 -0
- package/dist/src/api/chat.js +14 -0
- package/dist/src/api/chat.js.map +1 -0
- package/dist/src/api/client.d.ts +22 -0
- package/dist/src/api/client.d.ts.map +1 -0
- package/dist/src/api/client.js +140 -0
- package/dist/src/api/client.js.map +1 -0
- package/dist/src/api/commands.d.ts +8 -0
- package/dist/src/api/commands.d.ts.map +1 -0
- package/dist/src/api/commands.js +13 -0
- package/dist/src/api/commands.js.map +1 -0
- package/dist/src/api/models.d.ts +9 -0
- package/dist/src/api/models.d.ts.map +1 -0
- package/dist/src/api/models.js +13 -0
- package/dist/src/api/models.js.map +1 -0
- package/dist/src/api/sessions.d.ts +25 -0
- package/dist/src/api/sessions.d.ts.map +1 -0
- package/dist/src/api/sessions.js +26 -0
- package/dist/src/api/sessions.js.map +1 -0
- package/dist/src/api/tools.d.ts +7 -0
- package/dist/src/api/tools.d.ts.map +1 -0
- package/dist/src/api/tools.js +8 -0
- package/dist/src/api/tools.js.map +1 -0
- package/dist/src/components/App.d.ts +22 -0
- package/dist/src/components/App.d.ts.map +1 -0
- package/dist/src/components/App.js +61 -0
- package/dist/src/components/App.js.map +1 -0
- package/dist/src/components/AppLayout.d.ts +8 -0
- package/dist/src/components/AppLayout.d.ts.map +1 -0
- package/dist/src/components/AppLayout.js +18 -0
- package/dist/src/components/AppLayout.js.map +1 -0
- package/dist/src/components/Composer.d.ts +8 -0
- package/dist/src/components/Composer.d.ts.map +1 -0
- package/dist/src/components/Composer.js +294 -0
- package/dist/src/components/Composer.js.map +1 -0
- package/dist/src/components/Footer.d.ts +10 -0
- package/dist/src/components/Footer.d.ts.map +1 -0
- package/dist/src/components/Footer.js +34 -0
- package/dist/src/components/Footer.js.map +1 -0
- package/dist/src/components/Header.d.ts +3 -0
- package/dist/src/components/Header.d.ts.map +1 -0
- package/dist/src/components/Header.js +99 -0
- package/dist/src/components/Header.js.map +1 -0
- package/dist/src/components/HistoryItemDisplay.d.ts +8 -0
- package/dist/src/components/HistoryItemDisplay.d.ts.map +1 -0
- package/dist/src/components/HistoryItemDisplay.js +32 -0
- package/dist/src/components/HistoryItemDisplay.js.map +1 -0
- package/dist/src/components/InputPrompt.d.ts +11 -0
- package/dist/src/components/InputPrompt.d.ts.map +1 -0
- package/dist/src/components/InputPrompt.js +12 -0
- package/dist/src/components/InputPrompt.js.map +1 -0
- package/dist/src/components/LoadingIndicator.d.ts +8 -0
- package/dist/src/components/LoadingIndicator.d.ts.map +1 -0
- package/dist/src/components/LoadingIndicator.js +17 -0
- package/dist/src/components/LoadingIndicator.js.map +1 -0
- package/dist/src/components/LoginPrompt.d.ts +8 -0
- package/dist/src/components/LoginPrompt.d.ts.map +1 -0
- package/dist/src/components/LoginPrompt.js +76 -0
- package/dist/src/components/LoginPrompt.js.map +1 -0
- package/dist/src/components/MainContent.d.ts +3 -0
- package/dist/src/components/MainContent.d.ts.map +1 -0
- package/dist/src/components/MainContent.js +22 -0
- package/dist/src/components/MainContent.js.map +1 -0
- package/dist/src/components/ModelPicker.d.ts +3 -0
- package/dist/src/components/ModelPicker.d.ts.map +1 -0
- package/dist/src/components/ModelPicker.js +119 -0
- package/dist/src/components/ModelPicker.js.map +1 -0
- package/dist/src/components/MultiLineInput.d.ts +19 -0
- package/dist/src/components/MultiLineInput.d.ts.map +1 -0
- package/dist/src/components/MultiLineInput.js +108 -0
- package/dist/src/components/MultiLineInput.js.map +1 -0
- package/dist/src/components/SessionPicker.d.ts +3 -0
- package/dist/src/components/SessionPicker.d.ts.map +1 -0
- package/dist/src/components/SessionPicker.js +131 -0
- package/dist/src/components/SessionPicker.js.map +1 -0
- package/dist/src/components/SuggestionsDisplay.d.ts +16 -0
- package/dist/src/components/SuggestionsDisplay.d.ts.map +1 -0
- package/dist/src/components/SuggestionsDisplay.js +34 -0
- package/dist/src/components/SuggestionsDisplay.js.map +1 -0
- package/dist/src/components/messages/AssistantMessage.d.ts +8 -0
- package/dist/src/components/messages/AssistantMessage.d.ts.map +1 -0
- package/dist/src/components/messages/AssistantMessage.js +9 -0
- package/dist/src/components/messages/AssistantMessage.js.map +1 -0
- package/dist/src/components/messages/CommandResult.d.ts +8 -0
- package/dist/src/components/messages/CommandResult.d.ts.map +1 -0
- package/dist/src/components/messages/CommandResult.js +7 -0
- package/dist/src/components/messages/CommandResult.js.map +1 -0
- package/dist/src/components/messages/ErrorMessage.d.ts +7 -0
- package/dist/src/components/messages/ErrorMessage.d.ts.map +1 -0
- package/dist/src/components/messages/ErrorMessage.js +7 -0
- package/dist/src/components/messages/ErrorMessage.js.map +1 -0
- package/dist/src/components/messages/InfoMessage.d.ts +9 -0
- package/dist/src/components/messages/InfoMessage.d.ts.map +1 -0
- package/dist/src/components/messages/InfoMessage.js +8 -0
- package/dist/src/components/messages/InfoMessage.js.map +1 -0
- package/dist/src/components/messages/ModelMessage.d.ts +8 -0
- package/dist/src/components/messages/ModelMessage.d.ts.map +1 -0
- package/dist/src/components/messages/ModelMessage.js +7 -0
- package/dist/src/components/messages/ModelMessage.js.map +1 -0
- package/dist/src/components/messages/SessionMessage.d.ts +8 -0
- package/dist/src/components/messages/SessionMessage.d.ts.map +1 -0
- package/dist/src/components/messages/SessionMessage.js +12 -0
- package/dist/src/components/messages/SessionMessage.js.map +1 -0
- package/dist/src/components/messages/ToolCallMessage.d.ts +9 -0
- package/dist/src/components/messages/ToolCallMessage.d.ts.map +1 -0
- package/dist/src/components/messages/ToolCallMessage.js +14 -0
- package/dist/src/components/messages/ToolCallMessage.js.map +1 -0
- package/dist/src/components/messages/UserMessage.d.ts +7 -0
- package/dist/src/components/messages/UserMessage.d.ts.map +1 -0
- package/dist/src/components/messages/UserMessage.js +9 -0
- package/dist/src/components/messages/UserMessage.js.map +1 -0
- package/dist/src/components/shared/HorizontalLine.d.ts +11 -0
- package/dist/src/components/shared/HorizontalLine.d.ts.map +1 -0
- package/dist/src/components/shared/HorizontalLine.js +10 -0
- package/dist/src/components/shared/HorizontalLine.js.map +1 -0
- package/dist/src/components/shared/MarkdownRenderer.d.ts +7 -0
- package/dist/src/components/shared/MarkdownRenderer.d.ts.map +1 -0
- package/dist/src/components/shared/MarkdownRenderer.js +33 -0
- package/dist/src/components/shared/MarkdownRenderer.js.map +1 -0
- package/dist/src/components/shared/Spinner.d.ts +8 -0
- package/dist/src/components/shared/Spinner.d.ts.map +1 -0
- package/dist/src/components/shared/Spinner.js +7 -0
- package/dist/src/components/shared/Spinner.js.map +1 -0
- package/dist/src/components/shared/TextInput.d.ts +10 -0
- package/dist/src/components/shared/TextInput.d.ts.map +1 -0
- package/dist/src/components/shared/TextInput.js +110 -0
- package/dist/src/components/shared/TextInput.js.map +1 -0
- package/dist/src/contexts/AppContext.d.ts +21 -0
- package/dist/src/contexts/AppContext.d.ts.map +1 -0
- package/dist/src/contexts/AppContext.js +16 -0
- package/dist/src/contexts/AppContext.js.map +1 -0
- package/dist/src/contexts/ChatContext.d.ts +68 -0
- package/dist/src/contexts/ChatContext.d.ts.map +1 -0
- package/dist/src/contexts/ChatContext.js +158 -0
- package/dist/src/contexts/ChatContext.js.map +1 -0
- package/dist/src/contexts/KeypressContext.d.ts +47 -0
- package/dist/src/contexts/KeypressContext.d.ts.map +1 -0
- package/dist/src/contexts/KeypressContext.js +792 -0
- package/dist/src/contexts/KeypressContext.js.map +1 -0
- package/dist/src/contexts/ModelContext.d.ts +20 -0
- package/dist/src/contexts/ModelContext.d.ts.map +1 -0
- package/dist/src/contexts/ModelContext.js +42 -0
- package/dist/src/contexts/ModelContext.js.map +1 -0
- package/dist/src/contexts/PasteContext.d.ts +8 -0
- package/dist/src/contexts/PasteContext.d.ts.map +1 -0
- package/dist/src/contexts/PasteContext.js +12 -0
- package/dist/src/contexts/PasteContext.js.map +1 -0
- package/dist/src/contexts/SessionContext.d.ts +19 -0
- package/dist/src/contexts/SessionContext.d.ts.map +1 -0
- package/dist/src/contexts/SessionContext.js +56 -0
- package/dist/src/contexts/SessionContext.js.map +1 -0
- package/dist/src/contexts/UIContext.d.ts +15 -0
- package/dist/src/contexts/UIContext.d.ts.map +1 -0
- package/dist/src/contexts/UIContext.js +16 -0
- package/dist/src/contexts/UIContext.js.map +1 -0
- package/dist/src/hooks/useChat.d.ts +11 -0
- package/dist/src/hooks/useChat.d.ts.map +1 -0
- package/dist/src/hooks/useChat.js +146 -0
- package/dist/src/hooks/useChat.js.map +1 -0
- package/dist/src/hooks/useFileCompletion.d.ts +8 -0
- package/dist/src/hooks/useFileCompletion.d.ts.map +1 -0
- package/dist/src/hooks/useFileCompletion.js +75 -0
- package/dist/src/hooks/useFileCompletion.js.map +1 -0
- package/dist/src/hooks/useInputHistory.d.ts +6 -0
- package/dist/src/hooks/useInputHistory.d.ts.map +1 -0
- package/dist/src/hooks/useInputHistory.js +46 -0
- package/dist/src/hooks/useInputHistory.js.map +1 -0
- package/dist/src/hooks/useKeypress.d.ts +16 -0
- package/dist/src/hooks/useKeypress.d.ts.map +1 -0
- package/dist/src/hooks/useKeypress.js +23 -0
- package/dist/src/hooks/useKeypress.js.map +1 -0
- package/dist/src/hooks/useLoadingIndicator.d.ts +5 -0
- package/dist/src/hooks/useLoadingIndicator.d.ts.map +1 -0
- package/dist/src/hooks/useLoadingIndicator.js +31 -0
- package/dist/src/hooks/useLoadingIndicator.js.map +1 -0
- package/dist/src/hooks/useMultiLineInput.d.ts +37 -0
- package/dist/src/hooks/useMultiLineInput.d.ts.map +1 -0
- package/dist/src/hooks/useMultiLineInput.js +202 -0
- package/dist/src/hooks/useMultiLineInput.js.map +1 -0
- package/dist/src/hooks/usePasteBuffer.d.ts +10 -0
- package/dist/src/hooks/usePasteBuffer.d.ts.map +1 -0
- package/dist/src/hooks/usePasteBuffer.js +90 -0
- package/dist/src/hooks/usePasteBuffer.js.map +1 -0
- package/dist/src/hooks/useSlashCommand.d.ts +6 -0
- package/dist/src/hooks/useSlashCommand.d.ts.map +1 -0
- package/dist/src/hooks/useSlashCommand.js +198 -0
- package/dist/src/hooks/useSlashCommand.js.map +1 -0
- package/dist/src/hooks/useStdinInterceptor.d.ts +2 -0
- package/dist/src/hooks/useStdinInterceptor.d.ts.map +1 -0
- package/dist/src/hooks/useStdinInterceptor.js +85 -0
- package/dist/src/hooks/useStdinInterceptor.js.map +1 -0
- package/dist/src/hooks/useSymbolCompletion.d.ts +10 -0
- package/dist/src/hooks/useSymbolCompletion.d.ts.map +1 -0
- package/dist/src/hooks/useSymbolCompletion.js +65 -0
- package/dist/src/hooks/useSymbolCompletion.js.map +1 -0
- package/dist/src/hooks/useTextBuffer.d.ts +37 -0
- package/dist/src/hooks/useTextBuffer.d.ts.map +1 -0
- package/dist/src/hooks/useTextBuffer.js +627 -0
- package/dist/src/hooks/useTextBuffer.js.map +1 -0
- package/dist/src/main.d.ts +2 -0
- package/dist/src/main.d.ts.map +1 -0
- package/dist/src/main.js +152 -0
- package/dist/src/main.js.map +1 -0
- package/dist/src/tools/code-analyzer/config/ignore-service.d.ts +2 -0
- package/dist/src/tools/code-analyzer/config/ignore-service.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/config/ignore-service.js +209 -0
- package/dist/src/tools/code-analyzer/config/ignore-service.js.map +1 -0
- package/dist/src/tools/code-analyzer/config/supported-languages.d.ts +13 -0
- package/dist/src/tools/code-analyzer/config/supported-languages.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/config/supported-languages.js +17 -0
- package/dist/src/tools/code-analyzer/config/supported-languages.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/graph/graph.d.ts +3 -0
- package/dist/src/tools/code-analyzer/core/graph/graph.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/graph/graph.js +67 -0
- package/dist/src/tools/code-analyzer/core/graph/graph.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/graph/types.d.ts +62 -0
- package/dist/src/tools/code-analyzer/core/graph/types.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/graph/types.js +2 -0
- package/dist/src/tools/code-analyzer/core/graph/types.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.d.ts +12 -0
- package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.js +35 -0
- package/dist/src/tools/code-analyzer/core/ingestion/ast-cache.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/call-processor.d.ts +16 -0
- package/dist/src/tools/code-analyzer/core/ingestion/call-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/call-processor.js +328 -0
- package/dist/src/tools/code-analyzer/core/ingestion/call-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/community-processor.d.ts +40 -0
- package/dist/src/tools/code-analyzer/core/ingestion/community-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/community-processor.js +328 -0
- package/dist/src/tools/code-analyzer/core/ingestion/community-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.d.ts +40 -0
- package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.js +236 -0
- package/dist/src/tools/code-analyzer/core/ingestion/entry-point-scoring.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.d.ts +29 -0
- package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.js +81 -0
- package/dist/src/tools/code-analyzer/core/ingestion/filesystem-walker.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.d.ts +39 -0
- package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.js +184 -0
- package/dist/src/tools/code-analyzer/core/ingestion/framework-detection.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.d.ts +21 -0
- package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.js +198 -0
- package/dist/src/tools/code-analyzer/core/ingestion/heritage-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/import-processor.d.ts +39 -0
- package/dist/src/tools/code-analyzer/core/ingestion/import-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/import-processor.js +791 -0
- package/dist/src/tools/code-analyzer/core/ingestion/import-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.d.ts +16 -0
- package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.js +296 -0
- package/dist/src/tools/code-analyzer/core/ingestion/parsing-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/pipeline.d.ts +3 -0
- package/dist/src/tools/code-analyzer/core/ingestion/pipeline.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/pipeline.js +309 -0
- package/dist/src/tools/code-analyzer/core/ingestion/pipeline.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/process-processor.d.ts +52 -0
- package/dist/src/tools/code-analyzer/core/ingestion/process-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/process-processor.js +310 -0
- package/dist/src/tools/code-analyzer/core/ingestion/process-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.d.ts +3 -0
- package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.js +37 -0
- package/dist/src/tools/code-analyzer/core/ingestion/structure-processor.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.d.ts +34 -0
- package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.js +39 -0
- package/dist/src/tools/code-analyzer/core/ingestion/symbol-table.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.d.ts +13 -0
- package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.js +355 -0
- package/dist/src/tools/code-analyzer/core/ingestion/tree-sitter-queries.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/utils.d.ts +11 -0
- package/dist/src/tools/code-analyzer/core/ingestion/utils.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/utils.js +48 -0
- package/dist/src/tools/code-analyzer/core/ingestion/utils.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.d.ts +59 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.js +538 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/parse-worker.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.d.ts +17 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.js +121 -0
- package/dist/src/tools/code-analyzer/core/ingestion/workers/worker-pool.js.map +1 -0
- package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.d.ts +5 -0
- package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.js +45 -0
- package/dist/src/tools/code-analyzer/core/tree-sitter/parser-loader.js.map +1 -0
- package/dist/src/tools/code-analyzer/index.d.ts +17 -0
- package/dist/src/tools/code-analyzer/index.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/index.js +15 -0
- package/dist/src/tools/code-analyzer/index.js.map +1 -0
- package/dist/src/tools/code-analyzer/lib/utils.d.ts +2 -0
- package/dist/src/tools/code-analyzer/lib/utils.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/lib/utils.js +4 -0
- package/dist/src/tools/code-analyzer/lib/utils.js.map +1 -0
- package/dist/src/tools/code-analyzer/types/pipeline.d.ts +33 -0
- package/dist/src/tools/code-analyzer/types/pipeline.d.ts.map +1 -0
- package/dist/src/tools/code-analyzer/types/pipeline.js +19 -0
- package/dist/src/tools/code-analyzer/types/pipeline.js.map +1 -0
- package/dist/src/types/api.d.ts +124 -0
- package/dist/src/types/api.d.ts.map +1 -0
- package/dist/src/types/api.js +3 -0
- package/dist/src/types/api.js.map +1 -0
- package/dist/src/types/history.d.ts +49 -0
- package/dist/src/types/history.d.ts.map +1 -0
- package/dist/src/types/history.js +10 -0
- package/dist/src/types/history.js.map +1 -0
- package/dist/src/utils/colors.d.ts +40 -0
- package/dist/src/utils/colors.d.ts.map +1 -0
- package/dist/src/utils/colors.js +48 -0
- package/dist/src/utils/colors.js.map +1 -0
- package/dist/src/utils/config.d.ts +13 -0
- package/dist/src/utils/config.d.ts.map +1 -0
- package/dist/src/utils/config.js +74 -0
- package/dist/src/utils/config.js.map +1 -0
- package/dist/src/utils/constants.d.ts +8 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/constants.js +48 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/fileRef.d.ts +26 -0
- package/dist/src/utils/fileRef.d.ts.map +1 -0
- package/dist/src/utils/fileRef.js +305 -0
- package/dist/src/utils/fileRef.js.map +1 -0
- package/dist/src/utils/formatters.d.ts +4 -0
- package/dist/src/utils/formatters.d.ts.map +1 -0
- package/dist/src/utils/formatters.js +18 -0
- package/dist/src/utils/formatters.js.map +1 -0
- package/dist/src/utils/pasteTransform.d.ts +37 -0
- package/dist/src/utils/pasteTransform.d.ts.map +1 -0
- package/dist/src/utils/pasteTransform.js +161 -0
- package/dist/src/utils/pasteTransform.js.map +1 -0
- package/dist/src/utils/pasteUtils.d.ts +7 -0
- package/dist/src/utils/pasteUtils.d.ts.map +1 -0
- package/dist/src/utils/pasteUtils.js +33 -0
- package/dist/src/utils/pasteUtils.js.map +1 -0
- package/dist/src/utils/textUtils.d.ts +25 -0
- package/dist/src/utils/textUtils.d.ts.map +1 -0
- package/dist/src/utils/textUtils.js +107 -0
- package/dist/src/utils/textUtils.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../src/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ModelInfo, ModelCurrent } from '../types/api.js';
|
|
3
|
+
export interface ModelState {
|
|
4
|
+
models: ModelInfo[];
|
|
5
|
+
currentModel: ModelCurrent | null;
|
|
6
|
+
}
|
|
7
|
+
export interface ModelActions {
|
|
8
|
+
switchModel: (provider: string, model: string) => Promise<void>;
|
|
9
|
+
refreshModels: () => Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function useModelState(): ModelState;
|
|
12
|
+
export declare function useModelActions(): ModelActions;
|
|
13
|
+
interface ModelProviderProps {
|
|
14
|
+
initialModels: ModelInfo[];
|
|
15
|
+
initialCurrent: ModelCurrent | null;
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
export declare function ModelProvider({ initialModels, initialCurrent, children, }: ModelProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=ModelContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/ModelContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED,UAAU,kBAAkB;IAC1B,aAAa,EAAE,SAAS,EAAE,CAAC;IAC3B,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAC5B,aAAa,EACb,cAAc,EACd,QAAQ,GACT,EAAE,kBAAkB,2CAkCpB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useState, useCallback, } from 'react';
|
|
3
|
+
import { modelsApi } from '../api/models.js';
|
|
4
|
+
const ModelStateContext = createContext(null);
|
|
5
|
+
const ModelActionsContext = createContext(null);
|
|
6
|
+
export function useModelState() {
|
|
7
|
+
const ctx = useContext(ModelStateContext);
|
|
8
|
+
if (!ctx)
|
|
9
|
+
throw new Error('useModelState must be used within ModelProvider');
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
12
|
+
export function useModelActions() {
|
|
13
|
+
const ctx = useContext(ModelActionsContext);
|
|
14
|
+
if (!ctx)
|
|
15
|
+
throw new Error('useModelActions must be used within ModelProvider');
|
|
16
|
+
return ctx;
|
|
17
|
+
}
|
|
18
|
+
export function ModelProvider({ initialModels, initialCurrent, children, }) {
|
|
19
|
+
const [models, setModels] = useState(initialModels);
|
|
20
|
+
const [currentModel, setCurrentModel] = useState(initialCurrent);
|
|
21
|
+
const refreshModels = useCallback(async () => {
|
|
22
|
+
try {
|
|
23
|
+
const [modelsRes, currentRes] = await Promise.all([
|
|
24
|
+
modelsApi.list(),
|
|
25
|
+
modelsApi.current(),
|
|
26
|
+
]);
|
|
27
|
+
setModels(modelsRes.models);
|
|
28
|
+
setCurrentModel(currentRes);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Silently fail
|
|
32
|
+
}
|
|
33
|
+
}, []);
|
|
34
|
+
const switchModel = useCallback(async (provider, model) => {
|
|
35
|
+
const result = await modelsApi.switch(provider, model);
|
|
36
|
+
setCurrentModel(result);
|
|
37
|
+
}, []);
|
|
38
|
+
const state = { models, currentModel };
|
|
39
|
+
const actions = { switchModel, refreshModels };
|
|
40
|
+
return (_jsx(ModelStateContext.Provider, { value: state, children: _jsx(ModelActionsContext.Provider, { value: actions, children: children }) }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ModelContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelContext.js","sourceRoot":"","sources":["../../../src/contexts/ModelContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAa7C,MAAM,iBAAiB,GAAG,aAAa,CAAoB,IAAI,CAAC,CAAC;AACjE,MAAM,mBAAmB,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AAErE,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC;AAQD,MAAM,UAAU,aAAa,CAAC,EAC5B,aAAa,EACb,cAAc,EACd,QAAQ,GACW;IACnB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAc,aAAa,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAC9C,cAAc,CACf,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,SAAS,CAAC,IAAI,EAAE;gBAChB,SAAS,CAAC,OAAO,EAAE;aACpB,CAAC,CAAC;YACH,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5B,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;QACxE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvD,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAe,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACnD,MAAM,OAAO,GAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IAE7D,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACzC,QAAQ,GACoB,GACJ,CAC9B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PasteTransform } from '../utils/pasteTransform.js';
|
|
3
|
+
export declare const PasteProvider: React.FC<{
|
|
4
|
+
value: PasteTransform;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function usePasteTransform(): PasteTransform;
|
|
8
|
+
//# sourceMappingURL=PasteContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasteContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/PasteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAIjE,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAEA,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,cAAc,CAMlD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
const PasteContext = createContext(null);
|
|
4
|
+
export const PasteProvider = ({ value, children }) => (_jsx(PasteContext.Provider, { value: value, children: children }));
|
|
5
|
+
export function usePasteTransform() {
|
|
6
|
+
const ctx = useContext(PasteContext);
|
|
7
|
+
if (!ctx) {
|
|
8
|
+
throw new Error('usePasteTransform must be used within a PasteProvider');
|
|
9
|
+
}
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=PasteContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasteContext.js","sourceRoot":"","sources":["../../../src/contexts/PasteContext.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGzD,MAAM,YAAY,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAGrB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC5B,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CACxE,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { SessionInfo } from '../types/api.js';
|
|
3
|
+
export interface SessionState {
|
|
4
|
+
sessions: SessionInfo[];
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface SessionActions {
|
|
8
|
+
refreshSessions: () => Promise<void>;
|
|
9
|
+
createSession: () => Promise<string>;
|
|
10
|
+
deleteSession: (threadId: string) => Promise<void>;
|
|
11
|
+
renameSession: (threadId: string, title: string) => Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSessionState(): SessionState;
|
|
14
|
+
export declare function useSessionActions(): SessionActions;
|
|
15
|
+
export declare function SessionProvider({ children, initialSessions }: {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
initialSessions?: SessionInfo[];
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=SessionContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/SessionContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAKD,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,eAAoB,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,2CAqD3H"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useState, useCallback, } from 'react';
|
|
3
|
+
import { sessionsApi } from '../api/sessions.js';
|
|
4
|
+
const SessionStateContext = createContext(null);
|
|
5
|
+
const SessionActionsContext = createContext(null);
|
|
6
|
+
export function useSessionState() {
|
|
7
|
+
const ctx = useContext(SessionStateContext);
|
|
8
|
+
if (!ctx)
|
|
9
|
+
throw new Error('useSessionState must be used within SessionProvider');
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
12
|
+
export function useSessionActions() {
|
|
13
|
+
const ctx = useContext(SessionActionsContext);
|
|
14
|
+
if (!ctx)
|
|
15
|
+
throw new Error('useSessionActions must be used within SessionProvider');
|
|
16
|
+
return ctx;
|
|
17
|
+
}
|
|
18
|
+
export function SessionProvider({ children, initialSessions = [] }) {
|
|
19
|
+
const [sessions, setSessions] = useState(initialSessions);
|
|
20
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
21
|
+
const refreshSessions = useCallback(async () => {
|
|
22
|
+
setIsLoading(true);
|
|
23
|
+
try {
|
|
24
|
+
const res = await sessionsApi.list();
|
|
25
|
+
setSessions(res.sessions);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Silently fail - sessions will remain empty
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
setIsLoading(false);
|
|
32
|
+
}
|
|
33
|
+
}, []);
|
|
34
|
+
const createSession = useCallback(async () => {
|
|
35
|
+
const res = await sessionsApi.create();
|
|
36
|
+
await refreshSessions();
|
|
37
|
+
return res.thread_id;
|
|
38
|
+
}, [refreshSessions]);
|
|
39
|
+
const deleteSession = useCallback(async (threadId) => {
|
|
40
|
+
await sessionsApi.delete(threadId);
|
|
41
|
+
await refreshSessions();
|
|
42
|
+
}, [refreshSessions]);
|
|
43
|
+
const renameSession = useCallback(async (threadId, title) => {
|
|
44
|
+
await sessionsApi.rename(threadId, title);
|
|
45
|
+
await refreshSessions();
|
|
46
|
+
}, [refreshSessions]);
|
|
47
|
+
const state = { sessions, isLoading };
|
|
48
|
+
const actions = {
|
|
49
|
+
refreshSessions,
|
|
50
|
+
createSession,
|
|
51
|
+
deleteSession,
|
|
52
|
+
renameSession,
|
|
53
|
+
};
|
|
54
|
+
return (_jsx(SessionStateContext.Provider, { value: state, children: _jsx(SessionActionsContext.Provider, { value: actions, children: children }) }));
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=SessionContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionContext.js","sourceRoot":"","sources":["../../../src/contexts/SessionContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAejD,MAAM,mBAAmB,GAAG,aAAa,CAAsB,IAAI,CAAC,CAAC;AACrE,MAAM,qBAAqB,GAAG,aAAa,CAAwB,IAAI,CAAC,CAAC;AAEzE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;IAC9C,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,eAAe,GAAG,EAAE,EAA4D;IAC1H,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,eAAe,CAAC,CAAC;IACzE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC7C,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YACrC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,SAAS,CAAC;IACvB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,QAAgB,EAAE,EAAE;QACzB,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;QACxC,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC,EACD,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,KAAK,GAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpD,MAAM,OAAO,GAAmB;QAC9B,eAAe;QACf,aAAa;QACb,aAAa;QACb,aAAa;KACd,CAAC;IAEF,OAAO,CACL,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACxC,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YAC3C,QAAQ,GACsB,GACJ,CAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type DialogType = 'none' | 'session_browser' | 'model_selector' | 'help';
|
|
2
|
+
export interface UIState {
|
|
3
|
+
terminalWidth: number;
|
|
4
|
+
terminalHeight: number;
|
|
5
|
+
activeDialog: DialogType;
|
|
6
|
+
}
|
|
7
|
+
export interface UIActions {
|
|
8
|
+
openDialog: (dialog: DialogType) => void;
|
|
9
|
+
closeDialog: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const UIStateContext: import("react").Context<UIState | null>;
|
|
12
|
+
export declare const UIActionsContext: import("react").Context<UIActions | null>;
|
|
13
|
+
export declare function useUIState(): UIState;
|
|
14
|
+
export declare function useUIActions(): UIActions;
|
|
15
|
+
//# sourceMappingURL=UIContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/UIContext.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,iBAAiB,GACjB,gBAAgB,GAChB,MAAM,CAAC;AAEX,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,UAAU,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,yCAAsC,CAAC;AAClE,eAAO,MAAM,gBAAgB,2CAAwC,CAAC;AAEtE,wBAAgB,UAAU,IAAI,OAAO,CAIpC;AAED,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
export const UIStateContext = createContext(null);
|
|
3
|
+
export const UIActionsContext = createContext(null);
|
|
4
|
+
export function useUIState() {
|
|
5
|
+
const ctx = useContext(UIStateContext);
|
|
6
|
+
if (!ctx)
|
|
7
|
+
throw new Error('useUIState must be used within UIStateContext');
|
|
8
|
+
return ctx;
|
|
9
|
+
}
|
|
10
|
+
export function useUIActions() {
|
|
11
|
+
const ctx = useContext(UIActionsContext);
|
|
12
|
+
if (!ctx)
|
|
13
|
+
throw new Error('useUIActions must be used within UIActionsContext');
|
|
14
|
+
return ctx;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=UIContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIContext.js","sourceRoot":"","sources":["../../../src/contexts/UIContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAmBlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAC;AAEtE,MAAM,UAAU,UAAU;IACxB,MAAM,GAAG,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC3E,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzC,IAAI,CAAC,GAAG;QACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StreamingState } from '../contexts/ChatContext.js';
|
|
2
|
+
export declare function useChat(): {
|
|
3
|
+
sendMessage: (message: string) => Promise<void>;
|
|
4
|
+
cancelStream: () => Promise<void>;
|
|
5
|
+
streamingState: StreamingState;
|
|
6
|
+
pendingContent: string;
|
|
7
|
+
history: import("../types/history.js").HistoryItem[];
|
|
8
|
+
threadId: string | null;
|
|
9
|
+
sessionTitle: string | null;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=useChat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChat.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,cAAc,EACf,MAAM,4BAA4B,CAAC;AASpC,wBAAgB,OAAO;2BAMH,MAAM;;;;;;;EA+IzB"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
import { createParser } from 'eventsource-parser';
|
|
3
|
+
import { writeFileSync, mkdirSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { chatApi } from '../api/chat.js';
|
|
6
|
+
import { processFileReferences } from '../utils/fileRef.js';
|
|
7
|
+
import { DEBUG_LOG_AITEXT, DEBUG_AITEXT_FILE, CODE_ANALYZER_DIR } from '../utils/config.js';
|
|
8
|
+
import { useChatState, useChatDispatch, StreamingState, } from '../contexts/ChatContext.js';
|
|
9
|
+
export function useChat() {
|
|
10
|
+
const state = useChatState();
|
|
11
|
+
const dispatch = useChatDispatch();
|
|
12
|
+
const abortRef = useRef(null);
|
|
13
|
+
const sendMessage = useCallback(async (message) => {
|
|
14
|
+
if (state.streamingState !== StreamingState.Idle)
|
|
15
|
+
return;
|
|
16
|
+
// Process @file references: displayText for UI, aiText for AI
|
|
17
|
+
const { displayText, aiText } = processFileReferences(message);
|
|
18
|
+
// DEBUG: dump aiText to file for inspection
|
|
19
|
+
if (DEBUG_LOG_AITEXT) {
|
|
20
|
+
try {
|
|
21
|
+
const debugDir = join(process.cwd(), CODE_ANALYZER_DIR);
|
|
22
|
+
mkdirSync(debugDir, { recursive: true });
|
|
23
|
+
writeFileSync(join(debugDir, DEBUG_AITEXT_FILE), aiText, 'utf-8');
|
|
24
|
+
}
|
|
25
|
+
catch { /* ignore */ }
|
|
26
|
+
}
|
|
27
|
+
// Add user message to history (show display text only, without file contents)
|
|
28
|
+
dispatch({ type: 'ADD_ITEM', item: { type: 'user', text: displayText } });
|
|
29
|
+
try {
|
|
30
|
+
const reader = await chatApi.stream(aiText, state.threadId);
|
|
31
|
+
const decoder = new TextDecoder();
|
|
32
|
+
const abort = new AbortController();
|
|
33
|
+
abortRef.current = abort;
|
|
34
|
+
const parser = createParser({
|
|
35
|
+
onEvent(event) {
|
|
36
|
+
if (abort.signal.aborted)
|
|
37
|
+
return;
|
|
38
|
+
try {
|
|
39
|
+
switch (event.event) {
|
|
40
|
+
case 'session_info': {
|
|
41
|
+
const data = JSON.parse(event.data);
|
|
42
|
+
dispatch({ type: 'STREAM_START', threadId: data.thread_id });
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
case 'session_title': {
|
|
46
|
+
const data = JSON.parse(event.data);
|
|
47
|
+
dispatch({
|
|
48
|
+
type: 'SET_SESSION_TITLE',
|
|
49
|
+
title: data.title,
|
|
50
|
+
});
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
case 'text': {
|
|
54
|
+
const data = JSON.parse(event.data);
|
|
55
|
+
dispatch({ type: 'STREAM_TOKEN', content: data.content });
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case 'tool_call': {
|
|
59
|
+
const data = JSON.parse(event.data);
|
|
60
|
+
if (data.content) {
|
|
61
|
+
const name = data.content.name || 'tool';
|
|
62
|
+
const args = data.content.args
|
|
63
|
+
? JSON.stringify(data.content.args)
|
|
64
|
+
: undefined;
|
|
65
|
+
dispatch({ type: 'TOOL_CALL_START', name, args });
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case 'tool_result': {
|
|
70
|
+
dispatch({ type: 'TOOL_CALL_DONE' });
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
case 'done': {
|
|
74
|
+
dispatch({ type: 'STREAM_DONE' });
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case 'error': {
|
|
78
|
+
const data = JSON.parse(event.data);
|
|
79
|
+
dispatch({ type: 'STREAM_ERROR', error: data.content });
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// Skip malformed events
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
// Start streaming state before reading
|
|
90
|
+
dispatch({
|
|
91
|
+
type: 'STREAM_START',
|
|
92
|
+
threadId: state.threadId ?? 'pending',
|
|
93
|
+
});
|
|
94
|
+
// Read the SSE stream
|
|
95
|
+
let streamDoneReceived = false;
|
|
96
|
+
while (!abort.signal.aborted) {
|
|
97
|
+
const { done, value } = await reader.read();
|
|
98
|
+
if (done)
|
|
99
|
+
break;
|
|
100
|
+
const text = decoder.decode(value, { stream: true });
|
|
101
|
+
if (text.includes('"done"'))
|
|
102
|
+
streamDoneReceived = true;
|
|
103
|
+
parser.feed(text);
|
|
104
|
+
}
|
|
105
|
+
// If stream ended without a done event, finalize
|
|
106
|
+
if (!streamDoneReceived && !abort.signal.aborted) {
|
|
107
|
+
dispatch({ type: 'STREAM_DONE' });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
const errorMessage = err instanceof Error ? err.message : 'Unknown error';
|
|
112
|
+
dispatch({ type: 'STREAM_ERROR', error: errorMessage });
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
abortRef.current = null;
|
|
116
|
+
}
|
|
117
|
+
}, [state.streamingState, state.threadId, dispatch]);
|
|
118
|
+
const cancelStream = useCallback(async () => {
|
|
119
|
+
if (state.streamingState !== StreamingState.Streaming &&
|
|
120
|
+
state.streamingState !== StreamingState.Cancelling)
|
|
121
|
+
return;
|
|
122
|
+
dispatch({ type: 'CANCEL_STREAM' });
|
|
123
|
+
// Abort the fetch
|
|
124
|
+
abortRef.current?.abort();
|
|
125
|
+
// Tell the backend to cancel
|
|
126
|
+
if (state.threadId && state.threadId !== 'pending') {
|
|
127
|
+
try {
|
|
128
|
+
await chatApi.cancel(state.threadId);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Best effort
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
dispatch({ type: 'STREAM_DONE' });
|
|
135
|
+
}, [state.streamingState, state.threadId, dispatch]);
|
|
136
|
+
return {
|
|
137
|
+
sendMessage,
|
|
138
|
+
cancelStream,
|
|
139
|
+
streamingState: state.streamingState,
|
|
140
|
+
pendingContent: state.pendingContent,
|
|
141
|
+
history: state.history,
|
|
142
|
+
threadId: state.threadId,
|
|
143
|
+
sessionTitle: state.sessionTitle,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=useChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../../src/hooks/useChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,4BAA4B,CAAC;AASpC,MAAM,UAAU,OAAO;IACrB,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,OAAe,EAAE,EAAE;QACxB,IAAI,KAAK,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI;YAAE,OAAO;QAEzD,8DAA8D;QAC9D,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE/D,4CAA4C;QAC5C,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;gBACxD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,8EAA8E;QAC9E,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YAEzB,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,OAAO,CAAC,KAAyB;oBAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAEjC,IAAI,CAAC;wBACH,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;4BACpB,KAAK,cAAc,CAAC,CAAC,CAAC;gCACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;gCACtD,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gCAC7D,MAAM;4BACR,CAAC;4BACD,KAAK,eAAe,CAAC,CAAC,CAAC;gCACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;gCACvD,QAAQ,CAAC;oCACP,IAAI,EAAE,mBAAmB;oCACzB,KAAK,EAAE,IAAI,CAAC,KAAK;iCAClB,CAAC,CAAC;gCACH,MAAM;4BACR,CAAC;4BACD,KAAK,MAAM,CAAC,CAAC,CAAC;gCACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC;gCACpD,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gCAC1D,MAAM;4BACR,CAAC;4BACD,KAAK,WAAW,CAAC,CAAC,CAAC;gCACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;gCACnD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oCACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;oCACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI;wCAC5B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wCACnC,CAAC,CAAC,SAAS,CAAC;oCACd,QAAQ,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gCACpD,CAAC;gCACD,MAAM;4BACR,CAAC;4BACD,KAAK,aAAa,CAAC,CAAC,CAAC;gCACnB,QAAQ,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;gCACrC,MAAM;4BACR,CAAC;4BACD,KAAK,MAAM,CAAC,CAAC,CAAC;gCACZ,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gCAClC,MAAM;4BACR,CAAC;4BACD,KAAK,OAAO,CAAC,CAAC,CAAC;gCACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;gCAChD,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gCACxD,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,uCAAuC;YACvC,QAAQ,CAAC;gBACP,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;aACtC,CAAC,CAAC;YAEH,sBAAsB;YACtB,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,kBAAkB,GAAG,IAAI,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YAED,iDAAiD;YACjD,IAAI,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjD,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACvD,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC,EACD,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACjD,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IACE,KAAK,CAAC,cAAc,KAAK,cAAc,CAAC,SAAS;YACjD,KAAK,CAAC,cAAc,KAAK,cAAc,CAAC,UAAU;YAElD,OAAO;QAET,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QAEpC,kBAAkB;QAClB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAE1B,6BAA6B;QAC7B,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface FileSuggestion {
|
|
2
|
+
name: string;
|
|
3
|
+
fullPath: string;
|
|
4
|
+
isDirectory: boolean;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function useFileCompletion(query: string, enabled: boolean): FileSuggestion[];
|
|
8
|
+
//# sourceMappingURL=useFileCompletion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileCompletion.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFileCompletion.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAyBD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,cAAc,EAAE,CAoDlB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
const IGNORED_NAMES = new Set([
|
|
5
|
+
'node_modules', 'dist', '.git', '.next', '.nuxt',
|
|
6
|
+
'__pycache__', '.cache', '.DS_Store', 'coverage',
|
|
7
|
+
]);
|
|
8
|
+
const EXT_DESCRIPTIONS = {
|
|
9
|
+
'.ts': 'TypeScript', '.tsx': 'TypeScript React',
|
|
10
|
+
'.js': 'JavaScript', '.jsx': 'JavaScript React',
|
|
11
|
+
'.json': 'JSON', '.md': 'Markdown',
|
|
12
|
+
'.py': 'Python', '.rs': 'Rust', '.go': 'Go',
|
|
13
|
+
'.css': 'CSS', '.scss': 'SCSS', '.less': 'LESS',
|
|
14
|
+
'.html': 'HTML', '.vue': 'Vue',
|
|
15
|
+
'.yaml': 'YAML', '.yml': 'YAML',
|
|
16
|
+
'.toml': 'TOML', '.txt': 'Text', '.sh': 'Shell',
|
|
17
|
+
'.sql': 'SQL', '.graphql': 'GraphQL',
|
|
18
|
+
'.svg': 'SVG', '.png': 'Image', '.jpg': 'Image',
|
|
19
|
+
};
|
|
20
|
+
function describeFile(name) {
|
|
21
|
+
const ext = path.extname(name).toLowerCase();
|
|
22
|
+
return EXT_DESCRIPTIONS[ext] || 'File';
|
|
23
|
+
}
|
|
24
|
+
export function useFileCompletion(query, enabled) {
|
|
25
|
+
const [results, setResults] = useState([]);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!enabled) {
|
|
28
|
+
setResults([]);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const cwd = process.cwd();
|
|
32
|
+
// Split query into directory part and name prefix
|
|
33
|
+
// "src/comp" -> dir="src", prefix="comp"
|
|
34
|
+
// "" -> dir=".", prefix=""
|
|
35
|
+
// "src/" -> dir="src", prefix=""
|
|
36
|
+
const dir = query.includes('/') ? query.substring(0, query.lastIndexOf('/')) || '.' : '.';
|
|
37
|
+
const prefix = query.includes('/') ? query.substring(query.lastIndexOf('/') + 1) : query;
|
|
38
|
+
const targetDir = path.resolve(cwd, dir);
|
|
39
|
+
try {
|
|
40
|
+
const entries = fs.readdirSync(targetDir, { withFileTypes: true });
|
|
41
|
+
const filtered = entries
|
|
42
|
+
.filter((e) => {
|
|
43
|
+
if (e.name.startsWith('.'))
|
|
44
|
+
return false;
|
|
45
|
+
if (IGNORED_NAMES.has(e.name))
|
|
46
|
+
return false;
|
|
47
|
+
if (!prefix)
|
|
48
|
+
return true;
|
|
49
|
+
return e.name.toLowerCase().startsWith(prefix.toLowerCase());
|
|
50
|
+
})
|
|
51
|
+
.sort((a, b) => {
|
|
52
|
+
// Directories first
|
|
53
|
+
if (a.isDirectory() !== b.isDirectory())
|
|
54
|
+
return a.isDirectory() ? -1 : 1;
|
|
55
|
+
return a.name.localeCompare(b.name);
|
|
56
|
+
})
|
|
57
|
+
.slice(0, 20)
|
|
58
|
+
.map((e) => {
|
|
59
|
+
const relPath = dir === '.' ? e.name : `${dir}/${e.name}`;
|
|
60
|
+
return {
|
|
61
|
+
name: e.name,
|
|
62
|
+
fullPath: relPath,
|
|
63
|
+
isDirectory: e.isDirectory(),
|
|
64
|
+
description: e.isDirectory() ? 'Directory' : describeFile(e.name),
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
setResults(filtered);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
setResults([]);
|
|
71
|
+
}
|
|
72
|
+
}, [query, enabled]);
|
|
73
|
+
return results;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=useFileCompletion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileCompletion.js","sourceRoot":"","sources":["../../../src/hooks/useFileCompletion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInputHistory.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputHistory.ts"],"names":[],"mappings":"AAMA,wBAAgB,eAAe;0BAOY,MAAM;gCAS7B,MAAM,KAAG,MAAM,GAAG,SAAS;wBAoBR,MAAM,GAAG,SAAS;EAgBxD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useState, useCallback, useRef } from 'react';
|
|
2
|
+
// Module-level storage so input history survives component re-mounts
|
|
3
|
+
// (e.g. when Composer unmounts during session picker dialog)
|
|
4
|
+
const _inputs = [];
|
|
5
|
+
export function useInputHistory() {
|
|
6
|
+
const inputsRef = useRef(_inputs);
|
|
7
|
+
const [historyIndex, setHistoryIndex] = useState(-1);
|
|
8
|
+
// Save the text that was in the input before the user started navigating
|
|
9
|
+
const savedInputRef = useRef('');
|
|
10
|
+
const addToHistory = useCallback((text) => {
|
|
11
|
+
if (text && text.trim()) {
|
|
12
|
+
inputsRef.current.push(text.trim());
|
|
13
|
+
}
|
|
14
|
+
setHistoryIndex(-1);
|
|
15
|
+
savedInputRef.current = '';
|
|
16
|
+
}, []);
|
|
17
|
+
const navigateUp = useCallback((currentInput) => {
|
|
18
|
+
const inputs = inputsRef.current;
|
|
19
|
+
if (inputs.length === 0)
|
|
20
|
+
return undefined;
|
|
21
|
+
// When starting navigation, save the current input
|
|
22
|
+
if (historyIndex === -1) {
|
|
23
|
+
savedInputRef.current = currentInput ?? '';
|
|
24
|
+
}
|
|
25
|
+
const nextIndex = historyIndex === -1
|
|
26
|
+
? inputs.length - 1 // start from most recent
|
|
27
|
+
: Math.max(historyIndex - 1, 0); // go further back
|
|
28
|
+
setHistoryIndex(nextIndex);
|
|
29
|
+
return inputs[nextIndex];
|
|
30
|
+
}, [historyIndex]);
|
|
31
|
+
const navigateDown = useCallback(() => {
|
|
32
|
+
const inputs = inputsRef.current;
|
|
33
|
+
if (historyIndex === -1)
|
|
34
|
+
return undefined; // not navigating
|
|
35
|
+
if (historyIndex < inputs.length - 1) {
|
|
36
|
+
const nextIndex = historyIndex + 1;
|
|
37
|
+
setHistoryIndex(nextIndex);
|
|
38
|
+
return inputs[nextIndex];
|
|
39
|
+
}
|
|
40
|
+
// Back to the bottom — restore saved input
|
|
41
|
+
setHistoryIndex(-1);
|
|
42
|
+
return savedInputRef.current;
|
|
43
|
+
}, [historyIndex]);
|
|
44
|
+
return { addToHistory, navigateUp, navigateDown };
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=useInputHistory.js.map
|