@pinepaper.studio/mcp-server 1.6.22 → 1.6.24
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 +1 -1
- package/README.es.md +1 -1
- package/README.fr.md +1 -1
- package/README.hi.md +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +115 -5
- package/README.pt-BR.md +1 -1
- package/README.zh-CN.md +1 -1
- package/SECURITY.md +46 -0
- package/dist/agent/types.d.ts +114 -106
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/browser/puppeteer-controller.js +2 -2
- package/dist/browser/puppeteer-controller.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/design/design-systems.d.ts +50 -0
- package/dist/design/design-systems.d.ts.map +1 -1
- package/dist/design/design-systems.js +220 -35
- package/dist/design/design-systems.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/ontology/hints.d.ts.map +1 -1
- package/dist/ontology/hints.js +5 -1
- 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 +1 -0
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/tools/batch-macros.d.ts +27 -0
- package/dist/tools/batch-macros.d.ts.map +1 -0
- package/dist/tools/batch-macros.js +157 -0
- package/dist/tools/batch-macros.js.map +1 -0
- package/dist/tools/choreograph.d.ts +4 -0
- package/dist/tools/choreograph.d.ts.map +1 -1
- package/dist/tools/choreograph.js +12 -2
- package/dist/tools/choreograph.js.map +1 -1
- package/dist/tools/compact-descriptions.js +3 -3
- package/dist/tools/compact-descriptions.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +122 -15
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/engine-lists.d.ts +2 -2
- package/dist/tools/engine-lists.js +2 -2
- package/dist/tools/engine-methods.d.ts.map +1 -1
- package/dist/tools/engine-methods.js +3 -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 +52 -6
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/export-file-check.d.ts +31 -0
- package/dist/tools/export-file-check.d.ts.map +1 -0
- package/dist/tools/export-file-check.js +103 -0
- package/dist/tools/export-file-check.js.map +1 -0
- package/dist/tools/export-file-receipt.d.ts +56 -0
- package/dist/tools/export-file-receipt.d.ts.map +1 -0
- package/dist/tools/export-file-receipt.js +151 -0
- package/dist/tools/export-file-receipt.js.map +1 -0
- package/dist/tools/handlers/beats.d.ts +7 -44
- package/dist/tools/handlers/beats.d.ts.map +1 -1
- package/dist/tools/handlers/export.d.ts.map +1 -1
- package/dist/tools/handlers/export.js +31 -6
- package/dist/tools/handlers/export.js.map +1 -1
- package/dist/tools/handlers/generate.d.ts +41 -270
- package/dist/tools/handlers/generate.d.ts.map +1 -1
- package/dist/tools/handlers.d.ts +84 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +389 -82
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/lane.d.ts +34 -0
- package/dist/tools/lane.d.ts.map +1 -0
- package/dist/tools/lane.js +210 -0
- package/dist/tools/lane.js.map +1 -0
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +3 -2
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/nested-ignored.d.ts +16 -0
- package/dist/tools/nested-ignored.d.ts.map +1 -0
- package/dist/tools/nested-ignored.js +83 -0
- package/dist/tools/nested-ignored.js.map +1 -0
- package/dist/tools/shape-params.d.ts +2 -2
- package/dist/tools/shape-params.d.ts.map +1 -1
- package/dist/tools/shape-params.js +9 -2
- package/dist/tools/shape-params.js.map +1 -1
- package/dist/tools/stick-vocabulary.d.ts +4 -4
- package/dist/tools/stick-vocabulary.d.ts.map +1 -1
- package/dist/tools/stick-vocabulary.js +8 -4
- package/dist/tools/stick-vocabulary.js.map +1 -1
- package/dist/tools/timeline.d.ts +136 -0
- package/dist/tools/timeline.d.ts.map +1 -0
- package/dist/tools/timeline.js +1036 -0
- package/dist/tools/timeline.js.map +1 -0
- package/dist/tools/toolkits.d.ts +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +12 -2
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +66 -3
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +629 -96
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +5278 -24999
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +93 -40
- package/dist/types/schemas.js.map +1 -1
- package/manifest.json +5 -1
- package/package.json +8 -7
|
@@ -9,56 +9,19 @@
|
|
|
9
9
|
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
import { type HandlerOptions } from '../handlers.js';
|
|
12
|
-
export declare const BeatCutsArgsSchema: z.
|
|
12
|
+
export declare const BeatCutsArgsSchema: z.ZodObject<{
|
|
13
13
|
source: z.ZodOptional<z.ZodString>;
|
|
14
|
-
beats: z.ZodOptional<z.ZodArray<z.ZodNumber
|
|
14
|
+
beats: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
15
15
|
bpm: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
bpmHint: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
17
|
-
every: z.ZodOptional<z.ZodUnion<[z.ZodEnum<
|
|
17
|
+
every: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
18
|
+
bar: "bar";
|
|
19
|
+
beat: "beat";
|
|
20
|
+
}>, z.ZodNumber]>>;
|
|
18
21
|
beatsPerBar: z.ZodOptional<z.ZodNumber>;
|
|
19
22
|
range: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
20
23
|
clipId: z.ZodOptional<z.ZodString>;
|
|
21
24
|
includeOnsets: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
-
},
|
|
23
|
-
every?: number | "bar" | "beat" | undefined;
|
|
24
|
-
source?: string | undefined;
|
|
25
|
-
beats?: number[] | undefined;
|
|
26
|
-
range?: [number, number] | undefined;
|
|
27
|
-
bpm?: number | undefined;
|
|
28
|
-
bpmHint?: [number, number] | undefined;
|
|
29
|
-
includeOnsets?: boolean | undefined;
|
|
30
|
-
beatsPerBar?: number | undefined;
|
|
31
|
-
clipId?: string | undefined;
|
|
32
|
-
}, {
|
|
33
|
-
every?: number | "bar" | "beat" | undefined;
|
|
34
|
-
source?: string | undefined;
|
|
35
|
-
beats?: number[] | undefined;
|
|
36
|
-
range?: [number, number] | undefined;
|
|
37
|
-
bpm?: number | undefined;
|
|
38
|
-
bpmHint?: [number, number] | undefined;
|
|
39
|
-
includeOnsets?: boolean | undefined;
|
|
40
|
-
beatsPerBar?: number | undefined;
|
|
41
|
-
clipId?: string | undefined;
|
|
42
|
-
}>, {
|
|
43
|
-
every?: number | "bar" | "beat" | undefined;
|
|
44
|
-
source?: string | undefined;
|
|
45
|
-
beats?: number[] | undefined;
|
|
46
|
-
range?: [number, number] | undefined;
|
|
47
|
-
bpm?: number | undefined;
|
|
48
|
-
bpmHint?: [number, number] | undefined;
|
|
49
|
-
includeOnsets?: boolean | undefined;
|
|
50
|
-
beatsPerBar?: number | undefined;
|
|
51
|
-
clipId?: string | undefined;
|
|
52
|
-
}, {
|
|
53
|
-
every?: number | "bar" | "beat" | undefined;
|
|
54
|
-
source?: string | undefined;
|
|
55
|
-
beats?: number[] | undefined;
|
|
56
|
-
range?: [number, number] | undefined;
|
|
57
|
-
bpm?: number | undefined;
|
|
58
|
-
bpmHint?: [number, number] | undefined;
|
|
59
|
-
includeOnsets?: boolean | undefined;
|
|
60
|
-
beatsPerBar?: number | undefined;
|
|
61
|
-
clipId?: string | undefined;
|
|
62
|
-
}>;
|
|
25
|
+
}, z.core.$strip>;
|
|
63
26
|
export declare const beatHandlers: Record<string, (args: Record<string, unknown>, options: HandlerOptions) => Promise<CallToolResult>>;
|
|
64
27
|
//# sourceMappingURL=beats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beats.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/beats.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIpG,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"beats.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/beats.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIpG,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAU2F,CAAC;AAO3H,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CA2D5H,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,oCAAoC,CAAC;
|
|
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,oCAAoC,CAAC;AAKzE,OAAO,EAA4E,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAU/H,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,CAwGxD,CAAC"}
|
|
@@ -6,12 +6,15 @@
|
|
|
6
6
|
* part of this module (agent-export still in the main switch).
|
|
7
7
|
*/
|
|
8
8
|
import { readFile, writeFile, mkdir, stat } from 'node:fs/promises';
|
|
9
|
-
import { join
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
import { confineAssetPath } from '../../utils/asset-paths.js';
|
|
10
12
|
import { executeOrGenerate, getLocalizedSuccessMessage, getExportDir, errorResult } from '../handlers.js';
|
|
11
13
|
import { codeGenerator } from '../../types/code-generator.js';
|
|
12
14
|
import { ExportTrainingDataInputSchema, ExportSceneInputSchema, ImportSceneInputSchema, ErrorCodes } from '../../types/schemas.js';
|
|
13
15
|
import { getBrowserController } from '../../browser/puppeteer-controller.js';
|
|
14
16
|
import { getExecutionMode } from '../handlers.js';
|
|
17
|
+
import { ExportStepError, errorText, verifySavedFile, writeStep } from '../export-file-check.js';
|
|
15
18
|
/** A project document over this size is refused on import rather than staged. */
|
|
16
19
|
const MAX_PROJECT_BYTES = 200 * 1024 * 1024;
|
|
17
20
|
export const exportHandlers = {
|
|
@@ -54,13 +57,21 @@ export const exportHandlers = {
|
|
|
54
57
|
}
|
|
55
58
|
const run = await controller.executeCode(code, false, { governorTimeoutMs: 120_000 });
|
|
56
59
|
const v = (run.result ?? {});
|
|
57
|
-
if (!run.success || v.success === false || typeof v.json !== 'string') {
|
|
58
|
-
|
|
60
|
+
if (!run.success || v.success === false || typeof v.json !== 'string' || v.json.length === 0) {
|
|
61
|
+
const why = run.error || v.error || (typeof v.json === 'string' ? 'the studio returned an empty project document' : 'the project document could not be captured');
|
|
62
|
+
return errorResult(ErrorCodes.EXECUTION_ERROR, `export failed at the export step: ${why}`, { code, step: 'export', path: null, reason: why }, { toolName: 'pinepaper_export_scene' });
|
|
59
63
|
}
|
|
60
64
|
const dir = getExportDir();
|
|
61
|
-
await mkdir(dir, { recursive: true });
|
|
62
65
|
const filePath = join(dir, `pinepaper_project_${Date.now()}.json`);
|
|
63
|
-
|
|
66
|
+
// No "Project saved" without a file that exists and holds the document.
|
|
67
|
+
try {
|
|
68
|
+
await writeStep(filePath, async () => { await mkdir(dir, { recursive: true }); await writeFile(filePath, v.json, 'utf-8'); });
|
|
69
|
+
await verifySavedFile(filePath, Buffer.byteLength(v.json));
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
const err = e instanceof ExportStepError ? e : new ExportStepError('write', filePath, errorText(e, 'the file could not be written'));
|
|
73
|
+
return errorResult(ErrorCodes.EXECUTION_ERROR, err.message, err.toData(), { toolName: 'pinepaper_export_scene' });
|
|
74
|
+
}
|
|
64
75
|
const lost = Array.isArray(v.unserialized) ? v.unserialized : [];
|
|
65
76
|
const result = {
|
|
66
77
|
success: true, filePath, bytes: Buffer.byteLength(v.json), counts: v.counts, restore: `pinepaper_import_scene { path: "${filePath}" }`,
|
|
@@ -73,7 +84,21 @@ export const exportHandlers = {
|
|
|
73
84
|
},
|
|
74
85
|
pinepaper_import_scene: async (args, options) => {
|
|
75
86
|
const input = ImportSceneInputSchema.parse(args);
|
|
76
|
-
|
|
87
|
+
// Confined like image and media imports (CWE-22): this read had no bound,
|
|
88
|
+
// and although it never returns the file, its size and not-found errors
|
|
89
|
+
// said whether any path existed and how big it was. The export folder is
|
|
90
|
+
// allowed, so the restore hint export_scene returns keeps working.
|
|
91
|
+
let asked;
|
|
92
|
+
try {
|
|
93
|
+
asked = /^file:\/\//i.test(input.path) ? fileURLToPath(input.path) : input.path;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
return errorResult(ErrorCodes.INVALID_PARAMS, `"${input.path}" is not a valid file:// URL.`, {}, { toolName: 'pinepaper_import_scene' });
|
|
97
|
+
}
|
|
98
|
+
const confined = await confineAssetPath(asked);
|
|
99
|
+
if ('error' in confined)
|
|
100
|
+
return errorResult(ErrorCodes.INVALID_PARAMS, confined.error, {}, { toolName: 'pinepaper_import_scene' });
|
|
101
|
+
const path = confined.path;
|
|
77
102
|
let text;
|
|
78
103
|
try {
|
|
79
104
|
const st = await stat(path);
|
|
@@ -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,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/tools/handlers/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,306 +14,77 @@
|
|
|
14
14
|
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
15
15
|
import { z } from 'zod';
|
|
16
16
|
import { type HandlerOptions } from '../handlers.js';
|
|
17
|
-
export declare const GenerateEstimateArgsSchema: z.
|
|
17
|
+
export declare const GenerateEstimateArgsSchema: z.ZodObject<{
|
|
18
18
|
model: z.ZodOptional<z.ZodString>;
|
|
19
19
|
useCase: z.ZodOptional<z.ZodString>;
|
|
20
20
|
input: z.ZodOptional<z.ZodObject<{
|
|
21
21
|
prompt: z.ZodString;
|
|
22
|
-
aspect: z.ZodOptional<z.ZodEnum<
|
|
22
|
+
aspect: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
"1:1": "1:1";
|
|
24
|
+
"16:9": "16:9";
|
|
25
|
+
"9:16": "9:16";
|
|
26
|
+
"4:5": "4:5";
|
|
27
|
+
}>>;
|
|
23
28
|
n: z.ZodOptional<z.ZodNumber>;
|
|
24
29
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
25
30
|
negativePrompt: z.ZodOptional<z.ZodString>;
|
|
26
|
-
imageUrls: z.ZodOptional<z.ZodArray<z.
|
|
31
|
+
imageUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
32
|
seconds: z.ZodOptional<z.ZodNumber>;
|
|
28
33
|
text: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
29
34
|
content: z.ZodString;
|
|
30
|
-
role: z.ZodOptional<z.ZodEnum<
|
|
35
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
36
|
+
label: "label";
|
|
37
|
+
headline: "headline";
|
|
38
|
+
cta: "cta";
|
|
39
|
+
subhead: "subhead";
|
|
40
|
+
caption: "caption";
|
|
41
|
+
}>>;
|
|
31
42
|
font: z.ZodOptional<z.ZodString>;
|
|
32
|
-
},
|
|
33
|
-
content: string;
|
|
34
|
-
font?: string | undefined;
|
|
35
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
36
|
-
}, {
|
|
37
|
-
content: string;
|
|
38
|
-
font?: string | undefined;
|
|
39
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
40
|
-
}>, "many">>;
|
|
43
|
+
}, z.core.$strip>>>;
|
|
41
44
|
allowText: z.ZodOptional<z.ZodBoolean>;
|
|
42
|
-
},
|
|
43
|
-
prompt: string;
|
|
44
|
-
text?: {
|
|
45
|
-
content: string;
|
|
46
|
-
font?: string | undefined;
|
|
47
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
48
|
-
}[] | undefined;
|
|
49
|
-
seed?: number | undefined;
|
|
50
|
-
seconds?: number | undefined;
|
|
51
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
52
|
-
n?: number | undefined;
|
|
53
|
-
negativePrompt?: string | undefined;
|
|
54
|
-
imageUrls?: string[] | undefined;
|
|
55
|
-
allowText?: boolean | undefined;
|
|
56
|
-
}, {
|
|
57
|
-
prompt: string;
|
|
58
|
-
text?: {
|
|
59
|
-
content: string;
|
|
60
|
-
font?: string | undefined;
|
|
61
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
62
|
-
}[] | undefined;
|
|
63
|
-
seed?: number | undefined;
|
|
64
|
-
seconds?: number | undefined;
|
|
65
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
66
|
-
n?: number | undefined;
|
|
67
|
-
negativePrompt?: string | undefined;
|
|
68
|
-
imageUrls?: string[] | undefined;
|
|
69
|
-
allowText?: boolean | undefined;
|
|
70
|
-
}>>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
71
46
|
listModels: z.ZodOptional<z.ZodBoolean>;
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
prompt: string;
|
|
75
|
-
text?: {
|
|
76
|
-
content: string;
|
|
77
|
-
font?: string | undefined;
|
|
78
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
79
|
-
}[] | undefined;
|
|
80
|
-
seed?: number | undefined;
|
|
81
|
-
seconds?: number | undefined;
|
|
82
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
83
|
-
n?: number | undefined;
|
|
84
|
-
negativePrompt?: string | undefined;
|
|
85
|
-
imageUrls?: string[] | undefined;
|
|
86
|
-
allowText?: boolean | undefined;
|
|
87
|
-
} | undefined;
|
|
88
|
-
model?: string | undefined;
|
|
89
|
-
useCase?: string | undefined;
|
|
90
|
-
listModels?: boolean | undefined;
|
|
91
|
-
}, {
|
|
92
|
-
input?: {
|
|
93
|
-
prompt: string;
|
|
94
|
-
text?: {
|
|
95
|
-
content: string;
|
|
96
|
-
font?: string | undefined;
|
|
97
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
98
|
-
}[] | undefined;
|
|
99
|
-
seed?: number | undefined;
|
|
100
|
-
seconds?: number | undefined;
|
|
101
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
102
|
-
n?: number | undefined;
|
|
103
|
-
negativePrompt?: string | undefined;
|
|
104
|
-
imageUrls?: string[] | undefined;
|
|
105
|
-
allowText?: boolean | undefined;
|
|
106
|
-
} | undefined;
|
|
107
|
-
model?: string | undefined;
|
|
108
|
-
useCase?: string | undefined;
|
|
109
|
-
listModels?: boolean | undefined;
|
|
110
|
-
}>, {
|
|
111
|
-
input?: {
|
|
112
|
-
prompt: string;
|
|
113
|
-
text?: {
|
|
114
|
-
content: string;
|
|
115
|
-
font?: string | undefined;
|
|
116
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
117
|
-
}[] | undefined;
|
|
118
|
-
seed?: number | undefined;
|
|
119
|
-
seconds?: number | undefined;
|
|
120
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
121
|
-
n?: number | undefined;
|
|
122
|
-
negativePrompt?: string | undefined;
|
|
123
|
-
imageUrls?: string[] | undefined;
|
|
124
|
-
allowText?: boolean | undefined;
|
|
125
|
-
} | undefined;
|
|
126
|
-
model?: string | undefined;
|
|
127
|
-
useCase?: string | undefined;
|
|
128
|
-
listModels?: boolean | undefined;
|
|
129
|
-
}, {
|
|
130
|
-
input?: {
|
|
131
|
-
prompt: string;
|
|
132
|
-
text?: {
|
|
133
|
-
content: string;
|
|
134
|
-
font?: string | undefined;
|
|
135
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
136
|
-
}[] | undefined;
|
|
137
|
-
seed?: number | undefined;
|
|
138
|
-
seconds?: number | undefined;
|
|
139
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
140
|
-
n?: number | undefined;
|
|
141
|
-
negativePrompt?: string | undefined;
|
|
142
|
-
imageUrls?: string[] | undefined;
|
|
143
|
-
allowText?: boolean | undefined;
|
|
144
|
-
} | undefined;
|
|
145
|
-
model?: string | undefined;
|
|
146
|
-
useCase?: string | undefined;
|
|
147
|
-
listModels?: boolean | undefined;
|
|
148
|
-
}>;
|
|
149
|
-
export declare const GenerateArgsSchema: z.ZodEffects<z.ZodObject<{
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export declare const GenerateArgsSchema: z.ZodObject<{
|
|
150
49
|
model: z.ZodOptional<z.ZodString>;
|
|
151
50
|
useCase: z.ZodOptional<z.ZodString>;
|
|
152
51
|
input: z.ZodObject<{
|
|
153
52
|
prompt: z.ZodString;
|
|
154
|
-
aspect: z.ZodOptional<z.ZodEnum<
|
|
53
|
+
aspect: z.ZodOptional<z.ZodEnum<{
|
|
54
|
+
"1:1": "1:1";
|
|
55
|
+
"16:9": "16:9";
|
|
56
|
+
"9:16": "9:16";
|
|
57
|
+
"4:5": "4:5";
|
|
58
|
+
}>>;
|
|
155
59
|
n: z.ZodOptional<z.ZodNumber>;
|
|
156
60
|
seed: z.ZodOptional<z.ZodNumber>;
|
|
157
61
|
negativePrompt: z.ZodOptional<z.ZodString>;
|
|
158
|
-
imageUrls: z.ZodOptional<z.ZodArray<z.
|
|
62
|
+
imageUrls: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
159
63
|
seconds: z.ZodOptional<z.ZodNumber>;
|
|
160
64
|
text: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
161
65
|
content: z.ZodString;
|
|
162
|
-
role: z.ZodOptional<z.ZodEnum<
|
|
66
|
+
role: z.ZodOptional<z.ZodEnum<{
|
|
67
|
+
label: "label";
|
|
68
|
+
headline: "headline";
|
|
69
|
+
cta: "cta";
|
|
70
|
+
subhead: "subhead";
|
|
71
|
+
caption: "caption";
|
|
72
|
+
}>>;
|
|
163
73
|
font: z.ZodOptional<z.ZodString>;
|
|
164
|
-
},
|
|
165
|
-
content: string;
|
|
166
|
-
font?: string | undefined;
|
|
167
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
168
|
-
}, {
|
|
169
|
-
content: string;
|
|
170
|
-
font?: string | undefined;
|
|
171
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
172
|
-
}>, "many">>;
|
|
74
|
+
}, z.core.$strip>>>;
|
|
173
75
|
allowText: z.ZodOptional<z.ZodBoolean>;
|
|
174
|
-
},
|
|
175
|
-
prompt: string;
|
|
176
|
-
text?: {
|
|
177
|
-
content: string;
|
|
178
|
-
font?: string | undefined;
|
|
179
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
180
|
-
}[] | undefined;
|
|
181
|
-
seed?: number | undefined;
|
|
182
|
-
seconds?: number | undefined;
|
|
183
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
184
|
-
n?: number | undefined;
|
|
185
|
-
negativePrompt?: string | undefined;
|
|
186
|
-
imageUrls?: string[] | undefined;
|
|
187
|
-
allowText?: boolean | undefined;
|
|
188
|
-
}, {
|
|
189
|
-
prompt: string;
|
|
190
|
-
text?: {
|
|
191
|
-
content: string;
|
|
192
|
-
font?: string | undefined;
|
|
193
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
194
|
-
}[] | undefined;
|
|
195
|
-
seed?: number | undefined;
|
|
196
|
-
seconds?: number | undefined;
|
|
197
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
198
|
-
n?: number | undefined;
|
|
199
|
-
negativePrompt?: string | undefined;
|
|
200
|
-
imageUrls?: string[] | undefined;
|
|
201
|
-
allowText?: boolean | undefined;
|
|
202
|
-
}>;
|
|
76
|
+
}, z.core.$strip>;
|
|
203
77
|
brief: z.ZodOptional<z.ZodString>;
|
|
204
78
|
designRef: z.ZodOptional<z.ZodObject<{
|
|
205
79
|
kind: z.ZodString;
|
|
206
80
|
id: z.ZodString;
|
|
207
|
-
},
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
kind: string;
|
|
213
|
-
}>>;
|
|
214
|
-
place: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["cover", "contain"]>]>>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
place: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodEnum<{
|
|
83
|
+
contain: "contain";
|
|
84
|
+
cover: "cover";
|
|
85
|
+
}>]>>;
|
|
215
86
|
timeoutSec: z.ZodOptional<z.ZodNumber>;
|
|
216
|
-
},
|
|
217
|
-
input: {
|
|
218
|
-
prompt: string;
|
|
219
|
-
text?: {
|
|
220
|
-
content: string;
|
|
221
|
-
font?: string | undefined;
|
|
222
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
223
|
-
}[] | undefined;
|
|
224
|
-
seed?: number | undefined;
|
|
225
|
-
seconds?: number | undefined;
|
|
226
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
227
|
-
n?: number | undefined;
|
|
228
|
-
negativePrompt?: string | undefined;
|
|
229
|
-
imageUrls?: string[] | undefined;
|
|
230
|
-
allowText?: boolean | undefined;
|
|
231
|
-
};
|
|
232
|
-
place?: boolean | "contain" | "cover" | undefined;
|
|
233
|
-
model?: string | undefined;
|
|
234
|
-
useCase?: string | undefined;
|
|
235
|
-
brief?: string | undefined;
|
|
236
|
-
designRef?: {
|
|
237
|
-
id: string;
|
|
238
|
-
kind: string;
|
|
239
|
-
} | undefined;
|
|
240
|
-
timeoutSec?: number | undefined;
|
|
241
|
-
}, {
|
|
242
|
-
input: {
|
|
243
|
-
prompt: string;
|
|
244
|
-
text?: {
|
|
245
|
-
content: string;
|
|
246
|
-
font?: string | undefined;
|
|
247
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
248
|
-
}[] | undefined;
|
|
249
|
-
seed?: number | undefined;
|
|
250
|
-
seconds?: number | undefined;
|
|
251
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
252
|
-
n?: number | undefined;
|
|
253
|
-
negativePrompt?: string | undefined;
|
|
254
|
-
imageUrls?: string[] | undefined;
|
|
255
|
-
allowText?: boolean | undefined;
|
|
256
|
-
};
|
|
257
|
-
place?: boolean | "contain" | "cover" | undefined;
|
|
258
|
-
model?: string | undefined;
|
|
259
|
-
useCase?: string | undefined;
|
|
260
|
-
brief?: string | undefined;
|
|
261
|
-
designRef?: {
|
|
262
|
-
id: string;
|
|
263
|
-
kind: string;
|
|
264
|
-
} | undefined;
|
|
265
|
-
timeoutSec?: number | undefined;
|
|
266
|
-
}>, {
|
|
267
|
-
input: {
|
|
268
|
-
prompt: string;
|
|
269
|
-
text?: {
|
|
270
|
-
content: string;
|
|
271
|
-
font?: string | undefined;
|
|
272
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
273
|
-
}[] | undefined;
|
|
274
|
-
seed?: number | undefined;
|
|
275
|
-
seconds?: number | undefined;
|
|
276
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
277
|
-
n?: number | undefined;
|
|
278
|
-
negativePrompt?: string | undefined;
|
|
279
|
-
imageUrls?: string[] | undefined;
|
|
280
|
-
allowText?: boolean | undefined;
|
|
281
|
-
};
|
|
282
|
-
place?: boolean | "contain" | "cover" | undefined;
|
|
283
|
-
model?: string | undefined;
|
|
284
|
-
useCase?: string | undefined;
|
|
285
|
-
brief?: string | undefined;
|
|
286
|
-
designRef?: {
|
|
287
|
-
id: string;
|
|
288
|
-
kind: string;
|
|
289
|
-
} | undefined;
|
|
290
|
-
timeoutSec?: number | undefined;
|
|
291
|
-
}, {
|
|
292
|
-
input: {
|
|
293
|
-
prompt: string;
|
|
294
|
-
text?: {
|
|
295
|
-
content: string;
|
|
296
|
-
font?: string | undefined;
|
|
297
|
-
role?: "label" | "headline" | "cta" | "subhead" | "caption" | undefined;
|
|
298
|
-
}[] | undefined;
|
|
299
|
-
seed?: number | undefined;
|
|
300
|
-
seconds?: number | undefined;
|
|
301
|
-
aspect?: "1:1" | "16:9" | "9:16" | "4:5" | undefined;
|
|
302
|
-
n?: number | undefined;
|
|
303
|
-
negativePrompt?: string | undefined;
|
|
304
|
-
imageUrls?: string[] | undefined;
|
|
305
|
-
allowText?: boolean | undefined;
|
|
306
|
-
};
|
|
307
|
-
place?: boolean | "contain" | "cover" | undefined;
|
|
308
|
-
model?: string | undefined;
|
|
309
|
-
useCase?: string | undefined;
|
|
310
|
-
brief?: string | undefined;
|
|
311
|
-
designRef?: {
|
|
312
|
-
id: string;
|
|
313
|
-
kind: string;
|
|
314
|
-
} | undefined;
|
|
315
|
-
timeoutSec?: number | undefined;
|
|
316
|
-
}>;
|
|
87
|
+
}, z.core.$strip>;
|
|
317
88
|
/** Injectable for tests: the network and the clock. */
|
|
318
89
|
export declare const generateDeps: {
|
|
319
90
|
fetch: (url: string, init?: RequestInit) => Promise<Response>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA6BlF,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA6BlF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKyI,CAAC;AAEjL,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQkG,CAAC;AAElI,uDAAuD;AACvD,eAAO,MAAM,YAAY;iBACV,MAAM,SAAS,WAAW;gBAC3B,MAAM;;CAEnB,CAAC;AAoGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAqGhI,CAAC"}
|
package/dist/tools/handlers.d.ts
CHANGED
|
@@ -71,6 +71,8 @@ export interface HandlerOptions {
|
|
|
71
71
|
executionMode?: ExecutionMode;
|
|
72
72
|
/** agent_export: write the result to a file at any size (render_batch needs a file per row). */
|
|
73
73
|
saveToFile?: boolean;
|
|
74
|
+
/** Internal: an atomic batch removes the items it created when it fails (see customCodeRollback). */
|
|
75
|
+
rollbackCreatedOnFailure?: boolean;
|
|
74
76
|
/**
|
|
75
77
|
* The HOST runs the generated code later (the hosted service records each
|
|
76
78
|
* call and replays it when the scene renders). The agent is then told the
|
|
@@ -94,6 +96,48 @@ export declare const CODE_META_KEY = "pinepaper.studio/code";
|
|
|
94
96
|
export declare const TIMING_META_KEY = "pinepaper.studio/timing";
|
|
95
97
|
export declare const EFFECT_META_KEY = "pinepaper.studio/effect";
|
|
96
98
|
export declare function withTiming(out: CallToolResult, t: Record<string, number>): CallToolResult;
|
|
99
|
+
export declare const RECEIPTS_META_KEY = "pinepaper.studio/receipts";
|
|
100
|
+
/** The engine run's receipts (report.receipts: { calls, byDoor, notes }), when any call has something to say. */
|
|
101
|
+
export declare function engineReceipts(report: Record<string, unknown> | undefined | null): {
|
|
102
|
+
calls: number;
|
|
103
|
+
byDoor: Record<string, number>;
|
|
104
|
+
notes: unknown[];
|
|
105
|
+
} | null;
|
|
106
|
+
/**
|
|
107
|
+
* agent_export answered from the export's own result and never read the run's report (AR-1 R2): an export's engine
|
|
108
|
+
* warnings and receipts are now on the reply like every other tool's — a text line an agent reads, and _meta.
|
|
109
|
+
*/
|
|
110
|
+
export declare function withEngineReport(result: CallToolResult, report: Record<string, unknown> | undefined | null): CallToolResult;
|
|
111
|
+
/**
|
|
112
|
+
* The studio's scene-lint warnings on an export (FxTool lintScene), one line each, so a centred title that runs
|
|
113
|
+
* out of the frame ("IGNAL" for "SIGNAL") is read on the success path rather than left in the JSON. Empty when none.
|
|
114
|
+
*/
|
|
115
|
+
export declare function lintLines(exportResult: unknown): string;
|
|
116
|
+
/**
|
|
117
|
+
* The file as ffprobe read it, when it disagrees with what the studio encoded: one line per field. A summary
|
|
118
|
+
* line when they agree; nothing when there is no summary.
|
|
119
|
+
*/
|
|
120
|
+
export declare function probeLines(receipt: {
|
|
121
|
+
probe?: {
|
|
122
|
+
container: string;
|
|
123
|
+
codec: string;
|
|
124
|
+
width: number;
|
|
125
|
+
height: number;
|
|
126
|
+
fps: number | null;
|
|
127
|
+
durationS: number;
|
|
128
|
+
frames: number;
|
|
129
|
+
};
|
|
130
|
+
probeCheck?: {
|
|
131
|
+
tool: string | null;
|
|
132
|
+
ok?: boolean;
|
|
133
|
+
mismatches?: Array<{
|
|
134
|
+
field: string;
|
|
135
|
+
studio: unknown;
|
|
136
|
+
file: unknown;
|
|
137
|
+
}>;
|
|
138
|
+
reason?: string;
|
|
139
|
+
};
|
|
140
|
+
}): string;
|
|
97
141
|
export declare function errorResult(code: string, message: string, rawDetails?: unknown, context?: ErrorContext): CallToolResult;
|
|
98
142
|
type RollbackController = {
|
|
99
143
|
executeCode: (code: string, screenshot?: boolean, opts?: {
|
|
@@ -160,9 +204,48 @@ stage?: Record<string, string>): Promise<CallToolResult>;
|
|
|
160
204
|
* string with no `success: true` beside it is a failure too — it is what the
|
|
161
205
|
* emitters' catch blocks return.
|
|
162
206
|
*/
|
|
207
|
+
/**
|
|
208
|
+
* Move an emitter's out-of-band scene lint (`__ppLint`) off its result, and unwrap execute_custom_code's own value
|
|
209
|
+
* (`__ppValue`). The lint is also put on `run.report.lintWarnings`, where executedResult reads it. Returns the lint.
|
|
210
|
+
*/
|
|
211
|
+
export declare function unwrapLint(run: {
|
|
212
|
+
result?: unknown;
|
|
213
|
+
report?: Record<string, unknown>;
|
|
214
|
+
}): unknown[];
|
|
215
|
+
/**
|
|
216
|
+
* Every failed step of a call as `{ step, itemId, reason }`, never a bare message: a batch's own `failures`, a
|
|
217
|
+
* result that names its step, or the call itself with the item it named.
|
|
218
|
+
*/
|
|
219
|
+
export declare function stepFailures(toolName: string, value: unknown, message: string): Array<{
|
|
220
|
+
step: string;
|
|
221
|
+
itemId: string | null;
|
|
222
|
+
reason: string;
|
|
223
|
+
}>;
|
|
163
224
|
export declare function innerFailure(value: unknown): string | null;
|
|
164
225
|
export declare function getLocalizedSuccessMessage(i18n: I18nManager | undefined, key: string, params: Record<string, string | number>): string;
|
|
165
|
-
|
|
226
|
+
/**
|
|
227
|
+
* Keys a handler accepts that its published schema does not list. Shrink-only:
|
|
228
|
+
* publishing one (or dropping it from the handler) means deleting it here.
|
|
229
|
+
*/
|
|
230
|
+
export declare const HIDDEN_ARGUMENTS: Readonly<Record<string, readonly string[]>>;
|
|
231
|
+
/**
|
|
232
|
+
* Nested keys (paths with [] for any array index) a handler accepts that its published schema closes over without
|
|
233
|
+
* listing. Shrink-only, held exact by nested-ignored-coverage.test.ts; publishing one means deleting it here.
|
|
234
|
+
*/
|
|
235
|
+
export declare const NESTED_HIDDEN: Readonly<Record<string, readonly string[]>>;
|
|
236
|
+
/** Tools whose schema passes every key through: nothing is dropped. */
|
|
237
|
+
export declare const PASSTHROUGH_ARGUMENT_TOOLS: ReadonlySet<string>;
|
|
238
|
+
/** Each tool's published top-level keys; null when its schema allows any key. */
|
|
239
|
+
export declare function publishedArguments(toolName: string): Promise<Set<string> | null | undefined>;
|
|
240
|
+
/** The top-level keys of `args` the tool does not read. */
|
|
241
|
+
export declare function ignoredArgumentKeys(toolName: string, args: Record<string, unknown>, published?: Set<string> | null): string[];
|
|
242
|
+
export declare function ignoredArgumentsNote(toolName: string, args: Record<string, unknown>, published?: Set<string> | null): string | null;
|
|
243
|
+
/** The same check, against the tool's published schema, and below the top level (AR-1 R2: nested-ignored.ts). */
|
|
244
|
+
export declare function ignoredArgumentsNoteFor(toolName: string, args: Record<string, unknown>): Promise<{
|
|
245
|
+
note: string;
|
|
246
|
+
ignored: string[];
|
|
247
|
+
} | null>;
|
|
248
|
+
export declare const IGNORED_ARGUMENTS_META_KEY = "pinepaper.studio/ignoredArguments";
|
|
166
249
|
export declare function handleToolCall(toolName: string, args: Record<string, unknown>, options?: HandlerOptions): Promise<CallToolResult>;
|
|
167
250
|
export {};
|
|
168
251
|
//# sourceMappingURL=handlers.d.ts.map
|