- Rename mainActorSwiftSettings to tachikomaSwiftSettings
- Remove .defaultIsolation(MainActor.self) - libraries should be nonisolated
- Update Agent-CLI to use vendored ArgumentParser path
- Aligns with Swift 6.2 concurrency best practices
- Multi-turn conversation support with message history
- MCP (Model Context Protocol) server integration for tools
- Fancy status bar UI with spinners and progress indicators
- Thinking/reasoning display for capable models
- Interactive mode for continuous conversations
- Multiple output formats (normal, JSON, markdown)
- Built-in tools (current time, calculator)
- Save/load conversation history
- Comprehensive configuration management
- Changed package dependency from local path (../../swift-sdk) to GitHub URL
- This fixes Xcode package resolution issues that prevented schemes from appearing
- The missing local dependency was breaking the entire project in Xcode
- Now using https://github.com/steipete/swift-sdk.git (main branch)
- Reduced from 517 to 112 lines (78% reduction)
- Clear sections: Building, Usage, Parameters, Environment Variables, Models, Examples
- Removed redundant content like troubleshooting, cost estimates, lengthy descriptions
- Consolidated model information into compact lists
- Focused on practical usage rather than feature descriptions
- Kept all essential information for users to get started quickly
- Add --verbose/-v flag to AI-CLI for controlling debug output
- Fix AnthropicProvider to only show debug logs when verbose mode is enabled
- Add getter/setter for verbose property in TachikomaConfiguration
- Debug output now only appears when explicitly requested with --verbose
- Prevents unwanted debug logs in normal usage
- Replace multi-line usage output with concise single-line format
- Format: "Usage: X in, Y out, Z total (~$cost) [finish_reason]"
- Reduces vertical space usage for cleaner CLI output
- Shows cost estimate when available
- Includes finish reason inline
- Replace duplicate API key validation logic with TachikomaConfiguration
- Use Provider enum for type-safe provider management
- Leverage existing environment variable loading from Provider class
- Maintain backward compatibility with all existing functionality
- Configuration now shows whether keys are from config or environment
- Reduces code duplication and improves maintainability
- Remove all decorative emojis from features, test results, and examples
- Keep professional tone with plain text formatting
- Maintain readability without relying on emoji visual cues
- OpenAI's Responses API doesn't expose reasoning text despite using reasoning tokens
- Update --thinking flag to show informative message when reasoning occurs internally
- Clean up debug code from reasoning extraction
- Update README to document this API limitation
- Confirmed that O3, O4, and GPT-5 models perform reasoning but don't expose it via API
- Create new AI-CLI tool that supports all Tachikoma providers (OpenAI, Anthropic, Google, Mistral, Groq, Grok, Ollama)
- Add OpenAIAPIMode enum to replace string-based API selection for better type safety
- Implement smart model selection with shortcuts (e.g., 'claude' → Claude Opus 4)
- Add streaming support for real-time responses
- Implement thinking/reasoning display for supported models (O3, O4, GPT-5)
- Support both Chat Completions and Responses API for OpenAI models
- Add comprehensive help system and configuration display
- Add automatic API key loading from environment variables
- Include detailed README with usage examples and tested models
- Update GPT5CLI to use shared OpenAIAPIMode enum
- Fix OpenAI Responses API to handle actual GPT-5 response format
- Move agent-specific tools to TachikomaAgent module (future separation)
- Created new TachikomaAgent module for agent system consistency with other modules
- Moved Agent.swift from Sources/Tachikoma/Agent/ to Sources/TachikomaAgent/
- Updated Package.swift to define TachikomaAgent as a separate library product
- Added GPT5CLI executable target for command-line GPT-5 queries
- Updated README with TachikomaAgent module documentation and usage examples
This provides cleaner separation of concerns:
- Tachikoma: Core AI SDK (models, generation, base tools)
- TachikomaAgent: Agent system (Agent class, sessions, persistence)
- TachikomaMCP: MCP integration
- TachikomaAudio: Audio processing
- Delete EnhancedRealtimeConversation, EnhancedRealtimeSession, AdvancedRealtimeConversation
- Rename EnhancedResponseCache to ResponseCache
- Rename EnhancedSessionConfiguration to SessionConfiguration
- Rename ModernAPI to API
- Rename AdvancedRealtimeDemo to RealtimeDemo
- Update all references in examples and tests
- Add CLAUDE.md guidance against version suffixes
Following the principle of refactoring in place with idiomatic names rather than creating parallel versions with Enhanced/Advanced/Modern/New/V2 suffixes.
- Move Realtime API demo to Examples folder
- Consolidate Realtime examples for better organization
- Remove old Realtime implementation from Sources
- Create TachikomaAudio module for audio-specific functionality
- Clean up deprecated Realtime components
- Create demo-realtime.swift showing completed features
- Add RealtimeConfigurationTests for basic validation
- Fix MockWebSocketTransport to not inherit from protocol
- Add RealtimeQuickTest for configuration validation
- Document all completed features and usage examples