Files
PaperClipAI/packages/paperclip-runner/protocol/schemas/provider-descriptor.schema.json
T
DottaandPaperclip 2e8d5e906e feat(runner): admit Claude effort before native prompts and resume
Version the shared Pi and pending Copilot source attestations without changing their executable closures or platform qualification.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-12 12:24:15 -05:00

447 lines
8.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://paperclip.dev/schemas/prp/v1/provider-descriptor.schema.json",
"title": "PRP provider runtime descriptor",
"type": "object",
"required": [
"provider",
"driver",
"model",
"executionKind",
"providerVersion"
],
"properties": {
"provider": {
"enum": [
"codex",
"opencode",
"claude_managed",
"aws_agentcore",
"acpx",
"openai_dot"
]
},
"driver": {
"enum": [
"codex_app_server",
"opencode_server",
"claude_managed_agents_api",
"aws_agentcore_harness_api",
"acpx_runtime",
"openai_dot_mcp"
]
},
"model": {
"type": [
"string",
"null"
],
"maxLength": 240
},
"executionKind": {
"enum": [
"local_process",
"remote_service"
]
},
"providerVersion": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"service": {
"enum": [
"anthropic_managed_agents",
"aws_bedrock_agentcore_harness",
"openai_dot"
]
},
"providerSessionId": {
"type": [
"string",
"null"
],
"maxLength": 240
},
"processId": {
"type": [
"integer",
"null"
],
"minimum": 1
},
"agentProcessId": {
"type": [
"integer",
"null"
],
"minimum": 1
},
"endpointArn": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"endpointQualifier": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"memoryId": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"eventExpiryDays": {
"const": 90
},
"agent": {
"enum": [
"pi",
"claude",
"codex",
"cursor",
"copilot"
]
},
"requestedModel": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"acpProtocolVersion": {
"const": 1
},
"agentServerPackage": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"agentServerVersion": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"agentRuntimePackage": {
"type": [
"string",
"null"
],
"maxLength": 240
},
"agentRuntimeVersion": {
"type": [
"string",
"null"
],
"maxLength": 120
},
"acpxRecordId": {
"type": [
"string",
"null"
],
"maxLength": 240
},
"turnControls": {
"$ref": "#/$defs/turnControls"
},
"piThinkingLevel": {
"enum": [
"off",
"low",
"high",
"max"
]
},
"claudeEffort": {
"enum": [
"low",
"medium",
"high",
"xhigh",
"max"
]
}
},
"allOf": [
{
"if": {
"required": [
"piThinkingLevel"
]
},
"then": {
"properties": {
"provider": {
"const": "acpx"
},
"agent": {
"const": "pi"
}
},
"required": [
"agent"
]
}
},
{
"if": {
"required": [
"claudeEffort"
]
},
"then": {
"properties": {
"provider": {
"const": "acpx"
},
"agent": {
"const": "claude"
}
},
"required": [
"agent"
]
}
},
{
"oneOf": [
{
"properties": {
"provider": {
"const": "codex"
},
"driver": {
"const": "codex_app_server"
},
"executionKind": {
"const": "local_process"
}
}
},
{
"properties": {
"provider": {
"const": "opencode"
},
"driver": {
"const": "opencode_server"
},
"executionKind": {
"const": "local_process"
}
}
},
{
"properties": {
"provider": {
"const": "claude_managed"
},
"driver": {
"const": "claude_managed_agents_api"
},
"executionKind": {
"const": "remote_service"
}
}
},
{
"properties": {
"provider": {
"const": "aws_agentcore"
},
"driver": {
"const": "aws_agentcore_harness_api"
},
"executionKind": {
"const": "remote_service"
}
}
},
{
"properties": {
"provider": {
"const": "acpx"
},
"driver": {
"const": "acpx_runtime"
},
"executionKind": {
"const": "local_process"
}
}
},
{
"properties": {
"provider": {
"const": "openai_dot"
},
"driver": {
"const": "openai_dot_mcp"
},
"executionKind": {
"const": "remote_service"
}
}
}
]
},
{
"if": {
"properties": {
"executionKind": {
"const": "remote_service"
}
}
},
"then": {
"required": [
"service"
],
"properties": {
"processId": {
"const": null
}
}
}
},
{
"if": {
"properties": {
"executionKind": {
"const": "local_process"
}
}
},
"then": {
"properties": {
"service": false
}
}
},
{
"if": {
"properties": {
"provider": {
"const": "claude_managed"
}
},
"required": [
"provider"
]
},
"then": {
"properties": {
"service": {
"const": "anthropic_managed_agents"
}
},
"required": [
"service"
]
}
},
{
"if": {
"properties": {
"provider": {
"const": "aws_agentcore"
}
},
"required": [
"provider"
]
},
"then": {
"properties": {
"service": {
"const": "aws_bedrock_agentcore_harness"
}
},
"required": [
"service",
"endpointArn",
"endpointQualifier",
"memoryId",
"eventExpiryDays"
]
}
},
{
"if": {
"properties": {
"provider": {
"const": "acpx"
}
},
"required": [
"provider"
]
},
"then": {
"required": [
"agent",
"requestedModel",
"acpProtocolVersion",
"agentServerPackage",
"agentServerVersion",
"acpxRecordId",
"agentProcessId"
]
}
},
{
"if": {
"properties": {
"provider": {
"const": "openai_dot"
}
},
"required": [
"provider"
]
},
"then": {
"required": [
"service",
"providerSessionId"
],
"properties": {
"service": {
"const": "openai_dot"
},
"model": {
"const": null
},
"providerSessionId": {
"const": null
},
"agentProcessId": {
"const": null
}
}
}
}
],
"$defs": {
"turnControls": {
"type": "object",
"required": [
"steering",
"queuedFollowUp"
],
"properties": {
"steering": {
"type": "boolean"
},
"queuedFollowUp": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}