@pinepaper.studio/mcp-server 1.5.5 → 1.6.1

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 (80) hide show
  1. package/README.de.md +71 -0
  2. package/README.es.md +71 -0
  3. package/README.fr.md +71 -0
  4. package/README.hi.md +71 -0
  5. package/README.ja.md +71 -0
  6. package/README.ko.md +71 -0
  7. package/README.md +513 -272
  8. package/README.pt-BR.md +71 -0
  9. package/README.zh-CN.md +71 -0
  10. package/assets/easing-splashes.svg +152 -0
  11. package/assets/equation-path.svg +77 -0
  12. package/assets/hero.svg +126 -0
  13. package/assets/live-badge.svg +62 -0
  14. package/assets/poster-sunburst.svg +106 -0
  15. package/dist/__tests__/fixtures/mock-relations.d.ts +48 -0
  16. package/dist/__tests__/fixtures/mock-relations.d.ts.map +1 -1
  17. package/dist/__tests__/fixtures/mock-relations.js +31 -0
  18. package/dist/__tests__/fixtures/mock-relations.js.map +1 -1
  19. package/dist/agent/types.d.ts +6 -6
  20. package/dist/browser/bridge.d.ts +48 -4
  21. package/dist/browser/bridge.d.ts.map +1 -1
  22. package/dist/browser/bridge.js +79 -18
  23. package/dist/browser/bridge.js.map +1 -1
  24. package/dist/browser/puppeteer-controller.d.ts +34 -0
  25. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  26. package/dist/browser/puppeteer-controller.js +116 -5
  27. package/dist/browser/puppeteer-controller.js.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +32 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/ontology/index.d.ts +2 -0
  32. package/dist/ontology/index.d.ts.map +1 -1
  33. package/dist/ontology/index.js +2 -0
  34. package/dist/ontology/index.js.map +1 -1
  35. package/dist/ontology/ontology-compiler.d.ts +78 -0
  36. package/dist/ontology/ontology-compiler.d.ts.map +1 -0
  37. package/dist/ontology/ontology-compiler.js +235 -0
  38. package/dist/ontology/ontology-compiler.js.map +1 -0
  39. package/dist/ontology/ontology-validator.d.ts +103 -0
  40. package/dist/ontology/ontology-validator.d.ts.map +1 -0
  41. package/dist/ontology/ontology-validator.js +573 -0
  42. package/dist/ontology/ontology-validator.js.map +1 -0
  43. package/dist/ontology/types.d.ts +1 -0
  44. package/dist/ontology/types.d.ts.map +1 -1
  45. package/dist/ontology/validator.d.ts +6 -0
  46. package/dist/ontology/validator.d.ts.map +1 -1
  47. package/dist/ontology/validator.js +34 -5
  48. package/dist/ontology/validator.js.map +1 -1
  49. package/dist/ontology/vocabulary.d.ts.map +1 -1
  50. package/dist/ontology/vocabulary.js +91 -3
  51. package/dist/ontology/vocabulary.js.map +1 -1
  52. package/dist/tools/definitions.d.ts +1 -1
  53. package/dist/tools/definitions.d.ts.map +1 -1
  54. package/dist/tools/definitions.js +978 -27
  55. package/dist/tools/definitions.js.map +1 -1
  56. package/dist/tools/handlers/maps.d.ts.map +1 -1
  57. package/dist/tools/handlers/maps.js +54 -1
  58. package/dist/tools/handlers/maps.js.map +1 -1
  59. package/dist/tools/handlers/ontology.d.ts.map +1 -1
  60. package/dist/tools/handlers/ontology.js +15 -3
  61. package/dist/tools/handlers/ontology.js.map +1 -1
  62. package/dist/tools/handlers.d.ts.map +1 -1
  63. package/dist/tools/handlers.js +137 -6
  64. package/dist/tools/handlers.js.map +1 -1
  65. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  66. package/dist/tools/minimal-descriptions.js +20 -1
  67. package/dist/tools/minimal-descriptions.js.map +1 -1
  68. package/dist/tools/toolkits.d.ts.map +1 -1
  69. package/dist/tools/toolkits.js +25 -2
  70. package/dist/tools/toolkits.js.map +1 -1
  71. package/dist/types/code-generator.d.ts +190 -2
  72. package/dist/types/code-generator.d.ts.map +1 -1
  73. package/dist/types/code-generator.js +1068 -30
  74. package/dist/types/code-generator.js.map +1 -1
  75. package/dist/types/schemas.d.ts +2726 -116
  76. package/dist/types/schemas.d.ts.map +1 -1
  77. package/dist/types/schemas.js +594 -4
  78. package/dist/types/schemas.js.map +1 -1
  79. package/manifest.json +299 -71
  80. package/package.json +14 -3
@@ -0,0 +1,106 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="420" height="420" viewBox="0 0 420 420">
2
+ <title>The graph is the animation</title>
3
+ <desc>A PinePaper thesis figure: the same scene shown as a canvas stage and as a typed relation graph. Edges activate in the graph, then the canvas motion they declare begins.</desc>
4
+
5
+ <!-- ================= paper ================= -->
6
+ <rect x="0" y="0" width="420" height="420" fill="#ffffff"/>
7
+
8
+ <!-- ================= masthead ================= -->
9
+ <text x="28" y="40" font-family="Helvetica, Arial, sans-serif" font-size="7.5" letter-spacing="2" fill="#57646f">PINEPAPER &#183; THESIS FIGURE 01</text>
10
+ <text x="28" y="76" font-family="Georgia, 'Times New Roman', serif" font-size="34" fill="#16202b">The graph is</text>
11
+ <text x="28" y="112" font-family="Georgia, 'Times New Roman', serif" font-size="34" fill="#16202b">the <tspan fill="#2e5e8f">animation.</tspan></text>
12
+
13
+ <!-- ================= canvas stage ================= -->
14
+ <rect x="28" y="130" width="364" height="116" fill="#ffffff" stroke="#16202b" stroke-width="1.5"/>
15
+ <text x="36" y="146" font-family="Helvetica, Arial, sans-serif" font-size="7" letter-spacing="1.5" fill="#9aa3ab">CANVAS</text>
16
+
17
+ <!-- engine status, top right of stage -->
18
+ <circle cx="326" cy="143" r="3" fill="#2e9b4e">
19
+ <animate attributeName="opacity" values="0.35;1;0.35" keyTimes="0;0.5;1" dur="2s" calcMode="spline" keySplines="0.4 0 0.6 1;0.4 0 0.6 1" repeatCount="indefinite"/>
20
+ </circle>
21
+ <text x="384" y="146" text-anchor="end" font-family="Helvetica, Arial, sans-serif" font-size="7" fill="#9aa3ab">engine running</text>
22
+
23
+ <!-- the declared path p1 (also the motion path; closed, so the ride loops seamlessly) -->
24
+ <path id="loopPath" d="M155,150 C201,150 231,166 231,186 C231,206 201,222 155,222 C109,222 79,206 79,186 C79,166 109,150 155,150 Z"
25
+ fill="none" stroke="#a9bfd4" stroke-width="1.2" stroke-dasharray="5 5"/>
26
+ <text x="155" y="234" text-anchor="middle" font-family="'Courier New', monospace" font-size="7" fill="#9aa3ab">p1</text>
27
+
28
+ <!-- item:dot rides p1 after edge 1 fires (edge lands at 0.6s, dot departs at 0.8s of the 8s cycle);
29
+ calcMode=linear with a dense keyPoints ramp approximates the ease cross-browser -->
30
+ <circle r="6" fill="#2e5e8f">
31
+ <animateMotion dur="8s" repeatCount="indefinite" calcMode="linear"
32
+ keyPoints="0;0;0.045;0.155;0.33;0.54;0.72;0.86;0.95;1;1"
33
+ keyTimes="0;0.1;0.147;0.194;0.241;0.288;0.334;0.381;0.428;0.475;1">
34
+ <mpath xlink:href="#loopPath" href="#loopPath"/>
35
+ </animateMotion>
36
+ </circle>
37
+
38
+ <!-- item:sq rotates after edge 2 fires (edge lands at 4.6s, turn begins at 4.8s) -->
39
+ <g>
40
+ <animateTransform attributeName="transform" type="rotate" dur="8s" repeatCount="indefinite" calcMode="spline"
41
+ values="0 315 186;0 315 186;360 315 186;360 315 186" keyTimes="0;0.6;0.925;1"
42
+ keySplines="0 0 1 1;0.42 0 0.2 1;0 0 1 1"/>
43
+ <rect x="295" y="166" width="40" height="40" fill="#e8eff5" stroke="#16202b" stroke-width="1.5"/>
44
+ <line x1="315" y1="186" x2="315" y2="168" stroke="#2e5e8f" stroke-width="2"/>
45
+ <circle cx="315" cy="168" r="3" fill="#2e5e8f"/>
46
+ </g>
47
+ <text x="315" y="234" text-anchor="middle" font-family="'Courier New', monospace" font-size="7" fill="#9aa3ab">sq</text>
48
+
49
+ <!-- ================= relation graph ================= -->
50
+ <text x="28" y="268" font-family="Helvetica, Arial, sans-serif" font-size="7" letter-spacing="1.5" fill="#9aa3ab">GRAPH</text>
51
+
52
+ <!-- node chip: item:dot -->
53
+ <rect x="32" y="284" width="64" height="26" fill="#e8eff5"/>
54
+ <rect x="32" y="284" width="5" height="26" fill="#2e5e8f"/>
55
+ <text x="43" y="300" font-family="'Courier New', monospace" font-size="9" fill="#16202b">item:dot</text>
56
+
57
+ <!-- node chip: path:p1 -->
58
+ <rect x="176" y="284" width="62" height="26" fill="#e8eff5"/>
59
+ <rect x="176" y="284" width="5" height="26" fill="#2e5e8f"/>
60
+ <text x="187" y="300" font-family="'Courier New', monospace" font-size="9" fill="#16202b">path:p1</text>
61
+
62
+ <!-- node chip: item:sq -->
63
+ <rect x="316" y="284" width="60" height="26" fill="#e8eff5"/>
64
+ <rect x="316" y="284" width="5" height="26" fill="#2e5e8f"/>
65
+ <text x="327" y="300" font-family="'Courier New', monospace" font-size="9" fill="#16202b">item:sq</text>
66
+
67
+ <!-- edge 1 : item:dot -> path:p1 (moves_along_path) -->
68
+ <path d="M96,297 L170,297" fill="none" stroke="#a9bfd4" stroke-width="1.2"/>
69
+ <polygon points="168,293 168,301 176,297" fill="#a9bfd4"/>
70
+ <text x="136" y="291" text-anchor="middle" font-family="'Courier New', monospace" font-size="8" fill="#9aa3ab">moves_along_path</text>
71
+
72
+ <!-- edge 1 activation overlay: draws on, holds while the dot rides, fades -->
73
+ <path d="M96,297 L170,297" pathLength="74" fill="none" stroke="#2e5e8f" stroke-width="1.6" stroke-dasharray="74">
74
+ <animate attributeName="stroke-dashoffset" values="74;0;0;74;74" keyTimes="0;0.075;0.49;0.5;1" dur="8s" repeatCount="indefinite"
75
+ calcMode="spline" keySplines="0.4 0 0.2 1;0 0 1 1;0 0 1 1;0 0 1 1"/>
76
+ <animate attributeName="opacity" values="0;1;1;0;0" keyTimes="0;0.01;0.44;0.49;1" dur="8s" repeatCount="indefinite"/>
77
+ </path>
78
+ <polygon points="168,293 168,301 176,297" fill="#2e5e8f">
79
+ <animate attributeName="opacity" values="0;0;1;1;0;0" keyTimes="0;0.07;0.09;0.44;0.49;1" dur="8s" repeatCount="indefinite"/>
80
+ </polygon>
81
+ <text x="136" y="291" text-anchor="middle" font-family="'Courier New', monospace" font-size="8" fill="#2e5e8f">moves_along_path<animate attributeName="opacity" values="0;1;1;0;0" keyTimes="0;0.05;0.44;0.49;1" dur="8s" repeatCount="indefinite"/></text>
82
+
83
+ <!-- edge 2 : item:sq -> item:sq (rotate, self-relation) -->
84
+ <path d="M334,284 C334,266 362,266 362,284" fill="none" stroke="#a9bfd4" stroke-width="1.2"/>
85
+ <polygon points="358,277 366,277 362,285" fill="#a9bfd4"/>
86
+ <text x="348" y="264" text-anchor="middle" font-family="'Courier New', monospace" font-size="8" fill="#9aa3ab">rotate</text>
87
+
88
+ <!-- edge 2 activation overlay -->
89
+ <path d="M334,284 C334,266 362,266 362,284" pathLength="50" fill="none" stroke="#2e5e8f" stroke-width="1.6" stroke-dasharray="50">
90
+ <animate attributeName="stroke-dashoffset" values="50;50;0;0;50;50" keyTimes="0;0.47;0.575;0.93;0.94;1" dur="8s" repeatCount="indefinite"
91
+ calcMode="spline" keySplines="0 0 1 1;0.4 0 0.2 1;0 0 1 1;0 0 1 1;0 0 1 1"/>
92
+ <animate attributeName="opacity" values="0;0;1;1;0;0" keyTimes="0;0.47;0.48;0.88;0.925;1" dur="8s" repeatCount="indefinite"/>
93
+ </path>
94
+ <polygon points="358,277 366,277 362,285" fill="#2e5e8f">
95
+ <animate attributeName="opacity" values="0;0;1;1;0;0" keyTimes="0;0.565;0.585;0.88;0.925;1" dur="8s" repeatCount="indefinite"/>
96
+ </polygon>
97
+ <text x="348" y="264" text-anchor="middle" font-family="'Courier New', monospace" font-size="8" fill="#2e5e8f">rotate<animate attributeName="opacity" values="0;0;1;1;0;0" keyTimes="0;0.47;0.5;0.88;0.925;1" dur="8s" repeatCount="indefinite"/></text>
98
+
99
+ <!-- ================= footer ================= -->
100
+ <line x1="28" y1="344" x2="392" y2="344" stroke="#16202b" stroke-width="1"/>
101
+ <text x="28" y="398" font-family="Georgia, 'Times New Roman', serif" font-size="56" fill="#2e5e8f">2</text>
102
+ <text x="62" y="398" font-family="Georgia, 'Times New Roman', serif" font-size="18" fill="#2e5e8f">edges</text>
103
+ <text x="124" y="386" font-family="Helvetica, Arial, sans-serif" font-size="8.5" fill="#57646f">declared, not keyframed &#8212;</text>
104
+ <text x="124" y="398" font-family="Helvetica, Arial, sans-serif" font-size="8.5" fill="#57646f">the engine solves the motion.</text>
105
+ <text x="392" y="396" text-anchor="end" font-family="Helvetica, Arial, sans-serif" font-size="7" fill="#9aa3ab">pinepaper.studio &#183; fig. 1</text>
106
+ </svg>
@@ -76,6 +76,31 @@ export declare const mockBoundsToRelation: {
76
76
  bounce: boolean;
77
77
  };
78
78
  };
79
+ export declare const mockDrivenByRelation: {
80
+ sourceId: string;
81
+ targetId: string;
82
+ relationType: "driven_by";
83
+ params: {
84
+ sourceProperty: string;
85
+ targetProperty: string;
86
+ multiplier: number;
87
+ offset: number;
88
+ colorFrom: string;
89
+ colorTo: string;
90
+ signal: boolean;
91
+ };
92
+ };
93
+ export declare const mockTimeExpressionRelation: {
94
+ sourceId: string;
95
+ targetId: null;
96
+ relationType: "time_expression";
97
+ params: {
98
+ property: string;
99
+ expression: string;
100
+ baseValue: number;
101
+ signal: boolean;
102
+ };
103
+ };
79
104
  export declare const allMockRelations: ({
80
105
  sourceId: string;
81
106
  targetId: string;
@@ -143,5 +168,28 @@ export declare const allMockRelations: ({
143
168
  padding: number;
144
169
  bounce: boolean;
145
170
  };
171
+ } | {
172
+ sourceId: string;
173
+ targetId: string;
174
+ relationType: "driven_by";
175
+ params: {
176
+ sourceProperty: string;
177
+ targetProperty: string;
178
+ multiplier: number;
179
+ offset: number;
180
+ colorFrom: string;
181
+ colorTo: string;
182
+ signal: boolean;
183
+ };
184
+ } | {
185
+ sourceId: string;
186
+ targetId: null;
187
+ relationType: "time_expression";
188
+ params: {
189
+ property: string;
190
+ expression: string;
191
+ baseValue: number;
192
+ signal: boolean;
193
+ };
146
194
  })[];
147
195
  //# sourceMappingURL=mock-relations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-relations.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-relations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;gBAKR,CAAC,MAAM,EAAE,MAAM,CAAC;;;;CAIvC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;gBAKX,CAAC,MAAM,EAAE,MAAM,CAAC;;;CAGvC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;CAQzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;gBAMN,CAAC,MAAM,EAAE,MAAM,CAAC;;CAEzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;gBAMP,CAAC,MAAM,EAAE,MAAM,CAAC;;CAEzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;gBAnEL,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;gBAWhB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;gBA+Bd,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;gBAUhB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;IAwBzC,CAAC"}
1
+ {"version":3,"file":"mock-relations.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-relations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;gBAKR,CAAC,MAAM,EAAE,MAAM,CAAC;;;;CAIvC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;gBAKX,CAAC,MAAM,EAAE,MAAM,CAAC;;;CAGvC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;CAQzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;gBAMN,CAAC,MAAM,EAAE,MAAM,CAAC;;CAEzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;gBAMP,CAAC,MAAM,EAAE,MAAM,CAAC;;CAEzC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAKF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;CAahC,CAAC;AAGF,eAAO,MAAM,0BAA0B;;;;;;;;;;CAUtC,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;gBAlGL,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;gBAWhB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;gBA+Bd,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;gBAUhB,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyDzC,CAAC"}
@@ -76,6 +76,35 @@ export const mockBoundsToRelation = {
76
76
  bounce: true,
77
77
  },
78
78
  };
79
+ // Procedural / deterministic property binding (Expression IR — S10 G1).
80
+ // driven_by drives the source's fillColor from the target's x via the pure
81
+ // signal interpreter (signal:true → replay-stable).
82
+ export const mockDrivenByRelation = {
83
+ sourceId: 'dot_1',
84
+ targetId: 'planet_1',
85
+ relationType: 'driven_by',
86
+ params: {
87
+ sourceProperty: 'fillColor',
88
+ targetProperty: 'x',
89
+ multiplier: 0.002,
90
+ offset: 0,
91
+ colorFrom: '#0055ff',
92
+ colorTo: '#ff3300',
93
+ signal: true,
94
+ },
95
+ };
96
+ // time_expression: self-relation (targetId=null); bob the y with sin(t).
97
+ export const mockTimeExpressionRelation = {
98
+ sourceId: 'floater_1',
99
+ targetId: null,
100
+ relationType: 'time_expression',
101
+ params: {
102
+ property: 'y',
103
+ expression: 'sin(t * 2) * 50 + v',
104
+ baseValue: 300,
105
+ signal: true,
106
+ },
107
+ };
79
108
  // Collection of all mock relations
80
109
  export const allMockRelations = [
81
110
  mockOrbitsRelation,
@@ -86,5 +115,7 @@ export const allMockRelations = [
86
115
  mockMirrorsRelation,
87
116
  mockParallaxRelation,
88
117
  mockBoundsToRelation,
118
+ mockDrivenByRelation,
119
+ mockTimeExpressionRelation,
89
120
  ];
90
121
  //# sourceMappingURL=mock-relations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-relations.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-relations.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,QAAiB;IAC/B,MAAM,EAAE;QACN,MAAM,EAAE,GAAG;QACX,KAAK,EAAE,GAAG;QACV,SAAS,EAAE,kBAA2B;QACtC,KAAK,EAAE,CAAC;KACT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,SAAkB;IAChC,MAAM,EAAE;QACN,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAqB;QACpC,SAAS,EAAE,GAAG;QACd,KAAK,EAAE,GAAG;KACX;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,aAAsB;IACpC,MAAM,EAAE;QACN,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAqB;QACpC,gBAAgB,EAAE,KAAK;KACxB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,oBAA6B;IAC3C,MAAM,EAAE;QACN,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,GAAG;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,WAAoB;IAClC,MAAM,EAAE;QACN,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,GAAG;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,SAAkB;IAChC,MAAM,EAAE;QACN,IAAI,EAAE,UAAmB;QACzB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAqB;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,QAAQ;IAClB,YAAY,EAAE,UAAmB;IACjC,MAAM,EAAE;QACN,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAqB;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,OAAO;IACjB,YAAY,EAAE,WAAoB;IAClC,MAAM,EAAE;QACN,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,6BAA6B;IAC7B,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"mock-relations.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-relations.ts"],"names":[],"mappings":"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"}
@@ -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: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
297
+ type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
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: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
303
+ type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
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: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
317
+ type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
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: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
323
+ type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
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: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
332
+ type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
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: "generator" | "animate" | "create" | "modify" | "delete" | "relation" | "canvas";
341
+ type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
342
342
  itemType?: string | undefined;
343
343
  sourceRef?: string | undefined;
344
344
  targetRef?: string | undefined;
@@ -86,15 +86,47 @@ export declare class PinePaperBridge {
86
86
  */
87
87
  destroy(): void;
88
88
  }
89
+ /**
90
+ * Configuration for the studio-side message handler.
91
+ */
92
+ export interface StudioHandlerConfig {
93
+ /**
94
+ * REQUIRED. Exact origins permitted to drive this studio window.
95
+ * Wildcards are rejected: a `'*'` allowlist on a handler that can run
96
+ * code means any page holding a window reference (opener, embedder,
97
+ * `window.open` result) gets code execution in this origin.
98
+ */
99
+ allowedOrigins: string[];
100
+ /**
101
+ * Optional host-supplied executor for `execute-code` requests.
102
+ *
103
+ * This package deliberately ships NO code evaluator. If the host does
104
+ * not inject one, `execute-code` is refused. Hosts that want it wire
105
+ * their own sandbox/governor here and own that decision explicitly.
106
+ */
107
+ executeCode?: (code: string) => Promise<unknown>;
108
+ /**
109
+ * Allow `mcp-request` messages to dispatch MCP tool calls. Off by
110
+ * default — tool dispatch mutates the host document.
111
+ */
112
+ allowToolCalls?: boolean;
113
+ }
89
114
  /**
90
115
  * Message handler for PinePaper Studio side
91
116
  *
92
117
  * Install this in PinePaper Studio to handle incoming bridge messages.
118
+ *
119
+ * SECURITY: this handler is a remote-control surface for the window it is
120
+ * installed in. It therefore requires an explicit origin allowlist, ships
121
+ * no code evaluator (see `StudioHandlerConfig.executeCode`), and keeps
122
+ * tool dispatch opt-in.
93
123
  */
94
124
  export declare class PinePaperStudioHandler {
95
125
  private allowedOrigins;
126
+ private executeCodeFn?;
127
+ private allowToolCalls;
96
128
  private messageHandler;
97
- constructor(allowedOrigins?: string[]);
129
+ constructor(config: StudioHandlerConfig | string[]);
98
130
  /**
99
131
  * Handle incoming messages
100
132
  */
@@ -104,7 +136,15 @@ export declare class PinePaperStudioHandler {
104
136
  */
105
137
  private handlePing;
106
138
  /**
107
- * Handle code execution request
139
+ * Handle code execution request.
140
+ *
141
+ * This package ships no evaluator. Code runs only through an executor the
142
+ * HOST injected via `StudioHandlerConfig.executeCode`; otherwise the
143
+ * request is refused. Historically this path dynamically evaluated the
144
+ * message payload, which — combined with the old wildcard origin default —
145
+ * let any page holding a window reference run arbitrary code in the studio
146
+ * origin and read the result back over postMessage (CVE-class: cross-origin
147
+ * remote code execution; reported by Socket.dev 2026-08-01).
108
148
  */
109
149
  private handleExecuteCode;
110
150
  /**
@@ -121,7 +161,11 @@ export declare class PinePaperStudioHandler {
121
161
  */
122
162
  export declare function createBridge(config: BridgeConfig): PinePaperBridge;
123
163
  /**
124
- * Create a handler for PinePaper Studio side
164
+ * Create a handler for PinePaper Studio side.
165
+ *
166
+ * `config.allowedOrigins` is REQUIRED and must list exact origins — there is
167
+ * deliberately no default. This handler remote-controls the window it is
168
+ * installed in; a permissive default is a cross-origin foothold.
125
169
  */
126
- export declare function createStudioHandler(allowedOrigins?: string[]): PinePaperStudioHandler;
170
+ export declare function createStudioHandler(config: StudioHandlerConfig | string[]): PinePaperStudioHandler;
127
171
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IACxF,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,kBAAkB,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACxC;AAMD;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAgC;gBAE1C,MAAM,EAAE,YAAY;IAqBhC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,OAAO,CAAC,IAAI;IASZ;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBjD;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBxF;;OAEG;IACH,OAAO,IAAI,IAAI;CAUhB;AAMD;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,cAAc,CAAgC;gBAE1C,cAAc,GAAE,MAAM,EAAU;IAM5C;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAYlB;;OAEG;YACW,iBAAiB;IAqC/B;;OAEG;YACW,gBAAgB;IAwC9B;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,CAElE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAErF"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"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"}
@@ -187,19 +187,38 @@ export class PinePaperBridge {
187
187
  }
188
188
  }
189
189
  }
190
- // =============================================================================
191
- // PINEPAPER STUDIO HANDLER (runs inside PinePaper)
192
- // =============================================================================
193
190
  /**
194
191
  * Message handler for PinePaper Studio side
195
192
  *
196
193
  * Install this in PinePaper Studio to handle incoming bridge messages.
194
+ *
195
+ * SECURITY: this handler is a remote-control surface for the window it is
196
+ * installed in. It therefore requires an explicit origin allowlist, ships
197
+ * no code evaluator (see `StudioHandlerConfig.executeCode`), and keeps
198
+ * tool dispatch opt-in.
197
199
  */
198
200
  export class PinePaperStudioHandler {
199
201
  allowedOrigins;
202
+ executeCodeFn;
203
+ allowToolCalls;
200
204
  messageHandler;
201
- constructor(allowedOrigins = ['*']) {
202
- this.allowedOrigins = allowedOrigins;
205
+ constructor(config) {
206
+ const cfg = Array.isArray(config)
207
+ ? { allowedOrigins: config }
208
+ : config;
209
+ const origins = cfg?.allowedOrigins;
210
+ if (!Array.isArray(origins) || origins.length === 0) {
211
+ throw new Error('PinePaperStudioHandler: `allowedOrigins` is required — pass the exact ' +
212
+ "origins allowed to drive this window, e.g. ['https://pinepaper.studio'].");
213
+ }
214
+ if (origins.some((o) => typeof o !== 'string' || o.trim() === '' || o.includes('*'))) {
215
+ throw new Error('PinePaperStudioHandler: wildcard/empty origins are not allowed. ' +
216
+ 'List exact origins — a wildcard lets any page that holds a window ' +
217
+ 'reference drive this studio.');
218
+ }
219
+ this.allowedOrigins = [...origins];
220
+ this.executeCodeFn = cfg.executeCode;
221
+ this.allowToolCalls = cfg.allowToolCalls === true;
203
222
  this.messageHandler = this.handleMessage.bind(this);
204
223
  window.addEventListener('message', this.messageHandler);
205
224
  }
@@ -207,9 +226,14 @@ export class PinePaperStudioHandler {
207
226
  * Handle incoming messages
208
227
  */
209
228
  handleMessage(event) {
210
- // Validate origin
211
- if (!this.allowedOrigins.includes('*') &&
212
- !this.allowedOrigins.includes(event.origin)) {
229
+ // Validate origin — exact match only, no wildcard escape hatch.
230
+ if (!this.allowedOrigins.includes(event.origin)) {
231
+ return;
232
+ }
233
+ // Replies go back to the sending window; without one there is nothing
234
+ // to answer and no way to scope the response.
235
+ const source = event.source;
236
+ if (!source) {
213
237
  return;
214
238
  }
215
239
  const message = event.data;
@@ -218,13 +242,13 @@ export class PinePaperStudioHandler {
218
242
  }
219
243
  switch (message.type) {
220
244
  case 'ping':
221
- this.handlePing(event.source, event.origin);
245
+ this.handlePing(source, event.origin);
222
246
  break;
223
247
  case 'execute-code':
224
- this.handleExecuteCode(message, event.source, event.origin);
248
+ this.handleExecuteCode(message, source, event.origin);
225
249
  break;
226
250
  case 'mcp-request':
227
- this.handleMCPRequest(message, event.source, event.origin);
251
+ this.handleMCPRequest(message, source, event.origin);
228
252
  break;
229
253
  }
230
254
  }
@@ -240,14 +264,33 @@ export class PinePaperStudioHandler {
240
264
  }, origin);
241
265
  }
242
266
  /**
243
- * Handle code execution request
267
+ * Handle code execution request.
268
+ *
269
+ * This package ships no evaluator. Code runs only through an executor the
270
+ * HOST injected via `StudioHandlerConfig.executeCode`; otherwise the
271
+ * request is refused. Historically this path dynamically evaluated the
272
+ * message payload, which — combined with the old wildcard origin default —
273
+ * let any page holding a window reference run arbitrary code in the studio
274
+ * origin and read the result back over postMessage (CVE-class: cross-origin
275
+ * remote code execution; reported by Socket.dev 2026-08-01).
244
276
  */
245
277
  async handleExecuteCode(message, source, origin) {
246
278
  const { code } = message.payload;
279
+ if (!this.executeCodeFn) {
280
+ source.postMessage({
281
+ type: 'code-result',
282
+ id: message.id,
283
+ payload: {
284
+ success: false,
285
+ error: 'Code execution is not enabled on this bridge. The host must ' +
286
+ 'supply StudioHandlerConfig.executeCode to opt in.',
287
+ },
288
+ source: 'pinepaper-studio',
289
+ }, origin);
290
+ return;
291
+ }
247
292
  try {
248
- // Execute the code in PinePaper context
249
- // eslint-disable-next-line no-eval
250
- const result = await eval(`(async () => { ${code} })()`);
293
+ const result = await this.executeCodeFn(code);
251
294
  source.postMessage({
252
295
  type: 'code-result',
253
296
  id: message.id,
@@ -272,6 +315,20 @@ export class PinePaperStudioHandler {
272
315
  */
273
316
  async handleMCPRequest(message, source, origin) {
274
317
  const { tool, arguments: args } = message.payload;
318
+ // Tool dispatch mutates the host document — opt-in only.
319
+ if (!this.allowToolCalls) {
320
+ source.postMessage({
321
+ type: 'mcp-response',
322
+ id: message.id,
323
+ payload: {
324
+ success: false,
325
+ error: 'Tool calls are not enabled on this bridge. Set ' +
326
+ 'StudioHandlerConfig.allowToolCalls to opt in.',
327
+ },
328
+ source: 'pinepaper-studio',
329
+ }, origin);
330
+ return;
331
+ }
275
332
  try {
276
333
  // Import and use the handler
277
334
  const { handleToolCall } = await import('../tools/handlers.js');
@@ -312,9 +369,13 @@ export function createBridge(config) {
312
369
  return new PinePaperBridge(config);
313
370
  }
314
371
  /**
315
- * Create a handler for PinePaper Studio side
372
+ * Create a handler for PinePaper Studio side.
373
+ *
374
+ * `config.allowedOrigins` is REQUIRED and must list exact origins — there is
375
+ * deliberately no default. This handler remote-controls the window it is
376
+ * installed in; a permissive default is a cross-origin foothold.
316
377
  */
317
- export function createStudioHandler(allowedOrigins) {
318
- return new PinePaperStudioHandler(allowedOrigins);
378
+ export function createStudioHandler(config) {
379
+ return new PinePaperStudioHandler(config);
319
380
  }
320
381
  //# sourceMappingURL=bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2BH,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAyB;IAC/B,eAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;IACzD,OAAO,GAAG,KAAK,CAAC;IAChB,YAAY,CAAgB;IAC5B,YAAY,CAAc;IAC1B,cAAc,CAAgC;IAEtD,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG;YACZ,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,GAAG,MAAM;SACV,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAExD,oBAAoB;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,IAAI;QACV,IAAI,CAAC,WAAW,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACrB,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,EAAE,YAAY;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAmB;QACvC,kBAAkB;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAqB,CAAC;QAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;YAER,KAAK,cAAc,CAAC;YACpB,KAAK,aAAa;gBAChB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC7B,MAAM;YAER;gBACE,+BAA+B;gBAC/B,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAsB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAkE,CAAC;QAC3F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,OAAsB;QACxC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAExB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,WAAW,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,EAAE;gBACF,OAAO,EAAE,EAAE,IAAI,EAAE;gBACjB,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,IAA6B;QACnE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAExB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,WAAW,CAAC;gBACf,IAAI,EAAE,aAAa;gBACnB,EAAE;gBACF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE;gBAC5C,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3D,8BAA8B;QAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACjD,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF;AAkCD;;;;;;;;;GASG;AACH,MAAM,OAAO,sBAAsB;IACzB,cAAc,CAAW;IACzB,aAAa,CAAsC;IACnD,cAAc,CAAU;IACxB,cAAc,CAAgC;IAEtD,YAAY,MAAsC;QAChD,MAAM,GAAG,GAAwB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE;YAC5B,CAAC,CAAC,MAAM,CAAC;QAEX,MAAM,OAAO,GAAG,GAAG,EAAE,cAAc,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,wEAAwE;gBACtE,0EAA0E,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CACb,kEAAkE;gBAChE,oEAAoE;gBACpE,8BAA8B,CACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAmB;QACvC,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,sEAAsE;QACtE,8CAA8C;QAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAqB,CAAC;QAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM;YAER,KAAK,cAAc;gBACjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtD,MAAM;YAER,KAAK,aAAa;gBAChB,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAc,EAAE,MAAc;QAC/C,MAAM,CAAC,WAAW,CAChB;YACE,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;YAClC,MAAM,EAAE,kBAAkB;SACV,EAClB,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,iBAAiB,CAC7B,OAAsB,EACtB,MAAc,EACd,MAAc;QAEd,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAA2B,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,8DAA8D;wBAC9D,mDAAmD;iBACtD;gBACD,MAAM,EAAE,kBAAkB;aACV,EAClB,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;gBAClC,MAAM,EAAE,kBAAkB;aACV,EAClB,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE;gBACD,MAAM,EAAE,kBAAkB;aACV,EAClB,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,OAAsB,EACtB,MAAc,EACd,MAAc;QAEd,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAGzC,CAAC;QAEF,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,iDAAiD;wBACjD,+CAA+C;iBAClD;gBACD,MAAM,EAAE,kBAAkB;aACV,EAClB,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEhD,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;gBAClC,MAAM,EAAE,kBAAkB;aACV,EAClB,MAAM,CACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAChE;gBACD,MAAM,EAAE,kBAAkB;aACV,EAClB,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;CACF;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC/C,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAsC;IAEtC,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
@@ -47,6 +47,20 @@ export interface ExecuteResult {
47
47
  result?: unknown;
48
48
  error?: string;
49
49
  screenshot?: string;
50
+ /** Governor report from app.runGenerated (items/complexity/guard/warnings), when available. */
51
+ report?: Record<string, unknown>;
52
+ /** Structured error code from the governor (PP_ITEM_BUDGET, PP_LOOP_BUDGET, …), when available. */
53
+ errorCode?: string;
54
+ /** How the code ran: 'governed' via app.runGenerated, or 'eval' fallback on older builds. */
55
+ executedVia?: 'governed' | 'eval';
56
+ /** Set when the call succeeded only after recovering from a stale page/frame. */
57
+ recovered?: boolean;
58
+ /**
59
+ * Set alongside `recovered`: true if the canvas came back EMPTY (the page
60
+ * reloaded and no scene was restored), so the caller must rebuild rather than
61
+ * keep referencing item ids from before the reload. undefined = unknown.
62
+ */
63
+ canvasReset?: boolean;
50
64
  }
51
65
  /**
52
66
  * Controls PinePaper Studio via Puppeteer.
@@ -97,6 +111,26 @@ export declare class PinePaperBrowserController {
97
111
  * Disconnect and close browser
98
112
  */
99
113
  disconnect(): Promise<void>;
114
+ /**
115
+ * True for the "the page handle outlived its frame" family of Puppeteer
116
+ * errors — raised after the tab reloads or its main frame is swapped. The
117
+ * BROWSER is still alive; only our Page/Frame reference is stale.
118
+ */
119
+ private static isStaleFrameError;
120
+ /**
121
+ * Re-acquire a live Page handle WITHOUT relaunching the browser.
122
+ *
123
+ * connect() recovers from staleness by closing the browser and starting over,
124
+ * which throws away the canvas. A detached frame usually just means the tab
125
+ * reloaded, so the same browser still has a usable page (and PinePaper may
126
+ * have restored its own scene from IndexedDB). Re-binding to it keeps the
127
+ * session — and any surviving scene — intact.
128
+ *
129
+ * @returns true when a responsive page was re-bound.
130
+ */
131
+ private reacquirePage;
132
+ /** Number of registry items currently on the canvas, or null if unknown. */
133
+ private canvasItemCount;
100
134
  /**
101
135
  * Execute JavaScript code in PinePaper Studio
102
136
  */
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer-controller.d.ts","sourceRoot":"","sources":["../../src/browser/puppeteer-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer-controller.d.ts","sourceRoot":"","sources":["../../src/browser/puppeteer-controller.ts"],"names":[],"mappings":"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"}