python-hwpx-automation 6.3.1__tar.gz → 6.4.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.
- {python_hwpx_automation-6.3.1/src/python_hwpx_automation.egg-info → python_hwpx_automation-6.4.2}/PKG-INFO +7 -6
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/README.md +5 -4
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/pyproject.toml +2 -2
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/content.py +67 -10
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/content_edit.py +24 -8
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/identity.json +9 -9
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/tool_contract.py +4 -4
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2/src/python_hwpx_automation.egg-info}/PKG-INFO +7 -6
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/python_hwpx_automation.egg-info/requires.txt +1 -1
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/LICENSE +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/MANIFEST.in +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/NOTICE +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/setup.cfg +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/__init__.pyi +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/__main__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/agent_document.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/api.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/blind_eval.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/capabilities.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/compat.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/configuration.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/context.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/diff.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/document.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/formatting.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/handles.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/locations.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/locator.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/plan.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/resources.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/search.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/transactions.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/txn.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/document_state.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/errors.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/execution_lock.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/fastmcp_adapter.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/form_fill.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/form_output_models.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/_shared.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/agent_document.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/authoring.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/form_fill.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/layout_style.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/quality_render.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/read_export.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/specialized.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/tracked_changes.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/handlers/workflow.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/hwp_converter.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/hwp_support.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/hwpx_ops.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/identity.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ingest_adapters.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/markdown_plan.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/mcp_cli.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/metadata/tools_meta.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/mixed_form.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/mutation_models.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/network_policy.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/_batch_verification.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/bundle.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/catalog.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/dump.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/mapping.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/model.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/native.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/blueprint/replay.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/catalog.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/cli.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/commands.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/document.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/form_plan.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/model.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/path.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/query.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/agent/story.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/advanced_generators.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/builder/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/builder/core.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/builder/report.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/_support.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/composer.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/harvest.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/plan.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profile.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/body.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/info_table.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/title.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/profile.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/application_form/template.hwpx +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/body.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/title.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/profile.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/home_notice/template.hwpx +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/body.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/info_table.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/title.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/profile.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/official_notice/template.hwpx +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/body.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/info_table.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/title.xml +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/report/profile.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/profiles/report/template.hwpx +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/design/validator.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/presets/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/presets/proposal.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/report_parser.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/style_profile.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/authoring/template_analyzer.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/charting/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/compliance/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/compliance/official_lint.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/compliance/pii.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/document_ops/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/document_ops/comparison.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/document_ops/mail_merge.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/document_ops/redline.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/evalplan/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/evalplan/runtime.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/exam/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/exam/compose.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/exam/ir.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/exam/measure.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/exam/parser.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/exam/profile.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/classification.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fill_residue.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/apply.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/engine.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/measure.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/policy.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/report.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/seal.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/fit/wordbox.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/guidance.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/quality.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/split_run.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/form_fill/template_formfit.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/house_style/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/house_style/composition.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/house_style/data/bank.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/house_style/data/genres.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/quality/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/quality/page_guard.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/_hancom_open_rate.ps1 +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/_refresh_hwpx_mac.applescript +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/_render_hwpx.ps1 +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/_render_hwpx_mac.applescript +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/block_splits.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/detectors.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/diff.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/fixture_corpus.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/oracle.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/page_qa.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/qa_contracts.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/qa_metrics.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/rendering/worker.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/utilities/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/utilities/table_compute.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/_border_fill.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/composition.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/content_layout.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/context.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/form_fields.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/media.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/memo_style.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/package_validation.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/planning.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/preview_export.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/read_query.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/save_policy.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/tables.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ops_services/transactions.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/preview_output_models.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/public-modules.json +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/py.typed +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/quality.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/quality_generation.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/runtime.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/runtime_services.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/server.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/storage.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/tool_bindings.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/upstream.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/utils/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/utils/helpers.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/visual_qa.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/__init__.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/adapters.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/dispatcher.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/models.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/policy.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/render_contracts.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/render_metrics.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/render_queue.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/render_security.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/render_transport.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/rendering.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/service.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/state_machine.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workflow/store.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/workspace.py +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/python_hwpx_automation.egg-info/SOURCES.txt +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/python_hwpx_automation.egg-info/dependency_links.txt +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/python_hwpx_automation.egg-info/entry_points.txt +0 -0
- {python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.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: 6.
|
|
3
|
+
Version: 6.4.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
|
|
@@ -20,7 +20,7 @@ Requires-Python: >=3.10
|
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
License-File: NOTICE
|
|
23
|
-
Requires-Dist: python-hwpx<6,>=5.
|
|
23
|
+
Requires-Dist: python-hwpx<6,>=5.4.0
|
|
24
24
|
Requires-Dist: pydantic<3,>=2.11
|
|
25
25
|
Requires-Dist: cryptography>=42.0
|
|
26
26
|
Requires-Dist: anyio>=4.0
|
|
@@ -74,10 +74,11 @@ Dynamic: license-file
|
|
|
74
74
|
|
|
75
75
|
<!-- release-state: release-approved -->
|
|
76
76
|
> [!NOTE]
|
|
77
|
-
> 이 저장소의 main은 아직 공개되지 않은 6.
|
|
78
|
-
> `
|
|
79
|
-
>
|
|
80
|
-
>
|
|
77
|
+
> 이 저장소의 main은 아직 공개되지 않은 6.4.2 후보 — release-approved 상태(표 테두리·음영
|
|
78
|
+
> `format_table` 확장, 수리된 core 5.4.0 기본값, 계약 `dbdbdfaac26148b7`,
|
|
79
|
+
> 130 도구)입니다. 현재 공개 트레인은
|
|
80
|
+
> `python-hwpx 5.3.0 → python-hwpx-automation 6.3.1 → hwpx-plugin 1.3.0`
|
|
81
|
+
> (계약 `236f8ea855c875fe`, 2026-07-31 released)입니다. 공개 트레인은
|
|
81
82
|
> core·automation PyPI와 plugin GitHub
|
|
82
83
|
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤 승격했으며, 기존
|
|
83
84
|
> 5.x 설치는 별도 발행된 `hwpx-mcp-server 5.1.1`이 보호합니다. 절차와 상태
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
|
|
15
15
|
<!-- release-state: release-approved -->
|
|
16
16
|
> [!NOTE]
|
|
17
|
-
> 이 저장소의 main은 아직 공개되지 않은 6.
|
|
18
|
-
> `
|
|
19
|
-
>
|
|
20
|
-
>
|
|
17
|
+
> 이 저장소의 main은 아직 공개되지 않은 6.4.2 후보 — release-approved 상태(표 테두리·음영
|
|
18
|
+
> `format_table` 확장, 수리된 core 5.4.0 기본값, 계약 `dbdbdfaac26148b7`,
|
|
19
|
+
> 130 도구)입니다. 현재 공개 트레인은
|
|
20
|
+
> `python-hwpx 5.3.0 → python-hwpx-automation 6.3.1 → hwpx-plugin 1.3.0`
|
|
21
|
+
> (계약 `236f8ea855c875fe`, 2026-07-31 released)입니다. 공개 트레인은
|
|
21
22
|
> core·automation PyPI와 plugin GitHub
|
|
22
23
|
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤 승격했으며, 기존
|
|
23
24
|
> 5.x 설치는 별도 발행된 `hwpx-mcp-server 5.1.1`이 보호합니다. 절차와 상태
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "python-hwpx-automation"
|
|
7
|
-
version = "6.
|
|
7
|
+
version = "6.4.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" }]
|
|
@@ -29,7 +29,7 @@ dependencies = [
|
|
|
29
29
|
# the bounded major here is what makes "no valid install has two declarers"
|
|
30
30
|
# true rather than hopeful, and prevents the next core major from silently
|
|
31
31
|
# breaking an already-published automation line.
|
|
32
|
-
"python-hwpx>=5.
|
|
32
|
+
"python-hwpx>=5.4.0,<6", # HWPX object model, OXML/OPC, format-native primitives
|
|
33
33
|
|
|
34
34
|
"pydantic>=2.11,<3",
|
|
35
35
|
"cryptography>=42.0",
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/content.py
RENAMED
|
@@ -418,20 +418,77 @@ def split_cell_in_table(doc: HwpxDocument, table_index: int, row: int, col: int)
|
|
|
418
418
|
return original
|
|
419
419
|
|
|
420
420
|
|
|
421
|
-
def
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
421
|
+
def _apply_table_border_fill(
|
|
422
|
+
doc: HwpxDocument,
|
|
423
|
+
table,
|
|
424
|
+
border_type: str = None,
|
|
425
|
+
border_color: str = None,
|
|
426
|
+
border_width: str = None,
|
|
427
|
+
fill_color: str = None,
|
|
428
|
+
row: int = None,
|
|
429
|
+
col: int = None,
|
|
430
|
+
) -> str:
|
|
431
|
+
"""테두리/음영 borderFill을 만들어 표 전체 또는 한 셀에 적용한다."""
|
|
432
|
+
border_fill_id = doc.ensure_border_fill(
|
|
433
|
+
border_type=border_type or "SOLID",
|
|
434
|
+
border_color=border_color or "#000000",
|
|
435
|
+
border_width=border_width or "0.12 mm",
|
|
436
|
+
fill_color=fill_color,
|
|
437
|
+
)
|
|
438
|
+
if row is not None:
|
|
439
|
+
table.set_cell_border_fill(row, col, border_fill_id)
|
|
440
|
+
return border_fill_id
|
|
441
|
+
table.element.set("borderFillIDRef", str(border_fill_id))
|
|
442
|
+
for table_row in table.rows:
|
|
443
|
+
for cell in table_row.cells:
|
|
444
|
+
cell.element.set("borderFillIDRef", str(border_fill_id))
|
|
445
|
+
table.mark_dirty()
|
|
446
|
+
return border_fill_id
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
def format_table_in_doc(
|
|
450
|
+
doc: HwpxDocument,
|
|
451
|
+
table_index: int,
|
|
452
|
+
has_header_row: bool = None,
|
|
453
|
+
border_type: str = None,
|
|
454
|
+
border_color: str = None,
|
|
455
|
+
border_width: str = None,
|
|
456
|
+
fill_color: str = None,
|
|
457
|
+
row: int = None,
|
|
458
|
+
col: int = None,
|
|
459
|
+
) -> dict:
|
|
460
|
+
"""표 서식을 변경한다. 헤더 행 강조·테두리(선 종류/색/굵기)·셀 음영."""
|
|
461
|
+
if (row is None) != (col is None):
|
|
462
|
+
raise ValueError("row와 col은 함께 지정해야 합니다 (셀 단위 테두리 적용)")
|
|
463
|
+
wants_border = any(
|
|
464
|
+
value is not None for value in (border_type, border_color, border_width, fill_color)
|
|
465
|
+
)
|
|
466
|
+
if row is not None and not wants_border:
|
|
467
|
+
raise ValueError("row/col 지정은 테두리·음영 파라미터와 함께 사용합니다")
|
|
468
|
+
if has_header_row is None and not wants_border:
|
|
469
|
+
return {}
|
|
425
470
|
tables = list(_iter_tables(doc))
|
|
426
471
|
if table_index < 0 or table_index >= len(tables):
|
|
427
472
|
raise ValueError(f"유효하지 않은 table_index: {table_index}")
|
|
428
473
|
table = tables[table_index]
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
474
|
+
applied: dict = {}
|
|
475
|
+
if wants_border:
|
|
476
|
+
applied["border_fill_id"] = _apply_table_border_fill(
|
|
477
|
+
doc,
|
|
478
|
+
table,
|
|
479
|
+
border_type=border_type,
|
|
480
|
+
border_color=border_color,
|
|
481
|
+
border_width=border_width,
|
|
482
|
+
fill_color=fill_color,
|
|
483
|
+
row=row,
|
|
484
|
+
col=col,
|
|
485
|
+
)
|
|
486
|
+
if has_header_row is not None and table.rows:
|
|
487
|
+
for cell in table.rows[0].cells:
|
|
488
|
+
for paragraph in getattr(cell, "paragraphs", []):
|
|
489
|
+
for run in paragraph.runs:
|
|
490
|
+
run.bold = bool(has_header_row)
|
|
491
|
+
return applied
|
|
435
492
|
|
|
436
493
|
|
|
437
494
|
def copy_document_file(source: str, destination: str = None) -> str:
|
|
@@ -1110,24 +1110,40 @@ def format_table(
|
|
|
1110
1110
|
filename: str,
|
|
1111
1111
|
table_index: int,
|
|
1112
1112
|
has_header_row: bool = None,
|
|
1113
|
+
border_type: str = None,
|
|
1114
|
+
border_color: str = None,
|
|
1115
|
+
border_width: str = None,
|
|
1116
|
+
fill_color: str = None,
|
|
1117
|
+
row: int = None,
|
|
1118
|
+
col: int = None,
|
|
1113
1119
|
dry_run: bool = False,
|
|
1114
1120
|
expected_revision: str = None,
|
|
1115
1121
|
) -> dict:
|
|
1116
|
-
"""표 서식을 적용합니다.
|
|
1122
|
+
"""표 서식을 적용합니다. 헤더 행 강조 외에 테두리 선 종류(OWPML 어휘:
|
|
1123
|
+
SOLID/DASH/DOT/DOUBLE_SLIM/WAVE 등)·색·굵기와 셀 음영(fill_color)을
|
|
1124
|
+
표 전체 또는 (row, col) 한 셀에 적용합니다. dry_run=True이면 원본을
|
|
1125
|
+
저장하지 않습니다."""
|
|
1117
1126
|
path = resolve_path(filename)
|
|
1118
1127
|
guard = _revision_guard(path, expected_revision)
|
|
1119
1128
|
if guard is not None:
|
|
1120
1129
|
return guard
|
|
1121
1130
|
doc = open_doc(path)
|
|
1122
|
-
format_table_in_doc(
|
|
1131
|
+
applied = format_table_in_doc(
|
|
1132
|
+
doc,
|
|
1133
|
+
table_index,
|
|
1134
|
+
has_header_row=has_header_row,
|
|
1135
|
+
border_type=border_type,
|
|
1136
|
+
border_color=border_color,
|
|
1137
|
+
border_width=border_width,
|
|
1138
|
+
fill_color=fill_color,
|
|
1139
|
+
row=row,
|
|
1140
|
+
col=col,
|
|
1141
|
+
)
|
|
1142
|
+
result = {"formatted": True, "table_index": table_index, **applied}
|
|
1123
1143
|
if dry_run:
|
|
1124
|
-
return _with_dry_run_verification(
|
|
1125
|
-
{"formatted": True, "table_index": table_index}, doc, path
|
|
1126
|
-
)
|
|
1144
|
+
return _with_dry_run_verification(result, doc, path)
|
|
1127
1145
|
verification = _save_doc_verification(doc, path)
|
|
1128
|
-
return _with_save_verification(
|
|
1129
|
-
{"formatted": True, "table_index": table_index}, verification
|
|
1130
|
-
)
|
|
1146
|
+
return _with_save_verification(result, verification)
|
|
1131
1147
|
|
|
1132
1148
|
|
|
1133
1149
|
__all__ = [
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/identity.json
RENAMED
|
@@ -5,20 +5,20 @@
|
|
|
5
5
|
"releaseState": {
|
|
6
6
|
"status": "release-approved",
|
|
7
7
|
"candidate": {
|
|
8
|
-
"pythonHwpx": "5.
|
|
8
|
+
"pythonHwpx": "5.4.0",
|
|
9
9
|
"canonicalDistribution": "python-hwpx-automation",
|
|
10
|
-
"canonicalAutomation": "6.
|
|
10
|
+
"canonicalAutomation": "6.4.2",
|
|
11
11
|
"compatibilityDistribution": "hwpx-mcp-server",
|
|
12
|
-
"compatibility": "6.
|
|
13
|
-
"plugin": "1.
|
|
14
|
-
"contractHash": "
|
|
12
|
+
"compatibility": "6.4.2",
|
|
13
|
+
"plugin": "1.4.0",
|
|
14
|
+
"contractHash": "dbdbdfaac26148b7"
|
|
15
15
|
},
|
|
16
16
|
"currentPublic": {
|
|
17
|
-
"pythonHwpx": "5.
|
|
17
|
+
"pythonHwpx": "5.3.0",
|
|
18
18
|
"primaryDistribution": "python-hwpx-automation",
|
|
19
|
-
"primaryApplication": "6.
|
|
20
|
-
"plugin": "1.
|
|
21
|
-
"contractHash": "
|
|
19
|
+
"primaryApplication": "6.3.1",
|
|
20
|
+
"plugin": "1.3.0",
|
|
21
|
+
"contractHash": "236f8ea855c875fe"
|
|
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
|
},
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/tool_contract.py
RENAMED
|
@@ -20,20 +20,20 @@ from dataclasses import dataclass
|
|
|
20
20
|
from enum import Enum
|
|
21
21
|
from typing import Any, Callable, Mapping
|
|
22
22
|
|
|
23
|
-
MIN_PYTHON_HWPX = "5.
|
|
23
|
+
MIN_PYTHON_HWPX = "5.4.0"
|
|
24
24
|
# The 5.0 train: core drops the workflow surfaces and the `hwpx` console name,
|
|
25
25
|
# this package picks the name up, and the plugin pins both. The three move
|
|
26
26
|
# together — a mixed set is what "no valid install has two declarers" rules out.
|
|
27
|
-
MIN_AUTOMATION_VERSION = "6.
|
|
27
|
+
MIN_AUTOMATION_VERSION = "6.4.0"
|
|
28
28
|
# Compatibility alias retained in the 6.x contract payload for existing health
|
|
29
29
|
# and plugin consumers. New code and documentation use the automation name.
|
|
30
30
|
MIN_MCP_VERSION = MIN_AUTOMATION_VERSION
|
|
31
|
-
MIN_SKILL_VERSION = "1.
|
|
31
|
+
MIN_SKILL_VERSION = "1.4.0"
|
|
32
32
|
# Frozen release receipt for non-runtime services. Runtime construction still
|
|
33
33
|
# recomputes and verifies the bound callable/schema contract through
|
|
34
34
|
# ``contract_hash()``; this constant prevents those services from importing the
|
|
35
35
|
# runtime composer merely to stamp the approved release receipt.
|
|
36
|
-
RELEASED_CONTRACT_HASH = "
|
|
36
|
+
RELEASED_CONTRACT_HASH = "dbdbdfaac26148b7"
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
def describe_callables(entries: Any) -> Any:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-hwpx-automation
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.4.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
|
|
@@ -20,7 +20,7 @@ Requires-Python: >=3.10
|
|
|
20
20
|
Description-Content-Type: text/markdown
|
|
21
21
|
License-File: LICENSE
|
|
22
22
|
License-File: NOTICE
|
|
23
|
-
Requires-Dist: python-hwpx<6,>=5.
|
|
23
|
+
Requires-Dist: python-hwpx<6,>=5.4.0
|
|
24
24
|
Requires-Dist: pydantic<3,>=2.11
|
|
25
25
|
Requires-Dist: cryptography>=42.0
|
|
26
26
|
Requires-Dist: anyio>=4.0
|
|
@@ -74,10 +74,11 @@ Dynamic: license-file
|
|
|
74
74
|
|
|
75
75
|
<!-- release-state: release-approved -->
|
|
76
76
|
> [!NOTE]
|
|
77
|
-
> 이 저장소의 main은 아직 공개되지 않은 6.
|
|
78
|
-
> `
|
|
79
|
-
>
|
|
80
|
-
>
|
|
77
|
+
> 이 저장소의 main은 아직 공개되지 않은 6.4.2 후보 — release-approved 상태(표 테두리·음영
|
|
78
|
+
> `format_table` 확장, 수리된 core 5.4.0 기본값, 계약 `dbdbdfaac26148b7`,
|
|
79
|
+
> 130 도구)입니다. 현재 공개 트레인은
|
|
80
|
+
> `python-hwpx 5.3.0 → python-hwpx-automation 6.3.1 → hwpx-plugin 1.3.0`
|
|
81
|
+
> (계약 `236f8ea855c875fe`, 2026-07-31 released)입니다. 공개 트레인은
|
|
81
82
|
> core·automation PyPI와 plugin GitHub
|
|
82
83
|
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤 승격했으며, 기존
|
|
83
84
|
> 5.x 설치는 별도 발행된 `hwpx-mcp-server 5.1.1`이 보호합니다. 절차와 상태
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/__init__.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/__init__.pyi
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/__main__.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/agent_document.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/blind_eval.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/capabilities.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/configuration.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/__init__.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/context.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/diff.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/document.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/formatting.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/handles.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/locations.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/locator.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/plan.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/resources.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/search.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/core/txn.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/document_state.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/execution_lock.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/fastmcp_adapter.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/form_fill.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/hwp_converter.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/hwp_support.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/hwpx_ops.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/identity.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/ingest_adapters.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/markdown_plan.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/mcp_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/mixed_form.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/mutation_models.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/network_policy.py
RENAMED
|
File without changes
|
{python_hwpx_automation-6.3.1 → python_hwpx_automation-6.4.2}/src/hwpx_automation/office/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|