Commit Graph

59 Commits

Author SHA1 Message Date
Peter Steinberger
eb0af5bbe5
fix(models): block unsupported Grok multi-agent routing 2026-06-08 23:33:04 +01:00
Peter Steinberger
63601973c6
feat: add MiniMax China provider (#19)
Some checks are pending
CI / Desktop Swift (${{ matrix.os }}) (macos-latest) (push) Waiting to run
CI / Desktop Swift (${{ matrix.os }}) (ubuntu-22.04) (push) Waiting to run
CI / Build Examples on ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Apple Platforms (${{ matrix.platform }}) (iOS Simulator) (push) Blocked by required conditions
CI / SwiftLint (push) Waiting to run
Cross-Platform CI / test-macos-14 (push) Waiting to run
Cross-Platform CI / test-macos-15 (push) Waiting to run
Cross-Platform CI / Ubuntu 22.04 LTS (push) Waiting to run
Cross-Platform CI / Ubuntu 24.04 LTS (push) Waiting to run
Cross-Platform CI / build-release (push) Blocked by required conditions
Lint / SwiftLint (push) Waiting to run
Lint / SwiftFormat (push) Waiting to run
Lint / Swift 6 Compatibility Check (push) Waiting to run
Lint / Package Validation (push) Waiting to run
Tests / Test Apple Platforms (platform=macOS, macOS, macosx) (push) Waiting to run
Tests / Test Linux (6.2.1) (push) Waiting to run
Tests / Validate Swift Package (push) Waiting to run
Tests / Integration Tests (push) Waiting to run
2026-05-25 10:07:45 +01:00
Peter Steinberger
7704018a47
feat(tachikoma): add MiniMax provider and local model parsing
Some checks are pending
CI / Desktop Swift (${{ matrix.os }}) (macos-latest) (push) Waiting to run
CI / Desktop Swift (${{ matrix.os }}) (ubuntu-22.04) (push) Waiting to run
CI / Build Examples on ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Apple Platforms (${{ matrix.platform }}) (iOS Simulator) (push) Blocked by required conditions
CI / SwiftLint (push) Waiting to run
Cross-Platform CI / test-macos-14 (push) Waiting to run
Cross-Platform CI / test-macos-15 (push) Waiting to run
Cross-Platform CI / Ubuntu 22.04 LTS (push) Waiting to run
Cross-Platform CI / Ubuntu 24.04 LTS (push) Waiting to run
Cross-Platform CI / build-release (push) Blocked by required conditions
Lint / SwiftLint (push) Waiting to run
Lint / SwiftFormat (push) Waiting to run
Lint / Swift 6 Compatibility Check (push) Waiting to run
Lint / Package Validation (push) Waiting to run
Tests / Test Apple Platforms (platform=macOS, macOS, macosx) (push) Waiting to run
Tests / Test Linux (6.2.1) (push) Waiting to run
Tests / Validate Swift Package (push) Waiting to run
Tests / Integration Tests (push) Waiting to run
2026-05-14 21:36:52 +01:00
Peter Steinberger
db54bba8ce
feat(models): refresh provider catalog 2026-05-10 14:43:43 +01:00
Peter Steinberger
3a3fad60cd
docs: remove stale O3 model references 2026-05-10 09:46:03 +01:00
Peter Steinberger
65d386c19e
feat: add GPT-5.5 and Claude Opus 4.7 models 2026-05-10 09:43:33 +01:00
Peter Steinberger
46a5405d40
style: run swiftformat 2026-03-13 20:19:11 +00:00
Peter Steinberger
1655b8c549
fix(auth): align provider env aliases 2026-03-13 13:10:20 +00:00
Peter Steinberger
eaaf003879 chore: fix lint and format 2025-11-17 21:20:37 +01:00
Peter Steinberger
a33ef9c83c fix(cli): handle azure openai in ai-cli switch 2025-11-16 16:16:13 +01:00
Peter Steinberger
5e4eca6c56 chore: sync provider updates 2025-11-16 06:22:46 +01:00
Peter Steinberger
6b056f6986 fix(mcp): finish linux pty plumbing 2025-11-16 02:51:41 +00:00
Peter Steinberger
fb2cdeadfa style: reformat examples directory 2025-11-16 02:09:29 +00:00
Peter Steinberger
daa94d39a0 style: clean realtime quick test 2025-11-16 01:41:17 +00:00
Peter Steinberger
040bcc9499 style: format examples for swiftformat 2025-11-16 01:34:49 +00:00
Peter Steinberger
972c6f5b36 style: reformat realtime example 2025-11-16 00:58:31 +00:00
Peter Steinberger
f96ed4fd2a style: appease swiftformat for ai-cli 2025-11-16 00:20:13 +00:00
Peter Steinberger
f85299a242 Revert "style: format ai-cli help text"
This reverts commit c8077fdad6.
2025-11-16 00:18:49 +00:00
Peter Steinberger
c8077fdad6 style: format ai-cli help text 2025-11-16 00:13:06 +00:00
Peter Steinberger
5d9f4f5ee3 ci: fix linux foundation dependencies 2025-11-15 23:31:02 +00:00
Peter Steinberger
91b2eba5d1 style: enforce swiftformat config 2025-11-15 23:00:27 +00:00
Peter Steinberger
e700b0f476 feat(models): add gpt-5.1 family 2025-11-14 07:25:16 +00:00
Peter Steinberger
d07127b666 style: additional formatting fixes for TachikomaAudio and tests 2025-11-14 02:38:55 +00:00
Peter Steinberger
1294c035f6 style: apply SwiftFormat and SwiftLint formatting to Tachikoma 2025-11-14 02:38:07 +00:00
Peter Steinberger
e30b3d832f chore(examples): update example code 2025-11-13 04:38:12 +00:00
Peter Steinberger
686602313f style(tachikoma): rerun swiftformat workspace 2025-11-13 02:23:15 +00:00
Peter Steinberger
9abec04dc9 chore(tachikoma): expand CI surfaces and apply swiftlint fixes 2025-11-13 02:12:28 +00:00
Peter Steinberger
8fddf86b9a style: align sources via swiftformat 2025-11-12 23:42:09 +00:00
Peter Steinberger
718385cfe5 style(examples): apply SwiftFormat trailing comma cleanup 2025-11-12 18:52:12 +00:00
Peter Steinberger
4688e5df08 style: apply SwiftLint/SwiftFormat updates
- Adjust file length warning from 1700 to 1000
- Apply formatting across all source and test files
- Standardize code style throughout the codebase
2025-11-12 15:32:11 +00:00
Peter Steinberger
c4c9808ce2 feat(agent-cli): switch to Commander 2025-11-11 22:44:38 +00:00
Peter Steinberger
84956920e2 build(spm): remove MainActor default isolation and use vendored ArgumentParser
- 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
2025-11-10 16:04:10 +00:00
Peter Steinberger
0f360d7f8c tachikoma: update dynamic tools and providers 2025-11-07 15:51:36 +00:00
Peter Steinberger
6dabaec895 Adopt Gemini 2.5 models and harden providers 2025-11-07 02:56:26 +00:00
Peter Steinberger
579ccb45d1 Align providers with GPT-5/o4 model lineup 2025-11-06 21:03:23 +00:00
Peter Steinberger
4bab1c9949 refactor: normalize model parsing and reformat sources 2025-11-05 12:24:37 +00:00
Peter Steinberger
1e1100151f feat: Add agent-cli example with conversation and MCP tool support
- 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
2025-08-09 22:23:20 +02:00
Peter Steinberger
b43654a9cf fix: Replace local swift-sdk dependency with GitHub repository URL
- 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)
2025-08-09 22:19:40 +02:00
Peter Steinberger
8edd9cb1dd docs: Simplify AI-CLI README to focus on essentials
- 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
2025-08-09 21:36:47 +02:00
Peter Steinberger
a54f47da8d fix: Only show debug output with --verbose flag
- 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
2025-08-09 21:30:50 +02:00
Peter Steinberger
966620cfd1 docs: Add 'tokens' to usage output for clarity 2025-08-09 21:24:52 +02:00
Peter Steinberger
495d70703a feat: Simplify usage output to single-line format in AI-CLI
- 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
2025-08-09 21:20:39 +02:00
Peter Steinberger
bb1366a411 refactor: Use Tachikoma's built-in configuration system in AI-CLI
- 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
2025-08-09 21:17:10 +02:00
Peter Steinberger
b4df636d50 docs: Remove emojis from AI-CLI README for cleaner documentation
- 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
2025-08-09 21:11:59 +02:00
Peter Steinberger
148f1cc414 fix: Update --thinking flag to handle OpenAI API limitation
- 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
2025-08-09 20:58:30 +02:00
Peter Steinberger
16dec00f80 feat: Add comprehensive AI-CLI with multi-provider support and refactor API mode to use enum
- 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)
2025-08-09 20:36:07 +02:00
Peter Steinberger
dda23ba64f refactor: Extract Agent functionality into separate TachikomaAgent module
- 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
2025-08-09 19:29:08 +02:00
Peter Steinberger
53615fb7f5 refactor: Remove Enhanced/Advanced/Modern naming patterns
- 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.
2025-08-08 01:54:22 +02:00
Peter Steinberger
5dd03016d5 refactor: Reorganize Realtime API implementation
- 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
2025-08-08 01:25:15 +02:00
Peter Steinberger
4b506b0e10 Add Realtime API demo and fix test compilation
- 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
2025-08-06 08:11:22 +02:00