@tienne/gestalt 0.88.0 → 0.89.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 (197) hide show
  1. package/CLAUDE.md +6 -2
  2. package/README.ko.md +2 -1
  3. package/README.md +3 -1
  4. package/dist/package.json +2 -1
  5. package/dist/plugin/skills/_shared/proactive-routing.md +1 -0
  6. package/dist/plugin/skills/architecture/SKILL.md +913 -0
  7. package/dist/schemas/architecture-ir.schema.json +596 -0
  8. package/dist/src/architecture/canvas-geometry.d.ts +40 -0
  9. package/dist/src/architecture/canvas-geometry.d.ts.map +1 -0
  10. package/dist/src/architecture/canvas-geometry.js +212 -0
  11. package/dist/src/architecture/canvas-geometry.js.map +1 -0
  12. package/dist/src/architecture/codeowners.d.ts +16 -0
  13. package/dist/src/architecture/codeowners.d.ts.map +1 -0
  14. package/dist/src/architecture/codeowners.js +58 -0
  15. package/dist/src/architecture/codeowners.js.map +1 -0
  16. package/dist/src/architecture/compare-layout.d.ts +27 -0
  17. package/dist/src/architecture/compare-layout.d.ts.map +1 -0
  18. package/dist/src/architecture/compare-layout.js +72 -0
  19. package/dist/src/architecture/compare-layout.js.map +1 -0
  20. package/dist/src/architecture/dataflow-layout.d.ts +29 -0
  21. package/dist/src/architecture/dataflow-layout.d.ts.map +1 -0
  22. package/dist/src/architecture/dataflow-layout.js +229 -0
  23. package/dist/src/architecture/dataflow-layout.js.map +1 -0
  24. package/dist/src/architecture/doc-fresh.d.ts +31 -0
  25. package/dist/src/architecture/doc-fresh.d.ts.map +1 -0
  26. package/dist/src/architecture/doc-fresh.js +84 -0
  27. package/dist/src/architecture/doc-fresh.js.map +1 -0
  28. package/dist/src/architecture/doc-link.d.ts +84 -0
  29. package/dist/src/architecture/doc-link.d.ts.map +1 -0
  30. package/dist/src/architecture/doc-link.js +396 -0
  31. package/dist/src/architecture/doc-link.js.map +1 -0
  32. package/dist/src/architecture/doc-routes.d.ts +39 -0
  33. package/dist/src/architecture/doc-routes.d.ts.map +1 -0
  34. package/dist/src/architecture/doc-routes.js +123 -0
  35. package/dist/src/architecture/doc-routes.js.map +1 -0
  36. package/dist/src/architecture/doc-scan.d.ts +107 -0
  37. package/dist/src/architecture/doc-scan.d.ts.map +1 -0
  38. package/dist/src/architecture/doc-scan.js +617 -0
  39. package/dist/src/architecture/doc-scan.js.map +1 -0
  40. package/dist/src/architecture/doc-stale.d.ts +32 -0
  41. package/dist/src/architecture/doc-stale.d.ts.map +1 -0
  42. package/dist/src/architecture/doc-stale.js +60 -0
  43. package/dist/src/architecture/doc-stale.js.map +1 -0
  44. package/dist/src/architecture/drilldown.d.ts +51 -0
  45. package/dist/src/architecture/drilldown.d.ts.map +1 -0
  46. package/dist/src/architecture/drilldown.js +1160 -0
  47. package/dist/src/architecture/drilldown.js.map +1 -0
  48. package/dist/src/architecture/endpoint-match.d.ts +43 -0
  49. package/dist/src/architecture/endpoint-match.d.ts.map +1 -0
  50. package/dist/src/architecture/endpoint-match.js +133 -0
  51. package/dist/src/architecture/endpoint-match.js.map +1 -0
  52. package/dist/src/architecture/flow-layout.d.ts +79 -0
  53. package/dist/src/architecture/flow-layout.d.ts.map +1 -0
  54. package/dist/src/architecture/flow-layout.js +519 -0
  55. package/dist/src/architecture/flow-layout.js.map +1 -0
  56. package/dist/src/architecture/focus.d.ts +14 -0
  57. package/dist/src/architecture/focus.d.ts.map +1 -0
  58. package/dist/src/architecture/focus.js +107 -0
  59. package/dist/src/architecture/focus.js.map +1 -0
  60. package/dist/src/architecture/global-context.d.ts +23 -0
  61. package/dist/src/architecture/global-context.d.ts.map +1 -0
  62. package/dist/src/architecture/global-context.js +67 -0
  63. package/dist/src/architecture/global-context.js.map +1 -0
  64. package/dist/src/architecture/html-client.d.ts +35 -0
  65. package/dist/src/architecture/html-client.d.ts.map +1 -0
  66. package/dist/src/architecture/html-client.js +1852 -0
  67. package/dist/src/architecture/html-client.js.map +1 -0
  68. package/dist/src/architecture/html-renderer.d.ts +22 -0
  69. package/dist/src/architecture/html-renderer.d.ts.map +1 -0
  70. package/dist/src/architecture/html-renderer.js +1290 -0
  71. package/dist/src/architecture/html-renderer.js.map +1 -0
  72. package/dist/src/architecture/html-theme.d.ts +25 -0
  73. package/dist/src/architecture/html-theme.d.ts.map +1 -0
  74. package/dist/src/architecture/html-theme.js +681 -0
  75. package/dist/src/architecture/html-theme.js.map +1 -0
  76. package/dist/src/architecture/index.d.ts +9 -0
  77. package/dist/src/architecture/index.d.ts.map +1 -0
  78. package/dist/src/architecture/index.js +9 -0
  79. package/dist/src/architecture/index.js.map +1 -0
  80. package/dist/src/architecture/ir-schema.d.ts +1832 -0
  81. package/dist/src/architecture/ir-schema.d.ts.map +1 -0
  82. package/dist/src/architecture/ir-schema.js +343 -0
  83. package/dist/src/architecture/ir-schema.js.map +1 -0
  84. package/dist/src/architecture/kind-text.d.ts +21 -0
  85. package/dist/src/architecture/kind-text.d.ts.map +1 -0
  86. package/dist/src/architecture/kind-text.js +42 -0
  87. package/dist/src/architecture/kind-text.js.map +1 -0
  88. package/dist/src/architecture/layout.d.ts +227 -0
  89. package/dist/src/architecture/layout.d.ts.map +1 -0
  90. package/dist/src/architecture/layout.js +627 -0
  91. package/dist/src/architecture/layout.js.map +1 -0
  92. package/dist/src/architecture/mcp-tool-match.d.ts +49 -0
  93. package/dist/src/architecture/mcp-tool-match.d.ts.map +1 -0
  94. package/dist/src/architecture/mcp-tool-match.js +53 -0
  95. package/dist/src/architecture/mcp-tool-match.js.map +1 -0
  96. package/dist/src/architecture/merge.d.ts +54 -0
  97. package/dist/src/architecture/merge.d.ts.map +1 -0
  98. package/dist/src/architecture/merge.js +681 -0
  99. package/dist/src/architecture/merge.js.map +1 -0
  100. package/dist/src/architecture/micro-app.d.ts +20 -0
  101. package/dist/src/architecture/micro-app.d.ts.map +1 -0
  102. package/dist/src/architecture/micro-app.js +41 -0
  103. package/dist/src/architecture/micro-app.js.map +1 -0
  104. package/dist/src/architecture/name-ref-match.d.ts +43 -0
  105. package/dist/src/architecture/name-ref-match.d.ts.map +1 -0
  106. package/dist/src/architecture/name-ref-match.js +127 -0
  107. package/dist/src/architecture/name-ref-match.js.map +1 -0
  108. package/dist/src/architecture/packs/data.d.ts +109 -0
  109. package/dist/src/architecture/packs/data.d.ts.map +1 -0
  110. package/dist/src/architecture/packs/data.js +64 -0
  111. package/dist/src/architecture/packs/data.js.map +1 -0
  112. package/dist/src/architecture/packs/generic.d.ts +47 -0
  113. package/dist/src/architecture/packs/generic.d.ts.map +1 -0
  114. package/dist/src/architecture/packs/generic.js +35 -0
  115. package/dist/src/architecture/packs/generic.js.map +1 -0
  116. package/dist/src/architecture/packs/harness.d.ts +96 -0
  117. package/dist/src/architecture/packs/harness.d.ts.map +1 -0
  118. package/dist/src/architecture/packs/harness.js +66 -0
  119. package/dist/src/architecture/packs/harness.js.map +1 -0
  120. package/dist/src/architecture/packs/index.d.ts +840 -0
  121. package/dist/src/architecture/packs/index.d.ts.map +1 -0
  122. package/dist/src/architecture/packs/index.js +87 -0
  123. package/dist/src/architecture/packs/index.js.map +1 -0
  124. package/dist/src/architecture/packs/infra.d.ts +91 -0
  125. package/dist/src/architecture/packs/infra.d.ts.map +1 -0
  126. package/dist/src/architecture/packs/infra.js +57 -0
  127. package/dist/src/architecture/packs/infra.js.map +1 -0
  128. package/dist/src/architecture/packs/knowledge.d.ts +72 -0
  129. package/dist/src/architecture/packs/knowledge.d.ts.map +1 -0
  130. package/dist/src/architecture/packs/knowledge.js +58 -0
  131. package/dist/src/architecture/packs/knowledge.js.map +1 -0
  132. package/dist/src/architecture/packs/process.d.ts +87 -0
  133. package/dist/src/architecture/packs/process.d.ts.map +1 -0
  134. package/dist/src/architecture/packs/process.js +52 -0
  135. package/dist/src/architecture/packs/process.js.map +1 -0
  136. package/dist/src/architecture/packs/render-classes.d.ts +11 -0
  137. package/dist/src/architecture/packs/render-classes.d.ts.map +1 -0
  138. package/dist/src/architecture/packs/render-classes.js +92 -0
  139. package/dist/src/architecture/packs/render-classes.js.map +1 -0
  140. package/dist/src/architecture/packs/types.d.ts +66 -0
  141. package/dist/src/architecture/packs/types.d.ts.map +1 -0
  142. package/dist/src/architecture/packs/types.js +18 -0
  143. package/dist/src/architecture/packs/types.js.map +1 -0
  144. package/dist/src/architecture/packs/web-product.d.ts +348 -0
  145. package/dist/src/architecture/packs/web-product.d.ts.map +1 -0
  146. package/dist/src/architecture/packs/web-product.js +226 -0
  147. package/dist/src/architecture/packs/web-product.js.map +1 -0
  148. package/dist/src/architecture/sequence-layout.d.ts +50 -0
  149. package/dist/src/architecture/sequence-layout.d.ts.map +1 -0
  150. package/dist/src/architecture/sequence-layout.js +140 -0
  151. package/dist/src/architecture/sequence-layout.js.map +1 -0
  152. package/dist/src/architecture/service-facts.d.ts +30 -0
  153. package/dist/src/architecture/service-facts.d.ts.map +1 -0
  154. package/dist/src/architecture/service-facts.js +88 -0
  155. package/dist/src/architecture/service-facts.js.map +1 -0
  156. package/dist/src/architecture/store.d.ts +50 -0
  157. package/dist/src/architecture/store.d.ts.map +1 -0
  158. package/dist/src/architecture/store.js +320 -0
  159. package/dist/src/architecture/store.js.map +1 -0
  160. package/dist/src/architecture/types.d.ts +400 -0
  161. package/dist/src/architecture/types.d.ts.map +1 -0
  162. package/dist/src/architecture/types.js +75 -0
  163. package/dist/src/architecture/types.js.map +1 -0
  164. package/dist/src/architecture/validator.d.ts +65 -0
  165. package/dist/src/architecture/validator.d.ts.map +1 -0
  166. package/dist/src/architecture/validator.js +1249 -0
  167. package/dist/src/architecture/validator.js.map +1 -0
  168. package/dist/src/core/errors.d.ts +4 -0
  169. package/dist/src/core/errors.d.ts.map +1 -1
  170. package/dist/src/core/errors.js +8 -0
  171. package/dist/src/core/errors.js.map +1 -1
  172. package/dist/src/mcp/schemas.d.ts +317 -0
  173. package/dist/src/mcp/schemas.d.ts.map +1 -1
  174. package/dist/src/mcp/schemas.js +151 -0
  175. package/dist/src/mcp/schemas.js.map +1 -1
  176. package/dist/src/mcp/server.d.ts.map +1 -1
  177. package/dist/src/mcp/server.js +7 -1
  178. package/dist/src/mcp/server.js.map +1 -1
  179. package/dist/src/mcp/tools/architecture-passthrough.d.ts +9 -0
  180. package/dist/src/mcp/tools/architecture-passthrough.d.ts.map +1 -0
  181. package/dist/src/mcp/tools/architecture-passthrough.js +587 -0
  182. package/dist/src/mcp/tools/architecture-passthrough.js.map +1 -0
  183. package/dist/src/utils/claude-projects.d.ts +19 -0
  184. package/dist/src/utils/claude-projects.d.ts.map +1 -0
  185. package/dist/src/utils/claude-projects.js +157 -0
  186. package/dist/src/utils/claude-projects.js.map +1 -0
  187. package/dist/src/utils/read-only-tools.d.ts +19 -0
  188. package/dist/src/utils/read-only-tools.d.ts.map +1 -0
  189. package/dist/src/utils/read-only-tools.js +132 -0
  190. package/dist/src/utils/read-only-tools.js.map +1 -0
  191. package/package.json +2 -1
  192. package/plugin/.codex-plugin/plugin.json +1 -1
  193. package/plugin/.mcp.json +1 -1
  194. package/plugin/mcp.json +1 -1
  195. package/plugin/skills/_shared/proactive-routing.md +1 -0
  196. package/plugin/skills/architecture/SKILL.md +913 -0
  197. package/schemas/architecture-ir.schema.json +596 -0
@@ -0,0 +1,92 @@
1
+ /**
2
+ * 렌더 분류마다 기본 모양. 범용 component가 이 모양을 그대로 받는다.
3
+ * 새 팩 kind는 classLook으로 여기 색과 아이콘을 빌리고 칩 글자만 바꿔 쓴다
4
+ */
5
+ export const RENDER_CLASS_LOOKS = {
6
+ actor: {
7
+ renderClass: 'actor',
8
+ short: '사람',
9
+ text: '사람이나 역할',
10
+ color: { light: '#b45309', dark: '#fbbf24' },
11
+ icon: '<circle cx="12" cy="8" r="3.5"/><path d="M5 20a7 7 0 0 1 14 0"/>',
12
+ },
13
+ client: {
14
+ renderClass: 'client',
15
+ short: '클라이언트',
16
+ text: '사람이 쓰는 앱이나 도구',
17
+ color: { light: '#4f46e5', dark: '#818cf8' },
18
+ icon: '<rect x="3" y="4.5" width="18" height="15" rx="2.5"/><path d="M3 9h18"/>',
19
+ },
20
+ service: {
21
+ renderClass: 'service',
22
+ short: '서비스',
23
+ text: '요청을 받아 처리하는 서비스',
24
+ color: { light: '#2563eb', dark: '#60a5fa' },
25
+ icon: '<path d="M12 3.5l8.5 4.3L12 12 3.5 7.8z"/><path d="M3.5 12.2L12 16.5l8.5-4.3"/><path d="M3.5 16.4L12 20.7l8.5-4.3"/>',
26
+ },
27
+ gateway: {
28
+ renderClass: 'gateway',
29
+ short: '관문',
30
+ text: '요청이 먼저 지나는 관문',
31
+ color: { light: '#475569', dark: '#94a3b8' },
32
+ icon: '<path d="M12 3l7.5 3v5.5c0 4.4-3.1 8-7.5 9.5-4.4-1.5-7.5-5.1-7.5-9.5V6z"/>',
33
+ },
34
+ store: {
35
+ renderClass: 'store',
36
+ short: '저장소',
37
+ text: '데이터를 담아두는 곳',
38
+ color: { light: '#dc2626', dark: '#f87171' },
39
+ icon: '<ellipse cx="12" cy="5.5" rx="7.5" ry="2.8"/><path d="M4.5 5.5v13c0 1.5 3.4 2.8 7.5 2.8s7.5-1.3 7.5-2.8v-13"/><path d="M4.5 12c0 1.5 3.4 2.8 7.5 2.8s7.5-1.3 7.5-2.8"/>',
40
+ },
41
+ queue: {
42
+ renderClass: 'queue',
43
+ short: '큐',
44
+ text: '메시지를 쌓아두고 넘기는 곳',
45
+ color: { light: '#0f766e', dark: '#5eead4' },
46
+ icon: '<rect x="3" y="7" width="4" height="10" rx="1"/><rect x="10" y="7" width="4" height="10" rx="1"/><rect x="17" y="7" width="4" height="10" rx="1"/>',
47
+ },
48
+ external: {
49
+ renderClass: 'external',
50
+ short: '외부',
51
+ text: '우리가 운영하지 않는 바깥 시스템',
52
+ color: { light: '#57534e', dark: '#a8a29e' },
53
+ icon: '<path d="M7 18.5a4.5 4.5 0 0 1-.7-8.95A6 6 0 0 1 17.8 8.6a4.95 4.95 0 0 1-.8 9.9z"/>',
54
+ },
55
+ infra: {
56
+ renderClass: 'infra',
57
+ short: '인프라',
58
+ text: '서비스가 올라가는 기반',
59
+ color: { light: '#9333ea', dark: '#c084fc' },
60
+ icon: '<rect x="4" y="4" width="16" height="6" rx="1.5"/><rect x="4" y="14" width="16" height="6" rx="1.5"/><path d="M8 7h.01M8 17h.01"/>',
61
+ },
62
+ step: {
63
+ renderClass: 'step',
64
+ short: '단계',
65
+ text: '일이 진행되는 한 단계',
66
+ color: { light: '#0891b2', dark: '#22d3ee' },
67
+ icon: '<rect x="3.5" y="6" width="17" height="12" rx="3"/><path d="M9 12h6M13 9.5l2.5 2.5-2.5 2.5"/>',
68
+ },
69
+ state: {
70
+ renderClass: 'state',
71
+ short: '상태',
72
+ text: '무언가가 머무는 상태',
73
+ color: { light: '#65a30d', dark: '#a3e635' },
74
+ icon: '<circle cx="12" cy="12" r="8"/><circle cx="12" cy="12" r="3"/>',
75
+ },
76
+ document: {
77
+ renderClass: 'document',
78
+ short: '문서',
79
+ text: '문서나 기록',
80
+ color: { light: '#c026d3', dark: '#e879f9' },
81
+ icon: '<path d="M6 3.5h9l3.5 3.5v13.5H6z"/><path d="M15 3.5V7h3.5M9 12h6M9 15.5h6"/>',
82
+ },
83
+ };
84
+ /** 분류의 색과 아이콘을 빌리고 칩 글자와 설명만 팩 것으로 바꾼다 */
85
+ export function classLook(renderClass, short, text) {
86
+ return { ...RENDER_CLASS_LOOKS[renderClass], short, text };
87
+ }
88
+ /** component 노드의 표시 종류 키. CSS 클래스와 아이콘 id에 그대로 들어간다 */
89
+ export function componentDisplayKind(renderClass) {
90
+ return `cx_${renderClass}`;
91
+ }
92
+ //# sourceMappingURL=render-classes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-classes.js","sourceRoot":"","sources":["../../../../src/architecture/packs/render-classes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * 카드 색과 아이콘을 고르는 작은 고정 분류. 팩의 kind는 이 중 하나에 걸린다.
3
+ * 팩 kind는 자기 색과 아이콘을 쓴다. 범용 component만 이 분류의 모양을 그대로 받는다
4
+ */
5
+ export declare const RENDER_CLASSES: readonly ["actor", "client", "service", "gateway", "store", "queue", "external", "infra", "step", "state", "document"];
6
+ export type RenderClass = (typeof RENDER_CLASSES)[number];
7
+ export interface KindColor {
8
+ light: string;
9
+ dark: string;
10
+ }
11
+ /** 카드에 보이는 모양. 칩 글자, 읽는 사람 말, 색, 24 격자 선 아이콘 path */
12
+ export interface KindLook {
13
+ renderClass: RenderClass;
14
+ short: string;
15
+ text: string;
16
+ color: KindColor;
17
+ icon: string;
18
+ }
19
+ export interface NodeKindDef extends KindLook {
20
+ /** 평면 그림에서 서는 레인 id. 같은 팩이나 requires한 팩의 lanes에 있어야 한다 */
21
+ lane: string;
22
+ /** 왼쪽부터 서는 열 순위. 작을수록 왼쪽이다 */
23
+ rank: number;
24
+ /** 이 kind가 parent로 둘 수 있는 kind. 없으면 parent를 못 가진다 */
25
+ parents?: readonly string[];
26
+ }
27
+ export interface LaneDef {
28
+ title: string;
29
+ /** 같은 레인끼리 잇는 선을 elk에 안 넘기고 세로로 쌓는다. 화면 이동처럼 요청 흐름이 아닌 선이 그 레인 안에 있다 */
30
+ stacked?: boolean;
31
+ }
32
+ export interface EdgeKindDef {
33
+ text: string;
34
+ /** 평면 그림에서 레인 순서가 화살표 반대라 오른쪽에서 왼쪽으로 그린다 */
35
+ backward?: boolean;
36
+ /** 양 끝에 올 수 있는 kind. 없으면 끝을 가리지 않는다 */
37
+ ends?: {
38
+ from: readonly string[];
39
+ to: readonly string[];
40
+ };
41
+ }
42
+ /**
43
+ * 드릴다운 알고리즘 이름. web-product는 전체 → 서비스 → 기능 영역 → 화면으로 내려가는 지금 그림이다.
44
+ * tree는 parent 포함 관계로 레벨을 나눈다. none은 평면 한 장으로 그린다
45
+ */
46
+ export type DrilldownStrategy = 'web-product' | 'tree' | 'none';
47
+ /**
48
+ * 카테고리 하나의 어휘. 새 카테고리는 이 데이터만 더하고 렌더러와 드릴다운 코드는 안 고친다.
49
+ * 레코드의 키 순서가 HTML에 싣는 표의 순서라 기존 팩의 순서를 바꾸면 기존 그림 바이트가 바뀐다
50
+ */
51
+ export interface VocabularyPack {
52
+ id: string;
53
+ title: string;
54
+ description: string;
55
+ /** 이 팩이 kind나 엣지를 빌려 쓰는 팩. 해석할 때 먼저 들어간다 */
56
+ requires?: readonly string[];
57
+ drilldown: DrilldownStrategy;
58
+ /** 이 팩 IR에 거는 매칭 이름. http-endpoint는 FE 호출과 BE 라우트, mcp-tool은 스킬의 도구 호출, 나머지는 match_endpoints의 nameRefs로 돈다 */
59
+ matchers: readonly string[];
60
+ nodeKinds: Readonly<Record<string, NodeKindDef>>;
61
+ /** IR kind는 아니지만 카드에 따로 보이는 종류. MCP 도구는 IR에서 endpoint다 */
62
+ displayKinds?: Readonly<Record<string, KindLook>>;
63
+ lanes: Readonly<Record<string, LaneDef>>;
64
+ edgeKinds: Readonly<Record<string, EdgeKindDef>>;
65
+ }
66
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/architecture/packs/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,cAAc,wHAYjB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CAC3D;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,8GAA8G;IAC9G,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACjD,0DAA0D;IAC1D,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;CAClD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 카드 색과 아이콘을 고르는 작은 고정 분류. 팩의 kind는 이 중 하나에 걸린다.
3
+ * 팩 kind는 자기 색과 아이콘을 쓴다. 범용 component만 이 분류의 모양을 그대로 받는다
4
+ */
5
+ export const RENDER_CLASSES = [
6
+ 'actor',
7
+ 'client',
8
+ 'service',
9
+ 'gateway',
10
+ 'store',
11
+ 'queue',
12
+ 'external',
13
+ 'infra',
14
+ 'step',
15
+ 'state',
16
+ 'document',
17
+ ];
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/architecture/packs/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,OAAO;IACP,MAAM;IACN,OAAO;IACP,UAAU;CACF,CAAC"}
@@ -0,0 +1,348 @@
1
+ /**
2
+ * 웹 제품. 화면에서 API, 서버, DB로 가는 요청 길과 그 서빙 인프라, 배포 경로를 그린다.
3
+ * 색은 밝은 화면이 600 톤, 어두운 화면이 400 톤이다. 같은 색상환 자리라 테마를 바꿔도 같은 종류로 읽힌다.
4
+ * 열 순위는 두 뷰의 kind가 겹치지 않아 표 하나로 둘 다 덮는다. 뷰①은 service→feature→screen→gateway→endpoint→module→클라이언트→테이블,
5
+ * 뷰②는 workflow→build→artifact→배포처 순서로 왼쪽부터 놓인다. 인프라는 배포 경로에서 산출물이 떨어지는 버킷부터 CDN, 도메인 순으로
6
+ * 오른쪽에 붙는다. 요청 방향(도메인→CDN→버킷)과 반대라 그 선은 거꾸로 그린다
7
+ */
8
+ export declare const WEB_PRODUCT_PACK: {
9
+ readonly id: "web-product";
10
+ readonly title: "웹 제품";
11
+ readonly description: "화면, API, 서버, 저장소와 서빙 인프라, 배포 경로";
12
+ readonly drilldown: "web-product";
13
+ readonly matchers: readonly ["http-endpoint"];
14
+ readonly nodeKinds: {
15
+ readonly service: {
16
+ readonly renderClass: "service";
17
+ readonly short: "서비스";
18
+ readonly text: "서비스";
19
+ readonly color: {
20
+ readonly light: "#2563eb";
21
+ readonly dark: "#60a5fa";
22
+ };
23
+ readonly icon: "<path d=\"M12 3.5l8.5 4.3L12 12 3.5 7.8z\"/><path d=\"M3.5 12.2L12 16.5l8.5-4.3\"/><path d=\"M3.5 16.4L12 20.7l8.5-4.3\"/>";
24
+ readonly lane: "screen";
25
+ readonly rank: 0;
26
+ };
27
+ readonly micro_app: {
28
+ readonly renderClass: "client";
29
+ readonly short: "리모트";
30
+ readonly text: "마이크로 프론트엔드 앱";
31
+ readonly color: {
32
+ readonly light: "#0369a1";
33
+ readonly dark: "#7dd3fc";
34
+ };
35
+ readonly icon: "<rect x=\"3.5\" y=\"3.5\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13.5\" y=\"3.5\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"3.5\" y=\"13.5\" width=\"7\" height=\"7\" rx=\"1.5\"/><path d=\"M17 13.5v7M13.5 17h7\"/>";
36
+ readonly lane: "screen";
37
+ readonly rank: 0;
38
+ readonly parents: readonly ["service"];
39
+ };
40
+ readonly feature: {
41
+ readonly renderClass: "client";
42
+ readonly short: "기능 영역";
43
+ readonly text: "기능 영역";
44
+ readonly color: {
45
+ readonly light: "#0891b2";
46
+ readonly dark: "#22d3ee";
47
+ };
48
+ readonly icon: "<path d=\"M3.5 7.5a2 2 0 0 1 2-2h3.6l2 2.2h7.4a2 2 0 0 1 2 2v7.8a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2z\"/>";
49
+ readonly lane: "screen";
50
+ readonly rank: 0;
51
+ readonly parents: readonly ["micro_app", "service"];
52
+ };
53
+ readonly screen: {
54
+ readonly renderClass: "client";
55
+ readonly short: "화면";
56
+ readonly text: "화면";
57
+ readonly color: {
58
+ readonly light: "#4f46e5";
59
+ readonly dark: "#818cf8";
60
+ };
61
+ readonly icon: "<rect x=\"3\" y=\"4.5\" width=\"18\" height=\"15\" rx=\"2.5\"/><path d=\"M3 9h18\"/><path d=\"M6.5 6.8h.01M9 6.8h.01\"/>";
62
+ readonly lane: "screen";
63
+ readonly rank: 0;
64
+ readonly parents: readonly ["feature", "micro_app", "service"];
65
+ };
66
+ readonly gateway: {
67
+ readonly renderClass: "gateway";
68
+ readonly short: "게이트웨이";
69
+ readonly text: "게이트웨이";
70
+ readonly color: {
71
+ readonly light: "#475569";
72
+ readonly dark: "#94a3b8";
73
+ };
74
+ readonly icon: "<path d=\"M12 3l7.5 3v5.5c0 4.4-3.1 8-7.5 9.5-4.4-1.5-7.5-5.1-7.5-9.5V6z\"/>";
75
+ readonly lane: "gateway";
76
+ readonly rank: 1;
77
+ };
78
+ readonly endpoint: {
79
+ readonly renderClass: "service";
80
+ readonly short: "API";
81
+ readonly text: "API";
82
+ readonly color: {
83
+ readonly light: "#059669";
84
+ readonly dark: "#34d399";
85
+ };
86
+ readonly icon: "<path d=\"M8.5 7.5L4 12l4.5 4.5M15.5 7.5L20 12l-4.5 4.5M13.5 5.5l-3 13\"/>";
87
+ readonly lane: "endpoint";
88
+ readonly rank: 2;
89
+ readonly parents: readonly ["service"];
90
+ };
91
+ readonly app_module: {
92
+ readonly renderClass: "service";
93
+ readonly short: "서버";
94
+ readonly text: "서버";
95
+ readonly color: {
96
+ readonly light: "#7c3aed";
97
+ readonly dark: "#a78bfa";
98
+ };
99
+ readonly icon: "<rect x=\"3.5\" y=\"4\" width=\"17\" height=\"7\" rx=\"1.8\"/><rect x=\"3.5\" y=\"13\" width=\"17\" height=\"7\" rx=\"1.8\"/><path d=\"M7 7.5h.01M7 16.5h.01M11 7.5h6M11 16.5h6\"/>";
100
+ readonly lane: "app_module";
101
+ readonly rank: 3;
102
+ };
103
+ readonly external_service: {
104
+ readonly renderClass: "external";
105
+ readonly short: "클라이언트";
106
+ readonly text: "호출 클라이언트";
107
+ readonly color: {
108
+ readonly light: "#d97706";
109
+ readonly dark: "#fbbf24";
110
+ };
111
+ readonly icon: "<path d=\"M9 3v4.5M15 3v4.5\"/><path d=\"M6.5 7.5h11v3.5a5.5 5.5 0 0 1-11 0z\"/><path d=\"M12 16.5V21\"/>";
112
+ readonly lane: "external_service";
113
+ readonly rank: 4;
114
+ };
115
+ readonly db_table: {
116
+ readonly renderClass: "store";
117
+ readonly short: "DB";
118
+ readonly text: "테이블";
119
+ readonly color: {
120
+ readonly light: "#dc2626";
121
+ readonly dark: "#f87171";
122
+ };
123
+ readonly icon: "<ellipse cx=\"12\" cy=\"5.5\" rx=\"7.5\" ry=\"2.8\"/><path d=\"M4.5 5.5v13c0 1.5 3.4 2.8 7.5 2.8s7.5-1.3 7.5-2.8v-13\"/><path d=\"M4.5 12c0 1.5 3.4 2.8 7.5 2.8s7.5-1.3 7.5-2.8\"/>";
124
+ readonly lane: "db_table";
125
+ readonly rank: 5;
126
+ readonly parents: readonly ["datastore"];
127
+ };
128
+ readonly datastore: {
129
+ readonly renderClass: "store";
130
+ readonly short: "저장소";
131
+ readonly text: "저장소 클러스터";
132
+ readonly color: {
133
+ readonly light: "#be123c";
134
+ readonly dark: "#fb7185";
135
+ };
136
+ readonly icon: "<ellipse cx=\"12\" cy=\"5\" rx=\"7.5\" ry=\"2.5\"/><path d=\"M4.5 5v4.5c0 1.4 3.4 2.5 7.5 2.5s7.5-1.1 7.5-2.5V5\"/><path d=\"M4.5 9.5V14c0 1.4 3.4 2.5 7.5 2.5s7.5-1.1 7.5-2.5V9.5\"/><path d=\"M4.5 14v4.5c0 1.4 3.4 2.5 7.5 2.5s7.5-1.1 7.5-2.5V14\"/>";
137
+ readonly lane: "db_table";
138
+ readonly rank: 5;
139
+ };
140
+ readonly workflow: {
141
+ readonly renderClass: "step";
142
+ readonly short: "트리거";
143
+ readonly text: "워크플로";
144
+ readonly color: {
145
+ readonly light: "#0284c7";
146
+ readonly dark: "#38bdf8";
147
+ };
148
+ readonly icon: "<path d=\"M13 2.5L4.5 13.5H11l-1 8 8.5-11H12z\"/>";
149
+ readonly lane: "workflow";
150
+ readonly rank: 0;
151
+ };
152
+ readonly build: {
153
+ readonly renderClass: "step";
154
+ readonly short: "빌드";
155
+ readonly text: "빌드";
156
+ readonly color: {
157
+ readonly light: "#0d9488";
158
+ readonly dark: "#2dd4bf";
159
+ };
160
+ readonly icon: "<path d=\"M14.5 6.2a4 4 0 0 0-5.3 5.3L3.5 17.2l3.3 3.3 5.7-5.7a4 4 0 0 0 5.3-5.3l-2.6 2.6-2.5-.2-.2-2.5z\"/>";
161
+ readonly lane: "build";
162
+ readonly rank: 1;
163
+ };
164
+ readonly artifact: {
165
+ readonly renderClass: "document";
166
+ readonly short: "산출물";
167
+ readonly text: "산출물";
168
+ readonly color: {
169
+ readonly light: "#9333ea";
170
+ readonly dark: "#c084fc";
171
+ };
172
+ readonly icon: "<path d=\"M12 2.8l8.5 4.7v9L12 21.2l-8.5-4.7v-9z\"/><path d=\"M3.5 7.5L12 12l8.5-4.5M12 12v9.2\"/>";
173
+ readonly lane: "artifact";
174
+ readonly rank: 2;
175
+ };
176
+ readonly deploy_target: {
177
+ readonly renderClass: "infra";
178
+ readonly short: "배포 대상";
179
+ readonly text: "배포 대상";
180
+ readonly color: {
181
+ readonly light: "#ea580c";
182
+ readonly dark: "#fb923c";
183
+ };
184
+ readonly icon: "<path d=\"M7 18.5a4.5 4.5 0 0 1-.7-8.95A6 6 0 0 1 17.8 8.6a4.95 4.95 0 0 1-.8 9.9z\"/><path d=\"M12 11v5M9.8 13.2L12 11l2.2 2.2\"/>";
185
+ readonly lane: "deploy_target";
186
+ readonly rank: 3;
187
+ };
188
+ readonly domain: {
189
+ readonly renderClass: "infra";
190
+ readonly short: "도메인";
191
+ readonly text: "도메인";
192
+ readonly color: {
193
+ readonly light: "#db2777";
194
+ readonly dark: "#f472b6";
195
+ };
196
+ readonly icon: "<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1\"/><path d=\"M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>";
197
+ readonly lane: "domain";
198
+ readonly rank: 6;
199
+ };
200
+ readonly cdn: {
201
+ readonly renderClass: "infra";
202
+ readonly short: "CDN";
203
+ readonly text: "CDN 배포";
204
+ readonly color: {
205
+ readonly light: "#4338ca";
206
+ readonly dark: "#a5b4fc";
207
+ };
208
+ readonly icon: "<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M3.5 12h17M12 3.5c2.5 2.6 3.5 5.4 3.5 8.5s-1 5.9-3.5 8.5c-2.5-2.6-3.5-5.4-3.5-8.5s1-5.9 3.5-8.5z\"/>";
209
+ readonly lane: "cdn";
210
+ readonly rank: 5;
211
+ };
212
+ readonly bucket: {
213
+ readonly renderClass: "store";
214
+ readonly short: "버킷";
215
+ readonly text: "스토리지 버킷";
216
+ readonly color: {
217
+ readonly light: "#16a34a";
218
+ readonly dark: "#4ade80";
219
+ };
220
+ readonly icon: "<ellipse cx=\"12\" cy=\"6.5\" rx=\"8\" ry=\"2.5\"/><path d=\"M4 6.5l2 13a2 2 0 0 0 2 1.5h8a2 2 0 0 0 2-1.5l2-13\"/>";
221
+ readonly lane: "bucket";
222
+ readonly rank: 4;
223
+ };
224
+ readonly cloud_account: {
225
+ readonly renderClass: "infra";
226
+ readonly short: "계정";
227
+ readonly text: "클라우드 계정";
228
+ readonly color: {
229
+ readonly light: "#57534e";
230
+ readonly dark: "#a8a29e";
231
+ };
232
+ readonly icon: "<rect x=\"3.5\" y=\"5\" width=\"17\" height=\"14\" rx=\"2.5\"/><circle cx=\"9\" cy=\"11\" r=\"2.2\"/><path d=\"M5.8 16.2a3.5 3.5 0 0 1 6.4 0M14.5 10h3M14.5 13.5h3\"/>";
233
+ readonly lane: "cloud_account";
234
+ readonly rank: 7;
235
+ };
236
+ };
237
+ readonly lanes: {
238
+ readonly service: {
239
+ readonly title: "서비스";
240
+ readonly stacked: true;
241
+ };
242
+ readonly host: {
243
+ readonly title: "호스트";
244
+ readonly stacked: true;
245
+ };
246
+ readonly remote: {
247
+ readonly title: "리모트";
248
+ readonly stacked: true;
249
+ };
250
+ readonly unit: {
251
+ readonly title: "기능 영역";
252
+ readonly stacked: true;
253
+ };
254
+ readonly screen: {
255
+ readonly title: "화면";
256
+ readonly stacked: true;
257
+ };
258
+ readonly gateway: {
259
+ readonly title: "게이트웨이";
260
+ };
261
+ readonly endpoint: {
262
+ readonly title: "API";
263
+ };
264
+ readonly app_module: {
265
+ readonly title: "서버";
266
+ };
267
+ readonly external_service: {
268
+ readonly title: "클라이언트";
269
+ };
270
+ readonly external: {
271
+ readonly title: "외부 서비스";
272
+ };
273
+ readonly db_table: {
274
+ readonly title: "DB";
275
+ };
276
+ readonly workflow: {
277
+ readonly title: "트리거";
278
+ };
279
+ readonly build: {
280
+ readonly title: "빌드";
281
+ };
282
+ readonly artifact: {
283
+ readonly title: "산출물";
284
+ };
285
+ readonly deploy_target: {
286
+ readonly title: "배포 대상";
287
+ };
288
+ readonly domain: {
289
+ readonly title: "도메인";
290
+ };
291
+ readonly cdn: {
292
+ readonly title: "CDN";
293
+ };
294
+ readonly bucket: {
295
+ readonly title: "버킷";
296
+ };
297
+ readonly cloud_account: {
298
+ readonly title: "클라우드 계정";
299
+ };
300
+ };
301
+ readonly edgeKinds: {
302
+ readonly calls: {
303
+ readonly text: "호출";
304
+ };
305
+ readonly handles: {
306
+ readonly text: "처리";
307
+ };
308
+ readonly uses: {
309
+ readonly text: "사용";
310
+ };
311
+ readonly reads_writes: {
312
+ readonly text: "읽기와 쓰기";
313
+ };
314
+ readonly routes: {
315
+ readonly text: "전달";
316
+ };
317
+ readonly navigates: {
318
+ readonly text: "화면 이동";
319
+ };
320
+ readonly triggers: {
321
+ readonly text: "실행";
322
+ };
323
+ readonly builds: {
324
+ readonly text: "빌드";
325
+ };
326
+ readonly produces: {
327
+ readonly text: "생성";
328
+ };
329
+ readonly deploys_to: {
330
+ readonly text: "배포";
331
+ };
332
+ readonly resolves_to: {
333
+ readonly text: "도메인 연결";
334
+ readonly backward: true;
335
+ };
336
+ readonly origin: {
337
+ readonly text: "원본";
338
+ readonly backward: true;
339
+ };
340
+ readonly serves: {
341
+ readonly text: "서빙";
342
+ };
343
+ readonly loads: {
344
+ readonly text: "런타임 로드";
345
+ };
346
+ };
347
+ };
348
+ //# sourceMappingURL=web-product.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-product.d.ts","sourceRoot":"","sources":["../../../../src/architecture/packs/web-product.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyNM,CAAC"}