Commit Graph

3 Commits

  • fix(coding-agent): align ToolDefinition.execute signature with AgentTool
    BREAKING CHANGE: ToolDefinition.execute parameter order changed from
    (id, params, onUpdate, ctx, signal) to (id, params, signal, onUpdate, ctx).
    
    This aligns with AgentTool.execute so wrapping built-in tools no longer
    requires parameter reordering. Update extensions by swapping signal and
    onUpdate parameters.
  • fix(tui): add vertical scrolling to Editor when content exceeds terminal height
    The Editor component now accepts TUI as the first constructor parameter,
    enabling it to query terminal dimensions. When content exceeds available
    height, the editor scrolls vertically keeping the cursor visible.
    
    Features:
    - Max editor height is 30% of terminal rows (minimum 5 lines)
    - Page Up/Down keys scroll by page size
    - Scroll indicators show lines above/below: ─── ↑ 5 more ───
    
    Breaking change: Editor constructor signature changed from
      new Editor(theme)
    to
      new Editor(tui, theme)
    
    fixes #732
  • feat: add questionnaire tool for multi-question input (#695)
    New tool for asking users one or more questions with a tab-based interface.
    
    Features:
    - Single question: simple options list (similar to question tool)
    - Multiple questions: tab bar navigation between questions
    - Progress indicators: ■/□ checkboxes show answered state
    - Submit tab: review all answers before submitting
    - 'Type something' option: free-text input with options visible
    - Full keyboard navigation: Tab/←→ between questions, ↑↓ for options
    
    Use cases:
    - Clarifying requirements with multiple aspects
    - Getting user preferences across categories
    - Multi-step confirmation dialogs
    
    Example:
    ```typescript
    {
      questions: [{
        id: "db",
        label: "Database",
        prompt: "Which database?",
        options: [
          { value: "pg", label: "PostgreSQL", description: "Relational" },
          { value: "mongo", label: "MongoDB", description: "Document store" }
        ]
      }, {
        id: "auth",
        label: "Auth",
        prompt: "Authentication method?",
        options: [
          { value: "jwt", label: "JWT" },
          { value: "session", label: "Sessions" }
        ]
      }]
    }
    ```