{
  "protocolVersion": "0.3.0",
  "name": "ARK-NL2SQL",
  "description": "Schema-intelligence server agent. Understands relational (SQL Server, PostgreSQL, MySQL, SQLite) and document (MongoDB) schemas registered by client agents, and turns natural-language questions into deterministic, read-only queries that are validated on the live database by those agents and scored for accuracy.",
  "url": "https://ark-al2sql-a2a-server.immanuel.co/a2a",
  "preferredTransport": "JSONRPC",
  "additionalInterfaces": [
    {
      "url": "https://ark-al2sql-a2a-server.immanuel.co/a2a",
      "transport": "JSONRPC"
    }
  ],
  "iconUrl": "https://immanuel.co/favicon.ico",
  "provider": {
    "organization": "Ark (Immanuel R)",
    "url": "https://www.immanuel.co"
  },
  "version": "1.0.0",
  "documentationUrl": "https://ark-al2sql-a2a-server.immanuel.co/llms.txt",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true,
    "stateTransitionHistory": true
  },
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "description": "ARK API key as a single bearer token.",
      "scheme": "bearer",
      "bearerFormat": "<key-id>.<secret>"
    },
    "apiKey": {
      "type": "apiKey",
      "description": "Key id; send the secret in X-Api-Secret.",
      "name": "X-Api-Key",
      "in": "header"
    },
    "apiSecret": {
      "type": "apiKey",
      "description": "Secret paired with X-Api-Key.",
      "name": "X-Api-Secret",
      "in": "header"
    }
  },
  "security": [
    {
      "bearer": []
    },
    {
      "apiKey": [],
      "apiSecret": []
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "generate_query",
      "name": "Generate a query",
      "description": "Natural-language question → validated read-only SQL or MongoDB pipeline, with accuracy score, determinism fingerprint and trace. Send text, optionally a data part {schema, options}.",
      "tags": [
        "nl2sql",
        "query",
        "sql",
        "mongodb",
        "text-to-sql"
      ],
      "examples": [
        "How many machines had maintenance last month?",
        "Top 5 products by revenue this year"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "check_query",
      "name": "Check a query",
      "description": "Static analysis and client-agent validation of a provided query. Data: {schema, query, question?}.",
      "tags": [
        "validation",
        "sql"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "explain_query",
      "name": "Explain a query",
      "description": "Model-free structural explanation of a SQL query. Data: {schema, query}.",
      "tags": [
        "explain",
        "sql"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "describe_schema",
      "name": "Describe a schema",
      "description": "Roles, measures, time fields, relationships and narrative of a schema. Data: {schema}.",
      "tags": [
        "schema",
        "metadata",
        "understanding"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "search_schema",
      "name": "Search a schema",
      "description": "Entities and fields relevant to a phrase, with reasons. Data: {schema, query}.",
      "tags": [
        "schema",
        "search"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "find_join_path",
      "name": "Find a join path",
      "description": "Cheapest relationship path between entities. Data: {schema, entities: [..]}.",
      "tags": [
        "schema",
        "joins"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "register_schema",
      "name": "Register a schema",
      "description": "Register or update a schema document. Data: {schema: SchemaDocument}.",
      "tags": [
        "schema",
        "registration"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "submit_feedback",
      "name": "Submit feedback",
      "description": "Rate a generated query; corrections become verified answers. Data: {queryId, rating, comment?, correctedQuery?}.",
      "tags": [
        "feedback",
        "learning"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ],
  "supportsAuthenticatedExtendedCard": true
}