inference-gateway-adk 0.2.2

Agent Development Kit (ADK) for building powerful, interoperable AI agents with the Agent-to-Agent (A2A) protocol
Documentation
version: "3"

tasks:
  default:
    desc: Show available tasks
    cmds:
      - task --list

  install:typify:
    desc: Install Typify CLI tool
    cmds:
      - cargo install cargo-typify

  a2a:download-schema:
    desc: Download the latest A2A schema and convert to YAML
    cmds:
      - curl -o schema.json https://raw.githubusercontent.com/inference-gateway/schemas/refs/heads/main/a2a/a2a-schema.json
      - curl -o schema.yaml https://raw.githubusercontent.com/inference-gateway/schemas/refs/heads/main/a2a/a2a-schema.yaml

  a2a:generate-types:
    deps:
      - install:typify
    desc: Generate the Rust ADK types from the A2A schema
    cmds:
      - cargo typify schema.json -o src/a2a_types.rs
      - |
        sed -i '1i\#![allow(clippy::uninlined_format_args)]' src/a2a_types.rs
        sed -i '1i\#![allow(clippy::derivable_impls)]' src/a2a_types.rs
        sed -i '1i\#![allow(clippy::enum_variant_names)]' src/a2a_types.rs
        sed -i '1i\#![allow(clippy::large_enum_variant)]' src/a2a_types.rs
        sed -i '1i\#![allow(clippy::unit_arg)]' src/a2a_types.rs
        sed -i '1i\#![allow(irrefutable_let_patterns)]' src/a2a_types.rs
      - echo "A2A types generated successfully in src/a2a_types.rs"
      - cargo fmt --all

  lint:
    desc: Run linter
    cmds:
      - cargo fmt --all -- --check

  lint:fix:
    desc: Run linter and fix issues
    cmds:
      - cargo fmt --all

  analyse:
    desc: Run static analysis
    cmds:
      - cargo clippy --all-targets --all-features -- -D warnings

  test:
    desc: Run tests
    cmds:
      - cargo test --all-targets --all-features

  examples:minimal-server:
    desc: Run the minimal A2A server example (requires Inference Gateway at localhost:8080)
    cmds:
      - cargo run --example minimal_server

  examples:configured-server:
    desc: Run the configured A2A server example (requires environment config and Inference Gateway)
    cmds:
      - cargo run --example configured_server

  examples:server-with-toolbox:
    desc: Run the A2A server example with tools (requires Inference Gateway at localhost:8080)
    cmds:
      - cargo run --example server_with_toolbox

  examples:client:
    desc: Run the A2A client example (requires A2A server running at localhost:8081)
    cmds:
      - cargo run --example client