@cyanheads/pixoo-mcp-server 1.0.0 → 1.1.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 +51 -25
- package/CLAUDE.md +51 -25
- package/Dockerfile +16 -7
- package/LICENSE +1 -1
- package/README.md +3 -2
- package/changelog/1.1.x/1.1.0.md +37 -0
- package/changelog/template.md +60 -19
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.js +2 -0
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-device-status.resource.d.ts +9 -1
- package/dist/mcp-server/resources/definitions/pixoo-device-status.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-device-status.resource.js +25 -0
- package/dist/mcp-server/resources/definitions/pixoo-device-status.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-icons.resource.d.ts +9 -1
- package/dist/mcp-server/resources/definitions/pixoo-icons.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-icons.resource.js +17 -0
- package/dist/mcp-server/resources/definitions/pixoo-icons.resource.js.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-themes.resource.d.ts +23 -1
- package/dist/mcp-server/resources/definitions/pixoo-themes.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-themes.resource.js +57 -0
- package/dist/mcp-server/resources/definitions/pixoo-themes.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.d.ts +77 -76
- 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 +29 -27
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-control-device.tool.d.ts +2 -2
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.d.ts +17 -21
- 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 +5 -14
- 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 +2 -2
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.d.ts +2 -6
- 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 +13 -42
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.js.map +1 -1
- package/dist/renderer/keyframes.js.map +1 -1
- package/dist/renderer/remote-image.d.ts +21 -0
- package/dist/renderer/remote-image.d.ts.map +1 -0
- package/dist/renderer/remote-image.js +64 -0
- package/dist/renderer/remote-image.js.map +1 -0
- package/dist/renderer/scene-renderer.d.ts +9 -3
- package/dist/renderer/scene-renderer.d.ts.map +1 -1
- package/dist/renderer/scene-renderer.js +16 -33
- package/dist/renderer/scene-renderer.js.map +1 -1
- 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 +2 -2
- package/dist/services/pixoo/pixoo-service.js.map +1 -1
- package/package.json +14 -12
- package/server.json +3 -3
- package/dist/pixoo-mcp-server.mcpb +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-device-status.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-device-status.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIrD,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"pixoo-device-status.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-device-status.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIrD,eAAO,MAAM,yBAAyB;;;;;;;;6BA2DpC,CAAC"}
|
|
@@ -11,6 +11,31 @@ export const pixooDeviceStatusResource = resource('pixoo://device/status', {
|
|
|
11
11
|
description: 'Live snapshot of the connected Pixoo display: reachable, channel, brightness, screen state, and display size. Degrades gracefully when the device is unreachable — returns reachable: false instead of an error.',
|
|
12
12
|
mimeType: 'application/json',
|
|
13
13
|
params: z.object({}),
|
|
14
|
+
// No cacheHint: this is live device state, so every read must reach the device.
|
|
15
|
+
output: z.object({
|
|
16
|
+
reachable: z.boolean().describe('True when the device answered the status read.'),
|
|
17
|
+
channel: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('Current channel name. Absent when the device is unreachable.'),
|
|
21
|
+
brightness: z
|
|
22
|
+
.number()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('Current brightness level (0–100). Absent when the device is unreachable.'),
|
|
25
|
+
screenOn: z
|
|
26
|
+
.boolean()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe('True when the screen is on. Absent when the device is unreachable.'),
|
|
29
|
+
clockId: z
|
|
30
|
+
.number()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe('Current clock face ID (faces channel only). Absent on other channels.'),
|
|
33
|
+
displaySize: z.number().describe('Configured display size in pixels (16, 32, or 64).'),
|
|
34
|
+
configuredIp: z
|
|
35
|
+
.string()
|
|
36
|
+
.nullable()
|
|
37
|
+
.describe('Configured PIXOO_IP value, or null when the server has no device configured.'),
|
|
38
|
+
}),
|
|
14
39
|
async handler(_params, ctx) {
|
|
15
40
|
const cfg = getServerConfig();
|
|
16
41
|
const svc = getPixooService();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-device-status.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-device-status.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC,uBAAuB,EAAE;IACzE,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kNAAkN;IACpN,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pixoo-device-status.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-device-status.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC,uBAAuB,EAAE;IACzE,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kNAAkN;IACpN,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACpB,gFAAgF;IAEhF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QACjF,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0EAA0E,CAAC;QACvF,QAAQ,EAAE,CAAC;aACR,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,oEAAoE,CAAC;QACjF,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QACtF,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;KAC5F,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG;QACxB,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,GAAG,CAAC,SAAS;YAC1B,YAAY,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,uBAAuB;gBAC5B,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,qEAAqE;aACnF;SACF;KACF,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -3,5 +3,13 @@
|
|
|
3
3
|
* @module mcp-server/resources/definitions/pixoo-icons.resource
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
-
export declare const pixooIconsResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{}, z.core.$strip>,
|
|
6
|
+
export declare const pixooIconsResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
categories: z.ZodArray<z.ZodString>;
|
|
8
|
+
byCategory: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
|
|
9
|
+
icons: z.ZodArray<z.ZodObject<{
|
|
10
|
+
name: z.ZodString;
|
|
11
|
+
category: z.ZodString;
|
|
12
|
+
viewBox: z.ZodString;
|
|
13
|
+
}, z.core.$strip>>;
|
|
14
|
+
}, z.core.$strip>, undefined>;
|
|
7
15
|
//# sourceMappingURL=pixoo-icons.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-icons.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-icons.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"pixoo-icons.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-icons.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAGrD,eAAO,MAAM,kBAAkB;;;;;;;;6BAwD7B,CAAC"}
|
|
@@ -10,6 +10,23 @@ export const pixooIconsResource = resource('pixoo://reference/icons', {
|
|
|
10
10
|
description: 'Built-in icon names organized by category (weather, arrows, status, media). Use icon names in pixoo_compose_scene elements with type "icon". Pass name to the icon element, or browse this resource to discover available names.',
|
|
11
11
|
mimeType: 'application/json',
|
|
12
12
|
params: z.object({}),
|
|
13
|
+
// Compile-time constants — safe for a shared cache to hold for a day.
|
|
14
|
+
cacheHint: { ttlMs: 86_400_000, cacheScope: 'public' },
|
|
15
|
+
output: z.object({
|
|
16
|
+
categories: z.array(z.string()).describe('Distinct icon category names.'),
|
|
17
|
+
byCategory: z
|
|
18
|
+
.record(z.string(), z.array(z.string()))
|
|
19
|
+
.describe('Icon names grouped by category.'),
|
|
20
|
+
icons: z
|
|
21
|
+
.array(z
|
|
22
|
+
.object({
|
|
23
|
+
name: z.string().describe('Icon name, usable as the icon element `name` argument.'),
|
|
24
|
+
category: z.string().describe('Category this icon belongs to.'),
|
|
25
|
+
viewBox: z.string().describe('SVG viewBox the icon path is drawn against.'),
|
|
26
|
+
})
|
|
27
|
+
.describe('A single registered icon.'))
|
|
28
|
+
.describe('Every registered icon in registry order.'),
|
|
29
|
+
}),
|
|
13
30
|
handler(_params, _ctx) {
|
|
14
31
|
const byCategory = getIconsByCategory();
|
|
15
32
|
const iconList = ICON_NAMES.map((name) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-icons.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-icons.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,yBAAyB,EAAE;IACpE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kOAAkO;IACpO,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pixoo-icons.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-icons.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,yBAAyB,EAAE;IACpE,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kOAAkO;IACpO,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACpB,sEAAsE;IACtE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;IAEtD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACzE,UAAU,EAAE,CAAC;aACV,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACvC,QAAQ,CAAC,iCAAiC,CAAC;QAC9C,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SAC5E,CAAC;aACD,QAAQ,CAAC,2BAA2B,CAAC,CACzC;aACA,QAAQ,CAAC,0CAA0C,CAAC;KACxD,CAAC;IAEF,OAAO,CAAC,OAAO,EAAE,IAAI;QACnB,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;gBACL,IAAI;gBACJ,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,SAAS;gBACtC,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW;aACvC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,UAAU,EAAE,eAAe;YAC3B,UAAU;YACV,KAAK,EAAE,QAAQ;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACjB,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,yBAAyB;gBAC9B,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,kEAAkE;aAChF;SACF;KACF,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -3,5 +3,27 @@
|
|
|
3
3
|
* @module mcp-server/resources/definitions/pixoo-themes.resource
|
|
4
4
|
*/
|
|
5
5
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
6
|
-
export declare const pixooThemesResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{}, z.core.$strip>,
|
|
6
|
+
export declare const pixooThemesResource: import("@cyanheads/mcp-ts-core").ResourceDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
|
|
7
|
+
themes: z.ZodArray<z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
background: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
10
|
+
type: z.ZodLiteral<"gradient-v">;
|
|
11
|
+
from: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodReadonly<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>]>;
|
|
12
|
+
to: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodReadonly<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>]>;
|
|
13
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
14
|
+
type: z.ZodLiteral<"solid">;
|
|
15
|
+
color: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodReadonly<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>]>;
|
|
16
|
+
}, z.core.$strip>], "type">;
|
|
17
|
+
textPalette: z.ZodString;
|
|
18
|
+
accent: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodReadonly<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>]>;
|
|
19
|
+
shadow: z.ZodBoolean;
|
|
20
|
+
}, z.core.$strip>>;
|
|
21
|
+
palettes: z.ZodArray<z.ZodObject<{
|
|
22
|
+
name: z.ZodString;
|
|
23
|
+
from: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodReadonly<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>]>;
|
|
24
|
+
to: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodReadonly<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>]>;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
themeNames: z.ZodArray<z.ZodString>;
|
|
27
|
+
paletteNames: z.ZodArray<z.ZodString>;
|
|
28
|
+
}, z.core.$strip>, undefined>;
|
|
7
29
|
//# sourceMappingURL=pixoo-themes.resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-themes.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-themes.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"pixoo-themes.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-themes.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAY,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAmBrD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;6BAyF9B,CAAC"}
|
|
@@ -4,12 +4,69 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { resource, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { PALETTE_NAMES, PALETTES, THEME_NAMES, THEMES } from '../../../renderer/themes.js';
|
|
7
|
+
/** Mirrors the toolkit's `ColorLike` union: hex/named string, packed integer, or RGB triple. */
|
|
8
|
+
const ColorValueSchema = z
|
|
9
|
+
.union([
|
|
10
|
+
z.string().describe('CSS hex string (#RRGGBB) or a named color.'),
|
|
11
|
+
z.number().describe('Packed 24-bit RGB integer.'),
|
|
12
|
+
z
|
|
13
|
+
.tuple([
|
|
14
|
+
z.number().describe('Red channel 0–255.'),
|
|
15
|
+
z.number().describe('Green channel 0–255.'),
|
|
16
|
+
z.number().describe('Blue channel 0–255.'),
|
|
17
|
+
])
|
|
18
|
+
.readonly()
|
|
19
|
+
.describe('Explicit RGB channel triple.'),
|
|
20
|
+
])
|
|
21
|
+
.describe('A resolvable color value.');
|
|
7
22
|
export const pixooThemesResource = resource('pixoo://reference/themes', {
|
|
8
23
|
name: 'themes',
|
|
9
24
|
title: 'Pixoo Themes & Palettes',
|
|
10
25
|
description: 'Theme and palette registry with background gradients, default text palettes, accent colors, and swatch values. Use theme names in pixoo_display_text and pixoo_compose_scene.',
|
|
11
26
|
mimeType: 'application/json',
|
|
12
27
|
params: z.object({}),
|
|
28
|
+
// Compile-time constants — safe for a shared cache to hold for a day.
|
|
29
|
+
cacheHint: { ttlMs: 86_400_000, cacheScope: 'public' },
|
|
30
|
+
output: z.object({
|
|
31
|
+
themes: z
|
|
32
|
+
.array(z
|
|
33
|
+
.object({
|
|
34
|
+
name: z.string().describe('Theme name, usable as the `theme` argument.'),
|
|
35
|
+
background: z
|
|
36
|
+
.discriminatedUnion('type', [
|
|
37
|
+
z
|
|
38
|
+
.object({
|
|
39
|
+
type: z.literal('gradient-v').describe('Vertical gradient background.'),
|
|
40
|
+
from: ColorValueSchema.describe('Gradient start color (top).'),
|
|
41
|
+
to: ColorValueSchema.describe('Gradient end color (bottom).'),
|
|
42
|
+
})
|
|
43
|
+
.describe('Vertical gradient background.'),
|
|
44
|
+
z
|
|
45
|
+
.object({
|
|
46
|
+
type: z.literal('solid').describe('Solid fill background.'),
|
|
47
|
+
color: ColorValueSchema.describe('Fill color.'),
|
|
48
|
+
})
|
|
49
|
+
.describe('Solid background.'),
|
|
50
|
+
])
|
|
51
|
+
.describe('Background fill applied by the theme.'),
|
|
52
|
+
textPalette: z.string().describe('Default text palette name for this theme.'),
|
|
53
|
+
accent: ColorValueSchema.describe('Accent color for icons and highlights.'),
|
|
54
|
+
shadow: z.boolean().describe('True when the theme enables a text drop shadow.'),
|
|
55
|
+
})
|
|
56
|
+
.describe('A named scene theme.'))
|
|
57
|
+
.describe('All registered themes with background, palette, and accent settings.'),
|
|
58
|
+
palettes: z
|
|
59
|
+
.array(z
|
|
60
|
+
.object({
|
|
61
|
+
name: z.string().describe('Palette name, usable as the `palette` argument.'),
|
|
62
|
+
from: ColorValueSchema.describe('Ramp start color (top).'),
|
|
63
|
+
to: ColorValueSchema.describe('Ramp end color (bottom).'),
|
|
64
|
+
})
|
|
65
|
+
.describe('A named vertical color ramp.'))
|
|
66
|
+
.describe('All registered palettes as gradient stop pairs.'),
|
|
67
|
+
themeNames: z.array(z.string()).describe('Theme names in registry order.'),
|
|
68
|
+
paletteNames: z.array(z.string()).describe('Palette names in registry order.'),
|
|
69
|
+
}),
|
|
13
70
|
handler(_params, _ctx) {
|
|
14
71
|
const themes = Object.entries(THEMES).map(([name, def]) => ({
|
|
15
72
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-themes.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-themes.resource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,0BAA0B,EAAE;IACtE,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,+KAA+K;IACjL,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"pixoo-themes.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/pixoo-themes.resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,22 +8,22 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
8
8
|
background: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
9
9
|
gradient: z.ZodObject<{
|
|
10
10
|
type: z.ZodEnum<{
|
|
11
|
-
v: "v";
|
|
12
11
|
h: "h";
|
|
13
12
|
r: "r";
|
|
13
|
+
v: "v";
|
|
14
14
|
}>;
|
|
15
15
|
from: z.ZodString;
|
|
16
16
|
to: z.ZodString;
|
|
17
17
|
}, z.core.$strip>;
|
|
18
18
|
}, z.core.$strip>, z.ZodObject<{
|
|
19
19
|
theme: z.ZodEnum<{
|
|
20
|
+
claude: "claude";
|
|
20
21
|
ember: "ember";
|
|
22
|
+
forest: "forest";
|
|
21
23
|
ice: "ice";
|
|
22
|
-
neon: "neon";
|
|
23
|
-
claude: "claude";
|
|
24
|
-
mono: "mono";
|
|
25
24
|
midnight: "midnight";
|
|
26
|
-
|
|
25
|
+
mono: "mono";
|
|
26
|
+
neon: "neon";
|
|
27
27
|
}>;
|
|
28
28
|
}, z.core.$strip>]>;
|
|
29
29
|
elements: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
@@ -34,14 +34,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
34
34
|
effect: z.ZodOptional<z.ZodObject<{
|
|
35
35
|
name: z.ZodEnum<{
|
|
36
36
|
blink: "blink";
|
|
37
|
+
drift: "drift";
|
|
38
|
+
"fade-in": "fade-in";
|
|
39
|
+
"fade-out": "fade-out";
|
|
37
40
|
float: "float";
|
|
41
|
+
pulse: "pulse";
|
|
38
42
|
"scroll-left": "scroll-left";
|
|
39
43
|
"scroll-right": "scroll-right";
|
|
40
|
-
pulse: "pulse";
|
|
41
44
|
twinkle: "twinkle";
|
|
42
|
-
drift: "drift";
|
|
43
|
-
"fade-in": "fade-in";
|
|
44
|
-
"fade-out": "fade-out";
|
|
45
45
|
}>;
|
|
46
46
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
47
47
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -51,29 +51,29 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
51
51
|
type: z.ZodLiteral<"text">;
|
|
52
52
|
text: z.ZodString;
|
|
53
53
|
x: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
54
|
-
left: "left";
|
|
55
54
|
center: "center";
|
|
55
|
+
left: "left";
|
|
56
56
|
right: "right";
|
|
57
57
|
}>]>>;
|
|
58
58
|
y: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
59
|
+
bottom: "bottom";
|
|
59
60
|
center: "center";
|
|
60
61
|
top: "top";
|
|
61
|
-
bottom: "bottom";
|
|
62
62
|
}>]>>;
|
|
63
63
|
color: z.ZodOptional<z.ZodString>;
|
|
64
64
|
font: z.ZodOptional<z.ZodEnum<{
|
|
65
|
-
standard: "standard";
|
|
66
65
|
compact: "compact";
|
|
66
|
+
standard: "standard";
|
|
67
67
|
}>>;
|
|
68
68
|
style: z.ZodOptional<z.ZodObject<{
|
|
69
69
|
palette: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
70
|
+
claude: "claude";
|
|
70
71
|
ember: "ember";
|
|
71
|
-
ice: "ice";
|
|
72
|
-
neon: "neon";
|
|
73
72
|
fire: "fire";
|
|
73
|
+
ice: "ice";
|
|
74
74
|
lavender: "lavender";
|
|
75
|
-
claude: "claude";
|
|
76
75
|
mono: "mono";
|
|
76
|
+
neon: "neon";
|
|
77
77
|
}>, z.ZodObject<{
|
|
78
78
|
from: z.ZodString;
|
|
79
79
|
to: z.ZodString;
|
|
@@ -91,14 +91,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
91
91
|
effect: z.ZodOptional<z.ZodObject<{
|
|
92
92
|
name: z.ZodEnum<{
|
|
93
93
|
blink: "blink";
|
|
94
|
+
drift: "drift";
|
|
95
|
+
"fade-in": "fade-in";
|
|
96
|
+
"fade-out": "fade-out";
|
|
94
97
|
float: "float";
|
|
98
|
+
pulse: "pulse";
|
|
95
99
|
"scroll-left": "scroll-left";
|
|
96
100
|
"scroll-right": "scroll-right";
|
|
97
|
-
pulse: "pulse";
|
|
98
101
|
twinkle: "twinkle";
|
|
99
|
-
drift: "drift";
|
|
100
|
-
"fade-in": "fade-in";
|
|
101
|
-
"fade-out": "fade-out";
|
|
102
102
|
}>;
|
|
103
103
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
104
104
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -110,26 +110,26 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
110
110
|
d: z.ZodOptional<z.ZodString>;
|
|
111
111
|
viewBox: z.ZodOptional<z.ZodString>;
|
|
112
112
|
x: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
113
|
-
left: "left";
|
|
114
113
|
center: "center";
|
|
114
|
+
left: "left";
|
|
115
115
|
right: "right";
|
|
116
116
|
}>]>>;
|
|
117
117
|
y: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
118
|
+
bottom: "bottom";
|
|
118
119
|
center: "center";
|
|
119
120
|
top: "top";
|
|
120
|
-
bottom: "bottom";
|
|
121
121
|
}>]>>;
|
|
122
122
|
w: z.ZodOptional<z.ZodNumber>;
|
|
123
123
|
h: z.ZodOptional<z.ZodNumber>;
|
|
124
124
|
color: z.ZodOptional<z.ZodString>;
|
|
125
125
|
palette: z.ZodOptional<z.ZodEnum<{
|
|
126
|
+
claude: "claude";
|
|
126
127
|
ember: "ember";
|
|
127
|
-
ice: "ice";
|
|
128
|
-
neon: "neon";
|
|
129
128
|
fire: "fire";
|
|
129
|
+
ice: "ice";
|
|
130
130
|
lavender: "lavender";
|
|
131
|
-
claude: "claude";
|
|
132
131
|
mono: "mono";
|
|
132
|
+
neon: "neon";
|
|
133
133
|
}>>;
|
|
134
134
|
}, z.core.$strip>, z.ZodObject<{
|
|
135
135
|
visible: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -139,14 +139,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
139
139
|
effect: z.ZodOptional<z.ZodObject<{
|
|
140
140
|
name: z.ZodEnum<{
|
|
141
141
|
blink: "blink";
|
|
142
|
+
drift: "drift";
|
|
143
|
+
"fade-in": "fade-in";
|
|
144
|
+
"fade-out": "fade-out";
|
|
142
145
|
float: "float";
|
|
146
|
+
pulse: "pulse";
|
|
143
147
|
"scroll-left": "scroll-left";
|
|
144
148
|
"scroll-right": "scroll-right";
|
|
145
|
-
pulse: "pulse";
|
|
146
149
|
twinkle: "twinkle";
|
|
147
|
-
drift: "drift";
|
|
148
|
-
"fade-in": "fade-in";
|
|
149
|
-
"fade-out": "fade-out";
|
|
150
150
|
}>;
|
|
151
151
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
152
152
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -161,8 +161,8 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
161
161
|
color: z.ZodOptional<z.ZodString>;
|
|
162
162
|
gradient: z.ZodOptional<z.ZodObject<{
|
|
163
163
|
type: z.ZodEnum<{
|
|
164
|
-
v: "v";
|
|
165
164
|
h: "h";
|
|
165
|
+
v: "v";
|
|
166
166
|
}>;
|
|
167
167
|
from: z.ZodString;
|
|
168
168
|
to: z.ZodString;
|
|
@@ -176,14 +176,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
176
176
|
effect: z.ZodOptional<z.ZodObject<{
|
|
177
177
|
name: z.ZodEnum<{
|
|
178
178
|
blink: "blink";
|
|
179
|
+
drift: "drift";
|
|
180
|
+
"fade-in": "fade-in";
|
|
181
|
+
"fade-out": "fade-out";
|
|
179
182
|
float: "float";
|
|
183
|
+
pulse: "pulse";
|
|
180
184
|
"scroll-left": "scroll-left";
|
|
181
185
|
"scroll-right": "scroll-right";
|
|
182
|
-
pulse: "pulse";
|
|
183
186
|
twinkle: "twinkle";
|
|
184
|
-
drift: "drift";
|
|
185
|
-
"fade-in": "fade-in";
|
|
186
|
-
"fade-out": "fade-out";
|
|
187
187
|
}>;
|
|
188
188
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
189
189
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -204,14 +204,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
204
204
|
effect: z.ZodOptional<z.ZodObject<{
|
|
205
205
|
name: z.ZodEnum<{
|
|
206
206
|
blink: "blink";
|
|
207
|
+
drift: "drift";
|
|
208
|
+
"fade-in": "fade-in";
|
|
209
|
+
"fade-out": "fade-out";
|
|
207
210
|
float: "float";
|
|
211
|
+
pulse: "pulse";
|
|
208
212
|
"scroll-left": "scroll-left";
|
|
209
213
|
"scroll-right": "scroll-right";
|
|
210
|
-
pulse: "pulse";
|
|
211
214
|
twinkle: "twinkle";
|
|
212
|
-
drift: "drift";
|
|
213
|
-
"fade-in": "fade-in";
|
|
214
|
-
"fade-out": "fade-out";
|
|
215
215
|
}>;
|
|
216
216
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
217
217
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -232,14 +232,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
232
232
|
effect: z.ZodOptional<z.ZodObject<{
|
|
233
233
|
name: z.ZodEnum<{
|
|
234
234
|
blink: "blink";
|
|
235
|
+
drift: "drift";
|
|
236
|
+
"fade-in": "fade-in";
|
|
237
|
+
"fade-out": "fade-out";
|
|
235
238
|
float: "float";
|
|
239
|
+
pulse: "pulse";
|
|
236
240
|
"scroll-left": "scroll-left";
|
|
237
241
|
"scroll-right": "scroll-right";
|
|
238
|
-
pulse: "pulse";
|
|
239
242
|
twinkle: "twinkle";
|
|
240
|
-
drift: "drift";
|
|
241
|
-
"fade-in": "fade-in";
|
|
242
|
-
"fade-out": "fade-out";
|
|
243
243
|
}>;
|
|
244
244
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
245
245
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -254,13 +254,13 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
254
254
|
value: z.ZodNumber;
|
|
255
255
|
max: z.ZodNumber;
|
|
256
256
|
palette: z.ZodOptional<z.ZodEnum<{
|
|
257
|
+
claude: "claude";
|
|
257
258
|
ember: "ember";
|
|
258
|
-
ice: "ice";
|
|
259
|
-
neon: "neon";
|
|
260
259
|
fire: "fire";
|
|
260
|
+
ice: "ice";
|
|
261
261
|
lavender: "lavender";
|
|
262
|
-
claude: "claude";
|
|
263
262
|
mono: "mono";
|
|
263
|
+
neon: "neon";
|
|
264
264
|
}>>;
|
|
265
265
|
trackColor: z.ZodOptional<z.ZodString>;
|
|
266
266
|
label: z.ZodOptional<z.ZodString>;
|
|
@@ -272,14 +272,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
272
272
|
effect: z.ZodOptional<z.ZodObject<{
|
|
273
273
|
name: z.ZodEnum<{
|
|
274
274
|
blink: "blink";
|
|
275
|
+
drift: "drift";
|
|
276
|
+
"fade-in": "fade-in";
|
|
277
|
+
"fade-out": "fade-out";
|
|
275
278
|
float: "float";
|
|
279
|
+
pulse: "pulse";
|
|
276
280
|
"scroll-left": "scroll-left";
|
|
277
281
|
"scroll-right": "scroll-right";
|
|
278
|
-
pulse: "pulse";
|
|
279
282
|
twinkle: "twinkle";
|
|
280
|
-
drift: "drift";
|
|
281
|
-
"fade-in": "fade-in";
|
|
282
|
-
"fade-out": "fade-out";
|
|
283
283
|
}>;
|
|
284
284
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
285
285
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -294,8 +294,8 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
294
294
|
data: z.ZodArray<z.ZodNumber>;
|
|
295
295
|
color: z.ZodOptional<z.ZodString>;
|
|
296
296
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
297
|
-
line: "line";
|
|
298
297
|
bar: "bar";
|
|
298
|
+
line: "line";
|
|
299
299
|
}>>;
|
|
300
300
|
}, z.core.$strip>, z.ZodObject<{
|
|
301
301
|
visible: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -305,14 +305,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
305
305
|
effect: z.ZodOptional<z.ZodObject<{
|
|
306
306
|
name: z.ZodEnum<{
|
|
307
307
|
blink: "blink";
|
|
308
|
+
drift: "drift";
|
|
309
|
+
"fade-in": "fade-in";
|
|
310
|
+
"fade-out": "fade-out";
|
|
308
311
|
float: "float";
|
|
312
|
+
pulse: "pulse";
|
|
309
313
|
"scroll-left": "scroll-left";
|
|
310
314
|
"scroll-right": "scroll-right";
|
|
311
|
-
pulse: "pulse";
|
|
312
315
|
twinkle: "twinkle";
|
|
313
|
-
drift: "drift";
|
|
314
|
-
"fade-in": "fade-in";
|
|
315
|
-
"fade-out": "fade-out";
|
|
316
316
|
}>;
|
|
317
317
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
318
318
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -332,14 +332,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
332
332
|
effect: z.ZodOptional<z.ZodObject<{
|
|
333
333
|
name: z.ZodEnum<{
|
|
334
334
|
blink: "blink";
|
|
335
|
+
drift: "drift";
|
|
336
|
+
"fade-in": "fade-in";
|
|
337
|
+
"fade-out": "fade-out";
|
|
335
338
|
float: "float";
|
|
339
|
+
pulse: "pulse";
|
|
336
340
|
"scroll-left": "scroll-left";
|
|
337
341
|
"scroll-right": "scroll-right";
|
|
338
|
-
pulse: "pulse";
|
|
339
342
|
twinkle: "twinkle";
|
|
340
|
-
drift: "drift";
|
|
341
|
-
"fade-in": "fade-in";
|
|
342
|
-
"fade-out": "fade-out";
|
|
343
343
|
}>;
|
|
344
344
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
345
345
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -360,14 +360,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
360
360
|
effect: z.ZodOptional<z.ZodObject<{
|
|
361
361
|
name: z.ZodEnum<{
|
|
362
362
|
blink: "blink";
|
|
363
|
+
drift: "drift";
|
|
364
|
+
"fade-in": "fade-in";
|
|
365
|
+
"fade-out": "fade-out";
|
|
363
366
|
float: "float";
|
|
367
|
+
pulse: "pulse";
|
|
364
368
|
"scroll-left": "scroll-left";
|
|
365
369
|
"scroll-right": "scroll-right";
|
|
366
|
-
pulse: "pulse";
|
|
367
370
|
twinkle: "twinkle";
|
|
368
|
-
drift: "drift";
|
|
369
|
-
"fade-in": "fade-in";
|
|
370
|
-
"fade-out": "fade-out";
|
|
371
371
|
}>;
|
|
372
372
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
373
373
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -381,14 +381,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
381
381
|
w: z.ZodOptional<z.ZodNumber>;
|
|
382
382
|
h: z.ZodOptional<z.ZodNumber>;
|
|
383
383
|
fit: z.ZodOptional<z.ZodEnum<{
|
|
384
|
-
fill: "fill";
|
|
385
384
|
contain: "contain";
|
|
386
385
|
cover: "cover";
|
|
386
|
+
fill: "fill";
|
|
387
387
|
}>>;
|
|
388
388
|
kernel: z.ZodOptional<z.ZodEnum<{
|
|
389
|
-
nearest: "nearest";
|
|
390
389
|
lanczos3: "lanczos3";
|
|
391
390
|
mitchell: "mitchell";
|
|
391
|
+
nearest: "nearest";
|
|
392
392
|
}>>;
|
|
393
393
|
}, z.core.$strip>, z.ZodObject<{
|
|
394
394
|
visible: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -398,14 +398,14 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
398
398
|
effect: z.ZodOptional<z.ZodObject<{
|
|
399
399
|
name: z.ZodEnum<{
|
|
400
400
|
blink: "blink";
|
|
401
|
+
drift: "drift";
|
|
402
|
+
"fade-in": "fade-in";
|
|
403
|
+
"fade-out": "fade-out";
|
|
401
404
|
float: "float";
|
|
405
|
+
pulse: "pulse";
|
|
402
406
|
"scroll-left": "scroll-left";
|
|
403
407
|
"scroll-right": "scroll-right";
|
|
404
|
-
pulse: "pulse";
|
|
405
408
|
twinkle: "twinkle";
|
|
406
|
-
drift: "drift";
|
|
407
|
-
"fade-in": "fade-in";
|
|
408
|
-
"fade-out": "fade-out";
|
|
409
409
|
}>;
|
|
410
410
|
amplitude: z.ZodOptional<z.ZodNumber>;
|
|
411
411
|
period: z.ZodOptional<z.ZodNumber>;
|
|
@@ -417,8 +417,8 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
417
417
|
cols: z.ZodNumber;
|
|
418
418
|
rows: z.ZodNumber;
|
|
419
419
|
x: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
|
|
420
|
-
left: "left";
|
|
421
420
|
center: "center";
|
|
421
|
+
left: "left";
|
|
422
422
|
right: "right";
|
|
423
423
|
}>]>>;
|
|
424
424
|
y: z.ZodOptional<z.ZodNumber>;
|
|
@@ -432,10 +432,6 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
432
432
|
output: z.ZodOptional<z.ZodString>;
|
|
433
433
|
}, z.core.$strip>, z.ZodObject<{
|
|
434
434
|
pushed: z.ZodBoolean;
|
|
435
|
-
previewData: z.ZodOptional<z.ZodString>;
|
|
436
|
-
previewMimeType: z.ZodOptional<z.ZodEnum<{
|
|
437
|
-
"image/png": "image/png";
|
|
438
|
-
}>>;
|
|
439
435
|
frames: z.ZodNumber;
|
|
440
436
|
layout: z.ZodArray<z.ZodObject<{
|
|
441
437
|
element: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"background">]>;
|
|
@@ -448,16 +444,16 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
448
444
|
}, z.core.$strip>;
|
|
449
445
|
fits: z.ZodBoolean;
|
|
450
446
|
action: z.ZodEnum<{
|
|
447
|
+
clipped: "clipped";
|
|
451
448
|
none: "none";
|
|
452
|
-
"shrunk-to-compact": "shrunk-to-compact";
|
|
453
449
|
scrolling: "scrolling";
|
|
454
|
-
|
|
450
|
+
"shrunk-to-compact": "shrunk-to-compact";
|
|
455
451
|
truncated: "truncated";
|
|
456
|
-
|
|
452
|
+
wrapped: "wrapped";
|
|
457
453
|
}>;
|
|
458
454
|
font: z.ZodOptional<z.ZodEnum<{
|
|
459
|
-
standard: "standard";
|
|
460
455
|
compact: "compact";
|
|
456
|
+
standard: "standard";
|
|
461
457
|
}>>;
|
|
462
458
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
463
459
|
}, z.core.$strip>>;
|
|
@@ -500,6 +496,11 @@ export declare const pixooComposeScene: import("@cyanheads/mcp-ts-core").ToolDef
|
|
|
500
496
|
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
501
497
|
readonly when: "Icon name not found in the registry.";
|
|
502
498
|
readonly recovery: "Check pixoo://reference/icons for available icon names and categories.";
|
|
499
|
+
}, {
|
|
500
|
+
readonly reason: "invalid_output_path";
|
|
501
|
+
readonly code: JsonRpcErrorCode.InvalidParams;
|
|
502
|
+
readonly when: "The output path is relative or contains traversal segments.";
|
|
503
|
+
readonly recovery: "Pass an absolute, already-normalized path (for example /tmp/scene.png), or omit output to use PIXOO_OUTPUT_DIR.";
|
|
503
504
|
}], {
|
|
504
505
|
readonly notice: z.ZodOptional<z.ZodString>;
|
|
505
506
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-compose-scene.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-compose-scene.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"pixoo-compose-scene.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-compose-scene.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAmT3E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiT5B,CAAC"}
|