Move defer statement to ensure browser closure occurs only after assigning the browser to the context. This prevents potential issues of premature resource release.
Upgraded `go-llm` to a newer version and removed references to `golang.org/x/exp`. These changes ensure the project uses the latest libraries while cleaning unused dependencies.
Bump go-llm module to version v0.0.0-20250406193505-58552ee226cc. This ensures the project references the latest updates and patches for the module. Also, remove unused dependencies to clean up go.sum.
Updated `go-llm` to version `v0.0.0-20250406183522-14961bfbc6c5` in `go.mod` and `go.sum`. Removed references to unused module versions to reduce clutter and improve dependency management.
Upgraded specific dependencies, including "go-llm" to a newer version and added new indirect dependencies like "github.com/openai/openai-go" and several "tidwall" libraries. Also updated "golang.org/x/crypto" to version 0.37.0 for compatibility improvements.
Updated versions for several indirect dependencies, including `golang.org/x/oauth2`, `golang.org/x/sync`, `golang.org/x/sys`, and `golang.org/x/text`. These changes ensure compatibility and include the latest improvements and fixes.
Enhanced the toolbox in `search.go` to require tools explicitly with `WithRequireTool(true)`, improving execution control. Updated multiple library dependencies in `go.mod` and `go.sum` to ensure compatibility, stability, and to leverage the latest features. Added logging for `CallAndExecute` results to aid in debugging.
Introduced a new tool for extracting YouTube video transcripts and leveraging them to answer questions. Updated `SearchAndRead` to support reading YouTube transcripts and regular pages distinctly. Included relevant dependencies for handling subtitles and video downloads.