@pinepaper.studio/mcp-server 1.6.9 → 1.6.10

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine-surface.js","sourceRoot":"","sources":["../../src/tools/engine-surface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/font.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrF,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AA2H7B,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAEpD,CAAC"}
1
+ {"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/font.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrF,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AA+L7B,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAEpD,CAAC"}
@@ -10,25 +10,78 @@ import { ErrorCodes } from '../../types/schemas.js';
10
10
  async function dispatchFontAction(args, options) {
11
11
  const action = args.action;
12
12
  switch (action) {
13
+ case 'check': {
14
+ const { name, text } = args;
15
+ if (typeof name !== 'string' || !name) {
16
+ return errorResult(ErrorCodes.INVALID_INPUT, 'font check requires { name } — the font family to test.');
17
+ }
18
+ // INSTALLED and CAN-DRAW-MY-STRING are different answers, and the second
19
+ // is the one that decides the pixels. A font with four glyphs is present
20
+ // and will still render most text in the fallback face — which is the
21
+ // shape Font Studio produces, and the shape a naive probe gets wrong.
22
+ const code = `(function() {
23
+ if (typeof app.checkFont !== 'function') {
24
+ return { success: false, error: 'app.checkFont unavailable — update the studio. document.fonts.check() is not a substitute: it returns true for a family that does not exist.' };
25
+ }
26
+ const r = app.checkFont(${JSON.stringify(name)}${text !== undefined ? `, ${JSON.stringify(text)}` : ''});
27
+ return { success: true, ...r };
28
+ })();`;
29
+ return executeOrGenerate(code, `Check font "${name}"${text ? ' against the given text' : ''}`, options, 'pinepaper_font');
30
+ }
31
+ case 'fallbacks': {
32
+ // Which text items are SILENTLY drawing in something other than what
33
+ // they asked for — the failure nobody notices until the export.
34
+ const code = `(function() {
35
+ if (typeof app.fontFallbacks !== 'function') {
36
+ return { success: false, error: 'app.fontFallbacks unavailable — update the studio.' };
37
+ }
38
+ const items = app.fontFallbacks();
39
+ return { success: true, fallingBack: items, count: Array.isArray(items) ? items.length : 0 };
40
+ })();`;
41
+ return executeOrGenerate(code, 'Find text items rendering in a fallback font', options, 'pinepaper_font');
42
+ }
43
+ case 'list_available': {
44
+ const { category, loadedOnly } = args;
45
+ const opts = {};
46
+ if (category)
47
+ opts.category = category;
48
+ if (loadedOnly)
49
+ opts.loadedOnly = true;
50
+ // Guarded: listFonts is newer than some studios. Everything else in this
51
+ // tool authors a font; this is the one action that answers "what can I
52
+ // already use", which previously had no answer short of reading source.
53
+ const code = `(async function() {
54
+ if (typeof app.listFonts !== 'function') {
55
+ return { success: false, error: 'app.listFonts unavailable — update the studio. Font families can still be SET by name on a text item; this action only lists them.' };
56
+ }
57
+ const r = await app.listFonts(${JSON.stringify(opts)});
58
+ return { success: true, ...r };
59
+ })();`;
60
+ return executeOrGenerate(code, 'List available font families', options, 'pinepaper_font');
61
+ }
13
62
  case 'show_studio': {
14
- const code = `app.fontStudio && app.fontStudio.show ? app.fontStudio.show() : null;`;
15
- return executeOrGenerate(code, 'Opens Font Studio UI', options, 'pinepaper_font');
63
+ // FontStudio has no `show`. The panel is FontStudioUI's, and nothing on
64
+ // the app facade opens it — the old call resolved to null and reported
65
+ // success, so an agent believed it had opened a UI that never appeared.
66
+ return errorResult(ErrorCodes.INVALID_INPUT, 'show_studio cannot be driven from here: opening the Font Studio panel is a UI action with no engine entry point. '
67
+ + 'Every other font action works headlessly — create_glyph, set_name, get_status, export — so build the font through those '
68
+ + 'and open the panel by hand in the studio if you want to look at it.');
16
69
  }
17
70
  case 'set_name': {
18
71
  const { name } = args;
19
72
  if (typeof name !== 'string')
20
73
  return errorResult(ErrorCodes.INVALID_INPUT, 'font set_name requires { name: string }');
21
- const code = `app.fontStudio.setName(${JSON.stringify(name)});`;
74
+ const code = `app.fontStudio.setFontName(${JSON.stringify(name)});`;
22
75
  return executeOrGenerate(code, `Set font name to "${name}"`, options, 'pinepaper_font');
23
76
  }
24
77
  case 'get_required_chars': {
25
78
  const { set } = args;
26
79
  const setArg = set ? JSON.stringify(set) : '"minimum"';
27
- const code = `app.fontStudio.getRequiredChars(${setArg});`;
80
+ const code = `app.fontStudio.getRequiredCharacters(${setArg});`;
28
81
  return executeOrGenerate(code, `Get required characters (${set || 'minimum'} set)`, options, 'pinepaper_font');
29
82
  }
30
83
  case 'get_status': {
31
- const code = `app.fontStudio.getStatus();`;
84
+ const code = `app.fontStudio.getCompletionStatus();`;
32
85
  return executeOrGenerate(code, 'Get font completion status', options, 'pinepaper_font');
33
86
  }
34
87
  case 'create_glyph': {
@@ -36,14 +89,24 @@ async function dispatchFontAction(args, options) {
36
89
  if (typeof character !== 'string' || typeof pathId !== 'string') {
37
90
  return errorResult(ErrorCodes.INVALID_INPUT, 'font create_glyph requires { character, pathId }');
38
91
  }
39
- const code = `app.fontStudio.createGlyph(${JSON.stringify(character)}, ${JSON.stringify(pathId)});`;
92
+ // createGlyph(char, paperPath) wants the PAPER PATH — it clones it and
93
+ // reads .bounds and .curves. This passed the registry id string, so the
94
+ // engine read .curves off a string and built a glyph from nothing.
95
+ const code = `(function() {
96
+ const _item = app.getItemById(${JSON.stringify(pathId)});
97
+ if (!_item) { return { success: false, error: 'no item ${pathId} — create_glyph needs the id of a PATH already on the canvas' }; }
98
+ if (typeof _item.clone !== 'function' || !_item.curves) {
99
+ return { success: false, error: 'item ${pathId} is a ' + (_item.className || 'non-path') + '; create_glyph needs a path. Convert it first, or break a group apart and pass one of its paths.' };
100
+ }
101
+ return app.fontStudio.createGlyph(${JSON.stringify(character)}, _item);
102
+ })();`;
40
103
  return executeOrGenerate(code, `Create glyph for "${character}" from path ${pathId}`, options, 'pinepaper_font');
41
104
  }
42
105
  case 'create_space': {
43
106
  const { width } = args;
44
107
  const code = width !== undefined
45
- ? `app.fontStudio.createSpace(${width});`
46
- : `app.fontStudio.createSpace();`;
108
+ ? `app.fontStudio.createSpaceGlyph(${width});`
109
+ : `app.fontStudio.createSpaceGlyph();`;
47
110
  return executeOrGenerate(code, `Create space glyph${width ? ` (width: ${width})` : ''}`, options, 'pinepaper_font');
48
111
  }
49
112
  case 'remove_glyph': {
@@ -65,9 +128,13 @@ async function dispatchFontAction(args, options) {
65
128
  }
66
129
  case 'export': {
67
130
  const { download } = args;
131
+ // Two methods, not one with a flag: exportAsOTF() builds and RETURNS the
132
+ // font, downloadFont() builds and hands it to the browser. `export()` has
133
+ // never existed on FontStudio, so every export action failed with
134
+ // "Cannot read properties of undefined".
68
135
  const code = download === false
69
- ? `app.fontStudio.export({ download: false });`
70
- : `app.fontStudio.export();`;
136
+ ? `app.fontStudio.exportAsOTF();`
137
+ : `app.fontStudio.downloadFont('otf');`;
71
138
  return executeOrGenerate(code, 'Export font as OTF', options, 'pinepaper_font');
72
139
  }
73
140
  case 'load_into_document': {
@@ -1 +1 @@
1
- {"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/tools/handlers/font.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/tools/handlers/font.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,11 @@ export type ScreenshotMode = 'on_request' | 'always' | 'never';
24
24
  */
25
25
  export declare function getScreenshotMode(): ScreenshotMode;
26
26
  export declare const ALWAYS_SAVE_FORMATS: Set<string>;
27
+ export declare function resolveImageSource(input: string): Promise<{
28
+ src: string;
29
+ } | {
30
+ error: string;
31
+ }>;
27
32
  export declare function getFileExtension(format: string): string;
28
33
  /**
29
34
  * Execution modes for tool behavior.
@@ -70,6 +75,17 @@ export declare function errorResult(code: string, message: string, details?: unk
70
75
  * Default is 'on_request' for optimal performance per best practices.
71
76
  */
72
77
  export declare function executeOrGenerate(code: string, description: string, options: HandlerOptions, toolName: string): Promise<CallToolResult>;
78
+ /**
79
+ * The emitted code's own verdict, when it reported one and it was a failure.
80
+ *
81
+ * Deliberately narrow. `success: false` is the shape this repo's emitters use
82
+ * and the only one treated as a failure — a result merely LACKING `success` is
83
+ * not a failure, because plenty of emitters return a bare value (an id, a
84
+ * count, a list) and reading absence as refusal would turn every one of those
85
+ * into an error. `ok: false` is included because the export-store emitters use
86
+ * it, and it carries a `reason` rather than an `error`.
87
+ */
88
+ export declare function innerFailure(value: unknown): string | null;
73
89
  export declare function getLocalizedSuccessMessage(i18n: I18nManager | undefined, key: string, params: Record<string, string | number>): string;
74
90
  export declare function handleToolCall(toolName: string, args: Record<string, unknown>, options?: HandlerOptions): Promise<CallToolResult>;
75
91
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AA+I/F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAG3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AAgC7F;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAOlD;AAaD,eAAO,MAAM,mBAAmB,aAAgD,CAAC;AAkCjF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAsLD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAuFD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,cAAc,CAwBhB;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAqMzB;AAMD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACtC,MAAM,CASR;AAkFD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/tools/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAgJ/F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAG3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AAgC7F;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAOlD;AAaD,eAAO,MAAM,mBAAmB,aAAgD,CAAC;AAqDjF,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBpG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAsLD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,sEAAsE;IACtE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAsGD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,YAAY,GACrB,cAAc,CAwBhB;AAyBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CA4NzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAS1D;AAMD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACtC,MAAM,CASR;AAkFD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAkBzB"}
@@ -29,9 +29,10 @@ ManageScenesInputSchema, ScenePlaybackInputSchema, SceneGraphInputSchema, Sequen
29
29
  // New consolidated tool schemas
30
30
  SelectionInputSchema, TransformInputSchema, HistoryInputSchema, ImageFilterInputSchema, LassoInputSchema, CutoutStyleInputSchema, PrecompInputSchema, BackgroundInputSchema, QueryInputSchema, QueryCapabilitiesInputSchema, DeformInputSchema, SpriteSheetInputSchema, InteractionInputSchema, ExportWidgetInputSchema, ExportWidgetHtmlInputSchema, CreateChartInputSchema, MagicInputSchema, PhysicsInputSchema, MeasurementInputSchema, ErrorCodes, } from '../types/schemas.js';
31
31
  import { ZodError } from 'zod';
32
- import { writeFile, mkdir, appendFile, unlink } from 'node:fs/promises';
32
+ import { writeFile, mkdir, appendFile, unlink, readFile, stat } from 'node:fs/promises';
33
33
  import { tmpdir } from 'node:os';
34
- import { join } from 'node:path';
34
+ import { join, extname } from 'node:path';
35
+ import { fileURLToPath } from 'node:url';
35
36
  import { getBrowserController, resetBrowserController, } from '../browser/puppeteer-controller.js';
36
37
  import { sameStudioTarget, validateStudioUrl } from '../browser/url-target.js';
37
38
  import { getPerformanceTracker } from '../metrics/index.js';
@@ -112,6 +113,52 @@ function exportGovernorTimeoutMs() {
112
113
  }
113
114
  return raw;
114
115
  }
116
+ /**
117
+ * Turn whatever the caller named into something the page can load.
118
+ *
119
+ * http(s) and data URLs pass straight through — the page fetches those itself,
120
+ * and it reports the reason when it cannot. A LOCAL PATH is read here, because
121
+ * a browser page cannot open file:// and refusing it outright left an agent
122
+ * holding images it could not import with nothing to try instead.
123
+ *
124
+ * Bounded deliberately: an image extension, an existing regular file, and a
125
+ * size cap. This reads the user's disk on their instruction, the same as the
126
+ * export side writes to it, and neither should be a wildcard.
127
+ */
128
+ const IMAGE_EXTENSIONS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.bmp', '.avif']);
129
+ const MAX_LOCAL_IMAGE_BYTES = 32 * 1024 * 1024;
130
+ const IMAGE_MIME = {
131
+ '.png': 'image/png', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.gif': 'image/gif',
132
+ '.webp': 'image/webp', '.svg': 'image/svg+xml', '.bmp': 'image/bmp', '.avif': 'image/avif',
133
+ };
134
+ export async function resolveImageSource(input) {
135
+ const raw = input.trim();
136
+ if (/^(https?:|data:)/i.test(raw))
137
+ return { src: raw };
138
+ const path = raw.startsWith('file://') ? fileURLToPath(raw) : raw;
139
+ const ext = extname(path).toLowerCase();
140
+ if (!IMAGE_EXTENSIONS.has(ext)) {
141
+ return {
142
+ error: `"${input}" is neither an http(s) URL nor a path to an image file. `
143
+ + `Recognised image extensions: ${[...IMAGE_EXTENSIONS].join(', ')}.`,
144
+ };
145
+ }
146
+ let bytes;
147
+ try {
148
+ const info = await stat(path);
149
+ if (!info.isFile())
150
+ return { error: `"${path}" is not a file.` };
151
+ if (info.size > MAX_LOCAL_IMAGE_BYTES) {
152
+ return { error: `"${path}" is ${(info.size / 1024 / 1024).toFixed(1)} MB, above the ${MAX_LOCAL_IMAGE_BYTES / 1024 / 1024} MB import cap. Resize it, or serve it over http.` };
153
+ }
154
+ bytes = await readFile(path);
155
+ }
156
+ catch (e) {
157
+ const why = e instanceof Error ? e.message : 'unknown error';
158
+ return { error: `could not read "${path}": ${why}. Paths are resolved from the server's working directory, so pass an absolute path if in doubt.` };
159
+ }
160
+ return { src: `data:${IMAGE_MIME[ext] ?? 'application/octet-stream'};base64,${bytes.toString('base64')}` };
161
+ }
115
162
  export function getFileExtension(format) {
116
163
  const extMap = { mp4: 'mp4', webm: 'webm', gif: 'gif', pdf: 'pdf', png: 'png', svg: 'svg', wav: 'wav' };
117
164
  return extMap[format] || format;
@@ -330,10 +377,25 @@ function executedResult(code, result, screenshot, description, report) {
330
377
  if (Object.keys(governor).length)
331
378
  resultObj.governor = governor;
332
379
  }
380
+ // THE CODE ECHO WAS 90% OF THE RESPONSE, AND THE AGENT WROTE THE REQUEST.
381
+ //
382
+ // Measured on a 50-item batch create: 8,740 characters of echoed source
383
+ // against 983 characters of actual result. A tester's cost study found the
384
+ // same thing from outside — response verbosity alone was 86% of the native
385
+ // path's token cost, and it is what makes enumerating 50 creates through
386
+ // tools 33x more expensive than a loop that produces the same picture.
387
+ //
388
+ // On a SUCCESSFUL browser run the code has already done its job and the
389
+ // caller knows what it asked for. It is still returned where it is the
390
+ // deliverable — 'code' execution mode — and where it is the evidence: every
391
+ // error path passes it in `details`. PINEPAPER_ECHO_CODE=1 brings it back
392
+ // for anyone debugging a generator.
333
393
  const content = [
334
394
  { type: 'text', text: JSON.stringify(resultObj, null, 2) },
335
- { type: 'text', text: `Generated code:\n\`\`\`javascript\n${code}\n\`\`\`` },
336
395
  ];
396
+ if (process.env.PINEPAPER_ECHO_CODE === '1') {
397
+ content.push({ type: 'text', text: `Generated code:\n\`\`\`javascript\n${code}\n\`\`\`` });
398
+ }
337
399
  if (screenshot) {
338
400
  content.push({
339
401
  type: 'image',
@@ -583,8 +645,47 @@ ${code}
583
645
  canvasState: canvasState || undefined,
584
646
  });
585
647
  }
648
+ // TWO VERDICTS. `result.success` says the CODE RAN. The emitted code has its
649
+ // own verdict, and almost every emitter in this repo returns
650
+ // `{ success: false, error }` when it cannot do the thing — a guard that
651
+ // found a subsystem missing, an engine call that refused, a precondition that
652
+ // was not met. Nothing here read it, so every one of those came back to the
653
+ // agent as a success with an error buried in the payload.
654
+ //
655
+ // Measured twice by a beta tester: two of five video chunks silently lost,
656
+ // and a rigging session where "app.riggingSystem unavailable" rode inside an
657
+ // outer success and the agent kept building on a rig that did not exist.
658
+ // pinepaper_agent_export got this check in 1.6.9; it belongs HERE, where
659
+ // every tool inherits it.
660
+ const inner = innerFailure(result.result);
661
+ if (inner) {
662
+ const canvasState = await captureCanvasState(controller);
663
+ return errorResult(ErrorCodes.EXECUTION_ERROR, inner, { code, result: result.result, governorReport: result.report }, { toolName, canvasState: canvasState || undefined });
664
+ }
586
665
  return executedResult(code, result.result, result.screenshot, description, result.report);
587
666
  }
667
+ /**
668
+ * The emitted code's own verdict, when it reported one and it was a failure.
669
+ *
670
+ * Deliberately narrow. `success: false` is the shape this repo's emitters use
671
+ * and the only one treated as a failure — a result merely LACKING `success` is
672
+ * not a failure, because plenty of emitters return a bare value (an id, a
673
+ * count, a list) and reading absence as refusal would turn every one of those
674
+ * into an error. `ok: false` is included because the export-store emitters use
675
+ * it, and it carries a `reason` rather than an `error`.
676
+ */
677
+ export function innerFailure(value) {
678
+ if (!value || typeof value !== 'object')
679
+ return null;
680
+ const r = value;
681
+ const failed = r.success === false || r.ok === false;
682
+ if (!failed)
683
+ return null;
684
+ const why = typeof r.error === 'string' ? r.error
685
+ : typeof r.reason === 'string' ? r.reason
686
+ : 'the studio reported failure without naming a reason';
687
+ return why;
688
+ }
588
689
  // =============================================================================
589
690
  // I18N HELPER FUNCTIONS
590
691
  // =============================================================================
@@ -2516,7 +2617,19 @@ You can now start creating new items on a clean canvas.`,
2516
2617
  // -----------------------------------------------------------------------
2517
2618
  case 'pinepaper_import_image': {
2518
2619
  const parsed = ImportImageInputSchema.parse(args);
2519
- const code = codeGenerator.generateImportImage(parsed);
2620
+ // A LOCAL PATH IS THE COMMON CASE AND WAS THE REJECTED ONE.
2621
+ //
2622
+ // The browser cannot open file:// from a page, so this tool took URLs
2623
+ // only — which leaves an agent that has just generated or downloaded
2624
+ // ten images with no way in, and no alternative named. The server CAN
2625
+ // read the file, so it reads it and hands the page a data URL. Nothing
2626
+ // about the page changes; the bytes simply arrive by a route the
2627
+ // browser is allowed to use.
2628
+ const resolved = await resolveImageSource(parsed.url);
2629
+ if ('error' in resolved) {
2630
+ return errorResult(ErrorCodes.INVALID_PARAMS, resolved.error, { url: parsed.url }, { toolName: 'pinepaper_import_image' });
2631
+ }
2632
+ const code = codeGenerator.generateImportImage({ ...parsed, url: resolved.src });
2520
2633
  return executeOrGenerate(code, 'Imports image', options, 'pinepaper_import_image');
2521
2634
  }
2522
2635
  // -----------------------------------------------------------------------