Skip to main content

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