AgentToolDescriptor
One effective immutable tool descriptor. Schemas are JSON Schema 2020-12 objects serialized as canonical JSON.
type AgentToolDescriptor {
schemaVersion: String!
name: String!
wireName: String!
version: String!
summary: String!
executor: CrowdyStudioAgentToolExecutor!
modes: [CrowdyStudioAgentMode!]!
risk: CrowdyStudioAgentToolRisk!
riskEffects: [String!]!
riskReversible: Boolean!
scopes: [String!]!
scopeRequirementsJson: String!
approvalRequired: Boolean!
approvalPolicy: String!
approvalReasons: [String!]!
approvalMaxTtlSeconds: Int!
idempotencyClass: String!
idempotencyKeyScope: String!
timeoutMs: Int!
inputSchemaJson: String!
outputSchemaJson: String!
inputRedactionJson: String!
outputRedactionJson: String!
maxPersistedBytes: Int!
descriptorJson: String!
descriptorDigest: String!
}
Fields
AgentToolDescriptor.schemaVersion ● String! non-null scalar
Descriptor schema version; always 'crowdy.agent-tool/1'.
AgentToolDescriptor.name ● String! non-null scalar
Logical dotted tool name.
AgentToolDescriptor.wireName ● String! non-null scalar
Provider-safe exact wire name including major version.
AgentToolDescriptor.version ● String! non-null scalar
Semantic descriptor version.
AgentToolDescriptor.summary ● String! non-null scalar
Safe model/user-facing summary.
AgentToolDescriptor.executor ● CrowdyStudioAgentToolExecutor! non-null enum
SERVER or BROWSER.
AgentToolDescriptor.modes ● [CrowdyStudioAgentMode!]! non-null enum
Human modes in which this descriptor may be proposed.
AgentToolDescriptor.risk ● CrowdyStudioAgentToolRisk! non-null enum
Server-classified risk.
AgentToolDescriptor.riskEffects ● [String!]! non-null scalar
Canonical server-classified effect labels.
AgentToolDescriptor.riskReversible ● Boolean! non-null scalar
Whether the classified effect is reversible.
AgentToolDescriptor.scopes ● [String!]! non-null scalar
Required agent scopes; ordinary platform checks still apply.
AgentToolDescriptor.scopeRequirementsJson ● String! non-null scalar
Canonical JSON array of complete scope requirement objects, including argument-path conditions.
AgentToolDescriptor.approvalRequired ● Boolean! non-null scalar
Whether exact human approval is always required.
AgentToolDescriptor.approvalPolicy ● String! non-null scalar
NONE, REQUIRED, or CONDITIONAL approval policy.
AgentToolDescriptor.approvalReasons ● [String!]! non-null scalar
Server-authored approval reasons.
AgentToolDescriptor.approvalMaxTtlSeconds ● Int! non-null scalar
Maximum approval lifetime in seconds.
AgentToolDescriptor.idempotencyClass ● String! non-null scalar
PURE, KEYED, TOOL_CALL_ONCE, or NON_RETRYABLE.
AgentToolDescriptor.idempotencyKeyScope ● String! non-null scalar
NONE, TOOL_CALL, or USER_TOOL_ARGUMENTS key scope.
AgentToolDescriptor.timeoutMs ● Int! non-null scalar
Hard tool execution timeout in milliseconds.
AgentToolDescriptor.inputSchemaJson ● String! non-null scalar
Canonical bounded input JSON Schema.
AgentToolDescriptor.outputSchemaJson ● String! non-null scalar
Canonical bounded output JSON Schema.
AgentToolDescriptor.inputRedactionJson ● String! non-null scalar
Canonical JSON array of input redaction rules.
AgentToolDescriptor.outputRedactionJson ● String! non-null scalar
Canonical JSON array of output redaction rules.
AgentToolDescriptor.maxPersistedBytes ● Int! non-null scalar
Maximum persisted redacted tool bytes.
AgentToolDescriptor.descriptorJson ● String! non-null scalar
Complete RFC8785-canonical crowdy.agent-tool/1 descriptor JSON.
AgentToolDescriptor.descriptorDigest ● String! non-null scalar
sha256 digest of the immutable descriptor contract.
Member Of
AgentToolDescriptorSet object