@brandsystem/mcp 0.3.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 (223) hide show
  1. package/README.md +515 -0
  2. package/bin/brandsystem-mcp.mjs +2 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +20 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib/brand-dir.d.ts +56 -0
  8. package/dist/lib/brand-dir.d.ts.map +1 -0
  9. package/dist/lib/brand-dir.js +270 -0
  10. package/dist/lib/brand-dir.js.map +1 -0
  11. package/dist/lib/color-namer.d.ts +28 -0
  12. package/dist/lib/color-namer.d.ts.map +1 -0
  13. package/dist/lib/color-namer.js +155 -0
  14. package/dist/lib/color-namer.js.map +1 -0
  15. package/dist/lib/confidence.d.ts +19 -0
  16. package/dist/lib/confidence.d.ts.map +1 -0
  17. package/dist/lib/confidence.js +66 -0
  18. package/dist/lib/confidence.js.map +1 -0
  19. package/dist/lib/content-scorer.d.ts +38 -0
  20. package/dist/lib/content-scorer.d.ts.map +1 -0
  21. package/dist/lib/content-scorer.js +571 -0
  22. package/dist/lib/content-scorer.js.map +1 -0
  23. package/dist/lib/css-parser.d.ts +45 -0
  24. package/dist/lib/css-parser.d.ts.map +1 -0
  25. package/dist/lib/css-parser.js +330 -0
  26. package/dist/lib/css-parser.js.map +1 -0
  27. package/dist/lib/dtcg-compiler.d.ts +7 -0
  28. package/dist/lib/dtcg-compiler.d.ts.map +1 -0
  29. package/dist/lib/dtcg-compiler.js +89 -0
  30. package/dist/lib/dtcg-compiler.js.map +1 -0
  31. package/dist/lib/interaction-policy-compiler.d.ts +40 -0
  32. package/dist/lib/interaction-policy-compiler.d.ts.map +1 -0
  33. package/dist/lib/interaction-policy-compiler.js +60 -0
  34. package/dist/lib/interaction-policy-compiler.js.map +1 -0
  35. package/dist/lib/logo-extractor.d.ts +49 -0
  36. package/dist/lib/logo-extractor.d.ts.map +1 -0
  37. package/dist/lib/logo-extractor.js +384 -0
  38. package/dist/lib/logo-extractor.js.map +1 -0
  39. package/dist/lib/report-html.d.ts +20 -0
  40. package/dist/lib/report-html.d.ts.map +1 -0
  41. package/dist/lib/report-html.js +938 -0
  42. package/dist/lib/report-html.js.map +1 -0
  43. package/dist/lib/response.d.ts +20 -0
  44. package/dist/lib/response.d.ts.map +1 -0
  45. package/dist/lib/response.js +54 -0
  46. package/dist/lib/response.js.map +1 -0
  47. package/dist/lib/runtime-compiler.d.ts +60 -0
  48. package/dist/lib/runtime-compiler.d.ts.map +1 -0
  49. package/dist/lib/runtime-compiler.js +96 -0
  50. package/dist/lib/runtime-compiler.js.map +1 -0
  51. package/dist/lib/svg-resolver.d.ts +21 -0
  52. package/dist/lib/svg-resolver.d.ts.map +1 -0
  53. package/dist/lib/svg-resolver.js +115 -0
  54. package/dist/lib/svg-resolver.js.map +1 -0
  55. package/dist/lib/url-validator.d.ts +11 -0
  56. package/dist/lib/url-validator.d.ts.map +1 -0
  57. package/dist/lib/url-validator.js +93 -0
  58. package/dist/lib/url-validator.js.map +1 -0
  59. package/dist/lib/version.d.ts +2 -0
  60. package/dist/lib/version.d.ts.map +1 -0
  61. package/dist/lib/version.js +19 -0
  62. package/dist/lib/version.js.map +1 -0
  63. package/dist/lib/vim-generator.d.ts +13 -0
  64. package/dist/lib/vim-generator.d.ts.map +1 -0
  65. package/dist/lib/vim-generator.js +718 -0
  66. package/dist/lib/vim-generator.js.map +1 -0
  67. package/dist/resources/brand-resources.d.ts +4 -0
  68. package/dist/resources/brand-resources.d.ts.map +1 -0
  69. package/dist/resources/brand-resources.js +34 -0
  70. package/dist/resources/brand-resources.js.map +1 -0
  71. package/dist/schemas/brand-config.d.ts +28 -0
  72. package/dist/schemas/brand-config.d.ts.map +1 -0
  73. package/dist/schemas/brand-config.js +11 -0
  74. package/dist/schemas/brand-config.js.map +1 -0
  75. package/dist/schemas/brand-runtime.d.ts +251 -0
  76. package/dist/schemas/brand-runtime.d.ts.map +1 -0
  77. package/dist/schemas/brand-runtime.js +54 -0
  78. package/dist/schemas/brand-runtime.js.map +1 -0
  79. package/dist/schemas/core-identity.d.ts +302 -0
  80. package/dist/schemas/core-identity.d.ts.map +1 -0
  81. package/dist/schemas/core-identity.js +51 -0
  82. package/dist/schemas/core-identity.js.map +1 -0
  83. package/dist/schemas/index.d.ts +11 -0
  84. package/dist/schemas/index.d.ts.map +1 -0
  85. package/dist/schemas/index.js +11 -0
  86. package/dist/schemas/index.js.map +1 -0
  87. package/dist/schemas/interaction-policy.d.ts +150 -0
  88. package/dist/schemas/interaction-policy.d.ts.map +1 -0
  89. package/dist/schemas/interaction-policy.js +34 -0
  90. package/dist/schemas/interaction-policy.js.map +1 -0
  91. package/dist/schemas/messaging.d.ts +776 -0
  92. package/dist/schemas/messaging.d.ts.map +1 -0
  93. package/dist/schemas/messaging.js +68 -0
  94. package/dist/schemas/messaging.js.map +1 -0
  95. package/dist/schemas/needs-clarification.d.ts +62 -0
  96. package/dist/schemas/needs-clarification.d.ts.map +1 -0
  97. package/dist/schemas/needs-clarification.js +13 -0
  98. package/dist/schemas/needs-clarification.js.map +1 -0
  99. package/dist/schemas/strategy.d.ts +537 -0
  100. package/dist/schemas/strategy.d.ts.map +1 -0
  101. package/dist/schemas/strategy.js +71 -0
  102. package/dist/schemas/strategy.js.map +1 -0
  103. package/dist/schemas/tokens.d.ts +35 -0
  104. package/dist/schemas/tokens.d.ts.map +1 -0
  105. package/dist/schemas/tokens.js +15 -0
  106. package/dist/schemas/tokens.js.map +1 -0
  107. package/dist/schemas/visual-identity.d.ts +224 -0
  108. package/dist/schemas/visual-identity.d.ts.map +1 -0
  109. package/dist/schemas/visual-identity.js +42 -0
  110. package/dist/schemas/visual-identity.js.map +1 -0
  111. package/dist/server.d.ts +3 -0
  112. package/dist/server.d.ts.map +1 -0
  113. package/dist/server.js +75 -0
  114. package/dist/server.js.map +1 -0
  115. package/dist/tools/brand-audit-content.d.ts +3 -0
  116. package/dist/tools/brand-audit-content.d.ts.map +1 -0
  117. package/dist/tools/brand-audit-content.js +116 -0
  118. package/dist/tools/brand-audit-content.js.map +1 -0
  119. package/dist/tools/brand-audit-drift.d.ts +3 -0
  120. package/dist/tools/brand-audit-drift.d.ts.map +1 -0
  121. package/dist/tools/brand-audit-drift.js +301 -0
  122. package/dist/tools/brand-audit-drift.js.map +1 -0
  123. package/dist/tools/brand-audit.d.ts +3 -0
  124. package/dist/tools/brand-audit.d.ts.map +1 -0
  125. package/dist/tools/brand-audit.js +129 -0
  126. package/dist/tools/brand-audit.js.map +1 -0
  127. package/dist/tools/brand-build-journey.d.ts +3 -0
  128. package/dist/tools/brand-build-journey.d.ts.map +1 -0
  129. package/dist/tools/brand-build-journey.js +312 -0
  130. package/dist/tools/brand-build-journey.js.map +1 -0
  131. package/dist/tools/brand-build-matrix.d.ts +3 -0
  132. package/dist/tools/brand-build-matrix.d.ts.map +1 -0
  133. package/dist/tools/brand-build-matrix.js +525 -0
  134. package/dist/tools/brand-build-matrix.js.map +1 -0
  135. package/dist/tools/brand-build-personas.d.ts +3 -0
  136. package/dist/tools/brand-build-personas.d.ts.map +1 -0
  137. package/dist/tools/brand-build-personas.js +436 -0
  138. package/dist/tools/brand-build-personas.js.map +1 -0
  139. package/dist/tools/brand-build-themes.d.ts +3 -0
  140. package/dist/tools/brand-build-themes.d.ts.map +1 -0
  141. package/dist/tools/brand-build-themes.js +476 -0
  142. package/dist/tools/brand-build-themes.js.map +1 -0
  143. package/dist/tools/brand-check-compliance.d.ts +3 -0
  144. package/dist/tools/brand-check-compliance.d.ts.map +1 -0
  145. package/dist/tools/brand-check-compliance.js +243 -0
  146. package/dist/tools/brand-check-compliance.js.map +1 -0
  147. package/dist/tools/brand-clarify.d.ts +21 -0
  148. package/dist/tools/brand-clarify.d.ts.map +1 -0
  149. package/dist/tools/brand-clarify.js +497 -0
  150. package/dist/tools/brand-clarify.js.map +1 -0
  151. package/dist/tools/brand-compile-messaging.d.ts +3 -0
  152. package/dist/tools/brand-compile-messaging.d.ts.map +1 -0
  153. package/dist/tools/brand-compile-messaging.js +759 -0
  154. package/dist/tools/brand-compile-messaging.js.map +1 -0
  155. package/dist/tools/brand-compile.d.ts +3 -0
  156. package/dist/tools/brand-compile.d.ts.map +1 -0
  157. package/dist/tools/brand-compile.js +182 -0
  158. package/dist/tools/brand-compile.js.map +1 -0
  159. package/dist/tools/brand-deepen-identity.d.ts +3 -0
  160. package/dist/tools/brand-deepen-identity.d.ts.map +1 -0
  161. package/dist/tools/brand-deepen-identity.js +483 -0
  162. package/dist/tools/brand-deepen-identity.js.map +1 -0
  163. package/dist/tools/brand-export.d.ts +17 -0
  164. package/dist/tools/brand-export.d.ts.map +1 -0
  165. package/dist/tools/brand-export.js +730 -0
  166. package/dist/tools/brand-export.js.map +1 -0
  167. package/dist/tools/brand-extract-figma.d.ts +3 -0
  168. package/dist/tools/brand-extract-figma.d.ts.map +1 -0
  169. package/dist/tools/brand-extract-figma.js +174 -0
  170. package/dist/tools/brand-extract-figma.js.map +1 -0
  171. package/dist/tools/brand-extract-messaging.d.ts +3 -0
  172. package/dist/tools/brand-extract-messaging.d.ts.map +1 -0
  173. package/dist/tools/brand-extract-messaging.js +620 -0
  174. package/dist/tools/brand-extract-messaging.js.map +1 -0
  175. package/dist/tools/brand-extract-web.d.ts +3 -0
  176. package/dist/tools/brand-extract-web.d.ts.map +1 -0
  177. package/dist/tools/brand-extract-web.js +477 -0
  178. package/dist/tools/brand-extract-web.js.map +1 -0
  179. package/dist/tools/brand-feedback.d.ts +3 -0
  180. package/dist/tools/brand-feedback.d.ts.map +1 -0
  181. package/dist/tools/brand-feedback.js +366 -0
  182. package/dist/tools/brand-feedback.js.map +1 -0
  183. package/dist/tools/brand-ingest-assets.d.ts +3 -0
  184. package/dist/tools/brand-ingest-assets.d.ts.map +1 -0
  185. package/dist/tools/brand-ingest-assets.js +233 -0
  186. package/dist/tools/brand-ingest-assets.js.map +1 -0
  187. package/dist/tools/brand-init.d.ts +3 -0
  188. package/dist/tools/brand-init.d.ts.map +1 -0
  189. package/dist/tools/brand-init.js +66 -0
  190. package/dist/tools/brand-init.js.map +1 -0
  191. package/dist/tools/brand-preflight.d.ts +3 -0
  192. package/dist/tools/brand-preflight.d.ts.map +1 -0
  193. package/dist/tools/brand-preflight.js +608 -0
  194. package/dist/tools/brand-preflight.js.map +1 -0
  195. package/dist/tools/brand-report.d.ts +3 -0
  196. package/dist/tools/brand-report.d.ts.map +1 -0
  197. package/dist/tools/brand-report.js +154 -0
  198. package/dist/tools/brand-report.js.map +1 -0
  199. package/dist/tools/brand-runtime.d.ts +3 -0
  200. package/dist/tools/brand-runtime.d.ts.map +1 -0
  201. package/dist/tools/brand-runtime.js +37 -0
  202. package/dist/tools/brand-runtime.js.map +1 -0
  203. package/dist/tools/brand-set-logo.d.ts +3 -0
  204. package/dist/tools/brand-set-logo.d.ts.map +1 -0
  205. package/dist/tools/brand-set-logo.js +170 -0
  206. package/dist/tools/brand-set-logo.js.map +1 -0
  207. package/dist/tools/brand-start.d.ts +3 -0
  208. package/dist/tools/brand-start.d.ts.map +1 -0
  209. package/dist/tools/brand-start.js +686 -0
  210. package/dist/tools/brand-start.js.map +1 -0
  211. package/dist/tools/brand-status.d.ts +3 -0
  212. package/dist/tools/brand-status.d.ts.map +1 -0
  213. package/dist/tools/brand-status.js +175 -0
  214. package/dist/tools/brand-status.js.map +1 -0
  215. package/dist/tools/brand-write.d.ts +3 -0
  216. package/dist/tools/brand-write.d.ts.map +1 -0
  217. package/dist/tools/brand-write.js +442 -0
  218. package/dist/tools/brand-write.js.map +1 -0
  219. package/dist/types/index.d.ts +331 -0
  220. package/dist/types/index.d.ts.map +1 -0
  221. package/dist/types/index.js +52 -0
  222. package/dist/types/index.js.map +1 -0
  223. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-compile-messaging.js","sourceRoot":"","sources":["../../src/tools/brand-compile-messaging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=brand-compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-compile.d.ts","sourceRoot":"","sources":["../../src/tools/brand-compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8MzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAMzC"}
@@ -0,0 +1,182 @@
1
+ import { BrandDir } from "../lib/brand-dir.js";
2
+ import { buildResponse } from "../lib/response.js";
3
+ import { compileDTCG } from "../lib/dtcg-compiler.js";
4
+ import { needsClarification } from "../lib/confidence.js";
5
+ import { generateVIM, generateSystemIntegration } from "../lib/vim-generator.js";
6
+ import { compileRuntime } from "../lib/runtime-compiler.js";
7
+ import { compileInteractionPolicy } from "../lib/interaction-policy-compiler.js";
8
+ import { ERROR_CODES } from "../types/index.js";
9
+ import { SCHEMA_VERSION } from "../schemas/index.js";
10
+ async function handler(server) {
11
+ const brandDir = new BrandDir(process.cwd());
12
+ if (!(await brandDir.exists())) {
13
+ return buildResponse({
14
+ what_happened: "No .brand/ directory found",
15
+ next_steps: [
16
+ "Run brand_init first to create the .brand/ directory",
17
+ "If this keeps happening, run brand_feedback to report the issue.",
18
+ ],
19
+ data: { error: ERROR_CODES.NOT_INITIALIZED },
20
+ });
21
+ }
22
+ const config = await brandDir.readConfig();
23
+ const identity = await brandDir.readCoreIdentity();
24
+ const tokens = compileDTCG(identity, config.client_name);
25
+ await brandDir.writeTokens(tokens);
26
+ const clarifications = [];
27
+ let itemId = 0;
28
+ if (!identity.colors.some((c) => c.role === "primary")) {
29
+ clarifications.push({
30
+ id: `clarify-${++itemId}`,
31
+ field: "colors.primary",
32
+ question: "No primary brand color identified. Which color is your primary brand color?",
33
+ source: "compilation",
34
+ priority: "high",
35
+ });
36
+ }
37
+ for (const color of identity.colors) {
38
+ if (needsClarification(color.confidence)) {
39
+ clarifications.push({
40
+ id: `clarify-${++itemId}`,
41
+ field: `colors.${color.role}`,
42
+ question: `Color ${color.value} (${color.name}) has low confidence. Is this correct and what role does it play?`,
43
+ source: color.source,
44
+ priority: "medium",
45
+ });
46
+ }
47
+ }
48
+ if (identity.typography.length === 0) {
49
+ clarifications.push({
50
+ id: `clarify-${++itemId}`,
51
+ field: "typography",
52
+ question: "No fonts detected. What font family does your brand use?",
53
+ source: "compilation",
54
+ priority: "high",
55
+ });
56
+ }
57
+ for (const typo of identity.typography) {
58
+ if (needsClarification(typo.confidence)) {
59
+ clarifications.push({
60
+ id: `clarify-${++itemId}`,
61
+ field: `typography.${typo.family}`,
62
+ question: `Font "${typo.family}" has low confidence. Is this your brand font?`,
63
+ source: typo.source,
64
+ priority: "medium",
65
+ });
66
+ }
67
+ }
68
+ if (identity.logo.length === 0) {
69
+ clarifications.push({
70
+ id: `clarify-${++itemId}`,
71
+ field: "logo",
72
+ question: "No logo detected. Provide your logo as SVG for best results.",
73
+ source: "compilation",
74
+ priority: "high",
75
+ });
76
+ }
77
+ const unknownColors = identity.colors.filter((c) => c.role === "unknown");
78
+ if (unknownColors.length > 0) {
79
+ clarifications.push({
80
+ id: `clarify-${++itemId}`,
81
+ field: "colors.roles",
82
+ question: `${unknownColors.length} color(s) have no assigned role: ${unknownColors.map((c) => c.value).join(", ")}. What role does each play?`,
83
+ source: "compilation",
84
+ priority: "medium",
85
+ });
86
+ }
87
+ await brandDir.writeClarifications({ schema_version: SCHEMA_VERSION, items: clarifications });
88
+ const brandTokens = tokens.brand;
89
+ const colorTokenCount = Object.keys(brandTokens.color || {}).length;
90
+ const typoTokenCount = Object.keys(brandTokens.typography || {}).length;
91
+ const filesWritten = ["tokens.json", "needs-clarification.yaml"];
92
+ const nextSteps = [];
93
+ if (clarifications.length > 0) {
94
+ nextSteps.push(`${clarifications.length} item(s) need clarification — walk the user through brand_clarify for each one`);
95
+ }
96
+ else {
97
+ nextSteps.push("No clarification items — system is clean");
98
+ nextSteps.push("Run brand_report to generate the portable brand identity report");
99
+ }
100
+ // --- Read optional session data ---
101
+ const hasVisual = await brandDir.hasVisualIdentity();
102
+ const hasMessaging = await brandDir.hasMessaging();
103
+ const hasStrategy = await brandDir.hasStrategy();
104
+ const visual = hasVisual ? await brandDir.readVisualIdentity() : null;
105
+ const messaging = hasMessaging ? await brandDir.readMessaging() : null;
106
+ const strategy = hasStrategy ? await brandDir.readStrategy() : null;
107
+ // --- Session 2: VIM generation if visual-identity.yaml exists ---
108
+ if (visual) {
109
+ const vimMarkdown = generateVIM(config, identity, visual);
110
+ await brandDir.writeMarkdown("visual-identity-manifest.md", vimMarkdown);
111
+ filesWritten.push("visual-identity-manifest.md");
112
+ const integrationMarkdown = generateSystemIntegration(config, identity, visual, messaging);
113
+ await brandDir.writeMarkdown("system-integration.md", integrationMarkdown);
114
+ filesWritten.push("system-integration.md");
115
+ if (config.session < 2) {
116
+ config.session = 2;
117
+ await brandDir.writeConfig(config);
118
+ }
119
+ nextSteps.push("Visual Identity Manifest written — share visual-identity-manifest.md with your team", "System Integration Guide written — paste the quick-setup block into CLAUDE.md or .cursorrules");
120
+ if (!messaging) {
121
+ nextSteps.push("Ready for Session 3: run brand_extract_messaging to audit your voice, then brand_compile_messaging to define perspective + voice + brand story");
122
+ }
123
+ }
124
+ // --- Runtime + Interaction Policy compilation ---
125
+ const runtime = compileRuntime(config, identity, visual, messaging, strategy);
126
+ await brandDir.writeRuntime(runtime);
127
+ filesWritten.push("brand-runtime.json");
128
+ const policy = compileInteractionPolicy(config.schema_version, visual, messaging, strategy);
129
+ await brandDir.writePolicy(policy);
130
+ filesWritten.push("interaction-policy.json");
131
+ // Notify subscribed resource clients that runtime + policy have changed
132
+ server.sendResourceListChanged();
133
+ // Session transition guidance
134
+ let conversationGuide = null;
135
+ if (hasVisual && !hasMessaging) {
136
+ conversationGuide = {
137
+ instruction: [
138
+ "Session 2 (Visual Identity) is complete. Now transition to Session 3.",
139
+ "Tell the user: 'Your visual identity is locked in — composition, patterns, signature moves, and anti-patterns. Now let's capture how your brand *sounds*. This is where output goes from color-correct to distinctively yours.'",
140
+ "Suggest: 'I can start by auditing what your brand currently sounds like on your website. Want me to run that analysis?'",
141
+ "If yes: run brand_extract_messaging. If they want to skip the audit: run brand_compile_messaging directly.",
142
+ ].join("\n"),
143
+ };
144
+ }
145
+ else if (!hasVisual && clarifications.length === 0) {
146
+ conversationGuide = {
147
+ instruction: [
148
+ "Session 1 (Core Identity) is complete. Now transition to Session 2.",
149
+ "Tell the user: 'Your core identity is set — colors, fonts, logo, and tokens are ready. Now let's go deeper into your visual identity. This captures what makes your brand *recognizable* beyond just the correct colors — composition rules, patterns, illustration style, and anti-patterns.'",
150
+ "Then immediately run brand_deepen_identity to start the visual identity interview.",
151
+ "Do NOT wait for the user to ask — this is the natural next step.",
152
+ ].join("\n"),
153
+ };
154
+ }
155
+ else if (!hasVisual && clarifications.length > 0) {
156
+ conversationGuide = {
157
+ instruction: "After resolving all clarification items, recompile (brand_compile), then generate the report (brand_report). Once the report is done, transition to Session 2 by running brand_deepen_identity.",
158
+ };
159
+ }
160
+ return buildResponse({
161
+ what_happened: hasVisual
162
+ ? `Compiled brand system + Visual Identity Manifest for "${config.client_name}"`
163
+ : `Compiled brand system for "${config.client_name}"`,
164
+ next_steps: nextSteps,
165
+ data: {
166
+ files_written: filesWritten,
167
+ tokens: { colors: colorTokenCount, typography: typoTokenCount, total: colorTokenCount + typoTokenCount },
168
+ clarifications: {
169
+ total: clarifications.length,
170
+ high_priority: clarifications.filter((c) => c.priority === "high").length,
171
+ items: clarifications.map((c) => `[${c.priority}] ${c.question}`),
172
+ },
173
+ runtime_compiled: true,
174
+ ...(hasVisual && { vim_generated: true }),
175
+ ...(conversationGuide && { conversation_guide: conversationGuide }),
176
+ },
177
+ });
178
+ }
179
+ export function register(server) {
180
+ server.tool("brand_compile", "Generate DTCG design tokens, brand runtime, and interaction policy from extracted brand data. Transforms core-identity.yaml into tokens.json, brand-runtime.json (single-document brand contract for AI agents), and interaction-policy.json (enforceable rules). When Session 2+ data exists, also generates visual-identity-manifest.md and system-integration.md. Use after brand_extract_web or brand_extract_figma. Returns token counts, clarification items, and file list.", async () => handler(server));
181
+ }
182
+ //# sourceMappingURL=brand-compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-compile.js","sourceRoot":"","sources":["../../src/tools/brand-compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function register(server: McpServer): void;
3
+ //# sourceMappingURL=brand-deepen-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-deepen-identity.d.ts","sourceRoot":"","sources":["../../src/tools/brand-deepen-identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4gBzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAWzC"}