@tienne/gestalt 0.98.0 → 0.100.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 (175) hide show
  1. package/CLAUDE.md +2 -1
  2. package/README.md +3 -2
  3. package/dist/package.json +2 -2
  4. package/dist/plugin/research-sources/amplitude/SOURCE.md +28 -0
  5. package/dist/plugin/research-sources/app-store-reviews/SOURCE.md +25 -0
  6. package/dist/plugin/research-sources/app-store-search/SOURCE.md +25 -0
  7. package/dist/plugin/research-sources/tech-blog-search/SOURCE.md +27 -0
  8. package/dist/plugin/research-sources/uibowl/SOURCE.md +26 -0
  9. package/dist/plugin/research-sources/web-search/SOURCE.md +24 -0
  10. package/dist/plugin/skills/_shared/proactive-routing.md +5 -0
  11. package/dist/plugin/skills/architecture/SKILL.md +1 -1
  12. package/dist/plugin/skills/market-scan/SKILL.md +61 -0
  13. package/dist/plugin/skills/research/SKILL.md +438 -0
  14. package/dist/plugin/skills/research/references/design.md +938 -0
  15. package/dist/plugin/skills/research/references/output-template.md +366 -0
  16. package/dist/plugin/skills/research/scripts/pii-vision.swift +327 -0
  17. package/dist/plugin/skills/research/scripts/slide-extract.mjs +223 -0
  18. package/dist/plugin/skills/reverse-plan/SKILL.md +52 -0
  19. package/dist/plugin/skills/screen-ref/SKILL.md +63 -0
  20. package/dist/plugin/skills/ux-research/SKILL.md +51 -0
  21. package/dist/src/architecture/validator.d.ts +17 -1
  22. package/dist/src/architecture/validator.d.ts.map +1 -1
  23. package/dist/src/architecture/validator.js +61 -45
  24. package/dist/src/architecture/validator.js.map +1 -1
  25. package/dist/src/core/config.d.ts +17 -0
  26. package/dist/src/core/config.d.ts.map +1 -1
  27. package/dist/src/core/config.js +4 -0
  28. package/dist/src/core/config.js.map +1 -1
  29. package/dist/src/core/source-location.d.ts +32 -0
  30. package/dist/src/core/source-location.d.ts.map +1 -0
  31. package/dist/src/core/source-location.js +87 -0
  32. package/dist/src/core/source-location.js.map +1 -0
  33. package/dist/src/execute/orchestrators/evolution.d.ts +3 -1
  34. package/dist/src/execute/orchestrators/evolution.d.ts.map +1 -1
  35. package/dist/src/execute/orchestrators/evolution.js +4 -2
  36. package/dist/src/execute/orchestrators/evolution.js.map +1 -1
  37. package/dist/src/execute/orchestrators/execution.d.ts +3 -1
  38. package/dist/src/execute/orchestrators/execution.d.ts.map +1 -1
  39. package/dist/src/execute/orchestrators/execution.js +4 -2
  40. package/dist/src/execute/orchestrators/execution.js.map +1 -1
  41. package/dist/src/execute/passthrough-engine.d.ts +2 -1
  42. package/dist/src/execute/passthrough-engine.d.ts.map +1 -1
  43. package/dist/src/execute/passthrough-engine.js +3 -3
  44. package/dist/src/execute/passthrough-engine.js.map +1 -1
  45. package/dist/src/execute/prompts.d.ts.map +1 -1
  46. package/dist/src/execute/prompts.js +20 -2
  47. package/dist/src/execute/prompts.js.map +1 -1
  48. package/dist/src/mcp/schemas.d.ts +93 -0
  49. package/dist/src/mcp/schemas.d.ts.map +1 -1
  50. package/dist/src/mcp/schemas.js +110 -0
  51. package/dist/src/mcp/schemas.js.map +1 -1
  52. package/dist/src/mcp/server.d.ts.map +1 -1
  53. package/dist/src/mcp/server.js +12 -2
  54. package/dist/src/mcp/server.js.map +1 -1
  55. package/dist/src/mcp/tools/execute/evaluate.js +1 -1
  56. package/dist/src/mcp/tools/execute/evaluate.js.map +1 -1
  57. package/dist/src/mcp/tools/research-passthrough.d.ts +21 -0
  58. package/dist/src/mcp/tools/research-passthrough.d.ts.map +1 -0
  59. package/dist/src/mcp/tools/research-passthrough.js +566 -0
  60. package/dist/src/mcp/tools/research-passthrough.js.map +1 -0
  61. package/dist/src/memory/project-memory-store.d.ts +7 -0
  62. package/dist/src/memory/project-memory-store.d.ts.map +1 -1
  63. package/dist/src/memory/project-memory-store.js +17 -0
  64. package/dist/src/memory/project-memory-store.js.map +1 -1
  65. package/dist/src/research/canvas-view.d.ts +5 -0
  66. package/dist/src/research/canvas-view.d.ts.map +1 -0
  67. package/dist/src/research/canvas-view.js +274 -0
  68. package/dist/src/research/canvas-view.js.map +1 -0
  69. package/dist/src/research/evidence.d.ts +145 -0
  70. package/dist/src/research/evidence.d.ts.map +1 -0
  71. package/dist/src/research/evidence.js +50 -0
  72. package/dist/src/research/evidence.js.map +1 -0
  73. package/dist/src/research/figma-plan.d.ts +80 -0
  74. package/dist/src/research/figma-plan.d.ts.map +1 -0
  75. package/dist/src/research/figma-plan.js +527 -0
  76. package/dist/src/research/figma-plan.js.map +1 -0
  77. package/dist/src/research/figma-script.d.ts +19 -0
  78. package/dist/src/research/figma-script.d.ts.map +1 -0
  79. package/dist/src/research/figma-script.js +363 -0
  80. package/dist/src/research/figma-script.js.map +1 -0
  81. package/dist/src/research/index.d.ts +8 -0
  82. package/dist/src/research/index.d.ts.map +1 -0
  83. package/dist/src/research/index.js +8 -0
  84. package/dist/src/research/index.js.map +1 -0
  85. package/dist/src/research/pii-core.d.ts +16 -0
  86. package/dist/src/research/pii-core.d.ts.map +1 -0
  87. package/dist/src/research/pii-core.js +345 -0
  88. package/dist/src/research/pii-core.js.map +1 -0
  89. package/dist/src/research/pii-dom.d.ts +13 -0
  90. package/dist/src/research/pii-dom.d.ts.map +1 -0
  91. package/dist/src/research/pii-dom.js +208 -0
  92. package/dist/src/research/pii-dom.js.map +1 -0
  93. package/dist/src/research/pii-image.d.ts +71 -0
  94. package/dist/src/research/pii-image.d.ts.map +1 -0
  95. package/dist/src/research/pii-image.js +163 -0
  96. package/dist/src/research/pii-image.js.map +1 -0
  97. package/dist/src/research/pii.d.ts +21 -0
  98. package/dist/src/research/pii.d.ts.map +1 -0
  99. package/dist/src/research/pii.js +47 -0
  100. package/dist/src/research/pii.js.map +1 -0
  101. package/dist/src/research/product-profile.d.ts +108 -0
  102. package/dist/src/research/product-profile.d.ts.map +1 -0
  103. package/dist/src/research/product-profile.js +104 -0
  104. package/dist/src/research/product-profile.js.map +1 -0
  105. package/dist/src/research/render-html.d.ts +203 -0
  106. package/dist/src/research/render-html.d.ts.map +1 -0
  107. package/dist/src/research/render-html.js +901 -0
  108. package/dist/src/research/render-html.js.map +1 -0
  109. package/dist/src/research/schema-base.d.ts +5 -0
  110. package/dist/src/research/schema-base.d.ts.map +1 -0
  111. package/dist/src/research/schema-base.js +10 -0
  112. package/dist/src/research/schema-base.js.map +1 -0
  113. package/dist/src/research/schema.d.ts +5142 -0
  114. package/dist/src/research/schema.d.ts.map +1 -0
  115. package/dist/src/research/schema.js +991 -0
  116. package/dist/src/research/schema.js.map +1 -0
  117. package/dist/src/research/source-create.d.ts +79 -0
  118. package/dist/src/research/source-create.d.ts.map +1 -0
  119. package/dist/src/research/source-create.js +226 -0
  120. package/dist/src/research/source-create.js.map +1 -0
  121. package/dist/src/research/source-registry.d.ts +29 -0
  122. package/dist/src/research/source-registry.d.ts.map +1 -0
  123. package/dist/src/research/source-registry.js +74 -0
  124. package/dist/src/research/source-registry.js.map +1 -0
  125. package/dist/src/research/source-schema.d.ts +158 -0
  126. package/dist/src/research/source-schema.d.ts.map +1 -0
  127. package/dist/src/research/source-schema.js +215 -0
  128. package/dist/src/research/source-schema.js.map +1 -0
  129. package/dist/src/research/source-status.d.ts +40 -0
  130. package/dist/src/research/source-status.d.ts.map +1 -0
  131. package/dist/src/research/source-status.js +109 -0
  132. package/dist/src/research/source-status.js.map +1 -0
  133. package/dist/src/research/store.d.ts +24 -0
  134. package/dist/src/research/store.d.ts.map +1 -0
  135. package/dist/src/research/store.js +60 -0
  136. package/dist/src/research/store.js.map +1 -0
  137. package/dist/src/research/target-view.d.ts +33 -0
  138. package/dist/src/research/target-view.d.ts.map +1 -0
  139. package/dist/src/research/target-view.js +133 -0
  140. package/dist/src/research/target-view.js.map +1 -0
  141. package/dist/src/research/target.d.ts +883 -0
  142. package/dist/src/research/target.d.ts.map +1 -0
  143. package/dist/src/research/target.js +323 -0
  144. package/dist/src/research/target.js.map +1 -0
  145. package/dist/src/research/video-transfer.d.ts +28 -0
  146. package/dist/src/research/video-transfer.d.ts.map +1 -0
  147. package/dist/src/research/video-transfer.js +100 -0
  148. package/dist/src/research/video-transfer.js.map +1 -0
  149. package/dist/src/spec/generator.d.ts.map +1 -1
  150. package/dist/src/spec/generator.js +3 -2
  151. package/dist/src/spec/generator.js.map +1 -1
  152. package/dist/src/spec/passthrough-generator.d.ts.map +1 -1
  153. package/dist/src/spec/passthrough-generator.js +6 -4
  154. package/dist/src/spec/passthrough-generator.js.map +1 -1
  155. package/package.json +2 -2
  156. package/plugin/.codex-plugin/plugin.json +1 -1
  157. package/plugin/.mcp.json +1 -1
  158. package/plugin/mcp.json +1 -1
  159. package/plugin/research-sources/amplitude/SOURCE.md +28 -0
  160. package/plugin/research-sources/app-store-reviews/SOURCE.md +25 -0
  161. package/plugin/research-sources/app-store-search/SOURCE.md +25 -0
  162. package/plugin/research-sources/tech-blog-search/SOURCE.md +27 -0
  163. package/plugin/research-sources/uibowl/SOURCE.md +26 -0
  164. package/plugin/research-sources/web-search/SOURCE.md +24 -0
  165. package/plugin/skills/_shared/proactive-routing.md +5 -0
  166. package/plugin/skills/architecture/SKILL.md +1 -1
  167. package/plugin/skills/market-scan/SKILL.md +61 -0
  168. package/plugin/skills/research/SKILL.md +438 -0
  169. package/plugin/skills/research/references/design.md +938 -0
  170. package/plugin/skills/research/references/output-template.md +366 -0
  171. package/plugin/skills/research/scripts/pii-vision.swift +327 -0
  172. package/plugin/skills/research/scripts/slide-extract.mjs +223 -0
  173. package/plugin/skills/reverse-plan/SKILL.md +52 -0
  174. package/plugin/skills/screen-ref/SKILL.md +63 -0
  175. package/plugin/skills/ux-research/SKILL.md +51 -0
@@ -0,0 +1,203 @@
1
+ import type { EvidenceRef } from './evidence.js';
2
+ import { type Finding, type Research } from './schema.js';
3
+ import type { ResearchAudience } from './store.js';
4
+ export interface LoadedImage {
5
+ mime: string;
6
+ data: Buffer;
7
+ }
8
+ export interface RenderOptions {
9
+ audience: ResearchAudience;
10
+ /** research 폴더 안 상대 경로의 이미지. 없거나 못 읽으면 null */
11
+ loadImage: (relativePath: string) => LoadedImage | null;
12
+ }
13
+ export type RenderResult = {
14
+ ok: true;
15
+ html: string;
16
+ warnings: string[];
17
+ } | {
18
+ ok: false;
19
+ code: 'SHARE_BLOCKED';
20
+ message: string;
21
+ captureIds: string[];
22
+ };
23
+ export declare const AXIS_LABEL: {
24
+ readonly 'same-market': "같은 시장";
25
+ readonly 'same-problem': "같은 문제";
26
+ readonly 'own-service': "우리 서비스";
27
+ };
28
+ export declare const DOMAIN_FIT_LABEL: {
29
+ readonly same: "같은 도메인";
30
+ readonly adjacent: "이웃 도메인";
31
+ readonly different: "다른 도메인";
32
+ };
33
+ /** 축 뒤에 도메인 일치를 붙인다. 다른 도메인 사례는 수치를 그대로 빌려오면 안 돼서 표에서 바로 보이게 한다 */
34
+ export declare const axisText: (p: Research["productCandidates"][number]) => string;
35
+ export declare const SOURCE_LABEL: {
36
+ readonly 'app-explore': "앱 탐색";
37
+ readonly uibowl: "유아이볼";
38
+ readonly 'site-search': "사이트 검색";
39
+ readonly youtube: "영상";
40
+ readonly 'store-screenshot': "스토어 스크린샷";
41
+ readonly 'tech-blog': "기술 블로그";
42
+ readonly 'own-app': "우리 앱 캡처";
43
+ readonly 'own-web': "우리 웹 캡처";
44
+ readonly figma: "피그마";
45
+ readonly none: "출처 없음";
46
+ };
47
+ export declare const CAPTURE_STATE_LABEL: {
48
+ readonly captured: "캡처함";
49
+ readonly 'reference-image': "레퍼런스 이미지";
50
+ readonly 'stopped-before-payment': "결제 직전에 멈춤";
51
+ readonly 'not-captured': "캡처 못 함";
52
+ };
53
+ export declare const CAPTURE_KIND_LABEL: {
54
+ readonly direct: "직접 캡처";
55
+ readonly 'reference-db': "레퍼런스 DB";
56
+ readonly 'video-frame': "영상 프레임";
57
+ readonly store: "스토어";
58
+ readonly 'own-app': "우리 앱 캡처";
59
+ readonly 'own-web': "우리 웹 캡처";
60
+ readonly figma: "피그마";
61
+ };
62
+ export declare const PII_LABEL: {
63
+ readonly replaced: "개인정보를 가짜 값으로 바꿈";
64
+ readonly none: "탐지 0건";
65
+ readonly unchecked: "개인정보 미확인";
66
+ };
67
+ export declare const EVIDENCE_LABEL: {
68
+ readonly observation: "관찰";
69
+ readonly 'company-statement': "회사 발언";
70
+ readonly interpretation: "해석";
71
+ };
72
+ export declare const CONFIDENCE_LABEL: {
73
+ readonly likely: "유력";
74
+ readonly trial: "시험";
75
+ readonly hold: "보류";
76
+ readonly out: "제외";
77
+ };
78
+ export declare const ROW_KIND_LABEL: {
79
+ readonly graded: "기준";
80
+ readonly burden: "구현 부담";
81
+ readonly risk: "위험";
82
+ };
83
+ export declare const BASIS_LABEL: {
84
+ readonly observation: "관찰";
85
+ readonly 'company-statement': "회사 발언";
86
+ readonly interpretation: "해석";
87
+ readonly unconfirmed: "확인 못함";
88
+ readonly absent: "없음";
89
+ };
90
+ export declare const PATTERN_LABEL: {
91
+ readonly common: "동일 패턴";
92
+ readonly split: "서비스별 분기";
93
+ readonly unique: "단독 구현";
94
+ };
95
+ export declare const FINDING_KIND_LABEL: {
96
+ readonly wow: "와우";
97
+ readonly pain: "페인";
98
+ readonly insight: "인사이트";
99
+ readonly design: "설계 힌트";
100
+ };
101
+ export declare const VIEWPOINT_LABEL: {
102
+ readonly user: "사용자";
103
+ readonly biz: "비즈니스";
104
+ };
105
+ export declare const OWNER_LABEL: {
106
+ readonly immediate: "바로 정함";
107
+ readonly data: "데이터 확인 선행";
108
+ readonly 'other-team': "다른 직군 확인";
109
+ };
110
+ export declare const ADOPTION_LABEL: {
111
+ readonly adopted: "채택";
112
+ readonly candidate: "채택 후보";
113
+ readonly rejected: "채택하지 않음";
114
+ };
115
+ export declare const VIDEO_KIND_LABEL: {
116
+ readonly 'screen-recording': "화면 녹화";
117
+ readonly seminar: "세미나";
118
+ readonly mixed: "섞임";
119
+ };
120
+ export declare const VIDEO_ORIGIN_LABEL: {
121
+ readonly public: "공개 영상";
122
+ readonly recorded: "직접 녹화";
123
+ };
124
+ export declare const VIDEO_GROUP_LABEL: {
125
+ readonly flow: "제품별 흐름";
126
+ readonly slot: "구좌별";
127
+ readonly type: "유형별";
128
+ readonly summary: "종합";
129
+ };
130
+ export declare const VIDEO_NATURE_LABEL: {
131
+ readonly direction: "방향성";
132
+ readonly convention: "관례";
133
+ };
134
+ export declare const VIDEO_CADENCE_LABEL: {
135
+ readonly always: "상시";
136
+ readonly seasonal: "분기";
137
+ readonly exclusive: "단독";
138
+ };
139
+ export interface VideoTable {
140
+ heading: string;
141
+ head: string[];
142
+ rows: string[][];
143
+ }
144
+ export declare const PLATFORM_LABEL: {
145
+ readonly ios: "iOS";
146
+ readonly aos: "AOS";
147
+ readonly web: "웹";
148
+ };
149
+ export declare const GESTURE_LABEL: {
150
+ readonly tap: "탭";
151
+ readonly swipe: "스와이프";
152
+ readonly drag: "드래그";
153
+ readonly scroll: "스크롤";
154
+ readonly press: "길게 누름";
155
+ readonly pan: "팬";
156
+ readonly input: "입력";
157
+ };
158
+ export declare const ATTEMPT_LABEL: {
159
+ readonly found: "찾음";
160
+ readonly partial: "일부만 찾음";
161
+ readonly 'not-found': "못 찾음";
162
+ readonly 'too-many': "너무 많아 못 고름";
163
+ };
164
+ /** 역기획의 화면 주석 카드 이름. 발견의 종류를 그대로 옮긴다 */
165
+ export declare const ANNOTATION_LABEL: {
166
+ readonly wow: "WOW";
167
+ readonly pain: "BAD";
168
+ readonly insight: "INSIGHT";
169
+ readonly design: "Design";
170
+ };
171
+ /**
172
+ * 근거 여러 개를 괄호 하나로 묶는다. 프레임이 이어지면 "(프레임 08, 09)"처럼 접두어를 한 번만 쓴다.
173
+ * 링크는 글자만으로 갈 곳을 알 수 없어 뺀다(HTML이 따로 건다)
174
+ */
175
+ export declare function evidenceGroupLabel(research: Research, list: EvidenceRef[], shared: boolean): string;
176
+ /** 격자 칸에 붙일 와우와 페인. 발견의 구좌(slot)가 행의 기준 이름과 같은 것만 모은다 */
177
+ export declare function gridFindings(research: Research, referenceId: string, criterion: string): Finding[];
178
+ /**
179
+ * 종합 표. 비교표 기호와 판단 순위와 발견에서 코드가 모은 것이라 새 주장은 없다.
180
+ * 두 렌더러가 같은 표를 쓴다
181
+ */
182
+ export declare function buildSummaryTables(research: Research): VideoTable[];
183
+ /** 화면 흐름 섹션이 그릴 내용이 있는지 */
184
+ export declare function hasFlowSection(research: Research): boolean;
185
+ /**
186
+ * 역기획의 화면 흐름을 표 목록으로 푼다. 전이, 번호 마커, 화면 주석, 시도 기록, 사용자 유형 순이다.
187
+ * 두 렌더러가 같은 표를 쓴다
188
+ */
189
+ export declare function buildFlowTables(research: Research, shared: boolean): VideoTable[];
190
+ /** 영상 분석 섹션의 제목. 단독 문서는 0, 1번 뒤에 바로 오므로 2번이다 */
191
+ export declare function videoSectionTitle(research: Research): string;
192
+ /** 영상 블록이 있거나 영상 분석 문서일 때만 섹션을 낸다 */
193
+ export declare function hasVideoSection(research: Research): boolean;
194
+ /**
195
+ * 영상 섹션을 표 목록으로 푼다. 첫 표는 영상 목록이고 뒤는 design.md 8.2절의 묶음 순서
196
+ * (제품별 흐름, 구좌별, 유형별, 종합)대로 발견을 모은다. 두 렌더러가 같은 표를 쓴다
197
+ */
198
+ export declare function buildVideoTables(research: Research): VideoTable[];
199
+ export declare function escapeHtml(text: string): string;
200
+ /** 근거 한 줄의 괄호 안 글자. 비교표와 발견 끝에 "(프레임 08)"처럼 붙는다 */
201
+ export declare function evidenceLabel(research: Research, ev: EvidenceRef, shared: boolean): string;
202
+ export declare function renderResearchHtml(research: Research, opts: RenderOptions): RenderResult;
203
+ //# sourceMappingURL=render-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-html.d.ts","sourceRoot":"","sources":["../../../src/research/render-html.ts"],"names":[],"mappings":"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"}