{"success":true,"schema_version":"1.0.0","request_id":"req_ebddcca891ee4077874139fcea9a94a5","timestamp":"2026-11-01T16:37:10.602Z","result":{"items":[{"id":"F01","name":"inspect_pdf","title":"PDF诊断与元数据","status":"available","phase":"P0","group":"read","description":"Determine page count, dimensions, encryption, text availability and supported features before planning another operation. Do not use this to extract full document text or validate the truth of its contents. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. ready文件可完整诊断；restricted仅隔离受限诊断，可能无法取得页数；检测到签名不等于签名有效，不自动解密。","rest":{"method":"POST","path":"/api/v1/pdf/inspect"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"include_fonts":{"type":"boolean","description":"Include font inventory","default":false},"include_security_flags":{"type":"boolean","description":"Include active-content and signature flags","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"include_fonts":{"type":"boolean","description":"Include font inventory","default":false},"include_security_flags":{"type":"boolean","description":"Include active-content and signature flags","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["inspection.json"],"limits_and_semantics":"ready文件可完整诊断；restricted仅隔离受限诊断，可能无法取得页数；检测到签名不等于签名有效，不自动解密。","acceptance":"数字PDF/扫描PDF/混合PDF分别给出逐页文字状态；损坏与需密码区分。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/inspect_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready","restricted"],"availability_reason":"Worker runtime enabled"},{"id":"F02","name":"extract_pdf_text","title":"提取文字","status":"available","phase":"P0","group":"extract","description":"Retrieve existing PDF text with page references and coordinates. Do not use for image-only pages; use recognize_pdf_text first or request OCR explicitly. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 字符映射缺失给warning；不自动增加OCR收费；空白页返回empty。","rest":{"method":"POST","path":"/api/v1/pdf/extract-text"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"reading_order":{"type":"string","description":"Text reading order","enum":["layout","content_stream"],"default":"layout"},"include_coordinates":{"type":"boolean","description":"Include block coordinates","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"reading_order":{"type":"string","description":"Text reading order","enum":["layout","content_stream"],"default":"layout"},"include_coordinates":{"type":"boolean","description":"Include block coordinates","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["text.jsonl","text.txt"],"limits_and_semantics":"字符映射缺失给warning；不自动增加OCR收费；空白页返回empty。","acceptance":"保留Unicode、页边界、文字来源；中文与双栏样本逐项验收。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_text","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F03","name":"extract_pdf_markdown","title":"提取Markdown","status":"available","phase":"P0","group":"extract","description":"Convert document reading structure to Markdown with source block mapping. Do not use when exact visual reproduction is required; use render_pdf_pages. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 标题推断标inferred；表格无法可靠恢复时保留原块；不静默OCR。","rest":{"method":"POST","path":"/api/v1/pdf/extract-markdown"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"include_tables":{"type":"boolean","description":"Include detected tables","default":true},"include_images":{"type":"boolean","description":"Reference extracted images","default":false},"heading_mode":{"type":"string","description":"Heading detection","enum":["conservative","layout"],"default":"conservative"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"include_tables":{"type":"boolean","description":"Include detected tables","default":true},"include_images":{"type":"boolean","description":"Reference extracted images","default":false},"heading_mode":{"type":"string","description":"Heading detection","enum":["conservative","layout"],"default":"conservative"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["document.md","blocks.jsonl"],"limits_and_semantics":"标题推断标inferred；表格无法可靠恢复时保留原块；不静默OCR。","acceptance":"每段Markdown有block映射，图片使用授权artifact引用，不嵌任意远程URL。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_markdown","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F04","name":"extract_pdf_tables","title":"提取表格","status":"available","phase":"P0","group":"extract","description":"Extract rows, cells and headers with source locations. Do not use to assume accounting correctness or infer unreadable numbers. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 保留raw值；跨页合并需证据；CSV做公式注入防护并记录转义规则。","rest":{"method":"POST","path":"/api/v1/pdf/extract-tables"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"output_format":{"type":"string","description":"Table output","enum":["json","csv","xlsx"],"default":"json"},"merge_across_pages":{"type":"boolean","description":"Attempt evidence-backed cross-page table merging","default":false},"include_cell_coordinates":{"type":"boolean","description":"Include cell coordinates","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"output_format":{"type":"string","description":"Table output","enum":["json","csv","xlsx"],"default":"json"},"merge_across_pages":{"type":"boolean","description":"Attempt evidence-backed cross-page table merging","default":false},"include_cell_coordinates":{"type":"boolean","description":"Include cell coordinates","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["tables.json","tables.csv|xlsx"],"limits_and_semantics":"保留raw值；跨页合并需证据；CSV做公式注入防护并记录转义规则。","acceptance":"合并单元格、重复表头、空值不丢；数值和币种不凭上下文猜测。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_tables","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F05","name":"extract_pdf_images","title":"提取内嵌图片","status":"available","phase":"P1","group":"extract","description":"Retrieve embedded image assets and page placement. Do not use for complete page screenshots; use render_pdf_pages. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 图片重用关系保留；色彩空间转换说明；提取解码设像素限额。","rest":{"method":"POST","path":"/api/v1/pdf/extract-images"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"minimum_pixels":{"type":"integer","description":"Minimum image pixel count","minimum":1},"deduplicate":{"type":"boolean","description":"Deduplicate identical embedded images","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"minimum_pixels":{"type":"integer","description":"Minimum image pixel count","minimum":1},"deduplicate":{"type":"boolean","description":"Deduplicate identical embedded images","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["images.zip","images.json"],"limits_and_semantics":"图片重用关系保留；色彩空间转换说明；提取解码设像素限额。","acceptance":"一个图片多次出现时能定位每次placement；原始与转换hash可追踪。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_images","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F06","name":"extract_pdf_structure","title":"提取完整结构","status":"available","phase":"P1","group":"extract","description":"Retrieve reading order, headings, lists, figures and table structure for downstream processing. Do not use as an accessibility certification or assume model-inferred hierarchy is authored structure. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 原生tag与推断结构分开；公式低质量回退图片与坐标。","rest":{"method":"POST","path":"/api/v1/pdf/extract-structure"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"include_formulas":{"type":"boolean","description":"Extract formula candidates","default":false},"include_links":{"type":"boolean","description":"Include link destinations as inert data","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"include_formulas":{"type":"boolean","description":"Extract formula candidates","default":false},"include_links":{"type":"boolean","description":"Include link destinations as inert data","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["document-structure.json"],"limits_and_semantics":"原生tag与推断结构分开；公式低质量回退图片与坐标。","acceptance":"多栏、脚注、页眉分别带类型和method；未知类别保留unknown。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_structure","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F07","name":"recognize_pdf_text","title":"OCR及可搜索PDF","status":"available","phase":"P0","group":"extract","description":"Recognize scanned text and optionally add a searchable text layer. Do not use to guarantee handwriting accuracy or to bypass password protection. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 首发en/zh-Hans/zh-Hant模型以实测启用；force可能破坏原文字层，先报价；不默认栅格化矢量页。","rest":{"method":"POST","path":"/api/v1/pdf/ocr"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"languages":{"type":"array","description":"Explicit language codes; query capability for installed models","items":{"type":"string","description":"Language code"},"minItems":1,"maxItems":8},"mode":{"type":"string","description":"Existing text handling","enum":["missing_text_only","force"],"default":"missing_text_only"},"deskew":{"type":"boolean","description":"Deskew scanned pages","default":true},"output_searchable_pdf":{"type":"boolean","description":"Produce a searchable PDF","default":true}},"required":["languages"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"languages":{"type":"array","description":"Explicit language codes; query capability for installed models","items":{"type":"string","description":"Language code"},"minItems":1,"maxItems":8},"mode":{"type":"string","description":"Existing text handling","enum":["missing_text_only","force"],"default":"missing_text_only"},"deskew":{"type":"boolean","description":"Deskew scanned pages","default":true},"output_searchable_pdf":{"type":"boolean","description":"Produce a searchable PDF","default":true}},"required":["languages"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["ocr.jsonl","searchable.pdf"],"limits_and_semantics":"首发en/zh-Hans/zh-Hant模型以实测启用；force可能破坏原文字层，先报价；不默认栅格化矢量页。","acceptance":"扫描/混合/旋转页样本测试；OCR正文有坐标；文本层不重叠重复。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/recognize_pdf_text","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F08","name":"extract_pdf_fields","title":"按Schema提取字段","status":"available","phase":"P1","group":"extract","description":"Extract only caller-specified fields with evidence and missing-value status. Do not use to fabricate missing fields or verify legal or financial correctness. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. schema深度/大小限额；必须区分not_found/ambiguous；模型供应商需项目批准。","rest":{"method":"POST","path":"/api/v1/pdf/extract-fields"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container_or_approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"field_schema":{"type":"object","description":"Restricted JSON Schema: object properties, scalar types and bounded arrays. No remote refs."},"normalization_locale":{"type":"string","description":"Explicit locale for dates and numbers"},"include_evidence":{"type":"boolean","description":"Attach evidence to every found value","default":true}},"required":["field_schema"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"field_schema":{"type":"object","description":"Restricted JSON Schema: object properties, scalar types and bounded arrays. No remote refs."},"normalization_locale":{"type":"string","description":"Explicit locale for dates and numbers"},"include_evidence":{"type":"boolean","description":"Attach evidence to every found value","default":true}},"required":["field_schema"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["fields.json"],"limits_and_semantics":"schema深度/大小限额；必须区分not_found/ambiguous；模型供应商需项目批准。","acceptance":"字段缺失返回null；日期多义不给单一猜测；每个非空值可定位。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_fields","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F09","name":"chunk_pdf_document","title":"生成RAG分块","status":"available","phase":"P1","group":"extract","description":"Create source-linked chunks from a document for retrieval pipelines. Do not use this as automatic permission to persist vectors or send text to an embedding provider. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. tokenizer版本锁定；长表单独策略；chunk_id依赖解析版本。","rest":{"method":"POST","path":"/api/v1/pdf/chunk"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"max_tokens":{"type":"integer","description":"Maximum estimated tokens per chunk","minimum":64,"maximum":4096},"overlap_tokens":{"type":"integer","description":"Overlap token count; must be less than max_tokens","minimum":0,"maximum":512},"tokenizer":{"type":"string","description":"Pinned tokenizer identifier"},"preserve_tables":{"type":"boolean","description":"Keep tables together when within budget","default":true}},"required":["max_tokens","tokenizer"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"max_tokens":{"type":"integer","description":"Maximum estimated tokens per chunk","minimum":64,"maximum":4096},"overlap_tokens":{"type":"integer","description":"Overlap token count; must be less than max_tokens","minimum":0,"maximum":512},"tokenizer":{"type":"string","description":"Pinned tokenizer identifier"},"preserve_tables":{"type":"boolean","description":"Keep tables together when within budget","default":true}},"required":["max_tokens","tokenizer"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["chunks.jsonl"],"limits_and_semantics":"tokenizer版本锁定；长表单独策略；chunk_id依赖解析版本。","acceptance":"分块无页遗漏；overlap可计算；每块可还原来源范围。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/chunk_pdf_document","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F10","name":"search_pdf_content","title":"文档内容检索","status":"available","phase":"P0","group":"read","description":"Find text in the selected authorized PDF and return quoted page evidence. Do not use for web search or cross-project document discovery. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. P0单文件文字检索；扫描无文字需先OCR；正则不对公众开放。","rest":{"method":"POST","path":"/api/v1/pdf/search-content"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"query":{"type":"string","description":"Literal or normalized text query","minLength":1,"maxLength":1000},"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"match_mode":{"type":"string","description":"Search mode","enum":["literal","normalized"],"default":"normalized"},"max_results":{"type":"integer","description":"Maximum matches","minimum":1,"maximum":100}},"required":["query"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"query":{"type":"string","description":"Literal or normalized text query","minLength":1,"maxLength":1000},"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"match_mode":{"type":"string","description":"Search mode","enum":["literal","normalized"],"default":"normalized"},"max_results":{"type":"integer","description":"Maximum matches","minimum":1,"maximum":100}},"required":["query"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["matches.json"],"limits_and_semantics":"P0单文件文字检索；扫描无文字需先OCR；正则不对公众开放。","acceptance":"大小写/Unicode规则文档化；无结果是成功空数组；查询不跨租户。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/search_pdf_content","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F11","name":"compare_pdf_documents","title":"版本对比","status":"available","phase":"P1","group":"read","description":"Compare two authorized PDF versions using text and optional page rendering. Do not use the diff as a determination of contract significance or authenticity. Inputs: 2–2 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 顺序file_ids=[baseline,candidate]；页配对报告；渲染字体/分辨率锁定。","rest":{"method":"POST","path":"/api/v1/pdf/compare"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":2,"maxItems":2},"parameters":{"type":"object","properties":{"mode":{"type":"string","description":"Comparison mode","enum":["text","visual","both"],"default":"text"},"ignore_headers":{"type":"boolean","description":"Ignore repeated headers with explicit matching rule","default":false},"pixel_threshold":{"type":"integer","description":"Visual difference threshold percent","minimum":0,"maximum":100}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":2,"maxItems":2},"parameters":{"type":"object","properties":{"mode":{"type":"string","description":"Comparison mode","enum":["text","visual","both"],"default":"text"},"ignore_headers":{"type":"boolean","description":"Ignore repeated headers with explicit matching rule","default":false},"pixel_threshold":{"type":"integer","description":"Visual difference threshold percent","minimum":0,"maximum":100}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["diff.json","diff-preview.pdf"],"limits_and_semantics":"顺序file_ids=[baseline,candidate]；页配对报告；渲染字体/分辨率锁定。","acceptance":"插删页/内容移动分别报告；视觉差异与语义差异不混为一个分数。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/compare_pdf_documents","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F12","name":"verify_pdf_artifact","title":"验证PDF产物","status":"available","phase":"P0","group":"read","description":"Check PDF bytes, structure, page count and optional renderability against explicit expectations. Do not use to assert factual accuracy, legal validity or independent provenance. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 结果passed/failed/inconclusive逐检查；hash匹配不能代表内容正确。","rest":{"method":"POST","path":"/api/v1/pdf/verify"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"expected_sha256":{"type":"string","description":"Optional expected SHA-256","pattern":"^[a-f0-9]{64}$"},"expected_page_count":{"type":"integer","description":"Expected page count","minimum":1},"check_profile":{"type":"string","description":"Verification profile","enum":["structure","structure_and_render"],"default":"structure"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"expected_sha256":{"type":"string","description":"Optional expected SHA-256","pattern":"^[a-f0-9]{64}$"},"expected_page_count":{"type":"integer","description":"Expected page count","minimum":1},"check_profile":{"type":"string","description":"Verification profile","enum":["structure","structure_and_render"],"default":"structure"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["verification.json"],"limits_and_semantics":"结果passed/failed/inconclusive逐检查；hash匹配不能代表内容正确。","acceptance":"篡改一个字节能触发hash失败；失败报告仍可读取，不伪造成功PDF。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/verify_pdf_artifact","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F13","name":"merge_pdf_documents","title":"合并PDF","status":"available","phase":"P0","group":"organize","description":"Merge PDFs in the exact file_ids order and return a source-page map. Do not use to preserve pre-existing digital signatures; rewriting may invalidate them. Inputs: 2–20 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 20文件/总2000页初始上限；加密输入须合法解锁；字段冲突明确策略。","rest":{"method":"POST","path":"/api/v1/pdf/merge"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":2,"maxItems":20},"parameters":{"type":"object","properties":{"preserve_bookmarks":{"type":"boolean","description":"Preserve and remap supported bookmarks","default":true},"form_conflict":{"type":"string","description":"Duplicate field names","enum":["rename","reject"],"default":"rename"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":2,"maxItems":20},"parameters":{"type":"object","properties":{"preserve_bookmarks":{"type":"boolean","description":"Preserve and remap supported bookmarks","default":true},"form_conflict":{"type":"string","description":"Duplicate field names","enum":["rename","reject"],"default":"rename"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["merged.pdf","page-map.json"],"limits_and_semantics":"20文件/总2000页初始上限；加密输入须合法解锁；字段冲突明确策略。","acceptance":"输出页序和输入一致；签名/附件/书签变化warnings不省略。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/merge_pdf_documents","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F14","name":"split_pdf_document","title":"拆分PDF","status":"available","phase":"P0","group":"organize","description":"Create multiple PDFs from explicit source page groups. Do not use for semantic topic splitting; that requires a separately approved inference feature. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 允许不同组重叠但明确计量；每组有独立artifact；不接受越界页。","rest":{"method":"POST","path":"/api/v1/pdf/split"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"ranges":{"type":"array","description":"Each output uses an explicit ordered page selection","items":{"type":"array","description":"Pages for one output","items":{"type":"integer","description":"Page","minimum":1},"minItems":1,"maxItems":2000},"minItems":1,"maxItems":100}},"required":["ranges"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"ranges":{"type":"array","description":"Each output uses an explicit ordered page selection","items":{"type":"array","description":"Pages for one output","items":{"type":"integer","description":"Page","minimum":1},"minItems":1,"maxItems":2000},"minItems":1,"maxItems":100}},"required":["ranges"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["parts.zip","parts.json"],"limits_and_semantics":"允许不同组重叠但明确计量；每组有独立artifact；不接受越界页。","acceptance":"分组数量/页序/来源映射一致；空组拒绝。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/split_pdf_document","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F15","name":"select_pdf_pages","title":"选择/删除页面","status":"available","phase":"P0","group":"organize","description":"Create a new PDF containing only the requested pages. Do not use to delete the original stored file; use a deletion request. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 页面删除通过保留集合实现；默认禁止重复页；原件不变。","rest":{"method":"POST","path":"/api/v1/pdf/select-pages"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":["pages"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":["pages"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["selected.pdf","page-map.json"],"limits_and_semantics":"页面删除通过保留集合实现；默认禁止重复页；原件不变。","acceptance":"只保留指定页且原文件hash不变。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/select_pdf_pages","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F16","name":"reorder_pdf_pages","title":"重新排序页面","status":"available","phase":"P0","group":"organize","description":"Reorder all pages using a complete one-based permutation. Do not use to select a subset; use select_pdf_pages. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 必须包含所有页且无重复；非法排列422。","rest":{"method":"POST","path":"/api/v1/pdf/reorder-pages"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"page_order":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":["page_order"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"page_order":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":["page_order"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["reordered.pdf","page-map.json"],"limits_and_semantics":"必须包含所有页且无重复；非法排列422。","acceptance":"逆序和自定义顺序完全正确；书签目标重映射或warning。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/reorder_pdf_pages","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F17","name":"rotate_pdf_pages","title":"旋转页面","status":"available","phase":"P0","group":"organize","description":"Rotate selected pages in clockwise right-angle increments. Do not use for scan deskew of arbitrary small angles; use OCR deskew. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 按当前显示方向增量旋转；布局坐标基于新渲染空间。","rest":{"method":"POST","path":"/api/v1/pdf/rotate-pages"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"angle_degrees":{"type":"integer","enum":[90,180,270],"description":"Clockwise rotation relative to current display"}},"required":["angle_degrees"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"angle_degrees":{"type":"integer","enum":[90,180,270],"description":"Clockwise rotation relative to current display"}},"required":["angle_degrees"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["rotated.pdf"],"limits_and_semantics":"按当前显示方向增量旋转；布局坐标基于新渲染空间。","acceptance":"四次90度显示回原样；页尺寸/旋转元数据一致。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/rotate_pdf_pages","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F18","name":"crop_pdf_pages","title":"裁剪页面显示范围","status":"available","phase":"P1","group":"organize","description":"Change visible page crop regions with explicit coordinates. Do not use to remove secrets; cropped content may remain recoverable. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 裁剪不是脱敏；框需在页面内；原隐藏内容可存在。","rest":{"method":"POST","path":"/api/v1/pdf/crop-pages"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"regions":{"type":"array","description":"One crop rectangle per page","items":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"minItems":1,"maxItems":2000}},"required":["regions"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"regions":{"type":"array","description":"One crop rectangle per page","items":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"minItems":1,"maxItems":2000}},"required":["regions"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["cropped.pdf"],"limits_and_semantics":"裁剪不是脱敏；框需在页面内；原隐藏内容可存在。","acceptance":"CropBox正确；报告content_removed=false并建议redact用于秘密删除。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/crop_pdf_pages","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F19","name":"resize_pdf_pages","title":"调整页面尺寸","status":"available","phase":"P1","group":"organize","description":"Resize page geometry and content using an explicit fit rule. Do not use when unchanged geometric measurements are required. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 拉伸可能失真；保留比例/边距策略明确。","rest":{"method":"POST","path":"/api/v1/pdf/resize-pages"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"width_pt":{"type":"number","minimum":36,"maximum":14400},"height_pt":{"type":"number","minimum":36,"maximum":14400},"fit":{"type":"string","description":"Content fit","enum":["contain","stretch"],"default":"contain"}},"required":["width_pt","height_pt"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"width_pt":{"type":"number","minimum":36,"maximum":14400},"height_pt":{"type":"number","minimum":36,"maximum":14400},"fit":{"type":"string","description":"Content fit","enum":["contain","stretch"],"default":"contain"}},"required":["width_pt","height_pt"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["resized.pdf"],"limits_and_semantics":"拉伸可能失真；保留比例/边距策略明确。","acceptance":"A4/Letter/混合尺寸按目标生成；坐标映射可验证。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/resize_pdf_pages","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F20","name":"overlay_pdf_documents","title":"PDF叠加","status":"available","phase":"P1","group":"edit","description":"Overlay a chosen page of a second PDF onto selected target pages. Do not use as redaction or as a cryptographic signature. Inputs: 2–2 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 第二文件为图层源；需明确尺寸对齐；不移除底层内容。","rest":{"method":"POST","path":"/api/v1/pdf/overlay"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":2,"maxItems":2},"parameters":{"type":"object","properties":{"target_pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"overlay_page":{"type":"integer","description":"Page of second PDF used as overlay","minimum":1},"opacity":{"type":"number","minimum":0,"maximum":1,"default":1}},"required":["overlay_page"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":2,"maxItems":2},"parameters":{"type":"object","properties":{"target_pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"overlay_page":{"type":"integer","description":"Page of second PDF used as overlay","minimum":1},"opacity":{"type":"number","minimum":0,"maximum":1,"default":1}},"required":["overlay_page"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["overlaid.pdf"],"limits_and_semantics":"第二文件为图层源；需明确尺寸对齐；不移除底层内容。","acceptance":"透明度/顺序正确；底层文字仍可提取的事实写入报告。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/overlay_pdf_documents","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F21","name":"add_pdf_watermark","title":"添加水印","status":"available","phase":"P0","group":"edit","description":"Add a visible text watermark to selected pages. Do not use to remove or redact existing text. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 中文需有授权字体；字体缺失返回明确错误或获批替换。","rest":{"method":"POST","path":"/api/v1/pdf/watermark"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"text":{"type":"string","description":"Watermark text","minLength":1,"maxLength":200},"opacity":{"type":"number","minimum":0,"maximum":1,"default":0.2},"position":{"type":"string","description":"Placement","enum":["center","diagonal","footer"],"default":"diagonal"},"font_asset_id":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"}},"required":["text"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"text":{"type":"string","description":"Watermark text","minLength":1,"maxLength":200},"opacity":{"type":"number","minimum":0,"maximum":1,"default":0.2},"position":{"type":"string","description":"Placement","enum":["center","diagonal","footer"],"default":"diagonal"},"font_asset_id":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"}},"required":["text"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["watermarked.pdf"],"limits_and_semantics":"中文需有授权字体；字体缺失返回明确错误或获批替换。","acceptance":"可见水印不越界；多尺寸页面位置正确。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/add_pdf_watermark","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F22","name":"add_pdf_page_numbers","title":"添加页码","status":"available","phase":"P0","group":"edit","description":"Add visible page numbering with a defined start number and template. Do not use to change the source page identities in provenance. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 来源page_number不因打印页码变化；仅允许固定占位符。","rest":{"method":"POST","path":"/api/v1/pdf/page-numbers"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"start_number":{"type":"integer","description":"First printed number","minimum":0},"format":{"type":"string","description":"Allowed placeholders: {page}, {total}","default":"{page} / {total}","maxLength":80},"position":{"type":"string","description":"Placement","enum":["footer_center","footer_right","header_right"],"default":"footer_center"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"start_number":{"type":"integer","description":"First printed number","minimum":0},"format":{"type":"string","description":"Allowed placeholders: {page}, {total}","default":"{page} / {total}","maxLength":80},"position":{"type":"string","description":"Placement","enum":["footer_center","footer_right","header_right"],"default":"footer_center"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["numbered.pdf"],"limits_and_semantics":"来源page_number不因打印页码变化；仅允许固定占位符。","acceptance":"选页打印计数策略明确；总页数准确。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/add_pdf_page_numbers","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F23","name":"add_pdf_annotations","title":"添加注释","status":"available","phase":"P1","group":"edit","description":"Add inert text comments or highlights at explicit coordinates. Do not use to rewrite original text or execute embedded actions. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 禁止JS/Launch/远程动作；annotation作者元数据可显式配置。","rest":{"method":"POST","path":"/api/v1/pdf/annotations"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"annotations":{"type":"array","description":"Bounded text or highlight annotations","items":{"type":"object","properties":{"type":{"type":"string","description":"Type","enum":["text","highlight"]},"region":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"text":{"type":"string","description":"Plain text comment","maxLength":4000}},"required":["type","region"],"additionalProperties":false},"minItems":1,"maxItems":500}},"required":["annotations"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"annotations":{"type":"array","description":"Bounded text or highlight annotations","items":{"type":"object","properties":{"type":{"type":"string","description":"Type","enum":["text","highlight"]},"region":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"text":{"type":"string","description":"Plain text comment","maxLength":4000}},"required":["type","region"],"additionalProperties":false},"minItems":1,"maxItems":500}},"required":["annotations"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["annotated.pdf"],"limits_and_semantics":"禁止JS/Launch/远程动作；annotation作者元数据可显式配置。","acceptance":"打开/提取注释与坐标一致；无可执行动作。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/add_pdf_annotations","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F24","name":"update_pdf_bookmarks","title":"设置书签目录","status":"available","phase":"P1","group":"edit","description":"Replace the outline with validated page bookmarks. Do not use to infer a factual document hierarchy without reviewing suggested headings. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 循环父关系/越界拒绝；原书签替换以新文件保存。","rest":{"method":"POST","path":"/api/v1/pdf/bookmarks"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"bookmarks":{"type":"array","description":"Flat bookmarks with optional parent index","items":{"type":"object","properties":{"title":{"type":"string","description":"Bookmark title","maxLength":200},"page_number":{"type":"integer","description":"Destination page","minimum":1},"parent_index":{"type":"integer","description":"Optional parent position, zero-based","minimum":0}},"required":["title","page_number"],"additionalProperties":false},"minItems":1,"maxItems":1000}},"required":["bookmarks"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"bookmarks":{"type":"array","description":"Flat bookmarks with optional parent index","items":{"type":"object","properties":{"title":{"type":"string","description":"Bookmark title","maxLength":200},"page_number":{"type":"integer","description":"Destination page","minimum":1},"parent_index":{"type":"integer","description":"Optional parent position, zero-based","minimum":0}},"required":["title","page_number"],"additionalProperties":false},"minItems":1,"maxItems":1000}},"required":["bookmarks"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["bookmarked.pdf"],"limits_and_semantics":"循环父关系/越界拒绝；原书签替换以新文件保存。","acceptance":"层次可展开且跳转正确。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/update_pdf_bookmarks","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F25","name":"compress_pdf","title":"压缩PDF","status":"available","phase":"P0","group":"optimize","description":"Reduce PDF size using an explicit lossless or approved lossy profile. Do not use to guarantee an arbitrary target size while retaining unchanged quality. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. balanced/smallest需allow_lossy；压缩后更大默认返回原件引用并说明；签名影响提示。","rest":{"method":"POST","path":"/api/v1/pdf/compress"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"profile":{"type":"string","description":"Compression intent","enum":["lossless","balanced","smallest"],"default":"lossless"},"target_size_bytes":{"type":"integer","description":"Best-effort target, never guaranteed","minimum":1024},"allow_lossy":{"type":"boolean","description":"Explicitly allow image degradation","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"profile":{"type":"string","description":"Compression intent","enum":["lossless","balanced","smallest"],"default":"lossless"},"target_size_bytes":{"type":"integer","description":"Best-effort target, never guaranteed","minimum":1024},"allow_lossy":{"type":"boolean","description":"Explicitly allow image degradation","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["compressed.pdf","compression-report.json"],"limits_and_semantics":"balanced/smallest需allow_lossy；压缩后更大默认返回原件引用并说明；签名影响提示。","acceptance":"报告前后字节/比例/分辨率变化；文字可提取性和结构通过验证。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/compress_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F26","name":"linearize_pdf","title":"Web快速加载优化","status":"available","phase":"P1","group":"optimize","description":"Reorganize a PDF for incremental web loading. Do not use as a guarantee of smaller file size. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 线性化可能增大文件；必须验证linearized标志及结构。","rest":{"method":"POST","path":"/api/v1/pdf/linearize"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["linearized.pdf"],"limits_and_semantics":"线性化可能增大文件；必须验证linearized标志及结构。","acceptance":"独立检查器验证线性化，原页内容不变。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/linearize_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F27","name":"repair_pdf","title":"修复结构","status":"available","phase":"P1","group":"optimize","description":"Attempt bounded repair of recoverable PDF structural damage. Do not use to recover encrypted content without credentials or to guarantee recovery. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 丢页默认失败；允许丢页时必须partial+缺失页报告；原件保留。","rest":{"method":"POST","path":"/api/v1/pdf/repair"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"salvage_mode":{"type":"string","description":"Repair policy","enum":["conservative","allow_page_loss"],"default":"conservative"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"salvage_mode":{"type":"string","description":"Repair policy","enum":["conservative","allow_page_loss"],"default":"conservative"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["repaired.pdf","repair-report.json"],"limits_and_semantics":"丢页默认失败；允许丢页时必须partial+缺失页报告；原件保留。","acceptance":"修复成功后能独立解析；不可修复返回明确失败无空白假PDF。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/repair_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready","restricted"],"availability_reason":"Worker runtime enabled"},{"id":"F28","name":"images_to_pdf","title":"图片转PDF","status":"available","phase":"P0","group":"convert","description":"Create a PDF from PNG or JPEG images in the supplied order. Do not use this to OCR image text; use recognize_pdf_text afterwards. Inputs: 1–100 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 首发PNG/JPEG；其他格式需解码器验证；EXIF方向规范化并报告。","rest":{"method":"POST","path":"/api/v1/pdf/images-to-pdf"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":100},"parameters":{"type":"object","properties":{"page_size":{"type":"string","description":"Target page size","enum":["image","a4","letter"],"default":"image"},"fit":{"type":"string","description":"Image placement","enum":["contain","cover"],"default":"contain"},"dpi":{"type":"integer","description":"Input pixel-to-point resolution","minimum":36,"maximum":600}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":100},"parameters":{"type":"object","properties":{"page_size":{"type":"string","description":"Target page size","enum":["image","a4","letter"],"default":"image"},"fit":{"type":"string","description":"Image placement","enum":["contain","cover"],"default":"contain"},"dpi":{"type":"integer","description":"Input pixel-to-point resolution","minimum":36,"maximum":600}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["images.pdf"],"limits_and_semantics":"首发PNG/JPEG；其他格式需解码器验证；EXIF方向规范化并报告。","acceptance":"页序、方向、透明度、尺寸正确；像素爆炸受限。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/images_to_pdf","accepted_input_media_types":["image/png","image/jpeg"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F29","name":"render_pdf_pages","title":"PDF页面转图片","status":"available","phase":"P0","group":"convert","description":"Render complete PDF pages to bounded-resolution images. Do not use to extract original embedded image assets; use extract_pdf_images. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 最大输出像素和总字节限额；颜色/字体回退报告。 This Worker runtime emits PNG pages; JPEG and WebP require an image encoder adapter.","rest":{"method":"POST","path":"/api/v1/pdf/render-pages"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"format":{"type":"string","description":"Worker PDFium runtime output format (PNG).","enum":["png"],"default":"png"},"dpi":{"type":"integer","description":"Render DPI","minimum":36,"maximum":300},"include_transparency":{"type":"boolean","description":"Preserve transparency where supported","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"format":{"type":"string","description":"Worker PDFium runtime output format (PNG).","enum":["png"],"default":"png"},"dpi":{"type":"integer","description":"Render DPI","minimum":36,"maximum":300},"include_transparency":{"type":"boolean","description":"Preserve transparency where supported","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["pages.zip","render-manifest.json"],"limits_and_semantics":"最大输出像素和总字节限额；颜色/字体回退报告。","acceptance":"渲染尺寸可计算；选页齐全；无静默空白图。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/render_pdf_pages","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker PDFium Wasm enabled (PNG output)"},{"id":"F30","name":"html_to_pdf","title":"HTML生成PDF","status":"available","phase":"P1","group":"generate","description":"Render an uploaded HTML file and approved local assets into a PDF. Do not use for arbitrary authenticated browsing, intranet fetching or unapproved external scripts. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 输入上传HTML；P0不开放任意URL；JS默认禁用；受控资源出口必须覆盖子请求。","rest":{"method":"POST","path":"/api/v1/pdf/html-to-pdf"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"browser_run","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"paper":{"type":"string","description":"Paper size","enum":["a4","letter"],"default":"a4"},"landscape":{"type":"boolean","description":"Landscape orientation","default":false},"print_background":{"type":"boolean","description":"Print CSS backgrounds","default":true},"javascript_enabled":{"type":"boolean","description":"Approved isolated JavaScript profile","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"paper":{"type":"string","description":"Paper size","enum":["a4","letter"],"default":"a4"},"landscape":{"type":"boolean","description":"Landscape orientation","default":false},"print_background":{"type":"boolean","description":"Print CSS backgrounds","default":true},"javascript_enabled":{"type":"boolean","description":"Approved isolated JavaScript profile","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["generated.pdf"],"limits_and_semantics":"输入上传HTML；P0不开放任意URL；JS默认禁用；受控资源出口必须覆盖子请求。","acceptance":"字体等待/分页/背景正确；私网和跨租户资源请求被拦截。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/html_to_pdf","accepted_input_media_types":["text/html"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F31","name":"markdown_to_pdf","title":"Markdown生成PDF","status":"available","phase":"P0","group":"generate","description":"Render uploaded Markdown using a versioned bundled template and fonts. Do not use as a general-purpose HTML or script execution service. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 原始HTML禁用或严格净化；远程图片默认禁；输入上限1MiB建议。","rest":{"method":"POST","path":"/api/v1/pdf/markdown-to-pdf"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"paper":{"type":"string","description":"Paper size","enum":["a4","letter"],"default":"a4"},"theme":{"type":"string","description":"Bundled theme","enum":["plain","report"],"default":"plain"},"allow_raw_html":{"type":"boolean","description":"Raw HTML is sanitized even when allowed","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"paper":{"type":"string","description":"Paper size","enum":["a4","letter"],"default":"a4"},"theme":{"type":"string","description":"Bundled theme","enum":["plain","report"],"default":"plain"},"allow_raw_html":{"type":"boolean","description":"Raw HTML is sanitized even when allowed","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["generated.pdf"],"limits_and_semantics":"原始HTML禁用或严格净化；远程图片默认禁；输入上限1MiB建议。","acceptance":"标题/表格/代码分页可读；不执行输入脚本。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/markdown_to_pdf","accepted_input_media_types":["text/markdown"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F32","name":"office_to_pdf","title":"Office转PDF","status":"available","phase":"P1","group":"convert","description":"Convert supported Office documents using a pinned office engine and fonts. Do not use to run macros, refresh external data or promise pixel-identical Microsoft Office rendering. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 禁宏/外链/公式网络函数；打印区域和字体替换报告；旧二进制格式另验收。","rest":{"method":"POST","path":"/api/v1/pdf/office-to-pdf"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"format_hint":{"type":"string","description":"Uploaded Office format","enum":["docx","xlsx","pptx","odt","ods","odp"]},"sheet_names":{"type":"array","description":"Optional worksheet selection","items":{"type":"string","description":"Worksheet name"},"minItems":1,"maxItems":100},"font_policy":{"type":"string","description":"Missing font handling","enum":["reject","substitute_with_warning"],"default":"substitute_with_warning"}},"required":["format_hint"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"format_hint":{"type":"string","description":"Uploaded Office format","enum":["docx","xlsx","pptx","odt","ods","odp"]},"sheet_names":{"type":"array","description":"Optional worksheet selection","items":{"type":"string","description":"Worksheet name"},"minItems":1,"maxItems":100},"font_policy":{"type":"string","description":"Missing font handling","enum":["reject","substitute_with_warning"],"default":"substitute_with_warning"}},"required":["format_hint"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["converted.pdf","conversion-report.json"],"limits_and_semantics":"禁宏/外链/公式网络函数；打印区域和字体替换报告；旧二进制格式另验收。","acceptance":"复杂表格/页眉/幻灯片/中文字体金样本；丢页/超时明确失败。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/office_to_pdf","accepted_input_media_types":["application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F33","name":"pdf_to_docx","title":"PDF转Word","status":"available","phase":"P1","group":"convert","description":"Export PDF content into DOCX with an explicit editability or layout priority. Do not use to guarantee recovery of the original Word source. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 转换为近似重建；模型/provider需授权；扫描文件需明确OCR费用。","rest":{"method":"POST","path":"/api/v1/pdf/to-docx"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container_or_approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"mode":{"type":"string","description":"Export priority","enum":["editable","layout"],"default":"editable"},"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"mode":{"type":"string","description":"Export priority","enum":["editable","layout"],"default":"editable"},"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["converted.docx","conversion-report.json"],"limits_and_semantics":"转换为近似重建；模型/provider需授权；扫描文件需明确OCR费用。","acceptance":"段落/表格可编辑性和视觉差异双报告；字体替换明确。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/pdf_to_docx","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F34","name":"pdf_to_spreadsheet","title":"PDF转电子表格","status":"available","phase":"P1","group":"convert","description":"Export detected tables into spreadsheets while preserving cell evidence. Do not use to transform arbitrary page graphics into reliable financial tables. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 原始值和归一值分列；公式注入转义；布局非表格处报告忽略。","rest":{"method":"POST","path":"/api/v1/pdf/to-spreadsheet"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"format":{"type":"string","description":"Spreadsheet format","enum":["xlsx","csv"],"default":"xlsx"},"table_strategy":{"type":"string","description":"Sheet mapping","enum":["one_table_per_sheet","one_page_per_sheet"],"default":"one_table_per_sheet"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"format":{"type":"string","description":"Spreadsheet format","enum":["xlsx","csv"],"default":"xlsx"},"table_strategy":{"type":"string","description":"Sheet mapping","enum":["one_table_per_sheet","one_page_per_sheet"],"default":"one_table_per_sheet"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["converted.xlsx|csv","table-map.json"],"limits_and_semantics":"原始值和归一值分列；公式注入转义；布局非表格处报告忽略。","acceptance":"金额/负数/日期不误转；每个表可对应源页。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/pdf_to_spreadsheet","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F35","name":"pdf_to_slides","title":"PDF转演示文稿","status":"available","phase":"P1","group":"convert","description":"Create one slide per PDF page, using images or explicitly requested reconstruction. Do not use to imply image-based slides have editable text and shapes. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 默认整页图片；editable需通过独立质量门槛；不保留原动画。","rest":{"method":"POST","path":"/api/v1/pdf/to-slides"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container_or_approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"mode":{"type":"string","description":"Slide reconstruction","enum":["page_image","editable"],"default":"page_image"},"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"mode":{"type":"string","description":"Slide reconstruction","enum":["page_image","editable"],"default":"page_image"},"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["converted.pptx","conversion-report.json"],"limits_and_semantics":"默认整页图片；editable需通过独立质量门槛；不保留原动画。","acceptance":"模式如实标识；页比例正确；所有选页可播放。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/pdf_to_slides","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F36","name":"convert_pdfa","title":"PDF/A归档转换","status":"available","phase":"P1","group":"convert","description":"Convert to a supported PDF/A profile and run an independent conformance validator. Do not use an output filename or metadata flag as proof of PDF/A conformance. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 字体嵌入/色彩/加密限制；验证不通过不得标conformant。","rest":{"method":"POST","path":"/api/v1/pdf/to-pdfa"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"profile":{"type":"string","description":"Enabled conformance profile","enum":["pdfa-2b","pdfa-3b"],"default":"pdfa-2b"},"attachment_policy":{"type":"string","description":"Attachment handling","enum":["reject","remove_with_warning"],"default":"reject"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"profile":{"type":"string","description":"Enabled conformance profile","enum":["pdfa-2b","pdfa-3b"],"default":"pdfa-2b"},"attachment_policy":{"type":"string","description":"Attachment handling","enum":["reject","remove_with_warning"],"default":"reject"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["archive.pdf","pdfa-validation.json"],"limits_and_semantics":"字体嵌入/色彩/加密限制；验证不通过不得标conformant。","acceptance":"validator报告与所选profile一致；不可修复不交付假PDF/A。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/convert_pdfa","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F37","name":"create_pdf_from_template","title":"模板生成PDF","status":"available","phase":"P1","group":"generate","description":"Generate a PDF from an approved versioned template and validated data. Do not use to render arbitrary code, invent invoice compliance or send documents externally. Inputs: 0–0 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 模板schema必须匹配；无隐式税率/法定单据承诺；所有数据由调用者提供。","rest":{"method":"POST","path":"/api/v1/pdf/from-template"},"required_scopes":["jobs:create","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":0,"maxItems":0},"parameters":{"type":"object","properties":{"template_id":{"type":"string","description":"Approved versioned template ID"},"template_version":{"type":"string","description":"Exact template version"},"data":{"type":"object","description":"Validated against the chosen template schema; no executable expressions."}},"required":["template_id","template_version","data"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":0,"maxItems":0},"parameters":{"type":"object","properties":{"template_id":{"type":"string","description":"Approved versioned template ID"},"template_version":{"type":"string","description":"Exact template version"},"data":{"type":"object","description":"Validated against the chosen template schema; no executable expressions."}},"required":["template_id","template_version","data"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["generated.pdf","render-data-map.json"],"limits_and_semantics":"模板schema必须匹配；无隐式税率/法定单据承诺；所有数据由调用者提供。","acceptance":"缺字段422；排版溢出有检测；相同配置可回放。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/create_pdf_from_template","accepted_input_media_types":[],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F38","name":"list_pdf_form_fields","title":"读取表单字段","status":"available","phase":"P0","group":"forms","description":"List AcroForm field names, types, options and page locations before filling. Do not use to claim support for dynamic XFA forms. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 签名字段只报告，不复制密钥；XFA返回unsupported。","rest":{"method":"POST","path":"/api/v1/pdf/form-fields"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["form-fields.json"],"limits_and_semantics":"签名字段只报告，不复制密钥；XFA返回unsupported。","acceptance":"文本/复选/下拉/单选字段及可选值完整。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/list_pdf_form_fields","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F39","name":"fill_pdf_form","title":"填写PDF表单","status":"available","phase":"P0","group":"forms","description":"Fill existing AcroForm fields by exact names and validate the resulting values. Do not use to sign a document cryptographically or submit it to an external institution. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 未知字段默认422；不静默省略；中文字形需可用字体。","rest":{"method":"POST","path":"/api/v1/pdf/fill-form"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"fields":{"type":"object","description":"Exact field names mapped to scalar or multi-select values."},"flatten":{"type":"boolean","description":"Flatten after filling","default":false}},"required":["fields"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"fields":{"type":"object","description":"Exact field names mapped to scalar or multi-select values."},"flatten":{"type":"boolean","description":"Flatten after filling","default":false}},"required":["fields"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["filled.pdf","field-validation.json"],"limits_and_semantics":"未知字段默认422；不静默省略；中文字形需可用字体。","acceptance":"重新读取值一致；必填/枚举校验；原件不变。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/fill_pdf_form","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F40","name":"flatten_pdf_form","title":"表单/注释扁平化","status":"available","phase":"P1","group":"forms","description":"Turn supported form appearances into fixed page content. Do not use as redaction or assume all active content is removed. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. XFA不支持；数字签名会受影响；flatten不等于清理。","rest":{"method":"POST","path":"/api/v1/pdf/flatten-form"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"include_annotations":{"type":"boolean","description":"Flatten supported annotations","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"include_annotations":{"type":"boolean","description":"Flatten supported annotations","default":false}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["flattened.pdf"],"limits_and_semantics":"XFA不支持；数字签名会受影响；flatten不等于清理。","acceptance":"视觉内容保留，指定字段不再可编辑；不支持对象有warning。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/flatten_pdf_form","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F41","name":"create_pdf_form","title":"创建可填表单","status":"available","phase":"P1","group":"forms","description":"Add explicitly positioned AcroForm fields to a PDF. Do not use to generate legally certified forms or dynamic XFA documents. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 字段名去重；坐标合法；无自动提交动作。","rest":{"method":"POST","path":"/api/v1/pdf/create-form"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"fields":{"type":"array","description":"Field definitions","items":{"type":"object","properties":{"name":{"type":"string","description":"Unique name"},"type":{"type":"string","description":"Type","enum":["text","checkbox","dropdown"]},"region":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"required":{"type":"boolean","description":"Required field","default":false},"options":{"type":"array","description":"Dropdown options","items":{"type":"string","description":"Option"},"minItems":1,"maxItems":100}},"required":["name","type","region"],"additionalProperties":false},"minItems":1,"maxItems":500}},"required":["fields"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"fields":{"type":"array","description":"Field definitions","items":{"type":"object","properties":{"name":{"type":"string","description":"Unique name"},"type":{"type":"string","description":"Type","enum":["text","checkbox","dropdown"]},"region":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"required":{"type":"boolean","description":"Required field","default":false},"options":{"type":"array","description":"Dropdown options","items":{"type":"string","description":"Option"},"minItems":1,"maxItems":100}},"required":["name","type","region"],"additionalProperties":false},"minItems":1,"maxItems":500}},"required":["fields"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["form.pdf"],"limits_and_semantics":"字段名去重；坐标合法；无自动提交动作。","acceptance":"可在独立查看器读取与填写；重复名拒绝。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/create_pdf_form","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F42","name":"update_pdf_metadata","title":"修改元数据","status":"available","phase":"P1","group":"edit","description":"Set explicit descriptive PDF metadata in a new copy. Do not use to establish authorship or authenticity; metadata is caller-controlled. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 至少一个字段；创建时间不自动伪造；更新值标用户提供。","rest":{"method":"POST","path":"/api/v1/pdf/metadata"},"required_scopes":["jobs:create","files:read","pdf:transform"],"engine":"worker_small_or_container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"title":{"type":"string","description":"Title","maxLength":1000},"author":{"type":"string","description":"Author","maxLength":1000},"subject":{"type":"string","description":"Subject","maxLength":2000},"keywords":{"type":"array","description":"Keywords","items":{"type":"string","description":"Keyword"},"minItems":0,"maxItems":100}},"required":[],"additionalProperties":false,"minProperties":1},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"title":{"type":"string","description":"Title","maxLength":1000},"author":{"type":"string","description":"Author","maxLength":1000},"subject":{"type":"string","description":"Subject","maxLength":2000},"keywords":{"type":"array","description":"Keywords","items":{"type":"string","description":"Keyword"},"minItems":0,"maxItems":100}},"required":[],"additionalProperties":false,"minProperties":1},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["updated.pdf"],"limits_and_semantics":"至少一个字段；创建时间不自动伪造；更新值标用户提供。","acceptance":"重新读取一致；原始/修改后的hash可比较。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/update_pdf_metadata","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F43","name":"strip_pdf_metadata","title":"移除元数据","status":"available","phase":"P1","group":"security","description":"Remove selected metadata fields and report what remains. Do not use as a guarantee of anonymization or complete content redaction. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 附件/文件名/正文仍可能含身份；不宣传全部匿名。","rest":{"method":"POST","path":"/api/v1/pdf/strip-metadata"},"required_scopes":["jobs:create","files:read","pdf:secure"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"include_xmp":{"type":"boolean","description":"Remove XMP metadata","default":true},"include_annotations_authors":{"type":"boolean","description":"Remove supported annotation author metadata","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"include_xmp":{"type":"boolean","description":"Remove XMP metadata","default":true},"include_annotations_authors":{"type":"boolean","description":"Remove supported annotation author metadata","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["stripped.pdf","metadata-removal-report.json"],"limits_and_semantics":"附件/文件名/正文仍可能含身份；不宣传全部匿名。","acceptance":"独立提取检查指定元数据消失，未处理位置报告。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/strip_pdf_metadata","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F44","name":"protect_pdf","title":"密码保护PDF","status":"available","phase":"P1","group":"security","description":"Encrypt a new PDF copy with supplied secret references. Do not use PDF permission flags as reliable DRM or access control for the storage service. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. P1仅启用安全的现代加密档；权限标志不保证所有阅读器遵从；密码不入日志。","rest":{"method":"POST","path":"/api/v1/pdf/protect"},"required_scopes":["jobs:create","files:read","pdf:secure"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"user_password_ref":{"type":"string","description":"Short-lived secret reference; never a plaintext password in logs. Created through the authenticated secret input channel.","pattern":"^sec_[A-Za-z0-9_-]+$"},"owner_password_ref":{"type":"string","description":"Short-lived secret reference; never a plaintext password in logs. Created through the authenticated secret input channel.","pattern":"^sec_[A-Za-z0-9_-]+$"},"allow_printing":{"type":"boolean","description":"Viewer permission hint","default":false},"allow_copying":{"type":"boolean","description":"Viewer permission hint","default":false}},"required":["user_password_ref","owner_password_ref"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"user_password_ref":{"type":"string","description":"Short-lived secret reference; never a plaintext password in logs. Created through the authenticated secret input channel.","pattern":"^sec_[A-Za-z0-9_-]+$"},"owner_password_ref":{"type":"string","description":"Short-lived secret reference; never a plaintext password in logs. Created through the authenticated secret input channel.","pattern":"^sec_[A-Za-z0-9_-]+$"},"allow_printing":{"type":"boolean","description":"Viewer permission hint","default":false},"allow_copying":{"type":"boolean","description":"Viewer permission hint","default":false}},"required":["user_password_ref","owner_password_ref"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["protected.pdf"],"limits_and_semantics":"P1仅启用安全的现代加密档；权限标志不保证所有阅读器遵从；密码不入日志。","acceptance":"无密码无法打开，有效密码可打开；回执不含秘密。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/protect_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F45","name":"unlock_pdf","title":"授权解密PDF","status":"available","phase":"P1","group":"security","description":"Decrypt a PDF using a valid supplied password and an authorized caller. Do not use for password cracking, guessing or bypassing third-party authorization. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. rights_attestation必须true并有scope；不做暴力破解；错密码次数限流。","rest":{"method":"POST","path":"/api/v1/pdf/unlock"},"required_scopes":["jobs:create","files:read","pdf:secure"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"password_ref":{"type":"string","description":"Short-lived secret reference; never a plaintext password in logs. Created through the authenticated secret input channel.","pattern":"^sec_[A-Za-z0-9_-]+$"},"rights_attestation":{"const":true,"description":"Explicit caller assertion of authorization; does not replace scoped access checks."}},"required":["password_ref","rights_attestation"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"password_ref":{"type":"string","description":"Short-lived secret reference; never a plaintext password in logs. Created through the authenticated secret input channel.","pattern":"^sec_[A-Za-z0-9_-]+$"},"rights_attestation":{"const":true,"description":"Explicit caller assertion of authorization; does not replace scoped access checks."}},"required":["password_ref","rights_attestation"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["unlocked.pdf"],"limits_and_semantics":"rights_attestation必须true并有scope；不做暴力破解；错密码次数限流。","acceptance":"错误密码422无输出；有效凭证解密后hash/页数记录。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/unlock_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready","restricted"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F46","name":"sanitize_pdf","title":"清理活跃内容与附件","status":"available","phase":"P1","group":"security","description":"Remove supported active content and optional embedded attachments. Do not use to claim the document is malware-free or to remove all sensitive text. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 对象清单与移除清单可审计；复杂不支持对象返回警告或失败。","rest":{"method":"POST","path":"/api/v1/pdf/sanitize"},"required_scopes":["jobs:create","files:read","pdf:secure"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"remove_attachments":{"type":"boolean","description":"Remove embedded attachments","default":true},"remove_javascript":{"type":"boolean","description":"Remove JavaScript and launch actions","default":true},"remove_external_actions":{"type":"boolean","description":"Remove external action triggers","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"remove_attachments":{"type":"boolean","description":"Remove embedded attachments","default":true},"remove_javascript":{"type":"boolean","description":"Remove JavaScript and launch actions","default":true},"remove_external_actions":{"type":"boolean","description":"Remove external action triggers","default":true}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["sanitized.pdf","sanitization-report.json"],"limits_and_semantics":"对象清单与移除清单可审计；复杂不支持对象返回警告或失败。","acceptance":"JS/Launch/自动外链触发检查通过；独立解析重验。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/sanitize_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F47","name":"detect_pdf_sensitive_data","title":"检测敏感信息候选","status":"available","phase":"P1","group":"security","description":"Locate potential sensitive content and return reviewable candidate regions. Do not use to automatically delete content or guarantee every secret is detected. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 检测是候选非事实；误报漏报有质量数据；custom是字面词而非任意regex。","rest":{"method":"POST","path":"/api/v1/pdf/detect-sensitive"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container_or_approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"categories":{"type":"array","description":"Enabled detectors","items":{"type":"string","description":"Category","enum":["email","phone","account_number","person_name","custom"]},"minItems":1,"maxItems":5},"custom_terms":{"type":"array","description":"Explicit literal terms","items":{"type":"string","description":"Term","maxLength":200},"minItems":0,"maxItems":100}},"required":["categories"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"categories":{"type":"array","description":"Enabled detectors","items":{"type":"string","description":"Category","enum":["email","phone","account_number","person_name","custom"]},"minItems":1,"maxItems":5},"custom_terms":{"type":"array","description":"Explicit literal terms","items":{"type":"string","description":"Term","maxLength":200},"minItems":0,"maxItems":100}},"required":["categories"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["sensitive-candidates.json"],"limits_and_semantics":"检测是候选非事实；误报漏报有质量数据；custom是字面词而非任意regex。","acceptance":"已知样本召回/精确率分开；所有候选有页和区域。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/detect_pdf_sensitive_data","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F48","name":"redact_pdf","title":"真正内容脱敏","status":"available","phase":"P1","group":"security","description":"Remove content at caller-approved regions and verify residual extraction in the new copy. Do not use black rectangles, cropping or annotations as a substitute for content removal. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 坐标方案先预览确认；处理文本/图像/隐藏层/增量历史；不能证明所有语义机密都已消除。","rest":{"method":"POST","path":"/api/v1/pdf/redact"},"required_scopes":["jobs:create","files:read","pdf:secure"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"regions":{"type":"array","description":"Approved redaction regions","items":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"minItems":1,"maxItems":1000},"remove_metadata":{"type":"boolean","description":"Also remove supported metadata","default":true},"verification_terms":{"type":"array","description":"Terms to check for residual extraction; encrypted and short-lived","items":{"type":"string","description":"Term"},"minItems":0,"maxItems":100}},"required":["regions"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"regions":{"type":"array","description":"Approved redaction regions","items":{"type":"object","properties":{"page_number":{"type":"integer","description":"One-based page","minimum":1},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"width":{"type":"number","exclusiveMinimum":0},"height":{"type":"number","exclusiveMinimum":0}},"required":["page_number","x","y","width","height"],"additionalProperties":false},"minItems":1,"maxItems":1000},"remove_metadata":{"type":"boolean","description":"Also remove supported metadata","default":true},"verification_terms":{"type":"array","description":"Terms to check for residual extraction; encrypted and short-lived","items":{"type":"string","description":"Term"},"minItems":0,"maxItems":100}},"required":["regions"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["redacted.pdf","redaction-verification.json"],"limits_and_semantics":"坐标方案先预览确认；处理文本/图像/隐藏层/增量历史；不能证明所有语义机密都已消除。","acceptance":"测试PDF含被遮挡text/scan/附件/历史；输出提取和对象扫描均无目标，原件独立保留。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/redact_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F49","name":"verify_pdf_signatures","title":"数字签名验证","status":"available","phase":"P1","group":"security","description":"Check cryptographic integrity, certificate chains and available revocation evidence. Do not use to make a legal determination or equate an image signature with a digital signature. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. trust store版本/校验时间/吊销可得性明确；网络不可达给indeterminate。","rest":{"method":"POST","path":"/api/v1/pdf/verify-signatures"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"validation_time":{"type":"string","description":"RFC3339 validation time; default service observation time","format":"date-time"},"revocation_mode":{"type":"string","description":"Revocation evidence","enum":["offline","approved_online"],"default":"offline"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"validation_time":{"type":"string","description":"RFC3339 validation time; default service observation time","format":"date-time"},"revocation_mode":{"type":"string","description":"Revocation evidence","enum":["offline","approved_online"],"default":"offline"}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["signature-validation.json"],"limits_and_semantics":"trust store版本/校验时间/吊销可得性明确；网络不可达给indeterminate。","acceptance":"篡改检测；签名图像返回无数字签名；未知CA不显示全绿。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/verify_pdf_signatures","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Cloudflare Container adapter enabled"},{"id":"F50","name":"digitally_sign_pdf","title":"使用证书数字签署","status":"disabled","phase":"P2","group":"security","description":"Apply a digital signature with an explicitly authorized certificate and one-use consent. Do not use to impersonate a signer, create identity evidence or replace a full electronic signing legal workflow. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 不在PDF任务参数传私钥；签名供应商/身份和审计先接入；不承诺法律效力。","rest":{"method":"POST","path":"/api/v1/pdf/sign"},"required_scopes":["jobs:create","files:read","signatures:use"],"engine":"approved_signing_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"certificate_id":{"type":"string","description":"Authorized external KMS/provider certificate reference"},"consent_id":{"type":"string","description":"One-use consent bound to file hash and signing intent"},"signature_reason":{"type":"string","description":"User-provided reason","maxLength":500}},"required":["certificate_id","consent_id"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"certificate_id":{"type":"string","description":"Authorized external KMS/provider certificate reference"},"consent_id":{"type":"string","description":"One-use consent bound to file hash and signing intent"},"signature_reason":{"type":"string","description":"User-provided reason","maxLength":500}},"required":["certificate_id","consent_id"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["signed.pdf","signing-receipt.json"],"limits_and_semantics":"不在PDF任务参数传私钥；签名供应商/身份和审计先接入；不承诺法律效力。","acceptance":"签后独立校验；consent不可重复用/换文件；证书撤销时拒绝。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/digitally_sign_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Requires an approved PKCS#12 signing certificate configured as a Worker secret"},{"id":"F51","name":"extract_pdf_attachments","title":"提取嵌入附件","status":"available","phase":"P1","group":"extract","description":"Extract embedded attachments as quarantined inert artifacts. Do not use to open or execute attached programs or import them automatically. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 路径穿越文件名净化；嵌套档案不自动递归；每个附件重新内容检查。","rest":{"method":"POST","path":"/api/v1/pdf/extract-attachments"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"container","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"attachment_names":{"type":"array","description":"Optional exact names","items":{"type":"string","description":"Attachment name"},"minItems":1,"maxItems":100}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"attachment_names":{"type":"array","description":"Optional exact names","items":{"type":"string","description":"Attachment name"},"minItems":1,"maxItems":100}},"required":[],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["attachments.zip","attachments-manifest.json"],"limits_and_semantics":"路径穿越文件名净化；嵌套档案不自动递归；每个附件重新内容检查。","acceptance":"zip-slip样本不越目录；可执行文件标隔离且无自动预览。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/extract_pdf_attachments","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F52","name":"summarize_pdf","title":"有引用的摘要","status":"available","phase":"P2","group":"semantic","description":"Summarize selected document content with page-linked supporting evidence. Do not use this instead of reading original terms or to assert unsupported facts. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 抽象总结标generated；供应商/模型/费用上限可见；无证据的句子不能当事实。","rest":{"method":"POST","path":"/api/v1/pdf/summarize"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"language":{"type":"string","description":"Requested output language"},"max_output_tokens":{"type":"integer","description":"Output token budget","minimum":64,"maximum":4096},"style":{"type":"string","description":"Summary style","enum":["bullet_points","executive","section_by_section"],"default":"bullet_points"}},"required":["language","max_output_tokens"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"language":{"type":"string","description":"Requested output language"},"max_output_tokens":{"type":"integer","description":"Output token budget","minimum":64,"maximum":4096},"style":{"type":"string","description":"Summary style","enum":["bullet_points","executive","section_by_section"],"default":"bullet_points"}},"required":["language","max_output_tokens"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["summary.json"],"limits_and_semantics":"抽象总结标generated；供应商/模型/费用上限可见；无证据的句子不能当事实。","acceptance":"每条事实摘要有来源；注入语句不触发工具；缺页明确披露。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/summarize_pdf","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F53","name":"answer_pdf_question","title":"基于文档问答","status":"available","phase":"P2","group":"semantic","description":"Answer a question using only the authorized document and cited evidence. Do not use for external facts, unrestricted browsing or unsupported advice. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 找不到证据返回not_found；提示注入不改变权限；不自动发消息。","rest":{"method":"POST","path":"/api/v1/pdf/answer-question"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"question":{"type":"string","description":"Question about the authorized document","minLength":1,"maxLength":4000},"max_output_tokens":{"type":"integer","description":"Output token budget","minimum":64,"maximum":4096},"evidence_required":{"type":"boolean","description":"Require supporting source references","default":true}},"required":["question","max_output_tokens"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"question":{"type":"string","description":"Question about the authorized document","minLength":1,"maxLength":4000},"max_output_tokens":{"type":"integer","description":"Output token budget","minimum":64,"maximum":4096},"evidence_required":{"type":"boolean","description":"Require supporting source references","default":true}},"required":["question","max_output_tokens"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["answer.json"],"limits_and_semantics":"找不到证据返回not_found；提示注入不改变权限；不自动发消息。","acceptance":"文档无答案时拒绝猜测；答案引用与文件页对应。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/answer_pdf_question","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"},{"id":"F54","name":"translate_pdf_content","title":"文档内容翻译","status":"available","phase":"P2","group":"semantic","description":"Translate document content while retaining source segment references. Do not use to claim certified translation or guaranteed identical page layout. Inputs: 1–1 immutable authorized files and the typed parameters below. Returns an asynchronous job, not the final PDF. Poll get_pdf_job, then read artifacts and the receipt. The operation creates stored outputs and may incur charges; specify a cost ceiling. 版面重排/字体/扩页说明；术语表P2迭代；不覆盖原件。","rest":{"method":"POST","path":"/api/v1/pdf/translate"},"required_scopes":["jobs:create","files:read","pdf:extract"],"engine":"approved_provider","rest_input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"target_language":{"type":"string","description":"Target language"},"output_format":{"type":"string","description":"Output format","enum":["markdown","bilingual_pdf"],"default":"markdown"},"max_output_tokens":{"type":"integer","description":"Hard token budget","minimum":64,"maximum":32000}},"required":["target_language","max_output_tokens"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128}},"required":["file_ids","parameters","execution"],"additionalProperties":false},"input_schema":{"type":"object","properties":{"file_ids":{"type":"array","description":"Ordered authorized immutable inputs","items":{"type":"string","description":"Authorized immutable file ID.","pattern":"^fil_[A-Za-z0-9_-]+$"},"minItems":1,"maxItems":1},"parameters":{"type":"object","properties":{"pages":{"type":"array","description":"One-based page numbers; omitted means all pages.","items":{"type":"integer","description":"Page number","minimum":1},"minItems":1,"maxItems":2000},"target_language":{"type":"string","description":"Target language"},"output_format":{"type":"string","description":"Output format","enum":["markdown","bilingual_pdf"],"default":"markdown"},"max_output_tokens":{"type":"integer","description":"Hard token budget","minimum":64,"maximum":32000}},"required":["target_language","max_output_tokens"],"additionalProperties":false},"execution":{"$ref":"#/components/schemas/Execution"},"client_task_id":{"type":"string","description":"Caller correlation, not an authorization token","maxLength":128},"idempotency_key":{"type":"string","description":"Required project/operation scoped deduplication key shared with REST Idempotency-Key","minLength":8,"maxLength":128}},"required":["file_ids","parameters","execution","idempotency_key"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"success":{"const":true},"schema_version":{"const":"1.0.0"},"request_id":{"type":"string","description":"Request ID"},"timestamp":{"type":"string","description":"Server response time","format":"date-time"},"result":{"$ref":"#/components/schemas/Job"},"sources":{"type":"array","description":"Input provenance","items":{"$ref":"#/components/schemas/Source"},"minItems":0,"maxItems":100},"cache":{"type":"object","properties":{"hit":{"type":"boolean"},"age_seconds":{"type":"integer","description":"Cache age","minimum":0}},"required":["hit","age_seconds"],"additionalProperties":false},"next_actions":{"type":"array","description":"Non-executing suggestions","items":{"type":"object","properties":{"tool":{"type":"string","description":"Tool name"},"arguments":{"type":"object"},"reason":{"type":"string","description":"Reason"},"required_scopes":{"type":"array","description":"Scopes still enforced","items":{"type":"string","description":"Scope"},"minItems":0,"maxItems":20},"requires_confirmation":{"type":"boolean"}},"required":["tool","arguments","reason","required_scopes","requires_confirmation"],"additionalProperties":false},"minItems":0,"maxItems":10}},"required":["success","schema_version","request_id","timestamp","result","sources","next_actions"],"additionalProperties":false},"result_artifact_types":["translation.md|pdf","translation-map.json"],"limits_and_semantics":"版面重排/字体/扩页说明；术语表P2迭代；不覆盖原件。","acceptance":"源段与译段一一对应；数值/专有名词质量抽检；无漏页。","mcp_annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"idempotency":"REST Idempotency-Key / MCP idempotency_key required; shared project/operation deduplication for at least 24h.","doc_url":"/api/v1/capabilities/translate_pdf_content","accepted_input_media_types":["application/pdf"],"accepted_file_states":["ready"],"availability_reason":"Worker runtime enabled"}],"view":"full","status":"all","total_count":54,"available_count":53,"summary_url":"https://pdf-central.com/api/v1/capabilities?view=summary","detail_url_template":"https://pdf-central.com/api/v1/capabilities/{name}","next_cursor":null},"sources":[],"cache":{"hit":false,"age_seconds":0},"next_actions":[]}