docagent-cli 0.0.40__tar.gz → 0.0.41__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/CHANGELOG.md +6 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/PKG-INFO +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_version.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/agent.py +3 -3
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/accept_changes.py +2 -2
- {docagent_cli-0.0.40/docagent_cli/built_in_skills/pptx → docagent_cli-0.0.41/docagent_cli/built_in_skills/docx}/scripts/office/soffice.py +1 -1
- docagent_cli-0.0.41/docagent_cli/built_in_skills/long-doc-writing/SKILL.md +137 -0
- {docagent_cli-0.0.40/docagent_cli/built_in_skills/docx → docagent_cli-0.0.41/docagent_cli/built_in_skills/pptx}/scripts/office/soffice.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/eval-viewer/generate_review.py +9 -9
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/generate_report.py +2 -2
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/improve_description.py +3 -3
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/quick_validate.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/run_eval.py +2 -2
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/run_loop.py +6 -6
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/utils.py +1 -1
- docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/SKILL.md +242 -0
- docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/math.md +206 -0
- docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/scripting.md +255 -0
- docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/styling.md +231 -0
- docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/syntax.md +125 -0
- docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/templates.md +254 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/soffice.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/recalc.py +2 -2
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/config.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/hooks.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/server.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/server_manager.py +2 -2
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/skills/commands.py +1 -1
- docagent_cli-0.0.41/docs/[/346/213/233/346/240/207/346/226/207/344/273/266]/345/215/227/344/272/254/346/231/223/345/272/204/345/255/246/351/231/242/351/231/266/350/241/214/347/237/245RAG/346/243/200/347/264/242/345/242/236/345/274/272/345/274/200/345/217/221/347/256/241/347/220/206/345/271/263/345/217/260.docx +0 -0
- docagent_cli-0.0.41/docs//346/212/200/346/234/257/346/226/271/346/241/210/346/250/241/346/235/277.docx +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/skill-creator/scripts/init_skill.py +4 -4
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/skill-creator/scripts/quick_validate.py +1 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/pyproject.toml +6 -1
- docagent_cli-0.0.41/technical_proposal/charts/01_rag_architecture.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/02_platform_modules.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/03_knowledge_flow.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/04_ai_app_dev_flow.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/05_model_evolution_cycle.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/06_user_persona_system.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/07_system_integration.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/08_technical_architecture.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/09_implementation_gantt.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/10_monitoring_architecture.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/11_retrieval_metrics.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/12_answer_style_selection.png +0 -0
- docagent_cli-0.0.41/technical_proposal/charts/__init__.py +5 -0
- docagent_cli-0.0.41/technical_proposal/charts/charts.py +806 -0
- docagent_cli-0.0.41/technical_proposal/generate_doc.py +625 -0
- docagent_cli-0.0.41/technical_proposal/sections/__init__.py +14 -0
- docagent_cli-0.0.41/technical_proposal/sections/s02.py +84 -0
- docagent_cli-0.0.41/technical_proposal/sections/s03.py +84 -0
- docagent_cli-0.0.41/technical_proposal/sections/s04.py +57 -0
- docagent_cli-0.0.41/technical_proposal/sections/s05.py +57 -0
- docagent_cli-0.0.41/technical_proposal/sections/s06.py +38 -0
- docagent_cli-0.0.41/technical_proposal/sections/section_01.py +197 -0
- docagent_cli-0.0.41/technical_proposal/sections/section_02.py +84 -0
- docagent_cli-0.0.41/technical_proposal/sections/section_03.py +84 -0
- docagent_cli-0.0.41/technical_proposal/sections/section_04.py +57 -0
- docagent_cli-0.0.41/technical_proposal/sections/section_05.py +57 -0
- docagent_cli-0.0.41/technical_proposal/sections/section_06.py +38 -0
- docagent_cli-0.0.41/technical_proposal/utils/__init__.py +1 -0
- docagent_cli-0.0.41/technical_proposal//345/215/227/344/272/254/346/231/223/345/272/204/345/255/246/351/231/242/351/231/266/350/241/214/347/237/245RAG/346/243/200/347/264/242/345/242/236/345/274/272/345/274/200/345/217/221/347/256/241/347/220/206/345/271/263/345/217/260_/346/212/200/346/234/257/346/226/271/346/241/210.docx +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/uv.lock +445 -1
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/.gitignore +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/DEV.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/Makefile +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/README.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/THREAT_MODEL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/__main__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_ask_user_types.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_cli_context.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_debug.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_env_vars.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_server_config.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_session_stats.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/_testing_models.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/app.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/app.tcss +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/ask_user.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/doc-coauthoring/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/LICENSE.txt +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/comment.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/helpers/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/helpers/merge_runs.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/helpers/simplify_redlines.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/pack.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/mce/mc.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/unpack.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validate.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/base.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/docx.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/pptx.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/redlining.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/comments.xml +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/commentsExtended.xml +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/commentsExtensible.xml +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/commentsIds.xml +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/people.xml +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/LICENSE.txt +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/forms.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/reference.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/check_bounding_boxes.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/check_fillable_fields.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/convert_pdf_to_images.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/create_validation_image.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/extract_form_field_info.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/extract_form_structure.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/fill_fillable_fields.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/LICENSE.txt +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/editing.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/pptxgenjs.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/add_slide.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/clean.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/merge_runs.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/pack.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/unpack.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validate.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/base.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/docx.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/pptx.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/redlining.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/thumbnail.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/remember/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/LICENSE.txt +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/agents/analyzer.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/agents/comparator.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/agents/grader.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/assets/eval_review.html +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/eval-viewer/viewer.html +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/references/schemas.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/aggregate_benchmark.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/package_skill.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/LICENSE.txt +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/theme-showcase.pdf +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/arctic-frost.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/botanical-garden.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/desert-rose.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/forest-canopy.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/golden-hour.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/midnight-galaxy.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/modern-minimalist.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/ocean-depths.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/sunset-boulevard.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/tech-innovation.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/LICENSE.txt +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/merge_runs.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/pack.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/unpack.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validate.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/base.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/docx.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/pptx.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/redlining.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/clipboard.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/command_registry.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/configurable_model.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/default_agent_prompt.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/editor.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/file_ops.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/formatting.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/input.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/integrations/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/integrations/sandbox_factory.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/integrations/sandbox_provider.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/local_context.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/main.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/mcp_tools.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/mcp_trust.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/media_utils.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/model_config.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/non_interactive.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/offload.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/output.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/project_utils.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/py.typed +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/remote_client.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/server_graph.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/sessions.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/skills/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/skills/load.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/subagents.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/system_prompt.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/textual_adapter.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/theme.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/token_state.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/tool_display.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/tools.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/ui.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/unicode_security.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/update_check.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/_links.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/approval.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/ask_user.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/autocomplete.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/chat_input.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/diff.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/history.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/loading.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/mcp_viewer.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/message_store.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/messages.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/model_selector.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/status.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/theme_selector.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/thread_selector.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/tool_renderers.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/tool_widgets.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/docagent_cli/widgets/welcome.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/arxiv-search/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/arxiv-search/arxiv_search.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/langgraph-docs/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/skill-creator/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/examples/skills/web-research/SKILL.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/images/cli.png +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/scripts/check_imports.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/scripts/install.sh +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/README.md +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/benchmarks/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/conftest.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/test_acp_mode.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/test_compact_resume.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/test_sandbox_factory.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/integration_tests/test_sandbox_operations.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/conftest.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/skills/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/skills/test_commands.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/skills/test_load.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/skills/test_skills_json.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_agent.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_agent_friendly.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_app.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_approval.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_args.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_ask_user.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_ask_user_middleware.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_autocomplete.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_charset.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_chat_input.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_command_registry.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_compact_tool.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_config.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_configurable_model.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_debug.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_editor.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_end_to_end.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_env_vars.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_exception_handling.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_file_ops.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_history.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_hooks.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_imports.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_input_parsing.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_links.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_local_context.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_main.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_main_acp_mode.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_main_args.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_mcp_tools.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_mcp_trust.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_mcp_viewer.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_media_utils.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_message_store.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_messages.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_model_config.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_model_selector.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_model_switch.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_non_interactive.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_offload.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_output.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_reload.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_remote_client.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_sandbox_factory.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_server.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_server_config.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_server_graph.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_server_helpers.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_server_manager.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_sessions.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_shell_allow_list.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_skill_invocation.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_status.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_subagents.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_textual_adapter.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_theme.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_thread_selector.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_token_tracker.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_ui.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_unicode_security.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_update_check.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_version.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/test_welcome.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/tools/__init__.py +0 -0
- {docagent_cli-0.0.40 → docagent_cli-0.0.41}/tests/unit_tests/tools/test_fetch_url.py +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.41](https://github.com/langchain-ai/docagent/compare/docagent-cli==0.0.40...docagent-cli==0.0.41) (2026-04-10)
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* Fix `UnicodeDecodeError` on Chinese Windows systems (GBK locale) by explicitly specifying `encoding="utf-8"` on all `read_text()` and `write_text()` file operations ([#fix-gbk-encoding](https://github.com/langchain-ai/docagent/issues/fix-gbk-encoding))
|
|
8
|
+
|
|
3
9
|
## [0.0.34](https://github.com/langchain-ai/docagent/compare/docagent-cli==0.0.33...docagent-cli==0.0.34) (2026-03-17)
|
|
4
10
|
|
|
5
11
|
### Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docagent-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.41
|
|
4
4
|
Summary: Terminal interface for Deep Agents - interactive AI agent with file operations, shell access, and sub-agent capabilities.
|
|
5
5
|
Project-URL: Homepage, https://docs.langchain.com/oss/python/docagent/overview
|
|
6
6
|
Project-URL: Documentation, https://reference.langchain.com/python/docagent/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Version information and lightweight constants for `docagent-cli`."""
|
|
2
2
|
|
|
3
|
-
__version__ = "0.0.
|
|
3
|
+
__version__ = "0.0.41" # x-release-please-version
|
|
4
4
|
|
|
5
5
|
DOCS_URL = "https://docs.langchain.com/oss/python/docagent/cli"
|
|
6
6
|
"""URL for `docagent-cli` documentation."""
|
|
@@ -365,7 +365,7 @@ def reset_agent(
|
|
|
365
365
|
)
|
|
366
366
|
raise SystemExit(1)
|
|
367
367
|
|
|
368
|
-
source_content = source_md.read_text()
|
|
368
|
+
source_content = source_md.read_text(encoding="utf-8")
|
|
369
369
|
action_desc = f"contents of agent '{source_agent}'"
|
|
370
370
|
else:
|
|
371
371
|
source_content = get_default_coding_instructions()
|
|
@@ -399,7 +399,7 @@ def reset_agent(
|
|
|
399
399
|
|
|
400
400
|
agent_dir.mkdir(parents=True, exist_ok=True)
|
|
401
401
|
agent_md = agent_dir / "AGENTS.md"
|
|
402
|
-
agent_md.write_text(source_content)
|
|
402
|
+
agent_md.write_text(source_content, encoding="utf-8")
|
|
403
403
|
|
|
404
404
|
if output_format == "json":
|
|
405
405
|
from docagent_cli.output import write_json
|
|
@@ -504,7 +504,7 @@ def get_system_prompt(
|
|
|
504
504
|
... {CONDITIONAL SECTIONS} ...
|
|
505
505
|
```
|
|
506
506
|
"""
|
|
507
|
-
template = (Path(__file__).parent / "system_prompt.md").read_text()
|
|
507
|
+
template = (Path(__file__).parent / "system_prompt.md").read_text(encoding="utf-8")
|
|
508
508
|
|
|
509
509
|
skills_path = f"~/.docagent/{assistant_id}/skills"
|
|
510
510
|
|
|
@@ -92,7 +92,7 @@ def _setup_libreoffice_macro() -> bool:
|
|
|
92
92
|
macro_dir = Path(MACRO_DIR)
|
|
93
93
|
macro_file = macro_dir / "Module1.xba"
|
|
94
94
|
|
|
95
|
-
if macro_file.exists() and "AcceptAllTrackedChanges" in macro_file.read_text():
|
|
95
|
+
if macro_file.exists() and "AcceptAllTrackedChanges" in macro_file.read_text(encoding="utf-8"):
|
|
96
96
|
return True
|
|
97
97
|
|
|
98
98
|
if not macro_dir.exists():
|
|
@@ -111,7 +111,7 @@ def _setup_libreoffice_macro() -> bool:
|
|
|
111
111
|
macro_dir.mkdir(parents=True, exist_ok=True)
|
|
112
112
|
|
|
113
113
|
try:
|
|
114
|
-
macro_file.write_text(ACCEPT_CHANGES_MACRO)
|
|
114
|
+
macro_file.write_text(ACCEPT_CHANGES_MACRO, encoding="utf-8")
|
|
115
115
|
return True
|
|
116
116
|
except Exception as e:
|
|
117
117
|
logger.warning(f"Failed to setup LibreOffice macro: {e}")
|
|
@@ -55,7 +55,7 @@ def _ensure_shim() -> Path:
|
|
|
55
55
|
return _SHIM_SO
|
|
56
56
|
|
|
57
57
|
src = Path(tempfile.gettempdir()) / "lo_socket_shim.c"
|
|
58
|
-
src.write_text(_SHIM_SOURCE)
|
|
58
|
+
src.write_text(_SHIM_SOURCE, encoding="utf-8")
|
|
59
59
|
subprocess.run(
|
|
60
60
|
["gcc", "-shared", "-fPIC", "-o", str(_SHIM_SO), str(src), "-ldl"],
|
|
61
61
|
check=True,
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: long-doc-writing
|
|
3
|
+
description: Guide for writing long-form documents — research papers, technical reports, literature reviews, methodology sections — with natural prose style. Use this skill when the user asks to write, draft, expand, or polish any substantial document section, especially academic or research writing. Trigger whenever the user wants to write about evaluation metrics, methodology, results, related work, or any multi-paragraph research content. Strongly prefer this skill over plain generation whenever the user mentions writing that should feel natural, narrative, or scholarly rather than bullet-pointed or template-driven.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Long-Form Document Writing
|
|
7
|
+
|
|
8
|
+
This skill guides the production of long-form documents — research papers, technical reports, literature reviews, methodology sections, and similar scholarly or professional writing — with a focus on prose quality over mechanical structure.
|
|
9
|
+
|
|
10
|
+
The core philosophy: good long-form writing reads like a senior researcher thinking through a problem out loud, not like a checklist being filled in. Every section should have a clear reason for existing, every sentence should carry information, and the transitions between ideas should feel earned.
|
|
11
|
+
|
|
12
|
+
## Foundational Principles
|
|
13
|
+
|
|
14
|
+
### Prose Over Lists
|
|
15
|
+
|
|
16
|
+
When content appears as a list — bullet points, numbered items, isolated definitions — convert it into flowing paragraphs. This is not cosmetic. Lists fragment reasoning; paragraphs let ideas build on each other and reveal relationships that bullets obscure.
|
|
17
|
+
|
|
18
|
+
**Instead of:**
|
|
19
|
+
> The evaluation metrics include:
|
|
20
|
+
> - BLEU score: measures n-gram overlap
|
|
21
|
+
> - ROUGE-L: measures longest common subsequence
|
|
22
|
+
> - BERTScore: measures semantic similarity
|
|
23
|
+
|
|
24
|
+
**Write:**
|
|
25
|
+
> To assess generation quality across its different dimensions, we rely on three metrics that together capture what simple accuracy cannot. BLEU score grounds the evaluation in surface-level fidelity — if the model's output shares n-gram patterns with the reference, it is at minimum producing plausible text. But n-gram overlap alone misses the forest for the trees, which is why we pair it with ROUGE-L: the longest common subsequence it tracks tends to surface whether the model captured the right information in roughly the right order, even if the phrasing differs. Neither metric, however, can tell us whether two semantically equivalent sentences are actually equivalent — for that, BERTScore fills the gap, using contextual embeddings to measure meaning-level similarity rather than surface form.
|
|
26
|
+
|
|
27
|
+
This example illustrates the key moves: each metric gets a *reason*, not just a definition, and the paragraph builds from one idea to the next rather than presenting three isolated facts.
|
|
28
|
+
|
|
29
|
+
### Narrative Integration of Technical Content
|
|
30
|
+
|
|
31
|
+
Every technical element — a metric, a design choice, a baseline, a dataset — should be introduced with a brief explanation of *why it belongs in this document*. Not "Metric X is defined as Y", but "We chose metric X because it captures Z, which matters here because..."
|
|
32
|
+
|
|
33
|
+
This is especially important for:
|
|
34
|
+
- **Evaluation metrics**: Explain what each metric is designed to detect and why that matters for your specific task.
|
|
35
|
+
- **Baselines and comparisons**: Explain why each comparison is informative, not just what it is.
|
|
36
|
+
- **Datasets**: Explain what properties make the dataset appropriate, not just its size and source.
|
|
37
|
+
- **Model components**: Explain what problem each component solves, not just what it does.
|
|
38
|
+
|
|
39
|
+
### Active Voice and Researcher's Tone
|
|
40
|
+
|
|
41
|
+
Write as if a knowledgeable colleague is explaining their thinking — confident, direct, sometimes opinionated. Favor active constructions:
|
|
42
|
+
|
|
43
|
+
| Passive (avoid) | Active (prefer) |
|
|
44
|
+
|---|---|
|
|
45
|
+
| "BLEU score was used to evaluate..." | "We evaluate using BLEU score because..." |
|
|
46
|
+
| "It can be observed that..." | "We find that..." |
|
|
47
|
+
| "The model was trained on..." | "We trained the model on..." |
|
|
48
|
+
| "Results are presented in Table 2" | "Table 2 shows..." |
|
|
49
|
+
|
|
50
|
+
This is not about being casual; it is about being clear. Active voice is also shorter and harder to misread.
|
|
51
|
+
|
|
52
|
+
### No Template Boilerplate
|
|
53
|
+
|
|
54
|
+
Avoid clichéd academic openers and transitions that carry no information:
|
|
55
|
+
|
|
56
|
+
**Phrases to eliminate:**
|
|
57
|
+
- "The evaluation metrics include..."
|
|
58
|
+
- "In this section, we present..."
|
|
59
|
+
- "It is worth noting that..."
|
|
60
|
+
- "As can be seen from the results..."
|
|
61
|
+
- "We now turn to..."
|
|
62
|
+
- "For the purpose of this study..."
|
|
63
|
+
- "It is important to mention that..."
|
|
64
|
+
- "This paper is organized as follows..."
|
|
65
|
+
|
|
66
|
+
When you catch yourself writing one of these, ask: what am I actually trying to say? Then say that instead.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Section-Specific Guidance
|
|
71
|
+
|
|
72
|
+
### Evaluation / Metrics Sections
|
|
73
|
+
|
|
74
|
+
This is where mechanical writing is most common and most damaging. The typical failure mode: list each metric with a one-line definition and a formula. The reader learns what the metrics are but not *why this paper uses them* or *what the results actually mean*.
|
|
75
|
+
|
|
76
|
+
**Structure to aim for:**
|
|
77
|
+
1. Open by naming the core question the evaluation is trying to answer — not "we evaluate the model" but "we want to know whether the model preserves factual accuracy while improving fluency."
|
|
78
|
+
2. Introduce metrics in the order they address that question, explaining the gap each one fills.
|
|
79
|
+
3. Note limitations of your metrics honestly — this shows methodological awareness and actually strengthens the paper.
|
|
80
|
+
4. Connect metrics to results in the same breath where possible: "We track ROUGE-L because it captures order-sensitive recall — and as Table 3 shows, this is precisely where our model most consistently outperforms baselines."
|
|
81
|
+
|
|
82
|
+
### Methodology / Approach Sections
|
|
83
|
+
|
|
84
|
+
The goal is to let readers reconstruct your work, but also to understand your reasoning. Every major decision should come with its rationale:
|
|
85
|
+
|
|
86
|
+
- Why this architecture over alternatives?
|
|
87
|
+
- Why this training split?
|
|
88
|
+
- Why this preprocessing step?
|
|
89
|
+
|
|
90
|
+
Anticipate the skeptical reader. If you made a choice that might seem arbitrary, explain why it was not.
|
|
91
|
+
|
|
92
|
+
### Related Work Sections
|
|
93
|
+
|
|
94
|
+
The most common failure: a list of papers with one-sentence summaries, no synthesis. Good related work sections tell a story about the field:
|
|
95
|
+
|
|
96
|
+
- What problem was everyone trying to solve?
|
|
97
|
+
- How did approaches evolve?
|
|
98
|
+
- Where does your work fit in that trajectory?
|
|
99
|
+
- What does your work do that prior work cannot?
|
|
100
|
+
|
|
101
|
+
Group papers by *what they do* or *what gap they address*, not by chronology or who wrote them.
|
|
102
|
+
|
|
103
|
+
### Results and Discussion Sections
|
|
104
|
+
|
|
105
|
+
Do not just describe tables — analyze them. "Table 2 shows our method achieves 87.3 BLEU" is a caption, not an analysis. A results section should answer:
|
|
106
|
+
|
|
107
|
+
- What do the numbers mean, qualitatively?
|
|
108
|
+
- Where does the method succeed and why?
|
|
109
|
+
- Where does it fall short and why?
|
|
110
|
+
- What surprising or counterintuitive result emerged, and what does it tell you?
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Editing Pass Checklist
|
|
115
|
+
|
|
116
|
+
After drafting, run through these questions before finalizing any section:
|
|
117
|
+
|
|
118
|
+
1. **Is there a list that could be a paragraph?** Convert it.
|
|
119
|
+
2. **Does every metric / baseline / dataset have a reason for being here?** Add it if not.
|
|
120
|
+
3. **Does any sentence start with "It is" or "There are"?** Revise to lead with the subject.
|
|
121
|
+
4. **Are there transition phrases that add no information?** Delete them.
|
|
122
|
+
5. **Does each paragraph have a clear point?** If you cannot summarize a paragraph in one sentence, it probably needs restructuring.
|
|
123
|
+
6. **Is the reader told not just *what* but *why*?** Wherever the answer is no, add the reasoning.
|
|
124
|
+
7. **Could a colleague from a neighboring field understand the stakes?** If not, the motivation is probably buried in jargon.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Working With the User
|
|
129
|
+
|
|
130
|
+
When the user provides content to write or rewrite:
|
|
131
|
+
|
|
132
|
+
1. **Identify the core argument or finding** that the section is trying to communicate. If it is unclear, ask.
|
|
133
|
+
2. **Draft in prose**, applying the principles above. Do not produce bullet points unless the user explicitly asks for them.
|
|
134
|
+
3. **Surface one or two decisions** you made that the user might want to revisit — e.g., "I grouped metrics by what they measure rather than the order you listed them; let me know if you'd prefer a different organization."
|
|
135
|
+
4. **Invite targeted feedback** rather than asking "does this look good?" — e.g., "Does the tone feel right for your venue? Should the metrics section lead with the primary metric or with the research question it answers?"
|
|
136
|
+
|
|
137
|
+
If the user provides a list of points they want covered, treat it as raw material, not a structure. Your job is to find the narrative thread and write toward it.
|
|
@@ -55,7 +55,7 @@ def _ensure_shim() -> Path:
|
|
|
55
55
|
return _SHIM_SO
|
|
56
56
|
|
|
57
57
|
src = Path(tempfile.gettempdir()) / "lo_socket_shim.c"
|
|
58
|
-
src.write_text(_SHIM_SOURCE)
|
|
58
|
+
src.write_text(_SHIM_SOURCE, encoding="utf-8")
|
|
59
59
|
subprocess.run(
|
|
60
60
|
["gcc", "-shared", "-fPIC", "-o", str(_SHIM_SO), str(src), "-ldl"],
|
|
61
61
|
check=True,
|
|
@@ -91,7 +91,7 @@ def build_run(root: Path, run_dir: Path) -> dict | None:
|
|
|
91
91
|
for candidate in [run_dir / "eval_metadata.json", run_dir.parent / "eval_metadata.json"]:
|
|
92
92
|
if candidate.exists():
|
|
93
93
|
try:
|
|
94
|
-
metadata = json.loads(candidate.read_text())
|
|
94
|
+
metadata = json.loads(candidate.read_text(encoding="utf-8"))
|
|
95
95
|
prompt = metadata.get("prompt", "")
|
|
96
96
|
eval_id = metadata.get("eval_id")
|
|
97
97
|
except (json.JSONDecodeError, OSError):
|
|
@@ -104,7 +104,7 @@ def build_run(root: Path, run_dir: Path) -> dict | None:
|
|
|
104
104
|
for candidate in [run_dir / "transcript.md", run_dir / "outputs" / "transcript.md"]:
|
|
105
105
|
if candidate.exists():
|
|
106
106
|
try:
|
|
107
|
-
text = candidate.read_text()
|
|
107
|
+
text = candidate.read_text(encoding="utf-8")
|
|
108
108
|
match = re.search(r"## Eval Prompt\n\n([\s\S]*?)(?=\n##|$)", text)
|
|
109
109
|
if match:
|
|
110
110
|
prompt = match.group(1).strip()
|
|
@@ -131,7 +131,7 @@ def build_run(root: Path, run_dir: Path) -> dict | None:
|
|
|
131
131
|
for candidate in [run_dir / "grading.json", run_dir.parent / "grading.json"]:
|
|
132
132
|
if candidate.exists():
|
|
133
133
|
try:
|
|
134
|
-
grading = json.loads(candidate.read_text())
|
|
134
|
+
grading = json.loads(candidate.read_text(encoding="utf-8"))
|
|
135
135
|
except (json.JSONDecodeError, OSError):
|
|
136
136
|
pass
|
|
137
137
|
if grading:
|
|
@@ -222,7 +222,7 @@ def load_previous_iteration(workspace: Path) -> dict[str, dict]:
|
|
|
222
222
|
feedback_path = workspace / "feedback.json"
|
|
223
223
|
if feedback_path.exists():
|
|
224
224
|
try:
|
|
225
|
-
data = json.loads(feedback_path.read_text())
|
|
225
|
+
data = json.loads(feedback_path.read_text(encoding="utf-8"))
|
|
226
226
|
feedback_map = {
|
|
227
227
|
r["run_id"]: r["feedback"]
|
|
228
228
|
for r in data.get("reviews", [])
|
|
@@ -255,7 +255,7 @@ def generate_html(
|
|
|
255
255
|
) -> str:
|
|
256
256
|
"""Generate the complete standalone HTML page with embedded data."""
|
|
257
257
|
template_path = Path(__file__).parent / "viewer.html"
|
|
258
|
-
template = template_path.read_text()
|
|
258
|
+
template = template_path.read_text(encoding="utf-8")
|
|
259
259
|
|
|
260
260
|
# Build previous_feedback and previous_outputs maps for the template
|
|
261
261
|
previous_feedback: dict[str, str] = {}
|
|
@@ -336,7 +336,7 @@ class ReviewHandler(BaseHTTPRequestHandler):
|
|
|
336
336
|
benchmark = None
|
|
337
337
|
if self.benchmark_path and self.benchmark_path.exists():
|
|
338
338
|
try:
|
|
339
|
-
benchmark = json.loads(self.benchmark_path.read_text())
|
|
339
|
+
benchmark = json.loads(self.benchmark_path.read_text(encoding="utf-8"))
|
|
340
340
|
except (json.JSONDecodeError, OSError):
|
|
341
341
|
pass
|
|
342
342
|
html = generate_html(runs, self.skill_name, self.previous, benchmark)
|
|
@@ -366,7 +366,7 @@ class ReviewHandler(BaseHTTPRequestHandler):
|
|
|
366
366
|
data = json.loads(body)
|
|
367
367
|
if not isinstance(data, dict) or "reviews" not in data:
|
|
368
368
|
raise ValueError("Expected JSON object with 'reviews' key")
|
|
369
|
-
self.feedback_path.write_text(json.dumps(data, indent=2) + "\n")
|
|
369
|
+
self.feedback_path.write_text(json.dumps(data, indent=2, encoding="utf-8") + "\n")
|
|
370
370
|
resp = b'{"ok":true}'
|
|
371
371
|
self.send_response(200)
|
|
372
372
|
except (json.JSONDecodeError, OSError, ValueError) as e:
|
|
@@ -424,14 +424,14 @@ def main() -> None:
|
|
|
424
424
|
benchmark = None
|
|
425
425
|
if benchmark_path and benchmark_path.exists():
|
|
426
426
|
try:
|
|
427
|
-
benchmark = json.loads(benchmark_path.read_text())
|
|
427
|
+
benchmark = json.loads(benchmark_path.read_text(encoding="utf-8"))
|
|
428
428
|
except (json.JSONDecodeError, OSError):
|
|
429
429
|
pass
|
|
430
430
|
|
|
431
431
|
if args.static:
|
|
432
432
|
html = generate_html(runs, skill_name, previous, benchmark)
|
|
433
433
|
args.static.parent.mkdir(parents=True, exist_ok=True)
|
|
434
|
-
args.static.write_text(html)
|
|
434
|
+
args.static.write_text(html, encoding="utf-8")
|
|
435
435
|
print(f"\n Static viewer written to: {args.static}\n")
|
|
436
436
|
sys.exit(0)
|
|
437
437
|
|
|
@@ -311,12 +311,12 @@ def main():
|
|
|
311
311
|
if args.input == "-":
|
|
312
312
|
data = json.load(sys.stdin)
|
|
313
313
|
else:
|
|
314
|
-
data = json.loads(Path(args.input).read_text())
|
|
314
|
+
data = json.loads(Path(args.input).read_text(encoding="utf-8"))
|
|
315
315
|
|
|
316
316
|
html_output = generate_html(data, skill_name=args.skill_name)
|
|
317
317
|
|
|
318
318
|
if args.output:
|
|
319
|
-
Path(args.output).write_text(html_output)
|
|
319
|
+
Path(args.output).write_text(html_output, encoding="utf-8")
|
|
320
320
|
print(f"Report written to {args.output}", file=sys.stderr)
|
|
321
321
|
else:
|
|
322
322
|
print(html_output)
|
|
@@ -186,7 +186,7 @@ Please respond with only the new description text in <new_description> tags, not
|
|
|
186
186
|
if log_dir:
|
|
187
187
|
log_dir.mkdir(parents=True, exist_ok=True)
|
|
188
188
|
log_file = log_dir / f"improve_iter_{iteration or 'unknown'}.json"
|
|
189
|
-
log_file.write_text(json.dumps(transcript, indent=2))
|
|
189
|
+
log_file.write_text(json.dumps(transcript, indent=2, encoding="utf-8"))
|
|
190
190
|
|
|
191
191
|
return description
|
|
192
192
|
|
|
@@ -205,10 +205,10 @@ def main():
|
|
|
205
205
|
print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr)
|
|
206
206
|
sys.exit(1)
|
|
207
207
|
|
|
208
|
-
eval_results = json.loads(Path(args.eval_results).read_text())
|
|
208
|
+
eval_results = json.loads(Path(args.eval_results).read_text(encoding="utf-8"))
|
|
209
209
|
history = []
|
|
210
210
|
if args.history:
|
|
211
|
-
history = json.loads(Path(args.history).read_text())
|
|
211
|
+
history = json.loads(Path(args.history).read_text(encoding="utf-8"))
|
|
212
212
|
|
|
213
213
|
name, _, content = parse_skill_md(skill_path)
|
|
214
214
|
current_description = eval_results["description"]
|
|
@@ -19,7 +19,7 @@ def validate_skill(skill_path):
|
|
|
19
19
|
return False, "SKILL.md not found"
|
|
20
20
|
|
|
21
21
|
# Read and validate frontmatter
|
|
22
|
-
content = skill_md.read_text()
|
|
22
|
+
content = skill_md.read_text(encoding="utf-8")
|
|
23
23
|
if not content.startswith('---'):
|
|
24
24
|
return False, "No YAML frontmatter found"
|
|
25
25
|
|
|
@@ -65,7 +65,7 @@ def run_single_query(
|
|
|
65
65
|
f"# {skill_name}\n\n"
|
|
66
66
|
f"This skill handles: {skill_description}\n"
|
|
67
67
|
)
|
|
68
|
-
command_file.write_text(command_content)
|
|
68
|
+
command_file.write_text(command_content, encoding="utf-8")
|
|
69
69
|
|
|
70
70
|
cmd = [
|
|
71
71
|
"claude",
|
|
@@ -269,7 +269,7 @@ def main():
|
|
|
269
269
|
parser.add_argument("--verbose", action="store_true", help="Print progress to stderr")
|
|
270
270
|
args = parser.parse_args()
|
|
271
271
|
|
|
272
|
-
eval_set = json.loads(Path(args.eval_set).read_text())
|
|
272
|
+
eval_set = json.loads(Path(args.eval_set).read_text(encoding="utf-8"))
|
|
273
273
|
skill_path = Path(args.skill_path)
|
|
274
274
|
|
|
275
275
|
if not (skill_path / "SKILL.md").exists():
|
|
@@ -148,7 +148,7 @@ def run_loop(
|
|
|
148
148
|
"test_size": len(test_set),
|
|
149
149
|
"history": history,
|
|
150
150
|
}
|
|
151
|
-
live_report_path.write_text(generate_html(partial_output, auto_refresh=True, skill_name=name))
|
|
151
|
+
live_report_path.write_text(generate_html(partial_output, auto_refresh=True, skill_name=name, encoding="utf-8"))
|
|
152
152
|
|
|
153
153
|
if verbose:
|
|
154
154
|
def print_eval_stats(label, results, elapsed):
|
|
@@ -258,7 +258,7 @@ def main():
|
|
|
258
258
|
parser.add_argument("--results-dir", default=None, help="Save all outputs (results.json, report.html, log.txt) to a timestamped subdirectory here")
|
|
259
259
|
args = parser.parse_args()
|
|
260
260
|
|
|
261
|
-
eval_set = json.loads(Path(args.eval_set).read_text())
|
|
261
|
+
eval_set = json.loads(Path(args.eval_set).read_text(encoding="utf-8"))
|
|
262
262
|
skill_path = Path(args.skill_path)
|
|
263
263
|
|
|
264
264
|
if not (skill_path / "SKILL.md").exists():
|
|
@@ -275,7 +275,7 @@ def main():
|
|
|
275
275
|
else:
|
|
276
276
|
live_report_path = Path(args.report)
|
|
277
277
|
# Open the report immediately so the user can watch
|
|
278
|
-
live_report_path.write_text("<html><body><h1>Starting optimization loop...</h1><meta http-equiv='refresh' content='5'></body></html>")
|
|
278
|
+
live_report_path.write_text("<html><body><h1>Starting optimization loop...</h1><meta http-equiv='refresh' content='5'></body></html>", encoding="utf-8")
|
|
279
279
|
webbrowser.open(str(live_report_path))
|
|
280
280
|
else:
|
|
281
281
|
live_report_path = None
|
|
@@ -310,15 +310,15 @@ def main():
|
|
|
310
310
|
json_output = json.dumps(output, indent=2)
|
|
311
311
|
print(json_output)
|
|
312
312
|
if results_dir:
|
|
313
|
-
(results_dir / "results.json").write_text(json_output)
|
|
313
|
+
(results_dir / "results.json").write_text(json_output, encoding="utf-8")
|
|
314
314
|
|
|
315
315
|
# Write final HTML report (without auto-refresh)
|
|
316
316
|
if live_report_path:
|
|
317
|
-
live_report_path.write_text(generate_html(output, auto_refresh=False, skill_name=name))
|
|
317
|
+
live_report_path.write_text(generate_html(output, auto_refresh=False, skill_name=name, encoding="utf-8"))
|
|
318
318
|
print(f"\nReport: {live_report_path}", file=sys.stderr)
|
|
319
319
|
|
|
320
320
|
if results_dir and live_report_path:
|
|
321
|
-
(results_dir / "report.html").write_text(generate_html(output, auto_refresh=False, skill_name=name))
|
|
321
|
+
(results_dir / "report.html").write_text(generate_html(output, auto_refresh=False, skill_name=name, encoding="utf-8"))
|
|
322
322
|
|
|
323
323
|
if results_dir:
|
|
324
324
|
print(f"Results saved to: {results_dir}", file=sys.stderr)
|
|
@@ -6,7 +6,7 @@ from pathlib import Path
|
|
|
6
6
|
|
|
7
7
|
def parse_skill_md(skill_path: Path) -> tuple[str, str, str]:
|
|
8
8
|
"""Parse a SKILL.md file, returning (name, description, full_content)."""
|
|
9
|
-
content = (skill_path / "SKILL.md").read_text()
|
|
9
|
+
content = (skill_path / "SKILL.md").read_text(encoding="utf-8")
|
|
10
10
|
lines = content.split("\n")
|
|
11
11
|
|
|
12
12
|
if lines[0].strip() != "---":
|