@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.
- package/README.md +515 -0
- package/bin/brandsystem-mcp.mjs +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/brand-dir.d.ts +56 -0
- package/dist/lib/brand-dir.d.ts.map +1 -0
- package/dist/lib/brand-dir.js +270 -0
- package/dist/lib/brand-dir.js.map +1 -0
- package/dist/lib/color-namer.d.ts +28 -0
- package/dist/lib/color-namer.d.ts.map +1 -0
- package/dist/lib/color-namer.js +155 -0
- package/dist/lib/color-namer.js.map +1 -0
- package/dist/lib/confidence.d.ts +19 -0
- package/dist/lib/confidence.d.ts.map +1 -0
- package/dist/lib/confidence.js +66 -0
- package/dist/lib/confidence.js.map +1 -0
- package/dist/lib/content-scorer.d.ts +38 -0
- package/dist/lib/content-scorer.d.ts.map +1 -0
- package/dist/lib/content-scorer.js +571 -0
- package/dist/lib/content-scorer.js.map +1 -0
- package/dist/lib/css-parser.d.ts +45 -0
- package/dist/lib/css-parser.d.ts.map +1 -0
- package/dist/lib/css-parser.js +330 -0
- package/dist/lib/css-parser.js.map +1 -0
- package/dist/lib/dtcg-compiler.d.ts +7 -0
- package/dist/lib/dtcg-compiler.d.ts.map +1 -0
- package/dist/lib/dtcg-compiler.js +89 -0
- package/dist/lib/dtcg-compiler.js.map +1 -0
- package/dist/lib/interaction-policy-compiler.d.ts +40 -0
- package/dist/lib/interaction-policy-compiler.d.ts.map +1 -0
- package/dist/lib/interaction-policy-compiler.js +60 -0
- package/dist/lib/interaction-policy-compiler.js.map +1 -0
- package/dist/lib/logo-extractor.d.ts +49 -0
- package/dist/lib/logo-extractor.d.ts.map +1 -0
- package/dist/lib/logo-extractor.js +384 -0
- package/dist/lib/logo-extractor.js.map +1 -0
- package/dist/lib/report-html.d.ts +20 -0
- package/dist/lib/report-html.d.ts.map +1 -0
- package/dist/lib/report-html.js +938 -0
- package/dist/lib/report-html.js.map +1 -0
- package/dist/lib/response.d.ts +20 -0
- package/dist/lib/response.d.ts.map +1 -0
- package/dist/lib/response.js +54 -0
- package/dist/lib/response.js.map +1 -0
- package/dist/lib/runtime-compiler.d.ts +60 -0
- package/dist/lib/runtime-compiler.d.ts.map +1 -0
- package/dist/lib/runtime-compiler.js +96 -0
- package/dist/lib/runtime-compiler.js.map +1 -0
- package/dist/lib/svg-resolver.d.ts +21 -0
- package/dist/lib/svg-resolver.d.ts.map +1 -0
- package/dist/lib/svg-resolver.js +115 -0
- package/dist/lib/svg-resolver.js.map +1 -0
- package/dist/lib/url-validator.d.ts +11 -0
- package/dist/lib/url-validator.d.ts.map +1 -0
- package/dist/lib/url-validator.js +93 -0
- package/dist/lib/url-validator.js.map +1 -0
- package/dist/lib/version.d.ts +2 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +19 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/lib/vim-generator.d.ts +13 -0
- package/dist/lib/vim-generator.d.ts.map +1 -0
- package/dist/lib/vim-generator.js +718 -0
- package/dist/lib/vim-generator.js.map +1 -0
- package/dist/resources/brand-resources.d.ts +4 -0
- package/dist/resources/brand-resources.d.ts.map +1 -0
- package/dist/resources/brand-resources.js +34 -0
- package/dist/resources/brand-resources.js.map +1 -0
- package/dist/schemas/brand-config.d.ts +28 -0
- package/dist/schemas/brand-config.d.ts.map +1 -0
- package/dist/schemas/brand-config.js +11 -0
- package/dist/schemas/brand-config.js.map +1 -0
- package/dist/schemas/brand-runtime.d.ts +251 -0
- package/dist/schemas/brand-runtime.d.ts.map +1 -0
- package/dist/schemas/brand-runtime.js +54 -0
- package/dist/schemas/brand-runtime.js.map +1 -0
- package/dist/schemas/core-identity.d.ts +302 -0
- package/dist/schemas/core-identity.d.ts.map +1 -0
- package/dist/schemas/core-identity.js +51 -0
- package/dist/schemas/core-identity.js.map +1 -0
- package/dist/schemas/index.d.ts +11 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +11 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/interaction-policy.d.ts +150 -0
- package/dist/schemas/interaction-policy.d.ts.map +1 -0
- package/dist/schemas/interaction-policy.js +34 -0
- package/dist/schemas/interaction-policy.js.map +1 -0
- package/dist/schemas/messaging.d.ts +776 -0
- package/dist/schemas/messaging.d.ts.map +1 -0
- package/dist/schemas/messaging.js +68 -0
- package/dist/schemas/messaging.js.map +1 -0
- package/dist/schemas/needs-clarification.d.ts +62 -0
- package/dist/schemas/needs-clarification.d.ts.map +1 -0
- package/dist/schemas/needs-clarification.js +13 -0
- package/dist/schemas/needs-clarification.js.map +1 -0
- package/dist/schemas/strategy.d.ts +537 -0
- package/dist/schemas/strategy.d.ts.map +1 -0
- package/dist/schemas/strategy.js +71 -0
- package/dist/schemas/strategy.js.map +1 -0
- package/dist/schemas/tokens.d.ts +35 -0
- package/dist/schemas/tokens.d.ts.map +1 -0
- package/dist/schemas/tokens.js +15 -0
- package/dist/schemas/tokens.js.map +1 -0
- package/dist/schemas/visual-identity.d.ts +224 -0
- package/dist/schemas/visual-identity.d.ts.map +1 -0
- package/dist/schemas/visual-identity.js +42 -0
- package/dist/schemas/visual-identity.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +75 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/brand-audit-content.d.ts +3 -0
- package/dist/tools/brand-audit-content.d.ts.map +1 -0
- package/dist/tools/brand-audit-content.js +116 -0
- package/dist/tools/brand-audit-content.js.map +1 -0
- package/dist/tools/brand-audit-drift.d.ts +3 -0
- package/dist/tools/brand-audit-drift.d.ts.map +1 -0
- package/dist/tools/brand-audit-drift.js +301 -0
- package/dist/tools/brand-audit-drift.js.map +1 -0
- package/dist/tools/brand-audit.d.ts +3 -0
- package/dist/tools/brand-audit.d.ts.map +1 -0
- package/dist/tools/brand-audit.js +129 -0
- package/dist/tools/brand-audit.js.map +1 -0
- package/dist/tools/brand-build-journey.d.ts +3 -0
- package/dist/tools/brand-build-journey.d.ts.map +1 -0
- package/dist/tools/brand-build-journey.js +312 -0
- package/dist/tools/brand-build-journey.js.map +1 -0
- package/dist/tools/brand-build-matrix.d.ts +3 -0
- package/dist/tools/brand-build-matrix.d.ts.map +1 -0
- package/dist/tools/brand-build-matrix.js +525 -0
- package/dist/tools/brand-build-matrix.js.map +1 -0
- package/dist/tools/brand-build-personas.d.ts +3 -0
- package/dist/tools/brand-build-personas.d.ts.map +1 -0
- package/dist/tools/brand-build-personas.js +436 -0
- package/dist/tools/brand-build-personas.js.map +1 -0
- package/dist/tools/brand-build-themes.d.ts +3 -0
- package/dist/tools/brand-build-themes.d.ts.map +1 -0
- package/dist/tools/brand-build-themes.js +476 -0
- package/dist/tools/brand-build-themes.js.map +1 -0
- package/dist/tools/brand-check-compliance.d.ts +3 -0
- package/dist/tools/brand-check-compliance.d.ts.map +1 -0
- package/dist/tools/brand-check-compliance.js +243 -0
- package/dist/tools/brand-check-compliance.js.map +1 -0
- package/dist/tools/brand-clarify.d.ts +21 -0
- package/dist/tools/brand-clarify.d.ts.map +1 -0
- package/dist/tools/brand-clarify.js +497 -0
- package/dist/tools/brand-clarify.js.map +1 -0
- package/dist/tools/brand-compile-messaging.d.ts +3 -0
- package/dist/tools/brand-compile-messaging.d.ts.map +1 -0
- package/dist/tools/brand-compile-messaging.js +759 -0
- package/dist/tools/brand-compile-messaging.js.map +1 -0
- package/dist/tools/brand-compile.d.ts +3 -0
- package/dist/tools/brand-compile.d.ts.map +1 -0
- package/dist/tools/brand-compile.js +182 -0
- package/dist/tools/brand-compile.js.map +1 -0
- package/dist/tools/brand-deepen-identity.d.ts +3 -0
- package/dist/tools/brand-deepen-identity.d.ts.map +1 -0
- package/dist/tools/brand-deepen-identity.js +483 -0
- package/dist/tools/brand-deepen-identity.js.map +1 -0
- package/dist/tools/brand-export.d.ts +17 -0
- package/dist/tools/brand-export.d.ts.map +1 -0
- package/dist/tools/brand-export.js +730 -0
- package/dist/tools/brand-export.js.map +1 -0
- package/dist/tools/brand-extract-figma.d.ts +3 -0
- package/dist/tools/brand-extract-figma.d.ts.map +1 -0
- package/dist/tools/brand-extract-figma.js +174 -0
- package/dist/tools/brand-extract-figma.js.map +1 -0
- package/dist/tools/brand-extract-messaging.d.ts +3 -0
- package/dist/tools/brand-extract-messaging.d.ts.map +1 -0
- package/dist/tools/brand-extract-messaging.js +620 -0
- package/dist/tools/brand-extract-messaging.js.map +1 -0
- package/dist/tools/brand-extract-web.d.ts +3 -0
- package/dist/tools/brand-extract-web.d.ts.map +1 -0
- package/dist/tools/brand-extract-web.js +477 -0
- package/dist/tools/brand-extract-web.js.map +1 -0
- package/dist/tools/brand-feedback.d.ts +3 -0
- package/dist/tools/brand-feedback.d.ts.map +1 -0
- package/dist/tools/brand-feedback.js +366 -0
- package/dist/tools/brand-feedback.js.map +1 -0
- package/dist/tools/brand-ingest-assets.d.ts +3 -0
- package/dist/tools/brand-ingest-assets.d.ts.map +1 -0
- package/dist/tools/brand-ingest-assets.js +233 -0
- package/dist/tools/brand-ingest-assets.js.map +1 -0
- package/dist/tools/brand-init.d.ts +3 -0
- package/dist/tools/brand-init.d.ts.map +1 -0
- package/dist/tools/brand-init.js +66 -0
- package/dist/tools/brand-init.js.map +1 -0
- package/dist/tools/brand-preflight.d.ts +3 -0
- package/dist/tools/brand-preflight.d.ts.map +1 -0
- package/dist/tools/brand-preflight.js +608 -0
- package/dist/tools/brand-preflight.js.map +1 -0
- package/dist/tools/brand-report.d.ts +3 -0
- package/dist/tools/brand-report.d.ts.map +1 -0
- package/dist/tools/brand-report.js +154 -0
- package/dist/tools/brand-report.js.map +1 -0
- package/dist/tools/brand-runtime.d.ts +3 -0
- package/dist/tools/brand-runtime.d.ts.map +1 -0
- package/dist/tools/brand-runtime.js +37 -0
- package/dist/tools/brand-runtime.js.map +1 -0
- package/dist/tools/brand-set-logo.d.ts +3 -0
- package/dist/tools/brand-set-logo.d.ts.map +1 -0
- package/dist/tools/brand-set-logo.js +170 -0
- package/dist/tools/brand-set-logo.js.map +1 -0
- package/dist/tools/brand-start.d.ts +3 -0
- package/dist/tools/brand-start.d.ts.map +1 -0
- package/dist/tools/brand-start.js +686 -0
- package/dist/tools/brand-start.js.map +1 -0
- package/dist/tools/brand-status.d.ts +3 -0
- package/dist/tools/brand-status.d.ts.map +1 -0
- package/dist/tools/brand-status.js +175 -0
- package/dist/tools/brand-status.js.map +1 -0
- package/dist/tools/brand-write.d.ts +3 -0
- package/dist/tools/brand-write.d.ts.map +1 -0
- package/dist/tools/brand-write.js +442 -0
- package/dist/tools/brand-write.js.map +1 -0
- package/dist/types/index.d.ts +331 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +52 -0
- package/dist/types/index.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|