@cyanheads/pixoo-mcp-server 1.2.2 → 1.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/AGENTS.md +13 -9
- package/CLAUDE.md +13 -9
- package/Dockerfile +63 -46
- package/README.md +7 -7
- package/changelog/1.3.x/1.3.0.md +35 -0
- package/dist/config/server-config.d.ts +1 -1
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +6 -1
- package/dist/config/server-config.js.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.js +1 -1
- package/dist/mcp-server/tools/asset-source-schema.d.ts +13 -0
- package/dist/mcp-server/tools/asset-source-schema.d.ts.map +1 -0
- package/dist/mcp-server/tools/asset-source-schema.js +25 -0
- package/dist/mcp-server/tools/asset-source-schema.js.map +1 -0
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.d.ts +43 -53
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.js +102 -74
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-discover-devices.tool.d.ts +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-discover-devices.tool.js +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-discover-devices.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.d.ts +6 -9
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.js +26 -20
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-overlay-text.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-overlay-text.tool.js +1 -3
- package/dist/mcp-server/tools/definitions/pixoo-overlay-text.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.js +5 -6
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.js.map +1 -1
- package/dist/renderer/remote-image.d.ts +1 -1
- package/dist/renderer/remote-image.d.ts.map +1 -1
- package/dist/renderer/remote-image.js +6 -6
- package/dist/renderer/remote-image.js.map +1 -1
- package/dist/renderer/scene-renderer.d.ts +14 -8
- package/dist/renderer/scene-renderer.d.ts.map +1 -1
- package/dist/renderer/scene-renderer.js +17 -17
- package/dist/renderer/scene-renderer.js.map +1 -1
- package/dist/renderer/text-engine.d.ts +22 -12
- package/dist/renderer/text-engine.d.ts.map +1 -1
- package/dist/renderer/text-engine.js +38 -26
- package/dist/renderer/text-engine.js.map +1 -1
- package/dist/services/pixoo/pixoo-service.d.ts.map +1 -1
- package/dist/services/pixoo/pixoo-service.js +9 -33
- package/dist/services/pixoo/pixoo-service.js.map +1 -1
- package/package.json +2 -2
- package/server.json +3 -3
|
@@ -7,17 +7,22 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
7
7
|
import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
|
|
8
8
|
import { Canvas, NAMED_COLORS, savePng } from '@cyanheads/pixoo-toolkit';
|
|
9
9
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
10
|
+
import { ImageSourceSchema, SpritePathSchema } from '../asset-source-schema.js';
|
|
10
11
|
import { pushKeepingPreview, visibilityNotice } from '../device-push.js';
|
|
11
12
|
import { FinishSchema } from '../finish-schema.js';
|
|
12
13
|
import { ICONS } from '../../../renderer/icons.js';
|
|
13
14
|
import { numericValue } from '../../../renderer/keyframes.js';
|
|
14
15
|
import { autoSavePreview, buildContactSheet, saveGifPreview, savePngPreview, } from '../../../renderer/preview.js';
|
|
15
16
|
import { renderScene } from '../../../renderer/scene-renderer.js';
|
|
16
|
-
import { describeMissingNumerals, FONT_VARIANTS,
|
|
17
|
+
import { describeMissingNumerals, FONT_FACES, FONT_VARIANTS, fallbackGlyphNotice, missingGlyphs, } from '../../../renderer/text-engine.js';
|
|
17
18
|
import { getPixooService } from '../../../services/pixoo/pixoo-service.js';
|
|
18
19
|
// --- Shared sub-schemas ---
|
|
20
|
+
/*
|
|
21
|
+
* Every input object is a z.strictObject: an unknown key fails validation by its full
|
|
22
|
+
* path, naming the keys that object accepts, instead of being dropped.
|
|
23
|
+
*/
|
|
19
24
|
const EffectSchema = z
|
|
20
|
-
.
|
|
25
|
+
.strictObject({
|
|
21
26
|
name: z
|
|
22
27
|
.enum([
|
|
23
28
|
'float',
|
|
@@ -58,14 +63,16 @@ const NumericKeyframeValue = z
|
|
|
58
63
|
.refine((value) => numericValue(value) !== undefined, NUMERIC_KEYFRAME_ERROR)
|
|
59
64
|
.describe('Value at this frame: a number, or a numeric string such as "40" read as that number.');
|
|
60
65
|
const AnimateSchema = z
|
|
61
|
-
.
|
|
66
|
+
.strictObject({
|
|
62
67
|
dx: keyframeTrack(NumericKeyframeValue, 'X offset keyframes in pixels, added to dx and interpolated between keyframes.').optional(),
|
|
63
68
|
dy: keyframeTrack(NumericKeyframeValue, 'Y offset keyframes in pixels, added to dy and interpolated between keyframes.').optional(),
|
|
64
69
|
opacity: keyframeTrack(NumericKeyframeValue, 'Opacity keyframes 0–100, interpolated between keyframes.').optional(),
|
|
65
70
|
visible: keyframeTrack(z.boolean().describe('Whether the element shows at this frame.'), 'Visibility keyframes: true or false, switching at the midpoint between keyframes.').optional(),
|
|
66
|
-
color: keyframeTrack(z.union([z.number(), z.string(), z.boolean()]).describe('Color at this frame.'),
|
|
71
|
+
color: keyframeTrack(z.union([z.number(), z.string(), z.boolean()]).describe('Color at this frame.'), "Color keyframes (hex or named), interpolated through RGB; each frame's value stands in for the element's color (on pixels, every point's color).").optional(),
|
|
67
72
|
})
|
|
68
73
|
.describe('Raw keyframe tracks by property: { dx | dy | opacity | visible | color: [[frame, value], ...] }.');
|
|
74
|
+
/** Keyframe tracks for an element with no color field: bitmap, progress, image, sprite. */
|
|
75
|
+
const ColorlessAnimateSchema = AnimateSchema.omit({ color: true }).describe('Raw keyframe tracks by property: { dx | dy | opacity | visible: [[frame, value], ...] }. This element has no color field, so there is no color track.');
|
|
69
76
|
const BaseElementProps = {
|
|
70
77
|
visible: z.boolean().optional().describe('Whether the element is visible (default: true).'),
|
|
71
78
|
opacity: z.number().int().min(0).max(100).optional().describe('Opacity 0–100 (default: 100).'),
|
|
@@ -75,8 +82,17 @@ const BaseElementProps = {
|
|
|
75
82
|
.describe('How the element combines with what lies beneath it (default: normal, drawn over it). add sums the light of both, clamped at full brightness — for glows and light beams; screen brightens more gently; multiply darkens.'),
|
|
76
83
|
dx: z.number().int().optional().describe('X offset nudge in pixels.'),
|
|
77
84
|
dy: z.number().int().optional().describe('Y offset nudge in pixels.'),
|
|
78
|
-
effect: EffectSchema.optional().describe('Named animation preset for this element.'),
|
|
79
|
-
|
|
85
|
+
effect: EffectSchema.optional().describe('Named animation preset for this element. Set either effect or animate, not both.'),
|
|
86
|
+
};
|
|
87
|
+
/** Shared props, spread last, for an element whose color an animate track can drive. */
|
|
88
|
+
const ColoredElementProps = {
|
|
89
|
+
...BaseElementProps,
|
|
90
|
+
animate: AnimateSchema.optional().describe('Raw keyframe animation map for this element. Set either effect or animate, not both.'),
|
|
91
|
+
};
|
|
92
|
+
/** Shared props, spread last, for an element with no color field. */
|
|
93
|
+
const ColorlessElementProps = {
|
|
94
|
+
...BaseElementProps,
|
|
95
|
+
animate: ColorlessAnimateSchema.optional().describe('Raw keyframe animation map for this element (no color track). Set either effect or animate, not both.'),
|
|
80
96
|
};
|
|
81
97
|
const XPosSchema = z
|
|
82
98
|
.union([
|
|
@@ -91,14 +107,14 @@ const YPosSchema = z
|
|
|
91
107
|
])
|
|
92
108
|
.describe('Y position: integer pixel or semantic alignment.');
|
|
93
109
|
const StyleSchema = z
|
|
94
|
-
.
|
|
110
|
+
.strictObject({
|
|
95
111
|
palette: z
|
|
96
112
|
.union([
|
|
97
113
|
z
|
|
98
114
|
.enum(['ember', 'ice', 'neon', 'fire', 'lavender', 'claude', 'mono'])
|
|
99
115
|
.describe('Named built-in color palette for the vertical ramp.'),
|
|
100
116
|
z
|
|
101
|
-
.
|
|
117
|
+
.strictObject({
|
|
102
118
|
from: z.string().describe('Top color.'),
|
|
103
119
|
to: z.string().describe('Bottom color.'),
|
|
104
120
|
})
|
|
@@ -114,7 +130,7 @@ const StyleSchema = z
|
|
|
114
130
|
.describe('Text style options.');
|
|
115
131
|
// --- Element schemas ---
|
|
116
132
|
const TextElementSchema = z
|
|
117
|
-
.
|
|
133
|
+
.strictObject({
|
|
118
134
|
type: z.literal('text').describe('Text element type.'),
|
|
119
135
|
text: z.string().describe('Text content to render.'),
|
|
120
136
|
x: XPosSchema.optional().describe('X position (default: 0).'),
|
|
@@ -125,12 +141,12 @@ const TextElementSchema = z
|
|
|
125
141
|
.optional()
|
|
126
142
|
.describe('Font variant (default: standard): standard (5×7) or compact (3×5), each printable ASCII plus ° ← ↑ → ↓ ▲ ▼ ♥ · …; or numerals (11×18 digits for clocks and readouts), which draws only 0–9, space, and : . - + / % ° ?, so text holding any other character is rejected — put units and labels in a separate standard or compact text element.'),
|
|
127
143
|
style: StyleSchema.optional().describe('Text style options.'),
|
|
128
|
-
...
|
|
144
|
+
...ColoredElementProps,
|
|
129
145
|
})
|
|
130
146
|
.superRefine((el, ctx) => {
|
|
131
147
|
if (el.font !== 'numerals')
|
|
132
148
|
return;
|
|
133
|
-
const missing =
|
|
149
|
+
const missing = missingGlyphs(el.text, FONT_FACES.numerals);
|
|
134
150
|
if (missing.length === 0)
|
|
135
151
|
return;
|
|
136
152
|
ctx.addIssue({
|
|
@@ -139,7 +155,7 @@ const TextElementSchema = z
|
|
|
139
155
|
message: `${describeMissingNumerals(missing)} Put units and labels in a separate text element in the standard or compact font.`,
|
|
140
156
|
});
|
|
141
157
|
});
|
|
142
|
-
const IconElementSchema = z.
|
|
158
|
+
const IconElementSchema = z.strictObject({
|
|
143
159
|
type: z.literal('icon').describe('Icon element type.'),
|
|
144
160
|
name: z.string().optional().describe('Built-in icon name (see pixoo://reference/icons).'),
|
|
145
161
|
d: z.string().optional().describe('Custom SVG path d attribute.'),
|
|
@@ -153,10 +169,10 @@ const IconElementSchema = z.object({
|
|
|
153
169
|
.enum(['ember', 'ice', 'neon', 'fire', 'lavender', 'claude', 'mono'])
|
|
154
170
|
.optional()
|
|
155
171
|
.describe("Named palette painted as a top-to-bottom color ramp from the icon's top row to its bottom row. Takes precedence over color."),
|
|
156
|
-
...
|
|
172
|
+
...ColoredElementProps,
|
|
157
173
|
});
|
|
158
174
|
const RectElementSchema = z
|
|
159
|
-
.
|
|
175
|
+
.strictObject({
|
|
160
176
|
type: z.literal('rect').describe('Rectangle element type.'),
|
|
161
177
|
x: z.number().int().describe('X coordinate.'),
|
|
162
178
|
y: z.number().int().describe('Y coordinate.'),
|
|
@@ -164,7 +180,7 @@ const RectElementSchema = z
|
|
|
164
180
|
h: z.number().int().min(1).describe('Height in pixels.'),
|
|
165
181
|
color: z.string().optional().describe('Fill color.'),
|
|
166
182
|
gradient: z
|
|
167
|
-
.
|
|
183
|
+
.strictObject({
|
|
168
184
|
type: z.enum(['v', 'h']).describe('v = vertical, h = horizontal.'),
|
|
169
185
|
from: z.string().describe('Start color.'),
|
|
170
186
|
to: z.string().describe('End color.'),
|
|
@@ -181,7 +197,7 @@ const RectElementSchema = z
|
|
|
181
197
|
.min(1)
|
|
182
198
|
.optional()
|
|
183
199
|
.describe('Border thickness in whole pixels, growing inward from the rect edge (default: 1). Requires borderColor.'),
|
|
184
|
-
...
|
|
200
|
+
...ColoredElementProps,
|
|
185
201
|
})
|
|
186
202
|
.refine((el) => el.strokeWidth === undefined || Boolean(el.borderColor), {
|
|
187
203
|
error: 'strokeWidth sets the thickness of the borderColor border; set borderColor, or drop strokeWidth.',
|
|
@@ -190,7 +206,7 @@ const RectElementSchema = z
|
|
|
190
206
|
/** The error for a stroke field on a circle that fills, which draws no outline. */
|
|
191
207
|
const filledCircleError = (field) => `${field} applies to an outline circle only; set fill: false, or drop ${field}.`;
|
|
192
208
|
const CircleElementSchema = z
|
|
193
|
-
.
|
|
209
|
+
.strictObject({
|
|
194
210
|
type: z.literal('circle').describe('Circle element type.'),
|
|
195
211
|
cx: z.number().int().describe('Center X coordinate.'),
|
|
196
212
|
cy: z.number().int().describe('Center Y coordinate.'),
|
|
@@ -207,7 +223,7 @@ const CircleElementSchema = z
|
|
|
207
223
|
.boolean()
|
|
208
224
|
.optional()
|
|
209
225
|
.describe('Shade each outline pixel by how much of it the ring covers, for a smooth curve (default: false, hard pixel edges). Outline circles only (fill: false).'),
|
|
210
|
-
...
|
|
226
|
+
...ColoredElementProps,
|
|
211
227
|
})
|
|
212
228
|
.refine((el) => el.fill === false || el.strokeWidth === undefined, {
|
|
213
229
|
error: filledCircleError('strokeWidth'),
|
|
@@ -217,7 +233,7 @@ const CircleElementSchema = z
|
|
|
217
233
|
error: filledCircleError('antialias'),
|
|
218
234
|
path: ['antialias'],
|
|
219
235
|
});
|
|
220
|
-
const LineElementSchema = z.
|
|
236
|
+
const LineElementSchema = z.strictObject({
|
|
221
237
|
type: z.literal('line').describe('Line element type.'),
|
|
222
238
|
x0: z.number().int().describe('Start X coordinate.'),
|
|
223
239
|
y0: z.number().int().describe('Start Y coordinate.'),
|
|
@@ -234,9 +250,9 @@ const LineElementSchema = z.object({
|
|
|
234
250
|
.boolean()
|
|
235
251
|
.optional()
|
|
236
252
|
.describe('Shade each pixel by how much of it the line covers, for smooth diagonals (default: false, hard pixel edges).'),
|
|
237
|
-
...
|
|
253
|
+
...ColoredElementProps,
|
|
238
254
|
});
|
|
239
|
-
const ProgressElementSchema = z.
|
|
255
|
+
const ProgressElementSchema = z.strictObject({
|
|
240
256
|
type: z.literal('progress').describe('Progress bar widget type.'),
|
|
241
257
|
x: z.number().int().describe('X coordinate.'),
|
|
242
258
|
y: z.number().int().describe('Y coordinate.'),
|
|
@@ -250,9 +266,9 @@ const ProgressElementSchema = z.object({
|
|
|
250
266
|
.describe('Named palette for gradient fill.'),
|
|
251
267
|
trackColor: z.string().optional().describe('Background track color.'),
|
|
252
268
|
label: z.string().optional().describe('Optional label rendered on the bar.'),
|
|
253
|
-
...
|
|
269
|
+
...ColorlessElementProps,
|
|
254
270
|
});
|
|
255
|
-
const SparklineElementSchema = z.
|
|
271
|
+
const SparklineElementSchema = z.strictObject({
|
|
256
272
|
type: z.literal('sparkline').describe('Sparkline chart widget type.'),
|
|
257
273
|
x: z.number().int().describe('X coordinate.'),
|
|
258
274
|
y: z.number().int().describe('Y coordinate.'),
|
|
@@ -261,9 +277,9 @@ const SparklineElementSchema = z.object({
|
|
|
261
277
|
data: z.array(z.number()).min(2).describe('Data points for the chart.'),
|
|
262
278
|
color: z.string().optional().describe('Line or bar color.'),
|
|
263
279
|
kind: z.enum(['line', 'bar']).optional().describe('Chart style (default: line).'),
|
|
264
|
-
...
|
|
280
|
+
...ColoredElementProps,
|
|
265
281
|
});
|
|
266
|
-
const BitmapElementSchema = z.
|
|
282
|
+
const BitmapElementSchema = z.strictObject({
|
|
267
283
|
type: z.literal('bitmap').describe('Bitmap element using palette indices.'),
|
|
268
284
|
x: z.number().int().describe('X coordinate.'),
|
|
269
285
|
y: z.number().int().describe('Y coordinate.'),
|
|
@@ -271,24 +287,24 @@ const BitmapElementSchema = z.object({
|
|
|
271
287
|
.array(z.string())
|
|
272
288
|
.describe('Row strings of hex palette indices (0-F, space = transparent).'),
|
|
273
289
|
palette: z.array(z.string()).describe('Color palette: array of hex colors indexed 0-F.'),
|
|
274
|
-
...
|
|
290
|
+
...ColorlessElementProps,
|
|
275
291
|
});
|
|
276
|
-
const PixelsElementSchema = z.
|
|
292
|
+
const PixelsElementSchema = z.strictObject({
|
|
277
293
|
type: z.literal('pixels').describe('Sparse pixel dots element.'),
|
|
278
294
|
data: z
|
|
279
295
|
.array(z
|
|
280
|
-
.
|
|
296
|
+
.strictObject({
|
|
281
297
|
x: z.number().int().describe('Pixel X coordinate.'),
|
|
282
298
|
y: z.number().int().describe('Pixel Y coordinate.'),
|
|
283
299
|
color: z.string().describe('Pixel color.'),
|
|
284
300
|
})
|
|
285
301
|
.describe('A single pixel: position and color.'))
|
|
286
302
|
.describe('Array of pixel positions and colors.'),
|
|
287
|
-
...
|
|
303
|
+
...ColoredElementProps,
|
|
288
304
|
});
|
|
289
|
-
const ImageElementSchema = z.
|
|
290
|
-
type: z.literal('image').describe('Image element (local path or https URL).'),
|
|
291
|
-
source:
|
|
305
|
+
const ImageElementSchema = z.strictObject({
|
|
306
|
+
type: z.literal('image').describe('Image element (absolute local path or https URL).'),
|
|
307
|
+
source: ImageSourceSchema.describe('Absolute local file path or https (not http) URL; a relative path is rejected.'),
|
|
292
308
|
x: z.number().int().optional().describe('X offset on canvas (default: 0).'),
|
|
293
309
|
y: z.number().int().optional().describe('Y offset on canvas (default: 0).'),
|
|
294
310
|
w: z.number().int().min(1).max(256).optional().describe('Target width (default: canvas width).'),
|
|
@@ -308,11 +324,11 @@ const ImageElementSchema = z.object({
|
|
|
308
324
|
.optional()
|
|
309
325
|
.describe('Resize kernel: nearest for pixel art, lanczos3 for photos (default: nearest).'),
|
|
310
326
|
finish: FinishSchema.optional(),
|
|
311
|
-
...
|
|
327
|
+
...ColorlessElementProps,
|
|
312
328
|
});
|
|
313
|
-
const SpriteElementSchema = z.
|
|
329
|
+
const SpriteElementSchema = z.strictObject({
|
|
314
330
|
type: z.literal('sprite').describe('Sprite sheet element.'),
|
|
315
|
-
path:
|
|
331
|
+
path: SpritePathSchema.describe('Absolute local path to the sprite sheet image; a relative path is rejected.'),
|
|
316
332
|
cols: z.number().int().min(1).max(64).describe('Number of columns in the sprite grid.'),
|
|
317
333
|
rows: z.number().int().min(1).max(64).describe('Number of rows in the sprite grid.'),
|
|
318
334
|
x: XPosSchema.optional().describe('X position (default: center).'),
|
|
@@ -326,7 +342,7 @@ const SpriteElementSchema = z.object({
|
|
|
326
342
|
.describe('Pixel scale factor: each sprite cell renders as a scale × scale block.'),
|
|
327
343
|
bodyColor: z.string().optional().describe('Override body color.'),
|
|
328
344
|
darkColor: z.string().optional().describe('Override dark/eye color.'),
|
|
329
|
-
...
|
|
345
|
+
...ColorlessElementProps,
|
|
330
346
|
});
|
|
331
347
|
const ElementSchema = z
|
|
332
348
|
.discriminatedUnion('type', [
|
|
@@ -339,18 +355,23 @@ const ElementSchema = z
|
|
|
339
355
|
SparklineElementSchema.describe('Sparkline chart widget (line or bar).'),
|
|
340
356
|
BitmapElementSchema.describe('Bitmap element using explicit palette indices.'),
|
|
341
357
|
PixelsElementSchema.describe('Sparse scatter of individually colored pixels.'),
|
|
342
|
-
ImageElementSchema.describe('External image element (local path or https URL).'),
|
|
358
|
+
ImageElementSchema.describe('External image element (absolute local path or https URL).'),
|
|
343
359
|
SpriteElementSchema.describe('Sprite sheet element for character or tile art.'),
|
|
344
360
|
])
|
|
361
|
+
.superRefine((el, ctx) => {
|
|
362
|
+
// The renderer compiles effect only when animate is absent, so both would drop the effect.
|
|
363
|
+
if (el.effect === undefined || el.animate === undefined)
|
|
364
|
+
return;
|
|
365
|
+
ctx.addIssue({
|
|
366
|
+
code: 'custom',
|
|
367
|
+
path: ['effect'],
|
|
368
|
+
message: 'Set either effect or animate on an element, not both: effect is a named preset, animate holds raw keyframe tracks. Drop one.',
|
|
369
|
+
});
|
|
370
|
+
})
|
|
345
371
|
.describe('A scene element.');
|
|
346
372
|
const LayoutEntrySchema = z
|
|
347
373
|
.object({
|
|
348
|
-
element: z
|
|
349
|
-
.union([
|
|
350
|
-
z.number().describe('Zero-based index of the element in the input array.'),
|
|
351
|
-
z.literal('background'),
|
|
352
|
-
])
|
|
353
|
-
.describe('Element index or "background" for the background layer.'),
|
|
374
|
+
element: z.number().describe('Zero-based index of the element in the input array.'),
|
|
354
375
|
type: z.string().describe('Element type.'),
|
|
355
376
|
box: z
|
|
356
377
|
.object({
|
|
@@ -362,8 +383,8 @@ const LayoutEntrySchema = z
|
|
|
362
383
|
.describe('Resolved bounding box after layout.'),
|
|
363
384
|
fits: z.boolean().describe('Whether the element fits in the canvas.'),
|
|
364
385
|
action: z
|
|
365
|
-
.enum(['none'
|
|
366
|
-
.describe('
|
|
386
|
+
.enum(['none'])
|
|
387
|
+
.describe('Always none: scene elements are placed as given and never refit, shrunk, or scrolled. Read fits to learn whether an element runs off the panel.'),
|
|
367
388
|
font: z.enum(FONT_VARIANTS).optional().describe('Font variant used (text only).'),
|
|
368
389
|
scale: z.number().optional().describe('Scale factor applied (text only).'),
|
|
369
390
|
})
|
|
@@ -376,30 +397,35 @@ export const pixooComposeScene = tool('pixoo_compose_scene', {
|
|
|
376
397
|
background: z
|
|
377
398
|
.union([
|
|
378
399
|
z.string().describe('Solid CSS hex color.'),
|
|
400
|
+
/*
|
|
401
|
+
* One object rather than a union of two, so an unknown key fails by its path
|
|
402
|
+
* (background.gradeint) and a call naming both keys fails instead of dropping one.
|
|
403
|
+
*/
|
|
379
404
|
z
|
|
380
|
-
.
|
|
405
|
+
.strictObject({
|
|
381
406
|
gradient: z
|
|
382
|
-
.
|
|
407
|
+
.strictObject({
|
|
383
408
|
type: z.enum(['v', 'h', 'r']).describe('v = vertical, h = horizontal, r = radial.'),
|
|
384
409
|
from: z.string().describe('Gradient start color.'),
|
|
385
410
|
to: z.string().describe('Gradient end color.'),
|
|
386
411
|
})
|
|
387
|
-
.
|
|
388
|
-
|
|
389
|
-
.describe('Gradient background: specify type and two colors.'),
|
|
390
|
-
z
|
|
391
|
-
.object({
|
|
412
|
+
.optional()
|
|
413
|
+
.describe('Gradient background: type and two colors.'),
|
|
392
414
|
theme: z
|
|
393
415
|
.enum(['midnight', 'ember', 'claude', 'ice', 'neon', 'forest', 'mono'])
|
|
394
|
-
.
|
|
416
|
+
.optional()
|
|
417
|
+
.describe("Named theme: uses the theme's preset background."),
|
|
395
418
|
})
|
|
396
|
-
.
|
|
419
|
+
.refine((bg) => (bg.gradient === undefined) !== (bg.theme === undefined), {
|
|
420
|
+
error: 'Set exactly one of gradient or theme.',
|
|
421
|
+
})
|
|
422
|
+
.describe('Gradient or named-theme background: set exactly one of gradient or theme.'),
|
|
397
423
|
])
|
|
398
|
-
.describe('Scene background: solid color, gradient
|
|
424
|
+
.describe('Scene background: a solid color string, or an object holding exactly one of gradient or theme.'),
|
|
399
425
|
elements: z
|
|
400
426
|
.array(ElementSchema)
|
|
401
427
|
.max(50)
|
|
402
|
-
.describe("Scene elements rendered back-to-front. Up to 50 elements. An element's animate keyframes can drive dx, dy, and opacity (numbers or numeric strings, interpolated), visible (true or false, switching at the midpoint between keyframes), and color on any element with a color field (interpolated through RGB)."),
|
|
428
|
+
.describe("Scene elements rendered back-to-front. Up to 50 elements. Each element takes either effect or animate, not both. An element's animate keyframes can drive dx, dy, and opacity (numbers or numeric strings, interpolated), visible (true or false, switching at the midpoint between keyframes), and color on any element with a color field (interpolated through RGB)."),
|
|
403
429
|
frames: z
|
|
404
430
|
.number()
|
|
405
431
|
.int()
|
|
@@ -524,17 +550,6 @@ export const pixooComposeScene = tool('pixoo_compose_scene', {
|
|
|
524
550
|
async handler(input, ctx) {
|
|
525
551
|
const cfg = getServerConfig();
|
|
526
552
|
const size = cfg.pixooSize;
|
|
527
|
-
// Resolve background
|
|
528
|
-
let bg;
|
|
529
|
-
if (typeof input.background === 'string') {
|
|
530
|
-
bg = input.background;
|
|
531
|
-
}
|
|
532
|
-
else if ('gradient' in input.background) {
|
|
533
|
-
bg = { gradient: input.background.gradient };
|
|
534
|
-
}
|
|
535
|
-
else {
|
|
536
|
-
bg = { theme: input.background.theme };
|
|
537
|
-
}
|
|
538
553
|
// Validate the requested output path before rendering: a bad path must not
|
|
539
554
|
// cost a full render, an emitted content block, and a PIXOO_OUTPUT_DIR write
|
|
540
555
|
// before it is reported. The string is checked as given — path.resolve()
|
|
@@ -542,7 +557,7 @@ export const pixooComposeScene = tool('pixoo_compose_scene', {
|
|
|
542
557
|
// collapse traversal segments, passing everything.
|
|
543
558
|
if (input.output &&
|
|
544
559
|
(!path.isAbsolute(input.output) || path.normalize(input.output) !== input.output)) {
|
|
545
|
-
throw ctx.fail('invalid_output_path', `Invalid output path: "${input.output}". Must be an absolute path with no traversal segments
|
|
560
|
+
throw ctx.fail('invalid_output_path', `Invalid output path: "${input.output}". Must be an absolute path with no traversal segments.`);
|
|
546
561
|
}
|
|
547
562
|
ctx.log.info('Rendering scene', {
|
|
548
563
|
elements: input.elements.length,
|
|
@@ -555,16 +570,16 @@ export const pixooComposeScene = tool('pixoo_compose_scene', {
|
|
|
555
570
|
let renderedFrames;
|
|
556
571
|
let layoutEntries;
|
|
557
572
|
try {
|
|
558
|
-
({ frames: renderedFrames, layoutEntries } = await renderScene(
|
|
573
|
+
({ frames: renderedFrames, layoutEntries } = await renderScene(input.background,
|
|
559
574
|
// biome-ignore lint: elements are validated by zod discriminated union
|
|
560
575
|
input.elements, input.frames, ctx, size));
|
|
561
576
|
}
|
|
562
577
|
catch (err) {
|
|
563
578
|
if (err instanceof Error && err.message.includes('Unknown color')) {
|
|
564
|
-
throw ctx.fail('invalid_color', `${err.message}. Valid named colors: ${validColorNames}
|
|
579
|
+
throw ctx.fail('invalid_color', `${err.message}. Valid named colors: ${validColorNames}.`);
|
|
565
580
|
}
|
|
566
581
|
if (err instanceof McpError && err.data?.['reason'] === 'unknown_icon') {
|
|
567
|
-
throw ctx.fail('unknown_icon', `${err.message} Valid icons: ${validIconNames}
|
|
582
|
+
throw ctx.fail('unknown_icon', `${err.message} Valid icons: ${validIconNames}.`);
|
|
568
583
|
}
|
|
569
584
|
throw err;
|
|
570
585
|
}
|
|
@@ -587,6 +602,16 @@ export const pixooComposeScene = tool('pixoo_compose_scene', {
|
|
|
587
602
|
else {
|
|
588
603
|
outputFiles = await autoSavePreview(writePreview);
|
|
589
604
|
}
|
|
605
|
+
const notices = [];
|
|
606
|
+
const fallback = fallbackGlyphNotice(input.elements.flatMap((el, element) => {
|
|
607
|
+
if (el.type === 'text')
|
|
608
|
+
return [{ element, text: el.text }];
|
|
609
|
+
if (el.type === 'progress' && el.label !== undefined)
|
|
610
|
+
return [{ element, text: el.label }];
|
|
611
|
+
return [];
|
|
612
|
+
}));
|
|
613
|
+
if (fallback)
|
|
614
|
+
notices.push(fallback);
|
|
590
615
|
let pushed = false;
|
|
591
616
|
let deviceState;
|
|
592
617
|
if (input.push) {
|
|
@@ -595,10 +620,13 @@ export const pixooComposeScene = tool('pixoo_compose_scene', {
|
|
|
595
620
|
? svc.pushAnimation(renderedFrames, input.speed, ctx)
|
|
596
621
|
: svc.pushFrame(firstFrame, ctx), outputFiles, writePreview);
|
|
597
622
|
pushed = true;
|
|
598
|
-
const
|
|
599
|
-
if (
|
|
600
|
-
|
|
623
|
+
const visibility = visibilityNotice(deviceState);
|
|
624
|
+
if (visibility)
|
|
625
|
+
notices.push(visibility);
|
|
601
626
|
}
|
|
627
|
+
// ctx.enrich.notice is last-wins, so every notice for this call lands as one string.
|
|
628
|
+
if (notices.length > 0)
|
|
629
|
+
ctx.enrich.notice(notices.join(' '));
|
|
602
630
|
return {
|
|
603
631
|
pushed,
|
|
604
632
|
frames: renderedFrames.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-compose-scene.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-compose-scene.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pixoo-compose-scene.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-compose-scene.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ const CRAFT_CONTENT = {
|
|
|
13
13
|
|
|
14
14
|
**Legibility floors:** At 64px viewing distance, 1px features vanish. Minimum eye size: 1–2px. Minimum limb gaps: 2 rows. Use standard font (5×7) as the default; compact font (3×5) only when standard doesn't fit.
|
|
15
15
|
|
|
16
|
-
**Symbols:** standard and compact draw printable ASCII plus \`° ← ↑ → ↓ ▲ ▼ ♥ · …\`, so \`72°F\`, \`▲3 ▼2\`, and \`← BACK\` print as written.
|
|
16
|
+
**Symbols:** standard and compact draw printable ASCII plus \`° ← ↑ → ↓ ▲ ▼ ♥ · …\`, so \`72°F\`, \`▲3 ▼2\`, and \`← BACK\` print as written. Any other character draws as \`?\` — \`€\`, \`×\`, typographic quotes and dashes (\`’ —\`), a newline inside one string, and the invisible U+FE0F that often follows \`♥\` — and the response notice names each one with its code point and element index. Spell them in ASCII (\`EUR\`, \`x\`, \`'\`, \`-\`), and pass multi-line text as an array of lines.
|
|
17
17
|
|
|
18
18
|
**Numerals:** \`font: "numerals"\` is an 11×18 face for clocks and big readouts. It draws 0–9, space, and \`: . - + / % ° ?\` only, every digit on one 13px advance so a changing time keeps its width; text holding any other character is rejected. \`12:45\` is 58×18 at scale 1, and at scale 2 (116px) it overflows a 64px panel. Auto-fit never picks numerals — set it explicitly, and put units and labels in a standard or compact text element beside it with pixoo_compose_scene.
|
|
19
19
|
|
|
@@ -19,7 +19,7 @@ export declare const pixooDiscoverDevices: import("@cyanheads/mcp-ts-core").Tool
|
|
|
19
19
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
20
20
|
readonly when: "Divoom cloud discovery endpoint is unreachable.";
|
|
21
21
|
readonly retryable: true;
|
|
22
|
-
readonly recovery: "Ensure this server has internet access
|
|
22
|
+
readonly recovery: "Ensure this server has internet access for the Divoom discovery endpoint, or set PIXOO_IP manually.";
|
|
23
23
|
readonly thrownBy: "service";
|
|
24
24
|
}], {
|
|
25
25
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
@@ -51,7 +51,7 @@ export const pixooDiscoverDevices = tool('pixoo_discover_devices', {
|
|
|
51
51
|
code: JsonRpcErrorCode.ServiceUnavailable,
|
|
52
52
|
when: 'Divoom cloud discovery endpoint is unreachable.',
|
|
53
53
|
retryable: true,
|
|
54
|
-
recovery: 'Ensure this server has internet access
|
|
54
|
+
recovery: 'Ensure this server has internet access for the Divoom discovery endpoint, or set PIXOO_IP manually.',
|
|
55
55
|
thrownBy: 'service',
|
|
56
56
|
},
|
|
57
57
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-discover-devices.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-discover-devices.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE;IACjE,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EACT,uSAAuS;IACzS,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAExD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,IAAI,CAAC;aACT,GAAG,CAAC,KAAK,CAAC;aACV,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,sDAAsD,CAAC;KACpE,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAClE,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,EAAE,EAAE,CAAC;iBACF,MAAM,EAAE;iBACR,QAAQ,CAAC,+DAA+D,CAAC;SAC7E,CAAC;aACD,QAAQ,CAAC,iDAAiD,CAAC,CAC/D;aACA,QAAQ,CAAC,gDAAgD,CAAC;QAC7D,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0DAA0D,CAAC;QACvE,iBAAiB,EAAE,CAAC;aACjB,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,8GAA8G,CAC/G;KACJ,CAAC;IAEF,UAAU,EAAE;QACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;KAC9F;IAED,MAAM,EAAE;QACN;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,iDAAiD;YACvD,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,
|
|
1
|
+
{"version":3,"file":"pixoo-discover-devices.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-discover-devices.tool.ts"],"names":[],"mappings":"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"}
|