@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-preflight.js","sourceRoot":"","sources":["../../src/tools/brand-preflight.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-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-report.d.ts","sourceRoot":"","sources":["../../src/tools/brand-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoJzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAMzC"}
@@ -0,0 +1,154 @@
1
+ import { BrandDir } from "../lib/brand-dir.js";
2
+ import { buildResponse } from "../lib/response.js";
3
+ import { generateReportHTML, generateBrandInstructions } from "../lib/report-html.js";
4
+ import { ERROR_CODES } from "../types/index.js";
5
+ import { SCHEMA_VERSION } from "../schemas/index.js";
6
+ import { access } from "node:fs/promises";
7
+ import { join } from "node:path";
8
+ async function handler() {
9
+ const brandDir = new BrandDir(process.cwd());
10
+ if (!(await brandDir.exists())) {
11
+ return buildResponse({
12
+ what_happened: "No .brand/ directory found",
13
+ next_steps: ["Run brand_init first to create the brand system"],
14
+ data: { error: ERROR_CODES.NOT_INITIALIZED },
15
+ });
16
+ }
17
+ const config = await brandDir.readConfig();
18
+ const identity = await brandDir.readCoreIdentity();
19
+ // Read clarifications if they exist
20
+ let clarifications = { schema_version: SCHEMA_VERSION, items: [] };
21
+ try {
22
+ await access(join(brandDir.brandPath, "needs-clarification.yaml"));
23
+ clarifications = await brandDir.readClarifications();
24
+ }
25
+ catch {
26
+ // No clarifications file — that's fine
27
+ }
28
+ // Count tokens if they exist
29
+ let tokenCount = 0;
30
+ try {
31
+ await access(join(brandDir.brandPath, "tokens.json"));
32
+ const tokens = await brandDir.readTokens();
33
+ const brand = tokens.brand;
34
+ if (brand) {
35
+ tokenCount += Object.keys(brand.color || {}).length;
36
+ tokenCount += Object.keys(brand.typography || {}).length;
37
+ tokenCount += Object.keys(brand.spacing || {}).length;
38
+ }
39
+ }
40
+ catch {
41
+ // No tokens file
42
+ }
43
+ // Simple audit counts (inline, avoid circular dep on audit tool)
44
+ let pass = 0, warn = 0, fail = 0;
45
+ if (identity.colors.length > 0)
46
+ pass++;
47
+ else
48
+ warn++;
49
+ if (identity.colors.some((c) => c.role === "primary"))
50
+ pass++;
51
+ else
52
+ warn++;
53
+ if (identity.typography.length > 0)
54
+ pass++;
55
+ else
56
+ warn++;
57
+ if (identity.logo.length > 0)
58
+ pass++;
59
+ else
60
+ warn++;
61
+ if (tokenCount > 0)
62
+ pass++;
63
+ else
64
+ warn++;
65
+ if (identity.colors.every((c) => /^#[0-9a-fA-F]{3,8}$/.test(c.value)))
66
+ pass++;
67
+ else
68
+ fail++;
69
+ const lowConf = [...identity.colors, ...identity.typography].filter((e) => e.confidence === "low").length;
70
+ if (lowConf === 0)
71
+ pass++;
72
+ else
73
+ warn++;
74
+ const html = generateReportHTML({
75
+ config,
76
+ identity,
77
+ clarifications: clarifications.items,
78
+ tokenCount,
79
+ auditSummary: { pass, warn, fail },
80
+ });
81
+ // Write to disk for Code environments
82
+ await brandDir.writeMarkdown("brand-report.html", html);
83
+ // Build the conversation guide for the LLM
84
+ const hasLogo = identity.logo.length > 0;
85
+ const hasPrimary = identity.colors.some((c) => c.role === "primary");
86
+ const hasHighConfFonts = identity.typography.some((t) => t.confidence !== "low");
87
+ // Generate the portable brand instructions text
88
+ const brandInstructions = generateBrandInstructions(config, identity);
89
+ const looksRightActions = [
90
+ "**Paste into your AI tool's instructions** — The report includes a ready-to-copy Brand Instructions block. Paste it into: Claude Project Instructions, a ChatGPT Custom GPT, a Gemini Gem, Cursor .cursorrules, or any AI tool's system prompt",
91
+ "**Upload this file as reference** — Drop this HTML into any chat when creating visual content and say \"Use this as my brand guidelines\"",
92
+ "**Share with your team** — Anyone who pastes the Brand Instructions block into their AI tool will get on-brand output immediately",
93
+ ];
94
+ const looksWrongActions = [];
95
+ if (!hasLogo) {
96
+ looksWrongActions.push("**Connect to Figma** — Extract your logo, colors, and typography directly from your design file (run brand_extract_figma)");
97
+ }
98
+ if (!hasPrimary || clarifications.items.length > 0) {
99
+ looksWrongActions.push("**Upload brand guidelines** — Share your brand guidelines PDF or document and we'll extract the correct values");
100
+ }
101
+ looksWrongActions.push("**Upload an on-brand asset** — Share a file you know is on-brand (website screenshot, social graphic, presentation) and we'll sample the correct colors and fonts from it", "**Send to your design team** — Forward this report to your brand/design team for review — they can correct any values and send it back", "**Scan a different URL** — If this wasn't your main brand page, try brand_extract_web with a different URL");
102
+ // Always write to disk; return summary only (HTML is too large for MCP response)
103
+ return buildResponse({
104
+ what_happened: `Generated brand identity report for "${config.client_name}" → .brand/brand-report.html`,
105
+ next_steps: [
106
+ "Open .brand/brand-report.html in a browser to preview the report",
107
+ "Ask the user: 'Does this look right?'",
108
+ ],
109
+ data: {
110
+ file: ".brand/brand-report.html",
111
+ file_size: `${Math.round(html.length / 1024)}KB`,
112
+ report_summary: {
113
+ colors: identity.colors.length,
114
+ fonts: identity.typography.length,
115
+ logos: identity.logo.length,
116
+ tokens: tokenCount,
117
+ clarifications: clarifications.items.length,
118
+ completeness: {
119
+ has_logo: hasLogo,
120
+ has_primary_color: hasPrimary,
121
+ has_fonts: hasHighConfFonts,
122
+ },
123
+ },
124
+ conversation_guide: {
125
+ instruction: [
126
+ "Tell the user the report has been saved to .brand/brand-report.html.",
127
+ "Summarize: colors found, fonts found, logo status, token count.",
128
+ "Then ask: 'Does this look right?'",
129
+ "IMPORTANT: After the user confirms (or fixes issues), transition to Session 2:",
130
+ "'Your core identity is captured. Now let's go deeper — I'll ask a few questions about your visual style, composition, and what to never do. This is what makes AI output look like *your brand*, not just color-correct.'",
131
+ "Then run brand_deepen_identity to start the visual identity interview.",
132
+ "Also check: do you have access to Figma MCP tools? If yes, mention: 'I can also connect to your Figma file for higher-accuracy data — share a URL anytime.'",
133
+ ].join("\n"),
134
+ conditionals: {
135
+ if_looks_right: [
136
+ "Say: Great — your core identity is locked in. Let's go deeper into your visual identity. I'll ask a few questions about how your brand expresses itself — composition, patterns, signature moves, and what to never do.",
137
+ "Next action: Run brand_deepen_identity immediately",
138
+ "Also mention: " + looksRightActions.join("; "),
139
+ ].join(" "),
140
+ if_looks_wrong: [
141
+ "Say: No problem — let's get it right. What's off?",
142
+ "Actions: " + looksWrongActions.join("; "),
143
+ "Follow up: Which of these would be easiest for you? Or tell me what specifically looks wrong and I'll help fix it.",
144
+ ].join(" "),
145
+ },
146
+ },
147
+ brand_instructions: brandInstructions,
148
+ },
149
+ });
150
+ }
151
+ export function register(server) {
152
+ server.tool("brand_report", "Generate a portable HTML brand identity report with embedded logos, color swatches, typography, and tokens. The HTML is self-contained and works offline — upload it to any AI chat (Claude, ChatGPT, Gemini) as instant brand guidelines. Written to .brand/brand-report.html. Use after brand_compile. Returns file path, report summary (color/font/logo counts), and a ready-to-copy Brand Instructions text block.", async () => handler());
153
+ }
154
+ //# sourceMappingURL=brand-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-report.js","sourceRoot":"","sources":["../../src/tools/brand-report.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-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/brand-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwCzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAMzC"}
@@ -0,0 +1,37 @@
1
+ import { BrandDir } from "../lib/brand-dir.js";
2
+ import { buildResponse } from "../lib/response.js";
3
+ import { ERROR_CODES } from "../types/index.js";
4
+ async function handler() {
5
+ const brandDir = new BrandDir(process.cwd());
6
+ if (!(await brandDir.exists())) {
7
+ return buildResponse({
8
+ what_happened: "No .brand/ directory found",
9
+ next_steps: ["Run brand_start to create a brand system first"],
10
+ data: { error: ERROR_CODES.NOT_INITIALIZED },
11
+ });
12
+ }
13
+ if (!(await brandDir.hasRuntime())) {
14
+ return buildResponse({
15
+ what_happened: "No brand-runtime.json found — run brand_compile first",
16
+ next_steps: [
17
+ "Run brand_compile to generate the runtime contract",
18
+ "The runtime is automatically compiled from your brand data each time you compile",
19
+ ],
20
+ data: { error: ERROR_CODES.NOT_COMPILED },
21
+ });
22
+ }
23
+ const runtime = await brandDir.readRuntime();
24
+ return buildResponse({
25
+ what_happened: "Loaded brand runtime contract",
26
+ next_steps: [
27
+ "Use the runtime data to generate on-brand content",
28
+ "The runtime contains colors, typography, voice rules, and strategy — everything an AI agent needs",
29
+ "Run brand_compile to refresh the runtime after making changes",
30
+ ],
31
+ data: { runtime },
32
+ });
33
+ }
34
+ export function register(server) {
35
+ server.tool("brand_runtime", "Read the compiled brand runtime contract (brand-runtime.json). Returns the single-document representation of the brand system that AI agents use to generate on-brand content. Includes identity (colors, typography, logo), visual rules, voice constraints, and strategy summary. Read-only — run brand_compile to refresh. Use when loading brand context for content generation.", async () => handler());
36
+ }
37
+ //# sourceMappingURL=brand-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-runtime.js","sourceRoot":"","sources":["../../src/tools/brand-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,KAAK,UAAU,OAAO;IACpB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAC;YACnB,aAAa,EAAE,4BAA4B;YAC3C,UAAU,EAAE,CAAC,gDAAgD,CAAC;YAC9D,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,eAAe,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;QACnC,OAAO,aAAa,CAAC;YACnB,aAAa,EAAE,uDAAuD;YACtE,UAAU,EAAE;gBACV,oDAAoD;gBACpD,kFAAkF;aACnF;YACD,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAE7C,OAAO,aAAa,CAAC;QACnB,aAAa,EAAE,+BAA+B;QAC9C,UAAU,EAAE;YACV,mDAAmD;YACnD,mGAAmG;YACnG,+DAA+D;SAChE;QACD,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,CAAC,IAAI,CACT,eAAe,EACf,sXAAsX,EACtX,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CACtB,CAAC;AACJ,CAAC"}
@@ -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-set-logo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-set-logo.d.ts","sourceRoot":"","sources":["../../src/tools/brand-set-logo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8KzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAWzC"}
@@ -0,0 +1,170 @@
1
+ import { z } from "zod";
2
+ import { BrandDir } from "../lib/brand-dir.js";
3
+ import { buildResponse, safeParseParams } from "../lib/response.js";
4
+ import { sanitizeSvg, resolveSvg, resolveImage } from "../lib/svg-resolver.js";
5
+ import { fetchLogo } from "../lib/logo-extractor.js";
6
+ import { ERROR_CODES } from "../types/index.js";
7
+ const paramsShape = {
8
+ svg: z.string().optional().describe("Raw SVG markup to use as the logo"),
9
+ url: z.string().optional().describe("URL to fetch the logo from (SVG or PNG)"),
10
+ data_uri: z.string().optional().describe("Base64 data URI of the logo (e.g., data:image/svg+xml;base64,...)"),
11
+ type: z.enum(["wordmark", "logomark"]).default("wordmark").describe('Logo type: "wordmark" (text-based) or "logomark" (icon/symbol). Default: wordmark'),
12
+ };
13
+ const ParamsSchema = z.object(paramsShape);
14
+ async function handler(input) {
15
+ const brandDir = new BrandDir(process.cwd());
16
+ if (!(await brandDir.exists())) {
17
+ return buildResponse({
18
+ what_happened: "No .brand/ directory found",
19
+ next_steps: ["Run brand_init first to create the brand system"],
20
+ data: { error: ERROR_CODES.NOT_INITIALIZED },
21
+ });
22
+ }
23
+ // Exactly one input source should be provided
24
+ const inputCount = [input.svg, input.url, input.data_uri].filter(Boolean).length;
25
+ if (inputCount === 0) {
26
+ return buildResponse({
27
+ what_happened: "No logo input provided",
28
+ next_steps: [
29
+ "Provide one of: svg (raw SVG markup), url (link to SVG/PNG), or data_uri (base64 data URI)",
30
+ ],
31
+ data: { error: ERROR_CODES.NO_INPUT },
32
+ });
33
+ }
34
+ let inline_svg;
35
+ let data_uri;
36
+ let filename;
37
+ // --- Handle SVG markup ---
38
+ if (input.svg) {
39
+ const sanitized = sanitizeSvg(input.svg);
40
+ const resolved = resolveSvg(sanitized);
41
+ inline_svg = resolved.inline_svg;
42
+ data_uri = resolved.data_uri;
43
+ filename = `logo-${input.type}.svg`;
44
+ await brandDir.writeAsset(`logo/${filename}`, sanitized);
45
+ }
46
+ // --- Handle URL ---
47
+ else if (input.url) {
48
+ if (!input.url.startsWith("http://") && !input.url.startsWith("https://")) {
49
+ return buildResponse({
50
+ what_happened: "Only http:// and https:// URLs are supported",
51
+ next_steps: ["Provide a logo URL starting with http:// or https://"],
52
+ data: { error: ERROR_CODES.INVALID_PROTOCOL },
53
+ });
54
+ }
55
+ const fetched = await fetchLogo(input.url);
56
+ if (!fetched) {
57
+ return buildResponse({
58
+ what_happened: `Failed to fetch logo from ${input.url}`,
59
+ next_steps: [
60
+ "Check the URL is correct and accessible",
61
+ "Try providing the SVG markup directly with the svg parameter",
62
+ ],
63
+ data: { error: ERROR_CODES.FETCH_FAILED, url: input.url },
64
+ });
65
+ }
66
+ const isSvg = fetched.contentType.includes("svg") ||
67
+ fetched.content.toString("utf-8").trim().startsWith("<");
68
+ if (isSvg) {
69
+ const svgContent = fetched.content.toString("utf-8");
70
+ const sanitized = sanitizeSvg(svgContent);
71
+ const resolved = resolveSvg(sanitized);
72
+ inline_svg = resolved.inline_svg;
73
+ data_uri = resolved.data_uri;
74
+ filename = `logo-${input.type}.svg`;
75
+ await brandDir.writeAsset(`logo/${filename}`, sanitized);
76
+ }
77
+ else {
78
+ const resolved = resolveImage(fetched.content, fetched.contentType);
79
+ data_uri = resolved.data_uri;
80
+ const ext = fetched.contentType.includes("png") ? "png" : "jpg";
81
+ filename = `logo-${input.type}.${ext}`;
82
+ await brandDir.writeAsset(`logo/${filename}`, fetched.content);
83
+ }
84
+ }
85
+ // --- Handle data URI ---
86
+ else if (input.data_uri) {
87
+ // Check if it's an SVG data URI
88
+ if (input.data_uri.startsWith("data:image/svg+xml")) {
89
+ // Decode the SVG from the data URI
90
+ let svgContent;
91
+ if (input.data_uri.includes(";base64,")) {
92
+ const base64 = input.data_uri.split(";base64,")[1];
93
+ svgContent = Buffer.from(base64, "base64").toString("utf-8");
94
+ }
95
+ else {
96
+ // URL-encoded
97
+ const encoded = input.data_uri.split(",")[1];
98
+ svgContent = decodeURIComponent(encoded);
99
+ }
100
+ const sanitized = sanitizeSvg(svgContent);
101
+ const resolved = resolveSvg(sanitized);
102
+ inline_svg = resolved.inline_svg;
103
+ data_uri = resolved.data_uri;
104
+ filename = `logo-${input.type}.svg`;
105
+ await brandDir.writeAsset(`logo/${filename}`, sanitized);
106
+ }
107
+ else {
108
+ // Non-SVG data URI (PNG, JPG, etc.) — store as-is
109
+ data_uri = input.data_uri;
110
+ // Extract the binary content from the data URI for file storage
111
+ const matches = input.data_uri.match(/^data:([^;]+);base64,(.+)$/);
112
+ if (matches) {
113
+ const contentType = matches[1];
114
+ const buffer = Buffer.from(matches[2], "base64");
115
+ const ext = contentType.includes("png") ? "png" : "jpg";
116
+ filename = `logo-${input.type}.${ext}`;
117
+ await brandDir.writeAsset(`logo/${filename}`, buffer);
118
+ }
119
+ else {
120
+ filename = `logo-${input.type}.png`;
121
+ }
122
+ }
123
+ }
124
+ else {
125
+ // Should never reach here due to the check above
126
+ filename = `logo-${input.type}.svg`;
127
+ }
128
+ // Update core-identity.yaml with the new logo
129
+ const identity = await brandDir.readCoreIdentity();
130
+ // Remove existing logos of the same type
131
+ const otherLogos = identity.logo.filter((l) => l.type !== input.type);
132
+ const newLogo = {
133
+ type: input.type,
134
+ source: "manual",
135
+ confidence: "confirmed",
136
+ variants: [{
137
+ name: "default",
138
+ file: `logo/${filename}`,
139
+ ...(inline_svg && { inline_svg }),
140
+ ...(data_uri && { data_uri }),
141
+ }],
142
+ };
143
+ identity.logo = [...otherLogos, newLogo];
144
+ await brandDir.writeCoreIdentity(identity);
145
+ return buildResponse({
146
+ what_happened: `Set ${input.type} logo in core-identity.yaml`,
147
+ next_steps: [
148
+ "Show the logo to the user and confirm it looks right",
149
+ "If confirmed, proceed with brand_compile",
150
+ ],
151
+ data: {
152
+ logo_type: input.type,
153
+ file: `.brand/assets/logo/${filename}`,
154
+ ...(inline_svg && { inline_svg }),
155
+ ...(data_uri && { data_uri }),
156
+ conversation_guide: {
157
+ instruction: "Show the logo to the user and confirm it looks right. If they say it's wrong, ask them to provide a different logo using brand_set_logo again.",
158
+ },
159
+ },
160
+ });
161
+ }
162
+ export function register(server) {
163
+ server.tool("brand_set_logo", "Add or replace a logo in the brand system. Accepts raw SVG markup, a URL to a logo file (SVG/PNG), or a base64 data URI. Use when brand_extract_web missed the logo, extracted the wrong image, or the user provides a logo directly. Sanitizes SVG, saves to .brand/assets/logo/, and updates core-identity.yaml with inline_svg and data_uri for portable embedding. Returns logo preview data.", paramsShape, async (args) => {
164
+ const parsed = safeParseParams(ParamsSchema, args);
165
+ if (!parsed.success)
166
+ return parsed.response;
167
+ return handler(parsed.data);
168
+ });
169
+ }
170
+ //# sourceMappingURL=brand-set-logo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-set-logo.js","sourceRoot":"","sources":["../../src/tools/brand-set-logo.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-start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-start.d.ts","sourceRoot":"","sources":["../../src/tools/brand-start.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwtBzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAWzC"}