python-hwpx-automation 7.0.1__tar.gz → 7.0.2__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 (227) hide show
  1. {python_hwpx_automation-7.0.1/src/python_hwpx_automation.egg-info → python_hwpx_automation-7.0.2}/PKG-INFO +4 -3
  2. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/README.md +3 -2
  3. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/pyproject.toml +1 -1
  4. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/errors.py +3 -0
  5. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/identity.json +7 -7
  6. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/tables.py +2 -5
  7. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/runtime.py +6 -1
  8. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workspace.py +13 -0
  9. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2/src/python_hwpx_automation.egg-info}/PKG-INFO +4 -3
  10. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/LICENSE +0 -0
  11. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/MANIFEST.in +0 -0
  12. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/NOTICE +0 -0
  13. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/setup.cfg +0 -0
  14. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/__init__.py +0 -0
  15. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/__init__.pyi +0 -0
  16. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/__main__.py +0 -0
  17. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/agent_document.py +0 -0
  18. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/api.py +0 -0
  19. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/blind_eval.py +0 -0
  20. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/capabilities.py +0 -0
  21. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/compat.py +0 -0
  22. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/configuration.py +0 -0
  23. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/__init__.py +0 -0
  24. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/content.py +0 -0
  25. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/context.py +0 -0
  26. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/diff.py +0 -0
  27. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/document.py +0 -0
  28. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/formatting.py +0 -0
  29. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/handles.py +0 -0
  30. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/locations.py +0 -0
  31. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/locator.py +0 -0
  32. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/plan.py +0 -0
  33. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/resources.py +0 -0
  34. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/search.py +0 -0
  35. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/transactions.py +0 -0
  36. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/core/txn.py +0 -0
  37. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/document_state.py +0 -0
  38. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/execution_lock.py +0 -0
  39. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/fastmcp_adapter.py +0 -0
  40. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/form_fill.py +0 -0
  41. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/form_output_models.py +0 -0
  42. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/__init__.py +0 -0
  43. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/_shared.py +0 -0
  44. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/agent_document.py +0 -0
  45. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/authoring.py +0 -0
  46. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/content_edit.py +0 -0
  47. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/form_fill.py +0 -0
  48. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/layout_style.py +0 -0
  49. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/quality_render.py +0 -0
  50. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/read_export.py +0 -0
  51. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/specialized.py +0 -0
  52. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/tracked_changes.py +0 -0
  53. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/handlers/workflow.py +0 -0
  54. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/hwp_converter.py +0 -0
  55. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/hwp_support.py +0 -0
  56. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/hwpx_ops.py +0 -0
  57. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/identity.py +0 -0
  58. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ingest_adapters.py +0 -0
  59. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/markdown_plan.py +0 -0
  60. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/mcp_cli.py +0 -0
  61. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/metadata/tools_meta.py +0 -0
  62. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/mixed_form.py +0 -0
  63. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/mutation_models.py +0 -0
  64. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/network_policy.py +0 -0
  65. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/__init__.py +0 -0
  66. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/__init__.py +0 -0
  67. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/_batch_verification.py +0 -0
  68. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/__init__.py +0 -0
  69. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/bundle.py +0 -0
  70. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/catalog.py +0 -0
  71. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/dump.py +0 -0
  72. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/mapping.py +0 -0
  73. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/model.py +0 -0
  74. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/native.py +0 -0
  75. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/blueprint/replay.py +0 -0
  76. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/catalog.py +0 -0
  77. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/cli.py +0 -0
  78. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/commands.py +0 -0
  79. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/document.py +0 -0
  80. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/form_plan.py +0 -0
  81. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/model.py +0 -0
  82. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/path.py +0 -0
  83. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/query.py +0 -0
  84. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/agent/story.py +0 -0
  85. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/__init__.py +0 -0
  86. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/advanced_generators.py +0 -0
  87. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/builder/__init__.py +0 -0
  88. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/builder/core.py +0 -0
  89. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/builder/report.py +0 -0
  90. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/__init__.py +0 -0
  91. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/_support.py +0 -0
  92. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/composer.py +0 -0
  93. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/harvest.py +0 -0
  94. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/plan.py +0 -0
  95. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profile.py +0 -0
  96. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/body.xml +0 -0
  97. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/heading.xml +0 -0
  98. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/info_table.xml +0 -0
  99. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/title.xml +0 -0
  100. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/profile.json +0 -0
  101. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/template.hwpx +0 -0
  102. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/body.xml +0 -0
  103. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/heading.xml +0 -0
  104. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/title.xml +0 -0
  105. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/profile.json +0 -0
  106. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/template.hwpx +0 -0
  107. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/body.xml +0 -0
  108. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/heading.xml +0 -0
  109. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/info_table.xml +0 -0
  110. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/title.xml +0 -0
  111. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/profile.json +0 -0
  112. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/template.hwpx +0 -0
  113. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/body.xml +0 -0
  114. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/heading.xml +0 -0
  115. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/info_table.xml +0 -0
  116. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/title.xml +0 -0
  117. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/report/profile.json +0 -0
  118. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/profiles/report/template.hwpx +0 -0
  119. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/design/validator.py +0 -0
  120. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/presets/__init__.py +0 -0
  121. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/presets/proposal.py +0 -0
  122. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/report_parser.py +0 -0
  123. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/style_profile.py +0 -0
  124. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/authoring/template_analyzer.py +0 -0
  125. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/charting/__init__.py +0 -0
  126. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/compliance/__init__.py +0 -0
  127. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/compliance/official_lint.py +0 -0
  128. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/compliance/pii.py +0 -0
  129. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/document_ops/__init__.py +0 -0
  130. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/document_ops/comparison.py +0 -0
  131. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/document_ops/mail_merge.py +0 -0
  132. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/document_ops/redline.py +0 -0
  133. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/evalplan/__init__.py +0 -0
  134. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/evalplan/runtime.py +0 -0
  135. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/exam/__init__.py +0 -0
  136. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/exam/compose.py +0 -0
  137. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/exam/ir.py +0 -0
  138. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/exam/measure.py +0 -0
  139. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/exam/parser.py +0 -0
  140. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/exam/profile.py +0 -0
  141. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/__init__.py +0 -0
  142. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/classification.py +0 -0
  143. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fill_residue.py +0 -0
  144. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/__init__.py +0 -0
  145. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/apply.py +0 -0
  146. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/engine.py +0 -0
  147. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/measure.py +0 -0
  148. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/policy.py +0 -0
  149. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/report.py +0 -0
  150. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/seal.py +0 -0
  151. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/fit/wordbox.py +0 -0
  152. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/guidance.py +0 -0
  153. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/quality.py +0 -0
  154. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/split_run.py +0 -0
  155. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/form_fill/template_formfit.py +0 -0
  156. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/house_style/__init__.py +0 -0
  157. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/house_style/composition.py +0 -0
  158. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/house_style/data/bank.json +0 -0
  159. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/house_style/data/genres.json +0 -0
  160. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/house_style/gianmun.py +0 -0
  161. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/house_style/org_chart.py +0 -0
  162. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/quality/__init__.py +0 -0
  163. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/quality/page_guard.py +0 -0
  164. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/__init__.py +0 -0
  165. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/_hancom_open_rate.ps1 +0 -0
  166. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/_refresh_hwpx_mac.applescript +0 -0
  167. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/_render_hwpx.ps1 +0 -0
  168. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/_render_hwpx_mac.applescript +0 -0
  169. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/block_splits.py +0 -0
  170. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/detectors.py +0 -0
  171. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/diff.py +0 -0
  172. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/fixture_corpus.py +0 -0
  173. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/oracle.py +0 -0
  174. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/page_qa.py +0 -0
  175. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/qa_contracts.py +0 -0
  176. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/qa_metrics.py +0 -0
  177. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/rendering/worker.py +0 -0
  178. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/utilities/__init__.py +0 -0
  179. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/office/utilities/table_compute.py +0 -0
  180. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/__init__.py +0 -0
  181. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/_border_fill.py +0 -0
  182. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/composition.py +0 -0
  183. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/content_layout.py +0 -0
  184. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/context.py +0 -0
  185. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/form_fields.py +0 -0
  186. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/media.py +0 -0
  187. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/memo_style.py +0 -0
  188. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/package_validation.py +0 -0
  189. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/planning.py +0 -0
  190. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/preview_export.py +0 -0
  191. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/read_query.py +0 -0
  192. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/save_policy.py +0 -0
  193. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/ops_services/transactions.py +0 -0
  194. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/preview_output_models.py +0 -0
  195. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/public-modules.json +0 -0
  196. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/py.typed +0 -0
  197. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/quality.py +0 -0
  198. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/quality_generation.py +0 -0
  199. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/resources.py +0 -0
  200. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/runtime_services.py +0 -0
  201. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/server.py +0 -0
  202. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/storage.py +0 -0
  203. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/tool_bindings.py +0 -0
  204. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/tool_contract.py +0 -0
  205. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/upstream.py +0 -0
  206. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/utils/__init__.py +0 -0
  207. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/utils/helpers.py +0 -0
  208. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/visual_qa.py +0 -0
  209. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/__init__.py +0 -0
  210. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/adapters.py +0 -0
  211. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/dispatcher.py +0 -0
  212. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/models.py +0 -0
  213. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/policy.py +0 -0
  214. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/render_contracts.py +0 -0
  215. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/render_metrics.py +0 -0
  216. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/render_queue.py +0 -0
  217. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/render_security.py +0 -0
  218. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/render_transport.py +0 -0
  219. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/rendering.py +0 -0
  220. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/service.py +0 -0
  221. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/state_machine.py +0 -0
  222. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/hwpx_automation/workflow/store.py +0 -0
  223. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/python_hwpx_automation.egg-info/SOURCES.txt +0 -0
  224. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/python_hwpx_automation.egg-info/dependency_links.txt +0 -0
  225. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/python_hwpx_automation.egg-info/entry_points.txt +0 -0
  226. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/python_hwpx_automation.egg-info/requires.txt +0 -0
  227. {python_hwpx_automation-7.0.1 → python_hwpx_automation-7.0.2}/src/python_hwpx_automation.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-hwpx-automation
3
- Version: 7.0.1
3
+ Version: 7.0.2
4
4
  Summary: Task-oriented HWPX document automation for Python, with an optional MCP adapter.
5
5
  Author: Kohkyuhyun
6
6
  License-Expression: Apache-2.0
@@ -74,8 +74,9 @@ Dynamic: license-file
74
74
 
75
75
  <!-- release-state: release-approved -->
76
76
  > [!NOTE]
77
- > 공개 트레인: `python-hwpx 5.7.0 → python-hwpx-automation 6.7.1 →
78
- > hwpx-plugin 1.7.0`. 트리는 release-approved 후보이며, 원격
77
+ > 공개 트레인: `python-hwpx 6.1.0 → python-hwpx-automation 7.0.1 →
78
+ > hwpx-plugin 2.0.0`. automation 7.0.2 패치(Windows 저장 수리 #98,
79
+ > 업로드 경로 안내 #75)가 release-approved 상태이며, 원격
79
80
  > 진실(core·automation PyPI와 plugin GitHub
80
81
  > Release·marketplace·실제 marketplace 설치) 관찰 전까지 공개 좌표를
81
82
  > 승격하지 않습니다 — [릴리스 runbook](docs/release-runbook.md)
@@ -14,8 +14,9 @@
14
14
 
15
15
  <!-- release-state: release-approved -->
16
16
  > [!NOTE]
17
- > 공개 트레인: `python-hwpx 5.7.0 → python-hwpx-automation 6.7.1 →
18
- > hwpx-plugin 1.7.0`. 트리는 release-approved 후보이며, 원격
17
+ > 공개 트레인: `python-hwpx 6.1.0 → python-hwpx-automation 7.0.1 →
18
+ > hwpx-plugin 2.0.0`. automation 7.0.2 패치(Windows 저장 수리 #98,
19
+ > 업로드 경로 안내 #75)가 release-approved 상태이며, 원격
19
20
  > 진실(core·automation PyPI와 plugin GitHub
20
21
  > Release·marketplace·실제 marketplace 설치) 관찰 전까지 공개 좌표를
21
22
  > 승격하지 않습니다 — [릴리스 runbook](docs/release-runbook.md)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "python-hwpx-automation"
7
- version = "7.0.1"
7
+ version = "7.0.2"
8
8
  description = "Task-oriented HWPX document automation for Python, with an optional MCP adapter."
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Kohkyuhyun" }]
@@ -36,6 +36,7 @@ class CommonErrorModel(BaseModel):
36
36
 
37
37
 
38
38
  ERROR_CODE_TO_MCP_CODE: dict[str, int] = {
39
+ "CLIENT_UPLOAD_PATH_UNAVAILABLE": -32602,
39
40
  "DOCUMENT_NOT_FOUND": -32044,
40
41
  "PERMISSION_DENIED": -32043,
41
42
  "TABLE_INDEX_OUT_OF_RANGE": -32042,
@@ -57,6 +58,7 @@ DEFAULT_ERROR_SUGGESTIONS: dict[str, str] = {
57
58
  "AMBIGUOUS_TARGET": "검색 조건을 더 구체화하거나 limit=1로 미리보기를 다시 생성하세요.",
58
59
  "BYTE_PATCH_OPEN_SAFETY_FAILED": "반환된 openSafety 진단을 확인하고 일반 저장/복구 경로로 다시 생성하세요.",
59
60
  "CAPABILITY_SKEW": "core/automation/plugin ToolSpec 계약 불일치로 쓰기가 차단되었습니다. mcp_server_health의 최소 버전과 contract hash에 맞춰 다시 설치한 뒤 호스트를 재시작하세요.",
61
+ "CLIENT_UPLOAD_PATH_UNAVAILABLE": "대화에 업로드된 파일의 내부 경로는 로컬 MCP 서버에서 읽을 수 없습니다. 파일을 PC에 저장한 뒤 실제 로컬 경로를 전달하세요.",
60
62
  "FIELD_OVERFLOW": "값이 칸에 넘칩니다. fitPolicy(mode=wrap_then_shrink/shrink/truncate_with_report) 또는 overflow=warn으로 다시 채우거나 값을 줄이세요. details.visualComplete.suggestedRetry 참고.",
61
63
  "STALE_LINESEG_DETECTED": "오래된 lineseg 레이아웃 캐시가 남았습니다. 해당 문단을 다시 편집해 캐시를 무효화한 뒤 저장하세요.",
62
64
  "VISUAL_COMPLETE_FAILED": "한컴 렌더에서 겹침/넘침 등 시각 결함이 감지되었습니다. details.visualComplete를 확인하고 수정 후 다시 저장하세요.",
@@ -120,6 +122,7 @@ def category_for_error(error_code: str) -> ErrorCategory:
120
122
  if error_code.startswith("NETWORK_"):
121
123
  return "network"
122
124
  if error_code in {
125
+ "CLIENT_UPLOAD_PATH_UNAVAILABLE",
123
126
  "INVALID_ARGUMENT",
124
127
  "WORKSPACE_PATH_INVALID",
125
128
  "DOCUMENT_LOCATOR_REQUIRED",
@@ -5,20 +5,20 @@
5
5
  "releaseState": {
6
6
  "status": "release-approved",
7
7
  "candidate": {
8
- "pythonHwpx": "6.0.2",
8
+ "pythonHwpx": "6.1.0",
9
9
  "canonicalDistribution": "python-hwpx-automation",
10
- "canonicalAutomation": "7.0.1",
10
+ "canonicalAutomation": "7.0.2",
11
11
  "compatibilityDistribution": "hwpx-mcp-server",
12
- "compatibility": "7.0.1",
12
+ "compatibility": "7.0.2",
13
13
  "plugin": "2.0.0",
14
14
  "contractHash": "34a91560759dc47a"
15
15
  },
16
16
  "currentPublic": {
17
- "pythonHwpx": "5.7.0",
17
+ "pythonHwpx": "6.1.0",
18
18
  "primaryDistribution": "python-hwpx-automation",
19
- "primaryApplication": "6.7.1",
20
- "plugin": "1.7.0",
21
- "contractHash": "98510af22d13899c"
19
+ "primaryApplication": "7.0.1",
20
+ "plugin": "2.0.0",
21
+ "contractHash": "34a91560759dc47a"
22
22
  },
23
23
  "promotionGate": "Three states are mandatory: unreleased-candidate while auditing; release-approved only after separate owner approval and while currentPublic still names the previously observed coherent stack; released only in a follow-up commit after remote truth is observed for core, canonical automation, the compatibility distribution, the plugin GitHub release, the marketplace entry, and a real marketplace install. The automation tag workflow publishes only release-approved, leaves currentPublic unchanged, and hands an attached receipt to plugin publication."
24
24
  },
@@ -211,11 +211,8 @@ class TableService:
211
211
  new_id = header._allocate_border_fill_id(border_fills_element)
212
212
  _build_border_fill_element(border_fills_element, new_id, spec)
213
213
 
214
- if hasattr(header, "_update_border_fills_item_count"):
215
- header._update_border_fills_item_count(border_fills_element)
216
- else:
217
- count = len(border_fills_element.findall(f"{HH_NS}borderFill"))
218
- border_fills_element.set("itemCnt", str(count))
214
+ count = len(border_fills_element.findall(f"{HH_NS}borderFill"))
215
+ border_fills_element.set("itemCnt", str(count))
219
216
  header.mark_dirty()
220
217
  return new_id
221
218
 
@@ -89,9 +89,14 @@ def _classified_error_payload(exc: BaseException | None) -> dict[str, Any]:
89
89
  message="문서 에이전트 계약을 안전하게 해석할 수 없습니다.",
90
90
  )
91
91
  if isinstance(item, WorkspacePathError):
92
+ message = (
93
+ "대화에 업로드된 파일의 내부 경로는 로컬 MCP 서버에서 접근할 수 없습니다."
94
+ if item.code == "CLIENT_UPLOAD_PATH_UNAVAILABLE"
95
+ else "요청한 경로가 허용된 HWPX 작업공간 경계를 벗어났습니다."
96
+ )
92
97
  return build_error_payload(
93
98
  code=item.code,
94
- message="요청한 경로가 허용된 HWPX 작업공간 경계를 벗어났습니다.",
99
+ message=message,
95
100
  details=item.safe_details(),
96
101
  )
97
102
  if isinstance(item, WorkspaceConfigurationError):
@@ -107,6 +107,9 @@ def _snapshot_target(
107
107
  os.O_RDONLY
108
108
  | getattr(os, "O_NOFOLLOW", 0)
109
109
  | getattr(os, "O_NONBLOCK", 0)
110
+ # Windows os.open defaults to CRT text mode, which rewrites CRLF and
111
+ # stops reading at 0x1A; digests must hash the exact on-disk bytes.
112
+ | getattr(os, "O_BINARY", 0)
110
113
  )
111
114
  try:
112
115
  descriptor = os.open(path, flags)
@@ -226,6 +229,7 @@ def _relative_file_snapshot(
226
229
  os.O_RDONLY
227
230
  | getattr(os, "O_NOFOLLOW", 0)
228
231
  | getattr(os, "O_NONBLOCK", 0)
232
+ | getattr(os, "O_BINARY", 0)
229
233
  )
230
234
  descriptor = os.open(name, flags, dir_fd=parent_fd)
231
235
  try:
@@ -459,6 +463,15 @@ class WorkspaceResolver:
459
463
  code="WORKSPACE_PATH_INVALID",
460
464
  reason="empty_or_invalid_path",
461
465
  )
466
+ portable_path = text.replace("\\", "/").casefold().rstrip("/")
467
+ if portable_path == "/mnt/user-data" or portable_path.startswith(
468
+ "/mnt/user-data/"
469
+ ):
470
+ raise WorkspacePathError(
471
+ "client-uploaded files are not accessible to the local MCP server",
472
+ code="CLIENT_UPLOAD_PATH_UNAVAILABLE",
473
+ reason="client_upload_path",
474
+ )
462
475
  candidate = Path(text).expanduser()
463
476
  return candidate if candidate.is_absolute() else self.primary_root / candidate
464
477
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-hwpx-automation
3
- Version: 7.0.1
3
+ Version: 7.0.2
4
4
  Summary: Task-oriented HWPX document automation for Python, with an optional MCP adapter.
5
5
  Author: Kohkyuhyun
6
6
  License-Expression: Apache-2.0
@@ -74,8 +74,9 @@ Dynamic: license-file
74
74
 
75
75
  <!-- release-state: release-approved -->
76
76
  > [!NOTE]
77
- > 공개 트레인: `python-hwpx 5.7.0 → python-hwpx-automation 6.7.1 →
78
- > hwpx-plugin 1.7.0`. 트리는 release-approved 후보이며, 원격
77
+ > 공개 트레인: `python-hwpx 6.1.0 → python-hwpx-automation 7.0.1 →
78
+ > hwpx-plugin 2.0.0`. automation 7.0.2 패치(Windows 저장 수리 #98,
79
+ > 업로드 경로 안내 #75)가 release-approved 상태이며, 원격
79
80
  > 진실(core·automation PyPI와 plugin GitHub
80
81
  > Release·marketplace·실제 marketplace 설치) 관찰 전까지 공개 좌표를
81
82
  > 승격하지 않습니다 — [릴리스 runbook](docs/release-runbook.md)