c07ac6b427
This commit refactors the `modelToolsAutoSelectionProvider` to more robustly handle the automatic selection of tools when the model changes or the list of available tools is updated. Key changes include: - Triggering the auto-selection logic not only when the selected model changes, but also when the `toolsListProvider` finishes loading. This ensures tools are correctly applied even if they load after the model is selected. - Restructuring the logic to handle asynchronous tool loading more gracefully, preventing race conditions. - Using `Future.microtask` to schedule the tool application, ensuring state updates are handled correctly within the provider lifecycle. - Clearing selected tools if the new model has no associated tools or if previously selected tools become invalid.