@pinepaper.studio/mcp-server 1.6.19 → 1.6.21
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.de.md +1 -1
- package/README.es.md +1 -1
- package/README.fr.md +1 -1
- package/README.hi.md +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +161 -5
- package/README.pt-BR.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/build-info.json +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/ontology/upstream-vocabulary.d.ts +2 -2
- package/dist/ontology/upstream-vocabulary.js +3 -3
- package/dist/ontology/upstream-vocabulary.js.map +1 -1
- package/dist/ontology/vocabulary.d.ts.map +1 -1
- package/dist/ontology/vocabulary.js +9 -1
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/tools/choreograph.d.ts +64 -0
- package/dist/tools/choreograph.d.ts.map +1 -0
- package/dist/tools/choreograph.js +346 -0
- package/dist/tools/choreograph.js.map +1 -0
- package/dist/tools/compact-descriptions.js +1 -1
- package/dist/tools/craft-tools.d.ts +55 -0
- package/dist/tools/craft-tools.d.ts.map +1 -0
- package/dist/tools/craft-tools.js +139 -0
- package/dist/tools/craft-tools.js.map +1 -0
- package/dist/tools/definitions.d.ts +10 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +401 -32
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/effect-check.d.ts +26 -0
- package/dist/tools/effect-check.d.ts.map +1 -0
- package/dist/tools/effect-check.js +129 -0
- package/dist/tools/effect-check.js.map +1 -0
- package/dist/tools/effect-class.d.ts +31 -0
- package/dist/tools/effect-class.d.ts.map +1 -0
- package/dist/tools/effect-class.js +176 -0
- package/dist/tools/effect-class.js.map +1 -0
- package/dist/tools/engine-lists.d.ts +6 -6
- package/dist/tools/engine-lists.d.ts.map +1 -1
- package/dist/tools/engine-lists.js +11 -9
- package/dist/tools/engine-lists.js.map +1 -1
- package/dist/tools/engine-methods.d.ts.map +1 -1
- package/dist/tools/engine-methods.js +12 -0
- package/dist/tools/engine-methods.js.map +1 -1
- package/dist/tools/engine-surface.d.ts +1 -1
- package/dist/tools/engine-surface.d.ts.map +1 -1
- package/dist/tools/engine-surface.js +221 -10
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/handlers/export.d.ts.map +1 -1
- package/dist/tools/handlers/export.js +8 -1
- package/dist/tools/handlers/export.js.map +1 -1
- package/dist/tools/handlers/generate.d.ts +28 -28
- package/dist/tools/handlers.d.ts +23 -0
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +301 -6
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +16 -3
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/shape-params.d.ts +2 -2
- package/dist/tools/shape-params.d.ts.map +1 -1
- package/dist/tools/shape-params.js +25 -2
- package/dist/tools/shape-params.js.map +1 -1
- package/dist/tools/stick-vocabulary.d.ts +1 -1
- package/dist/tools/stick-vocabulary.js +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +15 -0
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +44 -1
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +1140 -128
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +3091 -584
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +308 -6
- package/dist/types/schemas.js.map +1 -1
- package/dist/vendor/design/design-style.d.ts +2 -2
- package/dist/vendor/design/design-style.d.ts.map +1 -1
- package/dist/vendor/design/design-style.js +7 -2
- package/dist/vendor/design/design-style.js.map +1 -1
- package/dist/vendor/design/subdivision-tool-schema.d.ts +16 -0
- package/dist/vendor/design/subdivision-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/subdivision-tool-schema.js +104 -0
- package/dist/vendor/design/subdivision-tool-schema.js.map +1 -0
- package/dist/vendor/design/textile-tool-schema.d.ts +14 -0
- package/dist/vendor/design/textile-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/textile-tool-schema.js +195 -0
- package/dist/vendor/design/textile-tool-schema.js.map +1 -0
- package/dist/vendor/design/ui-kit-runtime.d.ts +49 -0
- package/dist/vendor/design/ui-kit-runtime.d.ts.map +1 -0
- package/dist/vendor/design/ui-kit-runtime.js +761 -0
- package/dist/vendor/design/ui-kit-runtime.js.map +1 -0
- package/dist/vendor/design/ui-kit-tool-schema.d.ts +280 -0
- package/dist/vendor/design/ui-kit-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/ui-kit-tool-schema.js +209 -0
- package/dist/vendor/design/ui-kit-tool-schema.js.map +1 -0
- package/manifest.json +53 -1
- package/package.json +5 -4
- package/dist/assets/repositories/openclipart.d.ts +0 -41
- package/dist/assets/repositories/openclipart.d.ts.map +0 -1
- package/dist/assets/repositories/openclipart.js +0 -139
- package/dist/assets/repositories/openclipart.js.map +0 -1
- package/dist/assets/repositories/svgrepo.d.ts +0 -61
- package/dist/assets/repositories/svgrepo.d.ts.map +0 -1
- package/dist/assets/repositories/svgrepo.js +0 -276
- package/dist/assets/repositories/svgrepo.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-kit-runtime.js","sourceRoot":"","sources":["../../../src/vendor/design/ui-kit-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,QAAQ,CAAC,CAAC;AAE5D,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAW,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmqB/C,CAAC;AAEF,uDAAuD;AACvD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAChD,+FAA+F;IAC/F,IAAI,qDAAqD,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClF,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAUD,MAAM,MAAM,GAAG,gEAAgE,CAAC;AAChF,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAAiB,CAAC;IAC5B,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IACD,MAAM,GAAG,GAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACvG,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1G,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;QAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpG,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACxG,OAAO,eAAe,IAAI,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
export declare const UI_KIT_ACTIONS: readonly ["phone_lock_screen", "notification", "prompt_box", "toggle", "ad_card", "calendar_card"];
|
|
2
|
+
export type UiKitAction = typeof UI_KIT_ACTIONS[number];
|
|
3
|
+
export declare function uiKitTools(): {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: string;
|
|
8
|
+
properties: {
|
|
9
|
+
action: {
|
|
10
|
+
type: string;
|
|
11
|
+
enum: ("toggle" | "phone_lock_screen" | "notification" | "prompt_box" | "ad_card" | "calendar_card")[];
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
brand: {
|
|
15
|
+
type: string;
|
|
16
|
+
description: string;
|
|
17
|
+
properties: {
|
|
18
|
+
name: {
|
|
19
|
+
type: string;
|
|
20
|
+
};
|
|
21
|
+
primary: {
|
|
22
|
+
type: string;
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
secondary: {
|
|
26
|
+
type: string;
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
accent: {
|
|
30
|
+
type: string;
|
|
31
|
+
description: string;
|
|
32
|
+
};
|
|
33
|
+
background: {
|
|
34
|
+
type: string;
|
|
35
|
+
description: string;
|
|
36
|
+
};
|
|
37
|
+
text: {
|
|
38
|
+
type: string;
|
|
39
|
+
description: string;
|
|
40
|
+
};
|
|
41
|
+
headingFont: {
|
|
42
|
+
type: string;
|
|
43
|
+
description: string;
|
|
44
|
+
};
|
|
45
|
+
bodyFont: {
|
|
46
|
+
type: string;
|
|
47
|
+
description: string;
|
|
48
|
+
};
|
|
49
|
+
radius: {
|
|
50
|
+
description: string;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
x: {
|
|
55
|
+
type: string;
|
|
56
|
+
description: string;
|
|
57
|
+
};
|
|
58
|
+
y: {
|
|
59
|
+
type: string;
|
|
60
|
+
description: string;
|
|
61
|
+
};
|
|
62
|
+
width: {
|
|
63
|
+
type: string;
|
|
64
|
+
description: string;
|
|
65
|
+
};
|
|
66
|
+
height: {
|
|
67
|
+
type: string;
|
|
68
|
+
description: string;
|
|
69
|
+
};
|
|
70
|
+
dark: {
|
|
71
|
+
type: string;
|
|
72
|
+
description: string;
|
|
73
|
+
};
|
|
74
|
+
at: {
|
|
75
|
+
type: string;
|
|
76
|
+
description: string;
|
|
77
|
+
};
|
|
78
|
+
until: {
|
|
79
|
+
type: string;
|
|
80
|
+
description: string;
|
|
81
|
+
};
|
|
82
|
+
time: {
|
|
83
|
+
type: string;
|
|
84
|
+
description: string;
|
|
85
|
+
};
|
|
86
|
+
date: {
|
|
87
|
+
type: string;
|
|
88
|
+
description: string;
|
|
89
|
+
};
|
|
90
|
+
clock: {
|
|
91
|
+
type: string;
|
|
92
|
+
description: string;
|
|
93
|
+
};
|
|
94
|
+
wallpaper: {
|
|
95
|
+
description: string;
|
|
96
|
+
};
|
|
97
|
+
notifications: {
|
|
98
|
+
type: string;
|
|
99
|
+
items: {
|
|
100
|
+
type: string;
|
|
101
|
+
properties: {
|
|
102
|
+
app: {
|
|
103
|
+
type: string;
|
|
104
|
+
description: string;
|
|
105
|
+
};
|
|
106
|
+
title: {
|
|
107
|
+
type: string;
|
|
108
|
+
description: string;
|
|
109
|
+
};
|
|
110
|
+
body: {
|
|
111
|
+
type: string;
|
|
112
|
+
description: string;
|
|
113
|
+
};
|
|
114
|
+
time: {
|
|
115
|
+
type: string;
|
|
116
|
+
description: string;
|
|
117
|
+
};
|
|
118
|
+
icon: {
|
|
119
|
+
type: string;
|
|
120
|
+
description: string;
|
|
121
|
+
};
|
|
122
|
+
at: {
|
|
123
|
+
type: string;
|
|
124
|
+
description: string;
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
maxItems: number;
|
|
129
|
+
description: string;
|
|
130
|
+
};
|
|
131
|
+
prompt: {
|
|
132
|
+
type: string;
|
|
133
|
+
description: string;
|
|
134
|
+
properties: {
|
|
135
|
+
text: {
|
|
136
|
+
type: string;
|
|
137
|
+
};
|
|
138
|
+
placeholder: {
|
|
139
|
+
type: string;
|
|
140
|
+
};
|
|
141
|
+
typeAt: {
|
|
142
|
+
type: string;
|
|
143
|
+
description: string;
|
|
144
|
+
};
|
|
145
|
+
cps: {
|
|
146
|
+
type: string;
|
|
147
|
+
description: string;
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
app: {
|
|
152
|
+
type: string;
|
|
153
|
+
};
|
|
154
|
+
title: {
|
|
155
|
+
type: string;
|
|
156
|
+
};
|
|
157
|
+
body: {
|
|
158
|
+
type: string;
|
|
159
|
+
};
|
|
160
|
+
icon: {
|
|
161
|
+
type: string;
|
|
162
|
+
};
|
|
163
|
+
items: {
|
|
164
|
+
type: string;
|
|
165
|
+
items: {
|
|
166
|
+
type: string;
|
|
167
|
+
properties: {
|
|
168
|
+
app: {
|
|
169
|
+
type: string;
|
|
170
|
+
description: string;
|
|
171
|
+
};
|
|
172
|
+
title: {
|
|
173
|
+
type: string;
|
|
174
|
+
description: string;
|
|
175
|
+
};
|
|
176
|
+
body: {
|
|
177
|
+
type: string;
|
|
178
|
+
description: string;
|
|
179
|
+
};
|
|
180
|
+
time: {
|
|
181
|
+
type: string;
|
|
182
|
+
description: string;
|
|
183
|
+
};
|
|
184
|
+
icon: {
|
|
185
|
+
type: string;
|
|
186
|
+
description: string;
|
|
187
|
+
};
|
|
188
|
+
at: {
|
|
189
|
+
type: string;
|
|
190
|
+
description: string;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
maxItems: number;
|
|
195
|
+
description: string;
|
|
196
|
+
};
|
|
197
|
+
text: {
|
|
198
|
+
type: string;
|
|
199
|
+
description: string;
|
|
200
|
+
};
|
|
201
|
+
placeholder: {
|
|
202
|
+
type: string;
|
|
203
|
+
};
|
|
204
|
+
typeAt: {
|
|
205
|
+
type: string;
|
|
206
|
+
};
|
|
207
|
+
cps: {
|
|
208
|
+
type: string;
|
|
209
|
+
};
|
|
210
|
+
on: {
|
|
211
|
+
type: string;
|
|
212
|
+
description: string;
|
|
213
|
+
};
|
|
214
|
+
switchAt: {
|
|
215
|
+
type: string;
|
|
216
|
+
description: string;
|
|
217
|
+
};
|
|
218
|
+
size: {
|
|
219
|
+
type: string;
|
|
220
|
+
description: string;
|
|
221
|
+
};
|
|
222
|
+
color: {
|
|
223
|
+
type: string;
|
|
224
|
+
description: string;
|
|
225
|
+
};
|
|
226
|
+
headline: {
|
|
227
|
+
type: string;
|
|
228
|
+
};
|
|
229
|
+
cta: {
|
|
230
|
+
type: string;
|
|
231
|
+
};
|
|
232
|
+
brandName: {
|
|
233
|
+
type: string;
|
|
234
|
+
};
|
|
235
|
+
logo: {
|
|
236
|
+
type: string;
|
|
237
|
+
};
|
|
238
|
+
aspect: {
|
|
239
|
+
type: string;
|
|
240
|
+
enum: string[];
|
|
241
|
+
};
|
|
242
|
+
day: {
|
|
243
|
+
type: string;
|
|
244
|
+
};
|
|
245
|
+
month: {
|
|
246
|
+
type: string;
|
|
247
|
+
};
|
|
248
|
+
dayNumber: {
|
|
249
|
+
type: string;
|
|
250
|
+
};
|
|
251
|
+
events: {
|
|
252
|
+
type: string;
|
|
253
|
+
maxItems: number;
|
|
254
|
+
items: {
|
|
255
|
+
type: string;
|
|
256
|
+
properties: {
|
|
257
|
+
time: {
|
|
258
|
+
type: string;
|
|
259
|
+
};
|
|
260
|
+
title: {
|
|
261
|
+
type: string;
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
};
|
|
266
|
+
};
|
|
267
|
+
required: string[];
|
|
268
|
+
};
|
|
269
|
+
}[];
|
|
270
|
+
type Args = Record<string, unknown>;
|
|
271
|
+
/** Problems with a call, said before a render is paid for. Empty when the call draws. */
|
|
272
|
+
export declare function uiKitProblems(a: Args): string[];
|
|
273
|
+
/**
|
|
274
|
+
* The engine code one call draws: UIKit calls only, with JSON arguments. The kit itself is attached at the render
|
|
275
|
+
* door (ui-kit-attach.ts), so this stays small and the scene's own brand_kit still applies underneath `brand`.
|
|
276
|
+
* Null for an action the kit does not have.
|
|
277
|
+
*/
|
|
278
|
+
export declare function generateUiKitCode(args: Args): string | null;
|
|
279
|
+
export {};
|
|
280
|
+
//# sourceMappingURL=ui-kit-tool-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-kit-tool-schema.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/ui-kit-tool-schema.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,cAAc,oGAAqG,CAAC;AACjI,MAAM,MAAM,WAAW,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAexD,wBAAgB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6EzB;AAID,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAoCpC,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,CAS/C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CA0C3D"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/* GENERATED — DO NOT EDIT.
|
|
2
|
+
*
|
|
3
|
+
* Source: mcp-cloud/src/services/ui-kit-tool-schema.ts
|
|
4
|
+
* sha256: 8ea15dc0dc6414b247ae2dcbded9bd51b15d991ada0e916444bf76c976fdf398
|
|
5
|
+
* Generator: scripts/sync-design-systems.mjs
|
|
6
|
+
*
|
|
7
|
+
* Edit the TypeScript upstream and re-run the generator. A hand edit here is
|
|
8
|
+
* the second copy of the same design vocabulary that the generator exists to
|
|
9
|
+
* prevent, and the provenance test will fail on it.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* pinepaper_ui_kit — THE UI KIT, REACHABLE FROM THE CONNECTOR (#81).
|
|
13
|
+
*
|
|
14
|
+
* The kit (ui-kit-runtime.ts) draws a phone lock screen with a Dynamic Island, stacked notifications, a prompt box
|
|
15
|
+
* that types, a toggle, a calendar card and an ad card, on brand. It was reachable only as `UIKit.*` inside custom
|
|
16
|
+
* code, and `pinepaper_execute_custom_code` is withheld from the connector (CONNECTOR_WITHHELD), so a connector user
|
|
17
|
+
* could not place a phone at all (prod retest 2026-10-04: no tool offered one).
|
|
18
|
+
*
|
|
19
|
+
* This is a declarative door to the same kit. The call is RECORDED on the cloud canvas like every other craft tool;
|
|
20
|
+
* the replay (replay-handlers/engine.ts) lowers it to the custom-code op below, and the render door attaches the kit
|
|
21
|
+
* runtime to it (ui-kit-attach.ts) exactly as it does for a designer's own UIKit code. No JavaScript is accepted from
|
|
22
|
+
* the caller: every argument is whitelisted, typed and travels as JSON.
|
|
23
|
+
*/
|
|
24
|
+
import { uiKitBrandLine } from "./ui-kit-runtime.js";
|
|
25
|
+
export const UI_KIT_ACTIONS = ["phone_lock_screen", "notification", "prompt_box", "toggle", "ad_card", "calendar_card"];
|
|
26
|
+
const colour = { type: "string", description: "A colour: #rrggbb, rgb(…) or hsl(…)." };
|
|
27
|
+
const notificationItem = {
|
|
28
|
+
type: "object",
|
|
29
|
+
properties: {
|
|
30
|
+
app: { type: "string", description: "App name shown on the card, e.g. \"Acme\"." },
|
|
31
|
+
title: { type: "string", description: "Bold first line." },
|
|
32
|
+
body: { type: "string", description: "Up to two wrapped lines." },
|
|
33
|
+
time: { type: "string", description: "Right-aligned meta, e.g. \"now\" or \"9:41\"." },
|
|
34
|
+
icon: { type: "string", description: "One or two characters for the app icon (default: the app's first letter)." },
|
|
35
|
+
at: { type: "number", description: "Second it arrives (default: staggered from 0.6 s, 0.9 s apart)." },
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
export function uiKitTools() {
|
|
39
|
+
return [
|
|
40
|
+
{
|
|
41
|
+
name: "pinepaper_ui_kit",
|
|
42
|
+
description: "Place product-UI mockups drawn properly, on brand: a phone LOCK SCREEN (Dynamic Island, status bar, clock, wallpaper) " +
|
|
43
|
+
"with notifications that stack in and a prompt box that types, or a standalone notification, prompt box, toggle, " +
|
|
44
|
+
"calendar card or ad card. One call draws the whole component; it takes its colours (and faces) from `brand`, or from " +
|
|
45
|
+
"a pinepaper_brand_kit set earlier. Use it for app promos, product launch videos and \"a phone showing…\" briefs instead " +
|
|
46
|
+
"of building a phone out of rectangles. Positions and sizes default to the canvas (a phone fills ~78% of a portrait " +
|
|
47
|
+
"frame's height, centred); times are in seconds. Recorded on your cloud canvas and drawn by pinepaper_render. [Cost: $0.001]",
|
|
48
|
+
inputSchema: {
|
|
49
|
+
type: "object",
|
|
50
|
+
properties: {
|
|
51
|
+
action: {
|
|
52
|
+
type: "string",
|
|
53
|
+
enum: [...UI_KIT_ACTIONS],
|
|
54
|
+
description: "phone_lock_screen: a phone, optionally with notifications[] stacked on its lock screen and a prompt typing at the bottom. " +
|
|
55
|
+
"notification: one card (or items[] stacked) anywhere. prompt_box: a chat input that types `text`. toggle: an iOS switch " +
|
|
56
|
+
"that flips at switchAt. ad_card: a sponsored social card. calendar_card: a day card with events.",
|
|
57
|
+
},
|
|
58
|
+
brand: {
|
|
59
|
+
type: "object",
|
|
60
|
+
description: "Brand for this component. Omit to use the canvas brand kit (pinepaper_brand_kit), else the kit's iOS defaults.",
|
|
61
|
+
properties: {
|
|
62
|
+
name: { type: "string" },
|
|
63
|
+
primary: colour, secondary: colour, accent: colour, background: colour, text: colour,
|
|
64
|
+
headingFont: { type: "string", description: "Font family for headings and the clock (default Geist)." },
|
|
65
|
+
bodyFont: { type: "string", description: "Font family for body text (default Geist)." },
|
|
66
|
+
radius: { description: "Corner rounding: \"sharp\" | \"soft\" | \"round\" or 0..2." },
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
x: { type: "number", description: "Centre x in canvas px (default: canvas centre)." },
|
|
70
|
+
y: { type: "number", description: "Centre y in canvas px (notification: top edge). Default: canvas centre." },
|
|
71
|
+
width: { type: "number", description: "Width in px (notification, prompt_box, ad_card, calendar_card)." },
|
|
72
|
+
height: { type: "number", description: "phone_lock_screen: the phone's height in px. prompt_box: the box's height." },
|
|
73
|
+
dark: { type: "boolean", description: "Dark cards / dark input (default light). For a phone, the frame stays dark." },
|
|
74
|
+
at: { type: "number", description: "Second the component appears (default: present from the start)." },
|
|
75
|
+
until: { type: "number", description: "Second it leaves (default: stays)." },
|
|
76
|
+
// phone
|
|
77
|
+
time: { type: "string", description: "phone_lock_screen: status-bar time (default 9:41). notification: the card's meta." },
|
|
78
|
+
date: { type: "string", description: "phone_lock_screen: the date line (default \"Tuesday, June 9\")." },
|
|
79
|
+
clock: { type: "string", description: "phone_lock_screen: the big clock (default: time)." },
|
|
80
|
+
wallpaper: { description: "phone_lock_screen: one colour or an array of gradient stops (default: brand primary → secondary)." },
|
|
81
|
+
notifications: { type: "array", items: notificationItem, maxItems: 6, description: "phone_lock_screen: cards stacked on the lock screen, newest on top." },
|
|
82
|
+
prompt: {
|
|
83
|
+
type: "object",
|
|
84
|
+
description: "phone_lock_screen: a prompt box at the bottom of the screen that types `text`.",
|
|
85
|
+
properties: {
|
|
86
|
+
text: { type: "string" }, placeholder: { type: "string" },
|
|
87
|
+
typeAt: { type: "number", description: "Second typing starts (default: just after the last notification lands)." },
|
|
88
|
+
cps: { type: "number", description: "Characters per second (default 22)." },
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
// notification
|
|
92
|
+
app: { type: "string" }, title: { type: "string" }, body: { type: "string" }, icon: { type: "string" },
|
|
93
|
+
items: { type: "array", items: notificationItem, maxItems: 6, description: "notification: several cards stacked." },
|
|
94
|
+
// prompt_box
|
|
95
|
+
text: { type: "string", description: "prompt_box: the prompt that types. toggle: its label." },
|
|
96
|
+
placeholder: { type: "string" },
|
|
97
|
+
typeAt: { type: "number" }, cps: { type: "number" },
|
|
98
|
+
// toggle
|
|
99
|
+
on: { type: "boolean", description: "toggle: starts on." },
|
|
100
|
+
switchAt: { type: "number", description: "toggle: second it flips." },
|
|
101
|
+
size: { type: "number", description: "toggle: height in points (default 31)." },
|
|
102
|
+
color: colour,
|
|
103
|
+
// ad_card / calendar_card
|
|
104
|
+
headline: { type: "string" }, cta: { type: "string" }, brandName: { type: "string" }, logo: { type: "string" },
|
|
105
|
+
aspect: { type: "string", enum: ["square", "landscape"] },
|
|
106
|
+
day: { type: "string" }, month: { type: "string" }, dayNumber: { type: "number" },
|
|
107
|
+
events: { type: "array", maxItems: 5, items: { type: "object", properties: { time: { type: "string" }, title: { type: "string" } } } },
|
|
108
|
+
},
|
|
109
|
+
required: ["action"],
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
];
|
|
113
|
+
}
|
|
114
|
+
const str = (v, max = 200) => (typeof v === "string" && v.length ? v.slice(0, max) : undefined);
|
|
115
|
+
const num = (v) => (typeof v === "number" && Number.isFinite(v) ? v : undefined);
|
|
116
|
+
const bool = (v) => (typeof v === "boolean" ? v : undefined);
|
|
117
|
+
const COLOUR = /^(#[0-9a-f]{3,8}|rgba?\([\d\s.,%]+\)|hsla?\([\d\s.,%deg]+\))$/i;
|
|
118
|
+
const col = (v) => (typeof v === "string" && COLOUR.test(v.trim()) ? v.trim() : undefined);
|
|
119
|
+
/** Drop undefined so the JSON is the call's own words and nothing else. */
|
|
120
|
+
function clean(o) {
|
|
121
|
+
const out = {};
|
|
122
|
+
for (const [k, v] of Object.entries(o))
|
|
123
|
+
if (v !== undefined)
|
|
124
|
+
out[k] = v;
|
|
125
|
+
return out;
|
|
126
|
+
}
|
|
127
|
+
/** JSON that is safe inside a script: no `</script>`, no line separators a parser treats as newlines. */
|
|
128
|
+
function js(v) {
|
|
129
|
+
const LS = new RegExp(String.fromCharCode(0x2028), "g"), PS = new RegExp(String.fromCharCode(0x2029), "g");
|
|
130
|
+
return JSON.stringify(v).replace(/</g, "\\u003c").replace(LS, "\\u2028").replace(PS, "\\u2029");
|
|
131
|
+
}
|
|
132
|
+
function note(n) {
|
|
133
|
+
const a = (n && typeof n === "object" ? n : {});
|
|
134
|
+
return clean({ app: str(a.app, 40), title: str(a.title, 120), body: str(a.body, 300), time: str(a.time, 20), icon: str(a.icon, 2), at: num(a.at) });
|
|
135
|
+
}
|
|
136
|
+
const common = (a) => clean({ x: num(a.x), y: num(a.y), dark: bool(a.dark), at: num(a.at), until: num(a.until) });
|
|
137
|
+
/** The brand line for this call, or null. Built through uiKitBrandLine, which checks every value. */
|
|
138
|
+
function brandLine(a) {
|
|
139
|
+
const b = a.brand && typeof a.brand === "object" ? a.brand : null;
|
|
140
|
+
if (!b)
|
|
141
|
+
return null;
|
|
142
|
+
return uiKitBrandLine({
|
|
143
|
+
name: str(b.name, 80),
|
|
144
|
+
colors: { primary: b.primary, secondary: b.secondary, accent: b.accent, background: b.background, text: b.text },
|
|
145
|
+
fonts: { heading: b.headingFont, body: b.bodyFont ?? b.headingFont },
|
|
146
|
+
radius: b.radius,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/** Problems with a call, said before a render is paid for. Empty when the call draws. */
|
|
150
|
+
export function uiKitProblems(a) {
|
|
151
|
+
const action = a.action;
|
|
152
|
+
if (typeof action !== "string" || !UI_KIT_ACTIONS.includes(action)) {
|
|
153
|
+
return [`ui_kit: action must be one of ${UI_KIT_ACTIONS.join(", ")} (got ${JSON.stringify(action ?? null)})`];
|
|
154
|
+
}
|
|
155
|
+
if (a.brand && typeof a.brand === "object" && a.brand.primary !== undefined && !brandLine(a)) {
|
|
156
|
+
return [`ui_kit: brand.primary ${JSON.stringify(a.brand.primary)} is not a colour — the component is drawn in the canvas brand instead`];
|
|
157
|
+
}
|
|
158
|
+
return [];
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* The engine code one call draws: UIKit calls only, with JSON arguments. The kit itself is attached at the render
|
|
162
|
+
* door (ui-kit-attach.ts), so this stays small and the scene's own brand_kit still applies underneath `brand`.
|
|
163
|
+
* Null for an action the kit does not have.
|
|
164
|
+
*/
|
|
165
|
+
export function generateUiKitCode(args) {
|
|
166
|
+
const a = args ?? {};
|
|
167
|
+
const lines = [];
|
|
168
|
+
const brand = brandLine(a);
|
|
169
|
+
if (brand)
|
|
170
|
+
lines.push(brand);
|
|
171
|
+
switch (a.action) {
|
|
172
|
+
case "phone_lock_screen": {
|
|
173
|
+
const wall = Array.isArray(a.wallpaper) ? a.wallpaper.map(col).filter(Boolean).slice(0, 4) : col(a.wallpaper);
|
|
174
|
+
lines.push(`var ph = UIKit.phone(${js(clean({ ...common(a), height: num(a.height), time: str(a.time, 12), date: str(a.date, 60), clock: str(a.clock, 12), wallpaper: Array.isArray(wall) && !wall.length ? undefined : wall }))});`);
|
|
175
|
+
const notes = Array.isArray(a.notifications) ? a.notifications.slice(0, 6).map(note) : [];
|
|
176
|
+
lines.push(notes.length ? `var n = UIKit.notifications(ph, ${js(notes)});` : "var n = null;");
|
|
177
|
+
const p = a.prompt && typeof a.prompt === "object" ? a.prompt : null;
|
|
178
|
+
if (p && (str(p.text) || str(p.placeholder))) {
|
|
179
|
+
const po = clean({ text: str(p.text, 280), placeholder: str(p.placeholder, 80), cps: num(p.cps), typeAt: num(p.typeAt) });
|
|
180
|
+
lines.push(`var po = ${js(po)}; po.phone = ph; if (po.typeAt === undefined && n) po.typeAt = n.doneAt + 0.6;`);
|
|
181
|
+
lines.push("UIKit.promptBox(po);");
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
case "notification": {
|
|
186
|
+
const items = Array.isArray(a.items) && a.items.length ? a.items.slice(0, 6).map(note) : [note(a)];
|
|
187
|
+
lines.push(`UIKit.notifications(${js(clean({ ...common(a), items, width: num(a.width), start: num(a.at) }))});`);
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
case "prompt_box":
|
|
191
|
+
lines.push(`UIKit.promptBox(${js(clean({ ...common(a), width: num(a.width), height: num(a.height), text: str(a.text, 280), placeholder: str(a.placeholder, 80), typeAt: num(a.typeAt), cps: num(a.cps) }))});`);
|
|
192
|
+
break;
|
|
193
|
+
case "toggle":
|
|
194
|
+
lines.push(`UIKit.toggle(${js(clean({ ...common(a), size: num(a.size), on: bool(a.on), switchAt: num(a.switchAt), label: str(a.text, 60) ?? str(a.title, 60), color: col(a.color) }))});`);
|
|
195
|
+
break;
|
|
196
|
+
case "ad_card":
|
|
197
|
+
lines.push(`UIKit.adCard(${js(clean({ ...common(a), width: num(a.width), headline: str(a.headline, 120), body: str(a.body, 160), cta: str(a.cta, 30), brandName: str(a.brandName, 60), logo: str(a.logo, 2), aspect: a.aspect === "square" ? "square" : undefined }))});`);
|
|
198
|
+
break;
|
|
199
|
+
case "calendar_card": {
|
|
200
|
+
const events = Array.isArray(a.events) ? a.events.slice(0, 5).map((e) => { const r = (e && typeof e === "object" ? e : {}); return clean({ time: str(r.time, 20), title: str(r.title, 80) }); }) : undefined;
|
|
201
|
+
lines.push(`UIKit.calendarCard(${js(clean({ ...common(a), width: num(a.width), day: str(a.day, 20), month: str(a.month, 20), date: num(a.dayNumber), events }))});`);
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
default:
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
return lines.join("\n");
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=ui-kit-tool-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-kit-tool-schema.js","sourceRoot":"","sources":["../../../src/vendor/design/ui-kit-tool-schema.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "pinepaper-mcp",
|
|
4
|
-
"version": "1.6.
|
|
4
|
+
"version": "1.6.21",
|
|
5
5
|
"display_name": "PinePaper",
|
|
6
6
|
"icon": "icon.png",
|
|
7
7
|
"description": "Create animated graphics with AI using PinePaper Studio",
|
|
@@ -504,6 +504,14 @@
|
|
|
504
504
|
"name": "pinepaper_deform",
|
|
505
505
|
"description": "Vertex deformation. action: apply|trigger|remove. itemId, preset: fold|squeeze|squash|twist|ripple|wave|breathe|wobble..., phase, amplitude."
|
|
506
506
|
},
|
|
507
|
+
{
|
|
508
|
+
"name": "pinepaper_hand_drawn",
|
|
509
|
+
"description": "Hand-drawn line: sketchy (rough jitter) or reveal (stroke draws on). itemId, style: sketchy|reveal; roughness, bowing, seed, duration. wobble/stop_motion refused: use pinepaper_design_medium ink."
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"name": "pinepaper_pen_figure",
|
|
513
|
+
"description": "A pen draws a mathematical figure (Lorenz, Lissajous, Hilbert…), ink appearing behind it. action: create|list. figure, box?, duration?, delay?, loop?, pen?, strokeColor?, penColor?, strokeWidth?"
|
|
514
|
+
},
|
|
507
515
|
{
|
|
508
516
|
"name": "pinepaper_sprite_sheet",
|
|
509
517
|
"description": "Sprite sheets. action: generate|play|export. skeletonId, spriteSheetId, poses, animations, format."
|
|
@@ -632,6 +640,30 @@
|
|
|
632
640
|
"name": "pinepaper_styled_scene",
|
|
633
641
|
"description": "One composition drawn in a built-in style (cut, ink, watercolor, dither, flow, ascii) as one item that redraws every exported frame. {style, duration, id, spec}"
|
|
634
642
|
},
|
|
643
|
+
{
|
|
644
|
+
"name": "pinepaper_look",
|
|
645
|
+
"description": "Restyle an item / subtree / the scene as a look (8-bit, blueprint, ink sketch…). action: list|describe (fidelity!)|apply {look, target}|remove|get|grid."
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"name": "pinepaper_original_character",
|
|
649
|
+
"description": "Original characters from a base (person|robot|cat|bird|blob) + variant. action: bases|describe (read first)|random {base, seed}|create {base, variant, at}."
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"name": "pinepaper_morph_sequence",
|
|
653
|
+
"description": "One element through N states, no cuts: {itemId, states:[{at, to | shape}], camera?: true (rides the morphs), sound?: true}."
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"name": "pinepaper_emitter",
|
|
657
|
+
"description": "Particles as a saved, deterministic item (cloud-safe). action: create|set {spec: bursts[{t,x,y,count}] | target+rate (trail), shape, palette, speed, gravity…}."
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"name": "pinepaper_render_hook",
|
|
661
|
+
"description": "Per-frame drawing saved as source (survives save/load). action: register {id, source \"(ctx,t,info)=>{}\", layer}|unregister|list."
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"name": "pinepaper_choreograph",
|
|
665
|
+
"description": "Acting for any item: beats [{at, verb: pop|drop|hop|bounce|roll|fly|peek|shake|squash|enter|exit, to?}] → one squash-and-stretch track."
|
|
666
|
+
},
|
|
635
667
|
{
|
|
636
668
|
"name": "pinepaper_relight",
|
|
637
669
|
"description": "Light the 3D world with point/directional lights (post pass; PNG/PDF/MP4/WebM, ~0.4 s per 1080p frame; not saved). action: set|get|clear|list_lights."
|
|
@@ -751,6 +783,26 @@
|
|
|
751
783
|
{
|
|
752
784
|
"name": "pinepaper_measurement",
|
|
753
785
|
"description": "Rulers/grid. action: set_rulers|set_grid|get_dimensions|set_snap. enabled, itemId."
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"name": "pinepaper_draw_weave",
|
|
789
|
+
"description": "Woven cloth as vector threads over the canvas: plain, twill, basket or herringbone. {weave?, warpColor?, weftColor?, density?, bounds?}"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"name": "pinepaper_draw_knots",
|
|
793
|
+
"description": "Embroidered knots (french_knot, bullion_roll, knot_anchor) with shadow and highlight, where you place them. {points, knotType?, threadColor?}"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"name": "pinepaper_draw_sashiko",
|
|
797
|
+
"description": "Japanese sashiko running-stitch pattern on ground cloth: seigaiha, asanoha, hishi, kaki_no_hana. {pattern?, threadColor?, groundColor?, scale?}"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"name": "pinepaper_draw_subdivision",
|
|
801
|
+
"description": "Recursive rectangle composition: mondrian, swiss, bauhaus, minimal. {preset?, seed?, maxDepth?, accentColors?, bounds?}"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"name": "pinepaper_ui_kit",
|
|
805
|
+
"description": "Product UI mockups on brand. action: phone_lock_screen (notifications + typing prompt) | notification | prompt_box | toggle | ad_card | calendar_card. {action, brand?}"
|
|
754
806
|
}
|
|
755
807
|
]
|
|
756
808
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pinepaper.studio/mcp-server",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.21",
|
|
4
4
|
"mcpName": "io.github.pinepaper/mcp-server",
|
|
5
5
|
"description": "MCP Server for PinePaper Studio - Create animated graphics with AI",
|
|
6
6
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
|
-
"build": "bun run tsc && node scripts/write-build-info.mjs",
|
|
31
|
+
"build": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && bun run tsc && node scripts/write-build-info.mjs",
|
|
32
32
|
"dev": "bun --watch src/index.ts",
|
|
33
33
|
"start": "bun run src/index.ts",
|
|
34
34
|
"start:dist": "bun dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"typecheck": "tsc --noEmit",
|
|
39
39
|
"check:manifest": "bun scripts/check-manifest-tools.mjs",
|
|
40
40
|
"fix:manifest": "bun scripts/check-manifest-tools.mjs --fix",
|
|
41
|
-
"prepublishOnly": "bun run check:manifest && bun run check:design && bun run check:character && bun run check:engine-methods && bun run check:engine-surface && bun run check:shape-params && bun run check:stick-vocabulary && bun run check:ontology-vocabulary && bun run check:engine-lists && bun run build",
|
|
41
|
+
"prepublishOnly": "bun run check:manifest && bun run check:design && bun run check:character && bun run check:engine-methods && bun run check:engine-surface && bun run check:shape-params && bun run check:stick-vocabulary && bun run check:ontology-vocabulary && bun run check:engine-lists && bun run check:relation-names && bun run build",
|
|
42
42
|
"lint:errors": "eslint src --quiet",
|
|
43
43
|
"sync:design": "node scripts/sync-design-systems.mjs",
|
|
44
44
|
"check:design": "node scripts/sync-design-systems.mjs --check",
|
|
@@ -60,7 +60,8 @@
|
|
|
60
60
|
"check:ontology-vocabulary": "node scripts/sync-ontology-vocabulary.mjs --check",
|
|
61
61
|
"sync:engine-lists": "node scripts/sync-engine-lists.mjs",
|
|
62
62
|
"fix:engine-lists": "node scripts/sync-engine-lists.mjs",
|
|
63
|
-
"check:engine-lists": "node scripts/sync-engine-lists.mjs --check"
|
|
63
|
+
"check:engine-lists": "node scripts/sync-engine-lists.mjs --check",
|
|
64
|
+
"check:relation-names": "node scripts/check-relation-names.mjs"
|
|
64
65
|
},
|
|
65
66
|
"keywords": [
|
|
66
67
|
"mcp",
|