@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.
- package/README.de.md +71 -0
- package/README.es.md +71 -0
- package/README.fr.md +71 -0
- package/README.hi.md +71 -0
- package/README.ja.md +71 -0
- package/README.ko.md +71 -0
- package/README.md +513 -272
- package/README.pt-BR.md +71 -0
- package/README.zh-CN.md +71 -0
- package/assets/easing-splashes.svg +152 -0
- package/assets/equation-path.svg +77 -0
- package/assets/hero.svg +126 -0
- package/assets/live-badge.svg +62 -0
- package/assets/poster-sunburst.svg +106 -0
- package/dist/__tests__/fixtures/mock-relations.d.ts +48 -0
- package/dist/__tests__/fixtures/mock-relations.d.ts.map +1 -1
- package/dist/__tests__/fixtures/mock-relations.js +31 -0
- package/dist/__tests__/fixtures/mock-relations.js.map +1 -1
- package/dist/agent/types.d.ts +6 -6
- package/dist/browser/bridge.d.ts +48 -4
- package/dist/browser/bridge.d.ts.map +1 -1
- package/dist/browser/bridge.js +79 -18
- package/dist/browser/bridge.js.map +1 -1
- package/dist/browser/puppeteer-controller.d.ts +34 -0
- package/dist/browser/puppeteer-controller.d.ts.map +1 -1
- package/dist/browser/puppeteer-controller.js +116 -5
- package/dist/browser/puppeteer-controller.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -1
- package/dist/index.js.map +1 -1
- package/dist/ontology/index.d.ts +2 -0
- package/dist/ontology/index.d.ts.map +1 -1
- package/dist/ontology/index.js +2 -0
- package/dist/ontology/index.js.map +1 -1
- package/dist/ontology/ontology-compiler.d.ts +78 -0
- package/dist/ontology/ontology-compiler.d.ts.map +1 -0
- package/dist/ontology/ontology-compiler.js +235 -0
- package/dist/ontology/ontology-compiler.js.map +1 -0
- package/dist/ontology/ontology-validator.d.ts +103 -0
- package/dist/ontology/ontology-validator.d.ts.map +1 -0
- package/dist/ontology/ontology-validator.js +573 -0
- package/dist/ontology/ontology-validator.js.map +1 -0
- package/dist/ontology/types.d.ts +1 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/validator.d.ts +6 -0
- package/dist/ontology/validator.d.ts.map +1 -1
- package/dist/ontology/validator.js +34 -5
- package/dist/ontology/validator.js.map +1 -1
- package/dist/ontology/vocabulary.d.ts.map +1 -1
- package/dist/ontology/vocabulary.js +91 -3
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/tools/definitions.d.ts +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +978 -27
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/handlers/maps.d.ts.map +1 -1
- package/dist/tools/handlers/maps.js +54 -1
- package/dist/tools/handlers/maps.js.map +1 -1
- package/dist/tools/handlers/ontology.d.ts.map +1 -1
- package/dist/tools/handlers/ontology.js +15 -3
- package/dist/tools/handlers/ontology.js.map +1 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +137 -6
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +20 -1
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +25 -2
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +190 -2
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +1068 -30
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +2726 -116
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +594 -4
- package/dist/types/schemas.js.map +1 -1
- package/manifest.json +299 -71
- 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 · 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 —</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 · 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;;;;;;;;;;;;;;;
|
|
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;
|
|
1
|
+
{"version":3,"file":"mock-relations.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-relations.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
341
|
+
type: "canvas" | "create" | "generator" | "animate" | "modify" | "delete" | "relation";
|
|
342
342
|
itemType?: string | undefined;
|
|
343
343
|
sourceRef?: string | undefined;
|
|
344
344
|
targetRef?: string | undefined;
|
package/dist/browser/bridge.d.ts
CHANGED
|
@@ -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(
|
|
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(
|
|
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
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/browser/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/browser/bridge.js
CHANGED
|
@@ -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(
|
|
202
|
-
|
|
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
|
-
|
|
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(
|
|
245
|
+
this.handlePing(source, event.origin);
|
|
222
246
|
break;
|
|
223
247
|
case 'execute-code':
|
|
224
|
-
this.handleExecuteCode(message,
|
|
248
|
+
this.handleExecuteCode(message, source, event.origin);
|
|
225
249
|
break;
|
|
226
250
|
case 'mcp-request':
|
|
227
|
-
this.handleMCPRequest(message,
|
|
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
|
-
|
|
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(
|
|
318
|
-
return new PinePaperStudioHandler(
|
|
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":"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"}
|
|
@@ -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":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,uBAAuB;IACtC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"puppeteer-controller.d.ts","sourceRoot":"","sources":["../../src/browser/puppeteer-controller.ts"],"names":[],"mappings":"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"}
|