@pinepaper.studio/mcp-server 1.4.3 → 1.5.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 (64) hide show
  1. package/README.md +114 -0
  2. package/dist/__tests__/fixtures/mock-generators.d.ts +147 -0
  3. package/dist/__tests__/fixtures/mock-generators.d.ts.map +1 -1
  4. package/dist/__tests__/fixtures/mock-generators.js +85 -0
  5. package/dist/__tests__/fixtures/mock-generators.js.map +1 -1
  6. package/dist/agent/export-manager.d.ts +77 -0
  7. package/dist/agent/export-manager.d.ts.map +1 -0
  8. package/dist/agent/export-manager.js +455 -0
  9. package/dist/agent/export-manager.js.map +1 -0
  10. package/dist/agent/index.d.ts +9 -0
  11. package/dist/agent/index.d.ts.map +1 -0
  12. package/dist/agent/index.js +12 -0
  13. package/dist/agent/index.js.map +1 -0
  14. package/dist/agent/session-manager.d.ts +109 -0
  15. package/dist/agent/session-manager.d.ts.map +1 -0
  16. package/dist/agent/session-manager.js +311 -0
  17. package/dist/agent/session-manager.js.map +1 -0
  18. package/dist/agent/types.d.ts +385 -0
  19. package/dist/agent/types.d.ts.map +1 -0
  20. package/dist/agent/types.js +141 -0
  21. package/dist/agent/types.js.map +1 -0
  22. package/dist/browser/index.d.ts +1 -1
  23. package/dist/browser/index.d.ts.map +1 -1
  24. package/dist/browser/index.js +1 -1
  25. package/dist/browser/index.js.map +1 -1
  26. package/dist/browser/puppeteer-controller.d.ts +89 -5
  27. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  28. package/dist/browser/puppeteer-controller.js +412 -11
  29. package/dist/browser/puppeteer-controller.js.map +1 -1
  30. package/dist/cli.js +3 -2
  31. package/dist/cli.js.map +1 -1
  32. package/dist/index.d.ts +3 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2717 -147
  35. package/dist/index.js.map +1 -1
  36. package/dist/prompts/index.d.ts +39 -0
  37. package/dist/prompts/index.d.ts.map +1 -0
  38. package/dist/prompts/index.js +254 -0
  39. package/dist/prompts/index.js.map +1 -0
  40. package/dist/tools/compact-descriptions.d.ts +9 -0
  41. package/dist/tools/compact-descriptions.d.ts.map +1 -0
  42. package/dist/tools/compact-descriptions.js +260 -0
  43. package/dist/tools/compact-descriptions.js.map +1 -0
  44. package/dist/tools/definitions.d.ts +12 -0
  45. package/dist/tools/definitions.d.ts.map +1 -1
  46. package/dist/tools/definitions.js +4844 -1559
  47. package/dist/tools/definitions.js.map +1 -1
  48. package/dist/tools/handlers.d.ts.map +1 -1
  49. package/dist/tools/handlers.js +915 -17
  50. package/dist/tools/handlers.js.map +1 -1
  51. package/dist/tools/index.d.ts +2 -1
  52. package/dist/tools/index.d.ts.map +1 -1
  53. package/dist/tools/index.js +1 -1
  54. package/dist/tools/index.js.map +1 -1
  55. package/dist/types/code-generator.d.ts +197 -1
  56. package/dist/types/code-generator.d.ts.map +1 -1
  57. package/dist/types/code-generator.js +2338 -26
  58. package/dist/types/code-generator.js.map +1 -1
  59. package/dist/types/schemas.d.ts +5294 -1134
  60. package/dist/types/schemas.d.ts.map +1 -1
  61. package/dist/types/schemas.js +886 -4
  62. package/dist/types/schemas.js.map +1 -1
  63. package/manifest.json +70 -2
  64. package/package.json +1 -1
package/README.md CHANGED
@@ -59,6 +59,91 @@ Open your AI client and try:
59
59
 
60
60
  ## Features
61
61
 
62
+ ### 🤖 Agent Flow Mode (ENFORCED in v1.5.0)
63
+
64
+ Agent mode is now **enforced by default** for optimal performance:
65
+
66
+ - **Auto-Connection**: Browser connects automatically on first tool call (headless mode)
67
+ - **Auto-Session**: Agent sessions start automatically - just start creating!
68
+ - **Batch Operations**: Execute multiple operations in one call (~10x faster)
69
+ - **Smart Exports**: Auto-detect optimal format for Instagram, TikTok, YouTube, etc.
70
+
71
+ ```
72
+ "Create a red pulsing text that says HELLO" # Browser auto-connects
73
+ "Create 5 items in batch, then export for TikTok"
74
+ "Analyze the scene and recommend export format"
75
+ ```
76
+
77
+ **No manual setup required** - just start making tool calls.
78
+
79
+ **Tools:**
80
+ - `pinepaper_agent_start_job` - Start a named job session (optional)
81
+ - `pinepaper_agent_end_job` - End job with summary and export recommendations
82
+ - `pinepaper_agent_reset` - Quick canvas reset
83
+ - `pinepaper_agent_batch_execute` - Execute multiple operations in batch
84
+ - `pinepaper_agent_export` - Smart export with platform auto-detection
85
+ - `pinepaper_agent_analyze` - Analyze content for export recommendations
86
+
87
+ ### 🎯 Interactive Triggers (NEW in v1.5.0)
88
+
89
+ Add click, hover, and drag interactions to items:
90
+
91
+ ```
92
+ "Make the button show a panel when clicked"
93
+ "Add a hover effect that plays an animation"
94
+ "Create a drag-and-drop quiz"
95
+ ```
96
+
97
+ **Event Types:**
98
+ - `click`, `hover_enter`, `hover_exit`
99
+ - `drag_start`, `drag_move`, `drag_end`
100
+ - `timeline`, `animation_end`
101
+
102
+ **Tools:**
103
+ - `pinepaper_add_trigger` - Add event triggers with actions
104
+ - `pinepaper_remove_trigger` - Remove triggers from items
105
+ - `pinepaper_query_triggers` - List all triggers
106
+
107
+ ### 📝 Quiz/LMS Integration (NEW in v1.5.0)
108
+
109
+ Create interactive quizzes with SCORM/xAPI support:
110
+
111
+ ```
112
+ "Create a multiple choice quiz about planets"
113
+ "Add a drag-and-drop matching exercise"
114
+ "Track quiz score and progress"
115
+ ```
116
+
117
+ **Question Types:**
118
+ - Multiple choice, Multiple select
119
+ - Drag-and-drop, Matching, Sequencing
120
+ - Hotspot, True/False, Fill-in-blank
121
+
122
+ **Tools:**
123
+ - `pinepaper_create_quiz` - Create interactive quizzes
124
+ - `pinepaper_get_quiz_state` - Get score, progress, answers
125
+ - `pinepaper_reset_quiz` - Reset quiz state
126
+
127
+ ### 📦 Widget Export (NEW in v1.5.0)
128
+
129
+ Export as embeddable widgets for websites and LMS:
130
+
131
+ ```
132
+ "Export as a web component"
133
+ "Create an iframe embed code"
134
+ "Generate a React component"
135
+ ```
136
+
137
+ **Export Formats:**
138
+ - `web-component` - `<pinepaper-widget>` custom element
139
+ - `standalone-html` - Complete HTML file
140
+ - `iframe-embed` - Iframe embed code
141
+ - `react-component` - React wrapper
142
+ - `vue-component` - Vue wrapper
143
+
144
+ **Tool:**
145
+ - `pinepaper_export_widget` - Export with LMS support (SCORM/xAPI)
146
+
62
147
  ### 📐 Diagram Tools (NEW in v1.4.3)
63
148
 
64
149
  Create flowcharts, UML diagrams, network diagrams, and more:
@@ -275,6 +360,35 @@ Outputs pairs like:
275
360
  | `pinepaper_remove_connector` | Remove a connector |
276
361
  | `pinepaper_diagram_mode` | Control diagram editing mode |
277
362
 
363
+ ### Agent Flow Mode Tools (NEW in v1.5.0)
364
+ | Tool | Description |
365
+ |------|-------------|
366
+ | `pinepaper_agent_start_job` | Start content creation job session |
367
+ | `pinepaper_agent_end_job` | End job with summary and recommendations |
368
+ | `pinepaper_agent_reset` | Quick canvas reset without page refresh |
369
+ | `pinepaper_agent_batch_execute` | Execute multiple operations in batch |
370
+ | `pinepaper_agent_export` | Smart export with platform auto-detection |
371
+ | `pinepaper_agent_analyze` | Analyze content for export recommendations |
372
+
373
+ ### Interactive Trigger Tools (NEW in v1.5.0)
374
+ | Tool | Description |
375
+ |------|-------------|
376
+ | `pinepaper_add_trigger` | Add event triggers (click, hover, drag) |
377
+ | `pinepaper_remove_trigger` | Remove triggers from items |
378
+ | `pinepaper_query_triggers` | List all triggers on canvas |
379
+
380
+ ### Quiz/LMS Tools (NEW in v1.5.0)
381
+ | Tool | Description |
382
+ |------|-------------|
383
+ | `pinepaper_create_quiz` | Create interactive quizzes |
384
+ | `pinepaper_get_quiz_state` | Get quiz score, progress, answers |
385
+ | `pinepaper_reset_quiz` | Reset quiz to initial state |
386
+
387
+ ### Widget Export Tools (NEW in v1.5.0)
388
+ | Tool | Description |
389
+ |------|-------------|
390
+ | `pinepaper_export_widget` | Export as embeddable widget (web-component, iframe, React, Vue) |
391
+
278
392
  ### Canvas Tools
279
393
  | Tool | Description |
280
394
  |------|-------------|
@@ -76,6 +76,83 @@ export declare const mockPatternGenerator: {
76
76
  bgColor: string;
77
77
  };
78
78
  };
79
+ export declare const mockBokehGenerator: {
80
+ generatorName: "drawBokeh";
81
+ params: {
82
+ count: number;
83
+ colors: string[];
84
+ bgColor: string;
85
+ minRadius: number;
86
+ maxRadius: number;
87
+ shadowBlur: number;
88
+ distribution: "poisson";
89
+ driftAnimation: boolean;
90
+ };
91
+ };
92
+ export declare const mockGradientMeshGenerator: {
93
+ generatorName: "drawGradientMesh";
94
+ params: {
95
+ colors: string[];
96
+ bgColor: string;
97
+ blobCount: number;
98
+ blendMode: string;
99
+ drift: boolean;
100
+ };
101
+ };
102
+ export declare const mockGeometricAbstractGenerator: {
103
+ generatorName: "drawGeometricAbstract";
104
+ params: {
105
+ colors: string[];
106
+ bgColor: string;
107
+ shapeCount: number;
108
+ blendMode: string;
109
+ rotation: boolean;
110
+ };
111
+ };
112
+ export declare const mockWindFieldGenerator: {
113
+ generatorName: "drawWindField";
114
+ params: {
115
+ particleCount: number;
116
+ colors: string[];
117
+ bgColor: string;
118
+ direction: number;
119
+ turbulence: number;
120
+ trailLength: number;
121
+ speed: number;
122
+ };
123
+ };
124
+ export declare const mockFluidFlowGenerator: {
125
+ generatorName: "drawFluidFlow";
126
+ params: {
127
+ streamCount: number;
128
+ colors: string[];
129
+ bgColor: string;
130
+ depthLayers: number;
131
+ speed: number;
132
+ };
133
+ };
134
+ export declare const mockOrganicFlowGenerator: {
135
+ generatorName: "drawOrganicFlow";
136
+ params: {
137
+ layerCount: number;
138
+ colors: string[];
139
+ bgColor: string;
140
+ blendMode: string;
141
+ fillToBottom: boolean;
142
+ animated: boolean;
143
+ };
144
+ };
145
+ export declare const mockNoiseTextureGenerator: {
146
+ generatorName: "drawNoiseTexture";
147
+ params: {
148
+ noiseType: "perlin";
149
+ colors: string[];
150
+ bgColor: string;
151
+ scale: number;
152
+ density: number;
153
+ animated: boolean;
154
+ };
155
+ };
79
156
  export declare const allMockGenerators: ({
80
157
  generatorName: "drawSunburst";
81
158
  params: {
@@ -143,5 +220,75 @@ export declare const allMockGenerators: ({
143
220
  color: string;
144
221
  bgColor: string;
145
222
  };
223
+ } | {
224
+ generatorName: "drawBokeh";
225
+ params: {
226
+ count: number;
227
+ colors: string[];
228
+ bgColor: string;
229
+ minRadius: number;
230
+ maxRadius: number;
231
+ shadowBlur: number;
232
+ distribution: "poisson";
233
+ driftAnimation: boolean;
234
+ };
235
+ } | {
236
+ generatorName: "drawGradientMesh";
237
+ params: {
238
+ colors: string[];
239
+ bgColor: string;
240
+ blobCount: number;
241
+ blendMode: string;
242
+ drift: boolean;
243
+ };
244
+ } | {
245
+ generatorName: "drawGeometricAbstract";
246
+ params: {
247
+ colors: string[];
248
+ bgColor: string;
249
+ shapeCount: number;
250
+ blendMode: string;
251
+ rotation: boolean;
252
+ };
253
+ } | {
254
+ generatorName: "drawWindField";
255
+ params: {
256
+ particleCount: number;
257
+ colors: string[];
258
+ bgColor: string;
259
+ direction: number;
260
+ turbulence: number;
261
+ trailLength: number;
262
+ speed: number;
263
+ };
264
+ } | {
265
+ generatorName: "drawFluidFlow";
266
+ params: {
267
+ streamCount: number;
268
+ colors: string[];
269
+ bgColor: string;
270
+ depthLayers: number;
271
+ speed: number;
272
+ };
273
+ } | {
274
+ generatorName: "drawOrganicFlow";
275
+ params: {
276
+ layerCount: number;
277
+ colors: string[];
278
+ bgColor: string;
279
+ blendMode: string;
280
+ fillToBottom: boolean;
281
+ animated: boolean;
282
+ };
283
+ } | {
284
+ generatorName: "drawNoiseTexture";
285
+ params: {
286
+ noiseType: "perlin";
287
+ colors: string[];
288
+ bgColor: string;
289
+ scale: number;
290
+ density: number;
291
+ animated: boolean;
292
+ };
146
293
  })[];
147
294
  //# sourceMappingURL=mock-generators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-generators.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-generators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;CAS7B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;CAUhC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;CAOvC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAS7B,CAAC"}
1
+ {"version":3,"file":"mock-generators.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-generators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;CAS7B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;CAQjC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;CAUhC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;CAOvC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAIF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAY9B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;CASrC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;CAS1C,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;CAWlC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;CASlC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;CAUpC,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;CAUrC,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB7B,CAAC"}
@@ -76,6 +76,84 @@ export const mockPatternGenerator = {
76
76
  bgColor: '#1e293b',
77
77
  },
78
78
  };
79
+ // Phase 2: New generators
80
+ export const mockBokehGenerator = {
81
+ generatorName: 'drawBokeh',
82
+ params: {
83
+ count: 30,
84
+ colors: ['#f472b6', '#818cf8', '#34d399', '#fbbf24'],
85
+ bgColor: '#0f172a',
86
+ minRadius: 10,
87
+ maxRadius: 60,
88
+ shadowBlur: 20,
89
+ distribution: 'poisson',
90
+ driftAnimation: true,
91
+ },
92
+ };
93
+ export const mockGradientMeshGenerator = {
94
+ generatorName: 'drawGradientMesh',
95
+ params: {
96
+ colors: ['#ec4899', '#8b5cf6', '#06b6d4'],
97
+ bgColor: '#0f0f23',
98
+ blobCount: 5,
99
+ blendMode: 'screen',
100
+ drift: true,
101
+ },
102
+ };
103
+ export const mockGeometricAbstractGenerator = {
104
+ generatorName: 'drawGeometricAbstract',
105
+ params: {
106
+ colors: ['#f43f5e', '#3b82f6', '#10b981', '#f59e0b'],
107
+ bgColor: '#1e1b4b',
108
+ shapeCount: 12,
109
+ blendMode: 'multiply',
110
+ rotation: true,
111
+ },
112
+ };
113
+ export const mockWindFieldGenerator = {
114
+ generatorName: 'drawWindField',
115
+ params: {
116
+ particleCount: 200,
117
+ colors: ['#e0f2fe', '#bae6fd', '#7dd3fc'],
118
+ bgColor: '#0c4a6e',
119
+ direction: 45,
120
+ turbulence: 0.5,
121
+ trailLength: 30,
122
+ speed: 1.5,
123
+ },
124
+ };
125
+ export const mockFluidFlowGenerator = {
126
+ generatorName: 'drawFluidFlow',
127
+ params: {
128
+ streamCount: 8,
129
+ colors: ['#67e8f9', '#a78bfa', '#f9a8d4'],
130
+ bgColor: '#0f172a',
131
+ depthLayers: 3,
132
+ speed: 0.8,
133
+ },
134
+ };
135
+ export const mockOrganicFlowGenerator = {
136
+ generatorName: 'drawOrganicFlow',
137
+ params: {
138
+ layerCount: 4,
139
+ colors: ['#34d399', '#6ee7b7', '#a7f3d0', '#d1fae5'],
140
+ bgColor: '#064e3b',
141
+ blendMode: 'screen',
142
+ fillToBottom: true,
143
+ animated: true,
144
+ },
145
+ };
146
+ export const mockNoiseTextureGenerator = {
147
+ generatorName: 'drawNoiseTexture',
148
+ params: {
149
+ noiseType: 'perlin',
150
+ colors: ['#94a3b8', '#64748b'],
151
+ bgColor: '#1e293b',
152
+ scale: 0.01,
153
+ density: 0.7,
154
+ animated: true,
155
+ },
156
+ };
79
157
  // Collection of all mock generators
80
158
  export const allMockGenerators = [
81
159
  mockSunburstGenerator,
@@ -86,5 +164,12 @@ export const allMockGenerators = [
86
164
  mockCircuitGenerator,
87
165
  mockStackedCirclesGenerator,
88
166
  mockPatternGenerator,
167
+ mockBokehGenerator,
168
+ mockGradientMeshGenerator,
169
+ mockGeometricAbstractGenerator,
170
+ mockWindFieldGenerator,
171
+ mockFluidFlowGenerator,
172
+ mockOrganicFlowGenerator,
173
+ mockNoiseTextureGenerator,
89
174
  ];
90
175
  //# sourceMappingURL=mock-generators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-generators.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-generators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,cAAuB;IACtC,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QAC9B,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,aAAa,EAAE,iBAA0B;IACzC,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC5C,UAAU,EAAE,CAAC;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa,EAAE,UAAmB;IAClC,MAAM,EAAE;QACN,QAAQ,EAAE,OAAgB;QAC1B,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,CAAC;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,UAAmB;IAClC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAe;QACzB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa,EAAE,WAAoB;IACnC,MAAM,EAAE;QACN,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC/D,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa,EAAE,aAAsB;IACrC,MAAM,EAAE;QACN,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,aAAa,EAAE,oBAA6B;IAC5C,MAAM,EAAE;QACN,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QAC1E,YAAY,EAAE,QAAiB;KAChC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa,EAAE,aAAsB;IACrC,MAAM,EAAE;QACN,WAAW,EAAE,SAAkB;QAC/B,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;KACnB;CACF,CAAC;AAEF,oCAAoC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,2BAA2B;IAC3B,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"mock-generators.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/mock-generators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * PinePaper Smart Export Manager
3
+ *
4
+ * Provides intelligent export recommendations and platform presets.
5
+ * Analyzes content to suggest optimal export formats.
6
+ */
7
+ import { Platform, ExportFormat, PlatformPreset, ContentAnalysis, ExportRecommendation } from './types.js';
8
+ /**
9
+ * Manages smart exports with content analysis and platform presets.
10
+ *
11
+ * Features:
12
+ * - Content analysis (animations, colors, complexity)
13
+ * - Platform preset management
14
+ * - Optimal format recommendations
15
+ * - Export code generation
16
+ */
17
+ export declare class SmartExportManager {
18
+ /**
19
+ * Get platform preset configuration
20
+ */
21
+ getPreset(platform: Platform): PlatformPreset;
22
+ /**
23
+ * List all available platforms
24
+ */
25
+ listPlatforms(): Platform[];
26
+ /**
27
+ * Generate code to analyze canvas content
28
+ */
29
+ generateAnalysisCode(): string;
30
+ /**
31
+ * Recommend export format based on content analysis
32
+ */
33
+ recommendFormat(analysis: ContentAnalysis): ExportRecommendation[];
34
+ /**
35
+ * Recommend platforms based on content analysis
36
+ */
37
+ recommendPlatforms(analysis: ContentAnalysis): Platform[];
38
+ /**
39
+ * Get optimal format for a specific platform based on content
40
+ */
41
+ getOptimalFormat(platform: Platform, analysis: ContentAnalysis): ExportFormat;
42
+ /**
43
+ * Generate export code for a specific platform
44
+ */
45
+ generateExportCode(platform: Platform, format: ExportFormat, options?: {
46
+ quality?: 'draft' | 'standard' | 'high';
47
+ }): string;
48
+ /**
49
+ * Generate SVG export code
50
+ */
51
+ private generateSVGExportCode;
52
+ /**
53
+ * Generate PNG export code
54
+ */
55
+ private generatePNGExportCode;
56
+ /**
57
+ * Generate GIF export code
58
+ */
59
+ private generateGIFExportCode;
60
+ /**
61
+ * Generate video export code (MP4/WebM)
62
+ */
63
+ private generateVideoExportCode;
64
+ /**
65
+ * Generate PDF export code
66
+ */
67
+ private generatePDFExportCode;
68
+ /**
69
+ * Generate code to set canvas size from preset
70
+ */
71
+ generateSetCanvasSizeCode(platform: Platform): string;
72
+ }
73
+ /**
74
+ * Get the singleton export manager instance
75
+ */
76
+ export declare function getExportManager(): SmartExportManager;
77
+ //# sourceMappingURL=export-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export-manager.d.ts","sourceRoot":"","sources":["../../src/agent/export-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,oBAAoB,EAIrB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc;IAI7C;;OAEG;IACH,aAAa,IAAI,QAAQ,EAAE;IAI3B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IA4G9B;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,oBAAoB,EAAE;IAqElE;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,EAAE;IA0BzD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,GAAG,YAAY;IAU7E;;OAEG;IACH,kBAAkB,CAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAA;KAAO,GACxD,MAAM;IA4BT;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;IACH,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;CAWtD;AAQD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAKrD"}