Commit Graph

67 Commits

  • feat: full service exposure with grammy bot + claudegram patterns
    - Rewrote bot/index.js using grammy (@grammyjs/auto-retry + runner)
    - Added deduplication.js (adapted from claudegram)
    - Added request-queue.js (per-chat sequential processing)
    - Added message-sender.js (chunking + Markdown fallback)
    - Wired all JS-shim services: tools, skills, agents, config, RTK
    - Added function calling support to ZAIProvider.chat()
    - Added dynamic command routing (tools, skills, agents, model, stats)
    - Added per-agent delegation commands (/agent_coder, /agent_architect, etc.)
    - Added dedup + queue patterns from claudegram's battle-tested codebase
    - Updated zcode.js to pass agents to initBot()
    - Updated README feature comparison table to reflect real capabilities
  • feat: Add RTK (Rust Token Killer) integration for token optimization
    - Add RTK utility module (src/utils/rtk.js)
    - Integrate RTK into BashTool for all bash commands
    - Integrate RTK into GitTool for git operations
    - Initialize RTK on bot startup
    - Support 60+ command types (git, npm, cargo, pytest, docker, etc.)
    - Track and report token savings per command
    - Graceful fallback when RTK is not available
    
    Expected savings: 60-90% token reduction for supported commands
  • feat: Complete zCode CLI X with Telegram bot integration
    - Add full Telegram bot functionality with Z.AI API integration
    - Implement 4 tools: Bash, FileEdit, WebSearch, Git
    - Add 3 agents: Code Reviewer, Architect, DevOps Engineer
    - Add 6 skills for common coding tasks
    - Add systemd service file for 24/7 operation
    - Add nginx configuration for HTTPS webhook
    - Add comprehensive documentation
    - Implement WebSocket server for real-time updates
    - Add logging system with Winston
    - Add environment validation
    
    🤖 zCode CLI X - Agentic coder with Z.AI + Telegram integration
  • fix: import getMaxToolUseConcurrency into local scope and add ripgrep fallback (#8)
    toolOrchestration.ts used `export { getMaxToolUseConcurrency } from
    './toolConcurrency.js'` (a re-export) but then called the function
    directly in runToolsConcurrently(). A re-export does not bring the name
    into the module's own scope, causing a ReferenceError at runtime —
    visible as "getMaxToolUseConcurrency is not defined" in --print mode.
    TypeScript also flagged this as TS2304 on main.
    
    Fix: replace the re-export with an explicit import + a separate export
    statement so the name is both locally callable and publicly exported.
    
    ripgrep.ts fell through to the vendor binary path on non-bundled (npm)
    installs where the vendor/ directory is not shipped alongside dist/cli.mjs,
    producing "spawn .../vendor/ripgrep/x64-linux/rg ENOENT". Fix: check
    whether the vendor binary exists before returning the builtin config;
    fall back to system rg if it is absent.
  • Add FirePass provider support for Kimi K2.5 Turbo
    - Add new 'firepass' provider type alongside anthropic, openai, openrouter
    - FirePass uses Fireworks AI's endpoint for Kimi K2.5 Turbo model
    - Subscription billing model ($7/week) with 256K context window
    - Anthropic API compatible (uses Anthropic SDK with custom baseURL)
    
    Changes:
    - providers.ts: Add firepass detection and base URL handling
    - auth.ts: Add FirePass API key management (FIREPASS_API_KEY or FIREWORKS_API_KEY)
    - config.ts: Add firepassApiKey and firepass auth provider
    - client.ts: Add firepass client creation with custom baseURL
    - http.ts: Add firepass auth headers
    - modelStrings.ts: Return Kimi K2.5 Turbo model ID for firepass
    - model.ts: Add Kimi display name handling and default model logic
    - modelOptions.ts: Simplified model picker for firepass (Kimi K2.5 Turbo only)
    - status.tsx: Display FirePass in status bar
    - login.tsx: Add FirePass option to provider selection
    - FirepassLoginFlow.tsx: New component for FirePass login flow
    
    Usage:
    1. Run /login and select "FirePass"
    2. Enter your Fireworks API key
    3. Model picker shows Kimi K2.5 Turbo