@pinepaper.studio/mcp-server 1.6.17 → 1.6.18

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 (62) hide show
  1. package/README.md +92 -0
  2. package/dist/browser/puppeteer-controller.d.ts +61 -1
  3. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  4. package/dist/browser/puppeteer-controller.js +168 -6
  5. package/dist/browser/puppeteer-controller.js.map +1 -1
  6. package/dist/build-info.json +2 -2
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +75 -10
  10. package/dist/index.js.map +1 -1
  11. package/dist/ontology/ontology-validator.d.ts.map +1 -1
  12. package/dist/ontology/ontology-validator.js +9 -5
  13. package/dist/ontology/ontology-validator.js.map +1 -1
  14. package/dist/ontology/upstream-vocabulary.d.ts +2 -2
  15. package/dist/ontology/upstream-vocabulary.js +2 -2
  16. package/dist/tools/definitions.d.ts.map +1 -1
  17. package/dist/tools/definitions.js +138 -35
  18. package/dist/tools/definitions.js.map +1 -1
  19. package/dist/tools/engine-lists.d.ts +20 -0
  20. package/dist/tools/engine-lists.d.ts.map +1 -0
  21. package/dist/tools/engine-lists.js +86 -0
  22. package/dist/tools/engine-lists.js.map +1 -0
  23. package/dist/tools/engine-methods.d.ts.map +1 -1
  24. package/dist/tools/engine-methods.js +4 -0
  25. package/dist/tools/engine-methods.js.map +1 -1
  26. package/dist/tools/engine-surface.d.ts +1 -1
  27. package/dist/tools/engine-surface.d.ts.map +1 -1
  28. package/dist/tools/engine-surface.js +20 -4
  29. package/dist/tools/engine-surface.js.map +1 -1
  30. package/dist/tools/handlers/brand-intake.d.ts +95 -0
  31. package/dist/tools/handlers/brand-intake.d.ts.map +1 -0
  32. package/dist/tools/handlers/brand-intake.js +242 -0
  33. package/dist/tools/handlers/brand-intake.js.map +1 -0
  34. package/dist/tools/handlers.d.ts +23 -11
  35. package/dist/tools/handlers.d.ts.map +1 -1
  36. package/dist/tools/handlers.js +226 -10
  37. package/dist/tools/handlers.js.map +1 -1
  38. package/dist/tools/minimal-descriptions.js +4 -4
  39. package/dist/tools/minimal-descriptions.js.map +1 -1
  40. package/dist/tools/shape-params.d.ts +2 -2
  41. package/dist/tools/shape-params.js +2 -2
  42. package/dist/tools/stick-vocabulary.d.ts +1 -1
  43. package/dist/tools/stick-vocabulary.js +1 -1
  44. package/dist/types/code-generator.d.ts +40 -2
  45. package/dist/types/code-generator.d.ts.map +1 -1
  46. package/dist/types/code-generator.js +260 -26
  47. package/dist/types/code-generator.js.map +1 -1
  48. package/dist/types/schemas.d.ts +2170 -698
  49. package/dist/types/schemas.d.ts.map +1 -1
  50. package/dist/types/schemas.js +152 -36
  51. package/dist/types/schemas.js.map +1 -1
  52. package/dist/utils/mcp-log.d.ts +16 -0
  53. package/dist/utils/mcp-log.d.ts.map +1 -0
  54. package/dist/utils/mcp-log.js +10 -0
  55. package/dist/utils/mcp-log.js.map +1 -0
  56. package/dist/utils/progress.d.ts +28 -0
  57. package/dist/utils/progress.d.ts.map +1 -0
  58. package/dist/utils/progress.js +24 -0
  59. package/dist/utils/progress.js.map +1 -0
  60. package/dist/vendor/design/design-style.js +1 -1
  61. package/manifest.json +1 -1
  62. package/package.json +7 -4
@@ -0,0 +1,16 @@
1
+ /**
2
+ * MCP logging (notifications/message): events the agent's HOST should see
3
+ * but that belong in no single tool result, such as a browser session lost
4
+ * and relaunched between calls.
5
+ *
6
+ * Before this, the server declared no logging capability and every such event
7
+ * went to console.error, which an MCP client never shows. The server registers
8
+ * itself here at start; the SDK applies the client's logging/setLevel filter.
9
+ * With no server registered (tests, CLI), this is a no-op.
10
+ */
11
+ import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
12
+ type Level = 'debug' | 'info' | 'notice' | 'warning' | 'error';
13
+ export declare function setLogServer(s: Server | null): void;
14
+ export declare function mcpLog(level: Level, data: string | Record<string, unknown>): void;
15
+ export {};
16
+ //# sourceMappingURL=mcp-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-log.d.ts","sourceRoot":"","sources":["../../src/utils/mcp-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAExE,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAI/D,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEnD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGjF"}
@@ -0,0 +1,10 @@
1
+ let server = null;
2
+ export function setLogServer(s) {
3
+ server = s;
4
+ }
5
+ export function mcpLog(level, data) {
6
+ if (!server)
7
+ return;
8
+ server.sendLoggingMessage({ level, logger: 'pinepaper', data }).catch(() => { });
9
+ }
10
+ //# sourceMappingURL=mcp-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-log.js","sourceRoot":"","sources":["../../src/utils/mcp-log.ts"],"names":[],"mappings":"AAcA,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,CAAgB;IAC3C,MAAM,GAAG,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAY,EAAE,IAAsC;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAwC,CAAC,CAAC,CAAC;AACxH,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * MCP progress for a running tool call (notifications/progress).
3
+ *
4
+ * `progress` is elapsed seconds: it must increase with every notification,
5
+ * and a time base is the one quantity that always does. What the work is
6
+ * actually doing goes in `message`. For a video export that is the studio's
7
+ * own percentage, read through `status`.
8
+ */
9
+ export interface ProgressNotifier {
10
+ progressToken: string | number;
11
+ send: (n: {
12
+ method: 'notifications/progress';
13
+ params: {
14
+ progressToken: string | number;
15
+ progress: number;
16
+ message: string;
17
+ };
18
+ }) => Promise<void>;
19
+ intervalMs: number;
20
+ label: string;
21
+ status?: () => Promise<{
22
+ percent: number;
23
+ } | null>;
24
+ now?: () => number;
25
+ }
26
+ /** Start reporting; returns stop(). */
27
+ export declare function startProgress(p: ProgressNotifier): () => void;
28
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,wBAAwB,CAAC;QAAC,MAAM,EAAE;YAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChJ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAkB7D"}
@@ -0,0 +1,24 @@
1
+ /** Start reporting; returns stop(). */
2
+ export function startProgress(p) {
3
+ const now = p.now ?? Date.now;
4
+ const started = now();
5
+ let last = 0;
6
+ let stopped = false;
7
+ const tick = async () => {
8
+ const progress = Math.max(last + 1, Math.round((now() - started) / 1000));
9
+ last = progress;
10
+ let message = `${p.label}: working (${progress} s)`;
11
+ try {
12
+ const s = p.status ? await p.status() : null;
13
+ if (s)
14
+ message = `exporting: ${Math.round(s.percent)}%`;
15
+ }
16
+ catch { /* keep the elapsed message */ }
17
+ if (stopped)
18
+ return;
19
+ await p.send({ method: 'notifications/progress', params: { progressToken: p.progressToken, progress, message } }).catch(() => { });
20
+ };
21
+ const timer = setInterval(() => { void tick(); }, p.intervalMs);
22
+ return () => { stopped = true; clearInterval(timer); };
23
+ }
24
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAiBA,uCAAuC;AACvC,MAAM,UAAU,aAAa,CAAC,CAAmB;IAC/C,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAC9B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IACtB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,GAAG,QAAQ,CAAC;QAChB,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,KAAK,cAAc,QAAQ,KAAK,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,IAAI,CAAC;gBAAE,OAAO,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;QAC1C,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpI,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAChE,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /* GENERATED — DO NOT EDIT.
2
2
  *
3
3
  * Source: mcp-cloud/src/services/content-recipes.ts (DesignStyle union only)
4
- * sha256: 325b0a9d87717f8747cbad1b97b825b394ed7338207b0e1a6d9bafe369d429ae
4
+ * sha256: 5f36f68c0278045a212382ac43db12ef892556fe99df30728e1bdbbfe446f397
5
5
  * Generator: scripts/sync-design-systems.mjs
6
6
  *
7
7
  * Edit the TypeScript upstream and re-run the generator. A hand edit here is
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.17",
4
+ "version": "1.6.18",
5
5
  "display_name": "PinePaper",
6
6
  "icon": "icon.png",
7
7
  "description": "Create animated graphics with AI using PinePaper Studio",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinepaper.studio/mcp-server",
3
- "version": "1.6.17",
3
+ "version": "1.6.18",
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",
@@ -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 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 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",
@@ -57,7 +57,10 @@
57
57
  "sync:character": "node scripts/sync-character-modules.mjs",
58
58
  "check:character": "node scripts/sync-character-modules.mjs --check",
59
59
  "sync:ontology-vocabulary": "node scripts/sync-ontology-vocabulary.mjs",
60
- "check:ontology-vocabulary": "node scripts/sync-ontology-vocabulary.mjs --check"
60
+ "check:ontology-vocabulary": "node scripts/sync-ontology-vocabulary.mjs --check",
61
+ "sync:engine-lists": "node scripts/sync-engine-lists.mjs",
62
+ "fix:engine-lists": "node scripts/sync-engine-lists.mjs",
63
+ "check:engine-lists": "node scripts/sync-engine-lists.mjs --check"
61
64
  },
62
65
  "keywords": [
63
66
  "mcp",
@@ -112,7 +115,7 @@
112
115
  "basic-ftp": "^5.3.1",
113
116
  "body-parser": "^2.3.0",
114
117
  "es-define-property": "npm:@socketregistry/es-define-property@^1.0.7",
115
- "fast-uri": "^3.1.7",
118
+ "fast-uri": "^3.1.8",
116
119
  "flatted": "^3.4.2",
117
120
  "function-bind": "npm:@socketregistry/function-bind@^1.0.7",
118
121
  "gopd": "npm:@socketregistry/gopd@^1.0.7",