docagent-cli 0.0.40__tar.gz → 0.0.42__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 (433) hide show
  1. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/CHANGELOG.md +12 -0
  2. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/PKG-INFO +1 -1
  3. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_version.py +1 -1
  4. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/agent.py +3 -3
  5. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/accept_changes.py +2 -2
  6. {docagent_cli-0.0.40/docagent_cli/built_in_skills/pptx → docagent_cli-0.0.42/docagent_cli/built_in_skills/docx}/scripts/office/soffice.py +1 -1
  7. docagent_cli-0.0.42/docagent_cli/built_in_skills/long-doc-writing/SKILL.md +137 -0
  8. {docagent_cli-0.0.40/docagent_cli/built_in_skills/docx → docagent_cli-0.0.42/docagent_cli/built_in_skills/pptx}/scripts/office/soffice.py +1 -1
  9. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/eval-viewer/generate_review.py +95 -27
  10. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/generate_report.py +2 -2
  11. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/improve_description.py +64 -30
  12. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/quick_validate.py +1 -1
  13. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/run_eval.py +2 -2
  14. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/run_loop.py +6 -6
  15. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/utils.py +1 -1
  16. docagent_cli-0.0.42/docagent_cli/built_in_skills/typst/SKILL.md +242 -0
  17. docagent_cli-0.0.42/docagent_cli/built_in_skills/typst/references/math.md +206 -0
  18. docagent_cli-0.0.42/docagent_cli/built_in_skills/typst/references/scripting.md +255 -0
  19. docagent_cli-0.0.42/docagent_cli/built_in_skills/typst/references/styling.md +231 -0
  20. docagent_cli-0.0.42/docagent_cli/built_in_skills/typst/references/syntax.md +125 -0
  21. docagent_cli-0.0.42/docagent_cli/built_in_skills/typst/references/templates.md +254 -0
  22. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/soffice.py +1 -1
  23. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/recalc.py +2 -2
  24. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/config.py +1 -1
  25. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/hooks.py +1 -1
  26. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/server.py +2 -2
  27. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/server_manager.py +2 -2
  28. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/skills/commands.py +1 -1
  29. docagent_cli-0.0.42/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
  30. docagent_cli-0.0.42/docs//346/212/200/346/234/257/346/226/271/346/241/210/346/250/241/346/235/277.docx +0 -0
  31. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/skill-creator/scripts/init_skill.py +4 -4
  32. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/skill-creator/scripts/quick_validate.py +1 -1
  33. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/pyproject.toml +6 -1
  34. docagent_cli-0.0.42/technical_proposal/charts/01_rag_architecture.png +0 -0
  35. docagent_cli-0.0.42/technical_proposal/charts/02_platform_modules.png +0 -0
  36. docagent_cli-0.0.42/technical_proposal/charts/03_knowledge_flow.png +0 -0
  37. docagent_cli-0.0.42/technical_proposal/charts/04_ai_app_dev_flow.png +0 -0
  38. docagent_cli-0.0.42/technical_proposal/charts/05_model_evolution_cycle.png +0 -0
  39. docagent_cli-0.0.42/technical_proposal/charts/06_user_persona_system.png +0 -0
  40. docagent_cli-0.0.42/technical_proposal/charts/07_system_integration.png +0 -0
  41. docagent_cli-0.0.42/technical_proposal/charts/08_technical_architecture.png +0 -0
  42. docagent_cli-0.0.42/technical_proposal/charts/09_implementation_gantt.png +0 -0
  43. docagent_cli-0.0.42/technical_proposal/charts/10_monitoring_architecture.png +0 -0
  44. docagent_cli-0.0.42/technical_proposal/charts/11_retrieval_metrics.png +0 -0
  45. docagent_cli-0.0.42/technical_proposal/charts/12_answer_style_selection.png +0 -0
  46. docagent_cli-0.0.42/technical_proposal/charts/__init__.py +5 -0
  47. docagent_cli-0.0.42/technical_proposal/charts/charts.py +806 -0
  48. docagent_cli-0.0.42/technical_proposal/generate_doc.py +625 -0
  49. docagent_cli-0.0.42/technical_proposal/sections/__init__.py +14 -0
  50. docagent_cli-0.0.42/technical_proposal/sections/s02.py +84 -0
  51. docagent_cli-0.0.42/technical_proposal/sections/s03.py +84 -0
  52. docagent_cli-0.0.42/technical_proposal/sections/s04.py +57 -0
  53. docagent_cli-0.0.42/technical_proposal/sections/s05.py +57 -0
  54. docagent_cli-0.0.42/technical_proposal/sections/s06.py +38 -0
  55. docagent_cli-0.0.42/technical_proposal/sections/section_01.py +197 -0
  56. docagent_cli-0.0.42/technical_proposal/sections/section_02.py +84 -0
  57. docagent_cli-0.0.42/technical_proposal/sections/section_03.py +84 -0
  58. docagent_cli-0.0.42/technical_proposal/sections/section_04.py +57 -0
  59. docagent_cli-0.0.42/technical_proposal/sections/section_05.py +57 -0
  60. docagent_cli-0.0.42/technical_proposal/sections/section_06.py +38 -0
  61. docagent_cli-0.0.42/technical_proposal/utils/__init__.py +1 -0
  62. docagent_cli-0.0.42/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
  63. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/uv.lock +445 -1
  64. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/.gitignore +0 -0
  65. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/DEV.md +0 -0
  66. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/Makefile +0 -0
  67. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/README.md +0 -0
  68. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/THREAT_MODEL.md +0 -0
  69. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/__init__.py +0 -0
  70. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/__main__.py +0 -0
  71. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_ask_user_types.py +0 -0
  72. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_cli_context.py +0 -0
  73. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_debug.py +0 -0
  74. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_env_vars.py +0 -0
  75. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_server_config.py +0 -0
  76. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_session_stats.py +0 -0
  77. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/_testing_models.py +0 -0
  78. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/app.py +0 -0
  79. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/app.tcss +0 -0
  80. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/ask_user.py +0 -0
  81. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/__init__.py +0 -0
  82. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/doc-coauthoring/SKILL.md +0 -0
  83. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/LICENSE.txt +0 -0
  84. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/SKILL.md +0 -0
  85. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/__init__.py +0 -0
  86. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/comment.py +0 -0
  87. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/helpers/__init__.py +0 -0
  88. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/helpers/merge_runs.py +0 -0
  89. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/helpers/simplify_redlines.py +0 -0
  90. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/pack.py +0 -0
  91. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  92. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  93. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  94. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  95. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  96. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  97. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  98. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  99. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  100. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  101. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  102. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  103. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  104. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  105. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  106. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  107. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  108. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  109. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  110. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  111. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  112. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  113. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  114. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  115. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  116. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  117. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  118. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  119. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  120. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  121. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  122. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/mce/mc.xsd +0 -0
  123. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  124. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  125. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  126. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  127. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  128. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  129. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  130. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/unpack.py +0 -0
  131. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/validate.py +0 -0
  132. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/validators/__init__.py +0 -0
  133. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/validators/base.py +0 -0
  134. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/validators/docx.py +0 -0
  135. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/validators/pptx.py +0 -0
  136. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/office/validators/redlining.py +0 -0
  137. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/templates/comments.xml +0 -0
  138. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/templates/commentsExtended.xml +0 -0
  139. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/templates/commentsExtensible.xml +0 -0
  140. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/templates/commentsIds.xml +0 -0
  141. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/docx/scripts/templates/people.xml +0 -0
  142. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/LICENSE.txt +0 -0
  143. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/SKILL.md +0 -0
  144. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/forms.md +0 -0
  145. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/reference.md +0 -0
  146. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/check_bounding_boxes.py +0 -0
  147. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/check_fillable_fields.py +0 -0
  148. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/convert_pdf_to_images.py +0 -0
  149. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/create_validation_image.py +0 -0
  150. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/extract_form_field_info.py +0 -0
  151. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/extract_form_structure.py +0 -0
  152. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/fill_fillable_fields.py +0 -0
  153. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  154. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/LICENSE.txt +0 -0
  155. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/SKILL.md +0 -0
  156. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/editing.md +0 -0
  157. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/pptxgenjs.md +0 -0
  158. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/__init__.py +0 -0
  159. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/add_slide.py +0 -0
  160. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/clean.py +0 -0
  161. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/__init__.py +0 -0
  162. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/merge_runs.py +0 -0
  163. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/helpers/simplify_redlines.py +0 -0
  164. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/pack.py +0 -0
  165. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  166. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  167. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  168. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  169. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  170. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  171. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  172. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  173. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  174. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  175. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  176. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  177. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  178. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  179. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  180. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  181. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  182. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  183. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  184. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  185. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  186. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  187. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  188. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  189. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  190. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  191. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  192. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  193. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  194. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  195. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  196. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/mce/mc.xsd +0 -0
  197. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  198. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  199. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  200. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  201. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  202. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  203. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  204. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/unpack.py +0 -0
  205. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/validate.py +0 -0
  206. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/validators/__init__.py +0 -0
  207. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/validators/base.py +0 -0
  208. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/validators/docx.py +0 -0
  209. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/validators/pptx.py +0 -0
  210. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/office/validators/redlining.py +0 -0
  211. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/pptx/scripts/thumbnail.py +0 -0
  212. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/remember/SKILL.md +0 -0
  213. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/LICENSE.txt +0 -0
  214. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/SKILL.md +0 -0
  215. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/agents/analyzer.md +0 -0
  216. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/agents/comparator.md +0 -0
  217. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/agents/grader.md +0 -0
  218. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/assets/eval_review.html +0 -0
  219. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/eval-viewer/viewer.html +0 -0
  220. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/references/schemas.md +0 -0
  221. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/__init__.py +0 -0
  222. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/aggregate_benchmark.py +0 -0
  223. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/skill-creator/scripts/package_skill.py +0 -0
  224. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/LICENSE.txt +0 -0
  225. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/SKILL.md +0 -0
  226. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/theme-showcase.pdf +0 -0
  227. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/arctic-frost.md +0 -0
  228. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/botanical-garden.md +0 -0
  229. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/desert-rose.md +0 -0
  230. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/forest-canopy.md +0 -0
  231. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/golden-hour.md +0 -0
  232. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/midnight-galaxy.md +0 -0
  233. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/modern-minimalist.md +0 -0
  234. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/ocean-depths.md +0 -0
  235. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/sunset-boulevard.md +0 -0
  236. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/theme-factory/themes/tech-innovation.md +0 -0
  237. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/LICENSE.txt +0 -0
  238. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/SKILL.md +0 -0
  239. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/__init__.py +0 -0
  240. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/merge_runs.py +0 -0
  241. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/helpers/simplify_redlines.py +0 -0
  242. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/pack.py +0 -0
  243. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -0
  244. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -0
  245. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -0
  246. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -0
  247. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -0
  248. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -0
  249. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -0
  250. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -0
  251. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -0
  252. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -0
  253. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -0
  254. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -0
  255. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -0
  256. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -0
  257. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -0
  258. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -0
  259. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -0
  260. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -0
  261. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -0
  262. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -0
  263. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -0
  264. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -0
  265. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -0
  266. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -0
  267. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -0
  268. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -0
  269. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -0
  270. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -0
  271. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -0
  272. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -0
  273. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -0
  274. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/mce/mc.xsd +0 -0
  275. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +0 -0
  276. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +0 -0
  277. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +0 -0
  278. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +0 -0
  279. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +0 -0
  280. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -0
  281. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +0 -0
  282. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/unpack.py +0 -0
  283. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/validate.py +0 -0
  284. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/__init__.py +0 -0
  285. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/base.py +0 -0
  286. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/docx.py +0 -0
  287. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/pptx.py +0 -0
  288. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/built_in_skills/xlsx/scripts/office/validators/redlining.py +0 -0
  289. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/clipboard.py +0 -0
  290. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/command_registry.py +0 -0
  291. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/configurable_model.py +0 -0
  292. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/default_agent_prompt.md +0 -0
  293. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/editor.py +0 -0
  294. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/file_ops.py +0 -0
  295. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/formatting.py +0 -0
  296. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/input.py +0 -0
  297. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/integrations/__init__.py +0 -0
  298. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/integrations/sandbox_factory.py +0 -0
  299. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/integrations/sandbox_provider.py +0 -0
  300. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/local_context.py +0 -0
  301. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/main.py +0 -0
  302. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/mcp_tools.py +0 -0
  303. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/mcp_trust.py +0 -0
  304. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/media_utils.py +0 -0
  305. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/model_config.py +0 -0
  306. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/non_interactive.py +0 -0
  307. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/offload.py +0 -0
  308. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/output.py +0 -0
  309. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/project_utils.py +0 -0
  310. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/py.typed +0 -0
  311. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/remote_client.py +0 -0
  312. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/server_graph.py +0 -0
  313. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/sessions.py +0 -0
  314. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/skills/__init__.py +0 -0
  315. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/skills/load.py +0 -0
  316. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/subagents.py +0 -0
  317. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/system_prompt.md +0 -0
  318. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/textual_adapter.py +0 -0
  319. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/theme.py +0 -0
  320. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/token_state.py +0 -0
  321. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/tool_display.py +0 -0
  322. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/tools.py +0 -0
  323. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/ui.py +0 -0
  324. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/unicode_security.py +0 -0
  325. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/update_check.py +0 -0
  326. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/__init__.py +0 -0
  327. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/_links.py +0 -0
  328. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/approval.py +0 -0
  329. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/ask_user.py +0 -0
  330. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/autocomplete.py +0 -0
  331. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/chat_input.py +0 -0
  332. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/diff.py +0 -0
  333. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/history.py +0 -0
  334. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/loading.py +0 -0
  335. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/mcp_viewer.py +0 -0
  336. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/message_store.py +0 -0
  337. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/messages.py +0 -0
  338. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/model_selector.py +0 -0
  339. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/status.py +0 -0
  340. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/theme_selector.py +0 -0
  341. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/thread_selector.py +0 -0
  342. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/tool_renderers.py +0 -0
  343. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/tool_widgets.py +0 -0
  344. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/docagent_cli/widgets/welcome.py +0 -0
  345. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/arxiv-search/SKILL.md +0 -0
  346. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/arxiv-search/arxiv_search.py +0 -0
  347. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/langgraph-docs/SKILL.md +0 -0
  348. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/skill-creator/SKILL.md +0 -0
  349. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/examples/skills/web-research/SKILL.md +0 -0
  350. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/images/cli.png +0 -0
  351. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/scripts/check_imports.py +0 -0
  352. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/scripts/install.sh +0 -0
  353. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/README.md +0 -0
  354. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/__init__.py +0 -0
  355. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/benchmarks/__init__.py +0 -0
  356. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/benchmarks/test_codspeed_import_benchmarks.py +0 -0
  357. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/benchmarks/test_startup_benchmarks.py +0 -0
  358. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/conftest.py +0 -0
  359. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/test_acp_mode.py +0 -0
  360. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/test_compact_resume.py +0 -0
  361. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/test_sandbox_factory.py +0 -0
  362. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/integration_tests/test_sandbox_operations.py +0 -0
  363. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/__init__.py +0 -0
  364. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/conftest.py +0 -0
  365. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/skills/__init__.py +0 -0
  366. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/skills/test_commands.py +0 -0
  367. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/skills/test_load.py +0 -0
  368. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/skills/test_skills_json.py +0 -0
  369. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_agent.py +0 -0
  370. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_agent_friendly.py +0 -0
  371. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_app.py +0 -0
  372. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_approval.py +0 -0
  373. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_args.py +0 -0
  374. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_ask_user.py +0 -0
  375. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_ask_user_middleware.py +0 -0
  376. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_autocomplete.py +0 -0
  377. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_charset.py +0 -0
  378. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_chat_input.py +0 -0
  379. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_command_registry.py +0 -0
  380. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_compact_tool.py +0 -0
  381. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_config.py +0 -0
  382. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_configurable_model.py +0 -0
  383. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_debug.py +0 -0
  384. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_editor.py +0 -0
  385. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_end_to_end.py +0 -0
  386. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_env_vars.py +0 -0
  387. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_exception_handling.py +0 -0
  388. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_file_ops.py +0 -0
  389. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_history.py +0 -0
  390. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_hooks.py +0 -0
  391. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_imports.py +0 -0
  392. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_input_parsing.py +0 -0
  393. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_links.py +0 -0
  394. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_local_context.py +0 -0
  395. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_main.py +0 -0
  396. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_main_acp_mode.py +0 -0
  397. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_main_args.py +0 -0
  398. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_mcp_tools.py +0 -0
  399. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_mcp_trust.py +0 -0
  400. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_mcp_viewer.py +0 -0
  401. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_media_utils.py +0 -0
  402. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_message_store.py +0 -0
  403. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_messages.py +0 -0
  404. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_model_config.py +0 -0
  405. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_model_selector.py +0 -0
  406. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_model_switch.py +0 -0
  407. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_non_interactive.py +0 -0
  408. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_offload.py +0 -0
  409. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_output.py +0 -0
  410. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_reload.py +0 -0
  411. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_remote_client.py +0 -0
  412. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_sandbox_factory.py +0 -0
  413. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_server.py +0 -0
  414. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_server_config.py +0 -0
  415. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_server_graph.py +0 -0
  416. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_server_helpers.py +0 -0
  417. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_server_manager.py +0 -0
  418. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_sessions.py +0 -0
  419. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_shell_allow_list.py +0 -0
  420. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_skill_invocation.py +0 -0
  421. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_status.py +0 -0
  422. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_subagents.py +0 -0
  423. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_textual_adapter.py +0 -0
  424. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_theme.py +0 -0
  425. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_thread_selector.py +0 -0
  426. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_token_tracker.py +0 -0
  427. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_ui.py +0 -0
  428. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_unicode_security.py +0 -0
  429. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_update_check.py +0 -0
  430. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_version.py +0 -0
  431. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/test_welcome.py +0 -0
  432. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/tools/__init__.py +0 -0
  433. {docagent_cli-0.0.40 → docagent_cli-0.0.42}/tests/unit_tests/tools/test_fetch_url.py +0 -0
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.42](https://github.com/langchain-ai/docagent/compare/docagent-cli==0.0.41...docagent-cli==0.0.42) (2026-04-10)
4
+
5
+ ### Bug Fixes
6
+
7
+ * Fix `JSONEncoder` crash caused by `encoding="utf-8"` being incorrectly injected into `json.dumps()` calls instead of `write_text()` during the 0.0.41 encoding fix
8
+
9
+ ## [0.0.41](https://github.com/langchain-ai/docagent/compare/docagent-cli==0.0.40...docagent-cli==0.0.41) (2026-04-10)
10
+
11
+ ### Bug Fixes
12
+
13
+ * 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))
14
+
3
15
  ## [0.0.34](https://github.com/langchain-ai/docagent/compare/docagent-cli==0.0.33...docagent-cli==0.0.34) (2026-03-17)
4
16
 
5
17
  ### Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docagent-cli
3
- Version: 0.0.40
3
+ Version: 0.0.42
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.40" # x-release-please-version
3
+ __version__ = "0.0.42" # 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,
@@ -24,7 +24,7 @@ import sys
24
24
  import time
25
25
  import webbrowser
26
26
  from functools import partial
27
- from http.server import HTTPServer, BaseHTTPRequestHandler
27
+ from http.server import BaseHTTPRequestHandler, HTTPServer
28
28
  from pathlib import Path
29
29
 
30
30
  # Files to exclude from output listings
@@ -32,9 +32,32 @@ METADATA_FILES = {"transcript.md", "user_notes.md", "metrics.json"}
32
32
 
33
33
  # Extensions we render as inline text
34
34
  TEXT_EXTENSIONS = {
35
- ".txt", ".md", ".json", ".csv", ".py", ".js", ".ts", ".tsx", ".jsx",
36
- ".yaml", ".yml", ".xml", ".html", ".css", ".sh", ".rb", ".go", ".rs",
37
- ".java", ".c", ".cpp", ".h", ".hpp", ".sql", ".r", ".toml",
35
+ ".txt",
36
+ ".md",
37
+ ".json",
38
+ ".csv",
39
+ ".py",
40
+ ".js",
41
+ ".ts",
42
+ ".tsx",
43
+ ".jsx",
44
+ ".yaml",
45
+ ".yml",
46
+ ".xml",
47
+ ".html",
48
+ ".css",
49
+ ".sh",
50
+ ".rb",
51
+ ".go",
52
+ ".rs",
53
+ ".java",
54
+ ".c",
55
+ ".cpp",
56
+ ".h",
57
+ ".hpp",
58
+ ".sql",
59
+ ".r",
60
+ ".toml",
38
61
  }
39
62
 
40
63
  # Extensions we render as inline images
@@ -88,10 +111,13 @@ def build_run(root: Path, run_dir: Path) -> dict | None:
88
111
  eval_id = None
89
112
 
90
113
  # Try eval_metadata.json
91
- for candidate in [run_dir / "eval_metadata.json", run_dir.parent / "eval_metadata.json"]:
114
+ for candidate in [
115
+ run_dir / "eval_metadata.json",
116
+ run_dir.parent / "eval_metadata.json",
117
+ ]:
92
118
  if candidate.exists():
93
119
  try:
94
- metadata = json.loads(candidate.read_text())
120
+ metadata = json.loads(candidate.read_text(encoding="utf-8"))
95
121
  prompt = metadata.get("prompt", "")
96
122
  eval_id = metadata.get("eval_id")
97
123
  except (json.JSONDecodeError, OSError):
@@ -101,10 +127,13 @@ def build_run(root: Path, run_dir: Path) -> dict | None:
101
127
 
102
128
  # Fall back to transcript.md
103
129
  if not prompt:
104
- for candidate in [run_dir / "transcript.md", run_dir / "outputs" / "transcript.md"]:
130
+ for candidate in [
131
+ run_dir / "transcript.md",
132
+ run_dir / "outputs" / "transcript.md",
133
+ ]:
105
134
  if candidate.exists():
106
135
  try:
107
- text = candidate.read_text()
136
+ text = candidate.read_text(encoding="utf-8")
108
137
  match = re.search(r"## Eval Prompt\n\n([\s\S]*?)(?=\n##|$)", text)
109
138
  if match:
110
139
  prompt = match.group(1).strip()
@@ -131,7 +160,7 @@ def build_run(root: Path, run_dir: Path) -> dict | None:
131
160
  for candidate in [run_dir / "grading.json", run_dir.parent / "grading.json"]:
132
161
  if candidate.exists():
133
162
  try:
134
- grading = json.loads(candidate.read_text())
163
+ grading = json.loads(candidate.read_text(encoding="utf-8"))
135
164
  except (json.JSONDecodeError, OSError):
136
165
  pass
137
166
  if grading:
@@ -166,7 +195,11 @@ def embed_file(path: Path) -> dict:
166
195
  raw = path.read_bytes()
167
196
  b64 = base64.b64encode(raw).decode("ascii")
168
197
  except OSError:
169
- return {"name": path.name, "type": "error", "content": "(Error reading file)"}
198
+ return {
199
+ "name": path.name,
200
+ "type": "error",
201
+ "content": "(Error reading file)",
202
+ }
170
203
  return {
171
204
  "name": path.name,
172
205
  "type": "image",
@@ -178,7 +211,11 @@ def embed_file(path: Path) -> dict:
178
211
  raw = path.read_bytes()
179
212
  b64 = base64.b64encode(raw).decode("ascii")
180
213
  except OSError:
181
- return {"name": path.name, "type": "error", "content": "(Error reading file)"}
214
+ return {
215
+ "name": path.name,
216
+ "type": "error",
217
+ "content": "(Error reading file)",
218
+ }
182
219
  return {
183
220
  "name": path.name,
184
221
  "type": "pdf",
@@ -189,7 +226,11 @@ def embed_file(path: Path) -> dict:
189
226
  raw = path.read_bytes()
190
227
  b64 = base64.b64encode(raw).decode("ascii")
191
228
  except OSError:
192
- return {"name": path.name, "type": "error", "content": "(Error reading file)"}
229
+ return {
230
+ "name": path.name,
231
+ "type": "error",
232
+ "content": "(Error reading file)",
233
+ }
193
234
  return {
194
235
  "name": path.name,
195
236
  "type": "xlsx",
@@ -201,7 +242,11 @@ def embed_file(path: Path) -> dict:
201
242
  raw = path.read_bytes()
202
243
  b64 = base64.b64encode(raw).decode("ascii")
203
244
  except OSError:
204
- return {"name": path.name, "type": "error", "content": "(Error reading file)"}
245
+ return {
246
+ "name": path.name,
247
+ "type": "error",
248
+ "content": "(Error reading file)",
249
+ }
205
250
  return {
206
251
  "name": path.name,
207
252
  "type": "binary",
@@ -222,7 +267,7 @@ def load_previous_iteration(workspace: Path) -> dict[str, dict]:
222
267
  feedback_path = workspace / "feedback.json"
223
268
  if feedback_path.exists():
224
269
  try:
225
- data = json.loads(feedback_path.read_text())
270
+ data = json.loads(feedback_path.read_text(encoding="utf-8"))
226
271
  feedback_map = {
227
272
  r["run_id"]: r["feedback"]
228
273
  for r in data.get("reviews", [])
@@ -255,7 +300,7 @@ def generate_html(
255
300
  ) -> str:
256
301
  """Generate the complete standalone HTML page with embedded data."""
257
302
  template_path = Path(__file__).parent / "viewer.html"
258
- template = template_path.read_text()
303
+ template = template_path.read_text(encoding="utf-8")
259
304
 
260
305
  # Build previous_feedback and previous_outputs maps for the template
261
306
  previous_feedback: dict[str, str] = {}
@@ -278,19 +323,24 @@ def generate_html(
278
323
 
279
324
  data_json = json.dumps(embedded)
280
325
 
281
- return template.replace("/*__EMBEDDED_DATA__*/", f"const EMBEDDED_DATA = {data_json};")
326
+ return template.replace(
327
+ "/*__EMBEDDED_DATA__*/", f"const EMBEDDED_DATA = {data_json};"
328
+ )
282
329
 
283
330
 
284
331
  # ---------------------------------------------------------------------------
285
332
  # HTTP server (stdlib only, zero dependencies)
286
333
  # ---------------------------------------------------------------------------
287
334
 
335
+
288
336
  def _kill_port(port: int) -> None:
289
337
  """Kill any process listening on the given port."""
290
338
  try:
291
339
  result = subprocess.run(
292
340
  ["lsof", "-ti", f":{port}"],
293
- capture_output=True, text=True, timeout=5,
341
+ capture_output=True,
342
+ text=True,
343
+ timeout=5,
294
344
  )
295
345
  for pid_str in result.stdout.strip().split("\n"):
296
346
  if pid_str.strip():
@@ -305,6 +355,7 @@ def _kill_port(port: int) -> None:
305
355
  except FileNotFoundError:
306
356
  print("Note: lsof not found, cannot check if port is in use", file=sys.stderr)
307
357
 
358
+
308
359
  class ReviewHandler(BaseHTTPRequestHandler):
309
360
  """Serves the review HTML and handles feedback saves.
310
361
 
@@ -336,7 +387,9 @@ class ReviewHandler(BaseHTTPRequestHandler):
336
387
  benchmark = None
337
388
  if self.benchmark_path and self.benchmark_path.exists():
338
389
  try:
339
- benchmark = json.loads(self.benchmark_path.read_text())
390
+ benchmark = json.loads(
391
+ self.benchmark_path.read_text(encoding="utf-8")
392
+ )
340
393
  except (json.JSONDecodeError, OSError):
341
394
  pass
342
395
  html = generate_html(runs, self.skill_name, self.previous, benchmark)
@@ -366,7 +419,9 @@ class ReviewHandler(BaseHTTPRequestHandler):
366
419
  data = json.loads(body)
367
420
  if not isinstance(data, dict) or "reviews" not in data:
368
421
  raise ValueError("Expected JSON object with 'reviews' key")
369
- self.feedback_path.write_text(json.dumps(data, indent=2) + "\n")
422
+ self.feedback_path.write_text(
423
+ json.dumps(data, indent=2) + "\n", encoding="utf-8"
424
+ )
370
425
  resp = b'{"ok":true}'
371
426
  self.send_response(200)
372
427
  except (json.JSONDecodeError, OSError, ValueError) as e:
@@ -387,18 +442,29 @@ class ReviewHandler(BaseHTTPRequestHandler):
387
442
  def main() -> None:
388
443
  parser = argparse.ArgumentParser(description="Generate and serve eval review")
389
444
  parser.add_argument("workspace", type=Path, help="Path to workspace directory")
390
- parser.add_argument("--port", "-p", type=int, default=3117, help="Server port (default: 3117)")
391
- parser.add_argument("--skill-name", "-n", type=str, default=None, help="Skill name for header")
392
445
  parser.add_argument(
393
- "--previous-workspace", type=Path, default=None,
446
+ "--port", "-p", type=int, default=3117, help="Server port (default: 3117)"
447
+ )
448
+ parser.add_argument(
449
+ "--skill-name", "-n", type=str, default=None, help="Skill name for header"
450
+ )
451
+ parser.add_argument(
452
+ "--previous-workspace",
453
+ type=Path,
454
+ default=None,
394
455
  help="Path to previous iteration's workspace (shows old outputs and feedback as context)",
395
456
  )
396
457
  parser.add_argument(
397
- "--benchmark", type=Path, default=None,
458
+ "--benchmark",
459
+ type=Path,
460
+ default=None,
398
461
  help="Path to benchmark.json to show in the Benchmark tab",
399
462
  )
400
463
  parser.add_argument(
401
- "--static", "-s", type=Path, default=None,
464
+ "--static",
465
+ "-s",
466
+ type=Path,
467
+ default=None,
402
468
  help="Write standalone HTML to this path instead of starting a server",
403
469
  )
404
470
  args = parser.parse_args()
@@ -424,21 +490,23 @@ def main() -> None:
424
490
  benchmark = None
425
491
  if benchmark_path and benchmark_path.exists():
426
492
  try:
427
- benchmark = json.loads(benchmark_path.read_text())
493
+ benchmark = json.loads(benchmark_path.read_text(encoding="utf-8"))
428
494
  except (json.JSONDecodeError, OSError):
429
495
  pass
430
496
 
431
497
  if args.static:
432
498
  html = generate_html(runs, skill_name, previous, benchmark)
433
499
  args.static.parent.mkdir(parents=True, exist_ok=True)
434
- args.static.write_text(html)
500
+ args.static.write_text(html, encoding="utf-8")
435
501
  print(f"\n Static viewer written to: {args.static}\n")
436
502
  sys.exit(0)
437
503
 
438
504
  # Kill any existing process on the target port
439
505
  port = args.port
440
506
  _kill_port(port)
441
- handler = partial(ReviewHandler, workspace, skill_name, feedback_path, previous, benchmark_path)
507
+ handler = partial(
508
+ ReviewHandler, workspace, skill_name, feedback_path, previous, benchmark_path
509
+ )
442
510
  try:
443
511
  server = HTTPServer(("127.0.0.1", port), handler)
444
512
  except OSError:
@@ -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)