diff --git a/.claude/commands/dedupe.md b/.claude/commands/dedupe.md deleted file mode 100644 index ae8ec985b..000000000 --- a/.claude/commands/dedupe.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -allowed-tools: Bash(gh issue view:*), Bash(gh search:*), Bash(gh issue list:*), Bash(gh api:*), Bash(gh issue comment:*) -description: Find duplicate GitHub issues ---- - -Find up to 3 likely duplicate issues for a given GitHub issue. - -To do this, follow these steps precisely: - -1. Use an agent to check if the Github issue (a) is closed, (b) does not need to be deduped (eg. because it is broad product feedback without a specific solution, or positive feedback), or (c) already has a duplicates comment that you made earlier. If so, do not proceed. -2. Use an agent to view a Github issue, and ask the agent to return a summary of the issue -3. Then, launch 5 parallel agents to search Github for duplicates of this issue, using diverse keywords and search approaches, using the summary from #1 -4. Next, feed the results from #1 and #2 into another agent, so that it can filter out false positives, that are likely not actually duplicates of the original issue. If there are no duplicates remaining, do not proceed. -5. Finally, comment back on the issue with a list of up to three duplicate issues (or zero, if there are no likely duplicates) - -Notes (be sure to tell this to your agents, too): - -- Use `gh` to interact with Github, rather than web fetch -- Do not use other tools, beyond `gh` (eg. don't use other MCP servers, file edit, etc.) -- Make a todo list first -- For your comment, follow the following format precisely (assuming for this example that you found 3 suspected duplicates): - ---- - -Found 3 possible duplicate issues: - -1. -2. -3. - ---- diff --git a/.gitignore b/.gitignore index a0f032b56..bb6c13445 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ src-tauri/resources/ ## test test-data llm-docs +.claude diff --git a/web-app/src/containers/__tests__/ChatInput.test.tsx b/web-app/src/containers/__tests__/ChatInput.test.tsx index 95c09a1a4..ccc8a3a0e 100644 --- a/web-app/src/containers/__tests__/ChatInput.test.tsx +++ b/web-app/src/containers/__tests__/ChatInput.test.tsx @@ -9,6 +9,7 @@ import { useAppState } from '@/hooks/useAppState' import { useGeneralSetting } from '@/hooks/useGeneralSetting' import { useModelProvider } from '@/hooks/useModelProvider' import { useChat } from '@/hooks/useChat' +import type { ThreadModel } from '@/types/threads' // Mock dependencies vi.mock('@/hooks/usePrompt', () => ({ @@ -91,6 +92,70 @@ vi.mock('../MovingBorder', () => ({ MovingBorder: ({ children }: { children: React.ReactNode }) =>
{children}
, })) +vi.mock('@/containers/DropdownModelProvider', () => ({ + default: () =>
Model Dropdown
, +})) + +vi.mock('@/containers/loaders/ModelLoader', () => ({ + ModelLoader: () =>
Model Loader
, +})) + +vi.mock('@/containers/DropdownToolsAvailable', () => ({ + default: () =>
Tools Dropdown
, +})) + +vi.mock('@/components/ui/button', () => ({ + Button: ({ children, onClick, disabled, ...props }: any) => ( + + ), +})) + +vi.mock('@/components/ui/tooltip', () => ({ + Tooltip: ({ children }: { children: React.ReactNode }) =>
{children}
, + TooltipContent: ({ children }: { children: React.ReactNode }) =>
{children}
, + TooltipProvider: ({ children }: { children: React.ReactNode }) =>
{children}
, + TooltipTrigger: ({ children }: { children: React.ReactNode }) =>
{children}
, +})) + +vi.mock('react-textarea-autosize', () => ({ + default: ({ value, onChange, onKeyDown, placeholder, disabled, className, minRows, maxRows, onHeightChange, ...props }: any) => ( +