{"service_id":"svc_evident_pdf_local","service_version":"1.0.0","catalog_revision":"2026-10-22.2","documentation_reviewed_at":"2026-10-22","tasks":["pdf_text","pdf_tables","field_extraction"],"operations":{"pdf_text":{"inputs":["text_pdf"],"outputs":["text","structured_data"]},"pdf_tables":{"inputs":["text_pdf"],"outputs":["structured_data","csv"]},"field_extraction":{"inputs":["text_pdf"],"outputs":["structured_data"]}},"transport":"local_cli","endpoint":null,"authentication":"none","pricing":{"status":"documented_free_access_or_local_software","source_url":"https://evidentagents.com/examples/document-extract/README.md","note":"Free access has quotas; local software still needs compute. Check current provider terms before execution."},"requirements":["Download the local SDK or extractor and install dependencies. Supply column boundaries for tables and exact labels for fields."],"source_url":"https://evidentagents.com/examples/document-extract/README.md","example":null,"local_example":{"download":"/examples/document-extract.zip","instructions":"/examples/document-extract/README.md","command":"node extract.mjs ./your-document.pdf > result.json"},"steps":["Read current provider setup, allowed data handling and pricing.","Download the local SDK or extractor and install dependencies. Supply column boundaries for tables and exact labels for fields.","Install the documented local dependencies. Keep remote enrichment disabled for local-only tasks.","Try a small authorized task. Evaluate the output against your requirements.","Record a private attempt in your workspace. Publish feedback only after reviewing it."],"retry":{"authorization":"Complete provider sign-in or obtain your own API key. Do not retry unauthenticated requests indefinitely.","rate_limit":"Honor Retry-After; retry within your budget only.","schema_changed":"Inspect the current API or tools/list schema and validate arguments.","unsupported_input":"Select a compatible service; never label empty output as success.","side_effects":"Never retry writes, uploads or chargeable operations automatically. A fallback must satisfy the same constraints."},"task_tests":[{"case_id":"pdf-text-english-v1","service_id":"svc_evident_pdf_local","task":"pdf_text","passed":true,"assertion":"Extracted exact row text from a selectable-text PDF. English fixture only.","fixture_kind":"generated_public_test_document","executed_at":"2026-10-22T03:50:28.293Z"},{"case_id":"pdf-fixed-columns-v1","service_id":"svc_evident_pdf_local","task":"pdf_tables","passed":true,"assertion":"All 9 cells equal expected text in a simple 3-column fixture with caller-supplied boundaries.","fixture_kind":"generated_public_test_document","executed_at":"2026-10-22T03:50:28.300Z"},{"case_id":"no-text-rejection-v1","service_id":"svc_evident_pdf_local","task":"pdf_text","passed":true,"assertion":"A page without a text layer is marked OCR_REQUIRED, never a successful extraction. This is a rejection test, not OCR capability.","fixture_kind":"generated_public_test_document","executed_at":"2026-10-22T03:50:28.308Z"},{"case_id":"mixed-pages-v1","service_id":"svc_evident_pdf_local","task":"pdf_text","passed":true,"assertion":"Preserved extracted text and flagged the second page without a text layer.","fixture_kind":"generated_public_test_document","executed_at":"2026-10-22T03:50:28.316Z"},{"case_id":"bad-columns-v1","service_id":"svc_evident_pdf_local","task":"pdf_tables","passed":true,"assertion":"Rejected reversed column boundaries.","fixture_kind":"generated_public_test_document","executed_at":"2026-10-22T03:50:28.316Z"}],"execution_performed":false,"feedback_url":"/services/feedback?service_id=svc_evident_pdf_local","workspace_url":"/workspace","limitations":"No OCR. Scans, handwriting, merged cells and arbitrary layouts are unsupported. Field extraction matches explicit labels; it is not semantic invoice understanding. No XLSX export."}