@pinepaper.studio/mcp-server 1.6.35 → 1.6.36
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 +44 -6
- package/README.pt-BR.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/browser/puppeteer-controller.d.ts.map +1 -1
- package/dist/browser/puppeteer-controller.js +4 -0
- package/dist/browser/puppeteer-controller.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/ontology/upstream-vocabulary.d.ts +1 -1
- package/dist/ontology/upstream-vocabulary.js +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +73 -32
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/effect-class.d.ts.map +1 -1
- package/dist/tools/effect-class.js +4 -0
- package/dist/tools/effect-class.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 +14 -5
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/handlers.d.ts +7 -0
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +34 -1
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +1 -0
- package/dist/tools/minimal-descriptions.js.map +1 -1
- 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/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +2 -1
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +7 -1
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +98 -11
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +35 -3
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +31 -9
- package/dist/types/schemas.js.map +1 -1
- package/dist/utils/asset-paths.js +1 -1
- package/dist/utils/asset-paths.js.map +1 -1
- package/manifest.json +5 -1
- package/package.json +1 -1
package/dist/tools/handlers.js
CHANGED
|
@@ -12,7 +12,7 @@ import { exportPerScene } from './scene-cache-export.js';
|
|
|
12
12
|
import { boundedStructured, reportedIgnoredPaths } from './reply-fields.js';
|
|
13
13
|
import { codeGenerator, generateQueryMutationsCode, SHEET_RUBRIC } from '../types/code-generator.js';
|
|
14
14
|
import { expandBatchMacros, BatchMacroError, batchPreflightView, withKeyColumns } from './batch-macros.js';
|
|
15
|
-
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,
|
|
15
|
+
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, InstancesInputSchema, DesignSystemInputSchema, StoryInputSchema, ChromaKeyInputSchema, RiggingInputSchema, GroupInputSchema, CameraDirectorInputSchema, DetectObjectsInputSchema, ExtractObjectInputSchema, ArrangeInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
|
|
16
16
|
// Diagram schemas
|
|
17
17
|
CreateDiagramShapeInputSchema, ConnectInputSchema, ConnectPortsInputSchema, AddPortsInputSchema, AutoLayoutInputSchema, GetDiagramShapesInputSchema, UpdateConnectorInputSchema, RemoveConnectorInputSchema, DiagramModeInputSchema,
|
|
18
18
|
// Agent flow mode schemas
|
|
@@ -1262,6 +1262,34 @@ async function craftFrame(options) {
|
|
|
1262
1262
|
return undefined;
|
|
1263
1263
|
}
|
|
1264
1264
|
}
|
|
1265
|
+
/**
|
|
1266
|
+
* B136: Chromium draws a raster's smoothing 'low', 'medium' and 'high' the same, so a call asking for 'medium' or
|
|
1267
|
+
* 'high' is applied and looks like 'low'. Said in the reply's JSON, since the docs alone left it silent. Any
|
|
1268
|
+
* `smoothing` set to one of those words, at any depth (import, modify, create, batch ops); numeric smoothing
|
|
1269
|
+
* (relations, chroma key) is another parameter and is left alone.
|
|
1270
|
+
*/
|
|
1271
|
+
export function smoothingLevelField(args) {
|
|
1272
|
+
const seen = new Set();
|
|
1273
|
+
const walk = (v, depth) => {
|
|
1274
|
+
if (depth > 6 || !v || typeof v !== 'object')
|
|
1275
|
+
return;
|
|
1276
|
+
if (Array.isArray(v)) {
|
|
1277
|
+
v.forEach((x) => walk(x, depth + 1));
|
|
1278
|
+
return;
|
|
1279
|
+
}
|
|
1280
|
+
for (const [k, x] of Object.entries(v)) {
|
|
1281
|
+
if (k === 'smoothing' && (x === 'medium' || x === 'high'))
|
|
1282
|
+
seen.add(x);
|
|
1283
|
+
else
|
|
1284
|
+
walk(x, depth + 1);
|
|
1285
|
+
}
|
|
1286
|
+
};
|
|
1287
|
+
walk(args, 0);
|
|
1288
|
+
if (!seen.size)
|
|
1289
|
+
return {};
|
|
1290
|
+
const asked = [...seen].map((x) => `'${x}'`).join(' and ');
|
|
1291
|
+
return { smoothingNote: `smoothing ${asked} was applied, but Chromium draws 'low', 'medium' and 'high' the same, so it looks like 'low'. The visible choice is 'off' (nearest-neighbour, hard pixel edges) or not.` };
|
|
1292
|
+
}
|
|
1265
1293
|
export async function executeOrGenerate(code, description, options, toolName,
|
|
1266
1294
|
/**
|
|
1267
1295
|
* Values too large to live inside the generated code. Written to
|
|
@@ -2010,6 +2038,7 @@ export async function handleToolCall(toolName, args, options = {}) {
|
|
|
2010
2038
|
...(dropped.length ? { droppedArguments: dropped } : {}),
|
|
2011
2039
|
...(ignoredPaths.length ? { ignoredArguments: ignoredPaths } : {}),
|
|
2012
2040
|
...await renderingBuildField(toolName, args, result, options),
|
|
2041
|
+
...smoothingLevelField(args),
|
|
2013
2042
|
});
|
|
2014
2043
|
if (!folded) {
|
|
2015
2044
|
const lines = [...(renamed.length ? [renamedArgumentsNote(renamed)] : []), ...(dropped.length ? [`Not sent to the studio, as its private state: ${dropped.join(', ')}.`] : [])];
|
|
@@ -2552,6 +2581,10 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
|
|
|
2552
2581
|
const input = MorphSequenceInputSchema.parse(args);
|
|
2553
2582
|
return executeOrGenerate(codeGenerator.generateMorphSequence(input), `Morph sequence: ${input.states.length} states`, options, 'pinepaper_morph_sequence');
|
|
2554
2583
|
}
|
|
2584
|
+
case 'pinepaper_instances': {
|
|
2585
|
+
const input = InstancesInputSchema.parse(args);
|
|
2586
|
+
return executeOrGenerate(codeGenerator.generateInstances(input), `Instances: ${input.action}`, options, 'pinepaper_instances');
|
|
2587
|
+
}
|
|
2555
2588
|
case 'pinepaper_emitter': {
|
|
2556
2589
|
const input = EmitterInputSchema.parse(args);
|
|
2557
2590
|
return executeOrGenerate(codeGenerator.generateEmitter(input), `Emitter: ${input.action}`, options, 'pinepaper_emitter');
|