- Raised the `go` directive from 1.24.1 to 1.26.5 to satisfy pgx/v5 and ollama's minimum Go version requirements and to pick up 15 patched standard library CVEs.
- Updated `pgx/v5`, `otel`/`otel/sdk`/`otlptracehttp`, `x/net`, and the AWS `eventstream` protocol package to their latest requested versions.
- Remediated govulncheck-flagged CVEs in `grpc`, `x/text`, `x/crypto`, `antchfx/xpath`, AWS SDK `bedrock*`/`s3` services, `etcd/server`, and `mongo-driver` v1/v2.
- Fixed ollama's `MainGPU` API type change (`int` -> `*int`) in `llms/ollama/options.go` without breaking the public `WithRunnerMainGPU` signature.
Add a single WithStructuredOutput(StructuredOutputConfig) call option
carrying a raw JSON Schema (Draft 2020-12), so one contract yields the
same guarantee — a normal-final response is a single JSON value matching
the schema — on OpenAI, Anthropic, Bedrock (Converse and legacy), Google
AI, Vertex, and Ollama. Each provider maps it to its native mechanism;
the result is validated locally against the original schema in the new
llms/structuredoutput package. Also fixes a latent Converse gap where the
response stop reason was never surfaced on ContentChoice.StopReason.
- Upgraded `github.com/ollama/ollama` from v0.14.3 to v0.16.3 across multiple modules to ensure compatibility with the latest features and fixes.
- Updated `github.com/klauspost/compress` from v1.18.0 to v1.18.3 in various modules to incorporate performance improvements and bug fixes.
- Adjusted go.mod and go.sum files in relevant examples to reflect these changes, ensuring all examples are using the latest dependency versions.
docs: complete basic chat application tutorial with progressive examples
Completely rewrite the basic chat application tutorial with a structured, step-by-step approach:
**Tutorial Documentation**:
- Restructure tutorial into 6 clear progressive steps
- Add proper setup instructions and prerequisites
- Include code examples for each step with explanations
- Improve clarity and flow from basic to advanced concepts
**Complete Working Example**:
- Add `examples/tutorial-basic-chat-app/` with full implementation
- Include separate files for each tutorial step (step3-step6)
- Add comprehensive README with usage instructions
- Support multiple execution modes via command-line arguments
**Progressive Implementation Steps**:
- Step 3: Basic single-shot LLM interaction
- Step 4: Interactive chat loop without memory
- Step 5: Chat with manual conversation memory management
- Step 6: Advanced chat using chains with automatic memory
**Features Added**:
- Go module setup with proper dependencies
- Error handling and graceful exit functionality
- Multiple chat implementations demonstrating different approaches
- Clear documentation linking tutorial to working code
- Support for running individual steps or complete implementation
The tutorial now provides a complete learning path from basic LLM usage to sophisticated conversation management using LangChainGo's chains and memory systems.