@houtini/gemini-mcp 1.4.5 → 2.2.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 +314 -834
- package/claude_desktop_config_example.json +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +8 -4
- package/dist/config/index.js.map +1 -1
- package/dist/config/types.d.ts +5 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/image-viewer/image-viewer-app.html +180 -0
- package/dist/image-viewer/src/ui/image-viewer.html +324 -0
- package/dist/index-new.d.ts +3 -0
- package/dist/index-new.d.ts.map +1 -0
- package/dist/index-new.js +7 -0
- package/dist/index-new.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -172
- package/dist/index.js.map +1 -1
- package/dist/landing-page-viewer/src/ui/landing-page-viewer.html +330 -0
- package/dist/services/gemini/export.d.ts +5 -0
- package/dist/services/gemini/export.d.ts.map +1 -0
- package/dist/services/gemini/export.js +5 -0
- package/dist/services/gemini/export.js.map +1 -0
- package/dist/services/gemini/image-service.d.ts +45 -0
- package/dist/services/gemini/image-service.d.ts.map +1 -0
- package/dist/services/gemini/image-service.js +248 -0
- package/dist/services/gemini/image-service.js.map +1 -0
- package/dist/services/gemini/index.d.ts +7 -2
- package/dist/services/gemini/index.d.ts.map +1 -1
- package/dist/services/gemini/index.js +132 -56
- package/dist/services/gemini/index.js.map +1 -1
- package/dist/services/gemini/types.d.ts +32 -0
- package/dist/services/gemini/types.d.ts.map +1 -1
- package/dist/services/gemini/video-service.d.ts +58 -0
- package/dist/services/gemini/video-service.d.ts.map +1 -0
- package/dist/services/gemini/video-service.js +325 -0
- package/dist/services/gemini/video-service.js.map +1 -0
- package/dist/services/media-server.d.ts +28 -0
- package/dist/services/media-server.d.ts.map +1 -0
- package/dist/services/media-server.js +195 -0
- package/dist/services/media-server.js.map +1 -0
- package/dist/svg-viewer/src/ui/svg-viewer.html +325 -0
- package/dist/tools/gemini-chat.d.ts.map +1 -1
- package/dist/tools/gemini-chat.js +7 -1
- package/dist/tools/gemini-chat.js.map +1 -1
- package/dist/tools/gemini-deep-research.d.ts +1 -2
- package/dist/tools/gemini-deep-research.d.ts.map +1 -1
- package/dist/tools/gemini-deep-research.js +11 -51
- package/dist/tools/gemini-deep-research.js.map +1 -1
- package/dist/tools/gemini-help.d.ts +3 -0
- package/dist/tools/gemini-help.d.ts.map +1 -0
- package/dist/tools/gemini-help.js +534 -0
- package/dist/tools/gemini-help.js.map +1 -0
- package/dist/tools/gemini-prompt-assistant.d.ts +20 -0
- package/dist/tools/gemini-prompt-assistant.d.ts.map +1 -0
- package/dist/tools/gemini-prompt-assistant.js +129 -0
- package/dist/tools/gemini-prompt-assistant.js.map +1 -0
- package/dist/tools/generate-landing-page.d.ts +15 -0
- package/dist/tools/generate-landing-page.d.ts.map +1 -0
- package/dist/tools/generate-landing-page.js +66 -0
- package/dist/tools/generate-landing-page.js.map +1 -0
- package/dist/tools/generate-svg.d.ts +14 -0
- package/dist/tools/generate-svg.d.ts.map +1 -0
- package/dist/tools/generate-svg.js +106 -0
- package/dist/tools/generate-svg.js.map +1 -0
- package/dist/tools/generate-video.d.ts +24 -0
- package/dist/tools/generate-video.d.ts.map +1 -0
- package/dist/tools/generate-video.js +163 -0
- package/dist/tools/generate-video.js.map +1 -0
- package/dist/tools/image-prompt-assistant.d.ts +3 -0
- package/dist/tools/image-prompt-assistant.d.ts.map +1 -0
- package/dist/tools/image-prompt-assistant.js +790 -0
- package/dist/tools/image-prompt-assistant.js.map +1 -0
- package/dist/tools/load-image-from-path.d.ts +11 -0
- package/dist/tools/load-image-from-path.d.ts.map +1 -0
- package/dist/tools/load-image-from-path.js +100 -0
- package/dist/tools/load-image-from-path.js.map +1 -0
- package/dist/tools/prompt-library/charts.d.ts +325 -0
- package/dist/tools/prompt-library/charts.d.ts.map +1 -0
- package/dist/tools/prompt-library/charts.js +384 -0
- package/dist/tools/prompt-library/charts.js.map +1 -0
- package/dist/tools/prompt-library/index.d.ts +8 -0
- package/dist/tools/prompt-library/index.d.ts.map +1 -0
- package/dist/tools/prompt-library/index.js +10 -0
- package/dist/tools/prompt-library/index.js.map +1 -0
- package/dist/tools/register-analyze-image.d.ts +3 -0
- package/dist/tools/register-analyze-image.d.ts.map +1 -0
- package/dist/tools/register-analyze-image.js +67 -0
- package/dist/tools/register-analyze-image.js.map +1 -0
- package/dist/tools/register-chat.d.ts +3 -0
- package/dist/tools/register-chat.d.ts.map +1 -0
- package/dist/tools/register-chat.js +71 -0
- package/dist/tools/register-chat.js.map +1 -0
- package/dist/tools/register-deep-research.d.ts +3 -0
- package/dist/tools/register-deep-research.d.ts.map +1 -0
- package/dist/tools/register-deep-research.js +59 -0
- package/dist/tools/register-deep-research.js.map +1 -0
- package/dist/tools/register-describe-image.d.ts +3 -0
- package/dist/tools/register-describe-image.d.ts.map +1 -0
- package/dist/tools/register-describe-image.js +59 -0
- package/dist/tools/register-describe-image.js.map +1 -0
- package/dist/tools/register-image-gen.d.ts +3 -0
- package/dist/tools/register-image-gen.d.ts.map +1 -0
- package/dist/tools/register-image-gen.js +235 -0
- package/dist/tools/register-image-gen.js.map +1 -0
- package/dist/tools/register-landing-page.d.ts +3 -0
- package/dist/tools/register-landing-page.d.ts.map +1 -0
- package/dist/tools/register-landing-page.js +79 -0
- package/dist/tools/register-landing-page.js.map +1 -0
- package/dist/tools/register-list-models.d.ts +3 -0
- package/dist/tools/register-list-models.d.ts.map +1 -0
- package/dist/tools/register-list-models.js +33 -0
- package/dist/tools/register-list-models.js.map +1 -0
- package/dist/tools/register-load-image.d.ts +3 -0
- package/dist/tools/register-load-image.d.ts.map +1 -0
- package/dist/tools/register-load-image.js +66 -0
- package/dist/tools/register-load-image.js.map +1 -0
- package/dist/tools/register-svg.d.ts +3 -0
- package/dist/tools/register-svg.d.ts.map +1 -0
- package/dist/tools/register-svg.js +84 -0
- package/dist/tools/register-svg.js.map +1 -0
- package/dist/tools/register-video.d.ts +3 -0
- package/dist/tools/register-video.d.ts.map +1 -0
- package/dist/tools/register-video.js +118 -0
- package/dist/tools/register-video.js.map +1 -0
- package/dist/tools/register-viewers.d.ts +8 -0
- package/dist/tools/register-viewers.d.ts.map +1 -0
- package/dist/tools/register-viewers.js +89 -0
- package/dist/tools/register-viewers.js.map +1 -0
- package/dist/tools/schemas.d.ts +33 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +39 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/types.d.ts +12 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/ui/image-viewer.d.ts +2 -0
- package/dist/ui/image-viewer.d.ts.map +1 -0
- package/dist/ui/image-viewer.js +42 -0
- package/dist/ui/image-viewer.js.map +1 -0
- package/dist/utils/chart-design-system.d.ts +92 -0
- package/dist/utils/chart-design-system.d.ts.map +1 -0
- package/dist/utils/chart-design-system.js +235 -0
- package/dist/utils/chart-design-system.js.map +1 -0
- package/dist/utils/image-compress.d.ts +9 -0
- package/dist/utils/image-compress.d.ts.map +1 -0
- package/dist/utils/image-compress.js +43 -0
- package/dist/utils/image-compress.js.map +1 -0
- package/dist/utils/image-utils.d.ts +9 -0
- package/dist/utils/image-utils.d.ts.map +1 -0
- package/dist/utils/image-utils.js +257 -0
- package/dist/utils/image-utils.js.map +1 -0
- package/dist/utils/resolve-images.d.ts +29 -0
- package/dist/utils/resolve-images.d.ts.map +1 -0
- package/dist/utils/resolve-images.js +56 -0
- package/dist/utils/resolve-images.js.map +1 -0
- package/dist/utils/tool-wrapper.d.ts +13 -0
- package/dist/utils/tool-wrapper.d.ts.map +1 -0
- package/dist/utils/tool-wrapper.js +22 -0
- package/dist/utils/tool-wrapper.js.map +1 -0
- package/dist/utils/video-utils.d.ts +16 -0
- package/dist/utils/video-utils.d.ts.map +1 -0
- package/dist/utils/video-utils.js +319 -0
- package/dist/utils/video-utils.js.map +1 -0
- package/dist/video-viewer/src/ui/video-viewer.html +310 -0
- package/package.json +21 -7
- package/server.json +30 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-prompt-assistant.js","sourceRoot":"","sources":["../../src/tools/image-prompt-assistant.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface LoadedImage {
|
|
2
|
+
data: string;
|
|
3
|
+
mimeType: string;
|
|
4
|
+
filePath: string;
|
|
5
|
+
sizeBytes: number;
|
|
6
|
+
originalSizeBytes?: number;
|
|
7
|
+
wasCompressed?: boolean;
|
|
8
|
+
thoughtSignature?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function loadImageFromPath(filePath: string): Promise<LoadedImage>;
|
|
11
|
+
//# sourceMappingURL=load-image-from-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-image-from-path.d.ts","sourceRoot":"","sources":["../../src/tools/load-image-from-path.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwF9E"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { readFile } from 'fs/promises';
|
|
2
|
+
import { extname, resolve } from 'path';
|
|
3
|
+
import sharp from 'sharp';
|
|
4
|
+
import { GeminiError } from '../utils/error-handler.js';
|
|
5
|
+
const MIME_TYPES = {
|
|
6
|
+
'.jpg': 'image/jpeg',
|
|
7
|
+
'.jpeg': 'image/jpeg',
|
|
8
|
+
'.png': 'image/png',
|
|
9
|
+
'.gif': 'image/gif',
|
|
10
|
+
'.webp': 'image/webp',
|
|
11
|
+
'.bmp': 'image/bmp',
|
|
12
|
+
};
|
|
13
|
+
// Max raw file size we'll attempt to load (50MB)
|
|
14
|
+
const MAX_FILE_SIZE = 50 * 1024 * 1024;
|
|
15
|
+
// Threshold above which we auto-compress (4MB — base64 adds ~33%, keeping under MCP limits)
|
|
16
|
+
const COMPRESS_THRESHOLD = 4 * 1024 * 1024;
|
|
17
|
+
// Target size after compression
|
|
18
|
+
const COMPRESS_TARGET = 3 * 1024 * 1024;
|
|
19
|
+
// Max dimension for compressed images (Gemini accepts up to 3072, we use 2048 for safety)
|
|
20
|
+
const MAX_DIMENSION = 2048;
|
|
21
|
+
export async function loadImageFromPath(filePath) {
|
|
22
|
+
const absolutePath = resolve(filePath);
|
|
23
|
+
const ext = extname(absolutePath).toLowerCase();
|
|
24
|
+
const mimeType = MIME_TYPES[ext];
|
|
25
|
+
if (!mimeType) {
|
|
26
|
+
throw new GeminiError(`Unsupported image format: ${ext}. Supported formats: ${Object.keys(MIME_TYPES).join(', ')}`);
|
|
27
|
+
}
|
|
28
|
+
let buffer;
|
|
29
|
+
try {
|
|
30
|
+
buffer = await readFile(absolutePath);
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw new GeminiError(`Failed to read image file: ${error.message}`);
|
|
34
|
+
}
|
|
35
|
+
if (buffer.length > MAX_FILE_SIZE) {
|
|
36
|
+
throw new GeminiError(`Image file is too large (${Math.round(buffer.length / 1024 / 1024)}MB). ` +
|
|
37
|
+
`Maximum supported size is ${MAX_FILE_SIZE / 1024 / 1024}MB. ` +
|
|
38
|
+
`Please resize or compress the image before loading.`);
|
|
39
|
+
}
|
|
40
|
+
// Auto-compress large images to stay within MCP transport limits
|
|
41
|
+
let finalBuffer = buffer;
|
|
42
|
+
let finalMimeType = mimeType;
|
|
43
|
+
let wasCompressed = false;
|
|
44
|
+
const originalSize = buffer.length;
|
|
45
|
+
if (buffer.length > COMPRESS_THRESHOLD) {
|
|
46
|
+
try {
|
|
47
|
+
// First pass: resize to max dimension, convert to JPEG at high quality
|
|
48
|
+
finalBuffer = await sharp(buffer)
|
|
49
|
+
.resize(MAX_DIMENSION, MAX_DIMENSION, {
|
|
50
|
+
fit: 'inside',
|
|
51
|
+
withoutEnlargement: true,
|
|
52
|
+
})
|
|
53
|
+
.jpeg({ quality: 92, mozjpeg: true })
|
|
54
|
+
.toBuffer();
|
|
55
|
+
finalMimeType = 'image/jpeg';
|
|
56
|
+
wasCompressed = true;
|
|
57
|
+
// If still too large, progressively reduce quality
|
|
58
|
+
if (finalBuffer.length > COMPRESS_TARGET) {
|
|
59
|
+
for (const quality of [85, 78, 70]) {
|
|
60
|
+
finalBuffer = await sharp(buffer)
|
|
61
|
+
.resize(MAX_DIMENSION, MAX_DIMENSION, {
|
|
62
|
+
fit: 'inside',
|
|
63
|
+
withoutEnlargement: true,
|
|
64
|
+
})
|
|
65
|
+
.jpeg({ quality, mozjpeg: true })
|
|
66
|
+
.toBuffer();
|
|
67
|
+
if (finalBuffer.length <= COMPRESS_TARGET)
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// If sharp fails (e.g., animated GIF), fall back to the original buffer
|
|
74
|
+
finalBuffer = buffer;
|
|
75
|
+
finalMimeType = mimeType;
|
|
76
|
+
wasCompressed = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Try to load corresponding thought signature file if it exists
|
|
80
|
+
// Thought signatures enable conversational editing with gemini-3-pro-image-preview
|
|
81
|
+
const signaturePath = absolutePath.replace(/\.(png|jpg|jpeg|webp|gif|bmp)$/i, '.json');
|
|
82
|
+
let thoughtSignature;
|
|
83
|
+
try {
|
|
84
|
+
thoughtSignature = await readFile(signaturePath, 'utf-8');
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Thought signature file doesn't exist - this is fine, not all images have them
|
|
88
|
+
thoughtSignature = undefined;
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
data: finalBuffer.toString('base64'),
|
|
92
|
+
mimeType: finalMimeType,
|
|
93
|
+
filePath: absolutePath,
|
|
94
|
+
sizeBytes: finalBuffer.length,
|
|
95
|
+
originalSizeBytes: wasCompressed ? originalSize : undefined,
|
|
96
|
+
wasCompressed,
|
|
97
|
+
thoughtSignature,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=load-image-from-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-image-from-path.js","sourceRoot":"","sources":["../../src/tools/load-image-from-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chart & Data Visualization Prompt Enhancement v2.0
|
|
3
|
+
*
|
|
4
|
+
* Expanded design systems based on influential data visualization pioneers:
|
|
5
|
+
* - Edward Tufte (minimal data-ink)
|
|
6
|
+
* - Cole Nussbaumer Knaflic (strategic highlighting)
|
|
7
|
+
* - Observable/D3.js (interactive exploration)
|
|
8
|
+
* - FiveThirtyEight/The Economist (editorial storytelling)
|
|
9
|
+
* - Financial Times (elegant journalism)
|
|
10
|
+
* - Nature/Science journals (academic rigor)
|
|
11
|
+
* - Bloomberg/Fintech (high-density terminals)
|
|
12
|
+
* - W.E.B. Du Bois (modernist geometry)
|
|
13
|
+
* - IBM Carbon/Tailwind (enterprise UI)
|
|
14
|
+
*
|
|
15
|
+
* Usage:
|
|
16
|
+
* const enhanced = enhanceChartPrompt(basePrompt, {
|
|
17
|
+
* colorScheme: 'storytelling',
|
|
18
|
+
* chartType: 'bar'
|
|
19
|
+
* });
|
|
20
|
+
*/
|
|
21
|
+
export interface ChartEnhancementOptions {
|
|
22
|
+
colorScheme?: 'professional' | 'editorial' | 'scientific' | 'minimal' | 'dark' | 'storytelling' | 'financial' | 'terminal' | 'modernist';
|
|
23
|
+
chartType?: 'line' | 'bar' | 'scatter' | 'area' | 'pie' | 'network' | 'heatmap' | 'treemap';
|
|
24
|
+
emphasis?: 'data-ink' | 'storytelling' | 'exploration' | 'presentation';
|
|
25
|
+
}
|
|
26
|
+
declare const COLOR_SYSTEMS: {
|
|
27
|
+
readonly professional: {
|
|
28
|
+
readonly background: "#ffffff";
|
|
29
|
+
readonly primary: readonly ["#2563eb", "#7c3aed", "#dc2626", "#ea580c", "#ca8a04"];
|
|
30
|
+
readonly neutral: readonly ["#0f172a", "#475569", "#94a3b8", "#cbd5e1", "#f1f5f9"];
|
|
31
|
+
readonly accent: readonly ["#06b6d4", "#10b981", "#f59e0b"];
|
|
32
|
+
readonly text: "#0f172a";
|
|
33
|
+
readonly gridlines: "#e5e7eb";
|
|
34
|
+
readonly axis: "#6b7280";
|
|
35
|
+
readonly description: "IBM Carbon, Tailwind-inspired professional palette";
|
|
36
|
+
};
|
|
37
|
+
readonly editorial: {
|
|
38
|
+
readonly background: "#ffffff";
|
|
39
|
+
readonly primary: readonly ["#e63946", "#f1faee", "#a8dadc", "#457b9d", "#1d3557"];
|
|
40
|
+
readonly neutral: readonly ["#2b2d42", "#8d99ae", "#edf2f4"];
|
|
41
|
+
readonly accent: readonly ["#ff6b6b", "#4ecdc4"];
|
|
42
|
+
readonly text: "#2b2d42";
|
|
43
|
+
readonly gridlines: "#edf2f4";
|
|
44
|
+
readonly axis: "#8d99ae";
|
|
45
|
+
readonly description: "FiveThirtyEight, Economist-inspired editorial colours";
|
|
46
|
+
};
|
|
47
|
+
readonly scientific: {
|
|
48
|
+
readonly background: "#ffffff";
|
|
49
|
+
readonly primary: readonly ["#003f5c", "#58508d", "#bc5090", "#ff6361", "#ffa600"];
|
|
50
|
+
readonly neutral: readonly ["#1a1a1a", "#4a4a4a", "#8a8a8a", "#cacaca", "#f0f0f0"];
|
|
51
|
+
readonly accent: readonly ["#00d9ff", "#7209b7"];
|
|
52
|
+
readonly text: "#1a1a1a";
|
|
53
|
+
readonly gridlines: "#e5e5e5";
|
|
54
|
+
readonly axis: "#4a4a4a";
|
|
55
|
+
readonly description: "Nature, Science journal-inspired academic palette";
|
|
56
|
+
};
|
|
57
|
+
readonly minimal: {
|
|
58
|
+
readonly background: "#fafafa";
|
|
59
|
+
readonly primary: readonly ["#000000", "#404040", "#737373", "#a6a6a6", "#d9d9d9"];
|
|
60
|
+
readonly neutral: readonly ["#fafafa", "#f5f5f5", "#e5e5e5"];
|
|
61
|
+
readonly accent: readonly ["#2563eb", "#dc2626"];
|
|
62
|
+
readonly text: "#000000";
|
|
63
|
+
readonly gridlines: "#f5f5f5";
|
|
64
|
+
readonly axis: "#737373";
|
|
65
|
+
readonly description: "Edward Tufte-inspired minimal data-ink approach";
|
|
66
|
+
};
|
|
67
|
+
readonly dark: {
|
|
68
|
+
readonly background: "#0a0a0a";
|
|
69
|
+
readonly primary: readonly ["#60a5fa", "#a78bfa", "#f472b6", "#fb923c", "#fbbf24"];
|
|
70
|
+
readonly neutral: readonly ["#0a0a0a", "#1f1f1f", "#404040", "#737373", "#a6a6a6"];
|
|
71
|
+
readonly accent: readonly ["#22d3ee", "#34d399"];
|
|
72
|
+
readonly text: "#ffffff";
|
|
73
|
+
readonly gridlines: "#1f1f1f";
|
|
74
|
+
readonly axis: "#737373";
|
|
75
|
+
readonly description: "Observable dark mode, GitHub dark-inspired";
|
|
76
|
+
};
|
|
77
|
+
readonly storytelling: {
|
|
78
|
+
readonly background: "#ffffff";
|
|
79
|
+
readonly primary: readonly ["#bfbfbf", "#999999", "#737373"];
|
|
80
|
+
readonly neutral: readonly ["#595959", "#d9d9d9", "#f2f2f2"];
|
|
81
|
+
readonly accent: readonly ["#005a9c", "#f26c23", "#c00000"];
|
|
82
|
+
readonly text: "#262626";
|
|
83
|
+
readonly gridlines: "#f2f2f2";
|
|
84
|
+
readonly axis: "#d9d9d9";
|
|
85
|
+
readonly description: "Cole Nussbaumer Knaflic - strategic highlighting with pre-attentive processing";
|
|
86
|
+
};
|
|
87
|
+
readonly financial: {
|
|
88
|
+
readonly background: "#fff1e5";
|
|
89
|
+
readonly primary: readonly ["#0f5499", "#0d7680", "#cc0000", "#5a298c", "#d9a300"];
|
|
90
|
+
readonly neutral: readonly ["#33302e", "#e9decf"];
|
|
91
|
+
readonly accent: readonly ["#0f5499", "#cc0000"];
|
|
92
|
+
readonly text: "#33302e";
|
|
93
|
+
readonly gridlines: "#ffffff";
|
|
94
|
+
readonly axis: "#33302e";
|
|
95
|
+
readonly description: "Financial Times - elegant editorial with signature salmon background";
|
|
96
|
+
};
|
|
97
|
+
readonly terminal: {
|
|
98
|
+
readonly background: "#000000";
|
|
99
|
+
readonly primary: readonly ["#00e3d1", "#34e05b", "#ff2b6d", "#ff8e15", "#fdee00"];
|
|
100
|
+
readonly neutral: readonly ["#111111", "#2a2a2a", "#333333"];
|
|
101
|
+
readonly accent: readonly ["#00e3d1", "#ff2b6d"];
|
|
102
|
+
readonly text: "#ffffff";
|
|
103
|
+
readonly gridlines: "#2a2a2a";
|
|
104
|
+
readonly axis: "#aaaaaa";
|
|
105
|
+
readonly description: "Bloomberg/Fintech - high-density terminal with electric neon accents";
|
|
106
|
+
};
|
|
107
|
+
readonly modernist: {
|
|
108
|
+
readonly background: "#e5ded0";
|
|
109
|
+
readonly primary: readonly ["#dc143c", "#009b77", "#ffd700", "#000080", "#654321"];
|
|
110
|
+
readonly neutral: readonly ["#1a1a1a", "#e5ded0"];
|
|
111
|
+
readonly accent: readonly ["#dc143c", "#009b77"];
|
|
112
|
+
readonly text: "#1a1a1a";
|
|
113
|
+
readonly gridlines: "transparent";
|
|
114
|
+
readonly axis: "#1a1a1a";
|
|
115
|
+
readonly description: "W.E.B. Du Bois - bold geometric modernism with stark contrasts";
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Enhance a chart prompt with professional design system
|
|
120
|
+
*/
|
|
121
|
+
export declare function enhanceChartPrompt(basePrompt: string, options?: ChartEnhancementOptions): string;
|
|
122
|
+
/**
|
|
123
|
+
* Get color palette for a specific scheme
|
|
124
|
+
*/
|
|
125
|
+
export declare function getChartColorPalette(scheme: keyof typeof COLOR_SYSTEMS): {
|
|
126
|
+
readonly background: "#ffffff";
|
|
127
|
+
readonly primary: readonly ["#2563eb", "#7c3aed", "#dc2626", "#ea580c", "#ca8a04"];
|
|
128
|
+
readonly neutral: readonly ["#0f172a", "#475569", "#94a3b8", "#cbd5e1", "#f1f5f9"];
|
|
129
|
+
readonly accent: readonly ["#06b6d4", "#10b981", "#f59e0b"];
|
|
130
|
+
readonly text: "#0f172a";
|
|
131
|
+
readonly gridlines: "#e5e7eb";
|
|
132
|
+
readonly axis: "#6b7280";
|
|
133
|
+
readonly description: "IBM Carbon, Tailwind-inspired professional palette";
|
|
134
|
+
} | {
|
|
135
|
+
readonly background: "#ffffff";
|
|
136
|
+
readonly primary: readonly ["#e63946", "#f1faee", "#a8dadc", "#457b9d", "#1d3557"];
|
|
137
|
+
readonly neutral: readonly ["#2b2d42", "#8d99ae", "#edf2f4"];
|
|
138
|
+
readonly accent: readonly ["#ff6b6b", "#4ecdc4"];
|
|
139
|
+
readonly text: "#2b2d42";
|
|
140
|
+
readonly gridlines: "#edf2f4";
|
|
141
|
+
readonly axis: "#8d99ae";
|
|
142
|
+
readonly description: "FiveThirtyEight, Economist-inspired editorial colours";
|
|
143
|
+
} | {
|
|
144
|
+
readonly background: "#ffffff";
|
|
145
|
+
readonly primary: readonly ["#003f5c", "#58508d", "#bc5090", "#ff6361", "#ffa600"];
|
|
146
|
+
readonly neutral: readonly ["#1a1a1a", "#4a4a4a", "#8a8a8a", "#cacaca", "#f0f0f0"];
|
|
147
|
+
readonly accent: readonly ["#00d9ff", "#7209b7"];
|
|
148
|
+
readonly text: "#1a1a1a";
|
|
149
|
+
readonly gridlines: "#e5e5e5";
|
|
150
|
+
readonly axis: "#4a4a4a";
|
|
151
|
+
readonly description: "Nature, Science journal-inspired academic palette";
|
|
152
|
+
} | {
|
|
153
|
+
readonly background: "#fafafa";
|
|
154
|
+
readonly primary: readonly ["#000000", "#404040", "#737373", "#a6a6a6", "#d9d9d9"];
|
|
155
|
+
readonly neutral: readonly ["#fafafa", "#f5f5f5", "#e5e5e5"];
|
|
156
|
+
readonly accent: readonly ["#2563eb", "#dc2626"];
|
|
157
|
+
readonly text: "#000000";
|
|
158
|
+
readonly gridlines: "#f5f5f5";
|
|
159
|
+
readonly axis: "#737373";
|
|
160
|
+
readonly description: "Edward Tufte-inspired minimal data-ink approach";
|
|
161
|
+
} | {
|
|
162
|
+
readonly background: "#0a0a0a";
|
|
163
|
+
readonly primary: readonly ["#60a5fa", "#a78bfa", "#f472b6", "#fb923c", "#fbbf24"];
|
|
164
|
+
readonly neutral: readonly ["#0a0a0a", "#1f1f1f", "#404040", "#737373", "#a6a6a6"];
|
|
165
|
+
readonly accent: readonly ["#22d3ee", "#34d399"];
|
|
166
|
+
readonly text: "#ffffff";
|
|
167
|
+
readonly gridlines: "#1f1f1f";
|
|
168
|
+
readonly axis: "#737373";
|
|
169
|
+
readonly description: "Observable dark mode, GitHub dark-inspired";
|
|
170
|
+
} | {
|
|
171
|
+
readonly background: "#ffffff";
|
|
172
|
+
readonly primary: readonly ["#bfbfbf", "#999999", "#737373"];
|
|
173
|
+
readonly neutral: readonly ["#595959", "#d9d9d9", "#f2f2f2"];
|
|
174
|
+
readonly accent: readonly ["#005a9c", "#f26c23", "#c00000"];
|
|
175
|
+
readonly text: "#262626";
|
|
176
|
+
readonly gridlines: "#f2f2f2";
|
|
177
|
+
readonly axis: "#d9d9d9";
|
|
178
|
+
readonly description: "Cole Nussbaumer Knaflic - strategic highlighting with pre-attentive processing";
|
|
179
|
+
} | {
|
|
180
|
+
readonly background: "#fff1e5";
|
|
181
|
+
readonly primary: readonly ["#0f5499", "#0d7680", "#cc0000", "#5a298c", "#d9a300"];
|
|
182
|
+
readonly neutral: readonly ["#33302e", "#e9decf"];
|
|
183
|
+
readonly accent: readonly ["#0f5499", "#cc0000"];
|
|
184
|
+
readonly text: "#33302e";
|
|
185
|
+
readonly gridlines: "#ffffff";
|
|
186
|
+
readonly axis: "#33302e";
|
|
187
|
+
readonly description: "Financial Times - elegant editorial with signature salmon background";
|
|
188
|
+
} | {
|
|
189
|
+
readonly background: "#000000";
|
|
190
|
+
readonly primary: readonly ["#00e3d1", "#34e05b", "#ff2b6d", "#ff8e15", "#fdee00"];
|
|
191
|
+
readonly neutral: readonly ["#111111", "#2a2a2a", "#333333"];
|
|
192
|
+
readonly accent: readonly ["#00e3d1", "#ff2b6d"];
|
|
193
|
+
readonly text: "#ffffff";
|
|
194
|
+
readonly gridlines: "#2a2a2a";
|
|
195
|
+
readonly axis: "#aaaaaa";
|
|
196
|
+
readonly description: "Bloomberg/Fintech - high-density terminal with electric neon accents";
|
|
197
|
+
} | {
|
|
198
|
+
readonly background: "#e5ded0";
|
|
199
|
+
readonly primary: readonly ["#dc143c", "#009b77", "#ffd700", "#000080", "#654321"];
|
|
200
|
+
readonly neutral: readonly ["#1a1a1a", "#e5ded0"];
|
|
201
|
+
readonly accent: readonly ["#dc143c", "#009b77"];
|
|
202
|
+
readonly text: "#1a1a1a";
|
|
203
|
+
readonly gridlines: "transparent";
|
|
204
|
+
readonly axis: "#1a1a1a";
|
|
205
|
+
readonly description: "W.E.B. Du Bois - bold geometric modernism with stark contrasts";
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Get typography system for a specific scheme
|
|
209
|
+
*/
|
|
210
|
+
export declare function getChartTypography(scheme: keyof typeof COLOR_SYSTEMS): {
|
|
211
|
+
readonly title: "Inter or SF Pro";
|
|
212
|
+
readonly labels: "Inter or Roboto";
|
|
213
|
+
readonly data: "JetBrains Mono";
|
|
214
|
+
readonly sizes: {
|
|
215
|
+
readonly title: "18-24px";
|
|
216
|
+
readonly subtitle: "14-16px";
|
|
217
|
+
readonly labels: "11-13px";
|
|
218
|
+
readonly annotations: "10-12px";
|
|
219
|
+
};
|
|
220
|
+
readonly weights: {
|
|
221
|
+
readonly title: 600;
|
|
222
|
+
readonly labels: 500;
|
|
223
|
+
readonly data: 400;
|
|
224
|
+
};
|
|
225
|
+
} | {
|
|
226
|
+
readonly title: "Playfair Display";
|
|
227
|
+
readonly labels: "Franklin Gothic";
|
|
228
|
+
readonly data: "Courier New";
|
|
229
|
+
readonly sizes: {
|
|
230
|
+
readonly title: "24-32px";
|
|
231
|
+
readonly subtitle: "16-20px";
|
|
232
|
+
readonly labels: "12-14px";
|
|
233
|
+
readonly annotations: "11-13px";
|
|
234
|
+
};
|
|
235
|
+
readonly weights: {
|
|
236
|
+
readonly title: 700;
|
|
237
|
+
readonly labels: 400;
|
|
238
|
+
readonly data: 400;
|
|
239
|
+
};
|
|
240
|
+
} | {
|
|
241
|
+
readonly title: "Arial";
|
|
242
|
+
readonly labels: "Arial";
|
|
243
|
+
readonly data: "Monaco";
|
|
244
|
+
readonly sizes: {
|
|
245
|
+
readonly title: "16-20px";
|
|
246
|
+
readonly subtitle: "13-15px";
|
|
247
|
+
readonly labels: "10-12px";
|
|
248
|
+
readonly annotations: "9-11px";
|
|
249
|
+
};
|
|
250
|
+
readonly weights: {
|
|
251
|
+
readonly title: 600;
|
|
252
|
+
readonly labels: 400;
|
|
253
|
+
readonly data: 400;
|
|
254
|
+
};
|
|
255
|
+
} | {
|
|
256
|
+
readonly title: "Inter or Helvetica Neue";
|
|
257
|
+
readonly labels: "Inter or Arial";
|
|
258
|
+
readonly data: "Inter";
|
|
259
|
+
readonly sizes: {
|
|
260
|
+
readonly title: "20-26px";
|
|
261
|
+
readonly subtitle: "14-16px";
|
|
262
|
+
readonly labels: "11-13px";
|
|
263
|
+
readonly annotations: "10-12px";
|
|
264
|
+
};
|
|
265
|
+
readonly weights: {
|
|
266
|
+
readonly title: 700;
|
|
267
|
+
readonly labels: 400;
|
|
268
|
+
readonly data: 700;
|
|
269
|
+
};
|
|
270
|
+
} | {
|
|
271
|
+
readonly title: "Merriweather or Playfair Display";
|
|
272
|
+
readonly labels: "Open Sans or Fira Sans";
|
|
273
|
+
readonly data: "Open Sans";
|
|
274
|
+
readonly sizes: {
|
|
275
|
+
readonly title: "22-28px";
|
|
276
|
+
readonly subtitle: "14-18px";
|
|
277
|
+
readonly labels: "11-13px";
|
|
278
|
+
readonly annotations: "10-12px";
|
|
279
|
+
};
|
|
280
|
+
readonly weights: {
|
|
281
|
+
readonly title: 600;
|
|
282
|
+
readonly labels: 400;
|
|
283
|
+
readonly data: 400;
|
|
284
|
+
};
|
|
285
|
+
} | {
|
|
286
|
+
readonly title: "Inter";
|
|
287
|
+
readonly labels: "Roboto Mono or IBM Plex Mono";
|
|
288
|
+
readonly data: "JetBrains Mono";
|
|
289
|
+
readonly sizes: {
|
|
290
|
+
readonly title: "16-22px";
|
|
291
|
+
readonly subtitle: "13-16px";
|
|
292
|
+
readonly labels: "10-12px";
|
|
293
|
+
readonly annotations: "9-11px";
|
|
294
|
+
};
|
|
295
|
+
readonly weights: {
|
|
296
|
+
readonly title: 700;
|
|
297
|
+
readonly labels: 400;
|
|
298
|
+
readonly data: 400;
|
|
299
|
+
};
|
|
300
|
+
} | {
|
|
301
|
+
readonly title: "Jost or Futura";
|
|
302
|
+
readonly labels: "Jost or Public Sans";
|
|
303
|
+
readonly data: "Jost";
|
|
304
|
+
readonly sizes: {
|
|
305
|
+
readonly title: "24-32px";
|
|
306
|
+
readonly subtitle: "16-20px";
|
|
307
|
+
readonly labels: "12-14px";
|
|
308
|
+
readonly annotations: "11-13px";
|
|
309
|
+
};
|
|
310
|
+
readonly weights: {
|
|
311
|
+
readonly title: 700;
|
|
312
|
+
readonly labels: 600;
|
|
313
|
+
readonly data: 700;
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* Validate chart prompt for common anti-patterns
|
|
318
|
+
*/
|
|
319
|
+
export declare function validateChartPrompt(prompt: string): {
|
|
320
|
+
valid: boolean;
|
|
321
|
+
warnings: string[];
|
|
322
|
+
suggestions: string[];
|
|
323
|
+
};
|
|
324
|
+
export {};
|
|
325
|
+
//# sourceMappingURL=charts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../../../src/tools/prompt-library/charts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IACzI,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5F,QAAQ,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,CAAC;CACzE;AAED,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FT,CAAC;AA8KX;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAiER;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,OAAO,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CA4BA"}
|