python-hwpx-automation 6.6.4__tar.gz → 6.7.1__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.6.4/src/python_hwpx_automation.egg-info → python_hwpx_automation-6.7.1}/PKG-INFO +11 -13
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/README.md +9 -11
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/pyproject.toml +2 -2
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/specialized.py +48 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/identity.json +9 -9
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/wordbox.py +1 -1
- python_hwpx_automation-6.7.1/src/hwpx_automation/office/house_style/data/genres.json +484 -0
- python_hwpx_automation-6.7.1/src/hwpx_automation/office/house_style/gianmun.py +293 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/public-modules.json +5 -4
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/server.py +2 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/tool_bindings.py +2 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/tool_contract.py +9 -9
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1/src/python_hwpx_automation.egg-info}/PKG-INFO +11 -13
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/python_hwpx_automation.egg-info/SOURCES.txt +1 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/python_hwpx_automation.egg-info/requires.txt +1 -1
- python_hwpx_automation-6.6.4/src/hwpx_automation/office/house_style/data/genres.json +0 -43
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/LICENSE +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/MANIFEST.in +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/NOTICE +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/setup.cfg +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/__init__.pyi +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/__main__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/agent_document.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/api.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/blind_eval.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/capabilities.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/compat.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/configuration.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/content.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/context.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/diff.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/document.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/formatting.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/handles.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/locations.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/locator.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/plan.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/resources.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/search.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/transactions.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/core/txn.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/document_state.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/errors.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/execution_lock.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/fastmcp_adapter.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/form_fill.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/form_output_models.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/_shared.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/agent_document.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/authoring.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/content_edit.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/form_fill.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/layout_style.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/quality_render.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/read_export.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/tracked_changes.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/handlers/workflow.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/hwp_converter.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/hwp_support.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/hwpx_ops.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/identity.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ingest_adapters.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/markdown_plan.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/mcp_cli.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/metadata/tools_meta.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/mixed_form.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/mutation_models.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/network_policy.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/_batch_verification.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/bundle.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/catalog.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/dump.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/mapping.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/model.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/native.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/blueprint/replay.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/catalog.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/cli.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/commands.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/document.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/form_plan.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/model.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/path.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/query.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/agent/story.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/advanced_generators.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/builder/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/builder/core.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/builder/report.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/_support.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/composer.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/harvest.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/plan.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profile.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/body.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/info_table.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/application_form/fragments/title.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/application_form/profile.json +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/application_form/template.hwpx +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/body.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/home_notice/fragments/title.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/home_notice/profile.json +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/home_notice/template.hwpx +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/body.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/info_table.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/official_notice/fragments/title.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/official_notice/profile.json +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/official_notice/template.hwpx +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/body.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/heading.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/info_table.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/report/fragments/title.xml +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/report/profile.json +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/profiles/report/template.hwpx +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/design/validator.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/presets/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/presets/proposal.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/report_parser.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/style_profile.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/authoring/template_analyzer.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/charting/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/compliance/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/compliance/official_lint.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/compliance/pii.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/document_ops/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/document_ops/comparison.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/document_ops/mail_merge.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/document_ops/redline.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/evalplan/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/evalplan/runtime.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/exam/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/exam/compose.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/exam/ir.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/exam/measure.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/exam/parser.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/exam/profile.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/classification.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fill_residue.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/apply.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/engine.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/measure.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/policy.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/report.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/fit/seal.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/guidance.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/quality.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/split_run.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/form_fill/template_formfit.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/house_style/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/house_style/composition.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/house_style/data/bank.json +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/house_style/org_chart.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/quality/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/quality/page_guard.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/_hancom_open_rate.ps1 +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/_refresh_hwpx_mac.applescript +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/_render_hwpx.ps1 +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/_render_hwpx_mac.applescript +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/block_splits.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/detectors.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/diff.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/fixture_corpus.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/oracle.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/page_qa.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/qa_contracts.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/qa_metrics.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/rendering/worker.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/utilities/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/office/utilities/table_compute.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/_border_fill.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/composition.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/content_layout.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/context.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/form_fields.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/media.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/memo_style.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/package_validation.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/planning.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/preview_export.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/read_query.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/save_policy.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/tables.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/ops_services/transactions.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/preview_output_models.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/py.typed +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/quality.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/quality_generation.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/resources.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/runtime.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/runtime_services.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/storage.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/upstream.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/utils/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/utils/helpers.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/visual_qa.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/__init__.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/adapters.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/dispatcher.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/models.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/policy.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/render_contracts.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/render_metrics.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/render_queue.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/render_security.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/render_transport.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/rendering.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/service.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/state_machine.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workflow/store.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/hwpx_automation/workspace.py +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/python_hwpx_automation.egg-info/dependency_links.txt +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/src/python_hwpx_automation.egg-info/entry_points.txt +0 -0
- {python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/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.7.1
|
|
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.7.0
|
|
24
24
|
Requires-Dist: pydantic<3,>=2.11
|
|
25
25
|
Requires-Dist: cryptography>=42.0
|
|
26
26
|
Requires-Dist: anyio>=4.0
|
|
@@ -74,17 +74,15 @@ Dynamic: license-file
|
|
|
74
74
|
|
|
75
75
|
<!-- release-state: release-approved -->
|
|
76
76
|
> [!NOTE]
|
|
77
|
-
> 이 소스 트리는 **아직 공개되지 않은 6.
|
|
78
|
-
>
|
|
79
|
-
>
|
|
80
|
-
>
|
|
81
|
-
> (계약 `
|
|
82
|
-
> PyPI와 plugin GitHub
|
|
83
|
-
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤에만
|
|
84
|
-
>
|
|
85
|
-
>
|
|
86
|
-
> 현재 상태는 release-approved입니다 — 원격 진실(3스택·marketplace 설치) 관찰 전까지
|
|
87
|
-
> currentPublic은 그대로입니다.
|
|
77
|
+
> 이 소스 트리는 **아직 공개되지 않은 6.7.1 후보**입니다(양식개체·기안문 장르:
|
|
78
|
+
> 체크박스 저작 프리미티브와 `compose_official_draft`/`compose_simple_draft`,
|
|
79
|
+
> 136 도구, core 바닥 5.7.0). 현재 공개 트레인은 여전히
|
|
80
|
+
> `python-hwpx 5.6.0 → python-hwpx-automation 6.6.4 → hwpx-plugin 1.6.0`
|
|
81
|
+
> (계약 `19898dba41495c47`)입니다.
|
|
82
|
+
> 후보는 core·automation PyPI와 plugin GitHub
|
|
83
|
+
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤에만 승격하며, 기존
|
|
84
|
+
> 5.x 설치는 별도 발행된 `hwpx-mcp-server 5.1.1`이 보호합니다. 절차와 상태
|
|
85
|
+
> 머신: [릴리스 runbook](docs/release-runbook.md)
|
|
88
86
|
|
|
89
87
|
[python-hwpx](https://github.com/airmang/python-hwpx) 엔진 위에서 문서 저작·
|
|
90
88
|
양식 채움·시험지 조판·안전한 에이전트 워크플로를 제공하는 응용 계층입니다.
|
|
@@ -14,17 +14,15 @@
|
|
|
14
14
|
|
|
15
15
|
<!-- release-state: release-approved -->
|
|
16
16
|
> [!NOTE]
|
|
17
|
-
> 이 소스 트리는 **아직 공개되지 않은 6.
|
|
18
|
-
>
|
|
19
|
-
>
|
|
20
|
-
>
|
|
21
|
-
> (계약 `
|
|
22
|
-
> PyPI와 plugin GitHub
|
|
23
|
-
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤에만
|
|
24
|
-
>
|
|
25
|
-
>
|
|
26
|
-
> 현재 상태는 release-approved입니다 — 원격 진실(3스택·marketplace 설치) 관찰 전까지
|
|
27
|
-
> currentPublic은 그대로입니다.
|
|
17
|
+
> 이 소스 트리는 **아직 공개되지 않은 6.7.1 후보**입니다(양식개체·기안문 장르:
|
|
18
|
+
> 체크박스 저작 프리미티브와 `compose_official_draft`/`compose_simple_draft`,
|
|
19
|
+
> 136 도구, core 바닥 5.7.0). 현재 공개 트레인은 여전히
|
|
20
|
+
> `python-hwpx 5.6.0 → python-hwpx-automation 6.6.4 → hwpx-plugin 1.6.0`
|
|
21
|
+
> (계약 `19898dba41495c47`)입니다.
|
|
22
|
+
> 후보는 core·automation PyPI와 plugin GitHub
|
|
23
|
+
> Release·marketplace·실제 marketplace 설치까지 확인한 뒤에만 승격하며, 기존
|
|
24
|
+
> 5.x 설치는 별도 발행된 `hwpx-mcp-server 5.1.1`이 보호합니다. 절차와 상태
|
|
25
|
+
> 머신: [릴리스 runbook](docs/release-runbook.md)
|
|
28
26
|
|
|
29
27
|
[python-hwpx](https://github.com/airmang/python-hwpx) 엔진 위에서 문서 저작·
|
|
30
28
|
양식 채움·시험지 조판·안전한 에이전트 워크플로를 제공하는 응용 계층입니다.
|
|
@@ -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.7.1"
|
|
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.7.0,<6", # HWPX object model, OXML/OPC, format-native primitives
|
|
33
33
|
|
|
34
34
|
"pydantic>=2.11,<3",
|
|
35
35
|
"cryptography>=42.0",
|
|
@@ -27,6 +27,12 @@ from ..office.house_style import load_bank, load_genres
|
|
|
27
27
|
from ..office.house_style.composition import (
|
|
28
28
|
compose_section_chip as compose_house_section_chip,
|
|
29
29
|
)
|
|
30
|
+
from ..office.house_style.gianmun import (
|
|
31
|
+
HIDDEN_LABELS as HOUSE_HIDDEN_LABELS,
|
|
32
|
+
SHOWN_LABELS as HOUSE_SHOWN_LABELS,
|
|
33
|
+
compose_official_draft as compose_house_official_draft,
|
|
34
|
+
compose_simple_draft as compose_house_simple_draft,
|
|
35
|
+
)
|
|
30
36
|
from ..office.house_style.org_chart import lower_boxed_org_chart
|
|
31
37
|
from ..office.document_ops import (
|
|
32
38
|
build_mail_merge as build_hwpx_mail_merge,
|
|
@@ -246,6 +252,48 @@ def add_boxed_org_chart(
|
|
|
246
252
|
return _with_save_verification(result, verification)
|
|
247
253
|
|
|
248
254
|
|
|
255
|
+
def compose_official_draft(plan: dict) -> dict:
|
|
256
|
+
"""일반기안문(별지 제1호서식)을 범용 document_plan block으로 합성합니다.
|
|
257
|
+
|
|
258
|
+
「행정업무의 운영 및 혁신에 관한 규정 시행규칙」 별지 제1호서식의 공개
|
|
259
|
+
구조를 두문/본문/결문 순서로 낮춥니다. 파일은 쓰지 않습니다 — 반환 blocks를
|
|
260
|
+
document_plan에 넣어 create_document_from_plan으로 생성하십시오.
|
|
261
|
+
|
|
262
|
+
규정에서 오는 계약 3가지: ①결재란 칸 수는 approvers 목록 길이입니다
|
|
263
|
+
(규칙 제7조제4항 — 서명·전결 표시를 하지 않는 사람의 서명란은 만들지
|
|
264
|
+
않습니다). ②행정기관명·발신명·기안자/검토자/결재권자·직위(직급) 서명·
|
|
265
|
+
주소·공개 구분 등의 용어(라벨)는 인쇄하지 않고 값만 적습니다(서식 비고).
|
|
266
|
+
③선택 항목에 체크박스 개체를 쓰지 않습니다 — 별표 4 제10호가 `[ ]`+√
|
|
267
|
+
텍스트를 규정합니다. 내부결재문서는 internal_only=true로 발신명의를
|
|
268
|
+
생략합니다."""
|
|
269
|
+
blocks = compose_house_official_draft(plan)
|
|
270
|
+
return {
|
|
271
|
+
"blocks": blocks,
|
|
272
|
+
"genre": "official_draft",
|
|
273
|
+
"next_tool": "validate_document_plan",
|
|
274
|
+
"labelPolicy": {
|
|
275
|
+
"hidden": list(HOUSE_HIDDEN_LABELS),
|
|
276
|
+
"shown": list(HOUSE_SHOWN_LABELS),
|
|
277
|
+
},
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
def compose_simple_draft(plan: dict) -> dict:
|
|
282
|
+
"""간이기안문(별지 제2호서식)을 범용 document_plan block으로 합성합니다.
|
|
283
|
+
|
|
284
|
+
보고서·계획서·검토서 등 발신할 필요가 없는 **내부결재문서 전용**입니다
|
|
285
|
+
(규칙 제3조제3항 — 시행문으로 변환할 수 없습니다). 일반기안문과 달리
|
|
286
|
+
두문·발신명의·시행/접수·주소가 없고, 문서등록 블록과 결재란이 상단에,
|
|
287
|
+
제목·(선택)요약설명문·작성일·작성기관이 그 아래 중앙에 옵니다. 결재란 칸
|
|
288
|
+
수는 approvers 목록 길이입니다(규칙 제7조제4항)."""
|
|
289
|
+
blocks = compose_house_simple_draft(plan)
|
|
290
|
+
return {
|
|
291
|
+
"blocks": blocks,
|
|
292
|
+
"genre": "simple_draft",
|
|
293
|
+
"next_tool": "validate_document_plan",
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
|
|
249
297
|
def compose_section_chip(
|
|
250
298
|
number: str,
|
|
251
299
|
title: str,
|
{python_hwpx_automation-6.6.4 → python_hwpx_automation-6.7.1}/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.7.0",
|
|
9
9
|
"canonicalDistribution": "python-hwpx-automation",
|
|
10
|
-
"canonicalAutomation": "6.
|
|
10
|
+
"canonicalAutomation": "6.7.1",
|
|
11
11
|
"compatibilityDistribution": "hwpx-mcp-server",
|
|
12
|
-
"compatibility": "6.
|
|
13
|
-
"plugin": "1.
|
|
14
|
-
"contractHash": "
|
|
12
|
+
"compatibility": "6.7.1",
|
|
13
|
+
"plugin": "1.7.0",
|
|
14
|
+
"contractHash": "98510af22d13899c"
|
|
15
15
|
},
|
|
16
16
|
"currentPublic": {
|
|
17
|
-
"pythonHwpx": "5.
|
|
17
|
+
"pythonHwpx": "5.6.0",
|
|
18
18
|
"primaryDistribution": "python-hwpx-automation",
|
|
19
|
-
"primaryApplication": "6.
|
|
20
|
-
"plugin": "1.
|
|
21
|
-
"contractHash": "
|
|
19
|
+
"primaryApplication": "6.6.4",
|
|
20
|
+
"plugin": "1.6.0",
|
|
21
|
+
"contractHash": "19898dba41495c47"
|
|
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
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
-
"""Word/glyph-box geometry oracle for form-fill verification
|
|
2
|
+
"""Word/glyph-box geometry oracle for form-fill verification.
|
|
3
3
|
|
|
4
4
|
The faithful renderer for HWPX is Hancom (Constitution IV); there is no free
|
|
5
5
|
headless one. Rather than drive the Hancom GUI on every check, this module makes
|
|
@@ -0,0 +1,484 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "hwpx.house-style-genres/v0",
|
|
3
|
+
"generated": "2026-07-23",
|
|
4
|
+
"_usage": "장르 구조 문법(감각 데이터). 스킬(두뇌)이 per-doc 인스턴스화하고, 게이트는 이 데이터에 대해 검사한다. 판단 하드코딩 금지 — 값의 prov는 'layer:근거', layer ∈ harvest(실물 수확 N=3)|template(도교육청 서식 inline)|owner",
|
|
5
|
+
"genres": {
|
|
6
|
+
"operating_plan": {
|
|
7
|
+
"label": "운영계획서 (기관·사업·정책 운영 계획)",
|
|
8
|
+
"when": "기관/사업/정책 운영 계획. 개조식. 정부·공공 장르",
|
|
9
|
+
"typography": {
|
|
10
|
+
"inherits": "report",
|
|
11
|
+
"prov": [
|
|
12
|
+
"template:도교육청 서식 inline(헤더 HY헤드라인M 14/본문 휴먼명조 13/160%)와 뱅크 report 교차일치"
|
|
13
|
+
],
|
|
14
|
+
"roles": {
|
|
15
|
+
"section_chip_number": {
|
|
16
|
+
"font": "HY헤드라인M",
|
|
17
|
+
"sizePt": 14,
|
|
18
|
+
"bold": true,
|
|
19
|
+
"align": "center",
|
|
20
|
+
"onAccent": true,
|
|
21
|
+
"prov": [
|
|
22
|
+
"harvest:섹션칩 번호칸 accent 배경"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"section_chip_title": {
|
|
26
|
+
"font": "HY헤드라인M",
|
|
27
|
+
"sizePt": 14,
|
|
28
|
+
"bold": true,
|
|
29
|
+
"prov": [
|
|
30
|
+
"harvest:섹션칩 제목"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"org_box_label": {
|
|
34
|
+
"font": "휴먼명조",
|
|
35
|
+
"sizePt": 11,
|
|
36
|
+
"align": "center",
|
|
37
|
+
"prov": [
|
|
38
|
+
"harvest:조직도 박스 라벨"
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"grammar": {
|
|
44
|
+
"sequence": [
|
|
45
|
+
"title_band",
|
|
46
|
+
"issuer",
|
|
47
|
+
"slogan?",
|
|
48
|
+
"section+"
|
|
49
|
+
],
|
|
50
|
+
"section": {
|
|
51
|
+
"divider": "section_chip",
|
|
52
|
+
"body": "prose_body",
|
|
53
|
+
"embeds": "embedded_block*"
|
|
54
|
+
},
|
|
55
|
+
"blockTypes": {
|
|
56
|
+
"title_band": {
|
|
57
|
+
"desc": "1x1 boxed title 「…」 운영 계획, 가운데·큰 글자",
|
|
58
|
+
"required": true
|
|
59
|
+
},
|
|
60
|
+
"issuer": {
|
|
61
|
+
"desc": "발신 기관명",
|
|
62
|
+
"required": true
|
|
63
|
+
},
|
|
64
|
+
"slogan": {
|
|
65
|
+
"desc": "인용 슬로건/태그라인",
|
|
66
|
+
"required": false
|
|
67
|
+
},
|
|
68
|
+
"section_chip": {
|
|
69
|
+
"desc": "섹션 구분자 1x3 [번호box][gap][제목] 또는 inline",
|
|
70
|
+
"required": true
|
|
71
|
+
},
|
|
72
|
+
"prose_body": {
|
|
73
|
+
"desc": "개조식 계층 ○/-/□/①/➡/※",
|
|
74
|
+
"required": true
|
|
75
|
+
},
|
|
76
|
+
"org_chart": {
|
|
77
|
+
"desc": "표-기반 박스 조직도(병합 박스+셀 테두리 커넥터). 드로잉 아님(2026-07-23 실측)",
|
|
78
|
+
"required": false
|
|
79
|
+
},
|
|
80
|
+
"comparison": {
|
|
81
|
+
"desc": "AS-IS➡TO-BE 표",
|
|
82
|
+
"required": false
|
|
83
|
+
},
|
|
84
|
+
"data_table": {
|
|
85
|
+
"desc": "현황/예산/spec 표",
|
|
86
|
+
"required": false
|
|
87
|
+
},
|
|
88
|
+
"faq": {
|
|
89
|
+
"desc": "순/질의/응답 3열 표",
|
|
90
|
+
"required": false
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"variableSlots": {
|
|
94
|
+
"numbering": {
|
|
95
|
+
"options": [
|
|
96
|
+
"roman",
|
|
97
|
+
"arabic"
|
|
98
|
+
],
|
|
99
|
+
"default": "roman",
|
|
100
|
+
"desc": "섹션 번호 체계 Ⅰ~ vs 1.~"
|
|
101
|
+
},
|
|
102
|
+
"chipStyle": {
|
|
103
|
+
"options": [
|
|
104
|
+
"box",
|
|
105
|
+
"inline"
|
|
106
|
+
],
|
|
107
|
+
"default": "box",
|
|
108
|
+
"desc": "섹션칩 렌더 색박스 vs inline"
|
|
109
|
+
},
|
|
110
|
+
"bulletGlyph": {
|
|
111
|
+
"options": [
|
|
112
|
+
"○",
|
|
113
|
+
"ㅇ"
|
|
114
|
+
],
|
|
115
|
+
"default": "○"
|
|
116
|
+
},
|
|
117
|
+
"accentColor": {
|
|
118
|
+
"desc": "섹션칩·강조 accent 1색(문서마다 변주)",
|
|
119
|
+
"example": "#3366CC"
|
|
120
|
+
},
|
|
121
|
+
"headerImage": {
|
|
122
|
+
"desc": "타이틀 밴드/첫 단 로고·엠블럼(변주, 입력 파라미터)"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"prov": [
|
|
126
|
+
"harvest:N=3 실물(앵커+형제2) 공유 문법",
|
|
127
|
+
"owner:형 공유·표면 변주 확증 2026-07-22"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"official_draft": {
|
|
132
|
+
"label": "일반기안문 (별지 제1호서식 — 대내외 공문/시행문 공용)",
|
|
133
|
+
"when": "행정기관이 기안·시행하는 공문서. 두문/본문/결문 3부. 관인 날인 시 시행문이 된다",
|
|
134
|
+
"typography": {
|
|
135
|
+
"inherits": "report",
|
|
136
|
+
"prov": [
|
|
137
|
+
"regulation:행정업무의 운영 및 혁신에 관한 규정 시행규칙(행정안전부령 제408호, 2023-06-28) 제3·4·6·7·9조",
|
|
138
|
+
"regulation:같은 규칙 별지 제1호서식(일반기안문)·제2호서식(간이기안문) <개정 2016-07-11>",
|
|
139
|
+
"regulation:같은 규칙 별표 4 제2호(여백 상·좌·우 20mm 하 10mm)·제10호([ ]+√ 관례)",
|
|
140
|
+
"measure:specs/060 P0 조사 원장 evidence/p0/gianmun-forms.md",
|
|
141
|
+
"honest:본문 글꼴·글자 크기는 법령 미규정(별표 4/5 값은 민원 서식 설계 기준) — 관례 기본값이며 규정 근거로 주장하지 않는다"
|
|
142
|
+
],
|
|
143
|
+
"roles": {
|
|
144
|
+
"agency_name": {
|
|
145
|
+
"sizePt": 16,
|
|
146
|
+
"bold": true,
|
|
147
|
+
"align": "center",
|
|
148
|
+
"prov": [
|
|
149
|
+
"regulation:두문 행정기관명(로고는 왼쪽 끝 2x2cm)"
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"head_label": {
|
|
153
|
+
"sizePt": 13,
|
|
154
|
+
"prov": [
|
|
155
|
+
"regulation:수신/(경유)/제목 라벨"
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"body": {
|
|
159
|
+
"sizePt": 13,
|
|
160
|
+
"prov": [
|
|
161
|
+
"convention:본문 개조식"
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"sender_name": {
|
|
165
|
+
"sizePt": 15,
|
|
166
|
+
"bold": true,
|
|
167
|
+
"align": "center",
|
|
168
|
+
"prov": [
|
|
169
|
+
"regulation:발신명의(관인은 마지막 글자가 인영 가운데)"
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
"footer": {
|
|
173
|
+
"sizePt": 10,
|
|
174
|
+
"prov": [
|
|
175
|
+
"regulation:결문 시행/접수·주소·연락처"
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"grammar": {
|
|
181
|
+
"sequence": [
|
|
182
|
+
"agency_name",
|
|
183
|
+
"recipient",
|
|
184
|
+
"via",
|
|
185
|
+
"subject",
|
|
186
|
+
"body",
|
|
187
|
+
"attachments?",
|
|
188
|
+
"sender_name",
|
|
189
|
+
"recipient_list?",
|
|
190
|
+
"approval_table",
|
|
191
|
+
"footer_table"
|
|
192
|
+
],
|
|
193
|
+
"section": {
|
|
194
|
+
"divider": "none",
|
|
195
|
+
"body": "outline_body",
|
|
196
|
+
"embeds": "embedded_block*"
|
|
197
|
+
},
|
|
198
|
+
"blockTypes": {
|
|
199
|
+
"agency_name": {
|
|
200
|
+
"desc": "행정기관명 가운데 문단(동명 기관 있으면 상급기관명 병기)",
|
|
201
|
+
"required": true
|
|
202
|
+
},
|
|
203
|
+
"recipient": {
|
|
204
|
+
"desc": "수신 — 내부결재/기관장(보조기관)/합의제/민원인/수신자 참조",
|
|
205
|
+
"required": true
|
|
206
|
+
},
|
|
207
|
+
"via": {
|
|
208
|
+
"desc": "(경유) — 경유기관 없으면 빈칸",
|
|
209
|
+
"required": true
|
|
210
|
+
},
|
|
211
|
+
"subject": {
|
|
212
|
+
"desc": "제목",
|
|
213
|
+
"required": true
|
|
214
|
+
},
|
|
215
|
+
"body": {
|
|
216
|
+
"desc": "본문 개조식 1.→가.→1)→가)→(1)→(가)→①→㉮, 2타씩 우측 이동",
|
|
217
|
+
"required": true
|
|
218
|
+
},
|
|
219
|
+
"attachments": {
|
|
220
|
+
"desc": "붙임 목록 + '끝.' 4규칙",
|
|
221
|
+
"required": false
|
|
222
|
+
},
|
|
223
|
+
"sender_name": {
|
|
224
|
+
"desc": "발신명의(+관인/관인생략). 내부결재문서는 미표시",
|
|
225
|
+
"required": false
|
|
226
|
+
},
|
|
227
|
+
"recipient_list": {
|
|
228
|
+
"desc": "수신자 다수일 때 발신명의 다음 줄 '수신자'란",
|
|
229
|
+
"required": false
|
|
230
|
+
},
|
|
231
|
+
"approval_table": {
|
|
232
|
+
"desc": "결재란 1행 x 2N열 — N=실제 서명자 수(가변)",
|
|
233
|
+
"required": true
|
|
234
|
+
},
|
|
235
|
+
"footer_table": {
|
|
236
|
+
"desc": "협조자/시행·접수/주소/연락처·공개구분 표(좌우 세로 테두리 없음)",
|
|
237
|
+
"required": true
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"variableSlots": {
|
|
241
|
+
"approvers": {
|
|
242
|
+
"desc": "결재자 목록(직위+성명+전결/대결). 규칙 제7조제4항: 서명·전결 표시를 하지 않는 사람의 서명란은 만들지 않는다 — 칸 수는 고정이 아니라 목록 길이",
|
|
243
|
+
"example": [
|
|
244
|
+
"행정사무관 김○○",
|
|
245
|
+
"○○과장 (전결) 이○○"
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
"internalOnly": {
|
|
249
|
+
"options": [
|
|
250
|
+
true,
|
|
251
|
+
false
|
|
252
|
+
],
|
|
253
|
+
"default": false,
|
|
254
|
+
"desc": "내부결재문서면 발신명의를 표시하지 않는다"
|
|
255
|
+
},
|
|
256
|
+
"seal": {
|
|
257
|
+
"options": [
|
|
258
|
+
"직인",
|
|
259
|
+
"관인생략",
|
|
260
|
+
"서명생략",
|
|
261
|
+
"none"
|
|
262
|
+
],
|
|
263
|
+
"default": "none",
|
|
264
|
+
"desc": "발신명의 오른쪽 표시(별표 1)"
|
|
265
|
+
},
|
|
266
|
+
"disclosure": {
|
|
267
|
+
"options": [
|
|
268
|
+
"공개",
|
|
269
|
+
"부분공개",
|
|
270
|
+
"비공개"
|
|
271
|
+
],
|
|
272
|
+
"default": "공개",
|
|
273
|
+
"desc": "부분공개·비공개는 괄호에 정보공개법 제9조제1항 호 번호"
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
"labelPolicy": {
|
|
277
|
+
"hidden": [
|
|
278
|
+
"행정기관명",
|
|
279
|
+
"발신명",
|
|
280
|
+
"기안자",
|
|
281
|
+
"검토자",
|
|
282
|
+
"결재권자",
|
|
283
|
+
"직위(직급) 서명",
|
|
284
|
+
"처리과명-연도별 일련번호(시행일)",
|
|
285
|
+
"도로명주소",
|
|
286
|
+
"홈페이지 주소",
|
|
287
|
+
"공무원의 전자우편주소",
|
|
288
|
+
"공개 구분"
|
|
289
|
+
],
|
|
290
|
+
"shown": [
|
|
291
|
+
"수신",
|
|
292
|
+
"(경유)",
|
|
293
|
+
"제목",
|
|
294
|
+
"붙임",
|
|
295
|
+
"시행",
|
|
296
|
+
"접수",
|
|
297
|
+
"우",
|
|
298
|
+
"협조자",
|
|
299
|
+
"전화번호",
|
|
300
|
+
"팩스번호"
|
|
301
|
+
],
|
|
302
|
+
"prov": [
|
|
303
|
+
"regulation:별지 제1호서식 비고 — 해당 용어는 표시하지 아니하고 그 내용을 적는다"
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
"checkboxPolicy": {
|
|
307
|
+
"useFormObject": false,
|
|
308
|
+
"convention": "[ ] + √",
|
|
309
|
+
"prov": [
|
|
310
|
+
"regulation:별표 4 제10호 — √ 표시를 하도록 하는 란은 '□'을 사용하지 않고 '[ ]'을 사용한다"
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
"page": {
|
|
314
|
+
"paper": "A4 210x297mm",
|
|
315
|
+
"marginsMm": {
|
|
316
|
+
"top": 20,
|
|
317
|
+
"left": 20,
|
|
318
|
+
"right": 20,
|
|
319
|
+
"bottom": 10
|
|
320
|
+
},
|
|
321
|
+
"prov": [
|
|
322
|
+
"regulation:영 제7조제6항·별표 4 제2호"
|
|
323
|
+
]
|
|
324
|
+
},
|
|
325
|
+
"prov": [
|
|
326
|
+
"regulation:행정업무의 운영 및 혁신에 관한 규정 시행규칙(행정안전부령 제408호, 2023-06-28) 제3·4·6·7·9조",
|
|
327
|
+
"regulation:같은 규칙 별지 제1호서식(일반기안문)·제2호서식(간이기안문) <개정 2016-07-11>",
|
|
328
|
+
"regulation:같은 규칙 별표 4 제2호(여백 상·좌·우 20mm 하 10mm)·제10호([ ]+√ 관례)",
|
|
329
|
+
"measure:specs/060 P0 조사 원장 evidence/p0/gianmun-forms.md"
|
|
330
|
+
]
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
"simple_draft": {
|
|
334
|
+
"label": "간이기안문 (별지 제2호서식 — 내부결재 전용)",
|
|
335
|
+
"when": "보고서·계획서·검토서 등 발신할 필요가 없는 내부결재문서(규칙 제3조제3항). 시행문 변환 불가",
|
|
336
|
+
"typography": {
|
|
337
|
+
"inherits": "report",
|
|
338
|
+
"prov": [
|
|
339
|
+
"regulation:행정업무의 운영 및 혁신에 관한 규정 시행규칙(행정안전부령 제408호, 2023-06-28) 제3·4·6·7·9조",
|
|
340
|
+
"regulation:같은 규칙 별지 제1호서식(일반기안문)·제2호서식(간이기안문) <개정 2016-07-11>",
|
|
341
|
+
"regulation:같은 규칙 별표 4 제2호(여백 상·좌·우 20mm 하 10mm)·제10호([ ]+√ 관례)",
|
|
342
|
+
"measure:specs/060 P0 조사 원장 evidence/p0/gianmun-forms.md",
|
|
343
|
+
"honest:본문 글꼴·크기 법령 미규정 — 관례 기본값"
|
|
344
|
+
],
|
|
345
|
+
"roles": {
|
|
346
|
+
"title": {
|
|
347
|
+
"sizePt": 16,
|
|
348
|
+
"bold": true,
|
|
349
|
+
"align": "center",
|
|
350
|
+
"prov": [
|
|
351
|
+
"regulation:하단 중앙 제목"
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
"summary": {
|
|
355
|
+
"sizePt": 12,
|
|
356
|
+
"align": "center",
|
|
357
|
+
"prov": [
|
|
358
|
+
"regulation:요약설명문(선택)"
|
|
359
|
+
]
|
|
360
|
+
},
|
|
361
|
+
"issuer": {
|
|
362
|
+
"sizePt": 14,
|
|
363
|
+
"align": "center",
|
|
364
|
+
"prov": [
|
|
365
|
+
"regulation:작성기관"
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
"footer": {
|
|
369
|
+
"sizePt": 10,
|
|
370
|
+
"prov": [
|
|
371
|
+
"regulation:문서등록 블록"
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
"grammar": {
|
|
377
|
+
"sequence": [
|
|
378
|
+
"header_row",
|
|
379
|
+
"title",
|
|
380
|
+
"summary?",
|
|
381
|
+
"written_date",
|
|
382
|
+
"issuer"
|
|
383
|
+
],
|
|
384
|
+
"section": {
|
|
385
|
+
"divider": "none",
|
|
386
|
+
"body": "outline_body",
|
|
387
|
+
"embeds": "embedded_block*"
|
|
388
|
+
},
|
|
389
|
+
"blockTypes": {
|
|
390
|
+
"header_row": {
|
|
391
|
+
"desc": "1행 2열 컨테이너 — 좌: 문서등록 블록(생산등록번호/등록일/결재일/공개구분 4행 2열), 우: 결재란(가변 N)+협조자",
|
|
392
|
+
"required": true
|
|
393
|
+
},
|
|
394
|
+
"title": {
|
|
395
|
+
"desc": "제목(가운데)",
|
|
396
|
+
"required": true
|
|
397
|
+
},
|
|
398
|
+
"summary": {
|
|
399
|
+
"desc": "요약설명문 — 제목과 작성일 사이",
|
|
400
|
+
"required": false
|
|
401
|
+
},
|
|
402
|
+
"written_date": {
|
|
403
|
+
"desc": "작성일(가운데)",
|
|
404
|
+
"required": true
|
|
405
|
+
},
|
|
406
|
+
"issuer": {
|
|
407
|
+
"desc": "작성기관(상위·하위 2줄, 가운데)",
|
|
408
|
+
"required": true
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
"variableSlots": {
|
|
412
|
+
"approvers": {
|
|
413
|
+
"desc": "결재자 목록 — 칸 수는 목록 길이(규칙 제7조제4항)",
|
|
414
|
+
"example": [
|
|
415
|
+
"행정사무관 김○○",
|
|
416
|
+
"○○과장 이○○"
|
|
417
|
+
]
|
|
418
|
+
},
|
|
419
|
+
"disclosure": {
|
|
420
|
+
"options": [
|
|
421
|
+
"공개",
|
|
422
|
+
"부분공개",
|
|
423
|
+
"비공개"
|
|
424
|
+
],
|
|
425
|
+
"default": "공개"
|
|
426
|
+
}
|
|
427
|
+
},
|
|
428
|
+
"labelPolicy": {
|
|
429
|
+
"hidden": [
|
|
430
|
+
"기안자",
|
|
431
|
+
"검토자",
|
|
432
|
+
"결재권자",
|
|
433
|
+
"직위(직급) 서명",
|
|
434
|
+
"공개 구분"
|
|
435
|
+
],
|
|
436
|
+
"shown": [
|
|
437
|
+
"생산등록번호",
|
|
438
|
+
"등록일",
|
|
439
|
+
"결재일",
|
|
440
|
+
"협조자"
|
|
441
|
+
],
|
|
442
|
+
"prov": [
|
|
443
|
+
"regulation:별지 제2호서식 비고"
|
|
444
|
+
]
|
|
445
|
+
},
|
|
446
|
+
"checkboxPolicy": {
|
|
447
|
+
"useFormObject": false,
|
|
448
|
+
"convention": "[ ] + √",
|
|
449
|
+
"prov": [
|
|
450
|
+
"regulation:별표 4 제10호"
|
|
451
|
+
]
|
|
452
|
+
},
|
|
453
|
+
"absent": {
|
|
454
|
+
"desc": "일반기안문 대비 없는 것",
|
|
455
|
+
"items": [
|
|
456
|
+
"두문(행정기관명/수신/경유)",
|
|
457
|
+
"발신명의",
|
|
458
|
+
"시행·접수",
|
|
459
|
+
"주소·연락처",
|
|
460
|
+
"보존기간란"
|
|
461
|
+
],
|
|
462
|
+
"prov": [
|
|
463
|
+
"regulation:별지 제2호서식 구조"
|
|
464
|
+
]
|
|
465
|
+
},
|
|
466
|
+
"page": {
|
|
467
|
+
"paper": "A4 210x297mm",
|
|
468
|
+
"marginsMm": {
|
|
469
|
+
"top": 20,
|
|
470
|
+
"left": 20,
|
|
471
|
+
"right": 20,
|
|
472
|
+
"bottom": 10
|
|
473
|
+
}
|
|
474
|
+
},
|
|
475
|
+
"prov": [
|
|
476
|
+
"regulation:행정업무의 운영 및 혁신에 관한 규정 시행규칙(행정안전부령 제408호, 2023-06-28) 제3·4·6·7·9조",
|
|
477
|
+
"regulation:같은 규칙 별지 제1호서식(일반기안문)·제2호서식(간이기안문) <개정 2016-07-11>",
|
|
478
|
+
"regulation:같은 규칙 별표 4 제2호(여백 상·좌·우 20mm 하 10mm)·제10호([ ]+√ 관례)",
|
|
479
|
+
"measure:specs/060 P0 조사 원장 evidence/p0/gianmun-forms.md"
|
|
480
|
+
]
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|