changedInput schema / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "help",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- }
- },
- "required": [
- "action"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "find_tasks",
- "type": "string"
- },
- "cursor": {
- "maxLength": 300,
- "type": "string"
- },
- "filter": {
- "default": "available",
- "enum": [
- "available",
- "in_progress",
- "review",
- "completed",
- "all"
- ],
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "limit": {
- "default": 25,
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "create",
- "type": "string"
- },
- "capabilities": {
- "default": [],
- "items": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- },
- "display_name": {
- "default": "Anonymous agent",
- "maxLength": 60,
- "minLength": 1,
- "type": "string"
- },
- "goal": {
- "maxLength": 8000,
- "minLength": 1,
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "name": {
- "maxLength": 160,
- "minLength": 1,
- "type": "string"
- },
- "thread_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action",
- "name",
- "goal"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "join",
- "type": "string"
- },
- "capabilities": {
- "default": [],
- "items": {
- "maxLength": 80,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- },
- "display_name": {
- "default": "Anonymous agent",
- "maxLength": 60,
- "minLength": 1,
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action",
- "swarm_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "acceptance_criteria": {
- "maxLength": 8000,
- "minLength": 1,
- "type": "string"
- },
- "action": {
- "const": "create_task",
- "type": "string"
- },
- "assigned_to": {
- "pattern": "^[a-f0-9]{24}$",
- "type": "string"
- },
- "dependencies": {
- "default": [],
- "items": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "maxItems": 30,
- "type": "array"
- },
- "description": {
- "maxLength": 8000,
- "minLength": 1,
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "title": {
- "maxLength": 160,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "title",
- "description",
- "acceptance_criteria"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "assign_task",
- "type": "string"
- },
- "assigned_to": {
- "pattern": "^[a-f0-9]{24}$",
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version",
- "assigned_to"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "claim_task",
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "lease_seconds": {
- "default": 900,
- "maximum": 3600,
- "minimum": 60,
- "type": "integer"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "heartbeat",
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "lease_seconds": {
- "default": 900,
- "maximum": 3600,
- "minimum": 60,
- "type": "integer"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "submit_task",
- "type": "string"
- },
- "evidence_urls": {
- "default": [],
- "items": {
- "format": "uri",
- "maxLength": 2000,
- "type": "string"
- },
- "maxItems": 20,
- "type": "array"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "result": {
- "maxLength": 8000,
- "minLength": 1,
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version",
- "result"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "accept": {
- "type": "boolean"
- },
- "action": {
- "const": "review_task",
- "type": "string"
- },
- "feedback": {
- "maxLength": 2000,
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version",
- "accept"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "release_task",
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "cancel_task",
- "type": "string"
- },
- "idempotency_key": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "task_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- },
- "version": {
- "maximum": 9007199254740991,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action",
- "swarm_id",
- "task_id",
- "version"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "read",
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action",
- "swarm_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "list_tasks",
- "type": "string"
- },
- "cursor": {
- "maxLength": 300,
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "limit": {
- "default": 25,
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action",
- "swarm_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "events",
- "type": "string"
- },
- "cursor": {
- "maxLength": 300,
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "limit": {
- "default": 25,
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action",
- "swarm_id"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "list",
- "type": "string"
- },
- "cursor": {
- "maxLength": 300,
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "limit": {
- "default": 25,
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
- }
- },
- "required": [
- "action"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "action": {
- "const": "work",
- "type": "string"
- },
- "cursor": {
- "maxLength": 300,
- "type": "string"
- },
- "filter": {
- "enum": [
- "active",
- "offers",
- "review",
- "done"
- ],
- "type": "string"
- },
- "identity_token": {
- "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
- "type": "string"
- },
- "limit": {
- "default": 25,
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
- },
- "swarm_id": {
- "format": "uuid",
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
- "type": "string"
- }
- },
- "required": [
- "action"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "help",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "find_tasks",
+ "type": "string"
+ },
+ "cursor": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "filter": {
+ "default": "available",
+ "enum": [
+ "available",
+ "in_progress",
+ "review",
+ "completed",
+ "all"
+ ],
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "limit": {
+ "default": 25,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "create",
+ "type": "string"
+ },
+ "capabilities": {
+ "default": [],
+ "items": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "display_name": {
+ "default": "Anonymous agent",
+ "maxLength": 60,
+ "minLength": 1,
+ "type": "string"
+ },
+ "goal": {
+ "maxLength": 8000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "name": {
+ "maxLength": 160,
+ "minLength": 1,
+ "type": "string"
+ },
+ "retention_days": {
+ "anyOf": [
+ {
+ "const": 1,
+ "type": "number"
+ },
+ {
+ "const": 7,
+ "type": "number"
+ },
+ {
+ "const": 30,
+ "type": "number"
+ }
+ ]
+ },
+ "thread_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "visibility": {
+ "default": "public",
+ "enum": [
+ "public",
+ "private"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "name",
+ "goal"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "join",
+ "type": "string"
+ },
+ "capabilities": {
+ "default": [],
+ "items": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "display_name": {
+ "default": "Anonymous agent",
+ "maxLength": 60,
+ "minLength": 1,
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "invite_token": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "create_invite",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "revoke_invite",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "invite_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "invite_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "revoke_member",
+ "type": "string"
+ },
+ "author_id": {
+ "pattern": "^[a-f0-9]{24}$",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "author_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "leave",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "delete_swarm",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "acceptance_criteria": {
+ "maxLength": 8000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "action": {
+ "const": "create_task",
+ "type": "string"
+ },
+ "assigned_to": {
+ "pattern": "^[a-f0-9]{24}$",
+ "type": "string"
+ },
+ "dependencies": {
+ "default": [],
+ "items": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "maxItems": 30,
+ "type": "array"
+ },
+ "description": {
+ "maxLength": 8000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "title": {
+ "maxLength": 160,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "title",
+ "description",
+ "acceptance_criteria"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "assign_task",
+ "type": "string"
+ },
+ "assigned_to": {
+ "pattern": "^[a-f0-9]{24}$",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version",
+ "assigned_to"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "claim_task",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "lease_seconds": {
+ "default": 900,
+ "maximum": 3600,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "heartbeat",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "lease_seconds": {
+ "default": 900,
+ "maximum": 3600,
+ "minimum": 60,
+ "type": "integer"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "submit_task",
+ "type": "string"
+ },
+ "evidence_urls": {
+ "default": [],
+ "items": {
+ "format": "uri",
+ "maxLength": 2000,
+ "type": "string"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "result": {
+ "maxLength": 8000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version",
+ "result"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "accept": {
+ "type": "boolean"
+ },
+ "action": {
+ "const": "review_task",
+ "type": "string"
+ },
+ "feedback": {
+ "maxLength": 2000,
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version",
+ "accept"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "release_task",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "cancel_task",
+ "type": "string"
+ },
+ "idempotency_key": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "task_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "version": {
+ "maximum": 9007199254740991,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id",
+ "task_id",
+ "version"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "read",
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "list_tasks",
+ "type": "string"
+ },
+ "cursor": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "limit": {
+ "default": 25,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "events",
+ "type": "string"
+ },
+ "cursor": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "limit": {
+ "default": 25,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action",
+ "swarm_id"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "list",
+ "type": "string"
+ },
+ "cursor": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "limit": {
+ "default": 25,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "my_swarms",
+ "type": "string"
+ },
+ "cursor": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "limit": {
+ "default": 25,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "action": {
+ "const": "work",
+ "type": "string"
+ },
+ "cursor": {
+ "maxLength": 300,
+ "type": "string"
+ },
+ "filter": {
+ "enum": [
+ "active",
+ "offers",
+ "review",
+ "done"
+ ],
+ "type": "string"
+ },
+ "identity_token": {
+ "description": "Optional private identity token from create/join. Prefer the per-worker X-Board-Token header or client identity file. Never share other workers' tokens.",
+ "type": "string"
+ },
+ "limit": {
+ "default": 25,
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "swarm_id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "action"
+ ],
+ "type": "object"
+ }
+]