[AI file editing] Add Word, PDF, and Excel adapters after PowerPoint/CSV

Abierto
#1,770 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
8/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
markdown, python, react

Línea de trabajo

This is an epic-scale design task spanning the shared AI file-editing framework and three format adapters, so it is not a newcomer starting point. Read the referenced foundations first: functions_document_transform.py, functions_document_transform_docx.py and functions_document_transform_sources.py, plus the generated-artifact authorization services. Done means the Word, PDF and Excel capability matrices are documented and the framework dependencies from #999 and #969 are settled.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

Extend the reusable conversation-linked AI file-editing framework with Word (.docx), PDF, and Excel (.xlsx) adapters after the initial PowerPoint (.pptx) and CSV delivery. This is the follow-up format-expansion work, not a duplicate implementation of the framework or the initial adapters.

Related umbrella/design work: #999 and #969. The initial PowerPoint scope includes targeted AI edits to text, tables, images, slides, chart data/style, SmartArt text/structure, and animation type/timing/order; those requirements must not be moved into this follow-up issue.

Priority requested: P1. Owner requested: @paullizer. Estimated roadmap size: XL.

User Value

Users should be able to reopen files generated by SimpleChat or open existing files, select the region they want changed, and describe additions, corrections, rewrites, or removals without recreating the entire file. Additional files selected through # provide explicit reference material. The same interaction and revision history should work across formats.

Proposed Behavior

  • Build on the shared backend adapter/session/proposal contracts from #999, with the React v2 editor beside the conversation and an expand-to-fullscreen option. Do not build a second editor framework or add legacy-UI parity in this scope.
  • Use open-source dependencies only. Do not require proprietary hosted editors, commercial SDKs, public document viewers, or third-party browser runtime assets.
  • Open both authorized generated artifacts and existing uploaded/workspace files. Require original bytes for fidelity-sensitive operations; if only extracted text remains, ask for the original instead of pretending it is editable.
  • Bind text, cell, object, and region selections to stable format-specific targets and an exact base revision. Support both selection-scoped requests and explicit whole-document instructions.
  • Resolve # reference files using current authorization and screening. References are read-only inputs unless separately opened as an edit target.
  • Present proposed edits and warnings for review before applying. Keep immutable source/revision lineage, reject stale proposals, support reversible revisions, and save copies by default. Source overwrite is not part of this follow-up's default workflow.
  • Preserve existing approval/publication/download boundaries and validate destination permissions before saving. Reopening an artifact must not bypass any hold, masking, or deleted-source policy.
Word (.docx)
  • Reuse the existing native DOCX transformation support where possible rather than rebuilding documents from extracted text.
  • Support selected text/paragraph/table edits and whole-document instructions, with explicit handling of styles, images, headers/footers, sections, comments, and tracked changes.
  • Establish a documented preservation and unsupported-feature matrix; do not silently flatten unknown Office features.
PDF
  • Define explicit capabilities for annotations, supported text/object edits, forms, and scanned/OCR documents; distinguish these from reconstruction into a new PDF.
  • Decide PDF-specific editing boundaries before implementation. Digital signatures, embedded fonts, fixed layout, OCR errors, and scanned pages require visible warnings or rejection.
  • Treat secure redaction as a separate capability requiring removal of underlying content and independent validation, not painting over visible text. Do not label an ordinary visual removal as redaction.
Excel (.xlsx)
  • Use sheet/cell/range-aware operations with stable selection mapping, reviewable changes, and lossless value handling.
  • Define preservation of formulas, cached values, styles, merged cells, tables, charts, named ranges, and cross-sheet references; document recalculation limits.
  • Do not execute macros, external links, or model-generated code. Legacy XLS and macro-enabled XLSM are not silently treated as XLSX.
Future adapter candidates

Maintain an explicit extension backlog for Markdown/text, JSON/XML, images, diagrams, and additional document types without making them implicit acceptance criteria for the first three adapters. Reuse existing image/chart/diagram editing functionality when integrating those formats later.

Acceptance Criteria

  • Each of Word, PDF, and Excel has a documented capability/preservation matrix, bounded input limits, and actionable unsupported-file states.
  • Both generated and existing files can be opened through the common editor without requiring a separate format-specific workflow.
  • Selection-scoped and whole-file AI instructions produce validated, reviewable operations tied to the source revision.
  • # references reach the assistant as authorized evidence/assets and never implicitly become write targets.
  • Accept/reject, revision history, reopen/resume, undo through a new revision, and save-as-copy work end to end.
  • Source and destination authorization, content screening, approval/publication restrictions, concurrent edits, retries, cancellation, and missing originals are tested.
  • Exported files reopen in their native applications and preserve supported untargeted content; malformed or unsupported transformations fail without altering the source.
  • Word, PDF, and Excel each have functional regression fixtures plus React v2 UI coverage, including keyboard selection, review, errors, and mobile/fullscreen behavior.
  • Feature documentation, user guidance, chat controls, and any new settings/inventory coverage are updated with the implementation version.

Notes

Relevant existing foundations include functions_document_transform.py, functions_document_transform_docx.py, functions_document_transform_sources.py, generated-artifact authorization/publication services, and the shared React v2 AssistThread/context-picker components. The existing native Office adapter supports package-preserving transformations, but persistent visual file-edit sessions and a format-independent lifecycle are framework work.

Dependency: the shared framework and initial PPTX/CSV contracts planned under #999/#969. Sequence the adapters incrementally; completion of generation-only or merge-only issues is not evidence that interactive editing is complete. Related generation work includes #1072; template population is separately tracked in #1045.

Lenguaje dominante
Python
Estrellas
157
Forks
117
Merge medio
3 h 6 min
PR fusionados (30 d)
219

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/simplechat

Todos los issues de microsoft/simplechat

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.