Commit Graph

3 Commits

  • fix(typebox): migrate to v1 with extension compat (#3474)
    * fix(typebox): migrate to v1 with extension compat
    
    Replace AJV-based validation with TypeBox-native validation, keep legacy extension imports working (including @sinclair/typebox/compiler), and restore coercion for serialized/plain JSON schemas.
    
    This change closes #3112.
    
    * fix(typebox): use canonical imports and harden coercion
    
    Switch first-party code to canonical typebox imports while retaining legacy extension aliases in the loader.
    
    Remove obsolete runtime codegen guards, expand serialized JSON-schema coercion coverage, and update related tests and fixtures.
    
    Fixes #3112.
    
    ---------
    
    Co-authored-by: Mario Zechner <badlogicgames@gmail.com>
  • feat(agent,coding-agent): per-tool executionMode override for sequential tool execution (#3345)
    * feat(agent,coding-agent): add per-tool executionMode field to AgentTool and ToolDefinition
    
    Add optional executionMode?: ToolExecutionMode to AgentTool and
    ToolDefinition interfaces. Propagate through wrapToolDefinition and
    createToolDefinitionFromAgentTool. No behavioral change yet — agent
    loop will read this field in a follow-up.
    
    * feat(agent): support per-tool executionMode override for sequential execution
    
    When a tool defines executionMode='sequential', the agent loop
    forces sequential execution of all tool calls in that batch,
    even if the global config is parallel.
    
    * feat(coding-agent): re-export ToolExecutionMode from @mariozechner/pi-agent-core
    
    Makes the type available to extensions that want to set
    executionMode on tool definitions.
    
    * feat(coding-agent): add tic-tac-toe extension example with executionMode: sequential
    
    Demonstrates per-tool executionMode: the agent plays via move/play
    tool calls that share a cursor. Without sequential execution, play
    can resolve before earlier moves finish, landing on the wrong cell.