此 MCP 可以做什么
Manages shared work between humans and agents through tasks, leases, handoffs, approvals, artifacts, comments, integrations, progress records, and signed completion receipts.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'outcome'], 'properties': {'note': {'type': 'string', 'description': 'Required for `accepted_with_exceptions` (what the shortfalls are) and `rejected` (what must change).'}, 'outcome': {'enum': ['accepted', 'accepted_with_exceptions', 'rejected', 'superseded'], 'type': 'string', 'description': 'The acceptance decision.'}, 'task_id': {'type': 'string', 'description': 'Task id, the short reference, or a pasted Tango task URL.'}, 'superseded_by_task_id': {'type': 'string', '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)$', 'description': 'For `superseded`: the task that replaces this work.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Filename or artifact label. Keep the real extension (.pptx, .pdf, .mp3) so the type is detected.'}, 'content': {'type': 'string', 'description': 'Inline text content.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'fetch_url': {'type': 'string', 'format': 'uri', 'description': 'An https URL Tango downloads and stores as a durable copy (up to 50 MB). Use this when the file is already hosted somewhere.'}, 'mime_type': {'type': 'string', 'description': 'MIME type. Optional — Tango sniffs the real type from the bytes.'}, 'worker_kid': {'type': 'string', 'description': 'kid of the registered key that produced worker_signature.'}, 'external_url': {'type': 'string', 'format': 'uri', 'description': 'Or, a publicly reachable https URL to an externally hosted artifact (recorded as a link; Tango does not copy it). Never a file:// path or a path on your own machine — upload those bytes instead.'}, 'upload_token': {'type': 'string', 'description': 'Finalize a signed upload: the upload_token returned by create_artifact_upload, after you PUT the bytes to its upload_url.'}, 'evidence_kind': {'enum': ['plan', 'tests', 'screenshot', 'document', 'data', 'link', 'review'], 'type': 'string', 'description': 'What kind of proof this output is. Tasks can require specific kinds before completion is accepted — get_task shows the checklist. Left unset, Tango infers it from the file type where it can.'}, 'content_base64': {'type': 'string', 'description': 'Base64-encoded file bytes for binary artifacts (pptx, docx, pdf, mp3, wav, m4a, images…). Up to ~6 MB decoded; larger files use create_artifact_upload.'}, 'acting_worker_id': {'type': 'string', '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)$', 'description': 'Optional. Self-asserted worker performing this action. Ignored if a lease is active (lease holder wins). Verified against caller ownership.'}, 'transparency_seq': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Transparency anchor seq you signed.'}, 'worker_signature': {'type': 'string', 'description': "Attested mode only. Detached JWS ('header..signature') over the JCS-canonical artifact payload. See /verify."}, 'worker_signed_at': {'type': 'string', 'description': 'The exact `signed_at` inside the signed payload (ISO 8601).'}, 'transparency_hash': {'type': 'string', 'description': 'Transparency anchor hash you signed.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'body'], 'properties': {'body': {'type': 'string', 'minLength': 1, 'description': 'Comment text. Mention teammates with @handle.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'note'], 'properties': {'note': {'type': 'string', 'minLength': 1, 'description': 'Free-text progress note.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'acting_worker_id': {'type': 'string', '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)$', 'description': 'Optional. Self-asserted worker performing this action. Ignored if a lease is active (lease holder wins). Verified against caller ownership.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['question_id', 'answer'], 'properties': {'answer': {'type': 'string', 'maxLength': 4000, 'minLength': 1, 'description': 'Your answer.'}, 'question_id': {'type': 'string', '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)$', 'description': 'Question id from list_open_questions or get_task.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'reason': {'type': 'string', 'maxLength': 280, 'minLength': 1, 'description': 'Why this worker is being retired.'}, 'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['question'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL. Optional in Tango Lite — without it the workspace owner is notified and answers in a thread.'}, 'question': {'type': 'string', 'minLength': 1, 'description': 'The exact question you need answered.'}, 'to_user_id': {'type': 'string', '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)$', 'description': "Optional recipient user id. Defaults to the task's approver or owner."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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)$', 'description': 'A worker you own, from whoami.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_ids', 'action'], 'properties': {'action': {'enum': ['move', 'set_deadline', 'clear_deadline', 'set_status', 'park', 'unpark', 'reassign'], 'type': 'string'}, 'client': {'type': 'string', 'description': 'move: destination client name, @handle or UUID.'}, 'reason': {'type': 'string', 'description': 'Reason — required for cancel/block, optional note for park/move.'}, 'status': {'enum': ['queued', 'assigned', 'in_progress', 'review', 'approved', 'done', 'escalated', 'blocked', 'cancelled', 'archived'], 'type': 'string', 'description': 'set_status: the new status.'}, 'assignee': {'type': 'string', 'description': 'reassign: exact @handle, email, or unambiguous name. Empty string unassigns.'}, 'deadline': {'type': 'string', 'description': 'set_deadline: ISO 8601 date-time.'}, 'task_ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 100, 'minItems': 1}, 'park_until': {'type': 'string', 'description': 'park: optional ISO wake date; the task comes back on its own that day.'}, 'project_id': {'anyOf': [{'type': 'string', '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': 'null'}], 'description': 'move: destination project (optional).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tool_name'], 'properties': {'method': {'enum': ['tools/call', 'invoke'], 'type': 'string', 'description': "Protocol shape: 'tools/call' (MCP Streamable HTTP, default) or 'invoke' (simple {tool, arguments})."}, 'arguments': {'type': 'object', 'description': 'Arguments object to pass to the tool.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'tool_name': {'type': 'string', 'minLength': 1, 'description': 'Name of the tool on the external gateway.'}, 'timeout_seconds': {'type': 'integer', 'maximum': 120, 'minimum': 1, 'description': 'Max wait time, default 25s.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'since': {'type': 'string', 'description': 'ISO timestamp override. Omit to use your stored cursor (falls back to the last 24h on first call).'}, 'worker': {'type': 'string', '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)$', 'description': 'Optional. Defaults to the worker bound to this MCP connection, so each harness keeps its own cursor.'}, 'advance_cursor': {'type': 'boolean', 'description': 'Set false to peek without moving your cursor forward (default true).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'worker_id': {'type': 'string', '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)$', 'description': 'Optional. Defaults to the worker bound to this MCP connection (one worker per harness). Must belong to the signed-in user.'}, 'lease_seconds': {'type': 'integer', 'maximum': 14400, 'minimum': 30, 'description': 'Default 2700 (45 min); max 14400 (4 h).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'outcome', 'summary'], 'properties': {'outcome': {'enum': ['review', 'done'], 'type': 'string', 'description': "'review' hands to a human. 'done' self-approves and is available to humans only — an agent's 'done' is recorded as 'review'."}, 'summary': {'type': 'string', 'minLength': 1, 'description': 'What was done, in plain language.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'worker_kid': {'type': 'string', 'description': 'The kid of the registered worker key that produced worker_signature.'}, 'open_questions': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Questions the next reviewer or agent should answer.'}, 'acting_worker_id': {'type': 'string', '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)$', 'description': 'Optional. Self-asserted worker completing this task. Ignored if a lease is active (lease holder wins). Verified against caller ownership; never inferred from the assignee.'}, 'transparency_seq': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'The transparency anchor seq you signed (from prepare_completion).'}, 'worker_signature': {'type': 'string', 'description': "Attested mode only. Detached JWS ('header..signature') over the JCS-canonicalized completion payload returned by prepare_completion."}, 'worker_signed_at': {'type': 'string', 'description': 'The exact `signed_at` value used inside the signed payload (ISO 8601).'}, 'decompose_outcome': {'enum': ['unblock', 'supersede'], 'type': 'string', 'description': "For tasks of type 'decompose' only. 'unblock' (default) drops the decompose→original dependency so the original becomes workable. 'supersede' closes the original as done because its subtasks fully replace it."}, 'transparency_hash': {'type': 'string', 'description': 'The transparency anchor hash you signed (from prepare_completion).'}, 'evidence_artifact_ids': {'type': 'array', 'items': {'type': 'string', '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)$'}, 'description': 'Artifact ids that back the summary.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['key'], 'properties': {'key': {'type': 'string', 'minLength': 1, 'description': 'The fact key, exactly as it appears in the context.'}, 'client': {'type': 'string', 'description': 'Client name, @handle, or UUID (for a client fact).'}, 'restore': {'type': 'boolean', 'description': 'Un-retire a previously retired fact.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$', 'description': 'Project id (for a project fact).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Filename, with its real extension (report.pptx, call.m4a).'}, 'task_id': {'type': 'string', 'description': 'Task the file belongs to.'}, 'mime_type': {'type': 'string', 'description': 'Optional. Content-Type you will send on the PUT.'}, 'size_bytes': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Optional. Expected file size.', 'exclusiveMinimum': 0}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': "Client/workspace name, e.g. 'Bowen eBikes'."}, 'reuse': {'type': 'boolean', 'description': 'Default true. Returns the existing workspace with this name instead of creating a duplicate.'}, 'description': {'type': 'string', 'maxLength': 2000, 'description': 'Optional one-liner about the client — status, tags like [PROSPECT], or key context.'}, 'organization': {'type': 'string', 'description': 'Organization name or slug. Defaults to your active organization when you belong to only one.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'goal': {'type': 'string', 'description': 'One line: what this project is trying to achieve.'}, 'name': {'type': 'string', 'minLength': 1}, 'client': {'type': 'string', 'description': 'Name or @handle of the client. Fuzzy-resolved.'}, 'brief_md': {'type': 'string', 'description': 'Longer markdown brief seeded into the project context.'}, 'deadline': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'client_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'goal': {'type': 'string', 'description': 'What outcome are we after?'}, 'role': {'type': 'string', 'description': "Role tag, e.g. 'coder', 'reviewer'."}, 'type': {'enum': ['epic', 'feature', 'task', 'subtask'], 'type': 'string', 'description': "Default 'task'."}, 'title': {'type': 'string', 'minLength': 1}, 'client': {'type': 'string', 'description': 'REQUIRED unless parent_id is set. Name or @handle of the client/workspace. Fuzzy-resolved.'}, 'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'note': {'type': 'string'}, 'label': {'type': 'string', 'minLength': 1, 'description': "What this input is, e.g. 'Approved brief' or 'Brand guidelines'."}, 'artifact_id': {'type': 'string', '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)$', 'description': 'An existing Tango artifact this work starts from.'}, 'external_url': {'type': 'string', 'format': 'uri', 'description': 'A link, when the input lives outside Tango.'}}}, 'description': 'The governed inputs this work starts from. Each artifact input is pinned to its current content fingerprint, so the task records exactly which version was handed over and flags it later if the source moves on.'}, 'project': {'type': 'string', 'description': 'REQUIRED unless parent_id is set. Name or @handle of the project this task belongs to (e.g. "Website", "Google Ads"). Call list_projects first and ask the human — never invent a project.'}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'URLs or references the assignee should read first.'}, 'assignee': {'type': 'string', 'description': 'Name, @handle, or email of the assignee. Fuzzy-resolved.'}, 'deadline': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$', 'description': 'ISO 8601 deadline.'}, 'subtasks': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'goal': {'type': 'string'}, 'title': {'type': 'string', 'minLength': 1}, 'assignee': {'type': 'string', 'description': 'Name, @handle, or email. Fuzzy-resolved.'}, 'deadline': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, 'definition_of_done': {'type': 'string'}}}, 'description': 'Break the ask down in one call: the parent plus its children, each created with a parent link, inheriting client, project and organization. Use this whenever the ask has more than one deliverable.'}, 'authority': {'type': 'object', 'properties': {'note': {'type': 'string', 'maxLength': 500, 'description': 'A boundary in plain words.'}, 'send': {'type': 'boolean', 'description': 'May send to a recipient outside the organization.'}, 'merge': {'type': 'boolean', 'description': 'May merge code to a protected branch.'}, 'spend': {'type': 'boolean', 'description': 'May spend money.'}, 'deploy': {'type': 'boolean', 'description': 'May deploy to production.'}, 'publish': {'type': 'boolean', 'description': 'May publish externally without asking.'}, 'spend_cap_usd': {'type': 'number', 'description': 'Ceiling on spend, in USD.', 'exclusiveMinimum': 0}, 'contact_client': {'type': 'boolean', 'description': 'May contact the client directly.'}}, 'description': "What the worker may do unattended. Everything is off unless granted; anything not granted must be escalated to the approver. Omit to inherit the organization's default for this role."}, 'client_id': {'type': 'string', '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)$', 'description': 'Scope the task to a Tango client (shared workspace).'}, 'parent_id': {'type': 'string', '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)$'}, 'depends_on': {'type': 'array', 'items': {'type': 'string', '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)$'}, 'description': 'Ids of tasks that must reach done or approved before this one is workable. Must be in the same organization; cycles are rejected.'}, 'project_id': {'type': 'string', '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)$', 'description': 'Project id, if already known.'}, 'approver_id': {'type': 'string', '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)$'}, 'assignee_id': {'type': 'string', '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)$', 'description': 'Human user id to assign to.'}, 'constraints': {'type': 'string', 'description': 'Limits: budget, style, do-not-touch, deadlines context.'}, 'description': {'type': 'string'}, 'acting_worker_id': {'type': 'string', '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)$', 'description': 'Optional. The worker raising this task, recorded as the creator so whoever picks it up knows who to go back to for clarity. Defaults to the worker bound to this connection. Verified against caller ownership.'}, 'estimate_minutes': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Rough effort in minutes. Anything over 240 is treated as more than one task.', 'exclusiveMinimum': 0}, 'allow_cross_agency': {'type': 'boolean', 'description': 'Explicit opt-in to assign across agencies. Audited.'}, 'assignee_worker_id': {'type': 'string', '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)$', 'description': 'Worker id to assign to.'}, 'definition_of_done': {'type': 'string', 'description': 'Concrete acceptance criteria.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': "Display name, e.g. 'claude-desktop-1'."}, 'reuse': {'type': 'boolean', 'description': 'Default true. If you already own a worker with this name or handle, it is linked into the target organization and returned instead of creating a duplicate identity. Set false to force a separate worker.'}, 'roles': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'maxItems': 20, 'description': "Roles this worker accepts work for, e.g. ['coder','researcher']. Defaults to ['agent']."}, 'clients': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 20, 'description': 'Client names or @handles this worker should be scoped to. Omit for org-wide.'}, 'harness': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': "Runtime you run on, e.g. 'claude-desktop', 'hermes', 'custom'. Defaults to 'custom'."}, 'key_mode': {'enum': ['delegated', 'attested'], 'type': 'string', 'description': 'delegated (default): Tango signs for you. attested: you hold the Ed25519 private key.'}, 'capabilities': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'organization': {'type': 'string', 'description': 'Organization name or slug. Defaults to your active organization when you belong to only one.'}, 'idempotency_key': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Optional client-generated key. Retrying with the same key returns the worker created by the first call instead of creating a duplicate.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'confirm'], 'properties': {'reason': {'type': 'string', 'description': 'Short note explaining why the task is being removed.'}, 'confirm': {'type': 'boolean', 'const': True, 'description': 'Must be true to acknowledge this hides the task from everyone.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'kind': {'enum': ['worker', 'human', 'client', 'any'], 'type': 'string', 'description': "Filter by kind. Default 'any' — kinds are interleaved by score."}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Free text: a name, first name, @handle, or email.'}, 'scope': {'enum': ['active_agency', 'global'], 'type': 'string', 'description': "'active_agency' (default) or 'global' across all orgs the caller can see."}, 'agency_id': {'type': 'string', '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)$', 'description': 'Restrict to a specific agency (defaults to active agency).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'reason': {'type': 'string', 'maxLength': 500, 'description': 'One sentence on what you could not determine.'}, 'task_id': {'type': 'string', 'description': 'The under-specified task. Id or task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'Artifact name/filename within that task.'}, 'task_id': {'type': 'string', 'description': "Task id — use with `name` when you don't have the artifact id."}, 'max_bytes': {'type': 'integer', 'maximum': 1000000, 'minimum': 1000, 'description': 'Inline body cap in bytes. Default 200000.'}, 'artifact_id': {'type': 'string', '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)$', 'description': "Artifact id (from get_task's artifacts list)."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string', 'description': 'Name, @handle, or UUID of the client (e.g. "Avalore" or "@avaloregroup"). Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'decision_limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'How many recent decisions to return (default 20).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'worker': {'type': 'string', '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)$', 'description': 'Worker id to tailor the snippet to. Defaults to your first worker.'}, 'platform': {'enum': ['macos', 'linux', 'any'], 'type': 'string'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string', 'description': 'Client to scope the project lookup to.'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$'}, 'decision_limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'scope': {'enum': ['me', 'client'], 'type': 'string', 'description': "Default 'me'."}, 'client': {'type': 'string', 'description': "Client name, @handle, or UUID (required for scope 'client', optional filter for 'me')."}, 'format': {'enum': ['text', 'json'], 'type': 'string', 'description': "Default 'text' (short summary)."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Tango task id, the 8-character short reference agents quote (e.g. `fd959117`), or a pasted Tango task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Entries per page. Default 50.'}, 'types': {'type': 'array', 'items': {'type': 'string'}, 'description': "Optional event types to include, e.g. ['progress_note','comment','status_changed']."}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Skip this many entries for paging.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id or task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'How many attempts to return. Default 20.'}, 'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'term': {'type': 'string', 'description': "A term, slug or alias to look up (e.g. 'epic', 'lease', 'byok'). Omit for everything."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'note'], 'properties': {'to': {'type': 'string', 'description': 'Name, @handle, or email of the recipient. Fuzzy-resolved.'}, 'note': {'type': 'string', 'minLength': 1}, 'to_id': {'type': 'string', '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)$'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'to_kind': {'enum': ['worker', 'human'], 'type': 'string'}, 'auto_lease': {'type': 'boolean', 'description': 'If true and the recipient is a worker owned by the caller, immediately take a lease on the task so the recipient can start work without a separate claim_task call.'}, 'lease_seconds': {'type': 'integer', 'maximum': 14400, 'minimum': 30}, 'acting_worker_id': {'type': 'string', '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)$', 'description': 'Optional. Self-asserted worker initiating this handoff. Ignored if a lease is active. Verified against caller ownership.'}, 'allow_cross_agency': {'type': 'boolean'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'description': 'Optional note about where this key will run.'}, 'worker_id': {'type': 'string', '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)$', 'description': 'The worker to mint a key for. Must be yours.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'client': {'type': 'string', 'description': 'Client name, @handle, or UUID.'}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'parked': {'enum': ['exclude', 'include', 'only'], 'type': 'string', 'description': 'Parked tasks: exclude (default), include, or only.'}, 'search': {'type': 'string', 'description': 'Match in the title.'}, 'status': {'type': 'array', 'items': {'enum': ['queued', 'assigned', 'in_progress', 'review', 'approved', 'done', 'escalated', 'blocked', 'cancelled', 'archived'], 'type': 'string'}, 'description': 'Only these statuses. Default: open work (queued, assigned, in_progress, review, blocked, escalated).'}, 'overdue': {'type': 'boolean'}, 'summary': {'type': 'boolean', 'description': 'Summary rows (default true). Pass false for full task rows.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string', 'description': 'Client name or @handle. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$', 'description': 'Client id. Use this when you already know it.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string', 'description': 'Name, @handle, or UUID of the client.'}, 'client_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string', 'description': 'Name, @handle, or UUID of the client.'}, 'client_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client_id': {'type': 'string', '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)$', 'description': 'Resolve the organization from this client instead of your active organization.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'mine': {'type': 'boolean', 'description': 'Only tasks assigned to you (as a human) or to one of your workers.'}, 'role': {'type': 'string'}, 'sort': {'enum': ['created_desc', 'updated_desc', 'due_asc', 'due_desc'], 'type': 'string', 'description': 'Result ordering. Defaults to updated_desc. due_asc puts the soonest deadline first.'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'since': {'type': 'string', 'description': 'ISO timestamp — only tasks created or updated after this. Use for cheap polling (or use check_in).'}, 'status': {'enum': ['queued', 'assigned', 'in_progress', 'review', 'approved', 'done', 'escalated', 'blocked', 'cancelled', 'archived'], 'type': 'string', 'description': "Optional status filter. Omit it when checking for your own work — tasks routed to you sit in 'assigned', so status='queued' hides them."}, 'overdue': {'type': 'boolean', 'description': 'Shortcut: unfinished tasks whose deadline has already passed.'}, 'agency_id': {'type': 'string', '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)$', 'description': 'Restrict to one agency.'}, 'client_id': {'type': 'string', '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)$'}, 'due_after': {'type': 'string', 'description': 'ISO timestamp — only tasks with a deadline at or after this.'}, 'parent_id': {'type': 'string', '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)$', 'description': 'Only subtasks of this parent task.'}, 'due_before': {'type': 'string', 'description': "ISO timestamp — only tasks with a deadline before this. Pass 'now' semantics by sending the current time to get overdue work."}, 'has_deadline': {'type': 'boolean', 'description': 'true = only tasks with a deadline, false = only tasks without one.'}, 'unacknowledged': {'type': 'boolean', 'description': 'Only tasks nobody has acknowledged yet.'}, 'context_changed': {'type': 'boolean', 'description': 'Only tasks whose client/project context was revised after they were assigned.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'task_id': {'type': 'string', 'description': 'Limit to one task id.'}, 'include_answered': {'type': 'boolean', 'description': 'Include already-answered questions. Default false.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'to': {'type': 'string', 'description': 'YYYY-MM-DD upper bound on occurred_on.'}, 'from': {'type': 'string', 'description': 'YYYY-MM-DD lower bound on occurred_on.'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'client': {'type': 'string'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1}, 'client': {'type': 'string'}, 'status': {'enum': ['open', 'in_progress', 'resolved', 'wont_fix', 'all'], 'type': 'string', 'description': 'Defaults to open + in_progress.'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$'}, 'include_finished': {'type': 'boolean', 'description': 'Include done and cancelled milestones.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'client': {'type': 'string', 'description': 'Name or @handle of the client. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'include_archived': {'type': 'boolean'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'status': {'enum': ['open', 'waiting_on_customer', 'waiting_on_us', 'resolved', 'closed', 'all'], 'type': 'string', 'default': 'all'}, 'ticket_id': {'type': 'string', '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)$', 'description': 'Fetch the full thread for this ticket.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['kind', 'summary'], 'properties': {'kind': {'enum': ['decision', 'learning', 'preference', 'constraint'], 'type': 'string'}, 'client': {'type': 'string', 'description': 'Name, @handle, or UUID of the client. Fuzzy-resolved.'}, 'detail': {'type': 'string', 'description': 'Longer context/rationale.'}, 'summary': {'type': 'string', 'minLength': 1, 'description': 'One-line summary — this is what agents skim.'}, 'task_id': {'type': 'string', 'description': 'Link this entry to a specific task, if applicable. Id or task URL.'}, 'client_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['summary'], 'properties': {'kind': {'enum': ['decision', 'learning', 'preference', 'constraint'], 'type': 'string'}, 'client': {'type': 'string'}, 'detail': {'type': 'string'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'summary': {'type': 'string', 'minLength': 1}, 'task_id': {'type': 'string', 'description': 'Task this came out of, if any. Id or task URL.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string', 'minLength': 1}, 'client': {'type': 'string'}, 'impact': {'type': 'string', 'description': 'What this is expected to move in the data.'}, 'ends_on': {'type': 'string', 'description': 'YYYY-MM-DD for events that span a period.'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'task_id': {'type': 'string'}, 'category': {'enum': ['change', 'launch', 'incident', 'external', 'milestone'], 'type': 'string'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$'}, 'description': {'type': 'string'}, 'occurred_on': {'type': 'string', 'description': 'YYYY-MM-DD. Defaults to today.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title'], 'properties': {'url': {'type': 'string', 'description': 'Deep link to the issue, if it has one.'}, 'title': {'type': 'string', 'minLength': 1, 'description': 'One-line statement of the issue.'}, 'client': {'type': 'string'}, 'detail': {'type': 'string', 'description': 'Full text of the issue, verbatim where possible.'}, 'source': {'type': 'string', 'description': "Where you found it, e.g. 'Google Ads', 'GA4', 'Shopify'."}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'task_id': {'type': 'string', 'description': 'Task created to fix this, if it already exists.'}, 'severity': {'enum': ['blocker', 'high', 'medium', 'low'], 'type': 'string'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$'}, 'discovered_on': {'type': 'string', 'description': 'YYYY-MM-DD. Defaults to today.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['memory_id'], 'properties': {'memory_id': {'type': 'string', '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)$', 'description': 'Id returned by memory_search or memory_save.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 20000, 'minLength': 3, 'description': 'The memory itself, in markdown.'}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40}, 'description': 'Free-form tags to search on later.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 3, 'description': 'A short, searchable title.'}, 'client': {'type': 'string', 'description': 'Client/workspace name or @handle this memory belongs to.'}, 'task_id': {'type': 'string', 'description': 'The task this memory came out of, if any.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$', 'description': 'Narrow the memory to one project.'}, 'source_harness': {'type': 'string', 'maxLength': 40, 'description': 'The harness writing this memory.'}, 'target_harness': {'type': 'string', 'maxLength': 40, 'description': "Harness this handoff is addressed to (e.g. 'codex', 'claude'). Leave empty for a general memory."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40}, 'description': 'Only memories carrying all of these tags.'}, 'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Max results, default 10.'}, 'query': {'type': 'string', 'maxLength': 300, 'description': 'Text to match in the title or body.'}, 'client': {'type': 'string', 'description': 'Limit to a client/workspace by name or @handle.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$'}, 'target_harness': {'type': 'string', 'maxLength': 40, 'description': "Only handoffs addressed to this harness (e.g. 'codex')."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'checkpoint'], 'properties': {'note': {'type': 'string', 'description': 'Short handoff note for whoever resumes.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'checkpoint': {'type': 'object', 'description': 'Free-form JSON object holding your working state: e.g. { scratchpad, plan, next_steps, context }.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'outcome', 'summary'], 'properties': {'outcome': {'enum': ['review', 'done'], 'type': 'string'}, 'summary': {'type': 'string', 'minLength': 1, 'description': 'The exact summary string you will pass to complete_task.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'acting_worker_id': {'type': 'string', '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)$'}, 'evidence_artifact_ids': {'type': 'array', 'items': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'worker_id': {'type': 'string', '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)$', 'description': 'Optional. Defaults to the worker bound to this MCP connection (one worker per harness).'}, 'lease_seconds': {'type': 'integer', 'maximum': 14400, 'minimum': 30, 'description': 'Lease duration in seconds (default 2700 = 45 min, max 14400 = 4 h).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['view'], 'properties': {'view': {'type': 'string', 'description': 'View key from list_context_sources, e.g. "copywriting_frameworks".'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1}, 'client': {'type': 'string', 'description': 'Name, @handle, or UUID of the client.'}, 'search': {'type': 'string', 'description': "Free-text match across the view's filterable columns."}, 'source': {'type': 'string', 'description': 'Source name, only needed when two sources share a view key.'}, 'filters': {'type': 'object', 'description': 'Equality filters. Only columns listed as filterable on the view are accepted.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}]}}, 'client_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'provider', 'action'], 'properties': {'query': {'type': 'object', 'description': 'Query string parameters.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'action': {'type': 'string', 'description': "Native connections: the provider endpoint path, e.g. '/conversations.history' or '/repos/acme/site/issues'. Gateway connections: the action or tool name."}, 'task_id': {'type': 'string', 'description': 'A task you hold the lease on. Its client decides which connection is used.'}, 'provider': {'type': 'string', 'description': "Which connected system to call, e.g. 'slack', 'linear', 'github', 'notion', 'jira'."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'thread_id': {'type': 'string', '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)$'}, 'include_read': {'type': 'boolean'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id', 'public_key_jwk', 'signed_nonce'], 'properties': {'nonce': {'type': 'string', 'description': 'The nonce you signed. Optional; defaults to your latest challenge.'}, 'worker_id': {'type': 'string', '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)$'}, 'signed_nonce': {'type': 'string', 'minLength': 40, 'description': 'base64url Ed25519 signature over the raw nonce bytes.'}, 'public_key_jwk': {'type': 'object', 'description': 'Ed25519 public JWK: { "kty": "OKP", "crv": "Ed25519", "x": "<base64url>" }. No "d".', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'depends_on_task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'The dependent task. Id or task URL.'}, 'depends_on_task_id': {'type': 'string', 'description': 'The blocker task to detach. Id or task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['handle'], 'properties': {'handle': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': 'New canonical handle. 2-39 chars: a-z, 0-9, - and _; must start with a letter or digit.'}, 'worker_id': {'type': 'string', '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)$', 'description': 'Rename this agent instead of your human profile. Must be a worker you own.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'worker_id': {'type': 'string', '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)$', 'description': 'Optional. Defaults to the worker bound to this MCP connection.'}, 'lease_seconds': {'type': 'integer', 'maximum': 14400, 'minimum': 30}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ticket_id', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 20000, 'minLength': 1}, 'ticket_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id', 'target_agency_handle'], 'properties': {'message': {'type': 'string', 'maxLength': 2000}, 'worker_id': {'type': 'string', '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)$', 'description': 'The sandbox worker requesting access. Must be owned by the authenticated caller.'}, 'requested_client_ids': {'type': 'array', 'items': {'type': 'string', '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)$'}, 'maxItems': 50}, 'target_agency_handle': {'type': 'string', 'minLength': 1, 'description': 'Slug or exact name of the target organization.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'note': {'type': 'string', 'description': 'Why decomposition is needed / hints for the planner.'}, 'task_id': {'type': 'string', 'description': 'The under-specified task to be broken down. Id or task URL.'}, 'assignee': {'type': 'string', 'description': 'Name, @handle, or email of the person or worker who should do the decomposition. Fuzzy-resolved.'}, 'assignee_id': {'type': 'string', '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)$'}, 'assignee_worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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)$', 'description': 'The worker you are registering a key for. Must be yours.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['handle'], 'properties': {'handle': {'type': 'string', 'minLength': 1, 'description': 'The @handle to resolve, e.g. "@hermes" or "hermes".'}, 'agency_id': {'type': 'string', '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)$', 'description': 'Restrict resolution to a specific organization (skips the global fallback).'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'goal', 'definition_of_done'], 'properties': {'goal': {'type': 'string', 'minLength': 1, 'description': 'What outcome this task must produce.'}, 'note': {'type': 'string', 'description': 'Optional message back to whoever sent it back.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'constraints': {'type': 'string', 'description': 'Optional limits, must-nots, or required inputs.'}, 'definition_of_done': {'type': 'string', 'minLength': 1, 'description': 'How a reviewer will know it is finished.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'note': {'type': 'string', 'description': 'Why the task is being resumed.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'unassign': {'type': 'boolean', 'description': 'Clear the pinned agent so any matching agent can pick the task up again.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['key', 'reason'], 'properties': {'key': {'type': 'string', 'minLength': 1, 'description': 'The fact key, exactly as it appears in the context.'}, 'client': {'type': 'string', 'description': 'Client name, @handle, or UUID (for a client fact).'}, 'reason': {'type': 'string', 'minLength': 1, 'description': 'Why it is no longer true.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$', 'description': 'Project id (for a project fact).'}, 'superseded_by': {'type': 'string', 'description': 'Key of the fact that replaces it, if any.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'key_id': {'type': 'string', '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)$', 'description': 'Key id returned by issue_worker_key.'}, 'worker_id': {'type': 'string', '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)$', 'description': 'The worker the key belongs to.'}, 'key_prefix': {'type': 'string', 'maxLength': 64, 'minLength': 4, 'description': 'Key prefix returned by issue_worker_key.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id', 'kid', 'reason'], 'properties': {'kid': {'type': 'string', 'minLength': 4, 'description': 'The key identifier to revoke.'}, 'reason': {'type': 'string', 'maxLength': 280, 'minLength': 1, 'description': 'Why the key is being revoked.'}, 'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'reason': {'type': 'string', 'maxLength': 280}, 'key_mode': {'enum': ['attested', 'delegated'], 'type': 'string', 'description': "Assurance mode for the new key. Defaults to the worker's current mode."}, 'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'minLength': 1}, 'agency_id': {'type': 'string', '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)$'}, 'client_id': {'type': 'string', '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)$'}, 'parent_id': {'type': 'string', '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)$', 'description': 'Only subtasks of this parent task.'}, 'project_id': {'type': 'string', '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)$', 'description': 'Only tasks in this project.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'agency_id': {'type': 'string', '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)$', 'description': "Organization to read. Defaults to the caller's active organization."}, 'include_resolved': {'type': 'boolean', 'description': 'Include findings that have since been fixed.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'note'], 'properties': {'note': {'type': 'string', 'minLength': 1, 'description': 'What the creator has to clarify — the missing context, goal, or definition of done.'}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['body'], 'properties': {'to': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50}], 'description': '@handle, list of @handles, or "all". Optional when replying with thread_id.'}, 'body': {'type': 'string', 'maxLength': 16000, 'minLength': 1, 'description': 'Markdown message.'}, 'subject': {'type': 'string', 'maxLength': 200, 'description': 'Subject for a new thread.'}, 'thread_id': {'type': 'string', '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)$', 'description': 'Reply in this thread.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['health', 'note'], 'properties': {'note': {'type': 'string', 'minLength': 1, 'description': 'Why — one line, specific.'}, 'client': {'type': 'string'}, 'health': {'enum': ['on_track', 'at_risk', 'off_track'], 'type': 'string'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'events': {'type': 'array', 'items': {'enum': ['task.assigned', 'task.commented', 'task.mentioned', 'task.handoff_received', 'task.deadline_soon', 'task.changes_requested', 'task.unblocked', 'task.question_answered', 'task.approved'], 'type': 'string'}}, 'worker_id': {'type': 'string', '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)$'}, 'rotate_secret': {'type': 'boolean', 'description': 'Mint a new signing secret and reveal it once. The previous secret stops validating immediately.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['subject', 'body'], 'properties': {'body': {'type': 'string', 'maxLength': 20000, 'minLength': 3, 'description': 'What you tried, what happened, exact error text, and what you expected.'}, 'context': {'type': 'object', 'description': 'Optional machine context: tool name, task id, raw error payload.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'subject': {'type': 'string', 'maxLength': 300, 'minLength': 3, 'description': 'One-line summary of the problem.'}, 'category': {'enum': ['question', 'bug', 'connection', 'billing', 'feature_request', 'other'], 'type': 'string', 'default': 'question'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id'], 'properties': {'worker_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'facts': {'type': 'object', 'description': 'Key/value structured facts (domain, industry, timezone, primary contact, brand voice, etc.). Values must be strings.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'client': {'type': 'string', 'description': 'Name, @handle, or UUID of the client. Fuzzy-resolved.'}, 'brief_md': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Full brief as markdown. Omit to leave the brief untouched. Pass an empty string or null to clear it.'}, 'client_id': {'type': 'string', '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)$'}, 'facts_mode': {'enum': ['merge', 'replace'], 'type': 'string', 'description': "How to apply `facts`. Default 'merge'."}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'goal': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'type': 'string', 'minLength': 1}, 'stage': {'enum': ['planning', 'active', 'on_hold', 'complete', 'archived'], 'type': 'string', 'description': 'Where the project is in its life. Sets status too.'}, 'client': {'type': 'string', 'description': 'Client to scope the project lookup to.'}, 'health': {'enum': ['on_track', 'at_risk', 'off_track'], 'type': 'string', 'description': 'A judgement call, not a computed value. Pair it with health_note.'}, 'status': {'enum': ['active', 'archived'], 'type': 'string'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'deadline': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'owner_id': {'anyOf': [{'type': 'string', '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': 'null'}], 'description': 'User id of the person accountable for the project.'}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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)$'}, 'start_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'YYYY-MM-DD'}, 'health_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stakeholder_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stakeholder_role': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stakeholder_email': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'goal': {'type': 'string', 'description': 'One-line intent, stored on the project itself.'}, 'facts': {'type': 'object', 'description': 'Structured key/value facts. Merged into existing facts.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'client': {'type': 'string'}, 'project': {'type': 'string', 'description': 'Name or @handle of the project. Fuzzy-resolved.'}, 'brief_md': {'type': 'string', 'description': 'Markdown brief. Replaces the existing brief.'}, 'add_links': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'url'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'label': {'type': 'string'}, 'notes': {'type': 'string'}}}}, 'client_id': {'type': 'string', '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)$'}, 'project_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['decision_id'], 'properties': {'kind': {'enum': ['decision', 'learning', 'preference', 'constraint'], 'type': 'string'}, 'detail': {'type': 'string'}, 'summary': {'type': 'string', 'minLength': 1}, 'task_id': {'type': 'string'}, 'decision_id': {'type': 'string', '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': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['event_id'], 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string', 'minLength': 1}, 'impact': {'type': 'string'}, 'ends_on': {'type': 'string', 'description': 'YYYY-MM-DD, for a period. Empty string clears it.'}, 'task_id': {'type': 'string'}, 'category': {'enum': ['change', 'launch', 'incident', 'external', 'milestone'], 'type': 'string'}, 'event_id': {'type': 'string', '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)$'}, 'description': {'type': 'string'}, 'occurred_on': {'type': 'string', 'description': 'YYYY-MM-DD.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['issue_id'], 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string', 'minLength': 1}, 'detail': {'type': 'string'}, 'source': {'type': 'string'}, 'status': {'enum': ['open', 'in_progress', 'resolved', 'wont_fix'], 'type': 'string'}, 'task_id': {'type': 'string', 'description': 'Task that fixes this issue.'}, 'issue_id': {'type': 'string', '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)$'}, 'severity': {'enum': ['blocker', 'high', 'medium', 'low'], 'type': 'string'}, 'resolution': {'type': 'string', 'description': 'What was done, required in spirit when closing an issue.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'goal': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'role': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'type': {'enum': ['epic', 'feature', 'task', 'subtask'], 'type': 'string'}, 'title': {'type': 'string', 'minLength': 1}, 'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['label'], 'properties': {'note': {'type': 'string'}, 'label': {'type': 'string', 'minLength': 1}, 'artifact_id': {'type': 'string', '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)$'}, 'external_url': {'type': 'string', 'format': 'uri'}}}, 'description': 'Additional governed inputs to pin to this task. Each artifact input records the content fingerprint at the moment it is pinned. Adds to the existing inputs; it does not replace them.'}, 'status': {'enum': ['queued', 'assigned', 'in_progress', 'review', 'escalated', 'blocked', 'cancelled', 'archived'], 'type': 'string', 'description': 'Move the task. Use `blocked` for work parked on a dependency, `cancelled` for work called off, and `archived` to shelve a task nobody will ever pick up. Agents cannot set `done`/`approved` — hand back for review instead.'}, 'project': {'type': 'string', 'description': "Move the task to this project (name or @handle). Must belong to the task's client."}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}]}, 'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'deadline': {'anyOf': [{'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$'}, {'type': 'null'}]}, 'authority': {'type': 'object', 'properties': {'note': {'type': 'string', 'maxLength': 500}, 'send': {'type': 'boolean'}, 'merge': {'type': 'boolean'}, 'spend': {'type': 'boolean'}, 'deploy': {'type': 'boolean'}, 'publish': {'type': 'boolean'}, 'spend_cap_usd': {'type': 'number', 'exclusiveMinimum': 0}, 'contact_client': {'type': 'boolean'}}, 'description': 'Replace what the worker may do unattended. Everything omitted is off; anything off must be escalated to the approver.'}, 'client_id': {'anyOf': [{'type': 'string', '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': 'null'}]}, 'parent_id': {'anyOf': [{'type': 'string', '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': 'null'}]}, 'depends_on': {'anyOf': [{'type': 'array', 'items': {'type': 'string', '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': 'null'}], 'description': 'Replace the full set of prerequisite task ids. Pass [] to clear.'}, 'project_id': {'type': 'string', '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)$', 'description': 'Move the task to this project id.'}, 'constraints': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'status_reason': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'description': 'Required when setting `blocked` or `cancelled`: a short human-readable why.'}, 'evidence_required': {'anyOf': [{'type': 'array', 'items': {'enum': ['plan', 'tests', 'screenshot', 'document', 'data', 'link', 'review'], 'type': 'string'}}, {'type': 'null'}], 'description': 'Set the evidence this task must carry before complete_task is accepted. Replaces any existing policy; pass [] to fall back to the organization default, or null to clear the override.'}, 'allow_cross_agency': {'type': 'boolean'}, 'definition_of_done': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['worker_id', 'monthly_spend_cap_usd'], 'properties': {'roles': {'type': 'array', 'items': {'type': 'string', 'maxLength': 60, 'minLength': 1}, 'maxItems': 20, 'description': "Full replacement role list (comma-split parts of the original roles string, e.g. ['coder','tester']). Deduplicated case-insensitively. The worker pulls tasks whose required role matches any of these."}, 'worker_id': {'type': 'string', '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)$', 'description': 'Worker id to update.'}, 'monthly_spend_cap_usd': {'anyOf': [{'type': 'number', 'maximum': 1000000, 'minimum': 0}, {'type': 'null'}], 'description': 'Monthly spend ceiling in USD, or null to remove the cap.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id, or a pasted Tango task URL.'}, 'include_events': {'type': 'boolean', 'description': 'If true (default), include the full ordered event list in the response.'}}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['task_id', 'provider', 'action'], 'properties': {'body': {'type': 'object', 'description': "JSON request body, or the action's arguments.", 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'query': {'type': 'object', 'description': 'Query string parameters.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'action': {'type': 'string', 'description': "Native connections: the provider endpoint path, e.g. '/conversations.history' or '/repos/acme/site/issues'. Gateway connections: the action or tool name."}, 'method': {'enum': ['POST', 'PATCH'], 'type': 'string', 'description': 'HTTP method for native connections. Default POST.'}, 'task_id': {'type': 'string', 'description': 'A task you hold the lease on. Its client decides which connection is used.'}, 'provider': {'type': 'string', 'description': "Which connected system to call, e.g. 'slack', 'linear', 'github', 'notion', 'jira'."}}}
近期工具变更
类似的 MCP 服务器
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
TaScan
Manages field-service projects, workers, task lists, subtasks, dispatch, geofenced work zones, inspections, remediation workflows…
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
Refine Job Search
Tracks job applications, interviews, offers, recruiter email, and company openings, with Gmail synchronization and workflow actio…
Chronary
Manages calendars, availability, events, scheduling proposals, booking pages, human calendar connections, and webhooks.