ummaya 0.2.5 → 0.2.7
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.
- package/bun.lock +180 -244
- package/npm-shrinkwrap.json +570 -1821
- package/package.json +35 -22
- package/pyproject.toml +3 -2
- package/src/ummaya/_canonical/baselines.yaml +113 -0
- package/src/ummaya/tools/documents/baselines.py +19 -1
- package/tui/bun.lock +126 -305
- package/tui/package.json +35 -22
- package/tui/src/cli/handlers/mcp.tsx +0 -1
- package/tui/src/cli/print.ts +1 -2
- package/tui/src/main.tsx +3 -4
- package/tui/src/utils/claudeDesktop.ts +4 -4
- package/uv.lock +27 -32
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ummaya",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Conversational multi-agent harness for Korean public-service channels",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -72,32 +72,31 @@
|
|
|
72
72
|
],
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"@alcalzone/ansi-tokenize": "^0.3.0",
|
|
75
|
-
"@anthropic-ai/claude-agent-sdk": "^0.2.119",
|
|
76
75
|
"@anthropic-ai/mcpb": "^2.1.2",
|
|
77
76
|
"@anthropic-ai/sandbox-runtime": "^0.0.49",
|
|
78
77
|
"@anthropic-ai/sdk": "^0.37.0",
|
|
79
|
-
"@aws-sdk/client-bedrock-runtime": "^3.
|
|
78
|
+
"@aws-sdk/client-bedrock-runtime": "^3.1072.0",
|
|
80
79
|
"@commander-js/extra-typings": "^12.1.0",
|
|
81
80
|
"@growthbook/growthbook": "^1.6.5",
|
|
82
|
-
"@grpc/grpc-js": "^1.14.
|
|
81
|
+
"@grpc/grpc-js": "^1.14.4",
|
|
83
82
|
"@inkjs/ui": "^2.0.0",
|
|
84
83
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
85
84
|
"@opentelemetry/api": "^1.9.1",
|
|
86
|
-
"@opentelemetry/api-logs": "^0.
|
|
87
|
-
"@opentelemetry/core": "^2.
|
|
88
|
-
"@opentelemetry/exporter-logs-otlp-grpc": "^0.
|
|
89
|
-
"@opentelemetry/exporter-logs-otlp-http": "^0.
|
|
90
|
-
"@opentelemetry/exporter-logs-otlp-proto": "^0.
|
|
91
|
-
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.
|
|
92
|
-
"@opentelemetry/exporter-metrics-otlp-http": "^0.
|
|
93
|
-
"@opentelemetry/exporter-metrics-otlp-proto": "^0.
|
|
94
|
-
"@opentelemetry/exporter-trace-otlp-grpc": "^0.
|
|
95
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.
|
|
96
|
-
"@opentelemetry/exporter-trace-otlp-proto": "^0.
|
|
97
|
-
"@opentelemetry/resources": "^2.
|
|
98
|
-
"@opentelemetry/sdk-logs": "^0.
|
|
99
|
-
"@opentelemetry/sdk-metrics": "^2.
|
|
100
|
-
"@opentelemetry/sdk-trace-base": "^2.
|
|
85
|
+
"@opentelemetry/api-logs": "^0.219.0",
|
|
86
|
+
"@opentelemetry/core": "^2.8.0",
|
|
87
|
+
"@opentelemetry/exporter-logs-otlp-grpc": "^0.219.0",
|
|
88
|
+
"@opentelemetry/exporter-logs-otlp-http": "^0.219.0",
|
|
89
|
+
"@opentelemetry/exporter-logs-otlp-proto": "^0.219.0",
|
|
90
|
+
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.219.0",
|
|
91
|
+
"@opentelemetry/exporter-metrics-otlp-http": "^0.219.0",
|
|
92
|
+
"@opentelemetry/exporter-metrics-otlp-proto": "^0.219.0",
|
|
93
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.219.0",
|
|
94
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.219.0",
|
|
95
|
+
"@opentelemetry/exporter-trace-otlp-proto": "^0.219.0",
|
|
96
|
+
"@opentelemetry/resources": "^2.8.0",
|
|
97
|
+
"@opentelemetry/sdk-logs": "^0.219.0",
|
|
98
|
+
"@opentelemetry/sdk-metrics": "^2.8.0",
|
|
99
|
+
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
101
100
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
102
101
|
"@pdf-lib/fontkit": "^1.1.1",
|
|
103
102
|
"@rhwp/core": "^0.7.13",
|
|
@@ -105,7 +104,7 @@
|
|
|
105
104
|
"ajv": "^8.18.0",
|
|
106
105
|
"asciichart": "^1.5.25",
|
|
107
106
|
"auto-bind": "^5.0.1",
|
|
108
|
-
"axios": "^1.
|
|
107
|
+
"axios": "^1.18.0",
|
|
109
108
|
"bidi-js": "^1.0.3",
|
|
110
109
|
"bundle": "file:./tui/src/runtime/bundle-package",
|
|
111
110
|
"chalk": "^5.3.0",
|
|
@@ -135,14 +134,28 @@
|
|
|
135
134
|
"react": "^19.2.0",
|
|
136
135
|
"react-reconciler": "0.33.0",
|
|
137
136
|
"semver": "^7.7.4",
|
|
138
|
-
"shell-quote": "^1.8.
|
|
137
|
+
"shell-quote": "^1.8.4",
|
|
139
138
|
"supports-hyperlinks": "^4.4.0",
|
|
140
139
|
"tree-kill": "^1.2.2",
|
|
141
|
-
"undici": "^8.
|
|
140
|
+
"undici": "^8.5.0",
|
|
142
141
|
"usehooks-ts": "^3.1.1",
|
|
143
142
|
"vscode-languageserver-protocol": "^3.17.5",
|
|
144
143
|
"xss": "^1.0.15",
|
|
145
144
|
"yaml": "^2.8.3",
|
|
146
145
|
"zod": "^3.23.0"
|
|
146
|
+
},
|
|
147
|
+
"overrides": {
|
|
148
|
+
"fast-uri": "^3.1.2",
|
|
149
|
+
"fast-xml-builder": "^1.2.0",
|
|
150
|
+
"form-data": "^4.0.6",
|
|
151
|
+
"hono": "^4.12.26",
|
|
152
|
+
"ip-address": "^10.2.0",
|
|
153
|
+
"js-yaml": "^4.2.0",
|
|
154
|
+
"protobufjs": "^7.6.3",
|
|
155
|
+
"qs": "^6.15.2",
|
|
156
|
+
"shell-quote": "^1.8.4",
|
|
157
|
+
"tar": "^7.5.16",
|
|
158
|
+
"tmp": "^0.2.7",
|
|
159
|
+
"ws": "^8.21.0"
|
|
147
160
|
}
|
|
148
161
|
}
|
package/pyproject.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "ummaya"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.7"
|
|
4
4
|
description = "Conversational multi-agent platform for Korean public APIs"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -154,6 +154,7 @@ packages = ["src/ummaya"]
|
|
|
154
154
|
# Bundle the document production hardening tool contract so installed wheels
|
|
155
155
|
# can register model-visible document tools without depending on the source tree.
|
|
156
156
|
"specs/2803-document-production-hardening/contracts/document-tools.schema.json" = "ummaya/_canonical/document-tools.schema.json"
|
|
157
|
+
"src/ummaya/_canonical/baselines.yaml" = "ummaya/_canonical/baselines.yaml"
|
|
157
158
|
# Bundle the 50-item validation checklist YAML so ummaya-plugin-validate
|
|
158
159
|
# CLI can find it without depending on the source-tree layout.
|
|
159
160
|
"tests/fixtures/plugin_validation/checklist_manifest.yaml" = "ummaya/_canonical/checklist_manifest.yaml"
|
|
@@ -332,7 +333,7 @@ min_confidence = 80
|
|
|
332
333
|
|
|
333
334
|
[tool.commitizen]
|
|
334
335
|
name = "cz_conventional_commits"
|
|
335
|
-
version = "0.2.
|
|
336
|
+
version = "0.2.7"
|
|
336
337
|
tag_format = "v$version"
|
|
337
338
|
|
|
338
339
|
# PyTorch CPU-only wheel for Docker image size discipline (SC-1: ≤ 2 GB).
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
catalog_id: public-form-conformance-baselines-v1
|
|
3
|
+
source_policy: offline_fixtures_only
|
|
4
|
+
live_network_allowed: false
|
|
5
|
+
baselines:
|
|
6
|
+
- template_id: birth-benefit-application-hwpx
|
|
7
|
+
schema_id: birth-benefit-application-v1
|
|
8
|
+
format: hwpx
|
|
9
|
+
authoritative_standard: KS X 6101 OWPML/HWPX
|
|
10
|
+
authority_refs:
|
|
11
|
+
- specs/2803-document-production-hardening/spec.md#FR-002
|
|
12
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
13
|
+
supports_conformance: true
|
|
14
|
+
expected_page_count: 2
|
|
15
|
+
required_fields:
|
|
16
|
+
- field_id: applicant_name
|
|
17
|
+
label: Applicant name
|
|
18
|
+
path: /body/section[1]/field[applicant_name]
|
|
19
|
+
- field_id: child_birth_date
|
|
20
|
+
label: Child birth date
|
|
21
|
+
path: /body/section[1]/field[child_birth_date]
|
|
22
|
+
protected_text:
|
|
23
|
+
- text: Birth benefit application
|
|
24
|
+
anchor: /body/section[1]/p[1]
|
|
25
|
+
- text: Required attachments
|
|
26
|
+
anchor: /body/section[2]/p[1]
|
|
27
|
+
required_labels:
|
|
28
|
+
- text: Applicant
|
|
29
|
+
anchor: /body/section[1]/table[1]/cell[1,1]
|
|
30
|
+
- text: Name
|
|
31
|
+
anchor: /body/section[1]/table[1]/cell[1,2]
|
|
32
|
+
- text: Child
|
|
33
|
+
anchor: /body/section[1]/table[1]/cell[2,1]
|
|
34
|
+
- text: Date of birth
|
|
35
|
+
anchor: /body/section[1]/table[1]/cell[2,2]
|
|
36
|
+
table_geometries:
|
|
37
|
+
- table_id: applicant-table
|
|
38
|
+
anchor: /body/section[1]/table[1]
|
|
39
|
+
rows: 2
|
|
40
|
+
columns: 2
|
|
41
|
+
signature_regions:
|
|
42
|
+
- text: Applicant signature or seal
|
|
43
|
+
anchor: /body/section[1]/p[2]
|
|
44
|
+
metadata_exact_matches:
|
|
45
|
+
page_count: 2
|
|
46
|
+
margin_top_mm: 20
|
|
47
|
+
margin_bottom_mm: 15
|
|
48
|
+
- template_id: civil-form-docx
|
|
49
|
+
schema_id: civil-form-ooxml-v1
|
|
50
|
+
format: docx
|
|
51
|
+
authoritative_standard: ECMA-376 Office Open XML
|
|
52
|
+
authority_refs:
|
|
53
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
54
|
+
supports_conformance: true
|
|
55
|
+
required_fields: []
|
|
56
|
+
protected_text: []
|
|
57
|
+
required_labels: []
|
|
58
|
+
table_geometries: []
|
|
59
|
+
signature_regions: []
|
|
60
|
+
metadata_exact_matches: {}
|
|
61
|
+
- template_id: civil-ledger-xlsx
|
|
62
|
+
schema_id: civil-ledger-ooxml-v1
|
|
63
|
+
format: xlsx
|
|
64
|
+
authoritative_standard: ECMA-376 Office Open XML
|
|
65
|
+
authority_refs:
|
|
66
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
67
|
+
supports_conformance: true
|
|
68
|
+
required_fields: []
|
|
69
|
+
protected_text: []
|
|
70
|
+
required_labels: []
|
|
71
|
+
table_geometries: []
|
|
72
|
+
signature_regions: []
|
|
73
|
+
metadata_exact_matches: {}
|
|
74
|
+
- template_id: civil-briefing-pptx
|
|
75
|
+
schema_id: civil-briefing-ooxml-v1
|
|
76
|
+
format: pptx
|
|
77
|
+
authoritative_standard: ECMA-376 Office Open XML
|
|
78
|
+
authority_refs:
|
|
79
|
+
- specs/2803-document-production-hardening/spec.md#FR-012
|
|
80
|
+
supports_conformance: true
|
|
81
|
+
required_fields: []
|
|
82
|
+
protected_text: []
|
|
83
|
+
required_labels: []
|
|
84
|
+
table_geometries: []
|
|
85
|
+
signature_regions: []
|
|
86
|
+
metadata_exact_matches: {}
|
|
87
|
+
- template_id: fillable-permit-pdf
|
|
88
|
+
schema_id: fillable-permit-pdf-v1
|
|
89
|
+
format: pdf
|
|
90
|
+
authoritative_standard: PDF AcroForm and rendered appearance
|
|
91
|
+
authority_refs:
|
|
92
|
+
- specs/2803-document-production-hardening/spec.md#FR-014
|
|
93
|
+
supports_conformance: true
|
|
94
|
+
required_fields: []
|
|
95
|
+
protected_text: []
|
|
96
|
+
required_labels: []
|
|
97
|
+
table_geometries: []
|
|
98
|
+
signature_regions: []
|
|
99
|
+
metadata_exact_matches: {}
|
|
100
|
+
- template_id: legacy-hwp-readonly
|
|
101
|
+
schema_id: legacy-hwp-readonly-v1
|
|
102
|
+
format: hwp
|
|
103
|
+
authoritative_standard: HWP binary read-only boundary
|
|
104
|
+
authority_refs:
|
|
105
|
+
- specs/2803-document-production-hardening/spec.md#FR-017
|
|
106
|
+
supports_conformance: false
|
|
107
|
+
unsupported_reason: HWP binary write is blocked in this epic; conformance-ready output requires HWPX or another promoted editable derivative.
|
|
108
|
+
required_fields: []
|
|
109
|
+
protected_text: []
|
|
110
|
+
required_labels: []
|
|
111
|
+
table_geometries: []
|
|
112
|
+
signature_regions: []
|
|
113
|
+
metadata_exact_matches: {}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
from __future__ import annotations
|
|
5
5
|
|
|
6
|
+
from importlib import resources
|
|
6
7
|
from pathlib import Path
|
|
7
8
|
from typing import Literal, cast
|
|
8
9
|
|
|
@@ -108,7 +109,24 @@ def load_conformance_baselines(
|
|
|
108
109
|
path: Path = CONFORMANCE_BASELINE_FIXTURE_PATH,
|
|
109
110
|
) -> ConformanceBaselineCatalog:
|
|
110
111
|
"""Load checked-in public-form conformance baselines from YAML."""
|
|
111
|
-
raw = yaml.safe_load(path
|
|
112
|
+
raw = yaml.safe_load(_read_conformance_baseline_text(path))
|
|
112
113
|
if not isinstance(raw, dict):
|
|
113
114
|
raise ValueError(f"Conformance baseline manifest must be a YAML object: {path}")
|
|
114
115
|
return ConformanceBaselineCatalog.model_validate(cast(dict[str, object], raw))
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _read_conformance_baseline_text(path: Path) -> str:
|
|
119
|
+
if path.is_file():
|
|
120
|
+
return path.read_text(encoding="utf-8")
|
|
121
|
+
|
|
122
|
+
try:
|
|
123
|
+
bundled = resources.files("ummaya._canonical").joinpath("baselines.yaml")
|
|
124
|
+
with resources.as_file(bundled) as resource_path:
|
|
125
|
+
if Path(resource_path).is_file():
|
|
126
|
+
return Path(resource_path).read_text(encoding="utf-8")
|
|
127
|
+
except (FileNotFoundError, ModuleNotFoundError, AttributeError):
|
|
128
|
+
pass
|
|
129
|
+
|
|
130
|
+
raise FileNotFoundError(
|
|
131
|
+
f"Conformance baseline manifest not found in source tree or bundled wheel resource: {path}"
|
|
132
|
+
)
|