@pinepaper.studio/mcp-server 1.6.26 → 1.6.27
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.md +71 -1
- package/SECURITY.md +2 -2
- package/dist/agent/types.d.ts +3 -3
- package/dist/browser/puppeteer-controller.d.ts +11 -0
- package/dist/browser/puppeteer-controller.d.ts.map +1 -1
- package/dist/browser/puppeteer-controller.js +38 -2
- package/dist/browser/puppeteer-controller.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/ontology/hints.d.ts +3 -1
- package/dist/ontology/hints.d.ts.map +1 -1
- package/dist/ontology/hints.js +4 -2
- package/dist/ontology/hints.js.map +1 -1
- package/dist/ontology/upstream-vocabulary.d.ts +1 -1
- package/dist/ontology/upstream-vocabulary.js +1 -1
- package/dist/ontology/vocabulary.d.ts.map +1 -1
- package/dist/ontology/vocabulary.js +2 -0
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +23 -10
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/engine-lists.d.ts +11 -1
- package/dist/tools/engine-lists.d.ts.map +1 -1
- package/dist/tools/engine-lists.js +109 -1
- package/dist/tools/engine-lists.js.map +1 -1
- package/dist/tools/engine-methods.d.ts.map +1 -1
- package/dist/tools/engine-methods.js +1 -0
- package/dist/tools/engine-methods.js.map +1 -1
- package/dist/tools/engine-surface.d.ts +1 -1
- package/dist/tools/engine-surface.d.ts.map +1 -1
- package/dist/tools/engine-surface.js +7 -4
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/export-file-receipt.d.ts +43 -0
- package/dist/tools/export-file-receipt.d.ts.map +1 -1
- package/dist/tools/export-file-receipt.js +61 -6
- package/dist/tools/export-file-receipt.js.map +1 -1
- package/dist/tools/expression-grammar.d.ts +10 -0
- package/dist/tools/expression-grammar.d.ts.map +1 -0
- package/dist/tools/expression-grammar.js +33 -0
- package/dist/tools/expression-grammar.js.map +1 -0
- package/dist/tools/handlers/export.d.ts.map +1 -1
- package/dist/tools/handlers/export.js +54 -4
- package/dist/tools/handlers/export.js.map +1 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +61 -2
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/lane.d.ts +4 -3
- package/dist/tools/lane.d.ts.map +1 -1
- package/dist/tools/lane.js +31 -5
- package/dist/tools/lane.js.map +1 -1
- package/dist/tools/scene-cache-export.d.ts +52 -0
- package/dist/tools/scene-cache-export.d.ts.map +1 -0
- package/dist/tools/scene-cache-export.js +227 -0
- package/dist/tools/scene-cache-export.js.map +1 -0
- package/dist/tools/shape-params.d.ts +2 -2
- package/dist/tools/shape-params.js +2 -2
- package/dist/tools/stick-vocabulary.d.ts +1 -1
- package/dist/tools/stick-vocabulary.js +1 -1
- package/dist/types/code-generator.d.ts +1 -0
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +437 -249
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +211 -199
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +7 -1
- package/dist/types/schemas.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
|
@@ -65,4 +65,47 @@ export declare function exportFileReceiptOrReason(filePath: string, exportResult
|
|
|
65
65
|
export declare function receiptErrorLine(receipt: ExportFileReceipt | {
|
|
66
66
|
receiptError: string;
|
|
67
67
|
}): string;
|
|
68
|
+
/** Whether ffmpeg is on PATH (asked once). The per-scene export joins its segments with it. */
|
|
69
|
+
export declare function hasFfmpeg(): Promise<boolean>;
|
|
70
|
+
/** The streams a segment carries, for the join's precondition: every segment must match the first. */
|
|
71
|
+
export declare function segmentStreams(filePath: string): Promise<{
|
|
72
|
+
ok: boolean;
|
|
73
|
+
signature?: string;
|
|
74
|
+
reason?: string;
|
|
75
|
+
}>;
|
|
76
|
+
/**
|
|
77
|
+
* Join video segments end to end (ffmpeg's concat demuxer). The video is stream-copied: same encoder settings,
|
|
78
|
+
* every segment starting on a keyframe. The AUDIO is re-encoded, because a copy cannot honour each segment's AAC
|
|
79
|
+
* priming edit list: copied, three 2 s segments came out 48 ms longer than the video, with timestamp warnings and up
|
|
80
|
+
* to 90 ms of silence at each seam; decoded and re-encoded, the next scene's sound starts on the cut (measured). The
|
|
81
|
+
* list file holds absolute paths, quoted for the demuxer; -safe 0 lets it read them.
|
|
82
|
+
*/
|
|
83
|
+
export declare function concatSegments(segments: string[], listFile: string, outFile: string, opts?: {
|
|
84
|
+
audio?: boolean;
|
|
85
|
+
format?: string;
|
|
86
|
+
videoOnly?: boolean;
|
|
87
|
+
}): Promise<{
|
|
88
|
+
ok: boolean;
|
|
89
|
+
reason?: string;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Put one audio file under a video: the video stream copied, the audio encoded for the container, cut to the
|
|
93
|
+
* video's length. The per-scene export's program audio (the studio's own full-export bake) goes on this way, so a
|
|
94
|
+
* cached segment never carries a level that an edit elsewhere changed, and there is no seam to hear.
|
|
95
|
+
*/
|
|
96
|
+
export declare function muxAudio(videoFile: string, audioFile: string, outFile: string, opts: {
|
|
97
|
+
format?: string;
|
|
98
|
+
seconds: number;
|
|
99
|
+
}): Promise<{
|
|
100
|
+
ok: boolean;
|
|
101
|
+
reason?: string;
|
|
102
|
+
}>;
|
|
103
|
+
/** A silent stereo track under a video (48 kHz, the rate every export muxes), so a file from a silent program carries an audio track as a whole export does. */
|
|
104
|
+
export declare function muxSilence(videoFile: string, outFile: string, opts: {
|
|
105
|
+
format?: string;
|
|
106
|
+
seconds: number;
|
|
107
|
+
}): Promise<{
|
|
108
|
+
ok: boolean;
|
|
109
|
+
reason?: string;
|
|
110
|
+
}>;
|
|
68
111
|
//# sourceMappingURL=export-file-receipt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-file-receipt.d.ts","sourceRoot":"","sources":["../../src/tools/export-file-receipt.ts"],"names":[],"mappings":"AAcA,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACxE;AAED,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,kFAAkF;AAClF,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAU/F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAe1E;
|
|
1
|
+
{"version":3,"file":"export-file-receipt.d.ts","sourceRoot":"","sources":["../../src/tools/export-file-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,14 +49,15 @@ export function probeFromResult(exportResult) {
|
|
|
49
49
|
}
|
|
50
50
|
let ffprobeAvailable = null;
|
|
51
51
|
/**
|
|
52
|
-
* The package's
|
|
53
|
-
* the
|
|
54
|
-
*
|
|
55
|
-
*
|
|
52
|
+
* The package's only child processes, both in this file. execFile, never exec or spawn with a shell: the binary is
|
|
53
|
+
* the literal `ffprobe` (reading a saved video back) or `ffmpeg` (joining the per-scene segments of a cached
|
|
54
|
+
* export), the arguments an array this file writes, and the values from outside it, file paths, are made absolute
|
|
55
|
+
* first, so none can be read as an option (a leading `-`) or an ffmpeg protocol (`concat:`, `http:`). Turn the
|
|
56
|
+
* read-back off with PINEPAPER_FFPROBE=off.
|
|
56
57
|
*/
|
|
57
|
-
function run(cmd, args) {
|
|
58
|
+
function run(cmd, args, timeout = 30_000) {
|
|
58
59
|
return new Promise((resolve) => {
|
|
59
|
-
execFile(cmd, args, { timeout
|
|
60
|
+
execFile(cmd, args, { timeout, maxBuffer: 4 * 1024 * 1024 }, (err, stdout, stderr) => {
|
|
60
61
|
resolve({ ok: !err, stdout: String(stdout ?? ''), stderr: String(stderr ?? '') || (err ? err.message : '') });
|
|
61
62
|
});
|
|
62
63
|
});
|
|
@@ -175,4 +176,58 @@ export function receiptErrorLine(receipt) {
|
|
|
175
176
|
? `RECEIPT: the file was saved, but it could not be hashed or read back (${receipt.receiptError}); it has no sha256 or probe.\n`
|
|
176
177
|
: '';
|
|
177
178
|
}
|
|
179
|
+
let ffmpegAvailable = null;
|
|
180
|
+
/** Whether ffmpeg is on PATH (asked once). The per-scene export joins its segments with it. */
|
|
181
|
+
export async function hasFfmpeg() {
|
|
182
|
+
if (ffmpegAvailable === null)
|
|
183
|
+
ffmpegAvailable = (await run('ffmpeg', ['-version'])).ok;
|
|
184
|
+
return ffmpegAvailable;
|
|
185
|
+
}
|
|
186
|
+
/** The streams a segment carries, for the join's precondition: every segment must match the first. */
|
|
187
|
+
export async function segmentStreams(filePath) {
|
|
188
|
+
const r = await run('ffprobe', ['-v', 'error', '-show_entries', 'stream=codec_type,codec_name,width,height,r_frame_rate,sample_rate,channels', '-of', 'json', resolvePath(filePath)]);
|
|
189
|
+
if (!r.ok)
|
|
190
|
+
return { ok: false, reason: r.stderr.trim() || 'ffprobe could not read it' };
|
|
191
|
+
try {
|
|
192
|
+
const j = JSON.parse(r.stdout);
|
|
193
|
+
return { ok: true, signature: JSON.stringify((j.streams ?? []).map((x) => [x.codec_type, x.codec_name, x.width, x.height, x.r_frame_rate, x.sample_rate, x.channels])) };
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
return { ok: false, reason: 'ffprobe printed something that is not JSON' };
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Join video segments end to end (ffmpeg's concat demuxer). The video is stream-copied: same encoder settings,
|
|
201
|
+
* every segment starting on a keyframe. The AUDIO is re-encoded, because a copy cannot honour each segment's AAC
|
|
202
|
+
* priming edit list: copied, three 2 s segments came out 48 ms longer than the video, with timestamp warnings and up
|
|
203
|
+
* to 90 ms of silence at each seam; decoded and re-encoded, the next scene's sound starts on the cut (measured). The
|
|
204
|
+
* list file holds absolute paths, quoted for the demuxer; -safe 0 lets it read them.
|
|
205
|
+
*/
|
|
206
|
+
export async function concatSegments(segments, listFile, outFile, opts = {}) {
|
|
207
|
+
const { writeFile } = await import('node:fs/promises');
|
|
208
|
+
const quote = (p) => `'${resolvePath(p).replace(/'/g, "'\\''")}'`;
|
|
209
|
+
await writeFile(listFile, segments.map((p) => `file ${quote(p)}`).join('\n') + '\n', 'utf-8');
|
|
210
|
+
const audio = opts.videoOnly ? ['-an'] : opts.audio ? (opts.format === 'webm' ? ['-c:a', 'libopus', '-b:a', '128k'] : ['-c:a', 'aac', '-b:a', '192k']) : [];
|
|
211
|
+
const r = await run('ffmpeg', ['-v', 'error', '-y', '-f', 'concat', '-safe', '0', '-i', resolvePath(listFile), '-c:v', 'copy', ...audio,
|
|
212
|
+
...(opts.format === 'webm' ? [] : ['-movflags', '+faststart']), resolvePath(outFile)], 300_000);
|
|
213
|
+
return r.ok ? { ok: true } : { ok: false, reason: r.stderr.trim() || 'ffmpeg failed with no message' };
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Put one audio file under a video: the video stream copied, the audio encoded for the container, cut to the
|
|
217
|
+
* video's length. The per-scene export's program audio (the studio's own full-export bake) goes on this way, so a
|
|
218
|
+
* cached segment never carries a level that an edit elsewhere changed, and there is no seam to hear.
|
|
219
|
+
*/
|
|
220
|
+
export async function muxAudio(videoFile, audioFile, outFile, opts) {
|
|
221
|
+
const codec = opts.format === 'webm' ? ['-c:a', 'libopus', '-b:a', '128k'] : ['-c:a', 'aac', '-b:a', '192k'];
|
|
222
|
+
const r = await run('ffmpeg', ['-v', 'error', '-y', '-i', resolvePath(videoFile), '-i', resolvePath(audioFile), '-map', '0:v:0', '-map', '1:a:0',
|
|
223
|
+
'-c:v', 'copy', ...codec, '-t', String(opts.seconds), ...(opts.format === 'webm' ? [] : ['-movflags', '+faststart']), resolvePath(outFile)], 300_000);
|
|
224
|
+
return r.ok ? { ok: true } : { ok: false, reason: r.stderr.trim() || 'ffmpeg failed with no message' };
|
|
225
|
+
}
|
|
226
|
+
/** A silent stereo track under a video (48 kHz, the rate every export muxes), so a file from a silent program carries an audio track as a whole export does. */
|
|
227
|
+
export async function muxSilence(videoFile, outFile, opts) {
|
|
228
|
+
const codec = opts.format === 'webm' ? ['-c:a', 'libopus', '-b:a', '64k'] : ['-c:a', 'aac', '-b:a', '64k'];
|
|
229
|
+
const r = await run('ffmpeg', ['-v', 'error', '-y', '-i', resolvePath(videoFile), '-f', 'lavfi', '-i', 'anullsrc=r=48000:cl=stereo', '-map', '0:v:0', '-map', '1:a:0',
|
|
230
|
+
'-c:v', 'copy', ...codec, '-t', String(opts.seconds), ...(opts.format === 'webm' ? [] : ['-movflags', '+faststart']), resolvePath(outFile)], 300_000);
|
|
231
|
+
return r.ok ? { ok: true } : { ok: false, reason: r.stderr.trim() || 'ffmpeg failed with no message' };
|
|
232
|
+
}
|
|
178
233
|
//# sourceMappingURL=export-file-receipt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-file-receipt.js","sourceRoot":"","sources":["../../src/tools/export-file-receipt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export-file-receipt.js","sourceRoot":"","sources":["../../src/tools/export-file-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Argument order for every function that takes more than one, read from FxTool relations/ExpressionIR.js and
|
|
3
|
+
* expr-to-ir.js. The tables give counts, not orders, and an order is easy to guess wrong: remap takes x LAST, so
|
|
4
|
+
* remap(0.5, 0, 1, 0, 10) is 20, not 5. Prose, written here; expression-grammar.test.ts fails when the engine adds a
|
|
5
|
+
* multi-argument function this does not cover.
|
|
6
|
+
*/
|
|
7
|
+
export declare const EXPRESSION_ARG_ORDER: Readonly<Record<string, string>>;
|
|
8
|
+
/** The grammar in one line: variables, constants, operators and every function, with argument order where it has more than one. */
|
|
9
|
+
export declare function expressionGrammarText(): string;
|
|
10
|
+
//# sourceMappingURL=expression-grammar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression-grammar.d.ts","sourceRoot":"","sources":["../../src/tools/expression-grammar.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAchE,CAAC;AAEH,mIAAmI;AACnI,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The time_expression formula grammar, said once from the engine's own tables (engine-lists, generated from FxTool
|
|
3
|
+
* relations/expr-to-ir.js), for the tool docs and for the refusal that names it.
|
|
4
|
+
*/
|
|
5
|
+
import { EXPRESSION_FUNCTION_ARITY, EXPRESSION_CONSTANTS } from './engine-lists.js';
|
|
6
|
+
/**
|
|
7
|
+
* Argument order for every function that takes more than one, read from FxTool relations/ExpressionIR.js and
|
|
8
|
+
* expr-to-ir.js. The tables give counts, not orders, and an order is easy to guess wrong: remap takes x LAST, so
|
|
9
|
+
* remap(0.5, 0, 1, 0, 10) is 20, not 5. Prose, written here; expression-grammar.test.ts fails when the engine adds a
|
|
10
|
+
* multi-argument function this does not cover.
|
|
11
|
+
*/
|
|
12
|
+
export const EXPRESSION_ARG_ORDER = Object.freeze({
|
|
13
|
+
pow: 'pow(base, exponent)',
|
|
14
|
+
min: 'min(a, b)',
|
|
15
|
+
max: 'max(a, b)',
|
|
16
|
+
atan2: 'atan2(y, x)',
|
|
17
|
+
hypot: 'hypot(x, y)',
|
|
18
|
+
mod: 'mod(x, m) (floored: never negative for m > 0)',
|
|
19
|
+
step: 'step(edge, x) (1 once x reaches edge)',
|
|
20
|
+
pingpong: 'pingpong(t, length) (0 → length → 0)',
|
|
21
|
+
clamp: 'clamp(x, lo, hi)',
|
|
22
|
+
lerp: 'lerp(a, b, f)',
|
|
23
|
+
smoothstep: 'smoothstep(edge0, edge1, x)',
|
|
24
|
+
inverseLerp: 'inverseLerp(a, b, x)',
|
|
25
|
+
remap: 'remap(inLo, inHi, outLo, outHi, x) (x last)',
|
|
26
|
+
});
|
|
27
|
+
/** The grammar in one line: variables, constants, operators and every function, with argument order where it has more than one. */
|
|
28
|
+
export function expressionGrammarText() {
|
|
29
|
+
const one = Object.entries(EXPRESSION_FUNCTION_ARITY).filter(([, a]) => a === 1).map(([n]) => n);
|
|
30
|
+
const more = Object.entries(EXPRESSION_FUNCTION_ARITY).filter(([, a]) => a > 1).map(([n, a]) => EXPRESSION_ARG_ORDER[n] ?? `${n} (${a} arguments)`);
|
|
31
|
+
return `t (seconds), v (baseValue), ${EXPRESSION_CONSTANTS.join(', ')}, numbers, + - * / % and ^ (power), parentheses; one argument: ${one.join(', ')}; more: ${more.join(', ')}. Not JavaScript: no Math., no random()`;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=expression-grammar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression-grammar.js","sourceRoot":"","sources":["../../src/tools/expression-grammar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAqC,MAAM,CAAC,MAAM,CAAC;IAClF,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,aAAa;IACpB,KAAK,EAAE,aAAa;IACpB,GAAG,EAAE,+CAA+C;IACpD,IAAI,EAAE,uCAAuC;IAC7C,QAAQ,EAAE,sCAAsC;IAChD,KAAK,EAAE,kBAAkB;IACzB,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,6BAA6B;IACzC,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE,6CAA6C;CACrD,CAAC,CAAC;AAEH,mIAAmI;AACnI,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpJ,OAAO,+BAA+B,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,kEAAkE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC;AAC3N,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/export.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,OAAO,
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/export.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,OAAO,EAAmG,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWtJ,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAgJxD,CAAC"}
|
|
@@ -9,10 +9,10 @@ import { readFile, writeFile, mkdir, stat } from 'node:fs/promises';
|
|
|
9
9
|
import { join } from 'node:path';
|
|
10
10
|
import { fileURLToPath } from 'node:url';
|
|
11
11
|
import { confineAssetPath } from '../../utils/asset-paths.js';
|
|
12
|
-
import { executeOrGenerate, getLocalizedSuccessMessage, getExportDir, errorResult } from '../handlers.js';
|
|
12
|
+
import { executeOrGenerate, getLocalizedSuccessMessage, getExportDir, errorResult, CUSTOM_RELATION_NAMES } from '../handlers.js';
|
|
13
13
|
import { exportFileLink } from '../../utils/export-dir.js';
|
|
14
14
|
import { codeGenerator } from '../../types/code-generator.js';
|
|
15
|
-
import { ExportTrainingDataInputSchema, ExportSceneInputSchema, ImportSceneInputSchema, ErrorCodes } from '../../types/schemas.js';
|
|
15
|
+
import { ExportTrainingDataInputSchema, ExportSceneInputSchema, ImportSceneInputSchema, RegisterCustomRelationInputSchema, ErrorCodes } from '../../types/schemas.js';
|
|
16
16
|
import { getBrowserController } from '../../browser/puppeteer-controller.js';
|
|
17
17
|
import { getExecutionMode } from '../handlers.js';
|
|
18
18
|
import { ExportStepError, errorText, verifySavedFile, writeStep } from '../export-file-check.js';
|
|
@@ -63,6 +63,21 @@ export const exportHandlers = {
|
|
|
63
63
|
return errorResult(ErrorCodes.EXECUTION_ERROR, `export failed at the export step: ${why}`, { code, step: 'export', path: null, reason: why }, { toolName: 'pinepaper_export_scene' });
|
|
64
64
|
}
|
|
65
65
|
const dir = getExportDir();
|
|
66
|
+
// CUSTOM RELATIONS TRAVEL WITH THE SCENE (#37). The engine's document keeps each bound relation by type name
|
|
67
|
+
// and not the rule a register_custom_relation call compiled, so a reload had relations nothing could run. The
|
|
68
|
+
// definitions as given (recorded on the page at registration) ride in the file under a key of this server's.
|
|
69
|
+
let customNames = [];
|
|
70
|
+
try {
|
|
71
|
+
const cr = await controller.executeCode(`(function () { return (typeof window !== 'undefined' && window.__ppCustomRelations) ? Object.values(window.__ppCustomRelations) : []; })();`, false, { bypassGovernor: true });
|
|
72
|
+
const list = cr.success && Array.isArray(cr.result) ? cr.result.filter((d) => d && typeof d.name === 'string') : [];
|
|
73
|
+
if (list.length) {
|
|
74
|
+
const docOut = JSON.parse(v.json);
|
|
75
|
+
docOut.mcpCustomRelations = list;
|
|
76
|
+
v.json = JSON.stringify(docOut);
|
|
77
|
+
customNames = list.map((d) => String(d.name));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch { /* the scene saves without them; nothing to report beyond the absence */ }
|
|
66
81
|
const filePath = join(dir, `pinepaper_project_${Date.now()}.json`);
|
|
67
82
|
// No "Project saved" without a file that exists and holds the document.
|
|
68
83
|
try {
|
|
@@ -75,7 +90,9 @@ export const exportHandlers = {
|
|
|
75
90
|
}
|
|
76
91
|
const lost = Array.isArray(v.unserialized) ? v.unserialized : [];
|
|
77
92
|
const result = {
|
|
78
|
-
success: true, filePath, bytes: Buffer.byteLength(v.json), counts: v.counts,
|
|
93
|
+
success: true, filePath, bytes: Buffer.byteLength(v.json), counts: v.counts,
|
|
94
|
+
restore: customNames.length ? `pinepaper_import_scene { path: "${filePath}", registerCustomRelations: true }` : `pinepaper_import_scene { path: "${filePath}" }`,
|
|
95
|
+
...(customNames.length ? { customRelations: customNames } : {}),
|
|
79
96
|
...(lost.length ? {
|
|
80
97
|
unserialized: lost,
|
|
81
98
|
warning: `${lost.length} piece(s) of per-frame drawing will NOT be in the file: ${lost.map((u) => `${u.kind ?? 'callback'} ${u.id ?? ''}`.trim()).join(', ')}. They are JavaScript functions, which a document cannot carry. Re-create them as pinepaper_render_hook (saved as source) or pinepaper_emitter (saved as data) to keep them.`,
|
|
@@ -129,7 +146,40 @@ export const exportHandlers = {
|
|
|
129
146
|
// Staged beside the code, never inlined: a megabyte document inside the
|
|
130
147
|
// generated code is what makes the governor's transform bail.
|
|
131
148
|
const code = codeGenerator.generateLoadProject(input.strict !== false);
|
|
132
|
-
|
|
149
|
+
// Custom relation definitions saved with the scene are code (compute and apply bodies) that runs in the studio,
|
|
150
|
+
// and a scene file can come from anywhere, so they are registered only when asked, and before the load, so the
|
|
151
|
+
// scene's relations of those types bind.
|
|
152
|
+
const defs = Array.isArray(doc.mcpCustomRelations)
|
|
153
|
+
? (doc.mcpCustomRelations).map((d) => RegisterCustomRelationInputSchema.safeParse(d)).filter((r) => r.success).map((r) => r.data)
|
|
154
|
+
: [];
|
|
155
|
+
let note = '';
|
|
156
|
+
if (defs.length) {
|
|
157
|
+
const names = defs.map((d) => d.name).join(', ');
|
|
158
|
+
const mode = options.executionMode ?? getExecutionMode();
|
|
159
|
+
if (input.registerCustomRelations === true && mode !== 'code' && options.executeInBrowser) {
|
|
160
|
+
const controller = options.browserController || getBrowserController();
|
|
161
|
+
if (!controller.connected) {
|
|
162
|
+
try {
|
|
163
|
+
await controller.connect();
|
|
164
|
+
}
|
|
165
|
+
catch { /* executeOrGenerate reports it */ }
|
|
166
|
+
}
|
|
167
|
+
const failed = [];
|
|
168
|
+
for (const d of defs) {
|
|
169
|
+
const r = await controller.executeCode(codeGenerator.generateRegisterCustomRelation(d), false).catch(() => null);
|
|
170
|
+
const ok = !!(r && r.success && r.result?.success !== false);
|
|
171
|
+
if (ok)
|
|
172
|
+
CUSTOM_RELATION_NAMES.add(d.name);
|
|
173
|
+
else
|
|
174
|
+
failed.push(d.name);
|
|
175
|
+
}
|
|
176
|
+
note = failed.length ? ` — custom relations registered except ${failed.join(', ')}` : ` — custom relations registered first: ${names}`;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
note = ` — this file carries custom relation definitions (${names}) that were NOT registered: their compute and apply code runs in the studio, so they load only with registerCustomRelations: true. Relations of those types in the scene do nothing until they are registered.`;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return executeOrGenerate(code, `Load project document ${path}${note}`, options, 'pinepaper_import_scene', { projectDoc: text });
|
|
133
183
|
},
|
|
134
184
|
};
|
|
135
185
|
//# sourceMappingURL=export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/handlers/export.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,YAAY,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/handlers/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,EAAE,cAAc,EAA6B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/handlers.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { nestedIgnoredPaths } from './nested-ignored.js';
|
|
9
9
|
import { CRAFT_FRAME_JS, generateDrawWeave, generateDrawKnots, generateDrawSashiko, generateDrawSubdivision, generateUiKit, uiKitCallProblems, } from './craft-tools.js';
|
|
10
|
+
import { exportPerScene } from './scene-cache-export.js';
|
|
10
11
|
import { codeGenerator, generateQueryMutationsCode, SHEET_RUBRIC } from '../types/code-generator.js';
|
|
11
12
|
import { expandBatchMacros, BatchMacroError } from './batch-macros.js';
|
|
12
13
|
import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, ImportMotionCaptureInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, GeometryInputSchema, EquationPathInputSchema, EventInputSchema, ConstructionSequenceInputSchema, ValidateSceneInputSchema, CaptureFramesInputSchema, InstantiateOntologyInputSchema, LintSceneInputSchema, MediaInputSchema, TextStyleInputSchema, TextEffectInputSchema, DesignMediumInputSchema, RelightInputSchema, ChoreographInputSchema, EmitterInputSchema, MorphSequenceInputSchema, OriginalCharacterInputSchema, LookInputSchema, RenderHookInputSchema, ShaderGraphInputSchema, ShatterImageInputSchema, ImportLayeredCharacterInputSchema, CharacterInputSchema, GameInputSchema, World3DInputSchema, BrandKitInputSchema, ComponentInputSchema, ArtboardInputSchema, CommentInputSchema, ProvenanceInputSchema, SceneDiffInputSchema, AudioBeatsInputSchema, TemplateParamsInputSchema, RenderBatchInputSchema, AccessibilityCheckInputSchema, QueryMutationsInputSchema, ComposeInputSchema, CropImageInputSchema, PathOpInputSchema, MotionInputSchema, SoundInputSchema, InterchangeInputSchema, StickInputSchema, DesignSystemInputSchema, StoryInputSchema, ChromaKeyInputSchema, RiggingInputSchema, GroupInputSchema, CameraDirectorInputSchema, DetectObjectsInputSchema, ExtractObjectInputSchema, ArrangeInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
|
|
@@ -2948,7 +2949,23 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
|
|
|
2948
2949
|
}
|
|
2949
2950
|
case 'pinepaper_clear_canvas': {
|
|
2950
2951
|
const code = codeGenerator.generateClearCanvas();
|
|
2951
|
-
|
|
2952
|
+
// Starting over is also the moment to leave an old build: everything on the canvas is going anyway, and the
|
|
2953
|
+
// lane has no start_job, which was the only other reload point (#40).
|
|
2954
|
+
let reloaded = null;
|
|
2955
|
+
const mode = options.executionMode ?? getExecutionMode();
|
|
2956
|
+
if (mode !== 'code' && options.executeInBrowser && !options.deferred) {
|
|
2957
|
+
const controller = options.browserController || getBrowserController();
|
|
2958
|
+
if (controller.connected && typeof controller.reloadIfStale === 'function') {
|
|
2959
|
+
try {
|
|
2960
|
+
reloaded = await controller.reloadIfStale();
|
|
2961
|
+
}
|
|
2962
|
+
catch {
|
|
2963
|
+
reloaded = null;
|
|
2964
|
+
}
|
|
2965
|
+
}
|
|
2966
|
+
}
|
|
2967
|
+
const description = 'Clears all items from the canvas, including any welcome template items'
|
|
2968
|
+
+ (reloaded ? ` (the studio was on build ${reloaded.fromBuild} and was reloaded to the live build ${reloaded.toBuild} first)` : '');
|
|
2952
2969
|
return executeOrGenerate(code, description, options, 'pinepaper_clear_canvas');
|
|
2953
2970
|
}
|
|
2954
2971
|
case 'pinepaper_refresh_page': {
|
|
@@ -3821,7 +3838,8 @@ You can now start creating new items on a clean canvas.${sizeNote}`,
|
|
|
3821
3838
|
// doing (e.g. experimental vocabulary).
|
|
3822
3839
|
if (!input.skipValidation) {
|
|
3823
3840
|
const ops = input.operations;
|
|
3824
|
-
|
|
3841
|
+
// A relation registered with register_custom_relation this session is a valid relationType, as in add_relation.
|
|
3842
|
+
const violations = validateBatchVocabulary(ops, { relationType: CUSTOM_RELATION_NAMES });
|
|
3825
3843
|
if (violations.length > 0) {
|
|
3826
3844
|
return errorResult(ErrorCodes.VALIDATION_ERROR, `Batch preflight rejected ${violations.length} operation${violations.length > 1 ? 's' : ''} with unknown vocabulary value${violations.length > 1 ? 's' : ''}. Fix the offending fields and retry, or pass skipValidation: true to bypass.`, violations.map((v) => ({
|
|
3827
3845
|
path: `operations[${v.opIndex}].${v.field}`,
|
|
@@ -3974,6 +3992,47 @@ You can now start creating new items on a clean canvas.${sizeNote}`,
|
|
|
3974
3992
|
+ ' — or webm / apng for alpha in the browser.');
|
|
3975
3993
|
}
|
|
3976
3994
|
const input = AgentExportInputSchema.parse(args);
|
|
3995
|
+
// A chain as cached segments, joined (scene-cache-export.ts). Only where it can execute; in code mode the
|
|
3996
|
+
// flag has nothing to cache and the plain export code is returned.
|
|
3997
|
+
if (input.perScene === true && (options.executionMode ?? getExecutionMode()) !== 'code' && options.executeInBrowser) {
|
|
3998
|
+
const ctl = options.browserController || getBrowserController();
|
|
3999
|
+
if (!ctl.connected) {
|
|
4000
|
+
try {
|
|
4001
|
+
await ctl.connect();
|
|
4002
|
+
}
|
|
4003
|
+
catch { /* the plain export below reports it */ }
|
|
4004
|
+
}
|
|
4005
|
+
if (ctl.connected) {
|
|
4006
|
+
return exportPerScene(args, String(input.format), {
|
|
4007
|
+
exec: (c) => ctl.executeCode(c, false, { bypassGovernor: true }),
|
|
4008
|
+
exportOnce: (a) => handleToolCall('pinepaper_agent_export', a, options),
|
|
4009
|
+
exportDir: getExportDir(),
|
|
4010
|
+
programAudio: async (seconds) => {
|
|
4011
|
+
const r = await ctl.executeCode(`(async function () {
|
|
4012
|
+
const E = app.exportEngine;
|
|
4013
|
+
if (!E || E.supportsProgramAudio !== true) return { ok: false, reason: 'this studio cannot render program audio' };
|
|
4014
|
+
const r = await E.exportProgramAudio({ format: 'wav', sampleRate: 48000, duration: ${Number(seconds)} });
|
|
4015
|
+
// A program with nothing that sounds is refused, not an empty WAV: code 'no-audio' (FxTool #252); an older studio
|
|
4016
|
+
// gives only a reason, so there the scene's own answer decides.
|
|
4017
|
+
if (r && r.ok === false && (r.code === 'no-audio' || (r.code === undefined && typeof E.sceneHasAudio === 'function' && !E.sceneHasAudio()))) return { ok: false, none: true };
|
|
4018
|
+
return r;
|
|
4019
|
+
})();`, false, { bypassGovernor: true, governorTimeoutMs: 600_000 });
|
|
4020
|
+
const v = (r.result ?? {});
|
|
4021
|
+
if (r.success && v.none)
|
|
4022
|
+
return { none: true };
|
|
4023
|
+
if (!r.success || !v.ok || !v.exportId || !v.size)
|
|
4024
|
+
return { reason: v.reason || v.error || r.error || 'no program audio came back' };
|
|
4025
|
+
try {
|
|
4026
|
+
const saved = await streamRetainedExportToFile(ctl, { exportId: v.exportId, size: v.size, format: 'wav' }, 'program_audio');
|
|
4027
|
+
return { file: saved.filePath };
|
|
4028
|
+
}
|
|
4029
|
+
catch (e) {
|
|
4030
|
+
return { reason: e instanceof Error ? e.message : String(e) };
|
|
4031
|
+
}
|
|
4032
|
+
},
|
|
4033
|
+
});
|
|
4034
|
+
}
|
|
4035
|
+
}
|
|
3977
4036
|
const code = codeGenerator.generateAgentExport(input);
|
|
3978
4037
|
const description = `Smart export for ${input.platform} as ${input.format || 'auto'}`;
|
|
3979
4038
|
// In code mode, return generated code as usual
|