docagent-cli 0.0.39__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.
Files changed (434) hide show
  1. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/CHANGELOG.md +6 -0
  2. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/PKG-INFO +3 -3
  3. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_version.py +1 -1
  4. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/agent.py +3 -3
  5. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/app.py +1 -1
  6. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/accept_changes.py +2 -2
  7. {docagent_cli-0.0.39/docagent_cli/built_in_skills/pptx → docagent_cli-0.0.41/docagent_cli/built_in_skills/docx}/scripts/office/soffice.py +1 -1
  8. docagent_cli-0.0.41/docagent_cli/built_in_skills/long-doc-writing/SKILL.md +137 -0
  9. {docagent_cli-0.0.39/docagent_cli/built_in_skills/docx → docagent_cli-0.0.41/docagent_cli/built_in_skills/pptx}/scripts/office/soffice.py +1 -1
  10. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/eval-viewer/generate_review.py +9 -9
  11. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/generate_report.py +2 -2
  12. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/improve_description.py +3 -3
  13. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/quick_validate.py +1 -1
  14. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/run_eval.py +2 -2
  15. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/run_loop.py +6 -6
  16. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/utils.py +1 -1
  17. docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/SKILL.md +242 -0
  18. docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/math.md +206 -0
  19. docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/scripting.md +255 -0
  20. docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/styling.md +231 -0
  21. docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/syntax.md +125 -0
  22. docagent_cli-0.0.41/docagent_cli/built_in_skills/typst/references/templates.md +254 -0
  23. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/soffice.py +1 -1
  24. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/recalc.py +2 -2
  25. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/config.py +2 -2
  26. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/hooks.py +1 -1
  27. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/main.py +2 -2
  28. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/server.py +10 -2
  29. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/server_manager.py +2 -2
  30. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/skills/commands.py +1 -1
  31. 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
  32. 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
  33. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/skill-creator/scripts/init_skill.py +4 -4
  34. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/skill-creator/scripts/quick_validate.py +1 -1
  35. docagent_cli-0.0.41/images/cli.png +0 -0
  36. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/pyproject.toml +9 -3
  37. docagent_cli-0.0.41/technical_proposal/charts/01_rag_architecture.png +0 -0
  38. docagent_cli-0.0.41/technical_proposal/charts/02_platform_modules.png +0 -0
  39. docagent_cli-0.0.41/technical_proposal/charts/03_knowledge_flow.png +0 -0
  40. docagent_cli-0.0.41/technical_proposal/charts/04_ai_app_dev_flow.png +0 -0
  41. docagent_cli-0.0.41/technical_proposal/charts/05_model_evolution_cycle.png +0 -0
  42. docagent_cli-0.0.41/technical_proposal/charts/06_user_persona_system.png +0 -0
  43. docagent_cli-0.0.41/technical_proposal/charts/07_system_integration.png +0 -0
  44. docagent_cli-0.0.41/technical_proposal/charts/08_technical_architecture.png +0 -0
  45. docagent_cli-0.0.41/technical_proposal/charts/09_implementation_gantt.png +0 -0
  46. docagent_cli-0.0.41/technical_proposal/charts/10_monitoring_architecture.png +0 -0
  47. docagent_cli-0.0.41/technical_proposal/charts/11_retrieval_metrics.png +0 -0
  48. docagent_cli-0.0.41/technical_proposal/charts/12_answer_style_selection.png +0 -0
  49. docagent_cli-0.0.41/technical_proposal/charts/__init__.py +5 -0
  50. docagent_cli-0.0.41/technical_proposal/charts/charts.py +806 -0
  51. docagent_cli-0.0.41/technical_proposal/generate_doc.py +625 -0
  52. docagent_cli-0.0.41/technical_proposal/sections/__init__.py +14 -0
  53. docagent_cli-0.0.41/technical_proposal/sections/s02.py +84 -0
  54. docagent_cli-0.0.41/technical_proposal/sections/s03.py +84 -0
  55. docagent_cli-0.0.41/technical_proposal/sections/s04.py +57 -0
  56. docagent_cli-0.0.41/technical_proposal/sections/s05.py +57 -0
  57. docagent_cli-0.0.41/technical_proposal/sections/s06.py +38 -0
  58. docagent_cli-0.0.41/technical_proposal/sections/section_01.py +197 -0
  59. docagent_cli-0.0.41/technical_proposal/sections/section_02.py +84 -0
  60. docagent_cli-0.0.41/technical_proposal/sections/section_03.py +84 -0
  61. docagent_cli-0.0.41/technical_proposal/sections/section_04.py +57 -0
  62. docagent_cli-0.0.41/technical_proposal/sections/section_05.py +57 -0
  63. docagent_cli-0.0.41/technical_proposal/sections/section_06.py +38 -0
  64. docagent_cli-0.0.41/technical_proposal/utils/__init__.py +1 -0
  65. 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
  66. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/uv.lock +480 -19
  67. docagent_cli-0.0.39/images/cli.png +0 -0
  68. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/.gitignore +0 -0
  69. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/DEV.md +0 -0
  70. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/Makefile +0 -0
  71. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/README.md +0 -0
  72. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/THREAT_MODEL.md +0 -0
  73. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/__init__.py +0 -0
  74. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/__main__.py +0 -0
  75. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_ask_user_types.py +0 -0
  76. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_cli_context.py +0 -0
  77. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_debug.py +0 -0
  78. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_env_vars.py +0 -0
  79. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_server_config.py +0 -0
  80. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_session_stats.py +0 -0
  81. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/_testing_models.py +0 -0
  82. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/app.tcss +0 -0
  83. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/ask_user.py +0 -0
  84. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/__init__.py +0 -0
  85. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/doc-coauthoring/SKILL.md +0 -0
  86. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/LICENSE.txt +0 -0
  87. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/SKILL.md +0 -0
  88. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/__init__.py +0 -0
  89. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/comment.py +0 -0
  90. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/helpers/__init__.py +0 -0
  91. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/helpers/merge_runs.py +0 -0
  92. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/helpers/simplify_redlines.py +0 -0
  93. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/pack.py +0 -0
  94. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  95. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  96. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  97. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  98. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  99. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  100. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  101. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  102. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  103. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  104. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  105. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  106. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  107. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  108. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  109. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  110. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  111. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  112. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  113. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  114. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  115. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  116. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  117. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  118. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  119. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  120. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  121. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  122. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  123. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  124. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  125. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/mce/mc.xsd +0 -0
  126. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  127. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  128. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  129. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  130. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  131. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  132. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  133. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/unpack.py +0 -0
  134. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validate.py +0 -0
  135. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/__init__.py +0 -0
  136. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/base.py +0 -0
  137. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/docx.py +0 -0
  138. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/pptx.py +0 -0
  139. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/office/validators/redlining.py +0 -0
  140. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/comments.xml +0 -0
  141. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/commentsExtended.xml +0 -0
  142. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/commentsExtensible.xml +0 -0
  143. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/commentsIds.xml +0 -0
  144. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/docx/scripts/templates/people.xml +0 -0
  145. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/LICENSE.txt +0 -0
  146. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/SKILL.md +0 -0
  147. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/forms.md +0 -0
  148. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/reference.md +0 -0
  149. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/check_bounding_boxes.py +0 -0
  150. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/check_fillable_fields.py +0 -0
  151. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/convert_pdf_to_images.py +0 -0
  152. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/create_validation_image.py +0 -0
  153. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/extract_form_field_info.py +0 -0
  154. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/extract_form_structure.py +0 -0
  155. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/fill_fillable_fields.py +0 -0
  156. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  157. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/LICENSE.txt +0 -0
  158. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/SKILL.md +0 -0
  159. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/editing.md +0 -0
  160. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/pptxgenjs.md +0 -0
  161. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/__init__.py +0 -0
  162. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/add_slide.py +0 -0
  163. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/clean.py +0 -0
  164. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/__init__.py +0 -0
  165. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/merge_runs.py +0 -0
  166. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -0
  167. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/pack.py +0 -0
  168. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  169. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  170. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  171. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  172. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  173. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  174. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  175. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  176. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  177. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  178. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  179. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  180. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  181. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  182. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  183. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  184. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  185. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  186. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  187. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  188. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  189. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  190. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  191. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  192. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  193. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  194. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  195. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  196. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  197. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  198. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  199. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -0
  200. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  201. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  202. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  203. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  204. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  205. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  206. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  207. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/unpack.py +0 -0
  208. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validate.py +0 -0
  209. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/__init__.py +0 -0
  210. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/base.py +0 -0
  211. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/docx.py +0 -0
  212. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/pptx.py +0 -0
  213. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/office/validators/redlining.py +0 -0
  214. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/pptx/scripts/thumbnail.py +0 -0
  215. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/remember/SKILL.md +0 -0
  216. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/LICENSE.txt +0 -0
  217. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/SKILL.md +0 -0
  218. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/agents/analyzer.md +0 -0
  219. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/agents/comparator.md +0 -0
  220. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/agents/grader.md +0 -0
  221. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/assets/eval_review.html +0 -0
  222. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/eval-viewer/viewer.html +0 -0
  223. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/references/schemas.md +0 -0
  224. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/__init__.py +0 -0
  225. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/aggregate_benchmark.py +0 -0
  226. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/skill-creator/scripts/package_skill.py +0 -0
  227. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/LICENSE.txt +0 -0
  228. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/SKILL.md +0 -0
  229. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/theme-showcase.pdf +0 -0
  230. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/arctic-frost.md +0 -0
  231. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/botanical-garden.md +0 -0
  232. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/desert-rose.md +0 -0
  233. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/forest-canopy.md +0 -0
  234. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/golden-hour.md +0 -0
  235. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/midnight-galaxy.md +0 -0
  236. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/modern-minimalist.md +0 -0
  237. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/ocean-depths.md +0 -0
  238. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/sunset-boulevard.md +0 -0
  239. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/theme-factory/themes/tech-innovation.md +0 -0
  240. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/LICENSE.txt +0 -0
  241. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/SKILL.md +0 -0
  242. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  243. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/merge_runs.py +0 -0
  244. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -0
  245. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/pack.py +0 -0
  246. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  247. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  248. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  249. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  250. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  251. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  252. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  253. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  254. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  255. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  256. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  257. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  258. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  259. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  260. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  261. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  262. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  263. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  264. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  265. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  266. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  267. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  268. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  269. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  270. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  271. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  272. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  273. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  274. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  275. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  276. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  277. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -0
  278. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  279. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  280. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  281. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  282. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  283. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  284. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  285. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/unpack.py +0 -0
  286. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validate.py +0 -0
  287. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/__init__.py +0 -0
  288. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/base.py +0 -0
  289. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/docx.py +0 -0
  290. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/pptx.py +0 -0
  291. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/redlining.py +0 -0
  292. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/clipboard.py +0 -0
  293. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/command_registry.py +0 -0
  294. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/configurable_model.py +0 -0
  295. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/default_agent_prompt.md +0 -0
  296. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/editor.py +0 -0
  297. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/file_ops.py +0 -0
  298. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/formatting.py +0 -0
  299. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/input.py +0 -0
  300. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/integrations/__init__.py +0 -0
  301. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/integrations/sandbox_factory.py +0 -0
  302. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/integrations/sandbox_provider.py +0 -0
  303. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/local_context.py +0 -0
  304. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/mcp_tools.py +0 -0
  305. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/mcp_trust.py +0 -0
  306. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/media_utils.py +0 -0
  307. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/model_config.py +0 -0
  308. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/non_interactive.py +0 -0
  309. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/offload.py +0 -0
  310. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/output.py +0 -0
  311. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/project_utils.py +0 -0
  312. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/py.typed +0 -0
  313. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/remote_client.py +0 -0
  314. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/server_graph.py +0 -0
  315. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/sessions.py +0 -0
  316. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/skills/__init__.py +0 -0
  317. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/skills/load.py +0 -0
  318. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/subagents.py +0 -0
  319. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/system_prompt.md +0 -0
  320. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/textual_adapter.py +0 -0
  321. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/theme.py +0 -0
  322. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/token_state.py +0 -0
  323. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/tool_display.py +0 -0
  324. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/tools.py +0 -0
  325. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/ui.py +0 -0
  326. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/unicode_security.py +0 -0
  327. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/update_check.py +0 -0
  328. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/__init__.py +0 -0
  329. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/_links.py +0 -0
  330. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/approval.py +0 -0
  331. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/ask_user.py +0 -0
  332. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/autocomplete.py +0 -0
  333. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/chat_input.py +0 -0
  334. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/diff.py +0 -0
  335. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/history.py +0 -0
  336. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/loading.py +0 -0
  337. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/mcp_viewer.py +0 -0
  338. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/message_store.py +0 -0
  339. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/messages.py +0 -0
  340. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/model_selector.py +0 -0
  341. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/status.py +0 -0
  342. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/theme_selector.py +0 -0
  343. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/thread_selector.py +0 -0
  344. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/tool_renderers.py +0 -0
  345. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/tool_widgets.py +0 -0
  346. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/docagent_cli/widgets/welcome.py +0 -0
  347. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/arxiv-search/SKILL.md +0 -0
  348. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/arxiv-search/arxiv_search.py +0 -0
  349. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/langgraph-docs/SKILL.md +0 -0
  350. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/skill-creator/SKILL.md +0 -0
  351. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/examples/skills/web-research/SKILL.md +0 -0
  352. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/scripts/check_imports.py +0 -0
  353. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/scripts/install.sh +0 -0
  354. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/README.md +0 -0
  355. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/__init__.py +0 -0
  356. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/benchmarks/__init__.py +0 -0
  357. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
  358. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
  359. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/conftest.py +0 -0
  360. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/test_acp_mode.py +0 -0
  361. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/test_compact_resume.py +0 -0
  362. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/test_sandbox_factory.py +0 -0
  363. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/integration_tests/test_sandbox_operations.py +0 -0
  364. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/__init__.py +0 -0
  365. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/conftest.py +0 -0
  366. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/skills/__init__.py +0 -0
  367. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/skills/test_commands.py +0 -0
  368. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/skills/test_load.py +0 -0
  369. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/skills/test_skills_json.py +0 -0
  370. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_agent.py +0 -0
  371. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_agent_friendly.py +0 -0
  372. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_app.py +0 -0
  373. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_approval.py +0 -0
  374. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_args.py +0 -0
  375. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_ask_user.py +0 -0
  376. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_ask_user_middleware.py +0 -0
  377. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_autocomplete.py +0 -0
  378. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_charset.py +0 -0
  379. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_chat_input.py +0 -0
  380. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_command_registry.py +0 -0
  381. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_compact_tool.py +0 -0
  382. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_config.py +0 -0
  383. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_configurable_model.py +0 -0
  384. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_debug.py +0 -0
  385. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_editor.py +0 -0
  386. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_end_to_end.py +0 -0
  387. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_env_vars.py +0 -0
  388. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_exception_handling.py +0 -0
  389. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_file_ops.py +0 -0
  390. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_history.py +0 -0
  391. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_hooks.py +0 -0
  392. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_imports.py +0 -0
  393. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_input_parsing.py +0 -0
  394. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_links.py +0 -0
  395. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_local_context.py +0 -0
  396. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_main.py +0 -0
  397. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_main_acp_mode.py +0 -0
  398. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_main_args.py +0 -0
  399. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_mcp_tools.py +0 -0
  400. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_mcp_trust.py +0 -0
  401. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_mcp_viewer.py +0 -0
  402. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_media_utils.py +0 -0
  403. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_message_store.py +0 -0
  404. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_messages.py +0 -0
  405. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_model_config.py +0 -0
  406. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_model_selector.py +0 -0
  407. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_model_switch.py +0 -0
  408. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_non_interactive.py +0 -0
  409. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_offload.py +0 -0
  410. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_output.py +0 -0
  411. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_reload.py +0 -0
  412. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_remote_client.py +0 -0
  413. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_sandbox_factory.py +0 -0
  414. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_server.py +0 -0
  415. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_server_config.py +0 -0
  416. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_server_graph.py +0 -0
  417. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_server_helpers.py +0 -0
  418. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_server_manager.py +0 -0
  419. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_sessions.py +0 -0
  420. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_shell_allow_list.py +0 -0
  421. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_skill_invocation.py +0 -0
  422. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_status.py +0 -0
  423. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_subagents.py +0 -0
  424. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_textual_adapter.py +0 -0
  425. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_theme.py +0 -0
  426. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_thread_selector.py +0 -0
  427. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_token_tracker.py +0 -0
  428. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_ui.py +0 -0
  429. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_unicode_security.py +0 -0
  430. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_update_check.py +0 -0
  431. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_version.py +0 -0
  432. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/test_welcome.py +0 -0
  433. {docagent_cli-0.0.39 → docagent_cli-0.0.41}/tests/unit_tests/tools/__init__.py +0 -0
  434. {docagent_cli-0.0.39 → 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.39
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/
@@ -26,8 +26,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
26
  Classifier: Topic :: Terminals
27
27
  Requires-Python: <4.0,>=3.11
28
28
  Requires-Dist: aiosqlite<1.0.0,>=0.19.0
29
- Requires-Dist: deepagents-acp>=0.0.4
30
- Requires-Dist: docagentsdk>=0.5.0a3
29
+ Requires-Dist: docagent-acp>=0.0.4
30
+ Requires-Dist: docagentsdk>=0.5.0a4
31
31
  Requires-Dist: httpx<1.0.0,>=0.28.1
32
32
  Requires-Dist: langchain-anthropic<2.0.0,>=1.4.0
33
33
  Requires-Dist: langchain-google-genai<5.0.0,>=4.2.1
@@ -1,6 +1,6 @@
1
1
  """Version information and lightweight constants for `docagent-cli`."""
2
2
 
3
- __version__ = "0.0.39" # x-release-please-version
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
 
@@ -2628,7 +2628,7 @@ class DeepAgentsApp(App):
2628
2628
  version as _pkg_version,
2629
2629
  )
2630
2630
 
2631
- sdk_version = _pkg_version("docagent")
2631
+ sdk_version = _pkg_version("docagentsdk")
2632
2632
  sdk_line = f"docagent (SDK) version: {sdk_version}"
2633
2633
  except PackageNotFoundError:
2634
2634
  logger.debug("docagent SDK package not found in environment")
@@ -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() != "---":