@michelabboud/visual-forge-mcp 0.11.2 → 0.11.4

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/CHANGELOG.md CHANGED
@@ -5,6 +5,38 @@ All notable changes to Visual Forge MCP will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.11.4] - 2026-01-17
9
+
10
+ ### Added - Font Manager with Auto-Install
11
+
12
+ New font management system for PDF generation with optional font package support.
13
+
14
+ #### Font Manager Features
15
+ - **Automatic detection** of installed font packages
16
+ - **Auto-install capability** - install font packages programmatically via npm
17
+ - **Layered dependencies** - font packages build on each other (minimal → standard → full)
18
+ - **Font path aggregation** - automatically passes all font paths to Typst/Pandoc
19
+ - **Status reporting** - shows installed fonts, available packages, and suggestions
20
+
21
+ #### Available Font Packages
22
+ - `@michelabboud/visual-forge-fonts-standard` - 11 font families (~25 MB)
23
+ - `@michelabboud/visual-forge-fonts-full` - 50+ font families (~70 MB)
24
+ - `@michelabboud/visual-forge-fonts-code` - 12 monospace fonts (~12 MB)
25
+
26
+ #### API Methods
27
+ - `fontManager.initialize()` - Detect installed packages
28
+ - `fontManager.installFontPackage(name)` - Install a font package
29
+ - `fontManager.getAvailablePackages()` - List packages that can be installed
30
+ - `fontManager.getAllFontFamilies()` - Get all available font families
31
+ - `fontManager.getRecommendedPackage(useCase)` - Get recommendation by use case
32
+
33
+ ### Fixed
34
+ - Template blockquote function for Pandoc compatibility (v0.11.1)
35
+ - Templates folder included in npm package (v0.11.2)
36
+ - Font warnings by using Typst built-in DejaVu fonts (v0.11.3)
37
+
38
+ ---
39
+
8
40
  ## [0.11.0] - 2026-01-17
9
41
 
10
42
  ### Added 📄 **PDF Generation System**
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Visual Forge MCP - Font Manager
3
+ * Manages fonts for PDF generation
4
+ *
5
+ * Built-in: Minimal fonts (Liberation, Inter, JetBrains Mono)
6
+ * Optional: Install additional font packages for more options
7
+ */
8
+ /**
9
+ * Font package information
10
+ */
11
+ interface FontPackage {
12
+ name: string;
13
+ path: string;
14
+ families: string[];
15
+ installed: boolean;
16
+ }
17
+ /**
18
+ * Font package metadata for installation
19
+ */
20
+ interface FontPackageInfo {
21
+ name: string;
22
+ description: string;
23
+ fontCount: number;
24
+ estimatedSize: string;
25
+ dependsOn?: string;
26
+ }
27
+ /**
28
+ * Font Manager class
29
+ */
30
+ export declare class FontManager {
31
+ private builtinPath;
32
+ private additionalPaths;
33
+ private installedPackages;
34
+ private initialized;
35
+ constructor();
36
+ /**
37
+ * Initialize font manager - detect installed packages
38
+ */
39
+ initialize(): Promise<void>;
40
+ /**
41
+ * Try to dynamically load a font package
42
+ */
43
+ private tryLoadPackage;
44
+ /**
45
+ * Get all font paths for Typst/Pandoc
46
+ */
47
+ getAllFontPaths(): string[];
48
+ /**
49
+ * Get font path arguments for Pandoc command
50
+ */
51
+ getFontPathArgs(): string[];
52
+ /**
53
+ * Get all available font families
54
+ */
55
+ getAllFontFamilies(): string[];
56
+ /**
57
+ * Check if a specific font family is available
58
+ */
59
+ hasFontFamily(family: string): boolean;
60
+ /**
61
+ * Get installed optional packages
62
+ */
63
+ getInstalledPackages(): FontPackage[];
64
+ /**
65
+ * Get suggestions for installing more fonts
66
+ */
67
+ getInstallSuggestions(): string[];
68
+ /**
69
+ * Get font status summary
70
+ */
71
+ getStatus(): {
72
+ builtinFonts: string[];
73
+ installedPackages: string[];
74
+ totalFamilies: number;
75
+ suggestions: string[];
76
+ };
77
+ /**
78
+ * Get available font packages that can be installed
79
+ */
80
+ getAvailablePackages(): FontPackageInfo[];
81
+ /**
82
+ * Get package info by name
83
+ */
84
+ getPackageInfo(packageName: string): FontPackageInfo | undefined;
85
+ /**
86
+ * Install a font package using npm
87
+ * @param packageName The package to install
88
+ * @param global Whether to install globally (default: false)
89
+ * @returns Installation result
90
+ */
91
+ installFontPackage(packageName: string, global?: boolean): Promise<{
92
+ success: boolean;
93
+ message: string;
94
+ output?: string;
95
+ }>;
96
+ /**
97
+ * Install multiple font packages
98
+ */
99
+ installFontPackages(packageNames: string[], global?: boolean): Promise<{
100
+ results: Array<{
101
+ package: string;
102
+ success: boolean;
103
+ message: string;
104
+ }>;
105
+ }>;
106
+ /**
107
+ * Get recommended package based on use case
108
+ */
109
+ getRecommendedPackage(useCase: 'document' | 'code' | 'design' | 'all'): FontPackageInfo | null;
110
+ }
111
+ /**
112
+ * Singleton font manager instance
113
+ */
114
+ export declare const fontManager: FontManager;
115
+ /**
116
+ * Get font paths for Typst command
117
+ */
118
+ export declare function getTypstFontPaths(): string[];
119
+ /**
120
+ * Get available font families
121
+ */
122
+ export declare function getAvailableFonts(): string[];
123
+ export {};
124
+ //# sourceMappingURL=font-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-manager.d.ts","sourceRoot":"","sources":["../../src/pdf/font-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsDD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,WAAW,CAAS;;IAM5B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CjC;;OAEG;YACW,cAAc;IAU5B;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAe3B;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;IAM3B;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAW9B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMtC;;OAEG;IACH,oBAAoB,IAAI,WAAW,EAAE;IAIrC;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAyBjC;;OAEG;IACH,SAAS,IAAI;QACX,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IASD;;OAEG;IACH,oBAAoB,IAAI,eAAe,EAAE;IAOzC;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIhE;;;;;OAKG;IACG,kBAAkB,CACtB,WAAW,EAAE,MAAM,EACnB,MAAM,UAAQ,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAuDlE;;OAEG;IACG,mBAAmB,CACvB,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,UAAQ,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAetF;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,IAAI;CAwB/F;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Visual Forge MCP - Font Manager
3
+ * Manages fonts for PDF generation
4
+ *
5
+ * Built-in: Minimal fonts (Liberation, Inter, JetBrains Mono)
6
+ * Optional: Install additional font packages for more options
7
+ */
8
+ import * as path from 'path';
9
+ import * as fs from 'fs/promises';
10
+ import { fileURLToPath } from 'url';
11
+ import { exec } from 'child_process';
12
+ import { promisify } from 'util';
13
+ import { logger } from '../utils/index.js';
14
+ const execAsync = promisify(exec);
15
+ const __filename = fileURLToPath(import.meta.url);
16
+ const __dirname = path.dirname(__filename);
17
+ /**
18
+ * Available font packages with metadata
19
+ */
20
+ const FONT_PACKAGE_INFO = {
21
+ '@michelabboud/visual-forge-fonts-standard': {
22
+ name: '@michelabboud/visual-forge-fonts-standard',
23
+ description: 'Standard fonts (serif, sans-serif, monospace)',
24
+ fontCount: 11,
25
+ estimatedSize: '~25 MB',
26
+ dependsOn: '@michelabboud/visual-forge-fonts-minimal'
27
+ },
28
+ '@michelabboud/visual-forge-fonts-full': {
29
+ name: '@michelabboud/visual-forge-fonts-full',
30
+ description: 'Full font collection (50+ families)',
31
+ fontCount: 50,
32
+ estimatedSize: '~70 MB',
33
+ dependsOn: '@michelabboud/visual-forge-fonts-standard'
34
+ },
35
+ '@michelabboud/visual-forge-fonts-code': {
36
+ name: '@michelabboud/visual-forge-fonts-code',
37
+ description: 'Monospace/programming fonts',
38
+ fontCount: 12,
39
+ estimatedSize: '~12 MB'
40
+ }
41
+ };
42
+ /**
43
+ * Available font packages (optional installs)
44
+ */
45
+ const OPTIONAL_FONT_PACKAGES = [
46
+ '@michelabboud/visual-forge-fonts-standard',
47
+ '@michelabboud/visual-forge-fonts-full',
48
+ '@michelabboud/visual-forge-fonts-code',
49
+ ];
50
+ /**
51
+ * Built-in minimal fonts
52
+ */
53
+ const BUILTIN_FONTS = {
54
+ families: [
55
+ 'Liberation Serif',
56
+ 'Liberation Sans',
57
+ 'Liberation Mono',
58
+ 'Inter',
59
+ 'JetBrains Mono',
60
+ 'DejaVu Serif', // Typst built-in
61
+ 'DejaVu Sans', // Typst built-in
62
+ 'DejaVu Sans Mono' // Typst built-in
63
+ ],
64
+ path: path.join(__dirname, '../../fonts/minimal')
65
+ };
66
+ /**
67
+ * Font Manager class
68
+ */
69
+ export class FontManager {
70
+ builtinPath;
71
+ additionalPaths = [];
72
+ installedPackages = [];
73
+ initialized = false;
74
+ constructor() {
75
+ this.builtinPath = BUILTIN_FONTS.path;
76
+ }
77
+ /**
78
+ * Initialize font manager - detect installed packages
79
+ */
80
+ async initialize() {
81
+ if (this.initialized)
82
+ return;
83
+ // Check for optional font packages
84
+ for (const pkgName of OPTIONAL_FONT_PACKAGES) {
85
+ try {
86
+ // Try to require the package
87
+ const pkg = await this.tryLoadPackage(pkgName);
88
+ if (pkg) {
89
+ this.installedPackages.push({
90
+ name: pkgName,
91
+ path: pkg.fontsPath || pkg.getFontsPath?.() || '',
92
+ families: pkg.families || pkg.getFontFamilies?.() || [],
93
+ installed: true
94
+ });
95
+ // Add all paths from package (handles layered dependencies)
96
+ if (pkg.getAllFontPaths) {
97
+ this.additionalPaths.push(...pkg.getAllFontPaths());
98
+ }
99
+ else if (pkg.fontsPath) {
100
+ this.additionalPaths.push(pkg.fontsPath);
101
+ }
102
+ logger.info(`Font package detected: ${pkgName}`);
103
+ }
104
+ }
105
+ catch {
106
+ // Package not installed, that's fine
107
+ }
108
+ }
109
+ // Check if builtin fonts exist
110
+ try {
111
+ await fs.access(this.builtinPath);
112
+ const files = await fs.readdir(this.builtinPath);
113
+ if (files.some(f => f.endsWith('.ttf') || f.endsWith('.otf'))) {
114
+ logger.info('Built-in fonts available', { path: this.builtinPath });
115
+ }
116
+ }
117
+ catch {
118
+ logger.info('Built-in fonts not yet downloaded - using Typst defaults');
119
+ }
120
+ this.initialized = true;
121
+ }
122
+ /**
123
+ * Try to dynamically load a font package
124
+ */
125
+ async tryLoadPackage(pkgName) {
126
+ try {
127
+ // Dynamic import for ES modules
128
+ const pkg = await import(pkgName);
129
+ return pkg.default || pkg;
130
+ }
131
+ catch {
132
+ return null;
133
+ }
134
+ }
135
+ /**
136
+ * Get all font paths for Typst/Pandoc
137
+ */
138
+ getAllFontPaths() {
139
+ const paths = [];
140
+ // Add builtin path if it exists
141
+ if (this.builtinPath) {
142
+ paths.push(this.builtinPath);
143
+ }
144
+ // Add additional paths from installed packages
145
+ paths.push(...this.additionalPaths);
146
+ // Remove duplicates
147
+ return [...new Set(paths)];
148
+ }
149
+ /**
150
+ * Get font path arguments for Pandoc command
151
+ */
152
+ getFontPathArgs() {
153
+ const paths = this.getAllFontPaths();
154
+ // Pandoc/Typst uses --font-path for additional font directories
155
+ return paths.map(p => `--font-path="${p}"`);
156
+ }
157
+ /**
158
+ * Get all available font families
159
+ */
160
+ getAllFontFamilies() {
161
+ const families = [...BUILTIN_FONTS.families];
162
+ for (const pkg of this.installedPackages) {
163
+ families.push(...pkg.families);
164
+ }
165
+ // Remove duplicates
166
+ return [...new Set(families)];
167
+ }
168
+ /**
169
+ * Check if a specific font family is available
170
+ */
171
+ hasFontFamily(family) {
172
+ return this.getAllFontFamilies().some(f => f.toLowerCase() === family.toLowerCase());
173
+ }
174
+ /**
175
+ * Get installed optional packages
176
+ */
177
+ getInstalledPackages() {
178
+ return this.installedPackages;
179
+ }
180
+ /**
181
+ * Get suggestions for installing more fonts
182
+ */
183
+ getInstallSuggestions() {
184
+ const suggestions = [];
185
+ const installed = this.installedPackages.map(p => p.name);
186
+ if (!installed.includes('@michelabboud/visual-forge-fonts-standard')) {
187
+ suggestions.push('npm install @michelabboud/visual-forge-fonts-standard # +11 font families');
188
+ }
189
+ if (!installed.includes('@michelabboud/visual-forge-fonts-full')) {
190
+ suggestions.push('npm install @michelabboud/visual-forge-fonts-full # +50 font families');
191
+ }
192
+ if (!installed.includes('@michelabboud/visual-forge-fonts-code')) {
193
+ suggestions.push('npm install @michelabboud/visual-forge-fonts-code # 12 monospace fonts');
194
+ }
195
+ return suggestions;
196
+ }
197
+ /**
198
+ * Get font status summary
199
+ */
200
+ getStatus() {
201
+ return {
202
+ builtinFonts: BUILTIN_FONTS.families,
203
+ installedPackages: this.installedPackages.map(p => p.name),
204
+ totalFamilies: this.getAllFontFamilies().length,
205
+ suggestions: this.getInstallSuggestions()
206
+ };
207
+ }
208
+ /**
209
+ * Get available font packages that can be installed
210
+ */
211
+ getAvailablePackages() {
212
+ const installed = this.installedPackages.map(p => p.name);
213
+ return Object.values(FONT_PACKAGE_INFO).filter(pkg => !installed.includes(pkg.name));
214
+ }
215
+ /**
216
+ * Get package info by name
217
+ */
218
+ getPackageInfo(packageName) {
219
+ return FONT_PACKAGE_INFO[packageName];
220
+ }
221
+ /**
222
+ * Install a font package using npm
223
+ * @param packageName The package to install
224
+ * @param global Whether to install globally (default: false)
225
+ * @returns Installation result
226
+ */
227
+ async installFontPackage(packageName, global = false) {
228
+ // Validate package name
229
+ if (!OPTIONAL_FONT_PACKAGES.includes(packageName)) {
230
+ return {
231
+ success: false,
232
+ message: `Unknown package: ${packageName}. Available packages: ${OPTIONAL_FONT_PACKAGES.join(', ')}`
233
+ };
234
+ }
235
+ // Check if already installed
236
+ const installed = this.installedPackages.map(p => p.name);
237
+ if (installed.includes(packageName)) {
238
+ return {
239
+ success: false,
240
+ message: `Package ${packageName} is already installed`
241
+ };
242
+ }
243
+ const pkgInfo = FONT_PACKAGE_INFO[packageName];
244
+ logger.info(`Installing font package: ${packageName}`, {
245
+ size: pkgInfo?.estimatedSize,
246
+ fonts: pkgInfo?.fontCount
247
+ });
248
+ try {
249
+ const globalFlag = global ? '-g ' : '';
250
+ const { stdout, stderr } = await execAsync(`npm install ${globalFlag}${packageName}`, { timeout: 300000 } // 5 minute timeout for large packages
251
+ );
252
+ // Reinitialize to pick up new package
253
+ this.initialized = false;
254
+ this.installedPackages = [];
255
+ this.additionalPaths = [];
256
+ await this.initialize();
257
+ logger.info(`Successfully installed ${packageName}`);
258
+ return {
259
+ success: true,
260
+ message: `Successfully installed ${packageName} (${pkgInfo?.fontCount} fonts, ${pkgInfo?.estimatedSize})`,
261
+ output: stdout || stderr
262
+ };
263
+ }
264
+ catch (error) {
265
+ const errorMsg = error instanceof Error ? error.message : String(error);
266
+ logger.error(`Failed to install ${packageName}`, { error: errorMsg });
267
+ return {
268
+ success: false,
269
+ message: `Failed to install ${packageName}: ${errorMsg}`
270
+ };
271
+ }
272
+ }
273
+ /**
274
+ * Install multiple font packages
275
+ */
276
+ async installFontPackages(packageNames, global = false) {
277
+ const results = [];
278
+ for (const pkgName of packageNames) {
279
+ const result = await this.installFontPackage(pkgName, global);
280
+ results.push({
281
+ package: pkgName,
282
+ success: result.success,
283
+ message: result.message
284
+ });
285
+ }
286
+ return { results };
287
+ }
288
+ /**
289
+ * Get recommended package based on use case
290
+ */
291
+ getRecommendedPackage(useCase) {
292
+ const installed = this.installedPackages.map(p => p.name);
293
+ switch (useCase) {
294
+ case 'code':
295
+ if (!installed.includes('@michelabboud/visual-forge-fonts-code')) {
296
+ return FONT_PACKAGE_INFO['@michelabboud/visual-forge-fonts-code'];
297
+ }
298
+ break;
299
+ case 'document':
300
+ if (!installed.includes('@michelabboud/visual-forge-fonts-standard')) {
301
+ return FONT_PACKAGE_INFO['@michelabboud/visual-forge-fonts-standard'];
302
+ }
303
+ break;
304
+ case 'design':
305
+ case 'all':
306
+ if (!installed.includes('@michelabboud/visual-forge-fonts-full')) {
307
+ return FONT_PACKAGE_INFO['@michelabboud/visual-forge-fonts-full'];
308
+ }
309
+ break;
310
+ }
311
+ return null;
312
+ }
313
+ }
314
+ /**
315
+ * Singleton font manager instance
316
+ */
317
+ export const fontManager = new FontManager();
318
+ /**
319
+ * Get font paths for Typst command
320
+ */
321
+ export function getTypstFontPaths() {
322
+ return fontManager.getAllFontPaths();
323
+ }
324
+ /**
325
+ * Get available font families
326
+ */
327
+ export function getAvailableFonts() {
328
+ return fontManager.getAllFontFamilies();
329
+ }
330
+ //# sourceMappingURL=font-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-manager.js","sourceRoot":"","sources":["../../src/pdf/font-manager.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,7 @@
4
4
  */
5
5
  export * from './pdf-types.js';
6
6
  export { ImageConverter, imageConverter } from './image-converter.js';
7
+ export { FontManager, fontManager, getTypstFontPaths, getAvailableFonts, } from './font-manager.js';
8
+ export type { FontManager as FontManagerType } from './font-manager.js';
7
9
  export { TypstEngine, typstEngine, generatePDF, generateBatchPDF, } from './typst-engine.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pdf/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pdf/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGxE,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
package/dist/pdf/index.js CHANGED
@@ -6,6 +6,8 @@
6
6
  export * from './pdf-types.js';
7
7
  // Image converter
8
8
  export { ImageConverter, imageConverter } from './image-converter.js';
9
+ // Font manager
10
+ export { FontManager, fontManager, getTypstFontPaths, getAvailableFonts, } from './font-manager.js';
9
11
  // Typst engine
10
12
  export { TypstEngine, typstEngine, generatePDF, generateBatchPDF, } from './typst-engine.js';
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pdf/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,gBAAgB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAe;AACf,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pdf/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,gBAAgB,CAAC;AAE/B,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAe;AACf,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAK3B,eAAe;AACf,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
@@ -13,7 +13,12 @@ export declare class TypstEngine {
13
13
  private xelatexAvailable;
14
14
  private typstVersion;
15
15
  private templatesDir;
16
+ private fontManagerInitialized;
16
17
  constructor();
18
+ /**
19
+ * Initialize font manager (called lazily)
20
+ */
21
+ private initializeFontManager;
17
22
  /**
18
23
  * Check if Typst is available
19
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"typst-engine.d.ts","sourceRoot":"","sources":["../../src/pdf/typst-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACb,MAAM,gBAAgB,CAAC;AA+BxB;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAAS;;IAO7B;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB1C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAiB5C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAcpD;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwBtD;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA2C5B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuK9E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiE1B;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD3E;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;IAqC/B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAEzB"}
1
+ {"version":3,"file":"typst-engine.d.ts","sourceRoot":"","sources":["../../src/pdf/typst-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAEL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACb,MAAM,gBAAgB,CAAC;AA+BxB;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,sBAAsB,CAAS;;IAOvC;;OAEG;YACW,qBAAqB;IAanC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB1C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAiB5C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAcpD;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAwBtD;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA2C5B;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0K9E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwE1B;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD3E;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;IA2C/B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CAEzB"}
@@ -9,6 +9,7 @@ import * as path from 'path';
9
9
  import { fileURLToPath } from 'url';
10
10
  import { logger } from '../utils/index.js';
11
11
  import { ImageConverter } from './image-converter.js';
12
+ import { fontManager } from './font-manager.js';
12
13
  // ES Module compatible __dirname
13
14
  const __filename = fileURLToPath(import.meta.url);
14
15
  const __dirname = path.dirname(__filename);
@@ -48,10 +49,26 @@ export class TypstEngine {
48
49
  xelatexAvailable = null;
49
50
  typstVersion = null;
50
51
  templatesDir;
52
+ fontManagerInitialized = false;
51
53
  constructor() {
52
54
  this.imageConverter = new ImageConverter();
53
55
  this.templatesDir = path.join(__dirname, '../../templates');
54
56
  }
57
+ /**
58
+ * Initialize font manager (called lazily)
59
+ */
60
+ async initializeFontManager() {
61
+ if (this.fontManagerInitialized)
62
+ return;
63
+ await fontManager.initialize();
64
+ this.fontManagerInitialized = true;
65
+ const status = fontManager.getStatus();
66
+ logger.info('Font manager initialized', {
67
+ builtinFonts: status.builtinFonts.length,
68
+ installedPackages: status.installedPackages.length,
69
+ totalFamilies: status.totalFamilies
70
+ });
71
+ }
55
72
  /**
56
73
  * Check if Typst is available
57
74
  */
@@ -172,6 +189,8 @@ export class TypstEngine {
172
189
  const startTime = Date.now();
173
190
  const engine = options.engine || 'typst';
174
191
  const warnings = [];
192
+ // Initialize font manager
193
+ await this.initializeFontManager();
175
194
  // Validate input file exists
176
195
  try {
177
196
  await fs.access(options.inputPath);
@@ -323,6 +342,12 @@ export class TypstEngine {
323
342
  `"${options.outputPath}"`,
324
343
  `--pdf-engine=${engine}`,
325
344
  ];
345
+ // Add font paths from font manager
346
+ const fontPaths = fontManager.getAllFontPaths();
347
+ for (const fontPath of fontPaths) {
348
+ args.push(`--pdf-engine-opt=--font-path`);
349
+ args.push(`--pdf-engine-opt="${fontPath}"`);
350
+ }
326
351
  // Font options
327
352
  const fonts = options.fonts || DEFAULT_FONTS;
328
353
  if (engine === 'typst') {
@@ -428,10 +453,15 @@ export class TypstEngine {
428
453
  error: 'Typst is not available',
429
454
  };
430
455
  }
456
+ // Initialize font manager
457
+ await this.initializeFontManager();
431
458
  try {
432
459
  // Ensure output directory exists
433
460
  await fs.mkdir(path.dirname(outputPath), { recursive: true });
434
- const command = `typst compile "${inputPath}" "${outputPath}"`;
461
+ // Build command with font paths
462
+ const fontPaths = fontManager.getAllFontPaths();
463
+ const fontArgs = fontPaths.map(p => `--font-path "${p}"`).join(' ');
464
+ const command = `typst compile ${fontArgs} "${inputPath}" "${outputPath}"`;
435
465
  await execAsync(command);
436
466
  const stats = await fs.stat(outputPath);
437
467
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"typst-engine.js","sourceRoot":"","sources":["../../src/pdf/typst-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typst-engine.js","sourceRoot":"","sources":["../../src/pdf/typst-engine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michelabboud/visual-forge-mcp",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "description": "MCP server for AI image generation from markdown and HTML with multi-provider support, model testing, and automatic web optimization",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -60,9 +60,9 @@
60
60
  },
61
61
  )
62
62
 
63
- // Text setup
63
+ // Text setup - using Typst built-in fonts for portability
64
64
  set text(
65
- font: "Linux Libertine",
65
+ font: "DejaVu Serif",
66
66
  size: 11pt,
67
67
  lang: "en",
68
68
  )