{"ok":true,"site":{"host":"agent-file-workbench.luo3407056424.chatgpt.site","url":"https://agent-file-workbench.luo3407056424.chatgpt.site/","type":"live","desc":"A local-first document utility workbench for people and browser agents.","tools":[{"name":"workspace_file","kind":"act","impl":"imperative","description":"List, select, inspect history, undo, or discover file-specific capabilities in the browser-local workspace. Use list before select and capabilities before complex work.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list","select","history","undo","rename","capabilities","clear"]},"fileId":{"type":"string","description":"File ID returned by action=list; required for select and optional for history or capabilities."},"name":{"type":"string","description":"New file name for action=rename."},"category":{"type":"string","description":"Optional capability category returned by a previous capabilities call."}},"required":["action"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_file","kind":"act","impl":"imperative","description":"Inspect a file locally by fileId, or use the selected file when omitted. Returns structural facts, a safe text preview, and compatibility warnings.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"fileId":{"type":"string","description":"Optional file ID from workspace_file(list); omitted uses the selected file."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"extract_content","kind":"act","impl":"imperative","description":"Extract semantic content by fileId, or run a local DuckDB DataFrame sample/profile/query without creating a new version.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"fileId":{"type":"string","description":"Optional file ID from workspace_file(list); omitted uses the selected file."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum semantic rows, pages, or slides; defaults to 20."},"mode":{"type":"string","enum":["semantic","sample","profile","query"],"description":"DataFrame modes apply only to table files."},"data":{"type":"object","description":"Declarative DataFrame pipeline. Omit fields you do not need.","properties":{"sheet":{"type":"string","description":"Optional XLSX worksheet name for the selected dataset."},"joins":{"type":"array","description":"Join other imported datasets by file ID. Use base.column and alias.column in select/filter/groupBy when needed.","items":{"type":"object","properties":{"fileId":{"type":"string","description":"Dataset ID returned by workspace_file(list)."},"alias":{"type":"string","description":"Optional source alias; defaults to joined_1, joined_2, and so on."},"sheet":{"type":"string","description":"Optional XLSX worksheet name for this source."},"type":{"type":"string","enum":["inner","left","right","full"]},"leftColumn":{"type":"string","description":"Column in the selected base dataset."},"rightColumn":{"type":"string","description":"Column in the joined dataset."}},"required":["fileId","leftColumn","rightColumn"],"additionalProperties":false}},"unions":{"type":"array","description":"Append rows from compatible imported datasets by column name.","items":{"type":"object","properties":{"fileId":{"type":"string","description":"Dataset ID returned by workspace_file(list)."},"sheet":{"type":"string","description":"Optional XLSX worksheet name for this source."}},"required":["fileId"],"additionalProperties":false}},"select":{"type":"array","items":{"type":"string"},"description":"Columns to project; qualified aliases are supported for joins."},"filters":{"type":"array","items":{"type":"object","properties":{"column":{"type":"string"},"operator":{"type":"string","enum":["eq","neq","gt","gte","lt","lte","contains","starts_with","ends_with","in","is_null","not_null"]},"value":{"description":"Scalar value, or an array for the in operator."}},"required":["column","operator"],"additionalProperties":false}},"groupBy":{"type":"array","items":{"type":"string"},"description":"Grouping columns."},"aggregations":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["count","sum","mean","min","max","median","nunique"]},"column":{"type":"string","description":"Omit only for count(*)."},"as":{"type":"string","description":"Optional output column name."}},"required":["operation"],"additionalProperties":false}},"sort":{"type":"array","items":{"type":"object","properties":{"column":{"type":"string"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["column"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":0}},"additionalProperties":false}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"patch_document","kind":"act","impl":"imperative","description":"Patch DOCX, PDF, or XLSX content as a new version using format-aware libraries. Pass fileId directly, batch related edits, and use validate:true when verification is required.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"fileId":{"type":"string","description":"Optional file ID from workspace_file(list); omitted uses the selected file."},"action":{"type":"string","enum":["replace","redact","fill_template","set_table_cell","set_table_cells","append","prepend","insert_paragraphs","delete_paragraphs","set_paragraph_style","remove_comments","set_properties","rotate_pages","delete_pages","reorder_pages","watermark","fill_form","set_cells","create_workbook"]},"find":{"type":"string","minLength":1,"description":"Exact text for replace or redact."},"replacement":{"type":"string","description":"Replacement text for replace."},"text":{"type":"string","description":"Text for append, prepend, watermark, or DOCX table cell content."},"scope":{"type":"object","description":"Optional DOCX replace/fill scope; choose a heading or 1-based paragraph.","properties":{"heading":{"type":"string"},"paragraph":{"type":"integer","minimum":1}},"additionalProperties":false},"paragraph":{"type":"integer","minimum":1,"description":"1-based DOCX paragraph target for structural operations."},"anchor":{"type":"string","description":"Exact DOCX paragraph text used as a structural anchor."},"position":{"type":"string","enum":["before","after"],"description":"Insert relative to paragraph or anchor; defaults to after."},"style":{"type":"string","description":"Word paragraph style ID, e.g. Heading1 or Normal."},"paragraphs":{"type":"array","description":"Batch structural DOCX paragraph insertions. Each item needs text and paragraph or anchor.","items":{"type":"object","properties":{"text":{"type":"string"},"style":{"type":"string"},"paragraph":{"type":"integer","minimum":1},"anchor":{"type":"string"},"position":{"type":"string","enum":["before","after"]}},"required":["text"],"additionalProperties":false}},"paragraphTargets":{"type":"array","description":"DOCX paragraph targets for deletion or style updates; use paragraph index or exact anchor text.","items":{"type":"object","properties":{"paragraph":{"type":"integer","minimum":1},"anchor":{"type":"string"}},"additionalProperties":false}},"table":{"type":"integer","minimum":1,"description":"1-based DOCX table number."},"row":{"type":"integer","minimum":1,"description":"1-based DOCX table row."},"column":{"type":"integer","minimum":1,"description":"1-based DOCX table column."},"tableCells":{"type":"array","description":"Batch DOCX table updates. May accompany fill_template so placeholders and cells update in one version.","items":{"type":"object","properties":{"table":{"type":"integer","minimum":1},"row":{"type":"integer","minimum":1},"column":{"type":"integer","minimum":1},"text":{"type":"string"}},"required":["table","row","column","text"],"additionalProperties":false}},"pages":{"type":"array","items":{"type":"integer","minimum":1},"description":"Optional 1-based PDF pages; omitted means all pages."},"order":{"type":"array","items":{"type":"integer","minimum":1},"description":"Complete 1-based page order for reorder_pages."},"degrees":{"type":"integer","enum":[90,180,270,-90]},"opacity":{"type":"number","minimum":0.05,"maximum":1},"title":{"type":"string"},"subject":{"type":"string"},"author":{"type":"string","description":"PDF author metadata for set_properties."},"keywords":{"type":"string","description":"Comma-separated keywords."},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"For fill_template, maps placeholder names to replacement text; e.g. { client: 'Acme' } fills {{client}}."},"formValues":{"type":"object","description":"For fill_form, maps PDF field names to text, boolean, or string-array values.","additionalProperties":{"anyOf":[{"type":"string"},{"type":"boolean"},{"type":"array","items":{"type":"string"}}]}},"flatten":{"type":"boolean","description":"Flatten PDF form fields after filling."},"validate":{"type":"boolean","description":"Validate the new version in the same call and return structural facts and warnings."},"sheet":{"type":"string","description":"Optional XLSX worksheet name for set_cells."},"cells":{"type":"array","description":"XLSX cell updates. Each item sets a value or formula in an A1 address.","items":{"type":"object","properties":{"address":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"formula":{"type":"string"},"result":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"style":{"type":"object","properties":{"bold":{"type":"boolean"},"italic":{"type":"boolean"},"fontColor":{"type":"string","description":"Hex RGB/ARGB color, e.g. #17365D."},"fillColor":{"type":"string","description":"Solid fill hex RGB/ARGB color."},"numberFormat":{"type":"string","description":"Excel number format, e.g. $#,##0.00 or 0.0%."},"horizontal":{"type":"string","enum":["left","center","right"]},"vertical":{"type":"string","enum":["top","middle","bottom"]},"wrapText":{"type":"boolean"}},"additionalProperties":false}},"required":["address"],"additionalProperties":false}},"sheetAction":{"type":"string","enum":["create","rename","delete","configure"],"description":"XLSX worksheet lifecycle action."},"newSheetName":{"type":"string","description":"New worksheet name for sheetAction=create or rename."},"freezeRows":{"type":"integer","minimum":0,"description":"Number of top worksheet rows to freeze."},"freezeColumns":{"type":"integer","minimum":0,"description":"Number of left worksheet columns to freeze."},"columnWidths":{"type":"object","additionalProperties":{"type":"number","minimum":1},"description":"XLSX column widths keyed by A1 column letters or number."},"workbook":{"type":"object","description":"Create a presentation-ready XLSX workbook. Use action=create_workbook; rows/cells are explicit local values.","properties":{"name":{"type":"string"},"sheets":{"type":"array","minItems":1,"items":{"type":"object","properties":{"name":{"type":"string"},"title":{"type":"string","description":"Optional styled title row."},"headers":{"type":"array","items":{"type":"string"},"description":"Header labels written on headerRow."},"rows":{"type":"array","items":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"cells":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"A1 cell address."},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"formula":{"type":"string","description":"Excel formula without or with a leading equals sign."},"result":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Optional cached/displayed formula result."},"style":{"type":"object","properties":{"bold":{"type":"boolean"},"italic":{"type":"boolean"},"fontColor":{"type":"string","description":"Hex RGB/ARGB color, e.g. #17365D."},"fillColor":{"type":"string","description":"Solid fill hex RGB/ARGB color."},"numberFormat":{"type":"string","description":"Excel number format, e.g. $#,##0.00 or 0.0%."},"horizontal":{"type":"string","enum":["left","center","right"]},"vertical":{"type":"string","enum":["top","middle","bottom"]},"wrapText":{"type":"boolean"}},"additionalProperties":false}},"required":["address"],"additionalProperties":false}},"titleRow":{"type":"integer","minimum":1},"headerRow":{"type":"integer","minimum":1},"freezeRows":{"type":"integer","minimum":0},"freezeColumns":{"type":"integer","minimum":0},"columnWidths":{"type":"object","additionalProperties":{"type":"number","minimum":1}},"currencyColumns":{"type":"array","items":{"type":"string"}},"percentageColumns":{"type":"array","items":{"type":"string"}},"statusColumn":{"type":"string"},"statusStyles":{"type":"object","additionalProperties":{"type":"object","properties":{"bold":{"type":"boolean"},"italic":{"type":"boolean"},"fontColor":{"type":"string","description":"Hex RGB/ARGB color, e.g. #17365D."},"fillColor":{"type":"string","description":"Solid fill hex RGB/ARGB color."},"numberFormat":{"type":"string","description":"Excel number format, e.g. $#,##0.00 or 0.0%."},"horizontal":{"type":"string","enum":["left","center","right"]},"vertical":{"type":"string","enum":["top","middle","bottom"]},"wrapText":{"type":"boolean"}},"additionalProperties":false}}},"required":["name"],"additionalProperties":false}}},"required":["name","sheets"],"additionalProperties":false}},"required":["action"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"format_document","kind":"act","impl":"imperative","description":"Semantically rebuild the selected DOCX as a new version using docx + Mammoth. Choose a preset and optionally control page, margins, typography, spacing, alignment, headers, footers, and page numbers.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"fileId":{"type":"string","description":"Optional file ID from workspace_file(list); omitted uses the selected file."},"preset":{"type":"string","enum":["research","academic","business"]},"pageSize":{"type":"string","enum":["A4","letter"]},"orientation":{"type":"string","enum":["portrait","landscape"]},"margins":{"type":"object","description":"Margins in millimeters.","properties":{"top":{"type":"number","minimum":0},"right":{"type":"number","minimum":0},"bottom":{"type":"number","minimum":0},"left":{"type":"number","minimum":0}},"additionalProperties":false},"bodyFont":{"type":"string"},"bodySize":{"type":"number","minimum":6,"maximum":72,"description":"Points."},"lineSpacing":{"type":"number","minimum":0.8,"maximum":4},"paragraphAfter":{"type":"number","minimum":0,"maximum":72,"description":"Points after paragraphs."},"alignment":{"type":"string","enum":["left","center","right","justify"]},"headerText":{"type":"string"},"footerText":{"type":"string"},"pageNumbers":{"type":"boolean"},"validate":{"type":"boolean","description":"Validate the formatted version in the same call."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"convert_file","kind":"act","impl":"imperative","description":"Create a derived local file from fileId. For datasets, applies an optional declarative DataFrame pipeline and exports CSV, JSON, JSONL, XLSX, or Parquet without Python. Also supports document/PDF/image conversions and inline validation.","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"fileId":{"type":"string","description":"Optional file ID from workspace_file(list); omitted uses the selected file."},"format":{"type":"string","enum":["pdf","docx","csv","json","jsonl","xlsx","parquet","webp","html","markdown","text"]},"pages":{"type":"array","items":{"type":"integer","minimum":1},"description":"For PDF→PDF, optional 1-based pages to extract."},"fileIds":{"type":"array","items":{"type":"string"},"description":"For PDF→PDF or DOCX→DOCX, file IDs to append in order."},"outputName":{"type":"string","description":"Optional exact name for the derived output (save-as)."},"data":{"type":"object","description":"Declarative DataFrame pipeline. Omit fields you do not need.","properties":{"sheet":{"type":"string","description":"Optional XLSX worksheet name for the selected dataset."},"joins":{"type":"array","description":"Join other imported datasets by file ID. Use base.column and alias.column in select/filter/groupBy when needed.","items":{"type":"object","properties":{"fileId":{"type":"string","description":"Dataset ID returned by workspace_file(list)."},"alias":{"type":"string","description":"Optional source alias; defaults to joined_1, joined_2, and so on."},"sheet":{"type":"string","description":"Optional XLSX worksheet name for this source."},"type":{"type":"string","enum":["inner","left","right","full"]},"leftColumn":{"type":"string","description":"Column in the selected base dataset."},"rightColumn":{"type":"string","description":"Column in the joined dataset."}},"required":["fileId","leftColumn","rightColumn"],"additionalProperties":false}},"unions":{"type":"array","description":"Append rows from compatible imported datasets by column name.","items":{"type":"object","properties":{"fileId":{"type":"string","description":"Dataset ID returned by workspace_file(list)."},"sheet":{"type":"string","description":"Optional XLSX worksheet name for this source."}},"required":["fileId"],"additionalProperties":false}},"select":{"type":"array","items":{"type":"string"},"description":"Columns to project; qualified aliases are supported for joins."},"filters":{"type":"array","items":{"type":"object","properties":{"column":{"type":"string"},"operator":{"type":"string","enum":["eq","neq","gt","gte","lt","lte","contains","starts_with","ends_with","in","is_null","not_null"]},"value":{"description":"Scalar value, or an array for the in operator."}},"required":["column","operator"],"additionalProperties":false}},"groupBy":{"type":"array","items":{"type":"string"},"description":"Grouping columns."},"aggregations":{"type":"array","items":{"type":"object","properties":{"operation":{"type":"string","enum":["count","sum","mean","min","max","median","nunique"]},"column":{"type":"string","description":"Omit only for count(*)."},"as":{"type":"string","description":"Optional output column name."}},"required":["operation"],"additionalProperties":false}},"sort":{"type":"array","items":{"type":"object","properties":{"column":{"type":"string"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["column"],"additionalProperties":false}},"offset":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":0}},"additionalProperties":false},"validate":{"type":"boolean","description":"Validate the derived artifact in the same call."}},"required":["format"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"validate_file","kind":"act","impl":"imperative","description":"Validate a file's locally parsable structure by fileId, or use the selected file when omitted. Returns structural facts and explicit compatibility warnings.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"fileId":{"type":"string","description":"Optional file ID from workspace_file(list); omitted uses the selected file."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"render_preview","kind":"act","impl":"imperative","description":"Bring the selected file preview into view and return its current preview model.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","favicon":"/favicons/agent-file-workbench.luo3407056424.chatgpt.site.png","apiSurface":"spec","toolCount":8}}