0.3.3.4: Mistral AI provider (https://mistral.ai/) 🔄 DEFERRED TO v0.4.x
- Research Mistral AI API and update this todo.md list
- Investigate API authentication method
- Check API format (custom or OpenAI-compatible)
- Document available models (Mistral 7B, Mixtral, etc.)
- Identify streaming support and special features
- Check for model listing/discovery endpoints
- Add dedicated provider implementation
- Create
pkg/llm/provider/mistral.go - Add Mistral-specific options if needed
- Write unit tests in
pkg/llm/provider/mistral_test.go
- Create
- Add model discovery/listing support (if available)
- Implement fetcher in
pkg/util/llmutil/modelinfo/fetchers/mistral_fetcher.go - Add tests for the fetcher
- Integrate with modelinfo service
- Implement fetcher in
- Create dedicated example in
cmd/examples/provider-mistral/- Show basic usage with the provider
- Demonstrate function calling if supported
- Add streaming examples
- Add integration tests
- Create
tests/integration/mistral_integration_test.go - Test all provider methods
- Add error handling tests
- Create
- Update provider integration code
- Update
pkg/util/llmutil/provider_parser.goand tests - Update
pkg/util/llmutil/llmutil.goand tests - Update
pkg/util/llmutil/env_vars.goand tests - Update
pkg/util/llmutil/option_factories.goand tests - Update
pkg/llm/provider/errors.gofor Mistral errors - Update
cmd/cli.goandcmd/config.go
- Update
- Update documentation
- Add Mistral section to
docs/user-guide/providers.md - Document available models and features
- Update main README.md
- Add Mistral section to
0.3.3.5: AWS Bedrock provider (https://aws.amazon.com/bedrock/) 🔄 DEFERRED TO v0.4.x
- Research AWS Bedrock API and update this todo.md list
- Investigate AWS authentication (IAM roles, access keys)
- Study Bedrock's unified API for multiple models
- Document available models (Claude, Llama 2, Jurassic, etc.)
- Check streaming and function calling support
- Identify region availability and restrictions
- Determine model listing capabilities
- Add dedicated provider implementation
- Create
pkg/llm/provider/bedrock.go - Integrate AWS SDK for Go v2
- Handle AWS authentication and region selection
- Support multiple model families through unified API
- Write unit tests in
pkg/llm/provider/bedrock_test.go
- Create
- Add model discovery/listing support
- Implement fetcher in
pkg/util/llmutil/modelinfo/fetchers/bedrock_fetcher.go - Use AWS SDK to list available models
- Handle region-specific model availability
- Add tests for the fetcher
- Implement fetcher in
- Create dedicated example in
cmd/examples/provider-bedrock/- Show AWS authentication setup
- Demonstrate usage with different model families
- Include region configuration
- Show streaming if supported
- Add integration tests
- Create
tests/integration/bedrock_integration_test.go - Test with different AWS authentication methods
- Test multiple model families
- Test region-specific functionality
- Create
- Update provider integration code
- Update
pkg/util/llmutil/provider_parser.goand tests - Update
pkg/util/llmutil/llmutil.goand tests - Update
pkg/util/llmutil/env_vars.goand tests - Update
pkg/util/llmutil/option_factories.goand tests - Update
pkg/llm/provider/errors.gofor AWS errors - Update
cmd/cli.goandcmd/config.go
- Update
- Update documentation
- Add Bedrock section to
docs/user-guide/providers.md - Document AWS authentication setup
- List supported models and regions
- Include IAM permission requirements
- Add Bedrock section to
0.3.3.6: Azure AI provider (https://azure.microsoft.com/en-us/products/ai-services/) 🔄 DEFERRED TO v0.4.x
- Research Azure AI/OpenAI Service and update this todo.md list
- Investigate Azure authentication (API keys, Azure AD)
- Study Azure OpenAI Service API differences
- Document deployment model vs standard model names
- Check for Azure-specific features
- Identify endpoint format and regions
- Determine model/deployment listing capabilities
- Add dedicated provider implementation
- Create
pkg/llm/provider/azure.go - Handle Azure-specific endpoint format
- Support deployment names vs model names
- Add Azure AD authentication support
- Write unit tests in
pkg/llm/provider/azure_test.go
- Create
- Add deployment discovery/listing support (if available)
- Implement fetcher in
pkg/util/llmutil/modelinfo/fetchers/azure_fetcher.go - Handle Azure authentication for discovery
- Map deployments to model capabilities
- Add tests for the fetcher
- Implement fetcher in
- Create dedicated example in
cmd/examples/provider-azure/- Show API key and Azure AD authentication
- Demonstrate deployment configuration
- Include endpoint customization
- Show Azure-specific features
- Add integration tests
- Create
tests/integration/azure_integration_test.go - Test both authentication methods
- Test deployment name handling
- Test region-specific endpoints
- Create
- Update provider integration code
- Update
pkg/util/llmutil/provider_parser.goand tests - Update
pkg/util/llmutil/llmutil.goand tests - Update
pkg/util/llmutil/env_vars.goand tests - Update
pkg/util/llmutil/option_factories.goand tests - Update
pkg/llm/provider/errors.gofor Azure errors - Update
cmd/cli.goandcmd/config.go
- Update
- Update documentation
- Add Azure section to
docs/user-guide/providers.md - Document authentication options
- Explain deployment vs model concepts
- Include endpoint configuration
- Add Azure section to
- Auto-Pagination: Automatically follow pagination links
- Rate Limiting: Respect rate limit headers with intelligent backoff
- Response Caching: Cache responses with configurable TTL
- Request Templates: Store and reuse common request patterns
- Response Transformation: Extract data using JSONPath or JQ-like queries
- Error Recovery: Smart retries with exponential backoff
- Mock Mode: Optional mock responses for testing
- Streaming Responses: Handle large response streaming
- Request/Response Middleware: Plugin system for custom processing
- Multi-tenancy: Support multiple API configurations
- Request Batching: Batch multiple requests for efficiency
- Create AuthProvider interface with Name(), CanHandle(), Configure() methods
- Implement AuthRegistry for managing multiple providers
- Add configuration file support for custom auth mappings (YAML/JSON)
- Support provider patterns:
- URL pattern matching (regex support)
- Response-based detection (401 + WWW-Authenticate header)
- OpenAPI security scheme integration
- OAuth2 discovery via .well-known endpoints
- Create default providers for common services:
- GitHub (including Enterprise)
- GitLab (including self-hosted)
- Generic Bearer token
- Generic API key
- Basic auth
- Ensure backward compatibility with existing detectURLSpecificAuth
- Add examples and documentation
- Implement structured man page data model
- Create
pkg/util/docs/manpage/manpage.gowith core types - Define ManPage struct with standard sections (Name, Synopsis, Description, Options, etc.)
- Support man page sections 1-8
- Create
- Add troff format generation
- Create
pkg/util/docs/manpage/troff.gofor troff output - Implement proper troff macros and formatting
- Support bold, italic, and other formatting
- Create
- Command metadata extraction
- Create
pkg/util/docs/manpage/command_extractor.go - Extract from Kong-based CLI structures
- Support sub-command documentation
- Create
- Format conversions
- Create
pkg/util/docs/manpage/formatter.go - Support HTML output
- Support plain text output
- Support Markdown output
- Create
- Integration and examples
- Add examples and cross-references support
- Create example usage in
cmd/examples/ - Write comprehensive tests
- Document usage in user guide
- Extend Documentable interface for scripts
- Create
pkg/docs/script_documentable.go - Add ScriptDocumentable interface extending Documentable
- Support script language, source, parameters, and examples
- Create
- Language-specific documentation extraction
- Create
pkg/docs/script_extractor.go - Support Lua documentation extraction
- Support JavaScript documentation extraction
- Support Tengo documentation extraction
- Create
pkg/docs/language_analyzer.gofor language detection
- Create
- Script parameter and schema support
- Extract input/output parameters from scripts
- Support JSON schema for script parameters
- Validate parameter documentation completeness
- Script example validation
- Create
pkg/docs/example_validator.go - Validate script examples can execute
- Check example inputs/outputs match schema
- Create
- Integration with existing docs system
- Ensure scripts can use all existing doc generators
- Support OpenAPI, Markdown, JSON export for scripts
- Write tests and examples
- Create unified documentation pipeline
- Design comprehensive documentation interfaces
- Support tools (existing), scripts, CLI commands, APIs
- Create consistent documentation format across all types
- Cross-reference support
- Enable documentation to reference between tools/scripts/commands
- Build documentation index for searching
- Support hyperlinks in generated docs
- Export format unification
- Ensure all documentation types can export to same formats
- Create unified configuration for documentation generation
- Support batch documentation generation
- Migration support for downstream projects
- Create migration guide for go-llmspell
- Ensure backward compatibility
- Provide examples of bridge implementations
- Consolidate existing doc utilities
- Move godoc utilities to
pkg/util/docs/godoc/ - Integrate manpage utilities from 0.3.6.1
- Create shared documentation interfaces
- Move godoc utilities to
- Create documentation registry
- Central registry for all documentable items
- Support dynamic registration
- Enable documentation discovery
0.3.6.7: Comprehensive Documentation Structure Update (Priority: High) ✅ COMPLETED (January 23, 2025)
- State persistence and serialization design
- Implement state storage backends (file, database)
- Add state versioning and migration
- Create examples with persistent agents
- Agent discovery and registry design
- Implement agent metadata and search
- Add dynamic agent loading
- Create agent marketplace example
- Advanced merge strategies for parallel agents
- Streaming support for long-running agents
- Agent composition patterns
- Agent lifecycle management
- Research MCP specification and requirements
- Design MCP client interface for agents
- Implement MCP client in pkg/agent/mcp/client
- Add MCP tool discovery and registration
- Create examples demonstrating MCP client usage
- Write comprehensive tests
- Document MCP client usage in user guide
- Design MCP server interface for exposing agents/workflows
- Implement MCP server in pkg/agent/mcp/server
- Add agent/workflow registration to MCP server
- Create example MCP server implementations
- Write comprehensive tests
- Document MCP server setup and configuration
- TextSummarize - intelligent summarization using LLM
- TextExtract - extract structured data from text
- TextAnalyze - sentiment, entities, keywords
- TextTranslate - language translation using LLM
- WebResearcher - web research with source tracking
- DocumentAnalyzer - analyze documents and PDFs
- FactChecker - verify claims against sources
- CodeReviewer - review code for issues
- TestGenerator - generate tests from code
- DocWriter - generate documentation
- DataAnalyst - analyze datasets and generate insights
- ReportGenerator - create formatted reports
- DataCleaner - clean and validate data
- NewsMonitor - monitor news feeds for keywords and topics using LLM
- FeedAggregator - aggregate and deduplicate content from multiple feeds
- FeedSummarizer - summarize feed content using LLM
- ContentCurator - curate and categorize feed content using LLM
- Pipeline - sequential processing workflow
- MapReduce - parallel processing with aggregation
- Consensus - multi-agent agreement pattern
- Retry - with exponential backoff
- ResearchWorkflow - research → verify → summarize → report
- CodeReviewWorkflow - analyze → review → suggest → document
- DataPipeline - ingest → clean → analyze → visualize
- Create benchmark harness for A/B testing optimizations
- Implement visualization for memory allocation patterns
- Create real-world test scenarios for end-to-end performance
- Implement adaptive channel buffer sizing based on usage patterns
- Add pool prewarming for high-throughput scenarios
- Reduce redundant property iterations in schema processing
- Implement more granular locking in cached objects
- Optimize zero-initialization patterns for pooled objects
- Introduce buffer pooling for string builders
- Document performance improvements with metrics
- Verify optimizations in high-concurrency scenarios
- Create benchmark comparison charts for before/after
- Implement regression testing to prevent performance degradation
- Add performance acceptance criteria to CI pipeline
- Fix identified cross-link issues (path inconsistencies, broken links)
- Perform final consistency check across all documentation
- Update all examples to showcase v0.3.x features
- Create migration guide from earlier versions
- API refinement based on usage feedback
- Deprecate old patterns with migration paths
- Ensure backward compatibility where possible
- Final review and preparation for v0.4.0 stable release
All completed v0.3.x tasks have been moved to TODO-DONE.md