@pinepaper.studio/mcp-server 1.5.4 → 1.6.0

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.
Files changed (88) hide show
  1. package/README.de.md +71 -0
  2. package/README.es.md +71 -0
  3. package/README.fr.md +71 -0
  4. package/README.hi.md +71 -0
  5. package/README.ja.md +71 -0
  6. package/README.ko.md +71 -0
  7. package/README.md +513 -272
  8. package/README.pt-BR.md +71 -0
  9. package/README.zh-CN.md +71 -0
  10. package/assets/easing-splashes.svg +152 -0
  11. package/assets/equation-path.svg +77 -0
  12. package/assets/hero.svg +126 -0
  13. package/assets/live-badge.svg +62 -0
  14. package/assets/poster-sunburst.svg +106 -0
  15. package/dist/__tests__/fixtures/mock-relations.d.ts +48 -0
  16. package/dist/__tests__/fixtures/mock-relations.d.ts.map +1 -1
  17. package/dist/__tests__/fixtures/mock-relations.js +31 -0
  18. package/dist/__tests__/fixtures/mock-relations.js.map +1 -1
  19. package/dist/agent/types.d.ts +6 -6
  20. package/dist/browser/puppeteer-controller.d.ts +34 -0
  21. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  22. package/dist/browser/puppeteer-controller.js +116 -5
  23. package/dist/browser/puppeteer-controller.js.map +1 -1
  24. package/dist/cli.js +2 -1
  25. package/dist/cli.js.map +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +35 -5
  28. package/dist/index.js.map +1 -1
  29. package/dist/ontology/index.d.ts +2 -0
  30. package/dist/ontology/index.d.ts.map +1 -1
  31. package/dist/ontology/index.js +2 -0
  32. package/dist/ontology/index.js.map +1 -1
  33. package/dist/ontology/ontology-compiler.d.ts +78 -0
  34. package/dist/ontology/ontology-compiler.d.ts.map +1 -0
  35. package/dist/ontology/ontology-compiler.js +235 -0
  36. package/dist/ontology/ontology-compiler.js.map +1 -0
  37. package/dist/ontology/ontology-validator.d.ts +103 -0
  38. package/dist/ontology/ontology-validator.d.ts.map +1 -0
  39. package/dist/ontology/ontology-validator.js +573 -0
  40. package/dist/ontology/ontology-validator.js.map +1 -0
  41. package/dist/ontology/types.d.ts +1 -0
  42. package/dist/ontology/types.d.ts.map +1 -1
  43. package/dist/ontology/validator.d.ts +6 -0
  44. package/dist/ontology/validator.d.ts.map +1 -1
  45. package/dist/ontology/validator.js +34 -5
  46. package/dist/ontology/validator.js.map +1 -1
  47. package/dist/ontology/vocabulary.d.ts.map +1 -1
  48. package/dist/ontology/vocabulary.js +91 -3
  49. package/dist/ontology/vocabulary.js.map +1 -1
  50. package/dist/tools/compact-descriptions.d.ts.map +1 -1
  51. package/dist/tools/compact-descriptions.js +0 -1
  52. package/dist/tools/compact-descriptions.js.map +1 -1
  53. package/dist/tools/definitions.d.ts +1 -1
  54. package/dist/tools/definitions.d.ts.map +1 -1
  55. package/dist/tools/definitions.js +997 -573
  56. package/dist/tools/definitions.js.map +1 -1
  57. package/dist/tools/handlers/camera.d.ts.map +1 -1
  58. package/dist/tools/handlers/camera.js +7 -1
  59. package/dist/tools/handlers/camera.js.map +1 -1
  60. package/dist/tools/handlers/maps.d.ts.map +1 -1
  61. package/dist/tools/handlers/maps.js +54 -1
  62. package/dist/tools/handlers/maps.js.map +1 -1
  63. package/dist/tools/handlers/ontology.d.ts.map +1 -1
  64. package/dist/tools/handlers/ontology.js +15 -3
  65. package/dist/tools/handlers/ontology.js.map +1 -1
  66. package/dist/tools/handlers.d.ts.map +1 -1
  67. package/dist/tools/handlers.js +160 -113
  68. package/dist/tools/handlers.js.map +1 -1
  69. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  70. package/dist/tools/minimal-descriptions.js +23 -16
  71. package/dist/tools/minimal-descriptions.js.map +1 -1
  72. package/dist/tools/toolkits.d.ts.map +1 -1
  73. package/dist/tools/toolkits.js +28 -22
  74. package/dist/tools/toolkits.js.map +1 -1
  75. package/dist/types/code-generator.d.ts +190 -36
  76. package/dist/types/code-generator.d.ts.map +1 -1
  77. package/dist/types/code-generator.js +1216 -571
  78. package/dist/types/code-generator.js.map +1 -1
  79. package/dist/types/schemas.d.ts +2826 -829
  80. package/dist/types/schemas.d.ts.map +1 -1
  81. package/dist/types/schemas.js +595 -79
  82. package/dist/types/schemas.js.map +1 -1
  83. package/dist/version.d.ts +11 -0
  84. package/dist/version.d.ts.map +1 -0
  85. package/dist/version.js +18 -0
  86. package/dist/version.js.map +1 -0
  87. package/manifest.json +299 -71
  88. package/package.json +14 -3
@@ -1 +1 @@
1
- {"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/tools/handlers/maps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maps.js","sourceRoot":"","sources":["../../../src/tools/handlers/maps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/ontology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrF,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAoK5D,CAAC"}
1
+ {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/ontology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWrF,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAsL5D,CAAC"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { errorResult, executeOrGenerate } from '../handlers.js';
17
17
  import { codeGenerator } from '../../types/code-generator.js';
18
- import { AnalyzeDesignInputSchema, ValidateDesignInputSchema, QueryOntologyInputSchema, GetCanvasOntologyInputSchema, ErrorCodes, } from '../../types/schemas.js';
18
+ import { AnalyzeDesignInputSchema, ValidateDesignInputSchema, ValidateInputSchema, QueryOntologyInputSchema, GetCanvasOntologyInputSchema, ErrorCodes, } from '../../types/schemas.js';
19
19
  export const ontologyHandlers = {
20
20
  pinepaper_get_canvas_ontology: async (args, options) => {
21
21
  const input = GetCanvasOntologyInputSchema.parse(args);
@@ -57,7 +57,7 @@ export const ontologyHandlers = {
57
57
  },
58
58
  pinepaper_validate_design: async (args, _options) => {
59
59
  const input = ValidateDesignInputSchema.parse(args);
60
- const { DesignGraph, KnowledgeGraphValidator } = await import('../../ontology/index.js');
60
+ const { DesignGraph, KnowledgeGraphValidator, validateDefinitionSemantics } = await import('../../ontology/index.js');
61
61
  const dg = new DesignGraph();
62
62
  const validator = new KnowledgeGraphValidator();
63
63
  const definition = input.definition;
@@ -67,13 +67,25 @@ export const ontologyHandlers = {
67
67
  const graph = dg.extractFromDefinition(definition);
68
68
  quality = validator.scoreQuality(definition, graph);
69
69
  }
70
+ // Structured semantic diagnostics (FxTool's S3.4 OntologyValidator, ported) — dangling
71
+ // relation targets, unknown item/relation types (+nearest-id), duplicate edges,
72
+ // relation cycles, keyframe order/easing. Runs Node-side, no browser round-trip.
73
+ const semantics = validateDefinitionSemantics(definition);
70
74
  return {
71
75
  content: [{
72
76
  type: 'text',
73
- text: JSON.stringify({ validation, quality }, null, 2),
77
+ text: JSON.stringify({ validation, quality, diagnostics: semantics }, null, 2),
74
78
  }],
75
79
  };
76
80
  },
81
+ // Semantic validation of the LIVE scene or a proposed op (FxTool OntologyValidator).
82
+ // Distinct from validate_design (server-side template scoring): this runs in the
83
+ // browser and returns structured diagnostics {code, severity, message, target, fix}.
84
+ pinepaper_validate: async (args, options) => {
85
+ const input = ValidateInputSchema.parse(args);
86
+ const code = codeGenerator.generateValidate(input);
87
+ return executeOrGenerate(code, 'Semantic validation — structured diagnostics (references, relation types, params, cycles)', options, 'pinepaper_validate');
88
+ },
77
89
  pinepaper_query_ontology: async (args, _options) => {
78
90
  const input = QueryOntologyInputSchema.parse(args);
79
91
  const { PP_VOCABULARY, RELATION_TYPE_MAP } = await import('../../ontology/vocabulary.js');
@@ -1 +1 @@
1
- {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/tools/handlers/ontology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/tools/handlers/ontology.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;AAEH,OAAO,EAAE,cAAc,EAA6B,MAAM,oCAAoC,CAAC;AAsI/F,OAAO,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAI3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AA4B7F;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAOlD;AA+CD;;;;;;;;;;;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;AA6DD,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,CAmMzB;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;AA0ED,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;AAyI/F,OAAO,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,0BAA0B,EAI3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,YAAY,EAA0C,MAAM,uBAAuB,CAAC;AA4B7F;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAOlD;AA+CD;;;;;;;;;;;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;AA2ED,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;AA0ED,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"}
@@ -6,29 +6,23 @@
6
6
  * Supports browser execution via Puppeteer.
7
7
  */
8
8
  import { codeGenerator } from '../types/code-generator.js';
9
- import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
9
+ import { CreateItemInputSchema, ModifyItemInputSchema, DeleteItemInputSchema, AddRelationInputSchema, RemoveRelationInputSchema, QueryRelationsInputSchema, AnimateItemInputSchema, KeyframeAnimateInputSchema, ExecuteGeneratorInputSchema, ApplyEffectInputSchema, GetItemsInputSchema, PlayTimelineInputSchema, SetBackgroundColorInputSchema, SetCanvasSizeInputSchema, ImportSVGInputSchema, ImportMermaidInputSchema, AddFilterInputSchema, CreateGlossySphereInputSchema, CreateDiagonalStripesInputSchema, BatchCreateInputSchema, BatchModifyInputSchema, CreateGridInputSchema, GeometryInputSchema, EquationPathInputSchema, EventInputSchema, ConstructionSequenceInputSchema, ValidateSceneInputSchema, CaptureFramesInputSchema, InstantiateOntologyInputSchema, LintSceneInputSchema, MediaInputSchema, CropImageInputSchema, ChromaKeyInputSchema, RiggingInputSchema, GroupInputSchema, CameraDirectorInputSchema, DetectObjectsInputSchema, ExtractObjectInputSchema, ArrangeInputSchema, CreateSceneInputSchema, GetPerformanceMetricsInputSchema, DiagnosticReportInputSchema, SearchAssetsInputSchema, ImportAssetInputSchema, P5DrawInputSchema,
10
10
  // Diagram schemas
11
11
  CreateDiagramShapeInputSchema, ConnectInputSchema, ConnectPortsInputSchema, AddPortsInputSchema, AutoLayoutInputSchema, GetDiagramShapesInputSchema, UpdateConnectorInputSchema, RemoveConnectorInputSchema, DiagramModeInputSchema,
12
12
  // Agent flow mode schemas
13
13
  AgentStartJobInputSchema, AgentEndJobInputSchema, AgentResetInputSchema, AgentBatchExecuteInputSchema, AgentExportInputSchema, AgentAnalyzeInputSchema,
14
- // Interactive/Trigger schemas
15
- AddTriggerInputSchema, RemoveTriggerInputSchema, QueryTriggersInputSchema,
16
- // Quiz schemas
17
- CreateQuizInputSchema, GetQuizStateInputSchema, ResetQuizInputSchema,
18
14
  // Letter collage schemas
19
- CreateLetterCollageInputSchema, AnimateLetterCollageInputSchema,
15
+ CreateLetterCollageInputSchema, AnimateLetterCollageInputSchema, ApplyTemplateInputSchema,
20
16
  // Custom relation/code schemas
21
17
  RegisterCustomRelationInputSchema, ExecuteCustomCodeInputSchema,
22
18
  // Mask schemas
23
19
  ApplyAnimatedMaskInputSchema, ApplyCustomMaskInputSchema, RemoveMaskInputSchema,
24
- // Template schemas
25
- ApplyTemplateInputSchema,
26
20
  // Image import schemas
27
21
  ImportImageInputSchema,
28
22
  // Scene management schemas
29
23
  ManageScenesInputSchema, ScenePlaybackInputSchema,
30
24
  // New consolidated tool schemas
31
- SelectionInputSchema, TransformInputSchema, HistoryInputSchema, ImageFilterInputSchema, LassoInputSchema, CutoutStyleInputSchema, PrecompInputSchema, ViewInputSchema, BackgroundInputSchema, QueryInputSchema, DeformInputSchema, SpriteSheetInputSchema, StorageInputSchema, InteractionInputSchema, ExportWidgetInputSchema, ExportWidgetHtmlInputSchema, CreateChartInputSchema, MagicInputSchema, PhysicsInputSchema, MeasurementInputSchema, ErrorCodes, } from '../types/schemas.js';
25
+ SelectionInputSchema, TransformInputSchema, HistoryInputSchema, ImageFilterInputSchema, LassoInputSchema, CutoutStyleInputSchema, PrecompInputSchema, BackgroundInputSchema, QueryInputSchema, DeformInputSchema, SpriteSheetInputSchema, InteractionInputSchema, ExportWidgetInputSchema, ExportWidgetHtmlInputSchema, CreateChartInputSchema, MagicInputSchema, PhysicsInputSchema, MeasurementInputSchema, ErrorCodes, } from '../types/schemas.js';
32
26
  import { ZodError } from 'zod';
33
27
  import { writeFile, mkdir } from 'node:fs/promises';
34
28
  import { tmpdir } from 'node:os';
@@ -131,10 +125,26 @@ function successResult(code, description) {
131
125
  }
132
126
  return { content };
133
127
  }
134
- function executedResult(code, result, screenshot, description) {
128
+ function executedResult(code, result, screenshot, description, report) {
135
129
  const resultObj = { success: true, result };
136
130
  if (description)
137
131
  resultObj.description = description;
132
+ // Surface the governor's model-actionable feedback (app.runGenerated report):
133
+ // warnings (e.g. "500 items created one-by-one — prefer a pattern"), item count,
134
+ // and guard trips. Omitted entirely on pre-governor FxTool builds (no report).
135
+ if (report) {
136
+ const warnings = Array.isArray(report.warnings) ? report.warnings : [];
137
+ const items = report.items;
138
+ const governor = {};
139
+ if (warnings.length)
140
+ governor.warnings = warnings;
141
+ if (items && typeof items.created === 'number')
142
+ governor.itemsCreated = items.created;
143
+ if (report.guard?.tripped)
144
+ governor.loopGuardTripped = true;
145
+ if (Object.keys(governor).length)
146
+ resultObj.governor = governor;
147
+ }
138
148
  const content = [
139
149
  { type: 'text', text: JSON.stringify(resultObj, null, 2) },
140
150
  { type: 'text', text: `Generated code:\n\`\`\`javascript\n${code}\n\`\`\`` },
@@ -380,12 +390,15 @@ ${code}
380
390
  if (!result.success) {
381
391
  // Capture canvas state for error context
382
392
  const canvasState = await captureCanvasState(controller);
383
- return errorResult(ErrorCodes.EXECUTION_ERROR, result.error || 'Failed to execute code in browser', { code }, {
393
+ return errorResult(ErrorCodes.EXECUTION_ERROR, result.error || 'Failed to execute code in browser',
394
+ // errorCode surfaces the governor's structured code (PP_ITEM_BUDGET,
395
+ // PP_LOOP_BUDGET, PP_TIMEOUT) so the model can correct on the next turn.
396
+ { code, errorCode: result.errorCode, governorReport: result.report }, {
384
397
  toolName,
385
398
  canvasState: canvasState || undefined,
386
399
  });
387
400
  }
388
- return executedResult(code, result.result, result.screenshot, description);
401
+ return executedResult(code, result.result, result.screenshot, description, result.report);
389
402
  }
390
403
  // =============================================================================
391
404
  // I18N HELPER FUNCTIONS
@@ -618,11 +631,6 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
618
631
  const code = codeGenerator.generatePrecomp(input);
619
632
  return executeOrGenerate(code, `Precomp: ${input.action}`, options, 'pinepaper_precomp');
620
633
  }
621
- case 'pinepaper_view': {
622
- const input = ViewInputSchema.parse(args);
623
- const code = codeGenerator.generateView(input);
624
- return executeOrGenerate(code, `View: ${input.action}`, options, 'pinepaper_view');
625
- }
626
634
  case 'pinepaper_background': {
627
635
  const input = BackgroundInputSchema.parse(args);
628
636
  const code = codeGenerator.generateBackground(input);
@@ -649,11 +657,6 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
649
657
  const code = codeGenerator.generateSpriteSheet(input);
650
658
  return executeOrGenerate(code, `Sprite sheet: ${input.action}`, options, 'pinepaper_sprite_sheet');
651
659
  }
652
- case 'pinepaper_storage': {
653
- const input = StorageInputSchema.parse(args);
654
- const code = codeGenerator.generateStorage(input);
655
- return executeOrGenerate(code, `Storage: ${input.action}`, options, 'pinepaper_storage');
656
- }
657
660
  case 'pinepaper_interaction': {
658
661
  const input = InteractionInputSchema.parse(args);
659
662
  const code = codeGenerator.generateInteraction(input);
@@ -713,6 +716,108 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
713
716
  const description = `Creates a ${input.cols}x${input.rows} grid${input.animated ? ' with wave animation' : ''}`;
714
717
  return executeOrGenerate(code, description, options, 'pinepaper_create_grid');
715
718
  }
719
+ case 'pinepaper_geometry': {
720
+ const input = GeometryInputSchema.parse(args);
721
+ const code = codeGenerator.generateGeometry(input);
722
+ const description = `Geometry construction: ${input.operation}${input.createAs ? ' (+ create item)' : ''}`;
723
+ return executeOrGenerate(code, description, options, 'pinepaper_geometry');
724
+ }
725
+ case 'pinepaper_equation_path': {
726
+ const input = EquationPathInputSchema.parse(args);
727
+ const code = codeGenerator.generateEquationPath(input);
728
+ const description = `Equation-driven path: ${input.kind}${input.preset ? ` (${input.preset})` : ''}`;
729
+ return executeOrGenerate(code, description, options, 'pinepaper_equation_path');
730
+ }
731
+ case 'pinepaper_event': {
732
+ const input = EventInputSchema.parse(args);
733
+ const code = codeGenerator.generateEvent(input);
734
+ const description = input.action === 'create'
735
+ ? `Create event "${input.name}"`
736
+ : `Pulse event ${input.eventId}`;
737
+ return executeOrGenerate(code, description, options, 'pinepaper_event');
738
+ }
739
+ case 'pinepaper_construction_sequence': {
740
+ const input = ConstructionSequenceInputSchema.parse(args);
741
+ const code = codeGenerator.generateConstructionSequence(input);
742
+ const description = `Construction sequence: ${input.action}`;
743
+ return executeOrGenerate(code, description, options, 'pinepaper_construction_sequence');
744
+ }
745
+ case 'pinepaper_group': {
746
+ const input = GroupInputSchema.parse(args);
747
+ const code = codeGenerator.generateGroup(input);
748
+ const description = input.action === 'ungroup' ? `Ungroup ${input.groupId ?? ''}`
749
+ : input.action === 'break_apart' ? `Break apart ${input.itemId ?? ''} into movable parts`
750
+ : `Group ${(input.itemIds ?? []).length} item(s)${input.groupName ? ` as "${input.groupName}"` : ''}`;
751
+ return executeOrGenerate(code, description, options, 'pinepaper_group');
752
+ }
753
+ case 'pinepaper_camera_director': {
754
+ const input = CameraDirectorInputSchema.parse(args);
755
+ const code = codeGenerator.generateCameraDirector(input);
756
+ const description = input.action === 'shots'
757
+ ? `Camera director: ${(input.shots ?? []).length} shot(s)`
758
+ : 'Camera director: auto-direct walkthrough';
759
+ return executeOrGenerate(code, description, options, 'pinepaper_camera_director');
760
+ }
761
+ case 'pinepaper_detect_objects': {
762
+ const input = DetectObjectsInputSchema.parse(args);
763
+ const code = codeGenerator.generateDetectObjects(input);
764
+ const description = `Detect objects${input.asNodes ? ' (as design nodes)' : ''}`;
765
+ return executeOrGenerate(code, description, options, 'pinepaper_detect_objects');
766
+ }
767
+ case 'pinepaper_extract_object': {
768
+ const input = ExtractObjectInputSchema.parse(args);
769
+ const code = codeGenerator.generateExtractObject(input);
770
+ const description = `Extract object${input.label ? ` "${input.label}"` : ''} from image`;
771
+ return executeOrGenerate(code, description, options, 'pinepaper_extract_object');
772
+ }
773
+ case 'pinepaper_arrange': {
774
+ const input = ArrangeInputSchema.parse(args);
775
+ const code = codeGenerator.generateArrange(input);
776
+ const description = `Arrange ${input.itemId}: ${input.action}`;
777
+ return executeOrGenerate(code, description, options, 'pinepaper_arrange');
778
+ }
779
+ case 'pinepaper_validate_scene': {
780
+ const input = ValidateSceneInputSchema.parse(args);
781
+ const code = codeGenerator.generateValidateScene(input);
782
+ const description = input.ops ? `Pre-validate ${input.ops.length} proposed op(s)` : 'Audit the live scene';
783
+ return executeOrGenerate(code, description, options, 'pinepaper_validate_scene');
784
+ }
785
+ case 'pinepaper_capture_frames': {
786
+ const input = CaptureFramesInputSchema.parse(args);
787
+ const code = codeGenerator.generateCaptureFrames(input);
788
+ const description = `Deterministic capture of ${input.times.length} frame(s)`;
789
+ return executeOrGenerate(code, description, options, 'pinepaper_capture_frames');
790
+ }
791
+ case 'pinepaper_instantiate_ontology': {
792
+ const input = InstantiateOntologyInputSchema.parse(args);
793
+ const code = codeGenerator.generateInstantiateOntology(input);
794
+ return executeOrGenerate(code, 'Instantiate ontology → scene', options, 'pinepaper_instantiate_ontology');
795
+ }
796
+ case 'pinepaper_lint_scene': {
797
+ const input = LintSceneInputSchema.parse(args);
798
+ const code = codeGenerator.generateLintScene(input);
799
+ return executeOrGenerate(code, 'Lint scene (relational density)', options, 'pinepaper_lint_scene');
800
+ }
801
+ case 'pinepaper_media': {
802
+ const input = MediaInputSchema.parse(args);
803
+ const code = codeGenerator.generateMedia(input);
804
+ return executeOrGenerate(code, `Media: ${input.action}`, options, 'pinepaper_media');
805
+ }
806
+ case 'pinepaper_crop_image': {
807
+ const input = CropImageInputSchema.parse(args);
808
+ const code = codeGenerator.generateCropImage(input);
809
+ return executeOrGenerate(code, `Crop image ${input.itemId}`, options, 'pinepaper_crop_image');
810
+ }
811
+ case 'pinepaper_chroma_key': {
812
+ const input = ChromaKeyInputSchema.parse(args);
813
+ const code = codeGenerator.generateChromaKey(input);
814
+ return executeOrGenerate(code, `Chroma-key image ${input.itemId}`, options, 'pinepaper_chroma_key');
815
+ }
816
+ case 'pinepaper_rigging': {
817
+ const input = RiggingInputSchema.parse(args);
818
+ const code = codeGenerator.generateRigging(input);
819
+ return executeOrGenerate(code, `Rigging: ${input.action}`, options, 'pinepaper_rigging');
820
+ }
716
821
  // -----------------------------------------------------------------------
717
822
  // RELATION TOOLS
718
823
  // -----------------------------------------------------------------------
@@ -769,7 +874,7 @@ async function handleToolCallInner(toolName, args, options, tracker, baseTimerId
769
874
  }
770
875
  case 'pinepaper_play_timeline': {
771
876
  const input = PlayTimelineInputSchema.parse(args);
772
- const code = codeGenerator.generatePlayTimeline(input.action, input.duration, input.loop, input.time);
877
+ const code = codeGenerator.generatePlayTimeline(input.action, input.duration, input.loop, input.time, input.deterministic);
773
878
  return executeOrGenerate(code, `Timeline action: ${input.action}`, options, 'pinepaper_play_timeline');
774
879
  }
775
880
  // -----------------------------------------------------------------------
@@ -964,8 +1069,16 @@ You can now start creating new items on a clean canvas.`,
964
1069
  return errorResult(ErrorCodes.INVALID_INPUT, v.error);
965
1070
  }
966
1071
  const cfg = studioUrl ? { headless, studioUrl } : { headless };
967
- const controller = getBrowserController(cfg);
968
- const urlChanged = !!studioUrl && controller.connected &&
1072
+ let controller = getBrowserController(cfg);
1073
+ // NOT gated on controller.connected. getBrowserController() ignores cfg
1074
+ // once the singleton exists, AND the singleton survives disconnect()
1075
+ // (pinepaper_browser_disconnect doesn't null it) carrying its old
1076
+ // studioUrl. So a stale/disconnected controller pointing at the prod
1077
+ // default — which any prior browser_status() or connect() creates —
1078
+ // would otherwise silently swallow an explicit url= (e.g. localhost for
1079
+ // a dev build). Treat a different requested target as a change even when
1080
+ // not currently connected.
1081
+ const urlChanged = !!studioUrl &&
969
1082
  !sameStudioTarget(controller.studioUrl, studioUrl);
970
1083
  // Already connected, same headless mode, same URL → nothing to do
971
1084
  if (controller.connected && controller.isHeadless === headless && !urlChanged) {
@@ -973,14 +1086,16 @@ You can now start creating new items on a clean canvas.`,
973
1086
  content: [{ type: 'text', text: `Already connected to PinePaper Studio (${controller.studioUrl || 'default'}, headless: ${headless}).` }],
974
1087
  };
975
1088
  }
976
- // Connected but headless mode OR target URL changed → tear down so the
977
- // new config takes effect (getBrowserController ignores config once the
978
- // singleton exists).
979
- if (controller.connected && (controller.isHeadless !== headless || urlChanged)) {
1089
+ // Headless mode or target URL differs from the existing singleton → tear
1090
+ // it down so the new config takes effect. Runs even when disconnected,
1091
+ // because getBrowserController() reuses the stale singleton (and its old
1092
+ // config) on the next call otherwise.
1093
+ if (urlChanged || (controller.connected && controller.isHeadless !== headless)) {
980
1094
  await resetBrowserController();
1095
+ controller = getBrowserController(cfg);
981
1096
  }
982
1097
  try {
983
- const newController = controller.connected ? controller : getBrowserController(cfg);
1098
+ const newController = controller;
984
1099
  if (!newController.connected)
985
1100
  await newController.connect();
986
1101
  const canvasSizeResult = await newController.executeCode(`const size = app.getCanvasSize ? app.getCanvasSize() : { width: 800, height: 600 }; ({ width: size.width || 800, height: size.height || 600 });`, false);
@@ -1094,8 +1209,9 @@ You can now start creating new items on a clean canvas.`,
1094
1209
  const metricsLimit = input.metricsLimit ?? 100;
1095
1210
  // --- Server info ---
1096
1211
  const { detectToolkitFromEnvironment: detectToolkit, detectVerbosityFromEnvironment: detectVerbosity } = await import('./toolkits.js');
1212
+ const { SERVER_VERSION } = await import('../version.js');
1097
1213
  const serverSection = {
1098
- version: '1.5.1',
1214
+ version: SERVER_VERSION,
1099
1215
  toolkit: detectToolkit(),
1100
1216
  verbosity: detectVerbosity(),
1101
1217
  locale: process.env.PINEPAPER_LOCALE || 'en',
@@ -1728,56 +1844,6 @@ You can now start creating new items on a clean canvas.`,
1728
1844
  return executeOrGenerate(code, description, options, 'pinepaper_agent_analyze');
1729
1845
  }
1730
1846
  // -----------------------------------------------------------------------
1731
- // INTERACTIVE TRIGGER TOOLS
1732
- // -----------------------------------------------------------------------
1733
- case 'pinepaper_add_trigger': {
1734
- const input = AddTriggerInputSchema.parse(args);
1735
- const code = codeGenerator.generateAddTrigger(input);
1736
- const description = `Added ${input.event} trigger to ${input.itemId} with ${input.actions.length} actions`;
1737
- return executeOrGenerate(code, description, options, 'pinepaper_add_trigger');
1738
- }
1739
- case 'pinepaper_remove_trigger': {
1740
- const input = RemoveTriggerInputSchema.parse(args);
1741
- const code = codeGenerator.generateRemoveTrigger(input);
1742
- const description = input.removeAll
1743
- ? `Removed all triggers from ${input.itemId}`
1744
- : `Removed ${input.event} trigger from ${input.itemId}`;
1745
- return executeOrGenerate(code, description, options, 'pinepaper_remove_trigger');
1746
- }
1747
- case 'pinepaper_query_triggers': {
1748
- const input = QueryTriggersInputSchema.parse(args);
1749
- const code = codeGenerator.generateQueryTriggers(input);
1750
- const description = input.itemId
1751
- ? `Queried triggers for ${input.itemId}`
1752
- : 'Queried all triggers on canvas';
1753
- return executeOrGenerate(code, description, options, 'pinepaper_query_triggers');
1754
- }
1755
- // -----------------------------------------------------------------------
1756
- // QUIZ/LMS TOOLS
1757
- // -----------------------------------------------------------------------
1758
- case 'pinepaper_create_quiz': {
1759
- const input = CreateQuizInputSchema.parse(args);
1760
- const code = codeGenerator.generateCreateQuiz(input);
1761
- const description = `Created quiz${input.title ? ` "${input.title}"` : ''} with ${input.questions.length} questions`;
1762
- return executeOrGenerate(code, description, options, 'pinepaper_create_quiz');
1763
- }
1764
- case 'pinepaper_get_quiz_state': {
1765
- const input = GetQuizStateInputSchema.parse(args);
1766
- const code = codeGenerator.generateGetQuizState(input);
1767
- const description = input.quizId
1768
- ? `Got state for quiz ${input.quizId}`
1769
- : 'Got state for active quiz';
1770
- return executeOrGenerate(code, description, options, 'pinepaper_get_quiz_state');
1771
- }
1772
- case 'pinepaper_reset_quiz': {
1773
- const input = ResetQuizInputSchema.parse(args);
1774
- const code = codeGenerator.generateResetQuiz(input);
1775
- const description = input.quizId
1776
- ? `Reset quiz ${input.quizId}`
1777
- : 'Reset active quiz';
1778
- return executeOrGenerate(code, description, options, 'pinepaper_reset_quiz');
1779
- }
1780
- // -----------------------------------------------------------------------
1781
1847
  // LETTER COLLAGE TOOLS
1782
1848
  // -----------------------------------------------------------------------
1783
1849
  case 'pinepaper_create_letter_collage': {
@@ -1792,20 +1858,6 @@ You can now start creating new items on a clean canvas.`,
1792
1858
  const description = `Animated collage ${input.collageId} with ${input.animationType}`;
1793
1859
  return executeOrGenerate(code, description, options, 'pinepaper_animate_letter_collage');
1794
1860
  }
1795
- case 'pinepaper_get_letter_collage_options': {
1796
- const code = codeGenerator.generateGetLetterCollageOptions();
1797
- return executeOrGenerate(code, 'Gets available letter collage styles and palettes', options, 'pinepaper_get_letter_collage_options');
1798
- }
1799
- // -----------------------------------------------------------------------
1800
- // CANVAS PRESETS TOOLS
1801
- // -----------------------------------------------------------------------
1802
- case 'pinepaper_get_canvas_presets': {
1803
- const code = codeGenerator.generateGetCanvasPresets();
1804
- return executeOrGenerate(code, 'Gets all available canvas presets', options, 'pinepaper_get_canvas_presets');
1805
- }
1806
- // -----------------------------------------------------------------------
1807
- // MAP TOOLS
1808
- // -----------------------------------------------------------------------
1809
1861
  // -----------------------------------------------------------------------
1810
1862
  // MAP TOOLS — extracted to src/tools/handlers/maps.ts
1811
1863
  // -----------------------------------------------------------------------
@@ -1818,7 +1870,7 @@ You can now start creating new items on a clean canvas.`,
1818
1870
  return executeOrGenerate(code, 'Registers Paper.js item', options, 'pinepaper_register_item');
1819
1871
  }
1820
1872
  // -----------------------------------------------------------------------
1821
- // TEMPLATE TOOLS
1873
+ // TEMPLATE TOOL
1822
1874
  // -----------------------------------------------------------------------
1823
1875
  case 'pinepaper_apply_template': {
1824
1876
  const parsed = ApplyTemplateInputSchema.parse(args);
@@ -1853,6 +1905,15 @@ You can now start creating new items on a clean canvas.`,
1853
1905
  'pinepaper_batch_create',
1854
1906
  'pinepaper_batch_modify',
1855
1907
  'pinepaper_create_grid',
1908
+ 'pinepaper_geometry',
1909
+ 'pinepaper_construction_sequence',
1910
+ 'pinepaper_group',
1911
+ 'pinepaper_camera_director',
1912
+ 'pinepaper_detect_objects',
1913
+ 'pinepaper_extract_object',
1914
+ 'pinepaper_arrange',
1915
+ 'pinepaper_validate_scene',
1916
+ 'pinepaper_capture_frames',
1856
1917
  'pinepaper_add_relation',
1857
1918
  'pinepaper_remove_relation',
1858
1919
  'pinepaper_query_relations',
@@ -1916,29 +1977,17 @@ You can now start creating new items on a clean canvas.`,
1916
1977
  'pinepaper_agent_batch_execute',
1917
1978
  'pinepaper_agent_export',
1918
1979
  'pinepaper_agent_analyze',
1919
- // Interactive trigger tools
1920
- 'pinepaper_add_trigger',
1921
- 'pinepaper_remove_trigger',
1922
- 'pinepaper_query_triggers',
1923
- // Quiz/LMS tools
1924
- 'pinepaper_create_quiz',
1925
- 'pinepaper_get_quiz_state',
1926
- 'pinepaper_reset_quiz',
1927
1980
  // Letter collage tools
1928
1981
  'pinepaper_create_letter_collage',
1929
1982
  'pinepaper_animate_letter_collage',
1930
- 'pinepaper_get_letter_collage_options',
1931
- // Canvas presets tools
1932
- 'pinepaper_get_canvas_presets',
1933
- // Map tools (4 action-dispatched)
1983
+ // Map tools (5 action-dispatched)
1934
1984
  'pinepaper_map',
1935
1985
  'pinepaper_map_regions',
1936
1986
  'pinepaper_map_animation',
1937
1987
  'pinepaper_map_data',
1988
+ 'pinepaper_globe',
1938
1989
  // Font tools
1939
1990
  'pinepaper_font',
1940
- // Template tools
1941
- 'pinepaper_apply_template',
1942
1991
  // Image import tools
1943
1992
  'pinepaper_import_image',
1944
1993
  // Paper.js direct access tools
@@ -1961,14 +2010,12 @@ You can now start creating new items on a clean canvas.`,
1961
2010
  'pinepaper_cutout_style',
1962
2011
  // Composition & view tools
1963
2012
  'pinepaper_precomp',
1964
- 'pinepaper_view',
1965
2013
  'pinepaper_background',
1966
2014
  // Canvas query tools
1967
2015
  'pinepaper_query',
1968
- // Deformation, sprite sheets, storage, interaction
2016
+ // Deformation, sprite sheets, interaction
1969
2017
  'pinepaper_deform',
1970
2018
  'pinepaper_sprite_sheet',
1971
- 'pinepaper_storage',
1972
2019
  'pinepaper_interaction',
1973
2020
  // Widget export
1974
2021
  'pinepaper_export_widget',