Commit Graph

12 Commits

  • Fix lockstep versioning and improve documentation
    - Sync all packages to version 0.7.7
    - Rewrite sync-versions.js to handle ALL inter-package dependencies automatically
    - Fix web-ui dependency on pi-ai (was 0.6.0, now 0.7.7)
    - Move agent fix changelog entry to coding-agent CHANGELOG
    - Remove redundant agent CHANGELOG.md
    - Improve README.md with clearer lockstep versioning docs
    - Add /changelog command to display full changelog in TUI (newest last)
    - Fix changelog description (not a scrollable viewer, just displays in chat)
    - Update CHANGELOG for 0.7.7 release
  • Clean up browser-extension references from monorepo
    - Update README.md to reference sitegeist repo
    - Update CLAUDE.md to replace browser-extension with web-ui
    - Update packages/web-ui/README.md examples to point to sitegeist
    - Remove browser-extension exclude from tsconfig.json
    - Remove browser-extension from .claude/settings.local.json permissions
  • Add Anthropic prompt caching, pluggable storage, and CORS proxy support
    Storage Architecture:
    - New pluggable storage system with backends (LocalStorage, ChromeStorage, IndexedDB)
    - SettingsRepository for app settings (proxy config, etc.)
    - ProviderKeysRepository for API key management
    - AppStorage with global accessors (getAppStorage, setAppStorage, initAppStorage)
    
    Transport Refactoring:
    - Renamed DirectTransport → ProviderTransport (calls LLM providers with optional CORS proxy)
    - Renamed ProxyTransport → AppTransport (uses app server with user auth)
    - Updated TransportMode: "direct" → "provider", "proxy" → "app"
    
    CORS Proxy Integration:
    - ProviderTransport checks proxy.enabled/proxy.url from storage
    - When enabled, modifies model baseUrl to route through proxy: {proxyUrl}/?url={originalBaseUrl}
    - ProviderKeyInput test function also honors proxy settings
    - Settings dialog with Proxy tab (Switch toggle, URL input, explanatory description)
    
    Anthropic Prompt Caching:
    - System prompt cached with cache_control markers (both OAuth and regular API keys)
    - Last user message cached to cache conversation history
    - Saves 90% on input tokens for cached content (10x cost reduction)
    
    Settings Dialog Improvements:
    - Configurable tab system with SettingsTab base class
    - ApiKeysTab and ProxyTab as custom elements
    - Switch toggle for proxy enable (instead of Checkbox)
    - Explanatory paragraphs for each tab
    - ApiKeyPromptDialog reuses ProviderKeyInput component
    
    Removed:
    - Deprecated ApiKeysDialog (replaced by ProviderKeyInput in SettingsDialog)
    - Old storage-adapter and key-store (replaced by new storage architecture)
  • feat(ai): Implement Zod-based tool validation and improve Agent API
    - Replace JSON Schema with Zod schemas for tool parameter definitions
    - Add runtime validation for all tool calls at provider level
    - Create shared validation module with detailed error formatting
    - Update Agent API with comprehensive event system
    - Add agent tests with calculator tool for multi-turn execution
    - Add abort test to verify proper handling of aborted requests
    - Update documentation with detailed event flow examples
    - Rename generate.ts to stream.ts for clarity
  • Fix pi-agent CLI execution issue when installed globally
    - Remove isMainModule check that was preventing execution via npm symlink
    - CLI now runs main function directly when executed
    - Bump version to 0.5.1
  • Fix npm publishing warnings and clean up package.json files
    - Fixed repository URLs to use git+https:// format
    - Removed tsconfig.tsbuildinfo from clean scripts
    - Updated README with clearer build instructions and dependency order
    - Fixed bin paths to reference dist/cli.js correctly
    - Ready for npm publishing with no warnings
  • Initial monorepo setup with npm workspaces and dual TypeScript configuration
    - Set up npm workspaces for three packages: pi-tui, pi-agent, and pi (pods)
    - Implemented dual TypeScript configuration:
      - Root tsconfig.json with path mappings for development and type checking
      - Package-specific tsconfig.build.json for clean production builds
    - Configured lockstep versioning with sync script for inter-package dependencies
    - Added comprehensive documentation for development and publishing workflows
    - All packages at version 0.5.0 ready for npm publishing