{
  "contracts": [
    {
      "id": "gateway/types.ts:GatewayConfig",
      "type": "Interface",
      "name": "GatewayConfig",
      "extends": ["BaseConfig"],
      "fields": [
        { "name": "sessionKey", "type": "string" },
        { "name": "timeout", "type": "number" }
      ]
    },
    {
      "id": "gateway/types.ts:SessionEntry",
      "type": "Interface",
      "name": "SessionEntry",
      "fields": [
        { "name": "key", "type": "string" },
        { "name": "agentId", "type": "string" },
        { "name": "model", "type": "string" }
      ]
    },
    {
      "id": "agents/scope.ts:AgentScope",
      "type": "Interface",
      "name": "AgentScope",
      "fields": [
        { "name": "agentId", "type": "string" },
        { "name": "tools", "type": "string[]" }
      ]
    },
    {
      "id": "agents/types.ts:AgentConfig",
      "type": "Interface",
      "name": "AgentConfig",
      "fields": [
        { "name": "agentId", "type": "string" },
        { "name": "model", "type": "string" },
        { "name": "maxTokens", "type": "number" }
      ]
    },
    {
      "id": "agents/types.ts:AgentResult",
      "type": "Interface",
      "name": "AgentResult",
      "fields": [
        { "name": "output", "type": "string" },
        { "name": "tokensUsed", "type": "number" },
        { "name": "duration", "type": "number" }
      ]
    },
    {
      "id": "agents/types.ts:AgentStatus",
      "type": "TypeAlias",
      "name": "AgentStatus"
    },
    {
      "id": "config/types.ts:BaseConfig",
      "type": "Interface",
      "name": "BaseConfig",
      "fields": [
        { "name": "defaultAgent", "type": "string" },
        { "name": "model", "type": "string" },
        { "name": "debug", "type": "boolean" }
      ]
    },
    {
      "id": "config/types.ts:ProviderConfig",
      "type": "Interface",
      "name": "ProviderConfig",
      "fields": [
        { "name": "name", "type": "string" },
        { "name": "apiKey", "type": "string" },
        { "name": "baseUrl", "type": "string" }
      ]
    },
    {
      "id": "config/types.ts:LogLevel",
      "type": "Enum",
      "name": "LogLevel",
      "members": ["Debug", "Info", "Warn", "Error"]
    },
    {
      "id": "config/schema.ts:SchemaDefinition",
      "type": "Interface",
      "name": "SchemaDefinition",
      "fields": [
        { "name": "name", "type": "string" },
        { "name": "version", "type": "string" },
        { "name": "fields", "type": "SchemaField[]" }
      ]
    },
    {
      "id": "config/schema.ts:SchemaField",
      "type": "Interface",
      "name": "SchemaField",
      "fields": [
        { "name": "name", "type": "string" },
        { "name": "type", "type": "string" },
        { "name": "required", "type": "boolean" }
      ]
    }
  ]
}
