agent-safety-oss 1.3.0 β†’ 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/NOTICE.md +3 -1
  3. package/README-EN.md +7 -6
  4. package/README.md +8 -7
  5. package/build/capability-registry.d.ts +12 -0
  6. package/build/capability-registry.d.ts.map +1 -1
  7. package/build/capability-registry.js +10 -0
  8. package/build/capability-registry.js.map +1 -1
  9. package/build/cli.js +152 -23
  10. package/build/cli.js.map +1 -1
  11. package/build/lib/datetime-kst.d.ts +55 -0
  12. package/build/lib/datetime-kst.d.ts.map +1 -0
  13. package/build/lib/datetime-kst.js +79 -0
  14. package/build/lib/datetime-kst.js.map +1 -0
  15. package/build/lib/input-aliases.d.ts +31 -0
  16. package/build/lib/input-aliases.d.ts.map +1 -0
  17. package/build/lib/input-aliases.js +154 -0
  18. package/build/lib/input-aliases.js.map +1 -0
  19. package/build/lib/input-validator.d.ts.map +1 -1
  20. package/build/lib/input-validator.js +6 -1
  21. package/build/lib/input-validator.js.map +1 -1
  22. package/build/lib/local-storage.d.ts.map +1 -1
  23. package/build/lib/local-storage.js +14 -6
  24. package/build/lib/local-storage.js.map +1 -1
  25. package/build/lib/master-loader.d.ts.map +1 -1
  26. package/build/lib/master-loader.js +10 -6
  27. package/build/lib/master-loader.js.map +1 -1
  28. package/build/lib/pii-masking.d.ts +30 -0
  29. package/build/lib/pii-masking.d.ts.map +1 -0
  30. package/build/lib/pii-masking.js +146 -0
  31. package/build/lib/pii-masking.js.map +1 -0
  32. package/build/lib/schema-introspection.d.ts +34 -0
  33. package/build/lib/schema-introspection.d.ts.map +1 -0
  34. package/build/lib/schema-introspection.js +145 -0
  35. package/build/lib/schema-introspection.js.map +1 -0
  36. package/build/lib/site-profile.d.ts.map +1 -1
  37. package/build/lib/site-profile.js +4 -2
  38. package/build/lib/site-profile.js.map +1 -1
  39. package/build/lib/trace-recorder.d.ts.map +1 -1
  40. package/build/lib/trace-recorder.js +4 -1
  41. package/build/lib/trace-recorder.js.map +1 -1
  42. package/build/ontology/forms/custom/daily_tbm.md +148 -0
  43. package/build/ontology/graph/nodes/capabilities/analyze_work_context.jsonld +31 -0
  44. package/build/ontology/graph/nodes/capabilities/preview_review.jsonld +31 -0
  45. package/build/ontology/graph/nodes/capabilities/request_field_help.jsonld +31 -0
  46. package/build/ontology/graph/nodes/capabilities/suggest_controls_for_hazard.jsonld +31 -0
  47. package/build/tool-registry.d.ts.map +1 -1
  48. package/build/tool-registry.js +10 -0
  49. package/build/tool-registry.js.map +1 -1
  50. package/build/tools/analyze-work-context.d.ts +3 -0
  51. package/build/tools/analyze-work-context.d.ts.map +1 -0
  52. package/build/tools/analyze-work-context.js +469 -0
  53. package/build/tools/analyze-work-context.js.map +1 -0
  54. package/build/tools/assess-my-obligations.d.ts.map +1 -1
  55. package/build/tools/assess-my-obligations.js +3 -1
  56. package/build/tools/assess-my-obligations.js.map +1 -1
  57. package/build/tools/field-safety-briefing.d.ts.map +1 -1
  58. package/build/tools/field-safety-briefing.js +21 -2
  59. package/build/tools/field-safety-briefing.js.map +1 -1
  60. package/build/tools/generate-safety-document.d.ts.map +1 -1
  61. package/build/tools/generate-safety-document.js +3 -1
  62. package/build/tools/generate-safety-document.js.map +1 -1
  63. package/build/tools/get-construction-stage-duties.d.ts.map +1 -1
  64. package/build/tools/get-construction-stage-duties.js +3 -1
  65. package/build/tools/get-construction-stage-duties.js.map +1 -1
  66. package/build/tools/get-incident-response-workflow.d.ts.map +1 -1
  67. package/build/tools/get-incident-response-workflow.js +22 -6
  68. package/build/tools/get-incident-response-workflow.js.map +1 -1
  69. package/build/tools/get-retention-status.d.ts.map +1 -1
  70. package/build/tools/get-retention-status.js +7 -4
  71. package/build/tools/get-retention-status.js.map +1 -1
  72. package/build/tools/get-safety-document-guide.d.ts.map +1 -1
  73. package/build/tools/get-safety-document-guide.js +51 -0
  74. package/build/tools/get-safety-document-guide.js.map +1 -1
  75. package/build/tools/list-upcoming-duties.d.ts.map +1 -1
  76. package/build/tools/list-upcoming-duties.js +8 -6
  77. package/build/tools/list-upcoming-duties.js.map +1 -1
  78. package/build/tools/preview-review.d.ts +3 -0
  79. package/build/tools/preview-review.d.ts.map +1 -0
  80. package/build/tools/preview-review.js +253 -0
  81. package/build/tools/preview-review.js.map +1 -0
  82. package/build/tools/query-applicability.d.ts.map +1 -1
  83. package/build/tools/query-applicability.js +3 -1
  84. package/build/tools/query-applicability.js.map +1 -1
  85. package/build/tools/render-a2ui-form.d.ts.map +1 -1
  86. package/build/tools/render-a2ui-form.js +348 -18
  87. package/build/tools/render-a2ui-form.js.map +1 -1
  88. package/build/tools/request-field-help.d.ts +3 -0
  89. package/build/tools/request-field-help.d.ts.map +1 -0
  90. package/build/tools/request-field-help.js +264 -0
  91. package/build/tools/request-field-help.js.map +1 -0
  92. package/build/tools/safety-report-tools.d.ts.map +1 -1
  93. package/build/tools/safety-report-tools.js +4 -2
  94. package/build/tools/safety-report-tools.js.map +1 -1
  95. package/build/tools/site-profile-tools.d.ts.map +1 -1
  96. package/build/tools/site-profile-tools.js +10 -6
  97. package/build/tools/site-profile-tools.js.map +1 -1
  98. package/build/tools/suggest-controls-for-hazard.d.ts +3 -0
  99. package/build/tools/suggest-controls-for-hazard.d.ts.map +1 -0
  100. package/build/tools/suggest-controls-for-hazard.js +344 -0
  101. package/build/tools/suggest-controls-for-hazard.js.map +1 -0
  102. package/build/version.d.ts +1 -1
  103. package/build/version.js +1 -1
  104. package/docs/OPERATIONAL-ONTOLOGY.md +1 -1
  105. package/docs/SETUP_CODEX.md +1 -1
  106. package/docs/examples/03-search_safety_law_smart.json +1 -1
  107. package/docs/examples/04-register_safety_issue.json +1 -1
  108. package/docs/examples/05-verify_safety_basis.json +1 -1
  109. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,98 @@ All notable changes to `agent-safety-oss` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.4.0] β€” 2026-05-21
9
+
10
+ **Active Graph Authoring Loop + a2ui-demo β†’ viewer 격상 + μ‚¬μš©μž onboarding 이슈 5건 fix**
11
+
12
+ λ³Έ λ¦΄λ¦¬μŠ€λŠ” ADR 002 (Active Graph Authoring Loop) λ„μž…κ³Ό ADR 001 (viewer 격상) 을 ν•œ λ²ˆμ— λ¬Άκ³ , 첫 publish 직후 발견된 μ‚¬μš©μž onboarding 이슈 5건을 ν•¨κ»˜ ν•΄μ†Œν•œλ‹€.
13
+
14
+ ### Added β€” Active Graph Authoring Loop (ADR 002)
15
+
16
+ **A2UI ↔ LLM ↔ Graph 의 λŠ₯동 루프** λ„μž…. μ‚¬μš©μž μž…λ ₯이 LLM 의 도ꡬ 체이닝을 trigger ν•˜κ³ , κ²°κ³Όκ°€ `updateComponents` 둜 폼에 동적 push λ˜λŠ” μž‘μ„± 보쑰 νŒ¨ν„΄.
17
+
18
+ μ‹ κ·œ MCP 도ꡬ 4μ’… (총 88 β†’ 92):
19
+ - `request_field_help` β€” ν•„λ“œ λ‹¨μœ„ 동적 도움말 (inputGuideΒ·examplesΒ·checkPoints + `_meta.writingGuide.fieldHints`/`commonMistakes`/`bestPractices` κ²°μ •λ‘  쑰립). `currentValue` κ°€ 있으면 좔상λͺ…μ‚¬Β·μ„œλͺ… λˆ„λ½ λ“± νŒ¨ν„΄ 일치 κ²½κ³ .
20
+ - `suggest_controls_for_hazard` β€” μœ„ν—˜μš”μΈ μž…λ ₯ β†’ ERIC-PP μœ„κ³„ (μ œκ±°Β·λŒ€μ²΄Β·κ³΅ν•™Β·κ΄€λ¦¬Β·PPE) μ •λ ¬ ν†΅μ œλŒ€μ±… μΆ”μ²œ (`mitigatedBy` κ·Έλž˜ν”„ traversal).
21
+ - `analyze_work_context` β€” μž‘μ—…λͺ…Β·λ‚΄μš©Β·μ‘°κ±΄ μž…λ ₯ β†’ μœ„ν—˜Β·ν†΅μ œΒ·λ²•λ ΉΒ·KOSHA Guide μ’…ν•© μ»¨ν…μŠ€νŠΈ. `workConditions.depthM`/`heightM`/`confinedSpace` λ“± 쑰건 기반 Β§38Β·Β§42Β·Β§618 μ μš©μ„± λ£° μžλ™ λ°œλ™.
22
+ - `preview_review` β€” μž‘μ„± 쀑 λΆ€λΆ„ κ²€ν†  (`scope: all|required-only|hallucination-only`). μ΅œμ’… `review_safety_document` 와 직ꡐ β€” κ°€λ“œλ ˆμΌ vs 결재 직전 검증.
23
+
24
+ `render_a2ui_form` κ°•ν™”:
25
+ - info-card 에 κ·Έλž˜ν”„ μ»¨ν…μŠ€νŠΈ inline (hazards/controls/relatedDocs/legalArticles/koshaGuides)
26
+ - `_meta.writingGuide.commonMistakes`/`bestPractices` λ₯Ό μ‹ κ·œ `guide-card` 둜 λ…ΈμΆœ
27
+ - ν•„λ“œλ³„ `checkPoints` + `fieldHints` λ™μ‹œ ν‘œμ‹œ (라벨 μ •κ·œν™” ν›„ μ–‘λ°©ν–₯ substring λ§€μΉ­)
28
+ - actions Row 에 6 μ•‘μ…˜ λ²„νŠΌ β€” analyze/controls/help/preview-review/assemble/submit
29
+
30
+ λ¬Έμ„œΒ·μΈν”„λΌ:
31
+ - `decisions/002-active-graph-authoring-loop.md` β€” ADR λ°•μ œ
32
+ - `.specs/in-progress/2026-05-21-active-graph-authoring-loop.md` β€” EARS μš”κ΅¬μ‚¬ν•­Β·λ””μžμΈΒ·νƒœμŠ€ν¬
33
+ - `scripts/test/test-active-graph-authoring-loop.ts` β€” 톡합 μ‹œλ‚˜λ¦¬μ˜€ (daily_tbm + work_plan_excavation + κ·Έλž˜ν”„ SSoT 일관성) 25 checks PASS
34
+
35
+ ### Added β€” viewer 격상 (ADR 001)
36
+
37
+ 데λͺ¨ μœ„μΉ˜μ— 있던 A2UI 폼 viewer λ₯Ό 운영 μžμ›μœΌλ‘œ 격상. λΉ„-개발자 μ•ˆμ „κ΄€λ¦¬μžκ°€ MCP host (Claude Desktop / Codex / MCP Inspector) 없이도 λΈŒλΌμš°μ €μ—μ„œ 직접 μ‚¬μš© κ°€λŠ₯.
38
+
39
+ - λ³Έλ¬Έ 생성 ν›„ **MD 파일 λ‹€μš΄λ‘œλ“œ** λ²„νŠΌ (`{docId}-{YYYY-MM-DD}.md`) β€” μ˜μ‘΄μ„± 0 (Blob URL 만 μ‚¬μš©)
40
+ - `decisions/001-a2ui-viewer-promotion.md` β€” ADR ν‘œμ€€ λ„μž…
41
+ - `.specs/` 디렉토리 β€” phase gate spec (`plans/` β†’ `in-progress/` β†’ `executed/`)
42
+ - `render_a2ui_form` 도ꡬ description / nextActions 에 viewer κ°€ 동급 A2UI ν˜Έν™˜ ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ“±μž¬
43
+
44
+ ### Added β€” CLI DX κ°•ν™” (Issue #4)
45
+
46
+ - `node build/cli.js tools --with-schema` β€” 각 λ„κ΅¬μ˜ `inputSchema` (properties Β· required Β· type Β· enum Β· description) JSON 좜λ ₯
47
+ - `node build/cli.js tools describe <toolName>` β€” 단일 도ꡬ 상세 (μΈν„°λž™ν‹°λΈŒ ν˜•μ‹ + 호좜 μ˜ˆμ‹œ μžλ™ 생성)
48
+ - `tools` μ‚¬λžŒ 가독 좜λ ₯에 각 도ꡬ **ν•„μˆ˜ ν•„λ“œ ν•œ 쀄** μΆ”κ°€
49
+ - μ˜μ‘΄μ„± 0 μœ μ§€ β€” `zod-to-json-schema` λ―Έμ‚¬μš©, `src/lib/schema-introspection.ts` 자체 λ³€ν™˜
50
+
51
+ ### Fixed
52
+
53
+ - **Issue #3** β€” CLI `--key "value"` λ”°μ˜΄ν‘œ string 이 μžλ™ number coerce λ˜μ–΄ Zod `z.string()` κ±°λΆ€λ˜λ˜ νšŒκ·€. `src/lib/schema-introspection.ts` κ°€ inputSchema 의 expected type (`string`/`number`/`boolean`/`array`/`object`/`enum`) 을 μΆ”μΆœ, `parseKeyValueArgs` κ°€ ν‚€λ³„λ‘œ coerce κ²°μ •. 예: `--industryCode "41"` 은 이제 string `"41"` 둜 보쑴됨.
54
+ - **Issue #5** β€” `get_incident_response_workflow` 의 `dueAt` 이 UTC μžμ • νŒŒμ‹±μœΌλ‘œ KST(+09:00) λŒ€λΉ„ 9μ‹œκ°„ λΉ¨λΌμ§€λ˜ νšŒκ·€. λͺ¨λ“  일자 μ‚°μˆ μ„ `+09:00` κΈ°μ€€μœΌλ‘œ λͺ…μ‹œ + `2026-05-21 00:30 KST` ν˜•μ‹μœΌλ‘œ λͺ…μ‹œ ν‘œμ‹œ. 호좜 μ‹œκ° fallback 도 `kstToday()` 둜 KST κΈ°μ€€ 계산.
55
+ - **Issue #5 lateral** β€” 같은 KST/UTC νšŒκ·€κ°€ λ°•ν˜€ 있던 **8κ³³ 일괄 fix**. `src/lib/datetime-kst.ts` 곡톡 μœ ν‹Έ μ‹ μ„€ (`kstToday`/`kstAddDays`/`kstDayDiff`/`parseKstDate`/`formatKstDate`/`kstIsoNow`). 적용처: `list_upcoming_duties` (asOf + 내일 fallback), `get_retention_status` (asOf), `generate_safety_document` (planDate fallback), `site-profile` (compileDate auto-fill), `input-validator` (TODAY λͺ¨λ“ˆ μƒμˆ˜), `master-loader.computeNextDueDate` (compileDate + P{N}{D|M|Y} μ‚°μˆ ), `trace-recorder` (ν™œλ™ 둜그 일자), `local-storage.timestamp` (보관 timestamp 파일λͺ…). KST μƒˆλ²½ 0~9μ‹œ 호좜 μ‹œ "였늘"이 μ–΄μ œλ‘œ 잘λͺ» μ‚°μ •λ˜λ˜ νšŒκ·€κ°€ λͺ¨λ“  μ‹œκ°„ 의쑴 λ„κ΅¬μ—μ„œ ν•΄μ†Œλ¨.
56
+ - **Issue #6** β€” enum/ν•„λ“œλͺ… μžμ—°μ–΄ alias 미지원. `src/lib/input-aliases.ts` 의 `aliasedEnum` / `withFieldAliases` 헬퍼 λ„μž…. `severity: fatality|death|사망 β†’ fatal`, `critical|major|쀑상 β†’ serious`, `light|slight|경상 β†’ minor` μ˜λ¬ΈΒ·ν•œκ΅­μ–΄ alias 지원. `field_safety_briefing` 도 `topic`/`workName`/`μž‘μ—…λͺ…` 등을 `workOrTopic` 으둜 μžλ™ μ •κ·œν™”.
57
+ - **Issue #6 lateral** β€” 같은 νŒ¨ν„΄μ΄ μ‚¬μš©μž μ§„μž…μ  4곳에 μΆ”κ°€ λ°•νž˜ β€” 일괄 alias ν™•λŒ€. `INDUSTRY_ALIASES` (건섀/건좕/ν† λͺ©/제쑰/곡μž₯/μ„œλΉ„μŠ€/기타 + 영문 λ³€ν˜•) κ°€ `assess_my_obligations.industry` + `query_applicability.industry` 에 적용. `STAGE_ALIASES` (착곡전/사전/μ‹œκ³΅μ€‘/μ§„ν–‰/쀀곡/완곡 + before/during/after) κ°€ `get_construction_stage_duties.stage` 에 적용. `PERIOD_ALIASES` (μ£Ό/μ£Όκ°„/λ§€μ£Ό/μ›”/μ›”κ°„/λ§€μ›”) κ°€ `generate_safety_report.period` + `list_safety_reports.period` 에 적용.
58
+ - **Issue #7** β€” `register_site`/`register_person`/`register_contractor` 응닡 ν…μŠ€νŠΈμ— μ‚¬μ—…μžλ“±λ‘λ²ˆν˜ΈΒ·λŒ€ν‘œμžλͺ… 평문 λ…ΈμΆœ. `src/lib/pii-masking.ts` μ‹ μ„€ β€” ν‘œμ‹œμš© text 만 λ§ˆμŠ€ν‚Ή (`***-**-67890` / `J*** D**`), `structuredContent` λŠ” 평문 μœ μ§€ (파일 μ €μž₯·재호좜용). `get_site_profile` 좜λ ₯에도 일괄 적용. (β€» `company-key-tools` λŠ” 이미 자체 `reveal=true` λ§ˆμŠ€ν‚Ή λ©”μ»€λ‹ˆμ¦˜ 보유 β€” lateral 점검 κ²°κ³Ό μΆ”κ°€ μž‘μ—… λΆˆν•„μš”.)
59
+ - **결함 #1 (릴리즈 μ „ 점검)** β€” `suggest_controls_for_hazard` κ°€ 빈 λ¬Έμžμ—΄ / whitespace μž…λ ₯에 silent fail (isError λ―Έμ„€μ •, κ²°κ³Ό μ—†μŒ). λͺ…μ‹œμ  κ±°λΆ€ + `error: "empty_hazard"` + nextActions μ•ˆλ‚΄.
60
+ - **결함 #2 (릴리즈 μ „ 점검)** β€” `analyze_work_context` κ°€ 도메인 μ™Έ μž…λ ₯ (μ„œλΉ„μŠ€/제쑰/화학곡정 λ“±) 에도 docId 의 κΈ°λ³Έ hazard/control 을 λ°˜ν™˜ν•΄ μ‚¬μš©μžκ°€ λΉ„-건섀 μž‘μ—…μ— 건섀 맀핑을 μ μš©ν•  μœ„ν—˜. `domainBoundary` μ‹œκ·Έλ„ μ‹ μ„€ β€” `scope.json` excluded ν‚€μ›Œλ“œ 감지 + `matchedActivities + matchedWorktypes` λͺ¨λ‘ 0 일 λ•Œ 응닡 상단에 ⚠️ 도메인 경계 μ•ˆλ‚΄ + `structuredContent.domainBoundary` λ…ΈμΆœ.
61
+
62
+ ### Breaking
63
+ - npm script `mcp:demo:viewer` β†’ `mcp:viewer` 둜 λ³€κ²½
64
+ - `a2ui-demo/` 폴더 제거 β€” JSONL 정적 μ‹œμ—° κΈ°λŠ₯은 운영 viewer (`npm run mcp:viewer`) 둜 톡합
65
+ - `scripts/dev/demo-a2ui-viewer.ts` β†’ `scripts/dev/viewer-server.ts` 둜 λ¦¬λ„€μž„
66
+
67
+ ### Documentation
68
+ - README / README-EN β€” viewer 본격 μ‚¬μš©λ²• + PDF λ³€ν™˜ κ°€μ΄λ“œ (Pandoc / ν•œμ»΄μ˜€ν”ΌμŠ€ / Typora μ•ˆλ‚΄)
69
+ - `viewer-server.ts` 주석 β€” 데λͺ¨ ν‘œν˜„ 제거, 운영 μœ„μΉ˜ λͺ…μ‹œ
70
+ - README badge `tools` 88 β†’ 92
71
+
72
+ ### Rationale
73
+
74
+ 본질 μš°μ„ μˆœμœ„ (μ‚¬μš©μž 황룑 2026-05-21 λͺ…μ‹œ): **(1) μ˜¨ν†¨λ‘œμ§€ κ·Έλž˜ν”„ 기반 μž‘μ„± 보쑰와 κ°€μ΄λ“œλΌμΈ (2) μ™„μ„± λ¬Έμ„œ κ²€ν†  (3) A2UI κ°€ μž‘μ„±μžμ—κ²Œ ν•„μš”ν•œ 정보λ₯Ό λŠ₯λ™μ μœΌλ‘œ κ°€μ Έμ˜¬ 수 μžˆλ„λ‘ LLM κ³Ό μ—°κ²°**. ADR 002 κ°€ μ„Έ λ³Έμ§ˆμ„ λ™μ‹œ μΆ©μ‘±. ADR 001 의 viewer 격상은 14,000 μ•ˆμ „κ΄€λ¦¬μž (SAM 5,400사) 도달 β€” Agent_HQ PHILOSOPHY Β§9 의 Human fallback / 직원 μ—­ν•  ν•­λͺ© ν•΄μ†Œ. 이슈 5건 fix λŠ” npm 첫 publish ν›„ μ‚¬μš©μž onboarding 마찰 직접 ν•΄μ†Œ.
75
+
76
+ ## [1.3.1] β€” 2026-05-20
77
+
78
+ **npm 첫 publish 직후 patch β€” version μ‹œμ  μ •ν•©**
79
+
80
+ v1.3.0 npm publish ν›„ git tag κ°€ κ°€λ¦¬ν‚€λŠ” commit κ³Ό publish 된 commit μ‚¬μ΄μ˜ μ‹œμ  차이λ₯Ό ν•΄μ†Œν•˜κ³ , μ™ΈλΆ€ 평가 λ³΄κ³ μ„œλ₯Ό λ°˜μ˜ν•œ 후속 정리λ₯Ό 단일 release 둜 λ¬Άμ—ˆμŠ΅λ‹ˆλ‹€.
81
+
82
+ ### λ³€κ²½ 사항
83
+
84
+ - μ™ΈλΆ€ 평가 λ³΄κ³ μ„œ (2026-05-20) 반영 β€” P0/P1 6건 ν•΄μ†Œ
85
+ - tool-registry.ts 의 stale 주석 ("80 도ꡬ") 을 TOOLS.length SSoT ν‘œκΈ°λ‘œ μ •μ •
86
+ - ensureGraphBuilt κ°€ buildIndex 만 ν˜ΈμΆœν•˜λ˜ 결함 β†’ buildIndex + buildGraph 톡합
87
+ - loadArchivedDocument 의 path traversal κ°€λ“œ (`..` / `/` / `\\` / 정상화 prefix 검증)
88
+ - assemble_doc_context excerpt κ°€ article 전체 description λ…ΈμΆœ β†’ `slice(0, 500)` 발췌
89
+ - 둜컬 μ €μž₯μ†Œ 경둜 SSoT β€” `src/config/paths.ts` μ‹ κ·œ + local-storage / trace-recorder 톡합
90
+ - link_company_key Β· get_company_info text content PII κΈ°λ³Έ λ§ˆμŠ€ν‚Ή + `reveal: true` λͺ…μ‹œ μ˜΅μ…˜
91
+ - νšŒκ·€ μ •μ • β€” trace-recorder κ°€ SAFETY_LOCAL_DIR λ―Έλ°˜μ˜ν•˜λ˜ 결함 ν•΄μ†Œ
92
+ - .env.example Β· μ½”λ“œ μ£Όμ„μ˜ μ˜› 이름 (`agent-safety-oss-mcp`) μž”μ—¬ μ •μ •
93
+
94
+ ### μ™ΈλΆ€ μ‚¬μš©μž 영ν–₯
95
+
96
+ - npm `npm update agent-safety-oss` λ˜λŠ” `npm install -g agent-safety-oss@latest` 둜 μ¦‰μ‹œ λ°›κΈ° κ°€λŠ₯
97
+ - μž…λ ₯ ν˜Έν™˜μ„± λ³€ν™” μ—†μŒ (λͺ¨λ“  도ꡬ 동일 schema Β· 동일 좜λ ₯ ꡬ쑰)
98
+ - 단 PII κΈ°λ³Έ λ§ˆμŠ€ν‚Ή λ„μž… β€” `link_company_key` / `get_company_info` text 본문이 λ§ˆμŠ€ν‚Ή ν‘œμ‹œ. 평문 확인은 `reveal: true` λͺ…μ‹œ.
99
+
8
100
  ## [1.3.0] β€” 2026-05-19
9
101
 
10
102
  **첫 PUBLIC release β€” ν•œκ΅­ κ±΄μ„€μ•ˆμ „ μž‘μ„± 보쑰 MCP**
package/NOTICE.md CHANGED
@@ -68,7 +68,9 @@ and is not required for you to preserve when forking or redistributing
68
68
  the code. It is provided so that downstream consumers who wish to
69
69
  credit the project correctly have the canonical citation:
70
70
 
71
- - **Provider**: 황룑건섀(μ£Ό) μ•ˆμ „λ³΄κ±΄κΈ°νšλΆ€ β€” 도메인 κ²€μ¦Β·ν˜„μž₯ μš”κ΅¬μ‚¬ν•­Β·μ‹œλ‚˜λ¦¬μ˜€ 제곡
71
+ - **Provider**: 황룑건섀(μ£Ό) (Hwangryong Construction Co., Ltd.) μ•ˆμ „λ³΄κ±΄κΈ°νšλΆ€ β€” 도메인 κ²€μ¦Β·ν˜„μž₯ μš”κ΅¬μ‚¬ν•­Β·μ‹œλ‚˜λ¦¬μ˜€ 제곡
72
+ - λŒ€ν‘œμž: ν™©ν•œμΌ
73
+ - μ£Όμ†Œ: 좩청남도 μ•„μ‚°μ‹œ μ—ΌμΉ˜μ 좩무둜431번길 9 (9, Chungmu-ro 431beon-gil, Yeomchi-eup, Asan-si, Chungcheongnam-do, Republic of Korea)
72
74
  - **Developer**: μ£Όμ‹νšŒμ‚¬ λΌν…”μ›μŠ€ (Ratelworks Inc.) β€” <alphamale@ratelworks.co.kr>
73
75
  - **Purpose**: Public-interest open source β€” improving accessibility of
74
76
  Korean public safety-and-health resources for front-line workers and
package/README-EN.md CHANGED
@@ -10,8 +10,8 @@
10
10
 
11
11
  | Item | Current code |
12
12
  |---|---:|
13
- | Package version | **1.3.0** (2026-05-19) |
14
- | MCP tools | **88** (offline-first, single API key for 6 KOSHA Live tools) |
13
+ | Package version | **1.4.0** (2026-05-21) |
14
+ | MCP tools | **92** (offline-first, single API key for 6 KOSHA Live tools) |
15
15
  | Statutory documents | **19** (TBM, work plans, risk assessments, MSDS, accident reports, etc.) |
16
16
  | Legal-duty document master | 94 docIds |
17
17
  | Full guides | 19 |
@@ -170,13 +170,13 @@ Run `npm run mcp:tools` for the full catalog.
170
170
  ```bash
171
171
  npm install
172
172
  npm run build
173
- npm run mcp:demo:viewer
173
+ npm run mcp:viewer
174
174
  # β†’ http://localhost:5174 starts automatically
175
175
  ```
176
176
 
177
- Pick a form type (TBM log, excavation work plan, periodic risk assessment, etc.) and the page renders with blanks, examples, and statutory references already populated.
177
+ Pick a form type (TBM log, excavation work plan, periodic risk assessment, etc.) and the page renders with blanks, examples, and statutory references already populated. Fill in, generate the document body, archive, and download as `.md` β€” all in one page.
178
178
 
179
- For a static-only preview (paste JSONL into a textarea, no server), see [`a2ui-demo/README.md`](./a2ui-demo/README.md).
179
+ > For PDF output, convert the downloaded `.md` via [Pandoc](https://pandoc.org/), Hangul/HWP Office, or [Typora](https://typora.io/).
180
180
 
181
181
  ## Verification
182
182
 
@@ -200,7 +200,8 @@ Recent verification:
200
200
 
201
201
  ## Provider Β· Developer
202
202
 
203
- - **Provider**: 황룑건섀(μ£Ό) Safety & Health Planning Dept. β€” domain validation, on-site requirements, and scenarios
203
+ - **Provider**: 황룑건섀(μ£Ό) (Hwangryong Construction Co., Ltd.) Safety & Health Planning Dept. β€” domain validation, on-site requirements, and scenarios
204
+ - CEO: Hwang Han-il (ν™©ν•œμΌ) Β· Address: 9, Chungmu-ro 431beon-gil, Yeomchi-eup, Asan-si, Chungcheongnam-do, Republic of Korea
204
205
  - **Developer**: Ratelworks Inc. β€” MCP server design/implementation, OSS maintenance, public safety data accessibility. <alphamale@ratelworks.co.kr>
205
206
 
206
207
  ## Awards & Recognition
package/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)
6
6
  [![Node](https://img.shields.io/badge/node-%3E%3D20.19-brightgreen)](https://nodejs.org)
7
7
  [![MCP](https://img.shields.io/badge/MCP-1.x-purple)](https://modelcontextprotocol.io)
8
- [![Release](https://img.shields.io/badge/release-v1.3.0-blue.svg)](./CHANGELOG.md)
9
- [![Tools](https://img.shields.io/badge/MCP%20tools-88-orange.svg)](./docs/IDENTITY.md)
8
+ [![Release](https://img.shields.io/badge/release-v1.4.0-blue.svg)](./CHANGELOG.md)
9
+ [![Tools](https://img.shields.io/badge/MCP%20tools-92-orange.svg)](./docs/IDENTITY.md)
10
10
 
11
11
  **κ±΄μ„€ν˜„μž₯의 법정 μ•ˆμ „λ¬Έμ„œ μž‘μ„±μ„ 더 λΉ λ₯΄κ³  μ •ν™•ν•˜κ²Œ.** μ‚°μ•ˆλ²•Β·κΈ°μ€€κ·œμΉ™Β·μ€‘μ²˜λ²•Β·KOSHA Guideλ₯Ό 기반으둜 μ•ˆμ „κ΄€λ¦¬μžμ™€ ν˜„μž₯μ†Œμž₯의 λ¬Έμ„œ μž‘μ„±κ³Ό κ²€ν† λ₯Ό λ•λŠ” μ˜€ν”ˆμ†ŒμŠ€ λ„κ΅¬μž…λ‹ˆλ‹€.
12
12
 
@@ -172,13 +172,13 @@ archive_safety_document
172
172
  ```bash
173
173
  npm install
174
174
  npm run build
175
- npm run mcp:demo:viewer
175
+ npm run mcp:viewer
176
176
  # β†’ http://localhost:5174 μžλ™ μ‹œμž‘
177
177
  ```
178
178
 
179
- λΈŒλΌμš°μ €μ—μ„œ 폼 μ’…λ₯˜ (TBM 회의둝 / κ΅΄μ°© μž‘μ—…κ³„νšμ„œ / μ •κΈ° μœ„ν—˜μ„±ν‰κ°€ λ“±) λ₯Ό μ„ νƒν•˜λ©΄, λΉˆμΉΈΒ·μ˜ˆμ‹œΒ·λ²•λ Ή μΈμš©κΉŒμ§€ μžλ™μœΌλ‘œ μ±„μ›Œμ§„ μž…λ ₯ 폼이 λ Œλ”λ§λ©λ‹ˆλ‹€.
179
+ λΈŒλΌμš°μ €μ—μ„œ 폼 μ’…λ₯˜ (TBM 회의둝 / κ΅΄μ°© μž‘μ—…κ³„νšμ„œ / μ •κΈ° μœ„ν—˜μ„±ν‰κ°€ λ“±) λ₯Ό μ„ νƒν•˜λ©΄, λΉˆμΉΈΒ·μ˜ˆμ‹œΒ·λ²•λ Ή μΈμš©κΉŒμ§€ μžλ™μœΌλ‘œ μ±„μ›Œμ§„ μž…λ ₯ 폼이 λ Œλ”λ§λ©λ‹ˆλ‹€. μž…λ ₯ μ™„λ£Œ ν›„ λ³Έλ¬Έ 생성 β†’ 영ꡬ 보관 β†’ MD 파일 λ‹€μš΄λ‘œλ“œκΉŒμ§€ ν•œ νŽ˜μ΄μ§€μ—μ„œ λλ‚©λ‹ˆλ‹€.
180
180
 
181
- JSONL 만 λ”°λ‘œ λ°›μ•„ 정적 λ·°μ–΄ (`a2ui-demo/index.html`) 에 λΆ™μ—¬λ„£λŠ” 방법도 μžˆμŠ΅λ‹ˆλ‹€ β€” μžμ„Έν•œ μ•ˆλ‚΄λŠ” [`a2ui-demo/README.md`](./a2ui-demo/README.md).
181
+ > PDF 좜λ ₯이 ν•„μš”ν•˜λ©΄ λ‹€μš΄λ‘œλ“œν•œ `.md` λ₯Ό [Pandoc](https://pandoc.org/), ν•œκΈ€/ν•œμ»΄μ˜€ν”ΌμŠ€, λ˜λŠ” [Typora](https://typora.io/) λ“±μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€.
182
182
 
183
183
  ## λΉ λ₯Έ μ‹œμž‘
184
184
 
@@ -404,8 +404,8 @@ generate_safety_report
404
404
 
405
405
  ## λ“€μ–΄ μžˆλŠ” 것
406
406
 
407
- - νŒ¨ν‚€μ§€ 버전: 1.3.0
408
- - MCP 도ꡬ: 88개
407
+ - νŒ¨ν‚€μ§€ 버전: 1.4.0
408
+ - MCP 도ꡬ: 92개
409
409
  - λ²•μ •μ˜λ¬΄ λ¬Έμ„œ λ§ˆμŠ€ν„°: 94 docId
410
410
  - ν’€κ°€μ΄λ“œ: 19개
411
411
  - 양식 인덱슀: 132 formId
@@ -537,6 +537,7 @@ npm run mcp:tools
537
537
  ## 제곡 Β· 개발
538
538
 
539
539
  - **제곡**: 황룑건섀(μ£Ό) μ•ˆμ „λ³΄κ±΄κΈ°νšλΆ€ β€” 도메인 κ²€μ¦Β·ν˜„μž₯ μš”κ΅¬μ‚¬ν•­Β·μ‹œλ‚˜λ¦¬μ˜€ 제곡
540
+ - λŒ€ν‘œμž: ν™©ν•œμΌ Β· μ£Όμ†Œ: 좩청남도 μ•„μ‚°μ‹œ μ—ΌμΉ˜μ 좩무둜431번길 9
540
541
  - **개발**: μ£Όμ‹νšŒμ‚¬ λΌν…”μ›μŠ€ (Ratelworks Inc.) β€” MCP μ„œλ²„ μ„€κ³„Β·κ΅¬ν˜„Β·μ˜€ν”ˆμ†ŒμŠ€ μœ μ§€. 곡곡 μ•ˆμ „μžλ£Œ μ ‘κ·Όμ„± κ°œμ„ . <alphamale@ratelworks.co.kr>
541
542
 
542
543
  ## μˆ˜μƒ 이λ ₯
@@ -188,6 +188,18 @@ export declare const CAPABILITY_REGISTRY_ENTRIES: readonly [readonly ["search_ac
188
188
  }], readonly ["render_a2ui_form", {
189
189
  readonly capabilityIRI: "safety:capability/render_a2ui_form";
190
190
  readonly category: "meta";
191
+ }], readonly ["request_field_help", {
192
+ readonly capabilityIRI: "safety:capability/request_field_help";
193
+ readonly category: "safety_doc";
194
+ }], readonly ["suggest_controls_for_hazard", {
195
+ readonly capabilityIRI: "safety:capability/suggest_controls_for_hazard";
196
+ readonly category: "safety_doc";
197
+ }], readonly ["analyze_work_context", {
198
+ readonly capabilityIRI: "safety:capability/analyze_work_context";
199
+ readonly category: "construction";
200
+ }], readonly ["preview_review", {
201
+ readonly capabilityIRI: "safety:capability/preview_review";
202
+ readonly category: "safety_doc";
191
203
  }], readonly ["render_profile_input_form", {
192
204
  readonly capabilityIRI: "safety:capability/render_profile_input_form";
193
205
  readonly category: "site_profile";
@@ -1 +1 @@
1
- {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../src/capability-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,cAAc,GACd,MAAM,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,qBAAqB,MAAM,EAAE,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgGoC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,4CAElC,CAAC;AAEF,eAAO,MAAM,2BAA2B,iCA0FtC,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEtF;AAGD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuC5D"}
1
+ {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../src/capability-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUzE,MAAM,MAAM,kBAAkB,GAC1B,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,cAAc,GACd,MAAM,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,qBAAqB,MAAM,EAAE,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGoC,CAAC;AAE7E,eAAO,MAAM,sBAAsB,4CAElC,CAAC;AAEF,eAAO,MAAM,2BAA2B,iCA+FtC,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEtF;AAGD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuC5D"}
@@ -67,6 +67,11 @@ export const CAPABILITY_REGISTRY_ENTRIES = [
67
67
  ["export_drafted_document", { capabilityIRI: "safety:capability/export_drafted_document", category: "safety_doc" }],
68
68
  ["assemble_doc_context", { capabilityIRI: "safety:capability/assemble_doc_context", category: "safety_doc" }],
69
69
  ["render_a2ui_form", { capabilityIRI: "safety:capability/render_a2ui_form", category: "meta" }],
70
+ // ADR 002 Active Graph Authoring Loop β€” 4 μ‹ κ·œ 도ꡬ (v1.4.0)
71
+ ["request_field_help", { capabilityIRI: "safety:capability/request_field_help", category: "safety_doc" }],
72
+ ["suggest_controls_for_hazard", { capabilityIRI: "safety:capability/suggest_controls_for_hazard", category: "safety_doc" }],
73
+ ["analyze_work_context", { capabilityIRI: "safety:capability/analyze_work_context", category: "construction" }],
74
+ ["preview_review", { capabilityIRI: "safety:capability/preview_review", category: "safety_doc" }],
70
75
  ["render_profile_input_form", { capabilityIRI: "safety:capability/render_profile_input_form", category: "site_profile" }],
71
76
  ["save_profile_from_form", { capabilityIRI: "safety:capability/save_profile_from_form", category: "site_profile" }],
72
77
  ["save_form_draft", { capabilityIRI: "safety:capability/save_form_draft", category: "meta" }],
@@ -165,6 +170,11 @@ export const CAPABILITY_CATEGORY_BY_TOOL = new Map([
165
170
  ["export_drafted_document", "safety_doc"],
166
171
  ["assemble_doc_context", "safety_doc"],
167
172
  ["render_a2ui_form", "meta"],
173
+ // ADR 002 Active Graph Authoring Loop β€” 4 μ‹ κ·œ 도ꡬ (v1.4.0)
174
+ ["request_field_help", "safety_doc"],
175
+ ["suggest_controls_for_hazard", "safety_doc"],
176
+ ["analyze_work_context", "construction"],
177
+ ["preview_review", "safety_doc"],
168
178
  ["render_profile_input_form", "site_profile"],
169
179
  ["save_profile_from_form", "site_profile"],
170
180
  ["save_form_draft", "meta"],
@@ -1 +1 @@
1
- {"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../src/capability-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../src/capability-registry.ts"],"names":[],"mappings":"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"}
package/build/cli.js CHANGED
@@ -3,11 +3,13 @@ import { Command } from "commander";
3
3
  import { SERVER_NAME, VERSION, PROVIDED_BY, DEVELOPED_BY } from "./version.js";
4
4
  import { TOOLS, findTool, attachCredits } from "./tool-registry.js";
5
5
  import { toMcpErrorContent } from "./lib/errors.js";
6
+ import { toolInputToMeta, getFieldKind, getObjectShape } from "./lib/schema-introspection.js";
6
7
  // 파일 μ΅œμƒλ‹¨ μƒμˆ˜ β€” CLI μ„œλΈŒμ»€λ§¨λ“œ 라벨
7
8
  const CMD = {
8
9
  SERVE: "serve",
9
10
  TOOLS: "tools",
10
11
  CALL: "call",
12
+ DESCRIBE: "describe",
11
13
  };
12
14
  const program = new Command();
13
15
  program
@@ -25,21 +27,33 @@ program
25
27
  .action(async () => {
26
28
  await import("./index.js");
27
29
  });
28
- program
30
+ const toolsCmd = program
29
31
  .command(CMD.TOOLS)
30
32
  .description("List registered MCP tools (grouped by category, --json for raw)")
31
33
  .option("--json", "JSON 덀프 λͺ¨λ“œ (κΈ°μ‘΄ λ™μž‘)")
34
+ .option("--with-schema", "inputSchema (properties Β· required) ν•¨κ»˜ 좜λ ₯ β€” Issue #4")
32
35
  .option("--no-key-required", "곡곡데이터 API ν‚€ 없이 λ°”λ‘œ μ“Έ 수 μžˆλŠ” λ„κ΅¬λ§Œ ν‘œμ‹œ")
33
36
  .action((opts) => {
34
- const rows = TOOLS.map((t) => ({
35
- name: t.name,
36
- description: t.description,
37
- category: categorizeTool(t.name),
38
- needsApiKey: TOOLS_NEEDING_API_KEY.has(t.name),
39
- }));
37
+ const rows = TOOLS.map((t) => {
38
+ const base = {
39
+ name: t.name,
40
+ description: t.description,
41
+ category: categorizeTool(t.name),
42
+ needsApiKey: TOOLS_NEEDING_API_KEY.has(t.name),
43
+ };
44
+ if (opts.withSchema) {
45
+ try {
46
+ base.inputSchema = toolInputToMeta(t.inputSchema);
47
+ }
48
+ catch {
49
+ base.inputSchema = { type: "object", properties: {}, required: [] };
50
+ }
51
+ }
52
+ return base;
53
+ });
40
54
  const filtered = opts.keyRequired === false ? rows.filter((r) => !r.needsApiKey) : rows;
41
55
  if (opts.json) {
42
- // 좜λ ₯ 데이터: { name, description, category, needsApiKey: boolean }
56
+ // 좜λ ₯ 데이터: { name, description, category, needsApiKey: boolean, inputSchema? }
43
57
  // needsApiKey λŠ” boolean (true/false) 만 λ…ΈμΆœ β€” API ν‚€ κ°’ μžμ²΄λŠ” 포함 X.
44
58
  // CodeQL js/clear-text-logging 은 "needsApiKey" ν‚€ μ΄λ¦„λ§Œ 보고 μž‘μ§€λ§Œ false positive.
45
59
  // eslint-disable-next-line no-console
@@ -66,14 +80,97 @@ program
66
80
  for (const it of items) {
67
81
  const key = it.needsApiKey ? " πŸ”‘" : "";
68
82
  const short = it.description.replace(/\s+/g, " ").slice(0, 110);
69
- console.log(` β€’ ${it.name}${key}\n ${short}${short.length >= 110 ? "…" : ""}`);
83
+ // Issue #4 β€” μ‚¬λžŒ 가독 좜λ ₯에 required ν•„λ“œ ν•œ 쀄 ν‘œμ‹œ
84
+ const tool = findTool(it.name);
85
+ let requiredLine = "";
86
+ if (tool) {
87
+ try {
88
+ const meta = toolInputToMeta(tool.inputSchema);
89
+ if (meta.required.length > 0) {
90
+ requiredLine = `\n ν•„μˆ˜: ${meta.required.join(", ")}`;
91
+ }
92
+ }
93
+ catch { }
94
+ }
95
+ console.log(` β€’ ${it.name}${key}\n ${short}${short.length >= 110 ? "…" : ""}${requiredLine}`);
70
96
  }
71
97
  console.log("");
72
98
  }
73
99
  console.log(" πŸ”‘ = 곡곡데이터포털 API ν‚€ ν•„μš” (DATA_GO_KR_KEY)");
74
100
  console.log(" '--no-key-required' 둜 ν‚€ λΆˆν•„μš” λ„κ΅¬λ§Œ ν•„ν„° / '--json' 으둜 raw 덀프");
101
+ console.log(" 'tools describe <name>' 으둜 단일 λ„κ΅¬μ˜ inputSchema 상세 / '--with-schema' 둜 전체 JSON 좜λ ₯");
75
102
  /* eslint-enable no-console */
76
103
  });
104
+ // Issue #4 β€” tools describe <name> μ„œλΈŒμ»€λ§¨λ“œ (toolsCmd 의 ν•˜μœ„λ‘œ 등둝 β€” Commander nested νŒ¨ν„΄)
105
+ toolsCmd
106
+ .command(`${CMD.DESCRIBE} <toolName>`)
107
+ .description("Show input schema (properties Β· required Β· type) for a specific tool")
108
+ .option("--json", "JSON 덀프")
109
+ .action((toolName, opts) => {
110
+ const tool = findTool(toolName);
111
+ if (!tool) {
112
+ // eslint-disable-next-line no-console
113
+ console.error(`Unknown tool: ${toolName}`);
114
+ process.exit(2);
115
+ }
116
+ const meta = toolInputToMeta(tool.inputSchema);
117
+ if (opts.json) {
118
+ // eslint-disable-next-line no-console
119
+ console.log(JSON.stringify({ name: tool.name, title: tool.title, description: tool.description, inputSchema: meta }, null, 2));
120
+ return;
121
+ }
122
+ /* eslint-disable no-console */
123
+ console.log(`# ${tool.title ?? tool.name}\n`);
124
+ console.log(tool.description);
125
+ console.log("");
126
+ console.log(`## Input Schema`);
127
+ console.log(`ν•„μˆ˜: ${meta.required.length > 0 ? meta.required.join(", ") : "(μ—†μŒ)"}`);
128
+ console.log("");
129
+ for (const [key, field] of Object.entries(meta.properties)) {
130
+ const req = meta.required.includes(key) ? " *ν•„μˆ˜*" : "";
131
+ const def = field.default !== undefined ? ` (κΈ°λ³Έ=${JSON.stringify(field.default)})` : "";
132
+ const enumStr = field.enumValues ? ` [${field.enumValues.join("|")}]` : "";
133
+ console.log(` - ${key}: ${field.type}${enumStr}${req}${def}`);
134
+ if (field.description)
135
+ console.log(` ${field.description}`);
136
+ }
137
+ console.log("");
138
+ console.log(`## 호좜 μ˜ˆμ‹œ`);
139
+ console.log(` node build/cli.js call ${tool.name} --inputJson '${JSON.stringify(buildExampleInput(meta))}'`);
140
+ /* eslint-enable no-console */
141
+ });
142
+ // μ˜ˆμ‹œ μž…λ ₯ 생성 (ν•„μˆ˜λ§Œ)
143
+ function buildExampleInput(meta) {
144
+ const out = {};
145
+ for (const key of meta.required) {
146
+ const f = meta.properties[key];
147
+ if (!f)
148
+ continue;
149
+ switch (f.type) {
150
+ case "string":
151
+ out[key] = f.enumValues?.[0] ?? "string_value";
152
+ break;
153
+ case "number":
154
+ out[key] = 0;
155
+ break;
156
+ case "boolean":
157
+ out[key] = true;
158
+ break;
159
+ case "array":
160
+ out[key] = [];
161
+ break;
162
+ case "object":
163
+ out[key] = {};
164
+ break;
165
+ case "enum":
166
+ out[key] = f.enumValues?.[0] ?? "enum_value";
167
+ break;
168
+ default:
169
+ out[key] = null;
170
+ }
171
+ }
172
+ return out;
173
+ }
77
174
  const TOOLS_NEEDING_API_KEY = new Set([
78
175
  // get_kosha_guide_content (legacy) λŠ” λ²ˆλ“€ ν†΅ν•©μœΌλ‘œ 제거 (ν‚€ λΆˆν•„μš”)
79
176
  "search_accident_cases",
@@ -113,7 +210,10 @@ program
113
210
  console.error(`Unknown tool: ${toolName}`);
114
211
  process.exit(2);
115
212
  }
116
- const args = parseKeyValueArgs(cmd.args.slice(1));
213
+ // Issue #3 β€” schema-aware coercion. tool.inputSchema 의 shape 으둜 각 ν‚€μ˜ expected type 확인.
214
+ // 예: industryCode: ZodString β†’ "41" 을 string 으둜 보쑴 (Number λ³€ν™˜ X).
215
+ const fieldKinds = extractFieldKinds(tool.inputSchema);
216
+ const args = parseKeyValueArgs(cmd.args.slice(1), fieldKinds);
117
217
  // --inputJson κ°€ 있으면 μš°μ„  μ‚¬μš©. coerceArgValue κ°€ 이미 객체둜 νŒŒμ‹±ν–ˆμ„ 수
118
218
  // μžˆμœΌλ―€λ‘œ νƒ€μž… κ°€λ“œλ‘œ λ‘˜ λ‹€ μ²˜λ¦¬ν•œλ‹€.
119
219
  let input;
@@ -138,10 +238,25 @@ program
138
238
  process.exit(1);
139
239
  }
140
240
  });
141
- // --key value λ₯Ό λ°›μ•„μ„œ 각 값을 μ΅œλŒ€ν•œ λ„€μ΄ν‹°λΈŒ νƒ€μž…μœΌλ‘œ μΆ”μ •ν•΄ λ°˜ν™˜
142
- // Zod schema λŠ” coerce κ°€ κ±Έλ € μžˆμœΌλ―€λ‘œ λŸ°νƒ€μž„μ΄ string 이어도 λŒ€λΆ€λΆ„ λ™μž‘ν•˜μ§€λ§Œ,
143
- // λ°°μ—΄μ΄λ‚˜ boolean 같은 경우 λ¬Έμžμ—΄λ‘œ λ„˜μ–΄κ°€λ©΄ schema κ°€ λ°›μ§€ λͺ»ν•œλ‹€.
144
- function parseKeyValueArgs(tokens) {
241
+ // Issue #3 β€” inputSchema 의 shape μ—μ„œ 각 ν‚€μ˜ FieldKind μΆ”μΆœ (schema-aware coercion)
242
+ function extractFieldKinds(inputSchema) {
243
+ try {
244
+ const shape = getObjectShape(inputSchema);
245
+ if (!shape)
246
+ return {};
247
+ const out = {};
248
+ for (const [key, fieldSchema] of Object.entries(shape)) {
249
+ out[key] = getFieldKind(fieldSchema);
250
+ }
251
+ return out;
252
+ }
253
+ catch {
254
+ return {};
255
+ }
256
+ }
257
+ // --key value λ₯Ό λ°›μ•„μ„œ 각 값을 inputSchema 의 expected type 에 맞좰 coerce.
258
+ // Issue #3 fix β€” string ν•„λ“œλŠ” λ”°μ˜΄ν‘œ μž…λ ₯을 보쑴 (number μžλ™ λ³€ν™˜ X).
259
+ function parseKeyValueArgs(tokens, fieldKinds = {}) {
145
260
  const out = {};
146
261
  for (let i = 0; i < tokens.length; i += 1) {
147
262
  const tok = tokens[i];
@@ -153,20 +268,23 @@ function parseKeyValueArgs(tokens) {
153
268
  out[key] = true;
154
269
  continue;
155
270
  }
156
- out[key] = coerceArgValue(next);
271
+ out[key] = coerceArgValue(next, fieldKinds[key]);
157
272
  i += 1;
158
273
  }
159
274
  return out;
160
275
  }
161
- function coerceArgValue(raw) {
276
+ function coerceArgValue(raw, expectedKind) {
277
+ // Issue #3 β€” string ν•„λ“œλŠ” raw κ·ΈλŒ€λ‘œ 보쑴 (μΈμš©λΆ€ν˜Έ 제거된 string 인자 보호)
278
+ if (expectedKind === "string" || expectedKind === "enum")
279
+ return raw;
162
280
  // inputJson 은 μƒμœ„μ—μ„œ 별도 μ²˜λ¦¬ν•˜λ―€λ‘œ μ—¬κΈ°μ„  κ±΄λ„ˆλœ€
163
- // 1) boolean
281
+ // 1) boolean (string/enum 은 μœ„μ—μ„œ return β€” λ‚˜λ¨Έμ§€μ—μ„œλ§Œ λ³€ν™˜)
164
282
  if (raw === "true")
165
283
  return true;
166
284
  if (raw === "false")
167
285
  return false;
168
- // 2) JSON λ¦¬ν„°λŸ΄ (λ°°μ—΄/객체/숫자/λ¬Έμžμ—΄)
169
- if (/^[\[{]/.test(raw)) {
286
+ // 2) JSON λ¦¬ν„°λŸ΄ (λ°°μ—΄/객체) β€” array/object λ˜λŠ” unknown 일 λ•Œ
287
+ if (/^[\[{]/.test(raw) && (expectedKind === "array" || expectedKind === "object" || expectedKind === undefined || expectedKind === "unknown")) {
170
288
  try {
171
289
  return JSON.parse(raw);
172
290
  }
@@ -175,14 +293,25 @@ function coerceArgValue(raw) {
175
293
  }
176
294
  }
177
295
  // 3) 콀마 λ°°μ—΄ (예: --sections 2,8)
178
- if (raw.includes(",") && !/[A-Za-zκ°€-힣\s]/.test(raw)) {
296
+ if (expectedKind === "array" &&
297
+ raw.includes(",") &&
298
+ !/[A-Za-zκ°€-힣\s]/.test(raw)) {
179
299
  const parts = raw.split(",").map((p) => p.trim()).filter(Boolean);
180
300
  return parts.map((p) => (isFiniteNumberString(p) ? Number(p) : p));
181
301
  }
182
- // 4) 순수 숫자
183
- if (isFiniteNumberString(raw))
302
+ // 4) number ν•„λ“œ β€” Number λ³€ν™˜
303
+ if (expectedKind === "number" && isFiniteNumberString(raw))
184
304
  return Number(raw);
185
- // 5) κ·Έ μ™Έ λ¬Έμžμ—΄
305
+ // 5) unknown ν•„λ“œ (schema λ―Έμˆ˜μ§‘) β€” κΈ°μ‘΄ λ™μž‘ μœ μ§€ (BC 보쑴)
306
+ if (expectedKind === undefined || expectedKind === "unknown") {
307
+ if (raw.includes(",") && !/[A-Za-zκ°€-힣\s]/.test(raw)) {
308
+ const parts = raw.split(",").map((p) => p.trim()).filter(Boolean);
309
+ return parts.map((p) => (isFiniteNumberString(p) ? Number(p) : p));
310
+ }
311
+ if (isFiniteNumberString(raw))
312
+ return Number(raw);
313
+ }
314
+ // 6) κ·Έ μ™Έ λ¬Έμžμ—΄
186
315
  return raw;
187
316
  }
188
317
  function isFiniteNumberString(s) {
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAkB,MAAM,+BAA+B,CAAC;AAE9G,2BAA2B;AAC3B,MAAM,GAAG,GAAG;IACV,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,0BAA0B,WAAW,UAAU,YAAY,GAAG,CAC/D;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,qBAAqB;AACrB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAChG,sCAAsC;IACtC,OAAO,CAAC,KAAK,CACX,IAAI,WAAW,KAAK,OAAO,SAAS,WAAW,UAAU,YAAY,EAAE,CACxE,CAAC;AACJ,CAAC;AAED,OAAO;KACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;KAClB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;KAClB,WAAW,CAAC,iEAAiE,CAAC;KAC9E,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC;KACtC,MAAM,CACL,eAAe,EACf,sDAAsD,CACvD;KACA,MAAM,CACL,mBAAmB,EACnB,iCAAiC,CAClC;KACA,MAAM,CAAC,CAAC,IAAqE,EAAE,EAAE;IAQhF,MAAM,IAAI,GAAc,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YAChC,WAAW,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;SAC/C,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,8EAA8E;QAC9E,8DAA8D;QAC9D,4EAA4E;QAC5E,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAA0C;QACpD,kBAAkB,EAAE,EAAE;QACtB,mBAAmB,EAAE,EAAE;QACvB,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,EAAE;QACnB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;KACd,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAErD,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,KAAK,OAAO,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;IACtF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChE,0CAA0C;YAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,IAAc,CAAC,CAAC;YACzC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC7B,YAAY,GAAG,aAAa,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,GAAG,SAAS,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;IACpG,8BAA8B;AAChC,CAAC,CAAC,CAAC;AAEL,mFAAmF;AACnF,QAAQ;KACL,OAAO,CAAC,GAAG,GAAG,CAAC,QAAQ,aAAa,CAAC;KACrC,WAAW,CAAC,sEAAsE,CAAC;KACnF,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;KAC3B,MAAM,CAAC,CAAC,QAAgB,EAAE,IAAwB,EAAE,EAAE;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,sCAAsC;QACtC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EACxF,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,+BAA+B;IAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CACT,4BAA4B,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CACjG,CAAC;IACF,8BAA8B;AAChC,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,SAAS,iBAAiB,CAAC,IAAwC;IACjE,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC;gBAC/C,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACb,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;gBAChB,MAAM;YACR,KAAK,OAAO;gBACV,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,QAAQ;gBACX,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,MAAM;gBACT,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;gBAC7C,MAAM;YACR;gBACE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAYD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS;IAC5C,wDAAwD;IACxD,uBAAuB;IACvB,+BAA+B;IAC/B,qCAAqC;IACrC,4BAA4B;IAC5B,yBAAyB;IACzB,aAAa;IACb,0BAA0B;CAC3B,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,IAAI,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAChD,IACE,IAAI,KAAK,iCAAiC;QAC1C,IAAI,KAAK,2BAA2B;QAEpC,OAAO,IAAI,CAAC;IACd,IACE,IAAI,KAAK,oBAAoB;QAC7B,IAAI,KAAK,wBAAwB;QACjC,IAAI,KAAK,uBAAuB;QAEhC,OAAO,gBAAgB,CAAC;IAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACrD,OAAO,eAAe,CAAC;IACzB,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC/D,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,OAAO;KACJ,OAAO,CAAC,GAAG,GAAG,CAAC,IAAI,aAAa,CAAC;KACjC,WAAW,CAAC,yDAAyD,CAAC;KACtE,kBAAkB,CAAC,IAAI,CAAC;KACxB,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uFAAuF;IACvF,kEAAkE;IAClE,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,0DAA0D;IAC1D,wBAAwB;IACxB,IAAI,KAAc,CAAC;IACnB,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,GAAI,IAAgC,CAAC,SAAS,CAAC;QACtD,KAAK,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,8EAA8E;AAC9E,SAAS,iBAAiB,CAAC,WAAoB;IAC7C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,cAAc,CAAC,WAAkB,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,GAAG,GAA8B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,yDAAyD;AACzD,SAAS,iBAAiB,CAAC,MAAgB,EAAE,aAAwC,EAAE;IACrF,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAChB,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,YAAwB;IAC3D,2DAA2D;IAC3D,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAErE,oCAAoC;IACpC,oDAAoD;IACpD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAClC,oDAAoD;IACpD,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC,EAAE,CAAC;QAC9I,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,+BAA+B;IAC/B,IACE,YAAY,KAAK,OAAO;QACxB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QACjB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAC1B,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,2BAA2B;IAC3B,IAAI,YAAY,KAAK,QAAQ,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/E,gDAAgD;IAChD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,aAAa;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAS;IACrC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}