@actuate-media/plugin-ai 0.0.9 → 0.1.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.
package/dist/index.d.ts CHANGED
@@ -26,6 +26,8 @@ export { AIScorePanel } from "./admin/AIScorePanel.js";
26
26
  export { BrandVoiceSettings } from "./admin/BrandVoiceSettings.js";
27
27
  export { WritingAssistantToolbar } from "./admin/WritingAssistantToolbar.js";
28
28
  export { ContentScoreDashboard } from "./admin/ContentScoreDashboard.js";
29
+ export { generatePage, generateBlockContent } from "./page-builder/generate.js";
30
+ export type { PageGenerationCallbacks, BlockGenerationContext } from "./page-builder/generate.js";
29
31
  export interface AIPluginConfig {
30
32
  provider?: "anthropic" | "openai";
31
33
  apiKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ export { AIScorePanel } from "./admin/AIScorePanel.js";
27
27
  export { BrandVoiceSettings } from "./admin/BrandVoiceSettings.js";
28
28
  export { WritingAssistantToolbar } from "./admin/WritingAssistantToolbar.js";
29
29
  export { ContentScoreDashboard } from "./admin/ContentScoreDashboard.js";
30
+ export { generatePage, generateBlockContent } from "./page-builder/generate.js";
30
31
  /**
31
32
  * Creates the Actuate AI plugin.
32
33
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { GenerationContext, GenerationResult } from '@actuate-media/cms-core';
2
+ export interface PageGenerationCallbacks {
3
+ onProgress?: (progress: {
4
+ currentStep: string;
5
+ completedSteps: string[];
6
+ totalSteps: number;
7
+ message: string;
8
+ }) => void;
9
+ }
10
+ export interface BlockGenerationContext {
11
+ blockType: string;
12
+ variant?: string;
13
+ pageContext?: {
14
+ pageTitle?: string;
15
+ pageTemplate?: string;
16
+ businessName?: string;
17
+ surroundingContent?: string;
18
+ };
19
+ tone?: string;
20
+ }
21
+ export declare function generatePage(ctx: GenerationContext, callbacks?: PageGenerationCallbacks): Promise<GenerationResult>;
22
+ export declare function generateBlockContent(ctx: BlockGenerationContext): Promise<Record<string, unknown>>;
23
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/page-builder/generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EAGjB,gBAAgB,EACjB,MAAM,yBAAyB,CAAA;AAqChC,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,WAAW,EAAE,MAAM,CAAA;QACnB,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;KAChB,KAAK,IAAI,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAkSD,wBAAsB,YAAY,CAChC,GAAG,EAAE,iBAAiB,EACtB,SAAS,CAAC,EAAE,uBAAuB,GAClC,OAAO,CAAC,gBAAgB,CAAC,CAyE3B;AAUD,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAsDlC"}
@@ -0,0 +1,403 @@
1
+ import { buildStructurePrompt, buildContentPrompt, buildSEOPrompt, buildAccessibilityPrompt, validateTree, fixAccessibility, BUILT_IN_TEMPLATES, } from '@actuate-media/cms-core';
2
+ import { requireAIProvider } from '../providers/index.js';
3
+ // ─── Constants ────────────────────────────────────────────────────────
4
+ const SYSTEM_PROMPT = [
5
+ 'You are an expert web page designer and developer.',
6
+ 'You generate valid JSON page tree structures following a strict schema.',
7
+ '',
8
+ 'Rules:',
9
+ '- Always output valid JSON. Never include markdown, explanations, or commentary.',
10
+ '- Column widths in each row MUST sum to exactly 12.',
11
+ '- Use only available block types: hero, text, image, cards, cta, video, gallery, faq, form, code.',
12
+ '- Every node must have a unique id in the format "node_<random8chars>".',
13
+ '- Follow the nesting rules: page > section > container|row, row > column, column > block|container.',
14
+ '- Never nest blocks inside other blocks.',
15
+ '- Generate high-quality, contextually appropriate content.',
16
+ ].join('\n');
17
+ const STEP_CONFIG = {
18
+ structure: { maxTokens: 4000, temperature: 0.7 },
19
+ content: { maxTokens: 4000, temperature: 0.7 },
20
+ seo: { maxTokens: 2000, temperature: 0.3 },
21
+ accessibility: { maxTokens: 2000, temperature: 0.3 },
22
+ };
23
+ // ─── JSON Parsing ─────────────────────────────────────────────────────
24
+ function parseTreeFromResponse(text) {
25
+ const stripped = stripCodeFences(text);
26
+ try {
27
+ const parsed = JSON.parse(stripped);
28
+ if (parsed && typeof parsed === 'object' && parsed.type === 'page') {
29
+ return parsed;
30
+ }
31
+ if (parsed && typeof parsed === 'object' && parsed.tree && parsed.tree.type === 'page') {
32
+ return parsed.tree;
33
+ }
34
+ }
35
+ catch {
36
+ // Try to extract JSON object from the response
37
+ const jsonMatch = stripped.match(/\{[\s\S]*\}/);
38
+ if (jsonMatch) {
39
+ try {
40
+ const parsed = JSON.parse(jsonMatch[0]);
41
+ if (parsed && typeof parsed === 'object' && parsed.type === 'page') {
42
+ return parsed;
43
+ }
44
+ if (parsed && typeof parsed === 'object' && parsed.tree && parsed.tree.type === 'page') {
45
+ return parsed.tree;
46
+ }
47
+ }
48
+ catch {
49
+ return null;
50
+ }
51
+ }
52
+ }
53
+ return null;
54
+ }
55
+ function parseSEOResponse(text) {
56
+ const stripped = stripCodeFences(text);
57
+ try {
58
+ const parsed = JSON.parse(stripped);
59
+ if (parsed && typeof parsed === 'object' && parsed.tree && parsed.tree.type === 'page') {
60
+ return {
61
+ tree: parsed.tree,
62
+ pageSEO: parsed.pageSEO ?? {},
63
+ };
64
+ }
65
+ }
66
+ catch {
67
+ const jsonMatch = stripped.match(/\{[\s\S]*\}/);
68
+ if (jsonMatch) {
69
+ try {
70
+ const parsed = JSON.parse(jsonMatch[0]);
71
+ if (parsed && typeof parsed === 'object' && parsed.tree && parsed.tree.type === 'page') {
72
+ return {
73
+ tree: parsed.tree,
74
+ pageSEO: parsed.pageSEO ?? {},
75
+ };
76
+ }
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }
82
+ }
83
+ return null;
84
+ }
85
+ function parseAccessibilityResponse(text) {
86
+ const stripped = stripCodeFences(text);
87
+ try {
88
+ const parsed = JSON.parse(stripped);
89
+ if (parsed && typeof parsed === 'object' && parsed.tree && parsed.tree.type === 'page') {
90
+ return {
91
+ tree: parsed.tree,
92
+ changes: Array.isArray(parsed.changes) ? parsed.changes : [],
93
+ };
94
+ }
95
+ }
96
+ catch {
97
+ const jsonMatch = stripped.match(/\{[\s\S]*\}/);
98
+ if (jsonMatch) {
99
+ try {
100
+ const parsed = JSON.parse(jsonMatch[0]);
101
+ if (parsed && typeof parsed === 'object' && parsed.tree && parsed.tree.type === 'page') {
102
+ return {
103
+ tree: parsed.tree,
104
+ changes: Array.isArray(parsed.changes) ? parsed.changes : [],
105
+ };
106
+ }
107
+ }
108
+ catch {
109
+ return null;
110
+ }
111
+ }
112
+ }
113
+ return null;
114
+ }
115
+ function stripCodeFences(text) {
116
+ let result = text.trim();
117
+ const fencePattern = /^```(?:json)?\s*\n?([\s\S]*?)\n?\s*```$/;
118
+ const match = fencePattern.exec(result);
119
+ if (match && match[1] !== undefined) {
120
+ result = match[1].trim();
121
+ }
122
+ else {
123
+ result = result.replace(/^```(?:json)?\s*\n?/, '').replace(/\n?\s*```$/, '');
124
+ }
125
+ return result.trim();
126
+ }
127
+ // ─── Step Handlers ────────────────────────────────────────────────────
128
+ async function runStructureStep(ctx) {
129
+ const provider = requireAIProvider();
130
+ const { maxTokens, temperature } = STEP_CONFIG.structure;
131
+ const templateTree = ctx.template ? BUILT_IN_TEMPLATES[ctx.template]?.tree : undefined;
132
+ const prompt = buildStructurePrompt(ctx, templateTree);
133
+ const result = await provider.generateText(prompt, {
134
+ maxTokens,
135
+ temperature,
136
+ systemPrompt: SYSTEM_PROMPT,
137
+ });
138
+ const tokensUsed = result.usage.promptTokens + result.usage.completionTokens;
139
+ let tree = parseTreeFromResponse(result.text);
140
+ if (!tree) {
141
+ throw new Error('Failed to parse page tree from AI response');
142
+ }
143
+ const validation = validateTree(tree);
144
+ if (!validation.valid) {
145
+ const retryPrompt = [
146
+ prompt,
147
+ '',
148
+ 'Your previous response had validation errors:',
149
+ ...validation.errors.map((e) => `- ${e}`),
150
+ '',
151
+ 'Please fix these errors and output a valid JSON tree.',
152
+ ].join('\n');
153
+ const retryResult = await provider.generateText(retryPrompt, {
154
+ maxTokens,
155
+ temperature,
156
+ systemPrompt: SYSTEM_PROMPT,
157
+ });
158
+ const retryTree = parseTreeFromResponse(retryResult.text);
159
+ if (retryTree) {
160
+ const retryValidation = validateTree(retryTree);
161
+ if (retryValidation.valid) {
162
+ tree = retryTree;
163
+ }
164
+ }
165
+ return {
166
+ tree,
167
+ tokensUsed: tokensUsed + retryResult.usage.promptTokens + retryResult.usage.completionTokens,
168
+ changes: ['Generated page structure' + (validation.valid ? '' : ' (with validation warnings)')],
169
+ };
170
+ }
171
+ return {
172
+ tree,
173
+ tokensUsed,
174
+ changes: ['Generated page structure from prompt'],
175
+ };
176
+ }
177
+ async function runContentStep(ctx, currentTree) {
178
+ const provider = requireAIProvider();
179
+ const { maxTokens, temperature } = STEP_CONFIG.content;
180
+ const prompt = buildContentPrompt(ctx, currentTree);
181
+ const result = await provider.generateText(prompt, {
182
+ maxTokens,
183
+ temperature,
184
+ systemPrompt: SYSTEM_PROMPT,
185
+ });
186
+ const tokensUsed = result.usage.promptTokens + result.usage.completionTokens;
187
+ const tree = parseTreeFromResponse(result.text);
188
+ if (!tree) {
189
+ return {
190
+ tree: currentTree,
191
+ tokensUsed,
192
+ changes: ['Content generation failed — kept existing structure'],
193
+ };
194
+ }
195
+ return {
196
+ tree,
197
+ tokensUsed,
198
+ changes: ['Populated block content with generated copy'],
199
+ };
200
+ }
201
+ async function runSEOStep(ctx, currentTree) {
202
+ const provider = requireAIProvider();
203
+ const { maxTokens, temperature } = STEP_CONFIG.seo;
204
+ const prompt = buildSEOPrompt(ctx, currentTree);
205
+ const result = await provider.generateText(prompt, {
206
+ maxTokens,
207
+ temperature,
208
+ systemPrompt: SYSTEM_PROMPT,
209
+ });
210
+ const tokensUsed = result.usage.promptTokens + result.usage.completionTokens;
211
+ const parsed = parseSEOResponse(result.text);
212
+ if (!parsed) {
213
+ return {
214
+ tree: currentTree,
215
+ tokensUsed,
216
+ changes: ['SEO optimization failed — kept existing content'],
217
+ };
218
+ }
219
+ const changes = ['Applied SEO optimizations'];
220
+ if (parsed.pageSEO.metaTitle)
221
+ changes.push(`Meta title: "${parsed.pageSEO.metaTitle}"`);
222
+ if (parsed.pageSEO.focusKeyphrase)
223
+ changes.push(`Focus keyphrase: "${parsed.pageSEO.focusKeyphrase}"`);
224
+ return {
225
+ tree: parsed.tree,
226
+ tokensUsed,
227
+ changes,
228
+ };
229
+ }
230
+ async function runAccessibilityStep(currentTree) {
231
+ const provider = requireAIProvider();
232
+ const { maxTokens, temperature } = STEP_CONFIG.accessibility;
233
+ // First apply deterministic fixes
234
+ const { tree: fixedTree, report } = fixAccessibility(currentTree);
235
+ const changes = [];
236
+ if (report.fixedCount > 0) {
237
+ changes.push(`Applied ${report.fixedCount} automatic accessibility fix${report.fixedCount > 1 ? 'es' : ''}`);
238
+ }
239
+ // If there are remaining issues, use AI for non-deterministic fixes
240
+ if (report.remainingCount > 0) {
241
+ const prompt = buildAccessibilityPrompt(fixedTree);
242
+ const result = await provider.generateText(prompt, {
243
+ maxTokens,
244
+ temperature,
245
+ systemPrompt: SYSTEM_PROMPT,
246
+ });
247
+ const tokensUsed = result.usage.promptTokens + result.usage.completionTokens;
248
+ const parsed = parseAccessibilityResponse(result.text);
249
+ if (parsed) {
250
+ changes.push(...parsed.changes);
251
+ return { tree: parsed.tree, tokensUsed, changes };
252
+ }
253
+ return { tree: fixedTree, tokensUsed, changes: [...changes, 'AI accessibility pass failed — kept deterministic fixes'] };
254
+ }
255
+ return { tree: fixedTree, tokensUsed: 0, changes };
256
+ }
257
+ // ─── Main Pipeline ────────────────────────────────────────────────────
258
+ const STEP_MESSAGES = {
259
+ structure: 'Generating page structure...',
260
+ content: 'Writing content for blocks...',
261
+ seo: 'Optimizing for search engines...',
262
+ accessibility: 'Improving accessibility...',
263
+ };
264
+ export async function generatePage(ctx, callbacks) {
265
+ const steps = ctx.steps;
266
+ const completedSteps = [];
267
+ const stepResults = [];
268
+ let currentTree = null;
269
+ let totalTokensUsed = 0;
270
+ const startTime = Date.now();
271
+ for (const step of steps) {
272
+ callbacks?.onProgress?.({
273
+ currentStep: step,
274
+ completedSteps: [...completedSteps],
275
+ totalSteps: steps.length,
276
+ message: STEP_MESSAGES[step] ?? `Running ${step} step...`,
277
+ });
278
+ const stepStart = Date.now();
279
+ let result;
280
+ switch (step) {
281
+ case 'structure':
282
+ result = await runStructureStep(ctx);
283
+ break;
284
+ case 'content':
285
+ if (!currentTree) {
286
+ throw new Error('Content step requires a structure step to run first');
287
+ }
288
+ result = await runContentStep(ctx, currentTree);
289
+ break;
290
+ case 'seo':
291
+ if (!currentTree) {
292
+ throw new Error('SEO step requires a structure step to run first');
293
+ }
294
+ result = await runSEOStep(ctx, currentTree);
295
+ break;
296
+ case 'accessibility':
297
+ if (!currentTree) {
298
+ throw new Error('Accessibility step requires a structure step to run first');
299
+ }
300
+ result = await runAccessibilityStep(currentTree);
301
+ break;
302
+ default: {
303
+ const _exhaustive = step;
304
+ throw new Error(`Unknown generation step: ${_exhaustive}`);
305
+ }
306
+ }
307
+ currentTree = result.tree;
308
+ totalTokensUsed += result.tokensUsed;
309
+ stepResults.push({
310
+ step,
311
+ tree: result.tree,
312
+ metadata: {
313
+ tokensUsed: result.tokensUsed,
314
+ durationMs: Date.now() - stepStart,
315
+ changes: result.changes,
316
+ },
317
+ });
318
+ completedSteps.push(step);
319
+ }
320
+ if (!currentTree) {
321
+ throw new Error('No steps produced a valid page tree');
322
+ }
323
+ return {
324
+ tree: currentTree,
325
+ steps: stepResults,
326
+ totalTokensUsed,
327
+ totalDurationMs: Date.now() - startTime,
328
+ };
329
+ }
330
+ // ─── Block Content Generator ──────────────────────────────────────────
331
+ const BLOCK_CONTENT_SYSTEM_PROMPT = [
332
+ 'You are a web content writer. Generate content data for a single page block.',
333
+ 'Output ONLY a valid JSON object with the appropriate fields for the block type.',
334
+ 'Never include markdown, explanations, or code fences.',
335
+ ].join('\n');
336
+ export async function generateBlockContent(ctx) {
337
+ const provider = requireAIProvider();
338
+ const contextParts = [
339
+ `Generate content for a "${ctx.blockType}" block${ctx.variant ? ` (variant: "${ctx.variant}")` : ''}.`,
340
+ ];
341
+ if (ctx.tone) {
342
+ contextParts.push(`Tone: ${ctx.tone}`);
343
+ }
344
+ if (ctx.pageContext) {
345
+ const pc = ctx.pageContext;
346
+ if (pc.pageTitle)
347
+ contextParts.push(`Page title: ${pc.pageTitle}`);
348
+ if (pc.businessName)
349
+ contextParts.push(`Business: ${pc.businessName}`);
350
+ if (pc.pageTemplate)
351
+ contextParts.push(`Page template: ${pc.pageTemplate}`);
352
+ if (pc.surroundingContent)
353
+ contextParts.push(`Surrounding content context: ${pc.surroundingContent}`);
354
+ }
355
+ contextParts.push('');
356
+ contextParts.push(getBlockFieldReference(ctx.blockType));
357
+ contextParts.push('');
358
+ contextParts.push('Output ONLY the JSON data object for this block. No explanations or markdown.');
359
+ const prompt = contextParts.join('\n');
360
+ const result = await provider.generateText(prompt, {
361
+ maxTokens: 1500,
362
+ temperature: 0.7,
363
+ systemPrompt: BLOCK_CONTENT_SYSTEM_PROMPT,
364
+ });
365
+ const stripped = stripCodeFences(result.text);
366
+ try {
367
+ const parsed = JSON.parse(stripped);
368
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
369
+ return parsed;
370
+ }
371
+ }
372
+ catch {
373
+ const jsonMatch = stripped.match(/\{[\s\S]*\}/);
374
+ if (jsonMatch) {
375
+ try {
376
+ const parsed = JSON.parse(jsonMatch[0]);
377
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
378
+ return parsed;
379
+ }
380
+ }
381
+ catch {
382
+ // Fall through to default
383
+ }
384
+ }
385
+ }
386
+ return {};
387
+ }
388
+ function getBlockFieldReference(blockType) {
389
+ const refs = {
390
+ hero: 'Fields: { title: string, subtitle: string, image: string, videoUrl: string, ctaText: string, ctaLink: string, overlayOpacity: number }',
391
+ text: 'Fields: { body: string (rich text/HTML), heading: string, headingLevel: "h2"|"h3"|"h4" }',
392
+ image: 'Fields: { src: string, alt: string, caption: string, link: string, aspectRatio: string }',
393
+ cards: 'Fields: { items: [{ title: string, description: string, image: string, link: string, icon: string }] }',
394
+ cta: 'Fields: { heading: string, body: string, buttonText: string, buttonLink: string, buttonStyle: string }',
395
+ video: 'Fields: { url: string, poster: string, autoplay: boolean, loop: boolean }',
396
+ gallery: 'Fields: { images: [{ src: string, alt: string, caption: string }] }',
397
+ faq: 'Fields: { items: [{ question: string, answer: string }] }',
398
+ form: 'Fields: { formId: string, successMessage: string }',
399
+ code: 'Fields: { content: string, language: "html"|"javascript"|"css", sandboxed: boolean }',
400
+ };
401
+ return refs[blockType] ?? `Fields: Generate appropriate data fields for a "${blockType}" block.`;
402
+ }
403
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/page-builder/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { generatePage, generateBlockContent } from './generate.js';
2
+ export type { PageGenerationCallbacks, BlockGenerationContext } from './generate.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/page-builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAClE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { generatePage, generateBlockContent } from './generate.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page-builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actuate-media/plugin-ai",
3
- "version": "0.0.9",
3
+ "version": "0.1.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/actuatecms/actuatecms.git",
@@ -13,7 +13,8 @@
13
13
  "exports": {
14
14
  ".": {
15
15
  "types": "./dist/index.d.ts",
16
- "import": "./dist/index.js"
16
+ "import": "./dist/index.js",
17
+ "default": "./dist/index.js"
17
18
  }
18
19
  },
19
20
  "main": "./dist/index.js",
@@ -21,15 +22,14 @@
21
22
  "files": [
22
23
  "dist"
23
24
  ],
24
- "dependencies": {
25
- "@actuate-media/cms-core": "0.5.0"
26
- },
27
25
  "devDependencies": {
28
26
  "@types/react": "^19.0.0",
29
27
  "typescript": "^5.7.0",
30
- "vitest": "^3.0.0"
28
+ "vitest": "^3.0.0",
29
+ "@actuate-media/cms-core": "0.9.0"
31
30
  },
32
31
  "peerDependencies": {
32
+ "@actuate-media/cms-core": ">=0.1.0",
33
33
  "react": "^19.2.0"
34
34
  },
35
35
  "scripts": {