Skip to content
Back to janux-app

Card snapshot

janux.build · 2026-08-06 14:00:59 UTC · 73612631b24d2814112f8f07a75e887a6fa4bf8f1631322f8530c81ff93aa931

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "janux-app",
  "description": "The fullstack framework for the Agentic Web. One component, two faces: a live view for humans, typed MCP tools & resources for AI agents.",
  "version": "1",
  "supportedInterfaces": [
    {
      "url": "https://janux.build/_janux/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://janux.build/a2a/tool-invocation/v1",
        "description": "Send one message whose single DataPart is {\"skill\": <skill id>, \"input\": <object>}. For a skill tagged \"tool\", `params.schemas[id]` is the JSON Schema its input is validated against, and a skill tagged \"confirm\" answers with an input-required task carrying a proposal a human settles. A skill tagged \"procedure\" takes no input and answers with its markdown body.",
        "required": true,
        "params": {
          "schemas": {
            "docs.searchDocs": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "minLength": 2
                }
              },
              "required": [
                "query"
              ],
              "additionalProperties": false
            },
            "docs.readDoc": {
              "type": "object",
              "properties": {
                "section": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "section",
                "slug"
              ],
              "additionalProperties": false
            },
            "docs.listDocs": {
              "type": "object",
              "properties": {}
            }
          }
        }
      }
    ]
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "docs.searchDocs",
      "name": "docs.searchDocs",
      "description": "Full-text search across the documentation. Returns ranked pages with a snippet.",
      "tags": [
        "tool",
        "auto"
      ]
    },
    {
      "id": "docs.readDoc",
      "name": "docs.readDoc",
      "description": "Read one documentation page as markdown, by section and slug",
      "tags": [
        "tool",
        "auto"
      ]
    },
    {
      "id": "docs.listDocs",
      "name": "docs.listDocs",
      "description": "List all documentation pages (section, slug, title, description)",
      "tags": [
        "tool",
        "auto"
      ]
    }
  ]
}