Skip to main content

agent

AI agent configurations and instances.
type agent {
  id: ID!
  name: String!
  description: String
  backend: String!
  type: String!
  createdAt: Date!
  updatedAt: Date!

  # Backend-specific fields
  provider: String
  providerName: String
  modelName: String
  systemInstructions: String
  authenticationInformation: String

  # Configuration
  rateLimit: RateLimiterRule
  streaming: Boolean
  capabilities: AgentCapabilities
  maxContextLength: Int

  # Workflows
  workflows: AgentWorkflows

  # Access control (if RBAC enabled)
  RBAC: RBACData

  # Routing
  slug: String
}
Example query:
query {
  agentById(id: "agent-123") {
    id
    name
    provider
    modelName
    capabilities {
      text
      images
      files
    }
    workflows {
      enabled
      queue {
        name
      }
    }
  }
}

AgentCapabilities

Defines what content types the agent can process.
type AgentCapabilities {
  text: Boolean
  images: [String]    # e.g., [".png", ".jpg"]
  files: [String]     # e.g., [".pdf", ".docx"]
  audio: [String]
  video: [String]
}

RateLimiterRule

Rate limiting configuration for agent requests.
type RateLimiterRule {
  name: String
  rate_limit: RateLimiterRuleRateLimit
}

type RateLimiterRuleRateLimit {
  time: Int    # Time window in seconds
  limit: Int   # Max requests per time window
}