@pinepaper.studio/mcp-server 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +6 -4
  2. package/dist/agent/types.d.ts +16 -16
  3. package/dist/browser/url-target.d.ts +26 -0
  4. package/dist/browser/url-target.d.ts.map +1 -0
  5. package/dist/browser/url-target.js +50 -0
  6. package/dist/browser/url-target.js.map +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +47 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/ontology/hints.d.ts +71 -0
  11. package/dist/ontology/hints.d.ts.map +1 -0
  12. package/dist/ontology/hints.js +189 -0
  13. package/dist/ontology/hints.js.map +1 -0
  14. package/dist/ontology/vocabulary.d.ts.map +1 -1
  15. package/dist/ontology/vocabulary.js +34 -0
  16. package/dist/ontology/vocabulary.js.map +1 -1
  17. package/dist/prompts/index.d.ts.map +1 -1
  18. package/dist/prompts/index.js +146 -0
  19. package/dist/prompts/index.js.map +1 -1
  20. package/dist/tools/compact-descriptions.d.ts +3 -0
  21. package/dist/tools/compact-descriptions.d.ts.map +1 -1
  22. package/dist/tools/compact-descriptions.js +17 -8
  23. package/dist/tools/compact-descriptions.js.map +1 -1
  24. package/dist/tools/definitions.d.ts +1 -1
  25. package/dist/tools/definitions.d.ts.map +1 -1
  26. package/dist/tools/definitions.js +1090 -1639
  27. package/dist/tools/definitions.js.map +1 -1
  28. package/dist/tools/handlers/camera.d.ts +19 -0
  29. package/dist/tools/handlers/camera.d.ts.map +1 -0
  30. package/dist/tools/handlers/camera.js +94 -0
  31. package/dist/tools/handlers/camera.js.map +1 -0
  32. package/dist/tools/handlers/export.d.ts +12 -0
  33. package/dist/tools/handlers/export.d.ts.map +1 -0
  34. package/dist/tools/handlers/export.js +30 -0
  35. package/dist/tools/handlers/export.js.map +1 -0
  36. package/dist/tools/handlers/font.d.ts +12 -0
  37. package/dist/tools/handlers/font.d.ts.map +1 -0
  38. package/dist/tools/handlers/font.js +135 -0
  39. package/dist/tools/handlers/font.js.map +1 -0
  40. package/dist/tools/handlers/maps.d.ts +19 -0
  41. package/dist/tools/handlers/maps.d.ts.map +1 -0
  42. package/dist/tools/handlers/maps.js +184 -0
  43. package/dist/tools/handlers/maps.js.map +1 -0
  44. package/dist/tools/handlers/ontology.d.ts +20 -0
  45. package/dist/tools/handlers/ontology.d.ts.map +1 -0
  46. package/dist/tools/handlers/ontology.js +185 -0
  47. package/dist/tools/handlers/ontology.js.map +1 -0
  48. package/dist/tools/handlers/tool-guide.d.ts +14 -0
  49. package/dist/tools/handlers/tool-guide.d.ts.map +1 -0
  50. package/dist/tools/handlers/tool-guide.js +52 -0
  51. package/dist/tools/handlers/tool-guide.js.map +1 -0
  52. package/dist/tools/handlers.d.ts +18 -0
  53. package/dist/tools/handlers.d.ts.map +1 -1
  54. package/dist/tools/handlers.js +205 -603
  55. package/dist/tools/handlers.js.map +1 -1
  56. package/dist/tools/minimal-descriptions.d.ts +4 -0
  57. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  58. package/dist/tools/minimal-descriptions.js +45 -54
  59. package/dist/tools/minimal-descriptions.js.map +1 -1
  60. package/dist/tools/toolkits.d.ts.map +1 -1
  61. package/dist/tools/toolkits.js +36 -45
  62. package/dist/tools/toolkits.js.map +1 -1
  63. package/dist/types/code-generator.d.ts +36 -1
  64. package/dist/types/code-generator.d.ts.map +1 -1
  65. package/dist/types/code-generator.js +823 -35
  66. package/dist/types/code-generator.js.map +1 -1
  67. package/dist/types/schemas.d.ts +1116 -444
  68. package/dist/types/schemas.d.ts.map +1 -1
  69. package/dist/types/schemas.js +290 -18
  70. package/dist/types/schemas.js.map +1 -1
  71. package/package.json +1 -1
package/README.md CHANGED
@@ -643,12 +643,14 @@ export PINEPAPER_METRICS_RETENTION=5000
643
643
 
644
644
  - **[Workflow Guide](docs/WORKFLOW_GUIDE.md)** - Decision trees, multi-step patterns, performance optimization, and troubleshooting
645
645
  - **[Performance Metrics](docs/PERFORMANCE_METRICS.md)** - In-memory metrics system for AI self-optimization
646
- - **[PinePaper Reference](https://pinepaper.studio/docs/)** - Complete PinePaper Studio API reference
646
+ - **[PinePaper Reference](https://pinepaper.studio/api/)** - Complete PinePaper Studio API reference
647
647
 
648
648
  ### External Documentation
649
649
 
650
- - [PinePaper API Docs](https://pinepaper.studio/docs/api)
651
- - [MCP Tools Specification](https://pinepaper.studio/docs/mcp)
650
+ - [PinePaper API Docs](https://pinepaper.studio/api/)
651
+ - [MCP Tools Specification](https://pinepaper.studio/api/mcp/tools-spec)
652
+ - [MCP Server Installation](https://pinepaper.studio/api/mcp/installation)
653
+ - [User Guide](https://pinepaper.studio/guide/)
652
654
 
653
655
  ## Contributing
654
656
 
@@ -669,7 +671,7 @@ MIT License - see [LICENSE](LICENSE) for details.
669
671
  ## Links
670
672
 
671
673
  - [PinePaper Studio](https://pinepaper.studio)
672
- - [Documentation](https://pinepaper.studio/docs)
674
+ - [Documentation](https://pinepaper.studio/guide/)
673
675
  - [GitHub Issues](https://github.com/pinepaper/mcp-server/issues)
674
676
  - [MCP Specification](https://modelcontextprotocol.io)
675
677
 
@@ -266,7 +266,7 @@ export declare const JobOptionsSchema: z.ZodObject<{
266
266
  backgroundColor: z.ZodOptional<z.ZodString>;
267
267
  }, "strip", z.ZodTypeAny, {
268
268
  headless: boolean;
269
- screenshotPolicy: "none" | "on_complete" | "on_error" | "on_request";
269
+ screenshotPolicy: "none" | "on_error" | "on_complete" | "on_request";
270
270
  name?: string | undefined;
271
271
  backgroundColor?: string | undefined;
272
272
  canvasPreset?: "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | undefined;
@@ -278,7 +278,7 @@ export declare const JobOptionsSchema: z.ZodObject<{
278
278
  name?: string | undefined;
279
279
  backgroundColor?: string | undefined;
280
280
  headless?: boolean | undefined;
281
- screenshotPolicy?: "none" | "on_complete" | "on_error" | "on_request" | undefined;
281
+ screenshotPolicy?: "none" | "on_error" | "on_complete" | "on_request" | undefined;
282
282
  canvasPreset?: "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | undefined;
283
283
  canvasSize?: {
284
284
  width: number;
@@ -294,13 +294,13 @@ export declare const BatchOperationSchema: z.ZodObject<{
294
294
  targetRef: z.ZodOptional<z.ZodString>;
295
295
  }, "strip", z.ZodTypeAny, {
296
296
  params: Record<string, unknown>;
297
- type: "delete" | "create" | "canvas" | "generator" | "animate" | "modify" | "relation";
297
+ type: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
298
298
  itemType?: string | undefined;
299
299
  sourceRef?: string | undefined;
300
300
  targetRef?: string | undefined;
301
301
  }, {
302
302
  params: Record<string, unknown>;
303
- type: "delete" | "create" | "canvas" | "generator" | "animate" | "modify" | "relation";
303
+ type: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
304
304
  itemType?: string | undefined;
305
305
  sourceRef?: string | undefined;
306
306
  targetRef?: string | undefined;
@@ -314,13 +314,13 @@ export declare const BatchExecuteInputSchema: z.ZodObject<{
314
314
  targetRef: z.ZodOptional<z.ZodString>;
315
315
  }, "strip", z.ZodTypeAny, {
316
316
  params: Record<string, unknown>;
317
- type: "delete" | "create" | "canvas" | "generator" | "animate" | "modify" | "relation";
317
+ type: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
318
318
  itemType?: string | undefined;
319
319
  sourceRef?: string | undefined;
320
320
  targetRef?: string | undefined;
321
321
  }, {
322
322
  params: Record<string, unknown>;
323
- type: "delete" | "create" | "canvas" | "generator" | "animate" | "modify" | "relation";
323
+ type: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
324
324
  itemType?: string | undefined;
325
325
  sourceRef?: string | undefined;
326
326
  targetRef?: string | undefined;
@@ -329,7 +329,7 @@ export declare const BatchExecuteInputSchema: z.ZodObject<{
329
329
  }, "strip", z.ZodTypeAny, {
330
330
  operations: {
331
331
  params: Record<string, unknown>;
332
- type: "delete" | "create" | "canvas" | "generator" | "animate" | "modify" | "relation";
332
+ type: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
333
333
  itemType?: string | undefined;
334
334
  sourceRef?: string | undefined;
335
335
  targetRef?: string | undefined;
@@ -338,7 +338,7 @@ export declare const BatchExecuteInputSchema: z.ZodObject<{
338
338
  }, {
339
339
  operations: {
340
340
  params: Record<string, unknown>;
341
- type: "delete" | "create" | "canvas" | "generator" | "animate" | "modify" | "relation";
341
+ type: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
342
342
  itemType?: string | undefined;
343
343
  sourceRef?: string | undefined;
344
344
  targetRef?: string | undefined;
@@ -351,15 +351,15 @@ export declare const ResetOptionsSchema: z.ZodObject<{
351
351
  canvasPreset: z.ZodOptional<z.ZodEnum<["instagram", "instagram-story", "tiktok", "youtube", "youtube-thumbnail", "twitter", "linkedin", "web", "print-a4", "print-letter"]>>;
352
352
  backgroundColor: z.ZodOptional<z.ZodString>;
353
353
  }, "strip", z.ZodTypeAny, {
354
- preserveBackground: boolean;
355
354
  preserveCanvasSize: boolean;
355
+ preserveBackground: boolean;
356
356
  backgroundColor?: string | undefined;
357
357
  canvasPreset?: "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | undefined;
358
358
  }, {
359
359
  backgroundColor?: string | undefined;
360
360
  canvasPreset?: "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | undefined;
361
- preserveBackground?: boolean | undefined;
362
361
  preserveCanvasSize?: boolean | undefined;
362
+ preserveBackground?: boolean | undefined;
363
363
  }>;
364
364
  export declare const SmartExportOptionsSchema: z.ZodObject<{
365
365
  platform: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodEnum<["instagram", "instagram-story", "tiktok", "youtube", "youtube-thumbnail", "twitter", "linkedin", "web", "print-a4", "print-letter"]>, z.ZodLiteral<"auto">]>>>;
@@ -367,14 +367,14 @@ export declare const SmartExportOptionsSchema: z.ZodObject<{
367
367
  quality: z.ZodDefault<z.ZodOptional<z.ZodEnum<["draft", "standard", "high"]>>>;
368
368
  includeRecommendations: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
369
369
  }, "strip", z.ZodTypeAny, {
370
- quality: "standard" | "draft" | "high";
371
- format: "svg" | "png" | "gif" | "mp4" | "webm" | "pdf" | "auto";
372
- platform: "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | "auto";
370
+ quality: "high" | "standard" | "draft";
371
+ format: "auto" | "svg" | "png" | "gif" | "mp4" | "webm" | "pdf";
372
+ platform: "auto" | "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter";
373
373
  includeRecommendations: boolean;
374
374
  }, {
375
- quality?: "standard" | "draft" | "high" | undefined;
376
- format?: "svg" | "png" | "gif" | "mp4" | "webm" | "pdf" | "auto" | undefined;
377
- platform?: "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | "auto" | undefined;
375
+ quality?: "high" | "standard" | "draft" | undefined;
376
+ format?: "auto" | "svg" | "png" | "gif" | "mp4" | "webm" | "pdf" | undefined;
377
+ platform?: "auto" | "instagram" | "instagram-story" | "tiktok" | "youtube" | "youtube-thumbnail" | "twitter" | "linkedin" | "web" | "print-a4" | "print-letter" | undefined;
378
378
  includeRecommendations?: boolean | undefined;
379
379
  }>;
380
380
  export type JobOptionsInput = z.infer<typeof JobOptionsSchema>;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Studio URL helpers shared between the browser_connect handler and tests.
3
+ *
4
+ * Centralized to avoid the substring/indexOf comparison that incorrectly
5
+ * matched port-prefixes (e.g. stored ":30000" swallowing requested ":3000")
6
+ * and to enforce the http(s)-only scheme guard in a single place.
7
+ */
8
+ export type StudioUrlValidation = {
9
+ ok: true;
10
+ url: string;
11
+ } | {
12
+ ok: false;
13
+ error: string;
14
+ };
15
+ export declare function validateStudioUrl(raw: string): StudioUrlValidation;
16
+ /**
17
+ * Returns true if `requested` points to the same Studio target as `stored`.
18
+ *
19
+ * Compares URL.origin (scheme + host + port) so different ports never
20
+ * substring-match each other, and pathname only when the caller supplied one
21
+ * (the PuppeteerController appends "/editor" + agent query params after
22
+ * connect, which would otherwise look like a path mismatch on an idempotent
23
+ * reconnect).
24
+ */
25
+ export declare function sameStudioTarget(stored: string | undefined, requested: string | undefined): boolean;
26
+ //# sourceMappingURL=url-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-target.d.ts","sourceRoot":"","sources":["../../src/browser/url-target.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAclE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAgBnG"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Studio URL helpers shared between the browser_connect handler and tests.
3
+ *
4
+ * Centralized to avoid the substring/indexOf comparison that incorrectly
5
+ * matched port-prefixes (e.g. stored ":30000" swallowing requested ":3000")
6
+ * and to enforce the http(s)-only scheme guard in a single place.
7
+ */
8
+ export function validateStudioUrl(raw) {
9
+ let parsed;
10
+ try {
11
+ parsed = new URL(raw);
12
+ }
13
+ catch {
14
+ return { ok: false, error: `Invalid Studio URL: ${raw}` };
15
+ }
16
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
17
+ return {
18
+ ok: false,
19
+ error: `Studio URL must use http:// or https:// (got ${parsed.protocol}).`,
20
+ };
21
+ }
22
+ return { ok: true, url: raw };
23
+ }
24
+ /**
25
+ * Returns true if `requested` points to the same Studio target as `stored`.
26
+ *
27
+ * Compares URL.origin (scheme + host + port) so different ports never
28
+ * substring-match each other, and pathname only when the caller supplied one
29
+ * (the PuppeteerController appends "/editor" + agent query params after
30
+ * connect, which would otherwise look like a path mismatch on an idempotent
31
+ * reconnect).
32
+ */
33
+ export function sameStudioTarget(stored, requested) {
34
+ if (!stored || !requested)
35
+ return !stored && !requested;
36
+ let storedUrl;
37
+ let requestedUrl;
38
+ try {
39
+ storedUrl = new URL(stored);
40
+ requestedUrl = new URL(requested);
41
+ }
42
+ catch {
43
+ return stored === requested;
44
+ }
45
+ const path = (u) => u.pathname.replace(/\/+$/, '') || '/';
46
+ const userHasPath = path(requestedUrl) !== '/';
47
+ return (storedUrl.origin === requestedUrl.origin &&
48
+ (!userHasPath || path(storedUrl) === path(requestedUrl)));
49
+ }
50
+ //# sourceMappingURL=url-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-target.js","sourceRoot":"","sources":["../../src/browser/url-target.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,gDAAgD,MAAM,CAAC,QAAQ,IAAI;SAC3E,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA0B,EAAE,SAA6B;IACxF,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC;IACxD,IAAI,SAAc,CAAC;IACnB,IAAI,YAAiB,CAAC;IACtB,IAAI,CAAC;QACH,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,KAAK,SAAS,CAAC;IAC9B,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC;IAC/C,OAAO,CACL,SAAS,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAYnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAS5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAkB,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAGL,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAskLzB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qEAAqE;IACrE,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,uEAAuE;IACvE,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAMD,wBAAsB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiK/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAYnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAS5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAkB,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAGL,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAmnLzB,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qEAAqE;IACrE,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,uEAAuE;IACvE,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAMD,wBAAsB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiK/E"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@
12
12
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
13
13
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
14
14
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
15
- import { PINEPAPER_TOOLS, getToolsForVerbosity } from './tools/definitions.js';
15
+ import { PINEPAPER_TOOLS, getToolsForVerbosity, AI_AGENT_GUIDE } from './tools/definitions.js';
16
16
  import { getToolsForToolkit, detectToolkitFromEnvironment, detectVerbosityFromEnvironment, isToolkitExplicitlySet, isVerbosityExplicitlySet, getClientProfile, } from './tools/toolkits.js';
17
17
  import { handleToolCall, getExecutionMode } from './tools/handlers.js';
18
18
  import { initI18n, DEFAULT_LOCALE, } from './i18n/index.js';
@@ -22,7 +22,7 @@ import { PROMPTS, getPromptMessages } from './prompts/index.js';
22
22
  // =============================================================================
23
23
  const SERVER_INFO = {
24
24
  name: 'pinepaper-mcp',
25
- version: '1.5.3',
25
+ version: '1.5.4',
26
26
  description: 'PinePaper Studio — canvas animation engine. Use PinePaper tools to create animations, videos, and graphics. NEVER generate HTML or React.',
27
27
  };
28
28
  // =============================================================================
@@ -30,6 +30,12 @@ const SERVER_INFO = {
30
30
  // =============================================================================
31
31
  const RESOURCES = [
32
32
  // === CORE GUIDES (Start here) ===
33
+ {
34
+ uri: 'pinepaper://docs/agent-guide',
35
+ name: '🤖 AI Agent Guide',
36
+ description: 'Canonical 130-line workflow + tool-categories reference. Same content the pinepaper_tool_guide tool returns when called with no args. Available here so MCP clients can pull it as a resource without a tool round-trip.',
37
+ mimeType: 'text/markdown',
38
+ },
33
39
  {
34
40
  uri: 'pinepaper://docs/getting-started',
35
41
  name: '🚀 Getting Started',
@@ -137,6 +143,10 @@ const RESOURCES = [
137
143
  },
138
144
  ];
139
145
  const RESOURCE_CONTENTS = {
146
+ // Agent guide — single source of truth for the canonical workflow + tool
147
+ // categories text. Mirrors what pinepaper_tool_guide returns with no args
148
+ // so MCP clients can pull it via the resources API without a tool call.
149
+ 'pinepaper://docs/agent-guide': AI_AGENT_GUIDE,
140
150
  'pinepaper://docs/getting-started': `# Getting Started with PinePaper MCP
141
151
 
142
152
  ## IMPORTANT — Read This First
@@ -206,6 +216,11 @@ Use "$0", "$1" etc. to reference items by creation order within the batch.
206
216
  | **Maps** | Geographic data | \`pinepaper_load_map\` → \`pinepaper_apply_data_colors\` |
207
217
  | **Assets** | Icons, illustrations | \`pinepaper_search_assets\` → \`pinepaper_import_asset\` |
208
218
  | **Images** | Photos, rasters | \`pinepaper_import_image\` (PNG/JPG/WebP on canvas) |
219
+ | **Deformation** | Organic motion effects | \`pinepaper_deform\` (twist, ripple, wave, breathe, wobble) |
220
+ | **Sprite Sheets** | Character animation | \`pinepaper_sprite_sheet\` (generate → play → export) |
221
+ | **Interaction** | Interactive/game content | \`pinepaper_interaction\` (physics behaviors, state management) |
222
+ | **Storage** | Project persistence | \`pinepaper_storage\` (save/load/list/delete projects) |
223
+ | **Widget Export** | Portable embeds | \`pinepaper_export_widget\` (JSON) + \`pinepaper_export_widget_html\` (self-contained HTML) |
209
224
 
210
225
  ## Key Rules
211
226
 
@@ -634,6 +649,36 @@ pinepaper_add_relation sourceId: "circle" targetId: "star" relationType: "morphs
634
649
 
635
650
  **Great for:** Logo animations, shape transitions, loading indicators, morphing icons
636
651
 
652
+ ### group_morphs_to
653
+ Pair-by-index morph between two paper.Groups. Source group's children migrate into target group's children's positions; Path.Line children deform via their segment endpoints; non-line children translate; excess children fade. Generic — works for any two groups (graph vertices+edges, letter collages, dashboard clusters).
654
+ - \`duration\`: Morph duration each direction in seconds (default: 1.5)
655
+ - \`hold\`: Hold time on each end before reversing in seconds (default: 1.0)
656
+ - \`loop\`: Cycle source ↔ target indefinitely (default: true)
657
+ - \`easing\`: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' (default: 'easeInOut')
658
+ - \`deformLines\`: Path.Line children deform via segment endpoints instead of rigid translation (default: true)
659
+
660
+ \`\`\`
661
+ pinepaper_add_relation sourceId: "graphA" targetId: "graphB" relationType: "group_morphs_to"
662
+ params: {duration: 1.5, hold: 1.0, loop: true}
663
+ \`\`\`
664
+
665
+ **Great for:** Graph layout transitions, letter-collage morphs, before/after dashboards
666
+
667
+ ### moves_along_path
668
+ Self-relation: item travels along a custom-drawn path stored in params. Pass \`targetId: null\`. In the editor the Relations picker offers a drag-to-draw capture mode; via MCP, pass the points array explicitly.
669
+ - \`path\`: Array of \`{x, y}\` objects or \`[x, y]\` tuples (required)
670
+ - \`speed\`: Speed multiplier — 1 ≈ 150 px/s (default: 1)
671
+ - \`closed\`: Loop back to start at end of path (default: true)
672
+ - \`phase\`: Starting position along path, 0–1 (default: 0)
673
+ - \`easing\`: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'sine' | 'bounce' | 'pingpong' (default: 'linear')
674
+
675
+ \`\`\`
676
+ pinepaper_add_relation sourceId: "ball" targetId: null relationType: "moves_along_path"
677
+ params: {path: [[100,100],[300,200],[500,100]], speed: 1, closed: true, easing: "easeInOut"}
678
+ \`\`\`
679
+
680
+ **Great for:** Procedural motion along an author-defined trajectory, scripted camera fly-throughs, decorative paths
681
+
637
682
  ### camera_follows
638
683
  Camera pans to follow a target item (like Manim MovingCameraScene).
639
684
  - \`smoothing\`: 0-1 (higher = smoother following)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwW5C;IAEC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgc1C;IAEC,qCAAqC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqPxC;IAEC,yCAAyC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QlC;IAEC,mCAAmC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyVtC;IAEC,wCAAwC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4V3C;IAEC,sCAAsC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiPzC;IAEC,yCAAyC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwW5C;IAEC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgc1C;IAEC,qCAAqC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqPxC;IAEC,yCAAyC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgU5C;IAEC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8R1C;IACC,4BAA4B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8S/B;IACC,2CAA2C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0L9C;IACC,sCAAsC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmPzC;IACC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsU1C;IAEC,2BAA2B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0K9B;IAEC,wBAAwB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4L3B;IAEC,wBAAwB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmJ3B;IAEC,yCAAyC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsF5C;IAEC,gCAAgC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJnC;IAEC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsI1C;CACA,CAAC;AAkBF,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAyB,EAAE;IAC5D,wCAAwC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,2BAA2B,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,wEAAwE;IACxE,IAAI,kBAAkB,GAAkB,OAAO,CAAC,SAAS,IAAI,8BAA8B,EAAE,CAAC;IAC9F,IAAI,gBAAgB,GAAmB,OAAO,CAAC,OAAO,IAAI,4BAA4B,EAAE,CAAC;IAEzF,uFAAuF;IACvF,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAE/G,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE;QACrC,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAC5B,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD,YAAY,EAAE;;;;;;;;;;;;+KAY6J;KAC5K,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;QAC1B,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,EAAE,IAAI;YAAE,OAAO;QAEjC,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,8DAA8D;QAC9D,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,sBAAsB,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAC1F,OAAO,CAAC,KAAK,CAAC,yBAAyB,aAAa,CAAC,IAAI,eAAe,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,wBAAwB,EAAE,IAAI,OAAO,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;YAClG,OAAO,CAAC,KAAK,CAAC,yBAAyB,aAAa,CAAC,IAAI,iBAAiB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/F,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,2CAA2C;YAC3C,MAAM,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;IAEF,8EAA8E;IAC9E,gBAAgB;IAChB,8EAA8E;IAE9E,mEAAmE;IACnE,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,OAAO;YACL,KAAK,EAAE,iBAAiB,EAAE;SAC3B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,0DAA0D;IAC1D,kEAAkE;IAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,0BAA0B;IAChF,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,gBAAgB,EAAE,CAAC;IAClE,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACrC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACrE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACxD,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;gBAC9D,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC;gBACrC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,gBAAgB,gBAAgB,kBAAkB,YAAY,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE;qBACzI,CAAC;aACH,CAAC;QACJ,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,EAAE,IAA+B,EAAE;YAC3D,IAAI;YACJ,gBAAgB;YAChB,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E,2BAA2B;IAC3B,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC9D,OAAO;YACL,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACpE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,GAAG;oBACH,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,OAAO;iBACd;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QAC5D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,2BAA2B;IAClC,0CAA0C;IAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACrD,IAAI,eAAe,IAAI,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,OAAO,eAAkC,CAAC;IAC5C,CAAC;IAED,8CAA8C;IAC9C,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAE1E,oDAAoD;IACpD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB;IAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;IAE/D,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAA2B,CAAC;IACrC,CAAC;IAED,yDAAyD;IACzD,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,OAAO,cAAiC,CAAC;IAC3C,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,SAAS,GAAG;QAChB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,OAAO;QACP,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC;IACF,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,2BAA2B,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,8BAA8B,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAC,YAAY,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACtF,OAAO,CAAC,KAAK,CAAC,UAAU,SAAS,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,cAAc,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACzD,CAAC;AAED,0EAA0E;AAC1E,kEAAkE;AAClE,MAAM,iBAAiB,GAAG,OAAQ,MAAM,CAAC,IAAY,CAAC,IAAI,KAAK,SAAS;IACtE,CAAC,CAAE,MAAM,CAAC,IAAY,CAAC,IAAI;IAC3B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE9D,IAAI,iBAAiB,EAAE,CAAC;IACtB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Vocabulary hints — ontology-aware suggestions for failed enum validations.
3
+ *
4
+ * Exposed to handlers.ts so that when Zod rejects an itemType / relationType /
5
+ * generatorName / shapeType, the resulting error includes a typo suggestion and
6
+ * the canonical valid list — making the next LLM call self-correcting without
7
+ * needing a separate ontology query.
8
+ */
9
+ /** Case-insensitive nearest match within edit distance ≤ 2. */
10
+ export declare function suggestTypo(bad: string, candidates: readonly string[]): string | null;
11
+ /**
12
+ * Returns an ontology-enriched hint for a failed enum validation, or null if
13
+ * the path isn't a recognized vocabulary field.
14
+ *
15
+ * Keeps the shape machine-readable so LLM callers can parse it:
16
+ * {
17
+ * field: 'relationType',
18
+ * validValues: [...], // authoritative list
19
+ * suggestion: 'orbits', // best typo match, if any
20
+ * ppType: 'pp:orbits', // canonical ontology key for the suggestion
21
+ * reference: 'pinepaper_query_ontology?query=list_edges for descriptions'
22
+ * }
23
+ */
24
+ export interface VocabularyHint {
25
+ field: string;
26
+ label: string;
27
+ validValues: readonly string[];
28
+ received: unknown;
29
+ suggestion: string | null;
30
+ ppType?: string;
31
+ reference: string;
32
+ }
33
+ export declare function vocabularyHintForPath(path: string, received: unknown): VocabularyHint | null;
34
+ /** Exposed for tests + description-parity checks. */
35
+ export declare const VOCABULARY_FIELD_NAMES: string[];
36
+ export interface BatchVocabularyViolation {
37
+ opIndex: number;
38
+ opType: string;
39
+ field: string;
40
+ hint: VocabularyHint;
41
+ }
42
+ export interface BatchPropertyTypoViolation {
43
+ opIndex: number;
44
+ opType: 'create';
45
+ itemType: string;
46
+ property: string;
47
+ suggestion: string;
48
+ validKeys: readonly string[];
49
+ }
50
+ /**
51
+ * Detect clear property-key typos in batch_execute `create` operations.
52
+ * Returns ONLY keys that are Levenshtein-≤2 from a known key for the
53
+ * given itemType — legitimate extras (gradient, custom internals) won't
54
+ * match anything close, so they pass through silently. This deliberately
55
+ * narrow scope avoids false positives while still catching the typo class
56
+ * (radiues vs radius, fontSiz vs fontSize, corneRadius vs cornerRadius).
57
+ *
58
+ * Empty itemType / unknown itemType → empty result (let the vocabulary
59
+ * preflight handle the upstream type error first).
60
+ */
61
+ export declare function detectBatchPropertyTypos(operations: ReadonlyArray<Record<string, unknown>>): BatchPropertyTypoViolation[];
62
+ /**
63
+ * Walk a batch operations array and return a vocabulary-violation list. Each
64
+ * entry carries the op index, the op type, the offending field, and a
65
+ * VocabularyHint with the canonical valid list and a typo suggestion.
66
+ *
67
+ * Operation shape kept loose (Record<string, unknown>) so the helper is
68
+ * callable without depending on the generated Zod types.
69
+ */
70
+ export declare function validateBatchVocabulary(operations: ReadonlyArray<Record<string, unknown>>): BatchVocabularyViolation[];
71
+ //# sourceMappingURL=hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hints.d.ts","sourceRoot":"","sources":["../../src/ontology/hints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiDH,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CASrF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAiB5F;AAED,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,UAAiC,CAAC;AAgBrE,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;CACtB;AA+BD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,0BAA0B,EAAE,CAwB9B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,wBAAwB,EAAE,CAiB5B"}