Feature/v2/automate (#4248)

* automate feature
* Moved all providers to app level to simplify homepage 
* Circular dependency fixes
* You will see that now toolRegistry gets a tool config and a tool
settings object. These enable automate to run the tools using as much
static code as possible.

---------

Co-authored-by: Connor Yoh <[email protected]>
This commit is contained in:
ConnorYoh
2025-08-22 14:40:27 +01:00
committed by GitHub
co-authored by Connor Yoh
parent 7d9c0b0298
commit 23d86deae7
84 changed files with 4784 additions and 572 deletions
+5 -4
View File
@@ -1,5 +1,5 @@
import { useMemo } from 'react';
import { useToolWorkflow } from '../contexts/ToolWorkflowContext';
import { useNavigationActions, useNavigationState } from '../contexts/NavigationContext';
// Material UI Icons
import CompressIcon from '@mui/icons-material/Compress';
@@ -44,7 +44,8 @@ const ALL_SUGGESTED_TOOLS: Omit<SuggestedTool, 'navigate'>[] = [
];
export function useSuggestedTools(): SuggestedTool[] {
const { handleToolSelect, selectedToolKey } = useToolWorkflow();
const { actions } = useNavigationActions();
const { selectedToolKey } = useNavigationState();
return useMemo(() => {
// Filter out the current tool
@@ -53,7 +54,7 @@ export function useSuggestedTools(): SuggestedTool[] {
// Add navigation function to each tool
return filteredTools.map(tool => ({
...tool,
navigate: () => handleToolSelect(tool.id)
navigate: () => actions.handleToolSelect(tool.id)
}));
}, [selectedToolKey, handleToolSelect]);
}, [selectedToolKey, actions]);
}